説明

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

【課題】位相シフト法を用いて計測対象物の3次元形状を計測する際に、実際には存在しない凹凸が生じることを抑制する。
【解決手段】縞パターンを計測対象物に投影し、前記計測対象物を撮影する。前記縞パターンの位相を所定方向にずらしながら前記投影および前記撮影を順次繰り返す第1ステップと、前記第1ステップで得られた複数の撮影画像における同一画素での受光量変化に基づいて、各画素における前記縞パターンの位相を演算する第2ステップと、撮影画像の各画素の位相に基づいて前記計測対象物の3次元形状を特定する第3ステップとを備える。前記第2ステップにおいて、各画素の位相を演算する際に、少なくとも当該画素の前記所定方向の両隣に位置する2つの画素の受光量に基づいて、当該画素の受光量変化を補正する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位相シフト法を利用して計測対象物の3次元形状を計測する3次元形状計測方法および3次元形状計測装置に関する。
【背景技術】
【0002】
従来から、位相シフト法を用いて計測対象物の3次元形状を計測する技術が知られている(例えば、特許文献1参照)。位相シフト法は、明度が周期的に変化する縞パターンを投影装置から計測対象物に投影し、その計測対象物を投影装置の投影光軸と異なる方向から撮像装置で撮影し、この撮像装置で撮影した濃淡画像を画像処理することで計測対象物の3次元形状を計測する方法である。
【0003】
位相シフト法では、撮像装置による撮影を、縞パターンの位相を所定量ずつずらしながら、1周期相当分ずれるまで複数回繰り返す。原理的に、撮影された複数の画像間において、同一画素における絶対的な受光量は計測対象物の表面性状、色、周辺光などにより変化するが、相対的な受光量差は投影パターンの位相差分だけの変化を示すこととなる。そのため、相対的な受光量差に基づいて、投影された縞パターン上における各点の相対位相φが、対応する画素の位相として求められる。その後、位相接続と呼ばれる処理を行うことにより、上記相対位相φから絶対位相Φが求められ、三角測量の原理等を利用して計測対象物の3次元形状が求められる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−019941号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、本願発明者は、計測対象物の表面に反射率が大きく異なる部分が隣り合って存在している場合などにおいて、算出された位相から計測対象物の3次元形状を復元する際に、実際には存在しない凹凸が生じることを見出した。
【0006】
本発明はかかる点に鑑みてなされたものであり、その目的とするところは、位相シフト法を用い、3次元形状の復元の際に、実際には存在しない凹凸が生じにくい3次元形状計測方法および3次元形状計測装置を提供することにある。
【課題を解決するための手段】
【0007】
本発明に係る3次元形状計測方法は、明度が周期的に変化する縞パターンを計測対象物に投影し、前記縞パターンの投影方向と異なる方向から前記計測対象物を撮影し、前記縞パターンの位相を所定方向にずらしながら前記投影および前記撮影を順次繰り返す第1ステップと、前記第1ステップで得られた複数の撮影画像における同一画素での受光量変化に基づいて、各画素における前記縞パターンの位相を演算する第2ステップと、撮影画像の各画素の位相に基づいて前記計測対象物の3次元形状を特定する第3ステップと、を備えた3次元形状計測方法であって、前記第2ステップは、各画素の位相を演算する際に、少なくとも当該画素の前記所定方向の両隣に位置する2つの画素の受光量に基づいて当該画素の受光量変化を補正する補正ステップを含んでいるものである。
【0008】
本発明に係る3次元形状計測装置は、明度が周期的に変化する縞パターンを、位相を順次ずらしながら計測対象物に投影する投影装置と、前記縞パターンの投影方向と異なる方向から、前記縞パターンが投影された計測対象物を撮影する撮像装置と、複数の撮影画像における同一画素での受光量変化に基づいて各画素における前記縞パターンの位相を演算する演算部と、前記位相から前記計測対象物の3次元形状を特定する特定部とを有する演算装置と、を備えた3次元形状計測装置であって、前記演算装置は、前記演算部が各画素の受光量を演算する際に、少なくとも当該画素の前記所定方向の両隣に位置する2つの画素の受光量に基づいて当該画素の受光量変化を補正する補正部を有しているものである。
【発明の効果】
【0009】
本発明によれば、位相シフト法を用い、3次元形状の復元の際に、実際には存在しない凹凸が生じにくい3次元形状計測方法および3次元形状計測装置を提供することができる。
【図面の簡単な説明】
【0010】
【図1】3次元形状計測装置の構成図である。
【図2】縞パターンを説明する概念図である。
【図3】3次元形状計測方法のフローチャートである。
【図4】コンピュータの機能ブロック図である。
【図5】(a)は計測対象物の表面の一部を模式的に表した図であり、(b)〜(d)は撮像装置に撮影された縞パターンの移動の様子を表す図である。
【図6】(a)および(b)は、相対位相の誤差に起因して実際には存在しない凹凸が計測されてしまうことを説明する図である。
【図7】画素の受光量変化を補正する方法のフローチャートである。
【図8】補正を行った場合と補正を行わなかった場合の受光量変化の一例を示すグラフである。
【発明を実施するための形態】
【0011】
図1に示すように、本実施形態に係る3次元形状計測装置10は、投影装置16と、撮像装置18と、演算装置としてのコンピュータ12とを備えている。投影装置16および撮像装置18は、コンピュータ12によって制御される。投影装置16は、計測対象物14に対して、明度が周期的に変化する縞パターンを投影する。投影装置16は、位相を順次ずらしながら上記縞パターンを投影するように制御される。撮像装置18は、縞パターンが投影された計測対象物14を撮影する。撮像装置18は、投影装置16の投影方向と異なる方向から計測対象物14を撮影する。コンピュータ12は、中央演算処理装置(以下、CPUという)12bと、CPU12bが実行するプログラムなどを格納したROM12cと、RAM12dとを備えている。なお、コンピュータ12の具体的構成は何ら限定されるものではない。コンピュータ12には、キーボードやマウス等からなる入力装置11と、液晶ディスプレイ等からなる表示装置13とが接続されている。
【0012】
次に、3次元形状計測装置10が行う計測方法について説明する。なお、本明細書において、「点」とは、計測対象物14の位置を表し、「画素」とは、計測対象物14の撮影画像上の各点に対応する位置を表す。「明度」とは、各点での明るさを表す。「受光量」とは、画素へ入力された(または、画素から得られる)上記明るさに対応する量を表す。以下の3次元形状計測方法の説明では、撮像装置18の全画素を利用するものとする。ただし、本発明では必ずしも撮影画像の全画素を利用しなくてもよく、一部の画素を間引くことによって、撮影画像の画素を部分的に利用してもよい。
【0013】
本実施形態に係る3次元形状計測方法は、位相シフト法を利用したものである。図2は、投影装置16が投影する縞パターンの一例を示している。図2に示すように、位相シフト法に際して、投影装置16は、明度が複数の周期(図2に示す例では8周期。ただし、周期の数は特に限定されない)に亘って周期的に変化する縞パターンを投影する。ここでは、1周期の相対位相φを便宜上、−π〜+πとする。したがって、絶対位相Φは、縞次数nが1つ増えるたびに2π増えることになる。相対位相φが−π<φ<0の部分は、明度が大きな明るい部分(以下、明部という)P1である。相対位相φが0<φ<+πの部分は、明度が小さな暗い部分(以下、暗部という)P0である。なお、φ=0、およびφ=+π(これは隣の周期のφ=−πに相当する)の部分は、明部P1と見なしてもよく、暗部P0と見なしてもよい。縞パターンの明度の変化パターンは特に限定されず、例えば、正弦波状に変化していてもよく、矩形波状に変化していてもよい。
【0014】
図3は、本実施形態に係る3次元形状計測方法のフローチャートである。この計測方法は、コンピュータ12が投影装置16および撮像装置18を制御しながら、CPU12bが各種演算を実行することによって行われる。図4は、上記計測方法を実行する際のコンピュータ12の機能ブロック図である。以下、図3および図4を参照しながら、3次元形状計測方法について説明する。
【0015】
まず、ステップS1において、投影装置16が縞パターンを投影する。次にステップS2に進み、撮像装置18が、縞パターンが投影された計測対象物14を撮影する。撮像装置18の撮影画像はコンピュータ12に送信され、RAM12dに記憶される。次にステップS3において、CPU12bにより、投影された縞パターンの位相のずれ量が2πであるか否かが判定される。判定結果がNOの場合にはステップS4に進み、縞パターンの位相の設定値が所定量だけずらされる。ここでは、所定量としてπ/32が設定されているものとする。ステップS4の後は、ステップS1の投影とステップS2の撮影とが繰り返される。一方、ステップS3の判定結果がYESの場合には、1周期相当分の撮影が終了したこととなり、ステップS5に進む。
【0016】
前述の撮影において、計測対象物14の表面の各点には、撮影された画像の各画素がそれぞれ対応する。ステップS5では、撮影された複数の画像から、CPU12bが各画素の相対位相φを演算する。この際、CPU12bは演算部21(図4参照)として機能する。詳細は後述するが、本実施形態に係る3次元形状計測方法では、隣り合う2つの画素の受光量変化に基づいて、当該画素の受光量変化を補正する処理を行う(図7参照)。なお、位相シフト法における相対位相φの演算方法自体は周知の技術であるので、ここではその詳細な説明は省略する。
【0017】
次にステップS6に進み、縞次数nの演算を行う。縞次数nの演算には、従来から周知の空間コード法を利用する。縞次数nを演算した後はステップS7に進み、CPU12bは各画素の絶対位相Φを演算する。すなわち、絶対位相Φ=2nπ+φを演算する。続いてステップS8に進み、CPU12bは、三角測量の原理等を用いて、絶対位相Φから各画素に対応する計測対象物14の各点の高さ情報を算出する。その結果、計測対象物14の3次元形状が求められる。この際、CPU12bは、計測対象物14の3次元形状を特定する特定部22(図4参照)として機能する。
【0018】
以上が3次元形状計測方法の全体の流れである。前述したように、本実施形態に係る3次元形状計測方法においては、ステップS5の相対位相φの演算に際して、画素の受光量変化の補正を行う。次に、この補正について説明する。
【0019】
図5(a)は計測対象物14の表面の一部を模式的に表した図であり、図5(b)〜(d)は、撮像装置18に撮影された縞パターンの移動の様子を表す図である。ここでは、図5(a)に示すように、計測対象物14の表面に白色部分14aと黒色部分14bとが存在するものとする。例えば、計測対象物14の表面において白地に黒色の文字が記載されている場合に、その文字の境界付近において、このような白色部分14aと黒色部分14bとが存在することになる。図5(b)〜(d)において、符号Dは着目している一つの画素(以下、当該画素という)を表し、符号D1,D2は、当該画素Dの両隣に位置する画素を表す。当該画素Dは計測対象物14の点Yに対応する画素であり、画素D1,D2はそれぞれ点Y1,Y2に対応する画素である。縞パターンは所定方向Xに順次移動する。画素D1は当該画素Dの所定方向X側に位置する画素であり、画素D2は当該画素Dの所定方向Xと逆側に位置する画素である。
【0020】
図5(a)に示すように、当該点Yおよび点Y2は黒色部分14bに対応する位置にあり、点Y1は白色部分14aに対応する位置にある。このような場合、点Y1の反射率は当該点Yの反射率よりも大きいため、当該画素Dの受光量は、点Y1からの拡散反射の影響を受けやすくなる。図5(b)に示すように、縞パターンの暗部P0が当該点Yの手前に位置している場合、当該画素Dは明るい状態となる。図5(c)に示すように、縞パターンが所定方向Xに所定量だけ移動し、暗部P0が当該点Yの箇所まで移動すると、当該画素Dは本来暗い状態となる。ところが、暗部P0は点Y1まで到達していないため、点Y1は明るい状態である。そのため、当該画素Dは当該点Yからの光だけでなく隣の点Y1からの拡散反射光を受け、本来暗い状態となるべきであるにも拘わらず、暗い状態になりきらない。図5(d)に示すように、縞パターンの暗部P0が点Y1にまで到達すると、点Y1が暗い状態となるので、当該画素Dは点Y1からの反射の影響を受けにくくなる。したがって、当該画素Dは、本来の暗い状態となる。
【0021】
このように、計測対象物14上の反射率が大きく変化する部分にあっては、当該点Yからの光を受ける当該画素Dが、隣の点Y1の影響を受けやすい。そのため、このような部分に対応する画素においては、縞パターンを順次移動させながら投影したときに、本来の暗い状態または明るい状態とはならない場合がある。これにより、相対位相φの演算に誤差が生じる場合がある。詳しくは、縞パターンの移動方向Xに沿って黒色部分14bから白色部分14aに変化する箇所では、演算される相対位相φ´は実際の相対位相φよりも大きくなりがちである。その結果、図6(a)に示すように、点Aの高さが誤差Δhの分だけ高く演算されてしまう。すなわち、計測対象物14の表面の高さ位置として、点Aの位置ではなく点A´の位置が算出されてしまい、実際には存在しない凸部が計測されてしまうことになる。一方、縞パターンの移動方向Xに沿って白色部分14aから黒色部分14bに変化する箇所では、演算される相対位相φ´は実際の相対位相φよりも小さくなりがちである。その結果、図6(b)に示すように、点Bの高さが誤差Δhの分だけ低く演算されてしまう。すなわち、計測対象物14の表面の高さ位置として、点Bの位置ではなく点B´の位置が算出されてしまい、実際には存在しない凹部が計測されてしまうことになる。このように、相対位相φの演算に誤差が生じると、実際には存在しない凹凸が生じることになる。
【0022】
そこで、本実施形態では、そのような凹凸が生じないように、相対位相φの演算の際に、当該画素Dの周辺の画素の受光量に基づいて、当該画素の受光量変化を補正することとした。次に、図7を参照しながら、補正の具体的方法を説明する。
【0023】
まず、ステップS11において、CPU12bは、着目する当該画素Dの受光量Iと、当該画素Dと所定方向X側に隣接する画素D1の受光量I1と、当該画素Dと所定方向Xと逆側に隣接する画素D2の受光量I2とを演算する。この演算を実行する際、CPU12bは受光量演算部31(図4参照)として機能する。本実施形態では、1周期のうちに合計32回の投影および撮影を行うため、それらの平均をI、I1、I2とすることとする。すなわち、
I=(I+I+I+I+…+I31)/32
I1=(I1+I1+I1+I1+…+I131)/32
I2=(I2+I2+I2+I2+…+I231)/32
とする。なお、上記各式の添え字は、撮影回数から1を引いた数に対応している。添え字0は1回目の撮影を表し、添え字1は2回目の撮影を表し、添え字31は32回目の撮影を表している。ただし、受光量I、I1、I2の演算方法は特に限定されず、他の方法によって演算することも可能である。
【0024】
次にステップS12に進み、隣接する2つの画素のうち受光量の大きい方の画素を、当該画素に影響を与える画素、すなわち影響画素として特定し、その影響画素の受光量を特定する。言い換えると、I1およびI2のうちいずれか大きい方を、影響画素の受光量として特定する。この際、CPU12bは影響受光量特定部32として機能する。ここでは図5(a)〜(d)に示すように、画素D1は白色部分14aに位置する点Y1に対応し、画素D2は黒色部分14bに位置する点Y2に対応するので、画素D1の受光量I1の方が画素D2の受光量I2よりも大きくなる。そのため、影響画素は画素D1であり、その受光量はI1である。
【0025】
次にステップS13に進み、位相符号を特定する。この際、CPU12bは位相符号特定部33として機能する。位相符号は、影響画素として、位相シフト時に位相が先行している点を撮影している画素を選択した場合は−、位相が遅れている点を撮影している画素を選択した場合は+とする。図5(a)〜(d)に示すように、ここでは、位相が先行している点は点Y2であり、位相が遅れている点はY1である。そのため、影響画素として画素D1が選択されると、位相符号は+となる。
【0026】
次にステップS14に進み、影響画素D1の受光量I1から当該画素Dの受光量Iを減ずることによって、受光量差Saを演算する。すなわち、CPU12bは、Sa=I1−Iとして受光量差Saを演算する。この際、CPU12bは受光量差演算部34として機能する。
【0027】
次にステップS15に進み、CPU12bは影響画素D1の影響率を演算する。この際、CPU12bは影響率演算部35として機能する。ここでは、受光量差Saが正の値であれば、影響率=Sa/Iとする。一方、受光量差Saが零または負の値であれば、影響率=0とする。
【0028】
次にステップS16に進み、当該画素Dの受光量Iの補正を行う。この際、CPU12bは、受光量補正部36として機能する。具体的には、撮影回数をn回(なお、本実施形態ではn=32である)としたときに、i回目(ただし、iは零またはn−1以下の自然数)の撮影時における当該画素Dの補正後の受光量I´を、i回目、i+1回目の撮影時における当該画素Dの補正前の受光量I、Ii+1を用いて、
´=(Ii+1−I)×影響率×位相符号×I
として算出する。以上が、当該画素Dの受光量変化の補正方法である。
【0029】
図8に、上記の補正を行った場合と補正を行わなかった場合の受光量変化の一例を示す。図8から、補正の有無により受光量変化のパターンが変わり、位相が補正されることが分かる。本実施形態では、補正後の受光量変化に基づいて、各画素の相対位相φが演算される。なお、上記補正の目的は相対位相φを正確に求めることにある。上記補正は、当該画素Dの受光量の絶対値を補正するものではなく、あくまでも当該画素Dの受光量の変化を補正するものである。
【0030】
以上のように、本実施形態によれば、位相シフト法を利用して各画素の相対位相を演算する際に、当該画素D1の所定方向Xの両隣に位置する2つの画素D1,D2の受光量I1,I2に基づいて、当該画素Dの受光量Iの変化を補正する。そのため、当該点Yに対応する当該画素Dの相対位相を演算する際に、当該点Yの隣の点Y1,Y2からの拡散反射の影響を抑制することができ、実際には存在しない凹凸が生じることを抑制することができる。したがって、位相シフト法を用いた3次元形状の計測を、より高精度に行うことが可能となる。
【0031】
なお、上記補正の具体的方法はあくまでも一例に過ぎず、他に様々な補正方法を採ることができる。上記補正は、当該画素Dの両隣の画素D1,D2の受光量を利用するものであった。しかし、両隣の画素D1,D2だけでなく、他の画素の受光量を利用してもよい。
【符号の説明】
【0032】
10 3次元形状計測装置
11 入力装置
12 コンピュータ(演算装置)
13 表示装置
14 計測対象物
16 投影装置
18 撮像装置
21 演算部
22 特定部
23 補正部
D,D1,D2 画素
Y,Y1,Y2 計測対象物の点
P0 暗部
P1 明部

【特許請求の範囲】
【請求項1】
明度が周期的に変化する縞パターンを計測対象物に投影し、前記縞パターンの投影方向と異なる方向から前記計測対象物を撮影し、前記縞パターンの位相を所定方向にずらしながら前記投影および前記撮影を順次繰り返す第1ステップと、
前記第1ステップで得られた複数の撮影画像における同一画素での受光量変化に基づいて、各画素における前記縞パターンの位相を演算する第2ステップと、
撮影画像の各画素の位相に基づいて前記計測対象物の3次元形状を特定する第3ステップと、を備えた3次元形状計測方法であって、
前記第2ステップは、各画素の位相を演算する際に、少なくとも当該画素の前記所定方向の両隣に位置する2つの画素の受光量に基づいて当該画素の受光量変化を補正する補正ステップを含んでいる、3次元形状計測方法。
【請求項2】
前記補正ステップは、
当該画素の受光量Iと、当該画素の前記所定方向側の隣に位置する画素の受光量I1と、当該画素の前記所定方向と逆側の隣に位置する画素の受光量I2とを演算するステップと、
前記受光量I1および前記受光量I2のうちいずれか大きい方を、当該画素に影響を与える画素(以下、影響画素という。)の受光量として特定するステップと、
前記受光量I1が前記受光量I2よりも大きい場合は位相符号を+とし、前記受光量I1が前記受光量I2よりも小さい場合は位相符号を−とすることによって、位相符号を特定するステップと、
前記影響画素の受光量から当該画素の受光量を減ずることによって受光量差Saを演算するステップと、
前記受光量差Saが正の値であれば影響率=Sa/I、前記受光量差Saが零または負の値であれば影響率=0として、影響率を演算するステップと、
前記第1ステップの撮影回数をn回としたときに、i回目(ただし、iは零またはn−1以下の自然数)の撮影時における当該画素の補正後の受光量I´を、i回目、i+1回目の撮影時における当該画素の補正前の受光量I、Ii+1を用いて、
´=(Ii+1−I)×影響率×位相符号×I
とすることによって、当該画素の受光量を補正するステップと、
を含んでいる請求項1に記載の3次元形状計測方法。
【請求項3】
明度が周期的に変化する縞パターンを、位相を順次ずらしながら計測対象物に投影する投影装置と、
前記縞パターンの投影方向と異なる方向から、前記縞パターンが投影された計測対象物を撮影する撮像装置と、
複数の撮影画像における同一画素での受光量変化に基づいて各画素における前記縞パターンの位相を演算する演算部と、前記位相から前記計測対象物の3次元形状を特定する特定部とを有する演算装置と、を備えた3次元形状計測装置であって、
前記演算装置は、前記演算部が各画素の受光量を演算する際に、少なくとも当該画素の前記所定方向の両隣に位置する2つの画素の受光量に基づいて当該画素の受光量変化を補正する補正部を有している、3次元形状計測装置。
【請求項4】
前記補正部は、
当該画素の受光量Iと、当該画素の前記所定方向側の隣に位置する画素の受光量I1と、当該画素の前記所定方向と逆側の隣に位置する画素の受光量I2とを演算する受光量演算部と、
前記受光量I1および前記受光量I2のうちいずれか大きい方を、当該画素に影響を与える画素(以下、影響画素という。)の受光量として特定する影響受光量特定部と、
前記受光量I1が前記受光量I2よりも大きい場合は位相符号を+とし、前記受光量I1が前記受光量I2よりも小さい場合は位相符号を−とすることによって、位相符号を特定する位相符号特定部と、
前記影響画素の受光量から当該画素の受光量を減ずることによって受光量差Saを演算する受光量差演算部と、
前記受光量差Saが正の値であれば影響率=Sa/I、前記受光量差Saが零または負の値であれば影響率=0として、影響率を演算する影響率演算部と、
前記第1ステップの撮影回数をn回としたときに、i回目(ただし、iは零またはn−1以下の自然数)の撮影時における当該画素の補正後の受光量I´を、i回目、i+1回目の撮影時における当該画素の補正前の受光量I、Ii+1を用いて、
´=(Ii+1−I)×影響率×位相符号×I
とすることによって、当該画素の受光量を補正する受光量補正部と、
を備えている請求項3に記載の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


【公開番号】特開2011−133328(P2011−133328A)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願番号】特願2009−292595(P2009−292595)
【出願日】平成21年12月24日(2009.12.24)
【出願人】(000116057)ローランドディー.ジー.株式会社 (163)
【Fターム(参考)】