(57)【要約】【課題】短時間で正しい瞼を検出できる瞼検出装置を提供する。【解決手段】カメラ１０は対象者の顔を撮影し、コンピュータ１４のＣＰＵ２４はその動画像を取得し、画像メモリ２２に格納する。ＣＰＵ２４は、画像メモリ２２に格納された動画像の所定の領域から対象者の上瞼と下瞼との組み合わせの候補となるエッジラインを抽出する。ＣＰＵ２４は、抽出したエッジラインの内、位置の移動が少なく、且つ、瞬きに相当する挙動を取るエッジラインを対象者の瞼と判別する。【選択図】図２
2008226047.tif 000002
【特許請求の範囲】
【請求項１】
異なったタイミングで取得した対象者の顔の複数の画像を記憶する顔画像記憶手段と、
前記顔画像記憶手段に記憶されている画像を画像の明暗に基づいて処理し、前記対象者の顔の瞼の候補を抽出する瞼候補抽出手段と、
瞼候補抽出手段が抽出した瞼の候補の変動量を計測し、計測した当該瞼の候補の変動量の履歴を記憶する履歴記憶手段と、
前記履歴記憶手段が記憶した瞼の候補の変動量の履歴に基づいて、前記瞼候補抽出手段が抽出した瞼の候補のうちから瞼を判別する瞼判別手段と、を備える、
ことを特徴とする瞼検出装置。
【請求項２】
前記瞼の候補の変動量は、当該瞼の候補の上瞼に相当する部分と下瞼に相当する部分との距離が開いている度合である開度を含み、
前記瞼判別手段は、前記開度の履歴に瞬きに相当する変化が含まれる瞼の候補を瞼と判別する、
ことを特徴とする請求項１に記載の瞼検出装置。
【請求項３】
前記瞼の候補の変動量は、当該瞼の候補の位置の移動距離を含み、
前記瞼判別手段は、前記瞼の候補の位置の移動距離が所定の範囲以内である瞼の候補を瞼と判別する、
ことを特徴とする請求項１に記載の瞼検出装置。
【請求項４】
前記瞼の候補の変動量は、当該瞼の候補の位置の移動距離を含み、
前記瞼判別手段は、前記開度の履歴に瞬きに相当する変化が含まれ、且つ、前記瞼の候補の位置の移動距離が所定の範囲以内である瞼の候補を瞼と判別する、
ことを特徴とする請求項２に記載の瞼検出装置。
【請求項５】
前記瞼判別手段は、
前記開度の履歴において、瞬きに相当する変化が含まれない期間における当該開度の変動量に基づいて瞼を判別する、
ことを特徴とする請求項４に記載の瞼検出装置。
【請求項６】
前記瞼判別手段は、
前記開度の標準偏差の時間軸に沿った変動量を算出し、
瞬きに相当する変化が含まれない期間における前記標準偏差の変動量が所定の閾値以下である瞼の候補を瞼として判別する、
ことを特徴とする請求項５に記載の瞼検出装置。
【請求項７】
前記瞼判別手段は、
瞬きに相当する変化が含まれない期間における当該開度の変動量が所定の閾値以下である瞼の候補を瞼として判別する、
ことを特徴とする請求項５に記載の瞼検出装置。
【請求項８】
前記顔画像記憶手段に記憶されている画像から鼻孔の位置を検出する鼻孔位置検出手段をさらに備え、
前記瞼判別手段は、
前記鼻孔位置検出手段が検出した鼻孔の位置に対する相対的な前記下瞼に相当する部分の位置が同じである瞼を判別する、
ことを特徴とする請求項２に記載の瞼検出装置。
【請求項９】
コンピュータを、
異なったタイミングで取得した対象者の顔の複数の画像を記憶する顔画像記憶手段、
前記顔画像記憶手段に記憶されている画像を画像の明暗に基づいて処理し、前記対象者の顔の瞼の候補を抽出する瞼候補抽出手段、
瞼候補抽出手段が抽出した瞼の候補の変動量を計測し、計測した当該瞼の候補の変動量の履歴を記憶する履歴記憶手段、
前記履歴記憶手段が記憶した瞼の候補の変動量の履歴に基づいて、前記瞼候補抽出手段が抽出した瞼の候補のうちから瞼を判別する瞼判別手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば車両等の移動体を運転している運転者等の眼を検出する瞼検出装置及びプログラムに関する。
【背景技術】
【０００２】
現在、運転者の眼の開閉状態を検出する眼の状態検出装置が実用化されている。例えば、特許文献１に開示されている眼の状態検出装置は、先ず、対象者の顔を撮像し、得られた顔画像中の眼（の画像）を検出する。次に、検出した眼の開度を計測し、計測した開度が所定の時間変化していないときに眼を誤認識していると判定し、眼の誤検出を防止している。
【０００３】
上記の開閉検出技術では、計測した開度が所定の時間変化していないときに瞼（眼）を誤認識していると判定するため、瞼を誤検出したと判定するまでに時間がかかる。また、眉毛や眼鏡等のノイズは、瞼を検出するまでの処理において大部分が除去されるが、顔の動きによって生じたノイズや眼鏡レンズによる反射などの見かけ上で瞬きと同じ動きをするものは除去できない。
【特許文献１】特開２０００−３０１９６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は上記問題点に鑑みてなされたものであり、瞼を短時間で正確に検出できる瞼検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の第１の観点に係る瞼検出装置は、
異なったタイミングで取得した対象者の顔の複数の画像を記憶する顔画像記憶手段と、
前記顔画像記憶手段に記憶されている画像を画像の明暗に基づいて処理し、前記対象者の顔の瞼の候補を抽出する瞼候補抽出手段と、
瞼候補抽出手段が抽出した瞼の候補の変動量を計測し、計測した当該瞼の候補の変動量の履歴を記憶する履歴記憶手段と、
前記履歴記憶手段が記憶した瞼の候補の変動量の履歴に基づいて、前記瞼候補抽出手段が抽出した瞼の候補のうちから瞼を判別する瞼判別手段と、を備える、
ことを特徴とする。
【０００６】
例えば、前記瞼の候補の変動量は、当該瞼の候補の上瞼に相当する部分と下瞼に相当する部分との距離が開いている度合である開度を含み、
前記瞼判別手段は、前記開度の履歴に瞬きに相当する変化が含まれる瞼の候補を瞼と判別してもよい。
【０００７】
例えば、前記瞼の候補の変動量は、当該瞼の候補の位置の移動距離を含み、
前記瞼判別手段は、前記瞼の候補の位置の移動距離が所定の範囲以内である瞼の候補を瞼と判別してもよい。
【０００８】
例えば、前記瞼の候補の変動量は、当該瞼の候補の位置の移動距離を含み、
前記瞼判別手段は、前記開度の履歴に瞬きに相当する変化が含まれ、且つ、前記瞼の候補の位置の移動距離が所定の範囲以内である瞼の候補を瞼と判別してもよい。
【０００９】
例えば、前記瞼判別手段は、
前記開度の履歴において、瞬きに相当する変化が含まれない期間における当該開度の変動量に基づいて瞼を判別してもよい。
【００１０】
例えば、前記瞼判別手段は、
前記開度の標準偏差の時間軸に沿った変動量を算出し、
瞬きに相当する変化が含まれない期間における前記標準偏差の変動量が所定の閾値以下である瞼の候補を瞼として判別してもよい。
【００１１】
例えば、前記瞼判別手段は、
瞬きに相当する変化が含まれない期間における当該開度の変動量が所定の閾値以下である瞼の候補を瞼として判別してもよい。
【００１２】
例えば、前記顔画像記憶手段に記憶されている画像から鼻孔の位置を検出する鼻孔位置検出手段をさらに備え、
前記瞼判別手段は、
前記鼻孔位置検出手段が検出した鼻孔の位置に対する相対的な前記下瞼に相当する部分の位置が同じである瞼を判別してもよい。
【００１３】
本発明の第２の観点に係るプログラムは、
コンピュータを、
異なったタイミングで取得した対象者の顔の複数の画像を記憶する顔画像記憶手段、
前記顔画像記憶手段に記憶されている画像を画像の明暗に基づいて処理し、前記対象者の顔の瞼の候補を抽出する瞼候補抽出手段、
瞼候補抽出手段が抽出した瞼の候補の変動量を計測し、計測した当該瞼の候補の変動量の履歴を記憶する履歴記憶手段、
前記履歴記憶手段が記憶した瞼の候補の変動量の履歴に基づいて、前記瞼候補抽出手段が抽出した瞼の候補のうちから瞼を判別する瞼判別手段、
として機能させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、瞼を短時間で正確に検出できる。
【発明を実施するための最良の形態】
【００１５】
（第１の実施形態）
以下、本発明の第１の実施形態に係る瞼検出装置５０について説明する。
【００１６】
第１の実施形態の瞼検出装置５０は、図１に示すように、ドライバーの顔を撮影して顔画像を生成するカメラ１０と、ドライバーの顔を照明する照明光源１２と、ドライバーの瞼を検出するコンピュータ１４と、コンピュータ１４に接続された表示装置１６と、から構成される。
【００１７】
カメラ１０は例えばＣＣＤカメラ等から構成され、ドライバーの顔の階調画像を一定周期（例えば、１／３０秒）で取得し、出力する。カメラ１０から順次出力される顔画像は、ドライバーの顔（の画像）だけでなく、その背景（の画像）なども含む。
【００１８】
表示装置１６は、ＬＣＤ（Liquid Crystal Display)又はＣＲＴ(Cathode Ray Tube)などから構成され、カメラ１０で撮影された顔画像から生成された二値化画像などを表示する。
【００１９】
コンピュータ１４は、カメラ１０により取得された顔動画像を処理してその瞼の位置を検出する装置である。コンピュータ１４は、図２に示すように、Ａ／Ｄ変換器２１と、画像メモリ２２と、ＲＯＭ（Read Only Memory）２３と、ＣＰＵ（Central Processing Unit）２４と、ＲＡＭ（Random Access Memory）２５と、表示制御装置２６と、光源制御装置２７と、設定メモリ２８と、操作装置２９と、から構成される。
【００２０】
Ａ／Ｄ（アナログ／ディジタル）変換器２１は、カメラ１０で撮影されたアナログ画像信号をディジタル信号に変換する。
【００２１】
画像メモリ２２は、カメラ１０により生成され、Ａ／Ｄ変換器２１でディジタル化された画像データを格納する。
【００２２】
ＲＯＭ２３は、ＣＰＵの動作を制御するためのプログラムを記憶する。また、ＲＯＭ２３は、後述する画像処理を実行するための様々な固定データを記憶する。
【００２３】
ＣＰＵ２４は、コンピュータ１４全体を制御する。また、ＣＰＵ２４は、ＲＯＭ２３に格納されているプログラムを実行することにより、カメラ１０により取得された一連の顔画像を処理して瞼を検出する。
【００２４】
ＲＡＭ２５は、ＣＰＵ２４のワークエリアとして機能する。
【００２５】
表示制御装置２６は、ＣＰＵ２４の制御のもと、映像データ等を表示装置１６が出力可能なデータ形式に変換し、表示装置１６に出力する。
【００２６】
光源制御装置２７は、照明光源１２の点灯・消灯を制御する。
【００２７】
設定メモリ２８は、図４に示すような各種パラメータを予め格納する。各種パラメータは、ＣＰＵ２４が、ＲＡＭ２５に格納される顔画像から瞼を検出する際に使用される。詳細は、後述する。
【００２８】
操作装置２９は、ユーザから操作情報を受け付け、操作に応じた操作信号をＣＰＵ２４に送出する。
【００２９】
次に、ＲＯＭ２３に格納される固定データの例を、図３を参照しながら説明する。まず、ＲＯＭ２３は、図３（ａ）に示すような、縦エッジ検出用ソーベルフィルタのオペレータを格納する。縦エッジ検出用ソーベルフィルタは、図３（ｃ）に示すような横方向の濃淡差を強調するためのオペレータである。また、ＲＯＭ２３は、図３（ｂ）に示すような、横エッジ検出用ソーベルフィルタのオペレータを格納する。横エッジ検出用ソーベルフィルタは、図３（ｄ）に示すような横方向の濃淡差を強調するためのオペレータである。
【００３０】
設定メモリ２８に格納される各種パラメータの例を、図４を参照しながら説明する。
先ず、瞼検出用横ソーベル閾値は、顔画像から顔の瞼領域を抽出する際に横エッジ検出用ソーベルフィルタを用いて処理した各画素の微分値から、横エッジラインか否かを判別するための閾値である。
瞼領域設定パラメータａ，ｂは、検出された顔位置と鼻孔位置とから瞼が存在すると推定される瞼領域を算出するためのパラメータである。
閾値Ｌｔｈ，Ｃｘｔｈ，Ｄｔｈは、瞼候補となるエッジラインペアを抽出するために使用する閾値である。
閾値Ａｔｈ，σｔｈは、瞼候補であるエッジラインペアから瞼を判別するために使用する閾値である。
【００３１】
以下、上記構成を有する第１の実施形態に係る瞼検出装置５０の動作を説明する。
【００３２】
まず、図３〜６を参照して、瞼検出装置５０が、顔画像中の瞼を検出する動作の概要を説明する。
【００３３】
カメラ１０は、図５（ａ）に示すような対象者の顔画像を所定周期（例えば、１／３０秒周期）で撮影して顔画像を出力する。出力された顔画像は画像メモリ２２に順次格納される。
【００３４】
次に、ＣＰＵ２４は、画像メモリ２２に格納されている顔画像を順次読み出し、以下の処理を行う。
【００３５】
先ず、ＣＰＵ２４は、縦エッジ検出用ソーベルフィルタ（図３（ａ））を用いて、読み出した顔画像を処理し、その顔画像の各画素の輝度値に基づいて顔の左右端を検出する。また、ＣＰＵ２４は、横エッジ検出用ソーベルフィルタ（図３（ｂ））を用いて、読み出した顔画像を処理し、その顔画像の各画素の輝度値に基づいて顔の上下端を検出する。
【００３６】
例えば、図５（ａ）に示す顔画像の場合、顔の左右端は、ｘ＝ｉ，ｊであり、上下端は、ｙ＝ｍ，ｎである。顔の左右端と上下端から、顔の位置が検出できる。
【００３７】
ＣＰＵ２４は、ｉ≦ｘ≦ｊ，（ｍ＋ｎ）／２≦ｙ≦ｎの範囲から鼻孔の位置を検出する。具体的には、ＣＰＵ２４は、顔画像の上記の範囲内において所定の輝度値以下の画素が縦方向と横方向に３〜５画素分連続しているものを鼻孔として検出する。
【００３８】
ＣＰＵ２４は、設定メモリ２８に格納されているパラメータと検出した顔位置と鼻孔位置とに基づいて図５（ｂ）に示すような、瞼が含まれると推定される瞼領域を抽出する。図５（ａ）に示す図を用いて、具体的に説明すると、顔の左右端が、ｘ＝ｉ，ｊであり、上下端が、ｙ＝ｍ，ｎであり、鼻孔位置のｙ座標がｕである場合、図４に示されるような、設定メモリ２８に格納される瞼領域設定パラメータａ，ｂを用いて、瞼領域は、ｉ≦ｘ≦ｊ且つｖ≦ｙ≦ｗ（ただし、ｖ＝ｍ＋ｂ，ｗ＝ｕ−ａ）で表される。
【００３９】
ＣＰＵ２４は、横エッジ検出用ソーベルフィルタ（図３（ｂ））を用いて瞼領域の画像内の横エッジラインを抽出する処理を行う。ここで、横エッジ検出用ソーベルフィルタを用いて処理した各画素の微分値が瞼検出用横ソーベル閾値（図４）以下である画素の連なりを横エッジラインと判別する。
【００４０】
その結果、図５（ｃ）に示すように、ｙ軸方向に明るい画素から暗い画素に移るエッジラインがマイナスエッジとして表され、ｙ軸方向に光度が暗い画素から明るい画素に移るエッジラインがプラスエッジとして現れる。なお、図面上は、マイナスエッジを実線で、プラスエッジを破線で表す。
【００４１】
次に、ＣＰＵ２４は、求めたマイナスエッジラインとプラスエッジラインとから、次の三つの数式を満たすマイナスエッジとプラスエッジの組み合わせを抽出する。
【００４２】
Ｌｐ−Ｌｍ＜Ｌｔｈ・・・（１）
ただし、Ｌｐはプラスエッジの長さを表す値であり、Ｌｍはマイナスエッジの長さを表す値であり、Ｌｔｈは閾値である。ただし、閾値Ｌｔｈは、図４に示されるように、設定メモリ２８に格納されている。数式（１）を満たすマイナスエッジとプラスエッジとの長さは閾値Ｌｔｈの範囲で近似している。
【００４３】
Ｃｘｐ−Ｃｘｍ＜Ｃｘｔｈ・・・（２）
ただし、Ｃｘｐはプラスエッジの重心のｘ座標であり、Ｃｘｍはマイナスエッジの重心のｘ座標であり、Ｃｘｔｈは閾値である。ただし、閾値Ｃｘｔｈは、図４に示されるように、設定メモリ２８に格納されている。数式（２）を満たすマイナスエッジとプラスエッジとの重心のｘ座標は閾値Ｃｘｔｈの範囲で近似している。
【００４４】
Ｄｇ＜Ｄｔｈ・・・（３）
ただし、Ｄｇはマイナスエッジの重心とプラスエッジの重心との間の距離であり、Ｄｔｈは閾値である。ただし、閾値Ｄｔｈは、図４に示されるように、設定メモリ２８に格納されている。数式（３）を満たすマイナスエッジとプラスエッジとの重心間距離は閾値Ｄｔｈ以内である。
【００４５】
上記三つの数式を使って、抽出されたマイナスエッジとプラスエッジの組み合わせの内、マイナスエッジは上瞼候補とされ、プラスエッジは下瞼候補とされる。
【００４６】
つまり、数式（１）〜（３）を満たすマイナスエッジとプラスエッジの組み合わせは、ある程度、長さが等しく、位置が近く、重心のｘ座標が一致しているマイナスエッジとプラスエッジの組み合わせである。
【００４７】
図５（ｄ）は、数式（１）〜（３）によりマイナスエッジとプラスエッジの組み合わせの一例を示す。プラスエッジとマイナスエッジとの組み合わせである候補１〜７が対象者の瞼の候補である。
【００４８】
ＣＰＵ２４は、異なったタイミングで取得された複数の顔画像を解析して、図６に示すような、所定時間の上記の瞼の候補のマイナスエッジの重心とプラスエッジの重心との間の距離Ｄｇの履歴と所定時間のうちの１０秒間の距離Ｄｇの標準偏差の履歴を算出し、格納する。次に、ＣＰＵ２４は、次の四つの条件を満たすマイナスエッジとプラスエッジの組み合わせ（以下、瞼候補）を瞼と判別する。
【００４９】
所定時間内の瞼候補のプラスエッジ（下瞼候補）の重心の位置の移動が所定範囲内である。・・・（４）
条件（４）を満たす瞼候補は、出現位置が安定しているので誤検出によるものではない可能性が高いといえる。
【００５０】
次に、距離Ｄｇ（ｔ）を時間ｔで一次微分した関数をＡ（ｔ）とすると、
Ａ（ａ）＝０
となる点が存在する。・・・（５）
【００５１】
距離Ｄｇ（ｔ）を時間ｔで二次微分した関数をＢ（ｔ）とすると、
ｔ＝ａを中心とした所定の範囲ａ−ｂ≦ｔ≦ａ＋ｂ（ただし、ｂ＞０）において、
Ｂ（ｔ）＞Ｂｔｈ
を満たす。・・・（６）
ただし、Ｂｔｈは閾値である。ただし、閾値Ｂｔｈは、図４に示されるように、設定メモリ２８に格納されている。条件（５）（６）を満たす瞼候補は、距離Ｄｇ（ｔ）において、瞬きに相当する極小値を取る。
【００５２】
最後に、距離Ｄｇ（ｔ）の過去１０秒間の標準偏差をσ（ｔ）とすると、
ｔ＜ａ−ｂ，ａ＋ｂ＜ｔにおいて、
σ（ｔ）＜σｔｈ
を満たす。・・・（７）
ただし、σｔｈは閾値である。ただし、閾値σｔｈは、図４に示されるように、設定メモリ２８に格納されている。条件（７）を満たすマイナスエッジとプラスエッジとの重心間距離Ｄｇの標準偏差σは閾値σｔｈ以内である。つまり、条件（７）を満たすマイナスエッジとプラスエッジとの重心間距離Ｄｇは、瞬きに相当する極小値を取らない範囲において安定していると言える。
【００５３】
ＣＰＵ２４は、上記四つの条件を満たす瞼候補を抽出し、抽出した瞼候補を瞼と判別する。
【００５４】
つまり、ＣＰＵ２４は、出現位置が安定していて、且つ、計測した距離Ｄｇの変化が瞬きに相当する極小値を取り、且つ、距離Ｄｇが安定している瞼候補を瞼として判別する。
【００５５】
ここで、本発明の第１の実施形態に係る瞼検出装置５０が行う瞼検出処理について図７に示すフローチャートを参照して説明する。
【００５６】
コンピュータ１４内のＣＰＵ２４は、周期的に（例えば、１／３０秒毎）に図７の瞼検出処理を開始する。
【００５７】
先ず、瞼検出装置５０の電源が投入されると、ＣＰＵ２４は、後述する前処理を行い、ドライバーの顔画像を取り込み、縦エッジラインを抽出し、また、横エッジラインを抽出する（ステップＳ１００）。
【００５８】
次に、ＣＰＵ２４は、後述する顔位置検出処理を行い、上記の前処理で抽出した縦エッジラインを使用して顔の左右端を検出し、横エッジラインを使用して顔の上下端を検出し、顔画像における顔の位置を検出する（ステップＳ２００）。
【００５９】
ＣＰＵ２４は、後述する瞼候補抽出処理を行い、上記の顔位置検出処理で検出した顔の位置を使用して顔画像中から瞼領域を抽出し、横エッジラインを抽出し、抽出した横エッジラインから上下瞼の候補となるエッジラインの対を抽出する（ステップＳ３００）。
【００６０】
ＣＰＵ２４は、後述する瞼判別処理を行い、上瞼候補と下瞼候補のエッジラインの重心の間の距離Ｄｇを計測し、計測した距離Ｄｇが瞬きに相当する極小値を取り、且つ、距離Ｄｇが安定しているエッジラインの対を瞼として判別すると（ステップＳ４００）、処理を終了する。
【００６１】
このようにして、瞼検出処理によれば、顔画像を取得して、その画像から瞼を検出することを周期的に繰り返すことができる。
【００６２】
次に、瞼検出処理のステップＳ１００において行われる前処理を説明する。簡単に説明すると、前処理において、瞼検出装置５０は、ドライバーの顔画像を撮像し、ソーベルフィルタを使用してエッジ検出を行う。
【００６３】
以下、図８を参照して、前処理（Ｓ１００）を詳細に説明する。
【００６４】
先ず、ＣＰＵ２４は、カメラ１０が撮影した対象者の顔画像をＡ／Ｄ変換器２１を介して取り込み、画像メモリ２２に格納するキャプチャ処理を行う（ステップＳ１１０）。
【００６５】
次に、ＣＰＵ２４は、座標変換処理を行い、画像メモリ２２に格納した各顔画像の画素を後述するソーベルフィルタ処理実行可能な程度に間引く処理を行う（ステップＳ１２０）。
【００６６】
ＣＰＵ２４は、ＲＯＭ２３に格納されている縦エッジ検出用オペレータ（図３（ａ））を用いて座標変換後の顔画像を処理して、顔画像内の縦エッジを強調した画像を生成する。また、ＣＰＵ２４は、ＲＯＭ２３に格納されている横エッジ検出用オペレータ（図３（ｂ））を用いて座標変換後の顔画像を処理して、顔画像内の横エッジを強調した画像を生成する（ステップＳ１３０）。
【００６７】
このようにして、前処理によれば、撮像した顔画像の縦エッジを強調した画像と横エッジを強調した画像を生成することができる。
【００６８】
ここで、瞼検出処理のステップＳ２００において行われる顔位置検出処理を説明する。簡単に説明すると顔位置検出処理において、瞼検出装置５０は、前処理において生成した縦エッジを強調した画像と横エッジを強調した画像を用いて顔画像における顔の位置を検出する。
【００６９】
以下、図９を参照して、顔位置検出処理（Ｓ２００）を詳細に説明する。
【００７０】
先ず、ＣＰＵ２４は、後述する顔左右端検出処理を行い、前処理において生成した縦エッジを強調した画像を用いて、顔画像における顔の左右端の位置を検出する（ステップＳ２１０）。
【００７１】
次に、ＣＰＵ２４は、後述する顔上下端検出処理を行い、前処理において生成した横エッジを強調した画像を用いて、顔画像における顔の上下端の位置を検出すると（ステップＳ２２０）、顔位置検出処理を終了する。
【００７２】
このようにして、顔位置検出処理によれば、顔の左右端と上下端を検出することによって顔画像における顔の位置を検出することができる。
【００７３】
ここで、顔位置検出処理のステップＳ２１０において行われる顔左右端検出処理を説明する。簡単に説明すると顔左右端検出処理において、瞼検出装置５０は、前処理において生成した縦エッジを強調した画像を用いて、顔画像における顔の左右端の位置を検出する。
【００７４】
以下、図１０を参照して、顔左右端検出処理（Ｓ２１０）を詳細に説明する。
【００７５】
先ず、ＣＰＵ２４は、縦エッジ検出用ソーベルフィルタを用いたソーベルフィルタ処理後の各画素の値を縦方向に投影してヒストグラムを作成する顔左右端検出用ヒストグラム作成処理を行う（ステップＳ２１１）。
【００７６】
ＣＰＵ２４は、ステップＳ２１１において作成したヒストグラムにおいて、ピークを取る点（以下、ピーク点）を抽出する（ステップＳ２１２）。
【００７７】
ＣＰＵ２４は、ステップＳ２１２において抽出したピーク点からそのヒストグラム値が閾値以上のものを顔の左右端候補として抽出する（ステップＳ２１３）。
【００７８】
ＣＰＵ２４は、ステップＳ２１３の処理の結果、顔の左右端の候補として、ヒストグラム値が閾値以上のピーク点が二つ抽出されたか否かを判別する（ステップＳ２１４）。
【００７９】
ヒストグラム値が閾値以上のピーク点が二つ抽出されたと判別すると（ステップＳ２１４；ＹＥＳ）、ＣＰＵ２４は、処理をステップＳ２１６に進め、抽出した二つのピーク点を取る位置を顔の左右端と決定する（ステップＳ２１６）。
【００８０】
ヒストグラム値が閾値以上の二つのピーク点が抽出されていないと判別すると（ステップＳ２１４；ＮＯ）、ＣＰＵ２４は、ピーク点から、二点の距離が人の顔幅として適切な間隔を有する二つのピーク点の組み合わせを抽出する（ステップＳ２１５）。
【００８１】
ＣＰＵ２４は、抽出した二つのピーク点を取る位置を顔の左右端と決定する（ステップＳ２１６）。
【００８２】
このようにして、顔左右端検出処理によれば、顔画像において顔の左右端を検出することができる。
【００８３】
ここで、顔位置検出処理のステップＳ２２０において行われる顔上下端検出処理を説明する。簡単に説明すると顔上下端検出処理において、瞼検出装置５０は、前処理において生成した横エッジラインを強調した画像を用いて、顔画像における顔の上下端の位置を検出する。
【００８４】
以下、図１１を参照して、顔上下端検出処理（Ｓ２２０）を詳細に説明する。
【００８５】
先ず、ＣＰＵ２４は、横エッジ検出用ソーベルフィルタを用いたソーベルフィルタ処理後の各画素の値を横方向に投影してヒストグラムを作成する顔上下端検出用ヒストグラム作成処理を行う（ステップＳ２２１）。
【００８６】
ＣＰＵ２４は、ステップＳ２２１において作成したヒストグラムにおいて、ピークを取る点（以下、ピーク点）を抽出する（ステップＳ２２２）。
【００８７】
ＣＰＵ２４は、ステップＳ２２２において抽出したピーク点のヒストグラム値に基づいて各ピーク点を瞼・眉・口等に対応付ける（ステップＳ２２３）。
【００８８】
ＣＰＵ２４は、ステップＳ２２３において瞼・眉・口等に対応付けられた各ピーク点に基づいて、顔画像における顔の上下端の位置を算出する（ステップＳ２２４）。例えば、検出した眉から３画素分上の位置を顔の上端とし、検出した口から３画素分下の位置を顔の下端（口と顎の間）とする。
【００８９】
このようにして、顔上下端検出処理によれば、顔画像において顔の上下端の位置を算出することができる。
【００９０】
ここで、瞼検出処理のステップＳ３００において行われる瞼候補抽出処理を説明する。簡単に説明すると、瞼候補抽出処理において、瞼検出装置５０は、先ず、鼻孔の位置を検出する。次に、瞼検出装置５０は、顔位置検出処理で検出した顔の位置と本処理の始めに検出した鼻孔の位置とに基づいて瞼が存在すると推定される特定の領域を抽出する。その後、瞼検出装置５０は、抽出した領域から横エッジライン検出用ソーベルフィルタを用いて、プラスエッジとマイナスエッジを検出し、上記の（１）〜（３）式を満たすエッジラインペアを瞼の候補として抽出する。
【００９１】
以下、図１２を参照して瞼候補抽出処理（Ｓ３００）を詳細に説明する。
【００９２】
先ず、ＣＰＵ２４は、顔画像の顔位置検出処理で検出した顔の左右端と上下端との位置に基づく範囲内において所定の輝度値以下の画素が縦方向と横方向に３〜５画素分連続しているものを鼻孔として検出する（ステップＳ３１０）。
【００９３】
ＣＰＵ２４は、顔位置検出処理で検出した顔の左右端と上下端との位置と瞼領域設定パラメータに基づいて、画像メモリ２２に格納した各顔画像から瞼が存在すると推定される領域の画像を抽出する（ステップＳ３２０）。
【００９４】
ＣＰＵ２４は、ＲＯＭ２３に格納されている横エッジ検出用オペレータ（図３（ｂ））を用いてステップＳ３１０において抽出した領域の画像を処理して、その画像の各画素の微分値が瞼検出用横ソーベル閾値以上である画素を横エッジラインと判別し、抽出する（ステップＳ３３０）。
【００９５】
ＣＰＵ２４は、ステップＳ３２０において抽出した横エッジラインのうちの、プラスエッジの長さＬｐ，マイナスエッジの長さＬｍ，プラスエッジの重心のｘ座標Ｃｘｐ，マイナスエッジのｘ座標Ｃｘｍ，マイナスエッジの重心とプラスエッジの重心との間の距離Ｄｇを算出する（ステップＳ３４０）。
【００９６】
ＣＰＵ２４は、ステップＳ３３０において算出した各パラメータを用いて、上記の（１）〜（３）式を満たすマイナスエッジとプラスエッジの組み合わせを瞼の候補として抽出する（ステップＳ３５０）。
【００９７】
このように、瞼候補抽出処理によれば、瞼が存在すると推定される領域において瞼の候補となるマイナスエッジとプラスエッジの組み合わせを抽出することができる。
【００９８】
ここで、瞼検出処理のステップＳ４００において行われる瞼判別処理を説明する。簡単に説明すると、瞼検出装置５０は、瞼候補抽出処理で抽出した瞼候補のうちから出現する範囲が一定しているものを抽出する。次に、瞼検出装置５０は、抽出した各瞼候補の距離Ｄｇの履歴を抽出する。その後、瞼検出装置５０は、距離Ｄｇの履歴において、瞬きに相当する極小値を取り、且つ、距離Ｄｇが安定しているエッジラインの対（瞼候補）を瞼として判別する。
【００９９】
以下、図１３を参照して、瞼判別処理（Ｓ４００）を詳細に説明する。
【０１００】
先ず、ＣＰＵ２４は、瞼候補抽出処理で抽出した瞼候補の位置及び距離Ｄｇの履歴を抽出する（ステップＳ４１０）。
【０１０１】
ＣＰＵ２４は、瞼候補抽出処理で抽出した瞼候補のうちから、その瞼候補の下瞼部分の位置の移動が所定の範囲以内であるもの、つまり上記の条件（４）を満たすものを抽出する（ステップＳ４２０）。
【０１０２】
ＣＰＵ２４は、ステップＳ４２０において抽出した瞼候補のうちから、上記の条件（５）（６）を満たすように、距離Ｄｇ（ｔ）の二次微分Ｂ（ｔ）が閾値以上である極小値を取る瞼候補を抽出する（ステップＳ４３０）。
【０１０３】
ＣＰＵ２４は、ステップＳ４３０において抽出した瞼候補のうちから、上記の条件（７）を満たすように、瞬きを検出しない期間の１０秒間のＤｇ（ｔ）の標準偏差が閾値以下である瞼候補を抽出する（ステップＳ４４０）。
【０１０４】
ＣＰＵ２４は、ステップＳ４４０において抽出した瞼候補を瞼として判別する（ステップＳ４５０）。
【０１０５】
このようにして、瞼判別処理によれば、瞼候補からその出現位置が一定しており、且つ、瞬きに相当する動きを取り、且つ、その挙動が一定であるものを瞼と判別することができる。
【０１０６】
以上、第１の実施形態における瞼検出装置５０は、異なるタイミングで撮像した複数の顔画像より顔の位置を検出する。それから、瞼検出装置５０は、その顔の位置に基づいて瞼が存在すると推定される領域を抽出し、その領域から瞼候補を抽出する。瞼検出装置５０は、抽出した瞼候補のうち、出現位置が一定しており、且つ、瞬きに相当する挙動を取り、且つ、その挙動が比較的安定しているものを瞼と判別する。よって、瞼検出装置５０は、正確に短時間に瞼を検出することができる。
【０１０７】
（第２の実施形態）
第１の実施形態に係る瞼検出装置５０は、瞼判別処理（Ｓ４００）において、先ず、位置の移動が少ない瞼候補を抽出した（Ｓ４２０）。しかし、第２の実施形態に係る瞼検出装置５０では、先ず、瞼候補抽出処理で検出した鼻孔の位置に対する相対的な位置が同じである瞼候補を抽出するようにしてもよい。
【０１０８】
なお、第２の実施形態に係る瞼検出装置の構成は、第１の実施形態に係る瞼検出装置の構成と同様である。また、第２の実施形態に係る瞼判別処理以外の処理は、第１の実施形態と同様である。
【０１０９】
以下、図１４を参照して、第２の実施形態に係る瞼判別処理（Ｓ４００）を詳細に説明する。
【０１１０】
先ず、ＣＰＵ２４は、瞼候補抽出処理で抽出した瞼候補の位置及び距離Ｄｇの履歴を抽出する（ステップＳ５１０）。
【０１１１】
ＣＰＵ２４は、瞼候補抽出処理で抽出した瞼候補のうちから、瞼候補抽出処理で検出した鼻孔の位置に対する相対的な位置が同じである瞼候補を抽出する（ステップＳ５２０）。
【０１１２】
ＣＰＵ２４は、ステップＳ５３０において抽出した瞼候補のうちから、上記の条件（５）（６）を満たすように、距離Ｄｇ（ｔ）の二次微分Ｂ（ｔ）が閾値以上である極小値を取る瞼候補を抽出する（ステップＳ５３０）。
【０１１３】
ＣＰＵ２４は、ステップＳ５３０において抽出した瞼候補のうちから、上記の条件（７）を満たすように、瞬きを検出しない期間の１０秒間のＤｇ（ｔ）の標準偏差が閾値以下である瞼候補を抽出する（ステップＳ５４０）。
【０１１４】
ＣＰＵ２４は、ステップＳ５４０において抽出した瞼候補を瞼として判別する（ステップＳ５５０）。
【０１１５】
このようにして、瞼判別処理によれば、瞼候補から、鼻孔に対する相対的な位置が一定しており、且つ、瞬きに相当する動きを取り、且つ、その挙動が一定である瞼候補を瞼と判別することができる。
【０１１６】
以上、第２の実施形態における瞼検出装置５０は、異なるタイミングで撮像した複数の顔画像より顔の位置を検出する。それから、瞼検出装置５０は、その顔の位置に基づいて瞼が存在すると推定される領域を抽出し、その領域から瞼候補を抽出する。瞼検出装置５０は、抽出した瞼候補のうち、鼻孔に対する相対的な位置が同じであり、且つ、瞬きに相当する挙動を取り、且つ、その挙動が比較的安定しているものを瞼と判別する。よって、瞼検出装置５０は、正確に短時間に瞼を検出することができる。
【０１１７】
（第３の実施形態）
第１の実施形態に係る瞼検出装置５０は、瞼判別処理（Ｓ４００）のステップＳ４４０において、瞬きがない間の開度標準偏差が閾値以下の瞼候補を抽出した。しかし、第３の実施形態に係る瞼検出装置５０では、瞬きがない間の開度の最大値と最小値との差が閾値以下の瞼候補を抽出するようにしてもよい。
【０１１８】
なお、第３の実施形態に係る瞼検出装置の構成は、第１の実施形態に係る瞼検出装置の構成と同様である。また、第３の実施形態に係る瞼判別処理以外の処理も、第１の実施形態と同様である。
【０１１９】
以下、図１５を参照して、第３の実施形態に係る瞼判別処理（Ｓ４００）を詳細に説明する。
【０１２０】
先ず、ＣＰＵ２４は、瞼候補抽出処理で抽出した瞼候補の位置及び距離Ｄｇの履歴を抽出する（ステップＳ６１０）。
【０１２１】
ＣＰＵ２４は、瞼候補抽出処理で抽出した瞼候補のうちから、そのプラスエッジ（下瞼候補）の位置の移動が所定の範囲以内であるもの、つまり上記の条件（４）を満たすものを抽出する（ステップＳ６２０）。
【０１２２】
ＣＰＵ２４は、ステップＳ６２０において抽出した瞼候補のうちから、上記の条件（５）（６）を満たすように、距離Ｄｇ（ｔ）の二次微分Ｂ（ｔ）が閾値以上である極小値を取る瞼候補を抽出する（ステップＳ６３０）。
【０１２３】
ＣＰＵ２４は、ステップＳ６３０において抽出した瞼候補のうちから、上記の条件（７）を満たすように、瞬きを検出しない期間のＤｇ（ｔ）の最大値と最小値との差が閾値以下である瞼候補を抽出する（ステップＳ６４０）。
【０１２４】
ＣＰＵ２４は、ステップＳ６４０において抽出した瞼候補を瞼として判別する（ステップＳ６５０）。
【０１２５】
このようにして、第３の実施形態における瞼判別処理によれば、瞼候補からその出現位置が一定しており、且つ、瞬きに相当する動きを取り、且つ、その挙動が一定であるものを瞼と判別することができる。
【０１２６】
なお、この発明は上記実施形態に限定されず、種々の変形及び応用が可能である。
【０１２７】
第１と第２の実施形態では、瞼検出装置５０は、瞼候補を抽出する際に、ソーベルフィルタを使用したエッジ検出によって抽出したが、画像の濃度勾配を利用した濃度検出によって抽出してもよい。
【０１２８】
第１と第２の実施形態では、コンピュータ１４は、カメラ１０が撮影した対象者の顔の動画像について瞼検出処理を行った。しかし、応用例では、カメラ１０以外の外部装置から取得した対象者の顔の動画像を画像メモリ２２に格納しておき、その動画像について瞼検出処理を行ってもよい。また、複数の顔の画像について瞼検出処理を行ってもよい。
【０１２９】
また、第１と第２の実施形態では、顔位置検出処理（Ｓ２００）において、顔画像にソーベルフィルタ処理を施し、その画素値に基づいたヒストグラムから顔位置を検出した。しかし、応用例では、特開２００４−３１０３９６号公報に開示されているように、撮像画像を構成する各画素について時間微分し、さらに、この時間微分された画像を縦方向に投影してヒストグラムを作成し、エッジ抽出画像のヒストグラムと時間微分画像のヒストグラムとを合計して、合計したヒストグラムのピーク値の高いものを顔の両端として判別し、顔位置を検出するようにしてもよい。
【０１３０】
また、顔位置検出処理（Ｓ２００）において、テンプレートマッチング法を用い、顔画像に予め登録してあるテンプレートにマッチングさせて、顔の位置を検出してもよい。
【０１３１】
なお、本発明に係る瞼検出装置は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。たとえば、顔画像を入力可能な構成のコンピュータに、上記動作を実行するためのプログラムを、コンピュータシステムが読みとり可能な記録媒体（フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）に格納して配布し、当該プログラムをコンピュータシステムにインストールすることにより、上述の処理を実行する瞼検出装置を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有するストレージに当該プログラムを格納しておき、通常のコンピュータシステムがダウンロード等することで瞼検出装置を構成してもよい。
【０１３２】
また、上述の機能を、ＯＳ（Operating System）とアプリケーションとの分担、またはＯＳとアプリケーションとの協働により実現する場合などには、アプリケーション部分のみを記録媒体やストレージに格納してもよい。
【０１３３】
また、搬送波にプログラムを重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上のサーバに前記プログラムを格納し、ネットワークを介して前記プログラムを配信してもよい。そして、このプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できるように構成してもよい。
【図面の簡単な説明】
【０１３４】
【図１】本発明の第１の実施形態に係る瞼検出装置の構成を示すブロック図である。
【図２】図１に示すコンピュータの構成を示すブロック図である。
【図３】ＲＯＭに格納されている各種データを説明するための図である。
【図４】設定メモリに格納されている各種データを説明するための図である。
【図５】本発明の第１の実施形態に係る瞼候補を抽出する処理の概要を説明するための図である。
【図６】本発明の第１の実施形態に係る瞼を判別する処理の概要を説明するための図である。
【図７】本発明の第１の実施形態に係る瞼検出処理を説明するためのフローチャートである。
【図８】第１の実施形態の瞼検出処理における前処理を説明するためのフローチャートである。
【図９】第１の実施形態の瞼検出処理における顔位置検出処理を説明するためのフローチャートである。
【図１０】顔位置検出処理における顔左右端検出処理を説明するためのフローチャートである。
【図１１】顔位置検出処理における顔上下端検出処理を説明するためのフローチャートである。
【図１２】第１の実施形態の瞼検出処理における瞼候補抽出処理を説明するためのフローチャートである。
【図１３】第１の実施形態の瞼検出処理における瞼判別処理を説明するためのフローチャートである。
【図１４】第２の実施形態の瞼検出処理における瞼判別処理を説明するためのフローチャートである。
【図１５】第３の実施形態の瞼検出処理における瞼判別処理を説明するためのフローチャートである。
【符号の説明】
【０１３５】
１０      カメラ
１２      照明光源
１４      コンピュータ
１６      表示装置
２１      Ａ／Ｄ変換器
２２      画像メモリ（顔画像記憶手段）
２３      ＲＯＭ
２４      ＣＰＵ（瞼候補抽出手段、瞼判別手段、鼻孔位置検出手段）
２５      ＲＡＭ（履歴記憶手段）
２６      表示制御装置
２８      設定メモリ
２９      操作装置
５０      瞼検出装置
【図１】
2008226047.tif 000003
【図２】
2008226047.tif 000004
【図３】
2008226047.tif 000005
【図４】
2008226047.tif 000006
【図５】
2008226047.tif 000007
【図６】
2008226047.tif 000008
【図７】
2008226047.tif 000009
【図８】
2008226047.tif 000010
【図９】
2008226047.tif 000011
【図１０】
2008226047.tif 000012
【図１１】
2008226047.tif 000013
【図１２】
2008226047.tif 000014
【図１３】
2008226047.tif 000015
【図１４】
2008226047.tif 000016
【図１５】
2008226047.tif 000017