(57)【特許請求の範囲】
【請求項１】
顔検出手段が、画像から顔を検出する顔検出ステップと、
特徴点抽出手段が、前記顔検出ステップにより検出された顔から口の特徴点を抽出すると共に、前記顔検出ステップにより検出された顔の向きが所定の範囲内に入っているか否かを該特徴点に基づき判定する特徴点抽出ステップと、
算出手段が、前記顔の向きが前記所定の範囲内に入っていると判定された場合に、前記特徴点抽出ステップにより抽出された前記口の特徴点から該口の縦幅および横幅を求め、該口の縦幅と口について予め求められた標準の縦幅との第１の差分と、該口の横幅と口について予め求められた標準の横幅との第２の差分とを算出する算出ステップと、
判定手段が、前記算出ステップにより算出された前記第１の差分および前記第２の差分に基づき、前記顔検出ステップにより検出された顔内の口が覆われた状態か否かを判定する判定ステップと
を有する
ことを特徴とする顔検出方法。
【請求項２】
前記判定ステップは、
前記第１の差分が第１の閾値以下であり、且つ、前記第２の差分が第２の閾値以下である場合に、前記口が覆われていない状態であると判定する
ことを特徴とする請求項１に記載の顔検出方法。
【請求項３】
前記判定ステップは、
前記第１の差分が第１の閾値以下であり、且つ、前記第２の差分が前記第２の閾値を超える場合で、前記口を含む予め定められた範囲の輝度が該輝度に対して定められた閾値未満である場合に、前記口が覆われていない状態であると判定する
ことを特徴とする請求項２に記載の顔検出方法。
【請求項４】
前記判定ステップは、
前記第１の差分が前記第１の閾値を超える場合、さらに、前記第２の差分を第３の閾値と比較し、該第２の差分が前記第２の閾値以下であり、且つ、該第３の閾値を超える場合に、前記口が覆われていない状態であると判定する
ことを特徴とする請求項２に記載の顔検出方法。
【請求項５】
前記判定ステップは、
前記第２の差分を前記第３の閾値と比較した結果、前記第２の差分が前記第３の閾値以下または前記第２の閾値を超え、且つ、前記口を含む予め定められた範囲の輝度が該輝度に対して定められた閾値未満である場合に、前記口が覆われていない状態であると判定する
ことを特徴とする請求項４に記載の顔検出方法。
【請求項６】
前記算出ステップは、
前記第１の差分として、前記口の縦幅から前記標準の縦幅を減じた値の絶対値を取った値を用いる
ことを特徴とする請求項１乃至請求項５の何れか１項に記載の顔検出方法。
【請求項７】
前記算出ステップは、
前記第１の差分および前記第２の差分口の縦幅および横幅についてそれぞれ算出された前記差分に対して１を超える係数を乗じ、
前記判定ステップは、
それぞれ前記係数を乗じられた前記第１の差分および前記第２の差分に基づき前記判定を行う
ことを特徴とする請求項１乃至請求項６の何れか１項に記載の顔検出方法。
【請求項８】
前記顔検出ステップは、
前記画像から矩形領域として前記顔を検出し、
前記算出ステップは、
前記矩形領域の対角線の長さで正規化した前記口の横幅および縦幅を用いて前記第１の差分および前記第２の差分をそれぞれ求める
ことを特徴とする請求項１乃至請求項７の何れか１項に記載の顔検出方法。
【請求項９】
画像から顔を検出する顔検出手段と、
前記顔検出手段により検出された顔から口の特徴点を抽出すると共に、前記顔検出手段により検出された顔の向きが所定の範囲内に入っているか否かを該特徴点に基づき該判定する特徴点抽出手段と、
前記顔の向きが前記所定の範囲内に入っていると判定された場合に、前記特徴点抽出手段により抽出された前記口の特徴点から該口の縦幅および横幅を求め、該口の縦幅と口について予め求められた標準の縦幅との第１の差分と、該口の横幅と口について予め求められた標準の横幅との第２の差分とを算出する算出手段と、
前記算出手段により算出された前記第１の差分および前記第２の差分に基づき、前記顔検出手段により検出された顔内の口が覆われた状態か否かを判定する判定手段と
を有する
ことを特徴とする顔検出装置。
【請求項１０】
画像から顔を検出する顔検出ステップと、
前記顔検出ステップにより検出された顔から口の特徴点を抽出すると共に、前記顔検出ステップにより検出された顔の向きが所定の範囲内に入っているか否かを該特徴点に基づき判定する特徴点抽出ステップと、
前記顔の向きが前記所定の範囲内に入っていると判定された場合に、前記特徴点抽出ステップにより抽出された前記口の特徴点から該口の縦幅および横幅を求め、該口の縦幅と口について予め求められた標準の縦幅との第１の差分と、該口の横幅と口について予め求められた標準の横幅との第２の差分とを算出する算出ステップと、
前記算出ステップにより算出された前記第１の差分および前記第２の差分に基づき、前記顔検出ステップにより検出された顔内の口が覆われた状態か否かを判定する判定ステップと
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データから顔を検出する顔検出方法および顔検出装置、ならびに、プログラムに関する。
【背景技術】
【０００２】
従来、監視システムなどにおいて、監視カメラで撮像された画像データから顔を検出して、顔認証や不審者の検出などを行っている。例えば、画像データから目や口の両端といった顔器官の特徴点を抽出することで顔を検出し、その特徴点の位置関係から顔の認識を行う。
【０００３】
ここで、各顔器官の位置関係は、人物の表情などにより変動する。特許文献１では、登録画像における目、鼻、口などの顔器官の位置に主成分分析を適用し、その結果得られた主成分を用いて認証対象顔画像における顔器官の位置を評価する技術が開示されている。
【０００４】
図１２は、特許文献１による顔器官の位置評価の方法の例を示す。図１２（ａ）は、真顔の状態の位置評価、図１２（ｂ）は、笑顔の状態の位置評価の例を示す。この例では、顔器官のうち瞳、眉の先端、鼻および口（両端、中央）の位置を検出し、検出された各位置の位置関係を数値化して評価する。図１２（ａ）および図１２（ｂ）を比較すると、表情によって顔器官の位置関係が変化することが分かる。例えば閾値判定を用いて、この変化が同一人物の変動の範囲内か否かを判定することで、顔の認証精度を高めることができる。
【０００５】
このように、特許文献１によれば、認証対象顔画像における顔器官を、表情の変化に伴う対象人物固有の顔の動きに応じて評価することができ、表情が変化しても正確に顔を認証できる。
【０００６】
特許文献１の方法では、顔認識の対象人物が目を瞑っていたり、サングラスやマスクで目や口を覆っており顔器官の位置を正しく検出できないような場合に、誤認識してしまうおそれがある。特許文献２には、画像に対してエッジ検出を行って顔の輪郭を決定し、輪郭内にある顔器官を検出することで、対象人物がサングラスやマスクを装着しているか否かを判定する技術が開示されている。すなわち、特許文献２では、顔認識の対象人物における顔器官が抽出できない場合に、当該対象人物がサングラスやマスクを装着していると見做している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１５６９４４号公報
【特許文献２】特開平５−３５９９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献２では、顔認識の対象人物が口を開けていたり、マスクなどで口を覆っている状態において、誤検出してしまうおそれがあるという問題点があった。例えば、対象人物がマスクなど非着用でも、口を開けていることによりマスク着用と誤検出されてしまう可能性がある。また、対象人物がマスクなどを着用して口元を隠している場合であっても、マスクの皺などを口の輪郭であると誤検出してしまう可能性がある。
【０００９】
本発明は、上記に鑑みてなされたものであって、顔検出の検出結果に基づき対象人物が口を覆う用具を装着しているか否かを判定可能とすることを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、顔検出手段が、画像から顔を検出する顔検出ステップと、特徴点抽出手段が、顔検出ステップにより検出された顔から口の特徴点を抽出すると共に、顔検出ステップにより検出された顔の向きが所定の範囲内に入っているか否かを特徴点に基づき判定する特徴点抽出ステップと、算出手段が、顔の向きが所定の範囲内に入っていると判定された場合に、特徴点抽出ステップにより抽出された口の特徴点から口の縦幅および横幅を求め、口の縦幅と口について予め求められた標準の縦幅との第１の差分と、口の横幅と口について予め求められた標準の横幅との第２の差分とを算出する算出ステップと、判定手段が、算出ステップにより算出された第１の差分および第２の差分に基づき、顔検出ステップにより検出された顔内の口が覆われた状態か否かを判定する判定ステップとを有することを特徴とする。
【００１１】
また、本発明は、画像から顔を検出する顔検出手段と、顔検出手段により検出された顔から口の特徴点を抽出すると共に、顔検出手段により検出された顔の向きが所定の範囲内に入っているか否かを特徴点に基づき判定する特徴点抽出手段と、顔の向きが所定の範囲内に入っていると判定された場合に、特徴点抽出手段により抽出された口の特徴点から口の縦幅および横幅を求め、口の縦幅と口について予め求められた標準の縦幅との第１の差分と、口の横幅と口について予め求められた標準の横幅との第２の差分とを算出する算出手段と、算出手段により算出された第１の差分および第２の差分に基づき、顔検出手段により検出された顔内の口が覆われた状態か否かを判定する判定手段とを有することを特徴とする。
【００１２】
また、本発明は、画像から顔を検出する顔検出ステップと、顔検出ステップにより検出された顔から口の特徴点を抽出すると共に、顔検出ステップにより検出された顔の向きが所定の範囲内に入っているか否かを特徴点に基づき判定する特徴点抽出ステップと、顔の向きが所定の範囲内に入っていると判定された場合に、特徴点抽出ステップにより抽出された口の特徴点から口の縦幅および横幅を求め、口の縦幅と口について予め求められた標準の縦幅との第１の差分と、口の横幅と口について予め求められた標準の横幅との第２の差分とを算出する算出ステップと、算出ステップにより算出された第１の差分および第２の差分に基づき、顔検出ステップにより検出された顔内の口が覆われた状態か否かを判定する判定ステップとをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１３】
本発明によれば、顔検出の検出結果に基づき対象人物が口を覆う用具を装着しているか否かが判定可能となるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施形態による顔検出装置の一例の機能を示す機能ブロック図である。
【図２】図２は、本発明の実施形態による顔検出方法の一例の処理を示すフローチャートである。
【図３】図３は、本発明の実施形態による特徴点抽出を説明するための略線図である。
【図４】図４は、正規化に顔領域を示す矩形の対角線の長さを用いることを説明するための略線図である。
【図５】図５は、閾値を設定する際に係数を乗じることを説明するための略線図である。
【図６】図６は、本発明の実施形態による逸脱度合mouthDeviancyに対する閾値判定について説明するための略線図である。
【図７】図７は、本発明の実施形態による逸脱度合mouthDeviancyに対する閾値判定について説明するための略線図である。
【図８】図８は、本発明の実施形態による逸脱度合mouthDeviancyに対する閾値判定について説明するための略線図である。
【図９】図９は、本発明の実施形態による逸脱度合mouthDeviancyに対する閾値判定について説明するための略線図である。
【図１０】図１０は、口周辺の輝度に基づく判定について説明するための略線図である。
【図１１】図１１は、本発明の実施形態による顔検出装置を適用可能なハードウェアとしての情報処理装置の一例の構成を示すブロック図である。
【図１２】図１２は、従来技術による顔器官の位置評価の方法の例を示す略線図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照して、本発明に係る顔検出装置の一実施形態を詳細に説明する。図１は、本実施形態による顔検出装置１の一例の機能を示す機能ブロック図である。顔検出装置１は、画像入力部１００、顔検出部１０１、特徴点抽出部１０２、算出部１０３および判定部１０４を含む。これら顔検出装置１を構成する各部は、ＣＰＵ(Central  Processing  Unit)上で動作するプログラムにより構成することができる。これに限らず、これら各部の一部または全部をハードウェアにより構成してもよい。
【００１６】
顔検出装置１において、画像データが画像入力部１００に入力される。画像入力部１００には、ビデオカメラなどで撮像された画像データを入力することができる。これに限らず、ＨＤＤ（ハードディスクドライブ）などの記憶媒体に予め格納した画像データを画像入力部１００に対して入力してもよい。また、画像入力部１００に入力される画像データは、動画および静止画の何れであってもよい。以下では、ビデオカメラで撮像された動画による画像データが画像入力部１００に入力されるものとする。画像入力部１００は、入力された画像データから、例えば１フレームの画像データをキャプチャして、顔検出部１０１に供給する。
【００１７】
顔検出部１０１は、供給された画像データを解析して、当該画像データから顔を検出する。画像データからの顔（顔領域および目、鼻、口などの顔器官）の検出は、既知の方法を用いて行うことができる。例えば、顔辞書とパターンマッチングを用いた部分空間法により、顔領域および各顔器官の検出を行うことが考えられる。顔検出部１０１による検出出力は、特徴点抽出部１０２に供給される。なお、顔検出部１０１は、画像データから顔が検出されなかった場合に、画像入力部１００に対して次の画像データを要求することができる。
【００１８】
特徴点抽出部１０２は、顔検出部１０１で検出された顔の特徴点を抽出する。例えば、特徴点抽出部１０２は、顔における目、鼻、口などの各顔器官について、特徴点を抽出する。特徴点の抽出には、既知の技術を用いることができる。例えば、顔検出部１０１で検出された顔領域に対して特徴点数の多い顔グラフを適用し、顔グラフの平行移動、拡大／縮小、回転などにより、さらに類似度の高い特徴点を抽出する方法を用いることが考えられる。
【００１９】
本実施形態では、抽出された顔の特徴点のうち、口に関する特徴点に注目し、口の縦幅および横幅を計測するための特徴点を抽出する。特徴点抽出部１０２で抽出された口の特徴点の位置を示す情報は、算出部１０３に供給される。
【００２０】
特徴点抽出部１０２は、さらに、顔検出部１０１で検出された顔の向きを解析する。そして、顔の向きが上下左右それぞれの方向に対して予め決められた範囲内に収まっているか否かを判定する。例えば、特徴点抽出部１０２は、顔の特徴点の位置を示す情報に基づき顔の向きを推測する。なお、特徴点抽出部１０２は、顔の向きが所定範囲内に入っていないと判定した場合に、画像入力部１００に対して次の画像データを要求することができる。
【００２１】
算出部１０３は、特徴点抽出部１０２から供給された口の特徴点の位置を示す情報に基づき、口の縦幅および横幅を算出する。ここで、算出部１０３は、口の縦幅および横幅について、予め多数のサンプルから算出された、標準のデータを持っている。算出部１０３は、顔検出の結果に基づき算出された口の縦幅および横幅と、標準の口の縦幅および横幅とを比較する。そして、比較結果に基づき、顔検出で検出された口の縦幅および横幅それぞれの、標準の口の縦幅および横幅に対する逸脱度合を算出する。算出された口の縦幅および横幅それぞれの逸脱度合は、判定部１０４に供給される。
【００２２】
判定部１０４は、算出部１０３から供給された、口の縦幅および横幅それぞれの逸脱度合に基づき、顔検出部１０１で検出された顔内の口が、口を覆う用具（例えばマスク）に覆われているか否かを判定する。判定部１０４は、口周辺の領域について測定された輝度を、さらに判定に用いてもよい。
【００２３】
図２は、本実施形態による顔検出方法の一例の処理を示すフローチャートである。ステップＳ１００で、顔検出装置１に入力された画像データが画像入力部１００にキャプチャされる。顔検出部１０１は、キャプチャされた画像データに対して既知の方法を用いて顔検出処理を施し、画像データから顔が検出されたか否かを判定する（ステップＳ１０１）。若し、顔が検出されていないと判定された場合は、画像入力部１００に対して例えば次のフレームの画像データを要求し、処理をステップＳ１００に戻す。
【００２４】
一方、ステップＳ１０１で、顔が検出されたと判定された場合、処理がステップＳ１０２に移行される。ステップＳ１０２では、特徴点抽出部１０２が、顔検出部１０１による顔検出結果を用いて顔の特徴点を検出する。
【００２５】
上述したように、本実施形態では、特徴点抽出部１０２は、各顔器官のうち、口に注目して特徴点を抽出する。より具体的には、図３に例示されるように、口１０における唇の両端、ならびに、唇の左右方向の中点における上下端（以下、単に唇の上下端のように呼ぶ）の位置を、特徴点として検出する。以下では、唇の右端および左端の位置をそれぞれ位置Ｐ1およびＰ2とし、唇の上端および下端をそれぞれ位置Ｐ3およびＰ4とする。
【００２６】
特徴点抽出部１０２は、さらに、画像データにおける顔の向きを推定する。例えば、特徴点抽出部１０２は、顔検出結果を用いて抽出された各顔器官の特徴点の位置関係から、顔の向きを推定する。そして、ステップＳ１０３で、特徴点抽出部１０２は、推定された顔の向きが、上下について予め定められた範囲内に収まっているか否かを判定する。若し、当該範囲内に収まっていないと判定した場合、画像入力部１００に対して例えば次のフレームの画像データを要求し、処理をステップＳ１００に戻す。一方、顔の向きが当該範囲内に収まっていると判定した場合、次のステップＳ１０４で、推定された顔の向きが左右について予め定められた範囲内に収まっているか否かを判定する。若し、当該範囲内に収まっていないと判定した場合、画像入力部１００に対して例えば次のフレームの画像データを要求し、処理をステップＳ１００に戻す。なお、ステップＳ１０３およびステップＳ１０４の順序は、逆でもよい。
【００２７】
ステップＳ１０４で、特徴点抽出部１０２は、推定された顔の向きが左右について予め定められた範囲内に収まっていると判定したら、ステップＳ１０２で抽出した口の特徴点の位置Ｐ1〜Ｐ4を示す情報を算出部１０３に渡し、処理をステップＳ１０５に移行させる。
【００２８】
ステップＳ１０５で、算出部１０３は、特徴点抽出部１０２から渡された口の特徴点の位置Ｐ1〜Ｐ4を示す情報を用いて、口１０の縦幅および横幅を算出する。このとき、図４に例示されるように、顔検出部１０１による顔検出結果から得られる顔領域を示す矩形２０、例えば顔検出に用いた各顔器官を含む矩形２０の対角線の長さを用い、顔の大きさに基づき正規化した値として、縦幅および横幅を算出する。顔の大きさとして矩形２０の対角線の長さを用いるのは、矩形２０が正方形ではない場合に対応させるためである。
【００２９】
具体的には、算出部１０３は、口１０の縦幅mouthYおよび横幅mouthXを、例えばそれぞれ式（１）および式（２）に従い算出する。なお、式（１）および式（２）において、値Ｆｘおよび値Ｆｙは、それぞれ正規化に用いる顔領域の矩形２０の横幅および縦幅を示す。また、値Ｐnｘおよび値Ｐnｘ（ｎは１〜４）は、それぞれ位置Ｐ1〜Ｐ4のｘ座標およびｙ座標を示す。各値の単位は、例えば画像データの画素とする。
【００３０】
【数１】
0005703068.tif 000002
【数２】
0005703068.tif 000003
【００３１】
次のステップＳ１０６で、算出部１０３は、ステップＳ１０５で算出した口１０の縦幅mouthYおよび横幅mouthXと、予め算出した、口の標準の縦幅および横幅との差分subNormalXおよびsubNormalYとを算出し、顔検出部１０１で検出された顔に含まれる口の縦幅および横幅の、標準の縦幅および横幅に対する逸脱度合を求める。
【００３２】
口の標準の縦幅および横幅の算出は、例えば次のようにして行う。口１０について、予め、多数のサンプルについて上述した式（１）に従い縦幅mouthYを算出し、代表値（平均値など）を求めて口１０の標準の縦幅normalYとする。同様にして、口１０の横幅について、予め、多数のサンプルについて上述した式（２）に従い横幅mouthXを算出し、代表値を求めて口１０の標準の横幅normalXとする。これら標準の縦幅normalYおよびnormalXは、例えば顔検出装置１が有する、図示されないＨＤＤなどの不揮発性の記憶媒体に記憶される。
【００３３】
逸脱度合mouthDeviancyの算出方法について、口１０の縦幅mouthYを例にとって、当該縦幅mouthYに対する逸脱度合mouthYDeviancyを算出する場合について説明する。なお、以下に説明する逸脱度合mouthYDeviancyの算出方法は、口１０の横幅mouthXについても同様に適用できる。また、横幅mouthXに対応する逸脱度合mouthDeviancyを、逸脱度合mouthXDeviancyとする。
【００３４】
先ず、式（３）に従い、特徴点の位置から求めた口１０の縦幅mouthYと、口の標準の縦幅normalYとの差分subNormalYを算出する。
subNormalY＝abs(mouthY−normalY)    …（３）
【００３５】
ここで、「abs()」は、括弧内の計算結果に対して絶対値を取ることを意味する。式（３）で減算結果の絶対値を差分subNormalYとして用いるのは、口は通常、閉じており、標準の口の縦幅も、閉じた状態で計測されると考えられ、顔検出結果に基づく口の例えば縦幅mouthYと、標準の口の縦幅との差分を計算した場合に、正負は大きな意味を持たないためである。なお、口の横幅mouthXについても同様に、標準の口の縦幅に対する差分の絶対値を取り、差分subNormalXとする。
【００３６】
式（３）の結果得られた差分subNormalYに対して、口の縦幅に対して予め定められた係数pixelsToMouthYDeviancyを乗じて、口１０の縦幅mouthYの逸脱度合mouthYDeviancyを算出する。
mouthYDeviancy＝subNormalY×pixelsToMouthYDeviancy    …（４）
【００３７】
ここで、係数pixelsToMouthYDeviancyは、判定部１０４における判定処理に用いる閾値の設定を容易にするために、差分subNormalYに対して乗じられる。口１０の縦幅mouthYを例に取り、図５を用いて、係数pixelsToMouthYDeviancyの意味について説明する。顔検出によって得られた特徴点に基づく口１０の縦幅mouthYと、口の標準の縦幅normalYとの差分subNormalYを取った場合、差分subNormalYの頻度分布は、例えば図５（ａ）に例示されるように、差分subNormalY＝０を中心とする正規分布的なものとなる。
【００３８】
本実施形態では、後述するように、この差分subNormalYを閾値判断することで、検出された口が口を覆う用具に覆われているか否かを判定する。このとき、閾値を少し、例えば閾値Ｔｈ10から閾値Ｔｈ11にずらしただけで、対応する頻度が大きく変化し、頻度が少ない状態も許容してしまうおそれがある。そこで、差分subNormalYに対して１を超える係数pixelsToMouthYDeviancyを乗じた値を逸脱度合mouthYDeviancyとし、この逸脱度合mouthYDeviancyに対して閾値を設定することで、閾値の細かい設定が容易となる。
【００３９】
図５（ｂ）の例では、係数pixelsToMouthYDeviancy≒２として、頻度分布をｘ方向に略２倍に拡張している。これにより、閾値設定に対する精度が略２倍となり、閾値を図５（ａ）と同じだけずらした場合（閾値Ｔｈ10から閾値Ｔｈ12）の、頻度の変化が図５（ａ）に比べて小さくなり、閾値の設定が容易となる。
【００４０】
なお、ここでは、縦幅mouthYに対する係数pixelsToMouthYDeviancyについて説明したが、この係数は、口１０の横幅mouthXに対しても設定される。このとき、係数pixelsToMouthYDeviancyと、口１０の横幅mouthXに対して設定される係数pixelsToMouthXDeviancyとは、互いに異なる値とすることができる。
【００４１】
係数pixelsToMouthYDeviancyおよび係数pixelsToMouthXDeviancyの値は、実験的に予め決められる。例えば、係数pixelsToMouthYDeviancyとして、１０００を超える値を用いることができる。この場合、逸脱度合mouthYDeviancyの値も大きな値、例えば１０００を超える値を取る可能性がある。この場合、逸脱度合mouthYDeviancyの値に閾値として設定する値よりも大きな値を上限（例えば１０００）として設け、逸脱度合mouthYDeviancyの値がこの上限を超えた場合には、逸脱度合mouthYDeviancyの値を強制的にこの上限値に設定してもよい。
【００４２】
また、差分に対する係数の乗算に限らず、例えば設定される閾値近傍をｘ方向に拡大するような関数を用いることもできる。さらに、ステップＳ１０６において差分に対する係数の乗算を省略（または係数＝１）し、差分そのものを逸脱度合として用いることもできる。
【００４３】
ステップＳ１０６で、口１０の縦幅mouthYおよび横幅mouthXの、標準の縦幅normalYおよび横幅normalXに対する逸脱度合mouthYDeviancyおよびmouthXDeviancyが求められると、処理はステップＳ１０７に移行される。ステップＳ１０７、ならびに、ステップＳ１０８およびステップＳ１１０では、口１０の逸脱度合mouthYDeviancyおよびmouthXDeviancyに対する閾値判定が行われる。なお、以下で用いる閾値Ｔｈ1、Ｔｈ2およびＴｈ3は、それぞれ実験的に求めた値である。
【００４４】
ステップＳ１０７で、判定部１０４は、口１０の縦幅mouthYの逸脱度合mouthYDeviancyが第１の閾値Ｔｈ1を超えるか否かを判定する。超えると判定した場合、口１０が口を覆う用具で覆われている可能性があると判断できる。この場合、処理をステップＳ１１０に移行させる。一方、逸脱度合mouthYDeviancyが閾値Ｔｈ1以下であると判定したら、判定部１０４は、処理をステップＳ１０８に移行させる。
【００４５】
図６および図７を用いて、ステップＳ１０７での判定処理について、より具体的に説明する。なお、ここでは、縦幅の逸脱度合mouthYDeviancyの代わりに、係数pixelsToMouthYDeviancyを乗ずる前の差分subNormalYを用いて説明を行う。
【００４６】
図６（ａ）は、口１０がマスクなど口を覆う用具で覆われていない例を示す。この例では、口１０において、口の標準の縦幅normalYよりもやや大きな値で縦幅mouthYが算出されている。式（３）に従い、口１０の縦幅mouthYと、口の標準の縦幅normalYとの差分subNormalYが算出される。その結果、図６（ｂ）に示されるように、差分subNormalYの値が第１の閾値Ｔｈ1より小さい値となっている。したがって、判定部１０４は、顔検出の結果に基づき算出された縦幅mouthYの値の変動が口１０の正常な変動であると判定し、処理をステップＳ１０８に移行させる。
【００４７】
図７（ａ）は、口１０がマスク１１に覆われている例を示す。この例では、マスク１１により口１０の特徴点の位置が定まらず、顔検出結果に基づく特徴点抽出においてマスク１１の皺１２を口１０の特徴点として誤検出してしまい、口１０の上下端の特徴点が、実際の口１０の縦幅より広い位置に抽出されている。そのため、図７（ｂ）に示されるように、口１０の縦幅mouthYから算出した差分subNormalYが第１の閾値Ｔｈ1よりも大きな値となっている。これは、顔検出の結果に基づき算出された縦幅mouthYの値の変動が口１０の正常な変動ではない、すなわち、口１０が検出されたものではないと判定でき、判定部１０４は、処理をステップＳ１１０に移行させる。
【００４８】
ステップＳ１０８で、判定部１０４は、口１０の横幅mouthXの逸脱度合mouthXDeviancyが第２の閾値Ｔｈ2を超えるか否かを判定する。超えると判定した場合、口１０が口を覆う用具で覆われている可能性があると判断できる。この場合、処理をステップＳ１１１に移行させる。一方、逸脱度合mouthXDeviancyが閾値Ｔｈ2以下であると判定したら、判定部１０４は、処理をステップＳ１０９に移行させ、口が口を覆う用具で覆われていないと判定する。
【００４９】
図８および図９を用いて、ステップＳ１０８での判定処理について、より具体的に説明する。なお、ここでは、縦幅の逸脱度合mouthXDeviancyの代わりに、係数pixelsToMouthXDeviancyを乗ずる前の差分subNormalXを用いて説明を行う。
【００５０】
図８（ａ）は、口１０がマスクなど口を覆う用具で覆われていない例を示す。この例では、口１０において、口の標準の横幅normalXよりもやや大きな値で横幅mouthXが算出されている。式（３）に従い、口１０の横幅mouthXと、口の標準の横幅normalXとの差分subNormalXが算出される。その結果、図８（ｂ）に示されるように、差分subNormalXの値が第１の閾値Ｔｈ2より小さい値となっている。したがって、判定部１０４は、顔検出の結果に基づき算出された横幅mouthXの値の変動が口１０の正常な変動であると判定し、処理をステップＳ１０９に移行させる。
【００５１】
図９（ａ）は、口１０がマスク１１に覆われている例を示す。この例では、マスク１１により口１０の特徴点の位置が定まらず、顔検出結果に基づく特徴点抽出においてマスク１１の皺１３を口１０の特徴点として誤検出してしまい、口１０の両端の特徴点が実際の口１０の横幅よりも狭い位置に抽出されている。そのため、図９（ｂ）に示されるように、口１０の横幅mouthXから算出した差分subNormalXが第２の閾値Ｔｈ2よりも大きな値となっている。これは、顔検出の結果に基づき算出された横幅mouthXの値の変動が口１０の正常な変動ではない、すなわち、口１０が検出されたものではないと判定でき、判定部１０４は、処理をステップＳ１１１に移行させる。 
【００５２】
上述したように、ステップＳ１０７で、判定部１０４は、口１０の縦幅mouthYの逸脱度合mouthYDeviancyが第１の閾値Ｔｈ1を超えると判定した場合、処理をステップＳ１１０に移行させる。ステップＳ１１０で、判定部１０４は、口１０の横幅mouthXの逸脱度合mouthXDeviancyが、第３の閾値Ｔｈ3を超え、且つ、閾値Ｔｈ2以下であるか否かが判定される。若し、これらの条件を満たすと判定された場合、判定部１０４は、処理をステップＳ１０９に移行させて、口が口を覆う用具で覆われていないと判定する。
【００５３】
すなわち、処理がステップＳ１０７からステップＳ１１０を経てステップＳ１０９に移行した場合とは、顔検出部１０１において検出された口１０の縦幅mouthYが標準の縦幅より大きく、横幅mouthXが標準の横幅と略等しいか、若しくはやや小さい場合である。これは、開いた状態の口が検出されたと考えることができる。
【００５４】
一方、ステップＳ１１０で、上述の条件を満たしていないと判定した場合、すなわち、逸脱度合mouthXDeviancyが第３の閾値Ｔｈ3以下であるか、または、第２の閾値Ｔｈ2を超える場合、処理をステップＳ１１１に移行させる。この場合、口１０が口を覆う用具に覆われていると判断できる。例えば、逸脱度合mouthXDeviancyが第３の閾値Ｔｈ3以下の場合、例えば口を覆う用具（マスクなど）の皺を口の端として誤検出している可能性がある。また、逸脱度合mouthXDeviancyが第２の閾値Ｔｈ2を超える場合は、口１０の両端のサイズよりも大きいもので、口１０が覆われていると判断できる。
【００５５】
ステップＳ１１１で、判定部１０４は、口１０の周辺部の輝度に基づいた閾値判定を行う。一例として、図１０に示されるように、顔３０について顔検出結果により得られた顔領域を示す矩形３２を例えばＭ×Ｎの領域に分割し、口３１を含む分割領域を求める。そして、求められた分割領域を含む所定範囲の分割領域を、口周辺領域として定める。この口周辺領域の画素の輝度値の例えば平均値を算出し、口周辺領域の輝度とする。この輝度に対して、口３１が口を覆う用具で覆われているか否かを判定するための閾値Ｔｈ4を予め設定する。
【００５６】
閾値Ｔｈ4は、例えば、多数のサンプルを用いて予め求めた、口３１がマスクなど口を覆う用具で覆われていない状態、すなわち肌が露出した状態での口周辺領域の輝度と、マスクなどで覆われている状態での口周辺領域の輝度とに基づき設定することが考えられる。
【００５７】
ステップＳ１１１で、判定部１０４は、口周辺領域の輝度が閾値Ｔｈ4以上であるか否かを判定する。若し、当該輝度が閾値Ｔｈ4以上であると判定した場合、判定部１０４は、処理をステップＳ１１２に移行させ、口１０が口を覆う用具で覆われていると判定する。一方、当該輝度が閾値Ｔｈ4未満であると判定した場合、判定部１０４は、処理をステップＳ１０９に移行させ、口１０が口を覆う用具で覆われていないと判定する。
【００５８】
なお、ステップＳ１１０の輝度による判定は、省略することができる。この場合、判定部１０４は、ステップＳ１０８で口１０の横幅mouthXの逸脱度合mouthXDeviancyが第２の閾値Ｔｈ2を超えると判定した場合、または、ステップＳ１１０で逸脱度合mouthXDeviancyが第３の閾値Ｔｈ3以下であるか、または、第２の閾値Ｔｈ2を超えると判定した場合に、処理をステップＳ１１２に移行させ、口１０が口を覆う用具に覆われていると判定する。ステップＳ１１１の輝度値による判定をさらに行うことで、より高精度な判定結果を得ることができる。
【００５９】
以上説明したように、本実施形態によれば、顔検出を行い抽出した口の特徴点に基づき求めた口の縦幅および横幅を、口の標準の縦幅および横幅と比較することで、口がマスクのようなもので覆われている状態を検出することを可能としている。したがって、本実施形態を警備システムに適用した場合、顔の認識をより高精度に行うことが可能となると共に、不審者の検出も容易となる。
【００６０】
なお、上述では、本発明が、口が口を覆う用具に覆われているか否かを判定する場合に適用するように説明したが、これはこの例に限定されない。例えば、本発明による、実測値と標準の値との差分に基づく判定方法を応用することで、目が目を覆う用具（サングラスなど）に覆われているか否かの判定を行うことも可能である。
【００６１】
図１１は、本実施形態による顔検出装置１を適用可能なハードウェアとしての情報処理装置２００の一例の構成を示す。情報処理装置２００において、バス２０１に対してＣＰＵ２１０、ＲＯＭ２１１、ＲＡＭ２１２、表示制御部２１３およびキャプチャ部２１４が接続される。さらに、バス２０１に対して、ハードディスクドライブ（ＨＤＤ）２１５、入力Ｉ／Ｆ２１６、ドライブ装置２１７および通信Ｉ／Ｆ２１８が接続される。
【００６２】
キャプチャ部２１４は、例えば、ビデオカメラ２２０で撮像された動画像データが入力され、入力された動画像データから、フレーム単位で画像データを取得する。取得された画像データは、例えばバス２０１を介してＣＰＵ２１０に供給される。ＨＤＤ２１５は、ＣＰＵ２１０が動作するためのプログラムや、口の標準的な縦幅および横幅のデータが予め記憶される。ＨＤＤ２１５に対して、キャプチャ部２１４で取得された画像データなどを記憶させてもよい。
【００６３】
ＣＰＵ２１０は、ＲＯＭ２１１やＨＤＤ２１５に予め記憶されたプログラムに従い、ＲＡＭ２１２をワークメモリとして用いて、この情報処理装置２００の全体の動作を制御する。例えば、図１を用いて説明した、画像入力部１００、顔検出部１０１、特徴点抽出部１０２、算出部１０３および判定部１０４それぞれの機能は、ＣＰＵ２１０上で動作するプログラムによって実現される。
【００６４】
表示制御部２１３は、ＣＰＵ２１０によりプログラムに従い生成された表示制御信号に基づき、ディスプレイ２２１が表示可能な表示信号を生成し、ディスプレイ２２１に供給する。また、入力Ｉ／Ｆ２１６は、キーボード２１６ａや、マウスなどのポインティングデバイス２１６ｂが接続され、ユーザ入力を受け付け、ユーザ入力に応じた制御信号を出力し、ＣＰＵ２１０に供給する。また、入力Ｉ／Ｆ２１６は、ＵＳＢ(Universal  Serial  Bus)などのデータ通信入出力２１６ｃにも対応できる。
【００６５】
ドライブ装置２１７は、ＣＤ(Compact  Disk)やＤＶＤ(Digital  Versatile  Disk)、フレキシブルディスク、不揮発性メモリなどの記憶媒体からのデータの読み出しを行う。通信Ｉ／Ｆ２１８は、ＬＡＮ(Local  Area  Network)やインターネットといったネットワークに対する通信を制御する。
【００６６】
このような構成による情報処理装置２００で実行される顔検出プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ、ＤＶＤ、フレキシブルディスク、不揮発性メモリなどのコンピュータで読み取り可能な記憶媒体に記録されて提供される。ドライブ装置２１７により、この記憶媒体から顔検出プログラムを読み出し、例えばＨＤＤ２１５に対して所定の方法でインストールする。
【００６７】
また、本実施形態の情報処理装置２００で実行される顔検出プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の情報処理装置２００で実行される顔検出プログラムを、インターネットなどのネットワーク経由で提供または配布するように構成してもよい。
【００６８】
また、本実施形態の情報処理装置２００で実行される顔検出プログラムを、ＲＯＭ２１１などに予め組み込んで提供するように構成してもよい。
【００６９】
本実施形態の情報処理装置２００で実行される顔検出プログラムは、上述した各部（画像入力部１００、顔検出部１０１、特徴点抽出部１０２、算出部１０３および判定部１０４）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ２１０が上述の記憶媒体や、ＨＤＤ２１５から顔検出プログラムを読み出して実行することにより、各部が主記憶装置（例えばＲＡＭ２１２）上にロードされ、画像入力部１００、顔検出部１０１、特徴点抽出部１０２、算出部１０３および判定部１０４が主記憶装置上に生成されるようになっている。
【符号の説明】
【００７０】
１  顔検出装置
１０  口
１１  マスク
２０  矩形
１００  画像入力部
１０１  顔検出部
１０２  特徴点抽出部
１０３  算出部
１０４  判定部
【図１】
0005703068.tif 000004
【図２】
0005703068.tif 000005
【図３】
0005703068.tif 000006
【図４】
0005703068.tif 000007
【図５】
0005703068.tif 000008
【図６】
0005703068.tif 000009
【図７】
0005703068.tif 000010
【図８】
0005703068.tif 000011
【図９】
0005703068.tif 000012
【図１０】
0005703068.tif 000013
【図１１】
0005703068.tif 000014
【図１２】
0005703068.tif 000015