(57)【特許請求の範囲】
【請求項１】
計測対象物に少なくとも１つまたは複数の投影方向からパターンを投影する投影手段と、
前記計測対象物を少なくとも１つまたは複数の視点から撮像することにより少なくとも１つまたは複数の撮像画像を得る撮像手段と、
前記撮像画像から、前記計測対象物に投影された前記パターンの像位置を取得する取得手段と、
前記取得手段により取得された前記パターンの像位置と前記計測対象物の内部散乱を表すモデルとに基づいて、前記計測対象物の内部散乱を表すパラメータセットを決定する決定手段と、
前記取得手段により取得された前記パターンの像位置と、前記決定手段により決定された前記パラメータセットに基づき推定される前記パターンの像位置とに基づいて、前記計測対象物の表面の三次元座標を算出する算出手段と、を備え、
前記決定手段は、予め保持されるパラメータセットに基づいて得られるパターンの像位置と、前記取得手段により取得された前記パターンの像位置に基づいて、前記予め保持されるパラメータセットのパラメータを調整することにより、前記パラメータセットを決定することを特徴とする三次元計測装置。
【請求項２】
前記決定手段は、予め保持されるパラメータセットに基づいて、前記少なくとも１つまたは複数の視点から撮像手段によって観察される前記少なくとも１つまたは複数の投影方向から投影されるパターンの像位置を取得し、前記取得手段により得られた像位置と、前記パラメータセットに基づいて得られた像位置とに基づいて前記パラメータセットの各パラメータを調整することを特徴とする請求項１に記載の三次元計測装置。
【請求項３】
前記決定手段は、前記予め保持されるパラメータセットに基づいて前記パターンの散乱状態を描画することにより得られた画像から前記パターンの像位置を取得することを特徴とする請求項２に記載の三次元計測装置。
【請求項４】
前記決定手段は、少なくとも２つ以上の視点と少なくとも２つ以上の投影方向のいずれかまたは両方において、前記取得手段により取得された像位置と前記パラメータセットに基づいて得られた像位置との差が所定の閾値内となるように前記パラメータのセットの各パラメータを調整することを特徴とする請求項２または３に記載の三次元計測装置。
【請求項５】
前記予め保持されるパラメータのセットは、前記計測対象物の表面位置における面の向きのパラメータを含むことを特徴とする請求項１乃至４のいずれか１項に記載の三次元計測装置。
【請求項６】
前記少なくとも１つまたは複数の視点を構成する視点の数、または前記少なくとも１つまたは複数の投影方向を構成する投影方向の数、または前記視点の数と前記投影方向の数の積は、前記決定手段で調整されるパラメータの数以上であることを特徴とする請求項１乃至５のいずれか１項に記載の三次元計測装置。
【請求項７】
前記計測対象物の散乱特性のパラメータを記憶した記憶手段をさらに備え、
前記決定手段は、前記記憶手段から読み出した前記散乱特性のパラメータを用いて、前記予め保持されるパラメータセットのうち前記散乱特性のパラメータ以外のパラメータを調整することにより、前記パラメータセットを決定することを特徴とする請求項１乃至５のいずれか１項に記載の三次元計測装置。
【請求項８】
前記決定手段は、パラメータの調整において、前記計測対象物の表面で反射した鏡面反射成分の影響が強い撮像画像を散乱特性のパラメータ調整の対象から除外することを特徴とする請求項１乃至５、７のいずれか１項に記載の三次元計測装置。
【請求項９】
前記決定手段は、前記鏡面反射成分の影響が強い撮像画像において、輝度値が所定値より高いハイライトが観測される場合には、前記計測対象物の物体表面での反射を用いて、散乱成分の影響を無視して前記パラメータセットの一部を決定することを特徴とする請求項８に記載の三次元計測装置。
【請求項１０】
前記算出手段は、前記少なくとも１つまたは複数の撮像画像のそれぞれから算出された前記計測対象物の表面位置が所定の大きさの範囲内にある場合には、前記少なくとも１つまたは複数の撮像画像の少なくとも何れかに基づいて前記計測対象物の表面の三次元座標を算出することを特徴とする請求項１乃至９のいずれか１項に記載の三次元計測装置。
【請求項１１】
前記算出手段は、前記少なくとも１つまたは複数の投影方向のそれぞれから算出された前記計測対象物の表面位置が所定の大きさの範囲内にある場合には、前記少なくとも１つまたは複数の投影方向の少なくとも何れかに基づいて前記計測対象物の表面の三次元座標を算出することを特徴とする請求項１乃至１０のいずれか１項に記載の三次元計測装置。
【請求項１２】
前記撮像手段は、複数の視点のそれぞれに配置された複数の撮像装置を有することを特徴とする請求項１乃至１１のいずれか１項に記載の三次元計測装置。
【請求項１３】
前記撮像手段は、複数の視点のそれぞれに撮像装置を移動して前記計測対象物を撮像することを特徴とする請求項１乃至１１のいずれか１項に記載の三次元計測装置。
【請求項１４】
前記投影手段は、複数の投影方向のそれぞれに配置された複数の投影装置を有することを特徴とする請求項１乃至１３のいずれか１項に記載の三次元計測装置。
【請求項１５】
前記投影手段は、複数の投影方向のそれぞれに投影装置を移動して前記計測対象物にパターンを投影することを特徴とする請求項１乃至１３のいずれか１項に記載の三次元計測装置。
【請求項１６】
計測対象物に少なくとも１つまたは複数の投影方向からパターンを投影する投影工程と、
前記計測対象物を少なくとも１つまたは複数の視点から撮像することにより少なくとも１つまたは複数の撮像画像を得る撮像工程と、
前記撮像画像から、前記計測対象物に投影された前記パターンの像位置を取得する取得工程と、
前記取得工程で取得された前記パターンの像位置と前記計測対象物の内部散乱を表すモデルとに基づいて、前記計測対象物の内部散乱を表すパラメータセットを決定する決定工程と、
前記取得工程により取得された前記パターンの像位置と、前記決定工程で決定された前記パラメータセットに基づき推定される前記パターンの像位置とに基づいて、前記計測対象物の表面の三次元座標を算出する算出工程と、を有し、
前記決定工程では、予め保持されるパラメータセットに基づいて得られるパターンの像位置と、前記取得工程で取得された前記パターンの像位置に基づいて、前記予め保持されるパラメータセットのパラメータを調整することにより、前記パラメータセットを決定することを特徴とする三次元計測装置の制御方法。
【請求項１７】
請求項１６に記載された制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象の三次元座標を計測する三次元計測装置およびその制御方法に関する。
【背景技術】
【０００２】
パターン光をプロジェクターなどの投影装置によって計測対象物に投影し、その反射光が撮像装置で観測された位置をもとに三角測量の原理によって三次元座標を求める三次元計測装置が広く知られている。この種の三次元計測装置の代表的な三次元計測手法としては、光切断法や空間符号化法などがあげられる。このような三次元計測装置では、以下に説明するように、三次元座標の計測精度が計測対象物の材質に大きく依存してしまう。
【０００３】
たとえば、一般的に、プラスチック等の材質で製造された計測対象物においては、パターン光の表面下散乱あるいは内部散乱と呼ばれる現象によって、計測精度の悪化や、そもそも計測自体が不能になる等の問題が発生していた。したがって、そのような計測対象物を三次元計測する場合には、白色のパウダー等を計測対象物の表面に事前に塗布するなどの処置が要求され、三次元計測装置の適用範囲を制限する要因となっていた。
【０００４】
一般に、上述のような内部散乱の影響を補正する方法として、次のような方法が用いられている。特許文献１及び特許文献２では、予め計測対象物と同様の散乱特性（内部散乱（表面下散乱）特性）を持つ物体を計測したデータを用いて、内部散乱の影響によって推定される奥行き値がどのように変化するかをテーブル化しておくことが開示されている。計測対象物を三次元計測する際には、そのテーブルを用いて奥行き値を補正することで、半透明を含む被計測物の三次元形状を正確に計測することを可能にしている。また、特許文献３では、偏光板を用いて物体表面で反射する直接反射光成分と、半透明物体の内部で散乱した内部散乱成分とを分離することによって、内部散乱の影響を除去して三次元計測を行う方法が開示されている。特許文献３によれば、内部散乱成分が除去された直接反射光成分を用いることにより、半透明を含む被計測物の三次元形状を正確に計測することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２５１８９３号公報
【特許文献２】特開２０１３−０１９８９０号公報
【特許文献３】特開２００８−２８１３３９号公報
【非特許文献】
【０００６】
【非特許文献１】Donner, C. et al. “An Empirical BSSRDFModel”, ACMTransactions on Graphics, vol. 28, No. 3, 2009
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１〜２では、いずれも、撮像装置により単一の視点から撮像することにより得られた撮像画像から取得される計測値を、計測対象物と同じ散乱特性を有する物体について予め取得しておいた補正情報により補正している。そのため、被計測物と同じ散乱特性を持つ参照物体を準備し、予め他の手段を用いて詳細な計測をしておく必要があるうえに、補正により期待できる計測精度の向上にも限界がある。また、一般に、投影装置と撮像装置の位置と計測対象物の面の向きなどの幾何的な関係によって直接反射光成分がほとんど観測されない面の向きが存在し、さらに、計測対象物の透過率などの半透明度合いによっては直接反射光成分がほとんど観測されない場合がある。したがって特許文献３による方法では、このように直接反射光が観測されない場合には三次元計測を行うことができなくなる。したがって、特許文献３に開示されているような直接反射光成分に基づく計測では、材質等によって少なからず扱えない計測対象物が存在する。
【０００８】
本発明は、以上の課題を鑑みてなされたものであり、計測対象物のより正確な三次元計測を実行できる三次元計測装置およびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するための本発明の一態様による三次元計測装置は、以下の構成を備える。すなわち、
計測対象物に少なくとも１つまたは複数の投影方向からパターンを投影する投影手段と、
前記計測対象物を少なくとも１つまたは複数の視点から撮像することにより少なくとも１つまたは複数の撮像画像を得る撮像手段と、
前記撮像画像から、前記計測対象物に投影された前記パターンの像位置を取得する取得手段と、
前記取得手段により取得された前記パターンの像位置と前記計測対象物の内部散乱を表すモデルとに基づいて、前記計測対象物の内部散乱を表すパラメータセットを決定する決定手段と、
前記取得手段により取得された前記パターンの像位置と、前記決定手段により決定された前記パラメータセットに基づき推定される前記パターンの像位置とに基づいて、前記計測対象物の表面の三次元座標を算出する算出手段と、を備え、
前記決定手段は、予め保持されるパラメータセットに基づいて得られるパターンの像位置と、前記取得手段により取得された前記パターンの像位置に基づいて、前記予め保持されるパラメータセットのパラメータを調整することにより、前記パラメータセットを決定する。
【発明の効果】
【００１０】
本発明によれば、複数の視点から得られた撮像画像を用いて計測対象物の表面の三次元座標を算出することが可能になり、より正確な三次元計測を実現できる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態による三次元計測装置の構成例を示す図。
【図２】第１実施形態に係る三次元計測装置の機能ブロック図。
【図３】第１実施形態に係る表面下散乱の現象を説明する図。
【図４】第１実施形態に係る処理の流れを示すフローチャート。
【図５】ピーク位置の検出方法を示す図。
【図６】第１実施形態に係る表面位置の三次元座標の算出に必要となる物理量（パラメータ）を示す図。
【図７】第１実施形態に係る表面位置算出の処理を示すフローチャート。
【図８】第１実施形態に係る面の向きの初期値の求め方を示す図。
【図９】第２実施形態に係る三次元計測装置の機能ブロック図。
【図１０】第３実施形態に係る三次元計測装置の機能ブロック図。
【図１１】第３実施形態に係る処理の流れを示すフローチャート。
【図１２】第３実施形態に係る表面位置算出の処理を示すフローチャート。
【図１３】鏡面反射成分が観測される様子を示す図。
【図１４】第４実施形態による三次元計測装置の構成例を示す図。
【図１５】第４実施形態に係る三次元計測装置の機能ブロック図。
【図１６】第４実施形態に係る表面下散乱の現象を説明する図。
【図１７】投影装置からスポット光を走査した時に撮像装置から見えるピーク位置を示した図。
【図１８】第４実施形態に係る処理の流れを示すフローチャート。
【図１９】あるピーク位置に対応する各投影部とその光線方向を示す図。
【図２０】第４実施形態に係る表面位置の三次元座標の算出に必要となる物理量（パラメータ）を示す図。
【図２１】第４実施形態に係る表面位置算出の処理を示すフローチャート。
【図２２】第４実施形態に係る面の向きの初期値の求め方を示す図。
【発明を実施するための形態】
【００１２】
以下、添付の図面を参照して本発明の好適な実施形態のいくつかを説明する。
【００１３】
［第１実施形態］
第１実施形態の三次元計測装置は、被計測物にレーザ光源からスリット光を投影し、複数のカメラで複数の視点からその様子を観測し、光源と各カメラ（各視点）の対応関係を求める。そして、複数の視点から得られた対応関係を基に、計測対象物表面におけるスリット光の表面位置、面の向き、散乱特性に関するパラメータを含むパラメータセットを決定することにより、計測対象物の表面の三次元座標、すなわち三次元形状計測を実現する。
【００１４】
図１は、第１実施形態による三次元計測装置の構成例を示した図である。１００は三次元計測装置であり、計測対象物の三次元形状を計測する。１０１は投影装置、１０２ａ〜１０２ｅは撮像装置、１０３は制御装置、１０４は計測対象物である。かかる構成を有する三次元計測装置１００において、投影装置１０１は、後述するパターン光を計測対象物１０４に投影する。パターン光は計測対象物１０４の表面で反射または内部で散乱し、撮像装置１０２ａ〜１０２ｅによって撮像される。撮像装置１０２ａ〜１０２ｅのそれぞれの投影装置１０１に対する相対的な位置姿勢は既知である。撮像装置１０２ａ〜１０２ｅが撮像した画像（撮像画像）は制御装置１０３に送られる。制御装置１０３は、内部に備えるコンピュータおよび電気回路によって、投影装置１０１および撮像装置１０２ａ〜１０２ｅの動作を制御する。
【００１５】
図２は、第１実施形態に係る三次元計測装置１００の機能構成例を示す機能ブロック図である。投影部２０１は、投影装置１０１を駆動して、投影パターン生成部２０４によって生成されたパターン光を、計測対象物１０４を含む計測空間に投影する。なお、投影の制御は制御部２０３から送出される投影制御信号を投影部２０１が受信することにより行われる。投影部２０１の機能は投影装置１０１によって実現される。
【００１６】
撮像部２０２ａ〜２０２ｅは、計測対象物１０４を含む計測空間を複数の視点から撮像することにより複数の撮像画像を得る撮像機能を実現する。たとえば、撮像部２０２ａ〜２０２ｅは、制御部２０３から送出される撮像制御信号を受信し、そのタイミングに基づき、あらかじめ指定されたシャッター速度、絞り、焦点位置で撮像装置１０２ａ〜１０２ｅを駆動して計測空間を撮像する。なお、撮像部２０２ａ〜２０２ｅに送出される撮像制御信号は全ての撮像部で必ずしも同期が取られている必要はなく、投影部２０１が投影するスリット光の向き（位置）が同じ状態で、各撮像装置から複数の撮像画像が取得されればよい。
【００１７】
撮像装置１０２ａ〜１０２ｅにより撮像された画像群は、撮像部２０２ａ〜２０２ｅを介して画像入力部２０６へと送られる。撮像部２０２ａ〜２０２ｅの機能は撮像装置１０２ａ〜１０２ｅによって実現される。本実施形態では、複数の視点として５つの視点を例示し、５つの撮像装置があるものとして説明を行うが、その数は５に限るものではない。また、必ずしも複数の視点に対応した数の撮像装置が必要ではなく、１つの撮像装置をロボットハンドの先端に取り付ける等して位置姿勢を制御しながら移動させて複数の視点からの撮影を行ってもよい。あるいは、計測対象物１０４と投影部２０１を相対的に固定して回転テーブル等を用いて計測対象物の方を動かすことで多視点撮影と同じ結果を得るようにしてもよい。
【００１８】
投影パターン生成部２０４は、撮像部２０２ａ〜２０２ｅで撮影された画像上での位置と投影部２０１で投影された光の位置との対応関係を求めるために必要なパターンを生成する。本実施形態では光切断法で用いられるスリット光を投影するものとして以下の説明を行う。ただし、パターン光はそのようなスリット光に限られるものではなく、構造化光、スポット光、グレイコードのような空間分割パターン画像等、周知の三次元計測用のパターン光を用いることができる。
【００１９】
パラメータ記憶部２０５は、三次元計測の実行に必要な各種パラメータを保持する。パラメータには、投影部２０１や撮像部２０２ａ〜２０２ｅを制御するための設定や較正データなどが含まれる。なお、パラメータ記憶部２０５の機能は制御装置１０３によって実現される。画像入力部２０６は、撮像部２０２ａ〜２０２ｅによって撮像された複数の撮像画像を受信し、不図示のメモリ領域にこれらを保持する。なお、撮像部２０２ａ〜２０２ｅのそれぞれは向きが異なるスリット光を計測対象物１０４に照射した複数の画像を撮像する。そのため、画像入力部２０６は、撮像部２０２ａ〜２０２ｅのそれぞれから順次に各スリット光に対応した撮像画像を入力し、メモリ領域に追加していく。画像入力部２０６はメモリ領域に保持されている撮像画像群を画像処理部２０７へと出力する。画像入力部２０６の機能は制御装置１０３によって実現される。
【００２０】
画像処理部２０７は、撮像部２０２ａ〜２０２ｅにより得られた撮像画像を画像入力部２０６から受信し、必要な画像処理を行うことにより、複数の視点の各々の撮像画像から計測対象物１０４に投影されたパターン光の像位置を取得する。画像処理部２０７が行う画像処理は、主として、スリット光の像位置としてのピーク位置の検出、ピーク位置を検出しやすくするための撮像画像の平滑化処理などを含む。画像処理部２０７の機能は制御装置１０３によって実現される。表面位置算出部２０８は、各視点についてスリット光の投影方向と画像ピーク位置の組を画像処理部２０７から受け取り、投影部２０１と撮像部２０２ａ〜２０２ｅの各較正データをパラメータ記憶部２０５から受け取る。そして、表面位置算出部２０８は、これらの情報に基づいて計測対象物１０４の正確な三次元座標を算出し、これを結果出力部２０９に送出する。
【００２１】
結果出力部２０９は、表面位置算出部２０８によって算出された計測対象物１０４の三次元座標を出力する。出力先としては、制御装置１０３に接続されたディスプレイ装置や他のコンピュータ、補助記憶装置などが含まれる。本実施形態では結果出力部２０９の機能は制御装置１０３によって実現される。
【００２２】
第１実施形態の表面位置算出部２０８では、
・計測対象物１０４の散乱特性と計測対象物１０４の表面位置のパラメータを含むパラメータセットに基づいて、たとえばシミュレーションにより、パターン光の像位置を取得し、
・画像処理部２０７により取得されたパターン光の像位置（本実施形態ではピーク位置）と、パラメータセットに基づいて取得されたパターン光の像位置とに基づいて各パラメータを調整し、パラメータセットを決定する、
ことにより、計測対象物１０４の表面の三次元座標を算出する。
【００２３】
より具体的には、表面位置算出部２０８は、
・パラメータセットの各パラメータに基づいて得られるパターン光の散乱状態に基づいて複数の視点の各々から観察されるパターン光の像位置（ピーク位置）を取得し、
・撮像画像から得られた像位置と散乱状態に基づいて得られた像位置とに基づいてパラメータセットを構成するパラメータを調整して、パラメータセットを決定し、
・決定されたパラメータセットに含まれる表面位置に基づいて三次元座標を算出する、
という処理を行う。ここで、散乱状態に基づく像位置の取得は、たとえば、パラメータセットにしたがって散乱状態を描画することにより得られた画像からパターン光の像位置（本実施形態ではピーク位置）を取得することで実現され得る。以下、計測時に計測対象物１０４の表面付近で起こる反射や表面下散乱による現象と、その現象を基にして表面位置算出部２０８がパターン光の散乱状態を判定（描画）し、計測対象物１０４の表面位置（三次元座標）を求める原理について説明する。
【００２４】
図３は、計測対象物１０４における表面下散乱の現象を示している。まず、図３を参照して、投影装置１０１から投影光が投影された計測対象物１０４が撮像装置１０２ａ〜１０２ｅによりどのように観測されるのかについて説明する。投影装置１０１から計測対象物１０４の表面位置３１１に照射されたスリット光３０１のうち、一部は反射光（不図示）として物体表面で反射され、一部は物体内部に入り込み散乱する（表面下散乱）。内部に入り込んだ光は物質内の媒体等に衝突しながら複雑に反射を繰り返し、散乱光として観測される。このような物質特有の散乱光の振る舞いを、その物質の散乱特性と呼ぶ。例えば散乱特性の違いによって、明るく見える領域の分布が異なったり、光の進行方向に対して異方的や等方的に散乱する度合いも異なったりする。３３１は半透明物体の内部において散乱によって明るく観測されるローブ状の領域を表している。
【００２５】
３０２ａ〜３０２ｅは撮像装置１０２ａ〜１０２ｅにより撮影された撮像画像に基づいて得られる観測光のピーク位置の方向を示しており、３１２ａ〜３１２ｅは計測対象物１０４の表面における観測光のピーク位置を示している。このように、各撮像装置から観測されるピーク位置は表面下散乱の影響により、その視点位置に応じて異なってくる。そのため、これらのピーク位置を基にして推定される三次元座標は、計測対象物１０４の物体表面の三次元位置を表すものにはならない。３２１はスリット光３０１の計測対象物１０４の内部における延長線である。３２２ａ〜３２２ｅは、それぞれ撮像装置１０２ａ〜１０２ｅに対応する見かけ上の三次元計測位置を表している。これら三次元計測位置３２２ａ〜３２２ｅは三角測量によって、スリット光３０１及びその延長線３２１と、撮像装置１０２ａ〜１０２ｅの撮像画像から得られる観測光のピーク位置方向との交点として求められる。このように、撮像画像から得られたピーク位置から物体表面の三次元座標を求める場合、推定される三次元位置は観測方向によって異なる。
【００２６】
次に、表面下散乱の影響を受けて、計測対象物１０４の物体表面で視点によって異なる位置に観測されるピーク位置から計測対象物１０４の表面位置を求める原理について説明する。
【００２７】
三次元計測装置１００において、投影装置１０１がある方向にスリット光を照射した時、撮像装置１０２ａ〜１０２ｅにおいて観測されるピーク位置は、計測対象物１０４の物体表面の位置と面の向き、散乱特性に依存して決まる。つまり、計測対象物１０４の物体表面の位置と面の向き、散乱特性を変数として与えて、ＣＧで使われるレンダリングや物理シミュレータを用いた散乱光の再現を行えば、観測されるピーク位置を求めることができる。正しい変数が与えられた場合に散乱光の再現を行うと、再現されるピーク位置は実際に観測されるピーク位置（撮像画像から得られるピーク位置）と等しくなるはずである。このようにピーク位置が等しくなった時の変数は、計測したい物体表面の位置を正しく表しているため、再現されるピーク位置が実際に観測されるピーク位置と等しくなるように変数（パラメータ）を求める問題を解けばよい。さらに、同時に求められる変数によって、面の向きと散乱特性を求めることができる。その求め方については、図４、図７のフローチャートの参照により後述する。なお、実際に、半透明物体において物体表面で反射する反射成分の影響は表面下散乱の観測光に比べて無視できるほど小さいことが多いため、問題にならない場合がほとんどである。したがって、本実施形態では、散乱特性に応じた反射光の影響を考慮しない構成を例示する。
【００２８】
次に、図４を用いて以上のような構成を有する三次元計測装置１００による三次元計測処理の流れを説明する。まず、装置が起動されると、ステップＳ４００において、初期化処理が行われる。ステップＳ４００の初期化処理には、投影部２０１および撮像部２０２ａ〜２０２ｅの起動処理や、投影部２０１と撮像部２０２ａ〜２０２ｅの較正データを含む各種パラメータをパラメータ記憶部２０５に読み込み格納する処理などが含まれる。
【００２９】
ステップＳ４０１において、投影パターン生成部２０４はスリット光を投影する方向（投影方向）を決め、投影パターンを投影部２０１へ送出する。ステップＳ４０２において、投影部２０１はスリット光を計測対象物１０４に向けて投影する。撮像部２０２ａ〜２０２ｅはスリット光が投影された計測対象物１０４の画像を撮像し、画像入力部２０６は撮像により得られた画像を撮像画像として保持する。ステップＳ４０３において、画像処理部２０７は、スリット光が計測対象物１０４に投影され、撮像部２０２ａ〜２０２ｅで撮像した各画像（すなわち画像入力部２０６が保持した撮像画像）から、ピーク位置の検出を行う。
【００３０】
図５を用いてピーク位置の検出方法について説明する。図５（Ａ）は、計測対象物１０４にスリット光が投影されている様子を表している。図５（Ａ）の横破線領域に対応する画素位置と、その画素の輝度値をグラフに表したのが図５（Ｂ）である。画像処理部２０７では、このスリット光の強度分布に対して、図５（Ｃ）に示すように、例えば平滑化処理を行った後でガウスフィッティングを行うことによって、ピーク位置を検出する。検出されたピーク位置の座標は、その時のスリット光の投影方向と関連付けて保持される。
【００３１】
図４に戻り、ステップＳ４０４において、表面位置算出部２０８は、光線方向と、ステップＳ４０３において検出された撮像ピーク位置の座標との組から、計測対象物１０４の散乱特性に基づいて表面位置の三次元座標を算出する。三次元座標の算出方法については、後で詳しく述べる。続いて、ステップＳ４０５において、ユーザが指示した三次元計測を行う領域の計測を終了したか判定し、終了していれば本実施形態における三次元計測処理を終了する。未終了の計測領域があれば、処理はステップＳ４０１に戻り、上述した処理が繰り返される。
【００３２】
図６を用いて、計測対象物１０４の表面位置の三次元座標を算出するために必要となる物理量とそのパラメータについて説明する。説明を簡単にするために、本実施形態では計測対象物１０４が局所的な領域では平面で構成されているものとする。ただし、形状の表現は平面に限るものではなく、ベジエ曲面やＢスプライン曲面、陰関数表現などによって曲面をパラメータ化してもよい。
【００３３】
投影装置１０１内部に原点を取る座標系を考え、投影装置１０１からｉ番目のスリット光がベクトルｌiの方向に投影された時、表面位置３１１での三次元位置であるベクトルｘiは、
【数１】
0006614905.tif 000002
で表され、その位置における面の向きは
【数２】
0006614905.tif 000003
散乱特性は
【数３】
0006614905.tif 000004
で表される。
【００３４】
ただし、ｔは投影装置１０１からの距離を表すパラメータ、ｐ、ｑは−１から１までの値をとるパラメータ、σsは散乱係数、σaは吸収係数、ｇは異方性の度合いを表す異方性パラメータ、ηは相対屈折率、αはアルベドを表している。［数３］に示される散乱特性の式の中身については、たとえば非特許文献１と同様のものを用いることができ、詳細な説明は省略する。非特許文献１によれば［数３］のように近似可能である。本実施形態では、非特許文献１に記載されたレンダリング方法を用いて、撮像装置１０２ａ〜１０２ｅから観測される散乱の様子をレンダリング（描画）した画像を生成し、輝度のピーク位置を求める。このピーク位置と撮像装置１０２ａ〜１０２ｅで実際に観測されたピーク位置３１２ａ〜３１２ｅとが等しくなる時のパラメータを求めれば、パラメータｔから入射表面位置での三次元位置（ベクトルｘi）を求めることができる。
【００３５】
レンダリング時に必要となる形状及び散乱特性に関するパラメータセットはｔ，ｐ，ｑ，α、ｇ、ηの６つのパラメータを含むが、この局所領域内においてアルベドαは一定であると仮定すると、ピーク位置はαの値には依存しなくなる。そのためαは適当な値を用いてよく、αを除いた５つが未知のパラメータである。ただし、パラメータはこれら５つのパラメータに限るものではなく、たとえば、非特許文献１のモデルとは異なる散乱特性モデルを用いたり、物理シミュレータによって求めたりした場合には、変数となるパラメータの数が変わることもありうる。さらに、撮像装置の数に関しては、パラメータの総数が増えれば、計算上必要な撮像手段の数も増える。本実施形態では5つの視点（５台の撮像装置）を用いているが、散乱特性のモデルによっては、必要な視点の数（撮像装置の数）も変化する。一般にパラメータの数が増加すれば必要となる視点（撮像装置）の数も増加する。すなわち、視点（撮像装置）の数は、散乱特性を示すモデルのパラメータの数に対して正の相関を持つ。好ましくは、複数の視点を構成する視点（撮像装置）の数は、図７に示した処理により調整され、決定されるパラメータの数以上である。
【００３６】
次に、図７のフローチャートを参照しながら、ステップＳ４０４における表面位置の三次元座標の算出方法について詳しく述べる。表面位置算出部２０８は、好ましくは複数の視点の全てについて、ステップＳ４０３で取得された撮像画像におけるパターン光の像位置と、シミュレーションによるパターン光の散乱状態から得られた像位置との差が所定の閾値内となるように各パラメータを決定する。そして、表面位置算出部２０８は、決定されたパラメータセットに基づいて計測対象物１０４の表面位置の三次元座標を算出する。ただし、視点によっては外乱の影響によってノイズと見なされるデータが取得される場合もあるため、必ずしも全ての視点で差が所定の閾値内となる必要はない。その場合、ノイズとして外れ値と見なされるデータを除いて全ての視点で差が所定の閾値内となっていればよい。
【００３７】
まず、ステップＳ７０１において、上述した５つのパラメータの初期化処理が行われる。初期値の求め方の一例を以下に説明する。まず、三次元位置（ベクトルｘi）は撮像装置１０２ａ〜１０２ｅのいずれかにより得られた撮像画像におけるピーク位置と対応するスリット光の光線方向から、見かけの三次元位置を算出し、この三次元位置から求まるパラメータｔを初期値とする。この三次元位置は図３の３２２ａ〜３２２ｅに示すように、計測対象物の正しい表面位置よりも奥に沈み込んだ点として求められる。
【００３８】
次に、面の向きを与えるパラメータｐ、ｑの初期値について説明する。図８に示すように、撮像画像における見かけ上の照射領域が広いほど正面から照射領域を観測していると考えられる。そこで、撮像装置１０２ａ〜１０２ｅで観測されるスリット光のうち、スリット光が最も太く観測される撮像装置の配置してある方向を面の向きの初期値として定義し、この面の向きを与えるパラメータｐ、ｑを初期値とする。図８の例では撮像装置１０２ｄに向かう方向が面の向きである。
【００３９】
散乱特性の異方性パラメータｇと相対屈折率ηの初期値は、例えばプラスチックの場合、異方性パラメータｇが０．６〜０．９、相対屈折率ηが１．４〜１．６の値を取ることが知られているので、その範囲内で適当な値を選んで初期値とする。ただし、初期値の決め方は上記方法に限るものではない。例えば、面の向きの初期値は、周囲の点の見かけの三次元座標を算出してそれらの点の主成分分析を行い、第三主成分を面の向きとするなどしてもよい。
【００４０】
ステップＳ７０２において、与えられたパラメータを基にピーク位置の算出を行う。三次元位置、面の向き、散乱特性パラメータが与えられると、レンダリング技術や物理シミュレータを用いて、投影部２０１から照射されたスリット光に関わるピーク位置が撮像部２０２ａ〜２０２ｅにおいてどこに観測されるのかを求めることができる。本実施形態では非特許文献１に開示されたレンダリング法を用いてレンダリングを行い、各撮像部で得られた画像に対して、ステップＳ４０３と同様の処理によってピーク位置を算出する。
【００４１】
次に、ステップＳ７０３において、ステップＳ４０３で検出された各撮像部により得られた画像におけるピーク位置と、ステップＳ７０２で算出された各撮像部におけるピーク位置との比較を行う。ｉ番目のスリット光を撮像部ｊで観測した実際のピーク位置をＰijobs、与えられた５つのパラメータからレンダリングして求めたピーク位置をＰij（ｔ，ｐ，ｑ，ｇ，η)とし、
【数４】
0006614905.tif 000005
によって、算出される両者のピーク位置の差が最小になるようにパラメータを調整する。そして［数４］の左辺の最小値が全ての撮像部ｊにおいて閾値Ｔ以下になっているかどうかを判定する。
【００４２】
ステップＳ７０４において、ステップＳ７０３の判定の結果、外れ値を除く全てのｊで閾値Ｔ以下であれば処理を終了する。そうでなければ、処理はステップＳ７０５へ進む。
【００４３】
ステップＳ７０５において、ｔ，ｐ，ｑ，ｇ，ηの５つのパラメータの修正を行う。修正方法としては、たとえば次のような方法を用いることができる。ある１つのパラメータ、たとえばｔのみを微小変化させ、残り４つのパラメータは固定してレンダリングを行い検出されたピーク位置をＰij(ｔ＋Δ，ｐ，ｑ，ｇ，η)として［数４］の左辺を最小化する。ニュートン法を用いて最小化を行う際のｔの修正値ｔnewは
【数５】
0006614905.tif 000006
によって求まる。
【００４４】
次はパラメータｐのみを微小変化させ、残りの４つのパラメータを固定して同様の処理を行う。このように、１つのパラメータのみを微小変化させ、残り４つのパラメータは固定して処理を繰り返し行うことで、各撮像装置から得られる［数４］の左辺の式がＴより小さくなる（［数４］を満たす）まで５つのパラメータを修正する。ただし、修正方法としては、上述のようにパラメータを微小変化させてレンダリングした画像を使う方法に限られるものではない。例えば散乱特性がより単純なモデル式を用いて表せるような場合、パラメータを変数として解析的にピーク位置を数式化して求めてもよい。
【００４５】
以上のようにして、ｉ番目のスリット光について表面位置が算出されるとともに、面の向き及び散乱特性に関するパラメータも算出される。
【００４６】
以上述べたように、第１実施形態によれば、スリット光を投影して各撮像部で観測されるピーク位置と、計測対象物の表面位置、面の向き、散乱特性をパラメータとしてシミュレーションによって算出されるピーク位置とが比較される。そして、この比較により、正確なパラメータを求めることにより、計測対象物の散乱特性が未知であっても、計測対象物の正確な表面位置を求めることを可能としている。上述した特許文献１及び特許文献２による方法では、被計測物と同じ散乱特性を持つ参照物体を準備し、予め詳細な計測をしておく必要がある。そのため、特許文献１及び特許文献２による方法は、対象物体の材質が限定されるような用途でなければ必ずしも実用的な方法ではない。これに対して、第１実施形態による三次元計測装置では、計測対象物と同じ散乱特性を持つ参照物体を用いた事前の計測が不要となり、計測対象物の形状、幾何配置、直接反射光成分の大きさに関わらず、より正確な三次元計測を実現できる。さらに面の向きと散乱特性のパラメータも求められる。なお、本実施形態では、計測対象物の反射光成分が少なく内部散乱の影響が大きい半透明な材質の物体に対して特に効果が大きい。
【００４７】
［第２実施形態］
第２実施形態では、事前に計測対象物の散乱特性に関する情報が既知であることを利用して、第１実施形態で述べたパラメータを形状に関するパラメータｔ，ｐ，ｑの３つを調整対象とする。これにより、第１実施形態による計測よりも必要な撮像装置（視点）の数を減らし、より少ない計算量でより安定的に三次元計測を行う。以下、第２実施形態について、主として第１実施形態と異なる部分について詳細に説明する。
【００４８】
第２実施形態における三次元計測装置１００の構成例は図１（第１実施形態）で示したものと同様である。ただし、第２実施形態では、必要な撮像装置の数は３であるため、撮像装置１０２ａ〜１０２ｃを用いるものとし、他の撮像装置は省略されてもよい。
【００４９】
図９は第２実施形態に係る三次元形状計測装置の機能ブロック図である。第１実施形態におけるブロック図である図２と比較すると散乱特性記憶部２１０が追加されている。そこで、同様の部分に関しては説明を省略し、違いのある散乱特性記憶部２１０について説明する。
【００５０】
散乱特性記憶部２１０は計測対象物１０４の散乱特性に関する情報を記憶しており、表面位置算出部２０８でシミュレーションを行いピークの位置を算出する際に、反射散乱の振る舞いを定義するために用いる。散乱特性に関する情報とは、第１実施形態で用いた散乱特性モデルの異方性パラメータｇと相対屈折率ηの２つのパラメータの値である。また、各計測対象物の材質ごとに散乱特性モデルの異方性パラメータｇと相対屈折率ηを記録したテーブルを保持し、計測対象物の材質に応じてユーザが選択できるようにしてもよい。また、散乱特性に関する情報はこの例に限らず、例えば計測対象物と同じ散乱特性を持つ参照物体を用いて、予め姿勢を変えながらピークの位置を観測したデータをテーブルとして保持していてもよい。散乱特性記憶部２１０の機能は制御装置１０３によって実現される。また、計測対象物の材質と一致する散乱特性に関する情報が散乱特性記憶部２１０に保持されていない場合には、第１実施形態と同様に５つの視点からの撮像画像を用いて５つのパラメータを調整するように処理を切り替える構成としてもよい。
【００５１】
第２実施形態における三次元計測処理の流れは第１実施形態（図４）と同様である。また、表面位置の算出方法の処理についても、第１実施形態（図７）と同様であるが、第１実施形態に比べてパラメータの数が少なくなっているため、ステップＳ７０１とステップＳ７０５の処理について説明する。
【００５２】
ステップＳ７０１におけるパラメータの初期化処理では、三次元位置を表すｔと面の向きを表すｐ、ｑの合計３つのパラメータについて初期化を行う。これらの初期化方法については第１実施形態において上述したとおりである。また、計測対象物１０４の散乱特性については、散乱特性記憶部２１０から計測対象物１０４の既知の散乱特性パラメータ（ｇ、η）を読み込んで設定する。ステップＳ７０５におけるパラメータの修正では、三次元位置と面の向きの３つのパラメータ（ｔ、ｐ、ｑ）の修正を行う。修正方法は第１実施形態と同様であり、１つのパラメータのみを微小変化させ、残り２つのパラメータは固定して処理を繰り返し、［数４］を満たすまで３つのパラメータを修正する。
【００５３】
以上述べたように、第２実施形態によれば、散乱特性を既知とすることによって、パラメータセットの散乱特性のパラメータ以外のパラメータを調整するようにした。これにより、撮像装置の数（視点の数）を３つにまで減らし、高速かつ安定に三次元計測を行うことができる。または、撮像装置の数（視点の数）を３よりも多くした場合は、ステップＳ７０３のピーク位置の評価を行う時に、制約条件を増やすことができるため、より安定的にパラメータを求めることができる。
【００５４】
［第３実施形態］
第３実施形態では、計測対象物の三次元形状計測を行う際に、表面下散乱の有無を判定することによって、材質に応じて処理を変える。これにより、半透明物体と不透明物体が混在する計測対象物であっても正確な三次元形状計測を実現することができる。以下、第３実施形態について、主として第１実施形態と異なる部分について詳しく説明する。
【００５５】
第３実施形態における三次元計測装置１００の構成例は、第１実施形態（図１）と同様である。図１０は第３実施形態に係る三次元計測装置１００の機能ブロック図である。第１実施形態の機能構成（図２）と比較すると、表面下散乱判定部２１１が追加されている点が異なる。
【００５６】
表面下散乱判定部２１１は、画像処理部２０７から投影方向と画像ピーク位置の組を取得し、パラメータ記憶部２０５から投影装置１０１と撮像装置１０２ａ〜１０２ｅの各較正データを取得する。そして、注目している計測点における表面下散乱の有無を判定し、その判定結果を表面位置算出部２０８に送出する。具体的な処理の内容については、フローチャートを用いて後で説明する。なお、表面下散乱判定部２１１の機能は制御装置１０３によって実現される。
【００５７】
図１１は第３実施形態における三次元形状計測装置の処理の流れを示すフローチャートである。図１１において、第１実施形態と同様の処理には図４と同一のステップ番号を付してある。第３実施形態では、図４のステップＳ４０４の処理に代えて、ステップＳ１１００、Ｓ１１０１の処理が実行される。以下、ステップＳ１１００、Ｓ１１０１（表面下散乱の有無を判定し、計測方法を切り替える処理）について詳しく説明する。
【００５８】
ステップＳ１１００において、表面下散乱判定部２１１は、ステップＳ４０３で検出された各撮像部におけるピーク位置を用いて表面下散乱の有無を判定する。より具体的には、表面下散乱判定部２１１は、パラメータ記憶部２０５から投影部２０１と撮像部２０２ａ〜２０２ｅの各較正データを受け取り、較正データを用いて各撮像部で得られた撮像画像におけるピーク位置を同じ座標系で表し、比較する。この時、各撮像部におけるピーク位置の差がユーザの指定する閾値以下あるいは予め設定された閾値以下であれば、各ピーク位置は一致していると見なし、表面下散乱は無いと判定する。なぜなら、ピーク位置が一致するということは、各撮像部では計測対象物１０４の表面位置で反射した直接反射光を観測していると考えられるからである。逆に、ピーク位置の差に閾値を越えるものがあれば、各ピーク位置は表面下散乱の影響を受けてずれていると見なし、表面下散乱有りと判定する。
【００５９】
続くステップＳ１１０１の表面位置の算出では、表面下散乱の有無に応じて処理を変える。図１２は、第３実施形態による表面位置の算出処理（ステップＳ１１０１）を示すフローチャートである。まず、ステップＳ１２０１において、ステップＳ１１０１で判定した表面下散乱の有無に応じて処理の流れを分岐する。表面下散乱が有る場合は、ステップＳ７０１に進み、第１実施形態で説明した処理（図７のステップＳ７０１〜Ｓ７０５の処理）を行う。他方、ステップＳ１１００で表面下散乱が無いと判定された場合は、処理はステップＳ１２０１からステップＳ１２０２に進む。ステップＳ１２０２において、表面位置算出部２０８は、ピーク位置に対して三角測量に基づいて三次元座標を求め、これを表面位置とする。すなわち、複数の撮像画像の少なくとも何れかに基づいて計測対象物の表面の三次元座標が算出される。三次元座標の算出のために複数の撮像画像の少なくとも何れかを用いる方法としては、たとえば、
・投影装置に最も近い撮像装置を用いる、
・投影装置からのスリット光の正反射方向に最も近い方向に位置する撮像装置を用いる、
・複数の撮像画像から得られるピーク位置のうち最も輝度が高いピーク位置を用いる、
などが挙げあれる。また、複数の撮像画像から得られる複数のピーク位置の平均を用いるようにしてもよい。
【００６０】
以上述べたように、第３実施形態によれば、表面下散乱の有無に応じて異なる手順で表面位置が算出される。第３実施形態によれば、半透明物体と不透明物体が混在するような計測対象物や半透明物体か不透明物体か事前に分かっていない計測対象物に対して、散乱特性（表面下散乱の有無）に応じて適応的に処理を変えることができる。そのため、より正確な三次元計測を実現できる。なお、上記第３実施形態を第１実施形態に表面下散乱判定部２１１を追加した構成で説明したが、第２実施形態に表面下散乱判定部２１１を追加した構成としてもよいことは言うまでもない。
【００６１】
［第４実施形態］
第４実施形態の三次元計測装置は、複数のレーザ光源からスポット光またはスリット光などのパターンを投影し、１台のカメラからその様子を観測し、各光源の光線方向とカメラの像位置との対応関係を求める。そして、複数の投影方向から得られた対応関係を基に、計測対象物表面における観測位置、面の向き、散乱特性に関するパラメータを含むパラメータセットを決定することにより、計測対象物の表面の三次元座標、すなわち三次元形状計測を実現する。
【００６２】
図１４は、第４実施形態による三次元計測装置の構成例を示した図である。５００は三次元計測装置であり、計測対象物の三次元形状を計測する。５０１ａ〜５０１ｅは投影装置、５０２は撮像装置、５０３は制御装置、５０４は計測対象物である。かかる構成を有する三次元計測装置５００において、投影装置５０１ａ〜５０１ｅは、後述するパターン光を計測対象物５０４に投影する。パターン光は計測対象物５０４の表面で反射または内部で散乱し、撮像装置５０２によって撮像される。撮像装置５０２と投影装置５０１ａ〜５０１ｅそれぞれとの相対的な位置姿勢は既知である。撮像装置５０２が撮像した画像（撮像画像）は制御装置５０３に送られる。制御装置５０３は、内部に備えるコンピュータおよび電気回路によって、投影装置５０１ａ〜５０１ｅおよび撮像装置５０２の動作を制御する。
【００６３】
図１５は、第４実施形態に係る三次元計測装置５００の機能構成例を示す機能ブロック図である。投影部６０１ａ〜６０１ｅは、投影装置５０１ａ〜５０１ｅを駆動して、投影パターン生成部６０４によって生成されたパターン光を、計測対象物５０４を含む計測空間に投影する。なお、投影の制御は制御部６０３から送出される投影制御信号を投影部６０１ａ〜６０１ｅが受信することにより行われる。投影部６０１ａ〜６０１ｅの機能は投影装置５０１ａ〜５０１ｅによって実現される。なお、投影部６０１ａ〜６０１ｅに送出される投影制御信号は全ての投影部で同期が取られている必要はない。撮像部６０２が撮像する計測範囲内で投影部６０１ａ〜６０１ｅがそれぞれ投影可能な範囲をパターン光で走査して、撮像装置からパターン光で走査している様子を撮像できればよい。
【００６４】
撮像部６０２は、計測対象物５０４を含む計測空間をある視点から撮像することにより撮像画像を得る撮像機能を実現する。たとえば、撮像部６０２は、制御部６０３から送出される撮像制御信号を受信し、そのタイミングに基づき、あらかじめ指定されたシャッター速度、絞り、焦点位置で撮像装置５０２を駆動して計測空間を撮像する。撮像装置５０２により撮像された画像は、撮像部６０２を介して画像入力部６０６へと送られる。撮像部６０２の機能は撮像装置５０２によって実現される。
【００６５】
本実施形態では、複数の投影方向として５つの投影方向を例示し、５つの投影装置があるものとして説明を行うが、その数は５に限るものではない。また、必ずしも複数の投影方向に対応した数の投影装置が必要ではなく、１つの投影装置をロボットハンドの先端に取り付ける等して位置姿勢を制御しながら移動させて複数の投影方向からの投影を行ってもよい。あるいは、計測対象物５０４と撮像部６０２を相対的に固定して回転テーブル等を用いて計測対象物の方を動かすことで多方向投影と同じ結果を得るようにしてもよい。
【００６６】
投影パターン生成部６０４は、撮像部６０２で撮影された画像上での位置と投影部６０１ａ〜６０１ｅで投影された光線方向との対応関係を求めるために必要なパターンを生成する。本実施形態ではスポット光を走査して投影するものとして以下の説明を行う。ただし、パターン光はそのようなスポット光に限られるものではなく、構造化光、スリット光、グレイコードのような空間分割パターン画像等、周知の三次元計測用のパターン光を用いることができる。また、投影パターン生成部６０４で生成される投影部６０１ａ〜６０１ｅそれぞれへの各パターンは、撮像後にそれぞれを分離できるパターンである。例えば、５つの投影部６０１ａ〜６０１ｅに対して、それぞれ波長の異なるパターン光を用いることで、各投影部６０１ａ〜６０１ｅからのパターン光を分離できるようにする。この場合、たとえば、撮像画像における色で各投影部６０１ａ〜６０１ｅからのパターン光を分離してもよいし、撮像部６０２の前に設けたバンドパスフィルタの透過する波長帯域を切り替えることでパターン光を分離してもよい。また、各投影部６０１ａ〜６０１ｅから投影するタイミングをずらすことによって、時系列にパターン光を投影することで、パターン光を分離してパターン光の相互の影響を排除してもよい。
【００６７】
パラメータ記憶部６０５は、三次元計測の実行に必要な各種パラメータを保持する。パラメータには、投影部６０１ａ〜６０１ｅや撮像部６０２を制御するための設定や較正データなどが含まれる。なお、パラメータ記憶部６０５の機能は制御装置５０３によって実現される。画像入力部６０６は、撮像部６０２によって撮像された撮像画像を受信し、不図示のメモリ領域にこれらを保持する。なお、撮像部６０２は異なる投影方向から撮像走査して、スポット光が照射された計測対象物５０４を複数の画像として撮像する。画像入力部６０６は、撮像部６０２から順次撮像画像を入力し、メモリ領域に追加していく。画像入力部６０６はメモリ領域に保持されている撮像画像群を画像処理部６０７へと出力する。画像入力部６０６の機能は制御装置５０３によって実現され得る。
【００６８】
画像処理部６０７は、撮像部６０２により得られた撮像画像を画像入力部６０６から受信し、必要な画像処理を行うことにより、複数の投影方向の各々の走査パターンで計測対象物５０４に投影されたパターン光の像位置を取得する。画像処理部６０７が行う画像処理は、主として、それぞれの投影方向からの影響の分離、スポット光の光線方向に対応する撮像画像上のピーク位置の検出、ピーク位置を検出しやすくするための撮像画像の平滑化処理などを含む。画像処理部６０７の機能は制御装置５０３によって実現される。表面位置算出部６０８は、各投影方向に対してスポット光の走査位置と画像ピーク位置の組を画像処理部６０７から受け取り、投影部６０１ａ〜６０１ｅと撮像部６０２の各較正データをパラメータ記憶部６０５から受け取る。そして、表面位置算出部６０８は、これらの情報に基づいて計測対象物５０４の正確な三次元座標を算出し、これを結果出力部６０９に送出する。
【００６９】
結果出力部６０９は、表面位置算出部６０８によって算出された計測対象物５０４の三次元座標を出力する。出力先としては、制御装置５０３に接続されたディスプレイ装置や他のコンピュータ、補助記憶装置などが含まれる。本実施形態では結果出力部６０９の機能は制御装置５０３によって実現される。
【００７０】
第４実施形態の表面位置算出部６０８では、
・計測対象物５０４の散乱特性と計測対象物５０４の表面位置のパラメータを含むパラメータセットに基づいて、たとえばシミュレーションにより、パターン光の像位置を取得し、
・画像処理部６０７により取得されたパターン光の像位置（本実施形態ではピーク位置）と、パラメータセットに基づいて取得されたパターン光の像位置とに基づいて各パラメータを調整し、パラメータセットを決定する、
ことにより、計測対象物５０４の表面の三次元座標を算出する。
【００７１】
より具体的には、表面位置算出部６０８は、
・パラメータセットの各パラメータに基づいて得られるパターン光の散乱状態に基づいて複数の投影方向の各々から投影されるパターン光の像位置（ピーク位置）を取得し、
・撮像画像から得られた像位置と散乱状態に基づいて得られた像位置とに基づいてパラメータセットを構成するパラメータを調整して、パラメータセットを決定し、
・決定されたパラメータセットに含まれる表面位置に基づいて三次元座標を算出する、という処理を行う。ここで、散乱状態に基づく像位置の取得は、たとえば、パラメータセットにしたがって散乱状態を描画することにより得られた画像からパターン光の像位置（本実施形態ではピーク位置）を取得することで実現され得る。以下、計測時に計測対象物５０４の表面付近で起こる反射や表面下散乱による現象と、その現象を基にして表面位置算出部６０８がパターン光の散乱状態を判定（描画）し、計測対象物５０４の表面位置（三次元座標）を求める原理について説明する。
【００７２】
図１６は、計測対象物５０４における複数の投影による表面下散乱の現象を示している。まず、図１６を参照して、投影装置５０１ａ〜５０１ｅから投影光が投影された計測対象物５０４が撮像装置５０２によりどのように観測されるのかについて説明する。投影装置５０１ａ〜５０１ｅから計測対象物５０４に照射されたスポット光７０１ａ〜７０１ｅは第１実施形態で述べたように、一部は反射光として物体表面で反射され、一部は物体内部に入り込み散乱する。内部に入り込んだ光は物質内の媒体等に衝突しながら複雑に反射を繰り返し、散乱光として観測される。そのため、散乱特性の違いによって、明るく見える領域の分布が異なったり、光の進行方向に対して異方的や等方的に散乱する度合いが異なったりする。７１１ａ〜７１１ｅは半透明物体の内部において散乱によって明るく観測されるローブ状の領域を表している。本実施形態では、既に述べた方法によって、各投影装置からのパターン光の影響を分離できるものとする。次に、各投影装置からの影響を分離した上で、各投影装置からスポット光を投影した時の光線方向と撮像装置で検出されるピークとの対応関係について説明する。
【００７３】
図１７は投影装置５０１ａからスポット光を走査した時に撮像装置５０２から見えるピーク位置を示した図である。投影装置５０１ａからスポット光を時系列に走査した時の光線方向７０１ａ１〜７０１ａ３に対して、計測対象物５０４の内部で散乱によって明るく観測されるローブ状の領域を７１１ａ１〜７１１ａ３で示している。一方、撮像装置５０２から各光線方向７０１ａ１〜７０１ａ３に対応して最も明るく観測されるピーク位置の撮像光線方向を７０２１〜７０２３で表す。７２１ａ１〜７２１ａ３はスポット光の光線方向とピークが観測される方向から導かれる見かけ上の奥行き位置を示しており、次に示す正しい奥行き位置とは異なる位置に観測される。一方、撮像光線方向を７０２１〜７０２３に対して、正しい奥行き位置として観測されるべき位置を７３１ａ１〜７３１ａ３で示している。このように、表面位置算出部６０８は、投影装置５０１ａから投影される光線方向７０１ａ１〜７０１ａ３と撮像装置５０２から見かけ上のピーク位置が観測される撮像光線方向を示す７０２１〜７０２３の対応関係を求める。そして、これを複数の投影装置５０１ａ〜５０１ｅに対して行うことによって、それらの対応関係を利用して正しい奥行き位置を求めて三次元計測を行う。
【００７４】
次に、表面下散乱の影響を受けて、撮像光線方向において観測される見かけ上のピーク位置から計測対象物５０４の表面位置を求める原理について説明する。
【００７５】
ここで、撮像装置５０２のある画素方向の画素（注目画素）でピーク位置が検出される光線方向について考える。投影装置５０１ａ〜５０１ｅそれぞれにおいて投影されたスポット光によるピーク位置が注目画素で検出される光線方向は、計測対象物５０４の注目画素方向における物体表面の位置と面の向き、散乱特性に依存して決まる。逆に言えば、計測対象物５０４の物体表面の位置と面の向き、散乱特性を変数として与えて散乱光の再現を行えば、投影装置５０１ａ〜５０１ｅそれぞれから投影されるスポット光の光線方向に対して観測されるピーク位置を求めることができる。散乱光の再現には、たとえば、ＣＧで使われるレンダリングや物理シミュレータを用いることができる。異なる投影方向それぞれにおいて、撮像画像の注目画素にピークが検出された時と同じ光線方向のスポット光によって上述のような散乱光の再現を行うことを考える。この場合、正しい変数が与えられると、散乱光の再現により得られるピーク位置は注目画素である実際に観測されるピーク位置（撮像画像から得られるピーク位置）と等しくなるはずである。このようにピーク位置が等しくなった時の変数は、計測したい物体表面の位置を正しく表している。そこで、撮像画像の各画素において、再現されるピーク位置が実際に観測されるピーク位置と等しくなるように変数（パラメータ）を求めることで、物体表面の三次元形状を得ることができる。さらに、同時に求められる変数によって、面の向きと散乱特性を求めることができる。その求め方については、図１８、図２１のフローチャートの参照により後述する。
【００７６】
次に、図１８を用いて以上のような構成を有する三次元計測装置５００による三次元計測処理の流れを説明する。まず、装置が起動されると、ステップＳ１８００において、初期化処理が行われる。ステップＳ１８００の初期化処理には、投影部６０１ａ〜６０１ｅおよび撮像部６０２の起動処理や、投影部６０１ａ〜６０１ｅと撮像部６０２の較正データを含む各種パラメータをパラメータ記憶部６０５に読み込み格納する処理などが含まれる。
【００７７】
ステップＳ１８０１において、投影パターン生成部６０４は各投影部６０１ａ〜６０１ｅにおいてスポット光を投影する方向（光線方向）を決め、投影パターンを投影部６０１ａ〜６０１ｅへ送出する。ステップＳ１８０２において、投影部６０１ａ〜６０１ｅはスポット光を計測対象物５０４に向けて投影する。撮像部６０２はスポット光が投影された計測対象物５０４の画像を撮像し、画像入力部６０６は撮像により得られた画像を撮像画像として保持する。ステップＳ１８０３において、画像処理部６０７は、スポット光が計測対象物５０４に投影され、撮像部６０２で撮像した画像（すなわち画像入力部６０６が保持した撮像画像）から、異なる投影方向ごとにピーク位置の検出を行う。本実施形態では、投影部６０１ａ〜６０１ｅのそれぞれの投影方向ごとにピーク位置の検出が行われる。そして、スポット光の光線方向と検出したピーク位置との対応関係を求めておく。異なる投影方向ごとに分離する方法としては、既に説明したように、投影するスポット光の波長の違いを利用してもよいし、投影部６０１ａ〜６０１ｅで投影するタイミングをずらしながら撮像することで、異なる投影方向ごとに撮像画像を取得しておいてもよい。
【００７８】
ピーク位置の検出方法は第１実施形態の図５において、スリット光に対するピーク位置の検出方法について説明したが、スポット光においても、同様の処理でピーク位置を検出することができるため、説明を省略する。
【００７９】
図１８に戻り、ステップＳ１８０４において、各投影部６０１ａ〜６０１ｅから計測対象物５０４に投影可能なスポット光の走査が終了したかどうかを判定し、終了していればステップＳ１８０５に進む。未終了の走査領域があれば、処理はＳ１８０１に戻り、上述した処理が繰り返される。
【００８０】
ステップＳ１８０５において、表面位置算出部６０８は、まず、スポット光の光線方向と検出したピーク位置との対応関係の中から、検出されたピーク位置が等しいものに対して、各投影部６０１ａ〜６０１ｅとその光線方向を求める。そして、対応する各投影部６０１ａ〜６０１ｅとその光線方向の組から、計測対象物５０４の散乱特性に基づいて表面位置の三次元座標を算出する。三次元座標の算出方法の詳細については、後で図２０、図２１を用いて詳しく述べる。
【００８１】
図１９を用いて、ある検出されたピーク位置に対応する各投影部とその光線方向について説明する。撮像装置５０２で検出されたピーク位置が７０２の撮像光線方向であった場合、それに対応する各投影装置５０１ａ〜５０１ｅにおける光線方向はスポット光７０１ａ〜７０１ｅで表される。図１９のように、投影装置が５つの場合は、各ピーク位置に対して最大で５つの対応する光線方向が求められることになる。
【００８２】
図２０を用いて、計測対象物５０４の表面位置の三次元座標を算出するために必要となる物理量とそのパラメータについて説明する。説明を簡単にするために、本実施形態では計測対象物５０４が局所的な領域では平面で構成されているものとする。ただし、形状の表現は平面に限るものではなく、ベジエ曲面やＢスプライン曲面、陰関数表現などによって曲面をパラメータ化してもよい。その場合は曲面を構成するパラメータも求める必要があるため、より多くの対応関係が必要となる。
【００８３】
撮像装置５０２内部に原点を取る座標系を考え、撮像装置５０２から画素ｉ方向のベクトルをｃiとした時、表面位置７１２での三次元位置であるベクトルｘiは、
【数６】
0006614905.tif 000007
で表され、その位置における面の向き及び散乱特性は第１実施形態で示した［数２］、［数３］と同様である。
【００８４】
ただし、ｔは撮像装置５０２からの距離を表すパラメータであり、その他のパラメータは第１実施形態と同様であるため説明を省略する。本実施形態では、撮像装置５０２の画素ｉ方向に関連付けられた投影装置５０１ａ〜５０１ｅの光線方向（投影したスポット光が画素ｉでピーク位置となる光線方向）について観測される散乱の様子をレンダリング（描画）する。このレンダリングには、たとえば、非特許文献１に記載されたレンダリング方法を用いることができる。上記レンダリングにより得られた画像から、輝度のピーク位置を求め、このピーク位置と実際に観測されたピーク位置（画素ｉ）とが等しくなるパラメータを求めれば、パラメータｔから入射表面位置での三次元位置（ベクトルｘi）を求めることができる。
【００８５】
レンダリング時に必要となる形状及び散乱特性に関するパラメータセットの特性については第１実施形態で説明したものと同様であるため省略する。ただし、本実施形態では撮像装置ではなく投影装置の数が複数であるため、投影装置の数に関しては、パラメータの総数が増えれば、計算上必要な投影手段の数も増える。本実施形態では５つの投影方向（５台の投影装置）を用いているが、形状及び散乱特性のモデルによっては、必要な投影方向の数（投影装置の数）も変化する。一般にパラメータの数が増加すれば必要となる投影方向（投影装置）の数も増加する。すなわち、投影方向（投影装置）の数は、形状及び散乱特性を示すモデルのパラメータの数に対して正の相関を持つ。好ましくは、複数の投影方向を構成する投影方向（投影装置）の数は、図２１に示した処理により調整され、決定されるパラメータの数以上である。
【００８６】
次に、図２１のフローチャートを参照しながら、ステップＳ１８０５における表面位置の三次元座標の算出方法について詳しく述べる。表面位置算出部６０８は、ステップＳ１８０３で取得された撮像画像におけるパターン光の像位置と、シミュレーションによるパターン光の散乱状態から得られた像位置との差が所定の閾値内となるように各パラメータを決定する。複数の投影方向で関連付けられたすべての光線方向について、各パラメータの決定を行うことが好ましい。そして、表面位置算出部６０８は、決定されたパラメータセットに基づいて計測対象物５０４の表面位置の三次元座標を算出する。ただし、投影方向によっては遮蔽等の外乱の影響によってノイズと見なされるデータが取得される場合もあるため、必ずしも全ての関連付けられた光線方向で差が所定の閾値内となる必要はない。その場合、ノイズとして外れ値と見なされるデータを除いて全ての関連付けられた光線方向で差が所定の閾値内となっていればよい。
【００８７】
まず、ステップＳ２１０１において、上述した５つのパラメータの初期化処理が行われる。初期値の求め方の一例を以下に説明する。まず、三次元位置（ベクトルｘi）の初期値は投影装置５０１ａ〜５０１ｅのいずれかにより得られた撮像画像におけるピーク位置と対応するスポット光の光線方向から、見かけの三次元位置を算出し、この三次元位置から求まるパラメータｔを初期値とする。表面下散乱の影響によって、計測対象物の正しい表面位置よりも奥に沈み込んだ点として求められる。
【００８８】
次に、面の向きを与えるパラメータｐ、ｑの初期値について説明する。図２２に示すように、撮像画像において各投影部から散乱して観測される光の輝度が高いほど、計測対象物５０４に対して正面からスポット光を照射していると考えられる。そこで、投影装置５０１ａ〜５０１ｅから投影されるスポット光のうち、スポット光が最も明るく観測される投影装置に向かう方向を面の向きの初期値として定義し、この面の向きを与えるパラメータｐ、ｑを初期値とする。図２２の例では投影装置５０１ｄに向かう方向が面の向きである。
【００８９】
散乱特性の異方性パラメータｇと相対屈折率ηの初期値は、例えばプラスチックの場合、異方性パラメータｇが０．６〜０．９、相対屈折率ηが１．４〜１．６の値を取ることが知られているので、その範囲内で適当な値を選んで初期値とする。ただし、初期値の決め方は上記方法に限るものではない。例えば、面の向きの初期値は、周囲の点の見かけの三次元座標を算出してそれらの点の主成分分析を行い、第三主成分を面の向きとするなどしてもよい。
【００９０】
ステップＳ２１０２において、与えられたパラメータを基にピーク位置の算出を行う。三次元位置、面の向き、散乱特性パラメータが与えられると、レンダリング技術や物理シミュレータにより、投影部６０１ａ〜６０１ｅの関連付けられた光線方向へのスポット光に関わるピーク位置が撮像部６０２によって観測される位置を求めることができる。上述のように、本実施形態では非特許文献１に開示されたレンダリング法を用いてレンダリングを行い、撮像部で得られた各投影部の影響に関する画像に対してピーク位置を算出する。
【００９１】
次に、ステップＳ２１０３において、ステップＳ１８０３で検出された各投影部の光線方向と関連付けた撮像画像におけるピーク位置である画素ｉと、ステップＳ２１０２で算出された各投影部の関連付けられた光線方向におけるピーク位置との比較を行う。投影部ｊの光線方向と関連付けられた画素ｉで観測した実際のピーク位置をＱijobs、与えられた５つのパラメータからレンダリングして求めたピーク位置をＱij（ｔ，ｐ，ｑ，ｇ，η)とし、
【数７】
0006614905.tif 000008
によって、算出される両者のピーク位置の差が最小になるようにパラメータを調整する。そして［数７］の左辺の最小値が全ての投影部ｊにおいて閾値Ｔ’以下になっているかどうかを判定する。
【００９２】
ステップＳ２１０４において、ステップＳ２１０３の判定の結果、外れ値を除く全てのｊで閾値Ｔ’以下であれば処理を終了する。そうでなければ、処理はステップＳ２１０５へ進む。
【００９３】
ステップＳ２１０５において、ｔ，ｐ，ｑ，ｇ，ηの５つのパラメータの修正を行う。修正方法としては、たとえば次のような方法を用いることができる。ある１つのパラメータ、たとえばｔのみを微小変化させ、残り４つのパラメータは固定してレンダリングを行い検出されたピーク位置をＱij（ｔ＋Δ，ｐ，ｑ，ｇ，η）として［数７］の左辺を最小化する。ニュートン法を用いて最小化を行う際のｔの修正値ｔnewは
【数８】
0006614905.tif 000009
によって求まる。
【００９４】
次はパラメータｐのみを微小変化させ、残りの４つのパラメータを固定して同様の処理を行う。このように、１つのパラメータのみを微小変化させ、残り４つのパラメータは固定して処理を繰り返し行うことで、各投影装置から得られる［数７］の左辺の式がT’より小さくなる（［数７］を満たす）まで５つのパラメータを修正する。ただし、修正方法としては、上述のようにパラメータを微小変化させてレンダリングした画像を使う方法に限られるものではない。例えば散乱特性がより単純なモデル式を用いて表せるような場合、パラメータを変数として解析的にピーク位置を数式化して求めてもよい。
【００９５】
以上のようにして、画素ｉについて表面位置が算出されるとともに、面の向き及び散乱特性に関するパラメータも算出される。
【００９６】
以上述べたように、第４実施形態によれば、各投影部からスポット光を投影して撮像部で観測されるピーク位置と、計測対象物の表面位置、面の向き、散乱特性をパラメータとしてシミュレーションによって算出されるピーク位置とが比較される。そして、この比較により、正確なパラメータを求めることにより、計測対象物の散乱特性が未知であっても、計測対象物の正確な表面位置を求めることを可能としている。
【００９７】
＜その他の実施形態＞
上述した第１、第２、第３実施形態いずれにおいても、投影部２０１から計測対象物１０４に投影された光の撮像部２０２ａ〜２０２ｅによる撮像では、表面下散乱の影響を受けるが、反射光成分は無視できるほど小さいことを仮定していた。しかし、計測対象物の物体表面に光沢がある場合には、正反射方向付近において鏡面反射成分が強く観測される。このような場合、撮像部２０２ａ〜２０２ｅから取得される撮像画像において検出されるピーク位置は、計測対象物の表面位置で反射した鏡面反射成分の影響を受ける。たとえば、図１３に示すように、鏡面反射成分は正反射方向で観測されるため、鏡面反射成分が観測される撮像部は高々１つである。そこで、光沢のある計測対象物１０４を計測する場合には、ステップＳ７０２及びステップＳ７０３でピーク位置の算出及び評価を行う際に、各撮像部についてパラメータにより特定される面方向について正反射方向付近にあるか否かを判定する。そして、正反射方向付近にあると判定された場合はその撮像部の撮像画像から得られたピーク位置を除外して算出及び評価を行うようにしてもよい。
【００９８】
具体的には、
・ｉ番目のスリット光が計測対象物１０４の表面位置に入射する方向の単位ベクトルをベクトルｌi、
・計測対象物１０４にスリット光が入射する位置における法線の単位ベクトルをベクトルｎi、
・入射した位置から撮像部ｊへ向かう単位ベクトルをｃij、とすると、
【数９】
0006614905.tif 000010
を満たすようなパラメータｐ、ｑを用いる場合には、撮像部ｊで観測されたピーク位置は除外して［数４］の判定を行う。
【００９９】
また、特に鏡面反射成分が強く、散乱成分である表面下散乱による影響を無視できるほどに強い鏡面反射成分（ハイライト）を観測できる場合がある。この場合には、正反射方向にある撮像部のピーク位置を計測対象物１０４における表面位置であるとして、三次元位置を推定するために用いても良い。例えば図１３において、投影装置１０１からｌiの方向にパターンを投影したとする。この状態で、撮像装置１０２ｅにおいてハイライトをｃij方向から観測した場合、ｌiとｃijの交点の位置を物体表面位置とし、成す角を半分に分割する方向を法線方向ｎiとして、ｔ、ｐ、ｑのパラメータを決定すればよい。強い鏡面反射成分であるか否かは、たとえばピーク位置における輝度値が所定値以上（たとえば２５６段階中の２５０以上）か否かにより判断することができる。以上述べたように、鏡面反射成分が観測される場合には正反射方向にある撮像部で観測されるピーク位置の処理を変更することによって、光沢のある計測対象物の三次元形状をより正確に計測することができる。
【０１００】
上述した第１、第４実施形態では、複数の撮像装置と１つの投影装置、または、１つの撮像装置と複数の投影装置を用いた構成を示した。第１、第４実施形態では、このような構成によって、撮像装置の光線と投影装置の光線の対応関係を求め、対応関係を満たすように形状及び散乱特性を表すパラメータを調整することによって三次元形状を求めた。同様の枠組みで考えれば、撮像装置の光線と投影装置の光線の対応関係が複数求まりさえすれば、形状及び散乱特性を表すパラメータを求めることができるため、複数の撮像装置と複数の投影装置による構成でも同様に三次元計測を行うことができる。
【０１０１】
具体的には、まず、複数の撮像装置と複数の投影装置において、第４の実施形態と同様に、それぞれの投影装置による影響を分離できるように各撮像装置で撮像を行う。そして、第１実施形態と同じ枠組みで解く場合には、図６のように投影装置を基準とした座標系を考え、各撮像装置における対応関係を［数４］を満たすようにパラメータ調整を行う。この時、投影装置は複数あるため、それぞれの投影装置に対して［数４］の条件式を求めることができる。また、第４実施形態と同じ枠組みで解く場合には、図２０のように撮像装置を基準とした座標系を考え、各投影装置における対応関係を［数７］を満たすようにパラメータ調整を行う。この場合も同様に、それぞれの撮像装置に対して［数７］の条件式を求めることができる。このように［数４］や［数７］に関する複数の条件式が得られる。パラメータは、どちらか一方の条件式を用いて決定されても良いし、それぞれから得られる複数の条件式を、同じ物体表面位置では同じ法線と同じ散乱特性を持つという拘束条件を追加した上で用いて決定されても良い。
【０１０２】
また、１つの撮像装置と１つの投影装置を用いて、どちらかまたは両方をロボットアーム等によって移動させながら計測を行うことによっても、複数の対応関係が求められる。よって、上述した複数の撮像装置と複数の投影装置を用いた場合と同様にして、三次元計測を行うことができる。
【０１０３】
以上説明したように、各実施形態によれば、半透明部分を含む計測対象にパターン光を照射したときに、散乱等の影響がある場合でも表面の反射位置を正確に求め、高精度な三次元計測を安定的に行うことが可能となる。三次元計測装置において、計測対象の内部散乱等の影響を補正し、計測精度を向上させることができる。
【０１０４】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１０５】
１００：三次元計測装置、１０１：投影装置、１０２ａ〜１０２ｅ：撮像装置、１０３：制御装置、１０４：計測対象物、２０１：投影部、２０２ａ〜２０２ｅ：撮像部、２０３：制御部、２０４：投影パターン生成部、２０５：パラメータ記憶部、２０６：画像入力部、２０７：画像処理部、２０８：表面位置算出部、２０９：結果出力部、２１０：散乱特性記憶部、２１１：表面下散乱判定部
【図１】
0006614905.tif 000011
【図２】
0006614905.tif 000012
【図３】
0006614905.tif 000013
【図４】
0006614905.tif 000014
【図５】
0006614905.tif 000015
【図６】
0006614905.tif 000016
【図７】
0006614905.tif 000017
【図８】
0006614905.tif 000018
【図９】
0006614905.tif 000019
【図１０】
0006614905.tif 000020
【図１１】
0006614905.tif 000021
【図１２】
0006614905.tif 000022
【図１３】
0006614905.tif 000023
【図１４】
0006614905.tif 000024
【図１５】
0006614905.tif 000025
【図１６】
0006614905.tif 000026
【図１７】
0006614905.tif 000027
【図１８】
0006614905.tif 000028
【図１９】
0006614905.tif 000029
【図２０】
0006614905.tif 000030
【図２１】
0006614905.tif 000031
【図２２】
0006614905.tif 000032