(57)【要約】【課題】  撮像画像データ中に鏡面反射光の成分が含まれている場合であっても、被写体までの距離を高精度に推定することを目的とする。【解決手段】  偏光面が角度が異なる偏光フィルタが装着された複数のカメラにより撮像された複数の偏光画像データに基づき、被写体の鏡面反射光の強度と偏光面の角度との少なくとも何れか一方を推定し、その結果に基づいて被写体までの距離を推定する。【選択図】  図４
2013044597.tif 000002
【特許請求の範囲】
【請求項１】
複数のカメラにより撮像された複数の画像データを処理する画像処理装置であって、
偏光面の角度が異なる偏光フィルタが装着された前記複数のカメラにより撮像された複数の偏光画像データを取得する偏光画像取得手段と、
前記複数の偏光画像データに基づき、被写体の鏡面反射光の強度と偏光面の角度との少なくとも何れか一方を推定する鏡面反射光推定手段と、
前記鏡面反射光推定手段による推定結果に基づいて、被写体までの距離を推定する距離推定手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記複数のカメラは、３つ以上の異なる偏光面の角度で偏光フィルタが装着されていることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記複数のカメラにより撮像された撮像画像データから、被写体における鏡面反射光に対応する領域までの距離を算出する奥行き算出手段を更に有し、
前記鏡面反射光推定手段は、前記奥行き算出手段により算出された距離と前記複数の偏光画像データとに基づいて、前記被写体の鏡面反射光の強度と偏光面の角度との少なくとも何れか一方を推定することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記距離推定手段は、前記鏡面反射光推定手段による推定結果に基づいて、偏光画像データが示す画像中の被写体の鏡面反射光に対応する領域から、鏡面反射光による影響を差し引くことを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
請求項１乃至４の何れか１項の画像処理装置を有する撮像装置。
【請求項６】
複数のカメラにより撮像された複数の画像データを処理する画像処理方法であって、
偏光面の角度が異なる偏光フィルタが装着された前記複数のカメラにより撮像された複数の偏光画像データを取得する偏光画像取得工程と、
前記複数の偏光画像データに基づき、被写体の鏡面反射光の強度と偏光面の角度との少なくとも何れか一方を推定する鏡面反射光推定工程と、
前記鏡面反射光推定工程の推定結果に基づいて、被写体までの距離を推定する距離推定工程と、
を有することを特徴とする画像処理方法。
【請求項７】
コンピュータを請求項１乃至４のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のカメラにより撮像された複数の画像データを処理する画像処理装置および方法、プログラムに関する。
【背景技術】
【０００２】
従来、ステレオカメラ、又は複数のカメラを格子上に配置した多眼方式の撮像装置を用いて、対象物体までの距離を推定する距離推定技術がある。この距離推定技術は視差を用いて測定する方法である。この測定ではカメラの位置と、複数枚画像の重なった領域での画像間の対応点探索が必要となる。
しかし、撮像条件の影響により対応点探索の際の誤差が大きくなる。例えば、夜間の撮影画像は可視光情報が少ないため、対応点探索の誤差が大きくなる。夜間の可視光情報が少ない条件に対して対応点探索の誤差を削減するために、複数台カメラの中で可視光カメラと赤外線カメラを分け、２値化された可視画像と赤外画像から車両を認識する手法が提案されている。（特許文献１）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−２５５０１９
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１は異なる波長の画像を合成する手法であって、光の偏光に対する処理は行っていない。従って、ガラス、水面、プラスチックなどの表面で起きる鏡面反射の部分は、異なる波長の画像間では対応点付けができず、距離の推定精度が落ちるという課題がある。
そこで本発明では、撮像画像データ中に鏡面反射光の成分が含まれる場合であっても、被写体までの距離を高精度に推定することを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するために本発明の画像処理装置は、複数のカメラにより撮像された複数の画像データを処理する画像処理装置であって、偏光面の角度が異なる偏光フィルタが装着された前記複数のカメラにより撮像された複数の偏光画像データを取得する偏光画像取得手段と、前記複数の偏光画像データに基づき、被写体の鏡面反射光の強度と偏光面の角度との少なくとも何れか一方を推定する鏡面反射光推定手段と、前記鏡面反射光推定手段による推定結果に基づいて、被写体までの距離を推定する距離推定手段と、を有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、撮像画像データ中に鏡面反射光の成分が含まれる場合であっても、被写体までの距離を高精度に推定することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】多眼方式の撮像装置に偏光フィルタを装着したイメージ図である。
【図２】実施例１のシステム構成図である。
【図３】撮像部１０１〜１０９のシステム構成図である。
【図４】実施例１の示すブロック図である。
【図５】実施例１の効果を示す図である。
【図６】実施例１の動作を示すフローチャートである。
【図７】鏡面反射光の奥行き算出部４１０の動作を示すフローチャートである。
【図８】実施例１の撮像画像のイメージ図である。
【図９】鏡面反射光推定部４０６の動作を示すフローチャートである。
【図１０】実施例１の偏光画像と測距画像のイメージ図である。
【図１１】偏光フィルタに対する鏡面反射光の入射・透過光の性質を示す図である。
【図１２】測距画像生成部４０７の動作を示すフローチャートである。
【発明を実施するための形態】
【０００８】
［実施例１］
本実施例では、多眼方式の撮像装置に偏光面の角度が異なる偏光フィルタをＮ個（本実施例ではＮ＝３）配置する。偏光フィルタに対する偏光した光の入射・透過光の性質を用いて、被写体における鏡面反射光の強度と偏光面の角度を高精度に推定することにより、距離推定精度を向上することができる。また、カメラの数が増えると装着できる偏光フィルタの数も増えて、鏡面反射光の強度と偏光面の角度の推定精度が向上する。
【０００９】
図１は、多眼方式の撮像装置に偏光フィルタを装着したイメージ図である。図１（ａ）は複数のカメラにより構成される多眼方式の撮像装置の一例を示している。９個のカメラ１０１〜１０９は３行３列の正方格子上に配置されている。すべてのカメラは筺体１１０の同一平面上に配置され、その光軸はすべて略平行であり、配置された平面に垂直である。本実施例では、複数台のカメラにおいて、測距カメラと撮像カメラを区別して使う。図１（ａ）は、測距カメラと撮像カメラの配置を一例として示している。本実施例では、図１（ａ）に示すように測距カメラは距離推定精度を向上するために、偏光フィルタを装着する。図１（ａ）の測距カメラ中央の斜線は、装着した偏光フィルタの偏光面の角度を表す線である。
【００１０】
図１（ｂ）、（ｃ）は被写体を撮影した画像のイメージ図である。図１（ｂ）は偏光フィルタ無しの撮像カメラにより取得した撮像画像のイメージ図を示している。図１（ｃ）は偏光フィルタ有りの測距カメラにより取得した偏光画像のイメージ図を示している。図１（ｂ）の偏光フィルタ無しの場合、撮像画像上に被写体の反射光に対応する領域（鏡面反射領域）がある。一方、図１（ｃ）の偏光フィルタ有りの場合、鏡面反射領域は偏光フィルタにより除去でき、撮像画像上に鏡面反射領域は無い。
【００１１】
本実施例のシステム構成を図２を用いて説明する。撮像部１０１〜１０９は、被写体からの光情報をセンサで受光しＡ／Ｄ変換を施しデータ転送経路であるバス２１４にデジタルデータを出力する。フラッシュ２０１は、被写体に光を照射する。ＲＯＭ２０２とＲＡＭ２０３は、撮像や画像処理に必要なプログラム、データ、作業領域などをＣＰＵ２０４に提供する。ＣＰＵ２０４はＲＡＭ２０３をワークメモリとして、ＲＯＭ２０２やＲＡＭ２０３に格納されたプログラムを実行し、バス２１４を介して各構成を制御する。これにより、後述する様々な処理が実行される。撮像装置制御部２０５は、フォーカスを合わせる、シャッターを開く、絞りを調節するなどの、ＣＰＵ２０４から指示された撮像系の制御を行う。操作部２０６は、ボタンやモードダイヤルなどが該当し、これらを介して入力されたユーザ指示を受け取る。ＣＧ生成部２０７は、文字やグラフィックなどを生成する。表示部２０８は、一般的には液晶ディスプレイが広く用いられており、ＣＧ生成部２０７や後述のデジタル信号処理部２０９、画像処理部２１３から受け取った撮影画像データが示す画像や文字の表示を行う。また、タッチスクリーン機能を有していても良く、その場合は、ユーザ指示を操作部２０６の入力として扱うことも可能である。デジタル信号処理部２０９は、デジタル値にホワイトバランス処理、ガンマ処理、ノイズ低減処理などを行い、デジタル画像データを生成する。圧縮・伸張部２１０は、上記デジタル値をＪｐｅｇやＭｐｅｇなどのファイルフォーマットに変換する処理を行う。外部メモリ制御部２１１は、ＰＣその他メディア２１２（例えば、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリ）につなぐためのインターフェースである。画像処理部２１３は、撮像部１０１〜１０９から得られたデジタル画像データ或いは、デジタル信号処理部から出力されるデジタル画像データ群を利用して新たな画像データを生成し、その結果をバス２１４へ出力する。
【００１２】
図３を用いて、撮像部１０１〜１０９の詳細を説明する。撮像部１０１〜１０３は、装着フィルタ３０１（本実施例では偏光フィルタ）を有する一方、撮像部１０４〜１０９は偏光フィルタ３０１を有しない。更に、撮像部１０１〜１０９は、レンズ３０２、絞り３０３、シャッター３０４、光学フィルタ３０５、センサ３０６などから構成され、被写体の光量を検知する。Ａ／Ｄ変換部３０７は被写体の光量をデジタル値に変換し、バス２１４にデジタルデータを出力する。
【００１３】
なお、装置の構成要素は上記以外にも存在するが、本実施例の主眼ではないので、説明を省略する。
【００１４】
図４は、本実施例を適用できる画像処理装置の実施の一形態を示すブロック図である。入力された偏光画像データ群は入力端子４０１から画像処理部２１３へ入力される。入力された偏光画像データ群に対応した偏光フィルタ角度情報は入力端子４０２から入力される。同じく撮像画像データ群は入力端子４０３から画像処理部２１３へ入力される。偏光画像データ群と撮像画像データ群のカメラパラメータは入力端子４０４から画像処理部２１３へ入力される。
【００１５】
偏光画像取得部４０５は、入力端子４０１から入力された偏光画像データを取得する。同様に、撮像画像取得部４０９は、入力端子４０３から入力された撮像画像データを取得する。取得された撮像画像データは高輝度部の奥行き算出部４１０に入力され、高輝度部にピントを合わせた時の奥行きを算出する。算出した高輝度部の奥行きと偏光画像取得部４０５で取得した偏光画像データは、鏡面反射光推定部４０６に入力され、鏡面反射光強度と偏光面の角度を推定する。推定した鏡面反射光強度と偏光面の角度は、測距画像生成部４０７に入力され、鏡面反射光を除去した画像データを測距画像データとして生成する。距離推定部４０８は、測距画像生成部４０７で生成された測距画像データから距離推定を行う。その結果は画像合成部４１１に入力され、撮像画像取得部４０９で取得された撮像画像データと合成され、精度の高い３次元画像データ（合成画像データ）を生成する。画像合成部４１１で合成された合成画像データは出力端子４１２から出力される。
【００１６】
本実施例を適用すると、図５に示すように、偏光画像データが示す偏光画像（図５（ａ））上にある異なる偏光面の角度を持つ鏡面反射光を除去又は低減した測距画像データが示す測距画像（図５（ｂ））を得ることができる。この鏡面反射光の影響を除去又は低減した測距画像データによれば非常に精度の高い距離推定を実現することができる。高輝度部の奥行き算出部４１０においても高輝度部の奥行きを推定することができる。しかしながら、鏡面反射光による影響が残った撮像画像データに基づく距離推定であることから、高輝度部の奥行き算出部４１０による距離推定は距離推定部４０８による距離推定ほどの推定精度はない。尚、本実施例では鏡面反射光強度と偏光面の角度を推定しているので、画像上の鏡面反射光を任意の重み付けで付加・除去加工することができる。
【００１７】
〔画像処理部２１３の動作〕
図６は、本実施例の画像処理方法を示すフローチャートである。詳細には、図６のフローチャートに示す手順を記述したコンピュータで実行可能なプログラムをＲＯＭ２０２からＲＡＭ２０３上に読み込んだ後に、ＣＰＵ２０４によって該プログラムを実行することによって当該処理が実施される。
【００１８】
以下、図６に示す各処理について説明する。撮像画像取得部４０９は、撮像画像データをＲＯＭ２０２またはＲＡＭ２０３等の記憶領域に入力する（Ｓ６０１）。偏光画像取得部４０５は、偏光画像データを記憶領域に入力する（Ｓ６０２）。ステップＳ６０３では、ステップＳ６０１、Ｓ６０２で入力された撮像画像と偏光画像を撮像する際のカメラパラメータを記憶領域に入力する。カメラパラメータは各カメラの焦点距離や光軸ずれを表す内部パラメータと、各カメラの３次元座標を表す外部パラメータ（各カメラの配置と向き情報を含むパラメータ）等から成る。高輝度部の奥行き算出部４１０は、ステップＳ６０１で入力された撮像画像データが示す撮像画像上にある高輝度部にピントを合わせた時の奥行きデータを算出する（Ｓ６０４）。奥行きデータとは、高輝度部に対応する被写体の実空間上での位置とカメラとの距離である。高輝度部の奥行きデータの算出方法の詳細は図７を用いて後述する。算出した高輝度部の奥行きデータは、高輝度部の画素領域と対応付けて記憶領域に記憶させる。鏡面反射光推定部４０６は、ステップＳ６０４で算出された高輝度部の奥行きデータが記憶領域に有るかどうかを調べることにより、撮像画像上に高輝度部が有るかどうかを判定する（Ｓ６０５）。高輝度部の奥行きデータが有る場合は、高輝度部が有ると判定し、ステップＳ６０６へ移行する。高輝度部の奥行きデータが無い場合は、高輝度部が無いと判定し、ステップＳ６０９へ移行する。また、鏡面反射光推定部４０６は、ステップＳ６０２で入力された偏光画像データに対応する偏光フィルタ装着角度を記憶領域に入力する（Ｓ６０６）。ステップＳ６０２で入力された偏光画像データから、鏡面反射光強度と偏光面の角度を推定する（Ｓ６０７）。鏡面反射光の推定には、ステップＳ６０４で算出された高輝度部の奥行きデータと、ステップＳ６０６で入力した偏光フィルタ角度を用いる。鏡面反射光の推定方法の詳細は図９を用いて後述する。推定結果は記憶領域に記憶させる。測距画像生成部４０７は、ステップＳ６０２で入力された偏光画像データから鏡面反射光による影響を除去・低減した測距画像データを生成する（Ｓ６０８）。測距画像生成方法の詳細は図１２を用いて後述する。生成した測距画像データは記憶領域に記憶させる。距離推定部４０８は、ステップＳ６０８で生成された測距画像データを用いて距離を推定する（Ｓ６０９）。ステップＳ６０５で高輝度部が無かった場合は、ステップＳ６０２で入力した偏光画像データを用いて距離を推定する。距離推定結果は記憶領域に記憶させる。画像合成部４１１は、ステップＳ６０１で入力した撮像画像データと、ステップＳ６０９で推定した距離推定結果を用いて画像合成処理を行い、処理を終了する（Ｓ６１０）。
【００１９】
〔高輝度部の奥行き算出部４１０の動作〕
以下では、ステップＳ６０４の高輝度部の鏡面反射光の奥行き算出の詳細について、図７のフローチャートを用いて説明する。ここでは撮像カメラがＭ台（本実施例ではＭ＝６）あるとし、各撮像カメラ１０４〜１０９で撮影した撮像画像は撮像画像１，撮像画像２，・・・，撮像画像Ｍと番号が付いているものとする。
【００２０】
ステップＳ７０１では、撮像画像の番号ｉに対して、ｉ＝１に初期化する。ステップＳ７０２では、ステップＳ６０１で入力した撮像画像ｉのＲＧＢ値をＹＣｂＣｒに変換する。変換した画像データは記憶領域に記憶させる。ステップＳ７０３では、ステップＳ７０２で変換した撮像画像ｉにおいて、Ｙ値がＹ＞Ｙｔｈを満たす画素が有るかどうかを判定する。本実施例では、例えばＹｔｈ＝１５０とする。Ｙ＞Ｙｔｈを満たす画素が有る場合は、ステップＳ７０４へ移行する。Ｙ＞Ｙｔｈを満たす画素が無い場合は、高輝度部が無いと判定して、ステップＳ７０７へ移行する。ステップＳ７０４では撮像画像ｉにおいて、Ｓ＞Ｓｔｈを満たす領域が有るかどうかを判定する。ＳはステップＳ７０３で、Ｙ＞Ｙｔｈを満たすと判定した画素が集まっている領域内の画素数である。即ち、Ｓは、Ｙ＞Ｙｔｈを満たす画素が互いに縦横斜め何れかで隣接している画素からなる画素領域である。本実施例では、例えばＳｔｈ＝１０［ｐｉｘｅｌ］とする。Ｓ＞Ｓｔｈを満たす画素領域が有る場合は、高輝度部が有ると判定して、ステップＳ７０５へ移行する。Ｓ＞Ｓｔｈを満たす領域が無い場合は、高輝度部が無いと判定して、ステップＳ７０７へ移行する。このステップＳ７０４の処理により撮像画像ｉ上の画素ノイズを除去することができる。ステップＳ７０５では、ステップＳ７０４で高輝度部と判定した各画素領域に対して、図８（ａ）に示すように、高輝度部Ｒｉ１，Ｒｉ２，・・・と番号を割り振る。ステップＳ７０６では、ステップＳ７０５で番号を割り振った高輝度部Ｒｉ１，Ｒｉ２，・・・と画素領域を対応付けて記憶領域に記憶させる。ステップＳ７０７では、撮像画像の番号ｉに対して、ｉ＝ｉ＋１に更新する。ステップＳ７０８では、撮像画像の番号ｉがｉ≧Ｍを満たすかどうかを判定する。ｉ≧Ｍを満たす場合は、Ｍ枚全ての撮像画像について処理を終了したと判定し、ステップＳ７０９へ移行する。ｉ≧Ｍを満たさない場合は、ステップＳ７０２へ移行する。ステップＳ７０９では、ステップＳ７０６で記憶した各撮像画像ｉの高輝度部Ｒｉ１，Ｒｉ２，・・・の画素領域に対して、テンプレートマッチングを用いて位置合わせを行う。位置合わせができた各撮像画像間の画素ズレ量は、高輝度部の番号と対応付けて記憶領域に記憶させる。ステップＳ７１０では、ステップＳ７０９で複数の撮像画像間で位置合わせできた高輝度部Ｒｉ１，Ｒｉ２，・・・に対して、図８（ｂ）に示すようにＲ´１，Ｒ´２，・・・Ｒ´Ｌ（本実施例ではＬ＝２）と再度番号を割り振る。ステップＳ７１１では、ステップＳ７１０で番号を割り振った高輝度部Ｒ´１，Ｒ´２，・・・Ｒ´Ｌと画素領域、及びステップＳ７０９で記憶した画素ズレ量を対応付けて記憶領域に記憶させる。また、位置合わせできた高輝度部の数Ｌも記憶領域に記憶させる。ステップＳ７１２では、ステップＳ７１１で記憶した高輝度部Ｒ´１，Ｒ´２，・・・Ｒ´Ｌに対応する画素ズレ量と、ステップＳ６０３で入力したカメラパラメータから、各高輝度部にピントを合わせた時の奥行きデータを算出する。算出した奥行きは、高輝度部の奥行きとして、高輝度部Ｒ´１，Ｒ´２，・・・Ｒ´Ｌと対応付けて記憶領域に記憶し、高輝度部の奥行き算出処理を終了する。
【００２１】
尚、本実施例では複数の撮像画像上に写り、距離推定に大きく影響する鏡面反射光を除去・低減する手法について取り扱っている。撮像画像データ群の内、ある１枚の画像に写る鏡面反射光については、例えば鏡面反射光が写らなかった撮像画像の画素値を用いて、鏡面反射光を除去すれば良い。
【００２２】
〔鏡面反射光推定部４０６の動作〕
以下では、ステップＳ６０７の鏡面反射光推定処理の詳細について、図９のフローチャートを用いて説明する。ここでは測距カメラがＮ台（本実施例ではＮ＝３）あるとし、各測距カメラ１０１〜１０３で撮影した偏光画像は偏光画像１，偏光画像２，・・・，偏光画像Ｎと番号が付いているものとする。図１０（ａ）に示すように、各偏光画像は高輝度部Ｒ´１，Ｒ´２，・・・Ｒ´Ｌが画像上に写っている。但し、図８（ｂ）の撮像画像と比較して、偏光フィルタの角度により高輝度部の輝度が変化している点が異なる。
【００２３】
ステップＳ９０１では、高輝度部Ｒ´ｊの番号ｊに対して、ｊ＝１に初期化する。ステップＳ９０２では、ステップＳ７１２で算出した高輝度部の奥行きと、ステップＳ６０３で入力したカメラパラメータから、偏光画像１，偏光画像２，・・・，偏光画像Ｎの画素ズレ量を算出する。算出した画素ズレ量は、各偏光画像と対応付けて記憶領域に記憶させる。ステップＳ９０３では、ステップＳ７１１で記憶した高輝度部Ｒ´ｊに対応する画素領域と、ステップＳ９０２で算出した画素ズレ量から、偏光画像１，偏光画像２，・・・，偏光画像Ｎ上における高輝度部Ｒ´ｊの画素領域を算出する。算出した偏光画像上における高輝度部Ｒ´ｊの画素素領域は、各偏光画像と対応付けて記憶領域に記憶させる。ステップＳ９０４では、ステップＳ６０２で入力した偏光画像と、ステップＳ９０２で算出した画素ズレ量から、偏光画像１，偏光画像２，・・・，偏光画像Ｎの位置合わせを行う。位置合わせした偏光画像は、図１０（ｂ）に示すように、高輝度部Ｒ´ｊ（図１０（ｂ）ではｊ＝２）にピントが合っており、他の高輝度部はボケた画像となる。位置合わせができるかどうかは、ステップＳ９０３で算出した各偏光画像に対する高輝度部Ｒ´ｊの画素領域が、偏光画像の画像内に収まるかどうかを調べれば良い。位置合わせできた偏光画像は、高輝度部Ｒ´ｊと対応付けて記憶領域に記憶させる。ステップＳ９０５では、高輝度部Ｒ´ｊに対して、ステップＳ９０４で位置合わせができた偏光画像の枚数ｋｊをカウントする。カウント数ｋｊは、高輝度部Ｒ´ｊと対応付けて記憶領域に記憶させる。ステップＳ９０６では、ステップＳ９０５でカウントしたｋｊが、ｋｊ≧３を満たすかどうかを判定する。ｋｊ≧３を満たす場合は、ステップＳ９０７へ移行する。ｋｊ≧３を満たさない場合は、高輝度部Ｒ´ｊの鏡面反射光を推定できないと判定し、ステップＳ９０８へ移行する。ステップＳ９０７では、ステップＳ９０４で記憶した偏光画像から、高輝度部Ｒ´ｊ内の各画素について鏡面反射光強度と偏光面の角度を推定する。推定した鏡面反射光の強度と偏光面の角度は、高輝度部Ｒ´ｊ内の各画素位置と対応付けて記憶領域に記憶させる。鏡面反射光の推定方法の詳細は後述する。ステップＳ９０８では、高輝度部Ｒ´ｊの番号ｊに対して、ｊ＝ｊ＋１に更新する。ステップＳ９０９では、高輝度部Ｒ´ｊの番号ｊがｊ≧Ｌを満たすかどうかを判定する。ｉ≧Ｌを満たす場合は、Ｌ個全ての高輝度部について処理を実行したと判定し、鏡面反射光推定処理を終了する。ｊ≧Ｌを満たさない場合は、ステップＳ９０２へ移行する。
【００２４】
以下、ステップＳ９０７の鏡面反射光推定方法の詳細について説明する。鏡面反射光の推定には、図１１に示す偏光フィルタに対する鏡面反射光の入射・透過光の性質を用いる。一般的に鏡面反射光は、反射面に平行な角度に偏光した光（ｓ偏光）を多く含む。従って、カメラに偏光フィルタを装着すると、装着方向によりカメラに写る鏡面反射光の強度が変化する（図１１（ａ））。偏光フィルタに入射する鏡面反射光の偏光面と、偏光フィルタの偏光面との間をなす角をθとすると、偏光フィルタを透過する鏡面反射光の電場の振幅は入射光の電場の余弦成分となる（図１１（ｂ））。偏光フィルタに入射する鏡面反射光の入射光強度をＩ０、偏光フィルタを透過してカメラに到達する鏡面反射光の透過光強度をＩ１とすると、以下の式（１）が成り立つ。
【００２５】
【数１】
2013044597.tif 000003
【００２６】
式（１）の関係を用いることで、高輝度部Ｒ´ｊの鏡面反射光強度と偏光面の角度を高精度に推定することができる。
【００２７】
以下、図１０（ｂ）を用いて、ｋｊ≧３を満たしている高輝度部Ｒ´ｊ（図１０（ｂ）ではｊ＝２）内の点Ｐを例に、鏡面反射光の推定方法を説明する。ステップＳ９０４で記憶した偏光画像０、偏光画像１、・・・偏光画像Ｎ上の点ＰのＲＧＢ値をそれぞれ（ｒ０，ｇ０，ｂ０），（ｒ１，ｇ１，ｂ１），・・・（ｒＮ，ｇＮ，ｂＮ）と表す。また、各偏光画像の水平方向に対する偏光フィルタ角度を、それぞれ０°，α，・・・Ｎαとする。本実施例では、α＝１０°とする。点Ｐでの鏡面反射光のＲＧＢ値を（ｒＡ，ｇＡ，ｂＡ）、鏡面反射光以外の主に物体色を表すＲＧＢ値を（ｒＣ，ｇＣ，ｂＣ）とする。更に、鏡面反射光の偏光面と偏光画像０に対応する偏光フィルタとの間をなす角をθとするとＲ値について以下の式（２）が求まる。
【００２８】
【数２】
2013044597.tif 000004
【００２９】
式（２）から未知数はｒＡ，ｒＣ，θの３つなので、ｋｊ≧３を満たす高輝度部Ｒ´ｊ上の点Ｐにおいて、鏡面反射光強度ｒＡと偏光面の角度θを最小二乗法を用いて推定することができる。Ｇ値、Ｂ値についても以下の式（３）、式（４）が得られる。同様にしてＧ値、Ｂ値の鏡面反射光強度ｇＡ，ｂＡと偏光面の角度θを推定することができる。
【００３０】
【数３】
2013044597.tif 000005
【００３１】
【数４】
2013044597.tif 000006
【００３２】
推定した鏡面反射光の強度のＲＧＢ値（ｒＡ，ｇＡ，ｂＡ）と、偏光面の角度θは、高輝度部Ｒ´ｊ内の点Ｐと対応付けて記憶領域に記憶させる。以上、式（２）〜式（４）の計算を高輝度部Ｒ´ｊ内の画素領域全てに対して実施することで、高輝度部Ｒ´ｊ内の鏡面反射光を画素単位で推定することができる。尚、鏡面反射光の推定精度を向上する為に、高輝度部Ｒ´ｊが鏡面反射光又は光源の光かどうかを判定する処理を設けても良い。具体的には、推定した鏡面反射光と物体色のＲＧＢ値をＹＣｂＣｒ値に変換し、それぞれのＹ値を比較することで判定する。鏡面反射光のＹ値が物体色のＹ値に比べて十分小さい場合、高輝度部Ｒ´ｊは、光源の光であると判定し、鏡面反射光のＲＧＢ値を（０，０，０）とすれば良い。
【００３３】
〔測距画像生成部４０７の動作〕
以下では、ステップＳ６０８の測距画像の生成処理の詳細について、図１２のフローチャートを用いて説明する。
【００３４】
ステップＳ１２０１では、高輝度部Ｒ´ｊの番号ｊに対して、ｊ＝１に初期化する。ステップＳ１２０２では、ステップＳ９０５でカウントしたｋｊが、ｋｊ≧３を満たすかどうかを判定する。ｋｊ≧３を満たす場合は、ステップＳ１２０３へ移行する。ｋｊ≧３を満たさない場合は、高輝度部Ｒ´ｊの測距画像を生成できないと判定し、ステップＳ１２０５へ移行する。ステップＳ１２０３では、ステップＳ９０７で推定した、高輝度部Ｒ´ｊ内の各画素位置に対応した鏡面面反射光強度のＲＧＢ値（ｒＡ，ｇＡ，ｂＡ）と、偏光面の角度θを記憶領域に入力する。ステップＳ１２０４では、ステップＳ１２０３で入力した鏡面反射光強度と偏光面の角度から、ステップＳ９０４で記憶した各偏光画像が示す画像中の被写体の鏡面反射光に対応する高輝度部Ｒ´ｊから、鏡面反射光による影響を差し引く。高輝度部Ｒ´ｊ内の鏡面反射成分を差し引いた偏光画像１，偏光画像２，・・・，偏光画像Ｎは、記憶領域にて上書き記憶させる。ステップＳ１２０５では、高輝度部Ｒ´ｊの番号ｊに対して、ｊ＝ｊ＋１に更新する。ステップＳ１２０６では、高輝度部Ｒ´ｊの番号ｊがｊ≧Ｌを満たすかどうかを判定する。ｉ≧Ｌを満たす場合は、Ｌ個全ての高輝度部について差分処理が終了したと判定し、ステップＳ１２０７へ移行する。ｊ≧Ｌを満たさない場合は、ステップＳ１２０２へ移行する。ステップＳ１２０７では、ステップＳ１２０４で上書き記憶した偏光画像１，偏光画像２，・・・，偏光画像Ｎを、測距画像１，測距画像２，・・・，測距画像Ｎとして記憶領域に記憶し、測距画像生成処理を終了する。生成した測距画像は、図１０（ｃ）に示すように、偏光画像１，偏光画像２，・・・，偏光画像Ｎからｋｊ≧３を満たす高輝度部Ｒ´１，Ｒ´２，・・・Ｒ´Ｌ（本実施例ではＮ＝３，Ｌ＝２）を除去した画像となる。
【００３５】
以上説明した偏光フィルタによる鏡面反射光推定処理を行うことで、多眼方式の撮像装置における距離推定精度を向上することができる。
【００３６】
本実施例では、偏光フィルタ角度を０°，１０°，２０°としたが、等間隔にする必要は無く、３つ以上異なる角度が存在する限りにおいて、任意の値をとって良い。例えば偏光画像に写る鏡面反射光の画素値が飽和しないように、偏光フィルタ角度として０°，１０°，２０°と、それに直交する９０°，１００°，１１０°の計６つ設けても良い。
【００３７】
また、本実施例では、式（２）〜式（４）で求まるθは理論的に等しいので、θの値が等しくなるように繰り返し演算することで、鏡面反射光を高精度に推定しても良い。
【００３８】
更に、奥行きの変化が大きい鏡面反射光を推定する為に、高輝度部Ｒ´ｊを奥行き毎に分割し、鏡面反射光の推定処理をしても良い。例えば、撮像画像でピントを合わせる奥行きをΔｚ［ｍｍ］ずつ走査する。各奥行きに対してピントが合った高輝度領域を、高輝度部Ｒ´ｊとして抽出し、鏡面反射光を推定すれば良い。
【００３９】
以上の通り、本実施例によれば、撮像画像データ中に鏡面反射光の成分が含まれる場合であっても、被写体までの距離を高精度に推定することが可能となる。
【００４０】
＜変形例＞
・本実施例では、各処理が図２に示されるような撮像装置により実施されるとしたが、これに限らない。例えば、偏光画像データ及び撮像画像データの撮像は多眼方式の撮像装置によってなされるものの、画像処理部２１３の各処理は情報処理装置（例えば、パーソナルコンピュータ）により実現されても良い。
・本実施例では、画像合成部４１１は、撮像画像データと距離推定結果とを用いて画像合成処理を行うとした。しかし、画像合成を行うにあたり、撮像画像データに加えて偏光画像データを用いても良い。
・本実施例では、測距画像推定の際に偏光画像データのみを用いるとした。しかしながら、撮像画像データを用いて、測距画像推定を行っても良い。
【図１】
2013044597.tif 000007
【図２】
2013044597.tif 000008
【図３】
2013044597.tif 000009
【図４】
2013044597.tif 000010
【図５】
2013044597.tif 000011
【図６】
2013044597.tif 000012
【図７】
2013044597.tif 000013
【図８】
2013044597.tif 000014
【図９】
2013044597.tif 000015
【図１０】
2013044597.tif 000016
【図１１】
2013044597.tif 000017
【図１２】
2013044597.tif 000018