(57)【要約】【課題】より正確に目の開閉状態を検出する。【解決手段】顔向き検出部１２１は、カメラ１１１により撮影された人の顔の画像である顔画像に基づいて、人の顔の向きを検出する。目検出部１２２は、顔画像に基づいて、人の目の大きさを検出する。開閉度算出部１２３は、顔画像における人の目の大きさに基づく人の目の開き具合を示す開閉度を、検出された人の顔の向きに基づいて人の顔を正面から見たときの値に補正した開閉度を算出する。本発明は、例えば、運転者の目の開閉状態を検出する車載装置に適用できる。【選択図】図１
2010134490.tif 000002
【特許請求の範囲】
【請求項１】
人の顔を撮影した画像に基づいて、前記人の顔の向きを検出する顔向き検出手段と、
前記画像における前記人の目の大きさを検出する目検出手段と、
前記画像における前記人の目の大きさに基づく前記人の目の開き具合を示す開閉度を、検出された前記人の顔の向きに基づいて前記人の顔を正面から見たときの値に補正した前記開閉度を算出する開閉度算出手段と
を含む検出装置。
【請求項２】
前記目検出手段は、前記画像における前記人の目の縦幅と横幅を検出し、
前記開閉度算出手段は、前記画像における前記人の目の縦幅と横幅の比を、検出された前記人の顔の向きに基づいて前記人の顔を正面から見たときの値に補正した前記開閉度を算出する
請求項１に記載の検出装置。
【請求項３】
前記人が目を開けているときの前記開閉度のデータを所定量取得し、前記データに基づいて、前記人が目を開けているか否かを判定する閾値を設定する閾値設定手段と、
前記開閉度を前記閾値と比較することにより、前記人が目を開けているか否かを判定する判定手段と
をさらに含む請求項１に記載の検出装置。
【請求項４】
前記閾値設定手段は、検出された前記開閉度が前記閾値を上回る頻度が所定の値を超えている場合、所定の期間内の前記開閉度に基づいて前記閾値を補正する
請求項３に記載の検出装置。
【請求項５】
前記人が目を閉じているときの前記開閉度のデータを所定量取得し、前記データに基づいて、前記人が目を閉じているか否かを判定する閾値を設定する閾値設定手段と、
前記開閉度を前記閾値と比較することにより、前記人が目を閉じているか否かを判定する判定手段と
をさらに含む請求項１に記載の検出装置。
【請求項６】
前記閾値設定手段は、検出された前記開閉度が前記閾値を下回る頻度が所定の値を超えている場合、所定の期間内の前記開閉度に基づいて前記閾値を補正する
請求項５に記載の検出装置。
【請求項７】
検出装置が、
人の顔を撮影した画像に基づいて、前記人の顔の向きを検出し、
前記画像における前記人の目の大きさを検出し、
前記画像における前記人の目の大きさに基づく前記人の目の開き具合を示す開閉度を、検出された前記人の顔の向きに基づいて前記人の顔を正面から見たときの値に補正した前記開閉度を算出する
ステップを含む検出方法。
【請求項８】
コンピュータに、
人の顔を撮影した画像に基づいて、前記人の顔の向きを検出し、
前記画像における前記人の目の大きさを検出し、
前記画像における前記人の目の大きさに基づく前記人の目の開き具合を示す開閉度を、検出された前記人の顔の向きに基づいて前記人の顔を正面から見たときの値に補正した前記開閉度を算出する
ステップを含む処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出装置および方法、並びに、プログラムに関し、特に、人の目の開閉状態を検出する検出装置および方法、並びに、プログラムに関する。
【背景技術】
【０００２】
従来、運転者の顔を撮影し、撮影した画像における運転者の目の縦幅（高さ）に基づいて、運転者の目の開き具合を示す開閉度を検出し、検出した開閉度に基づいて、運転者の居眠りなどの検出を行うことが提案されている。
【０００３】
ところで、人の顔をカメラで撮影したとき、得られた画像における人の目の縦幅は、実際に目の縦幅が変化していなくても、顔の向きにより変化する。例えば、顔がカメラの正面を向いている場合に比べて、顔が上や下を向いた場合には、撮影した画像における目の縦幅は狭くなる。従って、単純に、撮影した画像における運転者の目の縦幅のみに基づいて目の開閉度を検出すると、運転者の顔の向きによって、目を開けているのに、開閉度が小さく検出されてしまうときがある。
【０００４】
そこで、従来、運転者の顔が基準位置にあるときの目と鼻の間隔と、目と鼻の間隔の計測値との比に基づいて、目の縦幅の計測値を基準位置における値に補正することが提案されている（例えば、特許文献１参照）。例えば、この特許文献１に記載の発明を用いて、目の開閉度を検出することにより、開閉度の信頼度を向上させることが可能である。
【０００５】
【特許文献１】特許第３２９６１１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の発明では、目以外に鼻の位置を検出する必要があり、例えば、マスクをしているときなど、運転者の鼻を検出できない場合には、目の縦幅を補正することができず、その結果、目の開閉度を正確に検出することができない。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、より正確に目の開閉状態を検出できるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の一側面の検出装置は、人の顔を撮影した画像に基づいて、人の顔の向きを検出する顔向き検出手段と、画像における人の目の大きさを検出する目検出手段と、画像における人の目の大きさに基づく人の目の開き具合を示す開閉度を、検出された人の顔の向きに基づいて人の顔を正面から見たときの値に補正した開閉度を算出する開閉度算出手段とを含む。
【０００９】
本発明の一側面の検出装置においては、人の顔を撮影した画像に基づいて、人の顔の向きが検出され、画像における人の目の大きさが検出され、画像における人の目の大きさに基づく人の目の開き具合を示す開閉度を、検出された人の顔の向きに基づいて人の顔を正面から見たときの値に補正した開閉度が算出される。
【００１０】
従って、より正確に目の開閉状態を検出することができる。
【００１１】
この顔向き検出手段、目検出手段、開閉度算出手段は、例えば、CPU（Central Processing Unit）またはECU（Electronic Control Unit）により構成される。
【００１２】
この目検出手段には、画像における人の目の縦幅と横幅を検出させ、開閉度算出手段には、画像における人の目の縦幅と横幅の比を、検出された人の顔の向きに基づいて人の顔を正面から見たときの値に補正した開閉度を算出させることができる。
【００１３】
これにより、画像に写っている人の顔の大きさや顔向きに関わらず、正確に目の開閉状態を検出することができる。
【００１４】
この検出装置においては、人が目を開けているときの開閉度のデータを所定量取得し、データに基づいて、人が目を開けているか否かを判定する閾値を設定する閾値設定手段と、開閉度を閾値と比較することにより、人が目を開けているか否かを判定する判定手段とをさらに設けることができる。
【００１５】
これにより、人が目を開けているか否かを正確に判定することができる。
【００１６】
この閾値設定手段、判定手段は、例えば、CPU（Central Processing Unit）またはECU（Electronic Control Unit）により構成される。
【００１７】
この閾値設定手段には、検出された開閉度が閾値を上回る頻度が所定の値を超えている場合、所定の期間内の開閉度に基づいて閾値を補正させることができる。
【００１８】
これにより、目の状態の変化や検出対象となる人の変化に柔軟に対応して、人が目を開けているか否かを正確に判定することができる。
【００１９】
人が目を閉じているときの開閉度のデータを所定量取得し、データに基づいて、人が目を閉じているか否かを判定する閾値を設定する閾値設定手段と、開閉度を閾値と比較することにより、人が目を閉じているか否かを判定する判定手段とをさらに設けることができる。
【００２０】
これにより、人が目を閉じているか否かを正確に判定することができる。
【００２１】
この閾値設定手段、判定手段は、例えば、CPU（Central Processing Unit）またはECU（Electronic Control Unit）により構成される。
【００２２】
閾値設定手段には、検出された開閉度が閾値を下回る頻度が所定の値を超えている場合、所定の期間内の開閉度に基づいて閾値を補正させることができる。
【００２３】
これにより、目の状態の変化や検出対象となる人の変化に柔軟に対応して、人が目を閉じているか否かを正確に判定することができる。
【００２４】
本発明の一側面の検出方法は、検出装置が、人の顔を撮影した画像に基づいて、人の顔の向きを検出し、画像における人の目の大きさを検出し、画像における人の目の大きさに基づく人の目の開き具合を示す開閉度を、検出された人の顔の向きに基づいて人の顔を正面から見たときの値に補正した開閉度を算出するステップを含む。
【００２５】
本発明の一側面のプログラムは、コンピュータに、人の顔を撮影した画像に基づいて、人の顔の向きを検出し、画像における人の目の大きさを検出し、画像における人の目の大きさに基づく人の目の開き具合を示す開閉度を、検出された人の顔の向きに基づいて人の顔を正面から見たときの値に補正した開閉度を算出するステップを含む処理を実行させる
【００２６】
本発明の一側面の検出方法またはプログラムおいては、人の顔を撮影した画像に基づいて、人の顔の向きが検出され、画像における人の目の大きさが検出され、画像における人の目の大きさに基づく人の目の開き具合を示す開閉度を、検出された人の顔の向きに基づいて人の顔を正面から見たときの値に補正した開閉度が算出される。
【００２７】
従って、より正確に目の開閉状態を検出することができる。
【発明の効果】
【００２８】
以上のように、本発明の一側面によれば、目の開閉状態を検出することができる。特に、本発明の一側面によれば、より正確に目の開閉状態を検出することができる。
【発明を実施するための最良の形態】
【００２９】
以下、図を参照して、本発明の実施の形態について説明する。
【００３０】
まず、図１乃至図５を参照して、本発明の第１の実施の形態について説明する。
【００３１】
図１は、本発明を適用した目開閉検出システムの第１の実施の形態を示すブロック図である。図１の目開閉検出システム１０１は、検出対象となる対象者の顔を撮影し、撮影した画像に基づいて、対象者の目の開き具合を示す開閉度を検出する。なお、以下、目開閉検出システム１を車両に設置し、運転者の目の開閉度を検出する場合について説明する。
【００３２】
目開閉検出システム１０１は、カメラ１１１および検出装置１１２を含むように構成される。
【００３３】
カメラ１１１は、目の開閉度の検出対象となる運転者の顔を撮影し、撮影の結果得られた画像（以下、顔画像と称する）を検出装置１１２の顔向き検出部１２１および目検出部１２２に供給する。例えば、カメラ１１１は、ステアリングコラム上に設置され、ほぼ正面から運転者を撮影したり、センタミラー（ルームミラー）の根元付近（センタミラーが車に取り付けられているあたり）に設置され、前方斜め上方向から運転者を撮影する。
【００３４】
検出装置１１２は、顔向き検出部１２１、目検出部１２２、および、開閉度算出部１２３を含むように構成される。
【００３５】
顔向き検出部１２１は、所定の手法により、顔画像に基づいて、運転者の顔の向きを検出する。顔向き検出部１２１は、検出結果を示す情報を開閉度算出部１２３に供給する。
【００３６】
目検出部１２２は、所定の手法により、顔画像における運転者の目の大きさを検出する。目検出部１２２は、検出結果を示す情報を開閉度算出部１２３に供給する。
【００３７】
開閉度算出部１２３は、図２乃至図５を参照して後述するように、運転者の顔の向き、および、顔画像における運転者の目の大きさに基づいて、運転者の目の開閉度を検出する。開閉度算出部１２３は、検出結果を示す情報を後段の装置に供給する。
【００３８】
次に、図２のフローチャートを参照して、目開閉検出システム１０１により実行される目開閉度検出処理について説明する。なお、この処理は、例えば、目開閉検出システム１０１が設けられている車両のエンジンが始動したとき開始され、エンジンが停止したとき終了する。
【００３９】
ステップＳ１において、目開閉検出システム１０１は、顔画像を取得する。具体的には、カメラ１１１は、運転者の顔を撮影する。カメラ１１１は、撮影の結果得られた顔画像を顔向き検出部１２１および目検出部１２２に供給する。
【００４０】
ステップＳ２において、顔向き検出部１２１は、顔向きを検出する。すなわち、顔向き検出部１２１は、所定の手法により、顔画像に基づいて、運転者の顔の向きを検出する。この運転者の顔の向きは、例えば、カメラ１１１の光軸に平行で、かつ、カメラ１１１に向かう方向を基準方向として、運転者の顔の向きの基準方向に対する上下方向の角度αおよび左右方向の角度βにより表される。顔向き検出部１２１は、検出した運転者の顔の向きを示す情報を開閉度算出部１２３に供給する。
【００４１】
なお、顔向き検出部１２１が顔の向きを検出する手法は、特定の手法に限定されるものではなく、より簡単、迅速かつ正確に顔の向きを検出できる手法を適用することが望ましい。
【００４２】
ステップＳ３において、目検出部１２２は、目の縦幅と横幅を検出する。具体的には、目検出部１２２は、所定の手法により、顔画像における運転者の目の位置を検出し、さらに、検出した目の縦幅および横幅（ともに単位はピクセル）を検出する。目検出部１２２は、検出した運転者の目の横幅と縦幅を示す情報を開閉度算出部１２３に供給する。
【００４３】
なお、目検出部１２２が目の縦幅と横幅を検出する手法は、特定の手法に限定されるものではなく、より簡単、迅速かつ正確に目の縦幅と横幅を検出できる手法を適用することが望ましい。
【００４４】
ステップＳ４において、開閉度算出部１２３は、目の開閉度を算出する。ここで、図３乃至図５を参照して、目の開閉度の算出方法について説明する。
【００４５】
人の目は、開閉により、目の縦幅（高さ）が変化する一方、横幅はほとんど変化しないため、目開閉検出システム１０１では、目の縦幅／目の横幅を開閉度として用いる。このように目の縦幅と横幅の比を開閉度として用いることにより、カメラ１１１と運転者の顔の間の距離の変化などにより発生する、顔画像における運転者の目の大きさの変動が、開閉度の検出結果に影響を与えることが防止される。
【００４６】
ところで、カメラ１１１から見た運転者の目の縦幅と横幅は、実際の目の縦幅と横幅が変わらなくても、カメラ１１１に対する運転者の顔の向きにより変化する。
【００４７】
図３および図４は、運転者の顔の向きと目の位置のモデルを示している。具体的には、図３は、運転者１５１の顔が、カメラ１１１に対してカメラ１１１の光軸と平行な方向、すなわち、カメラ１１１の正面を向いている場合のモデルを示しており、図４は、運転者１５１の顔が、図３の状態から角度αだけ上に向いた場合のモデルを示している。なお、図中、軸Ａは、カメラ１１１の光軸に平行な軸を表し、線Ｅは、運転者１５１の目の高さ方向の位置を表している。また、以下、運転者１５１の実際の目の縦幅をHaとする。
【００４８】
図３に示されるように、運転者１５１の顔が、カメラ１１１の正面を向いている場合、カメラ１１１から見た運転者１５１の目の縦幅Hc1は、実際の目の縦幅Haとほぼ等しくなる。そして、顔画像における運転者１５１の目の縦幅は、縦幅Hc1に対応したサイズとなる。
【００４９】
一方、図４に示されるように、運転者１５１の顔が、軸Ａに対して角度αだけ上を向いている場合、カメラ１１１から見た運転者１５１の目の縦幅Hc2は、実際の目の縦幅Haより小さくなる。具体的には、図５は、図４の斜線で示される三角形を拡大した図であるが、この図より、Hc2≒Ha×cosαとなることが分かる。そして、顔画像における運転者１５１の目の縦幅は、縦幅Hc2に対応したサイズとなる。これは、運転者１５１の顔が、軸Ａに対して角度αだけ下を向いている場合も同様である。
【００５０】
また、詳細な説明は省略するが、同様に、運転者の顔が、カメラ１１１に対してカメラ１１１の光軸と平行な方向から角度βだけ右または左を向いている場合、実際の運転者の目の横幅をWaとすると、カメラ１１１から見た運転者の目の横幅Wc≒Wa×cosβとなる。
【００５１】
従って、運転者の顔が、基準方向（カメラ１１１の光軸に平行で、かつ、カメラ１１１に向かう方向）に対して上下方向に角度αおよび左右方向に角度βの方向を向いている場合の、顔画像における運転者の目の縦幅をHp、横幅をWpとしたとき、実際の運転者の目の縦幅の横幅の比を表す運転者の目の開閉度は、以下の式（１）により求めることができる。
【００５２】
【数１】
2010134490.tif 000003
【００５３】
すなわち、式（１）の開閉度は、顔画像における運転者の目の縦幅と横幅の比を、運転者の顔の向きに基づいて、運転者がカメラ１１１の正面を向いているときの値に補正した値、換言すれば、運転者の顔を正面から見たときの値に補正した値となる。
【００５４】
開閉度算出部１２３は、式（１）により運転者の目の開閉度を算出し、算出した目の開閉度を示す情報を後段の装置に出力する。
【００５５】
その後、処理はステップＳ１に戻り、ステップＳ１以降の処理が実行される。
【００５６】
このようにして、運転者の顔の向きに関わらず、運転者の目以外の顔の部分を用いずに、運転者の目の開閉度を正確に検出することができる。
【００５７】
なお、基準方向に対する運転者の顔の向きが所定の角度以上である場合、顔画像に目が十分写っていない可能性が高く、開閉度の信頼度が低下するため、その場合には、目の開閉度を検出しないようにしてもよい。
【００５８】
次に、図６乃至図１１を参照して、本発明の第２の実施の形態について説明する。なお、本発明の第２の実施の形態は、目の開閉度に基づいて、運転者の目の開閉を判定できるようにするものである。
【００５９】
図６は、本発明を適用した目開閉検出システムの第２の実施の形態を示すブロック図である。図６の目開閉検出システム２０１は、カメラ１１１、検出装置１１２および判定装置２１１を含むように構成される。すなわち、目開閉検出システム２０１は、図１の目開閉検出システム１０１に判定装置２１１を追加した構成となっている。なお、図中、図１と対応する部分には、同じ符号を付してあり、処理が同じ部分については、その説明は繰り返しになるので省略する。
【００６０】
判定装置２１１は、閾値設定部２２１、蓄積部２２２、および、判定部２２３を含むように構成される。
【００６１】
閾値設定部２２１は、開閉度算出部１２３から、運転者の目の開閉度を示す情報を取得するとともに、その目の開閉度の検出対象となった顔画像を撮影したときに、実際に運転者が目を開いていたか、あるいは、閉じていたかを示すデータを外部から取得する。閾値設定部２２１は、検出された運転者の目の開閉度と、外部から入力された運転者の目の開閉結果を対応づけて、蓄積部２２２に蓄積する。
【００６２】
そして、閾値設定部２２１は、蓄積部２２２に蓄積されているデータのうち、運転者が目を開けているときの開閉度のデータに基づいて、運転者が目を開けているか否かを判定するための閾値THopenを設定する。また、閾値設定部２２１は、蓄積部２２２に蓄積されているデータのうち、運転者が目を閉じているときの開閉度のデータに基づいて、運転者が目を閉じているか否かを判定するための閾値THcloseを設定する。閾値設定部２２１は、設定した閾値THopenおよび閾値THcloseを示す情報を判定部２２３に供給する。
【００６３】
また、閾値設定部２２１は、閾値THopenおよび閾値THcloseを設定した後、検出される運転者の目の開閉度を、閾値THopenおよび閾値THcloseと比較し、適宜閾値THopenおよび閾値THcloseを補正する。閾値設定部２２１は、補正した閾値THopenおよび閾値THcloseを示す情報を判定部２２３に供給する。
【００６４】
蓄積部２２２は、例えば、HDD（ハードディスクドライブ）などの記録媒体により構成される。
【００６５】
判定部２２３は、開閉度算出部１２３から、運転者の目の開閉度を示す情報を取得する。判定部２２３は、取得した運転者の目の開閉度を、閾値設定部２２１により設定された閾値と比較することにより、運転者が目の開閉を判定する。判定部２２３は、判定結果を示す情報を後段の装置に出力する。
【００６６】
次に、図７のフローチャートを参照して、目開閉検出システム２０１により実行される学習処理について説明する。なお、この処理は、例えば、図示せぬ入力部を介して、学習処理の開始の指令が目開閉検出システム１０１に入力されたとき開始される。
【００６７】
ステップＳ１０１乃至Ｓ１０４の処理は、図２のステップＳ１乃至Ｓ４の処理と同様であり、その説明は、繰り返しになるので省略する。なお、この処理により、運転者の顔画像に基づいて、運転者の目の開閉度が検出され、検出された目の開閉度を示す情報が、開閉度算出部１２３から閾値設定部２２１に供給される。
【００６８】
ステップＳ１０５において、閾値設定部２２１は、目の開閉結果を取得する。具体的には、運転者あるいは他のユーザは、今回の開閉度の検出対象となった顔画像を撮影したときに、実際に運転者が目を開いていたか、あるいは、閉じていたかを示すデータを、図示せぬ入力部を介して、閾値設定部２２１に入力し、閾値設定部２２１は、入力されたデータを取得する。
【００６９】
ステップＳ１０６において、閾値設定部２２１は、データを蓄積する。具体的には、閾値設定部２２１は、今回検出された運転者の目の開閉度と、外部から入力された運転者の目の開閉結果を対応づけて、蓄積部２２２に蓄積する。
【００７０】
ステップＳ１０７において、閾値設定部２２１は、蓄積部２２２に所定量のデータが蓄積されたか否かを判定する。所定量のデータがまだ蓄積されていないと判定された場合、処理はステップＳ１０１に戻る。
【００７１】
その後、ステップＳ１０７において、所定量のデータが蓄積されたと判定されるまで、ステップＳ１０１乃至Ｓ１０７の処理が繰り返し実行される。この間、運転者は、例えば、顔の向きを変えたり、目を開いたり、閉じたりしながら、様々な顔の向き、および、目の開閉状態における開閉度の検出結果のデータを、蓄積部２２２に蓄積させる。
【００７２】
一方、ステップＳ１０７において、所定量のデータが蓄積されたと判定された場合、すなわち、目の開閉を判定するための閾値を設定するのに十分なデータが蓄積された判定された場合、処理はステップＳ１０８に進む。
【００７３】
ステップＳ１０８において、閾値設定部２２１は、目の開閉を判定するための閾値を設定する。例えば、閾値設定部２２１は、蓄積部２２２に蓄積されているデータに基づいて、運転者の目が開けているときの開閉度の平均値を算出し、算出した平均値を閾値THopenに設定する。また、閾値設定部２２１は、蓄積部２２２に蓄積されているデータに基づいて、運転者の目が閉じているときの開閉度の平均値を算出し、算出した平均値を閾値THcloseに設定する。閾値設定部２２１は、算出した閾値THopenおよび閾値THcloseを示す情報を判定部２２３に供給する。その後、学習処理は終了する。
【００７４】
次に、図８のフローチャートを参照して、目開閉検出システム２０１により実行される目開閉判定処理について説明する。なお、この処理は、例えば、目開閉検出システム２０１が設けられている車両のエンジンが始動したとき開始され、エンジンが停止したとき終了する。
【００７５】
ステップＳ１３１乃至Ｓ１３４の処理は、図２のステップＳ１乃至Ｓ４の処理と同様であり、その説明は、繰り返しになるので省略する。なお、この処理により、運転者の顔画像に基づいて、運転者の目の開閉度が検出され、検出された目の開閉度を示す情報が、開閉度算出部１２３から閾値設定部２２１および判定部２２３に供給する。
【００７６】
ステップＳ１３５において、判定部２２３は、目の開閉を判定する。具体的には、判定部２２３は、検出された運転者の目の開閉度が、閾値THopenを上回っている場合、運転者が目を開けていると判定し、閾値THcloseを下回っている場合、運転者が目を閉じていると判定し、閾値THopenと閾値THcloseの間の値である場合、運転者の目が半開きであると判定する。判定部２２３は、判定結果を示す情報を後段の装置に出力する。
【００７７】
ステップＳ１３６において、閾値設定部２２１は、開閉度を蓄積する。すなわち、閾値設定部２２１は、検出装置１１２により検出された運転者の目の開閉度を示すデータを、検出された時刻とともに、蓄積部２２２に蓄積する。
【００７８】
ステップＳ１３７において、閾値設定部２２１は、目の開閉度が閾値THopenを上回る頻度が所定の値を超えているか否かを判定する。具体的には、閾値設定部２２１は、蓄積部２２２に蓄積されているデータに基づいて、直近の所定の時間内（例えば、過去３分間）に検出された運転者の目の開閉度が、閾値THopenを上回った頻度を調べる。そして、閾値設定部２２１が、その頻度が所定の値（例えば、80％）を超えていると判定した場合、処理はステップＳ１３８に進む。
【００７９】
ステップＳ１３８において、閾値設定部２２１は、閾値THopenを補正する。すなわち、例えば、運転者が変わったり、運転者または周囲の状態が変化したりして（例えば、運転者の周囲が眩しい状態から暗い状態に変化したりして）、目の開閉度が閾値THopenを頻繁に上回るようになった場合、閾値設定部２２１は、閾値THopenを補正する。
【００８０】
例えば、閾値設定部２２１は、直近の所定の時間内（例えば、過去３分間）に検出された目の開閉度のヒストグラムを作成する。そして、閾値設定部２２１は、作成したヒストグラムのピークを中心とする所定の範囲内のデータにおける開閉度の平均値を、新しい閾値THopenとして算出する。このとき、閾値THopenの算出に用いるデータを、ヒストグラムのピークを中心とする所定の範囲内に限定することにより、瞬きなどにより運転者が目を閉じているときに検出された開閉度を、平均値の計算対象から除くことができる。閾値設定部２２１は、算出した閾値THopenを示す情報を判定部２２３に供給する。その後、処理はステップＳ１３１に戻り、ステップＳ１３１以降の処理が実行される。
【００８１】
ここで、図９を参照して、ステップＳ１３７およびＳ１３８の処理の具体例について説明する。なお、図９は、運転者の目の開閉度の検出結果の一例を示しており、横軸は時間を示している。また、Dmaxは、図７の学習処理時に検出した運転者の目の開閉度の最大値を示し、Dminは最小値を示している。
【００８２】
例えば、期間P1の間に、運転者が入れ替わり、入れ替わった後の運転者の目の縦幅が、入れ替わる前の運転者の目の縦幅より大きい場合、図９に示されるように、運転者が入れ替わった後、検出される目の開閉度が、閾値THopenを上回る頻度が高くなる。そして、所定の長さの期間P2において、目の開閉度が閾値THopenを上回る頻度が、所定の値を超えた場合、ステップＳ１３８において、例えば、期間P2において検出された目の開閉度に基づいて、閾値THopenが補正される。
【００８３】
なお、例えば、周囲が眩しくて、運転者が目を細める状態が続き、後述するステップＳ１４１において、閾値THopenが小さい値に補正されている場合に、周囲が暗くなり、運転者の目が元の大きさに戻ったときなど、運転者が目を細めた状態から元の状態に戻ったときも同様に、検出される目の開閉度が閾値THopenを上回る頻度が高くなり、その結果、閾値THopenが補正される。
【００８４】
なお、例えば、目の開閉度が最大値Dmaxを上回ったり、目の開閉度の平均値が閾値THopenを上回る状態が続いたりする場合も、運転者が変わっている可能性が高く、閾値THopenを補正することが望ましい。従って、目の開閉度が最大値Dmaxを上回ったか否か、目の開閉度の平均値が閾値THopenを上回る状態が所定の時間継続したか否かを、ステップＳ１３７の判定条件として用いるようにしてもよい。
【００８５】
一方、ステップＳ１３７において、目の開閉度が閾値THopenを上回る頻度が所定の値を超えていないと判定された場合、処理はステップＳ１３９に進む。
【００８６】
ステップＳ１３９において、閾値設定部２２１は、目の開閉度が閾値THcloseを下回る頻度が所定の値を超えているか否かを判定する。閾値設定部２２１が、直近の所定の時間内（例えば、過去３分間）において、運転者の目の開閉度が閾値THcloseを下回った頻度が、所定の値（例えば、80％）を超えていると判定した場合、処理はステップＳ１４０に進む。
【００８７】
ステップＳ１４０において、閾値設定部２２１は、閾値THcloseを補正する。すなわち、例えば、運転者が変わって、目の開閉度が閾値THcloseを頻繁に下回るようになった場合、閾値設定部２２１は、閾値THcloseを補正する。
【００８８】
例えば、閾値設定部２２１は、直近の所定の時間内（例えば、過去３分間）に検出された目の開閉度のヒストグラムを作成する。閾値設定部２２１は、作成したヒストグラムのピークを中心とする所定の範囲内のデータにおける開閉度の平均値を、新しい閾値THcloseとして算出する。このとき、閾値THcloseの算出に用いるデータを、ヒストグラムのピークを中心とする所定の範囲内に限定することにより、運転者が目を開けているときに検出された開閉度を、平均値の計算対象から除くことができる。閾値設定部２２１は、算出した閾値THcloseを示す情報を判定部２２３に供給する。その後、処理はステップＳ１３１に戻り、ステップＳ１３１以降の処理が実行される。
【００８９】
ここで、図１０を参照して、ステップＳ１３９およびＳ１４０の処理の具体例について説明する。なお、図１０は、図９と同様に、運転者の目の開閉度の検出結果の一例を示している。
【００９０】
例えば、期間P11の間に、運転者が入れ替わり、入れ替わった後の期間P12において、居眠りなどにより運転者が目を閉じた場合、運転者の目の形状によっては、図１０に示されるように、検出される目の開閉度が、閾値THcloseを下回る頻度が高くなる場合がある。そして、所定の長さの期間P12において、検出される目の開閉度が閾値THcloseを下回る頻度が、所定の値を超えた場合、ステップＳ１４０において、例えば、期間P12において検出された目の開閉度に基づいて、閾値THcloseが補正される。
【００９１】
なお、例えば、目の開閉度が最小値Dminを下回ったり、目の開閉度の平均値が閾値THcloseを下回る状態が続いたりする場合も、運転者が変わっている可能性が高く、閾値THcloseを補正することが望ましい。従って、目の開閉度が最小値Dminを下回ったか否か、目の開閉度の平均値が閾値THcloseを下回る状態が所定の時間継続したか否かを、ステップＳ１３９の判定条件として用いるようにしてもよい。
【００９２】
一方、ステップＳ１３９において、目の開閉度が閾値THcloseを下回る頻度が所定の値を超えていないと判定された場合、処理はステップＳ１４１に進む。
【００９３】
ステップＳ１４１において、閾値設定部２２１は、目の開閉度が閾値THopenと閾値THcloseの間になる頻度が所定の値を超えているか否かを判定する。閾値設定部２２１が、直近の所定の時間内（例えば、過去３分間）において、運転者の目の開閉度が閾値THopenと閾値THcloseの間になった頻度が、所定の値（例えば、80％）を超えていると判定した場合、処理はステップＳ１４２に進む。
【００９４】
ステップＳ１４２において、閾値設定部２２１は、直近の所定の期間内（例えば、過去３分間）の目の開閉度の平均値を求める。
【００９５】
ステップＳ１４３において、閾値設定部２２１は、求めた目の開閉度の平均値が所定の閾値以上であるか否かを判定する。この閾値は、例えば、図７の学習処理において蓄積したデータにおいて、運転者が目を閉じているときの開閉度の最大値に設定される。これにより、求めた開閉度の平均値がその閾値以上である場合、直近の所定の期間内において、運転者が総じて目を開いていたと推定することができる。求めた目の開閉度の平均値が、所定の閾値以上であると判定された場合、処理はステップＳ１４４に進む。
【００９６】
ステップＳ１４４において、ステップＳ１３８の処理と同様に、閾値THopenが補正される。その後、処理はステップＳ１３１に戻り、ステップＳ１３１以降の処理が実行される。
【００９７】
一方、ステップＳ１４３において、求めた目の開閉度の平均値が所定の閾値未満であると判定された場合、処理はステップＳ１４５に進む。
【００９８】
ステップＳ１４５において、ステップＳ１４０の処理と同様に、閾値THcloseが補正される。その後、処理はステップＳ１３１に戻り、ステップＳ１３１以降の処理が実行される。
【００９９】
ここで、図１１を参照して、ステップＳ１４１乃至Ｓ１４５の処理の具体例について説明する。なお、図１１は、図９および図１０と同様に、運転者の目の開閉度の検出結果の一例を示している。
【０１００】
例えば、時刻T1において、車両の向きが変わり、車内に直射日光が差し込むようになり、運転者が目を細めた場合、図１１に示されるように、検出される目の開閉度が、閾値THopenと閾値THcloseの間になる頻度が高くなる。そして、所定の長さの期間P21において、目の開閉度が閾値THopenと閾値THcloseの間になった頻度が、所定の値を超えた場合、ステップＳ１４４において、例えば、期間P21において検出された目の開閉度に基づいて、閾値THopenが補正される。
【０１０１】
なお、例えば、運転者が入れ替わり、入れ替わった後の運転者の目の縦幅が、入れ替わる前の運転者の目の縦幅より小さい場合も同様に、検出される目の開閉度が閾値THopenと閾値THcloseの間になる頻度が高くなり、その結果、閾値THopenが補正される。
【０１０２】
また、例えば、運転者が入れ替わり、入れ替わった後に運転者が目を閉じた場合、運転者の目の形状によっては、検出される目の開閉度が、閾値THcloseを上回る頻度が高くなる場合がある。そして、所定の長さの期間において、目の開閉度が閾値THopenと閾値THcloseの間になる頻度が、所定の値を超えた場合、ステップＳ１４５において、閾値THcloseが補正される。
【０１０３】
以上のようにして、運転者の目の開閉を正確に判定することができる。また、運転者が変わったり、運転者の目の状態が変化したりしても、それに柔軟に対応して、運転者の目の開閉を正確に判定することができる。
【０１０４】
なお、運転者ごとに学習処理を実施し、各運転者に対する閾値THopenおよび閾値THcloseを予め求めておき、顔認証などの各種の生体認証により運転者を認証したり、ボタンなどの操作手段を用いてデータを選択するなどにより、運転者ごとに閾値THopenおよび閾値THcloseを選択して、使い分けるようにしてもよい。
【０１０５】
また、用途に応じて、閾値THopenまたは閾値THcloseのどちらか一方のみを求めて、目を開けているか否か、または、目を閉じているか否かの一方のみを判定するようにしてもよい。
【０１０６】
さらに、以上の説明では、運転者の目の開閉度の検出、および、目の開閉の判定を行う例を示したが、本発明は、運転者以外の人の目の開閉度の検出、および、目の開閉の判定に適用することが可能である。
【０１０７】
また、目の開閉度は、上述した例に限定されるものではなく、目の縦幅と横幅の比以外の値を用いるようにしてもよい。
【０１０８】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０１０９】
図１２は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０１１０】
コンピュータにおいて、CPU（Central Processing Unit）５０１，ROM（Read Only Memory）５０２，RAM（Random Access Memory）５０３は、バス５０４により相互に接続されている。
【０１１１】
バス５０４には、さらに、入出力インタフェース５０５が接続されている。入出力インタフェース５０５には、入力部５０６、出力部５０７、記憶部５０８、通信部５０９、及びドライブ５１０が接続されている。
【０１１２】
入力部５０６は、キーボード、マウス、マイクロフォンなどよりなる。出力部５０７は、ディスプレイ、スピーカなどよりなる。記憶部５０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部５０９は、ネットワークインタフェースなどよりなる。ドライブ５１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア５１１を駆動する。
【０１１３】
以上のように構成されるコンピュータでは、CPU５０１が、例えば、記憶部５０８に記憶されているプログラムを、入出力インタフェース５０５及びバス５０４を介して、RAM５０３にロードして実行することにより、上述した一連の処理が行われる。
【０１１４】
コンピュータ（CPU５０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア５１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０１１５】
コンピュータでは、プログラムは、リムーバブルメディア５１１をドライブ５１０に装着することにより、入出力インタフェース５０５を介して、記憶部５０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部５０９で受信し、記憶部５０８にインストールすることができる。その他、プログラムは、ROM５０２や記憶部５０８に、あらかじめインストールしておくことができる。
【０１１６】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１１７】
また、本明細書において、システムの用語は、複数の装置、手段などより構成される全体的な装置を意味するものとする。
【０１１８】
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１１９】
【図１】本発明を適用した目開閉検出システムの第１の実施の形態を示すブロック図である。
【図２】目開閉検出システムにより実行される目開閉度検出処理を説明するためのフローチャートである。
【図３】目の開閉度の算出方法を説明するための図である。
【図４】目の開閉度の算出方法を説明するための図である。
【図５】目の開閉度の算出方法を説明するための図である。
【図６】本発明を適用した目開閉検出システムの第２の実施の形態を示すブロック図である。
【図７】目開閉検出システムにより実行される学習処理を説明するためのフローチャートである。
【図８】目開閉検出システムにより実行される目開閉判定処理を説明するためのフローチャートである。
【図９】閾値THopenの補正処理の具体例を説明するための図である。
【図１０】閾値THcloseの補正処理の具体例を説明するための図である。
【図１１】閾値THopenおよび閾値THcloseの補正処理の具体例を説明するための図である。
【図１２】コンピュータの構成の例を示すブロック図である。
【符号の説明】
【０１２０】
１０１  目開閉検出システム
１１１  カメラ
１１２  検出装置
１２１  顔向き検出部
１２２  目検出部
１２３  開閉度算出部
２０１  目開閉検出システム
２１１  判定装置
２２１  閾値設定部
２２２  蓄積部
２２３  判定部
【図１】
2010134490.tif 000004
【図２】
2010134490.tif 000005
【図３】
2010134490.tif 000006
【図４】
2010134490.tif 000007
【図５】
2010134490.tif 000008
【図６】
2010134490.tif 000009
【図７】
2010134490.tif 000010
【図８】
2010134490.tif 000011
【図９】
2010134490.tif 000012
【図１０】
2010134490.tif 000013
【図１１】
2010134490.tif 000014
【図１２】
2010134490.tif 000015