説明

通路検出方法、装置、及びプログラム

【課題】轍の検出精度を高めることによって、従来よりも精確に通路を検出することができる通路検出方法、装置、及びプログラムを提供する。
【解決手段】通路検出装置1は、入力画像に対する画像処理を行って入力画像に含まれる通路領域を検出するものであり、入力画像に含まれる通路領域のおおよその位置を示す中心ブロックを抽出する中心ブロック抽出部と、入力画像に対して複数種類のフィルタ処理を行って入力画像の評価に用いる特徴量をフィルタ処理の種類毎に求める特徴量算出部32と、中心ブロック抽出部31で抽出された中心ブロックにおける特徴量と同様の特徴量を有する領域を入力画像から抽出することによって通路領域を検出する通路領域検出部34とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両の走行通路等の通路を検出する通路検出方法、装置、及びプログラムに関する。
【背景技術】
【0002】
従来から、車載カメラ等で撮影した画像に対する画像処理を行って、舗装された走行通路上の白線等に基づいて走行通路を自動的に検出し、その検出結果に基づいて車両の運転状態を自動制御する技術が開発されている。また、近年では、かかる技術を発展させ、舗装された走行通路のみならず、林道や災害現場或いは工事現場等の不整地・未舗装路を無人で走行可能な災害救助車両や工事車両等の車両の開発も盛んに行われている。
【0003】
以下の特許文献1には、道路の轍を検出して轍を避けて走行するようにした車両用自動操舵装置が開示されている。この車両用自動操舵装置は、レーザ光で車両前方を走査して得られる車両前方の撮像画像を処理して道路の白線と轍を検出し、白線の検出結果及び車速検出値に基づいて目標操舵角を演算するとともに、道路の轍の検出結果に基づいて目標操舵角を補正し、操舵角検出値が補正後の目標操舵角となるようにステアリングを駆動制御している。
【0004】
また、以下の特許文献2には、不整地・未舗装路等のように道路の境界が明確に存在しない場所を、撮像装置によって撮像した画像を用いて自律走行する自律走行体の走行制御方法の一例が開示されている。具体的には、走行体に搭載される撮像装置によって撮像された画像を複数の領域に分割し、各分割領域毎に求めた分割領域内の特徴量と所定の閾値とを比較して追従対象領域を抽出し、この追従対象領域上に設定した注視点に向かうための走行体の操舵角を算出して操舵制御している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第3582449号公報
【特許文献2】特開2002−132343号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、従来は、画像の輝度又は画像の輝度の変化を基準として轍の検出を行っている。例えば、画像の輝度が所定の閾値以下である領域を轍として検出し、或いは輝度の変化率が大きい場所を轍のエッジとみなして轍である領域とそれ以外の領域とに分割している。しかしながら、輝度を基準とする方法では、明るさが周囲と殆ど同じで路面の粗さだけが異なるような轍を検出することができないという問題がある。また、輝度の変化に基づいて轍を検出する方法では、轍の境界が曖昧な未舗装路に対応することができないという問題がある。
【0007】
本発明は、上記事情に鑑みてなされたものであり、轍の検出精度を高めることによって、従来よりも精確に通路を検出することができる通路検出方法、装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明の通路検出方法は、入力画像に対する画像処理を行って前記入力画像に含まれる通路領域を検出する通路検出方法であって、前記入力画像に含まれる前記通路領域のおおよその位置を示す位置情報を抽出する抽出ステップ(S1)と、前記入力画像に対して複数種類のフィルタ処理を行い、前記入力画像の評価に用いる特徴量を前記フィルタ処理の種類毎に求める特徴量算出ステップ(S2)と、前記抽出ステップで抽出された位置情報で特定される位置における前記特徴量と同様の特徴量を有する領域を前記入力画像から抽出することによって前記通路領域を検出する検出ステップ(S4)とを有することを特徴としている。
また、本発明の通路検出方法は、前記特徴量算出ステップと前記検出ステップの間に、前記通路領域についての事前知識を用いて前記抽出ステップで抽出された前記位置情報を補正する補正ステップ(S3)を有することを特徴としている。
また、本発明の通路検出方法は、前記抽出ステップが、前記入力画像を複数のブロック(B)に区分するステップを含み、前記検出ステップは、前記抽出ステップで抽出された位置情報で特定されるブロックについて、前記特徴量の平均値及び標準偏差を算出するステップ(S11)と、前記複数のブロックの全てについて前記特徴量の平均値を算出するステップ(S12)と、前記基準ブロックについての平均値と前記複数のブロックの全てについての平均値との差が大きな特徴量、及び前記基準ブロックについての標準偏差が小さな特徴量については重みが重くなるように前記特徴量毎の重みを決定するステップ(S13)と、重み付けされた前記特徴量を用いて、前記抽出ステップで抽出された位置情報で特定されるブロックについての特徴量と同様の特徴量を有するブロックを抽出するステップ(S14)とを含むことを特徴としている。
また、本発明の通路検出方法は、前記検出ステップが、前記重みが予め設定した閾値以下の値である場合に、重みを零に決定するステップを含むことを特徴としている。
また、本発明の通路検出方法は、前記抽出ステップが、画像上の模様のテクスチャ方向を求め、テクスチャ方向について共通項の数を算出し、他の領域との共通項が閾値以上より高い領域を算出することを特徴としている。
また、本発明の通路検出方法は、前記補正ステップが、前記複数のブロックのうちの任意の第1ブロックの特徴量、当該第1ブロックとは異なる第2ブロックの特徴量、及び前記入力画像に含まれる前記通路領域についての特徴量と前記通路領域とは異なる領域についての特徴量とを用いて予め学習した複数のクラスの境界を示す情報を用いて、前記第1,第2ブロックを前記複数のクラスの何れか1つのクラスに分類するステップを含むことを特徴としている。
また、本発明の通路検出方法は、前記複数のクラスが、任意の2つのブロックのうちの先のブロックに前記通路領域を示す画像が含まれる可能性が高い第1クラスと、前記任意の2つのブロックのうちの後のブロックに前記通路領域を示す画像が含まれる可能性が高い第2クラスとを有することを特徴としている。
本発明の通路検出装置は、入力画像に対する画像処理を行って前記入力画像に含まれる通路領域を検出する通路検出装置(1)であって、前記入力画像に含まれる前記通路領域のおおよその位置を示す位置情報を抽出する抽出手段(31)と、前記入力画像に対して複数種類のフィルタ処理を行い、前記入力画像の評価に用いる特徴量を前記フィルタ処理の種類毎に求める特徴量算出手段(32)と、前記抽出手段で抽出された位置情報で特定される位置における前記特徴量と同様の特徴量を有する領域を前記入力画像から抽出することによって前記通路領域を検出する検出手段(34)とを備えることを特徴としている。
また、本発明の通路検出装置は、前記通路領域についての事前知識を用いて前記抽出手段で抽出された前記位置情報を補正する補正手段(33)を備えることを特徴としている。
また、本発明の通路検出装置は、前記抽出手段が、前記入力画像を複数のブロック(B)に区分し、前記検出手段が、前記抽出手段で抽出された位置情報で特定されるブロックについて、前記特徴量の平均値及び標準偏差を算出する第1算出手段(34a)と、前記複数のブロックの全てについて前記特徴量の平均値を算出する第2算出手段(34b)と、前記基準ブロックについての平均値と前記複数のブロックの全てについての平均値との差が大きな特徴量、及び前記基準ブロックについての標準偏差が小さな特徴量については重みが重くなるように前記特徴量毎の重みを決定する重み決定手段(34c)と、重み付けされた前記特徴量を用いて、前記抽出手段で抽出された位置情報で特定されるブロックについての特徴量と同様の特徴量を有するブロックを抽出するブロック抽出手段(34d)とを備えることを特徴としている。
また、本発明の通路検出装置は、前記重み決定手段が、前記重みが予め設定した閾値以下の値である場合に、重みを零に決定することを特徴としている。
また、本発明の通路検出装置は、前記抽出手段が、画像上の模様のテクスチャ方向を求め、テクスチャ方向について共通項の数を算出し、他の領域との共通項が閾値以上より高い領域を算出することを特徴としている。
また、本発明の通路検出装置は、前記補正手段が、前記複数のブロックのうちの任意の第1ブロックの特徴量、当該第1ブロックとは異なる第2ブロックの特徴量、及び前記入力画像に含まれる前記通路領域についての特徴量と前記通路領域とは異なる領域についての特徴量とを用いて予め学習した複数のクラスの境界を示す情報を用いて、前記第1,第2ブロックを前記複数のクラスの何れか1つのクラスに分類することを特徴としている。
また、本発明の通路検出装置は、前記複数のクラスが、任意の2つのブロックのうちの先のブロックに前記前記通路領域を示す画像が含まれる可能性が高い第1クラスと、前記任意の2つのブロックのうちの後のブロックに前記前記通路領域を示す画像が含まれる可能性が高い第2クラスとを有することを特徴としている。
本発明の通路検出プログラムは、コンピュータを、入力画像に対する画像処理を行って前記入力画像に含まれる通路領域を検出する通路検出手段(1)として機能させる通路検出プログラムであって、前記コンピュータを、前記入力画像に含まれる前記通路領域のおおよその位置を示す位置情報を抽出する抽出手段(31)と、前記入力画像に対して複数種類のフィルタ処理を行い、前記入力画像の評価に用いる特徴量を前記フィルタ処理の種類毎に求める特徴量算出手段(32)と、前記抽出手段で抽出された位置情報で特定される位置における前記特徴量と同様の特徴量を有する領域を前記入力画像から抽出することによって前記通路領域を検出する検出手段(34)として機能させることを特徴としている。
【発明の効果】
【0009】
本発明によれば、入力画像に含まれる通路領域のおおよその位置を示す位置情報を抽出し、入力画像に対して複数種類のフィルタ処理を行って入力画像の評価に用いる特徴量をフィルタ処理の種類毎に求め、抽出された位置情報で特定される位置における特徴量と同様の特徴量を有する領域を入力画像から抽出することによって通路領域を検出しているため、明るさが周囲と殆ど同じで路面の粗さだけが異なるような轍や境界が曖昧な未舗装路も検出することができ、従来よりも精確に通路を検出することができるという効果がある。
【図面の簡単な説明】
【0010】
【図1】本発明の一実施形態による通路検出装置の要部構成を示すブロック図である。
【図2】学習部33aで行われる処理を説明するための図である。
【図3】特徴量の分布の一例を示す図である。
【図4】学習動作を説明するための図である。
【図5】検出動作の全体的な流れを示すフローチャートである。
【図6】中心ブロックを抽出する処理の詳細を示すフローチャートである。
【図7】車載カメラから得られる入力画像の一例を示す図である。
【図8】小領域形成部31aのフィルタリング処理に関する説明図である。
【図9】小領域形成部31aのテクスチャ方向特定処理に関する説明図である。
【図10】小領域形成部31aの投票処理に関する説明図である。
【図11】小領域形成部31aの投票処理に関する説明図である。
【図12】小領域形成部31aの投票処理に関する説明図である。
【図13】小領域形成部31aの消失点特定処理に関する説明図である。
【図14】小領域形成部31aの消失点特定処理に関する説明図である。
【図15】小領域形成部31aの小領域分割処理に関する説明図である。
【図16】小領域形成部31aの小領域分割処理に関する説明図である。
【図17】小領域選別部31bのノイズフィルタリング処理に関する説明図である。
【図18】小領域選別部31bのノイズフィルタリング処理に関する説明図である。
【図19】小領域選別部31bのノイズフィルタリング処理に関する説明図である。
【図20】通路領域推定部31cのクラスタリング処理に関する説明図である。
【図21】通路領域推定部31cのクラスタリング処理に関する説明図である。
【図22】通路領域推定部30cの最適クラスタ選択処理に関する説明図である。
【図23】通路領域推定部30cの最適クラスタ選択処理に関する説明図である。
【図24】中心ブロック抽出部31における中心線推定部30dの中心線推定処理を表すフローチャートである。
【図25】中心線推定部31dの中心線推定処理に関する説明図である。
【図26】中心線推定部31dの中心線推定処理に関する説明図である。
【図27】中心線推定部31dの中心線推定処理に関する説明図である。
【図28】推定された中心線から中心ブロックが抽出される様子を示す図である。
【図29】分類部34bの動作を説明するための図である。
【図30】補正された中心ブロックの一例を示す図である。
【図31】基準ブロックを説明するための図である。
【図32】検出された通路領域の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の一実施形態による通路検出方法、装置、及びプログラムについて詳細に説明する。図1は、本発明の一実施形態による通路検出装置の要部構成を示すブロック図である。図1に示す通り、本実施形態の通路検出装置1は、A/D(アナログ/ディジタル)コンバータ10、記憶装置20、画像処理装置30、及びRAM(Random Access Memory)40を備えており、外部から入力される画像信号から未舗装路の轍を通路領域として検出する。尚、図1に示す通路検出装置1は、例えばパーソナルコンピュータ等のコンピュータによって実現され、災害救助車両や工事車両等の特殊車両に搭載されて車両の進行方向を撮影する車載カメラ(図示省略)から入力される画像信号から轍を通路領域として検出する。
【0012】
A/Dコンバータ10は、不図示の車載カメラから入力される画像信号をディジタルデータに変換し、入力画像を示す入力画像データとして画像処理装置30に出力する。尚、本実施形態においては、視野が約60°であって解像度がVGA(横640×縦480画素)であり、モノクロの画像信号を出力する車載カメラが特殊車両に搭載されているとする。つまり、上記の入力画像データは、入力画像を構成する横640×縦480個の各画素の輝度を示す輝度データからなるデータである。尚、車載カメラからディジタル化された画像信号が出力される場合には、A/Dコンバータ10を省略することができる。
【0013】
記憶装置20は、例えばハードディスクによって実現され、通路検出プログラムPG、複数種類のガボールフィルタF1〜F30、複数種類のセンターサラウンドフィルタF31〜F35、及びSVM(Support Vector Machine:サポートベクターマシン)モデルM1を記憶する。この記憶装置20は、画像処理装置30からの読み出し要求に応じて上記の通路検出プログラムPG、ガボールフィルタF1〜F30、センターサラウンドフィルタF31〜F35、SVMモデルM1を画像処理装置30に出力する。また、画像処理装置30からの作成・更新要求に応じてSVMモデルM1の作成・更新を行う。
【0014】
ここで、通路検出プログラムPGは、入力画像データから未舗装路の轍を通路領域として検出する処理を通路検出装置1で実現するためのプログラムである。この通路検出プログラムPGが画像処理装置30によって読み出されて実行されることにより、画像処理装置30において、中心ブロック抽出部31、特徴量算出部32、中心ブロック補正部33、及び通路領域検出部34の各機能が実現される。
【0015】
また、ガボールフィルタF1〜F30は、2次元ガウス関数と2次元平面上を一方向に伝播する正弦波関数とを乗じて得られる2次元ガボール関数を利用した空間周波数フィルタであり、2次元ウェーブレットフィルタの一形態である。互いに直交するX軸及びY軸からなる2次元直交座標系における2次元ガボール関数GB(x,y)は以下の(1)式で表される。尚、以下の(1)式において、uは波の角周波数、σはガウス関数の標準偏差(ガウス窓の幅)を示すパラメータである。また、2次元ガボール関数GB(x,y)は、波の方向を示すパラメータ(方向パラメータ)として角周波数uの偏角φを有している。
【数1】

【0016】
以上の2次元ガボール関数GB(x,y)を利用したガボールフィルタを用いて、入力画像データをフィルタリングすることにより、入力画像の周波数特性やテクスチャ(模様)方向特性を抽出することができる。具体的には、入力画像において、方向パラメータ(偏角φ)と平行なテクスチャ方向を有すると共に、周波数パラメータ(角周波数u)に近い周波数特性を有する領域が感度良く抽出される。
【0017】
本実施形態では、方向パラメータ(角周波数uの偏角φ)及び周波数パラメータ(角周波数u)が異なる30種類のガボールフィルタF1〜F30が記憶装置20に記憶されている。ここで、上記の周波数パラメータは、抽出すべき轍の幅に応じて設定される。例えば、波の波長(周期)が視野上で1.5〜4度(25〜50cm)程度となるように角周波数uが設定される。かかる設定によって、轍が感度良く抽出されやすくなる。尚、本実施形態では、30種類のガボールフィルタF1〜F30が記憶装置20に記憶されている例について説明するが、その数や種類は入力画像の解像度や画像処理装置30の処理能力に応じて適宜変更することができる。
【0018】
また、センターサラウンドフィルタF31〜F35は、画像上の円形状を強調する円環状のフィルタである。互いに直交するX軸及びY軸からなる2次元直交座標系におけるセンターサラウンドフィルタCS(x,y;σ)は、以下の(2)式で表される。
【数2】

【0019】
このセンターサラウンドフィルタCS(x,y;σ)は、上記(2)式中のσを変えることでフィルタサイズ(円環の大きさ)を変えることができる。これにより、円形形状の物体の画像をその径に応じて強調させたり、逆に強調させなかったりすることができる。本実施形態では、フィルタサイズが互いに異なる5種類のセンターサラウンドフィルタF31〜F35が用意されており、これらは例えば未舗装路の路面の粗さや小石等の小物体の密度を評価するために用いられる。尚、ガボールフィルタと同様に、センターサラウンドフィルタの数や種類は、入力画像の解像度や画像処理装置30の処理能力に応じて適宜変更することができる。
【0020】
SVMモデルM1は、轍が写し込まれた画像から最も轍らしい領域の画像を分類する際に用いられるものであり、中心ブロック補正部33における学習部33aの学習結果に応じて作成・更新され、中心ブロック33の分類部33bで用いられる。尚、詳細は後述するが、本実施形態では、画像を複数のブロックに分割し、これら複数のブロックのうちの任意の2つを選択し、先に選択したブロックに轍が含まれる可能性が高いクラスA(第1クラス)と、後に選択したブロックに轍が含まれる可能性が高いクラスB(第2クラス)とに分類している。SVMモデルM1は、上記のクラスAとクラスBとの境界を示す境界線情報であるということができる。尚、SVMモデルM1の学習方法及び使用方法の詳細については後述する。
【0021】
画像処理装置30は、例えばCPU(中央処理装置)であり、記憶装置20から読み出した通路検出プログラムPGに従って、入力画像データに対して所定の画像処理を行うことにより、未舗装路の轍を通路領域として検出する。この画像処理装置30では、上記通路検出プログラムPGが実行されることによって中心ブロック抽出部31(抽出手段)、特徴量算出部32(特徴量算出手段)、中心ブロック補正部33(補正手段)、及び通路領域検出部34(検出手段)の各機能が実現される。
【0022】
中心ブロック抽出部31は、小領域形成部31a、小領域選別部31b、通路領域推定部31c、及び中心線推定部31dを備えており、A/Dコンバータ10から出力される入力画像データを複数のブロックに区分し、通路領域としての轍のおおよその位置を示すブロック(中心ブロック)を抽出する。尚、この中心ブロックは、轍の画像が含まれる可能性のあるブロックということもできる。
【0023】
小領域形成部31aは、入力画像に含まれる通路領域を推定するために必要な通路推定情報として、通路領域の一部である可能性の高さを示す通路候補パラメータが与えられた複数の小領域を入力画像中に形成する。具体的には、入力画像データに対して、後述するフィルタリング処理、テクスチャ(模様)方向特定処理、強エッジ領域抽出処理、投票処理、消失点特定処理、及び小領域分割処理を実行することによって、上記の小領域を入力画像中に形成する。
【0024】
ここで、フィルタリング処理とは、記憶装置20から読み出した複数のガボールフィルタF1〜F30を用いて入力画像における通路検出対象領域をフィルタリングすることにより、通路検出対象領域についての各方向(φ1〜φ30)の強度分布データを生成する処理である。テクスチャ方向特定処理とは、上記フィルタリング処理によって生成された強度分布データを基に、通路検出対象領域における各画素のテクスチャ方向を特定する処理である。強エッジ領域抽出処理とは、入力画像における通路検出対象領域のエッジ検出処理を行うことにより、通路検出対象領域に存在する強エッジ領域を抽出する処理である。
【0025】
投票処理とは、入力画像における通路検出対象領域を奥行き方向に沿って複数に分割して得られる分割領域毎に、分割領域における各画素のそれぞれを投票元画素として選択し、その投票元画素を起点としてそのテクスチャ方向に平行な直線上に存在する画素、又は投票元画素を起点としてそのテクスチャ方向に沿うように設定された投票対象領域に含まれる画素に対して投票を行う処理である。消失点特定処理とは、上記の分割領域毎に、上記投票処理による投票結果を基に投票回数が最も大きい画素を消失点として特定する処理である。
【0026】
小領域分割処理とは、上記の分割領域毎に、消失点特定処理にて特定した消失点を頂点とする領域を複数の小領域に分割し、各小領域の各々に対して、その小領域に含まれる消失点の投票元画素の比率を基に決定した通路候補パラメータを与える処理である。尚、これらフィルタリング処理、テクスチャ方向特定処理、強エッジ領域抽出処理、投票処理、消失点特定処理、及び小領域分割処理の詳細については後述する。
【0027】
小領域選別部31bは、上記の小領域形成部31aによって形成された複数の小領域の各々に与えられた通路候補パラメータに基づいて、これらの小領域を通路候補領域とそれ以外の(ノイズ成分の可能性の高い)非通路候補領域とに選別する。具体的に、この小領域選別部31bは、複数の小領域の各々に与えられた通路候補パラメータに基づいて、通路領域の一部である可能性の高い小領域を通路候補領域とし、通路領域の一部である可能性の低い小領域を非通路候補領域とする一方で、通路候補領域によって一部又は全部を囲まれた非通路候補領域の通路候補パラメータの値を高くすることで非通路候補領域を通路候補領域に変更し、また、他の通路候補領域から孤立した位置に存在する通路候補領域の通路候補パラメータの値を低くすることで当該通路候補領域を非通路候補領域に変更する。尚、このような小領域選別部31bによる小領域の選別処理(ノイズフィルタリング処理)の詳細については後述する。
【0028】
通路領域推定部31cは、上記の小領域選別部31bによる小領域の選別結果に基づいて、隣接する通路候補領域をグループ化することで得られる領域群の内、最も通路らしい領域群を入力画像に含まれる通路領域として選択する。具体的に、通路領域推定部31cは、通路候補領域のグループ化により得られる領域群の各々について、以下の(3)式に示される評価関数f(F,H,C,A)の値を求め、その値が最も大きい領域群を入力画像に含まれる通路領域として選択する。
【数3】

【0029】
但し、上記(3)式中の第1変数Fは領域群に入力画像における奥行き方向の手前側の領域が含まれるか否かを示す変数であり、第2変数Hは領域群の奥行き方向の長さを示す変数であり、第3変数Cは領域群に含まれる通路候補パラメータの値が最も大きな通路候補領域の数を示す変数であり、第4変数Aは領域群の総面積を示す変数である。また、上記(3)式中の第1重み係数k〜第4重み係数kは、第1変数F〜第4変数Aにそれぞれ乗算される係数である。尚、通路領域推定部31cによる通路領域の推定処理の詳細については後述する。
【0030】
中心線推定部31dは、上記の通路領域推定部31cによって選択された通路領域の中心線を推定する機能を有する。具体的に、中心線推定部31dは、入力画像を奥行き方向に沿って複数に分割して得られる分割領域の各々について重心を求め、最も手前側の分割領域の重心を起点として各分割領域毎に消失点に向かう直線を引くことで仮の中心線を作成すると共に仮の中心線と各重心との間の距離の2乗和を算出する。また、入力画像の横方向に沿って起点をずらしながら複数の仮の中心線を作成すると共に複数の仮の中心線の各々について各重心との間の距離の2乗和を算出し、これら2乗和の値が最も小さい仮の中心線を通路領域の中心線として選択する。そして、選択して中心線が通るブロックを中心ブロックとする。尚、中心線推定部31dによる中心線の推定処理の詳細については後述する。
【0031】
特徴量算出部32は、中心ブロック抽出部31によって複数のブロックに区分された入力画像データに対して複数種類のフィルタ処理を行い、入力画像データの評価に用いるブロック毎の特徴量をフィルタ処理の種類毎に求める。具体的には、入力画像データを一辺が20画素程度からなる正方形のブロックに区分し、各々のブロック毎に以下に示す37種類の特徴量を求める。ここで、ブロックは互いに一部重複しても良い。また、ブロックの形状も正方形だけではなく、円形などある特定の規則で生成される曲線で区切られていても良い。更に、規則性があれば同じ大きさである必要はなく、例えば、手前(画面下段)ほどその位置に比例して大きくなる区切り方などの大きさ変化を行っても良い。
(a)輝度の平均値:1種類
(b)輝度の標準偏差:1種類
(c)ガボールフィルタによって得られる特徴量:30種類
(d)センターサラウンドフィルタによって得られる特徴量:5種類
【0032】
上記(a)はブロックの明るさを表す特徴量であり、(b)はブロックの面の粗さを表す特徴量である。これらの特徴量は、特徴量算出部32が入力画像データを複数のブロックに区分した後にそれぞれ求める。上記(c)はブロックの模様の方向性を表す特徴量であり、特徴量算出部32が入力画像データを複数のブロックに区分した後に、記憶装置20からガボールフィルタF1〜F30を読み出してフィルタリングすることにより求める。上記(d)はブロックの粒度を表す特徴量であり、特徴量算出部32が入力画像データを複数のブロックに区分した後に、記憶装置20からセンターサラウンドフィルタF31〜F35を読み出してフィルタリングすることにより求める。
【0033】
尚、ガボールフィルタF1〜F30を用いたフィルタリング処理は、特徴量算出部32以外に中心ブロック抽出部31の小領域形成部31aでも行われる。本実施形態では、説明を簡単にするために、特徴量算出部32におけるフィルタ処理及び小領域形成部31aにおけるフィルタリング処理が同じガボールフィルタを用いて行われる場合を例に挙げて説明するが、勿論各々で用いられるガボールフィルタが異なっていても良い。
【0034】
中心ブロック補正部33は、学習部33a及び分類部33bを備えており、入力画像に含まれる通路領域(轍)についての事前知識を用いて、中心ブロック抽出部31で抽出された中心ブロックを補正する。中心ブロック抽出部31によって抽出される中心ブロックは轍のおおよその位置を示すものであり、より中心ブロックに適したブロックが存在する場合も考えられるため、中心ブロック抽出部31で抽出された中心ブロックを補正する中心ブロック補正部33を設けている。
【0035】
学習部33aは、サポートベクターマシンを備えており、特徴量算出部32で算出された37種類の特徴量を学習データとして用いてSVMモデルM1の作成・更新を行う。ここで、サポートベクターマシンとは、一般的には文字認識、画像認識、音声認識等のパターン認識で用いられて、サンプルのクラスを判別する空間を学習する手法をいい、サポートベクターと呼ばれる最前線のサンプルに基づいてクラスを分ける最適な判別面(境界)を求めるものである。
【0036】
図2は、学習部33aで行われる処理を説明するための図である。いま、説明を簡単にするために、特徴量算出部32で算出される37種類の特徴量のうちの2つの特徴量のみについて考え、これらを第1,第2パラメータとする。SVMモデルM1は、轍の画像についての第1,第2パラメータと、轍とは異なる画像についての第1,第2パラメータと、クラスを示す情報とからなる学習用データを学習部33aに入力し、この学習データを用いた学習が行われることにより作成される。
【0037】
ここで、轍の画像についての第1,第2パラメータが、轍とは異なる画像についての第1,第2パラメータよりも先に渡される場合には、上記のクラスを示す情報としてクラスA(先の画像に轍が含まれる可能性が高いクラス)が指定される。これに対し、轍の画像についての第1,第2パラメータが、轍とは異なる画像についての第1,第2パラメータよりも後に渡される場合には、上記のクラスを示す情報としてクラスB(後の画像に轍が含まれる可能性が高いクラス)が指定される。尚、クラスA,Bの指定はユーザによって行われる。
【0038】
図2(a)は、学習部33aに入力される学習用データの分布の一例を示す図である。図2においては、クラスAが指定された学習用データを四角印(□)で示しており、クラスBが指定された学習用データを丸印(○)で示している。尚、図2では横軸に第1パラメータをとり、縦軸に第2パラメータをとっている。学習部33aは、サポートベクターマシンを用いて、図2(b)に示す通り、クラスAが指定された学習用データとクラスBが指定された学習用データとの境界Z1示すSVMモデルM1を作成する。ここで、境界Z1は、Aクラスが指定された学習用データのうちの境界Z1に最も近い学習用データとの距離(マージン)m1と、Bクラスが指定された学習用データのうちの境界Z1に最も違い学習用データとの距離m2とが最大になるように求められる。
【0039】
尚、ここでは説明を簡単にするために、2つのパラメータのみを考えている。よって、学習部33aで求められる境界Z1は、図2(b)に示す通り、二次元平面内における直線で表すことができる。しかしながら、学習部33aは、実際には74個(37個+37個)のパラメータを用いて学習を行うため、求められる境界は74次元の空間を仕切る境界となり、SVMモデルM1はこの境界を表す境界情報になる。
【0040】
このように、多くのパラメータを用いる場合には、学習用データの分布が極めて複雑になり、境界を求めるのが困難になる場合が考えられる。このため、境界を求める際に、以下の(A),(B)に示す手法を用いても良い。
(A)学習用データの境界からの「はみ出し」を許容する(ソフトマージン)
(B)学習用データをカーネル関数と呼ばれる関数で変換することで非線形に拡張する
【0041】
上記(A)の手法では、「はみ出し」を許容する量を示す新たなパラメータ「C」を導入する。このパラメータ「C」の値が小さい程、「はみ出し」が許容される範囲が大きくなる。また、上記(B)の手法を用いることで、複数の曲線状の境界を生成することができ、いわゆる「飛び地」状になっている学習用データも良好に分けることができるようになる。上記のカーネル関数としては、例えばガウシアンカーネルと呼ばれる種類のカーネルを用いることができる。ガウシアンカーネルを用いた場合には、パラメータ「σ」を調整することで境界の滑らかさを調整することができる。パラメータ「σ」の値が大きい程、境界線が滑らかになり、境界線の本数を少なくすることができる。
【0042】
以上の(A),(B)に示す手法を用いることによって、図2(c)に示す通り、3本の曲線状の境界線Z11〜Z13を求めることができる。ここで、図2(c)を参照すると、境界線Z11と境界線Z12との間において、クラスBが指定された学習用データ(丸印で示されたデータ)の1つが、クラスAが指定された学習用データ(四角印で示されたデータ)に混じっていることが分かる。これは、上記(A)の手法の「はみ出し」を許容した結果である。
【0043】
分類部33bは、中心ブロック抽出部31で抽出された中心ブロックについての37種類の特徴量、中心ブロック以外のブロックについての37種類の特徴量、及び記憶装置20から読み出したSVMモデルM1を用いて、それら2つのブロックをクラスA又はクラスBに分類する。この分類を行うことによって、中心ブロック特定部33で特定された中心ブロックが轍らしいのか、又は中心ブロック以外のブロックが轍らしいのかを判別することが可能になる。
【0044】
本実施形態では、以上の分類を行うことで、中心ブロック特定部33で特定された中心ブロックが轍であるか否かを、その中心ブロック以外のブロックを参照して判別する処理と同等の処理が結果として行われることになる。これにより、例えば、車載カメラから得られた画像が、小石を敷き詰めた様な模様がある領域が草地に挟まれている画像である場合、及び同模様の領域が土の領域に挟まれている画像である場合の何れの場合であっても、轍を正確に判別することが可能になる。
【0045】
通路領域検出部34は、第1算出部34a(第1算出手段)、第2算出部34b(第2算出手段)、重み決定部34c(重み決定手段)、及び抽出部34d(ブロック抽出手段)を備えており、中心ブロックの特徴量と同様の特徴量を有する領域(ブロック)を入力画像から抽出することによって通路領域を検出する。具体的には、特徴量算出部32で求められた特徴量の重み付けを行うことによって、中心ブロックの特徴量と同様の特徴量を有するブロックを抽出する。
【0046】
第1算出部34aは、中心ブロック補正部33で補正された中心ブロックと、この中心ブロックの左右方向に隣接するブロック(学習ブロック)とを基準ブロックとし、基準ブロックについての特徴量の平均値及び標準偏差を特徴量の種類毎に求める。第2算出部34bは、全てのブロックについての特徴量の平均値を特徴量の種類毎に求める。尚、第2算出部34bが平均値を求める際には、必ずしも全てのブロックを用いる必要はない。例えば、轍の抽出に全く関与しない画像(例えば、地平線の上方の画像)が含まれるブロックを除外し、残りのブロックについての特徴量の平均値を求めるのが望ましい。
【0047】
重み決定部34cは、第1算出部34aで求められた基準ブロックについての平均値と第2算出部34bで求められた複数のブロックの全てについての平均値との差が大きな特徴量については重みが重くなるように特徴量毎の重みを決定する。また、第1算出部34aで求められた基準ブロックについての標準偏差が小さな特徴量については重みが重くなるように特徴量毎の重みを決定する。
【0048】
ここで、第1算出部34aで求められる基準ブロックについてのi番目(iは1≦i≦37を満たす整数)の特徴量の平均値及び標準偏差をそれぞれμ^,σ^とし、第2算出部34bで求められる複数のブロックの全てについての特徴量の平均値をμとし、a,b,cを任意の定数とする。尚、表記の都合上、上記の記号「μ^」は、文字「μ」の上部にハット記号「^」が付された記号であることを意味している。同様に、上記の記号「σ^」は、文字「σ」の上部にハット記号「^」が付された記号であることを意味している。重み決定部34cは、以下の(4)式を用いてi番目の特徴量毎の重みw′を決定する。
【数4】

【0049】
上記(4)式を参照すると、右辺第1項は基準ブロックにおける特徴量の全体に対する偏りを表しており、右辺第2項はその特徴量の基準ブロック内での広がりを表している。右辺第1項が大きく右辺第2項が大きい場合には、その特徴量は基準ブロックとそれ以外のブロックとの間では値が大きく異なる一方で、基準ブロック間では近い値になる。このため、このような特徴量は、未舗装路の轍の特徴を良く表していると考えられるため重みを大きくしている。
【0050】
また、上記(4)式を参照すると、重みw′は負の値をとる場合がある。重み決定部34cは、得られた重みw′が負の値である場合には、その値を零に決定する。また、どのような画像であっても重みほぼ零に近い特徴量については、精度を保ったまま処理に要する時間を短縮するために削除する処理を行う。更に、重み決定部34cは、以下の(5)式を用いて正規化した重みwを求める。
【数5】

【0051】
また、各ブロックの特徴量の分布は、図3に示す通り、平均値μに関して対称ではなく、偏った分布になることが多い。図3は、特徴量の分布の一例を示す図である。具体的に、特徴量の分布は、図3中の符号Dを付した曲線の通り、値が平均値μよりも小さな領域では分布が広くなり、値が平均値μよりも大きな領域ではμ+2σ程度の範囲に集中する分布になる。
【0052】
このため、重み決定部34cは、以下の(6)式を用いて各特徴量を正規化するための正規化係数sも求める。
【数6】

尚、分布の偏りのない特徴量を用いる場合や、基準ブロックのサンプル数が多く特徴量の分布が正確に分かる場合には、必ずしも上記の正規化係数sを求める必要はなく、別の正規化方法を用いることができる。
【0053】
抽出部34dは、重み決定部34cで重み付けされた特徴量を用いて画像に含まれる未舗装路の轍を抽出する。具体的に、処理対象のブロックにおけるi番目の特徴量の値をf、中心ブロックにおけるi番目の特徴量の値をfciとすると、抽出部34dは、以下の(7)式に示す評価関数Eの値が所定値Tよりも大きい場合に、その処理対象のブロックに轍の画像が含まれると評価してそのブロックを抽出する。尚、上記の所定値Tは、前述した(4)式中の変数a,b,cの値や、轍の画像の性質に応じて適宜設定される。
【数7】

【0054】
RAM40は、画像処理装置30が各種画像処理を実行する上で必要なデータや、上記の入力画像データを必要に応じて一時的に記憶するために使用される書換え可能な揮発性メモリである。
【0055】
次に、上記構成における通路検出装置1の動作について説明する。通路検出装置1の動作は、SVMモデルM1を作成する学習動作と、車載カメラから得られる画像から轍を抽出して通路領域を検出する検出動作とに大別される。尚、検査動作時には、不図示の車載カメラ及び通路検出装置1を搭載する車両が未舗装路を走行しており、車載カメラからは轍が写り込んだ入力画像が得られるものとする。以下、学習動作及び検出動作について順に説明する。
【0056】
〔学習動作〕
図4は、学習動作を説明するための図である。尚、学習動作は、通路領域を検出する検出動作に先だって予め行われる動作である。まず、図4(a)に示す通り、轍が写り込んでいる画像G1〜Gnがユーザによって複数用意される。具体的には、小石を敷き詰めた様な模様がある領域が草地に挟まれている画像、或いは同模様の領域が土の領域に挟まれている画像等の複数種類の画像が用意される。尚、この画像は不図示の車載カメラから得られる画像であるのが望ましいが、他のカメラで撮影した画像であっても良い。
【0057】
次いで、用意された画像G1〜Gnの各々を順に特徴画像抽出装置1に入力する。入力された画像G1〜Gnは、A/Dコンバータ10に順に入力されてディジタルデータに変換され、入力画像データとして画像処理装置30に出力される。A/Dコンバータ10からの入力画像データは、中寝具ロック抽出部31に入力されて図4(a)に示す通り複数のブロックBに区分される。図4(a)に示す例では横方向に約30、縦方向に約23のブロックBに区分されている。
【0058】
画像G1〜Gnの区分が終了すると、画像G1〜Gnの評価に用いるブロック毎の特徴量をフィルタ処理の種類毎に求める処理が特徴量算出部32で行われる。具体的に、特徴量算出部32は、区分したブロック毎の輝度の平均値及び輝度の標準偏差を自身の演算によって求める。これにより、各ブロックの明るさを示す特徴量と各ブロックの面の粗さを表す2種類の特徴量が求められる。
【0059】
また、特徴量算出部32は、記憶装置20からガボールフィルタF1〜F30を読み出してブロックに区分された入力画像データをフィルタリングすることにより、各ブロックの模様の方向性を表す30種類の特徴量を求める。更に、記憶装置20からセンターサラウンドフィルタF31〜F35を読み出してブロックに区分された入力画像データをフィルタリングすることにより、各ブロックの粒度を表す5種類の特徴量を求める。以上の処理を行うことによって、37種類の特徴量がブロック毎に求められる。
【0060】
以上の処理が終了すると、複数のブロックBに区分された画像G1〜Gnの各々について、ユーザの指示により轍の画像が含まれるブロック(轍ブロック)と、轍の画像が含まれないブロック(非轍ブロック)とが特定され、図4(b)に示す学習用データD1,D2を作成する処理が行われる。ここで、学習用データD1はクラスAが指定された学習用データであり、学習用データD2はクラスBが指定された学習用データである。
【0061】
学習用データD1は、ユーザがクラスAの学習用データを作成すべき旨を指示した後に、轍ブロック(例えば、図4(a)に示す画像G1のブロックB11)及び非轍ブロック(例えば、図4(a)に示す画像G1のブロックB21)を順に指定することで作成される。かかる指定を行うと、図4(b)に示す通り、轍ブロックであるブロックB11の37種類の特徴量、非轍ブロックであるブロックB21の37種類の特徴量、及びクラスAを示す情報が順に並べられた学習用データD1が作成される。
【0062】
学習用データD2は、ユーザがクラスBの学習用データを作成すべき旨を指示した後に、非轍ブロック(例えば、図4(a)に示す画像G1のブロックB22)及び轍ブロック(例えば、図4(a)に示す画像G1のブロックB12)を順に指定することで作成される。かかる指定を行うと、図4(b)に示す通り、非轍ブロックであるブロックB22の37種類の特徴量、轍ブロックであるブロックB12の37種類の特徴量、及びクラスBを示す情報が順に並べられた学習用データD2が作成される。
【0063】
ユーザが以上の手順を繰り返し、画像G1〜Gnの各々について様々なブロックの組み合わせを指示することにより、多種多様のブロックの組み合わせについての学習用データD1,D2が作成される。ユーザの指示に基づいて作成された学習用データD1,D2は中心ブロック補正部33の学習部33aに入力される。そして、図2を用いて説明した手法により、クラスAとクラスBとの境界を示す境界線情報であるSVMモデルM1を作成する処理が行われ、かかる処理によって作成されたSVMモデルM1は記憶装置20に記憶される。尚、一度SVMモデルM1を作成した後に、新たな学習用データD1,D2を用いて学習部33aで学習させると、記憶装置20に記憶されたSVMモデルM1は更新される。
【0064】
〔検出動作〕
図5は、検出動作の全体的な流れを示すフローチャートである。尚、図5に示すフローチャートは、車両の走行中に所定の時間間隔で繰り返し実行される。検出動作が開始されると、車載カメラから入力画像がA/Dコンバータ10に入力されてディジタルデータに変換され、入力画像データとして画像処理装置30に出力される。そして、まず通路領域としての轍のおおよその位置を示す中心ブロックを抽出する処理が行われる(ステップS1:抽出ステップ)。図6は中心ブロックを抽出する処理の詳細を示すフローチャートであり、図7は車載カメラから得られる入力画像の一例を示す図である。ここでは、図7(a)に示す通り、轍が写り込んだ入力画像が得られたとする。
【0065】
また、以下では、図7(b)に示す通り、入力画像の横方向をX軸方向、縦方向をY軸方向とし、入力画像の座標(X,Y)=(0,0)〜(639,479)の各画素に対応する輝度データをB(0,0)〜B(639,479)と表記する。つまり、入力画像データは、これら輝度データB(0,0)〜B(639,479)の集合である。このような入力画像データは、画像処理装置30によってRAM40に一旦記憶される。
【0066】
図6に示す処理が開始されると、まず画像処理装置30の中心ブロック抽出部31に設けられた小領域形成部31aは、RAM40から入力画像における通路検出対象領域に相当する入力画像データを読み出すとともに、記憶装置20からガボールフィルタF1〜F30を読み出し、各ガボールフィルタF1〜F30を用いて入力画像データをフィルタリングすることにより、各方向の強度分布データを生成する(ステップS21:フィルタリング処理)。
【0067】
本実施形態では、入力画像の全領域が上記の通路検出対象領域に設定されている場合を例示して説明する。つまり、RAM40から入力画像の全領域に相当する入力画像データが読み出される。尚、入力画像から水平線を抽出可能である場合には、その水平線より下の領域(つまり地面の領域)を通路検出対象領域として設定しても良い。このように、確実に通路が存在すると推定される領域のみを通路検出対象領域とすることにより、以下で説明する画像処理の負荷を軽減でき、処理時間を短縮することができる。
【0068】
図8は、小領域形成部31aのフィルタリング処理に関する説明図である。図8(a)に示す通り、小領域形成部31aは、ガボールフィルタF1〜F30を用いたフィルタリング処理として、入力画像において、ある画素を中心画素とする畳み込み領域に含まれる各画素の輝度データと、ガボールフィルタ、つまり2次元ガボール関数GB(x,y)との畳み込み演算を行い、その演算結果をガボールフィルタの方向パラメータφに対応する中心画素の強度として取得する。
【0069】
つまり、小領域形成部31aは、まず、ある画素を中心画素とする畳み込み領域に含まれる各画素の輝度データとガボールフィルタF1との畳み込み演算を行い、その演算結果をガボールフィルタF1の方向パラメータφ1に対応する中心画素の強度として取得する。ここで、各ガボールフィルタF1〜Fnを、実数部のフィルタと虚数部のフィルタとに分けて作成しておくことにより、実数部のフィルタを用いて得られた強度と、虚数部のフィルタを用いて得られた強度とをそれぞれ2乗して加算し、その加算値の平方根を求めることで最終的な強度を取得することができる。
【0070】
続いて、小領域形成部31aは、ガボールフィルタF2に切り替えて同様に畳み込み演算を行い、その演算結果をガボールフィルタF2の方向パラメータ φ2に対応する中心画素の強度として取得する。以下、同様に、小領域形成部31aは、ガボールフィルタを順次切り替えながら畳み込み演算を行うことにより、その演算結果を各ガボールフィルタF1〜Fnの方向パラメータφ1〜φnに対応する中心画素の強度として取得する。
【0071】
小領域形成部31aは、上記のようなフィルタリング処理を、入力画像の座標(0,0)〜(639,479)の各画素のそれぞれについて行うことにより、図8(b)に示すような各方向の強度分布データを生成してRAM40に記憶する。尚、図8(b)では、座標(0,0)〜(639,479)の各画素のそれぞれを中心画素として得られた強度データをI(0,0)〜I(639,479)として表記している。
【0072】
尚、図8(a)から分かる通り、入力画像の端部に近い画素を中心画素とする場合、畳み込み領域が入力画像からはみ出てしまうため、この場合には予め設定した輝度データ(例えば白データ等)を入力画像からはみ出ている畳み込み領域の輝度データとして使用すれば良い。また、畳み込み領域の大きさは、検出対象の通路の大きさに応じて適宜変更すれば良いが、例えば幅25cm〜50cmの車輪跡に相当する轍を検出対象とする場合には、その幅に相当する画素数(32画素)以上の大きさ、例えば50×50画素の大きさとすることが望ましい。
【0073】
以上説明したステップS21の処理が終了すると、小領域形成部31aは、RAM40から各方向の強度分布データを読み出し、それら強度分布データを基に入力画像における各画素のテクスチャ方向を特定する(ステップS22:テクスチャ方向特定処理)。具体的には、例えば座標(0,0)の画素に着目した場合、各方向の強度分布データの中から強度データI(0,0)が最も大きいものを探索し、その最大の強度データI(0、0)を含む強度分布データに対応する方向を、座標(0,0)の画素のテクスチャ方向として特定する。例えば、方向φ3に対応する強度分布データに最大の強度データI(0,0)が含まれている場合、方向φ3が座標(0,0)の画素のテクスチャ方向となる。
【0074】
小領域形成部31aは、上記のようなテクスチャ方向の特定処理を、座標(0,0)〜(639,479)の各画素について行うことにより、各画素のテクスチャ方向を特定し、その特定結果をRAM40に記憶する。図9は、小領域形成部31aのテクスチャ方向特定処理に関する説明図であって、(a)は各画素のテクスチャ方向の特定結果であり、(b)は入力画像とテクスチャ方向の特定結果とを重ねて表示したものである。尚、この図5では、説明の便宜上、テクスチャ方向の特定結果を、テクスチャ方向を指し示すベクトル線で表しているが、実際にはテクスチャ方向の特定結果は、その方向を表す値(例えばテクスチャ方向がφ1であればφ1の値)によって構成されている。
【0075】
不整地上に存在する轍等の通路は、車両が複数回その場所を走行することにより、地面や草むらが踏み起こされたり、踏み固められたりした結果残るものであるため、図7(a)に示す通り、その痕跡は入力画像上において不連続且つ不明瞭な帯状やスジ状の疎らな領域として観察される。そこで、上述した入力画像の波の成分を抽出するステップS21及びステップS22の処理を実施することより、通路を形成する模様の間隔は不定でなだらかではあるが、通路の進行方向に平行な波の成分として捕らえることができる。
【0076】
以上説明したステップS22の処理が終了すると、小領域形成部31aは、入力画像データを基に所定のエッジ検出処理を行うことにより、入力画像に存在する強エッジ領域を抽出し、その抽出結果をRAM40に記憶する(ステップS23:強エッジ領域抽出処理)。ここで、強エッジ領域の抽出手法としては公知の技術を採用することができる。例えば、X軸方向のソベルフィルタとY軸方向のソベルフィルタを適用して、それらの強度の2乗和が一定の閾値を超えた画素を探索し、その閾値を超えた画素から一定距離以内の領域を強エッジ領域として抽出する。
【0077】
上記ステップS22の処理が終了すると、小領域形成部31aは、入力画像における各画素のそれぞれを投票元画素として順次選択し、当該投票元画素を起点としそのテクスチャ方向に平行な直線上に存在する画素に対して投票を行う(ステップS24:投票処理)。図10〜図12は、小領域形成部31aの投票処理に関する説明図である。小領域形成部31aは、まず、図10に示す通り、RAM40のメモリ空間上に、投票回数を集計するための投票集計領域を入力画像と同サイズ(つまり、640×480画素数分の投票回数を集計可能なサイズ)で確保する。
【0078】
そして、小領域形成部31aは、図11(a)に示す通り、ある画素を投票元画素として選択した場合、各画素のテクスチャ方向の特定結果から投票元画素のテクスチャ方向を把握し、投票元画素を起点としそのテクスチャ方向に平行な直線上に存在する画素(投票対象画素)に対して投票を行い、その投票結果を図11(b)に示す通りRAM40上の投票集計領域に反映する。つまり、図11(b)から分かるように、RAM40上の投票集計領域において投票対象画素に対応する記憶領域に投票値「1」が加算される。
【0079】
小領域形成部31aは、上記のような投票処理を各画素について行い、その投票結果を順次RAM40上の投票集計領域に反映する。ここで、小領域形成部31aは、上記のような投票処理を行う際、強エッジ領域抽出処理にて抽出された強エッジ領域の周辺(例えば、2画素以内)に含まれる画素を投票元画素から除外する。この理由については後述する。
【0080】
尚、上述の投票処理では、投票元画素を起点としそのテクスチャ方向に平行な直線上に存在する投票対象画素に対して投票を行う場合を説明したが、これに限らず、投票元画素を起点としてそのテクスチャ方向に沿うように設定された投票対象領域に含まれる画素(投票対象画素)に対して投票を行うようにしても良い。この投票対象領域は、例えば図12(a)に示すように、テクスチャ方向に平行な帯状(長方形状)のものでも良いし、また、図12(b)に示すように、円弧状或いは三角形状のものでも良い。
【0081】
ここで、図12(a)に示すような帯状の投票対象領域を設定する場合には、上述したテクスチャ方向に平行な直線上に存在する投票対象画素に対して投票を行う場合と同様に、投票対象領域に含まれる投票対象画素のそれぞれに対して平等に投票すれば良い。つまり、RAM40上の投票集計領域において、各投票対象画素に対応する記憶領域に平等に投票値「1」を加算する。
【0082】
これに対し、図12(b)に示すような円弧状或いは三角形状の投票対象領域を設定する場合には、投票元画素と投票対象画素との間の距離に応じて投票値を変更することが望ましい。具体的には、投票元画素から遠い距離に位置する投票対象画素の投票値を小さくする(例えば、投票値=1/投票元画素からの距離)。つまり、投票元画素に近い位置の投票対象画素の投票値は「1」又は「1」に近い値となるが、投票元画素から遠い位置の投票対象画素の投票値は「0.5」等の小数点以下の値となる。更には、投票対象領域において同じ距離に位置する投票対象画素の総投票値が「1」となるように各投票対象画素の投票値を決定することが望ましい。つまり、例えば同じ距離に位置する投票対象画素が4つ存在すると仮定すると、それら4つの各投票対象画素に対する投票値をそれぞれ「0.25」とする。
【0083】
このように円弧状或いは三角形状の投票対象領域を設定した場合に、投票元画素と投票対象画素との間の距離に応じて投票値を変更する理由は、投票元画素から遠い位置にある投票対象画素は、他の投票対象領域と重なり合う確率が高く、近い位置にある投票対象画素と比べて投票されやすい傾向にあり、後述する消失点を正確に特定することが困難となるためである。また、円弧状或いは三角形状の投票対象領域を設定した場合、その中心角度(投票元画素を起点とする角度)は、ガボールフィルタF1〜Fnの方向パラメータφの変化分と同一にすることが望ましい。
【0084】
続いて、小領域形成部31aは、図13に示す通り、投票処理による投票結果(つまり、RAM40上の投票集計領域に集計された投票回数)を基に、投票回数が最も大きい画素を入力画像における消失点として特定する(ステップS25:消失点特定処理)。図13,図14は、小領域形成部31aの消失点特定処理に関する説明図である。轍等の通路の波模様は車両等から見ると完全に平行ではないが同じ消失点を共有していると推測される。このため、上記のような投票処理によって消失点と推測される位置(画素)に投票を行い、統計的に通路と平行している波模様が多い検出結果を活用することにより、消失点を特定することができる。
【0085】
ここで、入力画像において通路以外に、例えば木や電柱、看板等のコントラストの高い物体が写り込んでいた場合、それらの模様は上記の投票回数の集計に大きな影響を及ぼすことになる。そこで、上述したように、投票処理を行う際には、強エッジ領域抽出処理にて抽出された強エッジ領域に含まれる画素を投票元画素から除外することにより、木や電柱、看板等のコントラストの高い物体の延長線上が消失点として特定されることを防止することができる。
【0086】
ところで、図13に示す通り、入力画像中に存在する轍等の通路が水平線に向かって一直線に延びているような場合では消失点が1箇所において特定されることになるが、図14に示す通り、入力画像中に存在する通路がカーブしているような場合には、入力画像の奥行き方向に沿って消失点の特定箇所が変化することになる。このような場合、入力画像の全領域(通路検出対象領域の全領域)を一度に処理すると、正確な消失点を得ることができなくなる。
【0087】
そこで、上述の投票処理及び消失点特定処理を、図15に示す通り、通路領域検出対象領域(ここでは入力画像の全領域)を奥行き方向に沿って複数(M個)に分割して得られる長方形状の分割領域ごとに行うことが望ましい。図15,図16は、小領域形成部31aの小領域分割処理に関する説明図である。以下では、この分割領域をスライスと呼び、入力画像の最下段から最上段までの各スライスの符号をSL0〜SLMとする。つまり、各スライスSL0〜SLMの各々について上述の投票処理及び消失点特定処理を行うことにより、各スライスSL0〜SLMの各々について消失点が得られることになる。尚、図15では、スライスSL0の消失点P0とスライスSL1の消失点P1とを代表的に図示している。
【0088】
続いて、小領域形成部31aは、図15に示す通り、各スライスSL0〜SLMの各々を、それぞれの消失点を頂点として放射状に引かれた複数の直線とスライスの境界線とで囲まれた複数(N個)の小領域に分割し、各小領域の各々に対して、その小領域に含まれる消失点の投票元画素の比率を基に決定した通路候補パラメータを与える(ステップS26:小領域分割処理)。各スライスSL0〜SLMの各々に存在する轍等の通路は、全てその消失点に向かう直線で表されるため、上記の小領域のいずれかに通路が存在すると推定される。
【0089】
尚、上記の通路候補パラメータは、入力画像に含まれる通路領域を推定するために必要な通路推定情報の1つであり、通路領域の一部である可能性の高さを示すパラメータである。小領域の各々に設定する通路推定情報としては、例として以下の5つが挙げられる。
(1)その小領域のY方向(縦方向)インデックスIdy
(2)その小領域のX方向(横方向)インデックスIdx
(3)その小領域の消失点座標
(4)その小領域の通路検出強度(通路候補パラメータ:0,1,2の何れかの数値)
(5)その小領域の上下端座標
【0090】
ここで、小領域のY方向インデックスIdyとは、その小領域のY方向の位置を示すパラメータであり、例えば、図15に示す通り、スライスSL0に存在する全ての小領域のY方向インデックスIdyは「0」となる。また、小領域のX方向インデックスIdxとは、その小領域のX方向の位置を示すパラメータであり、例えば、図15に示すように、スライスSL0に存在する左端の小領域のX方向インデックスIdxは「0」となる。
【0091】
小領域の消失点座標とは、その小領域が存在するスライスの消失点の座標であり、例えば、図15に示す通り、スライスSL0に存在する全ての小領域の消失点座標は、スライスSL0の消失点P0の座標となる。また、小領域の通路検出強度とは、通路候補パラメータに相当し、「0」がその小領域が通路領域の一部である可能性が最も低く、「2」がその小領域が通路領域の一部である可能性が最も高いことを示している。
【0092】
具体的に、小領域形成部31aは、小領域の通路検出強度を以下のように決定する。つまり、小領域形成部31aは、まず、各小領域の各々について、その小領域に含まれる画素からその消失点の投票元画素(消失点を向いているテクスチャ方向を有する画素)を有効投票画素(共通項)として抽出する。そして、小領域形成部31aは、その小領域に含まれる有効投票画素数を、その小領域に含まれる全画素数で除算することにより、その小領域における有効投票画素の比率rを算出する。そして、小領域形成部31aは、上記のように算出した有効投票画素の比率rと第1閾値TH1及び第2閾値TH2(ただし、TH1<TH2)とを比較し、r<TH1の場合にはその小領域の通路検出強度を「0」とし、TH1≦r<TH2の場合にはその小領域の通路検出強度を「1」とし、r≧TH2の場合にはその小領域の通路検出強度を「2」とする。尚、ここでは、消失点を向いているテクスチャ方向を有する画素を有効投票画素(共通項)としたが、小領域の周辺で最も多い向きのテクスチャ方向に一致する画素を有効投票画素とするなど、様々な共通性を利用しても良い。
【0093】
図16に示す通り、以下では、その小領域の通路検出強度が「2」の場合、つまりその小領域が通路領域の一部である可能性が最も高い場合には、その通路を濃い色で消失点に向かう1本の直線で表現し、その小領域の通路検出強度が「1」の場合、つまりその小領域が通路領域の一部である可能性がある場合には、その通路を薄い色で消失点に向かう1本の直線で表現するものとする。また、その小領域の通路検出強度が「0」の場合、つまりその小領域が通路領域の一部である可能性が最も低い場合には、通路を示す直線を描画しないものとする。
【0094】
以上説明したステップS26の処理が終了すると、中心ブロック抽出部31に設けられた小領域選別部31bは、各小領域に与えられた通路推定情報(特に通路検出強度)に基づいて、これらの小領域を通路候補領域(通路検出強度が「1」以上の小領域)とそれ以外の非通路候補領域(通路検出強度が「0」の小領域)とに選別する(ステップS27:ノイズフィルタリング処理)。図17〜図19は、小領域選別部31bのノイズフィルタリング処理に関する説明図である。
【0095】
小領域選別部31bは、図17に示す通り、処理対象の小領域Wに対して、隣接する6つの小領域a,b,c,d,e,fに設定された通路検出強度を参照する。尚、これら6つの小領域a〜fとしては、各々の中心線の位置を基準に、処理対象の小領域Wの左上、右上、左、右、左下、右下に位置する最も近い小領域を選択する。そして、小領域選別部31bは、上記の6つの小領域a〜fに関して以下の通路候補追加条件を満たす場合に、処理対象の小領域Wの通路検出強度を「1」に変更する。
【0096】
つまり、この時の処理対象の小領域Wは通路候補領域として選別され、通路候補領域の1つとして追加される。
通路候補追加条件:
(a or b)+ c + d + (e or f) ≧ 3
且つ
処理対象の小領域Wの通路検出強度が「0」
ここで、a〜fは、6つの小領域a〜fの通路検出強度が「1」以上の時に「1」、通路検出強度が「0」の時に「0」となる変数である。また、(a or b)は、aかbの少なくとも一方が「1」以上の時に「1」、両方が「0」の時に「0」となる論理式である。
【0097】
一方、小領域選別部31bは、上記の6つの小領域a〜fに関して以下の通路候補削除条件を満たす場合に、処理対象の小領域Wの通路検出強度を「0」に変更する。つまり、この時の処理対象の小領域Wは非通路候補領域(ノイズ成分)として選別され、通路候補領域から削除される。
通路候補削除条件:
a=0 且つ b=0 且つ e=0 且つ f=0
または
c=0 且つ d=0
【0098】
上記のような通路候補追加条件及び通路候補削除条件によって処理対象の小領域は、図18に示す通り、通路候補領域と非通路候補領域とに選別される。図18(a)は処理対象の小領域Wの通路検出強度が「0」から「1」に変更される場合(通路候補領域として選別される場合)を示し、図18(b),(c)は処理対象の小領域Wの通路検出強度が「1」から「0」に変更される場合(非通路候補領域として選別される場合)を示し、図18(d)は処理対象の小領域Wの通路検出強度が「0」のまま変わらない場合を示している。尚、図中の数字はその小領域の通路検出強度を示している。
【0099】
小領域選別部31bは、上記のようなノイズフィルタリング処理を入力画像中の全ての小領域について順番に実施すると共に、全ての小領域の通路検出強度が変化しなくなるまでこの処理を繰り返す。例え通路検出強度が「1」以上の小領域であっても、他の通路候補領域である小領域の集団から孤立した位置に存在する小領域であれば、草や樹木等の誤検出によるノイズ成分であると考えられるため、上記のようなノイズフィルタリング処理を行うことにより、ノイズ成分である小領域を通路候補領域から除去することができる。
【0100】
一方、例え通路検出強度が「0」の小領域であっても、周りを通路検出強度が「1」以上の小領域によって囲まれている場合には通路領域の一部である可能性が高い。このため、そのような通路検出強度が「0」の小領域を通路検出強度「1」の小領域に変更して通路候補領域に追加することにより、精度良く通路領域の一部である小領域(通路候補領域)を抽出することができる。
【0101】
以上のノイズフィルタリング処理を行う前の各小領域に設定された通路検出強度を基に各小領域に存在する通路を直線で表現したものを図19(a)に示し、ノイズフィルタリング処理を行った後の各小領域の通路検出強度を基に各小領域に存在する通路を直線で表現したものを図19(b)に示す。これらの図に示す通り、ノイズフィルタリング処理を行うことにより、他の通路候補領域である小領域の集団から孤立した位置に存在する小領域はノイズ成分として除去されていることが分かる。
【0102】
図19(b)に示す通り、ノイズフィルタリング処理後の通路候補領域(ノイズフィルタリング処理により通路検出強度が「1」以上となった小領域)は、いくつかの連続した集団を形成している場合が多い。そこで、中心ブロック抽出部31に設けられた通路領域推定部31cは、互いに隣接している通路候補領域をグループ化することにより、連続した通路候補領域の領域群(以下、クラスタと称す)を作成する(ステップS28:クラスタリング処理)。
【0103】
具体的に、通路領域推定部31cは、それぞれのクラスタを別々に取り扱うために、ラベリングの手法を用いて、クラスタ固有のIDを各通路候補領域に与える処理を行う。図20,図21は、通路領域推定部31cのクラスタリング処理に関する説明図である。この図20(a)に示す通り、クラスタリング処理の途中状態では、通路領域推定部31cは、最上段のスライスSLMにおける左端の小領域からX方向に順番に通路検出強度を確認し、その小領域が通路候補領域(通路検出強度が「1」以上)であればクラスタIDを与え、その小領域が非通路候補領域(通路検出強度が「0」)であればクラスタIDを与えない。
【0104】
尚、通路候補領域にクラスタIDを与える場合、以下の3つの規則に従うものとする。
(1)周囲にクラスタIDを持った小領域が無い場合、新しいクラスタIDを与える(図20(a)参照)。
(2)周囲にクラスタIDを持った小領域が1つ存在する場合、それと同じクラスタIDを与える(図20参照)。
(3)周囲にクラスタIDを持った領域が2つ以上存在する場合、最も若い番号のクラスタIDを与え、これらのクラスタIDが同一のものであると記録しておく(図20(b)参照)。
【0105】
通路領域推定部31cは、上記の3つの規則に従って入力画像中の全ての通路候補領域にクラスタIDを与えた後、もう一度、入力画像全体を走査することにより、同一であると記録したクラスタIDを1つのクラスタID(最も若い番号のクラスタID)に置き換える。以上のようなクラスタリング処理によって、互いに隣接している通路候補領域に同一のクラスタIDが与えられてグループ化され、連続した通路候補領域の領域群であるクラスタが作成される。図21に示す通り、クラスタリング処理によって入力画像中に存在する通路候補領域が3つのクラスタCL1,CL2,CL3にグループ化されていることが分かる。
【0106】
続いて、通路領域推定部31cは、上記のクラスタリング処理によって作成されたクラスタから最適なクラスタ(最も轍等の通路らしいクラスタ)を、入力画像に含まれる通路領域として選択する(ステップS29:最適クラスタ選択処理)。具体的には、通路領域推定部31cは、前述した(3)式で示される評価関数f(F,H,C,A)を用いて最適なクラスタ(以下、最適クラスタと称す)を選択する。尚、本実施形態では、第1重み係数k=10000、第2重み係数k=1000、第3重み係数k=50、第4重み係数k=1としている。
【0107】
図22,図23は、通路領域推定部30cの最適クラスタ選択処理に関する説明図である。図22に示す通り、上記の評価関数f(F,H,C,A)において、Fは現在地との連続性を示す第1変数であり、評価対象のクラスタが最も手前(最下段)のスライスSL0を含んでいる時に「1」、含んでいない時に「0」となる。また、Hは奥行き方向の長さを示す第2変数であり、評価対象のクラスタに含まれるスライス数で表される。また、Cは有力な通路候補領域の数を示す第3変数であり、評価対象のクラスタに含まれる通路検出強度「2」の通路候補領域の数で表される。また、Aは総面積を示す第4変数であり、評価対象のクラスタに含まれる通路検出強度「1」及び「2」の通路候補領域の数で表される。
【0108】
上述した通り、評価関数f(F,H,C,A)において現在地との連続性を示す第1変数であるFに最も大きな重み付け係数kが与えられている。これは、評価対象のクラスタが現在地(入力画像の最も手前側の領域)との連続性を有している場合には、その評価対象のクラスタは轍等の通路である可能性が極めて高いからである。尚、上述した重み付け係数k〜kの値は一例であり、実験等を行って適宜決定すれば良い。
【0109】
通路領域推定部31cは、例えば図21に示した通り、クラスタリング処理によって3つのクラスタCL1,CL2,CL3が作成されているとすると、これら3つのクラスタCL1,CL2,CL3の各々について上記の評価関数f(F,H,C,A)の値を求め、この値が最も大きいクラスタを最適なクラスタ(入力画像に含まれる通路領域)として選択する。3つのクラスタCL1,CL2,CL3のうち、クラスタCL3が最も手前側(最下段)のスライスSL0を含んでいるため、評価関数f(F,H,C,A)の値が最も大きくなる。このため、図23に示す通り、クラスタCL3が最適なクラスタ(入力画像に含まれる通路領域)として選択されることになる。
【0110】
次に、中心ブロック抽出部31に設けられた中心線推定部31dは、上記の最適クラスタ選択処理によって選択された最適クラスタ、つまり入力画像に含まれる通路領域の中心線を推定する(ステップS30:中心線推定処理)。図24は、中心ブロック抽出部31における中心線推定部30dの中心線推定処理を表すフローチャートである。図24に示す通り、中心線推定部31dは、まず、各スライスSL0〜SLMの重心を算出する(ステップS30a)。
【0111】
具体的には、スライス内に存在する小領域を台形としてそれぞれの重心の位置を求め、それらの位置を通路検出強度で重みを付けて平均化して得られる位置を、そのスライス全体の重心とする。図25〜図27は、中心線推定部31dの中心線推定処理に関する説明図である。以上の処理を行うことによって、図25(a)に示す通り、各スライスSL0〜SLMの重心が求められる。
【0112】
続いて、中心線推定部31dは、仮の中心線を作成する(ステップS30b)。具体的に、中心線推定部31dは、1回目の仮の中心線を作成する場合には、図26(a)に示す通り、最下段のスライスSL0の重心を起点として、そのスライスSL0の消失点P0へ向かう方向に直線を引く。そして、中心線推定部31dは、図26(b)に示す通り、上記の直線が次のスライスSL1との境界に達すると、その直線と境界との交点からスライスSL1の消失点P1へ向かう方向に直線を引く。中心線推定部31dは、図26(c)に示すように、上記のような処理を繰り返すことにより得られる折れ線を1回目の仮の中心線とする。
【0113】
そして、中心線推定部31dは、上記のように作成した仮の中心線と、各スライスSL0〜SLMの重心との間の距離(X方向の差)の2乗和を計算して記録する(ステップS30c)。ここで、中心線推定部31dは、上述したステップS30a及びS30bをループすることにより、複数の仮の中心線を作成すると共に、それぞれの仮の中心線について各スライスSL0〜SLMの重心との間の距離の2乗和を計算して記録する。
【0114】
具体的に、中心線推定部31dは、2回目以降の仮の中心線を作成する場合、前回の仮の中心線の起点から右に1°ずつずらした点を起点として、1回目と同様な手法で仮の中心線を作成し2乗和を記録する。そして、中心線推定部31dは、作成した仮の中心線が全てのスライスの重心の右側を通っていた場合、右方向の探索を打ち切り、それ以降は、1回目の仮の中心線の起点から左に1°ずつずらした点を起点として、1回目と同様な手法で仮の中心線を作成し2乗和を記録する。更に、中心線推定部31dは、作成した仮の中心線が全てのスライスの重心の左側を通っていた場合、左方向の探索を打ち切り、ループを終了して次のステップS30dへ移行する。
【0115】
中心線推定部31dは、上述したステップS30b及びS30cのループにより、複数の仮の中心線を作成してそれらの2乗和を記録すると、その2乗和の値が最も小さい中心線を最適な中心線として選択する(ステップS30d)。尚、仮の中心線と各スライスSL0〜SLMの重心との間の距離の2乗和を計算する処理のイメージを図25(b)に示しており、最適な中心線の選択結果を示すイメージを図25(c)に示している。また、図23において最適クラスタとして選択されたクラスタCL3について中心線推定処理を行うことで得られた最適な中心線のイメージを図27に示している。
【0116】
以上の処理が終了すると、入力画像データが、一辺が20画素程度からなる正方形のブロックに区分される。そして、以上の処理にて得られた中心線が通るブロックが中心ブロックとして抽出される(ステップS31)。図28は、推定された中心線から中心ブロックが抽出される様子を示す図である。いま、図28(a)に示す画像に対して以上説明した処理が行われて、図中の中心線CLが得られたとする。
【0117】
中心線推定部31dは、図28(b)に示す通り、入力画像データを複数のブロックBに区分する。尚、図28(b)に示す例では横方向に約30、縦方向に約23のブロックBに区分されている。そして、中心線推定部31dは、図28(a)に示す中心線CLが通るブロックを中心ブロックCBとして抽出する。ここで、図28(a)に示す中心線CLは画像の最下部から画像の高さの2/3程度までの領域に亘るものであるが、図28(b)に示す6個の中心ブロックCBは画像の最下部から画像の高さの1/4程度までの領域に限られている。これは、画像の上部に行くほど画像が不鮮明になり、中心ブロックが誤った位置に検出される可能性が高くなるためである。
【0118】
中心ブロックCBの抽出が終了すると、入力画像データの評価に用いるブロック毎の特徴量をフィルタ処理の種類毎に求める処理が特徴量算出部32で行われる(ステップS2:特徴量算出ステップ)。具体的に、特徴量算出部32は、区分したブロック毎の輝度の平均値及び輝度の標準偏差を自身の演算によって求める。これにより、各ブロックの明るさを示す特徴量と各ブロックの面の粗さを表す2種類の特徴量が求められる。
【0119】
また、特徴量算出部32は、記憶装置20からガボールフィルタF1〜F30を読み出してブロックに区分された入力画像データをフィルタリングすることにより、各ブロックの模様の方向性を表す30種類の特徴量を求める。更に、記憶装置20からセンターサラウンドフィルタF31〜F35を読み出してブロックに区分された入力画像データをフィルタリングすることにより、各ブロックの粒度を表す5種類の特徴量を求める。以上の処理を行うことによって、37種類の特徴量がブロック毎に求められる。
【0120】
入力画像データの各ブロックについて、複数種類の特徴量を算出する処理が終了すると、次にステップS1で抽出された中心ブロックCBを補正する処理が行われる(ステップS3:補正ステップ)。具体的には、記憶装置20から中心ブロック補正部33の分類部34bにSVMモデルM1が読み出され、分類部34bにおいて、中心ブロックCBの特徴量、中心ブロックCB以外のブロックの特徴量、及びSVMモデルM1を用いて、それら2つのブロックがクラスA又はクラスBに分類される。図29は、分類部34bの動作を説明するための図である。分類部34bは、まず図28(b)に示す6個の中心ブロックCBのうちの何れか1つと、中心ブロックCB以外のブロックBのうちの何れか1つ(中心ブロックCBの近傍に位置するブロックが望ましい)とを選択する。尚、選択された2つのブロックのうち、先に選択されたブロックを「第1ブロック」といい、後に選択されたブロックを「第2ブロック」という。
【0121】
次に、分類部34bは、図5に示す通り、第1ブロックについての37種類の特徴量V1と第2ブロックについての37種類の特徴量V2とを連結した74次元の特徴量V10を作成する。そして、この特徴量V10と記憶装置20から読み出したSVMモデルM1とを用いて第1,第2ブロックをクラスA又はクラスBに分類する。ここで、クラスAに分類された場合には、第1ブロックがより轍ブロックらしいということができ、クラスBに分類された場合には、第2ブロックがより轍ブロックらしいということができる。選択するブロックを変えながら以上の処理が繰り返し行われる。以上の分類処理が行われることによって、中心ブロックCBが補正される。
【0122】
図30は、補正された中心ブロックの一例を示す図である。図28(b)に示す例では、轍と草との境界付近に6個の中心ブロックCBが配置されていた。これに対し、図30に示す例では、轍と草との境界付近ではなく、轍の略中心付近に位置するブロックが抽出されていることが分かる。かかる補正によって、中心ブロック抽出部31によって抽出された中心ブロックよりも正確な中心ブロックを得ることができる。
【0123】
中心ブロックCBの補正が終了すると、通路領域を検出する処理が通路領域検出部34で行われる(ステップS4:検出ステップ)。処理が開始されると、まず基準ブロックを特定する処理が行われる。図31は、基準ブロックを説明するための図である。具体的には、ステップS3で補正された中心ブロックCBと中心ブロックの左右方向に隣接する学習ブロックLBとが基準ブロックに特定される。尚、図31に示す例では、6個の中心ブロックCBと12個の学習ブロックLBとからなる合計18個のブロックが基準ブロックとして特定されている。
【0124】
以上の処理が終了すると、まず、特定された基準ブロックについて、特徴量の平均値及び標準偏差を特徴量の種類毎に求める処理が第1算出部34aで行われる(ステップS11)。次に、特徴量算出部32で求められた全てのブロックについての特徴量の平均値を特徴量の種類毎に求める処理が第2算出部34bで行われる(ステップS12)。ここで、図31に示す画像の上部の領域Rには地平線の上方の画像が写り込んでおり、かかる領域Rの画像は通路領域としての轍の検出には関与しない画像である。このため、ステップS12の処理を行う場合には、この領域R内のブロックを除外し、残りのブロックについての特徴量の平均値を求めるのが望ましい。
【0125】
以上の処理が終了すると、重み決定部34cによって特徴量毎の重みが決定される(ステップS13)。具体的には、ステップS11で求められた基準ブロックについての特徴量の平均値μ^及び標準偏差σ^と、ステップS12で求められた全てのブロックについての平均値μとを、特徴量の種類毎に前述した(4)式に代入し、特徴量の種類毎の重みw′を決定する処理が行われる。尚、得られた重みw′が負の値である場合には、その値を零に決定する処理が行われる。重み決定部34cは、以上の重みw′を決定したら、前述した(5)式を用いて正規化した重みwを求めるとともに、前述した(6)式を用いて各特徴量を正規化するための正規化係数sを求める処理も行う。
【0126】
特徴量に対する重み付けが終了すると、通路領域検出部34で重み付けされた特徴量を用いて画像に含まれる轍を抽出する処理が抽出部34dで行われる(ステップS14)。具体的には、まず処理対象のブロックを特定し、そのブロックのi番目の特徴量の値f及びそのブロックと画像の縦方向の位置が同じである中心ブロックにおけるi番目の特徴量の値fci、並びに、ステップS13の処理にて得られた重みw及び正規化係数sを前述した(7)式に示す評価関数Eに代入する。そして、評価関数Eの値が所定値Tよりも大きい場合に、その処理対象のブロックに轍の画像が含まれると評価してそのブロックを抽出する。
【0127】
尚、処理対象のブロックと画像の縦方向の位置が同じである中心ブロックが存在しない場合には、画像の縦方向における位置がそのブロックよりも下方向であって、そのブロックに最も近い中心ブロックを用いて上記の評価を行う。以上の処理を全てのブロック(図4中の領域R内のブロックを除く)について行うことによって轍が含まれるブロックが抽出され、これにより通路領域が検出される。
【0128】
図32は、検出された通路領域の一例を示す図である。以上の処理が行われることによって、図28(a)に示す画像から、図32中の斜線を付したブロックBEが通路領域として検出される。図32を参照すると、斜線が付されたブロックBEは、僅かながら轍とは異なる部分に点在するものの、殆どは轍が写り込んでいる部分に存在しており、通路領域である轍を高精度で検出できていることが分かる。
【0129】
以上説明した通り、本実施形態によれば、入力画像に含まれる通路領域のおおよその位置を示す中心ブロックCBを抽出し、入力画像に対して複数種類のフィルタ処理を行って入力画像の評価に用いる特徴量をフィルタ処理の種類毎に求め、抽出された中心ブロックCBにおける特徴量と同様の特徴量を有する領域を入力画像から抽出することによって通路領域を検出している。このため、明るさが周囲と殆ど同じで路面の粗さだけが異なるような轍や境界が曖昧な未舗装路も検出することができ、従来よりも精確に通路を検出することができる。また、通路領域についての事前知識を用いて抽出された中心ブロックCBを補正すれば、より精確に通路の検出を行うことができる。
【0130】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に制限されず、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態では、通路領域を検出する際に、前述した(4)式を用いて重みw′を求める例について説明したが、重み決定部34cによって決定される重みは、基準ブロックについての平均値と複数のブロックの全てについての平均値との差が大きな特徴量、及び基準ブロックについての標準偏差が小さな特徴量について重くなるものであれば良い。従って、前述した(4)式に代えて、以下の(8)式を用いて重みw′を求めても良い。
【数8】

【0131】
また、上記実施形態では、中心ブロックCBを抽出する方法として、轍を含む通路であると推定される通路領域の中心線を用いる方法を例に挙げて説明したが、これ以外の方法を用いることも可能である。例えば、車両にレーザレーダを設け、このレーザレーダの測定結果に基づいて中心ブロックを特定しても良い。具体的には、車載カメラの視野内における特定部位(例えば、視野の最下部)をレーザレーダで走査し、得られる信号のうちの最も平坦な部分を轍と推定して中心ブロックCBを抽出して良い。
【符号の説明】
【0132】
1 通路検出装置
31 中心ブロック抽出部
32 特徴量算出部
33 中心ブロック補正部
34 通路領域検出部
34a 第1算出部
34b 第2算出部
34c 重み決定部
34d 抽出部
B ブロック

【特許請求の範囲】
【請求項1】
入力画像に対する画像処理を行って前記入力画像に含まれる通路領域を検出する通路検出方法であって、
前記入力画像に含まれる前記通路領域のおおよその位置を示す位置情報を抽出する抽出ステップと、
前記入力画像に対して複数種類のフィルタ処理を行い、前記入力画像の評価に用いる特徴量を前記フィルタ処理の種類毎に求める特徴量算出ステップと、
前記抽出ステップで抽出された位置情報で特定される位置における前記特徴量と同様の特徴量を有する領域を前記入力画像から抽出することによって前記通路領域を検出する検出ステップと
を有することを特徴とする通路検出方法。
【請求項2】
前記特徴量算出ステップと前記検出ステップの間に、前記通路領域についての事前知識を用いて前記抽出ステップで抽出された前記位置情報を補正する補正ステップを有することを特徴とする請求項1記載の通路検出方法。
【請求項3】
前記抽出ステップは、前記入力画像を複数のブロックに区分するステップを含み、
前記検出ステップは、前記抽出ステップで抽出された位置情報で特定されるブロックについて、前記特徴量の平均値及び標準偏差を算出するステップと、
前記複数のブロックの全てについて前記特徴量の平均値を算出するステップと、
前記基準ブロックについての平均値と前記複数のブロックの全てについての平均値との差が大きな特徴量、及び前記基準ブロックについての標準偏差が小さな特徴量については重みが重くなるように前記特徴量毎の重みを決定するステップと、
重み付けされた前記特徴量を用いて、前記抽出ステップで抽出された位置情報で特定されるブロックについての特徴量と同様の特徴量を有するブロックを抽出するステップと
を含むことを特徴とする請求項1又は請求項2記載の通路検出方法。
【請求項4】
前記検出ステップは、前記重みが予め設定した閾値以下の値である場合に、重みを零に決定するステップを含むことを特徴とする請求項3記載の通路検出方法。
【請求項5】
前記抽出ステップは、画像上の模様のテクスチャ方向を求め、テクスチャ方向について共通項の数を算出し、他の領域との共通項が閾値以上より高い領域を算出することを特徴とする請求項1から請求項4の何れか一項に記載の通路検出方法。
【請求項6】
前記補正ステップは、前記複数のブロックのうちの任意の第1ブロックの特徴量、当該第1ブロックとは異なる第2ブロックの特徴量、及び前記入力画像に含まれる前記通路領域についての特徴量と前記通路領域とは異なる領域についての特徴量とを用いて予め学習した複数のクラスの境界を示す情報を用いて、前記第1,第2ブロックを前記複数のクラスの何れか1つのクラスに分類するステップを含むことを特徴とする請求項2から請求項5の何れか一項に記載の通路検出方法。
【請求項7】
前記複数のクラスは、任意の2つのブロックのうちの先のブロックに前記通路領域を示す画像が含まれる可能性が高い第1クラスと、
前記任意の2つのブロックのうちの後のブロックに前記通路領域を示す画像が含まれる可能性が高い第2クラスと
を有することを特徴とする請求項6記載の通路検出方法。
【請求項8】
入力画像に対する画像処理を行って前記入力画像に含まれる通路領域を検出する通路検出装置であって、
前記入力画像に含まれる前記通路領域のおおよその位置を示す位置情報を抽出する抽出手段と、
前記入力画像に対して複数種類のフィルタ処理を行い、前記入力画像の評価に用いる特徴量を前記フィルタ処理の種類毎に求める特徴量算出手段と、
前記抽出手段で抽出された位置情報で特定される位置における前記特徴量と同様の特徴量を有する領域を前記入力画像から抽出することによって前記通路領域を検出する検出手段と
を備えることを特徴とする通路検出装置。
【請求項9】
前記通路領域についての事前知識を用いて前記抽出手段で抽出された前記位置情報を補正する補正手段を備えることを特徴とする請求項8記載の通路検出装置。
【請求項10】
前記抽出手段は、前記入力画像を複数のブロックに区分し、
前記検出手段は、前記抽出手段で抽出された位置情報で特定されるブロックについて、前記特徴量の平均値及び標準偏差を算出する第1算出手段と、
前記複数のブロックの全てについて前記特徴量の平均値を算出する第2算出手段と、
前記基準ブロックについての平均値と前記複数のブロックの全てについての平均値との差が大きな特徴量、及び前記基準ブロックについての標準偏差が小さな特徴量については重みが重くなるように前記特徴量毎の重みを決定する重み決定手段と、
重み付けされた前記特徴量を用いて、前記抽出手段で抽出された位置情報で特定されるブロックについての特徴量と同様の特徴量を有するブロックを抽出するブロック抽出手段と
を備えることを特徴とする請求項8又は請求項9記載の通路検出装置。
【請求項11】
前記重み決定手段は、前記重みが予め設定した閾値以下の値である場合に、重みを零に決定することを特徴とする請求項10記載の通路検出装置。
【請求項12】
前記抽出手段は、画像上の模様のテクスチャ方向を求め、テクスチャ方向について共通項の数を算出し、他の領域との共通項が閾値以上より高い領域を算出することを特徴とする請求項8から請求項11の何れか一項に記載の通路検出方法。
【請求項13】
前記補正手段は、前記複数のブロックのうちの任意の第1ブロックの特徴量、当該第1ブロックとは異なる第2ブロックの特徴量、及び前記入力画像に含まれる前記通路領域についての特徴量と前記通路領域とは異なる領域についての特徴量とを用いて予め学習した複数のクラスの境界を示す情報を用いて、前記第1,第2ブロックを前記複数のクラスの何れか1つのクラスに分類することを特徴とする請求項9から請求項12の何れか一項に記載の通路検出装置。
【請求項14】
前記複数のクラスは、任意の2つのブロックのうちの先のブロックに前記前記通路領域を示す画像が含まれる可能性が高い第1クラスと、
前記任意の2つのブロックのうちの後のブロックに前記前記通路領域を示す画像が含まれる可能性が高い第2クラスと
を有することを特徴とする請求項13記載の通路検出装置。
【請求項15】
コンピュータを、入力画像に対する画像処理を行って前記入力画像に含まれる通路領域を検出する通路検出手段として機能させる通路検出プログラムであって、
前記コンピュータを、前記入力画像に含まれる前記通路領域のおおよその位置を示す位置情報を抽出する抽出手段と、
前記入力画像に対して複数種類のフィルタ処理を行い、前記入力画像の評価に用いる特徴量を前記フィルタ処理の種類毎に求める特徴量算出手段と、
前記抽出手段で抽出された位置情報で特定される位置における前記特徴量と同様の特徴量を有する領域を前記入力画像から抽出することによって前記通路領域を検出する検出手段と
して機能させることを特徴とする通路検出プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図5】
image rotate

【図6】
image rotate

【図8】
image rotate

【図10】
image rotate

【図11】
image rotate

【図14】
image rotate

【図15】
image rotate

【図18】
image rotate

【図20】
image rotate

【図22】
image rotate

【図24】
image rotate

【図26】
image rotate

【図29】
image rotate

【図4】
image rotate

【図7】
image rotate

【図9】
image rotate

【図12】
image rotate

【図13】
image rotate

【図16】
image rotate

【図17】
image rotate

【図19】
image rotate

【図21】
image rotate

【図23】
image rotate

【図25】
image rotate

【図27】
image rotate

【図28】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate


【公開番号】特開2011−150627(P2011−150627A)
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願番号】特願2010−12967(P2010−12967)
【出願日】平成22年1月25日(2010.1.25)
【出願人】(000000099)株式会社IHI (5,014)
【Fターム(参考)】