(57)【要約】【課題】  画像中のボケ情報を正しく求める。【解決手段】  ボケ解析手段２００は、瞳検出手段１００により得られた画像Ｄ０の瞳画像Ｄ５を用いてボケ方向およびボケ度を算出して、画像Ｄ０がボケ画像であるか通常画像であるかを判別する。ボケ画像として判別された画像Ｄ０に対して、さらに瞳画像Ｄ５からそのぶれ度、ボケ幅を算出し、瞳画像Ｄ５から得られたボケ度、ボケ幅、ボケ方向、ぶれ度を画像Ｄ０のボケ情報Ｑとしてボケ補正手段２３０に出力する。ボケ補正手段２３０は、ボケ情報Ｑに基づいて、ボケ画像Ｄ０に対して補正を行って補正済み画像Ｄ’を得る。【選択図】          図１
2005332382.tif 000002
【特許請求の範囲】
【請求項１】
デジタル写真画像におけるボケの態様を示すボケ情報を得る画像処理方法において、
前記デジタル写真画像から、点状部を検出し、
該点状部の画像のデータを用いて前記デジタル写真画像の前記ボケ情報を求めることを特徴とする画像処理方法。
【請求項２】
前記デジタル写真画像が、人物の写真画像であり、
前記点状部が、前記人物の瞳であることを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記デジタル写真画像が、人物の写真画像であり、
前記点状部が、前記人物の顔輪郭部分であることを特徴とする請求項１記載の画像処理方法。
【請求項４】
前記ボケ情報が、前記ボケが無方向性のピンボケと有方向性のぶれとのいずれであるかと、ぶれの場合の該ぶれの方向とを示すボケ方向情報を含むものであり、
前記点状部の画像のデータを用いて前記ボケ方向情報を取得し、
ぶれであることを示す前記ボケ方向情報に基づいて、前記デジタル写真画像全体のデータを用いて該ボケ方向情報を除いた前記ボケ情報を求めることを特徴とする請求項１、２または３記載の画像処理方法。
【請求項５】
前記点状部の画像に対して、複数の異なる方向毎にエッジを検出し、
各前記方向における前記エッジの特徴量を取得し、
該各方向における前記特徴量に基づいて前記ボケ方向情報を取得することを特徴とする請求項４記載の画像処理方法。
【請求項６】
前記点状部の画像に対して、複数の異なる方向毎にエッジを検出し、
各前記方向における前記エッジの特徴量を取得し、
該各方向における前記特徴量に基づいて前記ボケ方向情報を取得することを特徴とする請求項４記載の画像処理方法。
【請求項７】
前記ボケ情報を求めたのち、該ボケをなくすように前記デジタル写真画像を補正することを特徴とする請求項１記載の画像処理方法。
【請求項８】
デジタル写真画像におけるボケの態様を示すボケ情報を得る画像処理装置において、
前記デジタル写真画像から、点状部を検出する点状部検出手段と、
該点状部の画像のデータを用いて前記デジタル写真画像の前記ボケ情報を求める解析手段とを有することを特徴とする画像処理装置。
【請求項９】
前記デジタル写真画像が、人物の写真画像であり、
前記点状部検出手段が、前記点状部として前記人物の瞳または顔輪郭を検出するものであることを特徴とする請求項８記載の画像処理装置。
【請求項１０】
前記ボケ情報が、前記ボケが無方向性のピンボケと有方向性のぶれとのいずれであるかと、ぶれの場合の該ぶれの方向とを示すボケ方向情報を含むものであり、
前記解析手段が、前記点状部の画像のデータを用いて前記ボケ方向情報を取得し、ぶれであることを示す前記ボケ方向情報に基づいて、前記デジタル写真画像全体のデータを用いて該ボケ方向情報を除いた前記ボケ情報を求めるものであることを特徴とする請求項８または９記載の画像処理装置。
【請求項１１】
前記解析手段が、前記点状部の画像に対して、複数の異なる方向毎にエッジを検出し、
各前記方向における前記エッジの特徴量を取得し、
該各方向における前記特徴量に基づいて前記ボケ方向情報を取得するものであることを特徴とする請求項１０記載の画像処理装置。
【請求項１２】
前記解析手段により前記ボケ情報を求めた後、前記デジタル画像を補正する補正手段をさらに備えたことを特徴とする請求項８から１１いずれか記載の画像処理装置。
【請求項１３】
前記補正手段が、補正する度合いを前記点状部が大きいほど大きくするものであることを特徴とする請求項１２記載の画像処理装置。
【請求項１４】
デジタル写真画像におけるボケの態様を示すボケ情報を得る処理をコンピュータに実行させるプログラムであって、
前記処理が、前記デジタル写真画像から、点状部を検出する点状部検出処理と、
該点状部の画像のデータを用いて前記デジタル写真画像の前記ボケ情報を求める解析処理とからなることを特徴とするプログラム。
【請求項１５】
前記デジタル写真画像が、人物の写真画像であり、
前記点状部検出処理が、前記点状部として前記人物の瞳を検出する処理であることを特徴とする請求項１４記載のプログラム。
【請求項１６】
前記ボケ情報が、前記ボケが無方向性のピンボケと有方向性のぶれとのいずれであるかと、ぶれの場合の該ぶれの方向とを示すボケ方向情報を含むものであり、
前記解析処理が、前記点状部の画像のデータを用いて前記ボケ方向情報を取得し、ぶれであることを示す前記ボケ方向情報に基づいて、前記デジタル写真画像全体のデータを用いて該ボケ方向情報を除いた前記ボケ情報を求める処理であることを特徴とする請求項９または１５記載のプログラム。
【請求項１７】
前記解析処理が、前記点状部の画像に対して、複数の異なる方向毎にエッジを検出し、
各前記方向における前記エッジの特徴量を取得し、
該各方向における前記特徴量に基づいて前記ボケ方向情報を取得する処理であることを特徴とする請求項１６記載のプログラム。
【請求項１８】
前記解析処理が、前記点状部の画像に対して、複数の異なる方向毎にエッジを検出し、
各前記方向における前記エッジの特徴量を取得し、
該各方向における前記特徴量に基づいて前記ボケ方向情報を取得する処理であることを特徴とする請求項１５記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタル写真画像のボケ情報を取得する画像処理方法および装置並びにそのためのプログラムに関するものである。
【背景技術】
【０００２】
ネガフィルムやリバーサルフィルムなどの写真フィルムに記録された写真画像をスキャナーなどの読取装置で光電的に読み取って得たデジタル写真画像や、デジタルスチルカメラ（ＤＳＣ）で撮像して得たデジタル写真画像などに対して、種々の画像処理を施してプリントすることが行われている。これらの画像処理の一つとして、ボケた画像（ボケ画像）からボケを取り除くボケ画像修復処理が挙げられる。
【０００３】
被写体を撮像して得た写真画像がぼけてしまう理由としては、焦点距離が合わないことに起因するピンボケと、撮像者の手のぶれに起因するぶれボケ（以下略してぶれという）が挙げられる。ピンボケの場合には、点像が２次元的に広がり、すなわち写真画像上における広がりが無方向性を呈することに対して、ぶれの場合には、点像がある軌跡を描き画像上に１次元的に広がり、すなわち写真画像上における広がりがある方向性を呈する。
【０００４】
デジタル写真画像の分野において、従来、ボケ画像を修復するために、様々な方法が提案されている。写真画像の撮像時にぶれの方向やぶれ幅などの情報が分かれば、Ｗｉｅｎｅｒフィルタや逆フィルタなどの復元フィルタを写真画像に適用することにより修復ができることから、撮像時にぶれの方向やぶれ幅などの情報を取得することができる装置（例えば加速度センサー）を撮像装置に設け、撮像と共にぶれの方向やぶれ幅などの情報を取得し、取得された情報に基づいて修復を図る方法が広く知られている（例えば、特許文献１参照）。
【０００５】
また、ボケ画像（ボケがある画像）に対して劣化関数を設定し、設定された劣化関数に対応する復元フィルタでボケ画像を修復し、修復後の画像を評価し、評価の結果に基づいて劣化関数を再設定するようにして、所望の画質になるまで、修復、評価、劣化関数の再設定を繰り返すことによって修復を図る方法も知られている。この方法は、劣化関数の設定、修復、評価、劣化関数の再設定・・・の処理を繰り返す必要があるため、処理時間がかかるという問題がある。特許文献２には、ユーザにボケ画像中の縁部を含む小さな領域を指定させ、ボケ画像全体の代わりに、指定されたこの小さな領域に対して、前述の劣化関数の設定、修復、評価、劣化関数の再設定・・・の処理を繰り返して最適な劣化関数を求め、この劣化関数に対応した復元フィルタをボケ画像全体に適用し、劣化関数を求めるのに使用する画像を前述の小領域の画像にすることによって演算量を減らし、効率向上を図る方法が提案されている。
【０００６】
一方、携帯電話の急激な普及に伴って、携帯電話機の機能が向上し、その中でも携帯電話付属のデジタルカメラ（以下略した携帯カメラという）の機能の向上が注目を浴びている。近年、携帯カメラの画素数が１００万の桁に上がり、携帯カメラが通常のデジタルカメラと同様な使い方がされている。友達同士で旅行に行く時の記念写真などは勿論、好きなタレント、スポーツ選手を携帯カメラで撮像する光景が日常的になっている。このような背景において、携帯カメラにより撮像して得た写真画像は、携帯電話機のモニタで鑑賞することに留まらず、例えば、通常のデジタルカメラにより取得した写真画像と同じようにプリントすることも多くなっている。
【０００７】
他方、携帯カメラは、人間工学的に、本体（携帯電話機）が撮像専用に製造されていないため、撮像時のホールド性が悪いという問題がある。また、携帯カメラは、フラッシュがないため、通常のデジタルカメラよりシャッタースピードが遅い。このような理由から携帯カメラにより被写体を撮像するときに、通常のカメラより手ぶれが起きやすい。極端な手ぶれは、携帯カメラのモニタで確認することができるが、小さな手ぶれは、モニタで確認することができず、プリントして初めて画像のぶれに気付くことが多いため、携帯カメラにより撮像して得た写真画像に対してぶれの補正を施す必要性が高い。
【０００８】
また、前述したように、ボケは画像中の点像の広がりを引き起こすため、ボケ画像には、点像の広がりに応じたエッジの広がりが生じる。すなわち、画像中におけるエッジの広がりの態様は画像中におけるボケと直接関係するものである。この点に着目して、画像データを用いて、画像中におけるエッジの態様を解析することによって画像中のボケに関する情報、例えばボケ方向、ボケ幅などを得る方法が考えられる。
【特許文献１】特開２００２−１１２０９９号公報
【特許文献２】特開平７−１２１７０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、携帯電話機の小型化は、その性能、コストに並び、各携帯電話機メーカの競争の焦点の１つであり、携帯電話機付属のカメラに、ぶれの方向やぶれ幅を取得する装置を設けることが現実的ではないため、特許文献１に提案されたような方法は、携帯カメラに適用することができない。
【００１０】
また、特許文献２に提案された方法は、また、特許文献２に提案されたような方法は、劣化関数の設定、修復、評価、劣化関数の再設定・・・の処理を繰り返す必要があるため、処理時間がかかり、効率が良くないという問題がある。
【００１１】
また、画像中におけるエッジの態様を解析することによって画像中のボケに関する情報を得る方法は、画像の一部にグラデーションがかかったような不鮮明なエッジが存在する場合、正しい解析結果が得られないという虞がある。
【００１２】
本発明は、上記事情に鑑み、特別な装置を撮像装置に設けることを必要としないと共に、グラデーションがかかった部分があるデジタル写真画像に対してもボケの正しい情報を得るができ、ひいては良い補正効果を得ることを可能とする画像処理方法および装置並びにそのためのプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【００１３】
本発明の画像処理方法は、デジタル写真画像におけるボケの態様を示すボケ情報を得る画像処理方法において、
前記デジタル写真画像から、点状部を検出し、
該点状部の画像のデータを用いて前記デジタル写真画像の前記ボケ情報を求めることを特徴とするものである。
【００１４】
ここで、点状部の画像のデータを用いて前記ボケ情報を求めることは、例えば前記点状部の画像のデータを用いて該点状部の画像におけるエッジの態様を解析することとすることができる。
【００１５】
また、前記点状部としては、前記デジタル写真画像が人物の写真画像である場合、前記人物の瞳を用いることが好ましい。また、瞳でなくても、はっきりした顔輪郭を点状部とすることもできる。顔輪郭は点ではないが、本明細書では点状部の一種とみなすこととする。
【００１６】
また、「ボケ情報」は、デジタル写真画像におけるボケの態様を表すことができる情報を意味し、例えばボケの方向に関するボケ方向情報とボケ幅とすることができる。「ボケ」は、無方向性のボケすなわちピンボケと、有方向性のボケすなわちぶれがあり、ぶれの場合は、ボケ方向がぶれ方向に相当し、ピンボケの場合において、その「ボケ方向」は「無方向」とすることができる。また、「ボケ幅」とは、ボケ方向におけるボケの幅を意味し、例えば、ボケ方向におけるエッジのエッジ幅の平均値とすることができる。また、ボケが無方向性のピンボケの場合において、任意の１つの方向におけるエッジのエッジ幅をボケ幅としてもよいが、画像全体におけるエッジのエッジ幅の平均値としてもよい。
【００１７】
さらに、本発明におけるデジタル写真画像は、ボケ画像に限らず、ピンボケもぶれもない通常画像もあり、このような通常画像は、無ボケ、例えば「所定の閾値以下の」ボケ幅とからなるボケ情報を有することとすることができる。
【００１８】
本発明の画像処理方法は、検出された点状部の画像のデータを用いてボケ情報の全ての要素を求めるようにしてもよいが、前記デジタル写真画像におけるボケがぶれである場合（この場合、前記ボケ方向情報としては、前記ボケが無方向性のピンボケと有方向性のぶれのうちのぶれであることと、該ぶれの方向とを示すぶれ方向情報となる）、前記点状部の画像のデータを用いて前記ぶれ方向情報を取得する一方、ぶれ方向情報以外の他のボケ情報（例えばボケ幅）については、前記ぶれ方向情報に基づいて、前記デジタル写真画像全体のデータを用いて求めることが好ましい。
【００１９】
前記点状部の画像に対して、複数の異なる方向毎にエッジを検出し、
各前記方向における前記エッジの特徴量を取得し、
該各方向における前記特徴量に基づいて前記ボケ方向情報を取得することができる。
【００２０】
ここで、「エッジの特徴量」は、画像におけるエッジの広がりの態様と関係する特徴量を意味し、例えば、エッジの鮮鋭度、前記エッジの鮮鋭度の分布を含むものとすることができる。
【００２１】
「エッジの鮮鋭度」は、エッジの鮮鋭さを現すことができるものであれば如何なるパラメータを用いてもよく、例えば、図２２のエッジプロファイルにより示されるエッジの場合、エッジ幅が大きいほどエッジの鮮鋭度が低いように、エッジ幅をエッジの鮮鋭度として用いることは勿論、エッジの明度変化の鋭さ（図２２におけるプロファイル曲線の勾配）が高いほどエッジの鮮鋭度が高いように、エッジのプロファイル曲線の勾配をエッジの鮮鋭度として用いるようにしてもよい。
【００２２】
また、前記「複数の異なる方向」とは、対象画像におけるボケの方向を特定するための方向を意味し、ボケの方向に近い方向を含むことが必要であるため、その数が多ければ多いほど特定の精度が高いが、処理速度との兼ね合いに応じた適宜な個数、例えば、図２１に示すような８方向を用いることが好ましい。
【００２３】
本発明の画像処理装置は、デジタル写真画像におけるボケの態様を示すボケ情報を得る画像処理装置において、
前記デジタル写真画像から、点状部を検出する点状部検出手段と、
該点状部の画像のデータを用いて前記デジタル写真画像の前記ボケ情報を求める解析手段とを有することを特徴とするものである。
【００２４】
また、人物の写真画像である前記デジタル写真画像に対して、前記点状部検出手段は、前記点状部として前記人物の瞳または顔輪郭を検出するものであることが好ましい。そのような検出を行う方法としては、後述の顔検出の技法を用いるほかに、乳がん検出などに利用されているもフォロジフィルタを適用することもできる。
【００２５】
また、前記ボケ情報は、前記ボケが無方向性のピンボケと有方向性のぶれとのいずれであると、ぶれの場合の該ぶれの方向とを示すぶれ方向情報を含むものであり、前記解析手段は、前記点状部の画像のデータを用いて前記ボケ方向情報を取得し、ぶれであることを示す前記ボケ方向情報に基づいて、前記デジタル写真画像全体のデータを用いて該ぶれ方向情報を除いた前記ボケ情報を求めるものであることが好ましい。
【００２６】
前記解析手段は、前記点状部の画像に対して、複数の異なる方向毎にエッジを検出し、
各前記方向における前記エッジの特徴量を取得し、
該各方向における前記特徴量に基づいて前記ボケ方向情報を取得するものであることが好ましい。
【００２７】
また、本発明の画像処理装置は前記解析手段により前記ボケ情報を求めた後、前記デジタル画像を補正する補正手段をさらに備えたものとすることができる。そして、その補正手段は、補正する度合いを前記点状部が大きいほど大きくするものとすることができる。補正する度合いを前記点状部が大きいほど大きくするとは、必ず点状部の大きさすなわちボケすなわちぶれの大きさに応じて補正の度合いを変えることには限定されず、ぶれ幅が所定以上の大きさの場合にのみ補正するということも含むものである。具体的には、例えば顔幅等のサイズに対して10分の１以上のぶれ幅あるいは瞳のサイズ以上のぶれがぶれ解析によって検出されたときにのみ、補正を施すようにしてもよい。
【００２８】
本発明の画像処理方法による画像処理をコンピュータに実行させるプログラムとして提供するようにしてもよい。
【発明の効果】
【００２９】
本発明の画像処理方法および装置並びにプログラムによれば、デジタル写真画像から点状部を検出し、検出された点状部の画像のデータを用いてデジタル写真画像のボケ情報を得るようにしているので、撮像装置に特別な装置を装着することを必要とせずにボケ情報を得ることができるようにすると共に、デジタル写真画像の一部にグラデーションがかかったとしても、正しいボケ情報を得ることができる。
【００３０】
また、デジタル写真画像におけるボケがぶれである場合に対しては、点状部の画像のデータを用いてぶれ方向情報を求める一方、ぶれ方向情報以外のボケ情報、例えばボケ幅（ここではぶれ幅となる）については、例えば、デジタル写真画像全体に亘り、ぶれ方向情報により示されるぶれ方向におけるエッジの平均幅をぶれ幅とするように、点状部の画像データを用いて求められたぶれ方向情報に基づいてデジタル写真画像全体のデータから求めるようにすれば、正しいぶれ方向情報を得ることができると共に、ボケ幅など他のボケ情報を求める際のデータ量が多いため、他のボケ情報をより正確に求めることができる。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照して、本発明の実施形態について説明する。
【００３２】
図１は、本発明の画像処理方法および装置並びにそのためのプログラムの第１の実施形態となる画像処理システムＡの構成を示すブロック図である。本実施形態の画像処理システムＡは、入力されたデジタル写真画像（以下略して画像という）に対してボケ補正処理を行ってプリントするものであり、そのボケ補正処理は、補助記憶装置に読み込まれたボケ補正処理プログラムをコンピュータ（たとえばパーソナルコンピュータ等）上で実行することにより実現される。また、このボケ補正処理プログラムは、ＣＤ−ＲＯＭ等の情報記憶媒体に記憶され、もしくはインターネット等のネットワークを介して配布され、コンピュータにインストールされることになる。
【００３３】
また、画像データは画像を表すものであるため、以下、特に画像と画像データの区別をせずに説明を行う。
【００３４】
図１に示すように、本実施形態の画像処理システムＡは、画像Ｄ０から瞳を検出して、瞳部分の画像（以下瞳画像という）Ｄ５を得る瞳検出手段１００と、瞳画像Ｄ５または画像Ｄ０を用いて画像Ｄ０におけるボケの解析を行って、画像Ｄ０がボケ画像であるか否かの判別を行うと共に、ボケ画像ではない画像Ｄ０に対しては、ボケ画像ではないことを示す情報Ｐを後述する出力手段２７０に送信する一方、ボケ画像となる画像Ｄ０に対してはそのボケ情報Ｑを後述するボケ補正手段２３０に送信するボケ解析手段２００と、ボケ解析手段２００により得られたボケ情報Ｑに基づいてボケ画像である画像Ｄ０に対してボケ補正を行って補正済画像Ｄ’を得るボケ補正手段２３０と、ボケ補正手段２３０により得られた補正済画像Ｄ’またはボケ画像ではない画像Ｄ０をプリントアウトしてプリントを得る出力手段２７０とを有してなる。以下、画像処理システムＡの各手段について説明する。
【００３５】
図２は、図１に示す画像処理システムＡにおける瞳検出手段１００の構成を示すブロック図である。図示のように、瞳検出手段１００は、画像Ｄ０に顔部分が含まれているか否かを識別すると共に、顔部分が含まれていない場合には写真画像Ｄ０をそのまま後述する出力部５０に出力する一方、顔部分が含まれている場合にはさらに左目と右目を検出し、両目の位置および両目間の距離ｄを含む情報Ｓを後述するトリミング部１０および照合部４０に出力する検出部１と、検出部１からの情報Ｓに基づいて、写真画像Ｄ０をトリミングして左目と右目とを夫々含むトリミング画像Ｄ１ａ、Ｄ１ｂ（以下、区別して説明する必要がない場合には、両方を指す意味でＤ１という）を得るトリミング部１０と、トリミング画像Ｄ１に対してグレー変換を行い、トリミング画像Ｄ１のグレースケール画像Ｄ２（Ｄ２ａ，Ｄ２ｂ）を得るグレー変換部１２と、グレースケール画像Ｄ２に対して前処理を行って前処理済み画像Ｄ３（Ｄ３ａ，Ｄ３ｂ）を得る前処理部１４と、前処理済み画像Ｄ３を２値化するための閾値Ｔを算出する２値化閾値算出部１８を有し、該２値化閾値算出部１８により得られた閾値Ｔを用いて前処理済み画像Ｄ３を２値化処理して２値画像Ｄ４（Ｄ４ａ，Ｄ４ｂ）を得る２値化部２０と、２値画像Ｄ４の各画素の座標を円環のハフ空間に投票し、投票された各投票位置の投票値を得ると共に、同じ円心座標を有する投票位置の統合投票値Ｗ（Ｗａ，Ｗｂ）を算出する投票部３５と、投票部３５により得られた各統合投票値のうちの最も大きい統合投票値が対応する円心座標を中心位置候補Ｇ（Ｇａ，Ｇｂ）とすると共に、後述する照合部４０から次の中心位置候補を探すように指示されたとき、次の中心位置候補を求める中心位置候補取得部３５と、中心位置候補取得部３５により取得した中心位置候補は照合基準に満たしているか否かを判別し、照合基準に満たしていればこの中心位置候補を瞳の中心位置として後述する微調整部４５に出力する一方、照合基準に満たしていなければ中心位置候補取得部３５に中心位置候補を取得し直すことをさせると共に、中心位置候補取得部３５により取得された中心位置候補が照合基準を満たすようになるまで中心位置候補取得部３５に中心位置候補の取得し直しを繰り返させる照合部４０と、照合部４０から出力されてきた瞳の中心位置Ｇ（Ｇａ，Ｇｂ）に対して微調整を行い、最終中心位置Ｇ’（Ｇ’ａ，Ｇ’ｂ）を出力部５０に出力する微調整部４５と、最終中心位置Ｇ’に基づいて、中心位置Ｇ’ａを囲む所定の範囲と、Ｇ’ｂを囲む所定の範囲を夫々切り出して瞳画像Ｄ５（Ｄ５ａ，Ｄ５ｂ）を得、この瞳画像Ｄ５をボケ解析手段２００に出力する出力部５０とを有してなる。なお、画像Ｄ０が、顔部分が含まれない画像である場合には、出力部５０は、画像Ｄ０をそのままボケ解析手段２００に出力する。
【００３６】
図３は、図２に示す瞳検出手段１００における検出部１の詳細構成を示すブロック図である。図示のように、検出部１は、写真画像Ｄ０から特徴量Ｃ０を算出する特徴量算出部２と、後述する第１および第２の参照データＥ１，Ｅ２が格納されている記憶部４と、特徴量算出部２が算出した特徴量Ｃ０と記憶部４内の第１の参照データＥ１とに基づいて、写真画像Ｄ０に人物の顔が含まれているか否かを識別する第１の識別部５と、第１の識別部５により写真画像Ｄ０に顔が含まれていると識別された場合に、特徴量算出部２が算出した顔の画像内の特徴量Ｃ０と記憶部４内の第２の参照データＥ２とに基づいて、その顔に含まれる目の位置を識別する第２の識別部６と、並びに第１の出力部７とを備えてなる。
【００３７】
なお、検出部１により識別される目の位置とは、顔における目尻から目頭の間の中心位置（図４中×で示す）であり、図４（ａ）に示すように真正面を向いた目の場合においては瞳の中心位置と同様であるが、図４（ｂ）に示すように右を向いた目の場合は瞳の中心位置ではなく、瞳の中心から外れた位置または白目部分に位置する。
【００３８】
特徴量算出部２は、顔の識別に用いる特徴量Ｃ０を写真画像Ｄ０から算出する。また、写真画像Ｄ０に顔が含まれると識別された場合には、後述するように抽出された顔の画像から同様の特徴量Ｃ０を算出する。具体的には、勾配ベクトル（すなわち写真画像Ｄ０上および顔画像上の各画素における濃度が変化する方向および変化の大きさ）を特徴量Ｃ０として算出する。以下、勾配ベクトルの算出について説明する。まず、特徴量算出部２は、写真画像Ｄ０に対して図５（ａ）に示す水平方向のエッジ検出フィルタによるフィルタリング処理を施して写真画像Ｄ０における水平方向のエッジを検出する。また、特徴量算出部２は、写真画像Ｄ０に対して図５（ｂ）に示す垂直方向のエッジ検出フィルタによるフィルタリング処理を施して写真画像Ｄ０における垂直方向のエッジを検出する。そして、写真画像Ｄ０上の各画素における水平方向のエッジの大きさＨおよび垂直方向のエッジの大きさＶとから、図６に示すように、各画素における勾配ベクトルＫを算出する。また、顔画像についても同様に勾配ベクトルＫを算出する。なお、特徴量算出部２は、後述するように写真画像Ｄ０および顔画像の変形の各段階において特徴量Ｃ０を算出する。
【００３９】
なお、このようにして算出された勾配ベクトルＫは、図７（ａ）に示すような人物の顔の場合、図７（ｂ）に示すように、目および口のように暗い部分においては目および口の中央を向き、鼻のように明るい部分においては鼻の位置から外側を向くものとなる。また、口よりも目の方が濃度の変化が大きいため、勾配ベクトルＫは口よりも目の方が大きくなる。
【００４０】
そして、この勾配ベクトルＫの方向および大きさを特徴量Ｃ０とする。なお、勾配ベクトルＫの方向は、勾配ベクトルＫの所定方向（例えば図６におけるｘ方向）を基準とした０から３５９度の値となる。
【００４１】
ここで、勾配ベクトルＫの大きさは正規化される。この正規化は、写真画像Ｄ０の全画素における勾配ベクトルＫの大きさのヒストグラムを求め、その大きさの分布が写真画像Ｄ０の各画素が取り得る値（８ビットであれば０〜２５５）に均一に分布されるようにヒストグラムを平滑化して勾配ベクトルＫの大きさを修正することにより行う。例えば、勾配ベクトルＫの大きさが小さく、図８（ａ）に示すように勾配ベクトルＫの大きさが小さい側に偏ってヒストグラムが分布している場合には、大きさが０〜２５５の全領域に亘るものとなるように勾配ベクトルＫの大きさを正規化して図８（ｂ）に示すようにヒストグラムが分布するようにする。なお、演算量を低減するために、図８（ｃ）に示すように、勾配ベクトルＫのヒストグラムにおける分布範囲を例えば５分割し、５分割された頻度分布が図８（ｄ）に示すように０〜２５５の値を５分割した範囲に亘るものとなるように正規化することが好ましい。
【００４２】
記憶部４内に格納されている第１および第２の参照データＥ１，Ｅ２は、後述するサンプル画像から選択された複数画素の組み合わせからなる複数種類の画素群のそれぞれについて、各画素群を構成する各画素における特徴量Ｃ０の組み合わせに対する識別条件を規定したものである。
【００４３】
第１および第２の参照データＥ１，Ｅ２中の、各画素群を構成する各画素における特徴量Ｃ０の組み合わせおよび識別条件は、顔であることが分かっている複数のサンプル画像と顔でないことが分かっている複数のサンプル画像とからなるサンプル画像群の学習により、あらかじめ決められたものである。
【００４４】
なお、本実施形態においては、第１の参照データＥ１を生成する際には、顔であることが分かっているサンプル画像として、３０×３０画素サイズを有し、図９に示すように、１つの顔の画像について両目の中心間の距離が１０画素、９画素および１１画素であり、両目の中心間距離において垂直に立った顔を平面上±１５度の範囲において３度単位で段階的に回転させた（すなわち、回転角度が−１５度，−１２度，−９度，−６度，−３度，０度，３度，６度，９度，１２度，１５度）サンプル画像を用いるものとする。したがって、１つの顔の画像につきサンプル画像は３×１１＝３３通り用意される。なお、図９においては−１５度、０度および＋１５度に回転させたサンプル画像のみを示す。また、回転の中心はサンプル画像の対角線の交点である。ここで、両目の中心間の距離が１０画素のサンプル画像であれば、目の中心位置はすべて同一となっている。この目の中心位置をサンプル画像の左上隅を原点とする座標上において（ｘ１，ｙ１）、（ｘ２，ｙ２）とする。また、図面上上下方向における目の位置（すなわちｙ１，ｙ２）はすべてのサンプル画像において同一である。
【００４５】
また、第２の参照データＥ２を生成する際には、顔であることが分かっているサンプル画像として、３０×３０画素サイズを有し、図１０に示すように、１つの顔の画像について両目の中心間の距離が１０画素、９．７画素および１０．３画素であり、各両目の中心間距離において垂直に立った顔を平面上±３度の範囲において１度単位で段階的に回転させた（すなわち、回転角度が−３度，−２度，−１度，０度，１度，２度，３度）サンプル画像を用いるものとする。したがって、１つの顔の画像につきサンプル画像は３×７＝２１通り用意される。なお、図１０においては−３度、０度および＋３度に回転させたサンプル画像のみを示す。また、回転の中心はサンプル画像の対角線の交点である。ここで、図面上上下方向における目の位置はすべてのサンプル画像において同一である。なお、両目の中心間の距離を９．７画素および１０．３画素とするためには、両目の中心間の距離が１０画素のサンプル画像を９．７倍あるいは１０．３倍に拡大縮小して、拡大縮小後のサンプル画像のサイズを３０×３０画素とすればよい。
【００４６】
そして、第２の参照データＥ２の学習に用いられるサンプル画像における目の中心位置を、本実施形態において識別する目の位置とする。
【００４７】
また、顔でないことが分かっているサンプル画像としては、３０×３０画素サイズを有する任意の画像を用いるものとする。
【００４８】
ここで、顔であることが分かっているサンプル画像として、両目の中心間距離が１０画素であり、平面上の回転角度が０度（すなわち顔が垂直な状態）のもののみを用いて学習を行った場合、第１および第２の参照データＥ１，Ｅ２を参照して顔または目の位置であると識別されるのは、両目の中心間距離が１０画素で全く回転していない顔のみである。写真画像Ｄ０に含まれる可能性がある顔のサイズは一定ではないため、顔が含まれるか否かあるいは目の位置を識別する際には、後述するように写真画像Ｄ０を拡大縮小して、サンプル画像のサイズに適合するサイズの顔および目の位置を識別できるようにしている。しかしながら、両目の中心間距離を正確に１０画素とするためには、写真画像Ｄ０のサイズを拡大率として例えば１．１単位で段階的に拡大縮小しつつ識別を行う必要があるため、演算量が膨大なものとなる。
【００４９】
また、写真画像Ｄ０に含まれる可能性がある顔は、図１１（ａ）に示すように平面上の回転角度が０度のみではなく、図１１（ｂ）、（ｃ）に示すように回転している場合もある。しかしながら、両目の中心間距離が１０画素であり、顔の回転角度が０度のサンプル画像のみを使用して学習を行った場合、顔であるにも拘わらず、図１１（ｂ）、（ｃ）に示すように回転した顔については識別を行うことができなくなってしまう。
【００５０】
このため、本実施形態においては、顔であることが分かっているサンプル画像として、図９に示すように両目の中心間距離が９，１０，１１画素であり、各距離において平面上±１５度の範囲にて３度単位で段階的に顔を回転させたサンプル画像を用いて、第１の参照データＥ１の学習に許容度を持たせるようにしたものである。これにより、後述する第１の識別部５において識別を行う際には、写真画像Ｄ０を拡大率として１１／９単位で段階的に拡大縮小すればよいため、写真画像Ｄ０のサイズを例えば拡大率として例えば１．１単位で段階的に拡大縮小する場合と比較して、演算時間を低減できる。また、図１１（ｂ）、（ｃ）に示すように回転している顔も識別することができる。
【００５１】
一方、第２の参照データＥ２の学習には、図１０に示すように両目の中心間距離が９．７，１０，１０．３画素であり、各距離において平面上±３度の範囲にて１度単位で段階的に顔を回転させたサンプル画像を用いているため、第１の参照データＥ１と比較して学習の許容度は小さい。また、後述する第２の識別部６において識別を行う際には、写真画像Ｄ０を拡大率として１０．３／９．７単位で拡大縮小する必要があるため、第１の識別部５において行われる識別よりも演算に長時間を要する。しかしながら、第２の識別部６において識別を行うのは第１の識別部５が識別した顔内の画像のみであるため、写真画像Ｄ０の全体を用いる場合と比較して目の位置の識別を行うための演算量を低減することができる。
【００５２】
以下、図１２のフローチャートを参照しながらサンプル画像群の学習手法の一例を説明する。なお、ここでは第１の参照データＥ１の学習について説明する。
【００５３】
学習の対象となるサンプル画像群は、顔であることが分かっている複数のサンプル画像と、顔でないことが分かっている複数のサンプル画像とからなる。なお、顔であることが分かっているサンプル画像は、上述したように１つのサンプル画像につき両目の中心位置が９，１０，１１画素であり、各距離において平面上±１５度の範囲にて３度単位で段階的に顔を回転させたものを用いる。各サンプル画像には、重みすなわち重要度が割り当てられる。まず、すべてのサンプル画像の重みの初期値が等しく１に設定される（Ｓ１）。
【００５４】
次に、サンプル画像における複数種類の画素群のそれぞれについて識別器が作成される（Ｓ２）。ここで、それぞれの識別器とは、１つの画素群を構成する各画素における特徴量Ｃ０の組み合わせを用いて、顔の画像と顔でない画像とを識別する基準を提供するものである。本実施形態においては、１つの画素群を構成する各画素における特徴量Ｃ０の組み合わせについてのヒストグラムを識別器として使用する。
【００５５】
図１３を参照しながらある識別器の作成について説明する。図１３の左側のサンプル画像に示すように、この識別器を作成するための画素群を構成する各画素は、顔であることが分かっている複数のサンプル画像上における、右目の中心にある画素Ｐ１、右側の頬の部分にある画素Ｐ２、額の部分にある画素Ｐ３および左側の頬の部分にある画素Ｐ４である。そして顔であることが分かっているすべてのサンプル画像について全画素Ｐ１〜Ｐ４における特徴量Ｃ０の組み合わせが求められ、そのヒストグラムが作成される。ここで、特徴量Ｃ０は勾配ベクトルＫの方向および大きさを表すが、勾配ベクトルＫの方向は０〜３５９の３６０通り、勾配ベクトルＫの大きさは０〜２５５の２５６通りあるため、これをそのまま用いたのでは、組み合わせの数は１画素につき３６０×２５６通りの４画素分、すなわち（３６０×２５６）4通りとなってしまい、学習および検出のために多大なサンプルの数、時間およびメモリを要することとなる。このため、本実施形態においては、勾配ベクトルの方向を０〜３５９を０〜４４と３１５〜３５９（右方向、値：０），４５〜１３４（上方向値：１），１３５〜２２４（左方向、値：２），２２５〜３１４（下方向、値３）に４値化し、勾配ベクトルの大きさを３値化（値：０〜２）する。そして、以下の式を用いて組み合わせの値を算出する。
【００５６】
組み合わせの値＝０（勾配ベクトルの大きさ＝０の場合）
組み合わせの値＝（（勾配ベクトルの方向＋１）×勾配ベクトルの大きさ（勾配ベクトルの大きさ＞０の場合）
これにより、組み合わせ数が９4通りとなるため、特徴量Ｃ０のデータ数を低減できる。
【００５７】
同様に、顔でないことが分かっている複数のサンプル画像についても、ヒストグラムが作成される。なお、顔でないことが分かっているサンプル画像については、顔であることが分かっているサンプル画像上における上記画素Ｐ１〜Ｐ４の位置に対応する画素が用いられる。これらの２つのヒストグラムが示す頻度値の比の対数値を取ってヒストグラムで表したものが、図１３の一番右側に示す、識別器として用いられるヒストグラムである。この識別器のヒストグラムが示す各縦軸の値を、以下、識別ポイントと称する。この識別器によれば、正の識別ポイントに対応する特徴量Ｃ０の分布を示す画像は顔である可能性が高く、識別ポイントの絶対値が大きいほどその可能性は高まると言える。逆に、負の識別ポイントに対応する特徴量Ｃ０の分布を示す画像は顔でない可能性が高く、やはり識別ポイントの絶対値が大きいほどその可能性は高まる。ステップＳ２では、識別に使用され得る複数種類の画素群を構成する各画素における特徴量Ｃ０の組み合わせについて、上記のヒストグラム形式の複数の識別器が作成される。
【００５８】
続いて、ステップＳ２で作成した複数の識別器のうち、画像が顔であるか否かを識別するのに最も有効な識別器が選択される。最も有効な識別器の選択は、各サンプル画像の重みを考慮して行われる。この例では、各識別器の重み付き正答率が比較され、最も高い重み付き正答率を示す識別器が選択される（Ｓ３）。すなわち、最初のステップＳ３では、各サンプル画像の重みは等しく１であるので、単純にその識別器によって画像が顔であるか否かが正しく識別されるサンプル画像の数が最も多いものが、最も有効な識別器として選択される。一方、後述するステップＳ５において各サンプル画像の重みが更新された後の２回目のステップＳ３では、重みが１のサンプル画像、重みが１よりも大きいサンプル画像、および重みが１よりも小さいサンプル画像が混在しており、重みが１よりも大きいサンプル画像は、正答率の評価において、重みが１のサンプル画像よりも重みが大きい分多くカウントされる。これにより、２回目以降のステップＳ３では、重みが小さいサンプル画像よりも、重みが大きいサンプル画像が正しく識別されることに、より重点が置かれる。
【００５９】
次に、それまでに選択した識別器の組み合わせの正答率、すなわち、それまでに選択した識別器を組み合わせて使用して各サンプル画像が顔の画像であるか否かを識別した結果が、実際に顔の画像であるか否かの答えと一致する率が、所定の閾値を超えたか否かが確かめられる（Ｓ４）。ここで、組み合わせの正答率の評価に用いられるのは、現在の重みが付けられたサンプル画像群でも、重みが等しくされたサンプル画像群でもよい。所定の閾値を超えた場合は、それまでに選択した識別器を用いれば画像が顔であるか否かを十分に高い確率で識別できるため、学習は終了する。所定の閾値以下である場合は、それまでに選択した識別器と組み合わせて用いるための追加の識別器を選択するために、ステップＳ６へと進む。
【００６０】
ステップＳ６では、直近のステップＳ３で選択された識別器が再び選択されないようにするため、その識別器が除外される。
【００６１】
次に、直近のステップＳ３で選択された識別器では顔であるか否かを正しく識別できなかったサンプル画像の重みが大きくされ、画像が顔であるか否かを正しく識別できたサンプル画像の重みが小さくされる（Ｓ５）。このように重みを大小させる理由は、次の識別器の選択において、既に選択された識別器では正しく識別できなかった画像を重要視し、それらの画像が顔であるか否かを正しく識別できる識別器が選択されるようにして、識別器の組み合わせの効果を高めるためである。
【００６２】
続いて、ステップＳ３へと戻り、上記したように重み付き正答率を基準にして次に有効な識別器が選択される。
【００６３】
以上のステップＳ３からＳ６を繰り返して、顔が含まれるか否かを識別するのに適した識別器として、特定の画素群を構成する各画素における特徴量Ｃ０の組み合わせに対応する識別器が選択されたところで、ステップＳ４で確認される正答率が閾値を超えたとすると、顔が含まれるか否かの識別に用いる識別器の種類と識別条件とが確定され（Ｓ７）、これにより第１の参照データＥ１の学習を終了する。
【００６４】
そして、上記と同様に識別器の種類と識別条件とを求めることにより第２の参照データＥ２の学習がなされる。
【００６５】
なお、上記の学習手法を採用する場合において、識別器は、特定の画素群を構成する各画素における特徴量Ｃ０の組み合わせを用いて顔の画像と顔でない画像とを識別する基準を提供するものであれば、上記のヒストグラムの形式のものに限られずいかなるものであってもよく、例えば２値データ、閾値または関数等であってもよい。また、同じヒストグラムの形式であっても、図１３の中央に示した２つのヒストグラムの差分値の分布を示すヒストグラム等を用いてもよい。
【００６６】
また、学習の方法としては上記手法に限定されるものではなく、ニューラルネットワーク等他のマシンラーニングの手法を用いることができる。
【００６７】
第１の識別部５は、複数種類の画素群を構成する各画素における特徴量Ｃ０の組み合わせのすべてについて第１の参照データＥ１が学習した識別条件を参照して、各々の画素群を構成する各画素における特徴量Ｃ０の組み合わせについての識別ポイントを求め、すべての識別ポイントを総合して写真画像Ｄ０に顔が含まれるか否かを識別する。この際、特徴量Ｃ０である勾配ベクトルＫの方向は４値化され大きさは５値化される。本実施形態では、すべての識別ポイントを加算して、その加算値の正負によって識別を行うものとする。例えば、識別ポイントの総和が正の値である場合には写真画像Ｄ０には顔が含まれると判断し、負の値である場合には顔は含まれないと判断する。なお、第１の識別部５が行う写真画像Ｄ０に顔が含まれるか否かの識別を第１の識別と称する。
【００６８】
ここで、写真画像Ｄ０のサイズは３０×３０画素のサンプル画像とは異なり、各種サイズを有するものとなっている。また、顔が含まれる場合、平面上における顔の回転角度が０度であるとは限らない。このため、第１の識別部５は、図１４に示すように、写真画像Ｄ０を縦または横のサイズが３０画素となるまで段階的に拡大縮小するとともに平面上で段階的に３６０度回転させつつ（図１４においては縮小する状態を示す）、各段階において拡大縮小された写真画像Ｄ０上に３０×３０画素サイズのマスクＭを設定し、マスクＭを拡大縮小された写真画像Ｄ０上において１画素ずつ移動させながら、マスク内の画像が顔の画像であるか否かの識別を行うことにより、写真画像Ｄ０に顔が含まれるか否かを識別する。
【００６９】
なお、第１参照データＥ１の生成時に学習したサンプル画像として両目の中心位置の画素数が９，１０，１１画素のものを使用しているため、写真画像Ｄ０の拡大縮小時の拡大率は１１／９とすればよい。また、第１および第２の参照データＥ１，Ｅ２の生成時に学習したサンプル画像として、顔が平面上で±１５度の範囲において回転させたものを使用しているため、写真画像Ｄ０は３０度単位で３６０度回転させればよい。
【００７０】
なお、特徴量算出部２は、写真画像Ｄ０の拡大縮小および回転という変形の各段階において特徴量Ｃ０を算出する。
【００７１】
そして、写真画像Ｄ０に顔が含まれるか否かの識別を拡大縮小および回転の全段階の写真画像Ｄ０について行い、一度でも顔が含まれると識別された場合には、写真画像Ｄ０には顔が含まれると識別し、顔が含まれると識別された段階におけるサイズおよび回転角度の写真画像Ｄ０から、識別されたマスクＭの位置に対応する３０×３０画素の領域を顔の画像として抽出する。
【００７２】
第２の識別部６は、第１の識別部５が抽出した顔の画像上において、複数種類の画素群を構成する各画素における特徴量Ｃ０の組み合わせのすべてについて第２の参照データＥ２が学習した識別条件を参照して、各々の画素群を構成する各画素における特徴量Ｃ０の組み合わせについての識別ポイントを求め、すべての識別ポイントを総合して顔に含まれる目の位置を識別する。この際、特徴量Ｃ０である勾配ベクトルＫの方向は４値化され大きさは５値化される。
【００７３】
ここで、第２の識別部６は、第１の識別部５が抽出した顔画像のサイズを段階的に拡大縮小するとともに平面上で段階的に３６０度回転させつつ、各段階において拡大縮小された顔画像上に３０×３０画素サイズのマスクＭを設定し、マスクＭを拡大縮小された顔上において１画素ずつ移動させながら、マスク内の画像における目の位置の識別を行う。
【００７４】
なお、第２参照データＥ２の生成時に学習したサンプル画像として両目の中心位置の画素数が９．０７，１０，１０．３画素のものを使用しているため、顔画像の拡大縮小時の拡大率は１０．３／９．７とすればよい。また、第２の参照データＥ２の生成時に学習したサンプル画像として、顔が平面上で±３度の範囲において回転させたものを使用しているため、顔画像は６度単位で３６０度回転させればよい。
【００７５】
なお、特徴量算出部２は、顔画像の拡大縮小および回転という変形の各段階において特徴量Ｃ０を算出する。
【００７６】
そして、本実施形態では、抽出された顔画像の変形の全段階においてすべての識別ポイントを加算し、加算値が最も大きい変形の段階における３０×３０画素のマスクＭ内の顔画像において、左上隅を原点とする座標を設定し、サンプル画像における目の位置の座標（ｘ１，ｙ１）、（ｘ２，ｙ２）に対応する位置を求め、変形前の写真画像Ｄ０におけるこの位置に対応する位置を目の位置と識別する。
【００７７】
第１の出力部７は、第１の識別部５が写真画像Ｄ０に顔が含まれないと識別した場合には、写真画像Ｄ０をそのまま出力部５０に出力する一方、第１の識別部５が写真画像Ｄ０に顔が含まれると認識した場合には、第２の識別部６が識別した両目の位置から両目間の距離ｄを求め、両目の位置および両目間の距離ｄを情報Ｓとしてトリミング部１０および照合部４０に出力する。
【００７８】
図１５は瞳検出手段１００における検出部１の動作を示すフローチャートである。写真画像Ｄ０に対して、まず、特徴量算出部２が写真画像Ｄ０の拡大縮小および回転の各段階において、写真画像Ｄ０の勾配ベクトルＫの方向および大きさを特徴量Ｃ０として算出する（Ｓ１２）。そして、第１の識別部５が記憶部４から第１の参照データＥ１を読み出し（Ｓ１３）、写真画像Ｄ０に顔が含まれるか否かの第１の識別を行う（Ｓ１４）。
【００７９】
第１の識別部５は、写真画像Ｄ０に顔が含まれると判別する（Ｓ１４：Ｙｅｓ）と、写真画像Ｄ０から顔を抽出する（Ｓ１５）。ここでは、１つの顔に限らず複数の顔を抽出してもよい。次いで、特徴量算出部２が顔画像の拡大縮小および回転の各段階において、顔画像の勾配ベクトルＫの方向および大きさを特徴量Ｃ０として算出する（Ｓ１６）。そして、第２の識別部６が記憶部４から第２の参照データＥ２を読み出し（Ｓ１７）、顔に含まれる目の位置を識別する第２の識別を行う（Ｓ１８）。
【００８０】
続いて、第１の出力部７が写真画像Ｄ０から識別された目の位置および、この目の位置に基づいて求められた両目間の距離ｄを情報Ｓとしてトリミング部１０および照合部４０に出力する（Ｓ１９）。
【００８１】
一方、ステップＳ１４において、写真画像Ｄ０に顔が含まれていないと判別される（Ｓ１４：Ｎｏ）と、第１の出力部７は、写真画像Ｄ０をそのまま出力部５０に出力する（Ｓ１９）。
【００８２】
トリミング部１０は、検出部１から出力されてきた情報Ｓに基づいて、左目のみと右目のみとを夫々含む所定の範囲を切り出してトリミング画像Ｄ１ａとＤ１ｂを得るものである。ここで、トリミングする際の所定の範囲とは、夫々の目の近傍を外枠にした範囲であり、例えば、図１６に示す斜線範囲のように、検出部１より識別した目の位置（目の中心点）を中心とした、図示Ｘ方向とＹ方向の長さが夫々ｄと０．５ｄである長方形の範囲とすることができる。なお、図示斜線範囲は、図中の左目のトリミングの範囲であるが、右目についても同様である。
【００８３】
グレー変換部１２は、トリミング部１０により得られたトリミング画像Ｄ１に対して下記の式（１）に従ってグレー変換処理を行ってグレースケール画像Ｄ２を得る。
【００８４】
Ｙ＝０．２９９×Ｒ＋０．５８７×Ｇ＋０．１１４×Ｂ      （１）
但し、Ｙ：輝度値
Ｒ，Ｇ，Ｂ：Ｒ、Ｇ、Ｂ値
前処理部１４は、グレースケール画像Ｄ２に対して前処理を行うものであり、ここでは、前処理として、平滑化処理と穴埋め処理が行われる。また、平滑化処理は、例えばカウシアンフィルタを適用することによって行われ、穴埋め処理は、補間処理とすることができる。
【００８５】
図４に示すように、写真画像における瞳の部分において、中心より上が部分的に明るくなる傾向があるため、穴埋め処理を行ってこの部分のデータを補間することにより瞳の中心位置の検出精度を向上させることができる。
【００８６】
２値化部２０は、２値化閾値算出部１８を有し、該２値化閾値算出部１８により算出した閾値Ｔを用いて、前処理部１４により得られた前処理済み画像Ｄ３を２値化して２値画像Ｄ４を得るものである。２値化閾値算出部１８は、具体的には前処理済み画像Ｄ３に対して、図１７に示す輝度のヒストグラムを作成し、前処理済み画像Ｄ３の全画素数の数分の１（図示では１／５となる２０％）に相当する出現頻度に対応する輝度値を２値化用の閾値Ｔとして求める。２値化部２０は、この閾値Ｔを用いて前処理済み画像Ｄ３を２値化して２値画像Ｄ４を得る。
【００８７】
投票部３０は、まず、２値化画像Ｄ４における各画素（画素値が１となる画素）の座標を円環のハフ空間（円中心点Ｘ座標，円中心点Ｙ座標，半径ｒ）に投票して、各投票位置の投票値を算出する。通常、１つの投票位置がある画素により投票されると、１回投票されたとして投票値に１が加算されるようにして各投票位置の投票値を求めるようにしているが、ここでは、１つの投票位置がある画素に投票されると、投票値に１を加算するのではなく、投票した画素の輝度値を参照して、輝度値が小さいほど、大きい重みを付けて加算するようにして各投票位置の投票値を求める。図１８は、図２に示す瞳検出手段１００における投票部３０に使用された重付け係数のテーブルを示している。なお、図中Ｔは、２値化閾値算出部１８により算出された２値化用の閾値Ｔである。
【００８８】
投票部３０は、このようにして各投票位置の投票値を求めた後、これらの投票位置のうち、円環中心点座標値、即ち円環ハフ空間（Ｘ，Ｙ，ｒ）における（Ｘ，Ｙ）座標値が同じである投票位置同士の投票値を加算して各々の（Ｘ，Ｙ）座標値に対応する統合投票値Ｗを得て、相対応する（Ｘ，Ｙ）座標値と対応付けて中心位置候補取得部３５に出力する。
【００８９】
中心位置候補取得部３５は、まず、投票部３０からの各々の統合投票値から、最も大きい統合投票値に対応する（Ｘ，Ｙ）座標値を、瞳の中心位置候補Ｇとして取得して、照合部４０に出力する。ここで、中心位置候補取得部３５により取得された中心位置候補Ｇは、左瞳の中心位置Ｇａと右瞳の中心位置Ｇｂとの２つであり、照合部４０は、検出部１により出力された両目間の距離ｄに基づいて、２つの中心位置Ｇａ、Ｇｂの照合を行う。
【００９０】
具体的には、照合部４０は、次の２つの照合基準に基づいて照合を行う。
【００９１】
１． 左瞳の中心位置と右瞳の中心位置とのＹ座標値の差が（ｄ／５０）以下。
【００９２】
２． 左瞳の中心位置と右瞳の中心位置とのＸ座標値の差が（０．８×ｄ〜１．２×ｄ）の範囲内。
【００９３】
照合部４０は、中心位置候補取得部３５からの２つの瞳の中心位置候補Ｇａ、Ｇｂが上記２つの照合基準を満たしているか否かを判別し、２つの基準とも満たしていれば（以下照合基準を満たしているという）、瞳の中心位置候補Ｇａ、Ｇｂを瞳の中心位置として微調整部４５に出力する。一方、２つの基準または２つの基準のうちの１つを満たしていなければ（以下照合基準を満たしていないという）、中心位置候補取得部３５に次の中心位置候補を取得するように指示すると共に、中心位置候補取得部３５により取得された次の中心位置候補に対して上述した照合、照合基準を満たしている場合の中心位置出力、照合基準を満たしていない場合の中心位置候補を再取得する指示などの処理を、照合基準を満たすようになるまで繰り返す。
【００９４】
片方、中心位置候補取得部３５は、照合部４０から次の中心位置候補の取得が指示されると、まず、片方（ここでは、左瞳）の中心位置を固定して、もう片方（ここでは右瞳）の各々の統合投票値Ｗｂから、下記の３つの条件に合う投票位置の（Ｘ，Ｙ）座標値を次の中心位置候補として取得する。
【００９５】
１．最後に照合部４０に出力した中心位置候補の（Ｘ、Ｙ）座標値により示される位置とｄ／３０以上（Ｄ：両目間の距離）離れている。
【００９６】
２．相対応する統合投票値が、条件１を満たす（Ｘ，Ｙ）座標値に対応する統合投票値のうち、最後に照合部４０に出力した中心位置候補の（Ｘ，Ｙ）座標値に対応する統合投票値の次に大きい。
【００９７】
３．相対応する統合投票値が、１回目に照合部４０に出力した中心位置候補の（Ｘ，Ｙ）座標値に対応する統合投票値（最も大きい統合投票値）の１０パーセント以上である。
【００９８】
中心位置候補取得部３５は、まず、左瞳の中心位置を固定して、右瞳に対して求められた統合投票値Ｗｂに基づいて上記３つの条件を満たす右瞳の中心位置候補を探すが、上記３つの条件を満たす候補を見つからない場合には、右瞳の中心位置を固定して、左瞳に対して求められた統合投票値Ｗａに基づいて上記の３つの条件を満たす左瞳の中心位置を探す。
【００９９】
微調整部４５は、照合部４０から出力してきた瞳の中心位置Ｇ（照合基準を満たしている中心位置候補）に対して微調整を行うものである。まず、左瞳の中心位置の微調整を説明する。微調整部４５は、２値化部２０により得られた左目のトリミング画像Ｄ１ａの２値画像Ｄ４ａに対して、サイズが９×９で、オール１のマスクを用いてマスク演算を３回繰り返し、このマスク演算の結果により得られた最大結果値を有する画素の位置（Ｇｍとする）に基づいて、照合部４０から出力してきた左瞳の中心位置Ｇａに対して微調整を行う。具体的には、例えば、位置Ｇｍと中心位置Ｇａとの平均を取って得た平均位置を瞳の最終中心位置Ｇ’aとするようにしてもよいし、中心位置Ｇａの方に重みを付けて平均演算して得た平均位置を瞳の最終中心位置Ｇ’ａとするようにしてもよい。ここでは、中心位置Ｇａの方に重みを付けて平均演算することにする。
【０１００】
また、右瞳の中心位置の微調整は、右目のトリミング画像Ｄ１ｂの２値画像Ｄ４ｂを用いて上記と同じように行われる。
【０１０１】
微調整部４５は、このようにして、照合部４０から出力してきた瞳の中心位置Ｇａ、Ｇｂに対して微調整を行って得た最終中心位置Ｇ’ａ、Ｇ’ｂを出力部５０に出力する。
【０１０２】
出力部５０は、顔が含まれていない画像Ｄ０をそのままボケ解析手段２００に出力するが、顔が含まれた画像Ｄ０に対しては、最終中心位置Ｇ’に基づいて、中心位置Ｇ’ａを囲む所定の範囲と、Ｇ’ｂを囲む所定の範囲を夫々切り出して瞳画像Ｄ５（Ｄ５ａ，Ｄ５ｂ）を得、この瞳画像Ｄ５をボケ解析手段２００に出力する。
【０１０３】
図１９は、図２に示す瞳検出手段１００の処理を示すフローチャートである。図示のように、写真画像Ｄ０は、まず検出部１において顔が含まれているか否かの判別がされる（Ｓ１１０）。判別の結果、写真画像Ｄ０に顔が含まれていなければ（Ｓ１１５：Ｎｏ）、写真画像Ｄ０は検出部１から出力部５０に出力される一方、写真画像Ｄ０に顔が含まれていれば（Ｓ１１５：Ｙｅｓ）、さらに、検出部１において写真画像Ｄ０における目の位置が検出され、両目の位置および両目間の距離ｄが情報Ｓとしてトリミング部１０に出力される（Ｓ１２０）。トリミング部１０において、写真画像Ｄ０がトリミングされ、左目のみを含むトリミング画像Ｄ１ａと右目のみを含むトリミング画像Ｄ１ｂが得られる（Ｓ１２５）。トリミング画像Ｄ１は、グレー変換部１２によりグレー変換されてグレースケール画像Ｄ２となる（Ｓ１３０）。グレースケール画像Ｄ２は、前処理部１４により平滑化処理と穴埋め処理を施され、さらに２値化部２０により２値化処理されて２値画像Ｄ４となる（Ｓ１３５、Ｓ１４０）。投票部３０において、２値画像Ｄ４の各画素の座標は円環のハフ空間に投票され、その結果、各々の円中心点を示す（Ｘ，Ｙ）座標値に対応する統合投票値Ｗが得られる（Ｓ１４５）。中心位置候補取得部３５は、まず、最も大きい統合投票値に対応する（Ｘ，Ｙ）座標値を瞳の中心位置候補Ｇとして照合部４０に出力する（Ｓ１５０）。照合部４０は、前述した照合基準に基づいて中心位置候補取得部３５からの２つの中心位置候補Ｇａ、Ｇｂに対して照合を行い（Ｓ１１５）、２つの中心位置候補Ｇａ、Ｇｂが照合基準を満たしていれば（Ｓ１６０：Ｙｅｓ）、この２つの中心位置候補Ｇａ、Ｇｂを中心位置として微調整部４５に出力する一方、２つの中心位置候補Ｇａ、Ｇｂが照合基準を満たしていなければ（Ｓ１６０：Ｎｏ）、中心位置候補取得部３５に次の中心位置候補を探すように指示する（Ｓ１５０）。ステップＳ１５０からステップＳ１６０までの処理が、照合部４０により、中心位置候補取得部３５からの中心位置候補Ｇが照合基準を満たすと判別されるまで繰り返される。
【０１０４】
微調整部４５は、照合部４０から出力された中心位置Ｇに対して微調整を行い、最終中心位置Ｇ’を得て出力部５０に出力する（Ｓ１６５）。
【０１０５】
出力部５０は、顔が含まれていない画像Ｄ０（Ｓ１１５：Ｎｏ）をそのままボケ解析手段２００に出力するが、顔が含まれた画像Ｄ０に対しては、最終中心位置Ｇ’に基づいて、中心位置Ｇ’ａを囲む所定の範囲と、Ｇ’ｂを囲む所定の範囲を夫々切り出して瞳画像Ｄ５（Ｄ５ａ，Ｄ５ｂ）を得、この瞳画像Ｄ５をボケ解析手段２００に出力する（Ｓ１７０）。
【０１０６】
このように、図１に示す画像処理システムＡのボケ解析手段２００には、顔が含まれてない画像Ｄ０、または顔が含まれている画像Ｄ０の瞳画像Ｄ５が入力される。
【０１０７】
図２０は、ボケ解析手段２００の構成を示すブロック図である。図示のように、ボケ解析手段２００は、エッジ検出手段２１２と、エッジプロファイル作成手段２１３と、エッジ絞込手段２１４と、エッジ特徴量取得手段２１６と、解析実行手段２２０と、記憶手段２２５とを有してなるものである。
【０１０８】
エッジ検出手段２１２は、画像Ｄ０または瞳画像Ｄ５（以下対象画像という）を用いて、図２１に示すような８方向毎に、所定の強度以上のエッジを検出し、これらのエッジの座標位置を得てエッジプロファイル作成手段２１３に出力する。エッジプロファイル作成手段２１３は、エッジ検出手段２１２により検出された各方向毎の各々のエッジの座標位置に基づいて、対応する対象画像を用いてこれらのエッジに対して、図２２に示すようなエッジプロファイルを作成してエッジ絞込手段２１４に出力する。
【０１０９】
エッジ絞込手段２１４は、エッジプロファイル作成手段２１３から出力されてきたエッジのプロファイルに基づいて、複雑なプロファイル形状を有するエッジや、光源を含むエッジ（具体的には例えば一定の明度以上のエッジ）などの無効なエッジを除去し、残りのエッジのプロファイルをエッジ特徴量取得手段２１６に出力する。
【０１１０】
エッジ特徴量取得手段２１６は、エッジ絞込手段２１４から出力されてきたエッジのプロファイルに基づいて、図２２に示すようなエッジ幅を各エッジに対して求め、図２３に示すようなエッジ幅のヒストグラムを図２１に示された８つの方向毎に作成してエッジ幅と共にエッジ特徴量Ｓとして解析実行手段２２０に出力する。
【０１１１】
解析実行手段２２０は、主として下記の２つの処理を行う。
【０１１２】
１． 対象画像におけるボケ方向、ボケ度Ｎを求めて、対象画像がボケ画像か通常画像かを判別する。
【０１１３】
２． 対象画像がボケ画像と判別された場合、ボケ幅Ｌ、ぶれ度Ｋを算出する。
【０１１４】
ここで、１つ目の処理から説明する。
【０１１５】
解析実行手段２２０は、対象画像におけるボケ方向を求めるために、まず、図２１に示す８つの方向のエッジ幅のヒストグラム（以下略してヒストグラムという）に対して、互いに直交する２つの方向を１方向組として各方向組（１−５、２−６、３−７、４−８）のヒストグラムの相関値を求める。なお、相関値は求め方によって様々な種類があり、相関値が大きければ相関が小さい種類と、相関値の大小と相関の大小とが一致する、すなわち相関値が小さければ相関が小さい種類との２種類に大きく分けることができる。本実施形態において、例として、相関値の大小と相関の大小とが一致する種類の相関値を用いる。図２４に示すように、画像中にぶれがある場合には、ぶれ方向のヒストグラムと、ぶれ方向と直交する方向のヒストグラムとの相関が小さい（図２４（ａ）参照）のに対して、ぶれと関係ない直交する方向組または画像中にぶれがない（ボケがないまたはピンボケ）場合の直交する方向組では、そのヒストグラムの相関が大きい（図２４（ｂ）参照）。本実施形態の画像処理システムＡにおける解析実行手段２２０は、このような傾向に着目し、４つの方向組に対して、各組のヒストグラムの相関値を求め、相関が最も小さい方向組の２つの方向を見つけ出す。画像Ｄにぶれがあれば、この２つの方向のうちの１つは、図２１に示す８つの方向のうち、最もぶれ方向に近い方向として考えることができる。
【０１１６】
図２４（ｃ）は、ぶれ、ピンボケ、ボケ（ピンボケおよびぶれ）なしの撮像条件で同じ被写体を撮像して得た夫々の画像に対して求められた、このぶれの方向におけるエッジ幅のヒストグラムを示している。図２４（ｃ）から分かるように、ボケのない通常画像は、最も小さい平均エッジ幅を有し、すなわち、上記において見付け出された２つの方向のうち、平均エッジ幅が大きい方は、最もぶれに近い方向のはずである。
【０１１７】
解析実行手段２２０は、こうして、相関が最も小さい方向組を見付け、この方向組の２つの方向のうち、平均エッジ幅の大きい方をボケ方向とする。
【０１１８】
次に、解析実行手段２２０は、対象画像のボケ度Ｎを求める。画像のボケ度は、画像中のボケの程度の大小を示すものであり、例えば、画像中に最もぼけている方向（ここでは上記において求められたボケ方向）の平均エッジ幅を用いてもよいが、ここでは、ボケ方向における各々のエッジのエッジ幅を用いて図２５に基づいたデータベースを利用してより精度良く求める。図２５は、学習用の通常画像データベースとボケ（ピンボケおよびぶれ）画像データベースを元に、画像中の最もぼけている方向（通常画像の場合には、この方向に対応する方向が望ましいが、任意の方向であってもよい）のエッジ幅分布のヒストグラムを作成し、ボケ画像における頻度と通常画像における頻度（図示縦軸）の比率を評価値（図示スコア）としてエッジ幅毎に求めて得たものである。図２５に基づいて、エッジ幅とスコアとを対応付けてなるデータベース（以下スコアデータベースという）が作成され、記憶手段２２５に記憶されている。
【０１１９】
解析実行手段２２０は、図２５に基づいて作成され、記憶手段２２５に記憶されたスコアデータベースを参照し、対象画像のボケ方向の各エッジに対して、そのエッジ幅からスコアを取得し、ボケ方向の全てのエッジのスコアの平均値を対象画像のボケ度Ｎとして求める。求められた対象画像のボケ度Ｎが所定の閾値（Ｔ１とする）より小さければ、解析実行手段２２０は、対象画像が画像Ｄ０である場合には画像Ｄ０を、対象画像が瞳画像Ｄ５である場合にはこの瞳画像Ｄ５が対応する画像Ｄ０を通常画像として判別すると共に、画像Ｄ０が通常画像であることを示す情報Ｐを出力手段６０に出力することをもって、処理を終了する。
【０１２０】
一方、対象画像のボケ度Ｎが閾値Ｔ１以上であれば、解析実行手段２２０は、対象画像がボケ画像であると判別し、２つ目の処理に入る。
【０１２１】
解析実行手段２２０は、２つ目の処理として、まず、対象画像のぶれ度Ｋを求める。
【０１２２】
ボケ画像のボケにおけるぶれの程度の大小を示すぶれ度Ｋは、下記のような要素に基づいて求めることができる。
【０１２３】
１．相関が最も小さい方向組（以下相関最小組）の相関値：この相関値が小さいほどぶれの程度が大きい
解析実行手段２２０は、この点に着目して、図２６（ａ）に示す曲線に基づいて第１のぶれ度Ｋ１を求める。なお、図２６（ａ）に示す曲線に応じて作成されたＬＵＴ（ルックアップテーブル）は、記憶手段２２５に記憶されており、解析実行手段２２０は、相関最小組の相関値に対応する第１のぶれ度Ｋ１を、記憶手段２２５から読み出すようにして第１のぶれ度Ｋ１を求める。
【０１２４】
２．相関最小組の２つの方向のうち、平均エッジ幅が大きい方向の平均エッジ幅：この平均エッジ幅が大きいほどぶれの程度が大きい
解析実行手段２２０は、この点に着目して、図２６（ｂ）に示す曲線に基づいて第２のぶれ度Ｋ２を求める。なお、図２６（ｂ）に示す曲線に応じて作成されたＬＵＴ（ルックアップテーブル）は、記憶手段２２５に記憶されており、解析実行手段２２０は、相関最小組の平均エッジ幅が大きい方向の平均エッジ幅に対応する第２のぶれ度Ｋ２を、記憶手段２２５から読み出すようにして第２のぶれ度Ｋ２を求める。
【０１２５】
３．相関最小組の２つの方向における夫々の平均エッジ幅の差：この差が大きいほどぶれの程度が大きい
解析実行手段２２０は、この点に着目して、図２６（ｃ）に示す曲線に基づいて第３のぶれ度Ｋ３を求める。なお、図２６（ｃ）に示す曲線に応じて作成されたＬＵＴ（ルックアップテーブル）は、記憶手段２２５に記憶されており、解析実行手段２２０は、相関最小組の２つの方向における夫々の平均エッジ幅の差に対応する第３のぶれ度Ｋ３を、記憶手段２２５から読み出すようにして第３のぶれ度Ｋ３を求める。
【０１２６】
解析実行手段２２０は、このようにして第１のぶれ度Ｋ１、第２のぶれ度Ｋ２、第３のぶれ度Ｋ３を求めると共に、下記の式（２）に従って、Ｋ１、Ｋ２、Ｋ３を用いてボケ画像となる対象画像のぶれ度Ｋを求める。
【０１２７】
Ｋ＝Ｋ１×Ｋ２×Ｋ３                            （２）
但し、Ｋ：ぶれ度
Ｋ１：第１のぶれ度
Ｋ２：第２のぶれ度
Ｋ３：第３のぶれ度
次に、解析実行手段２２０は、対象画像のボケ幅Ｌを求める。ここで、ぶれ度Ｋに関係なく、ボケ幅Ｌとしてボケ方向におけるエッジの平均幅を求めるようにしてもよいし、図２１に示す８つの方向のすべてにおけるエッジの平均エッジ幅を求めてボケ幅Ｌとするようにしてもよい。
【０１２８】
解析実行手段２２０は、対象画像が画像Ｄ０である場合に、求められたぶれ度Ｋ、ボケ幅Ｌをボケ度Ｎおよびボケ方向と共に画像Ｄ０のボケ情報Ｑとしてボケ補正手段２３０に出力すると共に、対象画像が瞳画像Ｄ５である場合においても、瞳画像Ｄ５から求められたぶれ度Ｋ、ボケ幅Ｌをボケ度Ｎおよびボケ方向と共に瞳画像Ｄ５が対応する画像Ｄ０のボケ情報Ｑとしてボケ補正手段２３０に出力する。
【０１２９】
図２７は、２０に示すボケ解析手段２００の処理を示すフローチャートである。図示のように、ボケ解析手段２００は、顔が含まれない画像Ｄ０の場合は画像Ｄ０であり、顔が含まれる画像Ｄ０の場合は画像Ｄ０の瞳画像Ｄ５である対象画像に対して、まず、エッジ検出手段２１２により図２１に示す８つの異なる方向毎に所定の強度以上のエッジを検出して各々のエッジの座標位置を得、エッジプロファイル作成手段２１３により、これらの座標位置に基づき、対象画像を用いて各々のエッジに対して図２２に示すようなエッジプロファイルを作成してエッジ絞込手段２１４に出力する（Ｓ２１２）。エッジ絞込手段２１４は、エッジプロファイル作成手段２１３から送信されてきたエッジプロファイルに基づいて、無効なエッジを除去し、残りのエッジのプロファイルをエッジ特徴量取得手段２１６に出力する（Ｓ２１４）。エッジ特徴量取得手段２１６は、エッジ絞込手段２１４から送信された各々のエッジのプロファイルに基づいて各エッジの幅を求めると共に、図２１に示す方向毎にエッジ幅のヒストグラムを作成して、各エッジの幅および各方向のエッジ幅のヒストグラムを対象画像のエッジ特徴量Ｓとして解析実行手段２２０に出力する（Ｓ２１６）。解析実行手段２２０は、エッジ特徴量Ｓを用いて、まず対象画像のボケ方向およびボケ度Ｎを算出し、画像Ｄ０がボケ画像であるか通常画像であるかを判別する（Ｓ２２０、Ｓ２２５）。画像Ｄ０が通常画像であれば（Ｓ２２５：Ｙｅｓ）、解析実行手段２２０は、画像Ｄ０が通常画像であることを示す情報Ｐを出力手段２７０に出力する（Ｓ２３０）。一方、画像Ｄ０がボケ画像に判別されると（Ｓ２２５：Ｎｏ）、解析実行手段２２０は、対象画像に対してさらにぶれ度Ｋ、ボケ幅Ｌを算出し、ステップＳ２２０において求められたボケ度Ｎおよびボケ方向と共に画像Ｄ０のボケ情報Ｑとしてボケ補正手段２３０に出力する（Ｓ２４０、Ｓ２４５）。
【０１３０】
なお、本実施形態におけるボケ解析手段２００は、２つの瞳画像（Ｄ５ａ，Ｄ５ｂ）を用いて解析を行っているが、いずれか１つのみの瞳画像を用いるようにしてもよい。
【０１３１】
ボケ補正手段２３０は、ボケ画像であると判別された画像Ｄ０に対して、ボケ解析手段２００により得られた画像Ｄ０のボケ情報Ｑに基づいてボケ補正を行うものであり、図２８は、その構成を示すブロック図である。
【０１３２】
図２８に示すように、ボケ補正手段２３０は、ボケ情報Ｑに基づいて画像Ｄ０を補正するためのパラメータＥを設定するためのパラメータ設定手段２３５と、パラメータ設定手段２３５のための種々のデータベースを記憶した記憶手段２４０と、画像Ｄ０から高周波数成分Ｄｈを抽出する高周波数成分抽出手段２４５と、パラメータＥおよび高周波数成分Ｄｈを用いて画像Ｄ０に対するボケ補正を実行する補正実行手段２５０とを有してなる。
【０１３３】
本実施形態の画像処理システムＡにおけるボケ補正手段２３０は、アン・シャープネス・マスキング（ＵＳＭ）補正方法でボケ画像となる画像Ｄ０に対して補正を施すものであり、パラメータ設定手段２３５は、ボケ情報Ｑに含まれるボケ幅Ｌとボケ方向に応じて、ボケ幅Ｌが大きいほど補正マスクのサイズが大きくなるように、ボケ方向に作用する方向性補正用の１次元補正マスクＭ１を設定すると共に、ボケ幅Ｌに応じて、ボケ幅Ｌが大きいほど補正マスクのサイズが大きくなるように等方性補正用の２次元補正マスクＭ２を設定する。なお、各ボケ幅に対応する２次元補正マスク、および各ボケ幅とボケ方向に対応する１次元補正マスクはデータベース（マスクデータベースという）として記憶手段２４０に記憶されており、パラメータ設定手段２３５は、記憶手段２４０に記憶されたマスクデータベースから、ボケ幅Ｌとボケ方向に基づいて１次元補正マスクＭ１を、ボケ幅Ｌに基づいて２次元補正マスクＭ２を取得する。
【０１３４】
次に、パラメータ設定手段２３５は、下記の式（３）に従って、方向性補正用の１次元補正パラメータＷ１および等方性補正用の２次元補正パラメータＷ２を設定する。
【０１３５】
Ｗ１＝Ｎ×Ｋ×Ｍ１
Ｗ２＝Ｎ×（１−Ｋ）×Ｍ２                          （３）
但し、Ｗ１：１次元補正パラメータ
Ｗ２：２次元補正パラメータ
Ｎ：ボケ度
Ｋ：ぶれ度
Ｍ１：１次元補正マスク
Ｍ２：２次元補正マスク
即ち、パラメータ設定手段２３５は、ボケ度Ｎが大きいほど等方性補正の強度と方向性補正の強度が強く、ぶれ度Ｋが大きいほど方向性補正の重みが大きくなるように補正パラメータＷ１とＷ２（合わせてパラメータＥとする）を設定する。
【０１３６】
補正実行手段２５０は、パラメータ設定手段２３５により設定されたパラメータＥを用いて、高周波数成分抽出手段２４５により得られた高周波数成分Ｄｈを強調することによって画像Ｄ０のボケ補正を実行し、具体的には下記の式（４）に従ってボケ補正を行う。
【０１３７】
Ｄ’＝Ｄ０＋Ｅ×Ｄｈ                （４）
但し、Ｄ’：補正済み画像
Ｄ０：補正前の画像
Ｅ：補正パラメータ
Ｄｈ：高周波数成分
出力手段２７０は、ボケ解析手段２００から画像Ｄ０が通常画像であることを示す情報Ｐを受信した場合には画像Ｄ０を出力する一方、ボケ補正手段２３０から補正済み画像Ｄ’を受信した場合には補正済み画像Ｄ’を出力するものである。本実施形態の画像処理システムＡにおいて、出力手段２７０による「出力」は印刷であり、出力手段２７０は、通常画像の画像Ｄ０、およびボケ画像の画像Ｄ０を補正して得た補正済み画像Ｄ’を印刷してプリントを得るものであるが、記録媒体に記憶したり、ネットワーク上における画像保管サーバや、画像の補正を依頼した依頼者により指定されたネットワーク上のアドレスなどに送信したりするなどのものであってもよい。
【０１３８】
図２９は、図１に示す実施形態の画像処理システムＡの動作を示すフローチャートである。図示のように、画像Ｄ０に対して、まず、瞳検出手段１００により顔の検出が行われる（Ｓ２５０）。顔が検出されなければ（Ｓ２５５：Ｎｏ）、ボケ解析手段２００は、画像Ｄ０全体のデータを用いてボケの解析を行う（Ｓ２６０）。一方、顔が検出されれば（Ｓ２５５：Ｙｅｓ）、瞳検出手段１００は、さらに瞳の検出を行って、瞳画像Ｄ５を得（Ｓ２７０）、ボケ解析手段２００は、瞳画像のデータを用いてボケの解析を行う（Ｓ２７５）。
【０１３９】
ボケ解析手段２００は、画像Ｄ０、または瞳画像Ｄ５を解析した結果、画像Ｄ０が通常画像であると判別した場合には、画像Ｄ０が通常画像であることを示す情報Ｐを出力手段２７０に出力し、出力手段２７０により画像Ｄ０をプリントアウトする（Ｓ２８０：Ｙｅｓ、Ｓ２９０）一方、画像Ｄ０がボケ画像であると判別した場合には、画像Ｄ０に対して求めたボケ情報Ｑをボケ補正手段２３０に出力し、ボケ補正手段２３０により、ボケ情報Ｑに基づいて画像Ｄ０のボケ補正を行う（Ｓ２８０：Ｎｏ、Ｓ２８５）。なお、ボケ補正手段２３０により得られた補正済み画像Ｄ’も、出力手段２７０によりプリントアウトされる（Ｓ２９０）。
【０１４０】
図３０は、本発明の第２の実施形態となる画像処理システムＢの構成を示すブロック図である。図示のように、本実施形態の画像処理システムＢは、瞳検出手段１００と、ボケ解析手段３００と、ボケ補正手段３５０と、出力手段２７０とを有してなるものである。なお、本実施形態の画像処理システムＢの各手段のうち、ボケ解析手段３００およびボケ補正手段３５０が、図１に示す実施形態の画像処理システムＡの相対応する手段と部分的に異なるが、他の手段は、図１に示す実施形態の画像処理システムＡの相対応する手段と同じであるため、ここでボケ解析手段３００およびボケ補正手段３５０以外の他の手段について、図１に示す実施形態の画像処理システムＡの相対応する手段と同じ符号を付与すると共に、それらの詳細な説明については省略する。
【０１４１】
図３１は、図３０に示す画像処理システムＢにおけるボケ解析手段３００の構成を示すブロック図である。図示のように、ボケ解析手段３００は、エッジ検出手段３１２と、エッジプロファイル作成手段３１３と、エッジ絞込手段３１４と、エッジ特徴量取得手段３１６と、解析手段３２０と、解析手段３２０のための種々のデータベースを記憶する記憶手段３３０と、上記各手段の制御を行う制御手段３０５とを有してなる。なお、解析手段３２０は、第１の解析手段３２２と、第２の解析手段３２４と、第３の解析手段３２６を備えてなる。
【０１４２】
ボケ解析手段３００の制御手段３０５は、瞳検出手段１００により顔が検出されたか否かに基づいて制御を行うものである。瞳検出手段１００により、画像Ｄ０から顔が検出されなかった場合、制御手段３０５は、エッジ検出手段３１２に画像Ｄ０に対するエッジ検出を行わせる。なお、エッジ検出手段３１２と、エッジプロファイル作成手段３１３と、エッジ絞込手段３１４と、エッジ特徴量取得手段３１６との具体的の動作は、図１に示す画像処理システムＡにおけるボケ解析手段２００の相対応する手段の動作と夫々同じであるため、ここで詳細な説明を省略する。エッジ検出手段３１２により検出されたエッジに対して、エッジプロファイル作成手段３１３と、エッジ絞込手段３１４と、エッジ特徴量取得手段３１６との夫々の処理が行われ、画像Ｄ０におけるエッジの特徴量Ｓｚが取得される。なお、ここのエッジの特徴量Ｓｚおよび後述する特徴量Ｓｅは、図１に示す実施形態の画像処理システムＡにおける特徴量Ｓと同じように、各方向におけるエッジの幅およびエッジ幅のヒストグラムとからなる。
【０１４３】
制御手段３０５は、第１の解析手段３２２にエッジの特徴量Ｓｚに対する解析を行わせる。第１の解析手段３２２は、エッジの特徴量Ｓｚに基づいて、画像Ｄ０がボケ画像であるか否かの判別を行うと共に、通常画像である場合には情報Ｐを出力手段２７０に送信すると共に、ボケ画像である場合にはボケ情報Ｑをボケ補正手段３５０に送信する。なお、第１の解析手段３２２の具体的な処理は、図１に示す実施形態の画像処理システムＡにおけるボケ解析手段２００の解析実行手段２２０の処理と同じである。
【０１４４】
一方、瞳検出手段１００により顔乃至瞳が検出され、瞳画像Ｄ５が得られた場合には、制御手段３０５は、エッジ検出手段３１２に瞳画像Ｄ５に対するエッジ検出を行わせる。また、エッジ検出手段３１２により検出されたエッジに対して、エッジプロファイル作成手段３１３、エッジ絞込手段３１４と、エッジ特徴量取得手段３１６との夫々の処理が行われ、瞳画像Ｄ５におけるエッジの特徴量Ｓｅが取得される。
【０１４５】
ここで、制御手段３０５は、まず、第２の解析手段３２４に、瞳画像Ｄ５がボケ画像か否か、ボケ画像である場合にはさらにピンボケかぶれかの解析を行わせる。第２の解析手段３２４は、まず、図１に示す実施形態の画像処理システムＡにおけるボケ解析手段２００の解析手段２２０と同じように、瞳画像Ｄ５の特徴量Ｓｅに基づいて、ボケ方向（ここでｈとする）、ボケ度Ｎを求める。求められたボケ度Ｎが閾値Ｔ１以下である場合には、瞳画像Ｄ０が対応する画像Ｄ０を通常画像として判別すると共に、画像Ｄ０が通常画像であることを示す情報Ｐを出力手段２７０に送信する。一方、求められたボケ度Ｎが閾値Ｔ１より大きい場合には、瞳画像Ｄ０が対応する画像Ｄ０をボケ画像として判別すると共に、さらにそのぶれ度Ｋを求める。なお、第２の解析手段３２４によるぶれ度Ｋの算出方法も、図１に示す実施形態の画像処理システムＡにおけるボケ解析手段２００の解析手段２２０の算出方法と同じである。求められたぶれ度Ｋに基づいて、第２の解析手段３２４は、瞳画像Ｄ０の対応する画像Ｄ０がピンボケ画像かぶれ画像かの判別を行う。具体的には、ぶれ度Ｋが所定の閾値Ｔ２以下であれば、画像Ｄ０をピンボケ画像として判別し、ぶれ度Ｋが閾値Ｔ２より大きければ、画像Ｄ０をぶれ画像として判別する。
【０１４６】
ピンボケ画像として判別された画像Ｄ０に対して、第２の解析手段３２４は、その瞳画像Ｄ５のエッジ特徴量Ｓｅからさらにボケ幅Ｌを求めて、画像Ｄ０がピンボケ画像であることを示す情報と、ボケ幅Ｌとをボケ情報Ｑとしてボケ補正手段３５０に送信して処理を終了する。
【０１４７】
一方、ぶれ画像として判別された画像Ｄ０に対して、第２の解析手段３２４は、そのボケ方向、すなわちぶれ方向ｈを第３の解析手段３２６に送信して処理を終了する。また、画像Ｄ０がぶれ画像であると判別された場合、制御手段３０５は、画像Ｄ０全体に対して、エッジ検出手段３１２に、画像Ｄ０のぶれ方向ｈにおけるエッジを検出させる。ぶれ方向ｈにおいて検出されたエッジに対して、エッジプロファイル作成手段３１３と、エッジ絞込手段３１４との夫々の処理が行われ、画像Ｄ０において、ぶれ方向ｈにおける各々のエッジのプロファイルが特徴量Ｓｚ１として取得される。
【０１４８】
第３の解析手段３２６は、特徴量Ｓｚ１の各エッジのプロファイルから、ぶれ方向ｈにおけるエッジの平均幅をぶれ幅として算出し、画像Ｄ０がぶれ画像であることを示す情報と、このぶれ幅およびぶれ方向ｈとをボケ情報Ｑ１としてボケ補正手段３５０に送信する。
【０１４９】
図３２は、図３１に示すボケ解析手段３００の処理を示すフローチャートである。図示のように、ボケ解析手段３００の制御手段３０５は、瞳検出手段１００により顔が検出されなかった画像Ｄ０に対して、エッジ検出手段３１２に画像Ｄ０全体から図２１に示す８方向毎にエッジを検出させる。検出されたエッジに対して、エッジプロファイル作成手段３１３、エッジ絞込手段３１４、エッジ特徴量取得手段３１６の夫々の処理が行われ、画像Ｄ０のエッジの特徴量Ｓｚが得られる。そして、第１の解析手段３２２は、特徴量Ｓｚを用いて、画像Ｄ０におけるボケ方向、ボケ度Ｎを求めて画像Ｄ０が通常画像であるか否かの判別を行うと共に、通常画像として判別された画像Ｄ０に対してはボケ画像ではないことを示す情報Ｐを出力手段２７０に出力する一方、ボケ画像として判別された画像Ｄ０に対してはさらにボケ幅Ｌ、ぶれ度Ｋを求めてボケ方向、ボケ度Ｎと共にボケ情報Ｑとしてボケ補正手段３５０に送信する（Ｓ３００：Ｎｏ、Ｓ３０５、Ｓ３１０）。
【０１５０】
一方、瞳検出手段１００により顔乃至瞳が検出された（Ｓ３００：Ｙｅｓ）画像Ｄ０に対して、制御手段３０５は、エッジ検出手段３１２に画像Ｄ０の瞳画像Ｄ５から図２１に示す８方向毎にエッジを検出させる。出されたエッジに対して、エッジプロファイル作成手段３１３、エッジ絞込手段３１４、エッジ特徴量取得手段３１６の夫々の処理が行われ、瞳画像Ｄ５におけるエッジの特徴量Ｓｅが得られる。第２の解析手段３２４は、特徴量Ｓｅを用いて、瞳画像Ｄ５におけるボケ方向、ボケ度Ｎを求めて瞳画像Ｄ５の対応する画像Ｄ０が通常画像かボケ画像かの判別を行うと共に、通常画像として判別された画像Ｄ０に対してボケ画像ではないことを示す情報Ｐを出力手段２７０に出力する（Ｓ３２０、Ｓ３２５：Ｙｅｓ、Ｓ３３０）。ステップＳ３２５においてボケ画像として判別された（Ｓ３２０、Ｓ３２５：Ｎｏ）画像Ｄ０に対しては、第２の解析手段３２４は、さらにピンボケ画像かぶれ画像かの判別を行い、ピンボケ画像の場合においては、画像Ｄ０の瞳画像Ｄ５の特徴量Ｓｅからボケ幅を求めて画像Ｄ０のボケ幅とし、画像Ｄ０がピンボケ画像であることを示す情報と共にピンボケ画像Ｄ０のボケ情報Ｑとしてボケ補正手段３５０に送信する（Ｓ３４０：Ｙｅｓ、Ｓ３４５）一方、ぶれ画像の場合においては、ぶれ方向ｈとなるボケ方向を第３の解析手段３２６に送信する（Ｓ３４０：Ｎｏ、Ｓ３５０）。第３の解析手段３２６は、エッジ検出手段３１２、エッジプロファイル作成手段３１３、エッジ絞込手段３１４、エッジ特徴量取得手段３１６により、瞳画像Ｄ５が対応する画像Ｄ０全体から求められた、ぶれ方向ｈにおけるエッジの特徴量Ｓｚ１を用いて、ぶれ方向ｈにおけるエッジの平均幅を算出してぶれ幅とし、このぶれ幅、ぶれ方向ｈ、および画像Ｄ０がぶれ画像であることを示す情報をぶれ画像Ｄ０のボケ情報Ｑ１としてボケ補正手段３５０に送信する（Ｓ３５５、Ｓ３６０）。
【０１５１】
このように、ボケ補正手段３５０には、３種類のボケ情報Ｑが送信される。１つ目は、顔が検出されなかった画像Ｄ０全体の画像を用いて、第１の解析手段３２２により得られた画像Ｄ０におけるボケ度Ｎ、ボケ幅Ｌ、ボケ方向、ぶれ度Ｋとからなるボケ情報であり、２つ目は、顔乃至瞳が検出された画像Ｄ０の瞳画像Ｄ５を用いて、第２の解析手段３２４により得られた、画像Ｄ０がピンボケ画像であることを示す情報およびピンボケの幅とからなるボケ情報であり、３つ目は、第２の解析手段３２４により、画像Ｄ０の瞳画像Ｄ５を用いて得られた画像Ｄ０のぶれ方向ｈ、および画像Ｄ０全体を用いて第３の解析手段３２６により得られたぶれ方向ｈにおけるぶれ幅、および画像Ｄ０がぶれ画像であることを示す情報からなるボケ情報Ｑ１である。
【０１５２】
図３３は、ボケ補正手段３５０の構成を示すブロック図である。図示のように、ボケ補正手段３５０は、ボケ解析手段３００からのボケ情報に基づいて補正パラメータＥを設定するパラメータ設定手段３５２と、パラメータ設定手段３５２のための種々のデータベースを記憶した記憶手段３５４と、画像Ｄ０から高周波成分を抽出する高周波数成分抽出手段３５６と、パラメータＥを用いて高周波数成分Ｄｈを強調して画像Ｄ０に加算することによって画像Ｄ０のボケを補正するボケ実行手段３６０とを有してなる。
【０１５３】
パラメータ設定手段３５２は、上記１つ目のボケ情報Ｑを受信すると、図１に示す実施形態の画像処理システムＡにおけるボケ補正手段２３０のパラメータ設定手段２３５と同じように、ボケ情報Ｑに含まれるボケ幅Ｌとボケ方向に応じて、ボケ幅Ｌが大きいほど補正マスクのサイズが大きくなるように、ボケ方向に作用する方向性補正用の１次元補正マスクＭ１を設定すると共に、ボケ幅Ｌに応じて、ボケ幅Ｌが大きいほど補正マスクのサイズが大きくなるように等方性補正用の２次元補正マスクＭ２を設定する。なお、各ボケ幅に対応する２次元補正マスク、および各ボケ幅とボケ方向に対応する１次元補正マスクはデータベース（マスクデータベースという）として記憶手段３５４に記憶されており、パラメータ設定手段３５２は、記憶手段３５４に記憶されたマスクデータベースから、ボケ幅Ｌとボケ方向に基づいて１次元補正マスクＭ１を、ボケ幅Ｌに基づいて２次元補正マスクＭ２を取得する。
【０１５４】
次に、パラメータ設定手段３５２は、下記の式（３）に従って、方向性補正用の１次元補正パラメータＷ１および等方性補正用の２次元補正パラメータＷ２を設定する。
【０１５５】
Ｗ１＝Ｎ×Ｋ×Ｍ１
Ｗ２＝Ｎ×（１−Ｋ）×Ｍ２                          （３）
但し、Ｗ１：１次元補正パラメータ
Ｗ２：２次元補正パラメータ
Ｎ：ボケ度
Ｋ：ぶれ度
Ｍ１：１次元補正マスク
Ｍ２：２次元補正マスク
即ち、パラメータ設定手段３５２は、ボケ度Ｎが大きいほど等方性補正の強度と方向性補正の強度が強く、ぶれ度Ｋが大きいほど方向性補正の重みが大きくなるように補正パラメータＷ１とＷ２（合わせてパラメータＥとする）を設定する。
【０１５６】
一方、パラメータ設定手段３５２は、上記２つ目のボケ情報Ｑを受信すると、このボケ情報Ｑに含まれるボケ幅に応じた等方性の、ピンボケを補正するための２次元補正マスクＭ２を記憶手段３５４から読み出してピンボケ画像Ｄ０の補正パラメータＥとして設定する。
【０１５７】
また、パラメータ設定手段３５２は、上記３つ目のボケ情報Ｑ１を受信すると、このボケ情報Ｑに含まれるぶれ幅およびぶれ方向ｈに応じた方向性の、ぶれを補正するための１次元補正マスクＭ１を記憶部３５４から読み出してぶれ画像Ｄ０の補正パラメータＥとする。
【０１５８】
補正実行手段３６０は、図１に示す実施形態の画像処理システムＡにおけるボケ補正手段２３０の補正実行手段２５０と同じように、パラメータＥを用いて、高周波数成分Ｄｈを強調することによって画像Ｄ０のボケ補正を実行し、具体的には下記の式（４）に従ってボケ補正を行う。
【０１５９】
Ｄ’＝Ｄ０＋Ｅ×Ｄｈ                （４）
但し、Ｄ’：補正済み画像
Ｄ０：補正前の画像
Ｅ：補正パラメータ
Ｄｈ：高周波数成分
なお、ボケ補正手段３５０により得られた補正済み画像Ｄ’および通常画像である画像Ｄ０が、出力手段２７０によりプリントアウトすることによって出力される。
【図面の簡単な説明】
【０１６０】
【図１】本発明の第１の実施形態となる画像処理システムＡの構成を示すブロック図
【図２】図１に示す画像処理システムＡにおける瞳検出手段１００の構成を示すブロック図
【図３】瞳検出手段１００の検出手段１の構成を示すブロック図
【図４】目の位置を示す図
【図５】（ａ）は水平方向のエッジ検出フィルタを示す図、（ｂ）は垂直方向のエッジ検出フィルタを示す図
【図６】勾配ベクトルの算出を説明するための図
【図７】（ａ）は人物の顔を示す図、（ｂ）は（ａ）に示す人物の顔の目および口付近の勾配ベクトルを示す図
【図８】（ａ）は正規化前の勾配ベクトルの大きさのヒストグラムを示す図、（ｂ）は正規化後の勾配ベクトルの大きさのヒストグラムを示す図、（ｃ）は５値化した勾配ベクトルの大きさのヒストグラムを示す図、（ｄ）は正規化後の５値化した勾配ベクトルの大きさのヒストグラムを示す図
【図９】参照データの学習に用いられる顔であることが分かっているサンプル画像の例を示す図
【図１０】参照データの学習に用いられる顔であることが分かっているサンプル画像の例を示す図
【図１１】顔の回転を説明するための図
【図１２】参照データの学習手法を示すフローチャート
【図１３】識別器の導出方法を示す図
【図１４】識別対象画像の段階的な変形を説明するための図
【図１５】図３に示す検出手段１の処理を示すフローチャート
【図１６】瞳検出手段１００を説明するための図
【図１７】輝度ヒストグラム
【図１８】瞳検出手段１００における投票部３０に使用された重付け係数のテーブルの例
【図１９】瞳検出手段１００の処理を示すフローチャート
【図２０】図１に示す画像処理システムＡにおけるボケ解析手段２００の構成を示すブロック図
【図２１】エッジを検出する際に用いられる方向の例を示す図
【図２２】エッジプロファイルを示す図
【図２３】エッジ幅のヒストグラムを示す図
【図２４】解析実行手段２２０の動作を説明するための図
【図２５】ボケ度の算出を説明するための図
【図２６】ぶれ度の算出を説明するための図
【図２７】図２０に示すボケ解析手段２００の処理を示すフローチャート
【図２８】ボケ補正手段２３０の構成を示すブロック図
【図２９】図１に示す画像処理システムＡの処理を示すフローチャート
【図３０】本発明の第２の実施形態となる画像処理システムＢの構成を示すブロック図
【図３１】画像処理システムＢにおけるボケ解析手段３００の構成を示すブロック図
【図３２】ボケ解析手段３００の処理を示すフローチャート
【図３３】画像処理システムＢにおけるボケ補正手段３５０の構成を示すブロック図
【符号の説明】
【０１６１】
１００    瞳検出手段
２００，３００    ボケ解析手段
２３０，３５０    ボケ補正手段
２７０    出力手段
Ｃ０    顔を識別するための特徴量
Ｄ０    デジタル写真画像
Ｄ’    補正済み画像
Ｈ０    参照データ
Ｅ    補正パラメータ
Ｋ    ぶれ度
Ｌ    ボケ幅
Ｍ１    １次元補正マスク
Ｍ２    ２次元補正マスク
Ｎ    ボケ度
Ｑ，Ｑ１    ボケ情報
Ｓ    エッジ特徴量
【図１】
2005332382.tif 000003
【図２】
2005332382.tif 000004
【図３】
2005332382.tif 000005
【図４】
2005332382.tif 000006
【図５】
2005332382.tif 000007
【図６】
2005332382.tif 000008
【図７】
2005332382.tif 000009
【図８】
2005332382.tif 000010
【図９】
2005332382.tif 000011
【図１０】
2005332382.tif 000012
【図１１】
2005332382.tif 000013
【図１２】
2005332382.tif 000014
【図１３】
2005332382.tif 000015
【図１４】
2005332382.tif 000016
【図１５】
2005332382.tif 000017
【図１６】
2005332382.tif 000018
【図１７】
2005332382.tif 000019
【図１８】
2005332382.tif 000020
【図１９】
2005332382.tif 000021
【図２０】
2005332382.tif 000022
【図２１】
2005332382.tif 000023
【図２２】
2005332382.tif 000024
【図２３】
2005332382.tif 000025
【図２４】
2005332382.tif 000026
【図２５】
2005332382.tif 000027
【図２６】
2005332382.tif 000028
【図２７】
2005332382.tif 000029
【図２８】
2005332382.tif 000030
【図２９】
2005332382.tif 000031
【図３０】
2005332382.tif 000032
【図３１】
2005332382.tif 000033
【図３２】
2005332382.tif 000034
【図３３】
2005332382.tif 000035