(57)【要約】【課題】複数のカメラ間やカメラとプロジェクタ間での煩雑なキャリブレーションを行うことなく、輝度変化が複雑な被写体においても簡便に被写体の３次元形状を測定する。【解決手段】露光制御部１１０は、被写体１０２と撮像素子１０４との相対位置を変化させながら、所定の時系列パターンで撮像素子１０４への露光及び遮光を切り替えて撮像素子１０４に被写体１０２を撮像させる。ブレ検出部１０６は、撮像素子１０４により撮像された被写体１０２の画像データ内のブレを検出する。奥行き計算部１０７は、検出されたブレに基づいて、被写体１０２の３次元形状を測定する。【選択図】図１
2012127742.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮像する撮像手段と、
前記被写体と前記撮像手段との相対位置を変化させながら、所定の時系列パターンで前記撮像手段への露光及び遮光を切り替えて前記撮像手段に前記被写体を撮像させる制御手段と、
前記撮像手段により撮像された前記被写体の画像データ内のブレを検出する検出手段と、
前記検出手段により検出されたブレに基づいて、前記被写体の３次元形状を測定する測定手段とを有することを特徴とする３次元形状測定装置。
【請求項２】
前記制御手段は、前記所定の時系列パターンでシャッタの開放及び閉鎖を切り替えることにより、前記所定の時系列パターンで前記撮像手段への露光及び遮光を切り替えることを特徴とする請求項１に記載の３次元形状測定装置。
【請求項３】
前記制御手段は、前記所定の時系列パターンで前記被写体に対する照明の点灯及び消灯を切り替えることにより、前記所定の時系列パターンで前記撮像手段への露光及び遮光を切り替えることを特徴とする請求項１に記載の３次元形状測定装置。
【請求項４】
３次元形状測定装置によって実行される３次元形状測定方法であって、
被写体と前記被写体を撮像する撮像手段との相対位置を変化させながら、所定の時系列パターンで前記撮像手段への露光及び遮光を切り替えて前記撮像手段に前記被写体を撮像させる制御ステップと、
前記撮像手段により撮像された前記被写体の画像データ内のブレを検出する検出ステップと、
前記検出ステップにより検出されたブレに基づいて、前記被写体の３次元形状を測定する測定ステップとを含むことを特徴とする３次元形状測定方法。
【請求項５】
被写体と前記被写体を撮像する撮像手段との相対位置を変化させながら、所定の時系列パターンで前記撮像手段への露光及び遮光を切り替えて前記撮像手段に前記被写体を撮像させる制御ステップと、
前記撮像手段により撮像された前記被写体の画像データ内のブレを検出する検出ステップと、
前記検出ステップにより検出されたブレに基づいて、前記被写体の３次元形状を測定する測定ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体の３次元形状を測定するための技術に関するものである。
【背景技術】
【０００２】
今日、様々な方式によって物体形状の測定を行う３次元形状測定装置が開発されている。代表的な３次元形状測定装置としては、複数のカメラをステレオ配置し、撮像された各画像データ間で生じた視差と、カメラ同士の位置関係とから三角測量の原理で計測を行うステレオ方式が広く用いられている。しかし、このステレオ方式は、カメラ間の位置関係や撮像素子の受光特性のバラツキを、高い精度で測定して校正を行う必要があり、事前準備が非常に煩雑である。
【０００３】
その他の３次元形状測定装置としては、カメラに対してオフセット配置されたプロジェクタから、特定の周期を持つパターン光を投影し、被写体表面に投影されたパターンの位相差から形状の計測を行う、位相シフト法と呼ばれる方法も広く用いられている。また、同様のプロジェクタから２値化されたパターン光を複数回投影することによって、被写体表面の３次元位置を一意に決定する空間符号化法も同様に用いられている。
【０００４】
しかし、これらのプロジェクタによるパターン光を用いる方法においても、ステレオ方式と同様に、パターン光を投影するプロジェクタとカメラ間の位置関係の厳密な校正が必要であり、事前準備は同じく煩雑である。
【０００５】
複数のカメラ間、もしくはカメラ−プロジェクタ間の厳密な校正が煩雑であるという課題に対して、単一のカメラのみによって簡便に３次元形状の計測を行う手法が提案されている。非特許文献１においては、カメラを露光時に直線運動させて、運動によって生じたブレ長からカメラと被写体との間の距離を計測し、形状を求める手法が開示されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】H. Y. Lin and C.H. Chang: "Depth from motion and defocus blur", Optical Enginnering, Vol.45, No.12, 2006
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１に開示される手法では、撮像された画像データ内の輝度のグラデーション的な変化をブレとして検出している。そのため、被写体の輝度変化が複雑で、複数のブレ同士が重なるような条件下では、正確に各々のブレ長を検出することが困難となる。
【０００８】
そこで、本発明の目的は、複数のカメラ間やカメラとプロジェクタ間での煩雑なキャリブレーションを行うことなく、輝度変化が複雑な被写体においても簡便に被写体の３次元形状を測定することにある。
【課題を解決するための手段】
【０００９】
本発明の３次元形状測定装置は、被写体を撮像する撮像手段と、前記被写体と前記撮像手段との相対位置を変化させながら、所定の時系列パターンで前記撮像手段への露光及び遮光を切り替えて前記撮像手段に前記被写体を撮像させる制御手段と、前記撮像手段により撮像された前記被写体の画像データ内のブレを検出する検出手段と、前記検出手段により検出されたブレに基づいて、前記被写体の３次元形状を測定する測定手段とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数のカメラ間やカメラとプロジェクタ間での煩雑なキャリブレーションを行うことなく、輝度変化が複雑な被写体においても簡便に被写体の３次元形状を測定することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態に係る３次元形状測定装置の構成を示す図である。
【図２】シャッタ時系列パターン関数Ｅ（ｘ）の例を示す図である。
【図３】ブレのない状態での被写体の画像データを示す図である。
【図４】画像データに対してシャッタ時系列パターン関数Ｅ（ｘ）によって横方向にブレを付加した場合と、常時開放状態となる通常のシャッタ時系列パターンで撮像した場合との画像データを示す図である。
【図５】本発明の第１の実施形態に係る３次元形状測定装置の動作を示すフローチャートである。
【図６】ステップＳ５１０におけるブレ検出処理の詳細を示すフローチャートである。
【図７】簡単な被写体として点光源を設定し、撮像装置を移動距離ｘfだけ光軸に直交する方向に平行移動させたときの様子を示す図である。
【図８】撮像装置の移動方向を被写体に対して円弧を描くようにした様子を示す図である。
【図９】撮像装置を直線ステージによって往復移動させる様子を示す図である。
【図１０】撮像装置を撮像レンズの光軸方向に対して平行な方向に移動させる様子を示す図である。
【図１１】本発明の第２の実施形態に係る３次元形状測定装置の構成を示す図である。
【図１２】本発明の第２の実施形態に係る３次元形状測定装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１３】
先ず、本発明の第１の実施形態について説明する。図１は、本発明の第１の実施形態に係る３次元形状測定装置の構成を示す図である。図１において、撮像装置１０１は、測定対象となる被写体１０２を撮像する。撮像装置１０１は、撮像光学系である撮像レンズ１０３を介して被写体１０２の投影像を撮像素子１０４で記録する。シャッタ１０５は、被写体１０２の投影像の撮像素子１０４への露光及び遮光を任意のタイミングで切り替える。図１において、シャッタ１０５は、撮像素子１０４の直前に配置されるフォーカルプレーンシャッタとしているが、撮像レンズ１０３に内蔵される形式のレンズシャッタ、もしくは撮像素子１０４の機能として実装されている電子シャッタ等を用いてもよい。ブレ検出部１０６は、撮像素子１０４で記録された画像データを取得し、画像データ内に存在するブレの位置を検出するとともに、そのブレ長を計測する。奥行き計算部１０７は、ブレ検出部１０６によって検出されたブレの位置及びブレ長から、撮像レンズ１０３と被写体１０２との間の奥行き、即ち被写体１０２の形状を計算する。直線ステージ１０８は、撮像装置１０１を直線移動させる相対位置制御手段であり、撮像される画像データにブレを生じさせる。直線ステージ１０８の内部には、撮像装置１０１の移動距離ｘを計測する位置変化計測手段であるエンコーダ１０９が搭載されている。
【００１４】
露光制御部１１０は、直線ステージ１０８を用いて撮像装置１０１を移動させ、移動中に後述する所定のシャッタ時系列パターンに従ってシャッタ１０５の制御を行い、撮像素子１０４の画像データの記録期間中に露光及び遮光を切り替える。シャッタ時系列パターン保持部１１１は、露光制御部１１０がシャッタ１０５の露光及び遮光を時系列で切り替えるための所定のシャッタ時系列パターンを保持している。シャッタ時系列パターンは撮像装置１０１の原点からの位置ｘを入力として、露光時の出力を１、遮光時の出力を０とする関数Ｅ（ｘ）（０≦ｘ≦ｘf）で表される。本実施形態におけるシャッタ時系列パターンは、撮像される画像データにおいて、重畳したブレ同士の中から正確に１つのブレを検出するために、ブレを符号化する関数として作用する。そのため、関数Ｅ（ｘ）は以下の式１、式２で示されるように、自己相関関数がインパルス状のδ関数に近い形状を持つと同時に、任意の関数Ａ（ｘ）との相互相関関数が０に近い性質を持つ必要がある。
【００１５】
【数１】
2012127742.tif 000003
【００１６】
このとき、Ａ（ｘ）≠Ｅ（ｘ）であり、Ａ（ｘ）は一般的な画像データを示す関数である。こうした特性を持つ関数はいくつか知られており、例えば擬似ランダム性を持つＭ系列や周波数変化が連続的なチャープ信号等をＥ（ｘ）として用いることができる。但し、実際には式２において、あらゆるＡ（ｘ）で常に０となるＥ（ｘ）は存在しないため、可能な限り０に近いことが望ましい。もちろん、式１、式２を良好に満たす関数であれば、解析的に求めた関数でなく、数値的に求めた関数をＥ（ｘ）として使用しても同様の効果を得ることができる。
【００１７】
以上の条件によって作成されるシャッタ時系列パターン関数Ｅ（ｘ）の例を図２に示す。図２において、横軸が原点からの位置ｘ、縦軸の１がシャッタの露光、０が遮光を示す。図３は、ブレのない状態での被写体の画像データを示す図である。例えば、図３に示す画像データに対してシャッタ時系列パターン関数Ｅ（ｘ）によって横方向にブレを付加した場合、図４（ａ）に示すようにブレによる輝度変化が階段状となる。なお、常時開放状態となる通常のシャッタ時系列パターンで撮像した場合には、図４（ｂ）に示すように、ブレによる輝度変化が滑らかなグラデーション状となる。
【００１８】
図５は、本発明の第１の実施形態に係る３次元形状測定装置の動作を示すフローチャートである。ステップＳ５０１において、露光制御部１１０は、直線ステージ１０８を制御して、撮像装置１０１を移動方向１１２の方向に移動させる。このときの移動は等速直線運動とする。移動方向は、撮像レンズ１０３の光軸に対して直交しており、撮像素子１０４の画素の格子配置に対して平行な方向とする。
【００１９】
ステップＳ５０２において、露光制御部１１０は、撮像素子１０４のリセットを行い、画像データＩの記録を開始する。このときの撮像装置１０１の位置ｘを原点とする。ステップＳ５０３において、露光制御部１１０は、エンコーダ１０９を読み取り、ステップＳ５０２における原点からの撮像装置１０１の移動距離ｘsを取得する。さらに露光制御部１１０は、シャッタ時系列パターン保持部１１１から、シャッタ時系列パターンＥ（ｘs）を参照する。
【００２０】
ステップＳ５０４において、露光制御部１１０は、シャッタ時系列パターンＥ（ｘs）に従って、現在の撮像装置１０１の移動距離ｘsでは露光であるか、遮光であるかを判定する。露光であると判定された場合、処理はステップＳ５０５に移行する。一方、遮光であると判定された場合、処理はステップＳ５０６に移行する。
【００２１】
ステップＳ５０５において、露光制御部１１０は、シャッタ１０５を開放し、撮像素子１０４の露光を行う。ステップＳ５０６において、露光制御部１１０は、シャッタ１０５を閉鎖し、撮像素子１０４の遮光を行う。
【００２２】
ステップＳ５０７において、露光制御部１１０は、エンコーダ１０９を読み取り、ステップＳ５０２の時点からの撮像装置１０１の移動距離ｘsが、予め設定された到達距離ｘfに到達しているか否かを判定する。予め設定された到達距離ｘfに到達していなければ、処理はステップＳ５０３に戻る。一方、予め設定された到達距離ｘfに到達していれば、処理はステップＳ５０８に進む。
【００２３】
ステップＳ５０８において、露光制御部１１０は、ステップＳ５０２で開始された撮像素子１０４における画像データＩの記録を終了し、ブレ検出部１０６は、記録された画像データＩを読み出す。ここで記録された画像データＩは、図４（ａ）に示したように、シャッタ時系列パターンＥ（ｘ）に基づくステップＳ５０５、Ｓ５０６の繰り返しによって、ブレが断続的となって符号化された画像データとなっている。
【００２４】
ステップＳ５０９において、露光制御部１１０は、直線ステージ１０８を停止させ、撮像装置１０１の移動を終了する。ステップＳ５１０において、ブレ検出部１０６は、読み出した画像データＩ内の各ピクセルにおけるブレ長を検出する。
【００２５】
図６は、ステップＳ５１０におけるブレ検出処理の詳細を示すフローチャートである。ステップＳ６０１において、ブレ検出部１０６は、先のステップＳ５０８において読み出した画像データＩを走査し、ブレ検出の対象とする画像データＩ内の走査ピクセルｉを選択する。ブレ検出部１０６は、ここで選択した走査ピクセルｉを基点として発生しているブレを検出の対象とする。
【００２６】
ステップＳ６０２において、ブレ検出部１０６は、走査ピクセル長ｎを、検出する最小のブレピクセル長ｎminに設定する。ブレ検出部１０６は、この最小のブレピクセル長ｎminから、検出する最大のブレピクセル長ｎmaxまでの範囲内にあるブレの検出を行う。ブレピクセル長は、被写体１０２と撮像レンズ１０３との距離によって変化するため、計測する距離範囲に応じて、ｎmin、ｎmaxをそれぞれ予め決定しておく。
【００２７】
ステップＳ６０３において、ブレ検出部１０６は、走査ピクセル長ｎを持つブレカーネルＫ（ｍ）（０≦ｍ≦ｎ）を生成する。ブレカーネルＫ（ｍ）は、原点からの到達距離ｘf、シャッタ時系列パターン関数Ｅ（ｘ）を用いて式３で表される。
【００２８】
【数２】
2012127742.tif 000004
【００２９】
ステップＳ６０４において、ブレ検出部１０６は、画像データＩから走査ピクセルｉを基点としてブレの生じている方向に対して走査ピクセル長ｎ個のピクセルをサンプリングしたサンプリング画像Ｓ（ｍ）（０≦ｍ≦ｎ）を取得する。ブレ検出部１０６は、このサンプリング画像Ｓ（ｍ）とブレカーネルＫ（ｍ）との間で式４を用いて相関係数Ｃnを求める。
【００３０】
【数３】
2012127742.tif 000005
【００３１】
但し、Ｓa、Ｋaはそれぞれサンプリング画像Ｓ（ｍ）、ブレカーネルＫ（ｍ）の０〜ｎの範囲における平均値である。
【００３２】
ステップＳ６０５において、ブレ検出部１０６は、走査ピクセル長ｎが最大のブレピクセル長ｎmaxに等しいか否かを判定する。走査ピクセル長ｎが最大のブレピクセル長ｎmaxに等しくない場合、処理はステップＳ６０６に進む。一方、走査ピクセル長ｎが最大のブレピクセル長ｎmaxに等しければ、処理はステップＳ６０７に進む。
【００３３】
ステップＳ６０６において、ブレ検出部１０６は、走査ピクセル長ｎに１を加える。その後、処理はステップＳ６０３に戻る。ステップＳ６０７において、ブレ検出部１０６は、ｎmin〜ｎmaxの範囲でＣnが最大となるｎを、走査ピクセルｉにおける検出ブレピクセル長ｎiと設定する。ステップＳ６０８において、ブレ検出部１０６は、走査ピクセルｉが画像データＩを全て走査したか否かを判定する。走査ピクセルｉが画像データＩを全て走査していなければ、処理はステップＳ６０１に戻り、画像データＩの走査が継続され、全てのピクセルについて検出ブレピクセル長ｎiが算出される。一方、走査ピクセルｉが画像データＩを全て走査していれば、ブレ検出の処理が終了する。
【００３４】
再び図５の説明に戻る。ステップＳ５１１において、奥行き計算部１０７は、ブレ検出部１０６においてステップＳ５１０で検出された画像データＩ内の検出ブレピクセル長（ブレ長）ｎiに基づいて、ピクセル単位で撮像レンズ１０３と被写体との間の奥行きを計算する。以下、ブレ長からの奥行きの計算方法について説明する。
【００３５】
図７は、簡単な被写体として点光源７０１を設定し、撮像装置１０１を移動距離ｘfだけ光軸に直交する方向に平行移動させたときの様子を示す図である。撮像装置１０１内の撮像素子１０４では、点光源７０１の投影像が、平行移動の影響によりブレ７０２として撮像される。図７において、求める奥行きは点光源７０１と撮像レンズ１０３との光軸上の距離Ｄiとなる。撮像素子１０４の各画素のドットピッチをε、ブレ７０２の検出ブレピクセル長ｎiとすると、ブレ７０２のブレ長ｌiは式５で表される。
【００３６】
【数４】
2012127742.tif 000006
【００３７】
ブレ長ｌiと、撮像レンズ１０３と撮像素子部１０４との距離ｄ、移動距離ｘfから、距離Ｄiは式６で表される。
【００３８】
【数５】
2012127742.tif 000007
【００３９】
現実の被写体は点光源７０１の集合と考えることができるため、この距離Ｄiを、画像データ内の全ての検出ブレピクセル長ｎiに対して計算すると、ピクセル単位で被写体と撮像レンズ１０３の間の奥行きＤiを取得し、形状計測を行うことができる。以上の流れにより、簡便に被写体の形状を求めることが可能となる。
【００４０】
なお、ステップＳ６０１において画像データＩを走査する前に、適切なフィルタを用いることで、より容易かつ正確にブレの検出を行うようにすることもできる。画像データ内の輝度変化を強調するフィルタとしては、ラプラシアンフィルタ等が知られており、例えばこのようなフィルタを画像データに適用し、符号化されたブレによる輝度変化をより明確することで、ブレの検出を容易にすることができる。また、バンドパスフィルタを適用することで、撮像画像からノイズが多く含まれる周波数成分を選択的に除去し、ブレの検出を容易にすることもできる。
【００４１】
また、ステップＳ６０４における相関関数の計算は必ずしも単一のピクセル単位で行う必要はなく、複数のピクセルを一まとめにしたブロック単位の領域で算出してもよい。ブロック単位の領域で計算を行うことで、テクスチャの少ない被写体上での奥行きの推定も可能となる。
【００４２】
また、ステップＳ６０４におけるサンプリング画像Ｓ（ｍ）とブレカーネルＫ（ｍ）との相関演算は、信号の類似性を検出するために行っているが、より検出精度を高めるために、カルバック・ライブラー情報量等、別の評価式を用いて類似性を判定してもよい。また、ステップＳ５０１における直線ステージ１０８による移動は、等速直線運動以外の移動も考えられる。例えば、図８に示すように、被写体１０２に対して円弧を描く移動方向８０１に従って撮像を行えば、被写体１０２の全周囲から観察した奥行きを計測することができる。また、図９に示すように、移動ステージ１０８の進行方向に対して、平行の向き９０１に移動している被写体１０２の走査ピクセルi上の速度viを併せて求める手法を用いてもよい。この手法では、撮像装置１０１を直線ステージ１０８によって往復移動させ、往路９０２と復路９０３とでそれぞれ１回ずつ撮像を行う。このとき、ステップＳ５１１におけるブレ７０２のブレ長ｌiは、往路ブレピクセル長ｎgi、復路ブレピクセル長ｎbi、撮像レンズ１０３と撮像素子部１０４との距離ｄ、撮像素子部１０４の各画素のドットピッチε、被写体１０２の走査ピクセルｉ上の速度ｖi、撮像装置１０１が原点から到達距離ｘfに到達するまでの到達時間ｔ、距離Ｄiを用いて式７、式８で表される。
【００４３】
【数６】
2012127742.tif 000008
【００４４】
但し、式７、式８において、被写体１０２の速度ｖは、撮像装置１０１の往路における進行方向を正とする。また、式７、式８から、式９が導かれる。
【００４５】
【数７】
2012127742.tif 000009
【００４６】
ステップＳ５１１において、奥行き計算部１０７は、式５に代わって式９を用いることで、距離Ｄiを求めることができる。また、被写体１０２の走査ピクセルｉ上における速度ｖiは、式７、式８から式１０で表される。
【００４７】
【数８】
2012127742.tif 000010
【００４８】
求められた距離Ｄiを式１０に代入することによって、被写体１０２の走査ピクセルｉ上における速度ｖiを求めることができる。
【００４９】
また、図１０に示すように、撮像レンズ１０３の光軸方向に平行な方向１００１に移動を行ってもよい。この手法では、ブレは画像データＩの中心を原点として放射状に発生する。このため、ステップＳ６０４における、走査ピクセルｉを基点としてブレの生じている方向に対して走査ピクセル長ｎ個のピクセルのサンプリングは、画像データＩの中心を原点とした極座標系に基づいて行う。
【００５０】
次に、本発明の第２の実施形態について説明する。図１１は、本発明の第２の実施形態に係る３次元形状測定装置の構成を示す図である。撮像装置１１０１によって、測定対象となる被写体１１０２を撮像する。撮像装置１１０１は、撮像光学系である撮像レンズ１１０３を介して被写体１１０２の投影像を撮像素子１１０４で記録する。シャッタ１１０５は、被写体１１０２の投影像の撮像素子１１０４への露光及び遮光を切り替える機能を持つ。撮像照明１１０６は、被写体１１０２に対して照明を行う機能を持ち、任意のタイミングで照射及び消灯を切り替えることができる。なお、本実施形態における撮像装置１１０１、被写体１１０２は何れも暗所に配置されており、撮像照明１１０６によってのみ被写体１１０２が照明される。ブレ検出部１１０７は、撮像素子１１０４で記録された画像データを取得し、画像データ内に存在するブレを検出し、ブレ長を計測する。奥行き計算部１１０８は、ブレ検出部１１０７によって検出されたブレの位置とブレ長とから、撮像レンズ１１０３と被写体１１０２との間の奥行き、即ち、被写体の形状を計算する。直線ステージ１１０９は、撮像装置１１０１を直線移動させる相対位置制御手段であり、撮像画像にブレを生じさせる。直線ステージ１１０９の内部には、撮像装置１１０１の移動距離ｘを計測する位置変化計測手段であるエンコーダ１１１０が搭載されている。
【００５１】
露光制御部１１１１は、直線ステージ１１０９を用いて撮像装置１１０１を移動させ、移動中に後述する照明時系列パターンに従って撮像照明１１０６の制御を行い、撮像素子１１０４の画像の記録期間中に照明の点灯及び消灯を切り替える。
【００５２】
照明時系列パターン保持部１１１２は、上記の露光制御部１１１１が撮像照明１１０６の点灯及び消灯を時系列で切り替えるための所定の照明時系列パターンを保持している。照明時系列パターンは撮像装置１１０１の移動距離ｘを入力として、照明時の出力を１、消灯時の出力を０とする関数Ｅ（ｘ）（０≦ｘ≦ｘf）で表される。この関数Ｅ（ｘ）は、第１の実施形態におけるシャッタ時系列パターン関数Ｅ（ｘ）と同様の特性を持つ。例えば、図３に示す画像データに対して照明時系列パターン関数Ｅ（ｘ）によって横方向にブレを付加した場合、第１の実施形態と同様に図４（ａ）に示すようにブレによる輝度変化が階段状となる。
【００５３】
図１２は、第２の実施形態に係る３次元形状測定装置の動作を示すフローチャートである。以下、図１２を参照しながら、第２の実施形態に係る３次元形状測定装置の動作について説明する。
【００５４】
ステップＳ１２０１において、露光制御部１１１１は、直線ステージ１１０８を制御して、撮像装置１１０１を移動方向１１１３の方向に移動させる。このときの移動は等速直線運動とする。移動方向は、撮像レンズ１１０３の光軸に対して直交しており、撮像素子部１１０４の画素の格子配置に対して平行な方向とする。
【００５５】
ステップＳ１２０２において、露光制御部１１１１は、撮像素子１１０４のリセットを行い、画像データＩの記録を開始する。このときの撮像装置９０１の位置ｘを原点とする。ステップＳ１２０３において、露光制御部１１１１は、エンコーダ１１０９を読み取り、ステップＳ１１０２における原点からの撮像装置１１０１の移動距離ｘsを取得する。さらに露光制御部１１１１は、照明時系列パターン保持部１１１から、照明時系列パターンＥ(ｘs)を参照する。
【００５６】
ステップＳ１２０４において、露光制御部１１１０は、照明時系列パターンＥ(ｘs)に従って、現在の撮像装置１１０１の移動距離ｘsでは照明点灯であるか、照明消灯であるかを判定する。照明点灯であると判定された場合、処理はステップＳ１２０５に移行する。一方、照明消灯であると判定された場合、処理はステップＳ１２０６に移行する。
【００５７】
ステップＳ１２０５において、露光制御部１１１１は、撮像照明部１１０６を点灯し、被写体１１０２への照明を行う。ステップＳ１２０６において、露光制御部１１１１は、撮像照明部１１０６を消灯し、被写体１１０２を無照明の状態とする。
【００５８】
ステップＳ１２０７において、露光制御部１１１０は、エンコーダ１１０９を読み取り、ステップＳ１２０２の時点からの撮像装置１１０１の移動距離ｘeが、予め設定された到達距離ｘfに到達しているか否かを判定する。予め設定された到達距離ｘfに到達していなければ、処理はステップＳ１２０３に戻る。一方、予め設定された到達距離ｘfに到達していれば、処理は次のステップＳ１２０８に進む。
【００５９】
ステップＳ１２０８において、露光制御部１１１０は、ステップＳ１２０２で開始した撮像素子１１０４における画像データＩの記録を終了し、ブレ検出部１１０７は、記録された画像データＩを読み出す。ここで記録された画像データＩは、図４（ａ）に示したように、照明時系列パターンＥ（ｘ）に基づくステップＳ１２０５、Ｓ１２０６の繰り返しによって、ブレが断続的となって符号化された画像データとなっている。
【００６０】
ステップＳ１２０９において、露光制御部１１１１は、直線ステージ１１０９を停止させ、撮像装置１１０１の移動を終了する。ステップＳ１２１０において、ブレ検出部１１０６は、読み出した画像データＩ内の各ピクセルにおけるブレ長を検出する。このブレ長の検出では、第１の実施形態における図６のステップＳ６０１〜Ｓ６０９に示した流れと同様の処理により、全てのピクセルについて検出ブレピクセル長ｎiが算出される。
【００６１】
ステップＳ１２１１において、奥行き計算部１１０７は、ブレ検出部１１０６においてステップＳ１２１０で検出された画像データＩ内の検出ブレピクセル長（ブレ長）ｎiに基づいて、ピクセル単位で撮像レンズ１１０３と被写体の間の奥行きＤiを計算する。本計算は、第１の実施形態におけるステップＳ５１１と同様の処理を行うことで、ピクセル単位で被写体と撮像レンズ１１０３の間の奥行きＤiを取得し、形状計測を行うことができる。
【００６２】
以上により、本実施形態を用いて簡便に被写体の形状を求めることが可能となる。なお、本実施形態において、撮像照明１１０６で行う照明は必ずしも空間的に均一である必要はない。例えば、擬似ランダム性を持つ空間パターンを照射すれば、テクスチャが不十分な被写体においても、照明によってテクスチャを付加することができるため、三次元形状の計測が可能となる。
【００６３】
上述した実施形態によれば、複数のカメラ間やカメラとプロジェクタ間での煩雑なキャリブレーションを行うことなく、輝度変化が複雑な被写体においても簡便に被写体の３次元形状を測定することが可能となる。
【００６４】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６５】
１０１、１１０１：撮像装置、１０２、１１０２：被写体、１０３、１１０３：撮像レンズ、１０４、１１０４：撮像素子、１０５、１１０５：シャッタ、１０６、１１０７：ブレ検出部、１０７、１１０８：奥行き計算部、１０８、１１０９：直線ステージ、１０９、１１１０：エンコーダ、１１０、１１１１：露光制御部、１１１：シャッタ時系列パターン保持部、１１２、１１０３：移動方向、１１０６：撮像照明、１１１２：照明時系列パターン保持部
【図１】
2012127742.tif 000011
【図２】
2012127742.tif 000012
【図３】
2012127742.tif 000013
【図４】
2012127742.tif 000014
【図５】
2012127742.tif 000015
【図６】
2012127742.tif 000016
【図７】
2012127742.tif 000017
【図８】
2012127742.tif 000018
【図９】
2012127742.tif 000019
【図１０】
2012127742.tif 000020
【図１１】
2012127742.tif 000021
【図１２】
2012127742.tif 000022