(57)【要約】【課題】テクスチャ情報の少ない被写体を高密度に距離計測することを目的とする。【解決手段】光源から照射される光が投影光学系のレンズを透過する透過率を空間的に符号化する符号化素子を含む投影部と、投影部により光が投影された距離計測対象を撮像する撮像部と、撮像部により撮像された撮像画像と、予め定められた距離ごとに撮像部により予め撮像された複数のキャリブレーション画像との類似度を示す相関値を算出する算出部と、算出部により算出された相関値が最大となるキャリブレーション画像に対応する距離を距離計測対象までの距離として決定する決定部と、を備える。【選択図】図７
2011133360.tif 000002
【特許請求の範囲】
【請求項１】
光源から照射される光が投影光学系のレンズを透過する透過率を空間的に符号化する符号化素子を含む投影手段と、
前記投影手段により光が投影された距離計測対象を撮像する撮像手段と、
前記撮像手段により撮像された撮像画像と、予め定められた距離ごとに前記撮像手段により予め撮像された複数のキャリブレーション画像との類似度を示す相関値を算出する算出手段と、
前記算出手段により算出された相関値が最大となるキャリブレーション画像に対応する距離を距離計測対象までの距離として決定する決定手段と、
を備えることを特徴とする距離計測装置。
【請求項２】
前記相関値は、撮像画像の各画素とキャリブレーション画像の各画素との差分の絶対値の和の逆数であることを特徴とする請求項１に記載の距離計測装置。
【請求項３】
前記符号化素子は、空間的にランダムに前記透過率を符号化することを特徴とする請求項１又は２に記載の距離計測装置。
【請求項４】
前記投影手段及び前記撮像手段の光軸はビームスプリッタにより同軸に配置されることを特徴とする請求項１乃至３の何れか１項に記載の距離計測装置。
【請求項５】
投影手段が、光源から照射される光が投影光学系のレンズを透過する透過率を空間的に符号化する符号化素子を含む投影工程と、
撮像手段が、前記投影工程により光が投影された距離計測対象を撮像する撮像工程と、
算出手段が、前記撮像工程により撮像された撮像画像と、予め定められた距離ごとに前記撮像工程により予め撮像された複数のキャリブレーション画像との類似度を示す相関値を算出する算出工程と、
決定手段が、前記算出工程により算出された相関値が最大となるキャリブレーション画像に対応する距離を距離計測対象までの距離として決定する決定工程と、
を有することを特徴とする距離計測方法。
【請求項６】
請求項５に記載の距離計測方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測定対象の距離を非接触で光学的に計測する距離計測装置、距離計測方法、及びプログラムに関し、特にパターン投影を用いる距離計測装置、距離計測方法、及びプログラムに関する。
【背景技術】
【０００２】
距離計測装置は、高密度な距離情報の取得が可能なため、組み立てのためのロボットハンド用ビジョンとして用いられる。また、動いている被写体に対しても形状計測を実施できるため、小型プロジェクタと組み合わせることで、ディジタルカメラなどの小型の撮像デバイスにも搭載でき、オートフォーカスのための距離入力手段としても用いられる。
【０００３】
これまでに、種々の距離計測法が提案されている。距離計測法には、照明装置である投影部を用いずに撮像部だけで距離計測を行うパッシブ方式と、投影部と撮像部を組み合わせて用いるアクティブ方式がある。パッシブ方式には主に三角測量に基づく手法と、撮像光学系のデフォーカス情報に基づく手法の２つがある。アクティブ方式には主に三角測量に基づく手法と、投影光学系のデフォーカス情報に基づく手法がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Anat Levin, Rob Fergus, Fredo Durand, William T. Freeman,  “Image and depth from a conventional camera with a coded aperture, “ Proceeding of SIGGRAPH 2007 (July 2007).
【非特許文献２】佐藤宏介、井口征士、“液晶レンジファインダー液晶シャッタによる高速距離画像計測システム”，電子情報通信学会論文誌Ｄ Vol.J71-D  No.7  pp.1249-1257(1988)．
【非特許文献３】Francesc Moreno-Noguer, Peter N. Belhumeur, Shree K. Nayar, “Active refocusing of images and videos,” Proceeding of SIGGRAPH 2007 (July 2007).
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、パッシブ方式の距離計測技術では、表面テクスチャ情報の少ない被写体は距離計測ができないという課題がある。一方、三角測量を利用したアクティブ方式の距離計測技術では、複数枚の画像撮影が必要であるため、動きのある被写体に対応できないという課題がある。また、デフォーカス情報を利用したアクティブ方式の距離計測技術では、１回の画像撮影で距離計測ができるものの、計測密度が低くならざるを得ないという課題がある。
【０００６】
上記の課題に鑑み、本発明は、テクスチャ情報の少ない被写体に対して、計測密度を高密度に被写体までの距離を計測することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成する本発明に係る距離計測装置は、
光源から照射される光が投影光学系のレンズを透過する透過率を空間的に符号化する符号化素子を含む投影手段と、
前記投影手段により光が投影された距離計測対象を撮像する撮像手段と、
前記撮像手段により撮像された撮像画像と、予め定められた距離ごとに前記撮像手段により予め撮像された複数のキャリブレーション画像との類似度を示す相関値を算出する算出手段と、
前記算出手段により算出された相関値が最大となるキャリブレーション画像に対応する距離を距離計測対象までの距離として決定する決定手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、テクスチャ情報の少ない被写体に対して、計測密度を高密度に被写体までの距離を計測することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】（ａ）ステレオ画像計測法の測定原理説明図、（ｂ）ＤＦＤ法の測定原理説明図。
【図２】（ａ）グレイコードパターン投影法の測定原理説明図、（ｂ）ｎ＝４の場合のグレイコードパターンを示す図。
【図３】（ａ）投影光学系のデフォーカス情報に基づく手法の原理説明図、（ｂ）規則的に並べられた略点光源パターンを示す図。
【図４】（ａ）第１実施形態の距離計測装置の概略上面図、（ｂ）第１実施形態の符号化瞳を示した図。
【図５】（ａ）第１実施形態の全体処理フローチャート、（ｂ）第１実施形態のキャリブレーションステップ時の装置構成図。
【図６】（ａ）第１実施形態のキャリブレーションステップの処理フローチャート、（ｂ）キャリブレーション画像の例を示す図。
【図７】（ａ）第１実施形態の距離計測ステップの処理フローチャート、（ｂ）略点光源の主光線の撮像素子上での結像位置の説明図。
【図８】（ａ）Ｉ＝４，Ｊ＝３のときの撮像画像の例を示す図、（ｂ）被写体３０の詳細説明図。
【図９】（ａ）相関演算領域の拡大図。
【図１０】（ａ）ｉ＝０，ｊ＝０のときの１ライン分の正規化輝度分布、（ｂ）ｉ＝３，ｊ＝０のときの１ライン分の正規化輝度分布。
【図１１】相関値ＣｏｒｒｅをＺに対してプロットした図。
【図１２】（ａ）円形瞳の場合の撮像画像の例を示す図、（ｂ）円形瞳の場合のキャリブレーション画像の例を示す図。
【図１３】（ａ）円形瞳の場合の１ライン分の正規化輝度分布図、（ｂ）円形瞳の場合の相関値ＣｏｒｒｅをＺに対してプロットした図。
【図１４】（ａ）隣接点光源によるボケ像に重なりがある場合の撮像画像（円形瞳）、（ｂ）隣接点光源によるボケ像に重なりがある場合の撮像画像（符号化瞳）。
【図１５】（ａ）隣接点光源によるボケ像に重なりがある場合の正規化輝度分布図、（ｂ）隣接点光源によるボケ像に重なりがある場合の相関値をプロットした図。
【図１６】（ａ）第２実施形態の距離計測装置の概略上面図、（ｂ）第２実施形態の全体処理フローチャート。
【図１７】（ａ）第２実施形態の距離計測ステップの処理フローチャート、（ｂ）第２実施形態の相関演算処理図。
【図１８】（ａ）第３実施形態の符号化瞳を示した図、（ｂ）図１８（ａ）の符号化瞳の周波数領域での性質を示す図、（ｃ）円形瞳の周波数領域での性質を示す図。
【図１９】（ａ）第３実施形態の全体処理フローチャート、（ｂ）第３実施形態の距離計測ステップの処理フローチャート。
【発明を実施するための形態】
【００１０】
距離計測法には、照明装置である投影部を用いずに撮像部だけで距離計測対象までの距離を計測するパッシブ方式と、投影部と撮像部を組み合わせて用いるアクティブ方式がある。パッシブ方式には主に三角測量に基づく手法、撮像光学系のデフォーカス情報に基づく手法の２つがある。アクティブ方式には主に三角測量に基づく手法と、投影光学系のデフォーカス情報に基づく手法がある。
【００１１】
＜パッシブ方式＞
まず、パッシブ方式における三角測量に基づく手法について説明する。三角測量に基づく手法の代表例としては、ステレオ画像計測法がある。ステレオ画像計測法は、２台のカメラで計測対象を撮影したときの２枚の画像間で視差を求め、三角測量の原理で対象までの距離を算出する。
【００１２】
図１（ａ）に２台のカメラ１０（撮像装置１０）を距離Ｂだけ離して、平行に並べた場合の測定原理の説明図を示す。左の撮像装置１０Ｌと、右の撮像装置１０Ｒとで、被写体３０の計測点Ｍの距離を計測することを想定している。左の撮像装置１０Ｌと、右の撮像装置１０Ｒの撮像光学系の焦点距離は、それぞれｆＬとｆＲである。ここでは簡単のために、ｆＬとｆＲは同一の焦点距離ｆであると仮定する。このとき、計測点Ｍは左の撮像装置１０Ｌでは撮像光学系１１Ｌにより、撮像素子１２Ｌ上のｍＬの位置に結像される。同様に、右の撮像装置１０Ｒでは撮像光学系１１Ｒにより、撮像素子１２Ｒ上のｍＲの位置に結像される。ｍＬとｍＲはそれぞれ撮像素子１２の光軸上の点からｘＬ、ｘＲの距離に位置するため、視差ｄは以下の式（１）で算出される。
【００１３】
【数１】
2011133360.tif 000003
【００１４】
三角形ＭＯＲＯＬ’と三角形ｍＲＯＲｍＬ’とは相似の関係が成立する。すなわち、Ｚ０：ｆの比と、Ｂ：ｄの比が等しい。これより、左の撮像光学系１１Ｌの光学中心ＯＬから計測点Ｍまでの距離Ｚ０は、以下の式（２）で算出される。
【００１５】
【数２】
2011133360.tif 000004
【００１６】
以上がステレオ画像計測法の原理である。ステレオ画像計測法は２台のカメラのみでシステムを構築できるため、簡易な構成で距離計測が可能である。しかし、２枚の画像間で視差を算出するために、２枚の画像間の類似性（類似度）を利用する必要がある。そのため、被写体のエッジのように特徴的な部分の距離計測は可能であるが、表面テクスチャ情報が少ない領域の計測は困難である。
【００１７】
次に、撮像光学系のデフォーカス情報に基づく距離計測手法について説明する。撮像光学系によるデフォーカス情報に基づく手法の代表例としては、Ｄｅｐｔｈ  Ｆｒｏｍ  Ｄｅｆｏｃｕｓ法（以下、「ＤＦＤ法」と称する）がある。
ＤＦＤ法では撮像光学系によるデフォーカス情報、すなわち、ボケ像の大きさを算出することで距離を計測する。
【００１８】
図１（ｂ）にＤＦＤ法の測定原理の説明図を示す。ここでは、撮像装置１０で被写体３０の計測点Ｍの距離を計測することを想定している。撮像装置１０の撮像光学系１１は合焦面４０から出射した光線を撮像素子１２上に結像するように配置されている。撮像光学系１１の光学中心Ｏから合焦面４０までの距離をＺｆ、光学中心Ｏから撮像素子１２までの距離をｚｆとする。撮像光学系１１の焦点距離をｆｃとすると、撮像素子１２と撮像光学系１１は近軸結像公式から以下の式（３）を満たすように配置される。
【００１９】
【数３】
2011133360.tif 000005
【００２０】
一方、撮像光学系１１の光学中心Ｏから計測点Ｍまでの距離をＺ０とすると、計測点Ｍから出射した光線は光学中心からｚ０の距離に結像される。近軸結像公式からｚ０、Ｚ０、ｆｃは以下の式（４）を満たす。
【００２１】
【数４】
2011133360.tif 000006
【００２２】
式（４）から、撮像光学系１１の光学中心Ｏから計測点Ｍまでの距離Ｚ０と、光学中心Ｏから合焦面４０までの距離Ｚｆとが異なる場合（Ｚ０≠Ｚｆ）を考える。その場合、ｚｆ≠ｚ０となり、結像位置も異なることがわかる。つまり、計測点Ｍから出射した光線は、撮像素子１２上で一点には結像せず、広がった光束となる。光束の広がりが撮像光学系１１によるボケ像の大きさである。このボケ像の大きさをｂ０とすると、三角形αβγと三角形δεγは相似の関係が成立する。これよりｂ０：Ａｃの比とｚ０−ｚｆ：ｚ０の比が等しいので以下の式（５）が導かれる。
【００２３】
【数５】
2011133360.tif 000007
【００２４】
ここで、Ａｃは撮像光学系１１の入射瞳径である。上記式（５）の関係から、合焦面４０と計測点Ｍとの間隔が大きくなるほど、ボケ像の大きさが大きくなることがわかる。つまり、ボケ像の大きさを評価することで、合焦面４０から計測点Ｍまでの距離を計測することができる。
【００２５】
非特許文献１では、撮像光学系の瞳を符号化することで撮像光学系によるボケ像の大きさの計測精度を向上させる技術が説明されている。この技術は、撮像光学系の瞳を符号化することで、ボケのパターンが瞳と同形状に符号化されることを利用している。
【００２６】
ただし、非特許文献１の手法でも撮像光学系によるボケ像の評価の際に、被写体のエッジやテクスチャ情報を利用する必要がある。そのため、エッジやテクスチャのない領域ではボケ像の大きさを評価することができない。
【００２７】
＜アクティブ方式＞
次にアクティブ方式について説明する。アクティブ方式はパッシブ方式に比べて被写体の表面テクスチャの影響を受けにくい距離計測が可能である。これは、計測対象の表面テクスチャ情報が少ない場合でも投影された照明パターンを手がかりにして、距離計測を行うためである。アクティブ方式には主に三角測量に基づく手法と、投影光学系のデフォーカス情報に基づく手法がある。
【００２８】
三角測量に基づく手法の代表例としては空間符号化法がある。非特許文献２では空間符号化法の一種であるグレイコードパターン投影法が説明されている。
【００２９】
図２（ａ）を参照して、グレイコードパターン投影法の原理について説明する。投影装置２０により被写体に投影したパターンを、Ｘ方向に距離Ｂだけ離れた位置にある撮像装置１０で撮影し、距離計測を行う。このとき、投影装置２０の光軸は撮像装置１０の光軸に対して角度ψだけ傾いているものとする。投影装置２０からの主光線の出射角をφ、撮像装置１０への入射角をθとすると、幾何学的な関係から以下の式（６）が導かれる。
【００３０】
【数６】
2011133360.tif 000008
【００３１】
撮像装置１０への入射角θは計測点Ｍの結像位置がｍｃであることから、以下の式（７）で計算することができる。
【００３２】
【数７】
2011133360.tif 000009
【００３３】
ここで、ｆｃは撮像装置１０の撮像光学系１１の焦点距離である。一方、撮像画像上で投影装置２０からの出射角φを一意に求めるためには、投影パターンに何らかの符号化が必要になる。グレイコードパターン投影法では、投影装置２０の光源アレイ２２に入力されるパターンをグレイコードパターンにし、複数枚の画像投影と撮像を行うことで、投影装置２０からの出射角φを一意に定める。Ｘ方向の出射角の識別本数を２ｎにするためには、少なくともｎ枚の投影パターンが必要になる。
【００３４】
図２（ｂ）にｎ＝４の場合の投影パターンを示す。このように、０と１からなるバイナリーのパターンを投影し、画像上で０か１かの判定を行う。判定結果に応じて、画像上の各画素に０か１かの符号を割り振る。ｎ＝４の場合、これを４回繰り返すことで、４ｂｉｔの符号が各画素に割り振られることになる。４ｂｉｔのグレイコードは０〜１５の値をとるため、空間を１６領域に分割することができる。以下の表（１）に符号と領域番号の対応関係を示す。
【００３５】
【表１】
2011133360.tif 000010
【００３６】
領域番号ｉが判明すれば投影装置２０の画角と光源アレイ２２のサイズから光源アレイ２２上での位置ｘｐを一意に決定することができる。光源アレイ２２上での位置ｘｐが決まると、出射角φは以下の式（８）で算出される。
【００３７】
【数８】
2011133360.tif 000011
【００３８】
グレイコードパターン投影法では、空間の分割数が大きい程高密度な距離計測が可能になるが、投影パターン数が増加する。よって、高密度計測を行う場合、計測時間が増加するため、動きのある被写体を計測し難い。
【００３９】
空間符号化法には、他にもレインボー法と呼ばれる光の波長方向で符号化する方法や、多値パターンを用いて符号化する方法が提案されている。しかし、何れの方法もグレイコードパターン投影法と比較して被写体の分光反射率に影響を受けやすい手法であるため、ロバストな計測は困難である。
【００４０】
次に、投影光学系のデフォーカス情報に基づく手法について説明する。図３（ａ）を参照して、投影光学系のデフォーカス情報に基づく手法の原理について説明する。光源アレイ２２から出射された光線を合焦面４０に結像するように、投影装置２０の投影光学系２１を配置する。投影光学系２１の焦点距離をｆｐ、投影光学系２１の光学中心Ｏｐから合焦面４０までの距離をＺｆとする。また、光学中心Ｏｐから光源アレイ２２までの距離をｚｆとする。近軸結像公式から以下の関係式（９）を満たすように投影装置２０の投影光学系２１を配置する必要がある。
【００４１】
【数９】
2011133360.tif 000012
【００４２】
投影装置２０の光源アレイ２２には略点光源パターンが入力される。光源アレイ２２上の位置ｓｐに略点光源パターンを表示した場合、合焦面４０上ではＳｐの位置に結像される。
【００４３】
ただし、距離Ｚ０の位置に被写体３０がある場合には、一点に結像されず光束が広がる。この光束の広がりを投影光学系のデフォーカス情報、すなわち、ボケ像の大きさとする。ボケ像の大きさｂＭは三角形αβγと三角形αδεの相似の関係から、以下の式（１０）で記述される。
【００４４】
【数１０】
2011133360.tif 000013
【００４５】
一方、撮像装置１０は撮像光学系１１の光軸と、投影装置２０の投影光学系２１の光軸がＺ方向で一致するように配置されている。図３（ａ）では、ビームスプリッタ５０を用いて反射光と透過光の強度分割をすることで、同軸配置を実現している。撮像光学系１１がパンフォーカスであり、撮像素子１２と撮像光学系１１との距離が焦点距離ｆｃと等しい場合、撮像光学系１１の横倍率ηは以下の式（１１）となる。
【００４６】
【数１１】
2011133360.tif 000014
【００４７】
従って、撮像素子１２上でのボケ像の大きさｂ０は横倍率を考慮した以下の式（１２）で記述される。
【００４８】
【数１２】
2011133360.tif 000015
【００４９】
これより撮像素子１２上でのボケ像の大きさを算出することで、距離Ｚ０を求めることができる。
【００５０】
次に非特許文献３では、図３（ａ）で説明した構成を用いて、図３（ｂ）に示す規則的に並んだ略点光源パターンを被写体に投影し、投影された略点光源のボケ像の大きさから距離計測を行う手法が説明されている。この非特許文献３では、式（１２）を明示的には用いない方法について説明されている。この手法では、キャリブレーション工程で予め略点光源のボケ像の大きさと距離の関係を取得しておく。そして、計測時に撮像画像とキャリブレーション画像の略点光源のボケ像を比較することで距離を算出する。
【００５１】
非特許文献３の手法は、入力するパターンが図３（ｂ）に示す規則的に並んだ略点光源パターンの１種類であるため、１回の画像撮影で距離計測が算出可能である。そのため、移動する被写体に対しても距離計測が可能である。
【００５２】
一つの略点光源が一つの距離計測点に対応しているため、略点光源数が多いほど、高密度な距離計測が可能である。ただし、非特許文献３で用いられるボケ像の大きさの評価法では、計測したい略点光源のボケ像と隣接する略点光源のボケ像が重なり合う範囲では、計測が困難となる。そのため、略点光源の間隔を十分に広くする必要があり、距離計測点の密度は低くならざるを得ない。非特許文献３の手法では、画像セグメンテーションを用いた補間処理を導入することで距離計測の密度を向上させる方法が導入されている。ただし、画像セグメンテーションが失敗する範囲ではこの補間処理は実行できない。
【００５３】
（第１実施形態）
図４（ａ）を参照して、第１実施形態に係る距離計測装置の概略上面図について説明する。距離計測装置は、撮像装置１０、投影装置２０が、ビームスプリッタ５０、距離計測部８０を備える。また被写体３０が図に示す位置に配置されている。
【００５４】
投影装置２０は、投影光学系２１、略点光源アレイ２２、パターン制御部２３、光学伝達特性変更素子２４を備える。
【００５５】
投影光学系２１は、一又は複数の屈折・反射光学素子から構成されるもので、焦点距離ｆｐを有する。投影光学系２１の歪曲収差など各種パラメータは予めキャリブレーションしてあるものとする。
【００５６】
略点光源アレイ２２には、ＬＤアレイ、ＬＥＤアレイ、有機ＥＬ素子など各種自発光型の素子を集積化したものを用いることができる。指向性の高いビームを出力するＬＤアレイを用いる場合には、ＬＤアレイの前方に拡散板を配置し、拡散光に変換することが望ましい。また、照明光の透過率を任意に調整可能なＬＣＤやＬＣＯＳのように非自発光型の素子を用いることもできる。
【００５７】
パターン制御部２３は、略点光源アレイ２２の発光パターンを任意に制御することができる。自発光型の素子の場合には、パターン制御部２３により発光輝度を段階的に調整することが可能である。同様に非自発光型の素子の場合にも、パターン制御部２３により透過率を任意に制御できるため、輝度を段階的に調整することが可能である。
【００５８】
第１実施形態では、略点光源アレイ２２の発光パターンは図３（ｂ）に示す規則的に並べられた略点光源パターン６０を用いることができる。略点光源パターン６０は略点光源６１と、非発光領域６２とから構成される。略点光源６１は水平方向にはｐｈの間隔で、垂直方向にはｐｖの間隔で配置される。水平方向の略点光源６１の点数をＩ、垂直方向の略点光源６１の点数をＪとする。つまり、略点光源アレイ２２上に略点光源は、Ｉ×Ｊ点配置されている。
【００５９】
ただし、略点光源アレイ２２の発光パターンは図３（ｂ）に示したものに限られず、対象シーンの範囲、計測する奥行き範囲、被写体の反射率など各種条件に応じて適切なものに調整可能である。また、略点光源６１は必ずしも規則的に並んでいる必要はない。さらに略点光源アレイ２２の略点光源６１を全て発光させると、投影装置２０からは均一な照明が被写体に照射されることになる。これを利用することで、均一照明画像の撮影も可能になる。すなわち、本構成を用いれば、略点光源アレイ２２上の発光パターンの切り替えを行うのみで、距離計測と均一照明画像の撮影とを実行することができる。
【００６０】
座標（Ｘ、Ｙ、Ｚ）の原点には、投影光学系２１の光学中心Ｏｐが位置するようにする。座標の向きは図４（ａ）のように設定する。略点光源アレイ２２は座標の−ｚｆの位置に、ＸＹ平面に対して平行となるよう配置される。このとき、略点光源アレイ２２から出射した光束は、投影光学系２１によりＺｆの位置に設定された合焦面４０に収束する。近軸結像公式から略点光源アレイ２２の位置ｚｆ、合焦面４０の位置Ｚｆ、投影光学系２１の焦点距離ｆｐは以下の式（１３）で記述される関係にある。
【００６１】
【数１３】
2011133360.tif 000016
【００６２】
合焦面４０は計測範囲のカメラから最も遠い位置に設定されることが望ましい。これは、合焦面４０の前側で生じたボケ像と、後側で生じたボケ像の分離が困難なためである。光学伝達特性変更素子２４は、投影光学系２１の瞳位置（レンズ位置）に配置される。第１実施形態で変更される光学伝達特性は点像分布関数（Ｐｏｉｎｔ Ｓｐｒｅａｄ Ｆｕｎｃｔｉｏｎ；以下、「ＰＳＦ」と称する）である。この場合、光学伝達特性変更素子２４は透過率を空間的に符号化した空間透過率符号化素子である。第１実施形態では、空間透過率符号化素子は瞳位置に配置された符号化された開口であるとみなすことができるため、以下、符号化瞳と称する。
【００６３】
図４（ｂ）を参照して、第１実施形態の符号化瞳部７０について説明する。図４（ｂ）に示した符号化瞳部７０は微小開口７１がランダムに配置されたパターンである。微小開口以外の領域は遮光部７２である。第１実施形態では、使用する符号化瞳部７０として、ランダムな微小開口７１のパターンを例に挙げて説明するが、空間的に周期性の低いパターンであれば良い。従って、通信などで利用されるＭ系列からなるパターンも同様に用いることができる。なお、符号化瞳部７０の直径はＡｐである。
【００６４】
投影光学系２１によるボケ像は符号化瞳部７０の形状と同形状になることが知られている。符号化瞳部７０を有する投影光学系で略点光源から出射した光束を投影すると、Ｚ０に配置された被写体３０上には符号化瞳部７０のパターンと同形状のパターンが投影される。
【００６５】
ボケ像の大きさｂＭを単純な光線で考慮すると、三角形αβγと三角形αδεとの相似の関係からｂＭは以下の式（１４）のように記述される。
【００６６】
【数１４】
2011133360.tif 000017
【００６７】
式（１４）からボケ像の大きさｂＭは被写体距離Ｚ０に依存した関数であることがわかる。このため、ボケ像の大きさｂＭを評価することで、距離計測を行うことが可能である。簡単のために幾何光学的に説明したが、実際には波動光学的な振る舞いもするため、それを考慮する必要がある。
【００６８】
波動光学的な振る舞いとは具体的には回折である。符号化瞳部７０の形状が円形である場合、回折の影響により、ボケ像内での強度分布は０次のベッセル関数で表現される。また、符号化瞳部７０の形状が矩形の場合には、ボケ像内での強度分布がｓｉｎｃ関数(シンク関数)で表現される。これらの回折の影響による強度変動は、計測の前に行うキャリブレーションステップにより、適切に補正することができる。キャリブレーションステップの詳細については後述する。
【００６９】
撮像装置１０は撮像光学系１１、撮像素子１２を備える。撮像光学系１１は一又は複数の屈折・反射光学素子から構成されるもので、焦点距離ｆｃを持つ。なお撮像光学系１１の歪曲収差などの各種カメラパラメータは予めキャリブレーションしてあるものとする。撮像素子１２はＣＣＤセンサやＣＭＯＳセンサなどの各種光電変換素子を用いることができる。
【００７０】
撮像装置１０はパンフォーカス状態とし、被写界深度が撮像領域よりも大きいことが好ましい。これは、投影装置２０の投影光学系２１によるデフォーカスと撮像光学系１１によるデフォーカスを分離することが目的である。そのためには、撮像光学系１１の絞り径を適切な値に設定する必要がある。
【００７１】
撮像装置１０の前方被写界深度Ｌｆと後方被写界深度Ｌｒは、それぞれ以下の式（１５）と式（１６）から計算される。
【００７２】
【数１５】
2011133360.tif 000018
【００７３】
【数１６】
2011133360.tif 000019
【００７４】
ここで、φｒは許容錯乱円径、ＦｎｏはＦ値（絞り値）、Ｚ０は被写体距離、ｆｃは撮像光学系１１の焦点距離である。前方被写界深度Ｌｆと後方被写界深度Ｌｒとの和が撮像光学系１１の被写界深度である。
【００７５】
例えば、１／２インチ、ＶＧＡ、焦点距離１６ｍｍのレンズからなるカメラを用いて、１ｍ離れた３０ｃｍの奥行き範囲のシーンを撮影する場合を考える。許容錯乱円径φｒが撮像素子１２のピクセルピッチと同じ０．０１ｍｍであるとすると、Ｆ値（絞り値）は４よりも大きく設定する必要がある。一方、回折によるボケの限界は以下に示すエアリーの式（１７）で計算される。
【００７６】
【数１７】
2011133360.tif 000020
【００７７】
ここでλは光の波長である。可視光において最も長波長である７８０ｎｍで計算すると、撮像素子１２のピクセルピッチが０．０１ｍｍであればＦ値はＦ１１よりも小さくすれば回折による影響はなくなることになる。つまり、上記条件の下ではＦ値をＦ４〜Ｆ１１の間に設定する必要がある。
【００７８】
一方、ビームスプリッタ５０を用いて、撮像装置１０の撮像光学系１１の光軸と投影装置２０の投影光学系２１の光軸とを一致させる。ビームスプリッタ５０には強度で反射光と透過光を分割する素子であるハーフミラーを用いることができる。通常は反射光と透過光の比を１：１とするが、プロジェクタの輝度やカメラの感度に応じて適切に調整しても良い。ビームスプリッタ５０による反転を考慮した座標原点位置と撮像光学系１１の光学中心Ｏｃが一致するよう撮像光学系１１を配置する。また、撮像素子１２は撮像光学系１１の光学中心Ｏｃから焦点距離ｆｃだけ離して配置される。
【００７９】
距離計測部８０は、光学伝達特性変化量計測部８１と、キャリブレーションデータ格納部８２を備える。光学伝達特性変化量計測部８１で変化量を計測する光学伝達特性として、例えばＰＳＦ（点像分布関数）を使用する。ＰＳＦの変化量の計測には相関演算を用いる。演算装置としては、パーソナルコンピュータ、ＦＰＧＡ、専用ハードウェアなど各種演算装置を用いることができる。
【００８０】
キャリブレーションデータ格納部８２は、後述するキャリブレーションステップで取得するキャリブレーション画像を保存する。ハードディスクドライブ、フラッシュメモリーなど各種ストレージ機器を用いることができる。
【００８１】
図５（ａ）を参照して、第１実施形態の全体処理フローについて説明する。全体処理では、最初にキャリブレーションステップＳ５０１で装置のキャリブレーションが行われる。その後、距離計測ステップＳ５０２で距離計測が行われる。計測終了判定ステップＳ５０３において計測終了となるまで、距離計測ステップＳ５０２を繰り返し行う。
【００８２】
キャリブレーションステップＳ５０１では、図５（ｂ）に示した装置構成でキャリブレーションを実施する。図４（ａ）との違いはキャリブレーションボード９０と、並進ステージ９１と、図示しない並進ステージ制御部９２が追加されている点である。
【００８３】
キャリブレーションボード９０はＸＹ平面と平行に配置され、並進ステージ９１に乗せられる。並進ステージ９１は、並進ステージ制御部９２からの制御に基づいて、キャリブレーションボード９０をＸＹ平面との平行関係を維持したまま、Ｚ軸に沿って移動する。キャリブレーションボード９０の表面はランバート面であることが好ましいが、反射率が均一で、拡散性がある表面ならば他の面であっても良い。
【００８４】
また、キャリブレーションボード９０のサイズは計測範囲をカバーすることが望ましい。カメラから最も遠い計測位置をＺｅｎｄとし、プロジェクタの水平半画角をφｍａｘ,ｈとする。この場合、キャリブレーションボード９０の水平サイズＷｃａｌｉｂ,ｈは以下の式（１８）を満たすことが望ましい。
【００８５】
【数１８】
2011133360.tif 000021
【００８６】
同様に、プロジェクタの垂直半画角をφｍａｘ,ｖとすると、垂直サイズＷｃａｌｉｂ,ｖは以下の式（１９）を満たすことが望ましい。
【００８７】
【数１９】
2011133360.tif 000022
【００８８】
このサイズより大きいサイズのキャリブレーションボード９０が準備できない場合には、Ｘ方向とＹ方向に動作する並進ステージ９１を用いて計測範囲をカバーするように動かせば良い。
【００８９】
図６（ａ）を参照して、第１実施形態のキャリブレーションステップＳ５０１の具体的な処理フローについて説明する。第１実施形態では投影光学系、撮像光学系ともにシフトインバリアントなものであると仮定している。そのため、キャリブレーションステップは簡略化される。
【００９０】
キャリブレーションステップは回折によるボケ像内の強度変動を補正するために必要になる。キャリブレーションステップでは、最初にステップＳ６０１において、距離取得範囲の開始位置であるＺｓｔａｒｔと終了位置であるＺｅｎｄが設定される。なお、Ｚｅｎｄは合焦面４０までの距離Ｚｆよりも小さくする。ステップＳ６０２において、キャリブレーションボード９０をＺｆに移動させ、投影光学系２１を合焦面４０に合焦する。ステップＳ６０３で計測ピッチＺｐｉｔｃｈを設定する。この計測ピッチＺｐｉｔｃｈは距離の計測分解能に対応する。
【００９１】
ステップＳ６０４において、並進ステージ制御部９２によりキャリブレーションボード９０を制御して、キャリブレーションボード９０をＺｓｔａｒｔに移動させる。ステップＳ６０５では、投影装置２０内のパターン制御部２３により、略点光源アレイ２２の中央部の略点光源を点灯させる。ステップＳ６０６において、撮像装置１０により、画像撮影を実施する。ここでは、投影光学系２１、撮像光学系１１ともにシフトインバリアントを仮定しているため、中央部の一点のみを点灯させて、画像撮像すれば良い。投影光学系２１、撮像光学系１１のシフトインバリアントが仮定できない場合には、図３（ｂ）に示した略点光源パターン６０に対応する位置の略点光源を順に点灯させて画像撮影する必要がある。
【００９２】
ステップＳ６０７において、撮像画像をキャリブレーションボード９０の位置Ｚに関連づけて、キャリブレーションデータ格納部８２に保存する。ステップＳ６０８において、キャリブレーションボードの位置がＺｅｎｄに到達しているかを判定する。到達している場合には（ステップＳ６０８；ＹＥＳ）、キャリブレーションステップを終了する。到達していない場合には（ステップＳ６０８；ＮＯ）、ステップＳ６０９に進み、キャリブレーションボード９０をＺｐｉｔｃｈだけ移動させる。そして、ステップＳ６０５に戻る。
【００９３】
図６（ｂ）を参照して、にＺを変えながら撮影した複数枚のキャリブレーション画像の例について説明する。画像９３はＺ＝Ｚｓｔａｒｔのときのキャリブレーション画像である。画像９４はＺ＝Ｚａのときのキャリブレーション画像である。画像９５はＺ＝Ｚｂのときのキャリブレーション画像である。画像９６はＺ＝Ｚｅｎｄのときのキャリブレーション画像である。なお、それぞれのＺの値はＺｓｔａｒｔ＜Ｚａ＜Ｚｂ＜Ｚｅｎｄという関係にある。
【００９４】
また、パターン９７はボケ像のパターンを示している。符号化瞳部７０を有する投影装置２０によるボケ像は符号化瞳と同形状になる。合焦位置Ｚｆに近いＺｅｎｄではボケ像のサイズは小さくなる。Ｚｅｎｄから離れ、Ｚｓｔａｒｔに近づくほど、合焦位置Ｚｆから離れるため、ボケ像のサイズが大きくなる。
【００９５】
以上がキャリブレーションステップＳ５０１の具体的な処理フローである。なお、キャリブレーションステップＳ１００は投影光学系２１のレンズデータが判明している場合には、光学シミュレーションにより省略することができる。例えば、キャリブレーションボード９０に対応する位置に評価面を設定し、略点光源位置から光線追跡を行い、スポットダイアグラムを計算する。これにより、ＰＳＦが得られるため、キャリブレーション画像と同等のものが得られる。
【００９６】
次に図７（ａ）を参照して、図５（ａ）で説明した第１実施形態の距離計測ステップＳ５０２の具体的な処理フローについて説明する。距離計測ステップでは、ステップＳ７０１で略点光源アレイ２２に規則的に並べられたＩ×Ｊ点の略光源パターンを点灯させる。  次にステップＳ７０２において、撮像装置１０により画像撮影を実施する。ステップＳ７０３において、計測略点光源をｉ＝０、ｊ＝０に設定する。計測略点光源数はＩ×Ｊ点存在するため、ｉは０からＩ−１まで、ｊは０からＪ−１までの整数値をとることになる。ステップＳ７０４において、ｉとｊの各値から撮像画像座標上での主光線の位置Ｘ＝Ｘ’ｉ、Ｙ＝Ｙ’ｊを計算する。
【００９７】
図７（ｂ）に略点光源の主光線の撮像素子１２上での結像位置を示す。図７（ｂ）では、簡単のためにＸＺ平面による断面図を示している。投影装置２０において、ｉ＝ｉの略点光源ｓｉから出射する光線Ｒａｙｉの略点光源アレイ２２上でのＸ座標Ｘｉは以下の式（２０）で示される。ここで、ｐｈは図３（ｂ）で説明した、規則的に並べられた略点光源パターン６０の水平方向の間隔である。
【００９８】
【数２０】
2011133360.tif 000023
【００９９】
また投影光学系２１の光軸に対する主光線の出射角φｎは以下の式（２１）で示される。
【０１００】
【数２１】
2011133360.tif 000024
【０１０１】
被写体３０上の計測点Ｍｉに照射された光は、計測点Ｍｉを２次光源として光線を発する。発せられた光線はビームスプリッタ５０で反射し、光線Ｒａｙｉ’となり、撮像装置１０に入射する。撮像装置１０における受光角θｉは、撮像素子１２上での結像位置をＸｉ’とすると、物体の奥行き位置に依らず以下の式（２２）で示される。
【０１０２】
【数２２】
2011133360.tif 000025
【０１０３】
同軸、かつ、画角が等しい場合、φｎ＝θｉが成り立つので、式（２１）及び式（２２）から結像位置Ｘｉ’は以下の式（２３）で示される。
【０１０４】
【数２３】
2011133360.tif 000026
【０１０５】
すなわち、略光源の点灯位置Ｘｉから、被写体３０の奥行きに依らず撮像素子１２上での主光線の結像位置Ｘｉ’を導出することができる。これをＹ方向についても同様に、以下の式（２４）、式（２５）が導かれる。
【０１０６】
【数２４】
2011133360.tif 000027
【０１０７】
【数２５】
2011133360.tif 000028
【０１０８】
次にステップＳ７０５において、Ｚの値をＺｓｔａｒｔに設定する。キャリブレーション画像はステップＳ６０７においてキャリブレーションデータ格納部８２にＺの値と関連付けて保存してあるので、Ｚ＝Ｚのキャリブレーション画像を読み出す。
ステップＳ７０６において、光学伝達特性変化量計測部８１は撮像画像と読み出したキャリブレーション画像とで相関演算を実施する。
【０１０９】
キャリブレーション画像の中心位置と撮像画像のＸｉ’ 、Ｙｊ’を一致させて相関演算をするために、以下の式（２６）を使用する。式（２６）により算出される相関値は、まず図９で後述する画像１３Ａ、または、画像１３Ｂと画像９３Ａ〜画像９６Ａを最大値で正規化する。その後、相関演算領域Ｗｘ×Ｗｙの全画素に対して差分の絶対値を演算し、それらの和の逆数をとったものに相当する。
【０１１０】
【数２６】
2011133360.tif 000029
【０１１１】
ここで、Ｃｏｒｒｅは相関値を表す。Ｗｘは水平方向の評価ウィンドウサイズ、Ｗｙは垂直方向の評価ウィンドウサイズである。また、ｇｃａｌｉｂはキャリブレーション画像を、ｇｃａｐは撮像画像を示している。ａｂｓ （ ）は（ ）内の絶対値を計算する関数である。なお、ｇｃａｌｉｂとｇｃａｐは、画像輝度による変動分をキャンセルするために、評価ウィンドウＷｘ×Ｗｙ内の輝度の最大値で予め正規化してあるものとする。（ｘ，ｙ）は画像座標値であり、以下の式（２７）で示すように座標値（Ｘ,Ｙ）をピクセルピッチｐｃで除した値である。
【０１１２】
【数２７】
2011133360.tif 000030
【０１１３】
式（２６）で示される相関演算を実施すると、キャリブレーション画像ｇｃａｌｉｂと撮像画像ｇｃａｐの差が大きいほど、Ｃｏｒｒｅの値は小さくなる。一方、キャリブレーション画像ｇｃａｌｉｂと撮像画像ｇｃａｐの差が小さいほどＣｏｒｒｅの値は大きくなる。すなわち、Ｃｏｒｒｅの値の大小で、キャリブレーション画像と撮像画像の類似性を評価することができる。
【０１１４】
ステップＳ７０７では、ＺがＺｅｎｄよりも小さいか否かの判定を行う。ＺがＺｅｎｄよりも小さい場合（ステップＳ７０７；ＹＥＳ）、ステップＳ７０８に進む。ステップＳ７０８において、Ｚの値にＺｐｉｔｃｈの値を加算し、ステップＳ７０６に戻る。一方、ＺがＺｅｎｄよりも大きい場合（ステップＳ７０７；ＮＯ）、ステップＳ７０９に進む。
【０１１５】
ステップＳ７０９において、ＺｓｔａｒｔからＺｅｎｄの間で算出した相関値の中でも最も高い値を示したＺの値を距離として出力する。ステップＳ７１０において、ｉがＩよりも小さいか否かを判定する。ｉがＩよりも小さい場合（ステップＳ７１０；ＹＥＳ）、ステップＳ７１１に進む。ステップＳ７１１において、ｉをｉ＋１に更新した後、ステップＳ７０４に戻る。一方、ｉ＝Ｉである場合（ステップＳ７１０；ＮＯ）、ステップＳ７１２に進む。ステップＳ７１２において、同様にｊがＪよりも小さいか否かを判定する。ｊがＪよりも小さい場合（ステップＳ７１２；ＹＥＳ）、ステップＳ７１３に進む。ステップＳ７１３において、ｊをｊ＋１に更新した後、ステップＳ７０４に戻る。一方、ｊ＝Ｊである場合（ステップＳ７１２；ＮＯ）、距離計測ステップを終了する。
【０１１６】
次に図８乃至図１１を参照して、相関演算を実施することでボケ像の大きさを判定する原理について説明する。
【０１１７】
図８（ａ）はＩ＝４、Ｊ＝３の場合に被写体３０を撮影した画像１３を示した図である。図８（ｂ）は撮影に使用した被写体３０の詳細を示した図である。図８（ｂ）に示すように、被写体３０は座標の原点Ｏｐから距離Ｚａの面３０Ａと、距離Ｚｂの面３０Ｂを有する階段状の物体である。なお、被写体３０はＸ方向には階段状になっているが、Ｙ方向には勾配はない。図８の撮像画像においては、合焦面４０に近い面３０Ｂではボケ像のサイズが比較的小さく、合焦面４０から遠い面３０Ａではボケ像のサイズが比較的大きくなっていることがわかる。
【０１１８】
図９に示した画像１３Ａは、図８（ａ）における撮像画像１３のｉ＝０、ｊ＝０のときの相関演算領域Ｗｘ×Ｗｙを拡大図である。同様に１３Ｂはｉ＝３，ｊ＝０の相関演算領域Ｗｘ×Ｗｙの拡大図である。
また、画像９３Ａは図６（ｂ）の画像９３で示したＺ＝Ｚｓｔａｒｔのときのキャリブレーション画像の相関演算領域Ｗｘ×Ｗｙの拡大図である。同様に画像９４Ａ、画像９５Ａ、画像９６Ａは、それぞれ画像９４、画像９５、画像９６から相関演算領域Ｗｘ×Ｗｙを切り出し、拡大した図である。
【０１１９】
図１０（ａ）に画像１３Ａと画像９３Ａ〜画像９６Ａの中央部１ラインのデータを抽出し、正規化した後の画像の輝度分布をプロットしたグラフを示す。同様に図１０（ｂ）に画像１３Ｂと画像９３Ａ〜画像９６Ａの場合の画像の輝度分布をプロットしたグラフを示す。図１０（ａ）の撮像画像のグラフ１３ａと、画像９３Ａ〜画像９６Ａに対応するグラフ９３ａ〜グラフ９６ａの各グラフとを比較すると、Ｚ＝Ｚａのときのグラフ９４ａとの類似性が高い。一方、図１０（ｂ）の撮像画像のグラフ１３ｂはＺ＝Ｚｂのときのグラフ９５ａとの類似性が高い。
【０１２０】
図１１に、横軸に距離Ｚ、縦軸に相関値Ｃｏｒｒｅをプロットしたグラフを示す。グラフＣａがｉ＝０、ｊ＝０のときのグラフを、グラフＣｂがｉ＝３、ｊ＝０のときのグラフを示している。ｉ＝０、ｊ＝０のときはＺａで最も高い相関値Ｃｏｒｒｅｍａｘを示すので、距離Ｚａを出力する。一方、ｉ＝３、ｊ＝０のときはＺｂで最も高い相関値Ｃｏｒｒｅｍａｘを示すので、距離Ｚｂを出力する。
【０１２１】
上記のように相関値Ｃｏｒｒｅが最も高いＺの値を出力した後、ステップＳ７１０に進む。ステップＳ７１０において、ｉがＩよりも小さいか否かの判定を行う。ｉがＩよりも小さい場合（ステップＳ７１０；ＹＥＳ）、ステップＳ７１１に進み、ｉの値に１を加算した後、ステップＳ７０４に戻る。一方、ｉがＩと等しい場合（ステップＳ７１０；ＮＯ）、ステップＳ７１２に進む。
【０１２２】
ステップＳ７１２において、ステップＳ７１０と同様に、ｊがＪよりも小さいか否かの判定を行う。ｊがＪよりも小さい場合（ステップＳ７１２；ＹＥＳ）、ステップＳ７１３に進み、ｊの値に１を加算した後、ステップＳ７０４に戻る。一方、ｊがＪと等しい場合（ステップＳ７１２；ＮＯ）、画像中の全ての略点光源において距離Ｚが出力されたことになるため、距離計測ステップＳ５０２を終了する。以上が距離計測ステップＳ５０２の処理フローである。
【０１２３】
ステップＳ５０２が終了すると、ステップＳ５０３の計測終了判定ステップに進む。ステップＳ５０３において、計測を終了するか否かの判定を行う。計測を終了しない場合（ステップＳ５０３；ＮＯ）、ステップＳ５０２に戻る。これにより複数画面内での距離計測を行うことができる。一方、計測を終了する場合（ステップＳ５０３；ＮＯ）、計測を終了し、リターンする。
【０１２４】
ここで、投影装置２０の瞳を非特許文献３で用いられている円形瞳ではなく、ランダムなパターンの符号化瞳とした場合の効果の説明をする。まず、隣接する略点光源においてボケ像の重なりがない場合について説明する。
【０１２５】
図１２（ａ）に円形瞳で撮影したときの撮像画像を、また、図１２（ｂ）にキャリブレーション画像を示す。そして、図１３（ａ）に円形瞳の場合の相関演算領域Ｗｘ×Ｗｙにおける正規化輝度分布を示す。図１３（ｂ）に円形瞳の場合の相関値Ｃｏｒｒｅの結果を示す。グラフＣａｃがｉ＝０、ｊ＝０のときのグラフであり、グラフＣｂｃがｉ＝３、ｊ＝０のときのグラフである。グラフＣａｃは被写体距離Ｚａで、グラフＣｂｃは被写体距離Ｚｂで相関値Ｃｏｒｒｅの最大ピークを持つ。従って、円形瞳であっても図１２（ａ）の撮像画像のように隣接する略点光源においてボケ像の重なりがない場合には、ボケの大きさを判定することができる。
【０１２６】
次に、図１４を参照して、計測する略点光源によるボケと隣接する略点光源のボケが重なり合う場合について説明する。略点光源数を９×５点としたとき（Ｉ＝９、Ｊ＝５）の撮像画像である。図１４（ａ）は円形瞳の場合、図１４（ｂ）が符号化瞳の場合である。略点光源数を増やしたため、その密度が上がり、隣接する略点光源によるボケ像に重なりが生じている。
【０１２７】
図１４（ａ）に示される相関演算領域１３ＡＣ’と、図１４（ｂ）に示される相関演算領域１３Ａ’の１ラインの正規化輝度分布とキャリブレーション画像の正規化輝度分布を図１５（ａ）に示す。また、図１５（ｂ）に隣接略点光源によるボケ像に重なりがある場合の相関値Ｃｏｒｒｅをプロットしたグラフを示す。グラフＣａｃ’が円形瞳の場合の相関値を示したもので、グラフＣａ’が符号化瞳の場合の相関値を示したものである。
【０１２８】
円形瞳の場合、ボケ像に重なりがあると隣接する略点光源のボケ像の分離を行うことができない。そのため、図１５（ａ）の正規化輝度分布において、被写体３０が存在する距離であるＺ＝Ｚａのキャリブレーション画像との相関が低くなる。図１５（ｂ）のグラフＣａｃ’に示すように、相関値Ｃｏｒｒｅをとっても対応する位置に相関のピークが来ない。Ｚ＝Ｚｓｔａｒｔのようにキャリブレーション画像の中で最もボケ像幅の広いものとの相関が高くなってしまう。
【０１２９】
一方、符号化瞳の場合には、ボケ像に重なりがあっても計測する略点光源によるボケ像と隣接する略点光源によるボケ像の分離を行うことができる。これは、ボケ像に重なりがあっても、ランダムに配置された微小開口による個々のボケ像の一部が保存されるからである。そのため、図１５（ａ）の正規化輝度分布において、被写体３０が存在する距離であるＺ＝Ｚａのキャリブレーション画像との相関が高くなる。また図２１５（ｂ）のグラフＣａ’に示すように正しい距離で相関値Ｃｏｒｒｅの最大ピークとなる。
【０１３０】
このように、投影装置２０の瞳を従来法の円形瞳で計測を行う場合には、ボケ像の重なりが悪影響を及ぼすため、略点光源を配置する密度に制限があった。一方、第１実施形態で説明したように、符号化瞳で計測を行う場合には、ボケ像の重なりの影響を除外できる。そのため、略点光源を従来よりも高密度に配置することができる。これにより距離データを取得する密度を向上させることができる。また、密度が同じであったとしても許容されるボケ像に重なりが生じても良いため、距離取得範囲を拡大することも可能となる。
【０１３１】
（第２実施形態）
図１６（ａ）を参照して、第２実施形態に係る距離計測装置の概略上面図について説明する。第２実施形態では投影装置２０の投影光学系２１と撮像装置１０の撮像光学系１１の光軸が同軸ではない構成である。投影装置２０と撮像装置１０は光軸が平行になるように基線長Ｂだけ離して配置されている。座標の原点、すなわち（Ｘ，Ｙ，Ｚ）＝（０，０，０）となる位置は、撮像光学系１１の光学中心位置Ｏｃとする。
【０１３２】
第２実施形態では、第１実施形態とは異なりビームスプリッタ５０を必要としない構成である。ビームスプリッタを使用する構成だと、ビームスプリッタ５０がハーフミラーである場合、反射光と透過光の比は１：１である。投影装置２０から出射した光は一度の透過と一度の反射後に、撮像装置１０に入射するため、１／４に減衰することになる。そのため、ハーフミラーを必要としない第２実施形態では、照明の効率が４倍になるというメリットがある。
【０１３３】
一方で、第１実施形態とは異なり、投影光学系２１と撮像光学系１１が同軸でないため、オクルージョンが発生し、距離計測ができない領域が存在するというデメリットがある。また、点光源の結像位置が撮像素子１２上のどの位置に来るのかは事前にわからないため、キャリブレーション画像をラスタスキャンしながら相関演算する必要がある。そのため、第１実施形態に比べると演算コストが増加する。よって、要求される照明効率と、演算コスト・オクルージョンに応じて第１実施形態と第２実施形態の構成のうち適切なものを選択すればよい。
【０１３４】
図１６（ｂ）を参照して、第２実施形態における全体処理フローチャートについて説明する。キャリブレーションステップＳ１６０１と計測終了判定ステップＳ１６０３は第１実施形態で説明した図５のステップＳ５０１、ステップ５０３と同一であるため、ここでは説明を省略する。
【０１３５】
図１７（ａ）を参照して、第２実施形態における距離計測ステップＳ１６０２の具体的な処理を示したフローチャートについて説明する。距離計測ステップではまず、ステップＳ１７０１において、略点光源アレイ２２に規則的に並べられたＩ×Ｊの略点光源パターンを点灯する。次にステップＳ１７０２において、画像撮影を行う。ステップＳ１７０３において、キャリブレーション画像の距離ＺをＺｓｔａｒｔに設定する。
【０１３６】
次にステップＳ１７０４において、撮像画像の画像座標をｘ ＝ ｘｓｔａｒｔ、ｙ＝ｙｓｔａｒｔに設定する。なお、ｘ＝ｘｓｔａｒｔ、ｙ＝ｙｓｔａｒｔは撮像画像の相関演算を開始する画像座標を表している。なお、相関演算を終了する画像座標はｘ＝ｘｅｎｄ、ｙ＝ｙｅｎｄである。
【０１３７】
ステップＳ１７０５において、距離Ｚのときのキャリブレーション画像と撮像画像の座標（ｘ，ｙ）を中心とする相関演算領域Ｗｘ×Ｗｙで相関演算を実施し、相関値Ｃｏｒｒｅを算出する。相関演算には第１実施形態で用いた式（２６）を使用する。次にステップＳ１７０６において、算出された相関値Ｃｏｒｒｅが予め設定した相関値の閾値Ｃｏｒｒｅｔｈよりも大きいか否か判定する。大きい場合には（ステップＳ１７０６；ＹＥＳ）、ステップＳ１７０７に進む。一方、閾値以下の場合には（ステップＳ１７０６；ＮＯ）、ステップＳ１７０８に進む。ステップＳ１７０７において、画像座標（ｘ，ｙ）における距離候補値をＺｃａｎとし、座標（ｘ，ｙ）における閾値Ｃｏｒｒｅｔｈを、算出された相関値Ｃｏｒｒｅに更新する。
【０１３８】
ステップＳ１７０８において、ｘがｘｅｎｄよりも小さいか否かの判定を行う。ｘがｘｅｎｄよりも小さい場合（ステップＳ１７０８；ＹＥＳ）には、ステップＳ１７０９に進み、ｘに１を加算した後、ステップＳ１７０５に戻る。一方、ｘがｘｅｎｄよりも大きい場合（ステップＳ１７０８；ＮＯ）には、ステップＳ１７１０に進む。
【０１３９】
ステップＳ１７１０において、ｙがｙｅｎｄよりも小さいか否かの判定を行う。ｙがｙｅｎｄよりも小さい場合（ステップＳ１７１０；ＹＥＳ）には、ステップＳ１７１１に進み、ｙに１を加算した後、ステップＳ１７０５に戻る。一方、ｙがｙｅｎｄよりも大きい場合（ステップＳ１７１０；ＮＯ）には、ステップＳ１７１２に進む。
【０１４０】
ステップＳ１７１２において、ＺがＺｅｎｄよりも小さいか否かの判定を行う。ＺがＺｅｎｄよりも小さい場合（ステップＳ１７１２；ＹＥＳ）には、ステップＳ１７１３に進み、ＺにＺｐｉｃｔｈを加算した後、ステップＳ１７０４に戻る。一方、ＺがＺｅｎｄよりも大きい場合（ステップＳ１７１２；ＮＯ）には、ステップＳ１７１４に進む。
【０１４１】
ステップＳ１７０４〜ステップＳ１７１３は、図１７（ｂ）に示すように奥行き値Ｚｓｔａｒｔ〜Ｚｅｎｄに対応するキャリブレーション画像を、撮像画像１３中でラスタスキャンしながら相関演算することに相当する。第２実施形態では、撮像光学系１１と投影光学系２１の光軸が同軸ではないため、点光源中心位置が画像中で一意に決まらない。そのため、上記ラスタスキャン処理が必要となる。
【０１４２】
ステップＳ１７１４において、距離候補値Ｚｃａｎの絞り込みを行う。例えば、隣接する（ｘ，ｙ）に同一の奥行き値が割り振られた場合には、より相関値の高い方を出力するといった処理をする。
【０１４３】
ステップＳ１７１５において、ステップＳ１７１４で絞り込まれた距離候補Ｚｃａｎに対して、座標（Ｘ，Ｙ）を算出する。図１６の計測点Ｍの距離計測結果がＺ０のとき、その座標（Ｘ０，Ｙ０）は、以下の式（２８）で算出される。
【０１４４】
【数２８】
2011133360.tif 000031
【０１４５】
ここで、（ｘｃ，ｙｃ）はカメラ座標上での計測点Ｍの結像位置である。上記（Ｘ，Ｙ）の算出を全ての距離候補に対して計算する。ステップＳ１７１６おいて、ステップＳ１７１５で算出した座標（Ｘ，Ｙ，Ｚ）の値を出力する。以上が距離計測ステップＳ１６０２の具体的な処理フローである。
【０１４６】
（第３実施形態）
第３実施形態に係る距離計測装置の概略上面図は、第１実施形態の図４（ａ）と同様である。ただし、光学伝達特性変更素子２４のパターンが第１実施形態とは異なる。第３実施形態でも変更される光学伝達特性はＰＳＦである。この場合も、光学伝達特性変更素子２４は透過率を空間的に符号化した空間透過率符号化素子である。第３実施形態でも、空間透過率符号化素子は瞳位置に配置された符号化された開口であるとみなせるため、以下、符号化瞳と称する。
【０１４７】
第１実施形態の場合、符号化瞳２４として図４（ｂ）で示した微小開口がランダムに配置された符号化瞳部７０のパターン、あるいは、Ｍ系列に基づくパターンを使用する構成について説明した。第３実施形態の場合には、図１８（ａ）で示すパターンの符号化瞳部７０’を使用する。
【０１４８】
このパターンは非特許文献１の撮像光学系の瞳部分に使われているパターンである。このパターンは周波数領域で特異な性質を持つ。図１８（ｂ）は、図１８（ａ）の符号化瞳部７０’の周波数領域での性質を示すための図である。この図１８（ｂ）は、空間領域におけるパターンのスケールを変えたときの、対応する周波数領域の信号をプロットしたものである。グラフ７０ｓ４’、グラフ７０ｓ２’、グラフ７０ｓ１’は瞳径がそれぞれ４Ａｐｂ、２Ａｐｂ、Ａｐｂのときの空間領域でのグラフである。一方、グラフ７０ｆ４’、グラフ７０ｆ２’、グラフ７０ｆ１’は、瞳径がそれぞれ４Ａｐｂ、２Ａｐｂ、Ａｐｂのときの周波数領域でのグラフである。周波数領域での零点の位置をＦ０で示している。これより、パターンのスケールに応じて零点の位置Ｆ０が変わるという性質を持つことがわかる。
【０１４９】
比較のために、図１８（ｃ）に、円形瞳の周波数領域での性質を説明するための図を示す。グラフ７０ｓ４、グラフ７０ｓ２、グラフ７０ｓ１は瞳径がそれぞれ４Ａｐｂ、２Ａｐｂ、Ａｐｂのときの空間領域でのグラフである。グラフ７０ｆ４、グラフ７０ｆ２、グラフ７０ｆ１は、瞳径がそれぞれ４Ａｐｂ、２Ａｐｂ、Ａｐｂのときの周波数領域でのグラフである。周波数領域での代表的な零点の位置をＦ０で示している。これより、スケールによって零点の発生周期は異なるものの、同一位置に零点が発生していることがわかる。
【０１５０】
第３実施形態では、ＰＳＦを利用したデコンボリューションにより、距離計測を行う。ＰＳＦは光学系のインパルス応答に対応する。図１８（ａ）で示すパターンの性質を利用すると、ＰＳＦを利用したデコンボリューションの際に、距離計測精度が向上するという効果がある。その効果の詳細については後述する。なお、第３実施形態に使用できるパターンは、上述した性質を有するものであれば図１８（ａ）のパターンに限られるものではない。
【０１５１】
非特許文献１では符号化瞳部７０’を撮像光学系の瞳部分に使用することで、撮像光学系によるボケ像のサイズの評価に用いていた。しかし、第３実施形態では、投影光学系の瞳に図１８（ａ）で示す符号化瞳を導入することで、ボケ像のサイズを評価する。非特許文献１では撮像光学系によるボケを利用した距離計測であるため、テクスチャの無い被写体では計測できなかった。第３実施形態では投影光学系により符号化瞳パターンを投影するため、テクスチャの無い被写体でも距離計測が可能になる。
【０１５２】
図１９（ａ）を参照して、第３実施形態の全体処理のフローチャートについて説明する。キャリブレーションステップＳ１９０１と計測終了判定ステップＳ１９０３は、第１実施形態で説明したステップＳ５０１、ステップＳ５０３と同様であるため、ここでは省略する。なお、ステップＳ１９０１で取得したキャリブレーション画像は投影光学系２１の略点光源に対する応答を表していると考えられる。従って、キャリブレーション画像は各距離で取得したＰＳＦであるとみなせる。
【０１５３】
図１９（ｂ）を参照して、第３実施形態の距離計測ステップＳ１９０２の具体的な処理フローについて説明する。
【０１５４】
ステップＳ１９５１において、図３（ｂ）に示す略点光源アレイに規則的に並べられたＩ×Ｊ点の略点光源パターンを点灯する。次にステップＳ１９５２において、撮像装置１０により画像撮影を実施する。
【０１５５】
ステップＳ１９５３において、計測略点光源をｉ＝０、ｊ＝０に設定する。次にステップＳ１９５４において、ｉとｊの値から撮像画像座標上での主光線の位置Ｘ＝Ｘｉ’、Ｙ＝Ｙｊ’を計算する。第１実施形態と同様にＸｉ’とＹｊ’の値は、式（２３）と式（２５）により計算される。
【０１５６】
ステップＳ１９５５において、Ｚの値をＺｓｔａｒｔに設定する。次にステップＳ１９５６において、観測画像ｇｏｂｓにＺ＝ＺのときのＰＳＦを利用したデコンボリューションを行い、回復画像ｇｒｅｃｖを生成する。なお、観測画像ｇｏｂｓとは撮像画像の（Ｘｉ’，Ｙｊ’）を中心とする演算領域Ｗｘ×Ｗｙを切り出した画像であるとする。
【０１５７】
観測画像ｇｏｂｓは、以下の式（２９）のように物体の強度分布ｇｏｂｊとＰＳＦのコンボリューションで記述される。
【０１５８】
【数２９】
2011133360.tif 000032
【０１５９】
ここで、ｈ（ｘ，ｙ）はＰＳＦである。式（２９）から、観測画像ｇｏｂｓをＰＳＦであるｈ（ｘ，ｙ）でデコンボリューションすれば物体の強度分布ｇｏｂｊが得られることがわかる。通常、ＰＳＦによるデコンボリューションは周波数領域で演算される。その理由は、周波数領域ではコンボリューションを掛け算で演算可能であり、計算を簡略化できるためである。式（２９）をフーリエ変換すると以下の式（３０）となる。
【０１６０】
【数３０】
2011133360.tif 000033
【０１６１】
ここで、Ｇｏｂｓ、Ｇｏｂｊ、Ｈはそれぞれ観測画像ｇｏｂｓ、物体の強度分布ｇｏｂｊ、ＰＳＦであるｈ（ｘ，ｙ）のフーリエ変換を表す。ｕ，ｖは周波数領域における変数である。式（３０）から物体の強度分布のフーリエ変換Ｇｏｂｊ（ｕ，ｖ）は、以下の式（３１）のように表される。
【０１６２】
【数３１】
2011133360.tif 000034
【０１６３】
式（３１）を逆フーリエ変換すれば観測画像と光学系のＰＳＦから物体の強度分布を復元することができる。ただし、式（３１）はＨ（ｕ，ｖ）で割り算をしているため、Ｈ（ｕ，ｖ）が零の値を持つときには誤差が生じ、完全な物体の強度分布を復元できない。よって、区別するために回復画像のデコンボリューションをＧｒｅｃｖと表記した以下の式（３２）を用いる。
【０１６４】
【数３２】
2011133360.tif 000035
【０１６５】
回復画像ｇｒｅｃｖは以下の式（３３）で示すようにＧｒｅｃｖの逆フーリエ変換で求められる。
【０１６６】
【数３３】
2011133360.tif 000036
【０１６７】
ステップＳ１９５７において、ステップＳ１９５６で生成した回復画像ｇｒｅｃｖにＰＳＦであるｈ（ｘ，ｙ）をコンボリューションし、再ぼかし画像ｇｂｌｕｒを生成する。再ぼかし画像は以下の式（３４）で得られる。
【０１６８】
【数３４】
2011133360.tif 000037
【０１６９】
ステップＳ１９５８において、観測画像ｇｏｂｓと再ぼかし画像ｇｂｌｕｒの差の絶対値をとることで、Ｚ＝Ｚのときの誤差値Ｅｒｒｏｒを評価する。具体的には以下の式（３５）を用いる。
【０１７０】
【数３５】
2011133360.tif 000038
【０１７１】
ステップＳ１９５９において、ＺがＺｅｎｄよりも小さいか否かの判定を行う。ＺがＺｅｎｄよりも小さい場合（ステップＳ１９５９；ＹＥＳ）には、ステップＳ１９６０に進み、Ｚの値にＺｐｉｔｃｈを加算した後、ステップＳ１９５６に戻る。一方、ＺがＺｅｎｄよりも大きい場合（ステップＳ１９５９；ＮＯ）には、ステップＳ１９６１に進む。ステップＳ１９６１において、誤差Ｅｒｒｏｒの値が最も小さいＺの値を距離として出力する。
【０１７２】
ここで、図１８（ａ）の符号化瞳部７０’はスケールに応じて、周波数領域で零点の位置が変わるという性質を持つことを図１８（ｂ）により説明した。この性質は、ステップＳ１９５６におけるデコンボリューションと、ステップＳ１９５７におけるコンボリューションの際に、スケールが異なる場合には誤差が強調され、スケールが一致する場合には誤差が抑えられることを示している。具体的には、スケールが異なる場合、周波数領域での零点の位置が必ず異なるため、零での割り算が発生し誤差が強調される。一方、スケールが一致する場合には、零を零で割ることになるため、誤差が抑えられる。上記、性質を利用することで、ＰＳＦのスケールの評価が高精度に行えるため、距離計測の精度も向上する。
【０１７３】
次にステップＳ１９６２において、ｉがＩよりも小さいか否かの判定を行う。ｉがＩよりも小さい場合（ステップＳ１９６２；ＹＥＳ）には、ステップＳ１９６３に進み、ｉに１を加算した後、ステップＳ１９５４に戻る。一方、ｉがＩよりも大きい場合（ステップＳ１９６２；ＮＯ）には、ステップＳ１９６４に進む。
【０１７４】
ステップＳ１９６４において、ｊがＪよりも小さいか否かの判定を行う。一方、ｊがＪよりも小さい場合（ステップＳ１９６４；ＹＥＳ）には、ステップＳ１９６５に進み、ｊに１を加算した後ステップＳ１９５４に戻る。一方、ｊがＪよりも大きい場合（ステップＳ１９６４；ＮＯ）には、距離計測ステップＳ１９０２を終了する。
【０１７５】
ステップＳ１９６２からステップＳ１９６５の各ステップを行うことで、略点光源アレイ２２に並んだ略点光源パターンの全略点光源において距離計測を行うことができる。
【０１７６】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011133360.tif 000039
【図２】
2011133360.tif 000040
【図３】
2011133360.tif 000041
【図４】
2011133360.tif 000042
【図５】
2011133360.tif 000043
【図６】
2011133360.tif 000044
【図７】
2011133360.tif 000045
【図８】
2011133360.tif 000046
【図９】
2011133360.tif 000047
【図１０】
2011133360.tif 000048
【図１１】
2011133360.tif 000049
【図１２】
2011133360.tif 000050
【図１３】
2011133360.tif 000051
【図１４】
2011133360.tif 000052
【図１５】
2011133360.tif 000053
【図１６】
2011133360.tif 000054
【図１７】
2011133360.tif 000055
【図１８】
2011133360.tif 000056
【図１９】
2011133360.tif 000057