(57)【要約】【課題】特定の状況におけるドライバの運転行動を推定するための確率モデルを構築するために、その状況に関連する学習データのみを選択して蓄積することが可能な運転支援装置を提供する。【解決手段】運転支援装置は、自動車に関する少なくとも一つの状態情報またはドライバの運転操作に関する少なくとも一つの操作情報のうち、特定の状況に関連する状態情報または操作情報を抽出するフィルタ部４５と、抽出された状態情報または操作情報からなる学習データを用いて特定の状況においてドライバが所定の運転操作を行う実行確率を求める確率モデルを構築する学習部４８と、状態情報または操作情報を確率モデルに入力することにより所定の運転操作の実行確率を算出する行動推論部４６と、特定の状況における実際の運転操作が所定の運転操作と異なっている場合、算出された実行確率に従って警報を発するか所定の運転操作を実行する運転行動判定部４７とを有する。【選択図】図２
2010092424.tif 000002
【特許請求の範囲】
【請求項１】
自動車の運転支援装置であって、
自動車に関する少なくとも一つの状態情報が状態情報取得部（３）により取得される度、またはドライバの運転操作に関する少なくとも一つの操作情報が操作情報取得部（２）により取得される度に、当該少なくとも一つの状態情報または少なくとも一つの操作情報が自動車の走行状況に関する特定の状況に関連するか否かを判定し、当該特定の状況に関連すると判定した場合、当該少なくとも一つの状態情報または少なくとも一つの操作情報を抽出するフィルタ部（４５）と、
前記フィルタ部（４５）により抽出された少なくとも一つの状態情報または少なくとも一つの操作情報を学習データとして記憶する記憶部（４１）と、
前記学習データを用いて、前記特定の状況においてドライバが所定の運転操作を実行する確率である実行確率を求める確率モデルを構築する学習部（４８）と、
前記少なくとも一つの状態情報または少なくとも一つの操作情報のうち、前記フィルタ部（４５）により前記特定の状況に関連すると判定された状態情報または操作情報を前記確率モデルに入力することにより前記実行確率を算出する行動推論部（４６）と、
前記特定の状況におけるドライバの実際の運転操作が前記所定の運転操作と異なっているか否かを判定し、実際の運転操作が前記所定の運転操作と異なっている場合、前記行動推論部（４６）により算出された前記実行確率に従ってドライバに警報を発するかまたは前記所定の運転操作を実行する運転行動判定部（４７）と、
を有することを特徴とする運転支援装置。
【請求項２】
前記フィルタ部（４５）は、前記特定の状況を表す抽出条件を有し、前記状態情報取得部（３）により取得された少なくとも一つの状態情報または前記操作情報取得部（２）により取得された少なくとも一つの操作情報が当該抽出条件を満たすとき、前記少なくとも一つの状態情報または少なくとも一つの操作情報が前記特定の状況に関連すると判定する、請求項１に記載の運転支援装置。
【請求項３】
前記特定の状況は、前記車両が直進中であって前記車両に先行する先行車が存在し、かつ前記車両と先行車との車間距離が狭くなりつつある状況であり、前記抽出条件は、前記車両のハンドルの操舵角が直進に対応する角度未満であり、前記車両が加速中でなく、前記車間距離が、先行車が存在することに対応する所定距離未満であり、前記車間距離が狭くなるように変化していることである、請求項２に記載の運転支援装置。
【請求項４】
前記特定の状況は、前記車両が交差点で左折または右折する状況であり、前記抽出条件は、前記車両のウインカーが操作されており、前記車両の速度が、左折または右折直前に対応する所定範囲内の速度に含まれ、前記車両の現在位置が、何れかの交差点から所定距離以内に含まれることである、請求項２に記載の運転支援装置。
【請求項５】
前記特定の状況は、前記車両が直進する状況であり、前記抽出条件は、前記車両が車線の境界を示す境界線と交差しておらず、前記車両のウインカーが操作されておらず、他の車両が、前記車両から所定距離以内にないことである、請求項２に記載の運転支援装置。
【請求項６】
前記運転行動判定部（４７）は、前記実行確率が第１の閾値以上である場合、前記所定の運転操作を実行し、前記実行確率が前記第１の閾値未満であり、かつ前記第１の閾値よりも低い第２の閾値以上である場合、ドライバに警報を発する、請求項１〜５の何れか一項に記載の運転支援装置。
【請求項７】
自動車の運転支援方法であって、
自動車に関する少なくとも一つの状態情報が取得される度、またはドライバの運転操作に関する少なくとも一つの操作情報が取得される度に、当該少なくとも一つの状態情報または少なくとも一つの操作情報が自動車の走行状況に関する特定の状況に関連するか否かを判定し、当該特定の状況に関連すると判定した場合、当該少なくとも一つの状態情報または少なくとも一つの操作情報を抽出するステップと、
前記抽出された状態情報または操作情報を学習データとして記憶するステップと、
前記学習データを用いて、前記特定の状況においてドライバが所定の運転操作を実行する確率である実行確率を求める確率モデルを構築するステップと、
前記特定の状況において取得された前記少なくとも一つの状態情報または少なくとも一つの操作情報を前記確率モデルに入力することにより前記実行確率を算出するステップと、
前記特定の状況におけるドライバの実際の運転操作が前記所定の運転操作と異なっているか否かを判定するステップと、
実際の運転操作が前記所定の運転操作と異なっている場合、前記算出された実行確率に従ってドライバに警報を発するかまたは前記所定の運転操作を実行するステップと、
を含むことを特徴とする運転支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車の運転支援装置及び運転支援方法に関し、特に、特定の状況におけるドライバの運転操作に応じて適切な運転操作を強制実行するか警報を発する自動車の運転支援装置及び運転支援方法に関する。
【背景技術】
【０００２】
近年、自動車のドライバの運転負荷を軽減し、事故の発生を防止するために、自動的に車間距離を一定に維持したり、自動車が車線を逸脱することを防止するような運転を自動的に実行する運転支援装置の開発が盛んに行われている。このような運転支援装置は、例えば、各種のセンサにより自動車の周囲の状況を示す情報を取得し、その情報に基づいて、何等かの運転操作が必要と判断した場合には、所定の運転操作（ブレーキ操作、ハンドル操作など）を自動的に実行したり、ドライバに警報を発する。このような制御を行うために、ベイジアンネットまたは隠れマルコフモデルのような確率モデルを利用して、ドライバの運転行動を推定することが研究されている。
【０００３】
例えば、特許文献１には、ベイジアンネットワークを用いた確信度算出手段により、環境情報、車速、操舵角、走行実験により予め取得された走行履歴情報に基づいて、自動車の走行環境を示す環境情報の検出確信度を算出し、その検出確信度に基づいてドライバに警報を発する走行制御装置が開示されている。
【０００４】
【特許文献１】特開２０００−１８２１９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
自動車の挙動は、ドライバの運転行動パターンによって大きく異なる。そのため、自動車の走行状況に関する特定の状況におけるドライバの運転操作が正常か否かを判定するためには、ドライバの運転行動パターンに応じて、ドライバの行動を推論するための確率モデルを適切に学習する必要がある。しかし、自動車の走行中に得られるその自動車に関する状態を表す状態情報あるいはドライバの運転操作を表す操作情報をすべて使用して確率モデルを学習すると、確率モデルに特定の状況以外において取得されたそれらの情報も反映される。そのため、そのように学習された確率モデルは、特定の状況におけるドライバの運転行動を適切に推定できなくなる。そこで、確率モデルを適切に学習するためには、その特定の状況に関連する状態情報あるいは操作情報を適切に選択して、確率モデルの学習データセットを作成することが重要である。
【０００６】
そこで、本発明の目的は、特定の状況におけるドライバの運転行動を推定するための確率モデルを構築するために、その特定の状況に関連する学習データのみを選択して蓄積することが可能な運転支援装置及び運転支援方法を提供することにある。
【０００７】
また本発明の他の目的は、特定の状況に関連する学習データを用いて学習された確率モデルを利用して、その状況におけるドライバの通常時の運転操作を推定し、実際の運転操作との相違を調べることにより、異常な運転行動を検出可能な運転支援装置及び運転支援方法を提供することにある。
【課題を解決するための手段】
【０００８】
請求項１の記載によれば、本発明の一つの形態として、自動車の運転支援装置が提供される。係る運転支援装置は、自動車に関する少なくとも一つの状態情報が状態情報取得部（３）により取得される度、またはドライバの運転操作に関する少なくとも一つの操作情報が操作情報取得部（２）により取得される度に、当該少なくとも一つの状態情報または少なくとも一つの操作情報が自動車の走行状況に関する特定の状況に関連するか否かを判定し、その特定の状況に関連すると判定した場合、その少なくとも一つの状態情報または少なくとも一つの操作情報を抽出するフィルタ部（４５）と、フィルタ部（４５）により抽出された少なくとも一つの状態情報または少なくとも一つの操作情報を学習データとして記憶する記憶部（４１）と、記憶部（４１）に記憶された学習データを用いて、特定の状況においてドライバが所定の運転操作を実行する確率である実行確率を求める確率モデルを構築する学習部（４８）と、少なくとも一つの状態情報または少なくとも一つの操作情報のうち、フィルタ部（４５）により特定の状況に関連すると判定された状態情報または操作情報を確率モデルに入力することにより実行確率を算出する行動推論部（４６）と、特定の状況におけるドライバの実際の運転操作が所定の運転操作と異なっているか否かを判定し、実際の運転操作が所定の運転操作と異なっている場合、行動推論部（４６）により算出された実行確率に従ってドライバに警報を発するかまたは所定の運転操作を実行する運転行動判定部（４７）とを有する。
本発明に係る自動車の運転支援装置は、特定の状況におけるドライバの運転行動を推定するための確率モデルを構築するために、その特定の状況に関連する学習データのみを選択して蓄積することができる。さらに、係る運転支援装置は、そのような学習データを用いて学習された確率モデルを利用して、その状況におけるドライバの通常時の運転操作を推定し、実際の運転操作との相違を調べるので、異常な運転行動を検出することができる。
【０００９】
また請求項２の記載によれば、フィルタ部（４５）は、自動車の走行状況に関する特定の状況を表す抽出条件を有し、状態情報取得部（３）により取得された少なくとも一つの状態情報または操作情報取得部（２）により取得された少なくとも一つの操作情報が抽出条件を満たすとき、その少なくとも一つの状態情報または少なくとも一つの操作情報が特定の状況に関連すると判定することが好ましい。
【００１０】
この場合において、請求項３の記載によれば、一例として、特定の状況は、車両が直進中であって車両に先行する先行車が存在し、かつ車両と先行車との車間距離が狭くなりつつある状況である。そしてその特定の状況に対応する抽出条件は、車両のハンドルの操舵角が直進に対応する角度未満であり、車両が加速中でなく、車間距離が先行車が存在することに対応する所定距離未満であり、車間距離が狭くなるように変化していることである。
【００１１】
また請求項４の記載によれば、他の例として、特定の状況は、車両が交差点で左折または右折する状況である。そしてその特定の状況に対応する抽出条件は、車両のウインカーが操作されており、車両の速度が、左折または右折直前に対応する所定範囲内の速度に含まれ、車両の現在位置が、何れかの交差点から所定距離以内に含まれることである。
【００１２】
あるいは請求項５の記載によれば、他の例として、特定の状況は、車両が直進する状況である。そしてその特定の状況に対応する抽出条件は、車両が車線の境界を示す境界線と交差しておらず、車両のウインカーが操作されておらず、他の車両が、車両から所定距離以内にないことである。
【００１３】
さらに請求項６の記載によれば、運転行動判定部（４７）は、実行確率が第１の閾値以上である場合、所定の運転操作を実行し、実行確率が第１の閾値未満であり、かつ第１の閾値よりも低い第２の閾値以上である場合、ドライバに警報を発することが好ましい。
これにより、係る運転支援装置は、特定の状況におけるドライバの実際の運転操作と、ドライバが通常行うと考えられる所定の運転操作が異なっている場合において、その所定の運転操作を実行する確率が高いほど、運転操作への介入度合いを高めることができる。そのため、係る運転支援装置は、ドライバの運転操作に何等かの異常がある可能性が非常に高い場合には、強制的に通常の運転操作を実行させることができるので、危険を回避することができる。一方、係る運転支援装置は、ドライバの運転操作に何等かの異常があるとまでは判断できなくても、ドライバの運転操作がいつもと異なる可能性が高い場合には、ドライバに注意を促せるので、危険の発生を未然に防止することができる。
【００１４】
また請求項７の記載によれば、本発明の他の形態として、自動車の運転支援方法が提供される。係る運転支援方法は、自動車に関する少なくとも一つの状態情報が状態情報取得部（３）により取得される度、またはドライバの運転操作に関する少なくとも一つの操作情報が操作情報取得部（２）により取得される度に、それら少なくとも一つの状態情報または少なくとも一つの操作情報のうち、自動車の走行状況に関する特定の状況に関連する状態情報または操作情報を抽出するステップと、抽出された状態情報または操作情報を学習データとして記憶するステップと、記憶された学習データを用いて、特定の状況においてドライバが所定の運転操作を実行する確率である実行確率を求める確率モデルを構築するステップと、少なくとも一つの状態情報または少なくとも一つの操作情報を確率モデルに入力することにより特定の状況における所定の運転操作の実行確率を算出するステップと、特定の状況におけるドライバの実際の運転操作が所定の運転操作と異なっているか否かを判定するステップと、実際の運転操作が所定の運転操作と異なっている場合、算出された実行確率に従ってドライバに警報を発するかまたはその所定の運転操作を実行するステップとを含む。
本発明に係る自動車の運転支援方法は、特定の状況におけるドライバの運転行動を推定するための確率モデルを構築するために、その特定の状況に関連する学習データのみを選択して蓄積することができる。さらに、係る運転支援方法は、そのような学習データを用いて学習された確率モデルを利用して、その状況におけるドライバの通常時の運転操作を推定し、実際の運転操作との相違を調べるので、異常な運転行動を検出することができる。
【００１５】
なお、上記各部に付した括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示す一例である。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の一つの実施形態に係る運転支援装置について、図を参照しつつ説明する。
本発明の一つの実施形態に係る運転支援装置は、ドライバの運転操作を表す操作情報と、車両の周囲の状態、車両の走行状態など、車両に関する状態を表す状態情報とをセンサにより取得し、それらの情報から、確率モデルを用いて自動車の走行状況に関する特定の状況における、所定の運転操作が実行される確率である実行確率を求める。そして係る運転支援装置は、その実行確率に応じて、適切と考えられる運転操作を自動的に実行したり、ドライバに警報を発する。特に、係る運転支援装置は、操作情報及び状態情報のうち、特定の状況に対応する操作情報及び状態情報のみを用いて確率モデルを学習する。
【００１７】
図１は、本発明の一つの実施形態に係る運転支援装置１の全体構成を示す概略構成図である。図１に示すように、運転支援装置１は、操作情報取得部２と、状態情報取得部３と、制御部４と、警報部５とを有する。
【００１８】
操作情報取得部２は、ドライバによる運転操作に関する操作情報を取得し、そのための少なくとも一つのセンサを有する。本実施形態では、操作情報取得部２は、ハンドルの操舵角を検知する操舵角センサ２１、アクセル開度を検知するアクセルセンサ２２、ブレーキペダルの踏込み量を検知するストロークセンサ２３を有する。さらに、操作情報取得部２は、ワイパーのオン／オフ、パワーウインドウの開閉状態などを取得するセンサを有してもよい。なお、これらのセンサは、何れも公知であるため、その詳細な説明は省略する。
操作情報取得部２の各センサは、車内ＬＡＮ６を介して制御部４に接続され、定期的に（例えば、１秒間隔で）あるいは制御部４からのセンサ情報取得要求に応じて操作情報を取得する。そして操作情報取得部２の各センサは、車内ＬＡＮ６を介して取得した操作情報を制御部４へ送信する。
【００１９】
状態情報取得部３は、車両に関する各種の状態に関する状態情報を取得し、そのための少なくとも一つのセンサを有する。本実施形態では、状態情報取得部３は、車両の現在位置及び進行方向を取得するためのナビゲーションシステム３１と、雨滴の有無を検知するためのレインセンサ３２と、車速を検知する車速センサ３３と、前の車との車間距離を検知する車間距離センサ３４と、ドライバの顔を撮影するための車内カメラ３５とを有する。
さらに状態情報取得部３は、時間を取得する車載時計、車両の加速度を検知する加速度センサ、車体の傾きを検知するヨーセンサ、車輪の空転を検知するスリップセンサ、車外の様子を撮影する車外カメラ、乗員の生体情報を取得するための体温センサあるいは排気ガスの臭気を測定するための排ガスセンサなどを有してもよい。また上記のナビゲーションシステム３１は、道路の種類を示す道路情報、周辺地域情報、Ｇｂｏｏｋ情報などを取得してもよい。なお、これらのセンサは、何れも公知であるため、その詳細な説明は省略する。
状態情報取得部３の各センサは、車内ＬＡＮ６を介して制御部４に接続され、定期的に（例えば、１秒間隔で）あるいは制御部４からのセンサ情報取得要求に応じて状態情報を取得する。そして状態情報取得部３の各センサは、車内ＬＡＮ６を介して取得した状態情報を制御部４へ送信する。
【００２０】
警報部５は、ドライバに対して音声または光により警報を報知するものであり、例えば、車内に設置されたスピーカ、インスツルメントパネル内に設置されたＬＥＤなどのランプ、液晶ディスプレイなどのディスプレイ装置の少なくとも何れかを有する。そして警報部５は、制御部４からの警報信号を受けて、その警報信号に対応する警報をドライバに報知する。なお、車載オーディオ装置のスピーカあるいはナビゲーションシステム３１のディスプレイなどが警報部５の機能を果たしてもよい。
【００２１】
図２に、制御部４の機能ブロック図を示す。制御部４は、図示していないＣＰＵ，ＲＯＭ，ＲＡＭ等からなる１個もしくは複数個の図示してないマイクロコンピュータ及びその周辺回路と、電気的に書き換え可能な不揮発性メモリ等からなる記憶部４１と、コントロールエリアネットワーク（ＣＡＮ）のような車載通信規格に従って動作する通信回路を有する通信部４２を有する。
記憶部４１は、制御部４で実行されるプログラム、そのプログラムが使用する各種設定パラメータなどを記憶する。また記憶部４１は、操作情報取得部２及び状態情報取得部３の各センサから受信した各センサ信号、ドライバの行動を推論するために使用される確率モデルの構造を表すデータ及び確率モデルの学習に用いられる学習データセットを記憶する。なお、確率モデル及び学習データセットについては後述する。
通信部４２は、操作情報取得部２及び状態情報取得部３の各センサと車内ＬＡＮ６を介して通信し、各センサからのセンサ信号を受信する。また通信部４２は、エンジン制御ＥＣＵ７、ブレーキ制御ＥＣＵ８などの車両制御機器、あるいは警報部５と車内ＬＡＮ６を介して通信し、それらの機器に対して制御信号あるいは警報信号を送信する。
【００２２】
さらに、制御部４は、このマイクロコンピュータ上で実行されるコンピュータプログラムによって実現される機能モジュールとして、ドライバ認証部４３、微分処理部４４、フィルタ部４５、行動推論部４６、運転行動判定部４７及び学習部４８を有する。
以下、制御部４の各部を詳細に説明する。
【００２３】
ドライバ認証部４３は、後述する行動推論部４６においてドライバの行動を推論するために使用される確率モデルをドライバに応じて選択する。そのために、ドライバ認証部４３はドライバが事前に登録された登録ユーザの何れかに一致するか否かを判定する。そしてドライバ認証部４３は、ドライバと一致すると判定された登録ユーザに関する確率モデル及びその登録ユーザの識別情報を記憶部４１から読み出す。またドライバ認証部４３は、ドライバが何れの登録ユーザにも一致しないと判定したときは、ゲストユーザ用の確率モデル及びそのゲストユーザの識別情報を記憶部４１から読み出す。なお、ドライバ認証部４３がドライバが何れの登録ユーザにも一致しないと判定したときは、制御部４は運転支援装置１を終了させてもよい。
ドライバを識別するために、ドライバ認証部４３は、例えば、車内カメラ３５によりドライバの顔画像を取得し、その顔画像と、記憶部４１に予め記憶された登録ユーザの顔画像とを、パターンマッチングなどにより比較照合する。そしてドライバ認証部４３は、ドライバは最も一致した登録ユーザの顔画像に対応する登録ユーザであると判定する。また、ドライバ認証部４３は、画像認証以外の方法を用いてドライバを認証することも可能であり、例えば、スマートキーシステムを用いてドライバを照合し、認証してもよい。
このようなドライバを認証する方法は公知であるため、その詳細な説明は省略する。
【００２４】
微分処理部４４は、状態情報取得部３の車速センサ３３により得られた車速及び車間距離センサ３４により得られた車間距離を、それぞれ微分処理あるいは差分処理して、加速度及び単位時間あたりの車間距離の変化量を算出する。具体的には、例えば微分処理部４４は、時間的に連続して取得された複数の車速信号間の差分を求め、その差分値を車速センサ３３の信号取得時間間隔で除することにより、加速度を算出する。同様に、微分処理部４４は、時間的に連続して取得された複数の車間距離間の差分を求め、その差分値を車間距離センサ３４の信号取得時間間隔で除することにより、車間距離の変化量を算出する。
【００２５】
微分処理部４４は、算出した加速度及び車間距離の変化量を記憶部４１に記憶する。なお、行動推論部４６において加速度あるいは車間距離の変化量の何れか一方しか使用しない場合、微分処理部４４は、加速度あるいは車間距離の変化量のうち、行動推論部４６において使用される方の値のみを算出してもよい。また行動推論部４６が加速度及び車間距離の変化量を使用しない場合、あるいは、他のセンサにより加速度及び車間距離の変化量を取得できる場合には、微分処理部４４は省略されてもよい。
【００２６】
フィルタ部４５は、操作情報取得部２により取得された操作情報及び状態情報取得部３により取得された状態情報のうち、自動車の走行状況に関する特定の状況に対応する情報のみを抽出する。そしてフィルタ部４５は、抽出された操作情報及び状態情報を、該当する特定の状況を表す識別情報とともに、行動推論部４６へ渡す。さらにフィルタ部４５は、抽出された操作情報及び状態情報を、行動推論部４６により使用される確率モデルの学習に使用する学習データとして記憶部４１に記憶する。その際、フィルタ部４５は、学習データがどの特定の状況に対応するものか識別できるように、該当する特定の状況を表す識別情報を学習データに関連付ける。さらにフィルタ部４５は、ドライバであるとしてドライバ認証部４３により取得された登録ユーザの識別情報をその学習データに関連付ける。
さらに、特定の状況に関する確率モデルに入力される状態情報及び操作情報の種類は、その特定の状況に関する抽出条件を満たすか否かの判定に使用された状態情報及び操作情報と一致していなくてもよい。すなわち、確率モデルに入力される状態情報及び操作情報の種類は、抽出条件において使用された状態情報及び操作情報の一部であってもよく、あるいは抽出条件において使用された状態情報及び操作情報とは異なる状態情報または操作情報を含んでいてもよい。
【００２７】
特定の状況に対応する操作情報及び状態情報を抽出するために、その特定の状況における車両の挙動に該当する抽出条件が予め設定される。例えば、特定の状況が、車両が直進中であって先行車が存在し、かつその先行車との車間距離が狭くなりつつある状況であって、実行確率を求めようとする操作が、アクセル操作及びブレーキ操作であるとする。この場合における抽出条件は、以下の通りである。
（１）ハンドルの操舵角が直進に対応する角度未満であること
（２）車両が加速中でないこと、すなわち、加速度が０以下であること
（３）先行車との車間距離が、先行車が存在することに対応する所定距離（例えば、８０ｍ）未満であること
（４）車間距離が狭くなっていること、すなわち、車間距離の変化量が負の値を持つこと
なお、フィルタ部４５は、上記の抽出条件の（１）の代わりに、車両が車線の境界を示す白線と交差していないこと、及びウインカーが操作されていないことを用いてもよい。ここで、フィルタ部４５は、車外カメラにより撮影された画像を解析して白線を検知することにより車両が車線の境界を示す白線と交差しているか否かを判定することができる。そのような白線検知の方法は公知であるため、ここではその詳細な説明は省略する。
取得された操作情報及び状態情報が上記の（１）〜（４）の全ての抽出条件を満たしたとき、フィルタ部４５は抽出条件が満たされたときに取得された全ての操作情報及び状態情報のうち、その特定の状況に関してドライバの行動を推論するために使用される操作情報及び状態情報を、予め定められた規則に従って選択する。そしてフィルタ部４５は、選択された操作情報及び状態情報を、車両が直進中であって先行車が存在し、かつその先行車との車間距離が狭くなりつつある状況を表す識別情報（例えば、CID1と表す）とともに行動推論部４６へ渡す。例えば、本実施形態では、上記の（１）〜（４）の全ての抽出条件が満たされたとき、フィルタ部４５は、車速、車間距離及び車間距離の変化量を、識別情報CID1とともに行動推論部４６へ渡す。またフィルタ部４５は、選択された操作情報及び状態情報を学習データとして、識別情報CID1とともに記憶部４１に記憶する。
【００２８】
また、別の抽出条件の例を以下に示す。この別の例では、特定の状況は車両が交差点で左折または右折する状況であって、実行確率を求めようとする操作が、ハンドル操作であるとする。この場合における抽出条件は、以下の通りである。
（５）ウインカーが操作されていること
（６）速度が、左折または右折直前に対応する所定範囲内（例えば、２０ｋｍ／ｈ以上かつ４０ｋｍ／ｈ以下）に含まれること
（７）車両の現在位置が、何れかの交差点から所定距離以内（例えば、１００ｍ以内）であること
この場合についても、取得された操作情報及び状態情報が上記の（５）〜（７）の全ての抽出条件を満たしたとき、フィルタ部４５は抽出条件が満たされたときに取得された全ての操作情報及び状態情報のうち、その特定の状況に関してドライバの行動を推論するために使用される操作情報及び状態情報（例えば、車速、現在位置情報、道路情報、アクセル開度、操舵角）を、予め定められた規則に従って選択する。そしてフィルタ部４５は、選択された操作情報及び状態情報を、車両が交差点で左折または右折する状況を表す識別情報（例えば、CID2と表す）とともに行動推論部４６へ渡す。またフィルタ部４５は、選択された操作情報及び状態情報を学習データとして、識別情報CID2とともに記憶部４１に記憶する。
【００２９】
さらに別の抽出条件の例を以下に示す。この別の例では、特定の状況は車両が直進する状況であって、実行確率を求めようとする操作が車線の境界を示す境界線である白線に対して車両を接近させる操作であるとする。この操作は、直進時のふらつき度合いを表すものである。この場合における抽出条件は、以下の通りである。
（８）車両が車線の境界を示す白線と交差していないこと
（９）ウインカーが操作されていないこと
（１０）並走車両が、自車両から所定距離以内（例えば、１０ｍ以内）にないこと
この場合についても、取得された操作情報及び状態情報が上記の（８）〜（１０）の全ての抽出条件を満たしたとき、フィルタ部４５は抽出条件が満たされたときに取得された全ての操作情報及び状態情報のうち、その特定の状況に関してドライバの行動を推論するために使用される操作情報及び状態情報（例えば、白線へ近づく速度（以下、白線接近速度という）、白線までの距離、車両の揺れ幅、横加速度）を、予め定められた規則に従って選択する。そしてフィルタ部４５は、選択された操作情報及び状態情報を、車両が直進する状況を表す識別情報（例えば、CID3と表す）とともに行動推論部４６へ渡す。またフィルタ部４５は、選択された操作情報及び状態情報を学習データとして、識別情報CID3とともに記憶部４１に記憶する。なお、フィルタ部４５は、上記の（８）〜（１０）の条件が、一定期間（例えば、３０秒間）の間に取得される全ての状態情報に対して満たされるとき、その抽出条件が満たされたと判定してもよい。
【００３０】
行動推論部４６は、フィルタ部４５から受信した操作情報及び状態情報に基づいて、特定の状況においてドライバが所定の運転操作を行う実行確率を確率モデルに基づいて算出する。本実施形態では、確率モデルとしてベイジアンネットワークを用いた。ベイジアンネットワークは、複数の事象の確率的な因果関係をモデル化するものであり、各ノード間の伝播を条件付き確率で求める、非循環有向グラフで表されるネットワークである。なお、ベイジアンネットワークの詳細については、本村陽一、岩崎弘利著、「ベイジアンネットワーク技術」、初版、電機大出版局、２００６年７月、繁桝算男他著、「ベイジアンネットワーク概説」、初版、培風館、２００６年７月、又は尾上守夫監修、「パターン識別」、初版、新技術コミュニケーションズ、２００１年７月などに開示されている。
【００３１】
図３に、本実施形態において使用される確率モデルの例を示す。図３に示す確率モデル３００は、上記の車両が直進中であって先行車が存在し、かつその先行車との車間距離が狭くなりつつある状況において使用され、ドライバがアクセル操作またはブレーキ操作を行う実行確率を出力する。そのために、確率モデル３００は、３個の入力ノード３０１、３０２、３０３と、１個の出力ノード３０４を有し、各入力ノードがそれぞれ出力ノード３０４に接続されている。また、各入力ノード３０１〜３０３には、それぞれ入力される状態情報として車速V（x1）、車間距離D（x2）、車間距離の変化量δD（x3）が与えられる。そして、出力ノード３０４は、アクセルをオフにしてブレーキを踏む実行確率P(x4=True|x1,x2,x3)及びブレーキを踏まずにアクセルを開いたままにする実行確率P(x4=False|x1,x2,x3)を出力する。なお、P(x4=False|x1,x2,x3)は、(1- P(x4=True|x1,x2,x3))と等しい。
【００３２】
図４に示す条件付確率表（以下、ＣＰＴという）４０１〜４０３は、それぞれ、図３に示した確率モデル３００の入力ノード３０１〜３０３に対応し、入力される状態情報に対して入力ノード３０１〜３０３が出力する事前確率を規定する。またＣＰＴ４０４は、確率モデル３００の出力ノード３０４に対応し、出力ノード３０４が出力する実行確率を、各入力ノードの状態情報の値の組ごとに割り当てられた条件付き確率分布として規定する。
【００３３】
ここで、車速Vが５０ｋｍ／ｈ（x1=2）、車間距離Dが４０ｍ（x2=1）、車間距離の変化量δDが−５ｍ／ｓｅｃ（x3=2）である場合、アクセルをオフにしてブレーキを踏む実行確率P(x4=True|x1,x2,x3)及びブレーキを踏まずにアクセルを開いたままにする実行確率P(x4=False|x1,x2,x3)は、ＣＰＴ４０４より、それぞれ、0.85、0.15となる。一方、車速Vが３０ｋｍ／ｈ（x1=1）、車間距離Dが４０ｍ（x2=1）、車間距離の変化量δDが−２ｍ／ｓｅｃ（x3=1）である場合、アクセルをオフにしてブレーキを踏む実行確率P(x4=True|x1,x2,x3)及びブレーキを踏まずにアクセルを開いたままにする実行確率P(x4=False|x1,x2,x3)は、ＣＰＴ４０４より、それぞれ、0.3、0.7となる。なお、車間距離などの情報が何らかの理由で取得できない場合には、行動推論部４６は、ＣＰＴ４０１〜ＣＰＴ４０３を参照して、その取得不可能な状態情報の事前確率を求め、確率伝播法により、その事前確率を用いてそれぞれの実行確率P(x4=True|x1,x2,x3)、P(x4=False|x1,x2,x3)を算出することができる。
【００３４】
図５に、本実施形態において使用される確率モデルの他の例を示す。図５に示す確率モデル５００は、上記の車両が直進する状況において使用され、車両を白線に接近させる操作の実行確率として、様々な白線接近速度の出現確率を出力する。そのために、確率モデル５００は、４個の入力ノード５０１〜５０４と、１個の出力ノード５０５を有し、各入力ノードがそれぞれ出力ノード５０５に接続されている。また、各入力ノード５０１〜５０４には、それぞれ入力される状態情報として加速度a（x1）、車間距離の変化量δD（x2）、車速V（x3）、車間距離D（x4）が与えられる。そして、出力ノード５０５は、白線接近速度の出現確率P(x5|x1,x2,x3,x4)を出力する。
【００３５】
図６に示す条件付確率表（以下、ＣＰＴという）６０１〜６０４は、それぞれ、図５に示した確率モデル５００の入力ノード５０１〜５０４に対応し、入力される状態情報に対して入力ノード５０１〜５０４が出力する事前確率を規定する。またＣＰＴ６０５は、確率モデル５００の出力ノード５０５に対応し、出力ノード５０５が出力する出現確率を、各入力ノードの状態情報の値の組ごとに割り当てられた条件付き確率分布として規定する。
【００３６】
ここで、例えば、加速度aが減速中であることを表す所定値以下であり（x1=1）、車間距離の変化量δDが０であり（x2=2）、車速Vが７０ｋｍ／ｈであり（x3=2）、車間距離Dが６０ｍである（x4=2）場合、白線接近速度が０〜５０ｍ／分（x5=1）、５０〜１００ｍ／分（x5=2）、１００〜２００ｍ／分（x5=3）、２００ｍ以上／分（x5=4）のそれぞれに対する出現確率P(x5|x1=1,x2=2,x3=2,x4=2)は、ＣＰＴ６０５より、それぞれ、0.3、0.5、0.2、0.0となる。一方、加速度aが定速走行中であることを表す所定の範囲内であり（x1=2）、車間距離の変化量δDが−５ｍ／secであり（x2=1）、車速Vが７０ｋｍ／ｈであり（x3=2）、車間距離Dが３０ｍである（x4=1）場合、白線接近速度が０〜５０ｍ／分（x5=1）、５０〜１００ｍ／分（x5=2）、１００〜２００ｍ／分（x5=3）、２００ｍ以上／分（x5=4）のそれぞれに対する出現確率P(x5|x1=2,x2=1,x3=2,x4=1)は、ＣＰＴ６０５より、それぞれ、0.4、0.5、0.1、0.0となる。なお、車間距離などの情報が何らかの理由で取得できない場合には、行動推論部４６は、ＣＰＴ６０１〜ＣＰＴ６０４を参照して、その取得不可能な状態情報の事前確率を求め、確率伝播法により、その事前確率を用いて出現確率P(x5|x1,x2,x3,x4)を算出することができる。
【００３７】
なお、上記の例では、行動推論部４６は、簡単化のために２層のネットワーク構成を有する確率モデルを使用した。しかし行動推論部４６は、中間層を含む３層以上のネットワーク構成を有する確率モデルを使用してもよい。また、入力ノードの数、入力ノードに与えられる状態情報及び操作情報の種類、及び状態情報及び操作情報の値の区分も、上記の例に限られない。
【００３８】
行動推論部４６は、得られた実行確率をその推論した運転操作の種類を示す識別情報とともに運転行動判定部４７へ渡す。
【００３９】
運転行動判定部４７は、特定の状況におけるドライバの実際の運転操作が、通常時における運転操作と異なっているか否か判定する。そして運転行動判定部４７は、ドライバの運転操作が通常時における運転操作と異なっていると判定した場合には、ドライバに対して警報を発したり、危険を避けるための運転操作をドライバに代わって自動的に実行する。
そのために、運転行動判定部４７は、行動推論部４６により求められた、特定の状況における所定の運転操作の実行確率と、実際に行われている運転操作を参照する。なお運転行動判定部４７が実際に行われている運転操作を運転操作情報に基づいて特定できることは明らかである。また、実行確率が高いほど、その特定の状況下では、ドライバが通常時においてその所定の運転操作を行うと考えられる。そこで、運転行動判定部４７は、その所定の運転操作と異なる運転操作をドライバが実行していたとき、その所定の運転操作についての実行確率が高いときほど、運転操作に介入する度合いを高くする。
【００４０】
例えば、上記の車両が直進中であって先行車が存在し、かつその先行車との車間距離が狭くなりつつある状況において、所定の運転操作がブレーキ操作を行うことであったとする。このとき、ブレーキ操作を行う実行確率が１００％であるにもかかわらず、ドライバがブレーキ操作を行わず、アクセルを開いたままにしていると、運転行動判定部４７は、ドライバの運転操作が通常時の運転操作と異なっていると判定する。そして運転行動判定部４７は、強制的に通常時の運転操作を実行するよう、通信部４２を介してブレーキ制御ＥＣＵ８に対して所定のブレーキ強度でブレーキ操作を行わせる制御信号を送信するとともに、エンジン制御ＥＣＵ７に対して、アクセルをオフにさせる制御信号を送信する。あるいは通常行動判定部４７は、より安全性が確保されるような運転操作を、車両制御機器に強制的に実行させてもよい。
一方、ブレーキ操作を行う実行確率が９０％であり、ドライバがブレーキ操作を行わず、アクセルを開いたままにしているときも、運転行動判定部４７は、ドライバの運転操作が通常時の運転操作と異なっていると判定する。しかしこの場合では、運転行動判定部４７は、ブレーキ制御ＥＣＵ８及びエンジン制御ＥＣＵ７に対する制御は行わず、警報部５を介して、ドライバにブレーキ操作を行うことを薦める警報を発する。
【００４１】
さらに実行確率が低い場合には、ドライバの運転操作が通常時の運転操作と異なっていても、運転行動判定部４７は、警報部５を介してドライバに休憩を薦めるメッセージを伝えるのみとする。あるいは運転行動判定部４７は、ブレーキ制御ＥＣＵ８及びエンジン制御ＥＣＵ７に対する制御は行わず、ドライバに対する警報も発しない。
なお、行動推論部４６が、所定の運転操作の操作値ごとに実行確率を算出する場合（例えば、ブレーキペダルの踏込み量ごとに実行確率を算出する場合、ハンドルの操舵角ごとに実行確率を算出する場合）、運転行動判定部４７は、ドライバの運転操作の種類が所定の運転操作と同じであっても、その実際の運転の操作値と、最も実行確率が高くなる操作値とが異なる場合、その操作値の差が大きいほど、運転操作に介入する度合いを高くしてもよい。
【００４２】
学習部４８は、記憶部４１に蓄積された学習データセットを用いて、行動推論部４６の確率モデルを学習する。本実施形態では、確率モデルとしてベイジアンネットワークを用いているので、学習部４８は、特定の状況下における所定の運転操作の実行確率を求めるベイジアンネットワークの各ノードに対応するＣＰＴを更新する。そのために、学習部４８は、学習データセットに含まれる学習データのうち、ドライバであると識別された登録ユーザの識別情報及びその特定の状況に対応する識別情報が関連付けられた学習データを抽出する。そして学習部４８は、抽出された学習データから、学習対象となるベイジアンネットワークの入力パラメータとなる状態情報あるいは操作情報の値の区分ごとに、所定の運転操作の各操作値（例えば、アクセルの操作に関してオンとオフ）ごとの出現頻度を表したクロス集計表（以下、ＣＴＴという）を作成する。そして学習部４８は、各状態情報あるいは操作情報の値の区分に含まれる、その所定の運転操作の各操作値ごとの出現頻度を、その所定の運転操作の全ての操作値の出現頻度の合計（例えば、アクセル操作回数の合計）で除する。これにより、学習部４８は、入力パラメータとなる状態情報あるいは操作情報の値の区分ごとに、その所定の運転操作の各操作値に対する確率を求めて、ＣＰＴを更新する。
【００４３】
例として、図３に示した、上記の車両が直進中であって先行車が存在し、かつその先行車との車間距離が狭くなりつつある状況において使用され、ドライバがアクセル操作またはブレーキ操作を行う実行確率を出力する確率モデル３００を学習する場合について説明する。この場合、フィルタ部４５により上記の（１）〜（４）の条件が満たされたと判定された時に、状態情報取得部３により取得された車速V、車間距離D、車間距離の変化量δDと、その時のアクセル操作及びブレーキ操作の操作量との組み合わせが一つの学習データとして記憶部４１に記憶されている。学習部４８は、そのような学習データを抽出して、図４の各ＣＰＴに示されている車速V、車間距離D、車間距離の変化量δの各区分ごとに、該当する出現頻度を求めてクロス集計表を作成する。例えば、抽出された学習データが１０００個有り、そのうち、車速Vが０〜４０km/h(x1=1)の範囲に含まれ、車間距離Dが０〜５０ｍ(x2=1)の範囲に含まれ、車間距離の変化量δDが０〜−３km/h(x3=1)の範囲に含まれる学習データが５０個有るとする。そしてこの５０個の学習データのうち、アクセルが操作されているものが１５個、ブレーキが操作されているものが３５個含まれていれば、学習部４８は、ＣＰＴ４０４に対応するクロス集計表のうち、(x1,x2,x3,x4)=(1,1,1,True)、(x1,x2,x3,x4)=(1,1,1,False)に対応する欄の値をそれぞれ１５、３５とする。そして学習部４８は、(x1,x2,x3)=(1,1,1)に対応する学習データ数の合計（５０個）で、(x1,x2,x3,x4)=(1,1,1,True)、(x1,x2,x3,x4)=(1,1,1,False)のそれぞれに対応する学習データの個数を割ることにより、P(x4=True|x1=1,x2=1,x3=1)=0.3、P(x4=False|x1=1,x2=1,x3=1)=0.7との値を得る。
【００４４】
また、図５に示した、上記の車両が直進中である状況において使用され、ドライバが車両を白線に接近させる操作の実行確率として、車両が白線に近づく速度の出現確率を出力する確率モデル５００を学習する場合も同様である。この場合、フィルタ部４５により上記の（８）〜（１０）の条件が満たされたと判定された時に、状態情報取得部３により取得された加速度a、車速V、車間距離D、車間距離の変化量δDと、その時の白線接近速度との組み合わせが一つの学習データとして記憶部４１に記憶されている。学習部４８は、そのような学習データを抽出して、図６の各ＣＰＴに示されている加速度a、車速V、車間距離D、車間距離の変化量δの各区分ごとに、該当する出現頻度を求めてクロス集計表を作成し、そのクロス集計表に基づいて、上記のようにＣＰＴを更新する。
さらに、車両が交差点で左折または右折する状況において使用され、ドライバがハンドル操作をする実行確率を出力する確率モデルを学習する場合、学習部４８は、フィルタ部４５により上記の（５）〜（７）の条件が満たされたと判定された時に取得されたその確率モデルの入力パラメータとして使用される状態情報と、その時のハンドルの操舵角との組み合わせに関する学習データを抽出して、その確率モデルの学習に使用する。
【００４５】
なお、学習部４８は、予めグラフ構造が定められた複数の確率モデルに対して、上記と同様にそれぞれＣＰＴを求めてもよい。そして学習部４８は、それら複数の確率モデルに対して情報量基準を算出し、その情報量基準の値が最適となる確率モデルを選択してもよい。この場合において、学習部４８は、情報量基準として、ＡＩＣ（赤池情報量基準）、ベイズ情報量基準（ＢＩＣ）、竹内情報量基準（ＴＩＣ）、最小記述長（ＭＤＬ）基準などを用いることができる。
【００４６】
さらに、学習部４８は、他の公知の様々な方法を用いて、確率モデルを学習してもよい。例えば、学習部４８は、Ｋ２アルゴリズムや遺伝的アルゴリズムを用いてベイジアンネットワークのグラフ構造の探索を行うようにしてもよい。例えば遺伝的アルゴリズムを用いる場合には、各ノード間の接続の有無を各要素とする遺伝子を複数準備する。そして、学習部４８は、上記の情報量基準を用いて各遺伝子の適応度を計算する。その後、学習部４８は、適応度が所定以上の遺伝子を選択し、交叉、突然変異などの操作を行って次の世代の遺伝子を作成する。学習部４８は、このような操作を複数回繰り返して、最も適合度の高い遺伝子を選択する。そして学習部４８は、選択された遺伝子で記述されるグラフ構造をベイジアンネットワークに使用する。
学習部４８は、学習した確率モデルに関連するデータ（確率モデルのグラフ構造、各ノードに対応するＣＰＴなど）を、ドライバであると識別された登録ユーザの識別情報と関連付けて記憶部４１に記憶する。
【００４７】
以下、図７に示したフローチャートを参照しつつ、本発明の一つの実施形態に係る運転支援装置１の学習処理の動作フローについて説明する。なお、この学習処理は、制御部４により制御される。
【００４８】
エンジンが始動され、運転支援装置１が起動すると、制御部４のドライバ認証部４３はドライバを認証する（ステップＳ１０１）。そしてドライバ認証部４３は、ドライバと一致すると判定された登録ユーザに関する確率モデル及びその登録ユーザの識別情報を記憶部４１から読み出す。
次に、制御部４は、定期的に（例えば、１秒ごとに）、操作情報取得部２から操作情報を取得し、状態情報取得部３から状態情報を取得する（ステップＳ１０２）。その際、制御部４の微分処理部４４は、得られた車速から状態情報の一つとして加速度を算出する。同様に、微分処理部４４は、得られた車間距離から、状態情報の一つとして車間距離の変化量を算出する。
操作情報及び状態情報が取得されると、制御部４のフィルタ部４５は、得られた操作情報及び状態情報が、特定の状況に対応する抽出条件を満たすか否か判定する（ステップＳ１０３）。なお、抽出条件が複数存在する場合には、フィルタ部４５は、各抽出条件ごとに、操作情報及び状態情報がその抽出条件を満たすか否か判定する。そして、何れの抽出条件も満たされない場合、制御部４は、制御をステップＳ１０２に戻す。
【００４９】
一方、ステップＳ１０３において、フィルタ部４５は、何れかの抽出条件が満たされたと判定すると、得られた操作情報及び状態情報のうち、満たされた抽出条件に関連する（すなわち、その抽出条件が表す特定の状況に関連する）操作情報及び状態情報を、学習データとして記憶部４１に蓄積する（ステップＳ１０４）。その際、フィルタ部４５は、学習データに、ステップＳ１０１で得られた登録ユーザの識別情報及び該当する特定の状況を示す識別情報を関連付ける。そしてフィルタ部４５は、その抽出条件に対応する学習データ数ｎを１増加させる。なお、複数の抽出条件が満たされる場合、フィルタ部４５はそれら複数の抽出条件のそれぞれごとに、関連する操作情報及び状態情報を学習データとして記憶部４１に記憶し、学習データ数ｎもそれぞれごとに計数する。
【００５０】
次に、制御部４は、何れかの抽出条件に対応する学習データ数ｎが所定数Aと等しくなったか否か判定する（ステップＳ１０５）。なお、所定数Aは、学習データ数が確率モデルを学習するために十分な数であることを示す数であり、例えば10000に設定される。そして、学習データ数ｎが所定数Aと等しい場合、制御部４の学習部４８は、その抽出条件と関連付けられた学習データを用いて、その抽出条件に対応する特定状況における所定の運転操作の実行確率を求める確率モデルを学習する（ステップＳ１０６）。そして学習部４８は、学習された確率モデルに関する情報を記憶部４１に記憶する（ステップＳ１０７）。また学習部４８は、その抽出条件に関連する学習データを廃棄し、学習データ数ｎを０にリセットする。なお、ステップＳ１０５において、複数の抽出条件に関して、学習データ数ｎが所定数Aと等しくなった場合、学習部４８は、それら複数の抽出条件のそれぞれについて、ステップＳ１０６及びＳ１０７の処理を実行する。
【００５１】
ステップＳ１０５において、どの抽出条件に対応する学習データ数も所定数A未満である場合、あるいは学習データ数ｎが所定数Aと等しくなった全ての抽出条件に対してステップＳ１０６及びステップＳ１０７の処理が終了した後、制御部４は制御をステップＳ１０２に戻す。そして制御部４は、運転支援装置１が終了するまで、ステップＳ１０２において新たな操作情報及び状態情報が取得される度に、ステップＳ１０３〜Ｓ１０７の処理を繰り返す。
【００５２】
以下、図８に示したフローチャートを参照しつつ、本発明の一つの実施形態に係る運転支援装置１の運転支援処理の動作フローについて説明する。図８に示す動作フローでは、運転支援装置１は、図３に示した確率モデル３００を使用する場合のように、車両の操作情報から直接的にドライバの操作を評価する場合において、特定の状況に対してドライバが通常行うと考えられる所定の操作と実際に行われている操作が異なるか判定し、それらの操作が異なる場合には、その所定の操作の実行確率に応じて警告などを行う。なお、この運転支援処理は、制御部４により実行され、上記の学習処理と独立して動作する。
【００５３】
図８に示すように、エンジンが始動され、運転支援装置１が起動すると、制御部４のドライバ認証部４３はドライバを認証する（ステップＳ２０１）。次に、制御部４は、定期的に（例えば、１秒ごとに）、操作情報取得部２から操作情報と、状態情報取得部３から状態情報を取得する（ステップＳ２０２）。その後、制御部４のフィルタ部４５は、得られた操作情報及び状態情報が、特定の状況に対応する抽出条件を満たすか否か判定する（ステップＳ２０３）。何れの抽出条件も満たされない場合、制御部４は、制御をステップＳ２０２に戻す。なお、ステップＳ２０１〜Ｓ２０３の処理は、上記の学習処理のステップＳ１０１〜Ｓ１０３と同様であるため、説明を省略する。また制御部４は、ステップＳ２０１〜Ｓ２０３の処理を行わず、学習処理のステップＳ１０１〜Ｓ１０３の処理結果を利用してもよい。
【００５４】
一方、ステップＳ２０３において、フィルタ部４５は、何れかの抽出条件が満たされたと判定すると、得られた操作情報及び状態情報のうち、満たされた抽出条件に関連する（すなわち、その抽出条件が表す特定の状況に関連する）操作情報及び状態情報を制御部４の行動推論部４６へ渡す。そして、行動推論部４６は、その特定状況に関連する確率モデルに受け取った操作情報及び状態情報を入力して、ドライバがその特定状況において通常行うと考えられる所定の運転操作の実行確率Pを算出する（ステップＳ２０４）。例えば、特定の状況が車両が直進中であって先行車が存在し、かつその先行車との車間距離が狭くなりつつある状況である上記の例では、行動推論部４６は、図３に示した確率モデル３００を用いて、アクセル操作の実行確率及びブレーキ操作の実行確率を求め、実行確率の値が高い方の操作を所定の運転操作とする。
【００５５】
次に、制御部４の運転行動判定部４７は、操作情報取得部２から取得した操作情報に基づいて、ドライバが現在行っている運転操作が、所定の運転操作と一致するか否か判定する（ステップＳ２０５）。一致する場合、制御部４は、制御をステップＳ２０２に戻す。
一方、ステップＳ２０５において、運転行動判定部４７は、ドライバが現在行っている運転操作が、その所定の運転操作と一致しないと判定した場合、実行確率Pが第１の閾値Th1（例えば、９９％）以上であるか否か判定する（ステップＳ２０６）。そして実行確率Pが第１の閾値Th1以上である場合、運転行動判定部４７は、その所定の運転操作を実行するための制御信号をエンジン制御ＥＣＵ７、ブレーキ制御ＥＣＵ８などの車両制御機器へ送信して、強制的にその運転操作を実行する（ステップＳ２０７）。その後、制御部４は制御をステップＳ２０２に戻す。
【００５６】
一方、ステップＳ２０６において、実行確率Pが第１の閾値Th1未満である場合、運転行動判定部４７は実行確率Pが第２の閾値Th2以上であるか否か判定する（ステップＳ２０８）。なお第２の閾値Th2は、第１の閾値Th1よりも低い値であり、例えば、９０％に設定される。そして実行確率Pが第２の閾値Th2以上である場合、運転行動判定部４７は、警報部５を介してドライバに通常の運転操作と異なる操作が行われていることを知らせる、あるいは所定の運転操作を推薦する警報を発する（ステップＳ２０９）。その後、制御部４は制御をステップＳ２０２に戻す。
一方、ステップＳ２０８において、実行確率Pが第２の閾値Th2未満である場合、運転行動判定部４７は実行確率Pが第３の閾値Th3以上であるか否か判定する（ステップＳ２１０）。なお第３の閾値Th3は、第２の閾値Th2よりも低い値であり、例えば、８０％に設定される。そして実行確率Pが第３の閾値Th3以上である場合、運転行動判定部４７は、ドライバが現在行っている運転操作が所定の運転操作と一致せず、かつ、その実行確率Pが第２の閾値Th2未満かつ第３の閾値Th3以上となった回数（以下、要警戒操作回数nAという）を１増加させる（ステップＳ２１１）。そして運転行動判定部４７は、運転支援装置１が起動されてからの要警戒操作回数nAが所定数B（例えば３）に達するか否か判定し（ステップＳ２１２）、要警戒操作回数nAが所定数Bに達したとき、警報部５を介してドライバに警報を報知する（ステップＳ２０９）。ステップＳ２１２において要警戒操作回数nAが所定数Bに達していないとき、あるいはステップＳ２０９の後、制御部４は制御をステップＳ２０２に戻す。
【００５７】
一方ステップＳ２１０において、実行確率Pが第３の閾値Th3未満である場合、運転行動判定部４７は実行確率Pが第４の閾値Th4以上であるか否か判定する（ステップＳ２１３）。なお第４の閾値Th4は、第３の閾値Th3よりも低い値であり、例えば、７０％に設定される。そして実行確率Pが第４の閾値Th4以上である場合、運転行動判定部４７は、ドライバが現在行っている運転操作が所定の運転操作と一致せず、かつ、実行確率Pが第３の閾値Th3未満かつ第４の閾値Th4以上となった回数（以下、要注意操作回数nCという）を１増加させる（ステップＳ２１４）。そして運転行動判定部４７は、運転支援装置１が起動されてからの要注意操作回数nCが所定数Cに達するか否か判定し（ステップＳ２１５）、要注意操作回数nCが所定数Cに達したとき、警報部５を介してドライバに休憩を薦めるメッセージを通知する（ステップＳ２１６）。ステップＳ２１３において実行確率Pが第４の閾値Th4未満である場合、ステップＳ２１５において要注意操作回数nCが所定数Cに達していないとき、あるいはステップＳ２１６の後、制御部４は制御をステップＳ２０２に戻す。
そして制御部４は、運転支援装置１が終了するまで、ステップＳ２０２において新たな操作情報及び状態情報が取得される度に、ステップＳ２０３〜Ｓ２１６の処理を繰り返す。
【００５８】
また、図９に示したフローチャートを参照しつつ、本発明の一つの実施形態に係る運転支援装置１の運転支援処理の動作フローの他の例について説明する。図９に示すフローチャートでは、運転支援装置１は、図５に示した確率モデル５００を使用する場合のように、車両の挙動から間接的にドライバの操作を評価する場合において、実際に行われている操作について、特定の状況においてドライバが通常行うと考えられる程度を表す実行確率を求め、その実行確率に応じて警告などを行う。なお、この運転支援処理は、制御部４により実行され、上記の学習処理と独立して動作する。
【００５９】
図９に示すように、エンジンが始動され、運転支援装置１が起動すると、制御部４のドライバ認証部４３はドライバを認証する（ステップＳ３０１）。次に、制御部４は、定期的に（例えば、１秒ごとに）、操作情報取得部２から操作情報と、状態情報取得部３から状態情報を取得する（ステップＳ３０２）。その後、制御部４のフィルタ部４５は、得られた操作情報及び状態情報が、特定の状況に対応する抽出条件を満たすか否か判定する（ステップＳ３０３）。何れの抽出条件も満たされない場合、制御部４は、制御をステップＳ３０２に戻す。なお、ステップＳ３０１〜Ｓ３０３の処理は、上記の学習処理のステップＳ１０１〜Ｓ１０３と同様であるため、説明を省略する。また制御部４は、学習処理のステップＳ１０１〜Ｓ１０３の処理結果を利用してもよい。
【００６０】
一方、ステップＳ３０３において、フィルタ部４５は、何れかの抽出条件が満たされたと判定すると、得られた操作情報及び状態情報のうち、満たされた抽出条件に関連する（すなわち、その抽出条件が表す特定の状況に関連する）操作情報及び状態情報を制御部４の行動推論部４６へ渡す。例えば、フィルタ部４５に関して説明したように、特定の状況は車両が直進する状況であって、抽出条件は、車両が車線の境界を示す白線と交差していないことなど、上記の（８）〜（１０）に示す条件である。
【００６１】
次に、制御部４の行動推論部４６は、その特定状況に関連する確率モデルに受け取った操作情報及び状態情報を入力して、所定の操作に関連する実行確率Pを算出する（ステップＳ３０４）。例えば、特定の状況が車両が直進する状況である上記の例では、行動推論部４６は、図５に示した確率モデル５００を用いて、白線接近速度が０〜５０ｍ／分となる出現確率P(x5=1|x1,x2,x3,x4)、白線接近速度が５０〜１００ｍ／分となる出現確率P(x5=2|x1,x2,x3,x4)、白線接近速度が１００〜２００ｍ／分となる出現確率P(x5=3|x1,x2,x3,x4)及び白線接近速度が２００ｍ以上／分となる出現確率P(x5=4|x1,x2,x3,x4)をそれぞれ車両を白線に接近させる操作の実行確率として算出する。
【００６２】
その後、制御部４の運転行動判定部４７は、状態情報取得部３から取得した状態情報に基づいて、所定の操作に関連する現在の車両の挙動を検知する（ステップＳ３０５）。例えば、特定の状況は車両が直進する状況である上記の例では、所定の操作は車両を白線に接近させる操作であり、その操作に関連する車両の挙動は、白線接近速度により表される。そこでこの場合、運転行動判定部４７は、状態情報取得部３から取得した状態情報に基づいて現在の白線接近速度を求める。なお、白線接近速度は、以下のように求められる。例えば、運転行動判定部４７は、現時点の直前の一定期間に、状態情報取得部３に含まれる車外カメラにより逐次取得された道路の複数の画像を解析して、各画像における白線の位置を認識する。そして、運転行動判定部４７は、その複数の画像中の二つの画像間における、その白線の位置の変化量を、その二つの画像の取得時間の間隔で割って得た値を白線接近速度とすることができる。運転行動判定部４７は、現時点の直前の一定期間において、このようにして得られた白線接近速度の最大値または平均値を、現在の白線接近速度とすることができる。
【００６３】
次に、運転行動判定部４７は、ステップＳ３０５において求めた現在の車両の挙動に対応する、ステップＳ３０４にて行動推論部４６が算出した実行確率Pが０％か否か判定する（ステップＳ３０６）。そして実行確率Pが０％である場合、すなわち、車両に対する現在行われている操作が、通常時において行われる操作と異なっていると考えられる場合、警報部５を介してドライバに通常の運転操作と異なる操作が行われていることを示す警報を発する（ステップＳ３０７）。なお、運転行動判定部４７は、安全と考えられる運転操作（例えば、減速するためのブレーキ操作）を実行するための制御信号をエンジン制御ＥＣＵ７、ブレーキ制御ＥＣＵ８などの車両制御機器へ送信して、強制的にその安全な運転操作を実行するようにしてもよい。その後、制御部４は制御をステップＳ３０２に戻す。
【００６４】
一方、ステップＳ３０６において、実行確率Pが０％よりも大きい場合、運転行動判定部４７は実行確率Pが第１の閾値Th1以下であるか否か判定する（ステップＳ３０８）。なお第１の閾値Th1は、例えば、１０％に設定される。そして実行確率Pが第１の閾値Th1以下である場合、運転行動判定部４７は、警報部５を介してドライバに通常の運転操作と異なる操作が行われている可能性が高いことを知らせる警報を発する（ステップＳ３０９）。その後、制御部４は制御をステップＳ３０２に戻す。
【００６５】
一方、ステップＳ３０８において、実行確率Pが第１の閾値Th1よりも高い場合、運転行動判定部４７は実行確率Pが第２の閾値Th2以下であるか否か判定する（ステップＳ３１０）。なお第２の閾値Th2は、第１の閾値Th1よりも高い値であり、例えば、２０％に設定される。そして実行確率Pが第２の閾値Th2以下である場合、運転行動判定部４７は、現在の車両の操作に対する実行確率Pが第１の閾値Th1より高くかつ第２の閾値Th2以下となった回数（以下、要警戒操作回数nAという）を１増加させる（ステップＳ３１１）。そして運転行動判定部４７は、運転支援装置１が起動されてからの要警戒操作回数nAが所定数B（例えば３）に達するか否か判定し（ステップＳ３１２）、要警戒操作回数nAが所定数Bに達したとき、警報部５を介してドライバに警報を報知する（ステップＳ３０９）。ステップＳ３１２において要警戒操作回数nAが所定数Bに達していないとき、あるいはステップＳ３０９の後、制御部４は制御をステップＳ３０２に戻す。
【００６６】
一方ステップＳ３１０において、実行確率Pが第２の閾値Th2よりも高い場合、運転行動判定部４７は実行確率Pが第３の閾値Th3以上であるか否か判定する（ステップＳ３１３）。なお第３の閾値Th3は、第２の閾値Th2よりも高い値であり、例えば、３０％に設定される。そして実行確率Pが第３の閾値Th3以下である場合、運転行動判定部４７は、現在の車両に対する操作の実行確率Pが第２の閾値Th2より高くかつ第３の閾値Th3以下となった回数（以下、要注意操作回数nCという）を１増加させる（ステップＳ３１４）。そして運転行動判定部４７は、運転支援装置１が起動されてからの要注意操作回数nCが所定数Cに達するか否か判定し（ステップＳ３１５）、要注意操作回数nCが所定数Cに達したとき、警報部５を介してドライバに休憩を薦めるメッセージを通知する（ステップＳ３１６）。ステップＳ３１３において実行確率Pが第３の閾値Th3よりも高い場合、ステップＳ３１５において要注意操作回数nCが所定数Cに達していないとき、あるいはステップＳ３１６の後、制御部４は制御をステップＳ３０２に戻す。
そして制御部４は、運転支援装置１が終了するまで、ステップＳ３０２において新たな操作情報及び状態情報が取得される度に、ステップＳ３０３〜Ｓ３１６の処理を繰り返す。
【００６７】
なお、制御部４は、満たされた抽出条件の種類に応じて、図８に示した処理と図９に示した処理を切り替えて実行するようにしてもよい。例えば、制御部４は、図８の動作フローにしたがって、ステップＳ２０１〜Ｓ２０３の動作を行い、そのうちのステップＳ２０３において何れかの抽出条件が満たされると、満たされた抽出条件の識別情報を参照する。そしてその識別情報が、例えば、車両が直進中であって先行車が存在し、かつその先行車との車間距離が狭くなりつつある状況に対応する場合（CID1）には、制御部４は図８に示した動作フローに従ってステップＳ２０４〜Ｓ２１６の処理を実行する。一方、満たされた抽出条件に対応する識別情報が、例えば、車両が直進中である状況に対応する場合（CID3）には、制御部４は図９に示した動作フローに従ってステップＳ３０４〜Ｓ３１６の処理を実行する。
【００６８】
以上説明してきたように、本発明の一つの実施形態に係る運転支援装置は、新たに操作情報及び状態情報が取得される度に、それらの情報が、特定の状況に対応するものであるか否かを判定する。そして係る運転支援装置は、それらの情報が特定の状況に対応するものである場合にのみ、それらの情報を用いてドライバの運転行動を推論する。また係る運転支援装置は、特定の状況に対応する操作情報及び状態情報のみを用いて、ドライバの運転行動を推論するために使用する確率モデルを学習する。そのため、係る運転支援装置は、その特定の状況に関連のない情報をドライバの運転行動を推論するために使用しないので、その特定の状況においてドライバが通常時において行う運転操作を適切に推論することができる。これにより、係る運転支援装置は、ドライバが通常時において行う運転操作と異なる運転操作を行ったことを正確に検知できるので、ドライバに何等かの異常が発生したときでも、危険な状況が生じることを事前に回避することができる。さらに、係る運転支援装置は、ドライバごとに別個に確率モデルを有し、かつドライバごとに確率モデルを学習するので、特定の状況におけるドライバの運転行動を正確に推論することができる。
【００６９】
なお、本発明は上記の実施形態に限定されるものではない。例えば、フィルタ部４５において、操作情報及び状態情報が抽出条件を満たすと判定された場合、さらにフィルタ部４５は、一つまたは複数の状態情報あるいは操作情報の値に応じて、操作情報及び状態情報を分類し、その分類に使用した状態情報あるいは操作情報の値と関連付けた上で学習データとして記憶するようにしてもよい。このように、状態情報あるいは操作情報の値に応じて学習データを細かく分類することにより、それら情報の値に応じて異なる確率モデルを使用することができるので、ドライバの行動推論に用いる一つの確率モデルあたりの入力ノード数を減らすことができる。そのため、確率モデルの学習の際の計算負荷を低減することができる。
例えば、フィルタ部４５は、ナビゲーションシステム３１により、車両が走行中の道路情報を取得し、その道路情報に基づいて、車両が一般道を走行している場合と高速道路を走行している場合とで操作情報及び状態情報を区別して記憶してもよい。またフィルタ部４５は、レインセンサあるいはワイパの動作状況に基づいて、雨が降っている場合と降っていない場合とで操作情報及び状態情報を区別して記憶してもよい。
【００７０】
上記のように、当業者は、本発明の範囲内で様々な修正を行うことが可能である。
【図面の簡単な説明】
【００７１】
【図１】本発明の一つの実施形態に係る運転支援装置の概略構成図である。
【図２】本発明の一つの実施形態に係る運転支援装置の制御部の機能ブロック図である。
【図３】本実施形態において使用される確率モデルの一例を示す図である。
【図４】図３に示した確率モデルの各ノードの条件付確率表を示す図である。
【図５】本実施形態において使用される確率モデルの他の一例を示す図である。
【図６】図５に示した確率モデルの各ノードの条件付確率表を示す図である。
【図７】本発明の実施形態に係る運転支援装置の学習処理のフローチャートである。
【図８】本発明の実施形態に係る運転支援装置の運転支援処理のフローチャートである。
【図９】本発明の実施形態に係る運転支援装置の運転支援処理の他の例のフローチャートである。
【符号の説明】
【００７２】
１    運転支援装置
２    操作情報取得部
３    状態情報取得部
４    制御部
４１    記憶部
４２    通信部
４３    ドライバ認証部
４４    微分処理部
４５    フィルタ部
４６    行動推論部
４７    運転行動判定部
４８    学習部
５    警報部
【図１】
2010092424.tif 000003
【図２】
2010092424.tif 000004
【図３】
2010092424.tif 000005
【図４】
2010092424.tif 000006
【図５】
2010092424.tif 000007
【図６】
2010092424.tif 000008
【図７】
2010092424.tif 000009
【図８】
2010092424.tif 000010
【図９】
2010092424.tif 000011