(57)【特許請求の範囲】
【請求項１】
対象画像に描画された対象物を構成するパーツの特徴点を検出する特徴点検出装置であって、
基準となる前記対象物のパーツの特徴量を取得する基準特徴量取得部と、
基準となる前記対象物のパーツの特徴量を用いて前記対象画像内の走査範囲を走査して、前記対象画像に描画されたパーツの特徴点の位置情報を出力する特徴点検出部と、
を備え、
基準となる前記対象物のパーツの特徴量は、教師画像に描画された前記対象物のパーツの画素から選択された複数の画素対において、各画素対の画素値の大小関係を３値に符号化した符号の集合であり、かつ、各画素対の位置情報と各画素対の符号とが関連付けされており、
前記特徴点検出部は、
基準となる前記対象物の前記画素対の位置情報を用いて、前記対象画像の注目点における前記画素対の画素値の大小関係を３値に符号化して前記注目点における特徴量とし、
前記注目点における特徴量と前記対象物のパーツの特徴量との一致度を用いて、前記対象画像の走査範囲内の注目点の中から候補点を選択し、前記候補点の位置情報を用いて前記対象画像に描画されたパーツの特徴点の位置情報を出力する
特徴点検出装置。
【請求項２】
各画素対の画素値は、第１画素値及び第２画素値からなり、
前記特徴点検出部は、各画素対の画素値の大小関係を、第１画素値から第２画素値を減算した差分を用いて符号化し、前記差分が第１閾値より小さい場合には第１符号、前記差分が第２閾値より大きい場合には第２符号、前記差分が前記第１閾値以上であって前記第２閾値以下の場合には第３符号とする請求項１に記載の特徴点検出装置。
【請求項３】
前記基準特徴量取得部は、基準となる前記対象物のパーツの特徴量が反映されたテンプレートを取得し、
前記特徴点検出部は、前記テンプレートと前記対象画像の特徴量とを比較して、前記対象画像のパーツの特徴点の位置情報を出力する請求項１又は２に記載の特徴点検出装置。
【請求項４】
前記特徴点検出部は、画素対の符号が前記テンプレートの符号と同一であるか否かを画素対ごとに判断し、画素対の符号が前記テンプレートの符号と同一であると判断された画素対の数と、画素対ごとに定義された重みとを用いて、前記対象画像の特徴量と前記テンプレートとが一致するほど大きな値となる一致度を算出し、前記一致度に基づいて前記対象画像のパーツの特徴点の位置情報を出力する請求項３に記載の特徴点検出装置。
【請求項５】
前記テンプレートに含まれる前記画素対、前記画素対の大小関係を示す符号及び画素対ごとに定義された重みは、教師画像を用いて予め学習することによって設定される請求項３又は４に記載の特徴点検出装置。
【請求項６】
パーツの特徴点の位置情報の関係性をモデル化した形状モデルを用いて、前記特徴点検出部によって検出された前記対象画像のパーツの特徴点の位置情報を補正する位置補正部をさらに備える請求項１〜５の何れか一項に記載の特徴点検出装置。
【請求項７】
前記形状モデルは、前記対象物のパーツの特徴点の位置情報の集合を形状ベクトルとし、基準形状ベクトル、及び、基準形状ベクトルからの偏差を用いて、パーツの特徴点の位置情報の関係性を示す請求項６に記載の特徴点検出装置。
【請求項８】
基準形状ベクトルは、教師画像を用いて予め学習された平均の形状ベクトルである請求項７に記載の特徴点検出装置。
【請求項９】
前記形状モデルは、教師画像を用いて学習された形状ベクトルの分散共分散行列を主成分分析することによって取得された固有ベクトルを主成分ベクトルとし、平均の形状ベクトルと重み係数付きの主成分ベクトルとの和を用いてパーツの特徴点の位置情報の関係性を示す請求項８に記載の特徴点検出装置。
【請求項１０】
前記位置補正部は、形状モデルを用いて位置情報が補正された前記対象画像のパーツの特徴点が、基準形状ベクトルから所定値以上離れた位置に存在する場合には、該特徴点を除外して補正を再度行う請求項７〜９の何れか一項に記載の特徴点検出装置。
【請求項１１】
前記対象物は顔である請求項１〜１０の何れか一項に記載の特徴点検出装置。
【請求項１２】
対象画像に描画された対象物を構成するパーツの特徴点を検出する特徴点検出方法であって、
基準となる前記対象物のパーツの特徴量を取得する基準特徴量取得ステップと、
基準となる前記対象物のパーツの特徴量を用いて前記対象画像内の走査範囲を走査して、前記対象画像に描画されたパーツの特徴点の位置情報を出力する特徴点検出ステップと、を備え、
基準となる前記対象物のパーツの特徴量は、教師画像に描画された前記対象物のパーツの画素から選択された複数の画素対において、各画素対の画素値の大小関係を３値に符号化した符号の集合であり、かつ、各画素対の位置情報と各画素対の符号とが関連付けされており、
前記特徴点検出ステップでは、
基準となる前記対象物の前記画素対の位置情報を用いて、前記対象画像の注目点における前記画素対の画素値の大小関係を３値に符号化して前記注目点における特徴量とし、
前記注目点における特徴量と前記対象物のパーツの特徴量との一致度を用いて、前記対象画像の走査範囲内の注目点の中から候補点を選択し、前記候補点の位置情報を用いて前記対象画像に描画されたパーツの特徴点の位置情報を出力する特徴点検出方法。
【請求項１３】
対象画像に描画された対象物を構成するパーツの特徴点を検出するようにコンピュータを動作させる特徴点検出プログラムであって、
基準となる前記対象物のパーツの特徴量を取得する基準特徴量取得部、及び、
基準となる前記対象物のパーツの特徴量を用いて前記対象画像内の走査範囲を走査して、前記対象画像に描画されたパーツの特徴点の位置情報を出力する特徴点検出部として前記コンピュータを動作させ、
基準となる前記対象物のパーツの特徴量は、教師画像に描画された前記対象物のパーツの画素から選択された複数の画素対において、各画素対の画素値の大小関係を３値に符号化した符号の集合であり、かつ、各画素対の位置情報と各画素対の符号とが関連付けされており、
前記特徴点検出部は、
基準となる前記対象物の前記画素対の位置情報を用いて、前記対象画像の注目点における前記画素対の画素値の大小関係を３値に符号化して前記注目点における特徴量とし、
前記注目点における特徴量と前記対象物のパーツの特徴量との一致度を用いて、前記対象画像の走査範囲内の注目点の中から候補点を選択し、前記候補点の位置情報を用いて前記対象画像に描画されたパーツの特徴点の位置情報を出力する
特徴点検出プログラム。
【請求項１４】
対象画像に描画された対象物を構成するパーツの特徴点を検出するようにコンピュータを動作させる特徴点検出プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記特徴点検出プログラムは、
基準となる前記対象物のパーツの特徴量を取得する基準特徴量取得部、及び、
基準となる前記対象物のパーツの特徴量を用いて前記対象画像内の走査範囲を走査して、前記対象画像に描画されたパーツの特徴点の位置情報を出力する特徴点検出部として前記コンピュータを動作させ、
基準となる前記対象物のパーツの特徴量は、教師画像に描画された前記対象物のパーツの画素から選択された複数の画素対において、各画素対の画素値の大小関係を３値に符号化した符号の集合であり、かつ、各画素対の位置情報と各画素対の符号とが関連付けされており、
前記特徴点検出部は、
基準となる前記対象物の前記画素対の位置情報を用いて、前記対象画像の注目点における前記画素対の画素値の大小関係を３値に符号化して前記注目点における特徴量とし、
前記注目点における特徴量と前記対象物のパーツの特徴量との一致度を用いて、前記対象画像の走査範囲内の注目点の中から候補点を選択し、前記候補点の位置情報を用いて前記対象画像に描画されたパーツの特徴点の位置情報を出力する
記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特徴点検出装置、特徴点検出方法、特徴点検出プログラム及び記録媒体に関するものである。
【背景技術】
【０００２】
従来、物体中に含まれるパーツを検出する装置が知られている（例えば特許文献１参照）。特許文献１には、顔パーツを検出する装置が開示されている。
【０００３】
特許文献１記載の装置は、暫定的に複数の候補特徴点を決定した後に、複数の最終特徴点を決定する。候補特徴点は、第１の検出器群で検出された複数の特徴点であって、２つの特徴点の位置関係が第１の位置関係のモデルに適合する。最終特徴点は、第２の検出器群で検出された複数の特徴点であって、２つの特徴点の位置関係が第２の位置関係のモデルに適合する。第２の検出器群は第１の検出器群よりも検出精度が高くロバスト性が低い。第２の位置関係のモデルは第１の位置関係のモデル許容度が低い。すなわち、特許文献１記載の装置は、比較的粗い検出の後で比較的細かい検出を行うという２段階の構成を採用する。ここで、特徴点としてはＨａｒｒ−Ｌｉｋｅ特徴量を用いており、特徴点の学習にはＡｄａＢｏｏｓｔを採用している。位置関係のモデルは、特徴点の組の位置関係を、特徴点の組（顔パーツの組）ごとに用意した存在確率分布で表現する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−３７４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１記載の装置は、Ｈａｒｒ−Ｌｉｋｅ特徴量すなわち輝度差に着目した特徴量を用いているため、適切な特徴点を抽出できない場合がある。例えば、照明が変化した場合、ノイズが存在する場合、又はテクスチャの乏しい箇所においては、信頼性のある特徴点を検出することは困難である。また、輝度差に着目した特徴量の場合には、画素領域に依存して処理速度が増加する。当技術分野では、物体中に含まれる特徴点を、適切かつ高速に検出することができる特徴点検出装置、特徴点検出方法、特徴点検出プログラム及び該プログラムを記録した記録媒体が望まれている。
【課題を解決するための手段】
【０００６】
本発明の一側面に係る特徴点検出装置は、対象画像に描画された対象物を構成するパーツの特徴点を検出する装置である。この装置は、基準特徴量取得部及び特徴点検出部を備える。基準特徴量取得部は、基準となる対象物のパーツの特徴量を取得する。特徴点検出部は、基準となる対象物のパーツの特徴量を用いて対象画像内の走査範囲を走査して、対象画像に描画されたパーツの特徴点の位置情報を出力する。ここで、基準となる対象物のパーツの特徴量は、教師画像に描画された対象物のパーツの画素から選択された複数の画素対において、各画素対の画素値の大小関係を３値に符号化した符号の集合であり、かつ、各画素対の位置情報と各画素対の符号とが関連付けされている。特徴点検出部は、基準となる対象物の画素対の位置情報を用いて、対象画像の注目点における画素対の画素値の大小関係を３値に符号化して注目点における特徴量とし、注目点における特徴量と対象物のパーツの特徴量との一致度を用いて、対象画像の走査範囲内の注目点の中から候補点を選択し、候補点の位置情報を用いて対象画像に描画されたパーツの特徴点の位置情報を出力する。
【０００７】
この特徴点検出装置では、各画素対の画素値の大小関係を符号化し、得られた符号の集合を対象画像の特徴量として用いる。環境変化によって画素値そのものが変化した場合であっても、画素値の大小関係に変化がなければ特徴量としては変化がない。したがって、画素値の差分に基づく特徴量を用いてパーツを検出する場合に比べてより適切にパーツを検出することができる。また、この特徴点検出装置では、各画素対の画素値の大小関係を３値に符号化する。例えば、「大」・「小」というカテゴリのみならず、「略同一」というカテゴリに分類するため、ノイズがある場合やテクスチャの乏しい画像に対して強制的に「大」・「小」の何れかに符号化することを回避することができる。よって、適切にパーツを検出することが可能となる。さらに、特徴点検出部は、符号化された大小関係を比較するだけで対象画像のパーツの特徴点であるか否かを判断することができる。このため、輝度差分を用いたブロックマッチングに比べてより高速にパーツを検出することが可能となる。
【０００８】
一実施形態では、画素対の画素値は、第１画素値及び第２画素値からなり、特徴点検出部は、各画素対の画素値の大小関係を、第１画素値から第２画素値を減算した差分を用いて符号化してもよい。特徴点検出部は、差分が第１閾値より小さい場合には第１符号、差分が第２閾値より大きい場合には第２符号、差分が第１閾値以上であって第２閾値以下の場合には第３符号としてもよい。このように、差分が第１閾値以上であって第２閾値以下の場合には、例えば「略同一」というカテゴリに分類することができる。すなわち第１閾値及び第２閾値を適切に設定することで、ノイズがある場合やテクスチャの乏しい画像に対して適切にパーツを検出することが可能となる。
【０００９】
一実施形態では、基準特徴量取得部は、基準となる対象物のパーツの特徴量が反映されたテンプレートを取得し、特徴点検出部は、テンプレートと対象画像の特徴量とを比較して、対象画像のパーツの特徴点の位置情報を出力してもよい。
【００１０】
一実施形態では、特徴点検出部は、画素対の符号がテンプレートの符号と同一であるか否かを画素対ごとに判断し、画素対の符号がテンプレートの符号と同一であると判断された画素対の数と、画素対ごとに定義された重みとを用いて、対象画像の特徴量とテンプレートとが一致するほど大きな値となる一致度を算出し、一致度に基づいて対象画像のパーツの特徴点の位置情報を出力してもよい。一致度を用いることで、例えば対象画像の中から最も類似する特徴点を適切に取得することができる。
【００１１】
一実施形態では、テンプレートに含まれる画素対、画素対の大小関係を示す符号及び画素対ごとに定義された重みは、教師画像を用いて予め学習することによって設定されてもよい。
【００１２】
一実施形態では、パーツの特徴点の位置情報の関係性をモデル化した形状モデルを用いて、特徴点検出部によって検出された対象画像のパーツの特徴点の位置情報を補正する位置補正部をさらに備えてもよい。形状モデルを用いて特徴点の位置情報を補正するため、形状モデルを逸脱しないパーツの特徴点とすることができる。
【００１３】
一実施形態では、形状モデルは、対象物のパーツの特徴点の位置情報の集合を形状ベクトルとし、基準形状ベクトル、及び、基準形状ベクトルからの偏差を用いて、パーツの特徴点の位置情報の関係性を示してもよい。このような形状モデルを採用することで、基準形状ベクトルから逸脱しないように特徴点の位置情報を補正することができる。
【００１４】
一実施形態では、基準形状ベクトルは、教師画像を用いて予め学習された平均の形状ベクトルであってもよい。また、一実施形態では、形状モデルは、教師画像を用いて学習された形状ベクトルの分散共分散行列を主成分分析することによって取得された固有ベクトルを主成分ベクトルとし、平均の形状ベクトルと重み係数付きの主成分ベクトルとの和を用いてパーツの特徴点の位置情報の関係性を示してもよい。このように構成することで、対象物を構成するパーツが許容される動きの範囲に近づくように特徴点の位置情報を補正することができる。また、一実施形態では、位置補正部は、形状モデルを用いて位置情報が補正された対象画像のパーツの特徴点が、基準形状ベクトルから所定値以上離れた位置に存在する場合には、該特徴点を除外して補正を再度行ってもよい。このように、補正後の特徴点が形状モデルによって許容される位置範囲から逸脱している位置に存在する場合には、該特徴点を除外して補正を再度行うことができるので、より適切な特徴点を取得することができる。また、一実施形態では、対象物は顔であってもよい。
【００１５】
本発明の他の側面に係る特徴点検出方法は、対象画像に描画された対象物を構成するパーツの特徴点を検出する方法である。該方法は、基準特徴量取得ステップ及び特徴点検出ステップを備える。基準特徴量取得ステップでは、基準となる対象物のパーツの特徴量を取得する。特徴点検出ステップでは、基準となる対象物のパーツの特徴量を用いて対象画像内の走査範囲を走査して、対象画像に描画されたパーツの特徴点の位置情報を出力する。ここで、基準となる対象物のパーツの特徴量は、教師画像に描画された対象物のパーツの画素から選択された複数の画素対において、各画素対の画素値の大小関係を３値に符号化した符号の集合であり、かつ、各画素対の位置情報と各画素対の符号とが関連付けされている。特徴点検出ステップでは、基準となる対象物の画素対の位置情報を用いて、対象画像の注目点における画素対の画素値の大小関係を３値に符号化して注目点における特徴量とし、注目点における特徴量と対象物のパーツの特徴量との一致度を用いて、対象画像の走査範囲内の注目点の中から候補点を選択し、候補点の位置情報を用いて対象画像に描画されたパーツの特徴点の位置情報を出力する。
【００１６】
本発明のさらに他の側面に係る特徴点検出プログラムは、対象画像に描画された対象物を構成するパーツの特徴点を検出するようにコンピュータを動作させるプログラムである。該プログラムは、コンピュータを基準特徴量取得部及び特徴点検出部として動作させる。基準特徴量取得部は、基準となる対象物のパーツの特徴量を取得する。特徴点検出部は、基準となる対象物のパーツの特徴量を用いて対象画像内の走査範囲を走査して、対象画像に描画されたパーツの特徴点の位置情報を出力する。ここで、基準となる対象物のパーツの特徴量は、教師画像に描画された対象物のパーツの画素から選択された複数の画素対において、各画素対の画素値の大小関係を３値に符号化した符号の集合であり、かつ、各画素対の位置情報と各画素対の符号とが関連付けされている。特徴点検出部は、基準となる対象物の画素対の位置情報を用いて、対象画像の注目点における画素対の画素値の大小関係を３値に符号化して注目点における特徴量とし、注目点における特徴量と対象物のパーツの特徴量との一致度を用いて、対象画像の走査範囲内の注目点の中から候補点を選択し、候補点の位置情報を用いて対象画像に描画されたパーツの特徴点の位置情報を出力する。
【００１７】
本発明のさらに他の側面に係る記録媒体は、対象画像に描画された対象物を構成するパーツの特徴点を検出するようにコンピュータを動作させる特徴点検出プログラムを記録した媒体である。該プログラムは、コンピュータを基準特徴量取得部及び特徴点検出部として動作させる。基準特徴量取得部は、基準となる対象物のパーツの特徴量を取得する。特徴点検出部は、基準となる対象物のパーツの特徴量を用いて対象画像内の走査範囲を走査して、対象画像に描画されたパーツの特徴点の位置情報を出力する。ここで、基準となる対象物のパーツの特徴量は、教師画像に描画された対象物のパーツの画素から選択された複数の画素対において、各画素対の画素値の大小関係を３値に符号化した符号の集合であり、かつ、各画素対の位置情報と各画素対の符号とが関連付けされている。特徴点検出部は、基準となる対象物の画素対の位置情報を用いて、対象画像の注目点における画素対の画素値の大小関係を３値に符号化して注目点における特徴量とし、注目点における特徴量と対象物のパーツの特徴量との一致度を用いて、対象画像の走査範囲内の注目点の中から候補点を選択し、候補点の位置情報を用いて対象画像に描画されたパーツの特徴点の位置情報を出力する。
【００１８】
上述した特徴点検出方法、特徴点検出プログラム及び記録媒体によれば、上述した特徴点検出装置と同様の効果を奏する。
【発明の効果】
【００１９】
以上説明したように、本発明の種々の側面及び実施形態によれば、物体中に含まれる特徴点を適切かつ高速に検出することができる。
【図面の簡単な説明】
【００２０】
【図１】実施形態に係る特徴点検出装置を搭載した携帯端末の機能ブロック図である。
【図２】図１中の特徴点検出装置が搭載される携帯端末のハードウェア構成図である。
【図３】顔パーツを構成する特徴点を説明する図である。
【図４】画素対の大小関係を特徴量とする例である。
【図５】形状モデルを説明する概要図である。
【図６】形状モデルの主成分ベクトルを説明する概要図である。
【図７】形状モデルと対象画像の特徴点の位置との関係を説明する概要図である。
【図８】学習装置の機能ブロック図である。
【図９】教師画像の一例である。
【図１０】多重解像度処理を説明する概要図である。（Ａ）は、多重解像度画像である。（Ｂ）は、多重解像度画像の関係を示す概要図である。
【図１１】図１中の特徴点検出装置の動作を示すフローチャートである。
【図１２】対象画像から切り出した顔領域を説明する図である。
【図１３】顔領域におけるテンプレートの走査を説明する図である。
【図１４】対象画像の特徴量とテンプレートとの一致度を説明する図である。
【図１５】形状モデルを用いた特徴点除外動作を説明する概要図である。
【図１６】検出結果の一例である。
【図１７】作用効果を説明する概要図である。
【発明を実施するための形態】
【００２１】
以下、添付図面を参照して本発明の実施形態について説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明のものと必ずしも一致していない。
【００２２】
本実施形態に係る特徴点検出装置は、画像中の特徴点を検出する装置である。この装置は、例えば、検出対象となる対象物を構成するパーツの特徴点を検出する際に採用される。対象物としては、画像に描画される物体であれば何でもよい。以下では、本実施形態の一例として、顔を構成する顔パーツの特徴点を検出する場合を説明する。また、この装置は、例えば、携帯電話、デジタルカメラ、ＰＤＡ（Personal  Digital  Assistant）又は通常のコンピュータシステム等に搭載される。なお、以下では、説明理解の容易性を考慮し、本発明に係る特徴点検出装置の一例として、携帯端末に搭載される特徴点検出装置を説明する。
【００２３】
図１は、本実施形態に係る特徴点検出装置１を備える携帯端末２の機能ブロック図である。図１に示す携帯端末２は、例えばユーザにより携帯される移動端末であり、図２に示すハードウェア構成を有する。図２は、携帯端末２のハードウェア構成図である。図２に示すように、携帯端末２は、物理的には、ＣＰＵ（Central  Processing  Unit）１００、ＲＯＭ（Read  Only  Memory）１０１及びＲＡＭ（Random  Access  Memory）１０２等の主記憶装置、カメラ又はキーボード等の入力デバイス１０３、ディスプレイ等の出力デバイス１０４、ハードディスク等の補助記憶装置１０５などを含む通常のコンピュータシステムとして構成される。後述する携帯端末２及び特徴点検出装置１の各機能は、ＣＰＵ１００、ＲＯＭ１０１、ＲＡＭ１０２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１００の制御の元で入力デバイス１０３及び出力デバイス１０４を動作させるとともに、主記憶装置や補助記憶装置１０５におけるデータの読み出し及び書き込みを行うことで実現される。なお、上記の説明は携帯端末２のハードウェア構成として説明したが、特徴点検出装置１がＣＰＵ１００、ＲＯＭ１０１及びＲＡＭ１０２等の主記憶装置、入力デバイス１０３、出力デバイス１０４、補助記憶装置１０５などを含む通常のコンピュータシステムとして構成されてもよい。また、携帯端末２は、通信モジュール等を備えてもよい。
【００２４】
図１に示すように、携帯端末２は、特徴点検出装置１及び表示部３２を備えている。特徴点検出装置１は、画像入力部１０、多重解像度処理部１１、候補点選択部（基準特徴量取得部、特徴点検出部）１２及び顔パーツ検出部（位置補正部）１３を備えている。
【００２５】
画像入力部１０は、検出対象となる画像データを入力する。画像入力部１０は、ここでは人物が描画された対象画像３０を入力する。画像入力部１０は、例えば、携帯端末２に搭載されたカメラにより撮像された画像を入力してもよいし、通信を介して画像を入力してもよい。また、既に携帯端末２の主記憶装置又は補助記憶装置１０５に記録された画像を入力してもよい。また、画像入力部１０は、対象画像３０から顔画像を切り出してもよい。例えば、画像入力部１０は、対象画像３０に人物の体まで描画されている場合には、対象画像３０から既知の顔検出プログラム等を用いて顔が描画された領域を検出し、該領域を顔画像として抽出する。
【００２６】
多重解像度処理部１１は、対象画像３０（以下、対象画像３０を顔画像へ加工した画像も含む）の大きさを所定のサイズを下回るまで１／２ずつ段階的に縮小する。例えばｎ個の縮小画像を作成する場合には、ｎ段目の画像は１／２ｎ縮小された画像となる。なお、多重解像度画像において、処理前の対象画像３０が最精細画像となり、ｎ段目の画像が最粗画像となる。このように、対象画像３０の解像度をそれぞれ段階的に変更することで、解像度の異なる複数の画像を作成する。多重解像度画像を用いることで処理の高速化を図ることができる。また、多重解像度処理部１１は、多重解像度画像を平滑化してもよい。例えば、多重解像度処理部１１は、ガウシアンフィルタ等を用いて多重解像度画像を平滑化する。これにより、画像の高周波成分がカットされる。このため、高周波ノイズや微小な位置ずれに対して頑健性を持たせることができる。
【００２７】
候補点選択部１２は、顔パーツを構成する特徴点の候補（候補点）を画像の中から選択する。図３は顔パーツを構成する特徴点を説明する概要図である。図３に示すように、予め顔パーツを構成する特徴点Ｐｎ（ｎ：整数）を定義する。図３では一例として３０点の特徴点Ｐ１〜Ｐ３０を定義している。例えば、眉毛、目、鼻、口、顔輪郭等に特徴点を定義すればよい。図中の数値は位置ベクトルの番号を示している。すなわち、図３に示すように３０点の顔パーツの特徴点を定義した場合には、２次元であるため顔パーツの特徴点の位置ベクトルは３０×２＝６０ベクトルとなる。
【００２８】
候補点選択部１２は、特徴点における特徴量として、２つの画素からなる画素対の大小関係を用いる。図４は、特徴量を説明する概要図である。候補点選択部１２は、注目点Ｋを中心として±数ピクセルの領域から画素対を選択する。図４では２つの画素を直線で結ぶことでペアを表現している。ここではＦ１〜Ｆ８までの複数の画素対が選択されている。画素対は、第１画素及び第２画素からなる。第１画素と第２画素とは座標点を用いて一義的に定義すればよい。候補点選択部１２は、各画素対の大小関係を、注目点Ｋにおける特徴量とする。例えば、候補点選択部１２は、画素対の画素値の大小関係を、第１画素値から第２画素値を減算した差分を用いて符号化する。候補点選択部１２は、画素対の画素値の大小関係を、３値に符号化する。例えば、候補点選択部１２は、差分が第１閾値より小さい場合には第１符号、差分が第２閾値より大きい場合には第２符号、差分が第１閾値以上であって第２閾値以下の場合には第３符号とする。一例として、第１符合は０、第２符合は１、第３符合は２であってもよい。すなわち３値に符号化することは、画素対の画素値の大小関係を、カテゴリ「小」、カテゴリ「大」及びカテゴリ「略同一」の３つのカテゴリに分類することを意味する。なお、第１閾値と第２閾値との差は、例えば２５６階調の輝度値を用いた場合には、２〜６とされる。候補点選択部１２は、各画素対の符号の集合を、注目点Ｋにおける特徴量とする。すなわち、ｋ個の画素対が存在する場合には、ｋ個の符号の集合が特徴量となる。
【００２９】
候補点選択部１２は、顔パーツの特徴量をテンプレート３１として取得する。顔パーツの特徴量が反映されたテンプレート３１は、携帯端末２の主記憶装置又は補助記憶装置１０５に記録されていてもよい。あるいは、テンプレート３１は、通信を介して入力してもよい。テンプレート３１は、対象物の顔パーツの画素から選択された複数の画素対において、各画素対の画素値の大小関係を３値に符号化した符号の集合である。３値に符号化する手法は上述した手法と同一である。テンプレート３１には、顔パーツを構成する特徴点の特徴量として、各画素対の位置情報（座標情報）と各画素対の符号とが関連付けされて記録されている。テンプレート３１は、顔パーツの特徴点を検出するために、予め教師画像を用いて学習される。学習にはＡｄａｂｏｏｓｔが用いられる。学習処理については後述する。
【００３０】
候補点選択部１２は、テンプレート３１を用いて対象画像３０内を走査する。走査範囲としては例えば学習に基づいて算出された顔パーツの特徴点の平均座標を中心として±数ピクセルの範囲を走査する。そして、候補点選択部１２は、走査範囲内の注目点Ｋにおける特徴量をテンプレート３１に記録された画素対の座標情報を用いて算出する。そして、候補点選択部１２は、対象画像の特徴量とテンプレート３１に記録された顔パーツの特徴量とを比較して、対象画像３０における顔パーツの特徴点の位置情報を出力する。ここで、候補点選択部１２は、走査範囲内の注目点Ｋの中から一致度Ｒを用いて候補点を選択する。一致度Ｒは、対象画像３０の特徴量とテンプレート３１とが一致するほど大きな値となるように設定される。候補点選択部１２は、一致度Ｒを以下の手順で算出する。最初に、候補点選択部１２は、対象画像３０における画素対の符号がテンプレート３１の符号と同一であるか否かを画素対ごとに判断する。そして、候補点選択部１２は、画素対の符号がテンプレート３１の符号と同一であると判断された画素対の数と、画素対ごとに定義された重みとを用いて一致度Ｒを算出する。テンプレート３１との一致度Ｒは、ｋ個の画素対が存在するものとし、画素対の符号が一致した時は１、それ以外では０を出力する関数をδ（ｋ）、各画素対の重みをｗｋとすると、以下の式１で表現される。
【数１】
0005625196.tif 000002
各画素対の重みｗｋは、後述する学習処理で得られる。候補点選択部１２は、例えば最も高い一致度Ｒとなった注目点Ｋを候補点とし、該注目点Ｋの位置情報を候補点の位置情報として出力する。一致度Ｒを用いることで、例えば対象画像の中から最も類似する特徴点を適切に取得することができる。候補点選択部１２は、例えば定義された顔パーツの特徴点ごとに候補点を出力する。
【００３１】
顔パーツ決定部１３は、候補点の位置情報を所定の形状モデルを用いて補正する。例えば、顔パーツ決定部１３は、顔パーツの特徴点の位置情報の関係性をモデル化した形状モデルを満たすように、候補点の位置情報を補正する。
【００３２】
図５は、顔パーツの形状モデルの一例である。図５は、図３に示す口のパーツの形状を例にして示している。図５に示すように、口のパーツＰＡ１を定義する特徴点Ｐ３,Ｐ４,Ｐ１８, Ｐ１９の位置情報とそれらの位置関係を用いて口の形状をモデル化する。すなわち、口パーツＰＡ１の形状は、特徴点の集合によって表現される。形状は、例えばベクトルで表記される。このように、顔パーツの形状は、特徴点の位置情報の集合を形状ベクトルで表現することでモデル化される。なお顔パーツが複数存在する場合には、顔全体を形状ベクトルで表現する。すなわち、図３のように眉、目、鼻、口及び顔輪郭という複数の顔パーツが存在する場合には、Ｐ１〜Ｐ３０の位置情報とそれらの位置関係を用いて顔の形状をモデル化する。
【００３３】
この形状モデルは、顔パーツの許容される動きを含む。形状モデルでは、例えば教師画像を用いて予め学習された顔パーツの平均の形状ベクトルが基準のベクトル（基準形状ベクトル）とされる。そして、基準形状ベクトルからの偏差（許容される動き）を用いて、顔パーツの特徴点の位置情報の関係性を示す。基準形状ベクトルからの偏差は、主成分ベクトルと、重み係数との積で表現される。主成分ベクトルは、教師画像から作成された顔パーツの形状ベクトルの分散共分散行列（variance-covariance  matrix）を主成分分析することによって得られた固有ベクトルである。なお、主成分分析によって、固有ベクトルに対応する固有値も得られる。固有値が高い主成分ベクトルほど顔の特徴に影響を与える。図６は、主成分ベクトルの一例である。図６では、固有値の高い順から第１主成分、第２主成分、…と順に表記している。第１主成分は、顔形状の拡大縮小成分である。第２主成分は、顔形状の回転成分である。第３主成分は、口のみが動くものであり口の動き成分である。第４主成分は、眉のみが動くものであり眉の動き成分である。
【００３４】
上述した主成分ベクトルをΦとし、重み係数（パラメータベクトル）をｂとすると、形状モデルは以下の数式２で表現される。
【数２】
0005625196.tif 000003
ここで、左辺の変数が形状モデルであり、右辺の第１項が基準形状ベクトルである。このように、形状モデルは、基準形状ベクトル（平均の形状ベクトル）と重み係数付きの主成分ベクトルとの和を用いてパーツの特徴点の位置情報の関係性を示す。
【００３５】
顔パーツ決定部１３は、上述した形状モデルを用いて、顔を構成する顔パーツが許容される動きの範囲に近くなるように特徴点の位置情報を補正する。具体的には、以下の数式３で示される条件を満たす位置に補正する。
【数３】
0005625196.tif 000004
ここでＸは候補点から求まる形状ベクトルであり、ｂはパラメータベクトルである。パラメータベクトルｂを変数とした最適化処理をすることで、パラメータベクトルｂが算出される。最適化処理には、例えば最急降下法が用いられる。図７は、上記数式３の概念図である。顔パーツ決定部１３は、図７に示す点線の部分が最小になるように収束演算する。顔パーツ決定部１３は、算出されたパラメータベクトルｂを用いて候補点から求まる形状ベクトルを補正する。顔パーツ決定部１３は、補正後の形状ベクトルすなわち候補点の位置情報を出力する。
【００３６】
顔パーツ決定部１３は、補正後の候補点が基準形状ベクトルから所定値以上離れた位置に存在する場合には、該候補点を除外して補正を再度行う。この場合、顔パーツ決定部１３は、残りの候補点及び上記数式３を用いて、パラメータベクトルｂを再度算出する。表示部３２は、補正後の候補点を特徴点して表示する。表示部３２として、例えばディスプレイが用いられる。
【００３７】
次に、テンプレート３１の学習処理について説明する。図８は、学習処理を実行する装置の機能ブロック図である。図８では携帯端末２が学習処理を行う装置として示しているが、学習処理を行う装置は特徴点検出装置１を備える携帯端末２である必要はなく、他の装置であってもよい。図８に示すように、携帯端末２は、画像入力部１０、多重解像度処理部１１及び学習部１５を備えている。
【００３８】
画像入力部１０及び多重解像度処理部１１は、特徴点検出装置１の画像入力部１０及び多重解像度処理部１１とほぼ同様であり、教師画像３３を対象とする点のみが相違する。図９は、教師画像３３の一例である。図９に示すように、教師画像３３は、複数の画像ＴＰｎ（ｎ：整数）からなる。図９では、ＴＰｎは、輝度画像、水平エッジ画像及び垂直エッジ画像の三枚一組で構成されている。なお、教師画像３３は、輝度画像だけでもよいし、輝度画像、水平エッジ画像及び垂直エッジ画像を適宜組み合わせたものであってもよい。図１０は、多重解像度画像の一例である。図１０の（Ａ）に示すように、教師画像３３である顔画像、水平エッジ画像及び垂直エッジ画像のそれぞれに対して多重解像度処理を行う。図１０の（Ｂ）に示すように、大きさを変更することで、画像Ｐａ〜Ｐｄまで段階的に解像度が異なる教師画像を生成する。
【００３９】
学習部１５は、多重解像度処理で得られた各画像（輝度画像、エッジ画像）を用いて、画像ごとに、画素対の大小関係を示す符号及び画素対ごとに定義された重みを学習する。学習部１５は、Ａｄａｂｏｏｓｔを用いて学習処理を行い、識別器を作成する。この識別器は、顔パーツの特徴点であるか否かを識別する。識別器を構成する弱識別器は、ある画素対が３値の何れかに等しいかどうかで識別を行う。弱識別器は、画素対ごとに用意される。各弱識別器には、識別の性能に応じた重みｗｋが設定される。学習部１５は、教師画像３３を最も識別可能な一つ目の画素対を選択する。そして、例えば識別率に応じて重みｗｋを変更する。次に、一つ目の画素対で識別できない教師画像３３の優先度ｗｐを大きくする。そして、一つ目の画素対で識別できない教師画像３３を識別できる二つ目の画素対を選択する。この処理を繰り返し、識別器の識別率が所定値以上となった場合には、以降では新たな画素対の追加を行なわず、識別器の作成を終了する。得られた画素対の位置情報及び大小関係を示す符号を、テンプレート３１とする。
【００４０】
さらに、学習部１５は、顔パーツの特徴点の位置（平均的な特徴点の位置）を学習してもよい。この平均的な特徴点の位置は、上述したテンプレートを探索する際の初期値や形状モデルの基準形状ベクトルとして用いられる。
【００４１】
次に、特徴点検出装置１の動作を説明する。図１１は、特徴点検出装置１の動作を示すフローチャートである。なお、図１１に示すフローチャートの実行前に、対象画像３０から顔画像が抽出されているものとする。例えば、図１２に示すように、対象画像３０から顔画像３０ａが抽出されているものとする。
【００４２】
図１１に示すように、特徴点検出装置１は、フィルタ処理から開始する（Ｓ１０）。Ｓ１０の処理では、多重解像度処理部１１が顔画像３０ａに対してフィルタ処理を行い、平滑化する。多重解像度処理部１１は、例えばガウシアンフィルタを用いて平滑化する。
【００４３】
次に、多重解像度処理部１１は、Ｓ１０の処理で平滑化された顔画像３０ａに対して多重解像度処理を行う（Ｓ１２）。これにより、解像度の異なる画像が段階的に生成される。次に、候補点選択部１２が、Ｓ１２の処理で多重解像度処理が施された顔画像３０ａから候補点を選択する（Ｓ１４）。候補点選択部１２は、多重解像度画像のうち最も粗い画像を用いて候補点を選択する。まず、候補点選択部１２は、例えば携帯端末２に備わる記憶部を参照してテンプレート３１を取得する（基準特徴量取得ステップ）。そして、候補点選択部１２は、図１３に示すように、テンプレート３１を用いて顔画像３０ａの所定領域を走査する。所定領域は、学習処理で得られた平均の特徴点の位置座標を中心として±数ピクセルの範囲である。そして、候補点選択部１２は、所定領域の画素全てを注目点として一致度を算出する。図１４に示すように、候補点選択部１２は、各画素対の画素値を大小比較して符号化し、テンプレートの符号と一致する場合には、当該画素値に対応する重みで重み付けし、それらを加算して一致度Ｒを算出する。すなわち候補点選択部１２は、上述した数式１を用いて一致度Ｒを算出する。そして、候補点選択部１２は、一致度Ｒが最も高い注目点を特徴点の候補点として選択する（特徴点検出ステップ）。候補点選択部１２は、特徴点ごとに用意されたテンプレート３１の全てに対して上述した処理を行い、候補点を選択する。
【００４４】
次に、顔パーツ決定部１３が、Ｓ１４の処理で選択された複数の候補点の位置情報を補正し、顔パーツを構成する特徴点を決定する。顔パーツ決定部１３は、式３を用いて候補点の位置ベクトルを補正し、最終的な位置合わせを行う。これにより人間の顔らしい形状から逸脱しない顔パーツの特徴点を選択することができる。図１５は、補正後の候補点の例である。そして、顔パーツ決定部１３は、補正後の候補点の位置情報を算出し、基準形状ベクトルによって定まる位置情報と比較する。顔パーツ決定部１３は、補正後の候補点の位置情報と基準形状ベクトルによって定まる位置情報との差分を算出し、所定値以上離れた位置に存在する場合には、該特徴点を除外して補正を再度行う。例えば、外れた候補点Ｙは、座標ベクトルが０であるものとして取り扱う。これにより、大きく外れた候補点の影響を除去することができる。
【００４５】
次に、特徴点検出装置１は、Ｓ１６で処理した多重解像度画像が最精細画像であるか否かを判断する（Ｓ１８）。Ｓ１８の処理において、特徴点検出装置１は、最精細画像でないと判定した場合には、候補点選択処理へ再度移行する（Ｓ１４）。新たにＳ１４を実行する場合には、次に粗い画像を選択して処理を行う。この際、Ｓ１６の処理で補正された特徴点の位置情報を初期値として処理を行う。これにより、探索コストを削減することができる。また、多重解像度画像を用いることで、特徴点の位置が変化してしまう画像回転等に対しても頑健となる。このように、最精細画像を処理するまで、Ｓ１４〜Ｓ１８の処理が繰り返し実行される。
【００４６】
一方、Ｓ１８の処理において、特徴点検出装置１が、最精細画像であると判定した場合には、図１１に示す制御処理を終了する。
【００４７】
以上で図１１に示す制御処理を終了する。図１１に示す制御処理を実行することで、例えば、図１６の（Ａ）に示すように顔の特徴点を検出することができる。あるいは、図１６の（Ｂ）に示すように、顔パーツを検出することもできる。
【００４８】
次に、携帯端末２（コンピュータ）を特徴点検出装置１として機能させるための特徴点検出プログラムを説明する。
【００４９】
特徴点検出プログラムは、メインモジュール、入力モジュール及び演算処理モジュールを備えている。メインモジュールは、画像処理を統括的に制御する部分である。入力モジュールは、対象画像３０を取得するように携帯端末２を動作させる。演算処理モジュールは、候補点選択モジュール及び顔パーツ決定モジュールを備えている。メインモジュール、入力モジュール及び演算処理モジュールを実行させることにより実現される機能は、上述した特徴点検出装置１の画像入力部１０、候補点選択部１２及び顔パーツ決定部１３の機能とそれぞれ同様である。
【００５０】
特徴点検出プログラムは、例えば、コンピュータ読み取り可能なＲＯＭ等の記憶媒体または半導体メモリによって提供される。また、特徴点検出プログラムは、データ信号としてネットワークを介して提供されてもよい。
【００５１】
以上、本実施形態に係る特徴点検出装置１によれば、各画素対の画素値の大小関係を符号化し、得られた符号の集合を対象画像３０の特徴量として用いる。照明変化によって画素値そのものが変化した場合であっても、画素値の大小関係に変化がなければ特徴量としては変化がない。したがって、画素値の差分に基づく特徴量を用いて顔パーツを検出する場合に比べてより適切に顔パーツを検出することができる。
【００５２】
また、本実施形態に係る特徴点検出装置１では、各画素対の画素値の大小関係を３値に符号化する。例えば、「大」・「小」というカテゴリのみならず、「略同一」というカテゴリに分類する。このため、ノイズがある場合やテクスチャの乏しい画像に対して強制的に「大」・「小」の何れかに符号化することを回避することができる。例えば、背景は顔パーツの特徴量として検討する価値がない。２値で符号化する場合には、背景によって「大」・「小」がランダムで出現しているのか顔領域のテクスチャが乏しいために「大」・「小」がランダムで出現しているのか区別がつかない。一方、「略同一」というカテゴリを導入することで、背景と顔との境界近傍において、背景領域では、「大」・「小」・「略同一」がランダムとなり、顔領域のテクスチャが乏しい場合には「略同一」となるため、背景については特徴点として選択されない（特徴点として学習されることを回避できる）。このため、顔輪郭を適切に検出することができる。また、髪は人によって大きく異なるため、顔の特徴量として検討する価値がない。このような大小を比較する意味のない領域を「略同一」とし、「特徴がない」という特徴を付与することができる。よって、適切に顔パーツを検出することが可能となる。
【００５３】
また、本実施形態に係る特徴点検出装置１では、符号化された大小関係をテンプレートと比較するだけで対象画像のパーツの特徴点であるか否かを判断することができる。このため、輝度差分を用いたブロックマッチングに比べてより高速にパーツを検出することが可能となる。さらに、画素対の数を変化させるだけで処理速度をチューニングすることができる。
【００５４】
また、本実施形態に係る特徴点検出装置１では、顔形状モデルを用いて、対象物を構成するパーツが許容される動きの範囲に近づくように候補点の位置情報を補正することができる。このため、形状モデルを逸脱しないパーツの特徴点とすることができる。そして、候補点は顔らしい形状に拘束されるため、候補点中に外れ値があった場合であっても顔として自然な特徴点を出力することができる。
【００５５】
さらに、本実施形態に係る特徴点検出装置１では、大小関係を符号化した特徴量と、顔形状モデルとを組み合わせることで、識別精度が低くなる部分を互いに補完しあい、良好に特徴点を検出することができる。図１７は、組み合わせたことによる作用効果を説明する概要図である。図１７では眉を例にして説明する。眉に候補点を設定する場合には、画素値の差が縦方向Ｌ１に大きく出現するため、大小関係を符号化した特徴量としては縦方向Ｌ１に第１画素と第２画素とが並んだ画素対が選択されやすい傾向となる。このような画素対を用いて検出した場合、眉は横方向Ｌ２に長いため、特徴量を取得する位置が横方向Ｌ２に多少ずれても同じ値となる。一方、特徴量を取得する位置が縦方向Ｌ１にずれた場合には大小関係がくずれてしまうため、縦方向には、ずれにくい。すなわち、大小関係を符号化した特徴量は、顔パーツにおいて、縦方向の位置ずれに対しては比較的精度が良く、横方向の位置ずれに対しては比較的精度が悪い。
【００５６】
ここで、顔形状モデルは、顔らしい動きに沿ったずれは許容し、顔らしい動きに沿っていないずれは許容しない。すなわち顔形状モデルは主成分ベクトルの方向に沿った動きであれば自然な顔の動きであると判断し、場合によっては補正する。このため、眉の候補点が横方向にずれた場合には、除外処理によって除外される。一方、眉の候補点が縦方向にずれた場合には、自然な動きとしてそのようになっているのか、あるいは単に誤検出してずれているのか判断することができない。すなわち顔形状モデルは、顔パーツにおいて、縦方向の位置ずれに対しては比較的精度が悪く、横方向の位置ずれに対しては比較的精度が良い。よって、大小関係を符号化した特徴量と、顔形状モデルとを組み合わせることで、互いの欠点を互いの長所で補うため、良好に特徴点を検出することができる。
【００５７】
なお、上述した実施形態は本発明に係る特徴点検出装置、特徴点検出方法、特徴点検出プログラム及び記録媒体の一例を示すものであり、実施形態に係る装置、方法、プログラム及び記録媒体に限られるものではなく、変形し、又は他のものに適用したものであってもよい。
【符号の説明】
【００５８】
１…特徴点検出装置、１２…候補点選択部（基準特徴量取得部、特徴点検出部）、１３…顔パーツ決定部（位置補正部）。
【図１】
0005625196.tif 000005
【図２】
0005625196.tif 000006
【図５】
0005625196.tif 000007
【図６】
0005625196.tif 000008
【図７】
0005625196.tif 000009
【図８】
0005625196.tif 000010
【図１１】
0005625196.tif 000011
【図１２】
0005625196.tif 000012
【図１３】
0005625196.tif 000013
【図１６】
0005625196.tif 000014
【図１７】
0005625196.tif 000015
【図３】
0005625196.tif 000016
【図４】
0005625196.tif 000017
【図９】
0005625196.tif 000018
【図１０】
0005625196.tif 000019
【図１４】
0005625196.tif 000020
【図１５】
0005625196.tif 000021