(57)【要約】【課題】特徴点の抽出精度を保ちつつ、特徴点抽出に要する時間を短くすること。【解決手段】第１の候補点判定処理部１４３は、顔の所定の部品が含まれる画像データの局所的な領域から、部品の端点の候補となる候補点を抽出する。そして、第１の候補点判定処理部１４３は、抽出した候補点の位置関係に基づいて、部品の端点に対応する候補点を特徴点として判定する。第２の候補点判定処理部１４４は、第１の候補点判定処理部１４３が、特徴点を判定できない場合に、顔の画像データ全域に含まれる部品の端点の候補となる候補点に基づいて、検出対象となる部品の特徴点を判定する。【選択図】図１
2012014557.tif 000002
【特許請求の範囲】
【請求項１】
顔画像から顔の部品の端点の候補となる候補点を抽出する候補点抽出部と、
前記候補点抽出部によって抽出された複数の候補点のうち、顔の部品が含まれる顔画像の局所的な領域に含まれる複数の候補点の位置関係、または、顔画像全体の複数の候補点の位置関係に基づいて、顔の部品の端点に対応する特徴点を判定する特徴点判定部と
を備えたことを特徴とする特徴点判定装置。
【請求項２】
前記特徴点判定部は、前記局所的な領域に含まれる複数の候補点の位置関係に基づいて顔の部品の端点の組に対応する候補点を判定し、顔の部品の端点に対応する候補点の組が複数組存在する場合に、顔画像全体の複数の候補点の位置関係に基づいて顔の部品の端点の組に対応する特徴点の組を判定することを特徴とする請求項１に記載の特徴点判定装置。
【請求項３】
前記特徴点判定部は、局所的な領域に含まれる複数の候補点の位置関係に基づいて端点に対応する特徴点を判定する場合に、
端点の組の位置関係および各端点の特徴の所定の組み合わせと、前記局所的な領域に含まれる候補点の組の位置関係および候補点の特徴の組み合わせとを比較し、端点の位置関係および所定の組み合わせに適合する候補点の組を特徴点として判定することを特徴とする請求項１または２に記載の特徴点判定装置。
【請求項４】
前記特徴点判定部は、顔画像全体の複数の候補点の位置関係に基づいて端点に対応する特徴点を判定する場合に、
顔画像全体の複数の候補点を顔の部品が含まれる領域毎に分類し、領域毎に各候補点の位置関係に基づいて端点に対応する候補点の組を特定し、領域毎に特定した候補点の組の位置関係をそれぞれ比較して端点に対応する特徴点を判定することを特徴とする請求項１、２または３に記載の特徴点判定装置。
【請求項５】
前記特徴点判定部は、領域毎に特定した候補点の組の位置関係を、異なる領域毎にそれぞれ比較して端点に対応する特徴点を判定することを特徴とする請求項４に記載の特徴点判定装置。
【請求項６】
特徴点判定装置が、
顔画像から顔の部品の端点の候補となる候補点を抽出する候補点抽出ステップと、
前記候補点抽出ステップによって抽出された複数の候補点のうち、顔の部品が含まれる顔画像の局所的な領域に含まれる複数の候補点の位置関係、または、顔画像全体の複数の候補点の位置関係に基づいて、顔の部品の端点に対応する特徴点を判定する特徴点判定ステップと
を含んだことを特徴とする特徴点判定方法。
【請求項７】
コンピュータに、
顔画像から顔の部品の端点の候補となる候補点を抽出する候補点抽出手順と、
前記候補点抽出手順によって抽出された複数の候補点のうち、顔の部品が含まれる顔画像の局所的な領域に含まれる複数の候補点の位置関係、または、顔画像全体の複数の候補点の位置関係に基づいて、顔の部品の端点に対応する特徴点を判定する特徴点判定手順と
を実行させることを特徴とする特徴点判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特徴点判定装置、特徴点判定方法および特徴点判定プログラムに関する。
【背景技術】
【０００２】
人物の視線を検出する視線検出技術が存在する。この視線検出技術では、人物の顔画像を解析することで、目頭や目尻といった顔の部品の端点を特徴点として抽出し、各特徴点の位置関係などから人物の視線を判定する。
【０００３】
ここで、顔の端点を特徴点として正確に抽出できないと、視線の検出精度が低下してしまう。このため、顔画像から特徴点を精度良く抽出することが重要となる。従来技術では、端点の特徴点が欠落してしまうことを防止するために、顔画像から特徴点の候補となる候補点を多めに抽出した後に、抽出した候補点から端点に対応する特徴点を判定している。
【０００４】
複数の候補点から、特徴点を判定する技術として下記のものがある。例えば、従来技術１では、両目を含む局所的な領域において、各端点の組には所定の位置関係があることに着目し、この端点の組の位置関係と同様の位置関係となる候補点の組を特徴点として抽出している。
【０００５】
しかし、端点の組の位置関係に類似する特徴点の組が複数含まれている場合には、上記従来技術１のように位置関係を用いて特徴点を判定したとしても、特徴点を絞り込むことができない。
【０００６】
図１６は、従来技術を説明するための図である。図１６に示すように、顔画像１ａから候補点を抽出すると、顔画像１ｂに示すように、複数の候補点２ａ〜２ｈが抽出される。そして、明らかに端点とは異なる候補点を取り除き、顔の端点の可能性がある候補点の組を抽出すると、顔画像１ｃの候補点２ａ、２ｄ、２ｆ、２ｇからなる組３ａと、候補点２ｂ、２ｄ、２ｆ、２ｈからなる組３ｂが抽出される。組３ａの各候補点の位置関係と、組３ｂの各候補点の位置関係は類似しているため、従来技術１では、組３ａの各候補点を特徴点として抽出するべきか、組３ｂの各候補点を特徴点として抽出するべきかを判定することができない。
【０００７】
これに対して、この従来技術２では、顔画像全体から候補点を抽出し、顔全体の候補点の位置関係から、顔の特徴点を判定する。例えば、図１６の顔画像１ｄのように、口の特徴点４ａ，４ｂが確定している場合には、この特徴点４ａ，４ｂの位置と、組３ａ、３ｂとの位置関係を利用して、どちらの組が目の端点の組なのかを判定する。この場合には、組３ｂに含まれる候補点２ｂ、２ｄ、２ｆ、２ｈが特徴点として判定される。従来技術２を用いれば、各候補点の位置関係が類似している組がいくつも抽出されたとしても、特徴点を絞り込むことが可能となる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第４２９８２８３号公報
【特許文献２】特開２００７−９４９０６号公報
【特許文献３】特開２００４−５３８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した従来技術では、局所的な領域の特徴点を抽出する場合でも、顔画像全体から特徴点を抽出しておく必要があるため、特徴点抽出に要する時間が多くなってしまうという問題があった。
【００１０】
開示の技術は、上記に鑑みてなされたものであって、特徴点の抽出精度を保ちつつ、特徴点抽出に要する時間を短くすることができる特徴点判定装置、特徴点判定方法および特徴点判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本願の開示する特徴点判定装置は、顔画像から顔の部品の端点の候補となる候補点を抽出する候補点抽出部と、前記候補点抽出部によって抽出された複数の候補点のうち、顔の部品が含まれる顔画像の局所的な領域に含まれる複数の候補点の位置関係、または、顔画像全体の複数の候補点の位置関係に基づいて、顔の部品の端点に対応する特徴点を判定する特徴点判定部とを備えたことを要件とする。
【発明の効果】
【００１２】
本願の開示する特徴点判定装置の一つの態様によれば、特徴点の抽出精度を保ちつつ、特徴点抽出に要する時間を短くすることができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、本実施例１にかかる特徴点判定装置の構成を示す図である。
【図２】図２は、部品の各端点の位置関係を示す図である。
【図３】図３は、第１の位置関係データのデータ構造の一例を示す図である。
【図４】図４は、部品間の各端点の位置関係を示す図である。
【図５】図５は、第２の位置関係データのデータ構造の一例を示す図である。
【図６】図６は、第１の候補点判定処理部が候補点を抽出する処理を説明するための図である。
【図７】図７は、第２の候補点判定処理部の処理を説明するための図である。
【図８】図８は、本実施例１にかかる特徴点判定装置の処理手順を示すフローチャートである。
【図９】図９は、顔の部品の候補点を検出する処理手順を示すフローチャートである。
【図１０】図１０は、本実施例２にかかる特徴点判定装置の構成を示す機能ブロック図である。
【図１１】図１１は、第３の位置関係データのデータ構造の一例を示す図である。
【図１２Ａ】図１２Ａは、第１の特徴点または第２の特徴点に分類する処理を説明するための図（１）である。
【図１２Ｂ】図１２Ｂは、第１の特徴点または第２の特徴点に分類する処理を説明するための図（２）である。
【図１３】図１３は、候補点を第１の特徴点または第２の特徴点に分類する処理手順を示すフローチャートである。
【図１４】図１４は、局所的な領域から部品の特徴点を判定する処理のフローチャートである。
【図１５】図１５は、特徴点判定プログラムを実行するコンピュータの一例を示す図である。
【図１６】図１６は、従来技術を説明するための図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する特徴点判定装置、特徴点判定方法および特徴点判定プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、処理内容を矛盾させない範囲で適宜組あわせることが可能である。
【実施例１】
【００１５】
本実施例１にかかる特徴点判定装置の構成について説明する。図１は、本実施例１にかかる特徴点判定装置の構成を示す図である。図１に示すように、この特徴点判定装置１００は、画像入力部１１０ａ、入力部１１０ｂ、出力部１２０、記憶部１３０、制御部１４０を有する。
【００１６】
画像入力部１１０ａは、カメラ等の撮像装置に接続され、撮像装置から画像データの入力を受け付ける処理部である。画像入力部１１０ａは、画像データを顔検出処理部１４１に出力する。入力部１１０ｂは、キーボードやマウスなどに対応する入力装置である。出力部１２０は、ディスプレイやモニタなどに対応する表示装置である。
【００１７】
記憶部１３０は、第１の位置関係データ１３１と、第２の位置関係データ１３２とを有する。このうち、第１の位置関係データ１３１は、顔の部品毎に、部品の各端点の位置関係を記憶する情報である。記憶部１３０は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
【００１８】
図２は、部品の各端点の位置関係を示す図である。一例として、図２に示す端点５ａ〜５ｄは、目頭、目尻に対応する端点を示している。例えば、端点５ａは右目の目尻、端点５ｂは右目の目頭、端点５ｃは左目の目頭、端点５ｄは左目の目尻にそれぞれ対応する。ここで、部品の各端点の位置関係とは、端点間の距離に対応する。すなわち、部品「目」の各端点の位置関係は、端点５ａと５ｂとの距離６ａ、端点５ｂと５ｃとの距離６ｂ、端点５ｃと５ｄとの距離６ｃとなる。目以外の顔の部品となる鼻や口の各端点の位置関係も、目の場合と同様に、端点間の距離となる。
【００１９】
図３は、第１の位置関係データのデータ構造の一例を示す図である。図３に示すように、この第１の位置関係データ１３１は、部品識別情報と位置関係情報とを対応付けて記憶する。このうち部品識別情報は、顔の部品を識別する情報である。位置関係情報は、図２を用いて説明した部品の各端点の位置関係に対応する情報である。第１の位置関係データ１３１は、部品毎に位置関係情報を記憶している。
【００２０】
第２の位置関係データ１３２は、異なる部品間の各端点の位置関係を記憶する情報である。図４は、部品間の各端点の位置関係を示す図である。一例として、図４に示す端点７ａ〜７ｄは、目頭、目尻に対応する端点を示す。また、端点８ａ、８ｂは、口の両端に対応する端点を示す。ここで、部品間の各端点の位置関係は、端点７ａ〜７ｄを通る直線７Ａ上の所定の点と、端点８ａ、８ｂを通る直線８Ａ上の所定の点との距離を示す。例えば、部品「目」、「口」間の各端点の位置関係は、端点７ａと端点８ａとの距離９ａ、直線７Ａの中点と直線８Ａの中点との距離９ｂ、端点７ｄと端点８ｂとの距離９ｃとなる。
【００２１】
図５は、第２の位置関係データのデータ構造の一例を示す図である。図４に示すように、この第２の位置関係データ１３２は、対応部品情報と部品間関係情報とを対応付けて記憶する。このうち対応部品情報は、例えば、目と口のように対の部品をそれぞれ識別する情報である。部品間関係情報は、図４を用いて説明した部品間の各端点の位置関係に対応する情報である。例えば、「目と口との部品間関係情報」は、部品「目」、「口」間の各端点の位置関係である。「目と鼻との部品間関係情報」は、部品「目」、「鼻」間の各端点の位置関係である。
【００２２】
制御部１４０は、顔検出処理部１４１、顔部品領域検出処理部１４２、第１の候補点判定処理部１４３、第２の候補点判定処理部１４４を有する。制御部１４０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）などの集積装置に対応する。または、制御部１４０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。
【００２３】
顔検出処理部１４１は、画像データから人物の顔が存在する領域を検出し、顔の存在する領域を画像データから切り出す処理部である。例えば、顔検出処理部１４１は、人物の顔の特徴を含むパターンを保持しており、このパターンと画像データとをマッチングさせるとこで、画像データから顔が存在する領域を判定する。そして、顔検出処理部１４１は、顔が存在する領域を画像データから切り出し、切り出した顔の画像データを顔部品領域検出処理部１４２に出力する。
【００２４】
顔部品領域検出処理部１４２は、画像データから顔の部品が存在する領域を検出する処理部である。例えば、顔部品領域検出処理部１４２は、顔の部品の特徴を含むパターンを保持しており、このパターンと画像データとをマッチングさせることで、顔の部品が存在する画像データの領域を判定する。例えば、顔部品領域検出部１４２が用いる各パターンには、目、鼻、口等の特徴を示すパターンが含まれる。顔部品領域検出処理部１４２は、顔の部品の識別情報とこの部品が存在する領域の座標とを対応付けた情報、および、画像データを第１の候補点判定処理部１４３、第２の候補点判定処理部１４４に出力する。
【００２５】
第１の候補点判定処理部１４３は、顔の所定の部品が含まれる画像データの局所的な領域から、部品の端点の候補となる候補点を抽出する。そして、第１の候補点判定処理部１４３は、抽出した候補点の位置関係に基づいて、部品の端点に対応する候補点を特徴点として判定する。第１の候補点判定処理部１４３は、部品の端点に対応する特徴点を判定できた場合には、判定結果を出力部１２０に出力する。これに対して、第１の候補点判定処理部１４３は、特徴点を判定できない場合には、第２の候補点判定処理部１４４に特徴点の抽出を要求する。
【００２６】
以下において、第１の候補点判定処理部１４３の処理を具体的に説明する。第１の候補点判定処理部１４３は、コーナー検出法（ＦＡＳＴ）等の周知技術を利用して、候補点を検出する。このコーナー検出法は、画像データのある１画素を中心画素として設定し、この中心画素の明度とこの中心画素の近隣画素の明度との関係に基づいて、中心画素を候補点として抽出するか否かを判定する方法である。第１の候補点判定処理部１４３が抽出する候補点を第１候補点と表記する。
【００２７】
図６は、第１の候補点判定処理部が候補点を抽出する処理を説明するための図である。まず、第１の候補点判定処理部１４３は、中心画素１０ａと近隣画素との明度を算出し、中心画素１０ａの明度と近隣画素の明度とを比較する。ここで、中心画素１０ａよりも明るい近隣画素を近隣画素１０ｂとする。また、中心画素よりも暗い近隣画素を近隣画素１０ｃとする。
【００２８】
第１の候補点判定処理部１４３は、連続する近隣画素１０ｂをそれぞれグループにまとめる。図６に示す例では、近隣画素１０ｂは、グループ１１ａ、１１ｂ、１１ｃにまとめられる。第１の候補点処理部１４３は、各グループのうち、近隣画素１０ｂを最も多く含むグループをグループＡとして判定する。図６に示す例では、グループ１１ａがグループＡとして判定される。第１の候補点判定処理部１４３は、グループＡに含まれる近隣画素１０ｂの数が閾値範囲に含まれる場合に、中心画素１０ａを第１候補点として判定する。例えば、第１の候補点判定処理部１４３は、全近隣画素数が「２０画素」の場合には、グループＡに含まれる近隣画素数１０ｂの数が「６〜１６画素」の場合に、中心画素を第１候補点として判定する。
【００２９】
第１の候補点判定処理部１４３は、第１候補点を判定した後に、所定数の第１候補点の組を選択する。第１の候補点判定処理部１４３は、選択した各第１候補点間の距離と、第１の位置関係データ１３１とを比較して、各第１候補点間の距離が、端点間の距離に該当するか否かを判定する。特定する第１候補点の数は、検出対象の部品の端点に応じて異なる。第１の候補点判定処理部１４３は、検出対象が目または鼻の端点の場合には、４つの第１候補点を特定する。第１の候補点判定処理部１４３は、検出対象が口の端点の場合には、２つの第１候補点を特定する。
【００３０】
第１の候補点判定処理部１４３は、端点間の距離に該当する第１候補点の組が一組も存在しない場合には、特徴点が検出できない旨の情報を、出力部１２０に出力する。
【００３１】
第１の候補点処理部１４３は、端点間の距離に該当する第１候補点の組が存在し、この組が１組の場合には、かかる組に含まれる各第１候補点を特徴点として出力部１２０に出力する。第１の候補点処理部１４３は、特徴点の位置座標を出力部１２０に出力しても良いし、画像データに特徴点をプロットして出力部１２０に出力しても良い。
【００３２】
これに対して、第１の候補点処理部１４３は、端点間の距離に該当する第１候補点の組が存在し、この組が２組以上の場合には、第２の候補点判定処理部１４４に特徴点の抽出を要求する。この場合には、第１の候補点処理部１４３は、第１候補点集を第２の候補点判定処理部１４４に出力する。この第１候補点集には、端点間の距離に該当する第１候補点の組の位置座標と、検出対象の部品を識別する情報が含まれる。
【００３３】
第２の候補点判定処理部１４４は、画像データ全域に含まれる部品の端点の候補となる候補点に基づいて、検出対象となる部品の特徴点を判定する。この第２の候補点判定処理部１４４は、第１の候補点判定処理部１４３から特徴点の抽出要求を受け付けた場合に動作する。
【００３４】
以下において、第２の候補点判定処理部１４４の処理を具体的に説明する。第２の候補点判定処理部１４４は、第１の候補点判定処理部１４３が検出対象とした部品以外の部品の領域から候補点を判定する。第２の候補点判定処理部１４４は、上記コーナー検出法を用いて候補点を判定する。第２の候補点判定処理部１４４が判定した候補点を第２候補点と表記する。例えば、第１の候補点判定処理部１４３が検出対象とした部品が「目」の場合には、第２の候補点判定処理部１４４は、部品「鼻」、「口」に対応する画像データの領域から第２候補点を判定する。
【００３５】
第２の候補点判定処理部１４４は、第２候補点を判定した後に、所定数の第２候補点の組を選択し、選択した組の各第２候補点間の距離と、第１の位置関係データ１３１とを比較して、各第２候補点間の距離が、端点間の距離に該当する第２候補点の組を特定する。ここで、第２の候補点判定処理部１４４は、異なる部品毎に、第２候補点の組を特定するものとする。例えば、第２の候補点判定処理部１４４は、「鼻」、「口」に対応する部品毎に、端点間の距離に該当する第２候補点の組を特定する。
【００３６】
第２の候補点判定処理部１４４は、異なる部品毎に、第２候補点の組を特定した後に、第２候補点の組と、第１候補点集と、第２の位置関係データ１３２とを基にして、検出対象の部品の特徴点を判定する。
【００３７】
図７は、第２の候補点判定処理部１４４の処理を説明するための図である。ここでは一例として、第１候補点集１２には、第１候補点１２ａ、１２ｂ、１２ｃ、１２ｄの組と、第１候補点１２ｅ、１２ｆ、１２ｃ、１２ｇの組が含まれるものとする。第１候補点集１２は、部品「目」から判定されたものとする。また、第２候補点の組を１３ａおよび１３ｂを含む組とする。第２候補点は、部品「口」から判定されたものとする。
【００３８】
第２の候補点判定処理部１４４は、第１候補点１２ａ、１２ｂ、１２ｃ、１２ｄを通る直線１２Ａと、第１候補点１２ｅ、１２ｆ、１２ｃ、１２ｇを通る直線１２Ｂを算出する。また、第２の候補点判定処理部１４４は、第２候補点の組１３ａ、１３ｂを通る直線１３Ａを算出する。
【００３９】
第２の候補点判定処理部１４４は、直線１２Ａ、１２Ｂ、１３Ａを算出した後に、距離１４ａ〜１４ｃ、１５ａ〜１５ｃを算出する。距離１４ａは、直線１２Ａ上の第１候補点１２ａと直線１３Ａ上の第２候補点１３ａとの距離である。距離１４ｂは、直線１２Ａの中点と直線１３Ａの中点との距離である。距離１４ｃは、直線１２Ａ上の第１候補点１２
ｄと直線１３Ａ上の第２候補点１３ｂとの距離である。距離１５ａは、直線１２Ｂ上の第１候補点１２ｅと直線１３Ａ上の第２候補点１３ａとの距離である。距離１５ｂは、直線１２Ｂの中点と直線１３Ａの中点との距離である。距離１５ｃは、直線１２Ｂ上の第１候補点１２ｇと直線１３Ａ上の第２候補点１３ｂとの距離である。
【００４０】
第２の候補点判定処理部１４４は、第２の位置関係データ１３２に含まれる「目と口との部品関係情報」の位置関係、距離１４ａ〜１４ｃ、距離１５ａ〜１５ｃを比較する。第２の候補点判定処理部１４４は、距離１４ａ〜１４ｃ、距離１５ａ〜１５ｃのうち、距離１４ａ〜１４ｃの方が「目と口との部品関係情報」の位置関係に近い場合には、第１候補点１２ａ、１２ｂ、１２ｃ、１２ｄを特徴点として判定する。一方、第２の候補点判定処理部１４４は、距離１４ａ〜１４ｃ、距離１５ａ〜１５ｃのうち、距離１５ａ〜１５ｃの方が「目と口との部品関係情報」の位置関係に近い場合には、第１候補点１２ｅ、１２ｆ、１２ｃ、１２ｇを特徴点として判定する。第２の候補点判定処理部１４４は、判定結果を出力部１２０に出力する。この場合には、第２の候補点判定処理部１４４は、特徴点の位置座標を出力部１２０に出力しても良いし、画像データに特徴点をプロットして出力部１２０に出力しても良い。
【００４１】
ところで、第２の候補点判定処理部１４４は、部品「口」から判定した第２候補点から、特徴点を絞り込めない場合には、部品「鼻」から判定した第２候補点を利用して、特徴点を判定する。特徴点を判定する処理は、図７を用いて説明したものと同様である。
【００４２】
また、第２の候補点判定処理部１４４は、上記の処理以外の方法により、特徴点を判定しても良い。例えば、第２の候補点判定処理部１４４は、候補点を通る直線の傾きに基づいて、特徴点を判定しても良い。
【００４３】
具体的に図７を用いて説明する。第２の候補点判定処理部１４４は、直線１２Ａ、１２Ｂ、１３Ａの直線の傾きをそれぞれ算出する。第２の候補点判定処理部１４４は、各直線の傾きを比較し、直線１３Ａの傾きにより近い直線を、直線１２Ａまたは１２Ｂから選択する。図７に示す例では、直線１２Ａが選択される。そして、第２の候補点判定処理部１４４は、直線１２Ａを通る候補点１２ａ、１２ｂ、１２ｃ、１２ｄを特徴点として判定する。
【００４４】
次に、本実施例１にかかる特徴点判定装置１００の処理手順について説明する。図８は、本実施例１にかかる特徴点判定装置の処理手順を示すフローチャートである。例えば、図８に示す処理は、特徴点判定装置１００が、画像入力部１１０ａから画像データを取得したことを契機として実行される。
【００４５】
図８に示すように、特徴点判定装置１００は、画像データを取得し（ステップＳ１０１）、画像データから顔を検出する（ステップＳ１０２）。特徴点判定装置１００は、検出対象の顔の部品の第１候補点を検出し（ステップＳ１０３）、第１特徴点判定処理を実行する（ステップＳ１０４）。ステップＳ１０４における第１特徴点判定処理は、第１の候補点判定処理部１４３が、特徴点を判定する処理に対応する。
【００４６】
特徴点判定装置１００は、特徴点の判定が可能である場合には（ステップＳ１０５，Ｙｅｓ）、処理を終了する。一方、特徴点判定装置１００は、特徴点の判定が可能でない場合には（ステップＳ１０５，Ｎｏ）、検出対象以外の顔の部品の第２候補点を検出する（ステップＳ１０６）。そして、特徴点判定装置１００は、第２特徴点判定処理を実行する（ステップＳ１０７）。ステップＳ１０７における第２特徴点判定処理は、第２の候補点判定処理部１４４が、特徴点を判定する処理に対応する。
【００４７】
続いて、顔の部品の候補点を検出する処理手順について説明する。この候補点を検出する処理手順は、図８のステップＳ１０３の第１候補点を抽出する処理、図８のステップＳ１０６の第２候補点を検出する処理に対応する。図９は、顔の部品の候補点を検出する処理手順を示すフローチャートである。
【００４８】
図９に示すように、特徴点判定装置１００は、顔の部品が存在する領域内の一画素を中心画素として選択し（ステップＳ２０１）、中心画素と近隣画素との明度を算出する（ステップＳ２０２）。特徴点判定装置１００は、近隣画素のうち中心画素より明るい画素が連続する画素のグループを取得し（ステップＳ２０３）、取得した各グループの画素数を計数する（ステップＳ２０４）。
【００４９】
特徴点判定装置１００は、計数した画素数が最も多いグループをグループＡとして取得する（ステップＳ２０５）。特徴点判定装置１００は、グループＡの画素数が所定の閾値範囲に含まれない場合には（ステップＳ２０６，Ｎｏ）、ステップＳ２０１に移行する。
【００５０】
一方、特徴点判定装置１００は、グループＡの画素数が所定の閾値範囲に含まれる場合には（ステップＳ２０６，Ｙｅｓ）、中心画素を候補点として判定する（ステップＳ２０７）。特徴点判定装置１００は、顔の部品が存在する領域内の全ての画素についての処理が終了していない場合には（ステップＳ２０８，Ｎｏ）、ステップＳ２０１に移行する。一方、特徴点判定装置１００は、顔の部品が存在する領域内の全ての画素についての処理が終了した場合には（ステップＳ２０８，Ｙｅｓ）、処理を終了する。
【００５１】
次に、本実施例１にかかる特徴点判定装置１００の効果について説明する。本実施例１にかかる特徴点判定装置１００は、顔の部品が含まれる画像データの局所的な領域に含まれる候補点の位置関係、または、顔の画像データ全体の複数の候補点の位置関係に基づいて、端点に対応する特徴点を判定する。このため、局所的な領域に含まれる候補点から、特徴点が判定可能な場合には、画像データ全体から候補点を抽出する必要がないので、特徴点判定にかかる処理速度を向上させることができる。また、局所的な領域に含まれる候補点のみで特徴点を判定できない場合には、画像データ全体から候補点を検出し、全体の候補点の位置関係から特徴点を判定できるので、特徴点抽出にかかる精度を向上させることができる。すなわち、本実施例１にかかる特徴点判定装置１００によれば、特徴点の抽出精度を保ちつつ、特徴点抽出に要する時間を短くすることができる。
【００５２】
また、本実施例１にかかる特徴点判定装置１００は、画像データ全体から候補点を検出する場合に、各部品に対応する領域毎に各候補点の位置関係を比較し、端点の特徴点を特定する。また、特徴点判定装置１００は、ある部品に対応する候補点の位置関係で、特徴点が判定できない場合には、別の部品に対応する候補点の位置関係で、特徴点を判定するので、特徴点をより確実に判定可能とする。例えば、特徴点判定装置は、部品「目」、「口」の候補点を用いて、目の特徴点が判定できない場合には、部品「目」、「鼻」の候補点を用いて、目の特徴点を判定する。
【００５３】
ところで、図１に示した特徴点判定装置１００の構成は一例であり、特徴点判定装置１００は、必ずしも図１に示した各処理部を全て有していなくてもよい。例えば、特徴点判定装置１００は、候補点抽出部と、特徴点判定部の機能を有していればよい。
【００５４】
このうち、候補点抽出部は、顔の画像データから顔の部品の端点の候補となる候補点を抽出する処理部であり、第１の候補点判定処理部１４３、第２の候補点判定処理部１４４に対応する。また、特徴点判定部は、局所的な領域に含まれる複数の候補点の位置関係、または、顔画像全体の複数の候補点の位置関係に基づいて、顔の部品の端点に対応する特徴点判定する処理部である。この特徴点判定部は、第１の候補点判定処理部１４３と第２の候補点判定処理部１４４を組み合わせたものに対応する。
【実施例２】
【００５５】
次に、本実施例２にかかる特徴点判定装置２００の構成について説明する。図１０は、本実施例２にかかる特徴点判定装置の構成を示す機能ブロック図である。図１０に示すように、この特徴点判定装置２００は、画像入力部２１０ａ、入力部２１０ｂ、出力部２２０、記憶部２３０、制御部２４０を有する。このうち、画像入力部２１０ａ、入力部２１０ｂ、出力部２２０に関する説明は、図１に示した画像入力部１１０ａ、入力部１１０ｂ、出力部１２０に関する説明と同様である。
【００５６】
記憶部２３０は、第３の位置関係データ２３１と、第２の位置関係データ２３２とを有する。このうち、第２の位置関係データ２３２に関する説明は、図１に示した第２の位置関係データ１３２に関する説明と同様である。
【００５７】
第３の位置関係データ２３１は、顔の部品毎に、部品の各端点の位置関係と、各端点の特徴の配列パターンとを対応付けて記憶する。ここで、端点の特徴および特徴の配列パターンについて順に説明する。なお、部品の各端点の位置関係は、上記実施例１で説明したものと同様である。
【００５８】
端点の特徴は、端点の近隣画素の明度に基づいて、第１の特徴または第２の特徴に分類される。具体的には、端点を原点とするｘ、ｙ座標系において、端点の明度よりも明るい明度を有する近隣画素がｘ座標のプラス側よりもマイナス側に偏っている場合には、この端点の特徴は、第１の特徴となる。これに対して、端点を原点とするｘ、ｙ座標系において、端点の明度よりも明るい明度を有する近隣画素がｘ座標のマイナス側よりもプラス側に偏っている場合には、この端点の特徴は、第２の特徴となる。
【００５９】
特徴の配列パターンは、各端点が顔の部品に応じて、どのような特徴の組み合わせて並んでいるのかを定義するパターンである。例えば、部品「目」の端点は４つであり、特徴の配列パターンは、画像データ左側から順に「第１の特徴、第２の特徴、第１の特徴、第２の特徴」となる。部品「鼻」の端点は４つあり、特徴の配列パターンは、画像データ左側から順に「第１の特徴、第２の特徴、第１の特徴、第２の特徴」となる。部品「口」の端点は２つであり、特徴の配列パターンは、画像データ左側から順に「第１の特徴、第２の特徴」となる。
【００６０】
図１１は、第３の位置関係データのデータ構造の一例を示す図である。図１１に示すように、この第３の位置関係データは、部品識別情報と位置関係情報と配列パターンとを対応付けて記憶する。このうち、部品識別情報は、顔の部品を識別する情報である。位置関係情報は、図２を用いて説明した部品の各端点の位置関係に対応する情報である。配列パターンは、上述した部品毎の特徴の配列パターンに対応する情報である。
【００６１】
制御部２４０は、顔検出処理部２４１、顔部品領域検出処理部２４２、第１の候補点判定処理部２４３、第２の候補点判定処理部２４４を有する。このうち、顔検出処理部２４１、顔部品領域検出処理部２４２に関する説明は、図１に示した顔検出処理部１４１、顔部品領域検出処理部１４２に関する説明と同様である。
【００６２】
第１の候補点判定処理部２４３は、顔の所定の部品が含まれる画像データの局所的な領域から、部品の端点の候補となる候補点を抽出する。そして、第１の候補点判定処理部２４３は、抽出した候補点の位置関係、および、候補点の特徴の配列パターンに基づいて、部品の端点に対応する特徴点を判定する。第１の候補点判定処理部２４３は、部品の端点に対応する特徴点を判定できた場合には、判定結果を出力部２２０に出力する。これに対して、第１の候補点判定処理部２４３は、特徴点を判定できない場合には、第２の候補点判定処理部２４４に特徴点の抽出を要求する。
【００６３】
以下において、第１の候補点判定処理部２４３の処理を具体的に説明する。まず、第１の候補点判定処理部２４３は、実施例１に示したコーナー検出法を利用して、第１候補点を検出する。なお、第１の候補点判定処理部２４３は、第１候補点を検出した場合に、第１候補点と、グループＡの情報とを対応付けて保持しておく。例えば、このグループＡの情報には、グループＡの近隣画素１０ｂの座標情報が含まれる。
【００６４】
第１の候補点判定処理部２４３は、第１候補点を判定した後に、第１候補点を第１の特徴点または第２の特徴点に分類する。第１の候補点判定処理部２４３は、第１候補点に対応するグループＡに基づいて、第１候補点を第１の特徴点または第２の特徴点に分類する。
【００６５】
図１２Ａおよび図１２Ｂは、第１の特徴点または第２の特徴点に分類する処理を説明するための図である。まず、第１の候補点判定処理部２４３は、第１候補点の位置座標と、グループＡの近隣画素の位置座標とを比較する。そして、第１の候補点判定処理部２４３は、第１候補点を原点とするｘ、ｙ座標系において、ｘ軸のマイナス側に存在する近隣画素の数を計数する。第１の候補点判定処理部２４３は、計数した近隣画素の数が閾値以上の場合には、第１候補点を第１の特徴点とする。これに対して、第１の候補点判定処理部２４３は、計数した近隣画素の数が閾値未満の場合には、第１候補点を第２の特徴点とする。ここで比較される閾値は、例えば、「５」とする。
【００６６】
図１２Ａに示す例では、ｘ軸のマイナス側に存在する近隣画素２０ｂの数は「９」である。このため、第１の候補点判定処理部２４３は、候補点２０ａを第１の特徴点に分類する。図１２Ｂに示す例では、ｘ軸のマイナス側に存在する近隣画素２１ｂの数は「２」である。このため、第１の候補点判定処理部２４３は、候補点２１ａを第２の特徴点に分類する。
【００６７】
なお、第１の候補点判定処理部２４３は、同一の特徴点に分類した第１候補点同士の相対距離を比較し、この相対距離が所定の閾値未満の場合には、各第１候補点を一つの候補点に纏めても良い。例えば、第１の候補点判定処理部２４３は、第１の特徴点に分類した第１候補点のそれぞれの相対距離が所定の閾値未満の場合には、各第１候補点を一つの候補点に纏める。同様に、第１の候補点判定処理部２４３は、第２の特徴点に分類した第１候補点のそれぞれの相対距離が所定の閾値未満の場合には、各第１候補点を一つの候補点に纏める。このように、第１候補点を纏めることで、処理対象となる第１候補点の数が減り、後述の処理負荷を軽減させることができる。
【００６８】
第１の候補点判定処理部２４３は、第１候補点を第１の特徴点または第２の特徴点に分類した後に、第３の位置関係データ２３３を基にして、検出対象となる部品に応じた配列パターンとなる第１候補点の組を選択する。
【００６９】
検出対象となる部品が「目」の場合には、配列パターンは、「第１の特徴、第２の特徴、第１の特徴、第２の特徴」の順となる。このため、第１の候補点判定処理部２４３は、画像データの左から順に、第１の特徴点、第２の特徴点、第１の特徴点、第２の特徴点となる組の第１候補点を特定する。
【００７０】
検出対象となる部品が「鼻」の場合には、配列パターンは、「第１の特徴、第２の特徴、第１の特徴、第２の特徴」の順となる。このため、第１の候補点判定処理部２４３は、画像データの左から順に、第１の特徴点、第２の特徴点、第１の特徴点、第２の特徴点となる組の第１候補点を特定する。
【００７１】
検出対象となる部品が「口」の場合には、配列パターンは、「第１の特徴、第２の特徴」の順となる。このため、第１の候補点判定処理部２４３は、画像データの左から順に、第１の特徴点、第２の特徴点となる組の第１候補点を特定する。
【００７２】
第１の候補点判定処理部２４３は、配列パターンに該当する第１候補点の組を特定した後に、各第１候補点の位置関係と、第３の位置関係データ２３１とを比較して、各第１候補点間の距離が、端点間の距離に該当するか否かを判定する。
【００７３】
第１の候補点判定処理部２４３は、端点間の距離に該当する第１候補点の組が一組も存在しない場合には、特徴点が検出できない旨の情報を、出力部２２０に出力する。
【００７４】
第１の候補点処理部２４３は、端点間の距離に該当する第１候補点の組が存在し、この組が１組の場合には、かかる組に含まれる各第１候補点を特徴点として出力部２２０に出力する。第１の候補点処理部２４３は、特徴点の位置座標を出力部２２０に出力しても良いし、画像データに特徴点をプロットして出力部２２０に出力しても良い。
【００７５】
これに対して、第１の候補点処理部２４３は、端点間の距離に該当する第１候補点の組が存在し、この組が２組以上の場合には、第２の候補点判定処理部２４４に特徴点の抽出を要求する。この場合には、第１の候補点処理部２４３は、第１候補点集を第２の候補点判定処理部２４４に出力する。この第１候補点集には、端点間の距離に該当する第１候補点の組の位置座標と、検出対象の部品を識別する情報が含まれる。
【００７６】
第２の候補点判定処理部２４４は、画像データ全域に含まれる部品の端点の候補となる候補点に基づいて、検出対象となる部品の特徴点を判定する。この第２の候補点判定処理部２４４は、第１の候補点判定処理部２４３から特徴点の抽出要求を受け付けた場合に動作する。
【００７７】
以下において、第２の候補点判定処理部２４４の処理を具体的に説明する。第２の候補点判定処理部２４４は、第１の候補点判定処理部２４３が検出対象とした部品以外の部品の領域から候補点を判定する。第２の候補点判定処理部２４４は、上記コーナー検出法を用いて候補点を判定する。第２の候補点判定処理部２４４が判定した候補点を第２候補点と表記する。例えば、第１の候補点判定処理部２４３が検出対象とした部品が「目」の場合には、第２の候補点判定処理部２４４は、部品「鼻」、「口」に対応する画像データの領域から第２候補点を判定する。
【００７８】
第２の候補点判定処理部２４４は、第２候補点を判定した後に、第２候補点を第１の特徴点または第２の特徴点に分類する。第２候補点を第１の特徴点または第２の特徴点に分類する処理は、上記の第１候補点を第１の特徴点または第２の特徴点に分類する処理と同様である。
【００７９】
第２の候補点判定処理部２４４は、第２候補点を第１の特徴点または第２の特徴点に分類した後に、第２の位置関係データ２３２を基にして、検出対象となる部品に応じた配列パターンとなる第２候補点の組を選択する。この処理は、上述した、検出対象となる部品に応じた配列パターンとなる第１候補点の組を選択する処理と同様である。
【００８０】
第２の候補点判定処理部２４４は、第２候補点の組を選択した後に、選択した組の各第２候補点間の距離と、第３の位置関係データ２３１とを比較して、各第２候補点間の距離が、端点間の距離に該当する第２候補点の組を特定する。例えば、第２の候補点判定処理部２４４は、「鼻」、「口」に対応する部品毎に、端点間の距離に該当する第２候補点の組を特定する。
【００８１】
第２の候補点判定処理部２４４は、異なる部品毎に、第２候補点の組を特定した後に、第２候補点の組と、第１候補点集と、第２の位置関係データ２３２とを基にして、検出対象の部品の特徴点を判定する。この処理は、実施例１に示した第２の候補点判定処理部１４４の処理と同様である。
【００８２】
次に、本実施例２にかかる特徴点判定装置２００が、候補点を第１の特徴点または第２の特徴点に分類する処理手順について説明する。図１３は、候補点を第１の特徴点または第２の特徴点に分類する処理手順を示すフローチャートである。例えば、図１３に示す処理は、第１の候補点判定処理部２４３が第１候補点を第１の特徴点または第２の特徴点に分類する場合に実行される。または、図１３に示す処理は、第２の候補点判定処理部２４４が第２候補点を第１の特徴点または第２の特徴点に分類する場合に実行される。
【００８３】
図１３に示すように、特徴点判定装置２００は、候補点のうち一つを選択し（ステップＳ３０１）、グループＡに含まれる近隣画素のうち、候補点のｘ座標よりもｘ座標が小さい近隣画素の画素数を計数する（ステップＳ３０２）。
【００８４】
特徴点判定装置２００は、画素数が所定の閾値以下の場合には（ステップＳ３０３，Ｎｏ）、候補点を第２の特徴点と判定し（ステップＳ３０４）、ステップＳ３０６に移行する。
【００８５】
一方、特徴点判定装置２００は、画素数が所定の閾値よりも大きい場合には（ステップＳ３０３，Ｙｅｓ）、候補点を第１の特徴点と判定する（ステップＳ３０５）。特徴点判定装置２００は、全ての候補点について処理が完了したか否かを判定する（ステップＳ３０６）。特徴点判定装置２００は、全ての候補点について処理が終了した場合には（ステップＳ３０６、Ｙｅｓ）、処理を終了する。一方、特徴点判定装置２００は、全ての候補点について処理が終了していない場合には（ステップＳ３０６，Ｎｏ）、再度ステップＳ３０１に移行する。
【００８６】
次に、本実施例２にかかる特徴点判定装置２００が、顔の所定の部品が含まれる画像データの局所的な領域から、部品の特徴点を判定する処理手順について説明する。図１４は、局所的な領域から部品の特徴点を判定する処理のフローチャートである。例えば、図１４に示す処理は、第１の候補点判定処理部２４３が、特徴点を判定する処理または第２の特徴点判定処理部２４４が、特徴点を判定する場合に実行させる。
【００８７】
図１４に示すように、特徴点判定装置２００は、所定の領域内に含まれる候補点のうち、同一の特徴を有する候補点を一つの候補点に纏め（ステップＳ４０１）、所定の配列パターンとなる候補点の組を取得する（ステップＳ４０２）。特徴点判定装置２００は、取得した候補点の組の位置関係に基づいて、顔の部品の端点に対応する特徴点を判定する（ステップＳ４０３）。
【００８８】
次に、本実施例２にかかる特徴点判定装置２００の効果について説明する。本実施例２にかかる特徴点判定装置２００は、顔の所定の部品が含まれる画像データの局所的な領域から、特徴点を抽出する場合に、端点の位置関係だけではなく、端点の配列パターンを更に利用して、端点に適合する特徴点を判定する。このため、特徴点の判定基準が厳しくなり、特徴点判定装置２００は、局所的な領域において、端点の候補となる特徴点の組が複数抽出してしまうことが少なくなる。したがって、第１の候補点判定処理部２４３のみで、特徴点を判定できる可能性が高まり、特徴点の判定に要する時間が短縮される。
【００８９】
ところで、上述の実施例で説明した特徴点判定装置１００等の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。
【００９０】
ここで、図１５を用いて、上記の実施例で説明した特徴点判定装置１００等による処理と同様の機能を実現する特徴点判定プログラムを実行するコンピュータの一例を説明する。図１５は、特徴点判定プログラムを実行するコンピュータの一例を示す図である。
【００９１】
図１５に示すように、特徴点判定装置１００として機能するコンピュータ３００は、各種演算処理を実行するＣＰＵ（Central  Processing  Unit）３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、モニタ３０３を有する。
【００９２】
また、コンピュータ３００は、図１５に示すように、記憶媒体からプログラム等を読取る媒体読み取り装置３０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置３０５とを有する。また、コンピュータ３００は、カメラ３０６、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）３０７と、ハードディスク装置３０８を有する。そして、各装置３０１〜３０８は、バス３０９に接続される。
【００９３】
ハードディスク装置３０８には、上述した特徴点判定装置１００の機能と同様の機能を発揮する特徴点判定プログラム３０８ａが記憶されている。なお、この特徴点判定プログラム３０８ａを適宜分散させて、ネットワークを介して通信可能に接続された他のコンピュータの記憶部に記憶させておくこともできる。
【００９４】
そして、ＣＰＵ３０１が、特徴点判定プログラム３０８ａをハードディスク装置３０８から読み出してＲＡＭ３０７に展開することにより、図１５に示すように、特徴点判定プログラム３０８ａは特徴点判定プロセス３０７ａとして機能する。また、ＣＰＵ３０１が、位置関係データ３０８ｂをハードディスク装置３０８から読み出してＲＡＭ３０７に展開する。特徴点判定プロセス３０７ａは、例えば、図１に示した各処理部１４１〜１４４に対応する。位置関係データ３０８ｂは、例えば、図１に示した第１の位置関係データ１３１、第２の位置関係データ１３２に対応する。特徴点判定プロセス３０７ａは、ＲＡＭ３０７に格納された位置関係データ３０７ｂを用いて、画像データの特徴点を判定する。
【００９５】
なお、特徴点判定プログラム３０８ａについては、必ずしも最初からハードディスク装置３０８に記憶させておく必要はない。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ３００がこれらから各プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００９６】
１００  特徴点判定装置
１１０ａ  画像入力部
１１０ｂ  入力部
１２０    出力部
１３０    記憶部
１４０    制御部
【図１】
2012014557.tif 000003
【図２】
2012014557.tif 000004
【図３】
2012014557.tif 000005
【図４】
2012014557.tif 000006
【図５】
2012014557.tif 000007
【図６】
2012014557.tif 000008
【図７】
2012014557.tif 000009
【図８】
2012014557.tif 000010
【図９】
2012014557.tif 000011
【図１０】
2012014557.tif 000012
【図１１】
2012014557.tif 000013
【図１２Ａ】
2012014557.tif 000014
【図１２Ｂ】
2012014557.tif 000015
【図１３】
2012014557.tif 000016
【図１４】
2012014557.tif 000017
【図１５】
2012014557.tif 000018
【図１６】
2012014557.tif 000019