画像認識装置、撮像装置及び画像認識方法
【課題】画像に含まれる人物の表情や個人を高精度に識別できるようにする。
【解決手段】パラメータ設定部1300は、顔検出部1100による顔検出結果に基づいて、画素値の勾配方向及び勾配強度を示す勾配ヒストグラムを生成するためのパラメータを設定する。さらに、勾配ヒストグラム特徴ベクトル生成部1400は、検出された顔の領域から、勾配ヒストグラムを生成する対象となる領域(1セル)を設定し、その領域毎に勾配ヒストグラムを生成して特徴ベクトルを生成する。そして、表情識別部1500において、検出された顔の表情を、SVMを用いて識別する。
【解決手段】パラメータ設定部1300は、顔検出部1100による顔検出結果に基づいて、画素値の勾配方向及び勾配強度を示す勾配ヒストグラムを生成するためのパラメータを設定する。さらに、勾配ヒストグラム特徴ベクトル生成部1400は、検出された顔の領域から、勾配ヒストグラムを生成する対象となる領域(1セル)を設定し、その領域毎に勾配ヒストグラムを生成して特徴ベクトルを生成する。そして、表情識別部1500において、検出された顔の表情を、SVMを用いて識別する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像認識装置、撮像装置、画像認識方法、プログラム及び記憶媒体に関し、特に、顔認識処理に用いて好適な技術に関する。
【背景技術】
【0002】
従来技術として、非特許文献1や非特許文献2に記載されている手法のように、勾配方向ヒストグラム(Histograms of Oriented Gradients、またはHOG)という特徴を用いて、乗り物や人物を検出する手法がある。非特許文献1及び非特許文献2に記載の手法では、基本的には、入力画像上のある位置に配置された矩形ウィンドウ内の輝度値から、勾配方向のヒストグラム特徴を生成する。そして、生成した勾配方向のヒストグラム特徴を、対象物体の有無を判定する識別器に入力することにより、矩形ウィンドウ内の対象物体の有無を判定する。
【0003】
このように、画像内に対象物体が存在するかどうかの判定は、入力画像上でウィンドウをスキャンしながら前述した処理を繰り返し行うことにより実行される。なお、人物の有無を判定する識別器には、非特許文献3に記載されているようなサポートベクターマシン(以下、SVM)が用いられている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】F. Han, Y. Shan, R. Cekander, S. Sawhney, and R. Kumar, "A Two-Stage Approach to People and Vehicle Detection With HOG-Based SVM", PerMIS, 2006
【非特許文献2】M. Bertozzi, A. Broggi, M. Del Rose, M. Felisa, A. Rakotomamonjy and F. Suard, "A Pedestrian Detector Using Histograms of Oriented Gradients and a Support Vector Machine Classifier", IEEE Intelligent Transportation Systems Conference, 2007
【非特許文献3】V. Vapnik. "Statistical Learning Theory", John Wiley & Sons, 1998
【非特許文献4】御手洗祐輔, 森克彦, 真継優和, "選択的モジュール起動を用いたConvolutional Neural Networksによる変動にロバストな 顔検出システム", FIT (情報科学技術フォーラム), Ll-013, 2003
【非特許文献5】P. Viola, M. Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", in Proc. Of CVPR, vol.1, pp.511-518, December, 2001
【非特許文献6】P. Ekman and W. Frisen, "Facial Action Coding System", Consulting Psychologists Press, Palo Alto, CA, 1978
【非特許文献7】S. Z. Selim and M. A. Ismail, "K-means-Type Algorithm", IEEE Trans. On Pattern Analysis and Machine Intelligence, 6-1, pp.81-87, 1984
【発明の概要】
【発明が解決しようとする課題】
【0005】
前述したような、車などの乗り物や人体を検出する手法では、車などの乗り物や人体の輪郭を勾配方向のヒストグラムとして表現するようにしている。一方、勾配ヒストグラムを用いた認識技術は、ほとんどが車や人体検出に使用されているため、表情認識及び個人識別に適用された例は、ほとんど存在しない。表情認識及び個人識別では、顔面を構成する眼や口の形状や、頬の筋肉が持ち上がることによって発生するしわなどが非常に重要である。そこで、眼や口の形状やしわの発生を勾配方向のヒストグラムで間接的に、かつ各種変動要因に対しロバストとなるように表現することによって、人物の表情や個人の認識を実現できる可能性がある。
【0006】
勾配方向のヒストグラムを生成する際には、様々なパラメータが存在し、これらのパラメータをどのように設定するかによって、画像認識性能が大きく異なる。したがって、検出された顔のサイズに基づいて、適切な勾配方向のヒストグラムのパラメータを設定すると、より高精度な表情認識を実現することができる可能性がある。
【0007】
このように、これまでの特定物体、特定パターンの検出に際して、対象物体及び対象カテゴリの特性に応じて適切な勾配ヒストグラムパラメータの設定方法が明らかでなかった。なお、ここでいう勾配ヒストグラムパラメータとは、勾配ヒストグラム群を生成する領域、勾配ヒストグラムのビンの幅、1つの勾配ヒストグラムを生成する際に使用する画素数、及び勾配ヒストグラム群を正規化する領域である。
【0008】
また、前述したように、車などの乗り物や人体などを検出する場合と異なり、表情認識及び個人識別技術では、眼や口などの大まかなパーツの形状に加えて、しわなどの細かな特徴も非常に重要である。しかしながら、しわについては、眼や口と比較するとより細かな特徴となるため、眼や口の形状を勾配ヒストグラムとして表現する際のパラメータと、しわなどを勾配ヒストグラムとして表現するパラメータとでは、大きく異なる。さらに、しわなどの細かな特徴は、顔のサイズが小さくなると信頼性が低下するという問題点がある。
【0009】
本発明は前述の問題点に鑑み、画像に含まれる人物の表情や個人を高精度に識別できるようにすることを目的としている。
【課題を解決するための手段】
【0010】
本発明の画像認識装置は、入力された画像データから人物の顔を検出する顔検出手段と、前記顔検出手段による顔検出結果に基づいて、画素値の勾配方向及び勾配強度を示す勾配ヒストグラムを生成するためのパラメータを設定するパラメータ設定手段と、前記パラメータ設定手段によって設定されたパラメータに基づいて、前記顔検出手段によって検出された顔の領域から、前記勾配ヒストグラムを生成する対象となる領域を1つ以上、設定する領域設定手段と、前記パラメータ設定手段によって設定されたパラメータに基づいて、前記領域設定手段によって設定された領域毎に、前記勾配ヒストグラムを生成する生成手段と、前記生成手段によって生成された勾配ヒストグラムを用いて、前記顔検出手段によって検出された顔を識別する識別手段とを備えたことを特徴とする。
【発明の効果】
【0011】
本発明によれば、顔の細かい領域において、勾配方向及び勾配強度を算出することができる。これにより、画像に含まれる人物の表情や個人を高精度に識別することができる。
【図面の簡単な説明】
【0012】
【図1】各実施形態に係る画像認識装置の機能構成例を示すブロック図である。
【図2】第1の実施形態において、顔検出結果の一例を示す図である。
【図3】第1の実施形態において使用されるテーブルの一例を示す図である。
【図4】第2の実施形態において、左右の眼の幅に基づいて、眼領域、頬領域、口領域を設定する場合の一例を示す図である。
【図5】第1の実施形態における勾配ヒストグラム特徴ベクトル生成部の詳細な構成例を示すブロック図である。
【図6】第2、第3及び第4の実施形態において、設定されるパラメータのテーブルを示す図である。
【図7】第2の実施形態において、表情コードと動作との関係及び表情と表情コードとの関係の一例を示す図である。
【図8】第1の実施形態において、勾配強度と、勾配方向とを画像として表した図である。
【図9】tanh-1と、近似直線とを示す図である。
【図10】第1の実施形態において、勾配ヒストグラムを生成する領域(セル)を示す図である。
【図11】第2の実施形態において、各表情コードを識別する識別器を示す図である。
【図12】セルを重複させた例を示す図である。
【図13】第1の実施形態において、勾配強度と勾配方向とから各セルに勾配ヒストグラムを生成した場合の全体イメージを示す図である。
【図14】第2の実施形態において、画像データを入力してから顔認識を行うまでの処理手順の一例を示すフローチャートである。
【図15】一部の勾配強度と勾配方向とを用いて、勾配ヒストグラムを生成する際に選択されるセルの一例を示す図である。
【図16】第3の実施形態において、生成した特徴ベクトルからグループまたは個人を特定する際のイメージ例を示す図である。
【図17】正規化領域を3×3セルとした場合のイメージの一例を示す図である。
【図18】第5の実施形態に係る撮像装置の構成例を示す図である。
【図19】勾配ヒストグラムを生成する領域を局所領域として設定する場合の例を示す図である。
【図20】第1の実施形態において、複数の表情を識別する処理手順の一例を示す図である。
【図21】第1の実施形態において、画像データを入力してから顔認識を行うまでの処理手順の一例を示すフローチャートである。
【図22】第1の実施形態において、パラメータを探索する処理手順の一例を示すフローチャートである。
【図23】第5の実施形態に係る撮像装置の全体の処理手順の一例を示すフローチャートである。
【図24】第2の実施形態において、正規化した画像の一例を示す図である。
【発明を実施するための形態】
【0013】
(第1の実施形態)
以下、本発明を実施するための第1の実施形態について図面を参照しながら説明する。本実施形態では、顔のサイズに基づいて、勾配ヒストグラムのパラメータを設定する例について説明する。
【0014】
図1(a)は、本実施形態に係る画像認識装置1001の機能構成例を示す図である。
図1(a)において、画像認識装置1001は、画像入力部1000、顔検出部1100、画像正規化部1200、パラメータ設定部1300、勾配ヒストグラム特徴ベクトル生成部1400及び表情識別部1500で構成されている。なお、本実施形態では、人物の表情を認識する処理について説明する。
【0015】
画像入力部1000は、レンズなどの集光素子、光を電気信号に変換するCMOSやCCDなどの撮像素子、アナログ信号をデジタル信号に変換するAD変換器を通過することによって、得られた画像データを入力する。また、画像入力部1000に入力される画像データは、間引き処理等を行うことによって、低解像度の画像データに変換されている。例えば、VGA(640×480[pixel])やQVGA(320×240[pixel])に変換した画像データを入力する。
【0016】
顔検出部1100は、画像入力部1000に入力された画像データに対して顔検出処理を実行する。顔検出処理は、例えば、非特許文献4や非特許文献5に記載されているような顔検出手法がある。本実施形態においては、非特許文献4に記載の技術を用いている。
【0017】
なお、非特許文献4では、Convolutional Neural Networksを用いて階層的に低次特徴(エッジレベル)から高次特徴(眼・口・顔レベル)を抽出するような処理を行っている。このため、顔検出部1100では、図2(a)に示す顔の中心座標(x,y)203のみならず、右の眼の中心座標(x,y)204、左の眼の中心座標(x,y)205、及び口の中心座標(x,y)206も取得することができる。顔検出部1100で得られた顔の中心座標(x,y)203、右の眼の中心座標(x,y)204、及び左の眼の中心座標(x,y)205についての情報は、後述する画像正規化部1200及びパラメータ設定部1300で用いられる。
【0018】
画像正規化部1200は、顔検出部1100で得られた顔の中心座標(x,y)203、右の眼の中心座標(x,y)204、及び左の眼の中心座標(x,y)205の情報を用いて、顔領域のみが含まれるような画像(以下、顔画像)を生成する。つまり、画像入力部1000に入力された画像データから画像の幅wと高さhとが所定のサイズで、かつ顔の向きが正立するように、第1の正規化手段として機能することにより顔の切り出し処理とアフィン変換処理とを行う。
【0019】
図2(a)に示すように、顔検出部1100で別の顔202も検出された場合には、顔検出部1100での顔検出結果から算出された左右の眼の中心座標間距離Ewと、図3(a)に示すような生成する画像サイズを決定するためのテーブルを用いる。そして、このテーブルを用いて、生成した顔画像が所定の幅w及び高さhとなり、かつ顔の向きが正立するような顔画像を生成する。
【0020】
例えば、図2(a)に示す顔201の左右の眼の中心座標間距離Ew1が30である場合には、図3(a)のテーブルに従って、図2(b)に示すように、生成する画像の幅wを60、高さhを60とする。なお、顔の向きについては、右の眼の中心座標(x,y)204、及び左の眼の中心座標(x,y)205から算出した傾きを用いる。また、本実施形態においては、切り出し画像の幅w及び高さhを、図3(a)に示すテーブルのように設定しているが、これに限定されるわけではない。以降では、図2(a)に示す顔201において、左右の眼の中心座標間距離Ew1が30であり、生成する画像の幅を60、高さを60として説明する。
【0021】
パラメータ設定部1300は、左右の眼の中心座標間距離Ewに基づいて、勾配ヒストグラム特徴ベクトル生成部1400で用いるパラメータの設定を行う。すなわち、本実施形態においては、顔検出部1100で検出された顔のサイズ毎に、後述する勾配ヒストグラムを作成する際のパラメータを設定するようにしている。なお、本実施形態では、左右の眼の中心座標間距離Ewを用いて勾配ヒストグラム特徴ベクトル生成部1400でのパラメータ設定を行っているが、顔の大きさに相当する値であれば、左右の眼の中心座標間距離Ew以外でも構わない。
【0022】
パラメータ設定部1300において設定するパラメータは以下の4つである。なお、夫々のパラメータの詳細な説明は、後述する。
第1のパラメータ:勾配方向と強度を算出する際の周辺4画素値までの距離(ΔxとΔy)。
第2のパラメータ:1つの勾配ヒストグラムを生成する領域(以下、1セル)。
第3のパラメータ:1つの勾配ヒストグラムのビンの幅。
第4のパラメータ:勾配ヒストグラムを正規化する領域。
【0023】
勾配ヒストグラム特徴ベクトル生成部1400は、表情を認識するための特徴ベクトルを生成する。また、勾配ヒストグラム特徴ベクトル生成部1400は、図5に示すように、勾配強度・方向算出部1410、勾配ヒストグラム生成部1420、及び正規化処理部1430から構成されている。
【0024】
勾配強度・方向算出部1410は、画像正規化部1200において切り出された夫々の顔画像の全画素に対して、以下の数1に示す式を用いて、所定の範囲内の勾配強度と勾配方向とを算出する。すなわち、ある注目画素値I(x,y)を中心として上下左右の周辺4画素値(I(x−Δx,y)、I(x+Δx,y)、I(x,y−Δy)、I(x,y+Δy))を用いて、勾配強度と勾配方向とを算出する。
【0025】
【数1】
【0026】
第1のパラメータであるΔx、及びΔyは、勾配強度と勾配方向とを算出するためのパラメータであり、これらの値は、左右の眼の中心座標間距離Ewに基づいて、予め用意されたテーブル等を用いることによって、パラメータ設定部1300で設定される。
【0027】
図3(b)は、左右の眼の中心座標間距離Ewに基づいて設定されるΔx及びΔyの値のテーブルの一例を示している。例えば、左右の眼の中心座標間距離Ew=30[pixel](60×60[pixel]の画像)に対しては、パラメータ設定部1300ではΔx=1、Δy=1として設定される。勾配強度・方向算出部1410では、Δx=1、Δy=1を代入して、注目画像毎に勾配強度と勾配方向とを算出する。
【0028】
図8は、図2(b)の顔201に対して、勾配強度と勾配方向とを算出し、勾配強度と勾配方向とを夫々、画像(以下、勾配強度・方向画像)として示した場合の一例を示す図である。図8(a)に示す画像211の白色領域においては、勾配が大きいことを示しており、図8(b)に示す画像212の矢印は勾配の方向を示している。なお、勾配方向を算出する際には、図9に示すように、tanh-1を直線として近似すると処理負荷が軽減され、より高速な処理が実現できる。
【0029】
勾配ヒストグラム生成部1420は、勾配強度・方向算出部1410において生成した勾配強度・方向画像を用いて勾配ヒストグラムを生成する。まず、図10に示すように勾配強度・方向算出部1410で生成した勾配強度・方向画像を、1領域がn1×m1[pixel]とする領域221(以下、1セル)に分割する。
【0030】
第2のパラメータである1セルをn1×m1[pixel]と設定する場合についても、予め用意されたテーブルなどを用いて、パラメータ設定部1300が生成領域設定手段として機能することにより設定される。
【0031】
図3(c)は、左右の眼の中心座標間距離Ewに基づいて設定される領域221の幅n1と高さm1とのテーブルの一例を示す図である。例えば、左右の眼の中心座標間距離Ew=30[pixel](60×60[pixel]の画像)に対しては、1セル(n1×m1)は、5×5[pixel]として設定される。なお、本実施形態では、図10に示すように、各セル間が重複しないように領域を設定しているが、図12に示すように、第1の領域225及び第2の領域226においてセル間を重複させるようにして領域を設定してもよい。このようにすると変動により頑健になる。
【0032】
次に、勾配ヒストグラム生成部1420は、図13(a)に示すように、n1×m1[pixel]で構成される各セルに対して横軸を勾配方向、縦軸を強度の和となるヒストグラム(勾配ヒストグラム231)を生成する。すなわち、n1×m1個の勾配強度の値と、勾配方向の値とを用いて1つの勾配ヒストグラム231を生成する。
【0033】
第3のパラメータである勾配ヒストグラム231の横軸(ビンの幅)は、予め用意されたテーブルなどを用いて、パラメータ設定部1300で設定されるパラメータの1つである。具体的には、左右の眼の中心座標間距離Ewに基づいて、図13(a)に示す勾配ヒストグラム231のビンの幅Δθをパラメータ設定部1300で設定する。
【0034】
図3(d)は、左右の眼の中心座標間距離Ewに基づいて、勾配ヒストグラム231のビンの幅を決定するテーブルの一例を示す図である。例えば、左右の眼の中心座標間距離Ew=30[pixel](60×60[pixel]の画像)に対しては、勾配ヒストグラム231のビンの幅Δθは20°に設定される。なお、本実施形態においては、θの最大値を180°としているため、図3(d)に示す例では、勾配ヒストグラム231のビンの数は9となる。
【0035】
このように本実施形態では、図10のn1×m1個のすべての勾配強度の値と、勾配方向の値とを用いて勾配ヒストグラムを生成している。一方、図15に示すように、n1×m1個のうち、一部の勾配強度の値と、勾配方向の値とだけを用いて勾配ヒストグラムを生成するようにしてもよい。
【0036】
図5の正規化処理部1430は第2の正規化手段として機能し、図13(b)に示すようにn2×m2[セル]ウィンドウ241を1セルずつ移動させながら、n2×m2[セル]ウィンドウ241内の勾配ヒストグラムの各要素に対して正規化処理を実行する。なお、i行目のj列目のセルをFijとし、セルFijを構成するヒストグラムのビンの数をnとすると、セルFijは[fij_1,・・・・・・,fij_n]と表すことができる。以下では、より分かりやすく説明するために、n2×m2を3×3[セル]、ヒストグラムのビンの数をn=9とした場合の正規化処理について説明する。
【0037】
3×3[セル]における各セルは、図17に示すように、F11〜F33と表すことができる。また、例えば、セルF11は、図17に示すように、F11=[f11_1,・・・・・・,f11_9]と表すことができる。正規化処理では、まず、図17に示す3×3[セル]において、以下の数2に示す式を用いて3×3[セル]におけるノルム(Norm)を算出する。本実施形態では、L2ノルムを採用する。
【0038】
【数2】
【0039】
なお、例えば、(F11)2は、以下の数3に示す式のように表すことができる。
【0040】
【数3】
【0041】
次に、以下の数4に示す式を用いて、数2に示した式を用いて算出したノルムで各セルFijを割ることにより正規化処理を実行する。
【0042】
【数4】
【0043】
そして、3×3[セル]のウィンドウを1セルずつシフトさせながら、w5×h5のすべてのセルに対して、数4に示した式により計算を繰り返し実行し、生成した正規化ヒストグラムを1つの特徴ベクトルVとして生成する。よって、特徴ベクトルVは、以下の数5に示す式により表すことができる。
【0044】
【数5】
【0045】
第4のパラメータである正規化処理時のウィンドウ241のサイズ(領域)に関しても、予め用意されたテーブルなどを用いて、パラメータ設定部1300で設定されるパラメータの1つである。図3(e)は、左右の眼の中心座標間距離Ewに基づいて、設定される正規化処理時のウィンドウ241の幅n2及び高さm2を決定するテーブルの一例を示す図である。例えば、左右の眼の中心座標間距離Ew=30[pixel](60×60[pixel]の画像)に対しては、正規化領域は、図3(e)に示すように、n2×m2=3×3[セル]として設定される。
【0046】
なお、この正規化処理は、照明変動などの影響を軽減するために行われるものである。したがって、比較的照明条件などが良い環境下では、この正規化処理を実行しなくてもよい。また、光源の方向によっては、例えば、正規化した画像の一部だけが影となる場合がある。この場合は、例えば、図10に示すn1×m1領域毎に、輝度値の平均値と分散値とを算出し、平均値が所定の閾値より小さくて、かつ、分散値が所定の閾値よりも小さい場合のみ正規化処理を実行するようにしてもよい。
【0047】
なお、本実施形態では、顔全体から特徴ベクトルVを生成したが、図19に示すように、特に表情変化に敏感な眼の周辺領域251と口の周辺領域252との局所領域のみから特徴ベクトルVを生成するようにしてもよい。また、この場合の局所領域の設定は、左右の眼の中心位置(x,y)、口の中心位置(x,y)、及び顔の位置(x,y)は特定できているので、これらの位置と左右の眼の中心位置間距離Ew3とを用いて局所領域を設定する。
【0048】
図1(a)の表情識別部1500では、非特許文献3に開示されているようなサポートベクターマシン(以下、SVM)を用いて、表情を識別する。SVMは、2値判定のため、各表情を判定するためのSVMを複数用意しておいて、図20に示す手順のように、これらの判定を順次実行することによって、最終的に表情を決定する。
【0049】
また、図20に示す表情の識別は、画像正規化部1200で生成される画像のサイズ毎に異なっており、画像正規化部1200で生成される画像のサイズに対応した表情の識別が実行される。なお、図20に示す表情(1)のSVMによる学習時には、表情(1)のデータと、表情(1)以外のデータとを使用することによって学習する。例えば、喜び表情と、喜び表情以外とである。
【0050】
表情を識別する場合には、2通りのパターンが考えられる。1つ目は、本実施形態のように、特徴ベクトルVから直接表情を識別する方法である。2つ目は、特徴ベクトルVから顔面を構成する表情筋の動きを推定し、推定された表情筋の動きの組み合わせが予め決められたどの表情ルールに一致するかを探索することにより表情を識別する方法がある。なお、表情ルールは、非特許文献6に記載されている方法を用いる。
【0051】
また、表情ルールを使用する場合には、表情識別部1500におけるSVMは、どの表情筋の動作に対応するかを判別するための識別器となる。したがって、表情筋の動作が100通り存在するならば、100個の表情筋を判別するためのSVMを用意する。
【0052】
図21は、図1(a)における画像入力部1000から表情識別部1500において、画像データを入力してから顔認識を行うまでの処理手順の一例を示すフローチャートである。
まず、ステップS2000において、画像入力部1000は画像データを入力する。そして、ステップS2001において、顔検出部1100は、画像入力部1000によって入力された画像データに対して顔検出処理を実行する。
【0053】
次に、ステップS2002において、画像正規化部1200は、ステップS2001で実行された顔検出結果に基づいて、顔領域の切り出し処理とアフィン変換処理とを行い、正規化画像を生成する。例えば、入力画像に顔が2つ存在する場合には、2枚の正規化画像を取得することができる。そして、ステップS2003において、画像正規化部1200は、ステップS2002で生成した複数の正規化画像のうち、1枚の正規化画像を選択する。
【0054】
次に、ステップS2004において、パラメータ設定部1300は、ステップS2003で選択された正規化画像の左右の眼中心座標間の距離Ewに基づいて、勾配方向と勾配強度とを算出するための周辺4画素までの距離を決定し、第1のパラメータを設定する。そして、ステップS2005において、パラメータ設定部1300は、ステップS2003で選択された正規化画像の左右の眼の中心座標間距離Ewに基づいて、1セルを構成する画素数の決定し、第2のパラメータを設定する。
【0055】
次に、ステップS2006において、パラメータ設定部1300は、ステップS2003で選択された正規化画像の左右の眼の中心座標間距離Ewに基づいて、勾配ヒストグラムのビンの数を決定し、第3のパラメータを設定する。そして、ステップS2007において、パラメータ設定部1300は、ステップS2003で選択された正規化画像の左右の眼の中心座標間距離Ewに基づいて、正規化領域を決定し、第4のパラメータを設定する。
【0056】
次に、ステップS2008において、勾配強度・方向算出部1410は、ステップS2004で設定された第1のパラメータに基づいて、勾配強度と勾配方向とを算出する。そして、ステップS2009において、勾配ヒストグラム生成部1420は、ステップS2005及びステップS2006で設定された第2のパラメータ及び第3のパラメータに基づいて、勾配ヒストグラムを生成する。
【0057】
次に、ステップS2010において、正規化処理部1430は、ステップS2007で設定された第4のパラメータに基づいて、勾配ヒストグラムに対して正規化処理を実行する。そして、ステップS2011において、表情識別部1500は、正規化画像の左右の眼の中心座標間距離Ewに基づいて、正規化画像のサイズに対応した表情識別器(SVM)を選択する。そして、ステップS2012において、ステップS2011で選択したSVMと、ステップS2010で生成した正規化処理された勾配ヒストグラムの各要素とから生成した特徴ベクトルVを用いて表情の識別を行う。
【0058】
次に、ステップS2013において、画像正規化部1200は、ステップS2001で検出したすべての顔に対して表情識別処理を実行したかどうかを判定する。この判定の結果、すべての顔に対して表情識別処理を実行していない場合は、ステップS2003に戻る。一方、ステップS2013の判定の結果、すべての顔に対して表情識別処理を実行した場合は、ステップS2014に進む。
【0059】
次に、ステップS2014において、次の画像に対して表情識別処理を実行するかどうかを判定する。この判定の結果、次の画像に対して表情識別処理を実行する場合、ステップS2000に戻る。一方、ステップS2014の判定の結果、次の画像に対して表情識別処理を実行しない場合は、全体処理を終了する。
【0060】
次に、図3(a)〜図3(e)に示したテーブルの作成方法について説明する。
図3(a)〜図3(e)に示したテーブルを作成する場合には、まず、予め様々なパラメータ値のリストと、表情を含む学習のための学習画像と、学習結果を検証する検証画像とを用意する。次に、あるパラメータと学習画像とを用いて生成した特徴ベクトルVを用いて表情識別器(SVM)に学習させ、学習した表情識別器を検証画像で評価する。そして、この処理をすべてのパラメータの組み合わせに対して実行することで、最適なパラメータを決定するようにしている。
【0061】
図22は、パラメータを探索する処理手順の一例を示すフローチャートである。
まず、ステップS1900において、パラメータ設定部1300は、パラメータリストを生成する。具体的には、以下のパラメータリストを作成する。
(1)図3(a)に示す、正規化する画像の幅w及び高さh
(2)図3(b)に示す、勾配方向と勾配強度を算出するための周辺4画素値までの距離(Δx及びΔy)
(3)図3(c)に示す、1セルを構成する際の画素数(第2のパラメータ)
(4)図3(d)に示す、勾配ヒストグラムのビンの数(第3のパラメータ)
(5)図3(e)に示す、勾配ヒストグラムを正規化する領域(第4のパラメータ)
【0062】
次に、ステップS1901において、パラメータ設定部1300は、これらのパラメータリストから1つのパラメータの組み合わせを選択する。例えば、20≦Ew<30、w=50、h=50、Δx=1、Δy=1、n1=5、m1=1、Δθ=15、n2=3、m2=3などのようにパラメータの組み合わせを選択する。
【0063】
次に、ステップS1902において、画像正規化部1200は、ステップS1901で選択した左右の眼の中心座標間距離Ewに対応する画像を、予め用意された学習画像から選択する。なお、学習画像には、正解となる左右の眼の中心座標間距離Ewと表情ラベルとが予め存在する。
【0064】
次に、ステップS1903において、正規化処理部1430は、ステップS1902で選択した学習画像と、ステップS1901で選択したパラメータとを用いて、特徴ベクトルVを生成する。そして、ステップS1904において、表情識別部1500は、ステップS1903で生成したすべての特徴ベクトルVと正解となる表情ラベルとを用いて、表情識別器の学習を行わせる。
【0065】
次に、ステップS1905において、学習画像とは別に用意された検証画像から、ステップS1901で選択した左右の眼の中心座標間距離Ewに対応する画像を選択する。そして、ステップS1906において、ステップS1903同様に検証画像から特徴ベクトルVを生成する。
【0066】
次に、ステップS1907において、表情識別部1500は、ステップS1906で生成した特徴ベクトルVと、ステップS1904で学習した表情識別器とを用いて表情識別の精度を検証する。
【0067】
次に、ステップS1908において、パラメータ設定部1300は、ステップS1900のすべてのパラメータの組み合わせに対して実行したかどうかを判定する。この判定の結果、すべてのパラメータの組み合わせに対して実行していない場合は、ステップS1901に戻り、次のパラメータの組み合わせを選択する。一方、ステップS1908の判定の結果、すべてのパラメータの組み合わせに対して実行した場合は、ステップS1909に進み、左右の眼の中心座標間距離Ew毎に表情識別率の最も高いパラメータをテーブルに設定する。
【0068】
以上のように本実施形態によれば、検出された左右の眼の中心座標間距離Ewに基づいて、勾配ヒストグラムを生成する際のパラメータを決定して、表情を識別するようにした。これにより、より高精度な表情識別処理を実現することができる。
【0069】
(第2の実施形態)
以下、本発明を実施するための第2の実施形態について図面を参照しながら説明する。本実施形態では、顔の領域毎にパラメータを変える例について説明する。
【0070】
図1(b)は、本実施形態の画像認識装置2001の機能構成例を示すブロック図である。
図1(b)において、画像認識装置2001は、画像入力部2000、顔検出部2100、顔画像正規化部2200、領域設定部2300、領域パラメータ設定部2400、勾配ヒストグラム特徴ベクトル生成部2500及び表情識別部2600で構成されている。なお、画像入力部2000及び顔検出部2100は、第1の実施形態で説明した図1(a)と同様であるため、説明を省略する。
【0071】
顔画像正規化部2200は、図24に示すように、顔検出部2100で検出された顔301に対して、顔向きが正立し、かつ左右の眼の中心座標間距離Ewが所定の距離となるように、画像切り出し処理とアフィン変換処理とを実行する。そして、正規化した顔画像302を生成する。なお、本実施形態においては、すべての顔に対して、左右の眼の中心座標間距離Ewが30となるようにする。
【0072】
領域設定部2300は領域抽出手段として機能し、顔画像正規化部2200で正規化された画像に対して、領域の設定を行う。具体的には、右の眼の中心座標(x,y)310及び左の眼の中心座標(x,y)311と、顔中心座標(x,y)312と、口の中心座標(x,y)313とを用いて、図4に示すように、領域の設定を行う。
【0073】
領域パラメータ設定部2400は、領域設定部2300で設定された各領域に対して、勾配ヒストグラム特徴ベクトル生成部2500において勾配ヒストグラムを生成するためのパラメータの設定を行う。本実施形態では、各領域のパラメータの値は、例えば、図6(a)に示すように設定する。図4の右の頬領域321及び左の頬領域322では、筋肉が持ち上がることによって、しわが発生するなどの細かな特徴の変化を捉えるため、勾配ヒストグラムを生成する領域(n1,m1)を小さくし、更に勾配ヒストグラムのビンの幅Δθを小さくしている。
【0074】
勾配ヒストグラム特徴ベクトル生成部2500は、領域パラメータ設定部2400で設定されたパラメータを用いて、第1の実施形態で説明した手順と同様に、各領域の特徴ベクトルを生成する。なお、本実施形態では、眼領域320から生成した特徴ベクトルをVe、右の頬領域321及び左の頬領域322から生成した特徴ベクトルをVc、口領域323から生成した特徴ベクトルをVmとする。
【0075】
表情識別部2600は、勾配ヒストグラム特徴ベクトル生成部2500で生成した特徴ベクトルVe、Vc、Vmを用いて表情識別を行う。表情識別部2600では、非特許文献6に記述されている表情コードを識別することにより表情識別を行う。
【0076】
表情コードと動作との対応の一例を、図7(a)に示す。例えば、図7(b)に示すように、喜び表情は表情コード6と表情コード12とにより表すことができ、驚き表情は表情コード1と表情コード2と表情コード5と表情コード26とで表すことができる。具体的には、図11に示すように、表情コード毎に識別器を用意しておく。そして、勾配ヒストグラム特徴ベクトル生成部2500で生成した特徴ベクトルVe、Vc、Vmをこれらの識別器に入力し、どの表情コードが生起しているか識別することにより、表情の識別を行う。なお、表情コードの識別には、第1の実施形態と同様にSVMを用いる。
【0077】
図14は、本実施形態において、画像データを入力してから顔認識を行うまでの処理手順の一例を示すフローチャートである。
まず、ステップS3000において、画像入力部2000は画像データを入力する。そして、ステップS3001において、顔検出部2100は、画像入力部2000によって入力された画像データに対して顔検出処理を実行する。
【0078】
次に、ステップS3002において、顔画像正規化部2200は、ステップS3001で実行された顔検出結果に基づいて、顔領域の切り出し処理とアフィン変換処理とを行い、正規化画像を生成する。例えば、入力画像に顔が2つ存在する場合には、2枚の正規化画像を取得することができる。そして、ステップS3003において、顔画像正規化部2200は、ステップS3002で生成した複数の正規化画像のうち、1枚の正規化画像を選択する。
【0079】
次に、ステップS3004において、領域設定部2300は、ステップS3003で選択された正規化画像に対して、眼領域、頬領域、口領域などの領域設定を行う。そして、ステップS3005において、領域パラメータ設定部2400は、ステップS3004で設定された各領域に対して、勾配ヒストグラムを生成するためのパラメータ設定を行う。
【0080】
次に、ステップS3006において、勾配ヒストグラム特徴ベクトル生成部2500は、ステップS3004で設定された各領域に、ステップS3005で設定されたパラメータを用いて、勾配方向と勾配強度とを算出する。そして、ステップS3007において、勾配ヒストグラム特徴ベクトル生成部2500は、ステップS3006で算出した勾配方向及び勾配強度と、ステップS3005で設定されたパラメータとを用いて、各領域に対する勾配ヒストグラムを生成する。
【0081】
次に、ステップS3008において、勾配ヒストグラム特徴ベクトル生成部2500は、ステップS3007で算出した勾配ヒストグラムと、ステップS3005で設定されたパラメータとを用いて、各領域に対して算出された勾配ヒストグラムを正規化する。
【0082】
そして、ステップS3009において、勾配ヒストグラム特徴ベクトル生成部2500は、ステップS3008で生成した夫々の領域の正規化された勾配ヒストグラムから特徴ベクトルを生成する。その後、表情識別部2600は、表情コードを識別するための夫々の表情コード識別器に生成した特徴ベクトルを入力する。そして、各表情コードに対応する表情筋動作が生起しているかどうかを調べる。
【0083】
次に、ステップS3010において、表情識別部2600は、表情コードが生起している組み合わせに基づいて、表情を識別する。そして、ステップS3011において、顔画像正規化部2200は、ステップS3001で検出したすべての顔に対して表情識別処理を実行したかどうか判定する。この判定の結果、すべての顔に対して表情識別処理を実行していない場合は、ステップS3003に戻る。
【0084】
一方、ステップS3011の判定の結果、すべての顔に対して表情識別処理を実行した場合は、ステップS3012に進む。そして、ステップS3012において、次の画像に対する処理を実行するかどうかを判定する。この判定の結果、次の画像に対する処理を実行する場合は、ステップS3000に戻る。一方、ステップS3012の判定の結果、次の画像に対する処理を実行しない場合は、全体処理を終了する。
【0085】
以上のように本実施形態によれば、正規化された画像に対して、複数の領域を設定し、各領域に対して勾配ヒストグラムのパラメータを用いるようにしたので、より高精度な表情識別を実現することができる。
【0086】
(第3の実施形態)
以下、本発明を実施するための第3の実施形態について図面を参照しながら説明する。本実施形態では、多重解像度画像を用いて個人識別を行う例について説明する。
【0087】
図1(c)は、本実施形態の画像認識装置3001の機能構成例を示すブロック図である。
図1(c)において、画像認識装置3001は、画像入力部3000、顔検出部3100、画像正規化部3200、複数の解像度画像生成部3300、パラメータ設定部3400、勾配ヒストグラム特徴ベクトル生成部3500及び個人識別部3600で構成される。
なお、画像入力部3000、顔検出部3100、画像正規化部3200は、第1の実施形態で説明した図1(a)と同様であるため、説明を省略する。また、画像正規化部3200において用いる左右の眼の中心座標間距離Ewは第2の実施形態と同様に30とする。
【0088】
複数の解像度画像生成部3300は、画像正規化部3200において正規化された画像(高解像度画像)に対して、さらに間引き処理などを行うことにより、解像度毎の画像(低解像度画像)を生成する。本実施形態では、画像正規化部3200において生成される高解像度画像の幅は60、高さは60とし、低解像度画像の幅は30、高さは30としている。なお、画像の幅及び高さは、これらに限定されるわけではない。
【0089】
パラメータ設定部3400は、図6(b)に示すように、テーブルを用いて各解像度に対して勾配ヒストグラムのパラメータの設定を行う。
【0090】
勾配ヒストグラム特徴ベクトル生成部3500は、パラメータ設定部3400において設定されたパラメータを用いて、各解像度の特徴ベクトルを生成する。特徴ベクトルの生成方法は、第1の実施形態と同様の処理を実行する。また、低解像度画像に対しては、その低解像度画像全体から生成した勾配ヒストグラムを用いて特徴ベクトルVLを生成する。
【0091】
一方、高解像度画像に対しては、図4に示すように、第2の実施形態と同様に領域を設定し、各領域から生成した勾配ヒストグラムを用いて特徴ベクトルVHを生成する。このように、低解像度画像から生成される特徴ベクトルVLは、大局的な大まかな特徴となり、高解像度画像の各領域から生成される特徴ベクトルVHは、個人をより判別しやすくするための局所的な細かな特徴となる。
【0092】
個人識別部3600は、まず、図16(a)に示すように、低解像度画像から生成される特徴ベクトルVLが、どのグループに最も近いかを判別する。具体的には、予め登録しておいた個人毎の登録特徴ベクトルを非特許文献7に記載されているk-mean法などを用いて予めクラスタリングしておく。そして、グループの中心位置と入力した特徴ベクトルVLとの距離を比較することにより、どのグループに最も近いかを判別する。図16(a)に示す例では、特徴ベクトルVLはグループ1に最も近いことを示している。
【0093】
次に、高解像度画像の各領域から生成される特徴ベクトルVHと、特徴ベクトルVLと最も近いグループに含まれる個人毎の登録特徴ベクトルVH_Refとの距離を比較する。これにより、入力された特徴ベクトルVHと最も近い登録特徴ベクトルVH_Refを算出することによって最終的に個人を特定する。図16(b)に示す例では、特徴ベクトルVHが、グループ1に含まれる登録特徴ベクトルVH_Ref1と最も近いことを示している。
【0094】
このように、個人識別部3600は、まず、低解像度画像から抽出される大局的な大まかな特徴を用いて、おおよそのグループを探査する。その後、高解像度画像から抽出される局所的な細かな特徴を用いて個人間の細かな特徴を区別することにより個人を特定するようにしている。したがって、パラメータ設定部3400は、図6(b)に示すように、高解像度画像に対しては、低解像度画像よりも勾配ヒストグラムを生成する領域(1セル)と勾配ヒストグラムのビンの幅(Δθ)とを小さくする。これにより、より細かな特徴を表現している。
【0095】
(第4の実施形態)
以下、本発明を実施するための第4の実施形態について図面を参照しながら説明する。本実施形態では、顔の領域毎に重み付けを行う例について説明する。
【0096】
図1(d)は、本実施形態の画像認識装置4001の機能構成例を示すブロック図である。
図1(d)において、画像認識装置4001は、画像入力部4000、顔検出部4100、顔画像正規化部4200、領域設定部4300及び領域重み付け設定部4400を備えている。さらに、領域パラメータ設定部4500、勾配ヒストグラム特徴ベクトル生成部4600、勾配ヒストグラム特徴ベクトル統合部4700、及び表情識別部4800を備えている。
【0097】
なお、画像入力部4000、顔検出部4100、及び顔画像正規化部4200は、第2の実施形態と同様なため、説明を省略する。また、顔画像正規化部4200において用いる左右の眼の中心座標間距離Ewは第2の実施形態と同様に30とする。さらに、領域設定部4300では、図4に示したように、第2の実施形態と同様の手順で眼領域、頬領域及び口領域を設定する。
【0098】
領域重み付け設定部4400は、図6(c)に示すテーブルを用いて、左右の眼の中心座標間距離Ewに基づいて、領域設定部4300で設定された夫々の領域に対して重み付けを行う。左右の眼の中心座標間距離Ewに基づいて、領域設定部4300で設定された夫々の領域に対して重み付けを行う理由としては、顔のサイズが小さい場合には、頬領域の変化などを捉えることが非常に困難である。そこで、顔のサイズが小さい場合には、眼や口などのみを用いて、表情認識を行うためである。
【0099】
領域パラメータ設定部4500は、第2の実施形態と同様に、図6(a)に示したようなテーブルを用いて勾配ヒストグラム特徴ベクトル生成部4600において勾配ヒストグラムを生成するための各領域のパラメータの設定を行う。
【0100】
勾配ヒストグラム特徴ベクトル生成部4600は、第1の実施形態と同様に、領域設定部4300で設定された夫々の領域毎に、領域パラメータ設定部4500で設定されたパラメータを用いて、特徴ベクトルを生成する。なお、本実施形態では、図4に示す眼領域320から生成した特徴ベクトルをVe、右の頬領域321及び左の頬領域322から生成した特徴ベクトルをVc、口領域313から生成した特徴ベクトルをVmとする。
【0101】
勾配ヒストグラム特徴ベクトル統合部4700は、以下の数6に示す式により、勾配ヒストグラム特徴ベクトル生成部4600で生成した3つの特徴ベクトルと、領域重み付け設定部4400で設定した比重とを用いて、1つの特徴ベクトルを生成する。
【0102】
【数6】
【0103】
表情識別部4800は、勾配ヒストグラム特徴ベクトル統合部4700で生成した重み付き特徴ベクトルにより第1の実施形態と同様にSVMを用いて、表情を識別する。
【0104】
以上のように本実施形態によれば、左右の眼の中心座標間距離Ewに基づいて、特徴ベクトルを生成する領域に対して重み付けを行うようにしたので、より高精度な表情識別を実現することができる。
【0105】
(第5の実施形態)
第1〜第4の実施形態で説明した技術は、言うまでもないが、画像検索に関わらず、電子スチルカメラなどの撮像装置にも応用することができる。図18は、第1〜第4の実施形態で説明した技術を適用した撮像装置3800の構成例を示すブロック図である。
図18において、撮像部3801は、レンズ群、レンズ駆動回路及び撮像素子から構成されている。レンズ駆動回路により絞り等のレンズ群が駆動されることにより、CCDからなる撮像素子の結像面上に被写体像が結像される。そして、撮像素子において光を電荷に変換してアナログ信号を生成し、カメラ信号処理部3803に出力する。
【0106】
カメラ信号処理部3803は、撮像部3801から出力されたアナログ信号に対して、不図示のA/D変換器によりアナログ信号をデジタル信号に変換し、さらにガンマ補正、ホワイトバランス補正等の信号処理を施すためのものである。また、本実施形態では、カメラ信号処理部3803において、第1〜第4の実施形態において説明した顔検出及び画像認識処理を行う。
【0107】
圧縮伸張回路3804は、カメラ信号処理部3803で信号処理された画像データを、例えばJPEG方式などのフォーマットに従って圧縮符号化する。そして、記録再生制御回路3810の制御により、画像記憶手段であるフラッシュメモリ3808に対象となる画像データを記録する。なお、フラッシュメモリ3808ではなく、メモリカード制御部3811に装着されたメモリカード等に記録してもよい。
【0108】
また、記録再生制御回路3810は、操作スイッチ群3809が操作されて、画像を表示部3806に表示する指示を受けると、制御部3807からの指示によりフラッシュメモリ3808に記録されている画像データを読み出す。そして、圧縮伸張回路3804は、画像データを復号化して表示制御部3805に出力する。表示制御部3805は画像データを表示部3806に出力し、画像を表示する。
【0109】
制御部3807は、バス3812を介して撮像装置3800全体を制御するためのものである。また、USB端子3813は、パーソナルコンピュータ(PC)やプリンタなど外部機器と接続するためのものである。
【0110】
図23は、第1〜第4の実施形態で説明した技術を撮像装置3800に適用した場合の処理手順の一例を示すフローチャートである。なお、図23に示す各処理は、制御部3807の制御により行われる。
図23において、電源が投入されることにより処理を開始する。まず、ステップS4000において、撮像装置3800内の内部のメモリの各種フラグや制御変数等を初期化する。
【0111】
次に、ステップS4001において、撮像のモード設定状態を検知し、ユーザーにより操作スイッチ群3809が操作されて表情識別モードが選択されているか否かを判定する。この判定の結果、表情識別モード以外のモードが選択されている場合は、ステップS4002へ進み、選択したモードに応じた処理を行う。
【0112】
一方、ステップS4001の判定の結果、表情識別モードが選択されている場合は、ステップS4003に進み、電源の残容量や動作状況に問題があるか否かを判定する。この判定の結果、問題がある場合は、ステップS4004に進み、表示制御部3805は表示部3806に画像により所定の警告表示を行い、その後、ステップS4001に戻る。なお、画像の代わりに音声により警告を行ってもよい。
【0113】
一方、ステップS4003の判定の結果、電源等に問題が無い場合は、ステップS4005に進む。そして、ステップS4005において、記録再生制御回路3810は、フラッシュメモリ3808に対する画像データの記録再生動作に問題があるか否かを判定する。この判定の結果、問題がある場合は、ステップS4004に進み、画像や音声により所定の警告表示を行い、ステップS4001に戻る。
【0114】
一方、ステップS4005の判定の結果、問題がない場合は、ステップS4006に進む。そして、ステップS4006において、表示制御部3805は、表示部3806に各種設定状態のユーザーインターフェース(以下、UIとする)表示を行う。この表示に基づき、ユーザーによって各種設定がなされる。
【0115】
次に、ステップS4007において、操作スイッチ群3809におけるユーザーの操作に応じて、表示部3806の画像表示をオン状態に設定する。さらに、ステップS4008において、操作スイッチ群3809におけるユーザーの操作に応じて、撮像した画像データを逐次表示するスルー表示状態に設定する。このスルー表示状態では、内部メモリに逐次書き込まれたデータを表示部3806に逐次表示することにより、電子ファインダ機能を実現している。
【0116】
次に、ステップS4009において、操作スイッチ群3809の中の撮影モード開始を示すシャッタースイッチがユーザーによって押されたかどうか判定する。この判定の結果、シャッタースイッチが押されていない場合は、ステップS4001に戻る。一方、ステップS4009の判定の結果、シャッタースイッチが押された場合は、ステップS4010に進み、カメラ信号処理部3803は、第1の実施形態で説明したような顔検出処理を実行する。
【0117】
ステップS4010で人物の顔が検出されると、次に、ステップS4011において、人物の顔に対してAE・AF制御を行う。そして、ステップS4012において、表示制御部3805は、撮像した画像を表示部3806にスルー表示する。
【0118】
次に、ステップS4013において、カメラ信号処理部3803は、第1〜第4の実施形態で説明したような画像認識処理を実行する。そして、ステップS4014において、ステップS4013において行った画像認識処理の結果が所定の状態であるかどうかを判定する。例えば、ステップS4010で検出した顔が喜び表情であるかどうかを判定する。この判定の結果、所定の状態である場合は、ステップS4015へ進み、撮像部3801は、本撮影を行う。例えば、ステップS4010で検出した顔が喜び表情である場合には、本撮影を行う。
【0119】
次に、ステップS4016において、表示制御部3805は、撮影した画像を表示部3806にクイックレビュー表示する。そして、ステップS4017において、圧縮伸張回路3804は、撮影した高解像度画像を符号化し、記録再生制御回路3810は、フラッシュメモリ3808に記録する。すなわち、顔検出処理には間引き処理などによって圧縮された低解像度画像を用い、記録には高解像度画像を用いる。
【0120】
一方、ステップS4014の判定の結果、画像認識処理の結果が所定の状態でない場合は、ステップS4019に進み、ユーザーの操作により強制終了が選択されるかどうか判定する。この判定の結果、ユーザーにより強制終了が選択された場合には、そのまま処理を終了する。一方、ステップS4019の判定の結果、ユーザーにより強制終了が選択されていない場合は、ステップS4018に進み、カメラ信号処理部3803は、次のフレーム画像に対して顔検出処理を実行する。
【0121】
以上のように本実施形態によれば、電子スチルカメラなどの撮像装置にも応用することができる。これにより、撮影した画像に対しても、より高精度な表情識別処理を実現することができる。
【0122】
(本発明に係る他の実施形態)
前述した本発明の実施形態における画像認識装置、撮像装置を構成する各手段、並びに画像認識方法の各工程は、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記憶したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
【0123】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【0124】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図14、21、22、23に示すフローチャートに対応したプログラム)を、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【0125】
また、コンピュータが、読み出したプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【符号の説明】
【0126】
1000 画像入力部、1100 顔検出部、1200 画像正規化部、1300 パラメータ設定部、1400 勾配ヒストグラム生成部、1500 表情識別部
【技術分野】
【0001】
本発明は画像認識装置、撮像装置、画像認識方法、プログラム及び記憶媒体に関し、特に、顔認識処理に用いて好適な技術に関する。
【背景技術】
【0002】
従来技術として、非特許文献1や非特許文献2に記載されている手法のように、勾配方向ヒストグラム(Histograms of Oriented Gradients、またはHOG)という特徴を用いて、乗り物や人物を検出する手法がある。非特許文献1及び非特許文献2に記載の手法では、基本的には、入力画像上のある位置に配置された矩形ウィンドウ内の輝度値から、勾配方向のヒストグラム特徴を生成する。そして、生成した勾配方向のヒストグラム特徴を、対象物体の有無を判定する識別器に入力することにより、矩形ウィンドウ内の対象物体の有無を判定する。
【0003】
このように、画像内に対象物体が存在するかどうかの判定は、入力画像上でウィンドウをスキャンしながら前述した処理を繰り返し行うことにより実行される。なお、人物の有無を判定する識別器には、非特許文献3に記載されているようなサポートベクターマシン(以下、SVM)が用いられている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】F. Han, Y. Shan, R. Cekander, S. Sawhney, and R. Kumar, "A Two-Stage Approach to People and Vehicle Detection With HOG-Based SVM", PerMIS, 2006
【非特許文献2】M. Bertozzi, A. Broggi, M. Del Rose, M. Felisa, A. Rakotomamonjy and F. Suard, "A Pedestrian Detector Using Histograms of Oriented Gradients and a Support Vector Machine Classifier", IEEE Intelligent Transportation Systems Conference, 2007
【非特許文献3】V. Vapnik. "Statistical Learning Theory", John Wiley & Sons, 1998
【非特許文献4】御手洗祐輔, 森克彦, 真継優和, "選択的モジュール起動を用いたConvolutional Neural Networksによる変動にロバストな 顔検出システム", FIT (情報科学技術フォーラム), Ll-013, 2003
【非特許文献5】P. Viola, M. Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", in Proc. Of CVPR, vol.1, pp.511-518, December, 2001
【非特許文献6】P. Ekman and W. Frisen, "Facial Action Coding System", Consulting Psychologists Press, Palo Alto, CA, 1978
【非特許文献7】S. Z. Selim and M. A. Ismail, "K-means-Type Algorithm", IEEE Trans. On Pattern Analysis and Machine Intelligence, 6-1, pp.81-87, 1984
【発明の概要】
【発明が解決しようとする課題】
【0005】
前述したような、車などの乗り物や人体を検出する手法では、車などの乗り物や人体の輪郭を勾配方向のヒストグラムとして表現するようにしている。一方、勾配ヒストグラムを用いた認識技術は、ほとんどが車や人体検出に使用されているため、表情認識及び個人識別に適用された例は、ほとんど存在しない。表情認識及び個人識別では、顔面を構成する眼や口の形状や、頬の筋肉が持ち上がることによって発生するしわなどが非常に重要である。そこで、眼や口の形状やしわの発生を勾配方向のヒストグラムで間接的に、かつ各種変動要因に対しロバストとなるように表現することによって、人物の表情や個人の認識を実現できる可能性がある。
【0006】
勾配方向のヒストグラムを生成する際には、様々なパラメータが存在し、これらのパラメータをどのように設定するかによって、画像認識性能が大きく異なる。したがって、検出された顔のサイズに基づいて、適切な勾配方向のヒストグラムのパラメータを設定すると、より高精度な表情認識を実現することができる可能性がある。
【0007】
このように、これまでの特定物体、特定パターンの検出に際して、対象物体及び対象カテゴリの特性に応じて適切な勾配ヒストグラムパラメータの設定方法が明らかでなかった。なお、ここでいう勾配ヒストグラムパラメータとは、勾配ヒストグラム群を生成する領域、勾配ヒストグラムのビンの幅、1つの勾配ヒストグラムを生成する際に使用する画素数、及び勾配ヒストグラム群を正規化する領域である。
【0008】
また、前述したように、車などの乗り物や人体などを検出する場合と異なり、表情認識及び個人識別技術では、眼や口などの大まかなパーツの形状に加えて、しわなどの細かな特徴も非常に重要である。しかしながら、しわについては、眼や口と比較するとより細かな特徴となるため、眼や口の形状を勾配ヒストグラムとして表現する際のパラメータと、しわなどを勾配ヒストグラムとして表現するパラメータとでは、大きく異なる。さらに、しわなどの細かな特徴は、顔のサイズが小さくなると信頼性が低下するという問題点がある。
【0009】
本発明は前述の問題点に鑑み、画像に含まれる人物の表情や個人を高精度に識別できるようにすることを目的としている。
【課題を解決するための手段】
【0010】
本発明の画像認識装置は、入力された画像データから人物の顔を検出する顔検出手段と、前記顔検出手段による顔検出結果に基づいて、画素値の勾配方向及び勾配強度を示す勾配ヒストグラムを生成するためのパラメータを設定するパラメータ設定手段と、前記パラメータ設定手段によって設定されたパラメータに基づいて、前記顔検出手段によって検出された顔の領域から、前記勾配ヒストグラムを生成する対象となる領域を1つ以上、設定する領域設定手段と、前記パラメータ設定手段によって設定されたパラメータに基づいて、前記領域設定手段によって設定された領域毎に、前記勾配ヒストグラムを生成する生成手段と、前記生成手段によって生成された勾配ヒストグラムを用いて、前記顔検出手段によって検出された顔を識別する識別手段とを備えたことを特徴とする。
【発明の効果】
【0011】
本発明によれば、顔の細かい領域において、勾配方向及び勾配強度を算出することができる。これにより、画像に含まれる人物の表情や個人を高精度に識別することができる。
【図面の簡単な説明】
【0012】
【図1】各実施形態に係る画像認識装置の機能構成例を示すブロック図である。
【図2】第1の実施形態において、顔検出結果の一例を示す図である。
【図3】第1の実施形態において使用されるテーブルの一例を示す図である。
【図4】第2の実施形態において、左右の眼の幅に基づいて、眼領域、頬領域、口領域を設定する場合の一例を示す図である。
【図5】第1の実施形態における勾配ヒストグラム特徴ベクトル生成部の詳細な構成例を示すブロック図である。
【図6】第2、第3及び第4の実施形態において、設定されるパラメータのテーブルを示す図である。
【図7】第2の実施形態において、表情コードと動作との関係及び表情と表情コードとの関係の一例を示す図である。
【図8】第1の実施形態において、勾配強度と、勾配方向とを画像として表した図である。
【図9】tanh-1と、近似直線とを示す図である。
【図10】第1の実施形態において、勾配ヒストグラムを生成する領域(セル)を示す図である。
【図11】第2の実施形態において、各表情コードを識別する識別器を示す図である。
【図12】セルを重複させた例を示す図である。
【図13】第1の実施形態において、勾配強度と勾配方向とから各セルに勾配ヒストグラムを生成した場合の全体イメージを示す図である。
【図14】第2の実施形態において、画像データを入力してから顔認識を行うまでの処理手順の一例を示すフローチャートである。
【図15】一部の勾配強度と勾配方向とを用いて、勾配ヒストグラムを生成する際に選択されるセルの一例を示す図である。
【図16】第3の実施形態において、生成した特徴ベクトルからグループまたは個人を特定する際のイメージ例を示す図である。
【図17】正規化領域を3×3セルとした場合のイメージの一例を示す図である。
【図18】第5の実施形態に係る撮像装置の構成例を示す図である。
【図19】勾配ヒストグラムを生成する領域を局所領域として設定する場合の例を示す図である。
【図20】第1の実施形態において、複数の表情を識別する処理手順の一例を示す図である。
【図21】第1の実施形態において、画像データを入力してから顔認識を行うまでの処理手順の一例を示すフローチャートである。
【図22】第1の実施形態において、パラメータを探索する処理手順の一例を示すフローチャートである。
【図23】第5の実施形態に係る撮像装置の全体の処理手順の一例を示すフローチャートである。
【図24】第2の実施形態において、正規化した画像の一例を示す図である。
【発明を実施するための形態】
【0013】
(第1の実施形態)
以下、本発明を実施するための第1の実施形態について図面を参照しながら説明する。本実施形態では、顔のサイズに基づいて、勾配ヒストグラムのパラメータを設定する例について説明する。
【0014】
図1(a)は、本実施形態に係る画像認識装置1001の機能構成例を示す図である。
図1(a)において、画像認識装置1001は、画像入力部1000、顔検出部1100、画像正規化部1200、パラメータ設定部1300、勾配ヒストグラム特徴ベクトル生成部1400及び表情識別部1500で構成されている。なお、本実施形態では、人物の表情を認識する処理について説明する。
【0015】
画像入力部1000は、レンズなどの集光素子、光を電気信号に変換するCMOSやCCDなどの撮像素子、アナログ信号をデジタル信号に変換するAD変換器を通過することによって、得られた画像データを入力する。また、画像入力部1000に入力される画像データは、間引き処理等を行うことによって、低解像度の画像データに変換されている。例えば、VGA(640×480[pixel])やQVGA(320×240[pixel])に変換した画像データを入力する。
【0016】
顔検出部1100は、画像入力部1000に入力された画像データに対して顔検出処理を実行する。顔検出処理は、例えば、非特許文献4や非特許文献5に記載されているような顔検出手法がある。本実施形態においては、非特許文献4に記載の技術を用いている。
【0017】
なお、非特許文献4では、Convolutional Neural Networksを用いて階層的に低次特徴(エッジレベル)から高次特徴(眼・口・顔レベル)を抽出するような処理を行っている。このため、顔検出部1100では、図2(a)に示す顔の中心座標(x,y)203のみならず、右の眼の中心座標(x,y)204、左の眼の中心座標(x,y)205、及び口の中心座標(x,y)206も取得することができる。顔検出部1100で得られた顔の中心座標(x,y)203、右の眼の中心座標(x,y)204、及び左の眼の中心座標(x,y)205についての情報は、後述する画像正規化部1200及びパラメータ設定部1300で用いられる。
【0018】
画像正規化部1200は、顔検出部1100で得られた顔の中心座標(x,y)203、右の眼の中心座標(x,y)204、及び左の眼の中心座標(x,y)205の情報を用いて、顔領域のみが含まれるような画像(以下、顔画像)を生成する。つまり、画像入力部1000に入力された画像データから画像の幅wと高さhとが所定のサイズで、かつ顔の向きが正立するように、第1の正規化手段として機能することにより顔の切り出し処理とアフィン変換処理とを行う。
【0019】
図2(a)に示すように、顔検出部1100で別の顔202も検出された場合には、顔検出部1100での顔検出結果から算出された左右の眼の中心座標間距離Ewと、図3(a)に示すような生成する画像サイズを決定するためのテーブルを用いる。そして、このテーブルを用いて、生成した顔画像が所定の幅w及び高さhとなり、かつ顔の向きが正立するような顔画像を生成する。
【0020】
例えば、図2(a)に示す顔201の左右の眼の中心座標間距離Ew1が30である場合には、図3(a)のテーブルに従って、図2(b)に示すように、生成する画像の幅wを60、高さhを60とする。なお、顔の向きについては、右の眼の中心座標(x,y)204、及び左の眼の中心座標(x,y)205から算出した傾きを用いる。また、本実施形態においては、切り出し画像の幅w及び高さhを、図3(a)に示すテーブルのように設定しているが、これに限定されるわけではない。以降では、図2(a)に示す顔201において、左右の眼の中心座標間距離Ew1が30であり、生成する画像の幅を60、高さを60として説明する。
【0021】
パラメータ設定部1300は、左右の眼の中心座標間距離Ewに基づいて、勾配ヒストグラム特徴ベクトル生成部1400で用いるパラメータの設定を行う。すなわち、本実施形態においては、顔検出部1100で検出された顔のサイズ毎に、後述する勾配ヒストグラムを作成する際のパラメータを設定するようにしている。なお、本実施形態では、左右の眼の中心座標間距離Ewを用いて勾配ヒストグラム特徴ベクトル生成部1400でのパラメータ設定を行っているが、顔の大きさに相当する値であれば、左右の眼の中心座標間距離Ew以外でも構わない。
【0022】
パラメータ設定部1300において設定するパラメータは以下の4つである。なお、夫々のパラメータの詳細な説明は、後述する。
第1のパラメータ:勾配方向と強度を算出する際の周辺4画素値までの距離(ΔxとΔy)。
第2のパラメータ:1つの勾配ヒストグラムを生成する領域(以下、1セル)。
第3のパラメータ:1つの勾配ヒストグラムのビンの幅。
第4のパラメータ:勾配ヒストグラムを正規化する領域。
【0023】
勾配ヒストグラム特徴ベクトル生成部1400は、表情を認識するための特徴ベクトルを生成する。また、勾配ヒストグラム特徴ベクトル生成部1400は、図5に示すように、勾配強度・方向算出部1410、勾配ヒストグラム生成部1420、及び正規化処理部1430から構成されている。
【0024】
勾配強度・方向算出部1410は、画像正規化部1200において切り出された夫々の顔画像の全画素に対して、以下の数1に示す式を用いて、所定の範囲内の勾配強度と勾配方向とを算出する。すなわち、ある注目画素値I(x,y)を中心として上下左右の周辺4画素値(I(x−Δx,y)、I(x+Δx,y)、I(x,y−Δy)、I(x,y+Δy))を用いて、勾配強度と勾配方向とを算出する。
【0025】
【数1】
【0026】
第1のパラメータであるΔx、及びΔyは、勾配強度と勾配方向とを算出するためのパラメータであり、これらの値は、左右の眼の中心座標間距離Ewに基づいて、予め用意されたテーブル等を用いることによって、パラメータ設定部1300で設定される。
【0027】
図3(b)は、左右の眼の中心座標間距離Ewに基づいて設定されるΔx及びΔyの値のテーブルの一例を示している。例えば、左右の眼の中心座標間距離Ew=30[pixel](60×60[pixel]の画像)に対しては、パラメータ設定部1300ではΔx=1、Δy=1として設定される。勾配強度・方向算出部1410では、Δx=1、Δy=1を代入して、注目画像毎に勾配強度と勾配方向とを算出する。
【0028】
図8は、図2(b)の顔201に対して、勾配強度と勾配方向とを算出し、勾配強度と勾配方向とを夫々、画像(以下、勾配強度・方向画像)として示した場合の一例を示す図である。図8(a)に示す画像211の白色領域においては、勾配が大きいことを示しており、図8(b)に示す画像212の矢印は勾配の方向を示している。なお、勾配方向を算出する際には、図9に示すように、tanh-1を直線として近似すると処理負荷が軽減され、より高速な処理が実現できる。
【0029】
勾配ヒストグラム生成部1420は、勾配強度・方向算出部1410において生成した勾配強度・方向画像を用いて勾配ヒストグラムを生成する。まず、図10に示すように勾配強度・方向算出部1410で生成した勾配強度・方向画像を、1領域がn1×m1[pixel]とする領域221(以下、1セル)に分割する。
【0030】
第2のパラメータである1セルをn1×m1[pixel]と設定する場合についても、予め用意されたテーブルなどを用いて、パラメータ設定部1300が生成領域設定手段として機能することにより設定される。
【0031】
図3(c)は、左右の眼の中心座標間距離Ewに基づいて設定される領域221の幅n1と高さm1とのテーブルの一例を示す図である。例えば、左右の眼の中心座標間距離Ew=30[pixel](60×60[pixel]の画像)に対しては、1セル(n1×m1)は、5×5[pixel]として設定される。なお、本実施形態では、図10に示すように、各セル間が重複しないように領域を設定しているが、図12に示すように、第1の領域225及び第2の領域226においてセル間を重複させるようにして領域を設定してもよい。このようにすると変動により頑健になる。
【0032】
次に、勾配ヒストグラム生成部1420は、図13(a)に示すように、n1×m1[pixel]で構成される各セルに対して横軸を勾配方向、縦軸を強度の和となるヒストグラム(勾配ヒストグラム231)を生成する。すなわち、n1×m1個の勾配強度の値と、勾配方向の値とを用いて1つの勾配ヒストグラム231を生成する。
【0033】
第3のパラメータである勾配ヒストグラム231の横軸(ビンの幅)は、予め用意されたテーブルなどを用いて、パラメータ設定部1300で設定されるパラメータの1つである。具体的には、左右の眼の中心座標間距離Ewに基づいて、図13(a)に示す勾配ヒストグラム231のビンの幅Δθをパラメータ設定部1300で設定する。
【0034】
図3(d)は、左右の眼の中心座標間距離Ewに基づいて、勾配ヒストグラム231のビンの幅を決定するテーブルの一例を示す図である。例えば、左右の眼の中心座標間距離Ew=30[pixel](60×60[pixel]の画像)に対しては、勾配ヒストグラム231のビンの幅Δθは20°に設定される。なお、本実施形態においては、θの最大値を180°としているため、図3(d)に示す例では、勾配ヒストグラム231のビンの数は9となる。
【0035】
このように本実施形態では、図10のn1×m1個のすべての勾配強度の値と、勾配方向の値とを用いて勾配ヒストグラムを生成している。一方、図15に示すように、n1×m1個のうち、一部の勾配強度の値と、勾配方向の値とだけを用いて勾配ヒストグラムを生成するようにしてもよい。
【0036】
図5の正規化処理部1430は第2の正規化手段として機能し、図13(b)に示すようにn2×m2[セル]ウィンドウ241を1セルずつ移動させながら、n2×m2[セル]ウィンドウ241内の勾配ヒストグラムの各要素に対して正規化処理を実行する。なお、i行目のj列目のセルをFijとし、セルFijを構成するヒストグラムのビンの数をnとすると、セルFijは[fij_1,・・・・・・,fij_n]と表すことができる。以下では、より分かりやすく説明するために、n2×m2を3×3[セル]、ヒストグラムのビンの数をn=9とした場合の正規化処理について説明する。
【0037】
3×3[セル]における各セルは、図17に示すように、F11〜F33と表すことができる。また、例えば、セルF11は、図17に示すように、F11=[f11_1,・・・・・・,f11_9]と表すことができる。正規化処理では、まず、図17に示す3×3[セル]において、以下の数2に示す式を用いて3×3[セル]におけるノルム(Norm)を算出する。本実施形態では、L2ノルムを採用する。
【0038】
【数2】
【0039】
なお、例えば、(F11)2は、以下の数3に示す式のように表すことができる。
【0040】
【数3】
【0041】
次に、以下の数4に示す式を用いて、数2に示した式を用いて算出したノルムで各セルFijを割ることにより正規化処理を実行する。
【0042】
【数4】
【0043】
そして、3×3[セル]のウィンドウを1セルずつシフトさせながら、w5×h5のすべてのセルに対して、数4に示した式により計算を繰り返し実行し、生成した正規化ヒストグラムを1つの特徴ベクトルVとして生成する。よって、特徴ベクトルVは、以下の数5に示す式により表すことができる。
【0044】
【数5】
【0045】
第4のパラメータである正規化処理時のウィンドウ241のサイズ(領域)に関しても、予め用意されたテーブルなどを用いて、パラメータ設定部1300で設定されるパラメータの1つである。図3(e)は、左右の眼の中心座標間距離Ewに基づいて、設定される正規化処理時のウィンドウ241の幅n2及び高さm2を決定するテーブルの一例を示す図である。例えば、左右の眼の中心座標間距離Ew=30[pixel](60×60[pixel]の画像)に対しては、正規化領域は、図3(e)に示すように、n2×m2=3×3[セル]として設定される。
【0046】
なお、この正規化処理は、照明変動などの影響を軽減するために行われるものである。したがって、比較的照明条件などが良い環境下では、この正規化処理を実行しなくてもよい。また、光源の方向によっては、例えば、正規化した画像の一部だけが影となる場合がある。この場合は、例えば、図10に示すn1×m1領域毎に、輝度値の平均値と分散値とを算出し、平均値が所定の閾値より小さくて、かつ、分散値が所定の閾値よりも小さい場合のみ正規化処理を実行するようにしてもよい。
【0047】
なお、本実施形態では、顔全体から特徴ベクトルVを生成したが、図19に示すように、特に表情変化に敏感な眼の周辺領域251と口の周辺領域252との局所領域のみから特徴ベクトルVを生成するようにしてもよい。また、この場合の局所領域の設定は、左右の眼の中心位置(x,y)、口の中心位置(x,y)、及び顔の位置(x,y)は特定できているので、これらの位置と左右の眼の中心位置間距離Ew3とを用いて局所領域を設定する。
【0048】
図1(a)の表情識別部1500では、非特許文献3に開示されているようなサポートベクターマシン(以下、SVM)を用いて、表情を識別する。SVMは、2値判定のため、各表情を判定するためのSVMを複数用意しておいて、図20に示す手順のように、これらの判定を順次実行することによって、最終的に表情を決定する。
【0049】
また、図20に示す表情の識別は、画像正規化部1200で生成される画像のサイズ毎に異なっており、画像正規化部1200で生成される画像のサイズに対応した表情の識別が実行される。なお、図20に示す表情(1)のSVMによる学習時には、表情(1)のデータと、表情(1)以外のデータとを使用することによって学習する。例えば、喜び表情と、喜び表情以外とである。
【0050】
表情を識別する場合には、2通りのパターンが考えられる。1つ目は、本実施形態のように、特徴ベクトルVから直接表情を識別する方法である。2つ目は、特徴ベクトルVから顔面を構成する表情筋の動きを推定し、推定された表情筋の動きの組み合わせが予め決められたどの表情ルールに一致するかを探索することにより表情を識別する方法がある。なお、表情ルールは、非特許文献6に記載されている方法を用いる。
【0051】
また、表情ルールを使用する場合には、表情識別部1500におけるSVMは、どの表情筋の動作に対応するかを判別するための識別器となる。したがって、表情筋の動作が100通り存在するならば、100個の表情筋を判別するためのSVMを用意する。
【0052】
図21は、図1(a)における画像入力部1000から表情識別部1500において、画像データを入力してから顔認識を行うまでの処理手順の一例を示すフローチャートである。
まず、ステップS2000において、画像入力部1000は画像データを入力する。そして、ステップS2001において、顔検出部1100は、画像入力部1000によって入力された画像データに対して顔検出処理を実行する。
【0053】
次に、ステップS2002において、画像正規化部1200は、ステップS2001で実行された顔検出結果に基づいて、顔領域の切り出し処理とアフィン変換処理とを行い、正規化画像を生成する。例えば、入力画像に顔が2つ存在する場合には、2枚の正規化画像を取得することができる。そして、ステップS2003において、画像正規化部1200は、ステップS2002で生成した複数の正規化画像のうち、1枚の正規化画像を選択する。
【0054】
次に、ステップS2004において、パラメータ設定部1300は、ステップS2003で選択された正規化画像の左右の眼中心座標間の距離Ewに基づいて、勾配方向と勾配強度とを算出するための周辺4画素までの距離を決定し、第1のパラメータを設定する。そして、ステップS2005において、パラメータ設定部1300は、ステップS2003で選択された正規化画像の左右の眼の中心座標間距離Ewに基づいて、1セルを構成する画素数の決定し、第2のパラメータを設定する。
【0055】
次に、ステップS2006において、パラメータ設定部1300は、ステップS2003で選択された正規化画像の左右の眼の中心座標間距離Ewに基づいて、勾配ヒストグラムのビンの数を決定し、第3のパラメータを設定する。そして、ステップS2007において、パラメータ設定部1300は、ステップS2003で選択された正規化画像の左右の眼の中心座標間距離Ewに基づいて、正規化領域を決定し、第4のパラメータを設定する。
【0056】
次に、ステップS2008において、勾配強度・方向算出部1410は、ステップS2004で設定された第1のパラメータに基づいて、勾配強度と勾配方向とを算出する。そして、ステップS2009において、勾配ヒストグラム生成部1420は、ステップS2005及びステップS2006で設定された第2のパラメータ及び第3のパラメータに基づいて、勾配ヒストグラムを生成する。
【0057】
次に、ステップS2010において、正規化処理部1430は、ステップS2007で設定された第4のパラメータに基づいて、勾配ヒストグラムに対して正規化処理を実行する。そして、ステップS2011において、表情識別部1500は、正規化画像の左右の眼の中心座標間距離Ewに基づいて、正規化画像のサイズに対応した表情識別器(SVM)を選択する。そして、ステップS2012において、ステップS2011で選択したSVMと、ステップS2010で生成した正規化処理された勾配ヒストグラムの各要素とから生成した特徴ベクトルVを用いて表情の識別を行う。
【0058】
次に、ステップS2013において、画像正規化部1200は、ステップS2001で検出したすべての顔に対して表情識別処理を実行したかどうかを判定する。この判定の結果、すべての顔に対して表情識別処理を実行していない場合は、ステップS2003に戻る。一方、ステップS2013の判定の結果、すべての顔に対して表情識別処理を実行した場合は、ステップS2014に進む。
【0059】
次に、ステップS2014において、次の画像に対して表情識別処理を実行するかどうかを判定する。この判定の結果、次の画像に対して表情識別処理を実行する場合、ステップS2000に戻る。一方、ステップS2014の判定の結果、次の画像に対して表情識別処理を実行しない場合は、全体処理を終了する。
【0060】
次に、図3(a)〜図3(e)に示したテーブルの作成方法について説明する。
図3(a)〜図3(e)に示したテーブルを作成する場合には、まず、予め様々なパラメータ値のリストと、表情を含む学習のための学習画像と、学習結果を検証する検証画像とを用意する。次に、あるパラメータと学習画像とを用いて生成した特徴ベクトルVを用いて表情識別器(SVM)に学習させ、学習した表情識別器を検証画像で評価する。そして、この処理をすべてのパラメータの組み合わせに対して実行することで、最適なパラメータを決定するようにしている。
【0061】
図22は、パラメータを探索する処理手順の一例を示すフローチャートである。
まず、ステップS1900において、パラメータ設定部1300は、パラメータリストを生成する。具体的には、以下のパラメータリストを作成する。
(1)図3(a)に示す、正規化する画像の幅w及び高さh
(2)図3(b)に示す、勾配方向と勾配強度を算出するための周辺4画素値までの距離(Δx及びΔy)
(3)図3(c)に示す、1セルを構成する際の画素数(第2のパラメータ)
(4)図3(d)に示す、勾配ヒストグラムのビンの数(第3のパラメータ)
(5)図3(e)に示す、勾配ヒストグラムを正規化する領域(第4のパラメータ)
【0062】
次に、ステップS1901において、パラメータ設定部1300は、これらのパラメータリストから1つのパラメータの組み合わせを選択する。例えば、20≦Ew<30、w=50、h=50、Δx=1、Δy=1、n1=5、m1=1、Δθ=15、n2=3、m2=3などのようにパラメータの組み合わせを選択する。
【0063】
次に、ステップS1902において、画像正規化部1200は、ステップS1901で選択した左右の眼の中心座標間距離Ewに対応する画像を、予め用意された学習画像から選択する。なお、学習画像には、正解となる左右の眼の中心座標間距離Ewと表情ラベルとが予め存在する。
【0064】
次に、ステップS1903において、正規化処理部1430は、ステップS1902で選択した学習画像と、ステップS1901で選択したパラメータとを用いて、特徴ベクトルVを生成する。そして、ステップS1904において、表情識別部1500は、ステップS1903で生成したすべての特徴ベクトルVと正解となる表情ラベルとを用いて、表情識別器の学習を行わせる。
【0065】
次に、ステップS1905において、学習画像とは別に用意された検証画像から、ステップS1901で選択した左右の眼の中心座標間距離Ewに対応する画像を選択する。そして、ステップS1906において、ステップS1903同様に検証画像から特徴ベクトルVを生成する。
【0066】
次に、ステップS1907において、表情識別部1500は、ステップS1906で生成した特徴ベクトルVと、ステップS1904で学習した表情識別器とを用いて表情識別の精度を検証する。
【0067】
次に、ステップS1908において、パラメータ設定部1300は、ステップS1900のすべてのパラメータの組み合わせに対して実行したかどうかを判定する。この判定の結果、すべてのパラメータの組み合わせに対して実行していない場合は、ステップS1901に戻り、次のパラメータの組み合わせを選択する。一方、ステップS1908の判定の結果、すべてのパラメータの組み合わせに対して実行した場合は、ステップS1909に進み、左右の眼の中心座標間距離Ew毎に表情識別率の最も高いパラメータをテーブルに設定する。
【0068】
以上のように本実施形態によれば、検出された左右の眼の中心座標間距離Ewに基づいて、勾配ヒストグラムを生成する際のパラメータを決定して、表情を識別するようにした。これにより、より高精度な表情識別処理を実現することができる。
【0069】
(第2の実施形態)
以下、本発明を実施するための第2の実施形態について図面を参照しながら説明する。本実施形態では、顔の領域毎にパラメータを変える例について説明する。
【0070】
図1(b)は、本実施形態の画像認識装置2001の機能構成例を示すブロック図である。
図1(b)において、画像認識装置2001は、画像入力部2000、顔検出部2100、顔画像正規化部2200、領域設定部2300、領域パラメータ設定部2400、勾配ヒストグラム特徴ベクトル生成部2500及び表情識別部2600で構成されている。なお、画像入力部2000及び顔検出部2100は、第1の実施形態で説明した図1(a)と同様であるため、説明を省略する。
【0071】
顔画像正規化部2200は、図24に示すように、顔検出部2100で検出された顔301に対して、顔向きが正立し、かつ左右の眼の中心座標間距離Ewが所定の距離となるように、画像切り出し処理とアフィン変換処理とを実行する。そして、正規化した顔画像302を生成する。なお、本実施形態においては、すべての顔に対して、左右の眼の中心座標間距離Ewが30となるようにする。
【0072】
領域設定部2300は領域抽出手段として機能し、顔画像正規化部2200で正規化された画像に対して、領域の設定を行う。具体的には、右の眼の中心座標(x,y)310及び左の眼の中心座標(x,y)311と、顔中心座標(x,y)312と、口の中心座標(x,y)313とを用いて、図4に示すように、領域の設定を行う。
【0073】
領域パラメータ設定部2400は、領域設定部2300で設定された各領域に対して、勾配ヒストグラム特徴ベクトル生成部2500において勾配ヒストグラムを生成するためのパラメータの設定を行う。本実施形態では、各領域のパラメータの値は、例えば、図6(a)に示すように設定する。図4の右の頬領域321及び左の頬領域322では、筋肉が持ち上がることによって、しわが発生するなどの細かな特徴の変化を捉えるため、勾配ヒストグラムを生成する領域(n1,m1)を小さくし、更に勾配ヒストグラムのビンの幅Δθを小さくしている。
【0074】
勾配ヒストグラム特徴ベクトル生成部2500は、領域パラメータ設定部2400で設定されたパラメータを用いて、第1の実施形態で説明した手順と同様に、各領域の特徴ベクトルを生成する。なお、本実施形態では、眼領域320から生成した特徴ベクトルをVe、右の頬領域321及び左の頬領域322から生成した特徴ベクトルをVc、口領域323から生成した特徴ベクトルをVmとする。
【0075】
表情識別部2600は、勾配ヒストグラム特徴ベクトル生成部2500で生成した特徴ベクトルVe、Vc、Vmを用いて表情識別を行う。表情識別部2600では、非特許文献6に記述されている表情コードを識別することにより表情識別を行う。
【0076】
表情コードと動作との対応の一例を、図7(a)に示す。例えば、図7(b)に示すように、喜び表情は表情コード6と表情コード12とにより表すことができ、驚き表情は表情コード1と表情コード2と表情コード5と表情コード26とで表すことができる。具体的には、図11に示すように、表情コード毎に識別器を用意しておく。そして、勾配ヒストグラム特徴ベクトル生成部2500で生成した特徴ベクトルVe、Vc、Vmをこれらの識別器に入力し、どの表情コードが生起しているか識別することにより、表情の識別を行う。なお、表情コードの識別には、第1の実施形態と同様にSVMを用いる。
【0077】
図14は、本実施形態において、画像データを入力してから顔認識を行うまでの処理手順の一例を示すフローチャートである。
まず、ステップS3000において、画像入力部2000は画像データを入力する。そして、ステップS3001において、顔検出部2100は、画像入力部2000によって入力された画像データに対して顔検出処理を実行する。
【0078】
次に、ステップS3002において、顔画像正規化部2200は、ステップS3001で実行された顔検出結果に基づいて、顔領域の切り出し処理とアフィン変換処理とを行い、正規化画像を生成する。例えば、入力画像に顔が2つ存在する場合には、2枚の正規化画像を取得することができる。そして、ステップS3003において、顔画像正規化部2200は、ステップS3002で生成した複数の正規化画像のうち、1枚の正規化画像を選択する。
【0079】
次に、ステップS3004において、領域設定部2300は、ステップS3003で選択された正規化画像に対して、眼領域、頬領域、口領域などの領域設定を行う。そして、ステップS3005において、領域パラメータ設定部2400は、ステップS3004で設定された各領域に対して、勾配ヒストグラムを生成するためのパラメータ設定を行う。
【0080】
次に、ステップS3006において、勾配ヒストグラム特徴ベクトル生成部2500は、ステップS3004で設定された各領域に、ステップS3005で設定されたパラメータを用いて、勾配方向と勾配強度とを算出する。そして、ステップS3007において、勾配ヒストグラム特徴ベクトル生成部2500は、ステップS3006で算出した勾配方向及び勾配強度と、ステップS3005で設定されたパラメータとを用いて、各領域に対する勾配ヒストグラムを生成する。
【0081】
次に、ステップS3008において、勾配ヒストグラム特徴ベクトル生成部2500は、ステップS3007で算出した勾配ヒストグラムと、ステップS3005で設定されたパラメータとを用いて、各領域に対して算出された勾配ヒストグラムを正規化する。
【0082】
そして、ステップS3009において、勾配ヒストグラム特徴ベクトル生成部2500は、ステップS3008で生成した夫々の領域の正規化された勾配ヒストグラムから特徴ベクトルを生成する。その後、表情識別部2600は、表情コードを識別するための夫々の表情コード識別器に生成した特徴ベクトルを入力する。そして、各表情コードに対応する表情筋動作が生起しているかどうかを調べる。
【0083】
次に、ステップS3010において、表情識別部2600は、表情コードが生起している組み合わせに基づいて、表情を識別する。そして、ステップS3011において、顔画像正規化部2200は、ステップS3001で検出したすべての顔に対して表情識別処理を実行したかどうか判定する。この判定の結果、すべての顔に対して表情識別処理を実行していない場合は、ステップS3003に戻る。
【0084】
一方、ステップS3011の判定の結果、すべての顔に対して表情識別処理を実行した場合は、ステップS3012に進む。そして、ステップS3012において、次の画像に対する処理を実行するかどうかを判定する。この判定の結果、次の画像に対する処理を実行する場合は、ステップS3000に戻る。一方、ステップS3012の判定の結果、次の画像に対する処理を実行しない場合は、全体処理を終了する。
【0085】
以上のように本実施形態によれば、正規化された画像に対して、複数の領域を設定し、各領域に対して勾配ヒストグラムのパラメータを用いるようにしたので、より高精度な表情識別を実現することができる。
【0086】
(第3の実施形態)
以下、本発明を実施するための第3の実施形態について図面を参照しながら説明する。本実施形態では、多重解像度画像を用いて個人識別を行う例について説明する。
【0087】
図1(c)は、本実施形態の画像認識装置3001の機能構成例を示すブロック図である。
図1(c)において、画像認識装置3001は、画像入力部3000、顔検出部3100、画像正規化部3200、複数の解像度画像生成部3300、パラメータ設定部3400、勾配ヒストグラム特徴ベクトル生成部3500及び個人識別部3600で構成される。
なお、画像入力部3000、顔検出部3100、画像正規化部3200は、第1の実施形態で説明した図1(a)と同様であるため、説明を省略する。また、画像正規化部3200において用いる左右の眼の中心座標間距離Ewは第2の実施形態と同様に30とする。
【0088】
複数の解像度画像生成部3300は、画像正規化部3200において正規化された画像(高解像度画像)に対して、さらに間引き処理などを行うことにより、解像度毎の画像(低解像度画像)を生成する。本実施形態では、画像正規化部3200において生成される高解像度画像の幅は60、高さは60とし、低解像度画像の幅は30、高さは30としている。なお、画像の幅及び高さは、これらに限定されるわけではない。
【0089】
パラメータ設定部3400は、図6(b)に示すように、テーブルを用いて各解像度に対して勾配ヒストグラムのパラメータの設定を行う。
【0090】
勾配ヒストグラム特徴ベクトル生成部3500は、パラメータ設定部3400において設定されたパラメータを用いて、各解像度の特徴ベクトルを生成する。特徴ベクトルの生成方法は、第1の実施形態と同様の処理を実行する。また、低解像度画像に対しては、その低解像度画像全体から生成した勾配ヒストグラムを用いて特徴ベクトルVLを生成する。
【0091】
一方、高解像度画像に対しては、図4に示すように、第2の実施形態と同様に領域を設定し、各領域から生成した勾配ヒストグラムを用いて特徴ベクトルVHを生成する。このように、低解像度画像から生成される特徴ベクトルVLは、大局的な大まかな特徴となり、高解像度画像の各領域から生成される特徴ベクトルVHは、個人をより判別しやすくするための局所的な細かな特徴となる。
【0092】
個人識別部3600は、まず、図16(a)に示すように、低解像度画像から生成される特徴ベクトルVLが、どのグループに最も近いかを判別する。具体的には、予め登録しておいた個人毎の登録特徴ベクトルを非特許文献7に記載されているk-mean法などを用いて予めクラスタリングしておく。そして、グループの中心位置と入力した特徴ベクトルVLとの距離を比較することにより、どのグループに最も近いかを判別する。図16(a)に示す例では、特徴ベクトルVLはグループ1に最も近いことを示している。
【0093】
次に、高解像度画像の各領域から生成される特徴ベクトルVHと、特徴ベクトルVLと最も近いグループに含まれる個人毎の登録特徴ベクトルVH_Refとの距離を比較する。これにより、入力された特徴ベクトルVHと最も近い登録特徴ベクトルVH_Refを算出することによって最終的に個人を特定する。図16(b)に示す例では、特徴ベクトルVHが、グループ1に含まれる登録特徴ベクトルVH_Ref1と最も近いことを示している。
【0094】
このように、個人識別部3600は、まず、低解像度画像から抽出される大局的な大まかな特徴を用いて、おおよそのグループを探査する。その後、高解像度画像から抽出される局所的な細かな特徴を用いて個人間の細かな特徴を区別することにより個人を特定するようにしている。したがって、パラメータ設定部3400は、図6(b)に示すように、高解像度画像に対しては、低解像度画像よりも勾配ヒストグラムを生成する領域(1セル)と勾配ヒストグラムのビンの幅(Δθ)とを小さくする。これにより、より細かな特徴を表現している。
【0095】
(第4の実施形態)
以下、本発明を実施するための第4の実施形態について図面を参照しながら説明する。本実施形態では、顔の領域毎に重み付けを行う例について説明する。
【0096】
図1(d)は、本実施形態の画像認識装置4001の機能構成例を示すブロック図である。
図1(d)において、画像認識装置4001は、画像入力部4000、顔検出部4100、顔画像正規化部4200、領域設定部4300及び領域重み付け設定部4400を備えている。さらに、領域パラメータ設定部4500、勾配ヒストグラム特徴ベクトル生成部4600、勾配ヒストグラム特徴ベクトル統合部4700、及び表情識別部4800を備えている。
【0097】
なお、画像入力部4000、顔検出部4100、及び顔画像正規化部4200は、第2の実施形態と同様なため、説明を省略する。また、顔画像正規化部4200において用いる左右の眼の中心座標間距離Ewは第2の実施形態と同様に30とする。さらに、領域設定部4300では、図4に示したように、第2の実施形態と同様の手順で眼領域、頬領域及び口領域を設定する。
【0098】
領域重み付け設定部4400は、図6(c)に示すテーブルを用いて、左右の眼の中心座標間距離Ewに基づいて、領域設定部4300で設定された夫々の領域に対して重み付けを行う。左右の眼の中心座標間距離Ewに基づいて、領域設定部4300で設定された夫々の領域に対して重み付けを行う理由としては、顔のサイズが小さい場合には、頬領域の変化などを捉えることが非常に困難である。そこで、顔のサイズが小さい場合には、眼や口などのみを用いて、表情認識を行うためである。
【0099】
領域パラメータ設定部4500は、第2の実施形態と同様に、図6(a)に示したようなテーブルを用いて勾配ヒストグラム特徴ベクトル生成部4600において勾配ヒストグラムを生成するための各領域のパラメータの設定を行う。
【0100】
勾配ヒストグラム特徴ベクトル生成部4600は、第1の実施形態と同様に、領域設定部4300で設定された夫々の領域毎に、領域パラメータ設定部4500で設定されたパラメータを用いて、特徴ベクトルを生成する。なお、本実施形態では、図4に示す眼領域320から生成した特徴ベクトルをVe、右の頬領域321及び左の頬領域322から生成した特徴ベクトルをVc、口領域313から生成した特徴ベクトルをVmとする。
【0101】
勾配ヒストグラム特徴ベクトル統合部4700は、以下の数6に示す式により、勾配ヒストグラム特徴ベクトル生成部4600で生成した3つの特徴ベクトルと、領域重み付け設定部4400で設定した比重とを用いて、1つの特徴ベクトルを生成する。
【0102】
【数6】
【0103】
表情識別部4800は、勾配ヒストグラム特徴ベクトル統合部4700で生成した重み付き特徴ベクトルにより第1の実施形態と同様にSVMを用いて、表情を識別する。
【0104】
以上のように本実施形態によれば、左右の眼の中心座標間距離Ewに基づいて、特徴ベクトルを生成する領域に対して重み付けを行うようにしたので、より高精度な表情識別を実現することができる。
【0105】
(第5の実施形態)
第1〜第4の実施形態で説明した技術は、言うまでもないが、画像検索に関わらず、電子スチルカメラなどの撮像装置にも応用することができる。図18は、第1〜第4の実施形態で説明した技術を適用した撮像装置3800の構成例を示すブロック図である。
図18において、撮像部3801は、レンズ群、レンズ駆動回路及び撮像素子から構成されている。レンズ駆動回路により絞り等のレンズ群が駆動されることにより、CCDからなる撮像素子の結像面上に被写体像が結像される。そして、撮像素子において光を電荷に変換してアナログ信号を生成し、カメラ信号処理部3803に出力する。
【0106】
カメラ信号処理部3803は、撮像部3801から出力されたアナログ信号に対して、不図示のA/D変換器によりアナログ信号をデジタル信号に変換し、さらにガンマ補正、ホワイトバランス補正等の信号処理を施すためのものである。また、本実施形態では、カメラ信号処理部3803において、第1〜第4の実施形態において説明した顔検出及び画像認識処理を行う。
【0107】
圧縮伸張回路3804は、カメラ信号処理部3803で信号処理された画像データを、例えばJPEG方式などのフォーマットに従って圧縮符号化する。そして、記録再生制御回路3810の制御により、画像記憶手段であるフラッシュメモリ3808に対象となる画像データを記録する。なお、フラッシュメモリ3808ではなく、メモリカード制御部3811に装着されたメモリカード等に記録してもよい。
【0108】
また、記録再生制御回路3810は、操作スイッチ群3809が操作されて、画像を表示部3806に表示する指示を受けると、制御部3807からの指示によりフラッシュメモリ3808に記録されている画像データを読み出す。そして、圧縮伸張回路3804は、画像データを復号化して表示制御部3805に出力する。表示制御部3805は画像データを表示部3806に出力し、画像を表示する。
【0109】
制御部3807は、バス3812を介して撮像装置3800全体を制御するためのものである。また、USB端子3813は、パーソナルコンピュータ(PC)やプリンタなど外部機器と接続するためのものである。
【0110】
図23は、第1〜第4の実施形態で説明した技術を撮像装置3800に適用した場合の処理手順の一例を示すフローチャートである。なお、図23に示す各処理は、制御部3807の制御により行われる。
図23において、電源が投入されることにより処理を開始する。まず、ステップS4000において、撮像装置3800内の内部のメモリの各種フラグや制御変数等を初期化する。
【0111】
次に、ステップS4001において、撮像のモード設定状態を検知し、ユーザーにより操作スイッチ群3809が操作されて表情識別モードが選択されているか否かを判定する。この判定の結果、表情識別モード以外のモードが選択されている場合は、ステップS4002へ進み、選択したモードに応じた処理を行う。
【0112】
一方、ステップS4001の判定の結果、表情識別モードが選択されている場合は、ステップS4003に進み、電源の残容量や動作状況に問題があるか否かを判定する。この判定の結果、問題がある場合は、ステップS4004に進み、表示制御部3805は表示部3806に画像により所定の警告表示を行い、その後、ステップS4001に戻る。なお、画像の代わりに音声により警告を行ってもよい。
【0113】
一方、ステップS4003の判定の結果、電源等に問題が無い場合は、ステップS4005に進む。そして、ステップS4005において、記録再生制御回路3810は、フラッシュメモリ3808に対する画像データの記録再生動作に問題があるか否かを判定する。この判定の結果、問題がある場合は、ステップS4004に進み、画像や音声により所定の警告表示を行い、ステップS4001に戻る。
【0114】
一方、ステップS4005の判定の結果、問題がない場合は、ステップS4006に進む。そして、ステップS4006において、表示制御部3805は、表示部3806に各種設定状態のユーザーインターフェース(以下、UIとする)表示を行う。この表示に基づき、ユーザーによって各種設定がなされる。
【0115】
次に、ステップS4007において、操作スイッチ群3809におけるユーザーの操作に応じて、表示部3806の画像表示をオン状態に設定する。さらに、ステップS4008において、操作スイッチ群3809におけるユーザーの操作に応じて、撮像した画像データを逐次表示するスルー表示状態に設定する。このスルー表示状態では、内部メモリに逐次書き込まれたデータを表示部3806に逐次表示することにより、電子ファインダ機能を実現している。
【0116】
次に、ステップS4009において、操作スイッチ群3809の中の撮影モード開始を示すシャッタースイッチがユーザーによって押されたかどうか判定する。この判定の結果、シャッタースイッチが押されていない場合は、ステップS4001に戻る。一方、ステップS4009の判定の結果、シャッタースイッチが押された場合は、ステップS4010に進み、カメラ信号処理部3803は、第1の実施形態で説明したような顔検出処理を実行する。
【0117】
ステップS4010で人物の顔が検出されると、次に、ステップS4011において、人物の顔に対してAE・AF制御を行う。そして、ステップS4012において、表示制御部3805は、撮像した画像を表示部3806にスルー表示する。
【0118】
次に、ステップS4013において、カメラ信号処理部3803は、第1〜第4の実施形態で説明したような画像認識処理を実行する。そして、ステップS4014において、ステップS4013において行った画像認識処理の結果が所定の状態であるかどうかを判定する。例えば、ステップS4010で検出した顔が喜び表情であるかどうかを判定する。この判定の結果、所定の状態である場合は、ステップS4015へ進み、撮像部3801は、本撮影を行う。例えば、ステップS4010で検出した顔が喜び表情である場合には、本撮影を行う。
【0119】
次に、ステップS4016において、表示制御部3805は、撮影した画像を表示部3806にクイックレビュー表示する。そして、ステップS4017において、圧縮伸張回路3804は、撮影した高解像度画像を符号化し、記録再生制御回路3810は、フラッシュメモリ3808に記録する。すなわち、顔検出処理には間引き処理などによって圧縮された低解像度画像を用い、記録には高解像度画像を用いる。
【0120】
一方、ステップS4014の判定の結果、画像認識処理の結果が所定の状態でない場合は、ステップS4019に進み、ユーザーの操作により強制終了が選択されるかどうか判定する。この判定の結果、ユーザーにより強制終了が選択された場合には、そのまま処理を終了する。一方、ステップS4019の判定の結果、ユーザーにより強制終了が選択されていない場合は、ステップS4018に進み、カメラ信号処理部3803は、次のフレーム画像に対して顔検出処理を実行する。
【0121】
以上のように本実施形態によれば、電子スチルカメラなどの撮像装置にも応用することができる。これにより、撮影した画像に対しても、より高精度な表情識別処理を実現することができる。
【0122】
(本発明に係る他の実施形態)
前述した本発明の実施形態における画像認識装置、撮像装置を構成する各手段、並びに画像認識方法の各工程は、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記憶したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
【0123】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【0124】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図14、21、22、23に示すフローチャートに対応したプログラム)を、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【0125】
また、コンピュータが、読み出したプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【符号の説明】
【0126】
1000 画像入力部、1100 顔検出部、1200 画像正規化部、1300 パラメータ設定部、1400 勾配ヒストグラム生成部、1500 表情識別部
【特許請求の範囲】
【請求項1】
入力された画像データから人物の顔を検出する顔検出手段と、
前記顔検出手段による顔検出結果に基づいて、画素値の勾配方向及び勾配強度を示す勾配ヒストグラムを生成するためのパラメータを設定するパラメータ設定手段と、
前記パラメータ設定手段によって設定されたパラメータに基づいて、前記顔検出手段によって検出された顔の領域から、前記勾配ヒストグラムを生成する対象となる領域を1つ以上、設定する生成領域設定手段と、
前記パラメータ設定手段によって設定されたパラメータに基づいて、前記生成領域設定手段によって設定された領域毎に、前記勾配ヒストグラムを生成する生成手段と、
前記生成手段によって生成された勾配ヒストグラムを用いて、前記顔検出手段によって検出された顔を識別する識別手段とを備えたことを特徴とする画像認識装置。
【請求項2】
前記パラメータ設定手段によって設定されたパラメータに基づいて、前記顔検出手段によって検出された顔の領域に対する勾配方向及び勾配強度を算出する算出手段をさらに備え、
前記生成手段は、前記算出手段によって算出された勾配方向及び勾配強度を用いた勾配ヒストグラムを生成することを特徴とする請求項1に記載の画像認識装置。
【請求項3】
前記顔検出手段によって検出された顔が所定のサイズ及び所定の向きとなるように正規化する第1の正規化手段をさらに備え、
前記生成領域設定手段は、前記第1の正規化手段によって正規化された顔の領域から、前記勾配ヒストグラムを生成する対象となる領域を1つ以上、設定することを特徴とする請求項1又は2に記載の画像認識装置。
【請求項4】
前記生成手段によって、前記生成領域設定手段によって設定された領域毎に生成された勾配ヒストグラムを正規化する第2の正規化手段をさらに備え、
前記識別手段は、前記第2の正規化手段によって正規化された結果を用いて、前記顔検出手段によって検出された顔を識別することを特徴とする請求項1〜3の何れか1項に記載の画像認識装置。
【請求項5】
前記顔検出手段によって検出された顔の領域から、複数の領域を抽出する領域抽出手段と、
前記領域抽出手段によって抽出された夫々の領域に対して、前記勾配ヒストグラムの重み付けを行う重み付け設定手段とをさらに備えたことを特徴とする請求項1に記載の画像認識装置。
【請求項6】
前記顔検出手段によって検出された顔の領域から異なる解像度の画像を生成する画像生成手段をさらに備え、
前記識別手段は、前記画像生成手段によって生成された異なる解像度の画像から生成した勾配ヒストグラムを用いて、前記顔検出手段によって検出された顔を識別することを特徴とする請求項1に記載の画像認識装置。
【請求項7】
前記パラメータ設定手段によって設定されるパラメータは、前記勾配方向及び勾配強度を算出するための範囲、前記生成領域設定手段によって設定される領域の大きさ、前記勾配ヒストグラムのビンの幅、前記生成手段によって生成される勾配ヒストグラムの数であることを特徴とする請求項1に記載の画像認識装置。
【請求項8】
前記算出手段は、所定の画素を中心として、所定の距離だけ離れた上下左右の画素値を参照することによって前記勾配方向及び勾配強度を算出することを特徴とする請求項2に記載の画像認識装置。
【請求項9】
前記勾配ヒストグラムは、横軸を前記勾配方向とし、縦軸を前記勾配強度とするヒストグラムであることを特徴とする請求項1〜8の何れか1項に記載の画像認識装置。
【請求項10】
前記識別手段は、人物の表情、または個人を識別することを特徴とする請求項1に記載の画像認識装置。
【請求項11】
被写体を撮像して画像データを生成する撮像手段と、
前記撮像手段によって生成された画像データから人物の顔を検出する顔検出手段と、
前記顔検出手段による顔検出結果に基づいて、画素値の勾配方向及び勾配強度を示す勾配ヒストグラムを生成するためのパラメータを設定するパラメータ設定手段と、
前記パラメータ設定手段によって設定されたパラメータに基づいて、前記顔検出手段によって検出された顔の領域から、前記勾配ヒストグラムを生成する対象となる領域を1つ以上、設定する生成領域設定手段と、
前記パラメータ設定手段によって設定されたパラメータに基づいて、前記生成領域設定手段によって設定された領域毎に、前記勾配ヒストグラムを生成する生成手段と、
前記生成手段によって生成された勾配ヒストグラムを用いて、前記顔検出手段によって検出された顔を識別する識別手段と、
前記画像データを記憶する画像記憶手段とを備えたことを特徴とする撮像装置。
【請求項12】
入力された画像から人物の顔を検出する顔検出工程と、
前記顔検出工程における顔検出結果に基づいて、画素値の勾配方向及び勾配強度を示す勾配ヒストグラムを生成するためのパラメータを設定するパラメータ設定工程と、
前記パラメータ設定工程において設定されたパラメータに基づいて、前記顔検出工程において検出された顔の領域から、前記勾配ヒストグラムを生成する対象となる領域を1つ以上、設定する生成領域設定工程と、
前記パラメータ設定工程において設定されたパラメータに基づいて、前記生成領域設定工程において設定された領域毎に、前記勾配ヒストグラムを生成する生成工程と、
前記生成工程において生成された勾配ヒストグラムを用いて、前記顔検出工程において検出された顔を識別する識別工程とを備えたことを特徴とする画像認識方法。
【請求項13】
入力された画像から人物の顔を検出する顔検出工程と、
前記顔検出工程における顔検出結果に基づいて、画素値の勾配方向及び勾配強度を示す勾配ヒストグラムを生成するためのパラメータを設定するパラメータ設定工程と、
前記パラメータ設定工程において設定されたパラメータに基づいて、前記顔検出工程において検出された顔の領域から、前記勾配ヒストグラムを生成する対象となる領域を1つ以上、設定する生成領域設定工程と、
前記パラメータ設定工程において設定されたパラメータに基づいて、前記生成領域設定工程において設定された領域毎に、前記勾配ヒストグラムを生成する生成工程と、
前記生成工程において生成された勾配ヒストグラムを用いて、前記顔検出工程において検出された顔を識別する識別工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項14】
請求項13に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項1】
入力された画像データから人物の顔を検出する顔検出手段と、
前記顔検出手段による顔検出結果に基づいて、画素値の勾配方向及び勾配強度を示す勾配ヒストグラムを生成するためのパラメータを設定するパラメータ設定手段と、
前記パラメータ設定手段によって設定されたパラメータに基づいて、前記顔検出手段によって検出された顔の領域から、前記勾配ヒストグラムを生成する対象となる領域を1つ以上、設定する生成領域設定手段と、
前記パラメータ設定手段によって設定されたパラメータに基づいて、前記生成領域設定手段によって設定された領域毎に、前記勾配ヒストグラムを生成する生成手段と、
前記生成手段によって生成された勾配ヒストグラムを用いて、前記顔検出手段によって検出された顔を識別する識別手段とを備えたことを特徴とする画像認識装置。
【請求項2】
前記パラメータ設定手段によって設定されたパラメータに基づいて、前記顔検出手段によって検出された顔の領域に対する勾配方向及び勾配強度を算出する算出手段をさらに備え、
前記生成手段は、前記算出手段によって算出された勾配方向及び勾配強度を用いた勾配ヒストグラムを生成することを特徴とする請求項1に記載の画像認識装置。
【請求項3】
前記顔検出手段によって検出された顔が所定のサイズ及び所定の向きとなるように正規化する第1の正規化手段をさらに備え、
前記生成領域設定手段は、前記第1の正規化手段によって正規化された顔の領域から、前記勾配ヒストグラムを生成する対象となる領域を1つ以上、設定することを特徴とする請求項1又は2に記載の画像認識装置。
【請求項4】
前記生成手段によって、前記生成領域設定手段によって設定された領域毎に生成された勾配ヒストグラムを正規化する第2の正規化手段をさらに備え、
前記識別手段は、前記第2の正規化手段によって正規化された結果を用いて、前記顔検出手段によって検出された顔を識別することを特徴とする請求項1〜3の何れか1項に記載の画像認識装置。
【請求項5】
前記顔検出手段によって検出された顔の領域から、複数の領域を抽出する領域抽出手段と、
前記領域抽出手段によって抽出された夫々の領域に対して、前記勾配ヒストグラムの重み付けを行う重み付け設定手段とをさらに備えたことを特徴とする請求項1に記載の画像認識装置。
【請求項6】
前記顔検出手段によって検出された顔の領域から異なる解像度の画像を生成する画像生成手段をさらに備え、
前記識別手段は、前記画像生成手段によって生成された異なる解像度の画像から生成した勾配ヒストグラムを用いて、前記顔検出手段によって検出された顔を識別することを特徴とする請求項1に記載の画像認識装置。
【請求項7】
前記パラメータ設定手段によって設定されるパラメータは、前記勾配方向及び勾配強度を算出するための範囲、前記生成領域設定手段によって設定される領域の大きさ、前記勾配ヒストグラムのビンの幅、前記生成手段によって生成される勾配ヒストグラムの数であることを特徴とする請求項1に記載の画像認識装置。
【請求項8】
前記算出手段は、所定の画素を中心として、所定の距離だけ離れた上下左右の画素値を参照することによって前記勾配方向及び勾配強度を算出することを特徴とする請求項2に記載の画像認識装置。
【請求項9】
前記勾配ヒストグラムは、横軸を前記勾配方向とし、縦軸を前記勾配強度とするヒストグラムであることを特徴とする請求項1〜8の何れか1項に記載の画像認識装置。
【請求項10】
前記識別手段は、人物の表情、または個人を識別することを特徴とする請求項1に記載の画像認識装置。
【請求項11】
被写体を撮像して画像データを生成する撮像手段と、
前記撮像手段によって生成された画像データから人物の顔を検出する顔検出手段と、
前記顔検出手段による顔検出結果に基づいて、画素値の勾配方向及び勾配強度を示す勾配ヒストグラムを生成するためのパラメータを設定するパラメータ設定手段と、
前記パラメータ設定手段によって設定されたパラメータに基づいて、前記顔検出手段によって検出された顔の領域から、前記勾配ヒストグラムを生成する対象となる領域を1つ以上、設定する生成領域設定手段と、
前記パラメータ設定手段によって設定されたパラメータに基づいて、前記生成領域設定手段によって設定された領域毎に、前記勾配ヒストグラムを生成する生成手段と、
前記生成手段によって生成された勾配ヒストグラムを用いて、前記顔検出手段によって検出された顔を識別する識別手段と、
前記画像データを記憶する画像記憶手段とを備えたことを特徴とする撮像装置。
【請求項12】
入力された画像から人物の顔を検出する顔検出工程と、
前記顔検出工程における顔検出結果に基づいて、画素値の勾配方向及び勾配強度を示す勾配ヒストグラムを生成するためのパラメータを設定するパラメータ設定工程と、
前記パラメータ設定工程において設定されたパラメータに基づいて、前記顔検出工程において検出された顔の領域から、前記勾配ヒストグラムを生成する対象となる領域を1つ以上、設定する生成領域設定工程と、
前記パラメータ設定工程において設定されたパラメータに基づいて、前記生成領域設定工程において設定された領域毎に、前記勾配ヒストグラムを生成する生成工程と、
前記生成工程において生成された勾配ヒストグラムを用いて、前記顔検出工程において検出された顔を識別する識別工程とを備えたことを特徴とする画像認識方法。
【請求項13】
入力された画像から人物の顔を検出する顔検出工程と、
前記顔検出工程における顔検出結果に基づいて、画素値の勾配方向及び勾配強度を示す勾配ヒストグラムを生成するためのパラメータを設定するパラメータ設定工程と、
前記パラメータ設定工程において設定されたパラメータに基づいて、前記顔検出工程において検出された顔の領域から、前記勾配ヒストグラムを生成する対象となる領域を1つ以上、設定する生成領域設定工程と、
前記パラメータ設定工程において設定されたパラメータに基づいて、前記生成領域設定工程において設定された領域毎に、前記勾配ヒストグラムを生成する生成工程と、
前記生成工程において生成された勾配ヒストグラムを用いて、前記顔検出工程において検出された顔を識別する識別工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項14】
請求項13に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【公開番号】特開2010−271872(P2010−271872A)
【公開日】平成22年12月2日(2010.12.2)
【国際特許分類】
【出願番号】特願2009−122414(P2009−122414)
【出願日】平成21年5月20日(2009.5.20)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成22年12月2日(2010.12.2)
【国際特許分類】
【出願日】平成21年5月20日(2009.5.20)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]