(57)【特許請求の範囲】
【請求項１】
画像処理装置において、
一方の撮像画像上に画像領域を複数設定し、重み係数を初期値としたシティブロック距離に基づく相関評価によって、前記画像領域のそれぞれの相関先を他方の撮像画像において特定するとともに、前記画像領域のそれぞれの視差の集合である距離データを算出するステレオマッチング部と、
前記距離データ上において、周囲と似た視差同士をグループ化することによって特定される立体物を基準としたオクルージョンの発生方向に、視差が周囲と異なる領域または周囲に有効な視差がない領域が存在する場合、当該領域をオクルージョンエリアとして特定する特定部と、
前記オクルージョンエリアに関して、前記オクルージョンエリア内における画素の前記シティブロック距離への影響を低減するために、前記画像領域における中央領域の周囲に位置する周辺領域の重み係数を前記初期値よりも小さな値に変更する係数制御部とを有し、
前記ステレオマッチング部は、前記オクルージョンエリアに関して、重み係数を前記変更された値とした前記シティブロック距離に基づく相関評価を再度行い、新たな視差を算出することを特徴とする画像処理装置。
【請求項２】
前記係数制御部は、前記オクルージョンエリアに関して、前記周辺領域の重み係数を０に設定することを特徴とする請求項１に記載された画像処理装置。
【請求項３】
前記係数制御部は、前記オクルージョンの発生方向において、前記立体物に近い方よりも遠い方が、前記周辺領域の重み係数が大きくなるように設定することを特徴とする請求項１に記載された画像処理装置。
【請求項４】
前記係数制御部は、前記オクルージョンの発生方向に関して、前記立体物に近い方から遠い方に向かって、前記周辺領域の重み係数が連続的に増大するように設定することを特徴とする請求項１に記載された画像処理装置。
【請求項５】
画像処理方法において、
一方の撮像画像上に画像領域を複数設定し、重み係数を初期値としたシティブロック距離に基づく相関評価によって、前記画像領域のそれぞれの相関先を他方の撮像画像において特定するとともに、前記画像領域のそれぞれの視差の集合である距離データを算出する第１のステップと、
前記距離データ上において、周囲と似た視差同士をグループ化することによって特定される立体物を基準としたオクルージョンの発生方向に、視差が周囲と異なる領域または周囲に有効な視差がない領域が存在する場合、当該領域をオクルージョンエリアとして特定する第２のステップと、
前記オクルージョンエリアに関して、前記オクルージョンエリア内における画素の前記シティブロック距離への影響を低減するために、前記画像領域における中央領域の周囲に位置する周辺領域の重み係数を前記初期値よりも小さな値に変更する第３のステップと、
前記オクルージョンエリアに関して、重み係数を前記変更された値とした前記シティブロック距離に基づく相関評価を再度行い、新たな視差を算出する第４のステップと
を有することを特徴とする画像処理方法。
【請求項６】
前記第３のステップは、前記オクルージョンエリアに関して、前記周辺領域の重み係数を０に設定するステップであることを特徴とする請求項５に記載された画像処理方法。
【請求項７】
前記第３のステップは、前記オクルージョンの発生方向において、前記立体物に近い方よりも遠い方が、前記周辺領域の重み係数が大きくなるように設定するステップであることを特徴とする請求項５に記載された画像処理方法。
【請求項８】
前記第３のステップは、前記オクルージョンの発生方向に関して、前記立体物に近い方から遠い方に向かって、前記周辺領域の重み係数が連続的に増大するように設定するステップであることを特徴とする請求項５に記載された画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置および画像処理方法に係り、特に、たとえばオクルージョンが発生している画像において、一方の撮像画像における画像領域の相関先を他方の撮像画像において特定する画像処理装置および画像処理方法に関する。
【０００２】
【従来の技術】
近年、一対の撮像画像を用いて、この画像内に写し出された対象物の認識を行う画像処理装置が知られている。この類の画像処理装置では、ステレオ画像に基づいて対象物に関する距離（すなわち、視差）を算出することにより、或いは、時系列的に並ぶ一対の撮像画像に基づいて対象物の位置的な変化（オプティカルフロー）を求めることにより、対象物の認識が行われる。このような画像処理装置は、対象物の認識を行う前提として、一方の撮像画像における小領域毎の画素群、すなわち、所定面積の画像領域（相関元）に関して、この画像領域の輝度特性と相関を有する領域（相関先）を他方の撮像画像において特定する。そして、例えば、前者の一例であるステレオ画像処理装置では、相関元と相関先との位置的なずれ量、すなわち、両撮像画像に写し出された同一対象物に関する位置的なずれ量に基づき、対象物の距離（視差）を算出する（例えば、特許文献１参照。）。
【０００３】
ところで、このような画像処理装置において、相関関係の評価対象となる画像領域の面積を大きくすることは、評価対象となる画素数が増えるので、相関先を正確に特定するといった観点で有利である。
【０００４】
【特許文献１】
特開平１０−２８９３１５号公報（第６−９頁、第１−５図）
【０００５】
【発明が解決しようとする課題】
しかしながら、処理対象とする撮像画像に写し出された景色によっては、画像領域の面積を大きくすることにより、相関先の特定がかえって困難となることが考えられる。このような撮像画像の一例としては、オクルージョン（occlusion）が発生している画像が挙げられる。例えば、異なる視点から対象物を撮像するステレオカメラでは、一方のカメラで撮像される対象物が、他方のカメラでは撮像されない（或いは、対象物の一部が撮像されない）場合がある（オクルージョン）。したがって、このような状況で出力される撮像画像では、一方の撮像画像に写し出された対象物が、他方の撮像画像には写し出されない（或いは、対象物の一部しか写し出されない）こととなる。
【０００６】
画像領域の面積を大きくした場合、画像領域内に含まれる画素数が増えるので、その面積を小さくした場合よりも、オクルージョンが生じているエリアを含む画像領域の数は増える。上述したように、オクルージョンの発生しているエリアでは、一方の撮像画像に写し出された対象物が他方の撮像画像には写し出されていない（或いは、一部しか写し出されていない）。したがって、このようなエリアでは、相関先を特定することが困難となる。この結果、一フレーム相当の撮像画像から相関先を特定し得ない相関元の数、すなわち、視差を算出できない画像領域が増加し、対象物認識の精度を低下させる可能性がある。
【０００７】
本発明は、このような事情に鑑みてなされたものであり、その目的は、画像処理におけるマッチングの確実性を図るとともに、例えば、オクルージョンが発生している撮像画像であっても、一方の撮像画像における画像領域の相関先を他方の撮像画像において特定可能にすることである。
【０００８】
また、本発明の別の目的は、特定された相関元と相関先との画像平面上での位置的なずれに基づき、撮像画像に写し出された対象物を正確に認識することである。
【０００９】
【課題を解決するための手段】
かかる課題を解決するために、第１の発明は、ステレオマッチング部と、特定部と、係数制御部とを有する画像処理装置を提供する。ステレオマッチング部は、一方の撮像画像上に画像領域を複数設定し、重み係数を初期値としたシティブロック距離に基づく相関評価によって、画像領域のそれぞれの相関先を他方の撮像画像において特定するとともに、画像領域のそれぞれの視差の集合である距離データを算出する。特定部は、距離データ上において、周囲と似た視差同士をグループ化することによって特定される立体物を基準としたオクルージョンの発生方向に、視差が周囲と異なる領域または周囲に有効な視差がない領域が存在する場合、これらの領域をオクルージョンエリアとして特定する。係数制御部は、オクルージョンエリアに関して、オクルージョンエリア内における画素のシティブロック距離への影響を低減するために、画像領域における中央領域の周囲に位置する周辺領域の重み係数を初期値よりも小さな値に変更する。そして、ステレオマッチング部は、オクルージョンエリアに関して、重み係数を上記変更された値としたシティブロック距離に基づく相関評価を再度行い、新たな視差を算出する。
【００１０】
ここで、第１の発明において、係数制御部は、オクルージョンエリアに関して、周辺領域の重み係数を０に設定してもよい。
【００１１】
また、第１の発明において、係数制御部は、オクルージョンの発生方向において、立体物に近い方よりも遠い方が、周辺領域の重み係数が大きくなるように設定してもよい。
【００１２】
さらに、第１の発明において、係数制御部は、オクルージョンの発生方向に関して、立体物に近い方から遠い方に向かって、周辺領域の重み係数が連続的に増大するように設定してもよい。
【００１３】
第２の発明は、一方の撮像画像上に画像領域を複数設定し、重み係数を初期値としたシティブロック距離に基づく相関評価によって、画像領域のそれぞれの相関先を他方の撮像画像において特定するとともに、画像領域のそれぞれの視差の集合である距離データを算出する第１のステップと、距離データ上において、周囲と似た視差同士をグループ化することによって特定される立体物を基準としたオクルージョンの発生方向に、視差が周囲と異なる領域または周囲に有効な視差がない領域が存在する場合、これらの領域をオクルージョンエリアとして特定する第２のステップと、オクルージョンエリアに関して、オクルージョンエリア内における画素のシティブロック距離への影響を低減するために、画像領域における中央領域の周囲に位置する周辺領域の重み係数を初期値よりも小さな値に変更する第３のステップと、オクルージョンエリアに関して、重み係数を上記変更された値としたシティブロック距離に基づく相関評価を再度行い、新たな視差を算出する第４のステップとを有する画像処理方法を提供する。
【００１４】
ここで、第２の発明において、上記第３のステップは、オクルージョンエリアに関して、周辺領域の重み係数を０に設定するステップであってもよい。
【００１５】
また、第２の発明において、上記第３のステップは、オクルージョンの発生方向において、立体物に近い方よりも遠い方が、周辺領域の重み係数が大きくなるように設定するステップであってもよい。
【００１６】
さらに、第２の発明において、上記第３のステップは、オクルージョンの発生方向に関して、立体物に近い方から遠い方に向かって、周辺領域の重み係数が連続的に増大するように設定するステップであってもよい。
【００１７】
【発明の実施の形態】
図１は、本実施形態にかかる画像処理装置のブロック構成図である。同図に示す画像処理装置１は、一例として、車外監視装置の一部として機能しており、一対の撮像画像（ステレオ画像）を用いて対象物の視差を算出するとともに、この算出された視差に基づき、自車両前方の状況を認識・監視する。
【００１８】
車外の景色を撮像するステレオカメラは、ルームミラーの近傍に取り付けられており、イメージセンサ（ＣＣＤセンサやＣＭＯＳセンサ等）を内蔵した一対のカメラ２，３で構成されている。メインカメラ２は、ステレオ画像処理を行う際に必要な基準画像（右画像）を撮像し、サブカメラ３は、比較画像（左画像）を撮像する。互いの同期が取れている状態において、カメラ２，３から出力された各アナログ画像は、Ａ／Ｄコンバータ４，５により、所定の輝度階調（例えば、256階調のグレースケール）のデジタル画像に変換される。このデジタル化された一対の画像データ（ステレオ画像データ）は、１フレーム分のデジタルデータを記憶可能な容量を有するフレームメモリ６，７にそれぞれ格納される。
【００１９】
フレームメモリ６，７に格納された各画像データのそれぞれは、画像補正部８によって読み出され、輝度の補正や画像の幾何学的な変換等が行われる。通常、一対のカメラ２，３の取付位置は、程度の差はあるものの誤差が存在するため、それに起因したずれが左右の各画像に生じている。このずれを補正するために、アフィン変換等を用いて、画像の回転や平行移動等の幾何学的な変換が行われる。
【００２０】
このような画像処理を経て、メインカメラ２より基準画像データが得られ、サブカメラ３より比較画像データが得られる。これらの画像データは、各画素の輝度値（0〜255）の集合である。ここで、画像データによって規定される画像平面は、ｉ−ｊ座標系で表現され、画像の左下隅を原点として、水平方向をｉ座標軸、垂直方向をｊ座標軸とする。一フレーム（一画像の表示単位）相当のステレオ画像データは、後段のステレオ画像処理ユニット９に出力されるとともに、画像データメモリ１３に格納される。
【００２１】
ステレオ画像処理ユニット９は、機能的な要素として、ステレオマッチング部１０、視差算出部１１および係数制御部１２を有し、基準画像データと比較画像データとに基づいて一フレーム相当の撮像画像に関する距離データを算出する。ここで、「距離データ」とは、画像データによって規定される画像平面において小領域毎に算出された視差ｄの集合であり、個々の視差ｄは画像平面上の位置（ｉ，ｊ）と対応付けられている。それぞれの視差ｄは、基準画像の一部を構成する所定面積（例えば、4×4画素）の画像領域（以下、単に「画素ブロック」と称する）毎に１つ算出される。
【００２２】
図２は、基準画像に設定される画素ブロックの説明図である。例えば、基準画像が200×512画素で構成されている場合、一フレーム相当の撮像画像から、画素ブロックＰＢijの個数相当（50×128個）の視差群が算出され得る。周知のように、視差ｄは、その算出単位である画素ブロックＰＢijに関する水平方向のずれ量であり、画素ブロックＰＢijに写し出された対象物までの距離と大きな相関がある。すなわち、画素ブロックＰＢij内に写し出されている対象物がカメラ２，３に近いほど、この画素ブロックＰＢijの視差ｄは大きくなり、対象物が遠いほど視差ｄは小さくなる（無限に遠い場合、視差ｄは0になる）。
【００２３】
ステレオマッチング部１０は、基準画像（すなわち、基準画像データ）において、相関元となる画素ブロックＰＢij、すなわち、視差ｄの算出対象となる画素ブロックＰＢijを特定する。特定された画素ブロックＰＢij（相関元）を対象として視差ｄを算出する場合、この画素ブロックＰＢijの輝度特性と相関関係を有する領域（相関先）を比較画像（すなわち、比較画像データ）において特定する。上述したように、カメラ２，３から対象物までの距離は、基準画像と比較画像との間における水平方向のずれ量ｄ’として現れる。したがって、比較画像において相関先を探索する場合、相関元となる画素ブロックＰＢijのｊ座標と同じ水平線（エピポーラライン）上を探索すればよい。そこで、ステレオマッチング部１０は、相関元のｉ座標を基準に設定された所定の探索範囲内において、相関元として特定された画素ブロックＰＢijの相関先の候補となる画像領域を特定する。そして、この所定の探索範囲内において、エピポーラライン上を一画素ずつシフトしながら、相関元と相関先の候補との間の相関性が順次評価される（ステレオマッチング）。
【００２４】
２つの画素ブロックの相関関係は、例えば、シティブロック距離ＣＢを算出することにより評価することができる。本実施形態では、相関性の評価精度を向上させるために、視差の算出単位である画素ブロックＰＢijそのものを用いるのではなく、これよりも広範囲な領域（演算対象ブロック）をベースとして、シティブロック距離ＣＢを算出する。
【００２５】
図３は、演算対象ブロックの説明図である。この演算対象ブロックＰＢ’ijは、画素ブロックＰＢijを基準に設定される。具体的には、ある画素ブロックＰＢijに関する相関関係を評価する場合、この画素ブロックＰＢijを中心とし、かつ、これを上下左右方向にそれぞれ4画素分拡幅することで、8×8画素の演算対象ブロックＰＢ'ijを設定する。そして、シティブロック距離ＣＢは、この演算対象ブロックＰＢ'ij内に存在する64個の輝度値を用いて行う。シティブロック距離ＣＢの算出ベースとして、画素ブロックＰＢij相当の4×4画素領域よりも、8×8画素領域の演算対象ブロックＰＢ'ijを用いた方が、ブロック内の画素数が増える（輝度情報が増える）。これは、ミスマッチの発生率を低減するという観点で有利である。一方、画素ブロックＰＢijの右側に隣接した画素ブロックＰＢi+1jが評価対象である場合、この画素ブロックＰＢi+1jを中心とした広範囲な演算対象ブロックＰＢ'i+1jを用いる。換言すれば、演算対象ブロックＰＢ'i+1jは、左の演算対象ブロックＰＢ'ijを4画素分だけ右側にシフトすることにより設定され、両ブロックＰＢ'ij，ＰＢ'i+1jは、水平方向に4画素分オーバーラップしている。同様に、演算対象ブロックＰＢ'ij+1は、上の演算対象ブロックＰＢ'ijを4画素分だけ下側にシフトすることにより設定され、両ブロックＰＢ'ij，ＰＢ'ij+1は、垂直方向に4画素分だけオーバーラップしている。
【００２６】
なお、撮像画像の四辺の縁部では、演算対象ブロックＰＢ'ijの周辺領域が有効画像領域からはみ出してしまう事態が生じ得る。この場合は、有効画像領域外の画素を用いて演算対象ブロックＰＢ'ijを定義するか、或いは、4×4画素の画素ブロックＰＢijのまま相関性を評価する。
【００２７】
図４に示すように、基準画像側の演算対象ブロックＰＢ’ij（相関元）における各画素ｐijの輝度値をＡ11〜Ａ88、比較画像側の演算対象ブロックＰＢ’ij（相関先の候補）における各画素ｐijの輝度値をＢ11〜Ｂ88とすると、シティブロック距離ＣＢは一例として下式で表現される。本実施形態では、シティブロック距離ＣＢを、位置的に対応した二つの輝度値Ａij，Ｂijの差（絶対値）に重み係数ｗijを乗じた値の画素ブロック全体における総和として定義している。そして、この総和が小さいほど両ブロックの相関関係が大きいことを意味している。同図に示したように、重み係数ｗijは、演算対象ブロックＰＢ’ij中の各要素（輝度値Ａij，Ｂij）に応じて、所定の範囲内で値が予め設定されている。なお、一例として、図４に示した重み係数群は正規化された値を示している。
【数１】
ＣＢ＝Σｗij｜Ａij−Ｂij｜
【００２８】
そして、上述した探索範囲の全域に渡って水平／垂直方向に一画素ずつオフセットさせながら（二次元マッチング）、相関先の候補となる演算対象ブロックＰＢ’ij毎に一つのシティブロック距離ＣＢを算出する。算出されたシティブロック距離ＣＢ、すなわち、相関関係の評価結果に基づいて、最も相関関係が高いと判断される相関先（相関先の候補の内のいずれか）が、画素ブロックＰＢijの相関先として特定される。このとき、原則として、基準画像側の相関元と、比較画像側の相関先との画像平面上での水平方向のずれ量ｄ’が、画素ブロックＰＢij（相関元）の視差ｄとして決定される。
【００２９】
再び図１を参照し、ステレオ画像処理ユニット９の機能的な要素の一つである視差算出部１１は、最も相関関係が高いと判断された相関先が、相関元と真の一致を示すものであるか否かを判断する。視差算出部１１は、算出されたシティブロック距離ＣＢのうち、例えば、最小値（すなわち、相関関係が最も高いＣＢ値）および最大値（すなわち、相関関係が最も低いＣＢ値）を評価することにより、この判断を行う。そして、この判断を満足した場合に、シティブロック距離ＣＢの値が最小となる相関元と相関先とのずれ量ｄ’が、視差ｄとして決定される。一方、この判断を満足しない場合には、視差算出部１１は、この相関元に関する視差を無効とすべく、このずれ量ｄ’を採用せずに視差ｄの値を、例えば、0として決定する。このような判断を満足しない状況としては、例えば、オクルージョンの影響が挙げられる。ここで、本明細書において、「オクルージョン」とは、ある対象物が他の対象物に隠れてしまう、或いは、ある対象物がこの対象物自身によりその一部が隠れてしまうことをいう。
【００３０】
図５および図６は、オクルージョンの説明図である。図５に示すように、所定のカメラ基線長だけ離間されたカメラ２，３から構成されるステレオカメラで前方の対象物を撮像する。この場合、対象物と、カメラ２，３のそれぞれとの位置的な相違（カメラ基線長に起因する）にともない、一方のカメラ（例えば、メインカメラ２）で撮像されている対象物の領域が、他方のカメラ（例えば、サブカメラ３）では撮像されない領域となる場合がある。図５に示す状態で撮像された画像では、例えば、メインカメラ２側の基準画像において、対象物のＡ，ＢおよびＣ面が写し出されているものの、サブカメラ３側の比較画像において、対象物のＡおよびＣ面しか写し出されない（図６参照）。基準画像に写し出される景色を基準に考えた場合、比較画像において対象物のＢ面が写し出されていない訳であるから、このような状態は、オクルージョンである。
【００３１】
このように、撮像画像においてオクルージョンが発生している場合、一方の撮像画像に写し出されている像が他方の撮像画像に写し出されない。したがって、オクルージョンが発生しているエリア（以下、単に「オクルージョンエリア」と称する）では、相関元と相関先との相関性は、オクルージョンの発生していないエリア（以下、単に「非オクルージョンエリア」と称する）よりも、相対的に低くなる。それ故に、相関元と相関先との真の一致を示すものとは判断されず、上述した判断を満足しないこととなる。
【００３２】
そして、上述した処理が１フレーム相当の基準画像において、相関元として特定されるすべての画素ブロックＰＢijのそれぞれについて行われ、視差ｄがそれぞれ決定される。そして、画像上の位置（ｉ，ｊ）に対応付けられた視差ｄの集合、すなわち、距離データが、距離データメモリ１４に格納される。
【００３３】
ただし、相関関係の評価対象となる画素群を、画素ブロックＰＢijよりも大きな面積の演算対象ブロックＰＢ’ijとした場合、オクルージョンが生じているエリアを含む演算対象ブロックＰＢ’ijの数が増えてしまう可能性がある。ミスマッチの発生を抑制するべく演算対象ブロックＰＢ’ijの面積を大きくしたにも拘わらず、オクルージョンの影響により無効となる視差ｄの数が増加することは好ましくない。そこで、本実施形態では、ステレオマッチング部１０によって取り扱われ、演算対象ブロックＰＢ’ijに設定された重み係数ｗijの値を、係数制御部１２によって制御している。具体的には、係数制御部１２は、撮像画像におけるオクルージョンエリアでは、相関関係の評価対象となる演算対象ブロックＰＢ’ij内の中央領域の周囲に位置する周辺領域の重み係数ｗijの値を、非オクルージョンエリアよりも小さくしている。なぜならば、周辺領域の重み係数ｗijの値を小さくすることで、演算対象ブロックＰＢ’ijにおけるオクルージョンエリアに関与してしまう画素（すなわち、周辺領域における画素）のシティブロック距離ＣＢへの影響を低減することができるからである。このように、本実施形態の特徴の一つは、オクルージョンエリアにおいて、周辺領域の重み係数ｗijの値を、設定された値よりも小さくする点にあり、その詳しい手法については、後述する。
【００３４】
マイクロコンピュータ１５は、ＣＰＵ、ＲＯＭ、ＲＡＭ、入出力インターフェース等で構成されているが、これを機能的に捉えた場合、認識部１６と、特定部１７とを有する。
【００３５】
認識部１６は、画像データメモリ１３および距離データメモリ１４に格納された各情報に基づき、車両前方の道路状態等を認識したり（道路形状認識）、車両前方の立体物（走行車）等を認識する（立体物認識）。道路形状の認識に際し、認識部１６は、三次元的な道路形状を左右の車線（白線や追い越し禁止ライン等）に関する関数で表現する。そして、この関数の各パラメータを、実際の道路形状（直線、カーブ曲率または起伏）に合致するような値に設定することにより、道路形状が認識される。また、立体物の認識に際し、認識部１６は、距離データに基づき、周囲と似た視差ｄをグループにまとめ、これらまとめられたグループのそれぞれを立体物として認識する。具体的には、ある画素ブロックＰＢijについて算出された視差ｄが、周囲（上下、左右）に位置する画素ブロックＰＢijについて算出された視差ｄと比較される。そして、視差ｄの差が、例えば±1pix以内であれば、その視差ｄを周囲の視差ｄと同じグループとして、同一のグループ番号を付す。一方、視差ｄの差が、例えば±1pixより大きいのであれば、その視差ｄを周囲の視差ｄと異なるグループとして、異なるグループ番号を付す。このグループ番号は、例えば、画素ブロックＰＢijの座標位置（或いは、ij座標の画素位置）に対応付けたテーブル（以下、「グループテーブル」と称する）として算出される。これにより、撮像画像に写し出された立体物（すなわち、略同一視差ｄの集合）がグループにまとめられるとともに、グループのそれぞれに異なるグループ番号が付される。この結果、このグループを把握することで立体物のそれぞれが認識される。また、このとき、視差ｄが周囲と異なる、または、周囲に有効な視差がない画素ブロックＰＢijに関する視差ｄは、立体物とは異なるグループにまとめられ、新たなグループ番号が付される。なお、このような立体物をグループにまとめる手法については、特開平１０−２８５５８２号公報に提案されているので、必要ならば参照されたい。
【００３６】
特定部１７は、距離データに基づき、オクルージョンエリアを特定する。具体的には、特定部１７は、このエリアの特定に当たり、認識部１６によって算出される距離データのグループに基づき、オクルージョンエリアを特定する。なお、本実施形態の別の特徴の一つは、オクルージョンエリアを特定する点にあり、その詳しい手法については、後述する。ただし、本実施形態では、特定部１７は、認識部１６によって算出されたグループテーブルを利用するが、特定部１７は、距離データを用いてグループテーブルを自ら算出してもよい。
【００３７】
図７は、本実施形態にかかる画像処理手順を示したフローチャートである。なお、このフローチャートに示したルーチンは、所定の間隔で呼び出され、マイクロコンピュータ１５によって実行される。まず、ステップ１において、認識部１６は、距離データメモリ１４より距離データを読み出す。なお、この距離データの算出に当たり、係数制御部１２は、演算対象ブロックＰＢ’ijにおける重み係数ｗijを、初期値として、図４に示した値に設定する。認識部１６は、読み出された距離データ（或いは、画像データ）に基づき、道路形状認識および立体物認識を行う。そして、この認識処理にともない、グループテーブルが算出される（ステップ２）。
【００３８】
ステップ２に続くステップ３において、特定部１７は、オクルージョンエリアがあるか否かの判断を行う。図８は、グループ番号の説明図である。例えば、グループテーブル算出処理（ステップ２）において、ある立体物のグループに番号「１」が付されるとする。また、視差ｄが周囲と異なる、または、周囲に有効な視差がない画素ブロックＰＢijに関する視差ｄには、番号「０」が付されるとする。ところで、メインカメラ２がサブカメラ３に対して右側に存在する場合、相関元の画像には写し出されるものの相関先の画像には写し出されない領域、所謂、オクルージョンが立体物の右側に発生することは既知である（一方、メインカメラ２がサブカメラ３に対して左側に存在する場合、オクルージョンは立体物の左側に発生する）。また、上述したように、オクルージョンエリアでは、視差は無効と判断されるので、グループ番号「０」は、オクルージョンを表している可能性が高い。したがって、同図に示すように、立体物（グループ番号「１」）の右側に存在するグループ番号「０」の領域を、オクルージョンが発生してるエリアとして推定することができる。そして、特定部１７は、この立体物を基準として、オクルージョンの発生方向（本実施形態では、右方向）に、次の立体物のグループまで、或いは、このグループ番号「０」が延在する位置までを、オクルージョンエリアとして特定する（ステップ４）。ただし、本実施形態において、特定部１７によって特定されるオクルージョンエリアは、撮像画像においてオクルージョンが発生している領域と厳密に一致することを必要としない。すなわち、本明細書に示す「オクルージョンエリア」とは、少なくともオクルージョンが発生している領域、或いは、オクルージョンと思しき領域を含む撮像画像内のエリアであることに理解されたい。一方、立体物の右側にグループ「０」の領域がない、すなわち、オクルージョンエリアがない場合には、本ルーチンを抜ける。
【００３９】
そして、ステップ５において、特定部１７は、このオクルージョンエリアを、ステレオ画像処理ユニット９に対して指示し、本ルーチンを抜ける。この特定部１７からの指示を受け、係数制御部１２は、このオクルージョンエリアに対して、演算対象ブロックＰＢ’ij内の中央領域の周囲に位置する周辺領域の重み係数ｗijの値を、非オクルージョンエリアよりも小さくするべく旨を、ステレオマッチング部１０に対して指示をする。そして、ステレオマッチング部１０は、例えば、図９に示す重み係数ｗijを用いて、このオクルージョンエリアについて再度ステレオマッチングを行う。ここで、図９は、周辺領域の重み係数ｗijを小さくした演算対象ブロックＰＢ’ijの一例を示す説明図である。同図に示す例では、周辺領域の重み係数ｗijの値は、0になっている。上述したように、周辺領域の重み係数ｗijの値を小さくすることで、オクルージョンエリアに関与する画素のシティブロック距離ＣＢへの影響を低減することができる。特に、重み係数ｗijが0の場合には、周辺領域の画素はシティブロック距離ＣＢの算出にまったく考慮されない。換言すれば、この図９に示す演算対象ブロックＰＢ’ijは、演算対象ブロックＰＢ’ijの面積を4×4画素でシティブロック距離ＣＢを算出することと等価となる。
【００４０】
これにより、オクルージョンエリアに存在する画素ブロックＰＢijに関し、4×4画素相当の演算対象ブロックＰＢ’ijで、相関関係が評価される。そして、相関関係の評価結果に基づいて、最も相関関係が高いと判断される相関先（相関先の候補の内のいずれか）が、画素ブロックＰＢijの相関先として特定される。このとき、原則として、基準画像側の相関元と、比較画像側の相関先との画像平面上での水平方向のずれ量ｄ’が、画素ブロックＰＢij（相関元）の視差ｄとして決定される。そして、新たに決定された視差ｄが距離データメモリ１４で更新される。
【００４１】
ここで、図１０は、演算対象ブロックＰＢ’ijの面積を小さくした場合のステレオマッチングの様子を示した説明図である。図１１は、演算対象ブロックＰＢ’ijの面積を大きくした場合のステレオマッチングの様子を示した説明図である。両図に示すように、基準画像において、ある画素ブロックＰＢij▲１▼〜▲３▼（相関元）に関し、その相関先を比較画像に特定する場合を仮定する。図１０に示すように、演算対象ブロックＰＢ’ijの面積を、画素ブロックＰＢij相当の4×4画素と同等とした場合、オクルージョンエリアに相当する画素ブロックＰＢij▲２▼は、その相関先を比較画像において特定することが難しい。しかしながら、演算対象ブロックＰＢ’ij▲１▼，▲３▼内の画素はオクルージョンエリアに含まれていないため、マッチングが可能となる。一方、演算対象ブロックＰＢ’ijを8×8画素としてステレオマッチングを行う場合、ブロックの面積が大きいため、画素ブロックＰＢij▲１▼，▲３▼内の画素の一部は、オクルージョンエリアに含まれてしまう（図１１参照）。したがって、図１１に示す状態では、画素ブロックＰＢij▲２▼ばかりでなく、画素ブロックＰＢij▲１▼，▲３▼であっても、その相関先の特定が困難となる。このことから理解されるように、オクルージョンエリア、或いは、オクルージョンエリアの周辺では、演算対象ブロックＰＢ’ijの面積を小さくした方が、オクルージョンの影響を受け難いので、ステレオマッチングを行ううえで有利である。
【００４２】
認識部１６は、この更新された視差ｄを含む距離データを用いて、道路形状や立体物認識を行う。また、このとき、認識部１６は、これらの認識結果に基づいて、前方のカーブや立体物に対する警報が必要と判定された場合、モニタやスピーカー等の警報装置（図示せず）を作動させてドライバーに注意を促す。また、必要に応じて制御装置（図示せず）を制御することにより、ＡＴ（自動変速機）のシフトダウンやエンジン出力の抑制、或いはブレーキの作動といった車両制御が実行される。
【００４３】
以上説明したように、本実施形態に示す画像処理手法では、ある画素ブロックＰＢijに関する視差ｄを算出するに当たり、まず、この画素ブロックＰＢijよりも拡幅した8×8画素の演算対象ブロックＰＢ’ijを用いて相関評価を行う。そして、オクルージョンがあると認められた場合には、オクルージョンエリアにおいて、再度相関評価を行っている。このとき、ステレオ画像処理ユニット９は、係数制御部１２において演算対象ブロックＰＢ’ij内の周辺領域の重み係数ｗijの値として0を用いて、シティブロック距離ＣＢを算出している。このとき、演算対象ブロックＰＢ’ijの面積が等価的に小さくなるので、オクルージョンの影響を低減することができる。これにより、8×8画素相当の演算対象ブロックＰＢ’ijでは、マッチングが取れなかった画素ブロックＰＢijであっても、周辺領域の重み係数ｗijを0とすることで、その相関先の特定を行うことができる。この結果、算出される距離データの信頼性向上を図ることができる。さらに、このようにして算出された距離データを用いることで、監視精度の向上を図ることができる。
【００４４】
なお、本実施形態では、画素ブロックＰＢijを4×4画素、この画素ブロックＰＢijを基準に設定される演算対象ブロックＰＢ’ijを8×8画素としたが、本発明はこれらのサイズに限定されるものではないのは当然である。当業者であれば、本発明の趣旨に逸脱しない範囲内において、任意のサイズを選択可能であろう。また、画素ブロックＰＢijの面積と、演算対象ブロックＰＢ’ijの面積とを同一の面積（例えば、8×8画素）として扱ってもよい。ただし、本実施形態にかかる画像処理手法では、一フレーム相当の撮像画像より得られる視差の数は、演算対象ブロックＰＢ’ijより小領域である画素ブロックＰＢijの数に依存している。このため、画素ブロックＰＢijの面積を演算対象ブロックＰＢ’ijの面積よりも小さくすることで、十分な空間分解能を有する距離データを算出できるので有利である。
【００４５】
また、本実施形態では、最もオクルージョンの影響を受けにくい例として、演算対象ブロックＰＢ’ijにおける周辺領域の重み係数ｗijを一律で0としたが、本発明はこれに限定されるものではない。図１２は、周辺領域の重み係数ｗijを小さくした演算対象ブロックＰＢ’ijの別の一例を示す説明図である。同図に示すように、周辺領域の重み係数ｗijの値を、図４に示す設定値、すなわち、非オクルージョンエリアにおける重み係数ｗijの値よりも小さくすればよい。このような重み付けであっても、周辺領域の画素に関するシティブロック距離ＣＢへの評価の割合が小さくなるので、面積を小さくすることと実質的に等価である。
【００４６】
また、上述した実施形態では、グループ番号「０」が連続している領域をオクルージョンエリアとして特定したが、立体物の右側の何処までが真のオクルージョンであるかを推定することは難しい。ただし、オクルージョンは立体物の近傍に生じ得るということを考慮すれば、オクルージョンの発生方向（本実施形態では、立体物の右側）に関し、対象物に近い方よりも遠い方がオクルージョンの影響は受け難い。そこで、オクルージョンエリアにおいて、オクルージョンの発生方向に関し、対象物から遠い演算対象ブロックＰＢ’ijにおける周辺領域の重み係数ｗijの値を、対象物に近い演算対象ブロックＰＢ’ijにおける周辺領域の重み係数ｗijの値よりも大きくすることもできる。このときの、重み係数ｗijは、例えば線形的に、周囲の重み係数ｗijの値を連続的に増大するように制御すれば、立体物近傍から遠い位置にかけて順次大面積での演算が可能となる。これによりオクルージョンの影響を低減しながら、マッチングを行うことができる。
【００４７】
なお、本実施形態では、車外監視を例にとって説明したが、踏切監視、地形認識または高度測定といった様々な用途において、このようなステレオ画像処理手法を用いた三次元認識を適用することができる。
【００４８】
さらに、本発明の画像処理手法は、ステレオカメラから出力される一対の撮像画像を用いたステレオ画像処理に限定されない。例えば、単眼カメラから出力される一対の時系列的な画像を用いて、一方の撮像画像における所定面積の画像領域の相関先を他方の撮像画像において特定し、オプティカルフローを求めるような場合にも適用可能である。
【００４９】
【発明の効果】
このように本発明によれば、ある画像領域に関する視差を算出するにあたり、まず、この画像領域を基準とした演算対象領域を用いて相関評価を行う。そして、オクルージョンがあると認められた場合には、オクルージョンが発生しているエリアにおいて、周辺領域の重み係数ｗijの値を、オクルージョンが発生していない領域の値よりも小さくして、相関評価が行われる。これにより、演算対象領域の面積を等価的に小さくすることになるので、オクルージョンの影響を低減することができる。
【図面の簡単な説明】
【図１】本実施形態にかかる画像処理装置のブロック構成図
【図２】基準画像に設定される画素ブロックの説明図
【図３】演算対象ブロックの説明図
【図４】シティブロック距離算出の説明図
【図５】オクルージョンの説明図
【図６】オクルージョンの説明図
【図７】本実施形態にかかる画像処理手順を示したフローチャート
【図８】グループ番号の説明図
【図９】周辺領域の重み係数を小さくした演算対象ブロックの一例を示す説明図
【図１０】演算対象ブロックの面積を小さくした場合のステレオマッチングの様子を示した説明図
【図１１】演算対象ブロックの面積を大きくした場合のステレオマッチングの様子を示した説明図
【図１２】周辺領域の重み係数を小さくした演算対象ブロックの別の一例を示す説明図
【符号の説明】
１        画像処理装置
２        メインカメラ
３        サブカメラ
４        Ａ／Ｄコンバータ
５        Ａ／Ｄコンバータ
６        フレームメモリ
７        フレームメモリ
８        画像補正部
９        ステレオ画像処理ユニット
１０        ステレオマッチング部
１１        視差算出部
１２        係数制御部
１３        画像データメモリ
１４        距離データメモリ
１５        マイクロコンピュータ
１６        認識部
１７        特定部
【図１】
0004209647.tif 000002
【図２】
0004209647.tif 000003
【図３】
0004209647.tif 000004
【図４】
0004209647.tif 000005
【図５】
0004209647.tif 000006
【図６】
0004209647.tif 000007
【図７】
0004209647.tif 000008
【図８】
0004209647.tif 000009
【図９】
0004209647.tif 000010
【図１０】
0004209647.tif 000011
【図１１】
0004209647.tif 000012
【図１２】
0004209647.tif 000013