(57)【要約】【課題】顔画像から眼を速く確実に検出できる眼部検出装置を提供する。【解決手段】顔画像を取得する画像入力部２１と、顔画像から鼻孔を検出する鼻孔検出部２４と、鼻孔検出部２４で検出した鼻孔の位置にもとづいて、顔画像の中に眼探索領域を設定する眼探索領域設定部２５と、眼探索領域設定部２５で設定した眼探索領域の範囲で、顔画像の下から上に向かって所定の条件で眼を探索する下瞼検出部２６及び上瞼検出部２７と、を備える。好ましくは、顔画像から口下の位置を検出する口下検出部２２を含み、鼻孔検出部２４は、鼻孔の探索条件に適合する複数の鼻孔候補を検出した場合、該複数の鼻孔候補のうち、口下の位置に最も近いものを鼻孔と判定する。さらに、顔画像の中で鼻孔が存在する可能性の高い領域を、鼻孔探索領域として設定する鼻孔探索領域設定部２３を含み、鼻孔探索領域を所定の条件で探索して、隣り合う２つの暗所を鼻孔と判定する。【選択図】図２
2008146172.tif 000002
【特許請求の範囲】
【請求項１】
顔画像を取得する画像取得手段と、
前記顔画像から鼻孔を検出する鼻孔検出手段と、
前記鼻孔検出手段で検出した鼻孔の位置にもとづいて、前記顔画像の中に眼探索領域を設定する眼探索領域設定手段と、
前記眼探索領域設定手段で設定した前記眼探索領域の範囲で、前記顔画像の下から上に向かって所定の条件で眼を探索する眼部探索手段と、
を備えることを特徴とする眼部検出装置。
【請求項２】
前記眼部検出装置は、前記顔画像から口下の位置を検出する口下検出手段を含み、
前記鼻孔検出手段は、鼻孔の探索条件に適合する複数の鼻孔候補を検出した場合、該複数の鼻孔候補のうち、前記口下検出手段で検出した口下の位置に最も近いものを鼻孔と判定することを特徴とする請求項１に記載の眼部検出装置。
【請求項３】
前記鼻孔検出手段は、前記顔画像の中で鼻孔が存在する可能性の高い領域を、鼻孔探索領域として設定する鼻孔探索領域設定手段を含み、
前記鼻孔探索領域設定手段で設定した前記鼻孔探索領域を所定の条件で探索して、隣り合う２つの暗所を鼻孔と判定する、
ことを特徴とする請求項１に記載の眼部検出装置。
【請求項４】
前記眼部探索手段は、
前記眼探索領域設定手段で設定した前記眼探索領域の範囲で、前記顔画像の下から上に向かって明から暗に変化する垂直方向エッジを前記眼探索領域の下から探索し、最初に検出した所定の条件に適合する前記垂直方向エッジを下瞼と判定する下瞼検出手段と、
前記下瞼検出手段で検出した下瞼の上の領域で、下から上に向かって暗から明に変化する垂直方向エッジを上瞼と判定する上瞼検出手段と、
を備えることを特徴とする請求項１に記載の眼部検出装置。
【請求項５】
顔画像から鼻孔を検出する鼻孔検出ステップと、
前記鼻孔検出ステップで検出した鼻孔の位置にもとづいて、前記顔画像の中に眼探索領域を設定する眼探索領域設定ステップと、
前記眼探索領域設定ステップで設定した前記眼探索領域の範囲で、前記顔画像の下から上に向かって所定の条件で眼を探索する眼部探索ステップと、
を備えることを特徴とする眼部検出方法。
【請求項６】
コンピュータを、
顔画像から鼻孔を検出する鼻孔検出手段と、
前記鼻孔検出手段で検出した鼻孔の位置にもとづいて、前記顔画像の中に眼探索領域を設定する眼探索領域設定手段と、
前記眼探索領域設定手段で設定した前記眼探索領域の範囲で、前記顔画像の下から上に向かって所定の条件で眼を探索する眼部探索手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顔画像から眼部を検出する眼部検出装置、眼部検出方法及びプログラムに関する。
【背景技術】
【０００２】
顔画像に基づいて眼の状態を判定し、その人の視線の方向を計測したり、その人の覚醒度を推定する方法がある。眼の状態を判定するためには、顔画像の眼部を正確に検出することが必要である。
【０００３】
例えば、特許文献１及び特許文献２には、開閉眼状態を検出する技術が記載されている。特許文献１の技術は、眼の位置を検出して、眼の位置を含む処理対象領域を設定する。処理対象領域での濃度値の頻度分布を求め、そのピーク値の点を境界値として眼の領域を検出し、眼の領域の縦方向の長さの最大値を眼の大きさとする。
【０００４】
特許文献２の技術は、眼の特徴情報に合致する特徴量を抽出して眼の位置を検出し、眼を含む追跡領域内における眼の詳細濃度の変化から眼の開度値及び上瞼の位置を検出する。眼の位置又は眼の詳細濃度に基づいて検出した眼の周りの固定的な顔の基準特徴量（例えば、鼻孔）と、上瞼の特定位置の上下位置間隔を計測し、眼の開度値と上下位置間隔とから眼の開閉状態を判定する。
【０００５】
また、顔中心位置を検出する技術として、例えば、特許文献３がある。特許文献３の技術は、顔の両端の範囲内で、横エッジを横方向に投影してヒストグラムを作成して、ヒストグラムのピークに基づいて顔の上及び下位置を推定する。そして、縦方向に白黒白と変化する箇所である横エッジを構成する各画素のｘ座標の平均値を顔中心位置として検出する。
【特許文献１】特開平１０−４４８２４号公報
【特許文献２】特開２００１−３０７０７６号公報
【特許文献３】特開２００６−６５６７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来の技術では、眼を顔領域で探索しているので、検出に時間がかかり、また、誤検出する可能性がある。特許文献１の方法では、眼の特定の形状（例えば上に弓形であること）を前提としているので、細眼や眉が濃い場合などの個人差に対応することが困難である。また、眼と眉、鼻と口などのまとまりの位置関係から眼の位置を特定する方法では、その後に眼と眉を判別する必要がある。
【０００７】
初めに顔画像から眼を検出する方法では、例えば、サングラスを着用している場合など、眼が検出できないことを判定するのに時間がかかる。特許文献２の方法では、眼を検出した後に、眼の位置から鼻孔を検出し、眼と鼻孔の位置関係から眼の開閉度を判定する。従って、眉を眼と誤認し、眼鏡の鼻当てを鼻孔と誤認する場合があり得る。特許文献２では鼻孔の近辺に現れるしわと鼻孔を判別するために、最暗位置を鼻孔と判定している。最暗位置による鼻孔検出方法では、２つの黒点として写る眼鏡の鼻当てと鼻孔を判別することができない。
【０００８】
本発明はこうした状況に鑑みてなされたものであり、その目的は、顔画像から眼を速く確実に検出できる眼部検出装置を提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の第１の観点に係る眼部検出装置は、顔画像を取得する画像取得手段と、前記顔画像から鼻孔を検出する鼻孔検出手段と、前記鼻孔検出手段で検出した鼻孔の位置にもとづいて、前記顔画像の中に眼探索領域を設定する眼探索領域設定手段と、前記眼探索領域設定手段で設定した前記眼探索領域の範囲で、前記顔画像の下から上に向かって所定の条件で眼を探索する眼部探索手段と、を備えることを特徴とする。
【００１０】
好ましくは、前記眼部検出装置は、前記顔画像から口下の位置を検出する口下検出手段を含み、前記鼻孔検出手段は、鼻孔の探索条件に適合する複数の鼻孔候補を検出した場合、該複数の鼻孔候補のうち、前記口下検出手段で検出した口下の位置に最も近いものを鼻孔と判定する。
【００１１】
さらに、前記鼻孔検出手段は、前記顔画像の中で鼻孔が存在する可能性の高い領域を、鼻孔探索領域として設定する鼻孔探索領域設定手段を含み、
前記鼻孔探索領域設定手段で設定した前記鼻孔探索領域を所定の条件で探索して、隣り合う２つの暗所を鼻孔と判定する、
ことを特徴とする。
【００１２】
好ましくは、前記眼部探索手段は、前記眼探索領域設定手段で設定した前記眼探索領域の範囲で、前記顔画像の下から上に向かって明から暗に変化する垂直方向エッジを前記眼探索領域の下から探索し、最初に検出した所定の条件に適合する前記垂直方向エッジを下瞼と判定する下瞼検出手段と、前記下瞼検出手段で検出した下瞼の上の領域で、下から上に向かって暗から明に変化する垂直方向エッジを上瞼と判定する上瞼検出手段と、を備えることを特徴とする。
【００１３】
本発明の第２の観点に係る眼部検出方法は、顔画像から鼻孔を検出する鼻孔検出ステップと、前記鼻孔検出ステップで検出した鼻孔の位置にもとづいて、前記顔画像の中に眼探索領域を設定する眼探索領域設定ステップと、前記眼探索領域設定ステップで設定した前記眼探索領域の範囲で、前記顔画像の下から上に向かって所定の条件で眼を探索する眼部探索ステップと、を備えることを特徴とする。
【００１４】
本発明の第３の観点に係るプログラムは、コンピュータを、顔画像から鼻孔を検出する鼻孔検出手段と、前記鼻孔検出手段で検出した鼻孔の位置にもとづいて、前記顔画像の中に眼探索領域を設定する眼探索領域設定手段と、前記眼探索領域設定手段で設定した前記眼探索領域の範囲で、前記顔画像の下から上に向かって所定の条件で眼を探索する眼部探索手段、として機能させることを特徴とする。
【発明の効果】
【００１５】
本発明の眼部検出装置によれば、顔画像から眼を速く確実に検出することができる。
【発明を実施するための最良の形態】
【００１６】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。図１は、本発明の一実施の形態に係る眼部検出装置の構成を示すブロック図である。本実施形態の眼部検出装置１は、運転者の顔を撮影して顔画像を生成するカメラ２と、運転者の顔を照明する照明光源３と、運転者の眼部を検出するコンピュータ１０と、コンピュータ１０に接続された表示装置７とを備える。なお、表示装置７は必須の構成要素ではなく、顔画像や検出結果及び判定結果等を表示する必要がなければ特に設ける必要はない。
【００１７】
カメラ２は、例えば、ＣＣＤ（Charge Coupled Device）などでレンズの結像を電気信号に変換し、画素ごとにデジタル化した画像データを出力する。カメラ２は、例えば、運転者の顔の階調画像を取得する。カメラ２によって生成される画像データは、運転者の顔だけでなく、その背景なども含まれている。
【００１８】
表示装置７は、ＬＣＤ（Liquid Crystal Display)又はＣＲＴ(Cathode Ray Tube)などから構成され、カメラ２で撮影された顔画像から生成された二値化画像などを表示する。
【００１９】
コンピュータ１０は、カメラ２により取得された画像データを処理して顔の左右両端位置、上下位置を検出する。この検出した左右両端位置、上下位置に基づいて、鼻孔を検出する。鼻孔の位置に基づいて眼部を探索する領域（眼探索領域）を設定する。そして、眼探索領域における上下瞼を検出する。
【００２０】
図２は、本発明の一実施の形態である眼部検出装置１の論理的な構成を示すブロック図である。眼部検出装置１は、カメラ２、画像入力部２１、口下検出部２２、鼻孔探索領域設定部２３、鼻孔検出部２４、眼探索領域設定部２５、下瞼検出部２６、上瞼検出部２７、眼開閉判定部２８、表示処理部２９、データ保持部５、表示装置７などから構成される。データ保持部５には、顔画像データ５１、顔領域・口下位置データ５２、鼻孔探索領域データ５３、鼻孔データ５４、眼探索領域データ５５、瞼データ５６が記憶保持される。眼部検出装置１は、顔画像から眼部の上瞼と下瞼のペアを検出する。
【００２１】
図３は、眼部検出装置１の物理的な構成の一例を示すブロック図である。コンピュータ１０は、図３に示すように、送受信部１６と、画像メモリ１２と、外部記憶部１３と、制御部１４と、主記憶部１５と、表示制御装置１７と、光源制御装置１８と、を備える。画像メモリ１２、外部記憶部１３、主記憶部１５、送受信部１６、表示制御装置１７及び光源制御装置１８はいずれも内部バス１１を介して制御部１４に接続されている。
【００２２】
制御部１４はＣＰＵ（Central Processing Unit）等から構成され、外部記憶部１３に記憶されているプログラムに従って、画像入力部２１、口下検出部２２、鼻孔探索領域設定部２３、鼻孔検出部２４、眼探索領域設定部２５、下瞼検出部２６、上瞼検出部２７、眼開閉判定部２８及び表示処理部２９の処理を実行する。画像入力部２１、口下検出部２２、鼻孔探索領域設定部２３、鼻孔検出部２４、眼探索領域設定部２５、下瞼検出部２６、上瞼検出部２７、眼開閉判定部２８及び表示処理部２９は、制御部１４とその上で実行されるプログラムで実現される。
【００２３】
主記憶部１５はＲＡＭ（Random-Access Memory）等から構成され、制御部１４の作業領域として用いられる。データ保持部５は、画像メモリ１２及び主記憶部１５の一部に記憶領域の構造体として記憶保持される。
【００２４】
外部記憶部１３は、フラッシュメモリ、ハードディスク、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Digital Versatile Disc Random-Access Memory）、ＤＶＤ−ＲＷ（Digital Versatile Disc ReWritable）等の不揮発性メモリから構成され、前記の処理を制御部１４に行わせるためのプログラムを予め記憶し、また、制御部１４の指示に従って、このプログラムのデータを制御部１４に供給し、制御部１４から供給されたデータを記憶する。例えば、時系列画像データは、外部記憶部１３に格納されている場合がある。
【００２５】
送受信部１６は、モデム又は網終端装置、及びそれらと接続するシリアルインタフェース又はＬＡＮ（Local Area Network）インタフェースあるいはＮＴＳＣインタフェース等から構成されている。制御部１４は、送受信部１６を介して、カメラ２から画像データを入力する。画像メモリ１２は、カメラ２により生成され、送受信部１６を経由して入力された画像データを記憶する。
【００２６】
表示制御装置１７は、制御部１４の制御下に、表示装置７を制御する。
光源制御装置１８は、照明光源３の点灯・消灯を制御する。
【００２７】
制御部１４は、外部記憶部１３に格納されているプログラムを実行することにより、カメラ２により取得された画像データを処理して顔の両端位置、上下位置を検出し、この検出した両端位置、上下位置に基づいて、眼探索領域における上下瞼の候補を検出し、その候補の中で最も上下瞼の条件に適合する候補を上下瞼対として選択する。
【００２８】
図２に戻って、眼部検出装置１の各部の作用を説明する。カメラ２は顔の画像を撮像する。画像入力部２１は、一定時間間隔でカメラ２から時系列の画像データを入力し、データ保持部５に顔画像データ５１として記憶する。  
【００２９】
口下検出部２２は、顔画像データ５１から顔領域を抽出し、顔領域の中に口下を検出する。顔の領域を抽出するには、例えば、顔画像から顔輪郭のエッジを算出する。あるいは、顔輪郭のパターンマッチングによって顔輪郭を抽出してもよい。顔輪郭の範囲で、上から眉のエッジを、下から口下のエッジを検出することによって、顔の領域を設定する。検出した口下の位置と顔領域を、顔領域・口下位置データ５２として、データ保持部５に記憶する。
【００３０】
図４Ａないし図４Ｄは、エッジ算出用の固定データの例を説明する図である。外部記憶部１３は、図４Ａ、図４Ｂに示すような、水平方向エッジ検出用と垂直方向エッジ検出用ソーベルフィルタのオペレータを格納する。本発明では、画像中で水平方向に輝度が明から暗、又は暗から明に変化する点の連なりを水平方向エッジという。水平方向エッジの点は概ね縦方向に連続するので、縦エッジともいう。また、垂直方向に輝度が明から暗、又は暗から明に変化する点の連なりを垂直方向エッジという。垂直方向エッジの点は概ね横方向に連続するので、横エッジともいう。
【００３１】
図４Ａに示す水平方向エッジ（縦エッジ）検出用ソーベルフィルタは、図４Ｃに示すような縦方向に連続する濃淡差の境界（エッジ）を抽出するためのオペレータである。図４Ｂに示す垂直方向エッジ（横エッジ）検出用のソーベルフィルタは、図４Ｄに示すような横方向に連続する濃淡差の境界（エッジ）を抽出するためのオペレータである。
【００３２】
図５に示すように、例えば、顔輪郭の最大幅と、眉上のエッジから口下のエッジまでの範囲を顔領域Ｆとする。
【００３３】
鼻孔探索領域設定部２３は、顔領域・口下位置データ５２から鼻孔を探索する鼻孔探索領域を設定する。口下の位置と統計的データに基づいた比率で、顔領域Ｆの中に鼻孔探索領域を設定する。特に、顔の中央部に鼻孔探索領域を設定する。また、検出された口下位置から所定の距離だけ上方向に離れた位置に、鼻孔探索領域を設定することができる。例えば、顔画像に顔領域Ｆを設定できる場合に、鼻孔が必ず検出できる最小の範囲を統計的に調査して、鼻孔探索領域Ｎとする。鼻孔探索領域設定部２３は、設定した鼻孔探索領域Ｎを鼻孔探索領域データ５３として、データ保持部５に記憶する。
【００３４】
図６は、鼻孔探索領域Ｎの例を示す図である。図６で一点鎖線で囲まれた範囲が鼻孔探索領域Ｎを表す。例えば、顔領域Ｆの縦をＨ、幅をＷとして、縦９／１６・Ｈ、幅６／１６・Ｗの長方形の領域を、口下位置Mから上に２／１６・Ｈの位置で、横方向は顔領域Ｆの中央に、鼻孔探索領域Ｎとして設定する。
【００３５】
鼻孔検出部２４は、鼻孔探索領域Ｎの範囲で、２つの隣り合ったほぼ丸い形の暗所を探索して、鼻孔を検出する。例えば、鼻孔探索領域Ｎの範囲で、水平方向エッジ及び垂直方向エッジを検出する。ここで、左から右に向かって明から暗に変化する点を縦マイナスエッジ、左から右に向かって暗から明に変化する点を縦プラスエッジとする。また、上から下に向かって明から暗に変化する点を横マイナスエッジ、上から下に向かって暗から明に変化する点を横プラスエッジとする。鼻孔の１つは、顔画像に向かって、縦マイナスエッジが左に、縦プラスエッジが右に、横マイナスエッジが上に、横プラスエッジが下に現れる。
【００３６】
それら４種類のエッジがそれぞれ、外側の明領域に向かって中央がふくらむ凸形状であって、エッジの両端が上述の順序で重なる場合に、鼻孔の１つの候補とする。このようなエッジの集合が横にならんで２つ隣り合って検出された場合に、それらを鼻孔候補とする。
【００３７】
鼻孔探索領域Ｎに鼻孔候補が２つ以上検出される場合がある。例えば、眼鏡のブリッジ部の鼻に当たるパッドが、鼻孔候補として検出されることがある。複数の鼻孔候補が検出された場合は、そのうち口下位置Mに最も近い鼻孔候補を鼻孔と判定する。鼻孔検出部２４は、検出した鼻孔を鼻孔データ５４として、データ保持部５に記憶する。
【００３８】
鼻孔探索領域Ｎを設定して、その領域の中で鼻孔を探索することにより、効率よく鼻孔を検出できる。また、複数の鼻孔候補が検出される場合でも、鼻孔探索領域Nの中で口下位置Mに近いものを鼻孔として確実に判定できる。
【００３９】
眼探索領域設定部２５は、鼻孔の位置に基づいて顔領域Ｆの中に眼探索領域を設定する。顔画像に顔領域Ｆを設定できる場合に、眼が必ず検出できる最小の範囲を統計的に調査して、眼探索領域とする。例えば、辺の長さを顔領域Ｆの縦又は横の長さに所定の比率を乗じた長さとする長方形を、鼻孔の上に所定の間隔をあけて設置して、眼探索領域とすることができる。眼探索領域設定部２５は、設定した眼探索領域を、眼探索領域データ５５として、データ保持部５に記憶する。
【００４０】
図７は、眼探索領域Ｅの例を示す図である。図７で一点鎖線で囲まれた２つの長方形が眼探索領域Ｅを表す。例えば、顔領域Ｆの幅をＷとして、眼探索領域Ｅの１つを、縦０．３５Ｗ、横０．２６Ｗの長方形とする。そして、鼻孔の重心Ｃｎの上０．０８Ｗから上に、また、左右は鼻孔の重心Ｃｎを中心に間を０．１３Ｗだけ離して２つの長方形を眼探索領域Ｅとして設定する。
【００４１】
下瞼検出部２６は、下瞼を眼探索領域Ｅの中で下から探索する。例えば図４Ｂに示すフィルタを用いて、垂直方向エッジを眼探索領域Ｅの下から走査して算出する。多くの場合、眼探索領域Ｅを下から走査して、最初に検出される所定の長さ以上の横プラスエッジ（上から下に向かって暗から明に変化するエッジ）を下瞼とすることができる。
【００４２】
被写体が眼鏡をかけている場合は、レンズの枠が検出されることがある。しかし、眼鏡をかけている場合は、鼻孔検出部２４でパッドが検出されるので、レンズの枠を推定しやすい。また、レンズの枠は眼や眉より細く、上下のエッジがほぼ平行に現れるので、容易に判断できる。下瞼検出部２６は、検出した下瞼を瞼データ５６の一部として、データ保持部５に記憶する。
【００４３】
上瞼検出部２７は、下瞼の上の領域で上瞼を検出する。例えば図４Ｂに示すフィルタを用いて、下瞼の上を下から上に走査して、最初に検出される所定の長さ以上の横マイナスエッジ（上から下に向かって明から暗に変化するエッジ）を上瞼とする。
【００４４】
下瞼は、鼻孔に基づいて設定された眼探索領域Ｅを下から走査して検出されるので、確定している。下瞼の上に最初に検出される横マイナスエッジは、虹彩の上エッジを除けば、上瞼しかない。所定の長さ未満のエッジを棄却すれば、下から探索して最初の横マイナスエッジを上瞼とすることができる。上瞼検出部２７は、検出した左右の上瞼を瞼データ５６の一部としてデータ保持部５に記憶する。
【００４５】
眼開閉判定部２８は、上瞼と下瞼の対から眼の開いている度合いを計算する。開いている度合い（開度）は、例えば、上瞼の中心と下瞼の中心の距離である。
【００４６】
上下瞼の対とその開度を時系列に対応づけて、開度の変化が瞬きと判定される場合、閉眼とは判定しない。例えば、開度が所定の値以上の瞼候補が、所定のフレーム数以下の画像において、開度が小さくなり、再び開度が大きくなった場合に瞬きと判定する。
【００４７】
また、例えば、所定のフレーム数以上、連続した画像において、瞼の開度が所定の値よりも小さい場合に閉眼と判定する。瞼の開度を他の処理に利用することができる。例えば、閉眼と判定された場合に、居眠りと判定することができる。また、眼の開度を顔の向きに加算して、視線の方向を推定することができる。
【００４８】
表示処理部２９は、検出された結果の上下瞼を顔の輪郭等とともに表示装置７に表示する。また、上下瞼の開閉度や、居眠りと判定された場合に音響等を含む警告表示を行ってもよい。また、推定された視線の方向を表示してもよい。
【００４９】
つぎに、眼部検出装置１の動作について説明する。なお、眼部検出装置１の動作は、制御部１４がカメラ２、送受信部１６、画像メモリ１２、外部記憶部１３及び主記憶部１５と協働して行う。
【００５０】
図８は、眼部検出装置１の動作の一例を示すフローチャートである。制御部１４は送受信部１６を介してカメラ２から時系列の顔画像を入力する（ステップＳ１）。そして、前述のとおり、顔領域Ｆを設定する（ステップＳ２）。
【００５１】
図９は、ステップＳ２における顔領域設定処理の動作の一例を示すフローチャートである。制御部１４は、データ保持部５から顔画像データ５１を読み出し、この顔画像の画素値を横方向（水平方向）に微分する（ステップＡ１）。具体的には、各画素の輝度とその画素に隣接する画素の輝度との差分を算出して、エッジ部抽出画像を生成する。エッジ部抽出画像において、背景の縦エッジと顔画像の縦エッジのみが抽出される。これらの縦エッジは、運転者の顔が動いていない場合でも、抽出される。
【００５２】
なお、エッジ部抽出画像の画素値（輝度の微分値）を縦方向（垂直方向）に投影して得られるヒストグラムでは、すべてのエッジ部の強度がほぼ等しいので、顔の両端位置を特定することはできない。
【００５３】
制御部１４は、顔画像の画素値を時間で微分する（ステップＡ２）。具体的には、ある時刻における各画素の輝度とその直前の画像の各画素の輝度との差分を算出して、動く対象のみを強調した画素値時間微分画像を生成する。
【００５４】
運転者は運転中に完全に静止するのではないので、画素値時間微分画像では、動いているものの輪郭、つまり運転者の顔の輪郭が太く検出される。これに対して、窓、ピラー、ヘッドレスト等の背景は全く動かないため、ほとんど残らない。但し、画素値時間分画像では、運転者がよく動く場合には顔の輪郭が検出されるが、運転者がほとんど動かない場合にはほとんど検出されない。そこで、次の処理が必要となる。
【００５５】
制御部１４は、エッジ部抽出画像と画素値時間微分画像とを合成して第１の合成画像を生成し（ステップＡ３）、第１の合成画像の画素値（輝度）を縦方向に投影してヒストグラムを生成する。第１の合成画像は、エッジ部抽出画像と画素値時間微分画像とが合成された画像である。よって、運転者が動いていない場合でも動いている場合でも、第１の合成画像には、運転者の顔の縦エッジ又は輪郭が現れる。
【００５６】
なお、エッジ部抽出画像の画素値と画素値時間微分画像の画素値をそれぞれ縦方向に投影して２つのヒストグラムを生成し、この２つのヒストグラムを合計してもよい。そして、第１の合成画像のヒストグラムからピークを検出する（ステップＡ４）。
【００５７】
制御部１４は、第１の合成画像のヒストグラムから検出された複数のピークの中から、人の顔幅に最も対応するピーク間隔となる２つのピークを検出し、この２つのピークを顔の左右位置として検出する（ステップＡ５）。
【００５８】
なお、顔左右位置検出ルーチンは、上記の例に限定されるものではなく、例えば次のようなものでもよい。
【００５９】
例えば、制御部１４は、ステップＡ２において、画素値の時間微分演算の対象として顔画像を用いたが、その代わりにエッジ部抽出画像を用いてもよい。つまり、ステップＡ２では、エッジ部抽出画像の画素値（輝度）を時間で微分して、エッジ部時間微分画像を生成してもよい。これにより、エッジ部抽出画像内の複数の縦エッジのうち、窓、ヘッドレスト等の全く動かない背景の縦エッジを消去して動きのある顔画像の中の縦エッジのみを抽出できる。
【００６０】
ステップＡ３以降は、上記と同様である。なお、ステップＡ３及びＡ４では、制御部１４は、上記と同様に、エッジ部抽出画像とエッジ部時間微分画像とを合成して第２の合成画像を生成し、第２の合成画像の画素値（輝度）を縦方向に投影してヒストグラムを生成し、このヒストグラムからピークを検出すればよい。
【００６１】
次に、制御部１４は、顔の両端の範囲内で、横エッジを横方向に投影してヒストグラムを作成する。このヒストグラムでは、眉、目、口に相当する部分にピークが生じている。そこで、ヒストグラムのピークに基づいて顔の上及び下位置を検出する（ステップＡ６）。なお、顔の両端の範囲内で、垂直方向エッジを上から探索して、眉上のエッジを検出し、垂直方向エッジを下から探索して、口下のエッジを検出してもよい。
【００６２】
顔の左右端と、眉上及び口下位置Mで囲まれる顔領域Ｆの座標を設定して（ステップＡ７）、眼部検出処理（図８）に戻る。なお、顔の左右位置及び上下位置の検出方法は、上記の例に限定されるものではなく、その他テンプレートマッチングや距離画像を用いる手法であってもよい。
【００６３】
図８のフローチャートに戻って、顔領域Ｆの中に鼻孔探索領域Ｎを設定する（ステップＳ３）。前述のとおり、例えば、口下位置Mと統計的データに基づいた比率で、顔領域Ｆの中に鼻孔探索領域Ｎを設定する。
【００６４】
制御部１４は、設定した鼻孔探索領域Ｎの範囲で、鼻孔を検出する（ステップＳ４）。図１０は、ステップＳ４の鼻孔検出処理の動作の一例を示すフローチャートである。
【００６５】
制御部１４は、顔領域Ｆの範囲における画素の平均輝度を算出し、その平均輝度から明暗を識別するための明暗閾値を算出する（ステップＢ１）。ついで、鼻孔探索領域Ｎの範囲の画素から、明暗閾値より低い（暗い）輝度値の画素を探索する。そして、連続する低輝度画素群の丸らしい尤度を算出し、鼻孔探索領域Ｎにおける尤度マップを作成する（ステップＢ２）。
【００６６】
連続する低輝度画素群の丸らしい尤度は、例えば、前述の低輝度画素群の周囲の４種類のエッジについて、エッジの長さに対する、エッジの中点と重心の距離を用いることができる。又は、例えば、円に近いほど、周に対する面積が大きいことを利用して、低輝度画素群の境界を構成する画素の数に対する、低輝度画素群内の画素数としてもよい。
【００６７】
制御部１４は、尤度マップの中で最大尤度から、尤度の閾値を算出する（ステップＢ３）。尤度閾値を超える低輝度画素群を鼻孔候補とする（ステップＢ４）。このとき、距離が近い候補同士をペアにしておく。
【００６８】
制御部１４は、鼻孔（ペア）候補のうち、最も尤度が高い候補を有するペアを鼻孔と決定する（ステップＢ５）。鼻孔候補のうち、口下位置Mに最も近い候補を鼻孔と判定してもよい。図１１は、鼻孔決定処理の動作の一例を示すフローチャートである。
【００６９】
制御部１４は、鼻孔候補（ペア）のうち、１つを選択して鼻孔候補ｎとする。そして、鼻孔候補ｎの重心と口下位置Ｍとの距離Ｌｎを算出する（ステップＣ１）。残りの鼻孔候補について、ｉ＝１とおいて、鼻孔候補ｉを選択する（Ｃ２）。
【００７０】
鼻孔候補ｉの重心と、口下位置との距離Ｌｉを算出する（ステップＣ３）。距離Ｌｎと距離Ｌｉを比較して、Ｌｎの方がＬｉより大きければ（ステップＣ４；Ｎｏ）、ＬｉをＬｎに代入し、そのときの番号ｉの鼻孔候補ｉを選択した鼻孔候補ｎとする（ステップＣ５）。ＬｎがＬｉ以下であれば（ステップＣ４；Ｙｅｓ）、選択した鼻孔候補を置き換えない。
【００７１】
番号ｉをインクリメントして（ステップＣ６）、鼻孔候補ｉが存在すれば（ステップＣ７；Ｙｅｓ）、ステップＣ３に戻って距離の比較を繰り返す（ステップＣ３〜Ｃ６）。鼻孔候補が尽きれば（ステップＣ７；Ｎｏ）、そのときの鼻孔候補ｎを鼻孔と決定して（ステップＣ８）、鼻孔検出処理に戻る。
【００７２】
鼻孔検出処理からさらに図８の眼部検出処理に戻って、鼻孔の位置に基づいて眼探索領域Ｅを設定する（ステップＳ５）。前述のとおり、例えば、辺の長さを顔領域Ｆの縦又は横の長さに所定の比率を乗じた長さとする長方形を、鼻孔の上に所定の間隔をあけて設置して、眼探索領域Ｅとする。
【００７３】
制御部１４は、顔領域Ｆの範囲における画素の平均輝度を算出し、その平均輝度から明暗を識別するための明暗閾値を算出する（ステップＳ６）。鼻孔検出処理（図１０のステップＢ１）で算出した明暗閾値を用いてもよい。そして、上下瞼検出処理を行う（ステップＳ７）。
【００７４】
制御部１４は、眼探索領域Ｅの範囲を下から、明暗閾値より低い（暗い）輝度値の画素を探索する。そして、下から上に向かって明から暗に変化する、所定の長さ以上の垂直方向エッジを下瞼とする。そして、検出した下瞼から上に上瞼を探索する。下から上に向かって暗から明に変化する、所定の長さ以上の垂直方向エッジを上瞼とする。
【００７５】
検出した上下の瞼から、眼の開閉度を判定する（ステップＳ８）。例えば、上瞼と下瞼のエッジのペアで挟まれた部分の画素数から開眼か閉眼かを判定する。
【００７６】
以上、説明したとおり、顔画像データから鼻孔を検出して、鼻孔に基づいて眼探索領域Ｅを設定する。そして、眼探索領域Ｅの範囲で下から下瞼を検出し、さらに下瞼の上の部分で上瞼を検出する。従って、本発明の眼部検出装置１によれば、顔画像から眼を速く確実に検出することができる。
【００７７】
また、顔領域Fの特徴に基づいて鼻孔探索領域Nを設定し、鼻孔探索領域Nの範囲で鼻孔の特徴を用いて検出する。さらに、複数の鼻孔候補を検出した場合、口下位置に最も近い候補を鼻孔と判定する。従って、鼻孔を速く確実に検出できる。その結果、眼探索領域Eを適切な範囲に設定できるので、上下の瞼を効率よく検出することができる。
【００７８】
その他、前記のハードウエア構成やフローチャートは一例であり、任意に変更及び修正が可能である。
【００７９】
制御部１４、送受信部１６、画像メモリ１２、外部記憶部１３及び主記憶部１５などから構成される眼部検出装置１の処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読みとり可能な記録媒体（フレキシブルディスク、CD-ROM、DVD-ROM等）に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行する眼部検出装置１を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することで眼部検出装置１を構成してもよい。
【００８０】
また、眼部検出装置１の機能を、ＯＳ（オペレーティングシステム）とアプリケーションプログラムの分担、またはＯＳとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【００８１】
また、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板(BBS, Bulletin Board System)に前記コンピュータプログラムを掲示し、ネットワークを介して前記コンピュータプログラムを配信してもよい。そして、このコンピュータプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
【図面の簡単な説明】
【００８２】
【図１】本発明の実施形態に係る眼部検出装置のブロック図である。
【図２】本発明の一実施の形態である眼部検出装置の論理的な構成を示すブロック図である。
【図３】図１に示すコンピュータの構成を示すブロック図である。
【図４Ａ】縦エッジ検出用オペレータの例を示す図である。
【図４Ｂ】横エッジ検出用オペレータの例を示す図である。
【図４Ｃ】縦方向に連続する濃淡差の例を表す図である。
【図４Ｄ】横方向に連続する濃淡差の例を表す図である。
【図５】顔画像の領域を特定するデータの例を示す図である。
【図６】鼻孔探索領域の例を示す図である。
【図７】眼探索領域の例を示す図である。
【図８】眼部検出装置の動作の一例を示すフローチャートである。
【図９】顔領域設定処理の動作の一例を示すフローチャートである。
【図１０】鼻孔検出処理の動作の一例を示すフローチャートである。
【図１１】鼻孔決定処理の動作の一例を示すフローチャートである。
【符号の説明】
【００８３】
１  眼部検出装置
２  カメラ（画像取得手段）
５  データ保持部
１０  コンピュータ
１２  画像メモリ
１３  外部記憶部
１４  制御部（画像取得手段、鼻孔検出手段、眼探索領域設定手段、眼部探索手段、口下検出手段、鼻孔探索領域設定手段、下瞼検出手段、上瞼検出手段）
１５  主記憶部
１６  送受信部（画像取得手段）
２１  画像入力部（画像取得手段）
２２  口下検出部（口下検出手段）
２３  鼻孔探索領域設定部（鼻孔探索領域設定手段）
２４  鼻孔検出部（鼻孔検出手段）
２５  眼探索領域設定部（眼探索領域設定手段）
２６  下瞼検出部（眼部探索手段、下瞼検出手段）
２７  上瞼検出部（眼部探索手段、上瞼検出手段）
２８  眼開閉判定部
５１  顔画像データ
５２  顔領域・口下位置データ
５３  鼻孔探索領域データ
５４  鼻孔データ
５５  眼探索領域データ
５６  瞼データ
【図１】
2008146172.tif 000003
【図２】
2008146172.tif 000004
【図３】
2008146172.tif 000005
【図４Ａ】
2008146172.tif 000006
【図４Ｂ】
2008146172.tif 000007
【図４Ｃ】
2008146172.tif 000008
【図４Ｄ】
2008146172.tif 000009
【図５】
2008146172.tif 000010
【図８】
2008146172.tif 000011
【図９】
2008146172.tif 000012
【図１０】
2008146172.tif 000013
【図１１】
2008146172.tif 000014
【図６】
2008146172.tif 000015
【図７】
2008146172.tif 000016