特許第6973876号(P6973876)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ▲騰▼▲訊▼科技(深▲セン▼)有限公司の特許一覧

特許6973876顔認識方法、顔認識装置及び顔認識方法を実行するコンピュータプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6973876
(24)【登録日】2021年11月8日
(45)【発行日】2021年12月1日
(54)【発明の名称】顔認識方法、顔認識装置及び顔認識方法を実行するコンピュータプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20211118BHJP
【FI】
   G06T7/00 660A
   G06T7/00 510F
【請求項の数】16
【全頁数】21
(21)【出願番号】特願2020-542097(P2020-542097)
(86)(22)【出願日】2019年2月28日
(65)【公表番号】特表2021-513700(P2021-513700A)
(43)【公表日】2021年5月27日
(86)【国際出願番号】CN2019076398
(87)【国際公開番号】WO2019179295
(87)【国際公開日】20190926
【審査請求日】2020年8月3日
(31)【優先権主張番号】201810239389.3
(32)【優先日】2018年3月22日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】李 ▲習▼▲華▼
【審査官】 岡本 俊威
(56)【参考文献】
【文献】 特開2017−091520(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのコンピューティングデバイスにより実行される顔認識方法であって、
認識対象の顔画像を取得し、前記顔画像に対応する少なくとも1つの目標特徴ベクトルを抽出するステップと、
各目標特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する平均ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第1距離集合を取得し、各第1距離集合のそれぞれの中の最小距離に対応する顔識別子を決定し、各第1距離集合のそれぞれの中の最小距離に対応する顔識別子の中から、出現回数が最も多い顔識別子を、前記顔画像に対応する第1認識結果として決定し、各第1距離集合の中で前記第1認識結果に対応する最小距離に基づいて、前記第1認識結果に対応する第1信頼度を決定するステップと、
各目標特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する各特徴ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第2距離集合を取得し、各第2距離集合のそれぞれの中の、所定の選択条件を満たす目標距離に対応する顔識別子を決定し、各第2距離集合のそれぞれの中の各目標距離に対応する顔識別子の中から、出現回数が最も多い目標顔識別子を決定し、各目標顔識別子の中から、出現回数が最も多い目標顔識別子を、前記顔画像に対応する第2認識結果として決定し、各第2距離集合の中で前記第2認識結果に対応する最小距離に基づいて、前記第2認識結果に対応する第2信頼度を決定するステップと、
前記第1認識結果と、前記第1認識結果に対応する第1信頼度と、前記第2認識結果と、前記第2認識結果に対応する第2信頼度とに基づいて、前記顔画像に対応する顔認識結果と、前記顔認識結果に対応する信頼度とを決定するステップと、
を含む顔認識方法。
【請求項2】
前記第1認識結果と、前記第1認識結果に対応する第1信頼度と、前記第2認識結果と、前記第2認識結果に対応する第2信頼度とに基づいて、前記顔画像に対応する顔認識結果と、前記顔認識結果に対応する信頼度とを決定するステップは、
前記第1認識結果と前記第2認識結果とが同じである場合、前記第1認識結果又は前記第2認識結果を、前記顔画像に対応する顔認識結果として決定し、前記第1信頼度及び前記第2信頼度のうちの最大信頼度を、前記顔認識結果に対応する信頼度として決定するステップを含む、
請求項1に記載の方法。
【請求項3】
前記第1認識結果と、前記第1認識結果に対応する第1信頼度と、前記第2認識結果と、前記第2認識結果に対応する第2信頼度とに基づいて、前記顔画像に対応する顔認識結果と、前記顔認識結果に対応する信頼度とを決定するステップは、
前記第1認識結果と前記第2認識結果とが異なり、かつ前記第2信頼度と前記第1信頼度との差が第1所定閾値より大きい場合、前記第2認識結果を、前記顔画像に対応する顔認識結果として決定し、前記第2信頼度を、前記顔認識結果に対応する信頼度として決定するステップを含む、
請求項1に記載の方法。
【請求項4】
前記第1認識結果と、前記第1認識結果に対応する第1信頼度と、前記第2認識結果と、前記第2認識結果に対応する第2信頼度とに基づいて、前記顔画像に対応する顔認識結果と、前記顔認識結果に対応する信頼度とを決定するステップは、
前記第1認識結果と前記第2認識結果とが異なり、かつ前記第1信頼度と前記第2信頼度との差が第2所定閾値より大きい場合、前記第1認識結果を、前記顔画像に対応する顔認識結果として決定し、前記第1信頼度を、前記顔認識結果に対応する信頼度として決定するステップを含む、
請求項1に記載の方法。
【請求項5】
前記第1認識結果と、前記第1認識結果に対応する第1信頼度と、前記第2認識結果と、前記第2認識結果に対応する第2信頼度とに基づいて、前記顔画像に対応する顔認識結果と、前記顔認識結果に対応する信頼度とを決定するステップは、
前記第1認識結果と前記第2認識結果とが異なり、かつ前記第2信頼度と前記第1信頼度との差が第1所定閾値未満であり、かつ、前記第1信頼度と前記第2信頼度との差が第2所定閾値未満である場合、前記第1認識結果を、前記顔画像に対応する顔認識結果として決定し、前記第1信頼度及び前記第2信頼度のうちの最小信頼度を、前記顔認識結果に対応する信頼度として決定するステップを含む、
請求項1に記載の方法。
【請求項6】
前記第1認識結果と、前記第1認識結果に対応する第1信頼度と、前記第2認識結果と、前記第2認識結果に対応する第2信頼度とに基づいて、前記顔画像に対応する顔認識結果と、前記顔認識結果に対応する信頼度とを決定するステップは、
前記第1認識結果と、前記第1認識結果に対応する第1信頼度と、前記第2認識結果と、前記第2認識結果に対応する第2信頼度とを、事前訓練された顔認識モデルに入力することにより、前記顔画像に対応する顔認識結果と、前記顔認識結果に対応する信頼度とを取得するステップを含む、
請求項1に記載の方法。
【請求項7】
各訓練顔画像に対応する特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する平均ベクトルとの距離を計算することにより、第1距離集合を取得し、第1距離集合の中の最小距離に対応する顔識別子を、各訓練顔画像に対応する第1認識結果として決定し、第1距離集合の中の、第1認識結果に対応する最小距離に基づいて、第1認識結果に対応する第1信頼度を決定するステップと、
各訓練顔画像に対応する特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する各特徴ベクトルとの距離を計算することにより、第2距離集合を取得し、第2距離集合の中の、所定の選択条件を満たす目標距離に対応する顔識別子を決定し、各目標距離に対応する顔識別子の中から、出現回数が最も多い目標顔識別子を、各訓練顔画像に対応する第2認識結果として決定し、第2距離集合の中の、第2認識結果に対応する最小距離に基づいて、第2認識結果に対応する第2信頼度を決定するステップと、
各訓練顔画像に対応する第1認識結果、第1信頼度、第2認識結果、及び第2信頼度を、顔認識モデルに入力することにより、各訓練顔画像に対応する顔認識結果及び信頼度を取得するステップと、
取得された、各訓練顔画像に対応する顔認識結果及び信頼度と、予め設定された、各訓練顔画像に対応する顔認識結果及び信頼度とに基づいて、前記顔認識モデルのモデルパラメータを調整することにより、訓練された顔認識モデルを取得するステップと、
をさらに含む請求項6に記載の方法。
【請求項8】
顔認識装置であって、
認識対象の顔画像を取得し、前記顔画像に対応する少なくとも1つの目標特徴ベクトルを抽出する取得モジュールと、
各目標特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する平均ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第1距離集合を取得し、各第1距離集合のそれぞれの中の最小距離に対応する顔識別子を決定し、各第1距離集合のそれぞれの中の最小距離に対応する顔識別子の中から、出現回数が最も多い顔識別子を、前記顔画像に対応する第1認識結果として決定し、各第1距離集合の中で前記第1認識結果に対応する最小距離に基づいて、前記第1認識結果に対応する第1信頼度を決定する第1計算モジュールと、
各目標特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する各特徴ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第2距離集合を取得し、各第2距離集合のそれぞれの中の、所定の選択条件を満たす目標距離に対応する顔識別子を決定し、各第2距離集合のそれぞれの中の各目標距離に対応する顔識別子の中から、出現回数が最も多い目標顔識別子を決定し、各目標顔識別子の中から、出現回数が最も多い目標顔識別子を、前記顔画像に対応する第2認識結果として決定し、各第2距離集合の中で前記第2認識結果に対応する最小距離に基づいて、前記第2認識結果に対応する第2信頼度を決定する第2計算モジュールと、
前記第1認識結果と、前記第1認識結果に対応する第1信頼度と、前記第2認識結果と、前記第2認識結果に対応する第2信頼度とに基づいて、前記顔画像に対応する顔認識結果と、前記顔認識結果に対応する信頼度とを決定する決定モジュールと、
を備える顔認識装置。
【請求項9】
前記決定モジュールは、
前記第1認識結果と前記第2認識結果とが同じである場合、前記第1認識結果又は前記第2認識結果を、前記顔画像に対応する顔認識結果として決定し、前記第1信頼度及び前記第2信頼度のうちの最大信頼度を、前記顔認識結果に対応する信頼度として決定する、
請求項8に記載の装置。
【請求項10】
前記決定モジュールは、
前記第1認識結果と前記第2認識結果とが異なり、かつ前記第2信頼度と前記第1信頼度との差が第1所定閾値より大きい場合、前記第2認識結果を、前記顔画像に対応する顔認識結果として決定し、前記第2信頼度を、前記顔認識結果に対応する信頼度として決定する、
請求項8に記載の装置。
【請求項11】
前記決定モジュールは、
前記第1認識結果と前記第2認識結果とが異なり、かつ前記第1信頼度と前記第2信頼度との差が第2所定閾値より大きい場合、前記第1認識結果を、前記顔画像に対応する顔認識結果として決定し、前記第1信頼度を、前記顔認識結果に対応する信頼度として決定する、
請求項8に記載の装置。
【請求項12】
前記決定モジュールは、
前記第1認識結果と前記第2認識結果とが異なり、かつ前記第2信頼度と前記第1信頼度との差が第1所定閾値未満であり、かつ、前記第1信頼度と前記第2信頼度との差が第2所定閾値未満である場合、前記第1認識結果を、前記顔画像に対応する顔認識結果として決定し、前記第1信頼度及び前記第2信頼度のうちの最小信頼度を、前記顔認識結果に対応する信頼度として決定する、
請求項8に記載の装置。
【請求項13】
前記決定モジュールは、
前記第1認識結果と、前記第1認識結果に対応する第1信頼度と、前記第2認識結果と、前記第2認識結果に対応する第2信頼度とを、事前訓練された顔認識モデルに入力することにより、前記顔画像に対応する顔認識結果と、前記顔認識結果に対応する信頼度とを取得する、
請求項8に記載の装置。
【請求項14】
プロセッサとメモリとを備えるサーバであって、前記メモリには、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶され、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット又は命令セットは、前記プロセッサによりロードされて実行されることで、請求項1〜7のいずれか1項に記載の顔認識方法を実現させるサーバ。
【請求項15】
少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットを記憶したコンピュータ読み取り可能な記憶媒体であって、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット又は命令セットは、プロセッサによりロードされて実行されることで、請求項1〜7のいずれか1項に記載の顔認識方法を実現させるコンピュータ読み取り可能な記憶媒体。
【請求項16】
請求項1〜7のいずれか1項に記載の顔認識方法をコンピューティングデバイスに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2018年03月22日に中国特許庁に提出された、出願番号が201810239389.3であり、発明の名称が「顔認識方法及び装置」である中国特許出願に基づく優先権を主張し、その全ての内容は参照することにより本願に組み込まれる。
【0002】
本発明は、画像処理の技術分野に関し、特に顔認識方法及び装置に関する。
【背景技術】
【0003】
場合によっては、取得された顔画像に対して顔認識を行い、顔画像に対応する顔識別子を決定する必要がある。顔識別子は、特定の人物の識別子であってもよいし、それに対応する人物顔画像の識別子であってもよい。事前訓練された分類器を使用して人物顔認識を実現してもよい。分類器の各クラスは、即ち、データベース内の各顔識別子である。サーバは、認識対象の顔画像を取得するごとに、該顔画像の特徴ベクトルを抽出してもよく、さらに、抽出された特徴ベクトルを、事前訓練された分類器に入力することにより、該顔画像に対応する顔識別子を取得してもよい。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本願の実施例は、顔認識の効率を向上できる顔認識方法及び装置を提供する。
【課題を解決するための手段】
【0005】
本願の実施例の顔認識方法は、
認識対象の顔画像を取得し、前記顔画像に対応する少なくとも1つの目標特徴ベクトルを抽出するステップと、
各目標特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する平均ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第1距離集合を取得し、各第1距離集合のそれぞれの中の最小距離に対応する顔識別子を決定し、各第1距離集合のそれぞれの中の最小距離に対応する顔識別子の中から、出現回数が最も多い顔識別子を、前記顔画像に対応する第1認識結果として決定し、各第1距離集合の中で前記第1認識結果に対応する最小距離に基づいて、前記第1認識結果に対応する第1信頼度を決定するステップと、
各目標特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する各特徴ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第2距離集合を取得し、各第2距離集合のそれぞれの中の、所定の選択条件を満たす目標距離に対応する顔識別子を決定し、各第2距離集合のそれぞれの中の各目標距離に対応する顔識別子の中から、出現回数が最も多い目標顔識別子を決定し、各目標顔識別子の中から、出現回数が最も多い目標顔識別子を、前記顔画像に対応する第2認識結果として決定し、各第2距離集合の中で前記第2認識結果に対応する最小距離に基づいて、前記第2認識結果に対応する第2信頼度を決定するステップと、
前記第1認識結果と、前記第1認識結果に対応する第1信頼度と、前記第2認識結果と、前記第2認識結果に対応する第2信頼度とに基づいて、前記顔画像に対応する顔認識結果と、前記顔認識結果に対応する信頼度とを決定するステップと、を含んでもよい。
【0006】
本願の実施例の顔認識装置は、
認識対象の顔画像を取得し、前記顔画像に対応する少なくとも1つの目標特徴ベクトルを抽出する取得モジュールと、
各目標特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する平均ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第1距離集合を取得し、各第1距離集合のそれぞれの中の最小距離に対応する顔識別子を決定し、各第1距離集合のそれぞれの中の最小距離に対応する顔識別子の中から、出現回数が最も多い顔識別子を、前記顔画像に対応する第1認識結果として決定し、各第1距離集合の中で前記第1認識結果に対応する最小距離に基づいて、前記第1認識結果に対応する第1信頼度を決定する第1計算モジュールと、
各目標特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する各特徴ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第2距離集合を取得し、各第2距離集合のそれぞれの中の、所定の選択条件を満たす目標距離に対応する顔識別子を決定し、各第2距離集合のそれぞれの中の各目標距離に対応する顔識別子の中から、出現回数が最も多い目標顔識別子を決定し、各目標顔識別子の中から、出現回数が最も多い目標顔識別子を、前記顔画像に対応する第2認識結果として決定し、各第2距離集合の中で前記第2認識結果に対応する最小距離に基づいて、前記第2認識結果に対応する第2信頼度を決定する第2計算モジュールと、
前記第1認識結果と、前記第1認識結果に対応する第1信頼度と、前記第2認識結果と、前記第2認識結果に対応する第2信頼度とに基づいて、前記顔画像に対応する顔認識結果と、前記顔認識結果に対応する信頼度とを決定する決定モジュールと、を備えてもよい。
【0007】
本願の実施例のサーバは、プロセッサとメモリとを備え、前記メモリには、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶され、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット又は命令セットは、前記プロセッサによりロードされて実行されることで、前記顔認識方法を実現させるようにしてもよい。
【0008】
本願の実施例のコンピュータ読み取り可能な記憶媒体は、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットを記憶しており、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット又は命令セットは、プロセッサによりロードされて実行されることで、前記顔認識方法を実現させるようにしてもよい。
【発明の効果】
【0009】
本願の実施例では、サーバは、認識対象の顔画像を取得した後、顔画像に対応する少なくとも1つの目標特徴ベクトルを抽出することができ、さらに、各目標特徴ベクトルと、各顔識別子に対応する平均ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第1距離集合を取得し、各第1距離集合に基づいて、顔画像に対応する第1認識結果及びそれに対応する第1信頼度を決定することができる。少なくとも1つの目標特徴ベクトルを決定した後、各目標特徴ベクトルと、各顔識別子に対応する各特徴ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第2距離集合を取得することもでき、さらに、各第2距離集合に基づいて、顔画像に対応する第2認識結果及びそれに対応する第2信頼度を決定することができる。第1認識結果及びそれに対応する第1信頼度と、第2認識結果及びそれに対応する第2信頼度とを決定した後、顔画像に対応する顔認識結果及びそれに対応する信頼度を決定することができる。このように、第1認識結果と第2認識結果とを融合することにより、顔画像に対応する顔認識結果を決定することができ、分類器を事前訓練する必要がなくなり、さらに、新しい顔識別子を追加するときに分類器を再訓練することを回避することができ、これにより、顔認識の効率を向上させることができる。
【0010】
本願の実施例の構成をより明確に説明するために、以下、実施例の説明に必要な図面を簡単的に紹介する。明らかに、以下の説明における図面は本願のいくつかの実施例を示しているにすぎず、当業者にとって、創造的な労働をせずに、これらの図面から他の図面を得ることもできる。
【図面の簡単な説明】
【0011】
図1(a)】本願の実施例で提供された実施環境の模式図である。
図1(b)】本願の実施例で提供された顔認識方法のフローチャートである。
図2(a)】本願の実施例で提供されたフレームワークの模式図である。
図2(b)】本願の実施例で提供されたフレームワークの模式図である。
図3】本願の実施例で提供された顔認識方法のフローチャートである。
図4】本願の実施例で提供された顔認識装置の構成の模式図である。
図5】本願の実施例で提供された顔認識装置の構成の模式図である。
図6】本願の実施例で提供されたサーバの構成の模式図である。
【発明を実施するための形態】
【0012】
本願の目的、構成、及びメリットをより明確にするために、以下、図面を参照しながら、本願の実施形態をさらに詳しく説明する。
【0013】
本願の実施例は、顔認識方法を提供している。この方法は、図1(a)に示すように、実行主体が、例えば、端末又はサーバなどの1つ又は複数のコンピューティングデバイスであり、端末及びサーバの両方によって実現することもできる。ここで、端末は、顔認識機能を有する任意の端末であってもよく、例えば、パーソナルコンピュータなどの端末であってもよい。サーバは、顔認識機能を有するサーバであってもよく、例えば、顔認識機能を有するバックグラウンドサーバなどであってもよい。端末及びサーバの両方により実現される場合は、端末が、認識対象の顔画像を取得した後、この顔画像を認識対象の顔画像としてサーバに送信してもよく、さらに、サーバが、認識対象の顔画像に対応する顔認識結果を決定してもよい。以下、実行主体がサーバである場合を例にして詳しく説明するが、他の場合は、それと同様であるため、ここでは説明を省略する。
【0014】
サーバは、プロセッサ、メモリなどの部品を含んでもよい。プロセッサは、CPUなどであってもよい。プロセッサは、平均探索アルゴリズムによって、顔画像に対応する第1認識結果を決定し、近傍探索アルゴリズムによって、顔画像に対応する第2認識結果を決定し、第1認識結果及び第2認識結果に基づいて、顔画像に対応する顔認識結果を決定するなどの処理を実行してもよい。メモリは、RAM、Flashなどであってもよく、受信されたデータ、処理過程に必要なデータ、処理過程中に生成されたデータなど、例えば、第1認識結果及び第2認識結果などを記憶することに利用可能である。
【0015】
一部のシナリオでは、サーバは、認識対象の顔画像に対して顔認識処理を行ってもよい。例えば、顔認証打刻のシナリオにおいて、サーバは、画像撮影装置によって認識対象の人物顔画像を取得し、この認識対象の人物顔画像に対して顔認識処理を行ってもよい。また例えば、顔認識によって、取得された顔画像が、探索する人物であるか否かを決定するシナリオにおいて、複数の場所に画像撮影装置を配置してもよく、サーバは、各画像撮影装置から送信された顔画像を取得した後、これら顔画像のいずれに対しても、顔認識を行って、顔画像における人物が、探索する人物であるか否かを決定してもよい。
【0016】
顔認識の関連技術では、サーバは、データベース内の各顔識別子に対応するサンプル顔画像を取得した後、各サンプル顔画像の特徴ベクトルを抽出し、各特徴ベクトル及びそれに対応する顔識別子に基づいて、マルチクラス分類器を訓練することができる。分類器の各クラスは、データベース内の各顔識別子である。この場合、新しい顔識別子をデータベースに追加する必要があるたびに、分類器を再訓練することにより、追加された顔識別子がクラスに含まれる分類器を取得する必要があり、分類器の拡張性が低く、コストが高い。
【0017】
本願の構成では、サーバは、認識対象の顔画像を取得した後、平均探索アルゴリズム及び近傍探索アルゴリズムのそれぞれによって、顔画像に対応する第1認識結果及び第2認識結果を決定し、第1認識結果及び第2認識結果に基づいて、顔画像に対応する顔認識結果を取得し、即ち、顔画像に対応する顔識別子を取得することができる。このようにして、サーバは、平均探索アルゴリズムと近傍探索アルゴリズムとを融合することにより、顔画像に対応する顔識別子を決定することができる。本願の構成では、分類器を訓練する必要がなく、新しい顔識別子を追加するときに分類器を再訓練することを回避する。本願の構成によれば、顔認識の効率を向上させることもできる。また、本願の構成では、平均探索アルゴリズムによって決定された顔認識結果及び信頼度と、近傍探索アルゴリズムによって決定された顔認識結果及び信頼度とを融合することにより、顔認識の正確性を高めることができるとともに、正しい認識に高信頼度を付与することもで、これにより、顔認識の再現率を向上させることができる。さらに、本願の実施例で提供された方法は、適用範囲が広く、例えば、1人当たり1つのみの訓練サンプル顔画像(SIPP:single image per−person)に適用でき、融合シナリオ、及び顔認識が必要な他のシナリオにも適用できる。
【0018】
図1(b)に示すように、いくつかの実施例の処理フローは、下記のステップを含んでもよい。
ステップ101で、認識対象の顔画像を取得し、顔画像に対応する少なくとも1つの目標特徴ベクトルを抽出する。
ここで、顔画像は、顔を含む画像であってもよく、例えば、人物の顔を含む人物顔画像であってもよい。
【0019】
実施において、一部のシナリオでは、サーバは、認識対象の顔画像に対して顔認識処理を行ってもよい。例えば、顔認証での打刻のシナリオにおいて、サーバは、画像撮影装置によって認識対象の人物顔画像を取得してもよく、さらに、この認識対象の人物顔画像に対して顔認識処理を行ってもよい。また例えば、顔認識によって、取得された顔画像が、探索する人物であるか否かを決定するシナリオにおいて、複数の場所に画像撮影装置を配置してもよく、サーバは、各画像撮影装置から送信された顔画像を取得した後、これら顔画像のいずれに対しても、顔認識を行って、顔画像における人物が、探索する人物であるか否かを決定してもよい。
【0020】
サーバは、認識対象の顔画像を取得し、さらに、ディープネットワークによって、顔画像に対応する少なくとも1つの特徴ベクトル(目標特徴ベクトルと呼ばれてもよい)qを抽出してもよい。ここで、qは、顔画像自体に対応する特徴ベクトルであってもよいし、画像水増し後の複数の顔画像のそれぞれに対応する特徴ベクトルであってもよいし、画像水増し後の複数の顔画像のそれぞれに対応する特徴ベクトルの平均ベクトルであってもよい。サーバは、適用シナリオに応じて、認識対象の顔画像を取得してもよい。例えば、顔認証打刻のシナリオでは、サーバは、企業が配置した画像撮影装置により撮像された顔画像を取得してもよい。顔認識によって、取得された顔画像が、探索する人物であるか否かを決定するシナリオでは、サーバは、交通管理などの部門が配置した画像撮影装置により撮像された顔画像を取得してもよい。
【0021】
ステップ102で、各目標特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する平均ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第1距離集合を取得し、各第1距離集合のそれぞれの中の最小距離に対応する顔識別子を決定し、各第1距離集合のそれぞれの中の最小距離に対応する顔識別子の中から、出現回数が最も多い顔識別子を、顔画像に対応する第1認識結果として決定し、各第1距離集合の中で第1認識結果に対応する最小距離に基づいて、第1認識結果に対応する第1信頼度を決定する。
ここで、第1信頼度は、顔画像に対応する顔識別子が第1認識結果であることの可能性、信頼性を示すために使用できる。
【0022】
実施において、サーバには、各顔識別子に対応するサンプル顔画像が予め記憶されてもよい。ここで、各顔識別子に対応するサンプル顔画像の数は、同じであってもよく、異なってもよい。各顔識別子に対応するサンプル顔画像は、直接取得された元の顔画像(元の顔画像は、撮像された顔画像であってもよい)を含んでもよく、元の顔画像を基に画像水増しによって取得されたサンプル顔画像を含んでもよい。各顔識別子ごとに、サーバは、ディープネットワークによって、該顔識別子に対応する各サンプル顔画像の特徴ベクトルを抽出することにより、該顔識別子に対応する少なくとも1つの特徴ベクトルを取得し、さらに、該顔識別子に対応する少なくとも1つの特徴ベクトルの平均ベクトルを計算してもよい。データベース内の顔識別子の数がk(kは正の整数)であり、各顔識別子それぞれがmk個のサンプル顔画像(mは正の整数)に対応するとすると、各顔識別子に対応する少なくとも1つの特徴ベクトル及び平均ベクトルは、次のとおりとしてもよい。
p11、p12、…p1m1、平均ベクトル:mp1
p21、p22、…p2m2、平均ベクトル:mp2
…、…、…
pk1、pk2、…pkmk、平均ベクトル:mpk
【0023】
少なくとも1つの目標特徴ベクトルを決定した後、目標特徴ベクトルqが、顔画像自体に対応する特徴ベクトル、又は画像水増し後の複数の顔画像に対応する平均ベクトルである場合、サーバは、目標特徴ベクトルqと、上記の各顔識別子に対応する平均ベクトルmpi(i=1...k)との距離(該距離は、ユークリッド距離であってもよく、コサイン距離であってもよく、他のタイプのベクトル距離であってもよい)を計算することにより、第1距離集合を取得してもよい。第1距離集合を取得した後、サーバは、最小距離に対応する顔識別子を、認識対象の顔画像に対応する第1認識結果id1として決定してもよい。
【0024】
いくつかの実施例では、サーバには、距離閾値が予め設定されてもよい。ここで、距離閾値は、コサイン距離の距離閾値であってもよいし、ユークリッド距離の距離閾値であってもよい。サーバは、第1距離集合を取得した後、最小距離を所定の距離閾値と比較してもよい。最小距離が所定の距離閾値未満である場合、最小距離に対応する顔識別子を、認識対象の顔画像に対応する第1認識結果id1として決定し、最小距離が所定の距離閾値未満でない場合、認識は失敗する。
【0025】
いくつかの実施例では、画像水増しによって、認識対象の顔画像の複数の顔画像(複数の顔画像は、認識対象の顔画像と、画像水増し後の少なくとも1つの顔画像とを含む)が取得される場合、即ち、顔画像が複数の目標特徴ベクトルに対応する場合、各顔画像ごとに、サーバは、該顔画像の目標特徴ベクトルと、上記の各顔識別子に対応する平均ベクトルmpiとの距離を計算することにより、該顔画像に対応する第1距離集合を取得し、さらに、最小距離に対応する顔識別子を、該顔画像に対応する顔識別子として決定してもよい。各顔画像に対応する顔識別子を取得した後、サーバは、出現回数が最も多い顔識別子を、認識対象の顔画像に対応する第1認識結果として決定してもよい。つまり、顔画像に対応する少なくとも1つの目標特徴ベクトルを抽出した後、サーバは、平均探索アルゴリズムによって、顔画像に対応する第1認識結果と、第1認識結果に対応する第1信頼度とを決定してもよい。ここで、平均探索アルゴリズムは、平均ベクトルと比較することにより認識結果を決定するアルゴリズムであってもよい。
【0026】
認識対象の顔画像を取得した後、サーバは、顔画像に対応する第1認識結果に加えて、第1認識結果に対応する第1信頼度s1も決定してもよい。例えば、サーバは、各第1距離集合の中で第1認識結果に対応する距離を取得し、各距離のうちの最小距離を決定し、第1認識結果に対応する各距離のうちの最小距離に基づいて、第1信頼度を決定してもよい。例えば、第1認識結果に対応する各距離のうちの最小距離の逆数を第1信頼度として決定してもよい。
【0027】
ステップ103で、各目標特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する各特徴ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第2距離集合を取得し、各第2距離集合のそれぞれの中の、所定の選択条件を満たす目標距離に対応する顔識別子を決定し、各第2距離集合のそれぞれの中の各目標距離に対応する顔識別子の中から、出現回数が最も多い目標顔識別子を決定し、各目標顔識別子の中から、出現回数が最も多い目標顔識別子を、顔画像に対応する第2認識結果として決定し、各第2距離集合の中で第2認識結果に対応する最小距離に基づいて、第2認識結果に対応する第2信頼度を決定する。
ここで、第2信頼度は、顔画像に対応する顔識別子が第2認識結果であることの可能性、信頼性を示すために使用できる。
【0028】
実施において、少なくとも1つの目標特徴ベクトルを決定した後、目標特徴ベクトルqが、顔画像自体に対応する特徴ベクトル、又は画像水増し後の複数の顔画像に対応する平均ベクトルである場合、サーバは、目標特徴ベクトルqと各サンプル顔画像の特徴ベクトルとの距離を計算することにより、第2距離集合を取得し、さらに、各第2距離集合のそれぞれから、距離が最小となる所定の数の距離を選択するか、所定の距離閾値未満の目標距離を選択してもよい。目標距離を選択した後、サーバは、各目標距離に対応する顔識別子を決定してもよく、さらに、それぞれ異なる顔識別子に対応する出現回数をカウントし、出現回数が最も多い目標顔識別子を、認識対象の顔画像に対応する第2認識結果として決定してもよい。
【0029】
いくつかの実施例では、画像水増しによって、認識対象の顔画像の複数の顔画像が取得される場合、即ち、顔画像が複数の目標特徴ベクトルに対応する場合、各顔画像ごとに、サーバは、該顔画像の目標特徴ベクトルと、上記の各顔識別子に対応する各特徴ベクトルとの距離を計算することにより、該顔画像に対応する第2距離集合を取得してもよい。さらに、各第2距離集合のそれぞれから、距離が最小となる所定の数の距離を選択するか、所定の距離閾値未満の目標距離を選択する。各第2距離集合に対応する目標距離を選択した後、サーバは、各目標距離に対応する顔識別子を決定し、それぞれ異なる顔識別子に対応する出現回数をカウントし、出現回数が最も多い目標顔識別子を決定してもよい。各目標特徴ベクトルに対応する目標顔識別子を取得した後、各目標顔識別子の中から、出現回数が最も多い目標顔識別子を、顔画像に対応する第2認識結果として決定してもよい。つまり、顔画像に対応する少なくとも1つの目標特徴ベクトルを抽出した後、サーバは、近傍探索アルゴリズムによって、顔画像に対応する第2認識結果と、第2認識結果に対応する第2信頼度とを決定してもよい。ここで、近傍探索アルゴリズムは、各サンプル顔画像に対応する特徴ベクトルと比較することにより認識結果を決定するアルゴリズムであってもよく、局所性鋭敏型ハッシュ(LSH:Local Sensitive Hashing)アルゴリズムであってもよい。
【0030】
認識対象の顔画像を取得した後、サーバは、顔画像に対応する第2認識結果に加えて、第2認識結果に対応する第2信頼度s2も決定してもよい。例えば、サーバは、各第2距離集合の中で第2認識結果に対応する各距離を取得してもよく、さらに、第2認識結果に対応する各距離のうちの最小距離を決定してもよく、第2認識結果に対応する各距離のうちの最小距離に基づいて、第2信頼度を決定してもよい。例えば、第2認識結果に対応する各距離のうちの最小距離の逆数を第2信頼度として決定してもよい。
【0031】
ステップ104で、第1認識結果と、第1認識結果に対応する第1信頼度と、第2認識結果と、第2認識結果に対応する第2信頼度とに基づいて、顔画像に対応する顔認識結果と、顔認識結果に対応する信頼度とを決定する。
【0032】
実施において、第1認識結果と、第1認識結果に対応する第1信頼度と、第2認識結果と、第2認識結果に対応する第2信頼度とを決定した後、サーバは、第1認識結果と、第1認識結果に対応する第1信頼度と、第2認識結果と、第2認識結果に対応する第2信頼度とに基づいて、認識対象の顔画像に対応する顔認識結果f_idと、顔認識結果に対応する信頼度f_scoreを決定してもよい。例えば、何らかの条件により、第1認識結果及び第2認識結果のうちの一方を、顔画像に対応する顔認識結果として決定してもよい。ここで、本願の構成の処理フレームワークは、図2(a)に示すとおりである。
【0033】
いくつかの実施例では、本願の構成の全体的なフローは、図2(b)に示すとおりであってもよい。ここで、CNN_fesは、特徴ベクトルを抽出するためのディープネットワークであり、basesetは、対応するサンプル顔画像の数が多い顔識別子の集合であってもよく、novelsetは、対応するサンプル顔画像の数が少ない顔識別子の集合であってもよく、augmented−novelsetは、画像水増し後のnovelsetであってもよく、Modified SVD augmentation moduleは、改良SVD水増しモジュールであってもよく、NN module:LSH feature poolは、LSHに基づく近傍探索モジュールであってもよく、Mean search feature poolは、平均探索モジュールであってもよく、Hyper merge moduleは、ステップ104に対応する融合モジュールであってもよい。
【0034】
各実施例では、顔認識結果を決定する方式によって、ステップ104の処理過程は様々であり得る。いくつかのケースでの実現方式を以下に示す。
【0035】
ケース1:第1認識結果と第2認識結果とが同じである場合、第1認識結果又は第2認識結果を、顔画像に対応する顔認識結果として決定し、第1信頼度及び第2信頼度のうちの最大信頼度を、顔認識結果に対応する信頼度として決定する。
【0036】
実施において、第1認識結果及び第2認識結果を決定した後、サーバは、第1認識結果と第2認識結果とが同じであるか否かを決定してもよい。第1認識結果と第2認識結果とが同じである場合、サーバは、第1認識結果又は第2認識結果を、顔画像に対応する顔認識結果として決定してもよい。これに応じて、サーバは、第1信頼度及び第2信頼度のうちの最大信頼度を決定し、さらに、それを顔認識結果に対応する信頼度として決定してもよい。
【0037】
ここで、第1認識結果と第2認識結果とが同じである場合は、今回正しく認識される確率が高く、即ち、顔画像に実際に対応する顔識別子が第1認識結果又は第2認識結果である可能性が高く、第1認識結果又は第2認識結果を、顔画像に対応する顔認識結果として決定することの信頼性が高いことを示している。したがって、このような処理により、顔認識の正確率を向上させることができるとともに、認識結果の信頼度を高めることができ、即ち、正しい認識に高信頼度を付与することができ、これにより、顔認識の再現率を向上させることができる。
【0038】
ケース2:第1認識結果と第2認識結果とが異なり、かつ第2信頼度と第1信頼度との差が第1所定閾値より大きい場合、第2認識結果を、顔画像に対応する顔認識結果として決定し、第2信頼度を、顔認識結果に対応する信頼度として決定する。
【0039】
実施において、第1認識結果と第2認識結果とが異なる場合、サーバは、上記の方式で決定された第1認識結果に対応する第1信頼度と第2認識結果に対応する第2信頼度とを取得してもよい。第1信頼度と第2信頼度との大小関係に基づいて、第1認識結果及び第2認識結果のうちの一方を、顔画像に対応する顔認識結果として決定してもよい。
【0040】
例えば、第1認識結果と第2認識結果とが異なる場合、サーバは、さらに、第1信頼度と第2信頼度との大きさを比較してもよい。第2信頼度と第1信頼度との差が第1所定閾値より大きい場合、サーバは、第2認識結果を、顔画像に対応する顔認識結果として決定してもよい。これに応じて、サーバは、第2信頼度を、顔認識結果に対応する信頼度として決定してもよい。
【0041】
ここで、第2信頼度が第1信頼度より第1所定閾値だけ大きい場合は、近傍探索アルゴリズムによって決定された第2認識結果が、平均探索アルゴリズムによって決定された第1認識結果よりも信頼できることを示している。したがって、このような処理により、顔認識の正確率を向上させることができるとともに、認識結果の信頼度を高めることができ、即ち、正しい認識に高信頼度を付与することができ、これにより、顔認識の再現率を向上させることができる。
【0042】
ケース3:第1認識結果と第2認識結果とが異なり、かつ第1信頼度と第2信頼度との差が第2所定閾値より大きい場合、第1認識結果を、顔画像に対応する顔認識結果として決定し、第1信頼度を、顔認識結果に対応する信頼度として決定する。
【0043】
実施において、サーバには、第2所定閾値が予め記憶されてもよい。ここで、第1所定閾値及び第2所定閾値は、同じであってもよく、異なってもよい。第1認識結果と第2認識結果とが異なり、かつ第1信頼度と第2信頼度との差が第2所定閾値より大きい場合、サーバは、第1認識結果を、顔画像に対応する顔認識結果及び信頼度として決定してもよい。これに応じて、第1信頼度を、顔認識結果に対応する信頼度として決定してもよい
【0044】
ここで、第2信頼度が第1信頼度より第2所定閾値だけ低い場合は、平均探索アルゴリズムによって決定された第1認識結果が、近傍探索アルゴリズムによって決定された第2認識結果よりも信頼できることを示している。したがって、このような処理により、顔認識の正確率を向上させることができるとともに、認識結果の信頼度を高めることができ、即ち、正しい認識に高信頼度を付与することができ、これにより、顔認識の再現率を向上させることができる。
【0045】
ケース4:第1認識結果と第2認識結果とが異なり、かつ第2信頼度と第1信頼度との差が第1所定閾値未満であり、かつ、第1信頼度と第2信頼度との差が第2所定閾値未満である場合、第1認識結果を顔画像に対応する顔認識結果として決定し、第1信頼度と第2信頼度のうちの最小の信頼度を顔認識結果に対応する信頼度として決定する。
【0046】
実施において、第1認識結果と第2認識結果とが異なり、かつ第2信頼度と第1信頼度との差が第1所定閾値未満であり、かつ、第1信頼度と第2信頼度との差が第2所定閾値未満である場合、サーバは、第1認識結果を、顔画像に対応する顔認識結果として決定してもよい。これに応じて、サーバは、第1信頼度及び第2信頼度のうちの最小信頼度を、顔画像に対応する信頼度として決定してもよい。
【0047】
ここで、平均探索アルゴリズムによって決定された認識結果の正確性は、近傍探索アルゴリズムによって決定された認識結果の正確性より高いことがよくある。第1認識結果と第2認識結果とが異なる場合は、今回正しく認識される確率が比較的低いことを示している。したがって、このような処理は、今回の顔認識の状況を正しく反映できる。
【0048】
ケース5:第1認識結果と、第1認識結果に対応する第1信頼度と、第2認識結果と、第2認識結果に対応する信頼度とを、事前訓練された顔認識モデルに入力することにより、顔画像に対応する顔認識結果と、顔認識結果に対応する信頼度とを取得する。
【0049】
実施において、サーバには、サンプル顔画像に基づいて訓練された顔認識モデルが予め記憶されてもよい。ここで、顔認識モデルへの入力は、平均探索アルゴリズムによって決定された顔認識結果及びそれに対応する信頼度と、近傍探索アルゴリズムによって決定された顔認識結果及びそれに対応する信頼度とであってもよい。ここで、顔認識モデルは、意思決定モデル、ニューラルネットワークモデルなどであってもよい。サーバは、第1認識結果と、第1認識結果に対応する第1信頼度と、第2認識結果と、第2認識結果に対応する第2信頼度とを決定した後、第1認識結果と、第1信頼度と、第2認識結果と、第2信頼度とを、事前訓練された顔認識モデルに入力することにより、顔認識モデルからの出力を取得してもよい。これにより、顔画像に対応する顔認識結果、及びそれに対応する信頼度を取得することができる。
【0050】
ここで、サーバは、上記の複数のケース1〜の任意のケースを組み合わせた処理をサポートできる。
【0051】
各実施例では、顔認識モデルの訓練過程は、以下のようにしてもよい。各訓練顔画像に対応する特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する平均ベクトルとの距離を計算することにより、第1距離集合を取得する。第1距離集合の中の最小距離に対応する顔識別子を、各訓練顔画像に対応する第1認識結果として決定する。第1距離集合の中の、前記第1認識結果に対応する最小距離に基づいて、第1認識結果に対応する第1信頼度を決定する。各訓練顔画像に対応する特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する各特徴ベクトルとの距離を計算することにより、第2距離集合を取得する。第2距離集合の中の、所定の選択条件を満たす目標距離に対応する顔識別子を決定する。各目標距離に対応する顔識別子の中から、出現回数が最も多い目標顔識別子を、各訓練顔画像に対応する第2認識結果として決定する。第2距離集合の中の、第2認識結果に対応する最小距離に基づいて、第2認識結果に対応する第2信頼度を決定する。各訓練顔画像に対応する第1認識結果と、第1信頼度と、第2認識結果と、第2信頼度とを顔認識モデルに入力することにより、各訓練顔画像に対応する認識結果及び信頼度を取得する。取得された、各訓練顔画像に対応する顔認識結果及び信頼度と、予め設定された、各訓練顔画像に対応する顔認識結果及び信頼度とに基づいて、顔認識モデルのモデルパラメータを調整することにより、訓練された顔認識モデルを取得する。
【0052】
実施において、サーバには、大量の顔識別子に対応する訓練顔画像が予め記憶されてもよい。ここで、直接取得されたある顔識別子に対応する元の顔画像の数が少ない場合、サーバは、直接取得された元の顔画像に対して画像水増し処理を行うことにより、複数のサンプル顔画像を取得してもよい(この場合、該顔識別子に対応する訓練顔画像は、元の顔画像と、画像水増しによって取得された訓練顔画像とを含む)。各訓練顔画像ごとに、サーバは、ディープネットワークによって該訓練顔画像の特徴ベクトルを抽出してもよく、さらに、各訓練顔画像に対応する特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する平均ベクトルとの距離を計算することにより、第1距離集合を取得してもよい。第1距離集合の中の最小距離に対応する顔識別子を、各訓練顔画像に対応する第1認識結果として決定する。これに応じて、サーバは、第1距離集合の中の、第1認識結果に対応する最小距離を取得してもよい。さらに、最小距離に基づいて、第1認識結果に対応する第1信頼度を決定してもよい。
【0053】
第1認識結果及び第1信頼度に加えて、サーバは、第2認識結果及びそれに対応する第2信頼度も決定してもよい。例えば、各訓練顔画像に対応する特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する各特徴ベクトルとの距離を計算することにより、第2距離集合を取得してもよい。第2距離集合の中の、所定の選択条件を満たす目標距離に対応する顔識別子を決定する。さらに、各目標距離に対応する顔識別子の中から、出現回数が最も多い目標顔識別子を、各訓練顔画像に対応する第2認識結果として決定してもよい。これに応じて、サーバは、第2距離集合の中の、第2認識結果に対応する最小距離を取得してもよい。さらに、最小距離に基づいて、第2認識結果に対応する第2信頼度を決定してもよい。
【0054】
各訓練顔画像に対応する第1認識結果と、第1信頼度と、第2認識結果と、第2信頼度とを決定した後、サーバは、訓練顔画像に対応する第1認識結果と、第1信頼度と、第2認識結果と、第2信頼度とを顔認識モデルに入力することにより、各訓練顔画像に対応する顔認識結果及び信頼度を取得してもよい。ここで、顔認識モデルにより取得された顔認識結果及び信頼度には、顔認識モデルのモデルパラメータが含まれる。
【0055】
各訓練顔画像に対応する顔認識結果及び信頼度を取得した後、取得された顔認識結果を、予め設定された、訓練顔画像に対応する顔認識結果に近くし、取得された信頼度を、予め設定された、訓練顔画像に対応する信頼度に近くする訓練原則(例えば、両者間の差を目的関数として決定し、さらに、目的関数の最小値を計算する方法によって、顔認識モデルを訓練する)に基づいて、顔認識モデルを訓練し、即ち、顔認識モデルのモデルパラメータを調整することにより(ここで、勾配降下法によって顔認識モデルを訓練してもよい)、訓練された顔認識モデルを取得してもよい。ここで、予め設定された、訓練顔画像に対応する顔認識結果は、訓練顔画像に実際に対応する顔認識結果であってもよい。各訓練顔画像ごとに、該訓練顔画像に対応する第1認識結果及び/又は第2認識結果が、該訓練顔画像に実際に対応する顔識別子と同じである場合、該訓練顔画像に対応する信頼度を高く設定してもよく、該訓練顔画像に対応する第1認識結果及び/又は第2認識結果が、該訓練顔画像に実際に対応する顔識別子と異なる場合、該訓練顔画像に対応する信頼度を低く設定してもよい。
【0056】
本願の構成では、平均探索アルゴリズムによって決定された顔認識結果と、近傍探索アルゴリズムによって決定された顔認識結果とを融合することにより、顔認識の正確率を向上させることができ、上記の2つのアルゴリズムによって決定された信頼度を融合することにより、正しい認識に高信頼度を付与することができ、これにより、顔認識の再現率を向上させることができる。
【0057】
いくつかの実施例では、本願の構成は、多数のシナリオに適用でき、使用範囲が広く、SIPPシナリオに適用できるし、融合シナリオにも適用できる(融合シナリオとは、データベースにおいて、一部の顔識別子が1つのサンプル顔画像に対応し、一部の顔識別子が複数のサンプル顔画像に対応するシナリオである)。
【0058】
いくつかの実施例では、顔認識モデルによって、顔画像に対応する顔認識結果を決定する場合について、本願の実施例は、図3に示されるフローをさらに提供している。
ステップ301で、認識対象の顔画像を取得し、顔画像に対応する少なくとも1つの目標特徴ベクトルを抽出する。
【0059】
ステップ302で、各目標特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する平均ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第1距離集合を取得し、各第1距離集合のそれぞれの中の最小距離に対応する顔識別子を決定し、各第1距離集合のそれぞれの中の最小距離に対応する顔識別子の中から、出現回数が最も多い顔識別子を、顔画像に対応する第1認識結果として決定し、各第1距離集合の中で第1認識結果に対応する最小距離に基づいて、第1認識結果に対応する第1信頼度を決定する。
【0060】
ステップ303で、各目標特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する各特徴ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第2距離集合を取得し、各第2距離集合のそれぞれの中の、所定の選択条件を満たす目標距離に対応する顔識別子を決定し、各第2距離集合のそれぞれの中の各目標距離に対応する顔識別子の中から、出現回数が最も多い目標顔識別子を決定し、各目標顔識別子の中から、出現回数が最も多い目標顔識別子を、顔画像に対応する第2認識結果として決定し、各第2距離集合の中で第2認識結果に対応する最小距離に基づいて、第2認識結果に対応する第2信頼度を決定する。
【0061】
ステップ304で、第1認識結果と、第1認識結果に対応する第1信頼度と、第2認識結果と、第2認識結果に対応する信頼度とを、事前訓練された顔認識モデルに入力することにより、顔画像に対応する顔認識結果と、顔認識結果に対応する信頼度とを取得する。
【0062】
実施において、サーバには、サンプル顔画像に基づいて訓練された顔認識モデルが予め記憶されてもよい。実施において、サーバには、サンプル顔画像に基づいて訓練された顔認識モデルが予め記憶されてもよい。ここで、顔認識モデルへの入力は、平均探索アルゴリズムによって決定された顔認識結果及びそれに対応する信頼度と、近傍探索アルゴリズムによって決定された顔認識結果及びそれに対応する信頼度とであってもよい。ここで、顔認識モデルは、意思決定モデル、ニューラルネットワークモデルなどであってもよい。サーバは、第1認識結果と、第1認識結果に対応する第1信頼度と、第2認識結果と、第2認識結果に対応する第2信頼度とを決定した後、第1認識結果と、第1信頼度と、第2認識結果と、第2信頼度とを、事前訓練された顔認識モデルに入力することにより、顔認識モデルからの出力を取得してもよい。これにより、顔画像に対応する顔認識結果、及びそれに対応する信頼度を取得することができる。
【0063】
本願の実施例では、サーバは、認識対象の顔画像を取得した後、顔画像に対応する少なくとも1つの目標特徴ベクトルを抽出することができ、さらに、各目標特徴ベクトルと、各顔識別子に対応する平均ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第1距離集合を取得し、各第1距離集合に基づいて、顔画像に対応する第1認識結果及びそれに対応する第1信頼度を決定することができる。少なくとも1つの目標特徴ベクトルを決定した後、各目標特徴ベクトルと、各顔識別子に対応する各特徴ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第2距離集合を取得することもでき、さらに、各第2距離集合に基づいて、顔画像に対応する第2認識結果及びそれに対応する第2信頼度を決定することができる。第1認識結果及びそれに対応する第1信頼度と、第2認識結果及びそれに対応する第2信頼度とを決定した後、顔画像に対応する顔認識結果及びそれに対応する信頼度を決定することができる。このように、第1認識結果と第2認識結果とを融合することにより、顔画像に対応する顔認識結果を決定することができ、分類器を事前訓練する必要がなくなり、さらに、新しい顔識別子を追加するときに分類器を再訓練することを回避することができ、これにより、顔認識の効率を向上させることができる。
【0064】
同じ技術的構想に基づき、本願の実施例は、図4に示すような顔認識装置をさらに提供している。該装置は、上記サーバであってもよい。該装置は、
認識対象の顔画像を取得し、前記顔画像に対応する少なくとも1つの目標特徴ベクトルを抽出する取得モジュール410と、
各目標特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する平均ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第1距離集合を取得し、各第1距離集合のそれぞれの中の最小距離に対応する顔識別子を決定し、各第1距離集合のそれぞれの中の最小距離に対応する顔識別子の中から、出現回数が最も多い顔識別子を、前記顔画像に対応する第1認識結果として決定し、各第1距離集合の中で前記第1認識結果に対応する最小距離に基づいて、前記第1認識結果に対応する第1信頼度を決定する第1計算モジュール420と、
各目標特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する各特徴ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第2距離集合を取得し、各第2距離集合のそれぞれの中の、所定の選択条件を満たす目標距離に対応する顔識別子を決定し、各第2距離集合のそれぞれの中の各目標距離に対応する顔識別子の中から、出現回数が最も多い目標顔識別子を決定し、各目標顔識別子の中から、出現回数が最も多い目標顔識別子を、前記顔画像に対応する第2認識結果として決定し、各第2距離集合の中で前記第2認識結果に対応する最小距離に基づいて、前記第2認識結果に対応する第2信頼度を決定する第2計算モジュール430と、
前記第1認識結果と、前記第1認識結果に対応する第1信頼度と、前記第2認識結果と、前記第2認識結果に対応する第2信頼度とに基づいて、前記顔画像に対応する顔認識結果と、前記顔認識結果に対応する信頼度とを決定する決定モジュール440と、を備える。
【0065】
各実施例では、前記決定モジュール440は、
前記第1認識結果と前記第2認識結果とが同じである場合、前記第1認識結果又は前記第2認識結果を、前記顔画像に対応する顔認識結果として決定し、前記第1信頼度及び前記第2信頼度のうちの最大信頼度を、前記顔認識結果に対応する信頼度として決定する。
各実施例では、前記決定モジュール440は、
前記第1認識結果と前記第2認識結果とが異なり、かつ前記第2信頼度と前記第1信頼度との差が第1所定閾値より大きい場合、前記第2認識結果を、前記顔画像に対応する顔認識結果として決定し、前記第2信頼度を、前記顔認識結果に対応する信頼度として決定する。
【0066】
各実施例では、前記決定モジュール440は、
前記第1認識結果と前記第2認識結果とが異なり、かつ前記第1信頼度と前記第2信頼度との差が第2所定閾値より大きい場合、前記第1認識結果を、前記顔画像に対応する顔認識結果として決定し、前記第1信頼度を、前記顔認識結果に対応する信頼度として決定する。
【0067】
各実施例では、前記決定モジュール440は、
前記第1認識結果と前記第2認識結果とが異なり、かつ前記第2信頼度と前記第1信頼度との差が第1所定閾値未満であり、かつ、前記第1信頼度と前記第2信頼度との差が第2所定閾値未満である場合、前記第1認識結果を、前記顔画像に対応する顔認識結果として決定し、前記第1信頼度及び前記第2信頼度のうちの最小信頼度を、前記顔認識結果に対応する信頼度として決定する。
【0068】
各実施例では、前記決定モジュール440は、
前記第1認識結果と、前記第1認識結果に対応する第1信頼度と、前記第2認識結果と、前記第2認識結果に対応する第2信頼度とを、事前訓練された顔認識モデルに入力することにより、前記顔画像に対応する顔認識結果と、前記顔認識結果に対応する信頼度とを取得する。
【0069】
各実施例では、図5に示すように、前記装置は、
各訓練顔画像に対応する特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する平均ベクトルとの距離を計算することにより、第1距離集合を取得し、第1距離集合の中の最小距離に対応する顔識別子を、各訓練顔画像に対応する第1認識結果として決定し、第1距離集合の中の、前記第1認識結果に対応する最小距離に基づいて、第1認識結果に対応する第1信頼度を決定する第3計算モジュール450と、
各訓練顔画像に対応する特徴ベクトルと、データベースに予め記憶されている各顔識別子に対応する各特徴ベクトルとの距離を計算することにより、第2距離集合を取得し、第2距離集合の中の、所定の選択条件を満たす目標距離に対応する顔識別子を決定し、各目標距離に対応する顔識別子の中から、出現回数が最も多い目標顔識別子を、各訓練顔画像に対応する第2認識結果として決定し、第2距離集合の中の、第2認識結果に対応する最小距離に基づいて、第2認識結果に対応する第2信頼度を決定する第4計算モジュール460と、
各訓練顔画像に対応する第1認識結果と、第1信頼度と、第2認識結果と、第2信頼度とを、顔認識モデルに入力することにより、各訓練顔画像に対応する顔認識結果及び信頼度を取得する入力モジュール470と、
取得された、各訓練顔画像に対応する顔認識結果及び信頼度と、予め設定された、各訓練顔画像に対応する顔認識結果及び信頼度とに基づいて、前記顔認識モデルのモデルパラメータを調整することにより、訓練された顔認識モデルを取得する訓練モジュール480と、をさらに備える。
【0070】
本願の実施例では、サーバは、認識対象の顔画像を取得した後、顔画像に対応する少なくとも1つの目標特徴ベクトルを抽出することができ、さらに、各目標特徴ベクトルと、各顔識別子に対応する平均ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第1距離集合を取得し、各第1距離集合に基づいて、顔画像に対応する第1認識結果及びそれに対応する第1信頼度を決定することができる。少なくとも1つの目標特徴ベクトルを決定した後、各目標特徴ベクトルと、各顔識別子に対応する各特徴ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第2距離集合を取得することもでき、さらに、各第2距離集合に基づいて、顔画像に対応する第2認識結果及びそれに対応する第2信頼度を決定することができる。第1認識結果及びそれに対応する第1信頼度と、第2認識結果及びそれに対応する第2信頼度とを決定した後、顔画像に対応する顔認識結果及びそれに対応する信頼度を決定することができる。このように、第1認識結果と第2認識結果とを融合することにより、顔画像に対応する顔認識結果を決定することができ、分類器を事前訓練する必要がなくなり、さらに、新しい顔識別子を追加するときに分類器を再訓練することを回避することができ、これにより、顔認識の効率を向上させることができる。
【0071】
説明すべきものとして、上記実施例で提供された顔認識装置について、上記の各機能モジュールの分割のみを例にして顔認識を説明しているが、実際の適用では、必要に応じて、上記の機能を、異なる機能モジュールによって完了するように割り当て、即ち、上記の機能の全部又は一部を完了するために、サーバの内部構成を異なる機能モジュールに分割してもよい。いくつかの実施例では、上記実施例で提供された顔認識装置は、顔認識方法の実施例とは同じ構想に属し、その具体的な実現過程の詳細については、方法の実施例を参照すればよく、ここでは説明を省略する。
【0072】
図6は、本願の実施例で提供されたコンピューティングデバイスの構成の模式図である。このコンピューティングデバイス600は、配置や性能の相違により大きく異なる場合があり、1つ又は複数のプロセッサ(CPU:central processing units)601と、1つ又は複数のメモリ602とを備えてもよい。ここで、前記メモリ602には、少なくとも1つの命令が記憶されており、前記少なくとも1つの命令は、前記プロセッサ601によりロードされて実行されることで、前記顔認識方法を実現する。
【0073】
例示的な実施例では、非一時的なコンピュータ読み取り可能な記憶媒体をさらに提供している。前記記憶媒体には、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶されており、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット又は命令セットは、プロセッサによりロードされて実行されることで、前記顔認識方法を実現する。
【0074】
本願の実施例では、サーバは、認識対象の顔画像を取得した後、顔画像に対応する少なくとも1つの目標特徴ベクトルを抽出することができ、さらに、各目標特徴ベクトルと、各顔識別子に対応する平均ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第1距離集合を取得し、各第1距離集合に基づいて、顔画像に対応する第1認識結果及びそれに対応する第1信頼度を決定することができる。少なくとも1つの目標特徴ベクトルを決定した後、各目標特徴ベクトルと、各顔識別子に対応する各特徴ベクトルとの距離を計算することにより、各目標特徴ベクトルに対応する第2距離集合を取得することもでき、さらに、各第2距離集合に基づいて、顔画像に対応する第2認識結果及びそれに対応する第2信頼度を決定することができる。第1認識結果及びそれに対応する第1信頼度と、第2認識結果及びそれに対応する第2信頼度とを決定した後、顔画像に対応する顔認識結果及びそれに対応する信頼度を決定することができる。このように、第1認識結果と第2認識結果とを融合することにより、顔画像に対応する顔認識結果を決定することができ、分類器を事前訓練する必要がなくなり、さらに、新しい顔識別子を追加するときに分類器を再訓練することを回避することができ、これにより、顔認識の効率を向上させることができる。
【0075】
当業者であれば理解できるように、上記実施例を実現するためのステップの全部又は一部は、ハードウェアによって実行されてもよいし、プログラムによって関連ハードウェアに指示することにより実行されてもよい。前記プログラムは、コンピュータ読み取り可能な記憶媒体に記憶されてもよい。上記で言及された記憶媒体は、読み出し専用メモリ、磁気ディスク、又は光ディスクなどであってもよい。
上記のように、特許請求の範囲は、上記の例で説明された実施形態に限定されるべきではなく、明細書を全体として最も広く解釈すべきである。
【符号の説明】
【0076】
410 取得モジュール
420 第1計算モジュール
430 第2計算モジュール
440 決定モジュール
450 第3計算モジュール
460 第4計算モジュール
470 入力モジュール
480 訓練モジュール
600 コンピューティングデバイス
601 プロセッサ
602 メモリ
図1(a)】
図1(b)】
図2(a)】
図2(b)】
図3
図4
図5
図6