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