(58)【調査した分野】(Int.Cl.,DB名)
コンピュータを、請求項1から10のいずれか1項に記載の測距装置の各手段、または、請求項11から16のいずれか1項に記載の測距システムの各手段として機能させるプログラム。
【発明を実施するための形態】
【0012】
本発明の実施形態を、図面を用いて詳細に説明する。本発明の技術的範囲は以下で説明される実施形態に内容に限定されない。また、各実施形態を適宜組み合わせても良い。
【0013】
(第1の実施形態)
<概要>
図1(A)は、本実施形態に係る測距システム100の概略構成を示す図である。測距システム100は、パターン投影を行う投影装置101と、撮像および距離計測を行う測距装置(カメラ装置)103を含んで構成される。測距システム100では、投影装置101から被写体102へパターン投影を行った状態で、測距装置103が2枚の視差画像を撮影し、画像間の視差量に基づいて被写体距離を求める。
【0014】
被写体102の模様(テクスチャともいう)が乏しいときに、周辺環境光や均一照明光のみで撮影をすると、視差画像のコントラストやS/N比が低下し、相関値ピークの算出精度が低下する。これに伴い、測距精度も低下する。このため本実施形態では、投影装置101からパターン光の投影を行い、被写体102の表面にテクスチャを重畳した状態で撮影を行い、相関値ひいては測距演算の精度を向上させる。
【0015】
このようにパターン投影を併用して撮影した視差画像を用いて相関演算を行うことでテクスチャの乏しい被写体に対しても測距精度の低下を防ぐことができるが、被写体表面に投影されているパターンの鮮鋭度で相関演算の算出精度が決まってしまう。
【0016】
図5に示すように、奥行き方向に異なる位置にある複数の被写体501、502、503を対象に距離測定する場合、パターン照明のピント位置をどの被写体に合わせてもその他の被写体にはピントが合わず投影パターンの鮮鋭度が低下してしまう。複数の被写体が存在する場合だけでなく、奥行き方向に距離分布を有する被写体を対象に距離測定する場合も同様である。
図5では、ピントが合っている投影パターンを点線で囲って示している
。この例では、被写体501に投影パターンのピントを合わせているため、被写体501上の投影パターン511は鮮鋭度が高いが、被写体502,503上の投影パターン512,513は鮮鋭度が低下している。
【0017】
この課題に対して本実施形態では、投影装置101から投影するパターン光のピント位置を波長ごとに変更することで、被写体の距離方向分布が広い場合でも精度の良い測距精度を可能とする。その概要を
図1(B)に示す。投影装置からの投影パターンはλ1、λ2、λ3からなる複数の波長で作成したパターンから構成される。
図1(B)では、ピントが合っている投影パターンを点線で囲って示している。被写体151が存在する距離へはλ1の投影パターンのピント位置が合うように投影する。同様に被写体152が存在する距離(被写体151より近距離)へはλ2の投影パターンのピント位置が合うように投影し、被写体153が存在する距離(被写体151より遠距離)へはλ3の投影パターンのピント位置が合うように投影している。本実施形態では、波長λ1、λ2、λ3として、それぞれ、緑色(G)、青色(B)、赤色(R)の波長帯を用いる。
【0018】
図1(C)は本実施形態における距離測定処理を簡略化して示した図である。測距装置103は、視差画像のそれぞれ(A像およびB像とも称する)から、各波長成分の画像、すなわち、RGB各色のみの画素から作成したR画像、G画像、B画像を取得する。R画像、G画像、B画像において、投影パターンのピント位置(奥行き距離)はそれぞれ異なる。測距装置103は、R画像のペア、G画像のペア、B画像のペアのそれぞれから暫定距離値を算出し、これらの暫定距離値を合成して最終的な距離値を求める。このようにして距離値を求めることにより、投影パターンの焦点深度を拡大した場合と同等の効果が得られ、より広い距離範囲について精度の良い距離測定が実現できる。
【0019】
<構成>
以下、投影装置101および測距装置103の構成をより詳細に説明する。
【0020】
図2(A)は、投影装置101の構成を示した図である。本実施形態では、投影装置101としてLCOS(Liquid Crystal on Silicon)を用いた反射型プロジェクタを採用
する。すなわち、投影装置101は、光源201、拡大平行光学系202、偏光ビームスプリッター204(G)および206(R,B)、LCOS205(G)、207(R)、208(B)、ダイクロイックミラー209、投影光学系210を備える。
【0021】
光源201は白色光を発し、緑色光(G)の光束はダイクロイックミラー203を透過し偏光ビームスプリッター204からLCOS(G)205に入射する。ダイクロイックミラー203を反射した赤色光(R)および青色光(B)は、偏光ビームスプリッター206によって分割されて、それぞれLCOS207(R)およびLCOS208(B)に入射する。LCOSによって変調された赤色・緑色・青色の光は、それぞれ合成されて投影光学系210から投影される。また、投影装置101は、RGBごとの光路長を変化させるピント調整機構を有し、RGBごとに投影ピント位置(距離)を調整可能である。
【0022】
ここでは、LCOSを用いた反射型プロジェクタの例を示したが、DLP(Digital Light Processing)を用いた反射型プロジェクタや、透過型液晶パネルを用いた透過型プロジェクタを採用してもよい。
【0023】
図2(B)は、投影装置101が投影するパターン光の例を示した図である。投影パターンは特に限定されないが、相関演算を行う探索範囲内において非周期とみなせるランダムドットパターンを用いることが望ましい。
図2(B)に示すようなランダムドットパターンは、縦横(xy)のどちらの方向に対してもランダム周期とみなせるため、相関演算のウィンドウ形状や、第一の画素と第二の画素の分割配置する方向に制限が生じないため
好適である。
【0024】
図2(C)は、測距装置(カメラ装置)103の構成を示した図である。測距装置103は、カメラボディ221、撮像レンズ222、撮像素子223、演算処理部224、本体メモリ225を備える。
【0025】
測距装置103は視差画像を取得できるよう撮像素子223の各画素が同一方向に対し分割された構成を備える。
図2(D)は、撮像素子223中の一つの画素の断面図を示す。図示されるように、撮像素子の各画像は、マイクロレンズ231、カラーフィルタ232、2つの光電変換部230A、230Bを含んで構成されている。撮像素子223は画素毎にカラーフィルタ232によって検出する波長帯域に応じたRGB(Red,Green,Blue)の分光特性が与えられ、図示しない公知の配色パターンによってxy平面上に配置されている。基板233には、検出する波長帯域に感度を有する光電変換部が形成されている。また、各画素には、図示しない配線を備えている。
【0026】
光電変換部230Aおよび光電変換部230Bには、それぞれ射出瞳の異なる領域である第1の瞳領域を通過した第一の光束および第二の瞳領域を通過した第二の光束が入射し、それぞれ第一の信号および第二の信号を得る。第一の画素である光電変換部230Aから取得した第一の信号から第一の像であるA像を形成し、第二の画素である光電変換部230Bから取得した第二の信号から第二の像であるB像を形成する。取得されたA像とB像は演算手段である演算処理部224に伝送され測距演算処理が施される。
【0027】
演算処理部224は、A像とB像に対して測距演算処理を施して画素ごとに被写体の距離値を算出し、本体メモリ225に格納する。測距演算処理は公知の手法によって行えば良く、本実施形態ではSSD(Sum of Squared Difference)によって相関値を算出し、
相関値から視差量(像ずれ量ともいう)を求め、視差量を距離値へ変換する。本実施形態では、距離値としてデフォーカス量を用いる。視差量から距離値(デフォーカス量)への変換は、光学系パラメータに基づく変換係数を用いて行われる。
【0028】
距離値は、ある基準点と被写体とのあいだの距離に応じた値であれば任意のものを採用できる。典型的には、撮像装置と被写体とのあいだの距離(絶対距離)が距離値に相当する。距離値は、一般には、撮像装置と被写体とのあいだの距離から求めれるその他の値であってもよい。距離値のその他の例は、1画像のフォーカス位置と被写体のあいだの距離、2画像のフォーカス位置の中間位置と被写体のあいだの距離である。また、距離情報は、像面側での距離、物体側での距離のどちらであっても良い。また、距離値は、実空間の距離で表されてもよいし、デフォーカス量や視差量など実空間距離に換算できる量で表されてもよい。このように距離値は、撮像装置と被写体のあいだの距離(絶対距離)に依存して変化する値である。したがって、距離値は距離依存値と称することもできる。
【0029】
演算処理部224は、ASIC(Application Specific Integrated Circuit)やFP
GA(Field Programmable Gate Array)を用いて構成することができる。演算処理部2
24の別の形態として、マイクロプロセッサと演算処理プログラムとを格納するメモリから構成し、マイクロプロセッサが演算処理プログラムを実行することで上記の各機能を提供してもよい。
【0030】
<距離測定処理>
図3は、本実施形態における距離測定処理のフローチャートである。以下、
図3を参照しながら本実施形態における測距方法について説明する。なお、この距離測定処理における各ステップの実行順序は適宜変更してもよく、また、複数の処理ステップを並列に実行してもよいことは、当業者であれば理解できるであろう。
【0031】
まず、ステップS101において投影装置101からパターン光を投影した状態で、測距装置103が撮影処理を行う。ステップS102において、測距装置103は、A像およびB像のそれぞれについて、R画像、G画像、B画像を取得する。上述のように、A像は第1の瞳領域を通過した光束からなる像、すなわち、光電変換部230Aから取得した信号からなる像である。同様に、B像は第2の瞳領域を通過した光束からなる像、すなわち、光電変換部230Bから取得した信号からなる像である。以下では、A像およびB像を表す画像を第1の画像および第2の画像と称し、A像のR画像・G画像・B画像をそれぞれR1画像・G1画像・B1画像と称し、B像のR画像・G画像・B画像をそれぞれR2画像・G2画像・B2画像と称する。各RGB画像は、演算処理部224が第1の画像および第2の画像に対してデモザイキング処理を施すことによって得られる。あるいは、デモザイキング処理を施す前のRGBそれぞれの画素信号をR画像・G画像・B画像として用いてもかまわない。
【0032】
ループL1は、測距対象画素ごとに実行される処理である。本実施形態では、測距対象画素は全画素とするが、一部の画素のみを測距対象画素としてもよい。
【0033】
ループL2に含まれるステップS103およびS104の処理は、R画像、G画像、B画像それぞれに実行される。
【0034】
ステップS103において、演算処理部224は、第1の画像と第2の画像の間の視差量(相対的な位置ズレ量)を算出する。以下では、R画像を例にとって、以下の算出手順を説明する。まず、R1画像内に注目点(注目画素)が設定され、注目点を中心とする照合領域が設定される。次に、R2画像内の上記注目点に対応する位置に参照点が設定され、参照点を中心とする参照領域が設定される。演算処理部224は、参照点を順次移動させながら、照合領域内に含まれるR1画像と参照領域内に含まれるR2画像間の相関度を算出し、最も相関が高い参照点を上記注目点に対応する対応点(対応画素)とする。演算処理部224は、注目点と対応点間の相対的な位置のズレ量を、注目点における位置ズレ量として決定する。注目点を順次移動させながら位置ズレ量を算出することで、複数の画素位置における位置ズレ量を算出することができる。相関度は、上述のようにSSDによって評価できる。G1画像とG2画像の間の視差量、B1画像とB2画像の間の視差量も同様に算出できる。
【0035】
ステップS104において、演算処理部224は、所定の変換係数を用いて、各色の画像の視差量を暫定的な距離値(暫定距離値)に変換する。距離値は、測距装置103と被写体の間の距離に換算可能な値である。本実施形態では、距離値として、撮像素子と結像光学系の焦点との間の距離であるデフォーカス量を採用する。所定の変換係数をGain、デフォーカス量をΔL、視差量をdとしたとき、変換式ΔL=Gain× dによって
、視差量dをデフォーカス量ΔLに変換することができる。
【0036】
ループL2の処理が完了すると、R画像・G画像・B画像のそれぞれについて暫定距離値が得られる。ステップS105において、演算処理部224はこれらの暫定距離値を合成することにより、測距対象画素についての最終的な距離値を算出する。
【0037】
合成処理の一例として、R画像・G画像・B画像のそれぞれから得られる距離値の単純平均を採用できる。単純平均を用いた距離値の合成は、計算コスト削減の観点から好適である。
【0038】
合成処理の別の例として、重み付け平均を採用できる。加重平均を用いた距離値の合成は、測距精度向上の観点から好適である。重みは、R画像・G画像・B画像それぞれにお
ける距離値の信頼度に応じた値とすることが好適である。距離値の信頼度は、視差量算出時に得られる相関度の高さや、画像中のコントラスト変化の大きさなどに基づいて決定することができる。また、重みは、投影装置101からの投影パターンのピント位置に基づいて決定してもよい。具体的には、各波長(色)について、投影ピント位置と距離値の差が小さいほど重みを大きく設定すればよい。
【0039】
<ピント位置決定処理>
以下、図を参照しながら、本実施形態に係る投影装置101の、投影パターンのピント位置(合焦位置)の決定方法について説明する。上述したように、本実施形態に係る投影装置101は赤色・緑色・青色の3色からなる投影パターンを投影可能であり、かつ、各色の投影パターンのピント位置を個別に変更可能である。ここでは、各色についてピント位置の決定方法について説明する。ピント位置とパターン色の対応付けには任意性があるので、投影装置101が投影するパターン色の波長をλ1、λ2、λ3として説明する。言い換えると、λ1、λ2、λ3を赤色・緑色・青色のいずれに対応させるかは適宜決定可能である。
【0040】
ここでは、測距装置103の演算処理部224が波長ごとのピント位置を決定し、決定結果を投影装置101に出力・通知するものとして説明を行う。ただし、ピント位置決定処理の一部または全部は、投影装置101内の演算処理部が実施してもかまわない。
【0041】
[処理例1]
図4(A)は、ピント位置決定処理の第1の例を示すフローチャートである。まず、ステップS211において、演算処理部224は、波長λ1のピント位置L1を決定する。具体的な決定手法はいくつか考えられる。
【0042】
第1の手法は、仮測距を行って合焦対象被写体の距離値(仮測距値)を求めて、この距離を波長λ1のピント位置として決定する手法である。ここでの仮測距はどのように行われてもよく、周辺環境光のみを用いた撮影や、投影装置101から均一照明を投影したりパターン光(各色でピント位置が同一でも異なっていてもよい)を投影したりして行う撮影が該当する。仮測距は、投影装置101のピント位置を決定するための処理であるので、実際の測距(本測距)よりも簡易的な処理として実装してもかまわない。また、合焦対象被写体の決定方法も任意であってよい。たとえば、ユーザによって指定された画素位置にある被写体を合焦対象として決定したり、画像中で最も大きいあるいは最も顕著な被写体を演算処理部224が求めて合焦対象として決定したりすることが考えられる。あるいは仮測距において最も出現頻度が高い距離値を、波長λ1のピント位置として決定してもよい。
【0043】
第2の手法は、あらかじめ設定された固定値を波長λ1のピント位置として決定する手法である。この固定値は、ユーザによって変更が可能な値であってもよいし、装置固有の変更不可能な値であってもよい。また、この固定値は、測距装置103の撮影パラメータに応じて決定されてもよい。
【0044】
ステップS212において、演算処理部224は、波長λ1のパターン投影の焦点深度に基づいて波長λ2およびλ3のピント位置L2およびL3を決定する。より具体的には、波長λ1のピント位置L1から前方に前方焦点深度Tfだけ離れた位置をピント位置L2として決定(L2=L1−Tf)し、ピント位置L1から後方に後方焦点深度Trだけ離れた位置をピント位置L3として決定(L3=L1+Tr)する。
【0045】
波長λ1についての前方焦点深度Tfおよび後方焦点深度Trは下記の式によって算出される。ここで、fはレンズの焦点距離、FはF値、δは投影装置内の画素サイズである
。
【数1】
【0046】
たとえば、投影装置101の特性が、f=30mm、F=2、δ=0.01mmであるとする。このとき、前方焦点深度Tf=500mmとなり、波長λ2のピント位置L2はL2=L1−Tf=4500mmとなる。また、後方焦点深度Tr=625mmとなり、波長λ3のピント位置L3はL3=L1+Tr=5625mmとなる。
【0047】
本手法によれば、特定の距離(ステップS211において求めた距離)付近について精度の良い測距が行える。上述のように各波長のピント位置を決定することで、L2からL3の距離範囲の任意の位置(距離)においていずれかのピント位置L1〜L3との差が、投影パターンが画素サイズの影響以上にぼける距離の半値となる。これにより、いずれかの波長の投影パターンのピントが合うことが保証されるとともに、互いの投影ピント位置が互いに近すぎて本手法の効果が十分に得られない状況を回避できる。
【0048】
上記の焦点深度を求める際に許容錯乱円径として投影装置101内の画素サイズを用いているが、許容錯乱円径の値はこれ以外の適宜の値を利用してもかまわない。
【0049】
また、ピント位置L2およびL3は、必ずしも上記のようにL2=L1−Tf、L3=L1+Trによって求める必要はなく、L2=L1−a×Tf、L3=L1+b×Trとして求めてもよい。ここで、a,bは1以上の値である。すなわち、波長λ2の投影ピント位置L2は、波長λ1の投影ピント位置L1よりも波長λ1の前方焦点深度以上、前方とし、波長λ3の投影ピント位置L3は、波長λ1の投影ピント位置L1よりも波長λ1の後方焦点深度以上、後方としてもよい。
【0050】
ただし、ピントが合う距離範囲に抜けが生じないようにするためには、L2はL1−(Tf+Tr2)以上とし、L3はL1+(Tr+Tf3)以下とすることが好ましい。ここでTr2は波長λ2の投影パターンの後方焦点深度であり、Tf3は波長λ3の投影パターンの前方焦点深度である。
【0051】
もっとも、投影パターンのピントが合う距離範囲の抜けを許容すればこれらの条件は満たさなくてもよい。波長ごとの投影パターンのピントが合う距離範囲に重なりがないということは、全体としてピントが合う距離範囲を最大化できるという観点から好適である。
【0052】
[処理例2]
図4(B)は、ピント位置決定処理の第2の例を示すフローチャートである。この処理では、仮測距によって被写体が存在する距離を求め、被写体が存在する距離に対してピント位置を設定する。
【0053】
まず、ステップS221において、演算処理部224は、仮測距の結果に基づいて距離ヒストグラムを取得する。仮測距については上記で説明したので繰り返しの説明は省略する。
【0054】
ステップS222において、演算処理部224は距離ヒストグラムにおけるピークを求め、ピークが1つであるか複数であるか、すなわち分布が単峰性であるか多峰性であるか
判断する。なお、ピークを求める際に、焦点深度と比較して十分に近い複数のピークは1つのピーク(峰)としてみなしてよい。
【0055】
ステップS222において分布が単峰性であると判定された場合には、ステップS223に進む。ステップS223では、演算処理部224は、ピーク範囲を波長数で分割して各波長のピント位置を求める。たとえば
図4(C)に示すように、1つのピーク401が得られた場合を考える。演算処理部224は、ピーク401の下限値Lminと上限値Lmaxの範囲を波長数(本実施形態では3個)に分割し、分割範囲の中心値をそれぞれの波長のピント位置L1〜L3として決定する。
【0056】
ステップS223において分布が多峰性であると判定された場合には、ステップS224に進む。ステップS224では、演算処理部224は、含まれる度数が多いピークから順番に、ピーク中心値にピント位置を設定する。たとえば
図4(D)に示すように、4つのピーク411、412,414,414が得られた場合を考える。さらに、含まれる度数は、ピーク412,411,414,413の順番で多いものとする。本実施形態では投影装置101の波長数は3つであるので、この場合、演算処理部224は、含まれる度数が最も多い3つのピーク412,411,414の中心値をピント位置L1〜L3として決定する。
【0057】
なお、ピント位置を設定するピークは、含まれる度数が多いものから順番としなくてもよい。たとえば、被写体の重要度も考慮して、重要度と含まれる度数の両方に基づいて優先度を決定し、優先度が高いピークから順番にピント位置を設定してもよい。被写体の重要度はどのように求めてもよく、たとえば、ユーザからの指定に基づいて決定したり、画像認識処理によって決定したりしてもよい。
【0058】
なお、ここでは分布から得られるピークの数が投影装置101の波長数よりも多い場合について検討したが、ピーク数が波長数よりも少ない場合には、次のようにピント位置を決定すればよい。まず、ピークごとに割り当てる波長数を決定する。この際、割り当てる波長数は、ピークに含まれる度数に応じた数とすることができる。そして、1つの波長のみが割り当てられたピークについてはその中心値をピント位置とし、複数の波長が割り当てられたピークについてはステップS223と同様の処理により各波長のピント位置を決定すればよい。
【0059】
この手法によれば、仮測距により算出された各被写体に投影ピント位置を設定でき、測距精度が向上する。
【0060】
[処理例3]
ピント位置決定処理の第3の例は、仮測距を行って距離分布が存在する範囲に基づいて決定する処理である。たとえば、投影装置101の波長数が3つの場合には、距離分布が存在する範囲の、中心値・最大値・最小値にピント位置を設定する。この手法は、被写体の距離が比較的狭い範囲に集中しているときに有効な処理といえる。
【0061】
[その他の処理例]
上記の処理例2,3では、仮測距における全ての被写体(画素)の距離値を利用して波長ごとのピント位置を決定している。パターン投影を行う理由がテクスチャの乏しい被写体の測距精度向上であることを鑑みると、ピント位置の決定においてはテクスチャの乏しい被写体のみ距離値のみを考慮してもよい。たとえば、ステップS221において距離ヒストグラムを作成する際に、テクスチャの乏しい被写体のみに基づいてヒストグラムを作成してもよい。
【0062】
<本実施形態の有利な効果>
本実施形態によれば、投影装置101からパターン照明を投影しているので、テクスチャの乏しい被写体に対しても精度の良い距離測定を行える。さらに、パターン照明のピント位置を波長ごとに変更しているので、パターン照明の焦点深度を拡大したのと同等の効果が得られ、より広い距離範囲について精度の良い距離測定が可能である。
【0063】
(第1の実施形態の変形例)
第1の実施形態では、撮像素子223内に同一画素内にA画素およびB画素(第1および第2の光電変換部)が配置された構成であるが、視差のある複数の画像が取得できれば上記の構成以外を採用してもよい。たとえば、一部の画素が第1の瞳領域を通過した光束が入射するA画素であり、他の一部の画素が第2の瞳領域を通過した光束が入射するB画素である撮像素子を利用してもよい。このような撮像素子は、半導体作製プロセスが容易であり作製コストを低減できるという観点から好適である。
【0064】
また、測距装置(カメラ装置)103は二眼を有するステレオカメラの構成でも良い。これは測距分解能を規定する基線長の設計自由度が向上するため、距離算出精度の観点から好適である。
【0065】
相関演算手法はSSDに限定されず、SAD(Sum of Absolute Difference)やNCC(Normalized Cross-Correlation)、POC(Phase Only Correlation)など各種手法を用いてもよい。
【0066】
距離測定処理において、デモザイキング処理を施して得られるRGB画像について視差量を求める代わりに、光電変換部から読み出されるRGBそれぞれの画素信号を用いて視差量を用いてもかまわない。すなわち、演算処理部はデモザイキング処理前のRGB画素信号のそれぞれをR画像・G画像・B画像として用いて視差量および暫定距離値を求め、これら複数の暫定距離値を合成することにより最終的な距離値を求めてもよい。合成方法は上記と同様でよい。
【0067】
距離測定処理において、RGB画像のそれぞれの視差量を合成し、合成した視差量をデフォーカス量等に変換してもかまわない。この例では、RGB画像それぞれの視差量が本発明の暫定距離値に相当し、合成後の視差量が本発明の距離値に相当すると解釈できる。
【0068】
投影装置は、波長ごとに投影ピント位置を調整可能であればその具体的な構成は限定されない。たとえば、波長ごとに投影光学系が設けられた投影装置を採用してもよい。
【0069】
投影装置101と測距装置103の配置は特に限定されない。光切断法などの空間符号化照明の手法では配置が限定されるが、本実施形態は、投影装置101によって投影されたパターンが測距装置103で撮影できればよい。したがって、測距装置(カメラ装置)103のホットシューなどに取り付ける外付けフラッシュ型の投影装置も操作性向上の観点から好適である。なお、投影装置101と測距装置103の光軸はほぼ一致することが好ましい。物体の陰になって投影パターンが投影されていない領域が測距装置103によって撮影されるのを防止するためである。この観点からも、ホットシューなどに取り付ける外付けのフラッシュ型の投影装置は好適である。
【0070】
第1の実施形態では、3つの波長の投影パターンの投影ピント位置を異ならせているが、ピントを異ならせる波長の数はこれに限られず2つ以上であれば良い。ただし、第1の実施形態のように測距装置103のRGBに対応させた波長の組み合わせは、撮影後の各色画像を分離が容易となるため好適である。一般的なRGBの分光帯域に合わせ、λ1〜λ3は、波長600付近の赤色、波長550付近の緑色、波長450付近の青色の波長と
することが望ましい。また、その帯域幅は色によるパターン画像の分離の観点から各波長域が重複しないよう±25nm以下であることが望ましい。すなわち、λ1〜λ3は、波長600±25nm以内の赤色、波長550±25nm以内の緑色、波長450±25nm以内の青色の波長とすることが望ましい。
【0071】
さらに、RGBの波長帯域だけではなくIR(Infra Red)の波長領域も使用して投影パターンおよび撮像素子の感度を対応させそのパターン画像を取得し、距離算出しても良い。測定用のRGB画像にパターンが重畳されず、測定用画像と測距用画像の同時取得ができる観点から好適である。
【0072】
投影パターンを構成する波長とそのピント位置関係の組み合わせは第1の実施形態の手法に限定されず任意の組み合わせを用いてよい。第4の実施形態で後述するように各被写体の分光反射率の分布に基づいて波長とピント位置関係を決定するのも撮影画像のS/N比向上の観点から好適である。
【0073】
測定対象の被写体は複数でも単体でも良い。被写体が単体の場合、仮測距による距離分布の範囲を、投影パターンを形成する波長の数で分割し各波長の投影ピント位置を決定すればよい。
【0074】
仮測距を行わず、事前の設定により各波長の投影ピント位置を決定しておき距離測定を行うことも操作容易性の観点から好適である。このとき、撮影装置の撮影レンズの光学特性を取得し、その焦点距離やF値の情報を投影装置側に送ることで各波長の投影ピント位
置を決定することも測距精度向上の観点から好適である。
【0075】
(第2の実施形態)
本実施形態に係る測距システムの装置構成は第1の実施形態と同様であるが、距離測定処理が第1の実施形態と異なる。以下、
図6(A)および
図6(B)を参照して、本実施形態における距離測定処理について説明する。
図6(A)は本実施形態における距離測定処理の流れを示すフローチャートを示す。
図6(B)は本実施形態における距離測定処理におけるデータフローを示す。
【0076】
ステップS201において投影装置101からパターン光を投影した状態で、測距装置103が撮影処理を行う。投影装置101の投影光のパターンや波長ごとのピント位置は、第1の実施形態と同様である。
【0077】
ステップS202において、測距装置103はA像およびB像について、光電変換部230A,230Bからそれぞれ得られるRGBそれぞれの画素信号に基づいて輝度画像を生成する。例えば、RGB画素信号からYUVやlabなどの輝度色差信号に変換して、輝度画像(Yやl)を生成することができる。このように輝度画像を生成することで、輝度画像の鮮鋭度は、RGB各波長の画素信号の鮮鋭度を平均化したものとなる。
【0078】
ループL1は、測距対象画素ごとに実行される処理であり、A像およびB像の輝度画像の視差量を求めるステップS203と、視差量から距離値を求めるステップS204とを含む。これらの処理は、基本的に第1の実施形態におけるステップS103およびS104の処理と同様であるため説明を省略する。
【0079】
本実施形態で得られる輝度画像の鮮鋭度は、RGB画像のそれぞれの鮮鋭度を平均化したものとなる。投影装置101から投影されるパターン光は波長ごとにピント位置が異なっていることから、広い距離範囲にわたって何れかの波長のパターン光のピントが合っている。したがって、輝度画像におけるパターン光の鮮鋭度が大きく低下することを避けら
れ、広い距離範囲にわたって精度のよい距離測定が行える。
【0080】
本実施形態において、輝度画像の代わりに、デモザイキング処理後の画像のG画像を用いて視差量および距離値を求めてもよい。G成分は輝度値との相関が高く、また、ベイヤー配列の撮像素子においては画素数が多く解像度が高いことから、G画像を用いることが好適である。デモザイキング処理により各波長成分が平均化されるので、上記と同様の効果が得られる。
【0081】
(第3の実施形態)
本実施形態では測距装置(カメラ装置)103の結像光学系が保有する軸上色収差の影響を軽減するように各波長の投影ピント位置の組み合わせを決定する。
図7(A)に測距装置103の撮像レンズ222が有する軸上色収差を示す。被写体600に対し、本実施形態で基準とする波長λ1はセンサ面610に結像しているのに対し、波長λ2は光軸611に沿ってセンサ面より奥側に結像し、波長λ3は光軸611に沿ってセンサ面より手前側に結像する。これをもとに、色収差の影響を軽減するように、各波長のピント位置を指定する。
図7(B)に示す位置関係の被写体601、602、603、に対し各波長λ1、λ2、λ3のピント位置をO11、O12、O13とする。このように、事前に取得した撮像レンズの光学特性から波長に応じたピント位置の前後傾向を決定できる。
【0082】
第1の実施形態では、ピント位置L1〜L3の決定方法を述べたが、それぞれのピント位置をどの波長に割り当てるかは任意であるとした。本実施形態では、ピント位置が手前から順番にL1,L2,L3であるとしたときに、色収差を考慮した前後傾向に基づいて、波長λ1,λ2,λ3のピント位置をそれぞれL3,L1,L2として決定する。これにより、色収差の影響を軽減でき、他の波長とピント位置の組み合わせよりも各波長の結像位置がセンサ面610に近づき、各波長での撮影画像の鮮鋭度が向上することで測距精度が向上する。
【0083】
(第4の実施形態)
本実施形態では、被写体の色分布(分光反射率の分布)に基づいて波長ごとの投影ピント位置を決定することで測距精度を向上させる。本実施形態における処理を
図8(A)に示すフローチャートにしたがって説明する。
【0084】
まず、ステップS301において、仮測距を行い、演算処理部224は仮測距の結果に基づいて、被写体の概略位置(距離)関係と概略色分布を取得する。仮測距は、投影パターンなしの周辺環境光のみを利用した測距であってもよいし、全波長を同じかつ適当なピント位置に投影し行う測距であってもよい。仮測距の結果として、
図8(B)のように被写体701、702、703の概略位置関係と概略色分布を取得できたものとする。概略色分布とは、RGB画像をもとに、各画素の輝度値から測光センサから取得した周囲の環境色温度をオフセットとして差し引いたものを指す。
【0085】
ステップS302において、演算処理部224は、各被写体の概略色分布からピーク波長を取得する。
図8(B)の例では、被写体701は波長λ1付近にピーク波長を有し、被写体702は波長λ2付近にピーク波長を有し、被写体703は波長λ3付近にピーク波長を有することが分かる。
【0086】
ステップS303において、演算処理部224は、各被写体のピーク波長に最も近い波長の投影パターンを概略距離位置にピント位置を設定する。
図8(B)の例では、被写体701のピーク波長がλ1に最も近いことから、λ1の投影ピント位置が、被写体701の距離(仮測距の結果)である距離L1に設定される。同様に、λ2,λ3のピント位置が、被写体702,703の距離である距離L2,L3にそれぞれ設定される。このよう
にして決定されたピント位置にしたがって、投影パターンを投影しながらの測距処理が行われる。
【0087】
本実施形態のように各波長とそのピント位置を組み合わせることで、その他の組み合わせよりも各被写体からより多くの反射光量が得られ、撮影画像中の各被写体表面のパターン鮮鋭度が向上し、測距精度が向上する。
【0088】
本実施形態において、複数の被写体が同じ波長に概略色分布のピークを持つことも想定される。このようなケースに対処するためには、ステップS303において、複数の被写体について所定の順序で波長の割り当てを行い、ピント位置が設定されていない波長の中からピーク波長に最も近い波長を選択すればよい。所定の順序は、たとえば、被写体の重要度に応じた順序であってもよいし、被写体の距離値に応じた順序であってもよいし、あらかじめ定められた順序であってもよい。
【0089】
上記の説明では、被写体ごとに概略色分布の決定および波長の割り当てを行っているが、被写体ごとにこれらの処理を行う代わりに距離ごと(あるいは所定の距離範囲ごと)にこれらの処理を行うようにしても同様の効果が得られる。
【0090】
本実施形態では、ピント位置の決定と波長とピント位置の対応付けの2つの処理を行っている。ここで、ピント位置の決定は、第1の実施形態で説明した手法で行ってもよい。第1の実施形態の手法では、ピント位置が決定されるのみであり、ピント位置と波長の対応付けは任意であるとしている。そこで、ピント位置と波長の対応付けを、本実施形態で説明した概略色分布に基づいて行うことも好適である。
【0091】
(第5の実施形態)
本実施形態では、測距装置(カメラ装置)103として、単眼かつ画素分割されていない、つまり視差量を取得できないカメラを用いる。投影装置101において、波長ごとにピント位置を異ならせたパターン投影を行いながら、測距装置103で撮影を行う点は同一である。本実施形態では、撮影に得られた画像から、それぞれの波長に対応する画像を取得し、これら複数の画像に基づいてDFD(Depth From Defocus)の手法を用いて距離値を算出する。
【0092】
各波長のピント位置決定は適宜決定すればよい。たとえば、波長λ1のピント位置をあらかじめ設定された基準距離位置とし、波長λ2およびλ3のピント位置はこの基準距離位置から所定のオフセット距離Loずつずらした位置として決定すればよい。
【0093】
演算処理部224は、公知のDFDの手法を用いて、各波長の画像における空間周波数の変化量を解析することで距離スコアを算出し各被写体までの距離を算出する。この構成により、測距装置に視差量を取得する構成を設ける必要がないため、コスト低減や、既設装置の機能拡張性の観点から好適である。また、通常は撮影が2回必要なDFD測距において、ワンショットで測距が行えるという利点もある。
【0094】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。