リスク予測システム
【課題】現在のリスクだけでなく近い未来のリスクを認識し、ドライバへの警告や車両制御によるリスク回避を可能とする。
【解決手段】特徴量抽出部4で画像入力部2からの画像データから特徴量を抽出し、状態認識部5でN次元の特徴量ベクトルを1次元の状態に変換する。また、リスク情報抽出部6で車両データ入力部3から入力される車両情報からリスク情報を抽出して教師情報を作成する。リスク認識部7は、状態認識部5で得られた状態とリスク情報抽出部6で作成された教師との相関関係から状態のリスクを学習・認識する。更に、リスク予測部8は、時系列的な状態の遷移をマルコフモデルを用いてモデル化し、状態遷移確率をオンラインで学習更新することにより未来の状態を予測して対応するリスクを予測する。そして、リスク情報出力部9から現在のリスクと予測した未来のリスクをモニタや音声等により出力する。
【解決手段】特徴量抽出部4で画像入力部2からの画像データから特徴量を抽出し、状態認識部5でN次元の特徴量ベクトルを1次元の状態に変換する。また、リスク情報抽出部6で車両データ入力部3から入力される車両情報からリスク情報を抽出して教師情報を作成する。リスク認識部7は、状態認識部5で得られた状態とリスク情報抽出部6で作成された教師との相関関係から状態のリスクを学習・認識する。更に、リスク予測部8は、時系列的な状態の遷移をマルコフモデルを用いてモデル化し、状態遷移確率をオンラインで学習更新することにより未来の状態を予測して対応するリスクを予測する。そして、リスク情報出力部9から現在のリスクと予測した未来のリスクをモニタや音声等により出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自動車等の移動体の外部環境に含まれるリスクを認識して予測するリスク予測システムに関する。
【背景技術】
【0002】
近年、自動車等の移動体における予防安全技術として、カメラを搭載して外界環境を撮像し、撮像した画像を処理して外界環境に含まれる危険度(リスク)の情報を認識し、ドライバに警告する、又は運転をアシストするといった技術が開発されている。
【0003】
このような危険情報の認識技術は、例えば、特許文献1に開示されている。特許文献1の技術は、車両周囲の環境の対象物に対して、その種類や属性毎に危険度パラメータを設定し、この危険度パラメータに基づいて危険度を演算するものである。
【0004】
特許文献1に開示されているような従来の技術では、歩行者、対向車、障害物、白線等といった危険に結びつく要因を設定し、それらに基づいてリスクの認識を行っており、実際のシステムとしては、開発者が想定したリスク要因や認識を予めシステム内に組み込んでおくという形で実現されている。
【0005】
しかしながら、自動車の走行環境のような実際の環境は、天候の変化、歩行者、車、路上の構造物等の存在といったように多様であり、更には、運転する人間も多様であるため、従来の予め設定した一つの認識モデルでは限界があり、危険に結びつく要因についての認識が高精度で行われなければ、全体としてのリスクを認識できないばかりでなく、予め想定していた以外の危険な場面では認識できないという問題がある。
【0006】
このため、本出願人は、特許文献2において、実際の環境下での経験をシステムが自律的に学習し、多様な外界環境に対応して危険度の認識を可能とすることのできるオンライン学習システムを提案している。特許文献2の技術は、実際の環境下での経験をシステムが自律的に学習するため、ユーザの運転傾向に適合した認識が可能である。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2003−81039号公報
【特許文献2】特開2008−238831号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
従来の技術は、ある時刻の画像情報等を用いて、その時刻のリスクを認識するものである。このため、或る時点で認識したリスクを、ドライバに警告したり直接車両制御に用いる場合、リスクを回避するまでに充分な時間がないという状況が起こり得る。
【0009】
本発明は上記事情に鑑みてなされたもので、現在のリスクだけでなく近い未来のリスクを認識し、ドライバへの警告や車両制御によるリスク回避を可能とすることのできるリスク予測システムを提供することを目的としている。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明によるリスク予測システムは、移動体の外界環境を検出し、この外界環境に含まれるリスクを認識して予測するリスク予測システムであって、上記外界環境の検出情報から抽出した特徴量をクラスタリングして状態を認識する状態認識部と、上記状態認識部で認識された状態とリスクの教師情報との相関に基づいて、上記状態の有するリスクを適応的に学習し、上記外界環境に含まれる現在のリスクを認識するリスク認識部と、上記状態の時系列情報に基づいて、現在認識しているリスクよりも先の未来のリスクを予測するリスク予測部とを備えることを特徴とする。
【発明の効果】
【0011】
本発明によれば、現在のリスクだけでなく近い未来のリスクを認識することができ、ドライバへの警告や車両制御によるリスク回避を可能とすることができる。
【図面の簡単な説明】
【0012】
【図1】リスク予測システムの基本構成図
【図2】リスク予測の説明図
【図3】特徴量抽出の画像領域を示す説明図
【図4】状態認識の概念図
【図5】1次元自己組織化マップによる学習の概念図
【図6】事前学習とオンライン学習の説明図
【図7】自己組織化マップの学習後の分布を示す説明図
【図8】リスクレベルとリスク確率との関係を示す説明図
【図9】リスク伝播の説明図
【図10】情報伝播の説明図
【図11】リスク情報の拡張を示す説明図
【図12】状態遷移の度数分布を示すヒストグラム
【図13】ゲイン関数の特性を示すグラフ
【図14】リスクレベルの確率分布を示す説明図
【図15】現在リスクとして表現される異なるリスクレベル分布を示す説明図
【図16】予測リスクの出力例1を示す説明図
【図17】予測リスクの出力例2を示す説明図
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施の形態を説明する。
本発明のリスク予測システムは、自動車等の移動体に搭載され、外界環境の検出結果からその環境内に含まれる危険度(リスク)に係る情報を適応的に認識するシステムである。このシステムは、現在のリスクだけでなく、さらに数秒後といった近い未来のリスクを認識することができ、ドライバへの警告や車両制御によるリスクの回避を可能とし、自車及び自車周辺の車両、歩行者の安全向上に寄与することができる。
【0014】
外界環境のセンシングは、システムの入力系として備える各種センサデバイス、例えば、外界を単眼視やステレオ視で撮像するカメラ、レーザやミリ波等のレーダ装置からのセンシング情報を用いることが可能である。つまり、本システムは、基本的に外界環境を検出するセンサデバイスに依存するものではなく、広義にはセンサデバイスより得られる外界環境情報とリスク情報との相関関係を学習し、リスクを予測するシステムである。
【0015】
本形態においては、リスク予測システムを自動車等の車両に適用し、車載カメラによって外界を撮像した画像情報と、ドライバの運転操作や車両の運転状態等の車両情報とを用いてリスク情報を抽出する例について説明する。すなわち、本形態のリスク予測システムは、画像から得られた情報から直接リスクとの関連付けを行うことでリスクを認識すると共に、その関連付けを実際の走行で遭遇した環境から学習して適応的に認識を行い、現在認識しているリスクのみならず、数秒先のリスクをも予測する。
【0016】
以下、図1を参照して本形態のリスク予測システムについて説明する。本形態におけるリスク予測システム1は、単一のコンピュータシステム或いはネットワーク等を介して接続された複数のコンピュータシステムで構成されている。車両の外界環境を検出するセンサとしては、CCDやCMOS等の撮像素子を有する車載カメラを用いている。
【0017】
具体的には、リスク予測システム1は、画像入力部2、車両データ入力部3、特徴量抽出部4、状態認識部5、リスク情報抽出部6、リスク認識部7、リスク予測部8、リスク情報出力部9を基本構成として備えている。詳細は後述するが、本システムは、車載カメラで撮像した画像を主として抽出した特徴量を「状態」という量に変換してクラスタリングを行い、各状態に対するリスクの確率密度分布を学習したリスク分布からリスクを認識するようにしている。リスクの予測は、現在のステップの「状態」から次のステップの「状態」を用いて行い、予測した状態が有するリスク情報から未来のリスクを予測する。
【0018】
一般に、或る状況を認識した後、次にどのような状況になるかは、ドライバの性格や運転操作の癖、ドライバがよく遭遇する走行シーン等により、ドライバ毎に異なると考えられる。例えば、せっかちなドライバと用心深いドライバとでは、信号の変わり目で交差点に進入するかの判断は異なるであろうと思われる。つまり、予測はドライバ毎に異なるべきであり、逆に言うとオンラインで学習するということは、予め作成された認識処理で予測を行う場合に比べて、より高い精度の予測が可能になる。
【0019】
先ず、各部の概略的な機能について説明する。尚、図1においては、外界環境を検出するセンサとしての車載カメラは、図示を省略している。
【0020】
画像入力部2は、車載カメラからの撮像画像を入力し、ノイズ除去、ゲイン調整、γ補正等のビデオプロセス処理を行い、このビデオプロセス処理されたアナログ撮像画像を所定の階調のデジタル画像に変換する。画像入力部2で処理された画像は、一旦、メモリにストアされて収集され、特徴量抽出部4に送られる。
【0021】
車両データ入力部3は、車内ネットワーク等から所定の周期で車両データを入力する。車両データとしては、車速、ハンドル角、アクセル開度、ブレーキ圧力等であり、これらのデータを所定の周期(例えば、30Hz)でサンプリングする。
【0022】
尚、以降の認識処理に必要であれば、車内ネットワーク上を流れる他の情報、例えば、前後横加速度やヨーレートといった車両運動情報、ヘッドライト、ウインカーといったシステム操作情報、外気温等も入力する。
【0023】
特徴量抽出部4は、画像入力部2からの画像データを受け取り、得られた画像の特徴量を抽出する。すなわち、得られた画像から、エッジ情報、動き情報、色情報等の特徴量を抽出し、それらの情報をN次元ベクトルとして保持する。このN次元ベクトルには、図1に破線で示すように、画像特徴量以外の車両情報、例えば、車速やヨー角の変化といった情報も含める。
【0024】
尚、本形態で扱う画像データは、単眼のカラーカメラで撮像した画像とするが、赤外カメラから得られる画像やステレオカメラから得られる距離画像であっても良い。また、前述したように、レーザやミリ波等からの情報を用いることも可能であり、その場合、画像特徴量は、より一般的には、外界環境特徴量とも呼ぶべきものである。
【0025】
状態認識部5は、得られたN次元の特徴量ベクトルを、最終的に1次元の状態という量に変換する。状態とは、入力された画像を走行している場所や、天候、走行状態などによりシーン分けしているイメージになる。実際には、オンライン学習時、今はどのシーンであるかを明示的に教師することはできないため、入力データを状態数Mのクラスにクラスタリングしている。
【0026】
リスク情報抽出部6は、入力された車両情報(ドライバの操作情報)からリスク情報を抽出し、教師情報(リスクの大きさや種類)を作成する。本システムでは、このリスク情報抽出についての学習は行わず、予め設定したルールを用いてリスク情報を認識する。
【0027】
リスク認識部7は、状態認識部5で得られた状態と、リスク情報抽出部6で作成された教師との相関関係を求め、状態のリスクを学習・認識する。
【0028】
リスク予測部8は、本実施の形態においては、リスク認識で出力される状態の遷移をマルコフモデルを用いてモデル化し、状態遷移確率をオンライン(実走行)で学習更新することにより、未来の状態を予測して対応するリスクを予測する。すなわち、図2に示すように、各シーンの画像の特徴量から状態を認識してリスク認識及び学習を行うオンライン学習動作(図中の黒塗り矢印で示す部分)の時系列の遷移に注目し、得られる状態系列が有するリスクの確率密度分布から未来のリスクを予測する(図中の白抜き矢印で示す部分)。
【0029】
リスク情報出力部9は、認識したリスクをモニタや音声等により出力する。このリスク情報の出力は、現在認識しているリスクレベルと数秒先の予測リスクレベルとの双方を出力し、現在のリスクレベルがそれほど高くない場合であっても、数秒後に発生する可能性のある高レベルのリスクをいち早くドライバに警告し、予防安全性を高める。
【0030】
以上のリスク予測システム1においては、現在のリスクの認識・出力と学習とを並行に実行している。すなわち、リスクの認識は、入力画像に対し、それより前までに学習された認識結果によって行い、リスクの学習は、入力された教師情報を用いてリスク認識部7を更新(学習)し、次の時刻は、更新されたリスク認識部7でリスクを認識するという処理を繰り返すことにより、リスク認識と学習とを同時に行う。
【0031】
学習は、以下の(a),(b),(c),(d)に示すように、4つの部分でそれぞれに可能であるが、(a),(b)は学習に大規模な計算を要して時間がかかるため、本システムでは学習は行わず、予め事前にオフラインにて学習、或いは予め作成したアルゴリズムを用いている。
(a)ドライバ操作データからのリスク情報の抽出(リスク情報抽出部6)
(b)画像データからの画像特徴量の決定・選択(特徴量抽出部4)
(c)画像特徴量から状態への変換(状態認識部5)
(d)状態とリスクとの相関認識(リスク認識部7)
【0032】
次に、リスク予測システム1における各処理の詳細について説明する。以下では、車載カメラによる画像から特徴量を抽出する処理、抽出した特徴量から状態を認識する処理、車両操作情報からリスクを抽出する処理(教師情報の作成)、状態と与えられた教師情報とからリスクを認識する処理、状態の遷移を予測して将来のリスクを予測する処理の順に説明する。
【0033】
[画像特徴量の抽出処理]
特徴量抽出部4は、以降のリスク認識のためのデータを抽出する。一般に、リスク認識に相関がないデータは認識に悪影響を与える。つまり、この特徴量抽出処理においては、むやみに特徴量を増やすということは得策でなく、逆に、必要な特徴量を用いないことも精度を悪化させる。
【0034】
そのため、どの特徴量を用いるべきかという特徴量選択が課題として発生するが、前述したように、特徴量選択については、それを学習的に得る場合は、以下に説明するリスク認識の上位の学習が必要になり、計算量・メモリ容量的にオンラインでの学習には不利である。
【0035】
従って、本形態では、ここでの特徴量抽出部分は固定として扱う例について説明する。学習する場合には、システムの認識率を基準として評価し、各特徴量の組み合わせを最適化すれば良く、これには、組み合わせの全探索、遺伝的アルゴリズム(GA;Genetic Algorithm)等の発見的な探索法等、既存の最適化手法を用いることができる。
【0036】
本形態においては、特徴量抽出部4で予め設定した種類の特徴量を抽出している。ここでは、処理を3つの要素に分け、各要素毎に設定した特徴量を抽出する。3つの要素は、前処理、特徴量計算、領域設定である。具体的には、以下に示すように、前処理で6種類、特徴量計算で10種類、領域設定で4種類のデータを抽出し、それらの組み合わせで計240(6×10×4)次元のデータを抽出する。
【0037】
<前処理>
入力画像に対して、ソベル、縦方向ソベル、横方向ソベル、フレーム間差分、輝度、彩度の6種類のフィルタ処理を行い、6次元の特徴量データを抽出する。
【0038】
<特徴量>
フィルタ処理された画像の画素値に対して、平均、分散、最大値、最小値、横方向重心、縦方向重心、コントラスト、均一性、エントロピー、フラクタル次元の10種類の計算処理を行い、10次元の特徴量データを抽出する。
【0039】
<領域>
図3に示すように、画像内に領域A0を設定し、この設定領域A0の全体、設定領域A0内の左側の領域A1、右側の領域A2、中央の領域A3の4種類の領域について、4次元の特徴量データを抽出する。
【0040】
尚、以上の240次元の特徴量は、オンラインシステムの演算性能に応じて、使用する次元を絞るようにしても良い。例えば、画像以外にも車両データも用いて、画面全体のソベルの平均、分散、画面全体のフレーム間差分の平均、分散、車速、ハンドル角の6次元の特徴量を抽出するようにしても良い。
【0041】
また、以上の特徴量抽出処理においては、各特徴量は正規化しているが、理論上の範囲は非効率であるため、事前に各特徴量の分布を評価しておき、その評価結果を元に最大値及び最小値を設定し、0〜1の数値に正規化している。その場合、最大値・最小値を動的に変化させるようしても良く、例えば、最大値を超える値もしくは最小値を下回る値が入力された場合には、それぞれ範囲を拡大するように最大値・最小値を変更する。逆に、しばらく最小値、最大値付近のデータが入ってこなかった場合は、範囲を狭めるように変更する。
【0042】
また、ここでは基本的な特徴量を用いたが、過去のフレーム情報を用いて動き情報を算出する等、特徴量の時系列的な変動を計算し、その情報を特徴量として用いることもできる。更に、全体としてのリスク認識の精度向上のためには、この特徴量抽出処理に高精度の画像処理を入れることもでき、例えば、歩行者認識結果、道路の白線認識結果、障害物認識結果等を含めて、ここでの抽出データに組み込むようにしても良い。このような意味では、本システムは、個々の外界認識結果を統合し、リスクを認識するシステムと捉えることもできる。
【0043】
[状態認識処理]
状態認識部5では、N次元の特徴量データを1次元の状態という量に圧縮変換する。つまり、状態認識部5は、入力された画像特徴量データから状態という量を出力する識別器として機能する(但し、この識別器の出力は、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】
図4は、N次元中の3次元に注目した場合を示しており、入力データは、状態S6より状態S1に近いため、S1の状態であると認識される。以上が基本的な状態認識となるが、これは入力データがどの状態であるかを確定させていることになる。
【0049】
この場合、図4では、状態S1と状態S6とでは、距離はそれほど違いはないが、若干、状態S1との距離が近いことで、入力データは状態S1であると認識される。このため、状態S1と状態S6との距離がほぼ同じ領域においては、認識が不安定になる可能性がある。
【0050】
すなわち、オンラインで認識されるフレーム毎の状態は、「現在の状態は状態番号K」というように確定的に与えられている(つまり、予測の開始状態は、或る状態の確率が1で他の状態の確率が0の確定的な状態として与えられる)。しかしながら、実際には、世の中の全ての状況が限定された状態に完全に切り分けられるということはないと考えられ、現在の状態も確率的に表現されるべきと考えられる。
【0051】
従って、ここでは、更に拡張し、距離に応じて状態S1の確率0.6、状態S6の確率0.4といったように、確率的に取り扱うことで、状態S1と状態S6の中間付近のデータの認識を安定させることができる。この状態の確率的な扱いでは、入力データが状態sである確率をP(s)とすると、状態の確率は、距離L(s)を用いて、以下の(3),(4)式で求める。ここで、σはパラメータであり、小さくするほど状態を確定的にする効果がある。
P(s)=(exp(−L(s)/σ))/z …(3)
z=Σsexp(−L(s)/σ) …(4)
【0052】
このように、状態を入力データとの距離に応じた尺度で確率的に決定した場合、以後の計算で全ての状態について計算する必要がある。従って、計算量を削減するため、一定値以下の確率は0とし、計算として扱わないようにしても良い。
【0053】
尚、P(s)の定義において、s=Kのときだけ1、それ以外を0とすれば、状態を確定したときと同じになる。
【0054】
<学習処理>
次に、状態認識部5の学習処理では、入力データ及び教師情報から、SOMをベースとした各状態の代表値の学習(更新)を行う。学習は、階層型ニューラルネットワークの一種である自己組織化マップ(SOM;Self-Organization Maps)の学習をベースとする。
【0055】
SOMは、M次元(通常は2次元)に並べられたユニットが、それぞれベクトル値(通常入力との結線の重みと呼ばれる)を持ち、認識処理において入力の属する状態Kを求めたように、入力に対して勝者ユニットをベクトルの距離を基準として決定する。そして、勝者ユニット及びその周辺のユニットの参照ベクトル値を、入力ベクトルに近づくように更新する。これを繰り返し、全体が入力データの分布を最適に表現できるように教師無しで学習してゆく。1次元SOMによる学習のイメージを、図5に示す。
【0056】
本システムにおいては、SOMによる学習は、以下のようになる。但し、本システムにおいては、ユニット(状態)は1次元につながっているものとする。勝者ユニットの状態番号を、前述の状態番号Kとすると、代表ベクトルprotsは、以下の(5)式に従って更新(学習)される。
prots(i)→prots(i)+α(In(i)−prots(i) …(5)
【0057】
ここで、(5)式におけるαは、更新の重みを示す学習率係数であり、以下の(6)式で表される。
α=a・b(t)・c(D(s,K),t)・e(t) …(6)
但し、a :学習係数
b :時間減衰係数
c :領域減衰係数
D(s,K):更新対象のユニットと勝者ベクトル間のつながりにおける距離
e :教師情報係数
【0058】
(6)式における各パラメータa,b,cは、通常のSOMでも用いられるパラメータであり、時間減衰係数bは、学習経過時間t(通常何回目の更新かを表す)の関数であり、一般には時間tの増加につれ減衰する。また、距離D(s,K)は、特徴量空間上での距離ではなく、例えば、図4においては、勝者ユニットの隣のユニットは距離1、その隣は距離2となる。
【0059】
一方、領域減衰係数cは、その距離D(s,K)の関数であり、距離D(s,K)が大きくなる程、値が小さく、ある一定以上の距離D(s,k)については更新されないように設定される。また、領域減衰係数cは、時間tの関数でもあり、時間tが大きくなる程、値が小さくなる。更に、本システムでは、教師情報を示す教師情報係数e(t)を導入するが、これについては後述する。
【0060】
このように、SOMの学習アルゴリズムでは、学習初期は、広範囲のユニットが入力データに近づくように更新され、学習が進むにつれ、更新されるユニット数、更新量とも少なくなり、最終的には、学習率係数α(更新の重み)が0になり、学習が終了する。尚、初期状態では、通常、ユニットはベクトル空間上の中心付近にランダムに配置される。
【0061】
ここで、本システムでは、オンライン学習システムであることから、以上の学習アルゴリズムを若干変更し、学習を事前学習フェーズとオンライン学習フェーズとに分け、各学習フェーズで学習のパラメータを変更している。すなわち、学習の終了時刻は設けずに、事前学習フェーズとオンライン学習フェーズとでそれぞれの時刻で一定とし、また、更新範囲の減衰も設けず、事前学習時とオンライン学習時の範囲は異なるものとする。
【0062】
これは、オンライン学習である本システムにおいては、学習に終了時刻はないこと、また、事前学習を導入しているのは、一義的に一定値とすると、更新量が大きい場合、SOMの分布が入力データの平均付近の狭い範囲に集中してしまうためであり、逆に小さい場合には、SOMの分布が特徴量空間上にばらつき過ぎてしまい、入力データの分布をうまく表現できないためである。
【0063】
そのため、図6に示すように、事前学習として、時間減衰係数b,領域減衰係数cの値を大きくとることで、先ず、SOMを入力データ分布の中心付近に寄せておき、その後、時間減衰係数b,領域減衰係数cを小さくすることで、適切な分布を表現できるようにしている。尚、ここでの事前学習は、市場で実走行に使う前のオフラインでの学習を想定している。
【0064】
図7に、学習後のSOMの分布例を示す。実際の特徴量空間は240次元であるが、図7では、そのうちの3次元のみを表しており、グラフの各点が入力データを示している。実際には、各点は色つきの点として表現され、色によってリスクの大きさを表している。黒い点が各状態の代表ベクトルで、それらを結ぶ黒線がSOMのつながりである。
【0065】
以上では、入力データの分布を最適に表現できる学習法について述べてきたが、実際に求められるのは、リスクを認識する上で入力データの分布を最適に表現できることである。SOMは、本来、教師なしの学習法(入ってきたデータを均等に扱い学習していく)であるが、本システムにおいては、リスクを認識する上での効率的な学習として、前述の教師情報係数e(t)によるリスク情報を与えた学習を行う。
【0066】
詳細は後述するが、リスクの認識は、認識した状態のリスク確率という形で出力する。これは、その状態が、リスクをどの程度の確率で持つかということを表したものである。具体的な学習法としては、時刻tでの入力データがドライバ情報から得られたリスクレベルRという教師情報を持つ場合、認識された状態が持つリスク確率においてリスクレベルRの確率が高ければ教師情報係数e(t)を大きくし、小さければ、教師情報係数e(t)を小さくする。また、教師情報が得られない場合には、教師情報係数e(t)を小さくするという処理にする。
【0067】
これにより、学習を進めるうちに、認識された状態は、そのときのリスクを高確率で持つようになり、つまりはリスクの認識精度が上がっているということになる。具体的な教師情報係数e(t)の設定は、次のリスク認識処理において説明する。
【0068】
また、状態を確率的に求めた場合の学習については、勝者ユニットを確率に応じた重みで表現し、その重みに応じた更新量により更新を行う。但し、計算量が増大するという問題があるので、本システムでは、学習時については、勝者ユニットを入力データに一番近い状態に確定させて学習を行っており、一定値以下の確率の状態については、自身を勝者とする更新は行わない。
【0069】
[リスク情報の抽出処理]
前述したように、本形態では、車両操作情報からのリスク抽出に際して、リスク情報抽出部6では学習を行わず、予め設定したルールを用いてドライバの操作情報からリスク情報を抽出するようにしている。このルールに従ったリスク情報の抽出処理においては、リスク情報をレベル付きの1次元データとして扱う。
【0070】
具体的には、リスクのレベルを0〜10(整数値)の11段階とし、値が大きいほどリスクが高いことを表現する。但し、ここでのリスク情報は、30Hzの各フレーム毎といったように、一定時間毎にリスクを認識しようとするものではない。これは、実際のドライバの操作は、リスクだけにより行われているわけではなく、リスクに伴う操作を行う割合は、全走行中の例えば10%にも満たない一部であろうと考えられるからである。
【0071】
すなわち、ドライバ操作データからのリスク情報の認識は、ドライバの操作行動に影響を与えるような、ある程度大きなリスクがあったときにのみ、それがわかることを第一の目標とする。そのため、リスク0に関しては、出力はリスクがないということだけでなく、教師情報がないということも表している。
【0072】
また、リスク認識のルールは、できるだけ現実に合うように任意に設定するという立場を取り、以下の(1)〜(5)に示すルールを並列化して各条件の中で最も大きな値のリスクを教師リスクとする。
【0073】
(1)急ブレーキを踏んだか
フレーム間のブレーキ圧力の差分に応じてリスクレベルを設定する。例えば、ブレーキ圧力の差分が1×102kPa以上ならリスク有り、1×102kPaでリスク5、1×103kPaでリスク10とし、リスク5とリスク10との間は、ブレーキ圧力の差分に応じて線形に設定する。
【0074】
(2)ブレーキを強く踏んだか
所定の車速以上で、ブレーキ圧力に応じてリスクレベルを設定する。例えば、車速10km/h以上で、ブレーキ圧力が20×102kPa以上の場合はリスク10、ブレーキ圧力が10×102kPa以上の場合はリスク6、ブレーキ圧力が5×102kPa以上の場合はリスク2とする。
【0075】
(3)急ハンドルを切ったか
ウインカーが出ていない状態で、フレーム間のハンドル角の差分の絶対値が設定値(例えば10deg)以上の場合、リスク5とする。
【0076】
(4)アクセルを急に離したか
所定の車速以上で、フレーム間のアクセル開度の差分に応じてリスクレベルを設定する。例えば、車速5km/h以上でアクセル開度の差分が−1%以下の場合、リスク4とする。
【0077】
(5)アクセルを踏んでいるか
加速中のアクセル開度に応じてリスクレベルを設定する。加速中であるか否かは、車速の微分値で判断し、車速の微分値0以上(加速中)でアクセル開度1%以下の場合、リスク2とする。
【0078】
以上のルールは、当然ながら、追加・削除が可能であり、より現実に合うように調整することができる。また、以上のルールを自動生成するアルゴリズム、以上のルールに更にファジィ要素を取り入れる等して、「ドライバデータからのリスク認識の学習的獲得」を行うことも可能である。
【0079】
[リスク認識処理]
リスク認識部7では、状態認識部5で求めた状態により、リスクを出力する。前述したように、各状態はそれぞれリスク確率分布を持つため、状態sでのリスクの確率分布をp(R│s)と表すことにする。尚、ここでのリスクは、リスク情報抽出部6でのリスクと対応しており、11段階のレベルに分けているので、リスクレベルRとリスク確率(分布)p(R│s)とは、例えば図8に示すような関係で表される。
【0080】
リスク出力は、基本的にこのリスク確率p(R│s)を出力することになるが、出力結果を例えば警報や表示などに使う場合には、確率分布のままでは使いにくいため、リスク出力としては、以下の(7)式で示される期待値Eを出力する。
E=ΣRR・p(R│s) …(7)
【0081】
また、状態を確率的に取り扱った場合、期待値Eは、以下の(8)式のようになる。
E=ΣsΣRP(s)・R・p(R│s) …(8)
【0082】
<リスク確率の学習処理>
リスク確率の学習は毎フレームに行われ、リスク確率は逐次更新される。リスク確率は、基本的に、過去に経験したリスクレベルの頻度分布を用いて算出する。しかし、本システムは、オンライン学習なので無限遠過去のデータまで持つことは難しく、また遠い過去の経験に現在と同じ重要度を持たせることは好ましくないと考えられる。従って、ここでは、以下の方法でリスク確率を更新する。
【0083】
時刻tでの状態stのリスク確率をpt(R│st)としたとき、以下の(9)式に従って、リスク確率を更新する。
pt+1(R│st)=pt(R│st)+β…(9)
【0084】
更に、リスク確率pt+1(R│st)は、以下の(10)式に従って正規化する。
pt+1(R│st)←pt+1(R│st)/ΣRpt+1(R│st) …(10)
【0085】
尚、状態の更新は、その時刻の状態のみであるが、状態を確率的に扱う場合には、各状態においてβをp(st)・βとして計算する。ここで、βは定数であり、この値が大きいほどより現在の情報を重要視することになる。
【0086】
ここで、与えられる教師リスクについては、リスク情報抽出部6の説明で述べたように、各フレーム毎に得られるとは限らない。リスクレベルが高い場合には、ドライバデータからリスク情報が得られる場合が多いが、リスクレベルが低い場合には、特に教師情報が得られる可能性が小さくなってしまうという問題がある。
【0087】
この問題に対して、本システムでは、教師リスク情報を時間軸方向で伝播させることで対処するようにしている。これは、ある時刻に教師リスク情報が得られた場合は、その前の時刻もその時刻と同じではないまでも危険であるという因果関係に基づくものであり、この因果関係を用いて教師リスク情報を伝播させる。
【0088】
この場合、過去に情報を伝播させるには、伝播させる分のすべての過去の状態遷移を記憶している必要があるが、リアルタイムでの学習を前提としたとき、記憶容量と計算量がネックとなる。そこで、本システムでは、強化学習の際に用いられるTD(Temporal Difference)誤差を考慮した伝播により、リスク確率を更新している。
【0089】
強化学習は、その時々の状態に対しての明示的な行動の指示ではなく、行った行動に対しての報酬によって学習を行い、この先得られるであろう報酬の総和が最大となる行動をその時々で選択する学習法であり、時刻tにおける実際の報酬と報酬の予測値の差をTD誤差(TD-ERROR)と呼び、これを0とするように学習が行われる。本システムのリスク情報は、この強化学習の報酬に相当し、図9に示すように、或るシーンでの状態遷移を考えると、状態S1に至る状態S2,S7,…にもリスクがあるはずであると考えられ、リスク情報の伝播を行う。
【0090】
この場合、伝播は、現在の状態から一つ前のフレームへ伝播させるだけで良く(つまり計算も記憶も1フレーム前との関係だけ扱えば良い)、一回の経験では、リスク情報は充分な過去まで伝播しないものの、同じような経験を繰り返すことで、徐々にリスク情報が伝播し、その因果関係を学習することができる。また、リスク情報の伝播は、図10に示すように、同じリスクレベルの時刻tの状態Stから時刻t−1の状態St-1への伝播のみではなく、異なるリスクレベルの状態間においても伝播させるようにする。但し、リスクレベル0は、リスクがないという他に、リスク情報がないという場合も含むため、伝播はさせない。
【0091】
伝播によるリスク確率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:リスクレベル方向の伝播の大きさを表すパラメータ
γ:時系列の伝播の大きさを表すパラメータ
η:一回の学習での更新の大きさを表すパラメータ
【0092】
ここで、時刻tで得たリスク情報を、リスクレベルrを用いてRI(r)と表している。前述したように、リスク情報抽出部6で扱うリスク情報は、0〜10の11段階の中の或る一つのリスクレベルに対して得られるものとしている。すなわち、時刻tで得られたリスク情報がリスクレベルQとすると、(12),(13)式のように表される。
RI(r)=1 (r=Q) …(12)
RI(r)=0 (r≠Q) …(13)
【0093】
一方、このリスク学習におけるリスク情報RI(r)は、図11に示すように、実際はそのリスクレベル付近のリスクも存在すると考えて拡張を行っている。この拡張は、具体的には、隣のリスクレベルをパラメータg(g<1)を用いてg倍、そのまた隣のリスクレベルをg*g倍するという操作を行っており、この操作には、限られた教師データをさらに有効に使えるという効果がある。また、リスクレベル方向の伝播の大きさを表すhは通常、リスク情報の拡張に用いたgと同じ値としている。
【0094】
リスク確率の更新後は、状態認識部5における学習処理で用いた教師情報係数係数e(t)を設定する。この教師情報係数e(t)は、以下の(14),(15)式に従って設定される。時刻tでリスク情報抽出部6から得られるリスク情報をRを用いて、
R≠0のとき、
e(t)=10・R・p(R│st) …(14)
R=0のとき、
e(t)=const …(15)
【0095】
R=0のときは、教師情報が入らなかったときに相当するが、その場合は、教師情報係数e(t)は、定数constすなわち固定値のゲインになる。この値は、教師リスクが得られる確率により決定され、教師ありの学習データ数と教師なしの学習データ数との比率に基づいて設定される。本システムにおいては、経験則として、教師ありの学習データ数=教師なしの学習データ数となるように定数constを設定し、const=0.01としている。
【0096】
教師情報が入った場合は、その確率が高い程、またリスクレベルが大きい程、強く学習される。これにより、実際に起こった事象に対して、認識する確率が小さい場合は、その状態の認識が間違っている可能性が高いことを示し、学習が弱くされる。その状態の代表ベクトルは、同じ状態を認識し、リスクの確率が高かったデータに近づくような学習が行われる。そして、そのような学習が続くことで、その入力データは他の状態と認識されやすくなり、間違っている可能性の高い状態を認識しにくくなる。このようにして全体としての状態認識、リスク認識が最適化される。
【0097】
[リスク予測処理]
リスク予測部8は、先ず、現時刻から未来の時刻の状態を予測し、この未来の状態から未来のリスクを予測する。未来の状態は、或る1つの状態に確定されるものではなく、確率的であるため、ここでは、tフレーム後に状態Sである確率をp(st)と表し、現在時刻の状態も確率として表現する。
【0098】
尚、後述するように、処理周期としては、フレーム間隔以外の周期でも良く、また、現時刻の状態については、状態が確定しているのであれば、その状態を確率1、それ以外の状態の確率を0とすれば良い。
【0099】
以下、予測リスクを算出する上での基本的な処理(状態遷移の計算、学習、予測リスクの算出)について説明し、更に、予測リスクの正規化、拡張、実時間処理、リスク予測結果の利用について説明する。
【0100】
<状態遷移の計算>
状態Stから状態St+1への遷移は、本実施の形態においては、「ある時刻ステップの状態は、その1つ前の時刻ステップの状態のみから求まる」という1重のマルコフ性を仮定し、状態遷移確率C(st+1|st)を用いて以下の(16)式により計算される。これは状態Stから状態St+1へ遷移する確率である。時刻t0で状態Sが発生する確率から時刻tで状態Stが発生する確率を求めるには、(15)式をt回繰り返せば良く、これにより、状態の発生確率p(s0)からp(st)までがそれぞれ求まる。
p(st+1)=ΣstC(st+1|st)p(st) …(16)
【0101】
ここで、時系列に入力されるデータは、映像信号の1フレーム毎(例えば、33msec毎)での時間間隔が基本になるが、実際はNフレーム間隔で、状態遷移確率及び状態の予測を行うこととする(例えば、時間間隔を5フレームに設定する)。このフレーム間隔Nの設定は、短期的な目線で予測を行うか、長期的な目線で予測を行うかを制御することに相当する。
【0102】
同じ時刻tの状態確率p(st)を求める場合でも、フレーム間隔Nが異なれば、状態遷移確率C(st+1|st)は勿論のこと、得られる状態確率p(st)の結果も異なる。そのため、ある決まったフレーム間隔Nにより予測を行うということだけでなく、複数の時間軸による視点から異なるフレーム間隔Nを用いた予測を並列で行い、結果を総合することも有効である。
【0103】
尚、以上の予測で時刻tを充分大きくしたとき、開始状態の発生確率p(s0)の値に拘わらず、時刻tでの状態の発生確率p(st)は、事前確率(すなわち、その状態の発生し易さ、これを求める場合は、充分な数の状態出力データのヒストグラムを取り、確率に変換すれば良い)に収束する。例えば、N=5とした場合、実験によると、ほぼ数秒で事前確率に収束している。
【0104】
「現在がどのような状態でも最終的には行き着くところは同じ」という性質は、本質的ではあるが、ドライバへの情報提示や車両制御に対しては意味のない情報であり、予測情報として有用なのは、収束するまでの間の情報である。そのため、本システムでの予測の対象範囲は、数秒(例えば、3,4秒)以内ということになり、状態遷移の繰り返し計算の中で状態の確率が事前確率に収束しているか否かを判定し、収束していればそれ以降の予測処理は行わないことで処理時間を短縮する。
【0105】
また、以上では、処理周期をNフレーム間隔とする例について説明しているが、フレーム間隔でなく、例えば走行距離間隔による処理周期としても良い。具体的には、現在の車速から走行距離を計算し、その累積が予め設定した距離閾値Lを越えたときに処理を行うようにする。つまり、走行距離L間隔での処理周期になり、その場合には、一定間隔の時間周期で動作するリスク認識の最新結果を予測の現在状態として入力する。
【0106】
<予測リスクの学習>
以上の状態遷移確率は、オンラインリスク認識にて逐次入力される状態とその遷移情報を記憶することにより、学習される。例えば、各状態は確定しているものとして状態遷移のテーブルを用意し、毎フレームごとに得られる状態遷移度数をカウントすることで、定期的に状態遷移確率を更新する。これにより、オンラインで走りながら経験を蓄積し、状態遷移確率を更新して学習を行うことができる。
【0107】
図12に、カウントした状態遷移度数分布の例を示す。この状態遷移のカウントは、単純にヒストグラムをとった場合、現状は過去に得られた情報と最近得られた情報とを同等に扱うことに相当する。しかしながら、定期的にヒストグラムの全要素を、所定の係数Acを用いて1/Acに減少させる処理を行うことで、現在得られた情報をより重要視する(過去に学習した情報に対して直近で学習した情報の寄与度を上げる)ことができる。
【0108】
また、このような処理を行わない場合であっても、オンライン学習は継続的に続くため、ヒストグラム(頻度)が非常に大きくなることが懸念される。従って、ヒストグラムの何れかの要素が規定値以上となったときにヒストグラムの全要素を1/Acにすることで、演算上の負荷を軽減してオーバーフローを防止することができる。
【0109】
尚、以上の学習は、状態は確定しているとして、状態St+1,Stのヒストグラムに投票することで学習を行っているが、確率的に認識された状態の発生確率p(st+1),p(st)の大きさを、それぞれの遷移確率C(st+1|st)に足すことで、容易に拡張することができる。
【0110】
<予測リスクの算出>
次に、現時刻からtフレーム後までの各状態の確率分布が得られると、この情報を元に、予測リスクを算出する。予測リスクは、以下の(18)式に示すように、未来の全ての状態のリスクを確率的に累積することで求める。その際、より遠い未来ほど累積に寄与する割合が小さくなるように減衰のためのゲイン関数G(t)を付与して累積する。このゲイン関数G(t)を適切に設定することにより、例えば、t秒後の予想されるリスクというようなピンポイントの予測も可能である。
ΣtΣst(tmp_risk(st))Y1・(base_risk)Y2・(risk_difference(st))Y3・p(st)・G(t) …(18)
ここで、tmp_risk(st):状態Stでのリスク
base_risk:現在のリスク
risk_difference(st):状態Stのリスクと現在のリスクとの差(但し、負になる場合は0とする)
G(t)=exp(-t/Y4) 但し、ΣtG(t)=1
Y1,Y2,Y3,Y4:パラメータ
【0111】
(18)式におけるパラメータY1〜Y3は、算出されるリスクを意味付けするパラメータであり、パラメータY1,Y2はリスクレベルの強調度、パラメータY3はリスク上昇の強調度になる。例えば、Y1=1,Y2=1,Y3=1に設定されるが、パラメータY3は、現在よりリスクが小さくなる場合は無視することができる。これは、リスクを考える上では、この後危なくなるかどうかに興味があり、現在よりリスクが小さくなる場合は特に問題とならないためである。
【0112】
また、ゲイン関数G(t)のパラメータY4は、累積時の減衰を示すパラメータであり、例えば、Y4=1に設定される。このゲイン関数G(t)の特性は、図13に示される。同図におけるG(t)の値は、5フレーム毎のステップ(N=5)のデータを示している。
【0113】
<予測リスクの正規化>
以上によって求める予測リスクの取り得る範囲は、理論上は0〜1であるが、実際は0〜0.01程度の範囲で分布する。そのため、算出した予測リスクを正規化する処理を行う。この正規化処理については、予め設定した範囲で正規化を行う以外にも、動的に変化させることができる。具体的には、今まで得られた最大の予測リスク値を記憶しておき、そのリスクが1となるように変換する。つまり、予測リスクの正規化のための係数もオンラインでの経験を元に動的に変動するということになる。
【0114】
<リスクレベルの確率分布への拡張>
現在及び状態Stのリスク値は、その状態の持つリスク情報から得られる。すなわち、リスク情報は、図14に示すように、リスクレベルの確率分布で保持しているが、リスク値を期待値で出力する場合、図15(a),(b)に示すように、異なるリスクレベルの確率分布でも、同じ現在リスクの値として表現される可能性がある。
【0115】
従って、より詳細な予測を行うためには、予測リスクの算出時においても、リスクレベルの確率分布を直接扱うことが必要になる。この予測リスクの算出の拡張は、上述の(18)式を、以下の(19)式のように修正すれば良い。
ΣtΣstΣrrY5・(tmp_riskst(r))Y1・(base_risk)Y2・(risk_differencest(r))Y3・p(st)・G(t) …(19)
ここで、tmp_riskst(r):状態Stでのリスクrの確率
base_risk:現在の状態でのリスク
risk_differencest(r):状態S0のリスクrの確率と現在の状態のリスクrの確率との差(但し、負になる場合は0とする)
G(t):(18)式と同様
Y1,Y2,Y3,Y4,Y5:パラメータ
【0116】
(19)式における各パラメータは、例えば、Y1=0,Y2=1,Y3=1,Y4=7,Y5=1に設定される。パラメータの設定を変えることにより、大きなリスクレベルに至る確率だけを求めることが可能となり、また、大きなリスクレベルをより強調した予測リスクの認識が可能になる。
【0117】
<実時間処理>
以上のリスク予測処理は、システムへの実装に際して処理時間(計算量)が問題となり、システムによっては計算能力が不足する可能性がある。例えば、状態数を100、予測対象範囲を50ステップとした場合、状態の予測は100×100×50回、予測リスク値の算出は100×50×4回(状態やリスクを確率的に拡張した場合は更に多い)の積の計算が必要になる。この他、当然のことながら、リスク認識の計算や学習も必要になる。このため、処理時間短縮を行うことが重要になる。
【0118】
ここで、上述したように、状態を確率的に拡張しないで現在が確定的であるとした場合には、状態遷移確率に変化がないとすると、予想は状態数だけ行えば良い。そのため、状態数(例えば100)通りの予測リスクを予め計算し、リスクテーブルPRT(s)として保持しておくことにより、予測リスクの出力はテーブル参照のみの処理で行うことができる。
【0119】
この場合、状態遷移確率はオンラインで学習していくため、時間と共に変化する。状態遷移確率が充分なデータ数から計算されるのであれば、1フレームのオンライン学習の状態遷移確率への寄与は充分小さい。そこで、毎回のリスク認識、予測出力とは別の異なる周期でバックグラウンド処理によってリスクテーブルを更新する(例えば、リスク認識は33×5=165msecで行い、テーブル更新は10minで行う)。
【0120】
一方、現在状態を確率的として拡張した場合には、予測は状態数通りではなく、(理論上)無限通り存在する。しかし、この場合においても、テーブルPRT(s)を用いて以下の(20)式のようにすることにより、予測リスクを算出することができる。
ΣsPRT(s)・p(s0) …(20)
【0121】
(20)式による予測リスクは、現在の状態が確定的であっても、状態の確率p(s)により表現できるため、自然な拡張となっている。よって、「現在(開始)状態が確定的であったとしたときの状態数通りのテーブル」を使用し、「テーブルのバックグラウンドでの更新処理」を実施することにより、毎回の予測リスクの出力が実時間で処理可能となり、しかも充分な精度を保持できるレベルで実現することができる。
【0122】
<リスク予測結果の利用>
予測は、その予測した時間後に結果が得られることから、その結果を用いて自らを学習すること(自律学習)が可能になる。予測の学習対象である状態遷移確率は一意に決まるため、もし予測が外れているということであれば、モデルが悪い(マルコフモデルの仮定が破れている、また予測リスク算出方法が適正でない)か、シーンリスクの認識自体が精度が悪いと推測することができる。
【0123】
マルコフモデルの枠組み自体はオンラインでの変更は難しいが、予測リスクの算出法、また、シーンリスク認識自体はオンライン学習可能である。具体的には、以下の(A),(B)に示すような手法を用いて予測結果を利用する。
【0124】
(A)予測した状態と、その後の時間帯で得られる状態認識結果との差をオンライン学習の教師情報の1つとして用い、予測結果をフィードバックした学習を行う。例えば、ある状態Sのときに間違いが多いのであれば、その状態Sを学習する際は学習率を高くする等して予測結果をフィードバックする。
【0125】
(B)予測リスクの算出が予測結果と合わない場合は、算出式のパラメータY1〜Y5を変更することで学習を行う。但し、その場合、リアルタイムで更新すると、間違った学習が行われる可能性があるので、バックグラウンドで最適なパラメータの値を探索し、現在用いているパラメータより精度が上がると判断すれば入れ替えるといった並列的な学習を行う。
【0126】
[リスク認識結果の出力例]
以上の処理によるリスク認識結果の出力例1,2を図16,図17に示す。図16,図17は、車載カメラから得られた画像に認識結果を表示したシステムの出力画像であり、現在認識しているリスクの大きさと予測したリスクの大きさとを、画面下部領域の2段のバーグラフで表している。このバーグラフで表される認識リスクは、前述したリスク確率の期待値を示しており、その上に表示される数字は、認識した状態番号である。
【0127】
図16に示す出力例1は、同図(a)に模式的に示すように、公差点内を右折する対向車両101が存在する状況下で自車両100が左折するシーンでの認識の例である。交差点にさしかかる手前のシーンでは、図16(b)に示すように、その時点でのリスク認識結果を示すバーグラフB1の大きさよりも、上段のバーグラフB2に示す予測リスクが大きくなっており、システムがいち早く反応して確実にドライバの注意を喚起する。また、交差点内で左折を開始するシーンでは、図16(c)に示すように、現在リスクを示すバーグラフB3が上段の予測リスクを示すバーグラフB4よりも大きくなり、差し迫ったリスクを確実にドライバに警告する。
【0128】
また、図17に示す出力例2は、同図(a)に模式的に示すように、自車両100前方の先行車両102が道路左側の駐車場へ侵入するシーンでの認識の例である。この場合においても、図17(b)に示すように、先行車両102から或る程度離れているシーンでは、現在リスクを示すバーグラフB5に対して、先行車両102の減速による追突のリスクを予測し、上段のバーグラフB6に示す予測リスクが大きくなっている。また、図17(c)に示すように先行車両102に接近したシーンでは、現在リスクを示すバーグラフB7が上段の予測リスクを示すバーグラフB8よりも大きくなり、先行車両102に対する追突のリスクをドライバに警告する。
【符号の説明】
【0129】
1 リスク予測システム
4 特徴量抽出部
5 状態認識部
6 リスク情報抽出部
7 リスク認識部
8 リスク予測部
【技術分野】
【0001】
本発明は、自動車等の移動体の外部環境に含まれるリスクを認識して予測するリスク予測システムに関する。
【背景技術】
【0002】
近年、自動車等の移動体における予防安全技術として、カメラを搭載して外界環境を撮像し、撮像した画像を処理して外界環境に含まれる危険度(リスク)の情報を認識し、ドライバに警告する、又は運転をアシストするといった技術が開発されている。
【0003】
このような危険情報の認識技術は、例えば、特許文献1に開示されている。特許文献1の技術は、車両周囲の環境の対象物に対して、その種類や属性毎に危険度パラメータを設定し、この危険度パラメータに基づいて危険度を演算するものである。
【0004】
特許文献1に開示されているような従来の技術では、歩行者、対向車、障害物、白線等といった危険に結びつく要因を設定し、それらに基づいてリスクの認識を行っており、実際のシステムとしては、開発者が想定したリスク要因や認識を予めシステム内に組み込んでおくという形で実現されている。
【0005】
しかしながら、自動車の走行環境のような実際の環境は、天候の変化、歩行者、車、路上の構造物等の存在といったように多様であり、更には、運転する人間も多様であるため、従来の予め設定した一つの認識モデルでは限界があり、危険に結びつく要因についての認識が高精度で行われなければ、全体としてのリスクを認識できないばかりでなく、予め想定していた以外の危険な場面では認識できないという問題がある。
【0006】
このため、本出願人は、特許文献2において、実際の環境下での経験をシステムが自律的に学習し、多様な外界環境に対応して危険度の認識を可能とすることのできるオンライン学習システムを提案している。特許文献2の技術は、実際の環境下での経験をシステムが自律的に学習するため、ユーザの運転傾向に適合した認識が可能である。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2003−81039号公報
【特許文献2】特開2008−238831号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
従来の技術は、ある時刻の画像情報等を用いて、その時刻のリスクを認識するものである。このため、或る時点で認識したリスクを、ドライバに警告したり直接車両制御に用いる場合、リスクを回避するまでに充分な時間がないという状況が起こり得る。
【0009】
本発明は上記事情に鑑みてなされたもので、現在のリスクだけでなく近い未来のリスクを認識し、ドライバへの警告や車両制御によるリスク回避を可能とすることのできるリスク予測システムを提供することを目的としている。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明によるリスク予測システムは、移動体の外界環境を検出し、この外界環境に含まれるリスクを認識して予測するリスク予測システムであって、上記外界環境の検出情報から抽出した特徴量をクラスタリングして状態を認識する状態認識部と、上記状態認識部で認識された状態とリスクの教師情報との相関に基づいて、上記状態の有するリスクを適応的に学習し、上記外界環境に含まれる現在のリスクを認識するリスク認識部と、上記状態の時系列情報に基づいて、現在認識しているリスクよりも先の未来のリスクを予測するリスク予測部とを備えることを特徴とする。
【発明の効果】
【0011】
本発明によれば、現在のリスクだけでなく近い未来のリスクを認識することができ、ドライバへの警告や車両制御によるリスク回避を可能とすることができる。
【図面の簡単な説明】
【0012】
【図1】リスク予測システムの基本構成図
【図2】リスク予測の説明図
【図3】特徴量抽出の画像領域を示す説明図
【図4】状態認識の概念図
【図5】1次元自己組織化マップによる学習の概念図
【図6】事前学習とオンライン学習の説明図
【図7】自己組織化マップの学習後の分布を示す説明図
【図8】リスクレベルとリスク確率との関係を示す説明図
【図9】リスク伝播の説明図
【図10】情報伝播の説明図
【図11】リスク情報の拡張を示す説明図
【図12】状態遷移の度数分布を示すヒストグラム
【図13】ゲイン関数の特性を示すグラフ
【図14】リスクレベルの確率分布を示す説明図
【図15】現在リスクとして表現される異なるリスクレベル分布を示す説明図
【図16】予測リスクの出力例1を示す説明図
【図17】予測リスクの出力例2を示す説明図
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施の形態を説明する。
本発明のリスク予測システムは、自動車等の移動体に搭載され、外界環境の検出結果からその環境内に含まれる危険度(リスク)に係る情報を適応的に認識するシステムである。このシステムは、現在のリスクだけでなく、さらに数秒後といった近い未来のリスクを認識することができ、ドライバへの警告や車両制御によるリスクの回避を可能とし、自車及び自車周辺の車両、歩行者の安全向上に寄与することができる。
【0014】
外界環境のセンシングは、システムの入力系として備える各種センサデバイス、例えば、外界を単眼視やステレオ視で撮像するカメラ、レーザやミリ波等のレーダ装置からのセンシング情報を用いることが可能である。つまり、本システムは、基本的に外界環境を検出するセンサデバイスに依存するものではなく、広義にはセンサデバイスより得られる外界環境情報とリスク情報との相関関係を学習し、リスクを予測するシステムである。
【0015】
本形態においては、リスク予測システムを自動車等の車両に適用し、車載カメラによって外界を撮像した画像情報と、ドライバの運転操作や車両の運転状態等の車両情報とを用いてリスク情報を抽出する例について説明する。すなわち、本形態のリスク予測システムは、画像から得られた情報から直接リスクとの関連付けを行うことでリスクを認識すると共に、その関連付けを実際の走行で遭遇した環境から学習して適応的に認識を行い、現在認識しているリスクのみならず、数秒先のリスクをも予測する。
【0016】
以下、図1を参照して本形態のリスク予測システムについて説明する。本形態におけるリスク予測システム1は、単一のコンピュータシステム或いはネットワーク等を介して接続された複数のコンピュータシステムで構成されている。車両の外界環境を検出するセンサとしては、CCDやCMOS等の撮像素子を有する車載カメラを用いている。
【0017】
具体的には、リスク予測システム1は、画像入力部2、車両データ入力部3、特徴量抽出部4、状態認識部5、リスク情報抽出部6、リスク認識部7、リスク予測部8、リスク情報出力部9を基本構成として備えている。詳細は後述するが、本システムは、車載カメラで撮像した画像を主として抽出した特徴量を「状態」という量に変換してクラスタリングを行い、各状態に対するリスクの確率密度分布を学習したリスク分布からリスクを認識するようにしている。リスクの予測は、現在のステップの「状態」から次のステップの「状態」を用いて行い、予測した状態が有するリスク情報から未来のリスクを予測する。
【0018】
一般に、或る状況を認識した後、次にどのような状況になるかは、ドライバの性格や運転操作の癖、ドライバがよく遭遇する走行シーン等により、ドライバ毎に異なると考えられる。例えば、せっかちなドライバと用心深いドライバとでは、信号の変わり目で交差点に進入するかの判断は異なるであろうと思われる。つまり、予測はドライバ毎に異なるべきであり、逆に言うとオンラインで学習するということは、予め作成された認識処理で予測を行う場合に比べて、より高い精度の予測が可能になる。
【0019】
先ず、各部の概略的な機能について説明する。尚、図1においては、外界環境を検出するセンサとしての車載カメラは、図示を省略している。
【0020】
画像入力部2は、車載カメラからの撮像画像を入力し、ノイズ除去、ゲイン調整、γ補正等のビデオプロセス処理を行い、このビデオプロセス処理されたアナログ撮像画像を所定の階調のデジタル画像に変換する。画像入力部2で処理された画像は、一旦、メモリにストアされて収集され、特徴量抽出部4に送られる。
【0021】
車両データ入力部3は、車内ネットワーク等から所定の周期で車両データを入力する。車両データとしては、車速、ハンドル角、アクセル開度、ブレーキ圧力等であり、これらのデータを所定の周期(例えば、30Hz)でサンプリングする。
【0022】
尚、以降の認識処理に必要であれば、車内ネットワーク上を流れる他の情報、例えば、前後横加速度やヨーレートといった車両運動情報、ヘッドライト、ウインカーといったシステム操作情報、外気温等も入力する。
【0023】
特徴量抽出部4は、画像入力部2からの画像データを受け取り、得られた画像の特徴量を抽出する。すなわち、得られた画像から、エッジ情報、動き情報、色情報等の特徴量を抽出し、それらの情報をN次元ベクトルとして保持する。このN次元ベクトルには、図1に破線で示すように、画像特徴量以外の車両情報、例えば、車速やヨー角の変化といった情報も含める。
【0024】
尚、本形態で扱う画像データは、単眼のカラーカメラで撮像した画像とするが、赤外カメラから得られる画像やステレオカメラから得られる距離画像であっても良い。また、前述したように、レーザやミリ波等からの情報を用いることも可能であり、その場合、画像特徴量は、より一般的には、外界環境特徴量とも呼ぶべきものである。
【0025】
状態認識部5は、得られたN次元の特徴量ベクトルを、最終的に1次元の状態という量に変換する。状態とは、入力された画像を走行している場所や、天候、走行状態などによりシーン分けしているイメージになる。実際には、オンライン学習時、今はどのシーンであるかを明示的に教師することはできないため、入力データを状態数Mのクラスにクラスタリングしている。
【0026】
リスク情報抽出部6は、入力された車両情報(ドライバの操作情報)からリスク情報を抽出し、教師情報(リスクの大きさや種類)を作成する。本システムでは、このリスク情報抽出についての学習は行わず、予め設定したルールを用いてリスク情報を認識する。
【0027】
リスク認識部7は、状態認識部5で得られた状態と、リスク情報抽出部6で作成された教師との相関関係を求め、状態のリスクを学習・認識する。
【0028】
リスク予測部8は、本実施の形態においては、リスク認識で出力される状態の遷移をマルコフモデルを用いてモデル化し、状態遷移確率をオンライン(実走行)で学習更新することにより、未来の状態を予測して対応するリスクを予測する。すなわち、図2に示すように、各シーンの画像の特徴量から状態を認識してリスク認識及び学習を行うオンライン学習動作(図中の黒塗り矢印で示す部分)の時系列の遷移に注目し、得られる状態系列が有するリスクの確率密度分布から未来のリスクを予測する(図中の白抜き矢印で示す部分)。
【0029】
リスク情報出力部9は、認識したリスクをモニタや音声等により出力する。このリスク情報の出力は、現在認識しているリスクレベルと数秒先の予測リスクレベルとの双方を出力し、現在のリスクレベルがそれほど高くない場合であっても、数秒後に発生する可能性のある高レベルのリスクをいち早くドライバに警告し、予防安全性を高める。
【0030】
以上のリスク予測システム1においては、現在のリスクの認識・出力と学習とを並行に実行している。すなわち、リスクの認識は、入力画像に対し、それより前までに学習された認識結果によって行い、リスクの学習は、入力された教師情報を用いてリスク認識部7を更新(学習)し、次の時刻は、更新されたリスク認識部7でリスクを認識するという処理を繰り返すことにより、リスク認識と学習とを同時に行う。
【0031】
学習は、以下の(a),(b),(c),(d)に示すように、4つの部分でそれぞれに可能であるが、(a),(b)は学習に大規模な計算を要して時間がかかるため、本システムでは学習は行わず、予め事前にオフラインにて学習、或いは予め作成したアルゴリズムを用いている。
(a)ドライバ操作データからのリスク情報の抽出(リスク情報抽出部6)
(b)画像データからの画像特徴量の決定・選択(特徴量抽出部4)
(c)画像特徴量から状態への変換(状態認識部5)
(d)状態とリスクとの相関認識(リスク認識部7)
【0032】
次に、リスク予測システム1における各処理の詳細について説明する。以下では、車載カメラによる画像から特徴量を抽出する処理、抽出した特徴量から状態を認識する処理、車両操作情報からリスクを抽出する処理(教師情報の作成)、状態と与えられた教師情報とからリスクを認識する処理、状態の遷移を予測して将来のリスクを予測する処理の順に説明する。
【0033】
[画像特徴量の抽出処理]
特徴量抽出部4は、以降のリスク認識のためのデータを抽出する。一般に、リスク認識に相関がないデータは認識に悪影響を与える。つまり、この特徴量抽出処理においては、むやみに特徴量を増やすということは得策でなく、逆に、必要な特徴量を用いないことも精度を悪化させる。
【0034】
そのため、どの特徴量を用いるべきかという特徴量選択が課題として発生するが、前述したように、特徴量選択については、それを学習的に得る場合は、以下に説明するリスク認識の上位の学習が必要になり、計算量・メモリ容量的にオンラインでの学習には不利である。
【0035】
従って、本形態では、ここでの特徴量抽出部分は固定として扱う例について説明する。学習する場合には、システムの認識率を基準として評価し、各特徴量の組み合わせを最適化すれば良く、これには、組み合わせの全探索、遺伝的アルゴリズム(GA;Genetic Algorithm)等の発見的な探索法等、既存の最適化手法を用いることができる。
【0036】
本形態においては、特徴量抽出部4で予め設定した種類の特徴量を抽出している。ここでは、処理を3つの要素に分け、各要素毎に設定した特徴量を抽出する。3つの要素は、前処理、特徴量計算、領域設定である。具体的には、以下に示すように、前処理で6種類、特徴量計算で10種類、領域設定で4種類のデータを抽出し、それらの組み合わせで計240(6×10×4)次元のデータを抽出する。
【0037】
<前処理>
入力画像に対して、ソベル、縦方向ソベル、横方向ソベル、フレーム間差分、輝度、彩度の6種類のフィルタ処理を行い、6次元の特徴量データを抽出する。
【0038】
<特徴量>
フィルタ処理された画像の画素値に対して、平均、分散、最大値、最小値、横方向重心、縦方向重心、コントラスト、均一性、エントロピー、フラクタル次元の10種類の計算処理を行い、10次元の特徴量データを抽出する。
【0039】
<領域>
図3に示すように、画像内に領域A0を設定し、この設定領域A0の全体、設定領域A0内の左側の領域A1、右側の領域A2、中央の領域A3の4種類の領域について、4次元の特徴量データを抽出する。
【0040】
尚、以上の240次元の特徴量は、オンラインシステムの演算性能に応じて、使用する次元を絞るようにしても良い。例えば、画像以外にも車両データも用いて、画面全体のソベルの平均、分散、画面全体のフレーム間差分の平均、分散、車速、ハンドル角の6次元の特徴量を抽出するようにしても良い。
【0041】
また、以上の特徴量抽出処理においては、各特徴量は正規化しているが、理論上の範囲は非効率であるため、事前に各特徴量の分布を評価しておき、その評価結果を元に最大値及び最小値を設定し、0〜1の数値に正規化している。その場合、最大値・最小値を動的に変化させるようしても良く、例えば、最大値を超える値もしくは最小値を下回る値が入力された場合には、それぞれ範囲を拡大するように最大値・最小値を変更する。逆に、しばらく最小値、最大値付近のデータが入ってこなかった場合は、範囲を狭めるように変更する。
【0042】
また、ここでは基本的な特徴量を用いたが、過去のフレーム情報を用いて動き情報を算出する等、特徴量の時系列的な変動を計算し、その情報を特徴量として用いることもできる。更に、全体としてのリスク認識の精度向上のためには、この特徴量抽出処理に高精度の画像処理を入れることもでき、例えば、歩行者認識結果、道路の白線認識結果、障害物認識結果等を含めて、ここでの抽出データに組み込むようにしても良い。このような意味では、本システムは、個々の外界認識結果を統合し、リスクを認識するシステムと捉えることもできる。
【0043】
[状態認識処理]
状態認識部5では、N次元の特徴量データを1次元の状態という量に圧縮変換する。つまり、状態認識部5は、入力された画像特徴量データから状態という量を出力する識別器として機能する(但し、この識別器の出力は、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】
図4は、N次元中の3次元に注目した場合を示しており、入力データは、状態S6より状態S1に近いため、S1の状態であると認識される。以上が基本的な状態認識となるが、これは入力データがどの状態であるかを確定させていることになる。
【0049】
この場合、図4では、状態S1と状態S6とでは、距離はそれほど違いはないが、若干、状態S1との距離が近いことで、入力データは状態S1であると認識される。このため、状態S1と状態S6との距離がほぼ同じ領域においては、認識が不安定になる可能性がある。
【0050】
すなわち、オンラインで認識されるフレーム毎の状態は、「現在の状態は状態番号K」というように確定的に与えられている(つまり、予測の開始状態は、或る状態の確率が1で他の状態の確率が0の確定的な状態として与えられる)。しかしながら、実際には、世の中の全ての状況が限定された状態に完全に切り分けられるということはないと考えられ、現在の状態も確率的に表現されるべきと考えられる。
【0051】
従って、ここでは、更に拡張し、距離に応じて状態S1の確率0.6、状態S6の確率0.4といったように、確率的に取り扱うことで、状態S1と状態S6の中間付近のデータの認識を安定させることができる。この状態の確率的な扱いでは、入力データが状態sである確率をP(s)とすると、状態の確率は、距離L(s)を用いて、以下の(3),(4)式で求める。ここで、σはパラメータであり、小さくするほど状態を確定的にする効果がある。
P(s)=(exp(−L(s)/σ))/z …(3)
z=Σsexp(−L(s)/σ) …(4)
【0052】
このように、状態を入力データとの距離に応じた尺度で確率的に決定した場合、以後の計算で全ての状態について計算する必要がある。従って、計算量を削減するため、一定値以下の確率は0とし、計算として扱わないようにしても良い。
【0053】
尚、P(s)の定義において、s=Kのときだけ1、それ以外を0とすれば、状態を確定したときと同じになる。
【0054】
<学習処理>
次に、状態認識部5の学習処理では、入力データ及び教師情報から、SOMをベースとした各状態の代表値の学習(更新)を行う。学習は、階層型ニューラルネットワークの一種である自己組織化マップ(SOM;Self-Organization Maps)の学習をベースとする。
【0055】
SOMは、M次元(通常は2次元)に並べられたユニットが、それぞれベクトル値(通常入力との結線の重みと呼ばれる)を持ち、認識処理において入力の属する状態Kを求めたように、入力に対して勝者ユニットをベクトルの距離を基準として決定する。そして、勝者ユニット及びその周辺のユニットの参照ベクトル値を、入力ベクトルに近づくように更新する。これを繰り返し、全体が入力データの分布を最適に表現できるように教師無しで学習してゆく。1次元SOMによる学習のイメージを、図5に示す。
【0056】
本システムにおいては、SOMによる学習は、以下のようになる。但し、本システムにおいては、ユニット(状態)は1次元につながっているものとする。勝者ユニットの状態番号を、前述の状態番号Kとすると、代表ベクトルprotsは、以下の(5)式に従って更新(学習)される。
prots(i)→prots(i)+α(In(i)−prots(i) …(5)
【0057】
ここで、(5)式におけるαは、更新の重みを示す学習率係数であり、以下の(6)式で表される。
α=a・b(t)・c(D(s,K),t)・e(t) …(6)
但し、a :学習係数
b :時間減衰係数
c :領域減衰係数
D(s,K):更新対象のユニットと勝者ベクトル間のつながりにおける距離
e :教師情報係数
【0058】
(6)式における各パラメータa,b,cは、通常のSOMでも用いられるパラメータであり、時間減衰係数bは、学習経過時間t(通常何回目の更新かを表す)の関数であり、一般には時間tの増加につれ減衰する。また、距離D(s,K)は、特徴量空間上での距離ではなく、例えば、図4においては、勝者ユニットの隣のユニットは距離1、その隣は距離2となる。
【0059】
一方、領域減衰係数cは、その距離D(s,K)の関数であり、距離D(s,K)が大きくなる程、値が小さく、ある一定以上の距離D(s,k)については更新されないように設定される。また、領域減衰係数cは、時間tの関数でもあり、時間tが大きくなる程、値が小さくなる。更に、本システムでは、教師情報を示す教師情報係数e(t)を導入するが、これについては後述する。
【0060】
このように、SOMの学習アルゴリズムでは、学習初期は、広範囲のユニットが入力データに近づくように更新され、学習が進むにつれ、更新されるユニット数、更新量とも少なくなり、最終的には、学習率係数α(更新の重み)が0になり、学習が終了する。尚、初期状態では、通常、ユニットはベクトル空間上の中心付近にランダムに配置される。
【0061】
ここで、本システムでは、オンライン学習システムであることから、以上の学習アルゴリズムを若干変更し、学習を事前学習フェーズとオンライン学習フェーズとに分け、各学習フェーズで学習のパラメータを変更している。すなわち、学習の終了時刻は設けずに、事前学習フェーズとオンライン学習フェーズとでそれぞれの時刻で一定とし、また、更新範囲の減衰も設けず、事前学習時とオンライン学習時の範囲は異なるものとする。
【0062】
これは、オンライン学習である本システムにおいては、学習に終了時刻はないこと、また、事前学習を導入しているのは、一義的に一定値とすると、更新量が大きい場合、SOMの分布が入力データの平均付近の狭い範囲に集中してしまうためであり、逆に小さい場合には、SOMの分布が特徴量空間上にばらつき過ぎてしまい、入力データの分布をうまく表現できないためである。
【0063】
そのため、図6に示すように、事前学習として、時間減衰係数b,領域減衰係数cの値を大きくとることで、先ず、SOMを入力データ分布の中心付近に寄せておき、その後、時間減衰係数b,領域減衰係数cを小さくすることで、適切な分布を表現できるようにしている。尚、ここでの事前学習は、市場で実走行に使う前のオフラインでの学習を想定している。
【0064】
図7に、学習後のSOMの分布例を示す。実際の特徴量空間は240次元であるが、図7では、そのうちの3次元のみを表しており、グラフの各点が入力データを示している。実際には、各点は色つきの点として表現され、色によってリスクの大きさを表している。黒い点が各状態の代表ベクトルで、それらを結ぶ黒線がSOMのつながりである。
【0065】
以上では、入力データの分布を最適に表現できる学習法について述べてきたが、実際に求められるのは、リスクを認識する上で入力データの分布を最適に表現できることである。SOMは、本来、教師なしの学習法(入ってきたデータを均等に扱い学習していく)であるが、本システムにおいては、リスクを認識する上での効率的な学習として、前述の教師情報係数e(t)によるリスク情報を与えた学習を行う。
【0066】
詳細は後述するが、リスクの認識は、認識した状態のリスク確率という形で出力する。これは、その状態が、リスクをどの程度の確率で持つかということを表したものである。具体的な学習法としては、時刻tでの入力データがドライバ情報から得られたリスクレベルRという教師情報を持つ場合、認識された状態が持つリスク確率においてリスクレベルRの確率が高ければ教師情報係数e(t)を大きくし、小さければ、教師情報係数e(t)を小さくする。また、教師情報が得られない場合には、教師情報係数e(t)を小さくするという処理にする。
【0067】
これにより、学習を進めるうちに、認識された状態は、そのときのリスクを高確率で持つようになり、つまりはリスクの認識精度が上がっているということになる。具体的な教師情報係数e(t)の設定は、次のリスク認識処理において説明する。
【0068】
また、状態を確率的に求めた場合の学習については、勝者ユニットを確率に応じた重みで表現し、その重みに応じた更新量により更新を行う。但し、計算量が増大するという問題があるので、本システムでは、学習時については、勝者ユニットを入力データに一番近い状態に確定させて学習を行っており、一定値以下の確率の状態については、自身を勝者とする更新は行わない。
【0069】
[リスク情報の抽出処理]
前述したように、本形態では、車両操作情報からのリスク抽出に際して、リスク情報抽出部6では学習を行わず、予め設定したルールを用いてドライバの操作情報からリスク情報を抽出するようにしている。このルールに従ったリスク情報の抽出処理においては、リスク情報をレベル付きの1次元データとして扱う。
【0070】
具体的には、リスクのレベルを0〜10(整数値)の11段階とし、値が大きいほどリスクが高いことを表現する。但し、ここでのリスク情報は、30Hzの各フレーム毎といったように、一定時間毎にリスクを認識しようとするものではない。これは、実際のドライバの操作は、リスクだけにより行われているわけではなく、リスクに伴う操作を行う割合は、全走行中の例えば10%にも満たない一部であろうと考えられるからである。
【0071】
すなわち、ドライバ操作データからのリスク情報の認識は、ドライバの操作行動に影響を与えるような、ある程度大きなリスクがあったときにのみ、それがわかることを第一の目標とする。そのため、リスク0に関しては、出力はリスクがないということだけでなく、教師情報がないということも表している。
【0072】
また、リスク認識のルールは、できるだけ現実に合うように任意に設定するという立場を取り、以下の(1)〜(5)に示すルールを並列化して各条件の中で最も大きな値のリスクを教師リスクとする。
【0073】
(1)急ブレーキを踏んだか
フレーム間のブレーキ圧力の差分に応じてリスクレベルを設定する。例えば、ブレーキ圧力の差分が1×102kPa以上ならリスク有り、1×102kPaでリスク5、1×103kPaでリスク10とし、リスク5とリスク10との間は、ブレーキ圧力の差分に応じて線形に設定する。
【0074】
(2)ブレーキを強く踏んだか
所定の車速以上で、ブレーキ圧力に応じてリスクレベルを設定する。例えば、車速10km/h以上で、ブレーキ圧力が20×102kPa以上の場合はリスク10、ブレーキ圧力が10×102kPa以上の場合はリスク6、ブレーキ圧力が5×102kPa以上の場合はリスク2とする。
【0075】
(3)急ハンドルを切ったか
ウインカーが出ていない状態で、フレーム間のハンドル角の差分の絶対値が設定値(例えば10deg)以上の場合、リスク5とする。
【0076】
(4)アクセルを急に離したか
所定の車速以上で、フレーム間のアクセル開度の差分に応じてリスクレベルを設定する。例えば、車速5km/h以上でアクセル開度の差分が−1%以下の場合、リスク4とする。
【0077】
(5)アクセルを踏んでいるか
加速中のアクセル開度に応じてリスクレベルを設定する。加速中であるか否かは、車速の微分値で判断し、車速の微分値0以上(加速中)でアクセル開度1%以下の場合、リスク2とする。
【0078】
以上のルールは、当然ながら、追加・削除が可能であり、より現実に合うように調整することができる。また、以上のルールを自動生成するアルゴリズム、以上のルールに更にファジィ要素を取り入れる等して、「ドライバデータからのリスク認識の学習的獲得」を行うことも可能である。
【0079】
[リスク認識処理]
リスク認識部7では、状態認識部5で求めた状態により、リスクを出力する。前述したように、各状態はそれぞれリスク確率分布を持つため、状態sでのリスクの確率分布をp(R│s)と表すことにする。尚、ここでのリスクは、リスク情報抽出部6でのリスクと対応しており、11段階のレベルに分けているので、リスクレベルRとリスク確率(分布)p(R│s)とは、例えば図8に示すような関係で表される。
【0080】
リスク出力は、基本的にこのリスク確率p(R│s)を出力することになるが、出力結果を例えば警報や表示などに使う場合には、確率分布のままでは使いにくいため、リスク出力としては、以下の(7)式で示される期待値Eを出力する。
E=ΣRR・p(R│s) …(7)
【0081】
また、状態を確率的に取り扱った場合、期待値Eは、以下の(8)式のようになる。
E=ΣsΣRP(s)・R・p(R│s) …(8)
【0082】
<リスク確率の学習処理>
リスク確率の学習は毎フレームに行われ、リスク確率は逐次更新される。リスク確率は、基本的に、過去に経験したリスクレベルの頻度分布を用いて算出する。しかし、本システムは、オンライン学習なので無限遠過去のデータまで持つことは難しく、また遠い過去の経験に現在と同じ重要度を持たせることは好ましくないと考えられる。従って、ここでは、以下の方法でリスク確率を更新する。
【0083】
時刻tでの状態stのリスク確率をpt(R│st)としたとき、以下の(9)式に従って、リスク確率を更新する。
pt+1(R│st)=pt(R│st)+β…(9)
【0084】
更に、リスク確率pt+1(R│st)は、以下の(10)式に従って正規化する。
pt+1(R│st)←pt+1(R│st)/ΣRpt+1(R│st) …(10)
【0085】
尚、状態の更新は、その時刻の状態のみであるが、状態を確率的に扱う場合には、各状態においてβをp(st)・βとして計算する。ここで、βは定数であり、この値が大きいほどより現在の情報を重要視することになる。
【0086】
ここで、与えられる教師リスクについては、リスク情報抽出部6の説明で述べたように、各フレーム毎に得られるとは限らない。リスクレベルが高い場合には、ドライバデータからリスク情報が得られる場合が多いが、リスクレベルが低い場合には、特に教師情報が得られる可能性が小さくなってしまうという問題がある。
【0087】
この問題に対して、本システムでは、教師リスク情報を時間軸方向で伝播させることで対処するようにしている。これは、ある時刻に教師リスク情報が得られた場合は、その前の時刻もその時刻と同じではないまでも危険であるという因果関係に基づくものであり、この因果関係を用いて教師リスク情報を伝播させる。
【0088】
この場合、過去に情報を伝播させるには、伝播させる分のすべての過去の状態遷移を記憶している必要があるが、リアルタイムでの学習を前提としたとき、記憶容量と計算量がネックとなる。そこで、本システムでは、強化学習の際に用いられるTD(Temporal Difference)誤差を考慮した伝播により、リスク確率を更新している。
【0089】
強化学習は、その時々の状態に対しての明示的な行動の指示ではなく、行った行動に対しての報酬によって学習を行い、この先得られるであろう報酬の総和が最大となる行動をその時々で選択する学習法であり、時刻tにおける実際の報酬と報酬の予測値の差をTD誤差(TD-ERROR)と呼び、これを0とするように学習が行われる。本システムのリスク情報は、この強化学習の報酬に相当し、図9に示すように、或るシーンでの状態遷移を考えると、状態S1に至る状態S2,S7,…にもリスクがあるはずであると考えられ、リスク情報の伝播を行う。
【0090】
この場合、伝播は、現在の状態から一つ前のフレームへ伝播させるだけで良く(つまり計算も記憶も1フレーム前との関係だけ扱えば良い)、一回の経験では、リスク情報は充分な過去まで伝播しないものの、同じような経験を繰り返すことで、徐々にリスク情報が伝播し、その因果関係を学習することができる。また、リスク情報の伝播は、図10に示すように、同じリスクレベルの時刻tの状態Stから時刻t−1の状態St-1への伝播のみではなく、異なるリスクレベルの状態間においても伝播させるようにする。但し、リスクレベル0は、リスクがないという他に、リスク情報がないという場合も含むため、伝播はさせない。
【0091】
伝播によるリスク確率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:リスクレベル方向の伝播の大きさを表すパラメータ
γ:時系列の伝播の大きさを表すパラメータ
η:一回の学習での更新の大きさを表すパラメータ
【0092】
ここで、時刻tで得たリスク情報を、リスクレベルrを用いてRI(r)と表している。前述したように、リスク情報抽出部6で扱うリスク情報は、0〜10の11段階の中の或る一つのリスクレベルに対して得られるものとしている。すなわち、時刻tで得られたリスク情報がリスクレベルQとすると、(12),(13)式のように表される。
RI(r)=1 (r=Q) …(12)
RI(r)=0 (r≠Q) …(13)
【0093】
一方、このリスク学習におけるリスク情報RI(r)は、図11に示すように、実際はそのリスクレベル付近のリスクも存在すると考えて拡張を行っている。この拡張は、具体的には、隣のリスクレベルをパラメータg(g<1)を用いてg倍、そのまた隣のリスクレベルをg*g倍するという操作を行っており、この操作には、限られた教師データをさらに有効に使えるという効果がある。また、リスクレベル方向の伝播の大きさを表すhは通常、リスク情報の拡張に用いたgと同じ値としている。
【0094】
リスク確率の更新後は、状態認識部5における学習処理で用いた教師情報係数係数e(t)を設定する。この教師情報係数e(t)は、以下の(14),(15)式に従って設定される。時刻tでリスク情報抽出部6から得られるリスク情報をRを用いて、
R≠0のとき、
e(t)=10・R・p(R│st) …(14)
R=0のとき、
e(t)=const …(15)
【0095】
R=0のときは、教師情報が入らなかったときに相当するが、その場合は、教師情報係数e(t)は、定数constすなわち固定値のゲインになる。この値は、教師リスクが得られる確率により決定され、教師ありの学習データ数と教師なしの学習データ数との比率に基づいて設定される。本システムにおいては、経験則として、教師ありの学習データ数=教師なしの学習データ数となるように定数constを設定し、const=0.01としている。
【0096】
教師情報が入った場合は、その確率が高い程、またリスクレベルが大きい程、強く学習される。これにより、実際に起こった事象に対して、認識する確率が小さい場合は、その状態の認識が間違っている可能性が高いことを示し、学習が弱くされる。その状態の代表ベクトルは、同じ状態を認識し、リスクの確率が高かったデータに近づくような学習が行われる。そして、そのような学習が続くことで、その入力データは他の状態と認識されやすくなり、間違っている可能性の高い状態を認識しにくくなる。このようにして全体としての状態認識、リスク認識が最適化される。
【0097】
[リスク予測処理]
リスク予測部8は、先ず、現時刻から未来の時刻の状態を予測し、この未来の状態から未来のリスクを予測する。未来の状態は、或る1つの状態に確定されるものではなく、確率的であるため、ここでは、tフレーム後に状態Sである確率をp(st)と表し、現在時刻の状態も確率として表現する。
【0098】
尚、後述するように、処理周期としては、フレーム間隔以外の周期でも良く、また、現時刻の状態については、状態が確定しているのであれば、その状態を確率1、それ以外の状態の確率を0とすれば良い。
【0099】
以下、予測リスクを算出する上での基本的な処理(状態遷移の計算、学習、予測リスクの算出)について説明し、更に、予測リスクの正規化、拡張、実時間処理、リスク予測結果の利用について説明する。
【0100】
<状態遷移の計算>
状態Stから状態St+1への遷移は、本実施の形態においては、「ある時刻ステップの状態は、その1つ前の時刻ステップの状態のみから求まる」という1重のマルコフ性を仮定し、状態遷移確率C(st+1|st)を用いて以下の(16)式により計算される。これは状態Stから状態St+1へ遷移する確率である。時刻t0で状態Sが発生する確率から時刻tで状態Stが発生する確率を求めるには、(15)式をt回繰り返せば良く、これにより、状態の発生確率p(s0)からp(st)までがそれぞれ求まる。
p(st+1)=ΣstC(st+1|st)p(st) …(16)
【0101】
ここで、時系列に入力されるデータは、映像信号の1フレーム毎(例えば、33msec毎)での時間間隔が基本になるが、実際はNフレーム間隔で、状態遷移確率及び状態の予測を行うこととする(例えば、時間間隔を5フレームに設定する)。このフレーム間隔Nの設定は、短期的な目線で予測を行うか、長期的な目線で予測を行うかを制御することに相当する。
【0102】
同じ時刻tの状態確率p(st)を求める場合でも、フレーム間隔Nが異なれば、状態遷移確率C(st+1|st)は勿論のこと、得られる状態確率p(st)の結果も異なる。そのため、ある決まったフレーム間隔Nにより予測を行うということだけでなく、複数の時間軸による視点から異なるフレーム間隔Nを用いた予測を並列で行い、結果を総合することも有効である。
【0103】
尚、以上の予測で時刻tを充分大きくしたとき、開始状態の発生確率p(s0)の値に拘わらず、時刻tでの状態の発生確率p(st)は、事前確率(すなわち、その状態の発生し易さ、これを求める場合は、充分な数の状態出力データのヒストグラムを取り、確率に変換すれば良い)に収束する。例えば、N=5とした場合、実験によると、ほぼ数秒で事前確率に収束している。
【0104】
「現在がどのような状態でも最終的には行き着くところは同じ」という性質は、本質的ではあるが、ドライバへの情報提示や車両制御に対しては意味のない情報であり、予測情報として有用なのは、収束するまでの間の情報である。そのため、本システムでの予測の対象範囲は、数秒(例えば、3,4秒)以内ということになり、状態遷移の繰り返し計算の中で状態の確率が事前確率に収束しているか否かを判定し、収束していればそれ以降の予測処理は行わないことで処理時間を短縮する。
【0105】
また、以上では、処理周期をNフレーム間隔とする例について説明しているが、フレーム間隔でなく、例えば走行距離間隔による処理周期としても良い。具体的には、現在の車速から走行距離を計算し、その累積が予め設定した距離閾値Lを越えたときに処理を行うようにする。つまり、走行距離L間隔での処理周期になり、その場合には、一定間隔の時間周期で動作するリスク認識の最新結果を予測の現在状態として入力する。
【0106】
<予測リスクの学習>
以上の状態遷移確率は、オンラインリスク認識にて逐次入力される状態とその遷移情報を記憶することにより、学習される。例えば、各状態は確定しているものとして状態遷移のテーブルを用意し、毎フレームごとに得られる状態遷移度数をカウントすることで、定期的に状態遷移確率を更新する。これにより、オンラインで走りながら経験を蓄積し、状態遷移確率を更新して学習を行うことができる。
【0107】
図12に、カウントした状態遷移度数分布の例を示す。この状態遷移のカウントは、単純にヒストグラムをとった場合、現状は過去に得られた情報と最近得られた情報とを同等に扱うことに相当する。しかしながら、定期的にヒストグラムの全要素を、所定の係数Acを用いて1/Acに減少させる処理を行うことで、現在得られた情報をより重要視する(過去に学習した情報に対して直近で学習した情報の寄与度を上げる)ことができる。
【0108】
また、このような処理を行わない場合であっても、オンライン学習は継続的に続くため、ヒストグラム(頻度)が非常に大きくなることが懸念される。従って、ヒストグラムの何れかの要素が規定値以上となったときにヒストグラムの全要素を1/Acにすることで、演算上の負荷を軽減してオーバーフローを防止することができる。
【0109】
尚、以上の学習は、状態は確定しているとして、状態St+1,Stのヒストグラムに投票することで学習を行っているが、確率的に認識された状態の発生確率p(st+1),p(st)の大きさを、それぞれの遷移確率C(st+1|st)に足すことで、容易に拡張することができる。
【0110】
<予測リスクの算出>
次に、現時刻からtフレーム後までの各状態の確率分布が得られると、この情報を元に、予測リスクを算出する。予測リスクは、以下の(18)式に示すように、未来の全ての状態のリスクを確率的に累積することで求める。その際、より遠い未来ほど累積に寄与する割合が小さくなるように減衰のためのゲイン関数G(t)を付与して累積する。このゲイン関数G(t)を適切に設定することにより、例えば、t秒後の予想されるリスクというようなピンポイントの予測も可能である。
ΣtΣst(tmp_risk(st))Y1・(base_risk)Y2・(risk_difference(st))Y3・p(st)・G(t) …(18)
ここで、tmp_risk(st):状態Stでのリスク
base_risk:現在のリスク
risk_difference(st):状態Stのリスクと現在のリスクとの差(但し、負になる場合は0とする)
G(t)=exp(-t/Y4) 但し、ΣtG(t)=1
Y1,Y2,Y3,Y4:パラメータ
【0111】
(18)式におけるパラメータY1〜Y3は、算出されるリスクを意味付けするパラメータであり、パラメータY1,Y2はリスクレベルの強調度、パラメータY3はリスク上昇の強調度になる。例えば、Y1=1,Y2=1,Y3=1に設定されるが、パラメータY3は、現在よりリスクが小さくなる場合は無視することができる。これは、リスクを考える上では、この後危なくなるかどうかに興味があり、現在よりリスクが小さくなる場合は特に問題とならないためである。
【0112】
また、ゲイン関数G(t)のパラメータY4は、累積時の減衰を示すパラメータであり、例えば、Y4=1に設定される。このゲイン関数G(t)の特性は、図13に示される。同図におけるG(t)の値は、5フレーム毎のステップ(N=5)のデータを示している。
【0113】
<予測リスクの正規化>
以上によって求める予測リスクの取り得る範囲は、理論上は0〜1であるが、実際は0〜0.01程度の範囲で分布する。そのため、算出した予測リスクを正規化する処理を行う。この正規化処理については、予め設定した範囲で正規化を行う以外にも、動的に変化させることができる。具体的には、今まで得られた最大の予測リスク値を記憶しておき、そのリスクが1となるように変換する。つまり、予測リスクの正規化のための係数もオンラインでの経験を元に動的に変動するということになる。
【0114】
<リスクレベルの確率分布への拡張>
現在及び状態Stのリスク値は、その状態の持つリスク情報から得られる。すなわち、リスク情報は、図14に示すように、リスクレベルの確率分布で保持しているが、リスク値を期待値で出力する場合、図15(a),(b)に示すように、異なるリスクレベルの確率分布でも、同じ現在リスクの値として表現される可能性がある。
【0115】
従って、より詳細な予測を行うためには、予測リスクの算出時においても、リスクレベルの確率分布を直接扱うことが必要になる。この予測リスクの算出の拡張は、上述の(18)式を、以下の(19)式のように修正すれば良い。
ΣtΣstΣrrY5・(tmp_riskst(r))Y1・(base_risk)Y2・(risk_differencest(r))Y3・p(st)・G(t) …(19)
ここで、tmp_riskst(r):状態Stでのリスクrの確率
base_risk:現在の状態でのリスク
risk_differencest(r):状態S0のリスクrの確率と現在の状態のリスクrの確率との差(但し、負になる場合は0とする)
G(t):(18)式と同様
Y1,Y2,Y3,Y4,Y5:パラメータ
【0116】
(19)式における各パラメータは、例えば、Y1=0,Y2=1,Y3=1,Y4=7,Y5=1に設定される。パラメータの設定を変えることにより、大きなリスクレベルに至る確率だけを求めることが可能となり、また、大きなリスクレベルをより強調した予測リスクの認識が可能になる。
【0117】
<実時間処理>
以上のリスク予測処理は、システムへの実装に際して処理時間(計算量)が問題となり、システムによっては計算能力が不足する可能性がある。例えば、状態数を100、予測対象範囲を50ステップとした場合、状態の予測は100×100×50回、予測リスク値の算出は100×50×4回(状態やリスクを確率的に拡張した場合は更に多い)の積の計算が必要になる。この他、当然のことながら、リスク認識の計算や学習も必要になる。このため、処理時間短縮を行うことが重要になる。
【0118】
ここで、上述したように、状態を確率的に拡張しないで現在が確定的であるとした場合には、状態遷移確率に変化がないとすると、予想は状態数だけ行えば良い。そのため、状態数(例えば100)通りの予測リスクを予め計算し、リスクテーブルPRT(s)として保持しておくことにより、予測リスクの出力はテーブル参照のみの処理で行うことができる。
【0119】
この場合、状態遷移確率はオンラインで学習していくため、時間と共に変化する。状態遷移確率が充分なデータ数から計算されるのであれば、1フレームのオンライン学習の状態遷移確率への寄与は充分小さい。そこで、毎回のリスク認識、予測出力とは別の異なる周期でバックグラウンド処理によってリスクテーブルを更新する(例えば、リスク認識は33×5=165msecで行い、テーブル更新は10minで行う)。
【0120】
一方、現在状態を確率的として拡張した場合には、予測は状態数通りではなく、(理論上)無限通り存在する。しかし、この場合においても、テーブルPRT(s)を用いて以下の(20)式のようにすることにより、予測リスクを算出することができる。
ΣsPRT(s)・p(s0) …(20)
【0121】
(20)式による予測リスクは、現在の状態が確定的であっても、状態の確率p(s)により表現できるため、自然な拡張となっている。よって、「現在(開始)状態が確定的であったとしたときの状態数通りのテーブル」を使用し、「テーブルのバックグラウンドでの更新処理」を実施することにより、毎回の予測リスクの出力が実時間で処理可能となり、しかも充分な精度を保持できるレベルで実現することができる。
【0122】
<リスク予測結果の利用>
予測は、その予測した時間後に結果が得られることから、その結果を用いて自らを学習すること(自律学習)が可能になる。予測の学習対象である状態遷移確率は一意に決まるため、もし予測が外れているということであれば、モデルが悪い(マルコフモデルの仮定が破れている、また予測リスク算出方法が適正でない)か、シーンリスクの認識自体が精度が悪いと推測することができる。
【0123】
マルコフモデルの枠組み自体はオンラインでの変更は難しいが、予測リスクの算出法、また、シーンリスク認識自体はオンライン学習可能である。具体的には、以下の(A),(B)に示すような手法を用いて予測結果を利用する。
【0124】
(A)予測した状態と、その後の時間帯で得られる状態認識結果との差をオンライン学習の教師情報の1つとして用い、予測結果をフィードバックした学習を行う。例えば、ある状態Sのときに間違いが多いのであれば、その状態Sを学習する際は学習率を高くする等して予測結果をフィードバックする。
【0125】
(B)予測リスクの算出が予測結果と合わない場合は、算出式のパラメータY1〜Y5を変更することで学習を行う。但し、その場合、リアルタイムで更新すると、間違った学習が行われる可能性があるので、バックグラウンドで最適なパラメータの値を探索し、現在用いているパラメータより精度が上がると判断すれば入れ替えるといった並列的な学習を行う。
【0126】
[リスク認識結果の出力例]
以上の処理によるリスク認識結果の出力例1,2を図16,図17に示す。図16,図17は、車載カメラから得られた画像に認識結果を表示したシステムの出力画像であり、現在認識しているリスクの大きさと予測したリスクの大きさとを、画面下部領域の2段のバーグラフで表している。このバーグラフで表される認識リスクは、前述したリスク確率の期待値を示しており、その上に表示される数字は、認識した状態番号である。
【0127】
図16に示す出力例1は、同図(a)に模式的に示すように、公差点内を右折する対向車両101が存在する状況下で自車両100が左折するシーンでの認識の例である。交差点にさしかかる手前のシーンでは、図16(b)に示すように、その時点でのリスク認識結果を示すバーグラフB1の大きさよりも、上段のバーグラフB2に示す予測リスクが大きくなっており、システムがいち早く反応して確実にドライバの注意を喚起する。また、交差点内で左折を開始するシーンでは、図16(c)に示すように、現在リスクを示すバーグラフB3が上段の予測リスクを示すバーグラフB4よりも大きくなり、差し迫ったリスクを確実にドライバに警告する。
【0128】
また、図17に示す出力例2は、同図(a)に模式的に示すように、自車両100前方の先行車両102が道路左側の駐車場へ侵入するシーンでの認識の例である。この場合においても、図17(b)に示すように、先行車両102から或る程度離れているシーンでは、現在リスクを示すバーグラフB5に対して、先行車両102の減速による追突のリスクを予測し、上段のバーグラフB6に示す予測リスクが大きくなっている。また、図17(c)に示すように先行車両102に接近したシーンでは、現在リスクを示すバーグラフB7が上段の予測リスクを示すバーグラフB8よりも大きくなり、先行車両102に対する追突のリスクをドライバに警告する。
【符号の説明】
【0129】
1 リスク予測システム
4 特徴量抽出部
5 状態認識部
6 リスク情報抽出部
7 リスク認識部
8 リスク予測部
【特許請求の範囲】
【請求項1】
移動体の外界環境を検出し、この外界環境に含まれるリスクを認識して予測するリスク予測システムであって、
上記外界環境の検出情報から抽出した特徴量をクラスタリングして状態を認識する状態認識部と、
上記状態認識部で認識された状態とリスクの教師情報との相関に基づいて、上記状態の有するリスクを適応的に学習し、上記外界環境に含まれる現在のリスクを認識するリスク認識部と、
上記状態の時系列情報に基づいて、現在認識しているリスクよりも先の未来のリスクを予測するリスク予測部と
を備えることを特徴とするリスク予測システム。
【請求項2】
上記状態を確率として扱い、時系列的に認識される上記状態の遷移確率を用いて、現在の状態から未来の状態を推定する処理を繰り返すことにより、未来のリスクを予測することを特徴とする請求項1記載のリスク予測システム。
【請求項3】
上記遷移確率の計算を複数の時間軸で並列的に実行し、それらの結果を統合して未来のリスクを予測することを特徴とする請求項2記載のリスク予測システム。
【請求項4】
上記遷移確率の計算を繰り返して事前確率に収束しているか否かを判定し、事前確率に収束している場合、上記遷移確率の計算を終了することを特徴とする請求項2記載のリスク予測システム。
【請求項5】
予測した状態と、その後の時間帯で得られる状態認識結果との差を教師情報として、現在リスクの認識処理を学習することを特徴とする請求項2記載のリスク予測システム。
【請求項6】
上記遷移確率を上記状態の出力頻度のヒストグラムを用いて算出することを特徴とする請求項2記載のリスク予測システム。
【請求項7】
上記ヒストグラムの頻度情報を定期的に減少させ、過去に学習した情報に対して直近で学習した情報の寄与度を上げることを特徴とする請求項6記載のリスク予測システム。
【請求項8】
上記ヒストグラムの何れかの要素が予め設定した閾値を上回った場合、上記ヒストグラムの頻度情報を減少させて演算負荷を軽減することを特徴とする請求項6記載のリスク予測システム。
【請求項9】
上記ヒストグラムを、上記状態の確率の大きさを投票量として更新することを特徴とする請求項6記載のリスク予測システム。
【請求項10】
上記未来のリスクを、現在の状態を確定的とみなして作成されたリスクテーブルを用いて予測することを特徴とする請求項2記載のリスク予測システム。
【請求項11】
上記リスクテーブルを、実時間のリスク認識処理及び予測処理とは異なる周期のバックグラウンド処理で更新することを特徴とする請求項10記載のリスク予測システム。
【請求項1】
移動体の外界環境を検出し、この外界環境に含まれるリスクを認識して予測するリスク予測システムであって、
上記外界環境の検出情報から抽出した特徴量をクラスタリングして状態を認識する状態認識部と、
上記状態認識部で認識された状態とリスクの教師情報との相関に基づいて、上記状態の有するリスクを適応的に学習し、上記外界環境に含まれる現在のリスクを認識するリスク認識部と、
上記状態の時系列情報に基づいて、現在認識しているリスクよりも先の未来のリスクを予測するリスク予測部と
を備えることを特徴とするリスク予測システム。
【請求項2】
上記状態を確率として扱い、時系列的に認識される上記状態の遷移確率を用いて、現在の状態から未来の状態を推定する処理を繰り返すことにより、未来のリスクを予測することを特徴とする請求項1記載のリスク予測システム。
【請求項3】
上記遷移確率の計算を複数の時間軸で並列的に実行し、それらの結果を統合して未来のリスクを予測することを特徴とする請求項2記載のリスク予測システム。
【請求項4】
上記遷移確率の計算を繰り返して事前確率に収束しているか否かを判定し、事前確率に収束している場合、上記遷移確率の計算を終了することを特徴とする請求項2記載のリスク予測システム。
【請求項5】
予測した状態と、その後の時間帯で得られる状態認識結果との差を教師情報として、現在リスクの認識処理を学習することを特徴とする請求項2記載のリスク予測システム。
【請求項6】
上記遷移確率を上記状態の出力頻度のヒストグラムを用いて算出することを特徴とする請求項2記載のリスク予測システム。
【請求項7】
上記ヒストグラムの頻度情報を定期的に減少させ、過去に学習した情報に対して直近で学習した情報の寄与度を上げることを特徴とする請求項6記載のリスク予測システム。
【請求項8】
上記ヒストグラムの何れかの要素が予め設定した閾値を上回った場合、上記ヒストグラムの頻度情報を減少させて演算負荷を軽減することを特徴とする請求項6記載のリスク予測システム。
【請求項9】
上記ヒストグラムを、上記状態の確率の大きさを投票量として更新することを特徴とする請求項6記載のリスク予測システム。
【請求項10】
上記未来のリスクを、現在の状態を確定的とみなして作成されたリスクテーブルを用いて予測することを特徴とする請求項2記載のリスク予測システム。
【請求項11】
上記リスクテーブルを、実時間のリスク認識処理及び予測処理とは異なる周期のバックグラウンド処理で更新することを特徴とする請求項10記載のリスク予測システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図8】
【図9】
【図10】
【図11】
【図13】
【図15】
【図16】
【図17】
【図7】
【図12】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図8】
【図9】
【図10】
【図11】
【図13】
【図15】
【図16】
【図17】
【図7】
【図12】
【図14】
【公開番号】特開2011−14037(P2011−14037A)
【公開日】平成23年1月20日(2011.1.20)
【国際特許分類】
【出願番号】特願2009−159062(P2009−159062)
【出願日】平成21年7月3日(2009.7.3)
【出願人】(000005348)富士重工業株式会社 (3,010)
【Fターム(参考)】
【公開日】平成23年1月20日(2011.1.20)
【国際特許分類】
【出願日】平成21年7月3日(2009.7.3)
【出願人】(000005348)富士重工業株式会社 (3,010)
【Fターム(参考)】
[ Back to top ]