(57)【要約】【課題】  顔のジェスチャーをスイッチとして、ユーザの手の動作を不要とし、コンピュータの安定なユーザインタフェースを提供する。【解決手段】  本発明のユーザインタフェースでは、対象となる画像領域内において、目の位置を抽出し（Ｓ４０２）、検出された目の位置に基づき、目の周りの所定範囲の明度の平均値（画素の平均濃度）を計算して（Ｓ４０６）、予め記憶装置に登録された目を含む画像についての情報との比較に基づいて、目の開閉および視線方向を含む目の状態を判定する（Ｓ４１８〜Ｓ４２８）。システムは、検出された目の状態に応じて、複数の所定の処理のうち、予め対応づけられた処理を選択して実行する。【選択図】        図８
2005293061.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの顔領域を含む対象画像領域内の各画素の値のデジタルデータを獲得する撮影手段と、
前記対象となる画像領域内において、目の位置を抽出する目検出手段と、
前記検出された目の位置に基づき、予め記憶装置に登録された前記目を含む画像についての情報との比較に基づいて、目の開閉および視線方向を含む目の状態を判定する目状態判定手段と、
少なくとも検出された前記目の状態に応じて、複数の所定の処理のうち、予め対応づけられた処理を選択して実行する処理手段と、
実行された前記処理に対応する結果を、出力する出力手段とを備える、ユーザインタフェース装置。
【請求項２】
前記ユーザの口の位置を検出して、前記ユーザの口に対して、予め前記記憶装置に登録された前記口を含む画像についての情報との比較に基づいて、開状態および閉状態を含む口の状態を判定する口状態判定手段をさらに備え、
前記処理手段は、前記目の状態および前記口の状態の組み合わせに応じて、前記複数の所定の処理のうち、予め対応づけられた処理を選択して実行する、請求項１記載のユーザインタフェース装置。
【請求項３】
前記予め記憶装置に登録された前記目を含む画像についての情報は、前記目の間隔で正規化された前記目を含む所定の範囲の画素の明度の平均値を含む、請求項１記載のユーザインタフェース装置。
【請求項４】
前記予め記憶装置に登録された前記口を含む画像についての情報は、前記目の間隔で正規化された前記口を含む所定の範囲の画素の明度の平均値を含む、請求項２記載のユーザインタフェース装置。
【請求項５】
コンピュータにユーザインタフェース処理を実行させるためのユーザインタフェースプログラムであって、
ユーザの顔領域を含む対象画像領域内の各画素の値のデジタルデータを獲得するステップと、
前記対象となる画像領域内において、目の位置を抽出するステップと、
前記検出された目の位置に基づき、予め記憶装置に登録された前記目を含む画像についての情報との比較に基づいて、目の開閉および視線方向を含む目の状態を判定するステップと、
少なくとも検出された前記目の状態に応じて、複数の所定の処理のうち、予め対応づけられた処理を選択して実行するステップと、
実行された前記処理に対応する結果を、出力装置に出力するステップとをコンピュータに実行させる、ユーザインタフェースプログラム。
【請求項６】
前記ユーザの口の位置を検出するステップと、
前記ユーザの口に対して、予め前記記憶装置に登録された前記口を含む画像についての情報との比較に基づいて、開状態および閉状態を含む口の状態を判定するステップをさらに備え、
前記実行するステップは、前記目の状態および前記口の状態の組み合わせに応じて、前記複数の所定の処理のうち、予め対応づけられた処理を選択して実行する、請求項５記載のユーザインタフェースプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はカメラ等により撮影されたユーザの画像をコンピュータのユーザインタフェースとして利用するユーザインタフェース装置およびユーザインタフェースプログラムに関する。
【背景技術】
【０００２】
コンピュータのユーザインタフェースにおいて、入力デバイスは、従来、たとえば、キーボードやマウスといった人間が手で操作するデバイスが用いられることが一般的である。
【０００３】
一方、いわゆる音声認識技術を用いて、人間の発話により、直接コンピュータに文字等を入力するためのソフトウェアも開発され、汎用のコンピュータの音声入力機能を用いることで、実用的なレベルのものが販売されている。
【０００４】
しかしながら、例えば、事故による脊椎損傷などで首から下の筋肉が動かせなくなり、発話も困難になった人などに対しては、以上のような従来の入力装置では、十分な入力動作を提供できない。
【０００５】
そこで、コンピュータへの入力インタフェースとして、さらには、このようなコンピュータを用いた他人とのコミュニケーションのために、ユーザの視線を検出して文字を綴ることができる装置が提案されている（たとえば、特許文献１を参照）。
【０００６】
しかし、視線のみによる操作は、たとえば、非特許文献１にも記載されているように、ポインティング操作に適していないだけでなく、ポインティングか単なる視線移動かの区別も難しいという問題がある。
【０００７】
また、視線を解析するには目を拡大撮像する必要があるだけでなく、赤外光を照射するなど、カメラ以外の装置が必要になる。頭部に視線を検出する装置を装着するタイプの装置もあるが、障害者が自分で着脱できないので使いづらい。
【０００８】
一方で、撮影された画像中から人物を検出する技術は、ヒューマンコンピュータインタラクション、ジェスチャー認識、セキュリティーなどの分野の発展に欠かせない技術としても、盛んに研究されている。
【０００９】
人物を検出するには、まず顔を検出する手法が有効である。顔は表情など重要な情報を有しており、顔を検出できれば四肢の位置を推測して探索することが容易になる。
【００１０】
これまでに、肌色情報を用いた顔検出システムは報告が数多くなされている（たとえば、特許文献２、非特許文献２〜非特許文献３を参照）。
【００１１】
ただし、これらの手法は、画像から肌色領域を抽出し顔候補領域を求める。顔候補領域を限定できることから、処理の範囲が限定され、計算量を大幅に減らすことができるので、高速なシステムを構築することが可能である。しかし、色情報を利用する手法は照明環境の変動に弱く、一般的な環境下で動作させる場合、安定した性能を期待できない。また、肌色領域を抽出して、領域を限定する前処理が必要な点と、前髪が眉までかかっているような顔は上述のようなパターンが現れないために、検出できない場合がある、といったような問題があった。
【非特許文献１】大野健彦、”視線を用いたインタフェース”、情報処理、２００３年７月号、４４巻７号、ｐｐ．７２６―７３２
【非特許文献２】川戸慎二郎、鉄谷信二、”リング周波数フィルタを利用した眉間の実時間検出”信学論（Ｄ−ＩＩ），ｖｏｌ．Ｊ８４−Ｄ−ＩＩ，ｎｏ１２，ｐｐ．２５７７−２５８４，Ｄｅｃ．２００１．
【非特許文献３】川戸慎二郎、鉄谷信二、”目のリアルタイム検出と追跡”，信学技報，ＰＲＭＵ２０００−６３，ｐｐ．１５−２２、Ｓｅｐｔ．２０００．
【特許文献１】特開２０００−０２０１９６号公報明細書
【特許文献２】特開２００１−５２１７６号公報明細書
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明の目的は、顔のジェスチャーをスイッチとして、ユーザの手の動作を不要とし、コンピュータの安定なインタフェースとして利用することが可能なユーザインタフェース装置およびユーザインタフェースプログラムを提供することである。
【課題を解決するための手段】
【００１３】
この発明のある局面に従うと、ユーザインタフェース装置であって、ユーザの顔領域を含む対象画像領域内の各画素の値のデジタルデータを獲得する撮影手段と、対象となる画像領域内において、目の位置を抽出する目検出手段と、検出された目の位置に基づき、予め記憶装置に登録された目を含む画像についての情報との比較に基づいて、目の開閉および視線方向を含む目の状態を判定する目状態判定手段と、少なくとも検出された目の状態に応じて、複数の所定の処理のうち、予め対応づけられた処理を選択して実行する処理手段と、実行された処理に対応する結果を、出力する出力手段とを備える。
【００１４】
好ましくは、ユーザの口の位置を検出して、ユーザの口に対して、予め記憶装置に登録された口を含む画像についての情報との比較に基づいて、開状態および閉状態を含む口の状態を判定する口状態判定手段をさらに備え、処理手段は、目の状態および口の状態の組み合わせに応じて、複数の所定の処理のうち、予め対応づけられた処理を選択して実行する。
【００１５】
好ましくは、予め記憶装置に登録された目を含む画像についての情報は、目の間隔で正規化された目を含む所定の範囲の画素の明度の平均値を含む。
【００１６】
好ましくは、予め記憶装置に登録された口を含む画像についての情報は、目の間隔で正規化された口を含む所定の範囲の画素の明度の平均値を含む。
【００１７】
この発明の他の局面に従うと、コンピュータにユーザインタフェース処理を実行させるためのユーザインタフェースプログラムであって、ユーザの顔領域を含む対象画像領域内の各画素の値のデジタルデータを獲得するステップと、対象となる画像領域内において、目の位置を抽出するステップと、検出された目の位置に基づき、予め記憶装置に登録された目を含む画像についての情報との比較に基づいて、目の開閉および視線方向を含む目の状態を判定するステップと、少なくとも検出された目の状態に応じて、複数の所定の処理のうち、予め対応づけられた処理を選択して実行するステップと、実行された処理に対応する結果を、出力装置に出力するステップとをコンピュータに実行させる。
【００１８】
好ましくは、ユーザの口の位置を検出するステップと、ユーザの口に対して、予め記憶装置に登録された口を含む画像についての情報との比較に基づいて、開状態および閉状態を含む口の状態を判定するステップをさらに備え、実行するステップは、目の状態および口の状態の組み合わせに応じて、複数の所定の処理のうち、予め対応づけられた処理を選択して実行する。
【発明を実施するための最良の形態】
【００１９】
［実施の形態１］
［ハードウェア構成］
以下、本発明の実施の形態にかかるユーザインタフェース装置について説明する。このユーザインタフェース装置は、パーソナルコンピュータまたはワークステーション等、コンピュータ上で実行されるソフトウェアにより実現されるものであって、対象画像から人物の顔を抽出し、さらに人物の顔の映像から、目および口の位置を検出し、さらに目や口の状態を判定して、それらの状態の組み合わせにより、コンピュータの入力装置としての機能を実現するためのものである。
【００２０】
図１は、本発明のユーザインタフェース装置が動作するシステム１００の構成を示すブロック図である。
【００２１】
システム１００は、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory ）ドライブ５０およびＦＤ（Flexible Disk ）ドライブ５２を備えたコンピュータ本体４０と、コンピュータ本体４０に接続された表示装置としてのディスプレイ４２と、同じくコンピュータ本体４０に接続された入力装置としてのキーボード４６およびマウス４８と、コンピュータ本体４０に接続された、画像を取込むためのカメラ３０とを含む。この実施の形態の装置では、カメラ３０としてはＣＣＤ（固体撮像素子）等の固体撮像素子を含むカメラを用い、カメラ３０の前にいてこのシステム１００を操作する人物の目および口の位置ならびに目および口の状態を検出する処理を行うものとする。
【００２２】
すなわち、カメラ３０により、人間の顔領域を含む画像であって対象となる画像領域内の各画素の値のデジタルデータが準備される。
【００２３】
図１に示されるように、このシステム１００を構成するコンピュータ本体４０は、ＣＤ−ＲＯＭドライブ５０およびＦＤドライブ５２に加えて、それぞれバス６６に接続されたＣＰＵ（Central Processing Unit ）５６と、ＲＯＭ（Read Only Memory) ５８と、ＲＡＭ（Random Access Memory）６０と、ハードディスク５４と、カメラ３０からの画像を取込むための画像取込装置６８とを含んでいる。ＣＤ−ＲＯＭドライブ５０にはＣＤ−ＲＯＭ６２が装着される。ＦＤドライブ５２にはＦＤ６４が装着される。
【００２４】
既に述べたようにこのユーザインタフェース装置の主要部は、コンピュータハードウェアと、ＣＰＵ５６により実行されるソフトウェアとにより実現される。一般的にこうしたソフトウェアはＣＤ−ＲＯＭ６２、ＦＤ６４等の記憶媒体に格納されて流通し、ＣＤ−ＲＯＭドライブ５０またはＦＤドライブ５２等により記憶媒体から読取られてハードディスク５４に一旦格納される。または、当該装置がネットワークに接続されている場合には、ネットワーク上のサーバから一旦ハードディスク５４にコピーされる。そうしてさらにハードディスク５４からＲＡＭ６０に読出されてＣＰＵ５６により実行される。なお、ネットワーク接続されている場合には、ハードディスク５４に格納することなくＲＡＭ６０に直接ロードして実行するようにしてもよい。
【００２５】
図１に示したコンピュータのハードウェア自体およびその動作原理は一般的なものである。したがって、本発明の最も本質的な部分は、ＦＤ６４、ハードディスク５４等の記憶媒体に記憶されたソフトウェアである。なお、記録媒体としては、この他に、メモリカードや、ＤＶＤ（Digital Versatile Disc）−ＲＯＭのようなものであってもよい。この場合には、このような媒体に対応した読取り用のドライブ装置が、本体４０に設けられる。
【００２６】
なお、最近の一般的傾向として、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュールを用意しておき、アプリケーションプログラムはこれらモジュールを所定の配列で必要な時に呼び出して処理を進める方式が一般的である。そうした場合、当該ユーザインタフェース装置を実現するためのソフトウェア自体にはそうしたモジュールは含まれず、当該コンピュータでオペレーティングシステムと協働してはじめてユーザインタフェース装置が実現することになる。しかし、一般的なプラットフォームを使用する限り、そうしたモジュールを含ませたソフトウェアを流通させる必要はなく、それらモジュールを含まないソフトウェア自体およびそれらソフトウェアを記録した記録媒体（およびそれらソフトウェアがネットワーク上を流通する場合のデータ信号）が実施の形態を構成すると考えることができる。
【００２７】
［ユーザインタフェース処理］
次に、システム１００のユーザインタフェース装置としての動作について説明する。
【００２８】
なお、画像中から人間の顔を検出し、顔内から目の位置を検出する方法については、上述した非特許文献１〜２等に開示されている。また、本願発明者による特許出願の特願２００２−３３８１７５号や特願２００３−３９１１４８号にも開示がある。
【００２９】
そこで、以下の説明では、画像中から目の位置の検出については行われているものとの前提で説明する。なお、その後に、特願２００２−３３８１７５号に開示されている目の位置の検出方法について、説明しておくことにする。
【００３０】
（システム起動時の処理）
システム１００は、顔のジェスチャーをスイッチとして、コンピュータのインタフェースとして利用するものである。
【００３１】
そこで、検出した目や口の状態、例えば、目の状態を、「正面を見ている」、「上方を見ている」、「下方を見ている」、「右方向を見ている」、「左方向をみている」、「目をつむっている」、の６状態のデジタルスイッチとし、ロの状態を、「閉じている」、「開けている」、「舌を出している」、の３状態のデジタルスイッチとする。組み合わせると１８状態を表現することができる。もちろん、上述のような全ての場合を用いずに、より少ない組み合わせとしてもよい。たとえば、目の状態のみでユーザインタフェースを構成することも可能である。逆に、たとえば、口の状態に、たとえば、「口を大きく開ける」等の状態を付け加えて、さらに多くの組み合わせを表現することとしてもよい。
【００３２】
このために、システム１００では、このような口の状態や目の状態をシステム起動時に予め各ユーザについて、登録しておく処理を行う。なお、一度登録すれば、基本的には、同一のユーザについては、２回目以降は、たとえば、ハードディスク５４に登録された情報に基づいて、口の状態や目の状態を判断することができる。
【００３３】
図２は、このようなシステム起動時の登録処理について説明するためのフローチャートである。
【００３４】
まず、システム１００が起動すると、ディスプレイ４２上に、「口を閉じて、モニター画面中央を見て下さい」と表示する（ステップＳ１０２）。
【００３５】
後に説明する手続きにしたがって、目と口角を検出して、ディスプレイ４２上の画像に検出位置を表示する（ステップＳ１０４）。
【００３６】
続いて、「システムは目と口を検出しています。よろしければ舌をだして合図してください。」とディスプレイ４２に表示する（ステップＳ１０６）。
【００３７】
システム１００は、口領域の平均濃度が所定のしきい値以上に明るく変化したことを検知して、変化前と変化後の平均濃度を、口閉じ、舌だしの状態として、たとえば、ハードディスク５４に記憶する。同時に、当該ユーザの目間の基準パターン（正面視の状態での両目と目の間を含む矩形領域の基準パターン）と、基準目位置(目間の基準パターンにおける目の位置（黒目の位置）の相対データ：正面視に相当)と、開眼時目領域平均濃度を計算し、ハードディスク５４に記憶する（Ｓ１０８）。
【００３８】
続いて、システム１００は、「舌を検出しました。次は、口を少し開けて目を閉じ、１から３までゆっくり数えてください。」と表示する（Ｓ１１０）。
【００３９】
口領域の平均濃度が、口閉じ状態よりも暗く変化したことを検知して変化後の平均濃度を口開きの状態として記憶する。同時に、すでに獲得している目間基準パターンと基準目位置相対データから基準目位置を計算し、目領域の平均濃度を閉眼時目領域平均濃度としてハードディスク５４に記憶する（ステップＳ１１２）。
順次、「右を見てください」、「左を見てください」、「上をみてください」、「下をみてください」と指示して、見ている方向に対応する、目位置の基準目位置からのずれ量を検出し、ハードディスク５４に記憶する（ステップＳ１１４）。
【００４０】
そして、システム１００は、登録処理が終了すると、「初期化処理を完了しました」とディスプレイ４２に表示する（ステップＳ１１６）。
【００４１】
以後は、システム１００は、新しい画像を入力する度に、目の状態を３ビットのデータ、口の状態を２ビットのデータとして判断し、これらの組み合わせに応じて予め定められた処理に対応した処理結果を出力する（ステップＳ１１８）。
【００４２】
例えば、システム１００を文字編集システムとして使用した場合、舌がでている状態での目の状態の変化でカーソルを移動し、口が開いた変化でクリック動作とみなして、文字を編集するような処理を行うことができる。口が閉じた状態での目の状態変化では、なにも動作させない。こうすることにより、入力を意図した目の状態変化と入力を意図しない、単なる視線移動による目の状態変化を区別することができる。
【００４３】
（口の位置検出フロー）
次に、口の位置の検出フローについて説明する。
【００４４】
上述のとおり、両目位置は、予め検出されているものとして、口検出のフローについて説明する。
【００４５】
カメラ３０により撮影された画像は、システム１００により、検出された目の位置に基づいて、両目が水平に並ぶように画像は回転補正されているものとする。
【００４６】
このとき、両目間の距離をＬeとすると、口は目の下方、例えば０．７Ｌe〜１．４Ｌeの範囲にあり、口の横幅は、口を閉じた普通の状態でほぼＬeに等しく、口を開けたり、口をとがらすと、口の横幅はＬeより小さくなる。
【００４７】
図３は、口位置の検出を説明するためのフローチャートである。
【００４８】
まず、画像の各走査線（ｙ座標：垂直方向の座標）について、左目のｘ座標（水平方向の座標）と右目のｘ座標の間にある画素の平均濃度を計算しプロットする（ステップＳ２０２）。
【００４９】
図４は、顔の下半分について、各走査線（水平方向）毎に右目のｘ座標から左目のｘ座標までの間の画素の濃度の平均をプロットした図である。
【００５０】
図４に示すとおり、このように、幅Ｌeの平均濃度をみると口の位置が一番暗くなるので、ここを口のｙ座標として特定できる。すなわち、目の下０．７Ｌeから１．４Ｌeの間で、平均濃度が一番低い（暗い）ｙ座標をみつけ、口のｙ座標とする。
【００５１】
図５は、左口角テンプレートおよび右口角テンプレートを示す概念図である。
【００５２】
上記のように決定された口のｙ座標上で、図５に示すような左口角テンプレートおよび右口角テンプレートともっともよくマッチするｘ座標を探索して、口の左右の端とする。
【００５３】
すなわち、まず、口のｙ座標上で、左口角テンプレートともっともマッチするｘ座標を口の左端とする（ステップＳ２０６）。
【００５４】
次に、口のｙ座標上で、右口角テンプレートともっともマッチするｘ座標を口の右端とする（ステップＳ２０８）。
【００５５】
この場合、マッチ度は問わないので、口の開閉に関わらず口の両端を検出することができることになる。
【００５６】
（口の状態検出フロー）
次に、口の状態の検出フローについて説明する。
【００５７】
図６は、検出された口の形状を示す概念図である。
【００５８】
図６において、以下で説明するように、検出した左右の口角の距離をＭとする。
【００５９】
図７は、口の状態を検出するための処理を説明するためのフローチャートである。
【００６０】
図７を参照して、まず、検出した左右の口角の距離をＭとし（ステップＳ３０２）、左右の口角の中点を口の中心とする（ステップＳ３０４）。
【００６１】
次に、口の状態を検出するために、図６に示した、例えば、０．７Ｍ×０．２Ｌｅの矩形内の平均濃度(明るさ)を計算する（ステップＳ３０６）。
【００６２】
この平均濃度は、口を開けた状態では口を閉じた状態より暗くなり、舌を出した状態では口を閉じた状態より明るくなる。そこで、上述したように、システムの起動時に、３つの状態をシステム１００に教示して、３つの状態の平均濃度をハードディスク５４に記憶させておく。
【００６３】
次に、計算された平均濃度に基づいて、その値が上記３つの状態のどれに近いか比較をし（ステップＳ３０８）、現在の口の状態を判定する（ステップＳ３１０）。
【００６４】
システム稼動時には、口角を検出する度に、この平均濃度を計算して、その値が３つの状態のどれに近いか判定して、口の状態を判定する。
【００６５】
（目の状態の検出フロー）
次に、目の状態の検出フローについて説明する。
【００６６】
図８は、目の状態を検出するための処理を説明するためのフローチャートである。
【００６７】
図８を参照して、システム稼働時には、入力顔画像に対して、まず目間基準パターンのテンプレートマッチングにより目間位置を検出し（ステップＳ４０２）、正面視時の目間からの目の相対位置データに基づいて、左右の基準目位置を計算する（ステップＳ４０４）。
【００６８】
次に、計算された基準目位置を中心とする、たとえば、０．３Ｌe×０．２Ｌe、の矩形領域の平均濃度を計算する（ステップＳ４０６）。計算された平均濃度が閉眼時の値に近いか開眼時の値に近いか比較し、閉眼状態か開眼状態かを判定する（ステップＳ４０８）。
【００６９】
閉眼状態ならば（ステップＳ４１０）、閉眼状態と判断して、結果をユーザインタフェースのメインルーチンに返す（ステップＳ４２８）。
【００７０】
一方、開眼状態ならば（ステップＳ４１０）、検出された目位置と基準目位置とのずれを計算し（ステップＳ４１２）、そのずれ量がしきい値以下なら（ステップＳ４１４）、正面視状態と判定する（ステップＳ４１８）。
【００７１】
特に、限定されないが、目の位置のずれの量は、図２で説明したように、正面視の場合の目の部分のテンプレート画像と、目を指定された方向に向けた際の目の部分のテンプレート画像とを、予め獲得してハードディスク５４に格納しておき、これらとの比較により特定することが可能である。
【００７２】
ずれがしきい値以上ならば（ステップＳ４１４）、左右上下視のどのケースにもっとも近いか比較し（ステップＳ４１６）、一番近いケースに応じて、それぞれ、開眼状態で上視（上を見た状態）（ステップＳ４２０）、開眼状態で下上視（下を見た状態）（ステップＳ４２２）、開眼状態で左視（左を見た状態）（ステップＳ４２４）、開眼状態で右視（右を見た状態）（ステップＳ４２６）と判断して、結果をユーザインタフェースのメインルーチンに返す。
【００７３】
目の６状態、口の３状態の区別は、ＵＳＢ（Universal Serial Bus）カメラなど安価な画像入力装置により、得られる画像で判別可能であり、赤外線照射も不要なのでズームレンズさえ使えば、ユーザとの距離も自由に設定でき、非装着で操作できる。
【００７４】
このようなユーザインタフェースに基づく処理の他の例としては、たとえば、目の向きで画面上のカーソルを操作し、目をつむることによって、そのカーソル位置のメニューを選択することにする。ただし、舌がでている時には操作目的で目を使っていることとし、舌がでていなければ、単に見る目的で目が動いていると判断する。
【００７５】
以上のような処理では、ユーザの視線がディスプレイ４２上のどの位置に向いているか、というような細かい情報は必要ないので、目の状態、口の状態の区別により、簡易にコンピュータとユーザとの間のインタフェースを実現できる。
【００７６】
図９は、このような口の開閉、視線の方向の組み合わせを変化させた画像の一例を示す図である。
【００７７】
図９には、上述した１８通りのうち、８通りの画像について示している。
【００７８】
次に、以下では、画像中から人間の顔を検出し、顔内から目の位置を検出する方法の一例として、上述した特許出願の特願２００２−３３８１７５号に記載されている方法を説明する。
【００７９】
［顔画像の抽出の基本的原理］
まず、目の位置の検出の手続きの概略をまとめると、顔を連続撮影したビデオ画像を処理するにあたり、横が顔幅、縦がその半分程度の大きさの矩形フィルターで画面を走査する。矩形は、たとえば、３×２に６分割されていて、各分割領域の平均明るさが計算され、それらの相対的な明暗関係がある条件を満たすとき、その矩形の中心を眉間候補とする。
【００８０】
連続した画素が眉間候補となるときは、それを取囲む枠の中心候補のみを眉間候補として残す。残った眉間候補を標準パターン（上述した目間の標準パターン）と比較してテンプレートマッチング等を行うことで、上述した手続きで得られた眉間候補のうちから、偽の眉間候補を捨て、真の眉間を抽出する。
【００８１】
以下、本発明の顔検出の手続きについて、さらに詳しく説明する。
【００８２】
（６分割矩形フィルタ）
図１０は、上述した３×２に６分割された矩形フィルタ（以下、「６分割矩形フィルタ」と呼ぶ）を示す図である。
【００８３】
６分割矩形フィルタは、１）鼻筋は両目領域よりも明るい、２）目領域は頬部よりも暗い、という顔の特徴を抽出し、顔の眉間位置を求めるフィルタである。点（ｘ、ｙ）を中心として、横ｉ画素、縦ｊ画素（ｉ，ｊ：自然数）の矩形の枠を設ける。
【００８４】
図１０のように、この矩形の枠を、横に３等分、縦に２等分して、６個のブロックＳ１〜Ｓ６に分割する。
【００８５】
図１１は、このような６分割矩形フィルタを顔画像に当てはめた場合を示す概念図である。図１１（ａ）は６分割矩形フィルタの形状を示し、図１１（ｂ）は６分割矩形フィルタを顔画像の両目領域および頬部に当てはめた状態を示す。
【００８６】
なお、鼻筋の部分が目の領域よりも通常は狭いことを考慮すると、ブロックＳ２およびＳ５の横幅ｗ２は、ブロックＳ１，Ｓ３，Ｓ４およびＳ６の横幅ｗ１よりも狭い方がより望ましい。好ましくは、幅ｗ２は幅ｗ１の半分とすることができる。図１２は、このような場合の６分割矩形フィルタの構成を示す概念図である。
【００８７】
以下の説明では、図１２に示すような６分割矩形フィルタを用いるものとする。
【００８８】
また、ブロックＳ１、Ｓ２およびＳ３の縦幅ｈ１と、ブロックＳ４、Ｓ５およびＳ６の縦幅ｈ２とは、必ずしも同一である必要もない。ただし、以下の説明では、縦幅ｈ１と縦幅ｈ２とは等しいものとして説明する。
【００８９】
図１２に示す６分割矩形フィルタにおいて、それぞれのブロックＳｉ（１≦ｉ≦６）について、画素の輝度の平均値「バーＳｉ」（Ｓｉに上付きの“−”をつける）を求める。
【００９０】
ブロックＳ１に１つの目と眉が存在し、ブロックＳ３に他の目と眉が存在するものとすると、以下の関係式（１）が成り立つ。
【００９１】
【数１】
2005293061.tif 000003
【００９２】
図１３は、このような６分割矩形フィルタを走査する対象となる画像を示す概念図である。
【００９３】
図１３に示すとおり、顔画像を検知する対象画像は、横方向にＭ画素、縦方向にＮ画素のＭ×Ｎ画素から構成される。原理的には、左上隅の画素（０，０）から横方向および縦方向について順次１画素ずつずらせながら、上記６分割矩形フィルタを当てはめて、上記関係式（１）の妥当性をチェックする作業を行えばよいことになる。しかしながら、このように６分割矩形フィルタをずらせるたびに、各ブロック内の輝度の平均値を求めるのでは、効率が悪い。
【００９４】
そこで、本発明では、矩形枠内の画素の総和を求める処理について、公知の文献（P. Viola and M. Jones, “Rapid Object Detection using a Boosted Cascade of Simple Features,” Proc. Of IEEE Conf. CVPR,1,pp.511-518, 2001）がにおいて開示されている、インテグラルイメージ（Ｉｎｔｅｇｒａｌ  Ｉｍａｇｅ）を利用した計算の高速化手法を取り入れる。
【００９５】
画像ｉ（ｘ、ｙ）から、「インテグラルイメージ」は、次式（２）で定義される。
【００９６】
【数２】
2005293061.tif 000004
【００９７】
インテグラルイメージは、以下の繰り返しで求めることができる。
【００９８】
【数３】
2005293061.tif 000005
【００９９】
ｓ（ｘ、ｙ）は行の画素の総和を表す。ただしｓ（ｘ、−１）＝０、ｉｉ（−１、ｙ）＝０とする。重要な点は、画像全体を一回走査するだけで、インテグラルイメージを求めることができることである。
【０１００】
インテグラルイメージを用いると、長方形領域内の画素の輝度値の総和を簡単に求めることができる。図１４は、このようなインテグラルイメージを用いて、総和を求める長方形領域を示す図である。
【０１０１】
インテグラルイメージを用いて、図１４に示す長方形Ｄの枠内の画素の輝度の総和Ｓｒは、以下のように４点の値の計算で求めることができる。
【０１０２】
【数４】
2005293061.tif 000006
【０１０３】
このように、インテグラルイメージを用いることによって、長方形領域内の画素の輝度値の総和、ひいては、画素の輝度値の平均を高速に求めることができるので、高速に６分割矩形フィルタに対する処理を行うことが可能である。
【０１０４】
（眉間候補点の抽出処理）
以下では、上述した６分割矩形フィルタを用いて、眉間の候補点を抽出する処理を説明する。
【０１０５】
図１５は、眉間の候補点を抽出する処理を説明するためのフローチャートである。
【０１０６】
図１５を参照して、まず、初期化処理として、変数ｍ、ｎの値を、ｍ＝０，ｎ＝０とする（ステップＳ１０００）。
【０１０７】
続いて、６分割フィルタの左上コーナーを画像の（ｍ，ｎ）画素に合わせる（ステップＳ１０２０）。さらに、ブロックＳｉの領域の画素の平均濃度バーＳｉを計算する（ステップＳ１０４０）。
【０１０８】
次に、平均濃度バーＳｉの値の大小が、式（１）による眉間候補条件を満たすがどうかテストする（ステップＳ１０６０）。
【０１０９】
テスト条件を満たす場合は（ステップＳ１０８０）、フィルタの中心点に相当する（ｍ＋ｉ/２，ｎ＋ｊ/２）の位置の画素に眉間候補マークをつける（ステップＳ１１００）。一方、テスト条件を満たさない場合は（ステップＳ１０８０）、処理はステップＳ１１２０に移行する。
【０１１０】
ステップＳ１１２０では、変数ｍの値が１だけインクリメントされる。次に、変数ｍの値が対象画像の中で横方向にフィルタが動ける範囲内であるかが判定される（ステップＳ１１４０）。フィルタが動ける範囲内であるときは、処理はステップＳ１０２０に復帰する。一方、フィルタが横方向に動ける限界になっているときは、変数ｍの値を０にリセットし、変数ｎの値を１だけインクリメントする（ステップＳ１１６０）。
【０１１１】
次に、変数ｎの値が対象画像の中で縦方向にフィルタが動ける範囲内であるかが判定される（ステップＳ１１８０）。フィルタが動ける範囲内であるときは、処理はステップＳ１０２０に復帰する。一方、フィルタが縦方向に動ける限界になっているときは、眉間候補マークのついて、画素の連結性を調べ、各連結要素ごとに連結要素の外形枠の中央の画素を眉間候補点とする（ステップＳ１２００）。ここで、「中央の画素」とは、特に限定されないが、たとえば、各連結要素の重心位置とすることができる。
【０１１２】
（目の候補点の抽出および真の眉間候補点の抽出）
以上のようにして抽出された眉間候補点には、真の眉間候補点以外に偽の眉間候補点も含まれる。そこで、以下に説明する手順で、真の眉間候補点を抽出する。
【０１１３】
まず、眉間候補点の情報に基づいて、目の位置の候補点を抽出する。
【０１１４】
そのために、複数の目の画像を顔画像データベースから抽出し、その平均画像を得る。図１６は、このようにして得られた右目のテンプレートを示す図である。左目のテンプレートは、この右目テンプレートを水平方向に反転させればよい。
【０１１５】
この右目テンプレートおよび左目のテンプレートを用いて、図１０に示した眉間候補点を中心とする６分割矩形フィルタのブロックＳ１およびＳ３の領域において、テンプレートマッチング処理を行えば、右目および左目の各々の候補点を抽出できる。
【０１１６】
図１７は、このような目の候補点の抽出を行った上で、真の眉間候補点の抽出を行う処理を説明するためのフローチャートである。
【０１１７】
図１７を参照して、まず、眉間候補抽出フィルターのブロックＳ１とＳ３のそれぞれの領域において、目のテンプレートともっとも良くマッチする点を探索し、左右の目の候補点とする（ステップＳ２０００）。
【０１１８】
次に、眉間候補点位置を左右の目の候補点の中点に修正する（ステップＳ２０２０）。続いて、修正眉間候補点位置を中心に左右の目の候補点が水平に並ぶように入力画像を回転する（ステップＳ２０４０）。
【０１１９】
回転後の修正眉間候補点を中心とするパターンと、後に説明するような手続きで予め形成されている眉間テンプレートとの類似度を計算する（ステップＳ２０６０）。
【０１２０】
類似度が予め定めたしきい値以上かを判断し（ステップＳ２０８０）、しきい値以上であれば、それを真の眉間候補点とする（ステップＳ２１００）。一方、しきい値未満であれば、それを偽の眉間候補点とする（ステップＳ２１２０）。
【０１２１】
このような処理をすべての眉間候補点について行う。
【０１２２】
以下では、上述した「目間の標準パターン」を「眉間テンプレート」と呼ぶことにする。
【０１２３】
本願では、眉間テンプレートは、上述したように各ユーザごとに設定することとする。
【０１２４】
次に、図１７のステップＳ２０６０のテンプレートマッチングの処理をさらに詳しく説明する。 
【０１２５】
図１８は、ステップＳ２０６０のテンプレートマッチングの手続きを説明するためのフローチャートである。
【０１２６】
図１８を参照して、まず、眉間候補点を抽出して（ステップＳ４０００）、必要に応じて、眉間候補点を中心に回転を行い、スケール補正を行う（ステップＳ４０２０）。
【０１２７】
次に、眉間候補点を中心として、テンプレートと同じサイズの画像を切り出す（ステップＳ４０４０）。切り出した眉間候補パターンと眉間テンプレートとの相関値を計算して類似度とする（ステップＳ４０６０）。
【０１２８】
なお、類似度の計算としては、切り出した眉間候補パターンの濃度を正規化（平均ゼロ、分散１．０）して、画素ごとにテンプレートの対応画素との差の２乗を計算し、その総和を求めることとしてもよい。すなわち、この場合、総和の値は、不類似度とみなせるので、この逆数により類似度を評価してもよい。
【０１２９】
以上のような手続きで、目の位置を検出することができる。
【０１３０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１３１】
【図１】本発明にかかるシステム１００のハードウェア的構成を示すブロック図である。
【図２】システム起動時の登録処理について説明するためのフローチャートである。
【図３】口位置の検出を説明するためのフローチャートである。
【図４】顔の下半分について、各走査線（水平方向）毎に右目のｘ座標から左目のｘ座標までの間の画素の濃度の平均をプロットした図である。
【図５】左口角テンプレートおよび右口角テンプレートを示す概念図である。
【図６】検出された口の形状を示す概念図である。
【図７】口の状態を検出するための処理を説明するためのフローチャートである。
【図８】目の状態を検出するための処理を説明するためのフローチャートである。
【図９】口の開閉、視線の方向の組み合わせを変化させた画像の一例を示す図である。
【図１０】６分割矩形フィルタを示す図である。
【図１１】６分割矩形フィルタを顔画像に当てはめた場合を示す概念図である。
【図１２】６分割矩形フィルタの他の構成を示す概念図である。
【図１３】分割矩形フィルタを走査する対象となる画像を示す概念図である。
【図１４】インテグラルイメージを用いて、総和を求める長方形領域を示す図である。
【図１５】眉間の候補点を抽出する処理を説明するためのフローチャートである。
【図１６】右目のテンプレートを示す図である。
【図１７】目の候補点の抽出を行った上で、真の眉間候補点の抽出を行う処理を説明するためのフローチャートである。
【図１８】ステップＳ２０６０のテンプレートマッチングの手続きを説明するためのフローチャートである。
【符号の説明】
【０１３２】
２０  顔位置抽出装置、３０  カメラ、４０  コンピュータ本体、４２  モニタ。
【図１】
2005293061.tif 000007
【図２】
2005293061.tif 000008
【図３】
2005293061.tif 000009
【図５】
2005293061.tif 000010
【図６】
2005293061.tif 000011
【図７】
2005293061.tif 000012
【図８】
2005293061.tif 000013
【図１０】
2005293061.tif 000014
【図１２】
2005293061.tif 000015
【図１３】
2005293061.tif 000016
【図１４】
2005293061.tif 000017
【図１５】
2005293061.tif 000018
【図１７】
2005293061.tif 000019
【図１８】
2005293061.tif 000020
【図４】
2005293061.tif 000021
【図９】
2005293061.tif 000022
【図１１】
2005293061.tif 000023
【図１６】
2005293061.tif 000024