(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023117849
(43)【公開日】2023-08-24
(54)【発明の名称】顔認識装置、顔認識方法、顔認識プログラム、顔画像変換装置、顔画像変換方法、顔画像変換プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230817BHJP
【FI】
G06T7/00 660A
G06T7/00 350C
【審査請求】未請求
【請求項の数】22
【出願形態】OL
(21)【出願番号】P 2022020634
(22)【出願日】2022-02-14
(71)【出願人】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】林 隆介
(72)【発明者】
【氏名】中村 大樹
(72)【発明者】
【氏名】宍倉 基文
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA18
5L096DA01
5L096DA02
5L096FA26
5L096FA38
5L096FA66
5L096HA01
5L096HA11
5L096JA05
5L096JA11
5L096KA04
5L096MA07
(57)【要約】 (修正有)
【課題】顔認識において、データ収集のコスト低減、推定結果からのバイアスの除去及び撮影条件に依存しないロバストな推定を実現する技術を提供する。
【解決手段】顔認識装置1は、第1の顔画像群101及び第2の顔画像群102を、夫々第1の潜在変数ベクトル及び第2の潜在変数ベクトルに変換する潜在変数ベクトル変換部10と、潜在変数ベクトルを、夫々第1のデータセット及び第2のデータセットにマッピングするマッピング部20と、これらのデータセットを次元圧縮して、夫々が密に分布している第1のクラスタ領域群及び第2のクラスタ領域群を抽出し、これらのクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出するアンカーポイント抽出部30と、アンカーポイントとして抽出された対応関係を利用して第1の潜在変数ベクトルから第2の潜在変数ベクトルへの写像を学習する写像学習部40と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
顔の特性を表すラベル情報が付与されていない第1の顔画像群を、顔の特性を表すラベル情報が付与された第2の顔画像群に対応付けることにより、前記第1の顔画像群の顔の特性を認識する顔認識装置であって、
前記第1の顔画像群および前記第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換する潜在変数ベクトル変換部と、
前記第1の潜在変数ベクトルおよび前記第2の潜在変数ベクトルを、それぞれ第1のデータセットおよび第2のデータセットにマッピングするマッピング部と、
前記第1のデータセットおよび前記第2のデータセットを次元圧縮して、前記第1のデータセットおよび前記第2のデータセットがそれぞれ密に分布している第1のクラスタ領域群および第2のクラスタ領域群を抽出し、前記第1のクラスタ領域群と前記第2のクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出するアンカーポイント抽出部と、
前記アンカーポイントとして抽出された対応関係を利用して前記第1の潜在変数ベクトル(ないしデータセット)から前記第2の潜在変数ベクトル(ないしデータセット)への写像を学習する写像学習部と、を備える顔認識装置。
【請求項2】
前記マッピング部は、超球面上でマッピングを行うことを特徴とする請求項1に記載の顔認識装置。
【請求項3】
前記潜在変数ベクトル変換部は、教師なし学習に基づくニューラルネットワークを用いて、顔画像群を潜在変数ベクトルに変換することを特徴とする請求項1または2に記載の顔認識装置。
【請求項4】
前記教師なし学習に基づくニューラルネットワークは、敵対的生成ネットワークであることを特徴とする請求項3に記載の顔認識装置。
【請求項5】
前記マッピング部は、instance learningまたはcontrastive learningを用いてマッピングを行うことを特徴とする請求項2から4のいずれかに記載の顔認識装置。
【請求項6】
前記マッピング部は、歪度が最大となるように温度パラメータを設定してマッピングを行うことを特徴とする請求項5に記載の顔認識装置。
【請求項7】
前記アンカーポイント抽出部は、次元圧縮後の空間内で特定のサンプルデータと、他のサンプルデータとの間の距離を計算し、所定の閾値以内の距離に分布するサンプルデータが、所定の閾値以上の個数存在する場合、これらのサンプルデータ集合をクラスタと判定することを特徴とする請求項1から6のいずれかに記載の顔認識装置。
【請求項8】
前記第1のクラスタ領域群と前記第2のクラスタ領域群との距離は、重心間のユークリッド距離またはKullback-Leibler距離であることを特徴とする請求項1から7のいずれかに記載の顔認識装置。
【請求項9】
前記写像学習部が学習する写像は、線形写像であることを特徴とする請求項1から8のいずれかに記載の顔認識装置。
【請求項10】
前記写像学習部は、前記アンカーポイントの潜在変数が一致するような行列変換を学習することを特徴とする請求項9に記載の顔認識装置。
【請求項11】
前記写像学習部が学習する写像は、ニューラルネットワークによる非線形な写像であることを特徴とする請求項1から8のいずれかに記載の顔認識装置。
【請求項12】
前記写像学習部は、アンカーポイント同士が一致するように損失関数を設定し、前記第1の潜在変数ベクトル(ないしデータセット)から写像された分布が前記第2の潜在変数ベクトル(ないしデータセット)の分布と一致するようにMMD(Maximum Mean Discrepancy)または敵対的生成ネットワークで用いられるDiscriminator lossを設定することを特徴とする請求項11に記載の顔認識装置。
【請求項13】
顔の特性を表すラベル情報が付与されていない第1の顔画像群を、顔の特性を表すラベル情報が付与された第2の顔画像群に対応付けることにより、前記第1の顔画像群の顔の特性を認識する方法であって、
前記第1の顔画像群および前記第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換するステップと、
前記第1の潜在変数ベクトルおよび前記第2の潜在変数ベクトルを、それぞれ第1のデータセットおよび第2のデータセットにマッピングするステップと、
前記第1のデータセットおよび前記第2のデータセットを次元圧縮して、前記第1のデータセットおよび前記第2のデータセットがそれぞれ密に分布している第1のクラスタ領域群および第2のクラスタ領域群を抽出し、前記第1のクラスタ領域群と前記第2のクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出するステップと、
前記アンカーポイントとして抽出された対応関係を利用して前記第1の潜在変数ベクトル(ないしデータセット)から前記第2の潜在変数ベクトル(ないしデータセット)への写像を学習するステップと、を含む顔認識方法。
【請求項14】
前記マッピングするステップは、超球面上でマッピングを行うことを特徴とする請求項13に記載の顔認識方法。
【請求項15】
顔の特性を表すラベル情報が付与されていない第1の顔画像群を、顔の特性を表すラベル情報が付与された第2の顔画像群に対応付けることにより、前記第1の顔画像群の顔の特性を認識するためのプログラムであって、
前記第1の顔画像群および前記第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換するステップと、
前記第1の潜在変数ベクトルおよび前記第2の潜在変数ベクトルを、それぞれ第1のデータセットおよび第2のデータセットにマッピングするステップと、
前記第1のデータセットおよび前記第2のデータセットを次元圧縮して、前記第1のデータセットおよび前記第2のデータセットがそれぞれ密に分布している第1のクラスタ領域群および第2のクラスタ領域群を抽出し、前記第1のクラスタ領域群と前記第2のクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出するステップと、
前記アンカーポイントとして抽出された対応関係を利用して前記第1の潜在変数ベクトル(ないしデータセット)から前記第2の潜在変数ベクトル(ないしデータセット)への写像を学習するステップと、をコンピュータに実行させる顔認識プログラム。
【請求項16】
前記マッピングするステップは、超球面上でマッピングを行うことを特徴とする請求項15に記載の顔認識プログラム。
【請求項17】
請求項1から12のいずれかに記載の顔認識装置と、前記第1の顔画像群の人物の顔画像を、前記第2の顔画像群の人物の顔画像に変換する顔画像変換部と、を備える顔画像変換装置。
【請求項18】
変換した顔画像を表示する表示部をさらに備える、請求項17に記載の顔画像変換装置。
【請求項19】
第1の顔画像群を、第2の顔画像群に対応付けることにより、前記第1の顔画像群の人物の顔画像を、前記第2の顔画像群の人物の顔画像に変換する方法であって、
前記第1の顔画像群および前記第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換するステップと、
前記第1の潜在変数ベクトルおよび前記第2の潜在変数ベクトルを、それぞれ第1のデータセットおよび第2のデータセットにマッピングするステップと、
前記第1のデータセットおよび前記第2のデータセットを次元圧縮して、前記第1のデータセットおよび前記第2のデータセットがそれぞれ密に分布している第1のクラスタ領域群および第2のクラスタ領域群を抽出し、前記第1のクラスタ領域群と前記第2のクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出するステップと、
前記アンカーポイントとして抽出された対応関係を利用して前記第1の潜在変数ベクトル(ないしデータセット)から前記第2の潜在変数ベクトル(ないしデータセット)への写像を学習するステップと、
前記第1の顔画像群の人物の顔画像を、前記第2の顔画像群の人物の顔画像に変換するステップと、を含む顔画像変換方法。
【請求項20】
前記マッピングするステップは、超球面上でマッピングを行うことを特徴とする請求項19に記載の顔画像変換方法。
【請求項21】
第1の顔画像群を、第2の顔画像群に対応付けることにより、前記第1の顔画像群の人物の顔画像を、前記第2の顔画像群の人物の顔画像に変換するためのプログラムであって、
前記第1の顔画像群および前記第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換するステップと、
前記第1の潜在変数ベクトルおよび前記第2の潜在変数ベクトルを、それぞれ第1のデータセットおよび第2のデータセットにマッピングするステップと、
前記第1のデータセットおよび前記第2のデータセットを次元圧縮して、前記第1のデータセットおよび前記第2のデータセットがそれぞれ密に分布している第1のクラスタ領域群および第2のクラスタ領域群を抽出し、前記第1のクラスタ領域群と前記第2のクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出するステップと、
前記アンカーポイントとして抽出された対応関係を利用して前記第1の潜在変数ベクトル(ないしデータセット)から前記第2の潜在変数ベクトル(ないしデータセット)への写像を学習するステップと、
前記第1の顔画像群の人物の顔画像を、前記第2の顔画像群の人物の顔画像に変換するステップと、をコンピュータに実行させる顔画像変換プログラム。
【請求項22】
前記マッピングするステップは、超球面上でマッピングを行うことを特徴とする請求項21に記載の顔画像変換プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、顔認識装置、顔認識方法、顔認識プログラム、顔画像変換装置、顔画像変換方法、顔画像変換プログラムに関する。
【背景技術】
【0002】
個人の顔画像から、その人の表情を推定したり分類したりするための顔認識技術が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【非特許文献1】Tero Karras, Samuli Laine, Timo Aila, “A Style-Based Generator Architecture for Generative Adversarial Networks”, IEEE Conference on Computer Vision and Pattern Recognition, pp.4401-4410 (2019).
【非特許文献2】Omer Tov, Yuval Alaluf, Yotam Nitzan, Or Patashnik, Daniel Cohen-Or, “Designing an encoder for StyleGAN image manipulation”, ACM Transactions on GraphicsVolume, 40Issue, 4 August 2021, Article No. 133pp.1-14 (2021)
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1のような従来の顔認識技術は、顔画像群と表情分類結果などのラベル情報群との対応関係を、ニューラルネットワークなどのAI技術によって解くことで実現している。しかしAIの学習では、対となる画像とラベルとを大量に収集する必要がある。この場合、特にラベル情報の収集には膨大なコストと人的労力がかかる。また、画像およびラベルの収集方法に偏りがあると、学習したデータと異なる人種、性別、年齢の顔画像に対して、誤った認識結果が得られる可能性のあることが指摘されている。例えば、学習の元になるデータの多数を西欧人が占めると、アルゴリズムは、西欧人の画像に対して認識精度が高いが、日本人の顔画像に対しては認識を誤るといったバイアスが生じる可能性がある。こうしたバイアスは「AIの偏見」として、社会的にも問題となっている。さらに、顔画像が撮影される環境は一般に一様ではない。例えば照明条件が変わると、同じ人物の顔であっても、画像データとしては大きく異なることがある。こうしたことから、撮影条件の違いに依存することなく、顔画像から表情推定・分類をロバストに実現できる画像認識技術が求められる。
【0006】
本発明はこうした状況に鑑みてなされたものであり、その目的は、顔認識において、データ収集のコスト低減、推定結果からのバイアスの除去、および撮影条件に依存しないロバストな推定を実現することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のある態様(第1の実施の形態)の顔認識装置は、顔にあらわれる特性(感情の他、睡眠・覚醒状態やモチベーションの指標、各種生理指標等を含む。以下、「顔の特性」と総称する)に関する情報が付与されていない第1の顔画像群を、顔の特性を表すラベル情報が付与された第2の顔画像群に対応付けることにより、第1の顔画像群の顔の特性を認識する顔認識装置であって、第1の顔画像群および第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換する潜在変数ベクトル変換部と、第1の潜在変数ベクトルおよび第2の潜在変数ベクトルを、それぞれ第1のデータセットおよび第2のデータセットにマッピングするマッピング部と、第1のデータセットおよび第2のデータセットを次元圧縮して、第1のデータセットおよび第2のデータセットがそれぞれ密に分布している第1のクラスタ領域群および第2のクラスタ領域群を抽出し、第1のクラスタ領域群と第2のクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出するアンカーポイント抽出部と、アンカーポイントを用いて第1の潜在変数ベクトルから第2の潜在変数ベクトルへの写像を学習する写像学習部と、を備える。
【0008】
本発明の別の態様(第2の実施の形態)は、顔の特性を表すラベル情報が付与されていない第1の顔画像群を、顔の特性を表すラベル情報が付与された第2の顔画像群に対応付けることにより、第1の顔画像群の顔の特性を認識する顔認識方法である。この方法は、第1の顔画像群および第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換するステップと、第1の潜在変数ベクトルおよび第2の潜在変数ベクトルを、それぞれ第1のデータセットおよび第2のデータセットにマッピングするステップと、第1のデータセットおよび第2のデータセットを次元圧縮して、第1のデータセットおよび第2のデータセットがそれぞれ密に分布している第1のクラスタ領域群および第2のクラスタ領域群を抽出し、第1のクラスタ領域群と第2のクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出するステップと、アンカーポイントとして抽出された対応関係を用いて第1の潜在変数ベクトルから第2の潜在変数ベクトルへの写像を学習するステップと、を含む。
【0009】
本発明のさらに別の態様(第3の実施の形態)は、顔の特性を表すラベル情報が付与されていない第1の顔画像群を、顔の特性を表すラベル情報が付与された第2の顔画像群に対応付けることにより、第1の顔画像群の顔の特性を認識するための顔認識プログラムである。このプログラムは、第1の顔画像群および第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換するステップと、第1の潜在変数ベクトルおよび第2の潜在変数ベクトルを、それぞれ第1のデータセットおよび第2のデータセットにマッピングするステップと、第1のデータセットおよび第2のデータセットを次元圧縮して、第1のデータセットおよび第2のデータセットがそれぞれ密に分布している第1のクラスタ領域群および第2のクラスタ領域群を抽出し、第1のクラスタ領域群と第2のクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出するステップと、アンカーポイントとして抽出された対応関係を用いて第1の潜在変数ベクトルから第2の潜在変数ベクトルへの写像を学習するステップと、をコンピュータに実行させる。
【0010】
本発明のさらに別の態様(第4の実施の形態)は、顔画像変換装置である。この装置は、前述の顔認識装置と、第1の顔画像群の人物の顔画像を、第2の顔画像群の人物の顔画像に変換する顔画像変換部と、を備える。
【0011】
本発明のさらに別の態様(第5の実施の形態)もまた、顔画像変換装置である。この装置は、前述の顔認識装置と、第1の顔画像群の人物の顔画像を、第2の顔画像群の人物の顔画像に変換する顔画像変換部と、表示部と、を備える。
【0012】
本発明のさらに別の態様(第6の実施の形態)は、第1の顔画像群を、第2の顔画像群に対応付けることにより、第1の顔画像群の人物の顔画像を、第2の顔画像群の人物の顔画像に変換する顔画像変換方法である。この方法は、第1の顔画像群および第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換するステップと、第1の潜在変数ベクトルおよび第2の潜在変数ベクトルを、それぞれ第1のデータセットおよび第2のデータセットにマッピングするステップと、第1のデータセットおよび第2のデータセットを次元圧縮して、第1のデータセットおよび第2のデータセットがそれぞれ密に分布している第1のクラスタ領域群および第2のクラスタ領域群を抽出し、第1のクラスタ領域群と第2のクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出するステップと、アンカーポイントとして抽出された対応関係を用いて第1の潜在変数ベクトルから第2の潜在変数ベクトルへの写像を学習するステップと、第1の顔画像群の人物の顔画像を、第2の顔画像群の人物の顔画像に変換するステップと、を含む。
【0013】
本発明のさらに別の態様(第7の実施の形態)は、第1の顔画像群を、第2の顔画像群に対応付けることにより、第1の顔画像群の人物の顔画像を、第2の顔画像群の人物の顔画像に変換するための顔画像変換プログラムである。このプログラムは、第1の顔画像群および第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換するステップと、第1の潜在変数ベクトルおよび第2の潜在変数ベクトルを、それぞれ第1のデータセットおよび第2のデータセットにマッピングするステップと、第1のデータセットおよび第2のデータセットを次元圧縮して、第1のデータセットおよび第2のデータセットがそれぞれ密に分布している第1のクラスタ領域群および第2のクラスタ領域群を抽出し、第1のクラスタ領域群と第2のクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出するステップと、アンカーポイントとして抽出された対応関係を用いて第1の潜在変数ベクトルから第2の潜在変数ベクトルへの写像を学習するステップと、第1の顔画像群の人物の顔画像を、第2の顔画像群の人物の顔画像に変換するステップと、をコンピュータに実行させる。
【0014】
なお、以上の構成要素の任意の組合せ、本発明の表現を装置、方法、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0015】
本発明は、任意の顔画像のペア間で対応関係を学習し、一方の顔画像を他方の顔画像に変換して、表情等の顔特性を認識する。このため、顔認識において、データ収集のコスト低減、推定結果からのバイアスの除去、および撮影条件に依存しないロバストな推定を実現することができる。また、本発明技術は、顔画像の編集・変換を実現することができるため、表示部を備えた装置により、仮想空間で表示するアバターとして利用できる他、ロボットやヒトの顔に実際に映像をプロジェクションすることで、遠隔地にいる人物とのコミュニケーションや、エンターテイメント等に応用することもできる。
【図面の簡単な説明】
【0016】
【
図1】第1の実施の形態に係る顔認識装置の機能ブロック図である。
【
図2】マッピング部によって超球面上にマッピングされた第1のデータセットおよび第2のデータセットを示す模式図である。
【
図3】ニューラルネットワークによる非線形写像の学習を用いた写像学習を示す模式図である。
【
図4】第2および第3の実施の形態に係る顔認識方法および顔認識プログラムの処理手順を示すフローチャートである。
【
図5】第4の実施の形態に係る顔画像変換装置の機能ブロック図である。
【
図6】第5の実施の形態に係る顔画像変換装置の機能ブロック図である。
【
図7】第6および第7の実施の形態に係る顔画像変換方法および顔画像変換プログラムの処理手順を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明を好適な実施の形態をもとに各図面を参照しながら説明する。実施の形態及び変形例では、同一又は同等の構成要素、部材には同一の符号を付すものとし、適宜重複した説明は省略する。また、各図面における部材の寸法は、理解を容易にするために適宜拡大、縮小して示す。また、各図面において実施の形態を説明する上で重要でない部材の一部は省略して表示する。また、第1、第2などの序数を含む用語が多様な構成要素を説明するために用いられるが、こうした用語は一つの構成要素を他の構成要素から区別する目的でのみ用いられ、この用語によって構成要素が限定されるものではない。
【0018】
[第1の実施の形態]
図1は、第1の実施の形態に係る顔認識装置1の機能ブロック図である。顔認識装置1は、潜在変数ベクトル変換部10と、マッピング部20と、アンカーポイント抽出部30と、写像学習部40と、を備える。
【0019】
顔認識装置1には、顔の特性を表すラベル情報が付与されていない第1の顔画像群と、顔の特性を表すラベル情報が付与された第2の顔画像群と、が入力される。ここで「顔の特性」とは、個人の表情にあらわれる感情や、睡眠・覚醒状態、モチベーションの状態の他、各種生理指標等を含む。すなわち顔の特性は、顔の状態変化を通し、個人のその時々の感情、認知、内面、身体などの状態を表すものと考えられる。ラベル情報は、こうした個人の顔の特性を計測したデータベースとして作成される。本実施の形態では、上記のように、第1の顔画像の持ち主については表情等の顔の特性に関するデータベースが作成されておらず、第2の顔画像の持ち主については表情等の顔の特性に関するデータベースが作成されていることを前提とする。
【0020】
潜在変数ベクトル変換部10は、顔認識装置1に入力された第1の顔画像群および第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換する。「潜在変数ベクトル」は、敵対的生成ネットワーク(Generative Adversarial Networks、以下「GAN」とも呼ぶ)などにおいて画像を生成するために使われる変数であり、n次元のベクトルデータである。潜在変数ベクトルは、生成モデルが画像を生成するための元となるが、画像データそのものではなく、顔の特徴を記述するのに適したデータである。
【0021】
GANは、互いに競合する2つのニューラルネットワークモデル(この場合、敵対的生成ネットワーク)を用いて、事前に用意した画像などの訓練データと類似したデータを、潜在変数ベクトルを元に生成できるように学習を行う。これによりGANは、実際には存在しないデータを生成したり、存在するデータの特徴に沿って変換を行ったりするための画像生成モデルを構成する。GANは、正解データを与えることなく学習する「教師なし学習」の手法を用いる点に特徴がある。その学習精度の高さとアーキテクチャの柔軟さから、GANをベースとした応用研究や実用化が進んでいる。
【0022】
このようなGANをベースとした顔画像生成技術の一つに、大規模な顔画像データベースを用いて高精細な画像を生成するStyleGANがある(例えば、非特許文献1参照)。StyleGANは、学習により潜在変数ベクトルから顔画像を生成する。StyleGANは、多段の階層をもつニューラルネットワークによって構成され、潜在変数ベクトルを分割し、各層に入力することで画像を生成する。学習後の潜在変数ベクトルは、顔画像情報の効率のよい表現形式となっているため、本実施の形態に好適であると考えられる。一例として、Encoder4editingという符号化技術を使うことにより、任意の顔画像をStyleGANの潜在変数ベクトルに変換することができる(例えば、非特許文献2参照)。
【0023】
ある実施の形態では、潜在変数ベクトル変換部10は、Encoder4editingを用いて、第1の顔画像群および第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換する。
【0024】
マッピング部20は、第1の潜在変数ベクトルおよび前記第2の潜在変数ベクトルを、それぞれ第1のデータセットおよび第2のデータセットにマッピングする。ある実施の形態では、マッピング部20は、潜在変数ベクトルを多次元超球面上に射影する。マッピング部20は、ニューラルネットワークなどによって実装することができる。例えばマッピング部20は、instance learningやcontrastive learningなどを用いて、類似した顔画像は近くに配置し、異なる顔画像は遠くに配置するようなマッピングを学習することで、射影を実現する。この学習は、ラベル情報を必要としない学習で実現できる(「自己教師あり学習」とも呼ばれる)。マッピング部20は、第1の潜在変数ベクトルおよび第2の潜在変数ベクトルを、それぞれ独立した超球面写像部を用いて、超球面上に写像するように学習する。
図2に、マッピング部20によって超球面上にマッピングされた第1のデータセットおよび第2のデータセットを、模式的に示す。
【0025】
一般にinstance learningなどに基づく学習では、データをどの程度広く散布するかを調節することが重要となる。このためinstance learningにおいては、温度パラメータと呼ばれるパラメータが考慮されることがある。この温度パラメータは、マッピング時に作用するサンプルデータ間の反発力を調整するパラメータである。本実施の形態において、潜在変数ベクトルを超球面上に適切に散布するには、温度パラメータの設定が重要となる。
【0026】
ある実施の形態では、超球面上に散布したサンプルデータ間のcos距離をヒストグラム化し、そのヒストグラムの歪度(「skewness」とも呼ぶ)が最大となるように温度パラメータを調節する。データ分布の歪度が大きいとは、類似度の高い一部のサンプルデータ同士が互いに近い場所に配置される一方、他の多くのサンプルデータが遠い距離の場所に配置されることを意味する。本実施の形態の次のステップのクラスタ抽出では、超球面上にマッピングされたデータセットの分布が特徴的な偏りを持つ必要がある。このとき、各サンプルペアの類似度のヒストグラムをプロットして歪度を求めることにより、データが超球面上でどのように分布しているかを評価することができる。歪度が最大となるように温度パラメータを調節することにより、類似度の高い特定のサンプルデータ同士のみを近くに配置することができる。これにより、クラスタ抽出を的確に行うことができる。
【0027】
アンカーポイント抽出部30は、第1のデータセットおよび第2のデータセットを次元圧縮して、これらのデータセットがそれぞれ密に分布している第1のクラスタ領域群および第2のクラスタ領域群を抽出し、第1のクラスタ領域群と第2のクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出する。
【0028】
最初にアンカーポイント抽出部30は、例えばisomapなどにより、超球面上にマッピングされたデータセットを次元圧縮する。このとき、アンカーポイント抽出部30は、超球面上のデータセットのサンプルデータ間の距離関係を保存するように、次元を圧縮する(等長写像)。次元圧縮は、第1のデータセットおよび第2のデータセットに対して、それぞれ別々に実行される。isomap上では、データの近さに基づいて次元圧縮が行われるため、第1の顔画像群と第2の顔画像群との間で表情のバリエーションが類似していれば、次元圧縮後の両者の潜在変数ベクトルの分布は類似したものとなることが期待される。
【0029】
次にアンカーポイント抽出部30は、次元圧縮後の空間内で、データが密に分布している領域をクラスタ領域群として抽出する。例えば、特定のサンプルデータと、他のサンプルデータとの間の距離を計算し、所定の閾値以内の距離に分布するサンプルデータが、所定の閾値以上の個数存在する場合、これらのサンプルデータ集合をクラスタと判定することができる。クラスタ抽出は、第1のデータセットおよび第2のデータセットに対して、それぞれ別々に実行される。すなわちアンカーポイント抽出部30は、第1のデータセットおよび第2のデータセットが密に分布している領域を、それぞれ第1のクラスタ領域群および第2のクラスタ領域群として抽出する。
【0030】
次にアンカーポイント抽出部30は、第1のクラスタ領域群と第2のクラスタ領域群との距離を、次元圧縮後の空間内で計算し、距離が最も近いクラスタ領域ペア内にあるデータサンプルをアンカーポイントとして抽出する。クラスタ間の距離は、それらの重心間のユークリッド距離で定義してもよいし、Kullback-Leibler距離などで定義してもよい。アンカーポイントとして抽出された第1のデータサンプルと、第2のデータサンプルは、対応するクラスタ同士の距離が最も近いことから、対応する顔画像の内容は互いに相同であると考えられる。すなわちアンカーポイントが表現する画像は、互いに同じ顔の特性を持つ(例えば、同じ表情をしている)画像の集合であるとみなすことができる。
【0031】
写像学習部40は、抽出されたアンカーポイントを用いて、第1の潜在変数ベクトルから第2の潜在変数ベクトルへの写像を学習する。アンカーポイントが抽出されたことにより、例えば第1の人物と第2の人物との間で、相同な潜在変数ベクトルが決定されたと考えることができる。従って、第1の人物の潜在変数ベクトルが、第2の人物の相同な潜在変数ベクトルへと写像されるように学習を行うことができる。
【0032】
学習には、アンカーポイント以外のデータサンプルも同時に用いてもよい。その際は、写像変換により、第1の潜在変数ベクトル全体の分布が、第2の潜在変数ベクトル全体の分布に一致するように学習を行う。
【0033】
また学習は、第1のデータサンプルから第2のデータサンプルへの写像変換の学習であってもよい。
【0034】
写像は、線形写像であってもよいし、ニューラルネットワークによる非線形な写像であってもよい。
【0035】
例えば写像が線形写像であれば、アンカーポイントとして選ばれたサンプルの潜在変数が一致するような行列変換を学習すればよい。
【0036】
あるいは写像が非線形写像であれば、アンカーポイント同士が一致するように損失関数を設定しつつ、第1の潜在変数ベクトルから写像された分布が第2の潜在変数ベクトルの分布と一致するようにMMD(Maximum Mean Discrepancy)またはDiscriminator lossを設定すればよい。
図3に、ニューラルネットワークによる非線形写像の学習を用いた写像学習を模式的に示す。
【0037】
このように写像を学習することにより、顔の特性を表すラベル情報が付与されていない第1の顔画像群を、顔の特性を表すラベル情報が付与された第2の顔画像群に対応付けることができる。そして対応付けられた第2の顔画像のラベル情報を読み取ることで、第1の顔画像群の顔の特性を推定することができる。
【0038】
以下、本実施の形態による作用効果について説明する。先ず本実施の形態に係る顔認識装置1は、第1の人物と第2の人物との間で、相同な表情を呈する顔画像サンプルを推定する。例えば、多数の顔画像サンプルの中から、第1の人物の「笑い顔」と第2の人物の「笑い顔」同士を、相同サンプルとして抽出することができる。ここで顔認識装置1は、従来の顔認識装置と大きく異なり、第1の人物の顔画像が「笑い顔」であることを示すラベル情報が利用できない場合にも相同サンプル推定することができることに注意されたい。すなわち顔認識装置1の特徴は、顔画像群を潜在変数ベクトル群に変換した上で、第1の人物と第2の人物との間で、潜在変数ベクトル群の対応関係を教師なし学習手法によって解く点にある。このような教師なし学習手法を用いることにより、最低限ラベル情報は、第2の人物一人の顔画像群のみに付与されていればよい。これは、人手をかけてすべての人物の顔画像群のラベル情報を収集することが必要であった従来技術に比べ、コストと労力を大幅に低減することができる。
【0039】
また顔認識装置1では、特定の人物間の顔画像の対応関係だけを解くので、例えば日本人の顔を西欧人の顔に変換して表情推定をすることが可能となる。従って、人種、性別、年齢などに起因するバイアスの発生を防ぐことができる。
【0040】
さらに潜在変数ベクトルは、顔の形態情報だけでなく、低次層の色やテクスチャなどの情報も含むという特徴を持つ。すなわち高次層に対応する潜在変数は、顔の形態情報をより強く表現していると考えられる。一方、照明環境の変化などは、低次層の潜在変数表現として反映される可能性が高い。従って、高次層の潜在変数だけを用いて顔画像を表現することにより、照明などの外乱に対しロバストな表情推定を実現することができる。
【0041】
以上述べたように本実施の形態によれば、データ収集のコスト低減、推定結果からのバイアスの除去、および撮影条件に依存しないロバストな推定が可能な顔認識装置を実現することができる。
【0042】
[第2の実施の形態]
図4は、第2の実施の形態に係る顔認識方法の処理手順を示すフローチャートである。この顔認識方法は、顔の特性を表すラベル情報が付与されていない第1の顔画像群を、顔の特性を表すラベル情報が付与された第2の顔画像群に対応付けることにより、第1の顔画像群の顔の特性を認識する方法である。この方法は、ステップS10と、ステップS20と、ステップS30と、ステップS40と、を含む。ステップS10で本方法は、第1の顔画像群および第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換する。ステップS20で本方法は、第1の潜在変数ベクトルおよび第2の潜在変数ベクトルを、それぞれ第1のデータセットおよび第2のデータセットにマッピングする。ステップS30で本方法は、第1のデータセットおよび第2のデータセットを次元圧縮して、第1のデータセットおよび第2のデータセットがそれぞれ密に分布している第1のクラスタ領域群および第2のクラスタ領域群を抽出し、第1のクラスタ領域群と第2のクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出する。ステップS40で本方法は、アンカーポイントとして抽出された対応関係を利用して第1の潜在変数ベクトルから第2の潜在変数ベクトルへの写像を学習する。
【0043】
本実施の形態によれば、コンピュータを用いて、データ収集のコストを低減し、推定結果からのバイアスを除去した、撮影条件に依存しないロバストな顔認識を実行することができる。
【0044】
[第3の実施の形態]
第3の実施の形態は、顔認識プログラムである。このプログラムは、顔の特性を表すラベル情報が付与されていない第1の顔画像群を、顔の特性を表すラベル情報が付与された第2の顔画像群に対応付けることにより、第1の顔画像群の顔の特性を認識するためのプログラムである。このプログラムは、第1の顔画像群および第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換するステップと、第1の潜在変数ベクトルおよび第2の潜在変数ベクトルを、それぞれ第1のデータセットおよび第2のデータセットにマッピングするステップと、第1のデータセットおよび第2のデータセットを次元圧縮して、第1のデータセットおよび第2のデータセットがそれぞれ密に分布している第1のクラスタ領域群および第2のクラスタ領域群を抽出し、第1のクラスタ領域群と第2のクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出するステップと、アンカーポイントとして抽出された対応関係を利用して第1の潜在変数ベクトルから第2の潜在変数ベクトルへの写像を学習するステップと、をコンピュータに実行させる。
【0045】
本実施の形態によれば、データ収集のコストを低減し、推定結果からのバイアスを除去した、撮影条件に依存しないロバストな顔認識を実行するプログラムをコンピュータのソフトウェアとして実装することができる。
【0046】
[第4の実施の形態]
図5は、第4の実施の形態に係る顔画像変換装置2の機能ブロック図である。顔画像変換装置2は、潜在変数ベクトル変換部10と、マッピング部20と、アンカーポイント抽出部30と、写像学習部40と、顔画像変換部50と、を備える。すなわち顔画像変換装置2は、
図1の顔認識装置1の構成に追加して、顔画像変換部50を備える。顔画像変換装置2のその他の構成は顔認識装置1の構成と共通であるので、追加した構成に焦点を当てて説明する。
【0047】
顔画像変換部50は、第1の顔画像群の人物の顔画像を、第2の顔画像群の人物の顔画像に変換する。顔画像変換部50は例えば、第1の顔画像群の人物(例えば、日本人)の顔画像を、第2の顔画像群の人物(例えば、西欧人)の顔画像に変換する。写像学習部40までの処理により、第1の顔画像群の潜在変数ベクトルを第2の顔画像の潜在変数ベクトルに変換できるので、変換後の潜在変数ベクトルをStyleGANのような画像生成モデルに入力すれば、第1の人物と同じ表情をした、第2の人物の顔画像を生成できる。第2の顔画像データベースで学習した既存の顔画像認識AIに受け渡すことによって、顔画像認識を実行してもよい。
【0048】
本実施の形態によれば、相同な表情など顔の特性のまま異なる人物間で顔画像の変換ができるので、顔画像の編集やアバターの作成などを行うことができる。
【0049】
[第5の実施の形態]
図6は、第5の実施の形態に係る顔画像変換装置3の機能ブロック図である。顔画像変換装置3は、潜在変数ベクトル変換部10と、マッピング部20と、アンカーポイント抽出部30と、写像学習部40と、顔画像変換部50と、表示部60と、を備える。すなわち顔画像変換装置3は、
図5の顔画像変換装置2の構成に追加して、表示部60を備える。顔画像変換装置3のその他の構成は顔画像変換装置2の構成と共通であるので、追加した構成に焦点を当てて説明する。
【0050】
表示部60は、顔画像変換部50が変換した顔画像を外部に表示するディスプレイ等の表示装置である。表示部60は、例えばHMD、液晶ディスプレイ、ビデオプロジェクタなどの任意の好適な表示デバイスであってよい。
【0051】
本実施の形態によれば、異なる人物間で顔画像を変換することにより作成した顔画像を外部に表示できるので、編集やアバターの作成などが容易に実現できることに加え、作成した顔画像をエンターテインメントなどの用途に応用することができる。変換した顔画像をロボットの頭部や、別の人物の顔に投影・プロジェクションして、遠隔地間でのコミュニケーションやエンターテイメントに利用してもよい。
【0052】
[第6の実施の形態]
図7は、第6の実施の形態に係る顔画像変換方法の処理手順を示すフローチャートである。この顔画像変換方法は、第1の顔画像群を、第2の顔画像群に対応付けることにより、第1の顔画像群の人物の顔画像を、第2の顔画像群の人物の顔画像に変換する方法である。この方法は、ステップS10と、ステップS20と、ステップS30と、ステップS40と、ステップS50と、を含む。ステップS10で本方法は、第1の顔画像群および第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換する。ステップS20で本方法は、第1の潜在変数ベクトルおよび第2の潜在変数ベクトルを、それぞれ第1のデータセットおよび第2のデータセットにマッピングする。ステップS30で本方法は、第1のデータセットおよび第2のデータセットを次元圧縮して、第1のデータセットおよび第2のデータセットがそれぞれ密に分布している第1のクラスタ領域群および第2のクラスタ領域群を抽出し、第1のクラスタ領域群と第2のクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出する。ステップS40で本方法は、アンカーポイントとして抽出された対応関係を利用して第1の潜在変数ベクトルから第2の潜在変数ベクトルへの写像を学習する。ステップS50で本方法は、第1の顔画像群の人物の顔画像を、第2の顔画像群の人物の顔画像に変換する。
【0053】
本実施の形態によれば、コンピュータを用いて、表情など顔の特性を基に異なる人物間で顔画像を変換し、顔画像の編集やアバターの作成などを行うことができる。
【0054】
[第7の実施の形態]
第7の実施の形態は、顔画像変換プログラムである。このプログラムは、第1の顔画像群を、第2の顔画像群に対応付けることにより、第1の顔画像群の人物の顔画像を、第2の顔画像群の人物の顔画像に変換するためのプログラムである。このプログラムは、第1の顔画像群および第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換するステップと、第1の潜在変数ベクトルおよび第2の潜在変数ベクトルを、それぞれ第1のデータセットおよび第2のデータセットにマッピングするステップと、第1のデータセットおよび第2のデータセットを次元圧縮して、第1のデータセットおよび第2のデータセットがそれぞれ密に分布している第1のクラスタ領域群および第2のクラスタ領域群を抽出し、第1のクラスタ領域群と第2のクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出するステップと、アンカーポイントとして抽出された対応関係を利用して第1の潜在変数ベクトルから第2の潜在変数ベクトルへの写像を学習するステップと、第1の顔画像群の人物の顔画像を、第2の顔画像群の人物の顔画像に変換するステップと、をコンピュータに実行させる。
【0055】
本実施の形態によれば、相同な表情など顔の特性のまま異なる人物間で顔画像を変換し、顔画像の編集やアバターの作成などを行うプログラムをコンピュータのソフトウェアとして実装することができる。
【0056】
以上、本発明の実施例を基に説明した。これらの実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【0057】
1・・顔認識装置、
2・・顔画像変換装置、
3・・顔画像変換装置、
10・・潜在変数ベクトル変換部、
20・・マッピング部、
30・・アンカーポイント抽出部、
40・・写像学習部、
50・・顔画像変換部、
60・・表示部、
101・・第1の顔画像群、
102・・第2の顔画像群、
S10・・第1の顔画像群および第2の顔画像群を、それぞれ第1の潜在変数ベクトルおよび第2の潜在変数ベクトルに変換するステップ、
S20・・第1の潜在変数ベクトルおよび第2の潜在変数ベクトルを、それぞれ第1のデータセットおよび第2のデータセットにマッピングするステップ、
S30・・第1のデータセットおよび第2のデータセットを次元圧縮して、第1のデータセットおよび第2のデータセットがそれぞれ密に分布している第1のクラスタ領域群および第2のクラスタ領域群を抽出し、第1のクラスタ領域群と第2のクラスタ領域群のうち、互いに距離が近いクラスタ内に含まれる画像をアンカーポイントとして抽出するステップ、
S40・・アンカーポイントとして抽出された対応関係を利用して第1の潜在変数ベクトルから第2の潜在変数ベクトルへの写像を学習するステップ、
S50・・第1の顔画像群の人物の顔画像を、第2の顔画像群の人物の顔画像に変換
するステップ。