説明

ニューラルネットワークを用いた状態推定方法及びニューラルネットワークを用いた状態推定装置

【課題】高精度な推定が可能なニューラルネットワークを用いた状態推定方法及びその状態推定装置を提供することを課題とする。
【解決手段】ニューラルネットワークを用いた状態推定方法において、入力データと当該入力データのクラスラベルに対応する教師データとに基づいてニューラルネットワークの学習を行う初期学習ステップと、クラスラベルが未知の評価データに仮想のクラスラベルに対応する仮想教師データを割り当てる仮想教師データ割当ステップと、評価データと評価データの仮想教師データとに基づいてニューラルネットワークの学習を行い、当該学習の学習曲線の収束特性を評価する評価ステップと、評価データに割り当てた複数の異なる仮想教師データ毎の複数の学習曲線のうち、収束特性の高い学習曲線の仮想教師データに対応する仮想のクラスラベルを評価データのクラスラベルと推定するクラスラベル推定ステップとを含むことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ドライバ状態などを高精度に推定するためのニューラルネットワークを用いた状態推定方法及びニューラルネットワークを用いた状態推定装置に関する。
【背景技術】
【0002】
ドライバ状態に応じた運転支援を行うために、ドライバの心理状態、身体的な状態や運転スキルを推定するための方法が各種提案されている。この推定方法として、ニューラルネットワークを利用した方法である(特許文献1参照)。この方法では、車両情報などの各種情報の組み合わせからなる入力データに対して焦りや疲労などのドライバ状態を示すクラスラベルに対応する教師データを設定し、この入力データと教師データからなる学習データによって学習を行い、教師データと出力データの誤差が十分に収束するようなニューラルネットワークを予め構築しておく。そして、車両走行中に得られる車両情報などの組み合わせからなる評価データをそのニューラルネットワークに入力し、ニューラルネットワークによるフィードフォワード計算によってその評価データに対するドライバ状態を推定する。
【特許文献1】特開平10−324175号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ドライバ状態は、個人特性や運転中のコンディションなどによって大きなバラツキがある。そのため、その全てのパターンを網羅した完全な学習は不可能であり、様々なドライバの多様なコンディションに対応したニューラルネットワークを予め構築することは不可能である。したがって、学習したときに用いた学習データと実際に得られる評価データとが乖離している場合(つまり、学習が不十分な評価データが入力された場合)、ドライバ状態の推定精度が低下する。また、推定精度を向上させるために、ドライバの個人特性に合わせてニューラルネットワークをチューニングする場合、正しい学習データを用いて再学習を行わなければならない。そのため、評価データが入力される毎にドライバがその現在のドライバ状態を教師データとして設定する必要があり、非常に手間を要し、ドライバに負担をかける。
【0004】
そこで、本発明は、高精度な推定が可能なニューラルネットワークを用いた状態推定方法及びその状態推定装置を提供することを課題とする。
【課題を解決するための手段】
【0005】
本発明に係るニューラルネットワークを用いた状態推定方法は、入力データと当該入力データのクラスラベルに対応する教師データとに基づいてニューラルネットワークの学習を行う初期学習ステップと、クラスラベルが未知の評価データに仮想のクラスラベルに対応する仮想教師データを割り当てる仮想教師データ割当ステップと、評価データと評価データの仮想教師データとに基づいてニューラルネットワークの学習を行い、当該学習の学習曲線の収束特性を評価する評価ステップと、評価データに割り当てた複数の異なる仮想教師データ毎の複数の学習曲線のうち、収束特性の高い学習曲線の仮想教師データに対応する仮想のクラスラベルを評価データのクラスラベルと推定するクラスラベル推定ステップとを含むことを特徴とする。
【0006】
このニューラルネットワークを用いた状態推定方法では、初期学習ステップにおいて、入力データとその入力データのクラスラベルに対応する教師データからなる学習データに基づいて学習を行い、初期学習によるニューラルネットワークを構築する。初期学習のニューラルネットワークを構築後にクラスラベルが未知の評価データが入力されると、状態推定方法では、仮想教師データ割当ステップにおいて、その評価データに対して仮想のクラスラベルに対応する仮想教師データを割り当てる。この際、評価データに対して異なる複数の仮想教師データ(仮想のクラスラベル)を割り当てる。そして、状態推定方法では、評価ステップにおいて、評価データとその評価データの仮想教師データとの組み合わせ毎に、その評価データと仮想教師データとを学習データとして学習を行い、学習の収束特性を評価するための学習曲線(例えば、学習回数に対して、その学習回数のときの学習における仮想教師データと出力データとの二乗誤差を対付けたもの)を生成し、その学習曲線の収束特性を評価する。したがって、評価データに対して仮想教師データの数に応じた複数の学習曲線が生成される。評価データに対して割り当てた仮想教師データが妥当な教師データであるほど(仮想のクラスラベルが評価データに対して妥当なクラスラベルであるほど)、学習曲線が滑らかにかつ速やかに収束していく。さらに、状態推定方法では、クラスラベル推定ステップにおいて、評価データに対して生成した複数の学習曲線の中から収束特性の高い学習曲線を抽出し、その抽出した学習曲線の仮想教師データに対応する仮想のクラスラベルを評価データに対するクラスラベルとする。つまり、評価データに対して妥当性の最も高いクラスラベルが推定されたことになる。このように、この状態推定方法では、学習済みのニューラルネットワークのフィードフォワード計算による評価データに対する1回の評価ではなく、評価データに対して複数の仮想教師データ(仮想のクラスラベル)を設定し、学習における時間的過程(学習曲線の収束特性)に基づく複数回の評価を行うので、評価データに対するクラスラベルの推定精度が高い。さらに、複数の仮想のクラスラベルについての各学習過程における大域的な学習の収束性を判断指標としているので、評価データにおけるノイズや一部のデータ欠損に対しても推定精度が高く、ロバスト性も高い。また、この状態推定方法では、評価データに対して複数の仮想教師データを自動的に割り当てて評価を行うので、評価データが入力される毎にユーザが教師データを設定する必要がなく、ユーザに負担をかけない。
【0007】
本発明の上記ニューラルネットワークを用いた状態推定方法では、クラスラベル推定ステップで推定した評価データのクラスラベルを出力するクラスラベル出力ステップを含む構成としてもよい。
【0008】
このニューラルネットワークを用いた状態推定方法では、クラスラベル出力ステップにおいて、評価データに対して推定したクラスラベルを推定結果として出力する。これによって、その出力されたクラスラベルをユーザに知らせたり、あるいは、評価データとそのクラスラベルを学習データとして再学習を行ったりするなど、推定結果を活用することができる。
【0009】
本発明の上記ニューラルネットワークを用いた状態推定方法では、クラスラベル推定ステップで推定した評価データのクラスラベルに対応する仮想教師データを評価データの教師データとしてニューラルネットワークの学習を行う追加学習ステップを含む構成としてもよい。
【0010】
このニューラルネットワークを用いた状態推定方法では、追加学習ステップにおいて、推定したクラスラベルに対応する仮想教師データを評価データの教師データとし、評価データとその教師データからなる学習データに基づいて追加学習を行い、ニューラルネットワークを更新する。このように、この状態推定方法では、初期学習によるニューラルネットワークを構築後に入力される教師データを持たない評価データを用いた追加学習が可能なので、ユーザの個人特性などに対応した推定精度の高いニューラルネットワークにチューニングすることができる。
【0011】
本発明の上記ニューラルネットワークを用いた状態推定方法では、評価ステップは、評価データと評価データの仮想教師データ及び入力データと入力データの教師データに基づいてニューラルネットワークの学習を行う構成としてもよい。
【0012】
このニューラルネットワークを用いた状態推定方法の評価ステップでは、学習曲線を生成するための学習を行う際に、評価データとその仮想教師データとの仮想の学習データに加えて入力データとその教師データとの学習データに基づいて学習を行う。このように、この状態推定方法では、正しくラベリングされている学習データも用いて学習を行い、学習曲線の収束特性を評価するので、評価データに対するクラスラベルの推定精度が更に向上する。
【0013】
本発明の上記ニューラルネットワークを用いた状態推定方法では、入力データ及び評価データは、運転状態検出手段で検出した値からなり、クラスラベルは、ドライバ状態である構成としてもよい。
【0014】
このニューラルネットワークを用いた状態推定方法では、入力データや評価データが運転状態検出手段で検出した車両を運転中に得られる各種情報からなり、クラスラベルがその車両の運転中のドライバの各種状態であり、運転中に得られる評価データからドライバ状態を高精度に推定することができる。運転状態検出手段としては、例えば、ドライバの顔向き、視線、動作、生理情報(例えば、心拍数)などのドライバ情報の検出手段、車間距離、車線、歩行者、渋滞情報などの車両周辺の環境情報の検出手段、車速、舵角、アクセル開度、ブレーキ踏込み度、前後G、横Gなどの車両情報の検出手段である。ドライバ状態としては、例えば、焦り、先急ぎなどのドライバの心理状態、疲労、覚醒度などのドライバの身体的状態、初級運転、熟練運転などのドライバの運転スキルである。
【0015】
本発明の上記ニューラルネットワークを用いた状態推定方法では、ニューラルネットワークは、3層階層型ニューラルネットワークであり、入力データと入力データの教師データとの対応関係、評価データと評価データの仮想教師データとの対応関係又は評価データと評価データに対して推定した教師データとの対応関係を誤差逆伝播法で学習し、誤差逆伝播法による誤差に基づいて学習曲線を生成する構成としてもよい。
【0016】
本発明に係るニューラルネットワークを用いた状態推定装置は、入力データと当該入力データのクラスラベルに対応する教師データとに基づいてニューラルネットワークの学習を行う初期学習手段と、クラスラベルが未知の評価データに仮想のクラスラベルに対応する仮想教師データを割り当てる仮想教師データ割当手段と、評価データと評価データの仮想教師データとに基づいてニューラルネットワークの学習を行い、当該学習の学習曲線の収束特性を評価する評価手段と、評価データに割り当てた複数の異なる仮想教師データ毎の複数の学習曲線のうち、収束特性の高い学習曲線の仮想教師データに対応する仮想のクラスラベルを評価データのクラスラベルと推定するクラスラベル推定手段とを備えることを特徴とする。
【0017】
本発明の上記ニューラルネットワークを用いた状態推定装置では、クラスラベル推定手段で推定した評価データのクラスラベルを出力するクラスラベル出力手段を備える構成としてもよい。
【0018】
本発明の上記ニューラルネットワークを用いた状態推定装置では、クラスラベル推定手段で推定した評価データのクラスラベルに対応する仮想教師データを評価データの教師データとしてニューラルネットワークの学習を行う追加学習手段を備える構成としてもよい。
【0019】
本発明の上記ニューラルネットワークを用いた状態推定装置では、評価手段は、評価データと評価データの仮想教師データ及び入力データと入力データの教師データに基づいてニューラルネットワークの学習を行う構成としてもよい。
【0020】
本発明の上記ニューラルネットワークを用いた状態推定装置では、入力データ及び評価データは、運転状態検出手段で検出した値からなり、クラスラベルは、ドライバ状態である構成としてもよい。
【0021】
本発明の上記ニューラルネットワークを用いた状態推定装置では、ニューラルネットワークは、3層階層型ニューラルネットワークであり、入力データと入力データの教師データとの対応関係、評価データと評価データの仮想教師データとの対応関係又は評価データと評価データに対して推定した教師データとの対応関係を誤差逆伝播法で学習し、誤差逆伝播法による誤差に基づいて学習曲線を生成する構成としてもよい。
【0022】
上記した各ニューラルネットワークを用いた状態推定装置は、上記した各ニューラルネットワークを用いた状態推定方法と同様の作用効果を有する。
【発明の効果】
【0023】
本発明によれば、ニューラルネットワークを用いた評価データに対するクラスラベルの推定において、高精度な推定を行うことができる。
【発明を実施するための最良の形態】
【0024】
以下、図面を参照して、本発明に係るニューラルネットワークを用いた状態推定方法及びニューラルネットワークを用いた状態推定装置の実施の形態を説明する。
【0025】
本実施の形態では、本発明を、車両に搭載され、ドライバ状態を識別するドライバ状態識別装置に適用する。本実施の形態に係るドライバ状態識別装置では、ドライバ状態を識別するために必要な様々な情報をセンサなどによって取得し、ニューラルネットワーク識別器によって取得した情報からなる評価データに対するドライバ状態(クラスラベル)を識別する。そして、本実施の形態に係るドライバ状態識別装置では、ドライバ状態に応じた運転の安全性を判断し、運転の安全性を向上させるための各種運転支援を行う。
【0026】
本実施の形態で用いるニューラルネットワーク識別器は、3層階層型のニューラルネットであり、誤差逆伝播法による学習によって構築される。ドライバ状態を識別するために必要な情報としては、ドライバから得られる各種情報、車両周辺の環境から得られる各種情報、車両から得られる各種情報である。これら各種情報の組み合わせが評価データとしてニューラルネットワーク識別器に入力される。識別するドライバ状態としては、焦り、先急ぎなどの心理状態、覚醒度、疲労などの身体的状態、初級運転、熟練運転などの運転スキルなどがある。
【0027】
図1〜図5を参照して、ドライバ状態識別装置1について説明する。図1は、本実施の形態に係るドライバ状態識別装置の構成図である。図2は、図1のドライバ状態識別装置における識別方法の概念図である。図3は、評価データの一例である。図4は、仮クラスラベルと仮クラスラベルに対応する仮教師データの一例である。図5は、評価データに対して仮教師データ(仮クラスラベル)を割り当てた場合の一例である。
【0028】
ドライバ状態識別装置1は、ニューラルネットワーク識別器によってドライバ状態を識別し、ドライバ状態に応じて各種運転支援を行う。特に、ドライバ状態識別装置1は、ドライバ状態の識別精度を向上させるために、車両運転中に得られる評価データに対して複数の仮のクラスラベルを設定し、仮クラスラベル毎に仮学習を行ってその全ての学習曲線に基づいて評価データに対して最も妥当性のある仮クラスラベルを評価データのクラスラベルとして識別する。さらに、ドライバ状態識別装置1は、評価データと識別されたクラスラベルからなる学習データを用いて再学習を行い、ドライバの特性に合わせてニューラルネットワーク識別器をチューニングする。そのために、ドライバ状態識別装置1は、ドライバ状態認識手段、環境情報認識手段、車両情報認識手段、ディスプレイ40、スピーカ41、運転支援システム42、ニューラルネットワーク識別ECU[Electronic Control Unit]50(なお、以下において「識別ECU50」と記載)、ドライバ状態適応型運転支援ECU60(なお、以下において「運転支援ECU60」と記載)を備えている。
【0029】
なお、本実施の形態では識別ECU50で行われる各処理が特許請求の範囲に記載する初期学習手段、仮想教師データ割当手段、評価手段、クラスラベル推定手段、クラスラベル出力手段及び追加学習手段に相当し、ドライバ状態認識手段、環境情報認識手段及び車両情報認識手段が特許請求の範囲に記載する運転状態検出手段に相当する。
【0030】
ドライバ状態認識手段としては、顔向き・視線認識センサ10、動作・姿勢認識センサ11、顔・眼球認識センサ12、足元認識センサ13、心拍センサ14などがある。顔向き・視線認識センサ10は、ドライバの顔向きと視線を認識するセンサであり、その認識情報を識別ECU50に送信する。動作・姿勢認識センサ11は、ドライバの動作と姿勢を認識するセンサであり、その認識情報を識別ECU50に送信する。顔・眼球認識センサ12は、ドライバの顔と眼球を認識するセンサであり、その認識情報を識別ECU50に送信する。足元認識センサ13は、ドライバの足元の動作や姿勢を認識するセンサであり、その認識情報を識別ECU50に送信する。心拍センサ14は、ドライバの生理情報として心拍数を検出し、その検出情報を識別ECU50に送信する。
【0031】
なお、顔向き・視線認識センサ10、動作・姿勢認識センサ11、顔・眼球認識センサ12、足元認識センサ13は、各センサ単体で構成してもよいし、あるいは、ドライバの顔、体全体、足元を撮像する各カメラと画像処理を行うECUなどで構成してもよい。ここでは、ドライバの生理情報として、心拍数だけを例示したが、他にも脳波、呼吸数、体温、瞬目回数などを取得するようにしてもよい。
【0032】
環境情報認識手段としては、車間距離センサ20、車線認識センサ21、信号機認識センサ22、標識認識センサ23、一時停止線認識センサ24、歩行者認識センサ25、交通環境情報取得用通信装置26、カーナビゲーションシステム27などがある。車間距離センサ20は、前方車両との車間距離を検出するセンサであり、その検出情報を識別ECU50に送信する。車線認識センサ21は、走行中の車線を認識するセンサであり、その認識情報を識別ECU50に送信する。信号機認識センサ22は、車両前方に存在する信号機を認識するセンサであり、その認識情報を識別ECU50に送信する。標識認識センサ23は、車両前方に存在する標識を認識するセンサであり、その認識情報を識別ECU50に送信する。一時停止線認識センサ24は、車両前方に存在する一時停止線を認識するセンサであり、その認識情報を識別ECU50に送信する。歩行者認識センサ25は、車両前方に存在する歩行者を認識するセンサであり、その認識情報を識別ECU50に送信する。交通環境情報取得用通信装置26は、路上局や他車両搭載の通信装置と通信を行い、渋滞情報や他車両の情報などを取得するための通信装置であり、その取得した交通環境情報を識別ECU50に送信する。カーナビゲーションシステム27は、車両の現在位置や走行方向の検出及び目的地までの経路案内などを行うシステムであり、これらの情報を識別ECU50に送信する。
【0033】
なお、車間距離センサ20、車線認識センサ21、信号機認識センサ22、標識認識センサ23、一時停止線認識センサ24、歩行者認識センサ25は、各センサ単体で構成してもよいし、あるいは、車両前方を撮像するカメラやレーダと画像処理などを行うECUなどで構成してもよい。
【0034】
車両情報認識手段としては、車速センサ30、舵角センサ31、アクセル開度センサ32、ブレーキ踏込み度センサ33、前後Gセンサ34、横Gセンサ35、上下Gセンサ36、ウインカ操作センサ37などがある。車速センサ30は、車両の速度を検出するセンサであり、その検出値を識別ECU50に送信する。舵角センサ31は、ステアリングホイールの舵角を検出するセンサであり、その検出値を識別ECU50に送信する。アクセル開度センサ32は、アクセルペダルの開度を検出するセンサであり、その検出値を識別ECU50に送信する。ブレーキ踏込み度センサ33は、ブレーキペダルの踏込み度を検出するセンサであり、その検出値を識別ECU50に送信する。前後Gセンサ34は、車両に作用する前後Gを検出するセンサであり、その検出値を識別ECU50に送信する。横Gセンサ35は、車両に作用する横Gを検出するセンサであり、その検出値を識別ECU50に送信する。上下Gセンサ36は、車両に作用する上下Gを検出するセンサであり、その検出値を識別ECU50に送信する。ウインカ操作センサ37は、ウインカの操作状態を検出センサであり、その検出値を識別ECU50に送信する。
【0035】
ディスプレイ40、スピーカ41は、車両内の各システムと共用で利用され、ドライバ状態識別装置1ではドライバに対する注意喚起やアドバイス提示などを行う際に利用される。運転支援システム42としては、例えば、プリクラッシュセーフティシステム、アダプティブクルーズコントロールシステム、レーンキープシステムがある。
【0036】
識別ECU50は、CPU[Central Processing Unit]、ROM[Read Only Memory]、RAM[Random AccessMemory]などからなり、ニューラルネットワーク識別器が構成されている。識別ECU50では、ユーザによる使用開始前(車両販売前)に一般的な学習データによってニューラルネットワーク識別器を構築するための予備学習処理、ユーザによる使用開始後(車両販売後)のクラスラベルを持たない評価データに対して妥当なクラスラベルを識別するための識別学習処理、ユーザが使用開始後の新規な学習データによってニューラルネットワーク識別器をチューニングするための再学習処理などを行う。
【0037】
ニューラルネットワーク識別器は、多数のニューロンを有しており、ニューロンは相互に重みを持って接続されネットワーク構造(神経回路網)を形成している。ニューラルネットワーク識別器の入力層の各ニューロンには評価データに含まれる各情報のデータが入力され、出力層の各ニューロンからクラスラベルを示すデータを出力する。ニューラルネットワーク識別器は、クラスラベルに応じて覚醒度モデル、先急ぎモデル、初級運転モデルなどがあり、入力される各情報の組み合わせによって識別可能なクラスラベルが決まっている。例えば、車速、横G、心拍数、車間距離の各検出値が入力された場合にはクラスラベルとして丁寧、通常、焦り、疲労、異常の5つの状態を識別できる。
【0038】
予備学習処理について説明する。予備学習を行う前に、例えば、多数のドライバ(被験者)が車両を運転してモデルコースを走行し、一定時間毎に、ドライバ情報認識手段、環境情報認識手段、車両情報認識手段の各センサによって上記した各情報を取得し、その幾つかの情報の組み合わせからなる入力データを収集する。そして、各ドライバが、その各情報を取得したときの心理状態、身体的情報及び運転スキルなどをクラスラベルとして設定する。この際、走行時間帯(ひいては、交通量)、ドライバの睡眠時間や運転前の作業量(運動量)など変えてデータをそれぞれ取得する。なお、予備学習に用いる入力データとクラスラベルについてはこのように実験走行とドライバによる設定によって取得してもよいし、他の方法によって取得してもよい。
【0039】
識別ECU50では、各入力データとそれに対応するクラスラベルが入力されると、クラスラベルに対して予め決められた教師データを設定し、入力データとその教師データからなる学習データを生成する。そして、識別ECU50では、ニューラルネットワーク識別器に入力データを入力して誤差逆伝播法による学習を行い、ニューラルネットワーク識別器の出力層の各ニューロンからの出力データと教師データとの誤差が十分に小さくなるように(収束状態となるように)各ニューロンの重みを更新する。このように、識別ECU50では、正しくラベリングされた全ての学習データについてそれぞれ学習を行い、基本となるニューラルネットワーク識別器を構築する。学習の終了条件としては、学習を所定回数行った場合あるいは二乗誤差が所定値以下になった場合を条件とする。また、学習の更新式として、例えば、改良型の誤差逆伝播法の式(1)を用いる。この改良型の誤差逆伝播法は、通常の誤差逆伝播法のデルタ項に慣性項と振動項を付加したものであり、慣性項と振動項はそれぞれ学習を加速する働きとローカルミニマムに陥った場合に振動してそこから確率的に抜け出す働きを有している。
【0040】
【数1】

【0041】
式(1)において、Δω()は重みの修正量であり、cは学習回数であり、εは正の学習定数であり、dは一般化誤差であり、oは出力データであり、αは慣性項の比例定数であり、βは振動項の比例定数である。
【0042】
識別学習処理について説明する。図2を参照して、識別学習処理と再学習処理の概要を説明する。車両運転中にセンサなどによって情報が収集され、ドライバの状態を識別するための新たな評価データを取得すると、その評価データに対して識別される可能性のあるクラスラベルを仮のクラスラベル(仮教師データ)として割り当てる。したがって、ある評価データに対して複数の仮クラスラベルが割り当てられ、評価データと教師データからなる仮の学習データが複数構成される。この仮クラスラベル毎に、誤差逆伝播法による学習を行い、学習回数に応じた二乗誤差の変化を示す学習曲線を生成する。この学習を行う際に、識別精度を向上させるために、予備学習などで使用した正しくラベリングされた学習データも用いる。学習の時間的過程(学習曲線の収束具合)を判断指標として、仮クラスラベル毎の学習曲線の中から収束特性の最も高い学習曲線を抽出し、その学習曲線に対応する仮クラスラベルをその評価データのクラスラベルとして識別する。この評価データとこの識別されたクラスラベルとが学習データとしても妥当であると判断されたことになる。そこで、この評価データと識別されたクラスラベルの教師データからなる新規の学習データを用いて、誤差逆伝播法による学習を行い、ニューラルネットワーク識別器の各ニューロンの重みを更新する。
【0043】
識別ECU50では、一定時間毎に、各認識手段のセンサなどから情報を取り入れ、各情報を組み合わせて評価データとする。評価データはドライバの心理状態、身体的情報や運転スキルを識別するためのデータであるので、ドライバの各状態を見極めるために所定期間に収集した多数のサンプルが必要となる。この収集する所定期間及びサンプリング周期は識別するドライバ状態に応じて決まっており、心理状態や身体的状態については短いスパンで識別する必要があるので、所定期間及びサンプリング周期は短い時間が設定され、運転スキルについては長いスパンで識別する必要があるので、所定期間及びサンプリング周期は長い時間が設定される。図3には、評価データの一例を示しており、情報の組み合わせとして車速、横G、心拍数、車間距離からなり、各センサの検出値X,X,X,Xのベクトル形式で構成される。評価データは所定期間にサンプリング周期毎に収集され、評価データ1,・・・,評価データmまでのm個のサンプル数の評価データが取得される。
【0044】
識別ECU50では、評価データを取得すると、評価データに対してその評価データに含まれる情報から識別可能なクラスラベルを仮のクラスラベルとして割り当て、この仮クラスラベルに仮教師データをそれぞれ対応付ける。クラスラベルと教師データとは1対1の関係であり、教師データは各値が0/1のベクトル形式で構成される。図4には、仮クラスラベルの一例とその仮のクラスラベルに対応する仮教師データの一例を示している。仮クラスラベルとしては、丁寧、通常、焦り、疲労、異常が割り当てられる。仮教師データは、ニューラルネットワーク識別器の出力層のニューロンの数を5とした場合であり、5つの0/1の値のベクトル形式で表される。また、図5には図3に示す評価データに対して仮教師データ(すなわち、仮クラスラベル)を割り当てた場合の一例を示している。図5から判るように、サンプリング周期毎の評価データ1,評価データ2,・・・に対してそれぞれ5つの仮教師データが割り当てられる。この例の場合、m×5個の組み合わせとなる。
【0045】
識別ECU50では、仮クラスラベル毎に、予備学習での学習と同様に、評価データと仮教師データからなる仮の学習データ及び正しくラベリングされている学習データ(予備学習処理で用いた学習データや識別学習処理で処理済の評価データとその評価データに対して識別されたクラスラベルの教師データからなる学習データ)を用いて学習を行い、ニューラルネットワーク識別器の各ニューロンの重みを更新する。この学習の過程において、識別ECU50では、1回の学習が終了する毎に、学習曲線を生成するために、式(2)により仮教師データと出力データとの二乗誤差を演算し、その二乗誤差を学習回数に対応付けて保持する。識別ECU50では、上記した学習の終了条件を満たすと、ニューラルネットワーク識別器の各ニューロンの更新された重みを学習前の値に戻し、次の仮クラスラベルについての学習を行う。このような処理を評価データに割り当てた全ての仮クラスラベルについて行う。
【0046】
【数2】

【0047】
式(2)において、mは評価データ(入力データ)のサンプル数であり、nはニューラルネットワーク識別器の出力層のニューロンの数であり、pはクラスラベル(教師データ)の数であり、tは教師データであり、oは出力データである。ちなみに、この二乗誤差の演算式は、予備学習処理や再学習処理の際の学習にも用いられる。
【0048】
識別ECU50では、全ての仮クラスラベルについての学習が終了すると、仮クラスラベル毎に、学習回数に対してその学習回数のときの二乗誤差を対応付けて学習曲線を生成する。図2には、図5に示す評価データと割り当てた5つの仮クラスラベルとの学習曲線をグラフ化したもの示しており、横軸が学習回数であり、縦軸が二乗誤差である。ちなみに、この処理は識別ECU50内で行われているので、学習曲線は、実際には、図2のようにグラフ化されておらず、学習回数と二乗誤差との数値の対応付けで構成されている。
【0049】
識別ECU50では、仮クラスラベル毎に生成された各学習曲線の収束特性(大域的に学習が収束しているか否か)をそれぞれ判定し、全ての学習曲線を比較評価する。そして、識別ECU50では、その全ての学習曲線の中から最も収束特性が高い学習曲線を抽出し、その学習曲線の仮クラスラベルを評価データに対して妥当なクラスラベルとして識別する。図2に示す例では、仮ラベル2の学習曲線が最も収束特性が高く、評価データに対してラベル2の「通常」のクラスラベルが識別されたことになる。仮ラベル2の学習曲線は、学習が大域的に収束しており、評価データが正しくラベリング学習データのバラツキと遜色ない範囲で収集されており、目的の状態のデータとして正しくラベリングされていると判定できる。それ以外の学習曲線は、学習が大域的に収束しておらず、評価データが正しくラベリングされた学習データのバラツキの範囲外であるかあるいは部分的に大きく異なった状態で収集されていると判定できる。
【0050】
学習曲線の収束特性の判定条件としては、3つの観点で判定し、1つ目が学習が収束するか否か(学習終了時の二乗誤差)、2つ目が収束する場合には速やかに収束するか(収束速度)、3つ目が収束する場合には滑らかに収束するかである。この3つの判定条件を識別ECU50で判定する具体的な手法としては、1つ目が一定回数(正しいラベリングのデータで予め学習することで設定可能)の学習で収束するか、2つ目が一定回数で学習が収束する場合に何回の学習で収束したか、3つ目が一定回数で学習が収束する場合に学習曲線の勾配が大きく振動していないか(学習曲線の勾配の最大値をとるかあるいは勾配のピークのうち大きい方から3つ程度の平均をとるなどして振動の指標とすることで可能)である。以上の3つの判定手法を定量化して統合した評価関数(収束までの学習回数と振動の指標を入力とする)を作成することにより、学習曲線の収束特性を定量的に演算することができる。
【0051】
識別ECU50では、評価データに対してクラスラベルを識別すると、その識別結果(つまり、ドライバ状態)を運転支援ECU60に出力する。また、この評価データと識別されたクラスラベル(教師データ)とは再学習処理で用いられる。
【0052】
再学習処理について説明する。識別ECU50では、識別学習処理において評価データに対する識別が行われた後、その評価データに対して識別結果に基づいてラベリングを行い、その評価データと教師データからなる学習データを生成する。そして、識別ECU50では、予備学習での学習と同様に、その学習データを用いて学習を行い、ニューラルネットワーク識別器の各ニューロンの重みを更新する。このように、識別ECU50では、新規な学習データによって再学習を行い、ニューラルネットワーク識別器をチューニングする。
【0053】
運転支援ECU60は、CPU、ROM、RAMなどからなる。運転支援ECU60では、識別ECU50で識別された所定のドライバ状態が入力されると、そのドライバ状態に応じて運転の安全性を判断する。そして、運転支援ECU60では、運転の安全性が正常レベルより低下している場合、そのレベルに応じてドライバに注意喚起やアドバイス提示するための画像やメッセージを生成し、その画像をディスプレイ40に表示させたり、そのメッセージをスピーカ41から音声出力させる。また、運転支援ECU60では、運転の安全性が正常レベルより低下している場合、そのレベルに応じて運転支援システム42に対して制御タイミングを変えるなどの指示信号を送信する。
【0054】
なお、ある程度長い期間にわたる識別学習処理と再学習処理によってドライバの個人特性に合わせた識別精度の高いニューラルネットワーク識別器にチューニングできた場合には、識別学習処理及び再学習処理を停止し、そのチューニングされたニューラルネットワーク識別器のフィードフォワード計算による1回の評価によってクラスラベル(ドライバ状態)を識別してもよい。
【0055】
図1〜図5を参照して、ドライバ状態識別装置1の動作について説明する。特に、識別ECU50における予備学習処理については図6のフローチャートに沿って説明し、識別学習処理については図7のフローチャートに沿って説明し、再学習処理については図8のフローチャートに沿って説明する。図6は、図1のニューラルネットワーク識別ECUにおける予備学習処理の流れを示すフローチャートである。図7は、図1のニューラルネットワーク識別ECUにおける識別学習処理の流れを示すフローチャートである。図8は、図1のニューラルネットワーク識別ECUにおける再学習処理の流れを示すフローチャートである。特に、図8のフローチャートで示される処理は、ニューラルネットワーク識別器の性能向上のための処理であり、図7のフローチャートで示されるニューラルネットワーク識別器における状態識別のための処理とは目的が異なる。
【0056】
ユーザによる使用開始前、ドライバ状態を識別するための各情報が幾つか組み合わせられた入力データが多数収集され、各入力データに対してクラスラベルがそれぞれ設定される。入力データとそれに正しくラベリングされたクラスラベル毎に、識別ECU50では、その入力ラベルとそのクラスラベルの教師データからなる学習データを生成する(S10)。そして、識別ECU50では、ニューラルネットワーク識別器に入力データを入力して誤差逆伝播法による学習を行い、ニューラルネットワーク識別器の各ニューロンの重みを更新する(S11)。ここで、ユーザによる使用開始前に、一般的な学習データによって、基本となるニューラルネットワーク識別器が構築される。
【0057】
ユーザによる使用開始後、ドライバによる車両運転中に、ドライバ情報認識手段、環境情報認識手段、車両情報認識手段の各センサなどでは、ドライバ状態の識別に必要な各情報を検出や認識し、その各情報を識別ECU50に送信する。識別ECU50では、一定時間毎に、各センサなどからの情報をそれぞれ受信する(S20,S30)。そして、識別ECU50では、サンプリング周期毎に、幾つかの情報を組み合わせて評価データとし、所定期間におけるサンプリング周期毎の評価データを保持する(S20,S30)。この評価データはクラスラベルを持っておらず、妥当なクラスラベルを識別する必要がある。なお、上記したように、評価データを収集する所定周期及びサンプリング周期は識別するドライバ状態に応じて設定されている。
【0058】
識別ECU50では、過去の学習において用いられた正しくラベリングされた学習データを生成する(S21)。また、識別ECU50では、評価データに対して仮のクラスラベルを割り当て、評価データとその仮クラスラベルに対応する仮教師データからなる学習データを生成し、学習データとして追加する(S22)。この評価データに割り当てられた仮クラスラベルは評価データのクラスラベルとして妥当か、その妥当性を判断する必要がある。識別ECU50では、正しくラベリングされた学習データ及び仮のラベリングによる学習データにより誤差逆伝播法による学習を行い、ニューラルネットワーク識別器の各ニューロンの重みを更新する(S23)。学習の終了条件を満たすまで、識別ECU50では、学習の時間的過程を監視するために、1回の学習毎に、仮教師データと出力データとの二乗誤差を演算し、その二乗誤差を学習回数と対応付けて保持する(S24)。学習の終了条件を満たすと、識別ECU50では、その仮クラスラベルについての学習を終了し、ニューラルネットワークの各ニューロンの今回の学習によって更新された重みデータを全て棄却し、学習前の重みに戻す(S25)。そして、識別ECU50では、評価データに対して可能性のある全ての仮のラベリングを試したか否かを判定する(S26)。S26の判定にて全ての仮のラベリングを試していないと判定した場合、識別ECU50では、S21に戻って、次の仮クラスラベルについての処理を行う。ここで、評価データに対して割り当てた仮のクラスラベル毎に、学習が行われ、その学習の時間的過程が監視される。
【0059】
S26の判定にて全ての仮のラベリングを試したと判定した場合、識別ECU50では、仮クラスラベル毎に、学習回数とその二乗誤差から学習曲線を生成し、学習曲線の収束特性を定量的に演算する(S27)。そして、識別ECU50では、全ての学習曲線の収束特性を比較評価し、収束特性の最も優れる学習曲線を抽出する(S27)。さらに、識別ECU50では、抽出した学習曲線に対応する仮クラスラベルを評価データに対して妥当なクラスラベルと識別し、その識別結果を運転支援ECU60に出力する(S28)。ここで、評価データに割り当てた複数の仮クラスラベルの中から学習の収束性の最も良い仮クラスラベルが評価データのクラスラベル(所定のドライバ状態)として識別される。
【0060】
評価データを取得(S20,S30)した後、上記のS21〜S27の処理により評価データに対するクラスラベルの識別処理が行われると(S31)、識別ECU50では、評価データが学習データとして妥当か否かを判定する(具体的には、S31の処理によって評価データに対して1つの妥当なクラスラベルが識別されているか否かを判定する)(S32)。S32の判定にて学習データとして妥当でないと判定した場合、識別ECU50では、再学習を行わない。
【0061】
S32の判定にて学習データとして妥当と判定した場合、識別ECU50では、評価データに識別結果に従ってラベリングし(S33)、評価データと識別された教師データとからなる正しくラベリングされた学習データを生成する(S34)。識別ECU50では、この生成した学習データにより誤差逆伝播法による学習を行い、ニューラルネットワーク識別器の各ニューロンの重みを更新する(S35)。これによって、ドライバの個人特性を反映した学習データによって、ニューラルネットワーク識別器がチューニングされる。
【0062】
運転支援ECU60では、識別ECU50から識別結果が入力されると、識別された所定のドライバ情報に基づいて運転の安全性のレベルを判定する。運転の安全性が正常レベルより低下している場合、運転支援ECU60では、ディスプレイ40やスピーカ41によって、そのレベルに応じてドライバに注意喚起やアドバイス提示するとともに、そのレベルに応じて運転支援システム42に対して制御タイミングを変えるなどの指示信号を送信する。これによって、疲労、焦り、眠気などのドライバの安全性のレベルの低下時に、安全性を向上させるための適切な運転支援が行われる。
【0063】
このドライバ状態識別装置1によれば、従来のようにニューラルネットワークのフィードフォワード計算による評価データに対する1回の評価ではなく、評価データに対して複数の仮クラスラベル(仮教師データ)を自動的に割り当て、学習における時間的過程(学習曲線の収束特性)に基づく複数回の評価を行うので、評価データに対するクラスラベル(ひいては、ドライバ状態)の識別精度が高い。特に、評価において大域的に学習が収束するか否かを判断指標としているので、ノイズや一部のデータ欠損に対して、従来より識別精度が高く、ロバスト性も高い。また、運転中に得られる一般的な情報を評価データとし、評価データに対して複数の仮想教師データを自動的に割り当てて識別を行うので、ドライバに負担をかけない。
【0064】
つまり、評価データに対して複数の異なる仮クラスラベルを設定しているので、従来よりも非常に多くの情報に基づいて識別を行っている。具体的には、識別学習処理において1つの仮クラスラベルについての評価が従来のフィードフォワード計算による1回の評価に相当しており、複数の仮クラスラベルについてそれぞれ評価して識別を行うことにより、従来よりも非常に多くの情報に基づいて識別を行っていることになる。また、評価データに対して可能性のある全ての仮クラスラベルを設定して学習を試み、各仮クラスラベルについての学習過程の収束具合を監視することにより評価データに対してその仮クラスラベルが妥当か否かの情報を取得し、それらの情報に基づいて識別を行うので、従来のように学習済みのニューラルネットワークを用いて評価データに対して一度だけの評価によって対応が困難なノイズや一部のデータ欠損がある評価データに対しても、柔軟な対応が可能となる。
【0065】
さらに、このドライバ状態識別装置1によれば、評価データと識別されたクラスラベル(教師データ)を学習データとして再学習を行うので、ドライバの個人特性に合わせたニューラルネットワーク識別器にチューニングしていくことができる。これによって、評価データに応じてニューラルネットワーク識別器が動的にアジャストしていくので、従来の重み固定のニューラルネットワークで識別を行うより、柔軟性があり、識別精度が高くなる。また、チューニングを行うためにドライバが状態を入力する必要がないので、ドライバに負担をかけない。
【0066】
また、このドライバ状態識別装置1では、識別学習を行う際に評価データと仮教師データからなる仮の学習データに加えて正しくラベリングされた学習データも用いて学習を行うので、評価データに対するクラスラベルの識別精度が更に向上する。
【0067】
また、このドライバ状態識別装置1では、識別したドライバ状態に応じて適切な運転支援を行うので、ドライバの状態に応じてドライバに対して効果的な改善を促すことができ、運転の安全性を向上させることができる。この際、ドライバに煩わしさを与えない過不足のない運転支援を行うことがき、より早期の段階からの適切な運転支援が可能である。
【0068】
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
【0069】
例えば、本実施の形態では評価データとしてドライバ情報、環境情報、車両情報を検出し、それらの検出した情報からドライバ状態を識別するドライバ状態識別装置に適用したが、ドライバ状態以外にも様々のものの識別に適用可能であり、また、ドライバ状態を識別するために必要な情報としては実施の形態で例示した以外の情報を用いてもよいし、識別するドライバ状態としても実施の形態で例示した以外のドライバ状態を識別するようにしてもよい。
【0070】
また、本実施の形態では評価データに対するドライバ状態を識別し、その識別結果を用いて運転支援を行う構成としたが、評価データに対するドライバ状態の識別結果を出力するだけでもよいし、あるいは、その識別結果を他のシステムに提供するようにしてもよい。
【0071】
また、本実施の形態では評価データに対する識別結果に基づく新たな学習データによって再学習(追加学習)も行う構成としたが、評価データに対する識別を行った後、再学習を行わない構成としてもよい。
【0072】
また、本実施の形態では識別学習を行う際に評価データとその仮教師データによる学習データ以外に正しくラベリングされた学習データを用いて学習を行う構成としたが、正しくラベリングされた学習データを用いないで、評価データとその仮教師データによる学習データだけを用いて行ってもよい。
【0073】
また、本実施の形態では3層階層型のニューラルネットであり、誤差逆伝播法による学習方法を用いたが、ニューラルネットワークの構造や学習方法については特に限定しない。
【0074】
また、本実施の形態では式(2)による二乗誤差を用いて学習曲線を生成したが、学習曲線としては学習の収束特性を評価できるものであれば特に限定しない。
【図面の簡単な説明】
【0075】
【図1】本実施の形態に係るドライバ状態識別装置の構成図である。
【図2】図1のドライバ状態識別装置における識別方法の概念図である。
【図3】評価データの一例である。
【図4】仮クラスラベルと仮クラスラベルに対応する仮教師データの一例である。
【図5】評価データに対して仮教師データ(仮クラスラベル)を割り当てた場合の一例である。
【図6】図1のニューラルネットワーク識別ECUにおける予備学習処理の流れを示すフローチャートである。
【図7】図1のニューラルネットワーク識別ECUにおける識別学習処理の流れを示すフローチャートである。
【図8】図1のニューラルネットワーク識別ECUにおける再学習処理の流れを示すフローチャートである。
【符号の説明】
【0076】
1…ドライバ状態識別装置、10…顔向き・視線認識センサ、11…動作・姿勢認識センサ、12…顔・眼球認識センサ、13…足元認識センサ、14…心拍センサ、20…車間距離センサ、21…車線認識センサ、22…信号機認識センサ、23…標識認識センサ、24…一時停止線認識センサ、25…歩行者認識センサ、26…交通環境情報取得用通信装置、27…カーナビゲーションシステム、30…車速センサ、31…舵角センサ、32…アクセル開度センサ、33…ブレーキ踏込み度センサ、34…前後Gセンサ、35…横Gセンサ、36…上下Gセンサ、37…ウインカ操作センサ、40…ディスプレイ、41…スピーカ、42…運転支援システム、50…ニューラルネットワーク識別ECU、60…ドライバ状態適応型運転支援ECU

【特許請求の範囲】
【請求項1】
入力データと当該入力データのクラスラベルに対応する教師データとに基づいてニューラルネットワークの学習を行う初期学習ステップと、
クラスラベルが未知の評価データに仮想のクラスラベルに対応する仮想教師データを割り当てる仮想教師データ割当ステップと、
前記評価データと前記評価データの仮想教師データとに基づいてニューラルネットワークの学習を行い、当該学習の学習曲線の収束特性を評価する評価ステップと、
前記評価データに割り当てた複数の異なる仮想教師データ毎の複数の学習曲線のうち、収束特性の高い学習曲線の仮想教師データに対応する仮想のクラスラベルを前記評価データのクラスラベルと推定するクラスラベル推定ステップと
を含むことを特徴とするニューラルネットワークを用いた状態推定方法。
【請求項2】
前記クラスラベル推定ステップで推定した評価データのクラスラベルを出力するクラスラベル出力ステップを含むことを特徴とする請求項1に記載するニューラルネットワークを用いた状態推定方法。
【請求項3】
前記クラスラベル推定ステップで推定した評価データのクラスラベルに対応する仮想教師データを前記評価データの教師データとしてニューラルネットワークの学習を行う追加学習ステップを含むことを特徴とする請求項1又は請求項2に記載するニューラルネットワークを用いた状態推定方法。
【請求項4】
前記評価ステップは、前記評価データと前記評価データの仮想教師データ及び前記入力データと前記入力データの教師データに基づいてニューラルネットワークの学習を行うことを特徴とする請求項1〜請求項3のいずれか1項に記載するニューラルネットワークを用いた状態推定方法。
【請求項5】
前記入力データ及び前記評価データは、運転状態検出手段で検出した値からなり、
前記クラスラベルは、ドライバ状態であることを特徴とする請求項1〜請求項4のいずれか1項に記載するニューラルネットワークを用いた状態推定方法。
【請求項6】
前記ニューラルネットワークは、3層階層型ニューラルネットワークであり、
前記入力データと前記入力データの教師データとの対応関係、前記評価データと前記評価データの仮想教師データとの対応関係又は前記評価データと前記評価データに対して推定した教師データとの対応関係を誤差逆伝播法で学習し、誤差逆伝播法による誤差に基づいて学習曲線を生成することを特徴とする請求項1〜請求項5のいずれか1項に記載するニューラルネットワークを用いた状態推定方法。
【請求項7】
入力データと当該入力データのクラスラベルに対応する教師データとに基づいてニューラルネットワークの学習を行う初期学習手段と、
クラスラベルが未知の評価データに仮想のクラスラベルに対応する仮想教師データを割り当てる仮想教師データ割当手段と、
前記評価データと前記評価データの仮想教師データとに基づいてニューラルネットワークの学習を行い、当該学習の学習曲線の収束特性を評価する評価手段と、
前記評価データに割り当てた複数の異なる仮想教師データ毎の複数の学習曲線のうち、収束特性の高い学習曲線の仮想教師データに対応する仮想のクラスラベルを前記評価データのクラスラベルと推定するクラスラベル推定手段と
を備えることを特徴とするニューラルネットワークを用いた状態推定装置。
【請求項8】
前記クラスラベル推定手段で推定した評価データのクラスラベルを出力するクラスラベル出力手段を備えることを特徴とする請求項7に記載するニューラルネットワークを用いた状態推定装置。
【請求項9】
前記クラスラベル推定手段で推定した評価データのクラスラベルに対応する仮想教師データを前記評価データの教師データとしてニューラルネットワークの学習を行う追加学習手段を備えることを特徴とする請求項7又は請求項8に記載するニューラルネットワークを用いた状態推定装置。
【請求項10】
前記評価手段は、前記評価データと前記評価データの仮想教師データ及び前記入力データと前記入力データの教師データに基づいてニューラルネットワークの学習を行うことを特徴とする請求項7〜請求項9のいずれか1項に記載するニューラルネットワークを用いた状態推定装置。
【請求項11】
前記入力データ及び前記評価データは、運転状態検出手段で検出した値からなり、
前記クラスラベルは、ドライバ状態であることを特徴とする請求項7〜請求項10のいずれか1項に記載するニューラルネットワークを用いた状態推定装置。
【請求項12】
前記ニューラルネットワークは、3層階層型ニューラルネットワークであり、
前記入力データと前記入力データの教師データとの対応関係、前記評価データと前記評価データの仮想教師データとの対応関係又は前記評価データと前記評価データに対して推定した教師データとの対応関係を誤差逆伝播法で学習し、誤差逆伝播法による誤差に基づいて学習曲線を生成することを特徴とする請求項7〜請求項11のいずれか1項に記載するニューラルネットワークを用いた状態推定装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2007−122362(P2007−122362A)
【公開日】平成19年5月17日(2007.5.17)
【国際特許分類】
【出願番号】特願2005−313017(P2005−313017)
【出願日】平成17年10月27日(2005.10.27)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)