(57)【要約】【課題】計測密度を下げることなく、三次元計測におけるカメラ‐プロジェクタ間の対応付けの曖昧性を低減し、三次元計測の精度を向上する。【解決手段】対象物の三次元計測に用いる投影パターンを生成するための情報処理装置であって、投影パターンを生成するための投影符号列を、予め取得された対象物の距離情報に基づいて決定する決定部と、決定部により決定された投影符号列に基づいて、投影パターンのパターン画像を生成する生成部と、を備える。【選択図】  図６
2013124884.tif 000002
【特許請求の範囲】
【請求項１】
対象物の三次元計測に用いる投影パターンを生成するための情報処理装置であって、
前記投影パターンを生成するための投影符号列を、予め取得された前記対象物の距離情報に基づいて決定する決定手段と、
前記決定手段により決定された投影符号列に基づいて、前記投影パターンのパターン画像を生成する生成手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記パターン画像が投影された前記対象物を撮影して画像を取得する撮影手段と、
前記画像から撮影パターンを抽出して撮影符号列を取得する取得手段と、
前記投影符号列と前記撮影符号列とを照合して対応付けを行う対応付け手段と、
前記対応付けに基づいて前記対象物の距離情報を計測する計測手段と、
を有する請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、予め取得された前記対象物の距離情報に基づいて、縦横２方向に対して１つずつの、２値以上の符号を用いた疑似乱数生成法によって縦横２次元の投影符号列を生成することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
決定手段と、生成手段とを備え、対象物の三次元計測に用いる投影パターンを生成するための情報処理装置の制御方法であって、
前記決定手段が、前記投影パターンを生成するための投影符号列を、予め取得された前記対象物の距離情報に基づいて決定する決定工程と、
前記生成手段が、前記決定工程で決定された投影符号列に基づいて、前記投影パターンのパターン画像を生成する生成工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項５】
請求項４に記載の情報処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、およびプログラムに関する。
【背景技術】
【０００２】
ＱＲコード（登録商標）のような所望の情報をエンコードした画像を生成する情報処理装置は、三次元形状計測装置や、デコードする撮影装置の位置姿勢推定装置等に用いられている。
【０００３】
このうち対象物体の三次元形状を計測する三次元形状計測装置は、産業分野における工場での部品検査、医学的な分野における生体の形状計測等、各分野において広く用いられている。特に非接触による計測方法は、対象物体が装置の接触によって変形、破損する恐れのある場合に有効である。
【０００４】
三次元形状計測法として種々の手法が提案されている。このうち代表的な手法として空間符号化法が挙げられる。空間符号化法は、計測台上の計測対象物に対して符号化されたパターンをプロジェクタによって投影し、計測対象物からの反射光を撮影し、撮影画像からパターンを復号化することにより、投影パターン画像とカメラ画像との同じ点に対応する一対の点（対応点）の位置を各画像中で求める。対応点の位置から、三角測量の原理により計測対象物の表面における三次元形状（凹凸の位置）を得ることができる。この時符号化に用いる情報としては、時系列的な複数のパターン光の組み合わせで符号化する方法と、空間的な複数のパターン光の組み合わせで符号化する方法とがある。
【０００５】
空間的な複数のパターン光の組み合わせで符号化する方法として、非特許文献１では、方向が異なる２つの直線の交点によって特徴付けられたパターンをプロジェクタによって被写体に投影し、カメラでその反射光を撮影することによって三次元形状計測を行う例が示されている。具体的な手順を下記に述べる。最初に、計測に用いるマルチライン（ベースパターン）と、ベースパターンを横切るような、方向の異なるライン（コードライン）を投影パターン画像として生成し、プロジェクタにより被写体へ投影し、投影パターン画像が投影された被写体をカメラで撮影する。次にカメラ座標系でベースパターンとコードラインとの交点を求め、この交点を通過するエピポーラ線をプロジェクタ座標で求める。このとき予めカメラ‐プロジェクタのキャリブレーションで求めた基礎行列を用いてエピポーラ線を求める。それからプロジェクタ座標でエピポーラ線とコードラインとの交点を求め、この交点に一番近いベースパターンのラインを特定し、カメラ‐プロジェクタ間の対応付けを行う。最後に三角測量の原理により、ベースパターンの各点の三次元位置を求める。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｔｈｏｍａｓ Ｐ． Ｋｏｎｉｎｃｋｘ， Ａｎｄｒｅａｓ Ｇｒｉｅｓｓｅｒ，Ｌｕｃ Ｖａｎ Ｇｏｏｌ：“Ｒｅａｌ−ｔｉｍｅ Ｒａｎｇｅ Ｓｃａｎｎｉｎｇ ｏｆ Ｄｅｆｏｒｍａｂｌｅ Ｓｕｒｆａｃｅｓ ｂｙ Ａｄａｐｔｉｖｅｌｙ Ｃｏｄｅｄ Ｓｔｒｕｃｔｕｒｅｄ Ｌｉｇｈｔ”， Ｐｒｏｃ. ＩＥＥＥ Ｉｎｔ’ｌ Ｃｏｎｆ． ３−Ｄ Ｄｉｇｉｔａｌ Ｉｍａｇｉｎｇ ａｎｄ Ｍｏｄｅｌｉｎｇ, ｐｐ ２９３−３０２, ２００３
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１では、物体の形状によって、エピポーラ線とコードラインとの交点の位置が曖昧になり、一番近いベースパターンのラインを特定することができないことがある。この理由から撮影画像に写るベースパターンのライン群の幅の中央値が規定値以下ならば、次の撮影時にベースパターンのライン幅を大きくすることにより交点を特定しやすくし、対応付けの曖昧性を解消している。
【０００８】
そのため、非特許文献１ではベースパターンのライン幅を大きくすることに起因して表示できるラインの本数が減り、三次元計測の計測密度が低下してしまうという課題がある。
【０００９】
上記の課題に鑑み、本発明は、計測密度を下げることなく、三次元計測におけるカメラ‐プロジェクタ間の対応付けの曖昧性を低減し、三次元計測の精度を向上することを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成する本発明に係る情報処理装置は、
対象物の三次元計測に用いる投影パターンを生成するための情報処理装置であって、
前記投影パターンを生成するための投影符号列を、予め取得された前記対象物の距離情報に基づいて決定する決定手段と、
前記決定手段により決定された投影符号列に基づいて、前記投影パターンのパターン画像を生成する生成手段と、
を備えることを特徴とする情報処理装置。
【発明の効果】
【００１１】
本発明によれば、計測密度を下げることなく、三次元計測におけるカメラ‐プロジェクタ間の対応付けの曖昧性を低減し、三次元計測の精度を向上することができる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態における三次元形状計測装置の全体構成を示す図。
【図２】投影パターン画像の生成に使用する投影符号列を示す図。
【図３】投影符号列の部分符号列を示す図。
【図４】三角測量による距離計測の原理説明図。
【図５】投影パターン画像を示す図。
【図６】第１実施形態における三次元形状計測装置の処理手順を示すフローチャート。
【図７】（ａ）撮影画像７０１を示す図、（ｂ）撮影画像から抽出された撮影点列７０２を示す図。
【図８】撮影符号列８０１を示す図。
【図９】撮影符号列を一部拡大した様子を示す図。
【図１０】ステップＳ１００１における処理の手順を示すフローチャート。
【図１１】第２実施形態における三次元形状計測装置の全体構成を示す図。
【図１２】第２実施形態における三次元形状計測装置の処理手順を示すフローチャート。
【図１３】ステップＳ１２０２における処理の手順を示すフローチャート。
【図１４】第３実施形態における処理の手順を示すフローチャート。
【図１５】距離計測範囲を決定する際の幾何関係を示す図。
【図１６】投影パターン画像のシンボルの間隔を示す図。
【発明を実施するための形態】
【００１３】
（第１実施形態）
図１を参照して、第１実施形態に係る情報処理装置の構成を説明する。第１実施形態に係る三次元形状計測装置は、投影部１と、撮影部２と、制御・計算処理部３とを備える。投影部１は、パターン光を計測対象物４に投影する。撮影部２は、パターン光が投影された計測対象物４を撮影する。制御・計算処理部３は、投影部１の動作と撮影部２の動作とを制御し、撮影された画像データに基づいて、計測対象物４の三次元形状を計測する。
【００１４】
投影部１は、光源１１と、照明光学系１２と、表示素子１３と、投影光学系１４とを備える。光源１１は、ハロゲンランプ、ＬＥＤなど各種の発光素子である。照明光学系１２は、光源１１から照射された光を表示素子１３へと導く機能を持つ光学系である。表示素子１３は、照明光学系１２から導かれた光をさらに投影光学系１４に導く際に、透過率、または、反射率を空間的に制御する機能を持つ。投影光学系１４は、表示素子１３から導かれた光を計測対象物４の特定位置に結像させるように構成された光学系である。
【００１５】
撮影部２は、撮影レンズ２１と、撮影素子２２とを備える。撮影レンズ２１は、計測対象物４の特定位置を撮影素子２２上に結像させるよう構成された光学系である。撮影素子２２は、ＣＭＯＳセンサ、ＣＣＤセンサなど各種光電変換素子である。また撮影部２の位置・姿勢は、撮影素子２２上の画像座標系におけるｘ軸と、投影部１、撮影部２の２つの光軸中心位置がなす直線とが平行になるように調整されている。
【００１６】
制御・計算処理部３は、投影識別子生成部３１と、パターン光生成部３２と、撮影画像取得部３３と、パターン抽出部３４と、撮影識別子取得部３５と、距離情報計算部３６と、パラメータ記憶部３７とを備える。
【００１７】
制御・計算処理部３のハードウェアは、ＣＰＵ、メモリ、ハードディスクなどの記憶装置、入出力用の各種インタフェース等を具備する汎用のコンピュータ（ハードウェア）で構成される。また、制御・計測処理部３のソフトウェアは、本実施形態に係る三次元形状計測装置の動作をコンピュータに実行させるパターン光生成プログラムおよび距離計測プログラム等を実行する。前述したパターン光生成プログラムおよび距離計測プログラムをＣＰＵで実行することにより、投影識別子生成部３１、パターン光生成部３２、撮影画像取得部３３、パターン抽出部３４、撮影識別子取得部３５、距離情報計算部３６、およびパラメータ記憶部３７、の各処理部の処理を実現している。
【００１８】
投影識別子生成部３１は、本実施形態では、過去に取得した三次元計測情報に基づいて、投影符号列の中で唯一決定づける特徴を示す部分投影符号列の形状や大きさを決定し、また、図２に示すような番号１、２、３の符号からなる投影符号列を生成する。それぞれ、番号１は赤に対応し、番号２は緑に対応し、番号３は青に対応している。
【００１９】
パターン光生成部３２は、本実施形態では、投影符号列の、１、２、３の符号を、それぞれ図５に示すような対応する赤、緑、青の点列にシンボル化した画像として生成する。また必要に応じて、ＤＶＩのような汎用的なディスプレイ用インタフェースを介して当該シンボル化した画像を投影部１に出力する。
【００２０】
撮影画像取得部３３は、撮影部２で標本化ならびに量子化されたデジタルの画像信号を取り込む。さらに、取り込んだ画像信号から各画素の輝度値（濃度値）で表される画像データを取得してパラメータ記憶部３７に記憶する機能を有している。またＲＳ２３２ＣやＩＥＥＥ４８８などの汎用の通信インタフェースを介して撮影部２の動作（撮影のタイミングなど）を制御する機能を有する。
【００２１】
パターン抽出部３４は、撮影画像取得部３３により得られた画像データから、計測対象物４上で投影パターン画像が照射された部分である撮影点列のみを抽出する。
【００２２】
撮影識別子取得部３５は、パターン抽出部３４により抽出された撮影点列から、各色に対応した各点の符号を撮影符号列として取得する。
【００２３】
距離情報計算部３６は、投影符号列の中で唯一決定づける特徴を示す部分投影符号列の形状から、投影画像と撮影画像との対応付けを行う。さらに対応付けが行われた撮影点列を用いて、三角測量の原理を用いて、撮影部２と、投影パターン画像が投影された計測対象物４との間の距離を示す距離情報、すなわち形状を計算する。
【００２４】
パラメータ記憶部３７は、三次元的な距離を算出するのに必要なパラメータや、距離情報を記憶する。パラメータとしては、投影部１および撮影部２の各機器パラメータ、投影部１および撮影部２の内部パラメータ、投影部１および撮影部２の外部パラメータがある。機器パラメータは、表示素子１３の画素数、撮影素子２２の画素数などである。投影部１および撮影部２の内部パラメータは、焦点距離、画像中心、ディストーションによる画像歪みの係数などである。投影部１および撮影部２の外部パラメータは、投影部１と撮影部２との相対位置関係を表す並進行列と回転行列である。
【００２５】
本実施形態において、投影識別子生成部３１により生成される投影符号列は、図２に示すようにｕ、ｖ各方向の縦横２次元で構成されており、以下に述べる規則を用いて符号化されている。すなわち、予め取得された対象物の距離情報に基づいて、縦横２方向に対して１つずつの、２値以上の符号を用いた疑似乱数生成法によって縦横２次元の投影符号列を生成する。本実施形態では、ｕ方向、ｖ方向で１つずつ、計縦横２方向で２つのｄｅ Ｂｒｕｉｊｎ系列を選択する。
【００２６】
ｄｅ Ｂｒｕｉｊｎ 系列とは、周期ｌの数列であって、連続するｍ個を見ると周期の中でどのパターンも一つのみ表れるものである。ｄｅ Ｂｒｕｉｊｎ系列の選択は、投影パターン画像として使用できるシンボルの数をｋとして、サンプリング形状を囲む矩形の大きさをｍ×（ｎ＋１）とすると、ｕ方向のｄｅ Ｂｒｕｉｊｎ系列はｌｕ＝ｋｍのものを、ｖ方向はｌｖ＝ｋｎのものをそれぞれ選択する。本実施形態では、３つの色をシンボルとして使用するため、ｋ＝３である。また、部分符号列の形状は、全て大きさ３×３の矩形で囲まれるため、ｍ＝３、ｎ＝２となる。本実施形態のｕ方向で用いるｋ＝３、 ｍ＝３（系列長３３＝２７）のｄｅ  Ｂｒｕｉｊｎ系列は、以下に示す数列となる。
【００２７】
【数１】
2013124884.tif 000003
【００２８】
同様に、本実施形態のｖ方向で用いるｋ＝３、 ｎ＝２(系列長３２＝９)のｄｅ  Ｂｒｕｉｊｎ系列を以下に示す。
【００２９】
【数２】
2013124884.tif 000004
【００３０】
次に、上記２つのｄｅ  Ｂｒｕｉｊｎ系列を用いた投影符号列の生成方法について述べる。生成される投影符号列ｆｉｊは、式（３）のように最初にｕ方向ｉ＝１行目として、ｕ方向のｄｅ  Ｂｒｕｉｊｎ系列をそのまま投影符号列として使用する。
【００３１】
【数３】
2013124884.tif 000005
【００３２】
ｕ方向２行目以降は、以下に示すような式（４）で表わされる。
【００３３】
【数４】
2013124884.tif 000006
【００３４】
１つ前の行に対して、ｕ方向のｄｅ  Ｂｒｕｉｊｎ系列を加算した結果を符号列とする。ここで、加算結果は１〜ｋで表されるｋ進数で表し、繰り上がりは無視する。以上のように、全てのｕ方向のｄｅ  Ｂｒｕｉｊｎ系列を１列ずつ加算して符号列を求めていくことにより、図２に示すようなｕ、ｖ各方向２次元の投影符号列を生成することが出来る。
【００３５】
以上の方法で生成した投影符号列は、図３に示すように、投影符号列内のｍ×ｎの大きさを持つ任意の位置にある矩形で囲まれる領域内で、所定のある行とある列とを固定した式（５）のような順序でサンプリングしたｍ、ｎの長さの部分符号列は、投影符号列の中で一つしか存在しない性質を有する。ｉおよびｊは符号サンプリングの座標を示す。
【００３６】
【数５】
2013124884.tif 000007
【００３７】
ただし式（５）は図３に示すようにサンプリング形状が十字状であるときの順序である。サンプリングする長さに応じ、サンプリング形状を変更し、任意の順序でサンプリングしても良い。
【００３８】
図４を参照して、距離情報計算部３６により行われる三角測量法による距離計測の原理を説明する。撮影部２の光学中心をＣｃ、画像平面をＩｃ、焦点距離をｆｃ、画像中心ｃｃのピクセル座標を（ｕｃｏ、ｖｃｏ）、撮影素子２２の画素サイズをＰｓｃとすると、撮影部２の内部行列Ａｃは以下の式（６）のように記述される。
【００３９】
【数６】
2013124884.tif 000008
【００４０】
また、投影部１の光学中心をＣｐ、画像平面をＩｐ、焦点距離をｆｐ、画像中心ｃｐのピクセル座標を（ｕｐｏ、ｖｐｏ）、表示素子１３の画素サイズをＰｓｐとすると、投影部１の内部行列Ａｐは以下の式（７）のように記述される。
【００４１】
【数７】
2013124884.tif 000009
【００４２】
撮影部２の内部行列Ａｃと投影部１の内部行列Ａｐは公知の技術である内部パラメータのキャリブレーション方法を用いることにより算出される。
【００４３】
撮影部２のカメラ座標系ＸＹＺと投影部１のカメラ座標系ＸｐＹｐＺｐとの間の相対位置関係を表す外部パラメータは、回転行列Ｒと並進行列Ｔである。回転行列Ｒは３×３の行列であり、並進行列Ｔは３×１の行列である。回転行列Ｒと並進行列Ｔとは公知の技術である外部パラメータのキャリブレーション方法を用いることにより算出される。
【００４４】
撮影部２のカメラ座標系を原点とする三次元空間中の点Ｍの座標を（Ｘ、Ｙ、Ｚ）とする。点Ｍを撮影部２の画像平面Ｉｃに射影した点ｍｃのピクセル座標を（ｕｃ、ｖｃ）とする。その対応関係は以下の式（８）で記述される。
【００４５】
【数８】
2013124884.tif 000010
【００４６】
ここでｓはスカラーである。また、同一点Ｍを投影部１の画像平面Ｉｐに射影した点ｍｐのピクセル座標を（ｕｐ、ｖｐ）とする。その対応関係は以下の式（９）で記述される。
【００４７】
【数９】
2013124884.tif 000011
【００４８】
ここでｓ´はスカラーである。上記の式（８）、式（９）を展開すると以下の式（１０）で示す４つの連立方程式ができる。
【００４９】
【数１０】
2013124884.tif 000012
【００５０】
点ｍｃのピクセル座標（ｕｃ、ｖｃ）と点ｍｐのピクセル座標（ｕｐ、ｖｐ）とは空間符号化法などのパターン投影法を用いることにより求められる。また、Ｃｉｊ（Ｉ＝１〜３、ｊ＝１〜３）、Ｐｉｊ（Ｉ＝１〜３、ｊ＝１〜３）は内部行列と外部パラメータとから算出されるため、予めキャリブレーションにより求められている。式（９）において点Ｍの座標値（Ｘ、Ｙ、Ｚ）のみが未知数であり、連立方程式を解くことでこれを求めることができる。なお、求める未知数である点Ｍの座標値は（Ｘ、Ｙ、Ｚ）の３つであるため、投影部１のピクセル座標値（ｕｐ、ｖｐ）のいずれか一方を求めれば、点Ｍの座標値を算出することができる。以上が三角測量法に基づく距離計測の原理である。
【００５１】
図６のフローチャートを参照して、第１実施形態における三次元形状計測装置の処理手順を説明する。
【００５２】
ステップＳ６０１において、投影識別子生成部３１は、予め取得した距離情報に基づいてサンプリングの大きさｍ、ｎを決定し、ｄｅ  Ｂｒｕｉｊｎ系列に従って投影符号列を生成する。予め取得された距離情報に基づいてサンプリングの大きさｍ、ｎを決定する処理については図１０を参照して後述する。
【００５３】
ステップＳ６０２において、パターン光生成部３２は、投影パターン画像を生成する。生成される投影パターン画像は図５に示すように、赤、緑、青の３色に着色され、縦横に規則的に配置された点列で構成されている。この赤、緑、青の点列は、投影符号列を表現するシンボルとして作用し、並ぶ順序は、図２に示す投影符号列を用いて決められている。ここでは、パターン光生成部３２は、投影符号列の１を赤、２を緑、３を青としてそれぞれ投影パターン画像に割り当てて、投影パターン画像を生成する。
【００５４】
ステップＳ６０３において、投影部１は、ステップＳ６０２で生成された投影パターン画像を計測対象物４へ投影する。
【００５５】
ステップＳ６０４において、撮影部２は、投影パターン画像が投影された計測対象物４を撮影する。撮影画像取得部３３は、撮影部２で標本化ならびに量子化されたデジタルの画像信号を取り込む。図７（ａ）に示すような、中央部の投影符号列が部品によって歪んだ撮影画像７０１が取得される。
【００５６】
ステップＳ６０５において、パターン抽出部３４は、ステップＳ６０４で生成された撮影画像７０１内から、図７（ｂ）に示すように計測対象物４上に照射された投影パターン画像に相当する撮影パターンである、撮影点列７０２を抽出する。パターン抽出部３４は、本実施形態では、赤、緑、青の各色で一定以上の輝度の領域を抽出することにより撮影点列７０２を抽出する。なお、抽出した全ての色情報は保持しておく。また、単一の色を持つ１つの連続領域を単位撮影点として扱い、撮影点ごとに撮影画像における座標系ｘｙ上の２次元位置を保持しておく。
【００５７】
ステップＳ６０６において、撮影識別子取得部３５は、ステップＳ６０５で抽出された撮影点列７０２に付加されている撮影符号列を取得する。
【００５８】
具体的には、撮影識別子取得部３５は、ステップＳ６０１において各色の点をシンボルとして割り当てた符号を、逆に復号する。つまり、赤は１、緑は２、青は３として撮影符号列を取得する。そして、撮影符号列を構成する単位撮影符号について、復元された符号と、対応する撮影点の投影パターン上における座標ｕｖの２次元位置とを保持しておく。図８に、復号された撮影符号列８０１を示す。次に、各撮影符号同士の上下左右に存在する、隣接符号との隣接関係を復元する。図９に復号された撮影符号列８０１の一部を拡大した様子を示す。例として、図９における注目撮影符号９０１における隣接関係を復元する。撮影部２の位置・姿勢は、撮影部２上の画像座標系におけるｘ軸と、投影部１および撮影部２の２つの光軸中心位置がなす直線とがほぼ平行になるよう調整されているため、撮影点列は全てｘ軸に対してほぼ平行に撮影されている。従って、撮影符号列同士のｘ方向の接続関係は容易に復元できる。最初に、注目撮影符号９０１のｘ方向すなわち左右に存在する最近傍の符号を隣接する符号として探索する。次に、ｙ方向すなわち上下の隣接関係を探索する。この時、ｙ方向はｙ軸に対して平行ではなく、ｘ方向にオフセットを持った状態で隣接符号が存在するため、ｘ方向に探索範囲９０２を設けて、この幅の範囲内で隣接符号を探索する。本実施形態においては、上記の手順により注目撮影符号、および、その周辺の符号、ｘ方向にｍ個、ｙ方向にｎ個、計ｍ×ｎ個を部分撮影符号列とし、その結果を各撮影符号単位で保持しておく。
【００５９】
ステップＳ６０７において、距離情報計算部３６は、ステップＳ６０６で撮影符号列取得部３５により得られた撮影符号列を走査し、当該撮影符号列と、後述する投影符号列テーブルＰとの照合を行う。照合ができたら投影パターン画像と撮影画像との対応付けを行い、対応付け位置を計算して、ステップＳ６０８へ進む。照合ができない場合は対応付け計算を行わず、ステップＳ６０８へ進む。本実施形態においては、注目撮影符号およびその周辺の符号、ｘ方向にｍ個、ｙ方向にｎ個、計ｍ×ｎ個の部分撮影符号列を走査し、撮影符号列と、投影符号列テーブルＰとの照合に用いる。
【００６０】
ステップＳ６０８において、距離情報計算部３６は、ステップＳ６０７における対応付け計算処理が全ての部分符号列について実行されたか否かを判定する。全ての部分符号列で対応付け計算が実行されたと判定された場合（Ｓ６０８；ＹＥＳ）、ステップＳ６０９へ進む。一方、対応付け計算を行っていない部分符号列が存在すると判定された場合（Ｓ６０８；ＮＯ）、ステップＳ６０７に戻る。
【００６１】
ステップＳ６０９において、距離情報計算部３６は、ステップＳ６０７で対応付けができた撮影点が保持している投影パターン画像および撮影画像のそれぞれの２次元座標から、三角測量の原理により、計測対象物４の三次元形状を計測する。
【００６２】
ステップＳ６１０において、距離情報計算部３６は、例えば、三次元形状の計測が完了してから所定時間内にユーザから計測終了の指示を受けたか否かに基づいて、計測を終了するか否かを判定する。なお、ユーザからの計測終了の指示の有無ではなく、所定回数計測を行ったか否かにより計測終了か否かを判定してもよい。計測を終了すると判定された場合（Ｓ６１０；ＹＥＳ）、処理を終了する。一方、計測を終了しないと判定された場合（Ｓ６１０；ＮＯ）、Ｓ６１１へ進む。
【００６３】
ステップＳ６１１において、距離情報計算部３６は、パラメータ記憶部３７に計測した距離情報を保存する。その後、Ｓステップ６０１へ戻る。
【００６４】
次に図１０のフローチャートを参照して、Ｓ６０１での予め取得した距離情報に基づいてサンプリングの大きさｍ、ｎを決定する処理の手順を説明する。
【００６５】
ステップＳ１００１において、投影識別子生成部３１は、現在の計測が１回目であるか否かを判定する。１回目の計測であると判定された場合（Ｓ１００１；ＹＥＳ）、ステップＳ１００５へ進む。一方、１回目の計測でないと判定された場合（Ｓ１００１；ＮＯ）ステップＳ１００２へ進む。
【００６６】
ステップＳ１００２において、投影識別子生成部３１は、現在の計測が２回目であるか否かを判定する。２回目の計測であると判定された場合（Ｓ１００２；ＹＥＳ）、ステップＳ１００７へ進む。一方、２回目の計測でないと判定された場合（Ｓ１００２；ＮＯ）ステップＳ１００３へ進む。
【００６７】
ステップＳ１００３において、投影識別子生成部３１は、パラメータ記憶部３７に記憶されているｉ−１回目、ｉ−２回目に計測された距離情報同士の差を求め、差の絶対値の和Ｄを計算する。ステップＳ１００４において、投影識別子生成部３１は、ステップＳ１００３で求めた差の絶対値の和Ｄが予め定められた閾値ＤＴ以下であるか否かを判定する。ＤがＤＴ以下であると判定された場合（Ｓ１００４；ＹＥＳ）、ステップＳ１００７へ進む。一方、ＤがＤＴを超えると判定された場合（Ｓ１００４；ＮＯ）、ステップＳ１００６へ進む。
【００６８】
ステップＳ１００５において、投影識別子生成部３１は、サンプリングの大きさｍ、ｎにそれぞれ任意の初期値を与える。本実施形態ではｍ、ｎにそれぞれ３、２を初期値として与える。その後、ステップＳ１００８へ進む。ステップＳ１００６において、投影識別子生成部３１は、前回のサンプリングの大きさ、ｍ、ｎにそれぞれ１を加算する。その後、ステップＳ１００８へ進む。
【００６９】
ステップＳ１００７において、投影識別子生成部３１は、前回のサンプリングの大きさｍ、ｎから１を減算する。なお部分符号列の長さｍ、ｎはそれぞれ、ｍ＝１、ｎ＝１になるまでは減算可能である。その後、ステップＳ１００８へ進む。
【００７０】
ステップＳ１００８において、投影識別子生成部３１は、ステップＳ１００５、ステップＳ１００６、またはステップＳ１００７で決定された部分符号列の長さｍ、ｎに応じて、投影符号列テーブルＰを生成して、処理を終了する。投影符号列テーブルＰは、投影符号列を各ｕ、ｖの２次元位置において長さｍ、ｎでサンプリングした場合の符号列の値を格納したものである。後述するように、この投影符号列テーブルＰを使用することで、煩雑な計算を行うことなく、簡易に投影符号列と撮影符号列との対応付け計算が行うことができる。
【００７１】
以上説明したように、第１実施形態に係る情報処理装置は、投影パターンの生成に用いるための投影符号列（例えばｄｅ Ｂｒｕｉｊｎ系列）を構成する部分投影符号列（ｍ×ｎのサンプリング符号列）を、予め取得した対象物の距離情報に基づいて決定する。また、部分投影符号列に基づいて投影パターンを生成して対象物へ投影する。そして、投影パターンが投影された画像から撮影パターンを抽出して撮影符号列（例えばｄｅ Ｂｒｕｉｊｎ系列）を取得する。そして撮影符号列を構成する部分撮影符号列（ｍ×ｎのサンプリング符号列）を取得する。部分投影符号列と部分撮影符号列とを照合して対応付けを行い、当該対応付けに基づいて対象物の距離情報を計測する。
【００７２】
以上の処理により、従来手法では計測密度を変えて三次元計測を行っていたのに対し、本実施形態によって計測密度を変えることなく、一意に対応付けができる三次元計測が可能となる。また距離情報に基づき、対応付けに必要な連続面を小さくすることで、複雑な形状の被写体においても、従来手法と比較してよりロバストな三次元計測が可能となる。また部分符号列の長さを短くするほど計算負荷を低減できるため、距離情報を用いて部分符号列の長さの削減を適宜行うことにより、撮影可能な計測対象物の計測精度さと処理速度とのバランスを取ることができる。
【００７３】
また本実施形態では、１回目の計測は対応付けに必要な面（ｍ×ｎ）を大きくして粗く計測し、２回目以降は前回の計測結果から徐々に対応付けに必要な面を小さくし、細かく計測を行うなど、複数回の計測によって複雑な形状を持つ物体をより詳細に計測できる。さらに計測対象物や撮影部・投影部の奥行きの微小なずれに対しても、対応付けに必要な面を変化させることで対応できる。
【００７４】
なお、ステップＳ６０１における投影識別子生成部３１による投影符号列の生成は、必ずしも処理ごとにやり直す必要はない。一度生成した投影符号列をパラメータ記憶部３７に格納しておき、次に必要になった場合には当該パラメータ記憶部３７から読み出すようにしても良い。撮影する被写体が限定されており、最適な投影パターン画像が事前に決定しているような場合には、このような構成によって処理を省略し、処理の高速化を図ることができる。
【００７５】
また、ステップＳ６０２におけるパターン光生成部３２による投影パターン画像の生成は、同様に、必ずしも処理ごとにやり直す必要はない。一度生成した投影パターン画像を、パラメータ記憶部３７に格納しておき、次に必要になった場合には当該パラメータ記憶部３７から読み出すようにしても良い。撮影する被写体が限定されており、最適な投影パターン画像が事前に決定しているような場合には、このような構成によって処理を省略し、処理の高速化を図ることができる。
【００７６】
また、本実施形態においては、投影パターン画像に使用するシンボルを赤、青、緑の色を用いているが、計測対象物の性質によっては別の色を用いてもよい。また色ではなく固有のパターン形状や輝度階調を符号としてシンボルに割り当ててもよい。
【００７７】
また、本実施形態においては、投影パターン画像に使用するシンボルを赤、青、緑の３種類としている。そのため、投影符号列を生成するｄｅ  Ｂｒｕｉｊｎ系列は３値である。これらの数値も、投影パターン画像に使用できるシンボルの種類や、計測対象物の性質によって適宜３種類以上に変更しても良い。使用するシンボル数が増大すると、より投影符号列全体のサイズを大きくして撮影可能な範囲を拡大させることもできる。
【００７８】
また、本実施形態においては、部分符号列の大きさを定義づけるものとして、ｉ−１回目とｉ−２回目に計測した各距離情報同士の差を求め、差の絶対値の和Ｄを計算し、その結果を用いていた。それ以外に定義づけるものとして、距離情報の平均値の差、分散値の差、中央値の差など距離計算結果の代表値を用いても良い。
【００７９】
また、本実施形態のように、必ずしも投影符号列としてｄｅ  Ｂｒｕｉｊｎ系列を使用する必要はない。モノクロのプロジェクタで投影パターン画像を投影する場合など、２種類しかシンボルが使用できない場合には、０、１の２値符号から形成されるＭ系列を投影符号列として使用しても良い。Ｍ系列を使用する場合は、部分符号列の長さをｍ×（ｎ＋１）として、ｕ方向とｖ方向に、それぞれｍ次とｎ次の２種類のＭ系列を選択し、２進数の和の計算を行うことで、同様に投影符号列を生成すればよい。Ｍ系列を使用する場合には、部分符号列が相対的に長くなるものの、シンボル数は２種類で済み、高密度な投影パターン画像での投影が可能となる。
【００８０】
また、本実施形態では、サンプリングの大きさｍ、ｎの決定に、過去に計測した情報を用いていたが、必ずしも距離情報を用いる必要はない。距離情報から３ＤＣＡＤデータにモデルフィッティングした結果など、距離情報を加工したデータを用いてもよい。加工したデータの変化値に基づいて、ステップＳ１００４の判定処理を行い、識別子を変化させても良い。
【００８１】
本実施形態によれば、パターンを投影して、被写体からの反射パターンを撮影し、三角測量の原理で距離情報を取得する三次元計測手法において、事前情報をもとに撮影画像に写るパターンの識別をするときに、事前情報の精度によって計測密度を変えることなく、計測可能面積を変更することによって一意に対応付けができる。すなわち事前の距離情報がある場合には、計測可能最小面積を小さくすることができる。
【００８２】
（第２実施形態）
図１１を参照して、第２実施形態に係る情報処理装置の構成を説明する。第１実施形態と同じ処理部には同じ参照番号が付されており、説明を省略する。第１実施形態との相違点は、距離情報計測装置５による距離情報を使用する点である。
【００８３】
図１２のフローチャートを参照して、第２実施形態における情報処理装置の処理手順を説明する。
【００８４】
ステップＳ１２０１において、パラメータ記憶部３７は、距離情報計測装置５により計測された距離情報を取得して保存する。
【００８５】
ステップＳ１２０２において、投影識別子生成部３１は、取得された距離情報に基づいてサンプリングの大きさｍ、ｎを決定し、ｄｅ  Ｂｒｕｉｊｎ系列に従って投影符号列を生成する。距離情報計測装置５により計測された距離情報に基づいてサンプリングの大きさｍ、ｎを決定する処理については、図１３を参照して後述する。
【００８６】
ステップＳ６０２からステップＳ６０９までの各処理は、第１実施形態と同様であるため説明を省略する。
【００８７】
ステップＳ１２０３において、距離情報計算部３６は、第１実施形態と同様に、計測を終了するか否かを判定する。計測を終了すると判定された場合（Ｓ１２０３；ＹＥＳ）、処理を終了する。一方、計測を終了しないと判定された場合（Ｓ１２０３；ＮＯ）、Ｓ１２０１へ戻る。
【００８８】
次に、図１３のフローチャートを参照して、距離情報計測装置５により計測された距離情報に基づいて、ステップＳ１２０２でのサンプリングするｍ、ｎの大きさを決定する処理の手順を説明する。
【００８９】
ステップＳ１３０１において、投影識別子生成部３１は、計測対象物４の表面において、連続的な奥行き位置である点群を検出して、その最小面積を計測する。
【００９０】
ステップＳ１３０２において、投影識別子生成部３１は、ステップＳ１３０１で計測された奥行きに連続な面の最小面積から部分符号列の長さｍ、ｎを決定する。例えば、その最小面積に最も近くなる値にｍ、ｎを決定する。
【００９１】
ステップＳ１３０３において、投影識別子生成部３１は、ステップＳ１３０２で決定された部分符号列の長さｍ、ｎに応じて、投影符号列テーブルＰを生成する。投影符号列テーブルＰは、投影符号列を各ｕ、ｖの２次元位置で長さｍ、ｎでサンプリングした場合の符号列の値を格納したものである。その後、処理を終了する。
【００９２】
本実施形態では、距離情報計測装置５は距離情報を出力するものであったが、必ずしも距離情報を出力する必要はない。３次元ＣＡＤデータにモデルフィッティングした結果を出力したり、これらの計測に基づいて制御するロボットアームの移動量を出力したりしてもよい。これにより、距離計測だけでなく、より精度のよいロボットの制御が可能となる。
【００９３】
本実施形態によれば、パターンを投影して、被写体からの反射パターンを撮影し、三角測量の原理で距離情報を取得する三次元計測手法において、事前情報をもとに撮影画像に写るパターンの識別をするときに、事前情報の精度によって計測密度を変えることなく、計測可能面積を変更することによって一意に対応付けができる。すなわち事前の距離情報がある場合には、計測可能最小面積を小さくすることができる。
【００９４】
（第３実施形態）
第３実施形態に係る情報処理装置の構成は、第１実施形態で説明した構成と同様であるため、説明を省略する。
【００９５】
投影パターンは、距離に応じてパターンの映る位置がずれ、パターンの特定に曖昧性が生じ、対応付けが困難になる。そこで、投影識別子生成部３１は、サンプリングの大きさｍ、ｎを、事前に計測した距離情報に基づく距離計測範囲によって決定し、対応付けを行う。本実施形態ではその決定方法について述べる。
【００９６】
図１４のフローチャートを参照して、予め取得した距離情報に基づいてサンプリングの大きさｍ、ｎを決定する処理の手順を説明する。
【００９７】
ステップＳ１４０１において、投影識別子生成部３１は、事前に取得した距離情報に基づいて、距離計測範囲を決定する。
【００９８】
図１５は、距離計測範囲を決定する際の幾何関係を示す。投影部１から観察した場合の事前に計測した計測対象物４の最も手前側までの距離と最も奥側までの距離との差をｄＬｐ、投影画像の画像中心から計測点への仰俯角をα、距離の差ｄＬｐによる三次元空間上におけるパターンのずれをｄｘとし、以下の式（１１）を用いて、三次元空間中の距離計測範囲ｄｘを求める。
【００９９】
【数１１】
2013124884.tif 000013
【０１００】
またこのｄｘをプロジェクタ座標に変換すると、式（１２）のように表される。
【０１０１】
【数１２】
2013124884.tif 000014
【０１０２】
ここで式（１２）において、ｆｐは投影部１の焦点距離、Ｌｐは事前に計測した距離の最も手前側の距離をパラメータ記憶部３７に保存してある投影部１および撮影部２の外部パラメータを用いて変換したものである。
【０１０３】
ステップＳ１４０２において、投影識別子生成部３１は、距離計測範囲にあるシンボルｍ、ｎを決定する。具体的には、投影パターン画像において、図１６に示すように、シンボルをｕ方向にｄｕ、ｖ方向にｄｖで配置したとき、式（１２）で求めた距離計測範囲内にシンボルが幾つあるかを式（１３）、式（１４）により求める。なお、この際にｍ、ｎに小数点以下が発生した場合は、切り上げを行い、整数値にする。
【０１０４】
【数１３】
2013124884.tif 000015
【０１０５】
【数１４】
2013124884.tif 000016
【０１０６】
ステップＳ１４０３において、投影識別子生成部３１は、Ｓ１４０２で決定された部分符号列の長さｍ、ｎに応じて、投影符号列テーブルＰを生成する。投影符号列テーブルＰは、投影符号列を各ｕ、ｖの２次元位置で長さｍ、ｎでサンプリングした場合の符号列の値を格納したものである。以上で処理を終了する。
【０１０７】
本実施形態では、ｄＬｐを投影部１から観察した場合の事前に計測した距離情報における計測対象物の最も手前側の距離と最も奥側の距離との差としたが、必ずしも距離情報を用いる必要はない。３次元ＣＡＤデータにモデルフィッティングし、計測対象物の最も手前側の距離と最も奥側の距離形状の差を用いてもよい。あるいは、これらの計測に基づいて制御するロボットアームの移動量を用いてもよい。これにより、距離計測だけでなく、より精度のよいロボットの制御が可能となる。
【０１０８】
本実施形態によれば、パターンを投影して、被写体からの反射パターンを撮影し、三角測量の原理で距離情報を取得する三次元計測手法において、事前情報をもとに撮影画像に写るパターンの識別をするときに、事前情報の精度によって計測密度を変えることなく、計測可能面積を変更することによって一意に対応付けができる。すなわち事前の距離情報がある場合には、計測可能最小面積を小さくすることができる。
【０１０９】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2013124884.tif 000017
【図２】
2013124884.tif 000018
【図３】
2013124884.tif 000019
【図４】
2013124884.tif 000020
【図５】
2013124884.tif 000021
【図６】
2013124884.tif 000022
【図７】
2013124884.tif 000023
【図８】
2013124884.tif 000024
【図９】
2013124884.tif 000025
【図１０】
2013124884.tif 000026
【図１１】
2013124884.tif 000027
【図１２】
2013124884.tif 000028
【図１３】
2013124884.tif 000029
【図１４】
2013124884.tif 000030
【図１５】
2013124884.tif 000031
【図１６】
2013124884.tif 000032
【手続補正書】
【提出日】平成24年9月25日(2012.9.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
ｄｅ Ｂｒｕｉｊｎ 系列とは、周期ｌの数列であって、連続するｍ個を見ると周期の中でどのパターンも一つのみ表れるものである。ｄｅ Ｂｒｕｉｊｎ系列の選択は、投影パターン画像として使用できるシンボルの数をｋとして、サンプリング形状を囲む矩形の大きさをｍ×（ｎ＋１）とすると、ｕ方向のｄｅ Ｂｒｕｉｊｎ系列はｌｕ＝ｋｍのものを、ｖ方向はｌｖ＝ｋｎのものをそれぞれ選択する。本実施形態では、３つの色をシンボルとして使用するため、ｋ＝３である。また、部分符号列の形状は、全て大きさ３×３の矩形で囲まれるため、ｍ＝３、ｎ＝２となる。本実施形態のｕ方向で用いるｋ＝３、 ｍ＝３（系列長３＾３＝２７）のｄｅ  Ｂｒｕｉｊｎ系列は、以下に示す数列となる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
同様に、本実施形態のｖ方向で用いるｋ＝３、 ｎ＝２(系列長３＾２＝９)のｄｅ  Ｂｒｕｉｊｎ系列を以下に示す。