(57)【特許請求の範囲】
【請求項１】
位相シフト法に基づく３次元形状計測方法であって、
縞状で縞の並設方向に沿って明度が正弦波状に変化するパターンの像を対象物に投影し、
前記対象物に投影されたパターンの像の撮影および前記パターンの一定量のシフトを繰り返して、前記明度の位相が一定量づつシフトした画像を少なくとも３種類取り込み、
取り込んだ少なくとも３種類の画像の各画素のうち、同一の位置にある各画素の明度を所定の演算式に代入して算出された位相値がその位置に対応する画素の値として画素毎に割り当てられてなる位相復元画像を作成し、
位相復元画像の複数の画素にそれぞれ対応する複数の画素を有し、これら複数の画素のうち、前記明度の１周期の一部に属する画素に対応する画素には第１値が割り当てられ、前記明度の１周期の残部に属する画素に対応する画素には第２値が割り当てられ、前記明度の位相のシフトで明度が変化しない画素に対応する画素には第３値が割り当てられてなる１つの領域分類用画像を作成し、
この領域分類用画像を用いて前記第１〜第３値の画素の各々が連続する領域の分類を行い、この分類結果に基づいて、前記第１値の画素が連続する第１領域および前記第２値の画素が連続する第２領域のうち、前記縞の並設方向に沿って互いに隣接する第１領域および第２領域の組分けをし、この組分け結果を利用して位相連結の処理を行い、この処理結果に応じて前記対象物の３次元形状の高さ情報を抽出する
ことを特徴とする３次元形状計測方法。
【請求項２】
前記位相復元画像を作成した後、前記領域分類用画像は、前記明度の位相のシフトで明度が変化する画素の位置に対応するとともに前記位相復元画像内の対応する画素の値が所定しきい値より小さい画素に、第１値が割り当てられ、前記明度の位相のシフトで明度が変化する画素の位置に対応するとともに前記位相復元画像内の対応する画素の値が所定しきい値より大きい画素に、第２値が割り当てられ、前記明度の位相のシフトで明度が変化しない画素の位置に対応する画素に、第３値が割り当てられて作成され、前記位相連結の処理は前記組分け結果を前記位相復元画像に利用して行われることを特徴とする請求項１記載の３次元形状計測方法。
【請求項３】
前記領域分類用画像は、前記取り込んだ複数の画像の各画素のうち、同一の位置にある各画素の明度を所定の演算式に代入して位相値を算出する処理を、前記取り込んだ画像のうち、一の画像を初期位相用とした場合と他の画像を初期位相用とした場合とで平行に実行しながら、前記一の画像を初期位相用とした場合の位相値と前記他の画像を初期位相用とした場合の位相値との差分値を求め、この差分値が正であれば第１値が、負であれば第２値が、そして明度が変化しなければ第３値が割り当てられて作成され、
前記位相連結の処理は前記組分け結果を前記各位相値に利用して行われる
ことを特徴とする請求項１記載の３次元形状計測方法。
【請求項４】
前記一定量は前記明度の１周期を３より大きい整数である所定数で除して得た量であり、
前記領域分類用画像を作成する場合、前記取り込んだ複数の画像の各画素のうち、同一の位置にある各画素の明度を所定の演算式に代入して算出された位相値がその位置に対応する画素の値として画素毎に割り当てられてなる位相復元画像を、前記取り込んだ画像のうち、一の画像を初期位相用とした場合と前記取り込んだ画像をサイクリックに前記所定数より小さい整数回分ずらして他の画像を初期位相用とした場合とでそれぞれ作成し、この後、前記領域分類用画像は、前記両位相復元画像内の対応する両画素の値の差分値が正であれば第１値が、負であれば第２値が、そして明度が変化しなければ第３値が各画素に割り当てられて作成され、
前記位相連結の処理は前記組分け結果を前記両位相復元画像の一方に利用して行われる
ことを特徴とする請求項１記載の３次元形状計測方法。
【請求項５】
前記領域分類用画像の各画素のうち、画素の値が前記縞の並設方向に沿って前記第２値から前記第１値に変化する画素の位置を位相連結の位置として、前記位相連結の処理を行うことを特徴とする請求項１記載の３次元形状計測方法。
【請求項６】
前記位相連結の処理は、前記領域分類用画像を用いて、前記第１値の画素が連続する第１領域および前記第２値の画素が連続する第２領域の分類を行い、これら第１領域および第２領域における前記縞の並設方向に沿った始点および終点をそれぞれ求めて前記第１領域および第２領域の位置関係の評価を行い、この評価結果に応じて、前記縞の並設方向に沿って互いに隣接する前記第１領域および第２領域の組分けをすることにより実行されることを特徴とする請求項１記載の３次元形状計測方法。
【請求項７】
前記組分け前、前記第１領域および第２領域の各々に所定画素数以下の他の小領域が含まれる場合、その小領域を、これを含む領域に併合する処理を行うことを特徴とする請求項６記載の３次元形状計測方法。
【請求項８】
前記第３値の画素が連続する第３領域を前記第１領域に含めて拡張の第１領域とし、前記第３領域を前記第２領域に含めて拡張の第２領域とし、これら拡張の第１および第２領域の重なり状態に基づいて、互いに隣接する前記第１領域および第２領域の組分けをすることを特徴とする請求項６記載の３次元形状計測方法。
【請求項９】
前記第３領域により複数位相分の前記第１領域および第２領域が繋がって見える場合、前記第３領域を除いて前記第１領域および第２領域を再度求め、これら第１領域および第２領域のうち、前記縞に沿った方向に分断されていない領域を抽出し、この領域に基づいて前記縞に沿った方向に分断された領域を結合することを特徴とする請求項８記載の３次元形状計測方法。
【請求項１０】
前記撮影およびシフトを繰り返して取り込まれる画像を、前記パターンの像を一の方向から前記対象物に投影した場合のものと前記パターンの像を他の方向から前記対象物に投影した場合のものとの２組み用意し、
これら２組みの画像から前記位相復元画像を２つ作成し、これら位相復元画像の一方のみに前記第３値の画素が連続する領域が存在する場合、その領域を、前記対象物における段差を作る突部の影の範囲として、これら影の範囲の間に挟まれる領域を前記突部の存在領域とする
ことを特徴とする請求項２記載の３次元形状計測方法。
【請求項１１】
前記領域分類用画像の各画素のうち、前記第３値の画素が連続する第３領域における前記縞の並設方向に沿った始点と終点における位相復元画像の画素の値がほぼ同一である場合、当該第３領域を前記対象物において段差を作る突部の影の範囲とすることを特徴とする請求項２記載の３次元形状計測方法。
【請求項１２】
前記領域分類用画像の各画素のうち、前記影の範囲からその影が伸びる方向とは逆の方向における前記縞に沿った方向の各画素に対応する前記位相復元画像の画素の値を調べ、これら画素の値が不連続である場合には前記影が伸びる方向とは逆の方向に前記突部が続いているものとし、不連続で無くなった場合には前記突部が途切れる境界であるとすることを特徴とする請求項１０または１１記載の３次元形状計測方法。
【請求項１３】
前記縞の並設方向に沿った前記影の範囲の長さをパターンずれ量として求め、その影が伸びる方向とは逆の方向に存在する前記突部における前記第１値ないし第２値の画素が連続する領域を、前記パターンずれ量だけ前記縞の並設方向にずれた前記突部の外側の領域と対応付けることを特徴とする請求項１０〜１２のいずれかに記載の３次元形状計測方法。
【請求項１４】
前記第３値の画素が連続する第３領域内の位相値または高さ情報を、その第３領域の外側の位相値または高さ情報をもとに補完することを特徴とする請求項１記載の３次元形状計測方法。
【請求項１５】
前記第３値の画素が連続する第３領域が前記対象物における段差を作る突部の影で生じた場合、その第３領域内の位相値または高さ情報を、その第３領域に隣接しかつ前記突部の影が伸びる方向にある領域の位相値または高さ情報をもとに補完することを特徴とする請求項１４記載の３次元形状計測方法。
【請求項１６】
位相シフト法に基づく３次元形状計測システムであって、
縞状で縞の並設方向に沿って明度が正弦波状に変化するパターンの像を対象物に投影する投影装置と、
前記対象物に投影されたパターンの像を撮影する撮像装置と、
前記対象物に投影されたパターンの一定量のシフトを繰り返して得られ、前記明度の位相が一定量づつシフトした画像を少なくとも３種類取り込んで記憶する記憶装置と、
この記憶装置に記憶された少なくとも３種類の画像の各画素のうち、同一の位置にある各画素の明度を所定の演算式に代入して算出された位相値がその位置に対応する画素の値として画素毎に割り当てられてなる位相復元画像を作成し、位相復元画像の複数の画素にそれぞれ対応する複数の画素を有し、これら複数の画素のうち、前記明度の１周期の一部に属する画素に対応する画素には第１値が割り当てられ、前記明度の１周期の残部に属する画素に対応する画素には第２値が割り当てられ、前記明度の位相のシフトで明度が変化しない画素に対応する画素には第３値が割り当てられてなる１つの領域分類用画像を作成し、この領域分類用画像を用いて前記第１〜第３値の画素の各々が連続する領域の分類を行い、この分類結果に基づいて、前記第１値の画素が連続する第１領域および前記第２値の画素が連続する第２領域のうち、前記縞の並設方向に沿って互いに隣接する第１領域および第２領域の組分けをし、この組分け結果を利用して位相連結の処理を行い、この処理結果に応じて前記対象物の３次元形状の高さ情報を抽出する画像処理装置と
を備えることを特徴とする３次元形状計測システム
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、位相シフト法（縞走査法）により対象物の３次元形状を計測するための３次元形状計測方法およびそのシステムに関するものである。
【０００２】
【従来の技術】
従来、３次元形状の計測には、高速かつ高精度の計測を可能にする位相シフト法(縞走査法)が用いられている。ここで、位相シフト法においては、位相連結の処理が正しく行われていなければ、高さ情報を一意に決定することができないという位相連結問題に対処する必要があることから、例えば、特公平３−３８５２４号公報には、計測対象の近くに投影パターン全体を捉えることが出来るような広い基準面を配置し、ここに投影される歪みのない投影パターンを基準位相として計測し、これをもとにして計測対象に投影されたパターンの歪みを求めるという方法が記載されている。
【０００３】
また、特開平１１−１４３２７号公報では、画像処理のみにより位相連結の処理を行う方法として、画像全面に対して位相不連続部分の特徴を抽出するフィルタを適用する方法が提案されている。
【０００４】
さらに、特開平６−６６５２７号公報には、投影方法の改良により位相連結問題を解決する方法として、投影するパターンの周期を変えて２度の計測を行い、周期から決定される最大計測高さを元に小さい周期での計測の際に発生した周期ズレを大きい周期での計測結果をもとに補正する方法が記載されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記３つの公報に記載の方法では、位相連結問題を解決することができるものの、それぞれ以下のような課題が残る。
【０００６】
特公平３−３８５２４号公報に記載の方法では、カメラ視野内にその基準面の全体を捉える必要があり、計測対象は画面の一部にしか捉えられないため、撮像装置の分解能が十分に活用されないという問題があった。また、装置構成の面でも基準面を設置する必要があり、計測対象が人体のように加工することのできない場合、適用が困難であるという問題があった。
【０００７】
特開平１１−１４３２７号公報に記載の方法では、得られた位相推定結果画像の全面に対して演算量の多い大きな畳み込みフィルタを適用する必要があり、位相導出の処理に時間がかかるという問題があった。
【０００８】
特開平６−６６５２７号公報に記載の方法では、計測を行うにあたって２回の計測を実施する必要があり、計測時間が２倍かかるという問題があった。
【０００９】
また、本出願人による特願平１１−３０４０８６号の出願にも、位相連結問題を解決することができる発明として、段差などで縞に不連続が生じた場合にも縞次数を決定しやすくすべく、光の強度が少なくとも１周期以上に亘る正弦波状に変化し縞状となる第１パターンの投影像と、その第１パターンの位相境界の位置を割り出すための第２パターンの投影像とを併用する方法が記載されている。しかし、この出願の一部の方法は、第２パターンの像を投影するために補助投影装置を用いたり、投影回数を増やしたりするので、コストおよび撮像時間が余計にかかる欠点があった。
【００１０】
本発明は、上記事情に鑑みてなされたものであり、コストおよび撮像時間を余計にかけることなく、撮像装置の解像度を損なわない３次元形状の計測、簡易な位相連結の処理および高速な計測を可能にする３次元形状計測方法およびそのシステムを提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記課題を解決するための請求項１記載の発明は、位相シフト法に基づく３次元形状計測方法であって、縞状で縞の並設方向に沿って明度が正弦波状に変化するパターンの像を対象物に投影し、前記対象物に投影されたパターンの像の撮影および前記パターンの一定量のシフトを繰り返して、前記明度の位相が一定量づつシフトした画像を少なくとも３種類取り込み、取り込んだ少なくとも３種類の画像の各画素のうち、同一の位置にある各画素の明度を所定の演算式に代入して算出された位相値がその位置に対応する画素の値として画素毎に割り当てられてなる位相復元画像を作成し、位相復元画像の複数の画素にそれぞれ対応する複数の画素を有し、これら複数の画素のうち、前記明度の１周期の一部に属する画素に対応する画素には第１値が割り当てられ、前記明度の１周期の残部に属する画素に対応する画素には第２値が割り当てられ、前記明度の位相のシフトで明度が変化しない画素に対応する画素には第３値が割り当てられてなる１つの領域分類用画像を作成し、この領域分類用画像を用いて前記第１〜第３値の画素の各々が連続する領域の分類を行い、この分類結果に基づいて、前記第１値の画素が連続する第１領域および前記第２値の画素が連続する第２領域のうち、前記縞の並設方向に沿って互いに隣接する第１領域および第２領域の組分けをし、この組分け結果を利用して位相連結の処理を行い、この処理結果に応じて前記対象物の３次元形状の高さ情報を抽出することを特徴とする。
【００１２】
請求項２記載の発明は、請求項１記載の３次元形状計測方法において、前記位相復元画像を作成した後、前記領域分類用画像は、前記明度の位相のシフトで明度が変化する画素の位置に対応するとともに前記位相復元画像内の対応する画素の値が所定しきい値より小さい画素に、第１値が割り当てられ、前記明度の位相のシフトで明度が変化する画素の位置に対応するとともに前記位相復元画像内の対応する画素の値が所定しきい値より大きい画素に、第２値が割り当てられ、前記明度の位相のシフトで明度が変化しない画素の位置に対応する画素に、第３値が割り当てられて作成され、前記位相連結の処理は前記組分け結果を前記位相復元画像に利用して行われることを特徴とする。
【００１３】
請求項３記載の発明は、請求項１記載の３次元形状計測方法において、前記領域分類用画像は、前記取り込んだ複数の画像の各画素のうち、同一の位置にある各画素の明度を所定の演算式に代入して位相値を算出する処理を、前記取り込んだ画像のうち、一の画像を初期位相用とした場合と他の画像を初期位相用とした場合とで平行に実行しながら、前記一の画像を初期位相用とした場合の位相値と前記他の画像を初期位相用とした場合の位相値との差分値を求め、この差分値が正であれば第１値が、負であれば第２値が、そして明度が変化しなければ第３値が割り当てられて作成され、前記位相連結の処理は前記組分け結果を前記各位相値に利用して行われることを特徴とする。
【００１４】
請求項４記載の発明は、請求項１記載の３次元形状計測方法において、前記一定量は前記明度の１周期を３より大きい整数である所定数で除して得た量であり、前記領域分類用画像を作成する場合、前記取り込んだ複数の画像の各画素のうち、同一の位置にある各画素の明度を所定の演算式に代入して算出された位相値がその位置に対応する画素の値として画素毎に割り当てられてなる位相復元画像を、前記取り込んだ画像のうち、一の画像を初期位相用とした場合と前記取り込んだ画像をサイクリックに前記所定数より小さい整数回分ずらして他の画像を初期位相用とした場合とでそれぞれ作成し、この後、前記領域分類用画像は、前記両位相復元画像内の対応する両画素の値の差分値が正であれば第１値が、負であれば第２値が、そして明度が変化しなければ第３値が各画素に割り当てられて作成され、前記位相連結の処理は前記組分け結果を前記両位相復元画像の一方に利用して行われることを特徴とする。
【００１５】
請求項５記載の発明は、請求項１記載の３次元形状計測方法において、前記領域分類用画像の各画素のうち、画素の値が前記縞の並設方向に沿って前記第２値から前記第１値に変化する画素の位置を位相連結の位置として、前記位相連結の処理を行うことを特徴とする。
【００１６】
請求項６記載の発明は、請求項１記載の３次元形状計測方法において、前記位相連結の処理は、前記領域分類用画像を用いて、前記第１値の画素が連続する第１領域および前記第２値の画素が連続する第２領域の分類を行い、これら第１領域および第２領域における前記縞の並設方向に沿った始点および終点をそれぞれ求めて前記第１領域および第２領域の位置関係の評価を行い、この評価結果に応じて、前記縞の並設方向に沿って互いに隣接する前記第１領域および第２領域の組分けをすることにより実行されることを特徴とする。
【００１７】
請求項７記載の発明は、請求項６記載の３次元形状計測方法において、前記組分け前、前記第１領域および第２領域の各々に所定画素数以下の他の小領域が含まれる場合、その小領域を、これを含む領域に併合する処理を行うことを特徴とする。
【００１８】
請求項８記載の発明は、請求項６記載の３次元形状計測方法において、前記第３値の画素が連続する第３領域を前記第１領域に含めて拡張の第１領域とし、前記第３領域を前記第２領域に含めて拡張の第２領域とし、これら拡張の第１および第２領域の重なり状態に基づいて、互いに隣接する前記第１領域および第２領域の組分けをすることを特徴とする。
【００１９】
請求項９記載の発明は、請求項８記載の３次元形状計測方法において、前記第３領域により複数位相分の前記第１領域および第２領域が繋がって見える場合、前記第３領域を除いて前記第１領域および第２領域を再度求め、これら第１領域および第２領域のうち、前記縞に沿った方向に分断されていない領域を抽出し、この領域に基づいて前記縞に沿った方向に分断された領域を結合することを特徴とする。
【００２０】
請求項１０記載の発明は、請求項２記載の３次元形状計測方法において、前記撮影およびシフトを繰り返して取り込まれる画像を、前記パターンの像を一の方向から前記対象物に投影した場合のものと前記パターンの像を他の方向から前記対象物に投影した場合のものとの２組み用意し、これら２組みの画像から前記位相復元画像を２つ作成し、これら位相復元画像の一方のみに前記第３値の画素が連続する領域が存在する場合、その領域を、前記対象物における段差を作る突部の影の範囲として、これら影の範囲の間に挟まれる領域を前記突部の存在領域とすることを特徴とする。
【００２１】
請求項１１記載の発明は、請求項２記載の３次元形状計測方法において、前記領域分類用画像の各画素のうち、前記第３値の画素が連続する第３領域における前記縞の並設方向に沿った始点と終点における位相復元画像の画素の値がほぼ同一である場合、当該第３領域を前記対象物において段差を作る突部の影の範囲とすることを特徴とする。
【００２２】
請求項１２記載の発明は、請求項１０または１１記載の３次元形状計測方法において、前記領域分類用画像の各画素のうち、前記影の範囲からその影が伸びる方向とは逆の方向における前記縞に沿った方向の各画素に対応する前記位相復元画像の画素の値を調べ、これら画素の値が不連続である場合には前記影が伸びる方向とは逆の方向に前記突部が続いているものとし、不連続で無くなった場合には前記突部が途切れる境界であるとすることを特徴とする。
【００２３】
請求項１３記載の発明は、請求項１０〜１２のいずれかに記載の３次元形状計測方法において、前記縞の並設方向に沿った前記影の範囲の長さをパターンずれ量として求め、その影が伸びる方向とは逆の方向に存在する前記突部における前記第１値ないし第２値の画素が連続する領域を、前記パターンずれ量だけ前記縞の並設方向にずれた前記突部の外側の領域と対応付けることを特徴とする。
【００２４】
請求項１４記載の発明は、請求項１記載の３次元形状計測方法において、前記第３値の画素が連続する第３領域内の位相値または高さ情報を、その第３領域の外側の位相値または高さ情報をもとに補完することを特徴とする。
【００２５】
請求項１５記載の発明は、請求項１４記載の３次元形状計測方法において、前記第３値の画素が連続する第３領域が前記対象物における段差を作る突部の影で生じた場合、その第３領域内の位相値または高さ情報を、その第３領域に隣接しかつ前記突部の影が伸びる方向にある領域の位相値または高さ情報をもとに補完することを特徴とする。
【００２６】
請求項１６記載の発明は、位相シフト法に基づく３次元形状計測システムであって、縞状で縞の並設方向に沿って明度が正弦波状に変化するパターンの像を対象物に投影する投影装置と、前記対象物に投影されたパターンの像を撮影する撮像装置と、前記対象物に投影されたパターンの一定量のシフトを繰り返して得られ、前記明度の位相が一定量づつシフトした画像を少なくとも３種類取り込んで記憶する記憶装置と、この記憶装置に記憶された少なくとも３種類の画像の各画素のうち、同一の位置にある各画素の明度を所定の演算式に代入して算出された位相値がその位置に対応する画素の値として画素毎に割り当てられてなる位相復元画像を作成し、位相復元画像の複数の画素にそれぞれ対応する複数の画素を有し、これら複数の画素のうち、前記明度の１周期の一部に属する画素に対応する画素には第１値が割り当てられ、前記明度の１周期の残部に属する画素に対応する画素には第２値が割り当てられ、前記明度の位相のシフトで明度が変化しない画素に対応する画素には第３値が割り当てられてなる１つの領域分類用画像を作成し、この領域分類用画像を用いて前記第１〜第３値の画素の各々が連続する領域の分類を行い、この分類結果に基づいて、前記第１値の画素が連続する第１領域および前記第２値の画素が連続する第２領域のうち、前記縞の並設方向に沿って互いに隣接する第１領域および第２領域の組分けをし、この組分け結果を利用して位相連結の処理を行い、この処理結果に応じて前記対象物の３次元形状の高さ情報を抽出する画像処理装置とを備えることを特徴とする。
【００２７】
上記発明によれば、領域分類用画像を用いて第１〜第３値の画素の各々が連続する領域の分類を行い、この分類結果に基づいて、縞の並設方向に沿って互いに隣接する第１領域および第２領域の組分けをするので、組分けされた第１領域および第２領域が１周期分の位相（以下、１位相という）に相当するようになるから、段差や孔がある場合にも、組分け結果を利用することで正しい位相連結の処理を行うことができる。また、補助投影装置を用いたり、補助パターンを投影するために投影回数を増やしたりする必要がないので、３次元形状計測を低コストで高速に実現できる。
【００２８】
【発明の実施の形態】
図１は３次元形状計測システムの説明図、図２は３次元形状計測方法の手順を示すフローチャートであり、これらの図を用いて本発明の第１実施形態を説明する。
【００２９】
図２に示す３次元形状計測方法は、位相シフト法に基づいて３次元形状を計測する方法であって、ステップＳ１の「画像番号←１」と、ステップＳ２の「パターン切り替え」と、ステップＳ３の「画像取り込み」と、ステップＳ４の「取り込み完了？」と、ステップＳ５の「画像番号←画像番号＋１」と、ステップＳ６の「画像番号：Ｎ」と、ステップＳ７の「画像を記憶装置へ転送」と、ステップＳ８の「位相導出処理」と、ステップＳ９の「位相境界検出」と、ステップＳ１０の「位相連結処理」と、ステップＳ１１の「距離計算」との各手順を持つ。
【００３０】
そして、上記３次元形状計測方法は、図１（ａ）の例に示すように、投影装置１と、カメラ２と、量子化回路３と、記憶装置４と、画像処理装置５とを備える３次元形状計測システムによって実行される。
【００３１】
投影装置１は、ランプ１１と、このランプ１１の光を一の方向に向けて反射する凹面鏡１２と、ランプ１１の前方に配置される投影用レンズ１３と、ランプ１１および投影用レンズ１３間に介在し、光の透過率がある１方向に正弦波状に変化する縞状の濃淡パターンＨ１が形成されたパターン板１４と、このパターン板１４を上記正弦波の１周期より短い間隔で正確に移動させるパターンシフト部１５とにより構成されている。この構成の場合、ランプ１１の光が凹面鏡１２により面状光となってパターン板１４を通過して、縞状で縞の並設方向に沿って明度が正弦波状に変化するパターンの像が投影用レンズ１３を通して対象物１０の表面上に投影されることになり、また、図２のステップＳ２の処理として、パターンシフト部１５により、対象物１０に投影された像の明度の位相がシフトすることになる。ここに、対象物１０に投影された像はその対象物１０の表面の３次元形状に応じた像Ｈ２に変化する。
【００３２】
なお、パターン板１４に透光型液晶パネルを使用して、パターンシフト部１５を廃止する構成でもよい。この構成の場合、機械的可動部のない装置構成が可能となるほか、対象物１０に投影される像の明度の位相を簡単、正確にシフトすることが可能になる。また、上記投影方法は一例であり、この他にも白黒格子パターンをレンズによりぼかして投影する方法やレーザーの干渉を利用する方法、モアレトポグラフィにより縞を生成する方法により置換しても構わない。
【００３３】
カメラ２は、受光レンズおよびＣＣＤなどにより構成され、濃淡パターンＨ１のシフト毎に、対象物１０の表面上の像Ｈ２を投影装置１の光軸とは異なる方向から撮影するものであり、図１（ａ）の例では、対象物１０の上面を撮影するように設置されている。量子化回路３は、カメラ２の撮影で得られた信号を量子化して、像Ｈ２に対応する縞画像Ｈ３を得るものである。記憶装置４は、例えばＲＡＭなどの半導体記憶素子またはハードディスクなどのディスク装置などにより構成され、量子化回路３の量子化で得られた縞画像Ｈ３を複数フレーム分記憶するものである。なお、本実施形態では、カメラ２と量子化回路３で撮像装置を構成している。
【００３４】
ここで、カメラ２による撮影の手順を説明すると、まず、撮影で得られる縞画像に対する画像番号が１に初期化される（図２のＳ１）。この後、濃淡パターンＨ１のシフトが行われ（Ｓ２）、続いてカメラ２の撮影および量子化回路３の量子化により縞画像Ｈ３が取り込まれる（Ｓ３）。この後、縞画像Ｈ３の取り込みが完了すると（Ｓ４でＹｅｓ）、画像番号が１増分され（Ｓ５）、画像番号と所定数Ｎ（３以上）とが比較される（Ｓ６）。このとき、画像番号がＮより大きければ（Ｓ６でＹｅｓ）、取り込まれた縞画像Ｈ３が記憶装置４に転送されて記憶され（Ｓ７）、そうでなければ（Ｓ６でＮｏ）、ステップＳ２に戻る。なお、以下、投影されたパターン自体の光量を「強度」、撮影された縞画像Ｈ３における任意の座標点の画素値を「明度」という。
【００３５】
図１に戻って、画像処理装置５は、ＣＰＵおよびメモリなどにより構成され、記憶装置４に記憶された画像から、この画像の複数の画素にそれぞれ対応する複数の画素を有し、これら複数の画素のうち、上記明度の１周期の一部に属する画素に対応する画素には第１値が割り当てられ、明度の１周期の残部に属する画素に対応する画素には第２値が割り当てられ、明度の位相のシフトで明度が変化しない画素に対応する画素には第３値が割り当てられてなる領域分類用画像を作成する領域分類用画像作成機能５１と、領域分類用画像を用いて第１〜第３値の画素の各々が連続する領域の分類を行い、この分類結果に基づいて、第１値の画素が連続する第１領域および第２値の画素が連続する第２領域のうち、縞の並設方向に沿って互いに隣接する第１領域および第２領域の組分けをし、この組分け結果を利用して位相連結の処理を行い、この処理結果に応じて対象物の３次元形状の高さ情報を抽出する高さ情報抽出機能５２とを有し、より具体的には、図２のステップＳ８〜Ｓ１１の画像処理を含む各種処理を実行するものである。例えば、記憶装置４に記憶された複数の縞画像Ｈ３から位相復元画像を作成する処理が実行される（Ｓ８）。この位相復元画像は、複数の縞画像Ｈ３の各画素のうち、同一の位置にある各画素の明度を所定の演算式に代入して算出された位相値がその位置に対応する画素の値として画素毎に割り当てられてなる。また、位相復元画像の複数の画素にそれぞれ対応する複数の画素を有する領域分類用画像を生成する処理が実行される（Ｓ９）。この領域分類用画像は、上記明度の位相のシフトで明度が変化する画素の位置に対応するとともに位相復元画像内の対応する画素の値が所定しきい値より小さい画素に、第１値が割り当てられ、明度の位相のシフトで明度が変化する画素の位置に対応するとともに位相復元画像内の対応する画素の値が所定しきい値より大きい画素に、第２値が割り当てられ、明度の位相のシフトで明度が変化しない画素の位置に対応する画素に、第３値が割り当てられてなる。さらに、領域分類用画像を用いて第１〜第３値の画素の各々が連続する領域（連結領域）の分類を行い、この分類結果に基づいて、第１値の画素が連続する第１値の連結領域（第１領域ともいう）および第２値の画素が連続する第２値の連結領域（第２領域ともいう）のうち、縞の並設方向に沿って互いに隣接する第１領域および第２領域の組分けをし、この組分け結果を利用して位相連結の処理を行い、この処理結果に応じて対象物１０の３次元形状の高さ情報を抽出する処理が実行される（Ｓ１０，Ｓ１１）。
【００３６】
次に、画像処理装置５により実行される各種処理などについて、図面をさらに順次使用しながら詳述する。
【００３７】
図３に位相復元の原理説明図を示す。図２のステップＳ８に進むと、記憶装置４に記憶された複数の縞画像Ｈ３に対して同一座標点における明度変化を演算することにより、投影されたパターンの位相を推定する処理が行われる。例えば、図２のステップＳ１からＳ７において、周期の１／４（π／２）づつ位相をシフトしながら４回撮影が行われたとすると、図３に示すように、同一座標点(x, y)における明度がI0(x, y)→I1(x, y)→I2(x, y)→I3(x, y)と変化した場合、その位置における位相値α(x, y)が次の演算式で導出される。
【００３８】
【数１】
0003687531.tif 000002
【００３９】
この位相値αを全ての点(x, y)について求めて、位相値が等しくなる点を結ぶと、いわゆる光切断法における光切断線に相当し、対象物１０の断面形状を反映する等位相線ができる。そして、投影装置１およびカメラ２の位置関係、各種光学的パラメータは既知であるので、これらのパラメータと等位相線の形状から、光切断法と同様に対象物１０の３次元形状の高さ情報が得られる。このように、撮影された縞画像の全ての画素について位相を求めると、光切断法で光切断線をそれと略直交する方向に極めて密な間隔で走査してエリア的な距離惰報を得る場合と同様の計測を簡単かつ高速に行える。
【００４０】
図４は対象物の斜視図、図５は対象物の上面図および断面図、図６は対象物の撮影で得られる縞画像およびこの縞画像のある直線上に沿った明度変化の例を示す図、図７は位相シフトで得られる各縞画像および各縞画像のある直線上に沿った明度変化の例を示す図、図８は位相復元画像およびこの位相復元画像のある直線上に沿った位相値変化の例を示す図、図９は位相連結処理の説明図である。
【００４１】
図４，図５に示すように、対象物１０が急な段差を伴う突部１０Ａと穴（図では貫通孔）１０Ｂとを有する場合、上記数１の演算式を用いただけの３次元形状計測方法では、対象物１０の３次元形状を正確に計測することができない。図５の例では、投影装置１の投影光軸がある傾斜角度を有しているので、突部１０Ａの影ができてその影の範囲Ａには投影パターンが投影されない。また、穴１０Ｂに対応する範囲Ｂにも投影パターンが投影されない。このため、カメラ２の撮影で得られる縞画像Ｈ３は、図６に示すように、範囲Ａ，Ｂに対応する領域ＡH3，ＢH3の明度ＩAH3 ，ＩBH3 は、投影パターンの影響を受けず周囲光によって照明されただけの明度となる。従って、図２のステップＳ２で位相シフトを行ったとしても、領域ＡH3，ＢH3の明度が図７に示すように変化しなくなる部分が生じるから、上記演算式だけでは、図８に示すように、位相復元画像Ｈ４における範囲Ａ，Ｂに対応する領域ＡH4，ＢH4の位相値αAH4 ，αBH4 が欠落して正確な位相値を計測することができなくなる。
【００４２】
他方、上述の等位相線から３次元形状の高さ情報を求める場合、数１が逆正接関数であるため、とり得る位相値が−πからπまでの範囲内になることから、図９に示すように、画像の端を基準とした位相値（絶対位相値）α’を求めるためには、縞次数ｎ（ｎ＝０，１，２，…）の縞に対してそれぞれｎ×２πだけ位相値を加算する必要がある。しかしながら、図８に示したように、位相値の情報が欠落して正確な位相値を計測することができなければ、図２のステップＳ１０の位相連結処理を実行するすることができなくなって、絶対位相値α’を求めることができなくなる。すなわち、最も単純な位相境界検出の処理は、位相値がπから−πに変化する部分を検出する処理になるが、この処理では、図８に示すように、領域ＡH4，ＢH4の位相値αAH4 ，αBH4 を求めることができないため、その領域内に位相の境界があった場合、これを検出できない。例えば、図５の範囲Ａ内に位相の境界がくると、真上からの撮影で縞画像を得た場合、πから−πに変化する部分が隠されてしまい、位相境界の検出ができないことになる。この結果、対象物１０の３次元形状を正確に計測することができなくなるのである。
【００４３】
そこで、第１実施形態では、図４，５に示したように、突部１０Ａおよび穴１０Ｂで局所的に位相境界が隠蔽されている場合の位相連結問題を解決する手段として、より広い範囲の情報を利用するために、各位相値を第１値および第２値に二値化し、それぞれの値が連続する領域（範囲）の組合せをもって１周期分と見なす方法を用いて、１周期ごとに分割された復元位相値の周期の境界を検出し、正しい絶対位相値を求める。
【００４４】
図１０は領域分類用画像およびこの領域分類用画像のある直線上に沿った明度変化の例を示す図である。図１０では、しきい値を位相値０に設定して、位相値が０より小さい第１値（黒）と位相値が０より大きい第２値（白）とに２値化することで、領域分類用画像Ｈ５が作成されている。このように、位相復元画像Ｈ４の複数の画素にそれぞれ対応する複数の画素を有する画像を用意し、これら複数の画素のうち、位相シフトで明度が変化する画素の位置に対応するとともに位相復元画像Ｈ４内の対応する画素の位相値がしきい値０より小さい画素に、第１値を割り当て、位相シフトで明度が変化する画素の位置に対応するとともに位相復元画像Ｈ４内の対応する画素の位相値がしきい値０より大きい画素に、第１値を割り当てて、領域分類用画像Ｈ５を作成すれば、第１領域および第２領域が互いに隣接するとき、それら第１領域および第２領域の組みを投影パターンの１位相として取り扱うことができる。従って、互いに隣接する第１領域および第２領域を１位相とすればよいので、位相変化方向（図１０では左右方向）に画素値を調べ、画素値が第２値から第１値に変化する位置を位相境界とする処理が最も単純な位相境界検出の処理となる。
【００４５】
そして、上記位相連結問題を解決すべく、領域分類用画像Ｈ５において、位相シフトで明度が変化しない画素（図８では領域ＡH4，ＢH4の画素）の位置に対応する画素には、第３値が割り当てられる。図１０の例では、領域ＡH4，ＢH4に対応し、第３値が割り当てられる領域ＡH5，ＢH5の位相値αAH5 ，αBH5 は、０になっている。第１実施形態では、このようにして作成された領域分類用画像Ｈ５を用いて、位相境界検出の処理が実行される。
【００４６】
図１１にこの位相境界検出の具体的な処理手順を示すフローチャートを示す。図１１において、まず、上記の３値化によって、ステップＳ９０１の「３値画像生成」の処理を実行する。
【００４７】
なお、第１実施形態では、上記しきい値を用いて、３値画像としての領域分類用画像Ｈ５が生成されるが、これに限らず、図２のステップＳ１〜Ｓ７で得た複数の縞画像の各画素のうち、同一の位置にある各画素の明度を上記数１の演算式に代入して算出された位相値をその位置に対応する画素の値として画素毎に割り当てられてなる位相復元画像Ｈ４を、ステップＳ７で取り込んだ画像のうち、一の画像を初期位相用とした場合と取り込んだ画像をサイクリックに上記Ｎより小さい整数回分ずらして他の画像を初期位相用とした場合とでそれぞれ作成し、上記両位相復元画像内の対応する両画素の値の差分値が正であれば第１値が、負であれば第２値が、そして明度が変化しなければ第３値が各画素に割り当てられてなる領域分類用画像Ｈ５を生成するようにしてもよい。つまり、初期位相をずらせて復元した２つの位相値を差分することにより同様のパターンを得ることができるのである。
【００４８】
図１２にこの領域分類用画像の生成方法の説明図を示す。まず、投影パターンを１→２→３→４と変化させて、図７（ａ）〜（ｄ）に示すような４枚の縞画像Ｈ３を取り込み、これら縞画像Ｈ３の各画素(x, y)における明度を、数１の演算式のI0(x, y)→I1(x, y)→I2(x, y)→I3(x, y)として代入して位相復元を行い、図１２（ａ）に示すような位相復元画像を生成する。続いて、４枚の縞画像Ｈ３をサイクリックにずらして別の配列順序の縞画像列を得る。図７の例の各縞画像Ｈ３は、投影パターンの位相をπ／２づつシフトしつつ撮影されたものであるので、図７の（ｃ），（ｄ），（ａ），（ｂ）の配列順序になるように、４枚の縞画像Ｈ３をサイクリックにずらせば、図７の（ｃ），（ｄ）から、さらに位相シフトしながら２回撮影を行った場合と同様の配列順序になる縞画像を得ることができ、この場合、初期位相はπだけずれることになる。これにより、投影および撮影回数を増やすことなく、図１２（ｂ）に示すように、初期位相が１／２周期だけずれた別の位相復元画像を生成することができる。
【００４９】
そして、上記両位相復元画像内の対応する両画素の値の差分値が正であれば第１値を負であれば第２値を０であれば第３値を割り当てれば、図１２（ｃ）に示すように、領域分類用画像Ｈ５を生成することができる。このとき、突部１０Ａおよび穴１０Ｂで位相を復元できないため、第３値として任意の定数（図１２でも０）が代入される。ここで、対象物１０の表面の凹凸に伴う縞形状の変形は、図１２（ａ），（ｂ）のように初期位相値を変化させても同じであるので、図１２（ｂ）のパターンから図１２（ａ）のパターンを減算した差分画像は、図１２（ｃ）のように、図１２（ａ）における位相値が−π〜０の範囲では−π、０〜πの範囲ではπとなる。また、第３値の部分には定数が代入されているため差分値は０となる。よって、この差分画像において画素値πを第１値、画素値−πを第２値、画素値０を第３値とすることにより、簡単に３値画像（領域分類用画像Ｈ５）を生成することができる。
【００５０】
また、例えば領域分類用画像を生成する処理をハードウエアで行う等メモリ使用をなるべく控えたい場合には、取り込んだ複数の縞画像の各画素のうち、同一の位置にある各画素の明度を所定の演算式に代入して位相値を算出する処理を、取り込んだ画像のうち、一の画像を初期位相用とした場合と他の画像を初期位相用とした場合とで平行に実行しながら、一の画像を初期位相用とした場合の位相値と他の画像を初期位相用とした場合の位相値との差分値を求め、この差分値が正であれば第１値を負であれば第２値をそして明度が変化しなければ第３値を割り当てて領域分類用画像を作成するようにしてもよい。この第３値については、例えば、位相復元の際、明度の変化が小さい場合にこれらの位相値に同じ定数を代入するようにして差分値が０となる場合に第３値を割り当てればよい。つまり、各画素ごとに初期位相をずらせて第１と第２の位相を復元し、その差分値の正負を判断して直接３値画像を生成するようにすれば、中間段階として位相復元画像を作成してしきい値処理を行う必要がないから、メモリの使用量を少なくすることができる。
【００５１】
図１３は領域分類用画像を利用した各連結領域の分類処理の説明図、図１４は小領域の大領域への併合処理（前処理）の説明図、図１５は第１領域および第２領域の組分け処理の説明図である。ただし、以下では、図１３の領域分類用画像の左方の縞から右方の縞にかけて走査しながら、図１１のフローチャートの各手順を説明する。
【００５２】
図１１のステップＳ９０１の後、図１３（ａ）の領域分類用画像Ｈ５から、第１領域（Ｎ０，Ｎ１，…）および第２領域（Ｐ０，Ｐ１，…）を求める（Ｓ９０２，Ｓ９０３）。このとき、図１４（ａ）に示すように、所定画素数以下の面積の小さい領域が多数あると、第１領域および第２領域の数が多くなり、処理が煩雑となるため、膨張および収縮処理などで面積の小さい領域をその周囲の面積の大きい領域に併合する処理をかけ、図１４（ｂ）に示すように面積の大きい領域のみを残した画像を予め生成しておくのが望ましい。
【００５３】
続いて、図１３（ｂ）の各第１領域の始点位置（Ｓｎ０，Ｓｎ１，…）および終点位置（Ｅｎ０，Ｅｎ１，…）を検出するとともに、図１３（ｃ）の各第２領域の始点位置（Ｓｐ０，Ｓｐ１，…）および終点位置（Ｅｐ０，Ｅｐ１，…）を検出する（Ｓ９０４）。これら始点位置および終点位置の関係をもとに、互いに隣接する第１領域および第２領域の組みを検出する（図１１のＳ９０６）。この後、位相番号ｉが０に初期化される（Ｓ９０４）。
（１）第１領域Ｎ０〜Ｎ２および第２領域Ｐ０〜Ｐ２に対する処理
第１領域Ｎ０の終点位置Ｅｎ０および第２領域Ｐ０の始点位置Ｓｐ０と、第１領域Ｎ１の終点位置Ｅｎ１および第２領域Ｐ１の始点位置Ｓｐ１と、第１領域Ｎ２の終点位置Ｅｎ２および第２領域Ｐ２の始点位置Ｓｐ２は、いずれも交差することなく隣接していることから、それらいずれの組みも突部１０Ａおよび穴１０Ｂなどの影響を受けていないとみなすことができるので、そのまま組として図１５に示すように位相領域Ｉ０，Ｉ１，Ｉ２を生成する。このような処理は、ステップＳ９０６，Ｓ９０７，Ｓ９０８，Ｓ９０９，Ｓ９０６のループ処理で実行される。
（２）第１領域Ｎ３および第２領域Ｐ３に対する処理
第１領域Ｎ３の終点位置Ｅｎ３および第２領域Ｐ３の始点位置Ｓｐ３は、一部で隣接し残部（第３値の連結領域）で離間しているが、終点位置Ｅｎ３および始点位置Ｓｐ３が交差していないので、そのまま組として図１５に示すように位相領域Ｉ３を生成する（Ｓ９０６，Ｓ９０７，Ｓ９０８，Ｓ９０９でＮｏ）。
（３）図１３の第１領域Ｎ４および第２領域Ｐ４，Ｐ５に対する処理
１．第３値の連結領域（第３領域ともいう）が１位相より短い場合
図１６，図１７に各連結領域の分類処理の説明図を示し、図１８に第１領域および第２領域の組分け処理の説明図を示す。
【００５４】
図１３において、第１領域Ｎ４と対になる第２領域は、穴１０Ｂの影響による第３領域が存在するため、Ｐ４，Ｐ５の２つの連結領域に分割されている。位相シフトによる計測では、位相値は位相変化方向と直交方向（縞に沿った方向）に連続している必要があるため、第２領域Ｐ４，Ｐ５のように２つの連結領域に分断されていると、それを１つの連結領域に修復する必要がある。このため、ステップＳ９０２で、図１６（ａ）に示すように第３値を第１値とみなして拡張第１領域とし、ステップＳ９０３で、図１６（ｂ）に示すように第３値を第２値とみなして拡張第２領域とする。
【００５５】
この場合、図１３（ｂ）の第１領域Ｎ４が隣の第１領域Ｎ５と融合して、図１６（ａ）に示すように１つの拡張第１領域Ｎ４ａになるが、図１６の連結領域の情報を併用することで、位相ごとに正しく分離することができる（Ｓ９１１，Ｓ９１２）。
【００５６】
図１６において、拡張第１領域Ｎ４ａの始点位置Ｓｎ４ａおよび終点位置Ｅｎ４ａと拡張第２領域Ｐ４ａの始点位置Ｓｐ４ａおよび終点位置Ｅｐ４ａとを比較すると、始点位置Ｓｐ４ａおよび終点位置Ｅｐ４ａがともに始点位置Ｓｎ４ａおよび終点位置Ｅｎ４ａ間に入っていることがわかる。このことから、図１３（ｂ）の第１領域Ｎ４が第３領域により２位相分に渡って繋がっていると推定できる。この場合、図１７に示すように、拡張第２領域Ｐ４ａの終点位置Ｅｐ４ａの位置でＮ４ａをＮ４ｂとＮ５に分割して、新しく生成された第１領域Ｎ４ｂの終点Ｅｎ４ｂを検出すれば（Ｓ９１１）、第１領域Ｎ４ｂの終点位置Ｅｎ４ｂが図１７に示す第２領域Ｐ４ａの始点位置Ｓｐ４ａと一部で離間しているが交差していないので、上記（２）の場合と同様、第１領域Ｎ４ｂおよび第２領域Ｐ４ａを組みとし、図１８に示す位相領域Ｉ４を生成する（Ｓ９１２）。
【００５７】
２．第３値の連結領域が１位相以上に渡る場合
図１９，図２０に各連結領域の分類処理の説明図を示し、図２１に第１領域および第２領域の組分け処理の説明図を示す。この場合、ステップＳ９１３〜Ｓ９１７の処理が実行される。
【００５８】
図１９において、拡張第１領域Ｎ４ｃの始点位置Ｓｎ４ｃおよび終点位置Ｅｎ４ｃと拡張第２領域Ｐ４ｃの始点位置Ｓｐ４ｃおよび終点位置Ｅｐ４ｃとを比較すると、第２領域の始点位置Ｓｐ４ｃが第１領域の終点位置Ｅｎ４ｃより左にあり、第２領域の終点位置Ｅｐ４ｃが第１領域の終点位置Ｅｎ４ｃより右にあることから、拡張第１領域Ｎ４ｃおよび拡張第２領域Ｐ４ｃは交差していることがわかる（Ｓ９０６，Ｓ９１０）。このことから、拡張第１領域Ｎ４ｃおよび拡張第２領域Ｐ４ｃは、第３値の連結領域により２位相分以上に渡って繁がっていると推定できる。
【００５９】
そこで、拡張第２領域Ｐ４ｃについて、第３値の連結領域を第２値と見なさずに再度連結領域を求めると（Ｓ９１３）、図２０（ａ）のように、第２領域Ｐ４〜Ｐ６に分割される（Ｓ９１４）。このうちの第２領域Ｐ６は位相変化方向と直行する方向に連続であるので、第２領域Ｐ４，Ｐ５が第３値の連結領域により分断されていると判断できる。従って、図２０（ｂ），（ｃ）に示すように、第２領域Ｐ４，Ｐ５を仮に融合して連結領域Ｐ４ｄとし（Ｓ９１５）、この連結領域Ｐ４ｄの終点位置Ｅｐ４ｄで、拡張第１領域Ｎ４ｃを拡張第１領域Ｎ４ｄ，Ｎ５に分割する（Ｓ９１６）。これにより、拡張第１領域Ｎ４ｄの終点位置がＥｎ４ｄとなり、拡張第１領域Ｎ４ｄの終点位置Ｅｎ４ｄが図２０（ａ）の第２領域Ｐ４，Ｐ５の始点位置Ｓｐ４，Ｓｐ５と隣接するため、拡張第１領域Ｎ４ｄおよび第２領域Ｐ４ｄを組とし、図２１に示す位相領域Ｉ４を生成する（Ｓ９１７）。
（４）分割後の第１領域Ｎ５および第２領域Ｎ６に対する処理
１．第３値の連結領域が１位相より短い場合
図１７（ｂ）に示す分割後の第１領域Ｎ５の終点位置Ｅｎ５および図１６（ｂ）に示す第２領域Ｐ６の始点位置Ｓｐ６は、交差することなく隣接しているから、上記（１）と同様、そのまま組として図１８に示すように位相領域Ｉ５を生成する。
【００６０】
２．第３値の連結領域が１位相以上に渡る場合
図２０（ｃ）に示す分割後の拡張第１領域Ｎ５の終点位置Ｅｎ５および図２０（ａ），（ｂ）に示す第２領域Ｐ６の始点位置Ｓｐ６は、交差することなく隣接しているから、上記（１）と同様、そのまま組として図２１に示すように位相領域Ｉ５を生成する。
【００６１】
図２２は位相境界の検出結果の説明図、図２３は位相連結処理結果の説明図、図２４は高さ情報の例を示す図である。上記図１１のフローにより図２２に示す位相境界の検出結果が得られる。この図２２において、各位相領域の終点位置Ｅｉ０〜Ｅｉ５が位相連結位置となるので、図８に示す位相値に左から順に位相終点位置ごとに２πを加算する処理を行うと、図２３に示すような位相連結画像Ｈ６が得られる。そして、この位相連結画像Ｈ６から図２４に示すような高さ情報が得られる。このように、復元された位相値を二値化したパターンについて各々連結領域を求め、さらに位相復元が出来ない影や穴に相当する第３値の連結領域との位置関係を評価して位相境界を求めることにより、影や穴によって位相境界が隠蔽されている場合にも正しい高さ情報が得られるのである。
【００６２】
以上、第１実施形態によれば、第３値の連結領域の有無により第１値および第２値の連結領域の位置関係がどのように変化するかを調べることができ、第３値の連結領域の影響を除去して第１領域および第２領域の組を抽出し、図２２に示すように、位相境界を正しく決定することができる。
【００６３】
図２５は図４の対象物よりも大きな突部を有する対象物の斜視図、図２６は図２５の対象物の撮影で得られる縞画像の例を示す図、図２７は複数枚の縞画像から復元された位相復元画像および領域分類用画像などを示す図であり、これらの図を用いて以下に本発明の第２実施形態について説明する。
【００６４】
図２５に示す対象物２０の場合、位相シフトの撮影毎に縞画像Ｈ３が得られるのであるが、その縞画像Ｈ３の画像内容は、図２６に示すように図６のそれとは相違している。
【００６５】
図２６の縞画像Ｈ３において、１位相分の縞の組みＧ１，Ｇ２は、突部２０Ａの凸面によって左にずれた１位相分の縞の組みＧ３と対応する。そして、図２７のようにＧ１〜Ｇ３にそれぞれ対応する第１領域Ｇ１ｎ〜Ｇ３ｎおよび第２領域Ｇ１ｐ〜Ｇ３ｐが連続しないため、第１実施形態では、突部２０Ａの影響を受けずに上下方向に連続している連結領域（図２７のＧ４ｐ，Ｇ５ｎ）を検出し、これをもとに対応付けを行うことになる。しかしながら、突部２０Ａの影響を受けずに上下方向に連続している連結領域を検出しても、図２６のＧ４とＧ５との間には３つの組みＧ６，Ｇ７，Ｇ１があるのに対して、突部２０Ａの凸面には１組みしかないために、このままでは数が合わず、第１実施形態を適用することができない。つまり、第１実施形態では、段差を有する突部などによる位相のずれが２πを超えた場合に計測が不可能となる。この数の不一致は、図２６のＧ３の左に隣接する縞が突部２０Ａの左側面に投影され、真上から観測しているカメラ２からは死角になってしまうことによる。したがって、これを画像処理により推定する必要がある。
【００６６】
第２実施形態では、突部２０Ａを予め抽出しておき、突部２０Ａの影による第３値の連結領域の情報をもとに、突部２０Ａに存在する第１値および第２値の連結領域の位置ずれを推定して対応付けを行う。図２７（ｂ）の第３値の連結領域ＡH5が突部２０Ａの影であると判断でき、かつ投影方向が既知である場合には、図２６の組みＧ３は、突部２０Ａにより図２７（ｂ）の連結領域ＡH5の幅だけ左方に位置がずれていると考えることができるので、組みＧ１，Ｇ２と対応すると判断することができる。
【００６７】
次に、事前に突部２０Ａにより縞がずれている部分（以下、スライド領域という）を抽出する方法について説明する。事前にスライド領域を抽出する理由は、図２７（ｂ）の例に示す領域分類用画像Ｈ５において、誤ってＧ３ｐの部分がその上下のＧ６ｐと一つの連結領域を形成する（おそれがある）ために、Ｇ３ｐとこの上下のＧ６ｐとを分離して扱う必要があるからである。
【００６８】
スライド領域の抽出においては、例えば電子回路基板などで、突部としての段差を作る部品が既知であって、それをパターンマッチング等により検出可能な場合は予め既知の部品を検出しておけばよい。
【００６９】
また、段差を作る部品が未知の場合には、領域分類用画像および位相復元画像のみを用いてスライド領域（段差を作る突部の凸面領域）および影である第３値の連結領域を検出することも可能であるので、次にこの方法について説明する。
【００７０】
スライド領域を抽出するための第１の方法として、投影方向を変えて得られた別の領域分類用画像における影の出方を元にする方法がある。図２８にその方法を実行する３次元形状計測システムの構成図を示す。ただし、識別のため図２８における括弧内の符号１Ｌ，１Ｒを適宜使用する。また、対象物は図４と同様であるとする。
【００７１】
図２８の３次元形状計測システムでは、２台の投影装置１が使用され、それぞれ反対方向から対象物１０に縞パターンを照射するように配置されている。一方の投影装置１（１Ｌ）を用いて投影された複数の画像からは、図２９（ａ）に示すような領域分類用画像Ｈ５が得られ、他方の投影装置１（１Ｒ）を用いて投影された複数の画像からは、図２９（ｂ）に示すような領域分類用画像Ｈ５が得られる。図２９では、投影方向が逆であるため、影の範囲Ａｐ５が反対方向に１つ生じる。また、同一の穴１０Ｂに対応する範囲には投影方向に関係なく第３値の連結領域ができる。この場合、両領域分類用画像Ｈ５において、一方にあって他方にない第３値の連結領域をそれぞれ抽出すれば、影の領域だけを抽出したことになる。そして、抽出された双方の連結領域ＡH5間を、図３０に示すように、突部としての段差を作る部品などの存在を示すスライド領域として検出することができる。
【００７２】
次に、第２の方法として、１台の投影装置１を用いて、第３値の連結領域が影であるかどうかを判断して、スライド領域を抽出する方法について説明する。まず、第３値の連結領域が影であるかどうかの判断については、対象物に穴がないことが既知である場合には全ての第３値の連結領域を影と判断すればよい。そうではない場合は、位相値の連続性を用いる方法がある。図２７（ａ）に示すように、突部２０Ａの影の部分では、投影された連続する正弦波縞パターンが影によって見かけ上分断されている状態であるため、影が伸びる方向に沿った影の両端（ｐ１およびｐ２）では位相値はほぼ同一である。従って、影の両端における復元位相値を調べ、数値がほぼ同一である場合にはそれを影と見なすことができる。
【００７３】
このようにして影による第３領域を抽出した後、縞の位相ズレをもとにスライド領域の境界を検出することにより、スライド領域を抽出できる。図３１に示すように、影による第３領域の左方上下端ｐ３，ｐ４から影が伸びる方向とは逆方向にそれぞれ伸ばした直線Ｌ１，Ｌ２上の各点において、Ｌ１，Ｌ２と略直交する方向に復元された位相の変化を調べる。このとき、突部２０Ａの境界（ｐ５，ｐ６）ではその内側と外側とで位相値が不連続になる。よってこれを利用し、ｐ３，ｐ４から左方向に位相が不連続である部分を追跡し、位相の不連続がなくなる位置を突部２０Ａの左端（ｐ７，ｐ８）として検出できる。この方法によれば、ｐ７−ｐ８間の線分と、第３領域ＡH4の左端ラインｐ３−ｐ４に囲まれた領域が突部２０Ａとして検出できる。
【００７４】
以上、第２実施形態によれば、突部に対応するスライド領域を抽出し、その突部による影の長さを測定し、そのスライド領域に存在するパターン（第１・第２領域）は影の伸びる方向とは逆方向にずれているとしてスライド領域外のパターンと対応付けを行うことにより、段差や穴がある対象物に対しても正しい位相連結処理が行え、高さ情報が得られる。
【００７５】
図３２は高さ情報の欠落を補完する方法の説明図、図３３は高さ情報の欠落を補完した結果を示す図であり、これらの図を用いて以下に本発明の第３実施形態について説明する。
【００７６】
第１，第２実施形態では、第３値の連結領域により位相を復元できないため、高さ情報を生成できない。用途によっては、このような距離情報の欠落が不都合である場合があるので、こういった場合には周囲の高さ情報をもとにデータの補完を行うことで、距離情報の欠落をなくすことができる。
【００７７】
例えば、図３２に示すように、影の範囲Ａ（第３値の連結領域）内の高さ情報が欠落している場合、範囲Ａに隣接し影が伸びる側の領域Ｃ内の高さ情報を、範囲Ａ内の高さ情報Ｅとして外挿することにより、欠落している高さ情報を擬似的に補完することができる。また、穴に対応する範囲Ｂの高さ情報の欠落が不都合である場合には、範囲Ｂに隣接する領域Ｃ，Ｄ内の高さ情報をもとに、その高さと同じかまたはそれよりも低い所定の高さの情報Ｆ（図３２の例では同じ高さ）で穴を埋める方法を適用することができる。
【００７８】
以上、第３実施形態では、補完するべき範囲内の高さ情報をその範囲に隣接する領域の高さ情報を利用して補完するので、図３３に示すように欠落の無い高さ情報を得ることができる。
【００７９】
【発明の効果】
請求項１記載の発明によれば、位相シフト法に基づく３次元形状計測方法であって、縞状で縞の並設方向に沿って明度が正弦波状に変化するパターンの像を対象物に投影し、前記対象物に投影されたパターンの像の撮影および前記パターンの一定量のシフトを繰り返して、前記明度の位相が一定量づつシフトした画像を少なくとも３種類取り込み、取り込んだ少なくとも３種類の画像の各画素のうち、同一の位置にある各画素の明度を所定の演算式に代入して算出された位相値がその位置に対応する画素の値として画素毎に割り当てられてなる位相復元画像を作成し、位相復元画像の複数の画素にそれぞれ対応する複数の画素を有し、これら複数の画素のうち、前記明度の１周期の一部に属する画素に対応する画素には第１値が割り当てられ、前記明度の１周期の残部に属する画素に対応する画素には第２値が割り当てられ、前記明度の位相のシフトで明度が変化しない画素に対応する画素には第３値が割り当てられてなる１つの領域分類用画像を作成し、この領域分類用画像を用いて前記第１〜第３値の画素の各々が連続する領域の分類を行い、この分類結果に基づいて、前記第１値の画素が連続する第１領域および前記第２値の画素が連続する第２領域のうち、前記縞の並設方向に沿って互いに隣接する第１領域および第２領域の組分けをし、この組分け結果を利用して位相連結の処理を行い、この処理結果に応じて前記対象物の３次元形状の高さ情報を抽出するので、対象物に段差や孔がある場合にも、組分け結果を利用することで正しい位相連結の処理を行うことができ、また３次元形状計測を低コストで高速に実現できる。これにより、コストおよび撮像時間を余計にかけることなく、撮像装置の解像度を損なわない３次元形状の計測、簡易な位相連結の処理および高速な計測が可能になる。
【００８０】
請求項２記載の発明によれば、請求項１記載の３次元形状計測方法において、前記位相復元画像を作成した後、前記領域分類用画像は、前記明度の位相のシフトで明度が変化する画素の位置に対応するとともに前記位相復元画像内の対応する画素の値が所定しきい値より小さい画素に、第１値が割り当てられ、前記明度の位相のシフトで明度が変化する画素の位置に対応するとともに前記位相復元画像内の対応する画素の値が所定しきい値より大きい画素に、第２値が割り当てられ、前記明度の位相のシフトで明度が変化しない画素の位置に対応する画素に、第３値が割り当てられて作成され、前記位相連結の処理は前記組分け結果を前記位相復元画像に利用して行われるのであり、この方法でも、コストおよび撮像時間を余計にかけることなく、撮像装置の解像度を損なわない３次元形状の計測、簡易な位相連結の処理および高速な計測が可能になる。
【００８１】
請求項３記載の発明によれば、請求項１記載の３次元形状計測方法において、前記領域分類用画像は、前記取り込んだ複数の画像の各画素のうち、同一の位置にある各画素の明度を所定の演算式に代入して位相値を算出する処理を、前記取り込んだ画像のうち、一の画像を初期位相用とした場合と他の画像を初期位相用とした場合とで平行に実行しながら、前記一の画像を初期位相用とした場合の位相値と前記他の画像を初期位相用とした場合の位相値との差分値を求め、この差分値が正であれば第１値が、負であれば第２値が、そして明度が変化しなければ第３値が割り当てられて作成され、前記位相連結の処理は前記組分け結果を前記各位相値に利用して行われるので、中間段階として位相復元画像を作成してしきい値処理を行う必要がないから、メモリの使用量を少なくすることができる。
【００８２】
請求項４記載の発明によれば、請求項１記載の３次元形状計測方法において、前記一定量は前記明度の１周期を３より大きい整数である所定数で除して得た量であり、前記領域分類用画像を作成する場合、前記取り込んだ複数の画像の各画素のうち、同一の位置にある各画素の明度を所定の演算式に代入して算出された位相値がその位置に対応する画素の値として画素毎に割り当てられてなる位相復元画像を、前記取り込んだ画像のうち、一の画像を初期位相用とした場合と前記取り込んだ画像をサイクリックに前記所定数より小さい整数回分ずらして他の画像を初期位相用とした場合とでそれぞれ作成し、この後、前記領域分類用画像は、前記両位相復元画像内の対応する両画素の値の差分値が正であれば第１値が、負であれば第２値が、そして明度が変化しなければ第３値が各画素に割り当てられて作成され、前記位相連結の処理は前記組分け結果を前記両位相復元画像の一方に利用して行われるので、投影回数を増やす必要がなく、高速な計測が可能となる。
【００８３】
請求項５記載の発明によれば、請求項１記載の３次元形状計測方法において、前記領域分類用画像の各画素のうち、画素の値が前記縞の並設方向に沿って前記第２値から前記第１値に変化する画素の位置を位相連結の位置として、前記位相連結の処理を行うので、穴や段差がない対象物を計測する場合に、高速に位相接続位置を検出できる。
【００８４】
請求項６記載の発明によれば、請求項１記載の３次元形状計測方法において、前記位相連結の処理は、前記領域分類用画像を用いて、前記第１値の画素が連続する第１領域および前記第２値の画素が連続する第２領域の分類を行い、これら第１領域および第２領域における前記縞の並設方向に沿った始点および終点をそれぞれ求めて前記第１領域および第２領域の位置関係の評価を行い、この評価結果に応じて、前記縞の並設方向に沿って互いに隣接する前記第１領域および第２領域の組分けをすることにより実行されるので、大局的な領域情報をもとに位相連結位置の検出が可能となり、誤った位相連結の発生を防止しうる。
【００８５】
請求項７記載の発明によれば、請求項６記載の３次元形状計測方法において、前記組分け前、前記第１領域および第２領域の各々に所定画素数以下の他の小領域が含まれる場合、その小領域を、これを含む領域に併合する処理を行うので、不要な組分け数が減少し、処理速度が向上する。
【００８６】
請求項８記載の発明によれば、請求項６記載の３次元形状計測方法において、前記第３値の画素が連続する第３領域を前記第１領域に含めて拡張の第１領域とし、前記第３領域を前記第２領域に含めて拡張の第２領域とし、これら拡張の第１および第２領域の重なり状態に基づいて、互いに隣接する前記第１領域および第２領域の組分けをするので、第１領域または第２領域と第３領域とが重なっている場合に、本来１つであるはずの領域が分断されて認識不能となるのを防止することができる。
【００８７】
請求項９記載の発明によれば、請求項８記載の３次元形状計測方法において、前記第３領域により複数位相分の前記第１領域および第２領域が繋がって見える場合、前記第３領域を除いて前記第１領域および第２領域を再度求め、これら第１領域および第２領域のうち、前記縞に沿った方向に分断されていない領域を抽出し、この領域に基づいて前記縞に沿った方向に分断された領域を結合するので、１周期以上の長さに渡って第３領域が第１領域および第２領域を分断している場合にも正しい位相連結が可能となる。
【００８８】
請求項１０記載の発明によれば、請求項２記載の３次元形状計測方法において、前記撮影およびシフトを繰り返して取り込まれる画像を、前記パターンの像を一の方向から前記対象物に投影した場合のものと前記パターンの像を他の方向から前記対象物に投影した場合のものとの２組み用意し、これら２組みの画像から前記位相復元画像を２つ作成し、これら位相復元画像の一方のみに前記第３値の画素が連続する領域が存在する場合、その領域を、前記対象物における段差を作る突部の影の範囲として、これら影の範囲の間に挟まれる領域を前記突部の存在領域とするので、突部の存在領域を容易に抽出できるとともに、第３領域が影であるかどうかの判断も同時に行うことができる。
【００８９】
請求項１１記載の発明によれば、請求項２記載の３次元形状計測方法において、前記領域分類用画像の各画素のうち、前記第３値の画素が連続する第３領域における前記縞の並設方向に沿った始点と終点における位相復元画像の画素の値がほぼ同一である場合、当該第３領域を前記対象物において段差を作る突部の影の範囲とするので、第３領域が影であるか否かの判断を容易に行うことができる。
【００９０】
請求項１２記載の発明によれば、請求項１０または１１記載の３次元形状計測方法において、前記領域分類用画像の各画素のうち、前記影の範囲からその影が伸びる方向とは逆の方向における前記縞に沿った方向の各画素に対応する前記位相復元画像の画素の値を調べ、これら画素の値が不連続である場合には前記影が伸びる方向とは逆の方向に前記突部が続いているものとし、不連続で無くなった場合には前記突部が途切れる境界であるので、突部の領域を抽出する処理が簡単に行える。
【００９１】
請求項１３記載の発明によれば、請求項１０〜１２のいずれかに記載の３次元形状計測方法において、前記縞の並設方向に沿った前記影の範囲の長さをパターンずれ量として求め、その影が伸びる方向とは逆の方向に存在する前記突部における前記第１値ないし第２値の画素が連続する領域を、前記パターンずれ量だけ前記縞の並設方向にずれた前記突部の外側の領域と対応付けるので、１周期分を超える大きな段差がある場合にも正しい対応づけが行える。
【００９２】
請求項１４記載の発明によれば、請求項１記載の３次元形状計測方法において、前記第３値の画素が連続する第３領域内の位相値または高さ情報を、その第３領域の外側の位相値または高さ情報をもとに補完するので、高さ情報の欠落が発生しない。
【００９３】
請求項１５記載の発明によれば、請求項１４記載の３次元形状計測方法において、前記第３値の画素が連続する第３領域が前記対象物における段差を作る突部の影で生じた場合、その第３領域内の位相値または高さ情報を、その第３領域に隣接しかつ前記突部の影が伸びる方向にある領域の位相値または高さ情報をもとに補完するので、突部の形状を損なうことなく高さ情報の欠落を補完できる。
【００９４】
請求項１６記載の発明は、位相シフト法に基づく３次元形状計測システムであって、縞状で縞の並設方向に沿って明度が正弦波状に変化するパターンの像を対象物に投影する投影装置と、前記対象物に投影されたパターンの像を撮影する撮像装置と、前記対象物に投影されたパターンの一定量のシフトを繰り返して得られ、前記明度の位相が一定量づつシフトした画像を少なくとも３種類取り込んで記憶する記憶装置と、この記憶装置に記憶された少なくとも３種類の画像の各画素のうち、同一の位置にある各画素の明度を所定の演算式に代入して算出された位相値がその位置に対応する画素の値として画素毎に割り当てられてなる位相復元画像を作成し、位相復元画像の複数の画素にそれぞれ対応する複数の画素を有し、これら複数の画素のうち、前記明度の１周期の一部に属する画素に対応する画素には第１値が割り当てられ、前記明度の１周期の残部に属する画素に対応する画素には第２値が割り当てられ、前記明度の位相のシフトで明度が変化しない画素に対応する画素には第３値が割り当てられてなる１つの領域分類用画像を作成し、この領域分類用画像を用いて前記第１〜第３値の画素の各々が連続する領域の分類を行い、この分類結果に基づいて、前記第１値の画素が連続する第１領域および前記第２値の画素が連続する第２領域のうち、前記縞の並設方向に沿って互いに隣接する第１領域および第２領域の組分けをし、この組分け結果を利用して位相連結の処理を行い、この処理結果に応じて前記対象物の３次元形状の高さ情報を抽出する画像処理装置とを備えるので、対象物に段差や孔がある場合にも、組分け結果を利用することで正しい位相連結の処理を行うことができ、また３次元形状計測を低コストで高速に実現できる。これにより、コストおよび撮像時間を余計にかけることなく、撮像装置の解像度を損なわない３次元形状の計測、簡易な位相連結の処理および高速な計測が可能になる。
【図面の簡単な説明】
【図１】３次元形状計測システムの説明図である。
【図２】３次元形状計測方法の手順を示すフローチャートである。
【図３】位相復元の原理説明図である。
【図４】対象物の斜視図である。
【図５】図４の対象物の上面図および断面図である。
【図６】対象物の撮影で得られる縞画像およびこの縞画像のある直線上に沿った明度変化の例を示す図である。
【図７】位相シフトで得られる各縞画像および各縞画像のある直線上に沿った明度変化の例を示す図である。
【図８】位相復元画像およびこの位相復元画像のある直線上に沿った位相値変化の例を示す図である。
【図９】位相連結処理の説明図である。
【図１０】領域分類用画像およびこの領域分類用画像のある直線上に沿った明度変化の例を示す図である。
【図１１】図２の位相境界検出の具体的な処理手順を示すフローチャートである。
【図１２】領域分類用画像の生成方法の説明図である。
【図１３】領域分類用画像を利用した各連結領域の分類処理の説明図である。
【図１４】小領域の大領域への併合処理の説明図である。
【図１５】第１領域および第２領域の組分け処理の説明図である。
【図１６】各連結領域の分類処理の説明図である。
【図１７】各連結領域の分類処理の説明図である。
【図１８】第１領域および第２領域の組分け処理の説明図である。
【図１９】各連結領域の分類処理の説明図である。
【図２０】各連結領域の分類処理の説明図である。
【図２１】第１領域および第２領域の組分け処理の説明図である。
【図２２】位相境界の検出結果の説明図である。
【図２３】位相連結処理結果の説明図である。
【図２４】高さ情報の例を示す図である。
【図２５】図４の対象物よりも大きな突部を有する対象物の斜視図である。
【図２６】図２５の対象物の撮影で得られる縞画像の例を示す図である。
【図２７】複数枚の縞画像から復元された位相復元画像および領域分類用画像などを示す図である。
【図２８】対象物の突部位置をその突部の影を利用して検出する３次元形状計測システムの構成図である。
【図２９】領域分類用画像から対象物の突部位置を検出する方法の説明図である。
【図３０】図２９の方法で検出される突部位置を示す図である。
【図３１】対象物の突部位置を検出する方法の説明図である。
【図３２】高さ情報の欠落を補完する方法の説明図である。
【図３３】高さ情報の欠落を補完した結果を示す図である。
【符号の説明】
１  投影装置
１１  ランプ
１２  凹面鏡
１３  投影用レンズ
１４  パターン板
１５  パターンシフト部
２  カメラ
３  量子化回路
４  記憶装置
５  画像処理装置
【図１】
0003687531.tif 000003
【図２】
0003687531.tif 000004
【図３】
0003687531.tif 000005
【図４】
0003687531.tif 000006
【図５】
0003687531.tif 000007
【図６】
0003687531.tif 000008
【図７】
0003687531.tif 000009
【図８】
0003687531.tif 000010
【図９】
0003687531.tif 000011
【図１０】
0003687531.tif 000012
【図１１】
0003687531.tif 000013
【図１２】
0003687531.tif 000014
【図１３】
0003687531.tif 000015
【図１４】
0003687531.tif 000016
【図１５】
0003687531.tif 000017
【図１６】
0003687531.tif 000018
【図１７】
0003687531.tif 000019
【図１８】
0003687531.tif 000020
【図１９】
0003687531.tif 000021
【図２０】
0003687531.tif 000022
【図２１】
0003687531.tif 000023
【図２２】
0003687531.tif 000024
【図２３】
0003687531.tif 000025
【図２４】
0003687531.tif 000026
【図２５】
0003687531.tif 000027
【図２６】
0003687531.tif 000028
【図２７】
0003687531.tif 000029
【図２８】
0003687531.tif 000030
【図２９】
0003687531.tif 000031
【図３０】
0003687531.tif 000032
【図３１】
0003687531.tif 000033
【図３２】
0003687531.tif 000034
【図３３】
0003687531.tif 000035