(57)【要約】【課題】監視システムの使用環境下において、ステレオマッチングにより算出される視差の誤差を考慮して、算出される実空間上の距離を容易に補正する。【解決手段】ステレオカメラ２は、第１の水平角度θ１で対象物を含む景色を撮像することにより、第１のステレオ画像データを出力する。また、第１の水平角度θ１とは異なる第２の水平角度θ２で対象物を含む景色が撮像されることにより、第２のステレオ画像データが出力される。視差算出部は、ステレオ画像データに基づいて視差を算出する。距離算出部は、視差と、距離補正値としてのパラメータとに基づいて、距離を算出する。補正演算部１２は、第１のステレオ画像データに基づいて算出された対象物に関する第１の視差ｄｏ１と、第２のステレオ画像データに基づいて算出された対象物に関する第２の視差ｄｏ２と、第１および第２の水平角度θ１，θ２とに基づいて、パラメータを算出する。【選択図】　図１
2004028811.tif 000002
【特許請求の範囲】
【請求項１】
監視システムの距離補正装置において、
第１の水平角度で対象物を含む景色を撮像することにより、第１のステレオ画像データを出力するとともに、前記第１の水平角度とは異なる第２の水平角度で前記対象物を含む景色を撮像することにより、第２のステレオ画像データを出力するステレオカメラと、
ステレオ画像データに基づいて、ステレオマッチングにより視差を算出する視差算出部と、
前記視差算出部により算出された視差と、距離補正値としてのパラメータとに基づいて、距離を算出する距離算出部と、
前記第１のステレオ画像データに基づいて算出された前記対象物に関する第１の視差と、前記第２のステレオ画像データに基づいて算出された前記対象物に関する第２の視差と、前記第１の水平角度と、前記第２の水平角度とに基づいて、前記パラメータを算出する補正演算部と
を有することを特徴とする監視システムの距離補正装置。
【請求項２】
前記補正演算部は、前記第１の視差と前記パラメータとに基づき算出される前記対象物の距離と、前記第２の視差と前記パラメータとに基づき算出される前記対象物の距離との比を、前記第１の水平角度に関する余弦値と、前記第２の水平角度に関する余弦値との比に一致させる前記パラメータを算出することを特徴とする請求項１に記載された監視システムの距離補正装置。
【請求項３】
前記対象物は、静止した物体であることを特徴とする請求項１または２に記載された監視システムの距離補正装置。
【請求項４】
前記ステレオカメラの撮像方向を水平方向に変化させることにより、前記第１の水平角度と前記第２の水平角度とを異ならせることを特徴とする請求項１から３のいずれかに記載された監視システムの距離補正装置。
【請求項５】
前記ステレオカメラは、メインカメラとサブカメラとで構成されており、当該ステレオカメラは、メインカメラのレンズ焦点位置を中心に水平方向に回転することを特徴とする請求項４に記載された監視システムの距離補正装置。
【請求項６】
前記対象物は、メインカメラのレンズ焦点位置を中心に、円周方向に移動することを特徴とする請求項１または２に記載された監視システムの距離補正装置。
【請求項７】
前記第１のステレオ画像データに関する第１の撮像画像平面において前記対象物は当該第１の撮像画像平面の中央に位置し、前記第２のステレオ画像データに関する第２の撮像画像平面において前記対象物は当該第２の撮像画像平面の端に位置することを特徴とする請求項１から６のいずれかに記載された監視システムの距離補正装置。
【請求項８】
前記補正演算部は、それぞれ異なる水平角度で前記対象物を含む景色を撮像することにより出力された３フレーム以上のステレオ画像データに基づいて算出された前記対象物に関する視差群と、前記それぞれ異なる水平角度とに基づいて、前記パラメータを補正することを特徴とする請求項１から７のいずれかに記載された監視システムの距離補正装置。
【請求項９】
監視システムの距離補正方法において、
第１の水平角度で対象物を含む景色を撮像することにより出力された第１のステレオ画像データに基づいて、ステレオマッチングにより前記対象物に関する第１の視差を算出する第１のステップと、
前記第１の水平角度とは異なる第２の水平角度で前記対象物を含む景色を撮像することにより出力された第２のステレオ画像データに基づいて、ステレオマッチングにより前記対象物に関する第２の視差を算出する第２のステップと、
前記第１の視差と、前記第２の視差と、前記第１の水平角度と、前記第２の水平角度とに基づいて、距離補正値としてのパラメータを算出する第３のステップと、
ステレオ画像データに基づいてステレオマッチングにより算出された視差と、前記算出されたパラメータとに基づいて、距離を算出する第４のステップと
を有することを特徴とする監視システムの距離補正方法。
【請求項１０】
前記第３のステップは、前記第１の視差と前記パラメータとに基づき算出される前記対象物の距離と、前記第２の視差と前記パラメータとに基づき算出される前記対象物の距離との比を、前記第１の水平角度に関する余弦値と、前記第２の水平角度に関する余弦値との比に一致させる前記パラメータを算出することを特徴とする請求項９に記載された監視システムの距離補正方法。
【請求項１１】
前記第３のステップは、それぞれ異なる水平角度で前記対象物を含む景色を撮像することにより出力された３フレーム以上のステレオ画像データに基づいて算出された前記対象物に関する視差群と、前記それぞれ異なる水平角度とに基づいて、前記パラメータを補正することを特徴とする請求項９または１０に記載された監視システムの距離補正方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ステレオカメラの位置ずれに起因した誤差を含んだ距離情報を補正する監視システム用の距離補正装置および距離補正方法に関する。
【０００２】
【従来の技術】
近年、一対のカメラ（ステレオカメラ）を用いた監視システムが注目されている。この類の監視システムは、車両や移動ロボット、または、航空機等に搭載されたステレオカメラ、或いは、踏切近傍の支柱等に固定的に配置されたステレオカメラによって所定の監視領域内の景色を撮像する。これにより得られた情報に基づいて、車両前方の走行状況や移動ロボットの周囲の状況、または、航空機等の高度、或いは、踏切エリア内の状況などが認識される。
【０００３】
この監視システムは、一対の撮像画像（ステレオ画像）に写し出された同一対象物に関する位置的なずれ量（すなわち視差）を、ステレオマッチングを用いて算出する。画像に写し出された対象物の実空間上の距離は、対象物に関して算出された視差に基づいて、周知の座標変換式より算出可能である。ステレオマッチングの精度を高めるためには、換言すると、信頼性の高い距離情報を得るためには、視差以外の位置的なずれがステレオ画像に存在しないことが望ましい。しかしながら、実際は、ステレオカメラの機械的な取り付け精度に起因した位置ずれ（例えば、水平方向や垂直方向への並進ずれ、或いは回転ずれ等）が存在する。この位置ずれのうち、特に、水平方向の並進ずれ（以下「水平ずれ」という）は、ステレオ画像における視差の誤差となって現れるため、それに基づき算出された距離は実測値と異なってしまう。
【０００４】
この点に関して、特開２００１−１６０１３７号公報では、実際の距離と一致するように、視差に基づき算出される距離を補正する技術が提案されている。具体的には、まず、道路両脇の白線の平行性を利用して、撮像画像平面上で２本の白線の交点から消失点が算出される。算出された消失点に基づき、距離補正値としてのパラメーラが算出される。そして、このパラメータと、視差とに基づき、実空間上の距離が算出される。このとき、距離の誤差（正確には、視差に含まれる誤差に起因する距離の誤差）は、このパラメータによって相殺されるので、算出される実空間上の距離は、適正に補正される。
【０００５】
また、別な一例として、対象物までの実際の距離が既知な場合には、この距離に基づき、距離補正値としてのパラメータが算出される。そして、このパラメータにより距離の誤差を相殺することで、視差に基づき算出される実空間上の距離を補正する手法も提案されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、上記公報に開示された従来技術では、平行と見なせる対象物、例えば、一対の白線などが監視領域内に存在していなければならず、この補正手法を適用できる環境が限定されるという問題がある。すなわち、従来では、実距離が既知な対象物、あるいは、２本の平行性という特徴を有する対象物が存在しない限り、上述した補正を行うことが困難であった。
【０００７】
本発明は、このような事情に鑑みてなされたものであり、その目的は、監視システムの使用環境下において、ステレオマッチングにより算出される視差の誤差を考慮して、算出される実空間上の距離を容易に補正することである。
【０００８】
また、この発明の別の目的は、対象物までの距離を補正することにより、距離計測の精度の向上を図ることである。
【０００９】
【課題を解決するための手段】
かかる課題を解決するために、第１の発明は、監視システムの距離補正装置において、ステレオカメラと、視差算出部と、距離算出部と、補正演算部とを有する監視システムの距離補正装置を提供する。ここで、ステレオカメラは、第１の水平角度で対象物を含む景色を撮像することにより、第１のステレオ画像データを出力する。また、第１の水平角度とは異なる第２の水平角度で対象物を含む景色が撮像されることにより、第２のステレオ画像データが出力される。視差算出部は、ステレオ画像データに基づいて、ステレオマッチングにより視差を算出する。距離算出部は、視差算出部により算出された視差と、距離補正値としてのパラメータとに基づいて、距離を算出する。補正演算部は、第１のステレオ画像データに基づいて算出された対象物に関する第１の視差と、第２のステレオ画像データに基づいて算出された対象物に関する第２の視差と、第１の水平角度と、第２の水平角度とに基づいて、上記パラメータを算出する。
【００１０】
ここで、第１の発明において、補正演算部は、第１の視差とパラメータとに基づき算出される対象物の距離と、第２の視差とパラメータとに基づき算出される対象物の距離との比を、第１の水平角度に関する余弦値と、第２の水平角度に関する余弦値との比に一致させるパラメータを算出することが好ましい。
【００１１】
また、第１の発明において、対象物は、静止した物体であることが好ましい。このとき、第１の発明において、ステレオカメラの撮像方向を水平方向に変化させることにより、第１の水平角度と第２の水平角度とを異ならせることが好ましい。この場合、ステレオカメラは、メインカメラとサブカメラとで構成されており、このステレオカメラは、メインカメラのレンズ焦点位置を中心に水平方向に回転することが好ましい。
【００１２】
あるいは、第１の発明において、対象物は、メインカメラのレンズ焦点位置を中心に、円周方向に移動することが好ましい。
【００１３】
また、第１の発明において、第１のステレオ画像データに関する第１の撮像画像平面において対象物は第１の撮像画像平面の中央に位置することが好ましい。また、第２のステレオ画像データに関する第２の撮像画像平面において対象物は第２の撮像画像平面の端に位置することが好ましい。
【００１４】
さらに、第１の発明において、補正演算部は、それぞれ異なる水平角度で対象物を含む景色を撮像することにより出力された３フレーム以上のステレオ画像データに基づいて算出された対象物に関する視差群と、それぞれ異なる水平角度とに基づいて、パラメータを補正することが好ましい。
【００１５】
また、第２の発明は、監視システムの距離補正方法を提案する。かかる距離補正方法は、第１のステップとして、第１の水平角度で対象物を含む景色を撮像することにより出力された第１のステレオ画像データに基づいて、ステレオマッチングにより対象物に関する第１の視差を算出する。第２のステップは、第１の水平角度とは異なる第２の水平角度で対象物を含む景色を撮像することにより出力された第２のステレオ画像データに基づいて、ステレオマッチングにより対象物に関する第２の視差を算出する。第３のステップは、第１の視差と、第２の視差と、第１の水平角度と、第２の水平角度とに基づいて、距離補正値としてのパラメータを算出する。第４のステップは、ステレオ画像データに基づいてステレオマッチングにより算出された視差と、算出されたパラメータとに基づいて、距離を算出する。
【００１６】
ここで、第２の発明において、第３のステップは、第１の視差とパラメータとに基づき算出される対象物の距離と、第２の視差とパラメータとに基づき算出される対象物の距離との比を、第１の水平角度に関する余弦値と、第２の水平角度に関する余弦値との比に一致させるパラメータを算出することが好ましい。
【００１７】
また、第２の発明において、第３のステップは、それぞれ異なる水平角度で前記対象物を含む景色を撮像することにより出力された３フレーム以上のステレオ画像データに基づいて算出された前記対象物に関する視差群と、前記それぞれ異なる水平角度とに基づいて、前記パラメータを補正することが好ましい。
【００１８】
【発明の実施の形態】
図１は、本実施形態にかかる監視システムのブロック構成図である。本実施形態にかかる監視システム１は、一例として、屋内外において用いられる移動ロボットに搭載されて、監視領域内の状況を監視する。この監視システム１において、ステレオカメラ２は、監視領域を含む景色を撮像する。このステレオカメラ２は、一対のカメラ２ａ，２ｂで構成されており、それぞれのカメラ２ａ，２ｂには、イメージセンサ（例えば、ＣＣＤまたはＣＭＯＳセンサ等）が内蔵されている。メインカメラ２ａは、ステレオ画像処理を行う際に必要な基準画像（右画像）を撮像し、サブカメラ２ｂは、比較画像（左画像）を撮像する。互いの同期が取れている状態において、カメラ２ａ，２ｂから出力された各アナログ画像は、Ａ／Ｄコンバータ３，４により、所定の輝度階調（例えば、２５６階調のグレースケール）のデジタル画像に変換される。
【００１９】
デジタル化された一対の画像データは、画像補正部５において、輝度の補正や画像の幾何学的な変換等が行われる。通常、一対のカメラ２ａ，２ｂの取付位置は、程度の差はあるものの誤差が存在するため、それに起因したずれが左右の各画像に生じている。このずれを補正するために、アフィン変換等を用いて、画像の回転や平行移動等の幾何学的な変換が行われる。
【００２０】
このような画像処理を経て、メインカメラ２ａより基準画像データが得られ、サブカメラ２ｂより比較画像データが得られる。これらの画像データ（ステレオ画像データ）は、各画素の輝度値（０〜２５５）の集合である。ここで、画像データによって規定される画像平面は、ｉ−ｊ座標系で表現され、画像の左下隅を原点として、水平方向をｉ座標軸、垂直方向をｊ座標軸とする。一フレーム（一画像の表示単位）相当のステレオ画像データは、後段のステレオ画像処理部６に出力されるとともに、画像データメモリ７に格納される。
【００２１】
ステレオ画像処理部６は、基準画像データと比較画像データとに基づいて、一フレーム相当の撮像画像に関する距離データを算出する。ここで、「距離データ」とは、画像データによって規定される画像平面において小領域毎に算出された視差ｄの集合であり、個々の視差ｄは画像平面上の位置（ｉ，ｊ）と対応付けられている。それぞれの視差ｄは、基準画像の一部を構成する所定面積（例えば、４×４画素）の画素ブロック毎に１つ算出される。
【００２２】
図２は、基準画像に設定される画素ブロックの説明図である。例えば、基準画像が２００×５１２画素で構成されている場合、一フレーム相当の撮像画像から、画素ブロックＰＢｉｊの個数相当（５０×１２８個）の視差群が算出され得る。周知のように、視差ｄは、その算出単位である画素ブロックＰＢｉｊに関する水平方向のずれ量であり、画素ブロックＰＢｉｊに写し出された対象物までの距離と大きな相関がある。すなわち、画素ブロックＰＢｉｊ内に写し出されている対象物がカメラ２ａ，２ｂに近いほど、この画素ブロックＰＢｉｊの視差ｄは大きくなり、対象物が遠いほど視差ｄは小さくなる（無限に遠い場合、視差ｄは０になる）。
【００２３】
ある画素ブロックＰＢｉｊ（相関元）に関する視差ｄを算出する場合、この画素ブロックＰＢｉｊの輝度特性と相関を有する領域（相関先）を比較画像において特定する。上述したように、カメラ２ａ，２ｂから対象物までの距離は、基準画像と比較画像との間における水平方向のずれ量として現れる。したがって、比較画像において相関先を探索する場合、相関元となる画素ブロックＰｉｊのｊ座標と同じ水平線（エピポーラライン）上を探索すればよい。ステレオ画像処理部６は、相関元のｉ座標を基準に設定した所定の探索範囲内において、エピポーラライン上を一画素ずつシフトしながら、相関元と相関先の候補との間の相関性を順次評価する（ステレオマッチング）。そして、原則として、最も相関が高いと判断される相関先（相関先の候補の内のいずれか）の水平方向のずれ量を、その画素ブロックＰＢｉｊの視差ｄとする。換言すれば、ステレオ画像処理部６（機能的に称するならば「視差算出部」）は、ステレオ画像データに基づいて、ステレオマッチングにより視差ｄを算出する。
【００２４】
２つの画素ブロックの相関は、例えば、シティブロック距離ＣＢを算出することにより評価することができる。数式１は、シティブロック距離ＣＢの基本形を示す。同数式において、ｐ１ｉｊは一方の画素ブロックのｉｊ番目の画素の輝度値であり、ｐ２ｉｊは他方の画素ブロックのｉｊ番目の輝度値である。シティブロック距離ＣＢは、位置的に対応した輝度値ｐ１ｉｊ，ｐ２ｉｊの差（絶対値）の画素ブロック全体における総和であって、その差が小さいほど両画素ブロックの相関が大きいことを意味している。
【数１】
2004028811.tif 000003
【００２５】
基本的に、エピポーラライン上に存在する画素ブロック毎に算出されたシティブロック距離ＣＢのうち、その値が最小となる画素ブロックが相関先と判断される。このようにして特定された相関先と相関元との間のずれ量が視差ｄとなる。なお、シティブロック距離ＣＢを算出するステレオ画像処理部６のハードウェア構成については、特開平５−１１４０９９号公報に開示されているので、必要ならば参照されたい。このような処理を経て算出された距離データ、すなわち、画像上の位置（ｉ，ｊ）と対応付けられた視差ｄの集合は、後段の距離データメモリ８に格納される。
【００２６】
図３は、ステレオカメラの回転状態を示した説明図である。本実施形態において、ステレオカメラ２は、回転可能なカメラ台（図示せず）に取り付けられており、同図に示すように、メインカメラ２ａのレンズ焦点位置を中心に、水平方向に回転する。このカメラ台にはサーボモータ９が接続されており、サーボモータ９は、後段のマイクロコンピュータ１０からの指示に基づき、ステレオカメラ２を回転させるべく、駆動する。なお、マイクロコンピュータ１０は、サーボモータ９からの出力に基づき、現在のステレオカメラ２の角度を把握している。かかる構成において、ステレオカメラ２は、第１の水平角度θ１で対象物Ｏを含む景色を撮像することにより、第１のステレオ画像データＰ１を出力する。また、この状態からステレオカメラ２の撮像方向が変化させられて、第１の水平角度θ１とは異なる第２の水平角度θ２で対象物Ｏを含む景色を撮像することにより、第２のステレオ画像データＰ２が出力される。ここで、本明細書に示す「水平角度θ」とは、同図に示すように、水平方向において、対象物Ｏとメインカメラ２ａの視線方向とのなす角をいう。
【００２７】
マイクロコンピュータ１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、入出力インターフェース等で構成されているが、これを機能的に捉えた場合、認識部１１、補正演算部１２および制御部１３を有する。認識部１１は、距離データメモリ８から読み出された距離データＤ、正確には、視差ｄを基本パラメータとして、下式に基づいて実空間上の距離ｚを算出する。
【数２】
2004028811.tif 000004
【００２８】
同式において、ＫＺＨは所定の定数（カメラ基線長／水平視野角）であり、ＤＰは消失点視差である。本実施形態において、消失点視差ＤＰは、距離補正値としてのパラメータ（可変）であり、その値は補正演算部１２において算出される。換言すれば、認識部（その機能の一つを捉えて称するのであれば「距離算出部」）１１は、算出された視差ｄと、距離補正値としてのパラメータとに基づいて、距離ｚを算出する。
【００２９】
補正演算部１２は、後述する一連の手順にしたがって消失点視差ＤＰの値を更新し、その値を認識部１１にフィードバックする。より具体的には、補正演算部１２は、以下に示す４つのパラメータに基づき、消失点視差ＤＰを算出する。これらのパラメータは、第１のステレオ画像データＰ１に基づいて算出された対象物Ｏに関する第１の視差ｄｏ１、第２のステレオ画像データＰ２に基づいて算出された対象物Ｏに関する第２の視差ｄｏ２、第１の水平角度θ１および第２の水平角度θ２の４つである。補正演算部１２は、認識部１１で取り扱われている消失点視差ＤＰとしての現在値を把握しており、算出された消失点視差ＤＰに基づき、この現在値を更新する。
【００３０】
制御部１３は、認識部１１による認識結果に基づいて、必要に応じてモニタやスピーカー等の警報装置を作動させて、周囲に注意を促す。また、必要に応じて制御装置を制御することにより、進行方向の変更、或いは、ブレーキの作動といった制御が実行される。
【００３１】
図４は、本実施形態にかかる消失点視差の算出処理の手順を示したフローチャートである。なお、このフローチャートに示したルーチンは、適宜呼び出され、マイクロコンピュータ１０（機能的な要素としては補正演算部１２）によって実行される。例えば、この算出処理は、移動ロボットの起動時、或いは、所定の時間間隔毎に行われる。
【００３２】
まず、ステップ１において、１フレーム相当の画像データＰが画像データメモリ７より読み込まれるとともに、それに対応する距離データＤが距離データメモリ８より読み込まれる。
【００３３】
ステップ２において、読み込まれた画像データＰおよび距離データＤに基づき、第１および第２の視差ｄｏ１，ｄｏ２の算出対象となる対象物Ｏが特定される。図５は、ステップ２における対象物の特定処理の詳細な手順を示すフローチャートである。まず、ステップ２０において、距離データＤが、画像データＰによって規定される二次元的な平面において、縦方向に延在する短冊状に切断され、複数の区分に分割される。
【００３４】
ステップ２１において、分割された区分のそれぞれを処理対象として、区分に関する代表視差ｄ’がそれぞれ算出される。このステップ２１では、まず、ある区分（例えば、一番左端の区分）について、視差ｄに関するヒストグラムが算出される。図６は、ヒストグラムの一例を示す説明図である。同図に示す例において、ヒストグラムは、視差ｄを横軸として、予め設定された幅の区間でこの横軸が区切られている。そして、横軸の区間のそれぞれにおいて、この区分内に含まれる区間相当の視差ｄの個数が数えられ、区間のそれぞれについて度数が求められる。これにより、視差ｄに関するヒストグラムが算出されると、このヒストグラムにおいて、最頻値となる区間（正確には、区間相当の視差値）が、代表視差ｄ’として特定される。そして、分割された全ての区分について、この処理が行われ、区分に関する代表視差ｄ’がそれぞれ算出される。
【００３５】
ステップ２２において、算出された代表視差ｄ’に基づき、区分のそれぞれがグループにまとめられる（グループ化）。図７は、グループ化の処理を示す説明図である。この処理では、隣接する一組の区分において代表視差ｄ’がそれぞれ比較され、この一組の代表視差ｄ’の差が判定値以下であるか否かが判断される。この判断で肯定された場合には、この両区分に関する代表視差ｄ’は同一の物体を示す視差であるとみなされ、この一組の区分が同一のグループにまとめられる。一方、この判断で否定された場合には、両区分に関する代表視差ｄ’はそれぞれ異なる物体を示す視差であるとみなされ、この一組の区分がそれぞれ異なるグループに分けられる。以上の処理が、隣接する一組の区分の全てについて行われ、分割された区分が幾つかのグループにまとめられる。同図に示す例では、楕円で囲まれた４つのグループに区分がまとめられている。これらのグループは、撮像範囲内に含まれている物体（立体物や背景）をそれぞれ概略的にあらわすものであり、これらのグループは対象物Ｏの候補である。
【００３６】
ここで、対象物Ｏの条件としては、後述する消失点視差ＤＰの算出式に関する導出原理に基づき、以下に示す２項目が挙げられる。
（１）対象物Ｏは静止した物体である。
（２）対象物Ｏは実空間上での距離が中近距離の物体である。
【００３７】
本実施形態において、ステレオカメラ２の水平ずれ等に起因した距離ｚの誤差（すなわち、視差ｄに含まれる誤差）は、この消失点視差ＤＰにより相殺される。第１および第２の視差ｄｏ１，ｄｏ２はこの消失点視差ＤＰを算出するための必須パラメータであるが、これら視差ｄｏ１，ｄｏ２の算出対象となる対象物Ｏが上記条件を満たさない場合、算出される消失点視差ＤＰの信頼性は低下してしまう。例えば、ステレオカメラ２の角度変化以外の要素（すなわち、対象物Ｏの移動等）が、この距離ｚ１（或いは距離ｚ２）に含まれると、これらの視差ｄｏ１，ｄｏ２に含まれる誤差以外の要素が消失点視差ＤＰの値に反映されてしまう。それ故に、対象物Ｏは、静止した物体であることが重要である。また、ステレオマッチングにおいて遠方の物体は、中近距離の物体と比べると視差ｄの精度が悪い。これら視差ｄｏ１、ｄｏ２に含まれる誤差を評価する場合、値として信頼性の高い視差ｄを用いることが好ましい。それ故に、対象物Ｏは、中近距離であることが重要となる。
【００３８】
これらの条件に基づき、ステップ２２に示すグループ化の処理では、４つのグループのうち、背景など遠景を示す（視差の値が小さい）グループが除外される。そして、対象物Ｏの候補とするべく、なんらかの物体を示すであろうグループのみが、グループとして決定される。例えば、図７に示す例では、両端の２つのグループが除外される。そして、真ん中に位置する２つのグループが、グループＧ１，Ｇ２として決定される。
【００３９】
なお、本実施形態では、対象物Ｏが静止した物体であるか否かの評価を行っていない。しかしながら、例えば、ステップ２０で画像データＰを読み込んだ際に、以下に示す処理を行うことで、この問題は解消される。具体的には、まず、補正演算部１２は、読み込まれた画像データＰよりも時系列的に後（或いは、前）で出力され、かつ、この画像データＰと同じ撮像方向で撮像された画像データＰを更に読み込む。そして、これらの画像データＰについて、差分処理が行われ、しきい値以上の輝度変化がある領域（或いは、画素単体）が特定される。そして、距離データＤにおいて、特定された領域に対応する視差ｄを予め除外する、すなわち、輝度変化が大きくなるような動的な像が写し出された領域を除外することで、取り扱う視差ｄを静止した物体にのみ限定することができる。ここで、差分処理は、異なるフレームの画像データＰにおいて、位置的に対応する輝度値の差分を求めることである。
【００４０】
次に、ステップ２３において、グループ（本実施形態では、２つのグループＧ１，Ｇ２）を構成する区分が縦方向に限定される。このステップ２３では、グループとしてまとめられた区分を処理単位として、これら区分に対応する距離データＤが、横方向に延在する短冊状の区分に分割される。そして、この横方向の短冊状の区分のそれぞれにおいて、上述したステップ２１〜ステップ２２に示した処理が行われ、区分が縦方向に限定される。この結果、図８（ａ）に示すように、区分が縦方向に限定されたグループ（ハッチングで示された矩形）Ｇ１，Ｇ２が、距離データＤ上で特定される。これにより、同図（ｂ）に示すように、これらのグループＧ１，Ｇ２は、画像データＰに関する撮像画像平面に写し出された対象物Ｏ１，Ｏ２（楕円）とほぼ対応することとなる。
【００４１】
そして、ステップ２４において、背景との切り分けが容易なグループＧが選択される。このステップ２４では、特定された複数のグループの中から、背景との視差ｄが一番大きく異なるグループが一つ選別される。図８に示す例では、グループＧとして、背景との視差ｄが一番大きく異なるグループＧ１が選択される（図７参照）。なお、先のステップ２３までの処理で、グループが一つのみ特定されている場合には、このステップ２４では、特定された一つのグループがグループＧとして選択される。
【００４２】
ステップ２５において、選別されたグループＧ内に含まれる視差ｄの分散値が算出される。そして、算出された視差ｄの分散値が所定のしきい値以下であるか否かが判断される（ステップ２６）。この判断で肯定された場合、すなわち、グループ内の視差ｄの分散が小さい場合、ステップ２７に進み、選択されたグループＧを対象物Ｏとして特定する。
【００４３】
一方、この判断で否定された場合、すなわち、グループ内の視差ｄの分散が大きい場合、ステップ２８において、読み込まれた画像データＰに対応する撮像範囲内には、対象物Ｏがないと判断される。なぜならば、グループＧ内の視差ｄの分散が大きい場合には、対象物Ｏに特徴付ける視差ｄｏを定めるのが困難であるからである。本実施形態では、その視差が一義的に特定される対象物Ｏである方が、視差に含まれる誤差の評価をするうえで好ましい。
【００４４】
そして、図４に示すステップ３において、対象物Ｏがあるか否かが判断される。この判断で肯定された場合（ステップ２において対象物Ｏが特定されている場合）には、ステップ４に進む。一方、この判断で否定された場合には、本ルーチンを抜ける。すなわち、補正演算部１２は、対象物Ｏの特定が不可能であるとして、読み込んだ画像データＰおよび距離データＤを不適と判断する。そして、次の処理対象のフレームに対応する画像データＰおよび距離データＤが読み込まれ、ステップ２の処理を再度行う。
【００４５】
ステップ３に続くステップ４において、距離データＤ上で特定された対象物Ｏの位置に基づき、第１の水平角度θ１で対象物Ｏを含む景色を撮像可能となるように、ステレオカメラ２の回転角θｃｅｎが算出される。本実施形態では、回転角θｃｅｎは、回転後の対象物Ｏの位置がメインカメラ２ａの視線延長上に存在するように、この値が決定される（すなわち、第１の水平角度θ１＝０）。この回転角θｃｅｎは、対象物Ｏの実空間上の位置、或いは、画像平面上の位置に基づき、一義的に算出される。この算出された回転角θｃｅｎは、マイクロコンピュータ１０からサーボモータ９に対して出力される。これにともない、サーボモータ９が駆動し、ステレオカメラ２の撮像方向が水平方向に変化させられる（或いは、そのまま維持される）。このとき、ステレオカメラ２が対象物Ｏを含む景色を撮像することにより、第１のステレオ画像データＰ１が出力される。換言すれば、この第１のステレオ画像データＰ１に関する第１の撮像画像平面において、対象物Ｏは、第１の撮像画像平面の中央に位置している。
【００４６】
ステップ５において、対象物Ｏに関する視差ｄｏ１が算出される。ここで、距離データＤのフレーム番号を指定する変数Ｆとして、１がセットされる。この変数「１」は、第１のステレオ画像データＰ１に基づき算出された距離データＤ１に対応するフレーム番号を指す。図９は、視差算出手順を示した詳細なフローチャートである。まず、ステップ５０において、フレーム番号Ｆ（＝１）相当の距離データＤ１が距離データメモリ８から読み込まれる。
【００４７】
そして、ステップ５１〜ステップ５４において、距離データＤ１上で対象物Ｏを示すグループＧの特定処理が行われる。ここで、ステップ５１〜ステップ５４の手順は、上述したステップ２０〜ステップ２３に示した手順と同様であるため、ここでの詳細な説明は省略する。なお、距離データＤ１において、対象物Ｏに関する大まかな位置は予めわかっているので（本実施形態では、中央）、距離データＤ１上で対象物Ｏが存在するであろう領域のみを処理対象として、これらの処理が行われることが好ましい。
【００４８】
また、対象物Ｏの形状を正確に把握しているのであれば、その形状と一致する領域を距離データＤ１上の対象物Ｏに対応する位置と一致させることにより、グループＧを特定してもよい。この処理は、上述したステップ５１〜ステップ５４の処理と比べ、計算処理を簡略化できるので好ましい。
【００４９】
そして、ステップ５５において、グループＧに基づき対象物Ｏが特定され、この特定されたグループＧ内の視差ｄの平均値が対象物Ｏに関する第１の視差ｄｏ１として特定される。換言すれば、第１の視差ｄｏ１は、第１のステレオ画像データＰ１に基づいて算出された対象物Ｏに関する視差である。
【００５０】
ステップ６において、現在の対象物Ｏの位置に基づき、第２の水平角度θ２で対象物Ｏを含む景色が撮像可能となるように、ステレオカメラ２の回転角θｅｄｇｅが算出される。本実施形態において、回転角θｅｄｇｅは、回転後の対象物Ｏの位置がメインカメラ２ａの画角の端に存在するように、この値が決定される（すなわち、第２の水平角度θ２＝（メインカメラ２ａの画角）／２）。算出された回転角θｅｄｇｅは、マイクロコンピュータ１０からサーボモータ９に対して出力される。これにともない、サーボモータ９が駆動し、ステレオカメラ２撮像方向が水平方向に変化させられる。このとき、ステレオカメラ２が対象物Ｏを含む景色を撮像することにより、第２のステレオ画像データＰ２が出力される。換言すれば、この第２のステレオ画像データＰ２に関する第２の撮像画像平面において、対象物Ｏは、第２の撮像画像平面の端に位置している。
【００５１】
ステップ７において、対象物Ｏに関する視差ｄｏ２が算出される。ここで、距離データＤのフレーム番号を指定する変数Ｆとして、２がセットされる。この変数「２」は、第２のステレオ画像データＰ２に基づき算出された距離データＤ２に対応するフレーム番号を指す。このステップ７では、ステップ５において詳述した視差算出ルーチン（図９参照）が呼び出される。これにより、第２のステレオ画像データＰ２に対応する距離データＤ２が読み込まれ、対象物Ｏに関する第２の視差ｄｏ２が算出される。換言すれば、第２の視差ｄｏ２は、第２のステレオ画像データＰ２に基づいて算出された対象物Ｏに関する視差である。
【００５２】
ステップ８において、第１の視差ｄｏ１と、第２の視差ｄｏ２と、第１の水平角度θ１と、第２の水平角度θ２とに基づき、消失点視差ＤＰが算出される。本実施形態（すなわち、θ１＝０）では、消失点視差ＤＰは、第１の視差ｄｏ１と、第２の視差ｄｏ２と、第１の水平角度θ１と第２の水平角度θ２とのなす角θ１２（以下、「回転角度θ１２」と称する）との３つのパラメータに基づき、以下に示す数式３により、一義的に算出される。
【数３】
2004028811.tif 000005
【００５３】
図１０は、視差ｄに基づき算出される距離を示すための説明図である。一般に、ステレオ画像処理において、数式２に基づき算出される対象物Ｏまでの距離ｚは、カメラ２ａ，２ｂの視線方向に算出される。すなわち、距離ｚは、三次元空間において、対象物Ｏまでの最短実距離が算出されるのではない。同図に示すように、距離ｚは、カメラ基線に関して平行に定義される。
【００５４】
図１１は、消失点視差の算出式に関する導出原理を示す説明図である。同図（ａ）に示すように、メインカメラ２ａの中心線上で、奥行き（距離）ｚ＝ｚ１の静止した対象物Ｏを考える。そして、この状態から、メインカメラ２ａの焦点位置を中心として、ステレオカメラ２を水平方向に角度θだけ回転させる。このとき、ステレオカメラ２によって観測される対象物Ｏに関する距離ｚ＝ｚ２は、上述したｚ＝ｚ１との関係では、以下に示す数式４を満たす。
【数４】
2004028811.tif 000006
【００５５】
ここで、この距離ｚ１，ｚ２に対応する視差をそれぞれ視差ｄ１，ｄ２とすると、この距離ｚ１，ｚ２は数式２に基づき、以下に示す数式５で示される。
【数５】
2004028811.tif 000007
【００５６】
ステレオカメラ２の位置ずれがなく精度よく取り付けられている場合、数式５に示される距離ｚ１，ｚ２は、消失点視差ＤＰを考慮せずとも、数式４の関係を満たす。しかしながら、カメラ２ａ，２ｂに位置ずれが生じている場合には、視差ｄ１，ｄ２の値に誤差が含まれるため、この数式５に示される距離ｚ１，ｚ２は、数式４の関係を満たさなくなる。そこで、この誤差が相殺されるように消失点視差ＤＰの値を決定すれば、誤差を含んだ視差ｄ１，ｄ２であっても上述した数式４を満足することとなる。したがって、この決定された消失点視差ＤＰを用いて数式２に基づき距離を算出した場合、算出される距離に含まれる誤差（すなわち、視差ｄに含まれる誤差）が消失点視差ＤＰにより相殺されるので、正確な距離算出が可能となる。以上の導出原理に鑑みると、上述した数式３の意味するところは、第１視差ｄｏ１に基づき算出された距離ｚ１と、第２の視差ｄｏ２に基づき算出された距離ｚ２との比（ｚ２／ｚ１）が、回転角度θ１２と一致するような消失点視差ＤＰを算出することである。
【００５７】
そして、図４に示すステップ９において、ステップ８において算出された値を用いて消失点視差ＤＰが更新される。このとき、制御の安定性を図るために、比例制御を用いて消失点視差ＤＰの更新演算が行われる。すなわち、補正演算部１２は、認識部１１にて用いられる消失点視差ＤＰの現在値を把握している。これにより、消失点視差ＤＰの現在値と、ステップ８において算出された消失点視差ＤＰの算出値との差を、ずれ量ΔＤＰとして算出する。そして、このずれ量ΔＤＰに比例定数（０＜ｋ＜１）を乗じた値を、消失点視差ＤＰの現在値に加算することで、消失点視差ＤＰの値を更新する。そして、更新された消失点視差ＤＰが認識部１１に対して出力され、本フローチャートに示したルーチンの実行が終了する。
【００５８】
以上の処理に基づき、認識部１１は、ステレオ画像データに基づいてステレオマッチングにより算出された視差ｄと、補正演算部１２から出力されたパラメータ（消失点視差ＤＰ）とに基づいて、距離ｚを算出する。なお、距離ｚが算出されると、視差ｄと、この視差ｄに対応付けられた画像平面上の位置（ｉ，ｊ）とに基づき、周知の座標変換式により実空間上の座標（ｘ，ｙ，ｚ）は、一意に特定される。ステレオカメラ２の位置を基準に設定された実空間の座標系は、メインカメラ２ａの中央（レンズ焦点位置）真下の地面を原点として、ステレオカメラ２におけるカメラ基線長の延長方向をｘ軸、取り付け高さ方向をｙ軸、視線方向（距離方向）をｚ軸とする。ここで、先に述べたステレオカメラ２の回転中心は、ステレオカメラ２の位置を基準に設定された座標系の原点に対応する（正確には、ｘ−ｚ平面の原点位置と一致する）。そして、これらの情報にもとづき、認識部１１は、監視領域内の状況を認識する。ただし、認識部１１は、監視領域内の状況の認識にあたって、適宜、画像データメモリ７に格納された画像データを用いてもよい。
【００５９】
以上説明したように、本実施形態によれば、回転前後の対象物Ｏに関する第１および第２の視差ｄｏ１，ｄｏ２と、回転角度θ１２とに基づき、消失点視差ＤＰを算出している。ステレオカメラ２の水平ずれ等に起因した距離ｚの誤差は、この消失点視差ＤＰにより相殺することができる。したがって、この消失点視差ＤＰを用いて距離算出を行うことで、監視領域内の距離を精度よく算出することができる。また、本実施形態では、消失点視差ＤＰを算出するための対象物は、静止した物体であればよく、道路上の白線等などに限定されない。これにより、使用環境に限定されず、容易に距離の補正を行うことができる。
【００６０】
なお、上述した消失点視差ＤＰの算出手法において、距離ｚ１と距離ｚ２との差違が大きい、すなわち、回転角度θ１２が大きい方が、算出される消失点視差ＤＰとしての値の信頼性は高くなる。そこで、本実施形態では、回転角θｅｄｇｅ（＝回転角度θ１２）を算出する際、対象物Ｏが画角の端に存在するような角度、すなわち、回転角θ１２が最も大きくなるような角度としてその値が決定されている。これにより、本実施形態では、高精度な消失点視差ＤＰの算出が実現されている。
【００６１】
また、上述した実施形態では、距離ｚ１と距離ｚ２との差違が最も大きくなることを前提に、第１の水平角度θ１を０度として説明を行ったが、本発明はこれ限定されるものでない。すなわち、第１の水平角度θ１は、任意に設定することができる。この場合、数式３は、以下に示す数式６として一般展開可能である。
【数６】
2004028811.tif 000008
【００６２】
換言すれば、数式３或いは数式６の意味するところは、距離ｚ１と距離ｚ２との比を、第１の水平角度θ１に関する余弦値（ｃｏｓθ１）と第２の水平角度θ２に関する余弦値（ｃｏｓθ２）との比に一致させる消失点視差ＤＰを算出することである。ここで、距離ｚ１は第１の視差ｄｏ１とパラメータ（消失視差ＤＰ）とに基づき算出される対象物Ｏの距離であり、距離ｚ２は第２の視差ｄｏ２と消失点視差ＤＰとに基づき算出される対象物Ｏの距離である。なお、この数式６から理解されるように、第１の水平角度θ１を０度として取り扱った場合に数式６は数式３と一致している。
【００６３】
また、補正演算部１２は、複数の消失点視差ＤＰを算出し、この複数の消失点視差ＤＰに基づき、更新すべき値としての消失点視差ＤＰを特定してもよい。例えば、第１および第２の水平角度θ１，θ２とは異なる第３の水平角度θ３で対象物Ｏを含む景色を撮像することにより、第３のステレオ画像データＰ３が出力される。補正演算部１２は、この第３のステレオ画像データＰ３に基づいて対象物Ｏに関する第３の視差ｄ３を算出する。この第３の視差ｄ３と、第１の視差ｄ１と、第３の水平角度θ３と、第１の水平角度θ１とに基づき、消失点視差ＤＰを新たに算出する。そして、算出された新たな消失点視差ＤＰと、ステップ８で算出された消失点視差ＤＰとの平均値を、消失点視差ＤＰとして決定すると言った如くである。換言すれば、補正演算部１２は、３フレーム以上のステレオ画像データＰに基づいて算出された対象物Ｏに関する視差群と、それぞれ異なる水平角度とに基づいて、パラメータを補正してもよい。ここで、この３フレーム以上のステレオ画像データＰは、それぞれ異なる水平角度で対象物Ｏを含む景色を撮像することにより、ステレオカメラ２から出力される。このように消失点視差ＤＰに関し多数の値を用いることで、消失点視差ＤＰの信頼性を向上することができる。
【００６４】
さらに、本実施形態では、ステレオカメラ２を回転させることで、水平角度を変化させたが、本発明はこれに限定されるものではない。例えば、ステレオカメラ２が固定された監視システムにおいて、対象物Ｏをメインカメラ２ａの焦点位置を中心に円周方向に移動させてもよい。これにより、ステレオカメラ２を回転させた場合と同様の効果を奏することができるとともに、広く一般のステレオ式監視装置の距離補正手法として適用することができる。
【００６５】
【発明の効果】
このように、本発明によれば、第１の水平角度で対象物を含む景色を撮像し、第１の水平角度とは異なる第２の水平角度で対象物を含む景色を撮像することにより、第１のステレオ画像データと、第２のステレオ画像データを出力する。これにより、第１および第２のステレオ画像データに基づいてそれぞれ算出された対象物に関する第１および第２の視差と、第１の水平角度と、第２の水平角度とに基づき、距離補正値としてのパラメータを算出している。その結果、ステレオカメラの水平ずれ等に起因した距離の誤差は、このパラメータにより相殺することができる。したがって、このパラメータを用いて距離算出を行うことで、精度よく距離を算出することができる。
【図面の簡単な説明】
【図１】本実施形態にかかる監視システムのブロック構成図
【図２】基準画像に設定される画素ブロックの説明図
【図３】ステレオカメラの回転状態を示した説明図
【図４】本実施形態にかかる消失点視差の算出処理の手順を示したフローチャート
【図５】対象物の検索処理の詳細な手順を示すフローチャート
【図６】ヒストグラムの一例を示す説明図
【図７】グループ化の処理を示す説明図
【図８】グループ化の処理を示す別の説明図
【図９】視差算出手順を示した詳細なフローチャート
【図１０】視差に基づき算出される距離を示すための説明図
【図１１】消失点視差の算出式に関する導出原理を示す説明図
【符号の説明】
１　監視システム
２　ステレオカメラ
２ａ　メインカメラ
２ｂ　サブカメラ
３　Ａ／Ｄコンバータ
４　Ａ／Ｄコンバータ
５　画像補正部
６　ステレオ画像処理部
７　画像データメモリ
８　距離データメモリ
９　サーボモータ
１０　マイクロコンピュータ
１１　認識部
１２　補正演算部
１３　制御部
【図１】
2004028811.tif 000009
【図２】
2004028811.tif 000010
【図３】
2004028811.tif 000011
【図４】
2004028811.tif 000012
【図５】
2004028811.tif 000013
【図６】
2004028811.tif 000014
【図７】
2004028811.tif 000015
【図８】
2004028811.tif 000016
【図９】
2004028811.tif 000017
【図１０】
2004028811.tif 000018
【図１１】
2004028811.tif 000019