(57)【要約】  投影光により投影光学系を介して２次元パターンが投影された計測対象物（４）を、カメラ（２）により撮像して得られた画像データと、計測対象物（４）の奥行きに対応付けられて予め取得された参照画像データ群とを、比較することにより計測対象物（４）の奥行きを推定する３次元計測システム（１００）である。２次元パターンは投影光学系に設けられた符号化開口パターンを介して計測対象物（４）に投影される。計測対象物（４）の奥行きは、投影光学系と撮像手段の計測対象物（４）に対する視差に基づく画像マッチングを行うステレオ法と、計測対象物（４）の画像データにおける符号化開口パターンの光軸方向のボケに基づくＤｆＤ法の双方を適用した画像処理により推定される。
2016186211.tif 000002
【特許請求の範囲】
【請求項１】
投影光により投影光学系を介して２次元パターンが投影された計測対象物を、撮像手段により撮像して得られた画像データと、前記計測対象物の奥行きに対応付けられて予め取得された参照画像データ群とを、比較することにより前記計測対象物の奥行きを推定する３次元計測システムであって、
前記２次元パターンは前記投影光学系に設けられた符号化開口パターンを介して前記計測対象物に投影されるとともに、
前記計測対象物の奥行きは、前記投影光学系と前記撮像手段の前記計測対象物に対する視差に基づく画像マッチングを行うステレオ法と、前記計測対象物の画像データにおける前記符号化開口パターンの光軸方向のボケに基づくＤｆＤ法の双方を適用した画像処理により推定されることを特徴とする３次元計測システム。
【請求項２】
前記参照画像データ群は、前記撮像手段により撮像して得られた画像データまたはシミュレーションにより算出された画像データである、
ことを特徴とする請求項１に記載の３次元計測システム。
【請求項３】
前記参照画像データ群は、前記投影光の光軸上の複数の位置に２次元平面を置いたときにそれぞれ前記撮像手段で撮像して得られた前記２次元平面の画像データを含む、
ことを特徴とする請求項２に記載の３次元計測システム。
【請求項４】
前記２次元平面は、前記投影光学系の光軸に直交している、
ことを特徴とする請求項３に記載の３次元計測システム。
【請求項５】
前記参照画像データ群は、
前記投影光学系の光軸に斜交する２次元平面を、前記光軸に対して複数の異なる角度でそれぞれ置いたときに得られる２次元斜面の画像データを含む、
ことを特徴とする請求項３に記載の３次元計測システム。
【請求項６】
前記２次元斜面の画像データは、
撮像部により撮像される前記２次元平面の参照画像データを部分的に合成することにより、作成される、
ことを特徴とする請求項５に記載の３次元計測システム。
【請求項７】
前記画像マッチングは、マッチング窓を用いて行われる、
ことを特徴とする請求項１に記載の３次元計測システム。  
【請求項８】
前記２次元パターンは複数の異なる投影パターンを有し、
前記２次元パターンを構成する第１の投影パターンにより逆畳み込み演算を行わずに奥行き方向の探索範囲を決定するとともに、
前記２次元パターンを構成し、前記第１の投影パターンとは異なる第２の投影パターンにより、前記探索範囲において逆畳み込み演算を行うことによる画像の階層的復元法を用いて前記計測対象物の奥行きを推定する、
ことを特徴とする請求項１から請求項７のいずれか一項に記載の３次元計測システム。    
【請求項９】
前記２次元パターン及び前記符号化開口パターンの組み合わせは、光学的に同じ方向に並ぶラインパターン列同士、２次元状に配列されたドットパターン同士、前記ラインパターン列と前記ドットパターンとの組み合わせのいずれかであり、前記２次元パターン及び前記符号化開口パターンの少なくとも一方は不規則なランダムパターンである、
ことを特徴とする請求項１から請求項８のいずれか一項に記載の３次元計測システム。
【請求項１０】
前記２次元パターンには、
第１の色により形成された第１の２次元パターン群と、
第２の色により形成され、前記第１の２次元パターン群より空間周波数成分の高い第２の２次元パターン群と、
が含まれている、
ことを特徴とする請求項１から請求項９のいずれか一項に記載の３次元計測システム。 
【請求項１１】
前記２次元パターンには、
第１の色により形成された第１のラインパターン群と、
第２の色により形成され前記第１のラインパターン群と直交する第２のラインパターン群と、
が含まれている、
ことを特徴とする請求項１から請求項９のいずれか一項に記載の３次元計測システム。 
【請求項１２】
前記符号化開口パターンには、
前記第１の色の光のみを遮断するカラーフィルタを備えた第１の符号化開口パターンと、
前記第２の色の光のみを遮断するカラーフィルタを備えた第２の符号化開口パターンと、
が含まれている、
ことを特徴とする請求項１０または請求項１１に記載の３次元計測システム。
【請求項１３】
前記撮像手段で撮像された前記計測対象物の画像データから得られる各色の画像データと、同じ色の前記参照画像データ群との間で前記マッチング窓を用いた画像マッチングを行うことにより、２次元パターンの結像位置を基準とする前記計測対象物の奥行きを求め、各色で求められた奥行きに基づいて、前記計測対象物の奥行きを推定する、
ことを特徴とする請求項１０から請求項１２のいずれか一項に記載の３次元計測システム。 
【請求項１４】
前記２次元パターンを構成するパターンの配列方向にずれるように、前記撮像手段の光学系の光軸が、前記投影光の光軸と非同軸に設定されている、
ことを特徴とする請求項１から請求項１３のいずれか一項に記載の３次元計測システム。
【請求項１５】
前記２次元パターンは、
第１の方向から前記計測対象物に前記２次元パターンを投影する第１の投影手段と、
第２の方向から前記計測対象物に前記２次元パターンを投影する第２の投影手段と、により投影される、
ことを特徴とする請求項１３または請求項１４に記載の３次元計測システム。
【請求項１６】
前記第１の投影手段と前記撮像手段との光軸のずれの方向が、前記第２の投影手段と前記撮像手段との光軸のずれの方向と直交する、
ことを特徴とする請求項１５に記載の３次元計測システム。
【請求項１７】
前記撮像手段の光軸と前記投影光の光軸とが一致するように設定されている、
ことを特徴とする請求項１から請求項１３のいずれか一項に記載の３次元計測システム。
【請求項１８】
投影光により投影光学系を介して２次元パターンが投影された計測対象物を、撮像手段により撮像して得られた画像データと、前記計測対象物の奥行きに対応付けられて予め取得された参照画像データ群とを、比較することにより前記計測対象物の奥行きを推定する３次元計測方法であって、
前記２次元パターンは前記投影光学系に設けられた符号化開口パターンを介して前記計測対象物に投影されるとともに、
前記計測対象物の奥行きは、前記投影光学系と前記撮像手段の前記計測対象物に対する視差に基づく画像マッチングを行うステレオ法と、前記計測対象物の画像データにおける前記符号化開口パターンの光軸方向のボケに基づくＤｆＤ法の双方を適用した画像処理により推定されることを特徴とする３次元計測方法。
【請求項１９】
投影光により符号化開口パターンが設けられた投影光学系を介して２次元パターンが投影された計測対象物を、撮像手段により撮像して得られた画像データと、前記計測対象物の奥行きに対応付けられて予め取得された参照画像データ群とを、比較することにより前記計測対象物の奥行きを推定するコンピュータを、
前記計測対象物の奥行きを、前記投影光学系と前記撮像手段の前記計測対象物に対する視差に基づく画像マッチングを行うステレオ法と、前記計測対象物の画像データにおける前記符号化開口パターンの光軸方向のボケに基づくＤｆＤ法の双方を適用した画像処理により推定する推定部として機能させることを特徴とする３次元計測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、３次元計測システム、３次元計測方法及び３次元計測プログラムに関する。
【背景技術】
【０００２】
近年、様々な分野で物体の３次元形状を計測する研究が盛んに行われている。中でも、装置の単純さとコストの観点から構造化光（パターン光）とカメラを用いたアクティブ３次元計測手法が主流となっている。アクティブ３次元計測手法では、計測対象となる物体へパターン光が投影され、その物体の表面で反射された光がカメラで観測される。さらに、パターン光により投影される元のパターンと物体上で観測されるパターンとの対応関係による三角測量で物体の３次元形状（フォーカス方向の奥行き）がカメラの撮像画像から復元される。対応関係の計算時間の効率化のために、２次元パターン光をビデオプロジェクタで投影する手法が多く提案されている(例えば、非特許文献１参照)。【０００３】
しかし、ビデオプロジェクタは被写界深度が浅く、フォーカス方向の奥行きの計測レンジに制約が存在する。この計測レンジの制約を解決するために、被写界深度の深いレーザ光源を用いる手法が提案されている。しかし、レーザ光源を用いた場合には、特殊な光学系が必要になるため、用途に合わせた光学系を構築することが困難になる。【０００４】
計測レンジの狭さを解消する他の手法として、観測パターンのボケから奥行きを推定するＤｆＤ（Depth from Defocus）法が提案されている（例えば、非特許文献２参照）。ＤｆＤ法は、観測パターンのボケを前提としているため、被写界深度による制約が少ない。しかし、この手法の計測装置では光源にアレイＬＥＤを用いるため、密なパターンを物体に投影することができず、得られる奥行きマップが疎であるという不都合があった。すなわち、ＤｆＤ手法は、奥行きの変化に対するパターンの変化がレンズの口径によって制限されるため、奥行き分解能が低いという不都合がある。また、奥行きの推定において逆畳込み処理を大量に行う必要があるため、計算量が膨大になるという不都合もあった。【０００５】
ＤｆＤ法は、一般的にはカメラのボケに基づく手法として知られており、条件さえ揃えば１枚の画像から奥行きを推定することが可能である。しかし、ＤｆＤ法を良好に行うためには、計測対象に高周波なテクスチャが存在することが前提となるため、現実に適用できる範囲は限定的である。そこで、パターン投影光のボケと撮影カメラのボケの両方を数理的にモデル化し、リアルタイムに距離計測を実現するＤｆＤ法が提案されている（例えば、非特許文献３参照）。これは、市松模様状のパターンを物体に投影し、その撮影結果のボケからＤｆＤを行う方法であり、この方法によれば、計測対象にテクスチャが無くとも計測が可能になる。しかし、非特許文献３に記載の手法では、合焦距離の異なる２枚の画像を必要とし、レンズの撮像素子との間にプリズムを設置するなど、撮影側の光学系を工夫する必要があった。【０００６】
また、プロジェクタの投影像のボケを解析し、投影面の奥行きを推定する手法が提案されている（例えば、非特許文献４参照）。この手法によれば、ライン状の投影パターンの位相をシフトさせながら画像を取得することで、撮影画像のピクセルごとの奥行きを推定することができる。しかし、この手法では、投影パターンを変更した複数枚の画像を必要とするため、動いている物体の奥行き計測が困難であるという不都合があった。【０００７】
また、プロジェクタの投影光学系に符号化開口を装着することで生成される構造化光を利用した３次元計測方法が開示されている（例えば、非特許文献５参照）。この方法では、格子状に符号パターンが設けられた符号化開口をつけた光源でパターン投影し、計測対象物体上で観測された投影パターンのボケ具合を利用して、ＤｆＤにより各点の距離を求める。【０００８】
下記非特許文献５に開示された方法では、投影パターンのボケの大きさ、すなわち点広がり関数（Point Spread Function、以下、ＰＳＦともいう）のスケールを規定するパラメータをスケールパラメータとして用いる。まず、複数の既知の奥行きにおいて実際に観測したボケ画像を用いて、それぞれの奥行きにおけるＰＳＦのスケールを獲得し、フィッティングにより正確なスケールパラメータを求めるキャリブレーションを行う。さらに、実際に物体に投影された構造化光による投影パターンを撮像し、撮像により得られた投影パターンの画像データを、キャリブレーションで得られたスケールパラメータに従って、奥行きによって異なるＰＳＦを用いた逆畳込み演算を行い、格子状に配置された各復元パターンがボケのない符号化開口の符号パターンに最も類似する奥行きを、推定結果として求める。【０００９】
しかしながら、上記非特許文献５に開示された方法では、逆畳込み演算と類似度の計算をすべての奥行きについて行うため、計算量の多い逆畳込み演算の演算回数が膨大となって、計算時間が長くなってしまう。また、計算結果が不安定となることも起こる。【００１０】
また、武田らは、単なるステレオ法においても、符号化開口の導入によりボケによる精度低下を抑制できることを示し、さらにＤｆＤ法とステレオ法とを融合した手法を提案した（例えば、非特許文献６、７）。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】Ryusuke Sagawa, Nozomu Kasuya, Kazuhiro Sakashita, Ryo Furukawa, Hiroshi Kawasaki, Yasushi Yagi, "Grid-based Active Stereo with Single-colored Wave Pattern for Dense One-shot 3D Scan," Proc. 2012 Second Joint 3DIM/3DPVT Conference, pp. 363-370 (2012)
【非特許文献２】H. Kawasaki, Y. Horita, H. Masuyama, S. Ono, M. Kimura, Y. Takane, "Optimized Aperture for Estimating Depth from Projector's Defocus", International Conference on 3D Vision (3DV), Jun. 2013 (Seattle, USA)
【非特許文献３】Nayar, S., Watanabe, M., and Noguchi, M., "Real-Time Focus Range Sensor", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 18, No. 12, pp. 1186-1198 (1996)
【非特許文献４】Zhang, L. and Nayar, S.K., "Projection Defocus Analysis for Scene Capture and Image Display", ACM Trans. on Graphics (also Proc. of ACM SIGGRAPH) (2006).
【非特許文献５】堀田祐樹、小野智司、川崎洋、木村誠、高根靖雄、”符号化開口を用いたプロジェクタカメラシステムによるボケを利用した三次元計測手法”、電子情報通信学会論文誌  Ｄ  Ｖｏｌ．１９６−Ｄ  Ｎｏ．８  ｐｐ．１８２８−１８３３、一般社団法人電子情報通信学会２０１３
【非特許文献６】Y. Takeda, S. Hiura, and K. Sato,  Coded aperture stereo-for extension of depth of field and refocusing.," VISAPP (1), pp.103-111, 2012.
【非特許文献７】Y. Takeda, S. Hiura, and K. Sato, :Fusing depth from defocus and stereo with coded apertures," Computer Vision and Pattern Recognition (CVPR), IEEE Conference on IEEE, pp.209-216 (2013)
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述のように、従来の３次元計測方法にはそれぞれ一長一短があり、より計算量を低減しつつ、精度良く計測を行うことが求められている。【００１３】
この発明は、上記のような問題点を解決するためになされたものであり、より計算量を低減しつつ、精度良く計測対象物の３次元計測を行うことができる３次元計測システム、３次元計測方法及び３次元計測プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、この発明の第１の観点に係る３次元計測システムは、
投影光により投影光学系を介して２次元パターンが投影された計測対象物を、撮像手段により撮像して得られた画像データと、前記計測対象物の奥行きに対応付けられて予め取得された参照画像データ群とを、比較することにより前記計測対象物の奥行きを推定する３次元計測システムであって、
前記２次元パターンは前記投影光学系に設けられた符号化開口パターンを介して前記計測対象物に投影されるとともに、
前記計測対象物の奥行きは、前記投影光学系と前記撮像手段の前記計測対象物に対する視差に基づく画像マッチングを行うステレオ法と、前記計測対象物の画像データにおける前記符号化開口パターンの光軸方向のボケに基づくＤｆＤ法の双方を適用した画像処理により推定されることを特徴とする。【００１５】
前記参照画像データ群は、前記撮像手段により撮像して得られた画像データまたはシミュレーションにより算出された画像データである、
こととしてもよい。【００１６】
前記参照画像データ群は、前記投影光の光軸上の複数の位置に２次元平面を置いたときにそれぞれ前記撮像手段で撮像して得られた前記２次元平面の画像データを含む
こととしてもよい。【００１７】
前記２次元平面は、前記投影光学系の光軸に直交している、
こととしてもよい。【００１８】
前記参照画像データ群は、
前記投影光学系の光軸に斜交する２次元平面を、前記光軸に対して複数の異なる角度でそれぞれ置いたときに得られる２次元斜面の画像データを含む、
こととしてもよい。【００１９】
前記２次元斜面の画像データは、
撮像部により撮像される前記２次元平面の参照画像データを部分的に合成することにより、作成される、
こととしてもよい。【００２０】
前記画像マッチングは、マッチング窓を用いて行われる、
こととしてもよい。【００２１】
前記２次元パターンは複数の異なる投影パターンを有し、
前記２次元パターンを構成する第１の投影パターンにより逆畳み込み演算を行わずに奥行き方向の探索範囲を決定するとともに、
前記２次元パターンを構成し、前記第１の投影パターンとは異なる第２の投影パターンにより、前記探索範囲において逆畳み込み演算を行うことによる画像の階層的復元法を用いて前記計測対象物の奥行きを推定する、
こととしてもよい。【００２２】
前記２次元パターン及び前記符号化開口パターンの組み合わせは、光学的に同じ方向に並ぶラインパターン列同士、２次元状に配列されたドットパターン同士、前記ラインパターン列と前記ドットパターンとの組み合わせのいずれかであり、前記２次元パターン及び前記符号化開口パターンの少なくとも一方は不規則なランダムパターンである、
こととしてもよい。【００２３】
前記２次元パターンには、
第１の色により形成された第１の２次元パターン群と、
第２の色により形成され、前記第１の２次元パターン群より空間周波数成分の高い第２の２次元パターン群と、
が含まれている、
こととしてもよい。【００２４】
前記２次元パターンには、
第１の色により形成された第１のラインパターン群と、
第２の色により形成され前記第１のラインパターン群と直交する第２のラインパターン群と、
が含まれている、
こととしてもよい。【００２５】
前記符号化開口パターンには、
前記第１の色の光のみを遮断するカラーフィルタを備えた第１の符号化開口パターンと、
前記第２の色の光のみを遮断するカラーフィルタを備えた第２の符号化開口パターンと、
が含まれている、
こととしてもよい。【００２６】
前記撮像手段で撮像された前記計測対象物の画像データから得られる各色の画像データと、同じ色の前記参照画像データ群との間で前記マッチング窓を用いた画像マッチングを行うことにより、２次元パターンの結像位置を基準とする前記計測対象物の奥行きを求め、各色で求められた奥行きに基づいて、前記計測対象物の奥行きを推定する、
こととしてもよい。【００２７】
前記２次元パターンを構成するパターンの配列方向にずれるように、前記撮像手段の光学系の光軸が、前記投影光の光軸と非同軸に設定されている、
こととしてもよい。【００２８】
前記２次元パターンは、
第１の方向から前記計測対象物に前記２次元パターンを投影する第１の投影手段と、
第２の方向から前記計測対象物に前記２次元パターンを投影する第２の投影手段と、により投影される、
こととしてもよい。【００２９】
前記第１の投影手段と前記撮像手段との光軸のずれの方向が、前記第２の投影手段と前記撮像手段との光軸のずれの方向と直交する、
こととしてもよい。【００３０】
前記撮像手段の光軸と前記投影光の光軸とが一致するように設定されている、
こととしてもよい。【００３１】
この発明の第２の観点に係る３次元計測方法は、
投影光により投影光学系を介して２次元パターンが投影された計測対象物を、撮像手段により撮像して得られた画像データと、前記計測対象物の奥行きに対応付けられて予め取得された参照画像データ群とを、比較することにより前記計測対象物の奥行きを推定する３次元計測方法であって、
前記２次元パターンは前記投影光学系に設けられた符号化開口パターンを介して前記計測対象物に投影されるとともに、
前記計測対象物の奥行きは、前記投影光学系と前記撮像手段の前記計測対象物に対する視差に基づく画像マッチングを行うステレオ法と、前記計測対象物の画像データにおける前記符号化開口パターンの光軸方向のボケに基づくＤｆＤ法の双方を適用した画像処理により推定されることを特徴とする。【００３２】
この発明の第３の観点に係る３次元計測プログラムは、
投影光により符号化開口パターンが設けられた投影光学系を介して２次元パターンが投影された計測対象物を、撮像手段により撮像して得られた画像データと、前記計測対象物の奥行きに対応付けられて予め取得された参照画像データ群とを、比較することにより前記計測対象物の奥行きを推定するコンピュータを、
前記計測対象物の奥行きを、前記投影光学系と前記撮像手段の前記計測対象物に対する視差に基づく画像マッチングを行うステレオ法と、前記計測対象物の画像データにおける前記符号化開口パターンの光軸方向のボケに基づくＤｆＤ法の双方を適用した画像処理により推定する推定部として機能させることを特徴とする。
【発明の効果】
【００３３】
この発明によれば、２次元パターンが、符号化開口パターンを介して計測対象物に投影される。これにより、計測対象物に投影される投影像は、２次元パターンと符号化開口パターンとの畳込みにより形成される像となり、計測対象物の奥行きの変化に対してパターンの変化が大きい画像となる。このため、計測対象物の奥行き分解能を向上することができる。また、計測対象物の奥行きは、前記計測対象物の奥行きに対応付けられて予め取得された参照画像データ群との画像マッチングにより推定される。したがって、計測対象物の奥行きを推定するのに符号化開口の開口パターンによる逆畳込み演算などの複雑な演算を行う必要がなくなるうえ、ＤｆＤ法とステレオ法とを融合した高精度な計測が可能となり、光学系の収差による推定誤差を低減することも可能となる。すなわち、この発明によれば、より計算量を低減しつつ、精度良く計測対象物の３次元計測を行うことができる。
【図面の簡単な説明】
【００３４】
【図１】この発明の実施の形態１に係る３次元計測システムの概略的な構成を示す斜視図である。
【図２】図１の３次元計測システムの光学系の構成を示す図である。
【図３Ａ】符号化開口の符号パターンの一例を示す図である。
【図３Ｂ】フォーカス方向に関する符号パターンの被投影パターンの変化を示す図である。
【図４Ａ】投影パターンの一例（その１）を示す図である。
【図４Ｂ】符号化開口のフォーカス方向に関する被投影パターンの変化（その１）を示す図である。
【図５Ａ】投影パターンの一例（その２）を示す図である。
【図５Ｂ】符号化開口のフォーカス方向に関する被投影パターンの変化（その２）を示す図である。
【図６】図１のコンピュータのハードウエア構成を示すブロック図である。
【図７】図１のコンピュータの機能構成を示すブロック図である。
【図８】孤立パターンのローカル・バイナリ・パターンのヒストグラムと、奥行きとの相関関係を示す図である。
【図９】孤立パターンの画像データのローカル・バイナリ・パターンのヒストグラムと、ヒストグラムデータベースに登録された複数のヒストグラムとのマッチングを示す図である。
【図１０】スケールパラメータのフィッティングの一例を示す図である。
【図１１】逆畳込み演算及びマッチングの流れの一例を示す図である。
【図１２】スライディングウインドウの一例を示す図である。
【図１３】スライディングウインドウ方式での処理の流れの一例を示す図である。
【図１４】奥行きと視差との関係を示す図である。
【図１５】グラフカット処理の一例を示す図である。
【図１６】階層復元の一例を示す図である。
【図１７】３次元計測処理のフローチャートである。
【図１８】キャリブレーションのフローチャート（その１）である。
【図１９】キャリブレーションのフローチャート（その２）である。
【図２０】初期計測のフローチャートである。
【図２１】ファイン計測のフローチャートである。
【図２２】３次元計測システムの適用例を示す図である。
【図２３】この発明の実施の形態２に係る３次元計測システムの光学系の構成を示す図である。
【図２４】この発明の実施の形態３に係る３次元計測システムの概略的な構成を示すブロック図である。
【図２５Ａ】この発明の実施の形態４に係る３次元計測システムの概略的な構成を示す斜視図である。
【図２５Ｂ】映像面に表示される２次元パターンの一例を示す図である。
【図２６Ａ】符号化開口の一例を示す図である。
【図２６Ｂ】フォーカス方向に関する符号パターンの被投影パターンの変化を示す図である。
【図２７】フォーカス方向に関する２次元パターンの投影像の変化を示す図である。
【図２８】図２５Ａのコンピュータの機能構成を示すブロック図である。
【図２９Ａ】フォーカス方向に得られる参照画像データ群の一例である。
【図２９Ｂ】計測対象物の一例である。
【図２９Ｃ】計測対象物に投影される投影像の画像データの一例である。
【図３０】図２５Ａの３次元計測システムにおける３次元計測処理のフローチャートである。
【図３１】図３０のキャリブレーションのフローチャートである。
【図３２】図３０の奥行き計測のフローチャートである。
【図３３】マッチング窓を設定する様子を示す図である。
【図３４】フィッティングにより、奥行きを推定する様子を示す図である。
【図３５】この発明の実施の形態５に係る３次元計測システムの機能構成を示すブロック図である。
【図３６Ａ】仮想斜面の参照画像データが生成される様子を示す図である。
【図３６Ｂ】計測対象物に投影される投影像の画像データの一例である。
【図３６Ｃ】計測対象物の奥行きの推定結果の一例である。
【図３６Ｄ】仮想斜面の参照画像データでの画像マッチングにより推定された計測対象物上の法線マップである。
【図３６Ｅ】仮想斜面で画像マッチングにより推定された計測対象物の奥行きの推定結果の一例である。
【図３７】図３５のコンピュータにおけるキャリブレーションのフローチャートである。
【図３８】この発明の実施の形態６に係る３次元計測システムの機能構成を示すブロック図である。
【図３９Ａ】青色の２次元パターンの一例である。
【図３９Ｂ】赤色の２次元パターンの一例である。
【図４０】奥行き計測のフローチャート（その１）である。
【図４１】奥行き計測のフローチャート（その２）である。
【図４２】Ｃｏａｒｓｅ−ｔｏ−ｆｉｎｅの奥行き計測の一例である。
【図４３】この発明の実施の形態７に係る３次元計測システムの機能構成を示すブロック図である。
【図４４Ａ】赤色の２次元パターンの一例である。
【図４４Ｂ】緑色の２次元パターンの一例である。
【図４４Ｃ】青色の２次元パターンの一例である。
【図４５】赤色、緑色、青色の画像データにおける奥行きと相関値との関係を示すグラフである。
【図４６】この発明の実施の形態８に係る３次元計測システムの機能構成を示すブロック図である。
【図４７Ａ】赤色の２次元パターンの一例である。
【図４７Ｂ】青色の２次元パターンの一例である。
【図４８】奥行きの推定結果の一例を示す図である。
【図４９】この発明の実施の形態９に係る３次元計測システムの構成を示す模式図である。
【図５０】ベースラインと符号化開口との関係を示す図である。
【図５１】Ｋｄ木の探索による画像マッチングを示す図である。
【図５２】この発明の実施の形態１０に係る３次元計測システムにおけるＤＯＥ（Diffractive Optical Element）を用いたレーザ光源の実装例を示す図である。
【発明を実施するための形態】
【００３５】
以下、この発明の実施の形態について図面を参照して詳細に説明する。
【００３６】
実施の形態１．
まず、この発明の実施の形態１について説明する。
【００３７】
図１には、３次元計測システム１００の概略的な構成が示されている。図１に示すように、３次元計測システム１００は、プロジェクタ１とカメラ２とコンピュータ３とを備える。プロジェクタ１は、投影光（構造化光）を計測対象物４に投影する投影部である。カメラ２は、その投影光（構造化光）により計測対象物４に投影された被投影パターン（投影像）を撮像する撮像部である。カメラ２とコンピュータ３との間は、通信ネットワークで接続されている。この通信ネットワークにより、カメラ２とコンピュータ３との間で画像データの送受信が可能となる。コンピュータ３は、カメラ２での撮像により得られた画像データに基づいて、計測対象物４の３次元形状（プロジェクタ１から見た計測対象物４の奥行き）を計測する計測部である。
【００３８】
図２には図１の３次元計測システム１００の光学系の構成が示されている。図２に示すように、プロジェクタ１は、映像面１１と投影光学系１２と符号化開口１３とを備える。光源から発せられた投影光は、映像面１１を透過する。映像面１１は、例えば透過型の液晶素子であり、映像面１１には映像（２次元パターン）が表示されている。したがって、映像面１１を透過した光は、映像面１１に表示された映像の情報を含んだ光となる。この光は、投影光学系１２に入射する。
【００３９】
投影光学系１２は、入射した光を外部に投影する。投影光学系１２は、屈折光学系であり、映像面１１に表示された映像を結像面に結像させる。
【００４０】
投影光学系１２の出射面には符号化開口１３が装着されている。図３Ａに示すように、符号化開口１３には、符号パターン（符号化開口パターン）５が設けられている。符号パターン５は左右非対称なパターンである。投影光学系１２を出射した光は、符号パターン５の開口部分を介してプロジェクタ１から出射される。符号パターン５では、図３Ａに示す白の部分が光を透過させる。これにより、プロジェクタ１の出射光は、符号パターン５の形状の情報を含んだ光（構造化光）となる。
【００４１】
図２に戻り、投影光学系１２の光軸ＡＸに沿った座標軸ｄの原点を投影光学系１２の中心とする。プロジェクタ１の出射光は、投影光学系１２の光軸ＡＸを中心としながら座標軸ｄの＋ｄ方向に進み、点ｄpで合焦する。プロジェクタ１の映像面１１は、点ｄpとは結像関係にある。したがって、点ｄpにスクリーンを置くと、そのスクリーンには、映像面１１に表示された映像が結像する。この結像位置が位置Ｂである。
【００４２】
一方、符号化開口１３は、結像映像と畳み込みの関係にあり、フーリエ変換などでその性質を解析可能である。したがって、映像面１１において点状の投影パターンを投影した場合、符号化開口１３の符号パターン５は、点ｄp、すなわち合焦状態では点状のパターンとなり、デフォーカスするにつれて、符号パターン５の像が現れてくるようになる。この実施の形態に係る３次元計測システム１００は、デフォーカス状態にある符号パターン５の画像データを処理することにより、投影光学系１２により結像する投影パターン（２次元パターン）の結像位置ｄpを基準とする計測対象物４の光軸ＡＸの方向（座標軸ｄの方向）の奥行きを計測する。符号パターン５の像を読み取りできる範囲は、位置Ａと位置Ｃとの間であるため、計測対象物４の奥行きの探索範囲は、位置Ａから位置Ｃまでの範囲Ｆとなる。図３Ｂに示すように、計測対象物４に投影される符号パターンの投影像（被投影パターン）は、座標軸ｄの方向（すなわち投影光学系１２のフォーカス方向）の奥行きに応じて変化する。
【００４３】
この実施の形態では、映像面１１に２種類の映像が表示される。図４Ａに示す投影パターン１１Ａと図５Ａに示す投影パターン１１Ｂである。
【００４４】
図４Ａに示すように、投影パターン１１Ａでは、複数の点状の第１投影パターンが４行４列の格子状に設けられている。この複数の第１投影パターンからなる符号パターン５を介した構造化光の投影により、計測対象物４には符号パターン５の像（第１被投影パターン）が形成される。図４Ｂには、符号化開口１３Ａにおけるフォーカス方向に関するパターン像の変化が示されている。図４Ｂに示すように、合焦位置Ｂにおいて、投影パターン１１Ａのパターン像は、４×４のほぼ点状のパターンとなるが、デフォーカス状態にある位置Ａ、Ｃでは、符号パターン５の像が４行４列に並ぶ配列パターンとなる。
【００４５】
符号パターン５は非対称となっているため、−ｄ方向にデフォーカスした位置Ａと、＋ｄ方向にデフォーカスした位置Ｃとでは、符号パターン５の像が異なっている。このため、各符号パターン５の形状（ボケ状態）を解析すれば、被投影パターンがどちらの方向にどの程度デフォーカスしているのかを求めることができる。
【００４６】
前述のように、位置Ａから位置Ｃまでが、投影光学系１２のフォーカス方向に関する奥行きの探索範囲Ｆであるが、探索範囲Ｆにおいて、符号化開口１３Ａの符号パターン５を介した投影像では、符号パターン５の像が他の符号パターン５の像と干渉が少ないように、映像面１１における投影パターン１１Ａは、疎な配置となっている。特に、全く干渉しないように配置すると、投影パターン１１Ａの配列密度は疎となるが、処理は安定する。コンピュータ３は、符号化開口１３Ａを介した構造化光の投影により計測対象物４に形成された複数の被投影パターン（孤立パターン）の画像データ（第１の画像データ）に基づいて、投影光学系１２のフォーカス方向に関する各被投影パターンの奥行きの探索範囲を計測する。
【００４７】
図５Ｂに示すように、映像面１１に表示された投影パターン１１Ｂでは、複数の第２の点状パターンが７行７列の格子状に設けられている。すなわち、投影パターン１１Ｂでは、点状パターンの配列密度が投影パターン１１Ａよりも密となっている。図５Ｂに示すように、合焦位置Ｂにおいて、投影パターン１１Ｂの像は、７×７のドット状のパターンとなるが、デフォーカス状態にある位置Ａ、Ｃでは、符号パターン５の像が７行７列に並ぶ配列パターンとなる。
【００４８】
符号パターン５は非対称となっているため、−ｄ方向にデフォーカスした位置Ａと、＋ｄ方向にデフォーカスした位置Ｃとでは、符号パターン５の像が異なっている。このため、各符号パターン５の形状（ボケ状態）を解析すれば、その被投影パターンがどちらの方向にどの程度デフォーカスしているのかを求めることができる点は、投影パターン１１Ａと同じである。
【００４９】
投影パターン１１Ｂは、投影パターン１１Ａの符号パターンよりも、密に配列されているので、投影光学系１２のフォーカス方向に関する奥行きの探索範囲Ｆ（位置Ａ〜位置Ｃ）において、符号化開口１３Ｂの符号パターン同士が大きく重なる区間が出てくる。
【００５０】
コンピュータ３では、投影パターン１１Ｂを用いた構造化光の投影により計測対象物４に形成された被投影パターンの画像データ（第２の画像データ）に対し、投影光学系１２のフォーカス方向に関して投影パターン１１Ａを用いて計測された奥行きの探索範囲に絞り込んで逆畳込み演算を行う。この逆畳込み演算により、複数の投影パターン１１Ｂにそれぞれ対応する複数の復元パターンが形成される。コンピュータ３は、その演算により得られた復元パターンと投影パターン１１Ｂとの類似度計算により、投影光学系１２のフォーカス方向に関する各復元パターンの奥行きを計測する。
【００５１】
符号化開口１３Ａと符号化開口１３Ｂとは、投影光学系１２に選択的に装着される。その選択は手動によって行われてもよいし、自動的に、例えばコンピュータ３の制御により行われるようにしても良い。あるいは、カラーフィルタを用いて、別々の透過色として配置してもよい。また、その場合、投影パターンの色もそれに合わせて配色すると良い。選択的に装着した符号化開口１３Ａ、１３Ｂを介した光は、前述のように、各符号パターン５の構造情報を含む構造化光となる。この構造光は投影光として計測対象物４（キャリブレーションの際には平面スクリーン）に投影される。
【００５２】
カメラ２は、構造化光により計測対象物４に投影された被投影パターンを撮像する。カメラ２は、光軸ＡＸ上に設置されていても、されていなくても良い。プロジェクタ１とカメラ２が同軸ではない場合、ハーフミラーなどを使用する必要がなく、より明るいパターンを計測することが出来る他、視差を利用した計測の高精度化がなされるというメリットがある。
【００５３】
コンピュータ３は、カメラ２での撮像により得られた画像データに基づいて、計測対象物４の３次元形状を計測する。上述のように、計測対象物４の各符号パターン５の像の形成状態は、座標軸ｄの位置に依存するため、計測対象物４の各符号パターン５の像の形成状態を画像解析することにより、計測対象物４のフォーカス方向の奥行きを求めることができる。
【００５４】
図１のコンピュータ３のハードウエア構成を示す図６に示すように、コンピュータ３は、制御部３１、主記憶部３２、外部記憶部３３、操作部３４、表示部３５及び通信部３６を備える。主記憶部３２、外部記憶部３３、操作部３４、表示部３５及び通信部３６はいずれも内部バス３０を介して制御部３１に接続されている。
【００５５】
制御部３１は、ＣＰＵ（Central Processing Unit）等から構成されている。このＣＰＵが、外部記憶部３３に記憶されているプログラム３９を実行することにより、図１に示すコンピュータ３の各構成要素が実現される。
【００５６】
主記憶部３２は、ＲＡＭ（Random-Access Memory）等から構成されている。主記憶部３２には、外部記憶部３３に記憶されているプログラム３９がロードされる。この他、主記憶部３２は、制御部３１の作業領域（データの一時記憶領域）として用いられる。
【００５７】
外部記憶部３３は、フラッシュメモリ、ハードディスク、ＤＶＤ−ＲＡＭ（Digital Versatile Disc Random-Access Memory）、ＤＶＤ−ＲＷ（Digital Versatile Disc ReWritable）等の不揮発性メモリから構成される。外部記憶部３３には、制御部３１に実行させるためのプログラム３９があらかじめ記憶されている。また、外部記憶部３３は、制御部３１の指示に従って、このプログラム３９の実行の際に用いられるデータを制御部３１に供給し、制御部３１から供給されたデータを記憶する。
【００５８】
操作部３４は、キーボード及びマウスなどのポインティングデバイス等と、キーボードおよびポインティングデバイス等を内部バス３０に接続するインターフェイス装置から構成されている。操作部３４を介して、操作者が操作した内容に関する情報が制御部３１に入力される。
【００５９】
表示部３５は、ＣＲＴ（Cathode Ray Tube）またはＬＣＤ（Liquid Crystal Display）などから構成され、操作者が操作情報を入力する場合は、操作用の画面が表示される。
【００６０】
通信部３６は、シリアルインターフェイスまたはパラレルインターフェイスから構成されている。通信部３６は、通信ネットワークを介してカメラ２と接続されており、カメラ２から画像データを受信する。
【００６１】
図１に示すコンピュータ３の各種構成要素は、図６に示すプログラム３９が、制御部３１、主記憶部３２、外部記憶部３３、操作部３４、表示部３５及び通信部３６などをハードウエア資源として用いて実行されることによってその機能を発揮する。
【００６２】
図６に示すようなハードウエア構成を有するコンピュータ３は、その機能構成として、図７に示すように、記憶部４０と、データ取得部４１と、初期計測部４２と、ファイン計測部４３と、出力部４４とを備える。
【００６３】
記憶部４０は、図６に示すハードウエア構成のうち、外部記憶部３３に対応する。記憶部４０は、各種データ（画像データ５０Ａ、５０Ｂ、ヒストグラムデータベース５１、奥行き範囲データ５２、スケールパラメータ５３、奥行きデータ５４）を記憶する。
【００６４】
データ取得部４１は、図６に示すハードウエア構成のうち、制御部３１、操作部３４、通信部３６に対応する。データ取得部４１は、カメラ２から送信された画像データを、画像データ５０Ａ、５０Ｂとして、記憶部４０に記憶する。操作部３４の操作入力により、カメラ２から送信された画像データを、画像データ５０Ａ、５０Ｂのいずれかとして記憶部４０に記憶する。
【００６５】
投影パターン１１Ａが投影され符号化開口１３Ａが投影光学系１２に装着されている場合に、データ取得部４１は、操作部３４の操作入力により、カメラ２で撮像された画像データを画像データ５０Ａとして記憶部４０に記憶する。すなわち、画像データ５０Ａは、符号化開口１３Ａを介した構造化光の投影により計測対象物４に形成された複数の孤立パターン（図４Ｂ参照）の第１の画像データである。
【００６６】
一方、投影パターン１１Ｂが投影され符号化開口１３Ｂが投影光学系１２に装着されている場合に、データ取得部４１は、操作部３４の操作入力により、カメラ２で撮像された画像データを画像データ５０Ｂとして記憶部４０に記憶する。すなわち、画像データ５０Ｂは、符号化開口１３Ｂを介した構造化光の投影により計測対象物４上に形成された被投影パターンの第２の画像データである。
【００６７】
第１の計測部としての初期計測部４２は、図６に示すハードウエア構成のうち、制御部３１、主記憶部３２及び操作部３４に対応する。初期計測部４２は、記憶部４０に記憶された画像データ５０Ａに基づいて、初期計測を行う。初期計測部４２は、記憶部４０に記憶された画像データ５０Ａに基づいて、投影光学系１２のフォーカス方向（座標軸ｄの方向）に関する各孤立パターンの奥行きの探索範囲を計測する。計測結果は、奥行き範囲データ５２として記憶部４０に記憶される。
【００６８】
より具体的には、初期計測部４２は、画像データ５０Ａにおける各孤立パターンの画像特徴を抽出する。画像特徴としては、ローカル・バイナリ・パターン（ＬＢＰ）又はローカル・ターナリ・パターン（ＬＴＰ）が採用される。さらに、初期計測部４２は、ヒストグラムデータベース５１を参照して、抽出された画像特徴に対応する各孤立パターンの奥行きを求める。図８に示すように、各孤立パターンの奥行き（Ｄｅｐｔｈ１、Ｄｅｐｔｈ２、Ｄｅｐｔｈ３）とＬＢＰのヒストグラムとの間には相関関係がある。奥行きが同じであれば、各孤立パターンのＬＢＰのヒストグラムはほぼ同じとなる。
【００６９】
ここで、ＬＢＰ及びＬＴＰとは、画像データを、中心画素とその中心画素に隣接する８画素各々について、その大小関係を０又は１のバイナリデータとして並べた例えば８ビットのデータ列を各画素の画素値とした画像データ（ＬＢＰ画像、ＬＴＰ画像ともいう）である。ＬＴＰでは、バイナリデータではなく３値データになる。ＬＢＰのヒストグラムは、横軸をＬＢＰの輝度値とし、縦軸をその輝度値を有する画素数としたものである。
【００７０】
ヒストグラムデータベース５１には、図８に示すような各孤立パターンの画像データの画像特徴と、フォーカス方向に関する各孤立パターンの奥行きとが関連づけて登録されている。ヒストグラムデータベース５１には、予め行われるキャリブレーションにより得られたデータが登録される。
【００７１】
初期計測部４２は、図９に示すように、画像データ５０Ａに含まれる孤立パターンの画像データをＬＢＰ画像に変換し、変換されたＬＢＰ画像に基づいてＬＢＰのヒストグラムを生成する。初期計測部４２は、生成したヒストグラムと、ヒストグラムデータベース５１に登録された複数のＬＢＰ画像（Ｄｅｐｔｈ１、Ｄｅｐｔｈ２、Ｄｅｐｔｈ３）のヒストグラムとをマッチングし、最も類似度の高いヒストグラムに対応する奥行きを、４×４の孤立パターン毎に求める。孤立パターン毎に求められた奥行きの探索範囲は、奥行き範囲データ５２として記憶部４０に記憶される。
【００７２】
第２の計測部としての高精度（ファイン）計測部４３は、図６に示すハードウエア構成のうち、制御部３１、主記憶部３２及び操作部３４に対応する。ファイン計測部４３は、記憶部４０に記憶された画像データ５０Ｂに基づいて、計測対象物４の正確な奥行きの計測を行う。ファイン計測により、投影光学系１２のフォーカス方向に関する画像データ５０Ｂに含まれる被投影パターンの奥行きが計測される。計測は、逆畳込み演算を用いて行われる。
【００７３】
計測対象物４に投影される被投影パターンは、投影パターン１１Ｂと点広がり関数（ＰＳＦ）との畳込みにより形成される。ＰＳＦは、奥行きに応じて異なったものとなる。このため、被投影パターンに対して各奥行きに対応するＰＳＦで逆畳込み演算を行った結果、得られる復元パターンが投影パターン１１Ｂに最も近いときの奥行きが、その復元パターンに対応する奥行きということになる。
【００７４】
ファイン計測部４３は、画像データ５０Ｂに対して探索範囲内の複数のサンプリング位置で逆畳込み演算を行う。これにより、計測範囲内の複数のサンプリング位置に対応する逆畳込み演算後の画像データ（復元パターン）が得られる。
【００７５】
ただし、この実施の形態では、ファイン計測部４３は、奥行き範囲データ５２に含まれる奥行きの探索範囲（Ｆより小さい微小範囲）に絞りこんで、探索範囲内の複数のサンプリング位置で逆畳込み演算を行う。これにより、逆畳込み演算という計算量の多い複雑な演算の演算回数を著しく少なくすることができる。
【００７６】
この実施の形態では、符号パターンの像のボケ具合を積極的に利用して形状復元を行うため、そのボケ具合が必然的に大きくなることから、そのボケ具合を予めキャリブレーションしておく必要がある。収差を無視できる場合には、キャリブレーションするパラメータを、ボケの大きさ（スケール）Ｓに関するもののみとすることができる。
【００７７】
投影光学系１２の光軸ＡＸ上に平面スクリーンを置いた場合、その平面スクリーン上に投影される点状パターンのボケの物理的な大きさｙＤは、次式で表される。
【数１】
2016186211.tif 000003
ここで、ｄは、座標軸ｄ上の平面スクリーンの位置であり、ｙaは、符号化開口１３の開口径であり、ｄpは、プロジェクタ１から投影される構造化光の合焦距離であり、ｄaは、カメラ２から投影光学系１２までの座標軸ｄ方向に関する距離である。
【００７８】
ここで、投影像をカメラ２で撮影したとき、平面スクリーン上の点像のボケの大きさ（スケール）Ｓは、以下のように表される。
【数２】
2016186211.tif 000004
ここで、ｃがスケールパラメータである。スケールパラメータｃは以下のようになる。
【数３】
2016186211.tif 000005
すなわち、スケールパラメータｃと、平面スクリーンの位置ｄが決まれば、スケールＳｄが決まる。この実施の形態では、複数の既知の奥行きにおいて実際に観測したボケ画像を用いて、それぞれの奥行きにおけるスケールＳｄを獲得し、図１０に示すように、スケールＳｄのフィッティングを行って正確なスケールパラメータｃを求め、最終的に、スケールパラメータｃに基づいて、奥行きｄの関数であるスケールＳｄを求める。この方法は、必要な撮像画像が多くなるものの、現実に即したスケールパラメータｃが直接得られ、カメラ２とプロジェクタ１との間のベースライン等のキャリブレーションも不要となる。スケールパラメータｃは、スケールパラメータ５３として記憶部４０に記憶される。
【００７９】
ファイン計測部４３は、図１１に示すように、計測対象物４に符号化開口１３Ｂを介して投影パターン１１Ｂを投影し、キャリブレーションで得られたスケールパラメータｃを用いて画像データ５０Ｂの被投影パターンＰ２を複数の奥行きで（その奥行きのスケールＳｄ）で逆畳込み演算して逆畳込み演算後のパターンＰ３〜Ｐ５を求める。ファイン計測部４３は、投影パターン１１Ｂに最も類似する復元パターン（パターンＰ３〜Ｐ５に含まれる各復元パターン）の奥行きｄを、復元パターン毎に求める。逆畳込み演算を行うため、隣接する符号パターン５同士のボケが重なったような場合であっても、正しいスケールパラメータｃで逆畳込み演算された場合には、それらは明確に分離され、各復元パターンの奥行きを安定して推定し、計測対象物４の３次元形状を正確に復元することが可能である。
【００８０】
ファイン計測部４３は、スライディングウインドウ方式で画像データ５０Ｂから抽出された部分画像データに対して逆畳込み演算を行う。図１２に示すように、スライディングウインドウＷは、画像データ５０Ｂ上を左上から右に向かって順次スライドする。そして、それぞれの位置で、スライディングウインドウＷ内の画像データが抽出される。さらに、抽出された画像データに対して、上述の逆畳込み演算が行われ、画像データ内の被投影パターンの奥行きが算出される。スライディングウインドウＷのスライド間隔は、スライド前の領域とスライド後の領域の一部が重なるようになっている。
【００８１】
ファイン計測部４３では、スライディングウインドウＷ内の画像データに対して、逆畳込み演算が行われ、そのときの奥行きが算出される。スライディングウインドウＷの横方向の走査が完了すると、スライディングウインドウＷは、下方向及び左端にシフトする。そして、同様の処理が実行される。スライディングウインドウＷの上下の間隔も、スライド前とスライド後とで一部が重なるようになっている。このようにして、画像データ５０Ｂ全体のスライディングウインドウＷの順次走査及び奥行きの推定が行われる。
【００８２】
図１３に示すように、画像データ（Captured image）に対してスラインディングウインドウＷで一部の画像データを抽出し、ハミング窓でフィルタリングしたものをスケールパラメータｃに基づくカーネル（kernel）で逆畳込み演算する。そして、それぞれ逆畳込み演算された画像データを、ハミング窓を用いて他の画像データと統合（Intergration(Weighed sum)）することにより、逆畳込み演算後の画像データ（Deconvolved image）を得る。
【００８３】
ファイン計測部４３は、スライディング方式による逆畳込み演算により得られた復元パターンと投影パターン１１Ｂとの類似度を計算し、投影光学系１２のフォーカス方向に関する各復元パターンに対応する奥行きを計測する。類似度計算には、画像マッチングや、画像特徴量の比較を用いることができる。画像特徴量としては、ガウス関数のあてはめによる点らしさや、尖度などを用いることができる。
【００８４】
この実施の形態に係る３次元計測システム１００では、カメラ２とプロジェクタ１とが同軸上にはない。したがって、図１４に示すように、プロジェクタ１とカメラ２との間の視差により、プロジェクタ１及びカメラ２に近い平面（Near plane）上の点像（赤）と、遠い平面（Far plane）上の点像（緑）との射影ひずみが生じる。この射影ひずみは、逆畳込み演算に悪影響を及ぼす。そこで、この実施の形態では、スライディングウインドウ方式を採用すれば、演算を行う画像データの大きさを小さくすることができるので、この射影ひずみの影響を低減することができる。
【００８５】
ファイン計測部４３は、逆畳込み演算を行うことにより得られた画像データに対して、グラフカット処理を行い、グラフカット処理が行われた画像データに含まれる復元パターンと投影パターン１１Ｂ（オリジナルパターン）との類似度計算を行う。
【数４】
2016186211.tif 000006
グラフカット処理は、上述のエネルギＥＤを最小にする処理である。上述の式において、ｇ（Ｄv）は、データコストであり、逆畳込み演算を行うことによりフォーカス方向に得られた複数の復元パターンと投影パターン１１Ｂとの類似度を用いることができる。ｈ（Ｄu，Ｄv）は、隣接する画素同士の輝度値の差分に相当する関数である。すなわち、グラフカット処理では、他の隣接画素と極端に輝度値が異なる画素について、エネルギＥＤが最小となるように、輝度値の修正が施される。図１５には、４つの平面シートをそれぞれ異なる奥行きに設置した場合に得られる画像データが示されている。図１５に示すように、このグラフカット処理により、画像データにおけるノイズ成分が低減され、画像データ全体が滑らかに調整される。
【００８６】
上述のように、この実施の形態では、図１６に示すように、パターンが疎な投影パターン１１Ａを用いて、画像データ５０Ａ（Captured image with Coarse pattern）が撮像される。そして、初期計測部４２により、画像データ５０Ａに含まれる複数の被投影パターン（孤立パターン）各々のＬＢＰのヒストグラムと複数の奥行きの符号パターンのＬＢＰのヒストグラムとの間のカイ二乗の距離（Chi-square distance）が求められて粗推定（（ａ）Coarse estimation）が行われる。その結果、図１６に示すようなグラフが求められ、奥行きの探索範囲(Estimated depth range in coarse estimation)が求められる。
【００８７】
そして、密な投影パターン１１Ｂを用いて画像データ５０Ｂ（Captured image with Dense pattern(patterns are overlapped each other)）を撮像し、画像データ５０Ｂにおける符号パターン５の像が互いに重なった被投影パターンに対して、求められた奥行きの探索範囲（Search depth range in dense estimation）で、各奥行きにおけるＰＳＦ(PSF for each depth)を用いて逆畳込み演算が行われる。そして、奥行きに対する元の投影パターン１１Ｂ（オリジナルパターン）とのマッチングが行われて密推定（（ｂ）Dense estimation）が行われる。その結果、図１６に示すようにグラフが求められ、各復元パターンに対応する奥行きが求められる。すなわち、この実施の形態では、粗推定と密推定とが段階的に行われる。この処理は、階層復元とも呼ばれる。
【００８８】
ファイン計測部４３において、逆畳込み演算は、計測可能範囲Ｆ全体ではなく、奥行き範囲データ５２の探索範囲(図１６ではＬ１とＬ２)だけで行われる。これにより、逆畳込み演算の演算回数を著しく少なくすることができる。
【００８９】
出力部４４は、図６に示すハードウエア構成のうち、制御部３１、主記憶部３２、操作部３４及び表示部３５に対応する。出力部４４は、奥行きデータ５４を表示する。
【００９０】
次に、３次元計測システム１００の動作について説明する。
【００９１】
図１７には、３次元計測システム１００の３次元計測処理（メイン処理）が示されている。図１７に示すように、まず、コンピュータ３は、キャリブレーションを行う（ステップＳ１）。
【００９２】
キャリブレーションでは、プロジェクタ１から出射された構造化光を投影する平面スクリーンが用いられる。図１８に示すように、プロジェクタ１は、符号化開口１３Ａを投影光学系１２に装着し、粗い投影パターン１１Ａを投影する（ステップＳ１１）。続いて、平面スクリーンの位置（奥行き）が更新される（ステップＳ１２）。ここでは、平面スクリーンが最初の位置に置かれる。最初の位置（平面スクリーンの奥行き）は、他の計測手段によって既知であるものとする。最初の位置は位置Ａであるとする。続いて、カメラ２が、平面スクリーンに投影されたプロジェクタ１の投影像を撮像する（ステップＳ１３）。これにより、撮像画像が、カメラ２からデータ取得部４１を介して画像データ５０Ａとして記憶部４０に記憶される。
【００９３】
続いて、初期計測部４２は、撮像画像（画像データ５０Ａ）をＬＢＰ化する（ステップＳ１４）。これにより、例えば図８に示すＤｅｐｔｈ１のＬＢＰ画像が生成される。続いて、初期計測部４２は、ＬＢＰ画像のヒストグラムを生成する（ステップＳ１５）。これにより、例えば、Ｄｅｐｔｈ１でのＬＢＰ画像のヒストグラムが生成される。
【００９４】
初期計測部４２は、奥行きと対応づけて生成されたヒストグラムをヒストグラムデータベース５１に記憶する（ステップＳ１６）。続いて、初期計測部４２は、最後の位置であるか否かを判定する（ステップＳ１７）。ここでは、位置Ｃが最後の位置であり、スクリーンの位置は、まだ位置Ａであるので、判定は否定される。
【００９５】
最後の位置でなければ（ステップＳ１７；Ｎｏ）、初期計測部４２は、スクリーンの位置を更新する（ステップＳ１２）。ここでは、位置ＡからΔｄほど、＋ｄ方向にシフトされる。この後、投影像の撮像（ステップＳ１３）、撮像画像のＬＢＰ化（ステップＳ１４）、ヒストグラムの生成（ステップＳ１５）、ヒストグラムデータベース５１への登録（ステップＳ１６）、最後の位置の判定（ステップＳ１７）が繰り返される。このようにして、位置Ａから位置Ｃまでの各位置について、一定のサンプリング間隔Δｄで、ＬＢＰ画像のヒストグラムが生成される。
【００９６】
最後の位置であると判定された場合（ステップＳ１７；Ｙｅｓ）、図１９に進み、プロジェクタ１の投影光学系１２に符号化開口１３Ｂを装着し、密に配列された投影パターン１１Ｂ（密パターン）を投影する（ステップＳ２１）。続いて、平面スクリーンの位置が更新される（ステップＳ２２）。ここでは、平面スクリーンが位置Ａに設定される。続いて、カメラ２は、投影像を撮像する（ステップＳ２３）。
【００９７】
続いて、ファイン計測部４３は、画像データ５０Ｂに基づいて、その奥行きでのスケールＳｄを算出し、奥行きと対応づけて記憶部４０に記憶する（ステップＳ２４）。続いて、ファイン計測部４３は、スクリーンが最後の位置であるか否かを判定する（ステップＳ２５）。ここでは、位置Ｃが最後の位置であるとする。スクリーンの位置は、まだ位置Ａであるので、判定は否定される。
【００９８】
最後の位置でなければ（ステップＳ２５；Ｎｏ）、ファイン計測部４３は、スクリーンの位置を更新する（ステップＳ２２）。ここでは、位置ＡからΔｄほど、＋ｄ方向にシフトされる。以降、投影像の撮像（ステップＳ２３）、スケールＳｄの算出、記憶（ステップＳ２４）、最後の位置の判定（ステップＳ２５）が再び実行される。このようにして、位置Ａから位置Ｃまでの各位置について、一定のサンプリング間隔Δｄで、スケールＳｄが算出される。最後の位置であると判定された場合（ステップＳ２５；Ｙｅｓ）、ファイン計測部４３は、フィッティングを行って、スケールパラメータｃを求める（ステップＳ２６）。スケールパラメータｃはスケールパラメータ５３として記憶部４０に記憶される。これにより、キャリブレーションが完了する。
【００９９】
図１７に戻り、続いて、計測対象物４を、計測範囲Ｆ内に設置する（ステップＳ２）。これより、計測対象物４の３次元形状の計測が開始される。
【０１００】
続いて、初期計測部４２は、初期計測を行う（ステップＳ３）。図２０に示すように、プロジェクタ１は、投影光学系１２に符号化開口１３Ａを装着して粗い投影パターン１１Ａを投影する（ステップＳ３１）。続いて、カメラ２は、計測対象物４の投影像を撮像する（ステップＳ３２）。これにより、カメラ２から画像データが送信され、データ取得部４１は、この画像データを画像データ５０Ａとして記憶部４０に記憶する。
【０１０１】
続いて、初期計測部４２は、画像データ５０Ａに含まれる各孤立パターンでのローカル・バイナリ・パターン（ＬＢＰ）画像を生成する（ステップＳ３３）。初期計測部４２は、生成されたＬＢＰ画像のヒストグラムを生成する（ステップＳ３４）。初期計測部４２は、生成されたヒストグラムとヒストグラムデータベース５１に登録された各奥行きでのヒストグラムとの類似度計算を行い（ステップＳ３５）、最も近いＬＢＰの奥行きの探索範囲を決定し、奥行き範囲データ５２として、記憶部４０に記憶する（ステップＳ３６）。
【０１０２】
続いて、初期計測部４２は、すべてのパターンについて計測が完了したか否かを判定する（ステップＳ３７）。まだ、すべてのパターンの計測が完了していなければ（ステップＳ３７；Ｎｏ）、初期計測部４２は、孤立パターンでのＬＢＰの生成（ステップＳ３３）、ヒストグラムの生成（ステップＳ３４）、マッチング（ステップＳ３５）、最も近いＬＢＰの奥行きの探索範囲の決定（ステップＳ３６）、すべてのパターン完了の判定（ステップＳ３７）が繰り返される。すべてのパターンで、計測が完了し、奥行きの探索範囲が決定されると（ステップＳ３７；Ｙｅｓ）、初期計測部４２は初期計測を終了する。
【０１０３】
図１７に戻り、ファイン計測部４３は、ファイン計測を行う（ステップＳ４）。図２１に示すように、プロジェクタ１の投影光学系１２に符号化開口１３Ｂを装着し、計測対象物４に投影パターン１１Ｂ（密パターン）を投影する（ステップＳ４１）。続いて、カメラ２は投影像を撮像する（ステップＳ４２）。これにより、カメラ２から画像データが送信され、データ取得部４１は、この画像データを画像データ５０Ｂとして記憶部４０に記憶する。
【０１０４】
続いて、ファイン計測部４３は、奥行き設定を更新する（ステップＳ４３）。ここで、奥行きは、奥行き範囲データ５２に定められた探索範囲内で設定される。
【０１０５】
ファイン計測部４３は、スライディングウインドウ方式で、撮像された画像データ５０Ｂに対して設定された奥行きの範囲で逆畳込み演算を行う（ステップＳ４４）。ここでは、図１３に示すような処理が行われ、逆畳込み演算後の画像データ（Deconvolved image）が求められる。
【０１０６】
続いて、ファイン計測部４３は、逆畳込み演算後の画像データに対してグラフカット処理を行う（ステップＳ４５）。これにより、全体的にノイズ成分の少ない画像データが得られる。
【０１０７】
続いて、ファイン計測部４３は、逆畳込み演算により得られグラフカット処理が施された画像データに含まれる複数の復元パターン各々と、オリジナルの投影パターン１１Ｂとの類似度を算出する（ステップＳ４６）。
【０１０８】
ファイン計測部４３は、最後の位置であるか否かを判定する（ステップＳ４７）。最後の位置でなければ（ステップＳ４７；Ｎｏ）、ファイン計測部４３は、奥行きの設定を更新する（ステップＳ４３）。以降、最後の位置であると判定されるまで、ステップＳ４３〜Ｓ４７が繰り返される。
【０１０９】
最後の奥行きであると判定されれば（ステップＳ４７；Ｙｅｓ）、ファイン計測部４３は、これまでに最も類似度が高い奥行きを探索し、探索された奥行きの集合を奥行きデータ５４として記憶部４０に記憶する（ステップＳ４８）。この後、ファイン計測部４３は、ファイン計測を終了する。
【０１１０】
図１７に戻り、ファイン計測が終了すると、３次元計測処理が終了する。求められた奥行きデータ５４が、計測対象物４の３次元形状を示している。この３次元形状は、出力部４４により表示出力される。
【０１１１】
この３次元計測システム１００の利用方法としては様々なものがある。計測時間が短縮されているため、図２２には、この３次元計測システム１００での計測対象物４の３次元形状の計測結果の一例が示されている。図２２に示すように、動体の３次元計測、モーションジェスチャの認識などにも適用することができる。
【０１１２】
以上詳細に説明したように、この実施の形態によれば、計測対象物４に形成された複数の疎な投影パターン１１Ａの画像データに基づいて、投影光学系１２のフォーカス方向に関する各被投影パターンの奥行きの探索範囲を絞り込んでから、複数の密な投影パターン１１Ｂの画像データに基づいて逆畳込み演算を行うことにより、各被投影パターンの奥行きを計測している。これにより、逆畳込み演算を行う範囲を、その奥行きを基準として限定された計測範囲内とするので、逆畳込み演算の演算回数を少なくすることができる。この結果、より計算量を低減しつつ、精度良く計測対象物４の３次元計測を行うことができる。
【０１１３】
実施の形態２．
次に、この発明の実施の形態２について説明する。
【０１１４】
図２３に示すように、この実施の形態２に係る３次元計測システム１００は、ハーフミラー６０をさらに有する。３次元計測システム１００は、カメラ２の光軸が、プロジェクタ１の投影光学系１２の光軸ＡＸと同軸に構成されている。プロジェクタ１から出射された投影光は、ハーフミラー６０を透過して計測対象物４に投影される。計測対象物４での反射光は、ハーフミラー６０で反射してカメラ２に至り、カメラ２にて計測対象物４の投影像が、撮像される。
【０１１５】
このようにすれば、奥行きの変化による射影ひずみの発生を防止することができる。したがって、グラフカット処理及びスライディングウインドウ方式を採用しなくても精度良く計測対象物４の３次元形状を求めることができる。
【０１１６】
実施の形態３．
次に、この発明の実施の形態３について説明する。
【０１１７】
図２４に示すように、この実施の形態２に係る３次元計測システム１００は、２つのプロジェクタ１Ａ、１Ｂを備える。プロジェクタ１Ａ、１Ｂの構成は、プロジェクタ１と同じである。
【０１１８】
プロジェクタ１Ａの投影光学系１２には、符号化開口１３が装着されている。ただし、プロジェクタ１Ａの投影光学系１２に装着された符号化開口１３は、第１の色としての赤色光を透過させる赤色フィルタである。プロジェクタ１Ｂの投影光学系１２にも、符号化開口１３が装着されている。ただし、プロジェクタ１Ｂの投影光学系１２に装着された符号化開口１３は、第２の色としての青色光を透過させる青色フィルタである。
【０１１９】
プロジェクタ１Ａから出射される赤色光は、ハーフミラー６１を介して投影される。プロジェクタ１Ｂから出射される青色光は、ハーフミラー６１を介して投影される。
【０１２０】
カメラ２は、赤色光による画像と、青色光による画像とを別々に撮像可能なＲＧＢカメラとなっている。ＲＧＢカメラは、構造化光により計測対象物４に投影された被投影パターンを色毎に撮像する。
【０１２１】
赤色光と青色光とは波長が異なるため、合焦位置が異なる。すなわち、この３次元計測システム１００では、投影部（プロジェクタ１Ａ、１Ｂ）は、合焦位置がそれぞれ異なる複数色の構造化光を、計測対象物４に投影する。構造化光により計測対象物４に投影された被投影パターンを色毎に撮像する。コンピュータ３は、カメラ２での撮像により得られた各色の画像データのうち、符号パターン５の像を読み取り可能な画像データに基づいて、計測対象物４の３次元形状を計測する。
【０１２２】
赤色光の合焦位置ＢＦ１近傍に被投影パターンが形成されている場合には、プロジェクタ１Ｂから出射される青色光による画像データを用いて、計測を行うようにすればよい。図２４に示すように、赤色光の合焦位置ＢＦ１近傍では、赤色光による符号パターン５の像は、点像に近くなっており、青色光による符号パターン５の像を用いた方が、奥行きを精度良く求められるからである。また、青色光の合焦位置ＢＦ２近傍に被投影パターンが形成されている場合には、赤色光による画像データを用いて、計測を行うようにすればよい。青色光の合焦位置ＢＦ２近傍では、青色光による符号パターン５の像は、点像に近くなっており、赤色光による符号パターン５の像を用いた方が、奥行きを精度良く求められるからである。
【０１２３】
なお、プロジェクタ１Ａに投影される投影パターンを疎な投影パターン１１Ａとし、プロジェクタ１１Ｂに投影される投影パターンを密な投影パターン１１Ｂとしてもよい。この場合には、初期計測及びファイン計測を１回の撮像（１ショット）により行うことができる。
【０１２４】
また、プロジェクタ１Ｂには、符号化開口１３Ｂを装着しなくてもよい。本特許ではこれを開口パターンと呼ぶ。この場合、プロジェクタ１Ｂには、映像面１１に、特定の空間周波数成分を有する周期パターンを表示させ、その周期パターンの映像を含む構造化光を投影させるようにする。そして、プロジェクタ１Ａから出射される赤色光の画像データに基づいて初期計測を行い、プロジェクタ１Ｂから出射され映像として移し出されるパターンのボケ具合に基づいて、ファイン計測を行うようにしてもよい。高周波パターンは僅かなボケでもこれを高精度に計測することが出来るため、合焦位置付近ではボケ具合が少なくなる。このため、逆畳み込みによる奥行き推定精度が低くなる点を、効果的に補うことができる。
【０１２５】
上記実施の形態１のような同軸落射方式でない３次元計測システムでは、スライディングウインドウ方式を用いて、奥行きの変化による被投影パターンの射影ひずみを解決した。しかし、プロジェクタとカメラとのベースラインが既知である場合には、奥行きの変化による被投影パターンの位置ずれ量を算出することができるので、カメラで撮像された画像データに含まれる被投影パターンの位置をベースラインに基づいて補正した上で、奥行きの推定を行うようにしてもよい。
【０１２６】
また、上記各実施の形態では、ローカル・バイナリ・パターン（ＬＢＰ）を画像特徴として、初期計測を行ったが、前述のように、ローカル・ターナリ・パターン（ＬＴＰ）を画像特徴として、初期計測を行うようにしてもよい。
【０１２７】
また、上記各実施の形態では、投影光学系１２の出射側に符号化開口１３を装着したが、投影光学系１２の入射側に符号化開口１３を装着するようにしてもよい。また、投影光学系１２の内部に符号化開口１３を組み込んでもよい。投影光学系１２が複数のレンズより構成されている場合には、そのレンズ間に符号化開口１３を装着するようにしてもよい。
【０１２８】
符号パターン５も、図３Ａに示すものには限られない。計測対象物４に非対称なパターンを形成できるものであればよい。
【０１２９】
実施の形態４（ラインパターンとライン開口による手法）．
次に、この発明の実施の形態４について説明する。
【０１３０】
この実施の形態では、図２５Ａに示すように、コンピュータ３は、プロジェクタ１及びカメラ２に接続されている。コンピュータ３は、プロジェクタ１の映像面１１に表示される画像データを出力する。図２５Ｂに示すように、映像面１１には、一方向（Ｘ軸方向）に空間周波数成分を有する２次元パターンが表示される。この２次元パターンは、縦（Ｙ軸方向）に延びＸ軸方向に並ぶラインパターンから成るラインパターン群である。このラインパターンは、配列間隔及び線幅が不規則・ランダムであると、奥行き推定精度や安定さが増す効果がある。一方で、規則パターンであっても、開口パターンとの組合せにより、計測範囲内において同一パターンが生じない組合せも可能であることから、計算量の削減や装置作成の簡略化のために、規則パターンを用いることも可能である。計測対象物４には、この２次元パターンの投影光が、投影光学系１２を介して投影される。
【０１３１】
本実施の形態においても、カメラ２は、投影光が投影された計測対象物４を撮像する。プロジェクタ１の投影光学系１２の光軸ＡＸと、カメラ２の光軸とは非同軸に設定されている。カメラ２とプロジェクタ１とは、２次元パターンを構成するラインパターンの配列方向にずれている。これにより、プロジェクタ１とカメラ２との間には、投影像について視差が生じる。
【０１３２】
この実施の形態では、図２６Ａに示すように、符号化開口１３Ｃが用いられる。この符号化開口１３Ｃの符号パターンは、映像面１１に表示される２次元パターンと同じ方向（光学的に同じ方向；図２６ＡのＸ軸方向）に配列されたライン状の開口パターンから成る。投影光は、この符号化開口１３Ｃを介して計測対象物４に投影される。計測対象物４が、映像面１１に対してデフォーカスしている場合には、図２６Ｂに示すように、位置Ａから位置Ｃまでの間に、その位置に応じて符号パターンの投影像が現れるようになっている。
【０１３３】
投影光学系１２により、映像面１１の結像位置（図２６Ｂの位置Ｂ）には、映像面１１に表示された２次元パターンの像が結像する。この像は、映像面１１に表示された２次元パターンと、符号化開口１３Ｃの符号パターンとの畳込みにより形成される。図２７に示すように、２次元パターンの投影像は、その結像位置（位置Ｂ）を中心に、デフォーカスするにつれて、変化する。３次元計測システム１００は、この投影像の画像データを処理して、投影光学系１２による２次元パターンの結像位置を基準とする計測対象物４の光軸ＡＸの方向（座標軸ｄの方向）の奥行きを推定することにより、計測対象物４の３次元形状を計測する。
【０１３４】
コンピュータ３は、その機能構成として、図２８に示すように、投影パターン設定部４６と、記憶部４０と、データ取得部４１と、奥行き推定部４５と、出力部４４と、を備える。
【０１３５】
投影パターン設定部４６は、プロジェクタ１の映像面１１に表示される２次元パターンの画像データを出力する。これにより、プロジェクタ１の映像面１１（透過型液晶開口）には、図２５Ｂに示す２次元パターンが表示される。
【０１３６】
データ取得部４１は、カメラ２から送信された画像データを、リファレンス画像データ群７０の画像データ又は計測対象画像データ７１のいずれかとして、記憶部４０に記憶する。リファレンス画像データ群７０の画像データであるか、計測対象画像データ７１であるかは、操作部３４の操作入力により決定されてもよいし、プログラムで自動的に制御さるようにしてもよい。
【０１３７】
リファレンス画像データ群７０は、図２９Ａに示すように、投影光学系１２の光軸ＡＸに直交する２次元平面（平面スクリーン）を、光軸ＡＸに関するｄ方向の複数の異なる位置にそれぞれ置いたときにカメラ２により撮像された２次元平面の参照画像データ群である。記憶部４０は、このリファレンス画像データ群７０を記憶する。
【０１３８】
計測対象画像データ７１は、カメラ２で撮像された計測対象物４の画像データである。例えば、図２９Ｂに示すように、計測対象物４が２つのボールである場合、この２つのボールに２次元パターンの投影像が投影される。この場合、図２９Ｃに示すような画像データがカメラ２で撮像される。計測対象物４には、映像面１１に表示された２次元パターンの投影像（Ｘ軸方向に並ぶラインパターンから成る２次元パターンの像）が投影される。この画像データが、計測対象画像データ７１として記憶部４０に記憶される。
【０１３９】
奥行き推定部４５は、カメラ２で撮像された計測対象物４の画像データ（計測対象画像データ７１）と、記憶部４０に記憶されたリファレンス画像データ群７０との間でマッチング窓ＭＷを用いた画像マッチングを行うことにより、投影光学系１２による２次元パターンの結像位置（位置Ｂ）を基準とする計測対象物４の奥行きを推定する。図２９Ｃには、計測対象画像データ７１内に設定されるマッチング窓ＭＷが示されている。また、図２９Ａには、図２９Ｃのマッチング窓ＭＷに対応するマッチング窓ＭＷが示されている。マッチング窓ＭＷは、カメラ２で撮像された計測対象物４の画像データに含まれる２次元パターンの配列方向（Ｘ軸方向）を長手方向とする矩形状の窓である。投影される２次元パターンは、Ｘ軸方向に並ぶラインパターンであるため、Ｘ軸方向に奥行きを求めるための情報を有しているので、Ｘ軸方向に長いマッチング窓ＭＷを用いた方がマッチング精度を向上することができるためである。
【０１４０】
次に、３次元計測システム１００の動作について説明する。
【０１４１】
図３０に示すように、まず、コンピュータ３は、キャリブレーションを行う（ステップＳ５１）。
【０１４２】
キャリブレーションでは、プロジェクタ１から出射された投影光を投影する平面スクリーンが用いられる。図３１に示すように、プロジェクタ１に、符号化開口１３Ｃを装着し、投影パターン設定部４６から２次元パターンの画像データを映像面１１に出力して、コンピュータ３が、プロジェクタ１に、図２５Ｂに示す２次元パターンの投影像を投影させる（ステップＳ６１）。続いて、平面スクリーンの位置（奥行き）が更新される（ステップＳ６２）。ここでは、平面スクリーンが最初の位置に置かれる。最初の位置（平面スクリーンの奥行き）は、他の計測手段によって既知であるものとする。最初の位置は位置Ａである。
【０１４３】
続いて、カメラ２が、平面スクリーンに投影されたプロジェクタ１の投影像を撮像する（ステップＳ６３）。この撮像により得られた画像データは、カメラ２からデータ取得部４１に送られ、データ取得部４１は、この画像データを、リファレンス画像データ群７０の中の１枚の画像データとして記憶部４０に記憶する（ステップＳ６４）。このとき、この画像データは、そのときの平面スクリーンの奥行きと対応づけて記憶される。
【０１４４】
続いて、コンピュータ３は、平面スクリーンの位置が、最後の位置であるか否かを判定する（ステップＳ６５）。ここでは、位置Ｃが最後の位置であり、平面スクリーンの位置は、まだ位置Ａであるので、判定は否定される。
【０１４５】
最後の位置でなければ（ステップＳ６５；Ｎｏ）、平面スクリーンの位置が更新される（ステップＳ６２）。ここでは、位置ＡからΔｄほど、＋ｄ方向にシフトされる。この後、最後の位置となるまで（ステップＳ６５；Ｙｅｓ）、スクリーンの位置の更新（ステップＳ６２）、投影像の撮像（ステップＳ６３）、画像データの記憶（ステップＳ６４）、最後の位置の判定（ステップＳ６５）が繰り返される。このようにして、位置Ａから位置Ｃまでの各位置について、一定のサンプリング間隔Δｄで、参照用の画像データが生成され、リファレンス画像データ群７０の１枚の画像データとして奥行きに対応づけられて、記憶部４０に記憶される。
【０１４６】
最後の位置であると判定された場合（ステップＳ６５；Ｙｅｓ）、キャリブレーションが完了する。
【０１４７】
図３０に戻り、続いて、計測対象物４が、計測範囲Ｆ内に設置される（ステップＳ５２）。続いて、コンピュータ３は、計測対象物４の奥行き計測を行う（ステップＳ５３）。
【０１４８】
ステップＳ５２では、まず、図３２に示すように、プロジェクタ１に２次元パターンの投影像を投影する（ステップＳ７１）。続いて、コンピュータ３は、カメラ２に計測対象物４に投影された投影像を撮像させる（ステップＳ７２）。カメラ２の撮像による計測対象物４の画像データは、コンピュータ３に送られる。コンピュータ３のデータ取得部４１は、この投影像の画像データを計測対象画像データ７１として記憶する（ステップＳ７３）。
【０１４９】
続いて、奥行き推定部４５は、計測対象画像データ７１を読み込む（ステップＳ７４）。奥行き推定部４５は、計測対象画像データ７１にマッチング窓ＭＷを設定する（ステップＳ７５）。ここで、例えば図３３に示すように、計測対象画像データ７１の左上端に、マッチング窓ＭＷが設定される。
【０１５０】
続いて、奥行き推定部４５は、リファレンス画像データ群７０の中から１枚の参照画像データを読み込む（ステップＳ７６）。続いて、奥行き推定部４５は、計測対象物４の画像データと読み込まれた参照画像データとの間のマッチング窓ＭＷにおける相関値を算出する（ステップＳ７７）。ここでは、計測対象画像データ７１におけるマッチング窓ＭＷの領域と、参照画像データにおける同一の位置にあるマッチング窓ＭＷの領域との画像マッチングが行われ、両画像の一致度が相関値として算出される。
【０１５１】
続いて、奥行き推定部４５は、読み込んだ参照画像データが、最後の参照画像データであるか否かを判定する（ステップＳ７８）。最後の参照画像データでない場合（ステップＳ７８；Ｎｏ）、奥行き推定部４５は、次の参照画像データの読み込み（ステップＳ７６）、相関値の算出（ステップＳ７７）、最後の参照画像データの判定（ステップＳ７８）、を繰り返し行う。
【０１５２】
最後の参照画像データである場合（ステップＳ７８；Ｙｅｓ）、奥行き推定部４５は、奥行きｄｔを推定する（ステップＳ７９）。例えば、図３４に示すように、奥行き推定部４５は、各参照画像データに対応する奥行きに対する相関値の変化を示すグラフを生成する。さらに、奥行き推定部４５は、フィッティングによる補間で、マッチング窓ＭＷ内の奥行きｄtを推定する。
【０１５３】
続いて、奥行き推定部４５は、マッチング窓ＭＷによる奥行きの推定が、画像データ内のすべての位置で完了したか否かを判定する（ステップＳ８０）。推定が完了していなければ（ステップＳ８０；Ｎｏ）、奥行き推定部４５は、マッチング窓ＭＷを画像データ内の他の場所に設定し（ステップＳ７５）、参照画像データ群７０から参照画像データを読み込んで（ステップＳ７６）、計測対象画像データ７１と参照画像データとのマッチング窓ＭＷ内での相関値を算出する（ステップＳ７７）処理を、最後の参照画像データとなる（ステップＳ７８；Ｙｅｓ）まで繰り返す。
【０１５４】
最後の参照画像データまで達すると（ステップＳ７８；Ｙｅｓ）、奥行き推定部４５は、前回と同様にして、計測対象物４の奥行きを推定する（ステップＳ７９）。続いて、奥行き推定部４５は、マッチング窓ＭＷによる奥行きの推定が、計測対象画像データ７１内のすべての位置で完了したか否かを判定する（ステップＳ８０）。推定が完了していなければ（ステップＳ８０；Ｎｏ）、奥行き推定部４５は、再びステップＳ７５→Ｓ７６→Ｓ７７→Ｓ７８を実行し、そのマッチング窓ＭＷでの各奥行きの参照画像データとの画像マッチングを行って、その相関値を求める。最後の参照画像データまで読み込むと（ステップＳ７８；Ｙｅｓ）、奥行き推定部４５は、そのマッチング窓ＭＷの部分における奥行きを推定する（ステップＳ７９）。
【０１５５】
このようにして、マッチング窓ＭＷが画像データ内を移動しつつ、そのマッチング窓ＭＷの部分における奥行きが推定される。推定が完了すると（ステップＳ８０；Ｙｅｓ）、奥行き推定部４５は、奥行き計測を完了する。推定された奥行きは、奥行きデータ７４として記憶部４０に記憶され、出力部４４から表示出力される。
【０１５６】
以上詳細に説明したように、この実施の形態によれば、Ｘ軸方向にラインパターンが不規則に配列された２次元パターンが、そのパターンと同じ方向にライン状に並ぶ開口パターンの符号化開口１３Ｃを介して計測対象物４に投影される。これにより、計測対象物４に投影される投影像は、２次元パターンと符号化開口１３Ｃの開口パターンとの畳込みにより形成される像となり、計測対象物４の奥行きの変化に対してパターンの変化が大きい画像となる。このため、計測対象物４の奥行き分解能を向上することができる。この時、それぞれのパターンはインパルス列であるため、畳み込み後のパターンもインパルス列となり、ボケることがない。このため、奥行き方向が大きく変化してもパターンがボケず、計測レンジが飛躍的に向上するというメリットが生まれる。
【０１５７】
また、計測対象物４の奥行きは、すでに撮像されたリファレンス画像データ群７０との画像マッチングにより推定される。したがって、計測対象物４の奥行きを推定するのに符号化開口１３Ｃの開口パターンによる逆畳込み演算などの複雑な演算を行う必要がなくなる上、ＤｆＤ法とステレオ法とを融合した高精度な計測が可能となる。すなわち、この実施の形態によれば、より計算量を低減しつつ、精度良く計測対象物４の３次元計測を行うことができる。
【０１５８】
また、本実施の形態によれば、予め２次元平面に対して投影光学系１２を介して投影された２次元パターンの投影像がカメラ２で撮像されて得られる画像データと、２次元平面の参照画像データ群との画像マッチングにより、計測対象物４の奥行きが推定される。このため、投影される投影像のデフォーカスのみならず、プロジェクタ１とカメラ２との間の視差、投影光学系１２の収差、カメラ２の光学系の収差の影響をすべて加味した状態で、計測対象物４の奥行きを高精度に推定することができる。
【０１５９】
実施の形態５（斜め形状の推定）．
次に、この発明の実施の形態５について説明する。
【０１６０】
図３５に示すように、上記実施の形態では、コンピュータ３が、仮想斜面画像作成部４８を備える。仮想斜面画像作成部４８は、投影光学系１２の光軸ＡＸに直交する２次元平面を、光軸ＡＸに関する複数の異なる位置にそれぞれ置いたときにカメラ２により撮像される２次元平面の参照画像データ（リファレンス画像データ群７０の参照画像データ）の各部分を合成する。この合成により、光軸ＡＸに対して複数の異なる角度でそれぞれ置いたときに得られるリファレンス斜面画像データ群７２が生成される。
【０１６１】
記憶部４０は、投影される２次元パターンを構成するラインパターンの配列方向に沿って奥行きが変わるように、投影光学系１２の光軸ＡＸに斜交する２次元平面を、光軸ＡＸに対して複数の異なる角度でそれぞれ置いたときに得られる２次元平面の参照画像データ群をリファレンス斜面画像データ群７２として記憶する。奥行き推定部４５は、カメラ２で撮像された計測対象物４の画像データと、記憶部４０に記憶されたリファレンス斜面画像データ群７２との間でマッチング窓ＭＷを用いた画像マッチングも行う。これにより、投影光学系１２による映像面１１の２次元パターンの結像位置を基準とする計測対象物４の奥行きを推定する。
【０１６２】
図３６Ａには、仮想斜面の生成方法が模式的に示されている。仮想斜面は、以下の数式に従って生成される。
【数５】
2016186211.tif 000007
ここで、Ｄは奥行きであり、Ｘは、投影光学系１２の光軸ＡＸに直交する平面における空間周波数成分を有する方向の座標である。また、θは平面の回転角度であり、ｆはカメラ２の焦点距離であり、Ｄpivotは、回転方向の奥行き、すなわち仮想斜面の空間周波数成分を有する方向の位置である。この式によれば、仮想斜面の奥行きＤpivotの位置には、奥行きＤの画像データのＸ位置の部分データが配置される。
【０１６３】
この実施の形態では、上記実施の形態４と同様に、図３０、図３２に示すフローチャートに従って、３次元計測処理が実行される。ステップＳ５１のキャブレーションについては、図３７のフローチャートに従って実行される。このキャリブレーションは、図３１に示すキャリブレーションとほぼ同じであるが、仮想斜面画像作成部４８が、最後に、リファレンス画像データ群７０に基づいて、リファレンス斜面画像データ群７２を生成する（ステップＳ６６）点が異なる。ここで、例えば、回転角度θ＝３０度、４５度、６０度等の仮想斜面の画像データが生成され、リファレンス斜面画像データ群７２として記憶部４０に記憶される。
【０１６４】
また、ステップＳ５３（図３０）の奥行き計測では、図３２のステップＳ７６→Ｓ７７→Ｓ７８の繰り返しにおいて、奥行き推定部４５は、リファレンス画像データ群７０だけでなく、リファレンス斜面画像データ群７２の参照斜面画像データと、計測対象画像データ７１との画像マッチングも行って両者の相関値を算出する。ステップＳ７９において、マッチング窓ＭＷの画像データが、参照斜面画像データと最も相関値が高かった場合には、奥行き推定部４５は、その仮想斜面を用いて奥行きを推定する。
【０１６５】
図３６Ｂに示すような計測対象物４の画像データに対して、投影光学系１２の光軸ＡＸに直交する２次元平面の参照画像データの画像マッチングのみ行う場合、図３６Ｃの矢印で示すように、計測対象物４と背景との境界については推定される奥行きが不安定になる場合がある。
【０１６６】
これに対して、投影光学系１２の光軸ＡＸに直交する２次元平面の参照画像データの画像マッチングに加え、リファレンス斜面画像データ群７２との画像マッチングも行った場合には、図３６Ｄの計測対象物４の斜面の法線を表す法線マップに示すように、計測対象物４の斜面との画像マッチングが可能となるので、球状の物体の輪郭周辺の斜面をより正確に表現することができるようになる。このため、図３６Ｅに示すように、計測対象物４の奥行きを高精度に推定することができるようになる。
【０１６７】
実施の形態５’（シミュレーション演算によるデータベースの作成）．
次に、この発明の実施の形態５’について説明する。
【０１６８】
この実施の形態では、参照画像データ群を実際に撮影する代わりに、コンピュータ３（演算部）が、２次元パターンの情報及び開口パターンの情報、さらにプロジェクタの内部パラメータ（焦点距離やピクセルの縦横比、歪みなど）や、カメラの内部パラメータの情報を用いて、計算により参照画像データを生成することで、奥行き推定を行う。これにより、膨大な参照画像データを撮影する必要がなくなり、そのデータを蓄えておく必要も無くなるというメリットが得られる。上記のパラメータ情報は、プロジェクタとカメラのキャリブレーションを事前に行うことで推定しておく。
【０１６９】
実施の形態６（色によるＣｏａｒｓｅ−ｔｏ−ｆｉｎｅ）．
次に、この発明の実施の形態６について説明する。
【０１７０】
この実施の形態では、計測対象物４の奥行きを粗く計測し、粗く求められた奥行きに基づいて、奥行きの計測範囲を狭くしてから、その奥行きを精細に計測する、いわゆるＣｏａｒｓｅ−ｔｏ−ｆｉｎｅ計測が行われる。この実施の形態では、プロジェクタ１の映像面１１（透過型液晶）にはＲ（赤色）、Ｇ（緑色）、Ｂ（青色）から成るカラー映像が表示されるものとし、カメラ２は、Ｒ（赤色）、Ｇ（緑色）、Ｂ（青色）から成るカラー画像データを撮像するものとする。一般的に、カラー画像データは、赤色、緑色、青色の画像データに分離抽出することが可能である。ここでも、プロジェクタ１には、符号化開口１３Ｃが用いられる。
【０１７１】
コンピュータ３は、その機能構成として、図３８に示すように、投影パターン設定部４６と、色画像分割部４７と、記憶部４０と、奥行き推定部４５と、出力部４４と、を備える。
【０１７２】
投影パターン設定部４６は、プロジェクタ１の映像面１１に表示される２次元パターンの画像データを出力する。ここでは、図３９Ａに示す青色の２次元パターンと、図３９Ｂに示す赤色の２次元パターンとが合成された画像が表示される。図３９Ａに示すように、青色の２次元パターンは、一方向（Ｘ軸方向）にラインパターンが並ぶ、配列周期の長いラインパターン群である。また、図３９Ｂに示すように、赤色の２次元パターンは、青色の２次元パターンと同じ方向に、青色の２次元パターンよりも周期の短い（空間周波数成分が高い）ラインパターン群である。
【０１７３】
色画像分割部４７は、カメラ２で撮像されたカラー画像データを入力する。色画像分割部４７は、カラー画像から得られた赤色（Ｒ）の画像データを、リファレンスＲ画像データ群７０Ａ又は計測対象Ｒ画像データ７１Ａとして記憶部４０に格納する。さらに、色画像分割部４７は、カラー画像から得られた青色の画像データを、リファレンスＢ画像データ群７０Ｃ又は計測対象Ｂ画像データ７１Ｃとして記憶部４０に格納する。推定された奥行きは、粗奥行きデータ７５として記憶部４０に記憶される。上述のように、青色の２次元パターンの空間周波数は、赤色の２次元パターンよりも低いため、青色の参照画像データが撮像される間隔Δｄ１は、赤色のパターンでの間隔Δｄ２よりも大きくなる。
【０１７４】
記憶部４０は、Δｄ１で、投影光学系１２の光軸ＡＸに関する複数の異なる位置にそれぞれ置いたときにカメラ２により撮像された青色の参照画像データ群（リファレンスＢ画像データ群７０Ｃ）と、Δｄ１よりも短いΔｄ２で、光軸ＡＸに関する複数の異なる位置にそれぞれ置いたときにカメラ２により撮像された赤色の参照画像データ群（リファレンスＲ画像データ群７０Ａ）と、を記憶する。
【０１７５】
奥行き推定部４５は、計測対象Ｂ画像データ７１Ｃと、リファレンスＢ画像データ群７０Ｃとの間で、マッチング窓ＭＷを用いた画像マッチングを行うことにより、投影光学系１２による２次元パターンの結像位置を基準とする計測対象物４の奥行きを推定する。推定された奥行きは、粗奥行きデータ７５として記憶部４０に記憶される。
【０１７６】
奥行き推定部４５は、粗奥行きデータ７５に記憶された奥行きを中心とする限定された範囲で、カメラ２で撮像された計測対象物４の画像データから得られる計測対象Ｒ画像データ７１Ａと記憶部４０に記憶された赤色のリファレンスＲ画像データ群７０Ａとの間でマッチング窓ＭＷを用いた画像マッチングを行うことにより、投影光学系１２による２次元パターンの結像位置を基準とする計測対象物４の奥行きを推定する。
【０１７７】
この実施の形態に係る３次元計測システム１００の３次元計測処理は、図３０のフローチャートで示す処理と同じ処理が行われる。キャリブレーション（ステップＳ５１）においては、基本的には、図３１に示す流れで処理が行われるが、ステップＳ６４においては、色画像分割部４７が、カメラ２から送られたカラー画像データから、赤色の画像データを抽出して、リファレンスＲ画像データ群７０Ａの１つの画像データとして、記憶部４０に記憶する。また、色画像分割部４７は、カメラ２から送られたカラー画像データから、青色の画像データを抽出して、リファレンスＢ画像データ群７０Ｃの１つの画像データとして、記憶部４０に記憶する。
【０１７８】
奥行き計測（ステップＳ５３）で行われる処理は、図４０、図４１に示されている。
【０１７９】
ステップＳ５２では、まず、図４０に示すように、プロジェクタ１に２次元パターンの投影像を投影する（ステップＳ７１）。続いて、コンピュータ３は、カメラ２に計測対象物４に投影された投影像を撮像させる（ステップＳ７２）。カメラ２の撮像による計測対象物４のカラー画像データは、コンピュータ３に送られる。コンピュータ３の色画像分割部４７は、この投影像のカラー画像データから抽出された赤色の画像データを、計測対象Ｒ画像データ７１Ａとして記憶し、カラー画像データから抽出された青色の画像データを、計測対象Ｂ画像データ７１Ｃとして記憶する（ステップＳ７３）。
【０１８０】
続いて、奥行き推定部４５は、計測対象Ｂ画像データ７１Ｃを読み込む（ステップＳ７４）。奥行き推定部４５は、計測対象Ｂ画像データ７１Ｃにマッチング窓ＭＷを設定する（ステップＳ７５）。
【０１８１】
続いて、奥行き推定部４５は、リファレンスＢ画像データ群７０Ｃの中から１枚の参照画像データを読み込む（ステップＳ７６）。続いて、奥行き推定部４５は、計測対象物４の計測対象Ｂ画像データ７１Ｃと、読み込まれた参照画像データとの間のマッチング窓ＭＷにおける相関値を算出する（ステップＳ７７）。ここでは、計測対象Ｂ画像データ７１Ｃにおけるマッチング窓ＭＷの領域と、参照画像データにおける同一の位置にあるマッチング窓ＭＷの領域との画像マッチングが行われ、両画像の一致度が相関値として算出される。
【０１８２】
続いて、奥行き推定部４５は、読み込んだ参照画像データが、最後の参照画像データであるか否かを判定する（ステップＳ７８）。最後の参照画像データでない場合（ステップＳ７８；Ｎｏ）、奥行き推定部４５は、リファレンスＢ画像データ群７０Ｃから次の参照画像データの読み込み（ステップＳ７６）、相関値の算出（ステップＳ７７）、最後の参照画像データの判定（ステップＳ７８）を繰り返し行う。
【０１８３】
最後の参照画像データである場合（ステップＳ７８；Ｙｅｓ）、奥行き推定部４５は、奥行きを推定する（ステップＳ７９）。図４２には、奥行き推定部４５において求められた奥行きに対する相関値の変化を示すグラフが示されている。図４２では、青色の画像データにおける奥行きと相関値との関係が、点（Ｃｏａｒｓｅ）で示されている。奥行き推定部４５は、奥行きに対する相関値の変化に基づいて、計測対象物４の奥行きの候補を幾つか抽出する。図４２の例では、相関値が１．０となる点が、３点抽出されるようになる。
【０１８４】
続いて、奥行き推定部４５は、マッチング窓ＭＷによる奥行きの推定が、画像データ内のすべての位置で完了したか否かを判定する（ステップＳ８０）。推定が完了していなければ（ステップＳ８０；Ｎｏ）、奥行き推定部４５は、マッチング窓ＭＷを画像データ内の他の場所に設定し（ステップＳ７５）、リファレンスＢ画像データ群７０Ｃから参照画像データを読み込んで（ステップＳ７６）、計測対象Ｂ画像データ７１Ｃと参照画像データとのマッチング窓ＭＷ内での相関値を算出する（ステップＳ７７）処理を、最後の参照画像データとなる（ステップＳ７８；Ｙｅｓ）まで繰り返す。
【０１８５】
最後の参照画像データまで達すると（ステップＳ７８；Ｙｅｓ）、奥行き推定部４５は、前回と同様にして、計測対象物４の奥行きを推定する（ステップＳ７９）。続いて、奥行き推定部４５は、マッチング窓ＭＷによる奥行きの推定が、計測対象Ｂ画像データ７１Ｃ内のすべての位置で完了したか否かを判定する（ステップＳ８０）。推定が完了していなければ（ステップＳ８０；Ｎｏ）、奥行き推定部４５は、再びステップＳ７５→Ｓ７６→Ｓ７７→Ｓ７８を実行し、そのマッチング窓ＭＷでの各奥行きの参照画像データとの画像マッチングを行って、その相関値を求める。最後の参照画像データまで読み込むと（ステップＳ７８；Ｙｅｓ）、奥行き推定部４５は、そのマッチング窓ＭＷの部分における奥行きを推定する（ステップＳ７９）。
【０１８６】
このようにして、マッチング窓ＭＷが計測対象Ｂ画像データ７１Ｃ内を移動しつつ、そのマッチング窓ＭＷの部分における奥行きが推定される。推定が完了すると（ステップＳ８０；Ｙｅｓ）、奥行き推定部４５は、推定結果を、粗奥行きデータ７５として、記憶部４０に記憶する（ステップＳ８１）。
【０１８７】
続いて、奥行き推定部４５は、図４１に示すように、奥行きの探索範囲を決定する（ステップＳ８２）。例えば、図４２に示すように、計測対象Ｂ画像データ７１Ｃで画像マッチングを行ったときの相関値が１．０となった奥行きを中心に、相関値が０．５以上である範囲Ａ、Ｂ、Ｃの範囲に探索範囲を限定する。
【０１８８】
続いて、奥行き推定部４５は、計測対象Ｒ画像データ７１Ａを読み込む（ステップＳ８３）。奥行き推定部４５は、計測対象Ｒ画像データ７１Ａにマッチング窓ＭＷを設定する（ステップＳ８４）。
【０１８９】
続いて、奥行き推定部４５は、リファレンスＲ画像データ群７０Ａの中から１枚の参照画像データを読み込む（ステップＳ８５）。続いて、奥行き推定部４５は、計測対象物４の計測対象Ｒ画像データ７１Ａと、読み込まれた参照画像データとの間のマッチング窓ＭＷにおける相関値を算出する（ステップＳ８６）。ここでは、計測対象Ｒ画像データ７１Ａにおけるマッチング窓ＭＷの領域と、参照画像データにおける同一の位置にあるマッチング窓ＭＷの領域との画像マッチングが行われ、両画像の一致度が相関値として算出される。
【０１９０】
続いて、奥行き推定部４５は、読み込んだ参照画像データが、最後の参照画像データであるか否かを判定する（ステップＳ８７）。最後の参照画像データでない場合（ステップＳ８７；Ｎｏ）、奥行き推定部４５は、リファレンスＲ画像データ群７０Ａから次の参照画像データの読み込み（ステップＳ８５）、相関値の算出（ステップＳ８６）、最後の参照画像データの判定（ステップＳ８７）を繰り返し行う。
【０１９１】
最後の参照画像データである場合（ステップＳ８７；Ｙｅｓ）、奥行き推定部４５は、奥行きを推定する（ステップＳ８８）。例えば、図４２に示すように、奥行き推定部４５は、各参照画像データに対応する奥行きに対する相関値の変化を示すグラフを生成する。図４２では、赤色の画像データによる推定結果は、曲線（ｆｉｎｅ）で示されている。
【０１９２】
続いて、奥行き推定部４５は、マッチング窓ＭＷによる奥行きの推定が、画像データ内のすべての位置で完了したか否かを判定する（ステップＳ８９）。推定が完了していなければ（ステップＳ８９；Ｎｏ）、奥行き推定部４５は、マッチング窓ＭＷを画像データ内の他の場所に設定し（ステップＳ８４）、リファレンスＲ画像データ群７０Ａから参照画像データを読み込んで（ステップＳ８５）、計測対象Ｒ画像データ７１Ａと参照画像データとのマッチング窓ＭＷ内での相関値を算出する（ステップＳ８６）処理を、最後の参照画像データとなる（ステップＳ８７；Ｙｅｓ）まで繰り返す。
【０１９３】
最後の参照画像データまで達すると（ステップＳ８７；Ｙｅｓ）、奥行き推定部４５は、前回と同様にして、計測対象物４の奥行きを推定する（ステップＳ８８）。続いて、奥行き推定部４５は、マッチング窓ＭＷによる奥行きの推定が、計測対象Ｒ画像データ７１Ａ内のすべての位置で完了したか否かを判定する（ステップＳ８９）。推定が完了していなければ（ステップＳ８９；Ｎｏ）、奥行き推定部４５は、再びステップＳ８４→Ｓ８５→Ｓ８６→Ｓ８７を実行し、そのマッチング窓ＭＷでの各奥行きの参照画像データとの画像マッチングを行って、その相関値を求める。最後の参照画像データまで読み込むと（ステップＳ８７；Ｙｅｓ）、奥行き推定部４５は、そのマッチング窓ＭＷの部分における奥行きを推定する（ステップＳ８８）。例えば、図４２のグラフでは、範囲Ｂにあるピークの奥行きが、最終的な奥行きとして推定される。
【０１９４】
このようにして、マッチング窓ＭＷが計測対象Ｒ画像データ７１Ａ内を移動しつつ、そのマッチング窓ＭＷの部分における奥行きが推定される。推定が完了すると（ステップＳ８９；Ｙｅｓ）、奥行き推定部４５は、推定結果を、ファイン奥行きデータ７６として、記憶部４０に記憶する（ステップＳ９０）。奥行き推定部４５は、奥行き計測を完了する。ファイン奥行きデータ７６は、記憶部４０に記憶され、出力部４４から表示出力される。
【０１９５】
この実施の形態によれば、空間周波数が低く、サンプリング間隔が長いがラインパターン群（青色の２次元パターン）で計測対象物４の奥行きをおおまかに検出してから、探索範囲を絞って、空間周波数が高くサンプリング間隔が短いラインパターン群（赤色の２次元パターン）で計測対象物４の奥行きを精細に推定する。これにより、より計算量を低減しつつ、精度良く計測対象物の３次元計測を行うことができる。
【０１９６】
実施の形態７（３色による曖昧性減少による精度向上）．
次に、この発明の実施の形態７について説明する。
【０１９７】
この実施の形態では、プロジェクタ１の映像面１１にはカラー画像が表示され、投影像もカラーの投影像となる。カメラ２は、投影像のカラー画像データを撮像する。このカラー画像データは、赤色、緑色、青色の画像データに分離可能である。このコンピュータ３は、カラー画像から分割される、赤色、緑色、青色の画像データに基づいて、それぞれ画像マッチングを行うことにより、計測対象物４の奥行きを推定する。
【０１９８】
コンピュータ３は、その機能構成として、図４３に示すように、投影パターン設定部４６と、色画像分割部４７と、記憶部４０と、奥行き推定部４５と、出力部４４と、を備える。
【０１９９】
投影パターン設定部４６は、プロジェクタ１の映像面１１に表示される２次元パターンを出力する。ここでは、図４４Ａに示す赤色の２次元パターンと、図４４Ｂに示す緑色のパターンと、図４４Ｃに示す青色のパターンと、が合成された画像が表示される。図４４Ａに示すように、赤色の２次元パターンは、一方向（Ｘ軸方向）に並ぶラインパターン群から成るラインパターン群である。また、図４４Ｂに示すように、緑色の２次元パターンは、赤色の２次元パターンと同程度の高さを有し、かつ、赤色の２次元パターンとは異なるパターンである。さらに、図４４Ｃに示すように、青色の２次元パターンは、赤色、緑色の２次元パターンと同程度の高さを有し、かつ、赤色、緑色の２次元パターンとは異なるパターンである。
【０２００】
色画像分割部４７は、カメラ２で撮像されたカラー画像データを入力する。色画像分割部４７は、カラー画像データから抽出された赤色の画像データを、リファレンスＲ画像データ群７０Ａ又は計測対象Ｒ画像データ７１Ａとして記憶部４０に格納する。また、色画像分割部４７は、カラー画像データから抽出された緑色の画像データを、リファレンスＧ画像データ群７０Ｂ又は計測対象Ｇ画像データ７１Ｂとして記憶部４０に格納する。さらに、色画像分割部４７は、カラー画像データから抽出された青色の画像データを、リファレンスＢ画像データ群７０Ｃ又は計測対象Ｂ画像データ７１Ｃとして記憶部４０に格納する。
【０２０１】
奥行き推定部４５は、計測対象Ｒ画像データ７１Ａと、リファレンスＲ画像データ群７０Ａとの間で、マッチング窓ＭＷを用いた画像マッチングを行うことにより、投影光学系１２による２次元パターンの結像位置を基準とする計測対象物４の奥行きを推定する。
【０２０２】
また、奥行き推定部４５は、計測対象Ｇ画像データ７１Ｂと、計測対象Ｇ画像データ７０Ｂとの間で、マッチング窓ＭＷを用いた画像マッチングを行うことにより、投影光学系１２による２次元パターンの結像位置を基準とする計測対象物４の奥行きを推定する。
【０２０３】
また、奥行き推定部４５は、計測対象Ｂ画像データ７１Ｃと、計測対象Ｂ画像データ７０Ｃとの間で、マッチング窓ＭＷを用いた画像マッチングを行うことにより、投影光学系１２による２次元パターンの結像位置を基準とする計測対象物４の奥行きを推定する。
【０２０４】
この実施の形態では、各色の画像データに対して、それぞれ図３０、図３１、図３２のフローチャートに従って、３次元計測処理が実行される。ただし、コンピュータ３は、赤色、緑色、青色の画像データに対して、それぞれ個別に計測対象物４の奥行きを求める。
【０２０５】
具体的には、図３１のステップＳ６４（画像データの記憶）では、色画像分割部４７は、カラー画像データから分離された赤色、緑色、青色の画像データを分離し、赤色の画像データをリファレンスＲ画像データ群７０Ａとして記憶部４０に記憶し、緑色の画像データをリファレンスＧ画像データ群７０Ｂとして記憶部４０に記憶し、青色の画像データのリファレンスＢ画像データ群７０Ｃとして記憶部４０に記憶する。
【０２０６】
また、図３２のステップＳ５３（奥行き計測）では、奥行き推定部４５は、計測対象Ｒ画像データ７１Ａ、計測対象Ｇ画像データ７１Ｂ、計測対象Ｂ画像データ７１Ｃそれぞれについて図３２のステップＳ７４〜Ｓ７９が実行される。
【０２０７】
この実施の形態では、ステップＳ８０終了後、奥行き推定部４５は、赤色、緑色、青色でそれぞれ求められた奥行きの平均値を、最終的な奥行きの推定値として算出する。算出された奥行きの推定値は、奥行きデータ５５として記憶部４０に記憶され、出力部４４により表示出力される。図４５には、赤色、緑色、青色、全色の画像データにおける奥行きに対する相関値の変動が示されている。赤色、緑色、青色、全色の２次元パターンはそれぞれ異なるが、図４５に示すように、相関値が最も大きい奥行きは、良く一致している。これにより、各色で求められた奥行きは、信頼性の高い推定値となる。
【０２０８】
実施の形態８（縦・横直交パターン）．
次に、この発明の実施の形態８について説明する。
【０２０９】
この実施の形態では、プロジェクタ１の映像面１１にはカラー映像が表示される。したがって、計測対象物４には、カラーの投影光が投影される。カメラ２は、カラー画像データを撮像する。このコンピュータ３は、カラー画像データから抽出される、赤色、青色の画像データに基づいて、それぞれ画像マッチングを行うことにより、計測対象物４の奥行きを推定する。
【０２１０】
コンピュータ３は、その機能構成として、図４６に示すように、投影パターン設定部４６と、色画像分割部４７と、記憶部４０と、奥行き推定部４５と、出力部４４と、を備える。
【０２１１】
投影パターン設定部４６は、プロジェクタ１の映像面１１に表示される２次元パターンを出力する。ここでは、図４７Ａに示す赤色により形成されたラインパターン群と、図４７Ｂに示す青色により形成されたラインパターン群とが合成された画像が表示される。図４７Ａに示すように、赤色のパターンは、Ｘ軸方向に配列されたラインパターンより成るラインパターン群である。また、図４７Ｂに示すように、青色のパターンは、赤色のパターンと同程度の高さを有し、かつ、Ｙ軸方向に配列されたラインパターンより成るラインパターン群である。
【０２１２】
色画像分割部４７は、カメラ２で撮像されたカラー画像データを入力する。色画像分割部４７は、カラー画像データから分割された赤色の画像データを、リファレンスＲ画像データ群７０Ａ又は計測対象Ｒ画像データ７１Ａとして記憶部４０に格納する。色画像分割部４７は、カラー画像データから分割された青色の画像データを、リファレンスＢ画像データ群７０Ｃ又は計測対象Ｂ画像データ７１Ｃとして記憶部４０に格納する。
【０２１３】
奥行き推定部４５は、計測対象Ｒ画像データ７１Ａと、リファレンスＲ画像データ群７０Ａとの間で、マッチング窓ＭＷを用いた画像マッチングを行うことにより、投影光学系１２による２次元パターンの結像位置を基準とする計測対象物４のおおまかな奥行きを推定する。
【０２１４】
また、奥行き推定部４５は、計測対象Ｂ画像データ７１Ｃと、リファレンスＢ画像データ群７０Ｃとの間で、マッチング窓ＭＷを用いた画像マッチングを行うことにより、投影光学系１２による２次元パターンの結像位置を基準とする計測対象物４の奥行きを推定する。
【０２１５】
奥行き推定部４５は、赤色、青色でそれぞれ求められた奥行きの平均値を、最終的な奥行きの推定値（奥行きデータ５５）として算出する。
【０２１６】
なお、この実施の形態では、図４７Ａに示すような２次元パターンの画像マッチングに用いられるマッチング窓ＭＷは、Ｘ軸方向が長手方向となり、図４７Ｂに示すような２次元パターンの画像マッチングに用いられるマッチング窓ＭＷは、Ｙ軸方向が長手方向となる。
【０２１７】
このように、色毎の画像データにおいてラインパターンが並ぶ方向（空間周波数成分を有する方向）を互いに直交するようにすれば、ラインパターンの空間周波数成分の方向に関わらず、奥行きを正確に推定することができる。この時、共通の開口パターンを使用した場合、Ｙ軸は開口パターンに直交する方向となるため、投影パターンはただのボケた画像となる。これにより、Ｙ軸方向ではＤｆＤの効果を得ることができ、Ｃｏａｒｓｅ  ｔｏ  ｆｉｎｅがワンショットで実現される。あるいは、Ｙ軸の投影パターンに合わせて、開口パターンもＹ軸方向にすれば、Ｘ軸およびＹ軸それぞれがインパルス列となり、冗長性による精度向上や、マッチング窓がオクルージョンの影響を受けにくくなるというメリットが生まれる。これにより、図４８に示すように、球状の計測対象物４の上側の輪郭部分や、左側の輪郭部分の奥行きを精度良く推定することができる。
【０２１８】
実施の形態８’（カラーフィルタによる開口）．
次に、この発明の実施の形態８’について説明する。
【０２１９】
この実施の形態では、開口パターンには、第１の色（例えば赤色）の光のみを遮断するカラーフィルタを備えた第１の開口パターンと、第２の色（例えば青色）の光のみを遮断するカラーフィルタを備えた第２の開口パターンとが含まれる。複数のパターンを異なる色で投影する際に、それぞれの色に適したカラーフィルタを用いて開口パターンを作成することで、投影されるパターンに異なる性質を与えることができる。これにより、前記のCoarse to fineや、複数色による曖昧性の減少、直交パターンによるオクルーディングバウンダリの精度向上などを、より効果的に実現できる。
【０２２０】
実施の形態９（プロジェクタ２台によるシステム）．
次に、この発明の実施の形態９について説明する。
【０２２１】
図４９に示すように、この実施の形態では、３次元計測システム１００は、プロジェクタ１Ａ、１Ｂを２台備えている。プロジェクタ１Ａ、１Ｂは、異なる方向から計測対象物４に２次元パターンを投影する。カメラ２の光軸は、プロジェクタ１Ａ、１Ｂの光軸とは同軸ではない。
【０２２２】
このように、複数の異なる方向から２次元パターンの投影像を計測対象物４に投影し、カメラ２でその投影像を撮像するようにすれば、例えばプロジェクタ１Ａと計測対象物４との間に障害物６があったとしても、プロジェクタ１Ｂの投影光により、計測対象物４の上に投影像を投影することができるので、計測対象物４の奥行きを正確に推定することができる。
【０２２３】
なお、計測対象物４の奥行きを計測するには、プロジェクタ１Ａから投影された投影像と、プロジェクタ１Ｂから投影された投影像とを分離して撮像するのが望ましい。このために、プロジェクタ１Ａ、１Ｂから投影される投影光の色を異なるものとし、カメラ２側にバンドパスフィルタを設けて、２つの投影像の画像データを分離するようにしてもよい。また、プロジェクタ１Ａ、１Ｂから投影される投影光を異なる方向の偏光とし、カメラ２側で偏光フィルタ又は偏光ビームスプリッタ等を設けて、２つの投影像を別々に撮像可能としてもよい。
【０２２４】
また、図５０に示すように、プロジェクタ１Ａの光軸ＡＸとカメラ２の光学系の光軸とのずれを示す基線をベースラインＢ１とし、プロジェクタ１Ｂの光軸ＡＸとカメラ２の光学系の光軸とのずれを示す基線をベースラインＢ２とする。この場合、ベースラインＢ１、Ｂ２が直交するようにプロジェクタ１Ａ、１Ｂを配置するようにしてもよい。この場合、プロジェクタ１Ａ、１Ｂにおける符号化開口１３Ｄ、１３Ｅの空間周波数成分の方向は、ベースラインＢ１、Ｂ２が延びる方向に設定される。映像面１１に表示される２次元パターンも同様である。このようにすれば、計測対象物４のＹ軸方向の輪郭だけでなく、Ｘ軸方向の輪郭も精度良く推定することができる。
【０２２５】
なお、上記各実施の形態では、画像マッチングにより２つの画像データの相関値を求めて、画像マッチングを行うことにより、計測対象物４の奥行きを推定した。しかしながら、計測対象物４の奥行きを求める方法は、これには限られない。例えば、画像データ内のマッチング窓ＭＷと同じ大きさの領域についてそれぞれ特徴量を求め、インデックスを奥行きとするＫｄ木を生成し、Ｋｄ木による探索により、画像マッチングを行い、計測対象物４の奥行きを推定するようにしてもよい。例えば、図５１に示すようなカラー画像データＡを投影する場合、各色の画像データＢ、Ｃ、Ｄにおけるマッチング窓ＭＷ内の画像データにおけるＸ座標ごとの輝度の総和を特徴量ベクトルとして用いればよい。
【０２２６】
なお、上記実施の形態では、赤色、緑色、青色とされているものを、適宜他の色（赤色、緑色、青色を含む）に変更することができる。
【０２２７】
また、複数の色で奥行きの推定を行う場合には、符号化開口として、各色に対応する符号化開口をプロジェクタに設けるようにしてもよい。
【０２２８】
実施の形態１０（ＤＯＥ（Diffractive Optical Element）による実装）．
次に、この発明の実施の形態１０について説明する。
【０２２９】
図５２に示すように、この実施の形態では、３次元計測システムの光源としてレーザ光源８０を用いる。まずレーザ光源８０から出射されたレーザを、ドット列（例えば、不規則に２次元状に配列されたランダムドットパターン）を出力とする第１のＤＯＥとしてのＤＯＥ８１に入射する。次に、その出力を、ラインパターン列を形成する第２のＤＯＥとしてのＤＯＥ８２に入射する。これにより、前記した投影パターンと開口パターンとの畳込みと同様の効果を実現することができる。ＤＯＥ８１、８２は、光量を数％程度しか減衰させないため、本システムでは光量をほとんど減衰させずにパターン（平面レーザ群８３）を形成することができるメリットがある。また、ＤＯＥの組合せとしては、ドット列とラインパターンを逆転させても良い。あるいは、双方をラインパターン、ドットパターンとしても良い。
【０２３０】
符号化開口１３の開口パターンと、投影される２次元パターンは少なくとも一方が不規則なランダムパターンであればよい。また、上記実施の形態４等では、プロジェクタ１の投影光学系１２の光軸ＡＸと、カメラ２の光軸とが非同軸に設定されているとしたが、プロジェクタ１の投影光学系１２の光軸ＡＸと、カメラ２の光軸とを同軸に設定するようにしてもよい。
【０２３１】
その他、コンピュータ３のハードウエア構成やソフトウエア構成は一例であり、任意に変更および修正が可能である。
【０２３２】
制御部３１、主記憶部３２、外部記憶部３３、操作部３４、表示部３５及び通信部３６、内部バス３０などから構成されるコンピュータ３の処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読み取り可能な記録媒体（フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行するコンピュータ３を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することでコンピュータ３を構成してもよい。
【０２３３】
コンピュータ３の機能を、ＯＳ（オペレーティングシステム）とアプリケーションプログラムの分担、またはＯＳとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【０２３４】
搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板（BBS, Bulletin Board System）にコンピュータプログラムを掲示し、ネットワークを介してコンピュータプログラムを配信してもよい。そして、このコンピュータプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
【０２３５】
この発明は、この発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、この発明の範囲を限定するものではない。すなわち、この発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【０２３６】
なお、本願については、２０１５年５月２１日に出願された日本国特許出願２０１５−１０３３６６号を基礎とする優先権を主張し、本明細書中に日本国特許出願２０１５−１０３３６６号の明細書、特許請求の範囲、図面全体を参照として取り込むものとする。
【符号の説明】
【０２３７】
１、１Ａ、１Ｂ  プロジェクタ、２  カメラ、３  コンピュータ、４  計測対象物、５  符号パターン、６  障害物、１１  映像面、１１Ａ、１１Ｂ  投影パターン、１２  投影光学系、１３、１３Ａ、１３Ｂ、１３Ｃ、１３Ｄ、１３Ｅ  符号化開口、３０  内部バス、３１  制御部、３２  主記憶部、３３  外部記憶部、３４  操作部、３５  表示部、３６  通信部、３９  プログラム、４０  記憶部、４１  データ取得部、４２  初期計測部、４３  ファイン計測部、４４  出力部、４５  奥行き推定部、４６  投影パターン設定部、４７  色画像分割部、４８  仮想斜面画像作成部、５０Ａ、５０Ｂ  画像データ、５１  ヒストグラムデータベース、５２  奥行き範囲データ、５３  スケールパラメータ、５４、５５  奥行きデータ、６０、６１  ハーフミラー、７０  リファレンス画像データ群、７０Ａ  リファレンスＲ画像データ群、７０Ｂ  リファレンスＧ画像データ群、７０Ｃ  リファレンスＢ画像データ群、７１  計測対象画像データ、７１Ａ  計測対象Ｒ画像データ、７１Ｂ  計測対象Ｇ画像データ、７１Ｃ  計測対象Ｂ画像データ、７２  リファレンス斜面画像データ群、７４  奥行きデータ、７５  粗奥行きデータ、７６  ファイン奥行きデータ、８０  レーザ光源、８１、８２  ＤＯＥ、８３  平面レーザ群、１００  ３次元計測システム。
【図１】
2016186211.tif 000008
【図２】
2016186211.tif 000009
【図３Ａ】
2016186211.tif 000010
【図３Ｂ】
2016186211.tif 000011
【図４Ａ】
2016186211.tif 000012
【図４Ｂ】
2016186211.tif 000013
【図５Ａ】
2016186211.tif 000014
【図５Ｂ】
2016186211.tif 000015
【図６】
2016186211.tif 000016
【図７】
2016186211.tif 000017
【図８】
2016186211.tif 000018
【図９】
2016186211.tif 000019
【図１０】
2016186211.tif 000020
【図１１】
2016186211.tif 000021
【図１２】
2016186211.tif 000022
【図１３】
2016186211.tif 000023
【図１４】
2016186211.tif 000024
【図１５】
2016186211.tif 000025
【図１６】
2016186211.tif 000026
【図１７】
2016186211.tif 000027
【図１８】
2016186211.tif 000028
【図１９】
2016186211.tif 000029
【図２０】
2016186211.tif 000030
【図２１】
2016186211.tif 000031
【図２２】
2016186211.tif 000032
【図２３】
2016186211.tif 000033
【図２４】
2016186211.tif 000034
【図２５Ａ】
2016186211.tif 000035
【図２５Ｂ】
2016186211.tif 000036
【図２６Ａ】
2016186211.tif 000037
【図２６Ｂ】
2016186211.tif 000038
【図２７】
2016186211.tif 000039
【図２８】
2016186211.tif 000040
【図２９Ａ】
2016186211.tif 000041
【図２９Ｂ】
2016186211.tif 000042
【図２９Ｃ】
2016186211.tif 000043
【図３０】
2016186211.tif 000044
【図３１】
2016186211.tif 000045
【図３２】
2016186211.tif 000046
【図３３】
2016186211.tif 000047
【図３４】
2016186211.tif 000048
【図３５】
2016186211.tif 000049
【図３６Ａ】
2016186211.tif 000050
【図３６Ｂ】
2016186211.tif 000051
【図３６Ｃ】
2016186211.tif 000052
【図３６Ｄ】
2016186211.tif 000053
【図３６Ｅ】
2016186211.tif 000054
【図３７】
2016186211.tif 000055
【図３８】
2016186211.tif 000056
【図３９Ａ】
2016186211.tif 000057
【図３９Ｂ】
2016186211.tif 000058
【図４０】
2016186211.tif 000059
【図４１】
2016186211.tif 000060
【図４２】
2016186211.tif 000061
【図４３】
2016186211.tif 000062
【図４４Ａ】
2016186211.tif 000063
【図４４Ｂ】
2016186211.tif 000064
【図４４Ｃ】
2016186211.tif 000065
【図４５】
2016186211.tif 000066
【図４６】
2016186211.tif 000067
【図４７Ａ】
2016186211.tif 000068
【図４７Ｂ】
2016186211.tif 000069
【図４８】
2016186211.tif 000070
【図４９】
2016186211.tif 000071
【図５０】
2016186211.tif 000072
【図５１】
2016186211.tif 000073
【図５２】
2016186211.tif 000074
【国際調査報告】
2016186211.tif 000075
2016186211.tif 000076