説明

3次元形状計測方法および3次元形状計測装置

【課題】位相シフト法と空間コード法とを利用し、計測対象物の3次元形状を正確に測定することのできる新たな計測方法および計測装置を提供する。
【解決手段】空間コード法の利用に際して、明暗の境界が縞パターンの各周期の境界からそれぞれ+π/2、−π/2ずれた第1、第2の空間コードパターンを用いる。位相シフト法で求めた画素の相対位相φが0<φ<+πのときには前記第1の空間コードパターンを使用し、−π<φ<0のときには前記第2の空間コードパターンを使用することによって、位相接続を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位相シフト法および空間コード法を利用して計測対象物の3次元形状を計測する3次元形状計測方法および3次元形状計測装置に関する。
【背景技術】
【0002】
従来から、位相シフト法を用いて計測対象物の3次元形状を計測する技術が知られている(例えば、特許文献1参照)。位相シフト法は、周期的に明度が変化する縞パターンを投影装置から計測対象物に投影し、その計測対象物を投影装置の投影光軸と異なる方向から撮像装置で撮影し、この撮像装置で撮影した濃淡画像を画像処理することで計測対象物の3次元形状を計測する方法である。
【0003】
位相シフト法では、撮像装置による撮影を、縞パターンの位相を所定量ずつずらしながら、1周期相当分ずれるまで複数回繰り返す。撮影された複数の画像間において、同一画素における絶対的な受光量は計測対象物の表面性状や色などにより変化するが、相対的な受光量差は投影パターンの位相差分だけの変化を示すこととなる。そのため、相対的な受光量差に基づいて、投影された縞パターン上における各点の相対位相φが、対応する画素の位相として求められる。しかし、相対位相φは縞パターンの1周期内の値、例えば−π〜+πの間の値を示すに過ぎず、その点の絶対位相Φを求めるには、その点の縞次数n(一端から他端に向かって数えてn周期目の縞であることを表す値)を特定する処理が別途必要となる。これは一般に、位相接続処理と呼ばれる。
【0004】
位相接続処理の手法として、空間コード法と呼ばれる手法が知られている(例えば、特許文献2参照)。空間コード法では、縞パターンの周期を2倍(ただし、iは0または2i+1≦Nを満たす自然数。Nは縞パターンの縞の総数)した周期で明暗が反転する空間コードパターンを投影装置から計測対象物に投影し、その空間コードパターンが投影された計測対象物を撮像装置で撮影する。投影される空間コードパターンの変化(i=0,1,2,…)に伴って、計測対象物の任意の点における明暗が変化する。ここで、明暗の変化の態様は縞パターンの縞の総数Nと同数だけ存在する。そのため、任意の点において、明暗の変化の態様が特定されると、その点の縞次数nを一義的に特定することができる。空間コード法によれば、各点における明暗の変化に基づいて、各点の縞次数nを特定することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−185370号公報
【特許文献2】特開2006−177781号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
位相シフト法と空間コード法とを組み合わせた従来の手法では、少なくとも周期が最小となるとき(すなわち、i=0のとき)の空間コードパターンの明暗の境界と、縞パターンの位相周期の境界とは一致していた。しかし、具体的な位相計算の方法、例えばフーリエ変換や逆正接を用いた位相計算方法に起因して、あるいは、投影装置と撮像装置との間の解像度の違い等に起因して、空間コードパターンの明暗の境界と縞パターンの位相周期の境界との間にずれが生じる場合がある。ところが、そのようなずれが生じると、位相接続が不正確となり、計測対象物の3次元形状を正確に測定することができなくなる。
【0007】
本発明はかかる点に鑑みてなされたものであり、その目的とするところは、位相シフト法と空間コード法とを利用し、計測対象物の3次元形状を正確に測定することのできる新たな計測方法および計測装置を提供することにある。
【課題を解決するための手段】
【0008】
本発明に係る3次元形状計測方法は、明度がN周期(ただし、Nは2以上の自然数)に亘って周期的に変化する縞パターンを計測対象物に投影し、前記縞パターンの投影方向と異なる方向から前記計測対象物を撮影し、前記縞パターンの位相をずらしながら前記投影および前記撮影を順次繰り返す第1ステップと、前記第1ステップで得られた複数の撮影画像間の受光量変化に基づいて、撮影画像の各画素における前記縞パターンの相対位相を得る第2ステップと、前記縞パターンの周期を2倍(ただし、iは0または2i+1≦Nを満たす自然数)した周期で明暗が反転する空間コードパターンであって、i=0のときの明暗の境界が前記縞パターンの各周期の境界からずれた複数種類の空間コードパターンを前記計測対象物に投影し、前記計測対象物を撮影する第3ステップと、前記相対位相に基づいて前記複数種類の空間コードパターンのいずれか一つを選択し、選択された空間コードパターンが投影されたときの撮影画像から、各画素における前記縞パターンの縞次数を演算する第4ステップと、演算された縞次数と前記相対位相とから、各画素における絶対位相を得る第5ステップと、各画素の絶対位相から前記計測対象物の各点の3次元座標を演算することによって、前記計測対象物の3次元形状を特定する第6ステップと、を備えた方法である。
【0009】
本発明に係る3次元形状計測装置は、明度がN周期(ただし、Nは2以上の自然数)に亘って周期的に変化する縞パターンを、位相を順次ずらしながら計測対象物に投影する投影装置と、前記縞パターンの投影方向と異なる方向から、前記縞パターンが投影された計測対象物を撮影する撮像装置と、複数の撮影画像間の受光量変化に基づいて、撮影画像の各画素における前記縞パターンの相対位相を演算する演算装置と、を備え、前記投影装置は、前記縞パターンの周期を2倍(ただし、iは0または2i+1≦Nを満たす自然数)した周期で明暗が反転する空間コードパターンであって、i=0のときの明暗の境界が前記縞パターンの各周期の境界からずれた複数種類の空間コードパターンを前記計測対象物に投影し、前記撮像装置は、前記空間コードパターンが投影された前記計測対象物を撮影し、前記演算装置は、前記相対位相に基づいて前記複数種類の空間コードパターンのいずれか一つを選択し、選択された空間コードパターンが投影されたときの撮影画像から各画素における前記縞パターンの縞次数を演算し、当該縞次数と前記相対位相とから各画素における絶対位相を演算し、当該絶対位相から前記計測対象物の各点の3次元座標を演算することによって、前記計測対象物の3次元形状を特定するものである。
【発明の効果】
【0010】
本発明によれば、位相シフト法と空間コード法とを利用し、計測対象物の3次元形状を正確に測定することのできる新たな計測方法および計測装置を提供することができる。
【図面の簡単な説明】
【0011】
【図1】3次元形状計測装置の構成図である。
【図2】縞パターンを説明する概念図である。
【図3】3次元形状計測方法のフローチャートである。
【図4】従来の空間コード法の空間コードパターンを説明するための説明図である。
【図5】第1の空間コードパターンを説明するための説明図である。
【図6】第2の空間コードパターンを説明するための説明図である。
【図7】第1の空間コードパターンと縞パターンとの関係を示す概念図である。
【図8】第2の空間コードパターンと縞パターンとの関係を示す概念図である。
【図9】縞次数の推定方法のフローチャートである。
【発明を実施するための形態】
【0012】
図1に示すように、本実施形態に係る3次元形状計測装置10は、投影装置16と、撮像装置18と、演算装置としてのコンピュータ12とを備えている。投影装置16および撮像装置18は、コンピュータ12によって制御される。投影装置16は、計測対象物14に対して、明度がN周期(ただし、Nは2以上の自然数)に亘って周期的に変化する縞パターンを投影する。投影装置16は、位相を順次ずらしながら上記縞パターンを投影するように制御される。撮像装置18は、縞パターンが投影された計測対象物14を撮影する。撮像装置18は、投影装置16の投影方向と異なる方向から計測対象物14を撮影する。コンピュータ12は、中央演算処理装置(以下、CPUという)12bと、CPU12bが実行するプログラムなどを格納したROM12cと、RAM12dとを備えている。なお、コンピュータ12の具体的構成は何ら限定されるものではない。コンピュータ12には、キーボードやマウス等からなる入力装置11と、液晶ディスプレイ等からなる表示装置13とが接続されている。
【0013】
次に、3次元形状計測装置10が行う計測方法について説明する。なお、本明細書において、「点」とは、計測対象物14の位置を表し、「画素」とは、計測対象物14の撮影画像上の各点に対応する位置を表す。「明度」とは、各点での明るさを表す。「受光量」とは、画素へ入力された(または、画素から得られる)上記明るさに対応する量を表す。以下の3次元形状計測方法の説明では、撮像装置18の全画素を利用するものとする。ただし、本発明では必ずしも撮影画像の全画素を利用しなくてもよく、一部の画素を間引くことによって、撮影画像の画素を部分的に利用してもよい。
【0014】
本実施形態に係る3次元形状計測方法は、位相シフト法と空間コード法とを利用したものである。図2は、投影装置16が投影する縞パターンの一例を示している。図2に示すように、位相シフト法に際して、投影装置16は、明度がN周期(図2に示す例ではN=8。ただし、Nの数値は特に限定されない)に亘って周期的に変化する縞パターンを投影する。ここでは、1周期の相対位相φを便宜上、−π〜+πとする。したがって、絶対位相Φは、縞次数nが1つ増えるたびに2π増えることになる。相対位相φが−π<φ<0の部分は、明度が大きな明るい部分(以下、明部という)P1である。相対位相φが0<φ<+πの部分は、明度が小さな暗い部分(以下、暗部という)P0である。なお、φ=0、およびφ=+π(これは隣の周期のφ=−πに相当する)の部分は、明部P1と見なしてもよく、暗部P0と見なしてもよい。縞パターンの明度の変化パターンは特に限定されず、例えば、正弦波状に変化していてもよく、矩形波状に変化していてもよい。
【0015】
図3のフローチャートを参照しながら、本実施形態に係る3次元形状計測方法を説明する。この計測方法は、コンピュータ12が投影装置16および撮像装置18を制御しながら、CPU12bが各種演算を実行することによって行われる。
【0016】
まず、ステップS1において、投影装置16が縞パターンを投影する。次にステップS2に進み、撮像装置18が、縞パターンが投影された計測対象物14を撮影する。撮像装置18の撮影画像はコンピュータ12に送信され、RAM12dに記憶される。次にステップS3において、CPU12bにより、投影された縞パターンの位相のずれ量が2πであるか否かが判定される。判定結果がNOの場合にはステップS4に進み、縞パターンの位相の設定値が所定量だけずらされる。ここでは、所定量としてπ/16が設定されているものとする。ステップS4の後は、ステップS1の投影とステップS2の撮影とが繰り返される。一方、ステップS3の判定結果がYESの場合には、1周期相当分の撮影が終了したこととなり、ステップS5に進む。
【0017】
前述の撮影において、計測対象物14の表面の各点には、撮影された画像の各画素がそれぞれ対応する。ステップS5では、撮影された複数の画像から、各画素の相対位相φを演算する。位相シフト法における相対位相φの演算方法は周知の技術であるので、ここではその詳細な説明は省略する。
【0018】
次にステップS6に進み、縞次数nの演算を行う。縞次数nの演算には、空間コード法を利用する。まず、図4を参照しながら、従来の空間コード法について説明する。空間コード法では、明暗が反転する空間コードパターンを計測対象物14に投影する。空間コードパターンは、明暗の周期の異なる複数の縞パターンからなる。具体的には、空間コードパターンの周期は、位相シフト法の縞パターンの周期の2倍(ただし、iは0または2i+1<Nを満たす自然数)である。図2に示す例では、N=8であるので、i=0、1、2となる。つまり、空間コードパターンの周期は、位相シフト法の縞パターンの1倍、2倍、4倍となる。図4に示す例では、1回目、2回目、3回目に、それぞれ縞パターンの4倍、2倍、1倍の周期で明暗が変化する空間コードパターンが投影される。ただし、これら空間コードパターンの投影順序は何ら限定されない。
【0019】
「明部」を“1”、「暗部」を“0”と表記すると、合計3回の明暗の変化は、2進法の3桁の数字で表すことができる。例えば、1回目が「暗部」、2回目が「暗部」、3回目が「明部」となる部分は、“001”という縞次数コードで表すことができる。この縞次数コードを10進法で表したものが、当該部分の縞次数nとなる。例えば、縞次数コードが“001”の部分の縞次数nは、n=1となる。このように空間コード法によれば、空間コードパターンの投影による明暗の変化に基づいて、各画素の縞次数を特定することができる。
【0020】
ところで、図4に示すように、従来の空間コード法の空間コードパターンでは、周期が最小となるときの空間コードパターン、すなわち本例では3回目の空間コードパターンの明暗の境界Aと、縞パターンの位相周期の境界Bとは一致する。しかし、実際には、位相計算の方法や、投影装置16と撮像装置18との解像度の違い等に起因して、空間コードパターンの明暗の境界Aと縞パターンの位相周期の境界Bとの間にずれが生じる場合がある。ところが、そのようなずれが生じると、縞パターンの明部または暗部が、空間コードパターンの複数の周期に跨って位置することになる。その結果、境界付近の画素の縞次数が正確に特定することができなくなり、位相接続が不正確となるおそれがある。
【0021】
そこで本実施形態では、明暗の境界Aが縞パターンの各周期の境界Bからずれた複数種類の空間コードパターンを用いることとした。具体的に、本実施形態では、図5に示す第1の空間コードパターンと、図6に示す第2の空間コードパターンとを用いることとした。第1の空間コードパターンは、最小周期のときの位相Aが縞パターンの位相周期の境界Bから+π/2ずれたものである。第2の空間コードパターンは、最小周期のときの位相Aが縞パターンの位相周期Bから−π/2ずれたものである。
【0022】
図7に示すように、第1の空間コードパターンでは、空間コードパターンの明暗の境界Aが縞パターンの位相周期の境界Bから+側にずれているので、多少のずれが生じたとしても、縞パターンの暗部P0が複数の周期に跨って位置することが抑制される。そのため、縞パターンの暗部P0の縞次数を、より正確に特定することができる。一方、図8に示すように、第2の空間コードパターンでは、空間コードパターンの明暗の境界Aが縞パターンの位相周期の境界Bから−側にずれているので、多少のずれが生じたとしても、縞パターンの明部P1が複数の周期に跨って位置することが抑制される。そのため、縞パターンの明部P1の縞次数を、より正確に特定することができる。
【0023】
図9を参照しながら、縞次数の演算方法について説明する。まず、ステップS11において、投影装置16が第1の空間コードパターンを投影し、この第1の空間コードパターンが投影された計測対象物14を撮像装置18が撮影する。次にステップS12に進み、投影装置16が第2の空間コードパターンを投影し、この第2の空間コードパターンが投影された計測対象物14を撮像装置18が撮影する。次に、ステップS13に進み、CPU12bにより、前述のステップS5で求めた画素の相対位相φが−π≦φ<0の範囲にあるか否かが判定される。判定結果がYESであれば、ステップS14に進み、CPU12bは、第1の空間コードパターンを用いて当該画素の縞次数nを演算する。一方、ステップS5の判定結果がNOであれば、言い換えると、相対位相φが0≦φ<πの範囲にあれば、ステップS15に進む。ステップS15では、CPU12bは、第2の空間コードパターンを用いて当該画素の縞次数nを演算する。
【0024】
以上が縞次数nの演算方法である。なお、本実施形態では、相対位相φ=0の画素に対しては、第2の空間コードパターンを用いることとした。しかし、相対位相φ=0の画素に対して第1の空間コードパターンを用いることとしてもよい。言い換えると、ステップS13の判定条件は、−π≦φ≦0であってもよい。
【0025】
図3に示すように、縞次数nを演算した後はステップS7に進み、CPU12bは各画素の絶対位相Φを演算する。すなわち、絶対位相Φ=2nπ+φを演算する。続いてステップS8に進み、CPU12bは、三角測量の原理等を用いて、絶対位相Φから各画素に対応する計測対象物14の各点の高さ情報を算出する。その結果、計測対象物の3次元形状が求められる。
【0026】
以上のように、本実施形態によれば、空間コード法を利用して縞次数nを演算する際に、明暗の境界Aが縞パターンの位相周期の境界Bからずれた複数種類の空間コードパターンを用いることとした。そのため、縞パターンの明部P1または暗部P0が空間コードパターンの複数の周期に跨って位置することが抑制される。したがって、縞パターンの位相周期の境界B付近の画素に対しても、縞次数を正確に演算することが可能となる。よって、位相接続を正確に行うことができ、ひいては計測対象物14の3次元形状を正確に計測することが可能となる。
【0027】
さらに本実施形態では、上記複数種類の空間コードパターンとして、明暗の境界Aが縞パターンの位相周期の境界Bから+側にずれた第1の空間コードパターンと、−側にずれた第2の空間コードパターンとを用いることとした。そして、少なくとも相対位相φが0<φ<+πの画素に対しては第1の空間コードパターンを選択し、−π<φ<0の画素に対しては第2の空間コードパターンを選択することとした。このように画素の相対位相φに応じて空間コードパターンを適宜選択することによって、縞次数をより正確に演算することが可能となる。なお、相対位相φ=0の画素およびφ=+πの画素(これは隣の周期のφ=−πの画素と同じである)に対しては、第1の空間コードパターンおよび第2の空間コードパターンのいずれを選択してもよい。
【0028】
また、特に本実施形態では、第1、第2の空間コードパターンとして、それぞれ明暗の境界Aが縞パターンの位相周期の境界Bから+π/2、−π/2ずれた空間コードパターンを用いることとした。これにより、縞パターンの暗部P0は、第1の空間コードパターンの最小周期の中間に位置することになり(図7参照)、縞パターンの暗部P0が複数の周期を跨ぐことが確実に防止される。また、縞パターンの明部P1は、第2の空間コードパターンの最小周期の中間に位置することになり(図8参照)、縞パターンの明部P1が複数の周期を跨ぐことが確実に防止される。よって、縞次数をより一層正確に推定することが可能となる。
【0029】
なお、前述の実施形態では、第1、第2の空間コードパターンは、最小周期のときの位相Aが縞パターンの位相周期の境界Bから、それぞれ+π/2、−π/2ずれたものであった。しかし、縞パターンの暗部P0および明部P1が複数の周期を跨ぐことが防止できる限り、第1、第2の空間コードパターンの最小周期のときの位相Aのずれ量は、それぞれ+π/2、−π/2に限定される訳ではない。第1の空間コードパターンの位相Aが縞パターンの位相周期の境界Bからp(ただし、0<p<+π)、第2の空間コードパターンの位相Aが縞パターンの位相周期の境界Bからq(ただし、−π<q<0)ずれていてもよい。
【0030】
また、複数種類の空間コードパターンは、前述の第1および第2の空間コードパターンに限定されない。それ以外の2種類の空間コードパターンを用いてもよい。また、3種類以上の空間コードパターンを用いることも可能である。
【0031】
前記実施形態では、縞パターンの1周期の相対位相を−π〜+πとした。しかし、1周期の相対位相は何ら限定されるものではない。1周期の相対位相を0〜2πとすることもできる。また、1周期の相対位相を0〜πとすることもできる。1周期の相対位相は、適宜に設定することが可能である。
【符号の説明】
【0032】
10 3次元形状計測装置
11 入力装置
12 コンピュータ(演算装置)
13 表示装置
14 計測対象物
16 投影装置
18 撮像装置
A 空間コードパターンの明暗の境界
B 縞パターンの周期の境界
P0 暗部
P1 明部

【特許請求の範囲】
【請求項1】
明度がN周期(ただし、Nは2以上の自然数)に亘って周期的に変化する縞パターンを計測対象物に投影し、前記縞パターンの投影方向と異なる方向から前記計測対象物を撮影し、前記縞パターンの位相をずらしながら前記投影および前記撮影を順次繰り返す第1ステップと、
前記第1ステップで得られた複数の撮影画像間の受光量変化に基づいて、撮影画像の各画素における前記縞パターンの相対位相を得る第2ステップと、
前記縞パターンの周期を2倍(ただし、iは0または2i+1≦Nを満たす自然数)した周期で明暗が反転する空間コードパターンであって、i=0のときの明暗の境界が前記縞パターンの各周期の境界からずれた複数種類の空間コードパターンを前記計測対象物に投影し、前記計測対象物を撮影する第3ステップと、
前記相対位相に基づいて前記複数種類の空間コードパターンのいずれか一つを選択し、選択された空間コードパターンが投影されたときの撮影画像から、各画素における前記縞パターンの縞次数を演算する第4ステップと、
演算された縞次数と前記相対位相とから、各画素における絶対位相を得る第5ステップと、
各画素の絶対位相から前記計測対象物の各点の3次元座標を演算することによって、前記計測対象物の3次元形状を特定する第6ステップと、
を備えた3次元形状計測方法。
【請求項2】
前記複数種類の空間コードパターンは、第1および第2の空間コードパターンを含み、
前記縞パターンの1周期の位相を−π〜+πとしたときに、
前記第1、第2の空間コードパターンは、i=0のときの明暗の境界が前記縞パターンの各周期の境界からそれぞれp、q(ただし、0<p<+π,−π<q<0)ずれた空間コードパターンであり、
前記第4ステップにおいて、相対位相φが0<φ<+πのときは、前記第1の空間コードパターンを選択し、−π<φ<0のときは、前記第2の空間コードパターンを選択する、請求項1に記載の3次元形状計測方法。
【請求項3】
p=+π/2、q=−π/2である、請求項2に記載の3次元形状計測方法。
【請求項4】
明度がN周期(ただし、Nは2以上の自然数)に亘って周期的に変化する縞パターンを、位相を順次ずらしながら計測対象物に投影する投影装置と、
前記縞パターンの投影方向と異なる方向から、前記縞パターンが投影された計測対象物を撮影する撮像装置と、
複数の撮影画像間の受光量変化に基づいて、撮影画像の各画素における前記縞パターンの相対位相を演算する演算装置と、を備え、
前記投影装置は、前記縞パターンの周期を2倍(ただし、iは0または2i+1≦Nを満たす自然数)した周期で明暗が反転する空間コードパターンであって、i=0のときの明暗の境界が前記縞パターンの各周期の境界からずれた複数種類の空間コードパターンを前記計測対象物に投影し、
前記撮像装置は、前記空間コードパターンが投影された前記計測対象物を撮影し、
前記演算装置は、前記相対位相に基づいて前記複数種類の空間コードパターンのいずれか一つを選択し、選択された空間コードパターンが投影されたときの撮影画像から各画素における前記縞パターンの縞次数を演算し、当該縞次数と前記相対位相とから各画素における絶対位相を演算し、当該絶対位相から前記計測対象物の各点の3次元座標を演算することによって、前記計測対象物の3次元形状を特定する、3次元形状計測装置。
【請求項5】
前記複数種類の空間コードパターンは、第1および第2の空間コードパターンを含み、
前記縞パターンの1周期の位相を−π〜+πとしたときに、
前記第1、第2の空間コードパターンは、i=0のときの明暗の境界が前記縞パターンの各周期の境界からそれぞれp、q(ただし、0<p<+π,−π<q<0)ずれた空間コードパターンであり、
前記演算装置は、相対位相φが0<φ<+πのときは、前記第1の空間コードパターンを選択し、−π<φ<0のときは、前記第2の空間コードパターンを選択する、請求項4に記載の3次元形状計測装置。
【請求項6】
p=+π/2、q=−π/2である、請求項5に記載の3次元形状計測装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate