(57)【特許請求の範囲】
【請求項１】
検出対象の画像に含まれる顔を検出し、
該顔の検出情報を用いて、該顔を構成する目を検出し、
該目の検出情報を用いて、該目の目頭と目尻を検出し、
前記目頭と目尻の位置情報を用いて、前記目の輪郭を表す上下瞼の特徴点を検出する顔特徴点検出方法であって、
前記上下瞼の特徴点の検出が、前記目頭と前記目尻とを結ぶ線分と交差する、前記上下瞼の特徴点に対応する少なくとも１つの瞼基準線分を設定し、１つの前記瞼基準線分上の各画素に対して、該瞼基準線分が対応する特徴点に対して定義された、該特徴点を識別するための１次元の輝度分布の特徴量を算出するとともに、該輝度分布の特徴量に基づいて前記各画素のそれぞれが、該特徴点を示す画素であるか否かを識別する瞼特徴点識別処理を、前記設定されたすべての瞼基準線分に対して行うものであることを特徴とする顔特徴点検出方法。
【請求項２】
前記瞼特徴点識別処理が、複数の顔のサンプル画像のそれぞれにおける、前記特徴点であることが分かっている位置の前記輝度分布の特徴量と、前記特徴点でないことが分かっている位置の前記輝度分布の特徴量とを、マシンラーニングの手法により予め学習することにより得られた前記輝度分布の特徴量に対応する識別条件に基づいて行うものであることを特徴とする請求項１記載の顔特徴点検出方法。
【請求項３】
前記顔の検出が、
前記検出対象画像においてマスク画像を設定し、顔の識別に用いる第１の特徴量を前記マスク画像から算出し、
前記顔であることが分かっている、両目の位置関係が所定の許容度を持って正規化された複数のサンプル画像と、前記顔でないことが分かっている複数のサンプル画像とからなる多数のサンプル画像群に含まれる前記第１の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第１の特徴量と該第１の特徴量の各々に対応する識別条件とを予め規定する第１の参照データを、前記マスク画像を前記所定の許容度に応じた変化量にて段階的に変形させつつ前記マスク画像から算出された第１の特徴量に基づいて参照して、前記マスク画像に顔が含まれているか否かを識別するものであり、
前記目の検出が、
顔の識別に用いる第２の特徴量を、前記顔の領域内の画像から算出し、
前記顔であることが分かっている、両目の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記顔でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第２の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第２の特徴量と該第２の特徴量の各々に対応する識別条件とを予め規定する第２の参照データを、前記顔の領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記顔の領域内の画像から算出された第２の特徴量に基づいて参照して、前記顔を構成する目の位置を識別するものであり、
前記目頭と目尻の検出が、
目の識別に用いる第３の特徴量を、前記目を含む領域内の画像から算出し、
前記目であることが分かっている、目頭と目尻の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記目でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第３の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第３の特徴量と該第３の特徴量の各々に対応する識別条件とを予め規定する第３の参照データを、前記目を含む領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記目を含む領域内の画像から算出された第３の特徴量に基づいて参照して、前記目の目頭と目尻の位置を識別するものであることを特徴とする請求項１または２項記載の顔特徴点検出方法。
【請求項４】
前記目頭と目尻の検出が、
前記目であることが分かっている複数のサンプル画像として、左目または右目のいずれか一方の目の画像のみを用いて学習することにより得られた第３の参照データを、前記目を含む領域内の画像から算出された第３の特徴量に基づいて参照して、前記一方の目と左右の別が同じである目の目頭と目尻を識別し、前記第３の参照データを、前記目を含む領域内の画像を左右反転させた画像から算出された第３の特徴量に基づいて参照して、前記一方の目と左右の別が異なる目の目頭と目尻を識別するものであることを特徴とする請求項３記載の顔特徴点検出方法。
【請求項５】
検出対象の画像に含まれる顔を検出し、
該顔の検出情報を用いて、該顔を構成する目を検出し、
該目の検出情報を用いて、該目と所定の位置関係にある、前記顔を構成する口の左右の口角を検出し、
前記左右の口角の位置情報を用いて、前記口の輪郭を表す上下唇の特徴点を検出する顔特徴点検出方法であって、
前記上下唇の特徴点の検出が、
前記左右の口角を結ぶ線分と交差する、前記上下唇の特徴点に対応する少なくとも１つの唇基準線分の設定と、
該唇基準線分上の各画素に対し、前記特徴点を示す画素であるか否かを識別する唇特徴点識別処理を施すことにより行われることを特徴とする顔特徴点検出方法。
【請求項６】
前記上下唇の特徴点の検出が、前記左右の口角を結ぶ線分と交差する、前記上下唇の特徴点に対応する少なくとも１つの唇基準線分を設定し、１つの前記唇基準線分上の各画素に対して、該唇基準線分が対応する特徴点に対して定義された、該特徴点を識別するための１次元の輝度分布の特徴量を算出するとともに、該輝度分布の特徴量に基づいて前記各画素のそれぞれが、該特徴点を示す画素であるか否かを識別する唇特徴点識別処理を、前記設定されたすべての唇基準線分に対して行うものであることを特徴とする請求項５記載の顔特徴点検出方法。
【請求項７】
前記唇特徴点識別処理が、複数の顔のサンプル画像のそれぞれにおける、前記特徴点であることが分かっている位置の前記輝度分布の特徴量と、前記特徴点でないことが分かっている位置の前記輝度分布の特徴量とを、マシンラーニングの手法により予め学習することにより得られた前記輝度分布の特徴量に対応する識別条件に基づいて行うものであることを特徴とする請求項６記載の顔特徴点検出方法。
【請求項８】
前記左右の口角の検出が、
口の識別に用いる第４の特徴量を、前記口を含む領域内の画像から算出し、
前記口であることが分かっている、左口角と右口角の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記口でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第４の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第４の特徴量と該第４の特徴量の各々に対応する識別条件とを予め規定する第４の参照データを、前記口を含む領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記口を含む領域内の画像から算出された第４の特徴量に基づいて参照して、前記口の左口角と右口角の位置を識別するものであることを特徴とする請求項５から７いずれか１項記載の顔特徴点検出方法。
【請求項９】
検出対象の画像に含まれる顔を検出する顔検出手段と、
該顔の検出情報を用いて、該顔を構成する目を検出する目検出手段と、
該目の検出情報を用いて、該目の目頭と目尻を検出する目頭・目尻検出手段と、
前記目頭と目尻の位置情報を用いて、前記目の輪郭を表す上下瞼の特徴点を検出する瞼特徴点検出手段とを備え、
前記瞼特徴点検出手段が、前記目頭と前記目尻とを結ぶ線分と交差する、前記上下瞼の特徴点に対応する少なくとも１つの瞼基準線分を設定し、１つの前記瞼基準線分上の各画素に対して、該瞼基準線分が対応する特徴点に対して定義された、該特徴点を識別するための１次元の輝度分布の特徴量を算出するとともに、該輝度分布の特徴量に基づいて前記各画素のそれぞれが、該特徴点を示す画素であるか否かを識別する瞼特徴点識別処理を、前記設定されたすべての瞼基準線分に対して行うものであることを特徴とする顔特徴点検出装置。
【請求項１０】
前記瞼特徴点識別処理が、複数の顔のサンプル画像のそれぞれにおける、前記特徴点であることが分かっている位置の前記輝度分布の特徴量と、前記特徴点でないことが分かっている位置の前記輝度分布の特徴量とを、マシンラーニングの手法により予め学習することにより得られた前記輝度分布の特徴量に対応する識別条件に基づいて行うものであることを特徴とする請求項９記載の顔特徴点検出装置。
【請求項１１】
前記顔検出手段が、
前記検出対象画像においてマスク画像を設定し、顔の識別に用いる第１の特徴量を前記マスク画像から算出する第１の特徴量算出手段と、
前記顔であることが分かっている、両目の位置関係が所定の許容度を持って正規化された複数のサンプル画像と、前記顔でないことが分かっている複数のサンプル画像とからなる多数のサンプル画像群に含まれる前記第１の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第１の特徴量と該第１の特徴量の各々に対応する識別条件とを予め規定する第１の参照データを、前記マスク画像を前記所定の許容度に応じた変化量にて段階的に変形させつつ前記マスク画像から算出された第１の特徴量に基づいて参照して、前記マスク画像に顔が含まれているか否かを識別する第１の識別手段とを備えたものであり、
前記目検出手段が、
顔の識別に用いる第２の特徴量を、前記顔の領域内の画像から算出する第２の特徴量算出手段と、
前記顔であることが分かっている、両目の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記顔でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第２の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第２の特徴量と該第２の特徴量の各々に対応する識別条件とを予め規定する第２の参照データを、前記顔の領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記顔の領域内の画像から算出された第２の特徴量に基づいて参照して、前記顔を構成する目の位置を識別する第２の識別手段とを備えたものであり、
前記目頭・目尻検出手段が、
目の識別に用いる第３の特徴量を、前記目を含む領域内の画像から算出する第３の特徴量算出手段と、
前記目であることが分かっている、目頭と目尻の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記目でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第３の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第３の特徴量と該第３の特徴量の各々に対応する識別条件とを予め規定する第３の参照データを、前記目を含む領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記目を含む領域内の画像から算出された第３の特徴量に基づいて参照して、前記目の目頭と目尻の位置を識別する第３の識別手段とを備えたものであることを特徴とする請求項９または１０記載の顔特徴点検出装置。
【請求項１２】
前記目頭・目尻検出手段が、
前記目であることが分かっている複数のサンプル画像として、左目または右目のいずれか一方の目の画像のみを用いて学習することにより得られた第３の参照データを、前記目を含む領域内の画像から算出された第３の特徴量に基づいて参照して、前記一方の目と左右の別が同じである目の目頭と目尻を識別し、前記第３の参照データを、前記目を含む領域内の画像を左右反転させた画像から算出された第３の特徴量に基づいて参照して、前記一方の目と左右の別が異なる目の目頭と目尻を識別するものであることを特徴とする請求項１１記載の顔特徴点検出装置。
【請求項１３】
検出対象の画像に含まれる顔を検出する顔検出手段と、
該顔の検出情報を用いて、該顔を構成する目を検出する目検出手段と、
前記目の検出情報を用いて、該目と所定の位置関係にある、前記顔を構成する口の左右の口角を検出する口角検出手段と、
前記左右の口角の位置情報を用いて、前記口の輪郭を表す上下唇の特徴点を検出する唇特徴点検出手段とを備え、
前記唇特徴点検出手段が、前記左右の口角を結ぶ線分と交差する、前記上下唇の特徴点に対応する少なくとも１つの唇基準線分を設定し、該唇基準線分上の各画素に対し、前記特徴点を示す画素であるか否かを識別する唇特徴点識別処理を行うものであることを特徴とする顔特徴点検出装置。
【請求項１４】
前記唇特徴点検出手段が、前記左右の口角を結ぶ線分と交差する、前記上下唇の特徴点に対応する少なくとも１つの唇基準線分を設定し、１つの前記唇基準線分上の各画素に対して、該唇基準線分が対応する特徴点に対して定義された、該特徴点を識別するための１次元の輝度分布の特徴量を算出するとともに、該輝度分布の特徴量に基づいて前記各画素のそれぞれが、該特徴点を示す画素であるか否かを識別する唇特徴点識別処理を、前記設定されたすべての唇基準線分に対して行うものであることを特徴とする請求項１３記載の顔特徴点検出装置。
【請求項１５】
前記唇特徴点識別処理が、複数の顔のサンプル画像のそれぞれにおける、前記特徴点であることが分かっている位置の前記輝度分布の特徴量と、前記特徴点でないことが分かっている位置の前記輝度分布の特徴量とを、マシンラーニングの手法により予め学習することにより得られた前記輝度分布の特徴量に対応する識別条件に基づいて行うものであることを特徴とする請求項１４記載の顔特徴点検出装置。
【請求項１６】
前記口角検出手段が、
口の識別に用いる第４の特徴量を、前記口を含む領域内の画像から算出する第４の特徴量算出手段と、
前記口であることが分かっている、左口角と右口角の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記口でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第４の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第４の特徴量と該第４の特徴量の各々に対応する識別条件とを予め規定する第４の参照データを、前記口を含む領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記口を含む領域内の画像から算出された第４の特徴量に基づいて参照して、前記口の左口角と右口角の位置を識別する第４の識別手段とを備えたものであることを特徴とする請求項１３から１５いずれか１項記載の顔特徴点検出装置。
【請求項１７】
コンピュータを、
検出対象の画像に含まれる顔を検出する顔検出手段と、
該顔の検出情報を用いて、該顔を構成する目を検出する目検出手段と、
該目の検出情報を用いて、該目の目頭と目尻を検出する目頭・目尻検出手段と、
前記目頭と目尻の位置情報を用いて、前記目の輪郭を表す上下瞼の特徴点を検出する瞼特徴点検出手段として機能させることにより、
前記コンピュータを顔特徴点検出装置として機能させるプログラムであって、
前記瞼特徴点検出手段が、前記目頭と前記目尻とを結ぶ線分と交差する、前記上下瞼の特徴点に対応する少なくとも１つの瞼基準線分を設定し、１つの前記瞼基準線分上の各画素に対して、該瞼基準線分が対応する特徴点に対して定義された、該特徴点を識別するための１次元の輝度分布の特徴量を算出するとともに、該輝度分布の特徴量に基づいて前記各画素のそれぞれが、該特徴点を示す画素であるか否かを識別する瞼特徴点識別処理を、前記設定されたすべての瞼基準線分に対して行うものであることを特徴とするプログラム。
【請求項１８】
前記瞼特徴点識別処理が、複数の顔のサンプル画像のそれぞれにおける、前記特徴点であることが分かっている位置の前記輝度分布の特徴量と、前記特徴点でないことが分かっている位置の前記輝度分布の特徴量とを、マシンラーニングの手法により予め学習することにより得られた前記輝度分布の特徴量に対応する識別条件に基づいて行うものであることを特徴とする請求項１７記載のプログラム。
【請求項１９】
前記顔検出手段が、
前記検出対象画像においてマスク画像を設定し、顔の識別に用いる第１の特徴量を前記マスク画像から算出する第１の特徴量算出手段と、
前記顔であることが分かっている、両目の位置関係が所定の許容度を持って正規化された複数のサンプル画像と、前記顔でないことが分かっている複数のサンプル画像とからなる多数のサンプル画像群に含まれる前記第１の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第１の特徴量と該第１の特徴量の各々に対応する識別条件とを予め規定する第１の参照データを、前記マスク画像を前記所定の許容度に応じた変化量にて段階的に変形させつつ前記マスク画像から算出された第１の特徴量に基づいて参照して、前記マスク画像に顔が含まれているか否かを識別する第１の識別手段とを備えたものであり、
前記目検出手段が、
顔の識別に用いる第２の特徴量を、前記顔の領域内の画像から算出する第２の特徴量算出手段と、
前記顔であることが分かっている、両目の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記顔でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第２の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第２の特徴量と該第２の特徴量の各々に対応する識別条件とを予め規定する第２の参照データを、前記顔の領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記顔の領域内の画像から算出された第２の特徴量に基づいて参照して、前記顔を構成する目の位置を識別する第２の識別手段とを備えたものであり、
前記目頭・目尻検出手段が、
目の識別に用いる第３の特徴量を、前記目を含む領域内の画像から算出する第３の特徴量算出手段と、
前記目であることが分かっている、目頭と目尻の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記目でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第３の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第３の特徴量と該第３の特徴量の各々に対応する識別条件とを予め規定する第３の参照データを、前記目を含む領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記目を含む領域内の画像から算出された第３の特徴量に基づいて参照して、前記目の目頭と目尻の位置を識別する第３の識別手段とを備えたものであることを特徴とする請求項１７または１８記載のプログラム。
【請求項２０】
前記目頭・目尻検出手段が、
前記目であることが分かっている複数のサンプル画像として、左目または右目のいずれか一方の目の画像のみを用いて学習することにより得られた第３の参照データを、前記目を含む領域内の画像から算出された第３の特徴量に基づいて参照して、前記一方の目と左右の別が同じである目の目頭と目尻を識別し、前記第３の参照データを、前記目を含む領域内の画像を左右反転させた画像から算出された第３の特徴量に基づいて参照して、前記一方の目と左右の別が異なる目の目頭と目尻を識別するものであることを特徴とする請求項１９記載の顔特徴点検出方法。
【請求項２１】
コンピュータを、
検出対象の画像に含まれる顔を検出する顔検出手段と、
該顔の検出情報を用いて、該顔を構成する目を検出する目検出手段と、
前記目の検出情報を用いて、該目と所定の位置関係にある、前記顔を構成する口の左右の口角を検出する口角検出手段と、
前記左右の口角の位置情報を用いて、前記口の輪郭を表す上下唇の特徴点を検出する唇特徴点検出手段として機能させるプログラムであって、
前記唇特徴点検出手段が、前記左右の口角を結ぶ線分と交差する、前記上下唇の特徴点に対応する少なくとも１つの唇基準線分を設定し、該唇基準線分上の各画素に対し、前記特徴点を示す画素であるか否かを識別する唇特徴点識別処理を行うものであることを特徴とするプログラム。
【請求項２２】
前記唇特徴点検出手段が、前記左右の口角を結ぶ線分と交差する、前記上下唇の特徴点に対応する少なくとも１つの唇基準線分を設定し、１つの前記唇基準線分上の各画素に対して、該唇基準線分が対応する特徴点に対して定義された、該特徴点を識別するための１次元の輝度分布の特徴量を算出するとともに、該輝度分布の特徴量に基づいて前記各画素のそれぞれが、該特徴点を示す画素であるか否かを識別する唇特徴点識別処理を、前記設定されたすべての唇基準線分に対して行うものであることを特徴とする請求項２１記載のプログラム。
【請求項２３】
前記唇特徴点識別処理が、複数の顔のサンプル画像のそれぞれにおける、前記特徴点であることが分かっている位置の前記輝度分布の特徴量と、前記特徴点でないことが分かっている位置の前記輝度分布の特徴量とを、マシンラーニングの手法により予め学習することにより得られた前記輝度分布の特徴量に対応する識別条件に基づいて行うものであることを特徴とする請求項２２記載のプログラム。
【請求項２４】
前記口角検出手段が、
口の識別に用いる第４の特徴量を、前記口を含む領域内の画像から算出する第４の特徴量算出手段と、
前記口であることが分かっている、左口角と右口角の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記口でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第４の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第４の特徴量と該第４の特徴量の各々に対応する識別条件とを予め規定する第４の参照データを、前記口を含む領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記口を含む領域内の画像から算出された第４の特徴量に基づいて参照して、前記口の左口角と右口角の位置を識別する第４の識別手段とを備えたものであることを特徴とする請求項２１から２３いずれか１項記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に含まれる顔の、目や口の輪郭などを表す顔特徴点を検出する顔特徴点検出方法および装置並びにそのためのプログラムに関するものである。
【背景技術】
【０００２】
顔の特徴を用いた認証や顔の表情認識などの様々な分野において、画像データにより表される画像を用いて、この画像に含まれる人物の顔を検出し、さらにその顔を構成する顔部品の位置や輪郭を表す特徴点を検出することが行われており、その手法も種々提案されている。
【０００３】
例えば、特許文献１には、識別対象画像の特徴量を算出し、目の位置を所定の許容度を持って正規化した多数の顔画像および顔でない画像の特徴量について学習を行った第１の参照データを参照して、その識別対象画像に顔が含まれるか否かを識別し、顔が含まれる場合に、目の位置を上記所定の許容度より小さい許容度を持って正規化した多数の顔画像および顔でない画像の特徴量について学習を行った第２の参照データを参照して、顔に含まれる目の位置を識別する手法が提案されている。これにより、顔及びその目を、精度良く、高いロバスト性を持って検出することができる。
【０００４】
また、特許文献２には、画像から顔領域を検出し、４方向面特徴のテンプレートマッチングを行って４方向面特徴の初期類似度を算出し、その初期類似度と、特定の顔部品とこの特定の顔部品の周辺の顔部品との関係を表す周辺適合確率とを求め、これら初期類似度と周辺適合確率とを用いた弛緩整合法によって特定の顔部品の位置を検出する手法が提案されている。これにより、一部の顔部品が部分的あるいは完全に隠蔽されているような場合にも、隠蔽されていない顔部品の位置を精度良く検出することができる。
【０００５】
また、特許文献３には、入力された画像に含まれる顔またはその一部の位置を粗検出し、その検出結果を表示部に表示し、ユーザがその検出結果を基にそれが妥当であるか否かを入力し、その検出結果が妥当でないと入力されたとき、より精密な検出を実行することにより、顔やその構成部品を検出する手法が提案されている。これにより、画像にあった精度で、画像の中から特定の顔またはその構成部品の位置を検出し利用することができる。
【特許文献１】特開２００５−１０８１９７号公報
【特許文献２】特開２００５−５６１２４号公報
【特許文献３】特開２００５−５６２３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、顔の特徴を用いた認証や顔の表情認識等では、顔を構成する顔部品の中心位置だけでなく、顔部品の輪郭を表す特徴点、例えば目の輪郭を表す目頭、目尻、上下瞼の中心点や口の輪郭を表す口角、上下唇の中心点を、良い精度で検出する必要がある。
【０００７】
しかしながら、特許文献１の手法は、精度が良く、ロバスト性も高いが、検出対象は顔およびその目にとどまり、顔を構成する顔部品の輪郭を表す特徴点を検出することはできない。
【０００８】
また、特許文献２の手法は、顔を構成する顔部品の中心位置を検出することができるが、顔部品の輪郭を表す特徴点を検出することはできない。また、テンプレートマッチングの手法を用いているため、検出の対象となる画像の撮影時の照明条件が大きく異なると、検出性能が大きく落ちる可能性がある。
【０００９】
また、特許文献３の手法は、顔部品の輪郭を表す特徴点を検出することはできるが、妥当な検出結果が得られなかった場合には、ユーザが手動で修正を加えることが前提となっており、精度やロバスト性が保証されておらず、ユーザに負担を掛けることになる。
【００１０】
本発明は、上記事情に鑑みてなされたものであり、画像に含まれる顔の顔部品の輪郭を表す特徴点を、ユーザに負担を掛けることなく、良い精度で検出することができる顔特徴点検出方法および装置並びにそのためのプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【００１１】
本発明の顔特徴点検出方法は、検出対象の画像に含まれる顔を検出し、該顔の検出情報を用いて、該顔を構成する目を検出し、該目の検出情報を用いて、該目の目頭と目尻を検出し、前記目頭と目尻の位置情報を用いて、前記目の輪郭を表す上下瞼の特徴点を検出することを特徴とするものである。
【００１２】
本発明の顔特徴点検出方法において、前記上下瞼の特徴点の検出は、前記目頭と前記目尻とを結ぶ線分と交差する、前記上下瞼の特徴点に対応する少なくとも１つの瞼基準線分を設定し、１つの前記瞼基準線分上の各画素に対して、該瞼基準線分が対応する特徴点に対して定義された、該特徴点を識別するための１次元の輝度分布の特徴量を算出するとともに、該輝度分布の特徴量に基づいて前記各画素のそれぞれが、該特徴点を示す画素であるか否かを識別する瞼特徴点識別処理を、前記設定されたすべての瞼基準線分に対して行うものであってもよい。
【００１３】
ここで、前記瞼特徴点識別処理は、複数の顔のサンプル画像のそれぞれにおける、前記特徴点であることが分かっている位置の前記輝度分布の特徴量と、前記特徴点でないことが分かっている位置の前記輝度分布の特徴量とを、マシンラーニングの手法により予め学習することにより得られた前記輝度分布の特徴量に対応する識別条件に基づいて行うものであることが望ましい。
【００１４】
また、本発明の顔特徴点検出方法において、
前記顔の検出は、前記検出対象画像においてマスク画像を設定し、顔の識別に用いる第１の特徴量を前記マスク画像から算出し、前記顔であることが分かっている、両目の位置関係が所定の許容度を持って正規化された複数のサンプル画像と、前記顔でないことが分かっている複数のサンプル画像とからなる多数のサンプル画像群に含まれる前記第１の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第１の特徴量と該第１の特徴量の各々に対応する識別条件とを予め規定する第１の参照データを、前記マスク画像を前記所定の許容度に応じた変化量にて段階的に変形させつつ前記マスク画像から算出された第１の特徴量に基づいて参照して、前記マスク画像に顔が含まれているか否かを識別するものであり、
前記目の検出は、顔の識別に用いる第２の特徴量を、前記顔の領域内の画像から算出し、前記顔であることが分かっている、両目の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記顔でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第２の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第２の特徴量と該第２の特徴量の各々に対応する識別条件とを予め規定する第２の参照データを、前記顔の領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記顔の領域内の画像から算出された第２の特徴量に基づいて参照して、前記顔を構成する目の位置を識別するものであり、
前記目頭と目尻の検出は、目の識別に用いる第３の特徴量を、前記目を含む領域内の画像から算出し、前記目であることが分かっている、目頭と目尻の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記目でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第３の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第３の特徴量と該第３の特徴量の各々に対応する識別条件とを予め規定する第３の参照データを、前記目を含む領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記目を含む領域内の画像から算出された第３の特徴量に基づいて参照して、前記目の目頭と目尻の位置を識別するものであることが望ましい。
【００１５】
ここで、前記目頭と目尻の検出は、前記目であることが分かっている複数のサンプル画像として、左目または右目のいずれか一方の目の画像のみを用いて学習することにより得られた第３の参照データを、前記目を含む領域内の画像から算出された第３の特徴量に基づいて参照して、前記一方の目と左右の別が同じである目の目頭と目尻を識別し、前記第３の参照データを、前記目を含む領域内の画像を左右反転させた画像から算出された第３の特徴量に基づいて参照して、前記一方の目と左右の別が異なる目の目頭と目尻を識別するものであってもよい。
【００１６】
本発明の顔特徴点検出方法において、さらに、前記目の検出情報を用いて、該目と所定の位置関係にある、前記顔を構成する口の左右の口角を検出し、前記左右の口角の位置情報を用いて、前記口の輪郭を表す上下唇の特徴点を検出するものとすることができる。
【００１７】
この場合において、前記上下唇の特徴点の検出は、前記左右の口角を結ぶ線分と交差する、前記上下唇の特徴点に対応する少なくとも１つの唇基準線分を設定し、１つの前記唇基準線分上の各画素に対して、該唇基準線分が対応する特徴点に対して定義された、該特徴点を識別するための１次元の輝度分布の特徴量を算出するとともに、該輝度分布の特徴量に基づいて前記各画素のそれぞれが、該特徴点を示す画素であるか否かを識別する唇特徴点識別処理を、前記設定されたすべての唇基準線分に対して行うものであってもよい。
【００１８】
ここで、前記唇特徴点識別処理は、複数の顔のサンプル画像のそれぞれにおける、前記特徴点であることが分かっている位置の前記輝度分布の特徴量と、前記特徴点でないことが分かっている位置の前記輝度分布の特徴量とを、マシンラーニングの手法により予め学習することにより得られた前記輝度分布の特徴量に対応する識別条件に基づいて行うものであることが望ましい。
【００１９】
また、前記左右の口角の検出は、口の識別に用いる第４の特徴量を、前記口を含む領域内の画像から算出し、前記口であることが分かっている、左口角と右口角の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記口でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第４の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第４の特徴量と該第４の特徴量の各々に対応する識別条件とを予め規定する第４の参照データを、前記口を含む領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記口を含む領域内の画像から算出された第４の特徴量に基づいて参照して、前記口の左口角と右口角の位置を識別するものであってもよい。
【００２０】
本発明の顔特徴点検出装置は、検出対象の画像に含まれる顔を検出する顔検出手段と、該顔の検出情報を用いて、該顔を構成する目を検出する目検出手段と、該目の検出情報を用いて、該目の目頭と目尻を検出する目頭・目尻検出手段と、前記目頭と目尻の位置情報を用いて、前記目の輪郭を表す上下瞼の特徴点を検出する瞼特徴点検出手段とを備えたことを特徴とするものである。
【００２１】
本発明の顔特徴点検出装置において、前記瞼特徴点検出手段は、前記目頭と前記目尻とを結ぶ線分と交差する、前記上下瞼の特徴点に対応する少なくとも１つの瞼基準線分を設定し、１つの前記瞼基準線分上の各画素に対して、該瞼基準線分が対応する特徴点に対して定義された、該特徴点を識別するための１次元の輝度分布の特徴量を算出するとともに、該輝度分布の特徴量に基づいて前記各画素のそれぞれが、該特徴点を示す画素であるか否かを識別する瞼特徴点識別処理を、前記設定されたすべての瞼基準線分に対して行うものであってもよい。
【００２２】
ここで、前記瞼特徴点識別処理は、複数の顔のサンプル画像のそれぞれにおける、前記特徴点であることが分かっている位置の前記輝度分布の特徴量と、前記特徴点でないことが分かっている位置の前記輝度分布の特徴量とを、マシンラーニングの手法により予め学習することにより得られた前記輝度分布の特徴量に対応する識別条件に基づいて行うものであることが望ましい。
【００２３】
また、本発明の顔特徴点検出装置において、
前記顔検出手段は、前記検出対象画像においてマスク画像を設定し、顔の識別に用いる第１の特徴量を前記マスク画像から算出する第１の特徴量算出手段と、前記顔であることが分かっている、両目の位置関係が所定の許容度を持って正規化された複数のサンプル画像と、前記顔でないことが分かっている複数のサンプル画像とからなる多数のサンプル画像群に含まれる前記第１の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第１の特徴量と該第１の特徴量の各々に対応する識別条件とを予め規定する第１の参照データを、前記マスク画像を前記所定の許容度に応じた変化量にて段階的に変形させつつ前記マスク画像から算出された第１の特徴量に基づいて参照して、前記マスク画像に顔が含まれているか否かを識別する第１の識別手段とを備えたものであり、
前記目検出手段は、顔の識別に用いる第２の特徴量を、前記顔の領域内の画像から算出する第２の特徴量算出手段と、前記顔であることが分かっている、両目の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記顔でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第２の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第２の特徴量と該第２の特徴量の各々に対応する識別条件とを予め規定する第２の参照データを、前記顔の領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記顔の領域内の画像から算出された第２の特徴量に基づいて参照して、前記顔を構成する目の位置を識別する第２の識別手段とを備えたものであり、
前記目頭・目尻検出手段は、目の識別に用いる第３の特徴量を、前記目を含む領域内の画像から算出する第３の特徴量算出手段と、前記目であることが分かっている、目頭と目尻の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記目でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第３の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第３の特徴量と該第３の特徴量の各々に対応する識別条件とを予め規定する第３の参照データを、前記目を含む領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記目を含む領域内の画像から算出された第３の特徴量に基づいて参照して、前記目の目頭と目尻の位置を識別する第３の識別手段とを備えたものであることが望ましい。
【００２４】
ここで、前記目頭・目尻検出手段は、前記目であることが分かっている複数のサンプル画像として、左目または右目のいずれか一方の目の画像のみを用いて学習することにより得られた第３の参照データを、前記目を含む領域内の画像から算出された第３の特徴量に基づいて参照して、前記一方の目と左右の別が同じである目の目頭と目尻を識別し、前記第３の参照データを、前記目を含む領域内の画像を左右反転させた画像から算出された第３の特徴量に基づいて参照して、前記一方の目と左右の別が異なる目の目頭と目尻を識別するものであってもよい。
【００２５】
本発明の顔特徴点検出装置において、さらに、前記目の検出情報を用いて、該目と所定の位置関係にある、前記顔を構成する口の左右の口角を検出する口角検出手段と、前記左右の口角の位置情報を用いて、前記口の輪郭を表す上下唇の特徴点を検出する唇特徴点検出手段とを備えたものとすることができる。
【００２６】
この場合において、前記唇特徴点検出手段は、前記左右の口角を結ぶ線分と交差する、前記上下唇の特徴点に対応する少なくとも１つの唇基準線分を設定し、１つの前記唇基準線分上の各画素に対して、該唇基準線分が対応する特徴点に対して定義された、該特徴点を識別するための１次元の輝度分布の特徴量を算出するとともに、該輝度分布の特徴量に基づいて前記各画素のそれぞれが、該特徴点を示す画素であるか否かを識別する唇特徴点識別処理を、前記設定されたすべての唇基準線分に対して行うものであってもよい。
【００２７】
ここで、前記唇特徴点識別処理は、複数の顔のサンプル画像のそれぞれにおける、前記特徴点であることが分かっている位置の前記輝度分布の特徴量と、前記特徴点でないことが分かっている位置の前記輝度分布の特徴量とを、マシンラーニングの手法により予め学習することにより得られた前記輝度分布の特徴量に対応する識別条件に基づいて行うものであることが望ましい。
【００２８】
また、前記口角検出手段は、口の識別に用いる第４の特徴量を、前記口を含む領域内の画像から算出する第４の特徴量算出手段と、前記口であることが分かっている、左口角と右口角の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記口でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第４の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第４の特徴量と該第４の特徴量の各々に対応する識別条件とを予め規定する第４の参照データを、前記口を含む領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記口を含む領域内の画像から算出された第４の特徴量に基づいて参照して、前記口の左口角と右口角の位置を識別する第４の識別手段とを備えたものであってもよい。
【００２９】
本発明のプログラムは、コンピュータを、検出対象の画像に含まれる顔を検出する顔検出手段と、該顔の検出情報を用いて、該顔を構成する目を検出する目検出手段と、該目の検出情報を用いて、該目の目頭と目尻を検出する目頭・目尻検出手段と、前記目頭と目尻の位置情報を用いて、前記目の輪郭を表す上下瞼の特徴点を検出する瞼特徴点検出手段として機能させることにより、該コンピュータを顔特徴点検出装置として機能させることを特徴とするものである。
【００３０】
本発明のプログラムにおいて、前記瞼特徴点検出手段は、前記目頭と前記目尻とを結ぶ線分と交差する、前記上下瞼の特徴点に対応する少なくとも１つの瞼基準線分を設定し、１つの前記瞼基準線分上の各画素に対して、該瞼基準線分が対応する特徴点に対して定義された、該特徴点を識別するための１次元の輝度分布の特徴量を算出するとともに、該輝度分布の特徴量に基づいて前記各画素のそれぞれが、該特徴点を示す画素であるか否かを識別する瞼特徴点識別処理を、前記設定されたすべての瞼基準線分に対して行うものであってもよい。
【００３１】
ここで、前記瞼特徴点識別処理は、複数の顔のサンプル画像のそれぞれにおける、前記特徴点であることが分かっている位置の前記輝度分布の特徴量と、前記特徴点でないことが分かっている位置の前記輝度分布の特徴量とを、マシンラーニングの手法により予め学習することにより得られた前記輝度分布の特徴量に対応する識別条件に基づいて行うものであることが望ましい。
【００３２】
また、本発明のプログラムにおいて、
前記顔検出手段は、前記検出対象画像においてマスク画像を設定し、顔の識別に用いる第１の特徴量を前記マスク画像から算出する第１の特徴量算出手段と、前記顔であることが分かっている、両目の位置関係が所定の許容度を持って正規化された複数のサンプル画像と、前記顔でないことが分かっている複数のサンプル画像とからなる多数のサンプル画像群に含まれる前記第１の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第１の特徴量と該第１の特徴量の各々に対応する識別条件とを予め規定する第１の参照データを、前記マスク画像を前記所定の許容度に応じた変化量にて段階的に変形させつつ前記マスク画像から算出された第１の特徴量に基づいて参照して、前記マスク画像に顔が含まれているか否かを識別する第１の識別手段とを備えたものであり、
前記目検出手段は、顔の識別に用いる第２の特徴量を、前記顔の領域内の画像から算出する第２の特徴量算出手段と、前記顔であることが分かっている、両目の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記顔でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第２の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第２の特徴量と該第２の特徴量の各々に対応する識別条件とを予め規定する第２の参照データを、前記顔の領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記顔の領域内の画像から算出された第２の特徴量に基づいて参照して、前記顔を構成する目の位置を識別する第２の識別手段とを備えたものであり、
前記目頭・目尻検出手段は、目の識別に用いる第３の特徴量を、前記目を含む領域内の画像から算出する第３の特徴量算出手段と、前記目であることが分かっている、目頭と目尻の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記目でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第３の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第３の特徴量と該第３の特徴量の各々に対応する識別条件とを予め規定する第３の参照データを、前記目を含む領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記目を含む領域内の画像から算出された第３の特徴量に基づいて参照して、前記目の目頭と目尻の位置を識別する第３の識別手段とを備えたものであることが望ましい。
【００３３】
ここで、前記目頭・目尻検出手段は、前記目であることが分かっている複数のサンプル画像として、左目または右目のいずれか一方の目の画像のみを用いて学習することにより得られた第３の参照データを、前記目を含む領域内の画像から算出された第３の特徴量に基づいて参照して、前記一方の目と左右の別が同じである目の目頭と目尻を識別し、前記第３の参照データを、前記目を含む領域内の画像を左右反転させた画像から算出された第３の特徴量に基づいて参照して、前記一方の目と左右の別が異なる目の目頭と目尻を識別するものであってもよい。
【００３４】
また、本発明のプログラムにおいて、前記コンピュータを、さらに、前記目の検出情報を用いて、該目と所定の位置関係にある、前記顔を構成する口の左右の口角を検出する口角検出手段と、前記左右の口角の位置情報を用いて、前記口の輪郭を表す上下唇の特徴点を検出する唇特徴点検出手段として機能させるものとすることができる。
【００３５】
この場合において、前記唇特徴点検出手段は、前記左右の口角を結ぶ線分と交差する、前記上下唇の特徴点に対応する少なくとも１つの唇基準線分を設定し、１つの前記唇基準線分上の各画素に対して、該唇基準線分が対応する特徴点に対して定義された、該特徴点を識別するための１次元の輝度分布の特徴量を算出するとともに、該輝度分布の特徴量に基づいて前記各画素のそれぞれが、該特徴点を示す画素であるか否かを識別する唇特徴点識別処理を、前記設定されたすべての唇基準線分に対して行うものであってもよい。
【００３６】
ここで、前記唇特徴点識別処理は、複数の顔のサンプル画像のそれぞれにおける、前記特徴点であることが分かっている位置の前記輝度分布の特徴量と、前記特徴点でないことが分かっている位置の前記輝度分布の特徴量とを、マシンラーニングの手法により予め学習することにより得られた前記輝度分布の特徴量に対応する識別条件に基づいて行うものであることが望ましい。
【００３７】
また、前記口角検出手段は、口の識別に用いる第４の特徴量を、前記口を含む領域内の画像から算出する第４の特徴量算出手段と、前記口であることが分かっている、左口角と右口角の位置関係が前記所定の許容度よりも小さい小許容度を持って正規化された複数のサンプル画像と、前記口でないことが分かっている複数のサンプル画像とからなる多数の小許容度サンプル画像群に含まれる前記第４の特徴量をマシンラーニングの手法により予め学習することにより得られた、前記第４の特徴量と該第４の特徴量の各々に対応する識別条件とを予め規定する第４の参照データを、前記口を含む領域内の画像を前記小許容度に応じた変化量にて段階的に変形させつつ前記口を含む領域内の画像から算出された第４の特徴量に基づいて参照して、前記口の左口角と右口角の位置を識別する第４の識別手段とを備えたものであってもよい。
【００３８】
本発明における「検出情報」とは、所定の部位を検出した際に取得した、前記検出対象の画像に対するその部位の位置の情報、例えば、その部位の領域の中心もしくは重心の位置や当該領域の輪郭の位置を表す情報、その部位の大きさの情報等を意味するものである。
【００３９】
また、本発明における「マシンラーニング」（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）手法としては、ニューラルネットワークや、ブースティングの手法を考えることができる。
【００４０】
また、本発明における「輝度分布の特徴量」としては、例えば、輝度プロファイルや輝度プロファイルの微分値を考えることができる。なお、輝度プロファイルおよび輝度プロファイルの微分値は、多値化されたものであることが望ましい。
【００４１】
本発明は、真正面を向いた人物の顔だけでなく、横顔や斜め顔についても同様に適用することができる。
【発明の効果】
【００４２】
本発明の顔特徴点検出方法および装置は、検出対象の画像に含まれる顔を検出し、この顔の検出情報を用いて、顔を構成する目を検出し、この目の検出情報を用いて、目の目頭と目尻を検出し、この目頭と目尻の位置情報を用いて、目の輪郭を表す上下瞼の特徴点を検出するようにしているので、Coarse to fineの考え方に沿って効率的に目の輪郭を表す特徴点を検出することができ、ユーザに負担を掛けることなく、顔の特徴点を精度良く検出することができる。
【発明を実施するための最良の形態】
【００４３】
以下、図面を参照して、本発明の実施形態について説明する。
【００４４】
図１は、本発明の実施形態による顔特徴点検出装置の構成を示すブロック図である。なお、本実施形態による顔特徴点検出装置は、入力された画像から顔を検出し、その顔の位置情報から目を検出し、その目の位置情報から目の目頭・目尻、左右の口角を検出し、最後に、目頭・目尻、左右の口角の位置情報から目の輪郭を表す上下瞼の特徴点と、口の輪郭を表す上下唇の特徴点とを検出するものであり、補助記憶装置に読み込まれた処理プログラムをコンピュータ（たとえばパーソナルコンピュータ等）上で実行することにより実現される。また、この処理プログラムは、ＣＤ−ＲＯＭ等の情報記憶媒体に記憶され、もしくはインターネット等のネットワークを介して配布され、コンピュータにインストールされることになる。
【００４５】
また、画像データは画像を表すものであり、以下、特に画像と画像データの区別をせずに説明を行う。
【００４６】
図１に示すように、本実施形態による顔特徴点検出装置は、処理対象となる画像Ｓ０を入力する画像入力部１０と、画像Ｓ０から顔を検出して、顔部分の画像（以下顔画像という）Ｓ１を得る顔検出部２０と、顔画像Ｓ１から真の顔画像Ｓ２を抽出して両目の位置を検出する目検出部３０と、検出された両目の位置から各目の目頭および目尻を検出する目頭・目尻検出部４０と、検出された両目の位置から口の位置を推定し、当該口の左右の口角を検出する口角検出部５０と、顔検出部２０に用いられる参照データＥ１、目検出部３０に用いられる参照データＥ２、目頭・目尻検出部４０に用いられる参照データＥ３および口角検出部５０に用いられる参照データＥ４を記憶した第１のデータベース６０と、検出された目頭、目尻および左右の口角の中から真の目頭、目尻および左右の口角として妥当なものを選出する目頭・目尻・口角選出部６５と、目頭・目尻の位置から上下瞼の特徴点を検出する上下瞼特徴点検出部７０と、左右の口角の位置から上下唇の特徴点を検出する上下唇特徴点検出部８０と、上下瞼特徴点検出部７０に用いられる参照データＥ５および上下唇特徴点検出部８０に用いられる参照データＥ６を記憶した第２のデータベース９０と、目頭・目尻の点および上下瞼の特徴点を目の輪郭を表す特徴点群、左右の口角の点および上下唇の特徴点を口の輪郭を表す特徴点群として出力する出力部１００とを備える。
【００４７】
画像入力部１０は、本実施形態の顔特徴点検出装置に処理対象の画像Ｓ０を入力するものであり、例えば、ネットワークを介して送信されてきた画像Ｓ０を受信する受信部や、ＣＤ−ＲＯＭなどの記録媒体から画像Ｓ０を読み出す読取部や、紙や、プリント用紙などの印刷媒体から印刷媒体に印刷（プリントを含む）された画像を光電変換によって読み取って画像Ｓ０を得るスキャナなどとすることができる。
【００４８】
図２は、図１に示す顔特徴点検出装置における顔検出部２０の構成を示すブロック図である。顔検出部２０は、画像Ｓ０に顔が含まれているか否かを検出するとともに、顔が含まれている場合、顔のおおよその位置および大きさを検出し、この位置および大きさにより示される領域の画像を画像Ｓ０から抽出して顔画像Ｓ１を得るものであり、図２に示すように、画像Ｓ０から特徴量Ｃ０を算出する第１の特徴量算出部２２と、特徴量Ｃ０および第１のデータベース６０に記憶された参照データＥ１とを用いて顔検出を実行する顔検出実行部２４とを備える。ここで、第１のデータベース６０に記憶された参照データＥ１、顔検出部２０の各構成の詳細について説明する。
【００４９】
顔検出部２０の第１の特徴量算出部２２は、顔の識別に用いる特徴量Ｃ０を画像Ｓ０から算出する。具体的には、勾配ベクトル（すなわち画像Ｓ０上の各画素における濃度が変化する方向および変化の大きさ）を特徴量Ｃ０として算出する。以下、勾配ベクトルの算出について説明する。まず、第１の特徴量算出部２２は、画像Ｓ０に対して図５（ａ）に示す水平方向のエッジ検出フィルタによるフィルタリング処理を施して画像Ｓ０における水平方向のエッジを検出する。また、第１の特徴量算出部２２は、画像Ｓ０に対して図５（ｂ）に示す垂直方向のエッジ検出フィルタによるフィルタリング処理を施して画像Ｓ０における垂直方向のエッジを検出する。そして、画像Ｓ０上の各画素における水平方向のエッジの大きさＨおよび垂直方向のエッジの大きさＶとから、図６に示すように、各画素における勾配ベクトルＫを算出する。
【００５０】
なお、このようにして算出された勾配ベクトルＫは、図７（ａ）に示すような人物の顔の場合、図７（ｂ）に示すように、目および口のように暗い部分においては目および口の中央を向き、鼻のように明るい部分においては鼻の位置から外側を向くものとなる。また、口よりも目の方が濃度の変化が大きいため、勾配ベクトルＫは口よりも目の方が大きくなる。
【００５１】
そして、この勾配ベクトルＫの方向および大きさを特徴量Ｃ０とする。なお、勾配ベクトルＫの方向は、勾配ベクトルＫの所定方向（例えば図６におけるｘ方向）を基準とした０から３５９度の値となる。
【００５２】
ここで、勾配ベクトルＫの大きさは正規化される。この正規化は、画像Ｓ０の全画素における勾配ベクトルＫの大きさのヒストグラムを求め、その大きさの分布が画像Ｓ０の各画素が取り得る値（８ビットであれば０〜２５５）に均一に分布されるようにヒストグラムを平滑化して勾配ベクトルＫの大きさを修正することにより行う。例えば、勾配ベクトルＫの大きさが小さく、図８（ａ）に示すように勾配ベクトルＫの大きさが小さい側に偏ってヒストグラムが分布している場合には、大きさが０〜２５５の全領域に亘るものとなるように勾配ベクトルＫの大きさを正規化して図８（ｂ）に示すようにヒストグラムが分布するようにする。なお、演算量を低減するために、図８（ｃ）に示すように、勾配ベクトルＫのヒストグラムにおける分布範囲を例えば５分割し、５分割された頻度分布が図８（ｄ）に示すように０〜２５５の値を５分割した範囲に亘るものとなるように正規化することが好ましい。
【００５３】
第１のデータベース６０に記憶された参照データＥ１は、後述するサンプル画像から選択された複数画素の組合せからなる複数種類の画素群のそれぞれについて、各画素群を構成する各画素における特徴量Ｃ０の組合せに対する識別条件を規定したものである。
【００５４】
参照データＥ１中の、各画素群を構成する各画素における特徴量Ｃ０の組合せおよび識別条件は、顔であることが分かっている複数のサンプル画像と顔でないことが分かっている複数のサンプル画像とからなるサンプル画像群の学習により、予め決められたものである。
【００５５】
なお、本実施形態においては、参照データＥ１を生成する際には、顔であることが分かっているサンプル画像として、３０×３０画素サイズを有し、図９に示すように、１つの顔の画像について両目の中心間の距離が１０画素、９画素および１１画素であり、両目の中心間距離において垂直に立った顔を平面上±１５度の範囲において３度単位で段階的に回転させた（すなわち、回転角度が−１５度，−１２度，−９度，−６度，−３度，０度，３度，６度，９度，１２度，１５度）サンプル画像を用いるものとする。したがって、１つの顔の画像につきサンプル画像は３×１１＝３３通り用意される。なお、図９においては−１５度、０度および＋１５度に回転させたサンプル画像のみを示す。また、回転の中心はサンプル画像の対角線の交点である。ここで、両目の中心間の距離が１０画素のサンプル画像であれば、目の中心位置はすべて同一となっている。この目の中心位置をサンプル画像の左上隅を原点とする座標上において（ｘ１，ｙ１）、（ｘ２，ｙ２）とする。また、図面上の上下方向における目の位置（すなわちｙ１，ｙ２）はすべてのサンプル画像において同一である。
【００５６】
また、顔でないことが分かっているサンプル画像としては、３０×３０画素サイズを有する任意の画像を用いるものとする。
【００５７】
ここで、顔であることが分かっているサンプル画像として、両目の中心間距離が１０画素であり、平面上の回転角度が０度（すなわち顔が垂直な状態）のもののみを用いて学習を行った場合、参照データＥ１を参照して顔であると識別されるのは、両目の中心間距離が１０画素で全く回転していない顔のみである。画像Ｓ０に含まれる可能性がある顔のサイズは一定ではないため、顔が含まれるか否かを識別する際には、後述するように画像Ｓ０を拡大縮小して、サンプル画像のサイズに適合するサイズの顔の位置を識別できるようにしている。しかしながら、両目の中心間距離を正確に１０画素とするためには、画像Ｓ０のサイズを拡大率として例えば１．１単位で段階的に拡大縮小しつつ識別を行う必要があるため、演算量が膨大なものとなる。
【００５８】
また、画像Ｓ０に含まれる可能性がある顔は、図１１（ａ）に示すように平面上の回転角度が０度のみではなく、図１１（ｂ）、（ｃ）に示すように回転している場合もある。しかしながら、両目の中心間距離が１０画素であり、顔の回転角度が０度のサンプル画像のみを使用して学習を行った場合、顔であるにも拘わらず、図１１（ｂ）、（ｃ）に示すように回転した顔については識別を行うことができなくなってしまう。
【００５９】
このため、本実施形態においては、顔であることが分かっているサンプル画像として、図９に示すように両目の中心間距離が９，１０，１１画素であり、各距離において平面上±１５度の範囲にて３度単位で段階的に顔を回転させたサンプル画像を用いて、参照データＥ１の学習に許容度を持たせるようにしたものである。これにより、後述する顔検出実行部２４において識別を行う際には、画像Ｓ０を拡大率として１１／９単位で段階的に拡大縮小すればよいため、画像Ｓ０のサイズを例えば拡大率として例えば１．１単位で段階的に拡大縮小する場合と比較して、演算時間を低減できる。また、図１１（ｂ）、（ｃ）に示すように回転している顔も識別することができる。
【００６０】
以下、図１２のフローチャートを参照しながらサンプル画像群の学習手法の一例を説明する。
【００６１】
学習の対象となるサンプル画像群は、顔であることが分かっている複数のサンプル画像と、顔でないことが分かっている複数のサンプル画像とからなる。なお、顔であることが分かっているサンプル画像は、上述したように１つのサンプル画像につき両目の中心位置が９，１０，１１画素であり、各距離において平面上±１５度の範囲にて３度単位で段階的に顔を回転させたものを用いる。各サンプル画像には、重み、すなわち重要度が割り当てられる。まず、すべてのサンプル画像の重みの初期値が等しく１に設定される（ステップＳＴ１）。
【００６２】
次に、サンプル画像における複数種類の画素群のそれぞれについて識別器が作成される（ステップＳＴ２）。ここで、それぞれの識別器とは、１つの画素群を構成する各画素における特徴量Ｃ０の組合せを用いて、顔の画像と顔で内画像とを識別する基準を提供するものである。本実施形態においては、１つの画素群を構成する各画素における特徴量Ｃ０の組合せについてのヒストグラムを識別器として使用する。
【００６３】
図１３を参照しながら、ある識別器の作成について説明する。図１３の左側のサンプル画像に示すように、この識別器を作成するための画素群を構成する各画素は、顔であることが分かっている複数のサンプル画像上における、右目の中心にある画素Ｐ１、右側の頬の部分にある画素Ｐ２、額の部分にある画素Ｐ３および左側の頬の部分にある画素Ｐ４である。そして顔であることが分かっているすべてのサンプル画像について全画素Ｐ１〜Ｐ４における特徴量Ｃ０の組合せが求められ、そのヒストグラムが作成される。ここで、特徴量Ｃ０は勾配ベクトルＫの方向および大きさを表すが、勾配ベクトルＫの方向は０〜３５９の３６０通り、勾配ベクトルＫの大きさは０〜２５５の２５６通りあるため、これをそのまま用いたのでは、組合せの数は１画素につき３６０×２５６通りの４画素分、すなわち（３６０×２５６）4通りとなってしまい、学習および検出のために多大なサンプルの数、時間およびメモリを要することとなる。このため、本実施形態においては、勾配ベクトルの方向を０〜３５９を０〜４４と３１５〜３５９（右方向、値：０），４５〜１３４（上方向値：１），１３５〜２２４（左方向、値：２），２２５〜３１４（下方向、値３）に４値化し、勾配ベクトルの大きさを３値化（値：０〜２）する。そして、以下の式を用いて組合せの値を算出する。
【００６４】
組合せの値＝０（勾配ベクトルの大きさ＝０の場合）
組合せの値＝（（勾配ベクトルの方向＋１）×勾配ベクトルの大きさ（勾配ベクトルの大きさ＞０の場合）
これにより、組合せ数が９4通りとなるため、特徴量Ｃ０のデータ数を低減できる。
【００６５】
同様に、顔でないことが分かっている複数のサンプル画像についても、ヒストグラムが作成される。なお、顔でないことが分かっているサンプル画像については、顔であることが分かっているサンプル画像上における上記画素Ｐ１〜Ｐ４の位置に対応する画素が用いられる。これらの２つのヒストグラムが示す頻度値の比の対数値を取ってヒストグラムで表したものが、図１３の一番右側に示す、識別器として用いられるヒストグラムである。この識別器のヒストグラムが示す各縦軸の値を、以下、識別ポイントと称する。この識別器によれば、正の識別ポイントに対応する特徴量Ｃ０の分布を示す画像は顔である可能性が高く、識別ポイントの絶対値が大きいほどその可能性は高まると言える。逆に、負の識別ポイントに対応する特徴量Ｃ０の分布を示す画像は顔でない可能性が高く、やはり識別ポイントの絶対値が大きいほどその可能性は高まる。ステップＳＴ２では、識別に使用され得る複数種類の画素群を構成する各画素における特徴量Ｃ０の組合せについて、上記のヒストグラム形式の複数の識別器が作成される。
【００６６】
続いて、ステップＳＴ２で作成した複数の識別器のうち、画像が顔であるか否かを識別するのに最も有効な識別器が選択される。最も有効な識別器の選択は、各サンプル画像の重みを考慮して行われる。この例では、各識別器の重み付き正答率が比較され、最も高い重み付き正答率を示す識別器が選択される（ステップＳＴ３）。すなわち、最初のステップＳＴ３では、各サンプル画像の重みは等しく１であるので、単純にその識別器によって画像が顔であるか否かが正しく識別されるサンプル画像の数が最も多いものが、最も有効な識別器として選択される。一方、後述するステップＳＴ５において各サンプル画像の重みが更新された後の２回目のステップＳＴ３では、重みが１のサンプル画像、重みが１よりも大きいサンプル画像、および重みが１よりも小さいサンプル画像が混在しており、重みが１よりも大きいサンプル画像は、正答率の評価において、重みが１のサンプル画像よりも重みが大きい分多くカウントされる。これにより、２回目以降のステップＳＴ３では、重みが小さいサンプル画像よりも、重みが大きいサンプル画像が正しく識別されることに、より重点が置かれる。
【００６７】
次に、それまでに選択した識別器の組合せの正答率、すなわち、それまでに選択した識別器を組み合わせて使用して各サンプル画像が顔の画像であるか否かを識別した結果が、実際に顔の画像であるか否かの答えと一致する率が、所定の閾値を超えたか否かが確かめられる（ステップＳＴ４）。ここで、組合せの正答率の評価に用いられるのは、現在の重みが付けられたサンプル画像群でも、重みが等しくされたサンプル画像群でもよい。所定の閾値を超えた場合は、それまでに選択した識別器を用いれば画像が顔であるか否かを十分に高い確率で識別できるため、学習は終了する。所定の閾値以下である場合は、それまでに選択した識別器と組み合わせて用いるための追加の識別器を選択するために、ステップＳＴ６へと進む。
【００６８】
ステップＳＴ６では、直近のステップＳＴ３で選択された識別器が再び選択されないようにするため、その識別器が除外される。
【００６９】
次に、直近のステップＳＴ３で選択された識別器では顔であるか否かを正しく識別できなかったサンプル画像の重みが大きくされ、画像が顔であるか否かを正しく識別できたサンプル画像の重みが小さくされる（ステップＳＴ５）。このように重みを大小させる理由は、次の識別器の選択において、既に選択された識別器では正しく識別できなかった画像を重要視し、それらの画像が顔であるか否かを正しく識別できる識別器が選択されるようにして、識別器の組合せの効果を高めるためである。
【００７０】
続いて、ステップＳＴ３へと戻り、上記したように重み付き正答率を基準にして次に有効な識別器が選択される。
【００７１】
以上のステップＳＴ３からＳＴ６を繰り返して、顔が含まれるか否かを識別するのに適した識別器として、特定の画素群を構成する各画素における特徴量Ｃ０の組合せに対応する識別器が選択されたところで、ステップＳＴ４で確認される正答率が閾値を超えたとすると、顔が含まれるか否かの識別に用いる識別器の種類と識別条件とが確定され（ステップＳＴ７）、これにより参照データＥ１の学習を終了する。
【００７２】
なお、上記の学習手法を採用する場合において、識別器は、特定の画素群を構成する各画素における特徴量Ｃ０の組合せを用いて顔の画像と顔でない画像とを識別する基準を提供するものであれば、上記のヒストグラムの形式のものに限られずいかなるものであってもよく、例えば２値データ、閾値または関数等であってもよい。また、同じヒストグラムの形式であっても、図１３の中央に示した２つのヒストグラムの差分値の分布を示すヒストグラム等を用いてもよい。
【００７３】
また、学習の方法としては上記手法に限定されるものではなく、ニューラルネットワーク等他のマシンラーニングの手法を用いることができる。
【００７４】
顔検出実行部２４は、複数種類の画素群を構成する各画素における特徴量Ｃ０の組合せのすべてについて参照データＥ１が学習した識別条件を参照して、各々の画素群を構成する各画素における特徴量Ｃ０の組合せについての識別ポイントを求め、すべての識別ポイントを総合して顔を検出する。この際、特徴量Ｃ０である勾配ベクトルＫの方向は４値化され大きさは３値化される。本実施形態では、すべての識別ポイントを加算して、その加算値の正負および大小によって顔であるか否かを識別する。例えば、識別ポイントの総和が正の値である場合、顔であると判断し、負の値である場合には顔ではないと判断する。
【００７５】
ここで、画像Ｓ０のサイズは３０×３０画素のサンプル画像とは異なり、各種サイズを有するものとなっている可能性がある。また、顔が含まれる場合、平面上における顔の回転角度が０度であるとは限らない。このため、顔検出実行部２４は、図１４に示すように、画像Ｓ０を縦または横のサイズが３０画素となるまで段階的に拡大縮小するとともに平面上で段階的に３６０度回転させつつ（図１４においては縮小する状態を示す）、各段階において拡大縮小された画像Ｓ０上に３０×３０画素サイズのマスクＭを設定し、マスクＭを拡大縮小された画像Ｓ０上において１画素ずつ移動させながら、マスク内の画像が顔の画像であるか否か（すなわち、マスク内の画像に対して得られた識別ポイントの加算値が正か負か）の識別を行う。そして、この識別を拡大縮小および回転の全段階の画像Ｓ０について行い、識別ポイントの加算値が正の値が得られた段階におけるサイズおよび回転角度の画像Ｓ０から、識別されたマスクＭの位置に対応する３０×３０画素の領域を顔領域として検出すると共に、この領域の画像を顔画像Ｓ１として画像Ｓ０から抽出する。なお、全ての段階において識別ポイントの加算値が負である場合には、画像Ｓ０に顔が無いと判定し、処理を終了する。
【００７６】
なお、参照データＥ１の生成時に学習したサンプル画像として両目の中心位置の画素数が９，１０，１１画素のものを使用しているため、画像Ｓ０を拡大縮小する時の拡大率は１１／９とすればよい。また、参照データＥ１の生成時に学習したサンプル画像として、顔が平面上で±１５度の範囲において回転させたものを使用しているため、画像Ｓ０は３０度単位で３６０度回転させればよい。
【００７７】
ここで、第１の特徴量算出部２２は、画像Ｓ０の拡大縮小および回転という変形の各段階において特徴量Ｃ０を算出している。
【００７８】
顔検出部２０は、このようにして画像Ｓ０からおおよその顔の位置および大きさを検出して、顔画像Ｓ１を得る。なお、顔検出部２０は、識別ポイントの加算値が正であれば顔が含まれると判定されるので、顔検出部２０においては、複数の顔画像Ｓ１が得られる可能性がある。
【００７９】
図３は、目検出部３０の構成を示すブロック図である。目検出部３０は、顔検出部２０により得られた複数の顔画像Ｓ１から真の顔画像Ｓ２を得ることにより、両目の位置を検出するものであり、図示のように、顔画像Ｓ１から特徴量Ｃ０を算出する第２の特徴量算出部３２と、特徴量Ｃ０および第１のデータベース８０に記憶された参照データＥ２に基づいて目の位置の検出を実行して、目の位置情報Ｇ１を得る目検出実行部３４とを備える。
【００８０】
本実施形態において、目検出実行部３４により識別される目の位置とは、顔における目尻から目頭の間の中心位置（図４中×で示す）であり、図４（ａ）に示すように真正面を向いた目の場合においては瞳の中心位置と同様であるが、図４（ｂ）に示すように右を向いた目の場合は瞳の中心位置ではなく、瞳の中心から外れた位置または白目部分に位置する。
【００８１】
第２の特徴量算出部３２は、画像Ｓ０ではなく、顔画像Ｓ１から特徴量Ｃ０を算出する点を除いて、図２に示す顔検出部２０における第１の特徴量算出部２２と同じであるため、ここではその詳細な説明を省略する。
【００８２】
第１のデータベース６０に記憶された参照データＥ２は、参照データＥ１と同じように、後述するサンプル画像から選択された複数画素の組合せからなる複数種類の画素群のそれぞれについて、各画素群を構成する各画素における特徴量Ｃ０の組合せに対する識別条件を規定したものである。
【００８３】
ここで、参照データＥ２の学習には、図１０に示すように両目の中心間距離が９．７，１０，１０．３画素であり、各距離において平面上±３度の範囲にて１度単位で段階的に顔を回転させたサンプル画像を用いている。そのため、参照データＥ１と比較して学習の許容度は小さく、精確に目の位置を検出することができる。なお、参照データＥ２を得るための学習は、用いられるサンプル画像群が異なる点を除いて、参照データＥ１を得るための学習と同じであるので、ここではその詳細な説明を省略する。
【００８４】
目検出実行部３４は、顔検出部２０により得られた顔画像Ｓ１上において、複数種類の画素群を構成する各画素における特徴量Ｃ０の組合せのすべてについて参照データＥ２が学習した識別条件を参照して、各々の画素群を構成する各画素における特徴量Ｃ０の組合せについての識別ポイントを求め、すべての識別ポイントを総合して顔に含まれる目の位置を識別する。この際、特徴量Ｃ０である勾配ベクトルＫの方向は４値化され大きさは３値化される。
【００８５】
ここで、目検出実行部３４は、顔検出部２０により得られた顔画像Ｓ１のサイズを段階的に拡大縮小するとともに平面上で段階的に３６０度回転させつつ、各段階において拡大縮小された顔画像上に３０×３０画素サイズのマスクＭを設定し、マスクＭを拡大縮小された顔上において１画素ずつ移動させながら、マスク内の画像における目の位置の検出を行う。
【００８６】
なお、参照データＥ２の生成時に学習したサンプル画像として両目の中心位置の画素数が９．７，１０，１０．３画素のものを使用しているため、顔画像Ｓ１の拡大縮小時の拡大率は１０．３／９．７とすればよい。また、参照データＥ２の生成時に学習したサンプル画像として、顔が平面上で±３度の範囲において回転させたものを使用しているため、顔画像は６度単位で３６０度回転させればよい。
【００８７】
なお、第２の特徴量算出部３２は、顔画像Ｓ１の拡大縮小および回転という変形の各段階において特徴量Ｃ０を算出する。
【００８８】
そして、本実施形態では、顔検出部２０により得られた全ての顔画像Ｓ１毎に、顔画像Ｓ１の変形の全段階においてすべての識別ポイントを加算し、最も大きい加算値が得られた顔画像Ｓ１の変形の段階における３０×３０画素のマスクＭ内の画像において、左上隅を原点とする座標を設定し、サンプル画像における目の位置の座標（ｘ１，ｙ１）、（ｘ２，ｙ２）に対応する位置を求め、変形前の当該顔画像Ｓ１におけるこの位置に対応する位置を目の位置として検出する。
【００８９】
目検出部３０は、このようにして、顔検出部２０により得られた顔画像Ｓ１から真の顔画像Ｓ２を抽出して両目の位置を検出し、その両目の位置情報Ｇ１および顔画像Ｓ２の位置情報を、目頭・目尻検出部４０および口角検出部５０にそれぞれ出力する。
【００９０】
図１５は、目頭・目尻検出部４０の構成を示すブロック図である。目頭・目尻検出部４０は、目検出部３０により得られた真の顔画像Ｓ２のうち検出された目の位置を中心とする所定範囲の目近傍画像Ｓ３から、目頭および目尻の位置を検出するものであり、図示のように、目近傍画像Ｓ３から目の識別に用いる特徴量Ｃ０を算出する第３の特徴量算出部４２と、特徴量Ｃ０および第１のデータベース６０に記憶された参照データＥ３に基づいて目頭および目尻の位置の検出を実行して、目頭および目尻の位置情報Ｇ２′を得る目頭・目尻検出実行部４４とを備える。
【００９１】
第３の特徴量算出部４２は、真の顔画像Ｓ２のうち検出された目の位置を中心とする所定範囲の目近傍画像Ｓ３から特徴量Ｃ０を算出する点を除いて、図２に示す顔検出部２０の第１の特徴量算出部２２と同じであるため、ここでは、その詳細な説明を省略する。
【００９２】
第１のデータベース６０に記憶された参照データＥ３は、参照データＥ１と同じように、後述するサンプル画像から選択された複数画素の組合せからなる複数種類の画素群のそれぞれについて、各画素群を構成する各画素における特徴量Ｃ０の組合せに対する識別条件を規定したものである。
【００９３】
参照データＥ３中の、各画素群を構成する各画素における特徴量Ｃ０の組合せおよび識別条件は、目であることが分かっている複数のサンプル画像と目でないことが分かっている複数のサンプル画像とからなるサンプル画像群の学習により、予め決められたものである。
【００９４】
なお、本実施形態においては、参照データＥ３を生成する際には、目であることが分かっているサンプル画像として、３０×３０画素サイズを有し、図１７に示すように、１つの目の画像について目頭と目尻の間の距離が２０画素、１９．４画素および２０．６画素であり、目頭と目尻を結ぶ線分が水平となるように置かれた目を平面上±３度の範囲において１度単位で段階的に回転させたサンプル画像を用いるものとする。そのため、参照データＥ２と同様に、参照データＥ１と比較して学習の許容度は小さく、精確に目頭および目尻の位置を検出することができる。なお、図１７においては−３度、０度および＋３度に回転させたサンプル画像のみを示す。また、回転の中心はサンプル画像の対角線の交点である。ここで、目頭と目尻の間の距離が２０画素のサンプル画像であれば、目頭と目尻の位置はすべて同一となっている。この目頭および目尻の位置を、サンプル画像の左上隅を原点とする座標上において（ｘ１′，ｙ１′）、（ｘ２′，ｙ２′）とする。また、図面上の上下方向における目頭および目尻の位置（すなわちｙ１′，ｙ２′）はすべてのサンプル画像において同一である。
【００９５】
また、目でないことが分かっているサンプル画像としては、３０×３０画素サイズを有する任意の画像を用いるものとする。
【００９６】
なお、参照データＥ３を得るための学習は、用いられるサンプル画像群が異なる点を除いて、参照データＥ２を得るための学習と同じなので、ここではその詳細な説明を省略する。
【００９７】
目頭・目尻検出実行部４４は、目検出部３０により得られた真の顔画像Ｓ２のうち検出された目の位置を中心とする所定範囲の目近傍画像Ｓ３上において、複数種類の画素群を構成する各画素における特徴量Ｃ０の組合せのすべてについて参照データＥ３が学習した識別条件を参照して、各々の画素群を構成する各画素における特徴量Ｃ０の組合せについての識別ポイントを求め、すべての識別ポイントを総合して目の目頭および目尻の位置を識別する。この際、特徴量Ｃ０である勾配ベクトルＫの方向は４値化され大きさは３値化される。
【００９８】
ここで、目頭・目尻検出実行部４４は、目検出部３０により得られた真の顔画像Ｓ２のうち検出された目の位置を中心とする所定範囲の目近傍画像Ｓ３のサイズを段階的に拡大縮小するとともに平面上で段階的に３６０度回転させつつ、各段階において拡大縮小された目近傍画像Ｓ３上に３０×３０画素サイズのマスクＭを設定し、マスクＭを拡大縮小された目近傍画像Ｓ３上において１画素ずつ移動させながら、マスク内の画像における目頭および目尻の位置の検出を行う。
【００９９】
なお、参照データＥ３の生成時に学習したサンプル画像として目頭と目尻の間の画素数が１９．４，２０，２０．６画素のものを使用しているため、目近傍画像Ｓ３の拡大縮小時の拡大率は２０．６／１９．４とすればよい。また、参照データＥ３の生成時に学習したサンプル画像として、目が平面上で±３度の範囲において回転させたものを使用しているため、目近傍画像Ｓ３は６度単位で３６０度回転させればよい。
【０１００】
なお、第３の特徴量算出部４２は、目近傍画像Ｓ３の拡大縮小および回転という変形の各段階において特徴量Ｃ０を算出する。
【０１０１】
そして、本実施形態では、各目近傍画像Ｓ３毎に、目近傍画像Ｓ３の変形の全段階においてすべての識別ポイントを加算し、その加算値の正負および大小によって目であるか否かを識別する。目であると識別された目近傍画像Ｓ３の変形の段階における３０×３０画素のマスクＭ内の画像において、左上隅を原点とする座標を設定し、サンプル画像における目頭および目尻の位置の座標（ｘ１′，ｙ１′）、（ｘ２′，ｙ２′）に対応する位置を求め、変形前の当該目近傍画像Ｓ３におけるこの位置に対応する位置を目頭および目尻の位置として検出する。
【０１０２】
目頭・目尻検出部４０は、このようにして、目近傍画像Ｓ３から目頭および目尻の位置を検出し、その目頭および目尻の位置情報Ｇ２′を、目頭・目尻・口角選出部６５に出力する。
【０１０３】
なお、目頭・目尻検出部４０は、左目と右目のそれぞれに対応する目近傍画像Ｓ３に対して目頭および目尻の位置を検出する。このとき、左目と右目とでは目の形状が異なるものの、左右反転させると同形状になると考え、例えば、参照データＥ３を目のサンプル画像として左目のサンプル画像のみを用いた学習により得て用意し、左目に対して目頭および目尻を検出するときは、マスクＭ内の画像に対して特徴量Ｃ０を算出して参照データＥ３を適用し、右目に対して目頭および目尻を検出するときは、マスクＭ内の画像を左右反転した状態で特徴量Ｃ０を算出して参照データＥ３を適用するようにしてもよい。あるいは、いずれの目も左右対称な形状に近似すると考え、例えば、参照データＥ３を左目および右目の混合したサンプル画像を用いた学習により得て用意し、左目と右目のいずれの目に対しても目頭および目尻を検出するときは、マスクＭ内の画像に対して特徴量Ｃ０を算出して参照データＥ３を適用するようにしてもよい。
【０１０４】
図１６は、口角検出部５０の構成を示すブロック図である。口角検出部５０は、目検出部３０により得られた真の顔画像Ｓ２のうち検出された目の位置と所定の位置関係にある所定範囲の口近傍画像Ｓ４から、左右の口角の位置を検出するものであり、図示のように、口近傍画像Ｓ４から口の識別に用いる特徴量Ｃ０を算出する第４の特徴量算出部５２と、特徴量Ｃ０および第１のデータベース６０に記憶された参照データＥ４に基づいて左右の口角の位置の検出を実行して、口角の位置情報Ｇ３′を得る口角検出実行部５４とを備える。
【０１０５】
第４の特徴量算出部５２は、真の顔画像Ｓ２のうち検出された目の位置と所定の位置関係にある所定範囲の口近傍画像Ｓ４から特徴量Ｃ０として算出する点を除いて、図２に示す顔検出部２０の第１の特徴量算出部２２と同じであるため、ここでは、その詳細な説明を省略する。
【０１０６】
第１のデータベース６０に記憶された参照データＥ４は、参照データＥ１と同じように、後述するサンプル画像から選択された複数画素の組合せからなる複数種類の画素群のそれぞれについて、各画素群を構成する各画素における特徴量Ｃ０の組合せに対する識別条件を規定したものである。
【０１０７】
参照データＥ４中の、各画素群を構成する各画素における特徴量Ｃ０の組合せおよび識別条件は、口であることが分かっている複数のサンプル画像と口でないことが分かっている複数のサンプル画像とからなるサンプル画像群の学習により、予め決められたものである。
【０１０８】
なお、本実施形態においては、参照データＥ４を生成する際には、口であることが分かっているサンプル画像として、３０×３０画素サイズを有し、図１８に示すように、１つの口の画像について左の口角と右の口角との間の距離が２０画素、１９．４画素および２０．６画素であり、左右の口角同士を結ぶ線分が水平となるように置かれた口を平面上±３度の範囲において１度単位で段階的に回転させたサンプル画像を用いるものとする。そのため、参照データＥ２と同様に、参照データＥ１と比較して学習の許容度は小さく、精確に左右の口角の位置を検出することができる。なお、図１８においては−３度、０度および＋３度に回転させたサンプル画像のみを示す。また、回転の中心はサンプル画像の対角線の交点である。ここで、左右の口角の間の距離が２０画素のサンプル画像であれば、左右の口角の位置はすべて同一となっている。この左右の口角の位置を、サンプル画像の左上隅を原点とする座標上において（ｘ１″，ｙ１″）、（ｘ２″，ｙ２″）とする。また、図面上の上下方向における左右の口角の位置（すなわちｙ１″，ｙ２″）はすべてのサンプル画像において同一である。
【０１０９】
また、口でないことが分かっているサンプル画像としては、３０×３０画素サイズを有する任意の画像を用いるものとする。
【０１１０】
なお、参照データＥ４を得るための学習は、用いられるサンプル画像群が異なる点を除いて、参照データＥ２を得るための学習と同じなので、ここではその詳細な説明を省略する。
【０１１１】
口角検出実行部５４は、目検出部３０により得られた真の顔画像Ｓ２のうち検出された目の位置と所定の位置関係にある所定範囲の口近傍画像Ｓ４上において、複数種類の画素群を構成する各画素における特徴量Ｃ０の組合せのすべてについて参照データＥ４が学習した識別条件を参照して、各々の画素群を構成する各画素における特徴量Ｃ０の組合せについての識別ポイントを求め、すべての識別ポイントを総合して口の左右の口角の位置を識別する。この際、特徴量Ｃ０である勾配ベクトルＫの方向は４値化され大きさは３値化される。
【０１１２】
ここで、口角検出実行部５４は、目検出部３０により得られた真の顔画像Ｓ２のうち検出された目の位置と所定の位置関係にある所定範囲の口近傍画像Ｓ４のサイズを段階的に拡大縮小するとともに平面上で段階的に３６０度回転させつつ、各段階において拡大縮小された口近傍画像Ｓ４上に３０×３０画素サイズのマスクＭを設定し、マスクＭを拡大縮小された口近傍画像Ｓ４上において１画素ずつ移動させながら、マスク内の画像における左右の口角の位置の検出を行う。
【０１１３】
なお、参照データＥ４の生成時に学習したサンプル画像として左右の口角の間の画素数が１９．４，２０，２０．６画素のものを使用しているため、口近傍画像Ｓ４の拡大縮小時の拡大率は２０．６／１９．４とすればよい。また、参照データＥ４の生成時に学習したサンプル画像として、口が平面上で±３度の範囲において回転させたものを使用しているため、口近傍画像Ｓ４は６度単位で３６０度回転させればよい。
【０１１４】
なお、第４の特徴量算出部５２は、口近傍画像Ｓ４の拡大縮小および回転という変形の各段階において特徴量Ｃ０を算出する。
【０１１５】
そして、本実施形態では、口近傍画像Ｓ４の変形の全段階においてすべての識別ポイントを加算し、その加算値の正負および大小によって口であるか否かを識別する。口であると識別された口近傍画像Ｓ４の変形の段階における３０×３０画素のマスクＭ内の画像において、左上隅を原点とする座標を設定し、サンプル画像における左右の口角の位置の座標（ｘ１″，ｙ１″）、（ｘ２″，ｙ２″）に対応する位置を求め、変形前の当該口近傍画像Ｓ４におけるこの位置に対応する位置を左右の口角の位置として検出する。
【０１１６】
口角検出部５０は、このようにして、口近傍画像Ｓ４から左右の口角の位置を検出し、その左右の口角の位置情報Ｇ３′を、目頭・目尻・口角選出部６５に出力する。
【０１１７】
目頭・目尻・口角選出部６５は、検出されたすべての目頭、目尻、口角の中から、これらの位置情報Ｇ２′，Ｇ３′に基づいて、その位置関係が妥当と考えられる左目の目頭および目尻、右目の目頭および目尻、左右の口角を選出するものである。例えば、左目の目尻と右目の目尻とを結ぶ線分と、左右の口角を結ぶ線分とが略平行になるという拘束条件や、左目の目頭と目尻を結ぶ線分と右目の目頭と目尻を結ぶ線分とが、真の顔画像Ｓ２の中心軸を基準として略軸対象になるという拘束条件などを設け、これらの拘束条件をできるだけ満たすように、目頭、目尻、口角を選出する。目頭・目尻・口角選出部６５は、選出した左右の目の目頭、目尻の位置情報Ｇ２，Ｇ３を上下瞼特徴点検出部７０に出力し、選出した左右の口角の位置の情報を上下唇特徴点検出部８０に出力する。
【０１１８】
図１９は、上下瞼特徴点検出部７０の構成を示すブロック図である。上下瞼特徴点検出部７０は、目頭・目尻・口角選出部６５により選出された左右各目の目頭および目尻の位置の情報を用いて、目の輪郭を表す上下瞼の特徴点を各目毎に検出するものであり、図示のように、目頭および目尻の位置から上下瞼の特徴点を検索するエリアＬｅ１を設定する第１の検索エリア設定部７２と、第１の検索エリア設定部７２により設定された検索エリアＬｅ１の各画素において、１次元の輝度プロファイルＢｅを算出する第１の輝度プロファイル算出部７４と、第１の輝度プロファイル算出部７４により算出された輝度プロファイルＢｅと第２のデータベース９０に記憶されている参照データＥ５とに基づいて、識別対象の画素が上下瞼の特徴点に該当するか否かを識別する第１の識別部７６とを備える。
【０１１９】
第１の検索エリア設定部７２は、目検出部３０により検出された目に対して、目頭・目尻検出部４０により検出された目頭と目尻を結ぶ線分Ｌｅ０と交差する、上下瞼の特徴点に対応する瞼基準線分Ｌｅ１を検索エリアとして設定するものであり、本実施形態においては、目頭と目尻を結ぶ線分Ｌｅ０の中点を中心とする線分Ｌｅ０に垂直な所定幅（例えば１１画素）の線分を瞼基準線分Ｌｅ１とする。なお、この瞼基準線分Ｌｅ１の設定は、各目に対して行われる。
【０１２０】
ここで、第２のデータベース９０に記憶された参照データＥ５について説明する。この参照データＥ５は、上下瞼の輪郭の中点を示す各特徴点に対して定義された輝度プロファイルおよび輝度プロファイルに対する識別条件を規定したものであり、複数の目のサンプル画像における、該当する特徴点が示す位置であることが分かっている部位と、複数のサンプル画像の目における、該当する特徴点が示す位置でないことが分かっている部位の学習により、予め決められたものである。ここで、上瞼の輪郭の中点を示す特徴点に対して定義された輝度プロファイルに対する識別条件の取得を例に説明する。
【０１２１】
本実施形態において、参照データＥ５を生成する際に、サンプル画像は３０×３０画素サイズを有し、１つの目の画像について目頭と目尻の間の距離が２０画素となるように正規化されたものを用いる。上瞼の輪郭の中点を示す特徴点に対して定義された輝度プロファイルは、図２１に示すように、目頭Ａ１と目尻Ａ２を結ぶ線分Ｌ０と垂直で、かつこの上瞼の輪郭の中点を示す特徴点Ａ０を通過する線分Ｌ１における、この特徴点を中心とする１１個の画素の輝度プロファイルであり、この特徴点に対して定義された輝度プロファイルに対する識別条件を得るために、まず、各サンプル画像の目に対して指定された上瞼の輪郭の中点を示す特徴点Ａ０の位置における輝度プロファイルをそれぞれ算出する。そして、各サンプル画像の目における、上瞼の輪郭の中点以外の任意の位置を示す点に対しても、上記の如く定義された輝度プロファイルをそれぞれ算出する。
【０１２２】
そして、後の処理時間を短縮するために、これらの輝度プロファイルを多値化、例えば分散値に基づいて５値化する。この５値化は、具体的には、輝度プロファイルを形成する各輝度値（上瞼の輪郭の中点を示す特徴点の輝度プロファイルの場合、この輝度プロファイルを取得する際に用いられた１１個の画素の輝度値）の分散値σを求めると共に、各輝度値の平均値Ｙａｖを中心にし、分散値単位に５値化を行うものである。例えば、（Ｙａｖ―（３／４）σ）以下の輝度値を０に、（Ｙａｖ−（３／４）σ）と（Ｙａｖ−（１／４）σ）間の輝度値を１に、（Ｙａｖ−（１／４）σ）と（Ｙａｖ＋（１／４）σ）間の輝度値を２に、（Ｙａｖ＋（１／４）σ）と（Ｙａｖ＋（３／４）σ）間の輝度値を３に、（Ｙａｖ＋（３／４）σ）以上の輝度値を４にするように５値化する。
【０１２３】
上瞼の輪郭の中点を示す特徴点の輝度プロファイルを識別するための識別条件は、上記のような５値化された、各サンプル画像における上瞼の輪郭の中点を示す特徴点の輝度プロファイル（以下第１の輝度プロファイル群という）と、上瞼の輪郭の中点を示す特徴点に対して求められた輝度プロファイル（以下第２の輝度プロファイル群という）とに対して学習することによって得られる。
【０１２４】
上記２種類の輝度プロファイル群の学習手法は、顔検出部２０に用いられた参照データＥ１や、目検出部３０に用いられた参照データＥ２の学習手法と同じであるが、ここでその概略について説明する。
【０１２５】
まず、識別器の作成について説明する。１つの輝度プロファイルを構成する要素としては、該輝度プロファイルを構成する各輝度値の組合せにより示される輝度プロファイルの形状とすることができ、輝度値が０、１、２、３、４の５通りあり、１つの輝度プロファイルに含まれる画素１１個をそのままを用いたのでは、輝度値の組合せが５１１通りとなり、学習および検出のために多大な時間およびメモリを要することとなる。このため、本実施形態においては、１つの輝度プロファイルを構成する複数の画素のうちの一部の画素のみを用いることとする。例えば、１１個の画素の輝度値から構成された輝度プロファイルの場合、その２番目、６番目、１０番目の画素の３つの画素を用いる。この３つの画素の輝度値の組合せは５３通りとなるため、演算時間の短縮およびメモリの節約を図ることができる。識別器の作成に当たり、まず、第１の輝度プロファイル群における全ての輝度プロファイルについて、上記輝度値の組合せ（当該輝度プロファイルを構成する画素の一部ここでは２番目、６番目、１０番目の３個の画素の輝度値の組合せ。以下同じ）が求められ、そしてヒストグラムが作成される。同様に、第２の輝度プロファイル群に含まれる各輝度プロファイルについても、同じヒストグラムが作成される。これらの２つのヒストグラムが示す頻度値の比の対数値を取ってヒストグラムで表したものが、特徴点の輝度プロファイルの識別器として用いられるヒストグラムである。顔を検出する際に作られた識別器と同じように、この識別器によれば、該識別器のヒストグラムが示す各縦軸の値（識別ポイント）が正であれば、該識別ポイントに対応する輝度値分布を有する輝度プロファイルの位置が上瞼の輪郭の中点を示す特徴点である可能性が高く、識別ポイントの絶対値が大きいほどその可能性が高まると言える。逆に識別ポイントが負であれば、該識別ポイントに対応する輝度値分布を有する輝度プロファイルの位置が上瞼の輪郭の中点を示す特徴点ではない可能性が高く、やはり識別ポイントの絶対値が大きいほどその可能性が高まる。
【０１２６】
上瞼の輪郭の中点を示す特徴点の輝度プロファイルに対して、このようなヒストグラム形式の複数の識別器が作成される。
【０１２７】
続いて、作成した複数の識別器のうち、上瞼の輪郭の中点を示す特徴点であるか否かの識別に最も有効な識別器が選択される。ここで、特徴点の輝度プロファイルを識別するための最も有効な識別器の選択手法は、識別対象が特徴点の輝度プロファイルである点を除いて、顔検出部２０に用いられた参照データＥ１中の識別器を作成する際に行われた選択の手法と同じであるため、ここで詳細な説明を省略する。
【０１２８】
第１の輝度プロファイル群と第２の輝度プロファイル群に対する学習の結果、上瞼の輪郭の中点を示す特徴点の輝度プロファイルであるか否かの識別に用いる識別器の種類と識別条件が確定される。
【０１２９】
ここで、サンプル画像の特徴点の輝度プロファイルの学習方法は、アダブースティングの手法に基づいたマシンラーニング手法を用いたが、上記手法に限定されるものではなく、ニューラルネットワーク等他のマシンラーニングの手法を用いてもよい。
【０１３０】
このような識別器の作成と識別条件の確定が、上瞼の輪郭の中点の特徴点のほか、下瞼の輪郭の中点の特徴点についても同様になされ、参照データＥ５が生成される。
【０１３１】
第１の輝度プロファイル算出部７４は、第１の検索エリア設定部７２により設定された瞼基準線分Ｌｅ１上の各画素の位置に対して、瞼基準線分Ｌｅ１が対応する特徴点に対して定義された、その特徴点を識別するための１次元の輝度プロファイルＢｅを算出する。この輝度プロファイルは、瞼基準線分Ｌｅ１上の１つの画素を中心として瞼基準線分Ｌｅ１の方向に沿った１１個の画素の輝度プロファイルである。
【０１３２】
第１の識別部７６は、第１の輝度プロファイル算出部７４により算出された各輝度プロファイル毎に、当該輝度プロファイルが上瞼の輪郭の中点を示す特徴点または下瞼の輪郭の中点を示す特徴点の輝度プロファイルであるか否かを識別する。具体的には、瞼基準線分Ｌｅ１上の各画素の位置に対して算出された２１個の輝度プロファイルのそれぞれに対して、参照データＥ５に含まれる上瞼の輪郭の中点を示す特徴点の輝度プロファイルの識別器および識別条件を用いて識別を行って識別ポイントを求め、１つの輝度プロファイルに対して各識別器による識別ポイントの総和が正である場合、当該輝度プロファイルが上瞼の輪郭の中点を示す特徴点の輝度プロファイルである、すなわち当該輝度プロファイルの対応する画素（１１個の画素の中心画素、すなわち６番目の画素）が上瞼の輪郭の中点を示す特徴点である可能性が高いとし、逆に１つの輝度プロファイルに対して各識別器による識別ポイントの総和が負である場合、当該輝度プロファイルが上瞼の輪郭の中点を示す特徴点の輝度プロファイルではない、すなわち当該輝度プロファイルの対応する画素が上瞼の輪郭の中点を示す特徴点ではないとして識別する。そして、第１の識別部７６は、２１個の輝度プロファイルのうち、識別ポイントの総和が正であり、かつ絶対値が最も大きい輝度プロファイルの対応する中心画素を上瞼の輪郭の中点を示す特徴点として識別する。一方、２１個の輝度プロファイルのうち、識別ポイントの総和が正である輝度プロファイルが１つもない場合、２１個の輝度プロファイルの対応する２１個の画素すべてが、上瞼の輪郭の中点を示す特徴点ではないと識別する。また、このような識別を、上瞼の輪郭の中点を示す特徴点と同様に、下瞼の輪郭の中点を示す特徴点に対しても行い、これらの識別結果として、上下瞼の輪郭の中点を示す特徴点の位置情報Ｇ４を出力部１００に出力する。
【０１３３】
図２０は、上下唇特徴点検出部８０の構成を示すブロック図である。上下唇特徴点検出部８０は、目頭・目尻・口角選出部６５により選出された左右の口角の位置の情報を用いて、口の輪郭を表す上下唇の特徴点を検出するものであり、図示のように、左右の口角の位置から上下唇の特徴点を検索するエリアＬｍ１を設定する第２の検索エリア設定部８２と、第２の検索エリア設定部８２により設定された検索エリアＬｍ１の各画素において、１次元の輝度プロファイルＢｍを算出する第２の輝度プロファイル算出部８４と、第２の輝度プロファイル算出部８４により算出された輝度プロファイルＢｍと第２のデータベース９０に記憶されている参照データＥ６とに基づいて、識別対象の画素が上下唇の特徴点に該当するか否かを識別する第２の識別部８６とを備える。
【０１３４】
第２の検索エリア設定部８２は、口角検出部５０により検出された左右の口角を結ぶ線分Ｌｍ０と交差する、上下唇の特徴点に対応する唇基準線分Ｌｍ１を検索エリアとして設定するものであり、本実施形態においては、左右の口角を結ぶ線分Ｌｍ０の中点を中心とする線分Ｌｍ０に垂直な所定幅（例えば１１画素）の線分を唇基準線分Ｌｍ１とする。
【０１３５】
ここで、第２のデータベース９０に記憶された参照データＥ６について説明する。この参照データＥ６は、上下唇の輪郭の中点を示す各特徴点に対して定義された輝度プロファイルおよび輝度プロファイルに対する識別条件を規定したものであり、複数の口のサンプル画像における、該当する特徴点が示す位置であることが分かっている部位と、複数のサンプル画像の口における、該当する特徴点が示す位置でないことが分かっている部位の学習により、予め決められたものである。なお、この参照データＥ６の生成については、特徴点が上下唇の輪郭の中点を示す特徴点であり、サンプル画像として、３０×３０画素サイズを有し、１つの口の画像について左の口角と右の口角との間の距離が２０画素となるように正規化されたものを用いる点を除いて、参照データＥ５の場合と同じである。例えば、上唇の輪郭の中点を示す特徴点に対して定義された輝度プロファイルは、図２２に示すように、左の口角Ａ１′と右の口角Ａ２′を結ぶ線分Ｌ０′と垂直で、かつこの上唇の輪郭の中点を示す特徴点Ａ０′を通過する線分Ｌ１′における、この特徴点を中心とする１１個の画素の輝度プロファイルである。
【０１３６】
第２の輝度プロファイル算出部８４は、第２の検索エリア設定部８２により設定された唇基準線分Ｌｍ１上の各画素の位置に対して、唇基準線分Ｌｍ１が対応する特徴点に対して定義された、その特徴点を識別するための１次元の輝度プロファイルＢｍを算出する。この輝度プロファイルＢｍは、唇基準線分Ｌｍ１上の１つの画素を中心として唇基準線分Ｌｍ１の方向に沿った１１個の画素の輝度プロファイルである。
【０１３７】
第２の識別部８６は、第２の輝度プロファイル算出部８４により算出された各輝度プロファイル毎に、当該輝度プロファイルが上唇の輪郭の中点を示す特徴点または下唇の輪郭の中点を示す特徴点の輝度プロファイルであるか否かを識別する。また、このような識別を、上唇の輪郭の中点を示す特徴点と同様に、下唇の輪郭の中点を示す特徴点に対しても行い、これらの識別結果として、上下唇の輪郭の中点を示す特徴点の位置情報Ｇ５を出力部１００に出力する。
【０１３８】
出力部１００は、目尻・目頭検出部４０により得られた左右の目それぞれに対する目頭および目尻の位置情報Ｇ２と、瞼特徴点検出部７０により得られた左右の目それぞれに対する上下瞼の輪郭の中点を示す特徴点の位置情報Ｇ４とを合わせて、左右の目の輪郭を表す特徴点群の位置情報ＧＧ１として出力するとともに、口角検出部５０により得られた左右の口角の位置情報Ｇ３と、唇特徴点検出部８０により得られた上下唇の輪郭の中点を示す特徴点の位置情報Ｇ５とを合わせて、口の輪郭を表す特徴点群の位置情報ＧＧ２として出力する。
【０１３９】
図２３は、図１に示す実施形態の顔特徴点検出装置において行われる処理を示すフローチャートである。図示のように、図１に示す顔特徴点検出装置において、画像Ｓ０が入力されると、まず、顔検出部２０および目検出部３０により画像Ｓ０に含まれる顔の検出を行い、画像Ｓ０に含まれる顔における両目の位置を得る（ステップＳＴ１１、Ｓ１２、Ｓ１３）。そして、目頭・目尻検出部４０および口角検出部５０によりその両目の目頭および目尻、画像Ｓ０に含まれる顔を構成する口の左右の口角を、暫定的に、場合によっては複数、検出する（ステップＳＴ１４）。目頭・目尻・口角選出部６５は、検出された目頭、目尻、口角の中から、それぞれの間の位置関係に基づいて、顔の構造上の所定の拘束条件にしたがって、妥当なものを選出する（ステップＳＴ１５）。瞼特徴点検出部７０および唇特徴点検出部８０は、その選出された目頭、目尻および口角の位置から、上下瞼の輪郭の中点を示す特徴点と、上下唇の輪郭の中点を示す特徴点とを検出し（ステップＳＴ１６）、出力部１００が、目頭、目尻、上下瞼の特徴点を目の輪郭を表す特徴点群として、口角、上下唇の特徴点を口の輪郭を表す特徴点群として、それぞれまとめて出力する（ステップＳＴ１７）。
【０１４０】
このように、本実施形態の顔特徴点検出装置は、検出対象の画像に含まれる顔を検出し、この顔の検出情報を用いて、顔を構成する目を検出し、この目の検出情報を用いて、目の目頭と目尻を検出し、この目頭と目尻の位置情報を用いて、目の輪郭を表す上下瞼の特徴点を検出するようにしているので、Coarse to fineの考え方に沿って効率的に目の輪郭を表す特徴点を検出することができ、ユーザに負担を掛けることなく、顔の特徴点である目の輪郭を表す特徴点を精度良く検出することができる。
【０１４１】
また、本実施形態の顔特徴点検出装置は、その目の検出情報を用いて、この目と所定の位置関係にある口の位置を推定して、口の左右の口角を検出し、口の輪郭を表す上下唇の特徴点を検出するようにしているので、目の輪郭を表す特徴点だけでなく、口の輪郭を表す特徴点についても効率的に精度良く検出することができる。
【０１４２】
なお、上下瞼の特徴点の検出は、目頭と目尻とを結ぶ線分と交差する、上下瞼の特徴点に対応する少なくとも１つの瞼基準線分を設定し、１つの瞼基準線分上の各画素に対して、その瞼基準線分が対応する特徴点に対して定義された、その特徴点を識別するための１次元の輝度プロファイルを算出するとともに、その輝度プロファイルに基づいて各画素のそれぞれが、その特徴点を示す画素であるか否かを識別する処理を、設定されたすべての瞼基準線分に対して行うものであり、また、上下唇の特徴点の検出は、口角同士を結ぶ線分上と交差する、上下唇の特徴点に対応する少なくとも１つの唇基準線分を設定し、１つの唇基準線分上の各画素に対して、その唇基準線分が対応する特徴点に対して定義された、その特徴点を識別するための１次元の輝度プロファイルを算出するとともに、その輝度プロファイルに基づいて各画素のそれぞれが、その特徴点を示す画素であるか否かを識別する処理を、設定された全ての唇基準線分に対して行うものであるから、上下瞼の特徴点や上下唇の特徴点を、比較的許容度が大きい画像パターンのような２次元的な情報ではなく、比較的許容度の小さい１次元の輝度プロファイルという１次元的な情報を用いて検出することで、位置を特定し難い上下瞼の特徴点や上下唇の特徴点を精度良く検出することができる。
【０１４３】
また、各部位の検出において、サンプル画像を用いたマシンラーニングの手法により学習を行って得られた、識別器と識別条件を用いて検出を行っているので、精度が良い上に、ロバスト性も高い。またこの学習に用いる所定の部位であることが分かっている複数のサンプル画像として、その部位の大きさや位置が所定の許容度を持つように正規化されたものを用いているので、この許容度を調整することで、所望の検出精度やロバスト性を得ることができる。
【０１４４】
また、本実施形態では、上下唇の輪郭の中点を示す特徴点として、唇の内側輪郭の中点を示す特徴点としており、顔の肌と唇との境界が分かり難いことから輪郭が定まり難い外側輪郭の場合に比較して、唇の輪郭の情報をより明確に抽出することが可能である。
【０１４５】
なお、本実施形態では、画像に含まれる顔として、正面を向いた顔を例に説明したが、横顔や斜め顔に対しても、同様に顔特徴点を検出することが可能である。
【０１４６】
以上、本発明の望ましい実施形態について説明したが、本発明の顔特徴点検出方法および装置並びにそのためのプログラムは、上述した実施形態に限られることなく、本発明の主旨を逸脱しない限り、様々な増減、変化を加えることができる。
【０１４７】
例えば、上述した実施形態において、顔特徴点を特定するための輝度分布の特徴量として輝度プロファイルを用いたが、輝度プロファイルに限られることがなく、輝度プロファイルの微分値など、顔特徴点を特定することができるいかなる輝度分布の特徴量を用いてもよい。
【０１４８】
また、上述した実施形態において、識別器としてヒストグラムを用いたが、マシンラーニング手法に用いられるいかなる識別器を用いてもよい。
【図面の簡単な説明】
【０１４９】
【図１】本発明の実施形態となる顔特徴点検出装置の構成を示すブロック図
【図２】顔検出部２０の構成を示すブロック図
【図３】目検出部３０の構成を示すブロック図
【図４】目の中心位置を説明するための図
【図５】（ａ）は水平方向のエッジ検出フィルタを示す図、（ｂ）は垂直方向のエッジ検出フィルタを示す図
【図６】勾配ベクトルの算出を説明するための図
【図７】（ａ）は人物の顔を示す図、（ｂ）は（ａ）に示す人物の顔の目および口付近の勾配ベクトルを示す図
【図８】（ａ）は正規化前の勾配ベクトルの大きさのヒストグラムを示す図、（ｂ）は正規化後の勾配ベクトルの大きさのヒストグラムを示す図、（ｃ）は５値化した勾配ベクトルの大きさのヒストグラムを示す図、（ｄ）は正規化後の５値化した勾配ベクトルの大きさのヒストグラムを示す図
【図９】参照データＥ１の学習に用いられる顔であることが分かっているサンプル画像の例を示す図
【図１０】参照データＥ２の学習に用いられる顔であることが分かっているサンプル画像の例を示す図
【図１１】顔の回転を説明するための図
【図１２】顔、目、目頭・目尻、口角、瞼特徴点および唇特徴点の検出に用いられる参照データの学習手法を示すフローチャート
【図１３】識別器の導出方法を示す図
【図１４】識別対象画像の段階的な変形を説明するための図
【図１５】目頭・目尻検出部４０の構成を示すブロック図
【図１６】口角検出部５０の構成を示すブロック図
【図１７】参照データＥ３の学習に用いられる顔であることが分かっているサンプル画像の例を示す図
【図１８】参照データＥ４の学習に用いられる顔であることが分かっているサンプル画像の例を示す図
【図１９】瞼特徴点検出部７０の構成を示すブロック図
【図２０】唇特徴点検出部８０の構成を示すブロック図
【図２１】上瞼の中点を示す特徴点に対して定義される輝度プロファイルを説明するための図
【図２２】上唇の中点を示す特徴点に対して定義される輝度プロファイルを説明するための図
【図２３】顔特徴点検出装置において行われる処理を示すフローチャート
【符号の説明】
【０１５０】
１０    画像入力部
２０    顔検出部
２２    第１の特徴量算出部
２４    顔検出実行部
３０    目検出部
３２    第２の特徴量算出部
３４    目検出実行部
４０    目頭・目尻検出部
４２    第３の特徴量算出部
４４    目頭・目尻検出実行部
５０    口角検出部
５２    第４の特徴量算出部
５４    口角検出実行部
６０    第１のデータベース
７０    瞼特徴点検出部
７２    第１の検索エリア設定部
７４    第１の輝度プロファイル算出部
７６    第１の識別部
８０    唇特徴点検出部
８２    第２の検索エリア設定部
８４    第２の輝度プロファイル算出部
８６    第２の識別部
９０    第２のデータベース
１００    出力部
【図１】
0004414401.tif 000002
【図２】
0004414401.tif 000003
【図３】
0004414401.tif 000004
【図４】
0004414401.tif 000005
【図５】
0004414401.tif 000006
【図６】
0004414401.tif 000007
【図７】
0004414401.tif 000008
【図８】
0004414401.tif 000009
【図９】
0004414401.tif 000010
【図１０】
0004414401.tif 000011
【図１１】
0004414401.tif 000012
【図１２】
0004414401.tif 000013
【図１３】
0004414401.tif 000014
【図１４】
0004414401.tif 000015
【図１５】
0004414401.tif 000016
【図１６】
0004414401.tif 000017
【図１７】
0004414401.tif 000018
【図１８】
0004414401.tif 000019
【図１９】
0004414401.tif 000020
【図２０】
0004414401.tif 000021
【図２１】
0004414401.tif 000022
【図２２】
0004414401.tif 000023
【図２３】
0004414401.tif 000024