(57)【特許請求の範囲】
【請求項１】
第１撮像手段が被写体を撮像することで得られた第１画像と、前記第１撮像手段とは異なる位置に設置された第２撮像手段が前記被写体を撮像することで得られた第２画像とを取得する取得手段と、
前記第１画像及び前記第２画像から、同様の模様が繰り返し表れる繰り返しパターン領域をそれぞれ検出する検出手段と、
前記第１画像及び前記第２画像の前記繰り返しパターン領域を構成する画素の画素値を、前記第１画像と前記第２画像とのエピポーラ線方向の画素位置に応じて変更する変更手段と、
前記変更手段で変更された前記第１画像の基準領域と、前記変更手段で変更された前記第２画像において前記基準領域に対応する領域の候補となる複数の候補領域それぞれとの一致度を算出する算出手段と、
前記一致度に基づいて、前記基準領域と前記候補領域との視差値を導出する導出手段と、
を備え、
前記変更手段は、前記繰り返しパターン領域において、前記エピポーラ線方向の一端を基点とし、当該基点からの離間距離に応じて画素値の変更量を増加させる視差値導出装置。
【請求項２】
第１撮像手段が被写体を撮像することで得られた第１画像と、前記第１撮像手段とは異なる位置に設置された第２撮像手段が前記被写体を撮像することで得られた第２画像とを取得する取得手段と、
前記第１画像及び前記第２画像から、同様の模様が繰り返し表れる繰り返しパターン領域をそれぞれ検出する検出手段と、
前記第１画像及び前記第２画像の前記繰り返しパターン領域を構成する画素の画素値を、前記第１画像と前記第２画像とのエピポーラ線方向の画素位置に応じて変更する変更手段と、
前記変更手段で変更された前記第１画像の基準領域と、前記変更手段で変更された前記第２画像において前記基準領域に対応する領域の候補となる複数の候補領域それぞれとの一致度を算出する算出手段と、
前記一致度に基づいて、前記基準領域と前記候補領域との視差値を導出する導出手段と、
を備え、
前記変更手段は、前記繰り返しパターン領域において、前記エピポーラ線方向の一端を基点とし、当該基点からの離間距離に応じて画素値の変更量を減少させる視差値導出装置。
【請求項３】
第１撮像手段が被写体を撮像することで得られた第１画像と、前記第１撮像手段とは異なる位置に設置された第２撮像手段が前記被写体を撮像することで得られた第２画像とを取得する取得手段と、
前記第１画像及び前記第２画像から、同様の模様が繰り返し表れる繰り返しパターン領域をそれぞれ検出する検出手段と、
前記第１画像及び前記第２画像の前記繰り返しパターン領域を構成する画素の画素値を、前記第１画像と前記第２画像とのエピポーラ線方向の画素位置に応じて変更する変更手段と、
前記変更手段で変更された前記第１画像の基準領域と、前記変更手段で変更された前記第２画像において前記基準領域に対応する領域の候補となる複数の候補領域それぞれとの一致度を算出する算出手段と、
前記一致度に基づいて、前記基準領域と前記候補領域との視差値を導出する導出手段と、
を備え、
前記変更手段は、前記繰り返しパターン領域において、前記エピポーラ線方向の一端から他端に向かって、直前の画素の画素値を次の画素の画素値に順次加算する視差値導出装置。
【請求項４】
前記変更手段は、前記変更により画素値が飽和した場合、当該画素値の変更に係る演算子を反対の意味の演算子に切り替える請求項１〜３の何れか一項に記載の視差値導出装置。
【請求項５】
前記変更手段は、前記繰り返しパターン領域の前記エピポーラ線方向の横幅と、当該繰り返しパターン領域内の各画素の画素値とに基づいて、変更方法を決定する請求項１〜３の何れか一項に記載の視差値導出装置。
【請求項６】
第１撮像手段が被写体を撮像することで得られた第１画像と、前記第１撮像手段とは異なる位置に設置された第２撮像手段が前記被写体を撮像することで得られた第２画像とを取得する取得ステップと、
前記第１画像及び前記第２画像から、同様の模様が繰り返し表れる繰り返しパターン領域をそれぞれ検出する検出ステップと、
前記第１画像及び前記第２画像の前記繰り返しパターン領域を構成する画素の画素値を、前記第１画像と前記第２画像とのエピポーラ線方向の画素位置に応じて変更する変更ステップと、
前記変更ステップで変更された前記第１画像の基準領域と、前記変更ステップで変更された前記第２画像において前記基準領域に対応する領域の候補となる複数の候補領域との一致度を算出する算出ステップと、
前記一致度に基づいて、前記基準領域と前記候補領域との視差値を導出する導出ステップと、
を有し、
前記変更ステップでは、前記繰り返しパターン領域において、前記エピポーラ線方向の一端を基点とし、当該基点からの離間距離に応じて画素値の変更量を増加させる視差値導出方法。
【請求項７】
第１撮像手段が被写体を撮像することで得られた第１画像と、前記第１撮像手段とは異なる位置に設置された第２撮像手段が前記被写体を撮像することで得られた第２画像とを取得する取得ステップと、
前記第１画像及び前記第２画像から、同様の模様が繰り返し表れる繰り返しパターン領域をそれぞれ検出する検出ステップと、
前記第１画像及び前記第２画像の前記繰り返しパターン領域を構成する画素の画素値を、前記第１画像と前記第２画像とのエピポーラ線方向の画素位置に応じて変更する変更ステップと、
前記変更ステップで変更された前記第１画像の基準領域と、前記変更ステップで変更された前記第２画像において前記基準領域に対応する領域の候補となる複数の候補領域との一致度を算出する算出ステップと、
前記一致度に基づいて、前記基準領域と前記候補領域との視差値を導出する導出ステップと、
を有し、
前記変更ステップでは、前記繰り返しパターン領域において、前記エピポーラ線方向の一端を基点とし、当該基点からの離間距離に応じて画素値の変更量を減少させる視差値導出方法。
【請求項８】
第１撮像手段が被写体を撮像することで得られた第１画像と、前記第１撮像手段とは異なる位置に設置された第２撮像手段が前記被写体を撮像することで得られた第２画像とを取得する取得ステップと、
前記第１画像及び前記第２画像から、同様の模様が繰り返し表れる繰り返しパターン領域をそれぞれ検出する検出ステップと、
前記第１画像及び前記第２画像の前記繰り返しパターン領域を構成する画素の画素値を、前記第１画像と前記第２画像とのエピポーラ線方向の画素位置に応じて変更する変更ステップと、
前記変更ステップで変更された前記第１画像の基準領域と、前記変更ステップで変更された前記第２画像において前記基準領域に対応する領域の候補となる複数の候補領域との一致度を算出する算出ステップと、
前記一致度に基づいて、前記基準領域と前記候補領域との視差値を導出する導出ステップと、
を有し、
前記変更ステップでは、前記繰り返しパターン領域において、前記エピポーラ線方向の一端から他端に向かって、直前の画素の画素値を次の画素の画素値に順次加算する視差値導出方法。
【請求項９】
コンピュータを、
第１撮像手段が被写体を撮像することで得られた第１画像と、前記第１撮像手段とは異なる位置に設置された第２撮像手段が前記被写体を撮像することで得られた第２画像とを取得する取得手段と、
前記第１画像及び前記第２画像から、同様の模様が繰り返し表れる繰り返しパターン領域をそれぞれ検出する検出手段と、
前記第１画像及び前記第２画像の前記繰り返しパターン領域を構成する画素の画素値を、前記第１画像と前記第２画像とのエピポーラ線方向の画素位置に応じて変更する変更手段と、
前記変更手段で変更された前記第１画像の基準領域と、前記変更手段で変更された前記第２画像において前記基準領域に対応する領域の候補となる複数の候補領域それぞれとの一致度を算出する算出手段と、
前記一致度に基づいて、前記基準領域と前記候補領域との視差値を導出する導出手段と、
して機能させ、
前記変更手段は、前記繰り返しパターン領域において、前記エピポーラ線方向の一端を基点とし、当該基点からの離間距離に応じて画素値の変更量を増加させるプログラム。
【請求項１０】
コンピュータを、
第１撮像手段が被写体を撮像することで得られた第１画像と、前記第１撮像手段とは異なる位置に設置された第２撮像手段が前記被写体を撮像することで得られた第２画像とを取得する取得手段と、
前記第１画像及び前記第２画像から、同様の模様が繰り返し表れる繰り返しパターン領域をそれぞれ検出する検出手段と、
前記第１画像及び前記第２画像の前記繰り返しパターン領域を構成する画素の画素値を、前記第１画像と前記第２画像とのエピポーラ線方向の画素位置に応じて変更する変更手段と、
前記変更手段で変更された前記第１画像の基準領域と、前記変更手段で変更された前記第２画像において前記基準領域に対応する領域の候補となる複数の候補領域それぞれとの一致度を算出する算出手段と、
前記一致度に基づいて、前記基準領域と前記候補領域との視差値を導出する導出手段と、
して機能させ、
前記変更手段は、前記繰り返しパターン領域において、前記エピポーラ線方向の一端を基点とし、当該基点からの離間距離に応じて画素値の変更量を減少させるプログラム。
【請求項１１】
コンピュータを、
第１撮像手段が被写体を撮像することで得られた第１画像と、前記第１撮像手段とは異なる位置に設置された第２撮像手段が前記被写体を撮像することで得られた第２画像とを取得する取得手段と、
前記第１画像及び前記第２画像から、同様の模様が繰り返し表れる繰り返しパターン領域をそれぞれ検出する検出手段と、
前記第１画像及び前記第２画像の前記繰り返しパターン領域を構成する画素の画素値を、前記第１画像と前記第２画像とのエピポーラ線方向の画素位置に応じて変更する変更手段と、
前記変更手段で変更された前記第１画像の基準領域と、前記変更手段で変更された前記第２画像において前記基準領域に対応する領域の候補となる複数の候補領域それぞれとの一致度を算出する算出手段と、
前記一致度に基づいて、前記基準領域と前記候補領域との視差値を導出する導出手段と、
して機能させ、
前記変更手段は、前記繰り返しパターン領域において、前記エピポーラ線方向の一端から他端に向かって、直前の画素の画素値を次の画素の画素値に順次加算するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、視差値導出装置、視差値導出方法及びプログラムに関する。
【背景技術】
【０００２】
従来、自動車の安全性において、歩行者と自動車とが衝突したときに、いかに歩行者を守れるか、及び、乗員を保護できるかの観点から、自動車のボディー構造等の開発が行われてきた。しかしながら、近年、情報処理技術及び画像処理技術の発達により、高速に人及び自動車を検出する技術が開発されてきている。これらの技術を応用して、自動車が物体に衝突する前に自動的にブレーキをかけ、衝突を未然に防ぐという自動車もすでに開発されている。自動的にブレーキをかけるには、人又は他車等の物体までの距離を正確に測定する必要があり、そのためには、ミリ波レーダ及びレーザレーダによる測距、ならびに、ステレオカメラによる測距等が実用化されている。
【０００３】
２つの異なる視点から撮像を行ない２つの画像を取得する撮像手段を備えたステレオカメラを用い、視差画像を求めることによって、人及び他車等の物体の三次元的な位置及び大きさを正確に検出し、物体までの距離を測定することができる。撮像した撮像画像のある画素についての視差を求める際には、基準となる基準画像のある画素に対応する画素が、比較画像における探索範囲のうちのどの位置にあるかを探すためのマッチング処理を実行する。そして、探索範囲のマッチング処理が全て終了した後で、最もマッチングがとれている位置を最も確からしい適切な視差値としている。
【０００４】
しかし、ビル窓、タイル壁又はフェンス等のように、外観に同様の模様が繰り返し表れる物体を撮像し、その物体の視差を算出する過程では、マッチングがとれている箇所が複数出現する場合がある。このような場合、どの箇所が正しいのか不明確となるため、視差値を誤って決定することがある。このような現象が生じると、例えば、実際は遠くにある物体（繰り返しパターンを持つ）であるのに、あたかも近くにあるような誤った距離が測定されてしまう。すると、例えば、ステレオカメラにより測距によって近くの距離にある物体を検出した場合に自動的に車両にブレーキを踏ませるシステムでは、ブレーキを踏む必要がない場所で誤ってブレーキが踏まれてしまういわゆる「誤踏み」を引き起こしてしまう。
【０００５】
そのため、従来、参照画像を生成し、当該参照画像と入力画像とを比較することによって、同様の模様が繰り返し表れる繰り返しパターン領域を検出する技術が提案されている（特許文献１）。また、マッチング処理により得られた視差値に基づいて同一の物体と見なすべき視差値をグループ化し、当該物体が存在する基準画像上の領域と、当該領域に対応する比較画像上の領域の隣接領域とで再度マッチング処理を行うことで、誤検出された物体を識別する技術が提案されている（特許文献２）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術では、繰り返しパターン領域の検出や誤検出された物体を識別することが可能であるが、適切な視差値を求めることができなかった。
【０００７】
本発明は、上記に鑑みてなされたものであって、画像中に繰り返しパターン領域が存在する場合であっても、適切な視差値を求めることが可能な視差値導出装置、視差値導出方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、第１撮像手段が被写体を撮像することで得られた第１画像と、前記第１撮像手段とは異なる位置に設置された第２撮像手段が前記被写体を撮像することで得られた第２画像とを取得する取得手段と、前記第１画像及び前記第２画像から、同様の模様が繰り返し表れる繰り返しパターン領域をそれぞれ検出する検出手段と、前記第１画像及び前記第２画像の前記繰り返しパターン領域を構成する画素の画素値を、前記第１画像と前記第２画像とのエピポーラ線方向の画素位置に応じて変更する変更手段と、前記変更手段で変更された前記第１画像の基準領域と、前記変更手段で変更された前記第２画像において前記基準領域に対応する領域の候補となる複数の候補領域それぞれとの一致度を算出する算出手段と、前記一致度に基づいて、前記基準領域と前記候補領域との視差値を導出する導出手段と、を備え、前記変更手段は、前記繰り返しパターン領域において、前記エピポーラ線方向の一端を基点とし、当該基点からの離間距離に応じて画素値の変更量を増加させる。
【発明の効果】
【０００９】
本発明によれば、画像中に繰り返しパターンが存在する場合であっても、適切な視差値を求めることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、撮像部から物体までの距離を導き出す原理を説明する図である。
【図２】図２は、基準画像における基準画素に対応する比較画像における対応画素を求める場合の説明図である。
【図３】図３は、マッチング処理結果のグラフの一例を示す図である。
【図４】図４は、基準画像及び比較画像の一例を示す図である。
【図５】図５は、図４における基準領域と探索範囲との関係を示す図である。
【図６】図６は、図５における基準領域と候補領域との関係を示す図である。
【図７】図７は、マッチング処理結果のグラフの他の例を示す図である。
【図８】図８は、実施形態に係る機器制御システムを車両に搭載した例を示す図である。
【図９】図９は、実施形態に係る物体認識装置の外観の一例を示す図である。
【図１０】図１０は、実施形態に係る物体認識装置のハードウェア構成の一例を示す図である。
【図１１】図１１は、実施形態に係る物体認識装置の機能ブロック構成の一例を示す図である。
【図１２】図１２は、実施形態に係る物体認識装置の処理加工部による輝度値の変更方法の一例を説明するための図である。
【図１３】図１３は、画素位置と輝度値の変更量との関係の一例を模式的に示す図である。
【図１４】図１４は、画素位置と輝度値の変更量との関係の他の例を模式的に示す図である。
【図１５】図１５は、加工済基準画像及び加工済比較画像の一例を示す図である。
【図１６】図１６は、図１５における基準領域と候補領域との関係を示す図である。
【図１７】図１７は、マッチング処理結果のグラフの他の例を示す図である。
【図１８】図１８は、実施形態に係る物体認識装置の視差値演算処理部の機能ブロック構成の一例を示す図である。
【図１９】図１９は、実施形態に係る視差値導出部のブロックマッチング処理の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
（ブロックマッチング処理を用いた測距方法の概略）
まず、図１〜図７を用いて、ブロックマッチング処理による測距方法の概略について説明する。
【００１２】
（測距の原理）
図１は、撮像部から物体までの距離を導き出す原理を説明する図である。図１を参照しながら、ステレオマッチング処理により、ステレオカメラから物体に対する視差を導出し、この視差を示す視差値によって、ステレオカメラから物体までの距離を測定する原理について説明する。
【００１３】
図１に示す撮像システムは、平行等位に配置された撮像部１０ａ（第１撮像手段）と撮像部１０ｂ（第２撮像手段）とを有するものとする。撮像部１０ａ、１０ｂは、それぞれ、入射する光を屈折させて物体の像を固体撮像素子である画像センサに結像させる撮像レンズ１１ａ、１１ｂを有する。撮像部１０ａ及び撮像部１０ｂによって撮像された各画像を、それぞれ基準画像Ｉａ及び比較画像Ｉｂとする。図１において、３次元空間内の物体Ｅ上の点Ｓは、基準画像Ｉａ及び比較画像Ｉｂそれぞれにおいて、撮像レンズ１１ａと撮像レンズ１１ｂとを結ぶ直線と平行な直線上の位置に写像される。ここで、各画像に写像された点Ｓを、基準画像Ｉａにおいて点Ｓａ（ｘ，ｙ）とし、比較画像Ｉｂにおいて点Ｓｂ（Ｘ，ｙ）とする。このとき、視差値ｄｐは、基準画像Ｉａ上の座標における点Ｓａ（ｘ，ｙ）と比較画像Ｉｂ上の座標における点Ｓｂ（Ｘ，ｙ）とを用いて、以下の（式１）のように表される。
【００１４】
ｄｐ＝Ｘ−ｘ                              （式１）
【００１５】
また、図１において、基準画像Ｉａにおける点Ｓａ（ｘ，ｙ）と撮像レンズ１１ａから撮像面上におろした垂線の交点との距離をΔａとし、比較画像Ｉｂにおける点Ｓｂ（Ｘ，ｙ）と撮像レンズ１１ｂから撮像面上におろした垂線の交点との距離をΔｂにすると、視差値ｄｐは、ｄｐ＝Δａ＋Δｂと表すこともできる。
【００１６】
次に、視差値ｄｐを用いることにより、撮像部１０ａ、１０ｂと物体Ｅとの間の距離Ｚを導出する。ここで、距離Ｚは、撮像レンズ１１ａの焦点位置と撮像レンズ１１ｂの焦点位置とを結ぶ直線から物体Ｅ上の点Ｓまでの距離である。図１に示すように、撮像レンズ１１ａ及び撮像レンズ１１ｂの焦点距離ｆ、撮像レンズ１１ａと撮像レンズ１１ｂとの間の長さである基線長Ｂ、及び視差値ｄｐを用いて、下記の（式２）により、距離Ｚを算出することができる。
【００１７】
Ｚ＝（Ｂ×ｆ）／ｄｐ                          （式２）
【００１８】
この（式２）により、視差値ｄｐが大きいほど距離Ｚは小さく、視差値ｄｐが小さいほど距離Ｚは大きくなることがわかる。
【００１９】
（ブロックマッチング処理）
次に、ブロックマッチング処理（以下、単にマッチング処理ともいう）による測距方法について説明する。
【００２０】
図２は、基準画像における基準画素に対応する比較画像における対応画素を求める場合の説明図である。図３は、マッチング処理結果のグラフの一例を示す図である。図４は、基準画像及び比較画像の一例を示す図である。
【００２１】
図２〜４を参照しながら、コスト値Ｃ（ｐ，ｄ）の算出方法について説明する。なお、以降、Ｃ（ｐ，ｄ）は、Ｃ（ｘ，ｙ，ｄ）を表すものとして説明する。
【００２２】
図２のうち、図２（ａ）は、基準画像Ｉａにおける基準画素ｐ及び基準領域ｐｂを示す概念図を示し、図２（ｂ）は、図２（ａ）に示す基準画素ｐに対応する比較画像Ｉｂにおける対応画素の候補を順次シフトしながら（ずらしながら）、コスト値Ｃを算出する際の概念図である。ここで、対応画素とは、基準画像Ｉａにおける基準画素ｐに最も類似する比較画像Ｉｂにおける画素を示す。また、コスト値Ｃとは、基準画像Ｉａにおける基準画素ｐに対する、比較画像Ｉｂにおける各画素の類似度又は非類似度を表す評価値（一致度）である。以下に示すコスト値Ｃは、値が小さいほど、比較画像Ｉｂにおける画素が基準画素ｐと類似していることを示す非類似度を表す評価値であるものとして説明する。
【００２３】
図２（ａ）に示すように、基準画像Ｉａにおける基準画素ｐ（ｘ，ｙ）、及び、基準画素ｐ（ｘ，ｙ）に対する比較画像Ｉｂにおけるエピポーラ線ＥＬ上の対応画素の候補である候補画素ｑ（ｘ＋ｄ，ｙ）の各輝度値（画素値）に基づいて、基準画素ｐ（ｘ，ｙ）に対する対応画素の候補画素ｑ（ｘ＋ｄ，ｙ）のコスト値Ｃ（ｐ，ｄ）が算出される。ｄは、基準画素ｐと候補画素ｑとのシフト量（ずれ量）である。シフト量ｄは、画素単位でシフトされる。すなわち、図３では、候補画素ｑ（ｘ＋ｄ，ｙ）を予め指定された範囲（例えば、０＜ｄ＜２５）において順次一画素分シフトしながら、候補画素ｑ（ｘ＋ｄ，ｙ）と基準画素ｐ（ｘ，ｙ）との輝度値の非類似度であるコスト値Ｃ（ｐ，ｄ）が算出される。また、基準画素ｐの対応画素を求めるためマッチング処理として、本実施の形態ではブロックマッチング処理を行う。ブロックマッチング処理では、基準画像Ｉａの基準画素ｐを中心とする所定領域である基準領域ｐｂと、比較画像Ｉｂの候補画素ｑを中心とする候補領域ｑｂ（大きさは基準領域ｐｂと同一）との非類似度を求める。基準領域ｐｂと候補領域ｑｂとの非類似度を示すコスト値Ｃとしては、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）、ＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）、又は、ＳＳＤの値から各ブロックの平均値を減算したＺＳＳＤ（Ｚｅｒｏ−ｍｅａｎ−Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）等が用いられる。これらの評価値は、相関が高い（類似の度合いが高い）ほど、値が小さくなるので非類似度を示す。
【００２４】
なお、上述のように、撮像部１０ａ、１０ｂは、それぞれ平行等位に配置されるため、基準画像Ｉａ及び比較画像Ｉｂも、それぞれ平行等位の関係にある。したがって、基準画像Ｉａにおける基準画素ｐに対応する比較画像Ｉｂにおける対応画素は、図２に紙面視横方向の線として示されるエピポーラ線ＥＬ上に存在することになり、比較画像Ｉｂにおける対応画素を求めるためには、比較画像Ｉｂのエピポーラ線ＥＬ上の画素を探索すればよい。
【００２５】
このようなブロックマッチング処理で算出されたコスト値Ｃ（ｐ，ｄ）は、シフト量ｄとの関係で、例えば、図３に示すグラフにより表される。図３の例では、コスト値Ｃは、シフト量ｄ＝７の場合が最小値となるため、視差値ｄｐ＝７として導出される。
【００２６】
ただし、ビル窓、タイル壁又はフェンス等のように、同様の模様が繰り返し表れる物体を含む画像では、その物体の視差を算出する過程で、マッチングがとれている箇所が２箇所以上出現する場合がある。このような場合、最も確からしい視差値を誤って決定する可能性がある。
【００２７】
例えば、基準画像Ｉａが図４（ａ）で示す画像であり、比較画像Ｉｂが図４（ｂ）で示す画像である場合、ビル窓を示す領域等が同様の模様が繰り返し表れる繰り返しパターン領域となる。ここで、図４（ａ）の破線で囲んだ領域を基準領域ｐｂとし、図４（ｂ）の破線で囲んだ領域を候補領域ｑｂの探索範囲Ｑとする。この場合、類似度（非類似度）は、図５に示すように、基準領域ｐｂと、探索範囲Ｑ内の各候補領域ｑｂとを比較することで導出される。
【００２８】
図５は、図４の（ａ）、（ｂ）における基準領域ｐｂと、探索範囲Ｑ（候補領域ｑｂ）との関係を示す図である。同図に示すように、類似度（非類似度）は、基準領域ｐｂと、探索範囲Ｑ内の各位置（探索位置）に存在する候補領域ｑｂと比較することで求められる。この場合、基準領域ｐｂの画像は、図６に示すように、探索位置４、７、…、ｎの候補領域ｑｂの画像と類似する。そのため、このマッチング処理により得られるコスト値Ｃのグラフは、図７に示すように、被写体に含まれた繰り返しパターン領域によって周期的に変動（上下）する。
【００２９】
このような変動が生じると、コスト値Ｃの最小値を特定することができず、例えば、実際は遠くにある物体（繰り返しパターンを持つ）であるのに、あたかも近くにあるような誤った距離（視差値ｄｐ）が測定されてしまう。すると、例えば、ステレオカメラにより測距によって近くの距離にある物体を検出した場合に自動的に車両にブレーキを踏ませるシステムでは、ブレーキを踏む必要がない場所で誤ってブレーキが踏まれてしまういわゆる「誤踏み」を引き起こしてしまう。
【００３０】
このように、画像中に繰り返しパターン領域が存在すると、適切な視差値を求めることが困難となる。そこで、以下の実施形態では、画像中に繰り返しパターン領域が存在する場合であっても、適切な視差値を求めることが可能な視差値導出装置、視差値導出方法及びプログラムについて説明する。
【００３１】
以下に、図８〜図１９を参照しながら、本発明に係る視差値導出装置、視差値導出方法及びプログラムの実施の形態を詳細に説明する。以下では、視差値導出装置を含む物体認識装置が、自動車に搭載される場合を例に説明する。
【００３２】
（物体認識装置を備えた車両の概略構成）
図８は、機器制御システムを車両に搭載した例を示す図である。図８のうち、図８（ａ）は、機器制御システム６０を搭載した車両７０の側面図であり、図８（ｂ）は、車両７０の正面図である。
【００３３】
図８に示すように、自動車である車両７０は、機器制御システム６０を備える。機器制御システム６０は、車両７０の居室空間である車室に設置された物体認識装置１と、車両制御装置６と、ステアリングホイール７と、ブレーキペダル８と、を備える。
【００３４】
物体認識装置１は、車両７０の進行方向を撮像する撮像機能を有し、例えば、車両７０のフロントウィンドウ内側のバックミラー近傍に設置される。物体認識装置１は、詳細は後述するが、本体部２と、本体部２に固定された撮像部１０ａと、撮像部１０ｂとを備える。撮像部１０ａ、１０ｂは、車両７０の進行方向の被写体を撮像できるように本体部２に固定されている。
【００３５】
車両制御装置６は、物体認識装置１から受信した認識情報に基づき、各種車両制御を実行するＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）である。車両制御装置６は、車両制御の例として、ステアリングホイール７を含むステアリング系統（制御対象）を制御して障害物を回避するステアリング制御を実行する。また、車両制御装置６は、車両制御の例として、ブレーキペダル８（制御対象）を制御して車両７０を減速及び停止させるブレーキ制御を実行する。
【００３６】
このような物体認識装置１及び車両制御装置６を含む機器制御システム６０のように、ステアリング制御又はブレーキ制御等の車両制御が実行されることによって、車両７０の運転の安全性を向上することができる。
【００３７】
なお、上述のように、物体認識装置１は、車両７０の前方を撮像するものとしたが、これに限定されるものではない。すなわち、物体認識装置１は、車両７０の後方又は側方を撮像するように設置されるものとしてもよい。この場合、物体認識装置１は、車両７０の後方の後続車、又は側方を並進する他の車両等の位置を検出することができる。そして、車両制御装置６は、車両７０の車線変更時又は車線合流時等における危険を検知して、上述の車両制御を実行することができる。また、車両制御装置６は、車両７０の駐車時等におけるバック動作において、物体認識装置１によって出力された車両７０の後方の障害物についての認識情報に基づいて、衝突の危険があると判断した場合に、上述の車両制御を実行することができる。
【００３８】
（物体認識装置の構成）
図９は、第１の実施の形態に係る物体認識装置の外観の一例を示す図である。図９に示すように、物体認識装置１は、上述のように、本体部２と、本体部２に固定された撮像部１０ａと、撮像部１０ｂとを備えている。撮像部１０ａ、１０ｂは、本体部２に対して平行等位に配置された一対の円筒形状のカメラで構成されている。また、説明の便宜上、図９に示す撮像部１０ａを「右」のカメラと称し、撮像部１０ｂを「左」のカメラと称するものとする。
【００３９】
＜物体認識装置のハードウェア構成＞
図１０は、第１の実施の形態に係る物体認識装置のハードウェア構成の一例を示す図である。図１０を参照しながら、物体認識装置１のハードウェア構成について説明する。
【００４０】
図１０に示すように、物体認識装置１（視差値導出装置の一例）は、本体部２において、視差値導出部３（視差値導出装置の一例）及び認識処理部５を備える。
【００４１】
このうち、視差値導出部３は、物体Ｅを撮像して得られた複数の画像から、物体Ｅに対する視差を示す視差値ｄｐを導出し、各画素における視差値ｄｐを示す視差画像を出力する。認識処理部５は、視差値導出部３から出力された視差画像に基づいて、撮像部１０ａ、１０ｂから物体Ｅまでの距離を測定する等の処理を行なう。
【００４２】
図１０に示すように、視差値導出部３は、撮像部１０ａと、撮像部１０ｂと、信号変換部２０ａと、信号変換部２０ｂと、画像処理部３０と、を備える。
【００４３】
撮像部１０ａは、前方の被写体を撮像してアナログの画像信号を生成する処理部である。撮像部１０ａは、撮像レンズ１１ａと、絞り１２ａと、画像センサ１３ａと、備える。
【００４４】
撮像レンズ１１ａは、入射する光を屈折させて物体の像を画像センサ１３ａに結像させるための光学素子である。絞り１２ａは、撮像レンズ１１ａを通過した光の一部を遮ることによって、画像センサ１３ａに入力する光の量を調整する部材である。画像センサ１３ａは、撮像レンズ１１ａに入射し、絞り１２ａを通過した光を電気的なアナログの画像信号に変換する半導体素子である。画像センサ１３ａは、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅｓ）又はＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）等の固体撮像素子によって実現される。
【００４５】
撮像部１０ｂは、前方の被写体を撮像してアナログの画像信号を生成する処理部である。撮像部１０ｂは、撮像レンズ１１ｂと、絞り１２ｂと、画像センサ１３ｂと、備えている。なお、撮像レンズ１１ｂ、絞り１２ｂ及び画像センサ１３ｂの機能は、それぞれ上述した撮像レンズ１１ａ、絞り１２ａ及び画像センサ１３ａの機能と同様である。また、撮像レンズ１１ａ及び撮像レンズ１１ｂは、左右のカメラが同一の条件で撮像されるように、それぞれのレンズ面が互いに同一平面上にあるように設置されている。
【００４６】
信号変換部２０ａは、撮像部１０ａにより生成されたアナログの画像信号を、デジタル形式の画像データに変換する処理部である。信号変換部２０ａは、ＣＤＳ（Ｃｏｒｒｅｌａｔｅｄ  Ｄｏｕｂｌｅ  Ｓａｍｐｌｉｎｇ）２１ａと、ＡＧＣ（Ａｕｔｏ  Ｇａｉｎ  Ｃｏｎｔｒｏｌ）２２ａと、ＡＤＣ（Ａｎａｌｏｇ  Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ）２３ａと、フレームメモリ２４ａと、を備える。
【００４７】
ＣＤＳ２１ａは、画像センサ１３ａにより生成されたアナログの画像信号に対して、相関二重サンプリング、横方向の微分フィルタ、又は縦方向の平滑フィルタ等によりノイズを除去する。ＡＧＣ２２ａは、ＣＤＳ２１ａによってノイズが除去されたアナログの画像信号の強度を制御する利得制御を行う。ＡＤＣ２３ａは、ＡＧＣ２２ａによって利得制御されたアナログの画像信号をデジタル形式の画像データに変換する。フレームメモリ２４ａは、ＡＤＣ２３ａによって変換された画像データを記憶する。
【００４８】
信号変換部２０ｂは、撮像部１０ｂにより生成されたアナログの画像信号を、デジタル形式の画像データに変換する処理部である。信号変換部２０ｂは、ＣＤＳ２１ｂと、ＡＧＣ２２ｂと、ＡＤＣ２３ｂと、フレームメモリ２４ｂと、を備える。なお、ＣＤＳ２１ｂ、ＡＧＣ２２ｂ、ＡＤＣ２３ｂ及びフレームメモリ２４ｂの機能は、それぞれ上述したＣＤＳ２１ａ、ＡＧＣ２２ａ、ＡＤＣ２３ａ及びフレームメモリ２４ａの機能と同様である。
【００４９】
画像処理部３０は、信号変換部２０ａ及び信号変換部２０ｂによって変換された画像データに対して画像処理をする装置である。画像処理部３０は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）３１と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３３と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３４と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３５と、バスライン３９と、を備える。
【００５０】
ＦＰＧＡ３１は、集積回路であり、ここでは、画像データに基づく画像における視差値ｄｐを導出する処理を行う。ＣＰＵ３２は、視差値導出部３の各機能を制御する。ＲＯＭ３３は、ＣＰＵ３２が視差値導出部３の各機能を制御するために実行する画像処理用プログラムを記憶している。ＲＡＭ３４は、ＣＰＵ３２のワークエリアとして使用される。Ｉ／Ｆ３５は、認識処理部５におけるＩ／Ｆ５５と、通信線４とを介して通信するためのインターフェースである。バスライン３９は、図１０に示すように、ＦＰＧＡ３１、ＣＰＵ３２、ＲＯＭ３３、ＲＡＭ３４及びＩ／Ｆ３５が互いに通信可能となるように接続するアドレスバス及びデータバス等である。
【００５１】
なお、画像処理部３０は、視差値ｄｐを導出する集積回路としてＦＰＧＡ３１を備えるものとしているが、これに限定されるものではなく、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等の集積回路であってもよい。
【００５２】
図１０に示すように、認識処理部５は、ＦＰＧＡ５１と、ＣＰＵ５２と、ＲＯＭ５３と、ＲＡＭ５４と、Ｉ／Ｆ５５と、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）Ｉ／Ｆ５８と、バスライン５９と、を備える。
【００５３】
ＦＰＧＡ５１は、集積回路であり、ここでは、画像処理部３０から受信した視差画像に基づいて、物体に対する認識処理を行う。ＣＰＵ５２は、認識処理部５の各機能を制御する。ＲＯＭ５３は、ＣＰＵ５２が認識処理部５の認識処理を実行する認識処理用プログラムを記憶している。ＲＡＭ５４は、ＣＰＵ５２のワークエリアとして使用される。Ｉ／Ｆ５５は、画像処理部３０のＩ／Ｆ３５と、通信線４とを介して通信するためのインターフェースである。ＣＡＮＩ／Ｆ５８は、外部コントローラ（例えば、図１０に示す車両制御装置６）と通信するためのインターフェースであり、例えば、自動車のＣＡＮ等に接続される。バスライン５９は、図１０に示すように、ＦＰＧＡ５１、ＣＰＵ５２、ＲＯＭ５３、ＲＡＭ５４、Ｉ／Ｆ５５及びＣＡＮＩ／Ｆ５８が互いに通信可能となるように接続するアドレスバス及びデータバス等である。
【００５４】
このような構成により、画像処理部３０のＩ／Ｆ３５から通信線４を介して認識処理部５に視差画像が送信されると、認識処理部５におけるＣＰＵ５２の命令によって、ＦＰＧＡ５１が、視差画像に基づいて、撮像部１０ａ、１０ｂと物体Ｅとの間の距離Ｚを算出したり、物体に対する認識処理を実行する。
【００５５】
なお、上述の各プログラムは、インストール可能な形式又は実行可能な形式のファイルで、コンピュータで読み取り可能な記録媒体に記録して流通させてもよい。この記録媒体は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）又はＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード等である。
【００５６】
＜物体認識装置の機能ブロック構成及び各機能ブロックの動作＞
図１１は、第１の実施の形態に係る物体認識装置の機能ブロック構成の一例を示す図である。図１１に示すように、物体認識装置１は、視差値導出部３と、認識処理部５と、を備える。このうち、視差値導出部３は、画像取得部１００（取得手段）と、変換部２００と、パターン検出部３００ａ、３００ｂ（検出手段）と、加工処理部４００ａ、４００ｂ（変更手段）と、視差値演算処理部５００と、を有する。
【００５７】
画像取得部１００は、左右２台のカメラにより前方の被写体を撮像して、それぞれアナログの画像信号を生成し、各画像信号に基づく画像である２つの輝度画像を得る機能部である。画像取得部１００は、図１０に示す撮像部１０ａ及び撮像部１０ｂによって実現される。
【００５８】
変換部２００は、画像取得部１００により得られた２つの輝度画像の画像データに対して、ノイズの除去や、歪み補正（２つの輝度画像の平行化）等を施した後、デジタル形式の画像データに変換して出力する機能部である。デジタル形式の画像データは、例えば、８ビットのグレースケールの輝度値の画素で構成される。
【００５９】
ここで、変換部２００が出力する２つの輝度画像の画像データ（以下、単に、輝度画像と称する）のうち、画像取得部１００の右のカメラ（撮像部１０ａ）により撮像された基準画像Ｉａの画像データ（以下、単に、基準画像Ｉａと称する）とし、左のカメラ（撮像部１０ｂ）により撮像された比較画像Ｉｂの画像データ（以下、単に、比較画像Ｉｂと称する）とする。すなわち、変換部２００は、画像取得部１００から出力された２つの輝度画像に基づいて、基準画像Ｉａ及び比較画像Ｉｂを出力する。変換部２００は、図１０に示す信号変換部２０ａ、２０ｂによって実現される。
【００６０】
パターン検出部３００ａは、変換部２００から受信した基準画像Ｉａの中から、模様等が繰り返しのパターンとして表された繰り返しパターン領域を検出する機能部である。具体的に、パターン検出部３００ａは、基準画像Ｉａの各画素が繰り返しパターン領域に含まれるか否かの情報を検出フラグとして出力する。パターン検出部３００ａは、図１０に示すＦＰＧＡ３１によって実現される。
【００６１】
パターン検出部３００ｂは、変換部２００から受信した比較画像Ｉｂの中から繰り返しパターン領域を検出する機能部である。具体的に、パターン検出部３００ｂは、基準画像Ｉａの各画素が繰り返しパターン領域に含まれるか否かの情報を検出フラグとして出力する。パターン検出部３００ｂは、図１０に示すＦＰＧＡ３１によって実現される。
【００６２】
なお、パターン検出部３００ａ、３００ｂでの繰り返しパターン領域の検出方法は特に問わず、公知の技術を用いることが可能である。例えば、パターン検出部３００ａ、３００ｂは、参照画像を生成し、それと入力画像とを比較することによって繰り返しパターン領域を検出してもよい。また、例えば、パターン検出部３００ａ、３００ｂは、基準画像Ｉａ（比較画像Ｉｂ）の各画素値を対象画素値として順次取得し、当該対象画素にする画素間での輝度値の変化量に基づいて、繰り返しパターン領域を検出してもよい。また、パターン検出部３００ａとパターン検出部３００ｂとを一体化し、基準画像Ｉａと比較画像Ｉｂとを比較することで、両画像から繰り返しパターン領域を検出する構成としてもよい。
【００６３】
加工処理部４００ａは、変換部２００から受信した基準画像Ｉａと、パターン検出部３００ａから受信した検出フラグとに基づき、基準画像Ｉａに含まれた繰り返しパターン領域の画素値（輝度値）を変更するための処理を実行する。具体的には、加工処理部４００ａは、基準画像Ｉａの繰り返しパターン領域を構成する画素の輝度値を、当該画素の位置（以下、画素位置という）に応じて定まる変更量に基づき変更する。そして、加工処理部４００ａは、繰り返しパターン領域の輝度値を変更した基準画像Ｉａを、加工済基準画像Ｉａとして視差値演算処理部５００に出力する。なお、基準画像Ｉａに繰り返しパターン領域が含まれない場合には、当該基準画像Ｉａを加工済基準画像Ｉａとして視差値演算処理部５００に出力する。加工処理部４００ａは、図１０に示すＦＰＧＡ３１によって実現される。
【００６４】
ここで、輝度値の変更方法は種々の形態が可能である。図１２は、加工処理部４００ａによる輝度値の変更方法の一例を説明するための図である。まず、加工処理部４００ａは、パターン検出部３００ａから受信したフラグ情報に基づき、基準画像Ｉａから繰り返しパターン領域Ｒａを特定する（図１２（ａ）、（ｂ））。続いて、加工処理部４００ａは、基準画像Ｉａの繰り返しパターン領域Ｒａを構成する各画素について、エピポーラ線方向（図面横方向）の画素位置を特定し、その画素位置に応じて定まる変更量を各画素の輝度値に加算する。これにより、繰り返しパターン領域Ｒａの輝度値は、図１２（ｃ）に示すように、エピポーラ線方向に連続的に変化する。なお、画素位置の特定に係る基点は、繰り返しパターン領域Ｒａの左端であってもよいし、右端であってもよい。
【００６５】
図１３は、画素位置と輝度値の変更量との関係の一例を模式的に示す図である。また、図１４は、画素位置と輝度値の変更量との関係の他の例を模式的に示す図である。ここで、横軸は基点からの画素位置を意味し、縦軸は輝度値の変更量を意味する。
【００６６】
加工処理部４００ａは、図１３又は図１４に示した画素位置と輝度値の変更量との関係に基づき、繰り返しパターン領域Ｒａ内の各画素の輝度値に、その画素の画素位置に対応する変更量を加算する。例えば、加工処理部４００ａは、画素位置ｘ１に位置する画素の輝度値Ｐ１に、対応する変更量α１を加算することで、新たな輝度値Ｑ１（＝Ｐ１＋α１）に変更する。また、加工処理部４００ａは、画素位置ｘ２、ｘ３、…、ｘｎの各画素の輝度値Ｐ２、Ｐ３、…、Ｐｎに、対応する変更量α２、α３、…、αｎをそれぞれ加算することで、当該画素に新たな輝度値Ｑ２（＝Ｐ２＋α２）、Ｑ３（＝Ｐ３＋α３）、…、Ｑｎ（＝Ｐｎ＋αｎ）にそれぞれ変更する。
【００６７】
ここで、図１３の関係を用いる場合、加工処理部４００ａは、基点からの離間距離に応じて輝度値の変更量を増加させる。また、図１３の関係を用いる場合、加工処理部４００ａは、基点からの離間距離に応じて輝度値の変更量を減少させる。
【００６８】
なお、図１３、図１４で説明した画素位置と輝度値の変更量との関係は、テーブルや関係式の状態でＲＯＭ３３等に保持してもよい。また、図１３、図１４で説明した画素位置と輝度値の変更量との関係をトーン画像等の画像データの状態でＲＯＭ３３等に保持してもよい。前者の場合、加工処理部４００ａは、テーブルや関係式に基づいて画素位置毎の変更量を導出し、繰り返しパターン領域内の各画素の画素値を変更する。後者の場合、加工処理部４００ａは、トーン画像を繰り返しパターン領域に重畳することで、繰り返しパターン領域内の各画素の画素値を変更する。
【００６９】
また、他の変更方法として、基点となる端部の画素から反対の端部の画素に向かって、直前の画素の輝度値を次の画素の輝度値に順次加算していく方法を採用してもよい。この場合、例えば、画像処理部４０２は、エピポーラ線方向に連続して配置された画素位置ｘ１（輝度値Ｐ１）、ｘ２（輝度値Ｐ２）、ｘ３（輝度値Ｐ３）、…、ｘｎ（輝度値Ｐｎ）の各画素について、以下のように輝度値を変更する。
【００７０】
まず、画像処理部４０２は、画素位置ｘ２の画素の輝度値Ｐ２に、画素位置ｘ１の画素の輝度値Ｐ１を加算することで、画素位置ｘ２の画素を輝度値Ｑ２（＝Ｐ２＋Ｐ１）に変更する。次いで、画像処理部４０２は、画素位置ｘ３の画素の輝度値Ｐ３に、画素位置ｘ２の画素の輝度値Ｑ２を加算することで、画素位置ｘ３の画素を輝度値Ｑ３（＝Ｐ３＋Ｑ２）に変更する。そして、画像処理部４０２は、画素位置ｘｎの画素の輝度値Ｐｎに、画素位置ｘｎ−１の画素の輝度値Ｑｎ−１を加算することで、画素位置ｘｎの画素を輝度値Ｑｎ（＝Ｐｎ＋Ｑｎ−１）に変更する。
【００７１】
また、輝度値に対する変更量の演算方法は加算に限らず、減算、乗算、除算としてもよい。なお、輝度値の変更により、変更後の輝度値が飽和する場合がある。ここで、飽和とは、例えば、輝度値を２５６階調で表す場合、輝度値が０又は２５５等の極値や極値近傍に達した状態を意味する。飽和状態の輝度値が複数の画素に連続して設定されると、その部分で白とびや黒潰れが発生し、繰り返しパターン領域Ｒａが本来有していた図柄等の画像の特性が失われる。そこで、画像処理部４０２は、上記した輝度値の変更に際し、飽和状態の輝度値の連続設定を防ぐための制御を行う。
【００７２】
例えば、画像処理部４０２は、輝度値の変更により当該輝度値が飽和した場合、輝度値の変更に係る演算子を反対の意味の演算子に切り替える。具体的には、画像処理部４０２は、変更量を加算する演算方法により輝度値が飽和状態（上限値）に達した場合、変更量を減算する演算方法に切り替える。また、画像処理部４０２は、変更量を減算する演算方法により輝度値が飽和状態（下限値）に達した場合、変更量を加算する演算方法に切り替える。これにより、変更後の輝度値が飽和してしまうことを防ぐことができるため、繰り返しパターン領域Ｒａが有する本来の画像特性を保持することができる。
【００７３】
また、他の制御方法として、画像処理部４０２は、繰り返しパターン領域の探索方向の横幅と、当該繰り返しパターン領域内の各画素の輝度値の分布等とに基づいて、変更後の輝度値が飽和しないよう変更方法（変更量や演算方法）を決定してもよい。これにより、変更後の輝度値が飽和してしまうことを防ぐことができるため、繰り返しパターン領域Ｒａが有する本来の画像特性を保持することができる。
【００７４】
図１１に戻り、加工処理部４００ｂは、変換部２００から受信した比較画像Ｉｂと、パターン検出部３００ｂから受信した検出フラグとに基づき、比較画像Ｉｂに含まれた繰り返しパターン領域の画素値（輝度値）を変更するための処理を実行する。具体的には、加工処理部４００ｂは、加工処理部４００ａと同様の変更方法により、比較画像Ｉｂの繰り返しパターン領域を構成する画素の輝度値を、当該画素の画素位置に応じて定まる変更量に基づき変更する。そして、加工処理部４００ｂは、繰り返しパターン領域の輝度値を変更した比較画像Ｉｂを、加工済比較画像Ｉｂとして視差値演算処理部５００に出力する。なお、基準画像Ｉａに繰り返しパターン領域が含まれない場合には、当該基準画像Ｉａを加工済基準画像Ｉａとして視差値演算処理部５００に出力する。加工処理部４００ｂは、図１０に示すＦＰＧＡ３１によって実現される。
【００７５】
上記した加工処理部４００ａ、４００ｂの処理により、基準画像Ｉａ及び比較画像Ｉｂの繰り返しパターン領域を構成する画素の輝度値は、当該画素の画素位置に応じて定まる変更量に基づき変更される。そのため、例えば、図４（ａ）、（ｂ）で示した基準画像Ｉａ、比較画像Ｉｂに対し、加工処理部４００ａ、４００ｂが処理すると、図１５（ａ）、（ｂ）に示すように、ビル窓部分の繰り返しパターン領域Ｒａ、Ｒｂ内の各画素は、エピポーラ線方向（図面横方向）の画素位置に応じてその輝度値が変更される。
【００７６】
また、図６で基準領域ｐｂと類似関係にあった探索位置４、７、…、ｎの候補領域ｑｂに着目すると、図１６に示すように、探索位置４、７、…、ｎの各々において、候補領域ｑｂの輝度値が相違する。そのため、マッチング処理では、基準領域ｐｂと同様の輝度値を有する探索位置４の候補領域ｑｂの類似度が高くなる。また、他の探索位置７、…、ｎの候補領域ｑｂについては、基準領域ｐｂの輝度値と異なるため非類似度が高くなる。その結果、マッチング処理により得られるコスト値Ｃのグラフは、図１７に示すように、シフト量（探索位置）ｄ＝４が最小値となるため、コスト値Ｃの最小値を特定することができる。これにより、このコスト値Ｃの最小値から、最も確からしい適切な視差値を求めることができる。
【００７７】
なお、加工処理部４００ａ、４００ｂは、基準画像Ｉａ及び比較画像Ｉｂで検出された繰り返しパターン領域毎に、上述した輝度値の変更処理を行うものとする。
【００７８】
図１１に戻り、視差値演算処理部５００は、加工処理部４００ａ、４００ｂから受信した加工済基準画像Ｉａ及び加工済比較画像Ｉｂに基づいて、加工済基準画像Ｉａの各画素についての視差値を導出し、当該各画素に視差値を対応させた視差画像を生成する機能部である。視差値演算処理部５００は、生成した視差画像を、認識処理部５に出力する。
【００７９】
図１８に示すように、視差値演算処理部５００は、コスト算出部５０１（算出手段）と、導出部５０２（導出手段）と、を有する。
【００８０】
コスト算出部５０１は、図２で説明したマッチング処理により、加工済基準画像Ｉａ（第１画像）の基準領域ｐｂと、加工済比較画像Ｉｂ（第２画像）において基準領域ｐｂに対応する領域の候補となる複数の候補領域ｑｂそれぞれとの一致度をコスト値Ｃとして算出する。具体的には、コスト算出部５０１は、加工済基準画像Ｉａの基準画素ｐを中心とする所定領域である基準領域ｐｂと、加工済比較画像Ｉｂの候補画素ｑを中心とする候補領域ｑｂとの非類似度をコスト値Ｃとして算出する。なお、候補領域ｑｂの大きさは、基準領域ｐｂと同一であるとする。
【００８１】
導出部５０２は、コスト算出部５０１により算出されたコスト値Ｃの最小値に対応するシフト量ｄを、コスト値Ｃの算出の対象となった加工済基準画像Ｉａの画素についての視差値ｄｐとして導出する。
【００８２】
また、導出部５０２は、導出した視差値ｄｐに基づいて、加工済基準画像Ｉａの各画素の輝度値を、その画素に対応する視差値ｄｐで表した画像である視差画像を生成し、認識処理部５に出力する。なお、本実施形態では、導出部５０２は視差画像を出力する構成としたが、これに限らず、視差値ｄｐのみ、或いは視差値ｄｐを画像上の位置と対応付けたものを出力する構成としてもよい。
【００８３】
図１８に示すコスト算出部５０１及び導出部５０２は、それぞれ図１０に示すＦＰＧＡ３１によって実現される。なお、コスト算出部５０１及び導出部５０２の一部又は全部は、ハードウェア回路であるＦＰＧＡ３１ではなく、ＲＯＭ３３に記憶されているプログラムがＣＰＵ３２によって実行されることによって実現されるものとしてもよい。
【００８４】
また、図１８に示す視差値演算処理部５００のコスト算出部５０１及び導出部５０２は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図１８で独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図１８の１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【００８５】
図１１に戻り、認識処理部５は、視差値導出部３から出力された視差画像に基づいて、撮像部１０ａ、１０ｂから物体Ｅまでの距離を測定する等の各種認識処理を行い、認識処理の結果を示す情報である認識情報を、車両制御装置６に出力する。
【００８６】
なお、図１１に示す視差値導出部３の画像取得部１００、変換部２００、パターン検出部３００ａ、３００ｂ、加工処理部４００ａ、４００ｂ及び視差値演算処理部５００は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図１１に示す視差値導出部３において独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図１１に示す視差値導出部３において１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。また、視差値導出部３から視差値ｄｐ、或いは視差値ｄｐを画像上の位置と対応付けたものが出力される構成の場合、認識処理部５は、これらの情報を用いて上記した各種認識処理を行うものとする。
【００８７】
（視差値導出部のブロックマッチング処理）
以下、視差値導出部３の動作について説明する。図１９は、視差値導出部３のブロックマッチング処理の動作の一例を示すフローチャートである。図１９を参照しながら、物体認識装置１の視差値導出部３のブロックマッチング処理の動作の流れについて説明する。
【００８８】
＜ステップＳ１−１＞
視差値導出部３の画像取得部１００は、右のカメラ（撮像部１０ａ）により前方の被写体を撮像して、それぞれアナログの画像信号を生成し、その画像信号に基づく画像である輝度画像を得る。これによって、後段の画像処理の対象となる画像信号が得られることになる。そして、ステップＳ２−１へ移行する。
【００８９】
＜ステップＳ１−２＞
視差値導出部３の画像取得部１００は、左のカメラ（撮像部１０ｂ）により前方の被写体を撮像して、それぞれアナログの画像信号を生成し、その画像信号に基づく画像である輝度画像を得る。これによって、後段の画像処理の対象となる画像信号が得られることになる。そして、ステップＳ２−２へ移行する。
【００９０】
＜ステップＳ２−１＞
視差値導出部３の変換部２００は、撮像部１０ｂにより撮像されて得られたアナログの画像信号に対して、ノイズの除去、歪み補正等を行い、デジタル形式の画像データに変換する。このように、デジタル形式の画像データに変換することによって、その画像データに基づく画像に対して画素ごとの画像処理が可能となる。そして、ステップＳ３−１へ移行する。
【００９１】
＜ステップＳ２−２＞
視差値導出部３の変換部２００は、撮像部１０ａにより撮像されて得られたアナログの画像信号に対して、ノイズの除去、歪み補正等を行い、デジタル形式の画像データに変換する。このように、デジタル形式の画像データに変換することによって、その画像データに基づく画像に対して画素ごとの画像処理が可能となる。そして、ステップＳ３−２へ移行する。
【００９２】
＜ステップＳ３−１＞
視差値導出部３の変換部２００は、ステップＳ２−１において変換したデジタル形式の画像データに基づく画像をブロックマッチング処理における基準画像Ｉａとして出力する。これによって、ブロックマッチング処理において視差値を求めるための基準となる画像を得る。そして、ステップＳ４−１へ移行する。
【００９３】
＜ステップＳ３−２＞
視差値導出部３の変換部２００は、ステップＳ２−２において変換したデジタル形式の画像データに基づく画像をブロックマッチング処理における比較画像Ｉｂとして出力する。これによって、ブロックマッチング処理において視差値を求めるための比較対象となる画像を得る。そして、ステップＳ４−２へ移行する。
【００９４】
＜ステップＳ４−１＞
視差値導出部３のパターン検出部３００ａは、ステップＳ３−１で得られた基準画像Ｉａから繰り返しパターン領域を検出する。これによって、パターン検出部３００ａは、基準画像Ｉａからミスマッチングの原因となる領域を特定する。そして、ステップＳ５−１へ移行する。
【００９５】
＜ステップＳ４−２＞
視差値導出部３のパターン検出部３００ｂは、ステップＳ３−２で得られた比較画像Ｉｂから繰り返しパターン領域を検出する。これによって、パターン検出部３００ｂは、比較画像Ｉｂからミスマッチングの原因となる領域を特定する。そして、ステップＳ５−２へ移行する。
【００９６】
＜ステップＳ５−１＞
視差値導出部３の加工処理部４００ａは、ステップＳ４−１で検出された繰り返しパターン領域を構成する画素の輝度値を、当該画素の画素位置に応じて変更する。これによって、繰り返しパターン領域を構成する画素の輝度値は、その画素位置に応じた変更量によって変更される。そして、ステップＳ６へ移行する。
【００９７】
＜ステップＳ５−２＞
視差値導出部３の加工処理部４００ｂは、ステップＳ４−２で検出された繰り返しパターン領域を構成する画素の輝度値を、当該画素の画素位置に応じて変更する。これによって、繰り返しパターン領域を構成する画素の輝度値は、その画素位置に応じた変更量によって変更される。そして、ステップＳ６へ移行する。
【００９８】
＜ステップＳ６＞
視差値導出部３の視差値演算処理部５００のコスト算出部５０１は、ブロックマッチング処理により、加工済基準画像Ｉａの基準領域ｐｂと、加工済比較画像Ｉｂの候補領域ｑｂとの非類似度をコスト値Ｃとして算出する。そして、ステップＳ７へ進む。
【００９９】
＜ステップＳ７＞
視差値導出部３の視差値演算処理部５００の導出部５０２は、コスト算出部５０１により算出されたコスト値Ｃの最小値に対応するシフト量ｄを、コスト値Ｃの算出の対象となった加工済基準画像Ｉａの画素についての視差値ｄｐとして導出する。そして、視差値導出部３の視差値演算処理部５００の導出部５０２は、導出した視差値ｄｐに基づいて、加工済基準画像Ｉａの各画素の輝度値を、その画素に対応する視差値ｄｐで表した画像である視差画像を生成する。導出部５０２は、生成した視差画像を、認識処理部５に出力する。
【０１００】
以上のように、本実施形態によれば、視差値導出部３の加工処理部４００ａ、４００ｂは、基準画像Ｉａ（第１画像）及び比較画像Ｉｂ（第２画像）から検出された繰り返しパターン領域を構成する画素の画素値（輝度値）を、当該画素の画素位置に応じて定まる変更量に基づき変更する。そして、視差値導出部３の視差値演算処理部５００は、輝度値が変更された加工済基準画像Ｉａと加工済比較画像Ｉｂからコスト値及び視差値を導出し、当該視差値に基づいて視差画像を生成する。これにより、基準画像Ｉａ及び比較画像Ｉｂの画像中に繰り返しパターンが存在する場合であっても、コスト値Ｃの最小値を特定することができるため、適切な視差値を求めることができる。また、適切な視差値を用いて視差画像を生成することができるため、「誤踏み」を防止することができる。
【０１０１】
以上、本発明の実施形態を説明したが、上記実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、追加等を行うことができる。また、上記実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１０２】
例えば、上記実施形態では、車両７０としての自動車に搭載される物体認識装置１について説明したが、これに限定されるものではない。例えば、他の車両の一例としてバイク、自転車、車椅子又は農業用の耕運機等の車両に搭載されるものとしてもよい。また、移動体の一例としての車両だけでなく、ロボット等の移動体であってもよい。
【０１０３】
さらに、ロボットは、移動体だけでなく、ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）において固定設置される工業用ロボット等の装置であってもよい。また、固定設置される装置としては、ロボットだけでなく、防犯用の監視カメラ等であってもよい。
【０１０４】
また、上記実施形態では、ステレオマッチング処理として、ブロックマッチング処理を例として説明したが、これに限定されるものではなく、ＳＧＭ（Ｓｅｍｉ−Ｇｌｏｂａｌ  Ｍａｔｃｈｉｎｇ）法を用いた処理であってもよい。
【０１０５】
なお、上記実施形態において、物体認識装置１のパターン検出部３００ａ、３００ｂ、加工処理部４００ａ、４００ｂ、及び視差値演算処理部５００の少なくとも何れかがプログラムの実行によって実現される場合、そのプログラムは、ＲＯＭ等に予め組み込まれて提供される。
【０１０６】
また、上述の実施形態に係る物体認識装置１で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上述の実施形態の物体認識装置１で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施形態の物体認識装置１で実行されるプログラムを、インターネット等のネットワーク経由で提供又は配布するように構成してもよい。
【０１０７】
また、上述の実施形態の物体認識装置１で実行されるプログラムは、上述した各機能部の何れかを含むモジュール構成となっている。実際のハードウェアとしては、ＣＰＵ３２がＲＯＭ３３からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置（ＲＡＭ３４等）上にロードされて生成される。
【符号の説明】
【０１０８】
１  物体認識装置
２  本体部
３  視差値導出部
４  通信線
５  認識処理部
６  車両制御装置
７  ステアリングホイール
８  ブレーキペダル
１０ａ、１０ｂ  撮像部
１１ａ、１１ｂ  撮像レンズ
１２ａ、１２ｂ  絞り
１３ａ、１３ｂ  画像センサ
２０ａ、２０ｂ  信号変換部
２１ａ、２１ｂ  ＣＤＳ
２２ａ、２２ｂ  ＡＧＣ
２３ａ、２３ｂ  ＡＤＣ
２４ａ、２４ｂ  フレームメモリ
３０  画像処理部
３１  ＦＰＧＡ
３２  ＣＰＵ
３３  ＲＯＭ
３４  ＲＡＭ
３５  Ｉ／Ｆ
３９  バスライン
５１  ＦＰＧＡ
５２  ＣＰＵ
５３  ＲＯＭ
５４  ＲＡＭ
５５  Ｉ／Ｆ
５８  ＣＡＮＩ／Ｆ
５９  バスライン
６０  機器制御システム
７０  車両
１００  画像取得部
２００  変換部
３００ａ、３００ｂ  パターン検出部
４００ａ、４００ｂ  加工処理部
５００  視差値演算処理部
５０１  コスト算出部
５０２  導出部
【先行技術文献】
【特許文献】
【０１０９】
【特許文献１】特許第５４０９２３７号公報
【特許文献２】特許第４８５６６１１号公報
【図１】
0006701738.tif 000002
【図２】
0006701738.tif 000003
【図３】
0006701738.tif 000004
【図４】
0006701738.tif 000005
【図５】
0006701738.tif 000006
【図６】
0006701738.tif 000007
【図７】
0006701738.tif 000008
【図８】
0006701738.tif 000009
【図９】
0006701738.tif 000010
【図１０】
0006701738.tif 000011
【図１１】
0006701738.tif 000012
【図１２】
0006701738.tif 000013
【図１３】
0006701738.tif 000014
【図１４】
0006701738.tif 000015
【図１５】
0006701738.tif 000016
【図１６】
0006701738.tif 000017
【図１７】
0006701738.tif 000018
【図１８】
0006701738.tif 000019
【図１９】
0006701738.tif 000020