(57)【要約】【課題】  トリミング処理を効率良く行う。【解決手段】    特徴抽出部１は、撮像ポイントＡにおいて取得された画像群Ａに対して、先頭の１０枚の写真画像を用いて顔の検出処理を行い、画像群Ａ内の写真画像における顔の範囲、顔の向きを画像群Ａの特徴として抽出する。目検出部１０は、特徴抽出部１により得られた画像群Ａの特徴に基づいて、画像群Ａ内の各々の写真画像に対して、検出する顔の向き、顔を検出する領域を限定して顔の検出を行うと共に、検出された顔から目の検出を行う。【選択図】          図３
2005250556.tif 000002
【特許請求の範囲】
【請求項１】
顔部位が所定の位置に所定の大きさで配置されるように規定された所定の規格のトリミング画像を得るために、顔写真画像に対して、前記顔部位を含むトリミング領域を設定するための、前記顔部位または前記顔部位に含まれる所定の部位であるトリミング領域設定用部位を検出し、
検出された該トリミング設定用部位に基づいて、前記所定の規格に合致するように前記顔写真画像における前記トリミング領域を設定し、
該トリミング領域の切取りおよび／または拡大縮小を行って前記トリミング画像を得るトリミング処理方法において、
同じ撮像条件で人物を撮像して得た複数の顔写真画像から構成された画像群毎に、該画像群内の各前記顔写真画像の、前記同じ撮像条件により生じた共通の、前記検出処理、前記設定処理、および前記切取りおよび／または拡大縮小処理のうちの１つまたは複数の処理の処理条件を限定し得る特徴を取得し、
該特徴に応じて、該特徴を有する前記画像群内の顔写真画像の前記処理条件を限定すると共に、限定された該処理条件を用いて各前記顔写真画像に対して当該処理を行うことを特徴とするトリミング処理方法。
【請求項２】
前記顔写真画像が、互いに前記撮像条件が異なり得る複数の撮像ポイントのうちの１つにより取得されたものであり、
前記画像群が、同じ前記撮像ポイントにより取得された顔写真画像からなるものであることを特徴とする請求項１記載のトリミング処理方法。
【請求項３】
前記画像群のうちの一部の顔写真画像を用いて該画像群の前記特徴を取得することを特徴とする請求項１または２記載のトリミング処理方法。
【請求項４】
前記特徴が、前記画像群内の各顔写真画像における顔の大きさを含むものであり、
顔の検出を必要とする前記トリミング領域設定用部位の検出を行う際に、前記顔の大きさに基づいて検出する顔の大きさを限定して前記顔の検出を行うことを特徴とする請求項１から３のいずれか１項記載のトリミング処理方法。
【請求項５】
前記特徴が、前記画像群内の各顔写真画像における顔の位置を含むものであり、
該顔の位置に基づいて、前記トリミング領域設定用部位の検出範囲を限定し、
限定された前記検出範囲において各前記顔写真画像に対して前記検出を行うことを特徴とする請求項１から３のいずれか１項記載のトリミング処理方法。
【請求項６】
前記特徴が、前記画像群内の各顔写真画像における顔の向きを含むものであり、
顔の検出を必要とする前記トリミング領域設定用部位の検出を行う際に、前記向きに基づいて検出する顔の向きを限定して前記顔の検出を行うことを特徴とする請求項１から５のいずれか１項記載のトリミング処理方法。
【請求項７】
顔部位が所定の位置に所定の大きさで配置されるように規定された所定の規格のトリミング画像を得るために、顔写真画像に対して、前記顔部位を含むトリミング領域を設定するための、前記顔部位または前記顔部位に含まれる所定の部位であるトリミング領域設定用部位を検出するトリミング領域設定用部位検出部と、
該トリミング設定用部位に基づいて、前記所定の規格に合致するように前記顔写真画像における前記トリミング領域を設定するトリミング領域設定部と、
該トリミング領域の切取りおよび／または拡大縮小を行って前記トリミング画像を得るトリミング実行部とを有してなるトリミング処理装置であって、
同じ撮像条件で人物を撮像して得た複数の顔写真画像から構成された画像群毎に、該画像群内の各前記顔写真画像の、前記同じ撮像条件により生じた共通の、前記検出処理、前記設定処理、および前記切取りおよび／または拡大縮小処理のうちの１つまたは複数の処理の処理条件を限定し得る特徴を取得する特徴取得手段をさらに有し、
前記トリミング領域設定用部位検出部、および／または前記トリミング領域設定部、および／または前記トリミング実行部が、前記特徴取得手段により取得された前記特徴に応じて、該特徴を有する前記画像群内の顔写真画像の前記処理条件を限定すると共に、限定された該処理条件を用いて各前記顔写真画像に対して当該処理を行うものであることを特徴とするトリミング処理装置。
【請求項８】
前記顔写真画像が、互いに前記撮像条件が異なり得る複数の撮像ポイントのうちの１つにより取得されたものであり、
前記画像群が、同じ前記撮像ポイントにより取得された顔写真画像からなるものであることを特徴とする請求項７記載のトリミング処理装置。
【請求項９】
前記特徴取得手段が、前記画像群のうちの一部の顔写真画像を用いて該画像群の前記特徴を取得するものであることを特徴とする請求項７または８記載のトリミング処理装置。
【請求項１０】
前記特徴が、前記画像群内の各顔写真画像における顔の大きさを含むものであり、
前記トリミング領域設定用部位検出手段が、顔の検出を必要とする前記トリミング領域設定用部位の検出を行う際に、前記顔の大きさに基づいて検出する顔の大きさを限定して前記顔の検出を行うことを特徴とする請求項７から９のいずれか１項記載のトリミング処理装置。
【請求項１１】
前記特徴が、前記画像群内の各顔写真画像における顔の位置を含むものであり、
前記トリミング領域設定用部位検出手段が、該顔の位置に基づいて、前記トリミング領域設定用部位の検出範囲を限定し、限定された前記検出範囲において各前記顔写真画像に対して前記検出を行うことを特徴とする請求項７から９のいずれか１項記載のトリミング処理装置。
【請求項１２】
前記特徴が、前記画像群内の各顔写真画像における顔の向きを含むものであり、
前記トリミング領域設定用部位検出手段が、顔の検出を必要とする前記トリミング領域設定用部位の検出を行う際に、前記向きに基づいて検出する顔の向きを限定して前記顔の検出を行うものことを特徴とする請求項７から１１のいずれか１項記載のトリミング処理装置。
【請求項１３】
顔部位が所定の位置に所定の大きさで配置されるように規定された所定の規格のトリミング画像を得るために、顔写真画像に対して、前記顔部位を含むトリミング領域を設定するための、前記顔部位または前記顔部位に含まれる所定の部位であるトリミング領域設定用部位を検出する検出処理と、
検出された該トリミング設定用部位に基づいて、前記所定の規格に合致するように前記顔写真画像における前記トリミング領域を設定する設定処理と、
該トリミング領域の切取りおよび／または拡大縮小を行って前記トリミング画像を得るトリミング実行処理とをコンピュータに実行させるプログラムであって、
同じ撮像条件で人物を撮像して得た複数の顔写真画像から構成された画像群毎に、該画像群内の各前記顔写真画像の、前記同じ撮像条件により生じた共通の、前記検出処理、前記設定処理、および前記切取りおよび／または拡大縮小処理のうちの１つまたは複数の処理の処理条件を限定し得る特徴を取得する処理をさらにコンピュータに実行させ、
前記検出処理、および／または前記設定処理、および／または前記トリミング実行処理が、前記特徴に応じて、該特徴を有する前記画像群内の顔写真画像の前記処理条件を限定すると共に、限定された該処理条件を用いて各前記顔写真画像に対して当該処理を行うことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は顔写真画像、具体的に同じ撮像条件で撮像して得た複数の顔写真画像から構成された画像群毎にトリミング処理を行うトリミング方法および装置並びにプログラムに関するものである。
【背景技術】
【０００２】
パスポートや免許証の交付申請、あるいは履歴書の作成などの場合において、本人の顔が写っている予め定められた出力規格の写真（以下証明写真という）の提出が要求されることが多い。このため、利用者の撮影を行うための撮影室が設けられ、撮影室内の椅子に着座した利用者を撮影し、利用者の証明写真用の顔写真画像をシートに記録した証明写真シートを作成することを自動的に行う証明写真の自動作成装置が従来より利用されている。このような自動作成装置は、大型であり、設置場所が限られているため、利用者が証明写真を取得するためには、自動作成装置が設置された場所を探して出向く必要があり、不便である。
【０００３】
この問題を解決するために、例えば、特許文献１に記載されたように、証明写真の作成に用いる顔写真画像（顔が写されている画像）がモニタなどの表示装置で表示されている状態で、表示されている顔写真画像における頭頭部位置と顎の先端位置を指示すると、コンピュータが指示された２つの位置および証明写真の出力規格に基づいて顔の拡大縮小率、顔の位置を求めて画像を拡大縮小すると共に、拡大縮小した画像中の顔が証明写真における所定の位置に配置されるように拡大縮小した顔写真画像をトリミングして得たトリミング画像を証明写真画像として形成する方法が提案されている。このような方法によって、利用者は、証明写真の自動作成装置よりも多数存在しているＤＰＥ店などに証明写真の作成を依頼することができると共に、手持ちの写真のうち、写りが良いなどのような気に入った写真が記録された写真フィルムまたは記録媒体をＤＰＥ店などに持ち込むことで、気に入った写真から証明写真を作成させることも可能となる。
【０００４】
しかしながら、この技術では、表示されている顔写真画像に対して頭頭部位置と顎の先端位置を各々指示する、という煩雑な操作をオペレータが行う必要があるので、特に多数の利用者の証明写真を作成するなどの場合にオペレータの負担が大きい。また、特に表示されて顔写真画像中の顔の領域の面積が小さい場合や、顔写真画像の解像度が粗いなどの場合には、頭頭部位置と顎の先端位置をオペレータが迅速かつ正確に指示することは困難であり、適切な証明写真の迅速な作成ができないという問題がある。
【０００５】
そこで、オペレータの負担を減らし、迅速かつ正確にトリミング領域を設定する方法が数多く提案されている。特に近年、写真画像から顔や、目などの自動検出技術の進歩に伴い、写真画像から顔、目などを検出して、それに基づいてトリミング領域を設定してトリミングを行う自動トリミング処理方法が脚光を浴びている。これらの方法によれば、オペレータにより頭頭部位置と顎の先端位置を指示することを必要とせずに顔写真画像から証明写真の作成ができる。例えば、特許文献２には、顔写真画像中の頭頭部位置および両目の位置を検出すると共に、検出された頭頭部位置と両目の位置から顎の先端位置を推定してトリミング領域を設定する方法を提案している。自動トリミング処理においては、最も重要でかつ時間がかかり、かつ精度が要求される処理としては、トリミング領域の設定をするための部位の検出である。この部位は、例えば顔部分全体であってもよく、両目（瞳）であってもよい。
【０００６】
一方、例えば、多人数の社員を有する企業の社員証の更新や、運転免許試験場における運転免許の新規発行、更新などに際して、対象者を撮像して顔写真画像を得、その顔写真画像をトリミングしてトリミング画像を得、このトリミング画像を用いて社員証、免許など（以下合わせてカードという）を作成する作業を一人ずつ行う作業フローよりも、撮像処理と、トリミング処理と、カードの作成処理とを別々に分けて、各々の対象者を夫々撮像して顔写真画像を得、これらの多量の顔写真画像に対してトリミング処理を施して多量のトリミング画像を得、これらのトリミング画像を用いて夫々のカードを発行することが望まれる。こうすることによって、顔写真画像を取得する撮像処理、トリミング処理、カード発行処理を担う装置、人員の専門化を図ることができ、効率が良いからである。例えば、広い区域に点在する撮像ポイントにおいて撮像を行い、トリミング処理を行う装置は、各ポイントで得られた顔写真画像に対してトリミング処理を行い、カード発行装置は、トリミング処理を行う装置により得られたトリミング画像を用いてカードを発行するシステムが考えられる。
【特許文献１】特開平１１―３４１２７２号公報
【特許文献２】特開２００２−１５２４９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前述した証明写真自動発行装置の場合において、通常、撮像をされる人の座る位置、顔位置などの撮像条件が固定されており、撮像して得た顔写真画像において、顔の位置、顔のサイズ、顔の向き（画像における顔の傾き。例えば図１１に示す例においては、図１１（ａ）は顔が垂直であり、傾きが０度とすれば、図１１（ｂ）と図１１（ｃ）は図１１（ａ）を基準として夫々−１５度と＋１５度の傾きを有することとなる）など、トリミング処理と関係あるパラメータも固定で、略同じであるため、自動発行装置は、撮像して得た顔写真画像をトリミングする際に、これらの要因に基づいた既定の処理をすればよく、処理が早い。さらにこのような自動発行装置においては、上述したパラメータが略固定であるため、顔検出などを行うまでもなく、これらのパラメータに応じて決められた顔写真画像中の固定の位置をトリミング領域とすることもできる。これに対して、上述したような、撮像処理、トリミング処理などが分けられたシステムにおいては、トリミング処理をする際に、対象とする多量の顔写真画像の上述した撮像条件が異なる可能性があるので、各々の顔写真画像においては顔の位置なども異なる可能性がある。そのため、全ての顔写真画像に対して、いかなる撮像条件にも対応できるように顔などの検出を行って、トリミング領域を設定するようにすると、処理時間がかかり、効率が良くないという問題がある。
【０００８】
本発明は、上記事情に鑑みてなされたものであり、トリミング処理を効率良く行うことができるトリミング処理方法および装置並びにプログラム並びにシステムを提供することが目的とするものである。
【課題を解決するための手段】
【０００９】
本発明のトリミング処理方法は、顔部位が所定の位置に所定の大きさで配置されるように規定された所定の規格のトリミング画像を得るために、顔写真画像に対して、前記顔部位を含むトリミング領域を設定するための、前記顔部位または前記顔部位に含まれる所定の部位であるトリミング領域設定用部位を検出し、
検出された該トリミング設定用部位に基づいて、前記所定の規格に合致するように前記顔写真画像における前記トリミング領域を設定し、
該トリミング領域の切取りおよび／または拡大縮小を行って前記トリミング画像を得るトリミング処理方法において、
同じ撮像条件で人物を撮像して得た複数の顔写真画像から構成された画像群毎に、該画像群内の各前記顔写真画像の、前記同じ撮像条件により生じた共通の、前記検出処理、前記設定処理、および前記切取りおよび／または拡大縮小処理のうちの１つまたは複数の処理の処理条件を限定し得る特徴を取得し、
該特徴に応じて、該特徴を有する前記画像群内の顔写真画像の前記処理条件を限定すると共に、限定された該処理条件を用いて各前記顔写真画像に対して当該処理を行うことを特徴とするものである。
【００１０】
本発明のトリミング処理方法は、互い前記撮像条件が異なり得る複数の撮像ポイントのうちの、１つの同じ撮像ポイントにより取得された複数の顔写真画像からなる画像群を対象とすることができる。
【００１１】
本発明のトリミング処理方法は、処理する画像群内の一部の顔写真画像を用いて該画像群の前記特徴を取得することができる。
【００１２】
本発明において、前記特徴が、前記画像群内の各顔写真画像における顔の大きさを含むものであり、顔の検出を必要とする前記トリミング領域設定用部位の検出を行う際に、前記顔の大きさに基づいて検出する顔の大きさを限定して前記顔の検出を行うことが好ましい。
【００１３】
また、「顔の位置」とは、顔写真画像において顔部位が存在する場所を示す情報を意味し、例えば、顔の中心位置や、顔部位の中の目の位置などとすることができる。顔写真画像における顔の大きさが顔写真画像全体の大きさに関係するものの、証明写真用の顔写真においては、顔の大きさを顔写真画像全体の大きさの例えば６０％以下とすることができるため、顔の位置、例えば顔の中心位置が分かればこの中心位置を中心とした、顔写真画像の大きさの６０％の大きさの領域を顔が含まれる範囲（以下顔範囲という）として推定することができる。また、画像群の特徴として、画像群内の顔写真画像における顔の大きさも取得するようにすれば、より確実に顔範囲を得ることができる。本発明においては、画像群の特徴として、前記画像群内の各顔写真画像における顔の位置を含むものとし、該顔の位置に基づいて、前記トリミング領域設定用部位の検出範囲を限定し、限定された前記検出範囲において各前記顔写真画像に対して前記検出を行うようにしてもよい。なお、画像群内の各顔写真画像における顔の位置が全く同じではなく、微小なずれがある場合に対応し、本発明における画像群の特徴としての「顔の位置」は、該画像群内の各顔写真画像における顔の位置の範囲を含むものとする。
【００１４】
本発明のトリミング処理方法において、前記特徴が、前記画像群内の各顔写真画像における顔の向きを含むものであり、顔の検出を必要とする前記トリミング領域設定用部位の検出を行う際に、前記向きに基づいて検出する顔の向きを限定して前記顔の検出を行うことが好ましい。
【００１５】
本発明のトリミング処理装置は、顔部位が所定の位置に所定の大きさで配置されるように規定された所定の規格のトリミング画像を得るために、顔写真画像に対して、前記顔部位を含むトリミング領域を設定するための、前記顔部位または前記顔部位に含まれる所定の部位であるトリミング領域設定用部位を検出するトリミング領域設定用部位検出部と、
該トリミング設定用部位に基づいて、前記所定の規格に合致するように前記顔写真画像における前記トリミング領域を設定するトリミング領域設定部と、
該トリミング領域の切取りおよび／または拡大縮小を行って前記トリミング画像を得るトリミング実行部とを有してなるトリミング処理装置であって、
同じ撮像条件で人物を撮像して得た複数の顔写真画像から構成された画像群毎に、該画像群内の各前記顔写真画像の、前記同じ撮像条件により生じた共通の、前記検出処理、前記設定処理、および前記切取りおよび／または拡大縮小処理のうちの１つまたは複数の処理の処理条件を限定し得る特徴を取得する特徴取得手段をさらに有し、
前記トリミング領域設定用部位検出部、および／または前記トリミング領域設定部、および／または前記トリミング実行部が、前記特徴取得手段により取得された前記特徴に応じて、該特徴を有する前記画像群内の顔写真画像の前記処理条件を限定すると共に、限定された該処理条件を用いて各前記顔写真画像に対して当該処理を行うものであることを特徴とするものである。
【００１６】
本発明のトリミング処理方法装置は、互い前記撮像条件が異なり得る複数の撮像ポイントのうちの、１つの同じ撮像ポイントにより取得された複数の顔写真画像からなる画像群を対象とすることができる。
【００１７】
前記特徴取得手段は、前記画像群のうちの一部の顔写真画像を用いて該画像群の前記特徴を取得するものとすることができる。
【００１８】
前記特徴は、前記画像群内の各顔写真画像における顔の大きさを含むものであり、前記トリミング領域設定用部位検出手段は、顔の検出を必要とする前記トリミング領域設定用部位の検出を行う際に、前記顔の大きさに基づいて検出する顔の大きさを限定して前記顔の検出を行うことが好ましい。
【００１９】
また、前記特徴は、前記画像群内の各顔写真画像における顔の位置を含むものであり、
前記トリミング領域設定用部位検出手段は、該顔の位置に基づいて、前記トリミング領域設定用部位の検出範囲を限定し、限定された前記検出範囲において各前記顔写真画像に対して前記検出を行うものとしてもよい。
【００２０】
前記特徴は、前記画像群内の各顔写真画像における顔の向きを含むものであり、前記トリミング領域設定用部位検出手段は、顔の検出を必要とする前記トリミング領域設定用部位の検出を行う際に、前記向きに基づいて検出する顔の向きを限定して前記顔の検出を行うものであることが好ましい。
【００２１】
本発明のプログラムは、本発明のトリミング処理方法をコンピュータに実行させるものである。
【発明の効果】
【００２２】
本発明によれば、同じ撮像ポイントにより取得された顔写真画像からなる画像群のような、その中に含まれる顔写真画像の撮像条件が同じ画像群に対して、まず、この同じ撮像条件により生じた共通の、顔、目などを検出する処理や、トリミング領域を設定する処理や、トリミング領域の切取りおよび／または拡大縮小処理などの処理条件を限定し得る特徴を取得する。画像群内の各顔写真画像に対してトリミング処理を行う際に、これらの特徴に応じて、トリミング処理に含まれる前述の各処理のうちの該当する処理の処理条件を限定して処理を行う。このように限定を加えることによって、処理を早くすることができ、効率が良い。例えば、特徴として画像群内の顔写真画像における顔の大きさを取得して、画像群内の各顔写真画像から顔を検出する際に、検出する顔の大きさをこの特徴としての大きさに基づいて限定することによって、計算量を減らすことができ、効率がよい。また、特徴として顔の位置を取得すれば、顔を検出する範囲を限定することができ、計算量を減らすことができる。また例えば、特徴として画像群内の顔写真画像における顔の向きを取得し、画像群内の各顔写真画像から顔、目などを検出する際に、検出する顔の向きをこの向きに基づいて限定して検出することによって、計算量を減らすことができる。また、例えば、切り取られたトリミング領域に対して、所定の規格に合致するための拡大縮小を行う必要がある場合、この拡大縮小率も画像群の特徴として取得するようにすれば、顔写真画像からトリミング領域を切り取った後には、拡大縮小率を顔写真画像毎に計算する必要がなく、この特徴としての拡大縮小率を用いて拡大縮小すればよい。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照して、本発明の実施形態について説明する。
【００２４】
図１は、本発明の実施形態となるＩＤカード発行システムの構成を示すブロック図である。図示のように、本実施形態のカード発行システムは、ＩＤカード作成対象の人物を撮像して顔写真画像（以下略して単に写真画像という）を得る複数の撮像ポイントと、各撮像ポイントからの写真画像を用いて夫々のＩＤカードを作成するＩＤカード製作センター３００とを有し、各撮像ポイントとＩＤカード製作センター３００とがネットワーク２５０により接続されており、撮像ポイントにおいて得られた写真画像は、ネットワーク２５０を介してＩＤカード製作センター３００に送信される。
【００２５】
各撮像ポイントは、撮像して得た画像写真画像をＩＤカード製作センター３００に送信する際に、撮像ポイントＡ、撮像ポイントＢなどのような、撮像を行った撮像ポイントを識別するための情報も写真画像に付属させて送信する。
【００２６】
ＩＤカード製作センター３００は、各撮像ポイントから送信されてきた写真画像を撮像ポイント毎に保管する画像保管部２２０と、画像保管部２２０により保管された写真画像に対してトリミング処理を行ってトリミング画像を得るトリミング処理部１００と、トリミング処理部１００により得られたトリミング画像を用いてＩＤカードを作成するカード作成部２４０とを備えてなるものである。
【００２７】
ＩＤカード製作センター３００の画像保管部２２０は、各撮像ポイントから送信されてきた写真画像の付属情報を読み取り、写真画像を撮像ポイント別に保管する。図２は、画像保管部２２０により保管された写真画像のデータ構造の例を示している。図示のように、各撮像ポイントからの写真画像が、その撮像ポイントに対応する記憶領域に記憶保存されている。
【００２８】
トリミング処理部１００は、画像保管部２２０により保管された写真画像に対してトリミング処理を行ってトリミング画像を得るものである。ここでは、全国に支社があり、１００００人ほどの社員を有する会社の社員証の更新のために、ＩＤカード製作センター３００に本社、各支社のための撮像ポイントから送信されてきた社員の写真画像を例にする。トリミング処理部１００は、各写真画像に対して顔検出処理と目検出処理を行うと共に、社員証に貼付される顔写真画像の規格に応じてトリミング領域の設定、切取りなどの処理を行う。なお、このトリミング処理により得られたトリミング画像のサイズが前述規格に合致する必要があるため、トリミング処理部１００は、必要に応じて写真画像の拡大縮小処理も行う。ここで、トリミング処理部１００の詳細構成について説明する。
【００２９】
図３は、図１に示す実施形態のＩＤカード発行システムにおけるＩＤカード製作センター３００のトリミング処理部１００の構成を示すブロック図である。図示のように、トリミング処理部１００は、特徴抽出部１と、目検出部１０と、瞳中心位置検出部５０と、トリミング領域取得部６０と、トリミング部７０と、第１の記憶部６５とを有してなる。なお、トリミング処理部１００は、撮像ポイント毎に写真画像のトリミング処理を行うものであり、ここでは撮像ポイントＡの各々の写真画像に対する処理を例にして説明する。
【００３０】
トリミング処理部１００の特徴抽出部１は、画像保管部２２０により保管された撮像ポイントＡからの写真画像群（図２に示す例において、撮像ポイントＡの０００１〜２０００までの画像群、以下画像群Ａという）内の一部（ここでは、図２の例に示す０００１〜００１０までの先頭の１０枚）を用いて、画像群Ａの特徴を抽出する。ここでの特徴とは、トリミング処理と関係する特徴を意味し、本実施形態においては、特徴抽出部１は、顔範囲（顔位置および大きさ）と顔の向きを画像群Ａの特徴として抽出する。各撮像ポイント間は、被写体の人物の座る位置、写真画像における人物の部分の大きさなどの撮像条件が異なる可能性があるが、同じ撮像ポイントにおいては、これらの撮像条件が同じであるため、同じ撮像ポイントの写真画像における顔の位置、大きさ、顔の向きが略同じであると考えられる。
【００３１】
図４は、特徴抽出部１の構成を示すブロック図である。図示のように、特徴抽出部１は、前述した１０枚の写真画像に対して夫々当該写真画像の特徴量Ｃ０を算出する特徴量算出部２と、後述する第１の参照データＥ１が格納されている第２の記憶部４と、特徴量算出部２が算出した特徴量Ｃ０と第２の記憶部４内の第１の参照データＥ１とに基づいて、写真画像における人物の顔を検出し、この顔の位置、大きさ、顔の向きを得る識別部５と、識別部５により得られた１０枚の写真画像の夫々における顔の位置、大きさ、向きに基づいて画像群Ａにおける顔範囲、顔向きを取得し、画像群Ａの特徴として特定する特徴特定部７と、制御部３と、処理実績データベース６とを有してなるものである。
【００３２】
特徴量算出部２は、顔の識別に用いる特徴量Ｃ０を写真画像（以下写真画像Ｓ０という）から算出する。具体的には、勾配ベクトル（すなわち写真画像Ｓ０上の各画素における濃度が変化する方向および変化の大きさ）を特徴量Ｃ０として算出する。以下、勾配ベクトルの算出について説明する。まず、特徴量算出部２は、写真画像Ｓ０に対して図５（ａ）に示す水平方向のエッジ検出フィルタによるフィルタリング処理を施して写真画像Ｓ０における水平方向のエッジを検出する。また、特徴量算出部２は、写真画像Ｓ０に対して図５（ｂ）に示す垂直方向のエッジ検出フィルタによるフィルタリング処理を施して写真画像Ｓ０における垂直方向のエッジを検出する。そして、写真画像Ｓ０上の各画素における水平方向のエッジの大きさＨおよび垂直方向のエッジの大きさＶとから、図６に示すように、各画素における勾配ベクトルＫを算出する。なお、特徴量算出部２は、後述するように写真画像Ｓ０および顔画像の変形の各段階において特徴量Ｃ０を算出する。
【００３３】
なお、このようにして算出された勾配ベクトルＫは、図７（ａ）に示すような人物の顔の場合、図７（ｂ）に示すように、目および口のように暗い部分においては目および口の中央を向き、鼻のように明るい部分においては鼻の位置から外側を向くものとなる。また、口よりも目の方が濃度の変化が大きいため、勾配ベクトルＫは口よりも目の方が大きくなる。
【００３４】
そして、この勾配ベクトルＫの方向および大きさを特徴量Ｃ０とする。なお、勾配ベクトルＫの方向は、勾配ベクトルＫの所定方向（例えば図６におけるｘ方向）を基準とした０から３５９度の値となる。
【００３５】
ここで、勾配ベクトルＫの大きさは正規化される。この正規化は、写真画像Ｓ０の全画素における勾配ベクトルＫの大きさのヒストグラムを求め、その大きさの分布が写真画像Ｓ０の各画素が取り得る値（８ビットであれば０〜２５５）に均一に分布されるようにヒストグラムを平滑化して勾配ベクトルＫの大きさを修正することにより行う。例えば、勾配ベクトルＫの大きさが小さく、図８（ａ）に示すように勾配ベクトルＫの大きさが小さい側に偏ってヒストグラムが分布している場合には、大きさが０〜２５５の全領域に亘るものとなるように勾配ベクトルＫの大きさを正規化して図８（ｂ）に示すようにヒストグラムが分布するようにする。なお、演算量を低減するために、図８（ｃ）に示すように、勾配ベクトルＫのヒストグラムにおける分布範囲を例えば５分割し、５分割された頻度分布が図８（ｄ）に示すように０〜２５５の値を５分割した範囲に亘るものとなるように正規化することが好ましい。
【００３６】
第２の記憶部４内に格納されている第１の参照データＥ１は、後述するサンプル画像から選択された複数画素の組み合わせからなる複数種類の画素群のそれぞれについて、各画素群を構成する各画素における特徴量Ｃ０の組み合わせに対する識別条件を規定したものである。
【００３７】
第１の参照データＥ１中の、各画素群を構成する各画素における特徴量Ｃ０の組み合わせおよび識別条件は、顔であることが分かっている複数のサンプル画像と顔でないことが分かっている複数のサンプル画像とからなるサンプル画像群の学習により、あらかじめ決められたものである。
【００３８】
なお、本実施形態においては、第１の参照データＥ１を生成する際には、顔であることが分かっているサンプル画像として、３０×３０画素サイズを有し、図９に示すように、１つの顔の画像について両目の中心間の距離が１０画素、９画素および１１画素であり、両目の中心間距離において垂直に立った顔を平面上±１５度の範囲において３度単位で段階的に回転させた（すなわち、回転角度が−１５度，−１２度，−９度，−６度，−３度，０度，３度，６度，９度，１２度，１５度）サンプル画像を用いるものとする。したがって、１つの顔の画像につきサンプル画像は３×１１＝３３通り用意される。なお、図９においては−１５度、０度および＋１５度に回転させたサンプル画像のみを示す。また、回転の中心はサンプル画像の対角線の交点である。ここで、両目の中心間の距離が１０画素のサンプル画像であれば、目の中心位置はすべて同一となっている。この目の中心位置をサンプル画像の左上隅を原点とする座標上において（ｘ１，ｙ１）、（ｘ２，ｙ２）とする。また、図面上の上下方向における目の位置（すなわちｙ１，ｙ２）はすべてのサンプル画像において同一である。
【００３９】
また、顔でないことが分かっているサンプル画像としては、３０×３０画素サイズを有する任意の画像を用いるものとする。
【００４０】
ここで、顔であることが分かっているサンプル画像として、両目の中心間距離が１０画素であり、平面上の回転角度が０度（すなわち顔が垂直な状態）のもののみを用いて学習を行った場合、第１の参照データＥ１を参照して顔の位置であると識別されるのは、両目の中心間距離が１０画素で全く回転していない顔のみである。写真画像Ｓ０に含まれる可能性がある顔のサイズは一定ではないため、顔を識別する際には、後述するように写真画像Ｓ０を拡大縮小して、サンプル画像のサイズに適合するサイズの顔および目の位置を識別できるようにしている。しかしながら、両目の中心間距離を正確に１０画素とするためには、写真画像Ｓ０のサイズを拡大率として例えば１．１単位で段階的に拡大縮小しつつ識別を行う必要があるため、演算量が膨大なものとなる。
【００４１】
また、写真画像Ｓ０に含まれる可能性がある顔は、図１１（ａ）に示すように平面上の回転角度が０度のみではなく、図１１（ｂ）、（ｃ）に示すように回転している場合もある。しかしながら、両目の中心間距離が１０画素であり、顔の回転角度が０度のサンプル画像のみを使用して学習を行った場合、顔であるにも拘わらず、図１１（ｂ）、（ｃ）に示すように回転した顔については識別を行うことができなくなってしまう。
【００４２】
このため、本実施形態においては、顔であることが分かっているサンプル画像として、図９に示すように両目の中心間距離が９，１０，１１画素であり、各距離において平面上±１５度の範囲にて３度単位で段階的に顔を回転させたサンプル画像を用いて、第１の参照データＥ１の学習に許容度を持たせるようにしたものである。これにより、後述する識別部５において識別を行う際には、写真画像Ｓ０を拡大率として１１／９単位で段階的に拡大縮小すればよいため、写真画像Ｓ０のサイズを例えば拡大率として例えば１．１単位で段階的に拡大縮小する場合と比較して、演算時間を低減できる。また、図１１（ｂ）、（ｃ）に示すように回転している顔も識別することができる。
【００４３】
以下、図１２のフローチャートを参照しながらサンプル画像群の学習手法の一例を説明する。
【００４４】
学習の対象となるサンプル画像群は、顔であることが分かっている複数のサンプル画像と、顔でないことが分かっている複数のサンプル画像とからなる。なお、顔であることが分かっているサンプル画像は、上述したように１つのサンプル画像につき両目の中心位置が９，１０，１１画素であり、各距離において平面上±１５度の範囲にて３度単位で段階的に顔を回転させたものを用いる。各サンプル画像には、重みすなわち重要度が割り当てられる。まず、すべてのサンプル画像の重みの初期値が等しく１に設定される（Ｓ１）。
【００４５】
次に、サンプル画像における複数種類の画素群のそれぞれについて識別器が作成される（Ｓ２）。ここで、それぞれの識別器とは、１つの画素群を構成する各画素における特徴量Ｃ０の組み合わせを用いて、顔の画像と顔でない画像とを識別する基準を提供するものである。本実施形態においては、１つの画素群を構成する各画素における特徴量Ｃ０の組み合わせについてのヒストグラムを識別器として使用する。
【００４６】
図１３を参照しながらある識別器の作成について説明する。図１３の左側のサンプル画像に示すように、この識別器を作成するための画素群を構成する各画素は、顔であることが分かっている複数のサンプル画像上における、右目の中心にある画素Ｐ１、右側の頬の部分にある画素Ｐ２、額の部分にある画素Ｐ３および左側の頬の部分にある画素Ｐ４である。そして顔であることが分かっているすべてのサンプル画像について全画素Ｐ１〜Ｐ４における特徴量Ｃ０の組み合わせが求められ、そのヒストグラムが作成される。ここで、特徴量Ｃ０は勾配ベクトルＫの方向および大きさを表すが、勾配ベクトルＫの方向は０〜３５９の３６０通り、勾配ベクトルＫの大きさは０〜２５５の２５６通りあるため、これをそのまま用いたのでは、組み合わせの数は１画素につき３６０×２５６通りの４画素分、すなわち（３６０×２５６）4通りとなってしまい、学習および検出のために多大なサンプルの数、時間およびメモリを要することとなる。このため、本実施形態においては、勾配ベクトルの方向を０〜３５９を０〜４４と３１５〜３５９（右方向、値：０），４５〜１３４（上方向値：１），１３５〜２２４（左方向、値：２），２２５〜３１４（下方向、値３）に４値化し、勾配ベクトルの大きさを３値化（値：０〜２）する。そして、以下の式を用いて組み合わせの値を算出する。
【００４７】
組み合わせの値＝０（勾配ベクトルの大きさ＝０の場合）
組み合わせの値＝（（勾配ベクトルの方向＋１）×勾配ベクトルの大きさ（勾配ベクトルの大きさ＞０の場合）
これにより、組み合わせ数が９4通りとなるため、特徴量Ｃ０のデータ数を低減できる。
【００４８】
同様に、顔でないことが分かっている複数のサンプル画像についても、ヒストグラムが作成される。なお、顔でないことが分かっているサンプル画像については、顔であることが分かっているサンプル画像上における上記画素Ｐ１〜Ｐ４の位置に対応する画素が用いられる。これらの２つのヒストグラムが示す頻度値の比の対数値を取ってヒストグラムで表したものが、図１３の一番右側に示す、識別器として用いられるヒストグラムである。この識別器のヒストグラムが示す各縦軸の値を、以下、識別ポイントと称する。この識別器によれば、正の識別ポイントに対応する特徴量Ｃ０の分布を示す画像は顔である可能性が高く、識別ポイントの絶対値が大きいほどその可能性は高まると言える。逆に、負の識別ポイントに対応する特徴量Ｃ０の分布を示す画像は顔でない可能性が高く、やはり識別ポイントの絶対値が大きいほどその可能性は高まる。ステップＳ２では、識別に使用され得る複数種類の画素群を構成する各画素における特徴量Ｃ０の組み合わせについて、上記のヒストグラム形式の複数の識別器が作成される。
【００４９】
続いて、ステップＳ２で作成した複数の識別器のうち、画像が顔であるか否かを識別するのに最も有効な識別器が選択される。最も有効な識別器の選択は、各サンプル画像の重みを考慮して行われる。この例では、各識別器の重み付き正答率が比較され、最も高い重み付き正答率を示す識別器が選択される（Ｓ３）。すなわち、最初のステップＳ３では、各サンプル画像の重みは等しく１であるので、単純にその識別器によって画像が顔であるか否かが正しく識別されるサンプル画像の数が最も多いものが、最も有効な識別器として選択される。一方、後述するステップＳ５において各サンプル画像の重みが更新された後の２回目のステップＳ３では、重みが１のサンプル画像、重みが１よりも大きいサンプル画像、および重みが１よりも小さいサンプル画像が混在しており、重みが１よりも大きいサンプル画像は、正答率の評価において、重みが１のサンプル画像よりも重みが大きい分多くカウントされる。これにより、２回目以降のステップＳ３では、重みが小さいサンプル画像よりも、重みが大きいサンプル画像が正しく識別されることに、より重点が置かれる。
【００５０】
次に、それまでに選択した識別器の組み合わせの正答率、すなわち、それまでに選択した識別器を組み合わせて使用して各サンプル画像が顔の画像であるか否かを識別した結果が、実際に顔の画像であるか否かの答えと一致する率が、所定の閾値を超えたか否かが確かめられる（Ｓ４）。ここで、組み合わせの正答率の評価に用いられるのは、現在の重みが付けられたサンプル画像群でも、重みが等しくされたサンプル画像群でもよい。所定の閾値を超えた場合は、それまでに選択した識別器を用いれば画像が顔であるか否かを十分に高い確率で識別できるため、学習は終了する。所定の閾値以下である場合は、それまでに選択した識別器と組み合わせて用いるための追加の識別器を選択するために、ステップＳ６へと進む。
【００５１】
ステップＳ６では、直近のステップＳ３で選択された識別器が再び選択されないようにするため、その識別器が除外される。
【００５２】
次に、直近のステップＳ３で選択された識別器では顔であるか否かを正しく識別できなかったサンプル画像の重みが大きくされ、画像が顔であるか否かを正しく識別できたサンプル画像の重みが小さくされる（Ｓ５）。このように重みを大小させる理由は、次の識別器の選択において、既に選択された識別器では正しく識別できなかった画像を重要視し、それらの画像が顔であるか否かを正しく識別できる識別器が選択されるようにして、識別器の組み合わせの効果を高めるためである。
【００５３】
続いて、ステップＳ３へと戻り、上記したように重み付き正答率を基準にして次に有効な識別器が選択される。
【００５４】
以上のステップＳ３からＳ６を繰り返して、顔が含まれるか否かを識別するのに適した識別器として、特定の画素群を構成する各画素における特徴量Ｃ０の組み合わせに対応する識別器が選択されたところで、ステップＳ４で確認される正答率が閾値を超えたとすると、顔が含まれるか否かの識別に用いる識別器の種類と識別条件とが確定され（Ｓ７）、これにより第１の参照データＥ１の学習を終了する。
【００５５】
なお、上記の学習手法を採用する場合において、識別器は、特定の画素群を構成する各画素における特徴量Ｃ０の組み合わせを用いて顔の画像と顔でない画像とを識別する基準を提供するものであれば、上記のヒストグラムの形式のものに限られずいかなるものであってもよく、例えば２値データ、閾値または関数等であってもよい。また、同じヒストグラムの形式であっても、図１３の中央に示した２つのヒストグラムの差分値の分布を示すヒストグラム等を用いてもよい。
【００５６】
また、学習の方法としては上記手法に限定されるものではなく、ニューラルネットワーク等他のマシンラーニングの手法を用いることができる。
【００５７】
識別部５は、複数種類の画素群を構成する各画素における特徴量Ｃ０の組み合わせのすべてについて第１の参照データＥ１が学習した識別条件を参照して、各々の画素群を構成する各画素における特徴量Ｃ０の組み合わせについての識別ポイントを求め、すべての識別ポイントを総合して写真画像Ｓ０に顔が含まれるか否かを識別する。この際、特徴量Ｃ０である勾配ベクトルＫの方向は４値化され大きさは３値化される。本実施形態では、すべての識別ポイントを加算して、その加算値が所定の閾値（以下顔識別閾値という）以上である場合には写真画像Ｓ０には顔が含まれると判断し、顔識別閾値より小さい場合には顔は含まれないと判断する。
【００５８】
ここで、写真画像Ｓ０のサイズは３０×３０画素のサンプル画像とは異なり、各種サイズを有するものとなっている可能性がある。また、顔が含まれる場合、平面上における顔の回転角度が０度であるとは限らない。このため、識別部５は、図１４に示すように、写真画像Ｓ０を縦または横のサイズが３０画素となるまで段階的に拡大縮小するとともに平面上で段階的に３６０度回転させつつ（図１４においては縮小する状態を示す）、各段階において拡大縮小された写真画像Ｓ０上に３０×３０画素サイズのマスクＭを設定し、マスクＭを拡大縮小された写真画像Ｓ０上において１画素ずつ移動させながら、マスク内の画像が顔の画像であるか否かの識別を行うことにより、写真画像Ｓ０に顔が含まれるか否かを識別する。
【００５９】
なお、第１参照データＥ１の生成時に学習したサンプル画像として両目の中心位置の画素数が９，１０，１１画素のものを使用しているため、写真画像Ｓ０の拡大縮小時の拡大率は１１／９とすればよい。また、第１の参照データＥ１の生成時に学習したサンプル画像として、顔が平面上で±１５度の範囲において回転させたものを使用しているため、写真画像Ｓ０は３０度単位で３６０度回転させればよい。
【００６０】
なお、特徴量算出部２は、写真画像Ｓ０の拡大縮小および回転という変形の各段階において特徴量Ｃ０を算出する。
【００６１】
そして、写真画像Ｓ０に顔が含まれるか否かの識別を拡大縮小および回転の全段階の写真画像Ｓ０について行い、一度でも顔が含まれると識別された場合には、写真画像Ｓ０には顔が含まれると識別し、顔が含まれると識別された段階におけるサイズおよび回転角度の写真画像Ｓ０から、識別されたマスクＭの位置に対応する３０×３０画素の領域を顔の画像（以下顔画像という）として抽出する。ここで、前述した各段階は、写真画像Ｓ０の拡大縮小率および回転角度に対応するため、識別部５は、顔画像が抽出された段階およびマスクＭの位置に基づいて、写真画像Ｓ０における顔の向きと、顔の位置およびサイズ（拡大縮小される前のサイズ）とを取得する。
【００６２】
特徴量算出部２および識別部５は、前述した処理を画像群Ａの先頭１０枚の写真画像に対して行い、夫々の写真画像における顔の向きと、顔の位置およびサイズ（顔範囲）とを取得して、特徴特定部７に出力する。
【００６３】
特徴特定部７は、識別部５により１０枚の写真画像に対して夫々得られた顔の向きを画像群Ａにおける写真画像の顔の向きとすると共に、識別部５により得られた夫々の顔範囲を包含する範囲を画像群Ａにおける顔の範囲として画像群Ａの特徴を特定する。
【００６４】
特徴特定部７は、画像群Ａの特徴を図３に示すトリミング処理部１００の目検出部１０に出力すると共に、撮像ポイントＡの特徴として処理実績データベース６にも出力して登録させる。図１６は、処理実績データベース６におけるデータ構成の例を示している。図示のように、処理実績データベース６において、特徴特定部７により得られた撮像ポイントの特徴、すなわち当該撮像ポイントにおいて得られた写真画像における顔の向き、顔範囲を示す情報が、撮像ポイント毎に記憶されている。図示の例では、顔の向きとして、顔が傾いた角度、顔範囲として、顔領域の左上端の画素位置（ａ１，ｂ１）と顔領域の右下端の画素位置（ａ２，ｂ２）が撮像ポイントに対応して記憶されている。
【００６５】
ここまで特徴抽出部１の特徴量算出部２、識別部５、特徴特定部７において行われる処理について説明したが、これらの処理は、制御部３の制御に従って行われるものである。制御部３は、画像群Ａに対して、まず、画像群Ａに付属された、撮像ポイントを示す情報（撮像ポイントＡ）を取得し、処理実績データベース６と照合する。処理実績データベース６に撮像ポイントＡの特徴が記憶されていれば、処理実績データベース６からその特徴を読み出して直接目検出部１０に出力するが、処理実績データベース６に撮像ポイントＡに関するデータがなければ、画像群Ａの先頭１０枚の写真画像を特徴量算出部２に出力して、特徴量の算出、顔の識別、特徴の特定、処理実績データベース６への登録などの上述した処理を行わせる。
【００６６】
図１５は、特徴抽出部１において行われる処理を示すフローチャートである。図示のように、制御部３は、まず、画像群Ａの撮像ポイントを示す情報（ここでは撮像ポイントＡ）を取得し、取得された撮像ポイントに対応する特徴が処理実績データベース６にあるか否かを照合する（Ｓ１０、Ｓ１１）。処理実績データベース６に撮像ポイントＡに対応する特徴があれば（Ｓ１２：Ｙｅｓ）、その特徴を読み出して目検出部１０に出力する（Ｓ１３、Ｓ２３）一方、処理実績データベース６に撮像ポイントＡに対応する特徴がなければ（Ｓ１２：Ｎｏ）、画像群Ａの先頭１０枚の写真画像を特徴量算出部２に出力してステップＳ１４〜Ｓ２３までの処理を行わせる。画像群Ａにおける１枚目の写真画像に対して、特徴量算出部２がこの写真画像の拡大縮小および回転の各段階において、写真画像の勾配ベクトルＫの方向および大きさを特徴量Ｃ０として算出する（Ｓ１４、Ｓ１５）。そして、識別部５が第２の記憶部４から第１の参照データＥ１を読み出し（Ｓ１６）、該写真画像に顔が含まれるか否かの識別を行い、前述各段階のうち、顔が含まれると識別された段階におけるサイズおよび回転角度の写真画像から、識別されたマスクＭの位置に対応する３０×３０画素の領域を顔画像として抽出する（Ｓ１７）と共に、当該写真画像における顔の向き、顔の範囲を取得する（Ｓ１８）。特徴抽出部１の特徴量算出部２と識別部５は、ステップＳ１４〜ステップＳ１８までの処理を、画像群Ａの先頭１０枚の写真画像に対して行い、各写真画像に対する処理の結果を特徴特定部７に出力する（Ｓ１５〜Ｓ２０）。特徴特定部７は、識別部５により１０枚の写真画像に対して夫々得られた顔の向きを画像群Ａにおける全ての写真画像の顔の向きとすると共に、識別部５により得られた夫々の顔範囲を包含する範囲を画像群Ａの各写真画像における顔の範囲として画像群Ａの特徴を特定する（Ｓ２１）。制御部３は、特徴特定部７により得られた画像群Ａの特徴を処理実績データベース６に登録させると共に、目検出部１０にも出力させる（Ｓ２２、Ｓ２３）。
【００６７】
目検出部１０は、特徴抽出部１から出力されてきた画像群Ａの特徴を利用して、画像群Ａに含まれる各々の写真画像に対して、両目の検出を行うものである。図１７は、目検出部１０の構成を示すブロック図である。図示のように、目検出部１０は、写真画像Ｓ０から顔を検出する領域を抽出して領域画像Ｓ０ａを得る顔検出領域取得部１１と、領域画像Ｓ０ａおよび後述する顔画像から特徴量Ｃ０を算出する特徴量算出部１２と、後述する第１および第２の参照データＥ１ａ、Ｅ２が格納されている第３の記憶部１３と、特徴量算出部１２が算出した領域画像Ｓ０ａの特徴量Ｃ０と第３の記憶部１３内の第１の参照データＥ１ａとに基づいて、領域画像Ｓ０ａにおける人物の顔を識別して、顔部分の画像（顔画像）を抽出する第１の識別部１４と、第１の識別部１４により抽出された顔画像に対して、特徴量算出部１２が算出した顔画像内の特徴量Ｃ０と第３の記憶部１３内の第２の参照データＥ２とに基づいて、その顔に含まれる目の位置を識別する第２の識別部１５とを備えてなる。
【００６８】
なお、目検出部１０により識別される目の位置とは、顔における目尻から目頭の間の中心位置（図１８中×で示す）であり、図１８（ａ）に示すように真正面を向いた目の場合においては瞳の中心位置と同様であるが、図１８（ｂ）に示すように右を向いた目の場合は瞳の中心位置ではなく、瞳の中心から外れた位置または白目部分に位置する。
【００６９】
顔検出領域取得部１１は、特徴抽出部１から出力されてきた画像群Ａの特徴に基づいて、写真画像Ｓ０から顔検出用の領域画像Ｓ０ａを取得する。具体的には、まず、画像群Ａの１つの特徴である顔範囲（例えば図１６に示す位置（ａ１，ｂ１）と位置（ａ２，ｂ２）とを対角線両端の頂点とする長方形区域）の画像を抽出すると共に、画像群Ａのもう１つの特徴である顔の向きに基づいて、抽出された画像を回転させることによって、図１１（ａ）に示すような顔が垂直な状態である領域画像Ｓ０ａを取得する。このようにして顔検出領域取得部１１により得られた領域画像Ｓ０ａは、顔が含まれ、かつ顔の状態が垂直（すなわち平面上における回転角度が０度）である画像となる。
【００７０】
特徴量算出部１２は、顔の識別に用いる特徴量Ｃ０を領域画像Ｓ０ａから算出する。また、後述するように第１の識別部１４により領域画像Ｓ０ａから抽出された顔画像からも同様の特徴量Ｃ０を算出する。なお、処理する対象が写真画像Ｓ０ではなく、写真画像Ｓ０の一部（またはこの一部を回転させて得た画像）となる領域画像Ｓ０ａおよび後述する顔画像である点を除いて、特徴量算出部１２は、特徴抽出部１の特徴量算出部２と同じ動作をするので、ここでその詳細な説明を省略する。
【００７１】
第３の記憶部１３内に格納されている第１および第２の参照データＥ１ａ，Ｅ２は、後述するサンプル画像から選択された複数画素の組み合わせからなる複数種類の画素群のそれぞれについて、各画素群を構成する各画素における特徴量Ｃ０の組み合わせに対する識別条件を規定したものである。
【００７２】
第１および第２の参照データＥ１ａ，Ｅ２中の、各画素群を構成する各画素における特徴量Ｃ０の組み合わせおよび識別条件は、顔であることが分かっている複数のサンプル画像と顔でないことが分かっている複数のサンプル画像とからなるサンプル画像群の学習により、あらかじめ決められたものである。
【００７３】
特徴抽出部１において、処理する写真画像Ｓ０における顔の向きが分からないため、第１の参照データＥ１は、顔であることが分かっているサンプル画像として、図１１（ｂ）、（ｃ）に示すように回転している顔も識別できるように、両目の中心間距離において垂直に立った顔を平面上±１５度の範囲において３度単位で段階的に回転させた（すなわち、回転角度が−１５度，−１２度，−９度，−６度，−３度，０度，３度，６度，９度，１２度，１５度）サンプル画像を用いるものとしている。すなわち、１つの顔の画像につき図９に示すように両目の中心間距離が９，１０，１１画素であり、各距離において平面上±１５度の範囲にて３度単位で段階的に顔を回転させた３×１１＝３３通りのサンプル画像が用意される。これに対して、目検出部１０においては、顔検出の対象となる画像が、顔検出領域取得部１１により得られた領域画像Ｓ０ａであり、この領域画像Ｓ０ａにおける顔の向きが顔検出領域取得部１１により図１１（ａ）に示すように垂直になるように回転されたものであるため、第１の参照データＥ１ａを求めるためには、１つの顔の画像につき図９の最上部に示された３つの、顔が垂直な状態であるサンプル画像のみを用いればよい。
【００７４】
なお、第１の参照データＥ１ａ、および後述する第２の参照データＥ２を求めるための学習手法は、特徴抽出部１に用いられた第１の参照データＥ１を求めるための学習手法と同じであり、ここで、その詳細な説明を省略する。
【００７５】
本実施形態において、第２の参照データＥ２を生成する際には、顔であることが分かっているサンプル画像として、３０×３０画素サイズを有し、図１０に示すように、１つの顔の画像について両目の中心間の距離が１０画素、９．７画素および１０．３画素であり、顔が各両目の中心間距離において垂直に立った（回転角度が０度）３通りのサンプル画像を用いるものとする。なお、両目の中心間の距離を９．７画素および１０．３画素とするためには、両目の中心間の距離が１０画素のサンプル画像を９．７倍あるいは１０．３倍に拡大縮小して、拡大縮小後のサンプル画像のサイズを３０×３０画素とすればよい。
【００７６】
通常、写真画像に含まれる可能性がある顔は、図１１（ａ）に示すように平面上の回転角度が０度のみではなく、図１１（ｂ）、（ｃ）に示すように回転している場合もある。そのため、目の識別を行う際に、顔の回転角度が０度のサンプル画像のみを使用して学習を行った場合、顔における目であるにも拘わらず、図１１（ｂ）、（ｃ）に示すように回転した顔における目の識別を行うことができなくなってしまう。回転した顔中の目も識別できるようにするためには、１つの顔の画像について顔が各両目の中心間距離において垂直に立った顔を平面上において例えば１度単位で段階的に回転させたサンプル画像を用いる必要がある。本実施形態において、顔検出領域取得部１１により得られた領域画像Ｓ０ａは、顔の回転角度が０度の画像であるため、目検出部１０の第１の識別部１４により抽出された顔画像においても、顔の回転角度が０度の画像であるため、目の識別をするためのサンプル画像は、図１０に示すような顔が回転していないもののみでよい。
【００７７】
なお、第２の参照データＥ２の学習に用いられるサンプル画像における目の中心位置を、本実施形態において識別する目の位置とする。
【００７８】
また、顔でないことが分かっているサンプル画像としては、３０×３０画素サイズを有する任意の画像を用いるものとする。
【００７９】
第１の識別部１４は、複数種類の画素群を構成する各画素における特徴量Ｃ０の組み合わせのすべてについて第１の参照データＥ１ａが学習した識別条件を参照して、各々の画素群を構成する各画素における特徴量Ｃ０の組み合わせについての識別ポイントを求め、すべての識別ポイントを総合して領域画像Ｓ０ａにおける顔を識別する。この際、特徴量Ｃ０である勾配ベクトルＫの方向は４値化され大きさは３値化される。
【００８０】
ここで、領域画像Ｓ０ａのサイズは３０×３０画素のサンプル画像とは異なり、特徴抽出部１により得られた顔範囲のサイズを有するものである。このため、第１の識別部１４は、領域画像Ｓ０ａを縦または横のサイズが３０画素となるまで段階的に拡大縮小しつつ、各段階において拡大縮小された領域画像Ｓ０ａ上に３０×３０画素サイズのマスクＭを設定し、マスクＭを拡大縮小された領域画像Ｓ０ａ上において１画素ずつ移動させながら、マスク内の画像が顔の画像であるか否かの識別を行う。
【００８１】
なお、第１参照データＥ１ａの生成時に学習したサンプル画像として両目の中心位置の画素数が９，１０，１１画素のものを使用しているため、写真画像Ｓ０の拡大縮小時の拡大率は１１／９とすればよい。
【００８２】
なお、特徴量算出部１２は、領域画像Ｓ０ａの拡大縮小という変形の各段階において特徴量Ｃ０を算出する。
【００８３】
ここで、特徴抽出部１においては、処理対象となる写真画像Ｓ０のサイズは３０×３０画素のサンプル画像とは異なり、各種サイズを有するものとなっている可能性がある。また、顔が含まれる場合、平面上における顔の回転角度が０度であるとは限らない。このため、特徴抽出部１の識別部５は、写真画像Ｓ０を縦または横のサイズが３０画素となるまで段階的に拡大縮小するとともに平面上で段階的に３６０度回転させつつ各段階において拡大縮小された写真画像Ｓ０上に３０×３０画素サイズのマスクＭを設定し、マスクＭを拡大縮小された写真画像Ｓ０上において１画素ずつ移動させながら、マスク内の画像が顔の画像であるか否かの識別を行うことにより、写真画像Ｓ０内の顔を識別する。これに対して、目検出部１０においては、処理対象となる領域画像Ｓ０ａは、顔の回転角度が０度であるため、目検出部１０の第１の識別部１４は、領域画像Ｓ０ａを縦または横のサイズが３０画素となるまで段階的に拡大縮小し、各段階において拡大縮小された領域画像Ｓ０ａ上に３０×３０画素サイズのマスクＭを設定し、マスクＭを拡大縮小された領域画像Ｓ０ａ上において１画素ずつ移動させながら、マスク内の画像が顔の画像であるか否かの識別を行うことにより、領域画像Ｓ０ａ内の顔を識別する。すなわち、特徴抽出部１の識別部５と比べ、処理する対象の領域画像Ｓ０ａが平面上における回転角度が０であるため、顔を識別する際に、領域画像Ｓ０ａを拡大縮小するものの、回転させる必要がない。こうすることによって、演算量を減らすことができ、効率が良い。
【００８４】
また、顔を識別する処理を施す画像が、写真画像Ｓ０の一部分となる領域画像Ｓ０ａのみであり、識別する範囲が狭くなるため、写真画像Ｓ０全体から顔を識別することよりさらに演算量を減らすことができる。
【００８５】
前に説明したように、特徴抽出部１における識別部５は、写真画像Ｓ０における顔を識別する際に、識別ポイントが所定の顔識別閾値以上である場合に顔が含まれると識別する。写真画像Ｓ０には、顔以外に背景部分も多く存在し、所定の顔識別閾値を用いて顔の識別をするのは、顔以外の部分を顔として誤識別してしまうことを防ぐためである。一方、目検出部１０における第１の識別部１４は、主要部分が顔であり、背景部分が少ない領域画像Ｓ０ａにおける顔を識別するものであるため、ここでは、すべての識別ポイントを加算して、その加算値の正負および大きさによって識別を行うものとする。例えば、加算値が負の値である場合には、マスクＭ内の画像が顔ではないと判断する一方、前述した全ての段階において得られた正の値を有する加算値のうち、最も値の大きい加算値が求められた段階におけるサイズの領域画像Ｓ０ａから、該当するマスクＭの位置に対応する３０×３０画素の領域を顔画像として抽出する。
【００８６】
第２の識別部１５は、第１の識別部１４が抽出した顔画像上において、複数種類の画素群を構成する各画素における特徴量Ｃ０の組み合わせのすべてについて第２の参照データＥ２が学習した識別条件を参照して、各々の画素群を構成する各画素における特徴量Ｃ０の組み合わせについての識別ポイントを求め、すべての識別ポイントを総合して顔に含まれる目の位置を識別する。この際、特徴量Ｃ０である勾配ベクトルＫの方向は４値化され大きさは３値化される。
【００８７】
ここで、第２の識別部１５は、第１の識別部１４が抽出した顔画像のサイズを段階的に拡大縮小しつつ、各段階において拡大縮小された顔画像上に３０×３０画素サイズのマスクＭを設定し、マスクＭを拡大縮小された顔上において１画素ずつ移動させながら、マスク内の画像における目の位置の識別を行う。
【００８８】
ここで、第２の識別部１５は、第１の識別部１４が領域画像Ｓ０ａにおける顔を識別する際と同じように、顔の状態が垂直であるため、顔画像を拡大縮小するものの、回転させる必要がない。こうすることによって、演算量を減らすことができ、効率が良い。
【００８９】
なお、第２参照データＥ２の生成時に学習したサンプル画像として両目の中心位置の画素数が９．０７，１０，１０．３画素のものを使用しているため、顔画像の拡大縮小時の拡大率は１０．３／９．７とすればよい。
【００９０】
なお、特徴量算出部１２は、顔画像の拡大縮小という変形の各段階において特徴量Ｃ０を算出する。
【００９１】
そして、本実施形態では、抽出された顔画像の変形の全段階においてすべての識別ポイントを加算し、加算値が最も大きい変形の段階における３０×３０画素のマスクＭ内の顔画像において、左上隅を原点とする座標を設定し、サンプル画像における目の位置の座標（ｘ１，ｙ１）、（ｘ２，ｙ２）に対応する位置を求め、変形前の領域画像Ｓ０ａにおけるこの位置に対応する位置を目の位置と識別する。
【００９２】
第２の識別部１５は、上述した処理において識別した両目の位置から両目間の距離Ｄを求め、両目の位置および両目間の距離Ｄを情報Ｑとして瞳中心位置検出部５０に出力する。
【００９３】
図１９は本実施形態における目検出部１０の動作を示すフローチャートである。領域画像Ｓ０ａに対して、まず、特徴量算出部１２が領域画像Ｓ０ａの拡大縮小の各段階において、領域画像Ｓ０ａの勾配ベクトルＫの方向および大きさを特徴量Ｃ０として算出する（Ｓ３０）。そして、第１の識別部１４が第３の記憶部１３から第１の参照データＥ１ａを読み出し（Ｓ３１）、領域画像Ｓ０ａにおける顔を識別すると共に、識別された顔の画像を抽出する（Ｓ３２）。次いで、特徴量算出部１２が顔画像の拡大縮小の各段階において、顔画像の勾配ベクトルＫの方向および大きさを特徴量Ｃ０として算出する（Ｓ３３）。そして、第２の識別部１５が第３の記憶部１３から第２の参照データＥ２を読み出し（Ｓ３４）、顔に含まれる目の位置の識別を行う（Ｓ３５）。
【００９４】
続いて、第２の識別部１５は、ステップＳ３５において識別された目の位置に基づいて両目間の距離Ｄを求め、目の位置および両目間の距離Ｄを情報Ｑとして瞳中心位置検出部５０に出力する（Ｓ３６、Ｓ３７）。
【００９５】
次に瞳中心位置検出部５０について説明する。
【００９６】
図２０は、瞳中心位置検出部５０の構成を示すブロック図である。図示のように、瞳中心位置検出部５０は、目検出部１０からの情報Ｑに基づいて、写真画像Ｓ０を２つに切り取って左目と右目とを夫々含む片目画像Ｓ１ａ、Ｓ１ｂ（以下、区別して説明する必要がない場合には、両方を指す意味でＳ１という）を得る切取部３０と、片目画像Ｓ１に対してグレー変換を行い、片目画像Ｓ１のグレースケール画像Ｓ２（Ｓ２ａ，Ｓ２ｂ）を得るグレー変換部３１と、グレースケール画像Ｓ２に対して前処理を行って前処理済み画像Ｓ３（Ｓ３ａ，Ｓ３ｂ）を得る前処理部３２と、前処理済み画像Ｓ３を２値化するための閾値Ｔを算出する２値化閾値算出部３４を有し、該２値化閾値算出部３４により得られた閾値Ｔを用いて前処理済み画像Ｓ３を２値化処理して２値画像Ｓ４（Ｓ４ａ，Ｓ４ｂ）を得る２値化部３３と、２値画像Ｓ４の各画素の座標を円環のハフ空間に投票し、投票された各投票位置の投票値を得ると共に、同じ円心座標を有する投票位置の統合投票値Ｗ（Ｗａ，Ｗｂ）を算出する投票部３５と、投票部３５により得られた各統合投票値のうちの最も大きい統合投票値が対応する円心座標を中心位置候補Ｇ（Ｇａ，Ｇｂ）とすると共に、後述する照合部３７から次の中心位置候補を探すように指示されたとき、次の中心位置候補を求める中心位置候補取得部３６と、中心位置候補取得部３６により取得した中心位置候補は照合基準に満たしているか否かを判別し、照合基準に満たしていればこの中心位置候補を瞳の中心位置として後述する微調整部３８に出力する一方、照合基準に満たしていなければ中心位置候補取得部３６に中心位置候補を取得し直すことをさせると共に、中心位置候補取得部３６により取得された中心位置候補が照合基準を満たすようになるまで中心位置候補取得部３６に中心位置候補の取得し直しを繰り返させる照合部３７と、照合部３７から出力されてきた瞳の中心位置Ｇ（Ｇａ，Ｇｂ）に対して微調整を行って最終中心位置Ｇ’（Ｇ’ａ，Ｇ’ｂ）を得ると共に、２つの瞳間の距離Ｄ１を求める微調整部３８とを有してなるものである。
【００９７】
切取部３０は、目検出部１０から出力されてきた情報Ｑに基づいて、左目のみと右目のみとを夫々含む所定の範囲を切り出して片目画像Ｓ１ａとＳ１ｂを得るものである。ここで、切取る際の所定の範囲とは、夫々の目の近傍を外枠にした範囲であり、例えば、図２１に示す斜線範囲のように、目検出部１０より識別した目の位置（目の中心点）を中心とした、図示Ｘ方向とＹ方向の長さが夫々Ｄと０．５Ｄである長方形の範囲とすることができる。なお、図示斜線範囲は、図中の左目のトリミングの範囲であるが、右目についても同様である。
【００９８】
グレー変換部３１は、切取部３０により得られた片目画像Ｓ１に対して下記の式（１）に従ってグレー変換処理を行ってグレースケール画像Ｓ２を得る。
【００９９】
Ｙ＝０．２９９×Ｒ＋０．５８７×Ｇ＋０．１１４×Ｂ      （１）
但し、Ｙ：輝度値
Ｒ，Ｇ，Ｂ：Ｒ、Ｇ、Ｂ値
前処理部３２は、グレースケール画像Ｓ２に対して前処理を行うものであり、ここでは、前処理として、平滑化処理と穴埋め処理が行われる。また、平滑化処理は、例えばカウシアンフィルタを適用することによって行われ、穴埋め処理は、補間処理とすることができる。
【０１００】
図１８に示すように、写真画像における瞳の部分において、中心より上が部分的に明るくなる傾向があるため、穴埋め処理を行ってこの部分のデータを補間することにより瞳の中心位置の検出精度を向上させることができる。
【０１０１】
２値化部３３は、２値化閾値算出部３４を有し、該２値化閾値算出部３４により算出した閾値Ｔを用いて、前処理部３２により得られた前処理済み画像Ｓ３を２値化して２値画像Ｓ４を得るものである。２値化閾値算出部３４は、具体的には前処理済み画像Ｓ３に対して、図２２に示す輝度のヒストグラムを作成し、前処理済み画像Ｓ３の全画素数の数分の１（図示では１／５となる２０％）に相当する出現頻度に対応する輝度値を２値化用の閾値Ｔとして求める。２値化部３３は、この閾値Ｔを用いて前処理済み画像Ｓ３を２値化して２値画像Ｓ４を得る。
【０１０２】
投票部３５は、まず、２値化画像Ｓ４における各画素（画素値が１となる画素）の座標を円環のハフ空間（円中心点Ｘ座標，円中心点Ｙ座標，半径ｒ）に投票して、各投票位置の投票値を算出する。通常、１つの投票位置がある画素により投票されると、１回投票されたとして投票値に１が加算されるようにして各投票位置の投票値を求めるようにしているが、ここでは、１つの投票位置がある画素に投票されると、投票値に１を加算するのではなく、投票した画素の輝度値を参照して、輝度値が小さいほど、大きい重みを付けて加算するようにして各投票位置の投票値を求める。図２３は、本実施形態の瞳中心位置検出部５０における投票部３５に使用された重付け係数のテーブルを示している。なお、図中Ｔは、２値化閾値算出部３４により算出された２値化用の閾値Ｔである。
【０１０３】
投票部３５は、このようにして各投票位置の投票値を求めた後、これらの投票位置のうち、円環中心点座標値、即ち円環ハフ空間（Ｘ，Ｙ，ｒ）における（Ｘ，Ｙ）座標値が同じである投票位置同士の投票値を加算して各々の（Ｘ，Ｙ）座標値に対応する統合投票値Ｗを得て、相対応する（Ｘ，Ｙ）座標値と対応付けて中心位置候補取得部３６に出力する。
【０１０４】
中心位置候補取得部３６は、まず、投票部３５からの各々の統合投票値から、最も大きい統合投票値に対応する（Ｘ，Ｙ）座標値を、瞳の中心位置候補Ｇとして取得して、照合部３７に出力する。ここで、中心位置候補取得部３６により取得された中心位置候補Ｇは、左瞳の中心位置Ｇａと右瞳の中心位置Ｇｂとの２つであり、照合部３７は、目検出部１０により出力された両目間の距離Ｄに基づいて、２つの中心位置Ｇａ、Ｇｂの照合を行う。
【０１０５】
具体的には、照合部３７は、次の２つの照合基準に基づいて照合を行う。
【０１０６】
左瞳の中心位置と右瞳の中心位置とのＹ座標値の差が（Ｄ／５０）以下。
【０１０７】
左瞳の中心位置と右瞳の中心位置とのＸ座標値の差が（０．８×Ｄ〜１．２×Ｄ）の範囲内。
【０１０８】
照合部３７は、中心位置候補取得部３６からの２つの瞳の中心位置候補Ｇａ、Ｇｂが上記２つの照合基準を満たしているか否かを判別し、２つの基準とも満たしていれば（以下照合基準を満たしているという）、瞳の中心位置候補Ｇａ、Ｇｂを瞳の中心位置として微調整部３８に出力する。一方、２つの基準または２つの基準のうちの１つを満たしていなければ（以下照合基準を満たしていないという）、中心位置候補取得部３６に次の中心位置候補を取得するように指示すると共に、中心位置候補取得部３６により取得された次の中心位置候補に対して上述した照合、照合基準を満たしている場合の中心位置出力、照合基準を満たしていない場合の中心位置候補を再取得する指示などの処理を、照合基準を満たすようになるまで繰り返す。
【０１０９】
片方、中心位置候補取得部３６は、照合部３７から次の中心位置候補の取得が指示されると、まず、片方（ここでは、左瞳）の中心位置を固定して、もう片方（ここでは右瞳）の各々の統合投票値Ｗｂから、下記の３つの条件に合う投票位置の（Ｘ，Ｙ）座標値を次の中心位置候補として取得する。
【０１１０】
１．最後に照合部３７に出力した中心位置候補の（Ｘ、Ｙ）座標値により示される位置とＤ／３０以上（Ｄ：両目間の距離）離れている。
【０１１１】
２．相対応する統合投票値が、条件１を満たす（Ｘ，Ｙ）座標値に対応する統合投票値のうち、最後に照合部３７に出力した中心位置候補の（Ｘ，Ｙ）座標値に対応する統合投票値の次に大きい。
【０１１２】
３．相対応する統合投票値が、１回目に照合部３７に出力した中心位置候補の（Ｘ，Ｙ）座標値に対応する統合投票値（最も大きい統合投票値）の１０パーセント以上である。
【０１１３】
中心位置候補取得部３６は、まず、左瞳の中心位置を固定して、右瞳に対して求められた統合投票値Ｗｂに基づいて上記３つの条件を満たす右瞳の中心位置候補を探すが、上記３つの条件を満たす候補を見つからない場合には、右瞳の中心位置を固定して、左瞳に対して求められた統合投票値Ｗａに基づいて上記の３つの条件を満たす左瞳の中心位置を探す。
【０１１４】
微調整部３８は、照合部３７から出力してきた瞳の中心位置Ｇ（照合基準を満たしている中心位置候補）に対して微調整を行うものである。まず、左瞳の中心位置の微調整を説明する。微調整部３８は、２値化部３３により得られた左目の片目画像Ｓ１ａの２値画像Ｓ４ａに対して、サイズが９×９で、オール１のマスクを用いてマスク演算を３回繰り返し、このマスク演算の結果により得られた最大結果値を有する画素の位置（Ｇｍとする）に基づいて、照合部３７から出力してきた左瞳の中心位置Ｇａに対して微調整を行う。具体的には、例えば、位置Ｇｍと中心位置Ｇａとの平均を取って得た平均位置を瞳の最終中心位置Ｇ’aとするようにしてもよいし、中心位置Ｇａの方に重みを付けて平均演算して得た平均位置を瞳の最終中心位置Ｇ’ａとするようにしてもよい。ここでは、中心位置Ｇａの方に重みを付けて平均演算することにする。
【０１１５】
また、右瞳の中心位置の微調整は、右目の片目画像Ｓ１ｂの２値画像Ｓ４ｂを用いて上記と同じように行われる。
【０１１６】
微調整部３８は、このようにして、照合部３７から出力してきた瞳の中心位置Ｇａ、Ｇｂに対して微調整を行って最終中心位置Ｇ’ａ、Ｇ’ｂを得、最終中心位置Ｇ’を用いて２つの瞳間の距離Ｄ１を求めて、中心位置Ｇ’と共にトリミング領域取得部６０に出力する。
【０１１７】
図２４は、瞳中心位置検出部５０の処理を示すフローチャートである。図示のように、まず、切取部３０は、目検出部１０により情報Ｑとして出力されてきた両目の位置および両目間の距離Ｄに基づいて写真画像Ｓ０から２つの片目画像を切り取り、左目のみを含む片目画像Ｓ１ａと右目のみを含む片目画像Ｓ１ｂが得られる（Ｓ１２５）。片目画像Ｓ１は、グレー変換部３１によりグレー変換されてグレースケール画像Ｓ２となる（Ｓ１３０）。グレースケール画像Ｓ２は、前処理部３２により平滑化処理と穴埋め処理を施され、さらに２値化部３３により２値化処理されて２値画像Ｓ４となる（Ｓ１３５、Ｓ１４０）。投票部３５において、２値画像Ｓ４の各画素の座標は円環のハフ空間に投票され、その結果、各々の円中心点を示す（Ｘ，Ｙ）座標値に対応する統合投票値Ｗが得られる（Ｓ１４５）。中心位置候補取得部３６は、まず、最も大きい統合投票値に対応する（Ｘ，Ｙ）座標値を瞳の中心位置候補Ｇとして照合部３７に出力する（Ｓ１５０）。照合部３７は、前述した照合基準に基づいて中心位置候補取得部３６からの２つの中心位置候補Ｇａ、Ｇｂに対して照合を行い（Ｓ１１５）、２つの中心位置候補Ｇａ、Ｇｂが照合基準を満たしていれば（Ｓ１６０：Ｙｅｓ）、この２つの中心位置候補Ｇａ、Ｇｂを中心位置として微調整部３８に出力する一方、２つの中心位置候補Ｇａ、Ｇｂが照合基準を満たしていなければ（Ｓ１６０：Ｎｏ）、中心位置候補取得部３６に次の中心位置候補を探すように指示する（Ｓ１５０）。ステップＳ１５０からステップＳ１６０までの処理が、照合部３７により、中心位置候補取得部３６からの中心位置候補Ｇが照合基準を満たすと判別されるまで繰り返される。
【０１１８】
微調整部３８は、照合部３７から出力された中心位置Ｇに対して微調整を行い、最終中心位置Ｇ’および２つの瞳間の距離Ｄ１をトリミング領域取得部６０に出力する（Ｓ１６５）。
【０１１９】
図２５は、トリミング領域取得部６０の構成を示すブロック図である。図示のように、トリミング領域取得部６０は、顔枠取得部６２とトリミング領域設定部６４とを有してなる。顔枠取得部６２は、写真画像Ｓ０における両瞳間の距離Ｄ１および係数Ｕ１ａ、Ｕ１ｂ、Ｕ１ｃを用いて式（２）に従った演算を行って得た値Ｌ１ａ、Ｌ１ｂ、Ｌ１ｃを夫々、写真画像Ｓ０における両瞳の中心位置Ｇｍを横方向の中心とする顔枠の横幅、中心位置Ｇｍから顔枠の上辺までの距離、中心位置Ｇｍから顔枠の下辺までの距離とするようにして顔枠を取得する。
【０１２０】
なお、係数Ｕ１ａ、Ｕ１ｂ、Ｕ１ｃは、予め設定され、第１の記憶部６５に記憶されたものであり、ここでは、夫々３．２５０×（１±０．０５）、１．９０５×（１±０．０５）、２．１７０×（１±０．０５）の範囲内の値であるものとする。
【０１２１】
Ｌ１ａ＝Ｄ１×Ｕ１ａ
Ｌ１ｂ＝Ｄ１×Ｕ１ｂ                          （２）
Ｌ１ｃ＝Ｄ１×Ｕ１ｃ
但し、Ｌ１ａ：両瞳の中心位置を横方向の中心とする顔枠の横幅
Ｌ１ｂ：両瞳の中心位置から顔枠の上辺までの距離
Ｌ１ｃ：両瞳の中心位置から顔枠の下辺までの距離
Ｄ１：両瞳間の距離
Ｕ１ａ，Ｕ１ｂ，Ｕ１ｃ：係数
トリミング領域設定部６４は、顔枠取得部６２により取得された顔枠の位置および大きさに基づいて、所定の出力規格に合致するように写真画像Ｓ０におけるトリミング領域を設定してトリミング部７０に出力する。
【０１２２】
トリミング部７０は、トリミング領域取得部６０により得られたトリミング領域を写真画像Ｓ０から切り取ると共に、出力規格に応じて必要であれば拡大縮小処理も行ってトリミング画像を得る。
【０１２３】
カード作成部２４０は、トリミング処理部１００により得られたトリミング画像を社員証に印刷する。
【０１２４】
図２６は、図１に示す実施形態のＩＤカード発行システムにおけるＩＤカード製作センター３００において行われる処理を示すフローチャートである。なお、画像保管部２２０は、各撮像ポイントから送信されてきた写真画像を撮像ポイント毎に保管するものであり、ここでは、画像保管部２２０の処理の説明を省略すると共に、画像保管部２２０に既に撮像ポイントＡの写真画像が保管されていることを例にして説明を行う。
【０１２５】
図２６に示すように、１つの画像群（ここで、例として画像群Ａ）内の各写真画像に基づいて夫々の社員証の作成をするのに当たって、まず、トリミング処理部１００における制御部３は、画像群Ａの各写真画像を撮像した撮像ポイント（ここでは撮像ポイントＡ）に対応するデータが処理実績データベース６にあるか否かを確認する（Ｓ２１０）。処理実績データベース６に撮像ポイントＡに対応するデータ、すなわち、写真画像における顔範囲、顔の向きからなる特徴を示す情報があれば（Ｓ２１０：Ｙｅｓ）、制御部３は、当該特徴を示す情報を読み出して目検出部１０に出力する（Ｓ２３０）一方、この情報が無ければ（Ｓ２１０：Ｎｏ）、画像群Ａの写真画像のうちの、先頭１０枚の写真画像を特徴抽出部１に出力して、画像群Ａ、すなわち撮像ポイントＡの特徴の抽出を行わせる（Ｓ２１５）。特徴抽出部１は、１０枚の写真画像の夫々に対して顔の識別を行って顔領域、顔の向きを得ると共に、１０枚の写真画像の夫々の顔領域を包含する領域と、顔の向きとを夫々画像群Ａの各写真画像における顔範囲と顔の向きにして画像群Ａの特徴を得る。なお、特徴抽出部１は、取得した画像群Ａの特徴を目検出部１０に出力すると共に、撮像ポイントＡの特徴として撮像ポイントＡと対応付けて処理実績データベースに登録する（Ｓ２１５、Ｓ２２０）。
【０１２６】
目検出部１０は、特徴抽出部１から出力されてきた画像群Ａの特徴に基づいて、画像群Ａの各写真画像から夫々の目の検出（本実施形態においては、両目の中心位置の識別）を行う（Ｓ２４０、Ｓ２４５）。具体的には、まず、画像群Ａの特徴に含まれる顔範囲に対応する領域を、顔を検出する領域として取得し、この顔検出領域において顔の識別を行って顔画像を抽出する（Ｓ２４０）。なお、顔の識別を行う際に、画像群Ａの特徴に含まれる顔の向きに基づいて、顔が垂直な状態になるように、顔を検出する領域の画像を回転させる。このようにして顔を検出する領域および顔の向きを限定することによって、処理の効率化を図る。次いで、抽出された顔画像に対して目の識別を行い、両目の中心位置および両目間の距離Ｄを得る（Ｓ２４５）。
【０１２７】
瞳中心位置検出部５０は、目検出部１０により得られた両目の中心位置および両目間の距離Ｄとからなる情報Ｑを利用して、写真画像における両瞳夫々の中心位置、および両瞳間の距離Ｄ１を検出する（Ｓ２５０）。
【０１２８】
トリミング領域取得部６０は、両瞳および両瞳間の距離Ｄ１を用いて顔枠を取得し、取得した顔枠に基づいて、トリミング領域を設定する（Ｓ２６５）。
【０１２９】
トリミング部７０は、トリミング領域取得部６０により設定されたトリミング領域の画像を写真画像から切り取り、必要に応じて拡大縮小処理を行ってトリミング画像を得る（Ｓ２７０）。
【０１３０】
トリミング処理部１００は、画像群Ａの特徴に基づいて顔を抽出する処理（ステップＳ２４０）からトリミング画像を得る処理（Ｓ２７０）までの処理を画像群Ａの全ての写真画像に対して施して夫々のトリミング画像を得る（Ｓ２７５：Ｎｏ、Ｓ２８０、Ｓ２４０〜Ｓ２７０）。
【０１３１】
カード作成部２４０は、トリミング処理部１００により得られた各々のトリミング画像の印刷を夫々行い、社員証を作成する（Ｓ２９０）。
【０１３２】
なお、ここでは、カード作成部２４０は、トリミング処理部１００により画像群Ａ内の全ての写真画像のトリミング画像を取得してからカードの作成を開始するようにしているが、例えば、トリミング処理部１００は、トリミング画像の取得次第、当該されたトリミング画像をカード作成部２４０に出力し、カード作成部２４０は、トリミング処理部１００から出力されてきたトリミング画像を用いて社員証を順次作成するようにしてもよい。
【０１３３】
また、目検出部１０は、画像群内の先頭１０枚の写真画像を用いて抽出された特徴に基づいて目の検出を行う際に、顔を検出する領域を、特徴として抽出された顔範囲に限定して顔を検出する処理画像群内の全ての写真画像（先頭１０枚を含む）に対して行うようにしているが、先頭１０枚の写真画像は、特徴抽出に用いられた際に既に顔の検出が行われたので、先頭１０枚の写真画像に対しては、目検出部１０において顔の検出を行うことをせず、特徴抽出の際に検出された顔に対して目の検出を行うようにしてもよい。
【０１３４】
このように、本実施形態のＩＤカード発行システムは、互いに撮像条件が異なり得る複数の撮像ポイントにおいて取得された写真画像のうちの、同じ撮像ポイントの写真画像群に対してトリミング処理を行う際に、同じ撮像ポイントの写真画像は、顔の領域と顔の向きが略同じであることに着目し、画像群の内の一部（本実施形態においては先頭１０枚）の写真画像の夫々を用いて顔の識別を行い、この画像群内の写真画像における顔範囲と顔向きとを画像群の特徴として抽出すると共に、抽出された特徴に基づいて画像群内の各写真画像における顔を検出する領域および顔の向きを限定して、トリミング領域を設定するために必要な顔の検出、目の検出を各写真画像に対して行う。顔を検出する領域および顔の向きに限定を加えることによって、演算量を減らすことができるため、トリミング処理の効率が良く。
【０１３５】
以上、本発明の望ましい実施形態について説明したが、本発明の不良トリミング画像検出方法および装置並びにそのためのプログラムは、上述した実施形態に限られるものではなく、本発明の主旨を逸脱しない限り、様々な増減、変更を行うことができる。
【０１３６】
例えば、本実施形態において、画像群の特徴として顔範囲（顔の位置および大きさ）、顔の向きを抽出するようにしているが、顔の位置（または位置の範囲）、大きさ、顔の向きのうちのいずれか１つでもよく、任意の組み合わせでもよい。さらに、画像群の特徴も、顔範囲、顔の向きに限らず、トリミング処理する上に必要ないかなるものであってもよい。
【０１３７】
また、取得した特徴を用いて限定を行う対象も、本実施形態のように、顔を検出する範囲、顔の向きに限られることがない。例えば、本実施形態において、顔範囲、すなわち顔の位置および大きさを用いて、顔を検出する範囲を限定しているが、例えば、顔の大きさを用いて、検出する顔の大きさを限定して顔の検出を行うようにしてもよい。具体的には、例えば、本実施形態において、目検出部１０は、特徴抽出部１により得られた特徴としての顔範囲に含まれる顔の大きさを利用して、第１の識別部１４および第２の識別部１５において検出を行う際に、検出する顔の大きさを限定して、すなわち、図１４に示すように写真画像を段階的に拡大縮小する際の拡大縮小率を、特徴として抽出された顔の大きさに対応する拡大縮小率に限定して検出を行うことができる。こうすることによって、演算量を減らすことができ、効率がよい。
【０１３８】
また、本実施形態において、画像群の特徴として顔の向きを抽出し、画像群内の各写真画像に対して顔の検出を行う際に、特徴として抽出れた顔の向きを有する顔のみを検出するようにしているが、例えば、画像群の特徴として抽出した顔の向きを含む所定の範囲を、画像群内の各写真画像から顔を検出する際の顔の向きの範囲として限定し、この範囲内の向きを有する顔を検出するようにしてもよい。
【０１３９】
また、本実施形態において、写真画像における顔がいかなる向き（−１８０度〜＋１８０度）を有する場合にも対応可能にするために、顔を検出する際に、第２の記憶部４に記憶された、−１５度〜１５度の範囲において３度単位で段階的に回転させた（すなわち、回転角度が−１５度，−１２度，−９度，−６度，−３度，０度，３度，６度，９度，１２度，１５度）サンプル画像を学習して得た第１の参照データＥ１を用いると共に、写真画像を３０度単位で回転しつつ検出を行っているが、社員証などのための証明写真を取得することを目的とする本実施形態のシステムのような場合、各撮像ポイントからの写真画像においては、顔の向き、すなわち各撮像ポイントにおけるカメラ角度が０度、９０度、１８０度（または−１８０度）、−９０度以外であることがないと考えてもよい。このような場合において、顔の向きを特徴として抽出する際に、−１８０度〜＋１８０度の範囲内のあらゆる向きから抽出する代わりに、存在し得る向き、例えば上述の０度、９０度、１８０度、−９０度の向きのみから顔の実際の向きを抽出すればよい。すなわち、本実施形態の例においては、特徴抽出部１は、顔であると分かっているサンプル画像として０度のサンプル画像のみを用いて学習することによって参照データを得、この参照データを用いて顔の向きを取得するために、写真画像を９０度ずつ回転させながら写真画像から顔を検出するようにしてもよく、または顔であると分かっているサンプル画像として０度、９０度、１８０度、−９０度の向きのサンプル画像を用いて学習することによって参照データを得、写真画像を回転させずにこの参照データを用いて顔を検出することによって顔の向きを取得するようにしてもよい。
【０１４０】
また、例えば、画像群から特徴を抽出する際に、先頭１０枚の写真画像に対してトリミング画像を得るまでの処理を行い、トリミング部７０が、トリミング領域取得部６０により取得されたトリミング領域を切り取ってトリミング画像を得る際に所定の規格に合致するように行った拡大縮小の拡大縮小率（この拡大縮小率が、写真画像の大きさと関係し、撮像ポイント毎に異なり得る）も画像群の特徴として得るようにすれば、後に画像群内の写真画像に対してトリミング処理する際に、切り取ったトリミング領域の画像に対して拡大縮小処理を行うとき、特徴として抽出された拡大縮小率を適用すればよい。
【０１４１】
また、本実施形態において、特徴抽出部１において画像群の特徴を抽出取得する際に、顔の検出を行って、顔範囲、顔の向きを得るようにしているが、画像群内の例えば先頭１０枚の写真画像を表示して操作者に確認させ、操作者に顔範囲、顔の向きを入力させるようにしてもよい。
【０１４２】
また、本実施形態において、一度処理した実績のある撮像ポイントの特徴を登録するようにしているが、例えば、各撮像ポイントの特徴を予め登録したデータベースを用意し、画像群を処理するのに当たって、画像群の撮像ポイントに基づいてこのデータベースから該当する特徴を読み出すようにしてもよい。
【０１４３】
また、画像群の撮像ポイントを示す情報も、画像群に添付された態様に限らず、例えば操作者により入力するようにしてもよい。
【０１４４】
また、本実施形態において、目検出部１０は、写真画像から顔を検出する際に、特徴としての顔範囲の画像に対して識別ポイントを算出し、この識別ポイントが正であり、かつ絶対値が最も大きいことを顔検出の条件としているが、例えば、特徴抽出部１と同じように、識別ポイントが顔識別閾値以上であることを顔検出の条件とし、この顔識別閾値により顔が検出されなかった写真画像に対して、顔が検出されるまで顔識別閾値を段階的に下げて検出を行うようにしてもよい。また、この場合、顔が検出されなかった写真画像に対して、顔が検出されるまで識別閾値を下げての検出を繰り返すようにしてもよいが、例えば、１つの画像群に対してトリミング処理を行う際に、顔が検出された写真画像に対しては、検出された顔に基づいて後の処理を行う一方、顔が検出されなかった写真画像に対しては、顔写真画像をハードディスクや、メモリなどの記憶装置に一時記憶させておき、この画像群内の全ての写真画像に対する処理が終了した後に、一時記憶された、顔が検出されなかった写真画像に対して前述の識別閾値を下げての再検出を行うようにしてもよい。
【０１４５】
また、本実施形態のＩＤカード発行システムは、説明上の便宜のため、例えば写真画像、トリミング画像とＩＤカード上の記載事項（氏名、生年月日、入社日、部署、肩書きなど）との対応付けについての処理を説明していないが、例えば各社員の社員番号と社員の個人データ（少なくともＩＤカード上の記載事項を含む）とを対応付けて記憶したデータベースを設けると共に、各社員の社員番号をＩＤ番号として写真画像、トリミング画像に付属させるようにすればよい。そして、カード作成部２４０は、社員証を作成するに際して、トリミング画像に付属された社員番号に対応する個人データをデータベースから読み出して社員証を作成すればよい。
【０１４６】
また、本実施形態において、写真画像から瞳を検出して、瞳の位置に基づいてトリミング領域を設定するようにしているが、顔位置、目の位置を用いてもよい。さらに、頭頂部の位置、顎の位置なども用いるようにしてもよい。
【図面の簡単な説明】
【０１４７】
【図１】本発明の実施形態となるＩＤカード発行システムの構成を示すブロック図
【図２】図１に示すＩＤカード発行システムにおける画像保管部２２０による写真画像の保管態様を示す図
【図３】トリミング処理部１００の構成を示すブロック図
【図４】図３に示すトリミング処理部１００における特徴抽出部１の構成を示すブロック図
【図５】エッジ検出フィルタを示す図
【図６】勾配ベクトルの算出を説明するための図
【図７】（ａ）は人物の顔を示す図、（ｂ）は（ａ）に示す人物の顔の目および口付近の勾配ベクトルを示す図
【図８】（ａ）は正規化前の勾配ベクトルの大きさのヒストグラムを示す図、（ｂ）は正規化後の勾配ベクトルの大きさのヒストグラムを示す図、（ｃ）は５値化した勾配ベクトルの大きさのヒストグラムを示す図、（ｄ）は正規化後の５値化した勾配ベクトルの大きさのヒストグラムを示す図
【図９】特徴抽出部１における第２の記憶部４に記憶された第１の参照データＥ１の学習に用いられる顔であることが分かっているサンプル画像の例
【図１０】目検出部１０における第３の記憶部１３に記憶された第２の参照データＥ２の学習に用いられる顔であることが分かっているサンプル画像の例
【図１１】顔の回転を説明するための図
【図１２】参照データの学習手法を示すフローチャート
【図１３】識別器の導出方法を示す図
【図１４】特徴抽出部１により顔を検出する際の、写真画像の段階的な変形を説明するための図
【図１５】特徴抽出部１の処理を示すフローチャート
【図１６】特徴抽出部１における処理実績データベース６の例を示す図
【図１７】図３に示すトリミング処理部１００における目検出部１０の構成を示すブロック図
【図１８】目の中心位置を説明するための図
【図１９】目検出部１０の処理を示すフローチャート
【図２０】図３に示すトリミング処理部１００における瞳中心位置検出部５０の構成を示すブロック図
【図２１】瞳中心位置検出部５０における切取部３０が切り取る位置を説明するための図
【図２２】２値化閾値の求め方を説明するための図
【図２３】投票値の重み付けを説明するための図
【図２４】瞳中心位置検出部５０の処理を示すフローチャート
【図２５】図３に示すトリミング処理部１００におけるトリミング領域取得部６０の構成を示すブロック図
【図２６】ＩＤカード製作センター３００において行われる処理を示すフローチャート
【符号の説明】
【０１４８】
１    特徴抽出部
２    特徴量算出部
３    制御部
４    第２の記憶部
５    識別部
６    処理実績データベース
７    特徴特定部
１０    目検出部
１１    顔検出領域取得部
１２    特徴量算出部
１３    第３の記憶部
１４    第１の識別部
１５    第２の識別部
３０    切取部
３１    グレー変換部
３２    前処理部
３３    ２値化部
３４    ２値化閾値算出部
３５    投票部
３６    中心位置候補取得部
３７    照合部
３８    微調整部
５０    瞳中心位置検出部
６０    トリミング領域取得部
６２    顔枠取得部
６４    トリミング領域設定部
７０    トリミング部
６５    第１の記憶部
１００    トリミング処理部
２２０    画像保管部
２４０    カード作成部
２５０    ネットワーク
３００    ＩＤカード製作センター
【図１】
2005250556.tif 000003
【図２】
2005250556.tif 000004
【図３】
2005250556.tif 000005
【図４】
2005250556.tif 000006
【図５】
2005250556.tif 000007
【図６】
2005250556.tif 000008
【図７】
2005250556.tif 000009
【図８】
2005250556.tif 000010
【図９】
2005250556.tif 000011
【図１０】
2005250556.tif 000012
【図１１】
2005250556.tif 000013
【図１２】
2005250556.tif 000014
【図１３】
2005250556.tif 000015
【図１４】
2005250556.tif 000016
【図１５】
2005250556.tif 000017
【図１６】
2005250556.tif 000018
【図１７】
2005250556.tif 000019
【図１８】
2005250556.tif 000020
【図１９】
2005250556.tif 000021
【図２０】
2005250556.tif 000022
【図２１】
2005250556.tif 000023
【図２２】
2005250556.tif 000024
【図２３】
2005250556.tif 000025
【図２４】
2005250556.tif 000026
【図２５】
2005250556.tif 000027
【図２６】
2005250556.tif 000028