(57)【特許請求の範囲】
【請求項１】
少なくとも１つの処理ユニットを有する処理システムを含むコンピューティングシステムであって、
前記処理システムは、顔位置調整方法を実行するように構成されており、
前記顔位置調整方法は、
顔画像を有する画像データを受信することと、
前記顔画像のためのパラメータデータの最終推定値を、前記画像データと、前記パラメータデータの初期推定値とに基づいて提供するように、ニューラルネットワークを適用することと、
を含み、
前記ニューラルネットワークは、前記パラメータデータの現在の推定値に基づいて特徴マップを生成するように構成された少なくとも１つの視覚化層を含み、
前記パラメータデータは、頭部姿勢データと顔形状データとを含み、
前記ニューラルネットワークは、モデルフィッティングのためのエンドツーエンドトレーニングを伴う単一の畳み込みニューラルネットワークである、
コンピューティングシステム。
【請求項２】
顔検出モジュールをさらに含み、
前記顔検出モジュールは、少なくとも、
（ｉ）画像を受信し、
（ｉｉ）前記画像内の顔画像を識別し、
（ｉｉｉ）前記顔画像に関する画像データを前記処理システムに提供する、
ように構成されており、
前記顔画像は、正面ビューから側面ビューの範囲内にある顔ビューを提供する、
請求項１に記載のコンピューティングシステム。
【請求項３】
前記顔形状データは、顔アイデンティティパラメータと、顔表情パラメータとを含む、
請求項１に記載のコンピューティングシステム。
【請求項４】
前記ニューラルネットワークは、複数の相互接続された視覚化ブロックを有する単一の畳み込みニューラルネットワークであり、
それぞれの視覚化ブロックは、少なくとも１つの視覚化層と、畳み込み層と、全結合層とを含む、
請求項１に記載のコンピューティングシステム。
【請求項５】
それぞれの視覚化層は、３Ｄ顔モデルの表面法線に基づいており、顔とカメラとの間の相対的な頭部姿勢を視覚化する、
請求項１に記載のコンピューティングシステム。
【請求項６】
それぞれの視覚化層は、マスクを利用して、前記顔画像の複数の異なる部分における画素同士を区別し、視覚化された画像の画素値を、複数の異なる頭部姿勢にわたってゼロ平均及び単位標準偏差に対して正規化する、
請求項１に記載のコンピューティングシステム。
【請求項７】
コンピュータにより顔位置調整を実行するためのコンピュータ実装方法であって、
当該コンピュータ実装方法は、
顔画像を有する画像データを受信することと、
前記顔画像のためのパラメータデータの最終推定値を、前記画像データと、前記パラメータデータの初期推定値とに基づいて提供するように、ニューラルネットワークを適用することと、
を含み、
前記ニューラルネットワークは、前記パラメータデータの現在の推定値に基づいて特徴マップを生成するように構成された少なくとも１つの視覚化層を含み、
前記パラメータデータは、頭部姿勢データと顔形状データとを含み、
前記ニューラルネットワークは、モデルフィッティングのためのエンドツーエンドトレーニングを伴う単一の畳み込みニューラルネットワークである、
コンピュータ実装方法。
【請求項８】
画像に対して顔検出を実施することをさらに含み、
前記顔検出は、
（ｉ）画像を受信することと、
（ｉｉ）前記画像内の顔画像を識別することと、
（ｉｉｉ）前記顔画像に関する画像データを処理システムに提供することと、
を含み、
前記顔画像は、正面ビューから側面ビューの範囲内にある顔ビューを提供する、
請求項７に記載のコンピュータ実装方法。
【請求項９】
前記顔形状データは、顔アイデンティティパラメータと、顔表情パラメータとを含む、
請求項７に記載のコンピュータ実装方法。
【請求項１０】
前記ニューラルネットワークは、複数の相互接続された視覚化ブロックを有する単一の畳み込みニューラルネットワークであり、
それぞれの視覚化ブロックは、前記視覚化層と、前記畳み込み層と、前記全結合層とを少なくとも含む、
請求項７に記載のコンピュータ実装方法。
【請求項１１】
それぞれの視覚化層は、３Ｄ顔モデルの表面法線に基づいており、顔とカメラとの間の相対的な頭部姿勢を視覚化する、
請求項７に記載のコンピュータ実装方法。
【請求項１２】
それぞれの視覚化層は、マスクを利用して、前記顔画像の複数の異なる部分における画素同士を区別し、視覚化された画像の画素値を、複数の異なる頭部姿勢にわたってゼロ平均及び単位標準偏差に対して正規化する、
請求項７に記載のコンピュータ実装方法。
【請求項１３】
少なくとも１つの処理ユニットを有する処理システムによって実行された場合に、顔位置調整方法を実行するためのコンピュータ可読データを少なくとも含む非一時的なコンピュータ可読媒体であって、
前記顔位置調整方法は、
顔画像を有する画像データを受信することと、
前記顔画像のためのパラメータデータの最終推定値を、前記画像データと、前記パラメータデータの初期推定値とに基づいて提供するように、ニューラルネットワークを適用することと
を含み、
前記ニューラルネットワークは、前記パラメータデータの現在の推定値に基づいて特徴マップを生成するように構成された少なくとも１つの視覚化層を含み、
前記パラメータデータは、頭部姿勢データと顔形状データとを含み、
前記ニューラルネットワークは、モデルフィッティングのためのエンドツーエンドトレーニングを伴う単一の畳み込みニューラルネットワークである、
非一時的なコンピュータ可読媒体。
【請求項１４】
前記顔形状データは、顔アイデンティティパラメータと、顔表情パラメータとを含む、
請求項１３に記載の非一時的なコンピュータ可読媒体。
【請求項１５】
前記ニューラルネットワークは、複数の相互接続された視覚化ブロックを有する単一の畳み込みニューラルネットワークであり、
それぞれの視覚化ブロックは、前記視覚化層と、前記畳み込み層と、前記全結合層とを少なくとも含む、
請求項１３に記載の非一時的なコンピュータ可読媒体。
【請求項１６】
それぞれの視覚化層は、３Ｄ顔モデルの表面法線に基づいており、顔とカメラとの間の相対的な頭部姿勢を視覚化する、
請求項１３に記載の非一時的なコンピュータ可読媒体。
【請求項１７】
それぞれの視覚化層は、マスクを利用して、前記顔画像の複数の異なる部分における画素同士を区別し、視覚化された画像の画素値を、複数の異なる頭部姿勢にわたってゼロ平均及び単位標準偏差に対して正規化する、
請求項１３に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本開示は、顔位置調整のためのシステム及び方法に関する。
【背景技術】
【０００２】
背景
一般に、畳み込みニューラルネットワーク（ＣＮＮ）のカスケードを用いて実施される顔位置調整技術は、少なくとも以下の欠点、即ち、エンドツーエンド（End to End）トレーニングの欠如、手動設計された特徴量（handcrafted feature）の抽出、及び、緩慢なトレーニング速度という欠点を経験している。例えば、エンドツーエンドトレーニングがなければ、複数のＣＮＮを共同で最適化することは不可能であり、これによって最適でない解決策がもたらされることとなる。さらに、これらの種類の顔位置調整技術は、姿勢や表情等のような種々の顔要因を考慮しない、手動設計された特徴量を抽出するという単純な方法を実施することが多い。さらに、これらのＣＮＮのカスケードは、典型的には浅いフレームワークを有しており、このような浅いフレームワークは、初期段階のＣＮＮの抽出された特徴に基づいてより深い特徴を抽出することが不可能である。さらに、これらのＣＮＮのトレーニングは、通常、複数のＣＮＮの各々が独立して連続的にトレーニングされること、また、２つの連続するＣＮＮの間で手動設計された特徴量を抽出することが必要となることが理由で、時間がかかるものである。
【発明の概要】
【課題を解決するための手段】
【０００３】
概要
以下は、詳細に後述される特定の実施形態の概要である。記載される態様は、これらの特定の実施形態の簡単な概要を読者に提供するために提示されるに過ぎず、これらの態様の記載は、本開示の範囲を限定することを意図したものではない。実際に、本開示は、以下で明示的に記載されていない可能性のある種々の態様を包含し得る。
【０００４】
例示的な実施形態においては、コンピューティングシステムは、少なくとも１つの処理ユニットを有する処理システムを含む。処理システムは、顔画像を有する画像データを受信すると、顔位置調整方法を実行するように構成されている。処理システムは、顔画像にニューラルネットワークを適用するように構成されている。ニューラルネットワークは、顔画像のためのパラメータデータの最終推定値を、画像データと、パラメータデータの初期推定値とに基づいて提供するように構成されている。ニューラルネットワークは、パラメータデータの現在の推定値に基づいて特徴マップを生成するように構成された少なくとも１つの視覚化層を含む。パラメータデータは、頭部姿勢データと顔形状データとを含む。
【０００５】
例示的な実施形態においては、コンピュータ実装方法は、顔画像を有する画像データを受信することを含む。コンピュータ実装方法は、顔画像のためのパラメータデータの最終推定値を、画像データと、パラメータデータの初期推定値とに基づいて提供するように、ニューラルネットワークを実装することを含む。ニューラルネットワークは、パラメータデータの現在の推定値に基づいて特徴マップを生成するように構成された少なくとも１つの視覚化層を含む。パラメータデータは、頭部姿勢データと顔形状データとを含む。
【０００６】
例示的な実施形態においては、非一時的なコンピュータ可読媒体は、少なくとも１つの処理ユニットを有する処理システムによって実行された場合に、顔画像を有する画像データを受信することを含む方法を実行するコンピュータ可読データを少なくとも含む。本方法は、顔画像のためのパラメータデータの最終推定値を、画像データと、パラメータデータの初期推定値とに基づいて提供するように、ニューラルネットワークを実装することを含む。ニューラルネットワークは、パラメータデータの現在の推定値に基づいて特徴マップを生成するように構成された少なくとも１つの視覚化層を含む。パラメータデータは、頭部姿勢データと顔形状データとを含む。
【０００７】
本発明の上記及び他の特徴、態様及び利点は、同様の部分が同様の参照符号によって表されている添付の図面を考慮して、特定の例示的な実施形態の以下の詳細な説明によってさらに明らかとなる。
【図面の簡単な説明】
【０００８】
【図１】本開示の例示的な実施形態によるシステムのブロック図である。
【図２】本開示の例示的な実施形態による、図１のシステムの姿勢変動に頑健な顔位置調整モジュールを示す図である。
【図３】本開示の例示的な実施形態による、図２のＣＮＮのアーキテクチャのブロック図である。
【図４】本開示の例示的な実施形態による視覚化ブロックの概念図である。
【図５】本開示の例示的な実施形態による視覚化ブロックのアーキテクチャの例示的な図である。
【図６】本開示の例示的な実施形態によるマスクの一例を示す図である。
【図７】本開示の代替的な例示的な実施形態によるマスクの一例を示す図である。
【図８】本開示の例示的な実施形態による、３Ｄオブジェクトのための表面法線ベクトルに基づいて投影中に所望の表面点を選択する一例を示す図である。
【図９Ａ】本開示の例示的な実施形態による画像データの一例を示す図である。
【図９Ｂ】本開示の例示的な実施形態による視覚化層の初期化の一例を示す図である。
【図９Ｃ】本開示の例示的な実施形態によるＣＮＮの第１の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図９Ｄ】本開示の例示的な実施形態によるＣＮＮの第２の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図９Ｅ】本開示の例示的な実施形態によるＣＮＮの第３の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図９Ｆ】本開示の例示的な実施形態によるＣＮＮの第４の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図９Ｇ】本開示の例示的な実施形態によるＣＮＮの第５の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図９Ｈ】本開示の例示的な実施形態によるＣＮＮの第６の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図１０Ａ】本開示の例示的な実施形態による画像データの一例を示す図である。
【図１０Ｂ】本開示の例示的な実施形態による視覚化層の初期化の一例を示す図である。
【図１０Ｃ】本開示の例示的な実施形態によるＣＮＮの第１の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図１０Ｄ】本開示の例示的な実施形態によるＣＮＮの第２の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図１０Ｅ】本開示の例示的な実施形態によるＣＮＮの第３の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図１０Ｆ】本開示の例示的な実施形態によるＣＮＮの第４の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図１０Ｇ】本開示の例示的な実施形態によるＣＮＮの第５の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図１０Ｈ】本開示の例示的な実施形態によるＣＮＮの第６の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図１１Ａ】本開示の例示的な実施形態による画像データの一例を示す図である。
【図１１Ｂ】本開示の例示的な実施形態による視覚化層の初期化の一例を示す図である。
【図１１Ｃ】本開示の例示的な実施形態によるＣＮＮの第１の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図１１Ｄ】本開示の例示的な実施形態によるＣＮＮの第２の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図１１Ｅ】本開示の例示的な実施形態によるＣＮＮの第３の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図１１Ｆ】本開示の例示的な実施形態によるＣＮＮの第４の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図１１Ｇ】本開示の例示的な実施形態によるＣＮＮの第５の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【図１１Ｈ】本開示の例示的な実施形態によるＣＮＮの第６の視覚化ブロックに関連する視覚化層の視覚化データの一例を示す図である。
【発明を実施するための形態】
【０００９】
詳細な説明
一例として図示及び説明された上記実施形態並びに上記実施形態の利点の多くは、前述の説明によって理解されるであろう。開示された主題から逸脱することなく、又は、開示された主題の利点のうちの１つ又は複数を犠牲にすることなく、コンポーネントの形態、構造及び配置に関して種々の変更を加えることができることは明らかであろう。実際に、これらの実施形態の記載された形態は、説明目的のものに過ぎない。これらの実施形態は、種々の修正形態及び代替形態が可能であり、添付の特許請求の範囲は、そのような変更を包含及び含有し、開示された特定の形態には限定されておらず、むしろ、本開示の精神及び範囲に含まれる全ての修正形態、等価形態及び代替形態を網羅することが意図されている。
【００１０】
図１は、姿勢変動に頑健な顔位置調整（pose-invariant face alignment）を実施するように構成されたコンピュータシステム１００のブロック図である。これに関して、コンピュータシステム１００は、種々のソフトウェアコンポーネント及びハードウェアコンポーネントを含む。例えば、コンピュータシステム１００は、少なくとも、メモリシステム１１０と、顔検出モジュール１２０と、姿勢変動に頑健な顔位置調整モジュール（pose-invariant face alignment module）１３０と、処理システム１４０と、通信システム１５０と、他の機能モジュール１６０とを含む。例示的な実施形態においては、コンピュータシステム１００は、本明細書に開示され、姿勢変動に頑健な顔位置調整モジュール１３０によって提供されるような、姿勢変動に頑健な顔位置調整方法を実施及び実行するように構成されている。さらに、例示的な実施形態においては、コンピュータシステム１００は、姿勢変動に頑健な顔位置調整方法を実施及び実行する前に、本明細書に開示され、顔検出モジュール１２０によって提供されるような顔検出を実施及び実行するようにも構成されている。
【００１１】
例示的な実施形態においては、メモリシステム１１０は、姿勢変動に頑健な顔位置調整モジュール１３０に関連するトレーニングデータ及び他のデータが含まれる、種々のデータを含む。例示的な実施形態においては、メモリシステム１１０は、少なくとも本明細書で開示されるような動作及び機能を可能にするために、種々のデータを記憶し、かつ、種々のデータへのアクセスを提供するように構成されたコンピュータ又は電子記憶システムである。例示的な実施形態においては、メモリシステム１１０は、単一のデバイス又は複数のデバイスを含む。例示的な実施形態においては、メモリシステム１１０は、電気技術、電子技術、磁気技術、光学技術、半導体技術、電磁技術、又は、任意の適当な技術を含むことができる。例えば、例示的な実施形態においては、メモリシステム１１０は、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、ディスクドライブ、メモリカード、光学記憶装置、磁気記憶装置、メモリモジュール、任意の適当な種類のメモリデバイス、又は、これらの任意の組合せを含むことができる。例示的な実施形態においては、メモリシステム１１０は、コンピュータシステム１００に対してローカルであるか、リモートであるか、又は、これらの組合せ（例えば、一部がローカルであり、一部がリモートである）である。例示的な実施形態においては、メモリシステム１１０は、コンピュータシステム１００の他のコンポーネントから離れている少なくとも１つのクラウドベースの記憶システム（例えばクラウドベースのデータベースシステム）を含むことができる。
【００１２】
例示的な実施形態においては、顔検出モジュール１２０は、ハードウェア、ソフトウェア、又は、これらの組合せを含む。例示的な実施形態においては、顔検出モジュール１２０は、少なくとも、画像を受信し、画像内の顔画像を識別し、顔画像に関連する画像データ２２０を提供するように構成されている。例示的な実施形態においては、処理システム１４０は、少なくとも、中央処理装置（ＣＰＵ）、グラフィック処理装置（ＧＰＵ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、システムオンチップシステム（ＳＯＣ）、プログラマブルロジックデバイス（ＰＬＤ）、任意の適当なコンピューティング技術、又は、これらの任意の組合せを含む。
【００１３】
例示的な実施形態においては、通信システム１５０は、コンピュータシステム１００のコンポーネントの任意の適当な組合せが、相互に通信することを可能にする適当な通信技術を含む。例示的な実施形態においては、通信システム１５０は、有線ベースの技術、無線ベースの技術、及び／又は、これらの組合せを含む。例示的な実施形態においては、通信システム１５０は、有線ネットワーク、無線ネットワーク、又は、これらの組合せを含む。例示的な実施形態においては、通信システム１５０は、任意の適当な種類のコンピュータネットワーク及び／又はアーキテクチャを含む。例示的な実施形態においては、通信システム１５０は、インターネットへの接続を含む。
【００１４】
例示的な実施形態においては、他の機能モジュール１６０は、ハードウェア、ソフトウェア、又は、これらの組合せを含む。例えば、他の機能モジュール１６０は、論理回路、オペレーティングシステム、Ｉ／Ｏデバイス（例えばディスプレイ等）、他のコンピュータ技術、又は、これらの任意の組合せを含む。より具体的には、例示的な実施形態においては、他の機能モジュール１６０は、姿勢変動に頑健な顔位置調整モジュール１３０が、本明細書に開示されるように動作及び機能することを可能にする。例示的な実施形態においては、他の機能モジュール１６０は、カメラ及び／又は光学システムを含む。これに関して、カメラ及び／又は光学システムは、姿勢変動に頑健な顔位置調整モジュール１３０に画像データ２２０が提供されるように、顔検出モジュール１２０及び／又は処理システム１４０に画像を提供するように構成されている。また、例示的な実施形態においては、他の機能モジュール１６０は、顔認識モジュール、表情推定モジュール、３Ｄ顔再構成モジュール、任意の適当な顔分析モジュール、又は、これらの任意の組合せのような、顔分析モジュールを含む。これに関して、顔分析モジュールは、ＣＮＮ２００からの顔画像に関するパラメータデータの最終推定値のような出力に従って、顔分析を実施するように構成されている。
【００１５】
図２は、例示的な実施形態による、姿勢変動に頑健な顔位置調整モジュール１３０を示す。例示的な実施形態においては、姿勢変動に頑健な顔位置調整モジュール１３０は、単一のＣＮＮ２００を含む。例示的な実施形態においては、このＣＮＮ２００は、少なくとも画像データ２２０とパラメータ２３０の集合とを入力として受信するように構成されている。顔検出モジュール１２０から画像データ２２０（即ち、任意の頭部姿勢を有する単一の顔画像）を受信し、パラメータ２３０の集合を取得すると、姿勢変動に頑健な顔位置調整モジュール１３０は、３Ｄ顔モデルをフィッティングすることによって各自の可視性ラベルを有する２Ｄランドマークを推定するように構成されている。これに関して、姿勢変動に頑健な顔位置調整モジュール１３０は、モデルフィッティングのためのエンドツーエンドトレーニングを有する単一のＣＮＮ２００を含む。
【００１６】
図３は、例示的な実施形態によるＣＮＮ２００の例示的なアーキテクチャを示す。図示のように、ＣＮＮ２００は、複数の相互接続された視覚化ブロック２１０を含む。例えば、非限定的な例として、ＣＮＮ２００は、少なくとも６つの視覚化ブロック２１０を含む。これに関して、ＣＮＮ２００は、所望の結果を提供する任意の適当な個数の視覚化ブロック２１０を含む。例示的な実施形態においては、入力は、画像データ２２０と、少なくとも１つのパラメータの初期推定値、例えばパラメータＰ０とを含み、出力は、パラメータの集合の最終推定値２９０である。ＣＮＮ２００のカスケードを有する関連するシステムと比較して、姿勢変動に頑健な顔位置調整モジュール１３０は、損失関数の逆伝播によって全ての視覚化ブロック２１０を共同で最適化することに起因して、トレーニング中に格段に少ないエポック数で収束することが可能なアーキテクチャを有する１つのＣＮＮ２００を有する。
【００１７】
例示的な実施形態においては、システム１００は、３Ｄモーフィング可能なモデル（３ＤＭＭ）を含む。例示的な実施形態においては、メモリシステム１１０（例えばトレーニングデータ）、姿勢変動に頑健な顔位置調整モジュール１３０、又は、これらの組合せに、３ＤＭＭが含まれる。例示的な実施形態においては、３ＤＭＭは、顔の３Ｄ形状を表す。より具体的には、３ＤＭＭは、３Ｄ顔Ｓｐを、次の式を介して平均形状Ｓ０と、アイデンティティ基底ＳＩと、表情基底ＳＥとの線型結合として表す：
【００１８】
【数１】
0006918198.tif 000002
【００１９】
例示的な実施形態においては、姿勢変動に頑健な顔位置調整モジュール１３０は、３Ｄ形状パラメータのためにベクトルｐ＝［ｐＩ，ｐＥ］を使用する。なお、
【数２】
0006918198.tif 000003
は、アイデンティティパラメータであり、
【数３】
0006918198.tif 000004
は、表情パラメータである。例示的な実施形態においては、姿勢変動に頑健な顔位置調整モジュール１３０は、アイデンティティ基底として１９９個の基底を有するバーゼル３Ｄ顔モデルを使用し、表情基底として２９個の基底を有する顔ウェアハウスモデルを使用する。
この場合、それぞれの３Ｄ顔形状は、Ｑ個の３Ｄ頂点の集合を含む：
【００２０】
【数４】
0006918198.tif 000005
【００２１】
例示的な実施形態においては、２Ｄ顔形状は、３Ｄ形状の投影図である。例示的な実施形態においては、６自由度、即ち、スケールのための１自由度、回転角度のための３自由度、及び、平行移動のための２自由度を有する弱透視投影モデルが使用され、この弱透視投影モデルは、次の式で表されるような２Ｄ形状Ｕを取得するために、３Ｄ顔形状Ｓｐを２Ｄ画像上に投影する：
【００２２】
【数５】
0006918198.tif 000006
【００２３】
なお、
【００２４】
【数６】
0006918198.tif 000007
【００２５】
であり、かつ、
【００２６】
【数７】
0006918198.tif 000008
である。
【００２７】
この場合、Ｕは、Ｎ個の２Ｄランドマークの集合を収集し、Ｍは、記号の濫用Ｐ＝｛Ｍ，ｐ｝を有するカメラ投影行列であり、Ｎ次元ベクトルｂは、２Ｄランドマークに意味的に対応する３Ｄ頂点インデックスを含む。例示的な実施形態においては、ｍ１＝［ｍ１ｍ２ｍ３］及びｍ２＝［ｍ５ｍ６ｍ７］は、スケーリングされた回転成分の最初の２行を示し、その一方で、ｍ４及びｍ８は、平行移動である。
【００２８】
式３は、２ＤランドマークＵとＰとの間、即ち、３Ｄ形状パラメータｐとカメラ投影行列Ｍとの間における関係性又は等価性を確立するものである。顔位置調整のためのほぼ全てのトレーニング画像が２Ｄラベルのみ、即ち、Ｕのみを有しているとすると、処理システム１４０は、それらの対応するＰを計算するためのデータ拡張ステップを実施する。画像データ２２０が与えられると、姿勢変動に頑健な顔位置調整モジュール１３０は、パラメータＰを推定するように構成されており、このパラメータＰに基づいて、２Ｄランドマーク及び２Ｄランドマークの可視性を導出することができる。
【００２９】
図４は、例示的な実施形態による視覚化ブロック２１０の概念図を示す。図４に示されるように、視覚化ブロック２１０は、視覚化層２４０を含み、この視覚化層２４０は、ＣＮＮ２００の内側で推定されたパラメータから３Ｄ顔形状を再構成し、可視頂点の表面法線ベクトル８０８／８１０を介して２Ｄ画像を合成する。例示的な実施形態においては、視覚化層２４０は、先行する視覚化ブロック２１０の位置調整結果を視覚化し、この位置調整結果を、現在の視覚化ブロック２１０のために利用する。例示的な実施形態においては、視覚化層２４０は、基礎となる３Ｄ顔モデル８０６の表面法線８０８／８１０から導出され、顔とカメラ（図８）との間の相対姿勢を符号化する。また、例示的な実施形態においては、視覚化層２４０は、微分可能であり、これによって勾配を分析的に計算することが可能となり、それによってＣＮＮ２００のエンドツーエンドトレーニングが可能となる。さらに、図４に示されるように、視覚化層２４０は、マスク６００／７００を利用して、顔画像の中央部分の画素と輪郭部分の画素とを区別し、また、視覚化された画像の画素値を、複数の異なる姿勢にわたって同等のものとする。さらに、図４に示されるように、ＣＮＮ２００の最後の視覚化ブロック２１０によって提供されるような、顔画像のパラメータの最終推定値２９０を、顔分析モジュールに提供して、顔ランドマーク検出結果３００を取得することができる。
【００３０】
図５は、例示的な実施形態によるＣＮＮ２００の視覚化ブロック２１０を示す。上述のように、それぞれの視覚化ブロック２１０は、最新のパラメータ推定値に基づいている視覚化層２４０を含む。これに関して、それぞれの視覚化層２４０は、連続する複数の視覚化ブロック２１０の間のブリッジとして機能する。例示的な実施形態においては、それぞれの視覚化層２４０は、現在の推定又は入力されたパラメータＰに基づいて特徴マップ２５０を生成する。それぞれの畳み込み層２６０の後には、バッチ正規化（ＢＮ）層及び整流線形単位（ＲｅＬＵ）層が続く。それぞれの畳み込み層２６０は、先行する視覚化ブロック２１０及び視覚化層２４０によって提供された入力特徴に基づいて、より深い特徴を抽出する。２つの全結合層２７０の間においては、第１の畳み込み層２６０の後に、ＲｅＬＵ層及びドロップアウト層が続き、その一方で、第２の畳み込み層２６０は、Ｍ及びｐの更新量ΔΡを同時に推定する。例示的な実施形態においては、例えば入力ＰにΔΡを追加する場合、視覚化ブロック２１０の出力は、出力データ２８０Ａと、パラメータ２３０の新しい推定値（又は現在の推定値）２８０Ｂとを含む。図５においては、出力データ２８０Ａは、より深い特徴と、画像データ２２０とを含む。他の例示的な実施形態においては、出力データ２８０Ａは、より深い特徴を含む。他の代替的な例示的な実施形態においては、出力データ２８０Ａは、画像データ２２０を含む。例示的な実施形態においては、図５に示されるように、基本的に、視覚化ブロック２１０の上側の部分は、より深い特徴の学習に集中しており、その一方で、下側の部分は、そのような特徴を利用してＲｅｓＮｅｔのような構造でパラメータ２３０を推定する。トレーニング段階の逆方向経路中に、視覚化ブロック２１０は、これらの入力の両方を介して損失を逆伝播して、先行する視覚化ブロック２１０における畳み込み層２６０と全結合層２７０とを調整する。この動作によって視覚化ブロック２１０は、次の視覚化ブロック２１０のために適した、パラメータ推定全体を改善する、より良好な特徴を抽出することが可能となる。
【００３１】
例示的な実施形態においては、ＣＮＮ２００は、少なくとも２つの種類の損失関数を使用するように構成されている。この場合には、例えば、第１の種類の損失関数は、推定値と、パラメータ更新のターゲットとの間のユークリッド損失であり、この際、それぞれのパラメータは、次の式で表されるように別個に重み付けされる：
【００３２】
【数８】
0006918198.tif 000009
【００３３】
なお、
【数９】
0006918198.tif 000010
は、損失であり、Δｐｉは、推定値であり、
【数１０】
0006918198.tif 000011
は、ｉ番目の視覚化ブロック２１０におけるターゲット（又はグラウンドトゥルース）である。この式において、対角行列Ｗには重みが含まれる。形状パラメータｐのそれぞれの要素に関して、重みは、３ＤＭＭトレーニングにおいて使用されるデータから取得された標準偏差の逆数である。Ｍのパラメータ間の相対的なスケールを補償するために、処理システム１４０は、トレーニングデータにおけるスケーリングされた回転パラメータの平均と、平行移動パラメータの平均との間の比ｒを計算する。この点に関して、Ｍのスケーリングされた回転パラメータの重みは、１／ｒに設定され、Ｍの平行移動パラメータの重みは、１に設定される。さらに、第２の種類の損失関数は、次の式で表されるような、結果的に生じる２Ｄランドマークに対するユークリッド損失である：
【００３４】
【数１１】
0006918198.tif 000012
【００３５】
なお、
【数１２】
0006918198.tif 000013
は、グラウンドトゥルースの２Ｄランドマークであり、Ｐｉは、ｉ番目のブロックへの入力パラメータ、即ち、ｉ−１番目のブロックの出力である。これに関して、ｆ（・）は、式３を介して現在更新されているパラメータを使用して２Ｄランドマークの位置を計算する。例示的な実施形態においては、この損失関数をパラメータΔΡに逆伝播するために、次の式で表されるように、勾配を計算するために連鎖律が使用される：
【００３６】
【数１３】
0006918198.tif 000014
【００３７】
例示的な実施形態においては、ＣＮＮ２００の最初の３つの視覚化ブロック２１０に関して、パラメータ更新に対するユークリッド損失（式６）が使用され、その一方で、ＣＮＮ２００の最後の３つのブロックには、２Ｄランドマークに対するユークリッド損失（式７）が適用される。最初の３つのブロックは、３Ｄ形状を顔画像に大まかに位置調整するためにパラメータを推定し、最後の３つのブロックは、パラメータと２Ｄランドマークの位置とをより正確に推定するために良好な初期化を活用する。
【００３８】
例示的な実施形態においては、視覚化層２４０は、局所近傍における表面方位を提供する３Ｄ顔の表面法線に基づいている。例示的な実施形態においては、処理システム１４０は、姿勢に伴って変換されるそれぞれの頂点の表面法線のｚ座標を使用する。これに関して、ｚ座標は、頂点の「正面性（frontability）」の指標であり、即ち、表面法線がカメラ８００に向いている量の指標である。この量は、投影された２Ｄ位置に強度値を割り当て、視覚化データ２４２（例えば視覚化画像）を構築するために使用される。例示的な実施形態においては、正面性の尺度ｇ、即ち、Ｑ次元ベクトルを、次の式を介して計算することができる：
【００３９】
【数１４】
0006918198.tif 000015
【００４０】
なお、ｘは、クロス積であり、‖・‖は、Ｌ２ノルムを示す。３ｘＱ行列Ｎ０は、３Ｄ顔形状の表面法線ベクトルである。その都度の形状更新後に表面法線を計算するという高い計算コストを回避するために、処理システム１４０は、平均３Ｄ顔の表面法線としてＮ０を近似する。
【００４１】
例示的な実施形態においては、顔形状及び頭部姿勢の両方が、複数の異なる視覚化ブロック２１０にわたって依然として連続的に更新され、投影された２Ｄ位置を決定するために使用される。従って、この近似は、強度値に対してわずかな影響しか与えないだろう。表面法線を頭部姿勢に基づいて変換するために、処理システム１４０は、スケーリングされた回転行列（ｍ１及びｍ２）の推定値を、平均顔から計算された表面法線に適用する。次に、値は、式９に示されるように下限０で切り捨てられる。視覚化された画像の画素強度Ｖ（ｕ，ｖ）は、次の式で表されるように、局所近傍内の正面性の測定値の加重平均として計算される：
【００４２】
【数１５】
0006918198.tif 000016
【００４３】
なお、Ｄ（ｕ，ｖ）は、２Ｄ投影位置が画素（ｕ，ｖ）の局所近傍内にある頂点インデックスの集合である。
【数１６】
0006918198.tif 000017
は、ｑ番目の３Ｄ頂点の２Ｄ投影位置である。重みｗは、画素（ｕ，ｖ）と、投影位置
【数１７】
0006918198.tif 000018
との間の距離メトリックである。
【００４４】
【数１８】
0006918198.tif 000019
【００４５】
さらに、ａは、次の式で表されるように、顔の中央領域にある頂点に対して正の値を有し、かつ、顔の輪郭領域の周囲にある頂点に対して負の値を有する、Ｑ次元マスクベクトルである。
【００４６】
【数１９】
0006918198.tif 000020
【００４７】
なお、（ｘｎ；ｙｎ；ｚｎ）は、鼻尖部の頂点座標である。
【００４８】
また、この方程式においては、ａ（ｑ）が事前に計算され、ゼロ平均及び単位標準偏差に対して正規化される。例示的な実施形態においては、処理システム１４０は、マスク６００を使用して、顔の中央領域と境界領域とを弁別すると共に、複数の異なる顔の視覚化にわたる類似性を高める。
【００４９】
例示的な実施形態においては、視覚化層２４０による損失関数の逆伝播を可能にするために、処理システム１４０は、パラメータＭ及びｐの要素に関してＶの導関数を計算する。これに関して、処理システム１４０は、偏導関数
【数２０】
0006918198.tif 000021
を計算する。例示的な実施形態においては、処理システム１４０は、次に、式１０に基づいて
【数２１】
0006918198.tif 000022
の導関数を計算する。
【００５０】
図６は、例示的な実施形態による例示的なマスク６００の視覚化の２つのビューを示す。具体的には、図６は、マスク６００の正面ビュー６０２と、マスク６００の側方ビュー６０４（又は側面ビュー）とを含む。この場合、マスク６００は、例えば、少なくとも式１２によって表される。図６に示されるように、ａ（ｑ）によって表されるようなマスク６００は、スケール６０６によって示されるように、中央領域において正の値を有し、輪郭領域において負の値を有する。
【００５１】
図７は、代替的な例示的な実施形態によるマスク７００の他の一例を示す。具体的には、図７は、マスク７００の正面ビュー７０２と、マスク７００の側方ビュー７０４（又は側面ビュー）とを含む。この例においては、マスク７００は、スケール７０６によって示されるように、２つの目の領域と、１つの鼻尖部の領域と、２つの唇の口角の領域とが含まれる５つの正の領域を有する。また、この例においては、値がゼロ平均及び単位標準偏差に対して正規化されている。これに関して、マスク７００は、視覚化された画像の画素値を、複数の異なる姿勢を有する顔に対して同等のものとし、顔の中央領域と輪郭領域とを弁別する。図７のマスク７００は、図６のマスク６００によって提供されるものと比較してより複雑であり、インフォーマティブな顔領域に関してより多くの情報を伝達する。
【００５２】
図８は、複数の画素を有する画像平面８０２に対するカメラ８００の位置を示す。さらに、図８は、画像平面８０２の人間の顔画像を３Ｄオブジェクト８０６として視覚化したものと共に、画像平面８０２の画像画素に沿って延在する画素軸線８０４を示す。図８はまた、矢印８０８で示されるような、負のｚ座標を有する表面法線ベクトルと、矢印８１０で示されるような、正のｚ座標及び比較的小深度を有する表面法線ベクトルとを含む。これに関して、人間の顔を３Ｄオブジェクト８０６として任意の視野角で視覚化するためには、それぞれの３Ｄ頂点の可視性の推定が必要となる。計算コストの高いレンダリングによる可視性テストを回避するために、処理システム１４０は、近似のための少なくとも２つの戦略を実施するように構成されている。１つの戦略として、例えば、処理システム１４０は、正面性の測定値ｇが０に等しい頂点、即ち、カメラ８００を指している頂点を除去するように構成されている。第２に、複数の頂点が、画素軸線８０４を介して同一の画像画素に投影される場合には、処理システム１４０は、例えば図８の矢印８１０で示されるように、最小深度値を有する頂点のみを保持するように構成されている。
【００５３】
図９Ａは、例示的な実施形態による画像データ２２０の一例である。図９Ａに示されるように、この例においては、画像データ２２０は、口を開けた表情（例えば笑顔）を有する少なくとも１つの大きな顔姿勢を含む。図９Ｂは、例示的な実施形態による視覚化層２４０の初期化の一例である。図９Ｃは、例示的な実施形態によるＣＮＮ２００の第１の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図９Ｄは、例示的な実施形態によるＣＮＮ２００の第２の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図９Ｅは、例示的な実施形態によるＣＮＮ２００の第３の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図９Ｆは、例示的な実施形態によるＣＮＮ２００の第４の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図９Ｇは、例示的な実施形態によるＣＮＮ２００の第５の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図９Ｈは、本開示の例示的な実施形態によるＣＮＮ２００の第６の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図９Ｃ乃至図９Ｈに漸進的に示されるように、姿勢変動に頑健な顔位置調整モジュール１３０は、図９Ａに示されるような、画像データ２２０の顔画像の表情及び頭部姿勢を回復することが可能である。例示的な実施形態においては、姿勢変動に頑健な顔位置調整モジュール１３０は、少なくとも、より深い特徴を抽出して、損失関数の逆伝播を使用することにより、これらの結果を提供することが可能である。
【００５４】
図１０Ａは、本開示の例示的な実施形態による画像データ２２０の一例である。図１０Ａに示されるように、この例においては、画像データ２２０は、比較的中立的な表情を有する少なくとも１つの大きな顔姿勢を含む。図１０Ｂは、本開示の例示的な実施形態による視覚化層２４０の初期化の一例である。図１０Ｃは、本開示の例示的な実施形態によるＣＮＮ２００の第１の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図１０Ｄは、本開示の例示的な実施形態によるＣＮＮ２００の第２の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図１０Ｅは、本開示の例示的な実施形態によるＣＮＮ２００の第３の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図１０Ｆは、例示的な実施形態によるＣＮＮ２００の第４の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図１０Ｇは、例示的な実施形態によるＣＮＮ２００の第５の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図１０Ｈは、例示的な実施形態によるＣＮＮ２００の第６の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図１０Ｃ乃至図１０Ｈに漸進的に示されるように、姿勢変動に頑健な顔位置調整モジュール１３０は、図１０Ａに示されるような、画像データ２２０の顔画像の表情及び頭部姿勢を回復することが可能である。例示的な実施形態においては、姿勢変動に頑健な顔位置調整モジュール１３０は、少なくとも、より深い特徴を抽出して、損失関数の逆伝播を使用することにより、これらの結果を提供することが可能である。
【００５５】
図１１Ａは、本開示の例示的な実施形態による画像データ２２０の一例である。図１１Ａに示されるように、この例においては、画像データ２２０は、比較的中立的な表情を有する少なくとも１つの大きな顔姿勢を含む。また、図１１Ａの画像データ２２０は、図１０Ａの画像データ２２０に含まれる顔の側面とは異なる方の顔の側面を含む。図１１Ｂは、例示的な実施形態による視覚化層２４０の初期化の一例である。図１１Ｃは、例示的な実施形態によるＣＮＮ２００の第１の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図１１Ｄは、例示的な実施形態によるＣＮＮ２００の第２の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図１１Ｅは、例示的な実施形態によるＣＮＮ２００の第３の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図１１Ｆは、例示的な実施形態によるＣＮＮ２００の第４の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図１１Ｇは、例示的な実施形態によるＣＮＮ２００の第５の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図１１Ｈは、例示的な実施形態によるＣＮＮ２００の第６の視覚化ブロック２１０に関連する視覚化層２４０の視覚化データ２４２の一例である。図１１Ｃ乃至図１１Ｈに漸進的に示されるように、姿勢変動に頑健な顔位置調整モジュール１３０は、図１１Ａに示されるような、画像データ２２０の顔画像の表情及び頭部姿勢を回復することが可能である。例示的な実施形態においては、姿勢変動に頑健な顔位置調整モジュール１３０は、少なくとも、より深い特徴を抽出して、損失関数の逆伝播を使用することにより、これらの結果を提供することが可能である。
【００５６】
上述のように、システム１００は、多数の有利な特徴を含む。例えば、システム１００は、単一のＣＮＮ２００を介したエンドツーエンドトレーニングによって大きな姿勢の顔位置調整方法を実施するように構成されている。さらに、ＣＮＮ２００は、ニューラルネットワークに、即ち、ＣＮＮ２００に組み込まれた少なくとも１つの微分可能な視覚化層２４０を含み、少なくとも１つの後の視覚化ブロック２１０から、少なくとも１つの先行する視覚化ブロック２１０へと誤差を逆伝播することによって共同最適化を可能にする。さらに、システム１００は、それぞれの視覚化ブロック２１０が、手動設計された特徴量を抽出する必要なしに、先行する視覚化ブロック２１０から抽出された特徴を利用することによって、より深い特徴を抽出することが可能となるように構成されている。また、姿勢変動に頑健な位置調整方法は、ＣＮＮのカスケードが含まれる関連するシステムによって提供される方法と比較して、トレーニングフェーズ中により高速に収束する。これに関して、例えば、単一のＣＮＮ２００のエンドツーエンドトレーニングの主な利点の１つは、トレーニング時間が短縮されることである。さらに、ＣＮＮ２００は、少なくとも１つの視覚化層２４０を含み、この少なくとも１つの視覚化層２４０は、微分可能であり、表面法線を介して顔の幾何形状の詳細を符号化する。さらに、姿勢変動に頑健な顔位置調整モジュール１３０は、姿勢情報及び表情情報の両方を組み込んだ顔領域に集中するために、ＣＮＮ２００をガイドするようにイネーブルされる。さらに、ＣＮＮ２００は、ＣＮＮ２００のアーキテクチャ内の視覚化ブロック２１０の個数を単純に増加させることにより、より高いレベルの精度及び正確性を達成するように構成され得る。
【００５７】
即ち、上記の説明は、限定的ではなく例示的であることを意図しており、特定の用途及びその要件の文脈で提供されている。当業者は、前述の説明から、本発明を種々異なる形態で実施してもよいこと、また、種々の実施形態を単独で又は組合せて実施してもよいことを理解することができる。従って、本発明の実施形態をその特定の例に関連して説明してきたが、本明細書において定義された一般的な原理を、記載された実施形態の精神及び範囲から逸脱することなく他の実施形態及び用途に適用することができ、本発明の実施形態及び／又は方法の真の範囲は、図示及び記載された実施形態に限定されない。なぜなら、当業者には、図面、明細書及び添付の特許請求の範囲を検討することによって種々の修正が明らかであるからである。例えば、コンポーネント及び機能を、記載された種々の実施形態とは異なる方法で分離又は結合してもよく、また、異なる用語を使用して説明してもよい。上記及び他の変形、修正、追加及び改善は、添付の特許請求の範囲において定義されるような本開示の範囲内に含まれ得る。
【図１】
0006918198.tif 000023
【図２】
0006918198.tif 000024
【図３】
0006918198.tif 000025
【図４】
0006918198.tif 000026
【図５】
0006918198.tif 000027
【図６】
0006918198.tif 000028
【図７】
0006918198.tif 000029
【図８】
0006918198.tif 000030
【図９Ａ】
0006918198.tif 000031
【図９Ｂ】
0006918198.tif 000032
【図９Ｃ】
0006918198.tif 000033
【図９Ｄ】
0006918198.tif 000034
【図９Ｅ】
0006918198.tif 000035
【図９Ｆ】
0006918198.tif 000036
【図９Ｇ】
0006918198.tif 000037
【図９Ｈ】
0006918198.tif 000038
【図１０Ａ】
0006918198.tif 000039
【図１０Ｂ】
0006918198.tif 000040
【図１０Ｃ】
0006918198.tif 000041
【図１０Ｄ】
0006918198.tif 000042
【図１０Ｅ】
0006918198.tif 000043
【図１０Ｆ】
0006918198.tif 000044
【図１０Ｇ】
0006918198.tif 000045
【図１０Ｈ】
0006918198.tif 000046
【図１１Ａ】
0006918198.tif 000047
【図１１Ｂ】
0006918198.tif 000048
【図１１Ｃ】
0006918198.tif 000049
【図１１Ｄ】
0006918198.tif 000050
【図１１Ｅ】
0006918198.tif 000051
【図１１Ｆ】
0006918198.tif 000052
【図１１Ｇ】
0006918198.tif 000053
【図１１Ｈ】
0006918198.tif 000054