IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許7231879制御方法、制御プログラムおよび情報処理装置
<>
  • 特許-制御方法、制御プログラムおよび情報処理装置 図1
  • 特許-制御方法、制御プログラムおよび情報処理装置 図2
  • 特許-制御方法、制御プログラムおよび情報処理装置 図3
  • 特許-制御方法、制御プログラムおよび情報処理装置 図4
  • 特許-制御方法、制御プログラムおよび情報処理装置 図5
  • 特許-制御方法、制御プログラムおよび情報処理装置 図6
  • 特許-制御方法、制御プログラムおよび情報処理装置 図7
  • 特許-制御方法、制御プログラムおよび情報処理装置 図8
  • 特許-制御方法、制御プログラムおよび情報処理装置 図9
  • 特許-制御方法、制御プログラムおよび情報処理装置 図10
  • 特許-制御方法、制御プログラムおよび情報処理装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-21
(45)【発行日】2023-03-02
(54)【発明の名称】制御方法、制御プログラムおよび情報処理装置
(51)【国際特許分類】
   G06V 40/16 20220101AFI20230222BHJP
   G06T 7/00 20170101ALI20230222BHJP
【FI】
G06V40/16 A
G06T7/00 510F
【請求項の数】 13
(21)【出願番号】P 2022504800
(86)(22)【出願日】2020-03-03
(86)【国際出願番号】 JP2020008809
(87)【国際公開番号】W WO2021176544
(87)【国際公開日】2021-09-10
【審査請求日】2022-03-30
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】内田 秀継
【審査官】佐藤 実
(56)【参考文献】
【文献】国際公開第2014/132841(WO,A1)
【文献】特開2017-91520(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 40/16
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
人物の複数の撮影データを受け付け、
前記複数の撮影データそれぞれの品質と、前記複数の撮影データの数とに基づき、前記複数の撮影データそれぞれに適用する重みを示す重み情報を生成し、
前記複数の撮影データから前記複数の撮影データを代表する代表データを算出する際に、生成した前記重み情報が示す前記重みが小さい程、前記代表データの算出結果への前記複数の撮影データそれぞれの影響が小さくなるアルゴリズムを適用する、
処理をコンピュータが実行することを特徴とする制御方法。
【請求項2】
前記重み情報の生成では、前記複数の撮影データの数が少ない程、前記複数の撮影データそれぞれの前記品質が前記複数の撮影データそれぞれの前記重みに与える影響を大きくする、
ことを特徴とする請求項1記載の制御方法。
【請求項3】
前記重み情報の生成では、閾値に対する前記複数の撮影データの数の比率に基づいて前記重みを算出する、
ことを特徴とする請求項1記載の制御方法。
【請求項4】
前記重み情報の生成では、前記複数の撮影データの数に対する、所定の品質よりも低品質の撮影データの数の比率に基づいて前記重みを算出する、
ことを特徴とする請求項1記載の制御方法。
【請求項5】
前記重み情報の生成では、撮影データの品質が高い程、前記撮影データの前記重みを大きくする、
ことを特徴とする請求項1記載の制御方法。
【請求項6】
前記重み情報の生成では、前記複数の撮影データそれぞれの特徴ベクトルと、前記複数の撮影データそれぞれの前記品質を示す品質ベクトルとの回帰モデルを生成し、前記回帰モデルに基づいて、前記特徴ベクトルの各要素に含まれるノイズ成分を推定する、
ことを特徴とする請求項1記載の制御方法。
【請求項7】
前記重み情報の生成では、推定した前記ノイズ成分を、前記ノイズ成分に対応する前記特徴ベクトルの第1の要素から引くことで、前記複数の撮影データそれぞれの前記特徴ベクトルの前記第1の要素の、前記第1の要素に対応する前記代表データの第2の要素に対する前記重みを算出する、
ことを特徴とする請求項6記載の制御方法。
【請求項8】
複数の人物に対して算出された複数の前記代表データに基づいて、複数の前記代表データを分類する複数のクラスタに対応する複数のクラスタ代表データを算出する、
処理を前記コンピュータが更に実行することを特徴とする請求項1記載の制御方法。
【請求項9】
前記人物の認証時に前記人物の撮影データを受け付け、前記複数のクラスタ代表データのうち前記撮影データの特徴データとの類似度が高いクラスタ代表データを優先的に選択し、選択した前記クラスタ代表データに対応するクラスタに分類された前記代表データと前記特徴データとを前記類似度に基づき照合する、
処理を前記コンピュータが更に実行することを特徴とする請求項8記載の制御方法。
【請求項10】
前記特徴データ、前記代表データおよび前記クラスタ代表データそれぞれは、同一の特徴空間におけるベクトルであり、
前記類似度は、前記特徴空間の2つの前記ベクトルで示される2つの点の間の距離である、
ことを特徴とする請求項9記載の制御方法。
【請求項11】
前記品質の情報は、撮影データにおけるブラーの大きさ、照明の変動の大きさおよび撮影方向に対する顔の傾きの大きさの少なくとも1つを示す指標値である、
ことを特徴とする請求項1記載の制御方法。
【請求項12】
人物の複数の撮影データを受け付け、
前記複数の撮影データそれぞれの品質と、前記複数の撮影データの数とに基づき、前記複数の撮影データそれぞれに適用する重みを示す重み情報を生成し、
前記複数の撮影データから前記複数の撮影データを代表する代表データを算出する際に、生成した前記重み情報が示す前記重みが小さい程、前記代表データの算出結果への前記複数の撮影データそれぞれの影響が小さくなるアルゴリズムを適用する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【請求項13】
人物の複数の撮影データを記憶する記憶部と、
前記複数の撮影データそれぞれの品質と、前記複数の撮影データの数とに基づき、前記複数の撮影データそれぞれに適用する重みを示す重み情報を生成し、前記複数の撮影データから前記複数の撮影データを代表する代表データを算出する際に、生成した前記重み情報が示す前記重みが小さい程、前記代表データの算出結果への前記複数の撮影データそれぞれの影響が小さくなるアルゴリズムを適用する処理部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は制御方法、制御プログラムおよび情報処理装置に関する。
【背景技術】
【0002】
現在、人物の認証に生体情報が利用されることがある。生体情報は、人間の身体的特徴または行動的特徴を示す情報である。身体的特徴としては、例えば、指紋、静脈、虹彩、顔などが挙げられる。行動的特徴としては、例えば、筆跡などが挙げられる。
【0003】
例えば、機械学習モデルによる物体認識を行うシステムの提案がある。提案のシステムでは機械学習モデルは、オンライントレーニングの最中に観察される物体の1以上の例から、分類器のためのオフライントレーニングの最中に確立される所定の決定境界までの距離を決定し、距離の関数として決定ルールを更新するように構成される。また、機械学習モデルは、更新された決定ルールに基づいて、将来例を分類するように構成される。
【先行技術文献】
【特許文献】
【0004】
【文献】国際公開第2016/144523号
【発明の概要】
【発明が解決しようとする課題】
【0005】
情報処理装置により、ある人物に対してセンサなどにより取得された複数の撮影データから当該人物に対応する代表データを作成し、当該代表データに基づいて人物の認証を行うことがある。しかし、各撮影データには、センサによるセンシング条件に応じたノイズが混入し得る。このため、各撮影データに混入したノイズの影響により、人物の特徴が代表データに適切に反映されないことがある。人物の特徴が代表データに適切に反映されていないと、代表データに基づく人物の認証精度が低下する。
【0006】
1つの側面では、本発明は、認証精度を向上できる制御方法、制御プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
1つの態様では、制御方法が提供される。この制御方法では、コンピュータが、人物の複数の撮影データを受け付け、複数の撮影データそれぞれの品質と、複数の撮影データの数とに基づき、複数の撮影データそれぞれに適用する重みを示す重み情報を生成し、複数の撮影データから複数の撮影データを代表する代表データを算出する際に、生成した重み情報が示す重みが小さい程、代表データの算出結果への複数の撮影データそれぞれの影響が小さくなるアルゴリズムを適用する。
【0008】
また、1つの態様では、制御プログラムが提供される。
また、1つの態様では、情報処理装置が提供される。
【発明の効果】
【0009】
1つの側面では、認証精度を向上できる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【0010】
図1】第1の実施の形態の情報処理装置の処理例を示す図である。
図2】第2の実施の形態の情報処理システムの例を示す図である。
図3】サーバのハードウェア例を示す図である。
図4】サーバの機能例を示す図である。
図5】学習データテーブルの例を示す図である。
図6】人物代表データテーブルの例を示す図である。
図7】クラスタ代表データテーブルの例を示す図である。
図8】人物代表ベクトル生成の例を示すフローチャートである。
図9】クラスタ代表ベクトル生成の例を示すフローチャートである。
図10】認証の例を示すフローチャートである。
図11】第3の実施の形態の人物代表ベクトル生成の例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
【0012】
図1は、第1の実施の形態の情報処理装置の処理例を示す図である。
情報処理装置10は、人物の認証に用いられる人物ごとの代表データを生成する。代表データは、人物の生体的特徴を撮影した撮影データに基づいて生成される。生体的特徴は、人物の身体的特徴や行動的特徴を含む。身体的特徴としては、例えば指紋、静脈、虹彩、顔などが挙げられる。行動的特徴としては、例えば、筆跡などが挙げられる。代表データは、人物登録時に、当該人物に対して取得された複数の撮影データに基づいて生成される。撮影データは、例えば赤外光や可視光などを用いて撮影するカメラなどのセンサにより取得される画像である。
【0013】
情報処理装置10は、記憶部11および処理部12を有する。
記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部12は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部12はプログラムを実行するプロセッサであってもよい。ここでいう「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。
【0014】
記憶部11は、処理部12の処理に用いられる情報を記憶する。記憶部11は、センサにより予め撮影された人物の複数の撮影データ、および、複数の撮影データに対応する複数の品質情報を記憶する。品質情報は、各撮影データの品質を示す指標値を含む。
【0015】
ここで、撮影データの品質は、撮影データのセンシング条件に応じて異なる。撮影データの品質に影響を及ぼす要素には、例えば、顔画像であれば、撮影時のブレ、照明の当たり具合およびカメラなどのレンズが向けられた撮影方向に対する顔の傾き(例えば、横を向いているなど)などが考えられる。よって、顔画像を対象にする場合、品質を示す指標値は、例えば、顔の特徴点(目、鼻、口など)の座標データから推定される、撮影方向に対する顔の傾きの大きさや、座標間での照明変動の大きさおよびブラーの大きさなどでもよい。品質を示す指標値が大きい、すなわち品質が良い程、撮影データにおけるノイズの影響は小さい。品質を示す指標値が小さい、すなわち品質が悪い程、撮影データにおけるノイズの影響は大きい。
【0016】
品質情報は、各撮影データに対応付けて取得され、記憶部11に予め格納される。品質情報は、各撮影データに対して、処理部12により生成されて記憶部11に格納されてもよい。また、記憶部11は、処理部12により生成された撮影データごとの重み情報や、人物の代表データを記憶する。
【0017】
処理部12は、人物の複数の撮影データを受け付け、複数の撮影データそれぞれの品質と、複数の撮影データの数とに基づき、複数の撮影データそれぞれに適用する重みを示す重み情報を生成する。
【0018】
処理部12は、複数の撮影データから複数の撮影データを代表する代表データを算出する際に、生成した重み情報が示す重みが小さい程、代表データの算出結果への複数の撮影データそれぞれの影響が小さくなるアルゴリズムを適用する。
【0019】
ここで、記憶部11には、ある人物に対して撮影データ群20および撮影データ群20に対応する品質情報群30が記憶されているとする。例えば、撮影データ21は、撮影データ群20に含まれる撮影データである。例えば、品質情報31は、品質情報群30に含まれる、撮影データ21に対応する品質を示す指標値である。
【0020】
処理部12は、撮影データ群20に対して重み情報群40を生成する。例えば、重み情報41は、撮影データ21に対応する重みを示す情報である。処理部12は、次のように重み情報群40を生成する。
【0021】
第1の例では、処理部12は、ある人物の複数の撮影データの数を閾値と比較し、比較に応じて、人物ごとに重みの算出方法を選択する。ある人物の複数の撮影データの数が閾値以上の場合、処理部12は、当該人物の複数の撮影データそれぞれの重みを同じにする。代表データを生成する際、サンプル数が多い程、ノイズの影響が軽減されるからである。
【0022】
一方、ある人物の複数の撮影データの数が閾値よりも小さい場合、処理部12は、撮影データの品質が良い程、当該撮影データの重みを大きくする。また、処理部12は、撮影データの品質が悪い程、当該撮影データの重みを小さくする。品質が良い程、ノイズの影響が小さいので、該当の人物の特徴が撮影データに適切に反映されている可能性が高いからである。
【0023】
このとき、処理部12は、当該複数の撮影データの数の閾値に対する比率R1に応じて、重みへの品質の影響の大きさを決定してもよい。例えば、処理部12は、比率R1が大きい程、重みへの品質の影響を小さく、比率R1が小さい程、重みへの品質の影響を大きくすることが考えられる。比率R1が小さい程、該当の人物の代表データがノイズの影響を受け易くなるからである。
【0024】
あるいは、処理部12は、当該複数の撮影データの数に対する、当該複数の撮影データのうち所定の品質よりも悪い品質の撮影データの数の比率R2に応じて、重みへの品質の影響の大きさを決定してもよい。例えば、処理部12は、比率R2が小さい程、重みへの品質の影響を小さくし、比率R2が大きい程、重みへの品質の影響を大きくすることも考えられる。比率R2が大きい程、該当の人物の代表データがノイズの影響を受け易くなるからである。
【0025】
第1の例の場合、例えば処理部12は、該当の人物の各撮影データの特徴を示す特徴ベクトルを当該撮影データの重みにより重み付け平均したベクトルを、当該人物の代表データ50とする。すると、重み情報が示す重みが小さい程、代表データ50の算出結果への当該撮影データの影響が小さくなる。
【0026】
第2の例では、処理部12は、撮影データの特徴量と、品質を示す指標値との回帰モデルを用いて、特徴量に含まれるノイズ成分を推定する。ここで、特徴量は、撮影データの特徴ベクトルの1つの要素である。また、この場合の品質は、複数の指標値を持つベクトルで表される。回帰モデルは、例えば、複数の人物に対して得られた複数の撮影データに基づいて生成されてもよいし、該当の人物の複数の撮影データに基づいて生成されてもよい。回帰モデルの生成では、該当の人物の複数の撮影データの数が用いられる。
【0027】
処理部12は、推定されたノイズ成分を特徴量から引くことで、当該撮影データに対応する重み、あるいは、重み付け特徴量を、当該撮影データの特徴ベクトルの要素ごとに算出する。すなわち、第2の例では、撮影データに対応する重み、あるいは、重み付け特徴量がベクトル(重みベクトルまたは重み付け特徴ベクトルと呼ぶ)として得られる。この場合、処理部12は、例えば、該当の人物の各撮影データに対して得られた重み付け特徴ベクトルを平均したベクトルを、当該人物の代表データ50とする。すると、重み付け特徴ベクトルのうち、値の大きな要素程、重みが大きい、すなわちノイズの影響が小さい成分であり、当該要素に対応する代表データ50の要素への影響が大きくなる。また、重み付け特徴ベクトルのうち、値の小さな要素程、重みが小さい、すなわちノイズの影響が大きい成分であり、当該要素に対応する代表データ50の要素への影響が小さくなる。
【0028】
情報処理装置10によれば、人物の複数の撮影データが受け付けられる。複数の撮影データそれぞれの品質と、複数の撮影データの数とに基づき、複数の撮影データそれぞれに適用する重みを示す重み情報が生成される。複数の撮影データから複数の撮影データを代表する代表データが算出される際に、生成した重み情報が示す重みが小さい程、代表データの算出結果への複数の撮影データそれぞれの影響が小さくなるアルゴリズムが適用される。
【0029】
これにより、認証精度を向上できる。
ここで、代表データの生成に用いられる各撮影データには、センサによるセンシング条件に応じたノイズが混入し得る。このため、各撮影データに混入したノイズの影響により、人物の特徴が代表データに適切に反映されないことがある。人物の特徴が代表データに適切に反映されていないと、代表データに基づく人物の認証精度が低下する。ノイズの影響が比較的大きな撮影データを、代表データの学習用のサンプルから排除することも考えられるが、サンプル数は代表データの精度に影響を与えるため、可能な限りサンプル数を維持することが好ましい。
【0030】
そこで、情報処理装置10は、撮影データごとの品質と複数の撮影データの数とに基づく、撮影データごとの重みを求め、当該重みに応じて、各撮影データの代表データに対する影響を調整する。すなわち、情報処理装置10は、ノイズの影響が小さいと推定される撮影データの特徴ベクトルあるいは特徴量については、当該特徴ベクトルあるいは特徴量に近づくように代表データを算出する。これにより、ノイズの影響を軽減しつつ、データ量を活かした代表データの生成を行える。その結果、人物の生体的特徴を代表データに適切に反映させることができ、代表データに基づく人物の認証精度を向上できる。
【0031】
例えば、情報処理装置10は、ある人物を認証する際に、当該人物に対して取得された撮影データの特徴ベクトルと、記憶部11に記憶された各人物の代表データとを照合することで、当該人物の認証を適切に行える。
【0032】
また、情報処理装置10は、複数の人物の複数の代表データに基づいて、各代表データをK-means法(K平均法)などのクラスタリング手法により複数のクラスタに分類し、各クラスタのクラスタ代表データを求めておいてもよい。この場合、情報処理装置10は、ある人物を認証する際に、当該人物に対して取得された撮影データの特徴ベクトルと、クラスタ代表データとの照合により、当該特徴ベクトルと照合すべき人物の代表データを、絞り込むことができる。このように、クラスタ化により各代表データを分類する場合にも、代表データに人物ごとの生体的特徴が適切に反映されていることから、高精度なクラスタ化を行える。また、当該クラスタにより照合すべき代表データの絞り込みの精度を向上できる。その結果、人物の認証精度を向上できる。
【0033】
[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理システムの例を示す図である。
【0034】
第2の実施の形態の情報処理システムは、サーバ100およびクライアント200,300を有する。サーバ100およびクライアント200,300は、ネットワーク60を介して接続される。ネットワーク60は、例えばLAN(Local Area Network)でもよいし、インターネットやWAN(Wide Area Network)でもよい。
【0035】
サーバ100は、情報処理システムを利用する人物、すなわち、ユーザの生体認証を行う機能を提供するサーバコンピュータである。サーバ100は、ユーザの顔の撮影データ、すなわち、顔画像に基づく顔認証を行う。ただし、認証に用いられる撮影データは、顔画像に限らず、ユーザの生体的特徴を表す他の種類の画像でもよい。例えば、撮影データは、指紋、静脈、虹彩あるいは身体のその他の部位や器官の画像、または、筆跡の画像などでもよい。認証に用いられるユーザの顔などの撮影データは、ユーザの生体的特徴を表しているため、生体データと呼ばれてもよい。サーバ100は、第1の実施の形態の情報処理装置10の一例である。
【0036】
クライアント200,300は、ユーザにより利用されるクライアントコンピュータである。クライアント200,300は、それぞれカメラ201,301を有する。カメラ201,301は、CCD(Charged-Coupled Devices)やCMOS(Complementary Metal-Oxide-Semiconductor)などのイメージセンサを内蔵し、クライアント200,300それぞれを操作するユーザの顔を撮影して撮影データを生成する。クライアント200,300は、クライアント200,300における所定の機能の利用に際して、それぞれカメラ201,301により撮影された撮影データによる顔認証をサーバ100に依頼し、認証が成功したユーザにのみ当該機能の利用を許可する。
【0037】
利用に際してユーザの認証を要するクライアント200,300における機能としては、例えば、クライアント200,300におけるOS(Operating System)やその他のアプリケーションへのログインなどが考えられる。あるいは、クライアント200,300と通信するWebサーバやアプリケーションサーバ(図示を省略している)などが提供する各種のサービスへのログインや当該Webサーバなどが提供する決済などの機能も考えられる。
【0038】
なお、クライアント200,300は、スマートフォンやタブレット端末などのスマートデバイスでもよい。また、クライアント200,300は、汎用のコンピュータに限らず、例えばATM(Automated Teller Machine)、POS(Point Of Sale)端末、自動販売機、ドアロックを制御する電子錠および入退室管理装置など、機能の提供に個人認証を伴う特定用途のコンピュータでもよい。
【0039】
図3は、サーバのハードウェア例を示す図である。サーバ100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106およびNIC(Network Interface Card)107を有する。なお、CPU101は、第1の実施の形態の処理部12の一例である。RAM102またはHDD103は、第1の実施の形態の記憶部11の一例である。
【0040】
CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを含んでもよい。また、サーバ100は複数のプロセッサを有してもよい。以下で説明する処理は複数のプロセッサまたはプロセッサコアを用いて並列に実行されてもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」ということがある。
【0041】
RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、サーバ100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
【0042】
HDD103は、OSやミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
【0043】
画像信号処理部104は、CPU101からの命令に従って、サーバ100に接続されたディスプレイ111に画像を出力する。ディスプレイ111としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを用いることができる。
【0044】
入力信号処理部105は、サーバ100に接続された入力デバイス112から入力信号を取得し、CPU101に出力する。入力デバイス112としては、マウス・タッチパネル・タッチパッド・トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、サーバ100に、複数の種類の入力デバイスが接続されていてもよい。
【0045】
媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
【0046】
媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体113は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体113やHDD103を、コンピュータ読み取り可能な記録媒体ということがある。
【0047】
NIC107は、ネットワーク60に接続され、ネットワーク60を介して他のコンピュータと通信を行うインタフェースである。NIC107は、例えば、スイッチやルータなどの通信装置とケーブルで接続される。
【0048】
なお、サーバ100は、カメラを内蔵したり、カメラと接続されたりしてもよく、サーバ100のユーザの認証を行ってもよい。例えば、サーバ100は、店舗などの施設に設置されたカメラと接続されることで、当該施設を訪れたユーザの認証、あるいは当該ユーザの識別を行うこともできる。
【0049】
また、クライアント200,300もサーバ100と同様のハードウェアにより実現される。
図4は、サーバの機能例を示す図である。
【0050】
サーバ100は、記憶部120、制御部130、撮影データ処理部140、品質算出部150、人物代表ベクトル算出部160、クラスタ代表ベクトル算出部170および認証部180を有する。記憶部120には、RAM102やHDD103の記憶領域が用いられる。制御部130、撮影データ処理部140、品質算出部150、人物代表ベクトル算出部160、クラスタ代表ベクトル算出部170および認証部180は、プログラムにより実現される。
【0051】
記憶部120は、複数のユーザそれぞれに対して予め取得された複数の撮影データを記憶する。記憶部120に予め記憶される複数の撮影データは、カメラ201,301により生成されたものでもよい。その場合、サーバ100は、クライアント200,300から当該複数の撮影データを予め収集し、記憶部120に格納する。各撮影データは、ユーザの識別情報であるユーザID(IDentifier)に対応付けられている。
【0052】
記憶部120は、学習データテーブル、人物代表データテーブルおよびクラスタ代表データテーブルを記憶する。
学習データテーブルは、学習データが登録されるテーブルである。学習データは、人物代表データの生成に用いられる。人物代表データは、該当のユーザの認証に先立って、記憶部120に予め記憶された複数の撮影データに基づいて生成され、サーバ100に登録される情報である。
【0053】
学習データは、ユーザの撮影データごとの特徴ベクトルと品質値とを含む。特徴ベクトルは、複数個の特徴量を要素とするベクトルである。品質値は、撮影データの品質を示す指標値である。撮影データの品質は、撮影データのセンシング条件に応じて異なる。撮影データの品質に影響を及ぼす要素には、撮影時のブレ、照明の当たり具合およびカメラなどのレンズが向けられた撮影方向に対する顔の傾き(例えば、横を向いているなど)などが考えられる。品質値が大きい程、撮影データの品質が良い、あるいは品質が高い。品質値が小さい程、撮影データの品質が悪い、あるいは品質が低い。
【0054】
人物代表データテーブルは、人物代表データが登録されるテーブルである。人物代表データは、ユーザごとの複数の学習データに基づく、当該ユーザに対応する1つの代表データである。人物代表データは、撮影データの特徴ベクトルと同じ次元数を持つベクトルである。人物代表データは、人物代表ベクトルと呼ばれてもよい。
【0055】
クラスタ代表データテーブルは、クラスタ代表データが登録されるテーブルである。クラスタ代表データは、クラスタに対応する1つの代表データである。クラスタは、複数の人物代表データのグループである。クラスタは複数存在する。1つの人物代表データは、1つのクラスタに属する。クラスタ代表データは、認証の際、照合すべき人物代表データの絞り込みに用いられる。クラスタ代表データは、撮影データの特徴ベクトルと同じ次元数を持つベクトルである。クラスタ代表データは、クラスタ代表ベクトルと呼ばれてもよい。
【0056】
制御部130は、撮影データ処理部140、品質算出部150、人物代表ベクトル算出部160、クラスタ代表ベクトル算出部170および認証部180の動作を制御する。
撮影データ処理部140は、記憶部120に記憶された撮影データに基づいて、当該撮影データに対する特徴ベクトルを生成する。特徴ベクトルには、例えば該当のユーザの顔における、目、鼻、口などの位置に応じた特徴が反映される。顔画像に対する特徴ベクトルの生成には既存の方法を用いることができる。撮影データ処理部140は、撮影データに対して生成した特徴ベクトルを、ユーザIDに対応付けて、記憶部120に記憶された学習データテーブルに登録する。
【0057】
品質算出部150は、記憶部120に記憶された撮影データの品質を評価し、当該撮影データに対する品質値を生成する。品質値は、撮影データから、特徴ベクトルとは独立に取得される情報である。品質値は、例えば、顔画像を対象にする場合、顔の特徴点(目、鼻、口など)の座標データから推定される、撮影方向に対する顔の傾きの大きさや、座標間での照明変動の大きさおよびブラーの大きさなどである。ブラーの大きさは、撮影時のブレの大きさを示す。顔の傾きの大きさ、照明変動の大きさおよびブラーの大きさにより表される品質値は、撮影データあるいは特徴ベクトルに混入するノイズに相関があると推定される。品質が良い、すなわち、品質値が大きい程、ノイズが小さいと推定される。また、品質が悪い、すなわち、品質値が小さい程、ノイズが大きいと推定される。品質算出部150は、撮影データに対して生成した品質値を、ユーザIDおよび当該撮影データの特徴ベクトルに対応付けて、記憶部120に記憶された学習データテーブルに登録する。
【0058】
人物代表ベクトル算出部160は、ユーザごとの学習データに基づいて人物代表ベクトルを算出する。人物代表ベクトル算出部160は、該当のユーザに対して得られている撮影データの数に応じて、人物代表ベクトルの算出方法を選択する。ここで、撮影データのサンプルが得られているユーザの全体集合を{S}とする。集合{S}の全要素数、すなわち、全ユーザ数をSとする。集合{S}に属するユーザをsで表す。
【0059】
まず、人物代表ベクトル算出部160は、該当のユーザsに対して得られている撮影データの数Nを閾値Tと比較する。N≧Tのユーザの集合を人物サブセットSuとする。N<Tのユーザの集合を人物サブセットSlとする。
【0060】
人物サブセットSuに属するユーザsについて、人物代表ベクトル算出部160は、式(1)により、ユーザsの人物代表ベクトルHuを求める。
【0061】
【数1】
【0062】
は、ユーザsのn番目の撮影データの特徴ベクトルである。人物代表ベクトルHuは、ユーザsに対応する特徴ベクトルの平均である。
人物サブセットSlに属するユーザsについて、人物代表ベクトル算出部160は、式(2)により、ユーザsの人物代表ベクトルHlを求める。
【0063】
【数2】
【0064】
は、ユーザsのn番目の撮影データの重みである。人物代表ベクトルHlは、ユーザsに対する特徴ベクトルの重み付き平均である。W は、例えば式(3)により表される。
【0065】
【数3】
【0066】
は、ユーザsのn番目の撮影データの品質値である。品質値は、実数により表される。式(3)によれば、ユーザsの撮影データの数Nが小さい程、重みW に対する品質値Q の影響が大きくなる。また、品質値Q が大きい程、重みW が大きくなり、品質値Q が小さい程、重みW が小さくなる。
【0067】
なお、式(3)では、重みW に与える品質値Q の影響を、品質値Q を変数とするシグモイド関数で表す例を示したが、他の非線形関数または線形関数を用いてもよい。
【0068】
人物代表ベクトル算出部160は、ユーザごとに算出した人物代表ベクトルを、ユーザIDに対応付けて、記憶部120に記憶された人物代表データテーブルに登録する。
クラスタ代表ベクトル算出部170は、人物代表データテーブルに登録された複数の人物代表ベクトルを複数のクラスタに分類し、各クラスタのクラスタ代表ベクトルを求める。複数の人物代表ベクトルを複数のクラスタに分類し、各クラスタのクラスタ代表ベクトルを求める方法には、例えば、K-means法を用いることができる。例えば、クラスタ代表ベクトル算出部170は、K-means法によって、次のように、複数の人物代表ベクトルを複数のクラスタに分ける。
【0069】
クラスタ代表ベクトル算出部170は、複数の人物代表ベクトルを、ランダムに、所定数のクラスタに分け、各クラスタの重心を求める。クラスタの重心は、当該クラスタに属する各人物代表ベクトルが示す特徴空間の座標の平均値である。
【0070】
そして、クラスタ代表ベクトル算出部170は、各人物代表ベクトルを、当該人物代表ベクトルから最短の距離にある重心に割り当て直し、各クラスタの重心を計算し直す。クラスタ代表ベクトル算出部170は、この処理を繰り返し実行して、各クラスタの重心を補正する。クラスタ代表ベクトル算出部170は、例えば、クラスタに対する人物代表ベクトルの割り当てに変化がなくなった場合や割り当てが変更される人物代表ベクトルの数が所定数以下となった場合に、各クラスタの重心を確定する。確定時に、各クラスタに割り当てられている人物代表ベクトルが、当該クラスタに分類された人物代表ベクトルである。また、各クラスタの重心がクラスタ代表ベクトルである。
【0071】
なお、クラスタ代表ベクトル算出部170は、例えば、ガウス混合モデル(GMM:Gaussian Mixture Model)などの他のクラスタリング手法により、複数の人物代表ベクトルを複数のクラスタに分類してもよい。
【0072】
クラスタ代表ベクトル算出部170は、算出したクラスタ代表ベクトルと、クラスタ代表ベクトルで表されるクラスタに分類された人物代表ベクトルに対応するユーザIDとを、記憶部120に記憶されたクラスタ代表データテーブルに登録する。
【0073】
認証部180は、クライアント200,300から受信した認証要求に基づいて、顔認証を行う。認証要求は、認証対象のユーザの顔を撮影した撮影データを含む。認証部180は、撮影データ処理部140から当該撮影データに対する特徴ベクトルを取得し、取得した特徴ベクトルを、記憶部120に記憶されたクラスタ代表データテーブルにおけるクラスタ代表ベクトルと照合する。例えば、認証部180は、特徴ベクトルとクラスタ代表ベクトルとの類似度に基づいて、特徴ベクトルとクラスタ代表ベクトルとの照合を行う。類似度には、例えば、特徴空間における特徴ベクトルに対応する点と、クラスタ代表ベクトルに対応する点との距離が用いられる。すなわち、認証部180は、クラスタ代表データテーブルに登録されているクラスタ代表ベクトルのうち、特徴ベクトルに最も距離が近いクラスタ代表ベクトルを特定する。認証部180は、特徴ベクトルに距離が近いものを優先して、2以上の所定数のクラスタ代表ベクトルを特定してもよい。クラスタ代表ベクトルとの照合により、照合すべき人物代表ベクトルの絞り込みを行える。
【0074】
認証部180は、特定したクラスタ代表ベクトルに分類されたユーザIDの人物代表ベクトルを、人物代表データテーブルから取得し、特徴ベクトルと照合する。例えば、認証部180は、特徴ベクトルと人物代表ベクトルとの類似度に基づいて、特徴ベクトルと人物代表ベクトルとの照合を行う。類似度には、例えば、特徴空間における特徴ベクトルに対応する点と、人物代表ベクトルに対応する点との距離が用いられる。すなわち、認証部180は、特徴ベクトルとの距離が所定値以下である人物代表ベクトルが存在するか否かを判定する。特徴ベクトルとの距離が所定値以下である人物代表ベクトルが存在する場合、認証部180は、クライアント200を操作するユーザが、当該人物代表ベクトルに対応するユーザであると判定し、認証成功とする。すると、認証部180は、クライアント200に認証成功を応答する。一方、該当の特徴ベクトルとの距離が所定値以下である人物代表ベクトルが存在しない場合、認証部180は、クライアント200を操作するユーザが登録済のユーザではないと判定し、認証失敗とする。認証部180は、クライアント200に認証失敗を応答する。
【0075】
認証部180は、クライアント300から受信した認証要求に対しても、上記と同様の認証処理を行う。
なお、撮影データ処理部140および品質算出部150の機能は、クライアント200,300に設けられてもよい。その場合、サーバ100は、学習データテーブル121の各レコードを、クライアント200,300から収集してもよい。また、サーバ100は、認証対象のユーザの撮影データに対する特徴ベクトルを、認証要求とともにクライアント200,300から取得してもよい。
【0076】
次に、記憶部120に記憶されるデータの例を説明する。
図5は、学習データテーブルの例を示す図である。
学習データテーブル121は、ユーザID、特徴ベクトルおよび品質値の項目を含む。ユーザIDの項目には、ユーザIDが登録される。特徴ベクトルの項目には、撮影データの特徴ベクトルが登録される。
【0077】
例えば、学習データテーブル121には、ユーザID「UID1」、特徴ベクトル「X 」、品質値「Q 」というレコードが登録される。このレコードは、ユーザID「UID1」のユーザの1番目の撮影データに対する特徴ベクトルが「X 」であり、品質値が「Q 」であることを示す。
【0078】
学習データテーブル121には、ユーザID「UID1」のユーザに対する他の撮影データに対する特徴ベクトルおよび品質値のレコードも登録される。
学習データテーブル121には、他のユーザに対しても同様に、撮影データごとの特徴ベクトルおよび品質値のレコードが登録される。
【0079】
図6は、人物代表データテーブルの例を示す図である。
人物代表データテーブル122は、ユーザIDおよび人物代表ベクトルの項目を含む。ユーザIDの項目には、ユーザIDが登録される。人物代表ベクトルの項目には、人物代表ベクトルが登録される。
【0080】
例えば、人物代表データテーブル122には、ユーザID「UID1」および人物代表ベクトル「Hu」というレコードが登録される。このレコードは、ユーザID「UID1」のユーザの人物代表ベクトルが「Hu」であることを示す。
【0081】
また、人物代表データテーブル122には、ユーザID「UID2」および人物代表ベクトル「Hl」というレコードが登録される。このレコードは、ユーザID「UID2」のユーザの人物代表ベクトルが「Hl」であることを示す。
【0082】
人物代表データテーブル122には、他のユーザに対しても同様に、人物代表ベクトルが登録される。
図7は、クラスタ代表データテーブルの例を示す図である。
【0083】
クラスタ代表データテーブル123は、クラスタ代表ベクトルおよびユーザIDの項目を含む。クラスタ代表ベクトルの項目には、クラスタ代表ベクトルが登録される。ユーザIDの項目には、該当のクラスタ代表ベクトルに対応するクラスタに分類された人物代表ベクトルのユーザIDが登録される。
【0084】
例えば、クラスタ代表データテーブル123には、クラスタ代表ベクトルが「C1」、ユーザIDが「UID1,UID3,…」というレコードが登録される。このレコードは、クラスタ代表ベクトル「C1」のクラスタに分類されたユーザIDが「UID1,UID3,…」であることを示す。
【0085】
クラスタ代表データテーブル123には、他のクラスタ代表ベクトルに対しても同様に、当該クラスタ代表ベクトルに分類されたユーザIDの組が登録される。
次に、サーバ100の処理手順を説明する。まず、サーバ100による人物代表ベクトルの生成の手順およびクラスタ代表ベクトルの生成の手順を例示する。
【0086】
図8は、人物代表ベクトル生成の例を示すフローチャートである。
人物代表ベクトル算出部160は、下記の手順をユーザごとに実行する。
(S10)人物代表ベクトル算出部160は、ユーザsについて、当該ユーザ1人当たりの撮影データの数Nが閾値T以上、すなわち、N≧Tであるか否かを判定する。N≧Tの場合、人物代表ベクトル算出部160は、ステップS11に処理を進める。N<Tの場合、人物代表ベクトル算出部160は、ステップS12に処理を進める。
【0087】
(S11)人物代表ベクトル算出部160は、撮影データ処理部140によりユーザsの撮影データに対して生成された特徴ベクトル集合{X }を学習データテーブル121から取得する。そして、人物代表ベクトル算出部160は、式(1)に基づいて、ユーザsに対する人物代表ベクトルHuを計算する。なお、ユーザsの撮影データに対する特徴ベクトルは、学習データテーブル121に予め登録されていてもよい。人物代表ベクトル算出部160は、人物代表ベクトルHuを、ユーザsのユーザIDに対応付けて、人物代表データテーブル122に登録する。そして、人物代表ベクトル算出部160は、ユーザsに対する人物代表ベクトル生成を終了する。
【0088】
(S12)品質算出部150は、ユーザsの各撮影データに対して、品質値を計算する。品質値は、前述のように、顔の特徴点(目、鼻、口など)の座標データから推定される、撮影方向に対する顔の傾きの大きさや、座標間での照明変動の大きさおよびブラーの大きさなどであり、既存の方法により計算される。品質値は、顔の傾きの大きさ、照明変動の大きさおよびブラーの大きさなどの指標値の2以上の組合せから所定の関数により求められる値でもよい。品質算出部150は、算出した品質値を、学習データテーブル121に登録する。なお、品質算出部150は、各撮影データに対する品質値を予め生成しておき、学習データテーブル121に登録しておいてもよい。その場合、人物代表ベクトル算出部160は、ステップS12をスキップして、ステップS13を実行してよい。
【0089】
(S13)人物代表ベクトル算出部160は、撮影データ処理部140によりユーザsの撮影データに対して生成された特徴ベクトル集合{X }を学習データテーブル121から取得する。人物代表ベクトル算出部160は、品質算出部150によりユーザsの撮影データに対して生成された品質値集合{Q }を学習データテーブル121から取得する。人物代表ベクトル算出部160は、式(3)に基づいて、重み集合{W }を計算する。そして、人物代表ベクトル算出部160は、式(2)に基づいて、ユーザsに対する人物代表ベクトルHlを計算する。なお、ユーザsの撮影データに対する特徴ベクトルは、学習データテーブル121に予め登録されていてもよい。人物代表ベクトル算出部160は、人物代表ベクトルHlを、ユーザsのユーザIDに対応付けて、人物代表データテーブル122に登録する。そして、人物代表ベクトル算出部160は、ユーザsに対する人物代表ベクトル生成を終了する。
【0090】
サーバ100は、登録対象の全てのユーザに対して、人物代表ベクトル生成を実行すると、次のクラスタ代表ベクトル生成を実行する。
図9は、クラスタ代表ベクトル生成の例を示すフローチャートである。
【0091】
(S20)クラスタ代表ベクトル算出部170は、各ユーザの人物代表ベクトルをクラスタ化する。クラスタ化には、前述のK-means法やGMMなどの方法を用いることができる。クラスタ代表ベクトル算出部170は、クラスタ化により、各クラスタのクラスタ代表ベクトルを計算し、各ユーザの人物代表ベクトルを、各クラスタに分類する。
【0092】
(S21)クラスタ代表ベクトル算出部170は、クラスタ代表ベクトルを所属ユーザIDとともにクラスタ代表データテーブル123に登録する。そして、クラスタ代表ベクトル算出部170は、クラスタ代表ベクトル生成を終了する。
【0093】
次に、サーバ100によるユーザ認証の手順を例示する。以下では、クライアント200を例示するが、クライアント300に対しても同様の手順となる。
図10は、認証の例を示すフローチャートである。
【0094】
下記の手順は、サーバ100がクライアント200から認証要求を受信すると実行される。
(S30)認証部180は、クライアント200から受信した認証要求に含まれる撮影データから取得された特徴ベクトルを、撮影データ処理部140から取得する。なお、クライアント200から受信した認証要求は、クライアント200のカメラ201で撮影された撮影データに対応する特徴ベクトルを含んでもよい。この場合、認証部180は、認証要求に含まれる特徴ベクトルを取得すればよい。
【0095】
(S31)認証部180は、クラスタ代表データテーブル123に登録されたクラスタ代表ベクトルの中から、ステップS30で取得した特徴ベクトルと類似度の高いクラスタ代表ベクトルを特定する。例えば、認証部180は、当該特徴ベクトルとの距離が最も近いクラスタ代表ベクトルを特定してもよいし、当該距離が近いものを優先して所定数のクラスタ代表ベクトルを特定してもよい。
【0096】
(S32)認証部180は、特定したクラスタに属する人物代表ベクトルと、ステップS30で取得した特徴ベクトルとを照合する。例えば、認証部180は、ステップS31で特定したクラスタ代表ベクトルに対応するユーザIDをクラスタ代表データテーブル123から特定する。そして、認証部180は、人物代表データテーブル122から当該ユーザIDに対応する人物代表ベクトルを抽出して、特徴ベクトルと照合する。
【0097】
(S33)認証部180は、ステップS32の照合の結果に基づいて、認証成功であるか否かを判定する。認証成功の場合、認証部180は、ステップS34に処理を進める。認証失敗の場合、認証部180は、ステップS35に処理を進める。例えば、ステップS32の照合の結果、特徴ベクトルとの類似度、すなわち、距離が、所定値以下である人物代表ベクトルが存在する場合、認証部180は、認証成功と判定する。一方、ステップS32の照合の結果、特徴ベクトルとの距離が所定値以下である人物代表ベクトルが存在しない場合、認証部180は、認証失敗と判定する。
【0098】
(S34)認証部180は、クライアント200に認証成功を応答する。認証部180は、認証成功したユーザのユーザIDや当該ユーザに関する情報をクライアント200または他のコンピュータに送信してもよい。認証部180は、認証成功したユーザのユーザIDをログなどに記録してもよい。そして、認証部180は、認証処理を終了する。
【0099】
(S35)認証部180は、クライアント200に認証失敗を応答する。認証部180は、認証失敗したことをログなどに記録してもよい。そして、認証部180は、認証処理を終了する。
【0100】
なお、認証部180は、認証対象のユーザに対して複数取得された撮影データから、人物代表ベクトル算出部160により算出された人物代表ベクトルを用いて認証を行ってもよい。この場合にも、人物代表ベクトル算出部160は、式(1)や式(2)、(3)を用いて、認証対象のユーザに対する人物代表ベクトルを算出することができる。
【0101】
ここで、大規模な登録データを有する生体認証システムでは、カメラなどのセンサにより取得された情報に基づく人物代表データを類似度によって分類する、すなわち、クラスタリングすることで、照合すべき人物代表データを絞り込め、人物代表データの高速検索が可能になる。人物代表データのクラスタリングにおいては、将来において、同一人物の撮影データから得られる特徴データや人物代表データが同じクラスタに属するような分類器を構築することが重要となる。
【0102】
分類器の構築では、与えられた学習データに基づいて、クラスタの代表点を求める。人物代表データをクラスタリングする際には、当該人物代表データと最も類似度が良い代表点が存在するクラスタに分類する。実際の運用環境では、カメラなどのセンサによるセンシング条件によって、人物代表データの基となる撮影データに対して、揺らぎに相当するノイズが付加される。このため、同一ユーザから別個のタイミングで得られた異なるデータ(当該ユーザに対する登録済データおよび登録済データと照合されるべき照合データ)が、各タイミングでのノイズの影響により異なるクラスタに分類されてしまい、検索時の精度が低下する。
【0103】
撮影データに混入するノイズは、特徴量に作用し、ノイズが混入していない場合の理想的な特徴量に摂動を与える。クラスタリングモデルを構築する場合、撮影データに混入するノイズの影響を考慮するために、複数のユーザそれぞれの複数枚の撮影データのサンプルから成る学習データを用いる。すなわち、様々なノイズの影響を含んだ撮影データを用いることで、ノイズの影響の統計的性質をモデル化する。このとき、一般的に、ユーザの数および各ユーザに対するサンプル数、すなわち、撮影データの数が多い程、例えば平均化により各サンプルにおけるノイズの影響が相殺され、クラスタリングモデルの精度は向上する。
【0104】
しかし、学習データにおける各ユーザのサンプルに注目したとき、特定の種類のノイズを含むサンプルのみで構成されるユーザは、当該ユーザの生体データが当該ノイズの影響を強く受けた状態でモデル化される。このような問題は、サンプル数が少ない人物において発生し易い。こうしたユーザを学習データから排除することも考えられるが、前述のように学習データの量はモデルの精度に影響を与えるため、可能な限りサンプル数を維持することが好ましい。
【0105】
第2の実施の形態のサーバ100は、まず、学習データに含まれる各ユーザの複数枚の撮影データのサンプルを用いて、サンプルの統計的性質から当該ユーザを表す人物代表ベクトルを算出する。サーバ100は人物代表ベクトルの類似によってクラスタ構築することで、ユーザの類似度に沿ったクラスタリングを行う。このとき、サンプル数が比較的少ないユーザにおいては、特徴量のノイズの影響を受け易く、人物代表ベクトルが真の値から離れたものになる可能性が高い。一方で、生体認証では、特徴量とは独立して、撮影データから撮影データ自体の品質値を取得できる場合がある。例えば、撮影データとして顔画像を対象にした場合、品質値として、顔の特徴点(目、鼻、口など)の座標データから推定される顔の傾きの大きさ、照明変動の大きさ、ブラーの大きさなどを示す指標値が考えられる。これらの品質値は、特徴量に含まれるノイズとの相関が期待される。
【0106】
そこで、サーバ100は、品質値が良い特徴量は、ノイズの影響が少ないとみなして、当該特徴量に近づくように人物代表ベクトルを算出する。これにより、ノイズの影響を軽減しつつ、データ量を活かしたクラスタリングモデルの構築を行える。
【0107】
人物代表ベクトルの精度が向上することで、人物代表ベクトルに基づいて得られるクラスタ代表ベクトルの精度が向上する。その結果、同一ユーザから得られた異なる生体データが異なるクラスタに分類される可能性を減らせる。よって、認証時において、照合データと照合すべき登録済データのクラスタによる絞り込みを適切に行えるようになり、認証精度が向上する。
【0108】
なお、上記の例では、ユーザsに対して取得された撮影データの数Nの閾値Tに対する比率(N/T)に応じて、品質値Q を用いた重みW を求めるものとした。一方、撮影データそれぞれの品質と、撮影データの数とに基づく重みの算出方法には他の例も考えられる。例えば、撮影データの数Nに対する、品質値Q が所定の閾値よりも低い低品質の撮影データの数mの比率(m/N)により、重みW を求めることも考えられる。その場合、ステップS13において、例えば、式(3)の(N/T)を(1-(m/N))に置き換えればよい。
【0109】
[第3の実施の形態]
次に第3の実施の形態を説明する。前述の第2の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
【0110】
第3の実施の形態のサーバ100は、第2の実施の形態のサーバ100と同様のハードウェアおよび機能を有する。ただし、第3の実施の形態では、サーバ100の人物代表ベクトル算出部160による人物代表ベクトル生成の手順が第2の実施の形態と異なる。
【0111】
ここで、第2の実施の形態では、品質値Q は、例えば、撮影方向に対する顔の傾きの大きさ、座標間での照明変動の大きさおよびブラーの大きさなどの複数の指標値を要素として含むベクトル(品質ベクトルという)で表される。
【0112】
第2の実施の形態と同様に、特徴ベクトルX は、s番目のユーザ(ユーザsとする)のn番目の撮影データの特徴ベクトルである。sは1≦s≦Sの整数である。nは1≦n≦Nsの整数である。また、品質ベクトルQ は、ユーザsのn番目の撮影データの品質ベクトルである。特徴ベクトルX および品質ベクトルQ はそれぞれd次元およびd次元であるとする。d=dでもよいし、d≠dでもよい。
【0113】
図11は、第3の実施の形態の人物代表ベクトル生成の例を示すフローチャートである。
(S40)人物代表ベクトル算出部160は、サンプルとして得られている全ユーザの全撮影データの特徴ベクトルと品質ベクトルとの回帰モデルを生成する。具体的には、人物代表ベクトル算出部160は、特徴ベクトルと品質ベクトルとの全ペアに対して、式(4)の変換式F(X )を求める。
【0114】
【数4】
【0115】
変換式F(X )による変換は、例えば、式(5)のような線形変換でよい。式(5)は回帰式とも呼ばれる。
【0116】
【数5】
【0117】
変換係数A,Bは、それぞれ行列またはベクトルである。人物代表ベクトル算出部160は、特徴ベクトルと品質ベクトルとの全ペアから求められる式(6)の変換誤差の総和eを最小にするように変換係数A,Bを決定する。
【0118】
【数6】
【0119】
ここで、||・||はベクトルのノルムを表す。また、Nは、ユーザsに対して取得されている撮影データの数である。
(S41)人物代表ベクトル算出部160は、ユーザsについて、当該ユーザ1人当たりの撮影データの数Nが閾値T以上、すなわち、N≧Tであるか否かを判定する。N≧Tの場合、人物代表ベクトル算出部160は、ステップS42に処理を進める。N<Tの場合、人物代表ベクトル算出部160は、ステップS43に処理を進める。
【0120】
(S42)人物代表ベクトル算出部160は、ユーザsの撮影データの特徴ベクトル集合{X }を学習データテーブル121から取得する。そして、人物代表ベクトル算出部160は、式(1)に基づいて、ユーザsに対する人物代表ベクトルHuを計算する。人物代表ベクトル算出部160は、人物代表ベクトルHuを、ユーザsのユーザIDに対応付けて、人物代表データテーブル122に登録する。そして、人物代表ベクトル算出部160は、ユーザsに対する人物代表ベクトル生成を終了する。
【0121】
(S43)人物代表ベクトル算出部160は、ユーザsの撮影データの特徴ベクトル集合{X }を学習データテーブル121から取得する。そして、人物代表ベクトル算出部160は、回帰モデルを基に、ユーザsの各撮影データの特徴ベクトルの各成分からノイズの影響を除去する。すなわち、人物代表ベクトル算出部160は、式(7)により、ノイズ影響の除去後のベクトル(X’) を生成する。
【0122】
【数7】
【0123】
ここで、関数F-1は、関数Fの逆関数である。
ベクトル(X’) の各要素は、特徴ベクトルX の各要素の重みを表しているということができる。すなわち、ベクトル(X’) の各要素は、第1の実施の形態の重みの一例である。あるいは、ベクトル(X’) の各要素は、特徴ベクトルX の各要素の重みが反映された重み付き特徴量を表しているということもできる。
【0124】
(S44)人物代表ベクトル算出部160は、式(8)に基づいて、ユーザsに対する人物代表ベクトルHlを計算する。
【0125】
【数8】
【0126】
式(8)で表される人物代表ベクトルHlは、ベクトル(X’) の平均である。すなわち、人物代表ベクトルHlの1つの成分は、ベクトル(X’) の対応する成分の平均である。人物代表ベクトル算出部160は、人物代表ベクトルHlを、ユーザsのユーザIDに対応付けて、人物代表データテーブル122に登録する。そして、人物代表ベクトル算出部160は、ユーザsに対する人物代表ベクトル生成を終了する。
【0127】
なお、人物代表ベクトル算出部160は、複数のユーザに対して、人物代表ベクトルを生成する場合、ステップS41~S44を各ユーザに対して繰り返し実行する。
第3の実施の形態でも、第2の実施の形態と同様にして、サーバ100によりクラスタ代表ベクトル生成およびユーザの認証が行われる。
【0128】
第3の実施の形態では、撮影データの特徴ベクトルの各要素におけるノイズの影響が式(5)の変換係数A,Bに反映される。したがって、当該ノイズの影響を示すノイズ成分が、式(7)の右辺第2項のF-1(Q )で示されるように、品質値に応じて推定される。サーバ100は、ノイズの影響が小さい特徴量については、人物代表ベクトルに対する当該特徴量の影響が大きくなるようにする。また、サーバ100は、ノイズの影響が大きい特徴量については、人物代表ベクトルに対する当該特徴量の影響が小さくなるようにする。これにより、ノイズの影響を軽減しつつ、データ量を活かしたクラスタリングモデルの構築を行える。
【0129】
第2の実施の形態と同様に、第3の実施の形態でも、人物代表ベクトルの精度が向上することで、人物代表ベクトルに基づいて得られるクラスタ代表ベクトルの精度が向上する。その結果、同一ユーザから得られた異なる生体データが異なるクラスタに分類される可能性を減らせる。よって、認証時において、照合データと照合すべき登録済データのクラスタによる絞り込みを適切に行えるようになり、認証精度が向上する。
【0130】
第2,第3の実施の形態をまとめると、サーバ100は、例えば、次のような機能を有する。
人物代表ベクトル算出部160は、複数の撮影データから複数の撮影データを代表する人物代表データを算出する際に、生成した重み情報が示す重みが小さい程、人物代表データの算出結果への複数の撮影データそれぞれの影響が小さくなるアルゴリズムを適用する。当該アルゴリズムは、例えば、式(2)や式(8)で表される。すなわち、式(2)や式(8)の演算は、「生成した重み情報が示す重みが小さい程、人物代表データの算出結果への複数の撮影データそれぞれの影響が小さくなるアルゴリズム」の一例である。これにより、各撮影データに含まれる人物の生体的特徴の情報を、人物代表データにどの程度反映させるかを、撮影データの数や品質に応じて適切に調整できる。
【0131】
人物代表ベクトル算出部160は、複数の撮影データの数が少ない程、複数の撮影データそれぞれの品質が複数の撮影データそれぞれの重みに与える影響を大きくする。これにより、高品質な撮影データが人物代表データに与える影響を大きくするとともに、低品質な撮影データが人物代表データに与える影響を小さくでき、人物代表データに人物(ユーザ)の生体的特徴を適切に反映させることができる。
【0132】
また、人物代表ベクトル算出部160は、重み情報の生成では、閾値に対する複数の撮影データの数の比率に基づいて重みを算出する。例えば、人物代表ベクトル算出部160は、当該比率が小さいほど、複数の撮影データそれぞれの品質が複数の撮影データそれぞれの重みに与える影響を大きくする。これにより、高品質な撮影データが人物代表データに与える影響を大きくするとともに、低品質な撮影データが人物代表データに与える影響を小さくでき、人物代表データに人物(ユーザ)の生体的特徴を適切に反映させることができる。
【0133】
あるいは、人物代表ベクトル算出部160は、複数の撮影データの数に対する、所定の品質よりも低品質の撮影データの数の比率に基づいて重みを算出する。例えば、人物代表ベクトル算出部160は、当該比率が大きい程、複数の撮影データそれぞれの品質が複数の撮影データそれぞれの重みに与える影響を大きくする。これにより、高品質な撮影データが人物代表データに与える影響を大きくするとともに、低品質な撮影データが人物代表データに与える影響を小さくでき、人物代表データに人物(ユーザ)の生体的特徴を適切に反映させることができる。
【0134】
また、人物代表ベクトル算出部は、撮影データの品質が高い程、当該撮影データの重みを大きくする。これにより、人物代表データに対するノイズの影響を低減でき、人物(ユーザ)の生体的特徴を人物代表データに、適切に反映させることができる。
【0135】
あるいは、人物代表ベクトル算出部160は、複数の撮影データそれぞれの特徴ベクトルと、複数の撮影データそれぞれの品質を示す品質ベクトルとの回帰モデルを生成し、回帰モデルに基づいて、特徴ベクトルの各要素に含まれるノイズ成分を推定する。これにより、特徴ベクトルの各要素から直接的にノイズ成分を除去することが可能になる。なお、回帰モデルの生成に用いられる撮影データは、複数の人物に対して得られたものでもよい。この場合、複数の人物に対して回帰モデルが生成される。ただし、回帰モデルは人物ごとに生成されてもよい。
【0136】
人物代表ベクトル算出部160は、推定したノイズ成分を、当該ノイズ成分に対応する特徴ベクトルの第1の要素から引くことで、複数の撮影データそれぞれの特徴ベクトルの第1の要素の、当該第1の要素に対応する人物代表データの第2の要素に対する重みを算出する。ここで、第1の要素および第2の要素は、特徴ベクトルおよび人物代表データ(人物代表ベクトル)を列ベクトルとすると、特徴ベクトルおよび人物代表データの同じ行の要素である。人物代表データの第2の要素は、複数の撮影データの複数の特徴ベクトルの、第2の要素に対応する第1の要素の平均となる。すると、人物代表データの各要素に対する重みが小さい程、人物代表データの算出結果への複数の撮影データそれぞれの特徴ベクトルの、対応する要素の影響が小さくなる。このため、人物代表データに人物(ユーザ)の生体的特徴を適切に反映させることができる。
【0137】
更に、クラスタ代表ベクトル算出部170は、複数の人物に対して算出された複数の人物代表データに基づいて、複数の代表データを分類する複数のクラスタに対応する複数のクラスタ代表データを算出する。前述のように、各人物の人物代表データには、各人物の生体的特徴が適切に反映される。このため、例えば、K-means法やGMMなどにより、各人物代表データの類似度を基に、高精度なクラスタリングが可能になる。
【0138】
また、認証部180は、人物の認証時に当該人物の撮影データを受け付け、複数のクラスタ代表データのうち撮影データの特徴データとの類似度が高いクラスタ代表データを優先的に選択する。認証部180は、選択したクラスタ代表データに対応するクラスタに分類された人物代表データと特徴データとを類似度に基づき照合する。各人物代表データが高精度にクラスタリングされるため、認証時の人物代表データの、クラスタによる絞り込みの精度が高まる。よって、認証精度を向上できる。
【0139】
ここで、特徴データ、人物代表データおよびクラスタ代表データそれぞれは、同一の特徴空間におけるベクトルである。また、類似度は、特徴空間の2つのベクトルで示される2つの点の間の距離である。これにより、認証時の照合を適切に行える。
【0140】
また、品質の情報は、撮影データにおけるブラーの大きさ、照明の変動の大きさおよび撮影方向に対する顔の傾きの大きさの少なくとも1つを示す指標値である。前述のように、品質の情報は、これらの指標値を複数個含む品質ベクトルでもよい。これらの指標値は、顔画像を用いた顔認証を行う際に好適であり、顔認証に用いられる人物代表データを生成する際、人物代表データを高精度で生成するために特に有用である。
【0141】
なお、第1の実施の形態の情報処理は、処理部12にプログラムを実行させることで実現できる。また、第2,第3の実施の形態の情報処理は、CPU101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体113に記録できる。
【0142】
例えば、プログラムを記録した記録媒体113を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体113に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
【0143】
上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【0144】
10 情報処理装置
11 記憶部
12 処理部
20 撮影データ群
21 撮影データ
30 品質情報群
31 品質情報
40 重み情報群
41 重み情報
50 代表データ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11