(57)【要約】【課題】ステレオマッチング処理において、画像にオクルージョンが発生している場合に、誤ったマッチングの発生を抑制する視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法およびプログラムを提供する。【解決手段】コスト修正部３３０は、基準画像の基準画素について、左方向信頼度フラグ＝０、かつ、右方向信頼度フラグ＝０である場合、その基準画素はオクルージョン領域に含まれないと判定し、コスト集約部３２０によって算出された左方向の経路コスト値と、右方向の経路コスト値とを、他の６方向の経路コスト値の合計値に加算し、加算して求めた値を合成コスト値とし、左方向信頼度フラグ＝１、かつ、右方向信頼度フラグ＝１である場合、その基準画素はオクルージョン領域に含まれていると判定し、合成コスト値＝０とし、基準画素についての視差は無効視差として扱う。【選択図】図１０
2015179066.tif 000002
【特許請求の範囲】
【請求項１】
第１撮像手段が被写体を撮像することにより得られた基準画像、および第２撮像手段が前記被写体を撮像することにより得られた比較画像に基づいて、前記被写体に対する視差を示す第１視差値を導出する視差値導出装置であって、
前記基準画像における第１基準領域の輝度値と、前記第１基準領域に基づく前記比較画像におけるエピポーラ線上で、前記第１基準領域の位置に相当する領域から、所定のシフト量でシフトすることにより特定される、前記第１基準領域に対応する前記比較画像の第１対応領域の候補となる複数の候補領域の輝度値と、に基づいて前記複数の候補領域それぞれのコスト値を算出する算出手段と、
前記第１基準領域の所定の複数の方向で隣接する第２基準領域についての前記比較画像におけるコスト値を、前記候補領域のコスト値に集約させて、前記複数の候補領域それぞれの前記各方向の経路コスト値を算出する集約手段と、
前記複数の方向のうちいずれか複数の方向である特定方向の経路コスト値に基づいて、前記第１基準領域がオクルージョン領域に含まれる可能性があるか否かを示す信頼度情報を前記特定方向ごとに設定する情報設定手段と、
前記第１基準領域がオクルージョン領域に含まれる可能性があることを示す前記信頼度情報が設定された前記特定方向の前記経路コスト値以外の前記経路コスト値に基づいて、前記複数の候補領域それぞれの合成コスト値を算出する合成手段と、
前記比較画像における前記複数の候補領域の前記合成コスト値のうち第１極値に対応する前記シフト量に基づいて、前記第１視差値を導出する導出手段と、
を備えた視差値導出装置。
【請求項２】
前記情報設定手段は、前記特定方向の前記経路コスト値に基づいて定まる第２視差値によって特定される、前記第１基準領域に対応する前記比較画像における第２対応領域と、該特定方向の前記第２基準領域に対応する前記比較画像における第３対応領域とが一致する場合、該方向の前記信頼度情報を、前記第１基準領域が前記オクルージョン領域に含まれる可能性があることを示す情報に設定する請求項１に記載の視差値導出装置。
【請求項３】
前記合成手段は、前記情報設定手段により、前記特定方向ごとの前記信頼度情報のうちいずれかの前記信頼度情報が前記オクルージョン領域に含まれる可能性があることを示す情報に設定された前記第１基準領域を、前記オクルージョン領域に含まれると判定し、
前記導出手段は、前記合成手段により前記オクルージョン領域に含まれると判定された前記第１基準領域の前記第１視差値を無効にする請求項１または２に記載の視差値導出装置。
【請求項４】
前記合成手段は、前記情報設定手段により、前記特定方向ごとの前記信頼度情報のうちすべての前記信頼度情報が前記オクルージョン領域に含まれる可能性があることを示す情報に設定された前記第１基準領域を、前記オクルージョン領域に含まれると判定し、
前記導出手段は、前記合成手段により前記オクルージョン領域に含まれると判定された前記第１基準領域の前記第１視差値を無効にする請求項１または２に記載の視差値導出装置。
【請求項５】
前記特定方向は、前記エピポーラ線において一方の方向から他方の方向に向かう第１方向、および、前記エピポーラ線において前記他方の方向から前記一方の方向に向かう第２方向である請求項１〜４のいずれか一項に記載の視差値導出装置。
【請求項６】
前記導出手段は、前記第１極値に対応する前記シフト量を含む隣接した複数の前記シフト量に基づいて、サブピクセル推定により前記第１視差値を導出する請求項１〜５のいずれか一項に記載の視差値導出装置。
【請求項７】
前記導出手段は、前記第１極値に対応する前記シフト量、および該シフト量に隣接する２つのシフト量と、前記シフト量に対応する前記合成コスト値とで定まる座標上の３点を通る２次曲線における第２極値に対応するサブピクセル単位のシフト量を前記第１視差値として導出する請求項６に記載の視差値導出装置。
【請求項８】
前記導出手段は、前記第１極値に対応する前記シフト量を含む隣接した４つ以上のシフト量と、前記シフト量に対応する前記合成コスト値とで定まる座標上の４つ以上の点に対して、最小二乗法により定まる２次曲線における第３極値に対応するサブピクセル単位のシフト量を前記第１視差値として導出する請求項６に記載の視差値導出装置。
【請求項９】
請求項１〜８のいずれか一項に記載の視差値導出装置と、
前記視差値導出装置によって導出される前記第１視差値により求まる前記視差値導出装置から前記被写体までの距離情報によって、制御対象を制御する制御装置と、
を備えた機器制御システム。
【請求項１０】
請求項９に記載の機器制御システムを備えた移動体。
【請求項１１】
請求項９に記載の機器制御システムを備えたロボット。
【請求項１２】
第１撮像手段が被写体を撮像することにより得られた基準画像、および第２撮像手段が前記被写体を撮像することにより得られた比較画像に基づいて、前記被写体に対する視差を示す第１視差値を導出する視差値導出方法であって、
前記基準画像における第１基準領域の輝度値と、前記第１基準領域に基づく前記比較画像におけるエピポーラ線上で、前記第１基準領域の位置に相当する領域から、所定のシフト量でシフトすることにより特定される、前記第１基準領域に対応する前記比較画像の第１対応領域の候補となる複数の候補領域の輝度値と、に基づいて前記複数の候補領域それぞれのコスト値を算出する算出ステップと、
前記第１基準領域の所定の複数の方向で隣接する第２基準領域についての前記比較画像におけるコスト値を、前記候補領域のコスト値に集約させて、前記複数の候補領域それぞれの前記各方向の経路コスト値を算出する集約ステップと、
前記複数の方向のうちいずれか複数の方向である特定方向の経路コスト値に基づいて、前記第１基準領域がオクルージョン領域に含まれる可能性があるか否かを示す信頼度情報を前記特定方向ごとに設定する情報設定ステップと、
前記第１基準領域がオクルージョン領域に含まれる可能性があることを示す前記信頼度情報が設定された前記特定方向の前記経路コスト値以外の前記経路コスト値に基づいて、前記複数の候補領域それぞれの合成コスト値を算出する合成ステップと、
前記比較画像における前記複数の候補領域の前記合成コスト値のうち第１極値に対応する前記シフト量に基づいて、前記第１視差値を導出する導出ステップと、
を含む視差値導出方法。
【請求項１３】
第１撮像手段が被写体を撮像することにより得られた基準画像、および第２撮像手段が前記被写体を撮像することにより得られた比較画像に基づいて、前記被写体に対する視差を示す視差値を導出するためのプログラムであって、
前記基準画像における第１基準領域の輝度値と、前記第１基準領域に基づく前記比較画像におけるエピポーラ線上で、前記第１基準領域の位置に相当する領域から、所定のシフト量でシフトすることにより特定される、前記第１基準領域に対応する前記比較画像の第１対応領域の候補となる複数の候補領域の輝度値と、に基づいて前記複数の候補領域それぞれのコスト値を算出する算出手段と、
前記第１基準領域の所定の複数の方向で隣接する第２基準領域についての前記比較画像におけるコスト値を、前記候補領域のコスト値に集約させて、前記複数の候補領域それぞれの前記各方向の経路コスト値を算出する集約手段と、
前記複数の方向のうちいずれか複数の方向である特定方向の経路コスト値に基づいて、前記第１基準領域がオクルージョン領域に含まれる可能性があるか否かを示す信頼度情報を前記特定方向ごとに設定する情報設定手段と、
前記第１基準領域がオクルージョン領域に含まれる可能性があることを示す前記信頼度情報が設定された前記特定方向の前記経路コスト値以外の前記経路コスト値に基づいて、前記複数の候補領域それぞれの合成コスト値を算出する合成手段と、
前記比較画像における前記複数の候補領域の前記合成コスト値のうち第１極値に対応する前記シフト量に基づいて、前記第１視差値を導出する導出手段と、
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、自動車間の距離、または自動車と障害物との間の距離を測定することにより自動車の衝突防止を図る車載システムが一般的に利用されてきている。そのような距離を測定する方法として、ステレオカメラを用い、三角測量の原理を用いたステレオマッチング処理が用いられている。ステレオマッチング処理とは、ステレオカメラの２つのカメラのうち、一方のカメラで撮像された基準画像と、他方のカメラで撮像された比較画像との間で対応する画素をマッチングすることにより視差を求め、視差からステレオカメラと、画像に含まれる物体との距離を算出する処理である。このようなステレオカメラを用いたステレオマッチング処理による物体との距離の算出により、各種認識処理、ならびに衝突防止のためのブレーキ制御および操舵制御が可能となる。
【０００３】
上述のようなステレオマッチング処理として、画像間の類似性を評価するために、比較する画像から領域を切り出し、その領域に対する輝度差の総和（ＳＡＤ：Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）、輝度差の２乗和（ＳＳＤ：Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）、および正規化相互相関（ＺＮＣＣ：Ｚｅｒｏ−ｍｅａｎ  Ｎｏｒｍａｌｉｚｅｄ  Ｃｒｏｓｓ−Ｃｏｒｒｅｌａｔｉｏｎ）等を求めるブロックマッチング法がある。しかし、画像における物体の輝度変化量を示すテクスチャが弱い部分では、画像としての特徴を抽出することが困難であり、ブロックマッチング法によっては、精度の高い視差を得ることができない場合がある。そこで、正確な視差を導出する方法として、基準画像上の基準画素に対する比較画像上の画素のコスト値だけではなく、比較画像上の画素の周囲の画素のコスト値を集約して、テクスチャが弱い物体に対する視差を導出する技術が提案されている（特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された技術では、異なる視点から撮像された基準画像および比較画像のうち、一方の画像では表示されているが、他方の画像では表示されていないオクルージョンが発生した領域についてステレオマッチング処理を行った場合、誤ったマッチングがなされる可能性があるという問題点があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、ステレオマッチング処理における誤ったマッチングの発生を抑制する視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、第１撮像手段が被写体を撮像することにより得られた基準画像、および第２撮像手段が前記被写体を撮像することにより得られた比較画像に基づいて、前記被写体に対する視差を示す第１視差値を導出する視差値導出装置であって、前記基準画像における第１基準領域の輝度値と、前記第１基準領域に基づく前記比較画像におけるエピポーラ線上で、前記第１基準領域の位置に相当する領域から、所定のシフト量でシフトすることにより特定される、前記第１基準領域に対応する前記比較画像の第１対応領域の候補となる複数の候補領域の輝度値と、に基づいて前記複数の候補領域それぞれのコスト値を算出する算出手段と、前記第１基準領域の所定の複数の方向で隣接する第２基準領域についての前記比較画像におけるコスト値を、前記候補領域のコスト値に集約させて、前記複数の候補領域それぞれの前記各方向の経路コスト値を算出する集約手段と、前記複数の方向のうちいずれか複数の方向である特定方向の経路コスト値に基づいて、前記第１基準領域がオクルージョン領域に含まれる可能性があるか否かを示す信頼度情報を前記特定方向ごとに設定する情報設定手段と、前記第１基準領域がオクルージョン領域に含まれる可能性があることを示す前記信頼度情報が設定された前記特定方向の前記経路コスト値以外の前記経路コスト値に基づいて、前記複数の候補領域それぞれの合成コスト値を算出する合成手段と、前記比較画像における前記複数の候補領域の前記合成コスト値のうち第１極値に対応する前記シフト量に基づいて、前記第１視差値を導出する導出手段と、を備えたことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ステレオマッチング処理における誤ったマッチングの発生を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】撮像装置から物体までの距離を導き出す原理の説明図である。
【図２】（ａ）は基準画像、（ｂ）は（ａ）に対する高密度視差画像、（ｃ）は（ａ）に対するエッジ視差画像を示す概念図である。
【図３】（ａ）は基準画像における基準画素を示す概念図、（ｂ）は（ａ）の基準画素に対して比較画像における対応画素の候補を順次シフトしながらシフト量を算出する際の概念図である。
【図４】シフト量毎のコスト値を示すグラフである。
【図５】合成コスト値を導き出すための概念図である。
【図６】視差値毎の合成コスト値を示すグラフである。
【図７】（ａ）は本発明の一実施形態に係る物体認識システムを搭載した自動車の側面を表す概略図、（ｂ）は自動車の正面を示す概略図である。
【図８】物体認識システムの概観図である。
【図９】物体認識システムの全体のハードウェア構成図である。
【図１０】図１０は、本実施形態に係る視差値導出装置のブロック構成の一例を示す図である。
【図１１】図１１は、基準画像と比較画像とにおいてオクルージョンが発生している場合を説明する図である。
【図１２】図１２は、左方向にコスト値を集約させる場合における信頼度の設定について説明する図である。
【図１３】図１３は、右方向にコスト値を集約させる場合における信頼度の設定について説明する図である。
【図１４】図１４は、本実施形態におけるシフト量とｒ方向の経路コスト値との関係を示すグラフである。
【図１５】図１５は、左方向信頼度テーブルおよび右方向信頼度テーブルの構成の例を示す図である。
【図１６】図１６は、本実施形態におけるシフト量と合成コスト値との関係を示すグラフである。
【図１７】図１７は、パラボラフィッティングによるサブピクセル推定を説明する図である。
【図１８】図１８は、最小二乗法によるサブピクセル推定を説明する図である。
【図１９】図１９は、サブピクセル推定を用いた高密度視差画像を示す概念図である。
【図２０】図２０は、本実施形態に係る視差値導出装置のステレオマッチング処理の動作フローの一例を示す図である。
【図２１】図２１は、本実施形態に係る機器制御システムを車両に搭載した例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を用いて、本発明の一実施形態について説明する。
【００１０】
［ＳＧＭ法を用いた測距方法の概略］
まず、図１乃至図６を用いて、ＳＧＭ（Ｓｅｍｉ−Ｇｌｏｂａｌ  Ｍａｔｃｈｉｎｇ）法を用いた測距方法の概略について説明する。なお、ＳＧＭ法に関しては、非特許文献（Ａｃｃｕｒａｔｅ  ａｎｄ  Ｅｆｆｉｃｉｅｎｔ  Ｓｔｅｒｅｏ  Ｐｒｏｃｅｓｓｉｎｇ  ｂｙ  Ｓｅｍｉ−Ｇｌｏｂａｌ  Ｍａｔｃｈｉｎｇ  ａｎｄ  Ｍｕｔｕａｌ  Ｉｎｆｏｒｍａｔｉｏｎ）に開示されているため、以下では概略を説明する。
【００１１】
（測距の原理）
図１を用いて、ステレオ画像法により、ステレオカメラから物体に対する視差を導き出し、この視差を示す視差値によって、ステレオカメラから物体までの距離を測定する原理について説明する。なお、図１は、撮像装置から物体までの距離を導き出す原理の説明図である。また、以下では、説明を簡略化するため、複数の画素からなる所定領域ではなく、一画素単位で説明する。なお、一画素単位ではなく、複数の画素からなる所定領域単位で処理される場合、基準画素を含む所定領域は基準領域として示され、対応画素を含む所定領域は対応領域として示される。また、この基準領域には基準画素のみの場合も含まれ、対応領域には対応画素のみの場合も含まれる。
【００１２】
＜視差値算出＞
まず、図１で示される撮像装置１０ａおよび撮像装置１０ｂによって撮像された各画像を、それぞれ基準画像Ｉａおよび比較画像Ｉｂとする。なお、図１では、撮像装置１０ａおよび撮像装置１０ｂが平行等位に設置されているものとする。図１において、３次元空間内の物体Ｅ上の点Ｓは、撮像装置１０ａおよび撮像装置１０ｂの同一水平線上の位置に写像される。すなわち、各画像中の点Ｓは、基準画像Ｉａ中の点Ｓａ（ｘ，ｙ）および比較画像Ｉｂ中の点Ｓｂ（Ｘ，ｙ）において撮像される。このとき、視差値Δは、撮像装置１０ａ上の座標における点Ｓａ（ｘ，ｙ）と撮像装置１０ｂ上の座標における点Ｓｂ（Ｘ，ｙ）とを用いて、（式１）のように表される。
【００１３】
Δ＝Ｘ−ｘ                                                            （式１）
【００１４】
ここで、図１のような場合には、基準画像Ｉａ中の点Ｓａ（ｘ，ｙ）と撮像レンズ１１ａから撮像面上におろした垂線の交点との距離をΔａにし、比較画像Ｉｂ中の点Ｓｂ（Ｘ，ｙ）と撮像レンズ１１ｂから撮像面上におろした垂線の交点との距離をΔｂにすると、視差値Δ＝Δａ＋Δｂとなる。
【００１５】
＜距離算出＞
また、視差値Δを用いることで、撮像装置１０ａ、１０ｂと物体Ｅとの間の距離Ｚを導き出すことができる。具体的には、距離Ｚは、撮像レンズ１１ａの焦点位置と撮像レンズ１１ｂの焦点位置とを含む面から物体Ｅ上の特定点Ｓまでの距離である。図１に示されるように、撮像レンズ１１ａおよび撮像レンズ１１ｂの焦点距離ｆ、撮像レンズ１１ａと撮像レンズ１１ｂとの間の長さである基線長Ｂ、および視差値Δを用いて、（式２）により、距離Ｚを算出することができる。
【００１６】
Ｚ＝（Ｂ×ｆ）／Δ                                                    （式２）
【００１７】
この（式２）により、視差値Δが大きいほど距離Ｚは小さく、視差値Δが小さいほど距離Ｚは大きくなる。
【００１８】
（ＳＧＭ法）
続いて、図２乃至図６を用いて、ＳＧＭ法を用いた測距方法について説明する。なお、図２（ａ）は基準画像、図２（ｂ）は（ａ）に対する高密度視差画像、図２（ｃ）は（ａ）に対するエッジ視差画像を示す概念図である。ここで、基準画像は、物体が輝度によって示された画像である。高密度視差画像は、ＳＧＭ法によって、基準画像から導き出された画像であり、基準画像の各座標における視差値を示した画像である。エッジ視差画像は、従来から用いられているブロックマッチング法によって導き出された画像であり、基準画像のエッジ部のような比較的テクスチャの強い部分のみの視差値を示した画像である。
【００１９】
ＳＧＭ法は、テクスチャが弱い物体に対しても適切に上記視差値を導き出す方法であり、図２（ａ）に示されている基準画像に基づいて、図２（ｂ）に示されている高密度視差画像を導き出す方法である。なお、ブロックマッチング法を用いた場合には、図２（ａ）に示されている基準画像に基づいて、図２（ｃ）に示されているエッジ視差画像が導き出される。図２（ｂ）および図２（ｃ）における破線の楕円内を比べると分かるように、高密度視差画像は、エッジ視差画像に比べてテクスチャが弱い道路等の詳細な情報を表すことができるため、より詳細な測距を行うことができる。
【００２０】
このＳＧＭ法は、非類似度であるコスト値を算出して直ちに視差値を導出せず、コスト値を算出後、さらに、合成非類似度である合成コスト値（Ｓｙｎｔｈｅｓｉｓ  Ｃｏｓｔ）を算出することで視差値を導出し、最終的にほぼ全ての画素における視差値を示す視差画像（ここでは、高密度視差画像）を導き出す方法である。なお、ブロックマッチング法の場合は、コスト値を算出する点はＳＧＭ法と同じであるが、ＳＧＭ法のように、合成コスト値を算出せずに、エッジ部のような比較的テクスチャの強い部分の視差値のみを導出する。
【００２１】
＜コスト値の算出＞
まず、図３および図４を用いて、コスト値Ｃ（ｐ，ｄ）の算出方法について説明する。図３（ａ）は基準画像における基準画素を示す概念図、図３（ｂ）は（ａ）の基準画素に対して比較画像における対応画素の候補を順次シフトしながら（ずらしながら）コスト値を算出する際の概念図である。図４は、シフト量毎のコスト値を示すグラフである。ここで、対応画素は、基準画像内の基準画素に最も類似する比較画像内の画素である。なお、以降、Ｃ（ｐ，ｄ）は、Ｃ（ｘ，ｙ，ｄ）を表すものとして説明する。
【００２２】
図３（ａ）に示されているように、基準画像内の所定の基準画素ｐ（ｘ，ｙ）と、この基準画素ｐ（ｘ，ｙ）に対する比較画像内におけるエピポーラ線（Ｅｐｉｐｏｌａｒ  Ｌｉｎｅ）ＥＬ上の複数の対応画素の候補ｑ（ｘ＋ｄ，ｙ）との各輝度値に基づいて、基準画素ｐ（ｘ，ｙ）に対する各対応画素の候補ｑ（ｘ＋ｄ，ｙ）のコスト値Ｃ（ｐ，ｄ）が算出される。ｄは、基準画素ｐと対応画素の候補ｑのシフト量（ずれ量）であり、本実施形態では、画素単位のシフト量が表されている。すなわち、図３では、対応画素の候補ｑ（ｘ＋ｄ，ｙ）を予め指定された範囲（例えば、０＜ｄ＜２５）において順次一画素分シフトしながら、対応画素の候補ｑ（ｘ＋ｄ，ｙ）と基準画素ｐ（ｘ，ｙ）との輝度値の非類似度であるコスト値Ｃ（ｐ，ｄ）が算出される。コスト値Ｃの算出方法としては、コスト値Ｃが非類似度を示す場合、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）等の公知の方法が適用される。
【００２３】
このようにして算出されたコスト値Ｃ（ｐ，ｄ）は、図４に示されているように、シフト量ｄ毎のコスト値Ｃの集まりであるコスト曲線のグラフによって表すことができる。図４では、コスト値Ｃは、シフト量ｄ＝５，１２，１９の場合が０（ゼロ）となるため、最小値を求めることができない。このように、テクスチャが弱い物体の場合には、コスト値Ｃの最小値を求めることは困難になる。
【００２４】
＜合成コスト値の算出＞
次に、図５および図６を用いて、合成コスト値Ｌｓ（ｐ，ｄ）の算出方法について説明する。図５は、合成コスト値を導き出すための概念図である。図６は、視差値毎の合成コスト値を示す合成コスト曲線のグラフである。
【００２５】
本実施形態における合成コスト値の算出方法は、コスト値Ｃ（ｐ，ｄ）の算出だけでなく、所定の基準画素ｐ（ｘ，ｙ）の周辺の画素を基準画素とした場合のコスト値を、基準画素ｐ（ｘ，ｙ）におけるコスト値Ｃ（ｐ，ｄ）に集約させて、合成コスト値Ｌｓ（ｐ，ｄ）を算出する。
【００２６】
次に、合成コスト値の算出方法について、より詳細に説明する。合成コスト値Ｌｓ（ｐ，ｄ）を算出するためには、まず、経路コスト値Ｌｒ（ｐ，ｄ）を算出する必要がある。（式３）は、経路コスト値Ｌｒ（ｐ，ｄ）を算出するための式であり、（式４）は、合成コスト値Ｌｓを算出するための式である。
【００２７】
Ｌｒ（ｐ，ｄ）＝Ｃ（ｐ，ｄ）＋ｍｉｎ｛（Ｌｒ（ｐ−ｒ，ｄ），Ｌｒ（ｐ−ｒ，ｄ−１）＋Ｐ１，Ｌｒ（ｐ−ｒ，ｄ＋１）＋Ｐ１，Ｌｒｍｉｎ（ｐ−ｒ）＋Ｐ２｝  （式３）
【００２８】
ここで、（式３）において、ｒは、集約方向の方向ベクトルを示し、ｘ方向およびｙ方向の２成分を有する。ｍｉｎ｛｝は、最小値を求める関数である。Ｌｒｍｉｎ（ｐ−ｒ）は、ｐをｒ方向に１画素シフトした座標において、シフト量ｄを変化させた際のＬｒ（ｐ−ｒ，ｄ）の最小値を示す。
【００２９】
なお、経路コスト値Ｌｒは、（式３）に示されているように再帰的に適用される。また、Ｐ１およびＰ２は、予め実験により定められた固定パラメータであり、経路上で隣接する基準画素の視差値Δが連続になりやすいようなパラメータになっている。例えば、Ｐ１＝４８、Ｐ２＝９６である。
【００３０】
また、（式３）に示されているように、経路コスト値Ｌｒ（ｐ，ｄ）は、基準画素ｐ（ｘ，ｙ）におけるコスト値Ｃに、図５に示されているｒ方向の各画素における各画素の経路コスト値Ｌｒの最小値を加算することで求められる。このように、ｒ方向の各画素における経路コスト値Ｌｒを求めるため、最初は、基準画像ｐ（ｘ，ｙ）のｒ方向の一番端の画素から経路コスト値Ｌｒが求められ、ｒ方向に沿って経路コスト値Ｌｒが求められる。そして、図５に示されているように、８方向のＬｒ０、Ｌｒ４５、Ｌｒ９０、Ｌｒ１３５、Ｌｒ１８０、Ｌｒ２２５、Ｌｒ２７０、Ｌｒ３１５が求められ、最終的に（式４）に基づいて、合成コスト値Ｌｓが求められる。
【数１】
2015179066.tif 000003
【００３１】
このようにして算出された合成コスト値Ｌｓ（ｐ，ｄ）は、図６に示されているように、シフト量ｄ毎に合成コスト値Ｌｓ（ｐ，ｄ）が示される合成コスト曲線のグラフによって表すことができる。図６では、合成コスト値Ｌｓは、シフト量ｄ＝３の場合が最小値となるため、視差値Δ＝３として算出される。なお、上記説明ではｒの数を８として説明しているが、これに限られることはない。例えば、８方向を更に２つに分割して１６方向、３つに分割して２４方向等にしてもよい。また、コスト値Ｃは「非類似度」として示されているが、非類似度の逆数としての「類似度」として表されてもよい。この場合、コスト値Ｃの算出方法としては、ＮＣＣ（Ｎｏｒｍａｌｉｚｅｄ  Ｃｒｏｓｓ  Ｃｏｒｒｅｌａｔｉｏｎ）等の公知の方法が適用される。また、この場合、合成コスト値Ｌｓが最小ではなく「最大」となる視差値Δが導出される。なお、非類似度と類似度の両者を含めて、「一致度」として表してもよい。
【００３２】
［本実施形態の具体的な説明］
以下、図面を用いて、本実施形態の具体的な説明を行う。ここでは、自動車に搭載される物体認識システム１について説明する。なお、物体認識システム１は、車両の一例としての自動車だけでなく、車両の他の例として、バイク、自転車、車椅子、農業用の耕運機等に搭載されることができてもよい。また、移動体の一例としての車両だけでなく、移動体の他の例として、ロボット等に搭載されることができてもよい。さらに、ロボットは、移動体だけでなく、ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）において固定設置される工業用ロボット等の装置であってもよい。また、固定設置される装置としては、ロボットだけでなく、防犯用の監視カメラであってもよい。
【００３３】
（実施形態の構成）
まず、図７乃至図９用いて、本実施形態の全体構成について説明する。
【００３４】
＜外観構成＞
図７および図８を用いて、本実施形態の物体認識システム１の外観構成を説明する。なお、図７（ａ）は本発明の一実施形態に係る物体認識システムを搭載した自動車の側面を表す概略図、図７（ｂ）は自動車の正面を示す概略図である。図８は、物体認識システムの概観図である。
【００３５】
図７（ａ）、（ｂ）に示されているように、本実施形態の物体認識システム１は、撮像装置１０ａ（第１撮像手段）および撮像装置１０ｂ（第２撮像手段）を備えており、撮像装置１０ａおよび撮像装置１０ｂは、自動車の進行方向前方の光景を撮像することができるように設置される。また、図８に示されているように、物体認識システム１は、本体部２と、本体部２に対して設けられた一対の円筒状の撮像装置１０ａおよび撮像装置１０ｂとによって構成されている。
【００３６】
＜全体のハードウェア構成＞
次に、図９を用いて、物体認識システム１の全体のハードウェア構成について説明する。なお、図９は、物体認識システムの全体のハードウェア構成図である。
【００３７】
図９に示されているように、物体認識システム１は、本体部２において、視差値導出装置３および物体認識装置５を備えている。
【００３８】
このうち、視差値導出装置３は、物体Ｅを撮像して得られた複数の画像から、物体Ｅに対する視差を示す視差値Δを導出し、各画素における視差値Δを示す高密度視差画像を出力する。物体認識装置５は、視差値導出装置３から出力された高密度視差画像に基づいて、撮像装置１０ａ、１０ｂから物体Ｅまでの距離を測定する等の処理を行なう。
【００３９】
ここで、まずは、視差値導出装置３のハードウェア構成について説明する。図９に示されているように、視差値導出装置３は、撮像装置１０ａ、撮像装置１０ｂ、信号変換装置２０ａ、信号変換装置２０ｂ、および画像処理装置３０を備えている。
【００４０】
撮像装置１０ａは、前方の光景を撮像して画像を表すアナログ信号を生成するものであり、撮像レンズ１１ａ、絞り１２ａ、および画像センサ１３ａを備えている。
【００４１】
撮像レンズ１１ａは、撮像レンズ１１ａを通過する光を屈折させて物体の像を結像させるための光学素子である。絞り１２ａは、撮像レンズ１１ａを通過した光の一部を遮ることによって、後述する画像センサ１３ａに入力される光の量を調整する。画像センサ１３ａは、撮像レンズ１１ａおよび絞り１２ａから入力された光を電気的なアナログの画像信号に変換する半導体の素子であり、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅｓ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）等によって実現される。
【００４２】
なお、撮像装置１０ｂは、撮像装置１０ａと同じ構成を備えているため、撮像装置１０ｂについての説明は省略する。また、撮像レンズ１１ａおよび撮像レンズ１１ｂは、それぞれのレンズ面が互いに同一平面内になるように設置されている。
【００４３】
また、信号変換装置２０ａは、撮像された画像を表すアナログ信号をデジタル形式の画像データに変換するものであり、ＣＤＳ（Ｃｏｒｒｅｌａｔｅｄ  Ｄｏｕｂｌｅ  Ｓａｍｐｌｉｎｇ）２１ａ、ＡＧＣ（Ａｕｔｏ  Ｇａｉｎ  Ｃｏｎｔｒｏｌ）２２ａ、ＡＤＣ（Ａｎａｌｏｇ  Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ）２３ａ、およびフレームメモリ２４ａを備えている。
【００４４】
ＣＤＳ２１ａは、画像センサ１３ａによって変換されたアナログの画像信号から相関二重サンプリングによってノイズを除去する。ＡＧＣ２２ａは、ＣＤＳ２１ａによってノイズが除去されたアナログの画像信号の強度を制御する利得制御を行う。ＡＤＣ２３ａは、ＡＧＣ２２ａによって利得制御されたアナログの画像信号をデジタル形式の画像データに変換する。フレームメモリ２４ａは、ＡＤＣ２３ａによって変換された画像データを記憶する。
【００４５】
同様に、信号変換装置２０ｂは、撮像装置１０ｂによって変換されたアナログの画像信号から画像データを取得するものであり、ＣＤＳ２１ｂ、ＡＧＣ２２ｂ、ＡＤＣ２３ｂ、およびフレームメモリ２４ｂを備えている。
【００４６】
なお、ＣＤＳ２１ｂ、ＡＧＣ２２ｂ、ＡＤＣ２３ｂ、およびフレームメモリ２４ｂは、それぞれＣＤＳ２１ａ、ＡＧＣ２２ａ、ＡＤＣ２３ａ、およびフレームメモリ２４ａと同じ構成であるため、それらについての説明は省略する。
【００４７】
さらに、画像処理装置３０は、信号変換装置２０ａおよび信号変換装置２０ｂによって変換された画像データを処理するための装置である。この画像処理装置３０は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）３１、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３４、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３５および上記各構成要素３１〜３５を図９に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン３９を備えている。
【００４８】
このうち、ＦＰＧＡ３１は、集積回路であり、ここでは、ＣＰＵ３２の命令に従って、画像データが表す画像における視差値Δを算出する処理を行う。ＣＰＵ３２は、視差値導出装置３の各機能を制御する。ＲＯＭ３３は、ＣＰＵ３２が視差値導出装置３の各機能を制御するために実行される画像処理用プログラムを記憶している。ＲＡＭ３４はＣＰＵ３２のワークエリアとして使用される。Ｉ／Ｆ３５は、物体認識装置５における後述するＩ／Ｆ５５とアドレスバスやデータバス等のバスライン４を介して通信するためのインターフェースである。
【００４９】
続いて、物体認識装置５のハードウェア構成について説明する。図９に示されているように、物体認識装置５は、ＦＰＧＡ５１、ＣＰＵ５２、ＲＯＭ５３、ＲＡＭ５４、Ｉ／Ｆ５５、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）  Ｉ／Ｆ５８および上記各構成要素５１〜５５、５８を図９に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン５９を備えている。
【００５０】
このうち、ＦＰＧＡ５１、ＣＰＵ５２、ＲＯＭ５３、ＲＡＭ５４、Ｉ／Ｆ５５、およびバスライン５９は、それぞれ画像処理装置３０におけるＦＰＧＡ３１、ＣＰＵ３２、ＲＯＭ３３、ＲＡＭ３４、Ｉ／Ｆ３５、およびバスライン３９と同様の構成であるため、説明を省略する。なお、Ｉ／Ｆ５５は、画像処理装置３０におけるＩ／Ｆ３５とバスライン４を介して通信するためのインターフェースである。また、ＲＯＭ５３は、ＣＰＵ５２が物体認識装置５の各機能を制御するために実行される物体認識用プログラムを記憶している。ＣＡＮ  Ｉ／Ｆ５８は、外部コントローラ等と通信するためのインターフェースであり、例えば、自動車のＣＡＮ等に接続されることができる。
【００５１】
このような構成により、画像処理装置３０のＩ／Ｆ３５からバスライン４を介して物体認識装置５に高密度視差画像が送信されると、物体認識装置５におけるＣＰＵ５２の命令によって、ＦＰＧＡ５１が、撮像装置１０ａ、１０ｂと物体Ｅとの間の距離Ｚを算出する。
【００５２】
なお、物体認識装置５におけるＣＰＵ５２の命令によってＦＰＧＡ５１が距離Ｚを算出せずに、画像処理装置３０のＣＰＵ３２の命令によってＦＰＧＡ３１が距離Ｚを算出してもよい。
【００５３】
また、上記各プログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータで読み取り可能な記録媒体に記録して流通させてもよい。この記録媒体は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等である。
【００５４】
＜視差値導出装置のブロック構成および各ブロックの動作＞
図１０は、本実施形態に係る視差値導出装置のブロック構成の一例を示す図である。図１１は、基準画像と比較画像とにおいてオクルージョンが発生している場合を説明する図である。図１２は、左方向にコスト値を集約させる場合における信頼度の設定について説明する図である。図１３は、右方向にコスト値を集約させる場合における信頼度の設定について説明する図である。図１４は、本実施形態におけるシフト量とｒ方向の経路コスト値との関係を示すグラフである。図１５は、左方向信頼度テーブルおよび右方向信頼度テーブルの構成の例を示す図である。図１６は、本実施形態におけるシフト量と合成コスト値との関係を示すグラフである。図１７は、パラボラフィッティングによるサブピクセル推定を説明する図である。図１８は、最小二乗法によるサブピクセル推定を説明する図である。図１９は、サブピクセル推定を用いた高密度視差画像を示す概念図である。図１０乃至図１９を参照しながら、視差値導出装置３の要部のブロック構成および各ブロックの動作について説明する。なお、説明の便宜上、上述の図８に示す撮像装置１０ａを「右」のカメラと称し、撮像装置１０ｂを「左」のカメラと称するものとする。
【００５５】
図１０に示すように、視差値導出装置３は、画像取得部１１０と、フィルタ部２１０と、コスト算出部３１０（算出手段）と、コスト集約部３２０（集約手段、情報設定手段）と、コスト修正部３３０（合成手段）と、サブピクセル推定部３４０と、記憶部３５０と、視差画像生成部３６０と、を備えている。
【００５６】
画像取得部１１０は、左右２台のカメラにより前方の被写体を撮像して、それぞれアナログの画像信号を生成し、各画像信号に基づく画像である２つの輝度画像を得る処理部である。画像取得部１１０は、図９に示す撮像装置１０ａおよび撮像装置１０ｂによって実現される。
【００５７】
フィルタ部２１０は、画像取得部１１０により得られた２つの輝度画像の画像信号に対して、ノイズを除去し、デジタル形式の画像データに変換して出力する。ここで、フィルタ部２１０が出力する２つの輝度画像の画像データ（以下、単に「輝度画像」と称する）のうち、画像取得部１１０の右のカメラ（撮像装置１０ａ）により撮像された基準画像Ｉａの画像データ（以下、単に「基準画像Ｉａ」という）とし、左のカメラ（撮像装置１０ｂ）により撮像された比較画像Ｉｂの画像データ（以下、単に「比較画像Ｉｂ」という）とする。すなわち、フィルタ部２１０は、画像取得部１１０から出力された２つの輝度画像に基づいて、基準画像Ｉａおよび比較画像Ｉｂを出力する。フィルタ部２１０は、図９に示す信号変換装置２０ａ、２０ｂによって実現される。
【００５８】
コスト算出部３１０は、基準画像Ｉａにおける基準画素ｐ（ｘ，ｙ）（第１基準領域）の輝度値、および、基準画素ｐ（ｘ，ｙ）に基づく比較画像Ｉｂにおけるエピポーラ線上で、基準画素ｐ（ｘ，ｙ）の位置に相当する画素からシフト量ｄでシフトすることにより特定される、対応画素の候補である候補ｑ（ｘ＋ｄ，ｙ）の各輝度値に基づいて、各候補ｑ（ｘ＋ｄ，ｙ）のコスト値Ｃ（ｐ，ｄ）を算出する。コスト算出部３１０は、図９に示すＦＰＧＡ３１によって実現される。コスト算出部３１０が算出するコスト値Ｃとしては、例えば、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅｓ）、またはＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅｓ）等を用いることができる。そして、シフト量ｄと、コスト算出部３１０により算出されたコスト値Ｃとの関係を示すグラフの例が、上述した図４に示すグラフである。図４に示すグラフにおいては、シフト量ｄ＝５、１２、１９において、コスト値Ｃの最小値として近似した値となっているため、コスト値Ｃの最小値を求めることによって、基準画像Ｉａにおける基準画素に対応する比較画像Ｉｂにおける対応画素を求めることは困難である。特に、画像におけるテクスチャが弱い部分がある場合には、このようにコスト値Ｃの最小値を求めることは困難になる。
【００５９】
コスト集約部３２０は、基準画像Ｉａにおける基準画素ｐ（ｘ，ｙ）の所定のｒ方向で隣接する画素を基準画素とした場合のその基準画素（第２基準領域）についての比較画像Ｉｂにおけるコスト値Ｃを、コスト算出部３１０により算出された候補ｑ（ｘ＋ｄ，ｙ）のコスト値Ｃ（ｐ，ｄ）に集約させて、候補ｑ（ｘ＋ｄ，ｙ）のｒ方向の経路コスト値Ｌｒ（ｐ，ｄ）を算出する。コスト集約部３２０は、上述の（式３）によって、所定のｒ方向の経路コスト値Ｌｒ（ｐ，ｄ）を算出する。コスト集約部３２０は、所定のｒ方向として、図５に示したように、８方向の経路コスト値ＬｒであるＬｒ０、Ｌｒ４５、Ｌｒ９０、Ｌｒ１３５、Ｌｒ１８０、Ｌｒ２２５、Ｌｒ２７０およびＬｒ３１５を算出する。コスト集約部３２０は、図９に示すＦＰＧＡ３１によって実現される。
【００６０】
また、コスト集約部３２０は、基準画像Ｉａおよび比較画像Ｉｂにおけるオクルージョン現象に対応するために、左右方向のコスト値Ｃの集約によって求まる経路コスト値Ｌｒに対して、オクルージョンの信頼度を評価する。ここで、左右方向のうち、左方向（第１方向または第２方向）とは、図３に示すエピポーラ線ＥＬと平行な方向であって、図３において左から右へ向かう方向を示し、右方向（第２方向または第１方向）とは、図３に示すエピポーラ線ＥＬと平行な方向であって、図３において右から左へ向かう方向を示す。また、オクルージョン現象とは、例えば、図１１に示すように、撮像方向の異なる基準画像Ｉａ（図１１（ａ））または比較画像Ｉｂ（図１１（ｂ））のうち、一方には写っているが、他方には写っていない画像領域が存在する現象を示すものとする。図１１に示す基準画像Ｉａおよび比較画像Ｉｂは、直方体形状の被写体を撮像した画像であり、基準画像Ｉａには、物体の側面であるオクルージョン領域Ｏｓが写っているのに対し、比較画像Ｉｂには写っていない。このような、基準画像Ｉａまたは比較画像Ｉｂにおいて、一方には写っているが、他方には写っていないオクルージョン領域に対する視差値を導出することができない。すなわち、被写体のオクルージョン領域までの距離を求めることができない。したがって、ステレオマッチング処理において、オクルージョン領域における誤ったマッチングを抑制する必要がある。
【００６１】
そこで、コスト集約部３２０は、上述したオクルージョンの信頼度を評価するために、具体的には、経路コスト値Ｌｒのうち左方向の経路コスト値Ｌｒ０、および右方向の経路コスト値Ｌｒ１８０から、それぞれ左方向信頼度フラグＦＬ（信頼度情報）および右方向信頼度フラグＦＲ（信頼度情報）を設定する。以下、左方向の経路コスト値Ｌｒ０を経路コスト値Ｌｒ＿Ｌとし、右方向の経路コスト値Ｌｒ１８０を経路コスト値Ｌｒ＿Ｒとして説明する。すなわち、基準画像Ｉａにおける基準画素ｐ（ｘ，ｙ）について、比較画像Ｉｂにおいてシフト量ｄでシフトした画素についての左方向の経路コスト値を経路コスト値Ｌｒ＿Ｌ（ｐ，ｄ）とする。そして、基準画像Ｉａにおける基準画素ｐ（ｘ，ｙ）について、比較画像Ｉｂにおいてシフト量ｄでシフトした画素についての右方向の経路コスト値を経路コスト値Ｌｒ＿Ｒ（ｐ，ｄ）とする。コスト集約部３２０は、下記の（式５）により、経路コスト値Ｌｒ＿Ｌに基づいて、基準画像Ｉａの基準画素ｐ（ｘ，ｙ）ごとに左方向信頼度フラグＦＬ（ｐ）（本実施形態においては「１」または「０」）を設定する。
【数２】
2015179066.tif 000004
【００６２】
（式５）におけるｓは、図１２（ａ）に示すように、基準画像Ｉａにおける基準画素ｐ（ｘ，ｙ）の左方向に隣接する画素を示し、ｐ−ｒ＝ｓ（ｘ−１，ｙ）である。ここで、ｒは、左方向の単位ベクトル（１，０）であるものとする。ｍｉｎＤ（）は、（）内のコスト値（ここでは、経路コスト値）で定まる視差値を返す関数である。また、ｍｉｎ（Ｌｒ＿Ｌ（ｐ，ｎ））は、基準画像Ｉａにおける基準画素ｐに対して、比較画像Ｉｂにおいて所定のシフト範囲（０≦ｎ＜Ｄ）における画素単位の各シフト量ｄでシフトした位置の画素の経路コスト値Ｌｒ＿Ｌの最小値を示す。すなわち、上述の（式５）の左辺は、基準画像Ｉａにおける基準画素ｐに対する、比較画像Ｉｂにおける各経路コスト値Ｌｒ＿Ｌの最小値によって定まる視差値を示す。この場合の視差値は、経路コスト値Ｌｒ（ここでは経路コスト値Ｌｒ＿Ｌ）に基づいて定まる視差値であり、後述の合成コスト値Ｌｓに基づいて定まる視差値Δと区別して、視差値Δ＿ｒ（第２視差値）と表記するものとする。ここで、画素単位のシフト量ｄと、経路コスト値Ｌｒとの関係の例を示すグラフを、図１４に示す。図１４の例では、シフト量ｄ＝３で経路コスト値Ｌｒが最小値となるので、シフト量ｄ＝３が、視差値Δ＿ｒとなる。
【００６３】
上述の（式５）の左辺が示す視差値Δ＿ｒにより、経路コスト値Ｌｒ＿Ｌに基づいた場合の基準画素ｐに対応する比較画像Ｉｂにおける対応画素（第２対応領域）をｑとする。コスト集約部３２０は、上述の（式５）の右辺で表される、基準画素ｐの左方向に隣接する画素ｓについての視差値Δ＿ｒにより、画素ｓに対応する比較画像Ｉｂにおける画素（第３対応領域）が、図１２（ｂ）に示すように、対応画素ｑと一致する場合、すなわち、（式５）の上式を満たす場合、基準画素ｐについての左方向信頼度フラグＦＬを「１」に設定する。このように、基準画像Ｉａにおける２画素についての比較画像Ｉｂにおける対応画素が一致する場合は原則としてありえないものであり、基準画像Ｉａの基準画素ｐは、オクルージョン領域に含まれている可能性が高い。そこで、コスト集約部３２０は、基準画素ｐについての左方向信頼度フラグＦＬを「１」に設定し、オクルージョン領域に含まれている可能性があることを記憶させておく。
【００６４】
一方、コスト集約部３２０は、上述の（式５）の右辺で表される、基準画素ｐの左方向に隣接する画素ｓについての視差値Δ＿ｒにより、画素ｓに対応する比較画像Ｉｂにおける画素が、対応画素ｑと一致しない場合、すなわち、（式５）の下式を満たす場合、基準画素ｐについての左方向信頼度フラグＦＬを「０」に設定する。
【００６５】
このように、コスト集約部３２０は、基準画像Ｉａの各画素について左方向信頼度フラグＦＬを設定し、各左方向信頼度フラグＦＬを、図１５（ａ）に示すように、基準画像Ｉａの各画素に対応させたテーブル形式で構成した左方向信頼度テーブルＴＬとして記憶部３５０に記憶させる。図１５（ａ）では、左方向信頼度テーブルＴＬにおいて、フラグ設定部ＴＬａ、ＴＬｂにおいて「１」が設定されている例を示す。
【００６６】
さらに、コスト集約部３２０は、下記の（式６）により、経路コスト値Ｌｒ＿Ｒに基づいて、基準画像Ｉａの基準画素ｐ（ｘ，ｙ）ごとに右方向信頼度フラグＦＲ（ｐ）（本実施形態においては「１」または「０」）を設定する。
【数３】
2015179066.tif 000005
【００６７】
（式６）におけるｓは、図１３（ａ）に示すように、基準画像Ｉａにおける基準画素ｐ（ｘ，ｙ）の右方向に隣接する画素を示し、ｐ−ｒ＝ｓ（ｘ＋１，ｙ）である。ここで、ｒは、右方向の単位ベクトル（−１，０）であるものとする。また、ｍｉｎ（Ｌｒ＿Ｒ（ｐ，ｎ））は、基準画像Ｉａにおける基準画素ｐに対して、比較画像Ｉｂにおいて所定のシフト範囲（０≦ｎ＜Ｄ）における画素単位の各シフト量ｄでシフトした位置の画素の経路コスト値Ｌｒ＿Ｒの最小値を示す。すなわち、上述の（式６）の左辺は、基準画像Ｉａにおける基準画素ｐに対する、比較画像Ｉｂにおける各経路コスト値Ｌｒ＿Ｒの最小値によって定まる視差値を示す。この場合の視差値についても、上述の経路コスト値Ｌｒ＿Ｌの場合と同様に、後述の合成コスト値Ｌｓに基づいて定まる視差値Δと区別して、視差値Δ＿ｒ（第２視差値）と表記するものとする。
【００６８】
上述の（式６）の左辺が示す視差値Δ＿ｒにより、経路コスト値Ｌｒ＿Ｒに基づいた場合の基準画素ｐに対応する比較画像Ｉｂにおける対応画素（第２対応領域）をｑとする。コスト集約部３２０は、上述の（式６）の左辺で表される、基準画素ｐの右方向に隣接する画素ｓについての視差値Δ＿ｒにより、画素ｓに対応する比較画像Ｉｂにおける画素（第３対応領域）が、図１３（ｂ）に示すように、対応画素ｑと一致する場合、すなわち、（式６）の上式を満たす場合、基準画素ｐについての右方向信頼度フラグＦＲを「１」に設定する。このように、基準画像Ｉａにおける２画素についての比較画像Ｉｂにおける対応画素が一致する場合は原則としてありえないものであり、基準画像Ｉａの基準画素ｐは、オクルージョン領域に含まれている可能性が高い。そこで、コスト集約部３２０は、基準画素ｐについての右方向信頼度フラグＦＲを「１」に設定し、オクルージョン領域に含まれている可能性があることを記憶させておく。
【００６９】
一方、コスト集約部３２０は、上述の（式６）の右辺で表される、基準画素ｐの右方向に隣接する画素ｓについての視差値Δ＿ｒにより、画素ｓに対応する比較画像Ｉｂにおける画素が、対応画素ｑと一致しない場合、すなわち、（式６）の下式を満たす場合、基準画素ｐについての右方向信頼度フラグＦＲを「０」に設定する。
【００７０】
このように、コスト集約部３２０は、基準画像Ｉａの各画素について右方向信頼度フラグＦＲを設定し、右方向信頼度フラグＦＲを、図１５（ｂ）に示すように、基準画像Ｉａの各画素に対応させたテーブル形式で構成した右方向信頼度テーブルＴＲとして記憶部３５０に記憶させる。図１５（ｂ）では、右方向信頼度テーブルＴＲにおいて、フラグ設定部ＴＲａ、ＴＲｂにおいて「１」が設定されている例を示す。
【００７１】
なお、左方向信頼度フラグＦＬおよび右方向信頼度フラグＦＲは、上述のように、「０」または「１」によるフラグ形式で設定されるものとしたが、これに限定されるものではなく、画素がオクルージョン領域に含まれている可能性があることを示すことができる情報であればどのような形式でもよい。また、左方向信頼度テーブルＴＬは、左方向信頼度フラグＦＬを基準画像Ｉａの各画素に対応させたテーブル形式としているが、これに限定されるものではなく、左方向信頼度フラグＦＬを基準画像Ｉａの各画素に対応させて記憶させることができればどのような形式であってもよい。これは、右方向信頼度テーブルＴＲについても同様である。
【００７２】
また、コスト集約部３２０は、左右方向のコスト値Ｃの集約によって求まる経路コスト値Ｌｒ（Ｌｒ＿Ｌ、Ｌｒ＿Ｒ）によって、オクルージョンの信頼度の評価、すなわち、左方向信頼度フラグＦＬおよび右方向信頼度フラグＦＲの設定を行うものとしたが、これに限定されるものではない。例えば、コスト集約部３２０は、経路コスト値Ｌｒ４５、Ｌｒ２２５、または、経路コスト値Ｌｒ３１５、Ｌｒ１３５等に基づいて、それぞれの方向の信頼度フラグの設定を行うものとしてもよい。
【００７３】
また、コスト集約部３２０は、上述のように２方向（例えば左右方向）における経路コスト値Ｌｒに基づいて、それぞれの方向の信頼度フラグを設定することに限定されるものではない。すなわち、コスト集約部３２０は、３方向における経路コスト値Ｌｒに基づいて、信頼度フラグを設定してもよい。この場合、後述するコスト修正部３３０は、得られた信頼度フラグに基づいて、基準画像Ｉａの画素の視差について無効視差か否かを判定してもよい。
【００７４】
記憶部３５０は、上述のように、コスト集約部３２０によって設定された左方向信頼度フラグＦＬを含む左方向信頼度テーブルＴＬ、および、右方向信頼度フラグＦＲを含む右方向信頼度テーブルＴＲを記憶する。記憶部３５０は、図９に示すＲＡＭ３４によって実現される。また、記憶部３５０は、図９において図示しないＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の外部記憶装置によって実現されるものとしてもよい。
【００７５】
コスト修正部３３０は、基準画像Ｉａにおける基準画素ｐ（ｘ，ｙ）の周辺の画素を基準画素とした場合のその基準画素についての比較画像Ｉｂにおける画素のコスト値Ｃを、コスト算出部３１０により算出された候補ｑ（ｘ＋ｄ，ｙ）のコスト値Ｃ（ｐ，ｄ）に集約させて、候補ｑ（ｘ＋ｄ，ｙ）の合成コスト値Ｌｓ（ｐ，ｄ）を算出する。コスト修正部３３０は、図９に示すＦＰＧＡ３１によって実現される。コスト修正部３３０は、合成コスト値Ｌｓ（ｐ，ｄ）を算出するために、まず、コスト集約部３２０によって算出された８方向の経路コスト値Ｌｒ（ｐ，ｄ）のうち、左右方向以外の６方向の経路コスト値Ｌｒ（ｐ，ｄ）の合計値を算出する。次に、コスト修正部３３０は、記憶部３５０に記憶された左方向信頼度テーブルＴＬおよび右方向信頼度テーブルＴＲを参照し、基準画像Ｉａの各画素についての左方向信頼度フラグＦＬおよび右方向信頼度フラグＦＲを読み取る。
【００７６】
コスト修正部３３０は、基準画像Ｉａの基準画素ｐについて、左方向信頼度フラグＦＬ＝０、かつ、右方向信頼度フラグＦＲ＝０である場合、その基準画素ｐはオクルージョン領域に含まれないと判定する。図１５に示す例では、左方向信頼度テーブルＴＬのうちフラグ設定部ＴＬａ、ＴＬｂ以外の部分に対応する基準画像Ｉａの画素であって、右方向信頼度テーブルＴＲのうちフラグ設定部ＴＲａ、ＴＲｂ以外の部分に対応する基準画像Ｉａの画素の領域が該当する。そして、コスト修正部３３０は、コスト集約部３２０によって算出された経路コスト値Ｌｒ＿Ｌ（ｐ，ｄ）と、経路コスト値Ｌｒ＿Ｒ（ｐ，ｄ）とを、上述の６方向の経路コスト値Ｌｒ（ｐ，ｄ）の合計値に加算し、加算して求めた値を合成コスト値Ｌｓ（ｐ，ｄ）とする。
【００７７】
また、コスト修正部３３０は、基準画像Ｉａの基準画素ｐについて、左方向信頼度フラグＦＬ＝０、かつ、右方向信頼度フラグＦＲ＝１である場合、コスト集約部３２０によって算出された経路コスト値Ｌｒ＿Ｌ（ｐ，ｄ）のみを、上述の６方向の経路コスト値Ｌｒ（ｐ，ｄ）の合計値に加算し、加算して求めた値を合成コスト値Ｌｓ（ｐ，ｄ）とする。図１５に示す例では、右方向信頼度テーブルＴＲの「１」に設定されたフラグ設定部ＴＲｂに対応する基準画像Ｉａの画素の領域が該当する。
【００７８】
また、コスト修正部３３０は、基準画像Ｉａの基準画素ｐについて、左方向信頼度フラグＦＬ＝１、かつ、右方向信頼度フラグＦＲ＝０である場合、コスト集約部３２０によって算出された経路コスト値Ｌｒ＿Ｒ（ｐ，ｄ）のみを、上述の６方向の経路コスト値Ｌｒ（ｐ，ｄ）の合計値に加算し、加算して求めた値を合成コスト値Ｌｓ（ｐ，ｄ）とする。図１５に示す例では、左方向信頼度テーブルＴＬの「１」に設定されたフラグ設定部ＴＬｂに対応する基準画像Ｉａの画素の領域が該当する。
【００７９】
また、コスト修正部３３０は、基準画像Ｉａの基準画素ｐについて、左方向信頼度フラグＦＬ＝１、かつ、右方向信頼度フラグＦＲ＝１である場合、その基準画素ｐはオクルージョン領域に含まれていると判定する。図１５に示す例では、左方向信頼度テーブルＴＬのフラグ設定部ＴＬａの部分に対応する基準画像Ｉａの画素（右方向信頼度テーブルＴＲのフラグ設定部ＴＲａの部分に対応する基準画像Ｉａの画素と同一）の領域が該当する。そして、コスト修正部３３０は、合成コスト値Ｌｓ（ｐ，ｄ）＝０とし、基準画素ｐについての視差は無効視差として扱う。
【００８０】
以上のように、コスト修正部３３０によって合成コスト値Ｌｓが算出される。ここで、左方向信頼度フラグＦＬ＝１、かつ、右方向信頼度フラグＦＲ＝１ではない場合において、画素ごとのシフト量ｄと、コスト修正部３３０によって算出された合成コスト値Ｌｓとの関係の例を示すグラフを、図１６に示す。図１６の例では、合成コスト値Ｌｓは、シフト量ｄ＝３のとき最小値となる。
【００８１】
また、コスト修正部３３０は、左方向信頼度フラグＦＬ＝１、かつ、右方向信頼度フラグＦＲ＝１の場合、対応する基準画像Ｉａの基準画素ｐは、オクルージョン領域に含まれていると判定し、その基準画素ｐについての合成コスト値Ｌｓを「０」として、基準画素ｐの視差は無効視差としている。これによって、オクルージョン領域に含まれる画素の視差については無効視差として取り扱う、すなわち、有効な視差値を求めないものとしているので、誤ったマッチングの発生を抑制することができる。また、視差について無効視差として取り扱うためには、後述のサブピクセル推定部３４０が視差値として有り得ない数値を設定するものとすればよい。例えば、基準画像Ｉａの横方向の画素数が６４０個である場合、視差値として「９９９」等を設定すれば、無効視差であることが判別できる。
【００８２】
なお、上述のように、コスト修正部３３０は、左方向信頼度フラグＦＬ＝０、かつ、右方向信頼度フラグＦＲ＝１である場合、経路コスト値Ｌｒ＿Ｌ（ｐ，ｄ）のみを、上述の６方向の経路コスト値Ｌｒ（ｐ，ｄ）の合計値に加算し、合成コスト値Ｌｓ（ｐ，ｄ）を算出している。そして、コスト修正部３３０は、左方向信頼度フラグＦＬ＝１、かつ、右方向信頼度フラグＦＲ＝０である場合、経路コスト値Ｌｒ＿Ｒ（ｐ，ｄ）のみを、上述の６方向の経路コスト値Ｌｒ（ｐ，ｄ）の合計値に加算し、合成コスト値Ｌｓ（ｐ，ｄ）を算出している。しかし、これに限定されるものではなく、左方向信頼度フラグＦＬまたは右方向信頼度フラグＦＲのうちいずれかが「１」である場合、コスト修正部３３０は、対応する基準画素ｐはオクルージョン領域に含まれていると判定し、合成コスト値Ｌｓ（ｐ，ｄ）＝０とし、基準画素ｐについての視差は無効視差として扱うものとしてもよい。
【００８３】
サブピクセル推定部３４０は、コスト修正部３３０により算出された、基準画像Ｉａにおける基準画素についての比較画像Ｉｂにおける画素の合成コスト値Ｌｓの最小値（第１極値）に対応するシフト量ｄ、およびそれに隣接するシフト量ｄにおける合成コスト値Ｌｓに基づいて、サブピクセル推定を実行する。サブピクセル推定部３４０は、図９に示すＦＰＧＡ３１によって実現される。図１６に示す合成コスト値Ｌｓのグラフは、上述のように、画素単位のシフト量ｄに対する合成コスト値Ｌｓのグラフである。図１６に示すグラフの合成コスト値Ｌｓの最小値は、画素単位のシフト量ｄ＝３における合成コスト値Ｌｓということになる。すなわち、図１６に示すような画素単位のシフト量ｄに対する合成コスト値Ｌｓのグラフにおいては、視差値Δとして画素単位の値を導出することしかできないことになる。ここで、サブピクセル推定とは、視差値Δを画素単位の値ではなく、画素より小さい単位（以下、サブピクセル単位という）で視差値Δ（第１視差値）を推定して導出するものである。
【００８４】
まず、図１７を参照しながら、サブピクセル推定部３４０がパラボラフィッティングによるサブピクセル推定を実行する場合について説明する。サブピクセル推定部３４０は、コスト修正部３３０によって算出された合成コスト値Ｌｓのグラフ（図１６）において、合成コスト値Ｌｓが最小となるシフト量ｄの値を求める。図１６の例では、シフト量ｄ＝３の場合が、合成コスト値Ｌｓが最小となる。次に、サブピクセル推定部３４０は、シフト量ｄ＝３に隣接するシフト量ｄを求める。具体的には、シフト量ｄ＝２，４である。次に、サブピクセル推定部３４０は、図１６に示すシフト量ｄと合成コスト値Ｌｓとのグラフにおいて、図１７に示すように、シフト量ｄ＝２，３，５である３点を通る下に凸の２次曲線を求める。そして、サブピクセル推定部３４０は、その２次曲線の極小値（第２極値）に対応するサブピクセル単位のシフト量ｄが視差値Δであると推定する。
【００８５】
次に、図１８を参照しながら、サブピクセル推定部３４０が最小二乗法によるサブピクセル推定を実行する場合について説明する。サブピクセル推定部３４０は、コスト修正部３３０によって算出された合成コスト値Ｌｓのグラフ（図１６）において、合成コスト値Ｌｓが最小となるシフト量ｄの値を求める。図１６の例では、シフト量ｄ＝３の場合が、合成コスト値Ｌｓが最小となる。次に、サブピクセル推定部３４０は、シフト量ｄ＝３の近傍の４つのシフト量ｄを求める。具体的には、シフト量ｄ＝１，２，４，５である。次に、サブピクセル推定部３４０は、図１６に示すシフト量ｄと合成コスト値Ｌｓとのグラフにおいて、図１８に示すように、最小二乗法によってシフト量ｄ＝１〜５である５点の近傍を通る下に凸の２次曲線を求める。そして、サブピクセル推定部３４０は、その２次曲線の極小値（第３極値）に対応するサブピクセル単位のシフト量ｄが視差値Δであると推定する。
【００８６】
サブピクセル推定部３４０は、図１７に示すパラボラフィッティングによるサブピクセル推定、または、図１８に示す最小二乗法によるサブピクセル推定のいずれかによって、視差値Δを推定して導出する。これによって、画素より小さい単位であるサブピクセル単位で視差値Δを導出することができるので、精度が高く、かつ密な視差値Δを導出することができる。
【００８７】
また、サブピクセル推定部３４０は、コスト修正部３３０によって算出された合成コスト値Ｌｓが「０」である場合、その合成コスト値Ｌｓに係る基準画素ｐの視差は無効視差であると判定する。この場合、サブピクセル推定部３４０は、無効視差であると判定した基準画素ｐの視差値として、上述のように、有り得ない数値を設定するものとすればよい。
【００８８】
なお、サブピクセル推定は、上述のパラボラフィッティングによるもの、または、最小二乗法によるものに限定されるものではなく、その他の方法によってサブピクセル推定を行うものとしてもよい。例えば、サブピクセル推定部３４０は、図１７に示す３点を用いて、２次曲線ではなく、３点を通る等角直線を求めて視差値Δを推定する等角直線フィッティングによりサブピクセル推定を実行するものとしてもよい。
【００８９】
また、最小二乗法によるサブピクセル推定において、図１６に示すグラフ上の５点を用いて２次曲線を求めるものとしたが、これに限定されるものではなく、異なる数の点を用いて２次曲線を求めるものとしてもよい。
【００９０】
また、サブピクセル推定部３４０によるサブピクセル推定によってサブピクセル単位の視差値Δを算出することに限定されるものではなく、サブピクセル推定の実行はせずに、画素単位の視差値Δ（第１視差値）を算出するものとしてもよい。この場合、サブピクセル推定部３４０は、コスト修正部３３０により算出された、基準画像Ｉａにおける基準画素についての比較画像Ｉｂにおける画素の合成コスト値Ｌｓの最小値に対応するシフト量ｄを視差値Δとすればよい。
【００９１】
視差画像生成部３６０は、サブピクセル推定部３４０により導出されたサブピクセル単位の視差値Δに基づいて、基準画像Ｉａの各画素の輝度値を、その画素に対応する視差値Δで表した画像である視差画像Ｉｐ（高密度視差画像）を生成する。視差画像生成部３６０は、図９に示すＦＰＧＡ３１によって実現される。図１９のうち、図１９（ａ）は、比較画像Ｉｂの一例を示し、図１９（ｂ）は、基準画像Ｉａの一例を示し、図１９（ｃ）は、視差画像生成部３６０により生成された視差画像Ｉｐの模式図を示す。また、視差画像生成部３６０は、無効視差であると判定された画素については、例えば、視差画像Ｉｐにおいて「黒」（２５６階調のとき「０」）または「白」（２５６階調のとき「２５５」）に表示させて、その画素が無効視差の画素であることを示すものとすればよい。
【００９２】
なお、コスト算出部３１０、コスト集約部３２０、コスト修正部３３０、サブピクセル推定部３４０および視差画像生成部３６０は、ＦＰＧＡ３１によって実現、すなわちハードウェア回路によって実現されるものとしたが、これに限定されるものではない。すなわち、コスト算出部３１０、コスト集約部３２０、コスト修正部３３０、サブピクセル推定部３４０または視差画像生成部３６０の少なくともいずれかは、ソフトウェアであるプログラムがＣＰＵ３２によって実行されることにより、実現されてもよい。また、コスト算出部３１０、コスト集約部３２０、コスト修正部３３０、サブピクセル推定部３４０および視差画像生成部３６０は、機能を概念的にブロック構成したものであって、このような構成に限定されるものではない。
【００９３】
（視差値導出装置の画像処理動作）
図２０は、本実施形態に係る視差値導出装置のステレオマッチング処理の動作フローの一例を示す図である。図２０を参照しながら、視差値導出装置３のステレオマッチング処理（ＳＧＭ法）に基づく画像処理の動作の流れについて説明する。
【００９４】
＜ステップＳ１−１＞
視差値導出装置３の画像取得部１１０は、左のカメラ（撮像装置１０ｂ）により前方の被写体を撮像して、それぞれアナログの画像信号を生成し、その画像信号に基づく画像である輝度画像を得る。そして、ステップＳ２−１へ進む。
【００９５】
＜ステップＳ１−２＞
視差値導出装置３の画像取得部１１０は、右のカメラ（撮像装置１０ａ）により前方の被写体を撮像して、それぞれアナログの画像信号を生成し、その画像信号に基づく画像である輝度画像を得る。そして、ステップＳ２−２へ進む。
【００９６】
＜ステップＳ２−１＞
視差値導出装置３のフィルタ部２１０は、撮像装置１０ｂにより撮像されて得られたアナログの画像信号に対して、ノイズを除去し、デジタル形式の画像データに変換する。そして、ステップＳ３−１へ進む。
【００９７】
＜ステップＳ２−２＞
視差値導出装置３のフィルタ部２１０は、撮像装置１０ａにより撮像されて得られたアナログの画像信号に対して、ノイズを除去し、デジタル形式の画像データに変換する。そして、ステップＳ３−２へ進む。
【００９８】
＜ステップＳ３−１＞
フィルタ部２１０は、ステップＳ２−１において変換したデジタル形式の画像データに基づく画像をステレオマッチング処理における比較画像Ｉｂとして出力する。そして、ステップＳ４へ進む。
【００９９】
＜ステップＳ３−２＞
フィルタ部２１０は、ステップＳ２−２において変換したデジタル形式の画像データに基づく画像をステレオマッチング処理における基準画像Ｉａとして出力する。そして、ステップＳ４へ進む。
【０１００】
＜ステップＳ４＞
視差値導出装置３のコスト算出部３１０は、基準画像Ｉａにおける基準画素ｐ（ｘ，ｙ）の輝度値、および、基準画素ｐ（ｘ，ｙ）に基づく比較画像Ｉｂにおけるエピポーラ線上で、基準画素ｐ（ｘ，ｙ）の位置に相当する画素からシフト量ｄでシフトすることにより特定される、対応画素の候補ｑ（ｘ＋ｄ，ｙ）の各輝度値に基づいて、各候補ｑ（ｘ＋ｄ，ｙ）のコスト値Ｃ（ｐ，ｄ）を算出する。そして、ステップＳ５へ進む。
【０１０１】
＜ステップＳ５＞
視差値導出装置３のコスト集約部３２０は、基準画像Ｉａにおける基準画素ｐ（ｘ，ｙ）の所定のｒ方向で隣接する画素を基準画素とした場合のその基準画素についての比較画像Ｉｂにおけるコスト値Ｃを、コスト算出部３１０により算出された候補ｑ（ｘ＋ｄ，ｙ）のコスト値Ｃ（ｐ，ｄ）に集約させて、候補ｑ（ｘ＋ｄ，ｙ）のｒ方向の経路コスト値Ｌｒ（ｐ，ｄ）を算出する。コスト集約部３２０は、所定のｒ方向として、図５に示したように、８方向の経路コスト値ＬｒであるＬｒ０、Ｌｒ４５、Ｌｒ９０、Ｌｒ１３５、Ｌｒ１８０、Ｌｒ２２５、Ｌｒ２７０およびＬｒ３１５を算出する。
【０１０２】
また、コスト集約部３２０は、オクルージョンの信頼度を評価するために、経路コスト値Ｌｒのうち左方向の経路コスト値Ｌｒ０（Ｌｒ＿Ｌ）、および右方向の経路コスト値Ｌｒ１８０（Ｌｒ＿Ｒ）から、それぞれ左方向信頼度フラグＦＬおよび右方向信頼度フラグＦＲを設定する。
【０１０３】
コスト集約部３２０は、上述の（式５）により、経路コスト値Ｌｒ＿Ｌに基づいて、基準画像Ｉａの基準画素ｐ（ｘ，ｙ）ごとに左方向信頼度フラグＦＬ（ｐ）を設定する。コスト集約部３２０は、上述の（式５）の右辺で表される、基準画素ｐの左方向に隣接する画素ｓについての視差値Δ＿ｒにより、画素ｓに対応する比較画像Ｉｂにおける画素が、対応画素ｑと一致する場合、すなわち、（式５）の上式を満たす場合、基準画素ｐについての左方向信頼度フラグＦＬを「１」に設定する。一方、コスト集約部３２０は、上述の（式５）の右辺で表される、基準画素ｐの左方向に隣接する画素ｓについての視差値Δ＿ｒにより、画素ｓに対応する比較画像Ｉｂにおける画素が、対応画素ｑと一致しない場合、すなわち、（式５）の下式を満たす場合、基準画素ｐについての左方向信頼度フラグＦＬを「０」に設定する。このように、コスト集約部３２０は、基準画像Ｉａの各画素について左方向信頼度フラグＦＬを設定し、各左方向信頼度フラグＦＬを、図１５（ａ）に示すように、基準画像Ｉａの各画素に対応させたテーブル形式で構成した左方向信頼度テーブルＴＬとして記憶部３５０に記憶させる。
【０１０４】
さらに、コスト集約部３２０は、上述の（式６）により、経路コスト値Ｌｒ＿Ｒに基づいて、基準画像Ｉａの基準画素ｐ（ｘ，ｙ）ごとに右方向信頼度フラグＦＲ（ｐ）を設定する。コスト集約部３２０は、上述の（式６）の左辺で表される、基準画素ｐの右方向に隣接する画素ｓについての視差値Δ＿ｒにより、画素ｓに対応する比較画像Ｉｂにおける画素が、対応画素ｑと一致する場合、すなわち、（式６）の上式を満たす場合、基準画素ｐについての右方向信頼度フラグＦＲを「１」に設定する。一方、コスト集約部３２０は、上述の（式６）の右辺で表される、基準画素ｐの右方向に隣接する画素ｓについての視差値Δ＿ｒにより、画素ｓに対応する比較画像Ｉｂにおける画素が、対応画素ｑと一致しない場合、すなわち、（式６）の下式を満たす場合、基準画素ｐについての右方向信頼度フラグＦＲを「０」に設定する。このように、コスト集約部３２０は、基準画像Ｉａの各画素について右方向信頼度フラグＦＲを設定し、右方向信頼度フラグＦＲを、図１５（ｂ）に示すように、基準画像Ｉａの各画素に対応させたテーブル形式で構成した右方向信頼度テーブルＴＲとして記憶部３５０に記憶させる。そして、ステップＳ６へ進む。
【０１０５】
＜ステップＳ６＞
視差値導出装置３のコスト修正部３３０は、基準画像Ｉａにおける基準画素ｐ（ｘ，ｙ）の周辺の画素を基準画素とした場合のその基準画素についての比較画像Ｉｂにおける画素のコスト値Ｃを、コスト算出部３１０により算出された候補ｑ（ｘ＋ｄ，ｙ）のコスト値Ｃ（ｐ，ｄ）に集約させて、候補ｑ（ｘ＋ｄ，ｙ）の合成コスト値Ｌｓ（ｐ，ｄ）を算出する。コスト修正部３３０は、合成コスト値Ｌｓ（ｐ，ｄ）を算出するために、まず、コスト集約部３２０によって算出された８方向の経路コスト値Ｌｒ（ｐ，ｄ）のうち、左右方向以外の６方向の経路コスト値Ｌｒ（ｐ，ｄ）の合計値を算出する。次に、コスト修正部３３０は、記憶部３５０に記憶された左方向信頼度テーブルＴＬおよび右方向信頼度テーブルＴＲを参照し、基準画像Ｉａの各画素についての左方向信頼度フラグＦＬおよび右方向信頼度フラグＦＲを読み取る。
【０１０６】
コスト修正部３３０は、基準画像Ｉａの基準画素ｐについて、左方向信頼度フラグＦＬ＝０、かつ、右方向信頼度フラグＦＲ＝０である場合、その基準画素ｐはオクルージョン領域に含まれないと判定する。そして、コスト修正部３３０は、コスト集約部３２０によって算出された経路コスト値Ｌｒ＿Ｌ（ｐ，ｄ）と、経路コスト値Ｌｒ＿Ｒ（ｐ，ｄ）とを、上述の６方向の経路コスト値Ｌｒ（ｐ，ｄ）の合計値に加算し、加算して求めた値を合成コスト値Ｌｓ（ｐ，ｄ）とする。
【０１０７】
また、コスト修正部３３０は、基準画像Ｉａの基準画素ｐについて、左方向信頼度フラグＦＬ＝０、かつ、右方向信頼度フラグＦＲ＝１である場合、コスト集約部３２０によって算出された経路コスト値Ｌｒ＿Ｌ（ｐ，ｄ）のみを、上述の６方向の経路コスト値Ｌｒ（ｐ，ｄ）の合計値に加算し、加算して求めた値を合成コスト値Ｌｓ（ｐ，ｄ）とする。
【０１０８】
また、コスト修正部３３０は、基準画像Ｉａの基準画素ｐについて、左方向信頼度フラグＦＬ＝１、かつ、右方向信頼度フラグＦＲ＝０である場合、コスト集約部３２０によって算出された経路コスト値Ｌｒ＿Ｒ（ｐ，ｄ）のみを、上述の６方向の経路コスト値Ｌｒ（ｐ，ｄ）の合計値に加算し、加算して求めた値を合成コスト値Ｌｓ（ｐ，ｄ）とする。
【０１０９】
また、コスト修正部３３０は、基準画像Ｉａの基準画素ｐについて、左方向信頼度フラグＦＬ＝１、かつ、右方向信頼度フラグＦＲ＝１である場合、その基準画素ｐはオクルージョン領域に含まれていると判定する。そして、コスト修正部３３０は、合成コスト値Ｌｓ（ｐ，ｄ）＝０とし、基準画素ｐについての視差は無効視差として扱う。そして、ステップＳ７へ進む。
【０１１０】
＜ステップＳ７＞
視差値導出装置３のサブピクセル推定部３４０は、コスト修正部３３０により算出された、基準画像Ｉａにおける基準画素についての比較画像Ｉｂにおける画素の合成コスト値Ｌｓの最小値に対応するシフト量ｄ、およびそれに隣接するシフト量ｄにおける合成コスト値Ｌｓに基づいて、サブピクセル推定を実行する。サブピクセル推定部３４０は、サブピクセル推定によって求めた近似曲線（図１７および図１８においては下に凸の２次曲線）の極小値に対応するサブピクセル単位のシフト量ｄが視差値Δであると推定する。
【０１１１】
また、サブピクセル推定部３４０は、コスト修正部３３０によって算出された合成コスト値Ｌｓが「０」である場合、その合成コスト値Ｌｓに係る基準画素ｐの視差は無効視差であると判定する。この場合、サブピクセル推定部３４０は、無効視差であると判定した基準画素ｐの視差値として、上述のように、有り得ない数値を設定するものとすればよい。そして、ステップＳ８へ進む。
【０１１２】
＜ステップＳ８＞
視差画像生成部３６０は、サブピクセル推定部３４０により導出されたサブピクセル単位の視差値Δに基づいて、基準画像Ｉａの各画素の輝度値を、その画素に対応する視差値Δで表した画像である視差画像Ｉｐ（高密度視差画像）を生成する。
【０１１３】
その後、図９に示すＩ／Ｆ３５を介して、視差画像Ｉｐの画像データが出力され、物体認識装置５によって、撮像装置１０ａ、１０ｂから物体までの距離が算出される。
【０１１４】
（車両に機器制御システムを搭載した場合の例）
図２１は、本実施形態に係る機器制御システムを車両に搭載した例を示す図である。以下、図２１を参照しながら、車両１００に機器制御システム６０を搭載した場合の例を説明する。
【０１１５】
図２１に示す構成では、自動車である車両１００は、機器制御システム６０を備えている。機器制御システム６０は、居室空間である車室において設置された視差値導出装置３と、制御装置６と、ステアリングホイール７と、ブレーキペダル８と、を備えている。
【０１１６】
視差値導出装置３は、車両１００の進行方向を撮像する撮像機能を有し、例えば、車両１００のフロントウィンドウ内側のバックミラー近傍に設置される。視差値導出装置３は、本体部２と、本体部２に固定された撮像装置１０ａと、撮像装置１０ｂとを備えている。撮像装置１０ａ、１０ｂは、車両１００の進行方向の被写体を撮像できるように本体部２に固定されている。
【０１１７】
制御装置６は、上述の物体認識システム１における物体認識装置５の代わりに視差値導出装置３に接続された装置であり、視差値導出装置３から受信した視差画像の画像データに基づいて求まる視差値導出装置３から被写体までの距離情報により、各種車両制御を実行する。制御装置６は、車両制御の例として、視差値導出装置３から受信した視差画像の画像データに基づいて、ステアリングホイール７を含むステアリング系統（制御対象）を制御して障害物を回避するステアリング制御、または、ブレーキペダル８（制御対象）を制御して車両１００を減速および停止させるブレーキ制御等を実行する。
【０１１８】
このような視差値導出装置３および制御装置６を含む機器制御システム６０のように、ステアリング制御またはブレーキ制御等の車両制御が実行されることによって、車両１００の運転の安全性を向上することができる。
【０１１９】
なお、上述のように、視差値導出装置３は、車両１００の前方を撮像するものとしたが、これに限定されるものではない。すなわち、視差値導出装置３は、車両１００の後方または側方を撮像するように設置されるものとしてもよい。この場合、視差値導出装置３は、車両１００の後方の後続車、または側方を並進する他の車両等の位置を検出することができる。そして、制御装置６は、車両１００の車線変更時または車線合流時等における危険を検知して、上述の車両制御を実行することができる。また、制御装置６は、車両１００の駐車時等におけるバック動作において、視差値導出装置３によって検出された車両１００の後方の障害物の視差画像に基づいて、衝突の危険があると判断した場合に、上述の車両制御を実行することができる。
【０１２０】
（本実施形態の主な効果）
以上のように、本実施形態に係る視差値導出装置３において、コスト修正部３３０は、左方向信頼度フラグＦＬ＝１、かつ、右方向信頼度フラグＦＲ＝１の場合、対応する基準画像Ｉａの基準画素ｐは、オクルージョン領域に含まれていると判定し、その基準画素ｐの視差は無効視差としている。これによって、オクルージョン領域に含まれる画素の視差については無効視差として取り扱う、すなわち、有効な視差値を求めないものとしているので、誤ったマッチングの発生を抑制することができる。
【０１２１】
また、視差値導出装置３において、サブピクセル推定部３４０は、画素より小さい単位であるサブピクセル単位で視差値Δを導出することができるので、精度が高く、かつ密な視差値Δを導出することができ、より正確な視差画像を得ることができる。
【０１２２】
なお、一致度としてのコスト値Ｃを、類似度を表す評価値とした場合、合成コスト値Ｌｓがサブピクセル単位で最大となるシフト量ｄが視差値Δとなる。
【０１２３】
また、上述の実施形態では、物体認識装置５が視差画像（視差値）に基づき、距離Ｚを算出しているが、これに限定されるものではなく、視差値導出装置３の画像処理装置３０のＣＰＵ３２が距離Ｚを算出するものとしてもよい。
【符号の説明】
【０１２４】
１  物体認識システム
２  本体部
３  視差値導出装置
４  バスライン
５  物体認識装置
６  制御装置
７  ステアリングホイール
８  ブレーキペダル
１０ａ、１０ｂ  撮像装置
１１ａ、１１ｂ  撮像レンズ
１２ａ、１２ｂ  絞り
１３ａ、１３ｂ  画像センサ
２０ａ、２０ｂ  信号変換装置
２１ａ、２１ｂ  ＣＤＳ
２２ａ、２２ｂ  ＡＧＣ
２３ａ、２３ｂ  ＡＤＣ
２４ａ、２４ｂ  フレームメモリ
３０  画像処理装置
３１  ＦＰＧＡ
３２  ＣＰＵ
３３  ＲＯＭ
３４  ＲＡＭ
３５  Ｉ／Ｆ
３９  バスライン
５１  ＦＰＧＡ
５２  ＣＰＵ
５３  ＲＯＭ
５４  ＲＡＭ
５５  Ｉ／Ｆ
５８  ＣＡＮ  Ｉ／Ｆ
５９  バスライン
６０  機器制御システム
１００  車両
１１０  画像取得部
２１０  フィルタ部
３１０  コスト算出部
３２０  コスト集約部
３３０  コスト修正部
３４０  サブピクセル推定部
３５０  記憶部
３６０  視差画像生成部
Ｂ  基線長
Ｃ  コスト値
ｄ  シフト量
Ｅ  物体
ＥＬ  エピポーラ線
ｆ  焦点距離
ＦＬ  左方向信頼度フラグ
ＦＲ  右方向信頼度フラグ
Ｉａ  基準画像
Ｉｂ  比較画像
Ｉｐ  視差画像
Ｌｒ、Ｌｒ＿Ｌ、Ｌｒ＿Ｒ  経路コスト値
Ｌｓ  合成コスト値
Ｏｓ  オクルージョン領域
Ｓ、Ｓａ、Ｓｂ  点
ＴＬ  左方向信頼度テーブル
ＴＬａ、ＴＬｂ  フラグ設定部
ＴＲ  右方向信頼度テーブル
ＴＲａ、ＴＲｂ  フラグ設定部
Ｚ  距離
Δ、Δ＿ｒ  視差値
【先行技術文献】
【特許文献】
【０１２５】
【特許文献１】特開２０１２−１８１１４２号公報
【図１】
2015179066.tif 000006
【図３】
2015179066.tif 000007
【図４】
2015179066.tif 000008
【図５】
2015179066.tif 000009
【図６】
2015179066.tif 000010
【図７】
2015179066.tif 000011
【図８】
2015179066.tif 000012
【図９】
2015179066.tif 000013
【図１０】
2015179066.tif 000014
【図１１】
2015179066.tif 000015
【図１２】
2015179066.tif 000016
【図１３】
2015179066.tif 000017
【図１４】
2015179066.tif 000018
【図１５】
2015179066.tif 000019
【図１６】
2015179066.tif 000020
【図１７】
2015179066.tif 000021
【図１８】
2015179066.tif 000022
【図２０】
2015179066.tif 000023
【図２１】
2015179066.tif 000024
【図２】
2015179066.tif 000025
【図１９】
2015179066.tif 000026