合成表示装置
【課題】監視対象領域内の動体の模様・形状の複雑さや、監視対象領域内の遮蔽物の有無に関わらず、複数のカメラにより撮影された画像を合成することができるようにする。
【解決手段】床領域の画像を監視対象領域の直交座標系における平面位置に射影して、平面射影画像を生成する平面射影部9と、監視対象領域の直交座標系上で動体が存在している領域に板モデルを設置し、その板モデルの表面に動体領域画像抽出部4により抽出された動体領域画像を貼り付ける動体画像貼付部11とを設け、画像合成部13が、その平面射影画像及び動体領域画像が貼り付けられた板モデルの画像を合成する。
【解決手段】床領域の画像を監視対象領域の直交座標系における平面位置に射影して、平面射影画像を生成する平面射影部9と、監視対象領域の直交座標系上で動体が存在している領域に板モデルを設置し、その板モデルの表面に動体領域画像抽出部4により抽出された動体領域画像を貼り付ける動体画像貼付部11とを設け、画像合成部13が、その平面射影画像及び動体領域画像が貼り付けられた板モデルの画像を合成する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、複数のカメラにより撮影された画像を合成し、合成後の画像を表示する合成表示装置に関するものである。
【背景技術】
【0002】
遮蔽物となる物体が多い場所を監視する場合、物体の遮蔽による死角を撮影することができるように複数のカメラを設置することがある。
即ち、ある監視カメラが屋内領域、道路面や建物周辺敷地を撮影する場合、建物、道路構造物や地面に設置されている物体によって遮蔽された死角が発生する。このような場合、死角となる領域を撮影することが可能な位置に別の監視カメラを設置する。
ただし、2つの監視カメラを設置する場合には、2つの監視カメラの撮影方向が異なるので、2つの監視カメラにより撮影された画像を1つの画像にまとめる合成処理が必要になる。
【0003】
例えば、以下の特許文献1には、合成処理の一例が開示されている。
以下の特許文献1に開示されている情報配信装置(合成表示装置)では、交差点に進入する車両(以下、「対象車両」と称する)から見えない他の車両(例えば、建物等に遮蔽されている交差点の左折方向の車両)の画像を、対象車両に搭載されている画像表示装置に表示することができるようにするために、交差点内に設置されているカメラから、交差点に進入する対象車両から見えない領域(死角領域)の画像を取得し、その死角領域の画像を予め設定された仮想視点から見た画像に変換している。
また、情報配信装置は、他のカメラから交差点に進入する対象車両の前方視界を表す前方画像を取得し、その前方画像についても、上記仮想視点から見た画像に変換し、変換後の死角画像と前方画像を合成して、合成後の画像を対象車両内の画像表示装置に送信している。
【0004】
視点変換の方式は、例えば、以下の非特許文献1に開示されている。
ただし、以下の非特許文献1に開示されている方式では、複数のカメラにより撮影された画像間で、同じ対象物の同じ箇所が写っている特徴点の対応付けがなされないと正しく変換できない制約である。
このことは、あるカメラにより撮影された対象物の表面と同じ表面を他のカメラが撮影することができない場合、同じ特徴点が双方の撮影画像に写らないので、画像の視点を変換することができないことを意味する。
また、2つのカメラにより、略同じ方向から同じ領域を撮影した画像内に迷彩服を着ている被写体が含まれている場合や、葉の多い植物が含まれている場合、2つのカメラにより撮影された画像には、濃淡から得られる大量の特徴点が存在し、大量の特徴点を正確に対応付けることは困難であるため、正確に画像の視点を変換することができないことを意味する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−70243号公報(段落番号[0007]から[0008])
【非特許文献】
【0006】
【非特許文献1】出口光一郎著「ロボットビジョンの基礎」2000年 コロナ社発行、第27頁から第31頁
【発明の概要】
【発明が解決しようとする課題】
【0007】
従来の合成表示装置は以上のように構成されているので、監視対象領域内の動体(例えば、人間、車両)の模様や形状が複雑である場合、大量の特徴点を正確に対応付けることができず、複数のカメラにより撮影された画像を正確に合成することができない。また、監視対象領域内の動体の模様や形状が複雑でなくても、遮蔽物(例えば、監視対象領域内に設置されている本棚)によって、一方のカメラには動体が写っていても、他方のカメラには動体が写っていないような場合、その動体における同じ特徴点を対応付けることができず、複数のカメラにより撮影された画像を合成することができないなどの課題があった。
【0008】
この発明は上記のような課題を解決するためになされたもので、監視対象領域内の動体の模様・形状の複雑さや、監視対象領域内の遮蔽物の有無に関わらず、複数のカメラにより撮影された画像を合成することができる合成表示装置を得ることを目的とする。
【課題を解決するための手段】
【0009】
この発明に係る合成表示装置は、カメラにより撮影された監視対象領域の画像の中から、床面が撮影されている床領域の画像を抽出する複数の床領域画像抽出手段と、カメラにより撮影された監視対象領域の画像の中から、動体が撮影されている動体領域の画像を抽出する複数の動体領域画像抽出手段と、カメラの設置状況を示すカメラデータを用いて、床領域画像抽出手段により抽出された床領域の画像を監視対象領域の直交座標系における平面位置に射影して、平面射影画像を生成する複数の平面射影手段と、監視対象領域の直交座標系上で上記動体が存在している領域に板モデルを設置し、その板モデルの表面に動体領域画像抽出手段により抽出された動体領域画像を貼り付ける複数の動体画像貼付手段とを設け、画像合成手段が、複数の平面射影手段により生成された平面射影画像及び複数の動体画像貼付手段により動体領域画像が貼り付けられた板モデルの画像を合成するようにしたものである。
【発明の効果】
【0010】
この発明によれば、カメラにより撮影された監視対象領域の画像の中から、床面が撮影されている床領域の画像を抽出する複数の床領域画像抽出手段と、カメラにより撮影された監視対象領域の画像の中から、動体が撮影されている動体領域の画像を抽出する複数の動体領域画像抽出手段と、カメラの設置状況を示すカメラデータを用いて、床領域画像抽出手段により抽出された床領域の画像を監視対象領域の直交座標系における平面位置に射影して、平面射影画像を生成する複数の平面射影手段と、監視対象領域の直交座標系上で上記動体が存在している領域に板モデルを設置し、その板モデルの表面に動体領域画像抽出手段により抽出された動体領域画像を貼り付ける複数の動体画像貼付手段とを設け、画像合成手段が、複数の平面射影手段により生成された平面射影画像及び複数の動体画像貼付手段により動体領域画像が貼り付けられた板モデルの画像を合成するように構成したので、監視対象領域内の動体の模様・形状の複雑さや、監視対象領域内の遮蔽物の有無に関わらず、複数のカメラにより撮影された画像を合成することができる効果がある。
【図面の簡単な説明】
【0011】
【図1】この発明の実施の形態1による合成表示装置を示す構成図である。
【図2】監視対象領域である部屋を示す平面図である。
【図3】監視対象領域の内部を示す鳥瞰図である。
【図4】カメラA,C,Dにより撮影された監視対象領域の画像、床領域画像抽出部2−1,2−3,2−4により抽出された床領域の画像及び動体領域画像抽出部4−1,4−3,4−4により抽出された動体領域の画像を示す説明図である。
【図5】(a)は監視対象領域の床面に対して並行にして、カメラの光軸(中心)方向を真横から見た場合の監視対象領域を示す説明図、(b)は表示画面例を示す説明図である。
【図6】監視対象領域の画像における画素が実空間のどの点に対応するかを示す説明図である。
【図7】動体が存在している領域の探索処理を示す説明図である。
【図8】板モデルの高さを決定するための説明図である。
【図9】板モデルに対する動体領域画像の貼付を示す説明図である。
【図10】カメラCにより撮影された画像から生成された平面射影画像及び板モデルと、カメラDにより撮影された画像から生成された平面射影画像及び板モデルとの合成画像を示す説明図である。
【図11】画像表示部15による合成画像の表示例を示す説明図である。
【図12】PTZカメラの可動方向を示す説明図である。
【図13】移動カメラの筐体に付されているマークを示す説明図である。
【図14】固定カメラが捕らえられない位置に移動カメラが移動している例を示す説明図である。
【図15】カメラのズーム機能と連動して、特定の棚だけを透明にして表示している一例を示す説明図である。
【発明を実施するための形態】
【0012】
実施の形態1.
図1はこの発明の実施の形態1による合成表示装置を示す構成図である。
図1において、カメラ1−1〜1−Nは相互に異なる位置に設置されている固定のカメラであり、相互に異なる方向から監視対象領域を撮影して、その監視対象領域の画像を示す画像データを出力する。
【0013】
床領域画像抽出部2−1〜2−Nは例えば画像処理を実施するGPU(Graphics Processing Unit)から構成されており、カメラ1−1〜1−Nにより撮影された監視対象領域の画像の中から、床面が撮影されている床領域の画像を抽出し、その床領域画像を示す画像データを床領域画像用メモリ3−1〜3−Nに格納する処理を実施する。
ただし、床領域画像抽出部2−1〜2−Nはカメラ1−1〜1−NがNTSC(National Television Standards Committee)出力を行うカメラである場合、カメラ1−1〜1−Nにより撮影された画像をリアルタイムに取り込む画像キャプチャボードを実装している。
一方、カメラ1−1〜1−Nがネットワーク接続型のカメラである場合、カメラ1−1〜1−Nにより撮影された画像をネットワークから取り込むネットワークインタフェースを実装している。
なお、床領域画像抽出部2−1〜2−Nは床領域画像抽出手段を構成している。
床領域画像用メモリ3−1〜3−Nは床領域画像抽出部2−1〜2−Nにより抽出された床領域画像を示す画像データを記憶するRAMやハードディスクなどの記録媒体である。
【0014】
動体領域画像抽出部4−1〜4−Nは例えば画像処理を実施するGPUから構成されており、カメラ1−1〜1−Nにより撮影された監視対象領域の画像の中から、動体が撮影されている動体領域の画像を抽出し、その動体領域画像を示す画像データを動体領域画像用メモリ5−1〜5−Nに格納する処理を実施する。
動体領域画像抽出部4−1〜4−Nについても床領域画像抽出部2−1〜2−Nと同様に、画像キャプチャボード又はネットワークインタフェースを実装している。
なお、動体領域画像抽出部4−1〜4−Nは動体領域画像抽出手段を構成している。
動体領域画像用メモリ5−1〜5−Nは動体領域画像抽出部4−1〜4−Nにより抽出された動体領域画像を示す画像データを記憶するRAMやハードディスクなどの記録媒体である。
【0015】
カメラデータ取得部6は例えばカメラ1−1〜1−Nや、図示せぬカメラ1−1〜1−Nのパンチルト機能部からカメラデータ(例えば、カメラの光軸方向、設置位置、設置高、焦点距離などを示すデータ)を取得するデータ入力インタフェースを備えており、そのカメラデータをカメラデータ用メモリ7に格納する処理を実施する。
カメラデータ用メモリ7はカメラデータ取得部6により取得されたカメラデータを記憶するRAMやハードディスクなどの記録媒体である。
建物構造データ用メモリ8は建物構造データ(例えば、カメラ1−1〜1−Nが設置されている建物の寸法や、監視対象領域内の本棚(遮蔽物)の幅、長さ及び高さを示すデータであって、一定の原点をもつ直交座標で表現されているデータ)を記憶するRAMやハードディスクなどの記録媒体である。
【0016】
平面射影部9−1〜9−Nは例えばCPUを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、カメラデータ用メモリ7に記憶されているカメラデータ及び建物構造データ用メモリ8に記憶されている建物構造データを参照して、床領域画像用メモリ3−1〜3−Nにより格納されている床領域画像を監視対象領域の直交座標系における平面位置に射影して、所定の方向を向いている平面射影画像を生成し、その平面射影画像を示す画像データを平面射影画像用メモリ10−1〜10−Nに格納する処理を実施する。なお、平面射影部9−1〜9−Nは平面射影手段を構成している。
平面射影画像用メモリ10−1〜10−Nは平面射影部9−1〜9−Nにより生成された平面射影画像を示す画像データを記憶するRAMやハードディスクなどの記録媒体である。
【0017】
動体画像貼付部11−1〜11−Nは例えばCPUを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、カメラデータ用メモリ7に記憶されているカメラデータ及び建物構造データ用メモリ8に記憶されている建物構造データを参照して、監視対象領域の直交座標系上で動体が存在している領域に板モデル(例えば、板モデルは、動体の幅、高さを有する直方体であり、その直方体の奥行きの長さは予め決められた値である)を設置し、その板モデルの表面に動体領域画像用メモリ5−1〜5−Nにより格納されている動体領域画像を貼り付ける処理を実施する。なお、動体画像貼付部11−1〜11−Nは動体画像貼付手段を構成している。
板モデル用メモリ12−1〜12−Nは動体画像貼付部11−1〜11−Nにより動体領域画像が貼り付けられた板モデルを示す板データを記憶するRAMやハードディスクなどの記録媒体である。
【0018】
画像合成部13は例えば画像処理を実施するGPUから構成されており、平面射影画像用メモリ10−1〜10−Nにより格納されている画像データが示す平面射影画像と板モデル用メモリ12−1〜12−Nにより格納されている板データが示す板モデルの画像を合成し、合成後の画像を示す画像データを合成画像用メモリ14に格納する処理を実施する。なお、画像合成部は画像合成手段を構成している。
合成画像用メモリ14は画像合成部13により合成された画像を示す画像データを記憶するRAMやハードディスクなどの記録媒体である。
【0019】
画像表示部15は例えばCPUを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、合成画像用メモリ14により格納されている画像データが示す合成画像を図示せぬディスプレイに表示する処理を実施する。なお、画像表示部15は画像表示手段を構成している。
【0020】
図1では、合成表示装置の構成要素である床領域画像抽出部2−1〜2−N、動体領域画像抽出部4−1〜4−N、カメラデータ取得部6、平面射影部9−1〜9−N、動体画像貼付部11−1〜11−N、画像合成部13及び画像表示部15のそれぞれが専用のハードウェアで構成されているものを想定しているが、合成表示装置がコンピュータで構成される場合、床領域画像抽出部2−1〜2−N、動体領域画像抽出部4−1〜4−N、カメラデータ取得部6、平面射影部9−1〜9−N、動体画像貼付部11−1〜11−N、画像合成部13及び画像表示部15の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
【0021】
次に動作について説明する。
この実施の形態1では、説明の便宜上、7台(N=7)のカメラ1−1〜1−7(カメラA,B,C,D,E,F,G)が、図2のように設置されているものとする。
図2は監視対象領域である部屋を示す平面図である。
この監視対象領域である部屋は、四方が壁に囲まれており、2つの本棚T1,T2が設置されている。
この部屋の床面から天井までの高さは3メートル、本棚T1,T2の高さは2メートルであるとする。
【0022】
カメラA〜Gは、天井の高さに設置され、光軸を中心とする軸に対して水平に設置されているものとする。
また、カメラA〜Gのピッチ角は一定角度で下方を向いているものとする。
図2において、矢印A〜Gは、カメラA〜Gの撮影方向を示し、矢印の両側の実線は、それぞれのカメラが撮影可能な範囲を示している。
P,Q,Rは監視対象領域内に存在している人物を示している。
なお、図3は監視対象領域の内部を示す鳥瞰図である。ただし、図3では、部屋の外壁の表示は省略している。
【0023】
カメラA〜Gは、図2に示すように、相互に異なる方向から監視対象領域である部屋の内部を撮影して、その部屋の内部の画像を示す画像データを床領域画像抽出部2−1〜2−7及び動体領域画像抽出部4−1〜4−7に出力する。
ただし、カメラA〜Gにおける撮影は、ばらばらに行われてもよいし、同期して同時に行われてもよい。一定時間毎にカメラA〜カメラGから最新の画像を示す画像データが出力される。
【0024】
床領域画像抽出部2−1〜2−7は、カメラA〜Gから画像データを受けると、その画像データが示す監視対象領域の画像の中から、床面が撮影されている床領域の画像を抽出し、その床領域画像を示す画像データを床領域画像用メモリ3−1〜3−7に格納する。
床領域画像を示す画像データにおいて、床領域内の画素における画素値はカメラにより撮影された画像の画素値であり、床領域以外の画素における画素値は予め設定された一定値である。
以下、床領域画像抽出部2−1〜2−7による床領域画像の抽出処理を具体的に説明する。
【0025】
予め、カメラA〜Gは、人間が存在していないときの監視対象領域を撮影する。
床領域画像抽出部2−1〜2−7は、カメラA〜Gにより撮影された監視対象領域の画像の中で、床面が撮影されている床領域と、床面以外が撮影されている領域とを画素単位で区別し、床領域内の画素の画素値については、カメラA〜Gにより撮影された画像の画素値を記録し、床領域以外の画素の画素値については、予め設定された一定値を記録する。
【0026】
床領域画像抽出部2−1〜2−7は、実際に監視が開始されてから、カメラA〜Gから画像データを受けると、その画像データが示す監視対象領域の画像を構成している各画素の画素値と、予め記録している各画素値(人間が存在していないときの監視対象領域の画像を構成している各画素の画素値)とを比較し(画像中の同一画素位置の画素値を比較する)、画素値の差分が一定値以内の画素が床領域内の画素であると判断する。一方、画素値の差分が一定値以上の画素は床領域以外の画素であると判断する。
床領域画像抽出部2−1〜2−7は、監視対象領域の画像を構成している画素が、床領域内の画素であると判断すると、その画素の画素値をカメラA〜Gにより撮影された画像の画素値に設定し、その画素値を床領域画像用メモリ3−1〜3−7に格納する。
一方、監視対象領域の画像を構成している画素が、床領域以外の画素であると判断すると、その画素の画素値を予め設定された一定値に設定し、その画素値を床領域画像用メモリ3−1〜3−7に格納する。
【0027】
なお、床領域画像抽出部2−1〜2−7は、床領域の色に濃淡があるが、模様が無いような場合には、カメラA〜Gにより撮影された画像に対して、濃淡エッジの抽出処理(例えば、cannyフィルタ処理)を実施することで、濃淡によって変化がある部分のエッジが浮き上がるようにする。
床領域画像抽出部2−1〜2−7は、濃淡エッジによって床領域が分断された場合、濃淡エッジによる各閉ループを一つのクラスタとみなし、クラスタ毎に、当該クラスタを構成している各画素の画素値と、予め記録している各画素値とを比較して、画素値の差分が一定値以内の画素が床領域内の画素であると判断することで、当該クラスタが床領域であるか否かを判断する。
【0028】
ここで、図4はカメラA,C,Dにより撮影された監視対象領域の画像、床領域画像抽出部2−1,2−3,2−4により抽出された床領域の画像及び動体領域画像抽出部4−1,4−3,4−4により抽出された動体領域の画像を示す説明図である。
床領域の画像は、図4に示すように、カメラA,C,Dにより撮影された監視対象領域の画像から本棚T1,T2と、動体である人物P,Q,Rが除去された画像であることが分かる。
【0029】
動体領域画像抽出部4−1〜4−7は、カメラA〜Gから画像データを受けると、その画像データが示す監視対象領域の画像の中から、動体である人物P,Q,Rが撮影されている動体領域の画像を抽出し、その動体領域画像を示す画像データを動体領域画像用メモリ5−1〜5−7に格納する。
動体領域画像を示す画像データにおいて、動体領域内の画素における画素値はカメラにより撮影された画像の画素値であり、動体領域以外の画素における画素値は予め設定された一定値である。
以下、動体領域画像抽出部4−1〜4−7による動体領域画像の抽出処理を具体的に説明する。
【0030】
予め、カメラA〜Gは、人間が存在していないときの監視対象領域を撮影する。
動体領域画像抽出部4−1〜4−7は、実際に監視が開始されてから、カメラA〜Gから画像データを受けると、その画像データが示す監視対象領域の画像を構成している各画素の画素値と、予め記録している各画素値(人間が存在していないときの監視対象領域の画像を構成している各画素の画素値)とを比較し(画像中の同一画素位置の画素値を比較する)、画素値の差分が一定値以上の画素が動体領域内の画素であると判断する。
あるいは、監視対象領域の画像上の一定範囲内において、予め設定された個数以上の画素の画素値に変化がある場合、それらの変化点を動体領域内の画素であると判断するようにする。
【0031】
上記の例では、人間が存在していないときの監視対象領域の画像と、カメラA〜Gにより撮影された最新の画像を比較するものについて示したが、カメラA〜Gにより撮影された最新の画像のほかに、例えば、1秒前、2秒前、3秒前に撮影された画像を記録し、カメラA〜Gにより撮影された最新の画像と、1秒前、2秒前、3秒前に撮影された画像とを比較することで(画像中の同一画素位置の画素値を比較する)、動体領域の画像を抽出するようにしてもよい。
即ち、動体領域画像抽出部4−1〜4−7は、1秒前、2秒前、3秒前の画像のすべてにおいて、画素値の差分が一定値以上の画素は動体領域内の画素であると判断する。
一方、1秒前、2秒前、3秒前の画像のいずれかにおいて、画素値の差分が一定値未満であれば、その画素は動体領域以外の画素であると判断する。
【0032】
動体領域画像抽出部4−1〜4−7は、監視対象領域の画像を構成している画素が、動体領域内の画素であると判断すると、その画素の画素値をカメラA〜Gにより撮影された画像の画素値に設定し、その画素値を動体領域画像用メモリ5−1〜5−7に格納する。
一方、監視対象領域の画像を構成している画素が、動体領域以外の画素であると判断すると、その画素の画素値を予め設定された一定値に設定し、その画素値を動体領域画像用メモリ5−1〜5−7に格納する。
動体領域の画像は、図4に示すように、カメラA,B,Cにより撮影された監視対象領域の画像から本棚T1,T2と、床領域が除去された画像であることが分かる。
【0033】
ここでは、動体領域画像抽出部4−1〜4−7が監視対象領域の画像の中から、動体領域の画像を抽出し、その動体領域画像を示す画像データを動体領域画像用メモリ5−1〜5−7に格納するものについて示したが、動体領域を追跡して、複数の動体領域を識別できるようにしてもよい。
具体的には、動体領域画像抽出部4−1〜4−7は、監視対象領域の画像の中から、動体領域の画像を抽出すると、例えば、公知のMean−Shift法を用いて、その動体領域を追跡する。
【0034】
即ち、動体領域画像抽出部4−1〜4−7は、監視対象領域の画像の中から、動体領域の画像を抽出すると、その動体領域の画像を教師データとして保存する。
次に、動体領域画像抽出部4−1〜4−7は、例えば、0.5秒後にカメラA〜Gから次の撮影画像を受けると、その撮影画像において、その教師データが示す動体領域の画像と同じ図柄の領域を判別することで、その動体領域の移動先を特定する。
【0035】
動体領域画像抽出部4−1〜4−7は、動体領域の追跡に成功すると、動体領域画像を示す画像データを動体領域画像用メモリ5−1〜5−7に格納する際、例えば、0.5秒前の画像における動体領域と、最新の画像における動体領域に対して、同一の管理番号を付与して、その管理番号を画像データと一緒に動体領域画像用メモリ5−1〜5−7に記録する。
これにより、監視対象領域内で、複数の人物が重なり合って撮影されている場合でも、重なり度合いが一定画素値以下であれば、複数の人物が撮影されている領域を別々の動体領域として抽出することが可能となる。
【0036】
カメラデータ取得部6は、例えば、カメラA〜Gや、図示せぬカメラA〜Gのパンチルト機能部からカメラデータ(例えば、カメラの光軸方向、設置位置、設置高、焦点距離などを示すデータ)を取得するデータ入力インタフェースを備えており、そのカメラデータをカメラデータ用メモリ7に格納する。
ただし、この実施の形態1では、カメラA〜Gが固定カメラであるものを想定しており、カメラデータは固定値であるものとする。
【0037】
平面射影部9−1〜9−7は、床領域画像抽出部2−1〜2−7が、床領域画像を示す画像データを床領域画像用メモリ3−1〜3−7に格納すると、カメラデータ用メモリ7に記憶されているカメラデータと、建物構造データ用メモリ8に記憶されている建物構造データとを参照して、床領域画像用メモリ3−1〜3−7により格納されている画像データが示す床領域画像を監視対象領域の直交座標系における平面位置に射影して、所定の方向を向いている平面射影画像を生成し、その平面射影画像を示す画像データを平面射影画像用メモリ10−1〜10−7に格納する。
以下、平面射影部9−1〜9−7における平面射影画像の生成処理を具体的に説明する。
【0038】
平面射影部9−1〜9−7は、平面射影画像を生成するために、床領域画像を監視対象領域の直交座標系(建物構造データの座標系)における平面位置に射影するが、ここでの「射影」は、カメラA〜Gから床領域内の各画素までの平面距離(撮影方向の距離と、その撮影方向の距離と直交する方向の距離)を求めることで、監視対象領域の直交座標系(建物構造データの座標系)における平面位置に対して、床領域内の各画素の画素値を設定することを意味する。
【0039】
ここで、図5(a)は監視対象領域の床面に対して並行にして、カメラの光軸(中心)方向を真横から見た場合の監視対象領域を示す説明図である。図5(b)は表示画面例を示す説明図である。
図5において、“hc”はカメラの設置高(床面からカメラの設置位置までの距離)、“θp”はカメラの光軸方向(カメラが水平面から下方向に向いている角度)、“f”はカメラの焦点距離、“Sh”はカメラの受光面における上下の長さである。
例えば、図5(a)に示すように、カメラにより撮影される画像の上下方向の範囲が点M〜点Jであるとすると、点J、点K、点L、点Mが写る位置までの受光面の距離は、図5(b)に示すように、“yJ”、“yK”、“yL”、“yM”で表される。
【0040】
床領域画像を監視対象領域の直交座標系における平面位置に射影するには、点Pから床領域内の各点(例えば、点J、点K、点L、点Mなど)までの距離(撮影方向の距離)を求める必要がある。
例えば、点Pから点Lまでの距離LPは、以下のように求めることができる。
まず、∠LOCは、下記の式(1)で表されるので、LP/hcは、下記の式(2)のようになる。
∠LOC=arctan(yL/f) (1)
LP/hc=tan((π/2)−(θp−arctan(yL/f))) (2)
式(2)より、距離LPは、下記のように求めることができる。
LP=hc×tan((π/2)−(θp−arctan(yL/f))) (3)
ただし、πは円周率を示している。
【0041】
図6は監視対象領域の画像における画素が実空間のどの点に対応するかを示す説明図である。
図6(a)は図2のカメラCの撮影画像を示し、図6(b)はカメラCと本棚T1,T2の位置を上空から見ている平面図である。
図6において、OはカメラCの設置位置であり、カメラCは床面からhcの高さに設置されている。
点Aは本棚T1と床面のなすコーナーの点であり、点Bは本棚T2と床面のなすコーナーの点である。点Cは光軸を床面に射影した線と補助線が交差する点である。図6の補助線は受光面と並行である。
点DはカメラCにより撮影される画像の左端における床面と接する点であり、点EはカメラCにより撮影される画像の右端における床面と接する点である。点Fは光軸を床面に射影した線と点DEを結ぶ線が交差する点である。
【0042】
図中、“Sh”と“f”は、図5における“Sh”と“f”と同じ意味である。
画像の左右中心から点A、点B、点D、点Eが写る位置までの受光面の距離は、図6(b)に示すように、“xA”、“xB”、“xD”、“xE”で表される。
床領域画像を監視対象領域の直交座標系における平面位置に射影するには、画像の左右中心(例えば、点C、点Fなど)から床領域内の各点(例えば、点A、点B、点D、点Eなど)までの距離(撮影方向の距離と直交する方向の距離)を求める必要がある。
【0043】
例えば、画像の左右中心である点Cから点Aまでの距離ACは、以下のように求めることができる。
まず、∠AOCは、下記の式(4)で表されるので、AC/COは、下記の式(5)のようになる。
∠AOC=arctan(xA/f) (4)
AC/CO=tan(∠AOC)=xA/f (5)
ただし、点Cと点Oの距離COは、点Oの高さが既知であるため、上述した図5を解説した方式で求めることができる。
式(5)より、距離ACは、下記のように求めることができる。
AC=CO×xA/f (6)
【0044】
平面射影部9−1〜9−7は、上記のようにして、点Pから床領域内の各点(例えば、点J、点K、点L、点Mなど)までの距離(撮影方向の距離)と、画像の左右中心(例えば、点C、点Fなど)から床領域内の各点(例えば、点A、点B、点D、点Eなど)までの距離(撮影方向の距離と直交する方向の距離)とを求めると、それらの距離が示す平面位置(監視対象領域の直交座標系(建物構造データの座標系)における平面位置)に対して、床領域内の各画素の画素値を設定することで、平面射影画像を生成する。
例えば、図5における点Jと、図6における点Dとが同じ画素の点であるとすると、距離(JP,DF)が示す平面位置に対して、当該画素の画素値を設定することで、当該画素を平面位置に射影する。
【0045】
ただし、平面射影部9−1〜9−7は、平面射影画像を生成する際、その平面射影画像が所定の方向を向いているように生成する。
例えば、所定の方向がカメラCの撮影方向と一致する方向に設定されているとすると、カメラDの場合、カメラCと撮影方向が逆方向であるため、カメラDにより撮影された画像から生成する平面射影画像については、視点方向を180度回転させることで、カメラCにより撮影された画像から生成する平面射影画像と同じ方向を向くようにする。
他のカメラA,B,E,F,Gにより撮影された画像から生成する平面射影画像についても、カメラCにより撮影された画像から生成する平面射影画像と同じ方向を向くように視点方向を回転させて生成する。
カメラA〜Gの撮影画像から生成された平面射影画像の視点方向を回転させることで、それらの平面射影画像が同じ方向を向いているように生成する処理自体は公知の技術であるため、ここでは詳細な説明を省略する。
【0046】
動体画像貼付部11−1〜11−7は、動体領域画像抽出部4−1〜4−7が動体領域の画像を抽出し、その動体領域画像を示す画像データを動体領域画像用メモリ5−1〜5−7に格納すると、カメラデータ用メモリ7に記憶されているカメラデータ及び建物構造データ用メモリ8に記憶されている建物構造データを参照して、監視対象領域の直交座標系上で動体が存在している領域に板モデル(板モデルは、例えば、動体の幅、高さを有する直方体であり、その直方体の奥行きの長さは予め決められた値である)を設置し、その板モデルの表面に動体領域画像用メモリ5−1〜5−7により格納されている動体領域画像を貼り付ける処理を実施する。
以下、動体画像貼付部11−1〜11−7の処理内容を具体的に説明する。
【0047】
最初に、監視対象領域の直交座標系上で動体が存在している領域に板モデルを設置する際の処理内容について説明する。
図7は動体が存在している領域の探索処理を示す説明図である。
図7において、(a)はカメラCにより撮影された画像から生成された平面射影画像を示し、(b)はカメラCにより撮影された画像から抽出された動体領域画像を示している。
【0048】
まず、動体画像貼付部11−1〜11−7は、監視対象領域の直交座標系上で動体が存在している領域を探索する。
即ち、動体画像貼付部11−1〜11−7は、図7(a)に示すように、平面射影画像内の画素をカメラ位置Oから放射状に一定角度の差をもたせて探索する。
その探索結果として、一旦、床面の画素になり、再び床面の画素ではなくなった画素位置を、板モデルを設置する候補点として記録する。
図7(a)の例では、点A,点B,点Cが候補点として記録される。
【0049】
次に、動体画像貼付部11−1〜11−7は、図7(b)に示すように、動体領域画像上で、一定画素毎に下から上に探索し、動体に当る画素位置を求める。
そして、動体に当る画素位置を平面射影部9−1〜9−7と同様の方式で平面上の位置に射影し、この平面上の位置と平面射影画像から求めた候補点(点A,点B,点C)の距離を求める。
動体画像貼付部11−1〜11−7は、一定距離以内の候補点を、板モデルを設置する場所に決定する。
図7の例では、点B,点Cは一定距離以内の候補点であるため、板モデルを設置する場所に決定されるが、点Aは一定距離以内の候補点ではないため、板モデルを設置する場所に決定されない。
【0050】
動体画像貼付部11−1〜11−7は、板モデルを設置する候補点を決定すると、それらの候補点を折れ線(または、近似直線)で結んだ線分に高さを与えた板モデル(3次元モデル)を生成する。
なお、動体領域画像抽出部4−1〜4−7により動体が追跡されて複数の動体領域画像が抽出されている場合、それぞれの動体領域画像について、一定画素毎に下から上に探索する処理を行う。
これにより、平面射影画像上の候補点と、それぞれの動体領域画像の対応が図られる。
ただし、この場合、動体画像貼付部11−1〜11−7は、板モデルと動体領域画像抽出部4−1〜4−7により追跡された動体の管理番号を関連付けておくようにする。
【0051】
次に、動体画像貼付部11−1〜11−7は、上記の板モデルの高さを決定する。
具体的には、動体画像貼付部11−1〜11−7は、動体領域画像上に板モデルを設置する場所に決定すると、図7(b)に示すように、その動体領域画像上で、上から下に探索を行って、検出した動体の最上点を求める。
図8は板モデルの高さを決定するための説明図である。図8の例では、点L1が最上点であり、点Kが板モデルを設置する位置である。
図8(a)における記号は、図5(a)における記号と同じ意味である。
【0052】
次に、動体画像貼付部11−1〜11−7は、平面射影部9−1〜9−7と同様の方式で、カメラが設置されている平面上の位置Pと板モデルを設置する点Kの距離PKを算出する。
ただし、監視対象物である動体の奥行きが薄い物体であるとみなして、求める板モデルの上端の点をL2と仮定する。点L2は、点Kの真上に延びる線と、カメラ位置Oと点L1を結ぶ線との交点である。
即ち、∠POCは、下記の式(7)で表されるので、距離PKは、下記の式(8)のようになる。
∠POC=π/2−θp (7)
PK=OL2×sin(∠POC) (8)
【0053】
次に、動体画像貼付部11−1〜11−7は、距離PKの算出式である式(8)から距離OL2を求め、平面位置から点L2までの高さKL2を求める。
OL2=PK/sin(∠POC) (9)
KL2=hc−OL2×cos(∠POC) (10)
【0054】
動体画像貼付部11−1〜11−7は、上記のようにして、板モデルを設置する場所と板モデルの高さを決定すると、その板モデルを決定した場所に設置して、その板モデルの表面に動体領域画像用メモリ5−1〜5−7により格納されている画像データが示す動体領域画像を貼り付け、動体領域画像が貼り付けられている板モデルを示す板データを板モデル用メモリ12−1〜12−Nに格納する。
なお、板データは、板モデルの3次元位置を示す座標(VRML(Virtual Reality Modeling Language)形式、あるいは、OpenGLを用いて表現可能な座標データ)と、テクスチャである動体領域画像の貼り付け方を示す値からなるデータである。
【0055】
ここで、図9は板モデルに対する動体領域画像の貼付を示す説明図である。
図9に示すように、一定方向から見た場合に、床面が他の色で途切れている位置に動体が立って見えるように板モデルが設置され、その板モデルの表面に動体領域画像が貼り付けられる。
なお、動体領域画像抽出部4−1〜4−7による追跡によって複数の動体領域画像が抽出されている場合、それぞれの動体領域画像について板データを生成する。
これにより、複数の人物が写っている場合でも、複数の人物を別々に表示することが可能になる。
【0056】
画像合成部13は、動体画像貼付部11−1〜11−7が、動体領域画像が貼り付けられている板モデルを示す板データを板モデル用メモリ12−1〜12−Nに格納すると、平面射影画像用メモリ10−1〜10−7により格納されている画像データが示す平面射影画像と、板モデル用メモリ12−1〜12−7により格納されている板データが示す動体領域画像が貼り付けられた板モデルの画像を合成し、合成後の画像を示す画像データを合成画像用メモリ14に格納する。
以下、画像合成部13における画像の合成処理を具体的に説明する。
【0057】
図10はカメラCにより撮影された画像から生成された平面射影画像及び板モデルと、カメラDにより撮影された画像から生成された平面射影画像及び板モデルとの合成画像を示す説明図である。
カメラCとカメラDの撮影方向は逆方向であるため、上述したように、カメラDにより撮影された画像から生成された平面射影画像については、視点方向を180度回転させることで、カメラCにより撮影された画像から生成された平面射影画像と同じ方向を向くようにされている。
その結果、図10の例では、カメラCにより撮影された画像から生成された平面射影画像及びカメラDにより撮影された画像から生成された平面射影画像の視点方向はどちらも同じであり、カメラCの設置位置が視点とされている。
【0058】
画像合成部13は、カメラA〜Gにより撮影された画像から生成された平面射影画像及びカメラA〜Gにより撮影された画像から生成された動体領域画像が貼り付けられている板モデルについては、建物構造データの座標系及び座標原点を用いて記述されているので(視点方向が一致している)、図10に示すように、平面射影画像を示す画像データ及び動体領域画像が貼り付けられている板モデルを示す板データを一つのデータとして重ね合わせることにより、合成画像を生成する。
ただし、画素値に関しては、2つ以上の平面射影画像が重なる点は平均化するものとする。
板データは重なりあってもよい。また、複数の板データの中で、一定の距離以内にある板データについては取り除いてもよい。
【0059】
また、一定の距離以内にある板データが示すテクスチャ同士をMean−Shift法を用いて比較し、それらのテクスチャが一致する場合には、一方のテクスチャを消去するようにしてもよい。これにより、重複した表示を削減することができる。
また、2つのカメラから同時に観測可能な床領域内の板データがある場合も、それらの板データが示すテクスチャ同士をMean−Shift法を用いて比較し、それらのテクスチャが一致する場合には、一方のテクスチャを消去するようにしてもよい。
【0060】
なお、画像合成部13により生成された合成画像を示す画像データは、床面が1枚の四角形として、画素値に対応したテクスチャが張り合わせたものとなり、これに板データを合わせられたVRML形式となる。または、OpenGLで記述可能な座標値とテクスチャデータのデータ群でもよい。
【0061】
画像表示部15は、画像合成部13が合成画像を示す画像データを合成画像用メモリ14に格納すると、その画像データが示す合成画像を図示せぬディスプレイに表示する。
即ち、画像表示部15は、例えば、VRMLのビューアソフトウェアを用いることで、画像データが示す合成画像の視点方向を操作員が指示する任意の視点位置に合わせて、その合成画像をディスプレイに表示する。
図11は画像表示部15による合成画像の表示例を示す説明図である。
図11では、床の上に人物P,Q,Rが乗っている画像が表示されており、遮蔽物である本棚T1,T2は表示されていない。図11では、説明の便宜上、建物の外壁の表示は省略している。
【0062】
ここでは、画像表示部15が合成画像をディスプレイに表示するものについて示したが、カメラA〜Gにより撮影された画像のいずれかを選択して表示するようにしてもよい。
この場合、カメラの画面表示の上に、VRML形式のテクスチャ付き板データを読み込んで合成表示する手段を備えるようにする。
VRMLの表示視点位置及び方向をカメラの設置位置及び方向に合わせて、カメラにより撮影された画像上に、テクスチャ付き板データを表示する。
また、板データだけではなく、床データ又はその一部を合成表示するようにしてもよい。床データ及び板データは、半透過で表示するようにしてもよい。
【0063】
また、画像表示部15は、合成画像をディスプレイに表示する際、動体領域画像抽出部4−1〜4−7により動体領域に付与された管理番号を表示するようにしてもよい。
この場合、例えば、カメラAにより撮影された画像に写っていた動体が、カメラAの画角の外に出た時刻から一定時間内にカメラBの画角に入ることで、その動体が新たに検出された場合、同じ動体として同じ管理番号を表示する。
ただし、カメラAにより検出された動体の床面上の板データの位置と、カメラBにより検出された動体の床面上の位置が一定距離以内の場合に、同一の動体であるものと認定する。
あるいは、確認のために、これらの板データのテクスチャをMean−Shift法によって比較するようにしてもよい。これにより、いずれかのカメラが撮影できている人物の動作を追跡して表示することが可能になる。
【0064】
また、板データに付加している管理番号と、その板データの位置を記録するようにしてもよい。
これにより、何処にいた人物が、何処へ向かったかなどを示す情報の記録が可能になる。
【0065】
なお、動体領域画像抽出部4−1〜4−7により一塊の動体として抽出された動体領域があるとき、その後、一塊の動体が分離して、2つの動体領域が抽出されるときがある。
このような場合、動体領域画像抽出部4−1〜4−7は、2つの動体領域に対して、それぞれ管理番号を付与する。
一塊の板データについては、2つの動体が重なっていている動体として、事後に2つの管理データを付与するようにする。
逆に、2つの動体領域が検出された後、2つの動体領域が一塊の動体として抽出された場合、この一塊の板データに対して、2つの動体の管理番号を付与するようにする。
これにより、画像表示部15は、二人の人物が固まっている場合、2つの管理番号を表示することができるため、人物の重なりも表現することができる。
【0066】
以上で明らかなように、この実施の形態1によれば、カメラA〜Gにより撮影された監視対象領域の画像の中から、床面が撮影されている床領域の画像を抽出する床領域画像抽出部2−1〜2−7と、カメラA〜Gにより撮影された監視対象領域の画像の中から、動体が撮影されている動体領域の画像を抽出する動体領域画像抽出部4−1〜4−7と、カメラA〜Gの設置状況を示すカメラデータを用いて、床領域画像抽出部2−1〜2−7により抽出された床領域の画像を監視対象領域の直交座標系における平面位置に射影して、平面射影画像を生成する平面射影部9−1〜9−7と、監視対象領域の直交座標系上で上記動体が存在している領域に板モデルを設置し、その板モデルの表面に動体領域画像抽出部4−1〜4−7により抽出された動体領域画像を貼り付ける動体画像貼付部11−1〜11−7とを設け、画像合成部13が、平面射影部9−1〜9−7により生成された平面射影画像及び動体画像貼付部11−1〜11−7により動体領域画像が貼り付けられた板モデルの画像を合成するように構成したので、監視対象領域内の動体の模様・形状の複雑さや、監視対象領域内の遮蔽物の有無に関わらず、複数のカメラにより撮影された画像を合成することができる効果を奏する。
【0067】
実施の形態2.
上記実施の形態1では、監視対象領域を撮影しているカメラA〜Gが固定カメラであるものについて示したが、カメラA〜Gの他に、移動カメラを用いて、監視対象領域を撮影するようにしてもよい。
ただし、この場合、移動カメラの設置状況を検出するカメラ検出手段を設けて、移動カメラの設置状況を示すカメラデータをカメラデータ用メモリ7に格納する必要がある。
なお、床領域検出部2が移動カメラにより撮影された画像から床領域を抽出する場合、移動カメラの真下にあたる床面上の点を原点とみなすことで、固定カメラにより撮影された画像から床領域を抽出する場合と同様の処理で抽出することができる。
【0068】
この実施の形態2では、カメラデータ取得部6がカメラ検出手段を構成するものとして、以下、カメラデータ取得部6の処理内容を具体的に説明する。
例えば、移動カメラ又は固定カメラが、パンチルトズームカメラ(以後、「PTZカメラ」と称する)である場合、図12に示すように、2軸(パン軸、チルト軸)による回転と、ズームが可能である。
この場合、操作員がPTZカメラを操作すると、PTZカメラからパン軸及びチルト軸の角度と、ズームによって変更された焦点距離がカメラデータとして出力され、カメラデータ取得部6が当該カメラデータを取得してカメラデータ用メモリ7に格納する。
【0069】
カメラデータ取得部6は、移動カメラの設置位置を示すカメラデータについては次のようにして取得することができる。
例えば、移動カメラの筐体に図13に示すような目印用のマークが付けられている場合(図13の例では、▽のマークが付けられており、マークの検出が容易なように、特定の色が塗られている。あるいは、ライトによって点灯している)、カメラデータ取得部6が、内蔵しているカメラ(図示せず)又は移動カメラ監視用のカメラ(図示せず)により撮影された画像から、移動カメラの筐体に付けられているマークを検出することで、移動位置と方向を特定する。
【0070】
なお、マークは、移動カメラの方向が分かるように、移動カメラの筐体に対して、前後左右に付されている。また、移動カメラの筐体に対して、マークが付されている高さは事前に決められている。
移動カメラの筐体に対するマークの設置高が分かれば、固定カメラであるカメラA〜Gの設置高hc(図5を参照)の代わりに、マークの設置高を用いて、平面射影画像の平面位置を求めることができる。
【0071】
図14は固定カメラが捕らえられない位置に移動カメラが移動している例を示す説明図である。
例えば、移動カメラの車輪として、左右2輪と、支えの一輪があれば、監視対象領域内を移動することができる。
このとき、左右の2輪に対して、車輪の回転数を計測するオドメトリ計測器が設置されていれば、オドメトリ計測器によって、左右の車輪の回転数から移動距離や向きの変化を求めることができる。
【0072】
カメラデータ取得部6は、上記のようにして、移動カメラの位置と方向を示すカメラデータを取得するが、移動カメラから出力されるカメラデータは、例えば、1秒前の移動カメラの位置及び方向を基準として、現在の位置と方向の変位を示すデータである。
カメラデータ取得部6は、内蔵しているカメラ(図示せず)又は移動カメラ監視用のカメラ(図示せず)により撮影された画像から特定した移動カメラの位置と方向を時刻と一緒に記録し、内蔵しているカメラ(図示せず)等によって、移動カメラの筐体に付されているマークを検出することができなくなると、記録している移動カメラの位置と方向を初期値として、移動カメラから送信される位置変位と方向変位を加算することで、移動カメラの位置と方向を更新する。
【0073】
以上で明らかなように、この実施の形態2によれば、複数のカメラの中に移動カメラが含まれている場合、その移動カメラの設置状況を検出するカメラ検出手段を設けるように構成したので、移動カメラにより撮影された画像から平面射影画像や動体領域画像が貼り付けられている板モデルを生成することができるようになり、その結果、遮蔽物が存在することで、固定カメラだけでは撮影することができない動体についても、移動カメラが撮影して、その動体を表示することができる効果を奏する。
【0074】
上記実施の形態1,2では、動体領域画像抽出部4−1〜4−7がカメラにより撮影された画像から、動体領域を抽出するものについて示したが、動体領域画像抽出部4−1〜4−7が床領域以外の画素値を示す全ての部分を動体領域として抽出するようにすれば、例えば、図2の本棚T1,T2についても、動体として表示することが可能である。
また、移動カメラにより撮影された画像に対してだけ、床領域以外の画素値を示す部分を動体とみなして抽出するようにすれば、固定カメラが撮影不可能な死角部分の情景を移動カメラにて再現して表示することが可能となる。
図15はカメラのズーム機能と連動して、特定の棚だけを透明にして表示している一例を示している。
【符号の説明】
【0075】
1−1〜1−N カメラ、2−1〜2−N 床領域画像抽出部(床領域画像抽出手段)、3−1〜3−N 床領域画像用メモリ、4−1〜4−N 動体領域画像抽出部(動体領域画像抽出手段)、5−1〜5−N 動体領域画像用メモリ、6 カメラデータ取得部(カメラ検出手段)、7 カメラデータ用メモリ、8 建物構造データ用メモリ、9−1〜9−N 平面射影部(平面射影手段)、10−1〜10−N 平面射影画像用メモリ、11−1〜11−N 動体画像貼付部(動体画像貼付手段)、12−1〜12−N 板モデル用メモリ、13 画像合成部(画像合成手段)、14 合成画像用メモリ、15 画像表示部(画像表示手段)。
【技術分野】
【0001】
この発明は、複数のカメラにより撮影された画像を合成し、合成後の画像を表示する合成表示装置に関するものである。
【背景技術】
【0002】
遮蔽物となる物体が多い場所を監視する場合、物体の遮蔽による死角を撮影することができるように複数のカメラを設置することがある。
即ち、ある監視カメラが屋内領域、道路面や建物周辺敷地を撮影する場合、建物、道路構造物や地面に設置されている物体によって遮蔽された死角が発生する。このような場合、死角となる領域を撮影することが可能な位置に別の監視カメラを設置する。
ただし、2つの監視カメラを設置する場合には、2つの監視カメラの撮影方向が異なるので、2つの監視カメラにより撮影された画像を1つの画像にまとめる合成処理が必要になる。
【0003】
例えば、以下の特許文献1には、合成処理の一例が開示されている。
以下の特許文献1に開示されている情報配信装置(合成表示装置)では、交差点に進入する車両(以下、「対象車両」と称する)から見えない他の車両(例えば、建物等に遮蔽されている交差点の左折方向の車両)の画像を、対象車両に搭載されている画像表示装置に表示することができるようにするために、交差点内に設置されているカメラから、交差点に進入する対象車両から見えない領域(死角領域)の画像を取得し、その死角領域の画像を予め設定された仮想視点から見た画像に変換している。
また、情報配信装置は、他のカメラから交差点に進入する対象車両の前方視界を表す前方画像を取得し、その前方画像についても、上記仮想視点から見た画像に変換し、変換後の死角画像と前方画像を合成して、合成後の画像を対象車両内の画像表示装置に送信している。
【0004】
視点変換の方式は、例えば、以下の非特許文献1に開示されている。
ただし、以下の非特許文献1に開示されている方式では、複数のカメラにより撮影された画像間で、同じ対象物の同じ箇所が写っている特徴点の対応付けがなされないと正しく変換できない制約である。
このことは、あるカメラにより撮影された対象物の表面と同じ表面を他のカメラが撮影することができない場合、同じ特徴点が双方の撮影画像に写らないので、画像の視点を変換することができないことを意味する。
また、2つのカメラにより、略同じ方向から同じ領域を撮影した画像内に迷彩服を着ている被写体が含まれている場合や、葉の多い植物が含まれている場合、2つのカメラにより撮影された画像には、濃淡から得られる大量の特徴点が存在し、大量の特徴点を正確に対応付けることは困難であるため、正確に画像の視点を変換することができないことを意味する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−70243号公報(段落番号[0007]から[0008])
【非特許文献】
【0006】
【非特許文献1】出口光一郎著「ロボットビジョンの基礎」2000年 コロナ社発行、第27頁から第31頁
【発明の概要】
【発明が解決しようとする課題】
【0007】
従来の合成表示装置は以上のように構成されているので、監視対象領域内の動体(例えば、人間、車両)の模様や形状が複雑である場合、大量の特徴点を正確に対応付けることができず、複数のカメラにより撮影された画像を正確に合成することができない。また、監視対象領域内の動体の模様や形状が複雑でなくても、遮蔽物(例えば、監視対象領域内に設置されている本棚)によって、一方のカメラには動体が写っていても、他方のカメラには動体が写っていないような場合、その動体における同じ特徴点を対応付けることができず、複数のカメラにより撮影された画像を合成することができないなどの課題があった。
【0008】
この発明は上記のような課題を解決するためになされたもので、監視対象領域内の動体の模様・形状の複雑さや、監視対象領域内の遮蔽物の有無に関わらず、複数のカメラにより撮影された画像を合成することができる合成表示装置を得ることを目的とする。
【課題を解決するための手段】
【0009】
この発明に係る合成表示装置は、カメラにより撮影された監視対象領域の画像の中から、床面が撮影されている床領域の画像を抽出する複数の床領域画像抽出手段と、カメラにより撮影された監視対象領域の画像の中から、動体が撮影されている動体領域の画像を抽出する複数の動体領域画像抽出手段と、カメラの設置状況を示すカメラデータを用いて、床領域画像抽出手段により抽出された床領域の画像を監視対象領域の直交座標系における平面位置に射影して、平面射影画像を生成する複数の平面射影手段と、監視対象領域の直交座標系上で上記動体が存在している領域に板モデルを設置し、その板モデルの表面に動体領域画像抽出手段により抽出された動体領域画像を貼り付ける複数の動体画像貼付手段とを設け、画像合成手段が、複数の平面射影手段により生成された平面射影画像及び複数の動体画像貼付手段により動体領域画像が貼り付けられた板モデルの画像を合成するようにしたものである。
【発明の効果】
【0010】
この発明によれば、カメラにより撮影された監視対象領域の画像の中から、床面が撮影されている床領域の画像を抽出する複数の床領域画像抽出手段と、カメラにより撮影された監視対象領域の画像の中から、動体が撮影されている動体領域の画像を抽出する複数の動体領域画像抽出手段と、カメラの設置状況を示すカメラデータを用いて、床領域画像抽出手段により抽出された床領域の画像を監視対象領域の直交座標系における平面位置に射影して、平面射影画像を生成する複数の平面射影手段と、監視対象領域の直交座標系上で上記動体が存在している領域に板モデルを設置し、その板モデルの表面に動体領域画像抽出手段により抽出された動体領域画像を貼り付ける複数の動体画像貼付手段とを設け、画像合成手段が、複数の平面射影手段により生成された平面射影画像及び複数の動体画像貼付手段により動体領域画像が貼り付けられた板モデルの画像を合成するように構成したので、監視対象領域内の動体の模様・形状の複雑さや、監視対象領域内の遮蔽物の有無に関わらず、複数のカメラにより撮影された画像を合成することができる効果がある。
【図面の簡単な説明】
【0011】
【図1】この発明の実施の形態1による合成表示装置を示す構成図である。
【図2】監視対象領域である部屋を示す平面図である。
【図3】監視対象領域の内部を示す鳥瞰図である。
【図4】カメラA,C,Dにより撮影された監視対象領域の画像、床領域画像抽出部2−1,2−3,2−4により抽出された床領域の画像及び動体領域画像抽出部4−1,4−3,4−4により抽出された動体領域の画像を示す説明図である。
【図5】(a)は監視対象領域の床面に対して並行にして、カメラの光軸(中心)方向を真横から見た場合の監視対象領域を示す説明図、(b)は表示画面例を示す説明図である。
【図6】監視対象領域の画像における画素が実空間のどの点に対応するかを示す説明図である。
【図7】動体が存在している領域の探索処理を示す説明図である。
【図8】板モデルの高さを決定するための説明図である。
【図9】板モデルに対する動体領域画像の貼付を示す説明図である。
【図10】カメラCにより撮影された画像から生成された平面射影画像及び板モデルと、カメラDにより撮影された画像から生成された平面射影画像及び板モデルとの合成画像を示す説明図である。
【図11】画像表示部15による合成画像の表示例を示す説明図である。
【図12】PTZカメラの可動方向を示す説明図である。
【図13】移動カメラの筐体に付されているマークを示す説明図である。
【図14】固定カメラが捕らえられない位置に移動カメラが移動している例を示す説明図である。
【図15】カメラのズーム機能と連動して、特定の棚だけを透明にして表示している一例を示す説明図である。
【発明を実施するための形態】
【0012】
実施の形態1.
図1はこの発明の実施の形態1による合成表示装置を示す構成図である。
図1において、カメラ1−1〜1−Nは相互に異なる位置に設置されている固定のカメラであり、相互に異なる方向から監視対象領域を撮影して、その監視対象領域の画像を示す画像データを出力する。
【0013】
床領域画像抽出部2−1〜2−Nは例えば画像処理を実施するGPU(Graphics Processing Unit)から構成されており、カメラ1−1〜1−Nにより撮影された監視対象領域の画像の中から、床面が撮影されている床領域の画像を抽出し、その床領域画像を示す画像データを床領域画像用メモリ3−1〜3−Nに格納する処理を実施する。
ただし、床領域画像抽出部2−1〜2−Nはカメラ1−1〜1−NがNTSC(National Television Standards Committee)出力を行うカメラである場合、カメラ1−1〜1−Nにより撮影された画像をリアルタイムに取り込む画像キャプチャボードを実装している。
一方、カメラ1−1〜1−Nがネットワーク接続型のカメラである場合、カメラ1−1〜1−Nにより撮影された画像をネットワークから取り込むネットワークインタフェースを実装している。
なお、床領域画像抽出部2−1〜2−Nは床領域画像抽出手段を構成している。
床領域画像用メモリ3−1〜3−Nは床領域画像抽出部2−1〜2−Nにより抽出された床領域画像を示す画像データを記憶するRAMやハードディスクなどの記録媒体である。
【0014】
動体領域画像抽出部4−1〜4−Nは例えば画像処理を実施するGPUから構成されており、カメラ1−1〜1−Nにより撮影された監視対象領域の画像の中から、動体が撮影されている動体領域の画像を抽出し、その動体領域画像を示す画像データを動体領域画像用メモリ5−1〜5−Nに格納する処理を実施する。
動体領域画像抽出部4−1〜4−Nについても床領域画像抽出部2−1〜2−Nと同様に、画像キャプチャボード又はネットワークインタフェースを実装している。
なお、動体領域画像抽出部4−1〜4−Nは動体領域画像抽出手段を構成している。
動体領域画像用メモリ5−1〜5−Nは動体領域画像抽出部4−1〜4−Nにより抽出された動体領域画像を示す画像データを記憶するRAMやハードディスクなどの記録媒体である。
【0015】
カメラデータ取得部6は例えばカメラ1−1〜1−Nや、図示せぬカメラ1−1〜1−Nのパンチルト機能部からカメラデータ(例えば、カメラの光軸方向、設置位置、設置高、焦点距離などを示すデータ)を取得するデータ入力インタフェースを備えており、そのカメラデータをカメラデータ用メモリ7に格納する処理を実施する。
カメラデータ用メモリ7はカメラデータ取得部6により取得されたカメラデータを記憶するRAMやハードディスクなどの記録媒体である。
建物構造データ用メモリ8は建物構造データ(例えば、カメラ1−1〜1−Nが設置されている建物の寸法や、監視対象領域内の本棚(遮蔽物)の幅、長さ及び高さを示すデータであって、一定の原点をもつ直交座標で表現されているデータ)を記憶するRAMやハードディスクなどの記録媒体である。
【0016】
平面射影部9−1〜9−Nは例えばCPUを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、カメラデータ用メモリ7に記憶されているカメラデータ及び建物構造データ用メモリ8に記憶されている建物構造データを参照して、床領域画像用メモリ3−1〜3−Nにより格納されている床領域画像を監視対象領域の直交座標系における平面位置に射影して、所定の方向を向いている平面射影画像を生成し、その平面射影画像を示す画像データを平面射影画像用メモリ10−1〜10−Nに格納する処理を実施する。なお、平面射影部9−1〜9−Nは平面射影手段を構成している。
平面射影画像用メモリ10−1〜10−Nは平面射影部9−1〜9−Nにより生成された平面射影画像を示す画像データを記憶するRAMやハードディスクなどの記録媒体である。
【0017】
動体画像貼付部11−1〜11−Nは例えばCPUを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、カメラデータ用メモリ7に記憶されているカメラデータ及び建物構造データ用メモリ8に記憶されている建物構造データを参照して、監視対象領域の直交座標系上で動体が存在している領域に板モデル(例えば、板モデルは、動体の幅、高さを有する直方体であり、その直方体の奥行きの長さは予め決められた値である)を設置し、その板モデルの表面に動体領域画像用メモリ5−1〜5−Nにより格納されている動体領域画像を貼り付ける処理を実施する。なお、動体画像貼付部11−1〜11−Nは動体画像貼付手段を構成している。
板モデル用メモリ12−1〜12−Nは動体画像貼付部11−1〜11−Nにより動体領域画像が貼り付けられた板モデルを示す板データを記憶するRAMやハードディスクなどの記録媒体である。
【0018】
画像合成部13は例えば画像処理を実施するGPUから構成されており、平面射影画像用メモリ10−1〜10−Nにより格納されている画像データが示す平面射影画像と板モデル用メモリ12−1〜12−Nにより格納されている板データが示す板モデルの画像を合成し、合成後の画像を示す画像データを合成画像用メモリ14に格納する処理を実施する。なお、画像合成部は画像合成手段を構成している。
合成画像用メモリ14は画像合成部13により合成された画像を示す画像データを記憶するRAMやハードディスクなどの記録媒体である。
【0019】
画像表示部15は例えばCPUを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、合成画像用メモリ14により格納されている画像データが示す合成画像を図示せぬディスプレイに表示する処理を実施する。なお、画像表示部15は画像表示手段を構成している。
【0020】
図1では、合成表示装置の構成要素である床領域画像抽出部2−1〜2−N、動体領域画像抽出部4−1〜4−N、カメラデータ取得部6、平面射影部9−1〜9−N、動体画像貼付部11−1〜11−N、画像合成部13及び画像表示部15のそれぞれが専用のハードウェアで構成されているものを想定しているが、合成表示装置がコンピュータで構成される場合、床領域画像抽出部2−1〜2−N、動体領域画像抽出部4−1〜4−N、カメラデータ取得部6、平面射影部9−1〜9−N、動体画像貼付部11−1〜11−N、画像合成部13及び画像表示部15の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
【0021】
次に動作について説明する。
この実施の形態1では、説明の便宜上、7台(N=7)のカメラ1−1〜1−7(カメラA,B,C,D,E,F,G)が、図2のように設置されているものとする。
図2は監視対象領域である部屋を示す平面図である。
この監視対象領域である部屋は、四方が壁に囲まれており、2つの本棚T1,T2が設置されている。
この部屋の床面から天井までの高さは3メートル、本棚T1,T2の高さは2メートルであるとする。
【0022】
カメラA〜Gは、天井の高さに設置され、光軸を中心とする軸に対して水平に設置されているものとする。
また、カメラA〜Gのピッチ角は一定角度で下方を向いているものとする。
図2において、矢印A〜Gは、カメラA〜Gの撮影方向を示し、矢印の両側の実線は、それぞれのカメラが撮影可能な範囲を示している。
P,Q,Rは監視対象領域内に存在している人物を示している。
なお、図3は監視対象領域の内部を示す鳥瞰図である。ただし、図3では、部屋の外壁の表示は省略している。
【0023】
カメラA〜Gは、図2に示すように、相互に異なる方向から監視対象領域である部屋の内部を撮影して、その部屋の内部の画像を示す画像データを床領域画像抽出部2−1〜2−7及び動体領域画像抽出部4−1〜4−7に出力する。
ただし、カメラA〜Gにおける撮影は、ばらばらに行われてもよいし、同期して同時に行われてもよい。一定時間毎にカメラA〜カメラGから最新の画像を示す画像データが出力される。
【0024】
床領域画像抽出部2−1〜2−7は、カメラA〜Gから画像データを受けると、その画像データが示す監視対象領域の画像の中から、床面が撮影されている床領域の画像を抽出し、その床領域画像を示す画像データを床領域画像用メモリ3−1〜3−7に格納する。
床領域画像を示す画像データにおいて、床領域内の画素における画素値はカメラにより撮影された画像の画素値であり、床領域以外の画素における画素値は予め設定された一定値である。
以下、床領域画像抽出部2−1〜2−7による床領域画像の抽出処理を具体的に説明する。
【0025】
予め、カメラA〜Gは、人間が存在していないときの監視対象領域を撮影する。
床領域画像抽出部2−1〜2−7は、カメラA〜Gにより撮影された監視対象領域の画像の中で、床面が撮影されている床領域と、床面以外が撮影されている領域とを画素単位で区別し、床領域内の画素の画素値については、カメラA〜Gにより撮影された画像の画素値を記録し、床領域以外の画素の画素値については、予め設定された一定値を記録する。
【0026】
床領域画像抽出部2−1〜2−7は、実際に監視が開始されてから、カメラA〜Gから画像データを受けると、その画像データが示す監視対象領域の画像を構成している各画素の画素値と、予め記録している各画素値(人間が存在していないときの監視対象領域の画像を構成している各画素の画素値)とを比較し(画像中の同一画素位置の画素値を比較する)、画素値の差分が一定値以内の画素が床領域内の画素であると判断する。一方、画素値の差分が一定値以上の画素は床領域以外の画素であると判断する。
床領域画像抽出部2−1〜2−7は、監視対象領域の画像を構成している画素が、床領域内の画素であると判断すると、その画素の画素値をカメラA〜Gにより撮影された画像の画素値に設定し、その画素値を床領域画像用メモリ3−1〜3−7に格納する。
一方、監視対象領域の画像を構成している画素が、床領域以外の画素であると判断すると、その画素の画素値を予め設定された一定値に設定し、その画素値を床領域画像用メモリ3−1〜3−7に格納する。
【0027】
なお、床領域画像抽出部2−1〜2−7は、床領域の色に濃淡があるが、模様が無いような場合には、カメラA〜Gにより撮影された画像に対して、濃淡エッジの抽出処理(例えば、cannyフィルタ処理)を実施することで、濃淡によって変化がある部分のエッジが浮き上がるようにする。
床領域画像抽出部2−1〜2−7は、濃淡エッジによって床領域が分断された場合、濃淡エッジによる各閉ループを一つのクラスタとみなし、クラスタ毎に、当該クラスタを構成している各画素の画素値と、予め記録している各画素値とを比較して、画素値の差分が一定値以内の画素が床領域内の画素であると判断することで、当該クラスタが床領域であるか否かを判断する。
【0028】
ここで、図4はカメラA,C,Dにより撮影された監視対象領域の画像、床領域画像抽出部2−1,2−3,2−4により抽出された床領域の画像及び動体領域画像抽出部4−1,4−3,4−4により抽出された動体領域の画像を示す説明図である。
床領域の画像は、図4に示すように、カメラA,C,Dにより撮影された監視対象領域の画像から本棚T1,T2と、動体である人物P,Q,Rが除去された画像であることが分かる。
【0029】
動体領域画像抽出部4−1〜4−7は、カメラA〜Gから画像データを受けると、その画像データが示す監視対象領域の画像の中から、動体である人物P,Q,Rが撮影されている動体領域の画像を抽出し、その動体領域画像を示す画像データを動体領域画像用メモリ5−1〜5−7に格納する。
動体領域画像を示す画像データにおいて、動体領域内の画素における画素値はカメラにより撮影された画像の画素値であり、動体領域以外の画素における画素値は予め設定された一定値である。
以下、動体領域画像抽出部4−1〜4−7による動体領域画像の抽出処理を具体的に説明する。
【0030】
予め、カメラA〜Gは、人間が存在していないときの監視対象領域を撮影する。
動体領域画像抽出部4−1〜4−7は、実際に監視が開始されてから、カメラA〜Gから画像データを受けると、その画像データが示す監視対象領域の画像を構成している各画素の画素値と、予め記録している各画素値(人間が存在していないときの監視対象領域の画像を構成している各画素の画素値)とを比較し(画像中の同一画素位置の画素値を比較する)、画素値の差分が一定値以上の画素が動体領域内の画素であると判断する。
あるいは、監視対象領域の画像上の一定範囲内において、予め設定された個数以上の画素の画素値に変化がある場合、それらの変化点を動体領域内の画素であると判断するようにする。
【0031】
上記の例では、人間が存在していないときの監視対象領域の画像と、カメラA〜Gにより撮影された最新の画像を比較するものについて示したが、カメラA〜Gにより撮影された最新の画像のほかに、例えば、1秒前、2秒前、3秒前に撮影された画像を記録し、カメラA〜Gにより撮影された最新の画像と、1秒前、2秒前、3秒前に撮影された画像とを比較することで(画像中の同一画素位置の画素値を比較する)、動体領域の画像を抽出するようにしてもよい。
即ち、動体領域画像抽出部4−1〜4−7は、1秒前、2秒前、3秒前の画像のすべてにおいて、画素値の差分が一定値以上の画素は動体領域内の画素であると判断する。
一方、1秒前、2秒前、3秒前の画像のいずれかにおいて、画素値の差分が一定値未満であれば、その画素は動体領域以外の画素であると判断する。
【0032】
動体領域画像抽出部4−1〜4−7は、監視対象領域の画像を構成している画素が、動体領域内の画素であると判断すると、その画素の画素値をカメラA〜Gにより撮影された画像の画素値に設定し、その画素値を動体領域画像用メモリ5−1〜5−7に格納する。
一方、監視対象領域の画像を構成している画素が、動体領域以外の画素であると判断すると、その画素の画素値を予め設定された一定値に設定し、その画素値を動体領域画像用メモリ5−1〜5−7に格納する。
動体領域の画像は、図4に示すように、カメラA,B,Cにより撮影された監視対象領域の画像から本棚T1,T2と、床領域が除去された画像であることが分かる。
【0033】
ここでは、動体領域画像抽出部4−1〜4−7が監視対象領域の画像の中から、動体領域の画像を抽出し、その動体領域画像を示す画像データを動体領域画像用メモリ5−1〜5−7に格納するものについて示したが、動体領域を追跡して、複数の動体領域を識別できるようにしてもよい。
具体的には、動体領域画像抽出部4−1〜4−7は、監視対象領域の画像の中から、動体領域の画像を抽出すると、例えば、公知のMean−Shift法を用いて、その動体領域を追跡する。
【0034】
即ち、動体領域画像抽出部4−1〜4−7は、監視対象領域の画像の中から、動体領域の画像を抽出すると、その動体領域の画像を教師データとして保存する。
次に、動体領域画像抽出部4−1〜4−7は、例えば、0.5秒後にカメラA〜Gから次の撮影画像を受けると、その撮影画像において、その教師データが示す動体領域の画像と同じ図柄の領域を判別することで、その動体領域の移動先を特定する。
【0035】
動体領域画像抽出部4−1〜4−7は、動体領域の追跡に成功すると、動体領域画像を示す画像データを動体領域画像用メモリ5−1〜5−7に格納する際、例えば、0.5秒前の画像における動体領域と、最新の画像における動体領域に対して、同一の管理番号を付与して、その管理番号を画像データと一緒に動体領域画像用メモリ5−1〜5−7に記録する。
これにより、監視対象領域内で、複数の人物が重なり合って撮影されている場合でも、重なり度合いが一定画素値以下であれば、複数の人物が撮影されている領域を別々の動体領域として抽出することが可能となる。
【0036】
カメラデータ取得部6は、例えば、カメラA〜Gや、図示せぬカメラA〜Gのパンチルト機能部からカメラデータ(例えば、カメラの光軸方向、設置位置、設置高、焦点距離などを示すデータ)を取得するデータ入力インタフェースを備えており、そのカメラデータをカメラデータ用メモリ7に格納する。
ただし、この実施の形態1では、カメラA〜Gが固定カメラであるものを想定しており、カメラデータは固定値であるものとする。
【0037】
平面射影部9−1〜9−7は、床領域画像抽出部2−1〜2−7が、床領域画像を示す画像データを床領域画像用メモリ3−1〜3−7に格納すると、カメラデータ用メモリ7に記憶されているカメラデータと、建物構造データ用メモリ8に記憶されている建物構造データとを参照して、床領域画像用メモリ3−1〜3−7により格納されている画像データが示す床領域画像を監視対象領域の直交座標系における平面位置に射影して、所定の方向を向いている平面射影画像を生成し、その平面射影画像を示す画像データを平面射影画像用メモリ10−1〜10−7に格納する。
以下、平面射影部9−1〜9−7における平面射影画像の生成処理を具体的に説明する。
【0038】
平面射影部9−1〜9−7は、平面射影画像を生成するために、床領域画像を監視対象領域の直交座標系(建物構造データの座標系)における平面位置に射影するが、ここでの「射影」は、カメラA〜Gから床領域内の各画素までの平面距離(撮影方向の距離と、その撮影方向の距離と直交する方向の距離)を求めることで、監視対象領域の直交座標系(建物構造データの座標系)における平面位置に対して、床領域内の各画素の画素値を設定することを意味する。
【0039】
ここで、図5(a)は監視対象領域の床面に対して並行にして、カメラの光軸(中心)方向を真横から見た場合の監視対象領域を示す説明図である。図5(b)は表示画面例を示す説明図である。
図5において、“hc”はカメラの設置高(床面からカメラの設置位置までの距離)、“θp”はカメラの光軸方向(カメラが水平面から下方向に向いている角度)、“f”はカメラの焦点距離、“Sh”はカメラの受光面における上下の長さである。
例えば、図5(a)に示すように、カメラにより撮影される画像の上下方向の範囲が点M〜点Jであるとすると、点J、点K、点L、点Mが写る位置までの受光面の距離は、図5(b)に示すように、“yJ”、“yK”、“yL”、“yM”で表される。
【0040】
床領域画像を監視対象領域の直交座標系における平面位置に射影するには、点Pから床領域内の各点(例えば、点J、点K、点L、点Mなど)までの距離(撮影方向の距離)を求める必要がある。
例えば、点Pから点Lまでの距離LPは、以下のように求めることができる。
まず、∠LOCは、下記の式(1)で表されるので、LP/hcは、下記の式(2)のようになる。
∠LOC=arctan(yL/f) (1)
LP/hc=tan((π/2)−(θp−arctan(yL/f))) (2)
式(2)より、距離LPは、下記のように求めることができる。
LP=hc×tan((π/2)−(θp−arctan(yL/f))) (3)
ただし、πは円周率を示している。
【0041】
図6は監視対象領域の画像における画素が実空間のどの点に対応するかを示す説明図である。
図6(a)は図2のカメラCの撮影画像を示し、図6(b)はカメラCと本棚T1,T2の位置を上空から見ている平面図である。
図6において、OはカメラCの設置位置であり、カメラCは床面からhcの高さに設置されている。
点Aは本棚T1と床面のなすコーナーの点であり、点Bは本棚T2と床面のなすコーナーの点である。点Cは光軸を床面に射影した線と補助線が交差する点である。図6の補助線は受光面と並行である。
点DはカメラCにより撮影される画像の左端における床面と接する点であり、点EはカメラCにより撮影される画像の右端における床面と接する点である。点Fは光軸を床面に射影した線と点DEを結ぶ線が交差する点である。
【0042】
図中、“Sh”と“f”は、図5における“Sh”と“f”と同じ意味である。
画像の左右中心から点A、点B、点D、点Eが写る位置までの受光面の距離は、図6(b)に示すように、“xA”、“xB”、“xD”、“xE”で表される。
床領域画像を監視対象領域の直交座標系における平面位置に射影するには、画像の左右中心(例えば、点C、点Fなど)から床領域内の各点(例えば、点A、点B、点D、点Eなど)までの距離(撮影方向の距離と直交する方向の距離)を求める必要がある。
【0043】
例えば、画像の左右中心である点Cから点Aまでの距離ACは、以下のように求めることができる。
まず、∠AOCは、下記の式(4)で表されるので、AC/COは、下記の式(5)のようになる。
∠AOC=arctan(xA/f) (4)
AC/CO=tan(∠AOC)=xA/f (5)
ただし、点Cと点Oの距離COは、点Oの高さが既知であるため、上述した図5を解説した方式で求めることができる。
式(5)より、距離ACは、下記のように求めることができる。
AC=CO×xA/f (6)
【0044】
平面射影部9−1〜9−7は、上記のようにして、点Pから床領域内の各点(例えば、点J、点K、点L、点Mなど)までの距離(撮影方向の距離)と、画像の左右中心(例えば、点C、点Fなど)から床領域内の各点(例えば、点A、点B、点D、点Eなど)までの距離(撮影方向の距離と直交する方向の距離)とを求めると、それらの距離が示す平面位置(監視対象領域の直交座標系(建物構造データの座標系)における平面位置)に対して、床領域内の各画素の画素値を設定することで、平面射影画像を生成する。
例えば、図5における点Jと、図6における点Dとが同じ画素の点であるとすると、距離(JP,DF)が示す平面位置に対して、当該画素の画素値を設定することで、当該画素を平面位置に射影する。
【0045】
ただし、平面射影部9−1〜9−7は、平面射影画像を生成する際、その平面射影画像が所定の方向を向いているように生成する。
例えば、所定の方向がカメラCの撮影方向と一致する方向に設定されているとすると、カメラDの場合、カメラCと撮影方向が逆方向であるため、カメラDにより撮影された画像から生成する平面射影画像については、視点方向を180度回転させることで、カメラCにより撮影された画像から生成する平面射影画像と同じ方向を向くようにする。
他のカメラA,B,E,F,Gにより撮影された画像から生成する平面射影画像についても、カメラCにより撮影された画像から生成する平面射影画像と同じ方向を向くように視点方向を回転させて生成する。
カメラA〜Gの撮影画像から生成された平面射影画像の視点方向を回転させることで、それらの平面射影画像が同じ方向を向いているように生成する処理自体は公知の技術であるため、ここでは詳細な説明を省略する。
【0046】
動体画像貼付部11−1〜11−7は、動体領域画像抽出部4−1〜4−7が動体領域の画像を抽出し、その動体領域画像を示す画像データを動体領域画像用メモリ5−1〜5−7に格納すると、カメラデータ用メモリ7に記憶されているカメラデータ及び建物構造データ用メモリ8に記憶されている建物構造データを参照して、監視対象領域の直交座標系上で動体が存在している領域に板モデル(板モデルは、例えば、動体の幅、高さを有する直方体であり、その直方体の奥行きの長さは予め決められた値である)を設置し、その板モデルの表面に動体領域画像用メモリ5−1〜5−7により格納されている動体領域画像を貼り付ける処理を実施する。
以下、動体画像貼付部11−1〜11−7の処理内容を具体的に説明する。
【0047】
最初に、監視対象領域の直交座標系上で動体が存在している領域に板モデルを設置する際の処理内容について説明する。
図7は動体が存在している領域の探索処理を示す説明図である。
図7において、(a)はカメラCにより撮影された画像から生成された平面射影画像を示し、(b)はカメラCにより撮影された画像から抽出された動体領域画像を示している。
【0048】
まず、動体画像貼付部11−1〜11−7は、監視対象領域の直交座標系上で動体が存在している領域を探索する。
即ち、動体画像貼付部11−1〜11−7は、図7(a)に示すように、平面射影画像内の画素をカメラ位置Oから放射状に一定角度の差をもたせて探索する。
その探索結果として、一旦、床面の画素になり、再び床面の画素ではなくなった画素位置を、板モデルを設置する候補点として記録する。
図7(a)の例では、点A,点B,点Cが候補点として記録される。
【0049】
次に、動体画像貼付部11−1〜11−7は、図7(b)に示すように、動体領域画像上で、一定画素毎に下から上に探索し、動体に当る画素位置を求める。
そして、動体に当る画素位置を平面射影部9−1〜9−7と同様の方式で平面上の位置に射影し、この平面上の位置と平面射影画像から求めた候補点(点A,点B,点C)の距離を求める。
動体画像貼付部11−1〜11−7は、一定距離以内の候補点を、板モデルを設置する場所に決定する。
図7の例では、点B,点Cは一定距離以内の候補点であるため、板モデルを設置する場所に決定されるが、点Aは一定距離以内の候補点ではないため、板モデルを設置する場所に決定されない。
【0050】
動体画像貼付部11−1〜11−7は、板モデルを設置する候補点を決定すると、それらの候補点を折れ線(または、近似直線)で結んだ線分に高さを与えた板モデル(3次元モデル)を生成する。
なお、動体領域画像抽出部4−1〜4−7により動体が追跡されて複数の動体領域画像が抽出されている場合、それぞれの動体領域画像について、一定画素毎に下から上に探索する処理を行う。
これにより、平面射影画像上の候補点と、それぞれの動体領域画像の対応が図られる。
ただし、この場合、動体画像貼付部11−1〜11−7は、板モデルと動体領域画像抽出部4−1〜4−7により追跡された動体の管理番号を関連付けておくようにする。
【0051】
次に、動体画像貼付部11−1〜11−7は、上記の板モデルの高さを決定する。
具体的には、動体画像貼付部11−1〜11−7は、動体領域画像上に板モデルを設置する場所に決定すると、図7(b)に示すように、その動体領域画像上で、上から下に探索を行って、検出した動体の最上点を求める。
図8は板モデルの高さを決定するための説明図である。図8の例では、点L1が最上点であり、点Kが板モデルを設置する位置である。
図8(a)における記号は、図5(a)における記号と同じ意味である。
【0052】
次に、動体画像貼付部11−1〜11−7は、平面射影部9−1〜9−7と同様の方式で、カメラが設置されている平面上の位置Pと板モデルを設置する点Kの距離PKを算出する。
ただし、監視対象物である動体の奥行きが薄い物体であるとみなして、求める板モデルの上端の点をL2と仮定する。点L2は、点Kの真上に延びる線と、カメラ位置Oと点L1を結ぶ線との交点である。
即ち、∠POCは、下記の式(7)で表されるので、距離PKは、下記の式(8)のようになる。
∠POC=π/2−θp (7)
PK=OL2×sin(∠POC) (8)
【0053】
次に、動体画像貼付部11−1〜11−7は、距離PKの算出式である式(8)から距離OL2を求め、平面位置から点L2までの高さKL2を求める。
OL2=PK/sin(∠POC) (9)
KL2=hc−OL2×cos(∠POC) (10)
【0054】
動体画像貼付部11−1〜11−7は、上記のようにして、板モデルを設置する場所と板モデルの高さを決定すると、その板モデルを決定した場所に設置して、その板モデルの表面に動体領域画像用メモリ5−1〜5−7により格納されている画像データが示す動体領域画像を貼り付け、動体領域画像が貼り付けられている板モデルを示す板データを板モデル用メモリ12−1〜12−Nに格納する。
なお、板データは、板モデルの3次元位置を示す座標(VRML(Virtual Reality Modeling Language)形式、あるいは、OpenGLを用いて表現可能な座標データ)と、テクスチャである動体領域画像の貼り付け方を示す値からなるデータである。
【0055】
ここで、図9は板モデルに対する動体領域画像の貼付を示す説明図である。
図9に示すように、一定方向から見た場合に、床面が他の色で途切れている位置に動体が立って見えるように板モデルが設置され、その板モデルの表面に動体領域画像が貼り付けられる。
なお、動体領域画像抽出部4−1〜4−7による追跡によって複数の動体領域画像が抽出されている場合、それぞれの動体領域画像について板データを生成する。
これにより、複数の人物が写っている場合でも、複数の人物を別々に表示することが可能になる。
【0056】
画像合成部13は、動体画像貼付部11−1〜11−7が、動体領域画像が貼り付けられている板モデルを示す板データを板モデル用メモリ12−1〜12−Nに格納すると、平面射影画像用メモリ10−1〜10−7により格納されている画像データが示す平面射影画像と、板モデル用メモリ12−1〜12−7により格納されている板データが示す動体領域画像が貼り付けられた板モデルの画像を合成し、合成後の画像を示す画像データを合成画像用メモリ14に格納する。
以下、画像合成部13における画像の合成処理を具体的に説明する。
【0057】
図10はカメラCにより撮影された画像から生成された平面射影画像及び板モデルと、カメラDにより撮影された画像から生成された平面射影画像及び板モデルとの合成画像を示す説明図である。
カメラCとカメラDの撮影方向は逆方向であるため、上述したように、カメラDにより撮影された画像から生成された平面射影画像については、視点方向を180度回転させることで、カメラCにより撮影された画像から生成された平面射影画像と同じ方向を向くようにされている。
その結果、図10の例では、カメラCにより撮影された画像から生成された平面射影画像及びカメラDにより撮影された画像から生成された平面射影画像の視点方向はどちらも同じであり、カメラCの設置位置が視点とされている。
【0058】
画像合成部13は、カメラA〜Gにより撮影された画像から生成された平面射影画像及びカメラA〜Gにより撮影された画像から生成された動体領域画像が貼り付けられている板モデルについては、建物構造データの座標系及び座標原点を用いて記述されているので(視点方向が一致している)、図10に示すように、平面射影画像を示す画像データ及び動体領域画像が貼り付けられている板モデルを示す板データを一つのデータとして重ね合わせることにより、合成画像を生成する。
ただし、画素値に関しては、2つ以上の平面射影画像が重なる点は平均化するものとする。
板データは重なりあってもよい。また、複数の板データの中で、一定の距離以内にある板データについては取り除いてもよい。
【0059】
また、一定の距離以内にある板データが示すテクスチャ同士をMean−Shift法を用いて比較し、それらのテクスチャが一致する場合には、一方のテクスチャを消去するようにしてもよい。これにより、重複した表示を削減することができる。
また、2つのカメラから同時に観測可能な床領域内の板データがある場合も、それらの板データが示すテクスチャ同士をMean−Shift法を用いて比較し、それらのテクスチャが一致する場合には、一方のテクスチャを消去するようにしてもよい。
【0060】
なお、画像合成部13により生成された合成画像を示す画像データは、床面が1枚の四角形として、画素値に対応したテクスチャが張り合わせたものとなり、これに板データを合わせられたVRML形式となる。または、OpenGLで記述可能な座標値とテクスチャデータのデータ群でもよい。
【0061】
画像表示部15は、画像合成部13が合成画像を示す画像データを合成画像用メモリ14に格納すると、その画像データが示す合成画像を図示せぬディスプレイに表示する。
即ち、画像表示部15は、例えば、VRMLのビューアソフトウェアを用いることで、画像データが示す合成画像の視点方向を操作員が指示する任意の視点位置に合わせて、その合成画像をディスプレイに表示する。
図11は画像表示部15による合成画像の表示例を示す説明図である。
図11では、床の上に人物P,Q,Rが乗っている画像が表示されており、遮蔽物である本棚T1,T2は表示されていない。図11では、説明の便宜上、建物の外壁の表示は省略している。
【0062】
ここでは、画像表示部15が合成画像をディスプレイに表示するものについて示したが、カメラA〜Gにより撮影された画像のいずれかを選択して表示するようにしてもよい。
この場合、カメラの画面表示の上に、VRML形式のテクスチャ付き板データを読み込んで合成表示する手段を備えるようにする。
VRMLの表示視点位置及び方向をカメラの設置位置及び方向に合わせて、カメラにより撮影された画像上に、テクスチャ付き板データを表示する。
また、板データだけではなく、床データ又はその一部を合成表示するようにしてもよい。床データ及び板データは、半透過で表示するようにしてもよい。
【0063】
また、画像表示部15は、合成画像をディスプレイに表示する際、動体領域画像抽出部4−1〜4−7により動体領域に付与された管理番号を表示するようにしてもよい。
この場合、例えば、カメラAにより撮影された画像に写っていた動体が、カメラAの画角の外に出た時刻から一定時間内にカメラBの画角に入ることで、その動体が新たに検出された場合、同じ動体として同じ管理番号を表示する。
ただし、カメラAにより検出された動体の床面上の板データの位置と、カメラBにより検出された動体の床面上の位置が一定距離以内の場合に、同一の動体であるものと認定する。
あるいは、確認のために、これらの板データのテクスチャをMean−Shift法によって比較するようにしてもよい。これにより、いずれかのカメラが撮影できている人物の動作を追跡して表示することが可能になる。
【0064】
また、板データに付加している管理番号と、その板データの位置を記録するようにしてもよい。
これにより、何処にいた人物が、何処へ向かったかなどを示す情報の記録が可能になる。
【0065】
なお、動体領域画像抽出部4−1〜4−7により一塊の動体として抽出された動体領域があるとき、その後、一塊の動体が分離して、2つの動体領域が抽出されるときがある。
このような場合、動体領域画像抽出部4−1〜4−7は、2つの動体領域に対して、それぞれ管理番号を付与する。
一塊の板データについては、2つの動体が重なっていている動体として、事後に2つの管理データを付与するようにする。
逆に、2つの動体領域が検出された後、2つの動体領域が一塊の動体として抽出された場合、この一塊の板データに対して、2つの動体の管理番号を付与するようにする。
これにより、画像表示部15は、二人の人物が固まっている場合、2つの管理番号を表示することができるため、人物の重なりも表現することができる。
【0066】
以上で明らかなように、この実施の形態1によれば、カメラA〜Gにより撮影された監視対象領域の画像の中から、床面が撮影されている床領域の画像を抽出する床領域画像抽出部2−1〜2−7と、カメラA〜Gにより撮影された監視対象領域の画像の中から、動体が撮影されている動体領域の画像を抽出する動体領域画像抽出部4−1〜4−7と、カメラA〜Gの設置状況を示すカメラデータを用いて、床領域画像抽出部2−1〜2−7により抽出された床領域の画像を監視対象領域の直交座標系における平面位置に射影して、平面射影画像を生成する平面射影部9−1〜9−7と、監視対象領域の直交座標系上で上記動体が存在している領域に板モデルを設置し、その板モデルの表面に動体領域画像抽出部4−1〜4−7により抽出された動体領域画像を貼り付ける動体画像貼付部11−1〜11−7とを設け、画像合成部13が、平面射影部9−1〜9−7により生成された平面射影画像及び動体画像貼付部11−1〜11−7により動体領域画像が貼り付けられた板モデルの画像を合成するように構成したので、監視対象領域内の動体の模様・形状の複雑さや、監視対象領域内の遮蔽物の有無に関わらず、複数のカメラにより撮影された画像を合成することができる効果を奏する。
【0067】
実施の形態2.
上記実施の形態1では、監視対象領域を撮影しているカメラA〜Gが固定カメラであるものについて示したが、カメラA〜Gの他に、移動カメラを用いて、監視対象領域を撮影するようにしてもよい。
ただし、この場合、移動カメラの設置状況を検出するカメラ検出手段を設けて、移動カメラの設置状況を示すカメラデータをカメラデータ用メモリ7に格納する必要がある。
なお、床領域検出部2が移動カメラにより撮影された画像から床領域を抽出する場合、移動カメラの真下にあたる床面上の点を原点とみなすことで、固定カメラにより撮影された画像から床領域を抽出する場合と同様の処理で抽出することができる。
【0068】
この実施の形態2では、カメラデータ取得部6がカメラ検出手段を構成するものとして、以下、カメラデータ取得部6の処理内容を具体的に説明する。
例えば、移動カメラ又は固定カメラが、パンチルトズームカメラ(以後、「PTZカメラ」と称する)である場合、図12に示すように、2軸(パン軸、チルト軸)による回転と、ズームが可能である。
この場合、操作員がPTZカメラを操作すると、PTZカメラからパン軸及びチルト軸の角度と、ズームによって変更された焦点距離がカメラデータとして出力され、カメラデータ取得部6が当該カメラデータを取得してカメラデータ用メモリ7に格納する。
【0069】
カメラデータ取得部6は、移動カメラの設置位置を示すカメラデータについては次のようにして取得することができる。
例えば、移動カメラの筐体に図13に示すような目印用のマークが付けられている場合(図13の例では、▽のマークが付けられており、マークの検出が容易なように、特定の色が塗られている。あるいは、ライトによって点灯している)、カメラデータ取得部6が、内蔵しているカメラ(図示せず)又は移動カメラ監視用のカメラ(図示せず)により撮影された画像から、移動カメラの筐体に付けられているマークを検出することで、移動位置と方向を特定する。
【0070】
なお、マークは、移動カメラの方向が分かるように、移動カメラの筐体に対して、前後左右に付されている。また、移動カメラの筐体に対して、マークが付されている高さは事前に決められている。
移動カメラの筐体に対するマークの設置高が分かれば、固定カメラであるカメラA〜Gの設置高hc(図5を参照)の代わりに、マークの設置高を用いて、平面射影画像の平面位置を求めることができる。
【0071】
図14は固定カメラが捕らえられない位置に移動カメラが移動している例を示す説明図である。
例えば、移動カメラの車輪として、左右2輪と、支えの一輪があれば、監視対象領域内を移動することができる。
このとき、左右の2輪に対して、車輪の回転数を計測するオドメトリ計測器が設置されていれば、オドメトリ計測器によって、左右の車輪の回転数から移動距離や向きの変化を求めることができる。
【0072】
カメラデータ取得部6は、上記のようにして、移動カメラの位置と方向を示すカメラデータを取得するが、移動カメラから出力されるカメラデータは、例えば、1秒前の移動カメラの位置及び方向を基準として、現在の位置と方向の変位を示すデータである。
カメラデータ取得部6は、内蔵しているカメラ(図示せず)又は移動カメラ監視用のカメラ(図示せず)により撮影された画像から特定した移動カメラの位置と方向を時刻と一緒に記録し、内蔵しているカメラ(図示せず)等によって、移動カメラの筐体に付されているマークを検出することができなくなると、記録している移動カメラの位置と方向を初期値として、移動カメラから送信される位置変位と方向変位を加算することで、移動カメラの位置と方向を更新する。
【0073】
以上で明らかなように、この実施の形態2によれば、複数のカメラの中に移動カメラが含まれている場合、その移動カメラの設置状況を検出するカメラ検出手段を設けるように構成したので、移動カメラにより撮影された画像から平面射影画像や動体領域画像が貼り付けられている板モデルを生成することができるようになり、その結果、遮蔽物が存在することで、固定カメラだけでは撮影することができない動体についても、移動カメラが撮影して、その動体を表示することができる効果を奏する。
【0074】
上記実施の形態1,2では、動体領域画像抽出部4−1〜4−7がカメラにより撮影された画像から、動体領域を抽出するものについて示したが、動体領域画像抽出部4−1〜4−7が床領域以外の画素値を示す全ての部分を動体領域として抽出するようにすれば、例えば、図2の本棚T1,T2についても、動体として表示することが可能である。
また、移動カメラにより撮影された画像に対してだけ、床領域以外の画素値を示す部分を動体とみなして抽出するようにすれば、固定カメラが撮影不可能な死角部分の情景を移動カメラにて再現して表示することが可能となる。
図15はカメラのズーム機能と連動して、特定の棚だけを透明にして表示している一例を示している。
【符号の説明】
【0075】
1−1〜1−N カメラ、2−1〜2−N 床領域画像抽出部(床領域画像抽出手段)、3−1〜3−N 床領域画像用メモリ、4−1〜4−N 動体領域画像抽出部(動体領域画像抽出手段)、5−1〜5−N 動体領域画像用メモリ、6 カメラデータ取得部(カメラ検出手段)、7 カメラデータ用メモリ、8 建物構造データ用メモリ、9−1〜9−N 平面射影部(平面射影手段)、10−1〜10−N 平面射影画像用メモリ、11−1〜11−N 動体画像貼付部(動体画像貼付手段)、12−1〜12−N 板モデル用メモリ、13 画像合成部(画像合成手段)、14 合成画像用メモリ、15 画像表示部(画像表示手段)。
【特許請求の範囲】
【請求項1】
相互に異なる方向から監視対象領域を撮影する複数のカメラと、上記カメラにより撮影された監視対象領域の画像の中から、床面が撮影されている床領域の画像を抽出する複数の床領域画像抽出手段と、上記カメラにより撮影された監視対象領域の画像の中から、動体が撮影されている動体領域の画像を抽出する複数の動体領域画像抽出手段と、上記カメラの設置状況を示すカメラデータを用いて、上記床領域画像抽出手段により抽出された床領域の画像を上記監視対象領域の直交座標系における平面位置に射影して、平面射影画像を生成する複数の平面射影手段と、上記監視対象領域の直交座標系上で上記動体が存在している領域に板モデルを設置し、上記板モデルの表面に上記動体領域画像抽出手段により抽出された動体領域画像を貼り付ける複数の動体画像貼付手段と、上記複数の平面射影手段により生成された平面射影画像及び上記複数の動体画像貼付手段により動体領域画像が貼り付けられた板モデルの画像を合成する画像合成手段と、上記画像合成手段により合成された画像を表示する画像表示手段とを備えた合成表示装置。
【請求項2】
複数のカメラの中に移動カメラが含まれている場合、上記移動カメラの設置状況を検出するカメラ検出手段を設けたことを特徴とする請求項1記載の合成表示装置。
【請求項1】
相互に異なる方向から監視対象領域を撮影する複数のカメラと、上記カメラにより撮影された監視対象領域の画像の中から、床面が撮影されている床領域の画像を抽出する複数の床領域画像抽出手段と、上記カメラにより撮影された監視対象領域の画像の中から、動体が撮影されている動体領域の画像を抽出する複数の動体領域画像抽出手段と、上記カメラの設置状況を示すカメラデータを用いて、上記床領域画像抽出手段により抽出された床領域の画像を上記監視対象領域の直交座標系における平面位置に射影して、平面射影画像を生成する複数の平面射影手段と、上記監視対象領域の直交座標系上で上記動体が存在している領域に板モデルを設置し、上記板モデルの表面に上記動体領域画像抽出手段により抽出された動体領域画像を貼り付ける複数の動体画像貼付手段と、上記複数の平面射影手段により生成された平面射影画像及び上記複数の動体画像貼付手段により動体領域画像が貼り付けられた板モデルの画像を合成する画像合成手段と、上記画像合成手段により合成された画像を表示する画像表示手段とを備えた合成表示装置。
【請求項2】
複数のカメラの中に移動カメラが含まれている場合、上記移動カメラの設置状況を検出するカメラ検出手段を設けたことを特徴とする請求項1記載の合成表示装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2011−151459(P2011−151459A)
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願番号】特願2010−8970(P2010−8970)
【出願日】平成22年1月19日(2010.1.19)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願日】平成22年1月19日(2010.1.19)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]