(57)【要約】【課題】複数カメラにより異なるフレーム時刻に撮影された画像対を用いる際のステレオ画像処理の誤差を低減して対象物の３次元位置情報を算出する。【解決手段】第一の撮像装置により移動体をフレーム時刻ｔに撮像することにより得られる第一の画像と、異なる視点の第二の撮像装置により移動体をフレーム時刻ｔ＋Δｔに撮像することにより得られる第二の画像と、該第二の撮像装置により移動体をフレーム時刻ｔ−Δｔに撮像することにより得られる第三の画像とを取得する。第一の画像上の任意点に対応する第二の画像上の第一対応点を探索し、該任意点についての視差を計測する。第二の画像と第三の画像とに基づいて、第一対応点の動き情報を算出し、これを補正量として用いて視差を補正する。補正された視差に基づいて任意点の３次元位置情報を算出する。【選択図】図１
2006284372.tif 000002
【特許請求の範囲】
【請求項１】
第一の撮像装置により移動体をフレーム時刻ｔに撮像することにより得られる第一の画像と、該第一の撮像装置とは異なる視点を有する第二の撮像装置により前記移動体をフレーム時刻ｔ＋Δｔに撮像することにより得られる第二の画像と、該第二の撮像装置により前記移動体をフレーム時刻ｔ−Δｔに撮像することにより得られる第三の画像とを取得する画像取得手段と、
前記第一の画像上の任意点に対応する前記第二の画像上の第一対応点を探索し、該任意点についての視差を計測する視差計測手段と、
前記第二の画像と前記第三の画像とに基づいて、前記第一対応点の動き情報を算出する動き情報算出手段と、
前記動き情報を補正量として用いて前記視差を補正する視差補正手段と、
補正された視差に基づいて前記任意点の３次元位置情報を算出する３次元位置情報算出手段とを具備する画像処理装置。
【請求項２】
前記視差計測手段は、前記第一の画像上の任意点に対応する前記第二の画像上の第一対応点をブロックマッチングにより探索する請求項１記載の画像処理装置。
【請求項３】
前記動き情報算出手段は、前記第一対応点に対応する前記第三の画像上の第二対応点をブロックマッチングにより探索し、前記第一対応点と前記第二対応点との間の画像上の移動量を前記動き情報として算出する請求項１記載の画像処理装置。
【請求項４】
第一の撮像装置により移動体をフレーム時刻ｔに撮像することにより得られる第一の画像と、該第一の撮像装置とは異なる視点を有する第二の撮像装置により前記移動体をフレーム時刻ｔ＋Δｔに撮像することにより得られる第二の画像と、該第二の撮像装置により前記移動体をフレーム時刻ｔ−Δｔに撮像することにより得られる第三の画像とを取得する画像取得ステップと、
前記第一の画像上の任意点に対応する前記第二の画像上の第一対応点を探索し、該任意点についての視差を計測する視差計測ステップと、
前記第二の画像と前記第三の画像とに基づいて、前記第一対応点の動き情報を算出する動き情報算出ステップと、
前記動き情報を補正量として用いて前記視差を補正する視差補正ステップと、
補正された視差に基づいて前記任意点の３次元位置情報を算出する３次元位置情報算出ステップとを具備する画像処理方法。
【請求項５】
前記視差計測ステップにおいて、前記第一の画像上の任意点に対応する前記第二の画像上の第一対応点をブロックマッチングにより探索する請求項４記載の画像処理方法。
【請求項６】
前記動き情報算出ステップにおいて、前記第一対応点に対応する前記第三の画像上の第二対応点をブロックマッチングにより探索し、前記第一対応点と前記第二対応点との間の画像上の移動量を前記動き情報として算出する請求項４記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数カメラを用いて異なるフレーム時刻に撮影された画像を画像処理することにより、対象物の３次元位置情報を算出する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
人物に追従する移動ロボットの視覚処理系に関して種々の研究開発が進められている。移動ロボットが人物等の移動体に追従するよう移動するとき、視覚処理系はまず移動体を撮像してその３次元位置を画像処理により計測する。この計測結果に従って、ロボットは移動のための駆動系の制御量等を算出する。
【０００３】
従来、監視システム等で用いられてきた背景差分による人物検出技術や、画像処理により人物の頭部を認識する技術が知られており、これらの技術を移動ロボットの視覚処理系に応用することが考えられる。しかしながら、ロボットの移動により背景画像は大きく変化することから、背景差分法は移動ロボットの視覚処理系には適さない。また、人との位置関係や遮蔽などで追従対象の頭部が必ずしもロボットの視界内にとらえられるとは限らないことから、人物の頭部認識技術も有効ではない。移動ロボットが人間の生活空間内で活動することを考慮すると、処理対象のデータを削減して高速に処理できることが必要である。
【０００４】
ここで、複数カメラを用いて異なるフレーム時刻（シャッタータイミング）に撮影された画像を画像処理することにより、対象物の３次元位置情報を高速に算出する技術が知られている（例えば下記非特許文献１）。
【非特許文献１】清水彰一，藤吉弘亘，”カメラ間のシャッタータイミングのずれを利用した高速３次元位置推定”，Ｐｒｏｃ．  ｏｆ  ＭＩＲＵ２００４，ｖｏｌ．１，ｐｐ．４２８−４３３，Ｊｕｌｙ，２００４．
【発明の開示】
【発明が解決しようとする課題】
【０００５】
移動ロボットへの視覚処理系の実装においては、ロボットが備えるコンピュータ処理能力に対する負担をできるだけ抑える必要がある。移動ロボットは、視覚処理のみならず移動機構制御や他の処理のためにもコンピュータ資源を費やす。プロセッサ性能等は進歩しているとはいえ、コンピュータの処理能力を大幅に増強することは製品コスト増を招いてしまう。このような事情から、視覚処理系において、複数のカメラからの映像信号を交互に取り込む構成が採られる場合がある。
【０００６】
対象物の３次元位置情報を算出するために、複数カメラにより異なるフレーム時刻に撮影された画像対をそのまま用いてステレオ画像処理を行った場合、フレーム時刻のずれに起因して誤差が生じるという問題がある。
【０００７】
そこで本発明は、複数カメラにより異なるフレーム時刻に撮影された画像対を用いる際のステレオ画像処理の誤差を低減して対象物の３次元位置情報を算出することのできる画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一観点に係る画像処理装置は、第一の撮像装置により移動体をフレーム時刻ｔに撮像することにより得られる第一の画像と、該第一の撮像装置とは異なる視点を有する第二の撮像装置により前記移動体をフレーム時刻ｔ＋Δｔに撮像することにより得られる第二の画像と、該第二の撮像装置により前記移動体をフレーム時刻ｔ−Δｔに撮像することにより得られる第三の画像とを取得する画像取得手段と、前記第一の画像上の任意点に対応する前記第二の画像上の第一対応点を探索し、該任意点についての視差を計測する視差計測手段と、前記第二の画像と前記第三の画像とに基づいて、前記第一対応点の動き情報を算出する動き情報算出手段と、前記動き情報を補正量として用いて前記視差を補正する視差補正手段と、補正された視差に基づいて前記任意点の３次元位置情報を算出する３次元位置情報算出手段とを具備する。
【発明の効果】
【０００９】
本発明によれば、複数カメラにより異なるフレーム時刻に撮影された画像対を用いる際のステレオ画像処理の誤差を低減して対象物の３次元位置情報を算出することのできる画像処理装置及び画像処理方法を提供できる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照しながら本発明の実施形態を説明する。
【００１１】
（第一の実施形態）    
図１は、本発明の第一の実施形態に係る画像処理装置（視覚処理系）を示すブロック図である。本実施形態は、図２に示すようなロボット１に本発明を適用したものである。ロボット１は、複数の撮像装置１０１、アーム３、車輪４等を備え、これらは図示しない制御部によって制御される。このようなロボット１がアーム３で物を掴んだり、特定の人物を追いかけ続けたりといったタスクを行う場合に、ロボット１はこれら対象物の３次元位置情報を得ることが必要である。本実施形態は、この３次元位置情報の生成を比較的簡単な装置構成及び画像処理により実現するものである。
【００１２】
本発明の実施にあたり複数の撮像装置１０１が必要である。図１及び図２の構成では２台の撮像装置１０１を用いるものとする。なお、２つの撮像装置間の位置関係は既知であるものとする。
【００１３】
映像信号切り替え部１０２は、２台の撮像装置１０１の各々から出力される映像信号を交互に切り替えて画像取得部１０３に供給する。画像取得部１０３は、映像信号切り替え部１０２からの映像信号を入力し、コンピュータで処理しやすいディジタルの画像データに変換する。これにより、フレーム時刻が異なる対象物の複数の画像が本実施形態の画像処理装置に取り込まれる。
【００１４】
画像記録部１０４は、画像取得部１０３を介して得られた画像データを一時的に記録する。画像記録部１０４は、少なくとも各撮像装置１０１により撮像された１フレーム前の画像データを参照できるように記録保持動作を行う。
【００１５】
動き検出部１０５は、画像データ上の動きを検出して動き情報を生成する。動き検出部１０５は、最新のフレーム時刻の画像データと、画像記録部１０４により記録されている１フレーム前の画像データとを比較し、２つの画像間で同じ点がどれだけ移動したかを計測することにより動き情報を求める。
【００１６】
視差計測部１０６は、２台の撮像装置１０１で撮影された画像間での視差を計測する。視差補正部１０７は視差計測部１０６で得られた視差を動き検出部１０５で得られた動き情報を用いて補正する。３次元位置情報算出部１０８は補正された視差から対象の３次元位置情報を算出する。制御部１０９は３次元位置情報算出部１０８により得られた３次元位置情報からロボットの制御量を求める。図１において、２台の撮像装置１０１及び映像信号切り替え部１０２を除く構成要素は同図に示すようにコンピュータ１１０として実現される。
【００１７】
以上のように構成された本実施形態において、対象物を撮像し、その３次元位置情報を算出する。
【００１８】
図３は本発明の第一の実施形態に係る非同期ステレオ画像処理手順を示すフローチャートである。
【００１９】
先ずＳＴ３０１では、映像信号切り替え部１０２を介して撮像装置１０１から画像データを取得する。一般に、時系列画像データはサイズが膨大になり、特に複数台の撮像装置１０１から一斉に画像データを取り込み、コンピュータ１１０内の図示しないメモリー装置に転送するには、十分速度の速い通信路が必要となる。そこで本実施形態では、映像信号切り替え部１０２により、各撮像装置について１台ずつ交互に切り替えながら画像データの取り込みを行う。映像信号の切り替えには一定の時間を要するために、結果として２台の撮像装置１０１から得られる２つの画像データの撮影時刻（フレーム時刻）には「ずれ」が生じる。尚、以下の説明では、信号の切り替えに要する時間は常に一定であるものとする。
【００２０】
図４は撮像装置１，２の撮影タイミング（時刻）を示す図である。この図４のように時間的にずれを有する２つの画像をステレオ画像対としてステレオ画像処理を行うわけであるが、一般的なステレオ画像処理は、複数の撮像装置により同時刻に撮影された画像データを用いて行うことを前提としており、撮影時刻にずれがあると誤差が生じ、正しいステレオ画像処理結果が得られない。
【００２１】
本発明の実施形態は、この誤差を低減し、時刻にずれのある画像対を用いる場合であっても適切にステレオ画像処理が行えるようにする。
【００２２】
ＳＴ３０２では、得られた画像データを画像記録部１０４により一時的に保存する。ここでは、少なくとも最新の画像よりも１つ前の画像データが保存されるようにしておく。それよりも前の画像データは順次消去される。
【００２３】
ＳＴ３０３では、どちらか一方の撮像装置１０１について、最新の画像データと画像記録部１０４により記録されている１フレーム前の画像データとを比較し、画像中の動き情報を計測する。具体的には以下のように行う。
【００２４】
図５は、最新の画像データ５０１と、同じ撮像装置で得られた１フレーム前の画像データ５０２とを示している。今、画像データ５０１中の点ｐの動きを求める場合、ｐを中心とした小領域ｗ１を作成する。そして、１つ前の画像データ５０２とのブロックマッチングを行い、最も類似度の高い小領域を探索する。探索範囲は点ｐの座標から一定範囲内とし、類似度はブロック内の画素値の２乗誤差の総和などを用いる。図５の場合では、小領域ｗ１に最も類似するのは小領域ｗ２である。この小領域ｗ１と小領域ｗ２とが同じ箇所を撮影したものであると見なすと、小領域ｗ２から小領域ｗ１への座標変化が、画像５０２を撮影してから５０１を撮影するまでの点ｐの移動量であると考えられる。このような移動量の計測を、３次元位置情報を求めたい全ての点で行い、結果を記録しておく。
【００２５】
ＳＴ３０４では、２つの撮像装置１０１で撮影された最新の画像対を用いて視差の計測を行う。視差計測の方法は、異なる撮像装置で撮影された２つの画像対を用いることを除けば、ＳＴ３０３における動き情報の計測と同様であり、３次元位置情報を得たい点ｐを含む小領域に類似する領域をもう一方の画像から探索する。この探索により得られる領域と元の領域との座標の差が視差となる。この視差の計測は、動き情報の計測を行った方の撮像装置から他方の撮像装置へ探索するという形で行う。視差の計測についても３次元位置情報を求めたい全ての点で行い、結果を記録しておく。
【００２６】
非同期撮影を行わない通常のステレオ画像処理の場合、２つの画像データの撮影時刻は同じであることから、視差の計測結果から適切に３次元位置情報を求めることができる。しかし、時刻差のある２つの画像の場合、従来手法と同じようにして３次元位置情報を算出してしまうと、動いている物体については大きな誤差が生じてしまう。そこでＳＴ３０５においては、動き情報を利用して視差情報の補正を行う。補正の原理は次の通りである。
【００２７】
図６は２つの撮像装置１，２の撮影タイミングを示したものである。点線で囲まれた時刻ｔと時刻ｔ＋Δｔにそれぞれ撮影された２つの画像をステレオ画像処理する場合を考える。図６から分かるように、２つの画像の撮影時刻には映像信号の切り替え時間Δｔのずれが生じている。この期間に対象物が移動したら、その３次元位置情報は正しい値が得られなくなる。もし、時刻ｔにおける撮像装置２の画像データを近似的にでも得ることができれば、通常のステレオ画像処理で処理可能である。このためには、図７に示すように、時刻ｔ−Δｔ及び時刻ｔ＋Δｔに撮像装置２で撮影された画像を使って時刻ｔの画像を補完すればよい。本発明の実施形態では、これと同等の効果を例えば次のようにして得る。
【００２８】
図８において、画像データ８０３は時刻ｔに撮像装置１により撮影されたものである。画像データ８０１、８０２はそれぞれ時刻ｔ＋Δｔ、ｔ−Δｔに撮像装置２によって撮影されたものである。これら画像データの撮影タイミングは図６と同じである。今、撮像装置２の画像データについては動き検出部１０５により、画像データ８０１中の３次元位置情報を取得する全ての点について、１フレーム前の画像データ８０２から対応する点が求められており、時間２Δｔの各点の移動量が求められている。さらに、視差計測部１０６によって、画像データ８０１中の３次元位置情報を取得する全ての点について、撮像装置１による画像データ８０３から対応点が求められており、撮像装置間の視差も計測されている。以上により、画像データ８０１中の３次元位置情報を取得するそれぞれの点ｐについて、時刻ｔ−Δｔからの移動量ｖと、撮像装置１の画像データとの視差ｄが求められていることになる。移動量ｖから点ｐの時刻ｔにおける位置ｐ’を予測するとｐ’＝ｐ−ｖ／２であると考えられる。したがって撮像装置１の画像８０３でのｐの対応点をｐ’’とすると、仮想的に時刻ｔで同期したときのｐ’とｐ’’との視差ｄ’はｄ’＝ｄ−ｖ／２と求められる。こうして求められる時刻ｔで仮想同期された視差ｄ’は同時刻に撮影された画像対に関する視差と等価であるので、以降は従来のステレオ画像処理手法と同じように３次元位置情報を求めることができる。
【００２９】
ＳＴ３０６では、仮想的に同期して得られた視差情報から３次元位置情報を算出する。異なる撮像装置１０１で撮影された画像間の対応点を求め、３次元位置情報を獲得する手法については、参考文献（徐剛・辻三郎著，「３次元ビジョン」，第７章  両眼視）に記載されているように既によく知られているが、簡単に説明すると、撮像装置の光学特性と撮像装置間の位置関係が既知であれば、図９のように撮像装置１の画像９０２上の点ｐ’’と仮想的に同期をとることで得られる撮像装置２の画像９０１上の点ｐ’から、これらが示す部位が元々あった３次元位置Ｐを求めることができる。以上のような仮想的な同期により、時刻差のある画像対に対してステレオ画像処理を行うことが可能になる。
【００３０】
最後にＳＴ３０７では、得られた３次元位置情報をもとに、ロボット１の制御部は次のような制御量を算出する。例えば、追従する対象との距離を一定に保ち続けるよう車輪の回転量を決める、対象となる物体を掴むために関節を動かす、などである。あるいは、撮像装置１０１から対象物までの３次元距離が目標に近づくように、サーボモーターなどの移動駆動制御の回転量や回転速度を決定する。
【００３１】
以上説明した第一の実施形態によれば、複数の撮像装置から出力された映像信号を全て同じ時刻に取り込んで処理することができず、その結果、各撮像装置から得られる画像データ間に時刻のずれが生じるような場合であっても、移動する対象物の３次元位置情報を精度良く取得することができる。このような本発明は画像処理性能が非力なハードウェア構成に好適である。誤差を低減するための手法についても、各時刻について３つの画像データのみで実行できることから、誤差の蓄積が生じないという利点もある。
【００３２】
（第二の実施形態）  
図１０は本発明の第二の実施形態に係る画像処理装置を示すブロック図である。本実施形態は、撮像装置１００１が２台に限定されずｎ台に一般化されている点、及び撮影時刻を記録するための撮影時刻記録部１００５が付加されている点で上述した第一の実施形態とは異なる。その他の構成は第一の実施形態と同様である。
【００３３】
次に本実施形態の動作について説明する。図１１は本発明の第二の実施形態に係る非同期ステレオ画像処理手順を示すフローチャートである。第一の実施形態と同じ処理を行う部分は省略して説明すると、ＳＴ１１０１では、撮像装置１、２、・・・、ｎの順に映像信号切り替え部１０２により切り替えながら撮影を行う。撮像装置ｎに到達したら、撮像装置１に戻って画像の取り込みを繰り返す。
【００３４】
ＳＴ１１０２では、画像データを撮影した時刻を記録する。時刻の記録は各撮像装置ごとに行うこととし、少なくとも最新のフレームの時刻と過去の１フレームの時刻とをそれぞれ記録する。
【００３５】
ＳＴ１１０３の画像データの記録では、各撮像装置について少なくとも過去の１フレーム分は画像データを記録しておくようにする。
【００３６】
［視差計測］  
ＳＴ１１０４では、画像間の視差を計測する。視差の計測手法自体は第一の実施形態と同じであるが、撮像装置ｎの最新画像データと撮像装置１の最新画像データ，撮像装置ｎと撮像装置２，・・・，撮像装置ｎと撮像装置ｎ−１というように、ある撮像装置（ここでは撮像装置ｎ）について、ステレオ視に用いられる他の全ての撮像装置に対し対応点探索を行う。このとき、ｎ台のうち一部のみを用いることも可能である。このときは用いる撮像装置全てについて対応点を求める。
【００３７】
［動き検出］  
ＳＴ１１０５では、各撮像装置について動きの検出を行う。ステレオ視に用いる各撮像装置について、記録されている１フレーム前の画像と比較し、３次元位置情報を求める全ての点について移動量の計測を行う。具体的な手法は第一の実施形態と同じである。
【００３８】
［視差の補正］  
ＳＴ１１０６では、視差計測の結果と動き検出の結果とに基づいて視差情報の補正を行う。ｎ台の撮像装置の場合、撮影タイミングは図１２のようになる。
【００３９】
各撮像装置について、最新フレームと過去の１フレームの撮影時刻、及びその間の移動量が求められているので、図１２に示される時刻ｔ−Δｔ１から時刻ｔまでの間の任意の時刻に対して仮想的な同期を行うことが可能である。
【００４０】
仮想同期の方法としては、移動量を線形補間することにより任意の時刻の対応点の位置を予測可能である。なお、本実施形態の説明では複数の撮像装置のうち同時に１つしか画像が取り込めないことを前提にしてきたが、２台あるいは３台の撮像装置から同時に画像を取り込めるが、全ての撮像装置間の同期が取れているとは限らないような状況でも、本発明に従って仮想的に同期をとることが可能である。
【００４１】
ＳＴ１１０７では、複数の画像の対応点情報から３次元位置情報を算出する。その手法は第一の実施形態の場合と同じであるが、本実施形態では対応点を通る全ての直線の交点を３次元位置とすることで頑健性が向上する。ただし、誤差などの影響により、全ての直線が１点に交わることはほとんどないので、全ての直線が最も集まっている箇所を結果の３次元位置とする。
【００４２】
以上説明した本発明の実施形態によれば、２台あるいはそれ以上の複数台の撮像装置を用いて互いに異なるフレーム時刻に撮影された画像対を用いる際のステレオ画像処理の誤差を低減し、対象物の３次元位置情報を算出することができる。つまり、同時に撮影が不可能な装置構成であっても、誤差の少ない測定が可能になる。また、このような装置は比較的安価に構成できるため、結果として同等の精度を安価な装置で実現できる。さらに、既存のステレオ画像処理技術を大幅に変更することなく利用して本発明に係る処理を実現できる点においても優れる。
【００４３】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００４４】
【図１】本発明の第一の実施形態に係る画像処理装置のブロック図
【図２】上記実施形態に係るロボットの外観を示す図
【図３】本発明の第一の実施形態に係る非同期ステレオ画像処理手順を示すフローチャート
【図４】２台の撮像装置による撮影タイミング（時刻）を示す図
【図５】最新の画像データと、同じ撮像装置で得られた１フレーム前の画像データとを示す図
【図６】２台の撮像装置の撮影タイミングを示す図であって、ステレオ視に用いる画像データの撮影タイミングを示す図
【図７】時刻ｔにおける仮想的な画像の補完を示す図
【図８】実施形態に係る仮想同期の対象画像フレームを示す図
【図９】２次元画像対と３次元位置情報とを示す図
【図１０】本発明の第二の実施形態に係る画像処理装置を示すブロック図
【図１１】本発明の第二の実施形態に係る非同期ステレオ画像処理手順を示すフローチャート
【図１２】ｎ台の撮像装置の場合の撮影タイミングを示す図
【符号の説明】
【００４５】
１０１…撮像装置；
１０２…映像信号切り替え部；
１０３…画像取得部；
１０４…画像記録部；
１０５…動き検出部；
１０６…視差計測部；
１０７…視差補正部；
１０８…３次元位置情報算出部；
１０９…制御部；
１１０…コンピュータ；
【図１】
2006284372.tif 000003
【図２】
2006284372.tif 000004
【図３】
2006284372.tif 000005
【図４】
2006284372.tif 000006
【図５】
2006284372.tif 000007
【図６】
2006284372.tif 000008
【図７】
2006284372.tif 000009
【図８】
2006284372.tif 000010
【図９】
2006284372.tif 000011
【図１０】
2006284372.tif 000012
【図１１】
2006284372.tif 000013
【図１２】
2006284372.tif 000014