(57)【要約】【課題】  バランスの良いトリミング画像を得る。【解決手段】  目検出部３０は、写真画像Ｓ０における両目の夫々の位置を検出する。胴体傾き検出部５０は、上半身の胴体が顔に対する傾きを検出する。トリミング中心線設定部６０は、両目間の中心点を通り、かつ両目を結ぶ直線と直交する顔中心線Ｍを、重要度設定部８０により設定された胴体の重要度αと、胴体の傾きの度合いおよび方向とに基づいて、傾きの度合いおよび重要度αが大きいほど、傾きの方向に傾かせるように補正してトリミング中心線Ｍ’を得る。トリミング実行部８５は、トリミング中心線Ｍ’を中心線として左右対称する領域の画像を切り出してトリミング画像Ｓ２を得る。【選択図】          図２
2006139369.tif 000002
【特許請求の範囲】
【請求項１】
基準部位と、傾かない状態において該基準部位の中心線と同じ中心線を有し、かつ前記基準部位の中心線の伸びる方向に沿って前記基準部位と並ぶ１つ以上の他部位とからなる被写体を撮像して得た写真画像に対して、前記基準部位の中心線と所定の角度を成すトリミング中心線で前記基準部位および前記他部位の一部または全部を含む領域を切り出すトリミング処理を行ってトリミング画像を得る画像処理方法において、
前記写真画像から、前記基準部位の中心線を取得すると共に、該写真画像の撮像時において各前記他部位の傾きの度合いおよび方向を検出し、
検出された各前記他部位の傾き度合いに基づいて該傾きの度合いが大きいほど前記トリミング中心線が該傾きの方向に大きく傾くように前記所定の角度を決定し、
決定された前記所定の角度のトリミング中心線で前記トリミング処理を行うことを特徴とする画像処理方法。
【請求項２】
前記他部位の夫々の重要度を取得し、
該重要度が大きいほど大きくなるように前記所定の角度を決定することを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記被写体が、人物の上半身であり、
前記基準部位が、前記上半身における顔部位であり、
前記他部位が、前記上半身における胴体部位であることを特徴とする請求項１または２記載の画像処理方法。
【請求項４】
基準部位と、傾かない状態において該基準部位の中心線と同じ中心線を有し、かつ前記基準部位の中心線の伸びる方向に沿って前記基準部位と並ぶ１つ以上の他部位とからなる被写体を撮像して得た写真画像に対して、前記基準部位の中心線と所定の角度を成すトリミング中心線で前記基準部位および前記他部位の一部または全部を含む領域を切り出すトリミング処理を行ってトリミング画像を得る画像処理装置であって、
前記写真画像から、前記基準部位の中心線を取得する基準部位中心線取得手段と、
前記写真画像から、該写真画像の撮像時において各前記他部位の傾きの度合いおよび方向を検出する傾き検出手段と、
検出された各前記他部位の傾き度合いに基づいて該傾きの度合いが大きいほど前記トリミング中心線が該傾きの方向に大きく傾くように前記所定の角度を決定するトリミング角度決定手段と、
決定された前記所定の角度のトリミング中心線で前記トリミング処理を行うトリミング手段とを有してなることを特徴とする画像処理装置。
【請求項５】
前記他部位の夫々の重要度を取得する重要度取得手段をさらに備え、
前記トリミング角度決定手段が、前記他部位の前記重要度が大きいほど大きくなるように前記所定の角度を決定するものであることを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記被写体が、人物の上半身であり、
前記基準部位が、前記上半身における顔部位であり、
前記他部位が、前記上半身における胴体部位であることを特徴とする請求項４または５記載の画像処理装置。
【請求項７】
前記基準部位中心線取得手段が、前記顔部位における両目の位置を取得し、該両目の位置に基づいて、前記両目の中間点を通り、かつ前記両目を結んだ線と垂直する線を前記基準部位中心線として求めるものであることを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記傾き検出手段が、前記胴体部位に含まれる両肩の傾斜度を夫々検出し、検出された前記両肩の傾斜度の差に基づいて前記胴体部位の傾きの度合いおよび方向を求めるものであることを特徴とする請求項６または７記載の画像処理装置。
【請求項９】
基準部位と、傾かない状態において該基準部位の中心線と同じ中心線を有し、かつ前記基準部位の中心線の伸びる方向に沿って前記基準部位と並ぶ１つ以上の他部位とからなる被写体を撮像して得た写真画像に対して、前記基準部位の中心線と所定の角度を成すトリミング中心線で前記基準部位および前記他部位の一部または全部を含む領域を切り出すトリミング処理を行ってトリミング画像を得る画像処理をコンピュータに実行させるプログラムであって、
前記画像処理が、前記写真画像から、前記基準部位の中心線を取得すると共に、該写真画像の撮像時において各前記他部位の傾きの度合いおよび方向を検出する処理と、
検出された各前記他部位の傾き度合いに基づいて該傾きの度合いが大きいほど前記トリミング中心線が該傾きの方向に大きく傾くように前記所定の角度を決定するトリミング角度決定処理と、
決定された前記所定の角度のトリミング中心線で前記トリミング処理を実行する処理とからなることを特徴とするプログラム。
【請求項１０】
前記他部位の夫々の重要度を取得する処理をさらにコンピュータに実行させ、
前記トリミング角度決定処理が、前記他部位の前記重要度が大きいほど大きくなるように前記所定の角度を決定する処理であることを特徴とする請求項９記載のプログラム。
【請求項１１】
前記被写体が、人物の上半身であり、
前記基準部位が、前記上半身における顔部位であり、
前記他部位が、前記上半身における胴体部位であることを特徴とする請求項９または１０記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はトリミング処理、具体的には複数の部位から構成された被写体の写真画像に対してトリミング処理を行う画像処理および装置並びにそのためのプログラムに関するものである。
【背景技術】
【０００２】
パスポートや免許証の交付申請、あるいは履歴書の作成などの場合において、本人の顔が写っている予め定められた出力規格の写真（以下証明写真という）の提出が要求されることが多い。このため、利用者の撮影を行うための撮影室が設けられ、撮影室内の椅子に着座した利用者を撮影し、利用者の証明写真用の顔写真画像をシートに記録した証明写真シートを作成することを自動的に行う証明写真の自動作成装置が従来より利用されている。このような自動作成装置は、大型であるため、設置場所が限られているため、利用者が証明写真を取得するためには、自動作成装置が設置された場所を探して出向く必要があり、不便である。
【０００３】
この問題を解決するために、例えば、証明写真の作成に用いる顔写真画像（顔が写されている画像）から顔の位置を求めると共に、証明写真の出力規格に基づいて、顔が証明写真における所定の位置に配置されるようにトリミング領域を設定して、トリミング領域内の画像を切り出して証明写真画像を形成する方法が提案されている。このような方法によって、利用者は、証明写真の自動作成装置よりも多数存在しているＤＰＥ店などに証明写真の作成を依頼することができると共に、手持ちの写真のうち、写りが良いなどのような気に入った写真が記録された写真フィルムまたは記録媒体をＤＰＥ店などに持ち込むことで、気に入った写真から証明写真を作成させることも可能となる。
【０００４】
また、証明写真画像の性質から、顔全域はトリミング領域に含まれることが必要であると共に、トリミング領域は顔の中心を中心にして左右対称であることが要求されるため、通常、トリミング領域を設定する際に、顔の中心線をトリミングの中心線（以下トリミング中心線という）にして、トリミング中心線を中心に左右対称する領域をトリミング領域として設定することが行われている。顔の中心線としては、例えば特許文献１に記載されたように、両目間の中心点、鼻の中心点、口の中心点を結ぶ直線を用いることができ、トリミング領域を設定するのに際しては、この顔中心線をトリミング中心線にして、縦辺がトリミング中心線と平行になるようにトリミング領域の枠を設定する。この方法によれば、入力された顔写真画像において顔部分が傾いていても（図２１（ａ）参照）、切り出した画像（図２１（ｃ）における点線枠内の画像）においては顔が傾かないようにすることができる。
【特許文献１】特開２００３−９２７２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載された方法は、撮像時に顔と胴体部分とが同じ方向に同じ程度に傾いた場合には、顔も胴体も傾かないようにトリミングすることができるが、顔のみが傾いたなど、元々同じ中心線を有する顔と胴体とは異なる中心線を有する場合、顔中心線をトリミング中心線にしてトリミングすると、トリミング画像（トリミング領域内の画像）は、図２１（ｃ）に例示したように胴体部分の傾きが激しかったり、胴体部分が異常に小さかったりするなど、トリミング画像全体のバランスが良くないという問題がある。
【０００６】
本発明は、上記事情に鑑み、バランス良くトリミング処理を行うことができる画像処理方法および装置並びにそのためのプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００７】
本発明の画像処理方法は、基準部位と、傾かない状態において該基準部位の中心線と同じ中心線を有し、かつ前記基準部位の中心線の伸びる方向に沿って前記基準部位と並ぶ１つ以上の他部位とからなる被写体を撮像して得た写真画像に対して、前記基準部位の中心線と所定の角度を成すトリミング中心線で前記基準部位および前記他部位の一部または全部を含む領域の画像を切り出すトリミング処理を行ってトリミング画像を得る画像処理方法において、
前記写真画像から、前記基準部位の中心線を取得すると共に、該写真画像の撮像時において各前記他部位の傾きの度合いおよび方向を検出し、
検出された各前記他部位の傾き度合いに基づいて該傾きの度合いが大きいほど前記トリミング中心線が前記基準部位の中心線から該傾きの方向に大きく傾くように前記所定の角度を決定し、
決定された前記所定の角度のトリミング中心線で前記トリミング処理を行うことを特徴とするものである。
【０００８】
ここで、「トリミング中心線」とは、前記トリミング処理を行う際に切り出す前記領域の中心線を意味し、トリミング画像は、このトリミング中心線を中心にして左右対称な領域の画像である。
【０００９】
また、前記「他部位の傾き」とは、他部位が基準部位に対する相対的な傾きを意味し、この傾きは、撮像時に他部位が傾いたことに起因するものに限らず、基準部位または、基準部位と他部位との両方が傾いたことに起因するものも含むものである。本発明が対象とする写真画像は、顔と胴体とからなる人物の上半身のような、どの部位も傾かない状態においては同じ中心線を有する基準部位および基準部位以外の他部位からなる被写体を撮像して得た写真画像であるため、他部位が基準部位に対する相対的な傾きは、写真画像における、基準部位の中心線を基準にした他部位の中心線の傾きと同じである。
【００１０】
本発明の画像処理方法は、前記他部位の夫々の重要度を取得し、
該重要度が大きいほど大きくなるように前記所定の角度を決定することが好ましい。
【００１１】
ここで、「重要度」とは、トリミング画像において、基準部位に対して、前記他部位の向きを重視したい相対的な程度を意味する。
【００１２】
本発明の画像処理方法は、人物の顔写真画像のトリミングに適用することができ、この場合、前記被写体が、人物の上半身であり、前記基準部位が、前記上半身における顔部位であり、前記他部位が、前記上半身における胴体部位となる。
【００１３】
本発明の画像処理装置は、基準部位と、傾かない状態において該基準部位の中心線と同じ中心線を有し、かつ前記基準部位の中心線の伸びる方向に沿って前記基準部位と並ぶ１つ以上の他部位とからなる被写体を撮像して得た写真画像に対して、前記基準部位の中心線と所定の角度を成すトリミング中心線で前記基準部位および前記他部位の一部または全部を含む領域を切り出すトリミング処理を行ってトリミング画像を得る画像処理装置であって、
前記写真画像から、前記基準部位の中心線を取得する基準部位中心線取得手段と、
前記写真画像から、該写真画像の撮像時において各前記他部位の傾きの度合いおよび方向を検出する傾き検出手段と、
検出された各前記他部位の傾き度合いに基づいて該傾きの度合いが大きいほど前記トリミング中心線が該傾きの方向に大きく傾くように前記所定の角度を決定するトリミング角度決定手段と、
決定された前記所定の角度のトリミング中心線で前記トリミング処理を行うトリミング手段とを有してなることを特徴とするものである。
【００１４】
本発明の画像処理装置は、前記他部位の夫々の重要度を取得する重要度取得手段をさらに備え、
前記トリミング角度決定手段が、前記他部位の前記重要度が大きいほど大きくなるように前記所定の角度を決定するものであることが好ましい。
【００１５】
本発明の画像処理装置は、人物の顔写真画像のトリミングに適用することができ、この場合、前記被写体が、人物の上半身であり、前記基準部位が、前記上半身における顔部位であり、前記他部位が、前記上半身における胴体部位となる。
【００１６】
ここで、前記基準部位中心線取得手段は、前記顔部位における両目の位置を取得し、該両目の位置に基づいて、前記両目の中間点を通り、かつ前記両目を結んだ線と垂直する線を前記基準部位中心線として求めるものであることが好ましい。
【００１７】
また、前記傾き検出手段は、前記胴体部位に含まれる両肩の傾斜度を夫々検出し、検出された前記両肩の傾斜度の差に基づいて前記胴体部位の傾きの度合いおよび方向を求めるものとすることができる。
【００１８】
本発明の画像処理方法を、コンピュータに実行させるプログラムとして提供してもよい。
【発明の効果】
【００１９】
本発明の画像処理方法および装置によれば、顔と胴体とからなる人物の上半身のような、どの部位も傾かない状態においては同じ中心線を有する基準部位および基準部位以外の他部位からなる被写体を撮像して得た写真画像をトリミングする際に、基準部位の中心線をそのままトリミング中心線とする代わりに、基準部位に対する他部位の傾きを検出して、他部位の傾きに応じて基準部位の中心線を傾かせてトリミング中心線を得るようにしているので、他部位が基準部位に対して傾きが無い場合には、基準部位も他部位も傾かずに切り出すことができると共に、他部位が基準部位に対して傾きがある場合には、トリミング画像において、基準部位が多少傾くものの、他部位の極端な傾きを避けることができ、バランスが良い。
【００２０】
また、他部位の重要度に応じた程度で基準部位の中心線を傾かせることができるので、被写体の種類、トリミング画像の用途、ユーザの好みなどを反映したトリミング画像を得ることができる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照して、本発明の実施形態について説明する。
【００２２】
図１は、本発明の実施形態となるＩＤカード発行システムの構成を示すブロック図である。なお、本実施形態のＩＤカード発行システムは、各撮像ポイントにおいて人物の撮像を行って得た顔写真画像（以下略して写真画像という）をＩＤカード作成センター（その詳細については後述する）に送信し、ＩＤカード作成センターにおいて各撮像ポイントから送信されて来た写真画像に対してトリミング処理を行ってトリミング画像を得、得られたトリミング画像を用いて写真付きＩＤカードを作成するものであり、そのトリミング処理が、補助記憶装置に読み込まれた処理プログラムをコンピュータ（たとえばパーソナルコンピュータ等）上で実行することにより実現される。また、この処理プログラムは、ＣＤ−ＲＯＭ等の情報記憶媒体に記憶され、もしくはインターネット等のネットワークを介して配布され、コンピュータにインストールされることになる。
【００２３】
図１に示すように、本実施形態のＩＤカード発行システムは、人物を撮像して写真画像を得る複数の撮像ポイント１と、各撮像ポイント１において得られた顔画像を用いて写真付きＩＤカードを作成するＩＤカード作成センター１００とを有し、撮像ポイント１とＩＤカード作成センター１００とは、ネットワーク５により接続されており、撮像ポイント１はネットワーク５を介して写真画像をＩＤカード作成センター１００に送信する。
【００２４】
図２は、ＩＤカード作成センター１００の構成を示すブロック図である。
【００２５】
図２に示すように、ＩＤカード作成センター１００は、写真画像Ｓ０を入力する画像入力部１０と、画像入力部１０により入力された写真画像Ｓ０における顔のおおよその位置および大きさを検出し、顔部分の画像（以下顔画像という）Ｓ１を得る顔検出部２０と、顔画像Ｓ１から両目の位置を夫々検出する目検出部３０と、顔検出部２０および目検出部３０に用いられる後述する参照データＥ１、Ｅ２を記憶したデータベース４０と、写真画像Ｓ０に写った人物の胴体の傾きを検出する胴体傾き検出部５０と、目検出部３０により検出された両目の位置、胴体傾き検出部５０により検出された胴体の傾き、および後述する重要度設定部８０により設定された胴体の重要度αに基づいて写真画像Ｓ０をトリミングするトリミング中心線を設定するトリミング中心線設定部６０と、胴体の重要度αを設定する重要度設定部８０と、目検出部３０により検出された両目の位置およびトリミング中心線設定部６０により設定されたトリミング中心線に基づいてトリミング領域を求めると共に、求められたトリミング領域の画像を切り出してトリミング画像Ｓ２を得るトリミング実行部８５と、トリミング画像Ｓ２に対して必要な拡大縮小処理や、印刷処理などを施して写真付きＩＤカードＰを作成するカード作成部９０とを備えてなる。
【００２６】
画像入力部１０は、本実施形態のＩＤカード発行システムの処理対象の写真画像Ｓ０を入力するものであり、ここでは、ネットワークを介して送信されてきた写真画像Ｓ０を受信する受信部となる。なお、本発明の画像処理方法および装置が対象とする写真画像は、デジタルカメラで撮像して得た写真画像は勿論、紙、プリント用紙などの印刷媒体に印刷（プリントを含む）された画像や、写真フィルムに写った画像などをスキャナなどの光電変換装置によって読み取った写真画像も含むものである。
【００２７】
図３は、図２に示すＩＤカード作成センター１００における顔検出部２０の構成を示すブロック図である。図示のように、顔検出部２０は、写真画像Ｓ０から特徴量Ｃ０を算出する第１の特徴量算出部２２と、特徴量Ｃ０およびデータベース４０に記憶された参照データＥ１とを用いて顔検出を実行する顔検出実行部２４とを備えてなる。ここで、データベース４０に記憶された参照データＥ１、顔検出部２０の詳細について説明する。
【００２８】
顔検出部２０の第１の特徴量算出部２２は、顔の識別に用いる特徴量Ｃ０を写真画像Ｓ０から算出する。具体的には、勾配ベクトル（すなわち写真画像Ｓ０上の各画素における濃度が変化する方向および変化の大きさ）を特徴量Ｃ０として算出する。以下、勾配ベクトルの算出について説明する。まず、第１の特徴量算出部２２は、写真画像Ｓ０に対して図６（ａ）に示す水平方向のエッジ検出フィルタによるフィルタリング処理を施して写真画像Ｓ０における水平方向のエッジを検出する。また、第１の特徴量算出部２２は、写真画像Ｓ０に対して図６（ｂ）に示す垂直方向のエッジ検出フィルタによるフィルタリング処理を施して写真画像Ｓ０における垂直方向のエッジを検出する。そして、写真画像Ｓ０上の各画素における水平方向のエッジの大きさＨおよび垂直方向のエッジの大きさＶとから、図７に示すように、各画素における勾配ベクトルＫを算出する。
【００２９】
なお、このようにして算出された勾配ベクトルＫは、図８（ａ）に示すような人物の顔の場合、図８（ｂ）に示すように、目および口のように暗い部分においては目および口の中央を向き、鼻のように明るい部分においては鼻の位置から外側を向くものとなる。また、口よりも目の方が濃度の変化が大きいため、勾配ベクトルＫは口よりも目の方が大きくなる。
【００３０】
そして、この勾配ベクトルＫの方向および大きさを特徴量Ｃ０とする。なお、勾配ベクトルＫの方向は、勾配ベクトルＫの所定方向（例えば図７におけるｘ方向）を基準とした０から３５９度の値となる。
【００３１】
ここで、勾配ベクトルＫの大きさは正規化される。この正規化は、写真画像Ｓ０の全画素における勾配ベクトルＫの大きさのヒストグラムを求め、その大きさの分布が写真画像Ｓ０の各画素が取り得る値（８ビットであれば０〜２５５）に均一に分布されるようにヒストグラムを平滑化して勾配ベクトルＫの大きさを修正することにより行う。例えば、勾配ベクトルＫの大きさが小さく、図９（ａ）に示すように勾配ベクトルＫの大きさが小さい側に偏ってヒストグラムが分布している場合には、大きさが０〜２５５の全領域に亘るものとなるように勾配ベクトルＫの大きさを正規化して図９（ｂ）に示すようにヒストグラムが分布するようにする。なお、演算量を低減するために、図９（ｃ）に示すように、勾配ベクトルＫのヒストグラムにおける分布範囲を例えば５分割し、５分割された頻度分布が図９（ｄ）に示すように０〜２５５の値を５分割した範囲に亘るものとなるように正規化することが好ましい。
【００３２】
データベース４０に記憶された参照データＥ１は、後述するサンプル画像から選択された複数画素の組み合わせからなる複数種類の画素群の夫々について、各画素群を構成する各画素における特徴量Ｃ０の組み合わせに対する識別条件を規定したものである。
【００３３】
参照データＥ１中の、各画素群を構成する各画素における特徴量Ｃ０の組み合わせおよび識別条件は、顔であることが分かっている複数のサンプル画像と顔でないことが分かっている複数のサンプル画像とからなるサンプル画像群の学習により、あらかじめ決められたものである。
【００３４】
なお、本実施形態においては、参照データＥ１を生成する際には、顔であることが分かっているサンプル画像として、３０×３０画素サイズを有し、図１０に示すように、１つの顔の画像について両目の中心間の距離が１０画素、９画素および１１画素であり、両目の中心間距離において垂直に立った顔を平面上±１５度の範囲において３度単位で段階的に回転させた（すなわち、回転角度が−１５度，−１２度，−９度，−６度，−３度，０度，３度，６度，９度，１２度，１５度）サンプル画像を用いるものとする。したがって、１つの顔の画像につきサンプル画像は３×１１＝３３通り用意される。なお、図１０においては−１５度、０度および＋１５度に回転させたサンプル画像のみを示す。また、回転の中心はサンプル画像の対角線の交点である。ここで、両目の中心間の距離が１０画素のサンプル画像であれば、目の中心位置はすべて同一となっている。この目の中心位置をサンプル画像の左上隅を原点とする座標上において（ｘ１，ｙ１）、（ｘ２，ｙ２）とする。また、図面上上下方向における目の位置（すなわちｙ１，ｙ２）はすべてのサンプル画像において同一である。
【００３５】
また、顔でないことが分かっているサンプル画像としては、３０×３０画素サイズを有する任意の画像を用いるものとする。
【００３６】
ここで、顔であることが分かっているサンプル画像として、両目の中心間距離が１０画素であり、平面上の回転角度が０度（すなわち顔が垂直な状態）のもののみを用いて学習を行った場合、参照データＥ１を参照して顔であると識別されるのは、両目の中心間距離が１０画素で全く回転していない顔のみである。写真画像Ｓ０に含まれる可能性がある顔のサイズは一定ではないため、顔が含まれるか否かを識別する際には、後述するように写真画像Ｓ０を拡大縮小して、サンプル画像のサイズに適合するサイズの顔の位置を識別できるようにしている。しかしながら、両目の中心間距離を正確に１０画素とするためには、写真画像Ｓ０のサイズを拡大率として例えば１．１単位で段階的に拡大縮小しつつ識別を行う必要があるため、演算量が膨大なものとなる。
【００３７】
また、写真画像Ｓ０に含まれる可能性がある顔は、図１２（ａ）に示すように平面上の回転角度が０度のみではなく、図１２（ｂ）、（ｃ）に示すように回転している場合もある。しかしながら、両目の中心間距離が１０画素であり、顔の回転角度が０度のサンプル画像のみを使用して学習を行った場合、顔であるにも拘わらず、図１２（ｂ）、（ｃ）に示すように回転した顔については識別を行うことができなくなってしまう。
【００３８】
このため、本実施形態においては、顔であることが分かっているサンプル画像として、図１０に示すように両目の中心間距離が９，１０，１１画素であり、各距離において平面上±１５度の範囲にて３度単位で段階的に顔を回転させたサンプル画像を用いて、参照データＥ１の学習に許容度を持たせるようにしたものである。これにより、後述する顔検出実行部２４において識別を行う際には、写真画像Ｓ０を拡大率として１１／９単位で段階的に拡大縮小すればよいため、写真画像Ｓ０のサイズを例えば拡大率として例えば１．１単位で段階的に拡大縮小する場合と比較して、演算時間を低減できる。また、図１２（ｂ）、（ｃ）に示すように回転している顔も識別することができる。
【００３９】
以下、図１３のフローチャートを参照しながらサンプル画像群の学習手法の一例を説明する。
【００４０】
図１４を参照しながらある識別器の作成について説明する。図１４の左側のサンプル画像に示すように、この識別器を作成するための画素群を構成する各画素は、顔であることが分かっている複数のサンプル画像上における、右目の中心にある画素Ｐ１、右側の頬の部分にある画素Ｐ２、額の部分にある画素Ｐ３および左側の頬の部分にある画素Ｐ４である。そして顔であることが分かっているすべてのサンプル画像について全画素Ｐ１〜Ｐ４における特徴量Ｃ０の組み合わせが求められ、そのヒストグラムが作成される。ここで、特徴量Ｃ０は勾配ベクトルＫの方向および大きさを表すが、勾配ベクトルＫの方向は０〜３５９の３６０通り、勾配ベクトルＫの大きさは０〜２５５の２５６通りあるため、これをそのまま用いたのでは、組み合わせの数は１画素につき３６０×２５６通りの４画素分、すなわち（３６０×２５６）4通りとなってしまい、学習および検出のために多大なサンプルの数、時間およびメモリを要することとなる。このため、本実施形態においては、勾配ベクトルの方向を０〜３５９を０〜４４と３１５〜３５９（右方向、値：０），４５〜１３４（上方向値：１），１３５〜２２４（左方向、値：２），２２５〜３１４（下方向、値３）に４値化し、勾配ベクトルの大きさを３値化（値：０〜２）する。そして、以下の式を用いて組み合わせの値を算出する。
【００４１】
組み合わせの値＝０（勾配ベクトルの大きさ＝０の場合）
組み合わせの値＝（（勾配ベクトルの方向＋１）×勾配ベクトルの大きさ（勾配ベクトルの大きさ＞０の場合）
これにより、組み合わせ数が９4通りとなるため、特徴量Ｃ０のデータ数を低減できる。
【００４２】
同様に、顔でないことが分かっている複数のサンプル画像についても、ヒストグラムが作成される。なお、顔でないことが分かっているサンプル画像については、顔であることが分かっているサンプル画像上における上記画素Ｐ１〜Ｐ４の位置に対応する画素が用いられる。これらの２つのヒストグラムが示す頻度値の比の対数値を取ってヒストグラムで表したものが、図１４の一番右側に示す、識別器として用いられるヒストグラムである。この識別器のヒストグラムが示す各縦軸の値を、以下、識別ポイントと称する。この識別器によれば、正の識別ポイントに対応する特徴量Ｃ０の分布を示す画像は顔である可能性が高く、識別ポイントの絶対値が大きいほどその可能性は高まると言える。逆に、負の識別ポイントに対応する特徴量Ｃ０の分布を示す画像は顔でない可能性が高く、やはり識別ポイントの絶対値が大きいほどその可能性は高まる。ステップＳ２では、識別に使用され得る複数種類の画素群を構成する各画素における特徴量Ｃ０の組み合わせについて、上記のヒストグラム形式の複数の識別器が作成される。
【００４３】
続いて、ステップＳ２で作成した複数の識別器のうち、画像が顔であるか否かを識別するのに最も有効な識別器が選択される。最も有効な識別器の選択は、各サンプル画像の重みを考慮して行われる。この例では、各識別器の重み付き正答率が比較され、最も高い重み付き正答率を示す識別器が選択される（Ｓ３）。すなわち、最初のステップＳ３では、各サンプル画像の重みは等しく１であるので、単純にその識別器によって画像が顔であるか否かが正しく識別されるサンプル画像の数が最も多いものが、最も有効な識別器として選択される。一方、後述するステップＳ５において各サンプル画像の重みが更新された後の２回目のステップＳ３では、重みが１のサンプル画像、重みが１よりも大きいサンプル画像、および重みが１よりも小さいサンプル画像が混在しており、重みが１よりも大きいサンプル画像は、正答率の評価において、重みが１のサンプル画像よりも重みが大きい分多くカウントされる。これにより、２回目以降のステップＳ３では、重みが小さいサンプル画像よりも、重みが大きいサンプル画像が正しく識別されることに、より重点が置かれる。
【００４４】
次に、それまでに選択した識別器の組み合わせの正答率、すなわち、それまでに選択した識別器を組み合わせて使用して各サンプル画像が顔の画像であるか否かを識別した結果が、実際に顔の画像であるか否かの答えと一致する率が、所定の閾値を超えたか否かが確かめられる（Ｓ４）。ここで、組み合わせの正答率の評価に用いられるのは、現在の重みが付けられたサンプル画像群でも、重みが等しくされたサンプル画像群でもよい。所定の閾値を超えた場合は、それまでに選択した識別器を用いれば画像が顔であるか否かを十分に高い確率で識別できるため、学習は終了する。所定の閾値以下である場合は、それまでに選択した識別器と組み合わせて用いるための追加の識別器を選択するために、ステップＳ６へと進む。
【００４５】
ステップＳ６では、直近のステップＳ３で選択された識別器が再び選択されないようにするため、その識別器が除外される。
【００４６】
次に、直近のステップＳ３で選択された識別器では顔であるか否かを正しく識別できなかったサンプル画像の重みが大きくされ、画像が顔であるか否かを正しく識別できたサンプル画像の重みが小さくされる（Ｓ５）。このように重みを大小させる理由は、次の識別器の選択において、既に選択された識別器では正しく識別できなかった画像を重要視し、それらの画像が顔であるか否かを正しく識別できる識別器が選択されるようにして、識別器の組み合わせの効果を高めるためである。
【００４７】
続いて、ステップＳ３へと戻り、上記したように重み付き正答率を基準にして次に有効な識別器が選択される。
【００４８】
以上のステップＳ３からＳ６を繰り返して、顔が含まれるか否かを識別するのに適した識別器として、特定の画素群を構成する各画素における特徴量Ｃ０の組み合わせに対応する識別器が選択されたところで、ステップＳ４で確認される正答率が閾値を超えたとすると、顔が含まれるか否かの識別に用いる識別器の種類と識別条件とが確定され（Ｓ７）、これにより参照データＥ１の学習を終了する。
【００４９】
なお、上記の学習手法を採用する場合において、識別器は、特定の画素群を構成する各画素における特徴量Ｃ０の組み合わせを用いて顔の画像と顔でない画像とを識別する基準を提供するものであれば、上記のヒストグラムの形式のものに限られずいかなるものであってもよく、例えば２値データ、閾値または関数等であってもよい。また、同じヒストグラムの形式であっても、図１４の中央に示した２つのヒストグラムの差分値の分布を示すヒストグラム等を用いてもよい。
【００５０】
また、学習の方法としては上記手法に限定されるものではなく、ニューラルネットワーク等他のマシンラーニングの手法を用いることができる。
【００５１】
顔検出実行部２４は、複数種類の画素群を構成する各画素における特徴量Ｃ０の組み合わせのすべてについて参照データＥ１が学習した識別条件を参照して、各々の画素群を構成する各画素における特徴量Ｃ０の組み合わせについての識別ポイントを求め、すべての識別ポイントを総合して顔を検出する。この際、特徴量Ｃ０である勾配ベクトルＫの方向は４値化され大きさは３値化される。本実施形態では、すべての識別ポイントを加算して、その加算値の正負および大小によって顔を検出する。例えば、識別ポイントの総和が正の値である場合、顔であると判断し、負の値である場合には顔ではないと判断する。
【００５２】
ここで、写真画像Ｓ０のサイズは３０×３０画素のサンプル画像とは異なり、各種サイズを有するものとなっている可能性がある。また、顔が含まれる場合、平面上における顔の回転角度が０度であるとは限らない。このため、顔検出実行部２４は、図１５に示すように、写真画像Ｓ０を縦または横のサイズが３０画素となるまで段階的に拡大縮小するとともに平面上で段階的に３６０度回転させつつ（図１５においては縮小する状態を示す）、各段階において拡大縮小された写真画像Ｓ０上に３０×３０画素サイズのマスクＭを設定し、マスクＭを拡大縮小された写真画像Ｓ０上において１画素ずつ移動させながら、マスク内の画像が顔の画像であるか否か（すなわち、マスク内の画像に対して得られた識別ポイントの加算値が正か負か）の識別を行う。そして、この識別を拡大縮小および回転の全段階の写真画像Ｓ０について行い、識別ポイントの加算値が最も高い正の値が得られた段階におけるサイズおよび回転角度の写真画像Ｓ０から、識別されたマスクＭの位置に対応する３０×３０画素の領域を顔領域として検出すると共に、この領域の画像を顔画像Ｓ１として写真画像Ｓ０から抽出する。
【００５３】
なお、参照データＥ１の生成時に学習したサンプル画像として両目の中心位置の画素数が９，１０，１１画素のものを使用しているため、写真画像Ｓ０を拡大縮小する時の拡大率は１１／９とすればよい。また、参照データＥ１の生成時に学習したサンプル画像として、顔が平面上で±１５度の範囲において回転させたものを使用しているため、写真画像Ｓ０は３０度単位で３６０度回転させればよい。
【００５４】
なお、第１の特徴量算出部２２は、写真画像Ｓ０の拡大縮小および回転という変形の各段階において特徴量Ｃ０を算出している。
【００５５】
顔検出部２０は、このようにして写真画像Ｓ０からおおよその顔の位置および大きさを検出して、顔画像Ｓ１を得る。
【００５６】
目検出部３０は、顔検出部２０により得られた顔画像Ｓ１から両目の位置を検出するものであり、図４は、その構成を示すブロック図である。図示のように、目検出部３０は、顔画像Ｓ１から特徴量Ｃ０を算出する第２の特徴量算出部３２と、特徴量Ｃ０およびデータベース４０に記憶された参照データＥ２に基づいて目の位置の検出を実行する目検出実行部３４とを備えてなる。本実施形態において、目検出実行部３４により識別される目の位置とは、顔における目尻から目頭の間の中心位置（図５中×で示す）であり、図５（ａ）に示すように真正面を向いた目の場合においては瞳の中心位置と同様であるが、図５（ｂ）に示すように右を向いた目の場合は瞳の中心位置ではなく、瞳の中心から外れた位置または白目部分に位置する。
【００５７】
目検出部３０における第２の特徴量算出部３２は、写真画像Ｓ０ではなく、顔画像Ｓ１から特徴量Ｃ０を算出する点を除いて、図３に示す顔検出部２０における第１の特徴量算出部２２と同じであるため、ここで、その詳細な説明を省略する。
【００５８】
データベース４０に記憶された第２の参照データＥ２は、第１の参照データＥ１と同じように、後述するサンプル画像から選択された複数画素の組み合わせからなる複数種類の画素群のそれぞれについて、各画素群を構成する各画素における特徴量Ｃ０の組み合わせに対する識別条件を規定したものである。
【００５９】
ここで、第２の参照データＥ２の学習には、図１１に示すように両目の中心間距離が９．７，１０，１０．３画素であり、各距離において平面上±３度の範囲にて１度単位で段階的に顔を回転させたサンプル画像を用いている。そのため、第１の参照データＥ１と比較して学習の許容度は小さく、精確に目の位置を検出することができる。なお、第２の参照データＥ２を得るための学習は、用いられるサンプル画像群が異なる点を除いて、第１の参照データＥ１を得るための学習と同じであるので、ここでその詳細な説明を省略する。
【００６０】
目検出実行部３４は、顔検出部２０により得られた顔画像Ｓ１上において、複数種類の画素群を構成する各画素における特徴量Ｃ０の組み合わせのすべてについて第２の参照データＥ２が学習した識別条件を参照して、各々の画素群を構成する各画素における特徴量Ｃ０の組み合わせについての識別ポイントを求め、すべての識別ポイントを総合して顔に含まれる目の位置を識別する。この際、特徴量Ｃ０である勾配ベクトルＫの方向は４値化され大きさは３値化される。
【００６１】
ここで、目検出実行部３４は、顔検出部２０により得られた顔画像Ｓ１のサイズを段階的に拡大縮小するとともに平面上で段階的に３６０度回転させつつ、各段階において拡大縮小された顔画像上に３０×３０画素サイズのマスクＭを設定し、マスクＭを拡大縮小された顔上において１画素ずつ移動させながら、マスク内の画像における目の位置の検出を行う。
【００６２】
なお、第２参照データＥ２の生成時に学習したサンプル画像として両目の中心位置の画素数が９．０７，１０，１０．３画素のものを使用しているため、顔画像Ｓ１の拡大縮小時の拡大率は１０．３／９．７とすればよい。また、第２の参照データＥ２の生成時に学習したサンプル画像として、顔が平面上で±３度の範囲において回転させたものを使用しているため、顔画像は６度単位で３６０度回転させればよい。
【００６３】
なお、第２の特徴量算出部３２は、顔画像Ｓ１の拡大縮小および回転という変形の各段階において特徴量Ｃ０を算出する。
【００６４】
そして、本実施形態では、顔画像Ｓ１の変形の全段階においてすべての識別ポイントを加算し、加算値が最も大きい変形の段階における３０×３０画素のマスクＭ内の画像において、左上隅を原点とする座標を設定し、サンプル画像における目の位置の座標（ｘ１，ｙ１）、（ｘ２，ｙ２）に対応する位置を求め、変形前の顔画像Ｓ１におけるこの位置に対応する位置を目の位置として検出する。
【００６５】
目検出部３０は、このようにして、顔検出部２０により得られた顔画像Ｓ１から両目の位置を夫々検出する。
【００６６】
ＩＤカード作成センター１００の胴体傾き検出部５０は、目検出部３０により検出された両目の位置に基づいて、写真画像Ｓ０に写った上半身の胴体部分が顔に対する傾きを検出するものであり、図１６は、その構成を示すブロック図である。図示のように、胴体傾き検出部５０は、肩検出範囲設定部５２と、エッジ検出部５４と、肩ライン取得部５６と、傾き算出部５８とを備えてなるものであり、ここで胴体傾き検出部５０の各構成の詳細について説明する。
【００６７】
肩検出範囲設定部５２は、図１７に示すように、顔枠推定部５２ａと、肩範囲推定部５２ｂとを備えてなるものである。顔枠推定部５２ａは、目検出部３０により検出された両目の位置（図中Ａ１、Ａ２）に基づいて、両目間の距離Ｄ（両目の夫々の位置間の距離）を算出し、算出された両目間の距離Ｄに基づいて、下記の式（１）にしたがって顔の外接枠（図１８の例に示す点線枠）を推定する。
【００６８】
Ｌa＝Ｄ×Ｕａ
Ｌｂ＝Ｄ×Ｕｂ                          （１）
Ｌｃ＝Ｄ×Ｕｃ
Ｕａ＝３．２５０
Ｕｂ＝１．９０５
Ｕｃ＝２．１７０
ここで、Ｌａ、Ｌｂ、Ｌｃは図１８に示すように、夫々顔写真画像Ｓ０における両目間の中心位置を横方向の中心とする顔枠の横幅、中心位置から顔枠の上辺までの距離、中心位置から顔枠の下辺までの距離である。なお、係数Ｕａ、Ｕｂ、Ｕｃは、多数のサンプル画像を用いて求められた経験値であり、図示しない記憶部に記憶されている。
【００６９】
肩範囲推定部５２ｂは、顔枠推定部５２ａにより推定された顔枠に基づいて肩を検出する範囲、すなわち肩の存在可能な範囲（以下略して肩範囲という）を推定するものであり、本実施形態においては、下記のように推定する。まず、肩範囲推定部５２ｂは、両目を結ぶ直線と垂直し、かつ両目間の中心点を通る直線（以下顔中心線という）Ｍを求める。そして、顔枠と隣接し、かつ顔中心線Ｍを右辺の一部とする、幅が（１．５×Ｌａ）であり、高さが（Ｌａ＋Ｌｂ）である領域ＷＬと、領域ＷＬの右辺を左辺とし、領域ＷＬと同じ大きさの領域ＷＲ（図１８に示す斜線部分）とを夫々左肩範囲と右肩範囲として推定する。なお、ここで、「左肩」と「右肩」とは、写真画像Ｓ０を観察する側から見た左側の肩と右側の肩を意味する。
【００７０】
肩検出範囲設定部５２は、肩範囲推定部５２ｂにより推定された肩範囲ＷＬとＷＲとの位置および大きさを示す情報をエッジ検出部５４に出力する。
【００７１】
エッジ検出部５４は、肩検出範囲設定部５２により設定された肩範囲ＷＬとＷＲとに対して、夫々縦方向（図１８に示す顔中心線Ｍの伸びる方向）においてエッジ検出処理を行うと共に、所定の閾値以下の強度のエッジを除去して図１９における太線により示される輪郭線、すなわち肩の輪郭線を検出する。エッジ検出部５４は、この２つの輪郭線の各々の画素の位置を示す情報を肩ライン取得部５６に出力する。
【００７２】
肩ライン取得部５６は、２つの輪郭線に対して夫々最小２乗法による直線近似処理を行い、図１９の細線により示される２本の直線Ｎ１、Ｎ２を夫々左肩ライン、右肩ラインとして取得する。
【００７３】
傾き算出部５８は、肩ライン取得部５６により取得された肩ラインを示す直線に基づいて上半身の胴体部分が顔部分に対する傾きを算出するものである。具体的には、傾き算出部５８は、まず、肩ラインＮ１とＮ２との交点Ｂを求めると共に、交点Ｂにおいて、夫々の肩ラインが、顔中心線Ｍと平行する直線Ｍａと成す角度Ｋ１、Ｋ２を求める。写真画像において、上半身の胴体部分が傾いていなければ、角度Ｋ１とＫ２とが同じであるはずなので、傾き算出部５８は、角度Ｋ１とＫ２との差に基づいて胴体部分の傾きを求める。なお、「胴体部分の傾き」とは、胴体部分と顔との相対的な傾きを意味し、撮像時に胴体が傾いたことに起因する傾きは勿論、顔が傾いたことに起因する傾きも含むものである。
【００７４】
傾き算出部５８は、角度Ｋ１とＫ２との差（Ｋ１−Ｋ２）を求め、この差の絶対値の１／２を胴体の傾きの度合いとして算出すると共に、（Ｋ１−Ｋ２）が正か負かに基づいて傾きの方向を求める。具体的には、（Ｋ１−Ｋ２）が正であるとき（すなわち、Ｋ１＞Ｋ２のとき）には時計回り方向であり、（Ｋ１−Ｋ２）が負であるとき（すなわち、Ｋ１＜Ｋ２のとき）には時計回り方向の逆方向であるように胴体の傾きの方向を求める。なお、図１９に示す例では、胴体の傾きの方向は時計回り方向となる。
【００７５】
胴体傾き検出部５０は、このようにして得られた胴体の傾きの度合いおよび方向をトリミング中心線設定部６０に出力する。
【００７６】
図２０は、トリミング中心線設定部６０の構成を示すブロック図であり、図示のように、トリミング中心線設定部６０は、基準中心線を算出する基準中心線算出部６２と、基準中心線を補正してトリミング中心線を得る中心線補正部６４とを備えてなる。
【００７７】
本実施形態のＩＤカード発行システムは、写真付きのＩＤカードを作成して発行するものであるため、ここで、基準中心線算出部６２は、図２１（ａ）に示すような顔中心線Ｍを基準中心線として算出する。なお、顔中心線Ｍは、両目の位置を結ぶ直線と垂直し、かつ両目間の中心点Ｐｍを通る直線であり、ここで、目検出部３０により検出された両目の位置に基づいて新たに求めるようにしてもよいし、肩範囲推定部５２ｂが肩範囲を推定するときに既に算出した顔中心線Ｍをそのまま用いるようにしてもよい。
【００７８】
従来のトリミング処理方法では、顔中心線をトリミング中心線とし、トリミング中心線に対して左右対称の領域を切り出してトリミング画像を得るため、図２１（ａ）に示すような、胴体部分が顔に対して傾いた状態で撮像した写真画像の場合、トリミング画像（図２１（ｃ）における点線枠部分の画像）は、胴体部分の傾きが眼立ち、バランスが良くない。
【００７９】
そこで、本実施形態のＩＤカード発行システムにおけるＩＤカード作成センター１００のトリミング中心線設定部６０は、中心線補正部６４により、胴体傾き検出部５０により検出された胴体部分の傾き、および重要度設定部８０により設定された胴体の重要度αに応じて顔中心線Ｍを補正して図２１（ｂ）に示すトリミング中心線Ｍ’を得る。具体的には、両目間の中心点Ｐｍを軸点にして、胴体の傾きの方向（図示の例では、時計回り方向）と同じ方向に顔中心線Ｍを回転させて得た線をトリミング中心線Ｍ’とする。なお、顔中心線Ｍを回転させる角度Ｋは、下記の式（２）にしたがって算出される。
【００８０】
Ｋ＝α×｜（Ｋ１−Ｋ２）｜／２              （２）
（０≦α≦１）      
但し，Ｋ：回転角度
Ｋ１，Ｋ２：肩ラインが顔中心線と成す角度
α：重要度
また、本実施形態において、重要度設定部８０は、胴体が顔に対する相対的な重要度、すなわち、トリミング中心線を決定する上で、胴体の傾きに応じて顔中心線を補正する程度をユーザに入力させる図示しない入力手段を備え、該入力手段を介してユーザが入力された重要度を０から１の値に変換してトリミング中心線設定部６０に供するものである。
【００８１】
なお、重要度設定部８０がユーザに提供するＧＵＩ（グラフィック・ユーザ・インターフェース）としては、重要度αを入力することができればいかなるものであってもよい。例えば、モニタなどの表示手段にスライドバーを設け、スライドバー上のポイントをマウスなどで移動させることによって重要度の入力をさせるようにすることができる。なお、ユーザによる入力が無い場合は、デフォルトの重要度（α＝０）が入力されたこととする。この場合、胴体の傾きに応じた補正をしない。
【００８２】
トリミング中心線設定部６０は、中心線補正部６４により顔中心線Ｍを補正して得たトリミング中心線Ｍ’を示す情報をトリミング実行部８５に出力し、トリミング実行部８５は、トリミング中心線Ｍ’に基づいて、トリミング中心線Ｍ’を中心にして左右対称するトリミング領域（図２１（ｃ）に示す点線枠）を設定すると共に、設定されたトリミング領域の画像を切り出してトリミング画像Ｓ２を得る。
【００８３】
カード作成部９０は、トリミング画像Ｓ２に対して必要な拡大縮小処理を行うと共に、処理後の画像をＩＤカードに印刷して、写真付きＩＤカードＰを得る。
【００８４】
図２２は、図１に示す実施形態のＩＤカード発行システムにおけるＩＤカード作成センター１００における処理を示すフローチャートである。図示のように、ＩＤカード作成センター１００は、画像入力部１０により写真画像Ｓ０を入力すると、顔検出部２０は、写真画像Ｓ０に対して顔を検出する処理を行って顔画像Ｓ１を得る（Ｓ１０）。目検出部３０は、顔画像Ｓ１から両目の位置を検出し（Ｓ１５）、胴体傾き検出部５０は、検出された両目の位置に基づいて肩を検出する範囲の設定、両肩の検出、肩ラインの算出などを行うと共に、この肩ラインに基づいて胴体の傾き（傾きの度合いおよび方向）を算出する（Ｓ２０）。トリミング中心線設定部６０は、顔中心線Ｍを取得すると共に、重要度設定部８０により設定された胴体の重要度αと、胴体の傾きとに基づいて顔中心線Ｍを補正してトリミング中心線Ｍ’を得る（Ｓ２５、Ｓ３０、Ｓ３５）。トリミング実行部８５は、トリミング中心線設定部６０により得られたトリミング中心線Ｍ’を中心に左右対称するトリミング領域を設定し、このトリミング領域内の画像を切り出してトリミング画像Ｓ２を得る（Ｓ４０）。カード作成部９０は、トリミング画像Ｓ２に対して必要な拡大縮小処理を行って、処理後のトリミング画像をＩＤカードに印刷して写真付きＩＤカードを作成する（Ｓ４５）。
【００８５】
このように、本発明の実施形態のＩＤカード発行システムによれば、基準部位となる顔の中心線を、胴体の傾きに応じて補正してトリミング中心線を得るようにしているので、胴体が顔に対して傾きが無い場合には、顔も胴体も傾かずにトリミング画像を得ることができると共に、胴体が顔に対して傾きがある場合には、トリミング画像において、顔が多少傾くものの、胴体の極端な傾きを避けることができ、バランスが良い。
【００８６】
また、胴体の重要度に応じた程度で顔の中心線を補正しているので、ユーザの好みなどを反映したトリミング画像を得ることができる。
【００８７】
以上、本発明の望ましい実施形態について説明したが、本発明の画像処理方法および装置並びにそのためのプログラムは、上述した実施形態に限られることがなく、本発明の主旨を逸脱しない限り、様々な増減、変化を加えることができる。
【００８８】
例えば、上述した実施形態において、両目間の中心点を通り、かつ両目を結んだ直線と直交する直線を顔の中心線として取得しているが、例えば特許文献１に記載されたように、両目間の中心点、鼻の中心点、口の中心点を取得し、これらの中心点を結ぶ直線を顔中心線としてもよい。
【００８９】
また、顔の検出方法、目の検出方法、肩の検出方法も、上述した実施形態に限られたものではなく、夫々の目的を達成することができれば行かなる方法であってもよい。さらに、ユーザに指定させるようにしてもよい。
【００９０】
また、胴体の傾きの検出も、肩ラインを検出することによって得られる方法に限られるものではない。
【００９１】
また、顔中心線を補正してトリミング中心線を得る際の具体的な手法も、結果として顔中心線が補正されていればよく、上述のような直接に顔中心線を補正する手法に限られるものではない。例えば、両肩の両肩の夫々の外端点を取得し、両目間の中心点を通り、かつこの２つの外端点を結ぶ直線と直交する直線を第１の直線とし、顔中心線を第２の直線とし、両目間の中心点において第１の直線と第２の直線と交差し、かつ第１の直線と第２の直線の内側にはさまれる直線をトリミング中心線として得るようにしてもよい。この場合、胴体の重要度に応じて、重要度が高いほど第１の直線側に寄るようにトリミング中心線の傾きを決めればよい。
【００９２】
また、上述した実施形態において、顔中心線を補正する際に、両目間の中心点を回転中心にして顔中心線を回転させるようにしているが、顔の中心、上半身の中心を回転の中心としてもよく、さらに、自動写真ボックスのように椅子の高さから腰の位置が分かる場合には、腰の中心を回転の中心としてもよい。
【００９３】
また、本実施形態のＩＤカード発行システムは、処理対象が例として証明写真画像であるため、被写体を構成する部位が胴体と顔のみであるが、本発明の画像処理方法および装置は、３つ以上の部位から構成された被写体の写真画像のトリミング処理に適用することができ、被写体の種類も人物に限られたものではない。
【図面の簡単な説明】
【００９４】
【図１】本発明の実施形態となるＩＤカード発行システムの構成を示すブロック図
【図２】図１に示す実施形態におけるＩＤカード作成センター１００の構成を示すブロック図
【図３】図２に示すＩＤカード作成センター１００における顔検出部２０の構成を示すブロック図
【図４】図２に示すＩＤカード作成センター１００における目検出部３０の構成を示すブロック図
【図５】目の位置を説明するための図
【図６】（ａ）は水平方向のエッジ検出フィルタを示す図、（ｂ）は垂直方向のエッジ検出フィルタを示す図
【図７】勾配ベクトルの算出を説明するための図
【図８】（ａ）は人物の顔を示す図、（ｂ）は（ａ）に示す人物の顔の目および口付近の勾配ベクトルを示す図
【図９】（ａ）は正規化前の勾配ベクトルの大きさのヒストグラムを示す図、（ｂ）は正規化後の勾配ベクトルの大きさのヒストグラムを示す図、（ｃ）は５値化した勾配ベクトルの大きさのヒストグラムを示す図、（ｄ）は正規化後の５値化した勾配ベクトルの大きさのヒストグラムを示す図
【図１０】参照データＥ１の学習に用いられる顔であることが分かっているサンプル画像の例を示す図
【図１１】参照データＥ２の学習に用いられる顔であることが分かっているサンプル画像の例を示す図
【図１２】顔の回転を説明するための図
【図１３】参照データの学習手法を示すフローチャート
【図１４】識別器の導出方法を示す図
【図１５】識別対象画像の段階的な変形を説明するための図
【図１６】図２に示すＩＤカード作成センター１００における胴体傾き検出部５０の構成を示すブロック図
【図１７】図１６に示す胴体傾き検出部５０における肩検出範囲設定部５２の構成を示すブロック図
【図１８】図１７に示す肩検出範囲設定部５２の動作を説明するための図
【図１９】図１６に示す胴体傾き検出部５０における傾き算出部５８の動作を説明するための図
【図２０】図２に示すＩＤカード作成センター１００におけるトリミング中心線設定部６０の構成を示すブロック図
【図２１】写真画像およびトリミング画像の例を示す図
【図２２】図２に示すＩＤカード作成センター１００における処理を示すフローチャート
【符号の説明】
【００９５】
１    撮像ポイント
５    ネットワーク
１０    画像入力部
２０    顔検出部
２２    第１の特徴量算出部
２４    顔検出実行部２４
３０    目検出部
３２    第２の特徴量算出部
３４    目検出実行部
４０    データベース
５０    胴体傾き検出部
５２    肩検出範囲設定部
５２ａ    顔枠推定部
５２ｂ    肩範囲推定部
５４    エッジ検出部
５６    肩ライン取得部
５８    傾き算出部
６０    トリミング中心線設定部
６２    基準中心線算出部
６４    中心線補正部
８０    重要度設定部
８５    トリミング実行部
９０    カード作成部
１００    ＩＤカード作成センター
Ｓ０    写真画像
Ｓ１    顔画像
Ｓ２    トリミング画像
Ｅ１，Ｅ２    特徴量
Ｍ    顔中心線
Ｍ’    トリミング中心線
α    重要度
【図１】
2006139369.tif 000003
【図２】
2006139369.tif 000004
【図３】
2006139369.tif 000005
【図４】
2006139369.tif 000006
【図５】
2006139369.tif 000007
【図６】
2006139369.tif 000008
【図７】
2006139369.tif 000009
【図８】
2006139369.tif 000010
【図９】
2006139369.tif 000011
【図１０】
2006139369.tif 000012
【図１１】
2006139369.tif 000013
【図１２】
2006139369.tif 000014
【図１３】
2006139369.tif 000015
【図１４】
2006139369.tif 000016
【図１５】
2006139369.tif 000017
【図１６】
2006139369.tif 000018
【図１７】
2006139369.tif 000019
【図１８】
2006139369.tif 000020
【図１９】
2006139369.tif 000021
【図２０】
2006139369.tif 000022
【図２１】
2006139369.tif 000023
【図２２】
2006139369.tif 000024