リスク認識システム
【課題】移動体の外界環境に含まれる危険度を認識するためのルールをドライバの運転行動との関係からより直接的に求め、ドライバの状態による差や個人差を許容するルールを抽出して、高精度な危険認識を可能とする。
【解決手段】データ点数を或る程度の時間長で区切り、各学習データD34,D35,D38,D48,D55,D56から冗長性を排除してデータ識別に必要最小限の属性集合を抽出し、極小決定ルールR34,R35,R38,R48,R55,R56を導く。そして、各極小決定ルールに対して、未学習データを信頼度で降順に並べ、所定の閾値以下のデータを削除してクロスバリデーション方式で評価を行うことで、ルールR'34,R'35,R'38,R'48,R'55,R'56を選定する。これにより、ドライバの状態による差や個人差を許容するルールを抽出して高精度な危険認識を可能とするばかりでなく、過学習を防止することができる。
【解決手段】データ点数を或る程度の時間長で区切り、各学習データD34,D35,D38,D48,D55,D56から冗長性を排除してデータ識別に必要最小限の属性集合を抽出し、極小決定ルールR34,R35,R38,R48,R55,R56を導く。そして、各極小決定ルールに対して、未学習データを信頼度で降順に並べ、所定の閾値以下のデータを削除してクロスバリデーション方式で評価を行うことで、ルールR'34,R'35,R'38,R'48,R'55,R'56を選定する。これにより、ドライバの状態による差や個人差を許容するルールを抽出して高精度な危険認識を可能とするばかりでなく、過学習を防止することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自動車等の移動体の外部環境に含まれるリスクを認識するリスク認識システムに関する。
【背景技術】
【0002】
近年、自動車等の移動体における予防安全技術として、カメラを搭載して外界環境を撮像し、撮像した画像を処理して外界環境に含まれる危険度(リスク)の情報を認識し、ドライバに警告する、又は運転をアシストするといった技術が開発されている。このような危険情報の認識技術は、例えば、特許文献1や特許文献2に開示されている。
【0003】
特許文献1の技術は、道路環境の検出と、運転者の意志推定とを行うことにより、規定された危険物が存在する可能性のある領域を予測し、この予測された領域に障害物があるか否かを確認することにより、運転者の意志と走行状況に応じた的確な警報発令を可能とするものである。
【0004】
また、特許文献2の技術は、車両に搭載された車載機器とセンタとをネットワーク接続し、車載機器側で、運転者による車両の運転操作から安全運転度を算出して累積・記録すると共に安全運転度を表示し、センタ側では、車載機器から送出された安全運転度を累積して記録することで、各運転者の安全運転度やその傾向を分析して安全運転の啓発等の資料に活用したり、運転者に対し安全運転を行なったことに報いるメリットを与える材料とするものである。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平6−215300号公報
【特許文献2】特開2007−172487号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1,2に開示されているような従来の技術では、歩行者、対向車、障害物、白線等といった危険に結びつく要因を設定し、それらに基づいてリスクの認識を行っており、システムとしては、開発者が想定したリスク要因や認識を予めシステム内に組み込んでおくという形で実現されている。
【0007】
しかしながら、自動車の走行環境のような実際の環境は、天候の変化、歩行者、車、路上の構造物等の存在といったように多様であり、更には、運転する人間も多様であるため、予め想定したモデルでは限界がある。すなわち、予め設定したルールは、「急ブレーキをかけた時は危険である」等の一般的な知識を反映したものとならざるを得ず、実際の運転操作情報と充分な対応を取ることは困難である。特に、中程度(ヒヤリとするレベル)以下のリスクにおいては、ドライバのそのときの状態による差、及びドライバ間の差(個人差)の影響が大きく、そのズレが無視できない大きさとなる。
【0008】
本発明は上記事情に鑑みてなされたもので、移動体の外界環境に含まれる危険度を認識するためのルールをドライバの運転行動との関係からより直接的に求め、ドライバの状態による差や個人差を許容するルールを抽出して、高精度な危険認識を可能とすることのできるリスク認識システムを提供することを目的としている。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明によるリスク認識システムは、移動体の外界環境に含まれる危険度を認識するリスク認識システムであって、ドライバの感じる外部環境リスクとドライバの運転操作に基づく特徴量情報との相関関係を示すルール集合を、ラフ集合を用いて生成するルール生成部と、上記ルール集合を評価して絞り込み、有効なルール群を選定するルール選定部とを備えることを特徴とする。
【発明の効果】
【0010】
本発明によれば、移動体の外界環境に含まれる危険度を認識するためのルールを、ドライバの状態による差や個人差を許容するルールとすることができ、高精度な危険認識を可能とすることができる。
【図面の簡単な説明】
【0011】
【図1】リスク認識システムの基本構成図
【図2】リスクルールの構成を示す説明図
【図3】特徴量抽出の説明図
【図4】ルールの生成及び選定を示す説明図
【図5】特徴量抽出の画像領域を示す説明図
【図6】状態認識の概念図
【図7】1次元自己組織化マップによる学習の概念図
【図8】事前学習とオンライン学習の説明図
【図9】自己組織化マップの学習後の分布を示す説明図
【図10】リスクレベルとリスク確率との関係を示す説明図
【図11】リスク伝播の説明図
【図12】情報伝播の説明図
【図13】リスク情報の拡張を示す説明図
【図14】認識結果の出力例を示す説明図
【図15】リスク確率の学習結果を示す説明図
【図16】教示リスクと外部環境リスクを示す説明図
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施の形態を説明する。
本実施の形態で説明するリスク認識システムは、自動車等の移動体の外界環境の検出結果からその環境内に含まれる危険度(リスク)に係る情報を適応的に認識するシステムであり、事前には想定していなかった環境に対しても、適応的にリスク認識が行えるようにオンラインでの成長を可能とするものである。
【0013】
外界環境のセンシングは、システムの入力系として備える各種センサデバイス、例えば、外界を単眼視やステレオ視で撮像するカメラ、レーザやミリ波等のレーダ装置からのセンシング情報を用いることが可能である。つまり、本システムは、基本的に外界環境を検出するセンサデバイスに依存するものではなく、広義にはセンサデバイスより得られる外界環境情報とリスク情報との相関関係を学習するシステムに適用される。
【0014】
本形態においては、リスク認識システムを自動車等の車両に適用し、車載カメラによって外界を撮像した画像情報と、車内ネットワークを介して入力される車両情報とを用いてリスク情報をオンラインで抽出するシステムへの適用例について説明する。すなわち、本形態のリスク認識システムは、画像から得られた情報とリスクとの関連性を、内部に搭載したルールを用いて認識すること共に、その関連付けを実際の走行で遭遇した環境から学習し、適応的にリスク認識を行う。
【0015】
具体的には、ドライバを認識器の学習においての教師とし、ドライバの運転操作からリスク情報を抽出し、その運転操作に基づくリスク情報と、カメラから得られる画像情報との関連を人工知能技術を用いて学習させる。例えば、ドライバが歩行者を回避するような操作行動を行ったとき、本システムは、その状況が危険であると判断し、そのときに得られた画像は危険であるということを教える。
【0016】
これにより、次の機会に同じような状況(画像)がシステムに入ってきた場合に危険であるという出力を行い、ドライバに警告を与えることができる。また、本システムでは、リスクを確率的に取り扱っている。このことにより、似たような状況でもリスクが異なる場合や、得られている画像情報だけでは判断が出来ない本質的に確率的なリスクも取り扱うことが可能になる。
【0017】
以下、図1を参照して本実施の形態のリスク認識システムについて説明する。図1に示すように、本実施の形態におけるリスク認識システム1は、単一のコンピュータシステム或いはネットワーク等を介して接続された複数のコンピュータシステムで構成され、走行時の外界環境に含まれるリスクを、所定のルールに従って適応的にオンラインで認識するオンラインリスク認識システム1aと、このオンラインリスク認識システム1aに搭載するルールを抽出・生成するルール生成システム1bとを含んでいる。
【0018】
尚、本実施の形態では、ルール生成システム1bはオフラインで予めルールを生成するものとして説明するが、オンラインリスク認識システム1aと一体化して実走行時のオンラインでルールを生成させることも可能である。
【0019】
オンライン認識システム1aは、画像入力部2、車両データ入力部3、リスク情報抽出部4、画像特徴量抽出部5、状態認識部6、リスク認識部7、リスク情報出力部8を基本構成として備えている。また、ルール生成システム1bは、運転操作データ収集部10、ルール生成部11、ルール選定部12、教示リスク決定部13を基本構成として備えている。
【0020】
各部の機能は、以下の通りである。尚、図1においては、外界環境を検出するセンサとしての車載カメラは、図示を省略している。
【0021】
画像入力部2は、車載カメラからの撮像画像を入力する。CCDやCMOS等の撮像素子を有する車載カメラからの撮像画像に対して、ノイズ除去、ゲイン調整、γ補正等のビデオプロセス処理を行い、このビデオプロセス処理されたアナログ撮像画像を所定の階調のデジタル画像に変換する。画像入力部2で処理された画像は、一旦、メモリにストアされて収集され、画像特徴量抽出部5に送られる。
【0022】
車両データ入力部3は、車内ネットワーク50から所定の周期で車両データを入力する。車両データとしては、車速、ハンドル角、アクセル開度、ブレーキ圧力等であり、これらのデータを所定の周期(例えば、30Hz)でサンプリングする。
【0023】
尚、以降の認識処理に必要であれば、車内ネットワーク50上を流れる他の情報、例えば、前後横加速度やヨーレートといった車両運動情報、ヘッドライト、ウインカーといったシステム操作情報、外気温等も入力するようにしても良い。
【0024】
リスク情報抽出部4は、入力された車両情報(ドライバの操作情報)からリスク情報を抽出し、教師情報(リスクの大きさや種類)を作成する。本システムでは、このリスク情報抽出についての学習は行わず、ルール生成システム1bで予め生成したルールを搭載し、このルールを用いてオンラインでのリスク情報を適応的に認識する。
【0025】
尚、リスク情報抽出部4に搭載するルールを生成するルール生成システム1bについては後述するが、概略的には、走行時の運転操作データを収集し、データマイニング手法の一つであるラフ集合を用いてドライバの感じる外部環境リスクとドライバの操作情報との相関関係を示す「リスクルール」を抽出する。
【0026】
画像特徴量抽出部5は、画像入力部2からの画像データを受け取り、得られた画像の特徴量を抽出する。すなわち、得られた画像から、エッジ情報、動き情報、色情報等の特徴量を抽出し、それらの情報をN次元ベクトルとして保持する。このN次元ベクトルには、図1に破線で示すように、画像特徴量以外の車両情報、例えば、車速やヨー角の変化といった情報も含めることができる。
【0027】
尚、本形態で扱う画像データは、単眼のカラーカメラで撮像した画像とするが、赤外カメラから得られる画像やステレオカメラから得られる距離画像であっても良い。また、前述したように、レーザやミリ波等からの情報を用いることも可能であり、その場合、画像特徴量は、より一般的には、外界環境特徴量とも呼ぶべきものである。
【0028】
状態認識部6は、得られたN次元の特徴量ベクトルを1次元の状態という量に変換する。詳細は後述するが、状態とは、入力された画像を走行している場所や、天候、走行状態などによりシーン分けしているイメージになる。実際には、オンライン学習時、今はどのシーンであるかを明示的に教師することはできないため、入力データを状態数Mのクラスにクラスタリングしている。
【0029】
リスク認識部7は、状態認識部6で得られた状態と、リスク情報抽出部4で作成された教師との相関関係を求め、状態のリスクを学習・認識する。
【0030】
リスク情報出力部8は、認識したリスクをモニタや音声等により出力する。このリスク情報の出力については、認識したリスクそのものを出力する以外にも、操作データから得られたリスク情報との差を出力するようにしても良い。例えば、リスク認識部7がリスクが高いと判断した場合でも、操作データの認識により、ドライバが充分注意している状態であれば、リスクは高くないという出力を行うようにして良い。
【0031】
以上のリスク認識システム1においては、現在のリスクの認識・出力と学習とを並行に実行している。すなわち、リスクの認識は、入力画像に対し、それより前までに学習された認識結果によって行い、リスクの学習は、入力された教師情報を用いてリスク認識部7を更新(学習)し、次の時刻は、更新されたリスク認識部7でリスクを認識するという処理を繰り返すことにより、リスク認識と学習とを同時に行う。
【0032】
学習は、以下の(a),(b),(c),(d)に示すように、4つの部分でそれぞれに可能であるが、(a),(b)は学習に大規模な計算を要して時間がかかるため、オンラインでは学習は行わず、予め事前にオフラインで生成したルールを用いている。
(a)ドライバ操作データからのリスク情報の抽出(リスク情報抽出部4)
(b)画像データからの画像特徴量の決定・選択(画像特徴量抽出部5)
(c)画像特徴量から状態への変換(状態認識部6)
(d)状態とリスクとの相関認識(リスク認識部7)
【0033】
次に、リスク認識システム1における各処理の詳細について説明する。以下では、先ず、ルール生成システム1bによるリスクルールの生成処理について説明し、次に、このリスクルールを用いたオンラインリスク認識システム1aの各部の詳細を説明する。
【0034】
[リスクルール生成処理]
前述したように、本形態では、車両操作情報からのリスク抽出に際して、リスク情報抽出部4では学習を行わず、予め生成したルールを用いてドライバの操作情報からリスク情報を抽出するようにしている。このルールに従ったリスク情報の抽出においては、リスク情報をレベル付きの1次元データとして扱う。
【0035】
具体的には、リスクのレベルを0〜10(整数値)の11段階とし、値が大きいほどリスクが高いことを表現する。但し、ここでのリスク情報は、30Hzの各フレーム毎といったように、一定時間毎にリスクを認識しようとするものに限定されるものではない。これは、実際のドライバの操作は、リスクだけにより行われているわけではなく、リスクに伴う操作を行う割合は、全走行中の例えば10%にも満たない一部であろうと考えられるからである。
【0036】
すなわち、ドライバ操作データからのリスク情報の認識は、ドライバの操作行動に影響を与えるような、ある程度大きなリスクがあったときにのみ、それがわかることを第一の目標とする。そのため、リスク0に関しては、出力はリスクがないということだけでなく、教師情報がないということも表している。
【0037】
また、リスク認識のルールは、できるだけ現実に合うように任意に設定するという立場を取ることで、並列に存在する複数のルールによってリスクを推定する。これにより、ルールの追加、削減が他のルールに影響することなく行うことが可能となり、より現実に合うように調整することができる。
【0038】
リスクルールの生成は、車両の運転操作データをラフ集合を用いたデータマイニングの手法で処理し、最終的には、図2に示すように、より単純化した「If(前件部)−Then(後件部)」ルールのN個の集合を得ることを目標としている。このIf−Thenルールの前件部が入力情報と一致したとき、ルールが活性化し、後件部であるリスクレベルが出力される。本実施の形態においては、If−Thenルールの前件部の情報として、実走行での運転操作データを時系列的に収集して離散化し、リスクルールを導くようにしている。
【0039】
本実施の形態では、リスクルールは、オフラインでの(1)実走行による運転操作データ収集、(2)ラフ集合によるルール生成、(3)有効ルールの選定というステップを経て抽出されるが、更に、4)教示リスクルールの決定処理で、オンラインで同時活性化する複数のルール群の中からリスク情報抽出部4への教示リスクを決定する。
【0040】
(1)実走行データの離散化
運転操作データ収集部10は、運転操作データから実際にルールを抽出するためのデータとして、操舵角、アクセル開度、ブレーキ圧力、車速の4種類のデータの時系列情報を収集する。各時系列データは、平均化処理等によって特徴量化され、各特徴量毎に所定段階の数値で離散化される。
【0041】
例えば、図3に示すように、操舵角の時系列データのX秒の区間において、X秒の全区間の平均レベル値H1、前半のX/2秒区間の平均レベル値H2、後半のX/2秒区間の平均レベル値H3を求め、各平均レベル値を、0,1,2,3,4の5段階の数値で離散化して特徴量を作成する。アクセル開度、ブレーキ圧力、車速についても同様の手法で時系列データを特徴量化し、計12個の学習データを得る。尚、ここでは特徴量として平均レベルを用いているが、時系列データの傾き等を用いても良い。
【0042】
(2)ラフ集合に基づくリスクルールの生成
ルール生成部11は、運転操作データ収集部10からの特徴量データをラフ集合によるデータマイニングの手法を用いて処理し、リスクルールを生成する。ラフ集合によるルールの生成は、集合要素の分類を通じて特定の属性を満たすためのルールを生成する手法である。このラフ集合による手法では、対象を或る条件の属性で分類し、決定属性を持つ集合Sを指定したとき、集合Sに含まれる下近似集合と、集合Sを含む上近似集合とに分け、上近似と下近似集合との関係性からルールの絞り込みを行う(下近似集合からの極小決定ルールの決定)。本実施の形態においては、ルールの正確さを示す確信度が100%の集合を下近似集合、それ以外を上近似集合としている。
【0043】
この場合、下近似集合は、確信度100%の優秀なルール集合ではあるが、中には、支持度(ルールを支持する対象数;活性数)が限りなく小さい特異データが含まれていることも多い。従って、生成される極小決定ルールは、誤判定は少ないが、支持度の低い(活性可能性の低い)ものとなるものが多い。また、特異データにより、本来、下近似であるべきルールが上近似ルール化されている場合もある。
【0044】
そこで、本システムでは、支持度が所定レベルより小さいデータを特異データとして除去した上で下近似集合を作成する。そして、図4に示すように、学習データのデータ点数を或る程度の時間長で区切り、所定のデータ番号No34,No35,No38,No48,No55,No56の各学習データ(データ集合)D34,D35,D38,D48,D55,D56から冗長性を排除してデータ識別に必要最小限の属性集合を抽出する(縮約する)ことにより、R34,R35,R38,R48,R55,R56の極小決定ルールを導く。
【0045】
(3)有効リスクルールの選定
ラフ集合に基づく極小決定ルールは、その計算手法の性質上、生成されるルールの数が多大となり、データ点数の増加に伴い計算時間が指数関数的に増加する。しかしながら、有効なリスクルールを抽出するためには、できるだけデータ点数が多いことが理想的であり、ルール導出のための計算時間とルール性能との間にはトレードオフの関係がある。
【0046】
そこで、ルール選定部12では、学習データ毎に個別に生成したリスクルールに対して、クロスバリデーション(cross-validation;交差検定)方式でルール選定を行なう。クロスバリデーション方式は、標本となるデータを分割し、その一部をまず評価して、残る部分を最初の評価の仮説検定に用いる手法であり、その際の評価基準としては、データの信頼度を用いる。
【0047】
すなわち、図4に示すように、各極小決定ルールR34,R35,R38,R48,R55,R56に対して、自己データ以外のデータ集合(未学習データ)を信頼度で降順に並べ、所定の閾値以下(例えば、信頼度80%以下)のデータを削除して評価を行うことにより、ルールR'34,R'35,R'38,R'48,R'55,R'56を選定する。例えば、データ集合D34のデータ数が30000〜40000個であるとき、1000個程度の極小決定ルールR34が抽出され、この極小決定ルールR34を他の未学習データで評価した結果、200個程度の有効なルール群からなるルールR'34が選定される。他のルールRR'35,R'38,R'48,R'55,R'56についても同様である。
【0048】
尚、ルール選定の選定基準としては、信頼度の他、支持度に基づいて選定しても良く、また、信頼度と支持度とを組み合わせて選定するようにしても良い。
【0049】
このような選定を行なうことにより、実用的な計算時間で汎用性の高い有効なルールのみを選定し、ドライバの状態による差や個人差を許容するルールとして高精度な危険認識を可能とするばかりでなく、個々のデータに特化したルール(過学習ルール)を除去することができる。
【0050】
(4)オンラインでの教示リスクの決定
クロスバリデーション方式で選定されたルール群は、オンラインでの同時刻に複数のルールが活性化する場合がある(図16参照)。このため、教示リスク決定部13は、オンラインで同時活性化した複数のルールの中から、リスク情報抽出部4へ提示する唯一の教示リスクを与えるルールを選定する。図4においては、選定されたルールR'34,R'35,R'38,R'48,R'55,R'56の中の同時活性化する複数のルールに対して、多数決や平均化を行って唯一の教示リスクを与えるルールRactを選定する。
【0051】
また、オンラインで複数のルールが活性化する場合、短い時間間隔で複数のルールが活性化する場合もある。このような場合には、或る時間のウィンドウ内で同時活性化するルールの中から多数決若しくは平均化によって唯一の教示リスクを求める。更に、クロスバリデーションによるルール選定の過程で、個々のルールには信頼度や支持度の評価が付与されるので、その評価値に基づいてルールを選定し、教示リスクを求めるようにしても良い。
【0052】
次に、以上のルールが搭載されたオンライン認識システム1aの実走行におけるオンライン処理について、画像特徴量抽出部5における画像特徴量の抽出処理、状態認識部6における状態認識処理、リスク認識部7におけるリスク認識処理の順に説明する。
【0053】
[画像特徴量の抽出処理]
画像特徴量抽出処理では、以降のリスク認識のためのデータを抽出するが、一般に、リスク認識に相関がないデータは認識に悪影響を与える。つまり、この特徴量抽出処理においては、むやみに特徴量を増やすということは得策でなく、逆に、必要な特徴量を用いないことも精度を悪化させる。
【0054】
そのため、どの特徴量を用いるべきかという特徴量選択が課題として発生するが、前述したように、特徴量選択については、それを学習的に得る場合は、以下に説明するリスク認識の上位の学習が必要になり、計算量・メモリ容量的にオンラインでの学習には不利である。
【0055】
従って、本形態では、ここでの特徴量抽出部分は固定として扱う例について説明する。学習する場合には、システムの認識率を基準として評価し、各特徴量の組み合わせを最適化すれば良く、これには、組み合わせの全探索、遺伝的アルゴリズム(GA;Genetic Algorithm)等の発見的な探索法等、既存の最適化手法を用いることができる。
【0056】
本形態においては、画像特徴量抽出部5で予め設定した種類の特徴量を抽出している。ここでは、処理を3つの要素に分け、各要素毎に設定した特徴量を抽出する。3つの要素は、前処理、特徴量計算、領域設定である。具体的には、以下に示すように、前処理で6種類、特徴量計算で10種類、領域設定で4種類のデータを抽出し、それらの組み合わせで計240(6×10×4)次元のデータを抽出する。
【0057】
<前処理>
入力画像に対して、ソベル、縦方向ソベル、横方向ソベル、フレーム間差分、輝度、彩度の6種類のフィルタ処理を行い、6次元の特徴量データを抽出する。
【0058】
<特徴量>
フィルタ処理された画像の画素値に対して、平均、分散、最大値、最小値、横方向重心、縦方向重心、コントラスト、均一性、エントロピー、フラクタル次元の10種類の計算処理を行い、10次元の特徴量データを抽出する。
【0059】
<領域>
図5に示すように、画像内に領域A0を設定し、この設定領域A0の全体、設定領域A0内の左側の領域A1、右側の領域A2、中央の領域A3の4種類の領域について、4次元の特徴量データを抽出する。
【0060】
尚、以上の240次元の特徴量は、オンラインシステムの演算性能に応じて、使用する次元を絞るようにしても良い。例えば、画像以外にも車両データも用いて、画面全体のソベルの平均、分散、画面全体のフレーム間差分の平均、分散、車速、ハンドル角の6次元の特徴量を抽出するようにしても良い。
【0061】
また、以上の特徴量抽出処理においては、各特徴量は正規化しているが、理論上の範囲は非効率であるため、事前に各特徴量の分布を評価しておき、その評価結果を元に最大値及び最小値を設定し、0〜1の数値に正規化している。その場合、最大値・最小値を動的に変化させるようしても良く、例えば、最大値を超える値もしくは最小値を下回る値が入力された場合には、それぞれ範囲を拡大するように最大値・最小値を変更する。逆に、しばらく最小値、最大値付近のデータが入ってこなかった場合は、範囲を狭めるように変更する。
【0062】
また、ここでは基本的な特徴量を用いたが、過去のフレーム情報を用いて動き情報を算出する等、特徴量の時系列的な変動を計算し、その情報を特徴量として用いることもできる。更に、全体としてのリスク認識の精度向上のためには、この特徴量抽出処理に高精度の画像処理を入れることもでき、例えば、歩行者認識結果、道路の白線認識結果、障害物認識結果等を含めて、ここでの抽出データに組み込むようにしても良い。このような意味では、本システムは、個々の外界認識結果を統合し、リスクを認識するシステムと捉えることもできる。
【0063】
[状態認識処理]
状態認識部6では、画像特徴量抽出部5で得られたN次元の特徴量データを1次元の状態という量に圧縮変換する。つまり、状態認識部6は、入力された画像特徴量データから状態という量を出力する識別器として機能する(但し、この識別器の出力は、1状態を確定せずに確率的に扱うこともできる)。本処理における学習は、この識別器の内部構造を入力データ、教師データを用いて実環境に適応させることになるが、ここでの学習における教師は、この入力データがどの状態であるかを直接教えるのではなく、出力された状態から認識されるリスクを、できるだけ効率的に、且つ精度良く認識できるようにするものである。
【0064】
以下、入力された画像特徴量から状態を出力する認識処理、その認識処理自体を学習する学習処理に分けて説明を行う。
【0065】
<認識処理>
識別器としての認識処理は、入力データに対してプロトタイプ型の識別処理を行う。ここで、状態番号をSとすると、各状態は代表値を持ち、これをprots(i)とする。状態代表値prots(i)は、N次元のベクトルであり、i=0,1,…,N−1となる。
【0066】
入力データ(特徴量ベクトル)をIn(i)とすると、入力ベクトルは、以下の(1)式に示すように、状態代表値prots(i)との距離L(s)により求められ、どの状態に属するかが認識される。
L(s)=(Σi(prots(i)−In(i))2)1/2 …(1)
【0067】
入力データの属する状態(状態番号)Kは、以下の(2)式に示すように、距離L(s)の最小値で求められ、入力ベクトルが一番近い状態代表値の状態であると認識される。
K=mins(L(s)) …(2)
【0068】
図6は、N次元中の3次元に注目した場合を示しており、入力データは、状態S6より状態S1に近いため、S1の状態であると認識される。以上が基本的な状態認識となるが、これは入力データがどの状態であるかを確定させていることになる。
【0069】
この場合、図6では、状態S1と状態S6とでは、距離はそれほど違いはないが、若干、状態S1との距離が近いことで、入力データは状態S1であると認識される。つまり、状態S1と状態S6との距離がほぼ同じ領域においては、認識が不安定になる可能性がある。
【0070】
従って、ここでは、更に拡張し、状態が確率的であるとして扱うことで、認識の不安定さを解消する。すなわち、入力データが状態sである確率をP(s)とすると、状態の確率は、距離L(s)を用いて、以下の(3),(4)式で求める。ここで、σはパラメータであり、小さくするほど状態を確定的にする効果がある。
P(s)=(exp(−L(s)/σ))/z …(3)
z=Σsexp(−L(s)/σ) …(4)
【0071】
このように、状態を入力データとの距離に応じた尺度で確率的に決定した場合、以後の計算で全ての状態について計算する必要がある。従って、計算量を削減するため、一定値以下の確率は0とし、計算として扱わないようにしても良い。
【0072】
尚、P(s)の定義において、s=Kのときだけ1、それ以外を0とすれば、状態を確定したときと同じになる。
【0073】
<学習処理>
次に、状態認識部6の学習処理では、入力データ及び教師情報から、各状態の代表値の学習(更新)を行う。学習は、階層型ニューラルネットワークの一種である自己組織化マップ(SOM;Self-Organization Maps)の学習をベースとする。
【0074】
SOMは、M次元(通常は2次元)に並べられたユニットが、それぞれベクトル値(通常入力との結線の重みと呼ばれる)を持ち、認識処理において入力の属する状態Kを求めたように、入力に対して勝者ユニットをベクトルの距離を基準として決定する。そして、勝者ユニット及びその周辺のユニットの参照ベクトル値を、入力ベクトルに近づくように更新する。これを繰り返し、全体が入力データの分布を最適に表現できるように教師無しで学習してゆく。1次元SOMによる学習のイメージを、図7に示す。
【0075】
本システムにおいては、SOMによる学習は、以下のようになる。但し、本システムにおいては、ユニット(状態)は1次元につながっているものとする。勝者ユニットの状態番号を、前述の状態番号Kとすると、代表ベクトルprotsは、以下の(5)式に従って更新(学習)される。
prots(i)→prots(i)+α(In(i)−prots(i) …(5)
【0076】
ここで、(5)式におけるαは、更新の重みを示す学習率係数であり、以下の(6)式で表される。
α=a・b(t)・c(D(s,K),t)・e(t) …(6)
但し、a :学習係数
b :時間減衰係数
c :領域減衰係数
D(s,K):更新対象のユニットと勝者ベクトル間のつながりにおける距離
e :教師情報係数
【0077】
(6)式における各パラメータa,b,cは、通常のSOMでも用いられるパラメータであり、時間減衰係数bは、学習経過時間t(通常何回目の更新かを表す)の関数であり、一般には時間tの増加につれ減衰する。また、距離D(s,K)は、特徴量空間上での距離ではなく、例えば、図7においては、勝者ユニットの隣のユニットは距離1、その隣は距離2となる。
【0078】
一方、領域減衰係数cは、その距離D(s,K)の関数であり、距離D(s,K)が大きくなる程、値が小さく、ある一定以上の距離D(s,k)については更新されないように設定される。また、領域減衰係数cは、時間tの関数でもあり、時間tが大きくなる程、値が小さくなる。更に、本システムでは、教師情報を示す教師情報係数e(t)を導入するが、これについては後述する。
【0079】
このように、SOMの学習アルゴリズムでは、学習初期は、広範囲のユニットが入力データに近づくように更新され、学習が進むにつれ、更新されるユニット数、更新量とも少なくなり、最終的には、学習率係数α(更新の重み)が0になり、学習が終了する。尚、初期状態では、通常、ユニットはベクトル空間上の中心付近にランダムに配置される。
【0080】
ここで、本システムでは、オンライン学習システムであることから、以上の学習アルゴリズムを若干変更し、学習を事前学習フェーズとオンライン学習フェーズとに分け、各学習フェーズで学習のパラメータを変更している。すなわち、学習の終了時刻は設けずに、事前学習フェーズとオンライン学習フェーズとでそれぞれの時刻で一定とし、また、更新範囲の減衰も設けず、事前学習時とオンライン学習時の範囲は異なるものとする。
【0081】
これは、オンライン学習である本システムにおいては、学習に終了時刻はないこと、また、事前学習を導入しているのは、一義的に一定値とすると、更新量が大きい場合、SOMの分布が入力データの平均付近の狭い範囲に集中してしまうためであり、逆に小さい場合には、SOMの分布が特徴量空間上にばらつき過ぎてしまい、入力データの分布をうまく表現できないためである。
【0082】
そのため、図8に示すように、事前学習として、時間減衰係数b,領域減衰係数cの値を大きくとることで、先ず、SOMを入力データ分布の中心付近に寄せておき、その後、時間減衰係数b,領域減衰係数cを小さくすることで、適切な分布を表現できるようにしている。尚、ここでの事前学習は、市場で実走行に使う前のオフラインでの学習を想定している。
【0083】
図9に、学習後のSOMの分布例を示す。実際の特徴量空間は240次元であるが、図9では、そのうちの3次元のみを表しており、グラフの各点が入力データを示している。実際には、各点は色つきの点として表現され、色によってリスクの大きさを表している。黒い点が各状態の代表ベクトルで、それらを結ぶ黒線がSOMのつながりである。
【0084】
以上では、入力データの分布を最適に表現できる学習法について述べてきたが、実際に求められるのは、リスクを認識する上で入力データの分布を最適に表現できることである。SOMは、本来、教師なしの学習法(入ってきたデータを均等に扱い学習していく)であるが、本システムにおいては、リスクを認識する上での効率的な学習として、前述の教師情報係数e(t)によるリスク情報を与えた学習を行う。
【0085】
詳細は後述するが、リスクの認識は、認識した状態のリスク確率という形で出力する。これは、その状態が、リスクをどの程度の確率で持つかということを表したものである。具体的な学習法としては、時刻tでの入力データがドライバ情報から得られたリスクレベルRという教師情報を持つ場合、認識された状態が持つリスク確率においてリスクレベルRの確率が高ければ教師情報係数e(t)を大きくし、小さければ、教師情報係数e(t)を小さくする。また、教師情報が得られない場合には、教師情報係数e(t)を小さくするという処理にする。
【0086】
これにより、学習を進めるうちに、認識された状態は、そのときのリスクを高確率で持つようになり、つまりはリスクの認識精度が上がっているということになる。具体的な教師情報係数e(t)の設定は、次のリスク認識処理において説明する。
【0087】
また、状態を確率的に求めた場合の学習については、勝者ユニットを確率に応じた重みで表現し、その重みに応じた更新量により更新を行う。但し、計算量が増大するという問題があるので、本システムでは、学習時については、勝者ユニットを入力データに一番近い状態に確定させて学習を行っており、一定値以下の確率の状態については、自身を勝者とする更新は行わない。
【0088】
[リスク認識処理]
リスク認識部7では、状態認識部6で求めた状態により、リスクを出力する。前述したように、各状態はそれぞれリスク確率分布を持つため、状態sでのリスクの確率分布をp(R│s)と表すことにする。尚、ここでのリスクは、リスク情報抽出部4でのリスクと対応しており、11段階のレベルに分けているので、リスクレベルRとリスク確率(分布)p(R│s)とは、例えば図10に示すような関係で表される。
【0089】
リスク出力は、基本的にこのリスク確率p(R│s)を出力することになるが、出力結果を例えば警報や表示などに使う場合には、確率分布のままでは使いにくいため、リスク出力としては、以下の(7)式で示される期待値Eを出力する。
E=ΣRR・p(R│s) …(7)
【0090】
また、状態を確率的に取り扱った場合、期待値Eは以下の(8)式のようになる。
E=ΣsΣRP(s)・R・p(R│s) …(8)
【0091】
<リスク確率の学習処理>
リスク確率の学習は毎フレームに行われ、リスク確率は逐次更新される。リスク確率は、基本的に、過去に経験したリスクレベルの頻度分布を用いて算出する。しかし、本システムは、オンライン学習なので無限遠過去のデータまで持つことは難しく、また遠い過去の経験に現在と同じ重要度を持たせることは好ましくないと考えられる。従って、ここでは、以下の方法でリスク確率を更新する。
【0092】
時刻tでの状態stのリスク確率をpt(R│st)としたとき、以下の(9)式に従って、リスク確率を更新する。
pt+1(R│st)=pt(R│st)+β…(9)
【0093】
更に、リスク確率pt+1(R│st)は、以下の(10)式に従って正規化する。
pt+1(R│st)←pt+1(R│st)/ΣRpt+1(R│st) …(10)
【0094】
尚、状態の更新は、その時刻の状態のみである。また、状態を確率的に扱う場合は、各状態においてβをp(st)・βとして計算する。ここで、βは定数であり、この値が大きいほどより現在の情報を重要視することになる。
【0095】
ここで、与えられる教師リスクについては、リスク情報抽出部4の説明で述べたように、各フレーム毎に得られるとは限らない。リスクレベルが高い場合には、ドライバデータからリスク情報が得られる場合が多いが、リスクレベルが低い場合には、特に教師情報が得られる可能性が小さくなってしまうという問題がある。
【0096】
この問題に対して、本システムでは、教師リスク情報を時間軸方向で伝播させることで対処するようにしている。これは、ある時刻に教師リスク情報が得られた場合は、その前の時刻もその時刻と同じではないまでも危険であるという因果関係に基づくものであり、この因果関係を用いて教師リスク情報を伝播させる。
【0097】
この場合、過去に情報を伝播させるには、伝播させる分のすべての過去の状態遷移を記憶している必要があるが、リアルタイムでの学習を前提としたとき、記憶容量と計算量がネックとなる。そこで、本システムでは、強化学習の際に用いられるTD(Temporal Difference)誤差を考慮した伝播により、リスク確率を更新している。
【0098】
強化学習は、その時々の状態に対しての明示的な行動の指示ではなく、行った行動に対しての報酬によって学習を行い、この先得られるであろう報酬の総和が最大となる行動をその時々で選択する学習法であり、時刻tにおける実際の報酬と報酬の予測値の差をTD誤差(TD-ERROR)と呼び、これを0とするように学習が行われる。本システムのリスク情報は、この強化学習の報酬に相当し、図11に示すように、或るシーンでの状態遷移を考えると、状態S1に至る状態S2,S7,…にもリスクがあるはずであると考えられ、リスク情報の伝播を行う。
【0099】
この場合、伝播は、現在の状態から一つ前のフレームへ伝播させるだけで良く(つまり計算も記憶も1フレーム前との関係だけ扱えば良い)、一回の経験では、リスク情報は充分な過去まで伝播しないものの、同じような経験を繰り返すことで、徐々にリスク情報が伝播し、その因果関係を学習することができる。また、リスク情報の伝播は、図12に示すように、同じリスクレベルの時刻tの状態Stから時刻t−1の状態St-1への伝播のみではなく、異なるリスクレベルの状態間においても伝播させるようにする。但し、リスクレベル0は、リスクがないという他に、リスク情報がないという場合も含むため、伝播はさせない。
【0100】
伝播によるリスク確率p(r│st-1)の更新は、以下の(11)式によって行われる。
p(r│st-1)=p(r│st-1)+η・(RI(r)+γ・p(r│st)−p(r│st-1))
+h・η・(γ・p(r−1│st)−p(r−1│st-1))
+h・η・(γ・p(r+1│st)−p(r+1│st-1)) …(11)
但し、h:リスクレベル方向の伝播の大きさを表すパラメータ
γ:時系列の伝播の大きさを表すパラメータ
η:一回の学習での更新の大きさを表すパラメータ
【0101】
ここで、時刻tで得たリスク情報を、リスクレベルrを用いてRI(r)と表している。前述したように、リスク情報抽出部4で扱うリスク情報は、0〜10の11段階の中の或る一つのリスクレベルに対して得られるものとしている。すなわち、時刻tで得られたリスク情報がリスクレベルQとすると、(12),(13)式のように表される。
RI(r)=1 (r=Q) …(12)
RI(r)=0 (r≠Q) …(13)
【0102】
一方、このリスク学習におけるリスク情報RI(r)は、図13に示すように、実際はそのリスクレベル付近のリスクも存在すると考えて拡張を行っている。この拡張は、具体的には、隣のリスクレベルをパラメータg(g<1)を用いてg倍、そのまた隣のリスクレベルをg*g倍するという操作を行っており、この操作には、限られた教師データをさらに有効に使えるという効果がある。また、リスクレベル方向の伝播の大きさを表すhは通常、リスク情報の拡張に用いたgと同じ値としている。
【0103】
リスク確率の更新後は、状態認識部6における学習処理で用いた教師情報係数係数e(t)を設定する。この教師情報係数e(t)は、以下の(14),(15)式に従って設定される。時刻tでリスク情報抽出部4から得られるリスク情報をRを用いて、
R≠0のとき、
e(t)=10・R・p(R│st) …(14)
R=0のとき、
e(t)=const …(15)
【0104】
R=0のときは、教師情報が入らなかったときに相当するが、その場合は、教師情報係数e(t)は、定数constすなわち固定値のゲインになる。この値は、教師リスクが得られる確率により決定され、教師ありの学習データ数と教師なしの学習データ数との比率に基づいて設定される。本システムにおいては、経験則として、教師ありの学習データ数=教師なしの学習データ数となるように定数constを設定し、const=0.01としている。
【0105】
教師情報が入った場合は、その確率が高い程、またリスクレベルが大きい程、強く学習される。これにより、実際に起こった事象に対して、認識する確率が小さい場合は、その状態の認識が間違っている可能性が高いことを示し、学習が弱くされる。その状態の代表ベクトルは、同じ状態を認識し、リスクの確率が高かったデータに近づくような学習が行われる。そして、そのような学習が続くことで、その入力データは他の状態と認識されやすくなり、間違っている可能性の高い状態を認識しにくくなる。このようにして全体としての状態認識、リスク認識が最適化される。
【0106】
以上の処理による認識結果の出力例を図14に示す。図14(a)〜(d)は、車載カメラから得られた画像に、認識結果を表示したシステムの出力画像であり、認識したリスクの大きさを、各画面の下部のバーグラフB1〜B4で表している。このバーグラフB1〜B4で表される認識リスクは、前述したリスク確率の期待値を示しており、その上に表示される数字は、認識した状態番号である。
【0107】
図14(a),(b)に示す2枚の画像は、歩行者や対向車等が近くにおらず、リスクが低いと思われるシーンであり、また、図14(c),(d)に示す2枚の画像は、それぞれ、道幅の狭い片側一車線道路で対向車が存在し、道幅が更に小さくなっているシーン、交差点での左折シーンであり、リスクとしては、図14(a),(b)のシーンよりリスクが高いと思われるシーンである。
【0108】
ここで、「リスクが低い(高い)と思われる」と記載したのは、それぞれの画像がいくつのリスク値であるという絶対的な値は存在しないためである。本システムの認識結果を見ると、図14(a),(b)のシーンよりも、図14(c),(d)のシーンの方がリスクが高いと認識できていることがわかる。図15は、このときのリスク確率pt(R│st)の学習結果を示している。
【0109】
以上のように、本システムの仕様は、初めにオフラインである程度事前学習を行った後、オンラインで学習を行うという形態を想定しており、オンライン認識システム1aにおける学習の流れでは、ドライバデータから時間的に部分的な教師情報を抽出し、学習を行っている。このため、ルール生成システム1bにおいて、事前にドライバの運転行動とリスクとの関係をより直接的に求めることで、実際の走行において適応的なリスクルールを抽出するようにしている。
【0110】
すなわち、実際の走行データを用いることで、より現実に即した運転行動とリスクの相関関係を抽出することを実現し、また、大量のデータからラフ集合を用いてルールを生成することで、ドライバ内の差、個人差を許容するルールを抽出することが可能になる。このルールを用いたリスク認識の例は、図16に示され、所定の時間ウィンドウ内や同同時刻で活性化する複数のルールから選定された教示リスク(図中に○,△,□,◇で示す)を用いたオンラインでの学習により、外部環境リスクを高精度に認識することが可能となる。この場合、教師情報が認識システムの目標値となるので、認識器の学習の評価も可能になり、最終的な認識器の認識精度の向上にも貢献することができる。
【符号の説明】
【0111】
1 リスク認識システム
1a オンラインリスク認識システム
1b ルール生成システム
4 リスク情報抽出部
7 リスク認識部
10 運転操作データ収集部
11 ルール生成部
12 ルール選定部
13 教示リスク決定部
【技術分野】
【0001】
本発明は、自動車等の移動体の外部環境に含まれるリスクを認識するリスク認識システムに関する。
【背景技術】
【0002】
近年、自動車等の移動体における予防安全技術として、カメラを搭載して外界環境を撮像し、撮像した画像を処理して外界環境に含まれる危険度(リスク)の情報を認識し、ドライバに警告する、又は運転をアシストするといった技術が開発されている。このような危険情報の認識技術は、例えば、特許文献1や特許文献2に開示されている。
【0003】
特許文献1の技術は、道路環境の検出と、運転者の意志推定とを行うことにより、規定された危険物が存在する可能性のある領域を予測し、この予測された領域に障害物があるか否かを確認することにより、運転者の意志と走行状況に応じた的確な警報発令を可能とするものである。
【0004】
また、特許文献2の技術は、車両に搭載された車載機器とセンタとをネットワーク接続し、車載機器側で、運転者による車両の運転操作から安全運転度を算出して累積・記録すると共に安全運転度を表示し、センタ側では、車載機器から送出された安全運転度を累積して記録することで、各運転者の安全運転度やその傾向を分析して安全運転の啓発等の資料に活用したり、運転者に対し安全運転を行なったことに報いるメリットを与える材料とするものである。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平6−215300号公報
【特許文献2】特開2007−172487号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1,2に開示されているような従来の技術では、歩行者、対向車、障害物、白線等といった危険に結びつく要因を設定し、それらに基づいてリスクの認識を行っており、システムとしては、開発者が想定したリスク要因や認識を予めシステム内に組み込んでおくという形で実現されている。
【0007】
しかしながら、自動車の走行環境のような実際の環境は、天候の変化、歩行者、車、路上の構造物等の存在といったように多様であり、更には、運転する人間も多様であるため、予め想定したモデルでは限界がある。すなわち、予め設定したルールは、「急ブレーキをかけた時は危険である」等の一般的な知識を反映したものとならざるを得ず、実際の運転操作情報と充分な対応を取ることは困難である。特に、中程度(ヒヤリとするレベル)以下のリスクにおいては、ドライバのそのときの状態による差、及びドライバ間の差(個人差)の影響が大きく、そのズレが無視できない大きさとなる。
【0008】
本発明は上記事情に鑑みてなされたもので、移動体の外界環境に含まれる危険度を認識するためのルールをドライバの運転行動との関係からより直接的に求め、ドライバの状態による差や個人差を許容するルールを抽出して、高精度な危険認識を可能とすることのできるリスク認識システムを提供することを目的としている。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明によるリスク認識システムは、移動体の外界環境に含まれる危険度を認識するリスク認識システムであって、ドライバの感じる外部環境リスクとドライバの運転操作に基づく特徴量情報との相関関係を示すルール集合を、ラフ集合を用いて生成するルール生成部と、上記ルール集合を評価して絞り込み、有効なルール群を選定するルール選定部とを備えることを特徴とする。
【発明の効果】
【0010】
本発明によれば、移動体の外界環境に含まれる危険度を認識するためのルールを、ドライバの状態による差や個人差を許容するルールとすることができ、高精度な危険認識を可能とすることができる。
【図面の簡単な説明】
【0011】
【図1】リスク認識システムの基本構成図
【図2】リスクルールの構成を示す説明図
【図3】特徴量抽出の説明図
【図4】ルールの生成及び選定を示す説明図
【図5】特徴量抽出の画像領域を示す説明図
【図6】状態認識の概念図
【図7】1次元自己組織化マップによる学習の概念図
【図8】事前学習とオンライン学習の説明図
【図9】自己組織化マップの学習後の分布を示す説明図
【図10】リスクレベルとリスク確率との関係を示す説明図
【図11】リスク伝播の説明図
【図12】情報伝播の説明図
【図13】リスク情報の拡張を示す説明図
【図14】認識結果の出力例を示す説明図
【図15】リスク確率の学習結果を示す説明図
【図16】教示リスクと外部環境リスクを示す説明図
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施の形態を説明する。
本実施の形態で説明するリスク認識システムは、自動車等の移動体の外界環境の検出結果からその環境内に含まれる危険度(リスク)に係る情報を適応的に認識するシステムであり、事前には想定していなかった環境に対しても、適応的にリスク認識が行えるようにオンラインでの成長を可能とするものである。
【0013】
外界環境のセンシングは、システムの入力系として備える各種センサデバイス、例えば、外界を単眼視やステレオ視で撮像するカメラ、レーザやミリ波等のレーダ装置からのセンシング情報を用いることが可能である。つまり、本システムは、基本的に外界環境を検出するセンサデバイスに依存するものではなく、広義にはセンサデバイスより得られる外界環境情報とリスク情報との相関関係を学習するシステムに適用される。
【0014】
本形態においては、リスク認識システムを自動車等の車両に適用し、車載カメラによって外界を撮像した画像情報と、車内ネットワークを介して入力される車両情報とを用いてリスク情報をオンラインで抽出するシステムへの適用例について説明する。すなわち、本形態のリスク認識システムは、画像から得られた情報とリスクとの関連性を、内部に搭載したルールを用いて認識すること共に、その関連付けを実際の走行で遭遇した環境から学習し、適応的にリスク認識を行う。
【0015】
具体的には、ドライバを認識器の学習においての教師とし、ドライバの運転操作からリスク情報を抽出し、その運転操作に基づくリスク情報と、カメラから得られる画像情報との関連を人工知能技術を用いて学習させる。例えば、ドライバが歩行者を回避するような操作行動を行ったとき、本システムは、その状況が危険であると判断し、そのときに得られた画像は危険であるということを教える。
【0016】
これにより、次の機会に同じような状況(画像)がシステムに入ってきた場合に危険であるという出力を行い、ドライバに警告を与えることができる。また、本システムでは、リスクを確率的に取り扱っている。このことにより、似たような状況でもリスクが異なる場合や、得られている画像情報だけでは判断が出来ない本質的に確率的なリスクも取り扱うことが可能になる。
【0017】
以下、図1を参照して本実施の形態のリスク認識システムについて説明する。図1に示すように、本実施の形態におけるリスク認識システム1は、単一のコンピュータシステム或いはネットワーク等を介して接続された複数のコンピュータシステムで構成され、走行時の外界環境に含まれるリスクを、所定のルールに従って適応的にオンラインで認識するオンラインリスク認識システム1aと、このオンラインリスク認識システム1aに搭載するルールを抽出・生成するルール生成システム1bとを含んでいる。
【0018】
尚、本実施の形態では、ルール生成システム1bはオフラインで予めルールを生成するものとして説明するが、オンラインリスク認識システム1aと一体化して実走行時のオンラインでルールを生成させることも可能である。
【0019】
オンライン認識システム1aは、画像入力部2、車両データ入力部3、リスク情報抽出部4、画像特徴量抽出部5、状態認識部6、リスク認識部7、リスク情報出力部8を基本構成として備えている。また、ルール生成システム1bは、運転操作データ収集部10、ルール生成部11、ルール選定部12、教示リスク決定部13を基本構成として備えている。
【0020】
各部の機能は、以下の通りである。尚、図1においては、外界環境を検出するセンサとしての車載カメラは、図示を省略している。
【0021】
画像入力部2は、車載カメラからの撮像画像を入力する。CCDやCMOS等の撮像素子を有する車載カメラからの撮像画像に対して、ノイズ除去、ゲイン調整、γ補正等のビデオプロセス処理を行い、このビデオプロセス処理されたアナログ撮像画像を所定の階調のデジタル画像に変換する。画像入力部2で処理された画像は、一旦、メモリにストアされて収集され、画像特徴量抽出部5に送られる。
【0022】
車両データ入力部3は、車内ネットワーク50から所定の周期で車両データを入力する。車両データとしては、車速、ハンドル角、アクセル開度、ブレーキ圧力等であり、これらのデータを所定の周期(例えば、30Hz)でサンプリングする。
【0023】
尚、以降の認識処理に必要であれば、車内ネットワーク50上を流れる他の情報、例えば、前後横加速度やヨーレートといった車両運動情報、ヘッドライト、ウインカーといったシステム操作情報、外気温等も入力するようにしても良い。
【0024】
リスク情報抽出部4は、入力された車両情報(ドライバの操作情報)からリスク情報を抽出し、教師情報(リスクの大きさや種類)を作成する。本システムでは、このリスク情報抽出についての学習は行わず、ルール生成システム1bで予め生成したルールを搭載し、このルールを用いてオンラインでのリスク情報を適応的に認識する。
【0025】
尚、リスク情報抽出部4に搭載するルールを生成するルール生成システム1bについては後述するが、概略的には、走行時の運転操作データを収集し、データマイニング手法の一つであるラフ集合を用いてドライバの感じる外部環境リスクとドライバの操作情報との相関関係を示す「リスクルール」を抽出する。
【0026】
画像特徴量抽出部5は、画像入力部2からの画像データを受け取り、得られた画像の特徴量を抽出する。すなわち、得られた画像から、エッジ情報、動き情報、色情報等の特徴量を抽出し、それらの情報をN次元ベクトルとして保持する。このN次元ベクトルには、図1に破線で示すように、画像特徴量以外の車両情報、例えば、車速やヨー角の変化といった情報も含めることができる。
【0027】
尚、本形態で扱う画像データは、単眼のカラーカメラで撮像した画像とするが、赤外カメラから得られる画像やステレオカメラから得られる距離画像であっても良い。また、前述したように、レーザやミリ波等からの情報を用いることも可能であり、その場合、画像特徴量は、より一般的には、外界環境特徴量とも呼ぶべきものである。
【0028】
状態認識部6は、得られたN次元の特徴量ベクトルを1次元の状態という量に変換する。詳細は後述するが、状態とは、入力された画像を走行している場所や、天候、走行状態などによりシーン分けしているイメージになる。実際には、オンライン学習時、今はどのシーンであるかを明示的に教師することはできないため、入力データを状態数Mのクラスにクラスタリングしている。
【0029】
リスク認識部7は、状態認識部6で得られた状態と、リスク情報抽出部4で作成された教師との相関関係を求め、状態のリスクを学習・認識する。
【0030】
リスク情報出力部8は、認識したリスクをモニタや音声等により出力する。このリスク情報の出力については、認識したリスクそのものを出力する以外にも、操作データから得られたリスク情報との差を出力するようにしても良い。例えば、リスク認識部7がリスクが高いと判断した場合でも、操作データの認識により、ドライバが充分注意している状態であれば、リスクは高くないという出力を行うようにして良い。
【0031】
以上のリスク認識システム1においては、現在のリスクの認識・出力と学習とを並行に実行している。すなわち、リスクの認識は、入力画像に対し、それより前までに学習された認識結果によって行い、リスクの学習は、入力された教師情報を用いてリスク認識部7を更新(学習)し、次の時刻は、更新されたリスク認識部7でリスクを認識するという処理を繰り返すことにより、リスク認識と学習とを同時に行う。
【0032】
学習は、以下の(a),(b),(c),(d)に示すように、4つの部分でそれぞれに可能であるが、(a),(b)は学習に大規模な計算を要して時間がかかるため、オンラインでは学習は行わず、予め事前にオフラインで生成したルールを用いている。
(a)ドライバ操作データからのリスク情報の抽出(リスク情報抽出部4)
(b)画像データからの画像特徴量の決定・選択(画像特徴量抽出部5)
(c)画像特徴量から状態への変換(状態認識部6)
(d)状態とリスクとの相関認識(リスク認識部7)
【0033】
次に、リスク認識システム1における各処理の詳細について説明する。以下では、先ず、ルール生成システム1bによるリスクルールの生成処理について説明し、次に、このリスクルールを用いたオンラインリスク認識システム1aの各部の詳細を説明する。
【0034】
[リスクルール生成処理]
前述したように、本形態では、車両操作情報からのリスク抽出に際して、リスク情報抽出部4では学習を行わず、予め生成したルールを用いてドライバの操作情報からリスク情報を抽出するようにしている。このルールに従ったリスク情報の抽出においては、リスク情報をレベル付きの1次元データとして扱う。
【0035】
具体的には、リスクのレベルを0〜10(整数値)の11段階とし、値が大きいほどリスクが高いことを表現する。但し、ここでのリスク情報は、30Hzの各フレーム毎といったように、一定時間毎にリスクを認識しようとするものに限定されるものではない。これは、実際のドライバの操作は、リスクだけにより行われているわけではなく、リスクに伴う操作を行う割合は、全走行中の例えば10%にも満たない一部であろうと考えられるからである。
【0036】
すなわち、ドライバ操作データからのリスク情報の認識は、ドライバの操作行動に影響を与えるような、ある程度大きなリスクがあったときにのみ、それがわかることを第一の目標とする。そのため、リスク0に関しては、出力はリスクがないということだけでなく、教師情報がないということも表している。
【0037】
また、リスク認識のルールは、できるだけ現実に合うように任意に設定するという立場を取ることで、並列に存在する複数のルールによってリスクを推定する。これにより、ルールの追加、削減が他のルールに影響することなく行うことが可能となり、より現実に合うように調整することができる。
【0038】
リスクルールの生成は、車両の運転操作データをラフ集合を用いたデータマイニングの手法で処理し、最終的には、図2に示すように、より単純化した「If(前件部)−Then(後件部)」ルールのN個の集合を得ることを目標としている。このIf−Thenルールの前件部が入力情報と一致したとき、ルールが活性化し、後件部であるリスクレベルが出力される。本実施の形態においては、If−Thenルールの前件部の情報として、実走行での運転操作データを時系列的に収集して離散化し、リスクルールを導くようにしている。
【0039】
本実施の形態では、リスクルールは、オフラインでの(1)実走行による運転操作データ収集、(2)ラフ集合によるルール生成、(3)有効ルールの選定というステップを経て抽出されるが、更に、4)教示リスクルールの決定処理で、オンラインで同時活性化する複数のルール群の中からリスク情報抽出部4への教示リスクを決定する。
【0040】
(1)実走行データの離散化
運転操作データ収集部10は、運転操作データから実際にルールを抽出するためのデータとして、操舵角、アクセル開度、ブレーキ圧力、車速の4種類のデータの時系列情報を収集する。各時系列データは、平均化処理等によって特徴量化され、各特徴量毎に所定段階の数値で離散化される。
【0041】
例えば、図3に示すように、操舵角の時系列データのX秒の区間において、X秒の全区間の平均レベル値H1、前半のX/2秒区間の平均レベル値H2、後半のX/2秒区間の平均レベル値H3を求め、各平均レベル値を、0,1,2,3,4の5段階の数値で離散化して特徴量を作成する。アクセル開度、ブレーキ圧力、車速についても同様の手法で時系列データを特徴量化し、計12個の学習データを得る。尚、ここでは特徴量として平均レベルを用いているが、時系列データの傾き等を用いても良い。
【0042】
(2)ラフ集合に基づくリスクルールの生成
ルール生成部11は、運転操作データ収集部10からの特徴量データをラフ集合によるデータマイニングの手法を用いて処理し、リスクルールを生成する。ラフ集合によるルールの生成は、集合要素の分類を通じて特定の属性を満たすためのルールを生成する手法である。このラフ集合による手法では、対象を或る条件の属性で分類し、決定属性を持つ集合Sを指定したとき、集合Sに含まれる下近似集合と、集合Sを含む上近似集合とに分け、上近似と下近似集合との関係性からルールの絞り込みを行う(下近似集合からの極小決定ルールの決定)。本実施の形態においては、ルールの正確さを示す確信度が100%の集合を下近似集合、それ以外を上近似集合としている。
【0043】
この場合、下近似集合は、確信度100%の優秀なルール集合ではあるが、中には、支持度(ルールを支持する対象数;活性数)が限りなく小さい特異データが含まれていることも多い。従って、生成される極小決定ルールは、誤判定は少ないが、支持度の低い(活性可能性の低い)ものとなるものが多い。また、特異データにより、本来、下近似であるべきルールが上近似ルール化されている場合もある。
【0044】
そこで、本システムでは、支持度が所定レベルより小さいデータを特異データとして除去した上で下近似集合を作成する。そして、図4に示すように、学習データのデータ点数を或る程度の時間長で区切り、所定のデータ番号No34,No35,No38,No48,No55,No56の各学習データ(データ集合)D34,D35,D38,D48,D55,D56から冗長性を排除してデータ識別に必要最小限の属性集合を抽出する(縮約する)ことにより、R34,R35,R38,R48,R55,R56の極小決定ルールを導く。
【0045】
(3)有効リスクルールの選定
ラフ集合に基づく極小決定ルールは、その計算手法の性質上、生成されるルールの数が多大となり、データ点数の増加に伴い計算時間が指数関数的に増加する。しかしながら、有効なリスクルールを抽出するためには、できるだけデータ点数が多いことが理想的であり、ルール導出のための計算時間とルール性能との間にはトレードオフの関係がある。
【0046】
そこで、ルール選定部12では、学習データ毎に個別に生成したリスクルールに対して、クロスバリデーション(cross-validation;交差検定)方式でルール選定を行なう。クロスバリデーション方式は、標本となるデータを分割し、その一部をまず評価して、残る部分を最初の評価の仮説検定に用いる手法であり、その際の評価基準としては、データの信頼度を用いる。
【0047】
すなわち、図4に示すように、各極小決定ルールR34,R35,R38,R48,R55,R56に対して、自己データ以外のデータ集合(未学習データ)を信頼度で降順に並べ、所定の閾値以下(例えば、信頼度80%以下)のデータを削除して評価を行うことにより、ルールR'34,R'35,R'38,R'48,R'55,R'56を選定する。例えば、データ集合D34のデータ数が30000〜40000個であるとき、1000個程度の極小決定ルールR34が抽出され、この極小決定ルールR34を他の未学習データで評価した結果、200個程度の有効なルール群からなるルールR'34が選定される。他のルールRR'35,R'38,R'48,R'55,R'56についても同様である。
【0048】
尚、ルール選定の選定基準としては、信頼度の他、支持度に基づいて選定しても良く、また、信頼度と支持度とを組み合わせて選定するようにしても良い。
【0049】
このような選定を行なうことにより、実用的な計算時間で汎用性の高い有効なルールのみを選定し、ドライバの状態による差や個人差を許容するルールとして高精度な危険認識を可能とするばかりでなく、個々のデータに特化したルール(過学習ルール)を除去することができる。
【0050】
(4)オンラインでの教示リスクの決定
クロスバリデーション方式で選定されたルール群は、オンラインでの同時刻に複数のルールが活性化する場合がある(図16参照)。このため、教示リスク決定部13は、オンラインで同時活性化した複数のルールの中から、リスク情報抽出部4へ提示する唯一の教示リスクを与えるルールを選定する。図4においては、選定されたルールR'34,R'35,R'38,R'48,R'55,R'56の中の同時活性化する複数のルールに対して、多数決や平均化を行って唯一の教示リスクを与えるルールRactを選定する。
【0051】
また、オンラインで複数のルールが活性化する場合、短い時間間隔で複数のルールが活性化する場合もある。このような場合には、或る時間のウィンドウ内で同時活性化するルールの中から多数決若しくは平均化によって唯一の教示リスクを求める。更に、クロスバリデーションによるルール選定の過程で、個々のルールには信頼度や支持度の評価が付与されるので、その評価値に基づいてルールを選定し、教示リスクを求めるようにしても良い。
【0052】
次に、以上のルールが搭載されたオンライン認識システム1aの実走行におけるオンライン処理について、画像特徴量抽出部5における画像特徴量の抽出処理、状態認識部6における状態認識処理、リスク認識部7におけるリスク認識処理の順に説明する。
【0053】
[画像特徴量の抽出処理]
画像特徴量抽出処理では、以降のリスク認識のためのデータを抽出するが、一般に、リスク認識に相関がないデータは認識に悪影響を与える。つまり、この特徴量抽出処理においては、むやみに特徴量を増やすということは得策でなく、逆に、必要な特徴量を用いないことも精度を悪化させる。
【0054】
そのため、どの特徴量を用いるべきかという特徴量選択が課題として発生するが、前述したように、特徴量選択については、それを学習的に得る場合は、以下に説明するリスク認識の上位の学習が必要になり、計算量・メモリ容量的にオンラインでの学習には不利である。
【0055】
従って、本形態では、ここでの特徴量抽出部分は固定として扱う例について説明する。学習する場合には、システムの認識率を基準として評価し、各特徴量の組み合わせを最適化すれば良く、これには、組み合わせの全探索、遺伝的アルゴリズム(GA;Genetic Algorithm)等の発見的な探索法等、既存の最適化手法を用いることができる。
【0056】
本形態においては、画像特徴量抽出部5で予め設定した種類の特徴量を抽出している。ここでは、処理を3つの要素に分け、各要素毎に設定した特徴量を抽出する。3つの要素は、前処理、特徴量計算、領域設定である。具体的には、以下に示すように、前処理で6種類、特徴量計算で10種類、領域設定で4種類のデータを抽出し、それらの組み合わせで計240(6×10×4)次元のデータを抽出する。
【0057】
<前処理>
入力画像に対して、ソベル、縦方向ソベル、横方向ソベル、フレーム間差分、輝度、彩度の6種類のフィルタ処理を行い、6次元の特徴量データを抽出する。
【0058】
<特徴量>
フィルタ処理された画像の画素値に対して、平均、分散、最大値、最小値、横方向重心、縦方向重心、コントラスト、均一性、エントロピー、フラクタル次元の10種類の計算処理を行い、10次元の特徴量データを抽出する。
【0059】
<領域>
図5に示すように、画像内に領域A0を設定し、この設定領域A0の全体、設定領域A0内の左側の領域A1、右側の領域A2、中央の領域A3の4種類の領域について、4次元の特徴量データを抽出する。
【0060】
尚、以上の240次元の特徴量は、オンラインシステムの演算性能に応じて、使用する次元を絞るようにしても良い。例えば、画像以外にも車両データも用いて、画面全体のソベルの平均、分散、画面全体のフレーム間差分の平均、分散、車速、ハンドル角の6次元の特徴量を抽出するようにしても良い。
【0061】
また、以上の特徴量抽出処理においては、各特徴量は正規化しているが、理論上の範囲は非効率であるため、事前に各特徴量の分布を評価しておき、その評価結果を元に最大値及び最小値を設定し、0〜1の数値に正規化している。その場合、最大値・最小値を動的に変化させるようしても良く、例えば、最大値を超える値もしくは最小値を下回る値が入力された場合には、それぞれ範囲を拡大するように最大値・最小値を変更する。逆に、しばらく最小値、最大値付近のデータが入ってこなかった場合は、範囲を狭めるように変更する。
【0062】
また、ここでは基本的な特徴量を用いたが、過去のフレーム情報を用いて動き情報を算出する等、特徴量の時系列的な変動を計算し、その情報を特徴量として用いることもできる。更に、全体としてのリスク認識の精度向上のためには、この特徴量抽出処理に高精度の画像処理を入れることもでき、例えば、歩行者認識結果、道路の白線認識結果、障害物認識結果等を含めて、ここでの抽出データに組み込むようにしても良い。このような意味では、本システムは、個々の外界認識結果を統合し、リスクを認識するシステムと捉えることもできる。
【0063】
[状態認識処理]
状態認識部6では、画像特徴量抽出部5で得られたN次元の特徴量データを1次元の状態という量に圧縮変換する。つまり、状態認識部6は、入力された画像特徴量データから状態という量を出力する識別器として機能する(但し、この識別器の出力は、1状態を確定せずに確率的に扱うこともできる)。本処理における学習は、この識別器の内部構造を入力データ、教師データを用いて実環境に適応させることになるが、ここでの学習における教師は、この入力データがどの状態であるかを直接教えるのではなく、出力された状態から認識されるリスクを、できるだけ効率的に、且つ精度良く認識できるようにするものである。
【0064】
以下、入力された画像特徴量から状態を出力する認識処理、その認識処理自体を学習する学習処理に分けて説明を行う。
【0065】
<認識処理>
識別器としての認識処理は、入力データに対してプロトタイプ型の識別処理を行う。ここで、状態番号をSとすると、各状態は代表値を持ち、これをprots(i)とする。状態代表値prots(i)は、N次元のベクトルであり、i=0,1,…,N−1となる。
【0066】
入力データ(特徴量ベクトル)をIn(i)とすると、入力ベクトルは、以下の(1)式に示すように、状態代表値prots(i)との距離L(s)により求められ、どの状態に属するかが認識される。
L(s)=(Σi(prots(i)−In(i))2)1/2 …(1)
【0067】
入力データの属する状態(状態番号)Kは、以下の(2)式に示すように、距離L(s)の最小値で求められ、入力ベクトルが一番近い状態代表値の状態であると認識される。
K=mins(L(s)) …(2)
【0068】
図6は、N次元中の3次元に注目した場合を示しており、入力データは、状態S6より状態S1に近いため、S1の状態であると認識される。以上が基本的な状態認識となるが、これは入力データがどの状態であるかを確定させていることになる。
【0069】
この場合、図6では、状態S1と状態S6とでは、距離はそれほど違いはないが、若干、状態S1との距離が近いことで、入力データは状態S1であると認識される。つまり、状態S1と状態S6との距離がほぼ同じ領域においては、認識が不安定になる可能性がある。
【0070】
従って、ここでは、更に拡張し、状態が確率的であるとして扱うことで、認識の不安定さを解消する。すなわち、入力データが状態sである確率をP(s)とすると、状態の確率は、距離L(s)を用いて、以下の(3),(4)式で求める。ここで、σはパラメータであり、小さくするほど状態を確定的にする効果がある。
P(s)=(exp(−L(s)/σ))/z …(3)
z=Σsexp(−L(s)/σ) …(4)
【0071】
このように、状態を入力データとの距離に応じた尺度で確率的に決定した場合、以後の計算で全ての状態について計算する必要がある。従って、計算量を削減するため、一定値以下の確率は0とし、計算として扱わないようにしても良い。
【0072】
尚、P(s)の定義において、s=Kのときだけ1、それ以外を0とすれば、状態を確定したときと同じになる。
【0073】
<学習処理>
次に、状態認識部6の学習処理では、入力データ及び教師情報から、各状態の代表値の学習(更新)を行う。学習は、階層型ニューラルネットワークの一種である自己組織化マップ(SOM;Self-Organization Maps)の学習をベースとする。
【0074】
SOMは、M次元(通常は2次元)に並べられたユニットが、それぞれベクトル値(通常入力との結線の重みと呼ばれる)を持ち、認識処理において入力の属する状態Kを求めたように、入力に対して勝者ユニットをベクトルの距離を基準として決定する。そして、勝者ユニット及びその周辺のユニットの参照ベクトル値を、入力ベクトルに近づくように更新する。これを繰り返し、全体が入力データの分布を最適に表現できるように教師無しで学習してゆく。1次元SOMによる学習のイメージを、図7に示す。
【0075】
本システムにおいては、SOMによる学習は、以下のようになる。但し、本システムにおいては、ユニット(状態)は1次元につながっているものとする。勝者ユニットの状態番号を、前述の状態番号Kとすると、代表ベクトルprotsは、以下の(5)式に従って更新(学習)される。
prots(i)→prots(i)+α(In(i)−prots(i) …(5)
【0076】
ここで、(5)式におけるαは、更新の重みを示す学習率係数であり、以下の(6)式で表される。
α=a・b(t)・c(D(s,K),t)・e(t) …(6)
但し、a :学習係数
b :時間減衰係数
c :領域減衰係数
D(s,K):更新対象のユニットと勝者ベクトル間のつながりにおける距離
e :教師情報係数
【0077】
(6)式における各パラメータa,b,cは、通常のSOMでも用いられるパラメータであり、時間減衰係数bは、学習経過時間t(通常何回目の更新かを表す)の関数であり、一般には時間tの増加につれ減衰する。また、距離D(s,K)は、特徴量空間上での距離ではなく、例えば、図7においては、勝者ユニットの隣のユニットは距離1、その隣は距離2となる。
【0078】
一方、領域減衰係数cは、その距離D(s,K)の関数であり、距離D(s,K)が大きくなる程、値が小さく、ある一定以上の距離D(s,k)については更新されないように設定される。また、領域減衰係数cは、時間tの関数でもあり、時間tが大きくなる程、値が小さくなる。更に、本システムでは、教師情報を示す教師情報係数e(t)を導入するが、これについては後述する。
【0079】
このように、SOMの学習アルゴリズムでは、学習初期は、広範囲のユニットが入力データに近づくように更新され、学習が進むにつれ、更新されるユニット数、更新量とも少なくなり、最終的には、学習率係数α(更新の重み)が0になり、学習が終了する。尚、初期状態では、通常、ユニットはベクトル空間上の中心付近にランダムに配置される。
【0080】
ここで、本システムでは、オンライン学習システムであることから、以上の学習アルゴリズムを若干変更し、学習を事前学習フェーズとオンライン学習フェーズとに分け、各学習フェーズで学習のパラメータを変更している。すなわち、学習の終了時刻は設けずに、事前学習フェーズとオンライン学習フェーズとでそれぞれの時刻で一定とし、また、更新範囲の減衰も設けず、事前学習時とオンライン学習時の範囲は異なるものとする。
【0081】
これは、オンライン学習である本システムにおいては、学習に終了時刻はないこと、また、事前学習を導入しているのは、一義的に一定値とすると、更新量が大きい場合、SOMの分布が入力データの平均付近の狭い範囲に集中してしまうためであり、逆に小さい場合には、SOMの分布が特徴量空間上にばらつき過ぎてしまい、入力データの分布をうまく表現できないためである。
【0082】
そのため、図8に示すように、事前学習として、時間減衰係数b,領域減衰係数cの値を大きくとることで、先ず、SOMを入力データ分布の中心付近に寄せておき、その後、時間減衰係数b,領域減衰係数cを小さくすることで、適切な分布を表現できるようにしている。尚、ここでの事前学習は、市場で実走行に使う前のオフラインでの学習を想定している。
【0083】
図9に、学習後のSOMの分布例を示す。実際の特徴量空間は240次元であるが、図9では、そのうちの3次元のみを表しており、グラフの各点が入力データを示している。実際には、各点は色つきの点として表現され、色によってリスクの大きさを表している。黒い点が各状態の代表ベクトルで、それらを結ぶ黒線がSOMのつながりである。
【0084】
以上では、入力データの分布を最適に表現できる学習法について述べてきたが、実際に求められるのは、リスクを認識する上で入力データの分布を最適に表現できることである。SOMは、本来、教師なしの学習法(入ってきたデータを均等に扱い学習していく)であるが、本システムにおいては、リスクを認識する上での効率的な学習として、前述の教師情報係数e(t)によるリスク情報を与えた学習を行う。
【0085】
詳細は後述するが、リスクの認識は、認識した状態のリスク確率という形で出力する。これは、その状態が、リスクをどの程度の確率で持つかということを表したものである。具体的な学習法としては、時刻tでの入力データがドライバ情報から得られたリスクレベルRという教師情報を持つ場合、認識された状態が持つリスク確率においてリスクレベルRの確率が高ければ教師情報係数e(t)を大きくし、小さければ、教師情報係数e(t)を小さくする。また、教師情報が得られない場合には、教師情報係数e(t)を小さくするという処理にする。
【0086】
これにより、学習を進めるうちに、認識された状態は、そのときのリスクを高確率で持つようになり、つまりはリスクの認識精度が上がっているということになる。具体的な教師情報係数e(t)の設定は、次のリスク認識処理において説明する。
【0087】
また、状態を確率的に求めた場合の学習については、勝者ユニットを確率に応じた重みで表現し、その重みに応じた更新量により更新を行う。但し、計算量が増大するという問題があるので、本システムでは、学習時については、勝者ユニットを入力データに一番近い状態に確定させて学習を行っており、一定値以下の確率の状態については、自身を勝者とする更新は行わない。
【0088】
[リスク認識処理]
リスク認識部7では、状態認識部6で求めた状態により、リスクを出力する。前述したように、各状態はそれぞれリスク確率分布を持つため、状態sでのリスクの確率分布をp(R│s)と表すことにする。尚、ここでのリスクは、リスク情報抽出部4でのリスクと対応しており、11段階のレベルに分けているので、リスクレベルRとリスク確率(分布)p(R│s)とは、例えば図10に示すような関係で表される。
【0089】
リスク出力は、基本的にこのリスク確率p(R│s)を出力することになるが、出力結果を例えば警報や表示などに使う場合には、確率分布のままでは使いにくいため、リスク出力としては、以下の(7)式で示される期待値Eを出力する。
E=ΣRR・p(R│s) …(7)
【0090】
また、状態を確率的に取り扱った場合、期待値Eは以下の(8)式のようになる。
E=ΣsΣRP(s)・R・p(R│s) …(8)
【0091】
<リスク確率の学習処理>
リスク確率の学習は毎フレームに行われ、リスク確率は逐次更新される。リスク確率は、基本的に、過去に経験したリスクレベルの頻度分布を用いて算出する。しかし、本システムは、オンライン学習なので無限遠過去のデータまで持つことは難しく、また遠い過去の経験に現在と同じ重要度を持たせることは好ましくないと考えられる。従って、ここでは、以下の方法でリスク確率を更新する。
【0092】
時刻tでの状態stのリスク確率をpt(R│st)としたとき、以下の(9)式に従って、リスク確率を更新する。
pt+1(R│st)=pt(R│st)+β…(9)
【0093】
更に、リスク確率pt+1(R│st)は、以下の(10)式に従って正規化する。
pt+1(R│st)←pt+1(R│st)/ΣRpt+1(R│st) …(10)
【0094】
尚、状態の更新は、その時刻の状態のみである。また、状態を確率的に扱う場合は、各状態においてβをp(st)・βとして計算する。ここで、βは定数であり、この値が大きいほどより現在の情報を重要視することになる。
【0095】
ここで、与えられる教師リスクについては、リスク情報抽出部4の説明で述べたように、各フレーム毎に得られるとは限らない。リスクレベルが高い場合には、ドライバデータからリスク情報が得られる場合が多いが、リスクレベルが低い場合には、特に教師情報が得られる可能性が小さくなってしまうという問題がある。
【0096】
この問題に対して、本システムでは、教師リスク情報を時間軸方向で伝播させることで対処するようにしている。これは、ある時刻に教師リスク情報が得られた場合は、その前の時刻もその時刻と同じではないまでも危険であるという因果関係に基づくものであり、この因果関係を用いて教師リスク情報を伝播させる。
【0097】
この場合、過去に情報を伝播させるには、伝播させる分のすべての過去の状態遷移を記憶している必要があるが、リアルタイムでの学習を前提としたとき、記憶容量と計算量がネックとなる。そこで、本システムでは、強化学習の際に用いられるTD(Temporal Difference)誤差を考慮した伝播により、リスク確率を更新している。
【0098】
強化学習は、その時々の状態に対しての明示的な行動の指示ではなく、行った行動に対しての報酬によって学習を行い、この先得られるであろう報酬の総和が最大となる行動をその時々で選択する学習法であり、時刻tにおける実際の報酬と報酬の予測値の差をTD誤差(TD-ERROR)と呼び、これを0とするように学習が行われる。本システムのリスク情報は、この強化学習の報酬に相当し、図11に示すように、或るシーンでの状態遷移を考えると、状態S1に至る状態S2,S7,…にもリスクがあるはずであると考えられ、リスク情報の伝播を行う。
【0099】
この場合、伝播は、現在の状態から一つ前のフレームへ伝播させるだけで良く(つまり計算も記憶も1フレーム前との関係だけ扱えば良い)、一回の経験では、リスク情報は充分な過去まで伝播しないものの、同じような経験を繰り返すことで、徐々にリスク情報が伝播し、その因果関係を学習することができる。また、リスク情報の伝播は、図12に示すように、同じリスクレベルの時刻tの状態Stから時刻t−1の状態St-1への伝播のみではなく、異なるリスクレベルの状態間においても伝播させるようにする。但し、リスクレベル0は、リスクがないという他に、リスク情報がないという場合も含むため、伝播はさせない。
【0100】
伝播によるリスク確率p(r│st-1)の更新は、以下の(11)式によって行われる。
p(r│st-1)=p(r│st-1)+η・(RI(r)+γ・p(r│st)−p(r│st-1))
+h・η・(γ・p(r−1│st)−p(r−1│st-1))
+h・η・(γ・p(r+1│st)−p(r+1│st-1)) …(11)
但し、h:リスクレベル方向の伝播の大きさを表すパラメータ
γ:時系列の伝播の大きさを表すパラメータ
η:一回の学習での更新の大きさを表すパラメータ
【0101】
ここで、時刻tで得たリスク情報を、リスクレベルrを用いてRI(r)と表している。前述したように、リスク情報抽出部4で扱うリスク情報は、0〜10の11段階の中の或る一つのリスクレベルに対して得られるものとしている。すなわち、時刻tで得られたリスク情報がリスクレベルQとすると、(12),(13)式のように表される。
RI(r)=1 (r=Q) …(12)
RI(r)=0 (r≠Q) …(13)
【0102】
一方、このリスク学習におけるリスク情報RI(r)は、図13に示すように、実際はそのリスクレベル付近のリスクも存在すると考えて拡張を行っている。この拡張は、具体的には、隣のリスクレベルをパラメータg(g<1)を用いてg倍、そのまた隣のリスクレベルをg*g倍するという操作を行っており、この操作には、限られた教師データをさらに有効に使えるという効果がある。また、リスクレベル方向の伝播の大きさを表すhは通常、リスク情報の拡張に用いたgと同じ値としている。
【0103】
リスク確率の更新後は、状態認識部6における学習処理で用いた教師情報係数係数e(t)を設定する。この教師情報係数e(t)は、以下の(14),(15)式に従って設定される。時刻tでリスク情報抽出部4から得られるリスク情報をRを用いて、
R≠0のとき、
e(t)=10・R・p(R│st) …(14)
R=0のとき、
e(t)=const …(15)
【0104】
R=0のときは、教師情報が入らなかったときに相当するが、その場合は、教師情報係数e(t)は、定数constすなわち固定値のゲインになる。この値は、教師リスクが得られる確率により決定され、教師ありの学習データ数と教師なしの学習データ数との比率に基づいて設定される。本システムにおいては、経験則として、教師ありの学習データ数=教師なしの学習データ数となるように定数constを設定し、const=0.01としている。
【0105】
教師情報が入った場合は、その確率が高い程、またリスクレベルが大きい程、強く学習される。これにより、実際に起こった事象に対して、認識する確率が小さい場合は、その状態の認識が間違っている可能性が高いことを示し、学習が弱くされる。その状態の代表ベクトルは、同じ状態を認識し、リスクの確率が高かったデータに近づくような学習が行われる。そして、そのような学習が続くことで、その入力データは他の状態と認識されやすくなり、間違っている可能性の高い状態を認識しにくくなる。このようにして全体としての状態認識、リスク認識が最適化される。
【0106】
以上の処理による認識結果の出力例を図14に示す。図14(a)〜(d)は、車載カメラから得られた画像に、認識結果を表示したシステムの出力画像であり、認識したリスクの大きさを、各画面の下部のバーグラフB1〜B4で表している。このバーグラフB1〜B4で表される認識リスクは、前述したリスク確率の期待値を示しており、その上に表示される数字は、認識した状態番号である。
【0107】
図14(a),(b)に示す2枚の画像は、歩行者や対向車等が近くにおらず、リスクが低いと思われるシーンであり、また、図14(c),(d)に示す2枚の画像は、それぞれ、道幅の狭い片側一車線道路で対向車が存在し、道幅が更に小さくなっているシーン、交差点での左折シーンであり、リスクとしては、図14(a),(b)のシーンよりリスクが高いと思われるシーンである。
【0108】
ここで、「リスクが低い(高い)と思われる」と記載したのは、それぞれの画像がいくつのリスク値であるという絶対的な値は存在しないためである。本システムの認識結果を見ると、図14(a),(b)のシーンよりも、図14(c),(d)のシーンの方がリスクが高いと認識できていることがわかる。図15は、このときのリスク確率pt(R│st)の学習結果を示している。
【0109】
以上のように、本システムの仕様は、初めにオフラインである程度事前学習を行った後、オンラインで学習を行うという形態を想定しており、オンライン認識システム1aにおける学習の流れでは、ドライバデータから時間的に部分的な教師情報を抽出し、学習を行っている。このため、ルール生成システム1bにおいて、事前にドライバの運転行動とリスクとの関係をより直接的に求めることで、実際の走行において適応的なリスクルールを抽出するようにしている。
【0110】
すなわち、実際の走行データを用いることで、より現実に即した運転行動とリスクの相関関係を抽出することを実現し、また、大量のデータからラフ集合を用いてルールを生成することで、ドライバ内の差、個人差を許容するルールを抽出することが可能になる。このルールを用いたリスク認識の例は、図16に示され、所定の時間ウィンドウ内や同同時刻で活性化する複数のルールから選定された教示リスク(図中に○,△,□,◇で示す)を用いたオンラインでの学習により、外部環境リスクを高精度に認識することが可能となる。この場合、教師情報が認識システムの目標値となるので、認識器の学習の評価も可能になり、最終的な認識器の認識精度の向上にも貢献することができる。
【符号の説明】
【0111】
1 リスク認識システム
1a オンラインリスク認識システム
1b ルール生成システム
4 リスク情報抽出部
7 リスク認識部
10 運転操作データ収集部
11 ルール生成部
12 ルール選定部
13 教示リスク決定部
【特許請求の範囲】
【請求項1】
移動体の外界環境に含まれる危険度を認識するリスク認識システムであって、
ドライバの感じる外部環境リスクとドライバの運転操作に基づく特徴量情報との相関関係を示すルール集合を、ラフ集合を用いて生成するルール生成部と、
上記ルール集合を評価して絞り込み、有効なルール群を選定するルール選定部と
を備えることを特徴とするリスク認識システム。
【請求項2】
上記ルール生成部は、支持度が所定レベルより低い特異データを削除して下近似集合を作成し、該下近似集合と上近似集合との関係性に基づいて上記ルール集合を生成することを特徴とする請求項1記載のリスク認識システム。
【請求項3】
上記ルール生成部は、データ点数を所定の時間長で区切ったデータ集合毎に、個別に上記ルール集合を生成し、
上記ルール選定部は、上記ルール集合の各ルールをクロスバリデーション方式で評価してルール選定を行うことを特徴とする請求項1又は2記載のリスク認識システム。
【請求項4】
上記ルール選定部は、各データ集合の信頼度に基づいてルール選定を行うことを特徴とする請求項3記載のリスク認識システム。
【請求項5】
上記ルール選定部は、各データ集合の支持度に基づいてルール選定を行うことを特徴とする請求項3又は4記載のリスク認識システム。
【請求項6】
上記特徴量情報を、上記ドライバの運転操作の時系列データを用いて作成することを特徴とする請求項1から5の何れか一に記載のリスク認識システム。
【請求項7】
同時に活性化する上記ルール群の中から、多数決で唯一のルールを求めることを特徴とする請求項1から6の何れか一に記載のリスク認識システム。
【請求項8】
同時に活性化する上記ルール群の中から、平均化により唯一のルールを求めることを特徴とする請求項1から6の何れか一に記載のリスク認識システム。
【請求項9】
同時に活性化する上記ルール群の中から、上記ルール選定の際の信頼度に基づいて唯一のルールを求めることを特徴とする請求項4記載のリスク認識システム。
【請求項10】
同時に活性化する上記ルール群は、所定の時間ウィンドウ内で同時活性化するルール群であることを特徴とする請求項7から9の何れか一に記載のリスク認識システム。
【請求項1】
移動体の外界環境に含まれる危険度を認識するリスク認識システムであって、
ドライバの感じる外部環境リスクとドライバの運転操作に基づく特徴量情報との相関関係を示すルール集合を、ラフ集合を用いて生成するルール生成部と、
上記ルール集合を評価して絞り込み、有効なルール群を選定するルール選定部と
を備えることを特徴とするリスク認識システム。
【請求項2】
上記ルール生成部は、支持度が所定レベルより低い特異データを削除して下近似集合を作成し、該下近似集合と上近似集合との関係性に基づいて上記ルール集合を生成することを特徴とする請求項1記載のリスク認識システム。
【請求項3】
上記ルール生成部は、データ点数を所定の時間長で区切ったデータ集合毎に、個別に上記ルール集合を生成し、
上記ルール選定部は、上記ルール集合の各ルールをクロスバリデーション方式で評価してルール選定を行うことを特徴とする請求項1又は2記載のリスク認識システム。
【請求項4】
上記ルール選定部は、各データ集合の信頼度に基づいてルール選定を行うことを特徴とする請求項3記載のリスク認識システム。
【請求項5】
上記ルール選定部は、各データ集合の支持度に基づいてルール選定を行うことを特徴とする請求項3又は4記載のリスク認識システム。
【請求項6】
上記特徴量情報を、上記ドライバの運転操作の時系列データを用いて作成することを特徴とする請求項1から5の何れか一に記載のリスク認識システム。
【請求項7】
同時に活性化する上記ルール群の中から、多数決で唯一のルールを求めることを特徴とする請求項1から6の何れか一に記載のリスク認識システム。
【請求項8】
同時に活性化する上記ルール群の中から、平均化により唯一のルールを求めることを特徴とする請求項1から6の何れか一に記載のリスク認識システム。
【請求項9】
同時に活性化する上記ルール群の中から、上記ルール選定の際の信頼度に基づいて唯一のルールを求めることを特徴とする請求項4記載のリスク認識システム。
【請求項10】
同時に活性化する上記ルール群は、所定の時間ウィンドウ内で同時活性化するルール群であることを特徴とする請求項7から9の何れか一に記載のリスク認識システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図11】
【図12】
【図13】
【図14】
【図16】
【図9】
【図10】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図11】
【図12】
【図13】
【図14】
【図16】
【図9】
【図10】
【図15】
【公開番号】特開2011−3076(P2011−3076A)
【公開日】平成23年1月6日(2011.1.6)
【国際特許分類】
【出願番号】特願2009−146638(P2009−146638)
【出願日】平成21年6月19日(2009.6.19)
【出願人】(000005348)富士重工業株式会社 (3,010)
【Fターム(参考)】
【公開日】平成23年1月6日(2011.1.6)
【国際特許分類】
【出願日】平成21年6月19日(2009.6.19)
【出願人】(000005348)富士重工業株式会社 (3,010)
【Fターム(参考)】
[ Back to top ]