JP4935561B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP4935561B2
JP4935561B2 JP2007195044A JP2007195044A JP4935561B2 JP 4935561 B2 JP4935561 B2 JP 4935561B2 JP 2007195044 A JP2007195044 A JP 2007195044A JP 2007195044 A JP2007195044 A JP 2007195044A JP 4935561 B2 JP4935561 B2 JP 4935561B2
Authority
JP
Japan
Prior art keywords
image data
image
gradation value
area
value
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.)
Expired - Fee Related
Application number
JP2007195044A
Other languages
English (en)
Other versions
JP2009032018A (ja
JP2009032018A5 (ja
Inventor
宏幸 辻
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007195044A priority Critical patent/JP4935561B2/ja
Publication of JP2009032018A publication Critical patent/JP2009032018A/ja
Publication of JP2009032018A5 publication Critical patent/JP2009032018A5/ja
Application granted granted Critical
Publication of JP4935561B2 publication Critical patent/JP4935561B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Collating Specific Patterns (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Analysis (AREA)

Description

この発明は、画像中において特定の対象物が写っている領域を特定する技術に関する。
従来より、画像中に特定の物体が存在するか否かを判定する技術が存在する。そのような技術においては、検討対象の画像が暗い場合(たとえば、明度を0〜255の階調値で表したとき70以下)には、対象物の検出率が低下するという問題がある。このため、たとえば、ある従来技術においては、画像の撮像環境の照度に応じて、物体検出部における検出試行回数と検出閾値が設定される(特許文献1)。
特開2006−209227号公報
しかし、上記の従来技術においては、各照度について検出試行回数と検出閾値の組み合わせを得るために、膨大な処理を行う必要がある。
画像中において特定の対象物が写っている領域を特定する技術分野においては、上記の問題を解決するため、簡易な処理で、検出対象である画像の明るさによらず、一定以上の信頼性をもって画像中から特定の物体を検出できる技術が求められている。
本発明は、検出対象である画像の明るさによらず、一定以上の信頼性をもって画像中から特定の物体を検出することを目的とする。
上記目的を達成するために、本発明の一態様においては、画像中において所定の対象物が存在する部分を特定する際に、以下の処理を行う。
(a)所定の第1の条件が満たされた場合に、第1の画像データの少なくとも一部の数値範囲に含まれる基準階調値をより明るい色に対応する基準階調値に変換する第1の変換を行うことによって、第2の画像データを生成する。なお、基準階調値は画像データの画素の色に関する階調値である。
(b)第1の画像データの画素の色の基準階調値に基づいて、第1の画像データの画像中において、所定の対象物が存在する第1の部分を特定する。
(c)第2の画像データが生成された場合に、第2の画像データの画素の色の基準階調値に基づいて、第2の画像データの画像中において、所定の対象物が存在する第2の部分を特定する。
(d)第1の画像データの画像の第1の部分と、第2の画像データの画像の第2の部分と、に基づいて、第1の画像データの画像中において、所定の対象物が存在する部分の集合を決定する。
なお、「第1の画像データの画像の第1の部分と、第2の画像データの画像の第2の部分と、に基づいて、」決定する、とは、第2の画像データが存在しない場合については、「第1の画像データの画像の第1の部分に基づいて、」決定することを意味する。
上記のような態様とすれば、検出対象である画像の明るさによらず、一定以上の信頼性をもって画像中から特定の対象物を検出することができる。
なお、基準階調値は、画素の明度を表す階調値とすることができる。このような態様とすれば、一つの色成分を表す階調値に基づいて処理を行う場合に比べて、多くの場合、高精度に対象物の特定を行うことができる。
また、基準階調値は、画素の緑の色成分の強度を表す階調値とすることもできる。
このような態様としても、たとえば人の顔などの対象物を、他の色成分の階調値を使用する態様に比べて高精度に特定することができる。
なお、基準階調値を変換する少なくとも一部の数値範囲は、基準階調値が取りうる範囲のうち、最も暗い色に対応する基準階調値から、取りうる範囲の幅の25%までの範囲を含むことが好ましい。
このような態様とすれば、画像中において、最も暗い色の基準階調値から25%までの範囲の基準階調値を有する部分について、基準階調値をより明るい色の基準階調値に変換して、第2の部分を特定することができる。このため、画像中において対象物が暗い色で描かれている場合にも、その対象物が存在する部分を第2の部分として特定できる可能性が高い。
基準階調値を変換する際には、基準階調値を定数倍することによって、変換を行うことが好ましい。
なお、基準階調値が、他の条件が同じである場合に、基準階調値の値が小さいほど暗い色を表すものであるときには、定数は1より大きい値とすることが好ましい。そのような態様とすれば、階調値を定数倍することによって、画像中の各部分の階調値の差を拡大して、第2の部分の特定においてより対象物が特定されやすいようにすることができる。一方、基準階調値が、他の条件が同じである場合に、基準階調値の値が小さいほど明るい色を表すものであるときには、定数は1より小さい値とすることもできる。
基準階調値を変換する際には、基準階調値をガンマ変換することによって、変換を行うこともできる。このような態様においては、基準階調値を定数倍する態様に比べて、基準階調値の最小値の近傍や最大値の近傍の値を有する複数の階調値において、階調値の差がなくなってしまう可能性を少なくすることができる。このため、第2の部分を特定する際に、第2の画像データの画像全体について高精度に第2の部分を特定することができる。
なお、基準階調値が、「他の条件が同じである場合に、基準階調値の値が小さいほど暗い色を表す基準階調値」であるときには、ガンマ曲線は上に凸であることが好ましい。一方、基準階調値が、「他の条件が同じである場合に、基準階調値の値が小さいほど明るい色を表す基準階調値」であるときには、ガンマ曲線は下に凸であることが好ましい。
基準階調値を変換する際には、基準階調値を所定量だけ変更することによって、変換を行うこともできる。このような態様とすれば、画像中において、最小の基準階調値から所定の値までの範囲の基準階調値を有する部分の基準階調値を上げて、画像中において対象物が存在する第2の部分を特定することができる。このため、たとえば、画像中において対象物が、対象物の特定に失敗しやすい最大値または最小値の近傍の範囲の階調値で描かれている場合にも、その対象物を対象物の特定に失敗しやすい範囲以外の範囲の階調値で表して、第2の部分として特定することができる。
なお、改変における上記の所定量は、基準階調値が取りうる範囲の幅の10%〜40%であることが好ましい。このような態様とすれば、所定の対象物が存在する部分を特定する際に、見落としが生じやすい端の近傍の階調値を、全体に、より中央値に近く見落としが生じにくい範囲の階調値に変換することができる。
基準階調値が、「他の条件が同じである場合に、前記基準階調値の値が小さいほど暗い色を表す階調値」であるときには、以下のような態様とすることが好ましい。すなわち、第1の条件は、第1の画像データの画素の基準階調値の平均値が所定のしきい値よりも小さいことを含むことが好ましい。このような態様とすれば、第1の画像データの画像が、全体に暗い色で表される場合に、第2の画像データの生成と第2の部分の特定とが行われる。そして、第1の画像データの画像が、全体に明るい色で表される場合には、第2の画像データの生成と第2の部分の特定とが行われない。このため、対象物を特定する精度を低下させる程度を押さえつつ、全体の処理の負荷を少なくすることができる。
また、第1の条件は、第1の画像データの画像の領域を、第1の領域と、第1の領域を囲む第2の領域と、に分けたときに、第1の領域に含まれる画素の基準階調値の平均値が所定のしきい値よりも小さいことを含むことも好ましい。
このような態様とすれば、第1の画像データの画像のうち、対象物が存在する可能性が高い中央近傍の部分の画像が明るい色で表される場合には、第2の画像データの生成と第2の部分の特定とが行われない。このため、対象物を特定する精度を低下させることなく、全体の処理の負荷を低減することができる。
第1の対象物特定部は、第1の部分を特定する検出モジュールであって、あらかじめサンプル画像データを使用して学習させた第1の検出モジュールを備える態様とすることができる。また、第2の対象物特定部は、第2の部分を特定する検出モジュールであって、あらかじめサンプル画像データを使用して学習させた第2の検出モジュールを備える態様とすることができる。
なお、第1および第2の対象物特定部は、単一の構成部分とすることもでき、互いに別の構成部分とすることもできる。また、第1および第2の検出モジュールは、単一の構成部分とすることもでき、互いに別の構成部分とすることもできる。
なお、所定の対象物は人間の顔とすることができる。
第1の画像データの画像中において、所定の対象物が存在する第1の部分を特定する際には、あらかじめサンプル画像データを使用して学習させた検出モジュールを使用して第1の部分を特定することが好ましい。そして、第2の画像データの画像中において、所定の対象物が存在する第2の部分を特定する際にも、その検出モジュールを使用して第2の部分を特定することができる。
さらに、検出モジュールについては、以下の処理を行うことが好ましい。
(e)第1のサンプル画像データを準備する。
(f)所定の第2の条件が満たされた場合に、第1のサンプル画像データの画素の色に関する階調値であって少なくとも一部の数値範囲に含まれる基準階調値を、より明るい色に対応する基準階調値に変換する第2の変換を行うことによって、第2のサンプル画像データを生成する。
(g)工程(b)に先だって、第1のサンプル画像データを使用して検出モジュールに学習をさせる。
(h)第2のサンプル画像データが生成された場合に、工程(c)に先だって、第2のサンプル画像データを使用して検出モジュールに学習をさせる。
このような態様とすれば、検出モジュールが第1および第2の部分を特定する際に行われる処理と同様の階調値の改変を行って、検出モジュールを学習させることができる。このため、何らの加工を行わないサンプル画像データで学習を行わせる場合に比べて、実際の対象物の特定において精度が高くなるように効率的に検出モジュールに学習を行わせることができる。
なお、第1のサンプル画像データを複数準備する場合には、一部の第1のサンプル画像データについて、第2のサンプル画像データを生成し、他の一部の第1のサンプル画像データについて、第2のサンプル画像データを生成しないようにすることもできる。
また、基準階調値が、「他の条件が同じである場合に、前記基準階調値の値が小さいほど暗い色を表す階調値」であるときには、以下のような態様とすることが好ましい。すなわち、第2の条件は、第1のサンプル画像データの画素の基準階調値の平均値が所定のしきい値よりも小さいことを含むことが好ましい。このような態様とすれば、第1のサンプル画像データの画像が、全体に明るい色の階調値で表される場合には、第2のサンプル画像データの生成とその学習とが行われない。このため、全体として学習の処理の負荷を少なくすることができる。
第2の条件は、第1のサンプル画像データの画像の領域を、第3の領域と、第3の領域を囲む第4の領域と、に分けたときに、第3の領域に含まれる画素の集合の基準階調値の平均値が所定のしきい値よりも小さいことを含むことも好ましい。
このような態様とすれば、第1のサンプル画像データの画像のうち、対象物が存在する可能性が高い中央近傍の部分の画像が明るい色の階調値で表される場合には、第2のサンプル画像データの生成とその学習とが行われない。このため、対象物を特定するための学習の精度を低下させることなく、全体の学習の処理の負荷を低減することができる。
第2のサンプル画像データの生成における階調値変換の対象である少なくとも一部の数値範囲は、第2の画像データの生成における階調値変換の対象である少なくとも一部の数値範囲と等しいことが好ましい。このような態様とすれば、第2のサンプル画像データを使用した第2の部分の特定の精度が高くなるように、検出モジュールに学習を行わせることができる。なお、第2のサンプル画像データの生成における階調値変換の対象である少なくとも一部の数値範囲は、第2の画像データの生成における階調値変換の対象である少なくとも一部の数値範囲とを異なる範囲とすることもできる。
なお、第2のサンプル画像データを生成する際における階調値変換の対象である少なくとも一部の数値範囲は、基準階調値が取りうる範囲のうち、最も暗い色に対応する基準階調値から、取りうる範囲の幅の25%までの範囲を含むことが好ましい。このような態様とすれば、サンプル画像データの画像中において、最小の基準階調値から25%までの範囲の基準階調値を有する部分の基準階調値を上げて、学習を行うことができる。このため、サンプル画像データの画像中において対象物が暗い色で描かれている場合にも、その対象物に基づいて有効な学習を行うことができる。
第2のサンプル画像データを生成する際には、基準階調値を定数倍することによって、変換を行うことが好ましい。
また、第2のサンプル画像データを生成する際には、基準階調値をガンマ変換することによって、変換を行うことも好ましい。
さらに、第2のサンプル画像データを生成する際には、基準階調値を所定量だけ変更することによって、変換を行うことも好ましい。このような態様とすれば、サンプル画像データの画像中において、最小の基準階調値から所定の値までの範囲の基準階調値を有する部分の基準階調値を上げて、学習を行うことができる。このため、たとえば、サンプル画像データの画像中において対象物が、対象物の特定に失敗しやすい最大値または最小値の近傍の範囲の階調値で描かれている場合にも、変換によって、その対象物を対象物の特定に失敗しやすい範囲以外の範囲の階調値で表して、その対象物について有効な学習を行うことができる。
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法および画像処理装置、印刷制御方法および印刷制御装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
A.第1実施例:
A1.装置の構成:
図1は、本発明の実施例である画像処理装置の概略構成を示す説明図である。この画像処理装置は、画像データに対して所定の画像処理を行うパーソナルコンピュータ100と、パーソナルコンピュータ100に情報を入力する装置としてのキーボード120、マウス130およびCD−R/RWドライブ140と、情報を出力する装置としてのディスプレイ110、プリンタ22およびプロジェクタ32と、を備えている。コンピュータ100では、所定のオペレーティングシステムの下で、アプリケーションプログラム95が動作している。このアプリケーションプログラム95が実行されることで、コンピュータ100のCPU102は様々な機能を実現する。
画像のレタッチなどを行うアプリケーションプログラム95が実行され、キーボード120やマウス130からユーザーの指示が入力されると、CPU102は、CD−R/RWドライブ140内のCD−RWからメモリ内に画像データを読み込む。CPU102は、画像データに対して所定の画像処理を行って、ビデオドライバ91を介して画像をディスプレイ110に表示する。また、CPU102は、画像処理を行った画像データを、プリンタドライバ96を介してプリンタ22に印刷させることもできる。さらに、CPU102は、画像データを、プロジェクタ32のドライバ98を介してプロジェクタ32に投射させることもできる。
本実施例では、プリンタドライバ96が、画像データの画像中において人間の顔が存在すると思われる領域を特定する。そして、そのような領域が存在する場合には、印刷に先立って、画像データに対して、人間の顔がより美しく見えるような補正を行う。人間の顔が存在すると思われる領域が存在しない場合には、画像データに対して他の補正が行われるか、画像データに対して補正が行われない。その後、その画像データに基づいて印刷が実行される。
A2.顔領域の検出の原理:
本実施例では、画像中で人間の顔が存在する領域を特定する処理は、プリンタドライバ96のあるモジュールが実行する。このモジュールを「顔検出部962」と呼ぶ。顔検出部962については、プリンタドライバ96に実装されるのに先立って、あらかじめサンプルの画像データを使って学習が行われる。
図2は、画像データの画像中で人間の顔が存在する可能性が高いと思われる領域を特定する方法を示す図である。以下で説明する処理は、プリンタドライバ96の顔検出部962が実行する。なお、人間の顔が存在する可能性が高いと思われる領域を、本明細書では「顔領域」と表記する。
図2において、顔領域の有無の検討対象である画像PI1は、たとえば、320画素×240画素の画像である。画像PI1の画像データは、各画素の色について、明度のみの情報を有する。顔領域を特定する際には、画像の大きさ以下の大きさを有する検出窓DWで、画像データの画像PI1内における検討対象の画像領域IDWを特定し、その画像領域IDWの各画素の明度のデータを取り出す。その後、その画素の明度のデータに基づいて、その画像領域IDWに人間の顔と思われるパターンが存在するか否かが検討される。
一つの画像領域についての検討が終了すると、検出窓DWは、画像PI1内で移動される。移動は、左から右に向かって行われる(図2の矢印Ah参照)。検出窓DWが画像PI1中の右端に到達したときには、次には画像PI1中の左端であって、それまでの位置よりも下方の位置に配される。以下、同様に検出窓DWが移動される。ここでは、検出窓DWは、左右方向の一度の移動において、検出窓DWの幅Whよりも大きい距離dhだけ移動される(図2の矢印Ah参照)。また、検出窓DWは、上下方向の移動についても、検出窓DWの高さWvよりも大きい距離だけ移動される。
検出窓DWによって取り出されたデータを解析した結果、その画像領域IDWが「顔領域である」と判定することはできないが、「顔領域である可能性がある」と判定された場合には、検出窓DWは、上、下、左、右の各方向に向かって1画素分づつ、移動される(図2の矢印As参照)。そして、それぞれの位置において検出窓DW内の画像領域のデータの解析が行われる。移動後のいずれかの検出窓DW内の画像領域が「顔領域である」と判定された場合には、検出窓DWの幅(または高さ)よりも大きい距離の移動(図2の矢印Ah参照)が再開される。
一方、上、下、左、右の移動後の検出窓DW内の画像が、いずれも「顔領域である」と判定することはできないが「顔領域である可能性がある」と判定された場合には、以下の処理が行われる。すなわち、もっとも顔領域である可能性が高いと判断された位置から再び上、下、左、右の各方向に向かって1画素分づつ、検出窓DWが移動される。以下、画像PI1中の所定の範囲について同様の処理が繰り返され、もっとも顔領域である可能性が高い位置に検出窓がある状態で、最終的にその画像領域周辺に顔領域が存在するか否かが判定される。その後、検出窓DWの幅(または高さ)よりも大きい距離の移動(図2の矢印Ah参照)が再開される。
図3は、検出窓DWによって取り出されたデータの画像領域IDWが顔領域であるか否かの判定の処理を示す図である。検出窓DWによって取り出されたデータの画像領域IDWが顔領域であるか否かについては、24段階のステージ(図3中でSt1〜St24で示す)を経て判定が行われる。第1のステージSt1の判定において、画像領域のデータが所定の条件を満たした場合にのみ、次の第2のステージSt2の判定が行われる。以下、第3〜第23のステージSt3〜St23についても同様である。最終の第24のステージの判定においても条件を満たした画像領域IDWは、「顔領域である」と判定される。
また、第9のステージまでの条件を満たした画像については、「顔領域と判定することはできないが顔領域である可能性がある」と判定される。そのような場合には、上述のように、上下左右の方向に沿った1画素分の検出窓DWの移動が行われ(図2の矢印As参照)、データの解析と検出窓の移動が繰り返される。
図4は、あるステージにおける判定の処理を示す図である。各ステージ(図3参照)においては、矩形フィルタを使った判定が行われる。図4においては、矩形フィルタの例として、矩形フィルタF11,F12を示す。また、矩形フィルタが適用される画像領域IDWの画像も、矩形フィルタと重ねて表示する。図4の例では、画像領域IDWの画像は、顔の画像であるものとする。画像領域IDWの画像として、人間の顔の目と鼻と口を示す。
矩形フィルタは、20画素×20画素の大きさを有する。ここでは、説明を簡略にするために、検出窓DWによって取り出されたデータの画像領域IDWの大きさと、矩形フィルタの大きさとは、同じであるものとする。すなわち、画像領域IDWも、20画素×20画素の大きさを有する。矩形フィルタは、画像領域IDWの一部の領域(図4においてハッチを付して示す)に含まれる画素の明度の情報を取り出すために使用される。
矩形フィルタF11を使用した判定においては、まず、矩形フィルタF11を使用して、画像領域IDWのデータのうち、領域A11aの各画素の明度のデータY11aが取り出される。領域A11aは、画像領域IDWにおいて高さ方向の中央よりも上側にあって画像領域IDWの左右幅と等しい幅を有する長方形の領域である。また、同様に、矩形フィルタF11を使用して、領域A11bの各画素の明度のデータY11bも取り出される。領域A11bは、画像領域IDWにおいて高さ方向の中央よりも下側にあって画像領域IDWの左右幅と等しい幅を有する長方形の領域である。
なお、領域A11aは、画像領域IDWが顔領域である場合に、人間の目があると推定される領域である。また、領域A11bは、画像領域IDWが顔領域である場合に、人間の口があると推定される領域である(図4の上段左側参照)。
そして、領域A11aの各画素の明度Y11aの合計をα11a倍した値と(α11aは定数)、領域A11bの各画素の明度Y11bの合計をα11b倍した値と(α11bは定数)、の合計値が所定の基準値θ11よりも大きいか否かが判定される。合計値がθ11よりも大きい場合には、矩形フィルタF11を用いた判定の結果の値A11として、値D11yが返される。合計値がθ11以下である場合には、矩形フィルタF11を用いた判定の結果の値A11として、値D11nが返される(図4の上段右側参照)。値D11y,D11nは、所定の定数である。
同様に、矩形フィルタF12を使用した判定においては、矩形フィルタF12を使用して、画像領域IDWのデータのうち、領域A12aの各画素の明度のデータY12aが取り出される。領域A12aは、領域A11aの左半分の領域A11alの一部であって、領域A11alの中心を含む領域である。また、矩形フィルタF12を使用して、画像領域IDWのデータのうち、領域A12bの各画素の明度のデータY12bが取り出される。領域A12bは、領域A11aの右半分の領域A11arの一部であって、領域A11arの中心を含む領域である。
なお、領域A12aは、画像領域IDWが顔領域である場合に、人間の右目があると推定される領域である。また、領域A12bは、画像領域IDWが顔領域である場合に、人間の左目があると推定される領域である(図4の中段左側参照)。
そして、領域A12aの各画素の明度Y12aの合計をα12a倍した値と(α12aは定数)、領域A12bの各画素の明度Y12bの合計をα12b倍した値と(α12bは定数)、の合計値が所定の基準値θ12よりも大きいか否かが判定される。合計値がθ12よりも大きい場合には、矩形フィルタF12を用いた判定の結果の値A12として、値D12yが返される。合計値がθ12以下である場合には、矩形フィルタF12を用いた判定の結果の値A12として、値D12nが返される(図4の中段右側参照)。値D12y,D12nは、所定の定数である。
以上のように、一つのステージの処理において、1以上の矩形フィルタを用いた判定が行われる。そして、各矩形フィルタの判定結果の値A11,A12...の合計値が所定の基準値Θ1よりも大きいか否かが判定される(図4の下段参照)。合計値がΘ1よりも大きい場合には、画像領域IDWは、このステージの判定条件を満たしたと判定される。合計値がΘ1以下である場合には、画像領域IDWは、このステージの判定条件を満たさないと判定される。画像領域IDWが、このステージの判定条件を満たさない場合には、画像領域IDWは、顔領域ではないと判定され、処理が終了する。一方、画像領域IDWが、このステージの判定条件を満たした場合には、次のステージの判定が行われる(図3参照)。
なお、以上の処理は、複数種類の大きさの検出窓を使用して行われる。たとえば、20画素×20画素の大きさから200画素×200画素の大きさまでの複数種類の検出窓が、顔領域の検出に使用される。このため、画像中で顔が様々な大きさに描かれていても、それらを顔領域として検出することができる。なお、検出対象の画像PI1の50%以上の面積(画素数)を有する検出窓は、たとえば、証明写真のように、一つの顔が画像全体に大きく写っている場合の顔領域の認定に有効である。
なお、第1実施例においては、矩形フィルタの大きさは20画素×20画素である。このため、20画素×20画素以外の大きさの検出窓DWが使用される場合には、検出窓DWによって取り出されたデータの画像は20画素×20画素に解像度変換されて、上記の判定の対象とされる。
上記の判定は、画素の明度に基づいて行われる。各画素の明度で表される画像中において対象物は各画素の明度差で表される。すなわち、上記の判定は、画像の一部の領域(図4の領域A11a,A11b,A12a,A12b参照)と他の一部の領域の画素の明度の差に基づいて行われる。このため、全体に暗く写っている人物の顔の領域については、「顔領域である」と判定されない可能性がある。たとえば、図2に示すように、夜間にフラッシュをたいて写真が撮影された際に、手前にいる人物P1にはフラッシュの光が届き、奥にいる人物P2にはフラッシュの光が届かない場合がある。そのような場合には、上記の処理の結果、人物P1の顔の領域Af1については、「顔領域である」と判定され、一方で、人物P2の顔の領域Af2については、「顔領域である」と判定されない可能性がある(図2参照)。
一方で、光が強く当たりすぎ、顔全体が白く写っている人物の顔の領域についても、「顔領域である」と判定されない可能性がある。たとえば、夜間にフラッシュをたいて写真が撮影された場合に、奥にいる人物P2はフラッシュの光で適度に照らされ、手前にいる人物P1にはフラッシュの光が強く当たりすぎて顔全体が白くなってしまう場合がある。そのような場合には、人物P2の顔の領域Af2については、「顔領域である」と判定され、一方で、人物P1の顔の領域Af1については、「顔領域である」と判定されない可能性がある。
なお、上記の処理において、どのような矩形フィルタが使用されるかは、サンプルの画像データを用いて行われる顔検出部962の学習において、顔領域の検出に先立って、あらかじめ決定される。また、θ11,θ12,Θ1などの基準値も、顔検出部962の学習において決定される。一方、α11a,α11bなどの係数は、矩形フィルタと対応づけられて予め決定されている。すなわち、学習において、各ステージで使用される矩形フィルタが決定されると、使用される係数も同時に決定される。
A3.顔領域の検出処理:
図5は、顔検出部962の学習の際の処理を示すフローチャートである。ステップS110では、第1の学習サンプル画像データグループが準備される。第1の学習サンプル画像データグループを構成する第1の学習サンプル画像データは、たとえば20画素×20画素の画像データである。第1の学習サンプル画像データは、各画素について0〜255の階調値で表される明度のみの情報を有する。階調値0が最も暗い明度を表し、階調値255が最も明るい明度を表す。第1の学習サンプル画像データグループは、画像中に実際に顔が存在する、たとえば10000個の画像データと、画像中に顔が存在しない、たとえば20000個の画像データと、を含む。
ステップS120では、第1の学習サンプル画像データグループ中に、全画素の平均明度がThs以下のものが存在するか否かが決定される。全画素の平均明度がThs以下のもの(以下「暗サンプルデータ」と呼ぶ)が存在する場合には、処理は、ステップS130に進む。第1の学習サンプル画像データグループ中に暗サンプルデータが存在しない場合には、処理は、ステップS150に進む。Thsは、たとえば、70とすることができる。なお、第1の学習サンプル画像データグループは、その一部として、全画素の平均明度がThs以下の暗サンプルデータを含むように、予め準備されることが好ましい。
ステップS130では、第1の学習サンプル画像データグループ中の暗サンプルデータに基づいて、第2の学習サンプル画像データグループを生成する。第2の学習サンプル画像データグループを構成する第2の学習サンプル画像データは、第1の学習サンプル画像データグループの各暗サンプルデータの画素の明度をそれぞれより明るい明度に置き換えることによって生成される。
ステップS140では、第2の学習サンプル画像データグループを使用して、顔検出部962の学習が行われる。
ステップS150では、第1の学習サンプル画像データグループの第1の学習サンプル画像データのうち暗サンプルデータ以外の画像データを使用して、顔検出部962の学習が行われる。
このように、全画素の平均明度がThs(70)以下の画像データと(ステップS120〜S140参照)、全画素の平均明度がThsより大きい画像データと(ステップS150参照)、を使用して学習を行うことで、プリンタドライバ96における顔領域の検出の際の正答率を、明るい画像と暗い画像の両方について、高くすることができる。
図6は、画像データの画像中において顔が存在する領域を決定する処理を示すフローチャートである。各ステップは、プリンタドライバ96によって実行される。
まず、ステップS210で、顔領域を特定する対象となる画像データをCD−R/RWドライブ140のCD−Rから読み込んで(図1参照)、その画像データに基づいて第1の画像データを生成する。顔領域を特定する対象となる画像データ(以下、「オリジナル画像データ」ということがある)は、たとえば、2560画素×1920画素の24bitカラーの画像データである。第1の画像データは、画像のサイズが320画素×240画素である画像データである。そして、第1の画像データは、各画素について明度のみの情報を有する画像データである。
第1の画像データは、オリジナル画像データから各画素の明度の情報を取りだし、さらに解像度変換を行うことによって生成される。各画素の明度Yは、赤、緑、青の階調値をそれぞれR,G,Bとしたとき(R,G,B=0〜255)、たとえば、以下の式で得られる。
Y=0.299R+0.587G+0.114B ・・・ (1)
このように、画像の解像度を低減し、各画素の色情報を明度のみに限定することで、対象となる画像データをそのまま使用して顔領域を特定する態様に比べて、処理の負荷を軽くすることができる。なお、ステップS210の処理は、プリンタドライバ96の機能部としての第1の画像データ生成部963が実行する(図1参照)。
なお、顔領域を特定する対象となる画像データの画像PI0は、夜間にフラッシュをたいて撮影された写真画像であるものとする。第1の画像データの画像PI1は、解像度が異なる点および明度のみの画像である点以外は、オリジナル画像データの画像PI0と同じ画像である(図2参照)。画像PI1中において、手前にいる人物P1にはフラッシュの光が届いている。このため、人物P1は、画像PI1中において、ほぼ70以上の明度の濃淡で表現されている。これに対して、奥にいる人物P2にはフラッシュの光が届いていない。このため、人物P2は、画像PI1中において、ほぼ70以下の明度の濃淡で表現されている。
図6のステップS220では、第1の画像データの全画素の平均明度AYが所定のしきい値Thp以下であるか否かが決定される。平均明度AYがThp以下であるとき、処理は、ステップS230に進む。平均明度AYがThpより大きい場合には、処理は、ステップS250に進む。Thpは、たとえば、Thsと等しい値70とすることができる。ThpをThsと等しい値に設定することで、第2の学習サンプル画像データによって学習された設定(図4のD11y,Θ11などの値や選択された矩形フィルタ)を活用して、第1の画像データの画像中から高い正答率で顔領域を特定することができる。
ステップS220の処理を行うことにより、明度の平均値が70以下であり顔領域の判定に失敗する可能性が高い画像についてのみ、ステップS230,S240の処理が行われる。このため、すべての画像についてステップS230,S240の処理を行う態様に比べて、全体の処理の負担を軽くすることができる。
ステップS230では、第1の画像データに基づいて、第2の画像データを生成する。第2の画像データは、第1の画像データの画素の明度を、それぞれより明るい明度に置き換えることによって生成される。なお、ステップS220,S230の処理は、プリンタドライバ96の機能部としての第2の画像データ生成部964が実行する(図1参照)。
ステップS240では、第2の画像データに基づいて、画像中で人間の顔が存在する可能性が高いと思われる1以上の顔領域が特定される。顔領域を特定する処理の内容は、図2〜図4を使用して説明したとおりである。なお、ステップS240の処理は、プリンタドライバ96の顔検出部962の機能部としての第2の顔特定部966が実行する(図1参照)。
ステップS250では、第1の画像データに基づいて、1以上の顔領域が特定される。顔領域を特定する処理の内容は、図2〜図4を使用して説明したとおりである。なお、ステップS250の処理は、プリンタドライバ96の顔検出部962の機能部としての第1の顔特定部965が実行する(図1参照)。
ステップS260では、ステップS240で特定された顔領域と、ステップS250で特定された顔領域と、に基づいて、第1の画像データが表す画像PI1中の顔領域の集合が決定される。そして、決定された第1の画像データが表す画像PI1中の顔領域に基づいて、CD−R/RWドライブ140のCD−Rから読み込まれた画像データの画像中の顔領域が決定される。
なお、画像PI1中の顔領域の集合を決定する際には、たとえば、互いに75%以上の画素を共有するN個(Nは2以上の整数)の顔領域については、その中から一つの顔領域が選択され、他の顔領域は廃棄される。このような態様とすることで、互いに大部分が重複する顔領域が画像PI1中の複数の顔領域として決定されることを防止できる。選択される顔領域は、たとえば、その中心が、それらN個の顔領域によって共有される領域の中心と、最も近い顔領域である。なお、本実施例においては、顔領域は長方形の領域である。長方形の領域の中心は、その長方形の対角線の交点である。
ステップS260では、そのようにして選択された顔領域によって構成される顔領域の集合を、画像PI1中の顔領域の集合とする。そして、それらの顔領域に対応する、CD−Rから読み込まれた画像データの画像中の領域を、CD−Rから読み込まれた画像データの画像中の顔領域とする。なお、ステップS260の処理は、プリンタドライバ96の機能部としての合成部967が実行する(図1参照)。
このような処理を行うことで、通常の処理で特定できる顔領域については、ステップS250の処理によって特定されることができる。そして、通常の処理では顔領域の特定に失敗する可能性が高い暗い画像については、ステップS230およびS240の処理によって特定されることができる。そして、それらの顔領域集合の和集合(OR集合)を、検討対象の画像データの画像における顔領域とすることにより(ステップS260参照)、明るい画像領域の顔についても、暗い画像領域の画像についても、高い確率で顔領域として特定することができる。
A4.画像データの変換:
以下では、図6のステップS230において、第1の画像データに基づいて第2の画像データを生成する方法について説明する。図5のステップS130において、暗サンプルデータに基づいて第2の学習サンプル画像データを生成する方法も同様である。
図7は、図6のステップS230において、第1の画像データに基づいて第2の画像データを生成する方法を示すヒストグラムである。横軸は、0〜255の明度である。縦軸は、画像データにおける各明度の頻度である。図7においては、第1の画像データにおける画素の明度の分布D1と、第2の画像データにおける画素の明度の分布D2aを示す。なお、分布D2aは離散的となるが、理解を容易にするため、ここでは曲線として示す。
第2の画像データは、第1の画像データの各画素の明度を2倍の明度に置き換えることによって生成される(図7のD1,D2a参照)。その結果、第1の画像データにおいて、たとえば、0〜70の明度の範囲R1に含まれる明度Y1を有していた画素の明度は、0〜140の明度の範囲R2aに含まれる明度Y2(Y2=Y1×2)に変換される。
なお、2倍した結果、255を越えることとなる明度については、すべて255に置き換えられる。すなわち、第1の画像データの画像中において126以上の明度で表現されている部分の明度については、すべて255に置き換えられる。
このような処理を行うことで、第1の画像データの画像中において暗い色で表されている画像を、より明るく、かつ明度差の大きい画像に変換することができる(図7の範囲R1とR2a参照)。その結果、図6のステップS240において、図2〜4で説明した処理で、高い正確さで顔領域を特定することができる。
また、たとえば、第1の画像データの明度20の画素と明度30の画素との明度の差10と、第1の画像データの明度120の画素と明度130の画素との明度の差10と、は、変換後の第1の画像データにおいてもそれぞれ2倍の20となる。すなわち、等しい量の明度差は、変換後も等しい量の明度差となる。よって、第2の画像データにおいても、第1の画像データと同様に、正確に顔領域の特定を行うことができる。
なお、第1の画像データの画像中において126以上の明度で表現されている部分の明度については、明度を2倍にする上記の処理によって明度差がなくなる。よって、その部分については、図2〜4で説明した処理では、顔領域を特定することができなくなるおそれがある。しかし、図7の処理を含む図6のステップS230,S240の処理は、画像データの平均明度が70以下の場合にのみ行われる。このため、対象となる画像中において図7の処理によって明度差がなくなる部分は、大きくはない。さらに、明度が126以上の部分については、第2の画像データではなく第1の画像データに対する顔領域の特定の処理(図6のステップS250参照)によって、顔領域が特定される。このため、図7の処理を行うことによって、顔が存在する領域を顔領域として特定するのに失敗する可能性が高くなることはない。
第1実施例においては、図5のステップS130において、暗サンプルデータに基づいて第2の学習サンプル画像データを生成する際にも、同様の処理が行われる。すなわち、画像データにおける顔領域の特定の際の処理(図6のステップS230参照)と同じ処理で、暗サンプルデータが改変され、学習が行われる。このような態様とすることで、実際に行われる処理の精度が高くなるように、顔検出部962の学習を行わせることができる。
B.第2実施例:
第2実施例の画像処理装置は、図6のステップS230において、第1の画像データに基づいて第2の画像データを生成する方法、および図5のステップS130において、暗サンプルデータに基づいて第2の学習サンプル画像データを生成する方法が、第1実施例の画像処理装置とは異なる。第2実施例の画像処理装置の他の点は、第1実施例の画像処理装置と同じである。
図8は、図6のステップS230において、第1の画像データに基づいて第2の画像データを生成する際のガンマ変換の内容を示す図である。横軸は変換前の画素の明度Yiであり、縦軸は同じ画素の変換後の明度Yoである。図8のガンマ曲線は、たとえば、明度70を明度160に置き換えるガンマ曲線である。第2実施例においては、第2の画像データを生成するために、第1の画像データの各画素の明度は、図8のガンマ曲線に従って、変換される。
このような態様としても、第1の画像データの画像中において暗い色で表されている画像を、より明るく、かつ明度差の大きい画像に変換することができる(図8の範囲R1とR2b参照)。その結果、図6のステップS240において、図2〜4で説明した処理によって、高い正確さで顔領域を特定することができる。
また、第2実施例においては、図5のステップS130において、暗サンプルデータに基づいて第2の学習サンプル画像データを生成する際にも、同様の処理が行われる。すなわち、画像データにおける顔領域の特定の際の処理(図6のステップS230参照)と同じ処理で、暗サンプルデータが改変され、学習が行われる。このような態様とすることで、実際に行われる処理の精度が高くなるように、顔検出部962の学習を行わせることができる。
さらに、ガンマ曲線を使用した変換においては、第1実施例に比べて、変換前の画像データにおいて互いに異なる値を有する明度が、同じ値(たとえば最大値255)に変換されてしまう可能性が低い。このため、広い範囲の明度について、顔領域を特定することができる。
C.第3実施例:
第3実施例の画像処理装置は、図6のステップS230において、第1の画像データに基づいて第2の画像データを生成する方法、および図5のステップS130において、暗サンプルデータに基づいて第2の学習サンプル画像データを生成する方法が、第1実施例の画像処理装置とは異なる。第2実施例の画像処理装置の他の点は、第1実施例の画像処理装置と同じである。
図9は、図6のステップS230において、第1の画像データに基づいて第2の画像データを生成する方法を示すヒストグラムである。横軸は、0〜255の明度である。縦軸は、画像データにおける各明度の頻度である。図9においては、第1の画像データにおける画素の明度の分布D1と、第2の画像データにおける画素の明度の分布D2bを示す。第3実施例においては、第2の画像データを生成するために、第1の画像データの各画素の明度は、Δだけ増大される(Δは正の整数。1≦Δ<255)。Δは、たとえば、70とすることができる。なお、Δだけ増大された結果、255を越えることとなる明度については、すべて255に置き換えられる。
このような態様としても、第1の画像データの画像中において暗い色で表されている画像を、より明るい画像に変換することができる(図9の範囲R1とR2c参照)。その結果、図6のステップS240において、図2〜4で説明した処理で、高い正確さで顔領域を特定することができる。
明度70以下の範囲の明度を有する画素で描かれている画像は、他の明度範囲の明度を有する画素で描かれている画像に比べて、顔領域の特定に失敗する可能性が高い。第3実施例においては、明度70以下の範囲の明度が、明度70以上となるように改変量Δが設定されている。このため、第2の画像データについて処理を行うことで、図2〜図4の処理で高精度に顔領域を特定することができる。
また、第3実施例においては、図5のステップS130において、暗サンプルデータに基づいて第2の学習サンプル画像データを生成する際にも、同様の処理が行われる。すなわち、画像データにおける顔領域の特定の際の処理(図6のステップS230参照)と同じ処理で、暗サンプルデータが改変され、学習が行われる。このような態様とすることで、実際に行われる処理の精度が高くなるように、顔検出部962の学習を行わせることができる。
第1実施例および第2実施例では、明度の改変の前後で画素同士の明度の差が変わる。たとえば、第1実施例においては、第1の画像データの明度20の画素と明度30の画素との明度の差は10であるのに対して、第2の画像データのにおける対応する画素同士の明度の差は、20となる。このため、明度を改変されていない画像における「目」と「顔の地肌」との明度の差と、明度を改変された画像における「目」と「顔の地肌」との明度の差と、は異なる値となる可能性がある。すなわち、明るい画像と暗い画像とで顔領域の明度差の判定基準が異なる可能性がある。よって、事前に第1のサンプル画像と第2のサンプル画像とを使って顔検出部962の学習を行う際に、学習の精度が低くなるおそれがある。ガンマ曲線を使用する第2実施例の場合も同様である。
一方、第3実施例においては、画素の明度は整数Δを加えられて改変される。すなわち、明度の改変の前後で、暗い領域における画素同士の明度の差が同じ値に保持される。このため、明るい画像と暗い画像とで顔領域の明度差の判定基準が異なる可能性が少ない。よって、事前に第1のサンプル画像と第2のサンプル画像とを使って顔検出部962の学習を行う際に、学習の精度が高い。
D.第4実施例:
図10は、第4実施例における顔領域を決定する処理を示すフローチャートである。 第1実施例では、画像データの全画素の平均明度AYが所定のしきい値Thp以下である場合に(図6のステップS220参照)、第2の画像データが生成され、顔領域が特定される(同、ステップS230,S240)。第4実施例では、図10に示すように、画像データの平均明度に関する条件づけなしに第2の画像データが生成される(図10のステップS230参照)。また、第2の画像データに関する顔領域の特定と、第1の画像データに関する顔領域の特定とは、並行して行われる。その後、ステップS240で特定された顔領域と、ステップS250で特定された顔領域と、の両方を要素として含む集合をステップS260で決定する。第4実施例の他の点は、第1実施例と同じである。
第4実施例のステップS240,S250の処理は、互いに独立に実行されることができる。このため、パーソナルコンピュータ100がマルチスレッドを実行可能なCPUを備えるコンピュータである場合には、第4実施例のステップS240,S250の処理は、別個のスレッドで実行されることが好ましい。また、パーソナルコンピュータ100が複数のCPUを備えるコンピュータである場合には、第4実施例のステップS240,S250の処理は、別個のCPUで実行されることが好ましい。そのような態様とすれば、全体の処理時間を短縮することができる。
E.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
E1.変形例1:
上記実施例では、画像データは320画素×240画素の画像データに変換されて、顔領域が特定される(図6のステップS210参照)。しかし、顔領域を特定する処理の対象とする画像データは、320画素×240画素の画像データに限らず、任意の大きさおよび画素数の画像データとすることができる。ただし、顔領域を特定する処理の対象とする画像データは、一定の大きさの画像データとすることが好ましい。そのような態様とすれば、その大きさの画像データのために1種類の顔検出モジュールを用意すれば、顔領域の特定の処理を行うことができる。
また、画像データは、縮小され、画素数を少なくされてから、顔領域を特定する処理の対象とされることが好ましい。そのような態様とすれば、処理の負荷を軽減することができる。
E2.変形例2:
上記第1実施例では、画像データの全画素の平均明度AYが所定のしきい値Thp以下である場合に(図6のステップS220参照)、第2の画像データが生成され、顔領域が特定される(同、ステップS230,S240)。しかし、階調値(明度)を改変した画像データを生成し顔領域の特定を行うための条件は、他の条件とすることもできる。
たとえば、画像データの画像の領域を、画像の中心点(たとえば、長方形の画像であれば対角線の交点)を含む第1の領域と、第1の領域を囲む第2の領域と、に分けたときに、第1の領域に含まれる画素の集合の所定の色や明度の階調値の平均値に応じて、階調値を改変した画像データを生成し顔領域の特定を行うか否かを決定することとしてもよい。なお、「第2の領域が第1の領域を囲む」とは、第1の領域に含まれる任意の点が、第2の領域に含まれる2点を内分する点で表されることをいう。
また、たとえば、横軸を階調値とし、縦軸を頻度とした画像データの明度分布において、ピークとなる階調値の大きさに応じて、階調値を改変した画像データを生成し顔領域の特定を行うか否かを決定することとしてもよい。
すなわち、階調値を改変した画像データを生成し顔領域の特定を行うか否かの判断は、対象となる画像の少なくとも一部の画素の色の階調値に基づいて行うことができる。
さらに、階調値を改変した画像データを生成し顔領域の特定を行うか否かの判断は、ユーザによる所定の処理があったか否かに基づいて行うことができる。すなわち、ユーザによる所定の処理があった場合に、階調値を改変した画像データを生成し顔領域の特定を行うこととすることもできる。
階調値(明度)を改変したサンプル画像データを生成し学習を行うための条件(図5のステップS120)についても、同様である。
E3.変形例3:
上記実施例では、第2の画像データを生成するために、第1の画像データのすべての明度が変換される(図6のステップS230参照)。しかし、第1の画像データの一部の範囲の階調値(明度)についてのみ改変を行って、第2の画像データを生成することもできる。そのような態様においては、階調値が取りうる範囲のうち、少なくとも最も暗い色に対応する階調値から、階調値が取りうる範囲の幅の10%までの範囲の階調値について変換を行うことが好ましい。なお、階調値が取りうる範囲のうち、少なくとも最も暗い色に対応する階調値から、階調値が取りうる範囲の幅の20%までの範囲の階調値について変換を行うことが、より好ましい。そして、階調値が取りうる範囲のうち、少なくとも最も暗い色に対応する階調値から、階調値が取りうる範囲の幅の30%までの範囲の階調値について変換を行うことが、さらに好ましい。
E4.変形例4:
上記第1実施例では、第2の画像データを生成する際に、第1の画像データの明度が2倍される。また、第2の学習サンプル画像データを生成する際に、暗サンプルデータ(第1の学習サンプル画像データ)の明度が2倍される。しかし、階調値(明度)を定数倍する際の定数は2以外の値とすることができる。ただし、その定数は、1.5〜2.5であることが好ましく、1.8〜2.2であることがより好ましい。
E5.変形例5:
上記第2実施例では、明度が0から255で表されるという条件の下で、第2の画像データおよび第2の学習サンプル画像データを生成する際に、明度70を明度160に置き換えるガンマ変換が行われる。しかし、第2の画像データおよび第2の学習サンプル画像データを生成する際に使用されるガンマ曲線は、他の形状とすることもできる。ただし、ガンマ曲線は、明度が0(黒)から255(白)で表されるという条件の下で、明度70を明度100〜180のいずれかの明度に置き換えるガンマ曲線であることが好ましく、明度70を明度130〜170のいずれかの明度に置き換えるガンマ曲線であることがより好ましい。そして、ガンマ曲線は、明度70を明度140〜160のいずれかの明度に置き換えるガンマ曲線であることがさらに好ましい。
E6.変形例6:
上記第3実施例では、明度が0から255で表されるという条件の下で、明度の改変量Δは70に設定されている。しかし、明度の改変量Δは、たとえば60,50など、他の値に設定することができる。ただし、階調値(明度)の改変量Δは、階調値が取りうる範囲の幅の10%〜40%であることが好ましく、20%〜30%であることがより好ましい。そして、階調値の改変量Δは、階調値が取りうる範囲の幅の23%〜27%であることがさらに好ましい。画素の色の階調値に基づいて対象物が存在するか否かの判定を行う際、精度が低くなる階調値の範囲は、階調値が取りうる範囲全体に対して、通常、10%〜40%である。よって、上記のような態様とすれば、判定精度が低くなる範囲に含まれる階調値を、そのような範囲外の階調値に置き換えて判定を行うことができる。
E7.変形例7:
上記実施例および変形例では、さまざまな手法で、対象物を検出する際の画像の階調値の改変、および学習の際の画像の階調値の改変が行われる。それら、対象物を検出する際の画像の階調値の改変、および学習の際の画像の階調値の改変は、同じ条件(たとえば、画像の平均の明度についての条件)にしたがって行うか否かが決定され、かつ同じ変換(たとえば、明度を定数倍するなど)で実行されることが好ましい。そのような態様とすれば、対象物を検出する際の精度が高くなるように、効率的な学習を行うことができる。
E8.変形例8:
上記実施例では、画像中において人間の顔が存在する領域が特定される。しかし、画像中において特定される対象物は、人間の顔に限らず、他の物とすることもできる。本明細書で説明した処理は、たとえば、犬や猫などの動物の顔や、電車や蒸気機関車などの車両、自動車、建造物、花や紅葉などの植物など、様々な対象を特定する処理に適用することができる。
E9.変形例9:
上記実施例では、画像PI1中の顔領域の集合を決定する際に、互いに75%以上の画素を共有するN個(Nは2以上の整数)の顔領域については、その中から一つの顔領域が選択され、他の顔領域は廃棄される。しかし、その中から一つの顔領域が選択される複数の顔領域(以下、「候補顔領域」という)は、他の方法で定めることもできる。たとえば、複数の候補顔領域は、互いに70%以上の画素を共有する複数の顔領域とすることができる。そして、複数の候補顔領域は、互いに80%以上の画素を共有する複数の顔領域とすることがより好ましい。また、複数の候補顔領域は、互いに90%以上の画素を共有する複数の顔領域とすることがさらに好ましい。
さらに、共有する画素数以外の基準で、複数の候補顔領域を決定することもできる。ただし、互いに所定量以上の領域を共有する複数の候補顔領域については、所定の基準で、その中から一つの候補顔領域を選択して、それを画像の顔領域として決定することが好ましい。
E10.変形例10:
上記実施例では、第1の学習サンプル画像データを使った学習(図5のステップS150参照)と、明度を上げた第2の学習サンプル画像データを使った学習(同、ステップS140参照)とが行われる。そして、第1の画像データを使った顔領域の特定(図6のステップS250参照)と、明度を上げた第2の画像データを使った顔領域の特定(同、ステップS240参照)とが行われる。
しかし、第2の学習サンプル画像データは、第1の学習サンプル画像データの色の階調値(明度)を下げることによって生成することもできる。また、第2の画像データは、第1の画像データの色の階調値(明度)を下げることによって生成することもできる。そのような態様とすれば、そのままの状態では対象物全体が白く写っており階調値の差が少ない範囲についても、対象物を特定することができる。
E11.変形例11:
上記実施例では、一つの顔検出部962に対して、第1の学習サンプル画像データを使った学習(図5のステップS150参照)と、第2の学習サンプル画像データを使った学習(同、ステップS140参照)とが行われる。そして、画像データに対する顔領域の特定も、一つの顔検出部962を使用して行われる。
しかし、検出モジュールを複数用意して、それら複数の検出モジュールの一部に、第1の学習サンプル画像データを使った学習(図5のステップS150参照)を行わせ、他の一部に色の階調値(明度)を改変した第2の学習サンプル画像データを使った学習(同、ステップS140参照)を行わせることとしてもよい。
その後、第1の学習サンプル画像データを使った学習(図5のステップS150参照)を行った検出モジュールについては、第1の画像データに対する顔検出(図6のステップS240参照)を行わせることが好ましい。そして、第2の学習サンプル画像データを使った学習(同、ステップS140参照)を行った検出モジュールについては、階調値を改変した第2の画像データに対する顔検出(図6のステップS250参照)を行わせることが好ましい。
また、明度を改変する方向および程度(量)が異なる複数種類のサンプル画像データのグループを設け、それぞれのサンプル画像データのグループを使って、互いに異なる検出モジュールに学習を行わせることができる。そして、明度を改変する処理を行った画像データについて対象物の検出を行う際には、その明度を改変する方向および程度(量)と対応する方向および程度(量)で明度を改変したサンプル画像データで学習を行った検出モジュールで、その画像データについて対象物の検出を行うことが好ましい。
なお、この態様において、検出モジュールの数は、学習を行う画像のグループ(上記実施例では、第1の学習サンプル画像データグループと第2の学習サンプル画像データグループの2グループ)の数と同じであることがより好ましい。
E12.変形例12:
上記実施例では、図2〜図4に示す方法で顔領域の特定を行う。しかし、顔領域の特定は、ブースティング(たとえばAdaBoost)や、サポートベクターマシン、ニューラルネットワークなど様々な方法を使用して行うことができる。ただし、画像中の各画素の色に関する階調値の差に基づいて顔領域の特定を行う手法であることが好ましい。
E13.変形例13:
上記実施例および変形例では、画像の画素の明度に基づいて顔領域の特定(図2〜図4)、第2の画像データの生成(図6および図10のステップS230)、第2の学習サンプル画像データの生成(図5のステップS130)、さらには、第2の画像データや第2の学習サンプル画像データの生成に関する判定(図5のステップS120、S220)が行われる。しかし、それらの処理は、明度以外の階調値に基づいて行うこともできる。
たとえば、画像の画素の明度に代えて、画像の画素のグリーンの階調値に基づいて、上記各処理を行うことができる。また、画像の画素の明度に代えて、画像の画素のレッドやブルーの階調値に基づいて、上記各処理を行うことができる。さらには、画像の画素のレッド、グリーン、ブルーの階調値に基づいて得られる値に基づいて、上記各処理を行うことができる。すなわち、上記の各処理は、画像の画素の色に関する階調値に基づいて行うことができる。
また、処理に使用する画素の色に関する階調値は、画像データがあらかじめ各画素について保持している明度に関する階調値であってもよい。たとえば、JPEG画像データやYCrCb表色系の画像データが保持している輝度や明度の階調値を使用することができる。また、処理に使用する画素の色に関する階調値は、画像データが各画素について保持しているRGBなどの色成分の階調値に基づいて得られる階調値であってもよい。
E14.変形例14:
画像処理装置は、原画像データの画像中において所定の対象物が存在する部分を特定した後に、その対象物が存在する部分を表示する態様とすることもできる。そのような態様において、原画像データの画像を表示し、さらに、その画像上において、対象物が存在する部分を表示することがより好ましい。
E15.変形例15:
画像処理装置は、原画像データの画像中において所定の対象物が存在する部分を特定した後に、原画像データの画像中において所定の対象物が存在する部分の大きさに基づいて、原画像データに対して画像処理を行う態様とすることもできる。なお、原画像データの画像中に、対象物が存在する部分が複数ある場合には、画像処理の際に考慮される「対象物が存在する部分の大きさ」は、対象物が存在する複数の部分のうち最も大きい部分の大きさとすることができる。また、画像処理の際に考慮される「対象物が存在する部分の大きさ」は、対象物が存在する複数の部分の合計の大きさとすることもできる。
E16.変形例16:
上記実施例では、プリンタドライバ96が、顔領域を特定する処理を行い、その結果に基づいて画像処理を行っている。しかし、対象物を特定する処理は、他の構成が行うこともできる。対象物を特定する処理は、たとえば、パーソナルコンピュータ100のOS上で実行されるアプリケーションソフト95が実行することもでき、プリンタ22やプロジェクタ32等の出力装置が備えるCPU104,106が実行することもできる。さらに、顔領域を特定する処理は、プリンタ22やプロジェクタ32等の出力装置が備えるハードウェア回路で実行することもできる。さらには、液晶ディスプレイなどの出力装置を備えたデジタルスチルカメラが備えるCPUやハードウェア回路で実行することもできる。
すなわち、上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
このような機能を実現するコンピュータプログラムは、フロッピディスクやCD−ROM、DVD等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。ホストコンピュータは、その記録媒体からコンピュータプログラムを読み取って内部記憶装置または外部記憶装置に転送する。あるいは、通信経路を介してプログラム供給装置からホストコンピュータにコンピュータプログラムを供給するようにしてもよい。コンピュータプログラムの機能を実現する時には、内部記憶装置に格納されたコンピュータプログラムがホストコンピュータのマイクロプロセッサによって実行される。また、記録媒体に記録されたコンピュータプログラムをホストコンピュータが直接実行するようにしてもよい。
この明細書において、ホストコンピュータとは、ハードウェア装置とオペレーションシステムとを含む概念であり、オペレーションシステムの制御の下で動作するハードウェア装置を意味している。コンピュータプログラムは、このようなホストコンピュータに、上述の各部の機能を実現させる。なお、上述の機能の一部は、アプリケーションプログラムでなく、オペレーションシステムによって実現されていても良い。
なお、この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
本発明の実施例である画像処理装置の概略構成を示す説明図。 画像データの画像中で人間の顔が存在する可能性が高いと思われる領域を特定する方法を示す図。 検出窓DWによって取り出されたデータの画像領域IDWが顔領域であるか否かの判定の処理を示す図。 あるステージにおける判定の処理を示す図。 顔検出部962の学習の際の処理を示すフローチャート。 画像データの画像中において顔が存在する領域を決定する処理を示すフローチャート。 第1の画像データに基づいて第2の画像データを生成する方法を示すヒストグラム。 第1の画像データに基づいて第2の画像データを生成する際のガンマ変換の内容を示す図。 第1の画像データに基づいて第2の画像データを生成する方法を示すヒストグラム。 第4実施例における顔領域を決定する処理を示すフローチャート。
符号の説明
22…プリンタ
30…明度
32…プロジェクタ
88…ホストコンピュータ
91…ビデオドライバ
95…アプリケーションプログラム
96…プリンタドライバ
98…プロジェクタのドライバ
100…パーソナルコンピュータ
102…CPU
110…ディスプレイ
120…キーボード
130…マウス
140…R/RWドライブ
962…顔検出部
A11a,b…矩形フィルタF11を使用してデータが取り出される領域
A11al…A11aの左半分の領域
A11ar…A11bの右半分の領域
A12a,b…矩形フィルタF12を使用してデータが取り出される領域
Af1…顔が存在する領域
Af2…顔が存在する領域
Ah…検出窓DWの移動を示す矢印
As…検出窓DWの上下左右の移動を示す矢印
D1…第1の画像データにおける画素の明度の分布
D2a,b…第2の画像データにおける画素の明度の分布
D11y,n…矩形フィルタF11を使用した判定の結果を表す定数
D12y,n…矩形フィルタF11を使用した判定の結果を表す定数
DW…検出窓
F11,F12…矩形フィルタ
IDW…検出窓DWでデータを取り出される画像領域
P1…人物
P2…人物
PI1…第1の画像データの画像
R1…明度の範囲
R2a〜c…第1の画像データの画像中において範囲R1内にあった明度の範囲
St1〜St24…第1〜第24のステージ
Wh…検出窓DWの幅
Y11a…領域A11aの各画素の明度
Y11b…領域A11bの各画素の明度
Y12a…領域A12aの各画素の明度
Y12b…領域A12bの各画素の明度
Yi…変換前の明度
Yo…変換後の明度
dh…検出窓の移動距離
α11a,b…矩形フィルタに関連づけられている定数
α12a,b…矩形フィルタに関連づけられている定数

Claims (5)

  1. 画像中において人間の顔が存在する部分を特定する画像処理装置であって、
    所定の第1の条件が満たされた場合に、第1の画像データの少なくとも一部の数値範囲に含まれる基準階調値をより明るい色に対応する基準階調値に変換することによって、第2の画像データを生成する画像データ生成部であって、前記基準階調値は画像データの画素の色に関する階調値である、画像データ生成部と、
    前記第1の画像データの画素の色の基準階調値に基づいて、前記第1の画像データの画像中において、人間の顔が存在する第1の部分を特定する第1の対象物特定部と、
    前記第2の画像データの画素の色の基準階調値に基づいて、前記第2の画像データの画像中において、前記人間の顔が存在する第2の部分を特定する第2の対象物特定部と、
    前記第1の画像データの画像の第1の部分と、前記第2の画像データの画像の第2の部分と、に基づいて、前記第1の画像データの画像中において前記人間の顔が存在する部分を決定する合成部と、を備え
    前記少なくとも一部の数値範囲は、前記基準階調値が取りうる範囲のうち、最も暗い色に対応する基準階調値から、前記取りうる範囲の幅の25%までの範囲を含み、
    前記合成部は、前記人間の顔が存在する複数の前記部分であって、互いに所定量以上の領域を共有する複数の前記部分については、そのうちの一つの部分を前記人間の顔が存在する前記部分として決定し、他の部分を前記人間の顔が存在する前記部分の集合から廃棄する、画像処理装置。
  2. 請求項記載の装置であって、
    前記画像データ生成部は、前記基準階調値を定数倍することによって、前記変換を行う、装置。
  3. 請求項記載の装置であって、
    前記画像データ生成部は、前記基準階調値をガンマ変換することによって、前記変換を行う、装置。
  4. 請求項1ないし3のいずれかに記載の装置であって、
    前記基準階調値は、他の条件が同じである場合に、前記基準階調値の値が小さいほど暗い色を表す階調値であり、
    前記第1の条件は、前記第1の画像データの画素の基準階調値の平均値が所定のしきい値よりも小さいことを含む、装置。
  5. 請求項1ないし3のいずれかに記載の装置であって、
    前記基準階調値は、他の条件が同じである場合に、前記基準階調値の値が小さいほど暗い色を表す階調値であり、
    前記第1の条件は、前記第1の画像データの画像の領域を、第1の領域と、前記第1の領域を囲む第2の領域と、に分けたときに、前記第1の領域に含まれる画素の基準階調値の平均値が所定のしきい値よりも小さいことを含む、装置。
JP2007195044A 2007-07-26 2007-07-26 画像処理装置 Expired - Fee Related JP4935561B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007195044A JP4935561B2 (ja) 2007-07-26 2007-07-26 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007195044A JP4935561B2 (ja) 2007-07-26 2007-07-26 画像処理装置

Publications (3)

Publication Number Publication Date
JP2009032018A JP2009032018A (ja) 2009-02-12
JP2009032018A5 JP2009032018A5 (ja) 2010-03-25
JP4935561B2 true JP4935561B2 (ja) 2012-05-23

Family

ID=40402454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007195044A Expired - Fee Related JP4935561B2 (ja) 2007-07-26 2007-07-26 画像処理装置

Country Status (1)

Country Link
JP (1) JP4935561B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011134045A (ja) 2009-12-24 2011-07-07 Seiko Epson Corp 画像処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08202868A (ja) * 1995-01-30 1996-08-09 Konica Corp 画像処理装置
JP4376352B2 (ja) * 1999-05-12 2009-12-02 パナソニック株式会社 階調補正装置
JP4469476B2 (ja) * 2000-08-09 2010-05-26 パナソニック株式会社 眼位置検出方法および眼位置検出装置
JP2006004090A (ja) * 2004-06-16 2006-01-05 Mitsubishi Electric Corp 画像正規化装置及び画像正規化プログラム
JP2007025901A (ja) * 2005-07-13 2007-02-01 Canon Inc 画像処理装置、画像処理方法
JP2007048108A (ja) * 2005-08-11 2007-02-22 Seiko Epson Corp 画像評価システム及び画像評価方法並びに画像評価プログラム
JP4619927B2 (ja) * 2005-11-01 2011-01-26 富士フイルム株式会社 顔検出方法および装置並びにプログラム

Also Published As

Publication number Publication date
JP2009032018A (ja) 2009-02-12

Similar Documents

Publication Publication Date Title
JP4118749B2 (ja) 画像処理装置、画像処理プログラムおよび記憶媒体
JP5032911B2 (ja) 画像処理装置及び画像処理方法
JP5810628B2 (ja) 画像処理装置及び画像処理プログラム
US9930218B2 (en) Content aware improvement of captured document images
US8463038B2 (en) Image processing apparatus and method for correcting an image based upon features of the image
EP3136723A1 (en) Image processing apparatus
JP4350778B2 (ja) 画像処理装置、画像処理プログラムおよび記録媒体
US9299003B2 (en) Image processing apparatus, non-transitory computer readable medium, and image processing method
JP5782838B2 (ja) 画像処理装置及び画像処理プログラム
EP3407589B1 (en) Image processing apparatus, image processing method, and storage medium
US20030231856A1 (en) Image processor, host unit for image processing, image processing method, and computer products
JP2004336282A (ja) 画像処理装置、画像処理プログラム及び該プログラムを記録した記録媒体
JP3667181B2 (ja) 画像処理方法および画像処理装置
JP6791593B2 (ja) 認識装置、認識プログラム、及び認識方法
US20150278661A1 (en) Image processing apparatus
JP5098488B2 (ja) 画像処理装置
EP3096294B1 (en) Computer program, image processing apparatus, and method for improving quality of image data
JP4935561B2 (ja) 画像処理装置
US20190259168A1 (en) Image processing apparatus, image processing method, and storage medium
JP5067224B2 (ja) オブジェクト検出装置、オブジェクト検出方法、オブジェクト検出プログラムおよび印刷装置
JP5109518B2 (ja) 画像処理装置
JP4219577B2 (ja) 画像処理装置と画像出力装置と画像処理方法及び記憶媒体
JP6003574B2 (ja) 画像処理装置及び画像処理プログラム
US20070165284A1 (en) System and method for content based color scanning optimized enhancement using a localized approach
EP1919189B1 (en) Method and apparatus for processing digital images

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100204

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120206

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4935561

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees