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