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

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

▶ ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングの特許一覧

特許6918198姿勢変動に頑健な顔位置調整のためのシステム及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6918198
(24)【登録日】2021年7月26日
(45)【発行日】2021年8月11日
(54)【発明の名称】姿勢変動に頑健な顔位置調整のためのシステム及び方法
(51)【国際特許分類】
   G06T 7/10 20170101AFI20210729BHJP
   G06T 7/00 20170101ALI20210729BHJP
【FI】
   G06T7/10
   G06T7/00 660A
【請求項の数】17
【全頁数】20
(21)【出願番号】特願2020-501290(P2020-501290)
(86)(22)【出願日】2018年7月11日
(65)【公表番号】特表2020-526845(P2020-526845A)
(43)【公表日】2020年8月31日
(86)【国際出願番号】EP2018068734
(87)【国際公開番号】WO2019011958
(87)【国際公開日】20190117
【審査請求日】2020年1月10日
(31)【優先権主張番号】15/649,230
(32)【優先日】2017年7月13日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【弁理士】
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100135633
【弁理士】
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】マオ イェ
(72)【発明者】
【氏名】アミン ジョラブロー
(72)【発明者】
【氏名】リウ レン
【審査官】 千葉 久博
(56)【参考文献】
【文献】 特表2017−501514(JP,A)
【文献】 特表2011−510420(JP,A)
【文献】 Xiangyu Zhu, 外4名,"Face Alignment Across Large Poses: A 3D Solution",2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2016年 6月27日,p.146-155
【文献】 Amin Jourabloo, 外1名,"Large-Pose Face Alignment via CNN-Based Dense 3D Model Fitting",2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2016年 6月27日,p.4188-4196
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/10
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
少なくとも1つの処理ユニットを有する処理システムを含むコンピューティングシステムであって、
前記処理システムは、顔位置調整方法を実行するように構成されており、
前記顔位置調整方法は、
顔画像を有する画像データを受信することと、
前記顔画像のためのパラメータデータの最終推定値を、前記画像データと、前記パラメータデータの初期推定値とに基づいて提供するように、ニューラルネットワークを適用することと、
を含み、
前記ニューラルネットワークは、前記パラメータデータの現在の推定値に基づいて特徴マップを生成するように構成された少なくとも1つの視覚化層を含み、
前記パラメータデータは、頭部姿勢データと顔形状データとを含み、
前記ニューラルネットワークは、モデルフィッティングのためのエンドツーエンドトレーニングを伴う単一の畳み込みニューラルネットワークである、
コンピューティングシステム。
【請求項2】
顔検出モジュールをさらに含み、
前記顔検出モジュールは、少なくとも、
(i)画像を受信し、
(ii)前記画像内の顔画像を識別し、
(iii)前記顔画像に関する画像データを前記処理システムに提供する、
ように構成されており、
前記顔画像は、正面ビューから側面ビューの範囲内にある顔ビューを提供する、
請求項1に記載のコンピューティングシステム。
【請求項3】
前記顔形状データは、顔アイデンティティパラメータと、顔表情パラメータとを含む、
請求項1に記載のコンピューティングシステム。
【請求項4】
前記ニューラルネットワークは、複数の相互接続された視覚化ブロックを有する単一の畳み込みニューラルネットワークであり、
それぞれの視覚化ブロックは、少なくとも1つの視覚化層と、畳み込み層と、全結合層とを含む、
請求項1に記載のコンピューティングシステム。
【請求項5】
それぞれの視覚化層は、3D顔モデルの表面法線に基づいており、顔とカメラとの間の相対的な頭部姿勢を視覚化する、
請求項1に記載のコンピューティングシステム。
【請求項6】
それぞれの視覚化層は、マスクを利用して、前記顔画像の複数の異なる部分における画素同士を区別し、視覚化された画像の画素値を、複数の異なる頭部姿勢にわたってゼロ平均及び単位標準偏差に対して正規化する
請求項1に記載のコンピューティングシステム。
【請求項7】
コンピュータにより顔位置調整を実行するためのコンピュータ実装方法であって、
当該コンピュータ実装方法は、
顔画像を有する画像データを受信することと、
前記顔画像のためのパラメータデータの最終推定値を、前記画像データと、前記パラメータデータの初期推定値とに基づいて提供するように、ニューラルネットワークを適用することと、
を含み、
前記ニューラルネットワークは、前記パラメータデータの現在の推定値に基づいて特徴マップを生成するように構成された少なくとも1つの視覚化層を含み、
前記パラメータデータは、頭部姿勢データと顔形状データとを含み、
前記ニューラルネットワークは、モデルフィッティングのためのエンドツーエンドトレーニングを伴う単一の畳み込みニューラルネットワークである、
コンピュータ実装方法。
【請求項8】
画像に対して顔検出を実施することをさらに含み、
前記顔検出は、
(i)画像を受信することと、
(ii)前記画像内の顔画像を識別することと、
(iii)前記顔画像に関する画像データを処理システムに提供することと、
を含み、
前記顔画像は、正面ビューから側面ビューの範囲内にある顔ビューを提供する、
請求項に記載のコンピュータ実装方法。
【請求項9】
前記顔形状データは、顔アイデンティティパラメータと、顔表情パラメータとを含む、
請求項に記載のコンピュータ実装方法。
【請求項10】
前記ニューラルネットワークは、複数の相互接続された視覚化ブロックを有する単一の畳み込みニューラルネットワークであり、
それぞれの視覚化ブロックは、前記視覚化層と、前記畳み込み層と、前記全結合層とを少なくとも含む、
請求項に記載のコンピュータ実装方法。
【請求項11】
それぞれの視覚化層は、3D顔モデルの表面法線に基づいており、顔とカメラとの間の相対的な頭部姿勢を視覚化する、
請求項に記載のコンピュータ実装方法。
【請求項12】
それぞれの視覚化層は、マスクを利用して、前記顔画像の複数の異なる部分における画素同士を区別し、視覚化された画像の画素値を、複数の異なる頭部姿勢にわたってゼロ平均及び単位標準偏差に対して正規化する
請求項に記載のコンピュータ実装方法。
【請求項13】
少なくとも1つの処理ユニットを有する処理システムによって実行された場合に、顔位置調整方法を実行するためのコンピュータ可読データを少なくとも含む非一時的なコンピュータ可読媒体であって、
前記顔位置調整方法は、
顔画像を有する画像データを受信することと、
前記顔画像のためのパラメータデータの最終推定値を、前記画像データと、前記パラメータデータの初期推定値とに基づいて提供するように、ニューラルネットワークを適用することと
を含み、
前記ニューラルネットワークは、前記パラメータデータの現在の推定値に基づいて特徴マップを生成するように構成された少なくとも1つの視覚化層を含み、
前記パラメータデータは、頭部姿勢データと顔形状データとを含み、
前記ニューラルネットワークは、モデルフィッティングのためのエンドツーエンドトレーニングを伴う単一の畳み込みニューラルネットワークである、
非一時的なコンピュータ可読媒体。
【請求項14】
前記顔形状データは、顔アイデンティティパラメータと、顔表情パラメータとを含む、
請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項15】
前記ニューラルネットワークは、複数の相互接続された視覚化ブロックを有する単一の畳み込みニューラルネットワークであり、
それぞれの視覚化ブロックは、前記視覚化層と、前記畳み込み層と、前記全結合層とを少なくとも含む、
請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項16】
それぞれの視覚化層は、3D顔モデルの表面法線に基づいており、顔とカメラとの間の相対的な頭部姿勢を視覚化する、
請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項17】
それぞれの視覚化層は、マスクを利用して、前記顔画像の複数の異なる部分における画素同士を区別し、視覚化された画像の画素値を、複数の異なる頭部姿勢にわたってゼロ平均及び単位標準偏差に対して正規化する
請求項13に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
本開示は、顔位置調整のためのシステム及び方法に関する。
【背景技術】
【0002】
背景
一般に、畳み込みニューラルネットワーク(CNN)のカスケードを用いて実施される顔位置調整技術は、少なくとも以下の欠点、即ち、エンドツーエンド(End to End)トレーニングの欠如、手動設計された特徴量(handcrafted feature)の抽出、及び、緩慢なトレーニング速度という欠点を経験している。例えば、エンドツーエンドトレーニングがなければ、複数のCNNを共同で最適化することは不可能であり、これによって最適でない解決策がもたらされることとなる。さらに、これらの種類の顔位置調整技術は、姿勢や表情等のような種々の顔要因を考慮しない、手動設計された特徴量を抽出するという単純な方法を実施することが多い。さらに、これらのCNNのカスケードは、典型的には浅いフレームワークを有しており、このような浅いフレームワークは、初期段階のCNNの抽出された特徴に基づいてより深い特徴を抽出することが不可能である。さらに、これらのCNNのトレーニングは、通常、複数のCNNの各々が独立して連続的にトレーニングされること、また、2つの連続するCNNの間で手動設計された特徴量を抽出することが必要となることが理由で、時間がかかるものである。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
以下は、詳細に後述される特定の実施形態の概要である。記載される態様は、これらの特定の実施形態の簡単な概要を読者に提供するために提示されるに過ぎず、これらの態様の記載は、本開示の範囲を限定することを意図したものではない。実際に、本開示は、以下で明示的に記載されていない可能性のある種々の態様を包含し得る。
【0004】
例示的な実施形態においては、コンピューティングシステムは、少なくとも1つの処理ユニットを有する処理システムを含む。処理システムは、顔画像を有する画像データを受信すると、顔位置調整方法を実行するように構成されている。処理システムは、顔画像にニューラルネットワークを適用するように構成されている。ニューラルネットワークは、顔画像のためのパラメータデータの最終推定値を、画像データと、パラメータデータの初期推定値とに基づいて提供するように構成されている。ニューラルネットワークは、パラメータデータの現在の推定値に基づいて特徴マップを生成するように構成された少なくとも1つの視覚化層を含む。パラメータデータは、頭部姿勢データと顔形状データとを含む。
【0005】
例示的な実施形態においては、コンピュータ実装方法は、顔画像を有する画像データを受信することを含む。コンピュータ実装方法は、顔画像のためのパラメータデータの最終推定値を、画像データと、パラメータデータの初期推定値とに基づいて提供するように、ニューラルネットワークを実装することを含む。ニューラルネットワークは、パラメータデータの現在の推定値に基づいて特徴マップを生成するように構成された少なくとも1つの視覚化層を含む。パラメータデータは、頭部姿勢データと顔形状データとを含む。
【0006】
例示的な実施形態においては、非一時的なコンピュータ可読媒体は、少なくとも1つの処理ユニットを有する処理システムによって実行された場合に、顔画像を有する画像データを受信することを含む方法を実行するコンピュータ可読データを少なくとも含む。本方法は、顔画像のためのパラメータデータの最終推定値を、画像データと、パラメータデータの初期推定値とに基づいて提供するように、ニューラルネットワークを実装することを含む。ニューラルネットワークは、パラメータデータの現在の推定値に基づいて特徴マップを生成するように構成された少なくとも1つの視覚化層を含む。パラメータデータは、頭部姿勢データと顔形状データとを含む。
【0007】
本発明の上記及び他の特徴、態様及び利点は、同様の部分が同様の参照符号によって表されている添付の図面を考慮して、特定の例示的な実施形態の以下の詳細な説明によってさらに明らかとなる。
【図面の簡単な説明】
【0008】
図1】本開示の例示的な実施形態によるシステムのブロック図である。
図2】本開示の例示的な実施形態による、図1のシステムの姿勢変動に頑健な顔位置調整モジュールを示す図である。
図3】本開示の例示的な実施形態による、図2のCNNのアーキテクチャのブロック図である。
図4】本開示の例示的な実施形態による視覚化ブロックの概念図である。
図5】本開示の例示的な実施形態による視覚化ブロックのアーキテクチャの例示的な図である。
図6】本開示の例示的な実施形態によるマスクの一例を示す図である。
図7】本開示の代替的な例示的な実施形態によるマスクの一例を示す図である。
図8】本開示の例示的な実施形態による、3Dオブジェクトのための表面法線ベクトルに基づいて投影中に所望の表面点を選択する一例を示す図である。
図9A】本開示の例示的な実施形態による画像データの一例を示す図である。
図9B】本開示の例示的な実施形態による視覚化層の初期化の一例を示す図である。
図9C】本開示の例示的な実施形態によるCNNの第1の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図9D】本開示の例示的な実施形態によるCNNの第2の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図9E】本開示の例示的な実施形態によるCNNの第3の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図9F】本開示の例示的な実施形態によるCNNの第4の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図9G】本開示の例示的な実施形態によるCNNの第5の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図9H】本開示の例示的な実施形態によるCNNの第6の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図10A】本開示の例示的な実施形態による画像データの一例を示す図である。
図10B】本開示の例示的な実施形態による視覚化層の初期化の一例を示す図である。
図10C】本開示の例示的な実施形態によるCNNの第1の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図10D】本開示の例示的な実施形態によるCNNの第2の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図10E】本開示の例示的な実施形態によるCNNの第3の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図10F】本開示の例示的な実施形態によるCNNの第4の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図10G】本開示の例示的な実施形態によるCNNの第5の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図10H】本開示の例示的な実施形態によるCNNの第6の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図11A】本開示の例示的な実施形態による画像データの一例を示す図である。
図11B】本開示の例示的な実施形態による視覚化層の初期化の一例を示す図である。
図11C】本開示の例示的な実施形態によるCNNの第1の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図11D】本開示の例示的な実施形態によるCNNの第2の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図11E】本開示の例示的な実施形態によるCNNの第3の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図11F】本開示の例示的な実施形態によるCNNの第4の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図11G】本開示の例示的な実施形態によるCNNの第5の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
図11H】本開示の例示的な実施形態によるCNNの第6の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【発明を実施するための形態】
【0009】
詳細な説明
一例として図示及び説明された上記実施形態並びに上記実施形態の利点の多くは、前述の説明によって理解されるであろう。開示された主題から逸脱することなく、又は、開示された主題の利点のうちの1つ又は複数を犠牲にすることなく、コンポーネントの形態、構造及び配置に関して種々の変更を加えることができることは明らかであろう。実際に、これらの実施形態の記載された形態は、説明目的のものに過ぎない。これらの実施形態は、種々の修正形態及び代替形態が可能であり、添付の特許請求の範囲は、そのような変更を包含及び含有し、開示された特定の形態には限定されておらず、むしろ、本開示の精神及び範囲に含まれる全ての修正形態、等価形態及び代替形態を網羅することが意図されている。
【0010】
図1は、姿勢変動に頑健な顔位置調整(pose-invariant face alignment)を実施するように構成されたコンピュータシステム100のブロック図である。これに関して、コンピュータシステム100は、種々のソフトウェアコンポーネント及びハードウェアコンポーネントを含む。例えば、コンピュータシステム100は、少なくとも、メモリシステム110と、顔検出モジュール120と、姿勢変動に頑健な顔位置調整モジュール(pose-invariant face alignment module)130と、処理システム140と、通信システム150と、他の機能モジュール160とを含む。例示的な実施形態においては、コンピュータシステム100は、本明細書に開示され、姿勢変動に頑健な顔位置調整モジュール130によって提供されるような、姿勢変動に頑健な顔位置調整方法を実施及び実行するように構成されている。さらに、例示的な実施形態においては、コンピュータシステム100は、姿勢変動に頑健な顔位置調整方法を実施及び実行する前に、本明細書に開示され、顔検出モジュール120によって提供されるような顔検出を実施及び実行するようにも構成されている。
【0011】
例示的な実施形態においては、メモリシステム110は、姿勢変動に頑健な顔位置調整モジュール130に関連するトレーニングデータ及び他のデータが含まれる、種々のデータを含む。例示的な実施形態においては、メモリシステム110は、少なくとも本明細書で開示されるような動作及び機能を可能にするために、種々のデータを記憶し、かつ、種々のデータへのアクセスを提供するように構成されたコンピュータ又は電子記憶システムである。例示的な実施形態においては、メモリシステム110は、単一のデバイス又は複数のデバイスを含む。例示的な実施形態においては、メモリシステム110は、電気技術、電子技術、磁気技術、光学技術、半導体技術、電磁技術、又は、任意の適当な技術を含むことができる。例えば、例示的な実施形態においては、メモリシステム110は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、ディスクドライブ、メモリカード、光学記憶装置、磁気記憶装置、メモリモジュール、任意の適当な種類のメモリデバイス、又は、これらの任意の組合せを含むことができる。例示的な実施形態においては、メモリシステム110は、コンピュータシステム100に対してローカルであるか、リモートであるか、又は、これらの組合せ(例えば、一部がローカルであり、一部がリモートである)である。例示的な実施形態においては、メモリシステム110は、コンピュータシステム100の他のコンポーネントから離れている少なくとも1つのクラウドベースの記憶システム(例えばクラウドベースのデータベースシステム)を含むことができる。
【0012】
例示的な実施形態においては、顔検出モジュール120は、ハードウェア、ソフトウェア、又は、これらの組合せを含む。例示的な実施形態においては、顔検出モジュール120は、少なくとも、画像を受信し、画像内の顔画像を識別し、顔画像に関連する画像データ220を提供するように構成されている。例示的な実施形態においては、処理システム140は、少なくとも、中央処理装置(CPU)、グラフィック処理装置(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、システムオンチップシステム(SOC)、プログラマブルロジックデバイス(PLD)、任意の適当なコンピューティング技術、又は、これらの任意の組合せを含む。
【0013】
例示的な実施形態においては、通信システム150は、コンピュータシステム100のコンポーネントの任意の適当な組合せが、相互に通信することを可能にする適当な通信技術を含む。例示的な実施形態においては、通信システム150は、有線ベースの技術、無線ベースの技術、及び/又は、これらの組合せを含む。例示的な実施形態においては、通信システム150は、有線ネットワーク、無線ネットワーク、又は、これらの組合せを含む。例示的な実施形態においては、通信システム150は、任意の適当な種類のコンピュータネットワーク及び/又はアーキテクチャを含む。例示的な実施形態においては、通信システム150は、インターネットへの接続を含む。
【0014】
例示的な実施形態においては、他の機能モジュール160は、ハードウェア、ソフトウェア、又は、これらの組合せを含む。例えば、他の機能モジュール160は、論理回路、オペレーティングシステム、I/Oデバイス(例えばディスプレイ等)、他のコンピュータ技術、又は、これらの任意の組合せを含む。より具体的には、例示的な実施形態においては、他の機能モジュール160は、姿勢変動に頑健な顔位置調整モジュール130が、本明細書に開示されるように動作及び機能することを可能にする。例示的な実施形態においては、他の機能モジュール160は、カメラ及び/又は光学システムを含む。これに関して、カメラ及び/又は光学システムは、姿勢変動に頑健な顔位置調整モジュール130に画像データ220が提供されるように、顔検出モジュール120及び/又は処理システム140に画像を提供するように構成されている。また、例示的な実施形態においては、他の機能モジュール160は、顔認識モジュール、表情推定モジュール、3D顔再構成モジュール、任意の適当な顔分析モジュール、又は、これらの任意の組合せのような、顔分析モジュールを含む。これに関して、顔分析モジュールは、CNN200からの顔画像に関するパラメータデータの最終推定値のような出力に従って、顔分析を実施するように構成されている。
【0015】
図2は、例示的な実施形態による、姿勢変動に頑健な顔位置調整モジュール130を示す。例示的な実施形態においては、姿勢変動に頑健な顔位置調整モジュール130は、単一のCNN200を含む。例示的な実施形態においては、このCNN200は、少なくとも画像データ220とパラメータ230の集合とを入力として受信するように構成されている。顔検出モジュール120から画像データ220(即ち、任意の頭部姿勢を有する単一の顔画像)を受信し、パラメータ230の集合を取得すると、姿勢変動に頑健な顔位置調整モジュール130は、3D顔モデルをフィッティングすることによって各自の可視性ラベルを有する2Dランドマークを推定するように構成されている。これに関して、姿勢変動に頑健な顔位置調整モジュール130は、モデルフィッティングのためのエンドツーエンドトレーニングを有する単一のCNN200を含む。
【0016】
図3は、例示的な実施形態によるCNN200の例示的なアーキテクチャを示す。図示のように、CNN200は、複数の相互接続された視覚化ブロック210を含む。例えば、非限定的な例として、CNN200は、少なくとも6つの視覚化ブロック210を含む。これに関して、CNN200は、所望の結果を提供する任意の適当な個数の視覚化ブロック210を含む。例示的な実施形態においては、入力は、画像データ220と、少なくとも1つのパラメータの初期推定値、例えばパラメータPとを含み、出力は、パラメータの集合の最終推定値290である。CNN200のカスケードを有する関連するシステムと比較して、姿勢変動に頑健な顔位置調整モジュール130は、損失関数の逆伝播によって全ての視覚化ブロック210を共同で最適化することに起因して、トレーニング中に格段に少ないエポック数で収束することが可能なアーキテクチャを有する1つのCNN200を有する。
【0017】
例示的な実施形態においては、システム100は、3Dモーフィング可能なモデル(3DMM)を含む。例示的な実施形態においては、メモリシステム110(例えばトレーニングデータ)、姿勢変動に頑健な顔位置調整モジュール130、又は、これらの組合せに、3DMMが含まれる。例示的な実施形態においては、3DMMは、顔の3D形状を表す。より具体的には、3DMMは、3D顔Sを、次の式を介して平均形状Sと、アイデンティティ基底Sと、表情基底Sとの線型結合として表す:
【0018】
【数1】
【0019】
例示的な実施形態においては、姿勢変動に頑健な顔位置調整モジュール130は、3D形状パラメータのためにベクトルp=[p,p]を使用する。なお、
【数2】
は、アイデンティティパラメータであり、
【数3】
は、表情パラメータである。例示的な実施形態においては、姿勢変動に頑健な顔位置調整モジュール130は、アイデンティティ基底として199個の基底を有するバーゼル3D顔モデルを使用し、表情基底として29個の基底を有する顔ウェアハウスモデルを使用する。
この場合、それぞれの3D顔形状は、Q個の3D頂点の集合を含む:
【0020】
【数4】
【0021】
例示的な実施形態においては、2D顔形状は、3D形状の投影図である。例示的な実施形態においては、6自由度、即ち、スケールのための1自由度、回転角度のための3自由度、及び、平行移動のための2自由度を有する弱透視投影モデルが使用され、この弱透視投影モデルは、次の式で表されるような2D形状Uを取得するために、3D顔形状Sを2D画像上に投影する:
【0022】
【数5】
【0023】
なお、
【0024】
【数6】
【0025】
であり、かつ、
【0026】
【数7】
である。
【0027】
この場合、Uは、N個の2Dランドマークの集合を収集し、Mは、記号の濫用P={M,p}を有するカメラ投影行列であり、N次元ベクトルbは、2Dランドマークに意味的に対応する3D頂点インデックスを含む。例示的な実施形態においては、m=[m]及びm=[m]は、スケーリングされた回転成分の最初の2行を示し、その一方で、m及びmは、平行移動である。
【0028】
式3は、2DランドマークUとPとの間、即ち、3D形状パラメータpとカメラ投影行列Mとの間における関係性又は等価性を確立するものである。顔位置調整のためのほぼ全てのトレーニング画像が2Dラベルのみ、即ち、Uのみを有しているとすると、処理システム140は、それらの対応するPを計算するためのデータ拡張ステップを実施する。画像データ220が与えられると、姿勢変動に頑健な顔位置調整モジュール130は、パラメータPを推定するように構成されており、このパラメータPに基づいて、2Dランドマーク及び2Dランドマークの可視性を導出することができる。
【0029】
図4は、例示的な実施形態による視覚化ブロック210の概念図を示す。図4に示されるように、視覚化ブロック210は、視覚化層240を含み、この視覚化層240は、CNN200の内側で推定されたパラメータから3D顔形状を再構成し、可視頂点の表面法線ベクトル808/810を介して2D画像を合成する。例示的な実施形態においては、視覚化層240は、先行する視覚化ブロック210の位置調整結果を視覚化し、この位置調整結果を、現在の視覚化ブロック210のために利用する。例示的な実施形態においては、視覚化層240は、基礎となる3D顔モデル806の表面法線808/810から導出され、顔とカメラ(図8)との間の相対姿勢を符号化する。また、例示的な実施形態においては、視覚化層240は、微分可能であり、これによって勾配を分析的に計算することが可能となり、それによってCNN200のエンドツーエンドトレーニングが可能となる。さらに、図4に示されるように、視覚化層240は、マスク600/700を利用して、顔画像の中央部分の画素と輪郭部分の画素とを区別し、また、視覚化された画像の画素値を、複数の異なる姿勢にわたって同等のものとする。さらに、図4に示されるように、CNN200の最後の視覚化ブロック210によって提供されるような、顔画像のパラメータの最終推定値290を、顔分析モジュールに提供して、顔ランドマーク検出結果300を取得することができる。
【0030】
図5は、例示的な実施形態によるCNN200の視覚化ブロック210を示す。上述のように、それぞれの視覚化ブロック210は、最新のパラメータ推定値に基づいている視覚化層240を含む。これに関して、それぞれの視覚化層240は、連続する複数の視覚化ブロック210の間のブリッジとして機能する。例示的な実施形態においては、それぞれの視覚化層240は、現在の推定又は入力されたパラメータPに基づいて特徴マップ250を生成する。それぞれの畳み込み層260の後には、バッチ正規化(BN)層及び整流線形単位(ReLU)層が続く。それぞれの畳み込み層260は、先行する視覚化ブロック210及び視覚化層240によって提供された入力特徴に基づいて、より深い特徴を抽出する。2つの全結合層270の間においては、第1の畳み込み層260の後に、ReLU層及びドロップアウト層が続き、その一方で、第2の畳み込み層260は、M及びpの更新量ΔΡを同時に推定する。例示的な実施形態においては、例えば入力PにΔΡを追加する場合、視覚化ブロック210の出力は、出力データ280Aと、パラメータ230の新しい推定値(又は現在の推定値)280Bとを含む。図5においては、出力データ280Aは、より深い特徴と、画像データ220とを含む。他の例示的な実施形態においては、出力データ280Aは、より深い特徴を含む。他の代替的な例示的な実施形態においては、出力データ280Aは、画像データ220を含む。例示的な実施形態においては、図5に示されるように、基本的に、視覚化ブロック210の上側の部分は、より深い特徴の学習に集中しており、その一方で、下側の部分は、そのような特徴を利用してResNetのような構造でパラメータ230を推定する。トレーニング段階の逆方向経路中に、視覚化ブロック210は、これらの入力の両方を介して損失を逆伝播して、先行する視覚化ブロック210における畳み込み層260と全結合層270とを調整する。この動作によって視覚化ブロック210は、次の視覚化ブロック210のために適した、パラメータ推定全体を改善する、より良好な特徴を抽出することが可能となる。
【0031】
例示的な実施形態においては、CNN200は、少なくとも2つの種類の損失関数を使用するように構成されている。この場合には、例えば、第1の種類の損失関数は、推定値と、パラメータ更新のターゲットとの間のユークリッド損失であり、この際、それぞれのパラメータは、次の式で表されるように別個に重み付けされる:
【0032】
【数8】
【0033】
なお、
【数9】
は、損失であり、Δpは、推定値であり、
【数10】
は、i番目の視覚化ブロック210におけるターゲット(又はグラウンドトゥルース)である。この式において、対角行列Wには重みが含まれる。形状パラメータpのそれぞれの要素に関して、重みは、3DMMトレーニングにおいて使用されるデータから取得された標準偏差の逆数である。Mのパラメータ間の相対的なスケールを補償するために、処理システム140は、トレーニングデータにおけるスケーリングされた回転パラメータの平均と、平行移動パラメータの平均との間の比rを計算する。この点に関して、Mのスケーリングされた回転パラメータの重みは、1/rに設定され、Mの平行移動パラメータの重みは、1に設定される。さらに、第2の種類の損失関数は、次の式で表されるような、結果的に生じる2Dランドマークに対するユークリッド損失である:
【0034】
【数11】
【0035】
なお、
【数12】
は、グラウンドトゥルースの2Dランドマークであり、Pは、i番目のブロックへの入力パラメータ、即ち、i−1番目のブロックの出力である。これに関して、f(・)は、式3を介して現在更新されているパラメータを使用して2Dランドマークの位置を計算する。例示的な実施形態においては、この損失関数をパラメータΔΡに逆伝播するために、次の式で表されるように、勾配を計算するために連鎖律が使用される:
【0036】
【数13】
【0037】
例示的な実施形態においては、CNN200の最初の3つの視覚化ブロック210に関して、パラメータ更新に対するユークリッド損失(式6)が使用され、その一方で、CNN200の最後の3つのブロックには、2Dランドマークに対するユークリッド損失(式7)が適用される。最初の3つのブロックは、3D形状を顔画像に大まかに位置調整するためにパラメータを推定し、最後の3つのブロックは、パラメータと2Dランドマークの位置とをより正確に推定するために良好な初期化を活用する。
【0038】
例示的な実施形態においては、視覚化層240は、局所近傍における表面方位を提供する3D顔の表面法線に基づいている。例示的な実施形態においては、処理システム140は、姿勢に伴って変換されるそれぞれの頂点の表面法線のz座標を使用する。これに関して、z座標は、頂点の「正面性(frontability)」の指標であり、即ち、表面法線がカメラ800に向いている量の指標である。この量は、投影された2D位置に強度値を割り当て、視覚化データ242(例えば視覚化画像)を構築するために使用される。例示的な実施形態においては、正面性の尺度g、即ち、Q次元ベクトルを、次の式を介して計算することができる:
【0039】
【数14】
【0040】
なお、xは、クロス積であり、‖・‖は、Lノルムを示す。3xQ行列Nは、3D顔形状の表面法線ベクトルである。その都度の形状更新後に表面法線を計算するという高い計算コストを回避するために、処理システム140は、平均3D顔の表面法線としてNを近似する。
【0041】
例示的な実施形態においては、顔形状及び頭部姿勢の両方が、複数の異なる視覚化ブロック210にわたって依然として連続的に更新され、投影された2D位置を決定するために使用される。従って、この近似は、強度値に対してわずかな影響しか与えないだろう。表面法線を頭部姿勢に基づいて変換するために、処理システム140は、スケーリングされた回転行列(m及びm)の推定値を、平均顔から計算された表面法線に適用する。次に、値は、式9に示されるように下限0で切り捨てられる。視覚化された画像の画素強度V(u,v)は、次の式で表されるように、局所近傍内の正面性の測定値の加重平均として計算される:
【0042】
【数15】
【0043】
なお、D(u,v)は、2D投影位置が画素(u,v)の局所近傍内にある頂点インデックスの集合である。
【数16】
は、q番目の3D頂点の2D投影位置である。重みwは、画素(u,v)と、投影位置
【数17】
との間の距離メトリックである。
【0044】
【数18】
【0045】
さらに、aは、次の式で表されるように、顔の中央領域にある頂点に対して正の値を有し、かつ、顔の輪郭領域の周囲にある頂点に対して負の値を有する、Q次元マスクベクトルである。
【0046】
【数19】
【0047】
なお、(x;y;z)は、鼻尖部の頂点座標である。
【0048】
また、この方程式においては、a(q)が事前に計算され、ゼロ平均及び単位標準偏差に対して正規化される。例示的な実施形態においては、処理システム140は、マスク600を使用して、顔の中央領域と境界領域とを弁別すると共に、複数の異なる顔の視覚化にわたる類似性を高める。
【0049】
例示的な実施形態においては、視覚化層240による損失関数の逆伝播を可能にするために、処理システム140は、パラメータM及びpの要素に関してVの導関数を計算する。これに関して、処理システム140は、偏導関数
【数20】
を計算する。例示的な実施形態においては、処理システム140は、次に、式10に基づいて
【数21】
の導関数を計算する。
【0050】
図6は、例示的な実施形態による例示的なマスク600の視覚化の2つのビューを示す。具体的には、図6は、マスク600の正面ビュー602と、マスク600の側方ビュー604(又は側面ビュー)とを含む。この場合、マスク600は、例えば、少なくとも式12によって表される。図6に示されるように、a(q)によって表されるようなマスク600は、スケール606によって示されるように、中央領域において正の値を有し、輪郭領域において負の値を有する。
【0051】
図7は、代替的な例示的な実施形態によるマスク700の他の一例を示す。具体的には、図7は、マスク700の正面ビュー702と、マスク700の側方ビュー704(又は側面ビュー)とを含む。この例においては、マスク700は、スケール706によって示されるように、2つの目の領域と、1つの鼻尖部の領域と、2つの唇の口角の領域とが含まれる5つの正の領域を有する。また、この例においては、値がゼロ平均及び単位標準偏差に対して正規化されている。これに関して、マスク700は、視覚化された画像の画素値を、複数の異なる姿勢を有する顔に対して同等のものとし、顔の中央領域と輪郭領域とを弁別する。図7のマスク700は、図6のマスク600によって提供されるものと比較してより複雑であり、インフォーマティブな顔領域に関してより多くの情報を伝達する。
【0052】
図8は、複数の画素を有する画像平面802に対するカメラ800の位置を示す。さらに、図8は、画像平面802の人間の顔画像を3Dオブジェクト806として視覚化したものと共に、画像平面802の画像画素に沿って延在する画素軸線804を示す。図8はまた、矢印808で示されるような、負のz座標を有する表面法線ベクトルと、矢印810で示されるような、正のz座標及び比較的小深度を有する表面法線ベクトルとを含む。これに関して、人間の顔を3Dオブジェクト806として任意の視野角で視覚化するためには、それぞれの3D頂点の可視性の推定が必要となる。計算コストの高いレンダリングによる可視性テストを回避するために、処理システム140は、近似のための少なくとも2つの戦略を実施するように構成されている。1つの戦略として、例えば、処理システム140は、正面性の測定値gが0に等しい頂点、即ち、カメラ800を指している頂点を除去するように構成されている。第2に、複数の頂点が、画素軸線804を介して同一の画像画素に投影される場合には、処理システム140は、例えば図8の矢印810で示されるように、最小深度値を有する頂点のみを保持するように構成されている。
【0053】
図9Aは、例示的な実施形態による画像データ220の一例である。図9Aに示されるように、この例においては、画像データ220は、口を開けた表情(例えば笑顔)を有する少なくとも1つの大きな顔姿勢を含む。図9Bは、例示的な実施形態による視覚化層240の初期化の一例である。図9Cは、例示的な実施形態によるCNN200の第1の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図9Dは、例示的な実施形態によるCNN200の第2の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図9Eは、例示的な実施形態によるCNN200の第3の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図9Fは、例示的な実施形態によるCNN200の第4の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図9Gは、例示的な実施形態によるCNN200の第5の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図9Hは、本開示の例示的な実施形態によるCNN200の第6の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図9C乃至図9Hに漸進的に示されるように、姿勢変動に頑健な顔位置調整モジュール130は、図9Aに示されるような、画像データ220の顔画像の表情及び頭部姿勢を回復することが可能である。例示的な実施形態においては、姿勢変動に頑健な顔位置調整モジュール130は、少なくとも、より深い特徴を抽出して、損失関数の逆伝播を使用することにより、これらの結果を提供することが可能である。
【0054】
図10Aは、本開示の例示的な実施形態による画像データ220の一例である。図10Aに示されるように、この例においては、画像データ220は、比較的中立的な表情を有する少なくとも1つの大きな顔姿勢を含む。図10Bは、本開示の例示的な実施形態による視覚化層240の初期化の一例である。図10Cは、本開示の例示的な実施形態によるCNN200の第1の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図10Dは、本開示の例示的な実施形態によるCNN200の第2の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図10Eは、本開示の例示的な実施形態によるCNN200の第3の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図10Fは、例示的な実施形態によるCNN200の第4の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図10Gは、例示的な実施形態によるCNN200の第5の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図10Hは、例示的な実施形態によるCNN200の第6の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図10C乃至図10Hに漸進的に示されるように、姿勢変動に頑健な顔位置調整モジュール130は、図10Aに示されるような、画像データ220の顔画像の表情及び頭部姿勢を回復することが可能である。例示的な実施形態においては、姿勢変動に頑健な顔位置調整モジュール130は、少なくとも、より深い特徴を抽出して、損失関数の逆伝播を使用することにより、これらの結果を提供することが可能である。
【0055】
図11Aは、本開示の例示的な実施形態による画像データ220の一例である。図11Aに示されるように、この例においては、画像データ220は、比較的中立的な表情を有する少なくとも1つの大きな顔姿勢を含む。また、図11Aの画像データ220は、図10Aの画像データ220に含まれる顔の側面とは異なる方の顔の側面を含む。図11Bは、例示的な実施形態による視覚化層240の初期化の一例である。図11Cは、例示的な実施形態によるCNN200の第1の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図11Dは、例示的な実施形態によるCNN200の第2の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図11Eは、例示的な実施形態によるCNN200の第3の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図11Fは、例示的な実施形態によるCNN200の第4の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図11Gは、例示的な実施形態によるCNN200の第5の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図11Hは、例示的な実施形態によるCNN200の第6の視覚化ブロック210に関連する視覚化層240の視覚化データ242の一例である。図11C乃至図11Hに漸進的に示されるように、姿勢変動に頑健な顔位置調整モジュール130は、図11Aに示されるような、画像データ220の顔画像の表情及び頭部姿勢を回復することが可能である。例示的な実施形態においては、姿勢変動に頑健な顔位置調整モジュール130は、少なくとも、より深い特徴を抽出して、損失関数の逆伝播を使用することにより、これらの結果を提供することが可能である。
【0056】
上述のように、システム100は、多数の有利な特徴を含む。例えば、システム100は、単一のCNN200を介したエンドツーエンドトレーニングによって大きな姿勢の顔位置調整方法を実施するように構成されている。さらに、CNN200は、ニューラルネットワークに、即ち、CNN200に組み込まれた少なくとも1つの微分可能な視覚化層240を含み、少なくとも1つの後の視覚化ブロック210から、少なくとも1つの先行する視覚化ブロック210へと誤差を逆伝播することによって共同最適化を可能にする。さらに、システム100は、それぞれの視覚化ブロック210が、手動設計された特徴量を抽出する必要なしに、先行する視覚化ブロック210から抽出された特徴を利用することによって、より深い特徴を抽出することが可能となるように構成されている。また、姿勢変動に頑健な位置調整方法は、CNNのカスケードが含まれる関連するシステムによって提供される方法と比較して、トレーニングフェーズ中により高速に収束する。これに関して、例えば、単一のCNN200のエンドツーエンドトレーニングの主な利点の1つは、トレーニング時間が短縮されることである。さらに、CNN200は、少なくとも1つの視覚化層240を含み、この少なくとも1つの視覚化層240は、微分可能であり、表面法線を介して顔の幾何形状の詳細を符号化する。さらに、姿勢変動に頑健な顔位置調整モジュール130は、姿勢情報及び表情情報の両方を組み込んだ顔領域に集中するために、CNN200をガイドするようにイネーブルされる。さらに、CNN200は、CNN200のアーキテクチャ内の視覚化ブロック210の個数を単純に増加させることにより、より高いレベルの精度及び正確性を達成するように構成され得る。
【0057】
即ち、上記の説明は、限定的ではなく例示的であることを意図しており、特定の用途及びその要件の文脈で提供されている。当業者は、前述の説明から、本発明を種々異なる形態で実施してもよいこと、また、種々の実施形態を単独で又は組合せて実施してもよいことを理解することができる。従って、本発明の実施形態をその特定の例に関連して説明してきたが、本明細書において定義された一般的な原理を、記載された実施形態の精神及び範囲から逸脱することなく他の実施形態及び用途に適用することができ、本発明の実施形態及び/又は方法の真の範囲は、図示及び記載された実施形態に限定されない。なぜなら、当業者には、図面、明細書及び添付の特許請求の範囲を検討することによって種々の修正が明らかであるからである。例えば、コンポーネント及び機能を、記載された種々の実施形態とは異なる方法で分離又は結合してもよく、また、異なる用語を使用して説明してもよい。上記及び他の変形、修正、追加及び改善は、添付の特許請求の範囲において定義されるような本開示の範囲内に含まれ得る。
図1
図2
図3
図4
図5
図6
図7
図8
図9A
図9B
図9C
図9D
図9E
図9F
図9G
図9H
図10A
図10B
図10C
図10D
図10E
図10F
図10G
図10H
図11A
図11B
図11C
図11D
図11E
図11F
図11G
図11H