(57)【要約】【課題】多眼カメラに被写体を追従させる。【解決手段】本発明の一態様によれば、カメラ装置は、第１，第２のカメラと、第１，第２の導光系と、第１，第２の可動部材と、第１，第２の回転駆動機構と、第１，第２の制御部とを含む。第１（第２）の導光系は、第１（第２）の可動ミラーを含み、第１（第２）のカメラへ第１（第２）の光線を導く。第１（第２）の可動部材は、第１（第２）の可動ミラーを取り付けられ、第１（第２）のカメラと独立して回転が可能であって、回転に連動して第１（第２）の可動ミラーの回転角が変化する。第１（第２）の回転駆動機構は、第１（第２）の可動部材に伝えられる回転駆動力を発生する。第１（第２）の制御部は、少なくとも目標速度および第１（第２）の可動ミラーの過去の目標回転角に基づいて定められた指定回転速度に従って、第１（第２）の回転駆動機構の回転速度を制御する。【選択図】      図３
2020068426.tif 000002
【特許請求の範囲】
【請求項１】
第１のカメラと、
第２のカメラと、
少なくとも１枚のミラーである第１のミラー群を含み、前記第１のカメラへ第１の光線を導く第１の導光系と、
少なくとも１枚のミラーである第２のミラー群を含み、前記第２のカメラへ第２の光線を導く第２の導光系と、
前記第１のミラー群のうちの１枚である第１の可動ミラーを取り付けられ、前記第１のカメラおよび前記第２のカメラと独立して回転が可能であって、前記回転に連動して前記第１の可動ミラーの第１の回転角が変化する第１の可動部材と、
前記第２のミラー群のうちの１枚である第２の可動ミラーを取り付けられ、前記第１のカメラおよび前記第２のカメラと独立して回転が可能であって、前記回転に連動して前記第２の可動ミラーの第２の回転角が変化する第２の可動部材と、
前記第１の可動部材に伝えられる回転駆動力を発生する第１の回転駆動機構と、
前記第２の可動部材に伝えられる回転駆動力を発生する第２の回転駆動機構と、
少なくとも目標速度と前記第１の可動ミラーの過去の目標回転角とに基づいて定められた第１の指定回転速度に従って、前記第１の回転駆動機構の回転速度を制御する第１の制御部と、
少なくとも前記目標速度と前記第２の可動ミラーの過去の目標回転角とに基づいて定められた第２の指定回転速度に従って、前記第２の回転駆動機構の回転速度を制御する第２の制御部と
を具備する、カメラ装置。
【請求項２】
第１の時刻に前記第１の回転角を検出する第１の角位置センサと、
第２の時刻に前記第２の回転角を検出する第２の角位置センサと、
前記第１の時刻における前記第１の可動ミラーの目標回転角と前記第１の回転角との差である第１の誤差を算出する第１の誤差算出部と、
前記第２の時刻における前記第２の可動ミラーの目標回転角と前記第２の回転角との差である第２の誤差を算出する第２の誤差算出部と
をさらに具備する、請求項１に記載のカメラ装置。
【請求項３】
前記目標速度と、前記第１の可動ミラーの過去の目標回転角と、前記第１の誤差とに基づいて、前記第１の指定回転速度を算出する第１の回転速度算出部と、
前記目標速度と、前記第２の可動ミラーの過去の目標回転角と、前記第２の誤差とに基づいて、前記第２の指定回転速度を算出する第２の回転速度算出部と
をさらに具備する、請求項２に記載のカメラ装置。
【請求項４】
前記第１の回転速度算出部は、前記第１の回転角の倍角に対応する正接の逆数の変化速度が前記目標速度に略一致するように、前記第１の可動ミラーの過去の目標回転角および前記第１の誤差に基づいて前記第１の指定回転速度を算出し、
前記第２の回転速度算出部は、前記第２の回転角の倍角に対応する正接の逆数の変化速度が前記目標速度に略一致するように、前記第２の可動ミラーの過去の目標回転角および前記第２の誤差に基づいて前記第２の指定回転速度を算出する、
請求項３に記載のカメラ装置。
【請求項５】
請求項２に記載のカメラ装置によって撮影された画像を処理する画像処理装置であって、
前記第１の時刻に前記第１のカメラによって撮影された第１の画像と、前記第２の時刻に前記第２のカメラによって撮影された第２の画像とを取得する画像取得部と、
前記第１の誤差を示す第１の誤差データと、前記第２の誤差を示す第２の誤差データとを取得する誤差取得部と、
前記第１の誤差に基づいて前記第１の画像を補正して第１の補正画像を生成し、前記第２の誤差に基づいて前記第２の画像を補正して第２の補正画像を生成する補正部と、
前記第１の補正画像における注目画素に対応する画素を前記第２の補正画像から探索し、当該注目画素に関する前記第１の補正画像と前記第２の補正画像との視差を推定する推定部と
を具備する、画像処理装置。
【請求項６】
前記目標速度は、前記カメラ装置を基準とする被写体の相対速度に基づいて定められる、請求項１乃至請求項４のいずれか１項に記載のカメラ装置。
【請求項７】
前記第１のカメラおよび前記第２のカメラは静止状態にあり、
前記被写体は、前記第１の可動ミラーの回転軸に略垂直な平面上を移動し、
前記目標速度は、前記被写体の移動速度に略比例するように定められる、
請求項６に記載のカメラ装置。
【請求項８】
前記カメラ装置は、移動体に搭載され、
前記被写体は静止状態にあり、
前記移動体は、前記第１の可動ミラーの回転軸に略垂直な平面上を移動し、
前記目標速度は、前記移動体の移動速度に略比例するように定められる、
請求項６に記載のカメラ装置。
【請求項９】
前記相対速度は、前記第１のカメラによって第３の時刻に撮影された画像における前記被写体の位置と、前記第１のカメラによって前記第３の時刻とは異なる第４の時刻に撮影された画像における前記被写体の位置と、前記第３の時刻と前記第４の時刻との時間差とに基づいて定められる、請求項６に記載のカメラ装置。
【請求項１０】
第１のカメラおよび第２のカメラを含むカメラ装置に取り付け可能なミラー可動機構であって、
少なくとも１枚のミラーである第１のミラー群を含み、前記第１のカメラへ第１の光線を導く第１の導光系と、
少なくとも１枚のミラーである第２のミラー群を含み、前記第２のカメラへ第２の光線を導く第２の導光系と、
前記第１のミラー群のうちの１枚である第１の可動ミラーを取り付けられ、前記第１のカメラおよび前記第２のカメラと独立して回転が可能であって、前記回転に連動して前記第１の可動ミラーの第１の回転角が変化する第１の可動部材と、
前記第２のミラー群のうちの１枚である第２の可動ミラーを取り付けられ、前記第１のカメラおよび前記第２のカメラと独立して回転が可能であって、前記回転に連動して前記第２の可動ミラーの第２の回転角が変化する第２の可動部材と、
前記第１の可動部材に伝えられる回転駆動力を発生する第１の回転駆動機構と、
前記第２の可動部材に伝えられる回転駆動力を発生する第２の回転駆動機構と、
少なくとも目標速度と前記第１の可動ミラーの過去の目標回転角とに基づいて定められた第１の指定回転速度に従って、前記第１の回転駆動機構の回転速度を制御する第１の制御部と、
少なくとも前記目標速度と前記第２の可動ミラーの過去の目標回転角とに基づいて定められた第２の指定回転速度に従って、前記第２の回転駆動機構の回転速度を制御する第２の制御部と
を具備する、ミラー可動機構。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラ装置による被写体の追従に関する。
【背景技術】
【０００２】
多眼カメラ、典型的にはステレオカメラにより撮影された画像から、２カメラ間の視差を推定し、さらには、被写体までの距離（奥行き）、被写体の３次元形状などを推定する技法が知られている。ところが、被写体およびステレオカメラの少なくとも一方が移動する場合には、撮影画像にブレが生じることがある。さらに、２カメラの撮影タイミングの同期が不完全であれば、両者の撮影タイミング差の間にも被写体が相対的に移動し、視差の推定結果に誤りが生じる可能性がある。そこで、被写体を追従する技法が求められる。
【０００３】
特許文献１の特許請求の範囲には、「常にびんの中心をとらえるようにびんの移動に追従して移動可能であることを特徴とする容器検査装置」が記載されており、さらに「該受光部が、駆動手段と該駆動手段に取付けられた反射鏡と該反射鏡の反射光を受ける光電変換器とから成る」ことも記載されている。また、特許文献１の発明の詳細な説明には、「反射ミラーは、びんの中心部の映像が常に光電変換素子に映るようにベルトコンベヤ上の移動するびんに追従して駆動手段により回転される」ことも記載されている。
【０００４】
非特許文献１には、「ステレオカメラを用いて３次元座標を復元する」こと、「カメラは輻輳するように設置し、物体を追従させるためにＹ軸回りの回転を行う」ことが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開昭６０−２２０８５０号公報
【非特許文献】
【０００６】
【非特許文献１】「移動物体把持のためのステレオカメラによる計測」、［ｏｎｌｉｎｅ］、［２０１８年９月１８日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｒｏｂｏｔ．ｔ．ｕ−ｔｏｋｙｏ．ａｃ．ｊｐ／〜ｙａｍａｓｈｉｔａ／ｐａｐｅｒ／Ｅ／Ｅ０２０Ｆｉｎａｌ．ｐｄｆ＃ｓｅａｒｃｈ＝％２７移動物体把持のためのステレオ％２７＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の技法では、一次元または二次元の単一の光電変換器を用いて、びんの中心部分を透過し、反射ミラーによって反射された光を電気量に変換しており、また、同文献の発明の詳細な説明には、「本発明のように構成することにより発光部および受光部は夫々単一で済み構造が簡単となる」との記載がある。故に、同文献においてステレオカメラを用いて撮影を行うことは想定されていない、といえる。
【０００８】
また、特許文献１の発明の詳細な説明には、「駆動手段２１はタイミング回路２４に接続されこのタイミング回路によってベルトコンベヤ３の移動速度に比例した回転運動を行う」ことが記載されており、これによると駆動手段は移動速度に比例した一定の速度で回転運動を行うと解される。しかしながら、反射ミラーからびんまでの距離が近い（例えば、びんが反射ミラーの真正面にある）時と、反射ミラーからびんまでの距離が遠い（例えば、びんが反射ミラーを通り過ぎる前、びんが反射ミラーを通り過ぎた後）時とでは、びんの単位時間あたりの変位を追従するために反射ミラーに要求される単位時間あたりの角変位は異なる。具体的には、反射ミラーからびんまでの距離が近い時には、反射ミラーからびんまでの距離が遠い時に比べて、反射ミラーの回転速度を大きくする必要がある。故に、「駆動手段２１はタイミング回路２４に接続されこのタイミング回路によってベルトコンベヤ３の移動速度に比例した回転運動を行」ったとしても、「びんの中心部の映像が常に光電変換素子に映る」という所望の効果は、反射ミラーに要求される単位時間あたりの角変位を略一定と近似することのできるわずかな角度範囲でしか得ることはできないであろう。
【０００９】
さらに、非特許文献１に記載の技法では、カメラ全体を回転させる必要があるので、カメラの可動範囲を確保するために十分な余剰スペースが必要となる。さらに、給電用または通信用のケーブルがカメラに接続されている場合には、当該ケーブルも必然的にカメラに連動して引っ張られたり撓んだりする。これにより、ケーブルの摩耗、断線が生じやすくなるという問題もある。加えて、カメラの駆動速度よりも被写体の移動速度が速ければ、被写体を追従することはできないが、一般に、対象および／またはその駆動機構の重量や寸法が大きくなるほど高速に対象を駆動することは困難となる。
【００１０】
本発明は、多眼カメラに被写体を追従させることを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一態様によれば、カメラ装置は、第１のカメラと、第２のカメラと、第１の導光系と、第２の導光系と、第１の可動部材と、第２の可動部材と、第１の回転駆動機構と、第２の回転駆動機構と、第１の制御部と、第２の制御部とを含む。第１の導光系は、少なくとも１枚のミラーである第１のミラー群を含み、第１のカメラへ第１の光線を導く。第２の導光系は、少なくとも１枚のミラーである第２のミラー群を含み、第２のカメラへ第２の光線を導く。第１の可動部材は、第１のミラー群のうちの１枚である第１の可動ミラーを取り付けられ、第１のカメラおよび第２のカメラと独立して回転が可能であって、回転に連動して第１の可動ミラーの第１の回転角が変化する。第２の可動部材は、第２のミラー群のうちの１枚である第２の可動ミラーを取り付けられ、第１のカメラおよび第２のカメラと独立して回転が可能であって、回転に連動して第２の可動ミラーの第２の回転角が変化する。第１の回転駆動機構は、第１の可動部材に伝えられる回転駆動力を発生する。第２の回転駆動機構は、第２の可動部材に伝えられる回転駆動力を発生する。第１の制御部は、少なくとも目標速度と第１の可動ミラーの過去の目標回転角とに基づいて定められた第１の指定回転速度に従って、第１の回転駆動機構の回転速度を制御する。第２の制御部は、少なくとも目標速度と第２の可動ミラーの過去の目標回転角とに基づいて定められた第２の指定回転速度に従って、第２の回転駆動機構の回転速度を制御する。
【００１２】
本発明の別の態様に係るミラー可動機構は、第１のカメラおよび第２のカメラを含むカメラ装置に取り付けである。このミラー可動機構は、第１の導光系と、第２の導光系と、第１の可動部材と、第２の可動部材と、第１の回転駆動機構と、第２の回転駆動機構と、第１の制御部と、第２の制御部とを含む。第１の導光系は、少なくとも１枚のミラーである第１のミラー群を含み、第１のカメラへ第１の光線を導く。第２の導光系は、少なくとも１枚のミラーである第２のミラー群を含み、第２のカメラへ第２の光線を導く。第１の可動部材は、第１のミラー群のうちの１枚である第１の可動ミラーを取り付けられ、第１のカメラおよび第２のカメラと独立して回転が可能であって、回転に連動して第１の可動ミラーの第１の回転角が変化する。第２の可動部材は、第２のミラー群のうちの１枚である第２の可動ミラーを取り付けられ、第１のカメラおよび第２のカメラと独立して回転が可能であって、回転に連動して第２の可動ミラーの第２の回転角が変化する。第１の回転駆動機構は、第１の可動部材に伝えられる回転駆動力を発生する。第２の回転駆動機構は、第２の可動部材に伝えられる回転駆動力を発生する。第１の制御部は、少なくとも目標速度と第１の可動ミラーの過去の目標回転角とに基づいて定められた第１の指定回転速度に従って、第１の回転駆動機構の回転速度を制御する。第２の制御部は、少なくとも目標速度と第２の可動ミラーの過去の目標回転角とに基づいて定められた第２の指定回転速度に従って、第２の回転駆動機構の回転速度を制御する。
【発明の効果】
【００１３】
本発明によれば、多眼カメラに被写体を追従させることができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係る多眼カメラを例示する図。
【図２】図１のステレオカメラを含む３次元計測システムを例示する図。
【図３】図２の機構制御部を例示するブロック図。
【図４】図２の画像処理装置を例示するブロック図。
【図５】図１のステレオカメラを例示する図。
【図６】図１のステレオカメラを例示する図。
【図７】図１のステレオカメラを例示する図。
【図８】図３の機構制御部の動作を例示するフローチャート。
【図９】図４の画像処理装置の動作を例示するフローチャート。
【図１０】図１のステレオカメラを搭載した移動体を例示する図。
【図１１】図１の変形例に係る多眼カメラを例示する図。
【図１２】図１の変形例に係る多眼カメラを例示する図。
【図１３】被写体の位置と、図１のステレオカメラにおける可動ミラーの回転角との関係の説明図。
【図１４】被写体の位置と、図１のステレオカメラにおける可動ミラーの回転角との関係の説明図。
【図１５】モータ以外の回転駆動機構を例示する図。
【図１６】モータ以外の回転駆動機構を例示する図。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら実施形態の説明を述べる。なお、以降、説明済みの要素と同一または類似の要素には同一または類似の符号を付し、重複する説明については基本的に省略する。
【００１６】
（実施形態）  
実施形態に係る多眼カメラ装置は、例えば図２に示す３次元計測システムに組み込むことができる。この３次元計測システムは、プロジェクター／カメラ制御部１０と、プロジェクター２０と、画像処理装置３００と、機構制御部２００と、ステレオカメラ１００とを含む。具体的には、この３次元計測システムは、例えばロボットビジョンを実現するためにロボット（ロボットハンドを含む）に搭載されたり、移動しながら撮影を行うために移動体（ドローンなどの航空機、車両を含む）に搭載されたりし得る。ここで、実施形態に係る多眼カメラ装置は、図２の要素のうちステレオカメラ１００に限らず、その他の要素、例えば、機構制御部２００の要素の一部または全部、を含み得る。
【００１７】
ステレオカメラ１００は、図１に例示されるように、（左）カメラ１０１と、（右）カメラ１０２と、可動ミラー１１１と、可動ミラー１１２と、可動部材１２１と、可動部材１２２と、支持部材１３１と、支持部材１３２とを含む。また、後述されるように、ステレオカメラ１００は、図１には示されない要素として、ベース部材１４０、ギア１６１，１６２、モータ１７１，１７２、角位置センサ１８１，１８２などを含み得る。なお、ステレオカメラ１００は、３眼以上の多眼カメラに置き換えられてもよい。
【００１８】
プロジェクター／カメラ制御部１０は、プロジェクター２０、カメラ１０１およびカメラ１０２を制御する。具体的には、プロジェクター／カメラ制御部１０は、プロジェクター２０に既定の計測用パターンの投射を命令する。それから、プロジェクター／カメラ制御部１０は、カメラ１０１およびカメラ１０２に、計測用パターンが投射された被写体３０の撮影を命令する。
【００１９】
プロジェクター２０は、プロジェクター／カメラ制御部１０からの命令に従って、計測用パターンを被写体３０に投射する。そして、カメラ１０１は、計測用パターンが投射された被写体３０を撮影し、第１の画像を生成する。同様に、カメラ１０２は、計測用パターンが投射された被写体３０を撮影し、第２の画像を生成する。
【００２０】
なお、プロジェクター／カメラ制御部１０は、可動ミラー１１１および可動ミラー１１２の回転角が既定範囲内にある時に限って、カメラ１０１およびカメラ１０２に被写体３０の撮影を命令してもよい。既定範囲は、可動ミラー１１１および可動ミラー１１２が被写体３０からの光線をカメラ１０１およびカメラ１０２に導くことのできる範囲に基づいて定められ得る。可動ミラー１１１および可動ミラー１１２の回転角が既定範囲内にあるか否かは、例えば角位置センサ１８１および角位置センサ１８２の出力に基づいて判定可能である。
【００２１】
被写体３０は、ベルトコンベアーに載せられており、図中のＸ軸方向に沿って略一定の速度で平行移動する。なお、被写体３０の移動速度は、可変であってもよい。この場合には、後述される目標速度を被写体３０の移動速度の変化に応じて動的に決定すればよい。
【００２２】
後述されるように、機構制御部２００はカメラ１０１およびカメラ１０２にそれぞれ対応する可動ミラー１１１および可動ミラー１１２の回転角を被写体３０の動きに追従して制御し、当該被写体３０はカメラ１０１およびカメラ１０２から見て略静止した状態で撮影されるので、第１の画像および第２の画像における被写体３０のブレを抑制できる。また、カメラ１０１およびカメラ１０２の撮影タイミング差の間も可動ミラー１１１および可動ミラー１１２は被写体３０の動きに追従して回転しているので、撮影タイミング差の間の被写体３０の動きに起因する、第１の画像または第２の画像における当該被写体３０の位置のずれは抑制され、後述する画像処理において視差を高精度に推定することが可能となる。加えて、カメラ１０１およびカメラ１０２に比べて軽量な可動ミラー１１１および可動ミラー１１２を駆動するので、カメラ１０１およびカメラ１０２そのものを駆動した場合に比べて、追従可能な速度の上限は大きい。
【００２３】
画像処理装置３００は、カメラ１０１から第１の画像を取得し、カメラ１０２から第２の画像を取得し、種々の画像処理を行う。例えば、画像処理装置３００は、画素毎に第１の画像と第２の画像との間で画素ブロックレベルでのマッチングを行う。そして、画像処理装置３００は、かかるマッチング結果に基づいて当該画素におけるカメラ１０１およびカメラ１０２の視差を推定し、さらにカメラ１０１およびカメラ１０２から被写体３０における当該画素に対応する点までの距離を推定し得る。さらに、画像処理装置３００または図示されない後段の外部装置が、距離の推定結果に基づいて被写体の３次元形状を推定してもよい。
【００２４】
なお、画像処理装置３００は、後述されるように、カメラ１０１およびカメラ１０２にそれぞれ対応する可動ミラー１１１および可動ミラー１１２の回転角の誤差をそれぞれ示す第１の誤差データおよび第２の誤差データを機構制御部２００から取得し、当該第１の誤差データおよび第２の誤差データに基づいて第１の画像および第２の画像をそれぞれ補正してから、画素ブロックレベルでのマッチングを行ってもよい。
【００２５】
機構制御部２００は、可動部材１２１および可動部材１２２の少なくとも回転角を制御する。具体的には、機構制御部２００は、例えばモータなどの小型のアクチュエーターに所望の制御値を示す制御信号を与え、可動部材１２１および可動部材１２２を必要なだけ回転させる。
【００２６】
機構制御部２００は、例えば、少なくとも、後述される目標速度と、カメラ１０１およびカメラ１０２にそれぞれ対応する可動ミラー１１１および可動ミラー１１２の過去の（典型的には、前回の）目標回転角とに基づいて、当該可動ミラー１１１および可動ミラー１１２をそれぞれ回転させるための（回転）駆動力を発生するモータ１７１およびモータ１７２にそれぞれ要求される回転速度（角速度）を微小単位時間毎に繰り返し算出する。そして、機構制御部２００は、モータ１７１およびモータ１７２の回転速度、回転方向、などを制御する。
【００２７】
なお、可動ミラー１１１および可動ミラー１１２は、連続回転運動をするように制御されてもよいし、往復回転運動をするように制御されてもよい。すなわち、可動ミラー１１１および可動ミラー１１２の回転角は、カメラ１０１およびカメラ１０２の撮影が有効となる既定範囲の終点に達した後、その始点まで順方向の回転により復帰してもよいし、逆方向の回転により復帰してもよい。
【００２８】
ここで、可動部材１２１は、軸部と突起部とを有し、その軸部に可動ミラー１１１を取り付けられる。可動部材１２１は、カメラ１０１およびカメラ１０２（を固定する支持部材）ならびに可動部材１２２とは独立して（すなわち連動することなく）回転が可能である。同様に、可動部材１２２は、軸部と突起部とを有し、その軸部に可動ミラー１１２を取り付けられる。可動部材１２２は、カメラ１０１およびカメラ１０２ならびに可動部材１２１とは独立して（すなわち連動することなく）回転が可能である。
【００２９】
可動ミラー１１１の回転角は、可動部材１２１の回転に連動して変化する。同様に、可動ミラー１１２の回転角は、可動部材１２２の回転に連動して変化する。
【００３０】
ここで、図１の例では、可動部材１２１は可動ミラー１１１の背面の中心付近に取り付けられ、可動部材１２２は可動ミラー１１２の背面の中心付近に取り付けられる。しかしながら、これは実装例の１つに過ぎない。可動部材１２１および可動部材１２２の取り付け位置は、可動ミラー１１２の背面の後方側（図１の例ではＺ座標が大きくなる側）に取り付けられてよい。可動部材１２１および可動部材１２２をこのように取り付けることで、可動ミラー１１１および可動ミラー１１２の背面の中心付近に取り付けた場合に比べて、可動部材１２１および可動部材１２２の回転によるカメラ１０１およびカメラ１０２の仮想的なカメラ位置の動きを抑制することができる。すなわち、カメラ１０１およびカメラ１０２の光軸間隔をあまり変化させずに、輻輳角または視野方向を変化させることが可能となる。
【００３１】
カメラ１０１は、光学レンズと、受光画素と、ＡＤＣ（Ａｎａｌｏｇ−ｔｏ−Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ）とを含む撮像ユニットである。カメラ１０１は、さらに色フィルタを含んでもよい。カメラ１０２の構成は、カメラ１０１と同一または類似であり得る。
【００３２】
カメラ１０１は、後述される第１の導光系からの入射光をレンズにより受光画素に結像し、アナログ／デジタル変換を行って、第１の画像を生成する。カメラ１０１は、第１の画像を画像処理装置３００へ送る。同様に、カメラ１０２は、後述される第２の導光系からの入射光をレンズにより受光画素に結像し、アナログ／デジタル変換を行って、第２の画像を生成する。カメラ１０２は、第２の画像を画像処理装置３００へ送る。なお、第１の画像および／または第２の画像は、後述されるように、ステレオカメラ１００を基準とした被写体３０の相対速度を算出するために利用されることがある。この場合に、第１の画像および／または第２の画像は、機構制御部２００へも送られてよい。
【００３３】
第１の画像および第２の画像は、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブル、光ファイバケーブル、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ケーブル、などの有線通信Ｉ／Ｆを介して、または例えばＢｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ（登録商標）などの無線通信技術を利用する無線通信Ｉ／Ｆを介して送信され得る。
【００３４】
カメラ１０１は、例えばその背面（光学レンズの備え付けられた面に対する裏面）が支持部材１３１に固定されており、可動部材１２１および可動部材１２２の回転による影響は実質的に受けない。すなわち、カメラ１０１の現実の位置および姿勢が、可動部材１２１および可動部材１２２の回転角により変化することはない。同様に、カメラ１０２は、例えばその背面が支持部材１３２に固定されており、可動部材１２１および可動部材１２２の回転による影響は実質的に受けない。すなわち、カメラ１０２の現実の位置および姿勢が、可動部材１２１および可動部材１２２の回転角により変化することはない。図１の例では、カメラ１０１およびカメラ１０２は、互いに背中合わせとなるように支持部材１３１および支持部材１３２にそれぞれ固定されているが、カメラ１０１の背面とカメラ１０２の背面との間に、プロジェクター２０が配置されてもよい。これにより、ステレオカメラ１００およびプロジェクター２０を同一の筐体に収容することができる。他方、ステレオカメラ１００を収容する筐体をコンパクト化する観点から、ステレオカメラ１００およびプロジェクター２０を別々の筐体に収容してもよい。
【００３５】
第１の導光系は、少なくとも１枚のミラーである第１のミラー群を含み、カメラ１０１へ第１の光線を含む入射光を導く。可動ミラー１１１は、この第１のミラー群に含まれる。同様に、第２の導光系は、少なくとも１枚のミラーである第２のミラー群を含み、カメラ１０２へ第２の光線を含む入射光を導く。可動ミラー１１２は、この第２のミラー群に含まれる。
【００３６】
カメラ１０１の仮想的なカメラ位置および／または姿勢は、第１の導光系の構成、例えば第１の導光系に含まれる１枚以上の可動ミラーの回転角に依存する。具体的には、カメラ１０１の仮想的なカメラ位置および／または姿勢は、第１のミラー群のうち第１の光線の光路上でカメラ１０１から最も遠いミラー（図１の例では可動ミラー１１１）における入射光としての第１の光線を仮想的に延長した直線に基づいて決まる。同様に、カメラ１０２の仮想的なカメラ位置および／または姿勢は、第２の導光系の構成、例えば第２の導光系に含まれる１枚以上の可動ミラーの回転角に依存する。具体的には、カメラ１０２の仮想的なカメラ位置および／または姿勢は、第２のミラー群のうち第２の光線の光路上でカメラ１０２から最も遠いミラー（図１の例では可動ミラー１１２）における入射光としての第２の光線を仮想的に延長した直線に基づいて決まる。
【００３７】
可動ミラー１１１の回転角が変化すると、カメラ１０１の仮想的なカメラ位置および／または姿勢は変化する。同様に、可動ミラー１１２の回転角が変化すると、カメラ１０２の仮想的なカメラ位置および／または姿勢は変化する。
【００３８】
可動ミラー１１１には、その回転角を正確に検出するために、図１には示されていない角位置センサ１８１が取り付けられ得る。角位置センサ１８１は、例えばロータリエンコーダである。角位置センサ１８１は、検出した回転角を示すデジタル信号を生成し、これを機構制御部２００へ出力する。
【００３９】
同様に、可動ミラー１１２には、その回転角を正確に検出するために、図１には示されていない角位置センサ１８２が取り付けられ得る。角位置センサ１８２は、例えばロータリエンコーダである。角位置センサ１８２は、検出した回転角を示すデジタル信号を生成し、これを機構制御部２００へ出力する。
【００４０】
なお、可動ミラー１１１および可動ミラー１１２は、片面が反射面として形成された板状のミラーであってもよいし、両面が反射面として形成された板状のミラーであってもよい。或いは、可動ミラー１１１および可動ミラー１１２は、３以上の側面が反射面として形成された多角柱状のミラーであってもよい。反射面の数が多いほど、上述の既定範囲の合計をより大きくすることが可能となる。
【００４１】
次に、図５、図６および図７にステレオカメラ１００のＸＺ平面（正面）、ＹＺ平面（側面）およびＸＹ平面（底面）の様子をそれぞれ示す。図５および図６において、Ｚ軸方向が鉛直方向に相当する。すなわち、図５乃至図７の例では、ステレオカメラ１００の下方に被写体３０が配置されていることになる。しかしながら、これは実装例の１つに過ぎず、図５が底面図かつ図７が正面図である、すなわち被写体３０およびステレオカメラ１００は鉛直方向上で重なり合っていない、と解することもできる。
【００４２】
図５乃至図７の例では、ステレオカメラ１００は、図１において説明した要素に加えて、ベース部材１４０と、ギア１６１と、ギア１６２と、モータ１７１と、モータ１７２とを含む。
【００４３】
ベース部材１４０は、第１の面と、第２の面と、第１の面および第２の面の間を貫く複数の孔とを有する。図５では、第１の面が描かれているものの、第２の面は第１の面の反対側の面であるため、また孔は可動部材１２１、可動部材１２２、ギア１６１およびギア１６２によって遮蔽されているため、描かれていない。可動部材１２１および可動部材１２２は、それぞれベース部材１４０の孔を貫通するように配置されている。
【００４４】
なお、ベース部材１４０は、可動部材１２１およびギア１６１が貫通する２つの孔を有する第１のベース部材と、可動部材１２２およびギア１６２が貫通する２つの孔を有する第２のベース部材とで構成されてもよい。また、図７では、ベース部材１４０は、それぞれ複数の孔を有する２つの板状部材と当該２つの板状部材を接続する接続部材とで構成されているが、ベース部材１４０は断面がＨ字型の柱状部材として形成されてもよい。
【００４５】
可動部材１２１は、その長手方向の一端に周方向へ突出したギア状の突起部を有している。ここで、可動部材１２１の長手方向は、Ｙ軸に沿っている。可動部材１２１は、この突起部をベース部材１４０の第１の面に掛けた状態で、当該可動部材１２１の一部が第２の面から露出するように孔を貫通している。また、可動部材１２１の突起部は、ギア１６１と噛み合うように配置される。故に、可動部材１２１は、この突起部がベース部材１４０の第１の面に掛かった状態で、支持部材１３１および支持部材１３２ならびに可動部材１２２と独立して、ギア１６１の回転に連動して当該可動部材１２１の長手方向を軸とした、すなわちＹ軸周りの回転が可能である。
【００４６】
同様に、可動部材１２２は、その長手方向の一端に周方向へ突出したギア状の突起部を有している。ここで、可動部材１２２の長手方向は、Ｙ軸に沿っている。可動部材１２２は、この突起部をベース部材１４０の第１の面に掛けた状態で、当該可動部材１２２の一部が第２の面から露出するように孔を貫通している。また、可動部材１２２の突起部は、ギア１６２と噛み合うように配置される。故に、可動部材１２２は、この突起部がベース部材１４０の第１の面に掛かった状態で、支持部材１３１および支持部材１３２ならびに可動部材１２１と独立して、ギア１６２の回転に連動して当該可動部材１２２の長手方向を軸とした、すなわちＹ軸周りの回転が可能である。
【００４７】
ギア１６１は、モータ１７１のシャフトの先端に取り付けられ、可動部材１２１の突起部と噛み合うように、ベース部材１４０の第１の面上に配置される。同様に、ギア１６２は、モータ１７２のシャフトの先端に取り付けられ、可動部材１２２の突起部と噛み合うように、ベース部材１４０の第１の面上に配置される。
【００４８】
モータ１７１は、そのシャフトの先端の一部がベース部材１４０の第１の面から露出するように孔を貫通しており、その露出部分にはギア１６１が取り付けられる。モータ１７１は、電気信号を受け取り、その電気的エネルギーを力学的エネルギーに変換し、この力学的エネルギーによってギア１６１をＹ軸周りに回転駆動する。すなわち、モータ１７１は、ギア１６１を介して可動部材１２１に伝えられ、最終的に可動ミラー１１１に伝えられる回転駆動力を発生する。なお、モータ１７１は、第１の光線を含むカメラ１０１への入射光の光路を妨げないように配置され得る。例えば、モータ１７１は、カメラ１０１との間に第１の導光系が収まるように配置され得る。
【００４９】
同様に、モータ１７２は、そのシャフトの先端の一部がベース部材１４０の第１の面から露出するように孔を貫通しており、その露出部分にはギア１６２が取り付けられる。モータ１７２は、電気信号を受け取り、その電気的エネルギーを力学的エネルギーに変換し、この力学的エネルギーによってギア１６２をＹ軸周りに回転駆動する。すなわち、モータ１７２は、ギア１６２を介して可動部材１２２に伝えられ、最終的に可動ミラー１１２に伝えられる回転駆動力を発生する。モータ１７２は、第２の光線を含むカメラ１０２への入射光の光路を妨げないように配置され得る。例えば、モータ１７２は、カメラ１０２との間に第２の導光系が収まるように配置され得る。
【００５０】
モータ１７１およびモータ１７２は、互いに独立の電気信号により制御され得る。これらの電気信号は、機構制御部２００から供給され得る。図５乃至図７に例示されるステレオカメラ１００によれば、可動ミラー１１１および可動ミラー１１２のＹ軸周りの回転角、すなわちカメラ１０１およびカメラ１０２の仮想的な位置および／または姿勢を例えば被写体３０を追従するように電気的に制御することができる。
【００５１】
ステレオカメラ１００における各種構造部品、具体的には、可動部材１２１、可動部材１２２、支持部材１３１、支持部材１３２、ベース部材１４０、ギア１６１、およびギア１６２の一部または全部には、例えばマグネシウムなどの軽金属、またはＰＰＳ（Ｐｏｌｙｐｈｅｎｙｌｅｎｅ  ｓｕｌｆｉｄｅ）などの樹脂、といった軽量性および強度に優れた素材が用いられ得る。かかる素材を適切に用いることで、多眼カメラ装置を実用的な強度を維持しながらも軽量に構成することが可能である。
【００５２】
次に、図３を用いて、機構制御部２００の構成例を説明する。図３の機構制御部２００は、画像取得部２０１と、画像記憶部２０２と、目標速度決定部２０３と、回転速度算出部２１１と、回転速度算出部２１２と、モータ制御部２２１と、モータ制御部２２２と、誤差算出部２４１と、誤差算出部２４２とを含む。
【００５３】
画像取得部２０１は、例えば、通信Ｉ／Ｆおよびプロセッサにより実現され得る。ここで、プロセッサは、典型的にはＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）および／またはＧＰＵ(Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ)であるが、マイコン、ＦＰＧＡ(Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ)、またはＤＳＰ(Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ)、などであってもよい。画像取得部２０１は、カメラ１０１および／またはカメラ１０２から、第１の画像および／または第２の画像を複数時点に亘って取得する。画像取得部２０１は、取得した画像を画像記憶部２０２に保存する。なお、これらの第１の画像および／または第２の画像が撮影されている間、可動ミラー１１１および／または可動ミラー１１２は回転されないものとする。
【００５４】
画像記憶部２０２は、例えば、メモリ、および／または補助記憶装置により実現され得る。ここで、メモリは、種々の処理を実現するためにプロセッサによって実行されるプログラムおよび当該プログラムによって使用されるデータなどを一時的に格納する。また、補助記憶装置は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、フラッシュメモリ、などであってよい。画像記憶部２０２は、画像取得部２０１によって複数時点に亘って取得された画像を保存する。画像記憶部２０２に保存された画像は、目標速度決定部２０３によって読み出される。
【００５５】
目標速度決定部２０３は、例えば、プロセッサにより実現され得る。画像記憶部２０２に保存された、複数時点に亘る第１の画像および／または複数時点に亘る第２の画像を読み出す。そして、目標速度決定部２０３は、複数時点に亘る第１の画像（または第２の画像）における被写体３０の軌跡に基づいて、ステレオカメラ１００を基準とする被写体３０の相対速度を推定する。例えば、目標速度決定部２０３は、第１の時点に撮影された第１の画像における被写体３０の位置と、第２の時点に撮影された第２の画像における被写体３０の位置と、第１の時点と第２の時点との時間差に基づいて相対速度を推定してもよい。具体的には、目標速度決定部２０３は、画像における被写体３０の変位を当該変位に要した時間で除算することにより、相対速度を推定してもよい。目標速度決定部２０３は、推定した相対速度に基づいて、例えば当該相対速度に略比例するように、目標速度を決定し、決定した目標速度を回転速度算出部２１１に通知する。
【００５６】
なお、目標速度決定部２０３は、ステレオカメラ１００を基準とする被写体３０の相対速度が、例えば、ベルトコンベアーの制御データ、人間による入力データ、速度センサの出力、などにより既知である場合には、この既知の相対速度に基づいて目標速度として決定してもよい。換言すれば、目標速度決定部２０３は、複数時点に亘る第１の画像（または第２の画像）から被写体３０の相対速度を推定しなくてもよいことがある。故に、画像取得部２０１および画像記憶部２０２は不要となり得る。
【００５７】
ところで、ステレオカメラ１００から見た被写体３０の移動方向は、例えば図１に示すＸ軸に略平行であることが好ましい。より一般化すれば、被写体３０は、ステレオカメラ１００から見て、可動ミラー１１１（または可動ミラー１１２）の回転軸（これは、Ｙ軸に平行）に略垂直な平面（例えばＸＺ平面）上を移動することが好ましい。これにより、可動ミラー１１１（または可動ミラー１１２）は、１つの軸周りに回転するだけで、被写体３０を追従することが可能となる。
【００５８】
回転速度算出部２１１は、例えば、プロセッサにより実現され得る。回転速度算出部２１１は、少なくとも、目標速度決定部２０３からの目標速度と、可動ミラー１１１の過去の（典型的には、前回の）目標回転角とに基づいて、モータ１７１に必要とされる回転速度である第１の指定回転速度を算出する。回転速度算出部２１１は、第１の指定回転速度をモータ制御部２２１に通知する。
【００５９】
同様に、回転速度算出部２１２は、例えば、プロセッサにより実現され得る。回転速度算出部２１２は、少なくとも、目標速度決定部２０３からの目標速度と、可動ミラー１１２の過去の（典型的には、前回の）目標回転角とに基づいて、モータ１７２に必要とされる回転速度である第２の指定回転速度を算出する。回転速度算出部２１２は、第２の指定回転速度をモータ制御部２２２に通知する。
【００６０】
なお、可動ミラー１１１（または可動ミラー１１２）の目標回転角は、例えば回転速度算出部２１１（または回転速度算出部２１２）がこれまで算出した第１の指定回転速度（または第２の指定回転速度）の時間積分、すなわちモータ１７１（またはモータ１７２）の累積回転角、に基づいて算出することができる。具体的には、可動ミラー１１１（または可動ミラー１１２）の累積回転角は、モータ１７１（またはモータ１７２）の累積回転角に略比例し、その比例定数は例えばギア１６１および可動部材１２１（またはギア１６２および可動部材１２２）のギア比により算出可能である。回転速度算出部２１１（または回転速度算出部２１２）は、可動ミラー１１１（または可動ミラー１１２）の目標回転角を誤差算出部２４１（または誤差算出部２４２）に通知する。
【００６１】
ここで、第１の指定回転速度（または第２の指定回転速度）は、可動ミラー１１１（または可動ミラー１１２）が常にその時点の目標回転角に正しく位置していることを前提とすれば、可動ミラー１１１の目標回転角の（単位時間内の）更新量に略比例する。この目標回転角の更新量は、例えば以下のように定めることができる。
【００６２】
図１３および図１４に、可動ミラー１１２と、被写体３０との位置関係が例示されている。時刻ｔにおける、可動ミラー１１２の回転角をθ（ｔ）とし、被写体３０のＸ軸方向の位置をｘ（ｔ）とする。また、可動ミラー１１２からベルトコンベアーまでの距離をｄとする。かかる条件の下では、下記数式（１）が成立し続けるように、可動ミラー１１２の回転角を制御すれば、被写体３０の動きに関わらず第２の画像において当該被写体３０を同一の位置、例えば画像中心に捉え続けることができる。
【数１】
2020068426.tif 000003
【００６３】
すなわち、任意の時刻ｔから（微小）単位時間Δｔ経過した時の、ｘ（ｔ）の変位と、−ｄ×ｃｏｔ（２θ（ｔ））の変位とが一致するように、単位時間Δｔ後の可動ミラー１１２の目標回転角θ（ｔ＋Δｔ）を定めればよい。具体的には、回転速度算出部２１２は、以下の数式（２）に示すように、可動ミラー１１２の回転角の倍角２θ（ｔ）に対応する正接の逆数ｃｏｔ（２θ（ｔ））の変化速度が、時刻ｔにおける被写体３０の相対速度ｖ（ｔ）に比例する目標速度−ｖ（ｔ）／ｄに略一致するように、可動ミラーの時刻ｔにおける目標回転角θ（ｔ）に基づいて可動ミラー１１２の目標回転角の更新量を算出すればよい。
【数２】
2020068426.tif 000004
【００６４】
そして、数式（２）は、以下のように書き換えることができる。
【数３】
2020068426.tif 000005
【００６５】
故に、回転速度算出部２１２は、可動ミラー１１２の目標回転角の更新量Δθ（ｔ）（＝θ（ｔ＋Δｔ）−θ（ｔ））は、下記数式（３）により算出することができる。
【数４】
2020068426.tif 000006
【００６６】
ここで、前述のように、モータ１７１（またはモータ１７２）の累積回転角は、可動ミラー１１１（または可動ミラー１１２）の累積回転角に略比例し、逆もまた成り立つ。そして、第１の指定回転速度（または第２の指定回転速度）は、モータ１７１（またはモータ１７２）に要求される回転速度である。故に、第１の指定回転速度（または第２の指定回転速度）は、可動ミラー１１１の目標回転角の単位時間内の更新量に比例定数を乗じて得られる、モータ１７１（またはモータ１７２）に当該単位時間内に要求される回転角を、当該単位時間で除算することで算出可能である。
【００６７】
ただし、ここで説明した第１の指定回転速度（または第２の指定回転速度）の導出は、前述のように、可動ミラー１１１（または可動ミラー１１２）が常にその時点の目標回転角に正しく位置していることを前提としている。しかしながら、一般に、モータ１７１（またはモータ１７２）が制御値に厳密に一致する速度で回転することは困難であり、可動ミラー１１１（または可動ミラー１１２）の真の回転角は目標回転角に対して誤差を伴うであろう。
【００６８】
例えば、ステレオカメラ１００から被写体３０までの距離が５ｍであって、回転角の誤差が０．１度であったとすると、画像は約９ｍｍずれることになる。ステレオカメラ１００の焦点距離を１０ｍｍ、画素サイズを５μｍと仮定すれば、このずれは画像上で被写体３０の位置が０．３画素分ずれることに相当する。この例では、被写体３０の位置のずれは１画素未満に収まっているが、このずれ量は回転誤差が大きくなるほど大きくなる。さらに、かかる誤差を放置して第１の指定回転速度（または第２の指定回転速度）を算出し続ければ、誤差が累積し次第に無視できない大きさになり得る。このような、回転角の誤差による画像上での被写体３０の位置のずれが顕在化すれば、画像処理装置３００において行われる３次元計測の精度が低下するとともに、追従制御が破綻するおそれがある。
【００６９】
そこで、回転速度算出部２１１（または回転速度算出部２１２）は、誤差算出部２４１（または誤差算出部２４２）から第１の誤差データ（または第２の誤差データ）を取得し、当該第１の誤差データの示す誤差を前述の目標回転角の更新量からキャンセルして、第１の指定回転速度（または第２の指定回転速度）を算出してもよい。
【００７０】
後述するように、誤差算出部２４１（または誤差算出部２４２）からの第１の誤差データ（または第２の誤差データ）は、角位置センサ１８１（または角位置センサ１８２）によって検出された可動ミラー１１１（または可動ミラー１１２）の回転角と、その検出時点における可動ミラー１１１の目標回転角との誤差を表す。
【００７１】
このように、可動ミラー１１１（または可動ミラー１１２）のより正確な回転角に基づいて第１の指定回転速度（または第２の指定回転速度）を算出することで、モータ１７１（またはモータ１７２）によって生じる可動ミラー１１１の回転角の誤差を縮小しようとする負帰還制御が働く。故に、かかる誤差による、画像処理装置３００における３次元計測の精度低下、追従制御の破綻、などを防止することができる。
【００７２】
モータ制御部２２１は、例えばモータドライバを含む。モータ制御部２２１は、回転速度算出部２１１から第１の指定回転速度を通知される。モータ制御部２２１は、第１の指定回転速度に従って、モータ１７１の回転速度を制御する。例えば、モータ制御部２２１は、回転速度に応じた電圧、電流、および／またはパルス幅を持つ電気信号をモータ１７１に供給する。
【００７３】
同様に、モータ制御部２２２は、例えばモータドライバを含む。モータ制御部２２２は、回転速度算出部２１２から第２の指定回転速度を通知される。モータ制御部２２２は、第２の指定回転速度に基づいて、モータ１７２の回転速度を制御する。例えば、モータ制御部２２２は、回転速度に応じた電圧、電流、および／またはパルス幅を持つ電気信号をモータ１７２に供給する。
【００７４】
誤差算出部２４１は、例えば、プロセッサにより実現され得る。誤差算出部２４１は、角位置センサ１８１から可動ミラー１１１の（角位置センサ１８１によって検出された）回転角を示すデジタル信号を受け取り、回転速度算出部２１１からこの回転角の検出時点における可動ミラー１１１の目標回転角を通知される。誤差算出部２４１は、可動ミラー１１１の回転角の目標回転角に対する誤差を算出する。誤差算出部２４１は、第１の誤差データを、回転速度算出部２１１および／または画像処理装置３００へ送る。
【００７５】
同様に、誤差算出部２４２は、例えば、プロセッサにより実現され得る。誤差算出部２４２は、角位置センサ１８２から可動ミラー１１２の（角位置センサ１８２によって検出された）回転角を示すデジタル信号を受け取り、回転速度算出部２１２からこの回転角の検出時点における可動ミラー１１２の目標回転角を通知される。誤差算出部２４２は、可動ミラー１１２の回転角の目標回転角に対する誤差を算出する。誤差算出部２４２は、第２の誤差データを、回転速度算出部２１２および／または画像処理装置３００へ送る。
【００７６】
以下、図８を用いて、図３の機構制御部２００の動作例を説明する。  
まず、モータ制御部２２１およびモータ制御部２２２は、可動ミラー１１１および可動ミラー１１２の回転角が既定の初期回転角に一致するように、モータ１７１およびモータ１７２を制御する（ステップＳ４０１）。なお、可動ミラー１１１および可動ミラー１１２の回転角が既定の初期回転角に略一致していることを検証するために、角位置センサ１８１および角位置センサ１８２の出力がモニタリングされてもよい。
【００７７】
ステップＳ４０１の後、被写体３０が検出されるまで機構制御部２００は待機する（ステップＳ４０２）。被写体３０が検出されると、処理はステップＳ４０３へ進む。被写体３０は、例えば第１の画像および／または第２の画像の解析結果に基づいて検出されてもよいし、赤外線、超音波、可視光などのセンサによって検出されてもよい。
【００７８】
ステップＳ４０３において、目標速度決定部２０３は、被写体３０の相対速度に基づいて目標速度を決定する。次に、回転速度算出部２１１および回転速度算出部２１２は、ステップＳ４０３において決定された目標速度と過去のステップＳ４０４の実行時に算出された第１の指定回転速度および第２の指定回転速度とに基づいて、第１の指定回転速度および第２の指定回転速度をそれぞれ算出する（ステップＳ４０４）。なお、第１の指定回転速度および第２の指定回転速度は、過去のステップＳ４０７の実行時に生成された第１の誤差データおよび第２の誤差データにさらに基づいてそれぞれ算出されてもよい。
【００７９】
続いて、モータ制御部２２１およびモータ制御部２２２は、ステップＳ４０４において算出された指定回転速度に従って、モータ１７１およびモータ１７２をそれぞれ制御する（ステップＳ４０５）。
【００８０】
他方、角位置センサ１８１および角位置センサ１８２は、可動ミラー１１１および可動ミラー１１２の回転角を検出する（ステップＳ４０６）。そして、誤差算出部２４１および誤差算出部２４２は、ステップＳ４０６においてそれぞれ検出された可動ミラー１１１および可動ミラー１１２の回転角の、その検出時点における可動ミラー１１１および可動ミラー１１２の目標回転角に対する誤差をそれぞれ算出する（ステップＳ４０７）。
【００８１】
被写体３０の撮影が終了すると図８の動作は終了し、被写体３０の撮影が終了していなければ処理はステップＳ４０３に戻る（ステップＳ４０８）。ここで、被写体３０の相対速度が略一定である場合には、処理はステップＳ４０３ではなくステップＳ４０４に戻ってもよい。被写体３０の撮影の終了は、例えば、可動ミラー１１１および／または可動ミラー１１２の回転角が既定範囲を逸脱したか否かにより判定されてもよいし、第１の画像および／または第２の画像の解析結果に基づいて判定されてもよいし、赤外線、超音波、可視光などのセンサの出力に基づいて判定されてもよい。
【００８２】
次に、図４を用いて、画像処理装置３００の構成例を説明する。図４の画像処理装置３００は、画像取得部３０１と、誤差取得部３０２と、画像補正部３０３と、視差推定部３０４と、距離推定部３０５とを含む。
【００８３】
画像取得部３０１は、例えば、通信Ｉ／Ｆおよびプロセッサにより実現され得る。画像取得部３０１は、カメラ１０１およびカメラ１０２から、第１の画像および第２の画像を取得する。画像取得部３０１は、取得した画像を画像補正部３０３へ送る。
【００８４】
誤差取得部３０２は、例えば、通信Ｉ／Ｆおよびプロセッサにより実現され得る。誤差取得部３０２は、機構制御部２００の誤差算出部２４１および誤差算出部２４２から、第１の誤差データおよび第２の誤差データをそれぞれ取得する。誤差取得部３０２は、取得した第１の誤差データおよび第２の誤差データを画像補正部３０３へ送る。
【００８５】
画像補正部３０３は、例えば、プロセッサにより実現され得る。画像補正部３０３は、画像取得部３０１から第１の画像および第２の画像を受け取り、誤差取得部３０２から第１の誤差データおよび第２の誤差データを受け取る。画像補正部３０３は、第１の画像を第１の誤差データに基づいて補正して第１の補正画像を生成し、第２の画像を第２の誤差データに基づいて補正して第２の補正画像を生成する。例えば、画像補正部３０３は、第１の誤差データ（または第２の誤差データ）の示す回転角の誤差をキャンセルするように第１の画像（または第２の画像）を変換することで、当該第１の画像を補正してもよい。
【００８６】
視差推定部３０４は、例えば、プロセッサにより実現され得る。視差推定部３０４は、画像補正部３０３から第１の補正画像および第２の補正画像を受け取る。視差推定部３０４は、第１の補正画像および第２の補正画像に基づいて、任意の画素に関するカメラ１０１およびカメラ１０２の視差を推定する。そして、視差推定部３０４は、視差推定結果を距離推定部３０５へ送る。
【００８７】
具体的には、視差推定部３０４は、まず、第１の補正画像における画素の１つを注目画素として決定する。なお、以降の説明では、第１の補正画像から注目画素を決定することとするが、第２の補正画像から注目画素を決定することも可能である。後者の場合には、以降の説明において「第１の補正画像」および「第２の補正画像」の用語を適宜読み替えればよい。
【００８８】
視差推定部３０４は、決定した注目画素を含む第１の画素ブロックを第１の補正画像から抽出する。それから、視差推定部３０４は、第１の画素ブロックに対応する第２の画素ブロックを第２の補正画像から探索する。
【００８９】
視差推定部３０４は、注目画素を変更しながら第１の補正画像の各画素について上記探索処理を繰り返す。これにより、第１の補正画像内の各画素について、第２の補正画像とのマッチングが行われる。マッチング結果は、例えば第１の補正画像の各画素（マッチングに成功した画素）の座標（位置）と、第２の補正画像において当該画素に対応するとして探索された画素の座標とを含み得る。
【００９０】
視差推定部３０４は、マッチング結果に基づいて、第１の補正画像内の各画素（マッチングに成功した画素）に関するカメラ１０１およびカメラ１０２の視差を推定する。視差推定結果は、例えば第１の補正画像の各画素の座標と当該画素に関する視差ベクトルとを含み得る。
【００９１】
距離推定部３０５は、例えば、プロセッサにより実現され得る。距離推定部３０５は、視差推定部３０４から視差推定結果を受け取り、当該視差推定結果に基づいて、第１の画像内の画素（マッチングに成功した画素）毎に、カメラ１０１およびカメラ１０２から被写体３０における当該画素に対応する点までの距離、すなわち深度を推定する。距離推定結果は、例えば第１の画像の各画素の座標と当該画素の深度とを含み得る。距離推定結果は、いわゆる深度マップであってもよい。距離推定結果は、例えば被写体３０の３次元形状を推定するために利用されてもよい。被写体３０の３次元形状は、例えば図示されない外部装置によって推定されてもよいし、画像処理装置３００に含まれ得る図示されない３次元形状推定部によって推定されてもよい。
【００９２】
以下、図９を用いて、図４の画像処理装置３００の動作例を説明する。  
まず、画像取得部３０１は、カメラ１０１およびカメラ１０２から第１の画像（データ）および第２の画像（データ）をそれぞれ取得する（ステップＳ５０１）。他方、誤差取得部３０２は、機構制御部２００の誤差算出部２４１および誤差算出部２４２から第１の誤差データおよび第２の誤差データをそれぞれ取得する（ステップＳ５０２）。
【００９３】
画像補正部３０３は、ステップＳ５０１において取得された第１の画像および第２の画像を、ステップＳ５０２において取得された第１の誤差データおよび第２の誤差データに基づいてそれぞれ補正して第１の補正画像および第２の補正画像をそれぞれ生成する（ステップＳ５０３）。
【００９４】
視差推定部３０４は、ステップＳ５０３において生成された第１の補正画像および第２の補正画像に基づいて、任意の画素に関するカメラ１０１およびカメラ１０２の視差を推定する（ステップＳ５０４）。距離推定部３０５は、ステップＳ５０４における視差推定結果に基づいて、任意の画素に関して、カメラ１０１およびカメラ１０２から被写体３０における当該画素に対応する点までの距離を推定する（ステップＳ５０５）。
【００９５】
以上説明したように、実施形態に係る多眼カメラ装置は、各カメラへ光線を導く導光系を備えており、この各導光系はモータによって回転される可動ミラーを含む。そして、この多眼カメラ装置は、各可動ミラーが被写体の動きを追従するように、当該可動ミラーに対応するモータを制御する。具体的には、この多眼カメラ装置は、モータに要求される回転速度を、少なくとも目標速度と当該可動ミラーの過去の目標回転角とに基づいて微小単位時間毎に繰り返し算出して更新することで、当該モータに対応する可動ミラーに被写体の動きを追従させる。このように、この多眼カメラ装置は、モータを固定速度で回転させるのでなく、その時々の目標速度と当該可動ミラーの（目標）回転角とに応じて当該可動ミラーに対応するモータの回転速度を可変に制御する。故に、この多眼カメラ装置によれば、被写体が多眼カメラ装置に近い（例えば、被写体が多眼カメラ装置の真正面にある）時であろうと、被写体が多眼カメラ装置から遠い（例えば、被写体が多眼カメラ装置をと要りすぎる前、または後）時であろうと、換言すれば広い角度範囲に亘って、当該被写体の動きを追従することが可能となる。
【００９６】
また、この多眼カメラ装置は、可動ミラー、可動部材、ギア、などの限られた部品をモータにより駆動するので、カメラ、すなわちレンズ、受光画素およびＡＤＣなどを含む撮像ユニット全体を駆動する場合に比べて、被写体に対する高い追従性能を実現する。すなわち、多眼カメラ装置および／または被写体が高速に動く場合にも、被写体を追従することができる。さらに、この多眼カメラ装置は、被写体を追従するためにカメラを動かす必要がないので、当該カメラに接続されたケーブルの摩耗、断線が生じにくい。
【００９７】
なお、ステレオカメラ１００および機構制御部２００のうち、カメラ１０１およびカメラ１０２以外の要素の一部または全部をまとめて、ミラー可動機構と呼ぶこともできる。このミラー可動機構は、多眼カメラのアタッチメントであってよい。例えば、可動ミラー１１１、可動ミラー１１２、可動部材１２１、可動部材１２２、モータ１７１、モータ１７２、モータ制御部２２１、およびモータ制御部２２２を含むミラー可動機構を、通常のステレオカメラに取り付けることで、被写体追従可能な多眼カメラ装置を構成することができる。
【００９８】
（変形例１）  
前述のように、実施形態に係る多眼カメラ装置を含む３次元計測システムは、移動しながら撮影を行うために移動体（ドローンなどの航空機、車両を含む）に搭載され得る。例えば図１０に示されるように、多眼カメラ装置は、空撮のためにドローン６０の底面に取り付けられ得る。なお、これに限らず、多眼カメラ装置は、任意の移動体の上面、底面、正面、背面、および／または側面に取り付けられ得る。
【００９９】
図１０の例において、被写体３０は静止しているものとするが、可動としてもよい。ただし、被写体３０の移動方向は、ドローン６０の移動方向と平行であることが好ましい。
【０１００】
ドローン６０は、回転翼６１および回転翼６２を含む複数（例えば、４枚）の回転翼を備えており、各回転翼の回転方向および／または回転速度を適切に制御することにより、上昇、下降、前進、後退、旋回、など空中を自在に移動することができる。
【０１０１】
ただし、可動ミラー１１１、可動ミラー１１２、可動部材１２１および可動部材１２２が、Ｙ軸周りに回転するのであれば、ドローン６０は少なくとも被写体３０の撮影時には例えば図１０に示すＸ軸に略平行に移動することが好ましい。より一般化すれば、ドローン６０は、可動ミラー１１１（または可動ミラー１１２）の回転軸（これは、Ｙ軸に平行）に略垂直な平面（例えばＸＺ平面）上を移動することが好ましい。
【０１０２】
なお、被写体３０が静止している場合には、ステレオカメラ１００を基準とする被写体３０の相対速度はドローン６０の移動速度に相当し、当該ドローン６０の移動速度に基づいて、例えば略比例するように、前述の目標速度が決定されることになる。ドローン６０の移動速度は、複数時点に亘る第１の画像（または第２の画像）から推定する必要があるかもしれないし、例えば、ドローン６０の制御データ、人間による入力データ、当該ドローン６０に搭載された図示されない速度センサの出力、などにより既知であるかもしれない。ここで、ドローン６０の移動速度は、可変であってもよい。この場合には、目標速度をドローン６０の移動速度の変化に応じて動的に決定すればよい。
【０１０３】
（変形例２）  
前述の実施形態では、図１に例示されたように、カメラ１０１およびこれに付随する要素（可動ミラー１１１、可動部材１２１、支持部材１３１、など）と、カメラ１０２およびこれに付随する要素（可動ミラー１１２、可動部材１２２、支持部材１３２、など）とが、Ｘ軸方向に沿って並んで配置される。しかしながら、図１１および図１２に例示されるように、カメラ１０１およびこれに付随する要素と、カメラ１０２およびこれに付随する要素とは、Ｙ軸方向に沿って並んで配置されてもよい。
【０１０４】
このような配置によれば、可動ミラー１１１および可動ミラー１１２の目標回転角が共通となるので、可動ミラー１１１および可動ミラー１１２の目標回転角を個別に算出する場合に比べて、第１の指定回転速度および第２の指定回転速度を算出するために要求される計算量を削減することができる。
【０１０５】
（変形例３）  
前述の実施形態では、画像処理装置３００は、第１の誤差データおよび第２の誤差データに基づいて第１の画像および第２の画像をそれぞれ補正して第１の補正画像および第２の補正画像をそれぞれ生成し、当該第１の補正画像および第２の補正画像に基づいて視差を推定し得る。
【０１０６】
しかしながら、画像処理装置３００における第１の誤差データおよび第２の誤差データの利用法はこれに限られない。例えば、視差推定部３０４は、第１の画像および第２の画像に基づいて視差を推定し、この視差推定結果を第１の誤差データおよび第２の誤差データに基づいて補正することで、最終的な視差推定結果を得るようにしてもよい。この場合に、画像補正部３０３は不要となり得る。
【０１０７】
（変形例４）  
前述の実施形態では、モータ１７１およびモータ１７２によってミラー１１１およびミラー１１２の回転を実現した。しかしながら、モータに限らずロータリーアクチュエータなどの任意の回転駆動機構が利用可能である。かかる回転駆動機構の一例が図１５および図１６に示される。図１５および図１６には、ミラー１１１に関する回転駆動機構が描かれているが、ミラー１１２に関しても同様の回転駆動機構が採用され得る。
【０１０８】
図１５および図１６に例示される回転駆動機構は、磁石１９１と、コイル１９２と、コイル保持部材１９３と、コイル１９４と、磁石１９５とを含む。磁石１９１および磁石１９５は、同じ極（図１５および図１６の例ではＮ極であり、以降の説明もこれを前提とする）を互いに向かい合わせるように配置される。
【０１０９】
コイル１９２およびコイル１９４は、磁石１９１および磁石１９５のＮ極側に巻き付けられており、その電流の向きおよび方向が機構制御部２００によって制御される。コイル１９２およびコイル１９４はともに、コイル保持部材１９３によって保持されている。すなわち、コイル１９２およびコイル１９４に同一方向の電流を流すことで、偶力を発生させてコイル保持部材１９３を回転させることができる。さらに、コイル１９２およびコイル１９４に流す電流の大きさおよび方向をそれぞれ制御することで、コイル保持部材１９３の回転角および回転方向をそれぞれ制御することができる。
【０１１０】
そして、図１５および図１６の例において、可動部材１２１は、その長手方向の一端にコイル保持部材１９３が取り付けられる。ここで、可動部材１２１の長手方向は、Ｙ軸に沿っている。故に、可動部材１２１は、支持部材１３１および支持部材１３２ならびに可動部材１２２と独立して、コイル保持部材１９３の回転に連動して当該可動部材１２１の長手方向を軸とした、すなわちＹ軸周りの回転が可能である。
【０１１１】
上述の実施形態は、本発明の概念の理解を助けるための具体例を示しているに過ぎず、本発明の範囲を限定することを意図されていない。実施形態は、本発明の要旨を逸脱しない範囲で、様々な構成要素の付加、削除または転換をすることができる。
【０１１２】
上述の実施形態では、いくつかの機能部を説明したが、これらは各機能部の実装の一例に過ぎない。例えば、１つの装置に実装されると説明された複数の機能部が複数の別々の装置に亘って実装されることもあり得るし、逆に複数の別々の装置に亘って実装されると説明された機能部が１つの装置に実装されることもあり得る。
【０１１３】
上記各実施形態において説明された種々の機能部は、回路を用いることで実現されてもよい。回路は、特定の機能を実現する専用回路であってもよいし、プロセッサのような汎用回路であってもよい。
【０１１４】
上記各実施形態の処理の少なくとも一部は、例えば汎用のコンピュータに搭載されたプロセッサを基本ハードウェアとして用いることでも実現可能である。上記処理を実現するプログラムは、コンピュータで読み取り可能な記録媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記録媒体に記憶される。記録媒体としては、磁気ディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等）、光磁気ディスク（ＭＯ等）、半導体メモリなどである。記録媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ（サーバ）上に格納し、ネットワーク経由でコンピュータ（クライアント）にダウンロードさせてもよい。
【符号の説明】
【０１１５】
１０・・・プロジェクター／カメラ制御部
２０・・・プロジェクター
３０・・・被写体
６０・・・ドローン
６１，６２・・・回転翼
１００・・・ステレオカメラ
１０１，１０２・・・カメラ
１１１，１１２・・・可動ミラー
１２１，１２２・・・可動部材
１３１，１３２・・・支持部材
１４０・・・ベース部材
１６１，１６２・・・ギア
１７１，１７２・・・モータ
１８１，１８２・・・角位置センサ
１９１，１９５・・・磁石
１９２，１９４・・・コイル
１９３・・・コイル保持部材
２００・・・機構制御部
２０１，３０１・・・画像取得部
２０２・・・画像記憶部
２０３・・・目標速度決定部
２１１，２１２・・・回転速度算出部
２２１，２２２・・・モータ制御部
２４１，２４２・・・誤差算出部
３００・・・画像処理装置
３０２・・・誤差取得部
３０３・・・画像補正部
３０４・・・視差推定部
３０５・・・距離推定部
【図１】
2020068426.tif 000007
【図２】
2020068426.tif 000008
【図３】
2020068426.tif 000009
【図４】
2020068426.tif 000010
【図５】
2020068426.tif 000011
【図６】
2020068426.tif 000012
【図７】
2020068426.tif 000013
【図８】
2020068426.tif 000014
【図９】
2020068426.tif 000015
【図１０】
2020068426.tif 000016
【図１１】
2020068426.tif 000017
【図１２】
2020068426.tif 000018
【図１３】
2020068426.tif 000019
【図１４】
2020068426.tif 000020
【図１５】
2020068426.tif 000021
【図１６】
2020068426.tif 000022