(57)【要約】      （修正有）【課題】光源の位置推定のための処理を軽減する３次元形状計測装置を提供する。【解決手段】被計測物に対して光を照射する複数の光源Ｌ１−Ｌ４と、被計測物が載置される所定の領域を撮像する複数の撮像手段Ｃ１−Ｃ３と、撮像手段が撮像することで得られた画像から、画像に含まれる他の撮像手段の３次元座標を算出する撮像手段座標算出手段と、撮像手段の３次元座標と、光源および撮像手段の基板Ｂ１−Ｂ４上の配置情報とに基づいて、光源の３次元座標を推定する光源位置座標推定手段とを備える。【選択図】図８
2017009477.tif 000002
【特許請求の範囲】
【請求項１】
被計測物に対して光を照射する複数の光源と、
前記被計測物が載置される所定の領域を撮像する複数の撮像手段と、
前記撮像手段が撮像することで得られた画像から、該画像に含まれる他の撮像手段の３次元座標を算出する撮像手段座標算出手段と、
前記撮像手段の３次元座標と、前記光源および前記撮像手段の基板上の配置情報とに基づいて、前記光源の３次元座標を推定する光源位置座標推定手段と
を備えたことを特徴とする３次元形状計測装置。
【請求項２】
請求項１に記載の３次元形状計測装置において、
前記光源位置座標推定手段は、前記撮像手段の３次元座標と前記配置情報とに基づいて、前記光源の光点の抽出に用いる画像を撮像可能な前記撮像手段を抽出し、抽出した前記撮像手段の画像から、該画像に含まれる光点を抽出し、該光点から前記光源の３次元座標を推定する
ことを特徴とする３次元形状計測装置。
【請求項３】
請求項２に記載の３次元形状計測装置において、
前記光源位置座標推定手段は、前記被計測物の３次元形状データに基づき、前記光源と同じ基板に配置される前記撮像手段の３次元座標と、他の撮像手段の３次元座標との間に、前記被計測物が存在する場合に、前記他の撮像手段を抽出の対象から除外する
ことを特徴とする３次元形状計測装置。
【請求項４】
請求項２または３のいずれか一項に記載の３次元形状計測装置において、
前記光源位置座標推定手段は、前記光源と同じ基板に配置される前記撮像手段の３次元座標を画角内に含まない他の撮像手段を抽出の対象から除外する
ことを特徴とする３次元形状計測装置。
【請求項５】
請求項１乃至４のいずれか一項に記載の３次元形状計測装置において、
前記光源位置座標推定手段は、前記光源と同じ基板に配置される前記撮像手段の３次元座標を基準とした前記光源の配光特性の範囲に含まない他の撮像手段を抽出の対象から除外する
ことを特徴とする３次元形状計測装置。
【請求項６】
請求項５に記載の３次元形状計測装置において、
前記配光特性は、前記基板上で前記光源と隣接しない側の前記撮像手段に適用する
ことを特徴とする３次元形状計測装置。
【請求項７】
請求項１乃至６のいずれか一項に記載の３次元形状計測装置において、
一の前記光源を複数の前記撮像手段が基板上で取り囲み、２つの前記撮像手段を結ぶ直線上に前記光源が配置されてなる
ことを特徴とする３次元形状計測装置。
【請求項８】
被計測物に対して光を照射する複数の光源と、前記被計測物が載置される所定の領域を撮像する複数の撮像手段とを備えた３次元形状計測装置の制御部が実行する方法であって、
前記撮像手段が撮像することで得られた画像から、該画像に含まれる他の撮像手段の３次元座標を算出する撮像手段座標算出工程と、
前記撮像手段の３次元座標と、前記光源および前記撮像手段の基板上の配置情報とに基づいて、前記光源の３次元座標を推定する光源位置座標推定工程と
を備えたことを特徴とする３次元形状計測方法。
【請求項９】
被計測物に対して光を照射する複数の光源と、前記被計測物が載置される所定の領域を撮像する複数の撮像手段とを備えた３次元形状計測装置の制御部を構成するコンピュータを、
前記撮像手段が撮像することで得られた画像から、該画像に含まれる他の撮像手段の３次元座標を算出する撮像手段座標算出手段、
前記撮像手段の３次元座標と、前記光源および前記撮像手段の基板上の配置情報とに基づいて、前記光源の３次元座標を推定する光源位置座標推定手段
として機能させる３次元形状計測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元形状計測装置、３次元形状計測方法および３次元形状計測プログラムに関する。
【背景技術】
【０００２】
文化財のデジタルアーカイブ等の種々の分野で、物体の３次元形状や表面の反射率等を正確に計測することが求められている。
【０００３】
計測は、複数の光源（照明手段）と複数のカメラ（撮像手段）の組み合わせを変えながら物体の撮像を行い、得られた複数の画像から演算処理を行うことにより行われるものであるが、特に反射率を正確に計測するためには、光源の位置（３次元座標）を正確に知ることが必要である。
【０００４】
また、この種の３次元形状を計測するための装置は、物体を全方向から観測できるようにするとともに、外光を遮断する必要から、分割された筐体を開閉する暗室タイプとすることが多い。
【０００５】
一方、頂点を有する立体物を複数配置し、カメラ撮像画像に基づき、光源と頂点の影から照明空間における光源の３次元座標を推定する技術が知られている（例えば、特許文献１等を参照。）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した暗室タイプの装置においては、筐体を開けて物体（被計測物）を内部に置き、筐体を閉じて計測を行うため、装置の機構上の精度により、光源の位置が以前の推定を行った時の位置からずれてしまう。そのため、計測を行うたびに光源位置の推定を行う必要があるが、推定のためには多数の撮像画像に基づく処理が必要となり、処理の負荷が高く、計測の作業に影響を与えていた。
【０００７】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、光源の位置推定のための処理を軽減することにある。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明にあっては、被計測物に対して光を照射する複数の光源と、前記被計測物が載置される所定の領域を撮像する複数の撮像手段と、前記撮像手段が撮像することで得られた画像から、該画像に含まれる他の撮像手段の３次元座標を算出する撮像手段座標算出手段と、前記撮像手段の３次元座標と、前記光源および前記撮像手段の基板上の配置情報とに基づいて、前記光源の３次元座標を推定する光源位置座標推定手段とを備える。
【発明の効果】
【０００９】
本発明にあっては、光源の位置推定のための処理を軽減することができる。
【図面の簡単な説明】
【００１０】
【図１】３次元形状計測装置の筐体の構成例を示す図である。
【図２】基板の構成例を示す図である。
【図３】基板の情報処理のためのハードウェア構成例を示す図である。
【図４】情報処理装置のハードウェア構成例を示す図である。
【図５】基板および情報処理装置のソフトウェア構成例を示す図である。
【図６】実施形態の処理例を示すフローチャート（その１）である。
【図７】カメラ画像上の２次元座標と３次元座標の関係を示す図である。
【図８】衝突判定と画角判定の例を示す図である。
【図９】衝突判定の手法の例を示す図である。
【図１０】基板上の光源およびカメラの配置の例を示す図である。
【図１１】光源の配光特性の例を示す図である。
【図１２】配光判定の例を示す図である。
【図１３】３次元座標推定の例を示す図である。
【図１４】実施形態の処理例を示すフローチャート（その２）である。
【発明を実施するための形態】
【００１１】
以下、本発明の好適な実施形態につき説明する。
【００１２】
＜構成＞
図１は３次元形状計測装置１の筐体の構成例を示す図である。図１において、３次元形状計測装置１の筐体は、基板（基板ユニット）１１を固定するために用いるジオデシックドーム（Geodesic Dome）形状の半球状の基板フレーム１２と、基板フレーム１２に外接し、外光を防ぐための半球状の遮光ドーム１３と、基板フレーム１２の底部から突きだして設けられた被計測物載置部１４とを備えている。半球状の遮光ドーム１３は、筐体フレーム１５により支持されて床面上に設置できるようになっている。基板フレーム１２および遮光ドーム１３については、上側の半球状の上側筐体１６についても同様に構成されており、筐体フレーム１５の上端の一辺を支点にして開閉でき、閉じた際に外光を完全に防ぐようになっている。また、筐体内部の光源からの光が遮光ドーム１３の内側に照射された際にも、遮光ドーム１３からは反射が起こらない構造（例えば、表面をつや消しで黒く加工する等）となっている。なお、遮光ドーム１３の形状は球でなくてもよく、必要に応じて形を変えることができる。被計測物載置部１４は、下方の基板からの３次元情報の取得を妨げないよう、被計測物に応じて最小の大きさとなるように変更することができる。また、被計測物に応じて被計測物載置部１４の高さを変更できるようにしてもよい。
【００１３】
図２は基板１１の構成例を示す図である。図２において、基板１１は、被計測物に光を照射して照明を行う照明素子（光源）１１１と、被計測物の撮像を行う撮像素子（カメラ）１１２と、基板フレーム１２と接続（ネジ止め等）するための基板固定部１１３とを備えている。なお、図示の例では基板１１に照明素子１１１を１個、撮像素子１１２を６個としたものとしたが、照明素子１１１と撮像素子１１２の数と配置はこれに限られない。また、照明素子１１１による照明と撮像素子１１２による撮像は、素子毎に個別に制御を行うことができる。撮像素子１１２は、画像情報を得るだけではなく、例えば、ＴｏＦ（Time-of-Flight）カメラ等を用いて、画像情報のほかに撮像素子１１２から被計測物までの距離情報を得てもよい。
【００１４】
図３は基板１１の情報処理のためのハードウェア構成例を示す図である。図３において、基板１１は、前述した照明素子１１１および撮像素子１１２の他に、Ｉ／Ｆ（Interface）１１４と、ＣＰＵ（Central Processing Unit）１１５と、ＲＯＭ（Read Only Memory）１１６と、ＲＡＭ（Random Access Memory）１１７と、Ｉ／Ｆ（Interface）１１８とを備えている。Ｉ／Ｆ１１４は、１または複数の照明素子１１１による照明を制御するとともに、１または複数の撮像素子１１２による撮像を制御する。ＣＰＵ１１５は、各基板１１における主たる制御を行う。ＲＯＭ１１６は、固定的なプログラムやデータを保持する。ＲＡＭ１１７は、取得した画像情報を含む動的なデータを保持する。Ｉ／Ｆ１１８は、ＰＣ（Personal Computer）等の情報処理装置２とデータ通信を行う。なお、情報処理装置２は３次元形状計測装置１の一部として筐体内に設けてもよいし、情報処理装置２の機能を各基板１１に分散してもよい。
【００１５】
図４は情報処理装置２のハードウェア構成例を示す図である。図４において、情報処理装置２は、システムバス２０１に接続されたＣＰＵ（Central Processing Unit）２０２、ＲＯＭ（Read Only Memory）２０３、ＲＡＭ（Random Access Memory）２０４、ＮＶＲＡＭ（Non-Volatile Random Access Memory）２０５を備えている。また、情報処理装置２は、Ｉ／Ｆ（Interface）２０６と、Ｉ／Ｆ２０６に接続された、Ｉ／Ｏ（Input/Output Device）２０７、ＨＤＤ（Hard Disk Drive）／フラッシュメモリ２０８、ＮＩＣ（Network Interface Card）２０９と、Ｉ／Ｏ２０７に接続されたモニタ２１０、キーボード２１１、マウス２１２等を備えている。Ｉ／Ｏ２０７にはＣＤ／ＤＶＤ（Compact Disk/Digital Versatile Disk）ドライブ等を接続することもできる。
【００１６】
図５は基板１１および情報処理装置２のソフトウェア構成例を示す図である。図５において、基板１１は、撮像・照明制御部１１０１と情報転送部１１０２とを備えている。これらはＣＰＵ１１５（図３）における所定のプログラムの実行により実現される。情報処理装置２は、演算制御部２１と情報転送部２２とを備えている。これらはＣＰＵ２０２（図４）における所定のプログラムの実行により実現される。
【００１７】
情報処理装置２の演算制御部２１は、各基板１１において動作させる光源およびカメラを決定して基板１１側に指示を行い、指定した光源による照明で指定したカメラで撮像を行って撮像された画像を取得するとともに、取得した画像に基づいて各種の情報処理を行う機能を有している。情報転送部２２は、情報処理装置２と基板１１の間で情報の転送を行う機能を有している。
【００１８】
基板１１の撮像・照明制御部１１０１は、情報処理装置２からの指示に基づき、指定された光源によって照明を行って指定されたカメラで撮像を行い、画像を要求元の情報処理装置２に応答する機能を有している。情報転送部１１０２は、基板１１と情報処理装置２の間で情報の転送を行う機能を有している。
【００１９】
＜動作＞
図６は上記の実施形態の処理例を示すフローチャートである。図６において、情報処理装置２の演算制御部２１は、３次元形状計測装置１の基板１１を制御し、照明および撮像を行い（ステップＳ１）、複数の撮像データ（カメラ画像）を取得する。
【００２０】
次いで、情報処理装置２の演算制御部２１は、取得された複数のカメラ画像に対して画像同士の対応点を取得するために特徴点の抽出を行う（ステップＳ２）。特徴点の抽出についてはＳＩＦＴ（Scale-Invariant Feature Transform）のような、撮像する向きや大きさの変化に強いオペレータを選択するのがよい。
【００２１】
次いで、情報処理装置２の演算制御部２１は、抽出された特徴点のマッチングを行い（ステップＳ３）、マッチングされた特徴点は同じ部分であるとして、カメラに相当する特徴点からはカメラ座標を取得し、その他の特徴点からは被計測物の点群を取得する。特徴点のマッチングは、ＳＦＭ（Structure from Motion）等によって行う。
【００２２】
図７はカメラ画像上の２次元座標と３次元座標の関係を示す図である。カメラ画像上の２次元座標と特徴点の３次元座標は式（１）のような関係がある。ここで、i=1,・・・,mは個々のカメラを表している。j=1,・・・,nは個々の特徴点を表している。zij=[uij,vij]Tはカメラｉの画像上の２次元座標を表している。qj=[Xj,Yj,Zj]Tはj番目の特徴点の３次元座標を表している。Piはカメラiに対するカメラ行列（3×4行列）であり、Ki[Ri|ti]と表すことができる。「|」は行列要素を横に並べることを表している。Ｋｉは焦点距離、画像の中心といったカメラｉの内部パラメータであり、[Ri|ti]は３次元座標からカメラ平面上の座標へ変換するためのカメラｉの外部パラメータである。Kiは事前にチェッカーパターン等を複数枚撮像すること等によって算出することができる。ただし、焦点距離をあえて未知とする場合もある。Riやtiは未知である。
【００２３】
これらの未知のパラメータ中から適切にパラメータを選択し、それらを並べてpiを作る。カメラの未知パラメータp1,…,pmおよび特徴点の３次元座標q1,…,qnを式（１）に基づいて推定するが、カメラの観測座標zij=[uij,vij]Tには、画像を取得し各点を抽出する過程で誤差が混入する。このためzijは式（１）を満たさない場合がある。そのため、誤差を前提としてパラメータp1,…,pmおよび３次元座標q1,…,qnを真の値とした時に観測点の累積誤差を表すコスト関数E(x)（再投影誤差）を式（２）のように定義し、これが最小になるようにパラメータを算出する。u(pi,qj)とv(pi,qj)は、図示のように表すことができる。(Pi)kはPiのｋ行ベクトルを指す。E(x)は非線形関数のため、ニュートン法、ＬＭ法等の汎用の最小化アルゴリズムを用いて算出するとよい。
【００２４】
カメラの３次元座標は、いずれか１つを基準カメラの座標q0=[X0,Y0,Z0]T、R0=I（Iは対角行列）とすれば、その他のカメラ座標は、式（３）で示すように、qm=Rmq0+tmのように算出できる。q0は任意の基準で設定（例えば、(X0,Y0,Z0)=(0,0,0)）される。以上の処理によって、カメラ座標（併せてカメラパラメータも）と被計測物の点群（３次元座標群）が生成される。
【００２５】
図６に戻り、情報処理装置２の演算制御部２１は、生成された疎な点群を密な点群にする点群密化の処理を行う（ステップＳ４）。例えば、Patch-based Multi View Stereo等を用いて点群の密化を行う。
【００２６】
次いで、情報処理装置２の演算制御部２１は、密化された点群に対してノイズの点群を除去するフィルタ処理や点群をメッシュ状につなぎ合わせるメッシュ化処理を行い（ステップＳ５）、被計測物の３次元形状データを出力する。フィルタ処理はローパスフィルタや曲面当て込み等の手法がある。メッシュ化の手法はPoisson Surface Reconstruction等の陰関数によって表面を表現する手法がある。
【００２７】
次いで、情報処理装置２の演算制御部２１は、特徴点マッチング（ステップＳ３）で得られたカメラ座標と、フィルタ・メッシュ化（ステップＳ５）で得られた被計測物の３次元形状データと、予め基板上の光源とカメラの配置の関係を記述した光源点灯基板位置とに基づき、光源の３次元座標を推定するのに用いる撮像カメラを抽出する（ステップＳ６）。光源の３次元座標の推定に用いる撮像カメラを全カメラの中から限定することで、光源の３次元座標の推定に有効でない撮像データを処理の対象としなくて済むため、精度を低下させることなく処理を軽減することができる。
【００２８】
光源の３次元座標の推定に用いる撮像カメラを選択する基準は、本来は、光源が画像の中に有効に収まるようなカメラであるか否かによる。しかし、光源の３次元座標が求まっていない段階においてその判断を行うことはできない。そこで、基板上に光源とカメラが隣接して配置されていることを利用し、カメラの位置を光源の位置とみなして、既に求まっているカメラ座標を用い、あるカメラが画像中に有効に収まるような撮像側の他のカメラを抽出するようにしている。
【００２９】
撮像カメラの抽出は、
・衝突判定
・画角判定
・配光判定
のそれぞれを単独に、または適宜に組み合わせて行う。
【００３０】
衝突判定は、対象となる光源が配置された基板に配置されているカメラを基準に、そのカメラと他のカメラを結ぶ直線上に被計測物が存在するか否かを判定し、存在する場合は他のカメラを抽出の対象から除外するものである。
【００３１】
図８において、基板Ｂ１には光源Ｌ１とカメラＣ１が配置され、基板Ｂ２には光源Ｌ２とカメラＣ２が配置され、基板Ｂ３には光源Ｌ３とカメラＣ３が配置されているものとしている。これらは光源点灯基盤位置として把握されている。ここで、基板Ｂ１の光源Ｌ１について、同じ基板Ｂ１上のカメラＣ１を基準とし、他の基板上のカメラとの間で衝突判定を行う場合、基板Ｂ２のカメラＣ２については、ａで示すように、カメラＣ１の座標とカメラＣ２の座標を結ぶ直線上に被計測物が存在しないため、カメラＣ２は対象から除外されない。基板Ｂ３のカメラＣ３については、ｂで示すように、カメラＣ１の座標とカメラＣ３の座標を結ぶ直線上に被計測物が存在するため、カメラＣ３は対象から除外される。
【００３２】
図９は衝突判定の手法の例を示す図であり、カメラＣ１から見たとした場合の画像（実際に生成する必要はない）をカメラ座標と被計測物の３次元形状データに基づいて再現（カメラＣ１のカメラパラメータより算出）したものである。ここで、被計測物については、細部まで考慮する必要はないことから、３次元形状データのｘｙｚ座標の各最外郭点を包含するようなキューブで表現している。図示の例では、被計測物に対応するキューブの側面（Ｐ１，Ｐ５，Ｐ６，Ｐ４の面とＰ５，Ｐ２，Ｐ３，Ｐ６の面）が中央に存在している。また、カメラＣ２のカメラＣ１上の座標はＰ（Ｃ２）に、カメラＣ３のカメラＣ１上の座標はＰ（Ｃ３）に示されている。そして、カメラの座標が被計測物の輪郭（検出エリア）に含まれるか否かにより、衝突の有無を判定する。カメラＣ２の位置Ｐ（Ｃ２）は含まれないため、衝突しないと判定される。カメラＣ３の位置Ｐ（Ｃ３）は含まれるため、衝突すると判定される。このように衝突判定は、各カメラの３次元座標から容易に判定することができる。被計測物の形状は、キューブに代えて、ダイヤ型、円形など、点群の分布に合わせて演算しやすい、あるいは過剰な検出エリアを生成しないよう適切な形で外郭を形成してもよい。
【００３３】
画角判定は、対象となる光源が配置された基板に配置されているカメラを基準に、他のカメラの撮像可能な画角内に基準となるカメラが存在するか否かを判定し、存在しない場合は他のカメラを抽出の対象から除外するものである。
【００３４】
図８における基板Ｂ１上のカメラＣ１を基準として、基板Ｂ４上のカメラＣ４について判定する場合を例に説明する。カメラＣ４の座標を始点とし、カメラＣ１の座標を終点とするベクトルをＣ４Ｃ１とする。また、カメラＣ４の法線ベクトルをＮＣ４とする。ベクトルＣ４Ｃ１と法線ベクトルＮＣ４の角度をφとすると、
Ｃ４Ｃ１・ＮＣ４＝｜Ｃ４Ｃ１｜｜ＮＣ４｜cos φ
となり、カメラ座標からわかるベクトルの成分と大きさから角度φを求めることができる。そして、カメラＣ１の画角θとの間に、
φ≦θ
が満たされなければ画角内でないと判定され、カメラＣ４は除外される。なお、一般に画角は垂直方向の画角θｖと水平方向の画角θｈと対角方向の画角θｄといったように、デバイスに応じた画角が規定される。そのような場合も各方向成分に対して、同様に画角判定すればよいのは言うまでもない。
【００３５】
配光判定は、対象となる光源が配置された基板に配置されているカメラを基準に、光源の配光特性が良好な所定の角度の範囲内に他のカメラが存在するか否かを判定し、存在しない場合は他のカメラを抽出の対象から除外するものである。つまり、特定の狭い角度方向に光線が集中する光源の場合、その特性を利用して十分な光量の光点として検出可能なカメラのみを抽出するものである。なお、カメラの位置を光源の位置とみなして判定することから、光源と隣接する側についても適用すると、本来は有効に光が届くカメラを対象から除外してしまうことになるため、光源と隣接しない側についてのみ配光特性に基づく角度θ１を用いている。光源と隣接しない側については、画角判定に用いた画角θを用いている。すなわち、光源と隣接しない側に対して配光特性が良好な所定の角度θ１の範囲内に他のカメラが存在するか否かを判定し、光源と隣接する側については画角θを用いることで、配光特性が良好な所定の角度の範囲内に存在しない他のカメラを抽出の対象から除外する。カメラの画角θが広く大量のカメラが推定に抽出されてしまう場合でも、画角θよりも小さい角度θｌを用いて制限することができる。
【００３６】
配光判定はカメラレイアウトに依存する判定であるため、ここでは図１０に示すように光源とカメラが配置された基板における具体例について説明する。図１０において、光源は６個のカメラに取り囲まれるように配置されている。このとき、図の左右方向で光源に最も近いカメラはそれぞれカメラ＃６とカメラ＃２である。同様に、上下方向で光源に最も近いカメラはそれぞれカメラ＃１とカメラ＃４である。このように光源をカメラが取り囲む基板において、カメラ＃１は基板の上方向、カメラ＃４は下方向、カメラ＃６は左方向、カメラ＃２は右方向に、角度θｌの範囲内に含まれるカメラを光源の座標推定に使用する。図１１は光源の配光特性の例を示す図であり、照明の減衰が少ない平行光が得られる範囲として、例えば配光特性の減衰が１０％以内となる領域の端部の角度をθｌとする。光源の配光特性に指向性を持つものに対しては、垂直方向、水平方向等のそれぞれについての配光特性を考慮して角度をθｌを計算し、判定もそれぞれの方向について行うようにしてもよい。
【００３７】
図１２（ａ）は、図１０に示した基板の右側面からカメラ＃１とカメラ＃４を見た状態を示している。カメラ＃１は、基板と対向する他の各カメラの３次元座標の中でカメラ＃１の撮像範囲の上側半分に含むカメラを抽出し、そのカメラ群に対して各カメラの座標が角度θｌの範囲に含まれるか否か判定し、含まれない場合は光源座標の推定に使用するカメラから除外する。カメラ＃１の撮像範囲の下側については前述した画角θを用いて同様に判定する。カメラ＃４は、同様に下側の検出を行い、下側の対象からカメラを抽出する。カメラ＃１の撮像範囲の下側で抽出されているカメラであっても、カメラ＃４の撮像範囲の下側の判定によって除外されるカメラに含まれていれば、カメラ＃４による判定を優先する。図１２（ｂ）は、基板の下側面からカメラ＃６とカメラ＃２を見た状態を示している。判定の手法は図１２（ａ）に示したのと同様である。このようにすることで、光源の上下方向と左右方向について、抽出するカメラ数を制限し、更にカメラの間の撮像範囲のカメラも漏れなく抽出することができる。
【００３８】
図６に戻り、情報処理装置２の演算制御部２１は、上記の処理で光源の座標推定に用いるものとして抽出されたカメラ（除外されなかったカメラ）の撮像データを取得する（ステップＳ７）。この際、既に取得されて保持されている撮像データはそのまま取得し、存在しない場合は新たに撮像して取得する。
【００３９】
次いで、情報処理装置２の演算制御部２１は、取得された撮像データ（カメラ画像）を用いて、光源に相当する光点の抽出を行う（ステップＳ８）。光点の抽出は、例えば７×７の画像ピクセルの輝度の和が極大となる中心の座標を取得することにより行う。光点は光の進行方向への広がりにより、複数が抽出される場合もある。
【００４０】
次いで、情報処理装置２の演算制御部２１は、抽出した光点から光源の３次元座標を推定する（ステップＳ９）。以下では、一例として、正規化相互相関係数を用いて推定する手法について説明する。
【００４１】
図１３（ａ）において、対象となる光源の法線方向（基板に配置されるカメラの法線方向）と最も平行度が高いカメラを基準カメラNCC1とする。そして、基準カメラNCC1の画像の光点ｍを中心としたｋ×ｌ画素（例えば、７×７画素）のエリアの画素をテンプレートＴに設定する。他のカメラｃの画像から抽出された光点から、基準カメラNCC1の光学中心から光点ｍを通った直線に対して交差する点（点Ｍからの差ΔＺ）を算出する。これらをもとに、図１３（ｂ）に示される式により、正規化相互相関係数RNCCを算出する。T(i,j)はテンプレート画像のi,j画素、画像I(i,j)はマッチングするカメラｃの画像のi,j画素である。それぞれのカメラの画像についてテンプレートＴとのRNCCを算出することで、基準カメラNCC1と他の１つのカメラの組み合わせ毎に、Ｚに対するRNCCの変化を表すNCCが算出される。図１３（ｃ）はＺに対してヒストグラム化したNCCの変化の例を示している。グラフ中のピーク点が推定座標になる。Ｚを特定することで、点ＭからＺだけ変位させることで光源の３次元座標が求まる。
【００４２】
ただし、座標の確度を上げるために、実際には次のような処理を行うことができる。すなわち、閾値以上のRNCC値を持つ基準カメラと他の１つのカメラからなるエピポーラ線上にその他のカメラが抽出した光点エリアのいずれかが含まれているか判定し、かつそれが基準カメラの光点中心と一致している座標があればマッチングしたとカウントする。このカウント数が所定の閾値を越えた場合、その点を光源の３次元座標とし、閾値以上の候補点が複数ある場合は最もカウント数が多い点を光源座標とする。探索範囲を限定するように、予め確度の高いカメラベクトルが類似しているもの同士の交点をまず算出し、その区間の前後一定範囲内を探索するなど探索範囲制限するなどしてもよい。上述した以外の手法として、照度差ステレオ法等の技術で算出する方法や、光点抽出した光点の輝度分布の歪度の小さい画像を得たカメラの法線方向同士から補完演算によって座標を得ること等も考えられる。
【００４３】
このように、カメラ座標と基板の位置関係から光源座標を算出することが可能である。この場合、光源の法線方向は基板やカメラの法線方向の平均ベクトルから算出することもできるが、光源の光軸ずれ等は考慮されないことに注意する。
【００４４】
＜他の処理＞
次に、被計測物の３次元形状データを用いずに、カメラ座標と光源点灯基板位置から簡易に光源の３次元座標を推定する例について説明する。
【００４５】
図１４は、その場合の処理例を示すフローチャートである。図１４において、ステップＳ１〜Ｓ５までの処理は、図６に示したものと同様である。なお、点群密化（ステップＳ４）とフィルタ・メッシュ化（ステップＳ５）の処理は、被計測物の３次元形状データを用いないため、光源の３次元座標を推定するという観点からは省略が可能である。
【００４６】
図１４において、情報処理装置２の演算制御部２１は、カメラ座標と光源点灯基板位置から光源の３次元座標を推定する（ステップＳ１０）。
【００４７】
図１０に示した基板上の配置を例にすると、情報処理装置２の演算制御部２１は、基板上のカメラ＃１〜＃６の座標を用いて光源の座標を演算する。例えば、光源はカメラ＃１、＃３、＃５の重心、カメラ＃２、＃４、＃６の重心に配置されているものとすると、いずれかの重心、または２つの重心の平均等により、光源の３次元座標を算出する。
【００４８】
なお、カメラ＃１〜＃６の法線方向がカメラの設置浮き、あるいはカメラ座標の演算誤差等によってカメラ間の法線方向が大きく異なっていた場合、法線方向が異なっていると判定したカメラ座標を除外した後に幾何学的条件を考慮して座標を演算するとよい。例えば、カメラ＃２が異なっていると検知した場合は、光源の座標をカメラ＃１、＃３、＃５の重心から算出する。カメラ＃２とカメラ＃５が異なっていれば、カメラ＃１−カメラ＃４の直線とカメラ＃３−カメラ＃６の直線の光点から算出するといったことができる。
【００４９】
＜総括＞
以上説明したように、本実施形態によれば、光源の位置推定のための処理を軽減することができる。
【００５０】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【００５１】
＜実施形態の用語と請求項の用語の対応＞
照明素子１１１は「光源」の一例である。カメラおよび撮像素子１１２は「撮像手段」の一例である。撮像・照明制御部１１０１および演算制御部２１は「撮像手段座標算出手段」の一例である。撮像・照明制御部１１０１および演算制御部２１は「光源位置座標推定手段」の一例である。
【符号の説明】
【００５２】
１            ３次元形状計測装置
１１          基板
１１１        照明素子
１１２        撮像素子
１１３        基板固定部
１１４        Ｉ／Ｆ
１１５        ＣＰＵ
１１６        ＲＯＭ
１１７        ＲＡＭ
１１８        Ｉ／Ｆ
１１０１      撮像・照明制御部
１１０２      情報転送部
１２          基板フレーム
１３          遮光ドーム
１４          被計測物載置部
１５          筐体フレーム
１６          上側筐体
２            情報処理装置
２１          演算制御部
２２          情報転送部
【先行技術文献】
【特許文献】
【００５３】
【特許文献１】特開２００８−１０７０８７号公報
【図２】
2017009477.tif 000003
【図３】
2017009477.tif 000004
【図４】
2017009477.tif 000005
【図５】
2017009477.tif 000006
【図６】
2017009477.tif 000007
【図７】
2017009477.tif 000008
【図１０】
2017009477.tif 000009
【図１１】
2017009477.tif 000010
【図１４】
2017009477.tif 000011
【図１】
2017009477.tif 000012
【図８】
2017009477.tif 000013
【図９】
2017009477.tif 000014
【図１２】
2017009477.tif 000015
【図１３】
2017009477.tif 000016