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