JP2009258771A - 画像処理方法、画像処理装置、画像処理プログラム、撮像装置 - Google Patents
画像処理方法、画像処理装置、画像処理プログラム、撮像装置 Download PDFInfo
- Publication number
- JP2009258771A JP2009258771A JP2006215944A JP2006215944A JP2009258771A JP 2009258771 A JP2009258771 A JP 2009258771A JP 2006215944 A JP2006215944 A JP 2006215944A JP 2006215944 A JP2006215944 A JP 2006215944A JP 2009258771 A JP2009258771 A JP 2009258771A
- Authority
- JP
- Japan
- Prior art keywords
- image
- edge
- image processing
- processing method
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 52
- 238000003384 imaging method Methods 0.000 title claims description 7
- 238000012545 processing Methods 0.000 claims description 49
- 230000002093 peripheral effect Effects 0.000 claims description 26
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000000034 method Methods 0.000 abstract description 52
- 238000011156 evaluation Methods 0.000 description 21
- 230000001815 facial effect Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 15
- 238000000605 extraction Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000003708 edge detection Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 210000000887 face Anatomy 0.000 description 3
- 230000008921 facial expression Effects 0.000 description 3
- 101150112492 SUM-1 gene Proteins 0.000 description 2
- 101150096255 SUMO1 gene Proteins 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
【課題】顔画像の目などの局所的に暗い構造を、エッジとして的確に検出することができる方法を提供すること。
【解決手段】画像処理方法において、複数の画素からなる画像を取得し、取得した画像に基づき局所的に周辺より画素値がへこんでいる凹構造のエッジを検出し、検出した凹構造のエッジに基づきエッジ画像を生成する。
【選択図】図2
【解決手段】画像処理方法において、複数の画素からなる画像を取得し、取得した画像に基づき局所的に周辺より画素値がへこんでいる凹構造のエッジを検出し、検出した凹構造のエッジに基づきエッジ画像を生成する。
【選択図】図2
Description
本発明は、取得した画像においてエッジ検出を行う画像処理方法、画像処理装置、画像処理プログラム、撮像装置に関する。
デジタル画像処理において、撮影された画像の中から顔画像を検出する処理の需要は高い。例えば、デジタルカメラにおいて、検出された顔領域を好ましい色や階調に変換する処理や、ビデオ画像において、特定の人物の登場場面を抽出する処理や、監視カメラにおいて、不審者の画像を抽出する処理などがある。また、撮影された顔画像に基づいて個人を識別したり、性別や年齢や表情を推定することなども行われている。
以上のような用途で使われる顔画像判定処理において、従来、入力画像の高周波成分を抽出してエッジ画像を作成し、そのエッジ画像に対してニューラルネットワークなどの学習判別処理を施す方法が提案されている。エッジ画像を生成することにより、撮影時の照明条件の影響などの、顔画像判定処理に必要の無い画像情報を除去することができ、判定処理を効率よく施すことができる。エッジ成分を抽出する方法としては、例えば、様々な方向と周波数を持つガボールフィルタを用いることにより、入力画像のエッジ構造の方向と周波数の情報を抽出する方法などが提案されている。
しかしながら、ガボールフィルタなどの従来のエッジ抽出方法では、エッジ構造の情報を充分に抽出できるとはいえない。例えば、顔画像の目、鼻、口などの位置は周辺に比べて局所的に暗い。従って、顔画像を識別する場合、目、鼻、口に対応する位置に局所的に暗い構造があるかを知ることが重要である。また、歯を見せて笑っている顔の画像では、歯の位置が周辺に比べて局所的に明るい。従って、笑顔を識別する場合、口の位置に局所的に明るい構造があるかを知ることが重要である。
しかし、従来のエッジ抽出方法では、エッジ構造が局所的に暗い構造であるか、局所的に明るい構造であるか、あるいはそれ以外の構造であるかを識別することはできないという問題があった。
請求項1の発明は、画像処理方法に適用され、複数の画素からなる画像を取得し、取得した画像に基づき、局所的に周辺より画素値がへこんでいる凹構造のエッジを検出し、検出した凹構造のエッジに基づきエッジ画像を生成することを特徴とするものである。
請求項2の発明は、請求項1に記載の画像処理方法において、取得した画像に対して、凹構造のエッジを検出する非線形フィルタを演算することによりエッジ画像を生成することを特徴とするものである。
請求項3の発明は、請求項2に記載の画像処理方法において、非線形フィルタは、対象領域における画素値と対象領域の周辺領域における画素値の最小値との差異に基づいて演算結果を出力することを特徴とするものである。
請求項4の発明は、請求項3に記載の画像処理方法において、非線形フィルタは、対象領域における画素値の最小値と周辺領域における画素値の最小値との差異に基づいて演算結果を出力することを特徴とするものである。
請求項5の発明は、請求項4に記載の画像処理方法において、対象領域における画素値の最小値が対象領域の周辺領域における画素値の最小値より小さいとき、その差分に応じた値をそのエッジ画素の値とし、対象領域における画素値の最小値が対象領域の周辺領域における画素値の最小値より大きいとき、エッジ画素の値をゼロにクリッピング処理することを特徴とするものである。
請求項6の発明は、画像処理方法に適用され、複数の画素からなる画像を取得し、取得した画像に基づき、局所的に周辺より画素値が出っ張っている凸構造のエッジを検出し、検出した凸構造のエッジに基づきエッジ画像を生成することを特徴とするものである。
請求項7の発明は、請求項6に記載の画像処理方法において、取得した画像に対して、凸構造のエッジを検出する非線形フィルタを演算することによりエッジ画像を生成することを特徴とするものである。
請求項8の発明は、請求項7に記載の画像処理方法において、非線形フィルタは、対象領域における画素値と対象領域の周辺領域における画素値の最大値との差異に基づいて演算結果を出力することを特徴とするものである。
請求項9の発明は、請求項8に記載の画像処理方法において、非線形フィルタは、対象領域における画素値の最大値と周辺領域における画素値の最大値との差異に基づいて演算結果を出力することを特徴とするものである。
請求項10の発明は、請求項8に記載の画像処理方法において、対象領域における画素値の最大値が対象領域の周辺領域における画素値の最大値より大きいとき、その差分に応じた値をそのエッジ画素の値とし、対象領域における画素値の最大値が対象領域の周辺領域における画素値の最大値より小さいとき、エッジ画素の値をゼロにクリッピング処理することを特徴とするものである。
請求項11の発明は、請求項1から10のいずれかに記載の画像処理方法において、取得した画像に基づき、輝度成分による輝度画像を生成し、生成した輝度画像を使用して、エッジ画像を生成することを特徴とするものである。
請求項12の発明は、請求項3から5、8から10のいずれかに記載の画像処理方法において、対象領域は対象画素のみの1画素あるいは対象画素とその隣接画素の2画素の領域であり、周辺領域は対象領域の外側両サイドに位置する2画素の領域であることを特徴とするものである。
請求項13の発明は、請求項2から5、7から10のいずれかに記載の画像処理方法おいて、非線形フィルタを、少なくとも2通りの方向に演算することを特徴とするものである。
請求項14の発明は、画像処理方法に適用され、複数の画素からなる画像を取得し、取得した画像に基づき、局所的に周辺より画素値がへこんでいる凹構造のエッジと出っ張っている凸構造のエッジとを検出し、検出した凹構造のエッジに基づき凹構造のエッジ画像を生成し、検出した凸構造のエッジに基づき凸構造のエッジ画像を生成することを特徴とするものである。
請求項15の発明は、画像処理方法に適用され、複数の画素からなる画像を取得し、取得した画像に基づき、局所的に周辺より画素値がへこんでいる凹構造のエッジと出っ張っている凸構造のエッジとを検出し、検出した凹構造のエッジと凸構造のエッジとに基づき、凹構造のエッジと凸構造のエッジの両方を含むエッジ画像を生成することを特徴とするものである。
請求項16の発明は、画像処理方法に適用され、複数の画素からなる画像を取得し、取得した画像のエッジ成分を検出し、検出したエッジ成分に対してガンマ変換を施し、ガンマ変換されたエッジ成分によるエッジ画像を生成することを特徴とするものである。
請求項17の発明は、請求項1〜16のいずれかに記載の画像処理方法おいて、生成したエッジ画像を使用して顔の画像を検出することを特徴とするものである。
請求項18の発明は、画像処理プログラムに適用され、請求項1から17のいずれかに記載の画像処理方法をコンピュータに実行させる画像処理プログラムとするものである。
請求項19の発明は、画像処理装置に適用され、請求項18に記載の画像処理プログラムを搭載する画像処理装置とするものである。
請求項20の発明は、撮像装置に適用され、請求項18に記載の画像処理プログラムを搭載する撮像装置とするものである。
請求項2の発明は、請求項1に記載の画像処理方法において、取得した画像に対して、凹構造のエッジを検出する非線形フィルタを演算することによりエッジ画像を生成することを特徴とするものである。
請求項3の発明は、請求項2に記載の画像処理方法において、非線形フィルタは、対象領域における画素値と対象領域の周辺領域における画素値の最小値との差異に基づいて演算結果を出力することを特徴とするものである。
請求項4の発明は、請求項3に記載の画像処理方法において、非線形フィルタは、対象領域における画素値の最小値と周辺領域における画素値の最小値との差異に基づいて演算結果を出力することを特徴とするものである。
請求項5の発明は、請求項4に記載の画像処理方法において、対象領域における画素値の最小値が対象領域の周辺領域における画素値の最小値より小さいとき、その差分に応じた値をそのエッジ画素の値とし、対象領域における画素値の最小値が対象領域の周辺領域における画素値の最小値より大きいとき、エッジ画素の値をゼロにクリッピング処理することを特徴とするものである。
請求項6の発明は、画像処理方法に適用され、複数の画素からなる画像を取得し、取得した画像に基づき、局所的に周辺より画素値が出っ張っている凸構造のエッジを検出し、検出した凸構造のエッジに基づきエッジ画像を生成することを特徴とするものである。
請求項7の発明は、請求項6に記載の画像処理方法において、取得した画像に対して、凸構造のエッジを検出する非線形フィルタを演算することによりエッジ画像を生成することを特徴とするものである。
請求項8の発明は、請求項7に記載の画像処理方法において、非線形フィルタは、対象領域における画素値と対象領域の周辺領域における画素値の最大値との差異に基づいて演算結果を出力することを特徴とするものである。
請求項9の発明は、請求項8に記載の画像処理方法において、非線形フィルタは、対象領域における画素値の最大値と周辺領域における画素値の最大値との差異に基づいて演算結果を出力することを特徴とするものである。
請求項10の発明は、請求項8に記載の画像処理方法において、対象領域における画素値の最大値が対象領域の周辺領域における画素値の最大値より大きいとき、その差分に応じた値をそのエッジ画素の値とし、対象領域における画素値の最大値が対象領域の周辺領域における画素値の最大値より小さいとき、エッジ画素の値をゼロにクリッピング処理することを特徴とするものである。
請求項11の発明は、請求項1から10のいずれかに記載の画像処理方法において、取得した画像に基づき、輝度成分による輝度画像を生成し、生成した輝度画像を使用して、エッジ画像を生成することを特徴とするものである。
請求項12の発明は、請求項3から5、8から10のいずれかに記載の画像処理方法において、対象領域は対象画素のみの1画素あるいは対象画素とその隣接画素の2画素の領域であり、周辺領域は対象領域の外側両サイドに位置する2画素の領域であることを特徴とするものである。
請求項13の発明は、請求項2から5、7から10のいずれかに記載の画像処理方法おいて、非線形フィルタを、少なくとも2通りの方向に演算することを特徴とするものである。
請求項14の発明は、画像処理方法に適用され、複数の画素からなる画像を取得し、取得した画像に基づき、局所的に周辺より画素値がへこんでいる凹構造のエッジと出っ張っている凸構造のエッジとを検出し、検出した凹構造のエッジに基づき凹構造のエッジ画像を生成し、検出した凸構造のエッジに基づき凸構造のエッジ画像を生成することを特徴とするものである。
請求項15の発明は、画像処理方法に適用され、複数の画素からなる画像を取得し、取得した画像に基づき、局所的に周辺より画素値がへこんでいる凹構造のエッジと出っ張っている凸構造のエッジとを検出し、検出した凹構造のエッジと凸構造のエッジとに基づき、凹構造のエッジと凸構造のエッジの両方を含むエッジ画像を生成することを特徴とするものである。
請求項16の発明は、画像処理方法に適用され、複数の画素からなる画像を取得し、取得した画像のエッジ成分を検出し、検出したエッジ成分に対してガンマ変換を施し、ガンマ変換されたエッジ成分によるエッジ画像を生成することを特徴とするものである。
請求項17の発明は、請求項1〜16のいずれかに記載の画像処理方法おいて、生成したエッジ画像を使用して顔の画像を検出することを特徴とするものである。
請求項18の発明は、画像処理プログラムに適用され、請求項1から17のいずれかに記載の画像処理方法をコンピュータに実行させる画像処理プログラムとするものである。
請求項19の発明は、画像処理装置に適用され、請求項18に記載の画像処理プログラムを搭載する画像処理装置とするものである。
請求項20の発明は、撮像装置に適用され、請求項18に記載の画像処理プログラムを搭載する撮像装置とするものである。
本発明は以上のように構成しているので、エッジを的確に検出することができる。例えば、請求項1では凹構造のエッジを検出しているので、顔画像の目などの局所的に暗い構造を、エッジとして的確に検出することができる。
−第1の実施の形態−
図1は、本発明の一実施の形態である画像処理装置を示す図である。画像処理装置は、パーソナルコンピュータ1で実現される。パーソナルコンピュータ1は、デジタルカメラ2、CD−ROMなどの記録媒体3、他のコンピュータ4などと接続され、各種の画像(画像データ)の提供を受ける。パーソナルコンピュータ1は、提供された画像に対して、以下に説明する画像処理を行う。コンピュータ4は、インターネットやその他の電気通信回線5を経由して接続される。
図1は、本発明の一実施の形態である画像処理装置を示す図である。画像処理装置は、パーソナルコンピュータ1で実現される。パーソナルコンピュータ1は、デジタルカメラ2、CD−ROMなどの記録媒体3、他のコンピュータ4などと接続され、各種の画像(画像データ)の提供を受ける。パーソナルコンピュータ1は、提供された画像に対して、以下に説明する画像処理を行う。コンピュータ4は、インターネットやその他の電気通信回線5を経由して接続される。
パーソナルコンピュータ1が画像処理のために実行するプログラムは、図1の構成と同様に、CD−ROMなどの記録媒体や、インターネットやその他の電気通信回線を経由した他のコンピュータから提供され、パーソナルコンピュータ1内にインストールされる。パーソナルコンピュータ1は、CPU(不図示)およびその周辺回路(不図示)から構成され、CPUがインストールされたプログラムを実行する。
本実施の形態のパーソナルコンピュータ1は、撮影された画像の中から顔画像を検出する画像処理を行う。具体的には、入力した画像に基づきエッジ成分を抽出してエッジ画像を生成し、生成したエッジ画像に基づき顔の画像があるかどうかを判定する。本実施の形態における処理では、このエッジ成分の抽出方法およびエッジ画像に基づく顔の判定方法に特徴を有する。
なお、以下では、画像に対して画像処理を行うという表現をするが、実際には入力した画像データに対して画像処理を行うことを意味する。また、本実施の形態で言うエッジとは、輝度値や画素値が周囲より小さくへこんでいる箇所(領域、画素)、周囲より大きく出っ張っている(突出している)箇所(領域、画素)、段差になっている箇所(領域、画素)のことを言う。特に、周囲よりへこんでいる箇所(領域、画素)を凹構造のエッジ、周囲より出っ張っている箇所(領域、画素)を凸構造のエッジと言う。
以下、本実施の形態のパーソナルコンピュータ1が撮影された画像の中から顔画像を検出する画像処理について詳細に説明する。図2は、パーソナルコンピュータ1が実行する画像処理プログラムのフローチャートを示す図である。
ステップS1では、デジタルカメラなどで撮影(撮像)した顔を検出する対象の画像(画像データ)を入力(取得)する。入力画像の各画素はR,G,Bの各色成分を含み、各色成分の範囲は0〜255とする。ステップS2では、入力画像のR,G,Bに基づき、輝度画像Yを次の式で生成する。すなわち、輝度画像Y面を生成する。
Y=(R+2G+B)/4
Y=(R+2G+B)/4
ステップS3では、生成した輝度画像を階層的に縮小して出力する。例えば、0〜31までの整数nに対して縮小倍率κを0.9n で与え、その32通りの縮小倍率κで縮小された輝度画像を出力する。なお、縮小方法は、例えばCubic変倍や線形変倍を用いればよい。このように複数通りの縮小画像を生成するのは、入力した画像にはどのようなサイズの顔画像があるかどうか不明であり、あらゆるサイズの顔の画像に対応できるようにするためである。
ステップS4では、縮小されたそれぞれの輝度画像Y(x,y)から4種類のエッジ画像E1(x,y)〜E4(x,y)を以下の手順で生成する。以下では、x方向を画像の横方向あるいは水平方向、y方向を縦方向あるいは鉛直方向とする。
まず、以下の式より、縦方向に平滑化した画像YLV(x,y)と横方向に平滑化した画像YLH(x,y)を生成する。縦方向のエッジ成分を抽出するためには、横方向を平滑化した画像データを使用し、横方向のエッジ成分を抽出するためには、縦方向を平滑化した画像データを使用するのが好ましいからである。
YLV(x,y)={Y(x,y−1)+2×Y(x,y)+Y(x,y+1)}/4
YLH(x,y)={Y(x−1,y)+2×Y(x,y)+Y(x+1,y)}/4
YLV(x,y)={Y(x,y−1)+2×Y(x,y)+Y(x,y+1)}/4
YLH(x,y)={Y(x−1,y)+2×Y(x,y)+Y(x+1,y)}/4
次に、横方向を平滑化した画像YLH(x,y)を使用して、以下の式より、縦方向のエッジ画像E1(x,y)を生成する。なお、エッジ画像の各画素はエッジ画素と言う。
E1´(x,y)=Min(YLH(x,y−1), YLH(x,y+2))
−Min(YLH(x,y), YLH(x,y+1))
E1(x,y)=γ(E1´(x,y))
E1´(x,y)=Min(YLH(x,y−1), YLH(x,y+2))
−Min(YLH(x,y), YLH(x,y+1))
E1(x,y)=γ(E1´(x,y))
次に、以下の式より、縦方向のエッジ画像E2(x,y)を生成する。
E2´(x,y)=|YLH(x,y−1)−YLH(x,y)|
+|YLH(x,y+1)−YLH(x,y)|
E2(x,y)=γ(E2´(x,y))
E2´(x,y)=|YLH(x,y−1)−YLH(x,y)|
+|YLH(x,y+1)−YLH(x,y)|
E2(x,y)=γ(E2´(x,y))
次に、縦方向を平滑化した画像YLV(x,y)を使用して、以下の式より、横方向のエッジ画像E3(x,y)を生成する。
E3´(x,y)=Min(YLV(x−1,y), YLV(x+2,y))
−Min(YLV(x,y), YLV(x+1,y))
E3(x,y)=γ(E3´(x,y))
E3´(x,y)=Min(YLV(x−1,y), YLV(x+2,y))
−Min(YLV(x,y), YLV(x+1,y))
E3(x,y)=γ(E3´(x,y))
次に、以下の式より、横方向のエッジ画像E4(x,y)を生成する。
E4´(x,y)=|YLV(x−1,y)−YLV(x,y)|
+|YLV(x+1,y)−YLV(x,y)|
E4(x,y)=γ(E4´(x,y))
E4´(x,y)=|YLV(x−1,y)−YLV(x,y)|
+|YLV(x+1,y)−YLV(x,y)|
E4(x,y)=γ(E4´(x,y))
ここで、Min()は、()の中の最小の値を戻す関数である。また、γ(E)は、γ変換とクリッピングを行う関数であり、以下の演算を行い、0〜31の整数を出力する。このMIN()処理は、非線形フィルタ処理である。また、γ変換やクリッピング処理を含めて非線形フィルタ処理と言ってもよい。
E<0の場合 γ(E)=0
E>63の場合 γ(E)=31
0≦E≦63の場合 γ(E)=(int)(4×√E)
E<0の場合 γ(E)=0
E>63の場合 γ(E)=31
0≦E≦63の場合 γ(E)=(int)(4×√E)
上記エッジ画像の生成について、図3を参照してさらに詳しく説明する。図3は、エッジ抽出対象画素と周辺画素とを座標xyで表した図である。上記E1´(x,y)は、輝度画像YLH(x,y)面において、縦方向4画素YLH(x,y−1)、YLH(x,y)、YLH(x,y+1)、YLH(x,y+2)のうち、対象画素(x,y)を基準に、外側2画素YLH(x,y−1)、YLH(x,y+2)の最小値と内側2画素YLH(x,y)、YLH(x,y+1)の最小値の差を求めている。
E1´(x,y)の値が正の値を示すことは、対象画素(x,y)近辺の値が、縦方向周辺画素の値より小さい、すなわち画素値が縦方向の周辺よりへこんでいることを示す。従って、このようにして生成したE1(x,y)の値を画素値として取り扱い、生成された画像を縦方向輝度凹部画像と言う。
上記E2´(x,y)は、輝度画像YLH(x,y)面において、対象画素(x,y)と縦方向に隣接する画素との輝度値の差分を足し込んだ値を示す。すなわち、縦方向隣接画素との間で輝度値の変化が大きい場合に大きな値が生成される。従って、このようにして生成したE2(x,y)の値を画素値として取り扱い、生成された画像を縦方向隣接画素差分画像と言う。縦方向隣接画素差分画像は、凹部構造のエッジ、凸部構造のエッジ、段差のエッジを区別なく検出する。
上記E3´(x,y)およびE3(x,y)、E4´(x,y)およびE4(x,y)は、横方向のエッジ画像を生成するためのものである。上記E1´(x,y)およびE1(x,y)、E2´(x,y)およびE2(x,y)に対して、縦と横をひっくり返して考え、後は同様に演算するものである。従って、このようにして生成されたE3(x,y)を横方向輝度凹部画像、E4(x,y)を横方向隣接画素差分画像と言う。
図4は、輝度の様々な構造に対して輝度凹部画像E1(x,y)を作成した結果を示す図である。図4(a)は輝度が凹んでいる場合であり、図4(b)は輝度が突出している場合であり、図4(c)は輝度が段差になっている場合である。図4を見ると、輝度が凹んでいる場合のみ輝度凹部画像が正の値を持つことがわかる。従って、輝度凹部画像E´の負の値を0にクリッピングすれば、輝度の凹みだけに反応するエッジ画像E1(x,y)が生成される。
この輝度凹部画像によると、目鼻口などの局所的に暗い箇所に特に良く反応する。図5は、具体的な顔の輝度画像について上記4種類のエッジ画像E1(x,y)〜E4(x,y)を生成した例を示す図である。実際、輝度凹部画像は、目鼻口の位置に鋭いピークを持つ。特に、図5の縦方向輝度凹部画像E1では、目、鼻の穴、口などに反応し、その中でも目、鼻の穴などには強く反応し白くなっている。すなわち、その位置のE1の値が大きな値となっている。従って、このような輝度凹部画像を解析することにより、顔を高精度に検出することができる。ただし、輝度凹部画像だけを用いるのではなく、従来の方法で作成したエッジ画像も合わせて用いることが望ましい。
なお、上記エッジ画像E´をガンマ変換した理由は、エッジ量E´を適切な特徴量Eに変換するためである。画像解析において、ほとんどエッジがない箇所での微妙なエッジ量の違いは、大きなエッジがある箇所での多少のエッジ量の違いよりも大きな意味を持つ。エッジ量E´に対してガンマ変換を施すことにより上記の効果が実現され、ほとんどエッジがない箇所でのエッジ量の違いは特徴量Eの大きな違いに変換され、大きなエッジがある箇所でのエッジ量の違いは特徴量Eの小さな違いに変換される。
次に、図2に戻って、ステップS5では、縮小した画像の1画素おきに19×19画素の顔判定対象領域を設定し、その領域におけるエッジ画像の部分画像を出力する。これをすべての縮小画像において行う。19×19画素の顔判定対象領域は、その領域が顔である場合に目や鼻や口などが2画素程度で検出できるのに適したサイズである。
ステップS6では、ステップ5で出力したエッジ画像の各部分画像に対して、この領域が顔の画像であるかどうか判定する。本実施の形態では、この顔の画像の判定を以下に説明する手法により行う。
まず、エッジ画像E1(x,y)の部分画像の各画素位置(x,y)(0≦x≦18、0≦y≦18)について、次の式に基づいてその位置の顔らしさV1(x,y)を生成する。顔らしさV1(x,y)は、各画素位置で顔らしさを数値化したもので、顔らしさの度合いや程度を示すものである。V1(x,y)は、顔として尤もらしい度合いを表す尤度といってもよい。
V1(x,y)=L1(x,y)(E1(x,y))
ここで、L1(x,y)(E)は、各画素位置(x,y)(0≦x≦18、0≦y≦18)について、後述する統計処理によりあらかじめ作成されているルックアップテーブルであり、画素位置(x,y)のエッジE1(x,y)がEである時のその箇所の顔らしさを表す。
V1(x,y)=L1(x,y)(E1(x,y))
ここで、L1(x,y)(E)は、各画素位置(x,y)(0≦x≦18、0≦y≦18)について、後述する統計処理によりあらかじめ作成されているルックアップテーブルであり、画素位置(x,y)のエッジE1(x,y)がEである時のその箇所の顔らしさを表す。
そして、生成した顔らしさV1(x,y)を全画素(x,y)(0≦x≦18、0≦y≦18)について積算し、顔らしさVSUM1を算出する。
図6は、具体的なエッジ画像について上記の処理を行った例を示す図である。図6の顔らしさ画像では、顔らしい箇所が白く表示され、顔らしくない箇所が黒く表示されている。図6(a)に示す顔のエッジ画像から生成した顔らしさ画像は、全体的に大きな値を持つ。すなわち、全体的に白っぽい画像となる。しかし、図6(b)に示す非顔のエッジ画像から生成した顔らしさ画像は所々小さな値を持つ。すなわち、所々黒っぽくなった画像となる。
図6(b)の非顔の例では、目の間、鼻、口の両横に対応する領域が顔らしくないとされて、顔らしさ画像ではその領域の画素値は小さな値となり黒い画像となっている。従って、非顔画像の顔らしさ画像を全画素積算した値VSUM1は小さな値になる。
図7は、ルックアップテーブルL1(x,y)(E)の具体的な値をエッジの大きさ毎に表した図である。図7では、顔らしさの値が大きいほど白く表示されている。図7において、左側はエッジが小さい時の顔らしさであり、右側はエッジが大きい時の顔らしさである。なお、ルックアップテーブルL1(x,y)(E)の全ての値を図示するなら、前述の通りエッジは0〜31の値で生成されているので、L1(x,y)(0)〜L1(x,y)(31)の32通りの図ができる。しかし、図7では、図示の便宜上そのうちの8通りのみ表示している。
なお、図7のルックアップテーブルL1(x,y)(E)は、具体的な値をエッジの大きさ毎に視覚的に表した図である。実際には、画素位置(x,y)を引数とした画素値のテーブルが、エッジの値毎にメモリに格納されている。すなわち、32個の画素位置(x,y)を引数とした画素値のテーブルがメモリに格納されている。
図7において、左側の図はエッジが小さい時の顔らしさを表す。左側の図を見ると、目、鼻、口の箇所の顔らしさが小さな値になっている。これは、目、鼻、口の箇所のエッジが小さい場合には、その箇所は顔らしくないということを表している。例えば、図6(a)の非顔の例では、鼻に対応する箇所のエッジが小さいので、その箇所は顔らしくないとされる。
また、図7の右側の図はエッジが大きい時の顔らしさを表す。右側の図を見ると、目、鼻、口以外の箇所の顔らしさが小さな値になっている。これは、目、鼻、口以外の箇所のエッジが大きい場合には、その箇所は顔らしくないということを表している。例えば、図6(a)の非顔の例では、目の間と口の両横に対応する箇所のエッジが大きいので、その箇所は顔らしくないとされる。
すなわち、顔の画像を特定種類の画像とし、目、鼻、口などを特定種類の画像の特徴的な要素であると考えると、特定種類の画像の特徴的な要素に対応する画素位置では、その画素のエッジ成分が大きい場合の特定種類の画像らしさの度合いを、エッジ成分が小さい場合の特定種類の画像らしさの度合いに比べて大きな値としている。また、特定種類の画像の特徴的な要素以外に対応する画素位置では、その画素のエッジ成分が大きい場合の特定種類の画像らしさの度合いを、エッジ成分が小さい場合の特定種類の画像らしさの度合いに比べて小さな値としている。
上記ルックアップテーブルを参照する処理を整理すると、まず、エッジ画像E1(x,y)の部分画像において、x=0、y=0のエッジE1の値を得る。次に、このエッジE1の値に相当するルックアップテーブルL1(x,y)(E1)を32個のルックアップテーブルの中から決める。ルックアップテーブルL1(x,y)(E1)が決まると、このルックアップテーブルL1(x,y)(E1)の画素位置(0,0)の値を得る。これが、エッジ画像E1(x,y)の画素位置(0,0)の顔らしさの値である。この処理を、x=0、y=0の画素からx=18、y=18の画素まで順次行い、顔らしさ画像V1(x,y)を得る。そして、V1(x,y)をすべて積算してVsum1を得る。
以上の処理により、エッジ画像E1(x,y)に基づいて部分画像の顔らしさVsum1が生成される。そして、エッジ画像E2(x,y)〜E4(x,y)に基づいて部分画像の顔らしさVsum2〜Vsum4を生成する処理も同様に行う。
図8は、図2のステップS6の顔判定の処理において、部分画像の顔らしさVsum1〜Vsum4を求めた後の処理のフローチャートを示す図である。ステップS6の顔判定処理では、上記に説明したように、顔らしさVsum1〜Vsum4を段階的に生成し、それらを積算した評価値が閾値よりも大きければ顔とする。ただし、評価値を閾値と比較する処理を図8に示すように各段階において行うことにより、明らかに顔ではない画像を早い段階で除外して、効率的な処理を行えるようにしている。
まず、ステップS11では、部分画像が顔の画像であるかどうかを判定する評価値を、エッジ画像E1(x,y)の顔らしさVsum1とする。ステップS12では、評価値が所定の閾値th1より大きいかどうかを判定し、この評価値が閾値th1より大きければステップS13に進み、この評価値が閾値th1より大きくなければ、部分画像は顔の画像でないとして、対象の部分画像の顔判定の処理を終了する。
ステップS13では、評価値をステップS11の評価値にエッジ画像E2(x,y)の顔らしさVsum2を足した値とする。ステップS14では、この評価値が所定の閾値th2より大きいかどうかを判定し、評価値が閾値th2より大きければステップS15に進み、この評価値が閾値th2より大きくなければ、部分画像は顔の画像でないとして、対象の部分画像の顔判定の処理を終了する。
ステップS15では、評価値をステップS13の評価値にエッジ画像E3(x,y)の顔らしさVsum3を足した値とする。ステップS16では、この評価値が所定の閾値th3より大きいかどうかを判定し、評価値が閾値th3より大きければステップS17に進み、この評価値が閾値th3より大きくなければ、部分画像は顔の画像でないとして、対象の部分画像の顔判定の処理を終了する。
ステップS17では、評価値をステップS15の評価値にエッジ画像E4(x,y)の顔らしさVsum4を足した値とする。ステップS18では、この評価値が所定の閾値th4より大きいかどうかを判定する。ステップS18において、評価値が閾値th4より大きければ、最終的にこの部分画像は顔の画像であると判定する。この評価値が閾値th4より大きくなければ、部分画像は顔の画像でないとして、対象の部分画像の顔判定の処理を終了する。
以上説明した部分画像の顔判定処理を、各縮小画像において、1ビットずつずらした各部分画像についてすべて行い、顔の画像と判定できる部分画像をすべて抽出し、ステップS7に進む。
ステップS7では、ステップ6によりある部分画像が顔であると判定された場合には、その部分画像の入力画像に対する顔の大きさSと座標(X,Y)を出力する。S,X,Yは、縮小画像における顔のサイズS´=19と、顔とされた領域の座標(X´,Y´)と縮小倍率κとを用いて、次の式で与えられる。
S = S´ / κ
X = X´ / κ
Y = Y´ / κ
S = S´ / κ
X = X´ / κ
Y = Y´ / κ
以上のようにして、入力画像に顔の画像がある場合は、その顔の画像の位置と大きさが検出されて出力される。
<統計処理>
次に、前述した統計処理について説明する。すなわち、画素位置(x,y)のエッジE1(x,y)がEであるときのその画素の顔らしさL1(x,y)(E)を求める方法を説明する。図9は、この顔らしさL1(x,y)(E)を求める処理のフローチャートを示す図である。この処理は、パーソナルコンピュータ1において実行される。
次に、前述した統計処理について説明する。すなわち、画素位置(x,y)のエッジE1(x,y)がEであるときのその画素の顔らしさL1(x,y)(E)を求める方法を説明する。図9は、この顔らしさL1(x,y)(E)を求める処理のフローチャートを示す図である。この処理は、パーソナルコンピュータ1において実行される。
ステップS21では、数百人以上の顔の画像を取得する。すなわち、数百人以上の顔をデジタルカメラ等で撮影(撮像)し、その画像(画像データ)を取得する。取得する画像は、図2のステップS1で入力する画像と同様な色成分で構成された画像である。ステップS22では、顔が撮影されている画像を、顔領域の大きさが19×19画素になるように変倍して、顔領域を切り出した部分画像を顔画像サンプル群とする。
ステップS23では、19×19画素の非顔画像サンプル群を、数百パターン以上取得する。これは、デジタルカメラで撮影した顔以外の画像から適宜抽出して非顔画像サンプル群とする。顔が写っている画像から、顔の領域を避けて抽出するようにしてもよい。この場合は、モニタに写された画像から、ユーザが適宜非顔画像の領域を指定すればよい。
ステップS24では、顔画像サンプル群からエッジ成分を抽出して、顔エッジ画像サンプル群を生成する。この処理は、顔検出処理においてエッジ画像E1(x,y)を生成する処理と同様に行う。ステップS25では、非顔画像サンプル群からエッジ成分を抽出して、非顔エッジ画像サンプル群を生成する。この処理も、顔検出処理においてエッジ画像E1(x,y)を生成する処理と同様に行う。
ステップS26では、顔エッジ画像サンプル群について、(x,y)のエッジがEとなる頻度P顔(x,y,E)を求める。すなわち、画素(x,y)の値がEとなる画像がいくつあるかをカウントする。ステップS27では、非顔エッジ画像サンプル群について、同様に、(x,y)のエッジがEとなる頻度P非顔(x,y,E)を求める。
ステップS28では、画素位置(x,y)のエッジE1(x,y)がEであるときのその画素の顔らしさL1(x,y)(E)を、次の式によって算出する。
L1(x,y)(E)=log{(P顔(x,y,E)+ε1)/(P非顔(x,y,E)+ε2)}
ここで、ε1とε2は所定の定数であり、対数の発散や過学習を抑制するために導入している。ε1の値はP顔(x,y,E)の平均的な値の1000分の1程度に設定すればよく、ε2の値はε1の値の数十倍に設定すればよい。
L1(x,y)(E)=log{(P顔(x,y,E)+ε1)/(P非顔(x,y,E)+ε2)}
ここで、ε1とε2は所定の定数であり、対数の発散や過学習を抑制するために導入している。ε1の値はP顔(x,y,E)の平均的な値の1000分の1程度に設定すればよく、ε2の値はε1の値の数十倍に設定すればよい。
上記L1(x,y)(E)を求める式において、log{(P顔(x,y,E)+ε1)}は、単調増加関数であり、log{1/(P非顔(x,y,E)+ε2)}は、単調減少関数である。すなわち、顔らしさL1(x,y)(E)は、画素位置(x,y)のエッジE1(x,y)がEである顔画像サンプルの分布が増加していく方向にその値は単調増加し、画素位置(x,y)のエッジE1(x,y)がEである非顔画像サンプルの分布が増加していく方向にその値は単調減少していく関数である。なお、画素位置(x,y)のエッジE1(x,y)がEである顔画像サンプルの分布、および、画素位置(x,y)のエッジE1(x,y)がEである非顔画像サンプルの分布は、通常正規分布している。
エッジ画像E2(x,y)〜E4(x,y)を顔らしさに変換するルックアップテーブルL2(x,y)(E)〜L4(x,y)(E)を生成するには、上記ステップS24、ステップS25のエッジ成分抽出処理を、顔検出処理におけるエッジ画像E2(x,y)〜E4(x,y)を生成する処理と同様にすればよい。
以上説明した第1の実施の形態の処理を行うと、次のような効果を奏する。
(1)顔画像の目、鼻、口などの位置は周辺に比べて局所的に暗い。従来のエッジ抽出方法では、エッジ構造が局所的に暗い構造であるか、局所的に明るい構造であるか、あるいはそれ以外の構造であるかを識別することはできなかった。しかし、上記のように凹部構造のエッジを検出し、エッジ画像である凹部画像を生成することにより顔画像の局所的に暗い構造である目、鼻、口などを適切に抽出することができる。その結果、顔の画像を正確に判定することができる。
(1)顔画像の目、鼻、口などの位置は周辺に比べて局所的に暗い。従来のエッジ抽出方法では、エッジ構造が局所的に暗い構造であるか、局所的に明るい構造であるか、あるいはそれ以外の構造であるかを識別することはできなかった。しかし、上記のように凹部構造のエッジを検出し、エッジ画像である凹部画像を生成することにより顔画像の局所的に暗い構造である目、鼻、口などを適切に抽出することができる。その結果、顔の画像を正確に判定することができる。
(2)輝度凹部画像によると、目鼻口などの局所的に暗い箇所に特に良く反応する。実際、輝度凹部画像は、目鼻口の位置に鋭いピークを持つ。従って、このような輝度凹部画像を解析することにより、顔を高精度に検出することができる。本実施の形態では、輝度凹部画像だけを用いるのではなく、従来の方法で作成したエッジ画像も合わせて用いるようにしているので、さらにより精度の高い顔の判定を可能としている。
(3)上記エッジE´エッジをガンマ変換した理由は、エッジ量E´を適切な特徴量Eに変換するためである。画像解析において、ほとんどエッジがない箇所での微妙なエッジ量の違いは、大きなエッジがある箇所での多少のエッジ量の違いよりも大きな意味を持つ。エッジ量E´に対してガンマ変換を施すことにより、ほとんどエッジがない箇所でのエッジ量の違いは特徴量Eの大きな違いに変換され、大きなエッジがある箇所でのエッジ量の違いは特徴量Eの小さな違いに変換される。これにより、エッジ量の違いが画像の構造の違いに一致するようになる。この結果、顔判定の精度も高くなる。
(4)上記実施の形態の図4から明らかなように、輝度が凹んでいる場合のみ輝度凹部画像が正の値を持つことがわかる。従って、本実施の形態では、輝度凹部画像E´の負の値を0にクリッピングするようにした。これにより、輝度の凹みだけに反応するエッジ画像E1(x,y)が生成され、エッジ画像E1を使用する処理がしやすくなる。
(5)エッジ画像の画素値をルックアップテーブルを用いて顔らしさに変換して積算するという単純で高速な処理により、顔の画像を検出することができる。また、エッジ画像を判定することにより、画像を撮影する際の照明条件の影響を抑制する効果がある。
−第2の実施の形態−
第1の実施の形態では、輝度凹部画像を生成し、顔の目鼻口などの局所的に暗い箇所を適切に判断する例を説明した。しかし、歯を見せて笑っている口や、光が当たって光っている頬や鼻では、輝度が周囲に比べて局所的に明るくなっている。第2の実施の形態では、このような顔の局所的に明るい箇所も適切に検出することにより、顔の画像を第1の実施の形態よりより一層正確に検出する例を説明する。
第1の実施の形態では、輝度凹部画像を生成し、顔の目鼻口などの局所的に暗い箇所を適切に判断する例を説明した。しかし、歯を見せて笑っている口や、光が当たって光っている頬や鼻では、輝度が周囲に比べて局所的に明るくなっている。第2の実施の形態では、このような顔の局所的に明るい箇所も適切に検出することにより、顔の画像を第1の実施の形態よりより一層正確に検出する例を説明する。
第2の実施の形態は、第1の実施の形態と同様に、パーソナルコンピュータ1で実現される。従って、第2の実施の形態の画像処理装置の構成は、第1の実施の形態の図1を参照することとする。また、パーソナルコンピュータ1が実行する画像処理プログラムは、第1の実施の形態の図2のフローチャートと処理の流れとしては同様であるので、図2を参照しながら以下説明をする。
ステップS1からステップS3までは、第1の実施の形態と同様であるので説明を省略する。
ステップS4では、縮小されたそれぞれの輝度画像Y(x,y)から6種類のエッジ画像E1(x,y)〜E6(x,y)を生成する。縦方向に平滑化した画像YLV(x,y)と横方向に平滑化した画像YLH(x,y)の生成、および、エッジ画像E1(x,y)〜E4(x,y)の生成は第1の実施の形態と同様であるのでその説明を省略し、以下、エッジ画像E5(x,y)とE6(x,y)の生成について説明をする。
まず、横方向を平滑化した画像YLH(x,y)を使用して、以下の式より、縦方向のエッジ画像E5(x,y)を生成する。
E5´(x,y)=Max(YLH(x,y−1), YLH(x,y+2))
−Max(YLH(x,y), YLH(x,y+1))
E5(x,y)=γ(E5´(x,y))
E5´(x,y)=Max(YLH(x,y−1), YLH(x,y+2))
−Max(YLH(x,y), YLH(x,y+1))
E5(x,y)=γ(E5´(x,y))
次に、縦方向を平滑化した画像YLV(x,y)を使用して、以下の式より、横方向のエッジ画像E6(x,y)を生成する。
E6´(x,y)=Max(YLV(x−1,y), YLV(x+2,y))
−Max(YLV(x,y), YLV(x+1,y))
E6(x,y)=γ( E6´(x,y) )
E6´(x,y)=Max(YLV(x−1,y), YLV(x+2,y))
−Max(YLV(x,y), YLV(x+1,y))
E6(x,y)=γ( E6´(x,y) )
ここで、Max()は、()の中の最大値を戻す関数である。また、γ(E)は、第1の実施の形態と同様の関数である。また、クリッピング処理も第1の実施の形態と同様に行う。なお、以上で生成したE5(x,y)を縦方向輝度凸部画像、E6(x,y)を横方向輝度凸部画像と言う。
上記エッジ画像E5(x,y)とE6(x,y)の生成について、第1の実施の形態の図3を参照して説明する。上記E5´(x,y)は、輝度画像YLH(x,y)面において、縦方向4画素YLH(x,y−1)、YLH(x,y)、YLH(x,y+1)、YLH(x,y+2)のうち、対象画素(x,y)を基準に、外側2画素YLH(x,y−1)、YLH(x,y+2)の最大値と内側2画素YLH(x,y)、YLH(x,y+1)の最大値の差を求めている。
E5´(x,y)の値が正の値を示すことは、対象画素(x,y)近辺の値が、縦方向周辺画素の値より大きい、すなわち画素値が縦方向の周辺よりでっぱっていることを示す。従って、このようにして生成したE5(x,y)を縦方向輝度凸部画像と言う。
上記E6´(x,y)およびE6(x,y)は、横方向のエッジ画像を生成するためのものである。上記E5´(x,y)およびE5(x,y)に対して、縦と横をひっくり返して考え、後は同様に演算するものである。従って、このようにして生成されたE6(x,y)を横方向輝度凸部画像と言う。
ステップS5では、縮小した画像の1画素おきに19×19画素の顔判定対象領域を設定し、その領域におけるエッジ画像E1(x,y)〜E6(x,y)の部分画像を出力する。これをすべての縮小画像において行う。
ステップS6では、ステップ5で出力したエッジ画像の各部分画像に対して、この領域が顔の画像であるかどうか第1の実施の形態と同様に判定する。エッジ画像E5(x,y)〜E6(x,y)に基づいて部分画像の顔らしさVsum5〜Vsum6を生成する処理も、エッジ画像E1(x,y)〜E4(x,y)に基づいて部分画像の顔らしさVsum1〜Vsum4を生成する処理と同様な考えのもとで行う。すなわち、凹部の概念を凸部の概念に置き換えて行えばよい。
以上説明した部分画像の顔判定処理を、各縮小画像において、1ビットずつずらした各部分画像についてすべて行い、顔の画像と判定できる部分画像をすべて抽出し、ステップS7に進む。
ステップS7では、ステップ6によりある部分画像が顔であると判定された場合には、その部分画像の入力画像に対する顔の大きさSと座標(X,Y)を、第1の実施の形態と同様に出力する。S,X,Yは、縮小画像における顔のサイズS´=19と、顔とされた領域の座標(X´,Y´)と縮小倍率κとを用いて、次の式で与えられる。
S = S´ / κ
X = X´ / κ
Y = Y´ / κ
S = S´ / κ
X = X´ / κ
Y = Y´ / κ
以上のようにして、入力画像に顔の画像がある場合は、その顔の画像の位置と大きさが検出されて出力される。
以上説明した第2の実施の形態の処理を行うと、次のような効果を奏する。
(1)歯を見せて笑っている口や、光が当たって光って頬や鼻では、輝度が周囲に比べて局所的に明るくなっている。本実施の形態によると、そのような局所的に明るい箇所も効果的に検出してエッジ画像を作成する。従って、このようにして作成したエッジ画像を使用して第1の実施の形態の凹部画像による顔画像の判定と同様に行えば、顔の画像の局所的暗い箇所に加えて、顔の画像の局所的明るい箇所も考慮して顔判定を行うことができる。これにより、第1の実施の形態よりもさらに高精度に顔を検出できる。
(1)歯を見せて笑っている口や、光が当たって光って頬や鼻では、輝度が周囲に比べて局所的に明るくなっている。本実施の形態によると、そのような局所的に明るい箇所も効果的に検出してエッジ画像を作成する。従って、このようにして作成したエッジ画像を使用して第1の実施の形態の凹部画像による顔画像の判定と同様に行えば、顔の画像の局所的暗い箇所に加えて、顔の画像の局所的明るい箇所も考慮して顔判定を行うことができる。これにより、第1の実施の形態よりもさらに高精度に顔を検出できる。
−第3の実施の形態−
第2の実施の形態では、輝度凹部画像に加えて輝度凸部画像を生成し、顔の目鼻口などの局所的に暗い箇所に加えて、歯を見せて笑っている口や、光が当たって光っている頬や鼻では、輝度が周囲に比べて局所的に明るくなっている箇所も適切に検出する例を説明した。第3の実施の形態では、輝度凹部画像と輝度凸部画像の情報を輝度凹凸部画像にまとめて処理を行う例を説明する。
第2の実施の形態では、輝度凹部画像に加えて輝度凸部画像を生成し、顔の目鼻口などの局所的に暗い箇所に加えて、歯を見せて笑っている口や、光が当たって光っている頬や鼻では、輝度が周囲に比べて局所的に明るくなっている箇所も適切に検出する例を説明した。第3の実施の形態では、輝度凹部画像と輝度凸部画像の情報を輝度凹凸部画像にまとめて処理を行う例を説明する。
第3の実施の形態は、第1の実施の形態と同様に、パーソナルコンピュータ1で実現される。従って、第3の実施の形態の画像処理装置の構成は、第1の実施の形態の図1を参照することとする。また、パーソナルコンピュータ1が実行する画像処理プログラムは、第1の実施の形態で使用し、第2の実施の形態で参照した図2のフローチャートと、処理の流れとしては同様であるので、同様に図2を参照しながら以下説明をする。
ステップS1からステップS3までは、第2の実施の形態と同様であるので説明を省略する。
ステップS4では、第2の実施の形態と同様にエッジ画像E1(x,y)〜E6(x,y)を生成する。そして、つぎの式に基づき、縦方向輝度凹凸部画像E7(x,y)と横方向輝度凹凸部画像E8(x,y)を生成する。
ステップS5では、縮小した画像の1画素おきに19×19画素の顔判定対象領域を設定し、その領域におけるエッジ画像E1(x,y),E2(x,y),E7(x,y),E8(x,y)の部分画像を出力する。
ステップS6では、ステップ5で出力したエッジ画像E1(x,y),E2(x,y),E7(x,y),E8(x,y)の各部分画像に対して、この領域が顔の画像であるかどうか第1の実施の形態と同様に判定する。エッジ画像E7(x,y)〜E8(x,y)に基づいて部分画像の顔らしさVsum7〜Vsum8を生成する処理も、エッジ画像E1(x,y)〜E4(x,y)に基づいて部分画像の顔らしさVsum1〜Vsum4を生成する処理と同様な考えのもとで行う。すなわち、凹部の概念を凹部と凸部を組み合わせた概念に置き換えて行えばよい。
ステップS7は、第1の実施の形態と同様である。以上のようにして、入力画像に顔の画像がある場合は、その顔の画像の位置と大きさが検出されて出力される。
以上説明した第3の実施の形態の処理を行うと、次のような効果を奏する。
(1)輝度凹部画像と輝度凸部画像の情報を輝度凹凸部画像にまとめることにより、判別処理に用いる情報量を省略しつつ、第2の実施の形態に近い精度で顔を検出できる。
(1)輝度凹部画像と輝度凸部画像の情報を輝度凹凸部画像にまとめることにより、判別処理に用いる情報量を省略しつつ、第2の実施の形態に近い精度で顔を検出できる。
−変形例−
上記実施の形態では、顔の画像の判定において、顔らしさV1(x,y)を生成して処理する例を説明した。しかし、ステップ5で出力したエッジ画像に対して、ニューラルネットワークなどの公知の学習判別処理を施すことにより、この領域が顔の画像であるかを判定するようにしてもよい。
上記実施の形態では、顔の画像の判定において、顔らしさV1(x,y)を生成して処理する例を説明した。しかし、ステップ5で出力したエッジ画像に対して、ニューラルネットワークなどの公知の学習判別処理を施すことにより、この領域が顔の画像であるかを判定するようにしてもよい。
検出した顔画像領域におけるエッジ画像に対して、公知の技術を適用して表情判定処理を行っても良い。特に、第2と第3の実施の形態では、歯を見せて笑っている顔の口の輝度が局所的に高くなっていることが検出されるので、そのような笑顔を高精度に判定することができる。
縦方向輝度凹部画像を生成するエッジ検出フィルタは、次のようなものであっても良い。
E1´(x,y)=Min(YLH(x,y−1), YLH(x,y+1))―YLH(x,y)
すなわち、対象画素とその縦方向隣接画素の3画素を使用するものでもよい。横方向輝度凹部画像についても同様である。また、輝度凸部画像を生成するエッジ検出フィルタについても同様である。
E1´(x,y)=Min(YLH(x,y−1), YLH(x,y+1))―YLH(x,y)
すなわち、対象画素とその縦方向隣接画素の3画素を使用するものでもよい。横方向輝度凹部画像についても同様である。また、輝度凸部画像を生成するエッジ検出フィルタについても同様である。
縦方向輝度凹部画像を生成するエッジ検出フィルタは、次のようなものであっても良い。
E1´(x,y)=Min(YLH(x,y−1), YLH(x,y+2))
―(YLH(x,y)+YLH(x,y+1))/ 2
横方向輝度凹部画像についても同様である。また、輝度凸部画像を生成するエッジ検出フィルタについても同様である。
E1´(x,y)=Min(YLH(x,y−1), YLH(x,y+2))
―(YLH(x,y)+YLH(x,y+1))/ 2
横方向輝度凹部画像についても同様である。また、輝度凸部画像を生成するエッジ検出フィルタについても同様である。
輝度凹部画像または輝度凸部画像を作るためのフィルタのサイズは、異なる複数のサイズを用い、複数の周波数帯域の凸構造または凹構造を検出しても良い。なお、縮小倍率の異なる複数の輝度画像に対して同じサイズのフィルタを演算することにより、複数の周波数帯域の凸構造または凹構造を検出しても良い。
上記実施の形態では、E1´(x,y)として、対象画素近辺画素の最小値と周辺画素の最小値の差分を出力する例を説明した。すなわち、対象画素近辺画素の最小値と周辺画素の最小値の差異を差分値の形で出力する例を説明した。しかし、これらの値の比を差異を表す値として出力するようにしてもよい。
上記実施の形態では、パーソナルコンピュータ1が、撮影された画像の中から顔画像を検出する画像処理を行う例を説明した。しかし、デジタルスチルカメラなどの撮像装置内で、撮像した画像に対し上記説明した処理を行うようにしてもよい。
図10は、このような撮像装置であるデジタルカメラ100の構成を示す図である。デジタルカメラ100は、撮影レンズ102、CCDなどからなる撮像素子103、CPUおよび周辺回路からなる制御装置104、メモリ105などから構成される。
撮像素子103は、被写体101を撮影レンズ102を介して撮影(撮像)し、撮影した画像データを制御装置104へ出力する。制御装置104は、撮像素子103で撮影された画像(画像データ)に対して、上記で説明した顔画像を検出する画像処理を行う。そして、制御装置104は、顔画像の検出結果に基づき撮影した画像に対し、ホワイトバランスの調整やその他の各種の画像処理を行い、画像処理後の画像データを適宜メモリ105に格納する。また、制御装置104は、顔画像の検出結果を、オートフォーカス処理などにも利用することができる。なお、制御装置104が実行する画像処理プログラムは、不図示のROMに格納されている。
また、上記説明した処理をビデオカメラにも適用できる。さらに、不審者を監視する監視カメラや、撮影された顔画像に基づいて個人を識別したり、性別や年齢や表情を推定するような装置にも適用できる。すなわち、顔の画像など特定種類の画像を抽出して処理する画像処理装置や撮像装置などのあらゆる装置に本発明を適用することができる。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
1 パーソナルコンピュータ
2 デジタルカメラ
3 記録媒体
4 コンピュータ
5 電気通信回線
100 デジタルカメラ
101 被写体
102 撮影レンズ
103 撮像素子
104 制御装置
105 メモリ
2 デジタルカメラ
3 記録媒体
4 コンピュータ
5 電気通信回線
100 デジタルカメラ
101 被写体
102 撮影レンズ
103 撮像素子
104 制御装置
105 メモリ
Claims (20)
- 画像処理方法であって、
複数の画素からなる画像を取得し、
前記取得した画像に基づき、局所的に周辺より画素値がへこんでいる凹構造のエッジを検出し、
前記検出した凹構造のエッジに基づきエッジ画像を生成することを特徴とする画像処理方法。 - 請求項1に記載の画像処理方法において、
前記取得した画像に対して、前記凹構造のエッジを検出する非線形フィルタを演算することにより前記エッジ画像を生成することを特徴とする画像処理方法。 - 請求項2に記載の画像処理方法において、
前記非線形フィルタは、対象領域における画素値と前記対象領域の周辺領域における画素値の最小値との差異に基づいて演算結果を出力することを特徴とする画像処理方法。 - 請求項3に記載の画像処理方法において、
前記非線形フィルタは、前記対象領域における画素値の最小値と前記周辺領域における画素値の最小値との差異に基づいて演算結果を出力することを特徴とする画像処理方法。 - 請求項4に記載の画像処理方法において、
対象領域における画素値の最小値が前記対象領域の周辺領域における画素値の最小値より小さいとき、その差分に応じた値をそのエッジ画素の値とし、対象領域における画素値の最小値が前記対象領域の周辺領域における画素値の最小値より大きいとき、エッジ画素の値をゼロにクリッピング処理することを特徴とする画像処理方法。 - 画像処理方法であって、
複数の画素からなる画像を取得し、
前記取得した画像に基づき、局所的に周辺より画素値が出っ張っている凸構造のエッジを検出し、
前記検出した凸構造のエッジに基づきエッジ画像を生成することを特徴とする画像処理方法。 - 請求項6に記載の画像処理方法において、
前記取得した画像に対して、前記凸構造のエッジを検出する非線形フィルタを演算することにより前記エッジ画像を生成することを特徴とする画像処理方法。 - 請求項7に記載の画像処理方法において、
前記非線形フィルタは、対象領域における画素値と前記対象領域の周辺領域における画素値の最大値との差異に基づいて演算結果を出力することを特徴とする画像処理方法。 - 請求項8に記載の画像処理方法において、
前記非線形フィルタは、前記対象領域における画素値の最大値と前記周辺領域における画素値の最大値との差異に基づいて演算結果を出力することを特徴とする画像処理方法。 - 請求項8に記載の画像処理方法において、
対象領域における画素値の最大値が前記対象領域の周辺領域における画素値の最大値より大きいとき、その差分に応じた値をそのエッジ画素の値とし、対象領域における画素値の最大値が前記対象領域の周辺領域における画素値の最大値より小さいとき、エッジ画素の値をゼロにクリッピング処理することを特徴とする画像処理方法。 - 請求項1から10のいずれかに記載の画像処理方法において、
前記取得した画像に基づき、輝度成分による輝度画像を生成し、
前記生成した輝度画像を使用して、前記エッジ画像を生成することを特徴とする画像処理方法。 - 請求項3から5、8から10のいずれかに記載の画像処理方法において、
前記対象領域は対象画素のみの1画素あるいは対象画素とその隣接画素の2画素の領域であり、前記周辺領域は前記対象領域の外側両サイドに位置する2画素の領域であることを特徴とする画像処理方法。 - 請求項2から5、7から10のいずれかに記載の画像処理方法おいて、
前記非線形フィルタを、少なくとも2通りの方向に演算することを特徴とする画像処理方法。 - 画像処理方法であって、
複数の画素からなる画像を取得し、
前記取得した画像に基づき、局所的に周辺より画素値がへこんでいる凹構造のエッジと出っ張っている凸構造のエッジとを検出し、
前記検出した凹構造のエッジに基づき凹構造のエッジ画像を生成し、
前記検出した凸構造のエッジに基づき凸構造のエッジ画像を生成することを特徴とする画像処理方法。 - 画像処理方法であって、
複数の画素からなる画像を取得し、
前記取得した画像に基づき、局所的に周辺より画素値がへこんでいる凹構造のエッジと出っ張っている凸構造のエッジとを検出し、
前記検出した凹構造のエッジと凸構造のエッジとに基づき、凹構造のエッジと凸構造のエッジの両方を含むエッジ画像を生成することを特徴とする画像処理方法。 - 画像処理方法であって、
複数の画素からなる画像を取得し、
前記取得した画像のエッジ成分を検出し、
前記検出したエッジ成分に対してガンマ変換を施し、
前記ガンマ変換されたエッジ成分によるエッジ画像を生成することを特徴とする画像処理方法。 - 請求項1〜16のいずれかに記載の画像処理方法おいて、
前記生成したエッジ画像を使用して顔の画像を検出することを特徴とする画像処理方法。 - 請求項1から17のいずれかに記載の画像処理方法をコンピュータに実行させる画像処理プログラム。
- 請求項18に記載の画像処理プログラムを搭載する画像処理装置。
- 請求項18に記載の画像処理プログラムを搭載する撮像装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006215944A JP2009258771A (ja) | 2006-08-08 | 2006-08-08 | 画像処理方法、画像処理装置、画像処理プログラム、撮像装置 |
PCT/JP2007/065447 WO2008018460A1 (fr) | 2006-08-08 | 2007-08-07 | Procédé, appareil et programme de traitement d'image, et appareil de prise d'image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006215944A JP2009258771A (ja) | 2006-08-08 | 2006-08-08 | 画像処理方法、画像処理装置、画像処理プログラム、撮像装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009258771A true JP2009258771A (ja) | 2009-11-05 |
Family
ID=39032990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006215944A Pending JP2009258771A (ja) | 2006-08-08 | 2006-08-08 | 画像処理方法、画像処理装置、画像処理プログラム、撮像装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2009258771A (ja) |
WO (1) | WO2008018460A1 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4147155B2 (ja) * | 2003-07-18 | 2008-09-10 | キヤノン株式会社 | 画像処理装置および方法 |
JP4479373B2 (ja) * | 2004-06-28 | 2010-06-09 | ソニー株式会社 | イメージセンサ |
JP4561273B2 (ja) * | 2004-09-22 | 2010-10-13 | ソニー株式会社 | 画像処理装置および方法、並びにプログラム |
-
2006
- 2006-08-08 JP JP2006215944A patent/JP2009258771A/ja active Pending
-
2007
- 2007-08-07 WO PCT/JP2007/065447 patent/WO2008018460A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2008018460A1 (fr) | 2008-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108197546B (zh) | 人脸识别中光照处理方法、装置、计算机设备及存储介质 | |
US8977056B2 (en) | Face detection using division-generated Haar-like features for illumination invariance | |
TWI431549B (zh) | Image processing apparatus and method and computer program product | |
KR101662846B1 (ko) | 아웃 포커싱 촬영에서 빛망울 효과를 생성하기 위한 장치 및 방법 | |
US7907786B2 (en) | Red-eye detection and correction | |
CN107563976B (zh) | 美颜参数获取方法、装置、可读存储介质和计算机设备 | |
TWI632894B (zh) | 動態影像之心率活動偵測系統與其方法 | |
JP2004357277A (ja) | デジタル画像処理方法 | |
WO2017203913A1 (ja) | 肌診断装置および肌診断方法 | |
WO2015070723A1 (zh) | 眼部图像处理方法和装置 | |
JP2004326805A (ja) | ディジタル画像中の赤目を検出し補正する方法 | |
JP6927322B2 (ja) | 脈波検出装置、脈波検出方法、及びプログラム | |
JP2008234208A (ja) | 顔部位検出装置及びプログラム | |
US11301974B2 (en) | Image processing apparatus, image processing method, image capturing apparatus, and storage medium | |
WO2018233637A1 (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN110855889A (zh) | 图像处理方法、装置、图像处理设备及存储介质 | |
JP2004310475A (ja) | 画像処理装置、画像処理を行う携帯電話、および画像処理プログラム | |
JP2009123081A (ja) | 顔検出方法及び撮影装置 | |
US9147115B2 (en) | Method and device for detecting an object in an image | |
JP6527765B2 (ja) | シワ状態分析装置及びシワ状態分析方法 | |
JP2009258770A (ja) | 画像処理方法、画像処理装置、画像処理プログラム、撮像装置 | |
JP2002269545A (ja) | 顔画像処理方法及び顔画像処理装置 | |
EP1865443A2 (en) | Facial feature detection method and device | |
JP2009258771A (ja) | 画像処理方法、画像処理装置、画像処理プログラム、撮像装置 | |
JP2007025901A (ja) | 画像処理装置、画像処理方法 |