(57)【要約】【課題】対象物の表面に光パターンを投影することにより付与した空間符号を誤りなく抽出することを可能にし、しかも少数の光パターンによって高い空間分解能を得る。【解決手段】対象物の表面に投影手段１１により複数種類の光パターンを規定の順で投影し、投影方向とは異なる方向から光パターンの投影毎に撮像手段１２により対象物の表面を撮像する。画像処理装置１０は、撮像手段１２により得た濃淡画像内で光パターンの各領域に対応する画素の位置を求め３次元形状を計測する。投影手段１１が投影する光パターンは、複数の縞状の領域に分割され、全領域においてそれぞれ選択されるすべての強度レベルが１回ずつ出現するという条件と、各領域ごとに強度レベルの変化順序が異なるという条件とを満たすように規定した順序で対象物の表面に投影される。符号付与部１５は、画素の明度の変化順序と明度の大小関係とから画素ごとの空間符号を抽出する。【選択図】図１
2008292432.tif 000002
【特許請求の範囲】
【請求項１】
対象物の表面に光パターンを投影し、投影方向とは異なる方向から対象物の表面を撮像して得られる画像内で光パターンの各領域に対応する画素の位置を求め三角測量法の原理を用いることにより対象物の表面の３次元形状を計測する３次元計測方法であって、光パターンは複数の領域に分割され各領域の光の強度を３以上の複数段階から選択して形成してあり、光の強度の大小の順序で各段階を強度レベルとして規定し、複数種類の光パターンを、光パターンの全領域においてそれぞれ選択されるすべての強度レベルが１回ずつ出現するという条件と、各領域ごとに強度レベルの変化順序が異なるという条件とを満たすように規定した順序で対象物の表面に投影することにより、対象物の表面に強度レベルの変化順による空間符号を付与し、さらに、各光パターンの投影毎の濃淡画像を撮像し、撮像毎の濃淡画像内の同画素における明度の変化順序と明度の大小関係とから各画素ごとの強度レベルの変化順序を抽出し、濃淡画像により得られた変化順序と光パターンの投影順序に対応した各領域の強度レベルの変化順序とを照合することにより、濃淡画像における各画素ごとの空間符号を抽出し、濃淡画像の各画素に光パターンの各領域を対応付けることを特徴とする空間符号化法による３次元計測方法。
【請求項２】
前記光パターンの投影順序は、隣接する各一対の領域のうち強度レベルが１段階の差である領域が入れ替わるように設定されることを特徴とする請求項１記載の空間符号化法による３次元計測方法。
【請求項３】
前記濃淡画像の各１個の画素において、すべての光パターンの投影により得られる各領域の強度レベルの変化と明度の変化との関係から光パターンの各領域の強度の相対値と各画素で検出される明度との関係を予測し、明度を強度の相対値と線形関係になるように補正することを特徴とする請求項１または請求項２記載の空間符号化法による３次元計測方法。
【請求項４】
前記濃淡画像の各１個の画素において、すべての光パターンの投影により得られる明度について１段階の強度レベルの差に相当する明度の差が規定の閾値以下になるときには当該画素は計測不能とすることを特徴とする請求項１ないし請求項３のいずれか１項に記載の空間符号化法による３次元計測方法。
【請求項５】
前記光パターンを投影する第１の期間と、前記光パターンの前記領域ごとにそれぞれ強度が正弦波状に変化する縞パターンを投影する第２の期間とを設け、第２の期間では、縞パターンの位相をずらして３回以上投影し、縞パターンの投影に伴う濃淡画像の各画素での明度の変化から当該画素における正弦波の位相を求め、光パターンの各領域をさらに細分して計測することを特徴とする請求項１ないし請求項４のいずれか１項に記載の空間符号化法による３次元計測方法。
【請求項６】
前記光パターンを投影する第１の期間と、前記光パターンの前記領域ごとにそれぞれ強度が線形に変化する縞パターンを投影する第２の期間とを設け、第２の期間では、縞パターンにおける強度変化の方向を逆にして２回投影し、縞パターンの２回の投影により得られる濃淡画像の各画素の明度の比から当該画素における縞パターン内での位置を求め、光パターンの各領域をさらに細分して計測することを特徴とする請求項１ないし請求項４のいずれか１項に記載の空間符号化法による３次元計測方法。
【請求項７】
対象物の表面に光パターンを投影する投影手段と、投影方向とは異なる方向から対象物の表面を撮像する撮像手段と、撮像手段により得られた濃淡画像内で光パターンの各領域に対応する画素の位置を求め三角測量法の原理を用いることにより対象物の表面の３次元形状を計測する画像処理装置と、複数の領域に分割され各領域の光の強度を３以上の複数段階から選択して形成した複数種類の光パターンを規定した順序で対象物の表面に投影させるように投影手段を制御することにより対象物の表面に強度レベルの変化順による空間符号を付与するとともに、各光パターンの投影毎に撮像手段に撮像を指示する制御装置とを備え、光パターンは、光の強度の大小の順序で各段階が強度レベルとして規定されており、制御装置は、光パターンの全領域においてそれぞれ選択されるすべての強度レベルが１回ずつ出現するという条件と、各領域ごとに強度レベルの変化順序が異なるという条件とを満たすように投影手段に光パターンを投影させ、画像処理装置は、各光パターンの投影毎に得られる濃淡画像内の同画素における明度の変化順序と明度の大小関係とから各画素ごとの強度レベルの変化順序を抽出し、濃淡画像により得られた変化順序と光パターンの投影順序に対応した各領域の強度レベルの変化順序とを照合することにより、濃淡画像における各画素ごとの空間符号を抽出し、濃淡画像の各画素に光パターンの各領域を対応付けることを特徴とする空間符号化法による３次元計測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物の表面に光パターンを投影するとともに対象物の表面を光パターンの投影方向とは異なる方向から撮像し、画像内で光パターンの各領域に対応する画素の位置を求め三角測量法の原理を用いることにより対象物の表面の３次元形状を計測する３次元計測方法であって、光パターンの各領域の光の強度が異なる複数種類の光パターンを投影することによって対象物の表面の各部位に空間符号を付与し、この空間符号によって光パターンの各領域と画像内の各画素の位置との対応付けを行う空間符号化法による３次元計測方法およびその装置に関するものである。
【背景技術】
【０００２】
一般に、計測技術は受動計測と能動計測とに分けることができる。対象物の表面形状を３次元計測する場合の能動計測の技術としては、対象物に光パターンを投影し、対象物の表面形状に応じた光パターンの変化を検出することが考えられている。用いる光パターンには、点状、線状、縞状、格子状などがある。また、対象物の高さ変化を検出するには、光切断法、モアレ法、位相シフト法などとして知られている技術が用いられる。これらの技術では、ＴＶカメラのような撮像手段を用いて投影した光パターンの変形量を検出し、三角測量法の原理を用いて光パターンの変形量から対象物の表面の３次元形状を算出している。
【０００３】
光切断法では、レーザ光源などを用いて形成した線状の光パターン（以下、「スリット光」と呼ぶ）を対象物の表面に投影し、投影されたスリット光の形状を撮像手段で撮像することにより、スリット光の変形を計測している。したがって、光切断法では、１回の撮像によって得られる３次元位置の情報は、スリット光の１本ないし複数本分の情報になり、対象物の表面全体の３次元情報を得ようとすれば、対象物の表面全体でスリット光を走査することになり、計測に時間を要するという問題がある。
【０００４】
これに対してモアレ法や位相シフト法では縞パターンを投影し、縞次数あるいは縞の位相値を検出するから、１回の撮像で対象物の表面の略全体についての３次元情報を得ることができる。つまり、面積の広い対象物であっても高速かつ高精度に計測することができる。しかしながら、対象物の表面に段差があり縞パターンが画像内で不連続になる場合には縞パターンにおける各縞の対応関係を一意に決定できない場合があるから、大きな段差を有する対象物では、モアレ法や位相シフト法を単純に適用することはできない。
【０００５】
ところで、対象物を３次元計測する技術には、上述した光切断法、モアレ法、位相シフト法のほかに、パターン投影法、空間コーディング法、空間符号化法などと呼ばれている技術がある。以下では、空間符号化法と呼ぶ。
【０００６】
空間符号化法では、プロジェクタのように複雑な光パターンを投影することのできる投影手段を用いて複数種類の光パターンを対象物の表面に順に投影するとともに、各光パターンの投影毎に対象物の表面を撮像する。光パターンの投影順序と対象物の表面での明暗の変化とは対応するから、対象物の表面の各部位ごとに光パターンの投影毎の明度の変化を検出することによって、投影した光パターンと対象物の表面の部位とを対応付けることができる。
【０００７】
つまり、光パターンを分割した各領域ごとに投影した光の強度に規定の変化が得られるように複数種類の光パターンを構成しておき、これらの光パターンの投影により生じる画像内の各領域の明度の変化を投影した光パターンによる明度の変化と照合し、投影した光パターンの各領域が対象物のどの部位に投影されているかを推定することができる。
【０００８】
さらに言い換えると、複数種類の光パターンを投影することにより、対象物の表面の各部部位に明度変化による空間符号を付与したことになるから、この空間符号を既知の投影パターンの空間符号に対応付けることにより、投光装置から対象物の表面に投影した光パターンと対象物の表面の位置とを対応付けることができる。
【０００９】
空間符号化法では、モアレ法や位相シフト法と同様に、１つの光パターンを広い面積に投影するから、対象物の計測を比較的短い時間で行うことが可能である。しかも、対象物に複数種類の光パターンを順に投影することにより、光パターンを分割した領域ごとに単一の空間符号を与えることができるから、対象物に段差があり画像内で１つの領域が複数に分離したとしても、同一領域は同じ空間符号を有しているから、一意に対応付けることができる。
【００１０】
一方、空間符号化法において、三角測量法の原理に基づいて３次元計測を行うには、投影手段から投影する光パターン内での位置と、対象物の表面での光パターンの位置と、撮像手段により撮像された画像内での位置とを対応付けるから、投影する光パターンの位置分解能と、撮像手段により撮像した画像内での位置分解能とが高いほど、対象物の表面に関して高い分解能（以下、「空間分解能」という）で３次元形状を計測することが可能になる。ただし、空間符号化法では、空間符号を付与した領域ごとに光パターンの位置が同定されるから、計測の空間分解能を向上させるには空間符号を付与する領域の数を多くする必要がある。たとえば、縞状のパターンを用いた空間符号化法では、計測の空間分解能を向上させようとすれば、縞状のパターンを小ピッチで投影する必要がある。
【００１１】
空間符号化法の一例を図１７に示す。図示例は、４種類の光パターンを用いており、各光パターンは白と黒との２値の明度で縞状パターンを形成している。各光パターンでは、白領域Ｄｗと黒領域Ｄｂとの幅は等しく、図１７に示す光パターンでは、上から順に白領域Ｄｗと黒領域Ｄｂとの幅が２倍になる関係としてある。いま、白領域Ｄｗと黒領域Ｄｂとを２値の論理値（コード）に対応付け、白領域Ｄｗにコード「１」を対応付け、黒領域Ｄｂにコード「０」を対応付けるとすれば、図１７の最上段の光パターンは、右列に記載しているように、「０１０１０１０１０１０１０１０１」であり、下に向かって順に、「００１１００１１００１１００１１」、「００００１１１１００００１１１１」、「００００００００１１１１１１１１」になる。
【００１２】
図１７に示す例では、光パターンにより分割される最小幅は、最上段に示す白領域Ｄｗまたは黒領域Ｄｂの幅であり、この幅の領域ごとにコードを付与することが可能である。たとえば、下段から上向きに論理値を読むことによって、各領域に空間符号を付与するとすれば、左端の領域に対する空間符号は「００００」、その右隣りの領域に対する空間符号は「０００１」となり、たとえば、空間符号が「１００１」であれば、左から１０番目の領域になる。図１７の右図の上端には、空間符号を１０進数に変換した値を示している。以下では、この値を「縞次数」と呼ぶ。縞次数は、左端の領域では０になり、右端の領域では１５になる。
【００１３】
図１７に示した例からわかるように、１つの光パターン内では白領域Ｄｗと黒領域Ｄｂとの幅が等しく、異なる光パターンでは幅が２倍ずつ異なるｎ種類（ｎは正の整数）の光パターンを用いた場合には、２ｎ個の領域に互いに異なる空間符号を付与することができる。言い換えると、領域の分割数は２のｎ乗個になる。
【００１４】
したがって、４種類の光パターンを順に投影する場合には、２４＝１６個の領域に分割され、５１２個の領域に分割しようとすれば、５１２＝２９であるから、９種類の光パターンに対応する画像を撮像することが必要になる。その結果、空間分解能を高めようとすれば、空間符号化法を用いているにもかかわらず計測に要する時間が長くなるという問題が生じる。
【００１５】
空間符号化法において、空間分解能を高めながらも光パターンの種類を低減させる技術としては、光パターンを白と黒との２値の明度で構成するのではなく、光パターンを複数段階の明度で表す技術が提案されている（たとえば、非特許文献１参照）。非特許文献１には、白と黒とのほかにその間の２種類の明度を持つ４値の光パターンを形成する例が示されている。この方法では、４種類の光パターンをそれぞれ対象物に投影すれば、４４＝２５６個の領域に分割することが可能になる。
【００１６】
さらに、５値の光パターンを形成するとともに、隣り合う縞の境界に、縞同士の明度差よりも明度差を大きくするラインパターンを挿入することも考えられている（たとえば、特許文献１参照）。ラインパターンを挿入することにより、隣接する縞の境界が明確になり縞を分離しやすくなる。
【特許文献１】特開２００６−５８０９２号公報
【非特許文献１】大澤尊光ほか；「多値パターン投影による３次元形状測定」，精密工学会誌，Ｖｏｌ．６１，Ｎｏ．８、２０００
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかしながら、非特許文献１に記載の技術では、光パターンを形成するために４段階の明度を用いているから、各明度を弁別するための閾値を適宜に設定することが必要になる。この閾値は対象物の反射率などによっても変化するから、閾値を正確に設定するには、投影手段による最大明度で投影した状態と投影手段による投影をしない状態との２状態の画像を撮像し、撮像手段の出力から明度の絶対値が得られるように明度の補正をしなければならない。つまり、４種類の光パターンを投影するには、撮像手段では４回の撮像だけではなく、白と黒とに対応する撮像手段の出力を求めるための２回の撮像が必要になり、結果的に撮像回数が６回になる。しかも、撮像手段により追加の画像を撮像したとしても、光パターンを投影する際の強度と撮像手段により得られた画像内の明度の関係とは、撮像手段の感度特性に依存しており、線形関係になるとは限らず、たとえば、コントラストの低い濃色の物体や複雑な模様がある物体では適正な閾値を求めることが困難になり、空間符号化ができなくなる場合がある。
【００１８】
また、特許文献１に記載の技術では、ラインパターンを設けていることによって縞の境界を分離しやすくなっているが、縞の境界を検出するための処理が追加で必要になり、処理が複雑化するという問題を有している。しかも、ラインパターンを設けても境界を見逃す可能性があり、この場合は、隣り合う２つの縞を分離できないために大きな計測誤差を生じることになる。さらに、空間分解能を高めるために縞の本数を多くすると、ラインパターンの占有面積も増加するから、計測の失敗が生じないように撮像手段で検出できる線幅のラインパターンを形成するとすれば空間分解能に制限が生じる。
【００１９】
本発明は上記事由に鑑みて為されたものであり、その目的は、撮像手段により得られた画像内の明度の相対変化を用いることにより、対象物の表面に投影した光パターンにおける光の強度の異なる領域を明確に分離して空間符号化を誤りなく抽出することを可能にし、しかも少数の光パターンによって多数個の空間符号が得られるようにして高い空間分解能と計測時間の短縮とを両立させた空間符号化法による３次元計測方法およびその装置を提供することにある。
【課題を解決するための手段】
【００２０】
請求項１の発明は、対象物の表面に光パターンを投影し、投影方向とは異なる方向から対象物の表面を撮像して得られる画像内で光パターンの各領域に対応する画素の位置を求め三角測量法の原理を用いることにより対象物の表面の３次元形状を計測する３次元計測方法であって、光パターンは複数の領域に分割され各領域の光の強度を３以上の複数段階から選択して形成してあり、光の強度の大小の順序で各段階を強度レベルとして規定し、複数種類の光パターンを、光パターンの全領域においてそれぞれ選択されるすべての強度レベルが１回ずつ出現するという条件と、各領域ごとに強度レベルの変化順序が異なるという条件とを満たすように規定した順序で対象物の表面に投影することにより、対象物の表面に強度レベルの変化順による空間符号を付与し、さらに、各光パターンの投影毎の濃淡画像を撮像し、撮像毎の濃淡画像内の同画素における明度の変化順序と明度の大小関係とから各画素ごとの強度レベルの変化順序を抽出し、濃淡画像により得られた変化順序と光パターンの投影順序に対応した各領域の強度レベルの変化順序とを照合することにより、濃淡画像における各画素ごとの空間符号を抽出し、濃淡画像の各画素に光パターンの各領域を対応付けることを特徴とする。
【００２１】
請求項２の発明では、請求項１の発明において、前記光パターンの投影順序は、隣接する各一対の領域のうち強度レベルが１段階の差である領域が入れ替わるように設定されることを特徴とする。
【００２２】
請求項３の発明では、請求項１または請求項２の発明において、前記濃淡画像の各１個の画素において、すべての光パターンの投影により得られる各領域の強度レベルの変化と明度の変化との関係から光パターンの各領域の強度の相対値と各画素で検出される明度との関係を予測し、明度を強度の相対値と線形関係になるように補正することを特徴とする。
【００２３】
請求項４の発明では、請求項１ないし請求項３のいずれかの発明において、前記濃淡画像の各１個の画素において、すべての光パターンの投影により得られる明度について１段階の強度レベルの差に相当する明度の差が規定の閾値以下になるときには当該画素は計測不能とすることを特徴とする。
【００２４】
請求項５の発明では、請求項１ないし請求項４のいずれかの発明において、前記光パターンを投影する第１の期間と、前記光パターンの前記領域ごとにそれぞれ強度が正弦波状に変化する縞パターンを投影する第２の期間とを設け、第２の期間では、縞パターンの位相をずらして３回以上投影し、縞パターンの投影に伴う濃淡画像の各画素での明度の変化から当該画素における正弦波の位相を求め、光パターンの各領域をさらに細分して計測することを特徴とする。
【００２５】
請求項６の発明では、請求項１ないし請求項４のいずれかの発明において、前記光パターンを投影する第１の期間と、前記光パターンの前記領域ごとにそれぞれ強度が線形に変化する縞パターンを投影する第２の期間とを設け、第２の期間では、縞パターンにおける強度変化の方向を逆にして２回投影し、縞パターンの２回の投影により得られる濃淡画像の各画素の明度の比から当該画素における縞パターン内での位置を求め、光パターンの各領域をさらに細分して計測することを特徴とする。
【００２６】
請求項７の発明は、対象物の表面に光パターンを投影する投影手段と、投影方向とは異なる方向から対象物の表面を撮像する撮像手段と、撮像手段により得られた濃淡画像内で光パターンの各領域に対応する画素の位置を求め三角測量法の原理を用いることにより対象物の表面の３次元形状を計測する画像処理装置と、複数の領域に分割され各領域の光の強度を３以上の複数段階から選択して形成した複数種類の光パターンを規定した順序で対象物の表面に投影させるように投影手段を制御することにより対象物の表面に強度レベルの変化順による空間符号を付与するとともに、各光パターンの投影毎に撮像手段に撮像を指示する制御装置とを備え、光パターンは、光の強度の大小の順序で各段階が強度レベルとして規定されており、制御装置は、光パターンの全領域においてそれぞれ選択されるすべての強度レベルが１回ずつ出現するという条件と、各領域ごとに強度レベルの変化順序が異なるという条件とを満たすように投影手段に光パターンを投影させ、画像処理装置は、各光パターンの投影毎に得られる濃淡画像内の同画素における明度の変化順序と明度の大小関係とから各画素ごとの強度レベルの変化順序を抽出し、濃淡画像により得られた変化順序と光パターンの投影順序に対応した各領域の強度レベルの変化順序とを照合することにより、濃淡画像における各画素ごとの空間符号を抽出し、濃淡画像の各画素に光パターンの各領域を対応付けることを特徴とする。
【発明の効果】
【００２７】
請求項１、７の発明の技術によれば、複数種類の光パターンを対象物の表面に順に投影することによって対象物の表面に強度レベルの変化順による空間符号を付与するにあたって、光パターンの投影順序を、光パターンの全領域においてそれぞれ選択されるすべての強度レベルが１回ずつ出現するという条件と、各領域ごとに強度レベルの変化順序が異なるという条件とを満たすように規定しているから、各空間符号にはそれぞれ異なる強度レベルが１回ずつかつ１回だけ出現し、強度レベルの変化順序も各空間符号で異なることになる。したがって、すべての光パターンを撮像し、撮像順で各画素の明度の大小の変化を検出すれば、明度を強度レベルに一意に対応付けることができる。その結果、強度レベルの変化順により空間符号を誤りなく抽出することが可能になる。ここで、撮像した画像内の明度が受光した光の強度に対して単調に変化するという関係が満たされている限り（ほとんどの撮像素子はこの関係が満たされている）、明度の大小関係と強度レベルとが入れ替わることがないから、光パターンの強度と画像の明度と関係が非線形であっても閾値を用いて空間符号を抽出する場合のような曖昧さを排除することができ、また、光パターンにおいて各領域を区分するための付帯的なラインパターンなどを利用する必要も生じない。
【００２８】
しかも、上述の条件によって、光パターンの各領域の空間符号の個数は、各強度レベルを重複を許さずに並べ替える順列になるから、強度レベルがｎ段階であれば、ｎＰｎ＝ｎ！になる。つまり、ｎ個の強度レベルを用いてｎ！個の空間符号を設定することができる。強度レベルの段数は光パターンの種類の個数と一致しているから、光パターンが４種類であれば４！＝２４通り、５種類であれば５！＝１２０通り、６種類であれば７２０通り、７種類であれば５０４０通り、８種類であれば４０３２０通りの空間符号を一意に弁別できる。このように、比較的少ない種類の光パターンで多種類の空間符号を付与することができ、結果的に比較的少ない投影回数で高い空間分解能を得ることができる。つまり、光パターンの投影回数を少なくして比較的短時間で高い空間分解能の３次元計測が可能になる。
【００２９】
請求項２の発明の技術によれば、光パターンの各領域の境界部分において各領域の空間符号とは異なる空間符号が発生するのを防止することができる。たとえば、光パターンの投影あるいは撮像に用いるレンズのピントがあまく領域の境界付近で強度の変化が鈍くなっても空間符号の誤りが発生するのを防止し、正しい空間符号を抽出することが可能になる。
【００３０】
請求項３の発明の技術によれば、各画素において光パターンに含まれるすべての強度レベルの光が入射することを利用し、強度レベルの変化と明度の変化との関係から、光パターンの各領域おける強度の相対値と各画素で検出される明度との関係を抽出するのであって、この関係がわかることにより、各画素で得られた明度を強度の相対値と線形関係になるように補正することができる。つまり、明度から線形関係の場合の強度の相対値を推定するから、明度と強度の相対値とが非線形関係であることに起因する誤差の発生を防止することができる。このことは、後述するサブフリンジ計測の際や強度レベルの段数を増加させた場合にとくに有効である。
【００３１】
請求項４の発明の技術によれば、１段階の強度レベルの差に対応する明度の差が小さくなることは飽和が生じていることを示すと判断し、飽和により測定が不能になっている部位は排除することで計測の信頼性を保証することができる。たとえば、対象物の表面に濃色部が存在して明度差が得られない場合や、光沢により正反射が生じて明度が飽和している場合などに、該当する画素を計測の信頼性が不十分であると判断し排除することが可能になる。
【００３２】
請求項５の発明の技術によれば、光パターンの領域ごとにそれぞれ強度が正弦波状に変化する縞パターンを投影し、かつ縞パターンの位相をずらして３回以上投影することによって、縞パターンの投影に伴う濃淡画像の各画素での明度の変化から当該画素における正弦波の位相を求めることができるから、いわゆる位相シフト法を付加したことになり、縞パターンの範囲内をさらに細分して位置を特定するサブフリンジ計測が可能になる。すなわち、空間分解能をさらに向上させることができる。
【００３３】
請求項６の発明の技術によれば、光パターンの領域ごとにそれぞれ強度が線形に変化する縞パターンを投影し、かつ縞パターンにおける強度変化の方向を逆にして２回投影することによって、縞パターンの２回の投影により得られる濃淡画像の各画素の明度の比から当該画素における縞パターン内での位置を求めることができるから、いわゆる強度比法を付加したことになり、縞パターンの範囲内をさらに細分して位置を特定するサブフリンジ計測が可能になる。すなわち、空間分解能をさらに向上させることができる。
【発明を実施するための最良の形態】
【００３４】
空間符号化による３次元計測を行う装置の構成例を図２に示す。測定ステージ２２に載置された対象物２１に対して、測定ステージ２２の斜め上方から投影手段１１により対象物２１の表面に縞状の光パターンを投影する。投影装置１１は液晶プロジェクタのように、外部から与える映像信号により任意の光パターンを投影できるものを用いる。また、投影手段１１からの光パターンの投影方向は、測定ステージ２２の表面に直交する方向に対して一定の角度に保たれる。投影手段１１により対象物２１に投影される光パターンについては後述する。
【００３５】
投影手段１１から対象物２１の表面に投影された光パターンは、投影手段１１による光パターンの投影方向とは異なる方向からＴＶカメラのような撮像手段１２により撮像される。図示例では撮像手段１２の光軸が測定ステージ２２の表面に直交するように配置しているが、撮像手段１２の向きはこれに限定されない。撮像手段１２は、各画素に対応する視野内の各領域からの光の入射強度を画素値とする濃淡画像を生成する。撮像手段１２で得られる濃淡画像は、たとえば、図３に示すように光パターン２３の明度の高い領域と低い領域とが縞状をなす画像になる。
【００３６】
撮像手段１２により得られた対象物２１の表面の画像は画像処理装置１０に入力され、画像処理装置１０において後述の処理が行われる。また、空間符号化法では、複数種類の光パターンを対象物２１に投影するから、投影手段１１により光パターン２３を投影するタイミングと、撮像手段１２により画像を取り込むタイミングとを同期させるために制御装置１３を設けている。つまり、制御装置１３は、投影手段１１から対象物２１に対して複数種類の光パターンを順に投影し、各光パターンの投影毎に撮像手段１２に取込信号を与えて撮像を実行する。画像処理装置１０および制御装置１３は、パーソナルコンピュータに、投影手段１１および撮像手段１２を接続するためのインターフェースを付加し、適宜のプログラムを実行することにより実現される。
【００３７】
撮像手段１２で得られた図３のような濃淡画像は、画像処理装置１０に入力される。画像処理装置１０は、図１に示すように、撮像手段１２で得られた濃淡画像を記憶する記憶部１４を有し、対象物２１に投影する全種類の光パターンについての濃淡画像が記憶部１４に格納されると、空間符号付与部１５において、これらの濃淡画像を用いて縞状の各領域ごとに図５に示すような空間符号を付与する。このような空間符号を付与することにより、光パターンにおける縞状の各領域と、対象物２１の各部位とを対応付けることが可能になる。つまり、撮像手段１２の各画素の位置と、対象物２１の表面の位置と、投影手段１１により投影した光パターンの領域とを対応付けることが可能になる。したがって、画像処理装置１０に設けた３次元位置算出部１６において、三角測量法の原理を用いて対象物２１の表面の３次元形状を求めることが可能になる。なお、３次元位置算出部１６で得られた結果は、適宜の記憶装置に格納したりディスプレイ装置の画面に表示したりする。
【００３８】
ここに、３次元位置算出部１６において対象物２１の３次元形状の絶対値を算出するには、投影手段１１および撮像手段１２の位置関係を実測したり、３次元位置算出部１６で算出された結果を実測値と比較して校正する必要がある。また、投影手段１１および撮像手段１２は、互いに位置関係が固定されているか、制限された範囲内で位置調節が可能になっていることが望ましい。また、投影手段１１および撮像手段１２は、１個の筐体に収納した構成あるいは１個のフレームにより結合した構成を採用することができる。
【００３９】
以下では、投影手段１１により対象物２１に投影する光パターンとして、図４（ａ）〜（ｃ）に示す３種類の光パターンを例として説明する。ここでは、説明を簡単にするために、対象とする領域に６種類の空間符号を付与する場合を例示するが、さらに多数個の空間符号を付与する場合も同様の技術思想を適用することができる。
【００４０】
図４の左列は光パターンの強度変化を示し、右列は各光パターンの強度にコードを対応付けたものを示している。以下では、このコードを強度レベルと呼ぶ。つまり、図４に示す各光パターンは同幅の縞状の６個の領域に３段階の強度レベルのいずれかを対応付けて構成され、各強度レベルについてレベルの低いほうから「１」「２」「３」の強度レベルを対応付けている。投影する光パターンの縞状の各領域について、強度（相対値）の最大値を１００として、０、５０、１００の各強度（相対値）にそれぞれ「１」「２」「３」の各強度レベルを対応付けている。したがって、図４に示す例では、図４（ａ）は「１１２３３２」という強度レベルを持つ光パターンになり、図４（ｂ）は「２３３２１１」、図４（ｃ）は「３２１１２３」という強度レベルを持つ。
【００４１】
図４に示す各光パターンは、対象物２１に対して順に投影される。１回目の投影時に図４（ａ）の光パターンを投影し、２回目の投影時に図４（ｂ）の光パターンを投影し、３回目の投影時に図４（ｃ）の光パターンを投影し、光パターンの投影位置にずれがなければ、光パターンの左端の縞状の領域に対応する部位は、１→２→３の順で強度レベルが変化する。同様にして、縞状の各領域は、図５のような空間符号を持つことになる。つまり、対象物２１において光パターンの各領域に対応する部位に空間符号を付与したことになる。図５において縞次数は、縞状の各領域を区別するための値であり、左端を０として右に向かって１ずつ増加させた値を用いている。したがって、本実施形態では縞次数は０，１，２，３，４，５の６種類になる。
【００４２】
図５から明らかなように、各縞次数に対応する各空間符号は、強度レベルに対応する「１」「２」「３」のすべての強度レベルが出現するという条件と、強度レベルの並び順が互いに異なるという条件とがともに満たされるように設定される。前者の条件により、光パターンの種類と強度レベルの段数とは同数になる。上述の条件が成立することは、各強度レベルを配列するにあたり重複を許さずに並べ替えることであるから、ｎ段階の強度レベルをｎ個の縞状の領域に配列する順列であって、ｎＰｎ＝ｎ！になる。上述の例では、３段階の強度レベルを用いているから、３！＝６個の縞状の領域に分割して、各領域に異なる空間符号を付与することができる。
【００４３】
次に、各空間符号を検出する例を図６、図７を用いて説明する。図６（ａ）〜（ｃ）のように、上述した３種類の光パターンを対象物２１に投影した場合の点Ａ，Ｂに対応する濃淡画像での明度の変化を、図７（ａ）（ｂ）にそれぞれ示す。明度は０〜２５５の範囲とし、完全な黒の明度を０とし、完全な白の明度を２５５とする。点Ａ，Ｂに照射した光パターンの強度レベルの変化は、強度レベルで表せばそれぞれ１→３→２、３→２→１であるが、濃淡画像内での実際の明度は、たとえば、５３→１９１→１０６、２２０→１７３→７６のように変化する。
【００４４】
従来は、明度の変化を閾値ないし明度の範囲により規定しているが、本実施形態では、各画素ごとの明度の相対変化を用いることにより強度レベルへの当て嵌めを行っている。たとえば、点Ａについは、５３＜１０６＜１９１であるから、５３を「１」、１０６を「２」、１９１を「３」に対応付け、点Ｂについては、７６＜１７３＜２２０であるから、７６を「１」、１７３を「２」、２２０を「３」に対応付けるのである。同様の手順で、濃淡画像の各画素ごとに強度レベルを対応付け、各強度レベルの出現順序によって各画素に空間符号を対応付けることができる。つまり、濃淡画像内の各画素について、光パターンにおける同じ縞次数の縞に同じ空間符号を付与することができ、対象物２１の段差などによって１本の縞が濃淡画像の中では不連続に分断されている場合でも、各画素について求めた縞次数によって対応付けることができる。図６の光パターンを用いた場合の縞次数の検出結果を図８に例として示す。
【００４５】
上述のように、明度の絶対値を用いるのではなく、各画素の明度の大きさの相対関係によって強度レベルを対応付けるから、各画素が同じ位置に対応付けられているかぎり（投影手段１１と撮像手段１２と対象物２１との位置関係が変化しないかぎり）、対象物２１の表面における部位ごとの反射率差などの影響を受けることなく強度レベルを正確に対応付けることができる。つまり、対象物２１の色や模様に伴う曖昧さを排除し、画素ごとに一意に空間符号を付与して縞次数を同定することが可能になる。
【００４６】
ところで、本実施形態では、各光パターンにおいて、縞状の領域の強度レベルは、「隣接する（縞次数が隣りである）領域において、強路レベルの差が１である一組の強度レベルが入れ替わる」という関係になるように配置される。たとえば、縞次数が１である領域と２である領域とでは、強度レベル「１」の領域は変化せず、強度レベル「２」「３」の領域が入れ替わっている。また、縞次数が２である領域と３である領域とでは、強度レベル「３」の領域は変化せず、強度レベル「１」「２」の領域が入れ替わっている。
【００４７】
このように設定しているのは次の理由による。まず、縞の強度レベルが、１→２→３と変化する領域と３→２→１と変化する領域とが隣接している場合を想定すると、濃淡画像における明度は、図９（ａ）に示すプロファイルを示す。たとえば、位置アでは、明度が２１→１３３→２０４と変化して空間符号を「１２３」と決めることができるが、位置イでは明度が６７→１３１→７６と変化して空間符号が「１３２」になる。さらに、位置ウでは明度が９５→１２９→５８と変化するから空間符号が「２３１」になり、位置エでは明度が１９９→１２4→３１で空間符号が「３２１」になる。つまり、２つの領域間には、本来の空間符号である「１２３」と「３２１」とが対応つけられる画素間に、空間符号が「１３２」や「２３１」になる領域が発生し、誤った空間符号が付与されることになる。
【００４８】
このような現象が生じるのは、投影手段１１において光パターンを生成する光変調素子（液晶プロジェクタにおける液晶パネル）により形成したパターンが投影用のレンズや撮像用のレンズを通過することにより、撮像手段１２で得られる濃淡画像では隣接する縞状の領域間の境界部分の明度変化が鈍るからである。また、光パターンを生成する光変調素子における領域間のエッジで生じる回折も影響する。したがって、光パターンは隣接する領域間で強度レベルが矩形波的に急峻に変化するのが理想であるが、濃淡画像内では隣接する領域間での明度変化が緩やかになるのである。
【００４９】
これに対して、光パターンの各領域に対応付ける強度レベルに上述の条件を設定しておくことにより、図９（ｂ）のように、強度レベルに対応付けた強度レベルが入れ替わる領域において、他の強度レベルを跨ぐことがないから、領域の境界付近で誤った空間符号に対応付けられることがなくなり、領域間の境界が曖昧になることなく明確に区別することが可能になる。要するに、領域の境界付近であっても誤った空間符号が付与されるのを防止できる。
【００５０】
なお、強度レベルの段階数を増やすと、縞状の領域のいずれかの境界では、上述した条件を満足させられない可能性がある。このような場合は、上述した条件を満足しない２つの領域の空間符号の組み合わせと、境界付近で生じる誤った空間符号とが既知であることろ利用し、誤りを生じる可能性のある２つの空間符号の間に想定された誤りの空間符号が存在するときに、正しい空間符号に置き換えることにより、空間符号の誤りを補正する。たとえば、図９（ａ）に示す例では、空間符号が「１２３」である領域と「３２１」である領域との間に、空間符号が「１３２」の画素が生じたときに当該画素の空間符号を「１２３」に置き換え、空間符号が「２３１」の画素が生じたときに当該画素の空間符号を「３２１」に置き換える。
【００５１】
（実施形態２）
実施形態１は、光パターンにおいて縞状の各領域内では強度レベルを一定としているが、本実施形態では、位相シフト法や強度比法を併用するために、各領域内で強度レベルを変化させる技術を採用している。この技術を採用すれば、縞状の領域の幅よりも狭い幅の領域に空間符号を付与することができる。縞状の領域は干渉縞ではないが、干渉縞を用いる計測技術におけるサブフリンジ計測の技術に類似するから、以下ではこの技術をサブフリンジ計測と呼ぶ。サブフリンジ計測では、空間符号化法で得られた光パターンの縞状の各領域をさらに細かく分割することにより、さらに高い分解能での計測を実現する。
【００５２】
ここでは、位相シフト法を併用する場合について説明する。位相シフト法を併用するサブフリンジ計測では、図４に示した空間符号化のための光パターンに加えて、図１０に示す、空間符号化の光パターンにおける１本の縞状の領域を１周期とする正弦波状に強度変化する縞パターンを投影する。正弦波状に強度変化するとは、図１０の右側に示しているように、位置に対する強度変化が正弦波状になっていることを意味する。また、本実施形態では、この縞パターンを４回投影するとともに、図１０（ａ）〜（ｄ）に示すように、投影毎に位相をπ／２ずつずらしている。したがって、実施形態１のように３種類の光パターンを投影するのに加えて、正弦波状の縞パターンを４回投影するから、合計７回の投影が必要になる。
【００５３】
いま、濃淡画像における位置（ｘ，ｙ）の画素に着目し、強度が正弦波状に変化する縞パターンを４回投影したときの当該画素の明度をそれぞれＩ０（ｘ，ｙ），Ｉ１（ｘ，ｙ），Ｉ２（ｘ，ｙ），Ｉ３（ｘ，ｙ）とすると、位置（ｘ，ｙ）における位相θは、θ＝ｔａｎ−１｛（Ｉ１−Ｉ３）／（Ｉ２−Ｉ０）｝で表すことができる。したがって、位相θを１周期（＝２π）で除算した位置を対応付ければ、空間符号化法で得られた縞状の領域の範囲をさらに細分することが可能になる。なお、投影した強度と画素の明度との関係は線形関係ではないことが多いから、上述の式で算出された位相θは目安であって補正が必要である。なお、強度が正弦波状に変化する縞パターンの投影回数は３回以上であればよく、また位相差についてもπ／２であることは必須ではない。
【００５４】
上述の例は位相シフト法を併用した場合であるが、同様の技術として強度比法を採用してもよい。強度比法では、図１１に示すように、位置に対して強度変化が線形関係になる縞パターンを用いる。この縞パターンも正弦波状の縞パターンと同様に、１本の縞状の領域ごとに強度変化を周期的に繰り返す。強度比法では、強度変化が互いに逆方向になる２つの縞パターンを順に投影する。つまり、図１１の右側に示すように、右側ほど強度が増加する縞パターンと右側ほど強度が減少する縞パターンとを用いる。強度比法では、空間符号化法に用いる光パターンに加えて縞パターンを投影する回数が２回増加する。
【００５５】
ここで、濃淡画像における位置（ｘ，ｙ）の画素に着目し、図１１（ａ）の縞パターンを投影したときの明度をＩ０（ｘ，ｙ）、図１１（ｂ）の縞パターンを投影したときの明度をＩ１（ｘ，ｙ）とすると、Ｒ（ｘ，ｙ）=Ｉ０（ｘ，ｙ）／Ｉ１（ｘ，ｙ）の値は図１２に示すように変化するから、Ｒ（ｘ，ｙ）の値を用いることによって、空間符号化法で得られた１本の縞状の領域をさらに細分することが可能になる。
【００５６】
本実施形態は、空間符号化法に位相シフト法または強度比法を付加することによって空間分解能を高めることができる。他の構成および動作は実施形態１と同様である。
【００５７】
（実施形態３）
本実施形態では、投影手段１１から光パターンを投影した強度と、撮像手段１２で撮像したときの各画素の明度との関係を用いてさらに高精度な計測を実現する方法について説明する。
【００５８】
ところで、実施形態１において説明した技術を採用すると、撮像手段１２で得られる濃淡画像の全画素でｎ段階のすべての強度レベルに相当する明度が得られるから、光パターンを投光した強度と各画素の明度との関係を求めることが可能である。強度レベルを５段階（つまり、ｎ＝５）に変化させる場合について、強度と明度との関係の典型例を図１３（ａ）〜（ｃ）に示す。
【００５９】
図１３（ａ）に示す例は、明度に飽和が生じていない状態を示しており、投影した強度と画素の明度とは線形関係ではないが、画素の明度から投影した強度を一意に決定できる関係である。実施形態２のようにサブフリンジ法を採用する場合には、投影した強度と画素の明度との関係が一意に決定できることを前提にしており、しかも線形関係となることを前提にしているから、強度と明度との非線形関係による誤差を生じる。この誤差の補正には、光パターンの投影による光の強度と濃淡画像の各画素の明度との関係が既知であればよく、たとえば図１３（ａ）に示すような関係をあらかじめ計測しておくことにより、各画素で得られた明度を、光パターンを投影した強度と画素の明度とが線形関係になる場合の値に補正する。このような補正を行えば、誤差のないサブフリンジ計測が可能になる。
【００６０】
ところで、図１３（ａ）のように光パターンを投影した強度と画素の明度との関係を一意に決定できない場合として、図１３（ｂ）のように画素の明度が上限に達して飽和する場合や、図１３（ｃ）のように画素の明度が下限に達して飽和する場合が生じうる。たとえば、図１３（ｂ）に示す例では、強度７５と１００とは画素値がともに２５５であり区別することができず、図１３（ｃ）に示す例では、強度０と２５とは画素値がともに０であり区別することができない。
【００６１】
図１３（ｂ）の状態は、投影手段１１の輝度が高い場合や外光成分が多い場合、あるいは対象物２１の表面に光沢があり正反射光が撮像手段１２に直接入射している場合などに生じ、図１３（ｃ）の状態は、投影手段１１の輝度が低すぎる場合や対象物２１の表面に黒色のような濃色の領域が存在する場合などに生じることがある。
【００６２】
画素の明度が飽和すると、濃淡画像の各画素と投影手段１１により投影した光パターンの縞状の各領域とを適切に対応付けることができなくなる。したがって、実施形態１において説明した方法では空間符号を取得することができなくなる。光パターンを投影した強度と画素の明度とが一意に対応付けることができる場合には、すべての種類の光パターンを投影した後に得られる各画素の明度の最大値と最小値との差は比較的大きく、明度に飽和が生じているときには各画素ごとの明度の最大値と最小値との差は比較的小さいと考えられる。
【００６３】
そこで、各画素ごとに明度の最大値と最小値との差を求め、この差を適宜の閾値と比較することにより飽和が生じているか否かを判断することが可能になる。また、３種類以上の光パターンを投影するから、各画素において隣接する明度差を求め、それぞれの明度差を閾値と比較することによって明度差が閾値以下になる場合に飽和が生じていると判断したり、明度差の比率を求めて比率が１である場合を正常とし、求めた比率が１に対して規定値以上の差を有するときに飽和していると判断することができる。
【００６４】
いずれかの画素において飽和が検出されたときには、当該画素については計測不能とし、計測不能の画素値を用いて計測することによる大きな誤差の発生を防止することができる。他の構成および動作は実施形態１または実施形態２と同様である。
【００６５】
（実施形態４）
本実施形態では、実施形態１において説明した空間符号化法に、背景技術において説明した多値パターン投影の技術を組み合わせた例を説明する。本実施形態では、たとえば、図１４に示すような７段階の強度レベルを設定し、実施形態１の動作で空間符号化を行う際には、１，４，７の３段階の強度レベルを組み合わせて生成した光パターンを用いる。この方法により、実施形態１で例として示した３段階の強度レベルを用いた空間符号化法を用いることができる。
【００６６】
実施形態１で説明した空間符号化法に加えて、１〜７の強度レベルを２つずつ組み合わせるように２回の投影を追加すれば、図１５に示すように、５回の投影で３！×７×７＝２９４通りの空間符号を一意に同定することが可能になる。つまり、光パターンを５回投影するだけで、対象物２１の表面を２９４個の領域に分割することが可能になり、３次元計測の空間分解能を高めることができる。
【００６７】
ここで、背景技術において説明した多値パターン投影の技術では、投影した強度と撮像された明度との間の非線形性によって、画像の明度から強度レベルを正しく抽出できないことがあるが、実施形態１の技術によって先に３回の投影を行うことによって、投影した強度と撮像した明度との関係が画素ごとに得られるので、画像内の明度から投影した強度を容易に推定することができる。
【００６８】
すなわち、図１６に示すように、各画素ごとに強度レベル１，４，７に対応する明度Ｉ１〜Ｉ３を用いることにより、以下のように閾値ｔｈ１〜ｔｈ６を設定することができる。
ｔｈ１＝Ｉ１＋（Ｉ２−Ｉ１）／６
ｔｈ２＝Ｉ１＋（Ｉ２−Ｉ１）／２
ｔｈ３＝Ｉ２−（Ｉ２−Ｉ１）／６
ｔｈ４＝Ｉ２＋（Ｉ３−Ｉ２）／６
ｔｈ５＝Ｉ２＋（Ｉ３−Ｉ２）／２
ｔｈ６＝Ｉ３−（Ｉ３−Ｉ２）／６
上述のように閾値ｔｈ１〜ｔｈ６を設定すると、画素の明度がｔｈ１以下なら強度レベルは１、ｔｈ１＜明度＜ｔｈ２なら強度レベルは２、ｔｈ２＜明度＜ｔｈ３なら強度レベルは３というように、画素の明度を強度レベルに対応付けることができる。また、強度レベルとの対応付けは、画素ごとに行うから、対象物２１の表面に模様などがあり、反射率や色の異なる領域が存在する場合でも空間符号を正しく付与することができる。
【００６９】
なお、本実施形態において、実施形態１において説明した空間符号化法による光パターンの投影回数は、図１４に示した強度レベルの差が１である２つの強度の間での明度の変化が線形変化に近くなるように投影回数を選択しなければならない。たとえば、図１３（ａ）に示すように、投影する強度と撮像した明度との関係が線形関係から大きく乖離している場合は、ｎ≧５として５種類以上の光パターンを投影することが必要になる。他の構成および動作は実施形態１または実施形態２または実施形態３と同様である。
【００７０】
なお、上述した各手段は、同等の機能を有する手段に置換することが可能であり、投影手段１１はレーザ光により生成したスリット光を変調して走査する構成を採用することができ、画像処理装置１０および制御装置１３はパーソナルコンピュータに代えて、専用の装置を採用してもよい。
【図面の簡単な説明】
【００７１】
【図１】実施形態１に用いる画像処理装置を示すブロック図である。
【図２】同上に用いる３次元計測のための装置の一例を示す構成図である。
【図３】同上で得られる濃淡画像の一例を示す動作説明図である。
【図４】同上に用いる光パターンの例を示す図である。
【図５】図４に対応する空間符号を示す図である。
【図６】同上を用いて空間符号を同定する方法の説明図である。
【図７】図６に示す例における明度の変化を示す図である。
【図８】図６に示す例で同定した空間符号を示す図である。
【図９】同上において空間符号の誤りを防止する技術の原理説明図である。
【図１０】実施形態２におけるサブフリンジ計測の原理説明図である。
【図１１】同上におけるサブフリンジ計測の他例を示す原理説明図である。
【図１２】同上における誤差の補正技術の原理説明図である。
【図１３】実施形態３の原理説明図である。
【図１４】実施形態４で用いる強度レベルの設定例を示す図である。
【図１５】同上に対応する空間符号を示す図である。
【図１６】同上に用いる閾値の設定方法に関する説明図である。
【図１７】従来の空間符号化法の原理説明図である。
【符号の説明】
【００７２】
１０  画像処理装置
１１  投影手段
１２  撮像手段
１３  制御装置
１４  記憶部
１５  符号付与部
１６  ３次元位置算出部
２１  対象物
２２  測定ステージ
【図１】
2008292432.tif 000003
【図２】
2008292432.tif 000004
【図３】
2008292432.tif 000005
【図４】
2008292432.tif 000006
【図５】
2008292432.tif 000007
【図６】
2008292432.tif 000008
【図７】
2008292432.tif 000009
【図８】
2008292432.tif 000010
【図９】
2008292432.tif 000011
【図１０】
2008292432.tif 000012
【図１１】
2008292432.tif 000013
【図１２】
2008292432.tif 000014
【図１３】
2008292432.tif 000015
【図１４】
2008292432.tif 000016
【図１５】
2008292432.tif 000017
【図１６】
2008292432.tif 000018
【図１７】
2008292432.tif 000019