【文献】
山田陽介, 外2名,“高次局所自己相関特徴と判別分析による顔画像の表情認識”,映像情報メディア学会技術報告,日本,(社)映像情報メディア学会,2003年 2月 3日,第27巻, 第8号,p.145-148
【文献】
Lin Cao, 外2名,“Face recognition using the wavelet approximation coefficients and fisher's linear discriminant”,2012 5th International Congress on Image and Signal Processing,IEEE,2012年10月16日,p.1253-1256
(58)【調査した分野】(Int.Cl.,DB名)
前記目標の顔画像の前記高次元特徴ベクトル、前記参照顔画像の前記高次元特徴ベクトル、および前記顔モデル行列に従って前記目標の顔画像と前記参照顔画像との間の類似性を計算する前記ステップが、
前記類似性をr(x1, x2) = x1TAx1 + x2TAx2 - 2x1TGx2として計算するステップを含み、
x1が、前記目標の顔画像の前記高次元特徴ベクトルであり、x2が、前記参照顔画像の前記高次元特徴ベクトルであり、x1Tが、x1の転置ベクトルであり、x2Tが、x2の転置ベクトルであり、AおよびGが、前記顔モデル行列である、請求項6に記載の方法。
【発明を実施するための形態】
【0013】
本開示の目的、技術的な解決策、および利点をより明瞭にするために、本開示が、添付の図面を参照して以下でさらに詳細に説明される。明らかに、説明される実施形態は、本発明のすべての実施形態ではなく一部の実施形態であるに過ぎない。創造的な努力なしに本発明の実施形態に基づいて当業者によって得られるすべてのその他の実施形態は、本開示の保護範囲内に入る。
【0014】
本発明の実施形態に含まれる顔モデル行列の訓練方法は、サーバ100に適用され得る。特に、
図1を参照すると、サーバ100は、中央演算処理装置(CPU)101、ランダムアクセスメモリ(RAM)102および読み出し専用メモリ(ROM)103を含むシステムメモリ104、ならびにシステムメモリ104および中央演算処理装置101に接続するシステムバス105を含む。サーバ100は、コンピュータ内のデバイスの間の情報の送信を容易にする基本入出力システム(I/Oシステム)106、ならびにオペレーティングシステム113、アプリケーションプログラム112、および別のプログラムモジュール115を記憶するように構成された大容量ストレージデバイス107をさらに含む。
【0015】
基本入出力システム106は、情報を表示するように構成されたディスプレイ108、およびユーザによる情報入力のために構成されるマウスまたはキーボードなどの入力デバイスを含む。ディスプレイ108および入力デバイス109は、両方とも、システムバス105に接続された入力および出力コントローラ110を使用することによって中央演算処理装置101に接続される。基本入出力システム106は、キーボード、マウス、または電子スタイラスなどの複数のその他のデバイスから入力を受け取り、処理するための入力および出力コントローラ110をさらに含む可能性がある。同様に、入力および出力コントローラ110は、さらに、ディスプレイ、プリンタ、または別の種類の出力デバイスに出力を与える。
【0016】
大容量ストレージデバイス107は、システムバス105に接続された大容量ストレージコントローラ(図示せず)を使用することによって中央演算処理装置101に接続される。大容量ストレージデバイス107および関連するコンピュータ可読媒体は、サーバ100のための不揮発性ストレージを提供する。つまり、大容量ストレージデバイス107は、ハードディスクドライブまたはCD-ROMドライブなどのコンピュータ可読媒体(図示せず)を含む可能性がある。
【0017】
一般性を失うことなく、コンピュータ可読媒体は、コンピュータストレージ媒体および通信媒体を含む可能性がある。コンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶し、任意の方法またはテクノロジーを使用することによって実装される揮発性および不揮発性の取り外し可能なおよび取り外し不可能な媒体を含む。コンピュータストレージ媒体は、RAM、ROM、EPROM、EEPROM、フラッシュメモリ、または別のソリッドステートストレージテクノロジー、CD-ROM、DVD、または別の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または別の磁気ストレージデバイスを含む。確かに、コンピュータストレージ媒体が上述のいくつかの種類に限定されないことは、当業者に知られている可能性がある。システムメモリ104および大容量ストレージデバイス107は、集合的にメモリと呼ばれる可能性がある。
【0018】
本発明の実施形態によれば、サーバ100は、インターネットなどのネットワークを使用することによって、動作のためにネットワーク上のリモートコンピュータにさらに接続される可能性がある。つまり、サーバ100は、システムバス105に接続されたネットワークインターフェースユニット111を使用することによってネットワーク112に接続される可能性があり、またはネットワークインターフェースユニット111を使用することによって別の種類のネットワークもしくはリモートコンピュータシステム(図示せず)に接続される可能性がある。
【0019】
メモリは、1つまたは複数のプログラムをさらに含み、1つまたは複数のプログラムは、メモリに記憶され、1つまたは複数のプログラムは、以下の実施形態において提供される顔モデル行列の訓練方法を実行するために使用される。
【0020】
図2を参照すると、
図2は、本発明の実施形態による顔モデル行列の訓練方法の方法流れ図である。この実施形態においては、顔モデル行列の訓練方法が
図1に示されたサーバに適用される例が、説明のために使用される。
図2に示されるように、顔モデル行列の訓練方法は、ステップ201から203を含む可能性がある。
【0021】
ステップ201. 顔画像ライブラリを取得し、顔画像ライブラリは顔画像のk個のグループを含む。
【0022】
顔画像の各グループは、少なくとも1人の人の少なくとも1つの顔画像を含み、k > 2であり、kは整数である。
【0023】
ステップ202. 顔画像のk個のグループの各々を別々に解析し、解析結果に従って第1の行列および第2の行列を計算する。
【0024】
第1の行列は、顔画像の各グループの顔の特徴のグループ内共分散行列であり、第2の行列は、顔画像のk個のグループの顔の特徴のグループ間共分散行列である。
【0025】
ステップ203. 第1の行列および第2の行列に従って顔モデル行列を訓練する。
【0026】
要約すると、この実施形態において提供される顔モデル行列の訓練方法によって、顔画像ライブラリ内の顔画像がk個のグループに分けられ、毎回ただ1つのグループ内の顔画像がメモリにロードされ、解析され、それから、第1の行列および第2の行列が解析結果に従って計算され、顔モデル行列が第1の行列および第2の行列に従って訓練される。このようにして、端末が顔画像ライブラリ内のすべての顔画像をメモリに同時にロードするときに比較的大きなメモリが占有される既存のテクノロジーの問題が回避され、毎回ただ1つのグループ内の顔画像をメモリにロードし、それによって、訓練プロセスにおいて占有される必要があるメモリを削減する効果が、実現される。加えて、毎回ただ1つのグループ内の顔画像が解析される必要があるので、端末の計算の複雑さも、ある程度まで削減される。
【0027】
図3を参照すると、
図3は、本発明の実施形態による顔モデル行列の訓練方法の方法流れ図である。この実施形態においては、顔モデル行列の訓練方法が
図1に示されたサーバに適用される例が、説明のために使用される。
図3に示されるように、顔モデル行列の訓練方法は、ステップ301からステップ306を含む可能性がある。
【0028】
ステップ301. 顔画像ライブラリを取得し、顔画像ライブラリは顔画像のk個のグループを含む。
【0029】
この実施形態において提供される顔モデル行列の訓練方法は、モバイル電話、タブレットコンピュータ、またはコンピュータなどの端末に適用され得る。
【0030】
顔画像のk個のグループの各々は、少なくとも1人の人の少なくとも1つの顔画像を含む可能性があり、k > 2であり、kは整数である。
【0031】
たとえば、端末は、m*N個の顔画像を含む画像ライブラリを取得する可能性があり、ここで、mは、顔画像ライブラリ内の人の量であり、Nは、各人の顔画像の量である。m人の人は、k個のグループに分けられ、各グループは、m/k人の人の顔画像を含む。
【0032】
ステップ302. 顔画像のk個のグループの各々を別々に解析し、解析結果に従って第1の行列および第2の行列を計算する。
【0033】
第1の行列は、顔画像の各グループの顔の特徴のグループ内共分散行列であり、第2の行列は、顔画像のk個のグループの顔の特徴のグループ間共分散行列である。
【0034】
特に、このステップは、第1のステップから第7のステップを含む可能性がある。
【0035】
第1に、第1の行列S
gおよび第2の行列S
sを初期化する。
【0036】
第2に、S
sに従ってHを計算し、ここで、H=S
s-1であり、S
gおよびS
sに従ってLを計算し、ここで、L = -(kS
g+S
s)
-1S
gS
s-1である。
【0037】
第3に、顔画像の各グループ内の第iの人の顔画像の高次元特徴ベクトルx
iおよび第jの人の顔画像の高次元特徴ベクトルx
jを取得し、ここで、0 < i≦n、0 < j≦n、およびi≠jであり、nは、顔画像の1つのグループ内の人の量である。可能な実装においては、顔画像の各グループ内の各顔画像に関して、端末が、各顔画像の高次元特徴ベクトルを抽出し得る。特に、端末は、ローカルバイナリパターン(LBP: Local Binary Pattern)アルゴリズム、勾配方向ヒストグラム(HOG: Histogram of Oriented Gradient)アルゴリズム、ガボール(Gabor)アルゴリズム、またはスケール不変特徴変換(SIFT: Scale-Invariant Feature Transformation)アルゴリズムを使用することによって高次元特徴ベクトルを抽出し得る。これは、この実施形態において限定されない。実際の実装において、端末は、別の抽出方法で各顔画像の高次元特徴ベクトルを抽出する可能性もある。
【0038】
端末が説明のためにLBPを使用することによって顔画像の高次元特徴ベクトルを抽出する例を用いると、顔画像の高次元特徴ベクトルを抽出するステップは、ステップA、B、C、およびDを含み得る。
【0039】
A). h個の拡大縮小された顔画像を取得し、h個の拡大縮小された顔画像は、目標の顔画像がh個の予め設定された倍数によって別々に拡大縮小された後に取得される画像である。
【0040】
端末は、h個の予め設定された倍数の各々によって目標の顔画像を別々に拡大縮小し、それから、h個の拡大縮小された目標の顔画像を取得し得る。hは、正の整数であり、h個の予め設定された倍数は、均等に分散される可能性がある。加えて、この実施形態における拡大縮小は、目標の顔画像を縮小することである。
【0041】
B). 顔画像およびh個の拡大縮小された顔画像の各々に関して、顔画像内の顔のキーポイント(face key point)、および顔のキーポイントにおけるLBP特徴ベクトルを抽出する。
【0042】
このステップは、
(a). 目標の顔画像内の顔フレーム(face frame)を認識することと、
(b). 顔のキーポイントを取得するために顔フレーム内の顔の5つの顔の特徴の位置を特定することであって、顔のキーポイントは、左および右の眉、左および右の目、鼻、左および右の口角などを含む可能性がある、位置を特定することと、
(c). それぞれの顔のキーポイントに関して、顔のキーポイントを中心とする予め設定されたエリア内で、予め設定されたエリア内のLBPの特徴を抽出することとを含み得る。
【0043】
任意で、端末は、Uniform符号化を使用することによって予め設定されたエリア内のLBPの特徴を抽出してLBPの特徴のヒストグラムを取得する可能性がある。予め設定されたエリアは、a*aのエリアである可能性があり、aは、正の整数である。任意で、端末は、Uniform符号化を使用することによって予め設定されたエリア内の各セル(cell)内のLBPの特徴を抽出する可能性がある。
【0044】
C). 顔のキーポイントの抽出されたLBP特徴ベクトルに従って組合せによって顔画像のLBP特徴ベクトルを決定する。
【0045】
端末は、各顔画像に対して抽出を実行した後、u個のLBPの特徴を抽出する可能性がある。
【0046】
端末は、目標の顔画像およびh個の拡大縮小された目標の顔画像に対して抽出を別々に実行した後、Y個のLBPの特徴を取得する可能性があり、ここで、Y=u*(h+1)である。
【0047】
端末は、抽出されたBPの特徴をLBP特徴ベクトル内のパラメータとして使用して、それから、組合せによって、LBPの特徴を含むLBP特徴ベクトルを取得する。任意で、端末は、各顔画像から抽出されたLBPの特徴をLBP特徴ベクトル内の1つの列の1つの行として使用し、それから、h+1行またはh+1列を含むLBP特徴ベクトルを取得する可能性がある。
【0048】
D). LBP特徴ベクトルに従って顔画像の高次元特徴ベクトルを計算する。
【0049】
顔画像のLBP特徴ベクトルはx
rであると仮定される。このステップは、
(a). x
rTx
rに対して主成分分析(PCA)次元削減を実行すること、および次元削減された行列Pを取得するために最初のI次元の特徴を残しておくことであって、Iが、正の整数である、残しておくことと、
(b). x
rに関してx
p=Px
rを計算することと、
(c). 次元削減された行列Lを取得するためにx
pに対して潜在的ディリクレ配分法(LDA: Latent Dirichlet Allocation)次元削減を実行することと、
(d). x
pに関してx=Lx
pを計算することであって、xが、目標の顔画像の高次元特徴ベクトルである、計算することとを含み得る。
【0050】
Gは、第1の閾値よりも大きく、第2の閾値未満であり、概して、Iは、1440である可能性がある。PCA次元削減は、元の特徴ベクトルが線形変換によって低次元の空間にマッピングされる、画像処理においてよく使用される次元削減法である。
【0051】
今や、端末は、顔画像の各グループ内の第iの顔画像の高次元特徴ベクトルx
iおよび第jの顔画像の高次元特徴ベクトルx
jを取得し得る。
【0052】
任意で、別の可能な実装において、このステップは、ステップ(1)からステップ(4)を含む可能性がある。
【0053】
(1). 顔画像の各グループに関して、グループ内の顔画像の高次元特徴ベクトルを計算する。
【0054】
このステップの計算方法は、上述の第1の可能な実装の計算方法と同様であり、詳細は、本明細書において再び説明されない。
【0055】
(2). 顔画像の高次元特徴ベクトルの平均を計算する。
【0056】
端末は、グループ内の顔画像の高次元特徴ベクトルを計算した後、顔画像の高次元特徴ベクトルの平均を計算し得る。
【0057】
(3). グループ内の各顔画像に関して、平均正規化(mean normalization)後に得られた顔画像の高次元特徴ベクトルを取得するために顔画像の高次元特徴ベクトルから平均を引く。
【0058】
(4). 平均正規化後に得られた顔画像の高次元特徴ベクトルを顔画像の高次元特徴ベクトルとして決定する。
【0059】
第4に、H、L、S
g、およびx
iに従ってg
iを計算し、ここで、
【0061】
であり、H、L、x
i、およびx
jに従ってS
ijを計算し、ここで、
【0064】
第5に、g
iに従ってS
gを更新し、ここで、
【0066】
であり、S
ijに従ってS
sを更新し、ここで、
【0068】
であり、g
iTは、g
iの転置ベクトルであり、S
ijTは、S
ijの転置ベクトルである。
【0069】
第6に、S
gおよびS
sが収束する場合、S
gおよびS
sを取得する。
【0070】
第7に、S
gおよびS
sが収束しない場合、S
sに従ってHを計算し、S
gおよびS
sに従ってLを計算するステップを再び実行する。
【0071】
ステップ303. 第1の行列および第2の行列に従って第3の行列および第4の行列を計算する。
【0072】
第3の行列は、顔画像ライブラリ内の顔の特徴の共分散行列であり、第4の行列は、顔画像ライブラリ内の異なる人の顔の特徴の間の共分散行列である。
【0073】
任意で、このステップは、以下を含み得る。
【0074】
第1に、S
gである第1の行列およびS
sである第2の行列に従って第3の行列S
μを計算し、ここで、S
μ= con(u) = S
g+S
sである。
【0075】
第2に、第4の行列S
εを初期化し、ここで、S
εは、顔画像ライブラリ内のすべての顔画像のサンプルを含む、つまり、m*N個のサンプルを含む可能性があり、これは、この実施形態において限定されない。
【0076】
第3に、S
μに従ってFを計算し、ここで、F = S
μ-1であり、S
μおよびS
εに従ってGを計算し、ここで、G = -(mS
μ+S
ε)
-1S
μS
ε-1であり、mは、顔画像ライブラリ内の顔画像に対応する人の量である。
【0077】
FおよびGに従って顔画像ライブラリ内の第iの人のガウス分布の平均μ
iを計算し、ここで、
【0079】
であり、FおよびGに従って第iの人および第jの人の同時分布共分散行列ε
ijを計算し、ここで、
【0081】
であり、x
iは、第iの人の高次元特徴ベクトルであり、x
jは、第jの人の高次元特徴ベクトルである。
【0082】
第5に、μ
iに従ってS
μを更新し、ε
ijに従ってS
εを更新し、ここで、
【0086】
であり、μ
iTは、μ
iの転置ベクトルであり、ε
ijTは、ε
ijの転置ベクトルである。
【0087】
第6に、S
μおよびS
εが収束する場合、S
μおよびS
εを取得する。
【0088】
第7に、S
μおよびS
εが収束しない場合、S
μに従ってFを計算し、S
μおよびS
εに従ってGを計算するステップを再び実行する。
【0089】
ステップ304. 第3の行列および第4の行列に従って顔モデル行列を訓練する。
【0090】
任意で、このステップは、第3の行列S
μ、第4の行列S
ε、S
μおよびS
εが収束するときに取得されるF、ならびにS
μおよびS
εが収束するときに取得されるGに従って訓練することによって顔モデル行列を取得することを含む。
【0091】
顔モデル行列は、A = (S
μ+S
ε)
-1 - (F+G)およびG = -(mS
μ+S
ε)
-1S
μS
ε-1である。
【0092】
ステップ305. 目標の顔画像の高次元特徴ベクトルおよび参照顔画像の高次元特徴ベクトルを取得する。
【0093】
訓練によって訓練された顔モデル行列を取得した後、端末は、顔モデル行列に従って顔認識を実行し得る。
【0094】
特に、端末は、認識されるべき目標の顔画像の高次元特徴ベクトルを取得し、参照顔画像の高次元特徴ベクトルを取得し得る。任意で、端末は、LBPアルゴリズム、HOGアルゴリズム、ガボールアルゴリズム、またはSIFTアルゴリズムを使用することによって抽出することにより高次元特徴ベクトルを取得する可能性がある。これは、この実施形態において限定されない。
【0095】
ステップ306. 目標の顔画像の高次元特徴ベクトル、参照顔画像の高次元特徴ベクトル、および顔モデル行列に従って目標の顔画像と参照顔画像との間の類似性を計算する。
【0096】
類似性は、r(x
1, x
2) = x
1TAx
1 + x
2TAx
2 - 2x
1TGx
2である。
【0097】
x
1は、目標の顔画像の高次元特徴ベクトルであり、x
2は、参照顔画像の高次元特徴ベクトルであり、x
1Tは、x
1の転置ベクトルであり、x
2Tは、x
2の転置ベクトルであり、AおよびGは、顔モデル行列である。
【0098】
任意で、類似性を計算する前に、端末は、以下のステップをさらに実行する可能性がある。
【0099】
第1に、顔画像ライブラリ内のすべての特徴の平均Mを取得する。
【0100】
このステップは、顔画像ライブラリ内の各顔画像の高次元特徴ベクトルを取得し、取得された高次元特徴ベクトルに従ってすべての特徴の平均Mを計算することを含む。任意で、端末は、LBPアルゴリズム、HOGアルゴリズム、ガボールアルゴリズム、またはSIFTアルゴリズムを使用することによって抽出することにより各顔画像の高次元特徴ベクトルを取得する可能性がある。これは、この実施形態において限定されない。
【0101】
第2に、x
1およびx
2に対して平均正規化処理を実行する。特に、x
1 = x
1 - Mであり、x
2 = x
2 - Mである。
【0102】
x
1およびx
2に対して平均正規化処理を実行することによって、x
1およびx
2は、0を中心にして分散され得る。これは、類似性の計算効率を改善する。
【0103】
加えて、この実施形態においては、類似性を使用することによって目標の顔画像に対して顔認識が実行される例が、説明のためにのみ使用される。任意で、端末は、類似性を計算した後、目標の顔画像の高次元特徴ベクトルと参照顔画像の高次元特徴ベクトルとの間の分散をさらに計算し、それから、計算された分散を使用することによって顔認識を実行し得る。
【0104】
分散を計算するステップは、以下を含み得る。
【0105】
第1に、顔画像ライブラリ内の同じ人の高次元特徴ベクトルの平均r1および分散S
1を取得する。
【0106】
顔画像ライブラリ内のm*N個の顔画像に関して、同じ人のn個の顔画像の間で、(N - 1)個のr(x
1, x
2)を取得するために、任意の2つの顔画像の間の類似性r(x
1, x
2)が計算される。顔画像ライブラリ内のm人の人に関して、合計で(N - 1)*m個のr(x
1, x
2)が取得される。(N - 1)*m個のr(x
1, x
2)の平均r1および分散S
1が、計算される。
【0107】
第2に、計算された平均r1、分散S
1、および類似性に従って分散を計算し、分散sは、
【0110】
端末が分散sを計算した後、端末は、計算されたsを0から100までの範囲に正規化し得る。sのサイズは、目標の顔画像および参照顔画像が同じ人である確率を示す。言い換えれば、sは、1から100までの間の値を有する信頼性係数である。より大きなsは、2つの顔画像が同じ人である高い確率を示す。
【0111】
実際の実装においては、閾値が設定され得る。sが予め設定された閾値よりも大きいとき、目標の顔画像および参照顔画像は同じ人であると判定される。sが予め設定された閾値未満であるとき、目標の顔画像および参照顔画像は同じ人ではないと判定される。実際の実装において、予め設定された閾値は、50以上であり、100以下である数である。設計者は、必要とされる認識の正確さに応じて閾値を設定し得る。特に、必要とされる正確さが比較的高い場合、閾値は、比較的大きな値、たとえば、90に設定され、必要とされる正確さが比較的低い場合、閾値は、比較的小さな値、たとえば、60に設定される可能性がある。
【0112】
ステップ305およびステップ306は任意のステップであり、実際の実装においては必要に応じて実行される可能性があることにさらに留意されたい。これは、この実施形態において限定されない。
【0113】
要約すると、この実施形態において提供される顔モデル行列の訓練方法によって、顔画像ライブラリ内の顔画像がk個のグループに分けられ、毎回ただ1つのグループ内の顔画像がメモリにロードされ、解析され、それから、第1の行列および第2の行列が解析結果に従って計算され、顔モデル行列が第1の行列および第2の行列に従って訓練される。このようにして、端末が顔画像ライブラリ内のすべての顔画像をメモリに同時にロードするときに比較的大きなメモリが占有される既存のテクノロジーの問題が回避され、毎回ただ1つのグループ内の顔画像をメモリにロードし、それによって、訓練プロセスにおいて占有される必要があるメモリを削減する効果が、実現される。加えて、毎回ただ1つのグループ内の顔画像が解析される必要があるので、端末の計算の複雑さも、ある程度まで削減される。
【0114】
図4を参照すると、
図4は、本発明の実施形態による顔モデル行列の訓練装置の構造ブロック図である。顔モデル行列の訓練装置は、画像取得モジュール410、行列計算モジュール420、および行列訓練モジュール430を含み得る。
【0115】
画像取得モジュール410は、顔画像ライブラリを取得するように構成され、顔画像ライブラリは、顔画像のk個のグループを含み、顔画像の各グループは、少なくとも1人の人の少なくとも1つの顔画像を含み、k > 2であり、kは、整数である。
【0116】
行列計算モジュール420は、顔画像のk個のグループの各々を別々に解析し、解析結果に従って第1の行列および第2の行列を計算するように構成され、第1の行列は、顔画像の各グループの顔の特徴のグループ内共分散行列であり、第2の行列は、顔画像のk個のグループの顔の特徴のグループ間共分散行列である。
【0117】
行列訓練モジュール430は、行列計算モジュール320によって計算された第1の行列および第2の行列に従って顔モデル行列を訓練するように構成される。
【0118】
要約すると、この実施形態において提供される顔モデル行列の訓練装置によって、顔画像ライブラリ内の顔画像がk個のグループに分けられ、毎回ただ1つのグループ内の顔画像がメモリにロードされ、解析され、それから、第1の行列および第2の行列が解析結果に従って計算され、顔モデル行列が第1の行列および第2の行列に従って訓練される。このようにして、端末が顔画像ライブラリ内のすべての顔画像をメモリに同時にロードするときに比較的大きなメモリが占有される既存のテクノロジーの問題が回避され、毎回ただ1つのグループ内の顔画像をメモリにロードし、それによって、訓練プロセスにおいて占有される必要があるメモリを削減する効果が、実現される。加えて、毎回ただ1つのグループ内の顔画像が解析される必要があるので、端末の計算の複雑さも、ある程度まで削減される。
【0119】
図5を参照すると、
図5は、本発明の実施形態による顔モデル行列の訓練装置の構造ブロック図である。顔モデル行列の訓練装置は、画像取得モジュール510、行列計算モジュール520、および行列訓練モジュール530を含み得る。
【0120】
画像取得モジュール510は、顔画像ライブラリを取得するように構成され、顔画像ライブラリは、顔画像のk個のグループを含み、顔画像の各グループは、少なくとも1人の人の少なくとも1つの顔画像を含み、k > 2であり、kは、整数である。
【0121】
行列計算モジュール520は、顔画像のk個のグループの各々を別々に解析し、解析結果に従って第1の行列および第2の行列を計算するように構成され、第1の行列は、顔画像の各グループの顔の特徴のグループ内共分散行列であり、第2の行列は、顔画像のk個のグループの顔の特徴のグループ間共分散行列である。
【0122】
行列訓練モジュール530は、行列計算モジュール520によって計算された第1の行列および第2の行列に従って顔モデル行列を訓練するように構成される。
【0123】
任意で、行列計算モジュール520は、
第1の行列S
gおよび第2の行列S
sを初期化するように構成された初期化ユニット521と、
S
sに従ってHを計算するように構成された第1の計算モジュール522であって、H=S
s-1であり、第1の計算モジュール522がS
gおよびS
sに従ってLを計算するように構成され、L = -(kS
g+S
s)
-1S
gS
s-1である、第1の計算モジュール522と、
顔画像の各グループ内の第iの人の顔画像の高次元特徴ベクトルx
iおよび第jの人の顔画像の高次元特徴ベクトルx
jを取得するように構成された特徴取得ユニット523であって、0 < i≦n、0 < j≦n、およびi≠jであり、nは、顔画像の1つのグループ内の人の量である、特徴取得ユニット523と、
H、L、S
g、およびx
iに従ってg
iを計算するように構成された第2の計算ユニット524であって、
【0125】
であり、第2の計算ユニット524がH、L、x
i、およびx
jに従ってS
ijを計算するように構成され、
【0127】
である、第2の計算ユニット524と、
g
iに従ってS
gを更新するように構成された第3の計算ユニット525であって、
【0129】
であり、第3の計算ユニット525がS
ijに従ってS
sを更新するように構成され、
【0131】
であり、g
iTが、g
iの転置ベクトルであり、S
ijTが、S
ijの転置ベクトルである、第3の計算ユニット525と、
第3の計算ユニット525によって計算されたS
gおよびS
sが収束する場合にS
gおよびS
sを取得するように構成された第4の計算ユニット526とを含み、
第1の計算ユニット522は、第3の計算ユニットによって計算されたS
gおよびS
sが収束しない場合にS
sに従ってHを計算し、S
gおよびS
sに従ってLを計算するステップを再び実行するようにさらに構成される。
【0132】
任意で、特徴取得ユニット523は、
顔画像の各グループに関して、グループ内の顔画像の高次元特徴ベクトルを計算し、
顔画像の高次元特徴ベクトルの平均を計算し、
グループ内の各顔画像に関して、平均正規化後に得られた顔画像の高次元特徴ベクトルを取得するために顔画像の高次元特徴ベクトルから平均を引き、
平均正規化後に得られた顔画像の高次元特徴ベクトルを顔画像の高次元特徴ベクトルとして決定するようにさらに構成される。
【0133】
任意で、行列訓練モジュール530は、
第1の行列および第2の行列に従って第3の行列および第4の行列を計算するように構成された行列計算ユニット531であって、第3の行列が、顔画像ライブラリ内の顔の特徴の共分散行列であり、第4の行列が、顔画像ライブラリ内の異なる人の顔の特徴の間の共分散行列である、行列計算ユニット531と、
行列計算ユニット531によって計算された第3の行列および第4の行列に従って顔モデル行列を訓練するように構成された行列訓練ユニット532とを含む。
【0134】
任意で、行列計算ユニット531は、
S
gである第1の行列およびS
sである第2の行列に従って第3の行列S
μを計算することであって、S
μ= con(u) = S
g+S
sである、計算することと、
第4の行列S
εを初期化することと、
S
μに従ってFを計算することであって、F = S
μ-1である、計算すること、ならびにS
μおよびS
εに従ってGを計算することであって、G = -(mS
μ+S
ε)
-1S
μS
ε-1であり、mが、顔画像ライブラリ内の顔画像に対応する人の量である、計算することと、
FおよびGに従って顔画像ライブラリ内の第iの人のガウス分布の平均μ
iを計算することであって、
【0136】
である、計算すること、ならびにFおよびGに従って第iの人および第jの人の同時分布共分散行列ε
ijを計算することであって、
【0138】
であり、x
iが、第iの人の高次元特徴ベクトルであり、x
jが、第jの人の高次元特徴ベクトルである、計算することと、
μ
iに従ってS
μを更新し、ε
ijに従ってS
εを更新することであって、
【0142】
であり、μ
iTが、μ
iの転置ベクトルであり、ε
ijTが、ε
ijの転置ベクトルである、更新することと、
S
μおよびS
εが収束する場合にS
μおよびS
εを取得することと、
S
μおよびS
εが収束しない場合にS
μに従ってFを計算し、S
μおよびS
εに従ってGを計算するステップを再び実行することとを行うようにさらに構成される。
【0143】
任意で、行列訓練ユニット532は、
第3の行列S
μ、第4の行列S
ε、S
μおよびS
εが収束するときに取得されるF、ならびにS
μおよびS
εが収束するときに取得されるGに従って訓練することによって顔モデル行列AおよびGを取得するようにさらに構成され、
顔モデル行列は、A = (S
μ+S
ε)
-1 - (F+G)およびG = -(mS
μ+S
ε)
-1S
μS
ε-1である。
【0144】
任意で、装置は、
目標の顔画像の高次元特徴ベクトルおよび参照顔画像の高次元特徴ベクトルを取得するように構成された特徴取得モジュール540と、
目標の顔画像の高次元特徴ベクトル、参照顔画像の高次元特徴ベクトル、および顔モデル行列に従って目標の顔画像と参照顔画像との間の類似性を計算するように構成された顔認識モジュール550とをさらに含む。
【0145】
任意で、顔認識モジュール550は、
類似性をr(x
1, x
2) = x
1TAx
1 + x
2TAx
2 - 2x
1TGx
2として計算するようにさらに構成され、
x
1は、目標の顔画像の高次元特徴ベクトルであり、x
2は、参照顔画像の高次元特徴ベクトルであり、x
1Tは、x
1の転置ベクトルであり、x
2Tは、x
2の転置ベクトルであり、AおよびGは、顔モデル行列である。
【0146】
要約すると、この実施形態において提供される顔モデル行列の訓練装置によって、顔画像ライブラリ内の顔画像がk個のグループに分けられ、毎回ただ1つのグループ内の顔画像がメモリにロードされ、解析され、それから、第1の行列および第2の行列が解析結果に従って計算され、顔モデル行列が第1の行列および第2の行列に従って訓練される。このようにして、端末が顔画像ライブラリ内のすべての顔画像をメモリに同時にロードするときに比較的大きなメモリが占有される既存のテクノロジーの問題が回避され、毎回ただ1つのグループ内の顔画像をメモリにロードし、それによって、訓練プロセスにおいて占有される必要があるメモリを削減する効果が、実現される。加えて、毎回ただ1つのグループ内の顔画像が解析される必要があるので、端末の計算の複雑さも、ある程度まで削減される。
【0147】
図6は、本発明の実施形態による顔モデル行列の訓練端末1100のブロック図である。
図6を参照すると、端末1100は、
【0148】
無線周波数(RF)回路110、1つまたは複数のコンピュータ可読ストレージ媒体を含むメモリ120、入力ユニット130、ディスプレイユニット140、センサー150、オーディオ回路160、ワイヤレスフィデリティ(WiFi)モジュール170、1つまたは複数の処理コアを含むプロセッサ180、および電源190などの構成要素を含み得る。当業者は、
図6に示される端末の構造が端末に対する限定を定めず、端末が図に示される構成要素より多くの構成要素もしくはより少ない構成要素を含む可能性があり、または一部の構成要素が組み合わされる可能性があり、または異なる構成要素の配置が使用される可能性があることを理解し得る。
【0149】
RF回路110は、情報の受信および送信プロセスまたは呼び出しプロセスにおいて信号を受信および送信するように構成され得る。特に、基地局からダウンリンク情報を受信した後、RF回路110は、処理するために1つまたは複数のプロセッサ180にダウンリンク情報を配信し、関連するアップリンクデータを基地局に送信する。概して、RF回路110は、アンテナ、少なくとも1つの増幅器、チューナー、1つまたは複数の発振器、加入者識別モジュール(SIM)カード、トランシーバ、カプラ、低雑音増幅器(LNA)、およびデュプレクサを含むがこれらに限定されない。加えて、RF回路110は、ワイヤレス通信によってネットワークおよび別のデバイスと通信する可能性もある。ワイヤレス通信は、移動体通信用グローバルシステム(GSM(登録商標): Global System for Mobile communications)、汎用パケット無線サービス(GPRS: General Packet Radio Service)、符号分割多元接続(CDMA)、広帯域符号分割多元接続(WCDMA(登録商標))、ロングタームエボリューション(LTE)、電子メール、ショートメッセージングサービス(SMS)などを含むがこれらに限定されない任意の通信規格またはプロトコルを使用する可能性がある。
【0150】
メモリ120は、ソフトウェアプログラムおよびモジュールを記憶するように構成され得る。プロセッサ180は、様々な機能アプリケーションおよびデータ処理を実施するためにメモリ120に記憶されたソフトウェアプログラムおよびモジュールを実行する。メモリ120は、主に、プログラムストレージエリアおよびデータストレージエリアを含み得る。プログラムストレージエリアは、オペレーティングシステム、(音声再生機能および画像表示機能などの)少なくとも1つの機能によって必要とされるアプリケーションプログラムなどを記憶する可能性がある。データストレージエリアは、端末1100の使用によって生成された(オーディオデータおよびアドレス帳などの)データなどを記憶する可能性がある。加えて、メモリ120は、高速なランダムアクセスメモリを含む可能性があり、不揮発性メモリ、たとえば、少なくとも1つの磁気ディスクストレージデバイス、フラッシュメモリデバイス、または別の揮発性ソリッドステートストレージデバイスも含む可能性がある。それに対応して、メモリ120は、プロセッサ180および入力ユニット130のメモリ120へのアクセスを提供するためのメモリコントローラをさらに含み得る。
【0151】
入力ユニット130は、入力された数字または文字情報を受信し、ユーザ設定および機能の制御に関連するキーボード、マウス、ジョイスティック、光、またはトラックボールの信号入力を生成するように構成され得る。特に、入力ユニット130は、タッチ感知表面131および別の入力デバイス132を含み得る。タッチスクリーンまたはタッチパネルとも呼ばれる可能性があるタッチ感知表面131は、(指またはスタイラスなどの任意の好適な物体またはアクセサリを使用することによるタッチ感知表面131の上または近くのユーザの操作などの)タッチ感知表面の上または近くのユーザのタッチ操作を受け取り、予め設定されたプログラムに従って対応する接続装置を駆動し得る。任意で、タッチ感知表面131は、2つの部分、すなわち、タッチ検出装置およびタッチコントローラを含み得る。タッチ検出装置は、ユーザのタッチ位置を検出し、タッチ操作によって生成された信号を検出し、タッチコントローラに信号を転送する。タッチコントローラは、タッチ検出装置からタッチ情報を受信し、タッチ情報をタッチ点の座標に変換し、タッチ点の座標をプロセッサ180に送信する。さらに、タッチコントローラは、プロセッサ180から送信されたコマンドを受信し、実行することができる。加えて、タッチ感知表面131は、抵抗式、静電容量式、赤外線式、または表面音波式タッチ感知表面である可能性がある。タッチ感知表面131に加えて、入力ユニット130は、別の入力デバイス132をさらに含み得る。特に、別の入力デバイス132は、物理的なキーボード、(音量制御キーまたはスイッチキーなどの)機能キー、トラックボール、マウス、およびジョイスティックのうちの1つまたは複数を含み得るがこれらに限定されない。
【0152】
ディスプレイユニット140は、ユーザによって入力された情報またはユーザに与えられる情報および端末1100の様々なグラフィカルユーザインターフェースを表示するように構成され得る。これらのグラフィカルユーザインターフェースは、グラフ、テキスト、アイコン、ビデオ、またはこれらの任意の組合せによって形成される可能性がある。ディスプレイユニット140は、ディスプレイパネル141を含み得る。任意で、ディスプレイパネル141は、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイなどを使用することによって構成される可能性がある。さらに、タッチ感知表面131が、ディスプレイパネル141を覆う可能性がある。タッチ感知表面131の上または近くのタッチ操作を検出した後、タッチ感知表面131は、タッチイベントの種類を判定するためにタッチ操作をプロセッサ180に転送する。そのとき、プロセッサ180は、タッチイベントの種類に応じてディスプレイパネル141上の対応する視覚的な出力を提供する。
図6においてタッチ感知表面131およびディスプレイパネル141は入力および出力機能を実装するための2つの別々の部分として使用されるが、一部の実施形態において、タッチ感知表面131およびディスプレイパネル141は、入力および出力機能を実装するために統合される可能性がある。
【0153】
端末1100は、少なくとも1つのセンサー150、たとえば、光センサー、モーションセンサー、およびその他のセンサーをさらに含み得る。特に、光センサーは、環境光センサーおよび近接センサーを含み得る。環境光センサーは、環境光の明るさに応じてディスプレイパネル141の輝度を調整することができる。近接センサーは、端末1100が耳まで動かされるときにディスプレイパネル141をオフにするおよび/またはバックライトを有効にすることができる。モーションセンサーの一種として、重力加速度センサーは、様々な方向の(概して、3軸上の)加速度の大きさを検出することができ、重力加速度センサーが静止しているときの重力の大きさおよび方向を検出する可能性があり、モバイル電話の姿勢を認識するアプリケーション(たとえば、景色の向きと顔画像(portrait)の向きとの切り替え、関連するゲーム、および磁力計の姿勢の較正)、(万歩計(登録商標)およびノック(knock)などの)振動認識に関連する機能などのために使用される可能性がある。端末1100上に設けられ得るジャイロスコープ、気圧計、湿度計、温度計、および赤外線センサーなどのその他のセンサーは、本明細書においてさらに説明されない。
【0154】
オーディオ回路160、ラウドスピーカ161、およびマイクロフォン162は、ユーザと端末1100との間のオーディオインターフェースを提供し得る。オーディオ回路160は、受信されたオーディオデータを電気信号に変換し、電気信号をラウドスピーカ161に送信し得る。ラウドスピーカ161は、電気信号を出力のための音声信号に変換する。一方、マイクロフォン162は、集められた音声信号を電気信号に変換する。オーディオ回路160は、電気信号を受信し、電気信号をオーディオデータに変換し、オーディオデータを処理するためにプロセッサ180に出力する。そのとき、プロセッサ180は、たとえば、RF回路110を使用することによって別の端末デバイスにオーディオデータを送信するか、またはオーディオデータをさらに処理するためにメモリ120に出力する。オーディオ回路160は、周辺イヤホンと端末1100との間の通信を提供するためにイヤホンジャックをさらに含み得る。
【0155】
WiFiは、近距離ワイヤレス送信テクノロジーである。端末1100は、WiFiモジュール170を使用することによって、ユーザが電子メールを受信および送信すること、ウェブページを閲覧すること、ストリーミングメディアにアクセスすることなどを助け得る。端末1100は、ユーザにワイヤレスブロードバンドインターネットアクセスを提供する。
図6はWiFiモジュール170を示すが、WiFiモジュール170は端末1100の必須の構成要素ではなく、要求されるとき、WiFiモジュール170は本開示の本質の範囲が変えられない限り省略される可能性があることが理解され得る。
【0156】
プロセッサ180は、端末1100の制御の中心であり、様々なインターフェースおよび線を使用することによってモバイル電話の様々な部分に接続される。メモリ120に記憶されたソフトウェアプログラムおよび/またはモジュールを走らせるかまたは実行し、メモリ120に記憶されたデータを呼び出すことによって、プロセッサ180は、端末1100の様々な機能およびデータ処理を実行し、それによって、モバイル電話に対する全体の監視を実行する。任意で、プロセッサ180は、1つまたは複数の処理コアを含み得る。好ましくは、アプリケーションプロセッサおよびモデムは、プロセッサ180に統合され得る。アプリケーションプロセッサは、主として、オペレーティングシステム、ユーザインターフェース、アプリケーションプログラムなどを処理する。モデムは、主として、ワイヤレス通信を処理する。上述のモデムがプロセッサ180に統合されない可能性があることは、理解され得る。
【0157】
端末1100は、構成要素に電力を供給するための(バッテリーなどの)電源190をさらに含む。好ましくは、電源は、電源管理システムを使用することによってプロセッサ180に論理的に接続され、それによって、電源管理システムを使用することによって充電、放電、および電力消費管理などの機能を実施する可能性がある。電源190は、直流または交流電源、再充電システム、電源異常検出回路、電源コンバータまたはインバータ、電源状態インジケータ、および任意のその他の構成要素のうちの1つまたは複数をさらに含み得る。
【0158】
図に示されていないが、端末1100は、本明細書においてさらに説明されないカメラ、Bluetooth(登録商標)モジュールなどをさらに含み得る。特に、この実施形態において、端末のディスプレイユニットは、タッチスクリーンディスプレイであり、端末は、メモリおよび1つまたは複数のプログラムをさらに含む。1つまたは複数のプログラムは、メモリに記憶され、1つまたは複数のプロセッサによって実行されるように構成される。1つまたは複数のプログラムは、以下の動作、すなわち、顔画像ライブラリを取得する動作であって、顔画像ライブラリが、顔画像のk個のグループを含み、顔画像の各グループが、少なくとも1人の人の少なくとも1つの顔画像を含み、k > 2であり、kが、整数である、動作と、顔画像のk個のグループの各々を別々に解析し、解析結果に従って第1の行列および第2の行列を計算する動作であって、第1の行列が、顔画像の各グループの顔の特徴のグループ内共分散行列であり、第2の行列が、顔画像のk個のグループの顔の特徴のグループ間共分散行列である、動作と、第1の行列および第2の行列に従って顔モデル行列を訓練する動作とを実行するように構成された命令を含む。
【0159】
1つまたは複数のプログラムは、
図2または
図3の顔モデル行列の訓練方法のその他の動作を実行するように構成された命令をさらに含む。
【0160】
上述の機能モジュールの分割は、上述の実施形態において提供された顔モデル行列の訓練装置が顔モデル行列を訓練するときの例示的な目的のために説明されているに過ぎないことに留意されたい。実際の応用において、機能は、特定のニーズに応じて異なる機能モジュールに割り振られる可能性があり、つまり、上述の機能のすべてまたは一部を完成するために装置の内部構造を異なる機能モジュールに分割する。加えて、上述の実施形態において提供された顔モデル行列の訓練装置は、顔モデル行列の訓練方法の方法実施形態の概念と同じ概念に基づく。特定の実装プロセスに関しては、方法の実施形態を参照するものとし、詳細は、本明細書において再び説明されない。
【0161】
本発明の上述の実施形態の連番は、説明の目的に資するのみであり、実施形態の優劣を示さない。
【0162】
当業者は、上述の実施形態のステップのすべてまたは一部が、ハードウェアを用いることによって実装される可能性があり、または関連するハードウェアに指示を与えるプログラムによって実装される可能性があることを理解するであろう。プログラムは、コンピュータ可読ストレージ媒体に記憶され得る。ストレージ媒体は、読み出し専用メモリ、磁気ディスク、光ディスクなどである可能性がある。
【0163】
上述の説明は、本発明の好ましい実施形態であるに過ぎず、本開示を限定するように意図されていない。本開示の精神および原理の中でなされたあらゆる修正、均等な置き換え、または改善は、本開示の保護範囲に入る。