JP6810009B2 - 視差算出装置 - Google Patents

視差算出装置 Download PDF

Info

Publication number
JP6810009B2
JP6810009B2 JP2017191795A JP2017191795A JP6810009B2 JP 6810009 B2 JP6810009 B2 JP 6810009B2 JP 2017191795 A JP2017191795 A JP 2017191795A JP 2017191795 A JP2017191795 A JP 2017191795A JP 6810009 B2 JP6810009 B2 JP 6810009B2
Authority
JP
Japan
Prior art keywords
parallax
dimensional object
pixels
pixel
calculated
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
JP2017191795A
Other languages
English (en)
Other versions
JP2019066308A (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.)
Denso Corp
Toyota Motor Corp
Original Assignee
Denso Corp
Toyota Motor Corp
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 Denso Corp, Toyota Motor Corp filed Critical Denso Corp
Priority to JP2017191795A priority Critical patent/JP6810009B2/ja
Priority to US16/145,348 priority patent/US10438367B2/en
Priority to DE102018124032.5A priority patent/DE102018124032A1/de
Publication of JP2019066308A publication Critical patent/JP2019066308A/ja
Application granted granted Critical
Publication of JP6810009B2 publication Critical patent/JP6810009B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Measurement Of Optical Distance (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本発明は、ステレオカメラを用いて撮像された撮像画像に基づいて視差を算出する視差算出装置に関する。
従来から、ステレオカメラを用いて撮像された撮像画像に基づいて画素毎に視差を算出し、算出された視差に基づいて距離(即ち、ステレオカメラから、当該視差を有する画素に対応する領域までの距離)を算出する技術が知られている。視差の算出精度が低いと距離の算出精度が低下するため、視差を精度よく算出するための様々な装置が開発されている。
例えば、特許文献1には、「一対の撮像画像のうち一方の撮像画像において視差算出の対象とされた画素(注目画素)」に対する「他方の撮像画像の所定範囲内の各画素」の類似度を表す指標値に基づいて当該注目画素の視差を算出する視差算出装置が開示されている。
視差を算出する方法の1つとして、セミグローバルマッチング法(SGM:Semi Global Matching法)が挙げられる。SGM法は、撮像画像においてテクスチャが比較的に低い領域(明暗の差が小さい領域)に含まれる画素についても視差の算出が可能になる点で他の視差算出方法(例えば、ブロックマッチング(BM:Block Matching)法)よりも優れている。しかしながら、その一方で、パラボラフィッティングによる放物線の傾きが急峻になるため、ピクセルロッキングが発生し易い。ここで、ピクセルロッキングとは、視差が整数値に近い値(例えば、整数値の±0.1ピクセルの値)として算出される現象である。このため、SGM法により算出される視差の小数部分の精度はそれほど高いとは言えない。
そこで、SGM法におけるピクセルロッキングの発生を抑制する方法として、非特許文献1には、視差の小数部分の推定に用いる補間関数を調整する方法が提案されている。
特開2013−164351号公報
ハラー・イストバンら(Haller, Istvan, et al.)、「改善されたサブピクセル精度を用いたリアルタイムセミグローバルデンスステレオ法」 (Real-time semi-global dense stereo solution with improved sub-pixel accuracy)、インテリジェント自動車シンポジウム(IV),2010 IEEE(Intelligent Vehicles Symposium (IV), 2010 IEEE)、(米国)、 2010、p.369−376
しかしながら、この補間関数は、模様のある路面領域の視差分布(路面視差分布)がピクセルロッキングのない均一な分布となるように適合的に導出された関数であるため、模様のある路面領域の視差分布とは異なる視差分布を有する領域についてはピクセルロッキングの発生を抑制できない可能性が高い。即ち、非特許文献1に提案される補間関数は汎用性が低いため、領域の種類(属性)に限られずにピクセルロッキングの発生を抑制する技術の開発が望まれている。
本発明は、上述した問題に対処するためになされたものである。即ち、本発明の目的の一つは、撮像画像においてテクスチャが比較的に低い領域に含まれる画素についても視差を算出しながら、各画素の視差を精度よく算出することが可能な視差算出装置を提供することにある。
本発明による視差算出装置(以下、「本発明装置」と称する。)は、
ステレオカメラを用いて所定時間が経過する毎に領域を撮像する撮像手段(11、ステップ602)と、
前記撮像手段(11)によって同じ演算タイミングで撮像された複数の撮像画像のうちの基準となる撮像画像である基準画像を基準として、セミグローバルマッチング法を用いて、前記複数の撮像画像において対応する画素同士の視差である第1視差(d1)を、前記基準画像中の全ての画素について算出する第1視差算出手段(ステップ604)と、
前記基準画像を基準として、ブロックマッチング法を用いて、前記複数の撮像画像において対応する画素同士の視差である第2視差(d2)を、前記基準画像中の画素のうち少なくとも一部の画素について算出する第2視差算出手段(ステップ618)と、
前記第1視差(d1)と前記第2視差(d2)と、に基づいて、前記基準画像中の各画素の最終的な視差である最終視差(df)を算出する最終視差算出手段と、を備え、
前記最終視差算出手段は、
前記第1視差(d1)しか算出されていない画素については当該第1視差(d1)を前記最終視差(df)として算出し、
前記第1視差(d1)及び前記第2視差(d2)が算出された画素については、当該画素の前記第1視差(d1)の小数部分を前記第2視差(d2)の小数部分に置き換えた視差を前記最終視差(df)として算出する、
ように構成されている。
セミグローバルマッチング法(SGM法)は、基準画像においてテクスチャが比較的に低い領域(以下、「低テクスチャ領域」とも称する。)に含まれる画素についても視差を算出することができる反面、ピクセルロッキングが発生し易いため、視差の小数部分の算出精度においてはブロックマッチング法(BM法)に劣る。一方、BM法は、低テクスチャ領域に含まれる画素の視差の算出精度においてはSGM法に劣るものの、ピクセルロッキングが発生し難いため、テクスチャがそれほど低くない領域に含まれる画素については視差の小数部分を高い精度で算出できる。
そこで、本発明装置は、基準画像中の全ての画素についてSGM法により第1視差を算出し、基準画像中の画素のうち少なくとも一部の画素については、BM法により更に第2視差を算出する。そして、第1視差しか算出されていない画素については第1視差を最終視差として算出し、第1視差及び第2視差が算出された画素については第1視差の小数部分を第2視差の小数部分で置き換えた視差を最終視差として算出する。この構成によれば、基準画像中の全ての画素について最終視差として第1視差が算出されるため、低テクスチャ領域に含まれる画素についても視差を算出することができる。加えて、基準画像中の上記少なくとも一部の画素については第1視差の小数部分が第2視差の小数部分で置き換えられた視差が最終視差として算出されるため、当該最終視差についてはピクセルロッキングの発生を抑制することができ、視差の精度が格段に向上する。この結果、撮像画像中の低テクスチャ領域に含まれる画素についても視差を算出しながら、各画素の視差を精度よく算出することが可能となる。なお、「第1視差を基準画像中の全ての画素について算出する」とは、基準画像において「第1視差を算出可能な全ての画素」について第1視差を算出することを意味するものであり、基準画像を構成する全ての画素について第1視差を算出することを常に意味するものではない。
加えて、本発明装置の一側面は、
更に、前記第1視差(d1)に基づいて前記基準画像中の画素のうち立体物候補に対応する画素を抽出する画素抽出手段を備え(ステップ608)、
前記第2視差算出手段は、前記抽出された画素についてのみ前記第2視差(d2)を算出するように構成されている。
一般に、基準画像を構成する画素は、立体物候補、路面、又は、立体物候補及び路面の何れにも該当しない不明領域、の何れかに対応している。ここで、立体物候補は、所定のサイズを有し、立体物の基本単位を表す。立体物が比較的に小さい場合(例えば、歩行者)、立体物候補は立体物そのものに対応する。一方、立体物が比較的に大きい場合(例えば、側壁及び建造物等)、当該立体物は1つの立体物候補にのみ対応するのではなく、複数の立体物候補に対応する。この場合、立体物候補は、立体物の一部に対応する。
路面に対応する画素群のテクスチャは比較的に低いため、当該画素群についてBM法により第2視差の算出を試みても適切な値を得られない可能性が高い。加えて、不明領域に対応する画素群についてはテクスチャの傾向が不明であるため、当該画素群についてBM法により第2視差の算出を試みても適切な値を得られるか否か不明である。一方、立体物候補に対応する画素群のテクスチャは比較的に高いため、当該画素群についてはBM法により第2視差を適切に算出できる可能性が高い。そこで、本発明装置は、立体物候補に対応する画素を抽出し、抽出された画素についてのみ第2視差を算出して最終視差を求める。この構成によれば、第2視差を適切に算出できる可能性が高い領域に含まれる画素についてのみ選択的に第2視差を算出するため、視差の算出精度が低下することを抑制しながら、処理効率を向上させることができる。
更に、本発明装置の一側面では、
前記第2視差算出手段は、前記抽出された画素の前記第1視差(d1)の平均値である平均視差(d1ave)を前記立体物候補毎に算出し、前記平均視差(d1ave)が所定の視差閾値(d1th)以下の前記立体物候補に対応する画素についてのみ前記第2視差(d2)を算出する。
ピクセルロッキングによる視差の算出精度の低下は、視差が小さくなるほど顕著になる。そこで、本発明装置は、立体物候補毎に平均視差を算出し、当該平均視差が視差閾値以下の立体物候補に対応する画素についてのみ(即ち、ピクセルロッキングによる視差の算出精度の低下が顕著な画素に対してのみ)選択的に第2視差を算出して最終視差を求める。即ち、視差が比較的に大きいためにピクセルロッキングにより視差の算出精度がそれほど低下しない画素については第2視差を算出しない。この構成によれば、視差の算出精度が低下することを抑制しながら、処理効率を更に向上させることができる。
更に、本発明装置の一側面では、
前記第2視差算出手段は、前記抽出された画素について、明暗の差の大きさを示す尺度である明暗指標値を算出し、当該明暗指標値が所定の指標値閾値より大きい画素についてのみ前記第2視差を算出するように構成されている。
上述したように、BM法では低テクスチャ領域に含まれる画素については視差を適切に算出できない。上記の構成によれば、テクスチャが比較的に高い領域に含まれる画素についてのみ選択的に第2視差を算出して最終視差を求める。このため、BM法により第2視差を適切に算出できない可能性がある画素についてまで第2視差の算出を試みてしまう可能性を大幅に低減でき、結果として、視差の算出精度が低下することを抑制しながら、処理効率を更に向上させることができる。
更に、本発明装置の一側面では、
前記第2視差算出手段は、
前記抽出された画素の前記第1視差の平均値である平均視差を前記立体物候補毎に算出し、
前記平均視差が所定の視差閾値以下の前記立体物候補に対応する画素について、明暗の差の大きさを示す尺度である明暗指標値を算出し、
当該明暗指標値が所定の指標値閾値より大きい画素についてのみ前記第2視差を算出するように構成されている。
上記の構成によれば、立体物候補の平均視差が視差閾値以下の立体物候補に対応する画素のうち、明暗指標値が指標値閾値より大きい画素についてのみ選択的に第2視差を算出して最終視差を求める。このため、ピクセルロッキングによる視差の算出精度の低下が顕著であり、且つ、BM法により第2視差を適切に算出できる可能性が高い画素についてのみ第2視差の算出を行うようにすることができるため、視差の算出精度が低下することを抑制しながら、処理効率をより一層向上させることができる。
尚、上記説明においては、発明の理解を助けるために、実施形態に対応する発明の構成に対して、実施形態で用いた符号を括弧書きで添えているが、発明の各構成要件は前記符号によって規定される実施形態に限定されるものではない。
本発明の第1実施形態に係る視差算出装置(以下、「第1実施装置」と称する。)及び第1実施装置に接続された立体物表示制御装置の概略構成図である。 SGM法を用いてマッチングコストを算出する方法を説明するために用いる図である。 視差投票マップの平面図である。 視差投票マップの斜視図である。 各ブロックに立体物の属性又は立体物以外の属性が設定された視差投票マップを示す図である。 sobelフィルタのオペレータを示す図である。 sobelフィルタが適用される9つの画素を示す図である。 第1実施装置の視差算出ECUのCPUが実行するルーチンを示すフローチャートである。 静止している立体物に自車両が一定速度で接近する場合における、演算タイミングと、従来の視差算出方法に基づいて算出された当該立体物までの奥行き方向の距離と、の関係を規定したグラフである。 静止している立体物に自車両が一定速度で接近する場合における、演算タイミングと、第1実施装置の視差算出方法に基づいて算出された当該立体物までの奥行き方向の距離と、の関係を規定したグラフである。 第2実施装置の視差算出ECUのCPUが実行するルーチンを示すフローチャートである。
(第1実施形態)
図1は、本発明の第1実施形態に係る視差算出装置(以下、「第1実施装置」とも称する。)と、第1実施装置に接続された立体物表示制御装置の概略システム構成図である。本実施形態では、第1実施装置及び立体物表示制御装置は車両に搭載される。以下では、これらの装置が搭載された車両を「自車両」と称して他車両と区別する。
第1実施装置は、視差算出ECU10と、視差算出ECU10に接続されたカメラセンサ11と、を備える。立体物表示制御装置は、立体物検出ECU20と、立体物検出ECU20に接続された表示装置21と、を備える。なお視差算出ECU10は、立体物検出ECU20と、通信・センサ系CAN(Controller Area Network)を介してデータ交換可能(通信可能)に接続されている。ECUは、「Electirc Control Unit」の略であり、マイクロコンピュータを主要部として備える。マイクロコンピュータは、CPUとROM及びRAM等の記憶装置とを含む。CPUはROMに格納されたインストラクション(プログラム、ルーチン)を実行することによって、各種機能を実現する。以下、視差算出ECU10は、単に「ECU10」と称し、立体物検出ECU20は、単に「ECU20」と称する。なお、単一の、車両周辺監視ECUが、ECU10の機能とECU20の機能とを備えることも可能である。更に、車両周辺ECUの機能は、自車両の走行を支援する制御を行ったり衝突回避制御を実施する制御を行ったりする運転支援ECUにより実現されてもよい。
カメラセンサ11は、自車両前方を撮像する車載ステレオカメラ装置(図示省略)を備える。車載ステレオカメラ装置は、自車両のルーフ前端部の車幅方向中央付近に設けられ、車両前後軸より左側に配置される左カメラと、車両前後軸より右側に配置される右カメラと、を有する。左カメラは所定時間が経過する毎に主として自車両の前方左側の領域を撮像し、撮像した左画像を表す左画像信号をECU10に出力する。同様に、右カメラは所定時間が経過する毎に主として自車両の前方右側の領域を撮像し、撮像した右画像を表す右画像信号をECU10に出力する。なお、左画像及び右画像が、「複数の撮像画像」の一例に相当する。
ECU10は、カメラセンサ11から出力された左右の画像信号によって表される左右一対の画像(左画像及び右画像)のうち、右画像を基準として、右画像を構成する各画素の視差を、「右画像中の領域の種類」、「自車両から当該領域までの自車両の進行方向(奥行き方向)における距離」、及び、「視差算出の対象となっている画素を含む所定範囲の画素群の明暗の差の大きさ」等に基づいて互いに異なる2種類の手法で算出し、2種類の最終視差を算出する。以下では、右画像を「基準画像」とも称する。ECU10は、最終視差に、基準画像中の画素の座標と、当該画素に対応する領域の種類と、を関連付けた情報を画素情報としてECU20に送信する。
ECU20は、ECU10から送信される画素情報のうち、領域の種類が「立体物候補」に対応する画素の画素情報を抽出する。そして、抽出された画素情報に含まれる最終視差に基づいて、自車両から、画素(当該抽出された画素情報が対応付けられている画素)に対応する領域までの自車両の進行方向(奥行き方向)における距離を算出する。ECU20は、複数の立体物候補の中に、互いに隣接する立体物候補が存在する場合、これらの立体物候補同士が1つの連続した立体物であるのか個別の立体物であるのかを当該距離に基づいて判定し、1つの連続した立体物であると判定した場合、隣接する立体物候補同士を結合する。これにより、ECU20は、基準画像中の立体物を検出する。ECU20は、立体物の検出結果の表示を指令する信号(表示指令信号)を表示装置21に送信する。
表示装置21は、自車両の運転席から視認可能な位置に設けられたディスプレイ装置である。表示装置21は、ECU20から表示指令信号を受信すると、立体物の検出結果(即ち、各立体物の位置、形状及び自車両からの距離等)を表示する。
(作動の詳細)
次に、第1実施装置の作動の詳細について説明する。
<SGM法による第1視差d1の算出>
第1実施装置のECU10は、自車両の図示しないエンジンスイッチ(イグニッション・キー・スイッチ)がオン状態へと変更されてからオフ状態へと変更されるまでの期間(以下、「エンジンオン期間」とも称する。)、所定時間(演算周期)が経過する毎に、以下のようにして第1視差d1を算出する。即ち、ECU10は、カメラセンサ11から出力された左右の画像信号によって表される左右一対の画像のうち右画像(基準画像)を基準として、SGM(セミグローバルマッチング)法を用いて、左右一対の画像において対応する画素同士の視差を算出する。以下では、SGM法によって算出される視差を「第1視差d1」と称する。ECU10は、基準画像中の全ての画素について第1視差d1を算出する。なお、「全ての画素」とは、基準画像において第1視差d1が算出可能な画素の全てを意味しており、基準画像を構成する全ての画素を常に意味するものではない。
SGM法は複数の撮像画像から視差を算出する際に用いられる周知の手法であり、低テクスチャ領域(明暗の差が比較的に小さい領域)においても視差を算出できる点で他の視差算出手法(例えば、BM(ブロックマッチング)法)と異なっている。以下、SGM法の概要について説明する。
図2に示すように、ECU10は、基準画像において第1視差d1の算出対象である画素40(以下、「注目画素40」と称する。)を中心として3ピクセル×3ピクセルのウィンドウWを生成する。そして、ウィンドウWを左画像内の探索範囲R1内で水平方向に走査しながら、1ピクセル移動する毎にマッチングコストとしてのZSSD(Zero-mean Sum of Squared Difference)を算出する。探索範囲R1は、右画像中の注目画素40の座標(u,v)と同一のv座標を有し、横方向に所定の長さを有する範囲に設定される。なお、u及びvはそれぞれ撮像画像の横方向及び縦方向の成分を表す。図2の例において、ECU10がウィンドウWを水平方向に走査しながら64ピクセル分だけ移動したとすると、注目画素40について65個のマッチングコストが算出される。以下では、画素のu座標のずれ量がkピクセル(k:0〜64)のときのマッチングコストを「k番目のマッチングコストCmk」と称する。なお、ウィンドウWのサイズはこれに限定されず、例えば5ピクセル×5ピクセルのサイズであってもよい。
ECU10は、図2に示すように、画像端から注目画素40の上下左右斜めの隣接画素41〜48を経由して注目画素40に至るパスr1〜r8について以下の式(1)に示す漸化式に則ってコストLk,rn(n=1〜8)を算出する。

Lk,rn(注目画素40)=Cmk+min{Lk,rn(隣接画素4n), Lk-1,rn(隣接画素4n)+α, Lk+1,rn(隣接画素4n)+α, min_i(Li,rn(隣接画素4n))+β}-min_i(Li,rn(隣接画素4n)) …(1)

ここで、αは第1ペナルティ値であり、ベータは第2ペナルティ値であり、両者の間にはβ>αの関係が成立する。加えて、min_i(Xi)は、i=1〜k−2,k+2〜64の範囲におけるXiの最小値を表す。更に、画像端においては、上記式(1)の右辺の2項目及び3項目の値は0となる。式(1)に則って算出される注目画素40に対するパスr1〜r8についての8個のコストLk,rn(n=1〜8)は、注目画素40についてk番目の最終コストCfk(後述)を算出するために使用される。
ECU10は、8個のk番目のコストLk,r1〜Lk,r8を積算することにより、注目画素40のk番目の最終コストCfkを算出する。ECU10は、上記の手順でk=0〜64のときの注目画素40の最終コストCfkを65個算出する。そして、画素のずれ量k(横軸)と最終コストCfk(縦軸)との関係を規定したグラフにこれら65個の最終コストCfkをプロットし、パラボラフィッティングにより最終コストCfkの最小値に対応する画素のずれ量を算出する。この画素のずれ量が第1視差d1に相当する。パラボラフィッティングを行うことにより、第1視差d1は小数点以下の値まで算出される。
以上がSGM法の概要である。SGM法は、画像端から注目画素に至るパスについてコストを足し合わせていき、最終的に複数方向のパスのコストを積算することにより最終コストCfを算出することを特徴としている。これにより、低テクスチャ領域においても視差を算出できるという上述した特性がもたらされている。なお、上記の概要は最終コストCfの算出方法の一例を示すものであり、他の方法を用いて最終コストCfが算出されてもよい。SGM法についてのより詳細な説明は、以下の文献、ハラー・イストバンら(Haller, Istvan, et al.)、「改善されたサブピクセル精度を用いたリアルタイムセミグローバルデンスステレオ法」 (Real-time semi-global dense stereo solution with improved sub-pixel accuracy)、インテリジェント自動車シンポジウム(IV),2010 IEEE(Intelligent Vehicles Symposium (IV), 2010 IEEE)、(米国)、 2010を参照されたい。但し、上記文献においては、マッチングコストはZZSDではなくCensus変換を用いて算出されている。なお、マッチングコストは、ZSSDの代わりにSSD(Sum of Squared Difference)又はSAD(Sum of Absolute Difference)等を用いて算出されてもよい。ECU10は、第1視差d1を、基準画像中の各画素の座標と関連付けてECU10のRAMに格納する。
<視差画像の生成>
ECU10は、エンジンオン期間中、所定時間が経過する毎に、第1視差d1に基づいて視差画像を生成する。視差画像は、基準画像のうちの第1視差d1が求められた画素からなる画像であり、視差画像を構成する各画素には第1視差d1が対応付けられている。このため、以下では、視差画像中の各画素を「視差点」とも称する。ECU10は、視差画像をそのRAMに格納し、所定時間が経過する毎に更新する。
<立体物ブロックの検出>
本実施形態では、ECU10は、基準画像中の立体物に対応する画素のうち、後述する所定の条件を満たした画素については、後述するBM法を用いて視差の再算出を行う。そこで、ECU10は、まず、立体物又は立体物の一部(後述)に対応する視差点を推定する。
図3Aは視差投票マップ30の平面図を示し、図3Bは視差投票マップ30の斜視図を示す。視差投票マップ30は、ECU10のRAMに予め設けられている。図3A及び図3Bに示すように、視差投票マップ30は、横方向の辺が視差画像の横方向(車幅方向)の位置に対応し、縦方向の辺が視差画像の縦方向の位置に対応し、奥行き方向の辺が第1視差d1の大きさに対応するように配列された複数の直方体形状のブロック32を備える。ECU10は、視差画像に基づいて、視差投票マップ30の各ブロック32に立体物又は立体物以外(例えば、路面)の属性を設定する。属性の設定方法は周知であるため、以下では簡単に説明する(詳細については、特開2013−161434号公報を参照)。
ECU10は、視差画像中の各視差点を、視差点の位置(横方向の位置及び縦方向の位置)と第1視差d1の大きさとに基づいて、視差投票マップ30の対応するブロック32に投票(分類)する。そして、ECU10は、視差投票マップ30の各ブロック32について、第1視差d1の平均値、第1視差d1の偏差、視差画像の縦方向における視差点の座標の平均値及び視差画像の縦方向における視差点の座標の偏差を算出する。ECU10は、これらの値をECU10のRAMに格納する。以下では、第1視差d1の平均値を、「平均視差d1ave」と称する。
ECU10は、視差投票マップ30のブロック32内に、同程度の視差(距離)を有する視差点が、視差画像の縦方向において広い範囲に分布している場合、当該視差点の集合は立体物を示していると判定する。具体的には、視差点の縦方向における分布が所定の第1閾値以上であるという条件、及び、視差点の視差方向の分布が所定の第2閾値未満であるという条件を満たしている場合、図4に示すように、ECU10は、当該視差点が分類されているブロック32に立体物の属性を設定する。以下では、立体物の属性に設定されたブロック32を「立体物ブロック32a」とも称する。一方、視差点の分布が上記条件を満たさないブロック32には立体物以外の属性を設定する。図4のブロック32のうち立体物ブロック32a以外のブロックには立体物以外の属性(例えば、路面、並びに、立体物及び路面の何れにも該当しない不明領域)が設定される。ECU10は、視差投票マップ30の各ブロックに立体物又は立体物以外の属性を設定することにより、立体物ブロック32aを検出する。
ECU10は、立体物ブロック32aに分類された視差点を立体物視差点として推定し、立体物ブロック32a以外のブロック32に分類された視差点を立体物視差点以外の視差点として推定する。ECU10は、視差画像中における立体物視差点の座標を立体物ブロック32a毎にグルーピングした座標群をそのRAMに格納する。
<立体物視差点判定>
ECU10は、エンジンオン期間中、所定時間が経過する毎に、基準画像において最終視差df(後述)の算出対象とされた画素に対応する視差点(以下、「注目視差点」と称する。)が立体物視差点であるか否かを判定する立体物視差点判定を行う。別言すれば、ECU10は、立体物視差点判定において、注目視差点が立体物ブロック32aに分類されている視差点であるか否かを判定する。これは、注目視差点の座標が、RAMに格納されている立体物視差点の座標の何れかと一致するか否かに基づいて判定される。
注目視差点が立体物視差点であると判定した場合、ECU10は、当該注目視差点は立体物ブロック32aに分類されている視差点であると判定する。この場合、ECU10は、当該注目視差点に対応する画素(即ち、基準画像を構成する画素)はBM法による視差の再算出の対象となり得るか否かを判定するために、後述する2種類の判定、即ち、平均視差判定と、明暗指標値判定と、を行う。一方、注目視差点が立体物視差点ではないと判定した場合、ECU10は、当該注目視差点は立体物ブロック32a以外のブロック32に分類されている視差点であると判定する。この場合、ECU10は、既に算出されている第1視差d1を、当該注目視差点の最終視差dfとしてECU20に送信する。ECU10は、視差画像中の全ての画素を注目視差点としてこの判定を行う。ここで、「全ての画素」とは、視差画像において、後述するBM法による視差が算出可能な画素の全てを意味する。
<平均視差判定>
ECU10は、エンジンオン期間中、所定時間が経過する毎に、上記の立体物視差点判定において立体物ブロック32aに分類されていると判定された注目視差点について、当該注目視差点が分類されている立体物ブロック32a(以下、「注目立体物ブロック32a」とも称する。)の平均視差d1ave(第1視差d1の平均値)が、所定の視差閾値d1th以下であるか否かを判定する平均視差判定を行う。なお、立体物ブロック32aの平均視差d1aveは、視差投票マップ30から立体物ブロック32aを検出する際に既に算出されている。
周知のように、視差は自車両(左右カメラ)からの奥行き方向の距離に相関しており、その値は距離が長くなるほど小さくなる。このため、上記平均視差判定は、「自車両から注目立体物ブロック32aに対応する立体物までの奥行き方向の距離」が所定の距離閾値以上であるか否かの判定ということもできる。このため、注目立体物ブロック32aの平均視差d1aveが視差閾値d1th以下である(d1ave≦d1th)と判定した場合、ECU10は、注目立体物ブロック32aに対応する立体物は、自車両から距離閾値以上離間した位置に位置していると判定する。この場合、ECU10は、以下に述べる明暗指標値判定を行う。一方、注目立体物ブロック32aの平均視差d1aveが視差閾値d1thより大きい(d1ave>d1th)と判定した場合、ECU10は、注目立体物ブロック32aに対応する立体物は自車両から距離閾値未満の位置に位置していると判定する。この場合、ECU10は、既に算出されている第1視差d1を、当該注目視差点の最終視差dfとしてECU20に送信する。ECU10は、立体物ブロック32aに分類されている全ての立体物視差点を注目視差点としてこの判定を行う。
なお、立体物が比較的に大きい場合(例えば、側壁及び建造物等)、当該立体物は1つの立体物ブロック32aにのみ対応するのではなく、複数の隣接する立体物ブロック32aに対応する。注目立体物ブロック32aがこれら複数の隣接する立体物ブロック32aの1つに含まれる場合、「注目立体物ブロック32aに対応する立体物」とは、厳密には立体物の一部のみを表す。この場合、立体物検出ECU20において立体物ブロック32aの結合処理が行われる。この点については後述する。
<明暗指標値判定>
ECU10は、エンジンオン期間中、所定時間が経過する毎に、上記の平均視差判定においてd1ave≦d1thが成立すると判定された立体物ブロック32aに分類されている注目視差点に対応する基準画像中の画素(以下、「注目画素」と称する。)について、当該画素を含む所定の範囲内に含まれる画素群の明暗の差の大きさを示す尺度である明暗指標値Tを算出する。本実施形態では、明暗指標値Tの算出には、エッジ検出フィルタの一種である公知のsobelフィルタが用いられる。sobelフィルタでは、図5Aに示すオペレータ52が有する9つの係数のそれぞれを、図5Bに示す注目画素50を中心とする上下左右斜めの9つの画素のうち対応する位置に位置する画素の輝度値にそれぞれ乗算し、その積の和の絶対値を明暗指標値Tとして算出する。なお、図5Bの各画素の濃淡は輝度の度合いを表す。明暗指標値Tは、注目画素を中心とする上記9つの画素の明暗の差が大きいほど(即ち、高テクスチャである)ほど大きな値となり、明暗の差が小さい(即ち、低テクスチャである)ほど小さな値となる。CPUは、注目画素の明暗指標値TをECU10のRAMに格納する。
ECU10は、このようにして算出された明暗指標値Tを用いて、注目画素の明暗指標値Tが所定の指標値閾値Tthより大きいか否かを判定する明暗指標値判定を行う。別言すれば、CPUは、注目画素を中心とする上下左右斜めの9つの画素のテクスチャが所定のテクスチャ閾値より高いか否かを判定する。明暗指標値Tが指標値閾値Tthよりも大きい(T>Tth)と判定した場合、ECU10は、当該9つの画素のテクスチャがテクスチャ閾値より高いと判定する。この場合、ECU10は、当該注目画素は、BM法による視差の再算出の対象であると判定する。一方、明暗指標値Tが指標値閾値Tth以下である(T≦Tth)と判定した場合、ECU10は、当該9つの画素のテクスチャがテクスチャ閾値以下であると判定する。この場合、ECU10は、当該注目画素についてBM法による視差の再算出は不要であると判定し、既に算出されている第1視差d1を、当該注目画素の最終視差dfとしてECU20に送信する。
ECU10は、平均視差判定においてd1ave≦d1thが成立すると判定された立体物ブロック32aに分類されている全ての立体物視差点に対応する基準画像中の画素を注目画素としてこの判定を行う。このため、判定結果によっては、立体物ブロック32aにおいて、T>Tthと判定された注目画素に対応する立体物視差点と、T≦Tthと判定された注目画素に対応する立体物視差点と、が混在する場合がある。別言すれば、立体物ブロック32aにおいて、BM法による視差の再算出が行われる立体物視差点と、当該再算出が行われない立体物視差点とが混在する場合がある。
<BM法による第2視差d2の算出>
ECU10は、エンジンオン期間中、所定時間が経過する毎に、上記の明暗指標値判定においてT>Tthが成立すると判定された注目画素について、基準画像を基準として、BM法を用いて、左右一対の画像において対応する画素同士の視差を算出する。以下では、BM法によって算出される視差を「第2視差d2」と称する。BM法は周知であるため、以下、簡単に説明する。
BM法では、ECU10は、注目画素を中心とした3ピクセル×3ピクセルのウィンドウを左画像内の探索範囲R2内で水平方向に走査しながら、1ピクセル移動する毎にマッチングコストとしてのZSSDを算出する。探索範囲R2は以下のように設定される。即ち、注目画素の座標を(u,v)と規定し、当該注目画素に対応する立体物視差点が分類(投票)されている立体物ブロック32aの平均視差d1aveの整数部分をdiと規定し、左画像の座標を(u’,v’)と規定すると、探索範囲R2は、横方向においては、u’=u+di−1からu’=u+di+2まで、縦方向においてはv’=vを満たす範囲に設定される。
そして、ECU10は、画素のずれ量(画素のu座標の変位に相当するピクセル数)(横軸)とマッチングコスト(縦軸)との関係を規定したグラフにマッチングコストをプロットし、パラボラフィッティングによりマッチングコストの最小値に対応する画素のずれ量を算出する。この画素のずれ量が第2視差d2に相当する。パラボラフィッティングを行うことにより、第2視差d2は小数点以下の値まで算出される。ECU10は、注目画素について算出された第2視差d2を、当該注目画素の座標に関連付けてそのRAMに格納する。ECU10は、明暗指標値判定においてT>Tthが成立すると判定された全ての注目画素について第2視差d2を算出する。
<最終視差dfの算出>
ECU10は、上述した3つの判定結果に基づいて、2種類の最終視差dfを算出する。具体的には、「立体物視差点判定において注目視差点が立体物視差点ではないと判定した場合」、「注目視差点が立体物視差点であるものの、平均視差判定においてd1ave≦d1thが成立しないと判定した場合」、及び、「平均視差判定においてd1ave≦d1thが成立すると判定したものの、明暗指標値判定においてT>Tthが成立しないと判定した場合」においては、ECU10は、注目視差点に対応する注目画素について算出された第1視差d1を、当該注目画素の最終視差dfとして算出する。一方、立体物視差点判定において注目視差点が立体物視差点であると判定し、且つ、平均視差判定においてd1ave≦d1thが成立すると判定し、且つ、明暗指標値判定においてT>Tthと判定した場合においては、ECU10は、注目視差点に対応する注目画素について算出された第1視差d1の小数部分を、当該注目画素において算出された第2視差d2の小数部分に置き換えた視差を、当該注目画素の最終視差dfとして算出する。
(実際の作動)
次に、ECU10の実際の作動について説明する。ECU10のCPUは、エンジンオン期間中、図6にフローチャートにより示したルーチンを所定時間(演算周期)が経過する毎に実行するようになっている。
CPUは、エンジンスイッチがオン状態へと変更されると、図6のステップ600から処理を開始してステップ602乃至ステップ608の処理を順に行う。
ステップ602:CPUは、カメラセンサ11から左画像信号及び右画像信号を受信する。即ち、左画像及び右画像(基準画像)を含む撮像画像を取得する。
ステップ604:CPUは、基準画像を基準として、SGM法を用いて、左右一対の画像において対応する画素同士の視差を第1視差d1として算出する。CPUは、基準画像中の全ての画素について第1視差d1を算出する。
ステップ606:CPUは、第1視差d1に基づいて視差画像を生成する。
ステップ608:CPUは、視差画像に基づいて視差投票マップ30から立体物ブロック32aを検出する。
ステップ608の処理を終了すると、CPUはステップ610に進む。ステップ610では、CPUは、基準画像中の1つの画素に対応する注目視差点が、立体物視差点であるか否かを判定する(立体物視差点判定)。当該注目視差点が立体物視差点ではないと判定した場合、CPUは、ステップ610にて「No」と判定し、後述するステップ622の処理を行う。一方、当該注目視差点が立体物視差点であると判定した場合、CPUは、ステップ610にて「Yes」と判定し、以下のステップ612に進む。
ステップ612では、CPUは、注目視差点が分類されている立体物ブロック32a(注目立体物ブロック32a)の平均視差d1aveが、視差閾値d1th以下(d1ave≦d1th)であるか否かを判定する(平均視差判定)。d1ave≦d1thが成立しないと判定した場合、CPUは、ステップ612にて「No」と判定し、後述するステップ622の処理を行う。一方、d1ave≦d1thが成立すると判定した場合、CPUは、ステップ612にて「Yes」と判定し、以下のステップ614の処理を行う。
ステップ614:CPUは、注目視差点に対応する注目画素の明暗指標値Tを算出する。ステップ614の処理を終了すると、CPUは、ステップ616に進む。
ステップ616では、CPUは、注目画素の明暗指標値Tが指標値閾値Tthより大きいか否かを判定する(明暗指標値判定)。T>Tthが成立しないと判定した場合、CPUは、ステップ616にて「No」と判定し、後述するステップ622の処理を行う。一方、T>Tthが成立すると判定した場合、CPUは、ステップ616にて「Yes」と判定し、以下のステップ618及びステップ620の処理を順に行う。
ステップ618:CPUは、注目画素について、基準画像を基準として、BM法を用いて、左右一対の画像において対応する画素同士の視差を第2視差d2として算出する。
ステップ620:CPUは、注目画素についてステップ604で算出された第1視差d1の小数部分を、ステップ618で算出された第2視差d2の小数部分で置き換えた視差を当該注目画素の最終視差dfとして算出する。
これに対し、ステップ610、ステップ612及びステップ616の何れか1つにおいて「No」と判定した場合、CPUは、以下のステップ622の処理を行う。
ステップ622:CPUは、注目画素についてステップ604で算出された第1視差d1を、当該注目画素の最終視差dfとして算出する。
ステップ620又はステップ622を終了すると、CPUは、ステップ624に進む。ステップ624では、CPUは、ステップ610以降の処理が、基準画像中の全ての画素について実施されたか否かを判定する。上記処理が全ての画素についてはまだ実施されていないと判定した場合、CPUは、ステップ624にて「No」と判定してステップ610に戻り、基準画像中の残りの画素に対してステップ610以降の処理を繰り返す。一方、上記処理が基準画像中の全ての画素について実施されたと判定した場合、CPUは、ステップ624にて「Yes」と判定し、ステップ626に進み本ルーチンを一旦終了する。
(立体物表示制御装置の作動の詳細)
次に、立体物表示制御装置の作動の詳細について説明する。立体物表示制御装置のECU20は、ECU10から基準画像中の全ての画素の最終視差dfを含む画素情報を取得すると、立体物視差点に対応する画素を抽出する。抽出された画素には、BM法による視差の再算出が行われた画素とそうでない画素がある。ECU20は、立体物ブロック32a内の立体物視差点の中に、BM法による視差の再算出(以下、単に「視差の再算出」とも称する。)が行われた画素に対応する立体物視差点が含まれている場合、当該立体物ブロック32a内の立体物視差点に対応する画素から、視差の再算出が行われた画素を全て抽出する。そして、抽出された複数の画素の最終視差dfの中央値を、当該立体物ブロック32aの代表視差として算出する。一方、立体物ブロック32a内の立体物視差点の中に、視差の再算出が行われた画素に対応する立体物視差点が含まれていない場合、ECU20は、平均視差d1aveを当該立体物ブロック32aの代表視差として算出する。即ち、視差投票マップ30内の各立体物ブロック32aは、最終視差dfの中央値としての代表視差又は平均視差d1aveとしての代表視差の何れかを有する。
ECU20は、これらの代表視差に基づいて、立体物ブロック32aの結合処理を行う。具体的には、ECU20は、これらの代表視差を3次元座標変換して自車両から立体物ブロック32a(厳密には、立体物ブロック32aに対応する立体物又は立体物の一部)までの奥行き方向の距離(奥行き距離)を算出する。そして、2つの立体物ブロック32aが視差投票マップ30内において奥行き方向に隣接している場合、ECU20は、各立体物ブロック32aの奥行き距離の差が所定の奥行き距離閾値以下であるか否かを判定する。
奥行き距離の差が奥行き距離閾値以下であると判定した場合、ECU20は、これら2つの立体物ブロック32aは1つの連続した立体物に対応していると判定し、これらの立体物ブロック32aを結合する。以下では、結合された立体物ブロック32aを「結合立体物ブロック32a」と称する。一方、奥行き距離の差が奥行き距離閾値を超えていると判定した場合、ECU20は、これら2つの立体物ブロック32aは個別の立体物にそれぞれ対応していると判定し、これらの立体物ブロック32aを結合しない。ECU20は、視差投票マップ30内で奥行き方向に隣接している全ての立体物ブロック32aについて上記の処理を行い、立体物ブロック32aを結合する。
なお、立体物ブロック32aの結合処理は、横方向(車幅方向)において行われてもよい。この場合、ECU20は、立体物ブロック32aの代表視差だけではなく、当該ブロック32a内の全ての立体物視差点を3次元座標変換し、横方向に隣接している2つの立体物ブロック32aの横方向の距離(横距離)の最小値を算出する。そして、ECU20は、当該最小値が所定の横距離閾値以下であると判定した場合、これら2つの立体物ブロック32aを結合し、結合立体物ブロック32aとする。一方、ECU20は、当該最小値が横距離閾値を超えていると判定した場合、これら2つの立体物ブロック32aを結合しない。ECU20は、視差投票マップ30内で横方向に隣接している全ての立体物ブロック32aについて上記の処理を行い、立体物ブロック32aを結合する。
立体物ブロック32aの結合処理を終了した後の立体物ブロック32a内の立体物視差点の集合、及び、結合立体物ブロック32a内の立体物視差点の集合が、基準画像における立体物に対応する。即ち、ECU20は、立体物ブロック32aの結合処理を行うことにより、基準画像中の立体物を検出する。ECU20は、立体物の検出結果(即ち、各立体物の位置、形状及び自車両からの距離等)を表示装置21に表示させる。
第1実施装置の作用効果について説明する。第1実施装置の構成によれば、基準画像中の全ての画素について最終視差として第1視差d1が算出されるため、低テクスチャ領域に含まれる画素についても視差を算出することができる。加えて、基準画像中の画素のうち立体物に対応する画素の一部については、第1視差d1の小数部分が第2視差d2の小数部分で置き換えられた視差が最終視差dfとして算出されるため、当該最終視差についてはピクセルロッキングの発生を抑制することができ、当該最終視差dfの小数部分の精度が格段に向上する。この結果、撮像画像中の低テクスチャ領域に含まれる画素についても視差を算出しながら、各画素の視差を精度よく算出することが可能となる。
特に、第1実施装置では、立体物ブロック32aに分類される画素群、即ち、比較的テクスチャが高い傾向にある画素群について第2視差d2が算出され、立体物ブロック32a以外のブロック32に分類される画素群、即ち、比較的テクスチャが低い傾向にある画素群、又は、テクスチャの傾向が不明である画素群については第2視差d2が算出されない。この構成によれば、第2視差を適切に算出できる可能性が高い領域に含まれる画素について選択的に第2視差を算出するため、視差の算出精度が低下することを抑制しながら、処理効率を向上させることができる。
加えて、ピクセルロッキングによる視差の算出精度の低下は、視差が小さくなるほど顕著になる。そこで、第1実施装置は、立体物ブロック32a毎に平均視差d1aveを算出し、当該平均視差d1aveが視差閾値d1th以下の立体物候補に対応する画素についてのみ(即ち、ピクセルロッキングによる視差の算出精度の低下が顕著な画素に対してのみ)選択的に第2視差d2を算出して最終視差を求める。即ち、視差が比較的に大きいためにピクセルロッキングにより視差の算出精度がそれほど低下しない画素については第2視差d2を算出しない。この構成によれば、視差の算出精度が低下することを抑制しながら、処理効率を更に向上させることができる。
更に、第1実施装置では、明暗指標値Tが指標値閾値Tthより大きい画素についてのみ(即ち、テクスチャが比較的に高い領域に含まれる画素についてのみ)選択的に第2視差d2を算出して最終視差dfを求める。この構成によれば、BM法により第2視差を適切に算出できない可能性がある画素(即ち、低テクスチャ領域に含まれる画素)についてまで第2視差の算出を試みてしまう可能性を大幅に低減でき、結果として、視差の算出精度が低下することを抑制しながら、処理効率をより一層向上させることができる。
ここで、第1実施装置により出力される最終視差に基づいて立体物を検出した場合における、自車両から当該立体物までの奥行き方向の距離(以下、単に「距離」とも称する。)の経時的な推移について、図7A及び図7Bを参照して説明する。図7A及び図7Bは、何れも静止している立体物に自車両が一定速度で接近している場面を表す。図7Aは、演算タイミングと、従来の視差算出方法に基づいて算出された距離(以下、単に「算出距離」とも称する。)との関係を規定したグラフであり、図7Bは、演算タイミングと、第1実施装置の視差算出方法に基づいて算出された距離との関係を規定したグラフである。何れのグラフにおいても、実線が立体物までの実際の距離の推移を表し、破線が算出距離の推移を表す。
図7Aのグラフによると、自車両が立体物に接近して距離が短くなったときの算出距離の推移は実際の距離の推移とほぼ一致しているものの、立体物までの距離が長くなるほど算出距離が実際の距離から乖離している。加えて、算出距離が急激に変化するいわゆる「距離飛び」が定期的に発生している。これは、距離が長いところほど視差が小さく、ピクセルロッキングの影響が反映され易いことに起因していると考えられる。一方、図7Bのグラフによると、算出距離の推移は滑らかであり、実際の距離の推移とほぼ一致している。加えて、距離が長い地点における算出距離の誤差も僅かである。これは、第1実施装置の構成によりピクセルロッキングの発生が抑制できていることを示している。
(第2実施形態)
次に、図8を参照して、本発明の第2実施形態に係る視差算出装置(以下、「第2実施装置」とも称する。)について説明する。第2実施装置は、BM法による第2視差d2の算出を基準画像中の全ての画素(即ち、第1視差d1が算出される全ての画素)について行う点で、第1実施装置と異なっている。第2実施装置のECU10のCPUは、エンジンオン期間中、図8にフローチャートにより示したルーチンを所定時間(演算周期)が経過する毎に実行するようになっている。
CPUは、エンジンスイッチがオン状態へと変更されると、図8のステップ800から処理を開始してステップ802乃至ステップ808の処理を順に行う。
ステップ802:CPUは、カメラセンサ11から左画像及び右画像(基準画像)を含む撮像画像を取得する。
ステップ804:CPUは、基準画像を基準として、SGM法を用いて、左右一対の画像において対応する画素同士の視差を第1視差d1として算出する。CPUは、基準画像中の全ての画素について第1視差d1を算出する。
ステップ806:CPUは、基準画像を基準として、BM法を用いて、左右一対の画像において対応する画素同士の視差を第2視差d2として算出する。CPUは、基準画像中の全ての画素について第2視差d2を算出する。
ステップ808:CPUは、注目画素についてステップ804で算出された第1視差d1の小数部分を、ステップ806で算出された第2視差d2の小数部分で置き換えた視差を当該注目画素の最終視差dfとして算出する。
ステップ808の処理を終了すると、CPUは、ステップ810に進み本ルーチンを一旦終了する。
第2実施装置の作用効果について説明する。この構成によれば、基準画像中の全ての画素について最終視差として第1視差が算出されるため、低テクスチャ領域に含まれる画素についても視差を算出することができる。加えて、基準画像中の全ての画素について、第1視差の小数部分が第2視差の小数部分で置き換えられた視差が最終視差として算出されるため、ピクセルロッキングの発生を基準画像におけるより広い範囲で抑制することができ、視差の精度が格段に向上する。この結果、撮像画像中の低テクスチャ領域に含まれる画素についても視差を算出しながら、各画素の視差を精度よく算出することが可能となる。
以上、本発明の実施形態に係る車両制御装置について説明したが、本発明はこれらに限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
例えば、上記第1実施形態では、立体物視差点に対応する画素のうち、d1ave≦d1th、且つ、T>Tthが成立する画素についてのみ第2視差d2を算出する。しかしながら、この構成に限られない。例えば、立体物視差点に対応する全ての画素について第2視差d2を算出してもよい。d1ave≦dthが成立しない画素であっても(即ち、自車両から当該画素に対応する領域までの距離が距離閾値未満であっても)ピクセルロッキングの影響は完全には排除されていない。このため、このような画素についても第2視差を算出して最終視差を求めることにより、視差をより精度よく算出できる。
或いは、立体物視差点に対応する画素のうち、d1ave≦d1thが成立する画素についてのみ第2視差d2を算出する構成であってもよいし、立体物視差点に対応する画素のうち、T>Tthが成立する画素についてのみ第2視差d2を算出する構成であってもよい。
加えて、左画像が基準画像に設定されてもよい。
10:視差算出ECU、11:カメラセンサ、20:立体物検出ECU、21:表示装置、30:視差投票マップ、32:ブロック、32a:立体物ブロック、40:注目画素、42:ウィンドウ、50:注目画素、52:オペレータ

Claims (5)

  1. ステレオカメラを用いて所定時間が経過する毎に領域を撮像する撮像手段と、
    前記撮像手段によって同じ演算タイミングで撮像された複数の撮像画像のうちの基準となる撮像画像である基準画像を基準として、セミグローバルマッチング法を用いて、前記複数の撮像画像において対応する画素同士の視差である第1視差を、前記基準画像中の全ての画素について算出する第1視差算出手段と、
    前記基準画像を基準として、ブロックマッチング法を用いて、前記複数の撮像画像において対応する画素同士の視差である第2視差を、前記基準画像中の画素のうち少なくとも一部の画素について算出する第2視差算出手段と、
    前記第1視差と前記第2視差と、に基づいて、前記基準画像中の各画素の最終的な視差である最終視差を算出する最終視差算出手段と、を備え、
    前記最終視差算出手段は、
    前記第1視差しか算出されていない画素については当該第1視差を前記最終視差として算出し、
    前記第1視差及び前記第2視差が算出された画素については、当該画素の前記第1視差の小数部分を前記第2視差の小数部分に置き換えた視差を前記最終視差として算出する、
    ように構成された、
    視差算出装置。
  2. 請求項1に記載の視差算出装置であって、
    更に、前記第1視差に基づいて前記基準画像中の画素のうち立体物候補に対応する画素を抽出する画素抽出手段を備え、
    前記第2視差算出手段は、前記抽出された画素についてのみ前記第2視差を算出するように構成された、
    視差算出装置。
  3. 請求項2に記載の視差算出装置であって、
    前記第2視差算出手段は、前記抽出された画素の前記第1視差の平均値である平均視差を前記立体物候補毎に算出し、前記平均視差が所定の視差閾値以下の前記立体物候補に対応する画素についてのみ前記第2視差を算出するように構成された、
    視差算出装置。
  4. 請求項2に記載の視差算出装置であって、
    前記第2視差算出手段は、前記抽出された画素について、明暗の差の大きさを示す尺度である明暗指標値を算出し、当該明暗指標値が所定の指標値閾値より大きい画素についてのみ前記第2視差を算出するように構成された、
    視差算出装置。
  5. 請求項2に記載の視差算出装置であって、
    前記第2視差算出手段は、
    前記抽出された画素の前記第1視差の平均値である平均視差を前記立体物候補毎に算出し、
    前記平均視差が所定の視差閾値以下の前記立体物候補に対応する画素について、明暗の差の大きさを示す尺度である明暗指標値を算出し、
    当該明暗指標値が所定の指標値閾値より大きい画素についてのみ前記第2視差を算出するように構成された、
    視差算出装置。

JP2017191795A 2017-09-29 2017-09-29 視差算出装置 Active JP6810009B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017191795A JP6810009B2 (ja) 2017-09-29 2017-09-29 視差算出装置
US16/145,348 US10438367B2 (en) 2017-09-29 2018-09-28 Parallax calculating apparatus
DE102018124032.5A DE102018124032A1 (de) 2017-09-29 2018-09-28 Parallaxenberechnungsvorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017191795A JP6810009B2 (ja) 2017-09-29 2017-09-29 視差算出装置

Publications (2)

Publication Number Publication Date
JP2019066308A JP2019066308A (ja) 2019-04-25
JP6810009B2 true JP6810009B2 (ja) 2021-01-06

Family

ID=65727806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017191795A Active JP6810009B2 (ja) 2017-09-29 2017-09-29 視差算出装置

Country Status (3)

Country Link
US (1) US10438367B2 (ja)
JP (1) JP6810009B2 (ja)
DE (1) DE102018124032A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6885896B2 (ja) * 2017-04-10 2021-06-16 富士フイルム株式会社 自動レイアウト装置および自動レイアウト方法並びに自動レイアウトプログラム
JP6920159B2 (ja) * 2017-09-29 2021-08-18 株式会社デンソー 車両の周辺監視装置と周辺監視方法
CN112512395A (zh) * 2018-07-20 2021-03-16 奥林巴斯株式会社 摄像单元、内窥镜以及内窥镜***
EP4191196A1 (en) * 2020-07-28 2023-06-07 Kyocera Corporation Image processing device, stereo camera device, moving object, parallax calculation method, and image processing method
JP7516204B2 (ja) 2020-10-19 2024-07-16 京セラ株式会社 画像処理装置、ステレオカメラ装置、移動体及び画像処理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5450330B2 (ja) * 2010-09-16 2014-03-26 株式会社ジャパンディスプレイ 画像処理装置および方法、ならびに立体画像表示装置
JP5752618B2 (ja) 2012-02-10 2015-07-22 トヨタ自動車株式会社 ステレオ視差算出装置
JP6337504B2 (ja) * 2014-02-21 2018-06-06 株式会社リコー 画像処理装置、移動体、ロボット、機器制御方法およびプログラム
JP6515547B2 (ja) * 2014-03-11 2019-05-22 株式会社リコー 視差値導出装置、機器制御システム、移動体、ロボット、視差値生産方法、及びプログラム
CN106575419A (zh) * 2014-07-16 2017-04-19 株式会社理光 信息处理设备、产生控制信号的方法、信息处理***以及程序
EP3002550B1 (en) * 2014-10-03 2017-08-30 Ricoh Company, Ltd. Information processing system and information processing method for distance measurement
US10616578B2 (en) * 2015-01-30 2020-04-07 Texas Instruments Incorporated Semi-global matching (SGM) cost compression
EP3416132B1 (en) * 2016-02-08 2021-06-16 Ricoh Company, Ltd. Image processing device, object recognition device, device control system, and image processing method and program
JP6985089B2 (ja) * 2017-09-29 2021-12-22 トヨタ自動車株式会社 立体物接地判定装置

Also Published As

Publication number Publication date
JP2019066308A (ja) 2019-04-25
US10438367B2 (en) 2019-10-08
DE102018124032A1 (de) 2019-04-04
US20190102900A1 (en) 2019-04-04

Similar Documents

Publication Publication Date Title
JP6810009B2 (ja) 視差算出装置
US8498479B2 (en) Image processing device for dividing an image into a plurality of regions
US9771080B2 (en) Road surface gradient detection device
US10436898B2 (en) Object recognition device
JP5926228B2 (ja) 自律車両用の奥行き検知方法及びシステム
JP4956452B2 (ja) 車両用環境認識装置
JP5371725B2 (ja) 物体検出装置
JP6156400B2 (ja) 走行路面検出装置及び走行路面検出方法
JP4275378B2 (ja) ステレオ画像処理装置およびステレオ画像処理方法
JP5164351B2 (ja) 物体検出装置および物体検出方法
JP6150164B2 (ja) 情報検出装置、移動体機器制御システム、移動体及び情報検出用プログラム
JP5752618B2 (ja) ステレオ視差算出装置
JPWO2017056484A1 (ja) 画像処理装置、ステレオカメラ装置、車両及び画像処理方法
JP6743882B2 (ja) 画像処理装置、機器制御システム、撮像装置、画像処理方法及びプログラム
JP6665925B2 (ja) 画像処理装置、移動体機器制御システム、画像処理用プログラム及び画像処理方法
CN104883553A (zh) 视差值导出设备及方法、装备控制***、可移动装置
US20230267630A1 (en) Image processing device, stereo camera device, mobile object, disparity calculating method, and image processing method
JP2018060422A (ja) 物体検出装置
JP5073700B2 (ja) 物体検出装置
JP6543935B2 (ja) 視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法、およびプログラム
JP6455164B2 (ja) 視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法、およびプログラム
JP4956099B2 (ja) 壁検出装置
JP6674959B2 (ja) 視差算出装置、ステレオカメラ装置、車両および視差算出方法
JP6836350B2 (ja) 移動速度演算装置
JP6515547B2 (ja) 視差値導出装置、機器制御システム、移動体、ロボット、視差値生産方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201105

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: 20201117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201210

R151 Written notification of patent or utility model registration

Ref document number: 6810009

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250