(57)【特許請求の範囲】
【請求項１】
車両を運転するドライバーの覚醒度を判定する覚醒度判定装置であって、
前記ドライバーが所定の状態にあるときに、前記ドライバーを撮影して得られる映像から、前記ドライバーの顔の向きを検出する検出手段と、
前記検出手段によって検出された前記ドライバーの顔の向きが、前記車両の進行方向とほぼ等しいときに、前記ドライバーが瞬きをした回数をカウントする第１カウント手段と、
前記第１カウント手段のカウント結果に基づいて、基準値を設定する基準値設定手段と、
前記基準値が設定された後に、前記ドライバーを撮影して得られる映像に基づいて、所定時間内に前記ドライバーが瞬きをした回数をカウントする第２カウント手段と、
前記第２カウント手段によってカウントされた回数が、前記基準値を上回った場合に、前記ドライバーの覚醒度が低下していると判定する判定手段と、
を備える覚醒度判定装置。
【請求項２】
前記所定の状態は、ある定められた時間内において、前記ドライバーの顔の向きが変化した回数が、所定の閾値を超えている状態である請求項１に記載の覚醒度判定装置。
【請求項３】
前記所定の状態は、ある定められた時間内において、前記ドライバーの視線の向きが変化した回数が、所定の閾値を超えている状態である請求項１に記載の覚醒度判定装置。
【請求項４】
前記所定の状態は、前記ドライバーが運転を開始した時から、所定の時間が経過するまでの間の状態である請求項１に記載の覚醒度判定装置。
【請求項５】
前記第２カウント手段は、前記検出手段によって検出された前記ドライバーの顔の向きが、前記車両の進行方向とほぼ等しいときに、前記ドライバーが瞬きをした回数をカウントする請求項１に記載の覚醒度判定装置。
【請求項６】
車両を運転するドライバーの覚醒度を判定するための覚醒度判定方法であって、
前記ドライバーが所定の状態にあるときに、前記ドライバーを撮影して得られる映像から、検出された前記ドライバーの顔の向きが、前記車両の進行方向とほぼ等しいときに、前記ドライバーが瞬きをした回数をカウントする第１工程と、
前記第１工程でのカウント結果に基づいて、基準値を設定する第２工程と、
前記基準値が設定された後に、前記ドライバーを撮影して得られる映像に基づいて、所定時間内に前記ドライバーが瞬きをした回数をカウントする第３工程と、
前記第３工程でカウントされた回数が、前記基準値を上回った場合に、前記ドライバーの覚醒度が低下していると判定する第４工程と、
を含む覚醒度判定方法。
【請求項７】
コンピュータを、
ドライバーが所定の状態にあるときに、前記ドライバーを撮影して得られる映像から、検出された前記ドライバーの顔の向きが、前記車両の進行方向とほぼ等しいときに、前記ドライバーが瞬きをした回数をカウントする第１カウント手段、
前記第１カウント手段のカウント結果に基づいて、基準値を設定する基準値設定手段、
前記基準値が設定された後に、前記ドライバーを撮影して得られる映像に基づいて、所定時間内に前記ドライバーが瞬きをした回数をカウントする第２カウント手段、
前記第２カウント手段によってカウントされた回数が、前記基準値を上回った場合に、前記ドライバーの覚醒度が低下していると判定する判定手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、覚醒度判定装置、覚醒度判定方法及びプログラムに関し、さらに詳しくは、ドライバーの覚醒度を判定する覚醒度判定装置、ドライバーの覚醒度を判定するための覚醒度判定方法及びプログラムに関する。
【背景技術】
【０００２】
近年、交通事故の死者数は減少傾向にあるものの、事故の発生件数自体は依然として高い水準にある。事故の原因は様々であるが、ドライバーが覚醒度が低下した状態で車両の運転を行うことも、事故を誘発する原因の１つである。【０００３】
そこで、ドライバーの覚醒度が低下した場合に、警告を発することで、交通事故を回避する装置が種々提案されている（例えば特許文献１参照）。特許文献１に開示された装置は、ドライバーの映像から、ドライバーの眼の開度を示す開度値を検出し、これを時系列的に収集する。そして、開度値の統計的代表値及び統計的偏差を求める。なお、統計的代表値は、開度値の大きさを表し、統計的偏差は、瞬きの頻度と等価な開度値のちらばり具合である。【０００４】
次に、当該装置は、統計的代表値及び統計的偏差から、ドライバーの眼が開いているか閉じているかを判定するための判定基準を作成する。そして、判定基準と開度値とを比較して、単位時間に対する眼が閉じている時間の占める割合に基づいて、ドライバーの覚醒度が低下したか否かを判定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１０９９８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
自動車を運転しているドライバーは、常に前方を向いているわけではなく、側方を目視したり、計器などを確認するために下方を向くことがある。このため、カメラからの映像に基づいて検出される開度値は、実際の値よりも小さくなってしまうことがある。この場合、覚醒度の検出精度が低下するおそれがある。【０００７】
また、ドライバーの瞬き回数が減少するのは、覚醒度が低下しはじめて少し経過した時点であり、ドライバーの覚醒度が低下し始める直前、或いは覚醒度が低下し始めたときには、瞬きの数が増加する。したがって、瞬きの回数に基づいて、覚醒度の判定を行うことで、覚醒度が低下しはじめる初期状態の検出を精度よく行うことができる。【０００８】
本発明は、上述の事情の下になされたもので、覚醒度の低下が始まる際に現れるドライバーの初期状態を、精度よく検出することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の第１の観点に係る覚醒度判定装置は、
車両を運転するドライバーの覚醒度を判定する覚醒度判定装置であって、
前記ドライバーが所定の状態にあるときに、前記ドライバーを撮影して得られる映像から、前記ドライバーの顔の向きを検出する検出手段と、
前記検出手段によって検出された前記ドライバーの顔の向きが、前記車両の進行方向とほぼ等しいときに、前記ドライバーが瞬きをした回数をカウントする第１カウント手段と、
前記第１カウント手段のカウント結果に基づいて、基準値を設定する基準値設定手段と、
前記基準値が設定された後に、前記ドライバーを撮影して得られる映像に基づいて、所定時間内に前記ドライバーが瞬きをした回数をカウントする第２カウント手段と、
前記第２カウント手段によってカウントされた回数が、前記基準値を上回った場合に、前記ドライバーの覚醒度が低下していると判定する判定手段と、
を備える。
【００１０】
本発明の第２の観点に係る覚醒度判定方法は、
車両を運転するドライバーの覚醒度を判定するための覚醒度判定方法であって、
前記ドライバーが所定の状態にあるときに、前記ドライバーを撮影して得られる映像から、検出された前記ドライバーの顔の向きが、前記車両の進行方向とほぼ等しいときに、前記ドライバーが瞬きをした回数をカウントする第１工程と、
前記第１工程でのカウント結果に基づいて、基準値を設定する第２工程と、
前記基準値が設定された後に、前記ドライバーを撮影して得られる映像に基づいて、所定時間内に前記ドライバーが瞬きをした回数をカウントする第３工程と、
前記第３工程でカウントされた回数が、前記基準値を上回った場合に、前記ドライバーの覚醒度が低下していると判定する第４工程と、
を含む。
【００１１】
本発明の第３の観点に係るプログラムは、
コンピュータを、
ドライバーが所定の状態にあるときに、前記ドライバーを撮影して得られる映像から、検出された前記ドライバーの顔の向きが、前記車両の進行方向とほぼ等しいときに、前記ドライバーが瞬きをした回数をカウントする第１カウント手段、
前記第１カウント手段のカウント結果に基づいて、基準値を設定する基準値設定手段、
前記基準値が設定された後に、前記ドライバーを撮影して得られる映像に基づいて、所定時間内に前記ドライバーが瞬きをした回数をカウントする第２カウント手段、
前記第２カウント手段によってカウントされた回数が、前記基準値を上回った場合に、前記ドライバーの覚醒度が低下していると判定する判定手段、
として機能させる。
【発明の効果】
【００１２】
本発明によれば、瞬き回数の変化に基づいて、覚醒度の低下が始まる際に現れるドライバーの初期状態を、精度よく検出することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態に係る覚醒度判定システムのブロック図である。
【図２】撮影装置から出力される画像の一例を示す図である。
【図３】本発明の第２の実施形態に係る覚醒度判定システムのブロック図である。
【図４】覚醒度判定装置の動作を説明するためのフローチャートである。
【図５】ドライバーの瞬きと、顔向きとの関係を説明するための図である。
【図６】本発明の第３の実施形態に係る覚醒度判定装置の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００１４】
《第１の実施形態》
以下、本発明の第１の実施形態を、図面を参照しつつ説明する。図１は本実施形態に係る覚醒度判定システム１０の概略的な構成を示すブロック図である。覚醒度判定システム１０は、例えば自動車に搭載され、撮影装置２０から出力されるドライバーの映像に基づいて、当該ドライバーが覚醒状態にあるか否かを判定する。
【００１５】
この覚醒度判定システム１０は、図１に示されるように、撮影装置２０と、撮影装置２０から出力される映像に基づいて、ドライバーが覚醒状態にあるか否かを判定する覚醒度判定装置３０とを有している。
【００１６】
撮影装置２０は、被写体を撮影することにより取得した画像を電気信号に変換して出力する装置である。図２は、撮影装置から出力される画像の一例を示す図である。図２に示される画像ＩＭを参照するとわかるように、この撮影装置２０は、車両の運転席に着座したドライバー１００の顔Ｆが視野の中心に位置するように、例えば車両のフロントガラス、ダッシュボード或いはコラムカバー上に取り付けられている。そして、ドライバー１００を順次撮影し、ドライバー１００の画像に関する画像情報Ｄ（ｍ）を覚醒度判定装置３０へ順次出力する。
【００１７】
なお、ｍは、１以上の整数であり、画像の撮影枚数を表す。例えば、画像情報Ｄ（ｍ）は、ｍ回目の撮影によって得られた画像情報である。また、ｍの値は、ドライバー１００によって、車両のイグニッションスイッチがオンにされたときにリセットされる。つまり、ｍの値は、ドライバー１００による運転が開始されるごとにリセットされる。
【００１８】
図１に戻り、覚醒度判定装置３０は、記憶部３１、顔向検出部３２、視線方向検出部３３、第１カウント部３４、覚醒度判定部３５、基準値設定部３６、第２カウント部３７、及び初期状態判定部３８を有している。
【００１９】
記憶部３１は、撮影装置２０から順次出力される画像情報を、時系列的に記憶する。また、上記各部３２〜３８の処理結果に関する情報を順次記憶する。
【００２０】
顔向検出部３２は、ドライバー１００によって、車両のイグニッションスイッチがオンにされた時刻ｔ１から、時間Ｈ１（例えば１０分）が経過するごとに、時間Ｈ１が経過する間に撮影された画像情報Ｄ（ｍ）を参照して、ドライバー１００の顔の向きの変化を検出する。
【００２１】
例えば、顔向検出部３２は、時刻ｔ１から、時間Ｈ１が経過するまでの期間内に出力された画像情報Ｄ（ｍ）によって特定される画像それぞれに対して、ソーベルフィルタを用いた画像処理を実行し、ドライバーの顔の輪郭と、瞼の輪郭とを検出する。そして、顔の輪郭と、瞼の輪郭との位置関係から、ドライバー１００の顔の向きをベクトルＡｍ（ｎ）として検出する。次に、顔向検出部３２は、画像情報Ｄ（ｍ）に基づいて規定されるベクトルＡｍ（ｎ）と、画像情報Ｄ（ｍ＋１）に基づいて規定されるベクトルＡｍ＋１（ｎ）との角度が所定の角度以上となった時刻を検出する。そして、この時刻に関する時刻情報ＴＡ（ｍ）を、記憶部３１に保存する。以下、顔向検出部３２は、時間Ｈ１経過するごとに、上述の動作を繰り返す。
【００２２】
視線方向検出部３３は、時刻ｔ１から、時間Ｈ１が経過するごとに、時間Ｈ１が経過する間に撮影された画像情報Ｄ（ｍ）を参照して、ドライバー１００の視線の向きの変化を検出する。
【００２３】
例えば、視線方向検出部３３は、時刻ｔ１から、時間Ｈ１が経過するまでの期間内に出力された画像情報Ｄ（ｍ）によって特定される画像それぞれに対して、ソーベルフィルタを用いた画像処理を実行し、ドライバーの瞼の輪郭と、当該瞼の間の虹彩の輪郭とを検出する。そして、瞼の輪郭と、虹彩の輪郭との位置関係から、ドライバー１００の視線の向きをベクトルＢｍ（ｎ）として検出する。次に、顔向検出部３２は、画像情報Ｄ（ｍ）に基づいて規定されるベクトルＢｍ（ｎ）と、画像情報Ｄ（ｍ＋１）に基づいて規定されるベクトルＢｍ（ｎ）との角度が所定の角度以上となった時刻を検出する。そして、この時刻に関する時刻情報ＴＢ（ｍ）を、記憶部３１に保存する。以下、顔向検出部３２は、時間Ｈ１経過するごとに、上述の動作を繰り返す。
【００２４】
第１カウント部３４は、時刻ｔ１から、時間Ｈ１が経過するごとに、時間Ｈ１が経過する間に撮影された画像情報Ｄ（ｍ）を参照して、ドライバー１００が瞬きをした回数Ｃ１（ｉ）をカウントする。なお、ｉは１以上の整数である。
【００２５】
例えば、第１カウント部３４は、画像情報Ｄ（ｍ）によって特定される画像に対して、ソーベルフィルタを用いた画像処理を実行し、ドライバーの瞼の輪郭を検出する。そして、瞼の輪郭の形状から、ドライバー１００の瞬きを検出し、瞬きを検出した回数Ｃ１（ｉ）をカウントする。なお、第１カウント部３４は、回数Ｃ１を検出する際に、時刻情報ＴＡ（ｍ）、及び時刻情報ＴＢ（ｍ）を参照し、時刻情報ＴＡ（ｍ），時刻情報ＴＢ（ｍ）に関連する画像情報Ｄ（ｍ）に基づいて瞬きが検出されたときは、回数Ｃ１をカウントしない。つまり、第１カウント部３４は、ドライバーの顔向きが変化したときに検出された瞬きと、ドライバーの視線の向きが変化したときに検出された瞬きとを除外して、時間Ｈ１が経過する期間内における瞬きの回数Ｃ１をカウントする。
【００２６】
第１カウント部３４は、回数Ｃ１（ｉ）に関する情報を記憶部３１に順次保存する。以下、第１カウント部３４は、時間Ｈ１が経過するごとに、上述の動作を繰り返す。これにより、回数Ｃ１（１），回数Ｃ１（２），…，回数Ｃ１（ｉ）に関する情報が、記憶部３１に順次記憶される。
【００２７】
覚醒度判定部３５は、まず、記憶部３１に保存された瞬きの回数Ｃ１（１）に関する情報に基づいて、ドライバー１００の覚醒度の判定を実行する。具体的には、覚醒度判定部３５は、回数Ｃ１（１）と所定の閾値とを比較し、回数Ｃ１（１）が、所定の閾値よりも小さいか否かを判定する。
【００２８】
そして、覚醒度判定部３５は、回数Ｃ１（１）が閾値よりも小さい場合に、ドライバーが覚醒状態にないと判断する。この場合、覚醒度判定部３５は、回数Ｃ１（２）に関する情報に基づいて、再び、ドライバー１００の覚醒度の判定を実行する。以降、覚醒度判定部３５は、回数Ｃ１（ｉ）に基づく判定が肯定されるか、当該判定を行った回数が所定の回数（例えば５回）に達するまで、覚醒度の判定を繰り返す。
【００２９】
そして、覚醒度判定部３５は、回数Ｃ１（ｉ）が閾値以上となった場合に、ドライバー１００が覚醒状態にあることを、基準値設定部３６へ通知する。一方、回数Ｃ１（ｉ）に関する情報に基づく判定を所定の回数実行した結果、回数Ｃ１（ｉ）が一度も閾値以上とならなかった場合は、覚醒度判定部３５は、ドライバー１００が覚醒状態にないことを、基準値設定部３６へ通知する。
【００３０】
基準値設定部３６は、覚醒度判定部３５からの通知内容に応じて、覚醒度が低下する初期の状態（以下、初期状態と略述する）を検出するための基準値を設定する。例えば、基準値設定部３６は、ドライバー１００が覚醒状態にあるとの通知を受けた場合は、最新の回数Ｃ１（ｉ）を、基準値Ｓとして設定する。一方、基準値設定部３６は、ドライバー１００が覚醒状態にないとの通知を受けた場合は、回数Ｃ１（１），Ｃ１（２），…，Ｃ１（ｉ）の平均値を基準値Ｓとして設定する。そして、基準値設定部３６は、基準値Ｓに関する情報を記憶部３１に保存するとともに、基準値Ｓの設定が完了したことを第２カウント部３７へ通知する。
【００３１】
第２カウント部３７は、基準値が設定されたことが通知されると、基準値が設定された時刻ｔ２から、時間Ｈ２（例えば５分）が経過するごとに、時間Ｈ２が経過する間に撮影された画像情報Ｄ（ｍ）を参照して、ドライバー１００が瞬きをした回数Ｃ２（ｊ）をカウントする。なお、ｊは１以上の整数である。そして、第２カウント部３７は、回数Ｃ２（ｊ）に関する情報を記憶部３１に順次保存する。以下、第２カウント部３７は、時間Ｈ２経過するごとに、上述の動作を繰り返す。これにより、回数Ｃ２（１），回数Ｃ２（２），…，回数Ｃ２（ｊ）に関する情報が、記憶部３１に順次記憶される。
【００３２】
初期状態判定部３８は、基準値Ｓと、回数Ｃ２（ｊ）とを順次比較する。そして、初期状態判定部３８は、回数Ｃ２（ｊ）が、基準値Ｓに補正値αを加えた値よりも大きくなったときに、ドライバー１００の状態が、覚醒度が低下する際の初期状態であると判定し、判定した結果を外部装置等へ出力する。該外部装置は、判定した結果に基づいて動作する。例えば、ドライバー１００へ警報を発したり、自動ブレーキを動作させることが考えられる。
【００３３】
以上説明したように、本実施形態では、撮影されたドライバーの画像に基づいて、車両のイグニッションスイッチがオンにされた時刻ｔ１から所定時間が経過する間に、初期状態を検出するための基準値Ｓが設定される。一般に、ドライバーが運転を開始した直後は、ドライバーは覚醒度が高い状態にあると考えられる。このため、当該基準値Ｓは、ドライバーが覚醒度が高い状態にあることを、ある程度正確に示す指標となる。
【００３４】
本実施形態では、この基準値Ｓと、ドライバーの現在の状態を反映する指標となる瞬き回数とが比較されることで、ドライバーの状態が、覚醒度が低下する際の初期状態であるか否かが判定される。したがって、ドライバーが覚醒度が高い状態にあるか否かを精度よく判定することができる。
【００３５】
本実施形態では、ドライバー１００の顔の向きが変化したときに検出される瞬きと、ドライバー１００の視線の方向が変化したときに検出される瞬きは、第１カウント部３４によってカウントされない。このため、例えばドライバー１００が、瞬きすることなく下を向き、ドライバーの瞼と撮影装置２０との角度が変化したとしても、当該変化を、第１カウント部３４が、ドライバー１００の瞬きと誤認識し、瞬き回数としてカウントすることがなくなる。したがって、瞬き回数に基づいて設定される基準値Ｓの信頼性が高くなり、結果的に、ドライバーが覚醒度が高い状態にあるか否かが精度よく判定される。
【００３６】
本実施形態では、時間Ｈ２あたりのドライバーの瞬き回数が、基準値Ｓを上回ったときに、ドライバーの覚醒度が高いか否かが判定される。したがって、ドライバーの覚醒度が低下する際の初期状態が精度よく検出される。
【００３７】
《第２の実施形態》
次に、本発明の第２の実施形態を、図面を参照しつつ説明する。なお、第１の実施形態と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。
【００３８】
本実施形態に係る覚醒度判定システム１０は、覚醒度判定装置３０が、一般的なコンピュータ、又はマイクロコンピュータなどの装置と同様の構成によって実現されている点で、第１の実施形態に係る覚醒度判定システム１０と相違している。
【００３９】
図３は、覚醒度判定システム１０の物理的な構成を示すブロック図である。図３に示されるように、覚醒度判定システム１０は、撮影装置２０と、コンピュータからなる覚醒度判定装置３０とから構成されている。
【００４０】
覚醒度判定装置３０は、ＣＰＵ（Central Processing Unit）３０ａ、主記憶部３０ｂ、補助記憶部３０ｃ、表示部３０ｄ、入力部３０ｅ、インターフェイス部３０ｆ、及び上記各部を相互に接続するシステムバス３０ｇを含んで構成されている。
【００４１】
ＣＰＵ３０ａは、補助記憶部３０ｃに記憶されているプログラムに従って、撮影装置２０から出力される画像情報Ｄ（ｍ）に対して、後述する処理を実行する。
【００４２】
主記憶部３０ｂは、ＲＡＭ（Random Access Memory）等を含んで構成され、ＣＰＵ３０ａの作業領域として用いられる。
【００４３】
補助記憶部３０ｃは、ＲＯＭ（Read Only Memory）、磁気ディスク、半導体メモリ等の不揮発性メモリを含んで構成されている。この補助記憶部３０ｃは、ＣＰＵ３０ａが実行するプログラム、及び各種パラメータなどを記憶している。また、撮影装置２０から出力される画像に関する情報、及びＣＰＵ３０ａによる処理結果などを含む情報を順次記憶する。
【００４４】
表示部３０ｄは、ＣＲＴ（Cathode Ray Tube）またはＬＣＤ（Liquid Crystal Display）などを含んで構成され、ＣＰＵ３０ａの処理結果を表示する。
【００４５】
入力部３０ｅは、キーボードやマウス等のポインティングデバイスを含んで構成されている。オペレータの指示は、この入力部３０ｅを介して入力され、システムバス３０ｇを経由してＣＰＵ３０ａに通知される。
【００４６】
インターフェイス部３０ｆは、シリアルインターフェイスまたはＬＡＮ（Local Area Network）インターフェイス等を含んで構成されている。撮影装置２０は、インターフェイス部３０ｆを介してシステムバス３０ｇに接続される。
【００４７】
図４のフローチャートは、ＣＰＵ３０ａによって実行されるプログラムの一連の処理アルゴリズムに対応している。以下、図４を参照しつつ、覚醒度判定装置３０が実行する処理について説明する。
【００４８】
ドライバー１００によって、車両のイグニッションスイッチがオンにされると、覚醒度判定システム１０が起動する。図４に示される処理は、撮影装置２０によって撮影された画像に関する情報が、撮影装置２０から出力された後に実行される。
【００４９】
まず、最初のステップＳ１０１では、ＣＰＵ３０ａは、カウンタ値ｎを１にリセットする。
【００５０】
次のステップＳ１０２では、ＣＰＵ３０ａは、ドライバーの顔向と、ドライバーが正面を向いているときの瞬き回数を検出する。
【００５１】
例えば、ＣＰＵ３０ａは、撮影装置２０からの出力が開始された時刻ｔ１から、時間Ｈ１（例えば１０分）が経過するまでの期間内に出力された画像情報Ｄ（ｍ）によって特定される画像それぞれに対して、ソーベルフィルタを用いた画像処理を実行し、ドライバーの顔の輪郭と、瞼の輪郭とを検出する。なお、ｍは１以上の整数である。
【００５２】
次に、ＣＰＵ３０ａは、画像情報Ｄ（ｍ）ごとに、顔の輪郭と瞼の輪郭との位置関係から、ドライバー１００の顔の向きを、ベクトルＡｍ（ｎ）として検出する。そして、ベクトルＡｍ（ｎ）に基づいて、ドライバー１００が、車両の進行方向を向いていると判断したときに、ドライバー１００が瞬きをした回数Ｃ１（ｎ）を検出する。回数Ｃ１（ｎ）は、具体的には、画像情報Ｄ（ｍ）によって特定される画像に写る瞼の輪郭の時系列的な変化から検出する。ＣＰＵ３０ａは、回数Ｃ１（ｎ）の検出を、時間Ｈ１を１単位として行う。
【００５３】
図５は、ドライバー１００の瞬きと、顔向きとの関係を説明するための図である。図５の実線Ｌ１は、ドライバー１００の眼が閉じているときにハイレベルとなり、開いているときにローレベルとなっている。また、実線Ｌ２は、ドライバー１００の顔の向きが、正面（車両の進行方向）を向いているときにハイレベルとなり、それ以外を向いているときにローレベルとなっている。
【００５４】
例えば、眼の開閉状態と、顔向きの変化とが、図５の実線Ｌ１，Ｌ２に示されるように推移したときには、ＣＰＵ３０ａは、まず、実線Ｌ２がハイレベルとなっている時間帯における、実線Ｌ１の立ち上がり回数ｃｍをそれぞれ求める。例えば、実線Ｌ１がハイレベルとなる時刻ｔ１から時刻ｔ２までの間では、回数ｃ１の値は５となる。また、実線Ｌ１がハイレベルとなる時刻ｔ３から時刻ｔ４までの間では、回数ｃ２の値は２となる。そして、ＣＰＵ３０ａは、回数ｃｍの総和としての回数Ｃ１（ｎ）を次式（１）に基づいて算出する。
【００５５】
Ｃ（ｎ）＝ｃ１＋ｃ２＋…＋ｃｍ  …（１）
【００５６】
次に、ＣＰＵ３０ａは、時間Ｈ１が経過する間に、実線Ｌ２がハイレベルとなっていた時間Ｔ（ｎ）を次式（２）に基づいて算出する。
【００５７】
Ｔ（ｎ）＝Ｔ１＋Ｔ２＋…＋Ｔｍ  …（２）
【００５８】
次に、ＣＰＵ３０ａは、回数Ｃ（ｎ）を、時間Ｔ（ｎ）で除して、単位時間あたりの瞬き回数ｋ１（ｎ）（＝Ｃ（ｎ）／Ｔ（ｎ））を算出する。
【００５９】
そして、ＣＰＵ３０ａは、次のステップＳ１０３で、画像情報Ｄ（ｍ）ごとに検出したベクトルＡｍ（ｎ）に関する情報と、回数ｋ１（ｎ）に関する情報を、補助記憶部３０ｃに保存する。
【００６０】
次のステップＳ１０４では、カウンタ値ｎが２よりも大きいか否かを判断する。ステップＳ１０４での判断が否定された場合は、ＣＰＵ３０ａは、次のステップＳ１０５へ移行し、カウンタ値ｎを１インクリメントした後、ステップＳ１０２へ戻る。以降、ＣＰＵ３０ａは、ステップＳ１０４での判断が肯定されるまで、ステップＳ１０２〜Ｓ１０５の処理を繰り返し実行する。これにより、時刻ｔ１から、時間Ｈ１が経過するごとに、ベクトルＡｍ（１），Ａｍ（２），Ａｍ（３）に関する情報と、単位時間当たりの瞬き回数ｋ１（１），ｋ１（２），ｋ１（３）に関する情報が、補助記憶部３０ｃに保存される。
【００６１】
覚醒度判定システム１０は、自動車のイグニッションスイッチがオンになると起動する。このため、覚醒度判定装置３０では、起動後しばらくの間は、ドライバーが、例えば車両周辺の目視、座席のポジション設定、或いは計器のチェックを行っているときの画像から、各情報が検出されることが考えられる。この場合には、覚醒度判定装置３０によって検出される情報が不安定になる。本ステップＳ１０４での処理は、当該不安定な情報に基づいて、ステップＳ１０６以降の処理が行われることを回避する趣旨で実行される。
【００６２】
一方、ステップＳ１０４での判断が肯定された場合は、ＣＰＵ３０ａは、ステップＳ１０６へ移行する。
【００６３】
ステップＳ１０６では、ＣＰＵ３０ａは、カウンタ値ｎが１０より小さいか否かを判断する。ステップＳ１０６での判断が肯定された場合は、ＣＰＵ３０ａは、ステップＳ１０７へ移行する。
【００６４】
ステップＳ１０７では、ＣＰＵ３０ａは、ドライバー１００の顔向きを示すベクトルＡｍ（１），Ａｍ（２），Ａｍ（３），…Ａｍ（ｎ）のうちの最新のベクトルＡｍ（ｎ）に関する情報に基づいて、時間Ｈ１が経過する間に、ドライバー１００の顔向きが変化した回数Ｄを検出する。具体的には、ＣＰＵ３０ａは、顔の向きが正面からそれ以外に変わる回数、すなわち、実線Ｌ２が立ち下がったときの回数を回数Ｄとして検出する。
【００６５】
そして、回数Ｄと閾値を比較し、回数Ｄが閾値以上である場合に、ドライバー１００が覚醒状態にあると判断する（ステップＳ１０７：Ｙｅｓ）。
【００６６】
ステップＳ１０７での判断が肯定された場合には、ＣＰＵ３０ａは、ステップＳ１０８へ移行する。そして、ＣＰＵ３０ａは、直近に検出された回数ｋ１（ｎ）を、基準値Ｓとして設定する。
【００６７】
一方、ステップＳ１０７での判断が否定された場合は、ＣＰＵ３０ａは、ステップＳ１０５において、カウンタ値ｎを１インクリメントした後、ステップＳ１０２へ戻る。以降、ＣＰＵ３０ａは、ステップＳ１０２〜Ｓ１０７までの処理を繰り返し実行する。
【００６８】
ステップＳ１０２〜Ｓ１０７までの処理が繰り返し実行されると、やがてカウンタ値ｎは１０よりも大きくなり、ステップＳ１０６での判断が否定される。この場合、ＣＰＵ３０ａは、ステップＳ１０９へ移行する。なお、ステップＳ１０９へ移行するときには、単位時間当たりの瞬き回数ｋ１（１），ｋ１（２），…，ｋ１（１０）に関する情報が、補助記憶部３０ｃに保存された状態となっている。
【００６９】
ステップＳ１０９では、ＣＰＵ３０ａは、回数ｋ１（３），ｋ１（４），…，ｋ１（１０）の平均値ｋＡＶＧを、基準値Ｓとして設定する。
【００７０】
ステップＳ１０９での処理が実行されるのは、所定時間が経過しても、Ｓ１０７での判断が肯定されず、ステップＳ１０８で基準値Ｓが設定されない場合である。この場合には、ステップＳ１０９での処理が実行されることによって、それまでに取得された情報に基づいて基準値Ｓが設定されることになる。
【００７１】
次のステップＳ１１１では、ＣＰＵ３０ａは、ステップＳ１０２での処理と同様の処理を行い、ドライバー１００が前方を向いているときに行った瞬きの単位時間あたりの回数ｋ２（ｊ）を順次検出する。
【００７２】
次のステップＳ１１２では、ＣＰＵ３０ａは、回数ｋ２（ｊ）に関する情報を補助記憶部３０ｃに保存する。
【００７３】
次のステップＳ１１３では、ＣＰＵ３０ａは、回数ｋ２（ｊ）が、基準値Ｓに補正値αを加えた値よりも大きいか否かを判断する。ステップＳ１１３での判断が、否定された場合は（ステップＳ１１３：Ｎｏ）、ＣＰＵ３０ａは、ステップＳ１１１へ戻る。そして、ステップＳ１１３での判断が肯定されるまで、ステップＳ１１１〜Ｓ１１３までの処理を繰り返し実行する。
【００７４】
一方、ステップＳ１１３での判断が肯定された場合は（ステップＳ１１３：Ｙｅｓ）、ＣＰＵ３０ａは、ステップＳ１１４へ移行する。
【００７５】
ステップＳ１１４では、ＣＰＵ３０ａは、ドライバー１００の状態が、覚醒度が低下する際の初期状態であると判定し、判定した結果を外部装置等へ出力する。
【００７６】
以上説明したように、本実施形態では、車両のイグニッションスイッチがオンにされた時刻ｔ１から所定時間が経過する間に、初期状態を検出するための基準値Ｓが設定される。このため、当該基準値Ｓは、ドライバーが覚醒度が高い状態にあることを、ある程度正確に示す指標となる。
【００７７】
本実施形態では、ドライバーが正面を向いているときの瞬き回数に基づいて、基準値Ｓが設定される。このため、例えばドライバー１００が、瞬きすることなく下を向き、ドライバーの瞼と撮影装置２０との角度が変化したとしても、当該変化がドライバー１００の瞬きと誤認識され、瞬き回数としてカウントされることがなくなる。したがって、瞬き回数に基づいて設定される基準値Ｓの信頼性が更に高くなる。
【００７８】
本実施形態では、この基準値Ｓと、ドライバーの現在の状態を反映する指標となる瞬き回数ｋ２（ｊ）とが比較されることで、ドライバーが覚醒度が高い状態にあるか否かが判定される。したがって、ドライバーが覚醒度が高い状態にあるか否かを精度よく判定することができる。
【００７９】
本実施形態では、単位時間あたりのドライバーの瞬き回数ｋ２（ｊ）が、基準値Ｓを上回ったときに、ドライバーの覚醒度が高いと判定される。したがって、ドライバーの覚醒度が低下する際の初期状態を精度よく検出することができる。
【００８０】
《第３の実施形態》
次に、本発明の第３の実施形態を、図面を参照しつつ説明する。なお、第２の実施形態と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。
【００８１】
本実施形態に係る覚醒度判定システム１０は、ＣＰＵ３０ａによって、ステップＳ１０６〜Ｓ１０８に相当する処理が実行されない点と、ステップＳ１０２に相当する処理の内容が異なる点で、第２の実施形態に係る覚醒度判定システム１０と異なる。
【００８２】
図６のフローチャートは、ＣＰＵ３０ａによって実行されるプログラムの一連の処理アルゴリズムに対応している。以下、本実施形態に係る覚醒度判定装置３０の動作について、図６を参照しつつ説明する。
【００８３】
まず、最初のステップＳ２０１では、ＣＰＵ３０ａは、カウンタ値ｎを１にリセットする。
【００８４】
次のステップＳ２０２では、ＣＰＵ３０ａは、ドライバーが瞬きをした回数を検出する。例えば、ＣＰＵ３０ａは、撮影装置２０からの出力が開始された時刻ｔ１から、時間Ｈ１（例えば１０分）が経過するまでの期間内に出力された画像情報Ｄ（ｍ）によって特定される画像それぞれに対して、ソーベルフィルタを用いた画像処理を実行し、ドライバーの瞼の輪郭を検出する。
【００８５】
次に、ＣＰＵ３０ａは、画像情報Ｄ（ｍ）によって特定される画像に写る瞼の輪郭の時系列的な変化から、ドライバー１００が瞬きをした回数Ｃ１（ｎ）を検出する。そして、回数Ｃ１（ｎ）を時間Ｈ１で除して、単位時間あたりの瞬き回数ｋ１（ｎ）を算出する。
【００８６】
次のステップＳ２０３では、ＣＰＵ３０ａは、回数ｋ１（ｎ）に関する情報を、補助記憶部３０ｃに保存する。
【００８７】
次のステップＳ２０４では、カウンタ値ｎが３よりも大きいか否か判断する。ステップＳ２０４での判断が否定された場合は（ステップＳ２０４：Ｎｏ）、ＣＰＵ３０ａは、次のステップＳ２０５へ移行し、カウンタ値ｎを１インクリメントした後、ステップＳ２０２へ戻る。以降、ＣＰＵ３０ａは、ステップＳ２０４での判断が肯定されるまで、ステップＳ２０２〜Ｓ２０５の処理を繰り返し実行する。これにより、時間Ｈ１が経過するごとに、単位時間当たりの瞬き回数ｋ１（１），ｋ１（２），ｋ１（３），ｋ１（４）に関する情報が、補助記憶部３０ｃに保存される。
【００８８】
一方、ステップＳ２０４での判断が肯定された場合は、ＣＰＵ３０ａは、ステップＳ２０８へ移行する。
【００８９】
次のステップＳ２０８では、ＣＰＵ３０ａは、回数ｋ１（１），ｋ１（２），ｋ１（３），ｋ１（４）の平均値ｋＡＶＧを、基準値Ｓとして設定する。
【００９０】
次のステップＳ２１１では、ＣＰＵ３０ａは、画像情報Ｄ（ｍ）を参照して、現時点から時間Ｈ２が経過する間に、ドライバー１００が瞬きをした回数Ｃ２（ｊ）をカウントする。そして、回数Ｃ２（ｊ）を時間Ｈ２で除して、単位時間当たりの瞬き回数ｋ２（ｊ）を検出する。
【００９１】
次のステップＳ２１２では、ＣＰＵ３０ａは、回数ｋ２（ｊ）に関する情報を補助記憶部３０ｃに保存する。
【００９２】
次のステップＳ２１３では、ＣＰＵ３０ａは、回数ｋ２（ｊ）が、基準値Ｓに補正値αを加えた値よりも大きいか否かを判断する。ステップＳ２１３での判断が、否定された場合は（ステップＳ２１３：Ｎｏ）、ＣＰＵ３０ａは、ステップＳ２１１へ戻る。そして、ステップＳ２１３での判断が肯定されるまで、ステップＳ２１１〜Ｓ２１３までの処理を繰り返し実行する。
【００９３】
一方、ステップＳ２１３での判断が肯定された場合は（ステップＳ２１３：Ｙｅｓ）、ＣＰＵ３０ａは、ステップＳ２１４へ移行する。
【００９４】
ステップＳ２１４では、ＣＰＵ３０ａは、ドライバー１００の状態が、覚醒度が低下する際の初期状態であると判定し、判定した結果を外部装置等へ出力する。
【００９５】
以上説明したように、本実施形態では、車両のイグニッションスイッチがオンにされた時刻ｔ１から所定時間が経過する間に、初期状態を検出するための基準値Ｓが設定される。このため、当該基準値Ｓは、ドライバーが覚醒度が高い状態にあることを、ある程度正確に示す指標となる。
【００９６】
本実施形態では、この基準値Ｓと、ドライバーの現在の状態を反映する指標となる瞬き回数ｋ２（ｊ）とが比較されることで、ドライバーが覚醒度が高い状態にあるか否かが判定される。したがって、ドライバーが覚醒度が高い状態にあるか否かを精度よく判定することができる。
【００９７】
本実施形態では、単位時間あたりのドライバーの瞬き回数ｋ２（ｊ）が、基準値Ｓを上回ったときに、ドライバーの覚醒度が高いと判定される。したがって、ドライバーの覚醒度が低下する際の初期状態を精度よく検出することができる。
【００９８】
以上、本発明の実施形態について説明したが、本発明は上記実施形態によって限定されるものではない。
【００９９】
例えば、上記第２の実施形態では、ドライバー１００の顔向きが変化した回数Ｄを検出し、この回数Ｄと閾値を比較することで、ドライバー１００が覚醒状態にあるか否かを判断した。これに限らず、ドライバー１００の視線の向きが変化した回数Ｄ２を検出し、この回数Ｄ２と閾値を比較することで、ドライバー１００が覚醒状態にあるか否かを判断してもよい。
【０１００】
上記各実施形態では、ドライバーがイグニッションスイッチをオンにした直後から所定の時間が経過するまでに出力された画像情報に基づいて、基準値Ｓが設定された。これに限らず、例えば、ドライバーの顔の向き或いは視線の向きの変化割合が大きいときに、ドライバーの覚醒度が高いと判断して、ドライバーの瞬き回数をカウントし、このカウント結果に基づいて基準値Ｓを設定してもよい。ドライバーの顔の向き、或いは視線の向きの変化割合が大きいときは、一般にドライバーが覚醒度が高い状態にあるといえる。したがって、ドライバーの顔の向き或いは視線の向きの変化割合が大きいときの瞬き回数に基づいて算出された基準値Ｓは、ドライバーが覚醒度が高い状態にあることを、ある程度正確に示す指標となる。
【０１０１】
第２の実施形態及び第３の実施形態の、ステップＳ１０４，ステップＳ１０６，ステップＳ２０４での閾値は一例であり、本発明は、これに限定されるものではない。
【０１０２】
上記各実施形態に係る覚醒度判定装置３０の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
【０１０３】
第２の実施形態及び第３の実施形態において、覚醒度判定装置３０の補助記憶部３０ｃに記憶されているプログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto-Optical disk）等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理を実行する装置を構成することとしてもよい。
【０１０４】
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するようにしても良い。
【０１０５】
上記各実施形態では、ドライバーの単位時間あたりの瞬き回数に基づいて、基準値Ｓを設定した。これは一例であり、他の要素に基づいて、基準値Ｓを設定してもよい。以下、具体例について、簡単に説明する。
【０１０６】
基準値の設定には、ドライバーの瞼の開度を用いることが考えられる。例えば、覚醒状態にあるドライバーの瞼の開度を計測する。そして、瞬きをした時間を除外して、単位時間あたりの瞼の開度の平均値を算出し、この平均値を基準値としてもよい。この場合には、単位時間あたりの開度の平均値が基準値を下回った場合に、ドライバーの状態が、覚醒度が低下し始める初期状態にあると判断することができる。
【０１０７】
基準値の設定には、ドライバーの瞼が閉じているときの経過時間（閉眼時間）を用いることが考えられる。例えば、覚醒状態にあるドライバーの閉眼時間を計測する。そして、単位時間あたりの閉眼時間の平均値を算出し、この平均値を基準値としてもよい。この場合には、単位時間あたりの閉眼時間が基準値を上回った場合に、ドライバーの状態が、覚醒度が低下し始める初期状態にあると判断することができる。
【０１０８】
また、基準値の設定に、閉眼時間を用いる場合には、所定時間内の閉眼時間の積算値を基準値として設定した後、所定時間内の閉眼時間の積算値が、基準値を上回った場合に、ドライバーの状態が、覚醒度が低下し始める初期状態にあると判断することとしてもよい。
【０１０９】
基準値の設定には、ドライバーの顔の向きを用いることが考えられる。例えば、覚醒状態にあるドライバーの顔の向き或いは角度（オイラー角のロール）を計測する。そして、単位時間当たりの顔の向きの標準偏差を算出し、この標準偏差を基準値としてもよい。この場合には、単位時間あたりのドライバーの顔の向きの標準偏差が、基準値を上回った場合に、ドライバーの状態が、覚醒度が低下し始める初期状態にあると判断することができる。
【０１１０】
また、基準値の設定には、顔の向きについてのオイラー角のロールの他、オイラー角のピッチ或いはヨーを用いてもよい。
【０１１１】
基準値の設定には、ドライバーの視線の向きを用いることが考えられる。例えば、覚醒状態にあるドライバーの視線の向き或いは角度（オイラー角のヨー）を計測する。そして、単位時間当たりの視線の向きの標準偏差を算出し、この標準偏差を基準値としてもよい。この場合には、単位時間あたりのドライバーの視線の向きの標準偏差が、基準値を下回った場合に、ドライバーの状態が、覚醒度が低下し始める初期状態にあると判断することができる。
【０１１２】
また、基準値の設定には、視線の向きについてのオイラー角のヨーの他、オイラー角のピッチを用いてもよい。
【０１１３】
基準値の設定には、ドライバーが運転する車両の横方向への変位量を用いることが考えられる。例えば、覚醒状態にあるドライバーが運転する車両の横方向の変位量を計測する。そして、単位時間当たりの変位量の標準偏差を算出し、この標準偏差を基準値としてもよい。この場合には、単位時間あたりの横方向の変位量の標準偏差が、基準値を上回った場合に、ドライバーの状態が、覚醒度が低下し始める初期状態にあると判断することができる。車両の横方向への変位量は、加速度センサからの出力を積分することによって算出することが考えられる。
【０１１４】
基準値の設定には、ドライバーの心拍数を用いることが考えられる。例えば、覚醒状態にあるドライバーの心拍数を計測する。そして、単位時間あたりの心拍数の平均値を算出し、この平均値を基準値としてもよい。この場合には、単位時間あたりの心拍数の平均値が基準値を下回った場合に、ドライバーの状態が、覚醒度が低下し始める初期状態にあると判断することができる。
【０１１５】
また、心拍数を所定の指標に変換し、この指標に基づいて、ドライバーの状態を判断することもできる。
【０１１６】
例えば、所定時間内の心拍数Ｎ１と、心拍のＲＲ間隔が所定の値（４８ｍｓ）以上になった回数Ｎ２との比（Ｎ２／Ｎ１）が、基準値を上回った場合に、ドライバーの状態が、覚醒度が低下し始める初期状態にあると判断することができる。
【０１１７】
また、単位時間あたりのＲＲ間隔の差の二乗和が、基準値を上回った場合に、ドライバーの状態が、覚醒度が低下し始める初期状態にあると判断することとしてもよい。
【０１１８】
また、ＲＲ間隔変動の特定の周波数帯（例えば０．０４〜０．１５Ｈｚ）のパワー値ＰＬ、或いは、ＲＲ間隔変動の特定の周波数帯（例えば０．１５〜０．４）のパワー値ＰＨが、基準値を上回った場合に、ドライバーの状態が、覚醒度が低下し始める初期状態にあると判断することとしてもよい。
【０１１９】
更に、パワー値ＰＬとパワー値ＰＨとの比（ＰＦ／ＰＨ）、或いは、パワー値ＰＬと、パワー値ＰＬ，ＰＨ双方の和との比（ＰＬ／（ＰＨ＋ＰＬ）が、基準値を上回った場合に、ドライバーの状態が、覚醒度が低下し始める初期状態にあると判断することとしてもよい。
【０１２０】
基準値の設定には、ドライバーの呼吸間隔を用いることが考えられる。例えば、覚醒状態にあるドライバーの呼吸間隔を計測する。そして、単位時間あたりの呼吸間隔の平均値を算出し、この平均値を基準値としてもよい。この場合には、単位時間あたりの呼吸間隔の平均値が基準値を上回った場合に、ドライバーの状態が、覚醒度が低下し始める初期状態にあると判断することができる。
【０１２１】
また、基準値の設定に、呼吸間隔を用いる場合には、単位時間あたりの呼吸間隔の標準偏差を基準値として設定した後、単位時間あたりの呼吸間隔の標準偏差が、基準値を上回った場合に、ドライバーの状態が、覚醒度が低下し始める初期状態にあると判断することとしてもよい。
【０１２２】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。
【０１２３】
本出願は、２０１０年３月２３日に出願された、日本国特許出願２０１０−６７００１号に基づく。本明細書中に日本国特許出願２０１０−６７００１号の明細書、特許請求の範囲、図面全体を参照して取り込むものとする。
【産業上の利用可能性】
【０１２４】
本発明の覚醒度判定装置、覚醒度判定方法及びプログラムは、ドライバーの覚醒度を判定するのに適している。
【符号の説明】
【０１２５】
１０  覚醒度判定システム
２０  撮影装置
３０  覚醒度判定装置
３０ａ  ＣＰＵ
３０ｂ  主記憶部
３０ｃ  補助記憶部
３０ｄ  表示部
３０ｅ  入力部
３０ｆ  インターフェイス部
３０ｇ  システムバス
３１  記憶部
３２  顔向検出部
３３  視線方向検出部
３４  第１カウント部
３５  覚醒度判定部
３６  基準値設定部
３７  第２カウント部
３８  初期状態判定部
１００  ドライバー
Ｆ  顔
ＩＭ  画像
【図１】
0005585648.tif 000002
【図２】
0005585648.tif 000003
【図３】
0005585648.tif 000004
【図４】
0005585648.tif 000005
【図５】
0005585648.tif 000006
【図６】
0005585648.tif 000007