JP2006053854A - 画像処理方法および装置並びにプログラム - Google Patents

画像処理方法および装置並びにプログラム Download PDF

Info

Publication number
JP2006053854A
JP2006053854A JP2004236477A JP2004236477A JP2006053854A JP 2006053854 A JP2006053854 A JP 2006053854A JP 2004236477 A JP2004236477 A JP 2004236477A JP 2004236477 A JP2004236477 A JP 2004236477A JP 2006053854 A JP2006053854 A JP 2006053854A
Authority
JP
Japan
Prior art keywords
image
blur
partial
rotational
unit
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
Application number
JP2004236477A
Other languages
English (en)
Inventor
Tatsuya Aoyama
達也 青山
Yoshiro Kitamura
嘉郎 北村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Holdings Corp
Original Assignee
Fuji Photo Film Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Photo Film Co Ltd filed Critical Fuji Photo Film Co Ltd
Priority to JP2004236477A priority Critical patent/JP2006053854A/ja
Publication of JP2006053854A publication Critical patent/JP2006053854A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】 回転ぶれを判別する。
【解決手段】 第2の解析手段300は、ぶれ画像D0における複数の位置が異なる部位の画像を対象画像とし、各対象画像のうち、70%以上の対象画像における直線的なぶれ方向が略同じである場合において、ぶれ画像D0におけるぶれが回転ぶれではないと判別する。一方、各対象画像のうち、70%以上の対象画像における直線的なぶれの方向が、該直線的なぶれの方向を有する対象画像の位置の回転方向の変化に従ってこの回転方向またはこの回転方向の逆方向に変化する場合においては、画像D0におけるぶれが回転ぶれであると判別する。
【選択図】 図1

Description

本発明はデジタル写真画像、より具体的にはぶれ画像となるデジタル写真画像におけるぶれの方向を取得する画像処理方法および装置並びにそのためのプログラムに関するものである。
ネガフィルムやリバーサルフィルムなどの写真フィルムに記録された写真画像をスキャナーなどの読取装置で光電的に読み取って得たデジタル写真画像や、デジタルスチルカメラ(DSC)で撮像して得たデジタル写真画像などに対して、種々の画像処理を施してプリントすることが行われている。これらの画像処理の一つとして、ボケた画像(ボケ画像)からボケを取り除くボケ画像修復処理が挙げられる。
被写体を撮像して得た写真画像がぼけてしまう理由としては、焦点距離が合わないことに起因するピンボケと、撮像者の手のぶれに起因するぶれボケ(以下略してぶれという)が挙げられる。ピンボケの場合には、点像が2次元的に広がり、すなわち写真画像上における広がりが無方向性を呈することに対して、ぶれの場合には、点像がある軌跡を描き画像上に1次元的に広がり、すなわち写真画像上における広がりがある方向性を呈する。
写真画像撮像時のぶれの方向やぶれ幅などの情報が分かれば、Wienerフィルタや逆フィルタなどの復元フィルタを写真画像に適用することにより修復ができる。例えば、撮像時にぶれの方向やぶれ幅などの情報を取得することができる装置(例えば加速度センサー)を撮像装置に設け、撮像と共にぶれの方向やぶれ幅などの情報を取得し、取得された情報に基づいて修復を図る方法が広く知られている(例えば、特許文献1参照)。
また、携帯電話の急激な普及に伴って、携帯電話機の機能が向上し、その中でも携帯電話付属のデジタルカメラ(以下略した携帯カメラという)の機能の向上が注目を浴びている。近年、携帯カメラの画素数が100万の桁に上がり、携帯カメラが通常のデジタルカメラと同様な使い方がされている。友達同士で旅行に行く時の記念写真などは勿論、好きなタレント、スポーツ選手を携帯カメラで撮像する光景が日常的になっている。このような背景において、携帯カメラにより撮像して得た写真画像は、携帯電話機のモニタで鑑賞することに留まらず、例えば、通常のデジタルカメラにより取得した写真画像と同じようにプリントすることも多くなっている。
しかし、携帯カメラは、人間工学的に、本体(携帯電話機)が撮像専用に製造されていないため、撮像時のホールド性が悪いという問題がある。また、携帯カメラは、フラッシュがないため、通常のデジタルカメラよりシャッタースピードが遅い。このような理由から携帯カメラにより被写体を撮像するときに、通常のカメラより手ぶれが起きやすい。極端な手ぶれは、携帯カメラのモニタで確認することができるが、小さな手ぶれは、モニタで確認することができず、プリントして初めて画像のぶれに気付くことが多いため、携帯カメラにより撮像して得た写真画像に対してぶれの補正を施す必要性が高い。
一方、携帯電話機の小型化は、その性能、コストに並び、各携帯電話機メーカの競争の焦点の1つであり、携帯電話機付属のカメラに、ぶれの方向やぶれ幅などの情報を取得する装置を設けることが現実的ではないため、特許文献1に提案されたような方法は、携帯カメラに適用することができない。
そこで、前述したように、ぶれは画像中の点像の1次元的な広がりを引き起こすため、ぶれ画像には、点像の広がりに応じたエッジの広がりが生じる。すなわち、画像中におけるエッジの広がりの態様は画像中におけるぶれと直接関係するものである。この点に着目して、画像データを用いて、画像中におけるエッジの態様を解析することによって画像中のぶれに関する情報、例えばぶれ方向、ぶれ幅などを得る方法が考えられる。この方法を用いれば、撮像装置に特別な装置を必要とせずにぶれの情報を得ることができる。
特開2002−112099号公報
しかし、撮像時に手が直線的に動いたことに起因する直線的なぶれ(以下直線ぶれという)の場合には、画像全体においてエッジは略同じ方向に一次元に広かるため、画像全体、または画像のどの部分の画像においてもこのぶれに起因するエッジの広がり態様が同じである一方、撮像時に手が回転したことに起因する回転方向のぶれ(以下回転ぶれという)の場合には、画像中の異なる部位の画像(以下部分画像という)におけるエッジの広がり態様は、部位によって異なる。例えば、図30(a)に示す直線的な手ぶれの場合には、画像全体、および画像のいかなる部位の画像(図中では、部分画像A、B、C、Dを例示している)においても、エッジが手ぶれ方向と同じ方向dに直線的に広がるが、図30(b)に示すような回転ぶれの場合には、エッジが、各部分画像A、B、C、Dにおいて局所的にみると、夫々異なるd1方向、d2方向、d3方向、d4方向の直線的な広がりを見せるようになっている。そのため、画像全体を用いてエッジの広がり態様を解析してぶれ方向を得ようとしても得ることができず、その一方、部分画像を用いて解析するのでは、その部分の画像のエッジが局部的に直線的に広がるので、直線的なぶれ方向しか得ることができず、画像全体の正確なぶれ方向を得ることができないという問題がある。
本発明は、上記事情に鑑みてなされたものであり、画像の回転ぶれに関する情報を正確に得ることを可能とする画像処理方法および装置並びにプログラムを提供することを目的とするものである。
本発明の画像処理方法は、ぶれ画像となるデジタル写真画像の異なる部位に位置する複数の部分画像を夫々用いて、該部分画像における直線的なぶれの方向を取得し、
取得された各前記部分画像における前記直線的なぶれの方向を比較することによって、前記デジタル写真画像におけるぶれが回転ぶれであるか否かの判別を行うことを特徴とするものである。
本発明の画像処理方法は、各前記部分画像における前記直線的なぶれの方向が略同じである場合に、前記デジタル写真画像におけるぶれが回転ぶれではないように判別することができる。
ここで、本発明における「デジタル写真画像」は、デジタルカメラなどのデジタル撮像装置により得られた写真画像に限らず、プリントや、写真フィルムや、印刷物などの写真画像をスキャナなどの読取装置で光電的に読取って得た写真画像も含むものである。
本発明の画像処理方法は、前記部分画像に対して、複数の異なる方向毎にエッジを検出し、各前記方向における前記エッジの特徴量を取得し、該各方向における前記特徴量に基づいて該部分画像における前記直線的なぶれの方向を取得することが好ましい。
ここで、「エッジの特徴量」は、画像におけるエッジの広がりの態様と関係する特徴量を意味し、例えば、エッジの鮮鋭度、前記エッジの鮮鋭度の分布を含むものとすることができる。
「エッジの鮮鋭度」は、エッジの鮮鋭さを現すことができるものであれば如何なるパラメータを用いてもよく、例えば、図24のエッジプロファイルにより示されるエッジの場合、エッジ幅が大きいほどエッジの鮮鋭度が低いように、エッジ幅をエッジの鮮鋭度として用いることは勿論、エッジの明度変化の鋭さ(図24におけるプロファイル曲線の勾配)が高いほどエッジの鮮鋭度が高いように、エッジのプロファイル曲線の勾配をエッジの鮮鋭度として用いるようにしてもよい。
また、前記「複数の異なる方向」とは、ぶれの方向を特定するための方向を意味し、ぶれの方向に近い方向を含むことが必要であるため、その数が多ければ多いほど特定の精度が高いが、処理速度との兼ね合いに応じた適宜な個数、例えば、図23に示すような8方向を用いることが好ましい。
本発明の画像処理方法は、前記判別により前記ぶれが回転ぶれであると判別された前記デジタル写真画像に対して前記回転ぶれの方向を取得することが好ましく、さらに、該回転ぶれのぶれ量を求めることがより好ましい。
また、本発明の画像処理方法は、各前記部分画像における前記直線的なぶれの方向が、該直線的なぶれの方向を有する前記部分画像の位置の回転方向の変化に従って前記回転方向または前記回転方向の逆方向に変化する前記デジタル写真画像におけるぶれが回転ぶれであるように判別することができる。
本発明の画像処理方法に用いる前記部分画像として、主要被写体の領域の画像および/または点状部の画像とすることが好ましい。
本発明の画像処理方法の処理対象となる前記デジタル写真画像が、人物の写真画像である場合、前記主要被写体としては人物の顔を用いることが好ましく、前記点状部としては人物の瞳を用いることが好ましい。
さらに、本発明の画像処理方法は、前記部分画像の選出において、前記デジタル写真画像を複数の同じ大きさのブロックに分け、各前記ブロックの画像からエッジを検出し、検出された前記エッジの数が多い順に、前記ブロックの画像を前記部分画像として複数選出するようにしてもよい。
本発明の画像処理装置は、ぶれ画像となるデジタル写真画像の異なる部位に位置する複数の部分画像を夫々用いて、該部分画像における直線的なぶれの方向を取得する部分画像ぶれ方向取得手段と、
取得された各前記部分画像における前記直線的なぶれの方向を比較することによって、前記デジタル写真画像におけるぶれが回転ぶれであるか否かの判別を行う判別手段とを有してなることを特徴とするものである。
前記部分画像ぶれ方向取得手段は、前記部分画像に対して、複数の異なる方向毎にエッジを検出し、各前記方向における前記エッジの特徴量を取得し、該各方向における前記特徴量に基づいて該部分画像における前記直線的なぶれの方向を取得するものであることが好ましい。
本発明の画像処理装置は、前記判別手段により前記ぶれが回転ぶれであると判別された前記デジタル写真画像に対して前記回転ぶれの方向を含む回転ぶれ情報を取得するぶれ情報取得手段をさらに備えたことが好ましい。
また、前記回転ぶれ情報は、前記回転ぶれのぶれ量を含むことがより好ましい。
前記判別手段は、各前記部分画像における前記直線的なぶれの方向が略同じである前記デジタル写真画像におけるぶれが回転ぶれではないように判別するものとすることができる。
また、前記判別手段は、各前記部分画像における前記直線的なぶれの方向が、該直線的なぶれの方向を有する前記部分画像の位置の回転方向の変化に従って前記回転方向または前記回転方向の逆方向に変化する前記デジタル写真画像におけるぶれが回転ぶれであるように判別するものとすることができる。
前記部分画像として、主要被写体の領域の画像および/または点状部の画像を用いることが好ましい。
本発明の画像処理装置の処理対象となる前記デジタル写真画像が、人物の写真画像である場合、前記主要被写体としては人物の顔を用いることが好ましく、前記点状部としては人物の瞳を用いることが好ましい。
本発明の画像処理装置は、前記デジタル写真画像を複数の同じ大きさのブロックに分け、各前記ブロックの画像からエッジを検出し、検出された前記エッジの数が多い順に、前記ブロックの画像を前記部分画像として複数選出する部分画像選出手段をさらに備え、該部分画像選出手段により選出された部分画像を用いて前記デジタル写真画像におけるぶれが回転ぶれである否かの判別を行うものであってもよい。
本発明の画像処理方法を、コンピュータに実行させるためのプログラムとして提供してもよい。
本発明の画像処理方法および装置によれば、ぶれ画像となるデジタル写真画像の異なる部位に位置する複数の部分画像を夫々用いて、該部分画像における直線的なぶれの方向を取得する。そして、取得された各前記部分画像における前記直線的なぶれの方向を比較することによって、前記デジタル写真画像におけるぶれが回転ぶれであるか否かの判別を行う。こうすることによって、回転ぶれの場合において画像全体からぶれの方向を判別することができない問題を解消することができると共に、1つのみの部分画像を用いてぶれの方向を判別する際に局部的な直線的なぶれ方向を画像のぶれ方向として誤判別することを防ぐことができる。
また、画像中のぶれが回転ぶれであると判別した画像に対して、回転ぶれの方向およびぶれ量などのぶれ情報を取得することができ、後に正確なぶれ補正を行うことができる。
また、例えばズーム撮像などの被写界深度の浅い画像の場合には、撮像者が撮像時において人物の顔などの主要被写体に焦点を当てるので、主要被写体の領域以外の部分は元々焦点が合わず(ピンボケ)、これらの部分の画像を用いて回転ぶれの判別を行っても正確な判別ができないという問題がある。そこで、本発明においては、部分画像として主要被写体の領域の画像を用いるようにすれば、被写界深度の浅い画像の場合においても正確に回転ぶれの判別およびぶれ情報の取得をすることができる。
また、画像中において、階段部分や、カーテンや人物の衣装などの部分がグラデーションとなっている場合があり、このようなグラデーションの部分はボケていなくてもエッジが広がる態様を呈するので、グラデーションの部分の画像をぶれの判別に用いてしまうと誤判別をしてしまうという問題がある。そこで、本発明においては、画像中の例えば人物の瞳などの点状部を部分画像として用いるようにすれば、グラデーション部分がある画像に対しても正確な判別を行うことができる。
さらに、例えば図21に示す画像の例のように、点線により区切られたブロックのうち、エッジの無い例えば最も左上のブロックを見ても、画像がぶれているが否かが分からず、被写体(図21の例では花)の輪郭部分のブロックは、画像がぶれているか否かを明顕に示すことができる。本発明において、画像を複数の同じ大きさのブロック画像に分けて夫々のブロックにおけるエッジの数を取得し、エッジの数が多い順に、前記ブロックの画像を前記部分画像として複数選出するようにすれば、ぶれの正確な判別およびぶれ情報の正確な取得ができる。
以下、図面を参照して、本発明の実施形態について説明する。
図1は、本発明の画像処理方法および装置並びにそのためのプログラムの実施形態となる画像処理システムの構成を示すブロック図である。本実施形態の画像処理システムは、入力されたデジタル写真画像(以下略して画像という)からボケ情報を取得する処理を行うものであり、この処理は、補助記憶装置に読み込まれた処理プログラムをコンピュータ(たとえばパーソナルコンピュータ等)上で実行することにより実現される。また、この処理プログラムは、CD−ROM等の情報記憶媒体に記憶され、もしくはインターネット等のネットワークを介して配布され、コンピュータにインストールされることになる。
また、画像データは画像を表すものであるため、以下、特に画像と画像データの区別をせずに説明を行う。
図1に示すように、本実施形態の画像処理システムは、画像D0から瞳を検出して、複数の瞳部分の画像(以下瞳画像という)D5を得る瞳検出手段100と、瞳検出手段100により瞳が検出されなかった場合に画像D0から複数の部分画像Dbを選出する部分画像選出手段150と、瞳検出手段100により得られた複数の瞳画像D5、または部分画像選出手段150により得られた複数の部分画像Dbを用いて第1の解析を行い、画像D0がボケ画像であるか否かの判別、ボケ画像の場合にはピンボケ画像かぶれ画像かの判別を行うと共に、ピンボケ画像と判別された画像に対してはさらにピンボケ情報(その詳細については後述する)を取得する第1の解析手段200と、第1の解析手段200によりぶれ画像であると判別された画像D0に対してぶれ方向の判別を行うと共に、ぶれ情報(その詳細については後述する)を取得する第2の解析手段300と、第1の解析手段および第2の解析手段により得られた情報(ピンボケ情報またはぶれ情報)を出力する出力手段350とを備えてなる。以下、画像処理システムの各手段について説明する。
図2は、図1に示す画像処理システムにおける瞳検出手段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)を算出する投票部30と、投票部30により得られた各統合投票値のうちの最も大きい統合投票値が対応する円心座標を中心位置候補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を第1の解析手段200に出力する出力部50とを有してなる。なお、画像D0が、顔部分が含まれない画像である場合には、出力部50は、画像D0をそのまま部分画像選出手段150に出力する。
ここで、画像D0において複数の顔が識別された場合には、出力部50までの各手段は、顔毎に夫々の処理を行うものであるが、以下、説明上の便宜のため、1つの顔に対して行われる処理についてのみ説明する。
図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のデータ数を低減できる。
同様に、顔でないことが分かっている複数のサンプル画像についても、ヒストグラムが作成される。なお、顔でないことが分かっているサンプル画像については、顔であることが分かっているサンプル画像上における上記画素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値化され大きさは3値化される。本実施形態では、すべての識別ポイントを加算して、その加算値の正負によって識別を行うものとする。例えば、識別ポイントの総和が正の値である場合には写真画像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値化され大きさは3値化される。
ここで、第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をそのまま第1の解析手段200に出力するが、顔が含まれた画像D0に対しては、最終中心位置G’に基づいて、中心位置G’aを囲む所定の範囲と、G’bを囲む所定の範囲を夫々切り出して瞳画像D5(D5a,D5b)を得、この瞳画像D5を第1の解析手段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)をそのまま第1の解析手段200に出力するが、顔が含まれた画像D0に対しては、最終中心位置G’に基づいて、中心位置G’aを囲む所定の範囲と、G’bを囲む所定の範囲を夫々切り出して瞳画像D5(D5a,D5b)を得、この瞳画像D5を第1の解析手段200に出力する(S170)。
このように、図1に示す画像処理システムの瞳検出手段100から、顔が含まれていない画像D0が部分画像選出手段150に出力され、顔が含まれている画像D0の瞳画像D5が第1の解析手段200に出力される。
図20は、図1に示す画像処理システムにおける部分画像選出手段150の構成を示すブロック図である。図示のように、部分画像選出手段150は、画像D0全体からエッジを抽出するエッジ抽出手段110と、画像D0を複数例えば16個のブロックに分けると共に、ブロック毎に、エッジ抽出手段110により抽出されたエッジの数を集計するエッジ数集計手段115と、エッジ数集計手段115により得られた各ブロックのエッジ数に基づいて部分画像Dbを複数選出する選出実行手段120とを備えてなるものである。
本実施形態における選出実行手段120は、具体的には、エッジ数集計手段115により得られた各ブロックのエッジ数に基づいて、エッジ数が多い順に、エッジ数が最も多いブロックから、例えばエッジ数が5番目に多いブロックまでの画像を部分画像Dbとして選出する。ここで、選出する部分画像Dbの数が例としての5つに限られることがなく、また、選出の方法としても、個数を限定する方法に限らず、例えば所定の閾値以上のエッジ数を有するブロックの画像を全部部分画像Dbとして選出するようにしてもよい。
このように、本実施形態における部分画像選出手段150によれば、図21の画像を例にすると、端縁部のブロックや、平坦部位のブロックなどエッジ数の少ない領域、すなわちボケ(ピンボケや、ぶれ)があるとしても現れ難い領域の画像は、部分画像として抽出されることがなく、輪郭を含む領域などのエッジが集中する領域の画像は部分画像として抽出されるので、後に第1の解析手段200、第2の解析手段300による解析が効率良くかつ正確にできる。
図22は、第1の解析手段200の構成を示すブロック図である。図示のように、第1の解析手段200は、代表画像選出手段210と、エッジ検出手段212と、エッジプロファイル作成手段213と、エッジ絞込手段214と、エッジ特徴量取得手段216と、解析実行手段220と、記憶手段225と、前述各手段を制御する制御手段230とを有してなるものであり、ここで、第1の解析手段200を構成する各手段について説明する。
代表画像選出手段210は、瞳検出手段100から出力されてきた複数の瞳画像D5から代表瞳画像、または部分画像選出手段150から出力されてきた複数の部分画像Dbから代表部分画像(以下代表瞳画像および代表部分画像を代表画像Dpという)を選出するものである。具体的には、瞳画像D5の場合には、夫々の瞳画像D5が対応する顔部分の画像のうち、サイズが最も大きい顔部分の画像における瞳の部分の画像D5(左瞳または右瞳のいずれか1つであってもよく、その両方でもよい)を、部分画像Dbの場合には、エッジ数が最も多い部分画像Dbを代表画像Dpとして選出する。なお、代表瞳画像として2つの瞳画像D5が選出された場合には、この2つの代表瞳画像を合わせて代表画像Dpとする。
ここで、代表画像選出手段210は、ボケ画像であるか否かの解析を行うために適した瞳画像D5または部分画像Dbを代表画像Dpとして選出することを目的とするものであるため、上述した選択の方法以外に、例えば、瞳画像D5のうち、または部分画像Dbのうち、画像D0の中央部位に最も近いものを代表画像Dpとして選択する方法などを適用してもよい。
エッジ検出手段212、エッジプロファイル作成手段213、エッジ絞込手段214、エッジ特徴量取得手段216は、制御手段230の制御に従って、夫々の処理を代表画像Dpに対してのみ行う場合と、全ての瞳画像D5または部分画像Dbに対して夫々の処理を行う場合があるが、ここで、まず、これらの手段により処理が行われる画像を対象画像として夫々の手段の動作について説明する。
エッジ検出手段212は、まず、対象画像を用いて図23に示すような8方向毎に、所定の強度以上のエッジを検出し、これらのエッジの座標位置を得てエッジプロファイル作成手段213に出力する。
エッジプロファイル作成手段213は、エッジ検出手段212により検出された各方向毎の各々のエッジの座標位置に基づいて、対応する対象画像を用いてこれらのエッジに対して、図24に示すようなエッジプロファイルを作成してエッジ絞込手段214に出力する。
エッジ絞込手段214は、エッジプロファイル作成手段213から出力されてきたエッジのプロファイルに基づいて、複雑なプロファイル形状を有するエッジや、光源を含むエッジ(具体的には例えば一定の明度以上のエッジ)などの無効なエッジを除去し、残りのエッジのプロファイルをエッジ特徴量取得手段216に出力する。
エッジ特徴量取得手段216は、エッジ絞込手段214から出力されてきたエッジのプロファイルに基づいて、図24に示すようなエッジ幅を各エッジに対して求め、図25に示すようなエッジ幅のヒストグラムを図23に示された8つの方向毎に作成してエッジ幅と共にエッジ特徴量Sとして解析実行手段220に出力する。
エッジ検出手段212、エッジプロファイル作成手段213、エッジ絞込手段214、エッジ特徴量取得手段216は、上述した処理を夫々行うものであり、制御手段230は、まず、代表画像Dpのみを対象画像として、代表画像Dpに対する処理をこれらの各手段に行わせる。
解析実行手段220は、主として下記の4つの処理を行う。
1. 代表画像Dpに対してボケ方向、ボケ度Nを求めて、代表画像Dpがボケ画像か通常画像かを判別する。
2. 代表画像Dpがボケ画像と判別された場合、さらに代表画像Dpがピンボケ画像かぶれ画像かをさらに判別する
3. 代表画像Dpがピンボケ画像と判別された場合、ボケ幅Laを算出する。
4. 代表画像Dpがぶれ画像と判別された場合、この判別に応じて制御手段230がエッジ検出手段212、エッジプロファイル作成手段213、エッジ絞込手段214、エッジ特徴量取得手段216に夫々の処理を、代表画像Dp以外の全ての瞳画像D5または部分画像Dbに対して行わせて得た各瞳画像D5または部分画像Dbのエッジ特徴量を用いて夫々のぶれ方向hとぶれ幅Lbを算出する。
ここで、1つ目の処理から説明する。
解析実行手段220は、代表画像Dpにおけるボケ方向を求めるために、まず、図23に示す8つの方向のエッジ幅のヒストグラム(以下略してヒストグラムという)に対して、互いに直交する2つの方向を1方向組として各方向組(1−5、2−6、3−7、4−8)のヒストグラムの相関値を求める。なお、相関値は求め方によって様々な種類があり、相関値が大きければ相関が小さい種類と、相関値の大小と相関の大小とが一致する、すなわち相関値が小さければ相関が小さい種類との2種類に大きく分けることができる。本実施形態において、例として、相関値の大小と相関の大小とが一致する種類の相関値を用いる。図26に示すように、画像中にぶれがある場合には、ぶれ方向のヒストグラムと、ぶれ方向と直交する方向のヒストグラムとの相関が小さい(図26(a)参照)のに対して、ぶれと関係ない直交する方向組または画像中にぶれがない(ボケがないまたはピンボケ)場合の直交する方向組では、そのヒストグラムの相関が大きい(図26(b)参照)。本実施形態の画像処理システムにおける解析実行手段220は、このような傾向に着目し、4つの方向組に対して、各組のヒストグラムの相関値を求め、相関が最も小さい方向組の2つの方向を見付け出す。代表画像Dpにぶれがあれば、この2つの方向のうちの1つは、図23に示す8つの方向のうち、最もぶれ方向に近い方向として考えることができる。
図26(c)は、ぶれ、ピンボケ、ボケ(ピンボケおよびぶれ)なしの撮像条件で同じ被写体を撮像して得た夫々の画像に対して求められた、このぶれの方向におけるエッジ幅のヒストグラムを示している。図26(c)から分かるように、ボケのない通常画像は、最も小さい平均エッジ幅を有し、すなわち、上記において見付け出された2つの方向のうち、平均エッジ幅が大きい方は、最もぶれに近い方向のはずである。
解析実行手段220は、こうして、相関が最も小さい方向組を見付け、この方向組の2つの方向のうち、平均エッジ幅の大きい方をボケ方向とする。
次に、解析実行手段220は、代表画像のボケ度Nを求める。画像のボケ度は、画像中のボケの程度の大小を示すものであり、例えば、画像中に最もぼけている方向(ここでは上記において求められたボケ方向)の平均エッジ幅を用いてもよいが、ここでは、ボケ方向における各々のエッジのエッジ幅を用いて図27に基づいたデータベースを利用してより精度良く求める。図27は、学習用の通常画像データベースとボケ(ピンボケおよびぶれ)画像データベースを元に、画像中の最もぼけている方向(通常画像の場合には、この方向に対応する方向が望ましいが、任意の方向であってもよい)のエッジ幅分布のヒストグラムを作成し、ボケ画像における頻度と通常画像における頻度(図示縦軸)の比率を評価値(図示スコア)としてエッジ幅毎に求めて得たものである。図27に基づいて、エッジ幅とスコアとを対応付けてなるデータベース(以下スコアデータベースという)が作成され、記憶手段225に記憶されている。
解析実行手段220は、図27に基づいて作成され、記憶手段225に記憶されたスコアデータベースを参照し、代表画像Dpのボケ方向の各エッジに対して、そのエッジ幅からスコアを取得し、ボケ方向の全てのエッジのスコアの平均値を対象画像のボケ度Nとして求める。求められた代表画像のボケ度Nが所定の閾値(T1とする)より小さければ、解析実行手段220は、代表画像Dpが通常画像として判別すると共に、代表画像Dpが通常画像であるということから代表画像Dpに対応する画像D0も通常画像であると判別し、画像D0が通常画像であることを示す情報Pを出力手段350に出力することをもって、処理を終了する。
一方、代表画像Dpのボケ度Nが閾値T1以上であれば、解析実行手段220は、代表画像Dpがボケ画像であると判別し、2つ目の処理に入る。
解析実行手段220は、2つ目の処理として、まず、代表画像Dpのぶれ度Kを求める。
ボケ画像のボケにおけるぶれの程度の大小を示すぶれ度Kは、下記のような要素に基づいて求めることができる。
1.相関が最も小さい方向組(以下相関最小組)の相関値:この相関値が小さいほどぶれの程度が大きい
解析実行手段220は、この点に着目して、図28(a)に示す曲線に基づいて第1のぶれ度K1を求める。なお、図28(a)に示す曲線に応じて作成されたLUT(ルックアップテーブル)は、記憶手段225に記憶されており、解析実行手段220は、相関最小組の相関値に対応する第1のぶれ度K1を、記憶手段225から読み出すようにして第1のぶれ度K1を求める。
2.相関最小組の2つの方向のうち、平均エッジ幅が大きい方向の平均エッジ幅:この平均エッジ幅が大きいほどぶれの程度が大きい
解析実行手段220は、この点に着目して、図28(b)に示す曲線に基づいて第2のぶれ度K2を求める。なお、図28(b)に示す曲線に応じて作成されたLUT(ルックアップテーブル)は、記憶手段225に記憶されており、解析実行手段220は、相関最小組の平均エッジ幅が大きい方向の平均エッジ幅に対応する第2のぶれ度K2を、記憶手段225から読み出すようにして第2のぶれ度K2を求める。
3.相関最小組の2つの方向における夫々の平均エッジ幅の差:この差が大きいほどぶれの程度が大きい
解析実行手段220は、この点に着目して、図28(c)に示す曲線に基づいて第3のぶれ度K3を求める。なお、図28(c)に示す曲線に応じて作成されたLUT(ルックアップテーブル)は、記憶手段225に記憶されており、解析実行手段220は、相関最小組の2つの方向における夫々の平均エッジ幅の差に対応する第3のぶれ度K3を、記憶手段225から読み出すようにして第3のぶれ度K3を求める。
解析実行手段220は、このようにして第1のぶれ度K1、第2のぶれ度K2、第3のぶれ度K3を求めると共に、下記の式(2)に従って、K1、K2、K3を用いてボケ画像となる代表画像Dpのぶれ度Kを求める。

K=K1×K2×K3 (2)
但し、K:ぶれ度
K1:第1のぶれ度
K2:第2のぶれ度
K3:第3のぶれ度

解析実行手段220は、このように算出した代表画像Dpのぶれ度Kに基づいて、ぶれ度Kが所定の閾値(閾値T2)より大きい場合には、代表画像Dpがぶれ画像であると判別し、判別の結果を制御手段230に出力する一方、ぶれ度Kが閾値T2以下である場合には、代表画像Dpがピンボケ画像であると判別し、第3の処理、すなわちボケ幅Laを求める処理に進む。
本実施形態において、解析実行手段220は、ピンボケ画像であると判別された代表画像Dpに対して、代表画像Dpにおける各エッジの平均幅を算出してボケ幅Laとする。また、代表画像Dpがピンボケ画像であるということから、解析実行手段220は、代表画像Dpに対応する画像D0もピンボケ画像であると判別し、画像D0がピンボケ画像であることを示す情報と、そのボケ幅Laとからなるピンボケ情報Q0を出力手段350に出力することをもって、処理を終了する。
一方、前述したように、解析実行手段220は、代表画像Dpがぶれ画像であると判別した場合には、この判別結果を制御手段230に出力する。制御手段230は、代表画像Dpがぶれ画像であることを示す情報を受信すると、瞳画像D5のうちの、または部分画像Dbのうちの、代表画像Dpとして選出されなかった他の画像を対象画像とし、エッジ検出手段212、エッジプロファイル作成手段213、エッジ絞込手段214、エッジ特徴量取得手段216にこれらの対象画像に対して夫々の処理を行って、各々の対象画像のエッジ特徴量を得て解析実行手段220に出力する。
解析実行手段220は、第4の処理として、エッジ特徴量取得手段216から出力されてきた各々の対象画像(ここでは、代表画像Dpとして選出されなかった瞳画像D5または部分画像Db)に対して、夫々のぶれ方向hとぶれ幅Lbを求めて、代表画像Dpに対して先に求められたぶれ方向hとぶれ幅Lbと共に、情報Q1として第2の解析手段300に出力する。ここで、解析実行手段220は、各対象画像のぶれ方向を求める際には、各対象画像がぶれ画像であることを前提としているため、前述した第1の処理においてボケ方向を求めるときと同じように、まず、各対象画像に対して、図23に示す8つの方向のエッジ幅のヒストグラムに対して、互いに直交する2つの方向を1方向組として各方向組(1−5、2−6、3−7、4−8)のヒストグラムの相関値を求め、相関が最も小さい方向組の2つの方向を見付け出す。そして、この2つの方向におけるエッジの平均幅を求めて、エッジの平均幅が大きい方の方向をぶれ方向hとすると共に、ぶれ方向hにおけるエッジの平均幅をぶれ幅Lbとする。
すなわち、第2の解析手段300には、瞳検出手段100により得られた全ての瞳画像D5、または部分画像選出手段150により選出された全ての部分画像Dbのぶれ方向hとぶれ幅Lbが入力される。以下、第2の解析手段300の処理対象となる瞳画像D5または部分画像Dbを対象画像として説明を行う。
第2の解析手段300は、主として下記の3つの処理を行う。
1. 画像D0におけるぶれが回転ぶれではないことを判別する第1の判別
2. 1の第1の判別により回転ぶれではないことが判別されなかった場合において、画像D0におけるぶれが回転ぶれかであるか否かの第2の判別
3. 画像D0のぶれ方向h0とぶれ幅Lb0の取得。
まず、第1の処理について説明する。
第2の解析手段300は、第1の判別として、下記のように画像D0におけるぶれが回転ぶれではないことを判別する:所定の比率例えば70%以上の対象画像の夫々のぶれ方向hが略同じである場合において、画像D0におけるぶれが回転ぶれではないように判別する。例えば、2つの対象画像しかない場合には、この2つの対象画像における夫々のぶれ方向hが同じであるとき画像D0におけるぶれが回転ぶれではなく、3つの対象画像の場合には、この3つの対象画像における夫々のぶれ方向hが同じであるとき画像D0におけるぶれが回転ぶれではなく、4つの対象画像の場合には、この4つの対象画像のうちの3つ以上(すなわち3つまたは4つ)の対象画像における夫々のぶれ方向hが同じであるとき画像D0におけるぶれが回転ぶれではなく、5つの対象画像の場合には、この5つの対象画像のうちの4つ以上の対象画像における夫々のぶれ方向hが同じであるとき画像D0におけるぶれが回転ぶれではないように判別する。
第2の解析手段300は、ぶれが回転ぶれではないと判別した場合、この略同じであるぶれ方向hを画像D0のぶれ方向h0とすると共に、このぶれ方向h0を有する各対象画像のぶれ幅Lbの平均値を求めて画像D0のぶれ幅Lb0とし、画像D0がぶれ画像であることを示す情報と、そのぶれが回転ぶれではないことを示す情報と、ぶれ方向h0と、ぶれ幅Lb0とからなる情報をぶれ情報Q2として出力手段350に出力することをもって処理を終了する。
一方、第1の判別により、画像D0におけるぶれが回転ぶれではないとして判別されなかった場合、第2の解析手段300は、第2の処理として下記のように回転ぶれか否かの第2の判別を行う。
図29は、第2の解析手段300による第2の判別を説明するための図である。図中中心点Oは、基準点であり、点A〜Eは、基準点Oから離れた点であり、以下点A〜点Eを局部点という。基準点Oといずれかの局部点とを連接してなる直線がこの局部点の半径線といい、例えば、基準点Oと局部点Aとを連接してなる直線が、局部点Aの半径線となる。また、局部点Aにおける矢印h1により示される方向は、基準点Oから見て局部点Aの半径線の左側に向かう方向であるため、以下の説明において、方向h1が局部点Aの左側の方向という。すなわち、各局部点における方向は、該局部点の半径線の延びる方向と同じ方向を除いて、半径線の左側に向かう方向か右側に向かう方向か(左側の方向が右側の方向か)に分類することができる。
第2の解析手段300は、所定の基準点O(その詳細について後述する)に対して、各対象画像の中心位置を局部点に、各対象画像におけるぶれ方向hを夫々相対応する局部点の方向にして図29に示すような関係を得る。図中局部点A〜Eは、各対象画像の夫々の中心点である。第2の解析手段300は、各局部点における方向(すなわち、この局部点が対応する対象画像のぶれ方向)が、左側の方向か右側の方向かを確認し、所定の比率例えば70%の局部点における方向が同じ側の方向であれば、画像D0におけるぶれが、基準点Oを回転の中心とする回転ぶれであると判別する。
第2の解析手段300は、画像D0の中心点と、画像D0を上下左右4つの同じサイズのブロックに分けて得た4つの領域(左上部領域、左下部領域、右下部領域、右上部領域)の夫々の中心点と、画像D0の4つの端点(左上端点、左下端点、右下端点、右上端点)およびこの4つの端点間の中心点(画像D0の上端縁の中心点、画像D0の左端縁の中心点、画像D0の下端縁の中心点、画像D0の右端縁の中心点)計13個の点を、画像D0の中心点、領域の中心点、端点、端点間の中心点の順に、図29に示す基準点Oに設定すると共に、設定された基準点Oにおいて上述したように画像D0におけるぶれが回転ぶれであるかの判別を行う。
第2の解析手段300は、前述した順に基準点を設定して判別を行っていき、いずれか1つの基準点において画像D0におけるぶれが回転ぶれであると判別すると、他の点を基準点とする処理を中止すると共に、この基準点を、画像D0における回転ぶれの回転中心とし、各局部点のうちのいずれか1つの局部点を選択して、該局部点と基準点間の距離を算出する。また、第2の解析手段300は、画像D0におけるぶれが回転ぶれであると判別したときの前述した70%以上の局部点の方向が左側の方向か右側の方向かに基づいて、これらの局部点における方向が右側の方向であるときには回転ぶれの方向が基準点を中心とする時計回り方向(CW方向)であり、これらの局部点における方向が左側の方向であるときには回転ぶれ方向が基準点を中心とする反時計回り方向(CCW方向)であるように画像D0のぶれ方向h0を判別する。そして、第2の解析手段300は、画像D0がぶれ画像であることを示す情報と、画像D0におけるぶれが回転ぶれであることを示す情報と、回転中心の位置を示す情報と、ぶれ方向h0と、ぶれ幅Lb0(前述の選択された局部点と回転中心間の距離と、この局部点のぶれ幅Lbとからなる)とからなる情報をぶれ情報Q2として出力手段350に出力することをもって処理を終了する。
一方、上述した各点のいずれを基準点としたときにおいても、画像D0におけるぶれが回転ぶれであると判別されなかった場合、第2の解析手段300は、画像D0におけるぶれが回転ぶれではないと判別すると共に(この場合、画像D0が被写界深度の浅い画像である可能性が高い)、複数の対象画像のうち、最も画像D0の中心部に近い対象画像のぶれ方向hとぶれ幅Lbを画像D0のぶれ方向h0、ぶれ幅Lb0とし、画像D0がぶれ画像であることを示す情報と、そのぶれが回転ぶれではないことを示す情報と、ぶれ方向h0と、ぶれ幅Lb0とからなる情報をぶれ情報Q2として出力手段350に出力することをもって処理を終了する。
出力手段350は、第1の解析手段200からの情報P、ピンボケ情報Q0、または第2の解析手段300からのぶれ情報Q2を画像D0に付属させて記録媒体に記憶する。勿論、出力手段350は、これらの情報を、画像の補正を行う装置に出力したり、ネットワーク上における画像保管サーバや、画像の補正を依頼した依頼者により指定されたネットワーク上のアドレスなどに送信したりするなどのものであってもよい。
以上、本発明の望ましい実施形態について説明したが、本発明の画像処理方法および装置並びにそのためのプログラムは、上述した実施形態に限られることがなく、本発明の主旨を逸脱しない限り、様々な増減、変化を加えることができる。
例えば、本実施形態の画像処理システムは、画像D0から瞳画像を抽出して第1の解析手段200および第2の解析手段300に供するようにしているが、顔部分の画像や、他の点状部の画像や、顔部分の画像と瞳画像などの点状部との組合せなどを用いるようにしてもよい。
また、本実施形態の画像処理システムにおいて、画像D0が人物の写真画像であるか否かを知らないことを前提とし、まず画像D0から顔乃至瞳画像を検出し、検出できなかった場合においては画像をブロック分けして得たブロック画像からエッジ数の多いブロック画像を部分画像を得るようにしているが、例えば、証明写真などを処理対象とするシステムにおいては画像D0が必ず人物の写真画像であるので、図1に示す部分画像選出手段150を備えないようにしてもよい。勿論、顔乃至瞳の検出をせずに、部分画像選出手段150のみを備えるようにしてもよい。
また、本実施形態において、部分画像選出手段150は、画像を16個のブロックに分けてようにしているが、ブロックの数が16個に限られないことはいうまでもない。
また、写真画像に顔が含まれているか否かの識別も、上述した方法に限られることがなく、従来公知の種々の技術を利用することができる。
また、上述の実施形態の画像処理システムにおいて、第1の解析手段200は、相関最小組の2つの方向のうち、平均エッジ幅が大きい方向をぶれ方向としているが、例えば、相関最小組(相関値が1番目に小さい方向組)と、相関値が2番目に小さい方向組について、夫々ぶれ度を算出し、方向組の2つの方向のうち、平均エッジ幅が大きい方向をぶれ候補方向とするようにして2つの方向組からぶれ候補方向を夫々取得し、取得された2つのぶれ候補方向を、算出された2つのぶれ度に応じて、ぶれ度が大きい方向組ほど、該方向組に含まれるぶれ候補方向の重みが大きくなるように重み付けしてぶれ方向を得るようにしてもよい。この場合、ぶれ幅も、2つのぶれ候補方向における夫々の平均エッジ幅を、ぶれ度が大きい方向組ほど、該方向組に含まれるぶれ候補方向の平均エッジ幅の重みが大きくなるように重み付けしてボケ幅を得ることができる。
また、上述した実施形態において、第1の解析手段200は、図28に基づいて、前述した3つの要素に基づいてぶれ度を求めるようにしているが、ぶれ度を求める要素については増減があってもよい。例えば、前述した3つの要素のうちの2つのみを用いてもよく、要素を増やして、例えば相関最小組と、相関最小組と最も大きくずれた(図23に示す方向組の場合、45度ずれた)方向組との相関値の差も視野に入れてぶれ度を求めるようにしてもよい。
また、本実施形態の画像処理システムは、図23に示す8方向においてエッジの検出を行ってボケ画像か否か、ピンボケ画像かぶれ画像かなどの判別を行っているが、エッジを検出する方向は図23に示す8方向に限らず、より多く用いてもよい。
また、本実施形態の画像処理システムにおける第2の解析手段300は、回転ぶれであるかの識別(第2の解析手段300による第2の識別)を行う際に、前述した13個の点を夫々基準点に設定して判別を行うようにしているが、基準点は、例えばカメラの構造特性として、画像中に回転ぶれがあれば、回転の中心は画像の中心点以外の可能性がない場合に画像の中心点のみを基準点にして判別を行うように、画像D0を撮像したカメラなどの撮像装置の構造特性に基づいて変更または増減を加えるようにしてもよい。
本発明の実施形態となる画像処理システムの構成を示すブロック図 図1に示す画像処理システムにおける瞳検出手段100の構成を示すブロック図 瞳検出手段100の検出部1の構成を示すブロック図 目の位置を示す図 (a)は水平方向のエッジ検出フィルタを示す図、(b)は垂直方向のエッジ検出フィルタを示す図 勾配ベクトルの算出を説明するための図 (a)は人物の顔を示す図、(b)は(a)に示す人物の顔の目および口付近の勾配ベクトルを示す図 (a)は正規化前の勾配ベクトルの大きさのヒストグラムを示す図、(b)は正規化後の勾配ベクトルの大きさのヒストグラムを示す図、(c)は5値化した勾配ベクトルの大きさのヒストグラムを示す図、(d)は正規化後の5値化した勾配ベクトルの大きさのヒストグラムを示す図 参照データの学習に用いられる顔であることが分かっているサンプル画像の例を示す図 参照データの学習に用いられる顔であることが分かっているサンプル画像の例を示す図 顔の回転を説明するための図 参照データの学習手法を示すフローチャート 識別器の導出方法を示す図 識別対象画像の段階的な変形を説明するための図 図3に示す検出部1の処理を示すフローチャート 瞳検出手段100を説明するための図 輝度ヒストグラム 瞳検出手段100における投票部30に使用された重付け係数のテーブルの例 瞳検出手段100の処理を示すフローチャート 図1に示す画像処理システムにおける部分画像選出手段150の構成を示すブロック図 図20に示す部分画像選出手段150を説明するための画像の例を示す図 図1に示す画像処理システムにおける第1の解析手段200の構成を示すブロック図 エッジを検出する際に用いられる方向の例を示す図 エッジプロファイルを示す図 エッジ幅のヒストグラムを示す図 解析実行手段220の動作を説明するための図 ボケ度の算出を説明するための図 ぶれ度の算出を説明するための図 図1に示す画像処理システムにおける第2の解析手段300を説明するための図 画像全体におけるぶれ方向と部分画像におけるぶれ方向を説明するための図
符号の説明
1 検出部
2 特徴量算出部
4 記憶部
5 第1の識別部
6 第2の識別部
7 第1の出力部
10 トリミング部
12 グレー変換部
14 前処理部
18 2値化部
20 2値化閾値算出部
30 投票部
35 中心位置候補取得部
40 照合部
45 微調整部
50 出力部
100 瞳検出手段
110 エッジ抽出手段
115 エッジ数抽出手段
120 選出実行手段
150 部分画像選出手段
200 第1の解析手段
210 代表画像選出手段
212 エッジ検出手段
213 エッジプロファイル作成手段
214 エッジ絞込手段
216 エッジ特徴量取得手段
220 解析実行手段
225 記憶手段
230 制御手段
300 第2の解析手段
350 出力手段
C0 顔を識別するための特徴量
D0 デジタル写真画像
H0 参照データ
K ぶれ度
L ボケ幅
La ボケ幅
Lb ぶれ幅
N ボケ度
Q0 ピンボケ情報
Q1,Q2 ぶれ情報
S エッジ特徴量

Claims (30)

  1. ぶれ画像となるデジタル写真画像の異なる部位に位置する複数の部分画像を夫々用いて、該部分画像における直線的なぶれの方向を取得し、
    取得された各前記部分画像における前記直線的なぶれの方向を比較することによって、前記デジタル写真画像におけるぶれが回転ぶれであるか否かの判別を行うことを特徴とする画像処理方法。
  2. 各前記部分画像に対して、複数の異なる方向毎にエッジを検出し、
    各前記方向における前記エッジの特徴量を取得し、
    該各方向における前記特徴量に基づいて該部分画像における前記直線的なぶれの方向を取得することを特徴とする請求項1記載の画像処理方法。
  3. 前記判別により前記ぶれが回転ぶれであると判別された前記デジタル写真画像に対して前記回転ぶれの方向を取得することを特徴とする請求項1または2記載の画像処理方法。
  4. 前記回転ぶれのぶれ量を求めることを特徴とする請求項3記載の画像処理方法。
  5. 各前記部分画像における前記直線的なぶれの方向が略同じである前記デジタル写真画像におけるぶれが回転ぶれではないように判別することを特徴とする請求項1から4のいずれか1項記載の画像処理方法。
  6. 各前記部分画像における前記直線的なぶれの方向が、該直線的なぶれの方向を有する前記部分画像の位置の回転方向の変化に従って前記回転方向または前記回転方向の逆方向に変化する前記デジタル写真画像におけるぶれが回転ぶれであるように判別することを特徴とする請求項1から5のいずれか1項記載の画像処理方法。
  7. 前記部分画像が、主要被写体の領域の画像および/または点状部の画像であることを特徴とする請求項1から6のいずれか1項記載の画像処理方法。
  8. 前記デジタル写真画像が、人物の写真画像であり、
    前記主要被写体が、前記人物の顔であることを特徴とする請求項7記載の画像処理方法。
  9. 前記デジタル写真画像が、人物の写真画像であり、
    前記点状部が、前記人物の瞳であることを特徴とする請求項7または8記載の画像処理方法。
  10. 前記デジタル写真画像を複数の同じ大きさのブロックに分け、
    各前記ブロックの画像からエッジを検出し、
    検出された前記エッジの数が多い順に、前記ブロックの画像を前記部分画像として複数選出することを特徴とする請求項1から6のいずれか1項記載の画像処理方法。
  11. ぶれ画像となるデジタル写真画像の異なる部位に位置する複数の部分画像を夫々用いて、該部分画像における直線的なぶれの方向を取得する部分画像ぶれ方向取得手段と、
    取得された各前記部分画像における前記直線的なぶれの方向を比較することによって、前記デジタル写真画像におけるぶれが回転ぶれであるか否かの判別を行う判別手段とを有してなることを特徴とする画像処理装置。
  12. 前記部分画像ぶれ方向取得手段が、前記部分画像に対して、複数の異なる方向毎にエッジを検出し、
    各前記方向における前記エッジの特徴量を取得し、
    該各方向における前記特徴量に基づいて該部分画像における前記直線的なぶれの方向を取得するものであることを特徴とする請求項11のいずれか1項記載の画像処理装置。
  13. 前記判別手段により前記ぶれが回転ぶれであると判別された前記デジタル写真画像に対して前記回転ぶれの方向を含む回転ぶれ情報を取得するぶれ情報取得手段を備えたことを特徴とする請求項11または12記載の画像処理装置。
  14. 前記回転ぶれ情報が、前記回転ぶれのぶれ量を含むことを特徴とする請求項13記載の画像処理装置。
  15. 前記判別手段が、各前記部分画像における前記直線的なぶれの方向が略同じである前記デジタル写真画像におけるぶれが回転ぶれではないように判別するものであることを特徴とする請求項11から14のいずれか1項記載の画像処理装置。
  16. 前記判別手段が、各前記部分画像における前記直線的なぶれの方向が、該直線的なぶれの方向を有する前記部分画像の位置の回転方向の変化に従って前記回転方向または前記回転方向の逆方向に変化する前記デジタル写真画像におけるぶれが回転ぶれであるように判別するものであることを特徴とする請求項11から15のいずれか1項記載の画像処理装置。
  17. 前記部分画像が、主要被写体の領域の画像および/または点状部の画像であることを特徴とする請求項11から16のいずれか1項記載の画像処理装置。
  18. 前記デジタル写真画像が、人物の写真画像であり、
    前記主要被写体が、前記人物の顔であることを特徴とする請求項17記載の画像処理装置。
  19. 前記デジタル写真画像が、人物の写真画像であり、
    前記点状部が、前記人物の瞳であることを特徴とする請求項17または18記載の画像処理装置。
  20. 前記デジタル写真画像を複数の同じ大きさのブロックに分け、
    各前記ブロックの画像からエッジを検出し、
    検出された前記エッジの数が多い順に、前記ブロックの画像を前記部分画像として複数選出する部分画像選出手段をさらに備えたことを特徴とする請求項11から16のいずれか1項記載の画像処理装置。
  21. ぶれ画像となるデジタル写真画像の異なる部位に位置する複数の部分画像を夫々用いて、該部分画像における直線的なぶれの方向を取得する部分画像ぶれ方向取得処理と、
    取得された各前記部分画像における前記直線的なぶれの方向を比較することによって、前記デジタル写真画像におけるぶれが回転ぶれであるか否かの判別を行う判別処理とをコンピュータに実行させることを特徴とするプログラム。
  22. 前記部分画像ぶれ方向取得処理が、前記部分画像に対して、複数の異なる方向毎にエッジを検出し、
    各前記方向における前記エッジの特徴量を取得し、
    該各方向における前記特徴量に基づいて該部分画像における前記直線的なぶれの方向を取得する処理であることを特徴とする請求項21項記載のプログラム。
  23. 前記判別処理により前記ぶれが回転ぶれであると判別された前記デジタル写真画像に対して前記回転ぶれの方向を含む回転ぶれ情報を取得するぶれ情報取得処理をさらにコンピュータに実行させることを特徴とする請求項21または22記載のプログラム。
  24. 前記回転ぶれ情報が、前記回転ぶれのぶれ量を含むことを特徴とする請求項23記載のプログラム。
  25. 前記判別処理が、各前記部分画像における前記直線的なぶれの方向が略同じである前記デジタル写真画像におけるぶれが回転ぶれではないように判別するものであることを特徴とする請求項21から24のいずれか1項記載のプログラム。
  26. 前記判別処理が、各前記部分画像における前記直線的なぶれの方向が、該直線的なぶれの方向を有する前記部分画像の位置の回転方向の変化に従って前記回転方向または前記回転方向の逆方向に変化する前記デジタル写真画像におけるぶれが回転ぶれであるように判別するものであることを特徴とする請求項21から25のいずれか1項記載のプログラム。
  27. 前記部分画像が、主要被写体の領域の画像および/または点状部の画像であることを特徴とする請求項21から26のいずれか1項記載のプログラム。
  28. 前記デジタル写真画像が、人物の写真画像であり、
    前記主要被写体が、前記人物の顔であることを特徴とする請求項28記載のプログラム。
  29. 前記デジタル写真画像が、人物の写真画像であり、
    前記点状部が、前記人物の瞳であることを特徴とする請求項27または28記載のプログラム。
  30. 前記デジタル写真画像を複数の同じ大きさのブロックに分け、
    各前記ブロックの画像からエッジを検出し、
    検出された前記エッジの数が多い順に、前記ブロックの画像を前記部分画像として複数選出する部分画像選出処理をさらにコンピュータに行わせることを特徴とする請求項21から26のいずれか1項記載のプログラム。
JP2004236477A 2004-08-16 2004-08-16 画像処理方法および装置並びにプログラム Withdrawn JP2006053854A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004236477A JP2006053854A (ja) 2004-08-16 2004-08-16 画像処理方法および装置並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004236477A JP2006053854A (ja) 2004-08-16 2004-08-16 画像処理方法および装置並びにプログラム

Publications (1)

Publication Number Publication Date
JP2006053854A true JP2006053854A (ja) 2006-02-23

Family

ID=36031283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004236477A Withdrawn JP2006053854A (ja) 2004-08-16 2004-08-16 画像処理方法および装置並びにプログラム

Country Status (1)

Country Link
JP (1) JP2006053854A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010016470A (ja) * 2008-07-01 2010-01-21 Nikon Corp 画像復元方法、画像復元プログラム、および画像復元装置
WO2010021009A1 (ja) * 2008-08-19 2010-02-25 富士通株式会社 画像補正装置および画像補正方法
JP2013076986A (ja) * 2011-09-16 2013-04-25 Ricoh Co Ltd 画像処理装置、画像処理方法およびプログラム
JP2016530593A (ja) * 2013-06-04 2016-09-29 ペイパル インコーポレイテッド イメージの鮮明性を評価すること

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010016470A (ja) * 2008-07-01 2010-01-21 Nikon Corp 画像復元方法、画像復元プログラム、および画像復元装置
WO2010021009A1 (ja) * 2008-08-19 2010-02-25 富士通株式会社 画像補正装置および画像補正方法
US20110142363A1 (en) * 2008-08-19 2011-06-16 Fujitsu Limited Image correction apparatus and image correction method
JP5158202B2 (ja) * 2008-08-19 2013-03-06 富士通株式会社 画像補正装置および画像補正方法
US8433153B2 (en) * 2008-08-19 2013-04-30 Fujitsu Limited Image correction apparatus and image correction method
JP2013076986A (ja) * 2011-09-16 2013-04-25 Ricoh Co Ltd 画像処理装置、画像処理方法およびプログラム
JP2016530593A (ja) * 2013-06-04 2016-09-29 ペイパル インコーポレイテッド イメージの鮮明性を評価すること

Similar Documents

Publication Publication Date Title
US7720302B2 (en) Method, apparatus and program for image processing
AU2017261537B2 (en) Automated selection of keeper images from a burst photo captured set
KR101870853B1 (ko) 초점이 벗어난 상태들 하에서 객체 검출 및 인식
US20050249429A1 (en) Method, apparatus, and program for image processing
JP4611069B2 (ja) 特定シーンの画像を選別する装置、プログラムおよびプログラムを記録した記録媒体
JP2018092610A (ja) 画像認識装置、画像認識方法及びプログラム
JP4515208B2 (ja) 画像処理方法および装置並びにプログラム
JP4624947B2 (ja) 画像のトリミング方法および装置並びにプログラム
US20150189186A1 (en) Automatic photographing method and system thereof
JP2007065844A (ja) 顔検出方法および装置並びにプログラム
JP2005250556A (ja) トリミング処理方法および装置並びにプログラム
JP4757598B2 (ja) 顔検出方法および装置並びにプログラム
JP4647289B2 (ja) 画像処理方法および装置並びにプログラム
JP2010271861A (ja) オブジェクト識別装置及びオブジェクト識別方法
JP4795864B2 (ja) 特徴点検出装置および方法並びにプログラム
JP2005332382A (ja) 画像処理方法および装置並びにプログラム
JP4493416B2 (ja) 画像処理方法および装置並びにプログラム
JP2005122688A (ja) 画像処理方法および装置並びにプログラム
JP4510556B2 (ja) 対象物識別装置および方法並びにプログラム
JP4510562B2 (ja) 円中心位置検出方法および装置並びにプログラム
JP2006053854A (ja) 画像処理方法および装置並びにプログラム
JP4685965B2 (ja) 画像処理方法および装置並びにプログラム
JP2005108207A (ja) 画像処理方法および装置並びにプログラム
JP2007011935A (ja) 顔判別方法および装置並びにプログラム
JP6505069B2 (ja) 訓練画像選択装置、方法、及びプログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20061207

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071106