(57)【要約】【課題】表面に段差や孔のある物体の３次元形状を外乱光による影響を抑制しつつ少ない撮像回数で計測する。【解決手段】縞次数を確定するための補助パターンＰＲｉを、縞パターンＰＢｉを投影する光の波長と異なる波長の光で縞パターンＰＢｉと同時に投影し、縞パターンＰＢｉと補助パターンＰＲｉが同時に投影された撮像画像を、光の波長に基づいて縞パターンＰＢｉが投影された画像と補助パターンＰＲｉが投影された画像に分離し、補助パターンが投影された複数枚の画像から縞次数ｎを確定する。正弦波状の縞パターンＰＢｉと、縞パターンＰＢｉの縞次数を確定するための補助パターンＰＲｉとを計測対象物に同時に投影して撮像することが可能であり、しかも、縞パターンＰＢｉを投影する光を特定周波数の単色光とすることで白色光に比較して外乱光の影響を抑制することができる。【選択図】        図１
2006177781.tif 000002
【特許請求の範囲】
【請求項１】
光の明度が正弦波状に変化する縞パターンを計測対象物に投影し、縞パターンの投影方向と異なる方向から計測対象物を撮像した撮像画像を得る過程を、縞パターンの位相を一定間隔でずらしながら複数回実行し、前記複数回の過程で得られた複数枚の撮像画像における同一点での明度変化に基づいて縞パターンの位相値を演算するとともに該位相値から撮像画像上の各点における高さ情報を得ることで計測対象物の３次元形状を計測する３次元形状計測方法において、撮像画像における縞次数を確定するための補助パターンを、縞パターンを投影する光の波長と異なる波長の光で縞パターンと同時に投影し、縞パターンと補助パターンが同時に投影された撮像画像を、光の波長に基づいて縞パターンが投影された画像と補助パターンが投影された画像に分離し、補助パターンが投影された複数枚の画像から縞次数を確定することを特徴とする３次元形状計測方法。
【請求項２】
縞パターンおよび補助パターンの光の波長と異なる波長の光を略均一な明度で縞パターンおよび補助パターンと同時に投影して撮像し、撮像画像から当該略均一な明度の光の波長成分のみを含む画像を分離し、複数回の過程で得られる複数枚の当該画像から計測対象物の動きを検出するとともに検出した動きに基づいて計測対象物の高さ情報を補正することを特徴とする請求項１記載の３次元形状計測方法。
【請求項３】
縞パターンを投影する光の波長を、３８０ナノメートルから５９０ナノメートルの範囲とすることを特徴とする請求項１又は２記載の３次元形状計測方法。
【請求項４】
補助パターンは、縞パターンの位相をずらして投影する各回毎に、縞パターンの周期に対して各回で異なる整数値を乗算した周期で明暗が反転するパターンであることを特徴とする請求項１〜３の何れかに記載の３次元形状計測方法。
【請求項５】
縞パターンの光の波長および補助パターンの光の波長は、計測対象物に投影される全ての光の波長を合成すると白色光となるように前記各波長を設定することを特徴とする請求項１〜４の何れかに記載の３次元形状計測方法。
【請求項６】
請求項１〜５の何れかに記載の３次元形状計測方法を実行する３次元形状計測装置であって、縞パターン並びに補助パターンを同時に計測対象物に投影する投影手段と、縞パターン並びに補助パターンが投影された計測対象物の画像を撮像する撮像手段と、撮像手段で撮像した撮像画像を画像処理することによって縞次数を確定し、確定した縞次数に基づいて縞パターンの位相値を演算するとともに該位相値から撮像画像上の各点における高さ情報を求める画像処理手段とを備えたことを特徴とする３次元形状計測装置。
【請求項７】
請求項１〜５の何れかに記載の３次元形状計測方法をコンピュータに実行させる３次元形状計測用プログラムであって、投影装置により縞パターン並びに補助パターンを同時に計測対象物に投影させる手順と、縞パターン並びに補助パターンが投影された計測対象物の画像を撮像手段に撮像させる手順と、撮像手段で撮像した撮像画像を画像処理することによって縞次数を確定し、確定した縞次数に基づいて縞パターンの位相値を演算するとともに該位相値から撮像画像上の各点における高さ情報を求めさせる手順とをコンピュータに実行させることを特徴とする３次元形状計測用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位相シフト法により計測対象物の３次元形状を計測する３次元形状計測方法並びに３次元形状計測装置、３次元形状計測用プログラムに関するものである。
【背景技術】
【０００２】
従来、物体の３次元形状を計測する方法として位相シフト法が広く用いられている。位相シフト法は光切断法の一種であって、図８に示すように投影装置１１により計測対象物１３に特定のパターンを投影し、計測対象物１３の表面で乱反射された投影像を投影装置１１の投影光軸と異なる方向から撮像装置１２で撮像し、この撮像装置１２で撮像した画像を画像処理することで計測対象物１３の３次元形状を計測するものである。
【０００３】
以下、位相シフト法の原理についてさらに詳しく説明する。
【０００４】
図９のフローチャートに示すように、まず、投影装置１１から正弦波状に明度が変化する縞パターンを計測対象物１３に投影し、この縞パターンの位相を、例えばπ／２ずつずらして撮像装置１２で撮像するという手順（ステップ１〜ステップ６）を、縞パターンの位相が１周期分移動するまで複数回（最低３回、通常は４回以上）繰り返すことにより、図１０（ａ）に示すような４枚の画像Ｍ１〜Ｍ４を得る。撮像された４枚の画像Ｍ１〜Ｍ４上の同じ位置ｐ（ｘ，ｙ）での明度ａ０〜ａ３は、図１０（ｂ）に示すように、絶対的な明るさはその位置での表面性状や色などにより変化しても、相対的な明度差は必ず投影パターンの位相差分だけの変化を示すから、式１により正弦波の方程式を当てはめれば、その位置ｐ（ｘ，ｙ）での投影されたパターンの相対位相値θｐが求められる（図９におけるステップ７）。この処理を行って生成された位相復元画像を図１１に示す。
【０００５】
【数１】
2006177781.tif 000003
図１１に示す位相復元画像の各画素値（相対位相値）θｐは、式１が逆正接関数からなることより明らかなように、投影縞パターンの１位相毎の値、すなわち−π〜πの間の値となるから、複数位相分投影された縞の絶対位相値（図１０（ａ）において上端の縞を基準として−π〜０〜π〜２π〜３π…と表される絶対的な位相値）θａを求めるには（図９におけるステップ９）、縞次数ｎ（上端から下方に向かって数えてｎ本目の縞であることを表す値）の縞が、撮像された各画像Ｍ１〜Ｍ４上でどの位置にあるかを推定する処理（図９におけるステップ８）が必要である。この処理を行って求められた縞次数ｎ（＝１，２，…）を位相復元画像に当てはめた画像を図１２に示す。
【０００６】
そして、撮像された４枚の画像Ｍ１〜Ｍ４の各点ｐ（ｘ，ｙ）において、相対位相値θｐと縞次数ｎとを用いて、図１３に示すように、上記絶対位相値θａ（＝θｐ＋２ｎπ）を求める。この処理（図９におけるステップ９）を以下では「位相接続処理」と呼ぶ。位相接続処理によって求められた絶対位相値θａが等しい点を連結して得られる線（等位相線）が、光切断法における切断線と同じく計測対象物１３をある平面で切断した断面の形状を表すから、この絶対位相値θａをもとに三角測量の原理により計測対象物１３の３次元形状（画像各点での高さ情報）が計測できる。尚、位相接続処理を行って生成された絶対位相値θａの位相復元画像を図１４に示す。
【０００７】
而して、図１５に示すように正弦波縞の絶対位相値、すなわち縞パターンの投影に用いた実体格子Ａ上の位置δと撮像装置１２の撮像素子Ｂ上の結像点位置（画像上の座標）ｐ（ｘ，ｙ）が特定できるので、投影装置１１と撮像装置１２の光学的な配置に基づいて三角測量の原理を表す式２により、画像上の点ｐ（ｘ，ｙ）に対応する計測対象物１３上の投影点Ｐ（Ｘ，Ｙ，Ｚ）の３次元空間での絶対的な座標値（Ｘ，Ｙ，Ｚ）を求めれば、図５に示すような計測対象物１３の３次元形状を得ることができる（図９のステップ１０）。但し、図１５に示した三角測量の測定原理については従来周知であるから詳細な説明は省略する。
【０００８】
【数２】
2006177781.tif 000004
このように位相シフト法では、得られた画像の各点に対応する３次元座標が簡単な計算処理により求められるとともに高密度の３次元形状の計測データが最低３回の撮像により得られるため、１点あたりの計測時間で評価すると他の計測方法に比べて数倍から数万倍の速度での計測が可能になるという特長がある。
【０００９】
しかしながら、計測対象物１３の表面に段差や穴があって縞と縞との境界（位相境界）が特定できない場合などには、縞次数ｎが正しく求められないために位相接続処理が困難になり、正しい距離が得られなくなるという問題（位相飛び問題）が発生するという欠点がある。また、位相シフト法は、なるべく多数の縞を投影し、撮影された画像上において投影縞のコントラストがなるべく高くなるように撮像することで高精度の計測が可能となるが、縞次数が多いと上記位相飛び問題が発生しやすく、高さ計測に必要な絶対位相値を得るのが困難になるという問題がある。
【００１０】
ここで、位相飛び問題について具体的に例を挙げて説明する。計測対象物の表面が理想的な乱反射面であって、かつ段差や穴が一切存在しないのであれば、図１３における縞次数ｎ＝１のように相対位相値θｐがπから-πへ変化する位置を位相境界として、その位置から見て位相が増加する側に現れる次の位相境界までを１本の縞とみなし縞次数ｎを求めればよい。しかしながら、実際には撮像装置１２のノイズなどにより位相境界位置（図１３における縞次数ｎ＝２とｎ＝３との境界）では相対位相値θｐの値がπから-π、-πからπへ数回入れ替わるようなデータが出現する場合が多く、このような単純な方法では位相接続がうまくいかないことが多い。また、図１１や図１２に示す例のように大きな段差がある場合には、例えば図１２に示す縞次数ｎ＝４の縞は影によって３つに分断されているため、前記方法ではこれらが同じ次数の縞であることを認識できないので、正しい縞次数が求められない。
【００１１】
そこで従来より、位相飛び問題を解決する方法が種々提案されている（特許文献１〜４参照）。特許文献１に記載された方法では、位相境界位置を明示的に取得することを目的として、位相境界位置に画像的特徴が現れるようなスリット光や白黒縞状の補助パターンを計測対象物に投影することにより、段差や穴がある計測対象物に適用しやすいマルチスリット光切断法と、段差には弱いが高密度な高さ情報が求められる位相シフト法の双方の長所を活かし、段差や穴を含む場合にも高密度なデータを位相シフト法により取得するようにしている。また、特許文献２には、基準正弦波とその整数倍の波長をもつ正弦波を重畳させて投影する方法が記載されている。このように、波長の違う正弦波を用い、各々の波長で求められた相対的位相の情報を総合する方法を用いれば、位相境界位置を一意に得ることができる。
【特許文献１】特開２００１−１２４５３４号公報
【特許文献２】特許３１９９０４１号公報
【特許文献３】特開２００４−１０８９５０号公報
【特許文献４】特開２００３−２７９３２９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１および２に記載されている方法では、計測対象物を撮像する回数が増えてしまうという問題がある。位相シフト法では、短時間に撮像が完了するようにすれば、特に人体のように完全に固定することが困難な物体を計測対象とする場合に、撮影中に計測対象（人体）が移動してしまうことによる誤差の発生を防ぐことができるので、より少ない撮像回数で３次元形状を計測することが望ましい。
【００１３】
このような問題に対処する方法として、特許文献３には、ＲＧＢの３色の光で互いに初期位置が異なり且つ明度が階段状に変化する３通りの補助パターンと、基準用の白色光のパターンとを投影することによって縞次数の特定を容易に行えるようにする方法が記載されている。しかしながら、この方法では明度が階段状に変化する境界点を捉えるために基準用の白色パターンを撮影せねばならず、撮影枚数が最低１枚増えてしまうという問題がある。また、特許文献４には、波長の違う２つの成分の縞画像を投影することで投影回数を半分にするという方法が開示されている。しかしながら、この方法では投影する正弦波パターンの波長数だけの撮像素子を用いるので、同一の撮像素子で縞画像を撮影する場合とは異なり、撮像素子の感度バラツキを計測して補正する処理を行わないと正しい位相値が得られないという問題がある。さらに、太陽光はもとより屋内照明のほとんどが白色光であるので、白色光を用いて計測すると外乱光の影響によりコントラストが低下し、計測結果の誤差（ホワイトノイズ）が増加するという問題も生じる。
【００１４】
本発明は上記事情に鑑みて為されたものであり、その目的は、表面に段差や孔のある物体の３次元形状を外乱光による影響を抑制しつつ少ない撮像回数で計測することができる３次元形状計測方法並びに３次元形状計測装置、３次元形状計測用プログラムを提供することにある。
【課題を解決するための手段】
【００１５】
請求項１の発明は、上記目的を達成するために、光の明度が正弦波状に変化する縞パターンを計測対象物に投影し、縞パターンの投影方向と異なる方向から計測対象物を撮像した撮像画像を得る過程を、縞パターンの位相を一定間隔でずらしながら複数回実行し、前記複数回の過程で得られた複数枚の撮像画像における同一点での明度変化に基づいて縞パターンの位相値を演算するとともに該位相値から撮像画像上の各点における高さ情報を得ることで計測対象物の３次元形状を計測する３次元形状計測方法において、撮像画像における縞次数を確定するための補助パターンを、縞パターンを投影する光の波長と異なる波長の光で縞パターンと同時に投影し、縞パターンと補助パターンが同時に投影された撮像画像を、光の波長に基づいて縞パターンが投影された画像と補助パターンが投影された画像に分離し、補助パターンが投影された複数枚の画像から縞次数を確定することを特徴とする。
【００１６】
請求項２の発明は、請求項１の発明において、縞パターンおよび補助パターンの光の波長と異なる波長の光を略均一な明度で縞パターンおよび補助パターンと同時に投影して撮像し、撮像画像から当該略均一な明度の光の波長成分のみを含む画像を分離し、複数回の過程で得られる複数枚の当該画像から計測対象物の動きを検出するとともに検出した動きに基づいて計測対象物の高さ情報を補正することを特徴とする。
【００１７】
請求項３の発明は、請求項１又は２の発明において、縞パターンを投影する光の波長を、３８０ナノメートルから５９０ナノメートルの範囲とすることを特徴とする。
【００１８】
請求項４の発明は、請求項１〜３の何れかの発明において、補助パターンは、縞パターンの位相をずらして投影する各回毎に、縞パターンの周期に対して各回で異なる整数値を乗算した周期で明暗が反転するパターンであることを特徴とする。
【００１９】
請求項５の発明は、請求項１〜４の何れかの発明において、縞パターンの光の波長および補助パターンの光の波長は、計測対象物に投影される全ての光の波長を合成すると白色光となるように前記各波長を設定することを特徴とする。
【００２０】
請求項６の発明は、上記目的を達成するために、請求項１〜５の何れかに記載の３次元形状計測方法を実行する３次元形状計測装置であって、縞パターン並びに補助パターンを同時に計測対象物に投影する投影手段と、縞パターン並びに補助パターンが投影された計測対象物の画像を撮像する撮像手段と、撮像手段で撮像した撮像画像を画像処理することによって縞次数を確定し、確定した縞次数に基づいて縞パターンの位相値を演算するとともに該位相値から撮像画像上の各点における高さ情報を求める画像処理手段とを備えたことを特徴とする。
【００２１】
請求項７の発明は、上記目的を達成するために、請求項１〜５の何れかに記載の３次元形状計測方法をコンピュータに実行させる３次元形状計測用プログラムであって、投影装置により縞パターン並びに補助パターンを同時に計測対象物に投影させる手順と、縞パターン並びに補助パターンが投影された計測対象物の画像を撮像手段に撮像させる手順と、撮像手段で撮像した撮像画像を画像処理することによって縞次数を確定し、確定した縞次数に基づいて縞パターンの位相値を演算するとともに該位相値から撮像画像上の各点における高さ情報を求めさせる手順とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、位相シフト法を利用した３次元形状計測において必須となる正弦波状の縞パターンと、縞パターンの縞次数を確定するための補助パターンとを計測対象物に同時に投影して撮像することが可能であり、しかも、縞パターンを投影する光を特定周波数の単色光とすることで白色光に比較して外乱光の影響を抑制することができ、その結果、表面に段差や孔のある物体の３次元形状を外乱光による影響を抑制しつつ少ない撮像回数で計測することができる３次元形状計測方法並びに３次元形状計測装置、３次元形状計測用プログラムを提供することができるという効果がある。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照して本発明を実施形態により詳細に説明する。
【００２４】
図２は本実施形態の３次元形状計測装置の概略構成図である。この３次元形状計測装置は、互いに異なる波長の光で計測対象物に縞パターン並びに補助パターンを投影する投影装置１と、縞パターン並びに補助パターンが投影された計測対象物の画像を撮像する撮像装置２と、投影装置１および撮像装置２を制御するとともに撮像装置２で撮像した撮像画像に対して画像処理を行う制御装置３とで構成される。
【００２５】
投影装置１は、白色光源、白色光源の光をＲ、Ｇ、Ｂの単色光に分光する３枚の液晶パネル、これら３枚の液晶パネルで分光されたＲ、Ｇ、Ｂの単色光の光路を一致させる光学系などで構成された、いわゆる液晶プロジェクタである。また撮像装置２は、原色タイプのカラーフィルタを採用したＣＣＤ撮像素子、被写体の像をＣＣＤ撮像素子の撮像面に結像させる光学系、ＣＣＤ撮像素子の出力を信号処理してＲ、Ｇ、Ｂの各単色光毎の画像データを得る信号処理回路などで構成された、いわゆる単板式のＣＣＤカメラである。制御装置３は、ＣＰＵ、メモリ、ディスプレイ、ハードディスクなどの記憶装置、入出力用の各種インタフェース等を具備する汎用のコンピュータ（ハードウェア）と、本発明に係る３次元形状計測方法をコンピュータに実行させる３次元形状計測用プログラム（ソフトウェア）とで構成される。尚、この３次元形状計測用プログラムは、磁気ディスクや光ディスクなどの記録媒体に記録するか、あるいはインターネットなどの電気通信回線を通じてコンピュータに提供される。投影装置１と制御装置３との間では、例えば、ＤＶＩ（Digital Visual Interface）のような汎用のディスプレイ用インタフェースを介してパターン画像を伝送し、ＲＳ２３２ＣやＩＥＥＥ４８８などの汎用の通信インタフェースを介して制御装置３から投影装置１の動作（光源の点灯・消灯や光量調整など）を制御している。また撮像装置２では各画素の画素値（明度）を量子化し、Ｒ、Ｇ、Ｂの各色毎に出力する機能を有しており、制御装置３では撮像装置２から出力されるＲ、Ｇ、Ｂのディジタル信号をディジタル信号入力用のインタフェースを介して取り込むとともに、ＲＳ２３２ＣやＩＥＥＥ４８８などの汎用の通信インタフェースを介して撮像装置２の動作（撮像のタイミングなど）を制御している。
【００２６】
ところで、投影装置１によって計測対象物に投影される縞パターン並びに補助パターンは、汎用のアプリケーションソフト（例えば、画像加工用のレタッチソフトなど）を用いて予め作成され、制御装置３の記憶装置に格納されている。縞パターンＰＢは、図３（ａ）に示すように上下方向において青色の単色光の明度が正弦波状に変化するパターンであって、４種類の縞パターンＰＢ１〜ＰＢ４は縞の位相が順次π／４ずつずらしてある。また補助パターンＰＲ１〜ＰＲ４は、図３（ｂ）に示すように赤色の単色光の明度が縞パターンＰＢｉの周期を２i倍（i＝１，２，３，４）した周期で明暗が反転するパターンである。図３（ｃ）は、後述するように計測対象物の動きを検出するために縞パターンＰＢｉ並びに補助パターンＰＲｉと同時に計測対象物に投影される動き検出用パターンＰＧ１〜ＰＧ４であって、緑色の単色光の明度を均一としたものである。尚、このようなパターンは、画像をＲＧＢの３原色のチャンネルに分解する機能、各チャンネル毎に明度を周期的に変化させる機能（グラデーション調整機能）、加工された３つのチャンネルを一つの画像に合成する機能を有した汎用のレタッチソフトなどを用いて作成可能である。
【００２７】
而して、縞パターンＰＢｉと補助パターンＰＲｉと動き検出用パターンＰＧｉ（ｉ＝１，２，３，４）を合成したパターン画像が制御装置３からインタフェースを介して投影装置１に伝送されると、投影装置１からは縞パターンＰＢｉ、補助パターンＰＲｉ、動き検出用パターンＰＧｉがそれぞれ青色、赤色、緑色の波長の光で同時に計測対象物に投影されることになる。
【００２８】
次に、本実施形態の３次元形状計測装置の動作、すなわち、本発明に係る３次元形状計測方法について説明する。
【００２９】
まず、制御装置３のＣＰＵで３次元形状計測用プログラムを実行することで３次元形状計測装置が動作を開始すると、記憶装置に格納されている最初のパターン画像（縞パターンＰＢ１と補助パターンＰＲ１と動き検出用パターンＰＧ１を合成した画像）がＣＰＵによってメモリの作業領域に読み出され、さらにディスプレイ用インタフェースを介して投影装置１に伝送され、投影装置１からは縞パターンＰＢ１、補助パターンＰＲ１、動き検出用パターンＰＧ１がそれぞれ青色、赤色、緑色の波長の光で同時に計測対象物に投影される。パターン画像が投影装置１に伝送された後、ＣＰＵから撮像装置２に対して計測対象物の画像を撮像するコマンドが通信インタフェースを介して伝送される。撮像装置２では、制御装置３のＣＰＵから上記コマンドを受け取ると計測対象物の画像を撮像してＲ、Ｇ、Ｂの各単色光毎の画像データを制御装置３に伝送する。制御装置３では、撮像装置２から受け取ったＲ、Ｇ、Ｂの画像データがＣＰＵによってメモリの作業領域に格納された後、記憶装置に格納されている２つめのパターン画像（縞パターンＰＢ２と補助パターンＰＲ２と動き検出用パターンＰＧ２を合成した画像）がメモリの作業領域に読み出され、さらにディスプレイ用インタフェースを介して投影装置１に伝送される。そして、最初の縞パターンＰＢ１から位相がπ／４だけずれた縞パターンＰＢ２と、縞パターンＰＢ２の周期を４倍した周期で明暗が反転する補助パターンＰＲ２と、動き検出用パターンＰＧ２がそれぞれ青色、赤色、緑色の波長の光で同時に投影装置１から計測対象物に投影された状態で、制御装置３のＣＰＵからコマンドを受け取った撮像装置２が計測対象物の画像を撮像してＲ、Ｇ、Ｂの各単色光毎の画像データを制御装置３に伝送し、撮像装置２から受け取ったＲ、Ｇ、Ｂの画像データがＣＰＵによってメモリの作業領域に格納される。同様にして３つめのパターン画像（縞パターンＰＢ３と補助パターンＰＲ３と動き検出用パターンＰＧ３を合成した画像）、４つめのパターン画像（縞パターンＰＢ４と補助パターンＰＲ４と動き検出用パターンＰＧ４を合成した画像）が投影装置１から投影された状態で計測対象物の画像が撮像装置２で撮像され、撮像装置２で得られたＲ、Ｇ、Ｂの画像データがＣＰＵによってメモリの作業領域に格納されると画像の取得処理が終了する。尚、この画像取得処理は、図９のフローチャートにおけるステップ１〜ステップ６の処理に対応するものである。
【００３０】
図４の（ａ）〜（ｄ）は、計測対象物１３を球体と仮定し、制御装置３のメモリの作業領域に格納された１回目〜４回目のＲ、Ｇ、Ｂの画像データＤＢｉ、ＤＲｉ、ＤＧｉ（ｉ＝１，２，３，４）を表している。制御装置３のＣＰＵでは、作業領域に格納した４つの画像データＤＢ１〜ＤＢ４（縞パターンＰＢ１〜ＰＢ４が投影された計測対象物１３を撮像した画像）に対して任意の位置ｐ（ｘ，ｙ）における相対位相値θｐを求める演算処理を行い、求められた相対位相値θｐをメモリの作業領域に格納する。尚、相対位相値θｐを求めるための演算処理は、従来技術で説明したものと共通であるから説明は省略する。
【００３１】
次に制御装置３のＣＰＵでは、いわゆる空間コーディングの手法を用いて画像データＤＢｉにおける各縞の縞次数ｎを確定する演算処理を行う。図１（ａ）は縞パターンＰＢｉを投影して撮像された画像データＤＢｉの明度変化、（ｂ）〜（ｅ）は補助パターンＰＲｉ（ｉ＝１，２，３，４）を投影して撮像された画像データＤＲｉの明度変化をそれぞれ示しており、制御装置３のＣＰＵでは、画像データＤＢｉの任意の位置においてｉ番目の画像データＤＲｉの同位置における明度が明るいときは１、暗いときは０の明度コードを下位ｉビット目に代入した縞次数コードを作成する（図１（ｆ）参照）。例えば、図１における左端の縞では１回目から４回目の画像データＤＲ１〜ＤＲ４の明度コードが全て０となるから縞次数コードは０ｘ００００となり、その隣（左から２番目）の縞では１回目の画像データＤＲ１の明度コードのみが１で他の画像データＤＲ２〜ＤＲ４の明度コードが全て０となるから縞次数コードは０ｘ０００１となり、結局、縞次数コードとして下位４ビットの値が００００〜１１１１の１６通りの値で求められ、さらに下位４ビットの値を１０進数に変換すれば、１６個の縞の縞次数ｎ（＝０〜１５）を一意に確定することができる（図１（ｇ）参照）。尚、青色および赤色以外の波長、例えば緑色の波長の光により、ｉ回目の撮像時における明度が縞パターンＰＢｉの周期を２i+4倍（i＝１，２，３，４）した周期で明暗が反転するパターンを同時に投影して撮像すれば、２8＝２５６通りの位相の縞次数を一意に確定することが可能であり、解像度の高い光学系を用いて密な縞パターンを投影する場合でも位相飛びが生じない計測が可能になる。
【００３２】
上述のようにして縞次数を確定した後、ＣＰＵでは縞次数と相対位相値θｐから絶対位相値θａを求める演算処理を行い、さらに絶対位相値θａをもとに三角測量の原理により画像各点での高さ情報（３次元空間における各点の座標値）を求め、その座標値を計測対象物１３の３次元形状データとして記憶装置に格納する。但し、縞次数と相対位相値θｐから絶対位相値θａを求める演算処理、並びに絶対位相値θａをもとに画像各点の３次元空間における座標値を求める演算処理は従来技術で説明したように周知であるから説明を省略する。尚、従来例と同様に、画像上の点ｐ（ｘ，ｙ）に対応する計測対象物１３上の投影点Ｐ（Ｘ，Ｙ）の３次元空間での絶対的な座標値を求めれば、図５に示すような計測対象物１３の３次元形状を得ることができる。
【００３３】
このように本実施形態によれば、位相シフト法を利用した３次元形状計測において必須となる正弦波状の縞パターンと、縞パターンの縞次数を確定するための補助パターンとを計測対象物に同時に投影して撮像することが可能であるから、短時間で撮像を完了することができ、人体のように完全に固定することが困難な物体を計測する場合でも、計測対象物の動きにより画像間で位置ずれが発生し計測に誤差が生じるのを抑制することができる。しかしながら、縞パターンＰＢｉにおける縞次数ｎを増やすにつれて計測対象物の動きによる位置ずれの影響が大きくなるから、本実施形態では、縞パターンＰＢｉ並びに補助パターンＰＲｉと同時に動き検出用パターンＰＧｉを計測対象物に投影することにより画像間での位置ずれを能動的に検出して補正するようにしている。
【００３４】
すなわち、動き検出用パターンＰＧｉを投影して得られる画像データＤＧｉは、図４に示すように単純な濃淡画像であるので、制御装置３のＣＰＵでは、画像データＤＧｉ間における計測対象物のオプティカルフローを求めることによって計測対象物の動き（動いた向きと移動量）を検出する。ここで、オプティカルフローを求めるには勾配法などの従来周知の手法を用いることが可能であるから、詳細については説明を省略する。但し、計測対象物の動きをさらに精密に検出するためには、オプティカルフローを求める方法に代えて、１回目の画像データＤＧ１をテンプレートとして２〜４回目の画像データＤＧ２〜ＤＧ４を少しずつ位置をずらして重ね合わせ、重なり合った画素値の相互相関値を求めて最も高い相関値を示す位置を検出する方法、いわゆる正規化相関パターンマッチング法を用いることが望ましい。そして、１回目の画像データＤＧ１を基準としてｉ回目（ｉ＝２〜４）の画像データＤＧ２〜ＤＧ４で計測対象物が位相単位でｄθｉだけ移動したことが検出されると、制御装置３のＣＰＵでは、画像データＤＢｉに対して任意の位置ｐ（ｘ，ｙ）における相対位相値θｐを求める際に、式１の代わりに下記の式３を用いることで計測対象物の動きによる位置ずれを補正することができる。
【００３５】
【数３】
2006177781.tif 000005
ところで、本実施形態では縞パターンＰＢｉを投影する光として波長が約４５０ｎｍの青色光を用いているが、この光の波長として３８０ｎｍから５９０ｎｍの範囲内で任意に選択可能であり、かかる範囲内の波長の光で縞パターンＰＢｉを投影することには、以下のような利点がある。
【００３６】
図６に示すように、人体の皮膚は表面から角質層１２１、カロチン層１２２、メラニン層１２３、真皮層１２４によって形成されているが、角質層１２１からメラニン層１２３までは極めて薄く且つ毛細血管が分布しておらず半透明であり、その下の真皮層１２４は角質層得１２１等に比べて厚く且つ毛細血管が分布している。紫外光および赤外光１２５は真皮層１２４を通過して人体の深部まで透過してしまう上、特に赤外光では体温による輻射を伴うという特性がある。また、可視光でも赤色光１２６は半透明である角質層１２１、カロチン層１２２、メラニン層１２３を透過して真皮層１２４で散乱され易いという特性がある。このため、紫外光、赤外光、赤色光を用いて縞パターンを投影すると、縞パターンの光が皮膚の深部で散乱するために画像に波形歪みが生じやすい。位相シフト法では物体の表面で乱反射された投影光の明度に基づいて計測を行うので、このように計測対象物を透過しやすい波長の光で縞パターンを投影することは好ましくない。これに対して、黄色から紫色に至る波長の短い可視光１２７，１２８は大半が皮膚表面で反射され、一部透過する成分も角質層１２１からメラニン層１２３までの浅い位置で大部分が散乱するので、上述のような波形歪みが生じにくく、高精度な計測が可能になるのである。
【００３７】
また、縞パターンを投影する光の波長として外乱光の影響が少なくなるような波長を選択すれば、撮像される画像のコントラストを向上させて一層精度を高めることができる。例えば、本実施形態の３次元形状計測装置は、主な用途が人体や数１０ｃｍ〜数ｍ程度の物体の３次元形状計測であって、基本的に屋内での使用を想定しているから、通常屋内照明に用いられている蛍光灯の光が外乱光として存在することが多いと考えられる。現在市販されている白色蛍光灯についてスペクトル分布を計測したところ、およそ３〜４つの強いピーク波長が存在し、特に４３５ｎｍ（紫に近い青）と５４５ｎｍ（緑）の波長に強いピークが存在するから、これらの波長を除外した波長の光でパターンを投影すれば、殆ど暗室で撮像したときと同じ程度の高いコントラストの画像を得ることができる。また、白熱灯の場合は蛍光灯に比べて広い波長域に渡ってスペクトルが分布しているが、そのうちでオレンジから赤にかけての波長域が最も強度が大きく、青などの短い波長域のスペクトルは少ないので、青色の光でパターンを投影することにより白熱灯の照明下でもある程度は外乱光の影響を除去することができる。
【００３８】
また、本実施形態の３次元形状計測装置は人体あるいは工業製品等を計測してコンピュータ・グラフィック（ＣＧ）等に利用する用途を想定しているが、こういった用途では３次元形状データに加えて、テクスチャマッピングに用いるための計測対象物のカラー画像が同時に計測され、かつ当該カラー画像と３次元形状データとの対応関係が得られていることが望ましい。
【００３９】
そこで本実施形態では、縞パターンＰＢｉ、補助パターンＰＲｉ、動き検出用パターンＰＧｉを投影する光としてＢ、Ｒ、Ｇの３原色の光を用いることにより、各パターン毎に得られる画像データＤＢｉ、ＤＲｉ、ＤＧｉからパターンを消去した画像を合成し、さらにパターンが消去された３種類の波長の画像データを合成することによって、平坦な（パターンのない）白色光照明を計測対象物に照射してカラーカメラで撮像したときと同じカラー画像を得るようにしている。
【００４０】
このようなカラー画像は、制御装置３のＣＰＵで以下のような演算処理を行うことで得られる。
【００４１】
まず縞パターンＰＢｉの投影画像であるＢチャンネルの画像データＤＢｉは、正弦波状の縞の位相が各画像データＤＢｉ間でπ／４ずつ変化しているので、下記の式４により、各画素において４回分の画像データＤＢ１〜ＤＢ４における明度を平均化したＢチャンネルの合成画像を生成すれば、正弦波状の縞が消えて青色の平坦光を投影したのと同じ画像が取得できる。
【００４２】
【数４】
2006177781.tif 000006
次に補助パターンＰＲｉの投影画像であるＲチャンネルの画像データＤＲｉは、二値のパターンを投影して撮像されているので、下記の式５により、各画素において４回分の画像データＤＲ１〜ＤＲ４のうち最大の明度を画素値としたＲチャンネルの合成画像を生成すれば、矩形波のパターンが消えて赤色の平坦光を投影したのと同じ画像が取得できる。
【００４３】
【数５】
2006177781.tif 000007
また、動き検出用パターンＰＧｉの投影画像であるＧチャンネルの画像データＤＧｉは、平坦光を投影して撮像されているので、４回分の画像データＤＧ１〜ＤＧ４のうち任意の回の画像データＤＧｉを用いるか、あるいは、下記の式６により、４回分の画像データＤＧ１〜ＤＧ４の画素値を平均化した画像をＧチャンネルの合成画像として取得すればよい。
【００４４】
【数６】
2006177781.tif 000008
そして、式４〜式６により求められた、ＲＧＢ３原色の画像の画素値Ｒ（ｘ，ｙ），Ｇ（ｘ，ｙ），Ｂ（ｘ，ｙ）を加色混合により合成すれば、白色光照明を計測対象物に投射してカラーカメラで撮影したのと同じカラー画像が取得できる。このカラー画像は、計測に用いた画像そのものから合成されているので、撮影された画像上の点ｐ（ｘ，ｙ）に対して３次元形状データの点Ｐ（Ｘ，Ｙ，Ｚ）ごとにＲ、Ｇ、Ｂのカラー情報が与えられるため、３次元形状データとテクスチャマッピング用の画像データの位置合わせを行う必要がなく簡単にカラーテクスチャ付きの３次元ＣＧ画像が生成できる。
【００４５】
なお、上述のようにカラー画像を合成する際、式４〜式６に示すように、Ｒ、Ｂ、Ｇの各チャンネルの画素値に対して各々異なる重み係数Ｗｒ，Ｗｇ，Ｗｂやベース輝度Ｂｒ，Ｂｇ，Ｂｂにより変換を行うことによって、ホワイトバランスや全体の輝度値、コントラストを調整して自然な色合いとコントラストをもったカラー画像を生成することが可能となる。但し、上記方法を用いるためには、補助パターンＰＲｉにおいて、全ての位置で４回の投影のうち少なくとも１回は最大明度での照射が生じるようなパターンを投影せねばならないことは自明である。例えば、上述のように周期の異なる矩形波を用いた空間コーディングを行う場合、空間コードが0x0000（全て明暗の暗側）であるような領域が生じないようにせねばならない。
【００４６】
ところで本実施形態では、補助パターンＰＲｉとして投影回毎に周期が異なる矩形波のパターンを用いて空間コーディング法により縞次数を確定するようにしているが、比較的平坦で段差や穴がさほど大きくなく、位相飛びが起きにくいような計測対象物である場合には、特許文献１に記載されているように、単純に正弦波縞の１位相ごとに明暗が反転するパターンや、位相境界位置にスリット状の光が投影されるようなパターンを補助パターンとして投影しても構わない。
【００４７】
また、本実施形態では投影装置１として液晶プロジェクタを用いる構成としたが、図７に示すように投影する光の波長を反射し且つ他の波長の光を透過するダイクロイックミラー等の分光装置１１Ａ、１１Ｂを用いて、投影する波長ごとに設けられた複数の投影装置１０Ａ、１０Ｂ、１０Ｃの光を１つの光束に合成して投影する構成としてもよい。このような構成は、（１）パターンごとに個別のパターン表示装置を用いることで高い解像度のパターンを投影したい場合、（２）液晶のような可変表示装置ではなく、実体格子（パターンが印刷された透明板など）を機械的手段により移動させる構成を採用する場合、（３）投影光源に発光ダイオードなどの単色光の光源を利用する場合、（４）外乱光の影響を除きたい、対象物表面の色に合わせたい等、ＲＧＢ以外の特定の単色光を用いて投影を行いたい場合、に特に有効である。
【００４８】
尚、縞パターンと補助パターンの光の波長を異ならせる場合、少なくとも撮像装置２において２つのパターンが分離可能な程度の波長差を有しておればよく、仮に投影装置１の分光能力が撮像装置２の分光能力よりも低いとすれば、投影装置１（あるいは、上記分光装置１１）において分光可能な最小限の波長差以上の波長差を有しておればよい。
【００４９】
ところで、本実施形態では１台の制御装置３によって投影装置１と撮像装置２を制御する構成としているが、これに限らず、投影装置１と撮像装置２をそれぞれ制御装置で個別に制御する構成としても構わない。かかる構成によれば、一方の制御装置の制御の元で撮像装置２が撮像と画像データの転送を行っている間に、他方の制御装置から投影装置１に出力する次の投影パターンの読み込みを行うことができるから、投影と撮像の時間間隔を短くして計測時間が短縮できるという利点がある。また、撮像装置２から画像の取り込みを行うための制御装置と、画像処理を行うための別の制御装置とを備える構成とすることも可能である。かかる構成によれば、時系列で続けて何度も３次元形状計測を行うような場合、一方の制御装置で画像の取り込みを行っている間に別の制御装置により画像処理を行うことができるから、３次元形状データを取得する時間を短縮することができる。さらに、複数台の制御装置で画像処理を並列処理する構成とすれば、図９に示すように縞パターンから局所位相値θpを演算する処理（ステップ７）と補助パターンの解析により縞次数ｎを推定する処理（ステップ８）は逐次行う構成となっているので、ステップ７とステップ８の処理がそれぞれ別の制御装置により並列で実行することができ、画像処理時間を短縮することができる。また、ステップ９、ステップ１０の処理も各画素ごとに独立して処理を行うことができるので、画像を分割して複数の制御装置により画像処理を行うことで画像処理時間を短縮することができる。ここで、３次元の形状データを画像処理するには長時間を有するので、上述した構成を採用することによって画像処理時間を短縮すれば、得られた画像データをリアルタイムで観察する場合に特に有効となる。
【００５０】
また、制御装置３を投影装置１及び撮像装置２とは別の場所に設置し、通信回線等を介して画像データを制御装置３に転送する構成とすれば、計測対象物を遠隔監視することができる。あるいは、制御装置３の記憶装置が破壊されるような環境（例えば、強い磁気・電磁波・放射線が存在する場所）に計測対象物が設置されている場合、画像データを安全な場所にある制御装置３に転送して処理を行うことができるので、特に有効となる。さらに、複数の撮像装置２及び投影装置１を異なる場所に設置し、これらの撮像装置２で撮像して得られた３次元形状データを制御装置３で統合することにより、計測対象物を広い角度（例えば１８０度以上）にて３次元計測して画像表示することが可能となる。
【図面の簡単な説明】
【００５１】
【図１】本実施形態の動作説明用の波形図である。
【図２】同上の構成図である。
【図３】（ａ）〜（ｃ）は同上に用いる縞パターン、補助パターン、動き検出用パターンの説明図である。
【図４】（ａ）〜（ｄ）は同上において縞パターン、補助パターン、動き検出用パターンを投影して撮像した１回目〜４回目の各画像データの説明図である。
【図５】同上の計測対象物の３次元形状計測結果を示す図である。
【図６】人体の皮膚の構造を説明するための断面図である。
【図７】同上における他の投影装置の構成図である。
【図８】従来の３次元形状計測装置の構成図である。
【図９】同上の動作説明用のフローチャートである。
【図１０】位相シフト法の原理を説明するための説明図である。
【図１１】同上による位相復元画像を示す図である。
【図１２】同上における位相飛び問題を説明するための説明図である。
【図１３】同上における位相飛び問題を説明するための説明図である。
【図１４】同上によって得られる絶対位相値の復元画像である。
【図１５】絶対位相値をもとにして三角測量の原理により計測対象物上の投影点の３次元空間での絶対的な座標値を求めるための説明図である。
【符号の説明】
【００５２】
１  投影装置
２  撮像装置
３  制御装置
【図１】
2006177781.tif 000009
【図２】
2006177781.tif 000010
【図６】
2006177781.tif 000011
【図７】
2006177781.tif 000012
【図９】
2006177781.tif 000013
【図１２】
2006177781.tif 000014
【図１３】
2006177781.tif 000015
【図１５】
2006177781.tif 000016
【図３】
2006177781.tif 000017
【図４】
2006177781.tif 000018
【図５】
2006177781.tif 000019
【図８】
2006177781.tif 000020
【図１０】
2006177781.tif 000021
【図１１】
2006177781.tif 000022
【図１４】
2006177781.tif 000023