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

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

▶ 日本放送協会の特許一覧 ▶ 一般財団法人NHKサービスセンターの特許一覧

<>
  • 特開-顔認識装置及びそのプログラム 図1
  • 特開-顔認識装置及びそのプログラム 図2
  • 特開-顔認識装置及びそのプログラム 図3
  • 特開-顔認識装置及びそのプログラム 図4
  • 特開-顔認識装置及びそのプログラム 図5
  • 特開-顔認識装置及びそのプログラム 図6
  • 特開-顔認識装置及びそのプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023173975
(43)【公開日】2023-12-07
(54)【発明の名称】顔認識装置及びそのプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20231130BHJP
   G06V 40/16 20220101ALI20231130BHJP
【FI】
G06T7/00 510F
G06V40/16 A
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2022086555
(22)【出願日】2022-05-27
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(71)【出願人】
【識別番号】399060908
【氏名又は名称】一般財団法人NHK財団
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】苗村 昌秀
(72)【発明者】
【氏名】河合 吉彦
(72)【発明者】
【氏名】望月 貴裕
【テーマコード(参考)】
5B043
【Fターム(参考)】
5B043AA09
5B043BA04
5B043EA05
5B043FA07
5B043GA02
(57)【要約】
【課題】計算量を抑制できる顔認識装置を提供する。
【解決手段】顔認識装置1は、認識対象者の顔画像から顔領域を検出する顔検出処理部10と、登録者毎に複数の顔特徴量を予め登録する顔データベース20と、認識対象者と登録者との顔特徴量の類似度を計算する顔認識処理部30と、ハッシュ型マップテーブル60を用いて、同一の登録者についての重複部分を類似度から除去し、認識対象者を特定するデータ加工処理部40とを備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
認識対象者の顔画像から前記認識対象者を特定する顔認識装置であって、
前記認識対象者の顔画像から顔領域を検出する顔検出処理部と、
前記顔検出処理部が検出した顔領域毎に顔特徴量を計算する顔特徴量計算部と、
登録者毎に、異なる顔画像から計算した複数の顔特徴量を予め登録する顔データベースと、
前記顔特徴量計算部が計算した認識対象者の顔領域毎の顔特徴量と、前記顔データベースに登録されている登録者の各顔特徴量との類似度が格納された類似度行列を計算する類似度計算部と、
前記類似度計算部が計算した類似度行列の各要素を前記類似度の順にソートするソート処理部と、
前記登録者の各顔特徴量と前記登録者の識別情報とを対応付けたハッシュ型マップテーブルを用いて、同一の前記登録者についての重複部分をソート済みの前記類似度行列から除去する重複部分除去部と、
前記重複部分除去部が重複部分を除去した類似度行列に基づいて、前記認識対象者を特定する認識対象者特定部と、
を備えることを特徴とする顔認識装置。
【請求項2】
第1段階目の処理として、
前記類似度計算部は、前記認識対象者の顔領域毎の顔特徴量と、前記登録者に予め割り当てられた1つの顔特徴量との類似度が格納された類似度行列を計算し、
前記ソート処理部は、前記類似度行列において、前記類似度が予め設定された順位までの要素をソートし、
第2段階目の処理として、
前記類似度計算部は、前記認識対象者の顔領域毎の顔特徴量と、前記類似度が前記順位までの登録者の各顔特徴量との類似度が格納された類似度行列を計算することを特徴とする請求項1に記載の顔認識装置。
【請求項3】
前記顔検出処理部は、前記登録者の顔画像から顔領域を検出し、
前記顔特徴量計算部は、前記登録者の顔領域毎に顔特徴量を計算し、
前記類似度計算部は、前記顔特徴量計算部が計算した顔特徴量と、前記顔データベースに登録されている登録者の各顔特徴量との類似度を計算し、
計算した前記類似度の閾値判定により、前記顔特徴量計算部が計算した顔特徴量を前記顔データベースに登録する顔データベース登録部、をさらに備えることを特徴とする請求項1に記載の顔認識装置。
【請求項4】
コンピュータを、請求項1から請求項3の何れか一項に記載の顔認識装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、顔認識装置及びそのプログラムに関する。
【背景技術】
【0002】
従来、画像中の顔を認識して人物を特定する顔認識技術が知られている。例えば、セキュリティ分野においては、顔認識技術は、最近のAI技術の進展により高精度化し、実用化の域に達している。また、顔認識処理を映像コンテンツのタグ付け処理に利用する手法も知られている。
【0003】
これら顔認識処理は、学習用の顔画像を収集し、人物間の違いを認識するための顔特徴量を機械学習処理により計算し、その顔特徴量の類似度で顔認識を行う仕組みを基本とする(例えば、特許文献1)。
【0004】
ここで、顔方向や表情などの顔状態が大きく変化した場合、顔認識処理の精度が低下することがある。そこで、同一人物について複数の顔画像から顔特徴量を計算することで、顔認識処理の精度を向上させる手法も提案されている(例えば、特許文献2)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第6669952号公報
【特許文献2】特開2021-033664号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献2に記載の手法は、同一人物に対して複数の顔画像を用いるので顔特徴量のデータ量が増加してしまい、計算量が膨大になるという問題がある。
【0007】
そこで、本発明は、計算量を抑制できる顔認識装置及びそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【0008】
前記課題を解決するため、本発明に係る顔認識装置は、認識対象者の顔画像から認識対象者を特定する顔認識装置であって、顔検出処理部と、顔特徴量計算部と、顔データベースと、類似度計算部と、ソート処理部と、重複部分除去部と、認識対象者特定部と、を備える構成とした。
【0009】
かかる構成によれば、顔検出処理部は、認識対象者の顔画像から顔領域を検出する。
顔特徴量計算部は、顔検出処理部が検出した顔領域毎に顔特徴量を計算する。
顔データベースは、登録者毎に、異なる顔画像から計算した複数の顔特徴量を予め登録する。
類似度計算部は、顔特徴量計算部が計算した認識対象者の顔領域毎の顔特徴量と、顔データベースに登録されている登録者の各顔特徴量との類似度が格納された類似度行列を計算する。
【0010】
また、ソート処理部は、類似度計算部が計算した類似度行列の各要素を類似度の順にソートする。
重複部分除去部は、認識対象者の識別情報と登録者の各顔特徴量とを対応付けたハッシュ型マップテーブルを用いて、同一の登録者についての重複部分をソート済み類似度行列から除去する。
認識対象者特定部は、重複部分除去部が重複部分を除去した類似度行列に基づいて、認識対象者を特定する。
このように、顔認識装置は、ハッシュ型マップテーブルによる類似度行列から重複部分を除去することで、複数の顔特徴量を用いるときの膨大な計算量を抑制することができる。
【0011】
なお、本発明は、コンピュータを前記した顔認識装置として機能させるためのプログラムで実現することもできる。
【発明の効果】
【0012】
本発明によれば、計算量を抑制することができる。
【図面の簡単な説明】
【0013】
図1】第1実施形態に係る顔認識装置の構成を示すブロック図である。
図2】第1実施形態に係る顔認識処理部の構成を示すブロック図である。
図3】第1実施形態に係るデータ加工処理部の構成を示すブロック図である。
図4】第1実施形態において、ハッシュ型マップテーブルを説明する説明図である。
図5】第1実施形態において、顔認識処理の具体例を説明する説明図である。
図6】第1実施形態において、登録インターフェースの処理を示すフローチャートである。
図7】第2実施形態に係る顔認識装置の処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、各実施形態について図面を参照して説明する。但し、以下に説明する各実施形態は、本発明の技術思想を具体化するためのものであって、特定的な記載がない限り、本発明を以下のものに限定しない。また、同一の手段には同一の符号を付し、説明を省略する場合がある。
【0015】
(第1実施形態)
[顔認識装置の概略]
図1を参照し、第1実施形態に係る顔認識装置1の概略について説明する。
顔認識装置1は、認識対象者の顔画像から認識対象者を特定するものであり、図1に示すように、顔検出処理部10と、顔データベース20と、顔認識処理部30と、データ加工処理部40と、登録インターフェース(顔データベース登録部)50とを備える。なお、顔認識装置1で認識対象となる人物、つまり、顔認識装置1に入力された顔画像で撮影されている人物を認識対象者と記載する。
【0016】
顔認識装置1は、同一の人物について、顔データベース20に複数の顔特徴量を登録することで認識精度の向上を図っている。なお、顔データベース20に顔特徴量を登録する人物のことを登録者と記載する。顔認識装置1の入力としては、認識対象者の顔領域が含まれる顔画像である(この顔画像は動画を含む)。また、データ加工処理部40には、後記するハッシュ形マップテーブル60を予め設定しておく。
【0017】
最初に、顔検出処理部10が、顔画像内の顔が映っている顔領域を検出する。次に、顔認識処理部30が、それぞれの顔領域で顔認識処理を実行する。このとき、顔認識処理部30は、顔領域から顔特徴量を計算し、事前に計算した登録者の顔特徴量との類似度を計算する。顔データベース20には、事前に計算した登録者の顔特徴量が格納されている。最後に、データ加工処理部40が、類似度から各顔領域の人物を特定する。このとき、データ加工処理部40は、認識対象者の識別情報と顔データベース20に登録されている登録者の各顔特徴量とを対応付けたハッシュ形マップテーブル60を用いて、計算量を抑制する。
【0018】
顔データベース20への顔特徴量の登録は、登録インターフェース50を介して手動で行う。このとき、自動的に認識精度向上への寄与が高い顔領域の抽出及び認識精度の劣化を伴う顔領域の除外処理を行う(第2実施形態)。
【0019】
[顔認識装置の構成]
<顔検出処理部>
以下、顔認識装置1の構成について説明する。
顔検出処理部10は、認識対象者の顔画像から顔領域を検出するものである。ここで、顔検出処理部10は、顔画像から顔が存在している顔領域を検出し、検出領域の情報(例えば、顔を囲むバウンディング領域)を顔認識処理部30に出力する。例えば、顔検出処理部10は、深層学習処理を利用した手法(特開2020-017082号公報)などの一般的な顔領域検出手法を利用できる。
【0020】
<顔データベース>
顔データベース20は、登録者毎に、顔方向や表情などの顔状態が異なる顔画像から計算した顔特徴量を予め登録するものである。本実施形態では、顔データベース20は、認識対象者を含め、登録者毎に複数の顔特徴量がマトリックス形式で登録されている。例えば、顔認識装置1のユーザが、後記する登録インターフェース50を介して、手動で顔データベース20の登録を行う。
【0021】
<顔認識処理部>
顔認識処理部30は、顔検出処理部10が検出した顔領域から顔特徴量を計算し、顔データベース20に登録されている登録者の顔特徴量との類似度を計算するものである。図2に示すように、顔認識処理部30は、顔特徴量計算部31と、類似度計算部32と、ソート処理部33とを備える。
【0022】
顔特徴量計算部31は、顔検出処理部10が検出した顔領域毎に顔特徴量を計算するものである。例えば、顔特徴量計算部31は、特開2017-33372号公報に記載の深層学習処理を用いて、顔特徴量を表した1次元の顔特徴ベクトルを計算する。
【0023】
類似度計算部32は、顔特徴量計算部31が計算した認識対象者の顔領域毎の顔特徴量と、顔データベース20に登録されている登録者の各顔特徴量との類似度が格納された類似度行列を計算するものである。
【0024】
ここで、顔検出処理部10が検出した顔領域の数をn_detsとする。また、顔特徴ベクトルの長さ、つまり、顔特徴量の次元数をn_featsとする。すると、顔特徴量計算部31が出力する顔特徴量は、サイズが(n_dets,n_feats)のマトリックス(行列)Fとなる。また、顔データベース20には、各登録者に対応した複数の顔特徴量がマトリックス形式で格納されている。このマトリックスをRと記載する。ある登録者の顔特徴量の総数をn_regsとすると、マトリックスRのサイズは、(n_regs,n_feats)となる。
【0025】
また、顔データベース20の登録者数をn_people、i番目の登録者の顔特徴量の数をn_faces[i]とする。すると、以下の式(1)の関係が成立する。
【0026】
【数1】
【0027】
このように2つのマトリックスF,Rを定義すると、類似度は、マトリックスF,Rを用いた行列演算で求めることができる。本実施形態では、類似度計算部32は、コサイン類似度(Cosine Similarity)演算を行うこととする。この場合、コサイン類似度は、以下の式(2)で表される。なお、Fは、転置を表す。
【0028】
【数2】
【0029】
その結果、類似度計算部32は、サイズが(n_regs,n_feats)の類似度行列Simをソート処理部33に出力する。この類似度行列Simは、顔データベース20に格納されている全ての顔特徴量と、検出した顔領域から計算した顔特徴量との類似度を要素とするマトリックスである。
【0030】
ソート処理部33は、類似度計算部32が計算した類似度行列Simの各要素を類似度の順にソートするものである。つまり、ソート処理部33は、登録者の顔領域毎に、類似度が高い順に類似度行列Simを行番号でソートする。以後、ソート済み類似度行列をArgSimと記載する。このように、類似度行列Simをソートすることで、後記するデータ加工処理部40が、同一の登録者についての重複部分を削除できる。
【0031】
<データ加工処理部>
図1に戻り、顔認識装置1の説明を続ける。
データ加工処理部40は、ハッシュ型マップテーブル60を用いて、ソート済み類似度行列ArgSimから重複部分を除去するものである。図3に示すように、データ加工処理部40は、重複部分除去部41と、認識対象者特定部42とを備える。
【0032】
<<ハッシュ型マップテーブル>>
図4を参照し、データ加工処理部40が用いる3つのハッシュ型マップテーブル60(61,62,63)について説明する。
【0033】
multi_id2idテーブル61は、登録者の各顔特徴量(multi_id)と識別情報(id)とを対応付けたハッシュ型マップテーブルである。ここで、multi_idは、登録者の各顔特徴量の識別情報、つまり、後記するソート済み類似度行列ArgSimの行番号を表している(例えば、0~5)。
【0034】
id2personテーブル62は、登録者の識別情報(id)と登録者名(person)とを対応付けたハッシュ型マップテーブルである。このid2personテーブル62では、id=1の登録者名がAであり、id=2の登録者名がBであり、id=2の登録者名がCである。
【0035】
ここで、顔データベース20に顔特徴量を登録する際、顔認識装置1のユーザが、登録者名(person)を入力する。このとき、登録者毎に識別情報(id)を連番で自動的に割り当てる。従って、id2personテーブル62には、このidとpersonとを対応付けて格納すればよい。さらに、顔データベース20に登録されている顔特徴量毎にmulti_idを連番で自動的に割り当てる。従って、multi_id2idテーブル61には、このmulti_idとidとを対応付けて格納すればよい。
【0036】
part2multi_idテーブル63は、ソート済み類似度行列ArgSimから特定グループの登録者を絞り込むためのハッシュ型マップテーブルである。ここで、part_idは、登録者が属するグループの識別情報である。このグループは、任意に定義可能である(例えば、住所、職業、勤務先、趣味、性別)。なお、part2multi_idテーブル63は、ソート済み類似度行列ArgSimの絞り込みを行わない場合、必須でない。
【0037】
なお、図4では、説明を簡易にするために、ハッシュ型マップテーブル60に格納されているデータをそのまま図示した。実際には、ハッシュ型マップテーブル60は、キー及びバリューからなるハッシュ形式でデータを格納している(例えば、Pythonのdict型)。例えば、ハッシュ型マップテーブルは、以下の参考文献1に記載されているので、これ以上の説明を省略する。
【0038】
参考文献1:“ハッシュテーブル”,[online],[令和4年5月16日検索],インターネット<URL:https://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB>
【0039】
図3に戻り、データ加工処理部40の説明を続ける。
重複部分除去部41は、登録者の各顔特徴量と識別情報とを対応付けたハッシュ型マップテーブル(multi_id2idテーブル61)を用いて、同一の登録者についての重複部分をソート済み類似度行列ArgSimから除去するものである。つまり、重複部分除去部41は、multi_id2idテーブル61を用いて、ソート済み類似度行列ArgSimから重複部分を除去した類似度行列を求める。以後、除去済み類似度行列をArgSimPと記載する。この除去済み類似度行列ArgSimPのサイズは、(n_people,n_dets)となる。
【0040】
認識対象者特定部42は、重複部分除去部41が重複部分を除去した類似度行列ArgSimPに基づいて、認識対象者を特定するものである。本実施形態では、認識対象者特定部42は、id2personテーブル62により変換処理を行うことで、認識結果である認識対象者の氏名を出力する。
【0041】
<<顔認識処理の具体例>>
図5を参照し、顔認識装置1による顔認識処理の具体例を説明する。
この具体例では、登録者がA,B,Cの3人である。また、顔データベース20には、登録者Aについて、3つの顔特徴量AF1,AF2,AF3が登録されている。また、顔データベース20には、登録者Bについて、2つの顔特徴量BF1,BF2が登録されている。また、顔データベース20には、登録者Cについて、1つの顔特徴量CF1が登録されている。また、顔画像90には、1つの顔領域91が含まれている(n_dets=1)。また、顔特徴量の次元数n_feats=512とする。また、multi_id2idテーブル61及びid2personテーブル62には、図4のデータが設定されている。
【0042】
この場合、顔特徴量計算部31が出力するマトリックスFは、サイズが(1,512)となる。また、顔データベース20から取得するマトリックスRは、顔特徴量AF1,AF2,AF3,BF1,BF2,CF1の特徴ベクトルを縦方向にスタックしたものとなり、そのサイズが(6,512)となる。
【0043】
従って、類似度計算部32は、前記した式(2)を用いて、サイズが(6,1)の類似度行列Simを計算する。ここでは、以下の式(3)で表される類似度行列Simが計算されたこととする。
【0044】
【数3】
【0045】
式(3)の類似度行列Simでは、類似度0.75が0行目、類似度0.84が1行目、類似度0.63が2行目、類似度0.78が3行目、類似度0.43が4行目、類似度0.66が5行目となっている。なお、実装の都合上、類似度行列Simの行番号を0から開始している。
【0046】
また、ソート処理部33は、式(3)の類似度行列Simの各要素を類似度の順にソートする。類似度の順でソートした類似度行列Sim´は、以下の式(4)で表される。
【0047】
【数4】
【0048】
そして、ソート済み類似度行列ArgSimは、式(4)の類似度行列Sim´の行番号を格納したものであるから、以下の式(5)で表される。
【0049】
【数5】
【0050】
ここで、式(4)の類似度行列Sim´で先頭の類似度0.84が、式(3)の類似度行列Simでは1行目である。従って、式(5)のソート済み類似度行列ArgSimでは、先頭の要素として、類似度0.84の行番号1が格納されている。また、式(4)の類似度行列Sim´で2番目の類似度0.78が、式(3)の類似度行列Simでは3行目である。従って、式(5)のソート済み類似度行列ArgSimでは、2番目の要素として、類似度0.78の行番号3が格納されている。
【0051】
データ加工処理部40は、ソート済み類似度行列ArgSimに対して、multi_id2idテーブル61及びid2personテーブル62を用いて、最終的な認識結果を求める。
【0052】
まず、重複部分除去部41は、以下の式(6)に示すように、multi_id2idテーブル61を用いて、ソート済み類似度行列ArgSimの各要素(行番号)を登録者の識別情報(id)に変換する。
【0053】
【数6】
【0054】
前記したように、ソート済み類似度行列ArgSimの行番号は、multi_id2idテーブル61のmulti_idに対応する。つまり、ソート済み類似度行列ArgSimにおける先頭の要素である行番号1が、multi_id2idテーブル61のmulti_id=1に対応するので、id=0となる。従って、ソート済み類似度行列ArgSimにおける先頭の行番号1が、登録者の識別情報であるid=0に変換される。これと同様、ソート済み類似度行列ArgSimにおける2番目の要素である行番号3が、multi_id2idテーブル61のmulti_id=3に対応するので、id=1となる。従って、ソート済み類似度行列ArgSimにおける2番目の行番号3が、登録者の識別情報であるid=1に変換される。
【0055】
次に、重複部分除去部41は、式(6)右辺の変換結果から重複部分を除去することで、除去済み類似度行列ArgSimPを求める。ここで、式(6)右辺の変換結果からid=0,1が重複する3,5,6番目の要素を除去するので、除去済み類似度行列ArgSimPは、以下の式(7)で表される。
【0056】
【数7】
【0057】
次に、認識対象者特定部42は、以下の式(8)に示すように、id2personテーブル62を用いて、除去済み類似度行列ArgSimPの各要素(登録者のid)を登録者名に変換する。
【0058】
【数8】
【0059】
id2personテーブル62では、id=0の登録者名がAである。従って、除去済み類似度行列ArgSimPの先頭の要素であるid=0が登録者名Aに変換される。また、id2personテーブル62には、id=1の登録者名がBである。従って、除去済み類似度行列ArgSimPの2番目の要素であるid=1が登録者名Bに変換される。
【0060】
ここで、除去済み類似度行列ArgSimPでは、類似度が高い順にidが格納されている。従って、認識対象者特定部42は、除去済み類似度行列ArgSimPで先頭の要素に対応した登録者名を識別結果として出力すればよい。この具体例では、登録者名Aが識別結果となる。
【0061】
以下、id2personテーブル62を用いた、グループによるソート済み類似度行列ArgSimの絞り込みを説明する。
ここでは、登録者A,Cが属するグループに絞り込むこととする。つまり、登録者Bは、登録者A,Cとは異なるグループに属するので、絞り込みで除外される。
【0062】
図4に示すように、id2personテーブル62では、登録者A,Cのidが0,2である。また、multi_id2idテーブル61では、id=0に対応するmulti_idが0,1,2であり、id=2に対応するmulti_idが5である。従って、part2multi_idテーブル63には、登録者A,Cに対応したmulti_id=0,1,2,5を格納すればよい。なお、part_idは、multi_id毎に自動的に割り当てた連番である。図4の例では、part2multi_idテーブル63には、part_idとして0~3が格納されている。
【0063】
ここで、式(5)のソート済み類似度行列ArgSimを図4のpart2multi_idテーブル63で絞り込んだ場合、以下の式(9)で表される。式(9)のソート済み類似度行列ArgSimでは、式(5)のソート済み類似度行列ArgSimから、登録者Bに対応したmulti_id=3,4が除去されている。
【0064】
【数9】
【0065】
その後、重複部分除去部41は、式(9)のソート済み類似度行列ArgSimに対して、前記と同様の処理を行えばよい。
【0066】
<登録インターフェース>
図1に戻り、顔認識装置1の説明を続ける。
登録インターフェース50は、顔データベース20に顔特徴量を登録するものである。図6に示すように、登録インターフェース50は、登録者名(person)と顔画像(image)との組み合わせで登録を行う。
【0067】
まず、ステップS1において、顔検出処理部10は、認識対象者の顔画像と同様、登録者の顔画像から顔領域を検出する。ステップS2において、顔特徴量計算部31は、認識対象者の顔特徴量と同様、登録者の顔領域毎に顔特徴量Fを計算する。ステップS3において、類似度計算部32は、顔データベース20から、登録者の顔特徴量R[id]を取得する。このとき、類似度計算部32は、id2personテーブル62の逆マップ版であるperson2idテーブル64を用いて、登録者名(person)に対応するidを求める。ステップS4において、類似度計算部32は、顔特徴量計算部31が計算した登録者の顔特徴量Fと、顔データベースに登録されている登録者の各顔特徴量R[id]との類似度SimScoreを計算する。
【0068】
次に、ステップS5において、登録インターフェース50は、ステップS4で計算した類似度SimScoreの閾値判定により、顔特徴量計算部31が計算した顔特徴量Fを顔データベースに登録する。具体的には、登録インターフェース50は、類似度SimScoreが予め設定した閾値Thres_sim未満であるかを判定する。そして、類似度SimScoreが閾値Thres_sim未満の場合(ステップS5でY)、登録インターフェース50は、顔特徴量Fの登録を中止する(ステップS6)。一方、類似度SimScoreが閾値Thres_sim以上の場合(ステップS5でN)、登録インターフェース50は、顔特徴量Fを顔データベース20に登録する(ステップS7)。
【0069】
このようにして、登録インターフェース50は、特徴が大きく異なる顔画像から求めた顔特徴量Fを顔データベース20に登録しないので、誤認識を抑制できる。また、この登録処理は、登録者名(person)と顔画像(image)との組み合わせを選択するだけなので、登録者が映っている領域を入力操作が不要であり、顔認識装置1のユーザにとって便利である。
【0070】
[作用・効果]
以上のように、顔認識装置1は、ハッシュ型マップテーブル60を採用することで、複数の顔特徴量を用いるときの膨大な計算量を抑制することができる。
さらに、顔認識装置1は、複数の顔特徴量を用いるので、顔認識の精度向上を図ることができる。特に、顔認識装置1は、重要な認識対象者について、様々な顔状態で求めた複数の顔特徴量を顔データベース20に登録することで、その人物を精度よく認識できる。
さらに、顔認識装置1は、登録インターフェース50により、顔認識の精度向上に寄与する顔特徴量を選択的に登録することができる。
例えば、顔認識装置1は、映像コンテンツに認識対象者の氏名をメタデータとして付加する処理を効率的に行うことができる。
【0071】
(第2実施形態)
図1及び図7を参照し、第2実施形態に係る顔認識装置1Bについて、第1実施形態と異なる点を説明する。
図7に示すように、顔認識装置1Bでは、類似度計算部32B及びソート処理部33Bが2段階処理を行う点が第1実施形態と異なる。
【0072】
複数の顔特徴量を用いるのでデータ量が増加するので、メモリなどの顔認識装置1Bのリソースを圧迫することもある。この影響を低減するため、顔認識装置1Bでは、類似度計算やソーティング処理を段階的に実行する。
【0073】
ステップS10において、第1段階目の処理として、登録者に1つの顔特徴量(マトリックスR_S)を準備する。例えば、マトリックスR_Sは、登録者毎に全ての顔特徴量の平均ベクトルを要素とする。このマトリックスR_Sは、サイズが(n_people,n_feats)となる。このマトリックスR_Sを用いて、第1段階目の処理を行う。
【0074】
類似度計算部32Bは、認識対象者の顔領域毎の顔特徴量Fと、登録者に予め割り当てた1つの顔特徴量(マトリックスR_S)との類似度が格納された類似度行列を計算する。そして、ソート処理部33Bは、類似度行列において、類似度が予め設定された順位topSまでの要素を類似度順にソートする。
【0075】
このように、第1段階目のソーティング処理では、全要素をソートするのでななく、類似度が最も高いものからtopS個の要素をソートすることで、類似度が高いTopSまでの登録者を登録できる。
【0076】
ステップS11において、第2段階目の処理として、topSの登録者に限定して複数の顔特徴量による顔認識処理を行う。具体的には、類似度計算部32Bは、認識対象者の顔領域毎の顔特徴量Fと、類似度が順位topSまでの登録者の各顔特徴量との類似度が格納された類似度行列を計算する。その後、第2段階目の処理で計算した類似度行列を類似度行列Simとして用いればよい。
【0077】
[作用・効果]
以上のように、顔認識装置1Bは、第1実施形態と同様、複数の顔特徴量を用いるときの膨大な計算量を抑制することができる。
さらに、顔認識装置1Bは、ソーティング処理において、全ての登録者について複数の顔特徴量を用いるときよりも大幅にデータ量を削減できるので、処理速度の低下を抑制し、メモリなどの顔認識装置1Bのリソースの圧迫を回避できる。
【0078】
以上、実施形態を詳述してきたが、本発明は前記した実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0079】
前記した実施形態では、顔認識装置が独立したハードウェアであることとして説明したが、本発明は、これに限定されない。例えば、本発明は、コンピュータが備えるCPU、メモリ、ハードディスク等のハードウェア資源を、前記した顔認識装置として機能させるためのプログラムで実現することもできる。このプログラムは、通信回線を介して配布してもよく、CD-ROMやフラッシュメモリ等の記録媒体に書き込んで配布してもよい。
【符号の説明】
【0080】
1,1B 顔認識装置
10 顔検出処理部
20 顔データベース
30 顔認識処理部
31 顔特徴量計算部
32,32B 類似度計算部
33,33B ソート処理部
40 データ加工処理部
41 重複部分除去部
42 認識対象者特定部
50 登録インターフェース(顔データベース登録部)
60 ハッシュ形マップテーブル
図1
図2
図3
図4
図5
図6
図7