(57)【要約】【課題】撮像カメラのスループットに制限されることなく高いスループットで移動体の三次元位置情報を得る。【解決手段】  移動体を撮像する第一の撮像手段と、移動体を第一の撮像手段とは異なる視点から撮像する第二の撮像手段と、第一のフレーム時刻に第一の撮像手段により撮像された第一の画像と該第一のフレーム時刻以後の第二のフレーム時刻に第二の撮像手段により撮像された第二の画像と該第二のフレーム時刻以後の第三のフレーム時刻に第一の撮像手段により撮像された第三の画像とをそれぞれ取得する画像取得手段と、第一の画像と第二の画像とをステレオ画像処理することにより移動体の第一の三次元位置情報を算出し、第二の画像と第三の画像とをステレオ画像処理することにより移動体の第二の三次元位置情報を算出するステレオ画像処理手段と、第一の三次元位置情報と第二の三次元位置情報とから移動体の推定三次元位置情報を算出する算出手段とを具備する。【選択図】図１
2006338203.tif 000002
【特許請求の範囲】
【請求項１】
移動体を撮像する第一の撮像手段と、
前記移動体を前記第一の撮像手段とは異なる視点から撮像する第二の撮像手段と、
第一のフレーム時刻に前記第一の撮像手段により撮像された第一の画像と該第一のフレーム時刻以後の第二のフレーム時刻に前記第二の撮像手段により撮像された第二の画像と該第二のフレーム時刻以後の第三のフレーム時刻に前記第一の撮像手段により撮像された第三の画像とをそれぞれ取得する画像取得手段と、
前記第一の画像と前記第二の画像とをステレオ画像処理することにより前記移動体の第一の三次元位置情報を算出し、前記第二の画像と前記第三の画像とをステレオ画像処理することにより前記移動体の第二の三次元位置情報を算出するステレオ画像処理手段と、
前記第一の三次元位置情報と前記第二の三次元位置情報とから前記移動体の推定三次元位置情報を算出する算出手段とを具備する画像処理装置。
【請求項２】
前記画像取得手段は、前記第一のフレーム時刻と前記第三のフレーム時刻の中間の時刻に相当する第二のフレーム時刻に前記第二の撮像手段により撮像された画像を前記第二の画像として取得する請求項１記載の画像処理装置。
【請求項３】
前記第一の三次元位置情報は前記移動体までの第一の距離を表し、前記第二の三次元位置情報は前記移動体までの第二の距離を表しており、
前記算出手段は、前記第一の距離と前記第二の距離との平均値を前記移動体の推定三次元位置情報として算出する請求項１又は２記載の画像処理装置。
【請求項４】
前記ステレオ画像処理手段は、前記第一の画像上の任意点に対応する前記第二の画像上の第一の対応点を探索することにより第一の視差を計測し、該第一の視差に基づいて前記第一の三次元位置情報を算出し、前記第二の画像上の任意点に対応する前記第三の画像上の第二の対応点を探索することにより第二の視差を計測し、該第二の視差に基づいて前記第二の三次元位置情報を算出する視差計測手段を具備する請求項１乃至３のいずれかに記載の画像処置装置。
【請求項５】
前記視差計測手段は、前記第一及び第二の対応点のそれぞれをブロックマッチングにより探索する請求項４記載の画像処理装置。
【請求項６】
移動体を第一の撮像手段により撮像する第一の撮像ステップと、
前記移動体を前記第一の撮像手段とは異なる視点から第二の撮像手段により撮像する第二の撮像ステップと、
第一のフレーム時刻に前記第一の撮像手段により撮像された第一の画像と該第一のフレーム時刻以後の第二のフレーム時刻に前記第二の撮像手段により撮像された第二の画像と該第二のフレーム時刻以後の第三のフレーム時刻に前記第一の撮像手段により撮像された第三の画像とをそれぞれ取得する画像取得ステップと、
前記第一の画像と前記第二の画像とをステレオ画像処理することにより前記移動体の第一の三次元位置情報を算出し、前記第二の画像と前記第三の画像とをステレオ画像処理することにより前記移動体の第二の三次元位置情報を算出するステレオ画像処理ステップと、
前記第一の三次元位置情報と前記第二の三次元位置情報とから前記移動体の推定三次元位置情報を算出する算出ステップとを具備する画像処理方法。
【請求項７】
前記画像取得ステップにおいて、前記第一のフレーム時刻と前記第三のフレーム時刻の中間の時刻に相当する第二のフレーム時刻に前記第二の撮像手段により撮像された画像を前記第二の画像として取得する請求項６記載の画像処理方法。
【請求項８】
前記第一の三次元位置情報は前記移動体までの第一の距離を表し、前記第二の三次元位置情報は前記移動体までの第二の距離を表しており、
前記算出ステップにおいて、前記第一の距離と前記第二の距離との平均値を前記移動体の推定三次元位置情報として算出する請求項６又は７記載の画像処理方法。
【請求項９】
前記ステレオ画像処理ステップにおいて、前記第一の画像上の任意点に対応する前記第二の画像上の第一の対応点を探索することにより第一の視差を計測し、該第一の視差に基づいて前記第一の三次元位置情報を算出し、前記第二の画像上の任意点に対応する前記第三の画像上の第二の対応点を探索することにより第二の視差を計測し、該第二の視差に基づいて前記第二の三次元位置情報を算出する請求項６乃至８のいずれかに記載の画像処置方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数カメラを用いて異なるフレーム時刻に撮影された画像を画像処理することにより、対象物の三次元位置情報を算出する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
人物に追従する移動ロボットの視覚処理系に関して種々の研究開発が進められている。移動ロボットが人物等の移動体に追従するよう移動するとき、視覚処理系はまず移動体を撮像してその三次元位置を画像処理により計測する。この計測結果に従って、ロボットは移動のための駆動系の制御量等を算出する。
【０００３】
従来、監視システム等で用いられてきた背景差分による人物検出技術や、画像処理により人物の頭部を認識する技術が知られており、これらの技術を移動ロボットの視覚処理系に応用することが考えられる。しかしながら、ロボットの移動により背景画像は大きく変化することから、背景差分法は移動ロボットの視覚処理系には適さない。また、人との位置関係や遮蔽などで追従対象の頭部が必ずしもロボットの視界内にとらえられるとは限らないことから、人物の頭部認識技術も有効ではない。移動ロボットが人間の生活空間内で活動することを考慮すると、処理対象のデータを削減して高速に処理できることが必要である。
【０００４】
ここで、複数カメラを用いて異なるフレーム時刻（シャッタータイミング）に撮影された画像を画像処理することにより、対象物の三次元位置情報を高速に算出する技術が知られている（例えば下記非特許文献１）。
【非特許文献１】清水彰一，藤吉弘亘，”カメラ間のシャッタータイミングのずれを利用した高速三次元位置推定”，Ｐｒｏｃ．  ｏｆ  ＭＩＲＵ２００４，ｖｏｌ．１，ｐｐ．４２８−４３３，Ｊｕｌｙ，２００４．
【発明の開示】
【発明が解決しようとする課題】
【０００５】
複数のカメラで撮像時刻を同期して移動体を撮像し、これにより同一のフレーム時刻に得られる画像の対をステレオ画像処理することにより移動体の三次元位置情報を求める従来の構成では、ステレオ画像処理のスループットは、該移動体を撮像するカメラのフレームレートに依存して制限されてしまうという問題点がある。処理結果を制御系の入力情報として用いるようなシステムにおいて、画像処理のスループットは対象の動きに対する反応性能を決定付ける重要な要素である。
【０００６】
そこで本発明は、移動体の三次元位置情報を撮像カメラのスループットに制限されることなく高いスループットで得ることのできる画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一観点に係る画像処理装置は、移動体を撮像する第一の撮像手段と、前記移動体を前記第一の撮像手段とは異なる視点から撮像する第二の撮像手段と、第一のフレーム時刻に前記第一の撮像手段により撮像された第一の画像と該第一のフレーム時刻以後の第二のフレーム時刻に前記第二の撮像手段により撮像された第二の画像と該第二のフレーム時刻以後の第三のフレーム時刻に前記第一の撮像手段により撮像された第三の画像とをそれぞれ取得する画像取得手段と、前記第一の画像と前記第二の画像とをステレオ画像処理することにより前記移動体の第一の三次元位置情報を算出し、前記第二の画像と前記第三の画像とをステレオ画像処理することにより前記移動体の第二の三次元位置情報を算出するステレオ画像処理手段と、前記第一の三次元位置情報と前記第二の三次元位置情報とから前記移動体の推定三次元位置情報を算出する算出手段とを具備する画像処理装置。
【発明の効果】
【０００８】
本発明によれば、移動体の三次元位置情報を撮像カメラのスループットに制限されることなく高いスループットで得ることのできる画像処理装置及び画像処理方法を提供できる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照しながら本発明の実施形態を説明する。
【００１０】
図１は、本発明の一実施形態に係る画像処理装置（視覚処理系）を示すブロック図である。本実施形態は、図２に示すようなロボット１に本発明を適用したものである。ロボット１は、複数の撮像装置（カメラ）１０１ａ〜１０１ｂ、アーム３、車輪４等を備え、これらは図示しない制御部によって制御される。このようなロボット１がアーム３で物を掴んだり、特定の人物を追いかけ続けたりといったタスクを行う場合に、ロボット１はこれら移動体（対象物）の三次元位置情報を得ることが必要である。本実施形態は、この三次元位置情報の生成を比較的簡単な装置構成及び画像処理により実現するものである。
【００１１】
本発明の実施にあたり複数の撮像装置が必要であるが、図１及び図２の構成では２台の撮像装置１０１ａ〜１０１ｂを用いるものとする。また、２つの撮像装置間の位置関係は既知であるものとする。移動体を撮像する撮像装置１０１ａに対し撮像装置１０１ｂは異なる視点から該移動体を撮像する。
【００１２】
映像信号切り替え部１０２は、２台の撮像装置１０１ａ〜１０１ｂの各々から出力される映像信号を交互に切り替えて画像取得部１０３に供給する。画像取得部１０３は映像信号切り替え部１０２からの映像信号を入力し、コンピュータで処理しやすいディジタルの画像データに変換する。これにより、フレーム時刻が異なる対象物の複数の画像が本実施形態の画像処理装置に取り込まれる。
【００１３】
具体的には、第一の撮像周期における第一のフレーム時刻に撮像装置１０１ａにより撮像された第一の画像の画像データと、この第一の撮像周期に対して時間ずれを有する第二の撮像周期における第二のフレーム時刻に撮像装置１０１ｂにより撮像された第二の画像の画像データと、上記第一の撮像周期における上記第二のフレーム時刻以後の第三のフレーム時刻に撮像装置１０１ａにより撮像された第三の画像の画像データとがそれぞれ連続的に取得される。
【００１４】
画像記録部１０４は、画像取得部１０３を介して得られた画像データを一時的に記録する。画像記録部１０４は、少なくとも撮像装置１０１ａ〜１０１ｂの各々により撮像された１フレーム前の画像データを参照できるように記録保持動作を行う。
【００１５】
ステレオ画像処理部１０５，１０６は画像取得部１０３を介して得られた画像データをステレオ画像処理することにより移動体の三次元位置情報を算出する。ステレオ画像処理においては、２台の撮像装置１０１ａ〜１０１ｂで撮影された画像間での視差を計測する。視差計測においては、ブロックマッチング処理により画像間の対応点探索を行う。
【００１６】
推定三次元位置情報算出部１０７は、ステレオ画像処理部１０５、１０６によりそれぞれ算出された移動体の三次元位置情報に基づいて、該移動体の推定三次元位置情報を算出する。この算出において、ステレオ画像処理部１０５により算出された一方の三次元位置情報が表す第一の距離と、ステレオ画像処理部１０６により算出された他方の三次元位置情報が表す第二の距離との平均値を該移動体の推定三次元位置情報とする。制御部１０９は推定三次元位置情報算出部１０８により得られた移動体の推定三次元位置情報からロボット１の制御量を求める。
【００１７】
図１において、２台の撮像装置１０１ａ〜１０１ｂ及び映像信号切り替え部１０２を除く構成要素は同図に示すようにコンピュータ１１０として実現される。
【００１８】
図３は本発明の一実施形態に係る非同期ステレオ画像処理の概念図である。
【００１９】
本実施形態のように例えば２台の撮像装置１０１ａ〜１０１ｂを備える場合、上記のように撮像装置間で半周期（１／２周期）の時刻ずれが生じるように画像取り込みを行う。こうして撮影される非同期画像系列において、撮像装置１０１ａのフレーム時刻ｔの画像ｆ１と撮像装置１０１ｂのフレーム時刻ｔ＋０．５Δｔの画像ｆ２との組、撮像装置１０１ｂのフレーム時刻ｔ＋０．５Δｔの画像ｆ２と撮像装置１０１ａのフレーム時刻ｔ＋Δｔの画像ｆ３との組、撮像装置１０１ａのフレーム時刻ｔ＋Δｔの画像ｆ３と撮像装置１０１ｂの時刻ｔ＋１．５Δｔの画像ｆ４との組．．．というようにフレーム時刻が異なる画像の対を組み合わせてステレオ画像処理をする。
【００２０】
すると、撮像装置１０１ａから撮像装置１０１ｂへの順でのステレオ視で得られる三次元座標の結果Ｄ１，Ｄ２，Ｄ３．．．は同期撮影した場合に得られる真値よりも遠く、撮像装置１０１ｂから撮像装置１０１ａへの順での結果Ｄ４，Ｄ５．．は近くなる（もしくは遠近が逆転した結果になる。これは撮像装置間の位置関係と対象物の移動方向により決まる)。
【００２１】
そこで、連続する２つのステレオ視の結果（例えばＤ１とＤ４，Ｄ４とＤ２，Ｄ２とＤ５）を平均して三次元座標の推定値Ｅ１，Ｅ２，Ｅ３，Ｅ４．．．とする。これにより、撮像装置が２台の場合は実質２倍のフレームレートでのステレオ画像処理が可能になる。尚、移動体の推定される軌跡と実際の軌跡との差は図３では誇張して示してある。
【００２２】
図４は本発明の一実施形態に係る非同期ステレオ画像処理手順を示すフローチャートである。ここでは、撮像された非同期画像系列から一つの推定三次元位置情報を算出する手順を説明する。
【００２３】
先ずＳＴ１では、映像信号切り替え部１０２を介して撮像装置１０１ａ〜１０１ｂから画像データを取得する。映像信号切り替え部１０２は、撮像装置を１台ずつ交互に切り替えながら画像データの取り込みを行う。映像信号の切り替えには一定の時間を要するために、２台の撮像装置１０１ａ〜１０１ｂから得られる２つの画像データの撮影時刻（フレーム時刻）には「ずれ」が生じる。尚、信号の切り替えに要する時間は常に一定であるものとする。結果として、フレーム時刻がｔ，ｔ＋０．５Δｔ，ｔ＋Δｔの画像がそれぞれ取得される。
【００２４】
図５は撮像装置１０１ａ，１０１ｂの撮影タイミング（時刻）を示す図である。この図５のように時間的にずれを有する２つの画像をステレオ画像対としてステレオ画像処理を行うわけであるが、一般的なステレオ画像処理は、複数の撮像装置により同時刻に撮影された画像データを用いて行うことを前提としており、撮影時刻にずれがあると誤差が生じ、正しいステレオ画像処理結果が得られない。そこで本発明の実施形態では、この誤差を低減し、時刻にずれのある画像対を用いる場合であっても適切にステレオ画像処理が行えるようにする。
【００２５】
図４のＳＴ２では、得られた画像データを画像記録部１０４により一時的に保存する。ここでは、少なくとも最新の画像よりも１つ前の画像データが保存されるようにしておく。それよりも前の画像データは順次消去される。
【００２６】
続くＳＴ３では、フレーム時刻ｔに撮像装置１０１ａにより撮像された画像とフレーム時刻ｔ＋０．５Δｔに撮像装置１０１ｂにより撮像された画像との対（第一の画像対）間で視差を計測する。視差の計測は具体的には以下のように行う。
【００２７】
図６は、上記フレーム時刻ｔの画像データ５０１と、上記フレーム時刻ｔ＋０．５Δｔの画像データ５０２とを示している。今、画像データ５０１中の点ｐの視差を求める場合、ｐを中心とした小領域ｗ１を作成する。そして、画像データ５０２を対象としてブロックマッチングを行い、最も類似度の高い小領域を探索する。探索範囲は点ｐの座標から一定範囲内とし、類似度はブロック内の画素値の２乗誤差の総和などを用いる。図６の場合では、小領域ｗ１に最も類似するのは小領域ｗ２である。この探索により得られる領域と元の領域との座標の差が視差に相当する。このような視差の計測を三次元位置情報を求めたい全ての点で行い、視差情報として記録しておく。
【００２８】
ＳＴ４では、ステレオ画像処理部１０５が上記視差情報から第一の三次元位置情報を算出する。異なる撮像装置で撮影された画像間の対応点を求め、三次元位置情報を獲得する手法については、参考文献（徐剛・辻三郎著，「三次元ビジョン」，第７章  両眼視）に記載されているように既によく知られているが、簡単に説明すると、撮像装置の光学特性と撮像装置間の位置関係が既知であれば、図７のように撮像装置１０１ａの画像９０２上の点ｐ’’と撮像装置１０１ｂの画像９０１上の点ｐ’から、これらが示す部位が元々あった三次元位置ｐを求めることができる。 
次にＳＴ５では、上記ＳＴ３と同様にして、ステレオ画像処理部１０６が上記フレーム時刻ｔ＋０．５Δｔに撮像装置１０１ｂにより撮像された画像とフレーム時刻ｔ＋Δｔに撮像装置１０１ａにより撮像された画像との対（第二の画像対）間で視差を計測する。続くＳＴ６では、上記ＳＴ４と同様の計算を行って第二の三次元位置情報を算出する。
【００２９】
図８は２つの撮像装置１０１ａ，１０１ｂの撮影タイミングを示したものである。上記ＳＴ３乃至ＳＴ６の結果として、一方の点線で囲まれた時刻ｔと時刻ｔ＋０．５Δｔにそれぞれ撮影された２つの画像のステレオ画像処理結果（第一の三次元位置情報）と、他方の点線で囲まれた時刻ｔ＋０．５Δｔと時刻ｔ＋Δｔにそれぞれ撮影された２つの画像のステレオ画像処理結果（第二の三次元位置情報）とが得られることになる。
【００３０】
ＳＴ７では、これら第一の三次元位置情報と第二の三次元位置情報とから推定三次元位置情報（図３の例えばＥ１に相当）を算出する。具体的には、第一の三次元位置情報は撮像装置から移動体までの一方の距離（図３の例えばＤ１）を表しており、第二の三次元位置情報は撮像装置から移動体までの他方の距離（図３の例えばＤ４）を表している。推定三次元位置情報算出部１０７は、該第一の距離と第二の距離との平均値を移動体の推定三次元位置情報として算出する。
【００３１】
そしてＳＴ８において、得られた推定三次元位置情報をもとに制御部１０９はロボット１に対する次のような制御量を算出する。例えば、追従する対象との距離を一定に保ち続けるよう車輪の回転量を決める、対象となる物体を掴むために関節を動かす、などである。あるいは、撮像装置から対象物までの三次元距離が目標に近づくように、サーボモーターなどの移動駆動制御の回転量や回転速度を決定する。
【００３２】
最後にＳＴ９の判定処理では、継続して三次元位置情報の計測を行うか否かを判定する。処理を継続する場合はＳＴ１に戻って画像データの取得を行う。
【００３３】
以上説明した実施形態によれば、連続する２つのステレオ視の結果を平均して三次元座標の推定値とする。これにより、撮像装置が２台の場合は実質２倍のフレームレートでのステレオ画像処理が可能になる。本実施形態の場合、１台の撮像装置での画像と、その前後に別の撮像装置で撮影された画像のみから三次元位置情報を得ることができることから、誤差が蓄積することがない。また、従来のステレオ視の枠組みを若干変更するのみで容易に実現可能である。また、本実施形態は画像処理性能が非力なハードウェア構成にも好適である。
【００３４】
尚、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００３５】
例えば、上述した実施形態では撮像装置の台数を２台としたが、撮像装置の台数が２台以上のｎ台の場合に対しても撮像装置台数−１個の記憶された三次元位置情報と最新の三次元位置情報との平均を求めることにより同等の作用効果を奏することができる。
【００３６】
また、上述した実施形態では撮像装置間での画像の撮像時刻のずれは０．５Δｔとしたが、任意の時刻ずれに対しても、撮像時刻に応じた加重平均を求めることにより同等の結果を得ることが可能である。例えば撮像時刻のずれが０．２５Δｔである場合、フレーム時刻ｔ（第一のフレーム時刻）に撮像装置１０１ａにより撮像された画像と、フレーム時刻ｔ＋０．２５Δｔ（第二のフレーム時刻）に撮像装置１０１ｂにより撮像された画像と、フレーム時刻ｔ＋Δｔ（第三のフレーム時刻）に撮像装置１０１ａにより撮像された画像とを用いて上述の処理を行うのであるが、推定三次元位置情報算出部１０７は、第一のフレーム時刻から第二のフレーム時刻までの時間と第二のフレーム時刻から第三のフレーム時刻までの時間の比（１／４：３／４）に応じた重み付け値を上記第一の距離と第二の距離にそれぞれ乗じて加算することにより、上述と同様の結果を得ることができる。
【図面の簡単な説明】
【００３７】
【図１】本発明の一実施形態に係る画像処理装置のブロック図
【図２】本発明の一実施形態に係るロボットの外観を示す図
【図３】本発明の一実施形態に係る非同期ステレオ画像処理の概念図
【図４】本発明の一実施形態に係る非同期ステレオ画像処理手順を示すフローチャート
【図５】２台の撮像装置による撮影タイミング（時刻）を示す図
【図６】最新の画像データと、同じ撮像装置で得られた１フレーム前の画像データとを示す図
【図７】２次元画像対と三次元位置情報とを示す図
【図８】本発明の一実施形態に係る２つの撮像装置のそれぞれの撮影タイミングを示す図
【符号の説明】
【００３８】
１０１ａ〜１０１ｂ…撮像装置；
１０２…映像信号切り替え部；
１０３…画像取得部；
１０４…画像記録部；
１０５，１０６…ステレオ画像処理部；
１０７…推定三次元位置情報算出部；
１０９…制御部；
１１０…コンピュータ；
【図１】
2006338203.tif 000003
【図２】
2006338203.tif 000004
【図３】
2006338203.tif 000005
【図４】
2006338203.tif 000006
【図５】
2006338203.tif 000007
【図６】
2006338203.tif 000008
【図７】
2006338203.tif 000009
【図８】
2006338203.tif 000010