(57)【要約】      （修正有）【課題】鏡面の位置および姿勢を推定する鏡面情報取得装置、鏡面情報取得方法を提供する。【解決手段】鏡面情報取得装置は、相互相関検出に基づくＴＯＦセンサ１１から直接照射され被写体３０により反射された直接光ｄ２と鏡面２０を介して照射された光ｄ１が被写体により反射された反射光との干渉が発生した場合における、実像Ｘ上特徴点と、鏡像Ｘ’上特徴点と、ＴＯＦセンサの発光と受光における干渉時相互相関値と、を取得する実像鏡像取得部、両特徴点に基づいて鏡面の位置および向きの初期値を推定する初期値推定部と、干渉が発生していない場合における、実像上特徴点と、非干渉時相互相関値と、を取得する実像取得部、非干渉時相互相関値に基づいて被写体の位置を推定する位置推定部、干渉時相互相関値と、鏡面の位置および鏡面の向きの初期値と、被写体の位置と、に基づいて鏡面の位置および向きを示す鏡面情報を取得する鏡面情報取得部を備える。【選択図】図６
2018066655.tif 000002
【特許請求の範囲】
【請求項１】
相互相関検出に基づくＴＯＦセンサから被写体へ直接照射され前記被写体によって反射された光である直接光と、前記相互相関検出に基づくＴＯＦセンサから鏡面を介して前記被写体へ照射された光が前記被写体によって反射された光である反射光と、の干渉が発生している場合における、前記直接光に基づく画像である実像における前記被写体の特徴点である実像上特徴点と、前記反射光に基づく画像である鏡像における前記実像上特徴点に対応する前記被写体の特徴点である鏡像上特徴点と、前記相互相関検出に基づくＴＯＦセンサの発光と受光における相互相関値を示す干渉時相互相関値と、を取得する実像鏡像取得部と、
前記実像上特徴点と前記鏡像上特徴点とに基づいて前記鏡面の位置および前記鏡面の向きの初期値を推定する初期値推定部と、
前記干渉が発生していない場合における、前記実像上特徴点と、前記相互相関値を示す非干渉時相互相関値と、を取得する実像取得部と、
前記非干渉時相互相関値に基づいて前記被写体の位置を推定する位置推定部と、
前記干渉時相互相関値と、前記鏡面の位置および前記鏡面の向きの前記初期値と、前記被写体の前記位置と、に基づいて前記鏡面の位置および前記鏡面の向きを示す鏡面情報を取得する鏡面情報取得部と、
を備える鏡面情報取得装置。
【請求項２】
前記鏡面情報取得部は、前記干渉時相互相関値と、前記鏡面の位置および前記鏡面の向きの前記初期値と、前記被写体の前記位置と、に基づいて、前記鏡面の反射率を取得する、請求項１に記載の鏡面情報取得装置。
【請求項３】
相互相関検出に基づくＴＯＦセンサから被写体へ直接照射され前記被写体によって反射された光である直接光と前記相互相関検出に基づくＴＯＦセンサから鏡面を介して前記被写体へ照射された光が前記被写体によって反射された光である反射光との干渉が発生している場合における、前記直接光に基づく画像である実像における前記被写体の特徴点である実像上特徴点と、前記反射光に基づく画像である鏡像における前記実像上特徴点に対応する前記被写体の特徴点である鏡像上特徴点と、前記相互相関検出に基づくＴＯＦセンサの発光と受光における相互相関値を示す干渉時相互相関値と、を取得する実像鏡像取得ステップと、
前記実像上特徴点と前記鏡像上特徴点とに基づいて前記鏡面の位置および前記鏡面の向きの初期値を推定する初期値推定ステップと、
前記干渉が発生していない場合における、前記実像上特徴点と、前記相互相関値を示す非干渉時相互相関値と、を取得する実像取得ステップと、
前記非干渉時相互相関値に基づいて前記被写体の位置を推定する位置推定ステップと、
前記干渉時相互相関値と、前記鏡面の位置および前記鏡面の向きの前記初期値と、前記被写体の前記位置と、に基づいて前記鏡面の位置および前記鏡面の向きを示す鏡面情報を取得する取得ステップと、
を有する鏡面情報取得方法。
【請求項４】
請求項１又は２に記載の鏡面情報取得装置としてコンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鏡などの反射物体を介して撮影された画像から、鏡面の位置及び姿勢を推定する技術に関する。
【背景技術】
【０００２】
映像表現及び画像処理技術分野において、三次元形状を取得するための研究開発が古くから進められ、今なお重要な研究要素の一つとして広く認識されている。近年では安価なＴＯＦ（Time of Flight）センサが市場に登場したことにより、被写体表面の三次元形状を計測することが容易になった。しかし、ＴＯＦセンサ単体では被写体の前面の形状しか計測することができないため、被写体の全周囲の三次元形状を計測するためには、被写体の周囲に複数のＴＯＦセンサを設置して撮影を行い、これら複数のＴＯＦセンサによる三次元形状データを結合する必要がある。しかしながら、複数のＴＯＦセンサを用いる方法では、設置コストがかさんでしまう。そこで、被写体の背後に鏡を設置し、当該鏡に映った鏡像を疑似的な複数のＴＯＦセンサによって撮影された画像であるものと仮定することで、ＴＯＦセンサ単体で被写体の全周囲三次元形状を計測する方法が提案されている。
【０００３】
例えば、ＴＯＦセンサではなく一般的なカラーカメラと鏡を用いて、鏡像からの視体積交差法により被写体表面の三次元形状の計測を行う方法がある（非特許文献１参照）。当該方法を用いる場合には、カメラに対する鏡の位置及び姿勢を推定する必要がある。例えば、被写体を撮影する前に被写体の近傍にチェッカー柄が描かれたキャリブレーションボードを設置し、鏡像及び実像の双方から検出可能なチェッカー柄の格子点をそれぞれ計測することによって鏡の位置及び姿勢を推定することが可能である（非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Forbes, Keith, et al. "Shape-from-Silhouette with Two Mirrors and an Uncalibrated Camera." Computer Vision-ECCV 2006. Springer Berlin Heidelberg, 2006. 165-178.
【非特許文献２】Takahashi, Kosuke, Shohei Nobuhara, and Takashi Matsuyama. "A New Mirror-based Extrinsic Camera Calibration Using an Orthogonality Constraint.  "Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on. IEEE, 2012.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１に記載の方法は、視体積交差法によって物体の表面形状を復元するため、物体の表面形状が複雑である場合には復元がしにくいという問題がある。また、非特許文献２に記載の方法において、カラーカメラをＴＯＦセンサに置き換えただけでは、鏡の位置及び姿勢を推定することは難しい。なぜならば、ＴＯＦセンサは近赤外光を用いて距離を計測するため、鏡によって近赤外光が被写体に対し多重照射されることにより相互干渉が発生してしまうためである。そのため、鏡のキャリブレーション精度は著しく低下してしまう。
【０００６】
また、ＴＯＦセンサと鏡を用いて被写体表面の三次元形状の計測を行うためには鏡の反射率を計算する必要があるが、非特許文献２に記載の方法では鏡の反射率を得ることはできない。鏡の反射率を事前に既知としておく方法も考えられるが、ＴＯＦセンサの製品ごとに異なる波長の赤外線が採用されているため、すべての波長についてそれぞれ反射率を事前に測定しておくことは困難である。また、事前に鏡の反射率を測定するよりも、鏡の位置及び姿勢の推定とあわせて反射率を推定するほうが、反射率の推定精度はより高くすることができる。
【０００７】
本発明はこのような事情に鑑みてなされたものであり、鏡などの反射物体を介して撮影された画像を用いて、鏡面の位置及び姿勢を推定する技術の提供を目的としている。
【課題を解決するための手段】
【０００８】
本発明の一態様は、相互相関検出に基づくＴＯＦセンサから被写体へ直接照射され前記被写体によって反射された光である直接光と、前記相互相関検出に基づくＴＯＦセンサから鏡面を介して前記被写体へ照射された光が前記被写体によって反射された光である反射光と、の干渉が発生している場合における、前記直接光に基づく画像である実像における前記被写体の特徴点である実像上特徴点と、前記反射光に基づく画像である鏡像における前記実像上特徴点に対応する前記被写体の特徴点である鏡像上特徴点と、前記相互相関検出に基づくＴＯＦセンサの発光と受光における相互相関値を示す干渉時相互相関値と、を取得する実像鏡像取得部と、前記実像上特徴点と前記鏡像上特徴点とに基づいて前記鏡面の位置および前記鏡面の向きの初期値を推定する初期値推定部と、前記干渉が発生していない場合における、前記実像上特徴点と、前記相互相関値を示す非干渉時相互相関値と、を取得する実像取得部と、前記非干渉時相互相関値に基づいて前記被写体の位置を推定する位置推定部と、前記干渉時相互相関値と、前記鏡面の位置および前記鏡面の向きの前記初期値と、前記被写体の前記位置と、に基づいて前記鏡面の位置および前記鏡面の向きを示す鏡面情報を取得する鏡面情報取得部と、を備える鏡面情報取得装置である。
【０００９】
本発明の一態様は、上記の鏡面情報取得装置であって、前記鏡面情報取得部は、前記干渉時相互相関値と、前記鏡面の位置および前記鏡面の向きの前記初期値と、前記被写体の前記位置と、に基づいて、前記鏡面の反射率を取得する。
【００１０】
本発明の一態様は、相互相関検出に基づくＴＯＦセンサから被写体へ直接照射され前記被写体によって反射された光である直接光と前記相互相関検出に基づくＴＯＦセンサから鏡面を介して前記被写体へ照射された光が前記被写体によって反射された光である反射光との干渉が発生している場合における、前記直接光に基づく画像である実像における前記被写体の特徴点である実像上特徴点と、前記反射光に基づく画像である鏡像における前記実像上特徴点に対応する前記被写体の特徴点である鏡像上特徴点と、前記相互相関検出に基づくＴＯＦセンサの発光と受光における相互相関値を示す干渉時相互相関値と、を取得する実像鏡像取得ステップと、前記実像上特徴点と前記鏡像上特徴点とに基づいて前記鏡面の位置および前記鏡面の向きの初期値を推定する初期値推定ステップと、前記干渉が発生していない場合における、前記実像上特徴点と、前記相互相関値を示す非干渉時相互相関値と、を取得する実像取得ステップと、前記非干渉時相互相関値に基づいて前記被写体の位置を推定する位置推定ステップと、前記干渉時相互相関値と、前記鏡面の位置および前記鏡面の向きの前記初期値と、前記被写体の前記位置と、に基づいて前記鏡面の位置および前記鏡面の向きを示す鏡面情報を取得する取得ステップと、を有する鏡面情報取得方法である。
【００１１】
本発明の一態様は、上記の鏡面情報取得装置としてコンピュータを機能させるためのコンピュータプログラムである。
【発明の効果】
【００１２】
本発明により、鏡などの反射物体を介して撮影された画像を用いて、鏡面の位置及び姿勢を推定することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】鏡面情報取得装置の構成を示すブロック図である。
【図２】実像鏡像取得部の構成を示す図である。
【図３】実像取得部の構成を示す図である。
【図４】実像鏡像取得部の詳細を説明するための図である。
【図５】鏡面情報取得部の詳細を説明するための図である。
【図６】鏡面情報取得部の詳細を説明するための図である。
【図７】鏡面情報取得部の詳細を説明するための図である。
【図８】鏡面情報取得装置の動作を示すフローチャートである。
【図９】鏡面情報取得装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
（鏡面情報取得装置の構成）
図１は本実施形態における鏡面情報取得装置の構成を示すブロック図である。
鏡面情報取得装置１０は、例えばコンピュータ装置によって構成され、図１に示すように、実像鏡像取得部１０１と、初期値推定部１０２と、実像取得部１０３と、位置推定部１０４と、鏡面情報取得部１０５と、を含んで構成される。また、鏡面情報取得装置１０は、撮像部１１と通信接続されている。撮像部１１は、相互相関検出に基づくＴＯＦセンサ（本稿では「相互相関検出に基づくＴＯＦセンサ」を、単に「ＴＯＦセンサ」と称する）によって構成され、図１に示すように、発光部１１１と、受光部１１２と、を含んで構成される。なお、ＴＯＦセンサの測距原理は、一般的なFour bucket samplingを用いるものとする。
【００１５】
以下、実像鏡像取得部１０１による取得について、図２を参照しながら説明する。図２は実像鏡像取得部１０１による取得の概要を示す概略図である。
【００１６】
図２に示すように、実像鏡像取得部１０１を備える鏡面情報取得装置１０と撮像部１１（ＴＯＦセンサ）とは通信接続されている。撮像部１１が備える発光部１１１及び受光部１１２は、鏡２０とキャリブレーションボード３０とが設置された方向へ向けられている。なお、鏡２０の代わりに、これに類する鏡面（反射面）を有する他の物体（反射物体）、例えば、床面等が用いられてもよい。また、鏡面の形状は、既知の形状であれば平面でなくても構わない。
【００１７】
鏡面情報取得装置１０の実像鏡像取得部１０１は、鏡２０による反射光の干渉を受ける状態で撮像部１１によって撮影された輝度画像中に映り込んでいる実像Ｘ上のキャリブレーションボードの特徴座標群（ｕＲ，ｖＲ）と、鏡像Ｘ’上のキャリブレーションボードの特徴座標群（ｕＭ，ｖＭ）と、発光部１１１及び受光部１１２による相互相関値（干渉時相互相関値）とを取得する。
【００１８】
なお、鏡２０とキャリブレーションボード３０の配置については、撮像部１１により、鏡２０を介さず取得される実像Ｘ上のキャリブレーションボード３０と、鏡２０を介して取得される鏡像Ｘ’上のキャリブレーションボード３０とが、双方とも取得可能な配置であるという条件が満たされているものとする。
【００１９】
発光部１１１は、任意に設定された変調周波数ｆに基づいて発光を繰り返し、受光部１１２は、任意に設定された変調周波数ｆに基づいて受光を繰り返す。
受光部１１２は、発光部１１１が発行した光の波長を取得することができる受光素子を有する。なお、本実施形態のように、ＴＯＦセンサにおいて一般的に用いられている近赤外波長帯域によって取得が行われる場合には、例えば、発光部１１１として、近赤外光を一定間隔で照射することができる近赤外光ライトが用いられ、受光部１１２として、近赤外光を取得することができる近赤外光カメラが用いられる。また、可視光を用いて取得が行われる場合には、例えば、発光部１１１として、一般的なプロジェクタが用いられ、受光部１１２として、一般的なカラーカメラが用いられる。なお、撮像部１１が撮影する画像の解像度は任意の解像度でよい。
【００２０】
なお、以下の説明においては、説明を簡略化するため、鏡面情報取得装置１０が画素ひとつに対して行う処理について説明をするが、全画素のうちの一部の複数の画素、もしくは全ての画素を並行して処理するような構成であっても構わない。
【００２１】
再び図１を参照しながら説明する。実像鏡像取得部１０１は、特徴座標群（ｕＲ，ｖＲ）及び特徴座標群（ｕＭ，ｖＭ）を初期値推定部１０２へ出力する。また、実像鏡像取得部１０１は、干渉時相互相関値を、後述する鏡面情報取得部１０５へ出力する。
【００２２】
初期値推定部１０２は、実像鏡像取得部１０１から、撮像部１１によって撮影された輝度画像を示す情報を取得する。初期値推定部１０２は、当該輝度画像をもとに、鏡２０の（鏡面の）法線ベクトルｎ０と、鏡２０と受光部１１２との距離ｄ０とを推定し、後述する鏡面情報取得部１０５における処理に用いるための初期値として、鏡面情報取得部１０５へ出力する。
【００２３】
以下、実像取得部１０３による取得について、図３を参照しながら説明する。図３は実像取得部１０３による取得の概要を示す概略図である。
【００２４】
図３に示すように、図２に示した構成とは異なり、鏡２０の鏡面部分の前面には、鏡面を遮蔽するための遮蔽板４０が設置されている。なお、遮蔽板４０の代わりに、鏡面を遮蔽するための布等が用いられてもよい。
【００２５】
鏡面情報取得装置１０の実像取得部１０３は、鏡２０による反射光の干渉を受けない状態で撮像部１１によって撮影された輝度画像中に映り込んでいる実像Ｘ上のキャリブレーションボードの特徴座標群（ｕＲ，ｖＲ）と、発光部１１１及び受光部１１２による相互相関値（非干渉時相互相関値）とを取得する。
【００２６】
再び図１を参照しながら説明する。実像取得部１０３は、非干渉時相互相関値を位置推定部１０４へ出力する。
位置推定部１０４は、実像取得部１０３から非干渉時相互相関値を取得し、当該非干渉時相互相関値を用いてキャリブレーションボード３０の位置Ｘを推定する。位置推定部１０４は、推定した位置Ｘを後述する鏡面情報取得部１０５へと出力する。
【００２７】
鏡面情報取得部１０５は、実像鏡像取得部１０１から干渉時相互相関値を取得し、初期値推定部１０２から初期値として鏡２０の法線ベクトルｎ０と鏡２０と受光部１１２との距離ｄ０とを取得し、位置推定部１０４からキャリブレーションボード３０の位置Ｘを取得する。鏡面情報取得部１０５は、取得した、干渉時相互相関値、法線ベクトルｎ０、距離ｄ０及び位置Ｘを用いて、鏡２０の法線ベクトルｎ、鏡２０と受光部１１２との距離ｄ、鏡２０の反射率ρを求める。
【００２８】
（鏡面情報取得装置の動作）
以下、鏡面情報取得装置１０の動作について説明する。図４及び図５は、図１に示す鏡面情報取得装置の動作を示すフローチャートである。
【００２９】
まず始めに、実像鏡像取得部１０１は、取得に用いられるパラメータ（変調周波数及びサンプリング周期）の設定を行う（ステップＳ００１）。実像鏡像取得部１０１は、上述したように、発光部１１１が発光する周波数及び受光部１１２が受光する周波数である変調周波数ｆの設定を行う。変調周波数ｆの値は任意であるが、例えば、実像鏡像取得部１０１は、変調周波数ｆの値を１０ＭＨｚ（メガヘルツ）に設定する。
【００３０】
また、実像鏡像取得部１０１は、受光部１１２が取得を行う４つのサンプリング周期として、θ０、θ１、θ２及びθ３の設定を行う。サンプリング周期θ０、θ１、θ２及びθ３の値は任意であるが、実像鏡像取得部１０１は、例えば、サンプリング周期θ０、θ１、θ２及びθ３の値を、π／２間隔でθ０＝０、θ１＝π／２、θ２＝πθ３＝３π／２に設定する。
【００３１】
次に、実像鏡像取得部１０１は直接光と反射光とが互いに干渉している状態における、発光部１１１と受光部１１２による相互相関値（干渉時相互相関値）を取得する（ステップＳ００２）。
【００３２】
以下、発光部１１１と受光部１１２による相互相関値の取得について、図６を参照しながら説明する。
図６は模式的に実像鏡像取得部１０１の構成を表しており、受光部１１２と発光部１１１は設定されたパラメータに従いFour bucket samplingに基づいた相互相関値の取得を画素毎に行う。
【００３３】
図示するように、発光部１１１から発光され、受光部１１２によって受光される近赤外光には、被写体（キャリブレーションボード３０）に直接反射する光路である光路長ｄ１の光路と、鏡２０に反射してから被写体（キャリブレーションボード３０）に再度反射する光路である光路長ｄ２の光路と、２つの光路が存在する。以下、光路長ｄ１の光路を通る光のことを直接光と呼び、光路長ｄ２の光路を通る光のことを反射光と呼ぶ。
【００３４】
以下、ある時間τにおける直接光と反射光が干渉した状態で取得される相互相関値Ｃ（τ）を表す式を（１）式に示す。ここでＡ１、Ａ２はそれぞれ直接光と反射光の振幅の振幅、Ψ１、Ψ２は式（２）であらわされる位相差である。式（２）において、ｃは光速である。
【００３５】
【数１】
2018066655.tif 000003
【００３６】
【数２】
2018066655.tif 000004
【００３７】
式（１）で表される相互相関関数は連続関数であり、すべての時刻における相互相関値Ｃを取得することは困難であるため、実像鏡像取得部１０１は、ステップＳ００１において設定したサンプリング周期θ０、θ１、θ２及びθ３においてのみ、相互相関値Ｃの取得を行う（すなわち、Ｃ０、Ｃ１、Ｃ２及びＣ３の取得が行われる）。ここで取得される相互相関値は、２πｆτ０＝θ０、２πｆτ１＝θ１、２πｆτ２＝θ２、２πｆτ３＝θ３として、以下に示す式（３）で表されるものである。
【００３８】
【数３】
2018066655.tif 000005
【００３９】
再び図４に戻って、鏡面情報取得装置１０の動作について説明する。
次に、実像鏡像取得部１０１は、輝度画像の取得を行う（ステップＳ００３）。実像鏡像取得部１０１は、一般的なＴＯＦセンサと同様に、受光部１１２が画素毎に取得している光の振幅を画像化した情報を取得する。
【００４０】
次に、実像鏡像取得部１０１は、輝度画像中から特徴点検出を行う（ステップＳ００４）。なお、当該特徴点検出は、実像Ｘと鏡像Ｘ’とに共通して撮影される画素のうちの一部の画素の対応関係を知るために行われる処理である。そのため、当該特徴点検出の方法は、画素の対応を取ることができる方法であれば、任意の方法でよい。例えば、当該特徴点検出は、一般的な自然特徴点であるＨａｒｒｉｓやＳＩＦＴ等によって行うことができる。
【００４１】
なお、説明の簡略化のため、本実施形態においては、キャリブレーションボード３０に描かれた柄はチェッカー柄（市松模様）であるものとし、特徴点はチェッカー柄の格子点であるものとする。チェッカー柄の格子点検出については、一般的な検出方法を用いればよい。また、本実施形態においては、被写体はキャリブレーションボードとしたがこれに限られるものではなく、被写体は特徴点があるその他の任意の物体でもよい。
【００４２】
実像鏡像取得部１０１は、輝度画像から実像Ｘ及び鏡像Ｘ’として映るチェッカー柄のすべての格子点を検出し、その座標をそれぞれ特徴点座標（ｕＲ，ｖＲ）、特徴点座標（ｕＭ，ｖＭ）とする。
【００４３】
次に、実像鏡像取得部１０１は、全ての画素で取得されている相互相関値のうち、特徴点座標（ｕＲ，ｖＲ）および特徴点座標（ｕＭ，ｖＭ）の画素における相互相関値のみを抽出する（ステップＳ００５）。特徴点座標（ｕＲ，ｖＲ）における各サンプリング周期の相互相関値を、それぞれＣ０（ｕＲ，ｖＲ）、Ｃ１（ｕＲ，ｖＲ）、Ｃ２（ｕＲ，ｖＲ）、およびＣ３（ｕＲ，ｖＲ）とし、特徴点座標（ｕＭ，ｖＭ）における各サンプリング周期の相互相関値を、それぞれＣ０（ｕＭ，ｖＭ）Ｃ１（ｕＭ，ｖＭ）、Ｃ２（ｕＭ，ｖＭ）、およびＣ３（ｕＭ，ｖＭ）とする。
【００４４】
実像鏡像取得部１０１は、特徴点座標（ｕＲ，ｖＲ）と特徴点座標（ｕＭ，ｖＭ）とを初期値推定部１０２へ出力し、抽出された相互相関値Ｃ０（ｕＭ，ｖＭ）、Ｃ１（ｕＭ，ｖＭ）、Ｃ２（ｕＭ，ｖＭ）、Ｃ３（ｕＭ，ｖＭ）と、相互相関Ｃ０（ｕＭ，ｖＭ）Ｃ１（ｕＭ，ｖＭ）、Ｃ２（ｕＭ，ｖＭ）、Ｃ３（ｕＭ，ｖＭ）とを鏡面情報取得部１０５へ出力する（ステップＳ００６）。
【００４５】
次に、初期値推定部１０２は、特徴点座標（ｕＲ，ｖＲ）及び特徴点座標（ｕＭ，ｖＭ）とキャリブレーションボード３０の３次元形状情報とから、鏡２０の法線ベクトルｎ０、鏡２０と受光部１１２との距離ｄ０の推定を行う（ステップＳ００７）。
【００４６】
なお、既知形状の物体表面上の３次元点座標と、当該３次元点座標を撮影した画像において対応する２次元点座標との双方が既知である場合に、カメラに対する既知形状物体の姿勢及び位置を推定する方法は多く知られており、例えば、Ｚｈａｎｇの手法（Zhang, Z.: A Flexible New Technique for Camera Calibration, IEEE Trans.Pattern Anal. Mach. Intell., Vol. 22, No. 11, pp. 1330{1334 (2000).）を用いることができる。Ｚｈａｎｇの手法を用いることにより、実像Ｘとしてのキャリブレーションボード３０の（チェッカー柄の）位置と向き、鏡像Ｘ’としてのキャリブレーションボード３０の（チェッカー柄の）位置と向きを求めることができる。
【００４７】
実像Ｘと鏡像Ｘ’とは、鏡２０に対して対称となる位置関係にあるため、実像Ｘとしてのキャリブレーションボード３０の（チェッカー柄の）位置と向き、鏡像Ｘ’としてのキャリブレーションボード３０の（チェッカー柄の）位置と向きに基づいて、鏡２０の位置と向きを求めることができる。さらに、鏡２０の位置と向きが求まることにより、さらに鏡２０の法線ベクトルｎ０と、鏡２０と受光部１１２との距離ｄ０とを求めることができる。
【００４８】
初期値推定部１０２は、鏡２０の法線ベクトルｎ０と、鏡２０と受光部１１２との距離ｄ０とを鏡面情報取得部１０５へ出力する。
【００４９】
次に、実像取得部１０３は、直接光と反射光との干渉が発生していない状態での実像Ｘの取得を行い、相互相関値を取得する。
【００５０】
まず、鏡２０、発光部１１１、受光部１１２、キャリブレーションボード３０の位置を変えずに、鏡２０が遮蔽板４０等によって遮蔽される。遮蔽板４０は、反射光と直接光との干渉を防ぐため設置されるので、発光部１１１が発光する光の波長成分を十分に吸収する色や素材であることが望ましい。なお、発光部１１１が発光する光の波長成分を十分に吸収できる物体であるならば板でなくてもよく、例えば、遮蔽板４０の代わりに黒い布等が用いられてもよい。
【００５１】
次に、実像取得部１０３は、実像鏡像取得部１０１が行う取得と同様に、発光部１１１と受光部１１２による相互相関値の取得を行う（ステップＳ００８）。なお、実像取得部１０３が取得すべき信号は実像鏡像取得部１０１が取得すべき信号と同じであるが、遮蔽板４０により反射光が発生しないため、実像鏡像取得部１０１で取得される相互相関値とは異なる相互相関値が実像取得部１０３において取得される。
【００５２】
次に、実像取得部１０３は、実像鏡像取得部１０１から入力された特徴点座標（ｕＲ，ｖＲ）の画素における各サンプリング周期の相互相関値を抽出し、これらをＣ０’（ｕＲ，ｖＲ）、Ｃ１’（ｕＲ，ｖＲ）、Ｃ２’（ｕＲ，ｖＲ）及びＣ３’（ｕＲ，ｖＲ）とする（ステップＳ００９）。
【００５３】
実像取得部１０３は、抽出した相互相関値を非干渉時の相互相関値として、位置推定部１０４へ出力する（ステップＳ０１０）。
【００５４】
以下、図５を参照しながら、引き続き鏡面情報取得装置１０の動作について説明する。
次に、位置推定部１０４は、キャリブレーションボード３０の位置を推定する（ステップＳ０１１）。上述した初期値推定部１０２によって行われる処理において、初期値推定部１０２は、特徴点座標（ｕＲ，ｖＲ）及び特徴点座標（ｕＭ，ｖＭ）からキャリブレーションボード３０の位置を求めることによって鏡２０の位置を推定したが、位置推定部１０４は、相互相関値を用いることによってキャリブレーションボード３０の位置をより高い精度で推定する。
【００５５】
位置推定部１０４において推定されるのは、チェッカー柄の格子点の三次元位置（ｘ，ｙ，ｚ）であり、これはすなわち特徴点座標（ｕＲ，ｖＲ）に対応する三次元点のことである。したがって、特徴点座標（ｕＲ，ｖＲ）における受光部１１２からチェッカー柄の格子点までの距離ｌを求めることにより、以下の式（４）から三次元位置（ｘ，ｙ，ｚ）を算出することができる。式（４）において、Ｆは受光部１１２の焦点距離、座標（ｕ０，ｖ０）は画像中心座標を表している。
【００５６】
【数４】
2018066655.tif 000006
【００５７】
ｌを相互相関値Ｃ０’（ｕＲ，ｖＲ）、Ｃ１’（ｕＲ，ｖＲ）、Ｃ２’（ｕＲ，ｖＲ）、Ｃ３’（ｕＲ，ｖＲ）から求めるには、Four bucket samplingの原理に基づき、以下の式（５）、式（６）を用いて求めることができる。
【００５８】
【数５】
2018066655.tif 000007
【００５９】
【数６】
2018066655.tif 000008
【００６０】
位置推定部１０４は、各特徴点座標（ｕＲ，ｖＲ）に対応する三次元座標（ｘ，ｙ，ｚ）を真値Ｘとして、鏡面情報取得部１０５へと出力する。
【００６１】
鏡面情報取得部１０５は、鏡２０の法線ベクトルｎ０、鏡２０と受光部１１２との距離ｄ０とを初期値として、キャリブレーションボード３０の位置の真値Ｘとしての三次元座標（ｘ，ｙ，ｚ）と干渉時相互相関値とから、鏡２０の法線ベクトルｎ、鏡２０と受光部との距離ｄ及び反射率ρを計算する。
【００６２】
以下、鏡２０の法線ベクトルｎ、鏡２０と受光部１１２との距離ｄ、反射率ρを求めるために必要となる式（７）について説明する。式（７）は式（１）に対し、２πｆτ０＝θ０、２πｆτ１＝θ１、２πｆτ２＝θ２、２πｆτ３＝θ３として代入して得られる行列方程式であり、直接光と反射光が干渉を起こしている場合におけるFour bucket samplingの式となる。鏡面情報取得部１０５は、取得値Ｃ０、Ｃ１、Ｃ２、Ｃ３、Ψ１、Ψ２、さらにこれらから算出されるＡ１、Ａ２、Ｂを用いることにより、鏡２０の法線ベクトルｎ、鏡２０と受光部１１２との距離ｄ、反射率ρを計算する。
【００６３】
【数７】
2018066655.tif 000009
【００６４】
式（７）からＡ１、Ａ２、Ｂの値をそのまま求めるとランク落ちが発生するため、適切な解を得ることができない。そのため、鏡面情報取得部１０５は、まずはＡ１、Ａ２に制約を加える（ステップＳ０１２）。
【００６５】
まず、Ａ１、Ａ２についての制約として式（８）を与える。図７は式（８）に用いられるパラメータを図示したものである。この制約条件は、図７のように光路長の違いがある場合に、直接光による光路Ａの光路長を光路長ｄ１、反射光の光路Ｂの光路長を光路長ｄ２とし、照射光の強さが光路長の２乗に反比例することに起因している。さらに鏡２０の反射率ρによる光の減衰が発生する。加えて、キャリブレーションボード３０への近赤外光の入射角の違いが存在する。以上を踏まえて、光路Ａを通る光のキャリブレーションボード３０への入射角をｃｏｓθ１、光路Ｂを通る光のキャリブレーションボード３０への入射角をｃｏｓθ２として、キャリブレーションボード３０が完全拡散面だと仮定した場合の制約条件が式（８）である。
【００６６】
【数８】
2018066655.tif 000010
【００６７】
再び図５に戻って、鏡面情報取得装置１０の動作について説明する。
次に、鏡面情報取得部１０５は、実像Ｘ側での行列方程式として式（９）の作成を行う（ステップＳ０１３）。Ψ１Ｒ、Ψ２Ｒは、図７に示した光路長ｄ１、光路長ｄ２を用いて、Ψ１Ｒ＝４πｆｄ１／ｃ、Ψ２Ｒ＝４πｆｄ２／ｃで表される。図８にその詳細を示す。発光部１１１から位置推定部１０４にて求めたキャリブレーションボード３０の真値Ｘを経由して、受光部１１２の画素（ｕＲ，ｖＲ）に到達する光路長が光路長ｄ１、Ｘを鏡２０の初期パラメータｎ０、ｄ０折り返した位置をＸ’として、位置Ｘ’を経由する光路、つまり、発光部１１１から、鏡２０、位置Ｘの順に経由して受光部１１２の画素（ｕＲ，ｖＲ）に到達する光路長が光路長ｄ２である。
【００６８】
【数９】
2018066655.tif 000011
【００６９】
次に、鏡像側での行列方程式として式（１０）の作成を行う（ステップＳ０１４）。Ψ１Ｍ、Ψ２Ｍは、図８の光路長ｄ１、光路長ｄ２を用いて、Ψ１Ｍ＝４πｆｄ１／ｃ、Ψ２Ｍ＝４πｆｄ２／ｃであらわされる。図９にその詳細を示す。発光部から鏡を介してパターン位置Ｘ’を経由して受光部の特徴点座標（ｕＭ，ｖＭ）の画素に到達する光路長が光路長ｄ１、発光部からＸ、鏡の順に経由して受光部の特徴点座標（ｕＭ，ｖＭ）の画素に到達する光路長が光路長ｄ２である。
【００７０】
【数１０】
2018066655.tif 000012
【００７１】
次に、鏡面情報取得部１０５は、鏡２０の法線ベクトルｎ、鏡２０と受光部１１２との距離ｄ、反射率ρの計算を行う。まず、式（９）において、制約条件として式（８）を用いて、Ａ１、Ａ２、Ｂの計算が行われる。これは、Ａ１、Ａ２、Ｂ以外のパラメータはすべて既知であるため、式（１１）の行列を考え、これが一般化逆行列であると仮定すれば、式（１２）を得ることができ、Ａ１、Ａ２、Ｂを解くことができる。しかし実際には、最初に仮定した鏡２０の初期パラメータｎ０、ｄ０に誤差が含まれているため、得られたＡ１、Ａ２、Ｂを用いても、式（９）の左辺と右辺は等しくならない。式（１０）においてもこれは同様である。
【００７２】
【数１１】
2018066655.tif 000013
【００７３】
【数１２】
2018066655.tif 000014
【００７４】
そのため、式（９）、（１０）の両方において、左辺と右辺の差を誤差とする誤差関数が最小になるような、鏡２０の法線ベクトルｎ、鏡２０と受光部１１２との距離ｄ、反射率ρが求められる。これは一般的な制約付き最小化問題であるため、詳細な説明は省略する。鏡面情報取得部１０５は、得られた鏡２０の法線ベクトルｎ、鏡２０と受光部１１２との距離ｄ、反射率ρを出力する（ステップＳ０１５）。
【００７５】
以上、説明したように、本実施形態に係る鏡面情報取得装置１０は、鏡などの反射物体を介して撮影された画像を用いて、鏡面の位置及び姿勢を推定することができる。さらに、本実施形態に係る鏡面情報取得装置１０は、鏡の位置及び姿勢の推定とあわせて鏡の反射率を推定することができる。
【００７６】
上述した実施形態における鏡面情報取得装置１０をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【００７７】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００７８】
１０…鏡面情報取得装置、１１…撮像部、２０…鏡、３０…キャリブレーションボード、１０１…実像鏡像取得部、１０２…初期値推定部、１０３…実像取得部、１０４…位置推定部、１０５…鏡面情報取得部、１１１…発光部、１１２…受光部
【図１】
2018066655.tif 000015
【図２】
2018066655.tif 000016
【図３】
2018066655.tif 000017
【図４】
2018066655.tif 000018
【図５】
2018066655.tif 000019
【図６】
2018066655.tif 000020
【図７】
2018066655.tif 000021
【図８】
2018066655.tif 000022
【図９】
2018066655.tif 000023