(57)【特許請求の範囲】
【請求項１】
コンピュータが、
撮像装置により撮像された人の顔を含む第１画像を取得し、
前記第１画像から前記人の目の領域を含む第２画像を生成し、
前記第２画像を二値化して、階調値が閾値より小さい画素が第１輝度値で表され、階調値が閾値以上の画素が第２輝度値で表された第３画像を生成し、
前記第３画像の高さと、前記第１輝度値を有する第１輝度領域内における上端画素と下端画素との間の縦方向の距離が最大となる最大高さとに基づき、前記人の目が開いている状態と閉じている状態とのいずれであるかを判定し、
判定の結果に関する情報を出力し、
前記判定において、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに第１係数を乗算した値よりも大きいか否かを判定し、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに第１係数を乗算した値よりも大きいと判定した場合、前記目が開いている状態であると判定する、
目開閉検出方法。
【請求項２】
前記判定において、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに第１係数を乗算した値以下であると判定した場合、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに前記第１係数よりも小さい第２係数を乗算した値よりも小さいか否かを判定し、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに前記第２係数を乗算した値よりも小さいと判定した場合、前記目が閉じている状態であると判定する、
請求項１記載の目開閉検出方法。
【請求項３】
さらに、前記第１画像から、前記人の顔の領域を示す第４画像を生成し、
前記判定において、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに前記第２係数を乗算した値以上であると判定した場合、前記第１輝度領域内の前記最大高さが、前記第４画像の高さに前記第２係数よりも小さい第３係数と前記第２係数とを乗算した値よりも小さいか否かを判定し、前記第１輝度領域内の前記最大高さが、前記第４画像の高さに前記第３係数と前記第２係数とを乗算した値よりも小さい場合、前記目が閉じている状態であると判定し、前記第１輝度領域内の前記最大高さが、前記第４画像の高さに前記第３係数と前記第２係数とを乗算した値以上である場合、前記目が開いている状態であると判定する、
請求項２記載の目開閉検出方法。
【請求項４】
さらに、前記第１画像から、前記人の顔の領域を示す第４画像を生成し、
前記判定において、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに前記第１係数を乗算した値以下であると判定した場合、前記第１輝度領域内の前記最大高さが、前記第４画像の高さに前記第１係数よりも小さい第２係数と前記第２係数よりも小さい第３係数とを乗算した値よりも小さいか否かを判定し、前記第１輝度領域内の前記最大高さが、前記第４画像の高さに前記第２係数と前記第３係数とを乗算した値よりも小さいと判定した場合、前記目が閉じている状態であると判定し、前記第１輝度領域内の前記最大高さが、前記第４画像の高さに前記第２係数と前記第３係数とを乗算した値以上である場合、前記目が開いている状態であると判定する、
請求項１記載の目開閉検出方法。
【請求項５】
前記第２画像は矩形状であり、
前記判定において、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに前記第２係数を乗算した値以上であると判定した場合、前記第２画像の高さと横幅との比率に基づいて、前記人の目が開いている状態と閉じている状態とのいずれであるかを判定する、
請求項２記載の目開閉検出方法。
【請求項６】
前記第２画像は、赤色成分、緑色成分及び青色成分により表され、
さらに、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに前記第２係数を乗算した値以上であると判定した場合、前記第２画像から、色相成分、彩度成分及び明度成分により表される第５画像を生成し、
さらに、前記第５画像の前記色相成分を二値化して、階調値が閾値より小さい画素が第３輝度値で表され、階調値が閾値以上の画素が第４輝度値で表された第６画像を生成し、
さらに、前記第３輝度値を有する第３輝度領域に基づいて、前記人の目が開いている状態と閉じている状態とのいずれであるかを判定する、
請求項２記載の目開閉検出方法。
【請求項７】
さらに、前記第３画像に基づいて上まぶたの位置及び下まぶたの位置をそれぞれ検出する、
請求項１〜６のいずれか１項に記載の目開閉検出方法。
【請求項８】
前記上まぶたの位置及び前記下まぶたの位置の検出において、前記第３画像に対してモルフォロジー勾配演算を行うことによって前記上まぶたの位置及び前記下まぶたの位置を検出する、
請求項７記載の目開閉検出方法。
【請求項９】
前記第３画像は、前記人の左目及び右目のいずれか一方の二値画像であり、
さらに、前記第３画像に基づいて目尻の位置及び目頭の位置をそれぞれ検出する、
請求項１〜８のいずれか１項に記載の目開閉検出方法。
【請求項１０】
前記目尻の位置及び前記目頭の位置の検出において、前記第３画像において、前記第１輝度値を有する横方向の左端の画素の位置を前記目尻及び前記目頭のいずれか一方の位置として検出し、前記第１輝度値を有する前記横方向の右端の画素の位置を前記目尻及び前記目頭のいずれか他方の位置として検出する、
請求項９記載の目開閉検出方法。
【請求項１１】
さらに、前記目が開いている状態と閉じている状態とのいずれであるかを示す情報をディスプレイに表示される前記人の顔画像に重畳して表示する、
請求項１〜１０のいずれか１項に記載の目開閉検出方法。
【請求項１２】
撮像装置により撮像された人の顔を含む第１画像を取得する取得部と、
前記第１画像から前記人の目の領域を含む第２画像を生成する目領域検出部と、
前記第２画像を二値化して、階調値が閾値より小さい画素が第１輝度値で表され、階調値が閾値以上の画素が第２輝度値で表された第３画像を生成する二値化処理部と、
前記第３画像の高さと、前記第１輝度値を有する第１輝度領域内における上端画素と下端画素との間の縦方向の距離が最大となる最大高さとに基づき、前記人の目が開いている状態と閉じている状態とのいずれであるかを判定する判定部と、
判定の結果に関する情報を出力する出力部と、
を備え、
前記判定部は、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに第１係数を乗算した値よりも大きいか否かを判定し、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに第１係数を乗算した値よりも大きいと判定した場合、前記目が開いている状態であると判定する、
目開閉検出装置。
【請求項１３】
コンピュータに、
撮像装置により撮像された人の顔を含む第１画像を取得し、
前記第１画像から前記人の目の領域を含む第２画像を生成し、
前記第２画像を二値化して、階調値が閾値より小さい画素が第１輝度値で表され、階調値が閾値以上の画素が第２輝度値で表された第３画像を生成し、
前記第３画像の高さと、前記第１輝度値を有する第１輝度領域内における上端画素と下端画素との間の縦方向の距離が最大となる最大高さとに基づき、前記人の目が開いている状態と閉じている状態とのいずれであるかを判定し、
判定の結果に関する情報を出力する、
処理を実行させ、
前記判定において、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに第１係数を乗算した値よりも大きいか否かを判定し、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに第１係数を乗算した値よりも大きいと判定した場合、前記目が開いている状態であると判定する、
目開閉検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像から人の目の開閉状態を検出する技術に関するものである。
【背景技術】
【０００２】
画像から人の目の開閉状態を検出する技術は、人の感情又は人の状態（例えば、人の覚醒度及び目の疲労度等）を推定するための要素技術として注目されている。人の目の開閉状態を検出する技術として下記の文献が知られている。
【０００３】
例えば、特許文献１の目開閉判定装置は、入力された画像に基づいて目の領域のエッジ検出を行うエッジ検出部と、エッジ検出を行った目の領域に対して二値化処理を行う二値化処理部と、二値化処理を行った目の領域のデータに基づいて目の開閉の判定を行う目開閉判定部とを備えている。
【０００４】
また、例えば、特許文献２の画像処理装置は、顔が含まれる撮影画像において、目を含む目領域を特定する目領域特定部と、目が開いているか閉じているかを判定する目開閉判定部と、目が開いているか閉じているかによって、目領域に対して異なる処理をする画像処理部とを備えている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−８４１０９号公報
【特許文献２】特開２０１６−９３０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の技術では、人の目の開閉状態の検出精度が低く、更なる改善が必要とされていた。
【０００７】
本開示は、上記の問題を解決するためになされたもので、人の目の開閉状態の検出精度を向上させることができる技術を提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
本開示の一態様に係る目開閉検出方法は、コンピュータが、撮像装置により撮像された人の顔を含む第１画像を取得し、前記第１画像から前記人の目の領域を含む第２画像を生成し、前記第２画像を二値化して、階調値が閾値より小さい画素が第１輝度値で表され、階調値が閾値以上の画素が第２輝度値で表された第３画像を生成し、前記第３画像の高さと、前記第１輝度値を有する第１輝度領域内における上端画素と下端画素との間の縦方向の距離が最大となる最大高さとに基づき、前記人の目が開いている状態と閉じている状態とのいずれであるかを判定し、判定の結果に関する情報を出力する。
【発明の効果】
【０００９】
本開示によれば、人の目の開閉状態の検出精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】本開示の実施の形態１における目開閉検出システムの外観図である。
【図２】本開示の実施の形態１における目開閉検出システムの全体構成の一例を示すブロック図である。
【図３】本開示の実施の形態１における目開閉検出装置の目開閉検出処理の一例を示すフローチャートである。
【図４】図３のステップＳ６の目状態判定処理の一例を示すフローチャートである。
【図５】顔画像から検出される顔領域の一例を示す図である。
【図６】左目に対応する目検出領域の一例を示す図である。
【図７】右目に対応する目検出領域の一例を示す図である。
【図８】左目に対応する二値画像の一例を示す図である。
【図９】右目に対応する二値画像の一例を示す図である。
【図１０】ディスプレイに表示される表示画面の一例を示す図である。
【図１１】本実施の形態１の変形例１における目状態判定処理の一例を示すフローチャートである。
【図１２】本実施の形態１の変形例２における目状態判定処理の一例を示すフローチャートである。
【図１３】本開示の実施の形態２における目開閉検出システムの全体構成の一例を示すブロック図である。
【図１４】本実施の形態２における目状態判定処理の一例を示すフローチャートである。
【図１５】目が開いている状態の目検出領域の一例を示す図である。
【図１６】目が閉じている状態の目検出領域の一例を示す図である。
【図１７】本開示の実施の形態３における目開閉検出システムの全体構成の一例を示すブロック図である。
【図１８】本実施の形態３における目状態判定処理の一例を示すフローチャートである。
【図１９】目が開いている状態における、ＲＧＢ画像、ＨＳＶ画像及び二値画像の一例を示す図である。
【図２０】目が閉じている状態における、ＲＧＢ画像、ＨＳＶ画像及び二値画像の一例を示す図である。
【図２１】本開示の実施の形態４における目開閉検出システムの全体構成の一例を示すブロック図である。
【図２２】本開示の実施の形態４における目開閉検出装置の処理の一例を示すフローチャートである。
【図２３】モルフォロジー勾配演算が実行される前の二値画像を示す図である。
【図２４】二値画像に対して膨張処理及び収縮処理が実行された膨張画像及び収縮画像を示す図である。
【図２５】勾配画像を示す図である。
【図２６】本開示の実施の形態５における目開閉検出システムの全体構成の一例を示すブロック図である。
【図２７】本開示の実施の形態５における目開閉検出装置の処理の一例を示すフローチャートである。
【図２８】目尻及び目頭が検出された二値画像を示す図である。
【発明を実施するための形態】
【００１１】
（本開示の基礎となった知見）
上記の特許文献１における目の開閉の判定では、二値化処理した画素のうち黒色画素の割合が閾値以上になった場合には目が開いていると判定され、黒色画素の割合が閾値より小さい場合には目が閉じていると判定される。
【００１２】
また、上記の特許文献２における目の開閉の判定では、右目領域及び左目領域のそれぞれにおいて、二値化した一方の白色の画素数が事前に指定した画素数よりも多い場合には目が開いていると判定され、二値化した一方の白色の画素数が事前に指定した画素数以下である場合には目が閉じていると判定される。
【００１３】
人の目の大きさ及び形状には個人差がある。また、人の目の大きさ及び形状は、つけまつげ及び化粧の影響により変化するおそれがある。そのため、上記の従来技術のように、二値化した一方の画素の割合又は二値化した一方の画素の数に応じて目の開閉状態を検出したとしても、人の目の開閉状態を高い精度で検出することは困難である。
【００１４】
以上の課題を解決するために、本開示の一態様に係る目開閉検出方法は、コンピュータが、撮像装置により撮像された人の顔を含む第１画像を取得し、前記第１画像から前記人の目の領域を含む第２画像を生成し、前記第２画像を二値化して、階調値が閾値より小さい画素が第１輝度値で表され、階調値が閾値以上の画素が第２輝度値で表された第３画像を生成し、前記第３画像の高さと、前記第１輝度値を有する第１輝度領域内における上端画素と下端画素との間の縦方向の距離が最大となる最大高さとに基づき、前記人の目が開いている状態と閉じている状態とのいずれであるかを判定し、判定の結果に関する情報を出力する。
【００１５】
この構成によれば、人の目の領域を含む第２画像を二値化した第３画像の高さと、第１輝度値を有する第１輝度領域内における上端画素と下端画素との間の縦方向の距離が最大となる最大高さとに基づき、人の目が開いている状態と閉じている状態とのいずれであるかが判定される。したがって、人の目の大きさ及び形状の個人差による影響を抑制し、人の目の開閉状態の検出精度を向上させることができる。
【００１６】
また、上記の目開閉検出方法において、前記判定において、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに第１係数を乗算した値よりも大きいか否かを判定し、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに第１係数を乗算した値よりも大きいと判定した場合、前記目が開いている状態であると判定してもよい。
【００１７】
目が開いている状態と目が閉じている状態とでは、第３画像の高さに対する第１輝度領域内の最大高さの割合が異なる。目が開いている状態では、第３画像の高さと第１輝度領域内の最大高さとが実質的に同じになる。そのため、第１輝度領域内の最大高さと、第３画像の高さに第１係数を乗算した値とを比較することにより、目が開いている状態であることを高い精度で判定することができる。
【００１８】
また、上記の目開閉検出方法において、前記判定において、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに第１係数を乗算した値以下であると判定した場合、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに前記第１係数よりも小さい第２係数を乗算した値よりも小さいか否かを判定し、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに前記第２係数を乗算した値よりも小さいと判定した場合、前記目が閉じている状態であると判定してもよい。
【００１９】
目が開いている状態と目が閉じている状態とでは、第３画像の高さに対する第１輝度領域内の最大高さの割合が異なる。目が閉じている状態の第１輝度領域内の最大高さは、目が開いている状態の第１輝度領域内の最大高さよりも短くなる。そのため、第１輝度領域内の最大高さと、第３画像の高さに第１係数よりも小さい第２係数を乗算した値とを比較することにより、目が閉じている状態であることを高い精度で判定することができる。
【００２０】
また、上記の目開閉検出方法において、さらに、前記第１画像から、前記人の顔の領域を示す第４画像を生成し、前記判定において、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに前記第２係数を乗算した値以上であると判定した場合、前記第１輝度領域内の前記最大高さが、前記第４画像の高さに前記第２係数よりも小さい第３係数と前記第２係数とを乗算した値よりも小さいか否かを判定し、前記第１輝度領域内の前記最大高さが、前記第４画像の高さに前記第３係数と前記第２係数とを乗算した値よりも小さい場合、前記目が閉じている状態であると判定し、前記第１輝度領域内の前記最大高さが、前記第４画像の高さに前記第３係数と前記第２係数とを乗算した値以上である場合、前記目が開いている状態であると判定してもよい。
【００２１】
この構成によれば、人の目の領域を含む第３画像の高さに対する第１輝度領域内の最大高さの割合だけでなく、人の顔の領域を示す第４画像の高さに対する第１輝度領域内の最大高さの割合を用いて、人の目が開いている状態と閉じている状態とのいずれであるかが判定されるので、より高い精度で目の開閉状態を検出することができる。
【００２２】
また、上記の目開閉検出方法において、さらに、前記第１画像から、前記人の顔の領域を示す第４画像を生成し、前記判定において、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに前記第１係数を乗算した値以下であると判定した場合、前記第１輝度領域内の前記最大高さが、前記第４画像の高さに前記第１係数よりも小さい第２係数と前記第２係数よりも小さい第３係数とを乗算した値よりも小さいか否かを判定し、前記第１輝度領域内の前記最大高さが、前記第４画像の高さに前記第２係数と前記第３係数とを乗算した値よりも小さいと判定した場合、前記目が閉じている状態であると判定し、前記第１輝度領域内の前記最大高さが、前記第４画像の高さに前記第２係数と前記第３係数とを乗算した値以上である場合、前記目が開いている状態であると判定してもよい。
【００２３】
この構成によれば、人の目の領域を含む第３画像の高さに対する第１輝度領域内の最大高さの割合ではなく、人の顔の領域を示す第４画像の高さに対する第１輝度領域内の最大高さの割合を用いて、目が閉じているか否かが判定されるので、第３画像が適切に検出されていない場合であっても、高い精度で目の開閉状態を検出することができる。
【００２４】
また、上記の目開閉検出方法において、前記第２画像は矩形状であり、前記判定において、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに前記第２係数を乗算した値以上であると判定した場合、前記第２画像の高さと横幅との比率に基づいて、前記人の目が開いている状態と閉じている状態とのいずれであるかを判定してもよい。
【００２５】
閉じている状態の目の高さは、開いている状態の目の高さよりも短くなる傾向にある。そのため、第３画像の高さと第１輝度領域内の最大高さとを用いて目の開閉状態が判定できない場合であっても、人の目の領域を含む第２画像の縦横比を用いて目の開閉状態を判定することができ、人の目の開閉状態の検出精度を向上させることができる。
【００２６】
また、上記の目開閉検出方法において、前記第２画像は、赤色成分、緑色成分及び青色成分により表され、さらに、前記第１輝度領域内の前記最大高さが、前記第３画像の高さに前記第２係数を乗算した値以上であると判定した場合、前記第２画像から、色相成分、彩度成分及び明度成分により表される第５画像を生成し、さらに、前記第５画像の前記色相成分を二値化して、階調値が閾値より小さい画素が第３輝度値で表され、階調値が閾値以上の画素が第４輝度値で表された第６画像を生成し、さらに、前記第３輝度値を有する第３輝度領域に基づいて、前記人の目が開いている状態と閉じている状態とのいずれであるかを判定してもよい。
【００２７】
開いた目を撮像した可視光画像と、閉じた目を撮像した可視光画像との違いは、角膜部分に光が映り込んでいるか否かである。すなわち、開いた目の角膜部分には光が映り込んでいるのに対し、閉じた目には角膜自体が存在しない。角膜部分に映り込んだ光は、色相成分、彩度成分及び明度成分により表される色空間における色相成分に顕著に表れる。角膜部分に映り込んだ光に相当する特徴量は、色相成分、彩度成分及び明度成分により表される第５画像の色相成分を二値化した第６画像が生成されることにより抽出される。そのため、第３画像の高さと第１輝度領域内の最大高さとを用いて目の開閉状態が判定できない場合であっても、色相成分、彩度成分及び明度成分により表される第５画像の色相成分を二値化した第６画像における、角膜部分に映り込んだ光に相当する特徴量の有無が判定されることにより、目の開閉状態を判定することができ、人の目の開閉状態の検出精度を向上させることができる。
【００２８】
また、上記の目開閉検出方法において、さらに、前記第３画像に基づいて上まぶたの位置及び下まぶたの位置をそれぞれ検出してもよい。
【００２９】
この構成によれば、第３画像に基づいて上まぶたの位置及び下まぶたの位置がそれぞれ検出されるので、目の開閉状態と、上まぶたの位置及び下まぶたの位置とに基づいて、人の感情又は人の状態を推定することができる。
【００３０】
また、上記の目開閉検出方法において、前記上まぶたの位置及び前記下まぶたの位置の検出において、前記第３画像に対してモルフォロジー勾配演算を行うことによって前記上まぶたの位置及び前記下まぶたの位置を検出してもよい。
【００３１】
この構成によれば、二値化された第３画像に対してモルフォロジー勾配演算を行うことによって上まぶたの位置及び下まぶたの位置が検出されているため、上まぶたの位置及び下まぶたの位置を精度よく検出できる。
【００３２】
また、上記の目開閉検出方法において、前記第３画像は、前記人の左目及び右目のいずれか一方の二値画像であり、さらに、前記第３画像に基づいて目尻の位置及び目頭の位置をそれぞれ検出してもよい。
【００３３】
この構成によれば、第３画像に基づいて目尻の位置及び目頭の位置がそれぞれ検出されるので、目の開閉状態と、目尻の位置及び目頭の位置とに基づいて、人の感情又は人の状態を推定することができる。
【００３４】
また、上記の目開閉検出方法において、前記目尻の位置及び前記目頭の位置の検出において、前記第３画像において、前記第１輝度値を有する横方向の左端の画素の位置を前記目尻及び前記目頭のいずれか一方の位置として検出し、前記第１輝度値を有する前記横方向の右端の画素の位置を前記目尻及び前記目頭のいずれか他方の位置として検出してもよい。
【００３５】
この構成によれば、左目及び右目のいずれか一方の二値画像である第３画像において、第１輝度値を有する横方向の左端の画素の位置が、目尻及び目頭のいずれか一方の位置として検出され、第１輝度値を有する横方向の右端の画素の位置が目尻及び目頭のいずれか他方の位置として検出されている。そのため、目尻の位置及び目頭の位置を容易に検出できる。
【００３６】
また、上記の目開閉検出方法において、さらに、前記目が開いている状態と閉じている状態とのいずれであるかを示す情報をディスプレイに表示される前記人の顔画像に重畳して表示してもよい。
【００３７】
この構成によれば、目が開いている状態と閉じている状態とのいずれであるかを示す情報がディスプレイに表示される人の顔画像に重畳して表示されるので、目の開閉状態の判定結果をリアルタイムで顔画像上に表示することができる。
【００３８】
また、本開示は、以上のような特徴的な処理を実行する目開閉検出方法として実現することができるだけでなく、目開閉検出方法が実行する特徴的な方法に対応する特徴的な構成を備える目開閉検出装置などとして実現することもできる。また、このような目開閉検出方法に含まれる特徴的な処理をコンピュータに実行させるコンピュータプログラムとして実現することもできる。したがって、以下の他の態様でも、上記の目開閉検出方法と同様の効果を奏することができる。
【００３９】
本開示の他の態様に係る目開閉検出装置は、撮像装置により撮像された人の顔を含む第１画像を取得する取得部と、前記第１画像から前記人の目の領域を含む第２画像を生成する目領域検出部と、前記第２画像を二値化して、階調値が閾値より小さい画素が第１輝度値で表され、階調値が閾値以上の画素が第２輝度値で表された第３画像を生成する二値化処理部と、前記第３画像の高さと、前記第１輝度値を有する第１輝度領域内における上端画素と下端画素との間の縦方向の距離が最大となる最大高さとに基づき、前記人の目が開いている状態と閉じている状態とのいずれであるかを判定する判定部と、判定の結果に関する情報を出力する出力部と、を備える。
【００４０】
本開示の他の態様に係る目開閉検出プログラムは、コンピュータに、撮像装置により撮像された人の顔を含む第１画像を取得し、前記第１画像から前記人の目の領域を含む第２画像を生成し、前記第２画像を二値化して、階調値が閾値より小さい画素が第１輝度値で表され、階調値が閾値以上の画素が第２輝度値で表された第３画像を生成し、前記第３画像の高さと、前記第１輝度値を有する第１輝度領域内における上端画素と下端画素との間の縦方向の距離が最大となる最大高さとに基づき、前記人の目が開いている状態と閉じている状態とのいずれであるかを判定し、判定の結果に関する情報を出力する、処理を実行させる。
【００４１】
以下添付図面を参照しながら、本開示の実施の形態について説明する。なお、以下の実施の形態は、本開示を具体化した一例であって、本開示の技術的範囲を限定するものではない。
【００４２】
（実施の形態１）
図１は、本開示の実施の形態１における目開閉検出システム１００の外観図である。目開閉検出システム１００は、スマートフォン又はタブレット端末等の携帯端末装置により構成されている。但し、これは一例であり、目開閉検出システム１００は、据え置き型のコンピュータ又はクラウドサーバとカメラとディスプレイとを適宜組み合わせて構成されてもよい。
【００４３】
目開閉検出システム１００は、目開閉検出装置１、撮像装置２、及びディスプレイ３を含む。目開閉検出装置１は、撮像装置２により撮像された人Ｕ１の目の開閉状態を検出する。
【００４４】
撮像装置２は、携帯端末装置に実装されたカメラで構成されている。撮像装置２は、所定のフレームレートでカラーの可視光画像が取得可能なカメラである。
【００４５】
ディスプレイ３は、携帯端末装置に実装された液晶表示装置又は有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）表示装置等の表示装置で構成されている。ディスプレイ３は、撮像装置２が撮像した人Ｕ１の顔の画像を表示する。さらに、ディスプレイ３は、人Ｕ１の顔の画像に目開閉検出装置１が検出した目の開閉状態に関する情報を重畳表示させる。
【００４６】
図２は、本開示の実施の形態１における目開閉検出システム１００の全体構成の一例を示すブロック図である。目開閉検出装置１は、プロセッサ１０及びメモリ２０を備える。プロセッサ１０は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）で構成されている。プロセッサ１０は、画像取得部１１、目領域検出部１２、二値化処理部１３、目状態判定部１４及び出力部１５を備える。画像取得部１１、目領域検出部１２、二値化処理部１３、目状態判定部１４及び出力部１５は例えばプロセッサ１０が目開閉検出プログラムを実行することで実現される。
【００４７】
画像取得部１１は、撮像装置２により撮像された画像を取得する。ここで、取得される画像には、人Ｕ１の顔が含まれる。以下、顔が含まれる画像を顔画像と呼ぶ。画像取得部１１は、所定のフレームレートで撮像される顔画像を順次に取得する。顔画像は人の顔を含む第１画像の一例である。
【００４８】
目領域検出部１２は、顔画像から人の目の領域を含む目検出領域を生成する。目領域検出部１２は、画像取得部１１が取得した顔画像から人物の顔を示す顔領域を検出する。目領域検出部１２は、顔領域を検出するために予め作成された分類器に顔画像を入力することで顔領域を検出すればよい。この分類器は、例えば、ハール（Ｈａａｒ）状のカスケード分類器で構成される。顔領域は、例えば顔の全体を含む程度のサイズを持つ矩形状の領域である。顔領域は人の顔の領域を示す第４画像の一例である。
【００４９】
目領域検出部１２は、目検出領域を検出するために予め作成された分類器に顔領域を入力して目検出領域を検出する。この分類器は、例えばハール状のカスケード分類器で構成される。目検出領域は、上辺が上まぶたに接し、下辺が下まぶたに接し、左辺及び右辺のうちの１辺が目頭に接し、左辺及び右辺のうちの他辺が目尻に接する矩形状の領域である。目領域検出部１２は、左目を含む目検出領域と、右目を含む目検出領域とのそれぞれを顔領域から検出する。目検出領域は人の目の領域を含む第２画像の一例である。
【００５０】
以下、左目を含む目検出領域を「左目検出領域」と呼び、右目を含む目検出領域を「右目検出領域」と呼ぶ。両者を区別しない場合、単に目検出領域と呼ぶ。また、左目とは人Ｕ１を正面から見て左側に位置する目を指し、右目とは人Ｕ１を正面から見て右側に位置する目を指す。但し、これは一例であり、この関係は逆であってもよい。
【００５１】
二値化処理部１３は、目検出領域を二値化して、階調値が閾値より小さい画素が第１輝度値で表され、階調値が閾値以上の画素が第２輝度値で表された二値画像を生成する。二値画像は第３画像の一例である。目検出領域がカラー画像で構成されている場合、二値化処理部１３は、目検出領域を例えば０〜２５５の階調値を有するグレースケール画像に変換し、変換したグレースケール画像に対して二値化処理を実行すればよい。二値化処理としては、例えば大津の二値化処理が採用できる。第１輝度値は例えば白色であり、第２輝度値は例えば黒色である。すなわち、本実施の形態１では、暗い箇所は白色で表され、明るい箇所は黒色で表された二値画像が生成される。白色の輝度値は例えば２５５で表され、黒色の輝度値は例えば０で表される。
【００５２】
ここでは、撮像装置２が撮像する画像が８ビットで量子化された画像であるため、グレースケール画像は０〜２５５の階調値を有しているが、これは一例である。撮像装置２が撮像する画像が１６ビット等の他のビット数で量子化された画像であれば、グレースケール画像は、そのビット数で表現可能な階調値を有していればよい。
【００５３】
二値化処理部１３は、左目検出領域と右目検出領域とのそれぞれについて二値画像を生成すればよい。
【００５４】
目状態判定部１４は、二値画像の高さと、第１輝度値を有する第１輝度領域内における上端画素と下端画素との間の縦方向の距離が最大となる最大高さとに基づき、人の目が開いている状態と閉じている状態とのいずれであるかを判定する。
【００５５】
具体的には、目状態判定部１４は、第１輝度領域内の最大高さが、二値画像の高さに第１係数を乗算した値よりも大きいか否かを判定する。第１係数は、例えば０．９である。目状態判定部１４は、第１輝度領域内の最大高さが、二値画像の高さに第１係数を乗算した値よりも大きいと判定した場合、目が開いている状態であると判定する。
【００５６】
また、目状態判定部１４は、第１輝度領域内の最大高さが、二値画像の高さに第１係数を乗算した値以下であると判定した場合、第１輝度領域内の最大高さが、二値画像の高さに第１係数よりも小さい第２係数を乗算した値よりも小さいか否かを判定する。第２係数は、例えば０．６である。目状態判定部１４は、第１輝度領域内の最大高さが、二値画像の高さに第２係数を乗算した値よりも小さいと判定した場合、目が閉じている状態であると判定する。
【００５７】
出力部１５は、判定の結果に関する情報を出力する。出力部１５は、画像取得部１１が取得した顔画像に、目状態判定部１４が判定した目の開閉状態を示す情報を重畳して表示画面を生成し、表示画面をディスプレイ３に表示する。
【００５８】
メモリ２０は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）又はフラッシュメモリ等の各種情報を記憶可能な記憶装置である。メモリ２０は、プロセッサ１０の作業領域として使用される。また、メモリ２０は、目状態判定部１４が判定した目の開閉状態を示す情報を、画像取得部１１が取得した顔画像に対応付けて記憶してもよい。
【００５９】
目の開閉状態を示す情報が対応付けられた顔画像は、顔画像から目の開閉状態を識別するための識別モデルを機械学習する際の教師データとして用いることができる。すなわち、出力部１５は、目の開閉状態を示す情報をラベルとして顔画像に付与し、ラベルが付与された顔画像をメモリ２０に記憶してもよい。
【００６０】
続いて、本実施の形態１における目開閉検出装置１の目開閉検出処理について説明する。
【００６１】
図３は、本開示の実施の形態１における目開閉検出装置１の目開閉検出処理の一例を示すフローチャートである。なお、図３に示すフローチャートは、所定のサンプリング周期で実行される。所定のサンプリング周期は例えば撮像装置２のフレーム周期である。
【００６２】
まず、ステップＳ１において、画像取得部１１は、撮像装置２から顔画像を取得する。
【００６３】
次に、ステップＳ２において、目領域検出部１２は、顔領域を検出する分類器に顔画像を入力し、顔領域を検出する。
【００６４】
図５は、顔画像４０から検出される顔領域４１の一例を示す図である。図５に示すように、目領域検出部１２は、額の上部と顎の下部と、耳の生え際とを含む矩形状の領域を顔領域４１として検出している。ここでは、顔領域４１は髪の全体を含んでいないが、髪の全体を含む領域であってもよい。図５では、顔画像４０は人Ｕ１を正面から撮影した画像であるため、左目と右目とが含まれている。また、図５に示すように、人Ｕ１の左目は開いており、人Ｕ１の右目は閉じている。
【００６５】
次に、ステップＳ３において、目領域検出部１２は、ステップＳ２で抽出した顔領域４１を、目検出領域を検出する分類器に入力して目検出領域を検出する。図５に示すように、目領域検出部１２は、目全域を含む矩形状の領域を目検出領域４２１，４２２として検出している。目検出領域４２１は、左目に対応しており、目検出領域４２２は、右目に対応している。
【００６６】
図６は、左目に対応する目検出領域４２１の一例を示す図であり、図７は、右目に対応する目検出領域４２２の一例を示す図である。図６に示すように、目検出領域４２１は、開かれた左目の全域を含む矩形状の領域である。また、図７に示すように、目検出領域４２２は、閉じられた右目の全域を含む矩形状の領域である。図５に示す顔領域４１からは、図６に示す左目に対応する目検出領域４２１と、図７に示す右目に対応する目検出領域４２２とが抽出されている。
【００６７】
目が開かれた状態の目検出領域４２１において、上辺は上まぶたに接しており、下辺は下まぶたに接しており、右辺は目頭に接しており、左辺は目尻に接している。また、目が閉じられた状態の目検出領域４２２において、上辺は上まぶたに接しており、下辺はまつげの先端部分に接しており、右辺は目尻に接しており、左辺は目頭に接している。
【００６８】
次に、ステップＳ４において、二値化処理部１３は、ステップＳ３で検出された目検出領域４２１，４２２をグレースケール画像に変換する。グレースケール画像への変換処理としては、例えば目検出領域４２１，４２２を構成する各画素の赤色成分、緑色成分、青色成分のそれぞれの階調値の平均を算出する処理が採用できる。但し、これは一例であり、グレースケール画像への変換処理としては他の処理が採用されてもよい。
【００６９】
次に、ステップＳ５において、二値化処理部１３は、グレースケール画像に変換された目検出領域４２１，４２２を二値化して二値画像４３１，４３２を生成する。
【００７０】
図８は、左目に対応する二値画像４３１の一例を示す図であり、図９は、右目に対応する二値画像４３２の一例を示す図である。二値化処理部１３は、グレースケール画像に変換された目検出領域４２１，４２２を二値化して二値画像４３１，４３２を生成する。
【００７１】
左目は開かれている。そのため、図８の例では、左目に対応する目検出領域４２１において瞳、まつ毛及び白目の一部の暗い部位の画素が白色の画素で表され、白目の他部及び肌の明るい部位の画素が黒色の画素で表された二値画像４３１が生成されている。図８の例では、二値画像４３１は、白色の画素で構成された一塊の白色領域５１と、黒色の画素で構成された一塊の黒色領域５２とを含む。
【００７２】
右目は閉じられている。そのため、図９の例では、右目に対応する目検出領域４２２においてまつ毛及び上まぶたの縁の暗い部位の画素が白色の画素で表され、肌の明るい部位の画素が黒色の画素で表された二値画像４３２が生成されている。図９の例では、二値画像４３２は、白色の画素で構成された一塊の白色領域６１と、黒色の画素で構成された一塊の黒色領域６２とを含む。
【００７３】
次に、ステップＳ６において、目状態判定部１４は、二値画像の高さと、第１輝度値を有する第１輝度領域内における上端画素と下端画素との間の縦方向の距離が最大となる最大高さとに基づき、人の目が開いている状態と閉じている状態とのいずれであるかを判定する目状態判定処理を実行する。目状態判定部１４は、左目検出領域及び右目検出領域のそれぞれに対して、人の目が開いている状態と閉じている状態とのいずれであるかを判定する。なお、目状態判定処理については、図４を用いて後述する。
【００７４】
次に、ステップＳ７において、出力部１５は、目状態判定部１４によって判定された目の開閉状態の判定結果を示す判定結果情報を出力する。出力部１５は、ステップＳ６で判定された目の開閉状態の判定結果を示す判定結果情報がステップＳ１で取得された顔画像に重畳された表示画面を生成し、ディスプレイ３に表示する。図３のフローチャートが所定のサンプリング周期で繰り返されることにより、目の開閉状態の判定結果を示す判定結果情報が顔画像に重畳された表示画面がディスプレイ３にリアルタイムで表示される。
【００７５】
続いて、図３のステップＳ６の目状態判定処理について説明する。
【００７６】
図４は、図３のステップＳ６の目状態判定処理の一例を示すフローチャートである。
【００７７】
まず、ステップＳ１１において、目状態判定部１４は、第１輝度値を有する白色領域内における上端画素と下端画素との間の縦方向の距離が最大となる最大高さを算出する。目状態判定部１４は、図８に示す二値画像４３１の白色領域５１に対し、各Ｘ座標におけるＹ軸上の白色画素の数を計数することにより、白色領域５１の各Ｘ座標の高さを算出する。なお、高さは、縦方向の白色画素の数で表される。目状態判定部１４は、白色領域５１の左端から右端に向かってＸ座標を１画素ずつ順にずらしながら各Ｘ座標における高さを算出する。目状態判定部１４は、白色領域５１内において、高さが最大となるＸ座標とその高さを算出する。
【００７８】
なお、目状態判定処理は、左目に対応する目検出領域４２１と、右目に対応する目検出領域４２２とが検出されている場合、左目及び右目のそれぞれに対応する二値画像４３１，４３２に対して行われる。そのため、目状態判定部１４は、図９に示す二値画像４３２の白色領域６１に対しても、各Ｘ座標におけるＹ軸上の白色画素の数を計数することにより、白色領域５６の各Ｘ座標の高さを算出する。目状態判定部１４は、白色領域６１の左端から右端に向かってＸ座標を１画素ずつ順にずらしながら各Ｘ座標における高さを算出する。目状態判定部１４は、白色領域６１内において、高さが最大となるＸ座標とその高さを算出する。
【００７９】
次に、ステップＳ１２において、目状態判定部１４は、白色領域の最大高さが、目検出領域の二値画像の高さに０．９を乗算した値よりも大きいか否かを判定する。
【００８０】
ここで、白色領域の最大高さが、目検出領域の二値画像の高さに０．９を乗算した値よりも大きいと判定された場合（ステップＳ１２でＹＥＳ）、ステップＳ１３において、目状態判定部１４は、目が開いている状態であると判定する。すなわち、図８に示すように、目が開いている場合、目検出領域４２１の二値画像４３１の高さ５３に対する白色領域５１の最大高さ５４の割合は、１に近づく。そのため、白色領域５１の最大高さ５４が、目検出領域４２１の二値画像４３１の高さに０．９を乗算した値よりも大きい場合、目状態判定部１４は、目検出領域４２１内の目が開いている状態であると判定する。
【００８１】
一方、白色領域の最大高さが、目検出領域の二値画像の高さに０．９を乗算した値以下であると判定された場合（ステップＳ１２でＮＯ）、ステップＳ１４において、目状態判定部１４は、白色領域の最大高さが、目検出領域の二値画像の高さに０．６を乗算した値よりも小さいか否かを判定する。
【００８２】
ここで、白色領域の最大高さが、目検出領域の二値画像の高さに０．６を乗算した値よりも小さいと判定された場合（ステップＳ１４でＹＥＳ）、ステップＳ１５において、目状態判定部１４は、目が閉じている状態であると判定する。すなわち、図９に示すように、目が閉じている場合、白色領域６１の最大高さ６４は、目検出領域４２２の二値画像４３２の高さ６３の６０％の長さを下回る。そのため、白色領域６１の最大高さ６４が、目検出領域４２２の二値画像４３２の高さに０．６を乗算した値よりも小さい場合、目状態判定部１４は、目検出領域４２２内の目が閉じている状態であると判定する。
【００８３】
一方、白色領域の最大高さが、目検出領域の二値画像の高さに０．６を乗算した値以上であると判定された場合（ステップＳ１４でＮＯ）、ステップＳ１６において、目状態判定部１４は、目の開閉状態の判定が不可能であると判定する。
【００８４】
なお、目状態判定部１４によって目の開閉状態の判定が不可能であると判定された場合、出力部１５は、目の開閉状態の判定が不可能であることを示す判定結果情報を出力してもよいし、判定結果情報を出力しなくてもよい。
【００８５】
また、本実施の形態１において、ステップＳ１２でＮＯであった場合、目状態判定部１４は、ステップＳ１４の処理を行わず、目が閉じていると判定してもよい。
【００８６】
また、本実施の形態１において、ステップＳ１１の処理が行われた後、目状態判定部１４は、ステップＳ１２の処理を行わず、白色領域の最大高さが、目検出領域の二値画像の高さに０．６を乗算した値よりも小さいか否かを判定してもよい。そして、白色領域の最大高さが、目検出領域の二値画像の高さに０．６を乗算した値よりも小さいと判定された場合、目状態判定部１４は、目が閉じている状態であると判定してもよい。また、白色領域の最大高さが、目検出領域の二値画像の高さに０．６を乗算した値以上であると判定された場合、目状態判定部１４は、目が開いている状態であると判定してもよい。
【００８７】
図１０は、ディスプレイ３に表示される表示画面の一例を示す図である。
【００８８】
出力部１５は、目が開いている状態と閉じている状態とのいずれであるかを示す判定結果情報をディスプレイ３に表示される人の顔画像に重畳して表示する。図１０に示すように、ディスプレイ３は、顔画像４０に、判定結果情報４４１，４４２を重畳して表示する。判定結果情報４４１は、目が開いている状態を示しており、目検出領域４２１を示す枠の近傍に表示される。
【００８９】
例えば、目が開いていることを示す「ＯＰＥＮ」という文字が判定結果情報４４１としてディスプレイ３に表示される。一方、判定結果情報４４２は、目が閉じている状態を示しており、目検出領域４２２を示す枠の近傍に表示される。例えば、目が閉じていることを示す「ＣＬＯＳＥ」という文字が判定結果情報４４２としてディスプレイ３に表示される。なお、判定結果情報４４１，４４２の提示方法は一例である。ディスプレイ３は、目が開いていることを示す目検出領域４２１と、目が閉じていることを示す目検出領域４２２とを異なる態様で表示してもよい。異なる態様とは、例えば、色を変えたりすることである。
【００９０】
また、目開閉検出システム１００は、スピーカをさらに備えてもよい。例えば、出力部１５は、目状態判定部１４によって目が閉じられていると判定された場合、音をスピーカから出力してもよい。
【００９１】
このように、人の目の領域を含む目検出領域を二値化した二値画像の高さと、第１輝度値を有する第１輝度領域内における上端画素と下端画素との間の縦方向の距離が最大となる最大高さとに基づき、人の目が開いている状態と閉じている状態とのいずれであるかが判定される。したがって、人の目の大きさ及び形状の個人差による影響を抑制し、人の目の開閉状態の検出精度を向上させることができる。
【００９２】
続いて、本実施の形態１の変形例１における目開閉検出システムについて説明する。
【００９３】
本実施の形態１では、目検出領域が適切に検出されていない場合、実際には目が開いている状態であっても、図４のステップＳ１２でＹＥＳと判定されず、ステップＳ１４以降の処理で、目が開いている状態であると判定されない可能性がある。そこで、本実施の形態１の変形例１では、さらに、顔領域の高さを用いて目の開閉状態が判定される。
【００９４】
なお、実施の形態１の変形例１における目開閉検出システムの構成は、実施の形態１における目開閉検出システムの構成と同じである。そのため、以下では、図１及び図２を用いて実施の形態１の変形例１における目開閉検出システムの構成を説明する。
【００９５】
実施の形態１の変形例１における目状態判定部１４は、第１輝度領域内の最大高さが、二値画像の高さに第２係数を乗算した値以上であると判定した場合、第１輝度領域内の最大高さが、顔領域の高さに第２係数よりも小さい第３係数と第２係数とを乗算した値よりも小さいか否かを判定する。そして、目状態判定部１４は、第１輝度領域内の最大高さが、顔領域の高さに第３係数と第２係数とを乗算した値よりも小さい場合、目が閉じている状態であると判定する。また、目状態判定部１４は、第１輝度領域内の最大高さが、顔領域の高さに第３係数と第２係数とを乗算した値以上である場合、目が開いている状態であると判定する。顔領域は人の顔の領域を示す第４画像の一例である。第２係数は、例えば０．６である。第３係数は、例えば０．１５である。
【００９６】
顔領域の高さに０．１５を乗算した値は、目の垂直方向の長さ、すなわち目の高さに相当するといえる。そこで、目状態判定部１４は、第１輝度領域内の最大高さが、顔領域の高さに第３係数と第２係数とを乗算した値よりも小さいか否かを判定する。なお、第３係数は、０．１５に限定されず、顔領域の高さに対する目の高さの割合を示す値であればよい。
【００９７】
続いて、本実施の形態１の変形例１における目状態判定処理について説明する。なお、本実施の形態１の変形例１において、目状態判定処理以外の目開閉検出処理は、図３に示す本実施の形態１における目開閉検出処理と同じである。
【００９８】
図１１は、本実施の形態１の変形例１における目状態判定処理の一例を示すフローチャートである。
【００９９】
ステップＳ２１〜ステップＳ２５の処理は、図４のステップＳ１１〜ステップＳ１５の処理と同じであるので、説明を省略する。
【０１００】
白色領域の最大高さが、目検出領域の二値画像の高さに０．６を乗算した値以上であると判定された場合（ステップＳ２４でＮＯ）、ステップＳ２６において、目状態判定部１４は、白色領域の最大高さが、顔領域の高さに０．１５及び０．６を乗算した値よりも小さいか否かを判定する。
【０１０１】
ここで、白色領域の最大高さが、顔領域の高さに０．１５及び０．６を乗算した値よりも小さいと判定された場合（ステップＳ２６でＹＥＳ）、ステップＳ２７において、目状態判定部１４は、目が閉じている状態であると判定する。
【０１０２】
一方、白色領域の最大高さが、顔領域の高さに０．１５及び０．６を乗算した値以上であると判定された場合（ステップＳ２６でＮＯ）、ステップＳ２８において、目状態判定部１４は、目が開いている状態であると判定する。
【０１０３】
このように、本実施の形態１の変形例１では、目検出領域の二値画像の高さに対する白色領域の最大高さの割合だけでなく、顔領域の高さに対する白色領域の最大高さの割合を用いて、目の開閉状態が判定されるので、より高い精度で目の開閉状態を検出することができる。
【０１０４】
続いて、本実施の形態１の変形例２における目開閉検出システム１００について説明する。
【０１０５】
本実施の形態１では、目検出領域の二値画像の高さを用いて目が閉じている状態であるか否かが判定されている。これに対し、本実施の形態１の変形例２では、顔領域の高さを用いて目が閉じている状態であるか否かが判定される。
【０１０６】
なお、実施の形態１の変形例２における目開閉検出システムの構成は、実施の形態１における目開閉検出システムの構成と同じである。そのため、以下では、図１及び図２を用いて実施の形態１の変形例２における目開閉検出システムの構成を説明する。
【０１０７】
実施の形態１の変形例２における目状態判定部１４は、第１輝度領域内の最大高さが、二値画像の高さに第１係数を乗算した値以下であると判定した場合、第１輝度領域内の最大高さが、顔領域の高さに第１係数よりも小さい第２係数と第２係数よりも小さい第３係数とを乗算した値よりも小さいか否かを判定する。そして、目状態判定部１４は、第１輝度領域内の最大高さが、顔領域の高さに第２係数と第３係数とを乗算した値よりも小さいと判定した場合、目が閉じている状態であると判定する。また、目状態判定部１４は、第１輝度領域内の最大高さが、顔領域の高さに第２係数と第３係数とを乗算した値以上であると判定した場合、目が開いている状態であると判定する。顔領域は人の顔の領域を示す第４画像の一例である。第２係数は、例えば０．６である。第３係数は、例えば０．１５である。
【０１０８】
続いて、本実施の形態１の変形例２における目状態判定処理について説明する。なお、本実施の形態１の変形例２において、目状態判定処理以外の目開閉検出処理は、図３に示す本実施の形態１における目開閉検出処理と同じである。
【０１０９】
図１２は、本実施の形態１の変形例２における目状態判定処理の一例を示すフローチャートである。
【０１１０】
ステップＳ３１〜ステップＳ３３の処理は、図４のステップＳ１１〜ステップＳ１３の処理と同じであるので、説明を省略する。
【０１１１】
白色領域の最大高さが、目検出領域の二値画像の高さに０．９を乗算した値以下であると判定された場合（ステップＳ３２でＮＯ）、ステップＳ３４において、目状態判定部１４は、白色領域の最大高さが、顔領域の高さに０．１５及び０．６を乗算した値よりも小さいか否かを判定する。
【０１１２】
ここで、白色領域の最大高さが、顔領域の高さに０．１５及び０．６を乗算した値よりも小さいと判定された場合（ステップＳ３４でＹＥＳ）、ステップＳ３５において、目状態判定部１４は、目が閉じている状態であると判定する。
【０１１３】
一方、白色領域の最大高さが、顔領域の高さに０．１５及び０．６を乗算した値以上であると判定された場合（ステップＳ３４でＮＯ）、ステップＳ３６において、目状態判定部１４は、目が開いている状態であると判定する。
【０１１４】
このように、本実施の形態１の変形例２では、目検出領域の二値画像の高さに対する白色領域の最大高さの割合ではなく、顔領域の高さに対する白色領域の最大高さの割合を用いて、目が閉じているか否かが判定されるので、目検出領域が適切に検出されていない場合であっても、高い精度で目の開閉状態を検出することができる。
【０１１５】
（実施の形態２）
実施の形態１では、目状態判定部１４は、白色領域の最大高さが、目検出領域の二値画像の高さに第２係数（例えば、０．６）を乗算した値以上であると判定した場合、目の開閉状態の判定が不可能であると判定している。これに対し、実施の形態２では、白色領域の最大高さが、目検出領域の二値画像の高さに第２係数（例えば、０．６）を乗算した値以上であると判定された場合、二値画像の縦横比を用いて目の開閉状態が判定される。
【０１１６】
図１３は、本開示の実施の形態２における目開閉検出システム１００Ａの全体構成の一例を示すブロック図である。なお、実施の形態２において、実施の形態１と同一の構成要素には同一の符号を付して説明を省略する。
【０１１７】
目開閉検出装置１Ａは、プロセッサ１０Ａ及びメモリ２０を備える。プロセッサ１０Ａは、実施の形態１の目開閉検出装置１のプロセッサ１０に対して、さらに縦横比判定部１６を備えている。
【０１１８】
縦横比判定部１６は、第１輝度領域内の前記最大高さが、二値画像の高さに第２係数を乗算した値以上であると判定した場合、目検出領域の縦横比（高さと横幅との比率）に基づいて、人の目が開いている状態と閉じている状態とのいずれであるかを判定する。
【０１１９】
一般的に、開いている状態の目と閉じている状態の目とでは、目の縦横比が異なる傾向にある。すなわち、閉じている状態の目の高さは、開いている状態の目の高さよりも短くなる傾向にある。そこで、縦横比判定部１６は、目検出領域の縦横比と閾値とを比較することにより、目の開閉状態を判定する。
【０１２０】
より具体的には、縦横比判定部１６は、目検出領域の縦横比が閾値以上であるか否かを判定する。目検出領域の縦横比は、矩形状の目検出領域の横幅（水平方向の長さ）を高さ（垂直方向の長さ）で除算した値である。縦横比判定部１６は、目検出領域の縦横比が閾値以上であると判定した場合、目が閉じている状態であると判定する。また、縦横比判定部１６は、目検出領域の縦横比が閾値より小さいと判定した場合、目が開いている状態であると判定する。
【０１２１】
なお、本実施の形態２では、縦横比判定部１６は、目検出領域の縦横比に基づいて、人の目が開いている状態と閉じている状態とのいずれであるかを判定しているが、本開示は特にこれに限定されず、目検出領域の二値画像の縦横比に基づいて、人の目が開いている状態と閉じている状態とのいずれであるかを判定してもよい。
【０１２２】
続いて、本実施の形態２における目状態判定処理について説明する。なお、本実施の形態２において、目状態判定処理以外の目開閉検出処理は、図３に示す本実施の形態１における目開閉検出処理と同じである。
【０１２３】
図１４は、本実施の形態２における目状態判定処理の一例を示すフローチャートである。
【０１２４】
ステップＳ４１〜ステップＳ４５の処理は、図４のステップＳ１１〜ステップＳ１５の処理と同じであるので、説明を省略する。
【０１２５】
白色領域の最大高さが、目検出領域の二値画像の高さに０．６を乗算した値以上であると判定された場合（ステップＳ４４でＮＯ）、ステップＳ４６において、縦横比判定部１６は、目検出領域の横幅（水平方向の長さ）を高さ（垂直方向の長さ）で除算することにより、目検出領域の縦横比を算出する。
【０１２６】
図１５は、目が開いている状態の目検出領域４２１の一例を示す図であり、図１６は、目が閉じている状態の目検出領域４２２の一例を示す図である。
【０１２７】
図１５及び図１６に示すように、目検出領域４２１，４２２は矩形状である。図１５に示す目検出領域４２１は、開いている状態の目を含む。図１６に示す目検出領域４２２は、閉じている状態の目を含む。
【０１２８】
目検出領域４２１の横幅は、例えば２６３ピクセルであり、目検出領域４２１の高さは、例えば８０ピクセルである。目検出領域４２１の縦横比は、例えば３．２９である。また、目検出領域４２２の横幅は、例えば２８８ピクセルであり、目検出領域４２１の高さは、例えば６４ピクセルである。目検出領域４２１の縦横比は、例えば４．５である。
【０１２９】
このように、目が閉じている状態の目検出領域４２２の縦横比は、目が開いている状態の目検出領域４２１の縦横比よりも大きくなる。
【０１３０】
図１４に戻って、次に、ステップＳ４７において、縦横比判定部１６は、目検出領域の縦横比が閾値以上であるか否かを判定する。閾値は、例えば４．０である。ここで、目検出領域の縦横比が閾値以上であると判定された場合（ステップＳ４７でＹＥＳ）、ステップＳ４８において、縦横比判定部１６は、目が閉じている状態であると判定する。
【０１３１】
一方、目検出領域の縦横比が閾値より小さいと判定された場合（ステップＳ４７でＮＯ）、ステップＳ４９において、縦横比判定部１６は、目が開いている状態であると判定する。
【０１３２】
このように、二値画像の高さと白色領域の最大高さとを用いて目の開閉状態が判定できない場合であっても、目検出領域の縦横比を用いて目の開閉状態を判定することができ、人の目の開閉状態の検出精度を向上させることができる。
【０１３３】
（実施の形態３）
実施の形態１では、目状態判定部１４は、白色領域の最大高さが、目検出領域の二値画像の高さに第２係数（例えば、０．６）を乗算した値以上であると判定した場合、目の開閉状態の判定が不可能であると判定している。これに対し、実施の形態３では、白色領域の最大高さが、目検出領域の二値画像の高さに第２係数（例えば、０．６）を乗算した値以上であると判定された場合、赤色成分、緑色成分及び青色成分により表される目検出領域が、色相（Ｈｕｅ）成分、彩度（Ｓａｔｕｒａｔｉｏｎ）成分及び明度（Ｖａｌｕｅ）成分により表されるＨＳＶ画像に変換され、ＨＳＶ画像の色相成分の二値画像を用いて目の開閉状態が判定される。
【０１３４】
図１７は、本開示の実施の形態３における目開閉検出システム１００Ｂの全体構成の一例を示すブロック図である。なお、実施の形態２において、実施の形態１と同一の構成要素には同一の符号を付して説明を省略する。
【０１３５】
目開閉検出装置１Ｂは、プロセッサ１０Ｂ及びメモリ２０を備える。プロセッサ１０Ｂは、実施の形態１の目開閉検出装置１のプロセッサ１０に対して、さらにＨＳＶ変換部１７、二値化処理部１８及び白色領域判定部１９を備えている。
【０１３６】
ＨＳＶ変換部１７は、目状態判定部１４によって第１輝度領域内の最大高さが、二値画像の高さに第２係数を乗算した値以上であると判定された場合、赤色成分、緑色成分及び青色成分により表される目検出領域（ＲＧＢ画像）から、色相成分、彩度成分及び明度成分により表されるＨＳＶ画像を生成する。ＨＳＶ画像は第５画像の一例である。
【０１３７】
ＨＳＶ変換部１７は、ＲＧＢ画像をＨＳＶ画像に変換する変換式を用いて、目検出領域からＨＳＶ画像を生成する。なお、変換式は、従来技術であるので説明を省略する。
【０１３８】
二値化処理部１８は、ＨＳＶ画像の色相成分を二値化して、階調値が閾値より小さい画素が第３輝度値で表され、階調値が閾値以上の画素が第４輝度値で表された二値画像を生成する。二値画像は第６画像の一例である。二値化処理としては、例えば大津の二値化処理が採用できる。二値化処理部１８は、ＨＳＶ画像の色相成分に対して二値化処理を実行すればよい。第３輝度値は例えば白色であり、第４輝度値は例えば黒色である。白色の輝度値は例えば２５５で表され、黒色の輝度値は例えば０で表される。
【０１３９】
白色領域判定部１９は、第３輝度値を有する第３輝度領域に基づいて、人の目が開いている状態と閉じている状態とのいずれであるかを判定する。第３輝度値は白色を表している。白色領域判定部１９は、複数の白色画素が連続する白色領域を二値画像から検出する。白色領域判定部１９は、二値画像から検出された白色領域の数又は大きさに基づいて、人の目が開いている状態と閉じている状態とのいずれであるかを判定する。白色領域判定部１９は、二値画像から検出された白色領域の数が閾値以上である場合、目が開いている状態であると判定する。また、白色領域判定部１９は、二値画像から検出された白色領域の数が閾値より少ない場合、目が閉じている状態であると判定する。
【０１４０】
なお、白色領域判定部１９は、二値画像から検出された最も大きい白色領域の画素数が閾値以上である場合、目が開いている状態であると判定してもよい。また、白色領域判定部１９は、二値画像から検出された最も大きい白色領域の画素数が閾値より少ない場合、目が閉じている状態であると判定してもよい。また、白色領域判定部１９は、二値画像に白色領域がない場合、目が閉じている状態であると判定してもよい。
【０１４１】
続いて、本実施の形態３における目状態判定処理について説明する。なお、本実施の形態３において、目状態判定処理以外の目開閉検出処理は、図３に示す本実施の形態１における目開閉検出処理と同じである。
【０１４２】
図１８は、本実施の形態３における目状態判定処理の一例を示すフローチャートである。
【０１４３】
ステップＳ６１〜ステップＳ６５の処理は、図４のステップＳ１１〜ステップＳ１５の処理と同じであるので、説明を省略する。
【０１４４】
白色領域の最大高さが、目検出領域の二値画像の高さに０．６を乗算した値以上であると判定された場合（ステップＳ６４でＮＯ）、ステップＳ６６において、ＨＳＶ変換部１７は、ＲＧＢ色空間により表される目検出領域から、ＨＳＶ色空間により表されるＨＳＶ画像を生成する。
【０１４５】
次に、ステップＳ６７において、二値化処理部１８は、ＨＳＶ画像の色相成分を二値化して二値画像を生成する。
【０１４６】
次に、ステップＳ６８において、白色領域判定部１９は、二値画像にラベリング処理を実行する。ラベリング処理では、二値画像に対して、連続する複数の白色画素に同じ番号が割り振られる。このラベリング処理により、二値画像から、連続した複数の白色画素で構成される複数の白色領域が検出される。
【０１４７】
図１９は、目が開いている状態における、ＲＧＢ画像、ＨＳＶ画像及び二値画像の一例を示す図であり、図２０は、目が閉じている状態における、ＲＧＢ画像、ＨＳＶ画像及び二値画像の一例を示す図である。
【０１４８】
図１９に示すように、目が開いている状態の目検出領域（ＲＧＢ画像）には、角膜（黒目）部分に光が映り込んでいる。開いた目を撮像したＲＧＢ画像と、閉じた目を撮像したＲＧＢ画像との違いは、角膜部分に光が映り込んでいるか否かである。すなわち、開いた目の角膜部分には光が映り込んでいるのに対し、閉じた目には角膜自体が存在しない。角膜部分に映り込んだ光は、ＨＳＶ色空間における色相成分に顕著に表れる。角膜部分に映り込んだ光に相当する特徴量は、ＲＧＢ画像からＨＳＶ画像が生成されるとともに、ＨＳＶ画像の色相成分の二値画像が生成されることにより、抽出される。図１９に示すように、目が開いている状態の色相成分の二値画像には、角膜部分に映り込んだ光に相当する白色領域が現れている。一方、図２０に示すように、目が閉じている状態の色相成分の二値画像には、角膜部分に映り込んだ光に相当する白色領域が現れていない。白色領域判定部１９は、色相成分の二値画像における白色領域の数を計数することにより、目の開閉状態を判定することができる。
【０１４９】
図１８に戻って、ステップＳ６９において、白色領域判定部１９は、白色領域の数が閾値以上であるか否かを判定する。ここで、白色領域の数が閾値以上であると判定された場合（ステップＳ６９でＹＥＳ）、ステップＳ７０において、白色領域判定部１９は、目が開いている状態であると判定する。
【０１５０】
一方、白色領域の数が閾値より少ないと判定された場合（ステップＳ６９でＮＯ）、ステップＳ７１において、白色領域判定部１９は、目が閉じている状態であると判定する。
【０１５１】
このように、ＲＧＢ画像である目検出領域の二値画像の高さと白色領域の最大高さとを用いて目の開閉状態が判定できない場合であっても、目検出領域のＨＳＶ画像の色相成分から生成した二値画像を用いて目の開閉状態が判定することができ、人の目の開閉状態の検出精度を向上させることができる。
【０１５２】
なお、実施の形態２と実施の形態３とは組み合わせることが可能である。すなわち、図１４のステップＳ４７において、目検出領域の縦横比が閾値より小さいと判定された場合（ステップＳ４７でＮＯ）、図１８のステップＳ６６〜ステップＳ７１の処理が行われてもよい。
【０１５３】
（実施の形態４）
実施の形態１では、目の開閉状態が検出される。これに対し、実施の形態４では、さらに、上まぶたの位置及び下まぶたの位置が検出される。
【０１５４】
図２１は、本開示の実施の形態４における目開閉検出システム１００Ｃの全体構成の一例を示すブロック図である。実施の形態４における目開閉検出装置１Ｃは、さらに、上まぶたの位置及び下まぶたの位置を検出する。なお、実施の形態４において、実施の形態１と同一の構成要素には同一の符号を付して説明を省略する。
【０１５５】
目開閉検出装置１Ｃのプロセッサ１０Ｃは、実施の形態１の目開閉検出装置１のプロセッサ１０に対して、さらに、虹彩検出処理部２１、まぶた検出部２２及び状態推定部２４を備えている。
【０１５６】
虹彩検出処理部２１は、二値化処理部１３によって生成された二値画像において、第１輝度値を有する第１輝度領域内に表れる第２輝度値の画素であって所定の条件を満たす第２輝度値の画素を、第１輝度値の画素に置き換えて二値画像を生成する。そして、虹彩検出処理部２１は、二値画像を用いて人の虹彩の位置及び大きさの少なくとも一方に関する情報を含む虹彩情報を算出する。
【０１５７】
まぶた検出部２２は、二値化処理部１３により生成された二値画像に基づいて人Ｕ１の上まぶたの位置及び下まぶたの位置をそれぞれ検出する。まぶた検出部２２は、二値画像に対してモルフォロジー勾配演算を行うことによって上まぶたの位置及び下まぶたの位置を検出すればよい。まぶた検出部２２は、左目の二値画像及び右目の二値画像のそれぞれについて、上まぶたの位置及び下まぶたの位置を検出する。
【０１５８】
状態推定部２４は、目状態判定部１４によって判定された人の目の開閉状態と、まぶた検出部２２によって検出された人の上まぶたの位置及び下まぶたの位置とに基づいて、人の状態を推定する。人の状態は、例えば、人の覚醒度である。例えば、状態推定部２４は、目の開閉状態と、上まぶたの位置及び下まぶたの位置とに基づいて、人の覚醒度を推定する。
【０１５９】
人の状態は、例えば、人の疲労度であってもよい。例えば、状態推定部２４は、目の開閉状態と、上まぶたの位置及び下まぶたの位置とに基づいて、人の疲労度を推定してもよい。
【０１６０】
なお、状態推定部２４は、目状態判定部１４によって判定された人の目の開閉状態と、まぶた検出部２２によって検出された人の上まぶたの位置及び下まぶたの位置とに基づいて、人の感情を推定してもよい。
【０１６１】
続いて、実施の形態４における目開閉検出装置１Ｃの処理について説明する。
【０１６２】
図２２は、本開示の実施の形態４における目開閉検出装置１Ｃの処理の一例を示すフローチャートである。
【０１６３】
ステップＳ８１〜ステップＳ８６の処理は、図３のステップＳ１〜ステップＳ６の処理と同じであるので、説明を省略する。
【０１６４】
次に、ステップＳ８７において、虹彩検出処理部２１は、二値化処理部１３によって生成された二値画像に対して虹彩検出処理を適用することによって、虹彩情報を算出する。
【０１６５】
ここで、虹彩検出処理部２１が実行する虹彩検出処理について説明する。
【０１６６】
まず、虹彩検出処理部２１は、二値画像をＸ方向に所定画素ずつ分離して複数の局所領域に分割する。例えば、虹彩検出処理部２１は、二値画像を横方向に均等に１０分割する。これにより、二値画像は、Ｙ方向を長手方向とする短冊状の１０個の局所領域に分けられる。ここで、虹彩検出処理部２１は、二値画像を１０個の局所領域に分割したが、これは一例である。分割数は、２以上９以下の整数又は１１以上の整数であってもよい。Ｙ方向とは、撮像装置２が撮像する画像の縦方向（垂直方向）を指す。
【０１６７】
次に、虹彩検出処理部２１は、１０個の局所領域のそれぞれの平均輝度値を算出する。
【０１６８】
次に、虹彩検出処理部２１は、虹彩推定中心位置のＸ座標を算出する。虹彩推定中心位置は、虹彩中心位置の推定位置であり、最終的に算出される虹彩中心位置とは異なる。二重まぶた、まつ毛の濃さ、及びつけまつ毛等の影響によりこれらの部位が白色領域として大きく表れることがある。この場合、白目の部位が塗りつぶされる可能性がある。このような事態を回避するために、本実施の形態２では虹彩推定中心位置が算出される。
【０１６９】
虹彩検出処理部２１は、複数の局所領域のうち、平均輝度値が最大である局所領域のＸ方向の中点の座標を虹彩推定中心位置のＸ座標として算出する。なお、局所領域のＸ方向の幅によっては、局所領域のＸ方向の中点が虹彩推定中心位置のＸ座標として妥当でない場合もある。この場合、局所領域のＸ方向の左端又は右端が虹彩推定中心位置のＸ座標として算出されてもよい。
【０１７０】
次に、虹彩検出処理部２１は、虹彩推定中心位置のＹ座標を算出する。虹彩検出処理部２１は、虹彩推定中心位置のＸ座標が存在する局所領域において、白色画素の最上端点と、白色画素の最下端点とを検出し、最上端点と最下端点との中点を虹彩推定中心位置のＹ座標として算出する。なお、まつ毛及び化粧の影響で最上端点及び最下端点が左に隣接する局所領域又は右に隣接する局所領域に現れることもある。そこで、虹彩検出処理部２１は、虹彩推定中心位置のＸ座標が存在する局所領域と、当該局所領域の左右に隣接する２つの局所領域とにおいて最上端点及び最下端点を算出し、算出した３個の最上端点を平均して平均最上端点を求めるとともに算出した３個の最下端点を平均して平均最下端点を算出し、平均最上端点と平均最下端点との中点を虹彩推定中心位置のＹ座標として算出してもよい。
【０１７１】
次に、虹彩検出処理部２１は、二値画像に対して塗りつぶし処理を実行する。可視光画像においては、周囲の明るさ等により、角膜に外光又は背景等が映り込むことがある。この映り込みが大きい場合、黒色又は茶色である瞳内に白色などの明るい色の領域が現れる。この場合、目の画像を二値化すると、瞳領域内に黒色の島領域が現れ、虹彩情報を高精度に検出できなくなる。そこで、本実施の形態２では、黒色の島領域を塗りつぶす塗りつぶし処理を実行する。
【０１７２】
塗りつぶし処理の詳細は下記の通りである。まず、虹彩検出処理部２１は、二値画像に対して虹彩推定中心位置のＸ座標にＹ方向と平行な縦ラインを設定する。次に、虹彩検出処理部２１は、縦ラインにおいて二値画像の上端側から最初に現れる白色画素を上端画素として検出する。次に、虹彩検出処理部２１は、縦ラインにおいて二値画像の下端側から最初に現れる白色画素を下端画素として検出する。次に、虹彩検出処理部２１は、上端画素と下端画素間の距離が第１基準距離よりも大きいか否かを判定する。次に、虹彩検出処理部２１は、上端画素及び下端画素間の距離が第１基準距離よりも大きいと判定した場合、縦ラインにおいて上端画素及び下端画素間にある黒色画素を所定の条件を満たす黒色画素として判定し、この黒色画素を白色画素に置換する。一方、虹彩検出処理部２１は、上端画素と下端画素間の距離が第１基準距離以下と判定した場合、縦ラインに対する置換は行わない。第１基準距離としては、例えば、想定される虹彩直径を基準に妥当な距離が採用される。
【０１７３】
虹彩検出処理部２１は、このような塗りつぶし処理を虹彩推定中心位置からＸ方向の左側に向けて左基準距離の範囲内の各縦ラインについて実行すると共に虹彩推定中心位置からＸ方向の右側に向けて右基準距離の範囲内の各縦ラインについて実行する。左基準距離範囲と右基準距離範囲との和は第２基準距離の一例である。左基準距離範囲と右基準距離範囲とは例えば同じ範囲である。第２基準距離としては、例えば、想定される虹彩直径よりも多少大きな距離が採用される。これにより、瞳領域に位置する縦ラインに対して重点的に塗りつぶし処理を適用することができる。
【０１７４】
次に、虹彩検出処理部２１は、瞳領域の左端画素及び右端画素をそれぞれ検出する。虹彩検出処理部２１は、二値画像の白色領域において、虹彩推定中心位置を起点として、Ｘ方向を左右に１画素ずつ輝度値の変化を調べる。そして、虹彩検出処理部２１は、Ｘ方向の左側に最初に現れる黒色画素を左端画素として検出すると共に、Ｘ方向の右側に最初に現れる黒色画素を右端画素として検出する。
【０１７５】
次に、虹彩検出処理部２１は、左端画素及び右端画素の中間位置を虹彩中心位置のＸ座標として算出する。
【０１７６】
次に、虹彩検出処理部２１は、瞳領域の上端画素及び下端画素をそれぞれ検出する。虹彩検出処理部２１は、二値画像の白色領域において、虹彩中心位置のＸ座標を起点として、Ｙ方向を上下に１画素ずつ輝度値の変化を調べる。そして、虹彩検出処理部２１は、Ｙ方向の上側に最初に現れる黒色画素を上端画素として検出すると共に、Ｙ方向の下側に最初に現れる黒色画素を下端画素として検出する。
【０１７７】
次に、虹彩検出処理部２１は、上端画素及び下端画素の中間位置を虹彩中心位置のＹ座標として算出する。以上により虹彩中心位置が算出される。
【０１７８】
以上が、虹彩検出処理の説明である。虹彩検出処理部２１は、虹彩中心位置を含む虹彩情報を算出する。
【０１７９】
次に、ステップＳ８８において、まぶた検出部２２は、モルフォロジー勾配演算により上まぶたの位置及び下まぶたの位置を検出する。
【０１８０】
図２３は、モルフォロジー勾配演算が実行される前の二値画像７０を示す図である。
【０１８１】
図２３の例では、目検出領域において瞳及びまつ毛等の暗い部位が白色で表され、白目及び肌等の明るい部位が黒色で表された二値画像７０が生成されている。図２３に示す白色領域Ｄ１は、白色の画素で構成されている。
【０１８２】
まず、まぶた検出部２２は、二値画像７０に対して膨張処理を適用する。膨張処理は、注目画素の近傍に少なくとも１つの白色画素があれば、注目画素を白色画素に置き換える処理である。次に、まぶた検出部２２は、二値画像７０に対して収縮処理を適用する。収縮処理は、注目画素の近傍に少なくとも１つの黒色画素があれば、注目画素を黒色画素に置き換える処理である。
【０１８３】
図２４は、二値画像７０に対して膨張処理及び収縮処理が実行された膨張画像８１及び収縮画像８２を示す図である。
【０１８４】
膨張処理が行われることにより、膨張画像８１に含まれる白色領域Ｄ１は二値画像７０に含まれる白色領域Ｄ１よりも膨張している。収縮処理が行われることにより、収縮画像８２に含まれる白色領域Ｄ１は二値画像７０に含まれる白色領域Ｄ１よりも収縮されている。
【０１８５】
次に、まぶた検出部２２は、膨張画像８１から収縮画像８２を減じることで勾配画像を算出する。
【０１８６】
図２５は、勾配画像８３を示す図である。勾配画像８３には、二値画像７０の白色領域Ｄ１のエッジＥ１が含まれている。
【０１８７】
次に、まぶた検出部２２は、エッジＥ１の最上端位置を上まぶたの位置Ｐ１０として検出する。なお、まぶた検出部２２は、虹彩検出処理部２１によって検出された虹彩中心位置Ｐ０を通る縦ラインと上側のエッジＥ１との交点を上まぶたの位置Ｐ１０として検出してもよい。また、まぶた検出部２２は、虹彩検出処理部２１によって検出された虹彩中心位置Ｐ０を通る縦ラインと下側のエッジＥ１との交点を下まぶたの位置Ｐ１１として検出する。これにより、輝度変化が薄く二値画像７０において明確に表れ難い下まぶたの位置を検出することができる。なお、まぶた検出部２２は、勾配画像８３の左端と右端とをつなぐ上側のエッジＥ１の部分を上まぶたラインとして検出してもよい。
【０１８８】
また、まぶた検出部２２は、エッジＥ１の最上端位置を上まぶたの位置Ｐ１０として検出し、検出した上まぶたの位置Ｐ１０から垂直下方向に伸ばした直線と最下端のエッジＥ１との交点を下まぶたの位置Ｐ１１として検出してもよい。この場合、虹彩中心位置Ｐ０の検出が不要となるため、ステップＳ８７の処理が省略可能となる。
【０１８９】
次に、ステップＳ８９において、状態推定部２４は、目状態判定部１４によって判定された人の目の開閉状態と、まぶた検出部２２によって検出された人の上まぶたの位置及び下まぶたの位置とに基づいて、人の状態を推定する。このとき、状態推定部２４は、目が開いている状態である場合、上まぶたの位置と下まぶたの位置との間の距離を算出する。状態推定部２４は、目検出領域の高さに対する、上まぶたの位置と下まぶたの位置との間の距離の割合を算出する。そして、状態推定部２４は、算出した割合が閾値以下である場合、人の覚醒度が低下していると推定する。また、状態推定部２４は、算出した割合が閾値より高い場合、人の覚醒度が高いと推定する。さらに、状態推定部２４は、両方の目が閉じている状態である場合、人が覚醒しておらず、睡眠状態であると推定する。
【０１９０】
なお、状態推定部２４は、算出した割合が閾値以下である場合、人の疲労度が高いと推定してもよい。また、状態推定部２４は、算出した割合が閾値より高い場合、人の疲労度が低いと推定してもよい。
【０１９１】
次に、ステップＳ９０において、出力部１５は、状態推定部２４による推定結果をステップＳ１で算出された顔画像に重畳することにより、表示画面を生成し、ディスプレイ３に表示する。例えば、表示画面には、顔画像とともに、人の状態（例えば、覚醒度）が表示される。なお、出力部１５は、人の目の開閉状態の判定結果を顔画像に重畳してディスプレイ３に表示してもよい。
【０１９２】
なお、状態推定部２４は、上まぶたの位置Ｐ１０の時系列データに基づいて、上まぶたが痙攣状態であるか否かを推定してもよい。すなわち、状態推定部２４は、上まぶたの位置Ｐ１０が所定期間内に所定間隔で上下している場合に、上まぶたが痙攣状態であると推定する。
【０１９３】
このように、目の開閉状態の判定結果と、上まぶたの位置及び下まぶたの位置の検出結果とを用いて、人の状態又は人の感情を推定することができる。
【０１９４】
（実施の形態５）
実施の形態１では、目の開閉状態が検出される。これに対し、実施の形態５では、さらに目尻の位置及び目頭の位置が検出される。
【０１９５】
図２６は、本開示の実施の形態５における目開閉検出システム１００Ｄの全体構成の一例を示すブロック図である。実施の形態５における目開閉検出装置１Ｄは、さらに目尻の位置及び目頭の位置を検出する。なお、実施の形態５において、実施の形態１及び実施の形態４と同一の構成要素には同一の符号を付して説明を省略する。
【０１９６】
目開閉検出装置１Ｄのプロセッサ１０Ｄは、実施の形態１の目開閉検出装置１のプロセッサ１０に対して、さらに、虹彩検出処理部２１、目尻目頭検出部２３及び状態推定部２４Ｄを備えている。
【０１９７】
目尻目頭検出部２３は、二値化処理部１３により生成された二値画像から目尻の位置及び目頭の位置のそれぞれを検出する。目尻目頭検出部２３は、人の左目及び右目のいずれか一方の二値画像に基づいて目尻の位置及び目頭の位置をそれぞれ検出する。ここで、目尻目頭検出部２３は、左目の二値画像及び右目の二値画像のそれぞれについて、目尻の位置及び目頭の位置を検出する。
【０１９８】
目尻目頭検出部２３は、二値画像において、第１輝度値を有する横方向の左端の画素の位置を目尻及び目頭のいずれか一方の位置として検出し、第１輝度値を有する横方向の右端の画素の位置を目尻及び目頭のいずれか他方の位置として検出する。
【０１９９】
状態推定部２４Ｄは、目状態判定部１４によって判定された人の目の開閉状態と、目尻目頭検出部２３によって検出された人の目尻の位置及び目頭の位置と、虹彩検出処理部１６によって検出された虹彩中心位置とに基づいて、人の状態を推定する。人の状態は、例えば、人が当惑している状態、人が動揺している状態又は人が緊張している状態である。例えば、状態推定部２４Ｄは、目の開閉状態と、目尻の位置及び目頭の位置と、虹彩中心位置とに基づいて、人が当惑している状態、人が動揺している状態又は人が緊張している状態であることを推定する。
【０２００】
具体的には、人が当惑している場合、人が動揺している場合又は人が緊張している場合、目の開閉回数（瞬きの回数）が通常より増えるとともに、瞳が左右に小刻みに動く傾向にある。そこで、状態推定部２４Ｄは、目の開閉状態の時系列データに基づいて、所定時間内に所定回数以上瞬きをしているか否かを判定する。
【０２０１】
また、状態推定部２４Ｄは、虹彩中心位置と目尻の位置との間の距離、又は虹彩中心位置と目頭の位置との間の距離を算出する。状態推定部２４Ｄは、虹彩中心位置と目尻の位置との間の距離又は虹彩中心位置と目頭の位置との間の距離の時系列データに基づいて、虹彩中心位置が左右に小刻みに動いているか否かを判定する。すなわち、状態推定部２４Ｄは、虹彩中心位置と目尻の位置との間の距離が所定期間内に所定回数変化している場合に、虹彩中心位置が左右に小刻みに動いていると判定する。なお、状態推定部２４Ｄは、虹彩中心位置と目頭の位置との間の距離が所定期間内に所定回数変化している場合に、虹彩中心位置が左右に小刻みに動いていると判定してもよい。
【０２０２】
そして、状態推定部２４Ｄは、所定時間内に所定回数以上瞬きをしていると判定し、かつ虹彩中心位置が左右に小刻みに動いていると判定して場合、人が当惑している状態、人が動揺している状態又は人が緊張している状態であると推定する。
【０２０３】
なお、状態推定部２４Ｄは、目状態判定部１４によって判定された人の目の開閉状態と、目尻目頭検出部２３によって検出された人の目尻の位置及び目頭の位置と、虹彩検出処理部１６によって検出された虹彩中心位置とに基づいて、人の感情を推定してもよい。
【０２０４】
続いて、実施の形態５における目開閉検出装置１Ｄの処理について説明する。
【０２０５】
図２７は、本開示の実施の形態５における目開閉検出装置１Ｄの処理の一例を示すフローチャートである。
【０２０６】
ステップＳ１０１〜ステップＳ１０６の処理は、図３のステップＳ１〜ステップＳ６の処理と同じであるので、説明を省略する。
【０２０７】
次に、ステップＳ１０７において、目尻目頭検出部２３は、目尻の位置及び目頭の位置を検出する。
【０２０８】
図２８は、目尻の位置及び目頭の位置が検出された二値画像７０を示す図である。
【０２０９】
二値画像７０の枠は白色領域Ｄ１の外接矩形であるため、二値画像７０において、白色領域Ｄ１の左端のＸ座標は二値画像７０の左端のＸ座標（Ｘ１１）であり、白色領域Ｄ１の右端のＸ座標は二値画像７０の右端のＸ座標（Ｘ１２）であり、両Ｘ座標は二値画像７０を生成する際に算出済みである。そこで、目尻目頭検出部２３は、算出済みの両Ｘ座標を利用して目尻の位置１２及び目頭の位置Ｐ１３を算出する。なお、図２８は、左目の二値画像７０であるため、白色領域Ｄ１の左端が目尻の位置Ｐ１２となり、白色領域Ｄ１の右端が目頭の位置Ｐ１３となる。
【０２１０】
詳細には、目尻目頭検出部２３は、Ｘ座標（Ｘ１１）において二値画像７０の下端から１画素ずつ上端に向けて白色画素を探索していく。そして、目尻目頭検出部２３は、最初に検出した白色画素のＹ座標を目尻の位置Ｐ１２のＹ座標として決定する。同様に、目尻目頭検出部２３は、Ｘ座標（Ｘ１２）において二値画像７０の下端から１画素ずつ上端に向けて白色画素を探索していく。そして、目尻目頭検出部２３は、最初に検出した白色画素のＹ座標を目頭の位置Ｐ１３のＹ座標として決定する。以上により、目尻の位置Ｐ１２及び目頭の位置Ｐ１３が検出される。
【０２１１】
ステップＳ１０８の処理は、図２２のステップＳ８７の処理と同じであるので、説明を省略する。
【０２１２】
次に、ステップＳ１０９において、状態推定部２４Ｄは、目状態判定部１４によって判定された人の目の開閉状態と、目尻目頭検出部２３によって検出された人の目尻の位置及び目頭の位置と、虹彩検出処理部１６によって検出された虹彩中心位置とに基づいて、人の状態を推定する。
【０２１３】
次に、ステップＳ１１０において、出力部１５は、状態推定部２４Ｄによる推定結果をステップＳ１で算出された顔画像に重畳することにより、表示画面を生成し、ディスプレイ３に表示する。例えば、表示画面には、顔画像とともに、人の状態の推定結果が表示される。なお、出力部１５は、人の目の開閉状態の判定結果を顔画像に重畳してディスプレイ３に表示してもよい。
【０２１４】
このように、目の開閉状態の判定結果と、目尻の位置及び目頭の位置の検出結果と、虹彩中心位置の検出結果とを用いて、人の状態又は人の感情を推定することができる。
【０２１５】
また、目開閉検出システム１００Ｄは、目の動きにより入力操作を行う入力装置をさらに備えてもよい。例えば、入力装置は、虹彩中心位置と、目尻の位置又は目頭の位置との距離に応じて、ディスプレイ３に表示されるポインタを移動させてもよい。
【０２１６】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。また、プログラムを記録媒体に記録して移送することにより、又はプログラムをネットワークを経由して移送することにより、独立した他のコンピュータシステムによりプログラムが実施されてもよい。
【０２１７】
本開示の実施の形態に係る装置の機能の一部又は全ては典型的には集積回路であるＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）として実現される。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０２１８】
また、本開示の実施の形態に係る装置の機能の一部又は全てを、ＣＰＵ等のプロセッサがプログラムを実行することにより実現してもよい。
【０２１９】
また、上記で用いた数字は、全て本開示を具体的に説明するために例示するものであり、本開示は例示された数字に制限されない。
【０２２０】
また、上記フローチャートに示す各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、同様の効果が得られる範囲で上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時（並列）に実行されてもよい。
【産業上の利用可能性】
【０２２１】
本開示に係る技術は、人の目の開閉状態の検出精度を向上させることができるので、画像から人の目の開閉状態を検出する技術として有用である。
【符号の説明】
【０２２２】
１，１Ａ，１Ｂ，１Ｃ，１Ｄ    目開閉検出装置
２    撮像装置
３    ディスプレイ
１０，１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ    プロセッサ
１１    画像取得部
１２    目領域検出部
１３    二値化処理部
１４    目状態判定部
１５    出力部
１６    縦横比判定部
１７    ＨＳＶ変換部
１８    二値化処理部
１９    白色領域判定部
２０    メモリ
２１    虹彩検出処理部
２２    まぶた検出部
２３    目尻目頭検出部
２４，２４Ｄ    状態推定部
１００，１００Ａ，１００Ｂ，１００Ｃ，１００Ｄ    目開閉検出システム
【要約】
【課題】人の目の開閉状態の検出精度を向上させることができる技術を提供する。
【解決手段】目開閉検出装置１は、撮像装置２により撮像された人の顔を含む第１画像を取得し、第１画像から人の目の領域を含む第２画像を生成し、第２画像を二値化して、階調値が閾値より小さい画素が第１輝度値で表され、階調値が閾値以上の画素が第２輝度値で表された第３画像を生成し、第３画像の高さと、第１輝度値を有する第１輝度領域内における上端画素と下端画素との間の縦方向の距離が最大となる最大高さとに基づき、人の目が開いている状態と閉じている状態とのいずれであるかを判定し、判定の結果に関する情報を出力する。
【選択図】図２【図１】
0006977975.tif 000002
【図２】
0006977975.tif 000003
【図３】
0006977975.tif 000004
【図４】
0006977975.tif 000005
【図５】
0006977975.tif 000006
【図６】
0006977975.tif 000007
【図７】
0006977975.tif 000008
【図８】
0006977975.tif 000009
【図９】
0006977975.tif 000010
【図１０】
0006977975.tif 000011
【図１１】
0006977975.tif 000012
【図１２】
0006977975.tif 000013
【図１３】
0006977975.tif 000014
【図１４】
0006977975.tif 000015
【図１５】
0006977975.tif 000016
【図１６】
0006977975.tif 000017
【図１７】
0006977975.tif 000018
【図１８】
0006977975.tif 000019
【図１９】
0006977975.tif 000020
【図２０】
0006977975.tif 000021
【図２１】
0006977975.tif 000022
【図２２】
0006977975.tif 000023
【図２３】
0006977975.tif 000024
【図２４】
0006977975.tif 000025
【図２５】
0006977975.tif 000026
【図２６】
0006977975.tif 000027
【図２７】
0006977975.tif 000028
【図２８】
0006977975.tif 000029