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