(57)【特許請求の範囲】
【請求項１】
異なる視点で撮像された複数の画像のうち第１画像を表示部に表示する表示制御部と、
前記第１画像上に計測位置を設定する設定部と、
前記複数の画像のうちの前記第１画像以外のいずれかである第２画像に対し、前記計測位置に対応する対応位置を算出する第１算出部と、
前記第１画像、前記計測位置、前記第２画像、及び前記対応位置を用いて、前記計測位置の３次元位置及び当該３次元位置の誤差を算出する第２算出部と、
第２算出部により３次元位置及び誤差が算出される毎に、前記複数の画像に含まれる画像が取りうる画像組の中から、前記３次元位置の誤差が前記第２算出部により算出された前記誤差よりも小さくなる画像組が存在するか否か判定し、存在する場合当該画像組を選択し、存在しない場合前記３次元位置を確定する選択部と、を備え、
前記第２算出部は、前記選択部により画像組が選択される毎に、当該画像組に含まれる新たな第１画像、当該新たな第１画像に前記３次元位置を投影した第１投影位置、当該画像組に含まれる新たな第２画像、及び当該新たな第２画像に前記３次元位置を投影した第２投影位置を用いて、前記計測位置の新たな３次元位置及び誤差を算出する計測装置。
【請求項２】
前記選択部は、３次元座標系から画像座標系への変換を表す投影変換行列を用いて、前記画像組に含まれる各画像に前記３次元位置を投影して投影位置を設定し、当該各投影位置に基づいて当該画像組における前記３次元位置の誤差を算出する請求項１に記載の計測装置。
【請求項３】
前記選択部は、前記各投影位置周辺で相関演算を行い、相関値の滑らかさを示す値が第１閾値を満たしていない場合、前記画像組における前記３次元位置の誤差にペナルティ値を与える請求項２に記載の計測装置。
【請求項４】
前記選択部は、前記３次元位置の誤差が前記第２算出部により算出された前記誤差よりも小さくなる画像組が複数存在する場合、前記３次元位置の誤差が最も小さい画像組を選択する請求項１〜３のいずれか１つに記載の計測装置。
【請求項５】
前記選択部は、選択した前記画像組に前記第１画像が含まれている場合、当該第１画像を前記新たな第１画像とし、他の画像を前記新たな第２画像とする請求項１〜４のいずれか１つに記載の計測装置。
【請求項６】
前記第１算出部は、前記第１画像と前記第２画像とを相関演算することにより前記対応位置を算出し、
前記第２画像は、前記複数の画像のうち、前記第１画像との相関が最も高い画像、前記第１画像との相関が第２閾値を満たす画像、前記第１画像と最も撮影時刻が近い画像、又は前記第１画像と最も撮影時刻が遠い画像である請求項１〜５のいずれか１つに記載の計測装置。
【請求項７】
前記表示制御部は、前記対応位置が設定された前記第２画像を表示部に表示し、
前記設定部は、前記対応位置を修正して再設定する請求項１〜６のいずれか１つに記載の計測装置。
【請求項８】
前記第１画像の回転方向に、新たな第１画像の回転方向を合わせる画像変換を行う変換部を更に備え、
前記表示制御部は、前記第１投影位置が設定され、前記画像変換が行われた前記新たな第１画像、前記第２投影位置が設定された前記新たな第２画像を表示部に表示し、
前記設定部は、前記第１投影位置及び前記第２投影位置の少なくともいずれかを修正して再設定する請求項１〜７のいずれか１つに記載の計測装置。
【請求項９】
表示制御部が、異なる視点で撮像された複数の画像のうち第１画像を表示部に表示する表示ステップと、
設定部が、前記第１画像上に計測位置を設定する設定ステップと、
第１算出部が、前記複数の画像のうちの前記第１画像以外のいずれかである第２画像に対し、前記計測位置に対応する対応位置を算出する第１算出ステップと、
第２算出部が、前記第１画像、前記計測位置、前記第２画像、及び前記対応位置を用いて、前記計測位置の３次元位置及び当該３次元位置の誤差を算出する第２算出ステップと、
選択部が、第２算出部により３次元位置及び誤差が算出される毎に、前記複数の画像に含まれる画像が取りうる画像組の中から、前記３次元位置の誤差が前記第２算出部により算出された前記誤差よりも小さくなる画像組が存在するか否か判定し、存在する場合当該画像組を選択し、存在しない場合前記３次元位置を確定する選択ステップと、を含み、
前記第２算出ステップでは、更に、前記選択部により画像組が選択される毎に、当該画像組に含まれる新たな第１画像、当該新たな第１画像に前記３次元位置を投影した第１投影位置、当該画像組に含まれる新たな第２画像、及び当該新たな第２画像に前記３次元位置を投影した第２投影位置を用いて、前記計測位置の新たな３次元位置及び誤差を算出する計測方法。
【請求項１０】
異なる視点で撮像された複数の画像のうち第１画像を表示部に表示する表示ステップと、
前記第１画像上に計測位置を設定する設定ステップと、
前記複数の画像のうちの前記第１画像以外のいずれかである第２画像に対し、前記計測位置に対応する対応位置を算出する第１算出ステップと、
前記第１画像、前記計測位置、前記第２画像、及び前記対応位置を用いて、前記計測位置の３次元位置及び当該３次元位置の誤差を算出する第２算出ステップと、
第２算出ステップにより３次元位置及び誤差が算出される毎に、前記複数の画像に含まれる画像が取りうる画像組の中から、前記３次元位置の誤差が前記第２算出部により算出された前記誤差よりも小さくなる画像組が存在するか否か判定し、存在する場合当該画像組を選択し、存在しない場合前記３次元位置を確定する選択ステップと、をコンピュータに実行させ、
前記第２算出ステップでは、更に、前記選択ステップにより画像組が選択される毎に、当該画像組に含まれる新たな第１画像、当該新たな第１画像に前記３次元位置を投影した第１投影位置、当該画像組に含まれる新たな第２画像、及び当該新たな第２画像に前記３次元位置を投影した第２投影位置を用いて、前記計測位置の新たな３次元位置及び誤差を算出する計測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、計測装置、方法及びプログラムに関する。
【背景技術】
【０００２】
従来から、視点の異なる複数のカメラで物体を撮影した複数の画像の対応関係より、当該物体の３次元位置を計測するステレオ計測と呼ばれる技術が知られている。
【０００３】
３次元位置は、例えば、複数の画像の中から画像のペアが選択され、選択された画像上の計測点の位置と選択された画像を撮影したカメラの位置関係とから計測されるが、当該カメラの位置、レンズの焦点距離、撮像素子の大きさ、及び解像度、並びに当該画像上の計測点の位置によって計測精度が異なる。このため、３次元位置の計測精度を高めるためには、計測点との関係で最適な画像のペアを選択する必要がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２７８８４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、複数の画像のうちの特定の画像との関係で最適な画像を選択するため、当該特定の画像を含まない画像組については選択できない。このため、計測点との関係で最適な画像組を選択できず、３次元位置の計測精度が悪い場合があった。
【０００６】
本発明が解決しようとする課題は、３次元位置の計測精度を高めることができる計測装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００７】
実施形態の計測装置は、表示制御部と、設定部と、第１算出部と、第２算出部と、選択部と、を備える。表示制御部は、異なる視点で撮像された複数の画像のうち第１画像を表示部に表示する。設定部は、前記第１画像上に計測位置を設定する。第１算出部は、前記複数の画像のうちの前記第１画像以外のいずれかである第２画像に対し、前記計測位置に対応する対応位置を算出する。第２算出部は、前記第１画像、前記計測位置、前記第２画像、及び前記対応位置を用いて、前記計測位置の３次元位置及び当該３次元位置の誤差を算出する。選択部は、第２算出部により３次元位置及び誤差が算出される毎に、前記複数の画像に含まれる画像が取りうる画像組の中から、前記３次元位置の誤差が前記第２算出部により算出された前記誤差よりも小さくなる画像組が存在するか否か判定し、存在する場合当該画像組を選択し、存在しない場合前記３次元位置を確定する。第２算出部は、前記選択部により画像組が選択される毎に、当該画像組に含まれる新たな第１画像、当該新たな第１画像に前記３次元位置を投影した第１投影位置、当該画像組に含まれる新たな第２画像、及び当該新たな第２画像に前記３次元位置を投影した第２投影位置を用いて、前記計測位置の新たな３次元位置及び誤差を算出する。
【図面の簡単な説明】
【０００８】
【図１】本実施形態の計測装置の例を示す構成図。
【図２】本実施形態の計測処理例を示すフローチャート。
【図３】本実施形態の選択画面例を示す図。
【図４】本実施形態の表示画面例を示す図。
【図５】本実施形態の対応点算出処理例を示すフローチャート。
【図６】本実施形態の対応点算出処理例の説明図。
【図７】本実施形態の表示画面例を示す図。
【図８】本実施形態の３次元位置の計測誤差の例を示す説明図。
【図９】本実施形態の３次元位置の計測誤差の算出手法例を示す説明図。
【図１０】本実施形態の３次元位置の計測誤差の算出手法例を示す説明図。
【図１１】本実施形態の３次元位置の計測誤差の算出手法例を示す説明図。
【図１２】本実施形態の３次元位置の計測誤差の算出手法例を示す説明図。
【図１３】本実施形態の３次元位置の計測誤差の算出手法例を示す説明図。
【図１４】本実施形態の画像ペア探索処理例を示すフローチャート。
【図１５】本実施形態の画像変換手法例の説明図。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら、実施形態を詳細に説明する。
【００１０】
図１は、本実施形態の計測装置１００の一例を示す構成図である。図１に示すように、計測装置１００は、表示部１１０と、表示制御部１２０と、入力部１３０と、第１選択部１４０と、設定部１５０と、第１算出部１６０と、第２算出部１７０と、第２選択部１８０と、変換部１９０とを、備える。
【００１１】
表示部１１０は、例えば、液晶ディスプレイなどの表示装置により実現できる。表示制御部１２０、第１選択部１４０、設定部１５０、第１算出部１６０、第２算出部１７０、第２選択部１８０、及び変換部１９０は、例えば、ＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、即ち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェア及びハードウェアを併用して実現してもよい。入力部１３０は、例えば、カメラなどの撮像装置や、撮像装置により撮像された画像を記憶する記憶装置などにより実現できる。記憶装置は、例えば、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、ＲＯＭ（Read  Only  Memory）、メモリカードなどの磁気的、光学的、及び電気的に記憶可能な記憶装置の少なくともいずれかにより実現できる。
【００１２】
図２は、本実施形態の計測装置１００で行われる計測処理の手順の流れの一例を示すフローチャートである。
【００１３】
まず、入力部１３０は、オペレータからのマウス操作等に基づいて、異なる視点で撮影された複数の画像及び当該複数の画像それぞれを撮影したカメラのカメラパラメータを入力する（ステップＳ１０）。
【００１４】
カメラパラメータは、カメラの内部パラメータと外部パラメータとに大別される。内部パラメータは、画像上でのレンズの光学中心座標、レンズの焦点距離、及び撮像素子の有効画素間隔などを含む。外部パラメータは、カメラの動きを表すものであり、回転行列及び並進ベクトルなどで表現される。但し、カメラパラメータは、内部パラメータ及び外部パラメータを合成した投影変換行列（透視投影行列と同義）であってもよい。投影変換行列は、３行４列の行列であり、空間上の３次元座標（３次元座標系の一例）から各カメラの画像座標（画像座標系の一例）への変換を表す。
【００１５】
なお、入力対象の画像は、予め歪みなどが除去され、３次元位置の計測に適したものであるものとする。
【００１６】
入力部１３０から複数の画像が入力されると、表示制御部１２０が当該複数の画像の選択画面を表示部１１０に表示するので、第１選択部１４０は、オペレータからのマウス操作等に基づいて、複数の画像の中から第１画像を選択する（ステップＳ２０）。図３は、本実施形態の選択画面の一例を示す図である。図３に示す例では、第１選択部１４０は、複数の画像２００の中から画像４００を第１画像に選択している。
【００１７】
第１選択部１４０により第１画像が選択されると、表示制御部１２０は、当該第１画像の表示画面を表示部１１０に表示する（ステップＳ３０）。図４は、本実施形態の表示画面の一例を示す図である。図４に示す例では、表示制御部１２０は、第１選択部１４０により第１画像に選択された画像４００の表示画面を表示部１１０に表示している。
【００１８】
なお、ステップＳ９０から本ステップへ戻ってきた場合、表示制御部１２０は、ステップＳ９０で画像変換された第１画像及びステップＳ８０で選択された第２画像の表示画面を表示部１１０に表示する。
【００１９】
続いて、設定部１５０は、オペレータからのマウス操作等に基づいて、表示部１１０に表示されている表示画面中の第１画像に対して計測点（計測位置の一例）を設定する（ステップＳ４０）。計測点とは、３次元位置の計測対象点である。なお、ステップＳ３０において、計測点及び計測点の周辺が十分に映っている画像が第１画像に選択されていると、オペレータは、計測点を入力しやすくなる。図４に示す例では、設定部１５０は、表示画面の画像４００上に計測点４０１を設定している。
【００２０】
なお、ステップＳ９０を経ている場合、第１画像に既に計測点（投影点）が設定されているため、本ステップを省略してもよいし、既に設定されている計測点が計測対象位置からずれている場合には、設定部１５０は、計測点の位置を修正し、再設定してもよい。
【００２１】
設定部１５０により計測点が設定されると、第１算出部１６０は、入力部１３０から入力された複数の画像のうち第１画像以外の画像のいずれかである第２画像に対し、第１画像に設定された計測点に対応する対応点（対応位置の一例）を算出する（ステップＳ５０）。
【００２２】
なお、ステップＳ９０を経ている場合、第２画像の対応点（投影点）は既に算出されているため、本ステップを省略してもよい。但し、ステップＳ４０において、計測点が再設定されている場合には、第１算出部１６０は、本ステップを実行する。
【００２３】
図５は、本実施形態の第１算出部１６０で行われる対応点算出処理の手順の流れの一例を示すフローチャートである。
【００２４】
まず、第１算出部１６０は、第１画像に対し、計測点を囲むウィンドウ領域を設定する（ステップＳ５０１）。第１算出部１６０は、ウィンドウ領域の大きさを、第１画像の解像度、ノイズ、及びテクスチャ有無などに応じて決定すればよい。図６は、本実施形態の対応点算出処理の一例の説明図である。図６に示す例では、第１画像である画像４００に対し、計測点４０１を囲むウィンドウ領域５００が設定されている。
【００２５】
続いて、第１算出部１６０は、第２画像を仮設定する（ステップＳ５０２）。第１算出部１６０は、入力部１３０から入力された複数の画像のうち第１画像以外の全ての画像を第２画像に仮設定してもよいし、入力部１３０から入力された複数の画像のうち第１画像以外の特定の画像を第２画像に仮設定してもよい。
【００２６】
本実施形態では、第１算出部１６０は、第１画像以外の全ての画像を第２画像に仮設定するまでステップＳ５０２〜５０５の処理を繰り返すものとするが、第２画像の仮設定処理はこれに限定されるものではない。第１算出部１６０は、入力部１３０から入力された複数の画像のうち第１画像と最も撮影時刻が近い画像、第１画像の撮影時刻から一定時刻経過した画像、又は第１画像と最も撮影時刻の離れた画像を第２画像に仮設定するようにしてもよい。また、ステップＳ９０を経て、ステップＳ４０において計測点が再設定されている場合、第１算出部１６０により仮設定される第２画像は、ステップＳ８０で選択された第２画像となる。これらの場合、ステップＳ５０２〜５０５の処理は、繰り返されない。
【００２７】
図６に示す例では、画像５０１が第２画像に仮設定されている。
【００２８】
続いて、第１算出部１６０は、第１算出部１６０により仮設定された第２画像について、第１画像の計測点に対するエピポーラ線を算出する（ステップＳ５０３）。具体的には、第１算出部１６０は、第１画像及び第２画像のカメラパラメータを用いてエピポーラ線を算出する。なお、カメラパラメータを用いたエピポーラ線の算出手法は、公知であるため、詳細な説明は省略する。
【００２９】
図６に示す例では、画像５０１に対し、エピポーラ線５０２が算出されている。
【００３０】
続いて、第１算出部１６０は、第１画像のウィンドウ領域に対応するウィンドウ領域を第２画像のエピポーラ線上に設定し、両ウィンドウ領域内の輝度の相関値を算出する（相関演算を行う）ことで、対応点を算出する（ステップＳ５０４）。つまり、第１算出部１６０は、第１画像と第２画像とを相関演算することにより対応点を算出する。
【００３１】
図６に示す例では、画像５０１のエピポーラ線５０２上にウィンドウ領域５０３が設定されている。
【００３２】
第１算出部１６０は、例えば、数式（１）に示すような、ＮＣＣ（Normalized  Cross-Correlation）を用いて、輝度の相関値の算出（相関演算）を行う。
【００３３】
【数１】
0005728399.tif 000002
数式（１）では、第２画像である画像５０１上の位置（ｘ、ｙ）のＮＣＣの値を算出している。Ｉ４００、Ｉ５０１は、それぞれ、図６に示す画像４００（第１画像）、画像５０１（第２画像）の輝度を表す。ｋ及びｊは、図６に示すウィンドウ領域５００内の画素位置を表し、ｘ＋ｋ及びｙ＋ｊは、ウィンドウ領域５０３内の画素位置を表す。
【００３４】
なお、第１算出部１６０の相関演算手法は、ＮＣＣに限定されず、ＳＡＤ（Sum  of  Absolute  Difference）、ＳＳＤ（Sum  of  Squared  Difference）、及びＺＮＣＣ（Zero-mean  Normalized  Cross-Correlation）などであってもよい。
【００３５】
第１算出部１６０は、画像５０１上の位置（ｘ、ｙ）をエピポーラ線５０２上で移動させながら相関値を算出する。そして第１算出部１６０は、相関値を算出した画像５０１上の位置（ｘ、ｙ）、算出した相関値、及び第２画像に仮設定された画像５０１を図示せぬ記憶部に記憶（保存）する。記憶部は、例えば、ＨＤＤ、ＳＳＤ、ＲＡＭ（Random  Access  Memory）、メモリカードなどの磁気的、光学的、及び電気的に記憶可能な記憶装置の少なくともいずれかにより実現できる。
【００３６】
なお、ｘとｙとは、エピポーラ線５０２により直線の関係にあるが、エピポーラ線５０２の推定誤差等も考慮して、第１算出部１６０は、エピポーラ線５０２上に限らず、エピポーラ線５０２に隣接する位置（例えば、エピポーラ線５０２の±Ｎ（Ｎは自然数）画素）についても相関演算を行ってもよい。また、第１算出部１６０は、画像５０１上の位置（ｘ、ｙ）の精度を高めるため、相関値に２次曲線や等角直線形状をあてはめ、サブピクセル推定を行ってもよい。
【００３７】
続いて、第１画像以外の全ての画像を第２画像に仮設定していなければ（ステップＳ５０５でＮｏ）、ステップＳ５０２に戻り、第１画像以外の全ての画像を第２画像に仮設定し、仮設定が終了していれば（ステップＳ５０５でＹｅｓ）、ステップＳ５０６へ進む。
【００３８】
続いて、第１算出部１６０は、ステップＳ５０４で保存された相関値を比較し、第１画像と最も相関がある（相関が最も高い）第２画像及び当該第２画像上の位置（ｘ、ｙ）を探索する（ステップＳ５０６）。相関値は、ＮＣＣやＺＮＣＣが用いられた場合には、値が大きいものほど相関が高くなり、ＳＡＤやＳＳＤが用いられた場合には、値が小さいものほど相関が高くなる。
【００３９】
なお、第１算出部１６０は、ステップＳ５０４で保存された相関値が閾値ＴＣ（第２閾値の一例）を満たす第２画像及び当該第２画像上の位置（ｘ、ｙ）を探索してもよい。また、ステップＳ９０を経て、ステップＳ４０において計測点が再設定されている場合、第１算出部１６０は、ステップＳ５０４において、ステップＳ８０で算出される誤差に従って計測誤差も算出することで、相関値の代わりに計測誤差が最も小さい第２画像及び当該第２画像上の位置（ｘ、ｙ）を探索するようにしてもよい。
【００４０】
続いて、第１算出部１６０は、探索した第２画像を第２画像に決定し、探索した第２画像上の位置（ｘ、ｙ）を対応点に決定する（ステップＳ５０７）。
【００４１】
図２に戻り、第１算出部１６０により第２画像及び対応点が決定されると、表示制御部１２０は、第１画像及び第２画像の表示画面を表示部１１０に表示する（ステップＳ６０）。図７は、本実施形態の表示画面の一例を示す図である。図７に示す例では、表示制御部１２０は、第１選択部１４０により第１画像に選択された画像４００及び第１算出部１６０により第２画像に決定された画像６０１の表示画面を表示部１１０に表示している。画像４００には、計測点４０１が重畳して表示され、画像６０１には、対応点６０２及びエピポーラ線６０３が重畳して表示されている。
【００４２】
ここで、オペレータは、計測点４０１に対応する対応点６０２の位置が合っているかどうかを確認する。対応点６０２の位置が合っていない場合、設定部１５０は、オペレータからのマウス操作等に基づいて、画像６０１上の対応点６０２の位置を、例えば、エピポーラ線６０３上に載るように修正し、再設定してもよい。この際、表示制御部１２０は、画像６０１（表示画面）を拡大表示して、対応点を精度よく修正できるようにしてもよい。
【００４３】
続いて、第２算出部１７０は、第１画像、第１画像上の計測点、第２画像、及び第２画像上の対応点を用いて、計測点の３次元位置を算出するとともに、算出した３次元位置の誤差を算出する（ステップＳ７０）。なお、ステップＳ９０を経ている場合、第２算出部１７０は、新たな第１画像、当該新たな第１画像に前回の３次元位置（前回のステップＳ７０で算出した３次元位置）を投影した第１投影点（第１投影位置の一例）、新たな第２画像、及び当該新たな第２画像に前回の３次元位置を投影した第２投影点（第２投影位置の一例）を用いて、計測点の３次元位置を算出する。以下の説明では、計測点を第１投影点、対応点を第２投影点に読み替えることができるものとする。
【００４４】
具体的には、第１画像の計測点の同次座標を数式（２）で表し、第２画像の対応点の同次座標を数式（３）で表し、カメラパラメータで与えられる第１画像、第２画像それぞれの３行４列の投影変換行列をＰ、Ｐ’とし、算出対象の３次元位置の同次座標を数式（４）で表すとする。この場合、算出対象の３次元位置は、数式（５）及び数式（６）で表され、未知数３つ、式４つの連立方程式が成り立つため、第２算出部１７０は、例えば、最小２乗法などによって、数式（７）で表される３次元位置を算出する。
【００４５】
【数２】
0005728399.tif 000003
【００４６】
【数３】
0005728399.tif 000004
【００４７】
【数４】
0005728399.tif 000005
【００４８】
【数５】
0005728399.tif 000006
【００４９】
【数６】
0005728399.tif 000007
【００５０】
【数７】
0005728399.tif 000008
【００５１】
次に、３次元位置の計測誤差の算出手法について説明する。
【００５２】
図８は、本実施形態の３次元位置の計測誤差の一例を示す説明図である。図８（Ａ）では、第１画像７００の計測点の３次元位置７０３を通過する光線７０５と第２画像７０１の画像面が交差する位置が第２画像７０１の対応点となる。対応点を誤差なく推定することは困難であり、実際には対応点推定の誤差が載ってしまうため、光線７０５の両側には誤差が載った形の光線ができ、計測誤差７０７が生じている。
【００５３】
図８（Ｂ）では、第１画像７００の計測点の３次元位置７０４を通過する光線７０６と第２画像７０２の画像面が交差する位置が第２画像７０２の対応点となる。なお、図８（Ｂ）では、第１画像７００は、図８（Ａ）と同一の場所に位置しているが、第２画像７０２は、図８（Ａ）と異なる場所に位置している。図８（Ａ）と図８（Ｂ）とで、計測点を通る光軸と計測点の奥行位置とを合わせると、図８（Ｂ）の計測誤差７０８は、図８（Ａ）の計測誤差７０７よりも大きいことがわかる。
【００５４】
第２算出部１７０は、第２画像の誤差を考慮して計測誤差を算出してもよいし、第１画像及び第２画像の両方の誤差を考慮して計測誤差を算出してもよい。第１画像の誤差は、第１画像に計測点を設定する際に生じる誤差である。
【００５５】
第２算出部１７０は、第２画像の誤差を考慮して計測誤差を算出する場合、第２画像の対応点の同次座標を数式（３）に代えて数式（８）、数式（９）で表し、数式（５）及び数式（６）に適用することにより、数式（１０）、数式（１１）で表される３次元位置を算出する。
【００５６】
【数８】
0005728399.tif 000009
【００５７】
【数９】
0005728399.tif 000010
【００５８】
【数１０】
0005728399.tif 000011
【００５９】
【数１１】
0005728399.tif 000012
【００６０】
ここで、数式（８）、数式（９）で表される第２画像の対応点の同次座標は、エピポーラ線が画像に水平であり、サブピクセル推定処理がなされており、サブピクセル推定処理で計算できる限界の画素位置（例えば、１画素の１／４程度）や画素単位で対応点が算出された場合に、サンプリング間隔の１／２画素を誤差が載りうる位置とし、それをｓ画素としたものである。
【００６１】
そして第２算出部１７０は、数式（１２）を用いて、３次元位置の計測誤差を算出する。
【００６２】
【数１２】
0005728399.tif 000013
【００６３】
ここで、ｍａｘ（Ａ，Ｂ，Ｃ）は、Ａ、Ｂ、Ｃのうちの最大値を返す関数であり、｜Ｄ｜はノルムを示す。
【００６４】
なお第２算出部１７０は、エピポーラ線が画像に水平でない場合には、図９に示すように、エピポーラ線８００の方向に合わせて、対応点８０１の両側に誤差８０４を鑑みた点８０２と点８０３とを設定すればよく、誤差８０４の大きさは、エピポーラ線８００に沿ってｓ画素とすればよい。
【００６５】
また第２算出部１７０は、図１０に示すように、エピポーラ線８００が通る画素それぞれに点９００〜９０３を設定し、設定した点９００〜点９０３から３次元位置を求め、数式（１２）のように、ノルムが最大になるものを３次元位置の計測誤差としてもよい。
【００６６】
数式（１２）では、ノルムの最大値を算出したが、平均、分散、又は最小値を算出してもよい。
【００６７】
第２算出部１７０は、第１画像及び第２画像の両方の誤差を考慮して計測誤差を算出する場合、図１１及び図１２に示すように、第１画像７００の計測点のまわりの誤差を考慮し、計測点の誤差が載った形の光線と第２画像７０１の対応点誤差が載った形の光線との交点である３次元位置１０００〜１００３を算出し、３次元位置７０３からの差分のノルムの最大値を３次元位置の計測誤差としてもよい。図１２は、図１１の円Ｓで囲われた部分の拡大図である。なお第２算出部１７０は、３次元位置７０３からの差分のノルムの最大値ではなく、平均、分散、又は最小値を算出するようにしてもよい。
【００６８】
また第２算出部１７０は、図１３に示すように、第１画像である画像１０００の計測点１００２を囲むウィンドウ領域１００３と、第２画像である画像１００１の対応点を囲むウィンドウ領域１００５と、の画像パタンの相関値や、ウィンドウ領域１００３と誤差が載りうる点を囲むウィンドウ領域１００６、１００７との画像パタンの相関値に、２次関数１００８をあてはめ、２次係数を算出してもよい。
【００６９】
この２次係数は、相関値の滑らかさを表しており、値が大きいものほど２次関数が急峻となり、誤差の少ない推定ができている可能性が高い。ここで、相関値は、ウィンドウ領域が対応の取りにくいパタンしか含まれていない、画像のノイズが多い、画像がぶれている、又は画像の明るさが適切でないなどの場合に滑らかになる。なお第２算出部１７０は、２次曲線の代わりに等角直線をあてはめ、その傾きを相関値の滑らかさとして扱ってもよい。
【００７０】
図２に戻り、第２選択部１８０（選択部の一例）は、第２算出部１７０により算出された３次元位置及び計測誤差を用いて、入力部１３０から入力された複数の画像に含まれる画像が取りうる画像ペア（画像組の一例）の中から、３次元位置の誤差が第２算出部１７０により算出された誤差よりも小さくなる画像ペアが存在するか否か判定し、存在する場合当該画像ペアを選択し、存在しない場合３次元位置を確定する（ステップＳ８０）。
【００７１】
図１４は、本実施形態の第２選択部１８０で行われる画像ペア探索処理の手順の流れの一例を示すフローチャートである。
【００７２】
まず、第２選択部１８０には、第２算出部１７０により算出された３次元位置及び計測誤差が入力される（ステップＳ８０１）。
【００７３】
続いて、第２選択部１８０は、入力部１３０から入力された複数の画像の中から画像ペアを設定する（ステップＳ８０２）。ここで、第２選択部１８０は、第２算出部１７０により３次元位置及び計測誤差の算出に用いられた第１画像と第２画像との画像ペア以外の画像ペアを重複しないように設定する。
【００７４】
続いて、第２選択部１８０は、選択した画像ペアのそれぞれの画像上に、第２算出部１７０により算出された３次元位置を投影する（ステップＳ８０３）。具体的には、第２選択部１８０は、３次元位置の同次座標を数式（４）で表し、選択した画像ペアそれぞれの画像の投影変換行列Ｐ、Ｐ’を用いると、選択した画像ペアのそれぞれの画像上における投影位置を数式（５）及び数式（６）で算出することができる。
【００７５】
続いて、第２選択部１８０は、選択した画像ペアの誤差を算出する（ステップＳ８０４）。なお、誤差の算出については、第２算出部１７０で説明した手法を用いることができる。第２選択部１８０は、例えば、選択した画像ペアのうちいずれかの画像の誤差を考慮して計測誤差を算出する場合、まず、画像ペアのうち一方の画像を第１画像、他方の画像を第２画像として誤差を算出し、続いて、第１画像と第２画像とを入れ替えて誤差を算出する。そして第２選択部１８０は、算出した誤差の最大値、最小値、又は平均値を当該画像ペアの計測誤差とする。
【００７６】
本実施形態では、誤差は、位置推定による計測誤差を想定しているが、実際には画像の質も影響する。このため、第２選択部１８０は、第２算出部１７０と同様の手法で、選択した画像ペアに対して、相関値の滑らかさを表す２次係数を算出する。そして第２選択部１８０は、算出した２次係数が閾値ＴＤ（第１閾値の一例）より小さい場合（即ち、よりなだらかな変化の場合）、第２算出部１７０により３次元位置及び計測誤差の算出に用いられた第１画像と第２画像との画像ペアよりも高い精度で３次元位置を推定できる可能性が低くなるため、計測誤差はより大きくなると予想し、当該計測誤差にペナルティ値を与える。例えば、第２選択部１８０は、計測誤差をα倍する（但し、αは正である）。
【００７７】
続いて、全ての画像ペアを設定していなければ（ステップＳ８０５でＮｏ）、ステップＳ８０２に戻り、全ての画像ペアを設定し、画像ペアの設定が終了していれば（ステップＳ８０５でＹｅｓ）、ステップＳ８０６へ進む。例えば、入力部１３０から入力された複数の画像が画像Ａ、画像Ｂ、及び画像Ｃであり、第２算出部１７０による３次元位置及び計測誤差の算出に用いられた画像ペアが画像Ａ、Ｂである場合、第２選択部１８０は、画像Ａ、Ｃの画像ペア、画像Ｂ、Ｃの画像ペアを設定すれば、画像ペアの設定が終了となる。
【００７８】
続いて、第２選択部１８０は、設定した画像ペアの中から計測誤差が第２算出部１７０により算出された計測誤差より小さい画像ペアを探索する（ステップＳ８０６）。
【００７９】
画像ペアを探索した場合（ステップＳ８０７でＹｅｓ）、第２選択部１８０は、探索した画像ペアを新たな第１画像及び第２画像の画像ペアに決定する（ステップＳ８０８）。具体的には、第２選択部１８０は、画像ペアを探索すると、探索した画像ペア及び当該画像ペアそれぞれの画像が撮影された位置を計測誤差の小さい順に記したリストを作成する。そして第２選択部１８０は、作成したリストの中から、最も順位の高い（リスト内で計測誤差が最も少ない）画像ペア、最も順位の低い（リスト内で計測誤差が最も大きい）画像ペア、計測誤差が第２算出部１７０により算出された計測誤差より設定値ＴＨ小さい画像ペア、又は第２算出部１７０により計測誤差の算出に用いられた第１画像又は第２画像と撮影位置が近い画像ペアを新たな第１画像及び第２画像の画像ペアに決定する。
【００８０】
更に第２選択部１８０は、決定した画像ペアのいずれかの画像を第１画像とし、他方の画像を第２画像とする。但し、第２選択部１８０は、決定した画像ペアに、第２算出部１７０により計測誤差の算出に用いられた第１画像が含まれている場合には、当該第１画像をそのまま第１画像とし、他方の画像を第２画像とする。一方、第２選択部１８０は、決定した画像ペアに、第２算出部１７０により計測誤差の算出に用いられた第１画像が含まれていない場合には、当該第１画像と空間的に位置の近い画像、撮影時刻の近い画像、又は焦点距離の近い画像を第１画像とし、他方の画像を第２画像とする。なお、第１画像と空間的に位置の近い画像は、外部パラメータの並進ベクトルより算出できる。
【００８１】
一方、画像ペアを探索しなかった場合（ステップＳ８０７でＮｏ）、つまり、設定した画像ペアのうち第２算出部１７０により計測誤差の算出に用いられた第１画像及び第２画像の画像ペアの計測誤差が最小である場合、処理は終了となる。
【００８２】
変換部１９０は、第２選択部１８０により新たな第１画像及び第２画像の画像ペアが決定されると（ステップＳ８０でＹｅｓ）、新たな第１画像と第２算出部１７０により計測誤差の算出に用いられた第１画像との見た目が近くなるように、画像内の回転などの画像変換を行う（ステップＳ９０）。例えば、変換部１９０は、元の第１画像の回転方向に、新た第１画像の回転方向を合わせる画像変換を行う。
【００８３】
図１５は、本実施形態の画像変換手法の一例の説明図である。変換部１９０は、図１５に示すように、現在の第１画像１３００の計測点の３次元位置１３０２と現在の第１画像１３００との交点１３０４を通る画像の垂直線１３０５上に２つの光線１３０６と１３０７を設定する。次に、変換部１９０は、３次元位置１３０２と現在の第１画像１３００の光学中心１３０８との距離が同じになる光線１３０６、１３０７上の位置を、それぞれ、点１３０９、１３１０とする。次に、変換部１９０は、３次元位置１３０２、点１３０９、１３１０を新たな第１画像１３０１に投影して、それぞれ、投影位置１３１３、１３１２、１３１１とし、投影位置１３１３、１３１２、１３１１を結ぶ直線と新たな第１画像１３０１の縦軸との傾きβを算出する。次に、変換部１９０は、算出した傾きβを用いて、投影位置１３１３を中心として画像の回転変換を行う。
【００８４】
変換部１９０は、元の画像から変換後の画像への変換規則を記憶部に記憶（保存）しておく。これにより、第２算出部１７０は、変換後の画像上の座標を変換前の座標に一度戻し、３次元位置及び計測誤差を算出する。なお、変換部１９０による画像変換は、オペレータが計測点を確認する際の視認性向上を目的としているため、画像変換を必ず行う必要なく、必要に応じて行えばよい。
【００８５】
この後、ステップ３０へ戻り、変換部１９０により画像変換され、３次元位置が投影された新たな第１画像、及び第２選択部１８０により選択され、３次元位置が投影された新たな第２画像の表示画面が表示制御部１２０により表示部１１０に表示される。
【００８６】
なお、変換部１９０は、第１画像だけでなく第２画像についても画像変換を行ってもよい。また、変換部１９０は、例えば、「Ａ．Ｆｕｓｓｉｅｌｌｏら、Ａ  Ｃｏｍｐａｃｔ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  ｒｅｃｔｉｆｉｃａｔｉｏｎ  ｏｆ  ｓｔｅｒｅｏ  ｐａｒｉｓ、Ｍａｃｈｉｎｅ  Ｖｉｓｉｏｎ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ，  ２０００．」に開示されている手法を用いて、画像変換を行ってもよい。
【００８７】
表示制御部１２０は、第２選択部１８０により新たな第１画像及び第２画像の画像ペアが決定されず（ステップＳ８０でＮｏ）、３次元位置が確定されると、当該３次元位置及び当該３次元位置の誤差を表示部１１０に表示する（ステップＳ１００）。なお、確定された３次元位置及び当該３次元位置の誤差は、ファイル等に出力されてもよい。
【００８８】
以上のように、本実施形態によれば、計測誤差の小さくなる画像ペアが逐次的に選択され、計測誤差が最も小さくなる画像ペアによる３次元位置が算出されるので、３次元位置の計測精度を高めることができる。特に本実施形態によれば、最初に選択する第１画像の選び方が、最終的な３次元位置の推定精度に影響しないため、習熟度の異なるオペレータであっても、各人のばらつきが生じず、高品質な３次元計測が可能となる。
【００８９】
（変形例）
上記実施形態では、第２画像が１つである場合を想定していたが、第２画像は複数であってもよい。この場合、第１算出部１６０は、「M.Okutomi  and  T.Kanade,"A  Multiple-Baseline  Stereo",  IEEE  Transactions  on  Pattern  Analysis  and  Machine  Intelligence,  Vol.15,  No.4,  pp.353-363,  April  1993.」に開示されているように、奥行きの逆数を用いて相関値を算出し、対応点を算出すればよい。
【００９０】
（ハードウェア構成）
上記実施形態及び変形例の計測装置１００は、ＣＰＵ（Central  Processing  Unit）などの制御装置、ＲＯＭやＲＡＭなどの記憶装置、ＨＤＤやＳＳＤなどの外部記憶装置、ディスプレイなどの表示装置、マウスやキーボードなどの入力装置、及びカメラなどの撮像装置等を備えており、通常のコンピュータを利用したハードウェア構成で実現可能となっている。
【００９１】
上記実施形態及び変形例の計測装置１００で実行されるプログラムは、ＲＯＭ等に予め組み込んで提供される。
【００９２】
また、上記実施形態及び変形例の計測装置１００で実行されるプログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されて提供するようにしてもよい。
【００９３】
また、上記実施形態及び変形例の計測装置１００で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記実施形態及び変形例の計測装置１００で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。
【００９４】
上記実施形態及び変形例の計測装置１００で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、例えば、制御装置が外部記憶装置からプログラムを記憶装置上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
【００９５】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００９６】
例えば、上記実施形態のフローチャートにおける各ステップを、その性質に反しない限り、実行順序を変更し、複数同時に実施し、あるいは実施毎に異なった順序で実施してもよい。
【００９７】
以上のように上記実施形態及び変形例によれば、３次元位置の計測精度を高めることができる。
【符号の説明】
【００９８】
１００  計測装置
１１０  表示部
１２０  表示制御部
１３０  入力部
１４０  第１選択部
１５０  設定部
１６０  第１算出部
１７０  第２算出部
１８０  第２選択部
１９０  変換部
【図１】
0005728399.tif 000014
【図２】
0005728399.tif 000015
【図９】
0005728399.tif 000016
【図１０】
0005728399.tif 000017
【図１１】
0005728399.tif 000018
【図１４】
0005728399.tif 000019
【図１５】
0005728399.tif 000020
【図３】
0005728399.tif 000021
【図４】
0005728399.tif 000022
【図５】
0005728399.tif 000023
【図６】
0005728399.tif 000024
【図７】
0005728399.tif 000025
【図８】
0005728399.tif 000026
【図１２】
0005728399.tif 000027
【図１３】
0005728399.tif 000028