(57)【要約】【課題】簡単安価かつ小型軽量な構成により、ステレオカメラを構成する複数のカメラの撮像タイミングの時間差を小さくできるようにする。【解決手段】複数の単眼カメラ１０１、１０２の撮像タイミングを同期させて、各カメラにより被写体の画像を撮像し、被写体を３次元計測する。単眼カメラ１０１、１０２により、同期ずれ検出照明１０４〜１０７の光を撮像する。発光撮像工程で前記複数のカメラによりそれぞれ撮像した前記発光体の光像を用いて、各カメラの撮像タイミングの同期ずれを検出する。例えば、撮像した光像の各画像中における輝度パターン、各画像中における位置、あるいは各画像の輝度の比などに基づき、各カメラの撮像タイミングの同期ずれを検出する。【選択図】図１
2022003729.tif 000002
【特許請求の範囲】
【請求項１】
複数のカメラの撮像タイミングを同期させて、前記複数のカメラにより被写体の画像を撮像する撮像方法において、
前記複数のカメラにより発光体の光を撮像する発光撮像工程と、
前記発光撮像工程で前記複数のカメラによりそれぞれ撮像した前記発光体の光像を用いて、前記複数のカメラの撮像タイミングの同期ずれを検出する画像処理工程と、を含む撮像方法。
【請求項２】
請求項１に記載の撮像方法において、前記複数のカメラでそれぞれ撮像した前記被写体の画像により、前記被写体の３次元情報を取得する撮像方法。
【請求項３】
請求項１または２に記載の撮像方法において、前記画像処理工程で、前記複数のカメラによりそれぞれ撮像した前記発光体の光像の各画像中における輝度パターンに基づき、前記複数のカメラの撮像タイミングの同期ずれを検出する撮像方法。
【請求項４】
請求項１または２に記載の撮像方法において、前記画像処理工程で、前記複数のカメラによりそれぞれ撮像した前記発光体の光像の各画像中における位置に基づき、前記複数のカメラの撮像タイミングの同期ずれを検出する撮像方法。
【請求項５】
請求項１または２に記載の撮像方法において、前記画像処理工程で、前記複数のカメラによりそれぞれ撮像した画像の輝度の比に基づき、前記複数のカメラの撮像タイミングの同期ずれを検出する撮像方法。
【請求項６】
請求項１から３のいずれか１項に記載の撮像方法において、前記複数のカメラは３つ以上のカメラを含み、前記複数のカメラのうち２つのカメラの第１の組合せを前記発光撮像工程における前記発光体の光像の撮像に用い、前記画像処理工程を介して前記第１の組合せの２つのカメラの同期ずれを監視する撮像方法。
【請求項７】
請求項１から６のいずれか１項に記載の撮像方法において、前記複数のカメラが前記被写体を撮像した画像を複数フレーム、記憶部にそれぞれ保管し、前記画像処理工程で検出した前記同期ずれに基づき前記記憶部に保管した複数フレームの画像から前記複数のカメラの撮像タイミングが同期した画像を選択する制御工程を備えた撮像方法。
【請求項８】
請求項１から７のいずれか１項に記載の撮像方法の各工程を前記複数のカメラを制御するコンピュータに実行させる制御プログラム。
【請求項９】
請求項８に記載の制御プログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項１０】
複数のカメラの撮像タイミングを同期させて、前記複数のカメラにより被写体の画像を撮像する撮像システムにおいて、
前記複数のカメラにより発光体の光を撮像させ、前記複数のカメラによりそれぞれ撮像した前記発光体の光像に対する画像処理を介して、前記複数のカメラの撮像タイミングの同期ずれを検出する制御装置を備えた撮像システム。
【請求項１１】
請求項１０に記載の撮像システムにおいて、前記複数のカメラが、前記被写体の３次元情報を取得するステレオカメラを構成する撮像システム。
【請求項１２】
請求項１０または１１に記載の撮像システムにおいて、前記発光体が、前記複数のカメラを互いに位置決めする筐体に装着されている撮像システム。
【請求項１３】
請求項１０から１２のいずれか１項に記載の撮像システムにおいて、前記発光体の照射方向が前記複数のカメラの撮像光学系に向かう照射方向を含む撮像システム。
【請求項１４】
請求項１０から１３のいずれか１項に記載の撮像システムにおいて、前記複数のカメラが前記発光体により照射され、再帰反射材により反射された前記発光体の光像を撮像し、前記制御装置が前記光像に対する画像処理を介して、前記複数のカメラの撮像タイミングの同期ずれを検出する撮像システム。
【請求項１５】
請求項１０から１４のいずれか１項に記載の撮像システムにおいて、前記複数のカメラが前記被写体を撮像した画像を複数フレーム、保管する記憶部と、前記画像処理を介して検出した前記同期ずれに基づき前記記憶部に保管した複数フレームの画像から前記複数のカメラの撮像タイミングが同期した画像を選択する前記制御装置と、を備えた撮像システム。
【請求項１６】
請求項１０から１５のいずれか１項に記載の撮像システムと、ワークを操作するロボット装置と、前記撮像システムの前記複数のカメラにより取得した前記ワークの３次元情報に基づき、前記ロボット装置を制御するロボット制御装置と、を備えた製造システム。
【請求項１７】
請求項１０から１５のいずれか１項に記載の撮像システムと、ワークを操作するロボット装置と、前記ロボット装置を制御するロボット制御装置と、を備えた製造システムにおいて、前記ロボット制御装置が、前記撮像システムの前記複数のカメラにより取得した前記ワークの３次元情報に基づき、前記ロボット装置を制御し、前記ロボット装置が前記ワークを操作し前記ワークから物品を製造する物品の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数のカメラの撮像タイミングを同期させて、前記複数のカメラにより被写体の画像を撮像する撮像方法、撮像システム、そのような撮像方法、撮像システムを利用した製造システム、および物品の製造方法に関する。
【背景技術】
【０００２】
近年、工業製品などの生産ラインにおいて、人手による組立作業に代わって、ロボット装置などを含む組立生産装置による組立作業が行われている。
【０００３】
このような生産システムにおいて、組立作業に必要なワークの計測や検査を行うために、ワークを分布的に２次元ないし３次元計測のためのカメラおよび画像処理装置が用いられることがある。例えば、計測や検査に奥行き方向の情報が必要な場合には、２台以上の複数のカメラによりステレオカメラを構成し、三角測量の原理によって対象物の３次元計測を行う手法が用いられる。この種の３次元計測では、複数のカメラで撮像された複数の画像中の物体位置のカメラ毎の違い（視差）を計算し、この視差を奥行き量に変換することにより３次元情報を取得する。
【０００４】
この種の３次元計測では、カメラないしワークが相対移動、あるいは相対的に振動するような状態でワークを精密に計測することがある。このような場合、ステレオカメラを構成する複数のカメラ間で撮像時間ずれが生じると、カメラ間で画像中の物体位置がずれてしまうために、視差が正確に計算できなくなる。その場合、奥行きなどの３次元情報を正確に得ることができない。このため、複数のカメラ間で時間ずれが生じないように、撮像のタイミングを正確に同期させる必要がある。
【０００５】
ステレオカメラを構成する複数のカメラ間で撮像のタイミングを合わせるために、従来では、一方のカメラから他方のカメラを制御するための通信手段を備えた構成（特許文献１）が知られている。このような構成により、一方のカメラから他方のカメラへ任意のタイミングで撮像指示を出力でき、カメラ間の撮像の時間差を少なくすることができる。また、ステレオカメラを構成する複数のカメラそれぞれに、撮像時刻を画像と対応付けて記憶する機能を備え、撮像時刻に基づき、計測に用いる一方のカメラと他方のカメラがほぼ同じ時刻に撮像した画像を選択する構成（特許文献２）も知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２３９３７９号公報
【特許文献２】特開２０１８−００７０３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の構成では、ステレオカメラを構成する複数のカメラそれぞれに、トリガ信号を送受信するための通信手段が必要である。これにより、カメラ部分が大型・高価になり、カメラ間の距離が離れていたりカメラ間の配線が困難であったりする環境ではステレオカメラを構成できない場合がある。
【０００８】
また、特許文献２の構成では、それぞれのカメラに対して撮像時刻を画像と対応付けて記憶する機能が必要である。これにより、システムが複雑で高価になる他、それぞれのカメラの撮像開始時刻や撮像周期が異なっている場合には、カメラ間の撮像の時間差を正確に合わせることができない問題がある。
【０００９】
本発明は、上記の問題点に鑑み、簡単安価かつ小型軽量な構成により、ステレオカメラを構成する複数のカメラの撮像タイミングの同期ずれを検出できるようにすることにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明においては、複数のカメラの撮像タイミングを同期させて、前記複数のカメラにより被写体の画像を撮像する撮像方法において、前記複数のカメラにより発光体の光を撮像する発光撮像工程と、前記発光撮像工程で前記複数のカメラによりそれぞれ撮像した前記発光体の光像を用いて、前記複数のカメラの撮像タイミングの同期ずれを検出する画像処理工程と、を含む構成を採用した。
【発明の効果】
【００１１】
上記構成によれば、複数カメラをトリガするための通信手段や撮像タイミング制御手段を必要とせず、簡単安価かつ小型軽量な構成により、ステレオカメラを構成する複数のカメラの撮像タイミングの同期ずれを検出することができる。
【図面の簡単な説明】
【００１２】
【図１】複数カメラを備えた撮像システムの構成を示した説明図である。
【図２】図１の単眼カメラの装置構成を示した説明図である。
【図３】図２のイメージセンサの状態変化を示した状態遷移図である。
【図４】実施形態１における同期ずれの検出方法を示すフローチャート図である。
【図５】実施形態１における単眼カメラの出力を経時的に示した説明図である。
【図６】実施形態１における同期合わせの手法を示すフローチャート図である。
【図７】実施形態２における同期撮像のための構成を示した説明図である。
【図８】（ａ）および（ｂ）は、実施形態２において、ローリングシャッターを用いて撮像された画像を示した説明図、（ｃ）はグローバルシャッターを用いて撮像された画像を示した説明図である。
【図９】（ａ）、（ｂ）は、実施形態３において、視野外に配置した照明を含む複数カメラの構成を示した説明図である。
【図１０】（ａ）、（ｂ）は、実施形態３における拡散板を用いた複数カメラの構成を示した説明図である。
【図１１】（ａ）〜（ｃ）は、実施形態４において再帰反射マークを用いた撮像システムの構成を示した説明図である。
【図１２】実施形態５における同期合わせの手法を示したフローチャートである。
【図１３】実施形態６における３つのカメラを用いた撮像システムの構成を示した説明図である。
【図１４】実施形態６におけるカメラ切り換えの手法を示すフローチャート図である。
【図１５】撮像システムの制御装置として用いられる制御系の一例を示した説明図である。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は参考数値の例示に過ぎない。
【００１４】
＜実施形態１＞
図１（ａ）は本実施形態における複数カメラを用いてステレオカメラを構成する撮像システムの構成を示している。図１（ａ）の撮像システムでは、ステレオカメラ１が画像処理装置２に接続されている。ステレオカメラ１と画像処理装置２の接続ケーブルは両者間の通信インターフェースを構成し、電源線、撮像データを送受信するための通信線、通信制御などに用いられるＩＯ線などを含む。これらのうち、この通信インターフェースは、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）のような規格に基づき構成することができる。ステレオカメラ１は、それぞれの撮像光軸を適当な基線長だけ離間させて配置した単眼カメラ１０１、１０２を備える。ステレオカメラ１の単眼カメラ１０１、１０２で撮像された画像データは、上記の通信インターフェースを介して画像処理装置２に対して伝送することができる。また、ステレオカメラ１の画像処理装置２などから上記の通信インターフェースを介して受信した設定コマンドなどに従い、撮像時の設定情報である撮像パラメータを制御することができる。この撮像パラメータには、露光時間、ゲイン、画像サイズなどが含まれる。また、ステレオカメラ１は、上記の通信インターフェースのＩＯ線を介してステレオカメラ１に、同期ずれ検出のための発光体として設けた、同期ずれ検出照明１０４〜１０７の発光タイミングを制御することができる。
【００１５】
本実施形態では、ステレオカメラ１は、被写体の３次元情報を計測するために用いられる。例えば、ステレオカメラ１は、ロボット装置、ロボット装置を制御するロボット制御装置のような生産機器とともに物品を製造する生産ラインに配置される。このような構成では、ロボット制御装置がステレオカメラ１によりワークのような被写体を３次元計測した結果に基づき、ロボット装置を制御することができる。なお、本実施例のステレオカメラ１は、複数カメラで構成された撮像システムの構成部材の一例として例示するものに過ぎない。例えば、後述の撮像制御は、何らかの目的で複数のカメラにより同期撮像（同期撮像）を行う任意の撮像システムにおいて実施することができる。例えば、本実施形態の撮像制御を適用可能な複数カメラで構成された撮像システムには、自由視点映像を撮像するための多視点カメラなどが含まれる。
【００１６】
上記のように、図１（ａ）のステレオカメラ１は、それぞれの撮像光軸を所定の基線長だけ離間して配置された単眼カメラ１０１、１０２を備える。本実施形態では、単眼カメラ１０１、１０２の前面には照明基板１０３が配置され、照明基板１０３には同期ずれ検出照明１０４〜１０７が設置されている。同期ずれ検出照明１０４〜１０７は、同一の発光タイミングで単眼カメラ１０１、１０２が撮像可能な照明光を照射する照明装置を構成する。
【００１７】
本実施形態では、同期ずれ検出照明１０４〜１０７は単眼カメラ１０１、１０２の共通視野１０８の外側に配置してある。このような構成では、同期ずれ検出照明１０４〜１０７によって３次元計測が可能な空間領域である共通視野１０８の領域が狭められることなく、撮像を行うことができる。
【００１８】
また、同期ずれ検出照明１０４、１０５は単眼カメラ１０１の個別視野内に、同期ずれ検出照明１０６、１０７は単眼カメラ１０２の個別視野内にそれぞれ配置される。このような構成により、同期ずれ検出照明１０４〜１０７からの出射光は、単眼カメラ１０１、１０２に必ず入射する。
【００１９】
図１（ｂ）は同期ずれ検出照明の配置を示している。同図では図示の上、下方向が、ステレオカメラ１の上部、下部にそれぞれ相当する。同図に示すように、同期ずれ検出照明１０４、１０６は単眼カメラ１０１、１０２の上部に配置され、同期ずれ検出照明１０５、１０７は単眼カメラ１０１、１０２の下部に配置されている。同期ずれ検出照明１０４と１０６の駆動電源ラインは並列に接続され、両光源は発光タイミングが相互に遅延することなく、同一の発光タイミングで同期して駆動される。同様に、同期ずれ検出照明１０５と１０７の駆動電源ラインは並列に接続され、両光源は発光タイミングが相互に遅延することなく、同一の発光タイミングで同期して駆動される。
【００２０】
照明基板１０３の前面には３次元計測で用いる照明（不図示）を配置する。この３次元計測用の照明には、測定方式に応じた例えば、パターン投光器などを配置することができる。上記のような構成では、同期ずれ検出照明１０４〜１０７専用の駆動基板を配置せずに済み、ステレオカメラ１を小型化することができる。
【００２１】
図１（ａ）に示す画像処理装置２は演算を行う、例えばＣＰＵないしＦＰＧＡと、ＲＯＭおよびＲＡＭからなるメモリ部と、外部と通信を行うインターフェース（Ｉ／Ｆ）部などのハードウェアにより構成することができる。図１（ａ）では、画像処理装置２は２０１〜２０５の機能ブロックとして示されている。なお、本実施形態の画像処理装置２は、後述するようにステレオカメラ１の撮像制御機能も含んでおり、概念的には、画像処理を介して撮像制御を行う制御装置と考えてもよい。
【００２２】
ここで、図１５に図１の画像処理装置２を構成する制御系の具体的なハードウェア構成の一例につき説明しておく。図１に示す画像処理装置２を構成する各機能ブロックは、図１５のような構成では、ＣＰＵ１６０１とその周辺のハードウェア、ないしＣＰＵ１６０１により実行されるソフトウェアによって実現できる。画像処理ないし撮像制御に用いられる記憶部は、ＲＯＭ１６０２、ＲＡＭ１６０３、外部記憶装置１６０６（ＨＤＤ）などの記憶領域により構成される。
【００２３】
図１５の制御系は、主制御手段としてのＣＰＵ１６０１、記憶装置としてのＲＯＭ１６０２、およびＲＡＭ１６０３を備えた構成である。ＲＯＭ１６０２には、本実施形態の制御処理手順を実現するためのＣＰＵ１６０１の制御プログラムや定数情報などを格納しておくことができる。また、ＲＡＭ１６０３は、その制御手順を実行する時にＣＰＵ１６０１のワークエリアなどとして使用される。また、図１５の制御系には、外部記憶装置１６０６が接続されている。外部記憶装置１６０６は、本発明の実施には必ずしも必要ではない場合があるが、ＨＤＤやＳＳＤ、ネットワークマウントされた他のシステムの外部記憶装置などから構成することができる。
【００２４】
本実施形態の制御を実現するためのＣＰＵ１６０１の制御プログラムは、上記の外部記憶装置１６０６やＲＯＭ１６０２の（例えばＥＥＰＲＯＭ領域）のような記憶部に格納しておく。その場合、本実施形態の制御手順を実現するためのＣＰＵ１６０１の制御プログラムは、ネットワークインターフェース１６０７を介して、上記の各記憶部に供給し、また新しい（別の）プログラムに更新することができる。あるいは、後述の制御手順を実現するためのＣＰＵ１６０１の制御プログラムは、各種の磁気ディスクや光ディスク、フラッシュメモリなどの記憶手段と、そのためのドライブ装置を経由して、上記の各記憶部に供給し、またその内容を更新することができる。本実施形態の制御手順を実現するためのＣＰＵ１６０１の制御プログラムを格納した状態における各種の記憶手段、記憶部、ないし記憶デバイスは、本発明の制御手順を格納したコンピュータ読み取り可能な記録媒体を構成することになる。
【００２５】
ネットワークインターフェース１６０７は、例えばＩＥＥＥ  ８０２．３のような有線通信、ＩＥＥＥ  ８０２．１１、８０２．１５のような無線通信による通信規格を用いて構成することができる。このネットワークインターフェース１６０７、およびネットワーク１６０８を介して、ＣＰＵ１６０１は、他の装置１１０４と通信することができる。例えばステレオカメラ１がネットワーク接続されるものとすれば、この他の装置１１０４は、例えばステレオカメラ１に相当する。ステレオカメラ１がネットワーク接続以外の規格によって接続される場合には、インターフェース１６０５を用いる。インターフェース１６０５は、他の周辺機器と接続するために用いられるものであってもよい。
【００２６】
また、図１５の制御系に、必要に応じてユーザインターフェース装置４００（ＵＩ装置）を設けることができる。ユーザインターフェース装置４００は、例えばＬＣＤディスプレイ、キーボード、ポインティングデバイス（マウス、ジョイスティック、ジョグダイヤルなど）などから成るＧＵＩ装置などであってもよい。ユーザインターフェース装置４００は、撮像した画像や、後述の同期合わせ処理、同カメラによる３次元計測処理の進行状態、結果などをユーザに通知したり、あるいは撮像パラメータや同期合わせに関する制御定数を設定したりするために用いることができる。
【００２７】
図１（ａ）に示すように、画像処理装置２は、カメラ制御部２０１、照明制御部２０２、同期ずれ量演算部２０３、同期合わせ制御部２０４、３次元計測部２０５の機能ブロックを有している。例えば、これらの制御部（機能ブロック）はＦＰＧＡ内のハードウェアブロックにより実現してもよく、また、上記のＣＰＵ１６０１が例えばＲＯＭ１６０２などに記憶されているプログラムを読み込み実行することによって実現してもよい。
【００２８】
以下、図１（ａ）の画像処理装置２の各機能ブロック（２０１〜２０５）の概要につき説明する。カメラ制御部２０１は、単眼カメラ１０１、１０２の撮像動作を制御する。この制御の詳細については、単眼カメラ１０１、１０２の内部構成を説明する時に改めて詳述するが、ここでは各部の概要を説明する。
【００２９】
本実施形態において、撮像を行う場合、最初に、単眼カメラ１０１、１０２に電源供給し、カメラ制御部２０１から初期化指示を送信する。単眼カメラ１０１、１０２の初期化が完了したら、単眼カメラ１０１、１０２に撮像パラメータの変更指示を送信する。この撮像パラメータには、例えば露光時間、ゲイン、画像サイズ、あるいはさらに光学系によっては焦点距離などのパラメータが含まれる場合もある。
【００３０】
撮像パラメータの調整が完了すると、カメラ制御部２０１は動画出力開始指示を送信し、単眼カメラ１０１、１０２から動画を出力させる。また、この時、照明制御部２０２が撮像条件に応じて、３次元計測用の照明や、同期ずれ検出照明１０４〜１０７の駆動条件を決定する。カメラ制御部２０１は、他機能ブロックからの画像取得指示を受信したら、動画データから静止画を切り取り、静止画データを取得する機能を有する。
【００３１】
また、カメラ制御部２０１が、イメージセンサ３０２（図２参照）への電源供給を停止すると、動画出力が停止する。その後、上記電源供給、初期化を行うと上記のプロセスを再度実行させることができ、これにより、動画出力を再開することができる。以上のようにして、カメラ制御部２０１は動画出力開始タイミングを制御する。
【００３２】
照明制御部２０２は、同期ずれ検出照明１０４〜１０７の発光タイミングを制御する。この照明制御は、例えば、ＩＯ線を介して、同期ずれ検出照明１０４〜１０７に対してＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）信号を送信することにより行う。上述のように、同期ずれ検出照明１０４、１０６の駆動電源ラインは照明基板１０３内で導通しているため、同期発光が可能である。同様に同期ずれ検出照明１０５、１０７も同期発光が可能である。なお、例えば、照明制御部２０２が点灯／消灯コマンドを出力した場合に実際に対象の照明光源が点灯／消灯するまでの遅延時間はごく短い。例えば、照明光源の駆動制御に対する応答時間は、単眼カメラ１０１、１０２の撮像制御時間、例えばこれらカメラの１フレーム時間（例えば１／２４秒、１／３０秒、１／６０秒など）よりも充分、短い。即ち、同期ずれ検出照明１０４〜１０７の制御速度（制御時間）は、動画の撮像制御速度（制御時間）よりも充分高速（短時間）であるものとする。
【００３３】
同期ずれ量演算部２０３は、単眼カメラ１０１、１０２の撮像タイミングの同期ずれ量を演算する。同期ずれ量の算出方法の詳細については後述する。
【００３４】
同期合わせ制御部２０４は、同期ずれ量演算部２０３で同期ずれを検出すると、単眼カメラ１０１、１０２の撮像タイミングの同期合わせを行う。この同期合わせの詳細については後述する。
【００３５】
３次元計測部２０５は、ステレオカメラ１の単眼カメラ１０１、１０２で撮像した画像を用いて、３次元計測を行う。単眼カメラ１０１、１０２で撮像した画像に対する３次元計測部２０５は、ステレオマッチング処理から求めた視差量と、ステレオカメラ校正から求めた内部パラメータおよび外部パラメータを用いて三角測量の原理により距離を算出することができる。
【００３６】
上記のステレオマッチング処理では、例えば、単眼カメラ１０１の撮像画像を基準画像として、単眼カメラ１０２の撮像画像内から対応している画素、即ち、被写体の同じ特定部位が撮像されている画素をマッチングにより求める。このステレオマッチング処理としては、例えば、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）、ＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）などのブロックマッチング法が知られている。このような公知のマッチング処理の手法は、本実施形態でも用いることができる。
【００３７】
上記の内部パラメータ、外部パラメータなどは、例えばＯｐｅｎＣＶのような（デジタル）カメラに係る画像処理ライブラリで用いられている概念と同等である。内部パラメータは、レンズの焦点距離やひずみ特性などの光学特性を意味し、外部パラメータは、ステレオカメラ内の２つのカメラの相対位置・姿勢を意味する。内部パラメータや外部パラメータは、予め形状が既知な校正チャートを撮像し、最適化手法を用いて算出しておくことができる。単眼カメラ１０１、１０２に関して事前に算出しておいた内部パラメータ、外部パラメータは画像処理装置２内の例えばＲＯＭに保存しておく。
【００３８】
なお、本実施形態では、画像処理装置２はステレオカメラ１と別装置として説明するが、いわゆるスマートカメラのように、画像処理装置２がステレオカメラ１に内蔵されていてもよい。このような構成では、ステレオカメラ１と画像処理装置２の配線が不要になり、システムの設置工数を大幅に削減できる。
【００３９】
次に、単眼カメラ１０１、１０２の内部構成について説明する。本実施形態の単眼カメラ１０１、１０２は携帯用モジュールカメラ、ＷＥＢカメラなどの比較的小型安価なカメラである。本実施形態では、単眼カメラ１０１、１０２は、それぞれ単体のユニットとして購入できる製品であり、これらカメラを一体の筐体やフレームに組み込んでステレオカメラ１を構成するものとする。単眼カメラ１０１、１０２は、上記の筐体やフレームによって、所定の基線長だけ離間して相互に位置決めされる。本実施形態では、単眼カメラ１０１、１０２は、ゲンロック機能などの外部同期信号への同期機能や、撮像時刻を出力するタイムスタンプ機能を必要としない。本実施形態によれば、上記のようにして、入手が容易で比較的安価な単眼カメラ１０１、１０２のユニットからステレオカメラ１を構成することができる。
【００４０】
図２は、単眼カメラ１０１の内部構成の一例を示している。単眼カメラ１０２の構成も単眼カメラ１０１と同様であるものとする。この単眼カメラ１０１は、集光部３０１とイメージセンサ３０２、センサ制御部３０３、画像フォーマット変更部３０４、電源制御部３０５が一体化された構造である。
【００４１】
集光部３０１はレンズであり、集光した光をイメージセンサ３０２に入射するための撮像光学系を構成する。
【００４２】
イメージセンサ３０２は例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ：電荷結合素子）、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ：相補形金属酸化膜半導体）の撮像素子である。センサ制御部３０３に送信する画像は、例えば、ＭＩＰＩ  ＣＳＩ−２（Ｍｏｂｉｌｅ  Ｉｎｄｕｓｔｒｙ  Ｐｒｏｃｅｓｓｏｒ  Ｉｎｔｅｒｆａｃｅ  Ｃａｍｅｒａ  Ｓｅｒｉａｌ  Ｉｎｔｅｒｆａｃｅ  −２）に準拠する所謂ＲＡＷ画像フォーマットとする。ただし、イメージセンサ３０２の規格や出力画像フォーマットはこれらに限定されることなく、任意であり、当業者が自由に選択することができる。
【００４３】
ここで、単眼カメラ１０１の上記の機能ブロック（３０３〜３０５）の概要について説明する。センサ制御部３０３と、画像フォーマット変更部３０４、電源制御部３０５は、ＦＰＧＡと、ＲＯＭおよびＲＡＭからなるメモリ部と、外部と通信を行うインターフェース（Ｉ／Ｆ）部を有している電子回路である。これらの各ブロックおよび、イメージセンサ３０２は単眼カメラ１０１内部で相互に電気的に接続される。
【００４４】
センサ制御部３０３は、画像処理装置２内のカメラ制御部２０１と通信し、イメージセンサ３０２の状態遷移を制御する。ここで、図３に本実施形態のイメージセンサ３０２の動作状態の遷移を示す。図３に示すように、イメージセンサ３０２の動作状態は、電源ＯＦＦ状態４０１、初期化状態４０２、撮像パラメータ調整状態４０３、動画出力状態４０４の４つの状態を有する。これらの各状態は次のようなものである。
【００４５】
電源ＯＦＦ状態４０１は、イメージセンサ３０２に電源が供給されていない状態である。センサ制御部３０３は、画像処理装置２内のカメラ制御部２０１からの電源供給指示を受信すると、イメージセンサ３０２に電源を供給する。イメージセンサ３０２に電源が供給されると、イメージセンサ３０２は初期化状態４０２に遷移する。
【００４６】
初期化状態４０２は、イメージセンサ３０２の初期化を行っている状態である。まず、センサ制御部３０３がイメージセンサ３０２にクロック信号を供給する。センサ制御部３０３は、画像処理装置２内のカメラ制御部２０１からの初期化開始指示を受信したら、イメージセンサ３０２に初期化信号を送信する。このようにして初期化が完了すると、センサ制御部３０３とイメージセンサ３０２間で通信を行えるようになり、撮像パラメータ調整状態４０３に遷移する。
【００４７】
また、撮像パラメータ調整状態４０３は、センサ制御部３０３がイメージセンサ３０２の撮像パラメータを調整可能な状態である。撮像パラメータは、例えば、露光時間、ゲイン、画像サイズ等である。この状態において、センサ制御部３０３が画像処理装置２のカメラ制御部２０１から、上記の撮像パラメータ変更指示を受信すると、イメージセンサ３０２に対して例えば制御コマンドを送り、撮像パラメータが格納されているレジスタ値を書き換える。
【００４８】
センサ制御部３０３は、画像処理装置２のカメラ制御部２０１から動画出力開始指示を受信すると、イメージセンサ３０２に対して動画出力開始信号を送信し、動画出力状態４０４に遷移させる。
【００４９】
図３の動画出力状態４０４は、イメージセンサ３０２が動画データを画像フォーマット変更部３０４に対して、出力し続けている状態である。この状態において、センサ制御部３０３が画像処理装置２内のカメラ制御部２０１から動画出力停止指示を受信すると、イメージセンサ３０２への電源供給を停止し、動画出力を停止させる。これにより、本実施形態のイメージセンサ３０２は電源ＯＦＦ状態４０１に遷移する。
【００５０】
図３の電源ＯＦＦ状態４０１に単眼カメラ１０１（１０２も同様）が遷移した後は、画像処理装置２内のカメラ制御部２０１がセンサ制御部３０３を介して上記のイメージセンサ３０２の再度状態遷移を行わせることにより、動画の再出力が可能となる。以上のように、画像処理装置２は、単眼カメラ１０１、１０２の動画出力開始（あるいは終了）タイミングを制御することができる。
【００５１】
なお、以上では、単眼カメラ１０１（１０２も同様）が動画出力状態４０４から、電源ＯＦＦ状態４０１にしか遷移できない構成について説明した。しかしながら、イメージセンサ３０２が動画出力状態４０４から初期化状態４０２への状態遷移機能を有している場合には、単眼カメラ１０１（１０２も同様）を動画出力状態４０４から初期化状態４０２へ状態遷移させることができる。このような状態遷移機能がイメージセンサ３０２に実装されている場合には、電源オフを経由しなくても、例えば単眼カメラ１０１、１０２の同期合せのために動画出力タイミングを変更できる可能性がある。
【００５２】
また、単眼カメラ１０１（１０２も同様）のイメージセンサ３０２が、撮像モード変更機能として、動画モードにした場合に動画出力開始し、静止画モードにしたら動画出力を停止する機能を有するような構成も考えられる。このようなカメラ構成では、撮像モードを動画モードと静止画モードの間で切り換えることにより、電源オフを経由しなくても、例えば単眼カメラ１０１、１０２の同期合せのために動画出力タイミングを変更できる可能性がある。
【００５３】
本実施形態では主に、単眼カメラ１０１、１０２を動画出力状態４０４から電源ＯＦＦ状態４０１へ切り換えることにより、リセットし、両カメラの同期合せのために動画出力開始タイミングを変更する制御につき説明する。しかしながら、上記のような他の状態遷移機能や、撮像モード切り換えを行うことにより、例えば単眼カメラ１０１、１０２の同期合せのために動画出力タイミングを変更してもよい。
【００５４】
図２において、イメージセンサ３０２とセンサ制御部３０３間の制御インターフェースは、例えば、ＩＯ端子とＩ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）によって構成することができる。また、本実施形態の画像フォーマット変更部３０４は、イメージセンサ３０２から受信したＲＡＷ画像フォーマットを、画像処理装置２に送信するための画像フォーマットに変更する機能を有している。ここで画像フォーマット変更部３０４がサポートする画像フォーマットは、例えばＵＶＣ（ＵＳＢ  Ｖｉｄｅｏ  Ｃｌａｓｓ）に準拠しているフォーマットなどである。ただし、画像フォーマット変更部３０４がＵＶＣ以外の他の画像フォーマットをサポートしていても構わない。
【００５５】
また、電源制御部３０５は、画像処理装置２から電源供給の指令を受信すると、センサ制御部３０３と画像フォーマット変更部３０４に電源を供給する機能を有する。この電源供給の指令により、単眼カメラ１０１、１０２の状態を電源ＯＦＦ状態４０１から初期化状態４０２に移行させることができる。イメージセンサ３０２への電源供給は、上記のようにセンサ制御部３０３を介して制御される。
【００５６】
（同期ずれ量の算出方法）
ここで、本実施形態において、ステレオカメラの単眼カメラ１０１、１０２の同期ずれ量の算出手法につき説明する。図４は同期ずれの検出手順を、図５は単眼カメラ１０１、１０２から出力された画像の一例を経時的に示している。
【００５７】
図４のステップＳ１０からＳ１５までは、本実施形態における同期ずれ検出のための発光撮像工程に、ステップＳ１６は本実施形態における同期ずれ検出のための画像処理工程に相当する。
【００５８】
図４のステップＳ１０では、画像処理装置２のカメラ制御部２０１から送信された動画出力開始指示に基づき、センサ制御部３０３が単眼カメラ１０１を動画出力状態４０４に遷移させる。続いて、同期ずれ量演算部２０３はカメラ制御部２０１に単眼カメラ１０１の動画出力開始指示を送るように指示する。これにより任意のタイミングで単眼カメラ１０１で撮像された画像を取得できるようになる。
【００５９】
ステップＳ１１では、画像処理装置２のカメラ制御部２０１から送信された動画出力開始指示に基づき、センサ制御部３０３が単眼カメラ１０２を動画出力状態４０４に遷移させる。続いて、同期ずれ量演算部２０３はカメラ制御部２０１に単眼カメラ１０２の動画出力開始指示を送るように指示する。これにより任意のタイミングで単眼カメラ１０２で撮像された画像を取得できるようになる。
【００６０】
ステップＳ１２では、同期ずれ検出照明１０４〜１０７の制御を開始する。上述のように、同期ずれ検出照明１０４〜１０７を点灯／消灯させる制御は、単眼カメラ１０１および１０２で出力される動画のフレームレートよりも高速に実行されることが望ましい。ただし、本実施の形態では、説明の簡単化のため、フレームレートと照明の点灯／消灯制御の周期が等しい場合について説明する。まず、ステップＳ１２では、同期ずれ量演算部２０３は照明制御部２０２に指令し、一定時間Δｔ［ｍｓ］後に同期ずれ検出照明１０４と１０６を同時に点灯させる。次に、同様にして一定時間Δｔ［ｍｓ］後に同期ずれ検出照明１０５と１０７を同時に点灯させる。次に、同様にして一定時間Δｔ［ｍｓ］後に同期ずれ検出照明１０４と１０６を同時に点灯させる。次に、同様にして一定時間Δｔ［ｍｓ］後に同期ずれ検出照明１０５と１０７を同時に点灯させる。このように同期ずれ検出照明１０４と１０６、１０５と１０７を交互に一定時間Δｔ［ｍｓ］のインターバルで点灯させる処理は、ステップＳ１３、Ｓ１４で単眼カメラ１０１、１０２の画像を取得する処理の間、ステップＳ１５まで繰り返し行う。
【００６１】
ステップＳ１３では単眼カメラ１０１の画像を取得する。この時、同期ずれ量演算部２０３は、カメラ制御部２０１に画像取得指示を送り、単眼カメラ１０１から送信される動画データから静止画を切り取り、その静止画データを取得する。ステップＳ１４では単眼カメラ１０２の画像を取得する。この時、同期ずれ量演算部２０３は、カメラ制御部２０１に画像取得指示を送り、単眼カメラ１０２から送信される動画データから静止画を切り取り、その静止画データを取得する。
【００６２】
ステップＳ１５では、同期ずれ量演算部２０３は照明制御部２０２に指令し、同期ずれ検出照明１０４〜１０７を消灯する。続いて、ステップＳ１６において、例えば以下のようにしてステップＳ１３とステップＳ１４で得られた画像から同期ずれ量を算出する。
【００６３】
図５において、６０１Ａ〜６０６Ａは各時刻における単眼カメラ１０１から出力された画像を示している。同図では、時刻ｔ１から一定の時間Δｔ経過したときの時刻をｔ２、ｔ３、ｔ４…と示している。即ち、時刻ｔ２はｔ１＋Δｔ、時刻ｔ３はｔ２＋Δｔ、時刻ｔ４はｔ３＋Δｔである。
【００６４】
図５において、６０１Ａは時刻ｔ１における同期ずれ検出照明１０４と１０６が点灯中に撮像された画像である。６０２Ａは時刻ｔ２における同期ずれ検出照明１０４〜１０７が点灯中に撮像された画像である。６０３Ａは時刻ｔ３における同期ずれ検出照明１０５と１０７が点灯中に撮像された画像である。６０４Ａは時刻ｔ４における同期ずれ検出照明１０４〜１０７が消灯中に撮像された画像である。この後の時刻の画像６０５Ａ、６０６Ａ…は６０１Ａ〜６０２Ａと同じような画像が繰り返し出力される。一方、６０１Ｂ〜６０６Ｂも単眼カメラ１０１と同様に各時刻における単眼カメラ１０２から出力された画像である。
【００６５】
同期ずれ検出照明１０４〜１０７は、時刻ｔ１２で同期ずれ検出照明１０４〜１０７すべてが点灯し、時刻ｔ２３で同期ずれ検出照明１０５と１０７だけが点灯する。さらに、時刻ｔ３４で同期ずれ検出照明１０４〜１０７すべてが消灯し、時刻ｔ４５で同期ずれ検出照明１０４と１０６だけが点灯する動作が続き、このような照明パターンが繰り返されている。この例では、各照明の時刻ｔ１２、ｔ２３、ｔ３４、ｔ４５の間隔もΔｔであり、時刻ｔ１と時刻ｔ１２の差はΔｔ／２とする。
【００６６】
例えば、ここで、ステップＳ１３とステップＳ１４で得られた画像が時刻ｔ３で得られる６０３Ａと６０３Ｂの画像であるとする。この場合、実際に６０３Ａが撮像された時刻は時刻ｔ２３から時刻ｔ３４までの間で、６０３Ｂが撮像された時刻はｔ１２から時刻ｔ２３までの間である。この例では、検出された単眼カメラ１０１、１０２の同期ずれ量はΔｔ以下である。そのため、例えば、同等の画像パターン（輝度パターン）を両カメラで撮像した画像から検索する画像処理を介して、単眼カメラ１０１、１０２の同期ずれ量を算出することができる。
【００６７】
本実施の形態では、検出照明１０４〜１０７の点灯・消灯を切り換える間隔Δｔと、撮影間隔Δtが等しい場合について説明した。照明の切り換え間隔をより短くすると、より高精度に同期ずれを検出することができる。例えば、照明の切り替え時間をΔｔ／２とすると、Δt以下の分解能で同期ずれ量を検出することができる。
【００６８】
ただし、照明の切り替え時間が高速すぎると、正しく同期ずれを検出できない場合がある。例えば、本実施の形態のように、上下ОＮ、上のみОＮ、下のみОＮ、上下ОＦＦの４段階で照明点灯・消灯を切り替える場合について説明する。その場合はΔｔ／４よりも早い周期で切り替えると、同期ずれ量がΔtあった場合に、単眼カメラ１０１と１０２で同じ照明条件下の画像が撮影されてしまうためである。このように、照明切り替え時間は、撮影間隔Δtを、照明条件の段階数で割った時間よりも長い時間が望ましい。
【００６９】
なお、同期ずれ検出照明１０４〜１０７の点灯・消灯を切り換える間隔Δｔは、予め実測して求めてもよい。例えば、同期ずれ量算出の前に、単眼カメラ１０１と１０２を動画出力状態にした後に、一度だけ同期ずれ検出照明１０４〜１０７を点灯する。そして、単眼カメラ１０１、１０２から出力された画像が６０４Ａのように消灯している画像から、６０２Ａのように点灯している画像に変わる時刻の差に基づき決定してもよい。
【００７０】
また、通常、撮像画像の周辺部分は、歪みが大きく３次元計測などの画像処理に使用しない場合が多い。また、単眼カメラ１０１と１０２の共通視野でない部分は、後の３次元計測では使用しない。即ち、本実施形態では同期ずれ検出照明１０４〜１０７が上述の画像処理に使用しない部分のみに影響を与えるように配置している。このため、上記のような照明制御であれば、後の３次元計測中も同期ずれを常に検出できる。
【００７１】
また、本実施形態では、同期ずれ検出照明１０４〜１０７は４つ用いたが、単眼カメラ１０１、１０２に同時に影響を与えるような場所に同期ずれ検出照明を配置すれば、同期ずれ検出照明は１つだけ配置する構成でもよい。逆に、同期ずれ検出照明の発光態様、例えば、発光色や発光パターンを異ならせ、個々の同期ずれ検出照明を識別できるような構成としてもよい。この場合、例えば撮像されている画像から点灯している同期ずれ検出照明を判別できる。このことを利用して、例えば同期ずれ検出照明の数をもっと増やしてもよい。このような構成によって、より高精度に同期ずれ量を算出できる可能性がある。
【００７２】
（同期合わせ）
ここで図６を参照して、上記のようにして検出した同期ずれ量に基づき、単眼カメラ１０１、１０２を同期合わせする手法の一例につき説明する。図６は、同期合わせの手順を示している。
【００７３】
図６のステップＳ２０では、上述のようにして同期ずれ量を算出する。ステップＳ２１では、算出した同期ずれ量が規定値以内かを判定する。もし算出した同期ずれ量が規定値以内であるならば（ステップＳ２１のＹＥＳ）、図６の処理に続き、３次元計測処理を行う。また、規定値以上であるならば（ステップＳ２１のＮＯ）、ステップＳ２２に進む。
【００７４】
ステップＳ２２では、同期合せのための処理として、単眼カメラ１０２の電源をＯＦＦにする。この同期合せ制御は、図３に示すような単眼カメラ１０１、１０２の状態遷移態様を利用したものである。
【００７５】
ステップＳ２２に続き、ステップＳ２３では、同期ずれしている単眼カメラのうち１つ、例えば、単眼カメラ１０２を動画出力状態４０４（図３）にする。これにより、単眼カメラ１０２は、図３で説明したように、電源ＯＦＦ状態４０１からは初期化状態４０２、撮像パラメータ調整状態４０３を経て動画出力状態４０４に移行する。ステップＳ２３の後、処理はステップＳ２０に進む。この時、単眼カメラ１０２が動画出力状態４０４になるまでの時間は、ある程度ランダムな過程により定まるものとする。従って、複数回、上記のステップＳ２０〜Ｓ２３の処理を繰り返すことによって、いずれ同期ずれ量が規定値以内となる。
【００７６】
以上のように、本実施形態では、同期ずれ検出照明を所定のインターバルで点灯駆動するパターン、即ち照明光パターンを利用して、単眼カメラ１０１、１０２により撮像された画像中の輝度パターンを介して、両カメラの同期ずれ量を検出することができる。そして、同期ずれ量が規定値を超えている場合に、単眼カメラ１０１、１０２の一方を電源ＯＦＦし、初期化することにより、比較的ランダムな過程を利用して、両者の同期合わせを行う。
【００７７】
本実施形態では、同期ずれ検出照明１０４〜１０７が３次元計測に影響を与えない位置に配置してあるため、同期ずれ検出は３次元計測中の時間帯にも実行できる。そして、上記の同期合わせ処理は、例えば、ステレオカメラ１が計測処理を行っていない時間帯を利用して行うことができる。本実施形態では、このような制御により、３次元計測の計測時間を延長することなしにステレオカメラ１を構成する単眼カメラ１０１、１０２の同期合わせが可能である。
【００７８】
＜実施形態２＞
上述した実施形態１では、同期ずれ検出照明１０４〜１０７をステレオカメラ１に内蔵している。しかしながら、ステレオカメラ１の構成をより簡単安価、小型軽量にするには、本実施形態のように外部照明を用いて同期ずれ検出を行う構成も考えられる。
【００７９】
以下では、実施形態１とは異なるハードウェアや制御系の構成の部分について図示、説明し、実施形態１と同様の部分については上記と同様の構成、作用が可能であるものとし、その詳細な説明については省略する。
【００８０】
本実施形態では、図７に示すように、外部照明１３０は単眼カメラ１０１および単眼カメラ１０２の共通視野１０８内に配置する。本実施形態では、この外部照明１３０を同期ずれ検出照明として用いる。外部照明１３０は同期ずれ検出の専用照明であってもよく、また、他の画像処理等の用途に使用する照明であってもよい。
【００８１】
また、本実施形態でも、単眼カメラ１０１、１０２の動画撮像制御における１フレーム時間（例えば１／２４秒、１／３０秒、１／６０秒など）よりも充分短いものとする。即ち、同期ずれ検出照明１０４〜１０７の制御速度（制御時間）は、動画の撮像制御速度（制御時間）よりも充分高速（短時間）である。本実施形態においても、同期ずれ検出と同期合せに関する制御手順は、図４、図６で説明したものとほぼ同じである。
【００８２】
ただし、単眼カメラ１０１、１０２がローリングシャッターである場合と、グローバルシャッターである場合とで、同期検出ずれの手法が多少異なるものとなる。以下図８（ａ）〜（ｃ）を参照して本実施形態の同期検出ずれ方法を説明する。
【００８３】
図８（ａ）は、単眼カメラ１０１および１０２がローリングシャッターである場合に外部照明１３０を用いて撮像される画像の一例を示している。図８（ｂ）は、図８（ａ）のような状況で撮像される画像の高さ方向に関する輝度値の平均値の一例を示したグラフである。
【００８４】
上記のように、同期ずれ検出制御は実施形態１とほぼ同様に行うことができる（図４）。図４のステップＳ１２では、外部照明１３０を一定時間点灯する。この一定時間の点灯は単眼カメラ１０１、１０２の１フレーム時間に対して短く。点灯指令後、外部照明１３０は一定時間の後、消灯し、本実施形態の場合、図４のステップＳ１５は必要ない。
【００８５】
ステップＳ１３では、単眼カメラ１０１の画像を取得する。取得された画像は７０１Ａのような画像となる（図８（ａ））。続いて、ステップＳ１４では、単眼カメラ１０２の画像を取得する。取得された画像は７０１Ｂのような画像となる（図８（ａ））。外部照明１３０の光は、単眼カメラ１０１、１０２のローリングシャッターである場合、図８（ａ）のようにライン状に撮像される。ローリングシャッターでは、カメラの各画素（ないし各撮像ライン）の露光が順次オンとなるためである。
【００８６】
ステップＳ１６では、図８（ａ）のように撮像された画像から、次のようにして同期ずれ量を算出する。ここでは、例えば、単眼カメラ１０１、１０２のフレームレート（ＦＰＳ）をＦ、画像サイズの高さをＨ、幅をＷとする。
【００８７】
単眼カメラ１０１の取得された画像７０１Ａにおいて、幅方向に各画素の輝度値の平均値を算出し、輝度値が最も高い画像の高さをＨ１とする。ここでいう輝度値は０〜２５５の２５６階調であらわされるものとする。単眼カメラ１０２の画像を取得された画像７０１Ｂにおいて、幅方向に各画素の輝度値の平均値を算出し、輝度値が最も高い画像の高さをＨ２とした時、同期ずれ量は（Ｈ２−Ｈ１）／（Ｆ×Ｈ）と算出できる。
【００８８】
即ち、本実施形態において、単眼カメラ１０１、１０２がローリングシャッターである場合、撮像された、同期ずれ検出照明として用いる外部照明１３０の光像の画像中での位置に基づき、単眼カメラ１０１、１０２の同期ずれ量を算出する。
【００８９】
なお、以上では、単眼カメラ１０１および１０２がローリングシャッターの場合、取得画像において幅方向に各画素の輝度値の平均値を算出し、輝度値が最も高い画像の高さを用いるものとした。しかしながら、幅方向に各画素の輝度値の平均値を算出し、画像の高さ方向の輝度値の重心を用いてもよい。
【００９０】
また、本実施形態において、単眼カメラ１０１および１０２がグローバルシャッターである場合は、同期ずれ検出は次のような演算により行える。図８は、単眼カメラ１０１、１０２がグローバルシャッターである場合に図８（ｃ）はグローバルシャッターにおける撮像画像の図である。
【００９１】
この例でも、同期ずれ検出手順は実施形態１とほぼ同様である（図４）。ステップＳ１２では、外部照明１３０を１フレーム時間に対して短い一定時間点灯し、消灯する。この例でも、図４のステップＳ１５は不要である。ステップＳ１３では、単眼カメラ１０１の画像を取得する。ステップＳ１３で取得された画像は７０２Ａのような画像となる。ステップＳ１４では、単眼カメラ１０２の画像を取得する。ステップＳ１４で取得された画像は７０２Ｂのような画像となる。
【００９２】
単眼カメラ１０１、１０２がグローバルシャッターである場合は、画素ないし撮像ラインが一斉に露光するよう制御される。このため、もし、外部照明１３０の点灯区間と撮像タイミングの関係が単眼カメラ１０１、１０２で異なっている場合、即ち両カメラが同期ずれしている場合には、画素全体の光量が図８（ｃ）のように異ったものとなる。
【００９３】
単眼カメラ１０１、１０２がグローバルシャッターである場合、ステップＳ１６では、次のようにして同期ずれ量を算出する。ここでは、単眼カメラ１０１と１０２のフレーレート（ＦＰＳ）がＦ、常時外部照明が点灯している間に単眼カメラ１０１または１０２で撮像された画像の、全画素の平均輝度をＬｍａｘとする。また、常時外部照明が消灯している間に単眼カメラ１０１または１０２で撮像された画像の、全画素の平均輝度をＬｍｉｎとする。好ましくはＬｍａｘは２５５未満である（８ビット量子化の場合）。そして、ステップＳ１２で、外部照明１３０を点灯する時間ｔを１／Ｆとし、画像７０２Ａの全画素の平均輝度をＬａ、画像７０２Ｂの全画素の平均輝度をＬｂとした時の、同期ずれ量は（Ｌａ−Ｌｂ）／（Ｌｍａｘ−Ｌｍｉｎ）と算出できる。
【００９４】
即ち、本実施形態において、単眼カメラ１０１、１０２がグローバルシャッターである場合、撮像された、同期ずれ検出照明として用いる外部照明１３０を撮像した画像の輝度（ないし濃度）の比に基づき、単眼カメラ１０１、１０２の同期ずれ量を算出する。
【００９５】
以上のように、本実施形態によれば、同期ずれ検出照明の光像の位置や画像の（平均）輝度に基づき、単眼カメラ１０１、１０２の同期ずれ量を算出することができる。
【００９６】
＜実施形態３＞
実施形態１では、同期ずれ検出照明１０４、１０５を単眼カメラ１０１の個別視野内に、同期ずれ検出照明１０６、１０７は単眼カメラ１０２の個別視野内にそれぞれ配置した。しかし、単眼カメラ１０１、１０２と同期ずれ検出照明１０４〜１０７の距離が短いため、共通視野１０８ではなく、単眼カメラ１０１、１０２の個別視野である範囲はそれほど広くない。これにより、同期ずれ検出照明１０４〜１０７の設置位置を微調整する作業が難しくなる可能性がある。
【００９７】
また、同期ずれ検出照明１０４、１０５、および１０６、１０７が単眼カメラ１０１、１０２の個別視野内に配置されているため、例えば、単眼カメラ１０１の撮像画像のみを用いて、２次元画像処理で計測を行う場合に、計測範囲が狭くなる課題がある。
【００９８】
本実施形態では、上記を考慮し、同期ずれ検出照明１０４〜１０７の異なる配置につき考察する。
【００９９】
以下では、実施形態１とは異なるハードウェアや制御系の構成の部分について図示、説明し、実施形態１と同様の部分については上記と同様の構成、作用が可能であるものとし、その詳細な説明については省略する。
【０１００】
本実施形態では、図９（ａ）に示すように、照明基板１０３を介して同期ずれ検出照明１１１〜１１４は単眼カメラ１０１、１０２の視野外に配置されている。  この場合、図９（ｂ）に示すように、同期ずれ検出照明１１１、１１３を単眼カメラ１０１、１０２の上部に、同期ずれ検出照明１１２、１１４を単眼カメラ１０１、１０２の下部に配置している。同期ずれ検出照明１１１、１１３の駆動電源ラインは電気的に接続され、発光タイミングについては同時点灯／消灯が可能である。同様に、同期ずれ検出照明１１２、１１４の駆動電源ラインは電気的に接続され、発光タイミングについては同時点灯／消灯が可能である。
【０１０１】
図９（ｂ）のように、同期ずれ検出照明１１１、１１２の照射範囲１１５、１１６内に単眼カメラ１０１のレンズを含み、同期ずれ検出照明１１３、１１４の照射範囲１１７、１１８内に単眼カメラ１０２のレンズを含む。
【０１０２】
このような照明配置、および照射範囲の設定によると、同期ずれ検出照明１１１〜１１４から強い光をレンズに向かって照射すると、単眼カメラ１０１、１０２内の鏡筒内部などで光の散乱、いわゆる迷光が発生する。同期ずれ検出照明１１１〜１１４を点灯した状態で、単眼カメラ１０１、１０２を撮像した場合、レンズフレアが発生した画像を撮像できる。つまり、例えば、同期ずれ検出照明１１１を点灯して、単眼カメラ１０１で撮像した場合、同期ずれ検出照明１１１がある右上近傍だけが明るい画像を撮像することができる。
【０１０３】
このように、本実施形態では、同期ずれ検出照明１１１〜１１４が単眼カメラ１０１、１０２の撮影画角を外して配置されているが、その照射範囲は単眼カメラ１０１、１０２の撮影光学系の入射開口を一部、カバーしている。これにより、鏡筒内の迷光を利用して各照明の入射光を撮像することができる。
【０１０４】
本実施形態では、同期ずれ検出照明１１１〜１１４の点灯によって、画像の一部領域の明るさが制御されることになる。これを利用して、実施形態１で示した、ステップＳ１６（図４）の方法で、同期ずれ量を検出することができる。
【０１０５】
本実施形態では、同期ずれ検出照明１１１〜１１４は単眼カメラ１０１、１０２の視野外にあるため、両カメラは全視野が遮られることなく撮像することが可能となる。さらに、視野外近傍であれば同期ずれ検出照明１１１〜１１４を設置すればよく、照明位置の微調整は不要となる。
【０１０６】
あるいは、本実施形態の変形例としては、次のような構成が考えられる。図１０（ａ）、（ｂ）に示すように、ステレオカメラ１の前面側に同期ずれ検出照明１２１〜１２４を配置し、照明基板１０３のカメラ側に拡散板１２５を配置する。そして、照明基板１０３の裏面に拡散板１２５を設置し、同期ずれ検出照明１２１〜１２４は拡散板１２５に対して光を照射する。この場合、拡散板１２５のサイズ、形状は、拡散光の照射範囲内に、単眼カメラ１０１、１０２のレンズを含むように取る。このような構成においても、同期ずれ検出照明１２１〜１２４の発光により、上記同様に単眼カメラ１０１、１０２の鏡筒内で迷光を発生させ、レンズフレアが発生した画像を撮像できる。そして上記同様の手法を用いて同期合わせを行うことができる。
【０１０７】
上記のように、カメラ側に同期ずれ検出照明１２１〜１２４を配置し、拡散板１２５を用いる構成によれば、同期ずれ検出照明１２１〜１２４から単眼カメラ１０１、１０２までの光路長を２倍にすることができる。従って、照明基板１０３を単眼カメラ１０１、１０２に近づけても、拡散板１２５からの拡散光の照射範囲を広くできる。これにより、照明基板１０３を単眼カメラ１０１、１０２に近接して配置できるようになり、ステレオカメラ１廻りの構成を小型化できる利点がある。
【０１０８】
＜実施形態４＞
上述した実施形態１、２では、同期ずれ検出照明をステレオカメラ１のユニットに組み込んである。そのため、ステレオカメラ１のユニットが大型化・高価格化してしまう可能性がある。
【０１０９】
本実施形態では、再帰反射材を利用してステレオカメラ１のユニット部分を比較的、小型軽量化できるような構成例を示す。また、本実施形態では、併せてステレオカメラ１をロボット装置の視覚系として用いる場合に有用な構成を示す。このロボット装置は、ワークから工業製品などの物品を製造するため、ステレオカメラ１とともに物品の生産ライン（生産システム）に配置される。ステレオカメラ１はロボット装置が操作する、例えばワークなどの３次元計測を行うために用いることができる。例えば、ステレオカメラ１によりワークやその組み付け部位を３次元計測し、それらの奥行きなどを含む３次元情報を取得し、取得した３次元情報に基づき、ロボット装置の動作を制御することができる。
【０１１０】
以下では、実施形態１とは異なるハードウェアや制御系の構成の部分について図示、説明し、実施形態１と同様の部分については上記と同様の構成、作用が可能であるものとし、その詳細な説明については省略する。
【０１１１】
本実施形態では、図１１（ａ）、（ｂ）に示すように、同期ずれ検出照明１３１〜１３４は照明基板１０３の前面に設置される。これら同期ずれ検出照明１３１〜１３４の照射方向は、単眼カメラ１０１、１０２に向かう方向とは逆方向である。即ち、本実施形態では、同期ずれ検出照明の照明光は測定対象物に向かって照射する。また、図１１（ｂ）に示すように、同期ずれ検出照明１３１、１３２は、単眼カメラ１０１周辺に設置され、同期ずれ検出照明１３３、１３４は、単眼カメラ１０２周辺に設置される。また、図１１（ｂ）に示すように、同期ずれ検出照明１３１、１３３は単眼カメラ１０１、１０２の上部に、同期ずれ検出照明１３２、１３４は単眼カメラ１０１、１０２の下部に配置されている。同期ずれ検出照明１３１、１３３の駆動電源ラインは電気的に接続され、発光タイミングについては同時点灯／消灯が可能である。同様に、同期ずれ検出照明１３２、１３４の駆動電源ラインは電気的に接続され、発光タイミングについては同時点灯／消灯が可能である。
【０１１２】
図１１（ｃ）に示すように、本実施形態のステレオカメラ１はロボット装置のロボットハンド４に装着されている。このような構成により、ステレオカメラ１で計測した測定対象物の３次元計測結果に基づき、例えば、ロボット装置のロボットハンド４の位置姿勢を制御することができる。
【０１１３】
ロボットハンド４は把持装置としてフィンガ１４０１、１４０２を備え、これらフィンガ１４０１、１４０２で測定対象物を把持することができる。そして、本実施形態では、フィンガ１４０１の先端部には、再帰反射マーク５０１を、中腹部には再帰反射マーク５０２を装着してある。同様に、フィンガ１４０２の先端部には再帰反射マーク５０３を、中腹部には再帰反射マーク５０４を装着してある。再帰反射マーク５０１〜５０４はプラスチック材料などから構成することができ、これらの装着方法としてはネジ止めなどの他、接着など任意である。
【０１１４】
再帰反射マーク５０１〜５０４の装着位置ないしステレオカメラ１の配置位置で定まる、両者の相対位置関係は、ステレオカメラ１の共通視野１０８に再帰反射マーク５０１〜５０４が含まれるよう決定する。
【０１１５】
同期ずれ検出照明１３１〜１３４は、好ましくは指向性が高い照明光源により構成する。例えば、同期ずれ検出照明１３１を点灯させた場合、再帰反射マーク５０１近傍にのみ照明光が照射されるよう構成する。同様に同期ずれ検出照明１３２、１３３、１３４は、それぞれ再帰反射マーク５０２、５０３、５０４近傍にのみ照射されるよう構成する。
【０１１６】
以上のように、同期ずれ検出照明１３１〜１３４は単眼カメラ１０１、１０２の近傍に配置すれば、再帰反射マーク５０１〜５０４からの反射光が単眼カメラ１０１、１０２に入射することになる。
【０１１７】
例えば、同期ずれ検出照明１３１、１３３を点灯して、単眼カメラ１０１、１０２で撮像した場合、再帰反射マーク５０１、５０３付近だけが明るい画像を撮像することができる。このように、画像の一部領域の明るさを制御できるため、実施形態１で示した、ステップＳ１６（図４）の手法を用いて、同期ずれ量を検出することができる。
【０１１８】
上記構成によれば、ある程度の光路長を確保した上で単眼カメラ１０１、１０２方向に照射する照明を設置する必要がなくなる。単眼カメラ１０１、１０２に入射可能な照明を設置するには、照明基板１０３と単眼カメラ１０１、１０２間の距離を長くなりがちである。しかしながら、本実施形態ではこのような照明方向を取る必要がなく、ステレオカメラ１廻りのユニットを小型化できる。
【０１１９】
なお、照明基板１０３には、単眼カメラ１０１、１０２のそれぞれの撮影画角を確保するための開口を設けるか、あるいは照明基板１０３を透明材料などから構成すればよい。この点は本明細書における他の実施形態でも同様である。
【０１２０】
また、本実施形態の同期ずれ検出照明１３１〜１３４は、ステレオカメラ１で３次元計測のための照明として兼用してもよい。これにより、専用照明を設置することなく、単眼カメラ１０１、１０２の同期合わせが可能となり、ステレオカメラ１を簡単安価に構成できる。
【０１２１】
本実施形態では、ステレオカメラ１をロボットハンド４に設置しているため、ステレオカメラ１とロボットハンド４の相対位置関係は変化しない。つまり、再帰反射マーク５０１〜５０４は常時、ステレオカメラ１の共通視野内に入る。なお、再帰反射マークをワークなどの被写体側に配置する構成も考えられる。そのような構成では撮像箇所が複数ある場合、撮像箇所ごとに再帰反射材を設置する必要がある。これに対して、上記のようにロボットハンド４に再帰反射材を配置する構成では、再帰反射材を配置する準備工数が少なくなり、製造システムに係る設置作業は極めて容易に行える。
【０１２２】
なお、本実施形態では、再帰反射マーク５０１〜５０４の４枚構成にしたが、再帰反射マークの数は任意であり、必要な撮像仕様に応じて増減して構わない。例えば、共通視野１０８の伸びる方向のほぼすべてを含む領域に、再帰反射マークを１枚貼付け、再帰反射マークからの反射光を実施形態２の同期ずれ検出照明の照明光と同様に取り扱い、実施形態２に示した手法で同期合わせを行うようにしてもよい。
【０１２３】
＜実施形態５＞
上述の実施形態１〜４、特に実施形態１では、同期合わせを行う手法として、同期ずれ量が規定値以内となるまで、繰り返し１つの単眼カメラを電源ＯＦＦ状態４０１（図３）として初期化する、というランダムな過程を利用する制御を示した。即ち、同期ずれ量が既定値以内になるまで、１つの単眼カメラを電源ＯＦＦ状態４０１〜初期化状態４０２〜撮像パラメータ調整状態４０３〜動画出力状態４０４と、繰返し状態遷移させる。同期合わせが完了するまでにかかる時間は確率に左右される。また、同期合わせがなかなか収束せず、実用上問題となる時間が経過してしまう可能性も否定できない。
【０１２４】
即ち、上記のような制御では、特に同期ずれ量の既定値の許容範囲が狭い場合などでは、同期合わせが完了するまでに長時間かかる、また同期合わせが完了しない場合も考えられる。即ち、同期合わせにかかる時間を見積もることが難しい。また、別の問題として、カメラ間で露光周期のバラツキが大きい場合には、いったん同期合わせをした後に長時間が経過すると再度、同期ずれが生じ、時間とともにずれ量が拡大してしまうという可能性もある。
【０１２５】
本実施形態では、３次元計測の期間中のタイミングで同期ずれを検出し、単眼カメラ１０１と単眼カメラ１０２が動画出力状態で連続的に出力する画像の内、最も同期ずれの少ない画像ペアを選択する構成を考え、これにより上記の問題に対処する。
【０１２６】
以下では、実施形態１とは異なるハードウェアや制御系の構成の部分について図示、説明し、実施形態１と同様の部分については上記と同様の構成、作用が可能であるものとし、その詳細な説明については省略する。
【０１２７】
本実施形態では、複数カメラの撮像システムの構成、ステレオカメラ１の各構成要素、画像処理装置２の各構成要素については、実施形態１〜４と同様であるものとし、主に画像の選択を介して行う同期合わせの手法につき、説明する。
【０１２８】
同期ずれ量の算出方法については、実施形態１〜４と同様の手法により行う。ただし、本実施形態では、同期ずれ量に応じて動画出力状態となっている単眼カメラ１０２の画像は前後の少なくとも１フレーム分以上の複数フレームの画像を記憶部（メモリ、画像メモリ）から破棄せずにメモリ上に保管しておくものとする。
【０１２９】
（同期合わせ方法）
図１２は、本実施形態における画像の選択を介して行う同期合わせの手順を示している。図１２のステップＳ３０では、同期ずれ量を算出する。これは上述の実施形態で示したいずれかの手法によって取得する。ただし、同期ずれ量を算出する際に、動画出力状態となっている単眼カメラ１０２の画像は前後のフレームの画像を破棄せずにメモリ上に保管しておく。
【０１３０】
ステップＳ３１では、単眼カメラ１０２の単眼カメラ１０１に対する同期ずれ（進み）量が＋１／２フレーム以上か否かを判定する。例えば単眼カメラ１０１、１０２のフレームレートが２５ＦＰＳ（１フレームあたり０．０４秒）であれば、単眼カメラ１０２の単眼カメラ１０１に対する同期ずれ（進み）量が＋０．０２秒以上か否かを判定する。＋１／２フレーム以上であるならば（ステップＳ３１のＹＥＳ）、その後ステップＳ３５へ進む。また、＋１／２フレーム未満であるならば（ステップＳ３１のＮＯ）、その後ステップＳ３２へ進む。
【０１３１】
ステップＳ３２では、単眼カメラ１０２の単眼カメラ１０１に対する同期ずれ（進み）量が−１／２フレーム以下か否かを判定する。例えば単眼カメラ１０１、１０２のフレームレートが２５ＦＰＳであれば、単眼カメラ１０２の単眼カメラ１０１に対する同期ずれ（進み）量が−０．０２秒以下か否かを判定する。−１／２フレーム以下であるならば（ステップＳ３２のＹＥＳ）、その後ステップＳ３４へ進む。また、−１／２フレームより大きいならば（ステップＳ３２のＮＯ）、その後ステップＳ３３へ進む。
【０１３２】
ステップＳ３３では、単眼カメラ１０１の画像と単眼カメラ１０２の画像を同期合わせされた画像ペアとして選定する。ステップＳ３４では、単眼カメラ１０１の画像とメモリ上に保管された単眼カメラ１０２の次のフレームの画像を、同期合わせされた画像ペアとして選定する。
【０１３３】
ステップＳ３５では、単眼カメラ１０１の画像とメモリ上に保管された単眼カメラ１０２の前のフレームの画像を、同期合わせされた画像ペアとして選定する。
【０１３４】
以上では、単眼カメラ１０１と１０２の同期ずれ量が１フレーム以内である場合に適用可能な同期合わせ手法である。しかしながら、もし、単眼カメラ１０１と１０２の同期ずれ量が１フレームを超える場合には、例えば、同期ずれ量（フレーム単位）のうち整数部分の数値を用いてフレームをシフトさせる。その上で、シフトされたフレームの画像を基準として、小数点以下部分の数値を用いて上記と同様に使用する画像を選択することができる。
【０１３５】
例えば、ここで単眼カメラ１０２が単眼カメラ１０１に対して２．４フレーム進んでいるとする。この場合には、単眼カメラ１０２の取得画像より２フレーム前の画像を基準とし、同期ずれ量０．４フレームを、ステップＳ３１で判定し、１／２フレーム以上進んでいないのでステップＳ３２の判定へ進む。ステップＳ３２の判定では、１／２フレーム以上遅れていないのでステップＳ３３へ進み、２フレーム前の画像を基準として画像ペアを選択する。この場合には、結果的に単眼カメラ１０１の画像と、単眼カメラ１０２の画像の２フレーム前の画像が画像ペアとなる。
【０１３６】
上記のようにして３次元計測に用いる画像として何フレーム離れた画像をペアとするかは、例えば３次元計測前や、３次元計測処理を行っていない時間に予め決定しておくこともできる。即ち、単眼カメラ１０１の画像に対する単眼カメラ１０２の画像として、単眼カメラ１０１と同時に取得した画像を使用するか、単眼カメラ１０１と同時に取得した画像の前のフレーム、あるいは次のフレームの画像を使うか、を予め決定しておく。もしくは、同期合わせ処理を３次元計測ごとに実行し、単眼カメラ１０１の画像に対する単眼カメラ１０２の画像として使用するフレームを決定してもよい。
【０１３７】
なお、本実施形態では単眼カメラ１０１の画像に対応する単眼カメラ１０２の画像として使用するフレームを決定したが、逆に、単眼カメラ１０２の画像に対応する単眼カメラ１０１の画像として使用するフレームを決定してもよい。また、基準とするカメラを３次元計測に係る諸条件に応じて切り換えるような制御を行ってもよい。
【０１３８】
また、本実施形態による同期合わせは、複数カメラの同期合わせ全般に適用可能である。しかしながら、本実施形態３次元計測中に同期ずれ検出照明を点灯させる場合には、好ましくはステレオカメラ１の各単眼カメラはグローバルシャッタカメラで構成する。もし、本実施形態による同期合わせをローリングシャッタカメラで構成されたステレオカメラに適用する場合には、計測に使用する画像上で、照明光が撮像されるタイミングのラインが帯状に明るくなりノイズとなる。そのため、３次元計測の妨げになる可能性がある。このようにグローバルシャッタカメラを用いることにより、同期合わせ照明の３次元計測に対する影響を低減することができる。
【０１３９】
あるいは、ローリングシャッタカメラから成るステレオカメラを用い、３次元計測中に同期ずれ検出照明を点灯させる場合には、次のような構成を取ってもよい。例えば、実施形態１のように単眼カメラ１０１および１０２の共通視野ではない、３次元計測では使用しない領域に同期ずれ検出照明を配置する構成とすることが考えられる。このような構成により、同期ずれ検出照明により３次元計測を妨げることなく、撮像タイミングの同期合わせを行うことができる。
【０１４０】
本実施形態のように同期ずれ量の大きさに基づき、３次元計測に用いるフレーム画像を選択する構成によれば、同期合わせが完了するまでにかかる時間は確率に左右されない。同期合わせが完了するまでにかかる所要時間を短時間かつ一定に保つことができる。また、同期合わせ処理は、３次元計測の度に実行することもでき、長時間計測を継続しても同期ずれが生じないという効果を期待できる。
【０１４１】
＜実施形態６＞
上述した実施形態１〜５では、ステレオカメラ１を単眼カメラ１０１、１０２の２台のカメラを用いて構成したが、３台以上のカメラを用いることも考えられる。３次元計測に用いる２台のカメラ以外に単眼カメラを設けておけば、例えば３次元計測中の２台のカメラの同期ずれ量を監視し、３次元計測に用いる単眼カメラのペア（組合せ）を切り換えることができる。３次元計測に用いる単眼カメラの組合せを切り換えるタイミングとしては、３次元計測中の２台のカメラの同期ずれ量が大きくなった時が考えられる。また、定期的なタイミングで、３次元計測に用いる単眼カメラのペア（組合せ）を切り換えるような制御も考えられる。その場合、例えば、後述のように単眼カメラ１０１、１０２のペアを２組用意しておき、片方のペアで３次元計測中に他方のペアで予め同期ずれ検出と、それに基づく同期合わせを行っておく制御などを行うことができる。
【０１４２】
上述した実施形態１〜５では、単眼カメラ１０１、１０２の間で露光周期のバラツキが大きいような場合、いったん同期合わせをした後に長時間が経過すると再度同期ずれが生じ、時間とともにずれ量が拡大してしまう可能性がある。また、同期ずれ検出照明の配置などによっては、同期がずれた場合、同期を合わせるためには一度、３次元計測を中断する必要が生じる。本実施形態によれば、３台以上の複数の単眼カメラを用いて上記のような問題に対処できる。
【０１４３】
以下では、実施形態１とは異なるハードウェアや制御系の構成の部分について図示、説明し、実施形態１と同様の部分については上記と同様の構成、作用が可能であるものとし、その詳細な説明については省略する。
【０１４４】
図１３に一例を示すが、本実施形態では、ステレオカメラ１には、３つのカメラ、単眼カメラ１０１、単眼カメラ１０２、単眼カメラ１１０を配置する。図１３は図１（ｂ）と同等の様式でステレオカメラ１の構成を示している。単眼カメラ１０１、単眼カメラ１０２は、実施形態１と同等に所定の基線長だけ、離間して配置される。この時、単眼カメラ１０１と単眼カメラ１１０の撮像光学系が離間する基線長が単眼カメラ１０１、１０２の基線長と同じになるよう配置してある。
【０１４５】
そして、同図に示すように、単眼カメラ１０１、１０２、１１０に対して同期ずれ検出照明１０４〜１０７および１０９を配置する。同期ずれ検出照明１０７は、両カメラの中間に配置し、単眼カメラ１０２、または１１０のために共用できるような構成としてある。
【０１４６】
このような構成により、例えば３次元計測中の単眼カメラ１０１、１０２の同期ずれ量を監視し、例えば同期ずれが生じた際に、３次元計測に用いるカメラの系統を切り換えることができる。例えば、３次元計測に用いるカメラの系統を単眼カメラ１０１、１０２の第１の組合せから単眼カメラ１０１、１１０の第２の組合せに切り換える。このような構成により、３次元計測と並行して３次元計測を遅滞させることなく同期合わせを行うことができる。
【０１４７】
逆に、単眼カメラ１０１、１１０で３次元計測をしている間に、単眼カメラ１０１、１１０の同期ずれ量を監視することができる。そして、同期ずれが生じた際に単眼カメラ１０１、１０２に３次元計測に用いるカメラを切り換える。これにより、単眼カメラ１０１と単眼カメラ１０２で計測を継続することができる。このようにして、２つのステレオ撮像系の３次元計測と、同期合わせの役割を必要に応じて交互に切り換えることにより、３次元計測を中断、遅滞させることなく、常に同期の取れたステレオ撮像系により３次元計測を続行することができる。
【０１４８】
（計測カメラ切り換え方法）
ここで、２つのステレオ撮像系を構成する単眼カメラ１０１、１０２、１１０の切り換え制御の具体例を図１４に示す。図１４は、これらカメラの切り換え制御手順の一例を示している。
【０１４９】
図１４のステップＳ４０では、単眼カメラ１０１と単眼カメラ１０２で３次元計測を開始する。ステップＳ４１では、単眼カメラ１０１と単眼カメラ１０２の同期ずれ量を算出する。この同期ずれ量の算出の手法としては、同期ずれ検出照明１０４〜１０７を用いた実施形態１と同等の手法を用いることができる。
【０１５０】
ステップＳ４２では、単眼カメラ１０１、１０２の同期ずれ量が所定の閾値以上かを判定する。単眼カメラ１０１、１０２の同期ずれ量が閾値以内であるならば（ステップ４２のＮＯ）、ステップＳ４１に復帰して再度、同期ずれ量を確認する。また、単眼カメラ１０１、１０２の同期ずれ量が閾値以上であるならば（ステップＳ４２のＹＥＳ）、ステップＳ４３に進む。
【０１５１】
ステップＳ４３では、単眼カメラ１０１と単眼カメラ１１０の同期合わせを開始する。この同期合わせ処理は、例えば実施形態１におけるように、同期ずれ量が規定値以内となるまで単眼カメラ１１０の電源ＯＦＦ〜初期化…の状態遷移を繰り返し行う手法によって行うことができる。また、単眼カメラ１０１、１１０の同期合わせ上述の他の手法によって行ってもよい。
【０１５２】
ステップＳ４４では、３次元計測に用いる撮像系を単眼カメラ１０１と単眼カメラ１１０の側に切り換えて、３次元計測を開始する。即ち、３次元計測に用いるカメラを単眼カメラ１０１および単眼カメラ１０２から、単眼カメラ１０１および単眼カメラ１１０に切り換える。その後、同期ずれ量を監視するカメラと、同期合わせをするカメラを変えながら、所期の３次元計測が終了するまでステップＳ４１からステップＳ４４までを繰り返す。
【０１５３】
以上では、ステレオカメラ１を構成する複数の単眼カメラが３つである例を示したが、より多数の単眼カメラによりステレオカメラ１を構成してもよい。例えば、単眼カメラを４つ以上用い、同期ずれ量を算出する撮像系と、同期合わせする撮像系を切り換えてもよい。このように同期ずれ量を算出する撮像系と、同期合わせする撮像系を並列的に動作させることができる構成には大きなメリットがある。例えば、ある単眼カメラの撮像系で３次元計測中に、並行して別の単眼カメラの撮像系で同期合せを実行することができる。この構成では、例えば３次元計測のための撮像系を切り換える必要が生じた場合には、図１４に示したような同期合せ処理の処理時間を必要とせず、高速に、既に同期合せ済みの撮像系への切り換えを行うことができる。
【０１５４】
なお、図１３に示した単眼カメラ１０２および単眼カメラ１１０と、単眼カメラ１０１の左右の位置関係は、図１３の図示とは異なる位置関係であっても構わない。例えば、単眼カメラ１０１を中心として、単眼カメラ１０２と単眼カメラ１１０を一直線上になるような配置も考えられるし、３つの単眼カメラが正三角形をなすような等間隔配置であってもよい。また、以上では、単眼カメラ１０１と単眼カメラ１０２、あるいは単眼カメラ１０１と単眼カメラ１１０のそれぞれの組を３次元計測に用いるものとして説明した。しかしながら、単眼カメラの配置によっては単眼カメラ１０２と単眼カメラ１１０の組を計測に用いても構わない。
【０１５５】
以上に示した実施形態の構成はあくまでも一例であって、本発明を逸脱しない範囲で、当業者には種々の設計変更が可能である。例えば、以上では、同期撮像を行う複数の単眼カメラは、３次元計測のためのステレオカメラを構成するものとして説明した。しかしながら、本発明のハードウェア構成や撮像制御が、何らかの目的で同期撮像を行う必要のある、複数の単眼カメラで構成された撮像システムにおいて実施できるのはいうまでもない。
【０１５６】
また、以上に示した実施形態のステレオカメラ１はロボット装置のロボットハンド４に設けられる構成を説明したが、これに限られない。制御装置に設けられる記憶装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作またはこれらの複合動作を自動的に行うことができる機械に適用可能である。
【符号の説明】
【０１５７】
１…ステレオカメラ、２…画像処理装置、１０１、１０２、１１０…単眼カメラ、１０３…照明基板、１０８…共通視野、１０４〜１０７、１０９、１１１〜１１４、１２１〜１２４、１３１〜１３４…同期ずれ検出照明、１１５〜１１８…照射範囲、１２５…拡散板、１３０…外部照明、２０１…カメラ制御部、２０２…照明制御部、２０３…同期ずれ量演算部、２０４…同期合わせ制御部、２０５…３次元計測部、３０１…集光部、３０２…イメージセンサ、４…ロボットハンド、１４０１、１４０２…フィンガ、５０１〜５０４…再帰反射マーク。
【図１】
2022003729.tif 000003
【図２】
2022003729.tif 000004
【図３】
2022003729.tif 000005
【図４】
2022003729.tif 000006
【図５】
2022003729.tif 000007
【図６】
2022003729.tif 000008
【図７】
2022003729.tif 000009
【図８】
2022003729.tif 000010
【図９】
2022003729.tif 000011
【図１０】
2022003729.tif 000012
【図１１】
2022003729.tif 000013
【図１２】
2022003729.tif 000014
【図１３】
2022003729.tif 000015
【図１４】
2022003729.tif 000016
【図１５】
2022003729.tif 000017