(57)【特許請求の範囲】
【請求項１】
輝度分布が正弦波状に変化するパターン光を測定対象物に照射する投影部と、
前記投影部の投影方向と異なる方向から前記測定対象物に投影された前記パターン光による像を撮像し、各画像間で前記パターン光の位相が互いにずれたｎ枚の画像からなる画像群を取得する撮像部と、
前記ｎ枚の画像からnＣ3通りの画像組を抽出し、抽出した該画像組毎から光源に依存するパラメータをそれぞれ求める演算部と、
前記画像組毎から求められた複数の前記光源に依存するパラメータ同士の整合性に基づいて、前記画像群のいずれかの画像に異常出力点が含まれるか否かを判定する判定部と、
を備え、
前記ｎは、４以上の整数である、
ことを特徴とする三次元形状計測装置。
【請求項２】
請求項１に記載の三次元形状計測装置において、
前記パラメータは、前記パターン光の振幅値、前記パターン光のオフセット値、前記パターン光の位相のいずれかを含むことを特徴とする三次元形状計測装置。
【請求項３】
請求項２に記載の三次元形状計測装置において、
前記判定部は、複数の前記光源に依存するパラメータ同士の分散値に基づいて、前記判定を行うことを特徴とする三次元形状計測装置。
【請求項４】
請求項２に記載の三次元形状計測装置において、
前記演算部は、前記画像群の各画像の同一点における輝度変化に基づいて第１位相を求めるとともに、前記画像組からそれぞれ求めた複数の位相を平均した第２位相を求め、
前記判定部は、同一点での前記第１位相と前記第２位相との差に基づいて、前記判定を行うことを特徴とする三次元形状計測装置。
【請求項５】
請求項１から請求項４のいずれか１項に記載の三次元形状計測装置において、
前記判定部は、前記画像のうちでコントラストが閾値以下となる部分領域および前記画像のうちで輝度値が所定の範囲から外れる部分領域の少なくとも一方を対象として前記判定を行うことを特徴とする三次元形状計測装置。
【請求項６】
請求項１から請求項４のいずれか１項に記載の三次元形状計測装置において、
前記画像の部分領域の指定入力を受け付ける入力部をさらに備え、
前記判定部は、前記指定入力された部分領域を対象として前記判定を行うことを特徴とする三次元形状計測装置。
【請求項７】
請求項１から請求項５のいずれか１項に記載の三次元形状計測装置において、
前記判定部は、前記異常出力点が含まれると判定したときに、前記異常出力点の位置を示す判定結果データを出力することを特徴とする三次元形状計測装置。
【請求項８】
請求項１から請求項５のいずれか１項に記載の三次元形状計測装置において、
前記判定部は、前記異常出力点が含まれると判定したときに、前記異常出力点の計測データを周囲の計測データで補間することを特徴とする三次元形状計測装置。
【請求項９】
請求項１から請求項５のいずれか１項に記載の三次元形状計測装置において、
前記判定部は、前記異常出力点が含まれると判定したときに、前記撮像部に前記画像群の再取得を指示することを特徴とする三次元形状計測装置。
【請求項１０】
輝度分布が正弦波状に変化するパターン光を測定対象物に照射するとともに、前記投影部の投影方向と異なる方向から前記測定対象物に投影された前記パターン光による像を撮像し、各画像間で前記パターン光の位相が互いにずれたｎ枚の画像からなる画像群を取得し、
前記ｎ枚の画像からnＣ3通りの画像組を抽出し、抽出した該画像組毎から光源に依存するパラメータをそれぞれ求め、該複数の光源に依存するパラメータ同士の整合性に基づいて、前記画像群のいずれかの画像に異常出力点が含まれるか否かを判定し、
前記ｎは、４以上の整数である、
ことを特徴とする三次元形状計測方法。
【請求項１１】
請求項１０に記載の三次元形状計測方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位相シフト法による三次元形状計測装置とその周辺技術に関する。
【背景技術】
【０００２】
従来から、測定対象物の三次元形状を計測する方法として、特許文献１に示すような位相シフト法が知られている。この位相シフト法では、正弦波状の強度分布を持つ縞パターンを被計測物の表面に複数回投影して正弦波の位相を求め、その情報をもとに三次元形状を復元する。
【特許文献１】米国特許第６０７５６０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、位相シフト法による三次元形状の計測では、位相のパターンを除いて複数の画像をそれぞれ同じ条件で撮影することが前提となる。そのため、例えば、外部の照明環境の変化や三次元形状計測装置の異常などの外乱によって、複数の画像のいずれかに異常が生じると測定の精度が大幅に低減する。一方、位相シフト法で撮影された個々の画像のみから上記の異常の有無を判定することは非常に困難であるので、その改善がなお要請されていた。
【０００４】
そこで、本発明の目的は、位相シフト法による三次元形状の計測において、画像の異常出力点を判定する手段を提供することにある。
【課題を解決するための手段】
【０００５】
一の形態に係る三次元形状計測装置は、投影部と、撮像部と、演算部と、判定部とを備える。投影部は、輝度分布が正弦波状に変化するパターン光を測定対象物に照射する。撮像部は、投影部の投影方向と異なる方向から測定対象物に投影されたパターン光による像を撮像し、各画像間でパターン光の位相が互いにずれたｎ枚の画像からなる画像群を取得する。演算部は、ｎ枚の画像からnＣ3通りの画像組を抽出し、抽出した画像組毎から光源に依存するパラメータをそれぞれ求める。判定部は、画像組毎から求められた複数の光源に依存するパラメータ同士の整合性に基づいて、画像群のいずれかの画像に異常出力点が含まれるか否かを判定する。ｎは、４以上の整数である。
【０００６】
なお、上記の一の形態の三次元形状計測装置を三次元形状計測方法として表現したものや、上記の三次元形状計測方法をコンピュータに実行させるためプログラムやその記憶媒体も本発明の具体的態様として有効である。
【発明の効果】
【０００７】
本発明によれば、複数の画像組から求めたパラメータによって、画像の異常出力点を判定できる。
【発明を実施するための最良の形態】
【０００８】
図１は、一実施形態である三次元形状計測装置の構成例を示している。
【０００９】
三次元形状計測装置は、基準面上に測定対象物１１が載置されるステージ１２と、投影部１３と、撮像部１４と、ＣＰＵ１５と、記憶部１６と、モニタ１７と、入力部１８とを有している。ここで、投影部１３、撮像部１４、記憶部１６、モニタ１７および入力部１８はそれぞれＣＰＵ１５と接続されている。
【００１０】
投影部１３は、ステージ１２の基準面に対して光軸が斜めになるように配置されており、ステージ１２の測定対象物１１に向けてパターン光を投影する。この投影部１３は、光源２１と、照明光学系２２と、パターン形成部２３と、投影光学系２４とで構成されている。照明光学系２２は、光源２１からの照明光を光軸方向に偏光させる。パターン形成部２３は、照明光学系２２によって光軸方向と平行になった光束にパターンを付与する。このパターン形成部２３では、一方向に正弦波状の輝度変化をもつ縞模様（正弦格子）のパターン光を形成する。また、パターン形成部２３は、正弦格子の位相を投影部１３の光軸と垂直方向にシフトさせることが可能である。なお、パターン形成部２３で形成されたパターン光は、投影光学系２４を介してステージ１２上の測定対象物１１に照射されることとなる。
【００１１】
撮像部１４は、ステージ１２の基準面に対して光軸が垂直となるように配置されており、ステージ１２上の測定対象物１１に投影されたパターン光による像を撮像する。この撮像部１４は、測定対象物１１からの反射光を結像する結像光学系２５と、測定対象物１１の画像を撮像する撮像素子２６とを有している。
【００１２】
ＣＰＵ１５は、三次元形状計測装置の動作を統括的に制御するプロセッサである。例えば、ＣＰＵ１５は、プログラムに従って投影部１３および撮像部１４を動作させて、パターン光が重畳した測定対象物１１の画像を撮像する。また、ＣＰＵ１５は、複数の画像のデータを用いることで測定対象物１１の三次元形状を求める。
【００１３】
また、ＣＰＵ１５は、プログラムの実行によって演算部１５ａおよび判定部１５ｂとして機能する。ここで、演算部１５ａは、複数の画像の輝度変化に基づいて、撮像部１４の撮影範囲に対応する画面の各位置でのパラメータ（パターン光の振幅値、オフセット値、位相）を求める。また、判定部１５ｂは、演算部１５ａの求めたパラメータに基づいて、上記の画面内に異常出力点が含まれるか否かを判定する。
【００１４】
記憶部１６は、フラッシュメモリ等の不揮発性の記憶媒体で構成されている。記憶部１６には、撮像部１４の撮像した画像のデータや、ＣＰＵ１５が演算した後述の点群データを記憶できる。また、記憶部１６には、ＣＰＵ１５により実行されるプログラムが記憶されている。
【００１５】
モニタ１７には、ＣＰＵ１５の指示に応じて撮像部１４の撮像した画像などが表示される。また、入力部１８は、計測開始指示を含む各種の入力を受け付ける。
【００１６】
次に、本実施形態での位相シフト法による三次元形状の測定原理を簡単に説明する。なお、本実施形態では、４バケット法で測定対象物１１の形状を求める例を説明する。
【００１７】
本実施形態では、静止した測定対象物１１に正弦格子のパターン光を投影し、このパターン光の位相をπ／２ずつ移動させて測定対象物１１を４回撮像する。撮像された４フレームにおける座標（ｘ，ｙ）での輝度値（Ｉ1，Ｉ2，Ｉ3，Ｉ4）に着目すると、それらの相対的な明度差は必ずパターン光の位相差分の変化を示す。したがって、以下の式（１）によって、座標（ｘ，ｙ）での投影されたパターン光の位相αを求めることができる。
【００１８】
【数１】
0005352997.tif 000002
そして、画面内の各位置で位相αをそれぞれ求めた後に、位相αが等しい点を連結して等位相線を得る。この等位相線は、測定対象物１１を所定の平面で切断したときの断面形状を表している。そのため、投影部１３および撮像部１４の位置関係が既知であれば、三角測量の原理によって、この等位相線から測定対象物１１の各位置の高さを示す三次元的な距離画像のデータ（点群データ）を得ることができる。
【００１９】
ところで、上記の三次元形状の測定では、例えば、外部の照明環境の変化や三次元形状計測装置の異常などの外乱によって、輝度値（Ｉ1，Ｉ2，Ｉ3，Ｉ4）のいずれかに異常があると正しい位相を求めることができない。そのため、本実施形態では、以下の要領で画面内での異常出力点の判定を行う。以下、図２の流れ図を参照しつつ、本実施形態の三次元形状計測装置の動作例を説明する。
【００２０】
ステップＳ１０１：ＣＰＵ１５は、入力部１８からの計測開始指示に応じて、測定対象物１１にパターン光を照射して４フレームの画像群を取得する。このとき、ＣＰＵ１５は、４フレームでパターンの位相が一周期分移動するように、１フレームごとにパターン光の位相をπ／２移動させて測定対象物１１を撮像する。
【００２１】
ステップＳ１０２：ＣＰＵ１５は、４フレームの画像群（Ｓ１０１）の輝度値を用いて、上記の式（１）から画面内の各位置での位相αを求める。なお、Ｓ１０２で求めた画面内の各位置での位相αは、ＣＰＵ１５によって記憶部１６に記録される。
【００２２】
ステップＳ１０３：ＣＰＵ１５は、４フレームの画像群（Ｓ１０１）から３フレームを抽出して４つの異なる画像組を生成する。
【００２３】
ステップＳ１０４：ＣＰＵ１５は、４つの画像組（Ｓ１０３）のそれぞれにおいて、画像組に含まれる３フレームの画像を用いて光源に依存するパラメータ（パターン光の振幅値、パターン光のオフセット値、パターン光の位相）を求める。
【００２４】
一例として、第１フレーム、第２フレーム、第３フレームを含む画像組について、Ｓ１０４でのＣＰＵ１５は以下の要領で各パラメータの演算を行う。
【００２５】
ここで、第１フレーム、第２フレーム、第３フレームにおける座標（ｘ，ｙ）での輝度値Ｉ1，Ｉ2，Ｉ3は、それぞれ以下の式（２）のように示すことができる。
【００２６】
【数２】
0005352997.tif 000003
式（２）において、「ａ」はパターン光の振幅値を示している。また、「ｂ」はパターン光のオフセット値を示している。また、「φ」はパターン光の位相を示している。
【００２７】
そして、上記の式（２）をａ，ｂ，φについて解くと、式（３）のように変形できる。
【００２８】
【数３】
0005352997.tif 000004
そのため、ＣＰＵ１５は、第１フレームから第３フレームまでの座標（ｘ，ｙ）の輝度値Ｉ1，Ｉ2，Ｉ3を用いて式（３）を解くことで、画面内の座標（ｘ，ｙ）における各パラメータの値（パターン光の振幅値ａ、パターン光のオフセット値ｂ、パターン光の位相φ）を求める。勿論、ＣＰＵ１５は、同じ画像組における画面内の他の座標についても同様に各パラメータの値を求める。そして、上記の画像組から求めた各位置のパラメータの値は、ＣＰＵ１５によって記憶部１６に記録される。
【００２９】
なお、他の３つの画像組についても、式（２）および式（３）とほぼ同様の演算によって、ＣＰＵ１５は各パラメータの値をそれぞれ求める。
【００３０】
ステップＳ１０５：ＣＰＵ１５は、画像組ごとに求めた光源に依存するパラメータ（Ｓ１０４）を用いて、画面内の異常出力点を検出する。例えば、Ｓ１０５でのＣＰＵ１５は、以下の（Ａ）または（Ｂ）の処理によって画面内の異常出力点を検出する。なお、Ｓ１０５で検出された画面内の異常出力点の位置は、ＣＰＵ１５によって記憶部１６に記録される。
【００３１】
（Ａ）ＣＰＵ１５は、画面内の各位置において、４つの画像組から求めたパラメータ（ａ，ｂ，φ）を用いて分散値を求める。具体的には、画面内の座標（ｘ，ｙ）に着目すると、各画像組からａ，ｂ，φの値はそれぞれ１つずつ求められるので（Ｓ１０４）、座標（ｘ，ｙ）に対応するａ，ｂ，φの値は、それぞれ４つ存在することとなる。そのため、ＣＰＵ１５は、画面内の座標（ｘ，ｙ）について、４組のａ，ｂ，φの値からａ，ｂ，φの各分散値を求めることができる。
【００３２】
そして、ＣＰＵ１５は、上記のａ，ｂ，φのいずれかの分散値が閾値よりも大きい場合、画面内の座標（ｘ，ｙ）を異常出力点として検出する。すなわち、Ｓ１０１で撮像した４フレームのいずれにも異常がない場合には、４組のａ，ｂ，φの値はほぼ同じとなる。一方、Ｓ１０１で撮像した４フレームのいずれかに異常がある場合には、４組のａ，ｂ，φの値がばらつくため、ａ，ｂ，φの分散値が閾値を上回ることとなる。
【００３３】
（Ｂ）ＣＰＵ１５は、画面内の各位置において、４つの画像組から求めた位相φの平均値を求める。その後に、ＣＰＵ１５は、画面内の同じ位置における位相φの平均値とＳ１０２で求めた位相αとの差を求める。そして、ＣＰＵ１５は、上記の差が閾値よりも大きくなる画面内の位置を異常出力点として検出する。すなわち、Ｓ１０１で撮像した４フレームのいずれにも異常がない場合には、位相αの値と４つの位相φとの値はほぼ同じとなる。一方、Ｓ１０１で撮像した４フレームのいずれかに異常がある場合には、４つのφの値がばらつくため、位相φの平均と位相αとの差が閾値を上回ることとなる。
【００３４】
ステップＳ１０６：ＣＰＵ１５は、Ｓ１０５で異常出力点が検出されたか否かを判定する。上記要件を満たす場合（ＹＥＳ側）にはＳ１０７に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）にはＳ１０８に処理が移行する。
【００３５】
ステップＳ１０７：ＣＰＵ１５は、異常出力点の検出に伴う例外処理を実行する。具体的には、ＣＰＵ１５は、以下の（１）から（３）の少なくとも１つの処理を実行する。なお、ＣＰＵ１５は、Ｓ１０７の例外処理への移行に伴って、モニタ１７での表示やスピーカー（不図示）の音声によって外部へ警告を行うようにしてもよい。
【００３６】
（１）ＣＰＵ１５は、異常出力点の位置（Ｓ１０５）を示す判定結果データを生成する。一例として、ＣＰＵ１５は、画面内の異常出力点の座標を示すテキストデータや、画面内の異常出力点の位置分布を示す画像のデータを生成する。ＣＰＵ１５は、上記の判定結果データの記憶部１６への記録またはモニタ１７への表示を行う。
【００３７】
なお、判定結果データの生成後に、ＣＰＵ１５はＳ１０８の処理に移行してもよい（図２ではＳ１０８への移行の図示は省略する）。この場合には、ＣＰＵ１５は、最終的な点群データにおいて異常出力点のデータを欠落させるようにしてもよい。
【００３８】
（２）ＣＰＵ１５は、異常出力点の計測値をその周囲の計測値を用いて補間する。具体的には、ＣＰＵ１５は、異常出力点の位置（Ｓ１０５）に対応する座標（ｘ，ｙ）の輝度値（Ｉ1，Ｉ2，Ｉ3，Ｉ4）を、その周囲の画素の輝度値で補間する。そして、ＣＰＵ１５は、上記の補間後の輝度値を用いて、座標（ｘ，ｙ）の位相αを求める。その後、ＣＰＵ１５はＳ１０８の処理に移行する（図２ではＳ１０８への移行の図示は省略する）。
【００３９】
（３）ＣＰＵ１５は、投影部１３および撮像部１４に画像の再撮影を指示する。この場合、ＣＰＵ１５は、Ｓ１０１に移行して上記の動作を繰り返す（図２ではＳ１０１への移行の図示は省略する）。
【００４０】
ステップＳ１０８：ＣＰＵ１５は、画面内の各位置における位相α（Ｓ１０２）に基づいて、測定対象物１１の点群データを生成する。なお、Ｓ１０８で生成された点群データは、ＣＰＵ１５によって記憶部１６に記録される。以上で、図２の説明を終了する。
【００４１】
以下、本実施形態の作用効果を説明する。本実施形態の三次元形状計測装置では、パターン光の位相をずらす以外は同一の条件で撮像した４フレームの画像のうち、３フレームの画像から光源に依存するパラメータ（ａ，ｂ，φ）を求め、このパラメータの整合性をみることで画面内の異常出力点の有無を判定する。そのため、本実施形態の三次元形状計測装置では、信頼性の高い三次元計測のデータを得ることができる。
【００４２】
＜実施形態の補足事項＞
（１）上記実施形態では、撮影範囲の全体を対象として光源に依存するパラメータを求める例を説明したが、撮影範囲の一部を対象として光源に依存するパラメータを求めるようにしてもよい。このとき、光源に依存するパラメータを求める領域は、ＣＰＵ１５が画像を解析して自動的に設定してもよく、あるいはユーザーに範囲指定をさせて設定してもよい。
【００４３】
一例として、ＣＰＵ１５は、任意のフレームのうちでコントラストが閾値以下となる低コントラストの領域や、画像の輝度値が第１の輝度閾値以上となる高輝度領域や、画像の輝度値が第２の輝度閾値以下となる低輝度領域を抽出する。そして、ＣＰＵ１５は、これらの低コントラスト領域、高輝度領域、低輝度領域の少なくとも１つを対象として、上記の光源に依存するパラメータを求めてもよい。これにより、データの信頼性が低いと考えられる部分のみを演算対象とすることで、ＣＰＵ１５の演算負荷を軽減することができる。
【００４４】
また、上記の第１の輝度閾値や第２の輝度閾値は、撮像部１４への入射光量に対して出力される輝度レベルが線形性を有する範囲を基準として設定してもよい。換言すれば、撮像部１４の出力特性が高輝度側や低輝度側でニー領域を有する場合には、ＣＰＵ１５はニー領域に対応する輝度値を示す部分で光源に依存するパラメータを求めてもよい。さらに、ＣＰＵ１５は、上記の第１の輝度閾値や第２の輝度閾値を撮像部１４の出力特性の飽和レベルに合わせて、白とびや黒つぶれが生じている部分で光源に依存するパラメータを求めてもよい。
【００４５】
また、他の例として、ＣＰＵ１５は、撮像した画像をモニタ１７に表示し、光源に依存するパラメータを求める範囲指定の入力を入力部１８から受け付ける。そして、ＣＰＵ１５は、上記の範囲指定に対応する部分領域で光源に依存するパラメータを求める。これにより、ユーザーの経験からデータの信頼性が低いと考えられる部分のみを演算対象とすることで、ＣＰＵ１５の演算負荷を軽減することができる。また、ユーザーが画面のうちで測定対象物１１の外縁を指定すれば、測定対象物１１の撮影されていない部分を演算対象から除外することもできる。なお、図３に、上記の範囲指定のときの表示画面の例を模式的に示す。
【００４６】
（２）上記実施形態では４バケット法の場合について説明したが、本発明は、位相シフト法による三次元形状の計測で４フレーム以上の撮像を行う多バケット法の場合にも当然に適用できる。このとき、ｎフレームから任意の３フレームの画像組を抽出する組み合わせはnＣ3通りあるが、ＣＰＵ１５はこれらの画像組のそれぞれで光源に依存するパラメータ（ａ，ｂ，φ）を演算し、画像組間でパラメータの整合性を確認すればよい。
【００４７】
（３）上記実施形態では、ＣＰＵ１５がプログラムによって演算部１５ａおよび判定部１５ｂの機能をソフトウエア的に実現する例を説明したが、これらの構成をＡＳＩＣによってハードウエア的に実現しても勿論かまわない。
【００４８】
（４）なお、上記実施形態で記憶部１６に記憶されているプログラムは、バージョンアップなどで更新されたファームウエアプログラムであってもよい。すなわち、既存の三次元形状計測装置のファームウエアプログラムを更新することで、本実施形態の三次元形状計測装置の機能を提供するようにしてもよい。
【００４９】
なお、本発明は、その精神またはその主要な特徴から逸脱することなく他の様々な形で実施することができる。そのため、上述した実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明は、特許請求の範囲によって示されるものであって、本発明は明細書本文にはなんら拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内である。
【図面の簡単な説明】
【００５０】
【図１】三次元形状計測装置の構成例を示す図
【図２】本実施形態の三次元形状計測装置の動作例を示す流れ図
【図３】範囲指定のときの表示画面の例を示す模式図
【符号の説明】
【００５１】
１１…測定対象物、１３…投影部、１４…撮像部、１５…ＣＰＵ、１６…記憶部、１７…
モニタ、１８…入力部
【図１】
0005352997.tif 000005
【図２】
0005352997.tif 000006
【図３】
0005352997.tif 000007