(57)【特許請求の範囲】
【請求項１】
移動体を運転するドライバの状態を推定して安全運転のための支援を行う安全運転支援システムであって、
上記移動体の外部環境をセンシングして特徴量を抽出し、該特徴量に基づいて外部環境に含まれる環境リスクを認識する環境リスク認識部と、
上記環境リスクとドライバの運転操作との対応を確率的状態遷移モデルを用いて学習し、学習モデルを構築するモデル学習部と、
上記学習モデルに基づいて、走行中のドライバの運転操作の反映としての車両挙動データを含む運転操作データからドライバのリスク認識状態をドライバの内部状態として推定する状態推定部と、
上記環境リスクと上記ドライバの内部状態とを比較し、上記移動体の安全運転に係る支援情報を取得する運転支援部とを備え、
更に、上記確率的状態遷移モデルへのデータ入力を複数の異なる周期に設定し、上記確率的状態遷移モデルによる推定周期を適応的に可変するスケジュール制御部を備えることを特徴とする安全運転支援システム。
【請求項２】
上記スケジュール制御部は、
上記確率的状態遷移モデルを時間的に階層化して駆動することを特徴とする請求項１記載の安全運転支援システム。
【請求項３】
上記階層化を、上記運転操作データの種別に応じて実施することを特徴とする請求項２記載の安全運転支援システム。
【請求項４】
上記スケジュール制御部は、
モデル入力側のイベント発生に応じて遷移トリガを出力し、該遷移トリガによって上記確率的状態遷移モデルを駆動することを特徴とする請求項１〜３の何れか一に記載の安全運転支援システム。
【請求項５】
上記確率的状態遷移モデルへの入力データが変化したとき、イベント発生として上記遷移トリガを出力することを特徴とする請求項４記載の安全運転支援システム。
【請求項６】
上記確率的状態遷移モデルへの入力データが変化しない状態が一定時間以上継続したとき、イベント発生として上記遷移トリガを出力することを特徴とする請求項４記載の安全運転支援システム。
【請求項７】
上記スケジュール制御部は、
上記確率的状態遷移モデルへのデータ入力周期を、サンプリング間の代表値で可変することを特徴とする請求項１〜６の何れか一に記載の安全運転支援システム。
【請求項８】
上記代表値として、サンプリング間の最大値或いは最小値を用いることを特徴とする請求項７記載の安全運転支援システム。
【請求項９】
上記代表値として、サンプリング間の平均値或いは最頻値或いは中央値を用いることを特徴とする請求項７記載の安全運転支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体を運転するドライバの状態を推定して安全運転のための支援を行う安全運転支援システムに関する。
【背景技術】
【０００２】
近年、自動車等の移動体の安全な移動を可能とすることを目的として、運転中のドライバの状態を監視して覚醒度の低下や居眠りを検知し、安全を確保する技術が開発されている。ドライバ状態の推定は、主として、生体状態を計測して行うものと、運転操作データから推定するものとがあり、これらの技術に関して従来から各種提案がなされている。
【０００３】
生体状態の計測によるドライバ状態の推定に関する技術としては、特許文献１〜５に開示の技術がある。特許文献１の技術は、ドライバの顔面に取り付けた電極や眼球を撮影するカメラ等を用いて眼球運動を計測することでドライバの状態を推定するものであり、特許文献２の技術は、ドライバの瞼の開度を元に覚醒度を推定するものである。
【０００４】
また、特許文献３や特許文献４の技術は、ドライバの心拍信号を計測することでドライバの状態の推定を行うものであり、特許文献５の技術は、脳内電流信号を検知するものである。
【０００５】
一方、運転操作データによるドライバ状態の推定に関する技術としては、特許文献６，７に開示の技術がある。特許文献６の技術は、ドライバの運転操作データを予め決められた条件で判別し、車両制御特性の変更に反映させるものであり、特許文献７の技術は、車両状態データからのファジー推論によってドライバの意図や心理状態の推定を行うものである。
【特許文献１】特開２００３−２３０５５２号公報
【特許文献２】特開２００４−８９２７２号公報
【特許文献３】特許第３５９６１９８号公報
【特許文献４】特開平７−１００２４号公報
【特許文献５】特表２００６−５２４１５７号公報
【特許文献６】特許第３０５８９６６号公報
【特許文献７】特許第３０３６１８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述したように、自動車の安全な運転を実現するためには、ドライバの状態を推定する技術を用いて警報や制御特性の変更・操作補助などを行うことが有効であり、これまでに各種提案がなされている。
【０００７】
しかしながら、文献１〜５に開示されているような、ドライバ状態推定のために生体計測を行う技術では、一般的に、ノイズや個人差の大きい測定量を扱わなくてはならず，自動車の使用される環境、使用する人間の多様性に対応しきれないという問題がある。
【０００８】
すなわち、特許文献１では、眼球運動の計測のため顔面に電極を配置する例を挙げているが、実際の自動車運転時にドライバに身体的拘束を伴う測定装置を装着しなければならないことは、煩わしいばかりでなく現実性に欠ける。
【０００９】
特許文献２では、ドライバの目を撮影するカメラからの情報を基にデータを計測しているが、車両に付加的な装置を付けるコストや、ドライバの姿勢の変化や西日等の外部環境からの光の影響によって撮影が正常に行えない虞がある。
【００１０】
特許文献３ではシートならびにステアリングに設置した電極その他の装置、また特許文献４では心理状態検出手段とされるだけの記載であるが、共に心拍を計測する例が挙げられている。しかし、これらの技術も、心電という比較的ノイズに攪乱されやすいデータを計測していることや、車両に付加的な装置が必要であること、さらに各個人によって差異のある心拍の特徴をもって判定を行わなくてはならない点等、自動車の実環境で使用されることを鑑みるに問題があると言わざるを得ない。
【００１１】
特許文献５では、ＭＲＩ等の装置を車載することによる非侵襲での計測が説明されているが、文献内で述べられている装置は、直接的或いは間接的にドライバの姿勢その他の条件を拘束するものであり、そのコスト等も含めて、同様に現時点での工業的応用は現実的ではないと言わざるを得ない。
【００１２】
また、特許文献１〜５に共通する事項として、事前のキャリブレーションがあるにせよ、一般的な人間に共通と思われる兆候をもって覚醒度や疲労度を測ろうとしており、各個人の違いや外部環境との関連性については積極的に扱わず、むしろ個人的差異を前処理で平滑化させることに注力しているものも見受けられる。このような手法では、ある程度の効果は見込めるものの、その先のより高い精度でドライバ状態を推定する場合には、個人差や外部環境を積極的に扱う仕組みを持たないために。その性能に一定の限界がある。
【００１３】
一方、ドライバ状態推定のために操作あるいは車両データを用いる特許文献６，７では、ドライバの操作が予め決められた条件を満たす場合に、その意図に対応すると思われる予め決められた方向へ車両特性を変化させている。この方法では、一般的な人間に共通と考えられる操作の特徴をもって車両特性を変えているため、真の意味でドライバ一人ひとりの個性に合わせた状態推定がなされるわけでなく、人によっては誤った状態に推定されてしまう虞がある。
【００１４】
以上のように、従来の技術は、ノイズや付加コストについて考慮すべき課題があるばかりでなく、ドライバ状態の推定に関して画一的指標・条件による能力不足があり、更には、運転中にドライバに生じる周期や速度が様々な状態変化を広く推定することが困難であり、自動車の安全な運転を実現するためには不十分である。
【００１５】
本発明は上記事情に鑑みてなされたもので、ドライバの運転操作と外部環境との関連性を、運転中にドライバに生じる周期や速度が様々な状態変化に対応して適応的に学習し、ドライバの普段の内部状態からの逸脱を認識して安全な運転を支援することのできる安全運転支援システムを提供することを目的としている。
【課題を解決するための手段】
【００１６】
上記目的を達成するため、本発明による安全運転支援システムは、移動体を運転するドライバの状態を推定して安全運転のための支援を行う安全運転支援システムであって、上記移動体の外部環境をセンシングして特徴量を抽出し、該特徴量に基づいて外部環境に含まれる環境リスクを認識する環境リスク認識部と、上記環境リスクとドライバの運転操作との対応を確率的状態遷移モデルを用いて学習し、学習モデルを構築するモデル学習部と、上記学習モデルに基づいて、走行中のドライバの運転操作の反映としての車両挙動データを含む運転操作データからドライバのリスク認識状態をドライバの内部状態として推定する状態推定部と、上記環境リスクと上記ドライバの内部状態とを比較し、上記移動体の安全運転に係る支援情報を取得する運転支援部とを備え、更に、上記確率的状態遷移モデルへのデータ入力を複数の異なる周期に設定し、上記確率的状態遷移モデルによる推定周期を適応的に可変するスケジュール制御部を備えることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ドライバの運転操作と外部環境との関連性を、運転中にドライバに生じる周期や速度が様々な状態変化に対応して適応的に学習することができ、ドライバの普段の内部状態からの逸脱を認識して安全な運転を支援することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明の実施の形態を説明する。図１〜図１６は本発明の実施の一形態に係り、図１は安全運転支援システムの基本構成図、図２は安全運転支援システムの学習フェーズ及び推定フェーズを示す説明図、図３は操作特徴量と自己組織化マップのネットワークを示す説明図、図４は確率的状態遷移を示す説明図、図５は学習後の状態遷移確率を示すグラフ、図６は学習後の出力確率を示すグラフ、図７は最尤系列による状態推定の説明図、図８は前向きアルゴリズムによる状態推定の説明図、図９はタイムドリブンによる状態推定を示す説明図、図１０はイベントドリブンによる状態推定を示す説明図、図１１はイベントドリブンによる遷移トリガの発生を示す説明図、図１２はタイムドリブン及びイベントドリブンによる状態遷移確率を示すグラフ、図１３はタイムドリブン及びイベントドリブンによる内部状態推定例を示すグラフ、図１４は適応的サンプリングの説明図、図１５はタイムドリブンと適応的サンプリングとを併用した内部状態推定例を示すグラフ、図１６は推定試験結果を示す説明図である。
【００１９】
本発明による安全運転支援システムは、自動車等の移動体を運転する際に、外部環境に含まれるリスクとドライバが意識しているリスクとを比較してドライバの普段の内部状態からの逸脱を認識し、不必要な介入をすることなく適切な運転支援を可能とするものであり、「システムとドライバの不協和」を解消しつつ、自動車を運転する際の安全性を向上することができる。
【００２０】
以下、本実施の形態においては、自動車の走行支援について説明する。本実施の形態の安全運転支援システムは、ドライバ状態（ドライバの内部状態）を推定するための主たるデータとして、ドライバの運転操作の反映としての車両挙動データを含めてハンドル・アクセル・ブレーキ等の操作データを用い、また、ドライバ状態推定の指標として、画一的な条件を用いることなく、ドライバの普段の運転における「車両周囲環境と操作との関連性」を確率的規範モデルとして用いている。
【００２１】
その際、本システムでは、継続的に車両を運転することによってモデルを逐次更新し、個人個人に合わせて状態推定精度を向上させていくと共に、ドライバ状態の推定周期を最適に設定し、推定性能を高めるようにしている。
【００２２】
例えば、「一瞬の気の緩み」に相当する周期の推定精度を重要視すると、それより周期の長い「ぼんやり」や「覚醒度の低下」、「疲労の蓄積」といった状態に対する推定精度が悪化する虞があり、運転中のある特定の周波数の状態変化に対しては高い推定能力を持つが、それ以外の周波数の状態変化については、相対的に推定精度が悪化する場合がある。このため、本システムでは、状態推定の周期を最適に設定することで多様な内部状態の推定を可能としており、これにより、運転中にドライバに生じる周期や速度が様々な状態変化を広く推定することができる。
【００２３】
具体的には、図１に示すように、本実施の形態における安全運転支援システム１は、単一のコンピュータシステム或いはネットワーク等を介して接続された複数のコンピュータシステムで構成され、カメラやレーダー等のセンシングデバイスによる外界情報から車両周囲の外部環境に含まれるリスク（環境リスク）を認識する環境リスク認識部２、環境リスクを離散化する環境リスク離散化部３、ドライバの運転操作を計測する操作計測部４、計測されたドライバの運転操作データの特徴量を離散化（量子化）する操作特徴量離散化部５、運転操作（操作特徴量）と認識環境（環境リスクレベル）との対応を確率的規範モデルを用いて学習するモデル学習部６、学習されたモデルと現在の操作データ・車外環境との関連性からドライバ状態を推定する状態推定部７、推定されたドライバ状態に応じて車両を安全に運転するための支援情報を取得し、警報や操作支援などを行う警報・支援部８を備えて構成され、更に、ドライバの覚醒度や疲労度等の状態や走行状況の変化に対応して最適な推定を行うため、確率的規範モデルへのデータ入力を複数の異なる周期に設定し、確率的規範モデルによる推定周期を適応的に可変するスケジュール制御部９を備えている。
【００２４】
尚、本実施の形態においては、外部環境のセンシングデバイスとして車載カメラを用いている。
【００２５】
この安全運転支援システム１のシステム動作は、便宜上、図２に示すように、ドライバの内部状態のモデルを学習する「学習フェーズ」と、得られたモデルを元にドライバの内部状態を推定する「推定フェーズ」とに分けられる。
【００２６】
学習フェーズでは、車両前方を車載カメラで撮像し、学習によって走行環境のリスクレベルを認識すると、このリスクレベルと、ドライバの運転操作データの特徴量を量子化した操作特徴量データとの対応関係を学習し、学習済みパラメータを取得して学習モデルを構築する。
【００２７】
また、推定フェーズでは、学習済みのモデルパラメータを用いて操作特徴量と環境リスクレベルとの関連性を獲得し、現在のドライバの内部状態を推定する。推定されたドライバの現在の内部状態は、現在の走行環境における環境リスクレベルと比較され、車両が本質的に安全か危険な状態にあるかが評価される。
【００２８】
この学習フェーズと推定フェーズとは、実際には互いに分離して進行するものではなく、双方が同時に進行する。それにより、ドライバが走行する環境の変化やドライバ自身の特性変化に適応する機能を実現することができ、車両のユーザに対して、走行すればするほど高性能になっていくシステムを提供することができる。また、学習フェーズにおけるモデルパラメータの取得は、走行中のオンライン学習によって全てを取得することも可能であるが、一部、シミュレータ等を用いたオフライン学習を併用することにより、学習速度の向上と認識精度の向上とを期待することができる。
【００２９】
次に、安全運転支援システム１の各部の機能について説明する。環境リスク認識部２は、車載カメラから得られる画像の特徴量と、そのときのリスクレベルとの関連性を学習することにより、車外環境の状態を単一のスカラ値（若しくはベクトル）へ縮退変換する。環境リスク離散化部３は、環境リスク認識部２からの環境リスクレベルを閾値を用いたデータ分割等により離散化し、確率的規範モデルの観測ステートとしてモデル学習部６へ伝達する。
【００３０】
画像特徴量からのリスクレベルの認識は、例えば、本出願人による特願２００７−７７６２５号において提案されたオンラインリスク学習システムの技術を採用することができる。この技術は、特願２００７−７７６２５号に詳述されているように、アクセルの急激な戻し操作やブレーキ踏込みといったイベントにより、Ｎ次元ベクトルの画像特徴量（エッジ情報、動き情報、色情報等）を１次元の状態に変換し、この状態と車両情報（ドライバの操作情報）から作成された教師情報との相関関係から環境に含まれるリスクを学習・認識するものである。
【００３１】
尚、本実施の形態では、画像特徴量から抽出したリスクレベルを用いる例について説明するが、リスクレベルとしては、これに限定されるものではなく、例えば、車間距離等からリスクレベルを抽出するようにしても良い。
【００３２】
操作特徴量離散化部５は、センサからのデータ或いは車内ネットワーク（図示せず）を介して操作計測部４で取得したアクセル・ブレーキ・ステアリング等のドライバの操作データを、その測定頻度の特徴に応じて量子化し、確率的規範モデルの観測シンボルとしてモデル学習部６及び状態推定部７へ伝達する。
【００３３】
すなわち、運転操作データは、そのままでは情報量が非常に多く、リスクとの関連を学習するには扱いが困難である。このため、観測されるデータの分布（出現傾向）を考慮して適切に量子化を行うことで、データに含まれる情報量が失われることを防止しつつ、特徴を学習するための統計的処理を可能とする。
【００３４】
観測データの量子化は、閾値を用いたデータ分割やデータ縮退によって行うことができ、本実施の形態では、自己組織化マップ（SOM;Self-Organizing Maps）を用いて運転操作データを量子化する。ＳＯＭは、生物の大脳皮質のうち視覚野等をモデル化したニューラルネットワークの一種であり、Ｍ次元に並べられたユニットが、それぞれベクトル値（通常入力との結線の重みと呼ばれる）を持ち、入力に対して勝者ユニットをベクトルの距離を基準として決定する。
【００３５】
そして、勝者ユニット及びその周辺のユニットの参照ベクトル値を、入力ベクトルに近づくように更新してゆく。これを繰り返すことで、全体が入力データの分布を最適に表現できるように競合学習し、この競合学習に基づいて入力情報の次元を圧縮すると共に、データの特徴に応じてクラスタリングや可視化を行うことができる。
【００３６】
尚、本実施の形態では、Ｓ０Ｍを用いた教師無し競合学習により入力データを縮退する例について説明するが、教師有り競合学習であるベクトル量子化（LVQ;Learning Vector Quantization）モデルを用いることも可能である。
【００３７】
以下に、ＳＯＭパラメータの例を示す。採用した特徴量は、舵角速度、アクセル開度・ブレーキ圧・アクセル開度変化量・ブレーキ圧変化量・車両速度である。但し、舵角速度については絶対値を用い、また、アクセル開度とブレーキ圧は、それぞれ正規化し、-100（ブレーキ圧最大）から+100（アクセル全開）までの無次元量としている。アクセル並びにブレーキの変化量も、この正規化値の変化量として表している。結果として入力特徴量の次元は４とし、これをＳＯＭによって１次元に圧縮し、ユニット数２５６に量子化している。
【００３８】
［ＳＯＭパラメータ］
ＳＯＭ次元数          １
ユニット数            ２５６
入力特徴量            ＡＤＳＴＲ（舵角速度絶対値）
ＰＥＤＡＬ（アクセル・ブレーキ操作正規化量）
ＤＰＥＤＡＬ（ＰＥＤＡＬ値変化量）
ＳＰＥＥＤ（車両速度）
【００３９】
図３は、ＳＯＭで学習されたデータを示しており（但し、入力４次元のうち３次元のみ）、市街地を走行したデータ（５時間走行相当）をＳＯＭで学習したものである。雲のようにプロットされているのが測定データで、ひも状に配置されているのが１次元ＳＯＭのネットワークである。図３から測定データの密度と分布に応じて学習が行なわれ、適宜、ユニットが配置されていることが分かる。測定されたデータは、最近傍のＳＯＭのユニットで近似されることで、量子化されると共に、ユニット番号で表される１次元のデータに縮退される。
【００４０】
尚、このＳＯＭのユニット配置は、計測される運転データを学習することで決まり、個人による差や、同一人物でも時間の推移による運転特徴の変化に適応していくことが期待できる。
【００４１】
また、ＳＯＭ及び環境リスクレベルの離散化の周期は、予め固定した単一の周期ではなく、スケジュール制御部９により状態推定の周期に合わせて設定される。この離散化周期と状態推定の周期については、後述する。
【００４２】
モデル学習部６は、操作特徴量とリスクレベルとの関連性を学習によって獲得し、ドライバの内部状態を推定するための確率的計算を可能とする。人間の行動は、図４（ａ）に示すように、安心、緊張、不安、焦り、怒りといった心的状態と、その遷移に応じて変化し、必ずしも確定的ではなく、確率的な行動として表現することができる。同様に、ドライバの運転行動は、図４（ｂ）に示すように、先行車への追従、追越、駐車、車線変更、合流といったシーンと、その遷移に対して、確率的な操作出力となって現れる。
【００４３】
従って、モデル学習部６では、人間行動の確率的振る舞いを表すための規範モデルとして、確率的状態遷移モデルの一種である隠れマルコフモデル（HMM;Hidden Markov Model）を用いてドライバの内部状態をモデル化する。ＨＭＭは、対象の内部状態（ステート）が確率的な条件分岐によって遷移することと、遷移したステートによって異なる確率で外部に信号が出力されることを想定したモデルである。
【００４４】
ＨＭＭを用いたモデルでは、ドライバが意識しているリスクレベルを推定するタスクにおいては、図４（ｃ）に示すように、現在意識しているリスクレベルがＨＭＭのステートに相当し、そのときに観測される運転操作データが外部に出力される信号に相当する。図４（ｃ）においては、リスクレベルを５段階として各ステートに１〜５の番号を付与した場合を例示しており、番号１は、ドライバが外部環境のリスクが最も低いと認識している状態、番号５は、ドライバが外部環境のリスクが最も高いと認識している状態を示している。尚、実際に扱うリスクレベルは、０，１，…，９の１０段階である。
【００４５】
このように、運転操作データを離散化してデータの出現傾向を求め、ドライバの内部状態を確率的モデルとして近似することで、実際の運転における操作データのように、外部環境から確定的に導出することのできない情報の扱いを適切に行うことが可能となる。但し、推定時に観測される操作データがどのステートから出力されたのかを推定するためには、状態遷移確率と操作出力確率の２つの確率計算を行う必要がある。
【００４６】
このため、モデル学習部６では、先ず環境リスク認識部２から環境リスク離散化部３を介して伝達されたスカラ値を基に、統計的手法によって状態遷移確率を学習し、次に、操作特徴量離散化部５からのデータを基に、ステート毎の操作特徴量の観測確率分布（操作出力確率）を学習する。例えば、舵角・アクセル開度・ブレーキ圧力、さらに、操作の反映である速度・ヨーレート・加速度等をそれぞれ適宜離散化し、各離散値毎の観測回数をカウントして統計的に確率を計算する。
【００４７】
以下、ＨＭＭを用いた状態遷移確率及び操作出力確率の計算処理について説明する。
【００４８】
［ＨＭＭの仕様例］
駆動周波数            可変
ステート数            １０
出力信号              ＳＯＭユニット番号（０〜２５５）
ネットワーク構造      全ステート相互接続型 
【００４９】
［状態遷移確率の計算］
一般に、自動車の運転を想定する場合、車を運転する度に故意ではないにも拘わらず必ず事故を起こしてしまうドライバが存在するとは考えにくい。言い換えれば、巨視的にはドライバは適宜走行環境のリスクレベルに対応した運転操作を行っていると見なすことができる。このような前提の元に、ある程度長い時間範囲のデータを集めて統計的に処理した場合、ＨＭＭにおけるドライバの内部状態の遷移は、走行環境のリスクレベルの遷移に依存していると仮定することができる。
【００５０】
従って、遷移確率の計算は、以下の（１−１）〜（１−５）の手順に従って実施し、学習時のリスクレベルの遷移確率を求めることで、ドライバ内部状態の遷移確率を算出する。  
（１−１）状態遷移モデルの駆動周波数を定義
（１−２）内部状態のステート数を定義（例えば、１０ステート）
（１−３）リスクレベルをステート数分に離散化
（１−４）各ステート間の遷移回数をカウント
（１−５）各ステート間の統計的な遷移確率を計算
【００５１】
図５に、市街地での計測データから学習で獲得したＨＭＭの状態遷移確率のグラフを示す。ステート番号は大きいほど高いリスクレベルであることを示している。このグラフは、所定の駆動周波数でのＨＭＭによる学習結果を示すのであり、学習結果から、自己遷移（同じ番号のステートにとどまる遷移）と、上下１ステート分の遷移確率が大きいこと、高リスクステートでは急激にリスクレベルが下がる遷移確率も比較的大きいこと等が見て取れる。これは、一般的に、中低程度のリスクは連続的に上下することや、高いリスク要因は車両の通過と共に急激に解消すること等に相当し、一般的な運転状況の感覚との乖離は無いものと判断することができる。
【００５２】
［出力信号確率の計算］
あるステートに遷移した状態における、操作データ特徴の出力確率の学習には、前述したＳＯＭを用いる。計測された操作データをＳＯＭユニット番号に次元圧縮並びに量子化し、各ユニット番号が観測される回数をカウントすることで、統計的な出力信号確率を算出する。ステート毎に得られる各ユニットの出力確率が異なることで、リスクレベルによって操作傾向が変わることをモデル化することができ、図６に示すようなステート別の出力確率を得ることができる。
【００５３】
以上の状態遷移確率と出力確率が学習によって獲得されると、次に、状態推定部７では、両者の情報を用いてドライバの内部状態を推定する。この内部状態は、最尤系列推定による手法や前向きアルゴリズム（forward algorithm)を用いた手法で推定することができ、システムの条件等に応じて適宜選択される。最尤系列推定による手法では、ドライバの内部状態が離散的な数値で表現されるステート番号で出力され、前向きアルゴリズムでは、ドライバの内部状態がステート番号を連続的な数値で緻密に表現した期待値で出力される。
【００５４】
［最尤系列推定による内部状態の推定］
最尤系列推定は、現在観測されている操作データがどのステートから出力されているとするのが最も尤もらしいかを推定（最尤推定）する手法であり、遷移系列を計算する際の最も尤もらしい系列とは、発生する確率が最大となる系列を特定することに相当する。ここでは、ＨＭＭに対する最尤系列推定手法の一つであるビタビ・アルゴリズム（Viterbi algorithm）を用いて、計測された操作データの時系列データからドライバの内部状態の遷移系列を計算し、得られたステート遷移系列に沿ってドライバの内部状態が遷移していると推定する。
【００５５】
ビタビ・アルゴリズムは、状態遷移確率と出力信号確率を元に、時系列観測データの先頭から、順次、各時間ステップにおいてそれぞれのステートに存在する最大確率を計算する手法である。このアルゴリズムは、動的計画法に類似した計算手法を用いるために計算量が少ないという特徴を持っている。
【００５６】
ビタビ・アルゴリズムでは、観測データの最後まで計算を行った結果、最終ステップでの最大確率を持つステートを、そのステップでの推定内部状態として確定する。次に、そこから１ステップずつ過去にさかのぼるバックトラックという操作を行い、最大の状態遷移確率を持つステートを確定していく。最終的には，すべての時間ステップにおいて存在する確率が最も高いステートを特定することで、最尤系列を推定する。尚、確率計算の始めのステップでは、ＨＭＭの状態遷移確率から求められる事前確率を、各ステートへの存在確率として用いる。
【００５７】
詳細には、以下の（２−１）〜（２−４）のステップに従って逐次計算を行うことで、最尤系列を推定する。但し、π：事前確率、δ：状態存在確率、φ：バックトラック、ａ：状態遷移確率、ｂ：出力信号確率、Ｐ：推定確率、ｑ：推定状態系列、ｏ：零ベクトルとし、各変数の添字1は、初期値であることを示す。
【００５８】
（２−１）各状態ｉ＝１，…，Ｎに対して、変数の初期化を行う。  
δ1(i)＝π1ｂ1(ｏ1)
φ1(i)＝０
（２−２）各時刻ｔ＝１，…,Ｔ−１、各状態ｊ＝１，…，Ｎについて、以下の再帰計算を実行する。  
δt+1(j)＝ｍａｘi［δt(i)ａij］ｂj(ｏt+1)
φt+1(j)＝ａｒｇｍａｘi［δt(i)ａij］
（２−３）再帰計算の終了
Ｐ＝ｍａｘiδT(i)
ｑT＝ａｒｇｍａｘiδT(i)
（２−４）バックトラックによる最適状態遷移系列の復元（Ｔ＝Ｔ−１，…，１に対して以下を実行）
ｑT＝φt+1(ｑt+1)
【００５９】
以上の計算では、ビタビ・アルゴリズムはバックトラックを用いる特性上、時間的に後の事象を確定してから過去方向にステートを確定させることになり、そのままではオンラインでのリアルタイム状態推定に適用することには難がある。そこで、オンライン状態推定を行う場合には、全ての時間ステップをビタビ・アルゴリズムにおける最終ステップとして扱い、各ステップにおける最大存在確率を持つステートを推定ステートとして出力する。
【００６０】
例えば、図７（ａ）に示すように、オンライン状態推定では、時刻ｔ＝０における状態推定を、これまでの学習結果から決定される事前確率を用いて行い、時刻ｔ＝０で事前確率×出力確率が最大となるステートを出力し、以降の時間ステップでは、遷移確率×出力確率が最大となるステートを遷移系列として出力する。すなわち、各時間ステップにおいては、各ステートは、図７（ａ）に太線で示すような遷移の確率が高いが、これらの確率のうち、最大確率を持つステートを、オンライン状態推定での遷移ステートとする。その結果、図７（ａ）に示すオンライン状態推定では、最大存在確率を持つステート１，１，３，２，４が状態遷移系列として出力される。
【００６１】
このオンライン状態推定に対して、オフライン状態推定では、時刻ｔ４からトラックバックすると、時刻ｔ４で最大存在確率を持つステート４は、図７（ａ）に太線で示すように、１ステップ前の時刻ｔ３のステップ３からの遷移であり、時刻ｔ３のステップ３は、時刻ｔ２のステート２からの遷移、時刻ｔ２のステート２は時刻ｔ１のステート１からの遷移、時刻ｔ２のステート２は時刻ｔ１のステート１からの遷移であることが分かる。従って、オフライン状態推定では、図７（ｂ）に示すように、オンライン状態推定で求めた系列のうち、時刻ｔ２，ｔ３のステートがトラックバックにより変更され、１→１→２→３→４の最尤系列が推定状態として出力される。
【００６２】
［前向きアルゴリズムによる内部状態の推定］
以上のビタビ・アルゴリズムに対して、オンラインでの適用や推定精度の向上をより強く意図する場合には、前向きアルゴリズムを用いて内部状態を推定する。前向きアルゴリズムは、イベントと各ステートとのトレリス上を前向きに辿る手法であり、以下の（３−１），（３−２）のステップに従って逐次計算を行うことで、前向き確率（状態存在確率）αを計算する。尚、以下の式中において、π：事前確率、ａ：状態遷移確率、ｂ：出力信号確率、ｏ：零ベクトルとし、各変数の添字1は初期値であることを示す。
【００６３】
（３−１）各状態ｉ＝１，…，Ｎに対して、前向き確率の初期化を行う。  
α1(i)＝π1ｂ1(ｏ1)
（３−２）各時刻ｔ＝１，…,Ｔ−１、各状態ｊ＝１，…，Ｎについて、前向き確率を再帰的に計算する。尚、再帰計算におけるΣはｊ＝１〜Ｎについての総和である。  
αt+1(j)＝［Σαt(i)ａij］ｂj(ｏt+1)
【００６４】
この前向きアルゴリズムによる状態推定は、図８に示すように、時刻ｔ＝０，１，２，３，４，…の各ステップにおいて全ての遷移確率を計算しており、存在確率の低いステートも考慮した状態推定であることから、高精細な内部状態の推定が可能となる。尚、確率計算の始めのステップでは、ＨＭＭの状態遷移確率から求められる事前確率を、各ステートへの存在確率として用いる。
【００６５】
逐次計算によって求められた各ステートへの状態存在確率αからは、以下に示すように期待値μが計算される。この期待値μがステート番号を離散的な値でなく連続的な数値で緻密に表現したドライバ内部状態として出力され、ドライバの意識しているリスクレベルとなる。尚、ｘは確率変数の値（ここではステート番号）であり、Σはｉ＝１〜Ｎの総和である。  
μ＝Σｘiαi
【００６６】
［推定周期］
以上のＨＭＭの遷移周期は、一つの周期に固定されることなく、スケジュール制御部９において、複数の異なる時間周期や観測シンボルの変化に応じた周期として管理され、多様な内部状態の推定を可能としている。具体的には、ＳＯＭ及びＨＭＭを階層化して各層を異なる時間周期で駆動する手法（タイムドリブン）、モデル前段（ＳＯＭ出力）の観測シンボルをイベントとして、このイベントの状態によってＨＭＭを駆動する手法（イベントドリブン）、適応的なサンプリング周期に合わせてＨＭＭを駆動する手法があり、システム条件等によって適宜選択・組わせて用いられる。次に、各手法について説明する。
【００６７】
＜タイムドリブン＞
タイムドリブンの特徴は、一定の周期で状態が遷移すると仮定することである。このため、タイムドリブンでは、図９に示すように、環境リスク離散化部３，操作特徴量離散化部５，モデル学習部６、状態推定部７をそれぞれ階層化し、各層を、それぞれの時間周期で並列に動作させる。
【００６８】
図９においては、１０ｓ，３ｓ，３００ｍｓ，１００ｍｓの時間周期で各層が並列に動作する例を示しており、それぞれの周期で環境リスクレベルを離散化した観測ステートと操作データをＳＯＭによって離散化（量子化）した観測シンボルとがモデル学習部６に入力され、学習ステップ（学習フェーズ）で更新されたモデルパラメータが推定ステップ（推定フェーズ）で用いられる。推定ステップでは、図９に示すように、対応する階層（周期）で離散化した操作データの特徴量からドライバ内部状態の推定を行い、各層から推定状態が並列に出力される。
【００６９】
この場合、各階層毎にＳＯＭを独立して設けても良く、或いは、複数の層で同一のＳＯＭを共有し、サンプリング周期のみを異なる周期としても良い。また、図９においては、操作データは各層へ共通のデータを入力する例を示しているが、層によって入力される操作データを異なるものとしても良い。更に、駆動周期が同一の複数の階層に、異なる操作データを入力するようにしても良い。
【００７０】
この階層化により、運転中にドライバに生じる周期や速度が様々な状態変化を広く推定することが可能になる。例えば、一瞬の気のゆるみであれば、１００ｍｓ〜１ｓ程度の周期の階層によって学習・推定を行い、覚醒度低下や疲労の蓄積によって徐々にドライバが外部環境との対応が取れなくなっていく場合には、１０ｓ或いは更に長周期の階層により、学習・推定を行う。
【００７１】
このような階層化により、様々な状態変化に対応した周期で状態遷移モデルを学習させることができ、多様なドライバ内部状態の推定が可能となる。また、得られた複数の層の推定出力を後段で総合的に判断することで、より詳細な内部状態の推定を行うことが可能となる。
【００７２】
＜イベントドリブン＞
イベントドリブンの特徴は、外部環境リスクへのドライバ応答は運転操作として表れる、逆に言えば運転操作に表れないステート遷移は無いと仮定し、イベント発生に応じて状態推定を行うことである。すなわち、図１０に示すように、前段で出力される離散化結果（ＳＯＭからの観測シンボル）を利用して運転操作やドライバの内部状態の変化を監視し、観測シンボルによるベント発生で遷移トリガを発生させる。
【００７３】
例えば、図１１に示すように、観測シンボルａへの変化点で観測シンボルａを遷移トリガとして出力した後、観測シンボルがａ→ｂに変化したとき、ｃ→ｄに変化したとき、ｄ→ｅに変化したとき、そのときの観測シンボルを遷移トリガとして後段に出力する。尚、観測シンボルの変化は、ＳＯＭ出力が所定のユニット差（例えば、ユニット差１以上）で変化したときとする。
【００７４】
また、同一の離散化結果が一定時間以上連続した場合も一つのイベント発生として捉え、図１１に示すように、観測シンボルｃの状態が規定以上連続した場合には、そのときの観測シンボルを出力して再トリガをかける。
【００７５】
このようなイベントドリブン化により、ドライバの運転操作に変化があった場合、その変化のタイミングに合わせて状態遷移モデルを遷移させることができ、遷移周期を固定した場合に比較して、より柔軟な推定器を構築することが可能になる。すなわち、ドライバの内部状態の変化が緩慢な場合は、その運転操作の変化も同様であると考えられ、逆に内部状態が頻繁に変化している場合は、運転操作に頻繁な変化が発生すると考えられる。従って、イベントドリブン化によって状態遷移モデルの遷移周期を可変にすることにより、ドライバの内部状態の変化に対して適応的に推定演算を実行することが可能となる。
【００７６】
図１２は、タイムドリブン及びイベントドリブンによる状態遷移確率を示すグラフであり、図１２（ａ）は、３００ｍｓ周期のタイムドリブン、図１２（ｂ）はＳＯＭ出力のユニット差１以上でのイベントドリブン、図１２（ｃ）はＳＯＭ出力のユニット差５以上でのイベントドリブンによる状態遷移確率を示している。
【００７７】
図１２からは、タイムドリブンに比較してイベントドリブンでは自己遷移が相対的に減少し、特に高リスク側の自己遷移が低下していることがわかる。これは、一般的に、高リスクはドライバの運転操作によって回避され、低リスクは運転操作によって自己遷移されていることを示している。
【００７８】
また、図１３にイベントドリブンによる内部状態推定の例を示す。図１３においては、ＥＤがイベントドリブン、ＴＤが遷移周期を一定時間に固定したタイムドリブン、Ｒが外部環境リスクを示しており、時間Ｔ２〜Ｔ３の期間中のＨ１，Ｈ２の箇所、期間Ｔ３〜Ｔ４の期間中のＨ３の箇所において、ＴＤの際に見られる推定結果のハンチングがＥＤでは抑えられている。これは、内部状態推定の遷移周期が適応的に変化しているためと考えられる。
【００７９】
尚、このイベントドリブンは、複数の階層に適用することも可能であり、また、階層によってイベントドリブンとタイムドリブンとを組み合わせることも可能である。
【００８０】
＜適応的サンプリング＞
適応的サンプリングは、環境リスクレベルや操作データの離散化の際、特に長周期の階層で問題となる顕著なリスクや顕著な操作のサンプリング漏れを防ぐものであり、前述のタイムドリブンやイベントドリブンと組み合わせることにより、有効性をより向上することができる。
【００８１】
すなわち、図１４（ａ）に示すように、周期が短い階層の場合、サンプリングの間隔が短いためリスクレベルや運転操作の時間的変化を十分に捉えることが可能であるが、一方、図１４（ｂ）に示すように、周期が長い階層では、サンプリング間隔が長くなるためにスパイク状のリスクや運転操作はその時間的変化を十分に捉えられないことがある。そこで、図１４（ｃ）に示すように、前回のサンプリングから今回のサンプリングの間に顕著な値を示した場合には、その値を代表値として今回のサンプリング値とする適応的サンプリング処理を追加することで、見かけのサンプリング周期を変更する。
【００８２】
この適応的サンプリングを採用することにより、状態遷移周期が長い推定器のための離散化であっても、必要な情報を見落とすことが無くなり、規定のサンプリング周期をＴとした場合、転舵角速度等の絶対値が大きい操作やスパイク状のリスク等を見落とすことなく、最大２Ｔまでの周期を拡大することが可能となる。適応的サンプリングの代表値としては、例えばリスクの場合には最大値、運転操作の場合には最大絶対値等が考えられるほか、最小値や平均値、最頻値、中央値等でも良い。
【００８３】
図１５に、階層化と適応的サンプリングとを併用した例を示す。階層は前述の図９に示した４層（第０層〜第３層）で、第０層が１００ｍｓ、第１層が３００ｍｓ、第２層が３ｓ、第３層が１０ｓの遷移周期を持ち、時間０〜Ｔ１’〜Ｔ２’〜Ｔ３’〜Ｔ４’の期間における内部状態推定結果の変化を示している。１００ｍｓ，３００ｍｓの層は、外部環境リスクＲの短周期的変化に対してドライバの内部状態が反応しているかを評価する上で重要な結果を与え、ドライバの「よそ見」や「気の緩み」に相当する状態を推定するのに適した出力を示している。一方、３ｓ，１０ｓの層は、外部環境リスクＲの長周期的変化に対してドライバの内部状態が追従しているかを評価する上で重要な結果を与え、「ぼんやり」や「勘違い」等の疲労度や覚醒度に近いドライバ内部状態を評価するのに適した出力を示している。
【００８４】
［ドライバの意識しているリスクレベルの出力］
状態推定部７でドライバの内部状態として各ステートへの存在確率から計算されたステートの番号（或いは期待値）は、一次ローパスフィルタ（例えば、カットオフ周波数０．３Ｈｚ）でフィルタリングされた後、警報・支援部８に出力される。この出力値がドライバの意識しているリスクレベルに相当し、ドライバが対処するリスクレベルと見做せるものであり、出力値と環境リスクレベル値とを比較することにより、車両が本質的に安全或いは危険な状態にあるかを評価することが可能となる。
【００８５】
すなわち、警報・支援部８での比較結果、状態推定部７で推定されたステートが環境リスク認識部２から現在得られているスカラ値の属するステートと同じであれば、ドライバは環境を正常に認識した上で正常な操作を行っていると判定される。一方、状態推定部７で推定されたステートが、環境リスク認識部２から現在得られているスカラ値の属するステートと異なる場合には、ドライバの状態が環境の要求するレベルと食い違っていると判定される。
【００８６】
例えば、推定されるステートのリスクレベルの方が環境リスク認識部２から得られるリスクレベルより低い場合には、ドライバの危険認識度が低く、安全性が損なわれる可能性が高いとして、警報・支援部８から警報・支援を行う。逆に、推定されるステートのリスクレベルの方が環境リスク認識部２から得られるリスクレベルより高い場合にも、ドライバが過度に緊張状態にあることが推定され、同様に安全性が損なわれる可能性が高いとして警報を行う。
【００８７】
図１６に状態推定の走行試験で計測されたデータの一部を示す。Ｓ１通り（片側一車線）からＡ，Ｂ，Ｃの記号で示す間の狭路（センターライン無し）を通ってＳ２通り（片側一車線）に至り、更に、記号Ｄで示す位置からＳ３通り（片側一車線）までを走行したときの環境リスクレベル及び内部状態リスクレベルの変化が操作特徴量の変化と共に示されている。
【００８８】
図１６に示す試験結果では、操作特徴量とリスクレベルとの関係から、ドライバは正常な覚醒度と緊張感を保って運転しており、交差点や狭い路といったリスクレベルの高い状況に対応している様子が、推定された内部状態すなわちドライバが意識しているリスクレベルが高くなっていることから確認できる。特に、グラフ中に示した記号Ａ，Ｂ，Ｃ，Ｄの時点は、特徴的な高リスクイベントであり、主として交差点と狭路である。そのほかのリスクレベルが高くなっている時点は、主として歩行者や自転車・対向車等と遭遇した部分であり、この部分でも、同様の推定結果が得られていることが分かる。
【００８９】
以上のように、本実施の形態における安全運転支援システムは、車両に搭載されているアクセル開度・ブレーキ圧・舵角等のデータを入力として、走行環境のリスクレベルとの対応関係を確率的状態遷移モデルで近似してドライバの運転操作の特徴を学習し、走行環境のリスクレベルとドライバの内部状態との対応関係を評価する。
【００９０】
このシステムは、外部環境のリスクレベルだけで警報や操作アシストその他の介入の要否を判断するのではなく、ドライバが外部環境を正しく把握しているか否かを評価指標とするものであり、これにより、安全システムの介入の要否を走行環境の危険度のみで判断するために起こる不必要な介入による違和感・煩わしさを解消し、必要なときに適切な支援を提供することができ、個々のドライバに適応した高度な安全システムを構築することが可能となる。
【００９１】
しかも、本システムでは、状態推定のための主たるデータとして運転操作データを用いるため、各種車両制御用に既に取り付けられているハンドルやアクセル・ブレーキの操作を観測するセンサを流用することができ、生体計測装置のように追加コストの必要が無くなる。これらのセンサは、ノイズに対して比較的頑強であることで、状態推定を安定して行なうことができ、さらには、ドライバの通常の運転操作を妨げたり姿勢を拘束することが無いため、状態推定に悪影響を与える不必要な干渉を排除することができる。
【００９２】
また、本システムでは、車外環境と運転操作との対応関係を規範モデルとしているため、予め条件やテンプレートを決める必要が無くなり、学習によってモデルを更新することで、ドライバ毎の個人差や、ドライバ毎の走行環境の差に対応することができ、走行を重ねることで状態推定精度を向上させていくことができる。
【００９３】
この場合、規範となる学習モデルを確率的状態遷移モデルとして、バラツキのある操作データを統計的に処理することで、ノイズや外乱に大きく影響されることが無く、環境とドライバとの本質的な関連性を学習することができる。また、学習時に確率的状態遷移モデルのステート遷移を、外部環境から認識されるリスクレベルの遷移と対応させることで、推定された内部状態がどのリスクレベルに対応するのかを推定することができる。
【００９４】
すなわち、推定された内部状態の対応するリスクレベルが認識された外部環境のリスクレベルより低いときには、たとえ外部環境のリスクレベルが高い場合でなくとも、ドライバが安全に運転できる状態に無いとして、警報・操作支援を行うことができる。一方、推定された内部状態の対応するリスクレベルが認識された外部環境のリスクレベルと同じかより高いときには、たとえ外部環境のリスクレベルが高いとしても、ドライバはその環境に対応できる状態にあると推定できるので、無駄な警報や不必要な操作支援を抑制することができる。
【００９５】
しかも、ドライバの内部状態を推定する際に、状態遷移モデルによる推定周期を固定するのではなく、異なる時間周期での階層化、イベント発生の有無、適応的サンプリングといった周期で内部状態を推定することにより、運転中にドライバに生じる周期や速度が様々な状態変化を広く推定することが可能になり、高度なシステムを構築することが可能となる。
【００９６】
すなわち、階層化による推定では、様々な状態変化を、対応する階層の状態遷移モデルに学習させることができ、多様なドライバ内部状態の推定が可能となる。また、得られた複数の層の推定出力を後段で総合的に判断することで、より詳細な内部状態の推定を行うことが可能となる。
【００９７】
また、ドライバの内部状態の変化が緩慢な場合には、その運転操作の変化も同様であると考えられ、逆に内部状態が頻繁に変化している場合は運転操作に頻繁な変化が発生すると考えられることから、イベントドリブン化により、ドライバの運転操作に変化があった場合に、その変化のタイミングに合わせて状態遷移モデルを遷移させることができ、遷移周期を固定した場合よりもドライバの内部状態の変化に適応的に推定演算を実行することが可能となる。
【００９８】
更に、適応的サンプリングによって、長い駆動周期を持つ確率的状態遷移モデルの層に入力されるリスクレベルや操作データの離散化の際に、観測すべき特徴的な入力値をサンプリング漏れすることなく学習・推定を行うことが可能になる。
【図面の簡単な説明】
【００９９】
【図１】安全運転支援システムの基本構成図
【図２】安全運転支援システムの学習フェーズ及び推定フェーズを示す説明図
【図３】操作特徴量と自己組織化マップのネットワークを示す説明図
【図４】確率的状態遷移を示す説明図
【図５】学習後の状態遷移確率を示すグラフ
【図６】学習後の出力確率を示すグラフ
【図７】最尤系列による状態推定の説明図
【図８】前向きアルゴリズムによる状態推定の説明図
【図９】タイムドリブンによる状態推定を示す説明図
【図１０】イベントドリブンによる状態推定を示す説明図
【図１１】イベントドリブンによる遷移トリガの発生を示す説明図
【図１２】タイムドリブン及びイベントドリブンによる状態遷移確率を示すグラフ
【図１３】タイムドリブン及びイベントドリブンによる内部状態推定例を示すグラフ
【図１４】適応的サンプリングの説明図
【図１５】タイムドリブンと適応的サンプリングとを併用した内部状態推定例を示すグラフ
【図１６】推定試験結果を示す説明図
【符号の説明】
【０１００】
１  安全運転支援システム
２  車外環境認識部
３  環境リスク離散化部
５  操作特徴量離散化部
６  モデル学習部
７  状態推定部
８  警報・支援部
【図１】
0005161643.tif 000002
【図２】
0005161643.tif 000003
【図４】
0005161643.tif 000004
【図７】
0005161643.tif 000005
【図８】
0005161643.tif 000006
【図１０】
0005161643.tif 000007
【図１１】
0005161643.tif 000008
【図１４】
0005161643.tif 000009
【図１６】
0005161643.tif 000010
【図３】
0005161643.tif 000011
【図５】
0005161643.tif 000012
【図６】
0005161643.tif 000013
【図９】
0005161643.tif 000014
【図１２】
0005161643.tif 000015
【図１３】
0005161643.tif 000016
【図１５】
0005161643.tif 000017