(57)【特許請求の範囲】
【請求項１】
ドライバの状態を推定する状態推定装置であって、
前記ドライバに関する特徴量を入力値とし、前記ドライバの活性度合いを指標として定められた複数のクラスが分類される第１グループと第２グループのうち、前記ドライバの状態が属する前記グループを識別する第１の識別手段と、
前記ドライバに関する特徴量を入力値とし、前記ドライバの活性度合いを指標として定められた複数のクラスが分類される第３グループと第４グループのうち、前記ドライバの状態が属する前記グループを識別する第２の識別手段と、
前記第１の識別手段の識別結果、及び前記第２の識別手段の識別結果に基づいて、前記ドライバの状態が属するクラスを推定する推定手段と、
前記第１の識別手段の識別結果の絶対値をＡ、前記第２の識別手段の識別結果の絶対値をＢ、定数をｋとして、次式に示される演算を行って検証値ＣＬを算出し、前記推定手段の推定結果を検証する検証手段と、
前記検証値ＣＬに応じた推定結果を出力する出力手段と、
を備える状態推定装置。
【数１】
0005627511.tif 000011
【請求項２】
前記第１の識別手段の出力結果は、前記第１の識別手段の出力値の平均値であり、前記第２の識別手段の出力結果は、前記第２の識別手段の出力値の平均値である請求項１に記載の状態推定装置。
【請求項３】
前記第１の識別手段の出力結果、及び前記第２の識別手段の出力結果は、４５秒間に出力された出力値の平均値である請求項２に記載の状態推定装置。
【請求項４】
前記出力手段は、第１の推定結果が意味する前記クラスと、前記第１の推定結果の前に出力された第２の推定結果が意味するクラスとが、連続していない場合には、前記第２の推定結果を出力する請求項１乃至３のいずれか一項に記載の状態推定装置。
【請求項５】
前記第１の識別手段及び前記第２の識別手段は、ＡｄａＢｏｏｓｔによる学習済みの識別器である請求項１乃至４のいずれか一項に記載の状態推定装置。
【請求項６】
ドライバの状態を推定する状態推定方法であって、
前記ドライバに関する特徴量を入力値とし、前記ドライバの活性度合いを指標として定められた複数のクラスが分類される第１グループと第２グループのうち、前記ドライバの状態が属する前記グループを識別する第１の識別工程と、
前記ドライバに関する特徴量を入力値とし、前記ドライバの活性度合いを指標として定められた複数のクラスが分類される第３グループと第４グループのうち、前記ドライバの状態が属する前記グループを識別する第２の識別工程と、
前記第１の識別工程での識別の結果、及び前記第２の識別工程での識別の結果に基づいて、前記ドライバの状態が属するクラスを推定する工程と、
前記第１の識別工程での識別結果の絶対値をＡ、前記第２の識別工程での識別結果の絶対値をＢ、定数をｋとして、次式に示される演算を行って検証値ＣＬを算出し、前記推定の結果を検証する工程と、
前記検証値ＣＬに応じた推定結果を出力する工程と、
を含む状態推定方法。
【数２】
0005627511.tif 000012
【請求項７】
コンピュータに、
ドライバに関する特徴量を入力値とし、前記ドライバの活性度合いを指標として定められた複数のクラスが分類される第１グループと第２グループのうち、前記ドライバの状態が属する前記グループを識別する第１の識別手順と、
前記ドライバに関する特徴量を入力値とし、前記ドライバの活性度合いを指標として定められた複数のクラスが分類される第３グループと第４グループのうち、前記ドライバの状態が属する前記グループを識別する第２の識別手順と、
前記第１の識別手順での識別の結果、及び前記第２の識別手順での識別の結果に基づいて、前記ドライバの状態が属するクラスを推定する手順と、
前記第１の識別手順での識別結果の絶対値をＡ、前記第２の識別手順での識別結果の絶対値をＢ、定数をｋとして、次式に示される演算を行って検証値ＣＬを算出し、前記推定の結果を検証する手順と、
前記検証値ＣＬに応じた推定結果を出力する手順と、
を実行させるためのプログラム。
【数３】
0005627511.tif 000013
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、状態推定装置、状態推定方法及びプログラムに関し、更に詳しくは、ドライバの状態を推定する状態推定装置、ドライバの状態を推定するための状態推定方法及びプログラムに関する。
【背景技術】
【０００２】
近年、交通事故の死者数は減少傾向にあるものの、事故の発生件数自体は依然として高い水準で推移している。事故の原因は様々であるが、ドライバが漫然な状態（漫然状態）で車両の運転を行うことも、事故を誘発する原因の１つである。漫然状態は、運転中の会話や、携帯電話の使用など、ドライバが運転以外の行動を行うことにより、運転に対する注意力が散漫になる状態と、疲労や眠気などによってドライバの注意力が低下する状態とに概ね二分することができる。
【０００３】
疲労や眠気は、ドライバ自身での予防が困難である。このため、安全上の観点から、ドライバの居眠りや覚醒度の低下を正確に検出するためのシステムが種々提案されている（例えば特許文献１及び２参照）。
【０００４】
特許文献１に記載された推定装置は、ドライバの生体情報や、当該ドライバが運転する車両に関する情報を入力とする識別器からの出力に基づいて、ドライバの状態が、注意力が低下した漫然状態にあるか否かを推定する。具体的には、当該推定装置は、出力結果の信頼度に基づく重み付けを行ったうえで、識別器からの出力結果の多数派によって示される結果を、ドライバの状態として推定する。
【０００５】
また、特許文献２に記載された装置は、例えば瞬きに要する時間や眼の開閉度など、眼に関する複数の特徴量に基づいて、ドライバが感じている眠気の度合いを推定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−３０１３６７号公報
【特許文献２】特開２００９−９００２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載された装置では、ドライバの状態の推定が、識別器からの出力に基づいて行われる。このため、ドライバが漫然状態にあるか否かを判断するに留まり、ドライバの状態を多段階に推定することが困難である。
【０００８】
特許文献２に記載された推定装置は、ドライバの状態を多段階に推定することができる。しかしながら、ドライバの状態は概ね連続的に移行し、覚醒度が高い状態から、短時間に極端に覚醒度が低下した状態に移行したり、覚醒度が極端に低下した状態から、短時間に覚醒した状態に移行することは稀である。そのため、ドライバの状態を正確に推定するためには、状態の推移の連続性を考慮する必要がある。
【０００９】
本発明は、上述の事情の下になされたもので、ドライバの状態の推移が連続的に推移することを考慮して、当該ドライバの状態を正確に推定することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の第１の観点に係る状態推定装置は、
ドライバの状態を推定する状態推定装置であって、
前記ドライバに関する特徴量を入力値とし、前記ドライバの活性度合いを指標として定められた複数のクラスが分類される第１グループと第２グループのうち、前記ドライバの状態が属する前記グループを識別する第１の識別手段と、
前記ドライバに関する特徴量を入力値とし、前記ドライバの活性度合いを指標として定められた複数のクラスが分類される第３グループと第４グループのうち、前記ドライバの状態が属する前記グループを識別する第２の識別手段と、
前記第１の識別手段の識別結果、及び前記第２の識別手段の識別結果に基づいて、前記ドライバの状態が属するクラスを推定する推定手段と、
前記第１の識別手段の識別結果の絶対値をＡ、前記第２の識別手段の識別結果の絶対値をＢ、定数をｋとして、次式に示される演算を行って検証値ＣＬを算出し、前記推定手段の推定結果を検証する検証手段と、
前記検証値ＣＬに応じた推定結果を出力する出力手段と、
を備える。
【数１】
0005627511.tif 000002
【００１１】
上記目的を達成するため、本発明の第２の観点に係る状態推定方法は、
ドライバの状態を推定する状態推定方法であって、
前記ドライバに関する特徴量を入力値とし、前記ドライバの活性度合いを指標として定められた複数のクラスが分類される第１グループと第２グループのうち、前記ドライバの状態が属する前記グループを識別する第１の識別工程と、
前記ドライバに関する特徴量を入力値とし、前記ドライバの活性度合いを指標として定められた複数のクラスが分類される第３グループと第４グループのうち、前記ドライバの状態が属する前記グループを識別する第２の識別工程と、
前記第１の識別工程での識別の結果、及び前記第２の識別工程での識別の結果に基づいて、前記ドライバの状態が属するクラスを推定する工程と、
前記第１の識別工程での識別結果の絶対値をＡ、前記第２の識別工程での識別結果の絶対値をＢ、定数をｋとして、次式に示される演算を行って検証値ＣＬを算出し、前記推定の結果を検証する工程と、
前記検証値ＣＬに応じた推定結果を出力する工程と、
を含む。
【数２】
0005627511.tif 000003
【００１２】
上記目的を達成するため、本発明の第３の観点に係るプログラムは、
コンピュータに、
ドライバに関する特徴量を入力値とし、前記ドライバの活性度合いを指標として定められた複数のクラスが分類される第１グループと第２グループのうち、前記ドライバの状態が属する前記グループを識別する第１の識別手順と、
前記ドライバに関する特徴量を入力値とし、前記ドライバの活性度合いを指標として定められた複数のクラスが分類される第３グループと第４グループのうち、前記ドライバの状態が属する前記グループを識別する第２の識別手順と、
前記第１の識別手順での識別の結果、及び前記第２の識別手順での識別の結果に基づいて、前記ドライバの状態が属するクラスを推定する手順と、
前記第１の識別手順での識別結果の絶対値をＡ、前記第２の識別手順での識別結果の絶対値をＢ、定数をｋとして、次式に示される演算を行って検証値ＣＬを算出し、前記推定の結果を検証する手順と、
前記検証値ＣＬに応じた推定結果を出力する手順と、
を実行させる。
【数３】
0005627511.tif 000004
【発明の効果】
【００１３】
本発明によれば、識別結果に基づいて推定された推定結果が検証される。したがって、検証を行う際に、例えばドライバの状態の推移の連続性を検証することで、当該ドライバの状態を正確に推定することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態に係る状態推定システムのブロック図である。
【図２】撮影装置の配置を示す図である。
【図３】各グループに属するクラスを説明するための図である。
【図４】第２の実施形態に係る状態推定システムのブロック図である。
【図５】推定装置の動作を説明するためのフローチャートである。
【図６】推定装置の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００１５】
《第１の実施形態》
以下、本発明の第１の実施形態を、図面を参照しつつ説明する。図１は本実施形態に係る状態推定システム１０の概略的な構成を示すブロック図である。状態推定システム１０は、例えば自動車を運転するドライバの生体情報に基づいてドライバの状態を推定する。この状態の推定は、眠気や疲労によりドライバが交通事故を誘発する状態にあるか否かを推定するものである。
【００１６】
本実施形態では、ドライバの状態を、新エネルギー・産業技術総合開発機構（ＮＥＤＯ）の定義にしたがって、全く眠くなさそうな状態をクラス１、やや眠そうな状態をクラス２、眠そうな状態をクラス３、かなり眠そうな状態をクラス４、非常に眠そうな状態をクラス５と規定し、ドライバ６０の状態がどのクラスに属するかを推定する。
【００１７】
図１に示されるように、状態推定システム１０は、撮影装置２０及び推定装置３０を有している。
【００１８】
撮影装置２０は、シート６１に着座するドライバ６０の顔を撮影する。そして、撮影により得た画像を、電気信号に変換して推定装置３０へ出力する。撮影装置２０は、図２に示されるように、例えばハンドルコラムに設置されている。そして、視野中心にドライバ６０の顔が位置するように、視野角及び姿勢が調整されている。
【００１９】
推定装置３０は、図１に示されるように、特徴量出力部３１、識別部３２ａ，３２ｂ、推定値算出部３３、状態推定部３４、検証部３５及び推定結果出力部３６を有している。
【００２０】
特徴量出力部３１は、例えば１０秒ごとに、撮影装置２０から出力される画像情報から、ドライバ６０の生体情報を特徴量として抽出する。そして、抽出した特徴量を、識別部３２ａ，３２ｂへ出力する。具体的には、特徴量出力部３１は、画像情報に基づいて、ドライバ６０の瞼の開度ａ１、単位時間あたりの瞬き回数ａ２、瞬きの開始から終了までの所要時間ａ３、視線の方向ａ４、顔の向きａ５等の生体情報を抽出する。そして、抽出した生体情報ａ１〜ａ５を、特徴量ｘＮ（ａ１，ａ２，ａ３，ａ４，ａ５）として順次出力する。これにより、特徴量ｘ１（ａ１，ａ２，ａ３，ａ４，ａ５），ｘ２（ａ１，ａ２，ａ３，ａ４，ａ５），・・・，ｘＮ（ａ１，ａ２，ａ３，ａ４，ａ５）が、ほぼ１０秒ごとに算出され、識別部３２ａ，３２ｂそれぞれに出力される。以下、説明の便宜上、特徴量ｘＮ（ａ１，ａ２，ａ３，ａ４，ａ５）を、ｘＮと表示する。なお、Ｎは１以上の整数を示す。
【００２１】
図３のテーブルに示されるように、本実施形態では、クラス１、クラス２及びクラス３から構成される第１グループと、クラス４及びクラス５から構成される第２グループと、クラス１、クラス２、クラス３及びクラス４から構成される第３グループと、クラス５から構成さえる４グループとを定義する。ドライバ６０の状態の推定は、以下に説明する識別部３２ａ，３２ｂが、ドライバ６０の状態が属するグループを識別することにより得られた結果に基づいて行われる。
【００２２】
識別部３２ａは、ドライバ６０の状態が、クラス１、クラス２及びクラス３からなる第１グループに属するか、或いはクラス４及びクラス５からなる第２グループに属するかを識別する。この識別部３２ａは、特徴量ｘＮが入力された場合に、識別結果αＮ（ｘ）を、推定値算出部３３へ出力する。識別部３２ａとしては、例えばＡｄａＢｏｏｓｔによる学習済みの弱識別器を用いることができる。
【００２３】
識別結果αＮ（ｘ）は、αＮ（ｘ）の符合が、ドライバの状態が属するグループを示している。例えば、αＮ（ｘ）の符合が−である場合には、ドライバの状態が第１グループに属することを意味し、αＮ（ｘ）の符合が＋である場合には、ドライバの状態が第２グループに属することを意味する。
【００２４】
また、識別結果αＮ（ｘ）は、αＮ（ｘ）の絶対値｜αＮ（ｘ）｜の大きさが、識別結果の信頼度を示している。例えば、αＮ（ｘ）の符合が−である場合には、絶対値｜αＮ（ｘ）｜が大きいほど、ドライバの状態が第１グループに属するとの判断の信頼度が高いことを意味する。そして、αＮ（ｘ）の符合が＋である場合には、絶対値｜αＮ（ｘ）｜が大きいほど、ドライバの状態が第２グループに属するとの判断の信頼度が高いことを意味する。
【００２５】
識別部３２ｂは、ドライバの状態が、クラス１、クラス２、クラス３及びクラス４からなる第３グループに属するか、或いはクラス５からななる第４グループに属するかを識別する。この識別部３２ｂは、特徴量ｘが入力された場合に、識別結果βＮ（ｘ）を、推定値算出部３３へ出力する。同様に、識別部３２ｂとしては、例えばＡｄａＢｏｏｓｔによる学習済みの弱識別器を用いることができる。
【００２６】
識別結果βＮ（ｘ）は、βＮ（ｘ）の符合が、ドライバの状態が属するグループを示している。例えば、βＮ（ｘ）の符合が−である場合には、ドライバの状態が第３グループに属することを意味し、βＮ（ｘ）符合が＋である場合には、ドライバの状態が第４グループに属することを意味する。
【００２７】
また、識別結果βＮ（ｘ）は、βＮ（ｘ）の絶対値｜βＮ（ｘ）｜の大きさが、識別結果の信頼度を示している。例えば、βＮ（ｘ）の符合が−である場合には、絶対値｜βＮ（ｘ）｜が大きいほど、ドライバの状態が第３グループに属するとの判断の信頼度が高いことを意味する。そして、βＮ（ｘ）の符合が＋である場合には、絶対値｜βＮ（ｘ）｜が大きいほど、ドライバの状態が第４グループに属するとの判断の信頼度が高いことを意味する。
【００２８】
推定値算出部３３は、識別部３２ａから出力される識別結果αＮ（ｘ）を順次取得する。そして、最新の識別結果αＮ（ｘ）を含む４つの識別結果αＮ（ｘ），αＮ−１（ｘ），αＮ−２（ｘ），αＮ−３（ｘ）を用いて次式（１）で示される演算を実行する。これにより、識別部３２ａから出力される４つの識別結果αＮ（ｘ），αＮ−１（ｘ），αＮ−２（ｘ），αＮ−３（ｘ）の平均値ＡＶＧαＮが算出される。なお、ｎは４である。
【００２９】
【数４】
0005627511.tif 000005
【００３０】
同様に、推定値算出部３３は、識別部３２ｂから出力される識別結果βＮ（ｘ）を順次取得する。そして、最新の識別結果βＮ（ｘ）を含む４つの識別結果βＮ（ｘ），βＮ−１（ｘ），βＮ−２（ｘ），βＮ−３（ｘ）を用いて次式（２）で示される演算を実行する。これにより、識別部３２ｂから出力される４つの識別結果βＮ（ｘ），βＮ−１（ｘ），βＮ−２（ｘ），βＮ−３（ｘ）の平均値ＡＶＧβＮが算出される。
【００３１】
【数５】
0005627511.tif 000006
【００３２】
次に、推定値算出部３３は、以下の式（３）及び式（４）に示される演算を行うことで、推定値Ｄ３４Ｎ，Ｄ４５Ｎを算出する。
【００３３】
【数６】
0005627511.tif 000007
【００３４】
【数７】
0005627511.tif 000008
【００３５】
上記式（３）及び式（４）に含まれるｓｉｇｎ（Ｘ）関数は、Ｘの符合が＋である場合は１を出力し、ＡＶＧαＮの符合が−である場合には−１を出力する。また、Ｘが零の場合は零を出力する。上記式（１）で示される推定結果Ｄ３４Ｎ，Ｄ４５Ｎの値は、１，−１，０のうちのいずれかになるが、本実施形態では、上記（１）式のｓｉｇｎ関数の変数が零になるのは稀である。したがって、推定結果Ｄ３４Ｎ，Ｄ４５Ｎの値は、１か−１のいずれかになると考えて差し支えない。
【００３６】
状態推定部３４は、推定値Ｄ３４Ｎ，Ｄ４５Ｎ、及び平均値ＡＶＧαＮ，ＡＶＧβＮに基づいて、ドライバ６０の状態を推定する。
【００３７】
上述したように、識別結果αＮ（ｘ）は、その符合が−である場合には、ドライバ６０の状態が第１グループに属することを意味し、符合が＋である場合には、ドライバ６０の状態が第２グループに属することを意味する。したがって、識別結果αＮ（ｘ）の平均値ＡＶＧαＮの符合によって決定される推定値Ｄ３４Ｎは、符合が−である場合には、ドライバ６０の状態が、第１グループに属することを示し、符合が＋である場合には、ドライバ６０の状態が、第２グループに属することを示す。
【００３８】
同様に、識別結果βＮ（ｘ）は、その符合が−である場合には、ドライバ６０の状態が第３グループに属することを意味し、符合が＋である場合には、ドライバ６０の状態が第４グループに属することを意味する。したがって、識別結果βＮ（ｘ）の平均値ＡＶＧβＮの符合によって決定される推定値Ｄ４５Ｎは、符合が−である場合には、ドライバ６０の状態が、第３グループに属することを示し、符合が＋である場合には、ドライバ６０の状態が、第４グループに属することを示す。
【００３９】
したがって、推定値Ｄ３４Ｎが−１であり、推定値Ｄ４５Ｎが−１であるときには、ドライバ６０の状態が、第１グループ及び第３グループに属すると判断することができる。図３を参照するとわかるように、第１グループは、クラス１〜３から構成され、第３グループは、クラス１〜４から構成されている。そこで、状態推定部３４は、推定値Ｄ３４Ｎが−１であり、推定値Ｄ４５Ｎが−１である場合には、第１グループ及び第３グループに共通するクラス１〜３に、ドライバ６０の状態が属していると推定する。
【００４０】
また、推定値Ｄ３４Ｎが−１であり、推定値Ｄ４５Ｎが１であるときには、ドライバ６０の状態が、第１グループ及び第４グループに属すると判断することができる。しかしながら、図３を参照するとわかるように、第１グループと第４グループには共通する部分がない。この場合には、状態推定部３４は、平均値ＡＶＧαＮの絶対値｜ＡＶＧαＮ｜と、平均値ＡＶＧβＮの絶対値｜ＡＶＧβＮ｜を比較する。そして、絶対値が大きい方の平均値ＡＶＧαＮ，ＡＶＧβＮの符合によって規定される推定値Ｄ３４Ｎ，Ｄ４５Ｎに基づいて、ドライバ６０の状態が属するグループを推定する。
【００４１】
例えば、平均値ＡＶＧαＮの絶対値｜ＡＶＧαＮ｜の方が、平均値ＡＶＧβＮの絶対値｜ＡＶＧβＮ｜よりも大きい場合は、状態推定部３４は、第１グループを構成するクラス１〜３に、ドライバ６０の状態が属していると推定する。一方、絶対値｜ＡＶＧβＮ｜の方が、絶対値｜ＡＶＧαＮ｜よりも大きい場合は、状態推定部３４は、第４グループを構成するクラス５に、ドライバ６０の状態が属していると推定する。
【００４２】
また、推定値Ｄ３４Ｎが１であり、推定値Ｄ４５Ｎが−１であるときには、ドライバ６０の状態が、第２グループ及び第３グループに属すると判断することができる。図３を参照するとわかるように、第２グループは、クラス４，５から構成され、第３グループは、クラス１〜４から構成されている。そこで、状態推定部３４は、推定値Ｄ３４Ｎが１であり、推定値Ｄ４５Ｎが−１である場合には、第２グループ及び第３グループに共通するクラス４に、ドライバ６０の状態が属していると推定する。
【００４３】
また、推定値Ｄ３４Ｎが１であり、推定値Ｄ４５Ｎが１であるときには、ドライバ６０の状態が、第２グループ及び第４グループに属すると判断することができる。図３を参照するとわかるように、第２グループは、クラス４，５から構成され、第４グループは、クラス５から構成されている。そこで、状態推定部３４は、推定値Ｄ３４Ｎが１であり、推定値Ｄ４５Ｎが１である場合には、第２グループ及び第４グループに共通するクラス５に、ドライバ６０の状態が属していると推定する。
【００４４】
状態推定部３４は、上述の推定を行い、推定結果ＲＳＴＮを、検証部３５へ出力する。
【００４５】
検証部３５は、状態推定部３４の推定結果ＲＳＴＮの検証を行う。具体的には、検証部３５は、まず、次式（５）に示される演算を行うことにより、検証値ＣＬＮを算出し出力する。
【００４６】
【数８】
0005627511.tif 000009
【００４７】
推定結果出力部３６は、検証部３５から出力された検証値ＣＬＮの値が−１である場合には、状態推定部３４によって推定された推定結果ＲＳＴＮの信頼性が低いと判断し、当該推定結果ＲＳＴＮが推定される前に推定された推定結果ＲＳＴＮ−１を外部装置等へ出力する。
【００４８】
一方、推定結果出力部３６は、検証値ＣＬＮの値が１である場合には、状態推定部３４によって推定された推定結果ＲＳＴＮと、当該推定結果ＲＳＴＮが推定される前に推定された推定結果ＲＳＴＮ−１とを比較する。そして、ドライバ６０が属するクラスが連続的に推移したと判断した場合に、推定結果ＲＳＴＮを外部装置等へ出力する。また、推定結果出力部３６は、推定結果ＲＳＴＮと推定結果ＲＳＴＮ−１とを比較した結果、ドライバ６０が属するクラスが連続的に推移したと判断できなかった場合に、以前の推定結果ＲＳＴＮ−１を外部装置等へ出力する。
【００４９】
具体的には、本実施形態では、ドライバ６０の状態が、クラス１〜３に属すると推定されるケース、クラス４，５に属すると推定されるケース、クラス４に属すると推定されるケース、クラス５に属すると推定されるケースが考えられる。そこで、推定結果出力部３６は、例えば推定結果ＲＳＴＮ−１が、ドライバ６０の状態がクラス１〜３に属するとの推定結果であり、次の推定結果ＲＳＴＮが、ドライバ６０の状態がクラス４に属するとの推定結果である場合、或いはドライバ６０の状態がクラス１〜３に属するとの推定結果である場合には、ドライバ６０が属するクラスが連続的に推移したと判断し、推定結果ＲＳＴＮを外部装置等へ出力する。
【００５０】
一方、推定結果出力部３６は、例えば推定結果ＲＳＴＮ−１が、ドライバ６０の状態がクラス１〜３に属するとの推定結果であり、次の推定結果ＲＳＴＮが、ドライバ６０の状態がクラス５に属するとの推定結果である場合には、ドライバ６０の状態が属するクラスが連続的に推移したと判断できないとして、推定結果ＲＳＴＮ−１を外部装置等へ出力する。
【００５１】
これにより、外部装置等は、例えば推定結果に基づいて、ドライバ６０に対して、居眠りを防止するための警報の出力や、休憩を促すアナウンスの出力を行うことが可能となる。
【００５２】
以上説明したように、本実施形態では、複数の識別結果α（ｘ）及び識別結果β（ｘ）の平均値に基づいて、推定値Ｄ３４，Ｄ４５が算出される。そして、推定値Ｄ３４，Ｄ４５に基づいて、ドライバ６０が属するクラスが推定される。このため、識別結果α（ｘ），β（ｘ）が順次算出される際に、万が一誤差が多い識別結果が出力されたとしても、正確にドライバ６０が属するクラスを推定することができる。
【００５３】
本実施形態では、上記式（５）に示される演算が実行されることにより検証値ＣＬが算出される。そして、当該検証値ＣＬに基づいて、推定結果ＲＳＴが補正される。具体的には、検証値ＣＬに基づいて、推定結果ＲＳＴＮの信頼性が低いと判断された場合には、前回推定された推定結果ＲＳＴＮ−１が、推定結果ＲＳＴとして出力される。これにより、信頼性が高い推定結果を出力することが可能となる。
【００５４】
本実施形態では、推定結果ＲＳＴＮと推定結果ＲＳＴＮ−１とが比較され、ドライバ６０が属するクラスが連続的に推移したと判断された場合に、推定結果ＲＳＴＮが出力される。また、推定結果ＲＳＴＮと推定結果ＲＳＴＮ−１とが比較され、ドライバ６０が属するクラスが連続的に推移したと判断されなかった場合に、以前の推定結果ＲＳＴＮ−１が出力される。このため、信頼性が高い推定結果を出力することが可能となる。
【００５５】
具体的には、ドライバの状態が急峻に変化することは稀であり、ドライバの状態が、あるクラスへ移行してから、次のクラスへ移行するまでに、最低４５秒は必要であると考えられている。そのため、本実施形態のように、４０秒間にサンプリングされた４つの識別結果αＮ（ｘ），αＮ−１（ｘ），αＮ−２（ｘ），αＮ−３（ｘ）と、４つの識別結果βＮ（ｘ），βＮ−１（ｘ），βＮ−２（ｘ），βＮ−３（ｘ）に基づいて、ドライバの状態が属するクラスが順次推定される場合には、ドライバの状態が属すると推定されるクラスは連続的に推移するはずである。
【００５６】
例えば、推定結果ＲＳＴＮ−１が、ドライバ６０の状態がクラス１〜３に属するとの推定結果である場合には、次の推定結果ＲＳＴＮは、ドライバ６０の状態がクラス４に属するとの推定結果であるか、或いはドライバ６０の状態がクラス１〜３に属するとの推定結果であると考えられる。一方、推定結果ＲＳＴＮ−１が、ドライバ６０の状態がクラス１〜３に属するとの推定結果である場合には、次の推定結果ＲＳＴＮが、ドライバ６０の状態がクラス５に属するとの推定結果であることは考えにくい。そのため、直近の推定結果に対して連続性をもつ推定結果のみを出力することで、信頼性が高い推定結果を出力することが可能となる。
【００５７】
《第２の実施形態》
次に、本発明の第２の実施形態を、図面を参照しつつ説明する。なお、第１の実施形態と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。
【００５８】
本実施形態に係る状態推定システム１０は、推定装置３０が、一般的なコンピュータ、又はマイクロコンピュータ等によって実現されている点で、第１の実施形態に係る状態推定システム１０と相違している。
【００５９】
図４は、状態推定システム１０の物理的な構成を示すブロック図である。図４に示されるように、状態推定システム１０は、撮影装置２０と、コンピュータからなる推定装置３０とから構成されている。
【００６０】
推定装置３０は、ＣＰＵ（Central Processing Unit）３０ａ、主記憶部３０ｂ、補助記憶部３０ｃ、表示部３０ｄ、入力部３０ｅ、インターフェイス部３０ｆ、及び上記各部を相互に接続するシステムバス３０ｇを有している。
【００６１】
ＣＰＵ３０ａは、補助記憶部３０ｃに記憶されているプログラムに従って、後述する処理を実行する。
【００６２】
主記憶部３０ｂは、ＲＡＭ（Random Access Memory）等を含んで構成され、ＣＰＵ３０ａの作業領域として用いられる。
【００６３】
補助記憶部３０ｃは、ＲＯＭ（Read Only Memory）、磁気ディスク、半導体メモリ等の不揮発性メモリを含んで構成されている。この補助記憶部３０ｃは、ＣＰＵ３０ａが実行するプログラム、及び各種パラメータなどを記憶している。また、撮影装置２０から出力される画像情報、及びＣＰＵ３０ａによる処理結果などを含む情報を順次記憶する。
【００６４】
表示部３０ｄは、例えばＬＣＤ（Liquid Crystal Display）を有している。そして、ＣＰＵ３０ａの処理結果を表示する。
【００６５】
入力部３０ｅは、入力キーやポインティングデバイスを有している。オペレータの指示は、この入力部３０ｅを介して入力され、システムバス３０ｇを経由してＣＰＵ３０ａに出力される。
【００６６】
インターフェイス部３０ｆは、シリアルインターフェイスまたはＬＡＮ（Local Area Network）インターフェイス等を含んで構成されている。撮影装置２０は、インターフェイス部３０ｆを介してシステムバス３０ｇに接続される。
【００６７】
図５のフローチャートは、ＣＰＵ３０ａによって実行されるプログラムの一連の処理アルゴリズムに対応している。以下、図５を参照しつつ、推定装置３０が実行する処理について説明する。なお、この処理は、ＣＰＵ３０ａが、撮影装置２０から画像情報が出力された後に実行される。
【００６８】
ステップＳ１０１では、ＣＰＵ３０ａは、例えば１０秒ごとに、撮影装置２０から出力される画像情報から、ドライバ６０の生体情報を特徴量ｘＮとして抽出する。
【００６９】
次のステップＳ１０２では、ＣＰＵ３０ａは、特徴量ｘＮに基づいて、ドライバ６０の状態が、クラス１、クラス２及びクラス３からなる第１グループに属するか、或いはクラス４及びクラス５からなる第２グループに属するかを識別する。そして、識別結果αＮ（ｘ）算出する。
【００７０】
同様に、ＣＰＵ３０ａは、特徴量ｘＮに基づいて、ドライバの状態が、クラス１、クラス２、クラス３及びクラス４からなる第３グループに属するか、或いはクラス５からななる第４グループに属するかを識別する。そして、識別結果βＮ（ｘ）を算出する。
【００７１】
次のステップＳ１０３では、ＣＰＵ３０ａは、最新の識別結果αＮ（ｘ）を含む４つの識別結果αＮ（ｘ），αＮ−１（ｘ），αＮ−２（ｘ），αＮ−３（ｘ）を用いて上記式（１）で示される演算を実行し、平均値ＡＶＧαＮを算出する。また、最新の識別結果βＮ（ｘ）を含む４つの識別結果βＮ（ｘ），βＮ−１（ｘ），βＮ−２（ｘ），βＮ−３（ｘ）を用いて上記式（２）で示される演算を実行し、平均値ＡＶＧαＮを算出する。
【００７２】
次のステップＳ１０４では、ＣＰＵ３０ａは、上記式（３）及び式（４）に示される演算を行うことで、推定値Ｄ３４Ｎ，Ｄ４５Ｎを算出する。
【００７３】
次のステップＳ１０５では、ＣＰＵ３０ａは、推定結果ＲＳＴを算出するために、図６のフローチャートに示される処理を実行する。
【００７４】
最初のステップＳ２０１では、ＣＰＵ３０ａは、推定値Ｄ３４Ｎが−１か否かを判断する。推定値Ｄ３４Ｎが−１である場合には（ステップＳ２０１：Ｙｅｓ）、ＣＰＵ３０ａは、ステップＳ２０２へ移行する。
【００７５】
ステップＳ２０２では、ＣＰＵ３０ａは、推定値Ｄ４５Ｎが−１か否かを判断する。推定値Ｄ４５Ｎが−１である場合には（ステップＳ２０２：Ｙｅｓ）、ＣＰＵ３０ａは、ステップＳ２０３へ移行し、ドライバ６０の状態が、クラス１〜３のいずれかに属すると推定する。
【００７６】
また、ステップＳ２０２で、推定値Ｄ４５Ｎが１である場合には（ステップＳ２０２：Ｎｏ）、ＣＰＵ３０ａは、ステップＳ２０４へ移行する。
【００７７】
次のステップＳ２０４では、ＣＰＵ３０ａは、平均値ＡＶＧαＮの絶対値｜ＡＶＧαＮ｜と平均値ＡＶＧβＮの絶対値｜ＡＶＧβＮ｜とを比較する。そして、絶対値｜ＡＶＧαＮ｜の方が大きいと判断した場合には（ステップＳ２０４：Ｙｅｓ）、ＣＰＵ３０ａは、ステップＳ２０５へ移行し、ドライバ６０の状態が、クラス１〜３のいずれかに属すると推定する。一方、ＣＰＵ３０ａは、絶対値｜ＡＶＧαＮ｜の方が小さいと判断した場合には（ステップＳ２０４：Ｎｏ）、ステップＳ２０６へ移行し、ドライバ６０の状態が、クラス４，５のいずれかに属すると推定する。
【００７８】
また、ステップＳ２０１で、推定値Ｄ３４Ｎが１である場合には（ステップＳ２０１：Ｎｏ）、ＣＰＵ３０ａは、ステップＳ２０７へ移行する。
【００７９】
ステップＳ２０７では、ＣＰＵ３０ａは、推定値Ｄ４５Ｎが−１か否かを判断する。推定値Ｄ４５Ｎが−１である場合には（ステップＳ２０７：Ｙｅｓ）、ＣＰＵ３０ａは、ステップＳ２０８へ移行し、ドライバ６０の状態が、クラス４に属すると推定する。一方、推定値Ｄ４５Ｎが１である場合には（ステップＳ２０７：Ｎｏ）、ＣＰＵ３０ａは、ステップＳ２０９へ移行し、ドライバ６０の状態が、クラス５に属すると推定する。
【００８０】
ステップＳ２０３，２０５，２０６，２０８，２０９での処理が終了すると、ＣＰＵ３０ａは、ステップＳ１０６へ移行する。
【００８１】
次のステップＳ１０６では、ＣＰＵ３０ａは、推定結果ＲＳＴの検証を行う。具体的には、ＣＰＵ３０ａは、次式（５）に示される演算を行い、検証値ＣＬＮを算出する。
【００８２】
次のステップＳ１０７では、ＣＰＵ３０ａは、検証値ＣＬＮの値が−１である場合には、推定結果ＲＳＴＮの信頼性が低いと判断し、当該推定結果ＲＳＴＮが推定される前に推定された推定結果ＲＳＴＮ−１を外部装置等へ出力する。
【００８３】
一方、ＣＰＵ３０ａは、検証値ＣＬＮの値が１である場合には、推定結果ＲＳＴＮと、当該推定結果ＲＳＴＮが推定される前に推定された推定結果ＲＳＴＮ−１とを比較する。そして、ＣＰＵ３０ａは、ドライバ６０が属するクラスが連続的に推移したと判断した場合に、推定結果ＲＳＴＮを外部装置等へ出力する。また、ＣＰＵ３０ａは、推定結果ＲＳＴＮと推定結果ＲＳＴＮ−１とを比較した結果、ドライバ６０が属するクラスが連続的に推移したと判断できなかった場合に、以前の推定結果ＲＳＴＮ−１を外部装置等へ出力する。
【００８４】
以上説明したように、本実施形態では、複数の識別結果α（ｘ）及び識別結果β（ｘ）の平均値に基づいて、推定値Ｄ３４，Ｄ４５が算出される。そして、推定値Ｄ３４，Ｄ４５に基づいて、ドライバ６０が属するクラスが推定される。このため、識別結果α（ｘ），β（ｘ）が順次算出される際に、万が一誤差が多い識別結果が出力されたとしても、正確にドライバ６０が属するクラスを推定することができる。
【００８５】
本実施形態では、上記式（５）に示される演算が実行されることにより検証値ＣＬが算出される。そして、当該検証値ＣＬに基づいて、推定結果ＲＳＴが補正される。具体的には、検証値ＣＬに基づいて、推定結果ＲＳＴＮの信頼性が低いと判断された場合には、前回推定された推定結果ＲＳＴＮ−１が、推定結果ＲＳＴとして出力される。これにより、信頼性が高い推定結果を出力することが可能となる。
【００８６】
本実施形態では、推定結果ＲＳＴＮと推定結果ＲＳＴＮ−１とが比較され、ドライバ６０が属するクラスが連続的に推移したと判断された場合に、推定結果ＲＳＴＮが外部装置等へ出力される。そして、推定結果ＲＳＴＮと推定結果ＲＳＴＮ−１とが比較され、ドライバ６０が属するクラスが連続的に推移したと判断されなかった場合に、以前の推定結果ＲＳＴＮ−１が外部装置等へ出力される。このため、信頼性が高い推定結果を出力することが可能となる。
【００８７】
以上、本発明の実施形態について説明したが、本発明は上記実施形態によって限定されるものではない。例えば、上記実施形態では、１０秒ごとに特徴量ｘＮが出力される場合について説明した。これに限らず、１０秒未満の間隔で、特徴量ｘＮを出力することとしてもよい。
【００８８】
上記実施形態では、特徴量をドライバ６０の顔の画像から抽出する場合について説明した。これに限らず、特徴量として、ドライバの脈拍、呼吸間隔等の生体情報を用いてもよい。また、特徴量として、車両の進行方向に直交する方向の加速度等を用いてもよい。
【００８９】
上記実施形態では、検証値ＣＬを式（５）に基づいて算出した。この式（５）は一例であり、検証値ＣＬを算出するための一般式は、例えば次式（６）で示される。なお、ｋは定数である。
【００９０】
【数９】
0005627511.tif 000010
【００９１】
上記実施形態では、推定装置３０が２つの識別部３２ａ，３２ｂを有している場合について説明した。これに限らず、推定装置３０は、３つ以上の識別部を備えていてもよい。
【００９２】
上記各実施形態に係る推定装置３０の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
【００９３】
第２の実施形態において推定装置３０の補助記憶部３０ｃに記憶されているプログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto-Optical disk）等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理を実行する装置を構成することとしてもよい。
【００９４】
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するようにしても良い。
【００９５】
また、プログラムは、通信ネットワークを介して転送しながら起動実行することとしてもよい。
【００９６】
また、プログラムは、全部又は一部をサーバ装置上で実行させ、その処理に関する情報を通信ネットワークを介して送受信しながら、上述の画像処理を実行することとしてもよい。
【００９７】
上述の機能を、ＯＳ（Operating System）が分担して実現する場合又はＯＳとアプリケーションとの協働により実現する場合等には、ＯＳ以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等しても良い。
【００９８】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。
【産業上の利用可能性】
【００９９】
本発明の状態推定装置、状態推定方法及びプログラムは、ドライバの状態を推定するのに適している。
【符号の説明】
【０１００】
１０  状態推定システム
２０  撮影装置
３０  推定装置
３０ａ  ＣＰＵ
３０ｂ  主記憶部
３０ｃ  補助記憶部
３０ｄ  表示部
３０ｅ  入力部
３０ｆ  インターフェイス部
３０ｇ  システムバス
３１  特徴量出力部
３２ａ  識別部
３２ｂ  識別部
３３  推定値算出部
３４  状態推定部
３５  検証部
３６  推定結果出力部
６０  ドライバ
６１  シート
α，β  識別結果
Ｄ３４，Ｄ４５Ｎ  推定結果
ＲＳＴ  推定結果
【図１】
0005627511.tif 000014
【図２】
0005627511.tif 000015
【図３】
0005627511.tif 000016
【図４】
0005627511.tif 000017
【図５】
0005627511.tif 000018
【図６】
0005627511.tif 000019