JP2005332382A - 画像処理方法および装置並びにプログラム - Google Patents
画像処理方法および装置並びにプログラム Download PDFInfo
- Publication number
- JP2005332382A JP2005332382A JP2005124221A JP2005124221A JP2005332382A JP 2005332382 A JP2005332382 A JP 2005332382A JP 2005124221 A JP2005124221 A JP 2005124221A JP 2005124221 A JP2005124221 A JP 2005124221A JP 2005332382 A JP2005332382 A JP 2005332382A
- Authority
- JP
- Japan
- Prior art keywords
- image
- blur
- unit
- edge
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000003672 processing method Methods 0.000 title claims description 17
- 238000012937 correction Methods 0.000 claims abstract description 115
- 238000004458 analytical method Methods 0.000 claims abstract description 105
- 210000001747 pupil Anatomy 0.000 claims abstract description 103
- 238000001514 detection method Methods 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims description 72
- 238000000034 method Methods 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 26
- 238000003860 storage Methods 0.000 description 26
- 238000003708 edge detection Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 15
- 210000000887 face Anatomy 0.000 description 10
- 238000009966 trimming Methods 0.000 description 10
- 238000009826 distribution Methods 0.000 description 8
- 230000009467 reduction Effects 0.000 description 8
- 230000015556 catabolic process Effects 0.000 description 7
- 238000006731 degradation reaction Methods 0.000 description 7
- 238000003384 imaging method Methods 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 7
- 230000006866 deterioration Effects 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000009499 grossing Methods 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 206010006187 Breast cancer Diseases 0.000 description 1
- 208000026310 Breast neoplasm Diseases 0.000 description 1
- 241001469893 Oxyzygonectes dovii Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 210000001061 forehead Anatomy 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Image Analysis (AREA)
Abstract
【課題】 画像中のボケ情報を正しく求める。
【解決手段】 ボケ解析手段200は、瞳検出手段100により得られた画像D0の瞳画像D5を用いてボケ方向およびボケ度を算出して、画像D0がボケ画像であるか通常画像であるかを判別する。ボケ画像として判別された画像D0に対して、さらに瞳画像D5からそのぶれ度、ボケ幅を算出し、瞳画像D5から得られたボケ度、ボケ幅、ボケ方向、ぶれ度を画像D0のボケ情報Qとしてボケ補正手段230に出力する。ボケ補正手段230は、ボケ情報Qに基づいて、ボケ画像D0に対して補正を行って補正済み画像D’を得る。
【選択図】 図1
【解決手段】 ボケ解析手段200は、瞳検出手段100により得られた画像D0の瞳画像D5を用いてボケ方向およびボケ度を算出して、画像D0がボケ画像であるか通常画像であるかを判別する。ボケ画像として判別された画像D0に対して、さらに瞳画像D5からそのぶれ度、ボケ幅を算出し、瞳画像D5から得られたボケ度、ボケ幅、ボケ方向、ぶれ度を画像D0のボケ情報Qとしてボケ補正手段230に出力する。ボケ補正手段230は、ボケ情報Qに基づいて、ボケ画像D0に対して補正を行って補正済み画像D’を得る。
【選択図】 図1
Description
本発明はデジタル写真画像のボケ情報を取得する画像処理方法および装置並びにそのためのプログラムに関するものである。
ネガフィルムやリバーサルフィルムなどの写真フィルムに記録された写真画像をスキャナーなどの読取装置で光電的に読み取って得たデジタル写真画像や、デジタルスチルカメラ(DSC)で撮像して得たデジタル写真画像などに対して、種々の画像処理を施してプリントすることが行われている。これらの画像処理の一つとして、ボケた画像(ボケ画像)からボケを取り除くボケ画像修復処理が挙げられる。
被写体を撮像して得た写真画像がぼけてしまう理由としては、焦点距離が合わないことに起因するピンボケと、撮像者の手のぶれに起因するぶれボケ(以下略してぶれという)が挙げられる。ピンボケの場合には、点像が2次元的に広がり、すなわち写真画像上における広がりが無方向性を呈することに対して、ぶれの場合には、点像がある軌跡を描き画像上に1次元的に広がり、すなわち写真画像上における広がりがある方向性を呈する。
デジタル写真画像の分野において、従来、ボケ画像を修復するために、様々な方法が提案されている。写真画像の撮像時にぶれの方向やぶれ幅などの情報が分かれば、Wienerフィルタや逆フィルタなどの復元フィルタを写真画像に適用することにより修復ができることから、撮像時にぶれの方向やぶれ幅などの情報を取得することができる装置(例えば加速度センサー)を撮像装置に設け、撮像と共にぶれの方向やぶれ幅などの情報を取得し、取得された情報に基づいて修復を図る方法が広く知られている(例えば、特許文献1参照)。
また、ボケ画像(ボケがある画像)に対して劣化関数を設定し、設定された劣化関数に対応する復元フィルタでボケ画像を修復し、修復後の画像を評価し、評価の結果に基づいて劣化関数を再設定するようにして、所望の画質になるまで、修復、評価、劣化関数の再設定を繰り返すことによって修復を図る方法も知られている。この方法は、劣化関数の設定、修復、評価、劣化関数の再設定・・・の処理を繰り返す必要があるため、処理時間がかかるという問題がある。特許文献2には、ユーザにボケ画像中の縁部を含む小さな領域を指定させ、ボケ画像全体の代わりに、指定されたこの小さな領域に対して、前述の劣化関数の設定、修復、評価、劣化関数の再設定・・・の処理を繰り返して最適な劣化関数を求め、この劣化関数に対応した復元フィルタをボケ画像全体に適用し、劣化関数を求めるのに使用する画像を前述の小領域の画像にすることによって演算量を減らし、効率向上を図る方法が提案されている。
一方、携帯電話の急激な普及に伴って、携帯電話機の機能が向上し、その中でも携帯電話付属のデジタルカメラ(以下略した携帯カメラという)の機能の向上が注目を浴びている。近年、携帯カメラの画素数が100万の桁に上がり、携帯カメラが通常のデジタルカメラと同様な使い方がされている。友達同士で旅行に行く時の記念写真などは勿論、好きなタレント、スポーツ選手を携帯カメラで撮像する光景が日常的になっている。このような背景において、携帯カメラにより撮像して得た写真画像は、携帯電話機のモニタで鑑賞することに留まらず、例えば、通常のデジタルカメラにより取得した写真画像と同じようにプリントすることも多くなっている。
他方、携帯カメラは、人間工学的に、本体(携帯電話機)が撮像専用に製造されていないため、撮像時のホールド性が悪いという問題がある。また、携帯カメラは、フラッシュがないため、通常のデジタルカメラよりシャッタースピードが遅い。このような理由から携帯カメラにより被写体を撮像するときに、通常のカメラより手ぶれが起きやすい。極端な手ぶれは、携帯カメラのモニタで確認することができるが、小さな手ぶれは、モニタで確認することができず、プリントして初めて画像のぶれに気付くことが多いため、携帯カメラにより撮像して得た写真画像に対してぶれの補正を施す必要性が高い。
また、前述したように、ボケは画像中の点像の広がりを引き起こすため、ボケ画像には、点像の広がりに応じたエッジの広がりが生じる。すなわち、画像中におけるエッジの広がりの態様は画像中におけるボケと直接関係するものである。この点に着目して、画像データを用いて、画像中におけるエッジの態様を解析することによって画像中のボケに関する情報、例えばボケ方向、ボケ幅などを得る方法が考えられる。
特開2002−112099号公報
特開平7−121703号公報
しかしながら、携帯電話機の小型化は、その性能、コストに並び、各携帯電話機メーカの競争の焦点の1つであり、携帯電話機付属のカメラに、ぶれの方向やぶれ幅を取得する装置を設けることが現実的ではないため、特許文献1に提案されたような方法は、携帯カメラに適用することができない。
また、特許文献2に提案された方法は、また、特許文献2に提案されたような方法は、劣化関数の設定、修復、評価、劣化関数の再設定・・・の処理を繰り返す必要があるため、処理時間がかかり、効率が良くないという問題がある。
また、画像中におけるエッジの態様を解析することによって画像中のボケに関する情報を得る方法は、画像の一部にグラデーションがかかったような不鮮明なエッジが存在する場合、正しい解析結果が得られないという虞がある。
本発明は、上記事情に鑑み、特別な装置を撮像装置に設けることを必要としないと共に、グラデーションがかかった部分があるデジタル写真画像に対してもボケの正しい情報を得るができ、ひいては良い補正効果を得ることを可能とする画像処理方法および装置並びにそのためのプログラムを提供することを目的とするものである。
本発明の画像処理方法は、デジタル写真画像におけるボケの態様を示すボケ情報を得る画像処理方法において、
前記デジタル写真画像から、点状部を検出し、
該点状部の画像のデータを用いて前記デジタル写真画像の前記ボケ情報を求めることを特徴とするものである。
前記デジタル写真画像から、点状部を検出し、
該点状部の画像のデータを用いて前記デジタル写真画像の前記ボケ情報を求めることを特徴とするものである。
ここで、点状部の画像のデータを用いて前記ボケ情報を求めることは、例えば前記点状部の画像のデータを用いて該点状部の画像におけるエッジの態様を解析することとすることができる。
また、前記点状部としては、前記デジタル写真画像が人物の写真画像である場合、前記人物の瞳を用いることが好ましい。また、瞳でなくても、はっきりした顔輪郭を点状部とすることもできる。顔輪郭は点ではないが、本明細書では点状部の一種とみなすこととする。
また、「ボケ情報」は、デジタル写真画像におけるボケの態様を表すことができる情報を意味し、例えばボケの方向に関するボケ方向情報とボケ幅とすることができる。「ボケ」は、無方向性のボケすなわちピンボケと、有方向性のボケすなわちぶれがあり、ぶれの場合は、ボケ方向がぶれ方向に相当し、ピンボケの場合において、その「ボケ方向」は「無方向」とすることができる。また、「ボケ幅」とは、ボケ方向におけるボケの幅を意味し、例えば、ボケ方向におけるエッジのエッジ幅の平均値とすることができる。また、ボケが無方向性のピンボケの場合において、任意の1つの方向におけるエッジのエッジ幅をボケ幅としてもよいが、画像全体におけるエッジのエッジ幅の平均値としてもよい。
さらに、本発明におけるデジタル写真画像は、ボケ画像に限らず、ピンボケもぶれもない通常画像もあり、このような通常画像は、無ボケ、例えば「所定の閾値以下の」ボケ幅とからなるボケ情報を有することとすることができる。
本発明の画像処理方法は、検出された点状部の画像のデータを用いてボケ情報の全ての要素を求めるようにしてもよいが、前記デジタル写真画像におけるボケがぶれである場合(この場合、前記ボケ方向情報としては、前記ボケが無方向性のピンボケと有方向性のぶれのうちのぶれであることと、該ぶれの方向とを示すぶれ方向情報となる)、前記点状部の画像のデータを用いて前記ぶれ方向情報を取得する一方、ぶれ方向情報以外の他のボケ情報(例えばボケ幅)については、前記ぶれ方向情報に基づいて、前記デジタル写真画像全体のデータを用いて求めることが好ましい。
前記点状部の画像に対して、複数の異なる方向毎にエッジを検出し、
各前記方向における前記エッジの特徴量を取得し、
該各方向における前記特徴量に基づいて前記ボケ方向情報を取得することができる。
各前記方向における前記エッジの特徴量を取得し、
該各方向における前記特徴量に基づいて前記ボケ方向情報を取得することができる。
ここで、「エッジの特徴量」は、画像におけるエッジの広がりの態様と関係する特徴量を意味し、例えば、エッジの鮮鋭度、前記エッジの鮮鋭度の分布を含むものとすることができる。
「エッジの鮮鋭度」は、エッジの鮮鋭さを現すことができるものであれば如何なるパラメータを用いてもよく、例えば、図22のエッジプロファイルにより示されるエッジの場合、エッジ幅が大きいほどエッジの鮮鋭度が低いように、エッジ幅をエッジの鮮鋭度として用いることは勿論、エッジの明度変化の鋭さ(図22におけるプロファイル曲線の勾配)が高いほどエッジの鮮鋭度が高いように、エッジのプロファイル曲線の勾配をエッジの鮮鋭度として用いるようにしてもよい。
また、前記「複数の異なる方向」とは、対象画像におけるボケの方向を特定するための方向を意味し、ボケの方向に近い方向を含むことが必要であるため、その数が多ければ多いほど特定の精度が高いが、処理速度との兼ね合いに応じた適宜な個数、例えば、図21に示すような8方向を用いることが好ましい。
本発明の画像処理装置は、デジタル写真画像におけるボケの態様を示すボケ情報を得る画像処理装置において、
前記デジタル写真画像から、点状部を検出する点状部検出手段と、
該点状部の画像のデータを用いて前記デジタル写真画像の前記ボケ情報を求める解析手段とを有することを特徴とするものである。
前記デジタル写真画像から、点状部を検出する点状部検出手段と、
該点状部の画像のデータを用いて前記デジタル写真画像の前記ボケ情報を求める解析手段とを有することを特徴とするものである。
また、人物の写真画像である前記デジタル写真画像に対して、前記点状部検出手段は、前記点状部として前記人物の瞳または顔輪郭を検出するものであることが好ましい。そのような検出を行う方法としては、後述の顔検出の技法を用いるほかに、乳がん検出などに利用されているもフォロジフィルタを適用することもできる。
また、前記ボケ情報は、前記ボケが無方向性のピンボケと有方向性のぶれとのいずれであると、ぶれの場合の該ぶれの方向とを示すぶれ方向情報を含むものであり、前記解析手段は、前記点状部の画像のデータを用いて前記ボケ方向情報を取得し、ぶれであることを示す前記ボケ方向情報に基づいて、前記デジタル写真画像全体のデータを用いて該ぶれ方向情報を除いた前記ボケ情報を求めるものであることが好ましい。
前記解析手段は、前記点状部の画像に対して、複数の異なる方向毎にエッジを検出し、
各前記方向における前記エッジの特徴量を取得し、
該各方向における前記特徴量に基づいて前記ボケ方向情報を取得するものであることが好ましい。
各前記方向における前記エッジの特徴量を取得し、
該各方向における前記特徴量に基づいて前記ボケ方向情報を取得するものであることが好ましい。
また、本発明の画像処理装置は前記解析手段により前記ボケ情報を求めた後、前記デジタル画像を補正する補正手段をさらに備えたものとすることができる。そして、その補正手段は、補正する度合いを前記点状部が大きいほど大きくするものとすることができる。補正する度合いを前記点状部が大きいほど大きくするとは、必ず点状部の大きさすなわちボケすなわちぶれの大きさに応じて補正の度合いを変えることには限定されず、ぶれ幅が所定以上の大きさの場合にのみ補正するということも含むものである。具体的には、例えば顔幅等のサイズに対して10分の1以上のぶれ幅あるいは瞳のサイズ以上のぶれがぶれ解析によって検出されたときにのみ、補正を施すようにしてもよい。
本発明の画像処理方法による画像処理をコンピュータに実行させるプログラムとして提供するようにしてもよい。
本発明の画像処理方法および装置並びにプログラムによれば、デジタル写真画像から点状部を検出し、検出された点状部の画像のデータを用いてデジタル写真画像のボケ情報を得るようにしているので、撮像装置に特別な装置を装着することを必要とせずにボケ情報を得ることができるようにすると共に、デジタル写真画像の一部にグラデーションがかかったとしても、正しいボケ情報を得ることができる。
また、デジタル写真画像におけるボケがぶれである場合に対しては、点状部の画像のデータを用いてぶれ方向情報を求める一方、ぶれ方向情報以外のボケ情報、例えばボケ幅(ここではぶれ幅となる)については、例えば、デジタル写真画像全体に亘り、ぶれ方向情報により示されるぶれ方向におけるエッジの平均幅をぶれ幅とするように、点状部の画像データを用いて求められたぶれ方向情報に基づいてデジタル写真画像全体のデータから求めるようにすれば、正しいぶれ方向情報を得ることができると共に、ボケ幅など他のボケ情報を求める際のデータ量が多いため、他のボケ情報をより正確に求めることができる。
以下、図面を参照して、本発明の実施形態について説明する。
図1は、本発明の画像処理方法および装置並びにそのためのプログラムの第1の実施形態となる画像処理システムAの構成を示すブロック図である。本実施形態の画像処理システムAは、入力されたデジタル写真画像(以下略して画像という)に対してボケ補正処理を行ってプリントするものであり、そのボケ補正処理は、補助記憶装置に読み込まれたボケ補正処理プログラムをコンピュータ(たとえばパーソナルコンピュータ等)上で実行することにより実現される。また、このボケ補正処理プログラムは、CD−ROM等の情報記憶媒体に記憶され、もしくはインターネット等のネットワークを介して配布され、コンピュータにインストールされることになる。
また、画像データは画像を表すものであるため、以下、特に画像と画像データの区別をせずに説明を行う。
図1に示すように、本実施形態の画像処理システムAは、画像D0から瞳を検出して、瞳部分の画像(以下瞳画像という)D5を得る瞳検出手段100と、瞳画像D5または画像D0を用いて画像D0におけるボケの解析を行って、画像D0がボケ画像であるか否かの判別を行うと共に、ボケ画像ではない画像D0に対しては、ボケ画像ではないことを示す情報Pを後述する出力手段270に送信する一方、ボケ画像となる画像D0に対してはそのボケ情報Qを後述するボケ補正手段230に送信するボケ解析手段200と、ボケ解析手段200により得られたボケ情報Qに基づいてボケ画像である画像D0に対してボケ補正を行って補正済画像D’を得るボケ補正手段230と、ボケ補正手段230により得られた補正済画像D’またはボケ画像ではない画像D0をプリントアウトしてプリントを得る出力手段270とを有してなる。以下、画像処理システムAの各手段について説明する。
図2は、図1に示す画像処理システムAにおける瞳検出手段100の構成を示すブロック図である。図示のように、瞳検出手段100は、画像D0に顔部分が含まれているか否かを識別すると共に、顔部分が含まれていない場合には写真画像D0をそのまま後述する出力部50に出力する一方、顔部分が含まれている場合にはさらに左目と右目を検出し、両目の位置および両目間の距離dを含む情報Sを後述するトリミング部10および照合部40に出力する検出部1と、検出部1からの情報Sに基づいて、写真画像D0をトリミングして左目と右目とを夫々含むトリミング画像D1a、D1b(以下、区別して説明する必要がない場合には、両方を指す意味でD1という)を得るトリミング部10と、トリミング画像D1に対してグレー変換を行い、トリミング画像D1のグレースケール画像D2(D2a,D2b)を得るグレー変換部12と、グレースケール画像D2に対して前処理を行って前処理済み画像D3(D3a,D3b)を得る前処理部14と、前処理済み画像D3を2値化するための閾値Tを算出する2値化閾値算出部18を有し、該2値化閾値算出部18により得られた閾値Tを用いて前処理済み画像D3を2値化処理して2値画像D4(D4a,D4b)を得る2値化部20と、2値画像D4の各画素の座標を円環のハフ空間に投票し、投票された各投票位置の投票値を得ると共に、同じ円心座標を有する投票位置の統合投票値W(Wa,Wb)を算出する投票部35と、投票部35により得られた各統合投票値のうちの最も大きい統合投票値が対応する円心座標を中心位置候補G(Ga,Gb)とすると共に、後述する照合部40から次の中心位置候補を探すように指示されたとき、次の中心位置候補を求める中心位置候補取得部35と、中心位置候補取得部35により取得した中心位置候補は照合基準に満たしているか否かを判別し、照合基準に満たしていればこの中心位置候補を瞳の中心位置として後述する微調整部45に出力する一方、照合基準に満たしていなければ中心位置候補取得部35に中心位置候補を取得し直すことをさせると共に、中心位置候補取得部35により取得された中心位置候補が照合基準を満たすようになるまで中心位置候補取得部35に中心位置候補の取得し直しを繰り返させる照合部40と、照合部40から出力されてきた瞳の中心位置G(Ga,Gb)に対して微調整を行い、最終中心位置G’(G’a,G’b)を出力部50に出力する微調整部45と、最終中心位置G’に基づいて、中心位置G’aを囲む所定の範囲と、G’bを囲む所定の範囲を夫々切り出して瞳画像D5(D5a,D5b)を得、この瞳画像D5をボケ解析手段200に出力する出力部50とを有してなる。なお、画像D0が、顔部分が含まれない画像である場合には、出力部50は、画像D0をそのままボケ解析手段200に出力する。
図3は、図2に示す瞳検出手段100における検出部1の詳細構成を示すブロック図である。図示のように、検出部1は、写真画像D0から特徴量C0を算出する特徴量算出部2と、後述する第1および第2の参照データE1,E2が格納されている記憶部4と、特徴量算出部2が算出した特徴量C0と記憶部4内の第1の参照データE1とに基づいて、写真画像D0に人物の顔が含まれているか否かを識別する第1の識別部5と、第1の識別部5により写真画像D0に顔が含まれていると識別された場合に、特徴量算出部2が算出した顔の画像内の特徴量C0と記憶部4内の第2の参照データE2とに基づいて、その顔に含まれる目の位置を識別する第2の識別部6と、並びに第1の出力部7とを備えてなる。
なお、検出部1により識別される目の位置とは、顔における目尻から目頭の間の中心位置(図4中×で示す)であり、図4(a)に示すように真正面を向いた目の場合においては瞳の中心位置と同様であるが、図4(b)に示すように右を向いた目の場合は瞳の中心位置ではなく、瞳の中心から外れた位置または白目部分に位置する。
特徴量算出部2は、顔の識別に用いる特徴量C0を写真画像D0から算出する。また、写真画像D0に顔が含まれると識別された場合には、後述するように抽出された顔の画像から同様の特徴量C0を算出する。具体的には、勾配ベクトル(すなわち写真画像D0上および顔画像上の各画素における濃度が変化する方向および変化の大きさ)を特徴量C0として算出する。以下、勾配ベクトルの算出について説明する。まず、特徴量算出部2は、写真画像D0に対して図5(a)に示す水平方向のエッジ検出フィルタによるフィルタリング処理を施して写真画像D0における水平方向のエッジを検出する。また、特徴量算出部2は、写真画像D0に対して図5(b)に示す垂直方向のエッジ検出フィルタによるフィルタリング処理を施して写真画像D0における垂直方向のエッジを検出する。そして、写真画像D0上の各画素における水平方向のエッジの大きさHおよび垂直方向のエッジの大きさVとから、図6に示すように、各画素における勾配ベクトルKを算出する。また、顔画像についても同様に勾配ベクトルKを算出する。なお、特徴量算出部2は、後述するように写真画像D0および顔画像の変形の各段階において特徴量C0を算出する。
なお、このようにして算出された勾配ベクトルKは、図7(a)に示すような人物の顔の場合、図7(b)に示すように、目および口のように暗い部分においては目および口の中央を向き、鼻のように明るい部分においては鼻の位置から外側を向くものとなる。また、口よりも目の方が濃度の変化が大きいため、勾配ベクトルKは口よりも目の方が大きくなる。
そして、この勾配ベクトルKの方向および大きさを特徴量C0とする。なお、勾配ベクトルKの方向は、勾配ベクトルKの所定方向(例えば図6におけるx方向)を基準とした0から359度の値となる。
ここで、勾配ベクトルKの大きさは正規化される。この正規化は、写真画像D0の全画素における勾配ベクトルKの大きさのヒストグラムを求め、その大きさの分布が写真画像D0の各画素が取り得る値(8ビットであれば0〜255)に均一に分布されるようにヒストグラムを平滑化して勾配ベクトルKの大きさを修正することにより行う。例えば、勾配ベクトルKの大きさが小さく、図8(a)に示すように勾配ベクトルKの大きさが小さい側に偏ってヒストグラムが分布している場合には、大きさが0〜255の全領域に亘るものとなるように勾配ベクトルKの大きさを正規化して図8(b)に示すようにヒストグラムが分布するようにする。なお、演算量を低減するために、図8(c)に示すように、勾配ベクトルKのヒストグラムにおける分布範囲を例えば5分割し、5分割された頻度分布が図8(d)に示すように0〜255の値を5分割した範囲に亘るものとなるように正規化することが好ましい。
記憶部4内に格納されている第1および第2の参照データE1,E2は、後述するサンプル画像から選択された複数画素の組み合わせからなる複数種類の画素群のそれぞれについて、各画素群を構成する各画素における特徴量C0の組み合わせに対する識別条件を規定したものである。
第1および第2の参照データE1,E2中の、各画素群を構成する各画素における特徴量C0の組み合わせおよび識別条件は、顔であることが分かっている複数のサンプル画像と顔でないことが分かっている複数のサンプル画像とからなるサンプル画像群の学習により、あらかじめ決められたものである。
なお、本実施形態においては、第1の参照データE1を生成する際には、顔であることが分かっているサンプル画像として、30×30画素サイズを有し、図9に示すように、1つの顔の画像について両目の中心間の距離が10画素、9画素および11画素であり、両目の中心間距離において垂直に立った顔を平面上±15度の範囲において3度単位で段階的に回転させた(すなわち、回転角度が−15度,−12度,−9度,−6度,−3度,0度,3度,6度,9度,12度,15度)サンプル画像を用いるものとする。したがって、1つの顔の画像につきサンプル画像は3×11=33通り用意される。なお、図9においては−15度、0度および+15度に回転させたサンプル画像のみを示す。また、回転の中心はサンプル画像の対角線の交点である。ここで、両目の中心間の距離が10画素のサンプル画像であれば、目の中心位置はすべて同一となっている。この目の中心位置をサンプル画像の左上隅を原点とする座標上において(x1,y1)、(x2,y2)とする。また、図面上上下方向における目の位置(すなわちy1,y2)はすべてのサンプル画像において同一である。
また、第2の参照データE2を生成する際には、顔であることが分かっているサンプル画像として、30×30画素サイズを有し、図10に示すように、1つの顔の画像について両目の中心間の距離が10画素、9.7画素および10.3画素であり、各両目の中心間距離において垂直に立った顔を平面上±3度の範囲において1度単位で段階的に回転させた(すなわち、回転角度が−3度,−2度,−1度,0度,1度,2度,3度)サンプル画像を用いるものとする。したがって、1つの顔の画像につきサンプル画像は3×7=21通り用意される。なお、図10においては−3度、0度および+3度に回転させたサンプル画像のみを示す。また、回転の中心はサンプル画像の対角線の交点である。ここで、図面上上下方向における目の位置はすべてのサンプル画像において同一である。なお、両目の中心間の距離を9.7画素および10.3画素とするためには、両目の中心間の距離が10画素のサンプル画像を9.7倍あるいは10.3倍に拡大縮小して、拡大縮小後のサンプル画像のサイズを30×30画素とすればよい。
そして、第2の参照データE2の学習に用いられるサンプル画像における目の中心位置を、本実施形態において識別する目の位置とする。
また、顔でないことが分かっているサンプル画像としては、30×30画素サイズを有する任意の画像を用いるものとする。
ここで、顔であることが分かっているサンプル画像として、両目の中心間距離が10画素であり、平面上の回転角度が0度(すなわち顔が垂直な状態)のもののみを用いて学習を行った場合、第1および第2の参照データE1,E2を参照して顔または目の位置であると識別されるのは、両目の中心間距離が10画素で全く回転していない顔のみである。写真画像D0に含まれる可能性がある顔のサイズは一定ではないため、顔が含まれるか否かあるいは目の位置を識別する際には、後述するように写真画像D0を拡大縮小して、サンプル画像のサイズに適合するサイズの顔および目の位置を識別できるようにしている。しかしながら、両目の中心間距離を正確に10画素とするためには、写真画像D0のサイズを拡大率として例えば1.1単位で段階的に拡大縮小しつつ識別を行う必要があるため、演算量が膨大なものとなる。
また、写真画像D0に含まれる可能性がある顔は、図11(a)に示すように平面上の回転角度が0度のみではなく、図11(b)、(c)に示すように回転している場合もある。しかしながら、両目の中心間距離が10画素であり、顔の回転角度が0度のサンプル画像のみを使用して学習を行った場合、顔であるにも拘わらず、図11(b)、(c)に示すように回転した顔については識別を行うことができなくなってしまう。
このため、本実施形態においては、顔であることが分かっているサンプル画像として、図9に示すように両目の中心間距離が9,10,11画素であり、各距離において平面上±15度の範囲にて3度単位で段階的に顔を回転させたサンプル画像を用いて、第1の参照データE1の学習に許容度を持たせるようにしたものである。これにより、後述する第1の識別部5において識別を行う際には、写真画像D0を拡大率として11/9単位で段階的に拡大縮小すればよいため、写真画像D0のサイズを例えば拡大率として例えば1.1単位で段階的に拡大縮小する場合と比較して、演算時間を低減できる。また、図11(b)、(c)に示すように回転している顔も識別することができる。
一方、第2の参照データE2の学習には、図10に示すように両目の中心間距離が9.7,10,10.3画素であり、各距離において平面上±3度の範囲にて1度単位で段階的に顔を回転させたサンプル画像を用いているため、第1の参照データE1と比較して学習の許容度は小さい。また、後述する第2の識別部6において識別を行う際には、写真画像D0を拡大率として10.3/9.7単位で拡大縮小する必要があるため、第1の識別部5において行われる識別よりも演算に長時間を要する。しかしながら、第2の識別部6において識別を行うのは第1の識別部5が識別した顔内の画像のみであるため、写真画像D0の全体を用いる場合と比較して目の位置の識別を行うための演算量を低減することができる。
以下、図12のフローチャートを参照しながらサンプル画像群の学習手法の一例を説明する。なお、ここでは第1の参照データE1の学習について説明する。
学習の対象となるサンプル画像群は、顔であることが分かっている複数のサンプル画像と、顔でないことが分かっている複数のサンプル画像とからなる。なお、顔であることが分かっているサンプル画像は、上述したように1つのサンプル画像につき両目の中心位置が9,10,11画素であり、各距離において平面上±15度の範囲にて3度単位で段階的に顔を回転させたものを用いる。各サンプル画像には、重みすなわち重要度が割り当てられる。まず、すべてのサンプル画像の重みの初期値が等しく1に設定される(S1)。
次に、サンプル画像における複数種類の画素群のそれぞれについて識別器が作成される(S2)。ここで、それぞれの識別器とは、1つの画素群を構成する各画素における特徴量C0の組み合わせを用いて、顔の画像と顔でない画像とを識別する基準を提供するものである。本実施形態においては、1つの画素群を構成する各画素における特徴量C0の組み合わせについてのヒストグラムを識別器として使用する。
図13を参照しながらある識別器の作成について説明する。図13の左側のサンプル画像に示すように、この識別器を作成するための画素群を構成する各画素は、顔であることが分かっている複数のサンプル画像上における、右目の中心にある画素P1、右側の頬の部分にある画素P2、額の部分にある画素P3および左側の頬の部分にある画素P4である。そして顔であることが分かっているすべてのサンプル画像について全画素P1〜P4における特徴量C0の組み合わせが求められ、そのヒストグラムが作成される。ここで、特徴量C0は勾配ベクトルKの方向および大きさを表すが、勾配ベクトルKの方向は0〜359の360通り、勾配ベクトルKの大きさは0〜255の256通りあるため、これをそのまま用いたのでは、組み合わせの数は1画素につき360×256通りの4画素分、すなわち(360×256)4通りとなってしまい、学習および検出のために多大なサンプルの数、時間およびメモリを要することとなる。このため、本実施形態においては、勾配ベクトルの方向を0〜359を0〜44と315〜359(右方向、値:0),45〜134(上方向値:1),135〜224(左方向、値:2),225〜314(下方向、値3)に4値化し、勾配ベクトルの大きさを3値化(値:0〜2)する。そして、以下の式を用いて組み合わせの値を算出する。
組み合わせの値=0(勾配ベクトルの大きさ=0の場合)
組み合わせの値=((勾配ベクトルの方向+1)×勾配ベクトルの大きさ(勾配ベクトルの大きさ>0の場合)
これにより、組み合わせ数が94通りとなるため、特徴量C0のデータ数を低減できる。
組み合わせの値=((勾配ベクトルの方向+1)×勾配ベクトルの大きさ(勾配ベクトルの大きさ>0の場合)
これにより、組み合わせ数が94通りとなるため、特徴量C0のデータ数を低減できる。
同様に、顔でないことが分かっている複数のサンプル画像についても、ヒストグラムが作成される。なお、顔でないことが分かっているサンプル画像については、顔であることが分かっているサンプル画像上における上記画素P1〜P4の位置に対応する画素が用いられる。これらの2つのヒストグラムが示す頻度値の比の対数値を取ってヒストグラムで表したものが、図13の一番右側に示す、識別器として用いられるヒストグラムである。この識別器のヒストグラムが示す各縦軸の値を、以下、識別ポイントと称する。この識別器によれば、正の識別ポイントに対応する特徴量C0の分布を示す画像は顔である可能性が高く、識別ポイントの絶対値が大きいほどその可能性は高まると言える。逆に、負の識別ポイントに対応する特徴量C0の分布を示す画像は顔でない可能性が高く、やはり識別ポイントの絶対値が大きいほどその可能性は高まる。ステップS2では、識別に使用され得る複数種類の画素群を構成する各画素における特徴量C0の組み合わせについて、上記のヒストグラム形式の複数の識別器が作成される。
続いて、ステップS2で作成した複数の識別器のうち、画像が顔であるか否かを識別するのに最も有効な識別器が選択される。最も有効な識別器の選択は、各サンプル画像の重みを考慮して行われる。この例では、各識別器の重み付き正答率が比較され、最も高い重み付き正答率を示す識別器が選択される(S3)。すなわち、最初のステップS3では、各サンプル画像の重みは等しく1であるので、単純にその識別器によって画像が顔であるか否かが正しく識別されるサンプル画像の数が最も多いものが、最も有効な識別器として選択される。一方、後述するステップS5において各サンプル画像の重みが更新された後の2回目のステップS3では、重みが1のサンプル画像、重みが1よりも大きいサンプル画像、および重みが1よりも小さいサンプル画像が混在しており、重みが1よりも大きいサンプル画像は、正答率の評価において、重みが1のサンプル画像よりも重みが大きい分多くカウントされる。これにより、2回目以降のステップS3では、重みが小さいサンプル画像よりも、重みが大きいサンプル画像が正しく識別されることに、より重点が置かれる。
次に、それまでに選択した識別器の組み合わせの正答率、すなわち、それまでに選択した識別器を組み合わせて使用して各サンプル画像が顔の画像であるか否かを識別した結果が、実際に顔の画像であるか否かの答えと一致する率が、所定の閾値を超えたか否かが確かめられる(S4)。ここで、組み合わせの正答率の評価に用いられるのは、現在の重みが付けられたサンプル画像群でも、重みが等しくされたサンプル画像群でもよい。所定の閾値を超えた場合は、それまでに選択した識別器を用いれば画像が顔であるか否かを十分に高い確率で識別できるため、学習は終了する。所定の閾値以下である場合は、それまでに選択した識別器と組み合わせて用いるための追加の識別器を選択するために、ステップS6へと進む。
ステップS6では、直近のステップS3で選択された識別器が再び選択されないようにするため、その識別器が除外される。
次に、直近のステップS3で選択された識別器では顔であるか否かを正しく識別できなかったサンプル画像の重みが大きくされ、画像が顔であるか否かを正しく識別できたサンプル画像の重みが小さくされる(S5)。このように重みを大小させる理由は、次の識別器の選択において、既に選択された識別器では正しく識別できなかった画像を重要視し、それらの画像が顔であるか否かを正しく識別できる識別器が選択されるようにして、識別器の組み合わせの効果を高めるためである。
続いて、ステップS3へと戻り、上記したように重み付き正答率を基準にして次に有効な識別器が選択される。
以上のステップS3からS6を繰り返して、顔が含まれるか否かを識別するのに適した識別器として、特定の画素群を構成する各画素における特徴量C0の組み合わせに対応する識別器が選択されたところで、ステップS4で確認される正答率が閾値を超えたとすると、顔が含まれるか否かの識別に用いる識別器の種類と識別条件とが確定され(S7)、これにより第1の参照データE1の学習を終了する。
そして、上記と同様に識別器の種類と識別条件とを求めることにより第2の参照データE2の学習がなされる。
なお、上記の学習手法を採用する場合において、識別器は、特定の画素群を構成する各画素における特徴量C0の組み合わせを用いて顔の画像と顔でない画像とを識別する基準を提供するものであれば、上記のヒストグラムの形式のものに限られずいかなるものであってもよく、例えば2値データ、閾値または関数等であってもよい。また、同じヒストグラムの形式であっても、図13の中央に示した2つのヒストグラムの差分値の分布を示すヒストグラム等を用いてもよい。
また、学習の方法としては上記手法に限定されるものではなく、ニューラルネットワーク等他のマシンラーニングの手法を用いることができる。
第1の識別部5は、複数種類の画素群を構成する各画素における特徴量C0の組み合わせのすべてについて第1の参照データE1が学習した識別条件を参照して、各々の画素群を構成する各画素における特徴量C0の組み合わせについての識別ポイントを求め、すべての識別ポイントを総合して写真画像D0に顔が含まれるか否かを識別する。この際、特徴量C0である勾配ベクトルKの方向は4値化され大きさは5値化される。本実施形態では、すべての識別ポイントを加算して、その加算値の正負によって識別を行うものとする。例えば、識別ポイントの総和が正の値である場合には写真画像D0には顔が含まれると判断し、負の値である場合には顔は含まれないと判断する。なお、第1の識別部5が行う写真画像D0に顔が含まれるか否かの識別を第1の識別と称する。
ここで、写真画像D0のサイズは30×30画素のサンプル画像とは異なり、各種サイズを有するものとなっている。また、顔が含まれる場合、平面上における顔の回転角度が0度であるとは限らない。このため、第1の識別部5は、図14に示すように、写真画像D0を縦または横のサイズが30画素となるまで段階的に拡大縮小するとともに平面上で段階的に360度回転させつつ(図14においては縮小する状態を示す)、各段階において拡大縮小された写真画像D0上に30×30画素サイズのマスクMを設定し、マスクMを拡大縮小された写真画像D0上において1画素ずつ移動させながら、マスク内の画像が顔の画像であるか否かの識別を行うことにより、写真画像D0に顔が含まれるか否かを識別する。
なお、第1参照データE1の生成時に学習したサンプル画像として両目の中心位置の画素数が9,10,11画素のものを使用しているため、写真画像D0の拡大縮小時の拡大率は11/9とすればよい。また、第1および第2の参照データE1,E2の生成時に学習したサンプル画像として、顔が平面上で±15度の範囲において回転させたものを使用しているため、写真画像D0は30度単位で360度回転させればよい。
なお、特徴量算出部2は、写真画像D0の拡大縮小および回転という変形の各段階において特徴量C0を算出する。
そして、写真画像D0に顔が含まれるか否かの識別を拡大縮小および回転の全段階の写真画像D0について行い、一度でも顔が含まれると識別された場合には、写真画像D0には顔が含まれると識別し、顔が含まれると識別された段階におけるサイズおよび回転角度の写真画像D0から、識別されたマスクMの位置に対応する30×30画素の領域を顔の画像として抽出する。
第2の識別部6は、第1の識別部5が抽出した顔の画像上において、複数種類の画素群を構成する各画素における特徴量C0の組み合わせのすべてについて第2の参照データE2が学習した識別条件を参照して、各々の画素群を構成する各画素における特徴量C0の組み合わせについての識別ポイントを求め、すべての識別ポイントを総合して顔に含まれる目の位置を識別する。この際、特徴量C0である勾配ベクトルKの方向は4値化され大きさは5値化される。
ここで、第2の識別部6は、第1の識別部5が抽出した顔画像のサイズを段階的に拡大縮小するとともに平面上で段階的に360度回転させつつ、各段階において拡大縮小された顔画像上に30×30画素サイズのマスクMを設定し、マスクMを拡大縮小された顔上において1画素ずつ移動させながら、マスク内の画像における目の位置の識別を行う。
なお、第2参照データE2の生成時に学習したサンプル画像として両目の中心位置の画素数が9.07,10,10.3画素のものを使用しているため、顔画像の拡大縮小時の拡大率は10.3/9.7とすればよい。また、第2の参照データE2の生成時に学習したサンプル画像として、顔が平面上で±3度の範囲において回転させたものを使用しているため、顔画像は6度単位で360度回転させればよい。
なお、特徴量算出部2は、顔画像の拡大縮小および回転という変形の各段階において特徴量C0を算出する。
そして、本実施形態では、抽出された顔画像の変形の全段階においてすべての識別ポイントを加算し、加算値が最も大きい変形の段階における30×30画素のマスクM内の顔画像において、左上隅を原点とする座標を設定し、サンプル画像における目の位置の座標(x1,y1)、(x2,y2)に対応する位置を求め、変形前の写真画像D0におけるこの位置に対応する位置を目の位置と識別する。
第1の出力部7は、第1の識別部5が写真画像D0に顔が含まれないと識別した場合には、写真画像D0をそのまま出力部50に出力する一方、第1の識別部5が写真画像D0に顔が含まれると認識した場合には、第2の識別部6が識別した両目の位置から両目間の距離dを求め、両目の位置および両目間の距離dを情報Sとしてトリミング部10および照合部40に出力する。
図15は瞳検出手段100における検出部1の動作を示すフローチャートである。写真画像D0に対して、まず、特徴量算出部2が写真画像D0の拡大縮小および回転の各段階において、写真画像D0の勾配ベクトルKの方向および大きさを特徴量C0として算出する(S12)。そして、第1の識別部5が記憶部4から第1の参照データE1を読み出し(S13)、写真画像D0に顔が含まれるか否かの第1の識別を行う(S14)。
第1の識別部5は、写真画像D0に顔が含まれると判別する(S14:Yes)と、写真画像D0から顔を抽出する(S15)。ここでは、1つの顔に限らず複数の顔を抽出してもよい。次いで、特徴量算出部2が顔画像の拡大縮小および回転の各段階において、顔画像の勾配ベクトルKの方向および大きさを特徴量C0として算出する(S16)。そして、第2の識別部6が記憶部4から第2の参照データE2を読み出し(S17)、顔に含まれる目の位置を識別する第2の識別を行う(S18)。
続いて、第1の出力部7が写真画像D0から識別された目の位置および、この目の位置に基づいて求められた両目間の距離dを情報Sとしてトリミング部10および照合部40に出力する(S19)。
一方、ステップS14において、写真画像D0に顔が含まれていないと判別される(S14:No)と、第1の出力部7は、写真画像D0をそのまま出力部50に出力する(S19)。
トリミング部10は、検出部1から出力されてきた情報Sに基づいて、左目のみと右目のみとを夫々含む所定の範囲を切り出してトリミング画像D1aとD1bを得るものである。ここで、トリミングする際の所定の範囲とは、夫々の目の近傍を外枠にした範囲であり、例えば、図16に示す斜線範囲のように、検出部1より識別した目の位置(目の中心点)を中心とした、図示X方向とY方向の長さが夫々dと0.5dである長方形の範囲とすることができる。なお、図示斜線範囲は、図中の左目のトリミングの範囲であるが、右目についても同様である。
グレー変換部12は、トリミング部10により得られたトリミング画像D1に対して下記の式(1)に従ってグレー変換処理を行ってグレースケール画像D2を得る。
Y=0.299×R+0.587×G+0.114×B (1)
但し、Y:輝度値
R,G,B:R、G、B値
前処理部14は、グレースケール画像D2に対して前処理を行うものであり、ここでは、前処理として、平滑化処理と穴埋め処理が行われる。また、平滑化処理は、例えばカウシアンフィルタを適用することによって行われ、穴埋め処理は、補間処理とすることができる。
図4に示すように、写真画像における瞳の部分において、中心より上が部分的に明るくなる傾向があるため、穴埋め処理を行ってこの部分のデータを補間することにより瞳の中心位置の検出精度を向上させることができる。
2値化部20は、2値化閾値算出部18を有し、該2値化閾値算出部18により算出した閾値Tを用いて、前処理部14により得られた前処理済み画像D3を2値化して2値画像D4を得るものである。2値化閾値算出部18は、具体的には前処理済み画像D3に対して、図17に示す輝度のヒストグラムを作成し、前処理済み画像D3の全画素数の数分の1(図示では1/5となる20%)に相当する出現頻度に対応する輝度値を2値化用の閾値Tとして求める。2値化部20は、この閾値Tを用いて前処理済み画像D3を2値化して2値画像D4を得る。
投票部30は、まず、2値化画像D4における各画素(画素値が1となる画素)の座標を円環のハフ空間(円中心点X座標,円中心点Y座標,半径r)に投票して、各投票位置の投票値を算出する。通常、1つの投票位置がある画素により投票されると、1回投票されたとして投票値に1が加算されるようにして各投票位置の投票値を求めるようにしているが、ここでは、1つの投票位置がある画素に投票されると、投票値に1を加算するのではなく、投票した画素の輝度値を参照して、輝度値が小さいほど、大きい重みを付けて加算するようにして各投票位置の投票値を求める。図18は、図2に示す瞳検出手段100における投票部30に使用された重付け係数のテーブルを示している。なお、図中Tは、2値化閾値算出部18により算出された2値化用の閾値Tである。
投票部30は、このようにして各投票位置の投票値を求めた後、これらの投票位置のうち、円環中心点座標値、即ち円環ハフ空間(X,Y,r)における(X,Y)座標値が同じである投票位置同士の投票値を加算して各々の(X,Y)座標値に対応する統合投票値Wを得て、相対応する(X,Y)座標値と対応付けて中心位置候補取得部35に出力する。
中心位置候補取得部35は、まず、投票部30からの各々の統合投票値から、最も大きい統合投票値に対応する(X,Y)座標値を、瞳の中心位置候補Gとして取得して、照合部40に出力する。ここで、中心位置候補取得部35により取得された中心位置候補Gは、左瞳の中心位置Gaと右瞳の中心位置Gbとの2つであり、照合部40は、検出部1により出力された両目間の距離dに基づいて、2つの中心位置Ga、Gbの照合を行う。
具体的には、照合部40は、次の2つの照合基準に基づいて照合を行う。
1. 左瞳の中心位置と右瞳の中心位置とのY座標値の差が(d/50)以下。
2. 左瞳の中心位置と右瞳の中心位置とのX座標値の差が(0.8×d〜1.2×d)の範囲内。
照合部40は、中心位置候補取得部35からの2つの瞳の中心位置候補Ga、Gbが上記2つの照合基準を満たしているか否かを判別し、2つの基準とも満たしていれば(以下照合基準を満たしているという)、瞳の中心位置候補Ga、Gbを瞳の中心位置として微調整部45に出力する。一方、2つの基準または2つの基準のうちの1つを満たしていなければ(以下照合基準を満たしていないという)、中心位置候補取得部35に次の中心位置候補を取得するように指示すると共に、中心位置候補取得部35により取得された次の中心位置候補に対して上述した照合、照合基準を満たしている場合の中心位置出力、照合基準を満たしていない場合の中心位置候補を再取得する指示などの処理を、照合基準を満たすようになるまで繰り返す。
片方、中心位置候補取得部35は、照合部40から次の中心位置候補の取得が指示されると、まず、片方(ここでは、左瞳)の中心位置を固定して、もう片方(ここでは右瞳)の各々の統合投票値Wbから、下記の3つの条件に合う投票位置の(X,Y)座標値を次の中心位置候補として取得する。
1.最後に照合部40に出力した中心位置候補の(X、Y)座標値により示される位置とd/30以上(D:両目間の距離)離れている。
2.相対応する統合投票値が、条件1を満たす(X,Y)座標値に対応する統合投票値のうち、最後に照合部40に出力した中心位置候補の(X,Y)座標値に対応する統合投票値の次に大きい。
3.相対応する統合投票値が、1回目に照合部40に出力した中心位置候補の(X,Y)座標値に対応する統合投票値(最も大きい統合投票値)の10パーセント以上である。
中心位置候補取得部35は、まず、左瞳の中心位置を固定して、右瞳に対して求められた統合投票値Wbに基づいて上記3つの条件を満たす右瞳の中心位置候補を探すが、上記3つの条件を満たす候補を見つからない場合には、右瞳の中心位置を固定して、左瞳に対して求められた統合投票値Waに基づいて上記の3つの条件を満たす左瞳の中心位置を探す。
微調整部45は、照合部40から出力してきた瞳の中心位置G(照合基準を満たしている中心位置候補)に対して微調整を行うものである。まず、左瞳の中心位置の微調整を説明する。微調整部45は、2値化部20により得られた左目のトリミング画像D1aの2値画像D4aに対して、サイズが9×9で、オール1のマスクを用いてマスク演算を3回繰り返し、このマスク演算の結果により得られた最大結果値を有する画素の位置(Gmとする)に基づいて、照合部40から出力してきた左瞳の中心位置Gaに対して微調整を行う。具体的には、例えば、位置Gmと中心位置Gaとの平均を取って得た平均位置を瞳の最終中心位置G’aとするようにしてもよいし、中心位置Gaの方に重みを付けて平均演算して得た平均位置を瞳の最終中心位置G’aとするようにしてもよい。ここでは、中心位置Gaの方に重みを付けて平均演算することにする。
また、右瞳の中心位置の微調整は、右目のトリミング画像D1bの2値画像D4bを用いて上記と同じように行われる。
微調整部45は、このようにして、照合部40から出力してきた瞳の中心位置Ga、Gbに対して微調整を行って得た最終中心位置G’a、G’bを出力部50に出力する。
出力部50は、顔が含まれていない画像D0をそのままボケ解析手段200に出力するが、顔が含まれた画像D0に対しては、最終中心位置G’に基づいて、中心位置G’aを囲む所定の範囲と、G’bを囲む所定の範囲を夫々切り出して瞳画像D5(D5a,D5b)を得、この瞳画像D5をボケ解析手段200に出力する。
図19は、図2に示す瞳検出手段100の処理を示すフローチャートである。図示のように、写真画像D0は、まず検出部1において顔が含まれているか否かの判別がされる(S110)。判別の結果、写真画像D0に顔が含まれていなければ(S115:No)、写真画像D0は検出部1から出力部50に出力される一方、写真画像D0に顔が含まれていれば(S115:Yes)、さらに、検出部1において写真画像D0における目の位置が検出され、両目の位置および両目間の距離dが情報Sとしてトリミング部10に出力される(S120)。トリミング部10において、写真画像D0がトリミングされ、左目のみを含むトリミング画像D1aと右目のみを含むトリミング画像D1bが得られる(S125)。トリミング画像D1は、グレー変換部12によりグレー変換されてグレースケール画像D2となる(S130)。グレースケール画像D2は、前処理部14により平滑化処理と穴埋め処理を施され、さらに2値化部20により2値化処理されて2値画像D4となる(S135、S140)。投票部30において、2値画像D4の各画素の座標は円環のハフ空間に投票され、その結果、各々の円中心点を示す(X,Y)座標値に対応する統合投票値Wが得られる(S145)。中心位置候補取得部35は、まず、最も大きい統合投票値に対応する(X,Y)座標値を瞳の中心位置候補Gとして照合部40に出力する(S150)。照合部40は、前述した照合基準に基づいて中心位置候補取得部35からの2つの中心位置候補Ga、Gbに対して照合を行い(S115)、2つの中心位置候補Ga、Gbが照合基準を満たしていれば(S160:Yes)、この2つの中心位置候補Ga、Gbを中心位置として微調整部45に出力する一方、2つの中心位置候補Ga、Gbが照合基準を満たしていなければ(S160:No)、中心位置候補取得部35に次の中心位置候補を探すように指示する(S150)。ステップS150からステップS160までの処理が、照合部40により、中心位置候補取得部35からの中心位置候補Gが照合基準を満たすと判別されるまで繰り返される。
微調整部45は、照合部40から出力された中心位置Gに対して微調整を行い、最終中心位置G’を得て出力部50に出力する(S165)。
出力部50は、顔が含まれていない画像D0(S115:No)をそのままボケ解析手段200に出力するが、顔が含まれた画像D0に対しては、最終中心位置G’に基づいて、中心位置G’aを囲む所定の範囲と、G’bを囲む所定の範囲を夫々切り出して瞳画像D5(D5a,D5b)を得、この瞳画像D5をボケ解析手段200に出力する(S170)。
このように、図1に示す画像処理システムAのボケ解析手段200には、顔が含まれてない画像D0、または顔が含まれている画像D0の瞳画像D5が入力される。
図20は、ボケ解析手段200の構成を示すブロック図である。図示のように、ボケ解析手段200は、エッジ検出手段212と、エッジプロファイル作成手段213と、エッジ絞込手段214と、エッジ特徴量取得手段216と、解析実行手段220と、記憶手段225とを有してなるものである。
エッジ検出手段212は、画像D0または瞳画像D5(以下対象画像という)を用いて、図21に示すような8方向毎に、所定の強度以上のエッジを検出し、これらのエッジの座標位置を得てエッジプロファイル作成手段213に出力する。エッジプロファイル作成手段213は、エッジ検出手段212により検出された各方向毎の各々のエッジの座標位置に基づいて、対応する対象画像を用いてこれらのエッジに対して、図22に示すようなエッジプロファイルを作成してエッジ絞込手段214に出力する。
エッジ絞込手段214は、エッジプロファイル作成手段213から出力されてきたエッジのプロファイルに基づいて、複雑なプロファイル形状を有するエッジや、光源を含むエッジ(具体的には例えば一定の明度以上のエッジ)などの無効なエッジを除去し、残りのエッジのプロファイルをエッジ特徴量取得手段216に出力する。
エッジ特徴量取得手段216は、エッジ絞込手段214から出力されてきたエッジのプロファイルに基づいて、図22に示すようなエッジ幅を各エッジに対して求め、図23に示すようなエッジ幅のヒストグラムを図21に示された8つの方向毎に作成してエッジ幅と共にエッジ特徴量Sとして解析実行手段220に出力する。
解析実行手段220は、主として下記の2つの処理を行う。
1. 対象画像におけるボケ方向、ボケ度Nを求めて、対象画像がボケ画像か通常画像かを判別する。
2. 対象画像がボケ画像と判別された場合、ボケ幅L、ぶれ度Kを算出する。
ここで、1つ目の処理から説明する。
解析実行手段220は、対象画像におけるボケ方向を求めるために、まず、図21に示す8つの方向のエッジ幅のヒストグラム(以下略してヒストグラムという)に対して、互いに直交する2つの方向を1方向組として各方向組(1−5、2−6、3−7、4−8)のヒストグラムの相関値を求める。なお、相関値は求め方によって様々な種類があり、相関値が大きければ相関が小さい種類と、相関値の大小と相関の大小とが一致する、すなわち相関値が小さければ相関が小さい種類との2種類に大きく分けることができる。本実施形態において、例として、相関値の大小と相関の大小とが一致する種類の相関値を用いる。図24に示すように、画像中にぶれがある場合には、ぶれ方向のヒストグラムと、ぶれ方向と直交する方向のヒストグラムとの相関が小さい(図24(a)参照)のに対して、ぶれと関係ない直交する方向組または画像中にぶれがない(ボケがないまたはピンボケ)場合の直交する方向組では、そのヒストグラムの相関が大きい(図24(b)参照)。本実施形態の画像処理システムAにおける解析実行手段220は、このような傾向に着目し、4つの方向組に対して、各組のヒストグラムの相関値を求め、相関が最も小さい方向組の2つの方向を見つけ出す。画像Dにぶれがあれば、この2つの方向のうちの1つは、図21に示す8つの方向のうち、最もぶれ方向に近い方向として考えることができる。
図24(c)は、ぶれ、ピンボケ、ボケ(ピンボケおよびぶれ)なしの撮像条件で同じ被写体を撮像して得た夫々の画像に対して求められた、このぶれの方向におけるエッジ幅のヒストグラムを示している。図24(c)から分かるように、ボケのない通常画像は、最も小さい平均エッジ幅を有し、すなわち、上記において見付け出された2つの方向のうち、平均エッジ幅が大きい方は、最もぶれに近い方向のはずである。
解析実行手段220は、こうして、相関が最も小さい方向組を見付け、この方向組の2つの方向のうち、平均エッジ幅の大きい方をボケ方向とする。
次に、解析実行手段220は、対象画像のボケ度Nを求める。画像のボケ度は、画像中のボケの程度の大小を示すものであり、例えば、画像中に最もぼけている方向(ここでは上記において求められたボケ方向)の平均エッジ幅を用いてもよいが、ここでは、ボケ方向における各々のエッジのエッジ幅を用いて図25に基づいたデータベースを利用してより精度良く求める。図25は、学習用の通常画像データベースとボケ(ピンボケおよびぶれ)画像データベースを元に、画像中の最もぼけている方向(通常画像の場合には、この方向に対応する方向が望ましいが、任意の方向であってもよい)のエッジ幅分布のヒストグラムを作成し、ボケ画像における頻度と通常画像における頻度(図示縦軸)の比率を評価値(図示スコア)としてエッジ幅毎に求めて得たものである。図25に基づいて、エッジ幅とスコアとを対応付けてなるデータベース(以下スコアデータベースという)が作成され、記憶手段225に記憶されている。
解析実行手段220は、図25に基づいて作成され、記憶手段225に記憶されたスコアデータベースを参照し、対象画像のボケ方向の各エッジに対して、そのエッジ幅からスコアを取得し、ボケ方向の全てのエッジのスコアの平均値を対象画像のボケ度Nとして求める。求められた対象画像のボケ度Nが所定の閾値(T1とする)より小さければ、解析実行手段220は、対象画像が画像D0である場合には画像D0を、対象画像が瞳画像D5である場合にはこの瞳画像D5が対応する画像D0を通常画像として判別すると共に、画像D0が通常画像であることを示す情報Pを出力手段60に出力することをもって、処理を終了する。
一方、対象画像のボケ度Nが閾値T1以上であれば、解析実行手段220は、対象画像がボケ画像であると判別し、2つ目の処理に入る。
解析実行手段220は、2つ目の処理として、まず、対象画像のぶれ度Kを求める。
ボケ画像のボケにおけるぶれの程度の大小を示すぶれ度Kは、下記のような要素に基づいて求めることができる。
1.相関が最も小さい方向組(以下相関最小組)の相関値:この相関値が小さいほどぶれの程度が大きい
解析実行手段220は、この点に着目して、図26(a)に示す曲線に基づいて第1のぶれ度K1を求める。なお、図26(a)に示す曲線に応じて作成されたLUT(ルックアップテーブル)は、記憶手段225に記憶されており、解析実行手段220は、相関最小組の相関値に対応する第1のぶれ度K1を、記憶手段225から読み出すようにして第1のぶれ度K1を求める。
解析実行手段220は、この点に着目して、図26(a)に示す曲線に基づいて第1のぶれ度K1を求める。なお、図26(a)に示す曲線に応じて作成されたLUT(ルックアップテーブル)は、記憶手段225に記憶されており、解析実行手段220は、相関最小組の相関値に対応する第1のぶれ度K1を、記憶手段225から読み出すようにして第1のぶれ度K1を求める。
2.相関最小組の2つの方向のうち、平均エッジ幅が大きい方向の平均エッジ幅:この平均エッジ幅が大きいほどぶれの程度が大きい
解析実行手段220は、この点に着目して、図26(b)に示す曲線に基づいて第2のぶれ度K2を求める。なお、図26(b)に示す曲線に応じて作成されたLUT(ルックアップテーブル)は、記憶手段225に記憶されており、解析実行手段220は、相関最小組の平均エッジ幅が大きい方向の平均エッジ幅に対応する第2のぶれ度K2を、記憶手段225から読み出すようにして第2のぶれ度K2を求める。
解析実行手段220は、この点に着目して、図26(b)に示す曲線に基づいて第2のぶれ度K2を求める。なお、図26(b)に示す曲線に応じて作成されたLUT(ルックアップテーブル)は、記憶手段225に記憶されており、解析実行手段220は、相関最小組の平均エッジ幅が大きい方向の平均エッジ幅に対応する第2のぶれ度K2を、記憶手段225から読み出すようにして第2のぶれ度K2を求める。
3.相関最小組の2つの方向における夫々の平均エッジ幅の差:この差が大きいほどぶれの程度が大きい
解析実行手段220は、この点に着目して、図26(c)に示す曲線に基づいて第3のぶれ度K3を求める。なお、図26(c)に示す曲線に応じて作成されたLUT(ルックアップテーブル)は、記憶手段225に記憶されており、解析実行手段220は、相関最小組の2つの方向における夫々の平均エッジ幅の差に対応する第3のぶれ度K3を、記憶手段225から読み出すようにして第3のぶれ度K3を求める。
解析実行手段220は、この点に着目して、図26(c)に示す曲線に基づいて第3のぶれ度K3を求める。なお、図26(c)に示す曲線に応じて作成されたLUT(ルックアップテーブル)は、記憶手段225に記憶されており、解析実行手段220は、相関最小組の2つの方向における夫々の平均エッジ幅の差に対応する第3のぶれ度K3を、記憶手段225から読み出すようにして第3のぶれ度K3を求める。
解析実行手段220は、このようにして第1のぶれ度K1、第2のぶれ度K2、第3のぶれ度K3を求めると共に、下記の式(2)に従って、K1、K2、K3を用いてボケ画像となる対象画像のぶれ度Kを求める。
K=K1×K2×K3 (2)
但し、K:ぶれ度
K1:第1のぶれ度
K2:第2のぶれ度
K3:第3のぶれ度
次に、解析実行手段220は、対象画像のボケ幅Lを求める。ここで、ぶれ度Kに関係なく、ボケ幅Lとしてボケ方向におけるエッジの平均幅を求めるようにしてもよいし、図21に示す8つの方向のすべてにおけるエッジの平均エッジ幅を求めてボケ幅Lとするようにしてもよい。
解析実行手段220は、対象画像が画像D0である場合に、求められたぶれ度K、ボケ幅Lをボケ度Nおよびボケ方向と共に画像D0のボケ情報Qとしてボケ補正手段230に出力すると共に、対象画像が瞳画像D5である場合においても、瞳画像D5から求められたぶれ度K、ボケ幅Lをボケ度Nおよびボケ方向と共に瞳画像D5が対応する画像D0のボケ情報Qとしてボケ補正手段230に出力する。
図27は、20に示すボケ解析手段200の処理を示すフローチャートである。図示のように、ボケ解析手段200は、顔が含まれない画像D0の場合は画像D0であり、顔が含まれる画像D0の場合は画像D0の瞳画像D5である対象画像に対して、まず、エッジ検出手段212により図21に示す8つの異なる方向毎に所定の強度以上のエッジを検出して各々のエッジの座標位置を得、エッジプロファイル作成手段213により、これらの座標位置に基づき、対象画像を用いて各々のエッジに対して図22に示すようなエッジプロファイルを作成してエッジ絞込手段214に出力する(S212)。エッジ絞込手段214は、エッジプロファイル作成手段213から送信されてきたエッジプロファイルに基づいて、無効なエッジを除去し、残りのエッジのプロファイルをエッジ特徴量取得手段216に出力する(S214)。エッジ特徴量取得手段216は、エッジ絞込手段214から送信された各々のエッジのプロファイルに基づいて各エッジの幅を求めると共に、図21に示す方向毎にエッジ幅のヒストグラムを作成して、各エッジの幅および各方向のエッジ幅のヒストグラムを対象画像のエッジ特徴量Sとして解析実行手段220に出力する(S216)。解析実行手段220は、エッジ特徴量Sを用いて、まず対象画像のボケ方向およびボケ度Nを算出し、画像D0がボケ画像であるか通常画像であるかを判別する(S220、S225)。画像D0が通常画像であれば(S225:Yes)、解析実行手段220は、画像D0が通常画像であることを示す情報Pを出力手段270に出力する(S230)。一方、画像D0がボケ画像に判別されると(S225:No)、解析実行手段220は、対象画像に対してさらにぶれ度K、ボケ幅Lを算出し、ステップS220において求められたボケ度Nおよびボケ方向と共に画像D0のボケ情報Qとしてボケ補正手段230に出力する(S240、S245)。
なお、本実施形態におけるボケ解析手段200は、2つの瞳画像(D5a,D5b)を用いて解析を行っているが、いずれか1つのみの瞳画像を用いるようにしてもよい。
ボケ補正手段230は、ボケ画像であると判別された画像D0に対して、ボケ解析手段200により得られた画像D0のボケ情報Qに基づいてボケ補正を行うものであり、図28は、その構成を示すブロック図である。
図28に示すように、ボケ補正手段230は、ボケ情報Qに基づいて画像D0を補正するためのパラメータEを設定するためのパラメータ設定手段235と、パラメータ設定手段235のための種々のデータベースを記憶した記憶手段240と、画像D0から高周波数成分Dhを抽出する高周波数成分抽出手段245と、パラメータEおよび高周波数成分Dhを用いて画像D0に対するボケ補正を実行する補正実行手段250とを有してなる。
本実施形態の画像処理システムAにおけるボケ補正手段230は、アン・シャープネス・マスキング(USM)補正方法でボケ画像となる画像D0に対して補正を施すものであり、パラメータ設定手段235は、ボケ情報Qに含まれるボケ幅Lとボケ方向に応じて、ボケ幅Lが大きいほど補正マスクのサイズが大きくなるように、ボケ方向に作用する方向性補正用の1次元補正マスクM1を設定すると共に、ボケ幅Lに応じて、ボケ幅Lが大きいほど補正マスクのサイズが大きくなるように等方性補正用の2次元補正マスクM2を設定する。なお、各ボケ幅に対応する2次元補正マスク、および各ボケ幅とボケ方向に対応する1次元補正マスクはデータベース(マスクデータベースという)として記憶手段240に記憶されており、パラメータ設定手段235は、記憶手段240に記憶されたマスクデータベースから、ボケ幅Lとボケ方向に基づいて1次元補正マスクM1を、ボケ幅Lに基づいて2次元補正マスクM2を取得する。
次に、パラメータ設定手段235は、下記の式(3)に従って、方向性補正用の1次元補正パラメータW1および等方性補正用の2次元補正パラメータW2を設定する。
W1=N×K×M1
W2=N×(1−K)×M2 (3)
但し、W1:1次元補正パラメータ
W2:2次元補正パラメータ
N:ボケ度
K:ぶれ度
M1:1次元補正マスク
M2:2次元補正マスク
即ち、パラメータ設定手段235は、ボケ度Nが大きいほど等方性補正の強度と方向性補正の強度が強く、ぶれ度Kが大きいほど方向性補正の重みが大きくなるように補正パラメータW1とW2(合わせてパラメータEとする)を設定する。
補正実行手段250は、パラメータ設定手段235により設定されたパラメータEを用いて、高周波数成分抽出手段245により得られた高周波数成分Dhを強調することによって画像D0のボケ補正を実行し、具体的には下記の式(4)に従ってボケ補正を行う。
D’=D0+E×Dh (4)
但し、D’:補正済み画像
D0:補正前の画像
E:補正パラメータ
Dh:高周波数成分
出力手段270は、ボケ解析手段200から画像D0が通常画像であることを示す情報Pを受信した場合には画像D0を出力する一方、ボケ補正手段230から補正済み画像D’を受信した場合には補正済み画像D’を出力するものである。本実施形態の画像処理システムAにおいて、出力手段270による「出力」は印刷であり、出力手段270は、通常画像の画像D0、およびボケ画像の画像D0を補正して得た補正済み画像D’を印刷してプリントを得るものであるが、記録媒体に記憶したり、ネットワーク上における画像保管サーバや、画像の補正を依頼した依頼者により指定されたネットワーク上のアドレスなどに送信したりするなどのものであってもよい。
図29は、図1に示す実施形態の画像処理システムAの動作を示すフローチャートである。図示のように、画像D0に対して、まず、瞳検出手段100により顔の検出が行われる(S250)。顔が検出されなければ(S255:No)、ボケ解析手段200は、画像D0全体のデータを用いてボケの解析を行う(S260)。一方、顔が検出されれば(S255:Yes)、瞳検出手段100は、さらに瞳の検出を行って、瞳画像D5を得(S270)、ボケ解析手段200は、瞳画像のデータを用いてボケの解析を行う(S275)。
ボケ解析手段200は、画像D0、または瞳画像D5を解析した結果、画像D0が通常画像であると判別した場合には、画像D0が通常画像であることを示す情報Pを出力手段270に出力し、出力手段270により画像D0をプリントアウトする(S280:Yes、S290)一方、画像D0がボケ画像であると判別した場合には、画像D0に対して求めたボケ情報Qをボケ補正手段230に出力し、ボケ補正手段230により、ボケ情報Qに基づいて画像D0のボケ補正を行う(S280:No、S285)。なお、ボケ補正手段230により得られた補正済み画像D’も、出力手段270によりプリントアウトされる(S290)。
図30は、本発明の第2の実施形態となる画像処理システムBの構成を示すブロック図である。図示のように、本実施形態の画像処理システムBは、瞳検出手段100と、ボケ解析手段300と、ボケ補正手段350と、出力手段270とを有してなるものである。なお、本実施形態の画像処理システムBの各手段のうち、ボケ解析手段300およびボケ補正手段350が、図1に示す実施形態の画像処理システムAの相対応する手段と部分的に異なるが、他の手段は、図1に示す実施形態の画像処理システムAの相対応する手段と同じであるため、ここでボケ解析手段300およびボケ補正手段350以外の他の手段について、図1に示す実施形態の画像処理システムAの相対応する手段と同じ符号を付与すると共に、それらの詳細な説明については省略する。
図31は、図30に示す画像処理システムBにおけるボケ解析手段300の構成を示すブロック図である。図示のように、ボケ解析手段300は、エッジ検出手段312と、エッジプロファイル作成手段313と、エッジ絞込手段314と、エッジ特徴量取得手段316と、解析手段320と、解析手段320のための種々のデータベースを記憶する記憶手段330と、上記各手段の制御を行う制御手段305とを有してなる。なお、解析手段320は、第1の解析手段322と、第2の解析手段324と、第3の解析手段326を備えてなる。
ボケ解析手段300の制御手段305は、瞳検出手段100により顔が検出されたか否かに基づいて制御を行うものである。瞳検出手段100により、画像D0から顔が検出されなかった場合、制御手段305は、エッジ検出手段312に画像D0に対するエッジ検出を行わせる。なお、エッジ検出手段312と、エッジプロファイル作成手段313と、エッジ絞込手段314と、エッジ特徴量取得手段316との具体的の動作は、図1に示す画像処理システムAにおけるボケ解析手段200の相対応する手段の動作と夫々同じであるため、ここで詳細な説明を省略する。エッジ検出手段312により検出されたエッジに対して、エッジプロファイル作成手段313と、エッジ絞込手段314と、エッジ特徴量取得手段316との夫々の処理が行われ、画像D0におけるエッジの特徴量Szが取得される。なお、ここのエッジの特徴量Szおよび後述する特徴量Seは、図1に示す実施形態の画像処理システムAにおける特徴量Sと同じように、各方向におけるエッジの幅およびエッジ幅のヒストグラムとからなる。
制御手段305は、第1の解析手段322にエッジの特徴量Szに対する解析を行わせる。第1の解析手段322は、エッジの特徴量Szに基づいて、画像D0がボケ画像であるか否かの判別を行うと共に、通常画像である場合には情報Pを出力手段270に送信すると共に、ボケ画像である場合にはボケ情報Qをボケ補正手段350に送信する。なお、第1の解析手段322の具体的な処理は、図1に示す実施形態の画像処理システムAにおけるボケ解析手段200の解析実行手段220の処理と同じである。
一方、瞳検出手段100により顔乃至瞳が検出され、瞳画像D5が得られた場合には、制御手段305は、エッジ検出手段312に瞳画像D5に対するエッジ検出を行わせる。また、エッジ検出手段312により検出されたエッジに対して、エッジプロファイル作成手段313、エッジ絞込手段314と、エッジ特徴量取得手段316との夫々の処理が行われ、瞳画像D5におけるエッジの特徴量Seが取得される。
ここで、制御手段305は、まず、第2の解析手段324に、瞳画像D5がボケ画像か否か、ボケ画像である場合にはさらにピンボケかぶれかの解析を行わせる。第2の解析手段324は、まず、図1に示す実施形態の画像処理システムAにおけるボケ解析手段200の解析手段220と同じように、瞳画像D5の特徴量Seに基づいて、ボケ方向(ここでhとする)、ボケ度Nを求める。求められたボケ度Nが閾値T1以下である場合には、瞳画像D0が対応する画像D0を通常画像として判別すると共に、画像D0が通常画像であることを示す情報Pを出力手段270に送信する。一方、求められたボケ度Nが閾値T1より大きい場合には、瞳画像D0が対応する画像D0をボケ画像として判別すると共に、さらにそのぶれ度Kを求める。なお、第2の解析手段324によるぶれ度Kの算出方法も、図1に示す実施形態の画像処理システムAにおけるボケ解析手段200の解析手段220の算出方法と同じである。求められたぶれ度Kに基づいて、第2の解析手段324は、瞳画像D0の対応する画像D0がピンボケ画像かぶれ画像かの判別を行う。具体的には、ぶれ度Kが所定の閾値T2以下であれば、画像D0をピンボケ画像として判別し、ぶれ度Kが閾値T2より大きければ、画像D0をぶれ画像として判別する。
ピンボケ画像として判別された画像D0に対して、第2の解析手段324は、その瞳画像D5のエッジ特徴量Seからさらにボケ幅Lを求めて、画像D0がピンボケ画像であることを示す情報と、ボケ幅Lとをボケ情報Qとしてボケ補正手段350に送信して処理を終了する。
一方、ぶれ画像として判別された画像D0に対して、第2の解析手段324は、そのボケ方向、すなわちぶれ方向hを第3の解析手段326に送信して処理を終了する。また、画像D0がぶれ画像であると判別された場合、制御手段305は、画像D0全体に対して、エッジ検出手段312に、画像D0のぶれ方向hにおけるエッジを検出させる。ぶれ方向hにおいて検出されたエッジに対して、エッジプロファイル作成手段313と、エッジ絞込手段314との夫々の処理が行われ、画像D0において、ぶれ方向hにおける各々のエッジのプロファイルが特徴量Sz1として取得される。
第3の解析手段326は、特徴量Sz1の各エッジのプロファイルから、ぶれ方向hにおけるエッジの平均幅をぶれ幅として算出し、画像D0がぶれ画像であることを示す情報と、このぶれ幅およびぶれ方向hとをボケ情報Q1としてボケ補正手段350に送信する。
図32は、図31に示すボケ解析手段300の処理を示すフローチャートである。図示のように、ボケ解析手段300の制御手段305は、瞳検出手段100により顔が検出されなかった画像D0に対して、エッジ検出手段312に画像D0全体から図21に示す8方向毎にエッジを検出させる。検出されたエッジに対して、エッジプロファイル作成手段313、エッジ絞込手段314、エッジ特徴量取得手段316の夫々の処理が行われ、画像D0のエッジの特徴量Szが得られる。そして、第1の解析手段322は、特徴量Szを用いて、画像D0におけるボケ方向、ボケ度Nを求めて画像D0が通常画像であるか否かの判別を行うと共に、通常画像として判別された画像D0に対してはボケ画像ではないことを示す情報Pを出力手段270に出力する一方、ボケ画像として判別された画像D0に対してはさらにボケ幅L、ぶれ度Kを求めてボケ方向、ボケ度Nと共にボケ情報Qとしてボケ補正手段350に送信する(S300:No、S305、S310)。
一方、瞳検出手段100により顔乃至瞳が検出された(S300:Yes)画像D0に対して、制御手段305は、エッジ検出手段312に画像D0の瞳画像D5から図21に示す8方向毎にエッジを検出させる。出されたエッジに対して、エッジプロファイル作成手段313、エッジ絞込手段314、エッジ特徴量取得手段316の夫々の処理が行われ、瞳画像D5におけるエッジの特徴量Seが得られる。第2の解析手段324は、特徴量Seを用いて、瞳画像D5におけるボケ方向、ボケ度Nを求めて瞳画像D5の対応する画像D0が通常画像かボケ画像かの判別を行うと共に、通常画像として判別された画像D0に対してボケ画像ではないことを示す情報Pを出力手段270に出力する(S320、S325:Yes、S330)。ステップS325においてボケ画像として判別された(S320、S325:No)画像D0に対しては、第2の解析手段324は、さらにピンボケ画像かぶれ画像かの判別を行い、ピンボケ画像の場合においては、画像D0の瞳画像D5の特徴量Seからボケ幅を求めて画像D0のボケ幅とし、画像D0がピンボケ画像であることを示す情報と共にピンボケ画像D0のボケ情報Qとしてボケ補正手段350に送信する(S340:Yes、S345)一方、ぶれ画像の場合においては、ぶれ方向hとなるボケ方向を第3の解析手段326に送信する(S340:No、S350)。第3の解析手段326は、エッジ検出手段312、エッジプロファイル作成手段313、エッジ絞込手段314、エッジ特徴量取得手段316により、瞳画像D5が対応する画像D0全体から求められた、ぶれ方向hにおけるエッジの特徴量Sz1を用いて、ぶれ方向hにおけるエッジの平均幅を算出してぶれ幅とし、このぶれ幅、ぶれ方向h、および画像D0がぶれ画像であることを示す情報をぶれ画像D0のボケ情報Q1としてボケ補正手段350に送信する(S355、S360)。
このように、ボケ補正手段350には、3種類のボケ情報Qが送信される。1つ目は、顔が検出されなかった画像D0全体の画像を用いて、第1の解析手段322により得られた画像D0におけるボケ度N、ボケ幅L、ボケ方向、ぶれ度Kとからなるボケ情報であり、2つ目は、顔乃至瞳が検出された画像D0の瞳画像D5を用いて、第2の解析手段324により得られた、画像D0がピンボケ画像であることを示す情報およびピンボケの幅とからなるボケ情報であり、3つ目は、第2の解析手段324により、画像D0の瞳画像D5を用いて得られた画像D0のぶれ方向h、および画像D0全体を用いて第3の解析手段326により得られたぶれ方向hにおけるぶれ幅、および画像D0がぶれ画像であることを示す情報からなるボケ情報Q1である。
図33は、ボケ補正手段350の構成を示すブロック図である。図示のように、ボケ補正手段350は、ボケ解析手段300からのボケ情報に基づいて補正パラメータEを設定するパラメータ設定手段352と、パラメータ設定手段352のための種々のデータベースを記憶した記憶手段354と、画像D0から高周波成分を抽出する高周波数成分抽出手段356と、パラメータEを用いて高周波数成分Dhを強調して画像D0に加算することによって画像D0のボケを補正するボケ実行手段360とを有してなる。
パラメータ設定手段352は、上記1つ目のボケ情報Qを受信すると、図1に示す実施形態の画像処理システムAにおけるボケ補正手段230のパラメータ設定手段235と同じように、ボケ情報Qに含まれるボケ幅Lとボケ方向に応じて、ボケ幅Lが大きいほど補正マスクのサイズが大きくなるように、ボケ方向に作用する方向性補正用の1次元補正マスクM1を設定すると共に、ボケ幅Lに応じて、ボケ幅Lが大きいほど補正マスクのサイズが大きくなるように等方性補正用の2次元補正マスクM2を設定する。なお、各ボケ幅に対応する2次元補正マスク、および各ボケ幅とボケ方向に対応する1次元補正マスクはデータベース(マスクデータベースという)として記憶手段354に記憶されており、パラメータ設定手段352は、記憶手段354に記憶されたマスクデータベースから、ボケ幅Lとボケ方向に基づいて1次元補正マスクM1を、ボケ幅Lに基づいて2次元補正マスクM2を取得する。
次に、パラメータ設定手段352は、下記の式(3)に従って、方向性補正用の1次元補正パラメータW1および等方性補正用の2次元補正パラメータW2を設定する。
W1=N×K×M1
W2=N×(1−K)×M2 (3)
但し、W1:1次元補正パラメータ
W2:2次元補正パラメータ
N:ボケ度
K:ぶれ度
M1:1次元補正マスク
M2:2次元補正マスク
即ち、パラメータ設定手段352は、ボケ度Nが大きいほど等方性補正の強度と方向性補正の強度が強く、ぶれ度Kが大きいほど方向性補正の重みが大きくなるように補正パラメータW1とW2(合わせてパラメータEとする)を設定する。
一方、パラメータ設定手段352は、上記2つ目のボケ情報Qを受信すると、このボケ情報Qに含まれるボケ幅に応じた等方性の、ピンボケを補正するための2次元補正マスクM2を記憶手段354から読み出してピンボケ画像D0の補正パラメータEとして設定する。
また、パラメータ設定手段352は、上記3つ目のボケ情報Q1を受信すると、このボケ情報Qに含まれるぶれ幅およびぶれ方向hに応じた方向性の、ぶれを補正するための1次元補正マスクM1を記憶部354から読み出してぶれ画像D0の補正パラメータEとする。
補正実行手段360は、図1に示す実施形態の画像処理システムAにおけるボケ補正手段230の補正実行手段250と同じように、パラメータEを用いて、高周波数成分Dhを強調することによって画像D0のボケ補正を実行し、具体的には下記の式(4)に従ってボケ補正を行う。
D’=D0+E×Dh (4)
但し、D’:補正済み画像
D0:補正前の画像
E:補正パラメータ
Dh:高周波数成分
なお、ボケ補正手段350により得られた補正済み画像D’および通常画像である画像D0が、出力手段270によりプリントアウトすることによって出力される。
100 瞳検出手段
200,300 ボケ解析手段
230,350 ボケ補正手段
270 出力手段
C0 顔を識別するための特徴量
D0 デジタル写真画像
D’ 補正済み画像
H0 参照データ
E 補正パラメータ
K ぶれ度
L ボケ幅
M1 1次元補正マスク
M2 2次元補正マスク
N ボケ度
Q,Q1 ボケ情報
S エッジ特徴量
200,300 ボケ解析手段
230,350 ボケ補正手段
270 出力手段
C0 顔を識別するための特徴量
D0 デジタル写真画像
D’ 補正済み画像
H0 参照データ
E 補正パラメータ
K ぶれ度
L ボケ幅
M1 1次元補正マスク
M2 2次元補正マスク
N ボケ度
Q,Q1 ボケ情報
S エッジ特徴量
Claims (18)
- デジタル写真画像におけるボケの態様を示すボケ情報を得る画像処理方法において、
前記デジタル写真画像から、点状部を検出し、
該点状部の画像のデータを用いて前記デジタル写真画像の前記ボケ情報を求めることを特徴とする画像処理方法。 - 前記デジタル写真画像が、人物の写真画像であり、
前記点状部が、前記人物の瞳であることを特徴とする請求項1記載の画像処理方法。 - 前記デジタル写真画像が、人物の写真画像であり、
前記点状部が、前記人物の顔輪郭部分であることを特徴とする請求項1記載の画像処理方法。 - 前記ボケ情報が、前記ボケが無方向性のピンボケと有方向性のぶれとのいずれであるかと、ぶれの場合の該ぶれの方向とを示すボケ方向情報を含むものであり、
前記点状部の画像のデータを用いて前記ボケ方向情報を取得し、
ぶれであることを示す前記ボケ方向情報に基づいて、前記デジタル写真画像全体のデータを用いて該ボケ方向情報を除いた前記ボケ情報を求めることを特徴とする請求項1、2または3記載の画像処理方法。 - 前記点状部の画像に対して、複数の異なる方向毎にエッジを検出し、
各前記方向における前記エッジの特徴量を取得し、
該各方向における前記特徴量に基づいて前記ボケ方向情報を取得することを特徴とする請求項4記載の画像処理方法。 - 前記点状部の画像に対して、複数の異なる方向毎にエッジを検出し、
各前記方向における前記エッジの特徴量を取得し、
該各方向における前記特徴量に基づいて前記ボケ方向情報を取得することを特徴とする請求項4記載の画像処理方法。 - 前記ボケ情報を求めたのち、該ボケをなくすように前記デジタル写真画像を補正することを特徴とする請求項1記載の画像処理方法。
- デジタル写真画像におけるボケの態様を示すボケ情報を得る画像処理装置において、
前記デジタル写真画像から、点状部を検出する点状部検出手段と、
該点状部の画像のデータを用いて前記デジタル写真画像の前記ボケ情報を求める解析手段とを有することを特徴とする画像処理装置。 - 前記デジタル写真画像が、人物の写真画像であり、
前記点状部検出手段が、前記点状部として前記人物の瞳または顔輪郭を検出するものであることを特徴とする請求項8記載の画像処理装置。 - 前記ボケ情報が、前記ボケが無方向性のピンボケと有方向性のぶれとのいずれであるかと、ぶれの場合の該ぶれの方向とを示すボケ方向情報を含むものであり、
前記解析手段が、前記点状部の画像のデータを用いて前記ボケ方向情報を取得し、ぶれであることを示す前記ボケ方向情報に基づいて、前記デジタル写真画像全体のデータを用いて該ボケ方向情報を除いた前記ボケ情報を求めるものであることを特徴とする請求項8または9記載の画像処理装置。 - 前記解析手段が、前記点状部の画像に対して、複数の異なる方向毎にエッジを検出し、
各前記方向における前記エッジの特徴量を取得し、
該各方向における前記特徴量に基づいて前記ボケ方向情報を取得するものであることを特徴とする請求項10記載の画像処理装置。 - 前記解析手段により前記ボケ情報を求めた後、前記デジタル画像を補正する補正手段をさらに備えたことを特徴とする請求項8から11いずれか記載の画像処理装置。
- 前記補正手段が、補正する度合いを前記点状部が大きいほど大きくするものであることを特徴とする請求項12記載の画像処理装置。
- デジタル写真画像におけるボケの態様を示すボケ情報を得る処理をコンピュータに実行させるプログラムであって、
前記処理が、前記デジタル写真画像から、点状部を検出する点状部検出処理と、
該点状部の画像のデータを用いて前記デジタル写真画像の前記ボケ情報を求める解析処理とからなることを特徴とするプログラム。 - 前記デジタル写真画像が、人物の写真画像であり、
前記点状部検出処理が、前記点状部として前記人物の瞳を検出する処理であることを特徴とする請求項14記載のプログラム。 - 前記ボケ情報が、前記ボケが無方向性のピンボケと有方向性のぶれとのいずれであるかと、ぶれの場合の該ぶれの方向とを示すボケ方向情報を含むものであり、
前記解析処理が、前記点状部の画像のデータを用いて前記ボケ方向情報を取得し、ぶれであることを示す前記ボケ方向情報に基づいて、前記デジタル写真画像全体のデータを用いて該ボケ方向情報を除いた前記ボケ情報を求める処理であることを特徴とする請求項9または15記載のプログラム。 - 前記解析処理が、前記点状部の画像に対して、複数の異なる方向毎にエッジを検出し、
各前記方向における前記エッジの特徴量を取得し、
該各方向における前記特徴量に基づいて前記ボケ方向情報を取得する処理であることを特徴とする請求項16記載のプログラム。 - 前記解析処理が、前記点状部の画像に対して、複数の異なる方向毎にエッジを検出し、
各前記方向における前記エッジの特徴量を取得し、
該各方向における前記特徴量に基づいて前記ボケ方向情報を取得する処理であることを特徴とする請求項15記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005124221A JP2005332382A (ja) | 2004-04-22 | 2005-04-21 | 画像処理方法および装置並びにプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004126835 | 2004-04-22 | ||
JP2005124221A JP2005332382A (ja) | 2004-04-22 | 2005-04-21 | 画像処理方法および装置並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005332382A true JP2005332382A (ja) | 2005-12-02 |
Family
ID=35486971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005124221A Withdrawn JP2005332382A (ja) | 2004-04-22 | 2005-04-21 | 画像処理方法および装置並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005332382A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010015243A (ja) * | 2008-07-01 | 2010-01-21 | Nikon Corp | 画像復元方法、プログラムおよび画像復元装置 |
JP2010079446A (ja) * | 2008-09-24 | 2010-04-08 | Sony Corp | 電子機器、ぼけ画像選別方法及びプログラム |
JP2011523125A (ja) * | 2008-05-19 | 2011-08-04 | ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ | 画像の鮮鋭度を向上させる画像処理 |
US8068687B2 (en) | 2007-10-31 | 2011-11-29 | Kabushiki Kaisha Toshiba | Object recognizing apparatus and method |
US8861883B2 (en) | 2011-08-22 | 2014-10-14 | Fujitsu Limited | Image processing apparatus, image processing method, and storage medium storing image processing program |
-
2005
- 2005-04-21 JP JP2005124221A patent/JP2005332382A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8068687B2 (en) | 2007-10-31 | 2011-11-29 | Kabushiki Kaisha Toshiba | Object recognizing apparatus and method |
JP2011523125A (ja) * | 2008-05-19 | 2011-08-04 | ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ | 画像の鮮鋭度を向上させる画像処理 |
JP2010015243A (ja) * | 2008-07-01 | 2010-01-21 | Nikon Corp | 画像復元方法、プログラムおよび画像復元装置 |
JP2010079446A (ja) * | 2008-09-24 | 2010-04-08 | Sony Corp | 電子機器、ぼけ画像選別方法及びプログラム |
US8300972B2 (en) | 2008-09-24 | 2012-10-30 | Sony Corporation | Electronic apparatus, blur image sorting method, and program |
US8861883B2 (en) | 2011-08-22 | 2014-10-14 | Fujitsu Limited | Image processing apparatus, image processing method, and storage medium storing image processing program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050249429A1 (en) | Method, apparatus, and program for image processing | |
AU2017261537B2 (en) | Automated selection of keeper images from a burst photo captured set | |
US7720302B2 (en) | Method, apparatus and program for image processing | |
JP4772839B2 (ja) | 画像識別方法および撮像装置 | |
US8577099B2 (en) | Method, apparatus, and program for detecting facial characteristic points | |
JP4515208B2 (ja) | 画像処理方法および装置並びにプログラム | |
JP4624947B2 (ja) | 画像のトリミング方法および装置並びにプログラム | |
US9106838B2 (en) | Automatic photographing method and system thereof | |
JP2005310123A (ja) | 特定シーンの画像を選別する装置、プログラムおよびプログラムを記録した記録媒体 | |
JP4708909B2 (ja) | デジタル画像の対象物検出方法および装置並びにプログラム | |
JP2005250556A (ja) | トリミング処理方法および装置並びにプログラム | |
JP2005309560A (ja) | 画像処理方法および装置並びにプログラム | |
JP5241606B2 (ja) | オブジェクト識別装置及びオブジェクト識別方法 | |
JP2005196678A (ja) | テンプレートマッチング方法および対象画像領域抽出装置 | |
JP4647289B2 (ja) | 画像処理方法および装置並びにプログラム | |
JP2004005384A (ja) | 画像処理方法、画像処理装置、プログラム及び記録媒体、自動トリミング装置、並びに肖像写真撮影装置 | |
JP4493416B2 (ja) | 画像処理方法および装置並びにプログラム | |
JP4619762B2 (ja) | 画像処理方法および装置並びにプログラム | |
JP2005122688A (ja) | 画像処理方法および装置並びにプログラム | |
JP2005332382A (ja) | 画像処理方法および装置並びにプログラム | |
JP4510562B2 (ja) | 円中心位置検出方法および装置並びにプログラム | |
JP4510556B2 (ja) | 対象物識別装置および方法並びにプログラム | |
CN109727193B (zh) | 图像虚化方法、装置及电子设备 | |
JP2006053854A (ja) | 画像処理方法および装置並びにプログラム | |
JP4685966B2 (ja) | 画像処理方法および装置並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20061211 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080701 |