(57)【特許請求の範囲】
【請求項１】
車両に設けられたカメラにより撮像された前記車両の周囲の画像から特徴量を検出するステップと、
前記検出された特徴量にもとづいて、同一の属性を持つ特徴量をグルーピングするステップと、
前記グルーピングされた画像領域に含まれる物体画像の前記車両に対する危険度を示す信用度を設定するステップと、
前記信用度が所定の高さ以上であると、前記車両の運転者が視認可能な位置に設けられた表示装置に対して警告表示を行うステップと、
前記グルーピングされた画像領域の次フレームの画像内における画像領域を、前記グルーピングされた画像領域を構成する画素の２フレーム前の画像と１フレーム前の画像間の動きベクトルの平均と、前記１フレーム前の画像と現在のフレームの画像間の動きベクトルの平均と、にもとづいて算出した加速度を用いて予測するステップと、
前記予測するステップで予測された前記次フレームの画像内における前記グルーピングされた画像領域を初期画像領域として前記同一の属性を持つ特徴量をグルーピングするとともに、前記信用度を設定するステップで設定された前記信用度の情報を前記次フレームの画像内における前記グルーピングされた画像領域に引き継ぐステップと、
を有する警告表示方法。
【請求項２】
前記予測するステップで予測された前記次フレームの画像内における前記初期画像領域を、前記グルーピングされた画像領域を構成する画素の２フレーム前の画像と１フレーム前の画像間の動きベクトルの平均と、前記１フレーム前の画像と現在のフレームの画像間の動きベクトルの平均と、にもとづいて変更するステップ、
をさらに有する請求項１記載の警告表示方法。
【請求項３】
前記予測するステップで予測された前記次フレームの画像内における前記初期画像領域を現在のサイズよりも所定の割合だけ狭くするステップ、
をさらに有する請求項１または２に記載の警告表示方法。
【請求項４】
前記同一の属性を持つ特徴量をグルーピングするステップは、
前記同一の属性を持つ特徴量を領域線で囲まれた３角形以上の多角形でグルーピングするステップである、
請求項１ないし３のいずれか１項に記載の警告表示方法。
【請求項５】
前記同一の属性を持つ特徴量をグルーピングするステップは、
１フレームを互いに重複する複数の領域に分割するステップと、
前記分割された領域ごとに前記同一の属性を持つ特徴量をグルーピングするステップと、
を有する、
請求項１ないし４のいずれか１項に記載の警告表示方法。
【請求項６】
前記分割された領域ごとにグルーピングした画像領域が前記分割された領域間を横断して移動する場合、移動先の領域に前記グルーピングした画像領域の前記信用度の情報をコピーするステップ、
をさらに有する請求項５記載の警告表示方法。
【請求項７】
前記同一の属性を持つ特徴量をグルーピングするステップは、
前記同一の属性を持つ特徴量をグルーピングする多角形の辺数を前記グルーピングすべき画像領域の形状に応じて変更しつつグルーピングするステップである、
請求項１ないし６のいずれか１項に記載の警告表示方法。
【請求項８】
前記グルーピングすべき画像領域は、領域線で囲まれた凹んだ形状を有し、
前記同一の属性を持つ特徴量をグルーピングするステップは、
前記凹んだ形状を有する前記グルーピングすべき画像領域の形状を１つの領域でグルーピングするステップである、
請求項１ないし７のいずれか１項に記載の警告表示方法。
【請求項９】
前記表示装置に対して前記カメラにより撮像された画像に対して前記信用度が所定の高さ以上の前記グルーピングした画像領域の位置を示す画像を重畳表示させて警告表示を行うステップ、
をさらに有する請求項１ないし８のいずれか１項に記載の警告表示方法。
【請求項１０】
前記グルーピングした画像領域の位置を示す画像を重畳表示させて警告表示を行うステップは、
前記表示装置に対して前記カメラにより撮像された画像に対して、前記信用度が所定の高さ以上の前記グルーピングした画像領域の領域内を彩色して重畳表示させて警告表示を行うステップである、
請求項９記載の警告表示方法。
【請求項１１】
コンピュータに、
車両に設けられたカメラが撮像した前記車両の周囲の画像から特徴量を検出するステップと、
前記検出された特徴量にもとづいて、同一の属性を持つ特徴量をグルーピングするステップと、
前記グルーピングされた画像領域に含まれる物体画像の前記車両に対する危険度を示す信用度を設定するステップと、
前記信用度が所定の高さ以上であると、前記車両の運転者が視認可能な位置に設けられた表示装置に対して警告表示を行うステップと、
前記グルーピングされた画像領域の次フレームの画像内における画像領域を、前記グルーピングされた画像領域を構成する画素の２フレーム前の画像と１フレーム前の画像間の動きベクトルの平均と、前記１フレーム前の画像と現在のフレームの画像間の動きベクトルの平均と、にもとづいて算出した加速度を用いて予測するステップと、
前記予測するステップで予測された前記次フレームの画像内における前記グルーピングされた画像領域を初期画像領域として前記同一の属性を持つ特徴量をグルーピングするとともに、前記信用度を設定するステップで設定された前記信用度の情報を前記次フレームの画像内における前記グルーピングされた画像領域に引き継ぐステップと、
を実行させるための警告表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、警告表示方法および警告表示プログラムに関する。
【背景技術】
【０００２】
自動車などの車両の運転を支援するための技術に、車外を撮像する車載カメラの画像やレーザレーダなどを用いて車両周囲の物体を検出し、この物体と車両とが衝突する可能性が高いとその旨の情報を車両の運転者に警告する技術がある。
【０００３】
この種の物体検出方法としては、たとえば車載カメラの画像から特徴点を抽出し、車両からの距離等の属性（特徴量）が同一の特徴点をグルーピングする方法などが挙げられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２７６９０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、現在の１枚のフレームや、現在と直近の２枚のフレームを用いる場合、ノイズ等の誤差によって特徴量を誤検出してしまう場合がある。また、現在の１枚のフレームや現在と直近の２枚のフレームを用いる場合、特徴点の加速度を検出することができない。このため、検出対象物体が車両に対して加速度を有する運動をしていると、次フレームにおけるグルーピング領域の位置予測を誤ってしまう。したがって、大きな加速度をもって運動している物体や、突然近づいてくる物体に対応することが難しい。
【０００６】
また、検出される特徴点が少ない場合はグルーピング対象から外すようにしている場合、遠くの物体は破棄されることが多くなる。この場合、たとえば遠くから高速で接近する物体を的確に検出することが難しい。
【０００７】
本発明は、上述した事情を考慮してなされたもので、グルーピングの枠移動を精度よく予測することにより正確に危険物の存在を車両の運転者に警告するができる警告表示方法および警告表示プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施形態に係る警告表示方法は、上述した課題を解決するために、車両に設けられたカメラにより撮像された前記車両の周囲の画像から特徴量を検出するステップと、
前記検出された特徴量にもとづいて、同一の属性を持つ特徴量をグルーピングするステップと、前記グルーピングされた画像領域に含まれる物体画像の前記車両に対する危険度を示す信用度を設定するステップと、前記信用度が所定の高さ以上であると、前記車両の運転者が視認可能な位置に設けられた表示装置に対して警告表示を行うステップと、前記グルーピングされた画像領域の次フレームの画像内における画像領域を、前記グルーピングされた画像領域を構成する画素の２フレーム前の画像と１フレーム前の画像間の動きベクトルの平均と、前記１フレーム前の画像と現在のフレームの画像間の動きベクトルの平均と、にもとづいて算出した加速度を用いて予測するステップと、前記予測するステップで予測された前記次フレームの画像内における前記グルーピングされた画像領域を初期画像領域として前記同一の属性を持つ特徴量をグルーピングするとともに、前記信用度を設定するステップで設定された前記信用度の情報を前記次フレームの画像内における前記グルーピングされた画像領域に引き継ぐステップと、を有する方法である。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係る警告表示方法を実施するための警告表示装置の一例を示すブロック図。
【図２】図１に示す主制御部のＣＰＵにより、グルーピングの枠移動を精度よく予測することにより正確に危険物の存在を車両の運転者に警告する際の手順を示すフローチャート。
【図３】１フレーム画像を複数の領域に分割した様子の一例を示す説明図。
【図４】特徴点を４角形の領域で囲む様子の一例を示す説明図。
【図５】特徴点を８角形の領域で囲む様子の一例を示す説明図。
【図６】（ａ）は特徴量検出部により取得された動きベクトルの一例を示す説明図、（ｂ）は（ａ）で示す例において４角形でグルーピングを行う様子の一例を示す説明図、（ｃ）は（ａ）で示す例において８角形でグルーピングを行う様子の一例を示す説明図。
【図７】特徴点を３角形の領域で囲む様子の一例を示す説明図。
【図８】（ａ）は画像生成部により生成された画像内に物体、車線および水平線が含まれる場合の一例を示す説明図、（ｂ）は（ａ）に示す例において右側車線と正８角形の一辺の傾きをそろえる場合の一例を示す説明図。
【図９】グルーピングデータ比較部により、属性が同じであると判定された特徴点の領域同士が重複するか否かを判定するための条件を示す説明図。
【図１０】図２のステップＳ９で信用度調整部により実行される信用度調整処理の手順を示すサブルーチンフローチャート。
【図１１】警告表示の際に８角形でグルーピングされた画像領域の位置を示す画像を表示装置に表示させる様子の一例を示す説明図。
【図１２】警告表示の際に８角形でグルーピングされた画像領域の位置を示す画像を表示装置に表示させる際に、領域線を２次曲線で丸める場合の一例を示す説明図。
【図１３】（ａ）は警告表示の際に８角形でグルーピングされた画像領域の位置を示す画像を表示装置に表示させる際に、頂点を円で丸める方法を説明するための図、（ｂ）は（ａ）の破線で囲んだ部分の拡大図、（ｃ）は頂点を円で丸めた場合の一例を示す説明図。
【図１４】（ａ）は隣接する領域線よりもさらに隣の領域線での交点のほうが領域が狭くなる場合に角を円で丸める例を説明するための図、（ｂ）隣接する領域線よりさらに隣の領域線より、さらに隣の領域線での交点のほうが領域が狭くなる場合に角を円で丸める例を説明するための図。
【図１５】１フレーム画像を複数の領域に分割し、分割領域ごとにグルーピング領域内であるか否かを判定される場合のグルーピング領域内の彩色方法の一例を示す説明図。
【図１６】カメラの撮像画像を別視点の画像や歪みを正した画像にしてグルーピングを行う様子の一例を示す説明図。
【図１７】１フレームの画像を互いに重複する複数の領域に分割してグルーピングを行う場合の例について示す説明図。
【図１８】図１７に示す互いに重複する分割領域を用いる場合において４角形でグルーピングを行う様子の一例を示す説明図。
【図１９】図１７に示す互いに重複する分割領域を用いる場合において８角形でグルーピングを行う様子の一例を示す説明図。
【図２０】３角形領域から４角形領域に領域線を変える方法の一例を示す説明図。
【図２１】グルーピングの領域線数を増やす方法の一例を示す説明図。
【図２２】１つのグルーピングで凹んだ形状を表す際の１つの基点と角度領域との関係の一例を示す説明図。
【図２３】凹領域線を更新する様子の一例を示す説明図。
【図２４】図２２に示す例において１つのグルーピングで凹んだ形状を表した様子の一例を示す説明図。
【発明を実施するための形態】
【００１０】
本発明に係る警告表示方法および警告表示プログラムの実施の形態について、添付図面を参照して説明する。
【００１１】
図１は、本発明の一実施形態に係る警告表示方法を実施するための警告表示装置１０の一例を示すブロック図である。
【００１２】
警告表示装置１０は、カメラ１１、主制御部１２、灯火装置１６、クラクション１７、スピーカ１８および表示装置１９を有する。
【００１３】
カメラ１１は、ＣＣＤ（Charge Coupled Device）イメージセンサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサにより構成され、自家用自動車等の車両の周囲の映像を取り込んで画像データを生成して主制御部１２に与える。
【００１４】
たとえば後方を監視する場合、カメラ１１は車両後部のナンバープレート付近に路面と平行な線からやや下向きに配設される。カメラ１１には、より広範な車両外画像が取得可能なように広角レンズや魚眼レンズが取り付けられてもよい。また、車両の側方を監視する場合、カメラ１１はサイドミラー付近に配設される。また、複数のカメラ１１を用いることにより広範な車外周囲画像を取り込むようにしてもよい。
【００１５】
主制御部１２は、たとえばＣＰＵ、ＲＡＭ、ＲＯＭを備えたマイクロコントローラにより構成される。主制御部１２のＣＰＵは、ＲＯＭなどの記憶媒体に記憶された警告表示プログラムおよびこのプログラムの実行のために必要なデータをＲＡＭへロードし、このプログラムに従ってグルーピングの枠移動を精度よく予測することにより正確に危険物の存在を車両の運転者に警告する処理を実行する。
【００１６】
主制御部１２のＲＡＭは、ＣＰＵが実行するプログラムおよびデータを一時的に格納するワークエリアを提供する。主制御部１２のＲＯＭなどの記憶媒体は、警告表示プログラムや、これらのプログラムを実行するために必要な各種データを記憶する。
【００１７】
なお、ＲＯＭをはじめとする記憶媒体は、磁気的もしくは光学的記録媒体または半導体メモリなどの、ＣＰＵにより読み取り可能な記録媒体を含んだ構成を有し、これら記憶媒体内のプログラムおよびデータの一部または全部は図示しないネットワーク接続部を介して電子ネットワークを介してダウンロードされるように構成してもよい。
【００１８】
なお、この場合、ネットワーク接続部は、ネットワークの形態に応じた種々の情報通信用プロトコルを実装し、この各種プロトコルに従って主制御部１２と他の車両のＥＣＵなどの電気機器とを電子ネットワークを介して接続する。この接続には、電子ネットワークを介した電気的な接続などを適用することができる。ここで電子ネットワークとは、電気通信技術を利用した情報通信網全般を意味し、無線／有線ＬＡＮ（Local Area Network）やインターネット網のほか、電話通信回線網、光ファイバ通信ネットワーク、ケーブル通信ネットワークおよび衛星通信ネットワークなどを含む。
【００１９】
灯火装置１６は、一般的なヘッドライトにより構成され、主制御部１２により制御されて点滅（いわゆるパッシング）を行うことにより、たとえば自車両の外部に対して警告を行う。
【００２０】
クラクション１７は、主制御部１２により制御されて自車両の外部に対して警告音を出力する。
【００２１】
スピーカ１８は、自車両の車内に設けられ、主制御部１２により制御されて自車両の運転者に対してビープ音や危険が迫っていることを知らせるための情報などの各種情報に対応した音声を出力する。
【００２２】
表示装置１９は、運転者が視認可能な位置に設けられ、車載用の一般的なディスプレイやカーナビゲーションシステム、ＨＵＤ（ヘッドアップディスプレイ）などの表示出力装置を用いることができ、主制御部１２の制御に従って、カメラ１１の撮像画像や危険が迫っていることを知らせるための情報などの各種情報を表示する。
【００２３】
続いて、主制御部１２のＣＰＵによる機能実現部の構成および動作について説明する。
【００２４】
図１に示すように、主制御部１２のＣＰＵは、警告表示プログラムによって、少なくとも画像生成部２１、特徴量検出部２２、グルーピング処理部２３として機能する。この各部２１−２３は、ＲＡＭの所要のワークエリアを、データの一時的な格納場所として利用する。なお、これらの機能実現部は、ＣＰＵを用いることなく回路などのハードウエアロジックによって構成してもよい。
【００２５】
図２は、図１に示す主制御部１２のＣＰＵにより、グルーピングの枠移動を精度よく予測することにより正確に危険物の存在を車両の運転者に警告する際の手順を示すフローチャートである。図２において、Ｓに数字を付した符号は、フローチャートの各ステップを示す。
【００２６】
画像生成部２１は、カメラ１１から得た画像データにもとづいてフレーム画像を生成する（ステップＳ１）。
【００２７】
図３は、１フレーム画像を複数の領域に分割した様子の一例を示す説明図である。
【００２８】
特徴量検出部２２は、分割領域ごとに、特徴量を検出する（図２のステップＳ２）。特徴量は、それぞれ画像上の座標（画素）に関連付けられている。
【００２９】
分割領域の走査順は、たとえば左上の領域から順次右の領域へ進み、右端の領域の走査後２列目の左端へ戻り、２列目を順次右へ進むことを右下の領域まで繰り返すいわゆるラスタ形式などで行う。
【００３０】
特徴量を検出する方法としては、ソナーなどのセンサで距離を検出する方法や、画像の画素値から検出する方法などがある。画像から特徴量を検出する方法には、ステレオカメラによる視差値にもとづいて画像内の特徴点までの距離を検出する方法や、画像内の特徴点に対応する動きベクトルを検出する方法がある。動きベクトルの検出方法は、勾配法や、ブロックマッチング等の画像処理による方法がよく知られている。
【００３１】
そこで、本実施形態に係る特徴量検出部２２は、勾配法やブロックマッチング法などを用いて、画像生成部２１により生成された複数のフレーム画像から画素ごとに動きベクトルを算出することによって、画像内の移動物および静止物を検出し、静止物を検出すると、車両と衝突するおそれがあるか否かを判定するとともに、車両から静止物までの距離を特徴量として算出する。
【００３２】
グルーピング処理部２３は、グルーピングデータ比較部３１、グルーピング実行部３２、信用度調整部３３、警告表示部３４、グルーピングデータ更新部３５およびグルーピングデータ格納部３６を有する。
【００３３】
グルーピングデータ比較部３１は、特徴量検出部２２によって検出された特徴量（属性）にもとづいて同一のグルーピングとすべきか否かの判定を全てのグルーピングデータについて行う（図２のステップＳ３−５）。グルーピングは、属性が同じものどうしで行うことが好ましい。属性としては、たとえば車両からの距離や、動きベクトルの向き、移動物か静止物か、衝突するおそれがあるか否か、などを用いることができる。グルーピングデータ比較部３１は、特徴量検出部２２によって検出された特徴量（属性）が同一の特徴点を抽出する。
【００３４】
また、グルーピングデータ比較部３１は、図２のステップＳ３において、属性が同じであると判定された特徴点の領域同士が重複するか否かを判定する。本実施形態において、グルーピングデータは時間的に継承させて信用度の確認に用いられる。このため、ラベリングなどの方法を用いて各特徴量の座標情報を保持すると、データ量が大きくなってしまう。また、ラベリングを用いる場合、突発的なノイズが生じて特徴量が拾えないと、対処することが難しい。
ここで、特徴量の領域の設定方法について簡単に説明する。
【００３５】
図４は、特徴点を４角形の領域で囲む様子の一例を示す説明図である。
【００３６】
特徴量は領域を持たず特徴点の座標（ｘ０、ｙ０）に関連付けられる。このため、図４に示すように、特徴点を縦と横に広げて領域にする。このとき、計算を簡単にするために、それぞれの方向の領域線（Ａｃ、Ｂｃ）をパラメータ（ａｃ、ｂｃ）での位置とすると次の関係式を得る。
ac = x0  (縦線)
bc = y0  (横線)
【００３７】
これらのパラメータは、ｘ、ｙ座標上では次のような直線に見える。
ac = x  (縦線)
bc = y  (横線)
【００３８】
特徴点から領域を得るために、マイナス側（Ａｍ、Ｂｍ）とプラス側（Ａｐ、Ｂｐ）を用意する。マイナス側のパラメータとプラス側のパラメータをそれぞれ（ａｍ、ｂｍ）と（ａｐ、ｂｐ）で表すと、次の関係式を得る。
ap = ac + aw
am = ac - aw
bp = bc + bw
bm = bc - bw
【００３９】
領域線までの距離はすべて同じ距離としてなくてもよいが、精度を上げるためにすべて同じ距離する場合は、
bw = aw
【００４０】
とする。ａｗに応じてグルーピングしたい距離を設定することができる。
【００４１】
図５は、特徴点を８角形の領域で囲む様子の一例を示す説明図である。また、図６（ａ）は特徴量検出部２２により取得された動きベクトルの一例を示す説明図であり、（ｂ）は（ａ）で示す例において４角形でグルーピングを行う様子の一例を示す説明図であり、（ｃ）は（ａ）で示す例において８角形でグルーピングを行う様子の一例を示す説明図である。
【００４２】
図６に示すように、８角形でグルーピングすると、４角形でグルーピングする場合よりも領域の輪郭の柔軟性が高いため、グルーピングの形状精度を上げることができ、特徴量が違う物体を同じグルーピングにしてしまう弊害を未然に防ぐことができる（図６（ｂ）および（ｃ）参照）。
【００４３】
８角形でグルーピングする場合、図５に示すように、特徴点を縦と横と斜めに広げて領域にする。このとき、計算を簡単にするために、それぞれの方向の領域線（Ａｃ、Ｂｃ、Ｃｃ、Ｄｃ）をパラメータ（ａｃ、ｂｃ、ｃｃ、ｄｃ）での位置とすると次の関係式を得る。
ac = x0  (縦線)
bc = y0  (横線)
cc = x0 + y0  (右上がり線)
dc = y0 - x0  (右下がり線)
【００４４】
これらのパラメータはｘ、ｙ座標上では次のような直線に見える。
ac = x  (縦線)
bc = y  (横線)
cc = x + y  (右上がり線)
dc = y - x  (右下がり線)
【００４５】
特徴点から領域を得るために、マイナス側（Ａｍ、Ｂｍ、Ｃｍ、Ｄｍ）とプラス側（Ａｐ、Ｂｐ、Ｃｐ、Ｄｐ）を用意する。それぞれのマイナス側のパラメータおよびプラス側のパラメータをそれぞれ（ａｍ、ｂｍ、ｃｍ、ｄｍ）および（ａｐ、ｂｐ、ｃｐ、ｄｐ）で表すと、次の関係式を得る。
ap = ac + aw
am = ac - aw
bp = bc + bw
bm = bc - bw
cp = cc + cw
cm = cc - cw
dp = dc + dw
dm = dc - dw
【００４６】
領域線までの距離はすべて同じ距離としてなくてもよいが、精度を上げるためにすべて同じ距離とする場合は、
bw = aw
cw = aw・√(2)
dw = aw・√(2)
【００４７】
とする。ａｗに応じてグルーピングしたい距離を設定することができる。
【００４８】
図７は、特徴点を３角形の領域で囲む様子の一例を示す説明図である。
【００４９】
計算量を削減するためには、３角形でグルーピングするとよい。３角形でグルーピングする場合、それぞれの領域線が次のように表されたとする。
ax・x + ay・y + az = 0
bx・x + by・y + bz = 0
cx・x + cy・y + cz = 0
【００５０】
傾きだけは固定にする必要があるのでａｘ、ａｙ、ｂｘ、ｂｙ、ｃｘ、ｃｙは固定となる。計算を簡単にするために、それぞれの方向の領域線（Ａｃ、Ｂｃ、Ｃｃ）をパラメータ（ａｃ、ｂｃ、ｃｃ）での位置とすると次の関係式を得る。
ac = ax・x0 + ay・y0
bc = bx・x0 + by・y0
cc = cx・x0 + cy・y0
【００５１】
特徴点から領域を得るために、片側のみ広げた領域線を（Ａｓ、Ｂｓ、Ｃｓ）とし、パラメータ（ａｐ、ｂｐ、ｃｐ）で表すと、次の関係式を得る。
as = ac + apole・aw
bs = bc + bpole・bw
cs = cc + cpole・cw
【００５２】
ここでａｐｏｌｅ、ｂｐｏｌｅ、ｃｐｏｌｅは１か−１であり極性である。１か−１は、まずａｐｏｌｅ、ｂｐｏｌｅ、ｃｐｏｌｅのいずれか一つを１か−１かに決め、その場合において特徴量の座標が囲める方の極性を選ぶとよい。
【００５３】
領域線までの距離はすべて同じ距離としてなくてもよいが、精度を上げるためにすべて同じ距離とする場合は、
bw = aw・(√(bx・bx + by・by)) / (√(ax・ax + ay・ay))
cw = aw・(√(cx・cx + cy・cy)) / (√(ax・ax + ay・ay))
とする。ａｗに応じてグルーピングしたい距離を設定することができる。
【００５４】
１辺を真横の底辺としてのそれぞれの傾きが60°ずれている傾きとするためには、たとえば次のようにすればよい。
ax = 0
ay = 1
bx = √(3)
by = 2
cx = √(3)
cy = -2
apole = 1
bpole = -1
cpole = 1
【００５５】
以上、４角形、８角形、３角形の例について説明したが、他の多角形であってもよい。また、いずれか１つの領域線を水平線や車線その他の傾きと同じ傾きとしたい場合であれば、一番傾きが近いものがその傾きとなるように置き換えてもよい。また、その傾きを基準として直角方向の領域線の傾きを直角に変えてもよい。また、その傾きを基準として他の傾きも変えて正８角形を形成する直線と同じ傾きの領域線としてもよい。また、その傾きを追加して１６角形としてもよいし、水平線方向だけを追加した１０角形としてもよいし、４角形から水平線方向だけを追加した６角形としてもいし、水平線ではなく２２．５°ずらした状態にして、正１６角形を形成する直線と同じ傾きの領域線としてもよいし、さらに領域線を増やしてｎ角形としてもよい。
【００５６】
たとえば、いずれか１つの領域線を水平線の傾きに合わせて、正８角形を形成する直線と同じ傾きの領域線となる８角形を作成する場合を考える。たとえば水平線が次のように表せるものとする。
y = a0・x + b0 (a0 = d0 / c0)
【００５７】
上記のＣｃ、Ｄｃはａ０=−１、ａ０=１として計算したものと同等であり、座標での値はｂ０と同等であることが分かる。そのためｃｗ、ｄｗはｂ０の変化量であるため縦線（ａｗ）や横線（ｂｗ）に比べて√２倍の値になることが分かる。
【００５８】
図８（ａ）は、画像生成部２１により生成された画像内に物体、車線および水平線が含まれる場合の一例を示す説明図であり、（ｂ）は（ａ）に示す例において右側車線と正８角形の一辺の傾きをそろえる場合の一例を示す説明図である。
【００５９】
たとえば図８に示すように車線の右側と同じ傾きの領域線をＥｃとしパラメータをｅｃすると、ａ０を使用しない場合はｃ０とｄ０で表し次のように書ける。
ec = c0・y0 - d0・x0
【００６０】
なお、このとき、計算を簡単にするためにｃ０とｄ０を整数としてもよい。
【００６１】
領域にするためにマイナス側（Ｅｍ）とプラス側（Ｅｐ）を用意する。それぞれのパラメータをｅｍ、ｅｐとして表すと、
ep = ec + ew
em = ec - ew
となり、ｅｗは次のようになる。
ew = ew・√(c0・c0 + d0・d0)
【００６２】
同様にＥｃの傾きと直角となるＦｃ、Ｆｐ、Ｆｍは、パラメータｆｃ、ｆｐ、ｆｍで表すと下記のようになる。
fc = d0・y0 + c0・x0
fp = fc + fw
fm = fc - fw
fw = aw・√(c0・c0 + d0・d0)
【００６３】
４５°傾いた領域線Ｇｃ、Ｇｐ、Ｇｍ、Ｈｃ、Ｈｐ、Ｈｍは、パラメータｇｃ、ｇｐ、ｇｍ、ｈｃ、ｈｐ、ｈｍで表すと下記のようになる。
gc = (c0-d0)・y0 - (c0+d0)・x0
gp = gc + gw
gm = gc - gw
gw = aw・√((c0-d0)・(c0-d0) + (c0+d0)・(c0+d0))
hc = (hc+hd)・y0 + (c0-d0)・x0
hp = hc + hw
hm = hc - hw
hw = aw・√((c0+d0)・(c0+d0) + (c0-d0)・(c0-d0))
【００６４】
このように、特徴点ごとに所定の多角形領域を設定することができる。
【００６５】
図９は、グルーピングデータ比較部３１により属性が同じであると判定された特徴点の領域同士が重複するか否かを判定するための条件を示す説明図である。
【００６６】
グルーピングデータ比較部３１は、以上のように設定された多角形領域について、図９に示す条件にもとづいて、属性が同じであると判定された特徴点の領域同士が重複するか否かを判定する（図２のステップＳ３）。
【００６７】
たとえばＡｐ、Ａｍを例にとり、グループの領域線のパラメータをａｐ１、ａｍ１とし、特徴量の領域線のパラメータをａｐ２、ａｍ２とする。この場合、重複しているかの判定式は下記のように表せる。
((ap1 ≧ am2) And (ap1 ≦ ap2)) OR
((am1 ≧ am2) And (am1 ≦ ap2)) OR
((ap2 ≧ am1) And (ap2 ≦ ap1)) OR
((am2 ≧ am1) And (am2 ≦ ap1))
図９から明らかなように、この４つの条件のうち一つは無くてもよい。
【００６８】
グルーピングデータ比較部３１は、以上の４条件をすべての傾きについて検証し、すべての条件が満たされた場合、領域が重複していると判定する。
【００６９】
グルーピング実行部３２は、グルーピングデータ比較部３１により重複していると判定された領域をグルーピングすることを全ての特徴量の検出が終了するまで繰り返す（図２のステップＳ６−７）。このとき、グルーピングの領域はそれぞれの外側となる。たとえば、３角形の場合には、一つの領域線ａｓをａｐ１（ａｐｏｌｅが−１であればａｍ１）とする。そして、ａｍ１（ａｐｏｌｅが−１であればａｐ１）は領域線と交差する２つの領域線（ｂｓ、ｃｓ）の交点（ｘａ、ｙａ）を導くことにより求める。（ｘａ、ｙａ）は次の連立方程式を解くことにより求めることができる。
bs = bx・xa + by・ya
cs = cx・xa + cy・ya
【００７０】
得られた交点から、ａｋ（＝ ａｘ・ｘａ ＋ ａｙ・ｙａ）を作成する。このａｋがａｍ１（ａｐｏｌｅが−１であればａｐ１）となる。こうして得られた平行な２領域線を用いることにより、グルーピングデータ比較部３１は重複判定を行うことができる。また、重複していた場合のグルーピング後の領域は、領域線ａｓから作られた方（ａｐｏｌｅが１であればａｐ１）での外側となる。
【００７１】
３角形以外にも、対面する平行な領域線が存在しない場合には、元の領域線と平行で、グルーピングの対面側で接する領域線を用意する。接する位置は、決まった隣あう２つの領域線の交点となるため、事前にどの交点で接するか確認しておけばよい。
【００７２】
グルーピング実行部３２は、グルーピングの領域線を、比較した２つのグルーピングの領域線のプラス側の大きいほう、マイナス側の小さい方で更新する。更新後の領域が広すぎる場合は、グルーピングせず小さい領域で扱い自由度を持たせても良い。
【００７３】
グルーピングをする際に引き継がれる特徴量のデータとしては、信用度、データ数、平均動きベクトル、平均距離などが挙げられるほか、元の特徴量で一番カメラに近い座標と動きベクトル（たとえば水平線から下に離れていて正面に近い座標）や、元の特徴量で一番カメラから遠い座標と動きベクトル（たとえば水平線から上に離れていて正面から遠い座標）など他にも考えられる。また、得られた特徴量のデータにもとづいて、平均や最大値や最小値を求め、これらを利用してもよい。
【００７４】
グルーピング実行部３２によりグルーピングされたデータは、通常、分割領域（図３参照）ごとに走査した特徴量にもとづいてグルーピングされている。このため、同じ属性で領域が重なっていても、グルーピングがされていない場合がある。これを防ぐため、グルーピングデータのグルーピングも行っておくとよい（図２のステップＳ８）。
【００７５】
信用度調整部３３は、得られたグルーピング結果により、グルーピングデータが何を意味しているかの判定を行う（図２のステップＳ９）。本実施形態では、信用度を用いて、信用度調整部３３により対象のグルーピングが危険であるか否かを判定する。そして、危険であると判定されると、その旨の情報を警告表示部３４により表示装置１９を介して警告表示を行う。
【００７６】
図１０は、図２のステップＳ９で信用度調整部３３により実行される信用度調整処理の手順を示すサブルーチンフローチャートである。
【００７７】
ステップＳ９０１において、信用度調整部３３は、動きベクトルの数の変化割合が所定閾値以下か否かを判定する。ここで、動きベクトルの数の変化割合とは、変化後の動きベクトル数ｍを変化前の動きベクトル数ｎで除した値ｍ／ｎをいうものとする。この変化割合ｍ／ｎが所定閾値（たとえば０．５など）以下とならなかった場合は、ノイズではないと判定し、信用度をアップさせる（たとえば＋１）（ステップＳ９０２）。一方、所定閾値以下となった場合は、ノイズの可能性があるため、信用度をダウンさせる（たとえばー２）（ステップＳ９０３）。
【００７８】
次に、ステップＳ９０４において、信用度調整部３３は、動きベクトルの数の変化割合が所定閾値（たとえば１．５など）以上か否かを判定する。動きベクトルの数や範囲が突然増加した場合は、車両近傍の動きである可能性がある。車両近傍の動きは、車両にとって危険な動きであるといえる。そこで、この場合は信用度をアップさせる（たとえば＋１）（ステップＳ９０５）。
【００７９】
次に、ステップＳ９０６において、信用度調整部３３は、動きベクトルが相対的に車両に近づいてくるものであるかあるいは近いグルーピングであるかを判定する。相対的に向かってくる場合や近いグルーピングの場合は危険物である可能性があるため、信用度をアップさせる（たとえば＋１）（ステップＳ９０７）。一方、相対的に遠ざかるものである場合は、信用度をダウンさせる（たとえばー１）（ステップＳ９０８）。
【００８０】
次に、ステップＳ９０９において、信用度調整部３３は、グルーピングを形成している動きベクトルのうち、たとえばカメラ１１に一番近いと思われる座標位置が、グルーピング全体の移動と異なる移動をしているか否かを判定する。異なる動きをする場合はノイズであると考えられるため、信用度をダウンさせる（たとえばー２）（ステップＳ９１０）。
【００８１】
次に、ステップＳ９１１において、信用度調整部３３は、グルーピングデータが移動物でありかつ水平線より上だけの領域または水平線より下だけの領域であるか否かを判定する。移動物でありかつ水平線より上だけの領域の場合、このグルーピングデータは危険な位置にはないといえる。また、移動物でありかつ水平線より下だけの領域の場合、影でありやはり危険ではないといえる。このため、ステップＳ９０９でＹＥＳと判定されると、信用度調整部３３はこのグルーピングの信用度をダウンさせる（たとえばー２）（ステップＳ９１２）。
【００８２】
次に、ステップＳ９１３において、信用度調整部３３は、信用度が最大値（たとえば１０）より大きいか否かを判定する。最大値より大きいときは、信用度調整部３３はこのグルーピングの信用度を最大値までもどし（ステップＳ９１４）、図２のステップ１０に進む。
【００８３】
そして、図２のステップＳ１０において、信用度調整部３３は、信用度が所定の下限値（たとえば０）以下であるか否かを判定し、所定の下限値以下であればグルーピングデータを削除して（図２のステップＳ１１）ステップＳ１４に進む。
【００８４】
一方、所定の下限値より大きい場合は、ステップＳ１２において、信用度調整部３３は、信用度が所定の閾値（たとえば５）以上であるか否かを判定する。所定の閾値以上であれば、信用度調整部３３は、このグルーピングを信用し警告表示を行うよう、警告表示部３４に指示する。
【００８５】
以上説明した通り、グルーピングデータの信用度を用いることにより、大きなノイズの混入を除去することができる。また、信用度が比較的高い状態で突然動きベクトルの数が減少しても、信用度は多少下がるもののある程度の値を維持するため、警告表示は継続される。このため、検出エラー等により偶発的に一瞬動きベクトルが検出できない事態が生じても、過剰な応答をすることがなく安定した警告表示を行うことができる。
【００８６】
図２のステップＳ１２において信用度調整部３３により信用度が所定の閾値（たとえば５）以上であると判定されると、ステップＳ１３において、警告表示部３４は、車両の運転者が視認可能な位置に設けられた表示装置１９に対して警告表示を行う。このとき、警告表示部３４は、たとえばカメラにより撮像された画像に対して警告対象となるグルーピングを行った画像領域の位置を示す画像を重畳して表示装置１９に表示させる。
【００８７】
ここで、警告表示の際に表示装置１９に対応するグルーピングデータを表示する際の表示例について説明する。
【００８８】
得られた結果は領域であるが、重複確認のためにＡｐ、Ａｍの場合ａｗ分広くなっている。そのため、まず下記のようにＡｗ分削っておく。
ap = ap - aw
am = am + aw
【００８９】
このときａｐ≦ａｍとなってしまう場合は、領域が存在しないため表示させない。他の領域線についても、同様の処理を行う。
【００９０】
また、たとえば４角形でグルーピングを行う場合は、隣接する領域線同士の交点を４つ導き出し、その交点を結んで４角形の線で表示を行うとよい。３角形の場合は、隣接する領域線同士の交点を３つ導き出し、その交点を結んで３角形の線で表示を行う。
【００９１】
図１１は、警告表示の際に８角形でグルーピングされた画像領域の位置を示す画像を表示装置１９に表示させる様子の一例を示す説明図である。
【００９２】
８角形の場合は、図１１に示すように、隣接する領域線同士の交点（Ｌ０〜Ｌ７）を導き出し、その交点を結んで８角形の線で表示を行う。交点を導き出す方法は、特徴量から領域を作り出す式のｘ０、ｙ０をｘ、ｙの変数として１次式にし、２直線を選んで導き出せばよい。
【００９３】
図１２は、警告表示の際に８角形でグルーピングされた画像領域の位置を示す画像を表示装置１９に表示させる際に、領域線を２次曲線で丸める場合の一例を示す説明図である。
【００９４】
図１１に示すように、８角形では角張って見えるため、印象が悪い。そこで、角を滑らかにするために、図１２に示すように、領域線を２次曲線で描写するとよい。
【００９５】
領域線を２次曲線で描写する場合は、まず、隣接する領域線の交点を導き出す（Ｌ０〜Ｌ７）。その交点の中点をそれぞれ計算する（Ｍ０〜Ｍ７）。得られた結果より、上側の３点、下側の３点、左側の３点、右側の３点をそれぞれ使用して２次式を作成する。
【００９６】
上側を例にとってさらに説明する。上側の点はそれぞれＭ０（ｍ０ｘ、ｍ０ｙ）、Ｍ１（ｍ１ｘ、ｍ１ｙ）、Ｍ２（ｍ２ｘ、ｍ２ｙ）であるので、どこかの点を基準にする。たとえばＭ０を基準にした場合、それぞれの点の座標は下記のようになる。
m0x’ = 0
m0y’ = 0
m1x’ = m1x - m0x
m1y’ = m1y - m0y
m2x’ = m2x - m0x
m2y’ = m2y - m0y
これらの３点より２次式を作り出すと、下記の式になる。
y = a・x・x + b・x
【００９７】
代入することにより、ａ、ｂを導き出して、Ｍ０〜Ｍ２を代入する２次式を作成すると下記の式になる。
y = a・(x- m0x)・(x-m0x) + b・(x-m0x) + m0y
【００９８】
以上の式をｍ０ｘからｍ２ｘの範囲で描写する。下側の３点（Ｍ４、Ｍ５、Ｍ６）も同様の処理を行う。左側と右側はｘとｙを反転させて同様の処理を行えばよい。たとえば右側の３点はそれぞれＭ２（ｍ２ｘ、ｍ２ｙ）、Ｍ３（ｍ３ｘ、ｍ３ｙ）、Ｍ４（ｍ４ｘ、ｍ４ｙ）であるので、どこかの点を基準にする。たとえばＭ２を基準にした場合、それぞれの点の座標は下記のようになる。
m2x’ = 0
m2y’ = 0
m3x’ = m3x - m2x
m3y’ = m3y - m2y
m4x’ = m4x - m2x
m4y’ = m4y - m2y
その３点より２次式を作り出すと、下記の式になる。
x = a・y・y + b・y
【００９９】
代入することにより、ａ、ｂを導き出して、Ｍ２〜Ｍ４を代入する２次式を作成すると下記の式になる。
x = a・(y- m2y)・(y-m2y) + b・(y-m2y) + m2x
【０１００】
以上の式をｍ２ｙからｍ４ｙの範囲で描写する。左側の３点（Ｍ６、Ｍ７、Ｍ０）も同様の処理を行う。以上の方法で、領域線を２次曲線で描写することができる（図１２参照）
【０１０１】
図１３（ａ）は、警告表示の際に８角形でグルーピングされた画像領域の位置を示す画像を表示装置１９に表示させる際に、頂点を円で丸める方法を説明するための図であり、（ｂ）は（ａ）の破線で囲んだ部分の拡大図であり、（ｃ）は頂点を円で丸めた場合の一例を示す説明図である。
【０１０２】
図１２に示す２次曲線では、つなぎ目が多少ずれてしまう。このため、図１３（ｃ）のように角を円で丸める方法を説明する。なお、以下８角形について説明するが、４角形でも同様の方法を適用することができる。
【０１０３】
まず、隣接する領域線の交点を導き出す（Ｌ０〜Ｌ７）。次にその中点を導き出す（Ｍ０〜Ｍ７）。次にその中点が領域線の交点からの距離が近い方の距離を導き出す（ｎ０〜ｎ７）。領域線との交点と導き出した近い方の距離での点をそれぞれ導き出す（ＰＡ０、ＰＢ０〜ＰＡ７、ＰＢ７）(ＰＡが反時計回り側、ＰＢが時計回り側、片方はＭとかぶる)。
【０１０４】
領域線と連続的につながるように円にするためには、導き出した２点が４５°である必要がある。それを考慮して円の中心点を導き出す。たとえばＬ０での角を円で丸めるとすると、ＰＡ０、ＰＢ０での座標（ｐａ０ｘ、ｐａ０ｙ）、(ｐｂ０ｘ、ｐｂ０ｙ)より、円の半径ｒ０と中心位置Ｑ０（ｑ０ｘ、ｑ０ｙ）は下記のようになる。
r0 = n0・(1+√(2))
q0x = pa0x + r0
q0y = pa0y
そこで、以下の範囲で次の式で描写する。
(x-q0x)・(x-q0x) + (y-q0y)・(y-q0y) = r0・r0
範囲：(pa0x≦x≦pb0x), (pb0y≦y≦pa0y)
【０１０５】
以上の方法を８つ角すべてに行い、角を円で丸める。次に、長かった方を中点まで直線で描写する。領域を削りすぎることを考慮して、最大半径ｒｍａｘを設定しておき、それを超える半径であった場合は最大半径ｒｍａｘで円を描くようにしても良い。このときＰＡ、ＰＢがその分Ｌ寄りの位置になる。
【０１０６】
図１４（ａ）は隣接する領域線よりもさらに隣の領域線での交点のほうが領域が狭くなる場合に角を円で丸める例を説明するための図であり、（ｂ）隣接する領域線よりさらに隣の領域線より、さらに隣の領域線での交点のほうが領域が狭くなる場合に角を円で丸める例を説明するための図である。
【０１０７】
図１４（ａ）に示すように、隣接する領域線よりさらに隣の領域線での交点のほうが、領域が狭くなることがある。この場合、円は９０度分描くことにより領域線となだらかにつながる。このときの円の半径ｒ０と中心位置Ｑ０（ｑ０ｘ， ｑ０ｙ）は下記のようになる。
r0 = n0
q0x = pa0x + r0
q0y = pa0y
【０１０８】
この場合、隣接する領域線が範囲外であることを考えると、領域を削りすぎることになる。それを考慮して、最大半径ｒｍａｘを設定しておき、それを超える半径であった場合は最大半径ｒｍａｘで円を描くようにしても良い。このときＰＡ、ＰＢがその分Ｌ寄りの位置になる。
【０１０９】
また、図１４（ｂ）に示すように、隣接する領域線よりさらに隣の領域線より、さらに隣の領域線での交点のほうが、領域が狭くなることがある。この場合、円は１３５度分描くことにより領域線となだらかにつながる。このときの円の半径ｒ０と中心位置Ｑ０（ｑ０ｘ， ｑ０ｙ）は下記のようになる。
r0 = n0・(√(2) - 1)
q0x = pa0x + r0
q0y = pa0y
【０１１０】
この場合、隣接する領域線が範囲外であることを考えると、領域を削りすぎることになる。それを考慮して、最大半径ｒｍａｘを設定しておき、それを超える半径であった場合は最大半径ｒｍａｘで円を描くようにしても良い。このときＰＡ、ＰＢがその分Ｌ寄りの位置になる。
【０１１１】
以上のやり方で、曲線表示してもよい。２つの領域線の傾きが上記の例と違う場合にも、円の描写する角度をその分変えて対応すればよい。
【０１１２】
また、警告表示部３４は、上記で求めた領域線より内側の領域を彩色して表示させてもよい。
【０１１３】
たとえば警告表示部３４は、領域内の色に赤などの色を混ぜて表示する。アルファブレンドの影響度をαとし、元色をＣｉｎ（ＣｉｎＲ， ＣｉｎＧ， ＣｉｎＢ）、混ぜる色をＣｍｉｘ（ＣｍｉｘＲ， ＣｍｉｘＧ， ＣｍｉｘＢ）とすると、出力される色Ｃｏｕｔ（ＣｏｕｔＲ， ＣｏｕｔＧ， ＣｏｕｔＢ）は、次のように表せる。
CoutR = CinR・(1-α) + CmixR・α
CoutG = CinG・(1-α) + CmixG・α
CoutB = CinB・(1-α) + CmixB・α
【０１１４】
また、元色の最大値や輝度値を影響度に影響させて、元画像とアルファブレンドしてもよい。また、輝度値が低すぎる場合に色がつかなくなるのを避けるために、最低値（Ｃｍｉｎ）を決めておいてリミットさせるか、影響度が大きくなるような割合（Ｃｒａｔｅ）を決めておいて計算をさせればよい。そうすることにより、ただ赤でアルファブレンドするより物体の視認性がよくなる。この場合、影響度をαとし、元色をＣｉｎ（ＣｉｎＲ， ＣｉｎＧ， ＣｉｎＢ）、混ぜる色をＣｍｉｘ（ＣｍｉｘＲ， ＣｍｉｘＧ， ＣｍｉｘＢ）とすると、出力される色Ｃｏｕｔ（ＣｏｕｔＲ， ＣｏｕｔＧ， ＣｏｕｔＢ）は、次のように表せる。
Rate = max(CinR, CinG, CinB) / 255
or Rate = ((CinR + 2・CinG + CinB) / 4) / 255
Rate = max(Rate, Cmin)
or Rate = 1-((1-Rate)/Crate)
CoutR = CinR・(1-α) + CmixR・Rate・α
CoutG = CinG・(1-α) + CmixG・Rate・α
CoutB = CinB・(1-α) + CmixB・Rate・α
【０１１５】
もしくは、
CoutR = CinR・(1- Rate・α) + CmixR・Rate・α
CoutG = CinG・(1- Rate・α) + CmixG・Rate・α
CoutB = CinB・(1- Rate・α) + CmixB・Rate・α
また、コントラストアップに使用して強調表示させてもよい。領域内とするのは、領域線での領域（図１１参照）としてもよいし、２次式での領域（図１２参照）としてもよいし、角を円で丸めた領域（図１３（ｃ）、図１４（ａ）、（ｂ）参照）としてもよい。
【０１１６】
図１５は、１フレーム画像を複数の領域に分割し、分割領域ごとにグルーピング領域内であるか否かを判定される場合のグルーピング領域内の彩色方法の一例を示す説明図である。
【０１１７】
図１５に示すように、１フレーム画像を複数の領域に分割して、分割領域ごとに８角形の領域内か確認してもよい。このとき、８角形の領域内であれば影響度(アルファブレンドのアルファ)を最大として、分割領域ごとに保存する。そして分割領域ごとに影響度最大となる分割領域が近いかを確認して、その遠さによって影響度を下げてその影響度を分割領域ごとに保存する。そして、分割領域ごとに影響度に応じて表示を変える。こうすることにより、輪郭がはっきりしないため、８角形のグルーピング領域を取得したときの誤差を感じさせなくすることができる。グルーピング領域内とするのは、領域線での領域（図１１参照）としてもよいし、２次式での領域（図１２参照）としてもよいし、角を円で丸めた領域（図１３（ｃ）、図１４（ａ）、（ｂ）参照）としてもよい。
【０１１８】
一方、グルーピングデータ更新部３５は、次のフレームに対応するために、２フレーム前と１フレーム前の画像間の動きベクトル（過去の動きベクトル）の平均分（ｕ＿ｏｌｄ、ｖ＿ｏｌｄ）と、１フレーム前と現在のフレームの画像間の動きベクトル（現在の動きベクトル）の平均（ｕ＿ｎｏｗ、ｖ＿ｎｏｗ）により、グルーピングの枠の移動を加速させて、次のフレームにおけるグルーピングの位置およびサイズを予測する（図２のステップＳ１４）。また、このとき、グルーピングデータ更新部３５は、次のフレームに対応するために、グルーピングの枠の領域を少し狭くさせてもよい。そうすることにより、物体の領域が小さくなっていく場合にも対応できる。
【０１１９】
そして、グルーピングデータ更新部３５により更新されたグルーピングデータは、グルーピングデータ格納部３６に格納される。
【０１２０】
ここで、グルーピングデータ更新部３５のより詳細な動作について、まず４角形の場合について説明する。
【０１２１】
狭くさせる量はａｗ、ｂｗにａの割合で比例させて、下記のようになる。
ap = ap - aw・a
am = am + aw・a
bp = bp - bw・a
bm = bm + bw・a
【０１２２】
このときプラス側がマイナス側以下になったら、そのグルーピングは削除する。突然グルーピングを形成するベクトルデータがなくなった場合、形状を維持するために表示の際はここで減らした分を元に戻しておいてもよい。
【０１２３】
また、動きベクトルの平均分により、最初に次の想定されるグルーピングの場所に移動させておく。すると、過去の動きベクトルの平均（ｕ＿ｏｌｄ、ｖ＿ｏｌｄ）と今の動きベクトルの平均（ｕ＿ｎｏｗ、ｖ＿ｎｏｗ）により、グルーピングの枠の移動を加速させる。その時のグルーピングの次に想定される変化量（ｕ、ｖ）は下記のようになる。
u = 2・u_now - u_old
v = 2・v_now - v_old
【０１２４】
また、領域を作成した際のｘ０、ｙ０に該当し、領域線は下記のようになる。
ap = ap + u
am = am + u
bp = bp + v
bm = bm + v
【０１２５】
また、その加減速度からグルーピングが向かってきている(拡大)か、遠ざかっている(縮小)かを判別して、グルーピングの大きさを変更してもよい。拡大率をａとした場合、下記のようになる。
a = √(u_now・u_now + v_now・v_now) / √(u_old・u_old + v_old・v_old)
or a = √(u・u + v・v) / √(u_now・u_now + v_now・v_now)
ar = (ap - am) / 2
ap = ap + ar・(a-1)
am = am - ar・(a-1)
br = (bp - bm) / 2
bp = bp + br・(a-1)
bm = bm - br・(a-1)
なお、拡大率はリミットを入れてもよい。
【０１２６】
８角形の場合、狭くさせる量はａｗ、ｂｗ、ｃｗ、ｄｗにａの割合で比例させて、下記のようになる。
ap = ap - aw・a
am = am + aw・a
bp = bp - bw・a
bm = bm + bw・a
cp = cp - cw・a
cm = cm + cw・a
dp = dp - dw・a
dm = dm + dw・a
【０１２７】
このときプラス側がマイナス側以下になったら、そのグルーピングは削除する。突然グルーピングを形成するベクトルデータがなくなった場合、形状を維持するために表示の際はここで減らした分を元に戻しておいてもよい。
【０１２８】
また、動きベクトルの平均分により、最初に次の想定されるグルーピングの場所に移動させておく。すると、過去の動きベクトルの平均（ｕ＿ｏｌｄ、ｖ＿ｏｌｄ）と今の動きベクトルの平均（ｕ＿ｎｏｗ、ｖ＿ｎｏｗ）により、グルーピングの枠の移動を加速させる。その時のグルーピングの次に想定される変化量（ｕ、ｖ）は下記のようになる。
u = 2・u_now - u_old
v = 2・v_now - v_old
【０１２９】
また、領域を作成した際のｘ０、ｙ０に該当し、領域線は下記のようになる。
ap = ap + u
am = am + u
bp = bp + v
bm = bm + v
cp = cp + u + v
cm = cm + u + v
dp = dp + v - u
dm = dm + v - u
【０１３０】
また、その加減速度からグルーピングが向かってきている(拡大)か、遠ざかっている(縮小)かを判別して、グルーピングの大きさを変更してもよい。拡大率をａとした場合、下記のようになる。
a = √(u_now・u_now + v_now・v_now) / √(u_old・u_old + v_old・v_old)
or a = √(u・u + v・v) / √(u_now・u_now + v_now・v_now)
ar = (ap - am) / 2
ap = ap + ar・(a-1)
am = am - ar・(a-1)
br = (bp - bm) / 2
bp = bp + br・(a-1)
bm = bm - br・(a-1)
cr = (cp - cm) / 2
cp = cp + cr・(a-1)
cm = cm - cr・(a-1)
dr = (dp - dm) / 2
dp = dp + dr・(a-1)
dm = dm - dr・(a-1)
なお、拡大率はリミットを入れてもよい。
【０１３１】
３角形の場合、狭くさせる量はａｗ、ｂｗにａの割合で比例させて下記のようになる。
as = as - apole・aw・a
bs = bs - bpole・bw・a
cs = cs - cpole・cw・a
【０１３２】
このとき、２つの領域線での交点が、もう一つの領域線の内側になかったら、そのグルーピングは削除する。突然グルーピングを形成するベクトルデータがなくなった場合、形状を維持するために表示の際はここで減らした分を元に戻しておいてもよい。
【０１３３】
また、動きベクトルの平均分により、最初に次の想定されるグルーピングの場所に移動させておく。すると、過去の動きベクトルの平均（ｕ＿ｏｌｄ、ｖ＿ｏｌｄ）と今の動きベクトルの平均（ｕ＿ｎｏｗ、ｖ＿ｎｏｗ）により、グルーピングの枠の移動を加速させる。その時のグルーピングの次に想定される変化量（ｕ、ｖ）は下記のようになる。
u = 2・u_now - u_old
v = 2・v_now - v_old
【０１３４】
また、領域を作成した際のｘ０、ｙ０に該当し、領域線は下記のようになる。
as = as + ax・u + ay・v
bs = bs + bx・u + by・v
cs = cs + cx・u + cy・v
【０１３５】
また、その加減速度からグルーピングが向かってきている(拡大)か、遠ざかっている(縮小)かを判別して、グルーピングの大きさを変更してもよい。拡大率をａとした場合、下記のようになる。
a = √(u_now・u_now + v_now・v_now) / √(u_old・u_old + v_old・v_old)
or a = √(u・u + v・v) / √(u_now・u_now + v_now・v_now)
ar = (as - ak) / 2
as = as + ar・(a-1)
br = (bs - bk) / 2
bs = bs + br・(a-1)
cr = (cs - ck) / 2
cs = cs + cr・(a-1)
【０１３６】
このとき、ａｋは、
bs = bx・x + by・y
cs = cx・x + cy・y
【０１３７】
の２式について、ｘ、ｙの連立方程式を解いて下記に代入すればよい。つまり対面での平行な領域線の位置となる。
ak= ax・x + ay・y
【０１３８】
同様にｂｋは
as = ax・x + ay・y
cs = cx・x + cy・y
【０１３９】
のｘ、ｙの連立方程式を解いて下記に代入すればよい。つまり対面での平行な領域線の位置となる。
bk= bx・x + by・y
【０１４０】
同様にｃｋは
as = ax・x + ay・y
bs = bx・x + by・y
【０１４１】
のx, yの連立方程式を解いて次式に代入すればよい。つまり対面での平行な領域線の位置となる。
ck= cx・x + cy・y
【０１４２】
なお、拡大率はリミットを入れてもよい。
【０１４３】
すなわち、本実施形態に係る警告表示装置１０は、少なくとも３フレーム分の画像を用いることにより、グルーピングの枠が加速度をもって移動する場合にも、精度よくその移動を予測することができる。このため、より正確に危険物の存在を車両の運転者に警告することができる。
【０１４４】
また、グルーピングデータを時間的に継承し、信用度を確認することで危険予測を行うことができる。このとき、本実施形態に係る警告表示装置１０は、特徴量の座標の情報などの特徴量データを保持することなく物体の形状を特定することができる。このため、特徴量データを保持する場合に比べ、かつメモリ使用量が非常に削減しつつ物体の形状を正確に把握することができる。また、８角形でグルーピングする場合、物体の形状を寄り正確に把握することができる。
【０１４５】
図１６は、カメラ１１の撮像画像を別視点の画像や歪みを正した画像にしてグルーピングを行う様子の一例を示す説明図である。図１６には、グルーピングを４角形で行う場合の例について示した。
【０１４６】
カメラ１１に魚眼レンズが取り付けられている場合や、画像の向きを異なる向きに射影する場合などには、元画像中の多角形の形状が変わってしまう。
【０１４７】
この場合、まず、領域線（Ａｐ、Ａｍ）の中間線Ａｃと、それに直交する領域線（Ｂｐ、Ｂｍ）の中間線Ｂｃとの交点ＡＢｃを中心とする。次に、その中心を通り領域線と直角な線と、領域線との交点を計４つ（Ａｐｃ、Ａｍｃ、Ｂｐｃ、Ｂｍｃ）導き出す。その４つの交点をルックアップテーブルや射影変換によって、違う画面へ転送させる（Ａ２ｐｃ、Ａ２ｍｃ、Ｂ２ｐｃ、Ｂ２ｍｃ）。得られた点により、元の画像での角度の領域線になるように領域線をそれぞれ作る（Ａ２ｐ、Ａ２ｍ、Ｂ２ｐ、Ｂ２ｍ）。このとき、動きベクトル（ｕ、ｖ）も変換してもよい。その場合、中心の座標をｕ、ｖだけずらした位置を変換させて、得られた値から中心座標を変換させた値で引けばよい。
【０１４８】
また、画像がレンズの屈折により歪むような場合ではなく、角度が変わる状況であれば、転送させるときの領域線の角度をその分変更、または、領域線を追加してもよい。
【０１４９】
なお、８角形の場合には、ＣとＤでも同様の処理を行い、８角形の領域が完成する。また、３角形の場合には、領域線の端の２つの交点の中間点を転送させて、その点を通る元の角度での領域線を作成する。これをそれぞれの領域線に対して行うことで、３角形の領域が完成する。
【０１５０】
図１７は、１フレームの画像を互いに重複する複数の領域に分割してグルーピングを行う場合の例について示す説明図である。
【０１５１】
多角形のグルーピングの方法では、凹んだ形状の物体に対応することができない。そこで、図１７に示すように、１フレームの画像を互いに重複する複数の領域に分割し、これらの重複領域をもった分割領域ごとにグルーピングを行うとよい。
【０１５２】
分割領域が互いに重複しているため、グルーピングの途切れが生じづらくなり、凹んだ形状も対応できるようになる。また、重複領域をもった分割領域を、同じ平面上のものとする必要はなく、たとえば違う角度の面や違うゆがみ方の面で行ってもよい。
【０１５３】
図１８は、図１７に示す互いに重複する分割領域を用いる場合において４角形でグルーピングを行う様子の一例を示す説明図である。また、図１９は、図１７に示す互いに重複する分割領域を用いる場合において８角形でグルーピングを行う様子の一例を示す説明図である。
【０１５４】
図１７左に示した元画像について重複する分割領域を用いて４角形でグルーピングすると、図１８左に示すように、元画像の凹みが多少反映された結合画像を得ることができる。また、図１７左に示した元画像について重複する分割領域を用いて８角形でグルーピングすると、図１９左に示すように、元画像の凹みがしっかりと反映された結合画像を得ることができる。なお、図１８と図１９を比較して明らかなように、８角形でグルーピングするほうが４角形でグルーピングするよりも正しい領域でグルーピングできることがわかる。
【０１５５】
また、信用度の上がったグルーピングが分割領域をはみ出した場合、グルーピングの移動方向の領域にグルーピングデータ（信用度の情報等）をコピーしてもよい。この場合、グルーピングの移動により別の領域に現れた動きベクトルも、最初から信用度が上がっているグルーピングとして扱うことができる。そのため、途切れなく警告表示ができる。
【０１５６】
また、１フレーム画像に違う領域線数のグルーピングを混在させてもよい。たとえば、遠いところを見る場合や、小さい物体などでは、グルーピングの領域が小さくなる。この場合、ｎ角形のｎの数を増やしても、計算量が増えるばかりで物体の形状の反映という点ではあまり意味がなくなる。また、領域によっては水平線や車線の角度が異なるため、領域によって領域線の傾きを変えたほうが精度を改善できる場合がある。
【０１５７】
このため、領域や大きさによって、違う領域線数のグルーピングを混在させてグルーピングを行ってもよい。この場合、グルーピングの大きさが変わった場合や、違う領域にまたいだ場合に、グルーピングの領域線が変更されることになる。その時の処理方法について以下説明する。
まず、領域線が変わる場合について説明する。
【０１５８】
図２０は、３角形領域から４角形領域に領域線を変える方法の一例を示す説明図である。
【０１５９】
たとえば、ｎ角形からｍ角形へ領域線が変更される場合、同じ傾きとなる領域線数をａとすると、ｎ−ａだけ領域線数が減る一方、ｍ−ａだけ領域線数が増える。このとき、たとえば、まずｍ−ａの分だけ領域線を増やす。このとき、ｎ角形での領域線での隣り合う領域線の交点を出しておく。次に接する増やしたい領域線の傾きで接する交点を導き、その交点の位置での領域線とする。事前にどの増やしたい領域線が元のｎ角形の隣り合う領域線とのどの交点が接することになるか確認しておいて、その交点だけを見るようにしてもよい。それをｍ−ａの分だけ行う。次に同じ傾きとならない元のｎ角形のｎ−ａの領域線を削除する。そうすることによりｎ角形からｍ角形へ領域線が変更される。
【０１６０】
図２０には、ｎ＝３、ｍ＝４、ａ＝１とした場合の例について示した。図２０に示す例では、４角形の1つの領域線ＥｐはＡｐと重複している。したがって、増やす領域線はＤｍ、Ｄｐ、Ｅｐとなり、減らす領域線はＢｍ、Ｃｐとなる。Ｄｍと接する３角形の交点は、ＡｐとＢｍの交点であるＰａｂとなるため、その位置が領域線となる。同様にＤｐは、ＣｐとＡｐの交点であるＰｃａでの領域線となる。同様にＥｍは、ＢｍとＣｐの交点であるＰｂｃでの領域線となる。そして、最後に重複していない領域線であるＢｍとＣｐを削除する。この手順により、ｎ角形からｍ角形へ領域線を変更することができる。
次に、領域線数が増える場合について説明する。
【０１６１】
図２１は、グルーピングの領域線数を増やす方法の一例を示す説明図である。
【０１６２】
たとえば、領域ごとに違う多角形とする場合には、領域をまたいでグルーピングを行うと、複数の多角形が混在することになる。この場合には領域線をその分増やした多角形とする。また、違う領域をまたいでいないグルーピングと違う領域をまたいだグルーピングとの重複確認や結合を行うときにも、領域線を増やした多角形にする必要がある。
【０１６３】
いま、２つの領域がそれぞれｎ角形とｍ角形として重複する領域線数をａとした場合、ｎ＋ｍ−ａ角形としたい。しかし計算を簡単にするためにこの多角形で対面する平行な領域線がない数をｂとした場合、ｂの分だけ平行な領域線を追加し、ｎ＋ｍ−ａ＋ｂ角形とする。このときｎ角形側で対面する平行な領域線がなくてｍ角形にもその領域線がない数をｂｎとし、ｍ角形側で対面する平行な領域線がなくてｎ角形にもその領域線がない数をｂｍとすると、ｂ＝ｂｎ＋ｂｍとなる。
【０１６４】
ｎ角形が重複領域状態のｎ＋ｍ−ａ＋ｂ角形になることを想定する。まず、対面する平行な領域線が存在しない場合、その領域線を用意する。その領域線は対面側の決められた２つの隣り合う領域線の交点により導き出される。次に、対面する平行な領域線以外で、m角形にしか存在しない傾きの領域線を追加する。追加する領域線の位置はそのグルーピングに接する位置である。その位置はどの隣り合う領域線の交点かは決まっているため、あらかじめどの交点が接することになるか確認しておいてもよい。そうすることにより、ｎ角形をｎ＋ｍ−ａ＋ｂ角形にすることができる。重複領域状態を通り過ぎてｍ角形の領域となった場合は、ｍ角形の傾きとならない領域線を削除すればよい。
【０１６５】
図２１には、ｎ＝３、ｍ＝４、ａ＝１、ｂ＝２、ｂｎ＝２、ｂｍ＝０とした場合の例に着いて示した。図２１に示す例では、まず対面する平行な領域線がないＡｐ、Ｂｍ、Ｃｐに対して、対面する平行な領域線Ａｍ、Ｂｐ、Ｃｍを作成する。対面する平行な領域線は、対面する２つの隣あう領域線の交点と接する位置である。
【０１６６】
このため、ＡｍはＢｍとＣｐの交点であるＰｂｃでの領域線となり、ＢｐはＡｐとＣｐの交点であるＰｃａでの領域線となり、ＣｍはＡｐとＢｍの交点であるＰａｂでの領域線となる。次に、対面する平行な領域線以外でｍ角形にしか存在しない傾きの領域線であるＤｍ、Ｄｐを追加する。追加する場所は図のようにｎ角形のグルーピングに接する位置となる。以上のようにｎ＋ｍ−ａ＋ｂ(＝８)角形での領域線となるが、図を見ても分かるとおり、最初のグルーピング領域は変わらない。この状態で次のフレームへの移行や結合をすることにより、グルーピング領域が変わっていくことになる。なお、ここまで２つの領域をまたいだ場合の例について説明したが、３つ以上の領域として、その分領域線を変更してもよい。
【０１６７】
次に、１つのグルーピングで凹んだ形状を考慮した場合を説明する。
図２２は、１つのグルーピングで凹んだ形状を表す際の１つの基点と角度領域との関係の一例を示す説明図である。また、図２３は、凹領域線を更新する様子の一例を示す説明図である。また、図２４は、図２２に示す例において１つのグルーピングで凹んだ形状を表した様子の一例を示す説明図である。
以上説明した方法では、１つのグルーピングで凹んだ形状を表すことは難しい。そこで、グルーピング対象となる凹んだ形状の凹んだ状態を次の方法により計算し、それを考慮して１つのグルーピングとしても良い。
なお、グルーピング領域の基本形状は３角形、４角形、８角形など様々な多角形形状をとることが可能であるが、以下の説明では８角形をとる場合の一例について説明する。また、凹んだ形状も多角形とするが、例としてグルーピングの形状と同じ８角形で説明する。グルーピング形状と凹んだ形状は同じ多角形にする必要は無い。
それぞれのグルーピングの領域線の交点と、その領域線上の点を基点として凹んだ形状の処理を行うが、左上の点Ｋ０と左辺Ａｍのみ説明する。ここで、グルーピングの領域線を凸領域線（図２２の点線Ａｍ、Ｃｍ等）、基点から凹ませる領域線を凹領域線（図２２の細い実線Ｋ０Ａｐ、Ｋ０Ａｍ等）というものとする。凸領域線の交点（たとえばＡｍ、Ｃｍの交点Ｋ０）を基点とする場合には、その交点を作り出す凸領域線のどちらかの線分の長さ（たとえばＡｍであれば図２２において点Ｋ０から点Ｋ７までの長さ）が所定の閾値Ｌｔｈより長い場合に動作するようにする。また、凸領域線上の点を基点とする場合には、図２２のように線分の長さをＡｍＬとした場合（ＡｍＬ／Ｌｔｈ）−１の正の整数部の点数分、交点までの距離が等距離になるように点を配置する（図２２のＪ７０、Ｊ７１参照）。このとき、点数は所定の値で制限してもよい（たとえば２）。
図２２のように、凹領域線の形成開始時は、基点Ｋ０（Ｋ０ｘ，Ｋ０ｙ）から、上記までに述べたグルーピングを行うための特徴点を領域にする処理と同様の処理を行う。たとえば、凹領域線を８角形とする場合は、下記のようになる。
【０１６８】
K0Ac = K0x  (縦線)
K0Bc = K0y  (横線)
K0Cc = K0x + K0y  (右上がり線)
K0Dc = K0y -K0x  (右下がり線)      K0Ap = K0Ac + K0Aw
K0Am = K0Ac -K0Aw
K0Bp = K0Bc + K0Bw
K0Bm = K0Bc -K0Bw
K0Cp = K0Cc + K0Cw
K0Cm = K0Cc -K0Cw
K0Dp = K0Dc + K0Dw
K0Dm = K0Dc -K0Dw
凹領域線までの距離はすべて同じ距離としてなくてもよいが、精度を上げるためにすべて同じ距離とする場合は、
K0Bw = K0Aw
K0Cw = K0Aw・√(2)
K0Dw = K0Aw・√(2)
とする。Ｋ０Ａｗを設定することにより凹領域線の広がり速度を設定することができる。Ｋ０Ａｗを適切に設定することにより、例えばノイズなどの影響で特徴点が検出できなかった場合に、凹領域が凸領域までいきなり広がらないようにすることができる。ここで形成された凹領域線を、基準凹領域線とする。
ここで、それぞれの凹領域線の広がりは、基点からのある角度領域内に存在する特徴点に依存させるように、角度領域を設定する。角度領域は、上記に述べた基準凹領域線のそれぞれの交点を角度領域境界（Ｋ０ＢｍＤｍＢ、Ｋ０ＤｍＡｐＢ、Ｋ０ＡｐＣｐＢ、Ｋ０ＣｐＢｐＢ、Ｋ０ＢｐＤｐＢ、Ｋ０ＤｐＡｍＢ、Ｋ０ＡｍＣｍＢ、Ｋ０ＣｍＢｍＢ）で分割された角度領域 （Ｋ０ＤｍＡ、Ｋ０ＡｐＡ、Ｋ０ＣｐＡ、Ｋ０ＢｐＡ、Ｋ０ＤｐＡ、Ｋ０ＡｍＡ、Ｋ０ＣｍＡ、Ｋ０ＢｍＡ）とする。なお、角度領域境界は、基点を始点とする線分であって、基点から凹領域線により広げられた８角形領域の８角形（図２２の太い実線）の各頂点を通る線分（図２２の一点鎖線）により定義する。また、角度領域境界Ｋ０ＢｍＤｍＢは、Ｋ０から凹領域線Ｋ０ＢｍとＫ０Ｄｍの交点を通る線分であることを表している。
また、Ｋ０では、凸領域線ＡｍとＣｍの交点が基点であり、その２線より内側に凹領域線を形成するため、４つの凹領域線（Ｋ０Ｄｐ、Ｋ０Ａｍ、Ｋ０Ｃｍ、Ｋ０Ｂｍ）と４つ角度領域（Ｋ０ＤｐＡ、Ｋ０ＡｍＡ、Ｋ０ＣｍＡ、Ｋ０ＢｍＡ）は意味をなさなくなる。だが、特徴点が最初の凸領域線より外側でグルーピングされても、それも考慮して凹領域線を形成する必要がある。そのため４つの角度領域は、意味をなしている一番近い角度領域にする。つまりＫ０では、Ｋ０ＤｐＡとＫ０ＡｍＡがＫ０ＢｐＡとなり、Ｋ０ＣｍＡとＫ０ＢｍＡがＫ０ＤｍＡとなる。
【０１６９】
次に、同じグルーピングとなる得られた特徴点が、それぞれの角度領域のどこに属しているかを確認し、属している角度領域の凹領域線を導き出す。ここで、角度領域の凹領域線とは、角度領域の両端を定義する２つの角度領域境界がそれぞれ通る８角形の頂点を結ぶ凹領域線をいうものとする。たとえば、角度領域Ｋ０ＤｍＡの凹領域線は、Ｋ０Ｄｍである。これは、角度領域Ｋ０ＤｍＡの角度領域境界Ｋ０ＢｍＤｍＢを定義する８角形の頂点がＫ０ＢｍとＫ０Ｄｍの交点であり、角度領域境界Ｋ０ＤｍＡｐＢを定義する８角形の頂点がＫ０ＤｍとＫ０Ａｐの交点であり、この２つの頂点を通る凹領域線がＫ０Ｄｍであるためである。
そして、特徴点をグルーピングするために広げる分、特徴点から基点側へ広げた位置が、特徴点が属する角度領域の凹領域線の傾きに対して元の凹領域線より基点に近いかを確認する。近ければ、特徴点から基点側へ広げた位置に、新たな凹領域線を設ける。
例えば、図２３のように、凹領域線がＫ０Ｄｍ、Ｋ０Ａｐ、Ｋ０Ｃｐ、Ｋ０Ｂｐで形成されていたとし、特徴点Ｐ０（ｘ０、ｙ０）が得られたとする。特徴点Ｐ０はグルーピングされるかの確認のため凸領域線（たとえば８角形）を形成する。このときＡｍと接するためグルーピングされ、凸領域線ＡｍがＡｍ２へ移動する。次に凹領域線に対して確認する。得られた特徴点Ｐ０は基点Ｋ０に対してＫ０ＢｐＡの角度領域に属しているため、この角度領域の凹領域線はＫ０Ｂｐとなる。そして、特徴点をグルーピングするために広げた分、特徴点から基点側へ広げた位置がＰ０の８角形となり、その８角形がＫ０Ｂｐの傾きであるｙ方向に対して、元の凹領域線Ｋ０Ｂｐより近いことが確認できる。そのため、凹領域線Ｋ０Ｂｐを、特徴点から基点側へ広げた位置Ｋ０Ｂｐ２へ移動する。
以上を同じグルーピングとなる得られた特徴点分、すべての基点に対して行う。
すべての特徴点を確認し終わった後、凸領域線が変わるので、それに合わせて基点位置を変える。その基点が凹領域線より内側になるように、凹領域線を新たな基点位置で制限する。また、凸領域線の線分の長さＡｍＬが変わるので、交点での基点の有無が変更されないか、領域線上の基点の数が変更されないか確認し、変更されればその分基点を増減させる。増減させた場合、位置が大幅にずれるので、元の基点位置での範囲に収まる最大の位置で、凹領域線の初期値を決定する。また、意味をなさない４つの凹領域線は、領域とするために、凸領域線の一番外側とすればよい。以上のように現在のフレームでの処理を行う。
描写させる際は、グルーピングさせるために特徴点を凸領域線に広げる分、凹領域線が基点に近くなっているので、その分基点より離れた位置を凹領域線として描写すればよい(図２３の新しい描写線)。
【０１７０】
次のフレームでは、最初に、凹領域線を基準凹領域線まで広げた分広くする。さらに、凸領域線の移動分移動させる。また、上記までに述べた速度変更割合分のサイズの変更を行っても良い。その場合、凹領域線の一部は凸領域線で固定されるので、凹領域線の変更の基準は基点からの距離とすればよい。
以上のような方法で、凹んだ形状を確認することにより、図２４のように凹んだ物体に対しても正しく領域線を形成することができるようになる。なお、図２４には、凸領域線の交点の基点はすべて有効とし、凸領域線上の基点数は左右の縦線は１としその他は０とする場合の例について示した。描写する際は、上記までに述べたような角を丸める処理を施して表示させても良いし、領域を色彩して表示させても良い。
【０１７１】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１７２】
また、本発明の実施形態では、フローチャートの各ステップは、記載された順序に沿って時系列的に行われる処理の例を示したが、必ずしも時系列的に処理されなくとも、並列的あるいは個別実行される処理をも含むものである。
【符号の説明】
【０１７３】
１０  警告表示装置
１１  カメラ
１２  主制御部
１９  表示装置
２２  特徴量検出部
２３  グルーピング処理部
３１  グルーピングデータ比較部
３２  グルーピング実行部
３３  信用度調整部
３４  警告表示部
３５  グルーピングデータ更新部
３６  グルーピングデータ格納部
【図１】
0005827543.tif 000002
【図２】
0005827543.tif 000003
【図３】
0005827543.tif 000004
【図４】
0005827543.tif 000005
【図５】
0005827543.tif 000006
【図６】
0005827543.tif 000007
【図７】
0005827543.tif 000008
【図８】
0005827543.tif 000009
【図９】
0005827543.tif 000010
【図１０】
0005827543.tif 000011
【図１１】
0005827543.tif 000012
【図１２】
0005827543.tif 000013
【図１３】
0005827543.tif 000014
【図１４】
0005827543.tif 000015
【図１６】
0005827543.tif 000016
【図１７】
0005827543.tif 000017
【図１８】
0005827543.tif 000018
【図１９】
0005827543.tif 000019
【図２０】
0005827543.tif 000020
【図２１】
0005827543.tif 000021
【図２２】
0005827543.tif 000022
【図２３】
0005827543.tif 000023
【図２４】
0005827543.tif 000024
【図１５】
0005827543.tif 000025