以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態では、基準撮像装置とドローンに搭載された移動体撮像手段とで監視領域の監視を行う撮像システムに本発明を適用した場合を例に説明する。
<システム構成>
以下、本発明を適用した撮像システム1の概略構成を示した図1を参照し、本発明の実施の形態の構成を説明する。
撮像システム1は、センター側装置100、ドローン200、及び基準撮像装置300を有する。センター側装置100とドローン200及び基準撮像装置300の各々との間は、Wi-Fiに代表される閉域無線通信もしくはLTEに代表される広域無線通信を介して接続されている。なお、センター側装置100と基準撮像装置300の間は有線で通信してもよい。
図1には、対象物体が存在し得る監視領域10を俯瞰する様子が示されており、地面50を囲うように壁40が存在する。この壁40の高さは例えば5[m]であり、壁40の隅の上に基準撮像装置300が設置されている。
基準撮像装置300は、監視領域10全体を視野に含むような画角(焦点距離)を有し、撮像方向が調整されているとする。夜間に撮像範囲を明るくすべく照明装置を備えてもよい。
基準撮像装置300は、固定設置され、かつ、図1に示すような監視領域10全体を撮像して、得られた画像(「基準画像」)をセンター側装置100に送信する。
本実施の形態では、90°の画角を持つ固定焦点レンズを用いるとする。
また広角の固定焦点レンズの代わりに、ズームレンズでもよい。ただしズームレンズの場合には、対象物体20の世界座標表現における位置を求めるために焦点距離の情報が必要であるため、ズーミングのたびに焦点距離を取得できるような機構を要する。
なお、本実施の形態では、監視領域10について、大型商業施設の駐車場のように数百メートル四方という規模を想定している。そのため、画角によっては基準撮像装置300が複数用いられてもよい。
監視領域10には対象物体20が存在している。本実施の形態では、例えば本撮像システム1の操作者(以下、単に操作者)が不審と判断して目視確認を望んだ物体、例えば置き去られて放置されているカバンが、対象物体20として例示される。あるいは、長期間にわたり放置駐車されている車両、不自然に滞留している人物、体調不良などが原因と思しき転倒している人物も、対象物体20として例示される。
監視領域10には、本撮像システム1において移動体の例示であるドローン200の待機基地30も設置されている。操作者により発進、撮像命令が入力されるまでの間は、その内部に収納され、バッテリーが充電されている。
尚、本実施の形態では対象物体20が、基準撮像装置300と待機基地30から離れている場合を例に説明する。
図1に示すように本撮像システム1においては、操作者が対象物体20を目視確認容易となるように、ドローン200を、待機基地30から対象物体20の位置に向けて発進、飛行させて対象物体20に接近して撮像する。その後、ドローン200は、帰還命令の入力を待って待機基地30に帰還する。
図2に、本撮像システム1におけるセンター側に設置されるセンター側装置100のブロック図を示す。
センター側装置100は、表示装置120、指定入力装置130、及び主装置140から構成されている。なお、主装置140が、情報処理装置の一例である。
表示装置120は、基準画像やドローン200から送信されてきた画像(「移動体画像」)を表示しつつ、指定入力装置130による指定入力時においてUIの機能を構成するモニター装置である。また、表示装置120として、適宜、基準撮像装置300などの解像度、運用が想定される監視領域10の広さなどを考慮した大きさ、解像度のものを選択すれば良い。
指定入力装置130は、表示装置120に表示されている基準画像において、操作者が、対象物体20が写っている対象物領域を、例えば簡単には左上の点と右下の点により特定される矩形にて指定入力する手段である。典型的にはマウスであり、タッチペンやキーボードを備えてもよい。対象物体20の輪郭をそのままなぞるように指定しても良い。指定入力された対象物領域は、後述する主装置通信部110を通じて、ドローン200に送信され、対象物情報2223に記憶される。また、対象物領域は、部分領域の一例である。
指定された対象物領域に含まれる画像は「対象物領域の画像」として以下に延べる各処理に用いられる。また基準画像中における対象物領域の位置(座標情報)は、実際に監視領域10において対象物体20が世界座標表現された位置を求めるのに用いられる。
主装置140は、CPU、ROM、RAM等を備えたコンピューターにて実現され、主装置通信部110を含む各装置との入出力のI/F、主装置処理部150および主装置記憶部160を有する。
主装置通信部110は、ドローン200及び基準撮像装置300の各々との通信インターフェースである。Wi-Fiに代表される閉域無線通信器もしくはLTEに代表される広域無線通信器で構成される。
主装置記憶部160は、ソフトウェアで実現される各手段のプログラム類や各種パラメーター類を記憶するほか、基準撮像パラメーター161と監視領域マップ162を記憶する。
基準撮像パラメーター161は、基準撮像装置300の撮像パラメーターであり、その焦点距離、解像度の他、監視領域10において基準撮像装置300の撮像方向を世界座標表現した値が記憶される。
基準撮像装置300にズームレンズを用い焦点距離の情報が取得できるのであるならば、ズーミングのたびにその焦点距離が更新記憶される。
監視領域マップ162は、その構造が既知であるとして監視領域10を確定する要素の情報の集合である。壁40の他、図示しない建物や屋外保管されている資材について、地面の隅を原点とした世界座標系を定義し、壁や建物などの大きさ、位置などの幾何情報などがBIM(Building Information Model)などのモデル化手法にて表現された情報である。なお、世界座標系は監視領域マップ162のほか、基準撮像パラメーター161や、後述する位置姿勢取得部223など、撮像システム1で共通に使われる。
基準撮像パラメーターと監視領域マップは、本撮像システムの運用が開始された際、初期設定として主装置通信部110を通じてドローン200に送信されて処理に用いられるが、例えば強風や施設保守が理由で基準撮像装置300の向きが変わったり、監視領域10の建物に変化が生じた場合にも、再度、基準撮像パラメーターと監視領域マップはドローン200に送信される。
物体位置算出手段151は、基準撮像パラメーター161及び監視領域マップ162を参照しつつ、システムの操作者が指定入力装置130を操作して指定入力した対象物領域について、監視領域における実際の対象物体20の位置を世界座標表現にて求める手段である。周知の透視投影法を用いてもよい。レンズ歪み情報を考慮しても良い。
対象物体20の位置としては、システムの操作者が基準画像を目視して対象物領域を矩形で指定入力した場合には、四隅の頂点、特に地面に接している側として基準画像中の下側の隅の頂点を選択して世界座標表現する。あるいは、対象物領域の重心を選択してもよい。
なお物体位置算出手段151で求められる物体位置は、基準撮像パラメーターに含まれ得る誤差などが原因で必ずしも十分正確に求められない。これは前述のように、本実施の形態では敷地の1辺が数百メートルというクラスの大型の駐車場を想定しているため、例えば基準撮像装置300の設置時に1度向きがずれると数十メートル先で数メートルの違いになりかねないためである。
従って物体位置算出手段151で求められる対象物体20の位置をそのまま用いてドローン200を向かわせても、対象物体20がそこにあるとは限らないことに注意する。
対象物特徴点抽出手段152は、対象物領域から周知の方法を用いて対象物特徴点を抽出してその周囲から画像特徴量を計算する手段である。局所特徴点は、画像中のエッジやコーナーなどにおいて抽出される。
局所特徴点の抽出と画像特徴量の計算にはORB(Oriented FAST and Rotated BRIEF)と呼ばれる方法を採用すればよい。すなわち、画像中の輝度差を用いて局所特徴量としてのコーナーを検出し、コーナー周辺の特定サイズの矩形領域内の複数の画素ペアについて、輝度の大小をビット列で表すことで画像特徴量とする。
また対象物特徴点抽出手段152は、対象物領域から、例えば明確なコーナーのみの高々数点ではなく数千点程度の対象物特徴点を抽出する。
なお、対象物特徴点抽出手段152の処理は、後述するように基準画像がドローン200に送信されるため、ドローン200の移動体特徴点抽出手段2211にそのまま担わせてもよい。また、対象物領域の画像、対象物特徴点、基準画像における対象物領域の位置は、主装置通信部110を通じてドローン200に送信され、後述する移動体記憶部222に記憶される。
図3にドローン200のブロック図を示す。ドローン200は、例えば、クアッドロータ型の小型無人ヘリコプタである。なお、クアッドロータ型の小型無人ヘリコプタに限定されるものではなく、シングルロータ型の小型無人ヘリコプタについても同様に適用することができる。
ドローン200は、移動体本体220の他、移動体撮像手段210、浮力を発生させる例えば4つのロータ231、及びロータ231を制御して望ましい飛行を実現するためのロータ駆動部230から構成される。
ロータ駆動部230は、その回転軸がそれぞれ対応するロータ231に連結された4つのモータ、およびESC(Electronic speed control)等から構成されている。各モータは、ESCにより独立して回転速度が制御され、各ロータ231が独立して回転することによりドローン200に任意方向の加速度を発生させる。
移動体撮像手段210は、CCDやCMOS撮像素子とレンズで構成されるカメラであり、主装置140から送信された発進命令にしたがい、待機基地30を飛び立った後、ドローン200の周辺、すなわち、監視領域10を撮像して移動体画像を移動体本体220に出力する。
本実施の形態では、ドローン200が対地高度10メートルを移動し、水平距離10メートル先の1メートル四方の地面上の物体の種類が判別できる程度として、1600×1200画素の解像度を持つ撮像素子と、60°の画角を持つ基準焦点レンズを用いるとする。
ズーミング処理が可能であり焦点距離の情報が取得できるのであるならば、ズームカメラを用いてもよい。また撮像範囲を照射する照明装置を備えるのも好適である。
移動体本体220は、図3に示すように移動体記憶部222、移動体処理部221、位置姿勢取得部223、移動体通信部224、及び飛行制御部225を有している。このうちの移動体処理部221が、本発明の判定手段に相当する。
移動体記憶部222の監視領域マップ2221は、主装置140に記憶されている監視領域マップ162と同じである。初期設定として主装置140から送信され記憶される。監視領域の形状(資材の置き方など)が変更されると、それに伴い主装置140から再送信されて監視領域マップ2221も更新される。
ドローン200側にも監視領域マップを記憶するのは、監視領域10においてドローン200自身の位置や姿勢などの情報を求めるのに用いられるからである。
基準撮像画像2222は、主装置140から判定用画像として送信されてきた基準画像を記憶する領域である。基準撮像画像は、後述するように、主に、ドローン200が飛び立って間もなくの頃に、対象物体20が、移動体画像に写っているか否かを判定するために用いられる。
また基準撮像画像2222に対応付けて、基準画像を撮像した時の基準撮像装置300の撮像パラメーターも図示しないバッファ領域に記憶する。
対象物情報2223は、主装置140から送信されてきた、基準画像中の対象物領域、対象物領域から抽出された対象物特徴点、基準画像中における対象物領域の位置を記憶する。
対象物領域は、後述する評価判定手段2216において射影点の集中の評価において行われるブロック分けのブロックサイズの決定に用いられる。
対象物領域から抽出された対象物特徴点は、後述する特徴点選択手段2212において、移動体画像中の特徴点の選択処理に用いられる。
基準画像中における対象物領域の位置は、上記ブロック分けの際のブロックの境目の決定に用いられる。
移動体撮像情報2224は、移動体画像から移動体特徴点抽出手段2211が抽出した移動体特徴点、移動体特徴点それぞれの周囲小領域の画像から算出された画像特徴量、後述する位置姿勢取得部223にて取得したドローン200の監視領域10における世界座標表現された位置と向き情報(姿勢情報)を記憶する。
移動体撮像情報2224に記憶される移動体特徴点と画像特徴量は、後述するように、異なる時刻、すなわち、対象物体20に対して異なる視点にて移動体撮像手段210が撮像し、移動体特徴点抽出手段2211が抽出した特徴点どうしの対応を取り3次元座標を求めるための、過去の移動体画像から抽出された移動体特徴点と画像特徴量である。
これは、移動体特徴点について監視領域10における世界座標表現された3次元座標を求めるが、それにあたりいわゆるステレオ画像の技術(3次元計測)を用い、そのためには現時刻の移動体画像の他に1枚以上の移動体画像が必要になるためである。
なお、ドローン200自体がホバリングをして位置をほとんど変化させない場合には、3次元計測が難しくなるため、単に過去の移動体画像というより、一定の視差がある過去の移動体画像から抽出された移動体特徴点と画像特徴量が好ましい。
これらの情報は、一定の視差がある移動体画像が新たに取得されると更新されることになる。
判定済移動体画像2225は、後述する評価判定手段2216において、対象物体20が写っていると過去に判定された移動体画像である。
これはドローン200が発進後、対象物体20に近づくにつれて移動体画像に写っている対象物体20の大きさが、基準画像に写っている対象物体20の大きさと違いすぎてしまい、後述する特徴点選択手段2212において、判定用画像として基準画像を使うのが不適切になるため、基準画像の代わりに、判定済移動体画像が、判定用画像として特徴点選択手段2212において用いられる。
また同様の理由で後述する3D座標射影手段2215において、射影先の画像として基準画像が不適切になるため、基準画像の代わりに判定用画像として判定済移動体画像が用いられる。
移動体撮像情報2224には、更に、判定済移動体画像中の対象物体20が写っている対象物領域と、その領域から抽出された対象物特徴点を記憶する。
位置姿勢取得部223は、各処理時刻においてドローン200自身の監視領域10における世界座標表現された位置と姿勢情報を取得する手段である。
位置姿勢取得部223は、内部に、GNSS(Global Navigation Satellite System)等の航法衛星(人工衛星)から送信される電波(航法信号)を受信する受信機、加速度を計測する加速度センサ、方位を計測する電子コンパスおよび角速度を計測するジャイロセンサ、高度を計測する気圧センサを有する。他のセンサー類を備えても良い。
そして、位置姿勢取得部223は、それらのセンサー類を統合してドローン200の位置を計算する。
移動体特徴点抽出手段2211は、移動体撮像手段210が撮像した移動体画像から、主装置140の対象物特徴点抽出手段152と同様な処理で移動体特徴点を抽出する手段である。
抽出する移動体特徴点の数は、1600×1200画素の移動体画像に対して、数万点とする。これは、数が少なくても精度の良い特徴点、すなわち、対象物体から的確に抽出された特徴点を丁寧に処理していくのではなく、まずは抽出漏れを防ぐべく大量に抽出しておき適宜処理の過程で条件を満たさない特徴点を処理対象から外していくという考えに基づく。
特徴点選択手段2212は、移動体特徴点抽出手段2211が抽出した移動体特徴点の中から、後述するように3次元座標を計算するのに用いる移動体特徴点を選択する手段である。
移動体特徴点抽出手段2211が抽出する特徴点数は前述の通り数万点ある。これらは必ずしも移動体画像中における対象物体20の画像に一致して抽出された特徴点とは限らない。従って機械的に全ての特徴点について3次元座標を計算することは意味が無いため、操作者により対象物体が写っていると指定された対象物領域から抽出された対象物特徴点と対応が付く移動体特徴点を選択する。
そのために特徴点選択手段2212は、それぞれの移動体特徴点を含む周囲の小領域から求めた画像特徴量と、対象物情報に記憶されている対象物特徴点と対象物領域を読み出して対象物特徴点を含む周囲の小領域から求めた画像特徴量とを比較し、程度は問わずに最も類似していると判定された特徴点どうしを対応づけて、対応付けられた移動体特徴点を「追跡特徴点」として以後の処理の対象とする。
つまり、対象物特徴点それぞれに対して移動体特徴点のいずれかを追跡特徴点として必ず選択することとする。これは、基準撮像装置300とドローン200の移動体撮像手段210の撮像角度に差があることも鑑みると特徴量が変化してしまい、対応付けが難しくなるものの、その中でもなるべく類似しているものを選択する意図である。また、一旦は強制的にでも大量に対応付けて後続の処理で不適切な対応関係は処理から外していくこととする。一方、対応付かなかった移動体特徴点を積極的に削除するわけではない。
即ち、移動体特徴点抽出手段2211から抽出された数万点の移動体特徴点のうち、対象物特徴点と同数の数千点が追跡特徴点として選択されることになる。
なお、以上の説明では特徴点選択手段2212は、3次元座標を計算するのに用いる特徴点を選択するにあたって対象物情報2223に記憶されている、基準撮像装置300の画像(判定用画像としての基準画像)の特徴点(対象物特徴点)と対応する移動体画像の特徴点(移動体特徴点)を選択するとしていた。さらに、後述するように移動体画像中の対象物体の大きさと判定用画像としての基準画像の対象物領域の大きさが大きく異なるなどの条件を満たした場合、対象物情報2223に記憶されている対象物特徴点に代え、判定用画像としての判定済移動体画像中の対象物領域の対象物特徴点との対応付け(マッチング)に基づいて3次元座標を計算する特徴点を選択する。
特徴点探索手段2213は、移動体撮像情報2224に記憶されている過去の移動体画像についての移動体特徴点およびその周囲の小領域から求められた画像特徴量を読み出し、現時刻について特徴点選択手段2212において選択された追跡特徴点の周囲の小領域の画像特徴量との類似度を調べて、対応が付く移動体特徴点(「キーフレーム特徴点」)を特定し、追跡特徴点とキーフレーム特徴点とのペアを求める。
前述のように追跡特徴点は数千点あるので、追跡特徴点とキーフレーム特徴点とのペアも数千求められる。また、この場合も画像特徴量どうしの類似度からすると対応付けるのが不適切な場合もあり得るが、特徴点の取りこぼしの防止を重視する観点から追跡特徴点のすべてについてペアを求めることとする。ただし、特徴点の取りこぼしの防止を重視するにしても、全く無関係な特徴点どうしのペアばかりでは、性能劣化を招きかねないので、ステレオ画像技術で周知なエピポーラ拘束条件を課すことにする。すなわち、追跡特徴点について、エピポーラ拘束条件を満たすキーフレーム特徴点を選択してペアにする。
図4に特徴点選択手段2212と特徴点探索手段2213の処理の様子を模式的に示す。なお、図4はドローン200が待機基地30から発進、飛行を開始して間もなくの頃であり、判定用画像としては基準画像が用いられている様子を示している。
図4(a)は、基準撮像装置300が取得した基準画像401であり、ドローン200の基準撮像画像2222に記憶されている画像である。中央付近に対象物体20が写っている。
図4(b)は、移動体撮像手段210が取得した移動体画像402である。これは現時刻に取得されたものとする。中央付近に対象物体20が写っている。
図4(c)は、基準画像401から抽出された対象物特徴点と移動体画像402から抽出された移動体特徴点に対する処理を示している。
符号4010は、基準画像401に写った対象物体20(対象物領域)と、抽出された対象物特徴点(×印参照)とを示している。前述のように実際には数千点が抽出されており、対象物情報2223に記憶されている。
符号4020は現時刻tの移動体画像402に写った対象物体20と、抽出された移動体特徴点(×印参照)とを示している。
符号4021は過去時刻t-nであり、移動体画像402に写った対象物体20と、対象物体20が写っている対象物領域から抽出された移動体特徴点(×印参照)とを示している。前述のように実際には数万点が抽出されており、移動体撮像情報2224に記憶されている。
特徴点選択手段2212は、抽出された移動体特徴点を判定用画像の特徴点と比較して、判定用画像の特徴点に対応する追跡特徴点を選択する。
すなわち、特徴点選択手段2212は、判定用画像が基準画像である間は、符号404に示すように、抽出された移動体特徴点(符号4020の×印)と、対象物情報2223に記憶されている対象物特徴点(符号4010の×印)との対応関係を求める。対応関係は特徴点を中心にした小領域から求めた画像特徴量の類似度に依る。
また、判定済移動体画像が判定用画像に更新された後は、特徴点選択手段2212は、抽出された移動体特徴点と、判定済移動体画像2225に記憶されている移動体画像中の対象物領域の移動体特徴点との対応関係を求める。
これにより移動体画像402から抽出された数万点の移動体特徴点から数千点の「追跡特徴点」が選択されることになる。
そして特徴点探索手段2213は、符号403に示すように、追跡特徴点と、移動体撮像情報2224に記憶されている時刻t-nの数万点ある移動体特徴点との対応関係を調べて、追跡特徴点とキーフレーム特徴点とのペアを、数千ペア特定する。
視差判定手段2214は、特徴点探索手段2213にて求めたペアを用いて、過去の移動体画像と現在の移動体画像とを比較して、特徴点の3次元座標を求めるのに十分な視差となっているか否かを判定する。
そのために視差判定手段2214は、当該数千ペアについて移動体画像中の特徴点どうしの座標値の差について平均値を求め、それが所定の閾値以上になっている場合には、特徴点の3次元座標を求めるのに十分な視差になっていると判定する。
3D座標射影手段2215は、特徴点探索手段2213において求められた特徴点のペアの世界座標表現された3次元座標を求めて判定用画像(基準画像または判定済移動体画像)に射影する手段である。
そのために3D座標射影手段2215は、移動体撮像情報2224に記憶されているドローン200の監視領域10における位置、ドローン200の向き・姿勢、移動体撮像手段210の焦点距離などの情報から、いわゆるステレオ画像の手法に基づいて世界座標系での3次元座標を求める。
そして、主装置140から送信され、移動体記憶部222の図示しないバッファ領域に記憶されている基準撮像パラメーター又は判定済移動体画像に関する撮像パラメーターに基づいて、求めた3次元座標が判定用画像(基準画像または判定済移動体画像)においてどの画素を指すかを求める射影処理を行う。
評価判定手段2216は、判定用画像に射影された射影点の様子に基づいて移動体画像に対象物体が写っているか否かを判定する。射影点は追跡特徴点が射影されたものであり、追跡特徴点は判定用画像の特徴点に対応するとされた移動体特徴点である。つまり、評価判定手段2216は、判定用画像の特徴点に対応するとされた移動体特徴点に基づいて移動体画像に対象物体が写っているか否かを判定する。
この様子を模式的に図5に示す。
図5(a)には、特徴点探索手段2213において求めた特徴点のペアの3次元座標を基準画像501に射影した様子を示している。×印が射影した結果である。これはドローン200が発進して間もなくの頃の様子である。
図5(a)は、判定用画像として基準画像が用いられている場合の理想的な射影の様子を示した模式図である。特徴点選択手段2212において対象物特徴点と対応付いて選択された追跡特徴点が理想的に移動体画像中の対象物体に位置している場合である。
この場合、基準画像501への射影先は対象物領域に一致する。これにより評価判定手段2216は移動体画像に対象物体20が写っていると判定する。
しかし、実際には対象物特徴点に対応付いた追跡特徴点の全てが移動体画像中の対象物体に位置するとは限らない。これは図5(b)に示すように、基準撮像装置300と移動体撮像手段210が監視領域10において対象物体20に対して撮像距離および撮像角度が異なり、それに伴い画像中での対象物体20の見え方が異なるからである。
図5(b)に示すドローン200の位置から移動体撮像手段210が対象物体20を撮像した場合の移動体画像601の例を図6(a)に示す。
図6(a)の移動体画像601に写っている対象物体20の大きさは、図5(a)に示す基準画像501に写っている対象物体と大きさの差が大きい。
見え方の違いにより、特徴点選択手段2212における、対象物特徴点を基に移動体特徴点を選択し追跡特徴点とする処理において、移動体画像中の対象物体上の移動体特徴点が追跡特徴点として選択される可能性が下がることになる。また、対象物特徴点に対して移動体画像中の移動体特徴点は全数探索をすることになり、場合に依っては対象物体とは全く異なる位置の移動体特徴点が選択されることすらあり得る。
これは、特徴点どうしの対応付け(特徴点マッチング)の際に、注目する特徴点を中心に数十画素四方程度の小領域を考え、その内部の画像特徴を比較するからである。即ち図5(a)と図6(a)のように対象物体の大きさが全く異なると、解像度の違いが大きく、同一物体の同一部位から抽出された特徴点どうしであっても小領域の中に含まれる画像は全く異なるものとなってしまい、対応付けられないこと(マッチングミス)を引き起こすからである。
その様子を図6(b)に示す。符号6010は、基準画像501に写った対象物体20(対象物領域)と、抽出された対象物特徴点(×印参照)とを示している。符号6020は現時刻tの移動体画像に写った対象物体20と、抽出された移動体特徴点(×印参照)とを示している。符号6021は過去時刻t-nであり、移動体画像に写った対象物体20と、抽出された移動体特徴点(×印参照)とを示している。
同図からわかるように点線の円で囲った×印の移動体特徴点は対象物体20とは異なる位置であるが、対象物特徴点との対応が付いてしまい、特徴点探索手段2213において3次元座標を求めるためのペアとして選択されてしまう。
全く異なる物体どうしの特徴点をペアとして3次元座標を求めても、意味不明な値となり、基準画像501に射影しても、図6(c)に示すように対象物体20とは離れた画素に射影点が位置しかねない。
そこで図5(a)と図6(a)のように、基準画像501中の対象物体20と移動体撮像手段210の移動体画像中の対象物体20の大きさが大きく異なる場合には、特徴点選択手段2213と3D座標射影手段2215で用いられる判定用画像として、それまでの基準画像に代え、判定済移動体画像に切り替える。
すなわち3D座標射影手段2215は、対象物情報2223に記憶されている基準画像中における対象物領域の大きさと像サイズ判定手段2217にて算出された移動体画像の対象物領域の大きさとの差が一定以上の場合に、判定済移動体画像を判定用画像として用いて、3次元座標の計算と、その判定用画像への射影処理を行う。
その処理を図6と比較しつつ図7を用いて説明する。
図7(a)には、上記差が一定以上の場合の移動体画像701と、抽出された移動体特徴点(×印参照)が示されている。移動体特徴点は大よそ対象物体20付近から抽出されている。
図7(b)は、図6(b)と同じく、移動体画像どうしの特徴点のマッチングを行い、さらに特徴点選択手段2212により3次元座標を求める特徴点を選択する処理を模式的に示している。
符号7010は、判定済移動体画像に写った対象物体20(対象物領域)と、当該領域から抽出された対象物特徴点(×印参照)とを示している。符号7020は現時刻tの移動体画像に写った対象物体20と、抽出された移動体特徴点(×印参照)とを示している。符号7021は過去時刻t-nであり、移動体画像に写った対象物体20と、抽出された移動体特徴点(×印参照)とを示している。
図6(b)と比較すると、特徴点選択手段2212により3次元座標を求めるとして選択された移動体特徴点が対象物体20から離れて特定されることは抑制されていることがわかる。
これは、判定済移動体画像と移動体画像とで対象物体20の像の大きさが大よそ揃っているからである。
そして3D座標射影手段2215は、特徴点選択手段2212により選択された移動体特徴点について3次元座標を求め、判定用画像としての判定済移動体画像に射影する。
評価判定手段2216は、図8(a)に示す判定用画像801のブロック分けをする。なお、図8では、判定用画像として基準画像が用いられている場合を模式的に示している。つまり図8(b)に示すように、対象物情報2223に記憶されている、基準画像中の対象物領域の位置と大きさ、又は移動体記憶部222に記憶されている判定済移動体画像中の対象物領域の位置と大きさを基に、対象物領域全体を含むブロックを1つ確保してブロック分けをする(図8(b)の点線参照)。なお、ブロックが、局所領域の一例である。対象物領域全体を含むブロックにはたくさんの射影点が含まれている。
そして評価判定手段2216は、各ブロックに含まれる射影点の数を計数して、最多のブロックを特定する。
最多のブロックに含まれる射影点の数を、Nmaxとし、3D座標射影手段2215が射影した射影点の総数を、Nallとし、判定用画像の面積に対する局所領域の面積比を、Rとし、集中調整係数をα(例えば10.0)とする。このときに、次式を満たす場合に評価判定手段2216は移動体画像に対象物体20が写っていると判定する。
Nmax > α×R×Nall ・・・・(1)
(1)式は、射影点が完全に満遍なく判定用画像全体に散らばった場合の最多のブロックに含まれ得る射影点に比べてどれだけ多く実際には射影されたかを評価するものとなっている。なお、α×R×Nallが、集中判定用閾値の一例である。
ここまでの説明では移動体画像に対象物体20が写っているとして説明してきたが、ドローン200の向きが不適切で、移動体画像に対象物体20が写っていない場合も形式的に3次元座標を求めることになる。
移動体画像に対象物体20が写っていない場合、3次元座標を判定用画像に射影しても、図8(c)に示すように判定用画像801全体に散らばってしまうため、上記(1)式を満たさない。
尚、上記では判定用画像に対するブロック分けは、1つのブロックは対象物領域と一致するようにしている。これに代え、図8(d)に示すように、1つのブロックの大きさ(幅及び高さをWとする。)は不変としつつも、対象物領域に対して上下左右方向にずらしてブロック分けしてもよい。例えば、ずれ調整係数βを0<β<1.0とし、ブロック分けしたブロックのうちの最多のブロックを、上下方向及び左右方向の少なくとも一方に、β・Wだけずらして、射影点数がより多く、かつ、最多となるブロックを探索してもよい。また、ずらして探索した、射影点数が最多となるブロックの、対象物領域に対するずれ量を規定するずれ調整係数βが閾値(例えば、1.0)未満であり、当該ブロックに含まれる射影点の数が、α×R×Nallより大きい場合に、移動体画像に対象物体が写っていると判定する。なお、ずれ調整係数βについての閾値は、事前に設定パラメーターとして設定しておくが、位置姿勢取得部223の精度により決定される。例えば、内蔵されるGNSSの測定誤差円に応じて、3.0を上限に設定できる。
これは基準撮像パラメーター161に記憶される基準撮像装置300のパラメーターや、移動体撮像情報2224に記憶されるドローン200の位置、姿勢に誤差が含まれるのが不可避だからである。
例えば基準撮像装置300について、設置時に精密に撮像角度を計測して基準撮像パラメーター161に記憶したとしても、僅か1度の誤差が数十メートル先では数十センチ~数メートルになりかねない。
またドローン200の位置、姿勢を把握するためにGNSSやセンサー類を複数併用しているが、それらには一定の誤差が含まれてしまう。
これらの誤差は3D座標射影手段2215における判定用画像への射影に影響し、図8(e)に示すように、射影点は一定の局所領域に集中しつつも判定用画像801中の対象物領域からのずれとして現われる。
よって図8(f)のように、一定範囲までは、射影点が集中するブロックがずれることを許容することが好適である(図8(f)の一点鎖線参照)。
そして評価判定手段2216は、後述するように、更新記憶のタイミングにおいて対象物体が写っていると判定された移動体画像を判定済移動体画像として移動体記憶部222に更新記憶させる。また、その移動体画像の対象物領域を移動体撮像情報2224に記憶させる。
さらには既に判定済移動体画像が記憶された後は、最新の移動体画像に含まれる対象物体の大きさを参照し、記憶済みの判定済移動体画像に写っている大きさとの差が大きくなりすぎた場合に、更新しても良い。
像サイズ判定手段2217は、移動体撮像情報2224に記憶されている移動体撮像手段210の焦点距離(画角)、位置姿勢取得部223が取得したドローン200の監視領域10における位置や対象物体20に対する姿勢を基に、評価判定手段2216が物体20が写っていると判定した移動体画像における対象物体20が写っている対象物領域の大きさを算出する。
本実施の形態においては、基準撮像装置300の焦点距離、撮像方向などの撮像パラメーターが対象物情報2223に記憶されている。また主装置140の物体位置算出手段151は対象物体20の実世界における位置を計算している。
そこで像サイズ判定手段2217は、対象物体20の実際の大きさを求めて、それが移動体画像にどのくらいの大きさで写り込むかを計算することにより、評価判定手段2216が物体20が写っていると判定した移動体画像における対象物体20が写っている対象物領域の大きさを算出する。
なお、対象物体20が写っている対象物領域およびその大きさは、評価判定手段2216が移動体画像に対象物体20が写っていると判定したときの、判定用画像の対象物領域内に射影された移動体特徴点の、移動体画像における外接矩形から求められる。
そして求めた対象物体20が写っている対象物領域およびその大きさは移動体撮像情報2224に記憶される。
以下、フロー図を用いて本発明にかかる撮像システム1の動作について説明する。
図9は、センター側に設置されている主装置140の動作を示すフロー図である。
まずシステムの操作者は、例えば何らかの警報装置の鳴動や、表示装置120の目視確認により監視領域10に対象物体20が存在していることを知覚して、拡大表示させたいと思ったところからスタートする。
尚、予め基準撮像パラメーター161には基準撮像装置300の焦点距離や世界座標表現された位置や撮像方向が記憶され、監視領域マップ162には監視領域10の形状情報が記憶されているとする。また、基準画像が、主装置140に逐次送信され、表示装置120に表示されている。
まずステップS100にて、システムの操作者は、表示装置120を目視確認し、基準画像上において、対象物体20を表す領域を、指定入力装置130を操作して指定する。典型的には対象物体20を表す領域を、外接矩形にて指定する。指定した領域の内部の画像が対象物領域の画像となる。
ステップS105にて、対象物特徴点抽出手段152は、対象物領域から周知の方法にて対象物特徴点を抽出する。対象物特徴点の数は例えば数千点程度である。
ステップS110にて、物体位置算出手段151は、基準撮像パラメーター161を参照しつつ、基準画像に写った対象物体20の、監視領域10における世界座標表現された位置を計算する。
ステップS120にて、主装置140は、主装置通信部110を通じて、基準画像、ステップS110にて求めた対象物体20の位置の世界座標、及び基準画像における対象物領域の画像やその領域情報をドローン200に送信する。
ステップS130にて、操作者により指定入力装置130を操作して入力された制御命令として、対象物体20の位置の世界座標に向かうための離陸発進命令を、主装置通信部110を通じてドローン200に送信する。
ステップS140にて、ドローン200から新しい移動体画像が送信されたか否かを判定する。ドローン200から適宜新しい移動体画像が送信されてくると(ステップS140のYesの分岐)、ステップS150にて、主装置140はその画像を表示装置120に更新表示する。一方、新しい移動体画像が送信されてくるまでの間は、1枚前の移動体画像を表示し続ける(同Noの分岐)。
ステップS160にて、主装置140は、指定入力装置130を操作した操作者によりドローン200の帰還命令が入力されたか否かを判定する。
指定入力装置130を操作した操作者によりドローン200の帰還命令が入力されると(ステップS160のYesの分岐)、ステップS170にて、帰還命令を示す制御信号が主装置通信部110を通じてドローン200に送信される。入力されないと、ステップS140に戻り新しい移動体画像が送信されてくるのを待つ(ステップS160のNoの分岐)。
図10はドローン200の動作を示すフロー図である。図10に示すステップS310の前に、ドローン200自身は図9のステップS130に示した離陸発進命令を受けて飛び立っているとする。
ステップ310にて、移動体処理部221は、基準撮像画像2222に記憶されている基準画像を判定用画像とする。
ステップS320にて、位置姿勢取得部223は、GNSS技術や図示しないセンサー類(高度センサーや方位センサー、角度センサーなど)の出力を参照して、例えば監視領域10の隅を原点として定義された世界座標系におけるドローン200の位置、姿勢(撮像方向や傾き)を算出する。
ステップS330にて、主装置140の物体位置算出手段151が計算した対象物体20の位置の世界座標を考慮に入れつつ、飛行制御部225は、ドローン200を監視領域10において対象物体20に近づけるべく制御信号をロータ駆動部230に出力する。
ステップS340にて、適宜各時刻におけるそれぞれのドローン200の位置において移動体撮像手段210は撮像して、取得した移動体画像を移動体本体220の移動体処理部221に出力する。
そして移動体特徴点抽出手段2211は、移動体画像から周知の方法にて移動体特徴点を抽出する。また抽出した移動体特徴点の周囲の小領域の画像を抽出してもよい。
ステップS350にて、移動体記憶部222の移動体撮像情報2224に既に各種情報が記憶済みであるか否かを判定する。ステップS340の処理が最初の移動体画像についてである場合(ステップS350にて「無し」の分岐の場合)には、ステップS530に進み、抽出した移動体特徴点、その移動体画像または抽出した小領域の画像、ステップS320にて求めたドローン200の位置と姿勢を、移動体記憶部222の移動体撮像情報2224に新規記録する。
ステップS360にて、移動体処理部221は、移動体記憶部222に判定済移動体画像が記憶されているか否かを調べる。
移動体記憶部222に判定済移動体画像が記憶されていない場合(ステップS360にてNoの分岐の場合)、ドローン200が離陸発進直後で、例えば対象物体20が移動体画像の視野外になっていて、写っていると判定されたことが無いことを意味する。そこで、図9の主装置140のフロー図(ステップS105)にて抽出された対象物領域の画像の対象物特徴点を用いて、特徴点選択手段2212の処理をすべく、ステップS380に進む。
ステップS360にて、移動体記憶部222に判定済移動体画像が記憶されている場合(ステップS360にてYesの分岐の場合)、一旦は移動体画像に対象物体20が写っていると判定された実績があることを意味している。
そこで、ステップS370にて、移動体特徴点抽出手段2211は、記憶されている判定済移動体画像中の対象物体20が写っている対象物領域から移動体特徴点を抽出する処理を行い(あるいは判定済移動体画像を記憶するときに、対象物領域から移動体特徴点を抽出しておいて同時に移動体記憶部222に記憶させることとして)、それを対象物特徴点とする。
ステップS380にて、特徴点選択手段2212は、ステップS340にて抽出された移動体画像の移動体特徴点のうち、対象物特徴点に対応するものを選択し、追跡特徴点とする(図6(b)、図7(b)参照。時刻tにおける移動体特徴点を選択する。)。
ステップS390にて、特徴点探索手段2213は、ステップS380にて選択された追跡特徴点と対応する、移動体撮像情報2224に記憶されている過去の移動体画像の移動体特徴点を選択し、キーフレーム特徴点とする(図6(b)、図7(b)参照。時刻t-nにおける移動体画像の移動体特徴点を選択する。)。
ステップS400にて、視差判定手段2214は、ステップS390にて選択されたキーフレーム特徴点と、それに対応しステップS380にて選択された追跡特徴点とのペア(例えば数千ペア)の移動体画像上での距離の平均値を、視差として求める。ステップS410にて、視差が一定以上であるか否かを判定し、視差が一定未満の場合(ステップS410でNoの分岐の場合)には、ドローン200の移動量が少なくステレオ画像の技術にて特徴点の3次元座標を求めるのは不適切であるとして処理をステップS320に移す。
距離の平均値が一定以上の場合(ステップS410でYesの分岐の場合)、特徴点の3次元座標を求めるのに十分精度が確保できる視差であるとしてステップS420に進む。
ステップS420にて、3D座標射影手段2215は、ステップS390にて特徴点探索手段2213により視差が確保された2枚の移動体画像から抽出され対応が付いた特徴点どうしそれぞれについて、追跡特徴点(図6(b)、図7(b)を参照。時刻tにおける移動体特徴点)の3次元座標(世界座標表現)を計算する。これにあたっては、監視領域マップ2221、移動体撮像情報2224などに記憶されている情報を適宜参照して、いわゆるステレオ画像の手法にて求めればよい。
ステップS430にて、移動体処理部221は、移動体撮像情報2224に記憶されている移動体画像中の対象物体20の大きさと対象物情報2223に記憶されている基準画像中の対象物領域の大きさを比較して、その相違度が一定以上大きいか否かを調べる。
相違度が小さい場合(ステップS430にてNoの分岐の場合)、ステップS440にて、基準撮像画像2222に記憶されている基準画像を判定用画像とする。
ステップS430にて、相違度が大きい場合(ステップS430にてYesの分岐の場合)には、ステップS450にて、記憶されている判定済移動体画像を、判定用画像とする
ステップS460にて、3D座標射影手段2215は、ステップS420において求められた追跡特徴点の3次元座標を判定用画像に射影する(図8(a)参照)。
ステップS470にて、評価判定手段2216は、追跡特徴点が射影された判定用画像をブロック分けする。初期段階では、主装置140から送信されてきた基準画像が、判定用画像とされる。この場合、1つのブロックの大きさは、ステップS100にて指定入力された対象物体20についての対象物領域の大きさに一致させる。1つのブロックを、対象物領域に一致させるとそれに応じて順次他のブロックを定義する(図8参照)。判定済移動体画像が、判定用画像となっている場合には、1つのブロックの大きさは、判定済移動体画像の対象物領域の大きさに一致させる。この対象物領域とその大きさは、移動体撮像情報2224に記憶されている。
そして、各ブロックごとに、含まれる射影点を計数して最多のブロックと射影点数を特定する。
ステップS480にて、最多のブロックに含まれる射影点数が一定以上であり、かつそのブロックが判定用画像中の対象物領域と重なり、ずれ量が所定の範囲内(図8(d)~(f)参照)であるか否かを判定する。最多のブロックに含まれる射影点数が一定以上であり、かつそのブロックが判定用画像中の対象物領域と重なり、ずれ量が所定の範囲内の場合(ステップS480のYesの分岐の場合)には、ステップS490にて、最新の移動体画像には対象物体20が写っていると判定する。また、その旨を主装置140に送信する。
ステップS500では、判定済移動体画像の更新タイミングであるか否かを判定する。例えば、対象物体20が写っていると判定された移動体画像に含まれる対象物領域の大きさを参照し、判定用画像(基準画像又は記憶済みの判定済移動体画像)に写っている対象物領域の大きさとの差が閾値を超えた場合、判定済移動体画像の更新タイミングであると判定し(ステップS500のYesの分岐)、ステップS510にて、対象物体20が写っていると判定された移動体画像を、判定済移動体画像として新規記憶又は更新記憶し、その移動体画像の対象物領域から抽出された対象物特徴点を移動体撮像情報2224に更新記憶する。なお、対象物体20が写っていると判定された移動体画像に含まれる対象物領域の大きさは、判定用画像の対象物領域内に射影された移動体特徴点の、対象物体20が写っていると判定された移動体画像における外接矩形から求めればよい。
一方、対象物体20が写っていると判定された移動体画像に含まれる対象物領域の大きさを参照し、記憶済みの判定済移動体画に写っている対象物領域の大きさとの差が閾値以下である場合、判定済移動体画像の更新タイミングでないと判定し(ステップS500のNoの分岐)、ステップS520へ移行する。
なお、一定時間経過したか否かや、監視領域10におけるドローン200の位置に基づいて、更新タイミングであるか否かを判定するようにしてもよい。
ステップS520にて、移動体処理部221は、最新の移動体画像を主装置140に送信する。
なお、移動体画像に対象物体20が写っていると判定され、その対象物領域の大きさが、判定用画像の対象物領域の大きさよりも所定以上小さい場合には、基準画像を判定用画像として再設定しても良い。これはドローン200の飛行制御の過程で、ドローンが対象物体20より離れてしまった場合にも、判定精度を確保するためである。さらには一定時間以上にわたり、移動体画像に対象物体20が写っていないと判定され続けた場合にも基準画像を判定用画像として再設定してもよい。
ステップS530にて、ステップS340にて抽出した移動体画像の移動体特徴点、移動体画像そのものまたは移動体特徴点の周囲の小領域の画像情報、ステップS320にて計算したドローン200の位置や姿勢などを移動体撮像情報2224として更新記憶する。
ステップS540にて、主装置140から、待機基地30への帰還命令を受信したか否かを判定する。主装置140から、待機基地30への帰還命令が受信されていると(ステップS540のYesの分岐)、ステップS550にて、飛行制御部225は監視領域マップ2221を参照しつつ待機基地30へ戻るべくロータ駆動部230へ制御信号を出力する。帰還命令が受信されていない場合(ステップS550のNoの分岐の場合)には、処理をステップS320に戻し撮像などの処理を継続する。
以上説明してきたように、本発明の実施の形態に係る撮像システム1では、移動体であるドローン200が、所定の視差を有する複数の撮像位置にて移動体撮像手段により取得された複数の移動体画像からそれぞれ移動体特徴点を抽出して、3次元計測を行い移動体特徴点の3次元座標を求め、3次元座標を、基準画像又は判定済移動体画像である判定用画像に射影し射影点を求める。ドローン200が、判定用画像中の対象物領域に対応するブロック内に含まれる射影点の数が、集中判定用閾値より大きい場合に、移動体画像に対象物体が写っていると判定する。これにより、移動体の移動に伴い移動体画像における対象物体の大きさが変わっても、移動体画像に、対象物体が写っているか否かを精度よく判定することができる。
<変形例>
以上、本発明の好適な実施形態について説明してきたが、本発明はこれらの実施形態に限定されるものではない。例えば、像サイズ判定手段は、基準画像を撮像したときの基準撮像装置の焦点距離、移動体画像を撮像したときの移動体撮像手段の焦点距離、基準画像を撮像したときの基準撮像装置から対象物体までの距離、及び移動体画像を撮像したときの移動体撮像手段から対象物体までの距離に基づいて、対象物領域のサイズと移動体記憶手段に記憶された移動体画像に写っている対象物体のサイズとの比を、基準画像中の対象物体が写る対象物領域のサイズと撮影手段が撮影した移動体画像に写っている対象物体のサイズとの相違度として計算する相違度推定手段を備えていてもよい。この場合には、移動体画像に写っている対象物体のサイズを求めずに、それぞれのカメラの焦点距離と、実世界における物体までの距離とから、サイズ比を求め、サイズ比が一定以上であれば、判定済移動体画像を、判定用画像として用いるようにすればよい。
ここで、焦点距離情報とは、1m先にある1mサイズの物体を撮像した場合に、画像上で何ピクセル(px)に映るかを示すものである。カメラaの焦点距離を、Pa[px]とし、カメラbの焦点距離を、Pb[px]とし、カメラaから対象物体までの距離をDa[m]とし、カメラbから同じ対象物体までの距離をDb[m]とし、当該対象物体の実際のサイズをS[m]とした場合、以下の式が得られる。
カメラaの画像中の対象物体のサイズ=(S×Pa)/Da
カメラbの画像中の対象物体のサイズ=(S×Pb)/Db
カメラaの画像に対するカメラbの画像の対象物体のサイズ比=(S×Pb/Db)÷(S×Pa/Da)=(Pb×Da)/(Pa×Db)
上式より、対象物体の実際のサイズSが未知でも、画像上のサイズ比を相違度として求めることができる。
また、移動体画像から特徴点を抽出する機能、特徴点の3次元座標を求めて判定用画像に射影する機能、局所領域の射影点数から対象物体が移動体画像に写っているか否かを判定する機能を、主装置140が備えるように構成してもよい。この場合、ドローン200が、移動体撮像手段によって撮像された移動体画像を逐次主装置140へ送信し、主装置140が、移動体処理部221の各手段を備えるようにすればよい。
また、移動体の一例としてドローンを用いる場合を例に説明したが、これに限定されるものではなく、移動体撮像手段を備えていれば、ドローン以外の移動体を対象としてもよい。
また、上記の実施形態では、基準撮像装置が固定設置された場合について説明したが、これに限られない。例えば、ドローンを複数用いるものとして、基準撮像装置は移動体撮像手段を備えるドローンとは異なるドローンに備わるものとし、基準撮像装置が移動してもよい。その場合、適宜撮像パラメーターや監視領域における世界座標表現された各ドローンの位置が把握できるものとする。
また、上記の実施形態では、移動体としてドローン、つまり飛行型ロボットを例示したが、これに限られない。飛行制御部やロータなどに代え、走行制御部や車輪などを備える床面走行型ロボットにも適用できる。
さらには、飛行型ロボットや床面走行型ロボットではなく、容易に可搬できる程度に小型化すれば、警備員が装着するウェアラブル撮像装置を、移動体として構成してもよい。
また、上記の実施形態では、ドローンに基準画像と対象物領域の画像を送信する場合を例に説明したが、これに限定されるものではない。例えば、基準画像を目視確認した操作者により指定された対象物領域をそのままドローンに送信してもよい。送信された対象物領域の情報(位置、大きさ)は対象物情報2223に記憶されるものとし、射影点は基準撮像装置の撮像面に射影されることとしてもよい。
以上のように、当業者は本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。