JP6701905B2 - 検出装置、視差値導出装置、物体認識装置、機器制御システム、およびプログラム - Google Patents

検出装置、視差値導出装置、物体認識装置、機器制御システム、およびプログラム Download PDF

Info

Publication number
JP6701905B2
JP6701905B2 JP2016079780A JP2016079780A JP6701905B2 JP 6701905 B2 JP6701905 B2 JP 6701905B2 JP 2016079780 A JP2016079780 A JP 2016079780A JP 2016079780 A JP2016079780 A JP 2016079780A JP 6701905 B2 JP6701905 B2 JP 6701905B2
Authority
JP
Japan
Prior art keywords
unit
value
image
pixel
pixel value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016079780A
Other languages
English (en)
Other versions
JP2017027578A (ja
Inventor
洋義 関口
洋義 関口
栄太 渡邊
栄太 渡邊
直樹 本橋
直樹 本橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to EP16174586.4A priority Critical patent/EP3115965B1/en
Publication of JP2017027578A publication Critical patent/JP2017027578A/ja
Application granted granted Critical
Publication of JP6701905B2 publication Critical patent/JP6701905B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Measurement Of Optical Distance (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Description

本発明は、検出装置、視差値導出装置、物体認識装置、機器制御システム、およびプログラムに関する。
従来、自動車の安全性において、歩行者と自動車とが衝突したときに、いかに歩行者を守れるか、および、乗員を保護できるかの観点から、自動車のボディー構造等の開発が行われてきた。しかしながら、近年、情報処理技術および画像処理技術の発達により、高速に人および自動車を検出する技術が開発されてきている。これらの技術を応用して、自動車が物体に衝突する前に自動的にブレーキをかけ、衝突を未然に防ぐという自動車もすでに開発されている。自動的にブレーキをかけるには、人または他車等の物体までの距離を正確に測定する必要があり、そのためには、ミリ波レーダおよびレーザレーダによる測距、ならびに、ステレオカメラによる測距等が実用化されている。
2つの異なる視点から撮像を行ない2つの画像を取得する撮像手段を備えたステレオカメラを用い、視差画像を求めることによって、人および他車等の物体の三次元的な位置および大きさを正確に検出し、物体までの距離を測定することができる。撮像した撮像画像のある画素についての視差を求める際には、基準となる基準画像のある画素に対応する画素が、比較画像における探索範囲のうちのどの位置にあるかを探すためのマッチング処理を実行する。そして、探索範囲のマッチング処理が全て終了した後で、最もマッチングがとれている位置を最も確からしい視差値として決定する。
しかし、ビル窓、タイル壁またはフェンス等のように、外観および模様等に繰り返しのパターン(以下、繰り返しパターンと称する)を持つ物体を画像で取得し、その物体の視差を算出する過程では、マッチングがとれている箇所が2箇所以上出現する場合があり、最も確からしい視差値を誤って決定することがある。このような現象が生じると、例えば、実際は遠くにある物体(繰り返しパターンを持つ)であるのに、あたかも近くにあるような誤った距離が測定されてしまう。すると、例えば、ステレオカメラにより測距によって近くの距離にある物体を検出した場合に自動的に車両にブレーキを踏ませるシステムでは、ブレーキを踏む必要がない場所で誤ってブレーキが踏まれてしまういわゆる「誤踏み」を引き起こしてしまう。
このような、繰り返しパターンによる弊害に関連して、参照画像を生成し、それと入力画像とを比較することによって、繰り返しパターンを検出する比較手段を設けた技術が提案されている(特許文献1)。
しかしながら、特許文献1に記載された技術は、繰り返しパターンを検出するために、画像同士を比較する処理を有するため、実使用上は、画像処理の負荷の増大、およびそれによる画像処理回路が増大するという問題点があった。
本発明は、上記に鑑みてなされたものであって、比較的軽い画像処理の負荷でパターンの検出を行うことができる検出装置、視差値導出装置、物体認識装置、機器制御システム、およびプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、撮像手段が被写体を撮像することにより得られた撮像画像の各画素値をそれぞれ対象画素値として取得する取得手段と、前記対象画素値を基準とする所定の探索範囲に含まれる前記画素値の変化を示すグラフの傾きを算出する傾き算出手段と、前記傾きに基づいて、前記画素値の極値を検出する極値検出手段と、前記極値検出手段によって前記探索範囲に含まれる前記画素値から検出された極値のうち、所定の範囲に含まれる極値の個数をカウントするカウント手段と、前記個数が所定の閾値以上である場合、前記対象画素値に対応する画素が、前記撮像画像の繰り返しパターンの画像領域に含まれると判断する判断手段と、前記極値検出手段により検出された極値に基づいて、前記所定の範囲として閾値範囲を設定する設定手段と、を備え、前記極値検出手段は、前記傾きに基づいて、前記画素値の極大値および極小値を検出し、前記設定手段は、前記極値検出手段により検出された前記極大値に基づいて、前記閾値範囲としての第1範囲を設定し、前記極値検出手段により検出された前記極小値に基づいて、前記閾値範囲としての第2範囲を設定し、前記カウント手段は、前記極値検出手段によって前記探索範囲に含まれる前記画素値から検出された前記極大値のうち、前記第1範囲に含まれる前記極大値の個数である第1個数をカウントし、前記極値検出手段によって前記探索範囲に含まれる前記画素値から検出された前記極小値のうち、前記第2範囲に含まれる前記極小値の個数である第2個数をカウントし、前記判断手段は、前記第1個数および前記第2個数の少なくともいずれかに基づいて、前記対象画素値に対応する画素が、前記繰り返しパターンの画像領域に含まれるか否かを判断し、前記設定手段は、前記探索範囲外で前記極値検出手段により検出された極値に基づいて、前記閾値範囲を設定することを特徴とする。
本発明によれば、比較的軽い画像処理の負荷でパターンの検出を行うことができる。
図1は、撮像部から物体までの距離を導き出す原理を説明する図である。 図2は、基準画像における基準画素に対応する比較画像における対応画素を求める場合の説明図である。 図3は、マッチング処理結果のグラフの一例を示す図である。 図4は、マッチング処理結果のグラフの別の一例を示す図である。 図5は、第1の実施の形態に係る機器制御システムを車両に搭載した例を示す図である。 図6は、第1の実施の形態に係る物体認識装置の外観の一例を示す図である。 図7は、第1の実施の形態に係る物体認識装置のハードウェア構成の一例を示す図である。 図8は、第1の実施の形態に係る物体認識装置の機能ブロック構成の一例を示す図である。 図9は、第1の実施の形態に係る物体認識装置のパターン検出部の機能ブロック構成の一例を示す図である。 図10は、第1の実施の形態に係る物体認識装置の視差値演算処理部の機能ブロック構成の一例を示す図である。 図11は、第1の実施の形態に係る視差値導出部のブロックマッチング処理の動作の一例を示すフローチャートである。 図12は、第1の実施の形態に係る視差値導出部の繰り返しパターン検出処理の動作の一例を示すフローチャートである。 図13は、基準画像の輝度値(画素値)のグラフの一例を示す図である。 図14は、第2の実施の形態に係る物体認識装置のパターン検出部の機能ブロック構成の一例を示す図である。 図15は、対象外領域が特定された画像の一例を示す図である。 図16は、低周波成分が存在する輝度値のグラフの一例を示す図である。 図17は、第3の実施の形態に係る物体認識装置の機能ブロック構成の一例を示す図である。 図18は、高域強調フィルタの一例を示す図である。 図19は、第3の実施の形態に係る物体認識装置のフィルタ処理部によるフィルタ処理後のグラフの一例を示す図である。 図20は、高域強調フィルタの別の一例を示す図である。 図21は、第3の実施の形態に係る物体認識装置のフィルタ処理部によるフィルタ処理後のグラフの別の一例を示す図である。 図22は、繰り返し部分と平坦な部分とを含む輝度値のグラフの一例を示す図である。 図23は、周期が異なる輝度値のグラフの一例を示す図である。 図24は、第5の実施の形態に係る物体認識装置のパターン検出部の機能ブロック構成の一例を示す図である。 図25は、画像のラインをN領域に分割する状態を示す図である。 図26は、第6の実施の形態に係る物体認識装置の機能ブロック構成の一例を示す図である。 図27は、第6の実施の形態に係る物体認識装置の棄却部の機能ブロック構成の一例を示す図である。 図28は、第6の実施の形態に係る認識処理部のクラスタリング部のクラスタリング処理の動作を説明する図である。 図29は、第6の実施の形態に係る認識処理部のクラスタリング部のクラスタリング処理の動作を説明する図である。 図30は、クラスタリング処理により抽出された部分画像の例を示す図である。 図31は、第6の実施の形態に係る認識処理部の棄却部の棄却判定処理の動作の一例を示すフローチャートである。 図32は、第7の実施の形態に係る認識処理部の棄却部の棄却判定処理の動作の一例を示すフローチャートである。 図33は、第7の実施の形態の変形例に係る認識処理部の棄却部の棄却判定処理の動作の一例を示すフローチャートである。 図34は、第7の実施の形態の変形例での輝度値についてのフーリエ変換について説明する図である。 図35は、第8の実施の形態に係る物体認識装置の棄却部の機能ブロック構成の一例を示す図である。 図36は、第8の実施の形態の棄却部の棄却判定部の機能ブロック構成の一例を示す図である。 図37は、第8の実施の形態の棄却判定部のヒストグラム生成部が生成するヒストグラムの一例を示す図である。 図38は、第8の実施の形態に係る認識処理部の棄却部の棄却判定処理の動作の一例を示すフローチャートである。 図39は、第9の実施の形態の棄却部の棄却判定部の機能ブロック構成の一例を示す図である。 図40は、第9の実施の形態に係る認識処理部の棄却部の棄却判定処理の動作の一例を示すフローチャートである。
[ブロックマッチング処理を用いた測距方法の概略]
まず、図1〜4を用いて、ブロックマッチング処理による測距方法の概略について説明する。
(測距の原理)
図1は、撮像部から物体までの距離を導き出す原理を説明する図である。図1を参照しながら、ステレオマッチング処理により、ステレオカメラから物体に対する視差を導出し、この視差を示す視差値によって、ステレオカメラから物体までの距離を測定する原理について説明する。
図1に示す撮像システムは、平行等位に配置された撮像部10a(撮像手段)と撮像部10b(別の撮像手段)とを有するものとする。撮像部10a、10bは、それぞれ、入射する光を屈折させて物体の像を固体撮像素子である画像センサに結像させる撮像レンズ11a、11bを有する。撮像部10aおよび撮像部10bによって撮像された各画像を、それぞれ基準画像Iaおよび比較画像Ibとする。図1において、3次元空間内の物体E上の点Sは、基準画像Iaおよび比較画像Ibそれぞれにおいて、撮像レンズ11aと撮像レンズ11bとを結ぶ直線と平行な直線上の位置に写像される。ここで、各画像に写像された点Sを、基準画像Iaにおいて点Sa(x,y)とし、比較画像Ibにおいて点Sb(X,y)とする。このとき、視差値dpは、基準画像Ia上の座標における点Sa(x,y)と比較画像Ib上の座標における点Sb(X,y)とを用いて、以下の(式1)のように表される。
dp=X−x ・・・(式1)
また、図1において、基準画像Iaにおける点Sa(x,y)と撮像レンズ11aから撮像面上におろした垂線の交点との距離をΔaとし、比較画像Ibにおける点Sb(X,y)と撮像レンズ11bから撮像面上におろした垂線の交点との距離をΔbにすると、視差値dpは、dp=Δa+Δbと表すこともできる。
次に、視差値dpを用いることにより、撮像部10a、10bと物体Eとの間の距離Zを導出する。ここで、距離Zは、撮像レンズ11aの焦点位置と撮像レンズ11bの焦点位置とを結ぶ直線から物体E上の点Sまでの距離である。図1に示すように、撮像レンズ11aおよび撮像レンズ11bの焦点距離f、撮像レンズ11aと撮像レンズ11bとの間の長さである基線長B、および視差値dpを用いて、下記の(式2)により、距離Zを算出することができる。
Z=(B×f)/dp ・・・(式2)
この(式2)により、視差値dpが大きいほど距離Zは小さく、視差値dpが小さいほど距離Zは大きくなることがわかる。
(ブロックマッチング処理)
次に、図2〜4を用いて、ブロックマッチング処理による測距方法について説明する。
図2は、基準画像における基準画素に対応する比較画像における対応画素を求める場合の説明図である。図3は、マッチング処理結果のグラフの一例を示す図である。図4は、マッチング処理結果のグラフの別の一例を示す図である。
図2〜4を参照しながら、コスト値C(p,d)の算出方法について説明する。なお、以降、C(p,d)は、C(x,y,d)を表すものとして説明する。
図2のうち、図2(a)は、基準画像Iaにおける基準画素pおよび基準領域pbを示す概念図を示し、図2(b)は、図2(a)に示す基準画素pに対応する比較画像Ibにおける対応画素の候補を順次シフトしながら(ずらしながら)、コスト値Cを算出する際の概念図である。ここで、対応画素とは、基準画像Iaにおける基準画素pに最も類似する比較画像Ibにおける画素を示す。また、コスト値Cとは、基準画像Iaにおける基準画素pに対する、比較画像Ibにおける各画素の類似度または非類似度を表す評価値(一致度)である。以下に示すコスト値Cは、値が小さいほど、比較画像Ibにおける画素が基準画素pと類似していることを示す非類似度を表す評価値であるものとして説明する。
図2(a)に示すように、基準画像Iaにおける基準画素p(x,y)、および、基準画素p(x,y)に対する比較画像Ibにおけるエピポーラ線EL上の対応画素の候補である候補画素q(x+d,y)の各輝度値(画素値)に基づいて、基準画素p(x,y)に対する対応画素の候補画素q(x+d,y)のコスト値C(p,d)が算出される。dは、基準画素pと候補画素qとのシフト量(ずれ量)であり、シフト量dは、画素単位でシフトされる。すなわち、図3では、候補画素q(x+d,y)を予め指定された範囲(例えば、0<d<25)において順次一画素分シフトしながら、候補画素q(x+d,y)と基準画素p(x,y)との輝度値の非類似度であるコスト値C(p,d)が算出される。また、基準画素pの対応画素を求めるためマッチング処理として、本実施の形態ではブロックマッチング処理を行う。ブロックマッチング処理では、基準画像Iaの基準画素pを中心とする所定領域である基準領域pbと、比較画像Ibの候補画素qを中心とする候補領域qb(大きさは基準領域pbと同一)との非類似度を求める。基準領域pbと候補領域qbとの非類似度を示すコスト値Cとしては、SAD(Sum of Absolute Difference)、SSD(Sum of Squared Difference)、または、SSDの値から各ブロックの平均値を減算したZSSD(Zero−mean−Sum of Squared Difference)等が用いられる。これらの評価値は、相関が高い(類似の度合いが高い)ほど、値が小さくなるので非類似度を示す。
なお、上述のように、撮像部10a、10bは、それぞれ平行等位に配置されるため、基準画像Iaおよび比較画像Ibも、それぞれ平行等位の関係にある。したがって、基準画像Iaにおける基準画素pに対応する比較画像Ibにおける対応画素は、図2に紙面視横方向の線として示されるエピポーラ線EL上に存在することになり、比較画像Ibにおける対応画素を求めるためには、比較画像Ibのエピポーラ線EL上の画素を探索すればよい。
このようなブロックマッチング処理で算出されたコスト値C(p,d)は、シフト量dとの関係で、例えば、図3に示すグラフにより表される。図3の例では、コスト値Cは、シフト量d=7の場合が最小値となるため、視差値dp=7として導出される。
ただし、ビル窓、タイル壁またはフェンス等のように、外観および模様等に繰り返しパターンを持つ物体を含む画像では、その物体の視差を算出する過程で、マッチングがとれている箇所が2箇所以上出現する場合があり、最も確からしい視差値を誤って決定することがある。例えば、ブロックマッチング処理により得られた図4に示すコスト値Cのグラフでは、被写体の繰り返しパターンによってコスト値Cが周期的に上下し、コスト値Cの最小値から最も確からしい視差値dpを特定することができない。このような現象が生じると、例えば、実際は遠くにある物体(繰り返しパターンを持つ)であるのに、あたかも近くにあるような誤った距離(視差値dp)が測定されてしまう。すると、例えば、ステレオカメラにより測距によって近くの距離にある物体を検出した場合に自動的に車両にブレーキを踏ませるシステムでは、ブレーキを踏む必要がない場所で誤ってブレーキが踏まれてしまういわゆる「誤踏み」を引き起こしてしまう。このように、繰り返しパターンの画像領域に含まれる画素の視差値(距離)は信頼性が低いことになる。
以下の実施の形態では、基準画像Iaの輝度値(画素値)を利用して、基準画像Iaに含まれる画素が繰り返しパターンの画像領域に含まれるか否かを検出する処理(以下、繰り返しパターン検出処理と称する)の詳細について説明する。以下に、図5〜25を参照しながら、本発明に係る検出装置、視差値導出装置、物体認識装置、機器制御システム、検出方法、およびプログラムの実施の形態を詳細に説明する。また、以下の実施の形態によって本発明が限定されるものではなく、以下の実施の形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施の形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
[第1の実施の形態]
以下、図5〜13を用いて、第1の実施の形態の具体的な説明をする。ここでは、ブロックマッチング処理を行う物体認識装置1が自動車に搭載される場合を例に説明する。
(物体認識装置を備えた車両の概略構成)
図5は、第1の実施の形態に係る機器制御システムを車両に搭載した例を示す図である。図5を参照しながら、本実施の形態に機器制御システム60を搭載した車両70について説明する。図5のうち、図5(a)は、機器制御システム60を搭載した車両70の側面図であり、図5(b)は、車両70の正面図である。
図5に示すように、自動車である車両70は、機器制御システム60を備えている。機器制御システム60は、車両70の居室空間である車室に設置された物体認識装置1と、車両制御装置6(制御装置)と、ステアリングホイール7と、ブレーキペダル8と、を備えている。
物体認識装置1は、車両70の進行方向を撮像する撮像機能を有し、例えば、車両70のフロントウィンドウ内側のバックミラー近傍に設置される。物体認識装置1は、詳細は後述するが、本体部2と、本体部2に固定された撮像部10aと、撮像部10bとを備えている。撮像部10a、10bは、車両70の進行方向の被写体を撮像できるように本体部2に固定されている。
車両制御装置6は、物体認識装置1から受信した認識情報により、各種車両制御を実行するECU(Electronic Control Unit)である。車両制御装置6は、車両制御の例として、物体認識装置1から受信した認識情報に基づいて、ステアリングホイール7を含むステアリング系統(制御対象の一例)を制御して障害物を回避するステアリング制御、または、ブレーキペダル8(制御対象の一例)を制御して車両70を減速および停止させるブレーキ制御等を実行する。
このような物体認識装置1および車両制御装置6を含む機器制御システム60のように、ステアリング制御またはブレーキ制御等の車両制御が実行されることによって、車両70の運転の安全性を向上することができる。
なお、上述のように、物体認識装置1は、車両70の前方を撮像するものとしたが、これに限定されるものではない。すなわち、物体認識装置1は、車両70の後方または側方を撮像するように設置されるものとしてもよい。この場合、物体認識装置1は、車両70の後方の後続車、または側方を並進する他の車両等の位置を検出することができる。そして、車両制御装置6は、車両70の車線変更時または車線合流時等における危険を検知して、上述の車両制御を実行することができる。また、車両制御装置6は、車両70の駐車時等におけるバック動作において、物体認識装置1によって出力された車両70の後方の障害物についての認識情報に基づいて、衝突の危険があると判断した場合に、上述の車両制御を実行することができる。
(物体認識装置の構成)
図6は、第1の実施の形態に係る物体認識装置の外観の一例を示す図である。図6に示すように、物体認識装置1は、上述のように、本体部2と、本体部2に固定された撮像部10aと、撮像部10bとを備えている。撮像部10a、10bは、本体部2に対して平行等位に配置された一対の円筒形状のカメラで構成されている。また、説明の便宜上、図6に示す撮像部10aを「右」のカメラと称し、撮像部10bを「左」のカメラと称するものとする。
<物体認識装置のハードウェア構成>
図7は、第1の実施の形態に係る物体認識装置のハードウェア構成の一例を示す図である。図7を参照しながら、物体認識装置1のハードウェア構成について説明する。
図7に示すように、物体認識装置1(物体認識装置の一例)は、本体部2において、視差値導出部3(視差値導出装置の一例)および認識処理部5(認識手段)を備えている。
このうち、視差値導出部3は、物体Eを撮像して得られた複数の画像から、物体Eに対する視差を示す視差値dpを導出し、各画素における視差値dpを示す視差画像を出力する。認識処理部5は、視差値導出部3から出力された視差画像に基づいて、撮像部10a、10bから物体Eまでの距離を測定する等の処理を行なう。
図7に示すように、視差値導出部3は、撮像部10aと、撮像部10bと、信号変換部20aと、信号変換部20bと、画像処理部30と、を備えている。
撮像部10aは、前方の被写体を撮像してアナログの画像信号を生成する処理部である。撮像部10aは、撮像レンズ11aと、絞り12aと、画像センサ13aと、を備えている。
撮像レンズ11aは、入射する光を屈折させて物体の像を画像センサ13aに結像させるための光学素子である。絞り12aは、撮像レンズ11aを通過した光の一部を遮ることによって、画像センサ13aに入力する光の量を調整する部材である。画像センサ13aは、撮像レンズ11aに入射し、絞り12aを通過した光を電気的なアナログの画像信号に変換する半導体素子である。画像センサ13aは、例えば、CCD(Charge Coupled Devices)またはCMOS(Complementary Metal Oxide Semiconductor)等の固体撮像素子によって実現される。
撮像部10bは、前方の被写体を撮像してアナログの画像信号を生成する処理部である。撮像部10bは、撮像レンズ11bと、絞り12bと、画像センサ13bと、を備えている。なお、撮像レンズ11b、絞り12bおよび画像センサ13bの機能は、それぞれ上述した撮像レンズ11a、絞り12aおよび画像センサ13aの機能と同様である。また、撮像レンズ11aおよび撮像レンズ11bは、左右のカメラが同一の条件で撮像されるように、それぞれのレンズ面が互いに同一平面上にあるように設置されている。
信号変換部20aは、撮像部10aにより生成されたアナログの画像信号を、デジタル形式の画像データに変換する処理部である。信号変換部20aは、CDS(Correlated Double Sampling)21aと、AGC(Auto Gain Control)22aと、ADC(Analog Digital Converter)23aと、フレームメモリ24aと、を備えている。
CDS21aは、画像センサ13aにより生成されたアナログの画像信号に対して、相関二重サンプリング、横方向の微分フィルタ、または縦方向の平滑フィルタ等によりノイズを除去する。AGC22aは、CDS21aによってノイズが除去されたアナログの画像信号の強度を制御する利得制御を行う。ADC23aは、AGC22aによって利得制御されたアナログの画像信号をデジタル形式の画像データに変換する。フレームメモリ24aは、ADC23aによって変換された画像データを記憶する。
信号変換部20bは、撮像部10bにより生成されたアナログの画像信号を、デジタル形式の画像データに変換する処理部である。信号変換部20bは、CDS21bと、AGC22bと、ADC23bと、フレームメモリ24bと、を備えている。なお、CDS21b、AGC22b、ADC23bおよびフレームメモリ24bの機能は、それぞれ上述したCDS21a、AGC22a、ADC23aおよびフレームメモリ24aの機能と同様である。
画像処理部30は、信号変換部20aおよび信号変換部20bによって変換された画像データに対して画像処理をする装置である。画像処理部30は、FPGA(Field Programmable Gate Array)31と、CPU(Central Processing Unit)32と、ROM(Read Only Memory)33と、RAM(Random Access Memory)34と、I/F(Interface)35と、バスライン39と、を備えている。
FPGA31は、集積回路であり、ここでは、画像データに基づく画像における視差値dpを導出する処理を行う。CPU32は、視差値導出部3の各機能を制御する。ROM33は、CPU32が視差値導出部3の各機能を制御するために実行する画像処理用プログラムを記憶している。RAM34は、CPU32のワークエリアとして使用される。I/F35は、認識処理部5におけるI/F55と、通信線4とを介して通信するためのインターフェースである。バスライン39は、図7に示すように、FPGA31、CPU32、ROM33、RAM34およびI/F35が互いに通信可能となるように接続するアドレスバスおよびデータバス等である。
なお、画像処理部30は、視差値dpを導出する集積回路としてFPGA31を備えるものとしているが、これに限定されるものではなく、ASIC(Application Specific Integrated Circuit)等の集積回路であってもよい。
図7に示すように、認識処理部5は、FPGA51と、CPU52と、ROM53と、RAM54と、I/F55と、CAN(Controller Area Network)I/F58と、バスライン59と、を備えている。
FPGA51は、集積回路であり、ここでは、画像処理部30から受信した視差画像に基づいて、物体に対する認識処理を行う。CPU52は、認識処理部5の各機能を制御する。ROM53は、CPU52が認識処理部5の認識処理を実行する認識処理用プログラムを記憶している。RAM54は、CPU52のワークエリアとして使用される。I/F55は、画像処理部30のI/F35と、通信線4とを介して通信するためのインターフェースである。CANI/F58は、外部コントローラ(例えば、図7に示す車両制御装置6)と通信するためのインターフェースであり、例えば、自動車のCAN等に接続される。バスライン59は、図7に示すように、FPGA51、CPU52、ROM53、RAM54、I/F55およびCANI/F58が互いに通信可能となるように接続するアドレスバスおよびデータバス等である。
このような構成により、画像処理部30のI/F35から通信線4を介して認識処理部5に視差画像が送信されると、認識処理部5におけるCPU52の命令によって、FPGA51が、視差画像に基づいて、撮像部10a、10bと物体Eとの間の距離Zを算出したり、物体に対する認識処理を実行する。
なお、上述の各プログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータで読み取り可能な記録媒体に記録して流通させてもよい。この記録媒体は、CD−ROM(Compact Disc Read Only Memory)またはSD(Secure Digital)メモリカード等である。
<物体認識装置の機能ブロック構成および各機能ブロックの動作>
図8は、第1の実施の形態に係る物体認識装置の機能ブロック構成の一例を示す図である。図9は、第1の実施の形態に係る物体認識装置のパターン検出部の機能ブロック構成の一例を示す図である。図10は、第1の実施の形態に係る物体認識装置の視差値演算処理部の機能ブロック構成の一例を示す図である。図8〜10を参照しながら、物体認識装置1の要部の機能ブロック構成および各機能ブロックの動作について説明する。
図7でも上述したが、図8に示すように、物体認識装置1は、視差値導出部3と、認識処理部5と、を備えている。このうち、視差値導出部3は、画像取得部100と、変換部200と、パターン検出部300と、視差値演算処理部350(視差値演算手段)と、を有する。
画像取得部100は、左右2台のカメラにより前方の被写体を撮像して、それぞれアナログの画像信号を生成し、各画像信号に基づく画像である2つの輝度画像を得る機能部である。画像取得部100は、図7に示す撮像部10aおよび撮像部10bによって実現される。
変換部200は、画像取得部100により得られた2つの輝度画像の画像データに対して、ノイズを除去し、デジタル形式の画像データに変換して出力する機能部である。ここで、変換部200が出力する2つの輝度画像の画像データ(以下、単に、輝度画像と称する)のうち、画像取得部100の右のカメラ(撮像部10a)により撮像された画像データを基準画像Iaの画像データ(以下、単に、基準画像Iaと称する)とし、左のカメラ(撮像部10b)により撮像された画像データを比較画像Ibの画像データ(以下、単に、比較画像Ibと称する)とする。すなわち、変換部200は、画像取得部100から出力された2つの輝度画像に基づいて、基準画像Iaおよび比較画像Ibを出力する。変換部200は、図7に示す信号変換部20a、20bによって実現される。
パターン検出部300は、変換部200から受信した基準画像Iaの輝度値(画素値)に基づいて、基準画像Iaの各画素が繰り返しパターンの画像領域に含まれるか否かを検出する繰り返しパターン検出処理を実行する機能部である。パターン検出部300は、基準画像Iaの各画素が繰り返しパターンの画像領域に含まれるか否かの情報を検出フラグとして、認識処理部5に出力する。なお、パターン検出部300の繰り返しパターン検出処理の対象とする基準画像Iaは、例えば、8ビットのグレースケールの輝度値の画素で構成されているものとする。また、「検出装置」は、パターン検出部300であってもよく、パターン検出部300を含む視差値導出部3または物体認識装置1であってもよい。
視差値演算処理部350は、変換部200から受信した基準画像Iaおよび比較画像Ibに基づいて、基準画像Iaの各画素についての視差値を導出し、基準画像Iaの各画素に視差値を対応させた視差画像を生成する機能部である。視差値演算処理部350は、生成した視差画像を、認識処理部5に出力する。
認識処理部5は、視差値導出部3から出力された視差画像および検出フラグに基づいて、撮像部10a、10bから物体Eまでの距離を測定する等の各種認識処理を行い、認識処理の結果を示す情報である認識情報を、車両制御装置6に出力する。
なお、図8に示す視差値導出部3の画像取得部100、変換部200、パターン検出部300および視差値演算処理部350は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図8に示す視差値導出部3において独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図8に示す視差値導出部3において1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
図9に示すように、パターン検出部300は、画素値取得部301(取得手段)と、傾き算出部302(傾き算出手段)と、極値検出部303(極値検出手段)と、閾値設定部304(設定手段)と、カウンタ部305(カウント手段)と、有効性判断部306(判断手段)と、制御部307と、記憶部310と、を有する。記憶部310は、画素値レジスタ311、傾きレジスタ312、閾値レジスタ313、極大値カウントレジスタ314、および極小値カウントレジスタ315の各記憶領域を有する。
画素値取得部301は、パターン検出部300に入力された基準画像Iaから、繰り返しパターン検出処理の対象となる画素の画素値(輝度値)(対象画素値)を取得する機能部である。また、画素値取得部301は、取得した画素値を所定のタイミングで、画素値レジスタ311に書き込む。
傾き算出部302は、基準画像Iaの各ラインで隣り合う画素値の差分から、画素値についての傾きを算出する機能部である。また、傾き算出部302は、算出した傾きを所定のタイミングで、傾きレジスタ312に書き込む。
極値検出部303は、傾き算出部302によって算出された傾きが正値から負値に変わった場合の極大値、および傾きが負値から正値に変わった場合の極小値を検出する機能部である。
閾値設定部304は、極値検出部303により検出された極大値または極小値に基づいて、極大値および極小値をカウントするか否かの閾値となる極大上限値UUおよび極大下限値UL、ならびに極小上限値LUおよび極小下限値LLを設定する機能部である。なお、「閾値範囲」とは、極大上限値UUと極大下限値ULとの範囲(第1範囲)、および、極小上限値LUと極小下限値LLとの範囲(第2範囲)を示す。
カウンタ部305は、極値検出部303によって検出された極大値または極大値が閾値範囲に入る場合、極大値カウント(第1個数)および極小値カウント(第2個数)をカウントアップする機能部である。
有効性判断部306は、基準画像Iaの繰り返しパターン検出処理の対象となる画素が繰り返しパターンの画像領域に含まれるか否か(画素に対応する画素値の信頼性が低いか否か)を判定することにより、その画素の視差値の有効性を判断する機能部である。具体的には、有効性判断部306は、基準画像Iaの繰り返しパターン検出処理の対象となる画素の極大値カウントと極小値カウントとの合計のカウント値が所定値以上であるか否かによって、その画素が繰り返しパターンの画像領域に含まれるか否かを判定する。
制御部307は、上述の各機能部の動作を制御する機能部である。
記憶部310は、繰り返しパターン検出処理で利用する値をバッファリングする機能部である。記憶部310は、図7に示すRAM34によって実現される。
図9に示す画素値取得部301、傾き算出部302、極値検出部303、閾値設定部304、カウンタ部305、有効性判断部306および制御部307は、それぞれ図7に示すFPGA31によって実現される。なお、画素値取得部301、傾き算出部302、極値検出部303、閾値設定部304、カウンタ部305、有効性判断部306および制御部307の一部または全部は、ハードウェア回路であるFPGA31ではなく、ROM33に記憶されているプログラムがCPU32によって実行されることによって実現されるものとしてもよい。
なお、図9に示すパターン検出部300の画素値取得部301、傾き算出部302、極値検出部303、閾値設定部304、カウンタ部305、有効性判断部306、制御部307および記憶部310は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図9で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図9の1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
図10に示すように、視差値演算処理部350は、コスト算出部351と、決定部352と、生成部353と、を有する。
コスト算出部351は、基準画像Iaにおける基準画素p(x,y)の輝度値、および、基準画素p(x,y)に基づく比較画像Ibにおけるエピポーラ線EL上で、基準画素p(x,y)の位置に相当する画素からシフト量dでシフトすることにより特定される、対応画素の候補である候補画素q(x+d,y)の各輝度値(画素値)に基づいて、各候補画素q(x+d,y)のコスト値C(p,d)を算出する機能部である。具体的には、コスト算出部351は、ブロックマッチング処理により、基準画像Iaの基準画素pを中心とする所定領域である基準領域pbと、比較画像Ibの候補画素qを中心とする候補領域qb(大きさは基準領域pbと同一)との非類似度をコスト値Cとして算出する。
決定部352は、コスト算出部351により算出されたコスト値Cの最小値に対応するシフト量dを、コスト値Cの算出の対象となった基準画像Iaの画素についての視差値dpとして決定する機能部である。
生成部353は、決定部352により決定された視差値dpに基づいて、基準画像Iaの各画素の輝度値を、その画素に対応する視差値dpで表した画像である視差画像を生成する機能部である。ここで、視差画像とは、必ずしも表示を要するものではなく、2次元の座標値(x,y)に視差値dpが対応付けられたデータのことを示す。
図10に示すコスト算出部351、決定部352および生成部353は、それぞれ図7に示すFPGA31によって実現される。なお、コスト算出部351、決定部352および生成部353の一部または全部は、ハードウェア回路であるFPGA31ではなく、ROM33に記憶されているプログラムがCPU32によって実行されることによって実現されるものとしてもよい。
なお、図10に示す視差値演算処理部350のコスト算出部351、決定部352および生成部353は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図10で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図10の1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
(視差値導出部のブロックマッチング処理)
図11は、第1の実施の形態に係る視差値導出部のブロックマッチング処理の動作の一例を示すフローチャートである。図11を参照しながら、物体認識装置1の視差値導出部3のブロックマッチング処理の動作の流れについて説明する。
<ステップS1−1>
視差値導出部3の画像取得部100は、左のカメラ(撮像部10b)により前方の被写体を撮像して、それぞれアナログの画像信号を生成し、その画像信号に基づく画像である輝度画像を得る。これによって、後段の画像処理の対象となる画像信号が得られることになる。そして、ステップS2−1へ移行する。
<ステップS1−2>
視差値導出部3の画像取得部100は、右のカメラ(撮像部10a)により前方の被写体を撮像して、それぞれアナログの画像信号を生成し、その画像信号に基づく画像である輝度画像を得る。これによって、後段の画像処理の対象となる画像信号が得られることになる。そして、ステップS2−2へ移行する。
<ステップS2−1>
視差値導出部3の変換部200は、撮像部10bにより撮像されて得られたアナログの画像信号に対して、ノイズを除去し、デジタル形式の画像データに変換する。このように、デジタル形式の画像データに変換することによって、その画像データに基づく画像に対して画素ごとの画像処理が可能となる。そして、ステップS3−1へ移行する。
<ステップS2−2>
視差値導出部3の変換部200は、撮像部10aにより撮像されて得られたアナログの画像信号に対して、ノイズを除去し、デジタル形式の画像データに変換する。このように、デジタル形式の画像データに変換することによって、その画像データに基づく画像に対して画素ごとの画像処理が可能となる。そして、ステップS3−2へ移行する。
<ステップS3−1>
変換部200は、ステップS2−1において変換したデジタル形式の画像データに基づく画像をブロックマッチング処理における比較画像Ibとして出力する。これによって、ブロックマッチング処理において視差値を求めるための比較対象となる画像を得る。そして、ステップS4へ移行する。
<ステップS3−2>
変換部200は、ステップS2−2において変換したデジタル形式の画像データに基づく画像をブロックマッチング処理における基準画像Iaとして出力する。これによって、ブロックマッチング処理において視差値を求めるための基準となる画像を得る。そして、ステップS4へ移行する。
<ステップS4>
視差値導出部3の視差値演算処理部350のコスト算出部351は、基準画像Iaにおける基準画素p(x,y)の輝度値、および、基準画素p(x,y)に基づく比較画像Ibにおけるエピポーラ線EL上で、基準画素p(x,y)の位置に相当する画素からシフト量dでシフトすることにより特定される、対応画素の候補画素q(x+d,y)の各輝度値に基づいて、各候補画素q(x+d,y)のコスト値C(p,d)を算出する。具体的には、コスト算出部351は、ブロックマッチング処理により、基準画像Iaの基準画素pを中心とする所定領域である基準領域pbと、比較画像Ibの候補画素qを中心とする候補領域qb(大きさは基準領域pbと同一)との非類似度をコスト値Cとして算出する。そして、ステップS5へ進む。
<ステップS5>
視差値導出部3の視差値演算処理部350の決定部352は、コスト算出部351により算出されたコスト値Cの最小値に対応するシフト量dを、コスト値Cの算出の対象となった基準画像Iaの画素についての視差値dpとして決定する。そして、視差値導出部3の視差値演算処理部350の生成部353は、決定部352により決定された視差値dpに基づいて、基準画像Iaの各画素の輝度値を、その画素に対応する視差値dpで表した画像である視差画像を生成する。生成部353は、生成した視差画像を、認識処理部5に出力する。
なお、上述のステレオマッチング処理は、ブロックマッチング処理を例として説明したが、これに限定されるものではなく、例えば、SGM(Semi−Global Matching)法を用いた処理であってもよい。
(視差値導出部の繰り返しパターン検出処理)
図12は、第1の実施の形態に係る視差値導出部の繰り返しパターン検出処理の動作の一例を示すフローチャートである。図13は、基準画像の輝度値(画素値)のグラフの一例を示す図である。図12および13を参照しながら、視差値導出部3のパターン検出部300における繰り返しパターン検出処理の動作の一例の流れについて説明する。図13の横軸は、基準画像Iaのx座標(横座標)であり、縦軸は、基準画像Iaの特定のラインの輝度値(画素値)である。
図12に示す繰り返しパターン検出処理のフローは、基準画像Iaの1画素毎に実行される。また、基準画像Iaの各画素に対する探索幅s(所定の探索範囲)は、例えば、1〜63画素とする。また、図12に示す繰り返しパターン検出処理のフローの開始時では、画素値レジスタ311、および傾きレジスタ312にはデータが何も書き込まれていない(例えば、Null値が書き込まれている)状態であるものとする。また、極大値カウントレジスタ314および極小値カウントレジスタ315は、リセット、すなわち値「0」が書き込まれているものとする。また、繰り返しパターン検出処理の対象となる画素を探索開始点としてt=1番目の画素とし、その画素からt=2、3、・・・n番目の画素が探索幅sに含まれ、これらの画素の画素値が繰り返しパターン検出処理に使用される。また、閾値レジスタ313には、探索幅sの探索開始点より前の直近の極大値についての極大上限値UUおよび極大下限値UL、ならびに直近の極小値についての極小上限値LUおよび極小下限値LLが書き込まれているものとする。
<ステップS11>
画素値取得部301は、変換部200から入力した基準画像Iaの特定のラインにおける繰り返しパターン検出処理の対象となる画素の画素値data(t)を取得する。そして、ステップS12へ移行する。
<ステップS12>
制御部307は、画素値取得部301が取得した画素値data(t)が1番目(t=1)の画素値であるか否かを判定する。t=1である場合(ステップS12:t=1)、ステップS13へ移行し、t≧2である場合(ステップS12:t≧2)、ステップS21へ移行する。
<ステップS13>
傾き算出部302は、画素値レジスタ311および傾きレジスタ312にデータが記憶されているか否かを判定する。データが記憶されている場合(ステップS13:Yes)、ステップS14へ移行し、データが記憶されていない場合(ステップS13:No)、ステップS30へ移行する。画素値レジスタ311および傾きレジスタ312にデータが記憶されていない場合に、ステップS30へ移行するのは、画素値data(1)より1つ前の画素値が記憶されていないため傾きが算出できないためである。
<ステップS14>
傾き算出部302は、画素値レジスタ311に記憶されているデータ、すなわち、画素値data(1)より1つ前の画素値と、画素値data(1)とによって傾きを算出する。この場合、算出された傾きを「画素値data(1)の傾き」というものとする。そして、ステップS15へ移行する。
<ステップS15>
極値検出部303は、傾きレジスタ312に記憶されているデータ、すなわち、画素値data(1)より1つ前の画素値の傾きと、傾き算出部302により算出された画素値data(1)の傾きとから、傾きが正値から負値へ変化したか否かを判定する。傾きが正値から負値へ変化した場合(ステップS15:Yes)、ステップS16へ移行し、そうでない場合(ステップS15:No)、ステップS18へ移行する。例えば、図13に示す例の場合、画素値data(1)より1つ前の画素値の傾きは正値であり、画素値data(1)の傾きも正値であり、傾きは正値から負値へ変化していないため、ステップS18へ移行する。
<ステップS16>
極値検出部303は、画素値data(1)より1つ前の画素値の傾きが正値であり、画素値data(1)の傾きが負値であるので、画素値レジスタ311に記憶されているデータ、すなわち、画素値data(1)より1つ前の画素値は、極大値であると判定(極大値を検出)する。そして、ステップS17へ移行する。
<ステップS17>
閾値設定部304は、極大上限値UUを「画素値data(1)より1つ前の画素値(極大値)+所定値」に更新し、極大下限値ULを「画素値data(1)より1つ前の画素値(極大値)−所定値」に更新し、更新した極大上限値UUおよび極大下限値ULを閾値レジスタ313に書き込む。そして、ステップS29へ移行する。極大上限値UUおよび極大下限値ULは固定値とすることもできるが、更新することによって、より精度の高い繰り返しパターンの検出が可能になる。
<ステップS18>
極値検出部303は、傾きレジスタ312に記憶されているデータ、すなわち、画素値data(1)より1つ前の画素値の傾きと、傾き算出部302により算出された画素値data(1)の傾きとから、傾きが負値から正値へ変化したか否かを判定する。傾きが負値から正値へ変化した場合(ステップS18:Yes)、ステップS19へ移行し、そうでない場合(ステップS18:No)、ステップS29へ移行する。例えば、図13に示す例の場合、画素値data(1)より1つ前の画素値の傾きは正値であり、画素値data(1)の傾きも正値であり、傾きは負値から正値へ変化していないため、ステップS29へ移行する。また、ステップS15で傾きが正値から負値へ変化していないと判定され、かつ、ステップS18で傾きが負値から正値へ変化していないと判定された場合、画素値data(1)より1つ前の画素値は、極大値でも極小値でもないことになる。
<ステップS19>
極値検出部303は、画素値data(1)より1つ前の画素値の傾きが負値であり、画素値data(1)の傾きが正値であるので、画素値レジスタ311に記憶されているデータ、すなわち、画素値data(1)より1つ前の画素値は、極小値であると判定(極小値を検出)する。そして、ステップS20へ移行する。
<ステップS20>
閾値設定部304は、極小上限値LUを「画素値data(1)より1つ前の画素値(極小値)+所定値」に更新し、極小下限値LLを「画素値data(1)より1つ前の画素値(極小値)−所定値」に更新し、更新した極小上限値LUおよび極小下限値LLを閾値レジスタ313に書き込む。そして、ステップS29へ移行する。極小上限値LUおよび極小下限値LLは固定値とすることもできるが、更新することによって、より精度の高い繰り返しパターンの検出が可能になる。
<ステップS21>
ステップS12において、t≧2である場合、傾き算出部302は、画素値レジスタ311に記憶されているデータ、すなわち、画素値data(t)よりも1つ前の画素値data(t−1)と、画素値data(t)とによって傾き(画素値data(t)の傾き)を算出する。そして、ステップS22へ移行する。
<ステップS22>
制御部307は、閾値レジスタ313にデータが記憶されているか否かを判定する。データが記憶されている場合(ステップS22:Yes)、ステップS23へ移行し、データが記憶されていない場合(ステップS22:No)、ステップS29へ移行する。閾値レジスタ313にデータが記憶されていない場合に、ステップS29へ移行するのは、後述するステップS24およびS27において、カウンタ部305により、極大値および極小値が所定の閾値範囲に入っているか否かを判定できないためである。
<ステップS23>
極値検出部303は、傾きレジスタ312に記憶されているデータ、すなわち、画素値data(t)より1つ前の画素値の傾きと、ステップS21で傾き算出部302により算出された画素値data(t)の傾きとから、傾きが正値から負値へ変化したか否かを判定する。傾きが正値から負値へ変化した場合(ステップS23:Yes)、ステップS24へ移行し、そうでない場合(ステップS23:No)、ステップS26へ移行する。例えば、図13に示す例で、t=4の場合、画素値data(4)より1つ前の画素値data(3)の傾きは正値であり、画素値data(4)の傾きは負値であるので、傾きは正値から負値へ変化しているため、ステップS24へ移行する。
<ステップS24>
極値検出部303は、画素値data(t)より1つ前の画素値data(t−1)の傾きが正値であり、画素値data(t)の傾きが負値であるので、画素値レジスタ311に記憶されているデータ、すなわち、画素値data(t)より1つ前の画素値data(t−1)は、極大値であると判定(極大値を検出)する。そして、カウンタ部305は、極値検出部303により検出された極大値(画素値data(t−1))が、極大下限値UL以上、かつ、極大上限値UU以下であるか否かを判定する。極大値が極大下限値UL以上、かつ、極大上限値UU以下である場合(ステップS24:Yes)、ステップS25へ移行し、そうでない場合(ステップS24:No)、ステップS29へ移行する。例えば、図13に示す例で、t=10の場合、画素値data(10)の1つ前の画素値data(9)は極大値であり、この極大値は極大下限値UL以上、かつ、極大上限値UU以下であるので、ステップS25へ移行する。
<ステップS25>
カウンタ部305は、極値検出部303によって検出された極大値が極大下限値UL以上、かつ、極大上限値UU以下であるので、極大値カウントをカウントアップし、カウントアップした極大値カウントを極大値カウントレジスタ314に書き込む。そして、ステップS29へ移行する。
<ステップS26>
極値検出部303は、傾きレジスタ312に記憶されているデータ、すなわち、画素値data(t)より1つ前の画素値の傾きと、ステップS21で傾き算出部302により算出された画素値data(t)の傾きとから、傾きが負値から正値へ変化したか否かを判定する。傾きが負値から正値へ変化した場合(ステップS26:Yes)、ステップS27へ移行し、そうでない場合(ステップS26:No)、ステップS29へ移行する。例えば、図13に示す例で、t=7の場合、画素値data(7)より1つ前の画素値data(6)の傾きは負値であり、画素値data(7)の傾きは正値であるので、傾きは負値から正値へ変化しているため、ステップS27へ移行する。
<ステップS27>
極値検出部303は、画素値data(t)より1つ前の画素値data(t−1)の傾きが負値であり、画素値data(t)の傾きが正値であるので、画素値レジスタ311に記憶されているデータ、すなわち、画素値data(t)より1つ前の画素値data(t−1)は、極小値であると判定(極小値を検出)する。そして、カウンタ部305は、極値検出部303により検出された極小値(画素値data(t−1))が、極小下限値LL以上、かつ、極小上限値LU以下であるか否かを判定する。極小値が極小下限値LL以上、かつ、極小上限値LU以下である場合(ステップS27:Yes)、ステップS28へ移行し、そうでない場合(ステップS27:No)、ステップS29へ移行する。例えば、図13に示す例で、t=7の場合、画素値data(7)の1つ前の画素値data(6)は極小値であり、この極小値は極小下限値LL以上、かつ、極小上限値LU以下ではないので、ステップS29へ移行する。
<ステップS28>
カウンタ部305は、極値検出部303によって検出された極小値が極小下限値LL以上、かつ、極小上限値LU以下であるので、極小値カウントをカウントアップし、カウントアップした極小値カウントを極小値カウントレジスタ315に書き込む。そして、ステップS29へ移行する。
<ステップS29>
傾き算出部302は、ステップS14またはS21で算出した傾きを、傾きレジスタ312に書き込む。そして、ステップS30へ移行する。
<ステップS30>
画素値取得部301は、ステップS11で取得した画素値data(t)を、画素値レジスタ311に書き込む。そして、ステップS31へ移行する。
<ステップS31>
制御部307は、tの値が探索幅sの最後(探索終了点)の値(例えば「63」)であるか否かを判定する。tの値が最後である場合(ステップS31:Yes)、ステップS33へ進む、そうでない場合(ステップS31:No)、ステップS32へ進む。
<ステップS32>
制御部307は、tの値をインクリメントする。そして、ステップS11へ戻る。
<ステップS33>
カウンタ部305は、極大値カウントレジスタ314および極小値カウントレジスタ315から、それぞれ極大値カウントおよび極小値カウントを読み出して、有効性判断部306に出力する。そして、ステップS34へ移行する。
<ステップS34>
有効性判断部306は、カウンタ部305から繰り返しパターン検出処理の対象となる画素値data(1)の画素の極大値カウントおよび極小値カウントを受け取り、この極大値カウントと極小値カウントとの合計のカウント値が所定値(所定の閾値)以上であるか否かを判定する。合計のカウント値が所定値以上である場合(ステップS34:Yes)、ステップS35へ移行し、所定値未満である場合(ステップS34:No)、ステップS36へ移行する。なお、有効性判断部306は、極大値および極小値を、それぞれ極大値カウントレジスタ314および極小値カウントレジスタ315から直接読み出してもよい。
<ステップS35>
有効性判断部306は、合計のカウント値が所定値以上である場合、画素値data(1)の画素は、基準画像Iaにおいて繰り返しパターンの画像領域に含まれると判断し、画素値data(1)の画素に対応する検出フラグをONする。そして、ステップS37へ移行する。
<ステップS36>
有効性判断部306は、合計のカウント値が所定値未満である場合、画素値data(1)の画素は、基準画像Iaにおいて繰り返しパターンの画像領域に含まれていないと判断し、画素値data(1)の画素に対応する検出フラグをOFFする。そして、ステップS37へ移行する。
<ステップS37>
ステップS34〜S36で、有効性判断部306により繰り返しパターン検出処理の対象となる画素が繰り返しパターンの画像領域に含まれるか否かの判断が既になされているので、制御部307は、極大値カウントレジスタ314および極小値カウントレジスタ315をリセットする。そして、ステップS38へ移行する。
<ステップS38>
制御部307は、繰り返しパターン検出処理の対象となる画素(t=1)が基準画像Iaの特定のラインの最後の画素であるか否かを判定する。特定のラインの最後の画素である場合(ステップS38:Yes)、ステップS39へ移行し、最後の画素でない場合(ステップS38:No)、ステップS11で画素値取得部301により画素値が取得された画素に対する繰り返しパターン検出処理を終了する。
<ステップS39>
制御部307は、基準画像Iaの特定のラインのすべての画素について繰り返しパターンの画像領域に含まれるか否かの判断が終了したので、画素値レジスタ311、傾きレジスタ312および閾値レジスタ313のデータを消去する(例えば、Null値を書き込む)。そして、ステップS11で画素値取得部301により画素値が取得された画素に対する繰り返しパターン検出処理を終了する。
以上の図12で示した繰り返しパターン検出処理は、基準画像Iaの特定の画素に対する処理であるが、パターン検出部300は、基準画像Iaを構成するすべての画素に対して繰り返しパターン検出処理を実行し、それぞれの画素に対応する検出フラグを認識処理部5に送信する。なお、パターン検出部300が認識処理部5に送信する検出フラグは、例えば、基準画像Iaの各画素の画素値を、それぞれの画素値に対応した検出フラグに置き換えた画像形式で認識処理部5に送信されるものとしてもよい。そして、認識処理部5は、視差値演算処理部350から受信した視差画像について、パターン検出部300から受信した検出フラグを利用し、検出フラグがONである画素に対応する視差値は認識処理に利用しない(視差値を無効とする)、または、検出フラグがONである画素の塊が所定の大きさ以上である場合は認識処理に利用しない等の処置を施す。
なお、図12のステップS34では、極大値カウントと極小値カウントとの合計のカウント値が所定値以上である場合に、画素値data(1)の画素が繰り返しパターンの画像領域に含まれると判断されるものとしたが、これに限定されるものではない。例えば、少なくとも極大値カウントの値が所定値以上である場合、少なくとも極小値カウントの値が所定値以上である場合、極大値カウントの値もしくは極小値カウントの値が所定値以上である場合、または、極大値カウントおよび極小値カウントのそれぞれが所定値以上である場合に、画素値data(1)の画素が繰り返しパターンの画像領域に含まれると判断されるものとしてもよい。
また、図12のステップS17において、閾値設定部304は、極大上限値UUを「画素値data(1)より1つ前の画素値(極大値)+所定値」に更新し、極大下限値ULを「画素値data(1)より1つ前の画素値(極大値)−所定値」に更新するものとしているが、この「所定値」は、例えば、極大値の大きさに応じて決められるものとしてもよい。
また、図12に示した繰り返しパターン検出処理の動作フローは一例であり、輝度値(画素値)を用いて極値(極大値、極小値)をカウントすることにより、繰り返しパターン検出処理の対象となる画素が繰り返しパターンの画像領域に含まれているか否かを判定することができれば、他の動作フローであってもよい。
以上のように、撮像画像(本実施の形態では基準画像Ia)の輝度値(画素値)を利用して、特定の画素が、輝度値についての極値(極大値、極小値)をカウントすることによって、繰り返しパターンの画像領域に含まれているか否かを判定するものとしている。すなわち、撮像画像における繰り返しパターンを検出している。このように、本実施の形態では、複数の画像を比較して繰り返しパターンを検出するものではなく(例えば、基準画像Iaおよび比較画像Ibから求まる各画素に対応したコスト値を利用して繰り返しパターンを検出するものではなく)、1つの撮像画像から繰り返しパターンを検出することができる。これによって、繰り返しパターンを検出するための画像処理の負荷を軽減することができる。また、パターン検出部300における繰り返しパターン検出処理をFPGA等の集積回路のようなハードウェア回路で構成する場合、処理回路の増大を抑制することができる。
なお、図8および12等で上述したように、繰り返しパターンを検出する対象を基準画像Iaとしているが、これに限定されるものではなく、比較画像Ibを利用するものとしてもよい。
また、図13に示すように、繰り返しパターン検出処理の対象となる画素を探索開始点として、紙面視右方向に探索幅sを取り、この探索幅sに含まれる画素に基づいて、その画素が繰り返しパターンの画像領域に含まれるか否かを判定するものとしていたが、これに限定されるものではない。すなわち、探索開始点から紙面視左方向に探索幅sを取り、この探索幅sに含まれる画素に基づいて、その画素が繰り返しパターンの画像領域に含まれるか否かを判定するものとしてもよい。
また、図13のグラフを構成する各画素値は、基準画像Ia(または比較画像Ib)の特定のライン、すなわち図2に示す画像の紙面視水平方向のラインの画素の画素値であるものとしているが、これに限定されるものではなく、紙面視垂直方向のラインの画素の画素値に基づいて、上述の図12に示す繰り返しパターン検出処理が実行されるものとしてもよい。
[第2の実施の形態]
第2の実施の形態に係る物体認識装置について、第1の実施の形態に係る物体認識装置1と相違する点を中心に説明する。路面、葉っぱ、または壁等を被写体とする画像の領域では、輝度値(画素値)のグラフの振幅が小さく、繰り返しパターンの対象から除外すべき場合がある。本実施の形態では、このような輝度値のグラフの振幅が小さい画像領域を、繰り返しパターン検出処理の対象から除外する動作について説明する。なお、本実施の形態に係る機器制御システムの構成、物体認識装置のハードウェア構成、物体認識装置の機能ブロック構成、および視差値演算処理部350の機能ブロック構成は、第1の実施の形態で説明した構成と同様である。
(物体認識装置の構成)
上述のように、本実施の形態に係る物体認識装置のハードウェア構成および機能ブロック構成、ならびに視差値演算処理部350の機能ブロック構成は、それぞれ、第1の実施の形態の図7、8および10で説明した構成と同様である。
<パターン検出部の機能ブロック構成>
図14は、第2の実施の形態に係る物体認識装置のパターン検出部の機能ブロック構成の一例を示す図である。図15は、対象外領域が特定された画像の一例を示す図である。図14および15を参照しながら、本実施の形態に係る物体認識装置のパターン検出部300aの機能ブロック構成および各機能ブロックの動作について説明する。
図14に示すように、パターン検出部300aは、画素値取得部301(取得手段)と、傾き算出部302(傾き算出手段)と、極値検出部303(極値検出手段)と、閾値設定部304(設定手段)と、カウンタ部305(カウント手段)と、有効性判断部306(判断手段)と、制御部307と、記憶部310と、対象外領域検出部308(領域検出手段)と、を有する。なお、パターン検出部300aの対象外領域検出部308以外の各機能部の動作は、第1の実施の形態のパターン検出部300と同様である。
上述のように、路面、葉っぱ、または壁等を被写体とする画像の領域では、輝度値(画素値)のグラフの振幅が小さく、繰り返しパターンの対象から除外すべき場合がある。そこで、本実施の形態のパターン検出部300aの対象外領域検出部308は、繰り返しパターン検出処理の前処理として、基準画像Iaにおける輝度値(画素値)のグラフの振幅が小さい領域を対象外領域として検出する。具体的には、対象外領域検出部308は、例えば、輝度値のグラフの波形の振幅が所定値以下の画像領域を対象外領域として検出する。
図14に示す画素値取得部301、傾き算出部302、極値検出部303、閾値設定部304、カウンタ部305、有効性判断部306、制御部307および対象外領域検出部308は、それぞれ図7に示すFPGA31によって実現される。なお、画素値取得部301、傾き算出部302、極値検出部303、閾値設定部304、カウンタ部305、有効性判断部306、制御部307および対象外領域検出部308の一部または全部は、ハードウェア回路であるFPGA31ではなく、ROM33に記憶されているプログラムがCPU32によって実行されることによって実現されるものとしてもよい。
なお、図14に示すパターン検出部300aの画素値取得部301、傾き算出部302、極値検出部303、閾値設定部304、カウンタ部305、有効性判断部306、制御部307、対象外領域検出部308および記憶部310は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図14で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図14の1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
対象外領域検出部308により検出された対象外領域に含まれる画素は、繰り返しパターン検出処理の対象外となる。すなわち、例えば、図15に示す基準画像Iaの対象外領域OA1〜OA3は、対象外領域検出部308によって検出された対象外領域であり、パターン検出部300aによる繰り返しパターン検出処理は、これら対象外領域OA1〜OA3以外の画像領域の画素に対して実行される。基準画像Iaの対象外領域以外の画像領域に対する繰り返しパターン検出処理の動作は、第1の実施の形態のパターン検出部300による繰り返しパターン検出処理の動作と同様である。対象外領域の画素に対応する視差値は、繰り返しパターン検出処理の対象外であるので、有効な視差値として認識処理部5の認識処理に利用される。
以上のように、対象外領域検出部308は基準画像Iaにおいて繰り返しパターン検出処理の対象外となる対象外領域を検出し、パターン検出部300aは、対象外領域以外の画像領域の画素に対してのみ繰り返しパターン検出処理を実行するものとしている。これによって、繰り返しパターンを検出するための画像処理の負荷をさらに軽減することができる。また、パターン検出部300aにおける繰り返しパターン検出処理をFPGA等の集積回路のようなハードウェア回路で構成する場合、処理回路の増大をさらに抑制することができる。
なお、繰り返しパターン検出処理の前処理となる対象外領域の検出処理は、パターン検出部300aに含まれる対象外領域検出部308によって実行されるものとしているが、これに限定されるものではない。例えば、パターン検出部300aの前段に対象外領域検出部308に相当する処理部が配置されるものとしてもよい。
[第3の実施の形態]
第3の実施の形態に係る物体認識装置1aについて、第1の実施の形態に係る物体認識装置1と相違する点を中心に説明する。撮像画像(基準画像Iaまたは比較画像Ib)は、端の部分の周辺光量が低くなるという性質があり、同じ繰り返しパターンを撮像したものでも、本来の繰り返しパターンの周期の成分以外にも低周波成分が重畳する場合がある。また、周辺光量の低下だけではなく、同じ繰り返しパターンを撮像したものでも、光の当たり具合のムラ等によって低周波成分が重畳する場合もある。本実施の形態では、このように輝度値(画素値)のグラフに低周波成分が重畳した場合においても、適切に繰り返しパターン検出処理を実行することができる動作について説明する。なお、本実施の形態に係る機器制御システムの構成、物体認識装置のハードウェア構成、ならびに、パターン検出部300および視差値演算処理部350の機能ブロック構成は、第1の実施の形態で説明した構成と同様である。
(低周波成分が重畳した輝度値のグラフについて)
図16は、低周波成分が存在する輝度値のグラフの一例を示す図である。
図16に示す輝度値のグラフの例は、被写体の繰り返しパターンによる周期成分の他、低周波成分が重畳したことによりグラフ全体が右上がりになっている状態を示すものである。この状態では、輝度値のグラフの極大値または極小値が、極大下限値ULおよび極大上限値UU、ならびに、極小下限値LLおよび極小上限値LUに基づく閾値範囲から逸脱してしまい、適切に極大値および極小値をカウントすることができない。
(物体認識装置の構成)
上述のように、本実施の形態に係る物体認識装置のハードウェア構成、ならびに、パターン検出部300および視差値演算処理部350の機能ブロック構成は、それぞれ、第1の実施の形態の図7、9および10で説明した構成と同様である。
<物体認識装置の機能ブロック構成および各機能ブロックの動作>
図17は、第3の実施の形態に係る物体認識装置の機能ブロック構成の一例を示す図である。図17を参照しながら、本実施の形態に係る物体認識装置1aの機能ブロック構成および各機能ブロックの動作について説明する。
図17に示すように、物体認識装置1aは、視差値導出部3aと、認識処理部5と、を備えている。このうち、視差値導出部3aは、画像取得部100と、変換部200と、フィルタ処理部250(除去手段)と、パターン検出部300と、視差値演算処理部350と、を有する。なお、視差値導出部3aのフィルタ処理部250以外の各機能部の動作は、第1の実施の形態の視差値導出部3と同様である。
上述のように、撮像画像(基準画像Ia)には、周辺光量の低下、または、光の当たり具合のムラ等によって、繰り返しパターンによる周期成分以外にも低周波成分が重畳する場合がある。そこで、本実施の形態の視差値導出部3aのフィルタ処理部250は、変換部200から出力された基準画像Iaに対して、フィルタ処理を施すことにより低周波成分を除去する低周波成分除去処理を実行する。この場合、フィルタ処理部250は、フィルタ処理により、所定の周波数以下の周波数成分を除去するものとすればよい。低周波成分除去処理の詳細は、後述する。フィルタ処理部250は、低周波成分除去処理により、低周波成分を除去した基準画像Iaをパターン検出部300に出力する。
なお、図17に示す視差値導出部3aの画像取得部100、変換部200、フィルタ処理部250、パターン検出部300および視差値演算処理部350は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図17に示す視差値導出部3aにおいて独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図17に示す視差値導出部3aにおいて1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
(フィルタ処理部による低周波成分除去処理)
図18は、高域強調フィルタの一例を示す図である。図19は、第3の実施の形態に係る物体認識装置のフィルタ処理部によるフィルタ処理後のグラフの一例を示す図である。図20は、高域強調フィルタの別の一例を示す図である。図21は、第3の実施の形態に係る物体認識装置のフィルタ処理部によるフィルタ処理後のグラフの別の一例を示す図である。図18〜21を参照しながら、本実施の形態の視差値導出部3aのフィルタ処理部250による低周波成分除去処理について説明する。
視差値導出部3aのフィルタ処理部250は、変換部200から入力した基準画像Iaに対して、例えば、図18に示す高域強調フィルタであるエッジ強調フィルタによるフィルタ処理により、低周波成分を除去する。図18に示すエッジ強調フィルタのうち、図18(a)は、1次元のエッジ強調フィルタの一例を示し、図18(b)は、2次元のエッジ強調フィルタの一例を示している。フィルタ処理部250は、図18で示されるエッジ強調フィルタによる低周波成分除去処理を実行することによって、図19(a)に示す低周波成分が重畳して全体的に右上がりになっている基準画像Iaの輝度値のグラフを、図19(b)に示すように、少なくとも、極小値の右上がりを抑制してほぼ水平となるようにしている。これによって、図19の例では、極大値のカウントは適切に行えないものの、極小値のカウントについては適切に行うことができる。この場合、極小値カウントを利用することによって、パターン検出部300による繰り返しパターン検出処理の対象となる画素が、繰り返しパターンの画像領域に含まれるか否かを判断することができる。低周波成分が除去された基準画像Iaに対する繰り返しパターン検出処理の動作は、第1の実施の形態のパターン検出部300による繰り返しパターン検出処理の動作と同様である。
また、フィルタ処理部250は、基準画像Iaから低周波成分を除去するために、図18に示したエッジ強調フィルタだけではなく、図20に示す高域強調フィルタであるエッジ抽出フィルタを用いてフィルタ処理を実行するものとしてもよい。図20に示すエッジ抽出フィルタのうち、図20(a)は、1次元のエッジ抽出フィルタの一例を示し、図20(b)は、2次元のエッジ抽出フィルタ(ラプラシアンフィルタ、ソーベルフィルタ)の一例を示している。フィルタ処理部250は、図20で示されるエッジ抽出フィルタによる低周波成分除去処理を実行することによって、図21(a)に示す低周波成分が重畳して全体的に右上がりになっている基準画像Iaの輝度値のグラフを、図21(b)に示すように、極大値および極小値双方の右上がりを抑制してほぼ水平となるようにしている。これによって、極大値のカウントおよび極小値のカウントについて適切に行うことができる。
このように、フィルタ処理部250による低周波成分除去処理に用いるフィルタは、基準画像Iaの輝度値のグラフの波形に応じて好適なフィルタを選択するものとすればよい。
以上のように、基準画像Iaにおいて繰り返しパターンの周期成分の他、低周波成分が重畳している場合においても、フィルタ処理部250による高域強調フィルタによるフィルタ処理を実行することにより、極大値または極小値の少なくともいずれかをほぼ水平となるようにすることができる。これによって、基準画像Iaの輝度値のグラフに低周波成分が重畳している場合においても、極大値または極小値の少なくともいずれかのカウントを適切に行うことができるので、パターン検出部300による繰り返しパターンの検出が可能となる。
なお、図17に示すように、フィルタ処理部250は、パターン検出部300とは別の機能部として記載しているが、パターン検出部300の機能の一部として、パターン検出部300に含まれるものとしてもよい。
[第4の実施の形態]
第4の実施の形態に係る物体認識装置について、第1の実施の形態に係る物体認識装置1と相違する点を中心に説明する。第1の実施の形態では、図13に示すように、繰り返しパターン検出処理の対象となる画素を探索開始点として、探索開始点から紙面視右方向に探索幅sを取り、この探索幅sに含まれる画素に基づいて、その画素が繰り返しパターンの画像領域に含まれるか否かを判定するものとしていた。ただし、輝度値のグラフの波形によっては、図13のように左から右の単方向で極値の数をカウントする方式では、繰り返しパターン検出処理の対象となる画素が繰り返しパターンの画像領域に含まれるか否かを適切に判定できない場合がある。本実施の形態では、このような場合でも、繰り返しパターン検出処理の対象となる画素が繰り返しパターンの画像領域に含まれるか否かを適切に判定することができる動作について説明する。なお、本実施の形態に係る機器制御システムの構成、物体認識装置のハードウェア構成、物体認識装置の機能ブロック構成、ならびに、パターン検出部300および視差値演算処理部350の機能ブロック構成は、第1の実施の形態で説明した構成と同様である。
(単方向では繰り返しパターンが検出できない場合の例)
図22は、繰り返し部分と平坦な部分とを含む輝度値のグラフの一例を示す図である。図22を参照しながら、単方向では繰り返しパターンが検出できない場合について説明する。
図22に示す基準画像Iaの輝度値(画素値)の波形において、図12に示す繰り返しパターン検出処理により、画素値data1によって極大上限値UUおよび極大下限値ULが定まり、画素値data2によって極小上限値LUおよび極小下限値LLが定まっているものとする。このとき、図22に示す画素値data3の画素が、繰り返しパターン検出処理の対象画素であるものとする。そして、パターン検出部300は、画素値data3の画素を探索開始点として、紙面視右方向に探索幅sを取り、この探索幅sに含まれる画素に基づいて、極大値および極小値をカウントする。その結果、図22に示すように、探索開始点である画素値data3の右側のグラフは、振幅の小さいグラフとなっているため、画素値data3より右側に存在し、かつ、閾値範囲に存在する極大値は1個であり、極小値も1個である。図12のステップS34の所定値が、例えば、「5」であるものとすると、画素値data3の画素は、図22に示すように、実際には繰り返しパターンの画像領域に含まれるものでありながら、有効性判断部306は、画素値data3の画素は、基準画像Iaの繰り返しパターンの画像領域に含まれないと判断されることになる。
そこで、本実施の形態のパターン検出部300は、上述の動作に加えて、画素値data3の画素を探索開始点として、図22の紙面視左方向にも探索幅sを取り、この探索幅sに含まれる画素値に基づいて、極大値および極小値をカウントする。すなわち、パターン検出部300は、右方向および左方向の双方向で、極大値および極小値をカウントする。そして、パターン検出部300は、右方向または左方向の少なくともいずれかの場合で、極大値カウントおよび極小値カウントの合計のカウント値が所定値以上であれば、画素値data3の画素が繰り返しパターンの画像領域に含まれると判断し、画素値data3の画素に対応する検出フラグをONする。図22の例の場合、左方向において、極大値カウントが「3」、極小値カウントも「3」となり、合計のカウント値は「6」となるので、図12のステップS34の所定値「5」以上となり、有効性判断部306は、画素値data3の画素は、基準画像Iaの繰り返しパターンの画像領域に含まれると判断することができる。具体的には、パターン検出部300は、図12に示した特定の画素に対する繰り返しパターン検出処理の処理を、右方向の探索幅sおよび左方向の探索幅sについて実行するものとすればよい。
以上のように、パターン検出部300は、繰り返しパターン検出処理の対象となる画素について、右方向および左方向の双方向で、極大値および極小値をカウントするものとしている。これによって、単方向のみの極大値および極小値をカウントする動作では、対象画素が実際には繰り返しパターンの画像領域に含まれていながら、含まれていないと誤判定される事態の発生を抑制することができ、対象画素が繰り返しパターンの画像領域に含まれているか否かの判定、すなわち、繰り返しパターンの検出を、より精度高く行うことができる。特に、本実施の形態のパターン検出部300による繰り返しパターン検出処理の方式は、基準画像Iaにおいて繰り返しパターン(ビル窓、タイル壁またはフェンス等)から、輝度値の振幅の小さい画像領域(模様等のない壁またはアスファルト等)に切り替わる部分での繰り返しパターン検出処理に有効である。
[第5の実施の形態]
第5の実施の形態に係る物体認識装置について、第1の実施の形態に係る物体認識装置1と相違する点を中心に説明する。基準画像Iaの特定のラインの輝度値のグラフでは、撮像された被写体の模様によって、繰り返しパターンの周期が小さい部分および大きい部分がある。この場合、図12に示した繰り返しパターン検出処理において、基準画像Iaを構成するすべての画素に対して同じ探索幅sで極大値および極小値をカウントしても、繰り返しパターンの画像領域でありながら、繰り返しパターンとして検出できない場合がある。本実施の形態では、繰り返しパターンの周期が異なる場合でも、適切に繰り返しパターンを検出することができる動作について説明する。なお、本実施の形態に係る機器制御システムの構成、物体認識装置のハードウェア構成、物体認識装置の機能ブロック構成、および、視差値演算処理部350の機能ブロック構成は、第1の実施の形態で説明した構成と同様である。
(繰り返しパターンの周期が異なる輝度値のグラフについて)
図23は、周期が異なる輝度値のグラフの一例を示す図である。
図23に示す輝度値のグラフの例は、特定のラインの左側部分では繰り返しパターンの周期が短く、右側部分では繰り返しパターンの周期が長い状態を示すものである。この場合、図12に示した繰り返しパターン検出処理において、周期の長い繰り返しパターンの場合、同じ探索幅sで極大値および極小値をカウントしても、繰り返しパターンの画像領域でありながら、繰り返しパターンとして検出できない場合がある。
(物体認識装置の構成)
上述のように、本実施の形態に係る物体認識装置のハードウェア構成および機能ブロック構成、ならびに視差値演算処理部350の機能ブロック構成は、それぞれ、第1の実施の形態の図7、8および10で説明した構成と同様である。
<パターン検出部の機能ブロック構成>
図24は、第5の実施の形態に係る物体認識装置のパターン検出部の機能ブロック構成の一例を示す図である。図25は、画像のラインをN領域に分割する状態を示す図である。図24および25を参照しながら、本実施の形態に係る物体認識装置のパターン検出部300bの機能ブロック構成および各機能ブロックの動作について説明する。
図24に示すように、パターン検出部300bは、画素値取得部301(取得手段)と、傾き算出部302(傾き算出手段)と、極値検出部303(極値検出手段)と、閾値設定部304(設定手段)と、カウンタ部305(カウント手段)と、有効性判断部306(判断手段)と、制御部307と、記憶部310と、周期算出部309(周期算出手段)と、を有する。なお、パターン検出部300bの周期算出部309以外の各機能部の動作は、第1の実施の形態のパターン検出部300と同様である。
上述のように、基準画像Iaの特定のラインの輝度値のグラフでは、図23に示すように、撮像された被写体の模様によって、繰り返しパターンの周期が小さい部分および大きい部分がある。この場合、図12に示した繰り返しパターン検出処理において、基準画像Iaを構成するすべての画素に対して同じ探索幅sで極大値および極小値をカウントしても、繰り返しパターンの画像領域でありながら、繰り返しパターンとして検出できない場合がある。特に、周期の長い繰り返しパターンの場合、同じ探索幅sで極大値および極小値をカウントしても、繰り返しパターンの画像領域でありながら、繰り返しパターンとして検出できない場合がある。
そこで、本実施の形態のパターン検出部300bの周期算出部309は、繰り返しパターン検出処理の前処理として、基準画像Iaの各ラインを図25に示すようにN個の領域(領域A1〜AN)に分割し、領域ごとに繰り返しパターンの周期(例えば、その領域で一番頻出する周期)を算出し、算出した周期に応じて、その領域に含まれる画素についての探索幅s、または合計のカウント値に対する閾値(図12のステップS34参照)を変える。
図24に示す画素値取得部301、傾き算出部302、極値検出部303、閾値設定部304、カウンタ部305、有効性判断部306、制御部307および周期算出部309は、それぞれ図7に示すFPGA31によって実現される。なお、画素値取得部301、傾き算出部302、極値検出部303、閾値設定部304、カウンタ部305、有効性判断部306、制御部307および周期算出部309の一部または全部は、ハードウェア回路であるFPGA31ではなく、ROM33に記憶されているプログラムがCPU32によって実行されることによって実現されるものとしてもよい。
なお、図24に示すパターン検出部300bの画素値取得部301、傾き算出部302、極値検出部303、閾値設定部304、カウンタ部305、有効性判断部306、制御部307、周期算出部309および記憶部310は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図24で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図24の1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
周期算出部309の動作についてさらに具体的に説明する。周期算出部309は、基準画像Iaの各ラインを分割した領域ごとに、繰り返しパターンの極大値の周期(極大周期Pmax)、および極小値の周期(極小周期Pmin)を算出する。また、探索幅sは、極大周期Pmax、極小周期Pmin、および図12のステップS34の所定値(閾値Thとする)それぞれに比例し、探索幅sまたは閾値Thのいずれかを固定すれば、もう一方が定まる。探索幅s=63[画素](固定)とした場合、閾値Thは、例えば、下記の式(3)で表すことができる。
Th=s/f(Pmax,Pmin) ・・・式(3)
(f(Pmax,Pmin):極大周期Pmax、極小周期Pminを用いた関数)
周期算出部309は、分割した領域ごとに、上述の式(3)から適応的に閾値Thを算出する。パターン検出部300bは、周期算出部309により適応的に算出された閾値Thのうち、図12のフローのステップS34において、処理対象となっている画素に対応する閾値Thを用いて閾値判定を行う。なお、上述のように、探索幅sを固定値として閾値Thを算出し、分割された領域ごとに適用するものとしたが、これに限定されるものではなく、周期算出部309は、閾値Thを固定値として、式(3)を準用し、適応的に探索幅sを算出するものとしてもよい。この場合、パターン検出部300bは、処理対象となっている画素が含まれる領域に対応した探索幅sを利用し、その探索幅sに含まれる画素数分だけ、図12のフローのステップS11〜S32を繰り返し実行するものとすればよい。
以上のように、周期算出部309は、基準画像Iaの各ラインを分割し、分割した領域ごとに繰り返しパターンの周期(極大周期Pmax、極小周期Pmin)を算出し、算出した周期に応じて、その領域に含まれる画素についての探索幅sまたは閾値Thを変更するものとしている。これによって、同一の探索幅sで極大値および極小値をカウントすることによって、繰り返しパターンの画像領域でありながら、繰り返しパターンとして検出できない事態を抑制することができ、対象画素が繰り返しパターンの画像領域に含まれているか否かの判定、すなわち、繰り返しパターンの検出を、より精度高く行うことができる。
[第6の実施の形態]
第6の実施の形態に係る物体認識装置について、第1の実施の形態に係る物体認識装置1と相違する点を中心に説明する。本実施の形態では、部分画像の各画素についての検出フラグを用い、部分画像の各画素に対して、繰り返しパターンの画像領域に含まれる画素の数と、部分画像の全画素数との比を算出して、算出した比が所定値以上であるか否かを判定する動作について説明する。なお、本実施の形態に係る物体認識装置のハードウェア構成および機能ブロック構成、視差値演算処理部350の機能ブロック構成は、第1の実施の形態で説明した構成と同様である。
(物体認識装置の構成)
上述のように、本実施の形態に係る物体認識装置のハードウェア構成、および、視差値演算処理部350の機能ブロック構成は、第1の実施の形態の図7および10説明した構成と同様である。
<物体認識装置の機能ブロック構成および各機能ブロックの動作>
図26は、第6の実施の形態に係る物体認識装置の機能ブロック構成の一例を示す図である。図27は、第6の実施の形態に係る物体認識装置の棄却部の機能ブロック構成の一例を示す図である。図26および27を参照しながら、物体認識装置1bの要部の機能ブロックの構成および動作について説明する。
図26に示すように、物体認識装置1bは、視差値導出部3bと、認識処理部5bと、を備えている。このうち、視差値導出部3bは、画像取得部100と、変換部200と、視差値演算処理部350と、を有する。
画像取得部100は、左右2台のカメラにより前方の被写体を撮像して、それぞれアナログの画像信号を生成し、各画像信号に基づく画像である2つの輝度画像を得る機能部である。画像取得部100は、図7に示す撮像部10aおよび撮像部10bによって実現される。
変換部200は、画像取得部100により得られた2つの輝度画像の画像データに対して、ノイズを除去し、デジタル形式の画像データに変換して出力する機能部である。ここで、変換部200が出力する2つの輝度画像の画像データ(輝度画像)のうち、画像取得部100の右のカメラ(撮像部10a)により撮像された画像データを基準画像Iaの画像データ(基準画像Ia)とし、左のカメラ(撮像部10b)により撮像された画像データを比較画像Ibの画像データ(比較画像Ib)とする。すなわち、変換部200は、画像取得部100から出力された2つの輝度画像に基づいて、基準画像Iaおよび比較画像Ibを出力する。変換部200は、図7に示す信号変換部20a、20bによって実現される。
視差値演算処理部350は、変換部200から受信した基準画像Iaおよび比較画像Ibに基づいて、基準画像Iaの各画素についての視差値を導出し、基準画像Iaの各画素に視差値を対応させた視差画像を生成する機能部である。視差値演算処理部350は、生成した視差画像を、認識処理部5bに出力する。なお、視差値演算処理部350の構成は、図10で上述した構成と同様である。
認識処理部5bは、クラスタリング部400と、棄却部500と、を有する。
クラスタリング部400は、視差値導出部3bから出力された視差画像および基準画像Iaに基づいて、基準画像から、人および車等の物体を認識して、これらの物体を含む部分画像を抽出するクラスタリング処理を行う機能部である。なお、クラスタリング処理の詳細については、後述する。クラスタリング部400は、図7に示すFPGA31によって実現される。なお、クラスタリング部400は、ハードウェア回路であるFPGA31ではなく、ROM33に記憶されているプログラムがCPU32によって実行されることによって実現されるものとしてもよい。また、クラスタリング処理の対象となるのは基準画像Iaに限定されるものではなく、比較画像Ibを対象とするものとしてもよい。
棄却部500は、視差値導出部3bから出力された基準画像Ia、およびクラスタリング部400から出力された部分画像を示す情報(例えば、基準画像Iaでの位置を示す座標、およびサイズ等)(以下、単に「部分画像情報」という)に基づいて、部分画像情報で示される部分画像について繰り返しパターン検出処理および棄却判定処理を実行する機能部である。なお、繰り返しパターン検出処理および棄却判定処理については、後述する。
なお、図26に示す視差値導出部3bの画像取得部100、変換部200および視差値演算処理部350、ならびに認識処理部5bのクラスタリング部400および棄却部500は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図26に示す視差値導出部3bおよび認識処理部5bで独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図26に示す視差値導出部3bおよび認識処理部5bで1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
図27に示すように、棄却部500は、入力部501と、パターン検出部502(検出装置)と、棄却判定部503(棄却判定手段)と、出力部504と、を有する。
入力部501は、視差値導出部3bから出力された基準画像Ia、およびクラスタリング部400から出力された部分画像情報を入力する機能部である。
パターン検出部502は、入力部501により入力された基準画像Iaおよび部分画像情報に基づいて、部分画像情報により特定される基準画像Ia上での部分画像(対象画像)の各画素が繰り返しパターンの画像領域に含まれるか否かを検出する繰り返しパターン検出処理を実行する機能部である。パターン検出部502は、基準画像Iaの各画素が繰り返しパターンの画像領域に含まれるか否かの情報を検出フラグとして、棄却判定部503に出力する。なお、基準画像Iaは、グレースケールの画像であっても、RGB等のカラー画像であってもよい。カラー画像である場合、特定の成分のみを繰り返しパターン検出処理の対象としてもよく、成分ごとにそれぞれ繰り返しパターン検出処理を行い、最後にその結果を統合するものとしてもよい。また、RGB形式をYIQ形式などの異なる表色系に変換して、明度成分(Yチャネル)等の特定の成分を繰り返しパターン検出処理の対象とするものとしてもよい。以下では、パターン検出部502の繰り返しパターン検出処理の対象とする基準画像Iaは、例えば、8ビットのグレースケールの輝度値の画素で構成されているものとして説明する。
棄却判定部503は、パターン検出部502から出力された部分画像の各画素についての検出フラグを用いて、その部分画像を棄却するか否かを判定する棄却判定処理を実行する機能部である。棄却判定部503は、棄却判定処理の判定結果を出力部504に出力する。
出力部504は、棄却判定部503から出力された棄却判定処理の判定結果、すなわち、その部分画像を棄却するか否かを示す棄却フラグを部分画像情報に含めて、後段の車両制御装置6に送信する。この棄却フラグを含む部分画像情報は、図26では認識処理部5bの認識情報として示されている。車両制御装置6は、認識処理部5b(棄却部500)から受信した部分画像情報(棄却フラグを含む)に基づき、棄却フラグが立っている、すなわち、部分画像を棄却することが示されている場合、その部分画像を各種車両制御には用いないものとする。一方、車両制御装置6は、部分画像情報の棄却フラグが立っていない、すなわち、部分画像は棄却しないことが示されている場合、その部分画像を各種車両制御に用いる。
図27に示す入力部501、パターン検出部502、棄却判定部503および出力部504は、それぞれ図7に示すFPGA51によって実現される。なお、入力部501、パターン検出部502、棄却判定部503および出力部504の一部または全部は、ハードウェア回路であるFPGA51ではなく、ROM53に記憶されているプログラムがCPU52によって実行されることによって実現されるものとしてもよい。
なお、図27に示す棄却部500の入力部501、パターン検出部502、棄却判定部503および出力部504は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図27に示す棄却部500で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図27に示す棄却部500で1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
なお、図27に示すパターン検出部502は、図9に示した第1の実施の形態のパターン検出部300と同様の機能ブロック構成を有する。すなわち、パターン検出部502は、画素値取得部301(取得手段)と、傾き算出部302(傾き算出手段)と、極値検出部303(極値検出手段)と、閾値設定部304(設定手段)と、カウンタ部305(カウント手段)と、有効性判断部306(判断手段)と、制御部307と、記憶部310と、を有する。また、記憶部310は、画素値レジスタ311、傾きレジスタ312、閾値レジスタ313、極大値カウントレジスタ314、および極小値カウントレジスタ315の各記憶領域を有する。各機能部は、図9で上述した通りであり、パターン検出部502による繰り返しパターン検出処理の動作は、図12に示した第1の実施の形態のパターン検出部300動作と同様である。
(認識処理部のクラスタリング処理)
図28は、第6の実施の形態に係る認識処理部のクラスタリング部のクラスタリング処理の動作を説明する図である。図29は、第6の実施の形態に係る認識処理部のクラスタリング部のクラスタリング処理の動作を説明する図である。図30は、クラスタリング処理により抽出された部分画像の例を示す図である。図28〜30を参照しながら、認識処理部5bのクラスタリング部400におけるクラスタリング処理の動作について説明する。
クラスタリング部400は、まず、視差値導出部3bから出力された視差画像および基準画像Ia(例えば、図28(a)に示す基準画像Ia、または図29(a)に示す基準画像Ia)を受信する。図28(a)に示す基準画像Iaには、例えば、路面600と、電柱601と、車602とが写り込んでいる。クラスタリング部400は、クラスタリング処理として、基準画像Iaから路面を検出するために、図28(b)に示すV−DisparityマップであるVマップVMを作成する。ここで、V−Disparityマップとは、縦軸を基準画像Iaのy軸とし、横軸を視差画像の視差値dpとした二次元ヒストグラムである。図28(a)に示す基準画像Iaの路面600は、VマップVMにおいては路面部600aに対応し、電柱601は、電柱部601aに対応し、車602は、車部602aに対応する。
クラスタリング部400は、作成したVマップVMから、路面と推定される位置を直線近似する。路面が平坦な場合は、1本の直線で近似可能であるが、勾配が変わる路面の場合は、VマップVMの区間を分割して精度よく直線近似する必要がある。直線近似としては、公知技術であるハフ変換または最小二乗法等が利用できる。VマップVMにおいて、検出された路面部600aより上方に位置する塊である電柱部601aおよび車部602aは、それぞれ路面上の物体である電柱601および車602に相当する。クラスタリング部400は、後述するU−Disparityマップを作成する際には、ノイズ除去のため路面より上方の情報のみを用いる。
次に、クラスタリング部400は、クラスタリング処理として、VマップVMで検出された路面より上方に位置する情報のみを利用、すなわち、図29(a)に示す基準画像Iaでは左ガードレール611、右ガードレール612、車613および車614の情報を用いて、ガードレール、壁および車等の物体の存在を推定するために、図29(b)に示すU−DisparityマップであるUマップUMを作成する。ここで、U−Disparityマップとは、横軸を基準画像Iaのx軸として、縦軸を視差画像の視差値dpとした二次元ヒストグラムである。図29(a)に示す基準画像Iaの左ガードレール611は、UマップUMにおいては左ガードレール部611aに対応し、右ガードレール612は、右ガードレール部612aに対応し、車613は、車部613aに対応し、車614は、車部614aに対応する。
また、クラスタリング部400は、クラスタリング処理として、作成したUマップUMから、物体の視差画像におけるx軸方向の位置および幅(xmin,xmax)を特定できる。また、クラスタリング部400は、作成したUマップUMでの物体の高さの情報(dmin,dmax)から物体の実際の奥行きを特定できる。また、クラスタリング部400は、作成したVマップVMから、物体の視差画像におけるy軸方向の位置および高さ(ymin=「最大視差値の路面からの最大高さに相当するy座標」,ymax=「最大視差値から得られる路面の高さを示すy座標」)を特定できる。また、クラスタリング部400は、視差画像において特定した物体のx軸方向の幅(xmin,xmax)、y軸方向の高さ(ymin,ymax)およびそれぞれに対応する視差値dpから、物体の実際のx軸方向およびy軸方向のサイズが特定できる。以上のように、クラスタリング部400は、VマップVMおよびUマップUMを利用して、基準画像Iaでの物体の位置、ならびに実際の幅、高さおよび奥行きを特定することができる。また、クラスタリング部400は、基準画像Iaでの物体の位置が特定されるので、視差画像における位置も定まり、物体までの距離も特定できる。
そして、クラスタリング部400は、クラスタリング処理として、物体について特定した実際のサイズ(幅、高さ、奥行き)から、下記の(表1)を用いて、物体が何であるかを特定することができる。例えば、物体の幅が900[mm]、高さが1800[mm]、奥行きが500[mm]である場合、物体は「歩行者」であると特定できる。なお、(表1)のような幅、高さおよび奥行きと、物体の種類(物体タイプ)とを関連付ける情報をテーブルとして、RAM54等に記憶させておくものとすればよい。
Figure 0006701905
そして、クラスタリング部400は、クラスタリング処理として、特定した物体の実際のサイズ(幅、高さ、奥行き)、物体の種類、ならびに、基準画像Iaでの特定した物体を含む矩形状の部分画像の位置(例えば、左上の座標)、幅および高さ等を含む情報を、部分画像情報として生成して棄却部500に出力する。なお、部分画像は矩形状に限定されず、円形、楕円形、またはその他多角形であってもよい。
以上のように、クラスタリング部400によるクラスタリング処理は、基準画像Iaから写り込んでいる物体を特定して、その物体を含む画像である部分画像を抽出する処理である。クラスタリング部400によるクラスタリング処理によって抽出された部分画像の例を、図30に示す。図30(a)は、車両の部分画像の例であり、図30(b)は、歩行者の部分画像の例であり、図30(c)は、道路の脇に沿って設置されたガードレールの部分画像の例である。また、図30(d)は、ガードレールと歩行者とが双方写り込んだ状態で抽出された部分画像の例である。
図30(a)および(b)のように、歩行者および他の車両等は、衝突を回避するための車両の自動制御のために用いられるべき部分画像であるので、車両制御装置6における自動制御の対象とするために棄却するべきではない。図30(c)に示すガードレールのように同じ模様が構成された繰り返しパターンを含む物体の部分画像は、車両制御装置6の自動制御では不要となるため棄却すべき対象となる。ただし、図30(d)に示すガードレールと歩行者とが双方写り込んだ状態で抽出された部分画像は、繰り返しパターンを含むガードレールを含むものの、歩行者が含まれるので、棄却するべきではないということになる。このように、部分画像に含まれる繰り返しパターンに基づいて、部分画像を棄却するか否かを判定する棄却判定処理の詳細については、図31で後述する。
なお、図28および29で上述した処理は、クラスタリング処理の一例であり、基準画像から物体を含む部分画像を抽出できる処理であれば、どのようなクラスタリング処理であってもよい。
また、上述のように、パターン検出部502による繰り返しパターン検出処理の動作は、図12に示した第1の実施の形態のパターン検出部300の動作と同様であるが、パターン検出部502は、部分画像を構成するすべての画素に対して繰り返しパターン検出処理を実行し、それぞれの画素に対応する検出フラグを棄却判定部503に出力する。なお、パターン検出部502が棄却判定部503に出力する検出フラグは、例えば、部分画像の各画素の画素値を、それぞれの画素値に対応した検出フラグに置き換えた画像形式(パターン検出画像)で棄却判定部503に送信されるものとしてもよい。
また、図12に示した繰り返しパターン検出処理の動作フローは一例であり、輝度値(画素値)を用いて極値(極大値、極小値)をカウントすることにより、繰り返しパターン検出処理の対象となる画素が繰り返しパターンの画像領域に含まれているか否かを判定することができれば、他の動作フローであってもよい。例えば、部分画像で同じ繰り返しパターンを撮像したものでも、本来の繰り返しパターンの周期の成分以外にも低周波成分が重畳する場合がある。このような場合、輝度値(画素値)のグラフに低周波成分が重畳した場合において、フィルタ処理により低周波成分を除去してから繰り返しパターン検出処理を実行するものとしてもよい。また、繰り返しパターン検出処理の対象となる画素について、右方向で極大値および極小値をカウントすることに限定されるものではなく、例えば、左方向でカウント、または、右方向および左方向の双方向でカウントするものとしてもよい。また、部分画像の同じラインにおいて輝度値の周期が異なる場合がある。このような場合、ラインのそれぞれの部分で周期を算出し、算出した周期に応じて、その領域に含まれる画素についての探索幅sまたはステップS34の所定の閾値を変更するものとしてもよい。
また、上述した図13のグラフを構成する各画素値は、基準画像Ia(または比較画像Ib)の部分画像の特定のライン、すなわち図2に示す画像の紙面視水平方向のラインの画素の画素値であるものとしているが、これに限定されるものではなく、紙面視垂直方向のラインの画素の画素値に基づいて、上述の図12に示す繰り返しパターン検出処理が実行されるものとしてもよい。
(棄却部の棄却判定処理)
図31は、第6の実施の形態に係る認識処理部の棄却部の棄却判定処理の動作の一例を示すフローチャートである。図31を参照しながら、認識処理部5bの棄却部500の棄却判定処理の動作の一例の流れについて説明する。
<ステップS51>
入力部501は、視差値導出部3bから出力された基準画像Ia、およびクラスタリング部400から出力された部分画像情報を入力する。そして、入力部501は、基準画像Iaから部分画像情報が示す部分画像を特定する(読み込む)。そして、ステップS52へ移行する。なお、入力部501は、入力する基準画像Iaは、視差値導出部3bから出力された画像、すなわち、視差値導出部3bの画像取得部100により撮像された撮像画像に基づくものであるがこれに限定されるものではなく、図7に示すRAM34、RAM54またはその他の記憶手段に記憶された画像であってもよい。
<ステップS52>
パターン検出部502は、入力部501により入力された基準画像Iaおよび部分画像情報に基づいて、部分画像情報により特定される基準画像Ia上での部分画像の各画素が繰り返しパターンの画像領域に含まれるか否かを検出する繰り返しパターン検出処理を実行する。パターン検出部502は、部分画像の各画素が繰り返しパターンの画像領域に含まれるか否かの情報を検出フラグとして、棄却判定部503に出力する。繰り返しパターン検出処理の詳細は、上述した通りである。そして、ステップS53へ移行する。
<ステップS53>
棄却判定部503は、パターン検出部502から出力された部分画像の各画素についての検出フラグを用いて、その部分画像を棄却するか否かを判定する棄却判定処理を実行する。具体的には、棄却判定部503は、部分画像の各画素についての検出フラグを用いて、部分画像の各画素に対して、繰り返しパターンの画像領域に含まれる画素の数と、部分画像の全画素数との比を算出する。そして、棄却判定部503は、算出した比が所定値以上であるか否かを判定する。算出した比が所定値以上である場合は、繰り返しパターンを含んでいるものとして部分画像を棄却する判定をする。一方、算出した比が所定値未満である場合は、部分画像を棄却しない判定をする。そして、棄却判定部503は、このような部分画像を棄却するか否かの棄却判定処理の判定結果を、出力部504に送る。そして、ステップS54へ移行する。なお、棄却判定部503は、算出した比が所定値以上であるか否かを判定しているが、これに限定されるものではなく、算出した比が所定の範囲内であるか否か、または、繰り返しパターンの画像領域に含まれる画素の数が所定値以上であるか否か等を判定して、部分画像を棄却するか否かを判定するものとしてもよい。
<ステップS54>
出力部504は、棄却判定部503から受け取った棄却判定処理の判定結果、すなわち、その部分画像を棄却するか否かを示す棄却フラグを部分画像情報に含めて、後段の車両制御装置6に送信(出力)する。なお、出力部504は、部分画像を棄却するか否かを示す棄却する部分画像情報を車両制御装置6に出力するものとしているが、これに限定されるものでない。例えば、棄却判定部503の棄却判定処理の結果、棄却しない部分画像の部分画像情報のみを車両制御装置6に送信し、棄却する部分画像の部分画像情報を送信しないものとしてもよい。この場合、車両制御装置6では、棄却する部分画像の部分画像情報は受信しないので、この部分画像が各種車両制御に利用されないようにすることができる。
以上のように、棄却判定部503は、パターン検出部502から出力された部分画像の各画素についての検出フラグを用い、部分画像の各画素に対して、繰り返しパターンの画像領域に含まれる画素の数と、部分画像の全画素数との比を算出して、算出した比が所定値以上であるか否かを判定するものとしている。これによって、繰り返しパターンの画像領域に含まれる画素の数と、部分画像の全画素数との比を使用するため、棄却判定処理に使用する所定値の値を高めに設定しておくことで、少量の繰り返しパターンを含む物体の誤棄却を防止することができる。例えば、縦縞の洋服を着ている歩行者は部分的に繰り返しパターンを含むため、このような物体を含む部分画像の誤棄却を抑制することができる。また、上述の図30(d)に示すような、繰り返しパターンを含むガードレールと、歩行者とが写り込んだ部分画像についての誤棄却も抑制することができる。
[第7の実施の形態]
第7の実施の形態に係る物体認識装置について、第6の実施の形態に係る物体認識装置1bと相違する点を中心に説明する。本実施の形態では、部分画像のラインごとに、ラインが繰り返しパターンを含むか否かを判定し、繰り返しパターンを含むラインの数に基づいて、部分画像に対して棄却するか否かを判定する動作について説明する。なお、本実施の形態に係る物体認識装置のハードウェア構成および機能ブロック構成、視差値演算処理部350の機能ブロック構成、棄却部500の機能ブロック構成、ならびに、パターン検出部502の機能ブロック構成は、第6の実施の形態で説明した構成と同様である。また、本実施の形態に係る視差値導出部のブロックマッチング処理、クラスタリング部400におけるクラスタリング処理、および、棄却部500のパターン検出部502における繰り返しパターン検出処理も、第6の実施の形態と同様である。
(棄却部の棄却判定処理)
図32は、第7の実施の形態に係る認識処理部の棄却部の棄却判定処理の動作の一例を示すフローチャートである。図32を参照しながら、本実施の形態の認識処理部5bの棄却部500の棄却判定処理の動作の一例の流れについて説明する。
<ステップS61、S62>
図31のステップS51、S52と同様である。そして、ステップS63へ移行する。
<ステップS63>
棄却判定部503は、パターン検出部502から出力された部分画像の各画素についての検出フラグを用いて、その部分画像を棄却するか否かを判定する棄却判定処理を実行する。具体的には、棄却判定部503は、部分画像の各画素についての検出フラグを用いて、部分画像のライン(水平ライン、垂直ラインのいずれでもよい)ごとに、繰り返しパターンの画像領域に含まれる画素の数をカウントする。次に、棄却判定部503は、カウントした画素の数が所定値以上であるか否かを判定し、所定値以上の場合、そのラインが繰り返しパターンを含むものと判定する。そして、棄却判定部503は、繰り返しパターンを含むラインの数が、所定値(上述の所定値と異なる)以上であるか否かを判定し、所定値以上である場合、部分画像を棄却する判定をする。さらに、棄却判定部503は、このような部分画像を棄却するか否かの棄却判定処理の判定結果を、出力部504へ送る。そして、ステップS64へ移行する。
なお、棄却判定部503は、カウントした画素の数が所定値以上であるか否かを判定しているが、これに限定されるものではなく、カウントした画素の数が所定の範囲内であるか否か等を判定するものとしてもよい。また、カウントした画素の数を所定値と比較しているが、この所定値は、固定値であってもよく、または、ラインの長さに応じて特定の割合を掛け合わせた値等であってもよい。
また、棄却判定部503は、繰り返しパターンを含むラインの数が所定値以上であるか否かを判定しているが、これに限定されるものではなく、ラインの数が所定の範囲内であるか否か等を判定するものとしてもよい。また、繰り返しパターンを含むラインの数を所定値と比較しているが、この所定値は、固定値であってもよく、または、ライン数に応じて特定の割合を掛け合わせた値等であってもよい。
<ステップS64>
図31のステップS54と同様である。
以上のように、棄却判定部503は、部分画像についてラインごとに繰り返しパターンを含むか否かを判定し、繰り返しパターンを含むラインの数に基づいて、部分画像を棄却するか否かを判定するものとしている。この場合、例えば、繰り返しパターンを含むラインの数が5ライン以上である場合、部分画像を棄却するものとすると、繰り返しパターンを含むラインを5つ検出した時点で処理を終了することができ、すなわち、部分画像のすべてのラインについて処理をしなくてもよいので、第6の実施の形態と比較して、処理を高速化することができる。
なお、棄却判定部503は、部分画像のラインすべてではなく、一部のラインのみ対して、繰り返しパターンを含むか否かの判定をするものとしてもよい。
(変形例)
第7の実施の形態の変形例に係る物体認識装置について、第7の実施の形態に係る物体認識装置と相違する点を中心に説明する。本変形例では、部分画像のラインごとに、ラインに含まれる画素値に対するフーリエ変換を行い、フーリエ変換後のフーリエスペクトルに基づいて、部分画像に対して棄却するか否かを判定する動作について説明する。なお、本変形例に係る物体認識装置のハードウェア構成および機能ブロック構成、視差値演算処理部350の機能ブロック構成、ならびに、棄却部500の機能ブロック構成は、第6の実施の形態で説明した構成と同様である。また、本変形例に係る視差値導出部3bのブロックマッチング処理、および、クラスタリング部400におけるクラスタリング処理も、第6の実施の形態で説明した動作と同様である。
<棄却部の棄却判定処理>
図33は、第7の実施の形態の変形例に係る認識処理部の棄却部の棄却判定処理の動作の一例を示すフローチャートである。図34は、第7の実施の形態の変形例での輝度値についてのフーリエ変換について説明する図である。図33および34を参照しながら、認識処理部5bの棄却部500の棄却判定処理の動作の一例の流れについて説明する。
<<ステップS71>>
図32のステップS61と同様である。そして、ステップS72へ移行する。
<<ステップS72>>
パターン検出部502は、入力部501により入力された基準画像Iaおよび部分画像情報に基づいて、部分画像情報により特定される基準画像Ia上での部分画像の各ラインが繰り返しパターンを含むか否かを検出する繰り返しパターン検出処理を実行する。具体的には、パターン検出部502は、図34(a)に示す部分画像Ipの水平ラインごと(図34(a)に示すライン(1)、(2)、・・・、(N))に、水平ラインに含まれる画素値に対してフーリエ変換を行い、フーリエスペクトルを求める。図34に示す例では、図34(b)が、部分画像Ipのライン(2)の画素値(輝度値)の波形を示し、図34(c)が、部分画像Ipのライン(4)の画素値(輝度値)の波形を示している。また、図34(d)が、ライン(2)の画素値の波形に対してフーリエ変換を行った後のフーリエスペクトル(横軸が空間周波数、縦軸が離散フーリエ振幅)を示し、図34(e)が、ライン(4)の画素値の波形に対してフーリエ変換を行った後のフーリエスペクトルを示している。次に、パターン検出部502は、求めたフーリエスペクトルの振幅が所定値(図34(d)に示す「閾値」)(第2所定値)以上、かつ、その分散が所定値以下であるか否かを判定する。そして、パターン検出部502は、求めたフーリエスペクトルの振幅が所定値以上、かつ、その分散が所定値以下である場合、そのフーリエスペクトルに対応するラインが、繰り返しパターンを含むものと判定する。パターン検出部502は、部分画像の各ラインが繰り返しパターンを含むか否かの情報を、棄却判定部503に出力する。そして、ステップS73へ移行する。なお、パターン検出部502は、部分画像Ipの水平ラインごとにフーリエ変換を行っているが、これに限定されるものではなく、部分画像Ipの垂直ラインごとにフーリエ変換を行ってもよい。
<<ステップS73>>
棄却判定部503は、繰り返しパターンを含むラインの数が、所定値(上述の所定値と異なる)以上であるか否かを判定し、所定値以上である場合、部分画像を棄却する棄却判定処理を実行する。さらに、棄却判定部503は、このような部分画像を棄却するか否かの棄却判定処理の判定結果を、出力部504へ送る。そして、ステップS74へ移行する。
<<ステップS74>>
図32のステップS64と同様である。
以上のように、部分画像の各ラインに対してフーリエ変換を行い、求められるフーリエスペクトルに所定の空間周波数の波形が含まれる場合、そのラインは繰り返しパターンを含むと判定するものとしている。これによっても、上述のように、繰り返しパターンを含むラインを所定ライン数検出した時点で処理を終了することができ、すなわち、部分画像のすべてのラインについて処理をしなくてもよいので、第6の実施の形態と比較して、処理を高速化することができる。
[第8の実施の形態]
第8の実施の形態に係る物体認識装置について、第6の実施の形態に係る物体認識装置1bと相違する点を中心に説明する。本実施の形態では、部分画像のラインごとに、繰り返しパターンの画像領域に含まれると判断された画素の数のヒストグラムを生成し、そのヒストグラムと、モデルとなるヒストグラムとを比較して、部分画像に対して棄却するか否かを判定する動作について説明する。なお、本実施の形態に係る物体認識装置のハードウェア構成、視差値演算処理部350の機能ブロック構成、および、パターン検出部502の機能ブロック構成は、第6の実施の形態で説明した構成と同様である。また、本実施の形態に係る視差値導出部3bのブロックマッチング処理、クラスタリング部400におけるクラスタリング処理、および、棄却部のパターン検出部502における繰り返しパターン検出処理も、第6の実施の形態と同様である。
(物体認識装置の機能ブロックの構成および動作)
図35は、第8の実施の形態に係る物体認識装置の棄却部の機能ブロック構成の一例を示す図である。図36は、第8の実施の形態の棄却部の棄却判定部の機能ブロック構成の一例を示す図である。図37は、第8の実施の形態の棄却判定部のヒストグラム生成部が生成するヒストグラムの一例を示す図である。図35〜37を参照しながら、本実施の形態に係る物体認識装置の要部の機能ブロックの構成および動作について説明する。
本実施の形態に係る物体認識装置の認識処理部5bは、クラスタリング部400(抽出手段)と、棄却部500aと、を有する。
図35に示すように、棄却部500aは、入力部501と、パターン検出部502(検出装置)と、棄却判定部503a(棄却判定手段)と、出力部504と、モデル入力部505と、を有する。
棄却部500aの入力部501、パターン検出部502および出力部504の機能は、それぞれ、図27に示した第6の実施の形態での入力部501、パターン検出部502および出力部504の機能と同様である。
モデル入力部505は、例えば、RAM54等の記憶手段に予め記憶されている棄却判定処理に用いるモデルとなるヒストグラム(モデルヒストグラム)を入力する機能部である。
棄却判定部503aは、パターン検出部502から出力された部分画像の各画素についての検出フラグ、および、モデル入力部505により入力されたモデルヒストグラムを用いて、その部分画像を棄却するか否かを判定する棄却判定処理を実行する機能部である。棄却判定部503aは、棄却判定処理の判定結果を出力部504に出力する。図36に示すように、棄却判定部503aは、ヒストグラム生成部531(生成手段)と、比較部532(比較手段)と、判定部533と、を有する。
ヒストグラム生成部531は、部分画像の各画素についての検出フラグを用いて、部分画像のライン(水平ライン、垂直ラインのいずれでもよい)ごとに、繰り返しパターンの画像領域に含まれる画素の数についてのヒストグラムを生成する機能部である。ヒストグラム生成部531は、生成したヒストグラムを、比較部532に出力する。
図37(a)は、部分画像の各画素を、それぞれの画素に対応する検出フラグ(例えば、検出ONを「白」、検出OFFを「黒」とする)に置換して得た画像(パターン検出画像Ir)を示す。そして、図37(b)は、パターン検出画像Irのx方向のライン(水平ライン)に沿って検出ONの画素、すなわち、繰り返しパターンの画像領域に含まれる画素の数をカウントし、y軸に射影して生成されたヒストグラムを示す。図37(a)に示すように、繰り返しパターンを含む部分画像の場合、複数ライン連続で繰り返しパターンを含む場合が高頻度で出現する可能性が高い。したがって、生成されたヒストグラムは、図37(a)に示すように山なりになる可能性が高くなる。したがって、モデル入力部505が入力するモデルヒストグラムの作成時には、複数枚の画像からヒストグラムを作成し、それらを平均することで事前にモデルヒストグラムを作成することができる。
なお、ヒストグラム生成部531は、部分画像の全体についてのヒストグラムを生成することに限定されるものではなく、部分画像のうち一部についてのヒストグラムを生成するものとしてもよい。この場合、モデル入力部505が入力するモデルヒストグラムは、部分画像のうち一部についてのヒストグラムに対応する部分があればよい。
比較部532は、ヒストグラム生成部531により生成されたヒストグラムと、モデル入力部505により入力されたモデルヒストグラムとを比較する機能部である。例えば、比較部532は、ユークリッド距離もしくはマハラノビス距離等の距離計測用尺度、またはコサイン類似度のような類似度計測用尺度を使用することによって、生成されたヒストグラムと、モデルヒストグラムとの類似度を求める。比較部532は、比較結果である類似度を、判定部533に出力する。
判定部533は、比較部532から受け取った類似度が、所定の閾値よりも小さい(距離計測用尺度の場合、ヒストグラムが類似しているほど距離が小さくなる)場合、生成されたヒストグラムと、モデルヒストグラムとは類似しているものと判断し、部分画像を棄却するものと判定する機能部である。判定部533は、判定結果を、出力部504へ送る。
図35に示す入力部501、パターン検出部502、棄却判定部503a、出力部504およびモデル入力部505は、それぞれ図7に示すFPGA51によって実現される。なお、入力部501、パターン検出部502、棄却判定部503a、出力部504およびモデル入力部505の一部または全部は、ハードウェア回路であるFPGA51ではなく、ROM53に記憶されているプログラムがCPU52によって実行されることによって実現されるものとしてもよい。
なお、図35に示す入力部501、パターン検出部502、棄却判定部503a、出力部504およびモデル入力部505は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図35に示す棄却部500aで独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図35に示す棄却部500aで1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
また、図36に示すヒストグラム生成部531、比較部532および判定部533は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図36に示す棄却判定部503aで独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図36に示す棄却判定部503aで1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
(棄却部の棄却判定処理)
図38は、第8の実施の形態に係る認識処理部の棄却部の棄却判定処理の動作の一例を示すフローチャートである。図38を参照しながら、認識処理部5bの棄却部500aの棄却判定処理の動作の一例の流れについて説明する。
<ステップS81>
入力部501は、視差値導出部3bから出力された基準画像Ia、およびクラスタリング部400から出力された部分画像情報を入力する。そして、入力部501は、基準画像Iaから部分画像情報が示す部分画像を特定する(読み込む)。また、モデル入力部505は、例えば、RAM54等の記憶手段に予め記憶されている棄却判定処理に用いるモデルとなるモデルヒストグラムを入力する(読み込む)。そして、ステップS82へ移行する。
<ステップS82>
図31のステップS52と同様である。そして、ステップS83へ移行する。
<ステップS83>
ヒストグラム生成部531は、部分画像の各画素についての検出フラグを用いて、部分画像のライン(水平ライン、垂直ラインのいずれでもよい)ごとに、繰り返しパターンの画像領域に含まれる画素の数についてのヒストグラムを生成する。そして、ステップS84へ移行する。
<ステップS84>
比較部532は、ヒストグラム生成部531により生成されたヒストグラムと、モデル入力部505により入力されたモデルヒストグラムとを比較する。例えば、比較部532は、ユークリッド距離もしくはマハラノビス距離等の距離計測用尺度、またはコサイン類似度のような類似度計測用尺度を使用することによって、生成されたヒストグラムと、モデルヒストグラムとの類似度を求める。比較部532は、比較結果である類似度を、判定部533に出力する。そして、ステップS85へ移行する。
<ステップS85>
判定部533は、比較部532から受け取った類似度が、所定の閾値よりも小さい場合、生成されたヒストグラムと、モデルヒストグラムとは類似しているものと判断し、部分画像を棄却するものと判定する。判定部533は、判定結果を、出力部504へ送る。そして、ステップS86へ移行する。
<ステップS86>
出力部504は、判定部533から受け取った棄却判定処理の判定結果、すなわち、その部分画像を棄却するか否かを示す棄却フラグを部分画像情報に含めて、後段の車両制御装置6に送信(出力)する。
以上のように、棄却判定部503aは、部分画像のライン(水平ライン、垂直ラインのいずれでもよい)ごとに、繰り返しパターンの画像領域に含まれる画素の数についてのヒストグラムを生成し、生成されたヒストグラムと、モデルヒストグラムとを比較し、比較結果に基づいて部分画像に対して棄却するか否かを判定するものとしている。これによって、モデルヒストグラムに類似するヒストグラムを有する繰り返しパターンを含む部分画像のみを棄却できるため、モデルヒストグラムの形状と一致しないヒストグラムを有する、部分的に繰り返しパターンを含む部分画像(例えば、上述の図30(d)に示す画像)の棄却を抑制、すなわち、誤棄却を抑制することができる。
[第9の実施の形態]
第9の実施の形態に係る物体認識装置について、第6の実施の形態に係る物体認識装置1bと相違する点を中心に説明する。本実施の形態では、部分画像を複数のブロックに分割し、ブロックごとに棄却判定処理を行い、棄却と判定されたブロックの数に基づいて、部分画像に対して棄却するか否かを判定する動作について説明する。なお、本実施の形態に係る物体認識装置のハードウェア構成および機能ブロック構成、視差値演算処理部350の機能ブロック構成、棄却部500の機能ブロック構成、ならびに、パターン検出部502の機能ブロック構成は、第6の実施の形態で説明した構成と同様である。また、本実施の形態に係る視差値導出部3bのブロックマッチング処理、クラスタリング部400におけるクラスタリング処理、および、棄却部500のパターン検出部502における繰り返しパターン検出処理も、第6の実施の形態と同様である。
(物体認識装置の機能ブロックの構成および動作)
図39は、第9の実施の形態の棄却部の棄却判定部の機能ブロック構成の一例を示す図である。図39を参照しながら、本実施の形態に係る物体認識装置の要素の機能ブロックの構成および動作について説明する。
本実施の形態の棄却部500は、棄却判定部503の代わりに、図39に示す棄却判定部503bを有する。図39に示すように、棄却判定部503bは、ブロック分割部541(分割手段)と、ブロック判定部542(ブロック判定手段)と、総合判定部543(対象画像判定手段)と、を有する。
ブロック分割部541は、部分画像の各画素についての検出フラグを入力し、部分画像を複数のブロックに分割する機能部である。ブロック分割部541は、分割結果として、分割したブロックおよび検出フラグを、ブロック判定部542に出力する。
ブロック判定部542は、ブロック分割部541により分割されたブロックごとに、ブロックの各画素についての検出フラグを用いて、そのブロックを棄却するか否かを判定する機能部である。この場合、ブロック判定部542によるブロックに対する棄却判定処理は、第6の実施の形態〜第8の実施の形態のいずれかの棄却判定処理の方式を採用してもよい。ブロック判定部542は、各ブロックについての棄却の判定結果であるブロック判定結果を、総合判定部543に出力する。
総合判定部543は、ブロック判定部542から受け取ったブロック判定結果に基づいて、棄却の判定がされたブロックの数が、所定値以上であるか否かを判定し、所定値以上である場合、部分画像を棄却する判定をする機能部である。総合判定部543は、部分画像を棄却するか否かの棄却判定処理の判定結果を、出力部504へ送る。
なお、総合判定部543は、棄却の判定がされたブロックの数に加えて、棄却の判定がされたブロックの配列を加味して、部分画像を棄却するか否かの判定を行ってもよい。例えば、総合判定部543は、配列を加味する例として、棄却の判定がされたブロックが横方向に所定の数連続して存在する場合に棄却する等の判定方式が挙げられる。また、総合判定部543は、配列を加味する例として、棄却の判定がされたブロックの密集度合いを考慮してもよい。例えば、棄却の判定がされたブロック間の距離を使う方式が挙げられる。この場合、棄却の判定がされたブロック間の距離を重みとして、そのブロックが密集して現れる場合に重みが高くなるように設定する等のスコアリング手法が考えられる。
また、総合判定部543は、棄却の判定がされたブロックの数が、所定値以上であるか否かを判定するものとしているが、これに限定されるものではなく、棄却の判定がされたブロックの数と、ブロックの総数との比が所定値以上であるか否かを判定するものとしてもよい。
また、図39に示すブロック分割部541、ブロック判定部542および総合判定部543は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図39に示す棄却判定部503bで独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図39に示す棄却判定部503bで1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
(棄却部の棄却判定処理)
図40は、第9の実施の形態に係る認識処理部の棄却部の棄却判定処理の動作の一例を示すフローチャートである。図40を参照しながら、認識処理部5bの棄却部500の棄却判定処理の動作の一例の流れについて説明する。
<ステップS91、S92>
図31のステップS51、S52と同様である。そして、ステップS93へ移行する。
<ステップS93>
ブロック分割部541は、部分画像の各画素についての検出フラグを入力し、部分画像を複数のブロックに分割する。ブロック分割部541は、分割結果として、分割したブロックおよび検出フラグを、ブロック判定部542に出力する。そして、ステップS94へ移行する。
<ステップS94>
ブロック判定部542は、ブロック分割部541により分割されたブロックごとに、ブロックの各画素についての検出フラグを用いて、そのブロックを棄却するか否かを判定する。ブロック判定部542は、各ブロックについての棄却の判定結果であるブロック判定結果を、総合判定部543に出力する。そして、ステップS95へ移行する。
<ステップS95>
総合判定部543は、ブロック判定部542から受け取ったブロック判定結果に基づいて、棄却の判定がされたブロックの数が、所定値以上であるか否かを判定し、所定値以上である場合、部分画像を棄却する判定(総合的に棄却判定)をする。総合判定部543は、部分画像を棄却するか否かの棄却判定処理の判定結果を、出力部504へ送る。
<ステップS96>
出力部504は、総合判定部543から受け取った棄却判定処理の判定結果、すなわち、その部分画像を棄却するか否かを示す棄却フラグを部分画像情報に含めて、後段の車両制御装置6に送信(出力)する。
以上のように、棄却判定部503bは、部分画像を複数のブロックに分割し、分割されたブロックごとに、ブロックの各画素についての検出フラグを用いて、そのブロックを棄却するか否かを判定し、棄却の判定がされたブロックの数に基づいて、部分画像を棄却するか否かを判定するものとしている。これによって、繰り返しパターンの画像領域に含まれる画素の密度を考慮した棄却を行うことができる。例えば、部分画像上の一部分だけに繰り返しパターンを含むような部分画像を棄却対象とすることができる。なお、ブロックごとの棄却判定は、同じ方法で実行する必要はなく、ブロックごとに適宜変更してもよい。
なお、上述の各実施の形態では、コスト値Cは非類似度を表す評価値としているが、類似度を表す評価値であってもよい。この場合、類似度であるコスト値Cが最大(極値)となるシフト量dが視差値dpとなる。
また、上述の各実施の形態では、車両70としての自動車に搭載される物体認識装置について説明したが、これに限定されるものではない。例えば、他の車両の一例としてバイク、自転車、車椅子または農業用の耕運機等の車両に搭載されるものとしてもよい。また、移動体の一例としての車両だけでなく、ロボット等の移動体であってもよい。
さらに、ロボットは、移動体だけでなく、FA(Factory Automation)において固定設置される工業用ロボット等の装置であってもよい。また、固定設置される装置としては、ロボットだけでなく、防犯用の監視カメラ等であってもよい。
なお、上述の各実施の形態において、物体認識装置1(1a、1b)の各機能部の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ROM等に予め組み込まれて提供される。また、上述の各実施の形態に係る物体認識装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上述の各実施の形態の物体認識装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の各実施の形態の物体認識装置で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述の各実施の形態の物体認識装置で実行されるプログラムは、上述した各機能部のうち少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしてはCPU32が上述のROM33からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置(RAM34等)上にロードされて生成されるようになっている。
1、1a、1b 物体認識装置
2 本体部
3、3a、3b 視差値導出部
4 通信線
5、5b 認識処理部
6 車両制御装置
7 ステアリングホイール
8 ブレーキペダル
10a、10b 撮像部
11a、11b 撮像レンズ
12a、12b 絞り
13a、13b 画像センサ
20a、20b 信号変換部
21a、21b CDS
22a、22b AGC
23a、23b ADC
24a、24b フレームメモリ
30 画像処理部
31 FPGA
32 CPU
33 ROM
34 RAM
35 I/F
39 バスライン
51 FPGA
52 CPU
53 ROM
54 RAM
55 I/F
58 CANI/F
59 バスライン
60 機器制御システム
70 車両
100 画像取得部
200 変換部
250 フィルタ処理部
300、300a、300b パターン検出部
301 画素値取得部
302 傾き算出部
303 極値検出部
304 閾値設定部
305 カウンタ部
306 有効性判断部
307 制御部
308 対象外領域検出部
309 周期算出部
310 記憶部
311 画素値レジスタ
312 傾きレジスタ
313 閾値レジスタ
314 極大値カウントレジスタ
315 極小値カウントレジスタ
350 視差値演算処理部
351 コスト算出部
352 決定部
353 生成部
400 クラスタリング部
500、500a 棄却部
501 入力部
502 パターン検出部
503、503a、503b 棄却判定部
504 出力部
505 モデル入力部
531 ヒストグラム生成部
532 比較部
533 判定部
541 ブロック分割部
542 ブロック判定部
543 総合判定部
600 路面
600a 路面部
601 電柱
601a 電柱部
602 車
602a 車部
611 左ガードレール
611a 左ガードレール部
612 右ガードレール
612a 右ガードレール部
613、614 車
613a、614a 車部
B 基線長
C コスト値
d シフト量
data1〜data3 画素値
dp 視差値
E 物体
EL エピポーラ線
f 焦点距離
Ia 基準画像
Ib 比較画像
Ip 部分画像
Ir パターン検出画像
LL 極小下限値
LU 極小上限値
OA1〜OA3 対象外領域
p 基準画素
pb 基準領域
Pmax 極大周期
Pmin 極小周期
q 候補画素
qb 候補領域
S、Sa、Sb 点
s 探索幅
Th 閾値
UL 極大下限値
UM Uマップ
UU 極大上限値
VM Vマップ
Z 距離
特許第5409237号公報

Claims (12)

  1. 撮像手段が被写体を撮像することにより得られた撮像画像の各画素値をそれぞれ対象画素値として取得する取得手段と、
    前記対象画素値を基準とする所定の探索範囲に含まれる前記画素値の変化を示すグラフの傾きを算出する傾き算出手段と、
    前記傾きに基づいて、前記画素値の極値を検出する極値検出手段と、
    前記極値検出手段によって前記探索範囲に含まれる前記画素値から検出された極値のうち、所定の範囲に含まれる極値の個数をカウントするカウント手段と、
    前記個数が所定の閾値以上である場合、前記対象画素値に対応する画素が、前記撮像画像の繰り返しパターンの画像領域に含まれると判断する判断手段と、
    前記極値検出手段により検出された極値に基づいて、前記所定の範囲として閾値範囲を設定する設定手段と、
    を備え
    前記極値検出手段は、前記傾きに基づいて、前記画素値の極大値および極小値を検出し、
    前記設定手段は、前記極値検出手段により検出された前記極大値に基づいて、前記閾値範囲としての第1範囲を設定し、前記極値検出手段により検出された前記極小値に基づいて、前記閾値範囲としての第2範囲を設定し、
    前記カウント手段は、前記極値検出手段によって前記探索範囲に含まれる前記画素値から検出された前記極大値のうち、前記第1範囲に含まれる前記極大値の個数である第1個数をカウントし、前記極値検出手段によって前記探索範囲に含まれる前記画素値から検出された前記極小値のうち、前記第2範囲に含まれる前記極小値の個数である第2個数をカウントし、
    前記判断手段は、前記第1個数および前記第2個数の少なくともいずれかに基づいて、前記対象画素値に対応する画素が、前記繰り返しパターンの画像領域に含まれるか否かを判断し、
    前記設定手段は、前記探索範囲外で前記極値検出手段により検出された極値に基づいて、前記閾値範囲を設定する検出装置。
  2. 前記撮像画像の画素値の変化を示すグラフの振幅が所定値以下の画像領域を対象外領域として検出する領域検出手段を、さらに備え、
    前記取得手段は、前記撮像画像で前記対象外領域以外の画像領域から前記対象画素値を取得する請求項1に記載の検出装置。
  3. 前記撮像画像の画素値の変化を示すグラフについて、フィルタ処理により所定の周波数以下の周波数成分を除去する除去手段を、さらに備え、
    前記取得手段は、前記除去手段により前記フィルタ処理が実行された前記撮像画像から前記対象画素値を取得する請求項1または2に記載の検出装置。
  4. 前記撮像画像の画素値の変化を示すグラフの周期を算出する周期算出手段を、さらに備え、
    前記周期算出手段は、算出した周期に応じて、前記探索範囲または前記所定の閾値を変える請求項1〜のいずれか一項に記載の検出装置。
  5. 請求項1〜のいずれか一項に記載の検出装置と、
    前記撮像手段が前記被写体を撮像することにより得られた前記撮像画像、および前記撮像手段の位置とは異なる位置の別の撮像手段が前記被写体を撮像することにより得られた別の撮像画像に基づいて、前記被写体に対する視差値を決定して出力する視差値演算手段と、
    を備え、
    前記検出装置は、前記判断手段により判断された、前記対象画素値に対応する画素が繰り返しパターンの画像領域に含まれるか否かの判断結果を出力する視差値導出装置。
  6. 請求項1〜のいずれか一項に記載の検出装置を備え、
    前記検出装置は、対象画像の画像領域が繰り返しパターンを含むか否かを検出し、
    前記検出装置により検出された繰り返しパターンが所定の条件を満たす場合に、前記対象画像に対して棄却と判定する棄却判定手段を、さらに備えた物体認識装置。
  7. 前記取得手段は、前記撮像画像での前記対象画像の各画素値をそれぞれ前記対象画素値として取得し、
    前記棄却判定手段は、前記判断手段により前記対象画像で繰り返しパターンの画像領域に含まれると判断された画素の数、および該対象画像の画素数に基づいて、該対象画像に対して棄却するか否かを判定する請求項に記載の物体認識装置。
  8. 前記棄却判定手段は、
    前記対象画像のラインごとに、前記判断手段により繰り返しパターンの画像領域に含まれると判断された画素の数をカウントし、
    前記ラインごとにカウントした画素の数に基づいて、該ラインが繰り返しパターンを含むか否かを判定し、
    繰り返しパターンを含む前記ラインの数に基づいて、前記対象画像に対して棄却するか否かを判定する請求項に記載の物体認識装置。
  9. 前記棄却判定手段は、
    前記対象画像のラインごとに、前記判断手段により繰り返しパターンの画像領域に含まれると判断された画素の数のヒストグラムを生成する生成手段と、前記ヒストグラムと、所定のモデルヒストグラムとを比較する比較手段と、を有し、
    前記比較手段の比較結果に基づいて、前記対象画像に対して棄却するか否かを判定する請求項に記載の物体認識装置。
  10. 前記棄却判定手段は、
    前記対象画像を複数のブロックに分割する分割手段と、
    前記ブロックごとに、該ブロックに含まれる繰り返しパターンが所定の条件を満たす場合、該ブロックに対して棄却と判定するブロック判定手段と、
    前記ブロック判定手段により棄却と判定された前記ブロックの数に基づいて、前記対象画像に対して棄却するか否かを判定する対象画像判定手段と、
    を有する請求項に記載の物体認識装置。
  11. 請求項10のいずれか一項に記載の物体認識装置と、
    前記物体認識装置による処理の結果に基づいて、制御対象を制御する制御装置と、
    を備えた機器制御システム。
  12. コンピュータを、
    撮像手段が被写体を撮像することにより得られた撮像画像の各画素値をそれぞれ対象画素値として取得する取得手段と、
    前記対象画素値を基準とする所定の探索範囲に含まれる前記画素値の変化を示すグラフの傾きを算出する傾き算出手段と、
    前記傾きに基づいて、前記画素値の極値を検出する極値検出手段と、
    前記極値検出手段によって前記探索範囲に含まれる前記画素値から検出された極値のうち、所定の範囲に含まれる極値の個数をカウントするカウント手段と、
    前記個数が所定の閾値以上である場合、前記対象画素値に対応する画素が、前記撮像画像の繰り返しパターンの画像領域に含まれると判断する判断手段と、
    前記極値検出手段により検出された極値に基づいて、前記所定の範囲として閾値範囲を設定する設定手段と、
    して機能させ
    前記極値検出手段は、前記傾きに基づいて、前記画素値の極大値および極小値を検出し、
    前記設定手段は、前記極値検出手段により検出された前記極大値に基づいて、前記閾値範囲としての第1範囲を設定し、前記極値検出手段により検出された前記極小値に基づいて、前記閾値範囲としての第2範囲を設定し、
    前記カウント手段は、前記極値検出手段によって前記探索範囲に含まれる前記画素値から検出された前記極大値のうち、前記第1範囲に含まれる前記極大値の個数である第1個数をカウントし、前記極値検出手段によって前記探索範囲に含まれる前記画素値から検出された前記極小値のうち、前記第2範囲に含まれる前記極小値の個数である第2個数をカウントし、
    前記判断手段は、前記第1個数および前記第2個数の少なくともいずれかに基づいて、前記対象画素値に対応する画素が、前記繰り返しパターンの画像領域に含まれるか否かを判断し、
    前記設定手段は、前記探索範囲外で前記極値検出手段により検出された極値に基づいて、前記閾値範囲を設定するプログラム。
JP2016079780A 2015-06-16 2016-04-12 検出装置、視差値導出装置、物体認識装置、機器制御システム、およびプログラム Active JP6701905B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP16174586.4A EP3115965B1 (en) 2015-06-16 2016-06-15 Detection device, disparity value deriving device, object recognizing device, device control system, detection method, and program

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2015121475 2015-06-16
JP2015121475 2015-06-16
JP2015148992 2015-07-28
JP2015148992 2015-07-28

Publications (2)

Publication Number Publication Date
JP2017027578A JP2017027578A (ja) 2017-02-02
JP6701905B2 true JP6701905B2 (ja) 2020-05-27

Family

ID=57950623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016079780A Active JP6701905B2 (ja) 2015-06-16 2016-04-12 検出装置、視差値導出装置、物体認識装置、機器制御システム、およびプログラム

Country Status (1)

Country Link
JP (1) JP6701905B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3933767A1 (en) * 2020-06-30 2022-01-05 Amlogic (Shanghai) Co., Ltd. Scene detection method, chip, electronic device, and storage medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017047282A1 (ja) 2015-09-15 2017-03-23 株式会社リコー 画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラム
JP2018147976A (ja) * 2017-03-03 2018-09-20 キヤノン株式会社 固体撮像装置及びその製造方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001351200A (ja) * 2000-06-09 2001-12-21 Nissan Motor Co Ltd 車載用物体検知装置
JP4869049B2 (ja) * 2006-12-08 2012-02-01 株式会社東芝 補間フレーム画像作成方法および補間フレーム画像作成装置
JP6222514B2 (ja) * 2012-01-11 2017-11-01 パナソニックIpマネジメント株式会社 画像処理装置、撮像装置、およびコンピュータブログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3933767A1 (en) * 2020-06-30 2022-01-05 Amlogic (Shanghai) Co., Ltd. Scene detection method, chip, electronic device, and storage medium
US11823393B2 (en) 2020-06-30 2023-11-21 Amlogic (Shanghai) Co., Ltd Scene detection method, chip, electronic device, and storage medium

Also Published As

Publication number Publication date
JP2017027578A (ja) 2017-02-02

Similar Documents

Publication Publication Date Title
JP6795027B2 (ja) 情報処理装置、物体認識装置、機器制御システム、移動体、画像処理方法およびプログラム
US10776946B2 (en) Image processing device, object recognizing device, device control system, moving object, image processing method, and computer-readable medium
JP6344638B2 (ja) 物体検出装置、移動体機器制御システム及び物体検出用プログラム
CN109997148B (zh) 信息处理装置、成像装置、设备控制系统、移动对象、信息处理方法和计算机可读记录介质
JP6597795B2 (ja) 画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラム
JP6516012B2 (ja) 画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラム
JP6597792B2 (ja) 画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラム
WO2014002692A1 (ja) ステレオカメラ
JP2008033750A (ja) 物体傾き検出装置
JP6572696B2 (ja) 画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラム
JP2017151535A (ja) 画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラム
JP6701905B2 (ja) 検出装置、視差値導出装置、物体認識装置、機器制御システム、およびプログラム
JPWO2017099199A1 (ja) 画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラム
US20150091714A1 (en) Filtering device and environment recognition system
JP6992356B2 (ja) 情報処理装置、撮像装置、機器制御システム、移動体、情報処理方法およびプログラム
JP2017167970A (ja) 画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラム
JP4788399B2 (ja) 歩行者検出方法、装置、およびプログラム
JP6569416B2 (ja) 画像処理装置、物体認識装置、機器制御システム、画像処理方法及び画像処理プログラム
EP3115965B1 (en) Detection device, disparity value deriving device, object recognizing device, device control system, detection method, and program
WO2018097269A1 (en) Information processing device, imaging device, equipment control system, mobile object, information processing method, and computer-readable recording medium
JP2019160251A (ja) 画像処理装置、物体認識装置、機器制御システム、移動体、画像処理方法およびプログラム
JP6701738B2 (ja) 視差値導出装置、視差値導出方法及びプログラム
JP6334773B2 (ja) ステレオカメラ
JP6828332B2 (ja) 画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200303

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200420

R151 Written notification of patent or utility model registration

Ref document number: 6701905

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151