以下、本発明のドライバモデル作成装置における好適な実施の形態について、図面を参照しつつ説明する。
(1)実施形態の概要
本実施形態のドライバモデル作成装置においては、ドライバが本実施形態の装置を搭載した車両を運転する毎に、ドライバ個人毎のドライバモデルを作成し、予め記憶されている標準的なドライバモデルに、現在進行形で作成されたドライバモデルを順次加味していき、個人毎のドライバモデルとして学習するようになっている。ドライバモデルの作成は、ドライバの運転中に運転状態のデータ(自車両情報、例えば、アクセル、ブレーキ、ハンドルの操作量、車速、車間距離、加速度など)を収集することによって、これを行うものである。
ここで、現在のドライビングによるドライバモデルが標準的なドライバモデル(或いは、装置が学習することにより蓄積した個人毎の覚醒時ドライバモデル)とどの程度乖離しているかによって、ドライバが「眠い」状態であるのか、「やや眠い」状態であるのか、「覚醒」状態であるのか、などドライバの状態を判定するようになっている。なお、本実施形態では、ドライバの状態の一例として、眠気に係るものについて説明をするが、ドライバが緊張しているか否かなどのその他のドライバ状態についても本発明の考え方を適用し得るものである。また、眠気に係るドライバ状態を、「眠い」、「やや眠い」、「覚醒」の3段階に分けて説明するが、本発明はこの段階数について限定されるわけではない。
本実形態のドライバモデル作成装置では、上記のようなドライバの眠気に係る判定によって、ドライバ個人毎について、「眠い」状態のドライバモデル、「やや眠い」状態のドライバモデル、「覚醒」状態のドライバモデルを作成する。
さらに、本実形態のドライバモデル作成装置では、このように作成されたドライバモデルに基づいて、現在のドライバの状態が「眠い」状態である場合などに、ドライバに対してワーニングをしたり、ドライバアシストをしたりするようになっている。
本実形態に係るドライバモデル作成装置では、ドライバの運転中に運転状態のデータ(自車両情報、例えば、アクセル、ブレーキ、ハンドルの操作量、車速、車間距離、加速度など)を収集し、その運転状態データのうち、ドライバが「覚醒」状態で運転している部分を抽出して、標準的なドライバモデルに加味することによって、「覚醒」状態のドライバモデルを作成する。これにより、ドライバに意識させることなく、覚醒時ドライバモデルを自動的に作成することができる。
また、本実施形態のドライバモデル作成装置では、例えば、片道3車線の国道で、信号が青の交差点を右折専用車線から右折する場合で、対向車があり、横断歩道に歩行者がいる場合、というように、走行中における自車両周辺環境の各場面(シチュエーション)毎にドライバモデルが作成されるようにすることもできる。
本実施形態においては、学習・蓄積されたドライバモデルから推定される覚醒時の運転行動と、現在のドライバの運転行動とをリアルタイムに比較することで、現在のドライバの運転行動が、ドライバが「眠い」状態であるのか、「やや眠い」状態であるのか、「覚醒」状態であるのかを監視する。覚醒状態における運転と現在の運転の比較を行う際の指標として、例えばドライバの「反応速度」と「ふらつき」を用いる。すなわち、現在のドライビングによるドライバモデルで、「反応速度」の遅れや、顕著な「ふらつき」などが認められたときに、その度合いに応じて、ドライバが「眠い」状態であるのか、「やや眠い」状態であるかを判定して、眠い場合のドライバモデル、やや眠い場合のドライバモデルを作成する。上記のような判定の結果、ドライバ本来の運転行動から逸脱があった場合、これについて注意喚起、警告や情報提示を行うことで、その人に合った安全運転支援を行うことができるのである。
また、本実施形態のドライバモデル作成装置では、ドライバ個人毎について、ドライバがドライビング中に「眠い」状態にある割合(事前確率)、「やや眠い」状態にある割合(事前確率)、「覚醒」状態にある割合(事前確率)に係る情報を取得しておく。
本実施形態では、ドライバモデルにGMM(ガウス混合モデル)を用いることで、各ドライバ毎のドライバモデルを簡便に生成することができ、さらに、条件付き確率を最大化する計算により、運転操作行動を容易に推定し出力する。
すなわち、本実施形態のドライバモデル作成装置では、アクセル操作量、車速、ブレーキ操作量、ハンドルの操作量、車間距離、加速度等の複数種類の特徴量からなる走行データを学習データとしてEM(Expectation Maximization)アルゴリズムにより算出したガウス混合モデルをドライバモデルとして採用する。
このガウス混合モデルは、EMアルゴリズムにより、同時確率密度分布を計算することで得られる同時確率密度関数のパラメータで構成され、必要に応じて各ドライバ毎、更にドライバのアクセル操作用、ブレーキ操作用、車間距離維持範囲用等の推定する特徴量毎に生成される。
そして、ドライバモデルに使用した複数の特徴量のうちの特定の特徴量xを除く走行データY(=y1、y2、…)を測定し、この走行データYに対するドライバモデルにおける最大事後確率を算出することで、特徴量xを推定する。
例えば、車両周辺の走行環境(シチュエーション)と同一のシチュエーションにおけるドライバモデルを用い、現在の自車状態をドライバモデルに入力し、それ以降の運転状態(例えば、特徴量x=アクセル操作量)の時間変化を推定し、実際の運転状態と比較することで、操作の遅れや操作のふらつき等の有無が判定される。
(2)実施形態の詳細
図1は、車両に搭載するドライバモデル作成装置の構成を表したものである。このようなドライバモデル作成装置は、ECU(電子制御装置)10、自車両情報取得部11、自車両周辺環境情報取得部12、情報提供部14、ドライバモデル処理部15、データ記憶部16を備えている。
なお、図1により説明するドライバモデル作成装置の構成については、その全てが必要ということではなく、本実施形態にけるドライバモデルの作成及び運転支援を行う為に使用可能な各部や装置について説明するものであり、採用する運転支援の機能等に応じて適宜選択して装置を構成することが可能であり、また、同様な機能を有する他の機器、装置を追加使用することが可能である。
ECU10は、CPU、ROM、RAM、インターフェイスなどの各部を備えたコンピュータシステムで構成されている。ECU10は、自車両情報取得部11の取得情報に基づくドライバ運転行動の監視、運転支援としてのドライバアシスト内容の情報提供部14への指示、を行うようになっている。ECU10は、また、ドライバモデルの作成、出力に必要なデータをドライバモデル処理部15に供給するようになっている。
自車両情報取得部11は、ハンドル舵角センサ111、アクセルペダルセンサ112、ブレーキペダルセンサ113、速度計114、加速度センサ115、エレキ動作状況取得部116、タイマー117、その他のセンサを備えている。
図2は、自車両情報取得部11で取得する、運転操作情報としての自車両情報を例示したものである。図2に示されるように、ハンドル舵角センサ111はハンドル操作量(角度)、アクセルペダルセンサ112はアクセル操作量、ブレーキペダルセンサ113はブレーキ操作量を、速度計114は車速を検出する。加速度センサ115は、ヨー軸加速度、ピッチ軸加速度、ロール軸加速度を検出する。エレキ動作状況取得部116は、ウィンカー動作状況、ライト動作状況、ワイパー動作状況を検出する。タイマー117は、運転時刻、運転時間等の各種時間を計測する。ドライバ認識装置118は、例えば運転席を撮像する車載カメラと当該カメラによって取得された画像を解析することによってドライバ個人毎を認識する。
自車両周辺環境情報取得部12は、車両周辺情報取得部121、道路情報取得部122、及びネットワーク部123を備えている。車両周辺情報取得部121は、赤外線センサ、ミリ波センサ、超音波センサ、画像認識装置、車間距離センサ等の各種センサを備えている。画像認識装置は、画像入力装置で撮像された車外画像の画像処理を行い、車両周辺の障害物や、歩行者、車両等の存在対象を認識する。
図3は、車両周辺情報取得部121で取得する車両周辺環境情報を例示したものである。この図3に示されるように、車両周辺情報取得部121により、車両、歩行者、障害物、その他各種情報が取得される。具体的に取得される情報としては、例えば、検出した周辺に存在する車両の種類(乗用車、バイク、自転車等)、車間距離、相対速度、属性(対向車、並走車、直行(左、右)車、等が各車両毎に取得される。同様に、歩行者、障害物に対しても、その各々に対する情報が取得される。
道路情報取得部122は、車両の現在位置を検出するGPS装置や、検出した現在位置に対応する道路情報や信号の有無等の周辺情報を取得するための地図情報を備えている。また、道路情報取得部122は、標識や道路環境を認識する画像認識装置を備えているが、この画像認識装置は車両周辺情報取得部121の画像認識と共有されている。
図4は、道路情報取得部122で取得する車両周辺環境情報を例示したものである。道路情報取得部122では図4に示されるように、道路種別、道路形状、道路幅、自車位置、路面状況、道の明るさ、信号の有無と状態、道路属性(交通規則)、その他の各種情報が取得される。
ネットワーク部123は、VICS等の交通情報網や気象情報センタと接続して、交通情報や気象情報を取得する。図5は、ネットワーク部123で取得する車両周辺環境情報を例示したものである。
図5に示されるように、VICS等で取得する渋滞情報には、渋滞の距離、混雑の距離、事故の有無、通行止めの有無、チェーン規制の有無等がある。また、気象情報センタで取得する気象情報には、晴れ、曇り、雨等の天候情報、降水確率、気温、その他の情報がある。
自車両周辺環境情報取得部12で取得した自車両周辺環境情報は、上記した自車両情報取得部11で取得した自車両情報の一部(例えば、ハンドル操作量に基づく、直進、右折、左折等の情報)は、シチュエーションの設定に使用される。
情報提供部14は、ドライバの運転状態に応じた運転操作アシストや警告を行うための運転操作アシスト部、音声出力部、画面出力部を備えている。図7は、情報提供部14で提供する情報、アシストの内容を例示したものである。
この図6に示されるように、運転操作アシスト部は、ドライバによる運転操作を補正するアシストとして、ハンドル操作アシスト、アクセル操作アシスト、ブレーキ操作アシスト等を行うため、各操作部のトルク値の出力を制御する。例えば、運転者によるハンドル操作にふらつきがある場合にはハンドルが重くなるようにパワーステアリングのアシスト状態を変化させるようにトルク操作をし、ブレーキの踏み力が弱い場合にブレーキの踏み込み量に対する出力が大きくなるようにブレーキアクチュエータのアシスト状態を変化させる。
また、運転者の状態に応じて、音声出力部は警告音声を出力し、画面出力部は警告画面を表示する。上記のようなアシストや警告音声や警告画面の表示は、判定されたドライバの状態に応じて、実行されるようになっている。
ドライバモデル処理部15は、ドライバモデル作成部151、ドライバ状態判定部154 、ドライバモデル記憶部152、ドライバモデル出力部153を備えている。
ドライバモデル処理部15は、ドライバモデル作成装置、作成されたドライバモデルの判定装置、及び作成された各ドライバのドライバモデルの記憶装置として機能し、運転者の状態(覚醒、やや眠い、眠い、など)に応じて、作成されたドライバモデルを分類して記憶する構成となっている。なお、作成されたドライバモデルと共に、自車両情報取得部11で取得した自車両情報、及び、該情報を取得した際に自車両周辺環境情報取得部12で取得した自車両周辺環境情報から決定されるシチュエーションについても付加要素としてドライバモデルと共に蓄積するようにしても良い。
ドライバモデル処理部15のより詳細な構成・動作について説明する。図7はドライバモデル処理部の内容を概念的に表した詳しい説明図である。
ドライバモデル作成部151によるドライバモデルの作成は、ドライバの運転中に運転状態のデータ(自車両情報、例えば、アクセル、ブレーキ、ハンドルの操作量、車速、車間距離、加速度など)を収集することで行われる。このようなドライバモデルは、個人毎に行われて、それぞれのドライバのドライビングのクセとしてドライバ毎にドライバモデル記憶部152(ドライバA用、ドライバB用、ドライバC用・・・など)に記憶されるようになっている。
ドライバ状態判定部154は、ドライバが覚醒状態にあるのか、やや眠い状態にあるのか、眠い状態にあるのかを判定するものであり、この判定に基づいて取得されたドライバモデルを、眠い状態のドライバモデル記憶部171、やや眠い状態のドライバモデル記憶部172、覚醒状態のドライバモデル記憶部173に分類して記憶する。
ドライバ状態判定部154が、ドライバの状態を判定するための具体的な方法であるが、本実施形態では、現在のドライビングによるドライバモデルが標準的なドライバモデル(或いは、装置が学習することにより蓄積した個人毎の覚醒状態のドライバモデル)とどの程度乖離しているかによって、ドライバが「眠い」状態であるのか、「やや眠い」状態であるのか、「覚醒」状態であるのか、などドライバの状態を判定する。なお、ドライバ状態判定部154では、その他の判定方法を利用することができる。
ドライバモデル作成部151によって作成されたドライバモデルは、ドライバ状態判定部154で判定された判定結果に基づいて、眠い状態のドライバモデル記憶部171、やや眠い状態のドライバモデル記憶部172、覚醒状態のドライバモデル記憶部173に振り分けられて記憶される。これによって、ドライバ毎の眠いときのドライバモデル、やや眠いときのドライバモデル、覚醒しているときのドライバモデルに係るデータベースを構築することができるものである。すなわち、本実施形態に係るドライバモデル作成装置によれば、運転者の状態に応じたドライバモデルを学習・蓄積していくことが可能となる。
眠い状態の事前確率記憶部181は所定のドライバによる総ドライビング時間に占める「眠い」状態の割合を記憶し、やや眠い状態の事前確率記憶部182所定のドライバによる総ドライビング時間に占める「やや眠い」状態の割合を記憶し、覚醒状態の事前確率記憶部183は所定のドライバによる総ドライビング時間に占める「覚醒」状態の割合を記憶する。上記のような総ドライビング時間におけるそれぞれの状態である事前確率を計算するときには、ドライバ状態判定部154で判定された判定結果が利用される。
標準ドライバモデルは、車両の現在位置、進行方向、(必要に応じてシチュエーションなども)に応じた最も一般的なドライビングによるドライバモデルであり、デフォルトのドライバモデルとして、標準ドライバモデル記憶部174に記憶されている。標準ドライバモデルは、道路情報取得部122のGPS装置、地図情報によって走行場所が決まれば、一義的に決定するものである。
ドライバモデル作成部151によって作成されたドライバモデルのうち、覚醒状態のドライバモデルは、覚醒状態のドライバモデル記憶部173に分類され記憶蓄積されていくが、上記の標準ドライバモデル記憶部174に覚醒状態のドライバモデルを上書き的に順次加味して記憶するようにする。すなわち、覚醒状態のドライバモデル記憶部173に記憶されるドライバモデルは、標準ドライバモデルに基づいて学習を行いつつ進化するようになっている。ここで学習のためのアルゴリズムについては従来周知のものを用いることができる。覚醒状態のドライバモデル記憶部173に記憶されるドライバモデルは、ドライバの通常時、平常時のドライバモデルとして利用することが可能である。
次に、ドライバモデル処理部13によるドライバモデル処理についてより具体的に説明する。図8はドライバモデル処理部における処理フローチャートを示す図である。
図8において、ステップS100でドライバモデル処理が開始されると、続いてステップS101に進み、ドライバモデル作成部151によって現在のドライビングによるドライバモデル作成される。
次に、ステップS102では、作成されたドライバモデルにおける反応速度の遅れ、或いは、ふらつきが所定のB以上であるか否かが判定される。ここで、Bや後述するAは概念的な量であり、ステップS102では、反応速度の遅れやふらつきが覚醒状態や標準のそれから大きく乖離しているか否かが判定される。図9はドライバモデル出力部153から出力された覚醒状態における運転操作量(標準の運転操作量)の推定値と、現在の運転の操作量(自車両情報)とを概念的に比較した説明図である。図9(a)はある操作量について反応速度が遅れている例を示しており、図9(a)はある操作量についてふらついている例を示している。本実施形態の状態判定のためには、前者の操作量としては、アクセルやブレーキの操作量を用いることができるし、また、後者の操作量としては、ハンドルの操作量を用いることができる。
ステップS102における判定の結果がYESであるときにはステップS112に進み、ステップS102における判定の結果がNOであるときにはステップS113に進む。
ステップS103では、作成されたドライバモデルにおける反応速度の遅れ、或いは、ふらつきが所定のA以上、かつB未満であるか否かが判定される。
ステップS103における判定の結果がYESであるときにはステップS108に進み、ステップS103における判定の結果がNOであるときにはステップS104に進む。
ステップS104に進む場合は、ドライバが覚醒状態として判定される場合である。ステップS104では、作成されたドライバモデルが覚醒状態のドライバモデルとして分類され、覚醒状態のドライバモデル記憶部173に記憶される。ステップS105では、覚醒状態の累積時間を計算し、ステップS106では、覚醒状態の事前確率(覚醒状態の累積時間/総ドライビング時間)を計算する。ステップS107では、計算された覚醒状態の事前確率を事前確率記憶部183に記憶する。ステップS116ではドライバモデル処理を終了する。
ステップS108に進む場合は、ドライバがやや眠い状態として判定される場合である。ステップS108では、作成されたドライバモデルがやや眠い状態のドライバモデルとして分類され、やや眠い状態のドライバモデル記憶部172に記憶される。ステップS109では、やや眠い状態の累積時間を計算し、ステップS110では、やや眠い状態の事前確率(やや眠い状態の累積時間/総ドライビング時間)を計算する。ステップS111では、計算されたやや眠い状態の事前確率を事前是区立記憶部182に記憶する。ステップS116では、ドライバモデル処理を終了する
ステップS112に進む場合は、ドライバが眠い状態として判定される場合である。ステップS112では、作成されたドライバモデルが眠い状態のドライバモデルとして分類され、眠い状態のドライバモデル記憶部171に記憶される。ステップS113では、眠い状態の累積時間を計算し、ステップS114では、眠い状態の事前確率(眠い状態の累積時間/総ドライビング時間)を計算する。ステップS115では、計算された眠い状態の事前確率を事前確率記憶部181に記憶する。ステップS116では、ドライバモデル処理を終了する。
以上のフローに示すように、本実施形態においては、学習・蓄積されたドライバモデルから推定される覚醒時の運転行動と、現在のドライバの運転行動とをリアルタイムに比較することで、現在のドライバの運転行動が、ドライバが「眠い」状態であるのか、「やや眠い」状態であるのか、「覚醒」状態であるのかを監視する。そして、覚醒状態における運転と現在の運転の比較を行う際の指標として、例えばドライバの「反応速度」と「ふらつき」を用いる。
すなわち、現在のドライビングによるドライバモデルで、「反応速度」の遅れや、顕著な「ふらつき」などが認められたときに、その度合いに応じて、ドライバが「眠い」状態であるのか、「やや眠い」状態であるかを判定して、眠い場合のドライバモデル、やや眠い場合のドライバモデルを作成する。上記のような判定の結果、ドライバ本来の運転行動から逸脱があった場合、これについて注意喚起、警告や情報提示を行うことで、その人に合った安全運転支援を行うことができるのである。
図7に戻って、ドライバモデル出力部153は、特定のシチュエーションに対応する覚醒状態のドライバモデル(或いは、標準ドライバモデル)に基づいて、平常時におけるドライバの操作量、すなわち、シチュエーションに対するドライバのいつもの(正常時の)運転操作量を推定し、出力する。この推定運転操作量と、現在の自車両情報とを比較することで、運転行動の状態(反応遅れ、ふらつき等)を判断するための基礎データである、運転行動逸脱データが所定時間間隔毎に得られる。
また、ドライバモデル出力部153は、ドライバ状態判定部154によって、判定されたドライバの状態に係る情報などをECU10に報知する。
なお、ドライバモデル処理部15におけるドライバモデル作成部151とドライバモデル出力部153の両機能をECU10で実現し、ドライバモデル記憶部152をデータ記憶部16に保存するようにしてもよい。
データ記憶部16には、本実施形態によるドライバモデル作成処理、及び運転操作アシスト処理に必要な各種データやテーブルが格納される。データ記憶部16は、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、メモリチップやICカード等の半導体記録媒体、CD−ROMやMO、PD(相変化書換型光ディスク)等の光学的に情報が読み取られる記録媒体、その他各種方法でデータやコンピュータプログラムが記録される記録媒体が含まれる。記録媒体には、記録内容に応じて異なる媒体を使用するようにしてもよい。
ここで、ドライバモデル作成部151によるドライバモデルの作成について説明する。本実施形態では、ドライバモデルをGMMにより作成する。
図10は、本発明の実施形態に係るドライバモデル作成装置によるドライバモデルの作成と、作成したドライバモデルに基づく運転操作量の推定に関する原理を表したものである。
なお、ドライバモデルの作成と運転行動の推定については、特徴量として車速V、前方車両との車間距離Fと、これらの1次の動的特徴量ΔV、ΔF(1階微分値)、2次の動的特徴量ΔΔV、ΔΔF(2階微分値)、及びアクセル操作のドライバモデルとしてアクセル操作量Gと1次の動的特徴量ΔG、ブレーキ操作のドライバモデルとしてブレーキ操作量Bと1次の動的特徴量ΔB、ハンドル操作のドライバモデルとしてハンドル操作量θと1次の動的特徴量Δθを使用する場合について説明するが、特徴量については、自車両情報取得部11で取得した全ての情報のうちの他の情報の組合せを使用して作成するようにしてもよい。
本実施形態のドライバモデル作成装置では、アクセル操作量、車速、車間距離等から構成される各シチュエーション毎の走行データ1(自車両情報)を学習データとして、各シチュエーションに対応するGMMによるドライバモデル2をEMアルゴリズムにより予め作成する。
そして、ドライバの運転行動(例えば、アクセル操作量)を推定する場合、対応するドライバモデル2を使用し、時刻tにおける走行データ1の測定値(V、F、ΔV、…)3に対する最大事後確率4を計算することで、該ドライバが操作するであろうアクセル操作量5を推定するようになっている。
このようにして推定した各操作量を走行データとして次の操作量を推定し、各時刻毎の実測値(自車両情報)と比較することで運転行動逸脱データが算出される。
この例のドライバモデル作成装置では、ドライバは現在の車速、車間距離、及びそれらの1次、2次の動的特徴量に基づいてアクセルペダル、ブレーキペダル、ハンドルの操作量を決めているとの仮定に基づいている。
以下、ドライバモデルの作成と運転行動の推定の原理について詳細に説明する。
(A)ドライバモデルの学習
GMMを用いたドライバモデル2では、学習データを必要とし、特徴量として走行データ1(自車両情報)を使用している。走行データ1は、所定の測定間隔s(sは任意であるが本実施形態ではs=0.1秒)毎の時系列データを使用する。
走行データ1は、ドライバモデル作成の対象となるドライバが実際に運転したデータであり、実際にドライバが運転している際にリアルタイムで測定、収集した走行データ1を使用する。また、予め測定し蓄積しておいた走行データ1を使用することで、オフラインの学習を行うようにしてもよい。
本実施形態のドライバモデル作成装置では、各ドライバ毎にGMMを作成することで、各ドライバの特性に合ったモデル化が可能となる。
例えば、ドライバモデルの特徴量(走行データ1)としては、上述したように、車速、車間距離、及びそれらの1次、2次の動的特徴量とアクセルペダル操作量、及びアクセルペダル操作量の1次の動的特徴量が使用される。
このように、特徴量に動的特徴量を加えてモデル化することで、前後の時間関係を考慮することになり、滑らかで自然性の高い推定結果を得ることができる。なお、説明では、1次及び2次の動的特徴量を使用した場合について説明するが、1次の動的特徴量だけ使用するようにしてもよい。
同様に、ブレーキペダルの操作量、その他の各種操作量に関するドライバモデル化も行われる。また、ハンドルの操作量、その他の各種操作量に関するドライバモデル化も行われる。
なお、アクセルペダル用、ブレーキペダル用、ハンドル用等の複数のドライバモデルを作成する場合には、アクセルペダル操作量、ブレーキペダル操作量、ハンドル操作量等以外のデータ(V、F、ΔV、ΔF、・・・)は同一のデータを使用してもよい。
本実施形態において、走行データ1のうち動的特徴量についてはアクセル操作量、車速、車間距離の測定値から計算により求めているが、実際に測定するようにしてもよい。
そして、本実施形態では、走行データ1に対する混合ガウス分布(GMM)を計算することで、ドライバモデル2を作成する。
すなわち、走行データ1に対する同時確率密度分布をEMアルゴリズムを使用して算出し、算出した同時確率密度関数のパラメータ={λi,→μi,Σi|i=1,2,3,…M}をGMMによるドライバモデル2としてデータベース等の記憶手段に記憶しておく。ここで、λiは重みを、→μiは平均ベクトル群を、Σiは分散共分散行列群を、Mは混合数を表す。また、→μiのように前に→を表示したものはベクトルを意味する。このように、本実施形態のGMMでは特徴次元間の相関も考慮して、全共分散行列を用いている。
なお、EMアルゴリズムとしては、例えば、中川聖一著、「確率モデルによる音声認識」(電子情報通信学会 1988、P51〜P54)に従って、混合ガウス分布のEMアルゴリズムによる推定を行う。
(B)運転行動(アクセルペダル操作量、ブレーキペダル操作量、ハンドル操作量等の各種操作量)の推定
ドライバは現在の車速、車間距離、及びそれらの1次、2次の動的特徴量に基づいてアクセルペダル、ブレーキペダル、ハンドルの操作量を決めているという仮定に基づき、ペダルの操作量等の運動行動を推定する。
すなわち、特徴量の同時分布から、与えられた条件下において最も確率の高いアクセルペダル操作量等の運動行動を推定する。
これは、条件付確率の最大化の問題であり、最大事後確率の計算による。例えば、アクセルペダル操作量∧G(t)と、ブレーキペダル操作量∧B(t)は、y(t)が与えられた条件で条件付き確率を最大にする値x(t)の推定であり、最大事後確率として、それぞれ次の式(1)、(2)、(3)で計算される。
ここで、∧G(t)のように、前に∧を表示したものは推定値であることを意味する。
また、
式(1)、(2)、(3)において、tは時刻、G,B,θ、V,F,Δはそれぞれ、アクセルペダル操作量、ブレーキペダル操作量、ハンドル操作量、車速、車間距離、及び動的特徴量を表す。
ただし、条件付確率を最大にするアクセルペダル及びブレーキペダルの値は、最小値から最大値までの区間において、ある刻み幅(例えば、0から10000まで100刻み)で数値積分を行うことにより確率を算出し、その確率が最大となったときのアクセルペダル及びブレーキペダルの値を推定結果としてもよい。
図11は、最大事後確率による運転行動の推定に関する概略を表したものである。この図11では、簡単のため、ある時刻tの特徴量y(t)が与えられたときに→x(t)を推定する場合を示している。
ここで、GMMはガウス基底関数の線形結合による表現される確率モデルであり、M個のガウス基底関数それぞれの混合重みωm、平均ベクトルμm、共分散行列Σmにより下式(7)のように表現できる。
また、観測ベクトルoに対するモデルの出力確率は次式(8)で定義される。
ここで、ω
mはm番目の混合要素の今後重みで次式(9)を満たす。
また、N
m(o)はm番目の混合要素の確率密度関数で、次式(10)のようにガウス関数で表される。
ここで、|Σ
m|、Σ
m -1はそれぞれ共分散行列の行列式、逆行列であり、(o−μ
m)
Tは(o−μ
m)の転置を表す。
GMMモデルλのパラメータは学習データからExpectation−Maximization(EM)アルゴリズムを用いて推定される。EMアルゴリズムは学習データO=(o1,o2,・・・,oT)の最尤推定値を反複解法によって求める事である。各モデルパラメータは、尤度の増加が保証された以下の式によって、繰り返し推定される。
混合重み
ただし、混合要素mの事後確率は、次式(14)で与えられる。
次に、ECU10におけるドライバ状態の判定について説明する。このようなドライバの状態判定によって、現在のドライバの状態が「眠い」状態である場合などに、ドライバに対してワーニングをしたり、ドライバアシストをしたりするようになっている。なお、ECU10はドライバ状態判定部154から得た判定情報を利用することも可能である。
図12はECUにおけるドライバ運転行動の監視処理の概念的フローを示す図である。このようなフローはECUが処理する複数のルーチンの内の1つとして動作させることができる。なお、図12に示すアルゴリズムによってドライバの状態を判断することを「ドライバモデル依拠状態判断」と称し、ドライバ状態判定部154によるドライバの状態判定とは区別することとする。
図12において、ステップS201で現在の自車輌情報(運転の操作量)を取得すると、ステップS202以降では覚醒状態のドライバモデル(覚醒状態のドライバモデル記憶部173)に基づいて事後確率等の計算が、また、ステップS206以降ではやや眠い状態のドライバモデル(やや眠い状態のドライバモデル記憶部172)に基づいて事後確率等の計算が、また、ステップS210以降では眠い状態のドライバモデル(眠い状態のドライバモデル記憶部171)に基づいて事後確率等の計算が実行される。
一例として、覚醒状態のドライバモデルによる覚醒状態の事後確率、覚醒状態確率割合の計算について示すが、その他の状態のドライバモデルの計算についても同様に考えることができる。ステップS203では、覚醒状態のドライバモデル記憶部173に記憶されるドライバモデルによって事後確率P1が計算される。次のステップS204では、P1に事前確率Pr1(覚醒状態の事前確率記憶部183に記憶されている)に乗じたものを新たにP1とする。ステップS205では、覚醒状態確率割合AをA=P1/(P1+P2+P3)によって計算する。
同様にステップS206乃至ステップS213によって、その他の状態のドライバモデルに基づく覚醒状態確率割合B、Cを計算によって求める。
ステップS214では、各状態確率割合A、B、Cを累積していき、それらの推移を計算する。次のステップS215では、ステップS214で計算された各状態確率割合A、B、Cの推移によってドライバが運転に適切な状態であるかどうかを判定する。このように本実施形態に係るドライバモデル作成装置によれば、状態別のドライバモデルによって運転者の状態を適切に判断することできる。
ステップS215における判定の結果が「適切」であるときにはステップS201に進み、ステップS215における判定の結果が「不適切」であるときにはステップS216に進む。
ステップS216では、情報提供部14によって、ドライバに対して警告を行ったり、或いは、運転操作アシストを行ったりする。ステップS216では、ドライバに対する警告、運転操作アシストの両方を行っても良い。ステップS217でリターンする。
ステップS214乃至ステップS215における各状態確率割合A、B、Cの推移を計算しつつ、ドライバが運転に適切な状態であるかどうかを判定し、ドライバに対する警告、運転操作アシストを行う一連のステップの具体的な考え方について説明する。図13は状態確率割合の時間推移の一例を示す図である。
図13(a)の横軸は時間、また縦軸は{(状態確率割合B)−(状態確率割合A)}を示しており、図13(b)の横軸は時間、また縦軸は{(状態確率割合C)−(状態確率割合A)}を示している。いずれの図においても、グラフで正の値となると、ドライバの状態が運転のためにふさわしいものではないので、警告動作やアシスト動作を行う必要がでてくる。
図13(a)では、グラフが正の値を所定時間とり続けた場合に、例えば情報提供部14で警告動作を行う例について示している。また、図13(b)では、グラフが正の値をとり、そこからカウントした所定時間内に再び正の値をととったときに、例えば情報提供部14でドライブアシスト動作を行う例について示している。
以上のような本実施形態に係るドライバモデル作成装置によれば、運転者の状態が車両の運転に適正ではないと判断されたときには、警告動作を行ったり、運転操作のアシストを行ったりすることができる。
次に、本発明の他の実施形態について説明する。図14は本願発明の第2実施形態におけるドライバモデル作成装置の構成図であり、図15は第2実施形態におけるドライバモデル処理部における処理フローチャートを示す図である。
本実施形態は、ドライバ状態判定部154が、ドライバの状態を判定するための方法が先の実施形態と異なる。図14のブロック図において、第2の実施形態と異なる点は、情報入力部14からECU10にドライバから情報を入力することができるようになっている点である。このような情報入力部14としては、タッチパネルや音声入力を用いることができる。情報入力部14によって、ドライバは自己の状態をドライバモデル作成装置に回答することができるようになっている。
次に、第2実施形態に係るドライバモデル作成装置のドライバモデル処理部13によるドライバモデル処理についてより具体的に説明する。
図15において、ステップS300でドライバモデル処理が開始されると、続いてステップS301に進む。ステップS301では、走行開始15分間の運転は覚醒状態のドライバモデルとして扱うようにする。この走行開始最初の15分間にわたって、ドライバモデル作成部151によって、作成したドライバモデルは覚醒状態のドライバモデルとして、分類・記憶されるようにしてもよい。
次に、ステップS302では、作成されたドライバモデルにおける反応速度の遅れ、或いは、ふらつきが、覚醒状態のドライバモデルとの乖離があるか否かが判定される。この乖離を判定するためには、先に説明した反応速度の遅れやふらつきを用いることができる。
ステップS302における判定の結果がYESであるときにはステップS303に進み、ステップS302における判定の結果がNOであるときにはステップS305に進む。
ステップS303では、情報提供部14によって、ドライバに対して状態の問い合わせを行う。言わば、このステップでは、ドライバに対して自らの状態を申告するように促している。
ステップS303では、ドライバからの回答が判定され、ステップS303における判定の結果が「やや眠い」であるときにはステップS309に進み、ステップS303における判定の結果が「眠い」であるときにはステップS313に進む。
ステップS305に進む場合は、ドライバが覚醒状態として判定される場合である。ステップS305では、作成されたドライバモデルが覚醒状態のドライバモデルとして分類され、覚醒状態のドライバモデル記憶部173に記憶される。ステップS306では、覚醒状態の累積時間を計算し、ステップS307では、覚醒状態の事前確率(覚醒状態の累積時間/総ドライビング時間)を計算する。ステップS308では、計算された覚醒状態の事前確率を事前確率記憶部183に記憶する。ステップS317ではドライバモデル処理を終了する。
ステップS309に進む場合は、ドライバがやや眠い状態として判定される場合である。ステップS309では、作成されたドライバモデルがやや眠い状態のドライバモデルとして分類され、やや眠い状態のドライバモデル記憶部172に記憶される。ステップS310では、やや眠い状態の累積時間を計算し、ステップS311では、やや眠い状態の事前確率(やや眠い状態の累積時間/総ドライビング時間)を計算する。ステップS312では、計算されたやや眠い状態の事前確率を事前是区立記憶部182に記憶する。ステップS317では、ドライバモデル処理を終了する。
ステップS313に進む場合は、ドライバが眠い状態として判定される場合である。ステップS313では、作成されたドライバモデルが眠い状態のドライバモデルとして分類され、眠い状態のドライバモデル記憶部171に記憶される。ステップS314では、眠い状態の累積時間を計算し、ステップS315では、眠い状態の事前確率(眠い状態の累積時間/総ドライビング時間)を計算する。ステップS316では、計算された眠い状態の事前確率を事前確率記憶部181に記憶する。ステップS317では、ドライバモデル処理を終了する。
第2実施形態においても、第1の実施形態と同様の種々の効果を享受することができる。
次に、本発明の他の実施形態について説明する。図16は本願発明の第3実施形態におけるドライバモデル作成装置の構成図である。
本実施形態は、ドライバ状態判定部154が、ドライバの状態を判定するための方法が先の実施形態と異なる。図16のブロック図において、第3の実施形態が先の実施形態と異なる点は、ドライバ(運転者)の生体に係る情報を取得するための生体情報取得部13が設けられている点である。
生体情報取得部13は、車両の運転中におけるドライバが正常状態か異常状態かを判断するための生体情報を取得し、そのためのセンサとして、心電計、血圧計、心拍センサ、発汗センサその他の各種センサを備えている。
生体情報取得部13は、車両が走行を開始すると、所定時間間隔で心拍数と発汗量を検出してECU10に供給するようになっている。
心拍センサは、例えば、ステアリングに配置された電極により、運転中の運転者の手から心拍信号を採取することで心拍数を検出するようになっている。なお、心拍センサは、専用のセンサを手首等の運転者の身体に配置するようにしてもよい。
発汗センサは、ステアリングに配置され、発汗状態によって流れる電流値の変化から発汗状態を検出する。
図17は生体情報取得部13で取得する生体情報を例示したものである。生体情報取得部13では、心電位、R−R間隔、心拍、呼吸数、体温、血圧、皮膚電位、失水分量(発汗量)、筋電位、脳波電位等が取得対象となる。生体情報取得部13は、これらの情報に基づいて、ドライバが覚醒状態にあるのか、やや眠い状態にあるのか、眠い状態にあるのかを分析する。
次に、第3実施形態に係るドライバモデル作成装置のドライバモデル処理部13によるドライバモデル処理についてより具体的に説明する。図18は第3実施形態におけるドライバモデル処理部における処理フローチャートを示す図である。
図18において、ステップS400でドライバモデル処理が開始されると、続いてステップS401に進む。ステップS401では、生体情報取得部13によってドライバの生体情報が分析される。
ステップS402では、ドライバの状態が覚醒状態であるか否かについての判定がなされる。ステップS402における判定の結果がYESであるときにはステップS404に進み、ステップS402における判定の結果がNOであるときにはステップS403に進む。
ステップS402では、ドライバの眠い状態の度合いついての判定がなされ、判定の結果、ドライバの眠い状態が小さい場合は、ステップS408に進み、ドライバの眠い状態がそれより大きい場合は、ステップS412に進む。
ステップS404に進む場合は、ドライバが覚醒状態として判定される場合である。ステップS404では、作成されたドライバモデルが覚醒状態のドライバモデルとして分類され、覚醒状態のドライバモデル記憶部173に記憶される。ステップS405では、覚醒状態の累積時間を計算し、ステップS406では、覚醒状態の事前確率(覚醒状態の累積時間/総ドライビング時間)を計算する。ステップS407では、計算された覚醒状態の事前確率を事前確率記憶部183に記憶する。ステップS416ではドライバモデル処理を終了する。
ステップS408に進む場合は、ドライバがやや眠い状態として判定される場合である。ステップS408では、作成されたドライバモデルがやや眠い状態のドライバモデルとして分類され、やや眠い状態のドライバモデル記憶部172に記憶される。ステップS409では、やや眠い状態の累積時間を計算し、ステップS410では、やや眠い状態の事前確率(やや眠い状態の累積時間/総ドライビング時間)を計算する。ステップS411では、計算されたやや眠い状態の事前確率を事前是区立記憶部182に記憶する。ステップS416では、ドライバモデル処理を終了する。
ステップS412に進む場合は、ドライバが眠い状態として判定される場合である。ステップS412では、作成されたドライバモデルが眠い状態のドライバモデルとして分類され、眠い状態のドライバモデル記憶部171に記憶される。ステップS413では、眠い状態の累積時間を計算し、ステップS414では、眠い状態の事前確率(眠い状態の累積時間/総ドライビング時間)を計算する。ステップS415では、計算された眠い状態の事前確率を事前確率記憶部181に記憶する。ステップS416では、ドライバモデル処理を終了する。
第3実施形態においても、第1の実施形態と同様の種々の効果を享受することができる。
なお、本実施形態のドライバモデル作成装置及びそれに基づくドライバ状態の判定に係る構成については、自動車、ハイブリッド車、電気自動車などの車輌に搭載されることを一応想定しているが、その他電車、船舶、航空機などの移動手段に搭載することも可能である。
以上、種々の実施形態について説明したが、それぞれの実施形態の構成要素を任意に組み合わせて構成される実施形態についても本発明の範疇に入るものである。
10・・・ ECU、11・・・ 自車両情報取得部、12・・・ 自車両周辺環境情報取得部、121 ・・・車両周辺情報取得部、122・・・ 道路情報取得部、123 ・・・ネットワーク部、13 ・・・生体情報取得部、14 ・・・情報提供部、15 ・・・ドライバモデル処理部、151・・・ ドライバモデル作成部、152 ・・・ドライバモデル記憶部、153 ・・・ドライバモデル出力部、154・・・ドライバ状態判定部、16 データ記憶部