(57)【要約】      （修正有）【課題】１台のプロジェクタ及び複数のカメラによって構成される３次元計測装置の計測精度を高める。【解決手段】投影手段と複数の撮像部１〜４とに接続された情報処理装置に、投影手段に明暗の縞パターンを複数回投影させる投影制御手段と、投影手段によって縞パターンが投影された計測対象を前記複数の撮像部の少なくとも１つにより撮像した画像を取得する取得手段と、取得手段によって取得される画像に基づいて、計測対象の三次元計測を行う計測手段とを備える。【選択図】図２
2019012070.tif 000002
【特許請求の範囲】
【請求項１】
投影手段と複数の撮像部とに接続された情報処理装置であって、
前記投影手段に明暗の縞パターンを複数回投影させる投影制御手段と、
前記投影手段によって前記縞パターンが投影された計測対象を前記複数の撮像部の少なくとも１つにより撮像した画像を取得する取得手段と、
前記取得手段によって取得される画像に基づいて、前記計測対象の三次元計測を行う計測手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記投影制御手段は、互いに縞の向きが異なる縞パターンを含む明暗の縞パターンを前記投影手段に複数回投影させることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記互いに縞の向きが異なる縞パターンは、互いに略直交する縞パターンを含むことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記投影手段が投影する縞パターンの縞の向きと対応させて、前記撮像部を切り替えることを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記取得手段は、前記投影手段により前記縞パターンが投影されるたびに前記複数の撮像部の少なくとも１つにより撮像した画像を取得することを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記計測手段で計測のために用いる画像はステレオペア画像であることを特徴とする請求項１記載の情報処理装置。
【請求項７】
前記投影手段の投影中心から、前記縞パターンが投影された画像を撮像する前記撮像部の撮像中心に向かうベクトルを当該縞パターン画像に投影したときに、前記ベクトルと前記縞パターンの縞の向きとのなす角が４５度より大きいことを特徴とする請求項１記載の情報処理装置。
【請求項８】
前記複数の撮像部の相対的な位置及び姿勢は予めキャリブレーションされていることを特徴とする請求項１記載の情報処理装置。
【請求項９】
前記複数の撮像部は、少なくとも４つの撮像部であることを特徴とする請求項１記載の情報処理装置。
【請求項１０】
投影手段と複数の撮像部とに接続された情報処理装置が実行する情報処理方法であって、
前記投影手段に明暗の縞パターンを複数回投影させる投影工程と、
前記投影手段によって前記縞パターンが投影された計測対象を前記複数の撮像部の少なくとも１つにより撮像した画像を取得する取得工程と、
前記取得工程において取得される画像に基づいて、前記計測対象の三次元計測を行う計測工程と
を有する情報処理方法。
【請求項１１】
コンピュータを、請求項１乃至９の何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を用いる三次元計測技術に関する。
【背景技術】
【０００２】
画像を利用する三次元計測技術は、実物からの三次元モデル生成や物体の位置姿勢計測など様々な目的に利用することができる。代表的な方法の一つであるステレオ法では、相対的な位置及び姿勢が既知な二台のカメラ（ステレオカメラ）により撮影された画像から三角測量の原理に基づいて三次元計測を行う。ステレオカメラを利用する場合、画像上での輝度変化が少ない領域ではカメラ間で対応する点を探索するのが困難である。そのため、プロジェクタなどの照明装置によって計測対象にスリット光やパターン光を投影することで対応点探索を容易にすることが広く行われている。また、ステレオカメラの一方のカメラをプロジェクタなどの照明装置に置き換え、カメラと照明装置をステレオペアとして利用する三次元計測も広く行われている。
【０００３】
金属などの鏡面反射成分が多い物体の三次元計測を行う場合、少ないカメラの台数ではプロジェクタの投影パターンの物体表面上での反射光を撮影することが困難である。これに対し、カメラの台数を増やし様々な方向から観察することで鏡面反射成分が多い物体の三次元計測を安定化することができる。ただし、投影パターンとカメラやプロジェクタの配置の組合せによっては高精度に計測を行うことができない場合がある。例えば、投影パターンが複数の平行な直線から構成されるパターンであり、ステレオペアを構成するカメラとプロジェクタ（またはカメラとカメラ）のエピポーラ線の方向が投影パターンの方向に近い場合には計測精度が低下する。そのため、特許文献１では、１台の照明装置と３台のカメラを用いる場合に、カメラの光軸と照明装置の光軸のずれとに応じてストライプ状の投影パターンの方向を切り替える方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４５２５２４０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されている方法のように、カメラごとに、カメラの向きとプロジェクタの向きとを考慮して、エピポーラ線の方向が投影パターンの方向に近くならないように設定することは簡便な作業ではなかった。
【０００６】
本発明は以上の課題に鑑みてなされたものであり、パターンを投影するプロジェクタと任意の台数の複数台のカメラによって構成される三次元計測装置において、精度よく計測可能なパターンをより簡便に設定することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の情報処理装置は、投影手段と複数の撮像部とに接続され、投影手段と、複数の撮像部と、前記投影手段に明暗の縞パターンを複数回投影させる投影制御手段と、前記投影手段によって前記縞パターンが投影された計測対象を前記複数の撮像部の少なくとも１つにより撮像した画像を取得する取得手段と、前記取得手段によって取得される画像に基づいて、前記計測対象の三次元計測を行う計測手段とを備える。
【発明の効果】
【０００８】
本発明により、パターンを投影するプロジェクタと任意の台数の複数台のカメラによって構成される三次元計測装置において、精度よく計測可能なパターンをより簡便に設定することを目的とする。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態における情報処理装置１の構成を示す図である。
【図２】三次元計測装置を構成する投影部及び撮像部の実利用場面における配置を示す図である。
【図３】第１の実施形態に係るＧＵＩについて説明する図である。
【図４】第１の実施形態における投影パターン決定の処理手順を示すフローチャートである。
【図５】第２の実施形態に係るＧＵＩについて説明する図である。
【図６】第３の実施形態における投影パターン決定の処理手順を示すフローチャートである。
【図７】変形例１に係るＧＵＩについて説明する図である。
【図８】カメラープロジェクタの配置を確認するＧＵＩを説明する図である。
【図９】変形例４に係るＧＵＩについて説明する図である。
【図１０】変形例５に係るＧＵＩについて説明する図である。
【図１１】第４の実施形態に係るＧＵＩについて説明する図である。
【図１２】変形例６に係るＧＵＩについて説明する図である。
【図１３】本発明の情報処理装置のハードウェア構成の例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、図面を参照しながら、本発明を実施するための形態（実施形態）について説明する。
【００１１】
本発明にかかる各実施形態を説明するのに先立ち、各実施形態に示す情報処理装置が実装されるハードウェア構成について、図１３を用いて説明する。
【００１２】
図１３は、本実施形態における情報装置１のハードウェア構成図である。同図において、ＣＰＵ１０１０は、バス１０００を介して接続する各デバイスを統括的に制御する。ＣＰＵ１０１０は、読み出し専用メモリ（ＲＯＭ）１０２０に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム（ＯＳ）をはじめ、本実施形態に係る各処理プログラム、デバイスドライバ等はＲＯＭ１０２０に記憶されており、ランダムアクセスメモリ（ＲＡＭ）１０３０に一時記憶され、ＣＰＵ１０１０によって適宜実行される。また、入力Ｉ／Ｆ１０４０は、外部の装置（表示装置や操作装置など）から情報処理装置１で処理可能な形式で入力信号として入力する。また、出力Ｉ／Ｆ１０５０は、外部の装置（表示装置）へ表示装置が処理可能な形式で出力信号として出力する。
【００１３】
これらの各機能部は、ＣＰＵ１０１０が、ＲＯＭ１０２０に格納されたプログラムをＲＡＭ１０３０に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、ＣＰＵ１０１０を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
【００１４】
（第１の実施形態）
第１の実施形態では、プロジェクタと複数台のカメラによって構成される三次元計測装置のうち、カメラとプロジェクタをステレオペアとして三次元計測を行う三次元計測装置に本発明を適用した場合について説明する。三次元計測方法として、複数台のカメラの夫々についてカメラ毎に設定されたパターンをプロジェクタが投影し、選択されたカメラによって撮像された画像に基づいて三次元計測を行うことを逐次的に行う方法を想定する。本実施形態では、そのような三次元計測方法を実施する前に行うカメラ毎のパターンの設定方法について説明する。具体的には、カメラ毎に最も適したパターンの方向をユーザが選択する。
【００１５】
図１は、本実施形態における情報処理装置１の構成を示す図である。本実施形態の情報処理装置１は、投影部１０、パターン情報設定部３０、パターン情報保持部４０、撮像部５０、画像取得部７０、三次元計測部８０、カメラ選択部９０、ユーザ操作取得部１１０、を備えている。また、情報処理装置１は、外部の表示部１００、操作部１２０に接続されている。なお、表示部１００、操作部１２０を情報処理装置１の機能に集約し、一体として構成してもかまわない。
【００１６】
図２は、三次元計測装置を構成する投影部及び撮像部の実利用場面における配置を示す図であり、カメラが４台から構成される場合を示している。図２において、カメラ１〜カメラ４は撮像部、プロジェクタは投影部に相当する。以下、図２を参照しながら情報処理装置１を構成する各部について説明する。
【００１７】
投影部１０は、計測対象物に三次元計測用のパターン光を投影するプロジェクタであり、任意の２次元の画像をパターン光として投影可能であるものとする。図２に示すように、本実施形態では、投影部１０（プロジェクタ）は複数の平行な直線が等間隔で配置されたマルチラインパターン（線パターン）を投影するものとする。マルチラインパターンとして、例えば以下の非特許文献に記載のＤｕｒｄｌｅのパターンを用いる。
Ｎ．  Ｇ．  Ｄｕｒｄｌｅ，  Ｊ．  Ｔｈａｙｙｏｏｒ，  ａｎｄ  Ｖ．  Ｊ．  Ｒａｓｏ，  “Ａｎ  ｉｍｐｒｏｖｅｄ  ｓｔｒｕｃｔｕｒｅｄ  ｌｉｇｈｔ  ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  ｓｕｒｆａｃｅ  ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｏｆ  ｔｈｅ  ｈｕｍａｎ  ｔｒｕｎｋ，”  ＩＥＥＥ  Ｃａｎａｄｉａｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｃｏｍｐｕｔｅｒ  Ｅｎｇｉｎｅｅｒｉｎｇ  １９９８，  ｖｏｌ．２，  ｐｐ．８７４−８７７，  １９９８．
【００１８】
Ｄｕｒｄｌｅらのパターンは、撮像画像上で直線を同定するために各直線が複数の明るさの値のうちいずれかの値を有するように構成されるモノクロのパターンであり、１枚の撮影画像からの三次元計測が可能である。投影部１０は、カメラ選択部９０に選択されたカメラに対応するパターンを設定するために、ユーザは表示部１００に設定されたグラフィカルユーザインタフェース（以下、ＧＵＩと省略する）を介してパターンに関する情報を入力する。そして入力されたパターン光に関する情報をもとに投影部１０が投影する２次元パターン画像を決定し、決定した２次元パターン画像を投影する。投影部１０の表示は、ＣＰＵ１０１０によって制御（投影制御）される。
【００１９】
パターン情報設定部３０は、セットアップの際に表示部１００に設定されたＧＵＩを介してパターンに関する情報を投影部１０に設定する。本実施形態では、パターンに関する情報は、プロジェクタが投影するパターンの向きであるとする。パターン情報設定部３０は、パターン情報保持部４０から２次元パターン画像を取得し、該パターン画像を設定されたパターンの向きに応じて回転したパターン画像を、投影部１０に送出することにより、投影部１０の投影制御を行う。
【００２０】
パターン情報保持部４０は、プロジェクタが投影するパターンに関する情報を保持する。本実施形態では、撮像部５０を構成する複数のカメラの各カメラについて、プロジェクタが投影する２次元パターン画像を保持する。
【００２１】
撮像部５０は、複数カメラより構成されている。カメラはモノクロカメラでもよいしカラーカメラでもよい。本実施形態では、投影パターンがモノクロパターンであるためカメラはモノクロであるとする。図２に示すように、本実施形態では、撮像部５０は４台のカメラによって構成されているものとする。撮像部５０を構成する各カメラ及び投影部１０であるプロジェクタの焦点距離や画像中心、レンズ歪みパラメータといった内部パラメータは予めキャリブレーションされているものとする。また、プロジェクタに対する各カメラの相対的な位置及び姿勢（外部パラメータ）も予めキャリブレーションされているものとする。
【００２２】
画像取得部７０は、カメラ選択部９０によって選択されたカメラが撮像した画像を取得し、三次元計測部８０に入力する。
【００２３】
三次元計測部８０は、画像取得部７０から入力された画像のうち、カメラ選択部９０において選択されたカメラが撮像した画像及びパターン情報保持部４０に保持されているパターンの情報に基づいて、計測対象物の三次元計測を行う。三次元計測は、不図示の記憶装置に保持されているカメラ及びプロジェクタの内部パラメータ及び外部パラメータを利用して行う。三次元計測部８０は、不図示のインターフェースを介して、外部の表示部１００が表示可能な形式で、表示部に計測結果を送出する。なお、計測結果だけでなく、撮像部や投影部の配置情報や撮像部が撮像した画像なども合わせて送出してもよい。
【００２４】
カメラ選択部９０は、ユーザ操作取得部１１０からの信号を受信して、パターンを設定する対象のカメラの識別情報を撮像部５０に入力する。識別情報は、各カメラに固有の番号であるとする。
【００２５】
表示部１００では、三次元計測部８０において得られた計測対象物表面の三次元座標群を表示する。例えば、表示部１００は液晶ディスプレイやＣＲＴディスプレイが用いられる。表示部１００の表示は、ＣＰＵ１０１０によって制御（表示制御）される。
【００２６】
ユーザ操作取得部１１０は、外部の操作部１２０からの操作信号を受信するためのインターフェースとして機能する。取得した操作信号をパターン情報設定部３０とカメラ選択部９０にそれぞれが受信可能な形式で送出する。
【００２７】
操作部１２０は、ユーザがＵＩを操作するためのマウスやキーボードである。また、表示部１００がボタンや、タッチパネルを備える場合には、該ボタンやタッチパネルも操作部１２０に該当する。操作部１２０は、ユーザによって操作された信号をユーザ操作取得部１１０が受信可能な形式でユーザ操作取得部１１０に送出する。
【００２８】
次に、図３を用いて本実施形態に係るＧＵＩについて説明する。ＧＵＩは不図示のモニタ上に表示されているものとする。
【００２９】
カメラ選択ＵＩ（１１００）はカメラ選択部９０に相当する。カメラ選択ＵＩ（１１００）にはカメラを識別するための情報が表示されている。ユーザはカメラ選択ＵＩ（１１００）を用いてカメラの選択を行う。ユーザはラジオボタンを操作部１２０であるマウスでクリックすることでカメラの選択を行う。このＵＩによって、ユーザはカメラ毎に相応しいパターンを設定することが可能になる。
【００３０】
情報表示ＵＩ（１１１０）は表示部１００に相当する。情報表示ＵＩ（１１１０）は、三次元計測部８０において得られた計測対象物表面の三次元座標群を、三次元空間に各計測点を分布させた様子の画像としてユーザに提示する。ユーザは、選択されたカメラと選択されたパターンを用いたときの三次元計測結果の計測性能が十分かどうかを、可視化された分布や精度や計測点数などから確認することで選択されたカメラに相応しいパターンを判定することが可能になる。このＵＩでは、ユーザは操作部１２０であるのマウス等により三次元点群を観察する視点位置・方向や画角などを自由に設定できるものとする。
【００３１】
例えば、情報表示ＵＩ（１１１０）上でマウスを左クリックしながらドラッグすると観察方向が変わり、右クリックしながらドラッグすると平行移動がなされるような機能があってもよい。また、マウスのホイールを回転させることによりズームが可能であってもよい。
【００３２】
図３では二次元画像の表示（ｃａｍｅｒａ  ｖｉｅｗ）と三次元点群の表示（ｖｉｒｔｕａｌ  ｖｉｅｗ）を切り替えるラジオボタンが配置されている。エピポーララインの方向と投影パターンの方向とが平行に近いと高精度な三次元計測が行われないため、二次元画像上にカメラとプロジェクタの配置から決定されるエピポーララインを重畳表示し、パターンの方向の決定に際して利用することもできる。三次元点群の表示を行う際には、得られた三次元点群をすべて同一の色で提示したり、計測精度や計測安定性などによって点毎に色を変えて表示したりする。計測精度は、形状が既知の対象の撮像・三次元計測を行い、三次元計測結果と理想値との比較を行うことで求める。例えば、作業台の上に計測対象物を何も置かずに作業台（平面）だけが撮影されるようにして、得られた三次元点群に平面フィッティングを行ったときの各点の平面からの距離に応じて色を変えて表示する。
【００３３】
パターン情報入力ＵＩ（１１２０）はパターン情報設定部３０に相当する。パターン情報入力ＵＩ（１１２０）にはパターンの向きを識別するための情報が表示されている。パターン情報入力ＵＩ（１１２０）を用いてユーザはパターンの選択を行う。図３に示すＧＵＩでは、ユーザは予め決まっている複数のパターンから一つのパターンを選択する。ユーザはラジオボタンを操作部１２０のマウスでクリックすることでパターンの選択を行う。しかしながら、パターンの選択方法はこれに限るものではなく、複数の選択可能なパターンから１つのパターンを選択する方法であればいかなる方法であってもよい。例えば、ラジオボタンではなくチェックボックスにより選択してもよいし、リストボックスやドロップダウンリストから選択してもよい。また図３に示すように各パターンを同時に提示してもよい。
【００３４】
プレビューボタン（１１３０）をマウスでクリックすると、プロジェクタはパターン情報入力ＵＩ（１１２０）を用いて選択されたパターンを投影し、カメラ選択ＵＩ（１１００）によって選択されたカメラが画像を撮影する。撮影された画像をもとに三次元計測部８０が三次元計測を行い、情報表示ＵＩ（１１１０）に提示する。選択したカメラについて、ユーザはパターンの設定とプレビューを繰り返すことで、パターンを変えた時の三次元計測結果を視覚的に確認し、選択すべきパターンを決定することができる。所望のパターンが設定されている場合に適用ボタン（１１４０）をマウスでクリックすると、選択されたカメラで撮影を行う時に投影するパターンとしてパターン情報保持部４０に登録する。
【００３５】
次に、三次元計測を行う前に実施する各カメラの投影パターンを決定する処理手順について説明する。図４は、第１の実施形態における投影パターン決定の処理手順を示すフローチャートである。
【００３６】
（ステップＳ１０００）
ステップＳ１０００において、カメラ選択部９０は、初期化を行う。初期化では、全てのカメラについて対応する投影パターンが未決定の状態にする。
【００３７】
（ステップＳ１０１０）
ステップＳ１０１０において、カメラ選択部９０は、カメラの選択を行う。具体的には、まず、ユーザ操作取得部１１０が操作部１２０からの操作信号を受信し、受信した信号をカメラ選択部９０が受信可能な形式で送信する。そして、カメラ選択部９０は、受信した信号に基づいて、パターンを設定する対象のカメラの識別情報を撮像部５０に送出することにより、カメラの選択を行う。ユーザによる操作部１２０の操作（カメラの選択）は、図３のカメラ選択ＵＩ（１１００）を操作部１２０で操作することにより行う。ユーザは、ランタイムの計測時に投影するパターンが決定されていないカメラを選択する。本実施形態では、カメラ選択ＵＩへのユーザ指示によりカメラの選択が行われるが、予めカメラ選択の順番を決めておき、その決められた順番で自動的に選択を行ってもよい。
【００３８】
（ステップＳ１０２０）
ステップＳ１０２０では、パターン情報設定部３０は、ステップＳ１０１０で選択したカメラに対してパターンを設定する。つまり、選択したカメラが撮像する際に投影部から投影するパターンをカメラごとに設定する。まず、ユーザ操作取得部１１０が操作部１２０からの操作信号を受信し、受信した信号をパターン情報設定部３０が受信可能な形式で送信する。ユーザによる操作部１２０の操作（パターンの設定）は、は図３のパターン情報設定ＵＩ（１１２０）を操作部１２０で操作することにより行う。パターン情報設定部３０は、設定されたパターンの情報を、投影部１０に送出する。
【００３９】
（ステップＳ１０３０）
ステップＳ１０３０において、三次元計測部８０は、三次元計測を行う。具体的には、まず、投影部１０は、ステップＳ１０２０で設定されたパターンを投影する。そして、画像取得部７０は、パターンが投影されたシーンを、ステップＳ１０１０で選択されたカメラで撮像した画像を入力する。そして、撮影された画像をもとに三次元計測を行う。三次元計測は次のように行う。
【００４０】
まず、入力された画像から線検出を行い、隣接する線の輝度値を用いて入力画像上の線に相当するパターン画像上の線を特定する対応付け処理を行う。次に前述の内部・外部パラメータを利用して、対応付けがなされた線を構成する入力画像上の各画素を三次元空間中の直線に、対応するパターン画像上の線を三次元空間中の平面に変換し、直線と平面の交点を求めることで注目画素の三次元座標を算出する。この処理を、画像上で検出された線及び線を構成する各画素について繰返すことで計測対象物表面の三次元点群を得る。
【００４１】
（ステップＳ１０４０）
ステップＳ１０４０では、表示部１００は、ステップＳ１０３０での三次元計測の結果を各カメラと関連付けて表示する。ユーザは表示部１００中の図３の３次元点群表示ＵＩ（１１１０）に表示される三次元計測結果を確認して、選択されているパターンが妥当か否かの判定を行う。この判定は、前述したように、三次元計測結果が実際の値（実際の形状）とどれだけずれているかをユーザが判断して行う。そして、ユーザは選択されたパターンが妥当であると判断した場合には、操作装置１１０により妥当であることを示す信号をユーザ操作取得部１１０に入力する。ユーザは視点位置や方向を変えて三次元点群を観察してもよい。また、ユーザは精度を示す色によって三次元計測が精度よく行われているかを確認してもよい。また、カメラ選択部９０が、所定の値からのずれを自動的に判断してもよい。
【００４２】
（ステップＳ１０５０）
ステップＳ１０５０では、カメラ選択部９０は、ユーザが現在選択されているカメラを用いる場合に現在選択されているパターンをランタイムの三次元計測時に投影するパターンとして採用する指示があったか否かを判定する。具体的には、ユーザ操作取得部１１０からの信号に基づいて判定する。現在設定されているパターンに決定する（処理を終了する）場合にはステップＳ１０６０に進み、そうでない場合にはステップＳ１０２０に戻って異なるパターンを選択する。なお、例えば、三次元計測の測定対象物の形状が既知であれば、測定した値と実際の値とのずれを評価し、評価値の高いパターンを、ユーザ指示を待たずに自動的に設定するようにしてもよい。
【００４３】
（ステップＳ１０６０）
ステップＳ１０６０において、ユーザ操作取得部１１０は、ユーザから終了指示があるかの判定を行う。全てのカメラについて決定している場合にはステップＳ１０７０に進み、そうでない場合にはステップＳ１０１０に戻りまだ決定していないカメラを選択する。なお、撮像部５０を構成する全てのカメラについて投影パターンが決定されている場合にもステップＳ１０７０に進む。
【００４４】
（ステップＳ１０７０）
ステップＳ１０７０では、パターン情報保持部４０は、撮像部５０を構成する各カメラについて選択されたパターンの情報を、各カメラと関連づけて記憶する。この情報は、ランタイムの三次元計測を行う際に参照される。
【００４５】
ランタイムの三次元計測時には、カメラを逐次的に切り替え、各カメラについて、上述した方法によって設定された投影パターンをプロジェクタによって投影し、撮影された画像に基づいて三次元計測を行う。三次元計測の方法はステップＳ１０３０の説明で述べたとおりである。
【００４６】
以上述べたように、第１の実施形態では、プロジェクタと複数台のカメラから構成される三次元計測装置において、各カメラとプロジェクタをステレオペアとする場合に各カメラに適したパターンを選択する方法について説明した。
【００４７】
（第２の実施形態）
第２の実施形態では、プロジェクタと複数台のカメラによって構成される三次元計測装置のうち、カメラとカメラをステレオペアとして三次元計測を行う三次元計測装置に本発明を適用した場合について説明する。本実施形態では、三次元計測として複数台のカメラのうち２台のカメラ（カメラペア）を選択し、選択されたカメラペアに適したパターンをプロジェクタが投影し、選択されたカメラペアによって撮像された複数の画像に基づいて三次元計測を行う方法を想定する。
【００４８】
本実施形態における情報処理装置２の構成は第１の実施形態における情報処理装置１の構成と同一であるため図を省略する。以下、情報処理装置２を構成する各部について説明する。
【００４９】
投影部１０、パターン情報設定部３０、撮像部５０、表示部１００、ユーザ操作取得部１１０、操作部１２０は、第１の実施形態と同じであるため説明を省略する。なお第２の実施形態ではプロジェクタの内部パラメータ及びプロジェクタとカメラの間の外部パラメータは不要である。
【００５０】
パターン情報保持部４０は、プロジェクタが表示するパターンに関する情報を保持する。本実施形態では、撮像部５０を構成する複数のカメラのうち２台のカメラを組み合わせて、複数のカメラペアを作成する。本実施形態では、図２におけるカメラ１とカメラ３、カメラ２とカメラ４をカメラペアとする。本実施形態では、各カメラ間（撮像手段間）の配置（外部パラメータ）は既知であるが、カメラとプロジェクタ間の配置（外部パラメータ）は既知である必要はない。パターン情報保持部４０は、各カメラペアについて、プロジェクタがどの２次元パターンを投影するかの情報を保持する。情報の保持方法は、パターンの向き（角度）の情報であってもよいし、パターンの向きに応じて回転された２次元パターン画像であってもよい。パターンの向き（角度）の情報である場合には、ランタイムの三次元計測を行う際に向きに応じたパターン画像を生成し照射する。
【００５１】
画像取得部７０は、カメラ選択部９０によって選択されたカメラペアを構成する２台のカメラが撮像した画像を三次元計測部８０に入力する。
【００５２】
三次元計測部８０は、画像取得部７０から入力された画像及びパターン情報保持部４０に保持されているパターンの情報及び不図示の記憶装置に保持されているカメラの内部パラメータ及びカメラ間の外部パラメータをもとに計測対象物の三次元計測を行う。
【００５３】
カメラ選択部９０は、パターンを設定する対象のカメラペアを構成するカメラの識別情報をシステムに入力する。
【００５４】
次に、図５を用いて本実施形態に係るＧＵＩについて説明する。ＧＵＩは不図示のモニタ上に表示されているものとする。
【００５５】
カメラ選択ＵＩ（２１００）はカメラ選択部９０に相当する。このＵＩを用いてユーザはカメラペアの選択を行う。ユーザはラジオボタンを不図示のマウスでクリックすることでカメラの選択を行う。このＵＩによって、ユーザはカメラペア毎に相応しいパターンを設定することが可能になる。
【００５６】
情報表示ＵＩ（２１１０）は、表示部１００に相当する。このＵＩは基本的には第１の実施形態の情報表示ＵＩ（１１１０）と同一である。ただし、第１の実施形態では一台のカメラの二次元画像と三次元点群の表示の切り替えが可能であったのに対し、本実施形態では選択されたカメラペアを構成する二台のカメラの二次元画像と三次元点群の表示の切り替えが可能である。さらにはカメラの二次元画像が表示されている場合に、カメラペアを構成するカメラの配置から決定されるエピポーララインを重畳表示し、プロジェクタが投影するパターンの方向とエピポーララインの方向の比較を行えるようにする。
【００５７】
パターン情報入力ＵＩ（２１２０）はパターン情報設定部３０に相当する。このＵＩは基本的には第１の実施形態のパターン情報入力ＵＩ（１１２０）と同一である。プレビューボタン（２１３０）をマウスでクリックすると、プロジェクタはパターン情報入力ＵＩ（１１２０）を用いて選択されたパターンを投影し、カメラ選択ＵＩ（２１００）によって選択された２台のカメラが画像を撮影する。撮影された２枚の画像をもとに三次元計測部８０が三次元計測を行いデータ表示ＵＩ（２１１０）に提示する。所望のパターンが選択されている場合に適用ボタン（１１４０）をマウスでクリックすると、選択されたカメラペアで撮影を行う時に投影するパターンとしてパターン情報保持部４０に登録する。
【００５８】
次に、三次元計測を行う前に実施する各カメラペアの投影パターンを決定する処理手順について説明する。この処理手順は実施例１における処理手順とほぼ同じであるので図４のフローチャートを参照して説明する。なお、ステップＳ２０００〜Ｓ２０９０は図４のステップＳ１０００〜Ｓ１０９０に相当する。
【００５９】
（ステップＳ２０００）
ステップＳ２０００において、カメラ選択部９０は初期化を行う。初期化では、全てのカメラペアについて対応する投影パターンが未決定の状態にする。
【００６０】
（ステップＳ２０１０）
ステップＳ２０１０において、カメラ選択部９０は、カメラペアの選択を行う。カメラの選択は図５のカメラ選択ＵＩ（２１００）を介して入力されるユーザの指示により行われる。ユーザは、ランタイムの計測時に投影するパターンが決定されていないカメラペアを、カメラ選択ＵＩ（２１００）を通じて選択する。
【００６１】
（ステップＳ２０２０）
ステップＳ２０２０において、パターン情報設定部３０は、ステップＳ２０１０で選択したカメラペアに対する投影パターンを選択する。投影パターンの選択は図５のパターン情報入力ＵＩ（２１２０）を介して入力されるユーザの指示により行われる。
【００６２】
（ステップＳ２０３０）
ステップＳ２０３０において、三次元計測部８０は、三次元計測を行う。具体的には、まず、投影部１０は、ステップＳ２０２０で選択されたパターンを投影する。そして、ステップＳ２０１０で選択されたカメラペアを構成する２台のカメラによってパターンが投影されたシーンを撮影する。そして、撮影された画像をもとに三次元計測を行う。三次元計測は次のように行う。
【００６３】
まず、カメラペアを構成するカメラのうち１台のカメラ（以下、カメラＡ）に入力された画像から線検出を行い、隣接する線の輝度値を用いて入力画像上の線に相当するもう一方のカメラ（以下、カメラＢ）の撮像画像上の線を特定する対応付け処理を行う。次に前述の内部・外部パラメータを利用して、対応付けがなされた線を構成するカメラＡの撮像画像上の各画素を三次元空間中の直線に変換する。そして、対応するカメラＢの撮像画像上の線を三次元空間中の平面に変換する。そして、それぞれ変換された直線と平面との交点を求めることで注目画素の三次元座標を算出する。この処理を、画像上で検出された線及び線を構成する各画素について繰返すことで計測対象物表面の三次元点群を得る。そして、得られた三次元点群の情報を表示部１００に送出する。
【００６４】
（ステップＳ２０４０）
ステップＳ２０４０において、表示部１００は、ステップＳ２０３０での三次元計測の結果を表示する。ユーザは表示部中の情報表示ＵＩ（２１１０）（図５）に表示される三次元計測結果を確認して、選択されているパターンが妥当か否かの判定を行う。この判定については、Ｓ１０４０における処理と同様である。
【００６５】
（ステップＳ２０５０）
ステップＳ２０５０では、カメラ選択部９０は、ユーザは現在選択されているカメラペアを用いる場合に現在選択されているパターンを投影して三次元計測を行うかどうかを決定する。選択されているパターンに決定する場合にはステップＳ２０６０に進み、そうでない場合にはステップＳ２０２０に戻って異なるパターンを選択する。
【００６６】
（ステップＳ２０６０）
ステップＳ２０６０において、カメラ選択部９０は、予め決められた全てのカメラペアについて投影パターンが決定されているか判定を行う。そして、全てのカメラペアについて決定している場合にはステップＳ２０７０に進み、そうでない場合にはステップＳ２０１０に戻りまだ決定していないカメラペアを選択する。
【００６７】
（ステップＳ２０７０）
ステップＳ２０７０において、パターン情報保持部４０は、ステップＳ２０１０〜ステップＳ２０６０を繰り返すことにより、予め決められた全てのカメラペアについて選択されたパターンの情報を保存する。この情報は、ランタイムの三次元計測を行う際に参照される。
【００６８】
ランタイムの三次元計測時には、カメラペアを逐次的に切り替え、各カメラペアについて、上述した方法によって設定された投影パターンをプロジェクタによって投影し、撮影された画像に基づいて三次元計測を行う。三次元計測の方法はステップＳ２０３０の説明で述べたとおりである。
【００６９】
以上述べたように、第２の実施形態では、プロジェクタと複数台のカメラから構成される三次元計測装置において、カメラとカメラをステレオペアとする場合に各ペアに適したパターンを選択する方法について説明した。
【００７０】
なお、本実施形態において三次元計測は２台のカメラが撮像する画像を用いて行うことを想定してプロジェクタが投影するパターンの決定を行った。しかしながら、カメラの台数は２台に限るものではなく、２台以上のカメラであってもよい。また、本実施形態ではカメラペアはあらかじめ決められていることを前提としていた。しかしながらカメラペアはパターン選択の際にユーザが決定してもよい。
【００７１】
（第３の実施形態）
第１及び第２の実施形態では、選択したカメラまたはカメラペアについてユーザが投影するパターンを選択し、三次元計測の結果を見て判断を行っていた。第３の実施形態では、カメラとプロジェクタの配置に基づいて、適した投影するパターンを自動的に算出してユーザに提示する。第３の実施形態では第１の実施形態と同様にカメラとプロジェクタのペアから三次元計測を行う場合について説明する。
【００７２】
第３の実施形態における情報処理装置３の構成とＧＵＩは第１の実施形態と同一であるので図を省略する。
【００７３】
次に、三次元計測を行う前に実施する各カメラの投影パターンを決定する処理手順について説明する。図６は、第３の実施形態における投影パターン決定の処理手順を示すフローチャートである。
【００７４】
（ステップＳ３０１０）
ステップＳ３０１０において、カメラ選択部９０は、カメラの選択を行う。カメラの選択は図３のカメラ選択ＵＩ（１１００）を介してユーザが行う。ユーザは、ランタイムの計測時に投影するパターンが決定されていないカメラを選択する。
【００７５】
（ステップＳ３０２５）
ステップＳ３０２５では、パターン情報設定部９０は、ステップＳ３０１０で選択したカメラに対する最適な投影パターンの算出を行う。最適な投影パターンの算出は、カメラとプロジェクタの内部パラメータ及びカメラ−プロジェクタ間の外部パラメータに基づいて行う。ここで、投影するパターンの候補としては、プロジェクタ画像の垂直方向に平行なマルチラインパターンとプロジェクタ画像の水平方向に平行なマルチラインパターンがあるものとする。具体的には、３次元空間においてプロジェクタのレンズ中心からカメラのレンズ中心に向かうベクトルをプロジェクタ画像上に投影したときの画像上の方向を算出する。そして、算出された方向とプロジェクタ画像の水平方向とのなす角が４５度以下の場合には、プロジェクタ画像の垂直方向に平行なマルチラインパターンを選択し、４５度より大きい場合にはプロジェクタ画像の水平方向に平行なマルチラインパターンを選択する。
【００７６】
（ステップＳ３０３０）
ステップＳ３０３０では、三次元計測部８０は、三次元計測を行う。具体的には、まず、ステップＳ３０２５またはＳ３０２０で選択されたパターンをプロジェクタ（投影部）が投影する。そして、ステップＳ３０１０で選択されたカメラ（撮像部）によってパターンが投影されたシーン（計測対象）を撮影し、撮影された画像をもとに三次元計測を行う。三次元計測部８０は、三次元計測結果を表示部１００に送出する。
【００７７】
（ステップＳ３０４０）
ステップＳ３０４０において、表示部１００は、ステップＳ３０３０での三次元計測の結果を表示する。図３のデータ表示ＵＩ（１１１０）は表示部１００による表示結果の例である。ユーザは図３のＵＩに表示される三次元計測結果を確認して、選択されているパターンが妥当か否かの判定を行い、操作部１２０で判定結果を情報処理装置３に送出する。前述したように、ユーザは視点位置や方向を変えて三次元点群を観察してもよい。また、ユーザは精度を示す色によって三次元計測が正常に行われているかを確認してもよい。
【００７８】
（ステップＳ３０５０）
ステップＳ３０５０において、パターン情報設定部３０は、ユーザは現在選択されているカメラを用いる場合に現在選択されているパターンを投影して三次元計測を行うかどうかを決定する。選択されているパターンに決定する場合にはステップＳ３０６０に進み、そうでない場合にはステップＳ３０２０に進んで異なるパターンを選択する。
【００７９】
（ステップＳ３０２０）
ステップＳ３０２０において、パターン情報設定部３０は、ステップＳ３０１０で選択したカメラに対する投影パターンの設定を行う。投影パターンの選択は図３のパターン情報入力ＵＩ（１１２０）を介してユーザが行う。
【００８０】
（ステップＳ３０６０）
ステップＳ３０６０において、カメラ選択部９０は、ユーザにより終了指示が入力されているか判定を行う。そして、入力されている場合にはステップＳ３０７０に進み、そうでない場合にはステップＳ３０１０に戻りまだ決定していないカメラを選択する。撮像部５０を構成する全てのカメラについて投影パターンが決定されている場合にもステップＳ３０７０に進む。
【００８１】
（ステップＳ３０７０）
ステップＳ３０７０において、パターン情報保持部４０は、撮像部５０を構成する各カメラについて選択されたパターンの情報をパターン情報保持手段４０に保存する。この情報は、ランタイムの三次元計測を行う際に参照される。
【００８２】
本実施形態におけるランタイムの三次元計測の処理手順は第１の実施形態と同じであるので説明を省略する。
【００８３】
第３の実施形態では、カメラとプロジェクタとの既知の配置情報に基づいて、最適なパターンを決定する方法について述べた。しかし、ステレオペアはこれに限るものではなく、カメラとカメラをステレオペアとする場合に最適なパターンを決定して三次元計測を行い、ユーザに三次元計測結果を提示してもよい。
【００８４】
（第４の実施形態）
第４の実施形態では、カメラもしくはカメラペアごとに投影パターンの色を変える場合について説明する。本実施形態では第２の実施形態と同様に、カメラペアを選択して各カメラペアに最適なパターンを設定するものとする。
【００８５】
図１１は本実施形態におけるＧＵＩを説明する図である。図１１のＧＵＩには図５のＧＵＩに色指定部４１５０が追加されている。本実施形態における投影パターン決定の処理手順は基本的に第２の実施形態と同様であるため、処理が異なるステップＳ２０２０のみ説明する。第２の実施形態において、ステップＳ２０２０ではパターンの選択のみを行っていた。しかし本実施形態では、色指定部４１５０を用いて選択されたカメラペアについて投影するパターンの色も決定する。例えば、図２において、カメラ１とカメラ３のカメラペアはモノクロのマルチラインパターン、カメラ２とカメラ４はカラーパターン（前述のＢｏｙｅｒのマルチラインパターン）といった選択を行うことができる。なお、モノクロパターンとカラーパターンのパターンの形状は同じにする必要はない。また、ＧＵＩ上で選択するカメラがカラーカメラかモノクロカメラかがわかるように表示しておき、最適なパターンが選択できるようにしておいてもよい。例えば、カメラ選択ＵＩにおいて、カラーカメラとモノクロカメラの表示を変えるなどして、ユーザがパターンの色を判定しやすいようにしておいてもよい。さらに、カメラの種類（モノクロ／カラー）に応じて利用できないパターンは選択できないようにしてもよい。
【００８６】
なお、本実施形態ではカメラペアごとに投影パターンの色を変えていたが、これに限るものではない。第１の実施形態と同様に、カメラごとに投影パターンを設定する場合に、投影パターンの色を変えてもよい。
【００８７】
第４の実施形態では、カメラとカメラをステレオペアとする場合について述べた。しかし、ステレオペアはこれに限るものではなく、カメラとプロジェクタをステレオペアとしてもよい。
【００８８】
＜その他の実施例＞
（変形例１）
以上述べた実施形態では、画像に撮像される領域のうち特定の領域に限定することなく三次元計測に最適なパターンの選択を行っていた。しかしながら、パターンの選択方法はこれに限るものではなく、特定の領域内の三次元計測結果を見てユーザが選択したパターンの利用を判断してもよい。図７を用いて本変形例に係るＧＵＩについて説明する。図７は第１の実施形態におけるＧＵＩのデータ表示ＵＩ（１１１０）である。三次元計測の対象物体１１６０の画像内での大きさが画像サイズより小さい場合、ユーザは操作部１２０であるマウスによりマウスカーソル１１７０を操作して画像内で矩形領域１１６０を指定する。三次元計測手段８０は、矩形領域１１６０で指定された領域内の三次元点群のみを算出する。ユーザは指定された領域内の三次元計測結果を見てパターンの採否を判断する。これによって、計測対象以外の領域の三次元計測結果に影響されることなく、計測対象に最も適したパターンを選択することができる。
【００８９】
なお、本変形例では第１の実施形態と同様にカメラとプロジェクタをステレオペアとする場合について述べた。しかし、ステレオペアはこれに限るものではなく、第２の実施形態と同様にカメラとカメラのステレオペアであってもよい。この場合、どちらか一方のカメラが撮像する画像において領域を指定してもよいし、双方のカメラで領域を指定してもよい。２台のカメラの観察領域は一致しないため、一方のカメラで指定した領域内の三次元計測を行った結果を既知の内部・外部パラメータを利用して他方の画像上に投影し、指定した領域内にある三次元点群のみデータ表示ＵＩ（１１１０）に表示してもよい。
【００９０】
また、画像内で指定する領域は必ずしも矩形領域でなくてもよい。例えば、任意の形状の多角形領域であってもよいし、楕円や円などの曲線で囲まれた領域であってもよい。すなわち、マウスなどのユーザインタフェースによって指定される画像上の閉領域であればどのような領域であってもよい。
【００９１】
（変形例２）
以上述べた実施形態では、カメラまたはカメラペアごとに異なるパターンの切り替え・投影・撮像を逐次的に行っていた。しかしながら、異なるカメラまたはカメラペアで共通のパターンが投影される場合には、パターンを切り替えることなく撮影を行ってもよい。例えば、図２においてカメラ１とカメラ３のカメラペア、及びカメラ２とカメラ４のカメラペアに対して共通のパターンが設定される場合は以下のようにする。すなわち、カメラ１とカメラ３用のパターンを投影してカメラ１とカメラ３で撮影を行った後、パターンを切り替えてカメラ２とカメラ４で撮影を行う。つまり、パターンが共通の場合に切り替えを行わないようにすることで、撮影にかかる時間を短縮することが可能になる。
【００９２】
また、例えば２台のカメラに最適なパターンの向きの差の絶対値が所定の閾値を下回る場合には、それぞれのカメラに最適なパターンを選択するのではなく、どちらか一方のパターンのみを用いることにして撮影に係る時間を短縮してもよい。
【００９３】
なお、本変形例では第２の実施形態と同様にカメラとカメラをステレオペアとする場合について述べた。しかし、ステレオペアはこれに限るものではなく、第１の実施形態と同様にカメラとプロジェクタのステレオペアであってもよい。
【００９４】
（変形例３）
以上の実施形態で説明した図３や図５に示すＧＵＩでは、カメラを選択するためのＵＩ、パターンに関する情報を入力するためのＵＩ、選択したカメラとパターンで計測された三次元計測結果を表示するデータ表示ＵＩから構成されていた。
【００９５】
しかしながらＧＵＩの構成要素はこれに限るものではない。例えば、図８に示すように、予めキャリブレーションされたカメラとプロジェクタの外部パラメータをもとに仮想空間内で定義される世界座標系にカメラとプロジェクタを配置する。そして、別途設定される仮想的な視点における画像をコンピュータグラフィクスにより生成しＧＵＩ上に配置してもよい。この画面において、選択されたカメラを他のカメラと色を変えるなど区別して表示することで、どのカメラのパターンを選択しているかをユーザが容易に把握することが可能になる。また、パターンを選択済みのカメラと未選択のカメラで表示方法を変えて、ユーザが未選択のカメラを選択しやすいようにしてもよい。さらには、カメラとプロジェクタだけでなく、選択されたカメラに設定されたパターンが仮想空間内に投影された様子も表示してもよい。
【００９６】
本変形例は、第１の実施形態のようにカメラとプロジェクタをステレオペアとする場合、第１の実施形態のようにカメラとカメラをステレオペアとするいずれの場合であっても適用することが可能である。
【００９７】
（変形例４）
以上述べた各実施形態では、離散的に設定された投影するパターンの方向をユーザが選択していた。しかしながら、ユーザが設定するパターンに関する情報はこれに限るものではない。パターンの方向は離散的ではなく、スライダなどを利用して連続値として設定してもよい。また、例えば、図９に示すようなＧＵＩを介してマルチラインパターン（線パターン）の線の間隔や幅をユーザが決定してもよい。線の間隔は、計測したい対象の形状の細かさに応じ決定する必要がある。細かい形状を計測したい場合には線間隔を狭める必要があり、大まかな形状を計測するのであれば線間隔を広げてもよい。また、線間隔が狭い場合には、ボケの影響や動的な環境を計測する場合にはモーションブラーによって線が広がり異なる線が画像上で重なる場合があり、計測精度が低下する。ユーザはＧＵＩを介して三次元計測結果を観察することで、ボケやモーションブラーなどの影響も考慮しながら最適な線間隔を決定することができる。また、線の幅に関しては、カメラとプロジェクタの解像度の比に基づいて決定する必要がある。カメラ側の１画素より線幅が狭い場合には線を十分な精度で検出することができないため、線幅を広くする必要がある。線間隔と同様にユーザはＧＵＩを介して三次元計測結果を参照しながら最適な線幅を決定することができる。
【００９８】
本変形例は、第１の実施形態のようにカメラとプロジェクタをステレオペアとする場合、第２の実施形態のようにカメラとカメラをステレオペアとするいずれの場合であっても適用することが可能である。
【００９９】
（変形例５）
以上述べた各実施形態では、ユーザはパターン選択ＧＵＩ上に提示されたパターンを区別なく選択していた。しかし、例えばカメラとプロジェクタ（もしくはカメラとカメラ）のエピポーラライン方向とカメラが撮影する投影パターンの画像上での方向が近い場合は高精度に計測することが困難になるため、ユーザはそのようなパターンを選択するべきではない。そこで、エピポーラライン方向とカメラが撮影する投影パターンの画像上での方向を算出し、図１０に示すように方向の差の絶対値が所定の閾値以上のパターンとそれ以外のパターンの表示方法を変えて、ユーザが誤った選択をしないようにしてもよい。図１０では、選択すべきではないパターンは選択できないようにグレーアウト（図中では破線で表示）されている。
【０１００】
本変形例は、第１の実施形態のようにカメラとプロジェクタをステレオペアとする場合、第２の実施形態のようにカメラとカメラをステレオペアとするいずれの場合であっても適用することが可能である。
【０１０１】
（変形例６）
以上述べた実施形態では、三次元計測結果を精度によって色を変えてユーザに提示していた。しかしながら、三次元計測結果の提示方法はこれに限るものではない。例えば、図１２に示すように、精度や計測点数を数値として提示してもよい。三次元計測は計測に失敗する場合もあるため、計測点数を三次元計測の安定性を示す指標として用いる。このときの精度は、例えば平面を計測対象としたときに、計測された３次元点群に平面フィッティングしたときのＲＭＳ（Ｒｏｏｔ  Ｍｅａｎ  Ｓｑｕａｒｅｄ）誤差を用いる。また、平面以外で形状既知な物体を計測し、該物体の３次元モデルを３次元点群にフィッティングしたときのＲＭＳ誤差を表示してもよい。さらには、ユーザが目標精度を入力するフィールドをＧＵＩ内に設けて、目標精度を達成するようなパターンを自動的に選択しユーザに提示してもよい。
【０１０２】
本変形例は、第１の実施形態のようにカメラとプロジェクタをステレオペアとする場合、第２の実施形態のようにカメラとカメラをステレオペアとするいずれの場合であっても適用することが可能である。
【０１０３】
（変形例７）
以上述べた実施形態では、基本的にユーザが選択するパターンの表示は同一であった。しかしながら、パターンの表示を同一にする必要は必ずしもなく、カメラとプロジェクタの配置に応じて、ユーザが選択すべきパターンがわかるように表示していてもよい。すなわち、カメラとプロジェクタの配置から決定されるエピポーラ線の方向と画像上での投影パターンの線の方向のなす角度が最も大きいパターンの画像の外枠を太くして表示して、ユーザに選択すべきパターンをわかりやすくしてもよい。
【０１０４】
本変形例は、第１の実施形態のようにカメラとプロジェクタをステレオペアとする場合、第２の実施形態のようにカメラとカメラをステレオペアとするいずれの場合であっても適用することが可能である。
【０１０５】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１０６】
＜各実施形態の効果＞
第１の実施形態により、実際に三次元計測を行った結果をユーザに提示することで、カメラとプロジェクタをステレオペアとして三次元計測を行う三次元計測装置において各カメラについてプロジェクタが投影する適切なパターンを決定することができる。また、事前に設定したカメラ毎の投影パターンの情報を保存しておくことで、ランタイムの計測時に同様の作業が不要になる。また、計測した三次元点群の計測結果のみを表示するだけでなく、精度などの計測性能に関する情報を付与して表示することで、ユーザが選択したパターンの妥当性を容易に判断することができる。三次元点群を観察する位置や方向をユーザが自由に変更できることで、固定された視点では判断しにくい精度なども判断できるようになる。さらに、選択したカメラの２次元画像を表示し、エピポーララインを重畳表示して投影パターンに対する向きを観察可能にすることで適切なパターンを決定することができる。
【０１０７】
第２の実施形態により、カメラとプロジェクタをステレオペアとして三次元計測を行う三次元計測装置において各カメラについてプロジェクタが投影する適切なパターンを決定することができる。また、ＧＵＩを介してユーザがカメラペア及びパターンの選択を行い、選択したカメラペアとパターンの組合せによって実際に三次元計測を行った結果をユーザに提示する。これにより、カメラペアの数が任意であってもユーザは各カメラペアについて適切なパターンを選択することができる。
【０１０８】
第３の実施形態により、装置側が最適と判断されるパターン候補を提示するため、ユーザが全てのパターンを選択して三次元計測結果を確認する作業が不要となりユーザの利便性が向上する。
【０１０９】
＜定義＞
第１の実施形態における撮像部を構成するカメラとしてモノクロカメラを用いた。しかしながら、カメラはこれに限るものではなく、カラーカメラであってもよいし、赤外カメラなどの可視光以外の波長の光を撮影するカメラであってもよい。カラーカメラを用いる場合には、投影するパターンはモノクロのパターンに限らず、カラーのパターンであってもよい。カラーのパターンとしては、例えば、以下の非特許文献に開示されるＢｏｙｅｒらの色でインデックス付けされたマルチラインパターンを用いてもよい。また、赤外カメラを用いる場合には、赤外光源を用いてモノクロのマルチラインパターンを照射してもよい。
Ｋ．  Ｌ．  Ｂｏｙｅｒ  ａｎｄ  Ａ．  Ｃ．  Ｋａｋ，  “Ｃｏｌｏｒ−ｅｎｃｏｄｅｄ  ｓｔｒｕｃｔｕｒｅｄ  ｌｉｇｈｔ  ｆｏｒ  ｒａｐｉｄ  ａｃｔｉｖｅ  ｒａｎｇｉｎｇ，”  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，  ｖｏｌ．９，  ｎｏ．１，  ｐｐ．１４−２８，  １９８７．
【０１１０】
第１の実施形態における投影部が照射する三次元計測用のパターンとして各線の明るさが同一でないＤｕｒｄｌｅのマルチラインパターンを用いた。しかしながら、三次元計測用のパターンはこれに限るものではなく、画像上で検出される線と投影パターン上の線との対応付けが可能であれば他のマルチラインパターンであってもよい。例えば以下の非特許文献で開示される、Ｍａｒｕｙａｍａらの線が複数の線分に分割されたパターンを用いてもよい。
Ｍ．  Ｍａｒｕｙａｍａ  ａｎｄ  Ｓ．  Ａｂｅ，  “Ｒａｎｇｅ  ｓｅｎｓｉｎｇ  ｂｙ  ｐｒｏｊｅｃｔｉｎｇ  ｍｕｌｔｉｐｌｅ  ｓｌｉｔｓ  ｗｉｔｈ  ｒａｎｄｏｍ  ｃｕｔｓ，”  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，  ｖｏｌ．１５，  ｎｏ．６，  ｐｐ．６４７−６５１，  １９９３．
【０１１１】
さらには、三次元計測は一枚のパターンを照射・撮影して行う方法だけでなく、複数のパターンを照射・撮影してもよい。例えば線幅の異なる複数のバイナリパターンを照射・撮像した画像をもとに三次元計測を行う空間コード化法によって行ってもよい。また、複数のサイン波パターンを照射・撮像する位相シフト法によって行ってもよいし、空間コード化法と位相シフト法を組み合わせてもよい。以上述べたパターンは複数の平行な直線によって構成されるパターンである。これ以外にも、複数の平行な波線によって構成されるパターンなど直線以外でも方向性を有するパターンであれば他のパターンであってもよい。
【０１１２】
第１の実施形態においてユーザがカメラやパターンを選択する際にはＧＵＩ上のラジオボタンにより行っていた。しかしながら、カメラやパターンの選択方法はこれに限るものではなく、複数の候補の中から１つを選択する方法であればいかなる方法であってもよい。例えば、ラジオボタンではなくチェックボックスにより選択してもよいし、リストボックスやドロップダウンリストから選択してもよい。また図３に示すように、カメラを選択するＵＩと一緒に各カメラが撮像する画像を同時に提示してもよい。さらには、すでにパターンが設定済みのカメラと未設定のカメラが区別できるように表示されていてもよい。例えば、カメラの撮像画像が半透明になっていたり、ラジオボタンで選択不可能になっていたりしてもよい。
【０１１３】
第１の実施形態ではパターン情報保持部４０が保持する情報は、プロジェクタが投影する２次元パターン画像であるとした。しかしながら、情報の保持方法はこれに限るものではなく、最終的に２次元パターン画像に変換できるものであればいかなる情報であってもよい。例えば、パターンの向き（角度）の情報であってもよい。パターンの向き（角度）の情報である場合には、ランタイムの三次元計測を行う際に向きに応じたパターン画像を生成し投影する。
【０１１４】
第１の実施形態では、プロジェクタに対する各カメラの相対位置姿勢が予めキャリブレーションされているとした。しかしながら、プロジェクタに対する各カメラの相対位置姿勢としではなく、プロジェクタに対する各カメラの相対位置姿勢を決定できれば他の方法によってキャリブレーション情報を保持しておいてもよい。例えば、１台のカメラとプロジェクタの相対的な位置及び姿勢と各カメラ間の相対的な位置及び姿勢という情報として保持しておいてもよい。
【０１１５】
第１の実施形態では、画像取得部７０は、カメラ選択部９０によって選択されたカメラが撮像した画像を三次元計測部８０に入力するものとした。しかしながら、カメラ選択部９０によって選択されたカメラ以外のカメラが撮像した画像を入力してもよい。その場合には、三次元計測部８０において選択されたカメラが撮像した画像のみを使うようにする。
【０１１６】
第１の実施形態では，カメラの識別情報は各カメラに固有の番号であるとした。しかしながら、各カメラの名前を表す文字列などカメラを一意に識別するための情報であればいかなる情報であってもよい。
【符号の説明】
【０１１７】
１０  投影部
３０  パターン情報設定部
４０  パターン情報保持部
５０  撮像部
７０  画像取得部
８０  三次元計測部
９０  カメラ選択部
１００  表示部
１１０  ユーザ操作取得部
１２０  操作部
【図１】
2019012070.tif 000003
【図２】
2019012070.tif 000004
【図３】
2019012070.tif 000005
【図４】
2019012070.tif 000006
【図５】
2019012070.tif 000007
【図６】
2019012070.tif 000008
【図７】
2019012070.tif 000009
【図８】
2019012070.tif 000010
【図９】
2019012070.tif 000011
【図１０】
2019012070.tif 000012
【図１１】
2019012070.tif 000013
【図１２】
2019012070.tif 000014
【図１３】
2019012070.tif 000015