(57)【要約】【課題】現在のリスクだけでなく近い未来のリスクを認識し、ドライバへの警告や車両制御によるリスク回避を可能とする。【解決手段】特徴量抽出部４で画像入力部２からの画像データから特徴量を抽出し、状態認識部５でＮ次元の特徴量ベクトルを１次元の状態に変換する。また、リスク情報抽出部６で車両データ入力部３から入力される車両情報からリスク情報を抽出して教師情報を作成する。リスク認識部７は、状態認識部５で得られた状態とリスク情報抽出部６で作成された教師との相関関係から状態のリスクを学習・認識する。更に、リスク予測部８は、時系列的な状態の遷移をマルコフモデルを用いてモデル化し、状態遷移確率をオンラインで学習更新することにより未来の状態を予測して対応するリスクを予測する。そして、リスク情報出力部９から現在のリスクと予測した未来のリスクをモニタや音声等により出力する。【選択図】図１
2011014037.tif 000002
【特許請求の範囲】
【請求項１】
移動体の外界環境を検出し、この外界環境に含まれるリスクを認識して予測するリスク予測システムであって、
上記外界環境の検出情報から抽出した特徴量をクラスタリングして状態を認識する状態認識部と、
上記状態認識部で認識された状態とリスクの教師情報との相関に基づいて、上記状態の有するリスクを適応的に学習し、上記外界環境に含まれる現在のリスクを認識するリスク認識部と、
上記状態の時系列情報に基づいて、現在認識しているリスクよりも先の未来のリスクを予測するリスク予測部と
を備えることを特徴とするリスク予測システム。
【請求項２】
上記状態を確率として扱い、時系列的に認識される上記状態の遷移確率を用いて、現在の状態から未来の状態を推定する処理を繰り返すことにより、未来のリスクを予測することを特徴とする請求項１記載のリスク予測システム。
【請求項３】
上記遷移確率の計算を複数の時間軸で並列的に実行し、それらの結果を統合して未来のリスクを予測することを特徴とする請求項２記載のリスク予測システム。
【請求項４】
上記遷移確率の計算を繰り返して事前確率に収束しているか否かを判定し、事前確率に収束している場合、上記遷移確率の計算を終了することを特徴とする請求項２記載のリスク予測システム。
【請求項５】
予測した状態と、その後の時間帯で得られる状態認識結果との差を教師情報として、現在リスクの認識処理を学習することを特徴とする請求項２記載のリスク予測システム。
【請求項６】
上記遷移確率を上記状態の出力頻度のヒストグラムを用いて算出することを特徴とする請求項２記載のリスク予測システム。
【請求項７】
上記ヒストグラムの頻度情報を定期的に減少させ、過去に学習した情報に対して直近で学習した情報の寄与度を上げることを特徴とする請求項６記載のリスク予測システム。
【請求項８】
上記ヒストグラムの何れかの要素が予め設定した閾値を上回った場合、上記ヒストグラムの頻度情報を減少させて演算負荷を軽減することを特徴とする請求項６記載のリスク予測システム。
【請求項９】
上記ヒストグラムを、上記状態の確率の大きさを投票量として更新することを特徴とする請求項６記載のリスク予測システム。
【請求項１０】
上記未来のリスクを、現在の状態を確定的とみなして作成されたリスクテーブルを用いて予測することを特徴とする請求項２記載のリスク予測システム。
【請求項１１】
上記リスクテーブルを、実時間のリスク認識処理及び予測処理とは異なる周期のバックグラウンド処理で更新することを特徴とする請求項１０記載のリスク予測システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車等の移動体の外部環境に含まれるリスクを認識して予測するリスク予測システムに関する。
【背景技術】
【０００２】
近年、自動車等の移動体における予防安全技術として、カメラを搭載して外界環境を撮像し、撮像した画像を処理して外界環境に含まれる危険度（リスク）の情報を認識し、ドライバに警告する、又は運転をアシストするといった技術が開発されている。
【０００３】
このような危険情報の認識技術は、例えば、特許文献１に開示されている。特許文献１の技術は、車両周囲の環境の対象物に対して、その種類や属性毎に危険度パラメータを設定し、この危険度パラメータに基づいて危険度を演算するものである。
【０００４】
特許文献１に開示されているような従来の技術では、歩行者、対向車、障害物、白線等といった危険に結びつく要因を設定し、それらに基づいてリスクの認識を行っており、実際のシステムとしては、開発者が想定したリスク要因や認識を予めシステム内に組み込んでおくという形で実現されている。
【０００５】
しかしながら、自動車の走行環境のような実際の環境は、天候の変化、歩行者、車、路上の構造物等の存在といったように多様であり、更には、運転する人間も多様であるため、従来の予め設定した一つの認識モデルでは限界があり、危険に結びつく要因についての認識が高精度で行われなければ、全体としてのリスクを認識できないばかりでなく、予め想定していた以外の危険な場面では認識できないという問題がある。
【０００６】
このため、本出願人は、特許文献２において、実際の環境下での経験をシステムが自律的に学習し、多様な外界環境に対応して危険度の認識を可能とすることのできるオンライン学習システムを提案している。特許文献２の技術は、実際の環境下での経験をシステムが自律的に学習するため、ユーザの運転傾向に適合した認識が可能である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−８１０３９号公報
【特許文献２】特開２００８−２３８８３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来の技術は、ある時刻の画像情報等を用いて、その時刻のリスクを認識するものである。このため、或る時点で認識したリスクを、ドライバに警告したり直接車両制御に用いる場合、リスクを回避するまでに充分な時間がないという状況が起こり得る。
【０００９】
本発明は上記事情に鑑みてなされたもので、現在のリスクだけでなく近い未来のリスクを認識し、ドライバへの警告や車両制御によるリスク回避を可能とすることのできるリスク予測システムを提供することを目的としている。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明によるリスク予測システムは、移動体の外界環境を検出し、この外界環境に含まれるリスクを認識して予測するリスク予測システムであって、上記外界環境の検出情報から抽出した特徴量をクラスタリングして状態を認識する状態認識部と、上記状態認識部で認識された状態とリスクの教師情報との相関に基づいて、上記状態の有するリスクを適応的に学習し、上記外界環境に含まれる現在のリスクを認識するリスク認識部と、上記状態の時系列情報に基づいて、現在認識しているリスクよりも先の未来のリスクを予測するリスク予測部とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、現在のリスクだけでなく近い未来のリスクを認識することができ、ドライバへの警告や車両制御によるリスク回避を可能とすることができる。
【図面の簡単な説明】
【００１２】
【図１】リスク予測システムの基本構成図
【図２】リスク予測の説明図
【図３】特徴量抽出の画像領域を示す説明図
【図４】状態認識の概念図
【図５】１次元自己組織化マップによる学習の概念図
【図６】事前学習とオンライン学習の説明図
【図７】自己組織化マップの学習後の分布を示す説明図
【図８】リスクレベルとリスク確率との関係を示す説明図
【図９】リスク伝播の説明図
【図１０】情報伝播の説明図
【図１１】リスク情報の拡張を示す説明図
【図１２】状態遷移の度数分布を示すヒストグラム
【図１３】ゲイン関数の特性を示すグラフ
【図１４】リスクレベルの確率分布を示す説明図
【図１５】現在リスクとして表現される異なるリスクレベル分布を示す説明図
【図１６】予測リスクの出力例１を示す説明図
【図１７】予測リスクの出力例２を示す説明図
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施の形態を説明する。  
本発明のリスク予測システムは、自動車等の移動体に搭載され、外界環境の検出結果からその環境内に含まれる危険度（リスク）に係る情報を適応的に認識するシステムである。このシステムは、現在のリスクだけでなく、さらに数秒後といった近い未来のリスクを認識することができ、ドライバへの警告や車両制御によるリスクの回避を可能とし、自車及び自車周辺の車両、歩行者の安全向上に寄与することができる。
【００１４】
外界環境のセンシングは、システムの入力系として備える各種センサデバイス、例えば、外界を単眼視やステレオ視で撮像するカメラ、レーザやミリ波等のレーダ装置からのセンシング情報を用いることが可能である。つまり、本システムは、基本的に外界環境を検出するセンサデバイスに依存するものではなく、広義にはセンサデバイスより得られる外界環境情報とリスク情報との相関関係を学習し、リスクを予測するシステムである。
【００１５】
本形態においては、リスク予測システムを自動車等の車両に適用し、車載カメラによって外界を撮像した画像情報と、ドライバの運転操作や車両の運転状態等の車両情報とを用いてリスク情報を抽出する例について説明する。すなわち、本形態のリスク予測システムは、画像から得られた情報から直接リスクとの関連付けを行うことでリスクを認識すると共に、その関連付けを実際の走行で遭遇した環境から学習して適応的に認識を行い、現在認識しているリスクのみならず、数秒先のリスクをも予測する。
【００１６】
以下、図１を参照して本形態のリスク予測システムについて説明する。本形態におけるリスク予測システム１は、単一のコンピュータシステム或いはネットワーク等を介して接続された複数のコンピュータシステムで構成されている。車両の外界環境を検出するセンサとしては、ＣＣＤやＣＭＯＳ等の撮像素子を有する車載カメラを用いている。
【００１７】
具体的には、リスク予測システム１は、画像入力部２、車両データ入力部３、特徴量抽出部４、状態認識部５、リスク情報抽出部６、リスク認識部７、リスク予測部８、リスク情報出力部９を基本構成として備えている。詳細は後述するが、本システムは、車載カメラで撮像した画像を主として抽出した特徴量を「状態」という量に変換してクラスタリングを行い、各状態に対するリスクの確率密度分布を学習したリスク分布からリスクを認識するようにしている。リスクの予測は、現在のステップの「状態」から次のステップの「状態」を用いて行い、予測した状態が有するリスク情報から未来のリスクを予測する。
【００１８】
一般に、或る状況を認識した後、次にどのような状況になるかは、ドライバの性格や運転操作の癖、ドライバがよく遭遇する走行シーン等により、ドライバ毎に異なると考えられる。例えば、せっかちなドライバと用心深いドライバとでは、信号の変わり目で交差点に進入するかの判断は異なるであろうと思われる。つまり、予測はドライバ毎に異なるべきであり、逆に言うとオンラインで学習するということは、予め作成された認識処理で予測を行う場合に比べて、より高い精度の予測が可能になる。
【００１９】
先ず、各部の概略的な機能について説明する。尚、図１においては、外界環境を検出するセンサとしての車載カメラは、図示を省略している。
【００２０】
画像入力部２は、車載カメラからの撮像画像を入力し、ノイズ除去、ゲイン調整、γ補正等のビデオプロセス処理を行い、このビデオプロセス処理されたアナログ撮像画像を所定の階調のデジタル画像に変換する。画像入力部２で処理された画像は、一旦、メモリにストアされて収集され、特徴量抽出部４に送られる。
【００２１】
車両データ入力部３は、車内ネットワーク等から所定の周期で車両データを入力する。車両データとしては、車速、ハンドル角、アクセル開度、ブレーキ圧力等であり、これらのデータを所定の周期（例えば、３０Ｈｚ）でサンプリングする。
【００２２】
尚、以降の認識処理に必要であれば、車内ネットワーク上を流れる他の情報、例えば、前後横加速度やヨーレートといった車両運動情報、ヘッドライト、ウインカーといったシステム操作情報、外気温等も入力する。
【００２３】
特徴量抽出部４は、画像入力部２からの画像データを受け取り、得られた画像の特徴量を抽出する。すなわち、得られた画像から、エッジ情報、動き情報、色情報等の特徴量を抽出し、それらの情報をＮ次元ベクトルとして保持する。このＮ次元ベクトルには、図１に破線で示すように、画像特徴量以外の車両情報、例えば、車速やヨー角の変化といった情報も含める。
【００２４】
尚、本形態で扱う画像データは、単眼のカラーカメラで撮像した画像とするが、赤外カメラから得られる画像やステレオカメラから得られる距離画像であっても良い。また、前述したように、レーザやミリ波等からの情報を用いることも可能であり、その場合、画像特徴量は、より一般的には、外界環境特徴量とも呼ぶべきものである。
【００２５】
状態認識部５は、得られたＮ次元の特徴量ベクトルを、最終的に１次元の状態という量に変換する。状態とは、入力された画像を走行している場所や、天候、走行状態などによりシーン分けしているイメージになる。実際には、オンライン学習時、今はどのシーンであるかを明示的に教師することはできないため、入力データを状態数Ｍのクラスにクラスタリングしている。
【００２６】
リスク情報抽出部６は、入力された車両情報（ドライバの操作情報）からリスク情報を抽出し、教師情報（リスクの大きさや種類）を作成する。本システムでは、このリスク情報抽出についての学習は行わず、予め設定したルールを用いてリスク情報を認識する。
【００２７】
リスク認識部７は、状態認識部５で得られた状態と、リスク情報抽出部６で作成された教師との相関関係を求め、状態のリスクを学習・認識する。
【００２８】
リスク予測部８は、本実施の形態においては、リスク認識で出力される状態の遷移をマルコフモデルを用いてモデル化し、状態遷移確率をオンライン（実走行）で学習更新することにより、未来の状態を予測して対応するリスクを予測する。すなわち、図２に示すように、各シーンの画像の特徴量から状態を認識してリスク認識及び学習を行うオンライン学習動作（図中の黒塗り矢印で示す部分）の時系列の遷移に注目し、得られる状態系列が有するリスクの確率密度分布から未来のリスクを予測する（図中の白抜き矢印で示す部分）。
【００２９】
リスク情報出力部９は、認識したリスクをモニタや音声等により出力する。このリスク情報の出力は、現在認識しているリスクレベルと数秒先の予測リスクレベルとの双方を出力し、現在のリスクレベルがそれほど高くない場合であっても、数秒後に発生する可能性のある高レベルのリスクをいち早くドライバに警告し、予防安全性を高める。
【００３０】
以上のリスク予測システム１においては、現在のリスクの認識・出力と学習とを並行に実行している。すなわち、リスクの認識は、入力画像に対し、それより前までに学習された認識結果によって行い、リスクの学習は、入力された教師情報を用いてリスク認識部７を更新（学習）し、次の時刻は、更新されたリスク認識部７でリスクを認識するという処理を繰り返すことにより、リスク認識と学習とを同時に行う。
【００３１】
学習は、以下の（ａ），（ｂ），（ｃ），（ｄ）に示すように、４つの部分でそれぞれに可能であるが、（ａ），（ｂ）は学習に大規模な計算を要して時間がかかるため、本システムでは学習は行わず、予め事前にオフラインにて学習、或いは予め作成したアルゴリズムを用いている。  
（ａ）ドライバ操作データからのリスク情報の抽出（リスク情報抽出部６）
（ｂ）画像データからの画像特徴量の決定・選択（特徴量抽出部４）
（ｃ）画像特徴量から状態への変換（状態認識部５）
（ｄ）状態とリスクとの相関認識（リスク認識部７）
【００３２】
次に、リスク予測システム１における各処理の詳細について説明する。以下では、車載カメラによる画像から特徴量を抽出する処理、抽出した特徴量から状態を認識する処理、車両操作情報からリスクを抽出する処理（教師情報の作成）、状態と与えられた教師情報とからリスクを認識する処理、状態の遷移を予測して将来のリスクを予測する処理の順に説明する。
【００３３】
［画像特徴量の抽出処理］
特徴量抽出部４は、以降のリスク認識のためのデータを抽出する。一般に、リスク認識に相関がないデータは認識に悪影響を与える。つまり、この特徴量抽出処理においては、むやみに特徴量を増やすということは得策でなく、逆に、必要な特徴量を用いないことも精度を悪化させる。
【００３４】
そのため、どの特徴量を用いるべきかという特徴量選択が課題として発生するが、前述したように、特徴量選択については、それを学習的に得る場合は、以下に説明するリスク認識の上位の学習が必要になり、計算量・メモリ容量的にオンラインでの学習には不利である。
【００３５】
従って、本形態では、ここでの特徴量抽出部分は固定として扱う例について説明する。学習する場合には、システムの認識率を基準として評価し、各特徴量の組み合わせを最適化すれば良く、これには、組み合わせの全探索、遺伝的アルゴリズム（GA;Genetic Algorithm）等の発見的な探索法等、既存の最適化手法を用いることができる。
【００３６】
本形態においては、特徴量抽出部４で予め設定した種類の特徴量を抽出している。ここでは、処理を３つの要素に分け、各要素毎に設定した特徴量を抽出する。３つの要素は、前処理、特徴量計算、領域設定である。具体的には、以下に示すように、前処理で６種類、特徴量計算で１０種類、領域設定で４種類のデータを抽出し、それらの組み合わせで計２４０（６×１０×４）次元のデータを抽出する。
【００３７】
＜前処理＞
入力画像に対して、ソベル、縦方向ソベル、横方向ソベル、フレーム間差分、輝度、彩度の６種類のフィルタ処理を行い、６次元の特徴量データを抽出する。
【００３８】
＜特徴量＞
フィルタ処理された画像の画素値に対して、平均、分散、最大値、最小値、横方向重心、縦方向重心、コントラスト、均一性、エントロピー、フラクタル次元の１０種類の計算処理を行い、１０次元の特徴量データを抽出する。
【００３９】
＜領域＞
図３に示すように、画像内に領域Ａ０を設定し、この設定領域Ａ０の全体、設定領域Ａ０内の左側の領域Ａ１、右側の領域Ａ２、中央の領域Ａ３の４種類の領域について、４次元の特徴量データを抽出する。
【００４０】
尚、以上の２４０次元の特徴量は、オンラインシステムの演算性能に応じて、使用する次元を絞るようにしても良い。例えば、画像以外にも車両データも用いて、画面全体のソベルの平均、分散、画面全体のフレーム間差分の平均、分散、車速、ハンドル角の６次元の特徴量を抽出するようにしても良い。
【００４１】
また、以上の特徴量抽出処理においては、各特徴量は正規化しているが、理論上の範囲は非効率であるため、事前に各特徴量の分布を評価しておき、その評価結果を元に最大値及び最小値を設定し、０〜１の数値に正規化している。その場合、最大値・最小値を動的に変化させるようしても良く、例えば、最大値を超える値もしくは最小値を下回る値が入力された場合には、それぞれ範囲を拡大するように最大値・最小値を変更する。逆に、しばらく最小値、最大値付近のデータが入ってこなかった場合は、範囲を狭めるように変更する。
【００４２】
また、ここでは基本的な特徴量を用いたが、過去のフレーム情報を用いて動き情報を算出する等、特徴量の時系列的な変動を計算し、その情報を特徴量として用いることもできる。更に、全体としてのリスク認識の精度向上のためには、この特徴量抽出処理に高精度の画像処理を入れることもでき、例えば、歩行者認識結果、道路の白線認識結果、障害物認識結果等を含めて、ここでの抽出データに組み込むようにしても良い。このような意味では、本システムは、個々の外界認識結果を統合し、リスクを認識するシステムと捉えることもできる。
【００４３】
［状態認識処理］
状態認識部５では、Ｎ次元の特徴量データを１次元の状態という量に圧縮変換する。つまり、状態認識部５は、入力された画像特徴量データから状態という量を出力する識別器として機能する（但し、この識別器の出力は、１状態を確定せずに確率的に扱うこともできる）。本処理における学習は、この識別器の内部構造を入力データ、教師データを用いて実環境に適応させることになるが、ここでの学習における教師は、この入力データがどの状態であるかを直接教えるのではなく、出力された状態から認識されるリスクを、できるだけ効率的に、且つ精度良く認識できるようにするものである。
【００４４】
以下、入力された画像特徴量から状態を出力する認識処理、その認識処理自体を学習する学習処理に分けて説明を行う。
【００４５】
＜認識処理＞
識別器としての認識処理は、入力データに対してプロトタイプ型の識別処理を行う。ここで、状態番号をＳとすると、各状態は代表値を持ち、これをｐｒｏｔs(i)とする。状態代表値ｐｒｏｔs(i)は、Ｎ次元のベクトルであり、ｉ＝０，１，…，Ｎ−１となる。
【００４６】
入力データ（特徴量ベクトル）をＩｎ(i)とすると、入力ベクトルは、以下の（１）式に示すように、状態代表値ｐｒｏｔs(i)との距離Ｌ(s)により求められ、どの状態に属するかが認識される。  
Ｌ(s)＝(Σi(ｐｒｏｔs(i)−Ｉｎ(i))2)1/2  …（１）
【００４７】
入力データの属する状態（状態番号）Ｋは、以下の（２）式に示すように、距離Ｌ(s)の最小値で求められ、入力ベクトルが一番近い状態代表値の状態であると認識される。  
Ｋ＝ｍｉｎs(Ｌ(s))  …（２）
【００４８】
図４は、Ｎ次元中の３次元に注目した場合を示しており、入力データは、状態Ｓ６より状態Ｓ１に近いため、Ｓ１の状態であると認識される。以上が基本的な状態認識となるが、これは入力データがどの状態であるかを確定させていることになる。
【００４９】
この場合、図４では、状態Ｓ１と状態Ｓ６とでは、距離はそれほど違いはないが、若干、状態Ｓ１との距離が近いことで、入力データは状態Ｓ１であると認識される。このため、状態Ｓ１と状態Ｓ６との距離がほぼ同じ領域においては、認識が不安定になる可能性がある。
【００５０】
すなわち、オンラインで認識されるフレーム毎の状態は、「現在の状態は状態番号Ｋ」というように確定的に与えられている（つまり、予測の開始状態は、或る状態の確率が１で他の状態の確率が０の確定的な状態として与えられる）。しかしながら、実際には、世の中の全ての状況が限定された状態に完全に切り分けられるということはないと考えられ、現在の状態も確率的に表現されるべきと考えられる。
【００５１】
従って、ここでは、更に拡張し、距離に応じて状態Ｓ１の確率０．６、状態Ｓ６の確率０．４といったように、確率的に取り扱うことで、状態Ｓ１と状態Ｓ６の中間付近のデータの認識を安定させることができる。この状態の確率的な扱いでは、入力データが状態ｓである確率をＰ(s)とすると、状態の確率は、距離Ｌ(s)を用いて、以下の（３），（４）式で求める。ここで、σはパラメータであり、小さくするほど状態を確定的にする効果がある。  
Ｐ(s)＝(ｅｘｐ(−Ｌ(s)／σ))／ｚ  …（３）
ｚ＝Σsｅｘｐ(−Ｌ(s)／σ)  …（４）
【００５２】
このように、状態を入力データとの距離に応じた尺度で確率的に決定した場合、以後の計算で全ての状態について計算する必要がある。従って、計算量を削減するため、一定値以下の確率は０とし、計算として扱わないようにしても良い。
【００５３】
尚、Ｐ(s)の定義において、ｓ＝Ｋのときだけ１、それ以外を０とすれば、状態を確定したときと同じになる。
【００５４】
＜学習処理＞
次に、状態認識部５の学習処理では、入力データ及び教師情報から、ＳＯＭをベースとした各状態の代表値の学習（更新）を行う。学習は、階層型ニューラルネットワークの一種である自己組織化マップ（SOM;Self-Organization Maps）の学習をベースとする。
【００５５】
ＳＯＭは、Ｍ次元（通常は２次元）に並べられたユニットが、それぞれベクトル値（通常入力との結線の重みと呼ばれる）を持ち、認識処理において入力の属する状態Ｋを求めたように、入力に対して勝者ユニットをベクトルの距離を基準として決定する。そして、勝者ユニット及びその周辺のユニットの参照ベクトル値を、入力ベクトルに近づくように更新する。これを繰り返し、全体が入力データの分布を最適に表現できるように教師無しで学習してゆく。１次元ＳＯＭによる学習のイメージを、図５に示す。
【００５６】
本システムにおいては、ＳＯＭによる学習は、以下のようになる。但し、本システムにおいては、ユニット（状態）は１次元につながっているものとする。勝者ユニットの状態番号を、前述の状態番号Ｋとすると、代表ベクトルｐｒｏｔsは、以下の（５）式に従って更新（学習）される。  
ｐｒｏｔs(i)→ｐｒｏｔs(i)＋α(Ｉｎ(i)−ｐｒｏｔs(i)  …（５）
【００５７】
ここで、（５）式におけるαは、更新の重みを示す学習率係数であり、以下の（６）式で表される。  
α＝ａ・ｂ(t)・ｃ(Ｄ(s,K),ｔ)・ｅ(t)  …（６）
但し、ａ    ：学習係数
ｂ    ：時間減衰係数
ｃ    ：領域減衰係数
Ｄ(s,K)：更新対象のユニットと勝者ベクトル間のつながりにおける距離
ｅ    ：教師情報係数
【００５８】
（６）式における各パラメータａ，ｂ，ｃは、通常のＳＯＭでも用いられるパラメータであり、時間減衰係数ｂは、学習経過時間ｔ（通常何回目の更新かを表す）の関数であり、一般には時間ｔの増加につれ減衰する。また、距離Ｄ(s,K)は、特徴量空間上での距離ではなく、例えば、図４においては、勝者ユニットの隣のユニットは距離１、その隣は距離２となる。
【００５９】
一方、領域減衰係数ｃは、その距離Ｄ(s,K)の関数であり、距離Ｄ(s,K)が大きくなる程、値が小さく、ある一定以上の距離Ｄ(s,k）については更新されないように設定される。また、領域減衰係数ｃは、時間ｔの関数でもあり、時間ｔが大きくなる程、値が小さくなる。更に、本システムでは、教師情報を示す教師情報係数ｅ(t)を導入するが、これについては後述する。
【００６０】
このように、ＳＯＭの学習アルゴリズムでは、学習初期は、広範囲のユニットが入力データに近づくように更新され、学習が進むにつれ、更新されるユニット数、更新量とも少なくなり、最終的には、学習率係数α（更新の重み）が０になり、学習が終了する。尚、初期状態では、通常、ユニットはベクトル空間上の中心付近にランダムに配置される。
【００６１】
ここで、本システムでは、オンライン学習システムであることから、以上の学習アルゴリズムを若干変更し、学習を事前学習フェーズとオンライン学習フェーズとに分け、各学習フェーズで学習のパラメータを変更している。すなわち、学習の終了時刻は設けずに、事前学習フェーズとオンライン学習フェーズとでそれぞれの時刻で一定とし、また、更新範囲の減衰も設けず、事前学習時とオンライン学習時の範囲は異なるものとする。
【００６２】
これは、オンライン学習である本システムにおいては、学習に終了時刻はないこと、また、事前学習を導入しているのは、一義的に一定値とすると、更新量が大きい場合、ＳＯＭの分布が入力データの平均付近の狭い範囲に集中してしまうためであり、逆に小さい場合には、ＳＯＭの分布が特徴量空間上にばらつき過ぎてしまい、入力データの分布をうまく表現できないためである。
【００６３】
そのため、図６に示すように、事前学習として、時間減衰係数ｂ，領域減衰係数ｃの値を大きくとることで、先ず、ＳＯＭを入力データ分布の中心付近に寄せておき、その後、時間減衰係数ｂ，領域減衰係数ｃを小さくすることで、適切な分布を表現できるようにしている。尚、ここでの事前学習は、市場で実走行に使う前のオフラインでの学習を想定している。
【００６４】
図７に、学習後のＳＯＭの分布例を示す。実際の特徴量空間は２４０次元であるが、図７では、そのうちの３次元のみを表しており、グラフの各点が入力データを示している。実際には、各点は色つきの点として表現され、色によってリスクの大きさを表している。黒い点が各状態の代表ベクトルで、それらを結ぶ黒線がＳＯＭのつながりである。
【００６５】
以上では、入力データの分布を最適に表現できる学習法について述べてきたが、実際に求められるのは、リスクを認識する上で入力データの分布を最適に表現できることである。ＳＯＭは、本来、教師なしの学習法（入ってきたデータを均等に扱い学習していく）であるが、本システムにおいては、リスクを認識する上での効率的な学習として、前述の教師情報係数ｅ(t)によるリスク情報を与えた学習を行う。
【００６６】
詳細は後述するが、リスクの認識は、認識した状態のリスク確率という形で出力する。これは、その状態が、リスクをどの程度の確率で持つかということを表したものである。具体的な学習法としては、時刻ｔでの入力データがドライバ情報から得られたリスクレベルＲという教師情報を持つ場合、認識された状態が持つリスク確率においてリスクレベルＲの確率が高ければ教師情報係数ｅ(t)を大きくし、小さければ、教師情報係数ｅ(t)を小さくする。また、教師情報が得られない場合には、教師情報係数ｅ(t)を小さくするという処理にする。
【００６７】
これにより、学習を進めるうちに、認識された状態は、そのときのリスクを高確率で持つようになり、つまりはリスクの認識精度が上がっているということになる。具体的な教師情報係数ｅ(t)の設定は、次のリスク認識処理において説明する。
【００６８】
また、状態を確率的に求めた場合の学習については、勝者ユニットを確率に応じた重みで表現し、その重みに応じた更新量により更新を行う。但し、計算量が増大するという問題があるので、本システムでは、学習時については、勝者ユニットを入力データに一番近い状態に確定させて学習を行っており、一定値以下の確率の状態については、自身を勝者とする更新は行わない。
【００６９】
［リスク情報の抽出処理］
前述したように、本形態では、車両操作情報からのリスク抽出に際して、リスク情報抽出部６では学習を行わず、予め設定したルールを用いてドライバの操作情報からリスク情報を抽出するようにしている。このルールに従ったリスク情報の抽出処理においては、リスク情報をレベル付きの１次元データとして扱う。
【００７０】
具体的には、リスクのレベルを０〜１０（整数値）の１１段階とし、値が大きいほどリスクが高いことを表現する。但し、ここでのリスク情報は、３０Ｈｚの各フレーム毎といったように、一定時間毎にリスクを認識しようとするものではない。これは、実際のドライバの操作は、リスクだけにより行われているわけではなく、リスクに伴う操作を行う割合は、全走行中の例えば１０％にも満たない一部であろうと考えられるからである。
【００７１】
すなわち、ドライバ操作データからのリスク情報の認識は、ドライバの操作行動に影響を与えるような、ある程度大きなリスクがあったときにのみ、それがわかることを第一の目標とする。そのため、リスク０に関しては、出力はリスクがないということだけでなく、教師情報がないということも表している。
【００７２】
また、リスク認識のルールは、できるだけ現実に合うように任意に設定するという立場を取り、以下の（１）〜（５）に示すルールを並列化して各条件の中で最も大きな値のリスクを教師リスクとする。
【００７３】
（１）急ブレーキを踏んだか
フレーム間のブレーキ圧力の差分に応じてリスクレベルを設定する。例えば、ブレーキ圧力の差分が１×１０2ｋＰａ以上ならリスク有り、１×１０2ｋＰａでリスク５、１×１０3ｋＰａでリスク１０とし、リスク５とリスク１０との間は、ブレーキ圧力の差分に応じて線形に設定する。
【００７４】
（２）ブレーキを強く踏んだか
所定の車速以上で、ブレーキ圧力に応じてリスクレベルを設定する。例えば、車速１０ｋｍ／ｈ以上で、ブレーキ圧力が２０×１０2ｋＰａ以上の場合はリスク１０、ブレーキ圧力が１０×１０2ｋＰａ以上の場合はリスク６、ブレーキ圧力が５×１０2ｋＰａ以上の場合はリスク２とする。
【００７５】
（３）急ハンドルを切ったか
ウインカーが出ていない状態で、フレーム間のハンドル角の差分の絶対値が設定値（例えば１０ｄｅｇ）以上の場合、リスク５とする。
【００７６】
（４）アクセルを急に離したか
所定の車速以上で、フレーム間のアクセル開度の差分に応じてリスクレベルを設定する。例えば、車速５ｋｍ／ｈ以上でアクセル開度の差分が−１％以下の場合、リスク４とする。
【００７７】
（５）アクセルを踏んでいるか
加速中のアクセル開度に応じてリスクレベルを設定する。加速中であるか否かは、車速の微分値で判断し、車速の微分値０以上（加速中）でアクセル開度１％以下の場合、リスク２とする。
【００７８】
以上のルールは、当然ながら、追加・削除が可能であり、より現実に合うように調整することができる。また、以上のルールを自動生成するアルゴリズム、以上のルールに更にファジィ要素を取り入れる等して、「ドライバデータからのリスク認識の学習的獲得」を行うことも可能である。
【００７９】
［リスク認識処理］
リスク認識部７では、状態認識部５で求めた状態により、リスクを出力する。前述したように、各状態はそれぞれリスク確率分布を持つため、状態ｓでのリスクの確率分布をｐ(Ｒ│ｓ)と表すことにする。尚、ここでのリスクは、リスク情報抽出部６でのリスクと対応しており、１１段階のレベルに分けているので、リスクレベルＲとリスク確率（分布）ｐ(Ｒ│ｓ)とは、例えば図８に示すような関係で表される。
【００８０】
リスク出力は、基本的にこのリスク確率ｐ(Ｒ│ｓ)を出力することになるが、出力結果を例えば警報や表示などに使う場合には、確率分布のままでは使いにくいため、リスク出力としては、以下の（７）式で示される期待値Ｅを出力する。  
Ｅ＝ΣRＲ・ｐ(Ｒ│ｓ)  …（７）
【００８１】
また、状態を確率的に取り扱った場合、期待値Ｅは、以下の（８）式のようになる。  
Ｅ＝ΣsΣRＰ(s)・Ｒ・ｐ(Ｒ│ｓ)  …（８）
【００８２】
＜リスク確率の学習処理＞
リスク確率の学習は毎フレームに行われ、リスク確率は逐次更新される。リスク確率は、基本的に、過去に経験したリスクレベルの頻度分布を用いて算出する。しかし、本システムは、オンライン学習なので無限遠過去のデータまで持つことは難しく、また遠い過去の経験に現在と同じ重要度を持たせることは好ましくないと考えられる。従って、ここでは、以下の方法でリスク確率を更新する。
【００８３】
時刻ｔでの状態ｓtのリスク確率をｐt(Ｒ│ｓt)としたとき、以下の（９）式に従って、リスク確率を更新する。  
ｐt+1(Ｒ│ｓt)＝ｐt(Ｒ│ｓt)＋β…（９）
【００８４】
更に、リスク確率ｐt+1(Ｒ│ｓt)は、以下の（１０）式に従って正規化する。  
ｐt+1(Ｒ│ｓt)←ｐt+1(Ｒ│ｓt)／ΣRｐt+1(Ｒ│ｓt)  …（１０）
【００８５】
尚、状態の更新は、その時刻の状態のみであるが、状態を確率的に扱う場合には、各状態においてβをｐ(ｓt)・βとして計算する。ここで、βは定数であり、この値が大きいほどより現在の情報を重要視することになる。
【００８６】
ここで、与えられる教師リスクについては、リスク情報抽出部６の説明で述べたように、各フレーム毎に得られるとは限らない。リスクレベルが高い場合には、ドライバデータからリスク情報が得られる場合が多いが、リスクレベルが低い場合には、特に教師情報が得られる可能性が小さくなってしまうという問題がある。
【００８７】
この問題に対して、本システムでは、教師リスク情報を時間軸方向で伝播させることで対処するようにしている。これは、ある時刻に教師リスク情報が得られた場合は、その前の時刻もその時刻と同じではないまでも危険であるという因果関係に基づくものであり、この因果関係を用いて教師リスク情報を伝播させる。
【００８８】
この場合、過去に情報を伝播させるには、伝播させる分のすべての過去の状態遷移を記憶している必要があるが、リアルタイムでの学習を前提としたとき、記憶容量と計算量がネックとなる。そこで、本システムでは、強化学習の際に用いられるＴＤ(Temporal Difference)誤差を考慮した伝播により、リスク確率を更新している。
【００８９】
強化学習は、その時々の状態に対しての明示的な行動の指示ではなく、行った行動に対しての報酬によって学習を行い、この先得られるであろう報酬の総和が最大となる行動をその時々で選択する学習法であり、時刻ｔにおける実際の報酬と報酬の予測値の差をＴＤ誤差(TD-ERROR)と呼び、これを０とするように学習が行われる。本システムのリスク情報は、この強化学習の報酬に相当し、図９に示すように、或るシーンでの状態遷移を考えると、状態Ｓ１に至る状態Ｓ２，Ｓ７，…にもリスクがあるはずであると考えられ、リスク情報の伝播を行う。
【００９０】
この場合、伝播は、現在の状態から一つ前のフレームへ伝播させるだけで良く（つまり計算も記憶も１フレーム前との関係だけ扱えば良い）、一回の経験では、リスク情報は充分な過去まで伝播しないものの、同じような経験を繰り返すことで、徐々にリスク情報が伝播し、その因果関係を学習することができる。また、リスク情報の伝播は、図１０に示すように、同じリスクレベルの時刻ｔの状態Ｓtから時刻ｔ−１の状態Ｓt-1への伝播のみではなく、異なるリスクレベルの状態間においても伝播させるようにする。但し、リスクレベル０は、リスクがないという他に、リスク情報がないという場合も含むため、伝播はさせない。
【００９１】
伝播によるリスク確率ｐ(ｒ│ｓt-1)の更新は、以下の（１１）式によって行われる。  
ｐ(ｒ│ｓt-1)＝ｐ(ｒ│ｓt-1)＋η・(ＲＩ(ｒ)＋γ・ｐ(ｒ│ｓt)−ｐ(ｒ│ｓt-1))
＋ｈ・η・(γ・ｐ(ｒ−１│ｓt)−ｐ(ｒ−１│ｓt-1))
＋ｈ・η・(γ・ｐ(ｒ＋１│ｓt)−ｐ(ｒ＋１│ｓt-1))  …（１１）
但し、ｈ：リスクレベル方向の伝播の大きさを表すパラメータ
γ：時系列の伝播の大きさを表すパラメータ
η：一回の学習での更新の大きさを表すパラメータ
【００９２】
ここで、時刻ｔで得たリスク情報を、リスクレベルｒを用いてＲＩ(ｒ)と表している。前述したように、リスク情報抽出部６で扱うリスク情報は、０〜１０の１１段階の中の或る一つのリスクレベルに対して得られるものとしている。すなわち、時刻ｔで得られたリスク情報がリスクレベルＱとすると、（１２），（１３）式のように表される。  
ＲＩ(ｒ)＝１  （ｒ＝Ｑ）  …（１２）
ＲＩ(ｒ)＝０  （ｒ≠Ｑ）  …（１３）
【００９３】
一方、このリスク学習におけるリスク情報ＲＩ(ｒ)は、図１１に示すように、実際はそのリスクレベル付近のリスクも存在すると考えて拡張を行っている。この拡張は、具体的には、隣のリスクレベルをパラメータｇ（ｇ＜１）を用いてｇ倍、そのまた隣のリスクレベルをｇ＊ｇ倍するという操作を行っており、この操作には、限られた教師データをさらに有効に使えるという効果がある。また、リスクレベル方向の伝播の大きさを表すｈは通常、リスク情報の拡張に用いたｇと同じ値としている。
【００９４】
リスク確率の更新後は、状態認識部５における学習処理で用いた教師情報係数係数ｅ(t)を設定する。この教師情報係数ｅ(t)は、以下の（１４），（１５）式に従って設定される。時刻ｔでリスク情報抽出部６から得られるリスク情報をＲを用いて、
Ｒ≠０のとき、
ｅ(t)＝１０・Ｒ・ｐ(Ｒ│ｓt)  …（１４）
Ｒ＝０のとき、
ｅ(t)＝ｃｏｎｓｔ  …（１５）
【００９５】
Ｒ＝０のときは、教師情報が入らなかったときに相当するが、その場合は、教師情報係数ｅ(t)は、定数ｃｏｎｓｔすなわち固定値のゲインになる。この値は、教師リスクが得られる確率により決定され、教師ありの学習データ数と教師なしの学習データ数との比率に基づいて設定される。本システムにおいては、経験則として、教師ありの学習データ数＝教師なしの学習データ数となるように定数ｃｏｎｓｔを設定し、ｃｏｎｓｔ＝０．０１としている。
【００９６】
教師情報が入った場合は、その確率が高い程、またリスクレベルが大きい程、強く学習される。これにより、実際に起こった事象に対して、認識する確率が小さい場合は、その状態の認識が間違っている可能性が高いことを示し、学習が弱くされる。その状態の代表ベクトルは、同じ状態を認識し、リスクの確率が高かったデータに近づくような学習が行われる。そして、そのような学習が続くことで、その入力データは他の状態と認識されやすくなり、間違っている可能性の高い状態を認識しにくくなる。このようにして全体としての状態認識、リスク認識が最適化される。
【００９７】
［リスク予測処理］
リスク予測部８は、先ず、現時刻から未来の時刻の状態を予測し、この未来の状態から未来のリスクを予測する。未来の状態は、或る１つの状態に確定されるものではなく、確率的であるため、ここでは、ｔフレーム後に状態Ｓである確率をｐ(ｓt)と表し、現在時刻の状態も確率として表現する。
【００９８】
尚、後述するように、処理周期としては、フレーム間隔以外の周期でも良く、また、現時刻の状態については、状態が確定しているのであれば、その状態を確率１、それ以外の状態の確率を０とすれば良い。
【００９９】
以下、予測リスクを算出する上での基本的な処理（状態遷移の計算、学習、予測リスクの算出）について説明し、更に、予測リスクの正規化、拡張、実時間処理、リスク予測結果の利用について説明する。
【０１００】
＜状態遷移の計算＞
状態Ｓtから状態Ｓt+1への遷移は、本実施の形態においては、「ある時刻ステップの状態は、その１つ前の時刻ステップの状態のみから求まる」という１重のマルコフ性を仮定し、状態遷移確率Ｃ(ｓt+1｜ｓt)を用いて以下の（１６）式により計算される。これは状態Ｓtから状態Ｓt+1へ遷移する確率である。時刻ｔ0で状態Ｓが発生する確率から時刻ｔで状態Ｓtが発生する確率を求めるには、（１５）式をｔ回繰り返せば良く、これにより、状態の発生確率ｐ(ｓ0)からｐ(ｓt)までがそれぞれ求まる。  
ｐ(ｓt+1)＝ΣｓtＣ(ｓt+1｜ｓt)ｐ(ｓt)  …（１６）
【０１０１】
ここで、時系列に入力されるデータは、映像信号の１フレーム毎（例えば、３３ｍｓｅｃ毎）での時間間隔が基本になるが、実際はＮフレーム間隔で、状態遷移確率及び状態の予測を行うこととする（例えば、時間間隔を５フレームに設定する）。このフレーム間隔Ｎの設定は、短期的な目線で予測を行うか、長期的な目線で予測を行うかを制御することに相当する。
【０１０２】
同じ時刻ｔの状態確率ｐ(ｓt)を求める場合でも、フレーム間隔Ｎが異なれば、状態遷移確率Ｃ(ｓt+1｜ｓt)は勿論のこと、得られる状態確率ｐ(ｓt)の結果も異なる。そのため、ある決まったフレーム間隔Ｎにより予測を行うということだけでなく、複数の時間軸による視点から異なるフレーム間隔Ｎを用いた予測を並列で行い、結果を総合することも有効である。
【０１０３】
尚、以上の予測で時刻ｔを充分大きくしたとき、開始状態の発生確率ｐ(ｓ0)の値に拘わらず、時刻ｔでの状態の発生確率ｐ(ｓt)は、事前確率（すなわち、その状態の発生し易さ、これを求める場合は、充分な数の状態出力データのヒストグラムを取り、確率に変換すれば良い）に収束する。例えば、Ｎ＝５とした場合、実験によると、ほぼ数秒で事前確率に収束している。
【０１０４】
「現在がどのような状態でも最終的には行き着くところは同じ」という性質は、本質的ではあるが、ドライバへの情報提示や車両制御に対しては意味のない情報であり、予測情報として有用なのは、収束するまでの間の情報である。そのため、本システムでの予測の対象範囲は、数秒（例えば、３，４秒）以内ということになり、状態遷移の繰り返し計算の中で状態の確率が事前確率に収束しているか否かを判定し、収束していればそれ以降の予測処理は行わないことで処理時間を短縮する。
【０１０５】
また、以上では、処理周期をＮフレーム間隔とする例について説明しているが、フレーム間隔でなく、例えば走行距離間隔による処理周期としても良い。具体的には、現在の車速から走行距離を計算し、その累積が予め設定した距離閾値Ｌを越えたときに処理を行うようにする。つまり、走行距離Ｌ間隔での処理周期になり、その場合には、一定間隔の時間周期で動作するリスク認識の最新結果を予測の現在状態として入力する。
【０１０６】
＜予測リスクの学習＞
以上の状態遷移確率は、オンラインリスク認識にて逐次入力される状態とその遷移情報を記憶することにより、学習される。例えば、各状態は確定しているものとして状態遷移のテーブルを用意し、毎フレームごとに得られる状態遷移度数をカウントすることで、定期的に状態遷移確率を更新する。これにより、オンラインで走りながら経験を蓄積し、状態遷移確率を更新して学習を行うことができる。
【０１０７】
図１２に、カウントした状態遷移度数分布の例を示す。この状態遷移のカウントは、単純にヒストグラムをとった場合、現状は過去に得られた情報と最近得られた情報とを同等に扱うことに相当する。しかしながら、定期的にヒストグラムの全要素を、所定の係数Ａｃを用いて１／Ａｃに減少させる処理を行うことで、現在得られた情報をより重要視する（過去に学習した情報に対して直近で学習した情報の寄与度を上げる）ことができる。
【０１０８】
また、このような処理を行わない場合であっても、オンライン学習は継続的に続くため、ヒストグラム（頻度）が非常に大きくなることが懸念される。従って、ヒストグラムの何れかの要素が規定値以上となったときにヒストグラムの全要素を１／Ａｃにすることで、演算上の負荷を軽減してオーバーフローを防止することができる。
【０１０９】
尚、以上の学習は、状態は確定しているとして、状態Ｓt+1,Ｓtのヒストグラムに投票することで学習を行っているが、確率的に認識された状態の発生確率ｐ(ｓt+1)，ｐ(ｓt)の大きさを、それぞれの遷移確率Ｃ(ｓt+1｜ｓt)に足すことで、容易に拡張することができる。
【０１１０】
＜予測リスクの算出＞
次に、現時刻からｔフレーム後までの各状態の確率分布が得られると、この情報を元に、予測リスクを算出する。予測リスクは、以下の（１８）式に示すように、未来の全ての状態のリスクを確率的に累積することで求める。その際、より遠い未来ほど累積に寄与する割合が小さくなるように減衰のためのゲイン関数Ｇ(t)を付与して累積する。このゲイン関数Ｇ(t)を適切に設定することにより、例えば、ｔ秒後の予想されるリスクというようなピンポイントの予測も可能である。  
ΣtΣｓt(tmp_risk(ｓt))Y1・(base_risk)Y2・(risk_difference(ｓt))Y3・ｐ(ｓt)・Ｇ(t)  …（１８）
ここで、tmp_risk(ｓt)：状態Ｓtでのリスク
base_risk：現在のリスク
risk_difference(ｓt)：状態Ｓtのリスクと現在のリスクとの差（但し、負になる場合は０とする）
Ｇ(t)＝ｅｘｐ(-t／Y4)  但し、ΣtＧ(t)＝１
Y1,Y2,Y3,Y4：パラメータ
【０１１１】
（１８）式におけるパラメータＹ１〜Ｙ３は、算出されるリスクを意味付けするパラメータであり、パラメータＹ１，Ｙ２はリスクレベルの強調度、パラメータＹ３はリスク上昇の強調度になる。例えば、Ｙ１＝１，Ｙ２＝１，Ｙ３＝１に設定されるが、パラメータＹ３は、現在よりリスクが小さくなる場合は無視することができる。これは、リスクを考える上では、この後危なくなるかどうかに興味があり、現在よりリスクが小さくなる場合は特に問題とならないためである。
【０１１２】
また、ゲイン関数Ｇ(t)のパラメータＹ４は、累積時の減衰を示すパラメータであり、例えば、Ｙ４＝１に設定される。このゲイン関数Ｇ(t)の特性は、図１３に示される。同図におけるＧ(t)の値は、５フレーム毎のステップ（Ｎ＝５）のデータを示している。
【０１１３】
＜予測リスクの正規化＞
以上によって求める予測リスクの取り得る範囲は、理論上は０〜１であるが、実際は０〜０．０１程度の範囲で分布する。そのため、算出した予測リスクを正規化する処理を行う。この正規化処理については、予め設定した範囲で正規化を行う以外にも、動的に変化させることができる。具体的には、今まで得られた最大の予測リスク値を記憶しておき、そのリスクが１となるように変換する。つまり、予測リスクの正規化のための係数もオンラインでの経験を元に動的に変動するということになる。
【０１１４】
＜リスクレベルの確率分布への拡張＞
現在及び状態Ｓtのリスク値は、その状態の持つリスク情報から得られる。すなわち、リスク情報は、図１４に示すように、リスクレベルの確率分布で保持しているが、リスク値を期待値で出力する場合、図１５（ａ），（ｂ）に示すように、異なるリスクレベルの確率分布でも、同じ現在リスクの値として表現される可能性がある。
【０１１５】
従って、より詳細な予測を行うためには、予測リスクの算出時においても、リスクレベルの確率分布を直接扱うことが必要になる。この予測リスクの算出の拡張は、上述の（１８）式を、以下の（１９）式のように修正すれば良い。  
ΣtΣｓtΣrｒY5・(tmp_riskｓt(ｒ))Y1・(base_risk)Y2・(risk_differenceｓt(ｒ))Y3・ｐ(ｓt)・Ｇ(t)  …（１９）
ここで、tmp_riskｓt(ｒ)：状態Ｓtでのリスクｒの確率
base_risk：現在の状態でのリスク
risk_differenceｓt(ｒ)：状態Ｓ0のリスクｒの確率と現在の状態のリスクｒの確率との差（但し、負になる場合は０とする）
Ｇ(t)：（１８）式と同様
Y1,Y2,Y3,Y4,Y5：パラメータ
【０１１６】
（１９）式における各パラメータは、例えば、Ｙ１＝０，Ｙ２＝１，Ｙ３＝１，Ｙ４＝７，Ｙ５＝１に設定される。パラメータの設定を変えることにより、大きなリスクレベルに至る確率だけを求めることが可能となり、また、大きなリスクレベルをより強調した予測リスクの認識が可能になる。
【０１１７】
＜実時間処理＞
以上のリスク予測処理は、システムへの実装に際して処理時間（計算量）が問題となり、システムによっては計算能力が不足する可能性がある。例えば、状態数を１００、予測対象範囲を５０ステップとした場合、状態の予測は１００×１００×５０回、予測リスク値の算出は１００×５０×４回（状態やリスクを確率的に拡張した場合は更に多い）の積の計算が必要になる。この他、当然のことながら、リスク認識の計算や学習も必要になる。このため、処理時間短縮を行うことが重要になる。
【０１１８】
ここで、上述したように、状態を確率的に拡張しないで現在が確定的であるとした場合には、状態遷移確率に変化がないとすると、予想は状態数だけ行えば良い。そのため、状態数（例えば１００）通りの予測リスクを予め計算し、リスクテーブルＰＲＴ(s)として保持しておくことにより、予測リスクの出力はテーブル参照のみの処理で行うことができる。
【０１１９】
この場合、状態遷移確率はオンラインで学習していくため、時間と共に変化する。状態遷移確率が充分なデータ数から計算されるのであれば、１フレームのオンライン学習の状態遷移確率への寄与は充分小さい。そこで、毎回のリスク認識、予測出力とは別の異なる周期でバックグラウンド処理によってリスクテーブルを更新する（例えば、リスク認識は３３×５＝１６５ｍｓｅｃで行い、テーブル更新は１０ｍｉｎで行う）。
【０１２０】
一方、現在状態を確率的として拡張した場合には、予測は状態数通りではなく、（理論上）無限通り存在する。しかし、この場合においても、テーブルＰＲＴ(s)を用いて以下の（２０）式のようにすることにより、予測リスクを算出することができる。  
ΣsＰＲＴ(s)・ｐ(s0)  …（２０）
【０１２１】
（２０）式による予測リスクは、現在の状態が確定的であっても、状態の確率ｐ(s)により表現できるため、自然な拡張となっている。よって、「現在（開始）状態が確定的であったとしたときの状態数通りのテーブル」を使用し、「テーブルのバックグラウンドでの更新処理」を実施することにより、毎回の予測リスクの出力が実時間で処理可能となり、しかも充分な精度を保持できるレベルで実現することができる。
【０１２２】
＜リスク予測結果の利用＞
予測は、その予測した時間後に結果が得られることから、その結果を用いて自らを学習すること（自律学習）が可能になる。予測の学習対象である状態遷移確率は一意に決まるため、もし予測が外れているということであれば、モデルが悪い（マルコフモデルの仮定が破れている、また予測リスク算出方法が適正でない）か、シーンリスクの認識自体が精度が悪いと推測することができる。
【０１２３】
マルコフモデルの枠組み自体はオンラインでの変更は難しいが、予測リスクの算出法、また、シーンリスク認識自体はオンライン学習可能である。具体的には、以下の（Ａ），（Ｂ）に示すような手法を用いて予測結果を利用する。
【０１２４】
（Ａ）予測した状態と、その後の時間帯で得られる状態認識結果との差をオンライン学習の教師情報の１つとして用い、予測結果をフィードバックした学習を行う。例えば、ある状態Ｓのときに間違いが多いのであれば、その状態Ｓを学習する際は学習率を高くする等して予測結果をフィードバックする。
【０１２５】
（Ｂ）予測リスクの算出が予測結果と合わない場合は、算出式のパラメータＹ１〜Ｙ５を変更することで学習を行う。但し、その場合、リアルタイムで更新すると、間違った学習が行われる可能性があるので、バックグラウンドで最適なパラメータの値を探索し、現在用いているパラメータより精度が上がると判断すれば入れ替えるといった並列的な学習を行う。
【０１２６】
［リスク認識結果の出力例］
以上の処理によるリスク認識結果の出力例１，２を図１６，図１７に示す。図１６，図１７は、車載カメラから得られた画像に認識結果を表示したシステムの出力画像であり、現在認識しているリスクの大きさと予測したリスクの大きさとを、画面下部領域の２段のバーグラフで表している。このバーグラフで表される認識リスクは、前述したリスク確率の期待値を示しており、その上に表示される数字は、認識した状態番号である。
【０１２７】
図１６に示す出力例１は、同図（ａ）に模式的に示すように、公差点内を右折する対向車両１０１が存在する状況下で自車両１００が左折するシーンでの認識の例である。交差点にさしかかる手前のシーンでは、図１６（ｂ）に示すように、その時点でのリスク認識結果を示すバーグラフＢ１の大きさよりも、上段のバーグラフＢ２に示す予測リスクが大きくなっており、システムがいち早く反応して確実にドライバの注意を喚起する。また、交差点内で左折を開始するシーンでは、図１６（ｃ）に示すように、現在リスクを示すバーグラフＢ３が上段の予測リスクを示すバーグラフＢ４よりも大きくなり、差し迫ったリスクを確実にドライバに警告する。
【０１２８】
また、図１７に示す出力例２は、同図（ａ）に模式的に示すように、自車両１００前方の先行車両１０２が道路左側の駐車場へ侵入するシーンでの認識の例である。この場合においても、図１７（ｂ）に示すように、先行車両１０２から或る程度離れているシーンでは、現在リスクを示すバーグラフＢ５に対して、先行車両１０２の減速による追突のリスクを予測し、上段のバーグラフＢ６に示す予測リスクが大きくなっている。また、図１７（ｃ）に示すように先行車両１０２に接近したシーンでは、現在リスクを示すバーグラフＢ７が上段の予測リスクを示すバーグラフＢ８よりも大きくなり、先行車両１０２に対する追突のリスクをドライバに警告する。
【符号の説明】
【０１２９】
１  リスク予測システム
４  特徴量抽出部
５  状態認識部
６  リスク情報抽出部
７  リスク認識部
８  リスク予測部
【図１】
2011014037.tif 000003
【図２】
2011014037.tif 000004
【図３】
2011014037.tif 000005
【図４】
2011014037.tif 000006
【図５】
2011014037.tif 000007
【図６】
2011014037.tif 000008
【図８】
2011014037.tif 000009
【図９】
2011014037.tif 000010
【図１０】
2011014037.tif 000011
【図１１】
2011014037.tif 000012
【図１３】
2011014037.tif 000013
【図１５】
2011014037.tif 000014
【図１６】
2011014037.tif 000015
【図１７】
2011014037.tif 000016
【図７】
2011014037.tif 000017
【図１２】
2011014037.tif 000018
【図１４】
2011014037.tif 000019