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