(57)【特許請求の範囲】
【請求項１】
移動体の外界環境を検出し、この外界環境に含まれる危険度を認識するオンラインリスク認識システムであって、
上記外界環境の検出情報を処理して上記外界環境に含まれる多次元の特徴量を抽出する特徴量抽出部と、
上記特徴量をクラスタリングするための認識モデルを階層化して設定する認識モデル設定部と、
上記認識モデル設定部で設定された認識モデルを用いて多次元の上記特徴量を１次元の状態として認識する状態認識部と、
上記状態認識部で認識された状態と上記危険度に係るリスク情報を抽出して作成された教師情報との相関に基づいて、上記状態の危険度を学習し、上記外界環境に含まれる危険度を認識するリスク認識部とを備え、
上記認識モデル設定部は、走行環境に応じて並列化された複数のモデル群と、該モデル群の下位に存在し、運転状態に応じて複数に分割して階層化されたループ上の認識モデルとを備え、走行環境に応じて上記複数の認識モデル群から１つのモデル群を選択し、選択した１つのモデル群の中から運転状態に応じて上記状態認識部で用いる認識モデルを選択する
ことを特徴とするオンラインリスク認識システム。
【請求項２】
上記認識モデル群を自己組織化マップで作成し、該自己組織化マップを上記移動体の運転状態に応じて複数の１次元モデルに分割して階層化することを特徴とする請求項１記載のオンラインリスク認識システム。
【請求項３】
上記複数の１次元モデルの中から上記移動体の運転状態に応じて１つの１次元モデルを選択し、選択した１次元モデルに、上記外界環境を撮像した画像情報から抽出した特徴量のみを入力することを特徴とする請求項２記載のオンラインリスク認識システム。
【請求項４】
上記複数の１次元モデルを、入力データの性質に応じて並列化することを特徴とする請求項２又は３記載のオンラインリスク認識システム。
【請求項５】
上記並列化された複数の１次元モデルを、ヒステリシスを持って切り換えることを特徴とする請求項４記載のオンラインリスク認識システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車等の移動体の外部環境に含まれるリスクを適応的に学習して認識するオンラインリスク認識システムに関する。
【背景技術】
【０００２】
近年、自動車等の移動体における予防安全技術として、カメラを搭載して外界環境を撮像し、撮像した画像を処理して外界環境に含まれる危険度（リスク）の情報を認識し、ドライバに警告する、又は運転をアシストするといった技術が開発されている。
【０００３】
このような危険情報の認識技術は、例えば、特許文献１に開示されている。特許文献１の技術は、車両周囲の環境の対象物に対して、その種類や属性毎に危険度パラメータを設定し、この危険度パラメータに基づいて危険度を演算するものである。
【０００４】
特許文献１に開示されているような従来の技術では、歩行者、対向車、障害物、白線等といった危険に結びつく要因を設定し、それらに基づいてリスクの認識を行っており、実際のシステムとしては、開発者が想定したリスク要因や認識を予めシステム内に組み込んでおくという形で実現されている。
【０００５】
しかしながら、自動車の走行環境のような実際の環境は、天候の変化、歩行者、車、路上の構造物等の存在といったように多様であり、更には、運転する人間も多様であるため、従来の予め設定した一つの認識モデルでは限界があり、危険に結びつく要因についての認識が高精度で行われなければ、全体としてのリスクを認識できないばかりでなく、予め想定していた以外の危険な場面では認識できないという問題がある。
【０００６】
このため、本出願人は、特許文献２において、実際の環境下での経験をシステムが自律的に学習し、多様な外界環境に対応して危険度の認識を可能とすることのできるオンライン学習システムを提案している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−８１０３９号公報
【特許文献２】特開２００８−２３８８３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献２の技術は、実際の環境下での経験をシステムが自律的に学習するため、ユーザの運転傾向に適合した認識が可能である。しかしながら、特許文献２の技術は、実環境下での場所の違いや時間帯の違い等に対して学習及び認識効率が低下する可能性があり、ロバスト性を向上する上で改善の余地があった。
【０００９】
本発明は上記事情に鑑みてなされたもので、実際の環境下での経験を自律的に学習して危険度を認識する際、多様な外界環境に対するロバスト性を向上することのできるオンラインリスク認識システムを提供することを目的としている。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明によるオンラインリスク認識システムは、移動体の外界環境を検出し、この外界環境に含まれる危険度を認識するオンラインリスク認識システムであって、上記外界環境の検出情報を処理して上記外界環境に含まれる多次元の特徴量を抽出する特徴量抽出部と、上記特徴量をクラスタリングするための認識モデルを階層化して設定する認識モデル設定部と、上記認識モデル設定部で設定された認識モデルを用いて多次元の上記特徴量を１次元の状態として認識する状態認識部と、上記状態認識部で認識された状態と上記危険度に係るリスク情報を抽出して作成された教師情報との相関に基づいて、上記状態の危険度を学習し、上記外界環境に含まれる危険度を認識するリスク認識部とを備え、上記認識モデル設定部は、走行環境に応じて並列化された複数のモデル群と、該モデル群の下位に存在し、運転状態に応じて複数に分割して階層化されたループ上の認識モデルとを備え、走行環境に応じて上記複数の認識モデル群から１つのモデル群を選択し、選択した１つのモデル群の中から運転状態に応じて上記状態認識部で用いる認識モデルを選択することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、実際の環境下での経験を自律的に学習して危険度を認識する際、多様な外界環境に対するロバスト性を向上することができる。
【図面の簡単な説明】
【００１２】
【図１】リスク認識システムの基本構成図
【図２】特徴量抽出の画像領域を示す説明図
【図３】１次元ＳＯＭによる学習の概念図
【図４】ＳＯＭの非効率部分を示す説明図
【図５】ＳＯＭモデルの分割による階層化を示す説明図
【図６】ＳＯＭモデルの並列化を示す説明図
【図７】ＳＯＭモデル変更によるユニット配置を示す説明図
【図８】状態認識の概念図
【図９】事前学習とオンライン学習の説明図
【図１０】自己組織化マップの学習後の分布を示す説明図
【図１１】リスクレベルとリスク確率との関係を示す説明図
【図１２】リスク伝播の説明図
【図１３】情報伝播の説明図
【図１４】リスク情報の拡張を示す説明図
【図１５】認識結果の出力例を示す説明図
【図１６】リスク確率の学習結果を示す説明図
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施の形態を説明する。  
本発明のオンラインリスク認識システムは、自動車等の移動体に搭載され、外界環境の検出結果からその環境内に含まれる危険度（リスク）に係る情報を適応的に認識するシステムであり、事前には想定していなかった環境に対しても、適応的にリスク認識が行えるようにオンラインで成長していく。
【００１４】
外界環境のセンシングは、システムの入力系として備える各種センサデバイス、例えば、外界を単眼視やステレオ視で撮像するカメラ、レーザやミリ波等のレーダ装置からのセンシング情報を用いることが可能である。つまり、本システムは、基本的に外界環境を検出するセンサデバイスに依存するものではなく、広義にはセンサデバイスより得られる外界環境情報とリスク情報との相関関係を学習する学習システムである。
【００１５】
本形態においては、オンラインリスク認識システムを自動車等の車両に適用し、車載カメラによって外界を撮像した画像情報と、ドライバの運転操作や車両の運転状態等の車両情報とを用いてリスク情報を抽出する例について説明する。すなわち、本形態のオンラインリスク認識システムは、画像から得られた情報から直接リスクとの関連付けを行うことでリスクを認識すると共に、その関連付けを実際の走行で遭遇した環境から学習し、適応的にリスク認識を行う。
【００１６】
具体的には、ドライバを認識器の学習においての教師とし、ドライバの運転操作からリスク情報を抽出し、その運転操作に基づくリスク情報と、カメラから得られる画像情報との関連を人工知能技術を用いて学習させる。例えば、ドライバが歩行者を回避するような操作行動を行ったとき、本システムは、その状況が危険であると判断し、そのときに得られた画像は危険であるということを教える。
【００１７】
これにより、次の機会に同じような状況（画像）がシステムに入ってきた場合に危険であるという出力を行い、ドライバに警告を与えることができる。また、本システムでは、リスクを確率的に取り扱っている。このことにより、似たような状況でもリスクが異なる場合や、得られている画像情報だけでは判断が出来ない本質的に確率的なリスクも取り扱うことが可能になる。
【００１８】
以下、図１を参照して本形態のオンラインリスク認識システムについて説明する。本形態におけるオンラインリスク認識システム１は、単一のコンピュータシステム或いはネットワーク等を介して接続された複数のコンピュータシステムで構成されている。車両の外界環境を検出するセンサとしては、ＣＣＤやＣＭＯＳ等の撮像素子を有する車載カメラを用いている。
【００１９】
具体的には、オンラインリスク認識システム１は、画像入力部２、車両データ入力部３、特徴量抽出部４、状態認識部５、リスク情報抽出部６、リスク認識部７、リスク情報出力部８を基本構成として備えている。詳細は後述するが、本システムは、車載カメラで撮像した画像を主として抽出した特徴量を状態という量に変換してクラスタリングを行い、各状態に対するリスクの確率密度分布を学習したリスク分布からリスクを認識するようにしている。
【００２０】
本実施の形態においては、階層型ニューラルネットワークの一種である自己組織化マップ（SOM;Self-Organization Maps）を用いて、ＳＯＭの各ユニットを状態として認識し、また、認識処理を学習する。このため、状態認識部５は、認識モデルとしてのＳＯＭモデルを設定する認識モデル設定部５ａと、ＳＯＭモデルを用いた認識の学習を行う認識学習部５ｂとを備えている。
【００２１】
各部の概略的な機能は、以下の通りである。尚、図１においては、外界環境を検出するセンサとしての車載カメラは、図示を省略している。
【００２２】
画像入力部２は、車載カメラからの撮像画像を入力し、ノイズ除去、ゲイン調整、γ補正等のビデオプロセス処理を行い、このビデオプロセス処理されたアナログ撮像画像を所定の階調のデジタル画像に変換する。画像入力部２で処理された画像は、一旦、メモリにストアされて収集され、特徴量抽出部４に送られる。
【００２３】
車両データ入力部３は、車内ネットワーク等から所定の周期で車両データを入力する。車両データとしては、車速、ハンドル角、アクセル開度、ブレーキ圧力等であり、これらのデータを所定の周期（例えば、３０Ｈｚ）でサンプリングする。
【００２４】
尚、以降の認識処理に必要であれば、車内ネットワーク上を流れる他の情報、例えば、前後横加速度やヨーレートといった車両運動情報、ヘッドライト、ウインカーといったシステム操作情報、外気温等も入力する。
【００２５】
特徴量抽出部４は、画像入力部２からの画像データを受け取り、得られた画像の特徴量を抽出する。すなわち、得られた画像から、エッジ情報、動き情報、色情報等の特徴量を抽出し、それらの情報をＮ次元ベクトルとして保持する。このＮ次元ベクトルには、図１に破線で示すように、画像特徴量以外の車両情報、例えば、車速やヨー角の変化といった情報も含める。
【００２６】
尚、本形態で扱う画像データは、単眼のカラーカメラで撮像した画像とするが、赤外カメラから得られる画像やステレオカメラから得られる距離画像であっても良い。また、前述したように、レーザやミリ波等からの情報を用いることも可能であり、その場合、画像特徴量は、より一般的には、外界環境特徴量とも呼ぶべきものである。
【００２７】
状態認識部５は、得られたＮ次元の特徴量ベクトルを、ＳＯＭモデルを用いて最終的に１次元の状態という量に変換する。状態とは、入力された画像を走行している場所や、天候、走行状態などによりシーン分けしているイメージになる。実際には、オンライン学習時、今はどのシーンであるかを明示的に教師することはできないため、入力データを状態数Ｍのクラスにクラスタリングしている。
【００２８】
リスク情報抽出部６は、入力された車両情報（ドライバの操作情報）からリスク情報を抽出し、教師情報（リスクの大きさや種類）を作成する。本システムでは、このリスク情報抽出についての学習は行わず、予め設定したルールを用いてリスク情報を認識する。
【００２９】
リスク認識部７は、状態認識部５で得られた状態と、リスク情報抽出部６で作成された教師との相関関係を求め、状態のリスクを学習・認識する。
【００３０】
リスク情報出力部８は、認識したリスクをモニタや音声等により出力する。このリスク情報の出力については、認識したリスクそのものを出力する以外にも、操作データから得られたリスク情報との差を出力するようにしても良い。例えば、リスク認識部７がリスクが高いと判断した場合でも、操作データの認識により、ドライバが充分注意している状態であれば、リスクは高くないという出力を行うようにして良い。
【００３１】
以上のオンラインリスク認識システム１においては、現在のリスクの認識・出力と学習とを並行に実行している。すなわち、リスクの認識は、入力画像に対し、それより前までに学習された認識結果によって行い、リスクの学習は、入力された教師情報を用いてリスク認識部７を更新（学習）し、次の時刻は、更新されたリスク認識部７でリスクを認識するという処理を繰り返すことにより、リスク認識と学習とを同時に行う。
【００３２】
学習は、以下の（ａ），（ｂ），（ｃ），（ｄ）に示すように、４つの部分でそれぞれに可能であるが、（ａ），（ｂ）は学習に大規模な計算を要して時間がかかるため、本システムでは学習は行わず、予め事前にオフラインにて学習、或いは予め作成したアルゴリズムを用いている。  
（ａ）ドライバ操作データからのリスク情報の抽出（リスク情報抽出部６）
（ｂ）画像データからの画像特徴量の決定・選択（特徴量抽出部４）
（ｃ）画像特徴量から状態への変換（状態認識部５）
（ｄ）状態とリスクとの相関認識（リスク認識部７）
【００３３】
次に、オンラインリスク認識システム１における各処理の詳細について説明する。以下では、車載カメラによる画像から特徴量を抽出する処理、抽出した特徴量から状態を認識する処理、車両操作情報からリスクを抽出する処理（教師情報の作成）、状態と与えられた教師情報とからリスクを認識する処理の順に説明する。
【００３４】
［画像特徴量の抽出処理］
特徴量抽出部４は、以降のリスク認識のためのデータを抽出する。一般に、リスク認識に相関がないデータは認識に悪影響を与える。つまり、この特徴量抽出処理においては、むやみに特徴量を増やすということは得策でなく、逆に、必要な特徴量を用いないことも精度を悪化させる。
【００３５】
そのため、どの特徴量を用いるべきかという特徴量選択が課題として発生するが、前述したように、特徴量選択については、それを学習的に得る場合は、以下に説明するリスク認識の上位の学習が必要になり、計算量・メモリ容量的にオンラインでの学習には不利である。
【００３６】
従って、本形態では、ここでの特徴量抽出部分は固定として扱う例について説明する。学習する場合には、システムの認識率を基準として評価し、各特徴量の組み合わせを最適化すれば良く、これには、組み合わせの全探索、遺伝的アルゴリズム（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)の定義において、ｓ＝Ｋのときだけ１、それ以外を０とすれば、状態を確定したときと同じになる。
【００６７】
＜学習処理＞
次に、状態認識部５の学習処理では、入力データ及び教師情報から、ＳＯＭをベースとした各状態の代表値の学習（更新）を行う。本システムにおいては、ＳＯＭによる学習は、以下のようになる。但し、本システムにおいては、ユニット（状態）は１次元につながっているものとする。勝者ユニットの状態番号を、前述の状態番号Ｋとすると、代表ベクトルｐｒｏｔ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）の学習結果を示している。
【符号の説明】
【０１１１】
１  オンラインリスク認識システム
４  特徴量抽出部
５  状態認識部
５ａ  認識モデル設定部
５ｂ  認識学習部
６  リスク情報抽出部
７  リスク認識部
【図１】
0005572339.tif 000002
【図２】
0005572339.tif 000003
【図３】
0005572339.tif 000004
【図４】
0005572339.tif 000005
【図５】
0005572339.tif 000006
【図６】
0005572339.tif 000007
【図７】
0005572339.tif 000008
【図８】
0005572339.tif 000009
【図９】
0005572339.tif 000010
【図１１】
0005572339.tif 000011
【図１２】
0005572339.tif 000012
【図１３】
0005572339.tif 000013
【図１４】
0005572339.tif 000014
【図１５】
0005572339.tif 000015
【図１０】
0005572339.tif 000016
【図１６】
0005572339.tif 000017