(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【0013】
1.本実施形態の概要
マッチング評価では比較波形に劣化要因が加わる場合がある。劣化要因として、例えばランダムノイズや、量子化ノイズや、2つの瞳のポイントスプレッドファンクションが非対称であることによる比較波形の類似性劣化、比較波形間のクロストーク等が想定される。以下では、劣化要因としてランダムノイズが加わる場合を例に説明する。また、ステレオ画像を比較波形とする場合を例に説明するが、本実施形態のマッチング評価手法は、位相差のある2つの信号波形を比較するものであれば適用可能である。
【0014】
従来の一般的なマッチング評価方法(ZNCC、SADなど)では、劣化要因によりマッチング位置の検出誤差が発生し、高い検出分解能又は検出精度が得られ難くなる。
【0015】
図1に示すように、ノイズの影響は比較波形の周波数成分が低周波になればなるほど顕著に現れる。即ち、光学分解能が小さい画像の比較波形の相関係数は、低周波成分の波形であるため、相関係数のピークの近傍値との差異が小さい。そのため、ノイズが付加されると顕著にピークのばらつきが大きくなり、真のピーク値の特定が困難になる。よって高精度にて位相差を求める条件としては、非常に不利な状態と言える。
【0016】
実際は、位相差を求める場合に比較波形が必ずしも高周波成分をもっている波形とは限らない。例えば、ステレオ画像3D計測においても、合焦位置では高周波成分を多くもつが相対的に非合焦位置(ボケ状態の位置)では低周波成分しかもっていない。3D計測では奥行き方向の所定の計測範囲において位相差を求める必要があり、それにはボケ状態の画像も利用せざるを得ないため、比較波形が低周波成分であっても正確な位相差を求める必要がある。高精度な位相差検出を実現するためには、ノイズの影響をできるだけ排除することが課題となる。
【0017】
上述の特許文献1では、推定したノイズを比較波形から取り除いているが、信号成分とノイズが加算された比較波形からノイズを推定するため推定精度の良否が問題となる。この推定は、画像の微小領域において信号成分がほぼ一定と言う仮説を前提にしているが、コントラスト変化が激しい領域では、その仮説が成り立たない場合が多々ある。そのため、かえって信号成分の一部をノイズ成分として誤推定してしまう可能性があるので、高精度なマッチング検出を実現するには課題が残る。
【0018】
以上より、如何にノイズの影響を受けずに、より正しいマッチング位置を検出するかという課題の解決が位相差検出においては重要である。
【0019】
そこで本実施形態では、
図2に示すように、撮像装置は、同一被写体に対して視差を有する第1被写体像と第2被写体像を撮像する撮像部10と、第1被写体像が撮像された第1画像と第2被写体像が撮像された第2画像の間の相関係数を求め、その相関係数に基づいて第1画像と第2画像の間の位相差を検出する位相差検出部30と、を含む。
【0020】
そして、位相差検出部30は、第1画像の画素値と第2画像の画素値を正規化し、正規化した第1画像の画素値と第2画像の画素値の平均値を求め、正規化した第1画像の画素値と第2画像の画素値を減算処理した値を平均値の減少区間において加算処理した値と、正規化した第1画像の画素値と第2画像の画素値を減算処理した値を平均値の増加区間において加算処理した値と、に基づいて相関係数を求める。
【0021】
例えば、後述の第1実施形態を例にとると、
図3に示す左瞳画像I
Lと右瞳画像I
Rが第1画像と第2画像に対応し、それらを正規化した左瞳画像nI
Lと右瞳画像nI
Rを求める。下式(4)、(6)に示すように、平均値nIの減少区間Faと増加区間Raにおいて、それぞれ、正規化した左瞳画像nI
Lと右瞳画像nI
Rを減算する。その減算した値を各区間において加算し、その加算した値を加算して相関係数ISADを求める。
【0022】
このように、減少区間Faと増加区間Raに分けて、左瞳画像nI
Lと右瞳画像nI
Rの減算値を加算することで、下式(3)、(5)に示すように、区間ごとに比較波形の信号減算値Dが正の値になるように差し引く順序を変えることが可能となる。或は、下式(13)に示すように、差し引く順序を変えなくても、各区間で減算値を加算し、それぞれ絶対値をとることで、各区間において加算した後に正の値にすることもできる。
【0023】
このようにして求めた相関係数ISADでは、下式(9)に示すように、比較波形の信号成分は差分絶対値和(|I
R−I
L|の和)となり、比較波形のノイズ成分は単なる差分和(n
R−n
Lの和)となる。これにより、ノイズ成分は加算効果により低減された値となる。よって、この相関係数ISADが最小になる位置をマッチング位置として評価することにより、誤差ばらつきが小さい高分解能又は高精度な位相差検出が可能となる。なお、この手法を以下では改良SADと呼ぶ。
【0024】
2.第1実施形態
2.1.改良SADによるマッチング手法
次に、改良SADの詳細について説明する。撮像装置の構成は上述した
図2の構成と同様である。なお以下では、単眼の撮像光学系を左右の瞳に分割して視差を発生させ、左瞳画像を第1画像とし、右瞳画像を第2画像とする場合を例に説明する。但し、本実施形態はこれに限定されず、例えば二眼の撮像部を用いる場合にも適用できる。
【0025】
図3に、改良SAD(Improved Sum of Absolute Difference)によるマッチング評価の説明図を示す。
【0026】
I
L,I
Rは、撮像された左右の瞳画像の一部プロファイル(波形パターン)である。即ち、左右の瞳を通過した光線により撮像素子に形成された視差画像の、水平方向x(視差方向)における画素値パターンである。瞳画像I
L、I
Rには位相差δのずれが生じている。
【0027】
瞳画像I
L、I
Rは振幅ゲインが揃っていないので、所定演算区間w(相関係数の算出に用いる区間)の値を用いて正規化を行い、振幅ゲインを合わせる。正規化した瞳画像nI
L、nI
Rは、下式(1)により求められる。シグマ記号の“w”は、所定演算区間wの範囲で和をとることを表す。
【数1】
【0028】
次に、正規化された瞳画像nI
L、nI
Rを加算した合成波形nIを下式(2)のように生成する。
【数2】
【0029】
次に、所定演算区間wにおいて、瞳画像nI
L、nI
Rが交差するクロスポイントを検出し、隣接するクロスポイントとクロスポイントの区間を求める。区間内の合成波形nIが増加傾向にある場合を増加区間Raとし、減少傾向にある場合を減少区間Faとする。増減区間の判定は、例えば、クロスポイントで区切った区間内で合成波形nIの隣接画素差分値(微分値)を積算し、正の場合は増加区間、負の場合は減少区間として判断する。
【0030】
次に、増加区間Ra、減少区間Faごとに下式(3)のルールに従い、瞳画像I
LとI
Rの減算の順序を変えて減算値Dを求める。即ち、各区間において減算値D>0となるように減算の順序を決める。
【数3】
【0031】
求めた減算値Dを、下式(4)に示すように、所定演算区間wを越えない範囲内において全て加算し、ISAD評価値(マッチング評価係数)を求める。シグマ記号の“Ra”、“Fa”は、所定演算区間w内の全てのRa、Faの範囲で和ととることを表す。但し、所定演算区間w内にクロスポイントが存在しない場合であっても所定演算区間wが増加区間であるのか減少区間であるのかを判断し、所定演算区間wにおいてISAD評価値を求めればよい。
【数4】
【0032】
前ピントと後ピントでは瞳画像I
LとI
Rの左右が入れ替わる。
図3とは逆に左瞳画像I
Lが右瞳画像I
Rの左にシフトした場合には、正規化した瞳画像nI
LとnI
Rの大小関係が入れ替わるので下式(5)のように減算値Dを求める。ISAD評価値は下式(6)となる。
【数5】
【数6】
【0033】
瞳画像nI
LとnI
Rの大小関係は、例えば各区間Ra、Faにおいて瞳画像nI
LとnI
Rの画素値を比較して判定する。そして、その判定結果に基づいて上式(4)又は(6)を選択し、ISAD評価値を算出する。
【0034】
従来のSAD(Sum of Absolute Difference)のように増減区間を分けずに瞳画像I
LとI
Rとの絶対値和を取る方法ではなく、本実施形態では増減区間を敢えて分け瞳画像I
LとI
Rとの差分値和を取っている理由について説明する。なお、以下では正規化した波形も単に“I
L”、“I
R”等と表記する。
【0035】
I
L、I
Rは極めて類似性の高い波形パターンであると仮定する。下式(7)に示すように、それらに独立してノイズ成分n
R、n
Lが付加された波形をI
L’、I
R’とする。
【数7】
【0036】
波形I
L’、I
R’のマッチング評価として従来のSADを当てはめてみると、下式(8)となる。
【数8】
【0037】
SAD評価値は、その定義から分かるように、本来は比較波形が一致するとゼロを示す。しかしながら、上式(8)に示すように、SAD評価値は、波形I
LとI
Rの差分絶対値和に加えてノイズ成分n
Rとn
Lの差分絶対値和が加算された値を最大値としてもつ。ノイズ成分n
R、n
Lとしてはランダムノイズが想定されるが、絶対値をとっているため加算しても打ち消し合わない。このことは、波形I
LとI
Rが一致する状態、つまり|I
L−I
R|=0であってもSAD評価値にはノイズ成分が多く残ることを意味する。即ち、|I
L−I
R|=0であっても評価値が最小値を必ずしも示さないので、正しいマッチング位置を判定することができなくなる。よって、従来のSAD評価値ではノイズの影響を非常に受けやすいことが分かる。
【0038】
一方、上式(4)で定義したISAD評価値に上式(7)を当てはめると、下式(9)の関係が得られる。
【数9】
【0039】
ISAD評価値では、波形I
LとI
Rの差分絶対値和と絶対値をとらないノイズ成分n
Rとn
Lの単なる差分和とが加算されたものが求められる。波形I
LとI
Rの差分絶対値和は両者が一致した場合に|I
L−I
R|=0を示す。ノイズ成分n
Rとn
Lの単なる差分和は、絶対値をとっていないためランダムノイズの加算効果によりその成分値が低減される。区間RaとFaでノイズ成分の差分の符号が逆になるが、ランダムノイズのため加算効果には影響しない。この加算効果により、ISAD評価値では、波形I
LとI
Rのマッチング位置をノイズが大きく低減された状態で評価できる。このように、ISAD評価値ではノイズの影響を受けにくいマッチング評価が可能となり、従来のSADに比べ非常に優位な評価方法と言える。
【0040】
図4に、波形I
L’、I
R’のSN比(SNR)に対する位相差検出値の統計的分散値σのシミュレーション結果を示す。
【0041】
波形I
L’、I
R’にはエッジ波形を用いている。位相差検出値には、マッチング評価値がピーク値となるときの位相差を用いている。分散値σは、次のようにして求めている。即ち、ノイズのパワーを同一にして、ノイズの出現パターンをランダムに異ならせて波形I
L’、I
R’を作る。その波形I
L’、I
R’を用いて複数回のマッチングを試行し、位相差を求める。そして、その位相差と、真の波形I
L、I
Rがもつ位相差の真値との誤差を求め、その誤差の発生分布から分散値σを求める。
【0042】
比較例として、従来のZNCC(Zero-mean Normalized Cross-Correlation)による相関係数を使った場合の分散値σを示す。同一のSN比に対して、ISAD評価値による位相差検出値の誤差ばらつきσは、ZNCC評価値による位相差検出の誤差ばらつきσよりも明らかに小さい。即ち、ISAD評価値はノイズの影響を受けにくく、位相差の検出分解能が高いことが分かる。
【0043】
例えば、低周波数画像どうしの相関演算では、ノイズ等の劣化要因が加わると相関ピークのばらつきが大きくなり、位相差の検出精度が劣化する。この点、本実施形態によれば、ノイズが加わった場合でも従来の手法に比べて相関ピークのばらつきσが小さいため、高精度な位相差検出が可能となる。
【0044】
なお、改良SADを後述する第2、第3実施形態と組み合わせることで、更に高精度な位相差検出を効果的に行うことも可能である。この場合、撮像装置の構成は、第2実施形態又は第3実施形態と同様である。第3実施形態の場合、位相差微細検出部70が本実施形態の位相差検出処理を行う。
【0045】
以上の実施形態によれば、位相差検出部30は、第1画像I
L(左瞳画像)と第2画像(右瞳画像)のエポピーラ線上の所定区間w(所定演算区間)において、正規化した第1画像nI
Lの画素値と第2画像nI
Rの画素値の交点を求め、その交点で所定区間wを区切った複数の区間のうち平均値nIが増加する区間を増加区間Raに設定し、平均値nIが減少する区間を減少区間Faに設定する。
【0046】
このようにすれば、正規化した第1画像nI
Lの画素値と第2画像nI
Rの画素値の平均値nIから、その平均値nIの増加区間Raと減少区間Faを決定できる。増加区間Raと減少区間Faを分けることによって、上式(4)、(6)、(13)のように区間を分けて減算値を加算することができ、改良SADの評価値を求めることが可能となる。
【0047】
ここで、エポピーラ線とは、ステレオ撮影された2つの画像において対応点を探索するための直線のことである。即ち、一方の画像上の点に対応する視線を他方の画像上に投影したものがエポピーラ線であり、一方の画像上の点に対応する点を他方の画像上で探索する際には、その探索範囲はエポピーラ線上に限定される。後述する
図7のような単眼の撮像光学系を水平走査方向に瞳分割した場合には、平行ステレオとなるので、エポピーラ線は、水平走査線となる。
【0048】
また、以上の実施形態によれば、位相差検出部30は、正規化した第1画像nI
Lの画素値と第2画像nI
Rの画素値との大小関係を、減少区間Fa及び増加区間Raの各区間について判定する(上式(3)、(5))。そして、その判定した大小関係に基づいて、減算処理した値Dが正の値となるように、正規化した第1画像nI
Lの画素値と第2画像nI
Rの画素値を各区間において減算処理し、その減算処理した値を加算処理して相関係数ISADを求める(上式(3)〜(6))。
【0049】
このようにすれば、上式(3)、(5)で説明したように、増加区間Raと減少区間Faで第1画像nI
Lの波形と第2画像nI
Rの波形の大小関係を決定でき、その大小関係を使って、波形を減算する順番を減算値Dが各区間で正となるように決めることができる。これにより、上式(9)で説明したように、相関係数ISADの信号成分|I
R−I
L|を絶対値和として残すと共に、ノイズ成分(n
R−n
L)を単純和として加算効果で低減できる。
【0050】
2.2.正規化の変形例
瞳画像I
L、I
Rの正規化手法は上式(1)に限らず、例えば次のように正規化してもよい。
【0051】
図15の左図に、左右の瞳画像I
L、I
Rの一部プロファイル(波形パターン)を示す。上述したように本実施形態のマッチング評価法(ISAD)を行うには異なる瞳画像I
L、I
Rのレベルを正規化し、
図15の右図のような波形パターンを得る必要がある。
【0052】
いま右瞳画像I
Rの区間w
Rに対してゲイン補正を行うことを考える。瞳画像I
LとI
Rは区間wにおいて相似波形であり且つずれ量δ
U、δ
Dが非常に小さいと仮定する。この場合、右瞳画像I
Rの上ピークであるx位置U
Rの画素値と左瞳画像I
Lの上ピークであるx位置U
Lの画素値とが対応することは明らかである。また、右瞳画像I
Rの下ピークであるx位置D
Rの画素値と左瞳画像I
Lの下ピークであるx位置D
Lの画素値とが対応することは明らかである。
【0053】
そこで、まずピーク位置U
R、D
R、U
L、D
Lを求める。そして、下式(10)のように、ピーク位置U
RとD
Rの範囲において平均値Av(R)を求め、ピーク位置U
LとD
Lの範囲において平均値Av(L)を求める。
【数10】
【0054】
平均値Av(R)、Av(L)から補正ゲインを求め、下式(11)により区間w
Rにおける正規化を行う。この正規化により、
図15の右図のように同一レベルの左右の瞳画像nI
L,nI
Rの波形パターンが得られる。
【数11】
【0055】
なお、正規化の計算式は上式(11)に限らず、下式(12)のように瞳画像I
L、I
Rの両方の正規化波形として計算してもよい。
【数12】
【0056】
いずれにしても、マッチングが得られる区間どうし(区間w
Rとw
L)でゲイン補正を行い、瞳画像I
L、I
Rを正規化するので、同レベルの波形を比較してマッチング評価値が得られ、効果的である。また、瞳画像I
LI
Rが近接し、ずれ量が非常に小さい状態で詳細な位相差を求めるときには、隣接ピークが対応関係にあることが利用できるので都合がよい。
【0057】
2.3.ISAD評価値の第2の算出手法
ISAD評価値の算出手法は、上式(4)、(6)に限らず、例えば下式(13)を用いてもよい。
【数13】
【0058】
上式(13)では、位相差検出部30は、正規化した第1画像nI
L(左瞳画像)の画素値と第2画像nI
R(右瞳画像)の画素値を減算処理した値を、減少区間Faにおいて加算処理し、その絶対値を求める。また、正規化した第1画像nI
Lの画素値と第2画像nI
Rの画素値を減算処理した値を、増加区間Raにおいて加算処理し、その絶対値を求める。そして、各区間での絶対値を加算処理して相関係数ISADを求める。
【0059】
増加区間Ra又は減少区間Faでは、瞳画像nI
RとnI
Lの減算値は正又は負の値に統一されている。各区間において減算値を積算すると正又は負の値が得られるが、その絶対値を取れば、上式(4)、(6)と同様のISAD評価値が得られる。この手法では、減算値を正にしなくてもよいため、瞳画像nI
RとnI
Lの減算の順序を入れ替える必要がなく、固定したままで済む。
【0060】
例えば、左瞳画像nI
Lが右瞳画像nI
Rの右側にシフトしている場合と、左瞳画像nI
Lが右瞳画像nI
Rの左側にシフトしている場合とでは、瞳画像nI
RとnI
Lの上下関係が変わる。そのため、減算値が正になるようにするには、瞳画像nI
RとnI
Lの値の各区間での上下関係を判断し、減算の順序を適応的に変える必要があるが、上式(13)を用いれば、その必要はなくなるので都合が良い。
【0061】
3.第2実施形態
次に、第2実施形態について説明する。この実施形態では、画像処理によりサンプリングピッチの高密度化を行い、その高密度化した視差画像を用いて高精度な位相差検出を行う。更に、上述した改良SADを組み合わせることで、より高精度な位相差検出を行うことが可能である。
【0062】
従来の位相差検出では、瞳分割により撮像された2つの視差画像の各画像を受け持つサンプリング画素の密度により位相差の検出分解能が決まってしまう。即ち、
図13の左図に示すように、視差画像の波形パターンはサンプリング画素によりサンプリングされたデータとして扱われる。その2つの波形パターンの相対位置を初期位置からシフトしながら相関係数を求める際、2つの波形パターンのサンプリング位置が一致する相対位置での相関係数が得られる。そのため、マッチング位置の検出分解能はサンプリング密度で決まることとなり、初期位置とマッチング位置の差である位相差の分解能もサンプリング密度で決まることになる。
【0063】
例えば、位相差検出を測距に応用した場合を考える。下式(15)で後述のように、距離分解能Δzは、位相差の検出分解能Δsによって決まる。即ち、高分解能な測距を実現しようとすると、より高い位相差検出分解能が必要となる。しかしながら、昨今、撮像素子の画素密度は光学分解能の限界まで近づいてきており、今後の大幅な画素密度の改善は見込めない。したがって、如何に与えられた撮像素子を使って、その画素密度以上の高密度サンプリングを実現できるかが大きな課題となる。
【0064】
図5に、この課題を解決できる本実施形態の撮像装置の構成例を示す。撮像装置は、光学ローパスフィルタ11を有する撮像部10と、高密度化処理部20と、位相差検出部30と、を含む。
【0065】
高密度化処理部20は、第1画像と第2画像の画素数を増加させ、第1被写体像と第2被写体像のサンプリングピッチを仮想的に高密度化する処理を行う。そして、位相差検出部30は、その高密度化された第1画像と第2画像の位相差を検出する。
【0066】
例えば、後述する第3実施形態では、単眼の撮像光学系を瞳分割し、ベイヤ配列の撮像素子を用いて視差画像を取得する。このとき、第1瞳を通過する第1被写体像を赤色画素で撮像し、第2瞳を通過する第2被写体像を青色画素で撮像する。そして、撮像素子の画素密度(画素ピッチp)に対してN倍のサンプリング密度(画素ピッチp/N)をもつ第1画像と第2画像を生成する。
【0067】
このようにすれば、見かけ上のサンプリング密度を撮像素子の画素密度よりも格段に高密度にした視差画像を生成することができる。即ち、この視差画像を用いて位相差を検出することで、従来の検出分解能よりも飛躍的に高分解能な位相差検出を行うことが可能となる。例えば、上記の例では、N倍の密度で相関係数を求めることができるので、従来のN倍の分解能で位相差を検出することが可能となる。
【0068】
4.第3実施形態
4.1.ステレオ画像計測の手法
次に、高密度化処理の詳細を第3実施形態として説明する。この実施形態では、単眼の撮像部を瞳分割し、2つの瞳に異なる色を割り当てて視差画像を取得し、その視差画像を高密度化処理する。
【0069】
まず、瞳分割方式によるステレオ画像計測の基本原理について、
図6を用いて説明する。なお以下では、瞳を左右(水平走査方向)に分割する場合を例に説明するが、瞳の分割方向は左右に限定されず、光軸に直交する任意の方向であればよい。
【0070】
被写体面からの反射光は、結像レンズ12(結像光学系)を通り、撮像素子面にて像を形成し、撮像素子により画像信号として取得される。このとき、被写体の基準位置RPをゼロとした座標軸を(x,y,z)とし、それに対応する撮像素子面の合焦位置RP’をゼロとした座標軸を(x’,y’)とする。例えば、x’軸は撮像素子の水平走査方向に対応し、y’軸は撮像素子の垂直走査方向に対応する。z軸は、結像レンズ12の光軸方向、即ち、奥行き距離方向に対応する。
【0071】
被写体の基準位置RPから結像レンズ12の中心までの距離をa
0とし、結像レンズ12の中心から撮像素子面までの距離をb
0とする。この距離a
0、b
0は、撮像部の設計により決まる距離である。
【0072】
さて、結像レンズ12の左半分を左瞳と呼び、右半分を右瞳と呼ぶとする。GP
Lは左瞳の重心位置であり、GP
Rは右瞳の重心位置である。被写体面が基準位置からz方向に離れると、撮像素子面で得られる画像はデフォーカス状態となり、左瞳の通過画像I
Lと右瞳の通過画像I
R(以下、左瞳画像、右瞳画像と言う)は、ずれた画像、即ち位相差sをもった画像となる。なお、ここでは便宜上レンズ中心に瞳位置があるようにしたが、実際はレンズの外の絞り等の位置に瞳位置が存在するのが常識である。
【0073】
上記の位相差sと被写体面の位置zの関係を求める。撮像素子面で得られる左右瞳画像I
L、I
Rの位相差sと被写体面の位置zの関係は、下式(14)により決定される。
【数14】
【0074】
ここで、Mは基準合焦位置における光学総合倍率である。結像視野サークル径をφICとし、撮像範囲の視野サークル径をφOCとすると、M=φIC/φOC=b
0/a
0である。lは、左瞳の重心GP
Lと右瞳の重心GP
Rの間の距離である。なお、上式(14)が成り立つのは厳密には光学系の軸上についてであるが、原理説明のために軸外での関係式は省略する。
【0075】
位相差sを求めるためには、左瞳画像I
Lと右瞳画像I
Rを分離して取得できなければならないが、その分離手法については種々考えられる。例えば、左瞳位置に赤色を透過する光学フィルタを設け、右瞳位置に青色を透過する光学フィルタを設定し、撮像素子で得られる赤色画像を左瞳画像として分離し、青色画像を右瞳画像として分離する。或は、特開2009−145401に開示されるように、撮像素子面に入射する光線角度により左右瞳画像を分離取得する手法もある。或は、古くから行われている二眼カメラを用いて、左右瞳画像に相当する視差ステレオ画像を別々に取得する手法もある。いずれの手法も用いることが可能であり、目的・用途に応じて選択されればよい。
【0076】
高精度な3D計測を実現するためには、z分解能を如何に高められるかが重要な課題である。上式(14)を変形し、z分解能Δzを位相差分解能Δsにより表すと、下式(15)となる。
【数15】
【0077】
上式(15)から分かるように、z方向の測定分解能を向上させるためには、位相差分解能Δsを小さくすることによりz分解能Δzを小さくすることが求められる。即ち、z分解能Δzを高めるためには、左右の瞳画像の位相差を如何に細かく検出できるかにかかっており、そのためには撮像素子による左右瞳画像のサンプリング密度を上げる必要がある。しかしながら、サンプリング密度は撮像素子の画素ピッチにより制限され、現状の画素ピッチはほぼ限界に近づきつつあり、これ以上大幅に細かくしていくことは困難となっている。
【0078】
4.2.撮像装置
図7に、第3実施形態における撮像装置の構成例を示す。撮像装置は、撮像部10、高密度化処理部20(高密度化計測用現像部)、位相差検出部30、光学特性記憶部40、測距演算部80、立体形状出力処理部90を含む。なお、既に上述した構成要素と同一の構成要素については同一の符号を付し、適宜説明を省略する。
【0079】
撮像部10は、光学ローパスフィルタ11、結像レンズ12(結像光学系)、瞳分割フィルタ13、撮像素子14、撮像処理部15を含む。
【0080】
瞳分割フィルタ13の左瞳にはR(赤色)フィルタが設けられ、右瞳にはB(青色)フィルタが設けられる。撮像素子14はベイヤ画素配列のRGBカラーイメージセンサである。
図8に、瞳分割フィルタ13と撮像素子14の分光特性を示す。F
Lは左瞳のRフィルタの分光特性であり、F
Rは右瞳のBフィルタの分光特性である。T
B、T
G、T
Rは、それぞれB、G(緑色)、Rの画素の分光特性である。瞳の分光特性F
L、F
Rは、R画素とB画素の分光特性T
B、T
Rのクロスポイント(波長λc)で分割されており、全体としてRGBの帯域を覆っている。分光特性F
L、F
Rは、ともにGの成分(の一部)を透過する特性になっている。
【0081】
なお、分光特性{T
B、T
G、T
R}は、撮像素子14の画素毎に設けられたカラーフィルタの特性のみならず、被写体に照射される外光又は照明光の分光特性や、画素自体の分光特性が合成されたものとして定義される。分光特性に関するパラメータは、すべて波長λに対する設定値(対応値)であるが、本明細書では従属変数としての波長λの表記は省略している。
【0082】
被写体からの反射光は、結像レンズ12、瞳分割フィルタ13、光学ローパスフィルタ11を通過し、撮像素子14に像を形成する。このとき、R画素の画素値として、被写体からの反射光の分光特性に、左瞳の分光特性F
LとR画素の分光特性T
Rを掛けた成分値が得られる。また、B画素の画素値として、被写体からの反射光の分光特性に、右瞳の分光特性F
RとB画素の分光特性T
Bを掛けた成分値が得られる。即ち、ベイヤ画像のうちR画像により左瞳画像が得られ、B画像により右瞳画像が得られる。
【0083】
撮像処理部15は、撮像動作の制御や、撮像信号の処理を行う。例えば、撮像素子14からの画素信号をデジタルデータに変換し、ベイヤ配列の画像データ(いわゆるRAW画像データ)を出力する。
【0084】
高密度化処理部20は、R画像とB画像の位相差をサンプリング画素ピッチよりも小さい分解能で検出するためのサンプリング密度の高密度化処理を行う。この処理によりサンプリング密度はN×N倍となる。Nは例えば100〜10000である。高密度化処理の詳細については後述する。
【0085】
なお、高密度化処理部20は、光学特性記憶部40に記憶された分光特性F
R、F
L、T
B、T
G、T
Rに基づいて、R画像とB画像の高精度な分離を行ってもよい。例えば、R画素の分光特性T
Bは左瞳の分光特性F
Lの帯域にも成分をもっている。そのため、右瞳画像であるべきR画像には左瞳の成分が混入している。このような左右瞳の混合を分光特性F
R、F
L、T
B、T
G、T
Rに基づいて低減する処理を行ってもよい。
【0086】
位相差検出部30は、位相差ラフ検出部50、検出可能領域抽出部60(検出可能特徴部位抽出部)、位相差微細検出部70を含む。
【0087】
位相差ラフ検出部50は、位相差微細検出部70が行う位相差検出の密度よりも粗い位相差検出を行う。例えば、高密度化処理後の画像や高密度化処理前のベイヤ画像に対して、画素を間引いて相関演算を行う。
【0088】
検出可能領域抽出部60は、位相差ラフ検出部50からの相関係数に基づいて、位相差検出が可能か否かの判定を行い、その判定結果によりz方向の距離情報を取得できるか否かを判断し、検出可能領域の画像を位相差微細検出部70へ出力する。例えば、相関ピークが存在するか否かを判定することで位相差検出が可能か否かを判定する。
【0089】
位相差微細検出部70では、高密度化処理後の画像に対して位相差検出を行い、サンプリング画素ピッチよりも小さい分解能により位相差を精細に求める。位相差の検出は、検出可能領域抽出部60により位相差検出が可能と判断された領域に対して行う。
【0090】
測距演算部80は、位相差微細検出部70により検出された位相差に基づいて、z方向の距離を高分解能に算出する。立体形状出力処理部90は、z方向の距離情報に基づいて立体形状データを構成し、その立体形状データを出力する。
【0091】
4.3.高密度化処理
次に、サンプリング密度の高密度化処理について詳細に説明する。
【0092】
光学ローパスフィルタ11を通った左右のR、Bの瞳画像は、カラー撮像素子14によりサンプリングされる。撮像素子14のR、B画素は
図9のように配置されている。光学ローパスフィルタ11は、アンチエイリアスフィルタであり、R、Bの瞳画像に折り返し雑音が発生しないように設けられる。各瞳画像のサンプリングピッチは2pなのでサンプリング周波数は1/(2p)であり、それに対応して決まるナイキスト周波数1/(4p)以下にカットオフ周波数を設定する。
【0093】
R、B画像の周波数特性は、
図10(A)のようになる。即ち、光学LPFの周波数特性が例えば1/(4p)の場合、−1/(4p)〜+1/(4p)の帯域をもつ。図示を省略しているが、1/(2p)の繰り返し周期をもつ。なお、点線は、画素開口の周波数特性を示す。開口幅pに対応して、−1/p〜+1/pの帯域をもつ。
【0094】
次に、撮像素子14により得られたR、Bの瞳画像の一つ一つのサンプリング画素について、1画素以下の見かけ上の微小画素により構成されているかのようなデータを作成する。例えば、縦横0.1画素によりサンプリングされた画素値を生成する場合、1画素を縦横にそれぞれN=10等分し、1画素がN×N=100個の微小画素で構成されることを想定する。微小画素の画素値は、元の画素の値と等しい値を適用する。このアップサンプリング処理をR画素およびB画素全てにおいて行う。
【0095】
R、B画像の周波数特性は、
図10(B)のようになる。画素を分割してデータを複製しただけなので、周波数特性はアップサンプリング前と同様である。即ち、例えば−1/(4p)〜+1/(4p)の帯域をもち、1/(2p)の繰り返し周期をもつ。
【0096】
次に、微小画素で構成されたサンプリングデータを2次元ローパスフィルタによりフィルタリングし、未検出部分の画素を含めて撮像画像全面における微小画素を再構成する。即ち、撮像素子14の画素ピッチpに対して画素ピッチp/Nの画像データを生成し、見かけ上N倍のサンプリング密度が得られる。2次元ローパスフィルタのカットオフ周波数は、光学ローパスフィルタ同様にR又はBのサンプリングピッチ2pで決まるナイキスト周波数1/(4p)以下に設定される。2次元ローパスフィルタは、例えばガウシアンフィルタである。
【0097】
2次元ローパスフィルタの周波数特性は、例えば
図10(C)に示す通りである。2次元ローパスフィルタ後のR、B画像の周波数特性は、
図10(D)のようになる。画素ピッチがp/Nとなったことに対応して、繰り返し周波数がN/pとなる。帯域は、光学ローパスフィルタの周波数特性に2次元ローパスフィルタの周波数特性を乗じたものの帯域に対応する。
【0098】
図11の左図に示すように、高密度化処理前の左右のR、Bの瞳画像I
L、I
Rは、2pピッチでサンプリングされた画像である。上記の高密度化処理により、
図11の右図に示すように、左右のR、Bの瞳画像I
L、I
Rは、単純に撮像素子14でサンプリングした密度を大きく超える密度(ピッチp/N)でサンプリングした画像データとして得ることができる。
【0099】
図12(A)〜
図12(C)に、高密度化処理による位相差検出のシミュレーション結果を示す。横軸は、相関演算における初期位置を“0”とし、その初期位置からのシフト量を画素数で表したものである。
【0100】
図12(A)は、位相差を求める波形である。撮像素子の画素ピッチをpとすると、波形I(x)とI(x−δ)は位相差δ=0.2pをもった波形であり、画素ピッチpでサンプリングした波形である。
【0101】
図12(B)は、サンプリング波形I(x)、I(x−δ)を単純に0.1pでアップサンプリングし(1画素を0.1pに分割し、その画素と同一の値を複製する)、0.1p刻みでシフトしながら相互相関係数を求めたものである。本来、δ=0.2pのところで相関ピークが検出されなければならないが、サンプリング波形は1画素単位の値しか持ち得ないので、δ=0において相関ピークを示し、1画素以下の分解能での検出はできていない。
【0102】
図12(C)は、サンプリング波形I(x)、I(x−δ)に対して本実施形態の高密度化処理を行い、相互相関係数を求めたものである。即ち、上記のアップサンプリングに加え、カットオフ周波数1/(4p)以下のローパスフィルタをかけた後に、0.1p刻みでシフトしながら相互相関係数を求めたものである。δ=0.2pにて明確に相関ピークを示し、0.1p単位の検出分解能が得られることが分かる。
【0103】
以上より、本実施形態のアップサンプリング処理と2次元ローパスフィルタ処理によって、撮像素子の画素ピッチ以下での位相差検出分解能を可能にすることができる。
【0104】
また、通常の位相差検出では、サンプリング位置が異なることで左右のR、Bの瞳画像サンプリングデータの類似性が劣化するが、本実施形態によれば、この課題を解決できる。この点について、
図13を用いて説明する。
【0105】
図13の左図に示すように、左右のR、Bの瞳画像I
L、I
Rは、ほぼ同一の波形であり、位相差δを有する。
図13の右図に示すように、仮に瞳画像I
L、I
Rの波形を一致させたとする。このとき、瞳画像I
L、I
Rはマッチングしており、本来は、このように波形の類似性が最も高い位置での相関係数が得られることが望ましい。
【0106】
しかしながら、視差δは任意であるため、ほぼ同一波形である瞳画像I
L、I
Rに対してR、Bの画素がサンプリングする位置は一般的に同一とはならない。そのため、例えば左右のR,Bの瞳画像I
L、I
Rが光学的に同一であっても、得られるサンプリングデータは異なったものとなり、サンプリングデータで見れば類似性が失われている。このことは、相関係数から瞳画像I
L、I
Rのマッチング位置を求めようとしたときに、正確な位置が求められないことを意味する。
【0107】
例えば、瞳画像I
L、I
Rを1サンプリング画素ずつ(即ち2pピッチで)ずらしながら、相関係数を求めたとする。相関係数が得られるのは、瞳画像I
L、I
Rの画素(即ち実線矢印と点線矢印)が一致する各位置である。即ち、サンプリング位置が異なる瞳画像I
L、I
Rでは、波形が一致したときの相関係数は得られず、位相差の検出誤差が生じる。
【0108】
この点、本実施形態によれば、
図11の右図のように瞳画像I
L、I
Rを高密度にサンプリングしたデータが得られるので、サンプリングデータの類似性を確保することができ、位相差の検出精度を向上できる。また、2次元ローパスフィルタをかけることにより、R、Bの瞳画像I
L、I
Rに重畳されたノイズ成分が抑圧され、ノイズによるマッチング位置の検出誤差ばらつきを抑える効果がある。
【0109】
図14に、サンプリングデータの類似性についてシミュレーションした結果を示す。上段の図はサンプリング位置を示す。サンプリング位置B2、B4、B6、B8は、サンプリング位置Aから0.2pずつシフトした位置である。例えば、位相差が0.6pの場合、左瞳画像はサンプリング位置Aでサンプリングされ、右瞳画像はサンプリング位置B6でサンプリングされる。
【0110】
中段の図はサンプリングデータを示す。サンプリングデータは、センサ入力波形をサンプリング位置A、B2、B4、B6、B8でサンプリングしたデータである。センサ入力波形は、センサ面に結像した被写体像の波形である。この時点では、サンプリング位置が異なっているのでサンプリングデータ間の類似性は低下している。
【0111】
下段の図は各サンプリングデータに本実施形態の高密度化処理を施したものである。波形データAs、Bs2、Bs4、Bs6、Bs8は、サンプリング位置A、B2、B4、B6、B8に対応する。波形データAs、Bs2、Bs4、Bs6、Bs8は、一致して識別不能であり、サンプリングデータ間の類似性が高いことが分かる。この類似性の高いサンプリングデータを用いることで、高精度な位相差検出が可能となる。
【0112】
以上の実施形態によれば、撮像部10は、第1被写体像を撮像する画素のピッチ及び第2被写体像を撮像する画素のピッチがPである場合に、カットオフ周波数が1/(2P)以下である光学ローパスフィルタ11を有する。そして、高密度化処理部20は、高密度化処理として、第1画像I
L(左瞳画像、R画像)と第2画像I
R(右瞳画像、B画像)に対するアップサンプリング処理と、そのアップサンプリング処理後の第1画像I
Lと第2画像I
Rに対する2次元ローパスフィルタ処理と、を行う。
【0113】
図9に示すように、第3実施形態では第1画像I
Lと第2画像I
RのサンプリングピッチはそれぞれP=2pである。そして、第1画像I
Lと第2画像I
Rを、それぞれN×N倍の画素数にアップサンプリング処理し、その画像に対して2次元ローパスフィルタ処理を行う。
【0114】
以上のようにすれば、撮像素子の画素密度(画素ピッチp)に対して、見かけ上のサンプリング密度(画素ピッチp/N)をN倍とした視差画像を得ることができる。
図12等で説明したように、この視差画像を用いて位相差を検出することで、従来の検出分解能よりも飛躍的に高分解能な位相差検出を行うことが可能となる。
【0115】
また、上述した改良SADを組み合わせることで、更に高精度な位相差検出が可能となる。即ち、高密度化処理では、2次元LPFにより高周波成分がカットされているため、低周波成分の波形どうしの位相差検出となりノイズの影響を受ける可能性がある。この点、改良SADによりノイズの影響を低減できるので、高密度化処理による検出分解能を最大限に活かすことが可能となる。
【0116】
なお、本実施形態を二眼の撮像部に適用した場合、例えば、二眼の撮像光学系それぞれに撮像素子が設けられる。この場合、視差画像のサンプリングピッチPは撮像素子の画素ピッチpと同一となるので、P=pとなる。
【0117】
以上の実施形態によれば、撮像部10は、結像光学系(結像レンズ12)と、結像光学系の瞳を、第1被写体像を通過させる第1瞳(左瞳)と第2被写体像を通過させる第2瞳(右瞳)とに分割する瞳分割フィルタ13と、結像光学系により結像された第1被写体像及び第2被写体像を撮像する撮像素子14と、を有する。
【0118】
このようにすれば、単眼の撮像部10で視差画像を撮像できる。そして、その視差画像に高密度化処理を施すことで、単眼であっても高分解能な測距が可能となる。即ち、上式(15)に示すように、測距の分解能Δzを上げるためには瞳の重心間距離lを離す必要があるが、単眼は二眼に比べて瞳の重心間距離lを確保しにくい。この点、本実施形態では高密度化処理により位相差の検出分解能Δsを上げることができるため、上式(15)により、瞳の重心間距離lが小さい場合であっても高分解能な測距を実現できる。例えば、内視鏡(工業用、医療用等)ではスコープを細径にするニーズがあるが、単眼は細径を実現しやすく、また、細径にして瞳の重心間距離lが小さくなっても高密度化処理により高精度な測距が可能である。
【0119】
また、本実施形態では、撮像素子14は、原色ベイヤ配列の撮像素子である。瞳分割フィルタ13は、赤色に対応する波長帯域を透過するフィルタ(
図8の分光特性F
L)を第1瞳として有し、青色に対応する波長帯域を透過するフィルタ(
図8の分光特性F
R)を第2瞳として有する。そして、高密度化処理部20は、撮像素子14により撮像されたベイヤ配列の画像のうち赤色の画像を第1の画像(左瞳画像)とし、青色の画像を第2の画像(右瞳画像)として、高密度化処理を行う。
【0120】
このようにすれば、一般的に用いられている原色ベイヤ配列のカラーイメージセンサを用いて、高分解能な位相差検出を実現できる。瞳分割フィルタ13を挿入し、R、B画像を取り出すだけで視差画像を構成できるので、従来からある撮像部に大きな変更を加えずに高分解能な位相差検出を実現できる。また、光学系には瞳分割フィルタ13が加わるだけなので撮像部10をコンパクトに構成でき、例えば上述した細径の内視鏡等を実現できる。
【0121】
また、本実施形態では、撮像素子14の画素ピッチをpとする場合に、第1被写体像を撮像する赤色の画素のピッチ及び第2被写体像を撮像する青色の画素のピッチは、P=2pである。そして、光学ローパスフィルタ11のカットオフ周波数は、1/(2P)=1/(4p)以下である。
【0122】
瞳分割しない通常の撮影では、撮像素子の画素ピッチpに対応するナイキスト周波数は1/(2p)であり、光学ローパスフィルタ11のカットオフ周波数を1/(2p)以下に設定する。一方、本実施形態では、視差画像それぞれにサンプリングを行っているので、そのサンプリングピッチ2pに対応したナイキスト周波数1/(4p)以下にカットオフ周波数を設定する。これにより、視差画像における折り返し雑音を抑制できる。
【0123】
また、本実施形態では、高密度化処理部20は、アップサンプリング処理として、第1画像及び第2画像の画素をN×N画素に分割し、そのN×N画素に元の画素の画素値を複製する処理を行う。
【0124】
また、本実施形態では、2次元ローパスフィルタ処理のカットオフ周波数は、1/(2P)以下である。
【0125】
このように、視差画像の画素をN×N画素に分割し、元の画素の画素値を複製することで、まずデータ上で微細な画素を準備することができる。そして、そのデータに対してカットオフ周波数1/(2P)以下の2次元ローパスフィルタ処理を行うことで、あたかも微細な画素でサンプリングしたかのような視差画像を生成できる。視差画像の周波数帯域は光学ローパスフィルタ11により1/(2P)以下に制限されているため、それに対応して2次元ローパスフィルタのカットオフ周波数を1/(2P)以下に設定することで、視差画像の成分を残しながら、その帯域外のノイズを低減することができる。
【0126】
なお、以上の実施形態では原色ベイヤ配列のカラー撮像素子を用いる場合を例に説明したが、本実施形態はこれに限定されず、例えば補色のカラー撮像素子を用いることも可能である。この場合、補色のカラー撮像素子で撮像したYCrCb画像からR画像、B画像を生成し、視差画像として用いればよい。
【0127】
以上、本発明を適用した実施形態およびその変形例について説明したが、本発明は、各実施形態やその変形例そのままに限定されるものではなく、実施段階では、発明の要旨を逸脱しない範囲内で構成要素を変形して具体化することができる。また、上記した各実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることによって、種々の発明を形成することができる。例えば、各実施形態や変形例に記載した全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態や変形例で説明した構成要素を適宜組み合わせてもよい。このように、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能である。また、明細書又は図面において、少なくとも一度、より広義又は同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。