(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-10
(45)【発行日】2024-01-18
(54)【発明の名称】畳み込みニューラルネットワークベースのランドマークトラッカ
(51)【国際特許分類】
G06T 7/00 20170101AFI20240111BHJP
G06N 3/04 20230101ALI20240111BHJP
【FI】
G06T7/00 350C
G06T7/00 660A
G06N3/04
(21)【出願番号】P 2021563376
(86)(22)【出願日】2020-04-22
(86)【国際出願番号】 EP2020061249
(87)【国際公開番号】W WO2020216804
(87)【国際公開日】2020-10-29
【審査請求日】2022-12-20
(32)【優先日】2019-04-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】391023932
【氏名又は名称】ロレアル
【氏名又は名称原語表記】L’OREAL
【住所又は居所原語表記】14 Rue Royale,75008 PARIS,France
(74)【代理人】
【識別番号】110000534
【氏名又は名称】弁理士法人真明センチュリー
(72)【発明者】
【氏名】リ・ティアン・シン
(72)【発明者】
【氏名】ユー・チ
(72)【発明者】
【氏名】ケゼル・イリーナ
(72)【発明者】
【氏名】フォン・エドモンド
(72)【発明者】
【氏名】アーラビ・パラム
【審査官】片岡 利延
(56)【参考文献】
【文献】米国特許出願公開第2021/0056701(US,A1)
【文献】特表2020-526809(JP,A)
【文献】国際公開第2019/014646(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06N 3/04
(57)【特許請求の範囲】
【請求項1】
第1段階および第2段階を有する畳み込みニューラルネットワーク(CNN)を用いて複数の顔ランドマークの各々についてそれぞれの位置を決定するように顔の画像を処理することを備え、
前記第1段階は、前記画像を受け取り、
畳み込みレイヤと反転残差ブロックとを備える前記第1段階の第1部において、前記画像から顔ランドマーク検出のための中間的特徴のボリュームを決定し、
前記中間的特徴のボリュームを受け取る反転残差ブロックを備える前記第1段階の第2部において、前記顔ランドマークの各々のためのヒートマップの過程と、初期ヒートマップの応答とにより、前記画像内の前記顔ランドマークの各々についてのそれぞれの初期位置を決定し、
反転残差ブロックを備える前記第2段階は、前記第2段階の第1部において、前記中間的特徴のボリュームを受信し、関心領域と、連結ブロックと、予測ブロックとを備える前記第2段階の第2部において、前記複数の顔ランドマークの各々についての前記それぞれの初期位置を受信し、
前記第2段階はさらに、
反転残差ブロックにより、前記中間的特徴をさらに洗練するように前記中間的特徴のボリュームの処理をすることと、
関心領域と連結ブロックとにより、前記複数の顔ランドマークの各々についてクロップされた特徴を生成するように特徴アライメントを保存しながら、前記顔ランドマークのそれぞれの初期位置を用いて、前記中間的特徴をさらに洗練して均一なサイズにクロップするように関心領域のプーリングを実行することと、前記クロップされた特徴を連結することと、
前記予測ブロックにより、前記クロップされた特徴を連結して用いて、各顔ランドマークに対して、前記各顔ランドマークのそれぞれの初期位置の各々についてのそれぞれのリファインメント位置オフセットを決定することと、を備え、
前記処理は、前記複数の顔ランドマークの各々の前記画像内の最終位置座標を決定するために、前記それぞれの初期位置の各々と前記それぞれのリファインメント位置オフセットとを組み合わせるようにさらに動作する方法。
【請求項2】
前記第1段階の第2部が初期ヒートマップを用いて前記顔ランドマークの各々についてのそれぞれの初期位置の各々を予測する請求項1記載の方法。
【請求項3】
前記第2段階の、前記関心領域と連結ブロックとは、前記中間的特徴をさらに洗練してクロップするように、前記関心領域のプーリングのためのRoIAlignを用いる請求項2記載の方法。
【請求項4】
前記予測ブロックは、前記クロップされた特徴を処理し、
前記予測ブロックは、3×3カーネルによるチャネル単位の畳み込みと、それに続いて、BatchNorm及びReLUアクティベーションと、
1×1カーネルによるグループごとのチャネルの畳み込みと、それに続いて、BatchNormと、を順番に実行し、
前記それぞれのリファインメント位置オフセットの各々を出力する請求項3記載の方法。
【請求項5】
前記CNNモデルは、ガウス分布に従って定義された前記複数の顔ランドマークのそれぞれの顔ランドマークについて、グランドトゥルースヒートマップを有するそれぞれのトレーニング画像を用いて、前記それぞれのトレーニング画像内の前記グランドトゥルースヒートマップのそれぞれの座標位置に対応するモードでトレーニングされ
、前記ガウス分布は、以下の数式1に従って定義され、
x,yはトレーニング画像内の任意のピクセルの座標を示し、(x
i,y
i)は、対応するランドマーク座標である請求項1から4のいずれかに記載の方法。
【数1】
【請求項6】
x
pred,y
pred回帰は、以下の数式2のように、それぞれの予測されたヒートマップから計算された前記ガウス分布(数式1)による前記ピクセルの位置の期待値であって、
jは、それぞれのヒートマップ内のすべての前記ピクセルにわたるインデックスであり、w
jは、前記ピクセルのヒートマップ値を示す請求項5記載の方法。
【数2】
【請求項7】
前記CNNが、ヒートマップを学習するためのピクセルワイズシグモイドクロスエントロピーによって規定される損失関数でトレーニングされる請求項1から6のいずれかに記載の方法。
【請求項8】
前記損失関数は、距離損失L
2をさらに含む請求項7記載の方法。
【請求項9】
前記損失関数は、以下の数式3および数式4で表され、
【数3】
【数4】
【数5】
は、n
thサンプルのピクセル位置(i,j)における第lチャネルの前記ヒートマップの予測値であり、
【数6】
は、対応するグランドトゥルースであり、
【数7】
は、数式4から計算されるピクセル位置(i,j)の重みであって、
【数8】
は、n
th’サンプルのl
thランドマークの前記グランドトゥルースの座標であり、
【数9】
は、同じランドマークの予測座標である請求項7又は8に記載の方法。
【請求項10】
前記複数の顔ランドマークのそれぞれの位置のうちの少なくとも1つ又はその周辺で前記画像を修正することをさらに含み
、前記画像を修正することは、前記画像に適用される製品をシミュレートすることを含む請求項1から9のいずれかに記載の方法。
【請求項11】
前記画像がビデオ画像であり、前記方法が、仮想現実をシミュレートするためにリアルタイムで修正された前記画像を提示する請求項10記載の方法。
【請求項12】
カメラを有するパーソナルコンピューティングデバイス、好ましくはスマートフォン又はタブレットによって実行することをさらに含み、前記画像は、前記カメラによって撮影されたセルフィーである請求項10又は11に記載の方法。
【請求項13】
前記顔ランドマークの前記それぞれの位置を用いて、少なくとも1つの製品シミュレーションで前記画像を更新することをさらに含む請求項10から12のいずれかに記載の方法。
【請求項14】
処理ユニットによって実行されたときに、請求項1から13のいずれかに記載の方法をコンピューティングデバイスに実行させる命令を記憶する非一時記憶デバイス。
【請求項15】
処理装置と、記憶デバイスと、を備え、請求項1から13のいずれかに記載の方法を実行するように畳み込みニューラルネットワーク(CNN)を介して構成されるコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はコンピュータ及びコンピュータ処理、特に、画像処理およびニューラルネットワークの改良に関し、より詳細には、畳み込みニューラルネットワークベースのランドマークトラッカシステム及び方法に関する。
【背景技術】
【0002】
顔ランドマーク検出、画像内の人間の顔上の予め定義されたランドマークを見つける処理は、多くの画像処理/コンピュータビジョンアプリケーションにおいて一般的な要望である。実用的なアプリケーションを提供する関心のある画像処理アプリケーションは、とりわけ、顔認識、アニメーション、および拡張現実使用を含むことができる。拡張現実画像処理の一例は、個人に適用されるメイクアップまたは他の製品などの仮想試行アプリケーションである。仮想メイクアップ試行アプリケーションは、異なる照明、ポーズ、および顔の形状の変化の下で、正しい位置にメイクアップをレンダリングするように課せられる。特に、仮想試行アプリケーションで一般的に見られる正面顔ポーズのための正確なアライメントは、正確で心地よい体験を提供するために望ましい。さらに、クライアント側のウェブアプリケーションではロード時間が極めて重要であり、より大きなニューラルネットワークアーキテクチャの高速な実行に必要なGPUはそれほど効率的に利用することができない。
【0003】
これらのリソース制約はリアルタイムアプリケーションのためのより良好なバランスをとるために、最新の顔アライメントアーキテクチャ[1][2][3](それぞれ参照により本明細書に組み込まれる、以下の参考文献リストを参照されたい)にとって大きな関心事ではないが、理想的なアーキテクチャはアライメント精度を維持または改善しながら、ロード時間および推論時間を最小限に抑えることが望ましい。
【発明の概要】
【0004】
提案されたアーキテクチャでは、第1段階が初期予測を行い、そこから共有された畳み込み特徴のクロップが取られ、次に、これらの関心領域が第2段階によって処理されて、洗練された予測が生成される。この2段階位置決め設計は、残りの演算効率が良い一方で、きめ細かなアライメントを達成するのに役立つ。結果として得られるアーキテクチャは、リアルタイムウェブアプリケーションに適したロード時間および実行時間の両方が十分に小さい。
【0005】
一態様では、処理ユニットと、それに結合された記憶デバイスと、処理ユニットによって実行されたときに、複数のランドマークの各々についてそれぞれの位置を決定し、画像を処理するようにコンピューティングデバイスを構成する命令を記憶している記憶ユニットと、を備えるコンピューティングデバイスが提供される。コンピューティングデバイスは、第1段階および第2段階を有する畳み込みニューラルネットワーク(CNN)を用いて画像を処理することを備える。第1段階は、それぞれの位置の初期予測を生成するように画像を処理し、第2段階は、第1段階によって画像から生成された中間的特徴と初期予測とを用いて、関心領域に対する共有された畳み込み特徴のクロップを生成してクロップされた特徴を定義し、さらにクロップされた特徴を処理して、それぞれの位置の初期予測に対して、それぞれのリファインメント位置オフセットを生成する。
【0006】
一態様では、処理ユニットと、それに結合された記憶デバイスと、処理ユニットによって実行されたときに、複数のランドマークの各々に対してそれぞれの位置を決定し、画像を処理するようにコンピューティングデバイスを構成する命令を記憶している記憶ユニットと、を備えるコンピューティングデバイスが提供される。コンピューティングデバイスは、第1段階および第2段階を有する畳み込みニューラルネットワーク(CNN)を用いて画像を処理することを備える。第1段階は、画像を受け取り、第1段階の第1部において、画像からの中間的特徴のボリュームを決定し、第1段階の第2部において、中間的特徴のボリュームを用いて画像内のランドマークの各々についてのそれぞれの初期位置を決定する。第2段階は、第2段階の第1部において、中間的特徴のボリュームを受信し、第2段階の第2部において、複数のランドマークの各々についてのそれぞれの初期位置を受信する。第2段階はさらに、中間的特徴をさらに洗練するようにボリュームの処理をすることと、複数のランドマークの各々についてクロップされた特徴を生成するように特徴アライメントを保存しながら、関心領域のプーリングをさらに洗練されたものとして中間的特徴に対して実行することと、クロップされた特徴を用いて、各ランドマークについて、各ランドマークのそれぞれの初期位置の各々に対する、それぞれのリファインメント位置オフセットを決定することと、を備える。処理は、複数のランドマークの各々の画像内の最終位置座標を決定するために、それぞれの初期位置の各々とそれぞれのリファインメント位置オフセットとを組み合わせるようにさらに動作する。
【0007】
一態様では、コンピューティングデバイスは、処理装置と、記憶デバイスと、を備え、画像内の複数のランドマークのそれぞれの位置を検出するように画像を処理する畳み込みニューラルネットワーク(CNN)を介して構成される。CNNは、第1段階において、それぞれの位置の初期座標を決定するように第1のヒートマップを採用し、第2段階において、初期座標のリファインメントオフセットを決定するように第2のヒートマップを採用する。第2段階では、さらにそれぞれのランドマークごとの関心領域プーリングを用いて非関連領域を回避するように重複演算を減らし、関連する共有された特徴の生成をガイドする2段階位置決めアーキテクチャを備える。ここで、CNNはそれぞれのヒートマップのサイズと演算リソースの使用を最小化するために、補助座標回帰損失でトレーニングされる。
【0008】
方法、コンピュータプログラム製品、および他の態様は、当業者には明らかであろう。本明細書で使用されるコンピュータプログラム製品は、処理ユニットによって実行されるとき、コンピューティングデバイスを構成する命令を記憶する非一時記憶デバイスを含む。
【図面の簡単な説明】
【0009】
【
図2】特徴マップ/ボリュームの反転残差ブロック図である。
【
図3】
図1のネットワークの第2段階の特徴マップ/ボリュームの予測ブロック図である。
【0010】
【0011】
【0012】
【発明を実施するための形態】
【0013】
本発明の概念は、添付の図面を参照し、本明細書で説明される特定の実施形態を通して最もよく説明され、ここで、同一の符号は全体を通して同一の特徴を指す。本明細書で使用される場合、「発明」という単語は、単に実施形態自体ではなく、以下に記載される実施形態の基礎をなす発明概念を暗示することが意図されることを理解されたい。さらに、本発明の一般的な概念は、以下に記載される例示的な実施形態に限定されず、以下の説明は、そのような観点から読まれるべきであることが理解されるべきである。2つ以上の発明概念が示され、説明されてもよく、それぞれは、別段の記載がない限り、独立のものであってもよく、又は1つ以上の他のものと組み合わされてもよい。
【0014】
1. <コンテキスト>
1.1 <顔ランドマークアライメント>
顔ランドマークアライメントの問題は、古典的なコンピュータビジョンソリューションを用いた長い歴史を有する。例えば、高速アンサンブルツリーベース[4]アルゴリズムは妥当な精度を達成し、リアルタイム顔トラッキング[5]のために広く使用される。しかし、このような精度を達成するために必要なモデルサイズは非常に大きい。
【0015】
顔ランドマークアライメントのための現在の最新の精度は、畳み込みニューラルネットワークに基づく方法によって達成される。非常に困難なデータセット[6][7][8]の精度を最大にするために、リアルタイムではなく、数十から数百メガバイト(MB)[3][9]のモデルサイズを有し、ウェブアプリケーションのための不合理なロード時間を伴う大きなニューラルネットワークが使用される。
【0016】
1.2 <効率的なCNNアーキテクチャ>
畳み込みニューラルネットワークの性能をモバイルビジョンアプリケーションにもたらすために、MobileNetV2[10]、SqueezeNet[11]、及びShuffleNet[12]などの効率的なビルディングブロックを有する多数のアーキテクチャが最近リリースされた。これらのネットワークは、必要とされる学習可能パラメータの数(モデルサイズ)及び乗算加算からなる所与の演算バジェットの性能(例えば、分類精度)を最大化することを目的とする。
【0017】
MobileNetV2に焦点が当てられ、その反転残差ブロックは、本設計の実装において用いられ得る。MobileNetV2が通常の畳み込みに対する深さ単位畳み込みを用いると、乗算加算および学習可能なパラメータの数が大幅に減少し、実行にわずかなコストがかかる[13]。さらに、ネットワーク表現性能を容量から分離することができるという原理に基づく反転設計は、ネットワーク内のクロスチャネル演算の数の大幅な削減を可能にする[10]。最後に、ResNet[14]から得られた残差設計は、より深いネットワークにおけるグラジェントプロパゲーションの問題を緩和する。
【0018】
1.3 <ヒートマップ>
ヒートマップ回帰[15][16][17][18]に基づく完全畳み込みニューラルネットワークアーキテクチャは、人間の姿勢推定タスクに広く用いられている。ヒートマップの使用は、回路網の認識およびランドマーク回帰の信頼性に、視覚の直感的な手段と共に、高度の精度を提供する。この技術は、スタックドアワーグラスアーキテクチャ[3]のような最近の顔アライメントアルゴリズムにも用いられている。しかしながら、スタックドアワーグラスアプローチ[3]は、デコーデイングレイヤにおいて大量の演算を必要とする高分解能ヒートマップを使用する。ヒートマップは、画像全体の非常に集中して小さな部分にしか無視できない値がないため、ここでは最適化の余地がある。この観察はネットワークがその処理を関連領域(すなわち、関心のあるおおよその領域)に集中させることを可能にする領域処理を使用することを我々に動機付ける。
【0019】
1.4 <Mask-RCNN>
Fast R-CNN[19]、Faster R-CNN[20]および完全構成ネットワーク[21]のような、オブジェクト検出および意味的セグメンテーションに対して柔軟かつロバストな一連のフレームワークがある。Faster R-CNNは、バウンディングボックス回帰および分類を並列に実行するためにマルチブランチ設計を使用する。Mask-RCNN[22]はFaster-RCNNの拡張であり、各関心領域に基づいてセグメンテーションマスクを予測するための新しい分岐を追加する。特に興味深いのはMask-RCNNのRoIAlign[22](ここで、RoIは単語「関心領域」からのイニシャル)の使用であり、これは共有された畳み込み特徴から生成物を採取することによって、演算時間の有意な節約を可能にする。これを行うことによって、重複する関心領域に対する特徴を再演算することを回避する。
【0020】
1.5 <検証>
出力された顔の形状を有効に保つために、最終的な予測を返す前に検証ステップを実行してもよい。例えば、顔がない場合、顔の一部がある場合、顔が回転しすぎている場合などに、変な形状が返されるのを防ぐためである。顔の形状の標準参照を有するために、原理成分分析を使用して、トレーニングデータセットから最初の100の原理クラスタを得ることができる。変換された予測形状とクラスタ中心の1つとの間の最小距離を決定することができる。この最小距離は、予測された形状が有効であるかどうかを検証するためのスコアとして使用される。
【0021】
2. <コンピューティングデバイス、システム、方法及びその他の側面>
以下は、本明細書に記載される特徴のいくつかである。
【0022】
RoIAlign[22]は潜在的に重複する演算を節約し、ネットワークが非関連領域を回避することを可能にし、ネットワークに良好な共有される特徴を生成することを学習させるために、個々のランドマークごとに使用される。一例では、段階1からの8×8のヒートマップが(顔の)ランドマークの各々の座標を示す。これらのランドマークは、マスク平均法を使用することによって座標(x,y)を形成するように演算することができる。RoIAlignは、第1段階の予測座標を用いて、均一なサイズ4×4を有する中間的特徴マップをクロップする。例えば、正規化された座標において(0.5,0.5)に位置すると予測される第1のランドマークがあると仮定する。その後、32×32の特徴マップがクロップされる。クロップされた枠は[(14.0,14.0),(18.0,18.0)][top_left_corner,bottom_right_corner]になる。
【0023】
補助座標回帰損失と共に提案した2段階位置決めアーキテクチャは、極端に小さく、演算的に安価なヒートマップを両段階で扱うことを可能にした。ヒートマップ損失と座標距離損失の2つの損失を組み合わせることができる。
【0024】
2.1 <モデル構造>
CNNモデルは
図1に示すように、2段階を持ち、エンドトゥーエンドでトレーニングされる。
図1は次元128×128×3(高さ、幅、および色)の入力レイヤ102(例えば、顔のランドマークの例のための顔を有する画像)から始まる出力ボリューム(特徴マップ)を有するレイヤおよび/またはブロックのフローを含むCNN100を示す。224×224×3のような他の次元を使用してもよい。次元は調整可能であってもよい。異なる目的のために、異なる次元(解像度)を使用することができる。
【0025】
フローは、第1段階104と第2段階106の2つの段階を含む。第1段階および第2段階のフローは、それぞれが第1部および第2部を有し、第1段階のレイヤ/ブロックおよび第2段階のレイヤ/ブロックを備えるレイヤおよび/またはブロックのそれぞれのグループに従って定義される。これらのレイヤ/ブロックのグループ(例えば、108,110,114,116)は当業者によって理解されるように、特徴マップ/ボリューム間の矢印によって表される。第1段階104は第1部にグループ108を、第2部にグループ110を含み、第2段階106は第1部にグループ114を、第2部にグループ116を含む。グループ108及び110はまた、第1段階の第1のグループ108及び第2のグループ110として参照されてもよい。グループ114及び116はまた、第2段階の第1グループ114及び第2グループ116として参照されてもよい。第1段階104はレイヤ112をさらに含み、第2段階106はレイヤ118をさらに含む。これらのレイヤ112および120はレイヤ120において組み合わされて、さらに説明されるように、CNN100の出力を提供する。
【0026】
図1の網掛けの凡例は、CNN100のレイヤおよび/又はブロックのそれぞれについての処理オペレーションタイプを示す。さらに詳細には、グループ108が次元64×64×8の畳み込みレイヤ108Aと、それぞれ次元64×64×8及び32×32×8の反転残差ブロック108B及び108Cとを含む。それぞれのブロック又はレイヤの次元は、出力特徴マップのサイズを参照することが理解される。[10]による拡張反転残差ブロックの一般形を
図2に示す。グループ110は、それぞれの次元16×16×16,8×8×32,8×8×32及び8×8×#Lの反転残差ブロック110A-110Dを含み、ここで、#L=複数のランドマークの数または数量である。トレーニングされ、試験されるとき、#L=16である。他のランドマーク数(サイズ)(例えば、#L)(例えば、65、86等)が実施されてもよい。#Lの値は調整可能であってもよい。グループ110に続くのはレイヤ112であり、次元#L×2のゲットマスク平均レイヤである。
【0027】
グループ108の出力(例えば、118Cに続く)は、第1段階104の中間的特徴マップ(または中間的特徴のボリュームとして参照されることもある)であり、グループ114において第2段階106と共有される(例えば、入力)。グループ114は、それぞれの次元32×32×8,32×32×16及び32×32×16の反転残差ブロック114A-114Cを含む。
【0028】
グループ114の出力(例えば、ブロック114A-114Cの処理によってさらに洗練された中間的特徴マップ)は、ランドマークの初期位置を表すレイヤ112の出力と共に、グループ116によって処理される。グループ116は、4×4×16の次元を有する#Lブロックの各々が連結されるとき、4×4×16#L出力特徴マップを与える#Lランドマークの各々に対して、#L RoI Crop+連結ブロック(ブロック116
1,116
2,・・・116
#Lによって表される)を含む。連結された特徴マップは、次元4×4×#Lを有する予測ブロック117又はグループ116に提供される。予測ブロック117は、
図3において拡張されている。
【0029】
次に、予測ブロック117の出力は、次元#L×2の第2のゲットマスク平均レイヤであるレイヤ118に供給される。2つのレイヤ112及び118のそれぞれの出力は、#Lランドマークの初期位置およびそれに対するリファインメントオフセットを表す。これらは、組み合わされたときに、それぞれの#Lランドマークの各々について、入力レイヤ102に関して(x,y)座標が生成されるように、次元#L×2も有する出力レイヤ120に提供される。
【0030】
したがって、第1段階104は、110Dまでに各顔ランドマークに1つずつ8×8のヒートマップを予測する一連の反転残差ブロックを示す。ヒートマップ上の正規化されたアクティブ化を確率分布として解釈し、これらのヒートマップの期待値を演算して、x,y座標を求める。これについては、以下でより詳細に説明する。
【0031】
第2段階は、第1段階の一部から分岐するいくつかの共有レイヤ/ブロックを有する。前段階からの初期予測(ブロック114Cに続くグループ114によってさらに洗練されたブロック108Cに続くグループ108からの中間的特徴マップ)を用いて、RoIAlign[22]が最終的な共有された畳み込み特徴に適用される。クロップされた特徴の各々は、(予測ブロック117の)1つの最終畳み込みレイヤに入力され、個々のランドマークごとに個別の重みを有する。予測ブロック117は、グループ畳み込み[12]を利用して、これを簡単な方法で実施する。117における出力は、各ランドマークに対するヒートマップである。これらのヒートマップから得られた座標は、初期の「粗い」予測からの必要なオフセットを示している。すなわち、この段階でのヒートマップが完全に中央によせられていれば、実質的にリファインメントは必要ない。
【0032】
グループ116によるこの関心領域ベースのプーリングは、112におけるマスク平均レイヤを110Dからの粗いヒートマップに適用することから導出される各ランドマークの座標[x_c,y_c]を有するクロップ中心として(レイヤ112からの)第1段階の予測を用いる。グループ116(予測ブロック117を介して)は、これらのクロップされた特徴(例えば、ブロック1161,1162,・・・116#Lからの連結された出力)を使用して、リファインメントオフセットを予測する(最初にヒートマップを予測し、次にリファインメントシフト距離[x_r,y_r]を得るようにマスク平均レイヤを用いる)。最終予測(出力レイヤ)は、第1段階からの粗い予測と第2段階からのリファインメント予測を加算する。
【0033】
2.2 <ヒートマップからの座標回帰>
グランドトゥルースヒートマップに対しては、グランドトゥルースの座標の位置に対応するモードを持つGauss分布を用いた。x、yを特徴マップ内の任意のピクセルの座標で表すと、値は、以下の分布を使用して計算することができる。
【数1】
ここで、(x
i,y
i)は対応するランドマーク座標である。実験では、σ
x,σ
yは、両方を0.8に構成する(例えば)。
【0034】
ゲットマスク平均レイヤ(例えば、112と120の各々)に従って、回帰されたx
pred,y
predは、その時、CNNによって予測されたヒートマップ(例えば、「予測ヒートマップ」)から計算された分布に従った、ピクセル位置の期待値である。予測ヒートマップのすべてのピクセルにわたってjインデックスを作成し、w
jは、そのピクセルのヒートマップ値を示す。
【数2】
【0035】
2.3 <損失関数>
損失関数は、ピクセルワイズシグモイドクロスエントロピー[23]を用いてヒートマップを学習する。
【0036】
さらに、境界付近のランドマークについてヒートマップがカットオフされる問題を軽減するために、距離損失L
2が追加される。
【数3】
【数4】
ここで、
【数5】
は、n
thサンプルのピクセル位置(i,j)における第l(エル)チャネルのヒートマップの予測値であり、一方、
【数6】
は、対応するグランドトゥルースである。
【数7】
は、数式4から計算されるピクセル位置(i,j)における重みであり、
【数8】
は、n
th’サンプルのl(エル)
thランドマークのグ
ランドトゥルースの座標であり、
【数9】
は、同じランドマークの予測座標である。ここで、Lはランドマークの数であり、HおよびWはヒートマップの高さ及び幅(例えば、8×8)である。補助座標回帰損失は、(数式3)の2行目の平均二乗誤差損失である。組み合わされたピクセルワイズシグモイドクロスエントロピー損失およびL2損失を含む損失関数はそれぞれがトレーニング中にそれ自体の損失決定を有するように、それぞれの段階に適用される。上述したように、2つの段階の使用はより小さなヒートマップを容易にし、したがって、演算リソース消費を容易にする。
【0037】
2.4 <ブロック>
2.4.1 <反転残
差ブロック>
図2を参照すると、実質的に参考文献[10]に従った反転残差ブロック200の一般的な展開が示されている。
図2は、参考文献[10]がReLU6を用い、本例がReLUを用いる点で異なる。そのような一般的なアプローチはCNN100の反転残差ブロックに適用され得るが、いくつかの次元は異なり得る。
【0038】
実験的に、性能および効率の5つの最も適した競合するニーズの拡大比が見出された。
【0039】
反転残差ブロック200の処理は、aからcの順番に実行される。a 1×1カーネルによるチャネル単位の畳み込み、それに続いて、次元H×W×Cを有する入力レイヤ202のBatchNorm及びReLUアクティブ化。ここで、Cは色自体ではなくチャネルを表す。出力は、次元H×W×C*5の特徴マップ204である。b 3×3カーネルを有する深さ単位の畳み込み、それに続いて、次元H×W×C*5を有する出力(特徴マップ)206を提供する特徴マップ204のBatchNormおよびReLUアクティブ化。c 1×1カーネルによるチャネル単位の畳み込み、それに続いて、次元H×W×Cを有する出力を提供するレイヤ202による加算演算を行う特徴マップ206上のBatchNorm。
【0040】
2.4.2 <予測ブロック>
全てのRoIAlignクロップされた特徴を連結した後、チャネルの数は入力チャネルの数(例えば、16)にランドマークの数(#L)を乗算したものに等しい。各ランドマークのリファイ
ンメントヒートマップは独立して予測されるので、そのようなものは、
図3が示すように、16チャネル単位の畳み込み[12]を使用して実施されてもよい。
図3は、次元4×4×16*#Lを有するクロップされ連結された特徴(入力特徴マップ117A)の入力に作用するブロック117の拡張を示す。
【0041】
予測ブロック117は、aからbの順番に実行する。a 3×3カーネルによるグループ単位の畳み込み、それに続いて、次元4×4×16*#Lを有する特徴マップ117Bを出力する入力特徴マップ117A上でBatchNormおよびReLUアクティブ化。b 1×1カーネルによるチャネル単位の畳み込み、それに続いて、次元4×4×#L(#Lランドマークの各々に対して4×4ヒートマップを定義する)のを有する特徴マップ117Cを出力するBatchNorm。
【0042】
2.5 <データ拡張>
いくつかの一般的な方法が、データ拡張を実行するために用いられる。例えば、入力画像のランダムな回転、シフト、水平方向のフリップなどが使用される。眼鏡や手のような一般的な妨害ケースを取り扱うためのモデルをより良く装備するために、これらの物体はまた、その中の顔の周りの写真にランダムに貼り付けられる。
【0043】
3. <結果と比較>
新しいモデルではバッチサイズ8を使用し、SGDオプティマイザーではラーニングレート8e‐5、モーメンタム=0.9を使用した。新モデルを自社テストセット上で評価し、眼球中心間距離で正規化した距離誤差を計算した。第1段階の正規化誤差は3.35%であり、全モデルの誤差は2.89%である。iPhone(登録商標)7を搭載したウェブブラウザでの新モデルの実行時間は約40ms/フレームで、学習可能なパラメータは合計約300KBになる。
【0044】
表1及び表2は、より大きな社内モデルRFトラッカーとMobilenet_v2_0.35_128との比較を含む新モデルの比較データを示している。
【表1】
表1:自社製RFトラッカーと新モデルとの比較データ
【表2】
表2:MobilenetV2[10]と新モデルとの比較データ
【0045】
図4及び
図5は、コンピュータによって実施される方法の態様を示すオペレーションのフローチャートである。
図4は、コンピュータ実装方法のオペレーション400を示す。402において、画像が処理のために受信される。画像は、セルフィー画像またはビデオベースのセルフィー画像とすることができる。画像は、本方法を実行するコンピューティングデバイス又はシステムの構成要素であるカメラから受信することができる。そのようなものは、モバイルデバイス、製品カウンターのキオスク(端末)、タブレットなどであってもよい。他のフォームファクタ、コンピューティングデバイス及びシステムは明らかであろう。ローカルコンピューティングデバイスがローカルカメラを介して画像を受信し、サービスとして実行するように構成されたリモートコンピューティングデバイスに画像を提供することができる、クラウド又は他のサービスベースのシステムを企図することができる。サービスは、ローカルコンピューティングデバイスのネイティブアプリケーション又はブラウザを介して提供されてもよい。
【0046】
画像は、特定の次元に拡大縮小することなどによって前処理することができる(ステップ404)。406において、オペレーションは、第1段階および第2段階を有する畳み込みニューラルネットワーク(CNN)を用いることによって、複数のランドマークの各々についてそれぞれの位置を決定するように画像を処理する。第1段階は、それぞれの位置の初期予測を生成するように画像を処理する。第2段階は、第1段階によって画像から生成された中間的特徴と初期予測とを用いて、関心領域に対する共有された畳み込み特徴のクロップを生成してクロップされた特徴を定義し、さらにクロップされた特徴を処理して、それぞれの位置の初期予測に対して、それぞれのリファインメント位置オフセットを生成する。
【0047】
CNNは、それぞれの位置の初期予測とそれぞれのリファインメント位置オフセットとを組み合わせて、複数のランドマークの各々についてそれぞれの位置を提供することができる。ランドマークのそれぞれの位置は、初期予測をそれぞれのリファインメント位置オフセットと組み合わせることによって決定される最終位置を含んでもよく、または初期予測およびそれぞれのリファインメント位置オフセットを含む位置情報のセットを含んでもよい。位置情報は、その任意の形式で、ランドマーク位置の少なくとも1つで画像を修正するなどの使用のために提供されてもよい(ステップ408)。
【0048】
CNNの第1段階は、中間的特徴を生成し、且つ、用いて、初期予測を生成するように初期ヒートマップを生成することができる。
【0049】
第2段階は、ランドマークごとに、クロップされた特徴から第2のヒートマップを生成し、第2のヒートマップを用いて、それぞれのリファインメント位置オフセットを生成することができる。
【0050】
図5は、コンピュータ実装方法のオペレーション500を示すフローチャートである。オペレーションは(例えば、
図4に関連して、または他の方法で)本明細書で説明されるようなコンピューティングデバイス又はシステムによって実行され得る。ステップ502及び504は、ステップ402及び404と同様である。ステップ510は、画像が修正されるステップ408と同様である。
【0051】
ステップ506は、第1段階および第2段階を有する畳み込みニューラルネットワーク(CNN)を用いて複数のランドマークの各々についてそれぞれの位置を決定するように画像を処理することを示す。第1段階は、画像を受け取り、第1段階の第1部において、画像からの中間的特徴のボリュームを決定し、第1段階の第2部において、中間的特徴のボリュームを用いて画像内のランドマークの各々についてのそれぞれの初期位置を決定する。第2段階は、第2段階の第1部において、中間的特徴のボリュームを受信し、第2段階の第2部において、複数のランドマークの各々についてのそれぞれの初期位置を受信する。
【0052】
第2段階はさらに、中間的特徴をさらに洗練するようにボリュームの処理をし、複数のランドマークの各々についてクロップされた特徴を生成するように特徴アライメントを保存しながら、関心領域のプーリングをさらに洗練されたものとして中間的特徴に対して実行し、クロップされた特徴を用いて、各ランドマークに対して、各ランドマークのそれぞれの初期位置の各々についてのそれぞれのリファインメント位置オフセットを決定するように動作する。
【0053】
オペレーション500はさらに、(例えば、508において)、複数のランドマークの各々の画像内の最終位置座標を決定するために、それぞれの初期位置の各々とそれぞれのリファインメント位置オフセットとを組み合わせるようにさらに動作してもよい。
【0054】
オペレーション500において、第1段階の第2部が中間的特徴のボリュームを使用して初期ヒートマップを決定し、初期ヒートマップを用いてランドマークの各々についてのそれぞれの初期位置の各々を予測してもよい。
【0055】
図4又は
図5のオペレーションでは、第1段階の少なくともいくつかは一連の反転残差ブロックを含み、第2段階の少なくともいくつかは一連の反転残差ブロックを含み得る。第2段階は、クロップされた特徴を生成するように特徴アラ
イメントを保存しながら、関心領域のプーリングのためのRoIAlignを用い、クロップされた特徴を連結することができる。
【0056】
図4又は
図5のオペレーションでは、第2段階は、クロップされた特徴を処理する予測ブロックを含むことができ、予測ブロックは、3×3カーネルによるチャネル単位の畳み込みと、それに続いて、BatchNorm及びReLUアクティベーションと、1×1カーネルによるグループごとのチャネルの畳み込みと、それに続いて、BatchNormと、を順番に実行し、それぞれのリファインメント位置オフセットの各々を出力する。
【0057】
図4又は
図5のオペレーションでは、CNNモデルは、ガウス分布に従って定義された複数のランドマークのそれぞれのランドマークについて、グ
ランドトゥルースヒートマップを有するそれぞれのトレーニング画像を用いて、それぞれのトレーニング画像内の前記グ
ランドトゥルースヒートマップのそれぞれの座標位置に対応するモードでトレーニングすることができる。ガウス分布は、上述したように定義することができる。
【0058】
オペレーション400又は500におけるCNNは、ヒートマップを学習するためのピクセルワイズシグモイドクロスエントロピーによって定義される損失関数でトレーニングされてもよい。損失関数は、距離損失L2をさらに含むことができる。損失関数は、上述したようなものであってもよい。
【0059】
オペレーション400又は500において、画像を修正することは、画像に適用される製品をシミュレートすることを含み得る。画像は、ビデオ画像であってもよく、本方法は仮想現実をシミュレートするためにリアルタイムで修正された画像を提示してもよい。
【0060】
オペレーション400又は500において、ランドマークは顔のランドマークであってもよく、画像は顔を含んでもよい。それぞれのオペレーションは、ランドマークのそれぞれの位置を用いて、少なくとも1つの製品シミュレーションで画像を更新することを含み得る。
【0061】
コンピューティングデバイス(又はシステム)の態様および方法の態様に加えて、本明細書で開示される方法の態様のいずれかを実行するようにコンピューティングデバイスを構成するために、命令が非一時記憶デバイス(たとえば、メモリ、CD-ROM、DVD-ROM、ディスクなど)に格納される、コンピュータプログラム製品の態様が開示されることを、当業者は理解するのであろう。
【0062】
CNNは、画像のさらなる処理のためにそれぞれのランドマーク位置を提供することができることが理解されるのであろう。例えば、コンピューティングデバイスは、命令を介して画像を受信し、CNNを用いて画像上でランドマーク検出を実行するように構成され得る。
【0063】
命令は、ランドマークのうちの少なくとも1つについての最終座標を用いて、ランドマークのうちの少なくとも1つ又はその周辺の画像を修正するようにコンピューティングデバイスを構成することができる。画像は例えば、境界ボックス又は領域を示す、マスクを示すなど、ランドマークの少なくとも1つにおいて、又はランドマークの周辺で、注釈付けされてもよい(修正の例)。画像を修正することは、画像に適用される製品をシミュレートすることを含み得る。製品は、画像が顔であり、ランドマークが顔のランドマークである場合のように、メイクアップ製品であってもよい。画像は、ビデオ画像であってもよく、コンピューティングデバイスは、仮想現実をシミュレートするために画像をリアルタイムで修正し提示するように命令を介して構成されてもよい。コンピューティングデバイスは、カメラをさらに含んでもよく、ビデオは、カメラによって撮影されたセルフィービデオであってもよい。
【0064】
実際の実施は、本明細書に記載された特徴のいずれか又は全てを含むことができる。これら及び他の態様、特徴、並びに様々な組み合わせは、方法、装置、システム、機能を実行するための手段、プログラム製品、及び、他の方法で、本明細書で説明される特徴を組み合わせて表され得る。多数の実施形態が記載されているが、本明細書で説明されるプロセス及び技術的思想および範囲から逸脱することなく、様々な修正を行うことができることが理解されるだろう。加えて、他のステップが提供されても良く、又は記載された方法からステップが排除されても良く、他の構成要素が記載されたシステムに対し、追加または除去されても良い。従って、他の態様は特許請求の範囲内にある。
【0065】
上記の発明の実施形態が、少なくとも部分的に、汎用処理装置などのソフトウェア制御のプログラマブル処理装置を用いて実施可能である限りにおいて、この発明の実施形態は以下のとおりである。処理装置や特殊用途処理装置、デジタル信号処理装置、マイクロ処理装置、またはその他の処理装置、データ処理装置またはコンピュータシステムであることが理解される。前述した方法、装置およびシステムを実施するためにプログラマブルデバイス、装置またはシステムを構成するためのコンピュータプログラムは、本発明の一側面として想定されている。コンピュータプログラムは、ソースコード、オブジェクトコード、コンパイルコード、インタプリタコード、実行可能コード、静的コード、動的コードなど、任意の適切なタイプのコードとして具現化され得る。命令は、C、C++、Java(登録商標)、BASIC、Perl、Matlab(商標登録)、Pascal、Visual BASIC(登録商標)、JAVA(登録商標)、ActiveX(登録商標)、アセンブリ言語、マシンコードなどの任意の適切な高レベル、低レベル、オブジェクト指向、視覚、コンパイル及び/又は解釈プログラミング言語を使って実施されてもよい。当業者であれば、最も一般的な意味での「コンピュータ」という単語は、上記で言及したようなプログラマブルデバイス、およびデータ処理装置およびコンピュータシステム、例えば、デスクトップパソコン、ラップトップパソコン、タブレット、スマートフォン又は他のコンピューティングデバイスなど、それらが生じ得るあらゆる形式を包含することを容易に理解することができるであろう。
【0066】
好適には、コンピュータプログラムは、機械可読形式でキャリア媒体に格納され、例えば、キャリア媒体は、メモリ、取り外し可能または非取り出し可能媒体、消去可能または非消去可能媒体、書き込み可能または再書き込み可能媒体、デジタル又はアナログ媒体、ハードディスク、フロッピーディスクで構成されてもよい。コンパクトディスクリードオンリーメモリ(CD-ROM)、コンパクトディスクレコーダブル(CD-R)、コンパクトディスクリライタブル(CD-RW)、光ディスク、磁気媒体、光磁気媒体、取り外し可能なメモリカードやディスク、様々な種類のデジタルバーサタイルディスク(DVD) 加入者識別モジュール、テープ、カセット 固体メモリなどである。コンピュータプログラムは、電子信号、無線周波数搬送波または光搬送波などの通信媒体に具現化されたリモートソースから供給されてもよい。このような搬送媒体も、本発明の態様として想定される。
【0067】
本明細書の記載および特許請求の範囲を通して、単語「含む」及び「備える」及びそれらの変形表現は「含むがこれに限定されない」を意味し、他の構成要素、整数またはステップを排除することを意図しない(排除しない)。本明細書全体を通して、文脈が別途必要としない限り、単数は複数を包含する。特に、不定冠詞が使用されている場合、文脈上ほかに必要としない限り、単数だけでなく複数も意図していると理解されたい。
【0068】
本発明の特定の態様、実施形態または例に関連して記載される特徴、整数特性、化合物、化学部分または基は、それらと非互換でない限り、任意の他の態様、実施形態または例に適用可能であると理解されるべきである。本明細書に開示された特徴(添付の特許請求の範囲、要約書、及び、図面を含む)の全て、或いはそのように開示された任意の方法または処理のステップの全ては、そのような特徴或いはステップの少なくともいくつかが相互に排他的である組み合わせを除いて、任意の組合せで組み合わせることができる。本発明は、前述の例または実施形態の詳細に限定されない。本発明は、本明細書(添付の特許請求の範囲、要約書、及び、図面を含む)に開示された特徴の任意の新規なもの、又は任意の新規な組み合わせ、又は開示された任意の手法または処理のステップの任意の新規なもの、又は任意の新規な組み合わせに拡張される。
【0069】
本明細書で使用される場合、単語「含む」、「含んでいる」、「備え」、「有し」、「有している」またはその他の変形は、非排他的な包含をカバーすることを意図している。例えば、要素のリストから構成されるプロセス、方法、物品、または装置は、必ずしもそれらの要素のみに限定されず、明示的にリストされていない他の要素または当該プロセス、方法、物品、または装置に固有の要素を含んでもよい。さらに、明示的に反対を表明しない限り、「または」は包括的な「または」を指し、排他的な「または」を指さない。
【0070】
さらに、「1つ」という語の使用は、本発明の要素および構成要素を説明するために採用される。これは単に便宜上、本発明の一般的な感覚を与えるために行われるものである。本明細書は、そうでないことを意味することが明らかでない限り、1つまたは少なくとも1つを含むように読まれるべきであり、単数形は複数形も含む。
【0071】
前述の説明を考慮すると、当業者には、以下のことが明らかであろう。本発明の範囲内で様々な変更を加えることができる。
【0072】
本開示の範囲は、請求された発明と関連するかどうか、または本発明によって対処される問題のいずれかまたはすべてに対して緩和するかどうかにかかわらず、それと矛盾しない限り、明示的または暗黙的にそこに開示された任意の新規な特徴または特徴の組み合わせ、あるいはその一般化を含む。本出願人は、本出願またはそこから派生するさらなる出願の審理中に、かかる特徴に対して新たな請求項を策定することができることをここに通知する。特に、添付の請求項を参照すると、従属請求項の特徴は、独立請求項の特徴と組み合わせてもよく、それぞれの独立請求項の特徴は、請求項に列挙された特定の組み合わせだけでなく、任意の適切な方法で組み合わせてもよい。
<参考文献(References)>
以下の参考文献は、参照により本明細書に組み込まれている。
[1]M.Kowalski,J.Naruniec,and T.Trzcinski,“Deep alignment network:A convolutional neural network for robust face alignment,”CoRR,vol.abs/1706.01789,2017.
[2]Y.Sun,X.Wang,and X.Tang,“Deep convolutional network cascade for facial point detection,”in2013 IEEE Conference on Computer Vision and Pattern Recognition,pp.3476-3483,June2013.
[3]K.Yuen and M.M.Trivedi,“An occluded stacked hourglass approach to facial landmark localization and occlusion estimation,”CoRR,vol.abs/1802.02137,2018.
[4]V.Kazemi and J.Sullivan,“One millisecond face alignment with an ensemble of regression trees,”2014 IEEE Conference on Computer Vision and Pattern Recognition, pp.1867-1874,2014.
[5]D.E.King,“Dlib-ml:A machine learning toolkit,”Journal of Machine Learning Research,vol.10,pp.1755-1758,2009.
[6]P.N.Belhumeur,D.W.Jacobs,D.J.Kriegman,and N.Kumar,“Localizing parts of faces using a consensus of exemplars,”IEEE Transactions on Pattern Analysis and Machine Intelligence,vol.35,pp.2930-2940,Dec2013.
[7]V.Le,J.Brandt,Z.Lin,L.Bourdev,and T.S.Huang,“Interactive facial feature localization,”in Computer Vision-ECCV2012(A.Fitzgibbon,S.Lazebnik,P.Perona,Y.Sato,and C.Schmid,eds.),(Berlin,Heidelberg),pp.679-692,Springer Berlin Heidelberg,2012.
[8]G.Trigeorgis,P.Snape,M.A.Nicolaou,E.Antonakos,and S.Zafeiriou,“Mnemonic descent method:A recurrent process applied for end-to-end face alignment,”2016 IEEE Conference on Computer Vision and Pattern Recognition(CVPR),pp.4177-4187,2016.
[9]A.Newell,K.Yang,and J.Deng,“Stacked hourglass networks for human pose estimation,”CoRR,vol.abs/1603.06937,2016.
[10」M.Sandler,A.G.Howard,M.Zhu,A.Zhmoginov,and L.Chen,“MobileNetV2:Inverted residuals and linear bottlenecks:Mobile networks for classification,detection and segmentation,”CoRR,vol.abs/1801.04381,2018.
[11]F.N.Iandola,M.W.Moskewicz,K.Ashraf,S.Han,W.J.Dally,and K.Keutzer,“Squeezenet:Alexnet-level accuracy with 50x fewer parameters and <1mb model size,”CoRR,vol.abs/1602.07360,2016.
[12]X.Zhang,X.Zhou,M.Lin,and J.Sun,“Shufflenet:An extremely efficient convolutional neural network for mobile devices,”CoRR,vol.abs/1707.01083,2017.
[13]A.G.Howard,M.Zhu,B.Chen,D.Kalenichenko,W.Wang,T.Weyand,M.Andreetto,and H.Adam,“Mobilenets:Efficient convolutional neural networks for mobile vision applications,”CoRR,vol.abs/1704.04861,2017.
[14]K.He,X.Zhang,S.Ren,and J.Sun,“Deep residual learning for image recognition,”CoRR,vol.abs/1512.03385,2015.
[15]A.Bulat and G.Tzimiropoulos,“Human pose estimation via convolutional part heat map regression,”CoRR,vol.abs/1609.01743,2016.
[16]S.Wei,V.Ramakrishna,T.Kanade,and Y.Sheikh,“Convolutional pose machines,”CoRR,vol.abs/1602.00134,2016.
[17]Y.Chen,C.Shen,X.Wei,L.Liu,and J.Yang,“Adversarial learning of structure-aware fully convolutional networks for landmark localization,”CoRR,vol.abs/1711.00253,2017.
[18]E.Insafutdinov,L.Pishchulin,B.Andres,M.Andriluka,and B.Schiele,“Deepercut:A deeper,stronger,and faster multi-person pose estimation model,”CoRR,vol.abs/1605.03170,2016.
[19]R.B.Girshick,“Fast R-CNN,”CoRR,vol.abs/1504.08083,2015.
[20]S.Ren,K.He,R.B.Girshick,and J.Sun,“Faster R-CNN:towards real-time object detection with region proposal networks,”CoRR,vol.abs/1506.01497,2015.
[21]J.Long,E.Shelhamer,and T.Darrell,“Fully convolutional networks for semantic segmentation,”CoRR,vol.abs/1411.4038,2014.
[22]K.He,G.Gkioxari,P.Dollar,and R.B.Girshick,“Mask R-CNN,”CoRR,vol.abs/1703.06870,2017.
[23]N.Zhang,E.Shelhamer,Y.Gao,and T.Darrell,“Fine-grained pose prediction,normalization,and recognition,”CoRR,vol.abs/1511.07063,2015.
<その他>
<手段>
技術的思想1のコンピューティングデバイスは、処理ユニットと、それに結合された記憶デバイスと、前記処理ユニットによって実行されたときに、複数のランドマークの各々についてそれぞれの位置を決定し、画像を処理するようにコンピューティングデバイスを構成する命令を記憶している記憶ユニットと、を備えるものであって、第1段階および第2段階を有する畳み込みニューラルネットワーク(CNN)を用いて前記画像を処理することを備え、前記第1段階は、前記それぞれの位置の初期予測を生成するように前記画像を処理し、前記第2段階は、前記第1段階によって前記画像から生成された中間的特徴と前記初期予測とを用いて、関心領域に対する共有された畳み込み特徴のクロップを生成してクロップされた特徴を定義し、さらに前記クロップされた特徴を処理して、前記それぞれの位置の前記初期予測に対して、それぞれのリファインメント位置オフセットを生成する。
技術的思想2のコンピューティングデバイスは、技術的思想1記載のコンピューティングデバイスにおいて、前記第1段階は、前記中間的特徴を生成し、且つ、用いて、前記初期予測を生成するように初期ヒートマップを生成する。
技術的思想3のコンピューティングデバイスは、技術的思想1又は2に記載のコンピューティングデバイスにおいて、前記第2段階は、ランドマークごとに、前記クロップされた特徴から第2のヒートマップを生成し、前記第2のヒートマップを用いて前記それぞれのリファインメント位置オフセットを生成する。
技術的思想4のコンピューティングデバイスは、技術的思想1から3のいずれかに記載のコンピューティングデバイスにおいて、前記CNNは、前記それぞれの位置の前記初期予測と、前記それぞれのリファインメント位置オフセットとを組み合わせて、前記複数のランドマークの各々について前記それぞれの位置を提供する。
技術的思想5のコンピューティングデバイスは、処理ユニットと、それに結合された記憶デバイスと、前記処理ユニットによって実行されたときに、複数のランドマークの各々に対してそれぞれの位置を決定し、画像を処理するようにコンピューティングデバイスを構成する命令を記憶している記憶ユニットと、を備えるものであって、第1段階および第2段階を有する畳み込みニューラルネットワーク(CNN)を用いて前記画像を処理することを備え、前記第1段階は、前記画像を受け取り、前記第1段階の第1部において、前記画像からの中間的特徴のボリュームを決定し、前記第1段階の第2部において、前記中間的特徴のボリュームを用いて前記画像内の前記ランドマークの各々についてのそれぞれの初期位置を決定し、前記第2段階は、前記第2段階の第1部において、前記中間的特徴のボリュームを受信し、前記第2段階の第2部において、前記複数のランドマークの各々についての前記それぞれの初期位置を受信し、前記第2段階はさらに、前記中間的特徴をさらに洗練するように前記ボリュームの処理をすることと、前記複数のランドマークの各々についてクロップされた特徴を生成するように特徴アライメントを保存しながら、関心領域のプーリングをさらに洗練されたものとして前記中間的特徴に対して実行することと、前記クロップされた特徴を用いて、各ランドマークについて、前記各ランドマークのそれぞれの初期位置の各々に対する、それぞれのリファインメント位置オフセットを決定することと、を備え、前記処理は、前記複数のランドマークの各々の前記画像内の最終位置座標を決定するために、前記それぞれの初期位置の各々と前記それぞれのリファインメント位置オフセットとを組み合わせるようにさらに動作する。
技術的思想6のコンピューティングデバイスは、技術的思想5記載のコンピューティングデバイスにおいて、前記第1段階の第2部が前記中間的特徴のボリュームを使用して初期ヒートマップを決定し、前記初期ヒートマップを用いて前記ランドマークの各々についてのそれぞれの初期位置の各々を予測する。
技術的思想7のコンピューティングデバイスは、技術的思想1から6のいずれかに記載のコンピューティングデバイスにおいて、前記第1段階の少なくともいくつかは一連の反転残差ブロックを含み、前記第2段階の少なくともいくつかは一連の反転残差ブロックを含む。
技術的思想8のコンピューティングデバイスは、技術的思想1から7のいずれかに記載のコンピューティングデバイスにおいて、前記第2段階は、前記クロップされた特徴を生成するように特徴アラインメントを保存しながら、前記関心領域のプーリングのためのRoIAlignを用い、前記クロップされた特徴を連結する。
技術的思想9のコンピューティングデバイスは、技術的思想1から8のいずれかに記載のコンピューティングデバイスにおいて、前記第2段階は、前記クロップされた特徴を処理する予測ブロックを含み、前記予測ブロックは、3×3カーネルによるチャネル単位の畳み込みと、それに続いて、BatchNorm及びReLUアクティベーションと、1×1カーネルによるグループ単位のチャネルの畳み込みと、それに続いて、BatchNormと、を順番に実行し、前記それぞれのリファインメント位置オフセットの各々を出力する。
技術的思想10のコンピューティングデバイスは、技術的思想1から9のいずれかに記載のコンピューティングデバイスにおいて、前記CNNモデルは、ガウス分布に従って定義された前記複数のランドマークのそれぞれのランドマークについて、グラウンドトゥルースヒートマップを有するそれぞれのトレーニング画像を用いて、前記それぞれのトレーニング画像内の前記グラウンドトゥルースヒートマップのそれぞれの座標位置に対応するモードでトレーニングされる。
技術的思想11のコンピューティングデバイスは、技術的思想10記載のコンピューティングデバイスにおいて、前記ガウス分布は、以下の数式1に従って定義され、
x,yはトレーニング画像内の任意のピクセルの座標を示し、(x
i
,y
i
)は、対応するランドマーク座標である。
【数1】
技術的思想12のコンピューティングデバイスは、技術的思想11記載のコンピューティングデバイスにおいて、x
pred
,y
pred
回帰は、以下の数式2のように、それぞれの予測されたヒートマップから計算された前記ガウス分布(数式1)による前記ピクセルの位置の期待値であって、jは、それぞれのヒートマップ内のすべての前記ピクセルにわたるインデックスであり、w
j
は、前記ピクセルのヒートマップ値を示す。
【数2】
技術的思想13のコンピューティングデバイスは、技術的思想1から12のいずれかに記載のコンピューティングデバイスにおいて、前記CNNが、ヒートマップを学習するためのピクセルワイズシグモイドクロスエントロピーによって定義される損失関数でトレーニングされる。
技術的思想14のコンピューティングデバイスは、技術的思想13記載のコンピューティングデバイスにおいて、前記損失関数は、距離損失L
2
をさらに含む。
技術的思想15のコンピューティングデバイスは、技術的思想13又は14に記載のコンピューティングデバイスにおいて、前記損失関数は、以下の数式3および数式4で表され、
【数3】
【数4】
【数5】
は、n
th
サンプルのピクセル位置(i,j)における第lチャネルの前記ヒートマップの予測値であり、
【数6】
は、対応するグランドトゥルースであり、
【数7】
は、数式4から計算されるピクセル位置(i,j)の重みであって、
【数8】
は、n
th’
サンプルのl
th
ランドマークの前記グランドトゥルースの座標であり、
【数9】
は、同じランドマークの予測座標である。
技術的思想16のコンピューティングデバイスは、技術的思想1から15のいずれかに記載のコンピューティングデバイスにおいて、前記画像を受信し、前記画像上でランドマーク検出を実行するための命令を介して、さらに構成される。
技術的思想17のコンピューティングデバイスは、技術的思想1から16のいずれかに記載のコンピューティングデバイスにおいて、前記それぞれの位置を用いて、前記ランドマークのうちの少なくとも1つ又はその周辺で前記画像を修正するための命令を介して、さらに構成される。
技術的思想18のコンピューティングデバイスは、技術的思想17記載のコンピューティングデバイスにおいて、前記画像を修正することは、前記画像に適用される製品をシミュレートすることを含む。
技術的思想19のコンピューティングデバイスは、技術的思想17又は18に記載のコンピューティングデバイスにおいて、前記画像はビデオ画像であり、前記コンピューティングデバイスは、前記命令を介して、仮想現実をシミュレートするために前記画像をリアルタイムで修正および提示するように構成される。
技術的思想20のコンピューティングデバイスは、技術的思想19記載のコンピューティングデバイスにおいて、カメラをさらに含み、前記ビデオは、前記カメラによって撮影されたセルフィービデオである。
技術的思想21のコンピューティングデバイスは、技術的思想16から20のいずれかに記載のコンピューティングデバイスにおいて、前記ランドマークは顔のランドマークであり、前記画像は顔を含み、前記ランドマークの前記それぞれの位置を用いて、少なくとも1つの製品シミュレーションで前記画像を更新することをさらに含む。
技術的思想22の方法は、第1段階および第2段階を有する畳み込みニューラルネットワーク(CNN)を用いて複数のランドマークの各々についてそれぞれの位置を決定するように画像を処理することを備え、前記第1段階は、前記それぞれの位置の初期予測を生成するように前記画像を処理し、前記第2段階は、前記第1段階によって前記画像から生成された中間的特徴と前記初期予測とを用いて、関心領域に対する共有された畳み込み特徴のクロップを生成してクロップされた特徴を定義し、さらに前記クロップされた特徴を処理して、前記それぞれの位置の前記初期予測に対してそれぞれのリファインメント位置オフセットを生成する。
技術的思想23の方法は、技術的思想22記載の方法において、前記第1段階は、前記中間的特徴を生成し、且つ、用いて、前記初期予測が生成するように初期ヒートマップを生成する。
技術的思想24の方法は、技術的思想22又は23に記載の方法において、前記第2段階は、ランドマークごとに、前記クロップされた特徴から第2のヒートマップを生成し、前記第2のヒートマップを用いて前記それぞれのリファインメント位置オフセットを生成する。
技術的思想25の方法は、技術的思想22から24のいずれかに記載の方法において、前記CNNは、前記それぞれの位置の前記初期予測と、前記それぞれのリファインメント位置オフセットとを組み合わせて、前記複数のランドマークの各々について、前記それぞれの位置を提供する。
技術的思想26の方法は、第1段階および第2段階を有する畳み込みニューラルネットワーク(CNN)を用いて複数のランドマークの各々についてそれぞれの位置を決定するように画像を処理することを備え、前記第1段階は、前記画像を受け取り、前記第1段階の第1部において、前記画像からの中間的特徴のボリュームを決定し、前記第1段階の第2部において、前記中間的特徴のボリュームを用いて前記画像内の前記ランドマークの各々についてのそれぞれの初期位置を決定し、前記第2段階は、前記第2段階の第1部において、前記中間的特徴のボリュームを受信し、前記第2段階の第2部において、前記複数のランドマークの各々についての前記それぞれの初期位置を受信し、前記第2段階はさらに、前記中間的特徴をさらに洗練するように前記ボリュームの処理をすることと、前記複数のランドマークの各々についてクロップされた特徴を生成するように特徴アライメントを保存しながら、関心領域のプーリングをさらに洗練されたものとして前記中間的特徴に対して実行することと、前記クロップされた特徴を用いて、各ランドマークに対して、前記各ランドマークのそれぞれの初期位置の各々についてのそれぞれのリファインメント位置オフセットを決定することと、を備え、前記処理は、前記複数のランドマークの各々の前記画像内の最終位置座標を決定するために、前記それぞれの初期位置の各々と前記それぞれのリファインメント位置オフセットとを組み合わせるようにさらに動作する。
技術的思想27の方法は、技術的思想26記載の方法において、前記第1段階の第2部が前記中間的特徴のボリュームを使用して初期ヒートマップを決定し、前記初期ヒートマップを用いて前記ランドマークの各々についてのそれぞれの初期位置の各々を予測する。
技術的思想28の方法は、技術的思想22から27のいずれかに記載の方法において、前記第1段階の少なくともいくつかは一連の反転残差ブロックを含み、前記第2段階の少なくともいくつかは一連の反転残差ブロックを含む。
技術的思想29の方法は、技術的思想22から28のいずれかに記載の方法において、前記第2段階は、前記クロップされた特徴を生成するように特徴アラインメントを保存しながら、前記関心領域のプーリングのためのRoIAlignを用い、前記クロップされた特徴を連結する。
技術的思想30の方法は、技術的思想22から29のいずれかに記載の方法において、前記第2段階は、前記クロップされた特徴を処理する予測ブロックを含み、前記予測ブロックは、3×3カーネルによるチャネル単位の畳み込みと、それに続いて、BatchNorm及びReLUアクティベーションと、1×1カーネルによるグループごとのチャネルの畳み込みと、それに続いて、BatchNormと、を順番に実行し、前記それぞれのリファインメント位置オフセットの各々を出力する。
技術的思想31の方法は、技術的思想22から30のいずれかに記載の方法において、前記CNNモデルは、ガウス分布に従って定義された前記複数のランドマークのそれぞれのランドマークについて、グラウンドトゥルースヒートマップを有するそれぞれのトレーニング画像を用いて、前記それぞれのトレーニング画像内の前記グラウンドトゥルースヒートマップのそれぞれの座標位置に対応するモードでトレーニングされる。
技術的思想32の方法は、技術的思想31記載の方法において、前記ガウス分布は、以下の数式1に従って定義され、x,yはトレーニング画像内の任意のピクセルの座標を示し、(x
i
,y
i
)は、対応するランドマーク座標である。
【数1】
技術的思想33の方法は、技術的思想32記載の方法において、x
pred
,y
pred
回帰は、以下の数式2のように、それぞれの予測されたヒートマップから計算された前記ガウス分布(数式1)による前記ピクセルの位置の期待値であって、jは、それぞれのヒートマップ内のすべての前記ピクセルにわたるインデックスであり、w
j
は、前記ピクセルのヒートマップ値を示す。
【数2】
技術的思想34の方法は、技術的思想22から33のいずれかに記載の方法において、前記CNNが、ヒートマップを学習するためのピクセルワイズシグモイドクロスエントロピーによって規定される損失関数でトレーニングされる。
技術的思想35の方法は、技術的思想34記載の方法において、前記損失関数は、距離損失L
2
をさらに含む。
技術的思想36の方法は、技術的思想34又は35に記載の方法において、前記損失関数は、以下の数式3および数式4で表され、
【数3】
【数4】
【数5】
は、n
th
サンプルのピクセル位置(i,j)における第lチャネルの前記ヒートマップの予測値であり、
【数6】
は、対応するグランドトゥルースであり、
【数7】
は、数式4から計算されるピクセル位置(i,j)の重みであって、
【数8】
は、n
th’
サンプルのl
th
ランドマークの前記グランドトゥルースの座標であり、
【数9】
は、同じランドマークの予測座標である。
技術的思想37の方法は、技術的思想22から36のいずれかに記載の方法において、前記複数のランドマークのそれぞれの位置のうちの少なくとも1つ又はその周辺で前記画像を修正することをさらに含む。
技術的思想38の方法は、技術的思想37記載の方法において、前記画像を修正することは、前記画像に適用される製品をシミュレートすることを含む。
技術的思想39の方法は、技術的思想37又は38に記載の方法において、前記画像がビデオ画像であり、前記方法が、仮想現実をシミュレートするためにリアルタイムで修正された前記画像を提示する。
技術的思想40の方法は、技術的思想37から39のいずれかに記載の方法において、カメラを有するパーソナルコンピューティングデバイス、好ましくはスマートフォン又はタブレットによって実行することをさらに含み、前記画像は、前記カメラによって撮影されたセルフィーである。
技術的思想41の方法は、技術的思想37から40のいずれかに記載の方法において、前記ランドマークが顔のランドマークであり、前記画像が顔を含み、前記ランドマークの前記それぞれの位置を用いて、少なくとも1つの製品シミュレーションで前記画像を更新することをさらに含む。
技術的思想42の非一時記憶デバイスは、前記処理ユニットによって実行されたときに、複数のランドマークの各々についてそれぞれの位置を決定し、画像を処理するようにコンピューティングデバイスを構成する命令を記憶するものであって、第1段階および第2段階を有する畳み込みニューラルネットワーク(CNN)を用いて前記画像を処理することを備え、前記第1段階は、前記画像を受け取り、前記第1段階の第1部において、前記画像からの中間的特徴のボリュームを決定し、前記第1段階の第2部において、前記中間的特徴のボリュームを用いて前記画像内の前記ランドマークの各々についてのそれぞれの初期位置を決定し、前記第2段階は、前記第2段階の第1部において、前記中間的特徴のボリュームを受信し、前記第2段階の第2部において、前記ランドマークの各々について前記それぞれの初期位置を受信し、前記第2段階はさらに、前記中間的特徴をさらに洗練するように前記ボリュームの処理をすることと、前記複数のランドマークの各々についてクロップされた特徴を生成するように特徴アライメントを保存しながら、関心領域のプーリングをさらに洗練されたものとして前記中間的特徴に対して実行することと、前記クロップされた特徴を用いて、各ランドマークに対して、前記各ランドマークの前記それぞれの初期位置についてのそれぞれのリファインメント位置オフセットを決定することと、を備え、前記処理は、前記複数のランドマークの各々の前記画像内の最終位置座標を決定するために、前記それぞれの初期位置の各々と前記それぞれのリファインメント位置オフセットとを組み合わせるようにさらに動作する。
技術的思想43のコンピューティングデバイスは、処理装置と、記憶デバイスと、を備え、画像内の複数のランドマークのそれぞれの位置を検出するように前記画像を処理する畳み込みニューラルネットワーク(CNN)を介して構成されるものであって、前記CNNは、第1段階において、前記それぞれの位置の初期座標を決定するように第1のヒートマップを採用し、第2段階において、前記初期座標のリファインメントオフセットを決定するように第2のヒートマップを採用し、前記第2段階では、さらにそれぞれのランドマークごとの関心領域プーリングを用いて非関連領域を回避するように重複演算を減らし、関連する共有された特徴の生成をガイドする2段階位置決めアーキテクチャを備え、前記CNNはそれぞれのヒートマップのサイズと演算リソースの使用を最小化するために、補助座標回帰損失でトレーニングされる。