(57)【特許請求の範囲】
【請求項１】
ドライバによるハンドル操作データの周波数特性に基づいてドライバの覚醒度を推定する覚醒度推定装置であって、
現在から過去の所定区間のハンドル操作データを用いて現在から未来の所定区間のハンドル操作データを生成し、これらの区間のデータを対象とする周波数変換により周波数パワーを求める周波数変換処理部と、
設定範囲の前記周波数パワーの積分値に基づいて覚醒度を推定する短期覚醒度推定部と、
前記設定範囲で前記周波数パワーを時間的に平均化処理し、この平均化処理した周波数パワーの積分値に基づいて覚醒度を推定する中期覚醒度推定部と、
前記短期覚醒度推定部の推定結果と前記中期覚醒度推定部の推定結果とを用いてドライバの覚醒度を推定する覚醒度推定部と
を備えたことを特徴とする覚醒度推定装置。
【請求項２】
更に、前記所定区間におけるアクセル操作データの分散値とブレーキ操作データの分散値とに基づいて、覚醒度の推定結果を補正する補正量を設定する覚醒度補正量設定部を備えることを特徴とする請求項１記載の覚醒度推定装置。
【請求項３】
前記覚醒度推定部は、前記短期覚醒度推定部の推定結果を重み付けして前記中期覚醒度に掛け合わせることにより、統合した覚醒度に前記短期覚醒度推定部の推定結果を反映させることを特徴とする請求項１又は２記載の覚醒度推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ドライバによるハンドル操作データの周波数特性に基づいてドライバの覚醒度を推定する覚醒度推定装置に関する。
【背景技術】
【０００２】
自動車等の車両においては、前方衝突警報や衝突軽減ブレーキ、車線逸脱警報等の予防安全システムの実用化が進む中、ドライバの状態を考慮して警報や自動ブレーキ等による制御介入とのタイミングを最適化する必要性が高まっている。このようなドライバ状態を示す指標の一つとして、ドライバの覚醒度があり、従来から、覚醒度を推定する技術が各種提案されている。
【０００３】
例えば、カメラによるドライバの視線・開眼状況等からドライバの覚醒度を推定する技術や、ドライバの脳波や心拍等の生体情報からドライバの覚醒度を推定する技術が提案されている。しかしながら、これらの技術は、カメラや心拍、脳波の計測のためのセンサを車両に搭載しなければならず、コストアップを招いてしまう。
【０００４】
このため、最近では、ドライバの運転操作データから覚醒度を推定する技術が提案されている。例えば、特許文献１には、ハンドル角の変動がないことから居眠り状態を検出する技術が提案されている。また、特許文献２には、ハンドル操作データの特定周波数のパワーが大きくなったことで低覚醒状態を検出する技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−３１９１３４号公報
【特許文献２】特開平６−１９７８９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示の技術では、ハンドル角の変動が存在する低覚醒状態まで検出するのは困難である。また、特許文献２に開示の技術では、過去の所定期間の操作データを用いて周波数特性を取得していることから、推定する覚醒度に時間遅れが生じてしまい、短期間での覚醒度の低下を見逃す虞がある。
【０００７】
本発明は上記事情に鑑みてなされたもので、ドライバによるハンドル操作データの周波数特性を取得する際の時間遅れを低減し、短期間の覚醒度低下をも確実に検出することのできる覚醒度推定装置を提供することを目的としている。
【課題を解決するための手段】
【０００８】
本発明による覚醒度推定装置は、ドライバによるハンドル操作データの周波数特性に基づいてドライバの覚醒度を推定する覚醒度推定装置であって、現在から過去の所定区間のハンドル操作データを用いて現在から未来の所定区間のハンドル操作データを生成し、これらの区間のデータを対象とする周波数変換により周波数パワーを求める周波数変換処理部と、設定範囲の前記周波数パワーの積分値に基づいて覚醒度を推定する短期覚醒度推定部と、前記設定範囲で前記周波数パワーを時間的に平均化処理し、この平均化処理した周波数パワーの積分値に基づいて覚醒度を推定する中期覚醒度推定部と、前記短期覚醒度推定部の推定結果と前記中期覚醒度推定部の推定結果とを用いてドライバの覚醒度を推定する覚醒度推定部とを備えたものである。
【発明の効果】
【０００９】
本発明によれば、ドライバによるハンドル操作データの周波数特性を取得する際の時間遅れを低減し、短期間の覚醒度低下をも確実に検出することができる。
【図面の簡単な説明】
【００１０】
【図１】覚醒度推定装置の構成図
【図２】ハンドル角の周波数成分と覚醒度との関係を示す説明図
【図３】ＦＦＴの窓関数を示す説明図
【図４】ＦＦＴ演算における時間遅れの説明図
【図５】アクセル補正量の説明図
【図６】ブレーキ補正量の説明図
【図７】運転操作データ入力処理のフローチャート
【図８】ＦＦＴ演算処理のフローチャート
【図９】短期覚醒度及び中期覚醒度推定処理のフローチャート
【図１０】覚醒度推定処理のフローチャート
【図１１】覚醒度の短期推定結果及び中期推定結果を示すグラフ
【図１２】覚醒度の推定結果を示すグラフ
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施の形態を説明する。  
本実施の形態における覚醒度推定装置は、ドライバのハンドル操作データの周波数特性からドライバの覚醒度を推定する装置であり、図１に示すように、ＣＡＮ（Controller Area Network；コントローラ・エリア・ネットワーク）等からなる車内ネットワーク１００に接続されるマイクロコンピュータからなる電子制御装置（ＥＣＵ）１０によって構成され、専用の装置、或いは車両制御装置の一部として構成される。このＥＣＵ１０による覚醒度推定装置は、特徴的には、車両走行中の短期的な覚醒度変化を遅れなく検出する機能と、中期的な覚醒度の推移を安定的に検出する機能とを有している。
【００１２】
このため、ＥＣＵ１０は、覚醒度推定装置の機能として、運転操作データ入力部１１、ＦＦＴ入力データ生成・タイプ判定部１２、ＦＦＴ演算部１３、短期覚醒度推定部１４、中期覚醒度推定部１５、覚醒度補正量設定部１６、覚醒度推定部１７を備えている。概略的には、ＥＣＵ１０は、車内ネットワーク１００を通じて取得したハンドル角データの周波数特性をＦＦＴ（Fast Fourie Transform;高速フーリエ変換）によって解析し、パワースペクトルの分布からドライバの覚醒度を推定する。
【００１３】
すなわち、図２に示すように、ハンドル角データの周波数特性は、同図中に破線で示すドライバが覚醒状態にあるときの特性に対して、ドライバの覚醒度が低下すると、同図中に実線で示すように、特定の低周波数域でのパワー成分（振幅）が突出して大きくなることが実験的に確認されている。従って、ハンドル角データの特定周波数域での周波数パワーを調べることにより、ドライバの覚醒度を推定することができる。本実施の形態においては、現在のハンドル角データから０．１Ｈｚ付近の周波数パワーを調べて短期的な覚醒度を時間遅れなく検出すると共に、短期的な覚醒度の推定結果を中期的な覚醒度の推定結果と統合することで、ノイズの影響を除去しつつ瞬間的な覚醒度の低下を検出可能としている。
【００１４】
詳細には、運転操作データ入力部１１は、車内ネットワーク１００を介して取得するドライバの運転操作データとして、ハンドル角を所定のサンプリング間隔で入力し、その他、ブレーキ圧力、アクセル開度データを入力する。ブレーキ圧力とアクセル開度の各データは、後述するように、ハンドル角には現れない高覚醒時のドライバ操作の特徴を検出し、ハンドル角の周波数特性から推定した覚醒度を補正するために用いられる。
【００１５】
ＦＦＴ入力データ生成・タイプ判定部１２は、ＦＦＴ演算部１３と共に周波数変換処理部を構成し、ＦＦＴ演算の前処理として、運転操作データ入力部１１から入力されたハンドル角データをＦＦＴ演算に使用するデータ（ＦＦＴ入力データ）に変換すると共に、ＦＦＴ入力データのタイプを判定してタイプ情報を付加する。具体的には、取得したハンドル角データに所定の窓関数を乗じて所定区間のＦＦＴ入力データを作成する。窓関数は、周知のようにＦＦＴの前提である連続性を維持しながら有限区間でのデータ切取りを可能とするものであり、例えば、図３に示すようなハミング窓を用いる。
【００１６】
本実施の形態においては、間隔０．１秒でサンプリングした５１２個のハンドル角データを用いてＦＦＴ演算を行うようにしている。その際、通常のＦＦＴのように現在から過去の５１２個のデータの範囲（過去の５１．２秒間のデータ範囲）でＦＦＴ演算を行うのではなく、過去のデータを用いて擬似的に未来のデータを作成し、現在のデータに一番の重みをかけたＦＦＴ演算を行うようにしている。
【００１７】
すなわち、通常のＦＦＴ演算では、図４（ａ）に示すように、図中に細線で示すハンドル角データに対して、現在から過去５１．２秒間のデータ範囲（窓関数の区間）で図中に太線で示すＦＦＴの入力データを作成し、この入力データを用いてＦＦＴ演算を行っている。従って、ＦＦＴ演算を終了した時点で覚醒度の推定処理を行うものとすると、窓関数の中心付近のデータ、すなわち現在から略２６秒前の過去のデータを重視した覚醒度の推定を行うことになり、時間遅れが生じることになる。
【００１８】
このため、本実施の形態においては、過去の２５．６秒間のデータを用いて擬似的に未来の２５．６秒間のデータを作成する。例えば、ＦＦＴに入力するデータ列を、Ｆ(n)（n=0,1,…,1023)とすると、n＜５１２では、Ｆ(511)に現時刻のハンドル角，Ｆ(509)に０．１秒前のデータ，…，Ｆ(0)に２５．６秒前のデータを入力する。そして、n≧512では、Ｆ(n)＝Ｆ(1023-n)となるようにデータを入力する。
【００１９】
つまり、図４（ｂ）に示すように、図中に細線で示すハンドル角データに対して、現在から過去の２５．６秒間のデータを折り返して未来の２５．６秒間のデータを作成し、この過去の２５．６秒の範囲と未来の２５．６秒の範囲とを窓関数の区間として、図中に太線で示すＦＦＴ入力データを用いてＦＦＴ演算を行う。これにより、ＦＦＴ演算を終了した時点で、窓関数の中心付近のデータすなわち現在付近のデータを重視した覚醒度の推定を行うことができ、過去のデータから周波数成分を算出する従来の手法に比べ、時間遅れの影響を軽減することが可能となる。
【００２０】
その際、ＦＦＴ入力データには、データタイプを判別したタイプ情報が付加される。ここでは、ＦＦＴ入力データの作成に用いた過去２５．６秒間のハンドル角データを用いて平均及び分散を算出し、平均及び分散が予め設定した条件（例えば、平均が±５度以内、分散は１０以内）に当てはまっている場合は”０”、そうでない場合は”１”のタイプ情報を、生成したＦＦＴ入力データに付加する。これは、カーブ走行時等の道路環境に応じたハンドル操作を識別し、覚醒度推定の精度悪化を引き起こす可能性があるデータ（データタイプ１）かどうかを判別していることになる。
【００２１】
次に、ＦＦＴ演算部１３は、ＦＦＴ入力データ生成・タイプ判定部１２で作成したＦＦＴ入力データを用いてＦＦＴ演算を行い、周波数パワー（振幅）Ｐを計算する。更に、周波数をｘ、時刻ｔで得られた周波数パワーをＰ(x,t)とすると、以下の（１）式による変換を行い、周波数パワーＰを平準化する。  
Ｐ(x,t)←Ｐ(x,t)・ｘn  …（１）
【００２２】
尚、（１）式におけるべき数ｎは、本出願人による特許第４１９７３８１号に開示されているように、２．０≦ｎ≦３．０であり、本実施の形態においては、ｎ＝２．５としている。これは、ハンドル角のふらつきによる車両のふらつきは、自然界に多く存在する揺らぎの一つであると考えた場合、その振幅は１／ｆであり、パワーは１／ｆ2となることから、（１）式におけるべき数ｎは理論的には２．０でよいが、実験結果よりｎ＝２．５が最も好ましいことが判明しているからである。
【００２３】
ＦＦＴ演算部１３で算出された周波数データは、短期覚醒度推定部１４と中期覚醒度推定部１５とに入力され、それぞれにおいて、短期的な覚醒度を表現する短期覚醒度Ｄs(t)、中期的な覚醒度を表現する中期覚醒度Ｄm(t)が算出される。短期覚醒度Ｄs(t)、中期覚醒度Ｄm(t)、及び後述する覚醒度Ｄ(t)は、覚醒度が低いほど大きな値をとる。
【００２４】
短期覚醒度Ｄs(t)は、ＦＦＴ演算によって得られたハンドル角の周波数データを用いて、以下の（２）式に示すように、設定範囲の周波数領域内の周波数パワーの積分値Ｐrange(t)と設定範囲外の周波数領域の周波数パワーの積分値Ｐout(t)との比で算出される。但し、ＦＦＴに使用したデータタイプが１の場合は、推定の信頼度が低いとして、Ｄs(t)＝０とする。また、設定範囲の周波数領域は、低覚醒時のハンドル角のふらつきが顕著となる領域、本実施の形態においては０．１Ｈｚ前後の０．０５〜０．２５Ｈｚの範囲の領域としている。  
Ｄs(t)＝Ｐrange(t)／Ｐout(t)  …（２）
【００２５】
（２）式による短期覚醒度Ｄs(t)は、現在のハンドル角データを中心として時間遅れを生じることなく覚醒度を推定することができるが、本来、存在しない未来のハンドル角を擬似的に生成して用いているため、周波数計算時に通常よりノイズが乗りやすい。そこで、より安定した覚醒度推定を行うため、短期覚醒度Ｄs(t)に加えて中期的な覚醒度Ｄm(t)も算出する。
【００２６】
この中期覚醒度Ｄm(t)は、短期覚醒度Ｄs(t)を時系列に平均したものではなく、ＦＦＴ演算によって得られたハンドル角の周波数領域のデータを時間的に平均化処理して算出される。具体的には、以下の（３）式に示すように、中期覚醒度Ｄm(t)は、設定周波数領域内の平均周波数パワーの積分値Ｐrange_ave(t)と設定周波数領域外の平均周波数パワーの積分値Ｐout_ave(t)との比で算出される。  
Ｄm(t)＝Ｐrange_ave(t)／Ｐout_ave(t)  …（３）
【００２７】
ここで、時刻ｔでの平均周波数パワーをＰ_ave(x,t)とすると、平均周波数パワーＰ_ave(x,t)は、ＦＦＴ入力データのデータタイプに応じて、以下の（４）式或いは（５）式により算出される。但し、初回はＰ(x)を代入することとする（初期化）。また、（４）式におけるｗは、数分間の推定結果が反映できるように設定された重みであり、例えば、覚醒度計算を１秒毎に行う場合、ｗ＝０．０１とする。  
Ｐ_ave(x,t)＝(１-ｗ)・Ｐ_ave(x,t-1)＋ｗ・Ｐ(x,t)  ：データタイプ０  …（４）
Ｐ_ave(x,t)＝Ｐ_ave(x,t-1)                      ：データタイプ１  …（５）
【００２８】
以上の短期覚醒度Ｄs(t)、中期覚醒度Ｄm(t)は、主として低覚醒時に現れるハンドル操作の特徴を検出するものであり、ドライバがアクセルやブレーキの頻繁な操作を行っている場合には、ドライバが周囲の環境を認知して運転操作を行っていると考えられるため、ドライバは高覚醒状態であると考えられる。従って、覚醒度補正量設定部１６において、ブレーキやアクセルの操作データを用いてハンドル角には現れない高覚醒時のドライバ操作の特徴を検出し、推定した覚醒度の補正量を設定する。
【００２９】
すなわち、時刻ｔでのアクセル操作による補正量（アクセル補正量）をＡh(t)、時刻ｔでのブレーキ操作による補正量（ブレーキ補正量）をＢh(t)とすると、先ず、ＦＦＴ計算用のデータを取得する区間（本実施の形態においては、現在から２５．６秒前までのデータ区間）におけるアクセル開度データの分散Ｖａとブレーキ圧力データの分散Ｖｂとを求め、これらの分散Ｖａ，Ｖｂを用いて、アクセル補正量Ａh，ブレーキ補正量Ｂhを設定する。アクセル開度データの分散Ｖａとアクセル補正量Ａhとの関係、ブレーキ圧力データの分散Ｖｂとブレーキ補正量Ｂhとの関係は、それぞれ、図５，図６に示され、予め実験等により求められた最適値のマップとしてシステム内に保存されている。
【００３０】
図５の例では、アクセル操作による補正は、アクセル開度データの分散Ｖａが閾値ＴhrA以下の場合、Ａh＝１〜０．５に設定され、分散Ｖａが閾値ＴhrAを超えている場合には、Ａh＝０．５の一定の値に設定される。また、ブレーキ操作による補正は、アクセル操作の場合より明らかに覚醒度が高いと考えられるため、図６の例では、ブレーキ圧力データの分散Ｖｂが閾値ＴhrB以下の場合、Ｂh＝１〜０．２に設定され、Ｖｂが閾値ＴhrBを超えている場合には、Ｂh＝０．２の一定の値に設定され、アクセル補正量Ａhに比較して補正の度合いを大きくしている。
【００３１】
そして、最終的に、覚醒度推定部１７では、時刻ｔにおける推定覚醒度Ｄ(t)を、短期覚醒度Ｄs(t)、中期覚醒度Ｄm(t)、アクセル補正量Ａh(t)，ブレーキ補正量Ｂh(t)を用いて、以下の（６）式に従って算出する。  
Ｄ(t)＝Ｄm(t)・(１＋Ｋ・Ｄs(t))・Ａh(t)・Ｂh(t)  …（６）
【００３２】
ここで、（６）式における係数Ｋは、例えばＫ＝０．５として、短期推定結果の項（１＋Ｋ・Ｄs(t)）を１以上の値に重み付けして中期推定結果に掛けることにより、最終的に算出される覚醒度Ｄ(t)に短期推定結果を反映している。これにより、中期推定による推定結果の安定性確保と、短期推定結果の反映による推定の時間遅れ低減が可能となる。
【００３３】
以上の処理は、具体的には、図７〜図１０のフローチャートで示すプログラム処理によって実施される。次に、これらのプログラム処理の流れについて説明する。尚、ここでは、覚醒度の推定処理を１秒毎に行うものとする。
【００３４】
図７は、ドライバのハンドル操作、アクセル操作、ブレーキ操作による運転操作データの入力処理を示す。このデータ入力処理では、先ず、最初のステップＳ１において、ハンドル角、アクセル開度、ブレーキ圧力の各データを入力する。次に、ステップＳ２へ進み、過去の２６秒（２５．６秒）間のデータを保持し、本処理を抜ける。この過去２６秒間のハンドル角データは、図８に示すＦＦＴ演算処理にて周波数データに変換される。
【００３５】
図８のＦＦＴ演算処理では、最初のステップＳ１１において、過去２６秒間のハンドル角データを入力する。次いで、ステップＳ１２へ進んでハンドル角データの平均及び分散を計算し、平均及び分散が設定条件に当てはまるか否かを調べてデータタイプを判定する。
【００３６】
次に、ステップＳ１３では、過去の２６秒（−２６秒）間のハンドル角データから未来の２６秒（＋２６秒）間のハンドル角データを生成し、ステップＳ１４でハミング関数（窓関数）を乗算してＦＦＴ入力データとする。尚、このＦＦＴ入力データには、ステップＳ１２で判定したデータタイプのタイプ情報が付加される。そして、ステップＳ１５においてＦＦＴ演算を行い、周波数ｘ，時刻ｔにおける周波数パワーＰ(x,t)を算出し、ステップＳ１６で前述の（１）式によるパワー変換を行って本処理を抜ける。
【００３７】
ＦＦＴ演算で得られたハンドル角データの周波数成分は、図９に示す短期覚醒度及び中期覚醒度推定処理で用いられ、短期覚醒度及び中期覚醒度が推定される。この処理では、最初のステップＳ２１においてＦＦＴ演算処理で得られた周波数パワーＰ(x,t)のデータを入力し、ステップＳ２２でデータタイプを判定する。
【００３８】
その結果、データタイプが”１”であり、覚醒度の推定精度を悪化させる可能性のあるデータである場合には、ステップＳ２５で短期覚醒度Ｄs(t)を０としてステップＳ２６へ進む。一方、データタイプが”０”である場合には、ステップＳ２２からステップＳ２３へ進み、前述の（２）式に基づいて、設定範囲の周波数領域内の周波数パワーの積分値Ｐrange(t)と設定範囲外の周波数領域の周波数パワーの積分値Ｐout(t)との比から短期覚醒度Ｄs(t)を算出し、ステップＳ２４で平均周波数パワーＰ_ave(x,t)を更新してステップＳ２６へ進む。
【００３９】
ステップＳ２６では、前述の（３）式に基づいて、設定周波数領域内の平均周波数パワーの積分値Ｐrange_ave(t)と設定周波数領域外の平均周波数パワーの積分値Ｐout_ave(t)との比から中期覚醒度Ｄm(t)を算出し、本処理を抜ける。ここで算出された短期覚醒度Ｄs(t)と中期覚醒度Ｄm(t)は、図１０に示す覚醒度推定処理にて統合され、最終的な覚醒度がＤ(t)が算出される。
【００４０】
図１０の覚醒度推定処理では、最初のステップＳ３１において過去２６秒間のアクセル開度及びブレーキ圧力のデータを入力する。次に、ステップＳ３２で各データの分散Ｖａ，Ｖｂを算出し、ステップＳ３３で、これらの分散Ｖａ，Ｖｂを用いて、マップ参照等により、アクセル補正量Ａh，ブレーキ補正量Ｂhを算出する。そして、ステップＳ３４で、前述の（６）式に基づいて、時刻ｔにおける推定覚醒度Ｄ(t)を、短期覚醒度Ｄs(t)，中期覚醒度Ｄm(t)，アクセル補正量Ａh(t)，ブレーキ補正量Ｂh(t)を用いて算出し、本処理を抜ける。
【００４１】
図１１，図１２は、それぞれ、短期覚醒度及び中期覚醒度の推定結果、短期覚醒度及び中期覚醒度を統合した推定結果を示している。各データは、オーバル型のテストコースにおいて一定車速で単調走行を行ったときのものであり、時間経過による覚醒度の変化が捉えられている。
【００４２】
具体的には、１０００秒付近で一回眠りに落ちそうになり、すぐに覚醒努力をしていることがわかる。また、１３００秒付近では覚醒努力もしなくなり、非常に眠気が高い状態となっていることがわかる。すなわち、中期的な覚醒度推定により、時間が経過するにつれ眠気が増していることを捕えており、１０００秒付近の瞬間的な覚醒度の変化は、短期推定により捉えられていることがわかる。尚、１７００秒付近では、同乗者に注意喚起を受けるというイベントが起こっている。
【符号の説明】
【００４３】
１０  電子制御装置（覚醒度推定装置）
１１  運転操作データ入力部
１２  ＦＦＴ入力データ生成・タイプ判定部
１３  ＦＦＴ演算部
１４  短期覚醒度推定部
１５  中期覚醒度推定部
１６  覚醒度補正量設定部
１７  覚醒度推定部
Ａh  アクセル補正量
Ｂh  ブレーキ補正量
Ｄm  中期覚醒度
Ｄs  短期覚醒度
Ｄ  覚醒度
Ｐ  周波数パワー
【図１】
0005671408.tif 000002
【図２】
0005671408.tif 000003
【図３】
0005671408.tif 000004
【図４】
0005671408.tif 000005
【図５】
0005671408.tif 000006
【図６】
0005671408.tif 000007
【図７】
0005671408.tif 000008
【図８】
0005671408.tif 000009
【図９】
0005671408.tif 000010
【図１０】
0005671408.tif 000011
【図１１】
0005671408.tif 000012
【図１２】
0005671408.tif 000013