IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ロレアルの特許一覧

特表2024-508930ワンショットニューラルアーキテクチャ検索による軽量でリアルタイムな顔の位置合わせ
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-28
(54)【発明の名称】ワンショットニューラルアーキテクチャ検索による軽量でリアルタイムな顔の位置合わせ
(51)【国際特許分類】
   G06N 3/082 20230101AFI20240220BHJP
   G06N 3/0464 20230101ALI20240220BHJP
   G06T 7/00 20170101ALI20240220BHJP
   G06T 7/30 20170101ALI20240220BHJP
【FI】
G06N3/082
G06N3/0464
G06T7/00 350C
G06T7/30
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023553745
(86)(22)【出願日】2022-03-03
(85)【翻訳文提出日】2023-11-06
(86)【国際出願番号】 EP2022055446
(87)【国際公開番号】W WO2022184850
(87)【国際公開日】2022-09-09
(31)【優先権主張番号】63/155,839
(32)【優先日】2021-03-03
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】2201813
(32)【優先日】2022-03-02
(33)【優先権主張国・地域又は機関】FR
(81)【指定国・地域】
(71)【出願人】
【識別番号】391023932
【氏名又は名称】ロレアル
【氏名又は名称原語表記】L’OREAL
【住所又は居所原語表記】14 Rue Royale,75008 PARIS,France
(74)【代理人】
【識別番号】110000534
【氏名又は名称】弁理士法人真明センチュリー
(72)【発明者】
【氏名】アーラビ・パラム
(72)【発明者】
【氏名】チェン・ヂィーハオ
(72)【発明者】
【氏名】ユ・チ
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096DA02
5L096FA69
5L096HA11
5L096KA04
5L096KA15
(57)【要約】
畳み込みニューラルネットワーク(CNN)では顔位置合わせネットワーク(FAN)が広範囲の公衆データセット上でかなりの精度を達成しており、これは大きなモデルサイズ及び高価な計算コストとなるので、エッジデバイスのリアルタイムアプリにそれらを適応させるのは不可能である。性能基準を維持しつつこの問題を克服するため、ワンショットニューラルアーキテクチャ検索を用いるFAN上のモデル圧縮アプローチが提供される。方法及びデバイスは(1のGPU上で)効率的な訓練及び検索を提供し、結果として得られるモデルはエッジデバイスのブラウザベースのアプリでリアルタイム実行できるように展開できる。圧縮モデルは同等の最先端の精度を提供しつつ30倍小さなモデルサイズを有し、一般的なスマートフォン及びOS上の一般的なブラウザにおいて1フレーム当たり40.7ミリ秒で実行できる。
【選択図】図1
【特許請求の範囲】
【請求項1】
方法であって、
顔位置合わせネットワーク(FAN)モデルを定義することは、
i)訓練データセット及びii)拡張および縮小訓練(EST)動作を用いてネットワーク構造を訓練することで前記ネットワーク構造から候補サブモデルのセットを生成することと、ここで前記EST動作は、候補サブモデルのセットを定義するための様々な構成パラメータの候補サブモデルのインスタンスを定義および保持するものであり、
前記候補サブモデルから前記FANモデルを選択するために、速度および精度評価基準を用いて前記候補サブモデルの進化的検索を実行することとを含むものであることを特徴とする方法。
【請求項2】
前記FANモデルは、顔画像を処理するためのエッジデバイスによるランタイム実行のために定義されることを特徴とする請求項1記載の方法。
【請求項3】
前記EST動作は、前記ネットワーク構造に従って以前に定義されたベースラインモデルから訓練を開始することを特徴とする請求項1又は2に記載の方法。
【請求項4】
前記EST動作は、EST動作を用いる更なる訓練のために、前記候補サブモデルのそれぞれにおける部分的に訓練されたパラメータとして、前記ベースラインモデルからの事前訓練されたパラメータを利用することを特徴とする請求項3記載の方法。
【請求項5】
前記候補サブモデルは、2エポックと60エポックとの間、2エポックと25エポックとの間および2エポックのうちのいずれか1つについて更に訓練されることを特徴とする請求項に記載の方法。
【請求項6】
前記EST動作は、各訓練反復においてランダムなサブネットを活性化して、サブネットの部分重みを積分として訓練し、サブモデル間で共有重みを効果的に訓練することを特徴とする請求項3から5のいずれかに記載の方法。
【請求項7】
前記EST動作は、深度サイズ、カーネルサイズ、チャンネル比および拡張比を含む複数の検索次元に従って候補サブモデルを生成するための検索空間を定義することを特徴とする請求項3から6のいずれかに記載の方法。
【請求項8】
前記EST動作は、小さな深度サイズ、小さなカーネルサイズ、大きなチャンネル比および大きな拡張比で開始し、次いで、動作は、段階的かつ以下の順序で、深度サイズ及びカーネルサイズをそれぞれの最大まで徐々に拡張し、終了フェーズで、チャンネル比および拡張比をそれぞれの最小まで徐々に縮小することを特徴とする請求項7記載の方法。
【請求項9】
前記EST動作は、第1サイズのカーネルを訓練し、前記第1サイズのカーネルを用いて、その後、第2サイズのカーネルを訓練する初期フェーズにおけるカーネル訓練動作を備え、前記第1サイズのカーネルは、前記第2サイズのカーネルの中心であることを特徴とする請求項7又は8に記載の方法。
【請求項10】
前記EST動作は、より少ないレイヤーを訓練し、次いで、より大きなレイヤーオプションを前記訓練に徐々に追加する、中間フェーズにおける深度訓練動作を含むことを特徴とする請求項6から9のいずれかに記載の方法。
【請求項11】
前記EST動作は、チャンネル比および拡張比訓練動作を備え、チャンネル比および拡張比訓練動作は、それぞれ終了フェーズでチャンネル比および拡張比を縮小することを特徴とする請求項6から10のいずれかに記載の方法。
【請求項12】
請求項2に従属する請求項3から10のように、前記進化的検索が、速度および精度評価基準を決定するために前記ベースラインモデルを評価することを特徴とする請求項2から11のいずれかに記載の方法。
【請求項13】
請求項2に従属する請求項3から12のように、前記進化的検索が、前記ベースラインモデルから進化して、後続のサンプリング及び評価のための候補サブモデルの母集団を定義することを特徴とする請求項2から12のいずれかに記載の方法。
【請求項14】
前記進化的検索は、
前記母集団からサンプリングして候補サブモデルの数量を選択し、
前記数量から最速のサブモデルを選択し、
前記最速のサブモデルを進化させて関連するサブモデルを決定し、
前記母集団から最古のサブモデルを除去し、
前記関連するサブモデルが精度閾値テストを満たす場合、後でサンプリングできるように前記関連するサブモデルを前記母集団に追加し、前記関連するサブモデルを最後の最速の候補サブモデルのセットに追加することを含む複数のサイクルを実行し、
前記複数のサイクルの前記性能に従って、前記最後の最速の候補サブモデルのセットから前記最速のサブモデルを前記FANモデルとして選択することを特徴とする請求項13記載の方法。
【請求項15】
前記進化的検索は、
前記母集団からサンプリングして候補サブモデルの数量を選択し、
前記数量から最も正確なサブモデルの選択を選択し、
前記最も正確なサブモデルを進化させて関連するサブモデルを決定し、
前記母集団から最古のサブモデルを除去し、
前記関連するサブモデルが速度閾値テストを満たす場合、後でサンプリングできるように前記関連するサブモデルを母集団に追加し、前記関連するサブモデルをサンプリングし、最後の最も正確な候補サブモデルのセットに追加することを含む複数のサイクルを実行し、
前記複数のサイクルの前記性能に従って、前記最後の最も正確な候補サブモデルのセットから前記最も正確なサブモデルを前記FANモデルとして選択することを特徴とする請求項13記載の方法。
【請求項16】
前記ネットワーク構造が、予測のために抽出された特徴を精緻化するために関心領域(RoI)位置合わせレイヤーに出力する2段階構造であることを特徴とする請求項1から15のいずれかに記載の方法。
【請求項17】
第1段階が4つのブロックを含み、第2段階が1つのブロックを含み、各ブロックが最大4つのレイヤーを含み、各レイヤーが反転された残差レイヤーを含むことを特徴とする請求項16記載の方法。
【請求項18】
エッジデバイスによる実行のために前記FANモデルを含むアプリケーションを定義することを特徴とする請求項1から17のいずれかに記載の方法。
【請求項19】
前記アプリケーションは、
前記顔のメイクアップ製品の前記試着をシミュレートするメイクアップシミュレーションアプリケーションと、
少なくとも1つの皮膚の徴候について領域または前記顔の領域を分析し、スコア付けするための皮膚分析アプリケーションと、
前記顔の領域に関連するグラフィカルエフェクトをシミュレートするエフェクトシミュレーションアプリケーションと、
顔の位置を追跡および示すための顔追跡アプリケーションとのいずれか1つであることを特徴とする請求項18記載の方法。
【請求項20】
前記アプリケーションは、前記FANモデルによってビデオを処理するように構成されることを特徴とする請求項18又は19に記載の方法。
【請求項21】
前記エッジデバイスは、スマートフォン又はタブレット端末であり、前記FANモデルは、グラフィックス処理ユニット(GPU)による実行のために構成されることを特徴とする請求項18から20のいずれかに記載の方法。
【請求項22】
前記アプリケーションは、前記メイクアップシミュレーションアプリケーション又は前記皮膚分析アプリケーションであり、前記アプリケーションは、それぞれメイクアップ及び皮膚トリートメントに関連する製品またはサービスを購入するために、電子商取引購入サービスへのインターフェースを提供するように構成されることを特徴とする請求項19から21のいずれかに記載の方法。
【請求項23】
前記アプリケーションは、前記メイクアップシミュレーションアプリケーション又は前記皮膚分析アプリケーションであり、前記アプリケーションは、メイクアップ及び皮膚トリートメントにそれぞれ関連する製品またはサービスを推奨する電子商取引推奨サービスへのインターフェースを提供するように構成されることを特徴とする請求項19から22のいずれかに記載の方法。
【請求項24】
命令を記憶する記憶デバイスに結合されたプロセッサを備えるコンピューティングデバイスであって、前記命令が前記プロセッサで実行されると、前記コンピューティングデバイスを、前記の請求項のいずれかに記載の方法に従った方法を実行するように構成されることを特徴とするコンピューティングデバイス。
【請求項25】
コンピュータプログラム製品であって、命令を記憶する非一時的記憶デバイスと、コンピューティングデバイスの処理ユニットによる実行のためのFANモデルを定義するデータとを備え、前記FANモデルは、前記の請求項のいずれかに記載の方法に従った方法で定義されることを特徴とするコンピュータプログラム製品。
【請求項26】
命令を記憶する記憶デバイスに結合された処理ユニットを備えるコンピュータデバイスであって、前記命令が前記理ユニットで実行されたときに、前記の請求項のいずれかに記載の方法に従って定義されたFANモデルを提供するように前記コンピューティングデバイスを構成することを特徴とするコンピュータデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
《相互参照》
本出願は、2021年3月3日に出願された米国仮出願第63/155,839号に対する優先権の利益を主張し、その全内容は、参照により本明細書に組み込まれる。本出願はまた、2022年3月2日に出願された仏国特許出願第2201813号に対する優先権の利益を主張し、その全内容は、参照により本明細書に組み込まれる。
【0002】
本出願は、画像処理のためのコンピュータ処理、画像処理およびニューラルネットワークの改善に関し、より詳細には、ワンショットニューラルアーキテクチャ検索(one-shot neural architecture search、NAS)を用いた軽量でリアルタイムな顔の位置合わせのためのシステム、方法および技法に関するものである。
【背景技術】
【0003】
顔の位置合わせ(Face alignment)は、人間の顔上における顔のランドマークを位置特定する一般的なコンピュータビジョンタスクである。この技術は、ライブ顔追跡、三次元(3D)顔形状推定および顔特徴抽出等の様々な種類の顔関連の産業の用途における構成要素(building block)として広く用いられている。設計された人工知能(AI)モデルを現実世界のアプリケーションに適用する際、計算速度および精度はエッジデバイス(例えば、タブレット端末およびスマートフォンを含むパーソナルコンピューティングデバイス)上のリソースが限られているため、主要なボトルネックとなる。クラウドコンピューティングは、良好な精度を維持しながらAIモデルの推論時間(inference time)を増大できる解決策を提供するが、クラウドベースの解決策はプライバシー及び安定性の問題に悩まされる。他の解決策は、計算時間を短縮するため手動で設計されたモバイルターゲットモデル(Howard等、2017)(Sandler等、2019)を用いるが、そのようなモデルは顔の位置合わせのみをターゲットとする注意深く設計されたモデルと比較して、十分な結果を提供しない。
【0004】
従って、畳み込みニューラルネットワーク(Convolutional Neural Networks、CNN)では顔位置合わせネットワーク(facial alignment networks、FAN)が広範囲の公衆データセット(public datasets)上でかなりの精度を達成しており、これはより大きなモデルサイズ及び高価な計算コストとなるので、エッジデバイス上のリアルタイムアプリケーションにそれらを適用させることは不可能である。
【発明の概要】
【0005】
CNNでは、顔位置合わせネットワークが広範囲の公衆データセット上でかなりの精度を達成しており、これはより大きなモデルサイズ及び高価な計算コストとなるので、エッジデバイス上のリアルタイムアプリケーションにそれらを適用させることは不可能である。性能基準を維持しながらこの問題を克服するために、ワンショットニューラルアーキテクチャ検索(One-Shot Neural Architecture Search)を用いる、FAN上のモデル圧縮アプローチが提供される。方法およびデバイスは、(単一のGPU上で)効率的な訓練および検索を提供し、結果として得られるモデルは、タブレット端末およびスマートフォンを含むエッジデバイス上のブラウザベースのアプリケーションにおいてリアルタイムで実行するように展開できる。圧縮モデルは同等の最先端(cutting-edge)の精度を提供し、一方で30倍小さなモデルサイズを有し、一般的なスマートフォン及びOS上の、一般的なブラウザにおいて1フレーム当たり40.7ミリ秒で実行できる。
【0006】
一実施形態では、顔位置合わせネットワーク(FAN)モデルを定義する方法が提供され、定義することは、i)訓練データセット及びii)拡張および縮小訓練(EST)動作を用いてネットワーク構造を訓練することでネットワーク構造から候補サブモデルのセットを生成することと、ここでEST動作は候補サブモデルのセットを定義する様々な構成パラメータの候補サブモデルのインスタンスを定義および保持するものであり、候補サブモデルからFANモデルを選択するために、速度および精度評価基準(accuracy evaluation criteria)を用いて候補サブモデルの進化的検索(evolutionary search)を実行することとを含む。
【0007】
一実施形態では、FANモデルが、顔画像を処理するために、エッジデバイスによるランタイム実行のために定義される。
【0008】
一実施形態では、EST動作が、ネットワーク構造に従って以前に定義されたベースラインモデル(baseline model)から訓練を開始する。一実施形態では、EST動作がEST動作を用いる更なる訓練のために、候補サブモデルのそれぞれで部分的に訓練されたパラメータとして、ベースラインモデルからの事前訓練されたパラメータを利用する。一実施形態では、候補サブモデルが、2エポック(epochs)と60エポックとの間、2エポックと25エポックとの間および2エポックのうちのいずれか1つについて更に訓練される。
【0009】
一実施形態では、EST動作が、各訓練反復(training iteration)においてランダムなサブネットを活性化(activate)して、サブネットの部分重み(partial weights)を積分として訓練し、サブモデル間で共有重み(sharing weights)を効果的に訓練する。
【0010】
一実施形態では、EST動作が、深度サイズ(Depth size)、カーネルサイズ(Kernel size)、チャンネル比(Channel ratio)および拡張比(Expansion ratio)を含む複数の検索次元(search dimensions)に従って候補サブモデルを生成するための検索空間(search space)を定義する。一実施形態では、EST動作が小さな深度サイズ、小さなカーネルサイズ、大きなチャンネル比および大きな拡張比で開始し、次いで、動作は、段階的かつ以下の順序で、深度サイズ及びカーネルサイズをそれぞれの最大まで徐々に拡張し、終了フェーズ(ending phases)で、チャンネル比および拡張比をそれぞれの最小まで徐々に縮小する。一実施形態では、EST動作が、第1サイズのカーネルを訓練し、第1サイズのカーネルを用いて第2サイズのカーネルをその後に訓練する、初期フェーズ(early phase)でのカーネル訓練動作を備え、第1サイズのカーネルは第2サイズのカーネルの中心(center)である。
【0011】
一実施形態では、EST動作が、より少ないレイヤーを訓練し、次いで、より大きなレイヤーオプションを訓練に徐々に追加する、中間フェーズ(middle phase)における深度訓練動作を備える。
【0012】
一実施形態では、EST動作が、チャンネル比および拡張比訓練動作を備え、チャンネル比および拡張比訓練動作は、それぞれ終了フェーズでチャンネル比および拡張比を縮小する。
【0013】
一実施形態では、進化的検索が、速度および精度評価基準を決定するためにベースラインモデルを評価する。一実施形態では、進化的検索が、ベースラインモデルから進化して、後続のサンプリング及び評価のための候補サブモデルの母集団(population)を定義する。
【0014】
一実施形態では、進化的検索が、複数のサイクルを実行し、その複数のサイクルは母集団からサンプリングして候補サブモデルの数量を選択することと、その数量から最速のサブモデルを選択することと、最速のサブモデルを進化させて関連するサブモデルを決定することと、母集団から最古のサブモデルを除去することと、関連するサブモデルが精度閾値テスト(accuracy threshold test)を満たす場合、後でサンプリングできるように関連するサブモデルを母集団に追加し、関連するサブモデルを最後の最速の候補サブモデルのセットに追加することと、複数のサイクルの性能に従って、最後の最速の候補サブモデルのセットから最速のサブモデルを、FANモデルとして選択することとを含む。
【0015】
一実施形態では、進化的検索が、複数のサイクルを実行し、その複数のサイクルは候補サブモデルの数量を選択するために母集団からサンプリングすることと、その数量から最も正確なサブモデルを選択することと、最も正確なサブモデルを進化させて関連するサブモデルを決定することと、最古のサブモデルを母集団から除去することと、関連するサブモデルが速度閾値テスト(speed threshold test)を満たす場合、後でサンプリングできるように関連するサブモデルを母集団に追加し、関連するサブモデルを最後の最も正確な候補サブモデルのセットに追加することと、複数のサイクルの性能に従って、最後の最も正確な候補サブモデルのセットから最も正確なサブモデルを、FANモデルとして選択することとを含む。
【0016】
一実施形態では、ネットワーク構造は、予測のために抽出された特徴を精緻化するために関心領域(Region of Interest、RoI)位置合わせレイヤーに出力する2段階構造である。一実施形態では、第1段階は4つのブロックを含み、第2段階は1つのブロックを含み、各ブロックは最大4つのレイヤーを含み、各レイヤーは反転された残差レイヤー(inverted residual layer)を含む。
【0017】
一実施形態では、方法が、エッジデバイスによる実行のためにFANモデルを含むアプリケーションを定義することを含む。それぞれの実施形態では、アプリケーションが顔上のメイクアップ製品の試着(trying on)をシミュレートするためのメイクアップシミュレーションアプリケーション、少なくとも1つの皮膚の徴候(skin sign)について領域または顔の領域を分析およびスコア付けするための皮膚分析アプリケーション、顔の領域に関連するグラフィカルエフェクトをシミュレートするためのエフェクトシミュレーションアプリケーション及び顔の位置を追跡および示すための顔追跡アプリケーションのうちのいずれか1つを含む。
【0018】
一実施形態では、アプリケーションが、FANモデルによってビデオを処理するように構成される。一実施形態では、エッジデバイスが、スマートフォン又はタブレット端末であり、FANモデルは、グラフィックス処理ユニット(GPU)による実行のために構成される。一実施形態では、アプリケーションが、メイクアップシミュレーションアプリケーション又は皮膚分析アプリケーションであり、アプリケーションは、メイクアップ及び皮膚トリートメントにそれぞれ関連付けられた製品またはサービスを購入するために、電子商取引購入サービスへのインターフェースを提供するように構成される。
【0019】
一実施形態では、アプリケーションが、メイクアップシミュレーションアプリケーション又は皮膚分析アプリケーションであり、アプリケーションは、メイクアップ及び皮膚トリートメントにそれぞれ関連する製品またはサービスを推奨する電子商取引推奨サービスへのインターフェースを提供するように構成される。
【0020】
一実施形態では、命令を記憶する記憶デバイスに結合された処理ユニットを備えるコンピューティングデバイスであって、命令が処理ユニットで実行されると、実施形態に記載のいずれかの方法に従った方法を実行するようにコンピューティングデバイスを構成する、コンピューティングデバイスが提供される。
【0021】
一実施形態では、命令を記憶する非一時的記憶デバイスと、コンピューティングデバイスの処理ユニットによって実行するためのFANモデルを定義するデータとを備えるコンピュータプログラム製品が提供され、FANモデルは、実施形態に記載の方法のいずれかに従った方法で定義される。
【0022】
一実施形態では、命令を記憶する記憶デバイスに結合された処理ユニットを備えるコンピュータデバイスが提供され、命令が処理ユニットで実行されると、実施形態に記載の方法のいずれかに従った方法で定義されたFANモデルを提供するようにコンピューティングデバイスを構成する。
【図面の簡単な説明】
【0023】
図1】一実施形態による2段階CNN構造の簡略図である。
図2A】一実施形態によるOFA訓練動作と拡張および縮小訓練(EST)動作との間の比較を示すブロック図である。
図2B】一実施形態によるOFA訓練動作と拡張および縮小訓練(EST)動作との間の比較を示すブロック図である。
図2C】一実施形態によるOFA訓練動作と拡張および縮小訓練(EST)動作との間の比較を示すブロック図である。
図2D】一実施形態によるOFA訓練動作と拡張および縮小訓練(EST)動作との間の比較を示すブロック図である。
図2E】一実施形態によるEST拡張およびチャンネル選択動作を示す図である。
図3】一実施形態による進化的検索プロセスのための擬似コードのリストである。
図4A】一実施形態による実験の結果を示すグラフである。
図4B】一実施形態による実験の結果を示すグラフである。
図4C】一実施形態による実験の結果を示すグラフである。
図4D】一実施形態による実験の結果を示すグラフである。
図5】A及びBは、一実施形態による実験の結果を示すグラフである。
図6A】データセットのアノテーションを示す画像である。
図6B】データセットのアノテーションを示す画像である。
図7】一実施形態による開発コンピューティングデバイス、ウェブサイトコンピューティングデバイス及びエッジコンピューティングデバイスを示すコンピュータネットワークの図である。
図8】一実施形態によるコンピューティングデバイスの図である。
図9】一実施形態による動作のフローチャートである。
【0024】
【0025】
【0026】
【0027】
【0028】
【0029】
【0030】
【0031】
【発明を実施するための形態】
【0032】
<関連業績>
《顔のランドマークの位置合わせ》
顔の位置合わせの長い歴史は、古典的なコンピュータビジョンから始まり、回帰ツリーの集合アルゴリズム(Kazemi and Sullivan 2014)は、初期段階のリアルタイムな顔の追跡のための高速で許容可能で正確な解を与える。これらの手法は、非常に大きなモデルサイズによって合理的な結果を達成した。
【0033】
最近の顔の位置合わせのためのCNNソリューションは、精度に関して優れた性能を達成した。ヒートマップ(heat maps)と共に砂時計構造(hourglass structures)のスタック(Newell、Yang、Deng 2016)(Liu等 2019)(Kowalski、Naruniec、Trzcinski 2017)を用いるのが研究のほとんどである。これらの種類の手法は、ランドマークの精度を著しく向上させるが、これらのカスケード構造(cascaded structures)は依然として厄介である。
【0034】
MobileNet(Howard等 2017)及びMobilenetV2(Sandler等 2019)等のモバイル及び組み込みビジョンアプリケーションをターゲットとする効率的なモデルは、滑らかに動作し良好な性能を有する。FANの精度および速度には、依然として改善の余地がある。
《ニューラルアーキテクチャ検索(Neural Architecture Search)》
【0035】
初期のNASの業績(ZophとLe 2017)では、分類タスク(classification task)の結果が大幅に改善されたが、検索には1000GPU日(1000 GPU days)以上がかかる。検索コストは、サンプリングされたモデルの反復訓練から生じるので、ワンショットのNASアプローチ(Liu、Simonyan及びYang 2019)(Cai等 2020)は、サンプルモデルの全てのパラメータを網羅するスーパーモデル(supermodel)を訓練することを提案する。この手法では、検索時間が7GPU日未満に短縮されるため、配置(deployment)シナリオ下でのNASの実行が実用的になる。
【0036】
分類タスクに関する効率的な検索と共に、NAS手法は、物体検出(Chen等 2019)、分割(Nekrasov等 2019)及び姿勢推定(Yang、Yang、Cui 2020)にも適応される。NASとFANのクロスフィールドについてはこれまで研究は行われていないが、バックボーンとボトルネックとを検索する検出研究(Chen等 2019)との類似点を共有している。
<実施形態>
《CNNモデルアーキテクチャ》
【0037】
一実施形態によれば、2段階CNN構造は、提案されたもの(Li等、Lightweight Real-time Makeup Try-on in Mobile Browsers with Tiny CNN Models for Facial Tracking、2019 URL:arxiv.org/abs/1906.02260、2020年4月22日米国特許出願第16/854,993号の「CONVOLUTION NEURAL NETWORK BASED LANDMARK TRACKER」として出願されており、これらの引例は、いずれも参照により本明細書に組み込まれる)と同様に用いられる。
【0038】
図1は、一実施形態による2段階CNN構造100の簡略図である。CNN構造100は、段階1(102)及び段階2(104)を示す。段階1は、バックボーン106によって供給(feed)され、4つのブロック(ブロック1(108A)、ブロック2(108B)、ブロック3(108C)及びブロック4(108D))を含む。段階2は、ブロック1からの出力を受け取る。CNN構造100は、関心領域(RoI)位置合わせレイヤー110を用いて、112における予測のために特徴を精緻化する(refine)ように、特徴を段階1の出力から抽出する。CNN構造100はまた、ヒートマップを有するネットワークの出力を表す。実施形態によれば、ピクセル単位のシグモイド交差クロスエントロピー(sigmoid cross entropy)及び通常のL2損失が、参考文献に示唆されているように(モデル訓練中に)用いられる。
【0039】
実施形態によれば、レイヤー(例えば、バックボーン、ブロック1~4及び段階2の孤立した(lone)ブロック)は、反転された残差レイヤー(inverted residual layers)である。以下の例外を除いて、レイヤーはstride=1を用い、1つのブロック内に同数のチャンネルを保持する:i)バックボーンのレイヤー(106)は、第1レイヤーにおいてs=2及び第2レイヤーにおいてc=16での畳み込みであり;ii)ブロック1(108A)の第1レイヤーが、s=2及びc=24を有し;ブロック2(108B)の第1レイヤーが、s=2及びc=32を有し;ブロック3(108C)の第1レイヤーが、s=2及びc=64を有し;ブロック4(108D)の第1レイヤーが、s=1及びc=96を有し;段階2(104)が、s=1及びc=32を有する(ここで「c」が「チャンネル」を表し、「s」が「ストライド(stride)」を表す)。
《検索空間(Search Space)》
【0040】
一実施形態によれば、CNN構造100により展開されたモデルは、その第1段階としてMobileNetV2(Sandler等 2019)の一部を用いている。この展開されたモデルは、以下のセクションでベースラインモデルと呼ばれる。目標(goal)は、類似の構造を検索することで、このベースラインモデルのモデルサイズを圧縮することである。従って、図1を参照して説明したように、反転された残差レイヤーをモデルの基本構成として用いた。
【0041】
実施形態によれば、ブロック当たりのレイヤー深度は、[2,3,4]、[3,5,6]からのレイヤーの拡張率(expansion rate)、[3,5]からのカーネルサイズ、及び、[0.7,0.8,0.9,1.0]からのブロックワイズ(blockwise)チャンネル比から選択できる。このチャンネル比は、基本チャンネル数と乗算され、検索空間により多くの変動を加えることができる。全体として、検索空間は、
【数1】
の異なるサブモデルを含む。
【0042】
各検索次元(search dimension)から最大のオプションを選択することで得られる最大のサブモデルは、スーパーモデルである。ベースラインモデルを含むこの検索空間からサンプリングされた各モデルは、スーパーモデルのサブセットとみなすことができる。
《拡張および縮小訓練(Expand & Shrink Training)によるワンショットNAS》
【0043】
(前セクションで説明した)各検索次元の最大値を選択すると、一実施形態によれば、スーパーモデルは、1.14Mのパラメータを有する。訓練へのワンショットNASアプローチ下では、スーパーモデルが一度だけ訓練され(例えば、スーパーモデルは検索フェーズ中に再度訓練されない)、その事前訓練された重みはそれらを最初(scratch)から訓練する代わりに、全てのサンプリングされたモデルに提供される。ここで、サンプリングされたモデルは、スーパーモデルに従って検索フェーズ中にサンプリングされる初期の訓練フェーズ中に生成されたサブモデルを参照する。
【0044】
従って、スーパーモデルは、訓練するのにより長い時間を必要とするが(例えば、訓練に対するより典型的なアプローチ下で同様の構造のモデルと比較して)、それが完了すると、各サンプリングされたモデルの検索時間はO(N)の代わりにO(1)となる。
【0045】
スーパーモデルを全体として訓練することは、単純な(naive)アプローチである。それは簡単だが、共有される重みは、異なるサブモデルに対して最適化されておらず、従って、有望ではない(図4Cに関連して後述する)。重みは、スーパーモデルが全体として機能するように一体的に(integrally)訓練される。全てのサブネット(subnets)を同時に最適化するために、Once-For-All(OFA、(Cai等 2020))からの手法が適応され、一実施形態によれば、新しい拡張および縮小訓練(EST)戦略が提案される。OFA及びEST(本明細書で紹介する)の両方は、同じ問題を解決するために働くが、スーパーモデルにおける重みは、それらが部分的にのみ活性化される(activated)ときに働くようにする-ESTが実証されるような改善された結果を示す。
【0046】
以下の例では、問題を一般的に簡略化して示す。レイヤーA、B及びCを有するスーパーモデルが存在すると仮定する。全体のスーパーモデル(即ち、ABC)が動作するだけでなく、サブモデルAB、BC(部分的に)も動作することが望ましい。OFA及びESTのそれぞれは、それぞれの訓練反復(training iteration)でランダムなサブネットを活性化することで、部分重み(partial weights)を一体的に訓練する。それぞれは、異なるアプローチを用いて、サブモデル間で共有重み(sharing weights)を効果的に訓練する手法に焦点を当てる。再度レイヤーABCの例示的なスーパーモデルを参照すると、典型的な訓練はABCを積分(integral)として訓練し、これは、ABCの全てのパラメータを、同時に且つA→B→C→の出力に基づく同じ方向で更新する。従って、部分重みを統合的に訓練することは、スーパーモデル内のABレイヤーによってのみ定義されるサブモデルについて、そのようなレイヤーは訓練するための独立したモデルであるとみなされ得る。従って、このサブモデルを訓練するとき、ABの重みのみが更新され、更新の方向は、A→B→の出力に基づく。Cにおける重みは依然として(例えば、スーパーモデルにおいて)存在するが無視され(それらは活性化されない)、訓練の焦点はA及びBのみに限定される。類似のアプローチがサブモデルBCに対して取られ、ここで、これらのレイヤーのみが、レイヤーAを無視して一体的に訓練される。
【0047】
OFA及びEST下のアプローチは、前述の問題を解決する詳細において異なる。図2A、2B、2C及び2Dは、OFAとESTとの間の比較を行うブロック図であり、図2Aは、一例によるOFAカーネル訓練動作200を示す。動作200は最初に、5x5カーネルの訓練202Aを示し、次いで、その中心の3x3に線形変換を適用して、3x3のカーネル202Bとして動作する。図2Bは、一例によるESTカーネル訓練動作202を示し、動作202は、動作200の逆である:202Aにおいて、動作は、最初に3x3カーネルを訓練し、次いで、それを訓練するための5x5カーネルの中心(202B)とみなす。図2Cは、一例によるOFA深度訓練動作(depth training operations)204を示し、動作204はまず、全てのレイヤー(204A)を訓練し、次いで、最小のレイヤーオプションを徐々に低減することで(204B、204C)、より小さなモデルのより多くの選択を可能にする。図2Dは、一例によるEST深度訓練動作206を示す。動作206は、より少ないレイヤー(206A)を訓練し、次いで、より大きなレイヤーオプション(206B)を検索空間に徐々に追加する。そして、図2Eは、一例によるEST拡張およびチャンネル選択動作208を示す。OFAでは、拡張比(expansion ratio)が決定され、C個のチャンネルが選択されると、最も(チャンネル毎の重みのL1ノルム(L1 norm)の合計が)重要な上位C個のチャンネルが選択される。ESTは、拡張比(208A、208B)についてこの手法に従い、更にそれをブロックワイズチャンネル比(208C)に適用する。
【0048】
要約すると、OFAは、最初に最大のレイヤーの重みを訓練し、次いで、その重みを共有して、小さなレイヤーを徐々に訓練する傾向がある。対照的に、ESTは、拡張比およびチャンネル比のためにレイヤーのサイズを徐々に縮小する一方で、深度およびカーネルサイズのための検索オプションを拡大する。(OFAに対するESTの利点は、図5A及び5Bのグラフ500及び502を参照して示され、以下に説明される。)
【0049】
表1は、一実施形態によるESTの5つのフェーズを示す。検索次元は、深度(D)、カーネル(K)、チャンネル比(C)及び拡張比(E)を含む。これらの次元のそれぞれは、5つのフェーズのうちの1つにおいて、それに応じてその検索範囲を拡張または縮小する。示された訓練の順序は、異なる順序よりも良好な結果を達成するのが実証された。
【0050】
ESTは、小さな深度およびカーネルサイズ、並びに、大きなチャンネル及び拡張比で開始する。次いで、ESTは、徐々に深度およびカーネルを最大に拡張する。終了フェーズ(ending phases)において、ESTは、チャンネル及び拡張比を最小にまで徐々に縮小する。注目すべきことに、拡張および縮小フェーズの間、前のフェーズからの検索オプションが保持される(例えば、後の検索に用いるためにサブモデルの検索空間を拡張すること)。従って、(サブモデルの)活性化された検索空間は、サブモデルがEST動作に従って追加されるにつれてステップ毎に大きくなり、EST動作を用いて作成される、より大きく、より小さなサブモデルは、一緒に訓練される機会を有する。更なる例が有用である。この例では、4つのレイヤーABCDを有するスーパーモデルがあり、簡単にするために、検索空間はレイヤーの数である1つの検索オプションのみを有する。例えば「4」から選択するレイヤー番号の選択肢が1つしかない場合、サブモデルは、ABCDを有するスーパーモデル自体である正確に4つのレイヤーを有することになり、検索オプションにおいて「2,3,4」レイヤーを可能にすることで検索空間が拡大されるとき、サブモデルは例えば、AB(2つのレイヤー)、ABC(3つのレイヤー)、ABCD(4つのレイヤー)等であり得る。従って、より多くの検索オプション(「2,3,4」対「4」)を可能にすることで、より大きなモデル(例えば、ABCD)がより小さなモデル(AB、ABC)と訓練され得る可能性がより高くなる(より多くなる)。
【表1】
《性能の評価および推定》
【0051】
一実施形態によれば、モデル圧縮は、配置シナリオにより少なくとも部分的に方向付けられ、従って、モデルの精度および速度の両方が評価される。最初からの訓練とエッジデバイス(edge devices)上での実行とによる、完全な評価はコストがかかる。評価コストを軽減するために、一実施形態によれば、推定器は、それらの性能を予測するために実装される。これらは、完全な評価と同様に、一貫した性能ランキングを与えるべきである。一実施形態によれば、速度(時間)推定は、FLOPS、Params及びMemory Read&Writeを用いるために開発された推定器を用いる。(正しさは、図4A、4B、4C及び4Dのグラフ400,402,404及び406を参照して例示され、以下で説明される。)
【0052】
精度推定のために、Nエポックのために最初から完全にサンプリングされたモデルを訓練する代わりに、一実施形態によれば、EST動作から大きな利点が得られる。ESTは、一実施形態では、スーパーモデルの部分重みがサブモデルにロードされ、そのサブモデルは、スーパーモデルを迅速に収束(converge)させるように訓練される。また、以下の図4A~4Dで後述するように、検索空間からサンプリングされた子(child)について、スーパーモデルから対応する重みをロードし、2エポックについてそれを訓練することは、正確な推定を与えるのに十分であることが証明された。これは、評価コストがO(N)ではなくO(1)であることを保証する。
《進化的検索(Evolutionary Search)》
【0053】
拡張および縮小訓練の後、検索空間上で進化的検索(ES)が実行される。一実施形態によれば、進化的検索の詳細が、アルゴリズム1(300)のための擬似コードを提供する図3に示される。基本的なES(Real等 2019)とは異なり、childacc及びchildtimeは、評価および検索の同定(search identification)のために用いられる。
【0054】
アルゴリズム1(300)は、精度閾値(accuracy threshold)を用いてモデルをサンプリングして最速の候補をソートする速度を検索する場合を示す;速度閾値(speed threshold)が代わりに用いられる場合、サンプリングされたモデルのサイズを圧縮でき、最も正確なモデルを検索できる。即ち13~23行目のループでは15行目の親(parent)が候補において最も正確なモデルであり、18行目は速度値を比較し、最後の24行目において、最も正確なモデルは、13~23行目のループから生成された最も正確なモデル候補を含むセットの履歴(history)から返却される。
【0055】
別の違いは、一実施形態では初期の母集団(population)の生成であり、検索はランダムサンプリングの代わりにベースラインから進化することによって(例えば、16行目のEVOLVE関数を介して)開始される。その後の進化は、ベースラインから進化された(一実施形態では)最速のサブモデルに対して実行される。
【0056】
EVOLVE関数では、検索空間から異なるサブモデルを選択するために用いられるランダム性がある。(同じ母親が異なる子どもを出産するのと同じように、ベースラインモデルを進化させると、異なる子モデルも生じる。実際、2つの子モデルが同じように進化する機会は、母親が双子を出産するのとほぼ同じである)。配置目的(deployment purpose)のため、検索は、より良好な効率および精度の両方を有するモデルを検索する。ランダムサンプリングを用いた場合、モデルサイズを制御し、精度をベースラインと公平に(fairly)比較することは困難である。
《データセット》
【0057】
組織内(in-house)データセット(「Modiデータセット」という)は、全部で3681個の画像を有する。Modiデータセットは、顔内の領域を定義する62個の内側点(inner points)と、それぞれの顔について3個の輪郭点(contour points)とを有する。アプリケーションシナリオでは、姿勢は-30°から30°まで分布する。一実施形態では、ESTNetモデルが、300Wデータセット(Sagonas等 2013)上で別々に訓練され、最先端(cutting-edge)の手法との公平な比較を行う。Modiデータセットと300Wデータセットとのアノテーション(annotations)の違いは、図6A及び6Bの画像600及び602に示される。
<結果と切除(Ablation)研究>
《訓練と検索》
【0058】
上記で論じられたのは、オリジナルのOFAと、本明細書に開示されるESTの技法との間の相違である。以下の結果は、FAN検索空間における深度およびカーネルについて、ESTによる拡張がOFAによる縮小よりもはるかに良好に動作することを示す。図5A(グラフ500)では、[2,3]深度から[2,3,4]への訓練において、誤差は0.031に下がり、一方、完全な[4]レイヤーから最初に訓練する場合、誤差は高いままである。図5B(グラフ502)では、カーネルサイズ3又は5から訓練を開始し、学習レートは変換行列(transformation matrices)に対して調整される。
【0059】
縮小実験は、はるかに高い誤差でクラスター化する。考察したように、性能推定器を検証するための実験が実施された。17個のランダムにサンプリングされたモデルを、推定値と比較して、実際の性能とそれらの性能ランクとで評価した。数式1の標本ピアソン相関係数(Freedman、Pisani、Purves 2007)を用いて、推定値と実際の評価の整合性を評価する。
【数2】
【0060】
図4Aにおいて、グラフ400は、実際の推論時間(inference time)を示し、図4Bにおいて、グラフ402は、FLOPS、Params及びMemory Read & Writeの加重平均(weighted average)によって行われる時間推定を示す。数式1を用いると、推定器の正当性を立証する0.677という強い相関が得られる。
【0061】
図4C及び4Dのグラフ404及び406は、2つのスーパーモデル訓練戦略、即ち、単純訓練(naive training)と拡張および縮小訓練との比較を示す。図4(C)では、モデルが単純に事前訓練された重みでロードされ、2エポック及び25エポックで訓練される。
【0062】
異なるエポックを調整した後の精度ランキングの相関は、わずか0.151である。従って、単純なアプローチは、良好な精度推定を提供しない。
【0063】
対照的に、図4Dは、前述の拡張および縮小訓練戦略から事前訓練されたスーパーモデルを用いる。同じモデルが2,25及び60エポックで訓練され、モデル精度ランクの一貫性は非常に強く、(2,25)、(25,60)、(2,60)の相関係数は、それぞれ0.667,0.916及び0.819である。これはESTの有効性を証明し、2エポックのチューニングモデルは、精度性能を推定するのに十分である。
【0064】
単純なアプローチと比較して、ESTは、はるかに多くの時間を費やすことなく、はるかに良好な精度推定を提供する。1つのTesla(登録商標)V-100(NVIDIA Corporation, Santa Clara, CAからのテンソルコアGPU)では、拡張および縮小訓練が終了まで40時間を要し、そこでは単純訓練も36時間を要する。
【0065】
要約すると、本セクションでは、時間推定器と精度推定器との両方の有効性を証明する。それはまた、単純なアプローチに対するESTの利点を示す。
《検索結果》
【0066】
表2及び表3に、それぞれの実施形態による検索結果を示す。αは、異なる複雑さを有するデータセットをカスタマイズするためのチャンネル番号と乗算されるパラメータである。Modiデータセットはα=0:5が用いられ、300Wデータセットはより多くのデータを有するためα=1:0が用いられる。このセクション内の計算された誤差は、全て瞳孔間の正規化(Inter-pupil Normalization)を用いた平均誤差で計算される。一実施形態では、動作が、Modiデータセットを検索し、表2のESTNetと呼ばれるものが最良の結果を獲得する。そのテストセットの内部誤差(inner error)及び輪郭誤差(contour error)は、ベースラインモデルよりも低く、そのモデルサイズは、ベースラインのわずか75%である。異なるエッジデバイスでは、ESTNetは精度および速度の両方で性能を上回る。
【表2】
【0067】
一実施形態では、動作が、300Wデータセット上のESTNetを別々に訓練して、そのロバスト性および一般性を評価する。表3に示すように、その結果は、ベースライン及び最先端の研究、ルックアットバウンダリ(LAB、(Wu等 2018))と比較される。8スタックLABのParam及びFLOPSは、(Zhu等 2020)から得られる。4スタックの結果は、半分にすることで推定される。ESTNetは、モデルParamsの25%を削減しながら、共通(common)、困難(challenging)及び完全(full)検証セットの全てについてベースラインよりも優れている。また、それはLABと同等の結果が得られている。ESTNetは、リアルタイムであるIPhone(登録商標)11(Apple Inc.Cupertino, CAの商標)上のChrome(登録商標)において、1フレーム当たり40.7ミリ秒で実行する。LABが、ESTNetよりも29.2倍多くのパラメータ及び50.2倍多くのFLOPSを有すると仮定すると、LABはリアルタイムで実行できず、これは圧縮モデルESTNetの利点である。
【表3】
【0068】
従って、実施形態に示されるように、EST技法、デバイス及び手法は、特にデバイス上のウェブサイト等(例えば、ウェブブラウザベースのアプリケーション)を介してリアルタイムで実行するFANモデルを開発するために提案される。ウェブブラウザベースのアプリケーションは、通常、ネイティブ(非ブラウザベース)アプリケーションよりも制約される。ウェブブラウザベースのアプリケーションは、ウェブブラウジングによる配信の手法がユーザフレンドリであり、アプリケーション配信サービス等(例えば、アプリケーションストア)からネイティブアプリケーションを取得してインストールする場合と比較してユーザが好む場合があるので、一般的に提供される。
【0069】
FANモデルが実行できるエッジデバイスは、共通のブラウザ及びOSを実行するスマートフォン及びタブレット端末(例えば、Apple Inc.Cupertino, CAからのデバイス、ブラウザ及びOS)を含む。本明細書のEST技法を用いて生成された一実施形態のモデルでは、30倍小さなモデルサイズを有し、IPhone(登録商標)11上のChrome(登録商標)において40.7ミリ秒で実行しながらも最先端の精度が得られる。
【0070】
図7は、一実施形態による、開発コンピューティングデバイス702、ウェブサイトコンピューティングデバイス704、アプリケーション配信コンピューティングデバイス706、並びに、それぞれのエッジコンピューティングデバイス、即ちスマートフォン708及びタブレット端末710を示す、コンピュータネットワーク700の図である。コンピューティングデバイスは、通信ネットワーク712を介して結合される。コンピュータネットワーク700は簡略化される。例えば、ウェブサイトコンピューティングデバイス704及びアプリケーション配信コンピューティングデバイス706は、それぞれのウェブサイト及びアプリケーション配信システムのデバイスの例である。通信ネットワーク712は、プライベート及びポブリック(poblic)ネットワークを含み得る複数の有線および/または無線ネットワークを含み得る。
【0071】
本実施形態では、開発コンピューティングデバイス702が、ネットワークモデルの訓練および試験等のための1又は複数のデータセットを記憶するデータストア714(データベースを含み得る)に結合される。データストア714は、開発および実装を支援するために、ソフトウェア、他のコンポーネント、ツール等を記憶できる。図示されていない別の実施形態では、データセットが、開発コンピューティングデバイス702の記憶デバイスに記憶される。開発コンピューティングデバイス702は、本明細書で説明する実施形態のうちの1つ又は複数に従ってFANモデル716を定義するように構成される。例えば、開発コンピューティングデバイス702は、i)訓練データセット及びii)拡大および縮小訓練(EST)動作を用いてネットワーク構造を訓練することで、ネットワーク構造から候補モデルのセットを生成するように構成される。ここでEST動作は、候補モデルのセットを定義するための様々な構成パラメータの候補モデルインスタンスを定義し、保持する。開発コンピューティングデバイスはまた、候補モデルからFANモデルを選択するために、速度および精度評価基準(accuracy evaluation criteria)を用いて候補モデルの進化的検索を実行する。
【0072】
開発コンピューティングデバイス702は、スマートフォン708及びタブレット端末710等のエッジデバイス上で実行するFANモデルを定義する。開発コンピューティングデバイス702(又は、別の図示しないもの)は、FANモデル716を、(ウェブサイトコンピューティングデバイス704で提供するための)ウェブサイト用等のアプリケーション720A及び/又はそれぞれのエッジデバイスに配信するためのアプリケーション配信コンピューティングデバイス(例えば、706)用のアプリケーション720Bに組み込む。一実施形態では、アプリケーション配信コンピューティングデバイス706が、アプリケーションストア(電子商取引)サービスを提供して、サポートされるオペレーティングシステム(OS)を実行するターゲットデバイス上で実行するためのアプリケーションを配信する。アプリケーション配信コンピューティングデバイスの例は、iOS(登録商標)又はiPADOS(Apple Inc. Cupertino CAの登録商標)を実行するiPhone(登録商標)又はiPAD(登録商標)デバイスのためのAppleのApp Store(登録商標)である。別の例は、Android OS(Google LLC, Mountain View, CAの登録商標)を実行する様々なソースからのスマートフォン及びタブレット端末デバイスのためのGoogle Play(Google LLC, Mountain View, CAの登録商標)である。この実施形態では、スマートフォン708が、ウェブサイトコンピューティングデバイス704からFANモデル716を有するアプリケーション720Aを受信し、タブレット端末710が、アプリケーション配信コンピューティングデバイス706からFANモデル716を有するアプリケーション720Bを受信する。
【0073】
図8は、代表的なコンピューティングデバイス800のブロック図である。図7のコンピューティングデバイスは、同様に、それらのそれぞれの必要性および機能に従って構成される。コンピューティングデバイス800は、処理ユニット802(例えば、CPU及び/又はGPU、又は他のプロセッサ等、一実施形態では少なくとも1つのプロセッサを備える)と、命令(及びデータ)を記憶する記憶デバイス804(一実施形態では、少なくとも1つの記憶デバイス)とを備え、命令は処理ユニット(例えば、プロセッサ)によって実行されるとコンピューティングデバイスの動作を構成し、例えば、方法を実行する。記憶デバイス804は、メモリデバイス(例えば、RAM、ROM、EEPROM等)、ソリッドステートドライブ(例えば、フラッシュメモリを定義できる半導体記憶デバイス/ICを備える)、ハードディスクドライブ又は他の種類のドライブ及びテープ、ディスク(例えば、CD-ROM等)等の記憶媒体のうちのいずれかを含むことができ、追加の構成要素は、有線または無線の手段を介してデバイスを通信ネットワークに結合するための通信ユニット806、入力デバイス808、表示デバイス812を備えることができる出力デバイス810を含む。いくつかの例では、表示デバイスが、入力/出力デバイスを提供するタッチスクリーンデバイスである。コンピューティングデバイス800の構成要素は、追加のデバイスに結合するための外部ポートを有し得る内部通信システム814を介して結合される。
【0074】
いくつかの例では、出力デバイスが、スピーカ、ベル、ライト、オーディオ出力ジャック、指紋リーダ等を備える。いくつかの例では、入力デバイスが、キーボード、ボタン、マイクロフォン、カメラ、マウス又はポインティングデバイス等を備える。他のデバイス(図示せず)は、位置決定デバイス(例えば、GPS)を備え得る。
【0075】
記憶デバイス804は、一例ではオペレーティングシステム816と、ユーザアプリケーション818(アプリケーション720A又は720Bのうちの1つであり得る)と、ウェブサイトをブラウズしウェブサイトから受信されたFANモデル716を用いてアプリケーション720A等の実行可能体を実行するためのブラウザ820(ユーザアプリケーションのタイプ)と、例えば、カメラや他のものからの画像および/またはビデオフレームが記憶されるデータ822とを記憶する。
【0076】
引き続き図7を参照すると、一例では、スマートフォン708のユーザが、ブラウザを用いてウェブサイトコンピューティングデバイス704で提供されるウェブサイトを訪問する。スマートフォン708は、FANモデル716を有するアプリケーション720Aを受信する。この例では、アプリケーションが、仮想現実体験を提供するアプリケーション上のメイクアップ試着等のエフェクトシミュレーションアプリケーションである。ユーザはカメラを用い、静止画像またはビデオ画像(例えば、自撮り画像)を取得し、このソース画像はアプリケーションで(例えば、FANモデル716を用いて)処理される。ユーザは、グラフィカルユーザインターフェースを介する等して適用されるべき様々なエフェクトを選択する。エフェクトは、FANモデル716を通して識別された顔の領域(例えば、訓練された顔のランドマーク)を用いて、リアルタイムで画像に適用される。メイクアップエフェクトは、ソース画像から更新された画像を定義するためにオーバーレイを用いて適用され得る。更新された画像は、表示デバイスを介して表示され、記憶デバイスに記憶され、ソーシャルメディア、テキストメッセージ、電子メール等を介して共有(通信)され得る。一実施形態では、ウェブサイトコンピューティングデバイス704は、電子商取引サービスが可能であり、アプリケーション720Aを介して仮想的に試着されたメイクアップの購入を容易にする。一実施形態では、ウェブサイトコンピューティングデバイス704が、製品を推奨するための推奨サービスを提供する。
【0077】
一実施形態では、アプリケーション720Aが、皮膚または他の顔のトリートメント製品のエフェクトをシミュレートする。一実施形態では、アプリケーション720Aが、皮膚または他の顔のトリートメントサービスのエフェクトをシミュレートする。一実施形態では、ウェブサイトコンピューティングデバイス704が製品を推奨するための推奨サービスを提供する。一実施形態では、ウェブサイトコンピューティングデバイス704は電子商取引サービスが可能であり、そのような製品および/またはそのようなサービスの購入を容易にする。一実施形態では、アプリケーション720Aが皮膚分析を実行し、少なくとも1つの皮膚の徴候(skin sign、例えば、にきび)のスコアリングを提供する。ウェブサイトコンピューティングデバイス704は、製品推奨を提供できる。アプリケーション720Aは、皮膚の徴候エフェクトの低減を示す結果または製品の使用をシミュレートできる。
【0078】
引き続き図7を参照すると、一例では、タブレット端末710のユーザがブラウザを用い、アプリケーション配信コンピューティングデバイス706によって提供されるウェブサイトを訪問する。タブレット端末710は、FANモデル716を有するアプリケーション720Bを受信する。この例では、アプリケーションが仮想現実体験を提供する顔に関連する非現実的なエフェクト(例えば、グラフィカルエフェクト)をシミュレートするようなエフェクトシミュレーションアプリケーションである。一例では、エフェクトが自撮り画像に適用されるフィルタである。一例では、エフェクトがグラフィカルエフェクトを用いて、顔を漫画(cartoon)のキャラクターとしてシミュレートする。ユーザはカメラを用い、静止画像またはビデオ画像(例えば、自撮り画像)を取得し、このソース画像はアプリケーションによって(例えば、FANモデル716を用いて)処理される。ユーザは、例えばグラフィカルユーザインターフェースを介して、適用されるキャラクターを選択できる。グラフィックエフェクト又はエフェクトは、FANモデル716によって識別された顔の領域を用いて、リアルタイムで画像に適用される。エフェクトは、ソース画像から更新された画像を定義するためにオーバーレイを用いて適用され得る。更新された画像は、表示デバイスを介して表示され、記憶デバイスに記憶され、ソーシャルメディア、テキストメッセージ、電子メール等を介して共有(通信)され得る。
【0079】
一実施形態では、アプリケーション720Bが、トリートメント製品シミュレーション又はトリートメントサービスシミュレーション(それぞれ、仮想または拡張現実体験)をアプリケーション上でメイクアップ試着することを提供する。アプリケーション720Bは、一実施形態では推奨および/または購入促進のためにデバイスを電子商取引サービスに向けるように構成される。
【0080】
一例では、アプリケーションが、ビデオ通話または会議アプリケーションである。エフェクトは、FANモデル716の結果を用いて、参加者のカメラからの画像にリアルタイムで適用される。エフェクトが適用された画像は、他の発呼者/会議参加者への通信のために、ビデオ通話または会議サービスを介して通信される。一実施形態では、エフェクトはメイクアップエフェクトを含む。
【0081】
例では、FANモデルを含む開発されたアプリケーションが、顔上のメイクアップ製品の試着をシミュレートするためのメイクアップシミュレーションアプリケーションと、少なくとも1つの皮膚の徴候について領域または顔の領域を分析およびスコア付けするための皮膚分析アプリケーションと、顔の領域に関連するエフェクトをシミュレートするためのエフェクトシミュレーションアプリケーションと、顔の位置を追跡および示すための顔追跡アプリケーションと、等を含むことができる。
【0082】
図9は、顔位置合わせネットワーク(FAN)モデルを定義するための動作900のフローチャートである。FANモデルを定義するために、902の動作は、i)訓練データセット及びii)拡張および縮小訓練(EST)動作を用いてネットワーク構造を訓練することでネットワーク構造から候補サブモデルのセットを生成し、このEST動作は、候補サブモデルのセットを定義するための様々な構成パラメータの候補サブモデルのインスタンスを定義および保持する。
【0083】
候補サブモデルからFANモデルを選択するために、904の動作は、速度および精度評価基準を用いて候補サブモデルの進化的検索を実行する。
【0084】
一実施形態では、FANモデルが顔画像を処理するために、エッジデバイスによるランタイム実行のために定義される。例えば、エッジデバイスは、スマートフォン又はタブレット端末である。
【0085】
一実施形態では、EST動作が、ネットワーク構造に従って以前に(previously)定義されたベースラインモデルから訓練を開始する。一実施形態では、EST動作が、EST動作を用いる更なる訓練のために、候補サブモデルのそれぞれで部分的に訓練されたパラメータとして、ベースラインモデルからの事前訓練されたパラメータを利用する。一実施形態では、候補サブモデルが、2エポックと60エポックとの間、2エポックと25エポックとの間および2エポックのうちのいずれか1つについて更に訓練される。
【0086】
一実施形態では、EST動作が、各訓練反復においてランダムなサブネットを活性化して、サブネットの部分重みを積分として訓練し、サブモデル間で共有重みを効果的に訓練する。
【0087】
一実施形態では、EST動作が、深度サイズ、カーネルサイズ、チャンネル比および拡張比を含む複数の検索次元に従って候補サブモデルを生成するための検索空間を定義する。一実施形態では、EST動作が、小さな深度サイズ、小さなカーネルサイズ、大きなチャンネル比および大きな拡張比で開始し、次いで、動作は、段階的かつ以下の順序で(in phases and in the following order)、深度サイズ及びカーネルサイズをそれぞれの最大まで徐々に拡張し、終了フェーズで、チャンネル比および拡張比をそれぞれの最小まで徐々に縮小する。一実施形態では、EST動作が、第1サイズのカーネルを訓練し、第1サイズのカーネルを用いて第2サイズのカーネルをその後に訓練する、初期フェーズでのカーネル訓練動作を備え、第1サイズのカーネルは第2サイズのカーネルの中心(center)である。
【0088】
一実施形態では、EST動作が、より少ないレイヤーを訓練し、次いで、より大きなレイヤーオプションを訓練に徐々に追加する、中間フェーズ(middle phase)における深度訓練動作を備える。
【0089】
一実施形態では、EST動作が、チャンネル比および拡張比訓練動作(channel ratio and expansion ratio training operations)を備え、チャンネル比および拡張比訓練動作はそれぞれ、終了フェーズでチャンネル比および拡張比を縮小する。
【0090】
一実施形態では、進化的検索が、速度および精度評価基準を決定するためにベースラインモデルを評価する。
【0091】
一実施形態では、進化的検索が、ベースラインモデルから進化して、後続のサンプリング及び評価のための候補サブモデルの母集団を定義する。進化的検索は、複数のサイクルを実行しても良く、それは、母集団からサンプリングして候補サブモデルの数量(quantity)を選択することと、その数量から最速のサブモデルを選択することと、最速のサブモデルを進化させて関連するサブモデルを決定することと、母集団から最古のサブモデルを除去することと、関連するサブモデルが精度閾値テストを満たす場合、後でサンプリングできるように関連するサブモデルを母集団に追加し、関連するサブモデルを最後の最速の候補サブモデルのセットに追加することと、複数のサイクルの性能に従って、最後の最速の候補サブモデルのセットから最速のサブモデルをFANモデルとして選択することとを含む。進化的検索は、複数のサイクルを実行することができ、それは、候補サブモデルの数量を選択するために母集団からサンプリングすることと、その数量から最も正確なサブモデルを選択することと、最も正確なサブモデルを進化させて関連するサブモデルを決定することと、母集団から最古のサブモデルを除去することと、関連するサブモデルが速度閾値テストを満たす場合、後でサンプリングできるように関連するサブモデルを母集団に追加し、関連するサブモデルを最後の最も正確な候補サブモデルのセットに追加することと、複数のサイクルの性能に従って、最後の最も正確な候補サブモデルのセットから最も正確なサブモデルをFANモデルとして選択することとを含む。
【0092】
一実施形態では、ネットワーク構造が、予測のために抽出された特徴を精緻化するために関心領域(RoI)位置合わせレイヤーに出力する2段階構造である。一実施形態では、第1段階は、4つのブロックを含み、第2段階は、1つのブロックを含み、各ブロックは、最大4つのレイヤーを有し、各レイヤーは、反転された残差レイヤーを含む。
【0093】
従って、一実施形態では、コンピューティングデバイスが、命令を記憶する記憶デバイスに結合されたプロセッサを備え、命令はプロセッサで実行されると、方法に関連した(method-related)実施形態のいずれか1つによる方法を実行するようにコンピューティングデバイスを構成する。
【0094】
従って、一実施形態では、コンピュータプログラム製品が、命令と、コンピューティングデバイスのプロセッサで実行されるFANモデルを定義するデータとを記憶する非一時的記憶デバイスを備え、FANモデルは、方法に関連した実施形態のいずれか1つの方法に従って定義される。同様の実施形態はそのようなFANモデルを(例えば、訓練を通して)定義するためのコンピュータプログラム製品に関する。
【0095】
従って、一実施形態では、コンピューティングデバイスが、命令を記憶する記憶デバイスに結合されたプロセッサを備え、命令はプロセッサで実行されると、方法に関連した実施形態のいずれか1つの方法に従って定義されたFANモデルを提供するようにコンピューティングデバイスを構成する。同様の実施形態は、そのようなFANモデルを(例えば、訓練を通して)定義するためのコンピューティングデバイスに関する。
【0096】
実用的な実装は、本明細書に記載される特徴のいずれか又は全てを含むことができる。これら及び他の態様、特徴および様々な組合せは、機能を実行するための方法、機器、系、手段および本明細書で説明する特徴を組み合わせる他の方法として表され得る。いくつかの実施形態について説明した。それにもかかわらず、本明細書に記載されるプロセス及び技法の趣旨および範囲から逸脱することなく、様々な修正がなされ得ることが理解されよう。加えて、他のステップを提供することができ、又はステップを記載されたプロセスから排除することができ、他の構成要素を記載されたシステムに追加するか、又はそこから除去できる。従って、他の態様は特許請求の範囲の範囲内にある。
【0097】
本明細書の説明及び特許請求の範囲を通して、単語「含む(comprise)」及び「含む(contain)」及びそれらの変形は「含むが、限定されない(including but not limited to)」を意味し、他の構成要素、整数またはステップを排除することを意図しない。本明細書全体を通して、単数形は文脈が他のことを必要としない限り、複数形を包含する。特に、不定冠詞が用いられる場合は本明細書がその状況が他のことを要求していない限り、単数だけでなく複数も意図していると理解されたい。
【0098】
本発明の特定の態様、実施形態または実施例に関連して説明される特徴、整数、特性または群はそれらと互換性がない場合を除き、任意の他の態様、実施形態、又は実施例に適用可能であると理解されるべきである。本明細書に開示される特徴の全て(任意の添付の特許請求の範囲、要約および図面を含む)及び/又はそのように開示される任意の方法またはプロセスのステップの全ては、そのような特徴及び/又はステップの少なくともいくつかが相互に排他的である組合せを除いて、任意の組合せで組み合わせることができる。本発明は、前述の任意の例又は実施形態の詳細に限定されない。本発明は、本明細書(添付の特許請求の範囲、要約および図面を含む)に開示される特徴の任意の新規な1又は任意の新規な組み合わせ、又は開示される任意の方法またはプロセスのステップの任意の新規な1又は任意の新規な組み合わせに及ぶ。

参考文献-その全体が参照により本明細書に組み込まれる
Cai, H.; Gan, C.; Wang, T.; Zhang, Z.; and Han, S. 2020. Once-for-All: Train One Network and Specialize it for Efficient Deployment.

Chen, Y.; Yang, T.; Zhang, X.; Meng, G.; Xiao, X.; and Sun, J. 2019. DetNAS: Backbone Search for Object Detection. Freedman, D.; Pisani, R.; and Purves, R. 2007. Statistics (international student edition). Pisani, R. Purves, 4th edn. WW Norton & Company, New York.

He, K.; Gkioxari, G.; Doll´ ar, P.; and Girshick, R. 2018. Mask R-CNN.

Howard, A. G.; Zhu, M.; Chen, B.; Kalenichenko, D.; Wang, W.; Weyand, T.; Andreetto, M.; and Adam, H. 2017. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications.

Kazemi, V.; and Sullivan, J. 2014. One millisecond face alignment with an ensemble of regression trees. In 2014 IEEE Conference on Computer Vision and Pattern Recognition, 1867?1874. doi:10.1109/CVPR.2014.241.

Kowalski, M.; Naruniec, J.; and Trzcinski, T. 2017. Deep Alignment Network: A convolutional neural network for robust face alignment.

Li, T.; Yu, Z.; Phung, E.; Duke, B.; Kezele, I.; and Aarabi, P. 2019. Lightweight Real-time Makeup Try-on in Mobile Browsers with Tiny CNN Models for Facial Tracking.

Liu, H.; Simonyan, K.; and Yang, Y. 2019. DARTS: Differentiable Architecture Search.

Liu, Z.; Zhu, X.; Hu, G.; Guo, H.; Tang, M.; Lei, Z.; Robertson, N. M.; and Wang, J. 2019. Semantic Alignment: Finding Semantically Consistent Ground-truth for Facial Landmark Detection.

Nekrasov, V.; Chen, H.; Shen, C.; and Reid, I. 2019. Fast Neural Architecture Search of Compact Semantic Segmentation Models via Auxiliary Cells.

Newell, A.; Yang, K.; and Deng, J. 2016. Stacked Hourglass Networks for Human Pose Estimation.

Real, E.; Aggarwal, A.; Huang, Y.; and Le, Q. V. 2019. Regularized Evolution for Image Classifier Architecture Search.

Sagonas, C.; Tzimiropoulos, G.; Zafeiriou, S.; and Pantic, M. 2013. 300 faces in-the-wild challenge: The first facial landmark localization challenge. In the IEEE International Conference on Computer Vision Workshops.

Sandler, M.; Howard, A.; Zhu, M.; Zhmoginov, A.; and Chen, L.-C. 2019. MobileNetV2: Inverted Residuals and Linear Bottlenecks.

Wu, W.; Qian, C.; Yang, S.; Wang, Q.; Cai, Y.; and Zhou, Q. 2018. Look at boundary: A boundary-aware face alignment algorithm. In the IEEE Conference on Computer Vision and Pattern Recognition.

Yang, S.; Yang, W.; and Cui, Z. 2020. Pose Neural Fabrics Search.

Zhu, B.; Lin, C.; Wang, Q.; Liao, R.; and Qian, C. 2020. Fast and Accurate: Structure Coherence Component for Face Alignment.

Zoph, B.; and Le, Q. V. 2017. Neural Architecture Search with Reinforcement Learning.
図1
図2A
図2B
図2C
図2D
図2E
図3
図4A
図4B
図4C
図4D
図5
図6A
図6B
図7
図8
図9
【手続補正書】
【提出日】2023-11-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
方法であって、
顔画像を処理するためのエッジデバイスによるランタイム実行のための顔位置合わせネットワーク(FAN)モデルを定義することは、
i)訓練データセット及びii)拡張および縮小訓練(EST)動作を用いてネットワーク構造を訓練することで前記ネットワーク構造から候補サブモデルのセットを生成することと、ここで前記EST動作は、候補サブモデルのセットを定義するための様々な構成パラメータの候補サブモデルのインスタンスを定義および保持するものであり、
前記候補サブモデルから前記FANモデルを選択するために、速度および精度評価基準を用いて前記候補サブモデルの進化的検索を実行することとを含むものであることを特徴とする方法。
【請求項2】
前記EST動作は、前記ネットワーク構造に従って以前に定義されたベースラインモデルから訓練を開始することを特徴とする請求項1記載の方法。
【請求項3】
前記EST動作は、EST動作を用いる更なる訓練のために、前記候補サブモデルのそれぞれにおける部分的に訓練されたパラメータとして、前記ベースラインモデルからの事前訓練されたパラメータを利用することを特徴とする請求項記載の方法。
【請求項4】
前記EST動作は、各訓練反復においてランダムなサブネットを活性化して、サブネットの部分重みを積分として訓練し、サブモデル間で共有重みを効果的に訓練することを特徴とする請求項2又は3に記載の方法。
【請求項5】
前記EST動作は、深度サイズ、カーネルサイズ、チャンネル比および拡張比を含む複数の検索次元に従って候補サブモデルを生成するための検索空間を定義することを特徴とする請求項からのいずれかに記載の方法。
【請求項6】
前記EST動作は、小さな深度サイズ、小さなカーネルサイズ、大きなチャンネル比および大きな拡張比で開始し、次いで、動作は、段階的かつ以下の順序で、深度サイズ及びカーネルサイズをそれぞれの最大まで徐々に拡張し、終了フェーズで、チャンネル比および拡張比をそれぞれの最小まで徐々に縮小することを特徴とする請求項記載の方法。
【請求項7】
前記EST動作は、第1サイズのカーネルを訓練し、前記第1サイズのカーネルを用いて、その後、第2サイズのカーネルを訓練する初期フェーズにおけるカーネル訓練動作を備え、前記第1サイズのカーネルは、前記第2サイズのカーネルの中心であることを特徴とする請求項又はに記載の方法。
【請求項8】
前記EST動作は、より少ないレイヤーを訓練し、次いで、より大きなレイヤーオプションを前記訓練に徐々に追加する、中間フェーズにおける深度訓練動作を含むことを特徴とする請求項からのいずれかに記載の方法。
【請求項9】
記進化的検索が、i)速度および精度評価基準を決定するために前記ベースラインモデルを評価し、ii)前記FANモデルを選択するために、前記ベースラインモデルから進化して、後続のサンプリング及び評価のための候補サブモデルの母集団を定義することを特徴とする請求項2記載の方法。
【請求項10】
エッジデバイスによる実行のために前記FANモデルを含むアプリケーションを定義することを特徴とする請求項1からのいずれかに記載の方法。
【請求項11】
前記アプリケーションは、前記FANモデルによってビデオを処理するように構成され、前記ビデオは、前記顔画像であることを特徴とする請求項10記載の方法。
【請求項12】
前記エッジデバイスは、スマートフォン又はタブレット端末であり、前記FANモデルは、グラフィックス処理ユニット(GPU)による実行のために構成されることを特徴とする請求項10又は11に記載の方法。
【請求項13】
前記アプリケーションは、
顔のメイクアップ製品の試着をシミュレートするメイクアップシミュレーションアプリケーションと、
少なくとも1つの皮膚の徴候について領域または前記顔の領域を分析し、スコア付けするための皮膚分析アプリケーションと、
前記顔の領域に関連するグラフィカルエフェクトをシミュレートするエフェクトシミュレーションアプリケーションと、
顔の位置を追跡および示すための顔追跡アプリケーションとのいずれか1つであることを特徴とする請求項10から12のいずれかに記載の方法。
【請求項14】
前記アプリケーションは、メイクアップシミュレーションアプリケーション又は皮膚分析アプリケーションであり、
前記アプリケーションは、それぞれメイクアップ及び皮膚トリートメントに関連する製品またはサービスを購入するために、電子商取引購入サービスへのインターフェースと、メイクアップ及び皮膚トリートメントにそれぞれ関連する製品またはサービスを推奨する電子商取引推奨サービスへのインターフェースとの一方または両方を提供するように構成されることを特徴とする請求項1から13のいずれかに記載の方法。
【請求項15】
命令を記憶する記憶デバイスに結合された処理ユニットを備えるコンピュータデバイスであって、前記命令が前記理ユニットで実行されたときに、請求項1から14のいずれかに記載の方法に従って定義されたFANモデルを提供するように前記コンピューデバイスを構成することを特徴とするコンピュータデバイス。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
《相互参照》
本出願は、2021年3月3日に出願された米国仮出願第63/155,839号に対する優先権の利益を主張し、その全内容は、参照により本明細書に組み込まれる。本出願はまた、2022年3月2日に出願された仏国特許出願第2201813号に対する優先権の利益を主張し、その全内容は、参照により本明細書に組み込まれる。
【0002】
本出願は、画像処理のためのコンピュータ処理、画像処理およびニューラルネットワークの改善に関し、より詳細には、ワンショットニューラルアーキテクチャ検索(one-shot neural architecture search、NAS)を用いた軽量でリアルタイムな顔の位置合わせのためのシステム、方法および技法に関するものである。
【背景技術】
【0003】
顔の位置合わせ(Face alignment)は、人間の顔上における顔のランドマークを位置特定する一般的なコンピュータビジョンタスクである。この技術は、ライブ顔追跡、三次元(3D)顔形状推定および顔特徴抽出等の様々な種類の顔関連の産業の用途における構成要素(building block)として広く用いられている。設計された人工知能(AI)モデルを現実世界のアプリケーションに適用する際、計算速度および精度はエッジデバイス(例えば、タブレット端末およびスマートフォンを含むパーソナルコンピューティングデバイス)上のリソースが限られているため、主要なボトルネックとなる。クラウドコンピューティングは、良好な精度を維持しながらAIモデルの推論時間(inference time)を増大できる解決策を提供するが、クラウドベースの解決策はプライバシー及び安定性の問題に悩まされる。他の解決策は、計算時間を短縮するため手動で設計されたモバイルターゲットモデル(Howard等、2017)(Sandler等、2019)を用いるが、そのようなモデルは顔の位置合わせのみをターゲットとする注意深く設計されたモデルと比較して、十分な結果を提供しない。
【0004】
従って、畳み込みニューラルネットワーク(Convolutional Neural Networks、CNN)では顔位置合わせネットワーク(facial alignment networks、FAN)が広範囲の公衆データセット(public datasets)上でかなりの精度を達成しており、これはより大きなモデルサイズ及び高価な計算コストとなるので、エッジデバイス上のリアルタイムアプリケーションにそれらを適用させることは不可能である。
【発明の概要】
【0005】
CNNでは、顔位置合わせネットワークが広範囲の公衆データセット上でかなりの精度を達成しており、これはより大きなモデルサイズ及び高価な計算コストとなるので、エッジデバイス上のリアルタイムアプリケーションにそれらを適用させることは不可能である。性能基準を維持しながらこの問題を克服するために、ワンショットニューラルアーキテクチャ検索(One-Shot Neural Architecture Search)を用いる、FAN上のモデル圧縮アプローチが提供される。方法およびデバイスは、(単一のGPU上で)効率的な訓練および検索を提供し、結果として得られるモデルは、タブレット端末およびスマートフォンを含むエッジデバイス上のブラウザベースのアプリケーションにおいてリアルタイムで実行するように展開できる。圧縮モデルは同等の最先端(cutting-edge)の精度を提供し、一方で30倍小さなモデルサイズを有し、一般的なスマートフォン及びOS上の、一般的なブラウザにおいて1フレーム当たり40.7ミリ秒で実行できる。
【0006】
一実施形態では、顔位置合わせネットワーク(FAN)モデルを定義する方法が提供され、定義することは、i)訓練データセット及びii)拡張および縮小訓練(EST)動作を用いてネットワーク構造を訓練することでネットワーク構造から候補サブモデルのセットを生成することと、ここでEST動作は候補サブモデルのセットを定義する様々な構成パラメータの候補サブモデルのインスタンスを定義および保持するものであり、候補サブモデルからFANモデルを選択するために、速度および精度評価基準(accuracy evaluation criteria)を用いて候補サブモデルの進化的検索(evolutionary search)を実行することとを含む。
【0007】
一実施形態では、FANモデルが、顔画像を処理するために、エッジデバイスによるランタイム実行のために定義される。
【0008】
一実施形態では、EST動作が、ネットワーク構造に従って以前に定義されたベースラインモデル(baseline model)から訓練を開始する。一実施形態では、EST動作がEST動作を用いる更なる訓練のために、候補サブモデルのそれぞれで部分的に訓練されたパラメータとして、ベースラインモデルからの事前訓練されたパラメータを利用する。一実施形態では、候補サブモデルが、2エポック(epochs)と60エポックとの間、2エポックと25エポックとの間および2エポックのうちのいずれか1つについて更に訓練される。
【0009】
一実施形態では、EST動作が、各訓練反復(training iteration)においてランダムなサブネットを活性化(activate)して、サブネットの部分重み(partial weights)を積分として訓練し、サブモデル間で共有重み(sharing weights)を効果的に訓練する。
【0010】
一実施形態では、EST動作が、深度サイズ(Depth size)、カーネルサイズ(Kernel size)、チャンネル比(Channel ratio)および拡張比(Expansion ratio)を含む複数の検索次元(search dimensions)に従って候補サブモデルを生成するための検索空間(search space)を定義する。一実施形態では、EST動作が小さな深度サイズ、小さなカーネルサイズ、大きなチャンネル比および大きな拡張比で開始し、次いで、動作は、段階的かつ以下の順序で、深度サイズ及びカーネルサイズをそれぞれの最大まで徐々に拡張し、終了フェーズ(ending phases)で、チャンネル比および拡張比をそれぞれの最小まで徐々に縮小する。一実施形態では、EST動作が、第1サイズのカーネルを訓練し、第1サイズのカーネルを用いて第2サイズのカーネルをその後に訓練する、初期フェーズ(early phase)でのカーネル訓練動作を備え、第1サイズのカーネルは第2サイズのカーネルの中心(center)である。
【0011】
一実施形態では、EST動作が、より少ないレイヤーを訓練し、次いで、より大きなレイヤーオプションを訓練に徐々に追加する、中間フェーズ(middle phase)における深度訓練動作を備える。
【0012】
一実施形態では、EST動作が、チャンネル比および拡張比訓練動作を備え、チャンネル比および拡張比訓練動作は、それぞれ終了フェーズでチャンネル比および拡張比を縮小する。
【0013】
一実施形態では、進化的検索が、速度および精度評価基準を決定するためにベースラインモデルを評価する。一実施形態では、進化的検索が、ベースラインモデルから進化して、後続のサンプリング及び評価のための候補サブモデルの母集団(population)を定義する。
【0014】
一実施形態では、進化的検索が、複数のサイクルを実行し、その複数のサイクルは母集団からサンプリングして候補サブモデルの数量を選択することと、その数量から最速のサブモデルを選択することと、最速のサブモデルを進化させて関連するサブモデルを決定することと、母集団から最古のサブモデルを除去することと、関連するサブモデルが精度閾値テスト(accuracy threshold test)を満たす場合、後でサンプリングできるように関連するサブモデルを母集団に追加し、関連するサブモデルを最後の最速の候補サブモデルのセットに追加することと、複数のサイクルの性能に従って、最後の最速の候補サブモデルのセットから最速のサブモデルを、FANモデルとして選択することとを含む。
【0015】
一実施形態では、進化的検索が、複数のサイクルを実行し、その複数のサイクルは候補サブモデルの数量を選択するために母集団からサンプリングすることと、その数量から最も正確なサブモデルを選択することと、最も正確なサブモデルを進化させて関連するサブモデルを決定することと、最古のサブモデルを母集団から除去することと、関連するサブモデルが速度閾値テスト(speed threshold test)を満たす場合、後でサンプリングできるように関連するサブモデルを母集団に追加し、関連するサブモデルを最後の最も正確な候補サブモデルのセットに追加することと、複数のサイクルの性能に従って、最後の最も正確な候補サブモデルのセットから最も正確なサブモデルを、FANモデルとして選択することとを含む。
【0016】
一実施形態では、ネットワーク構造は、予測のために抽出された特徴を精緻化するために関心領域(Region of Interest、RoI)位置合わせレイヤーに出力する2段階構造である。一実施形態では、第1段階は4つのブロックを含み、第2段階は1つのブロックを含み、各ブロックは最大4つのレイヤーを含み、各レイヤーは反転された残差レイヤー(inverted residual layer)を含む。
【0017】
一実施形態では、方法が、エッジデバイスによる実行のためにFANモデルを含むアプリケーションを定義することを含む。それぞれの実施形態では、アプリケーションが顔上のメイクアップ製品の試着(trying on)をシミュレートするためのメイクアップシミュレーションアプリケーション、少なくとも1つの皮膚の徴候(skin sign)について領域または顔の領域を分析およびスコア付けするための皮膚分析アプリケーション、顔の領域に関連するグラフィカルエフェクトをシミュレートするためのエフェクトシミュレーションアプリケーション及び顔の位置を追跡および示すための顔追跡アプリケーションのうちのいずれか1つを含む。
【0018】
一実施形態では、アプリケーションが、FANモデルによってビデオを処理するように構成される。一実施形態では、エッジデバイスが、スマートフォン又はタブレット端末であり、FANモデルは、グラフィックス処理ユニット(GPU)による実行のために構成される。一実施形態では、アプリケーションが、メイクアップシミュレーションアプリケーション又は皮膚分析アプリケーションであり、アプリケーションは、メイクアップ及び皮膚トリートメントにそれぞれ関連付けられた製品またはサービスを購入するために、電子商取引購入サービスへのインターフェースを提供するように構成される。
【0019】
一実施形態では、アプリケーションが、メイクアップシミュレーションアプリケーション又は皮膚分析アプリケーションであり、アプリケーションは、メイクアップ及び皮膚トリートメントにそれぞれ関連する製品またはサービスを推奨する電子商取引推奨サービスへのインターフェースを提供するように構成される。
【0020】
一実施形態では、命令を記憶する記憶デバイスに結合された処理ユニットを備えるコンピューティングデバイスであって、命令が処理ユニットで実行されると、実施形態に記載のいずれかの方法に従った方法を実行するようにコンピューティングデバイスを構成する、コンピューティングデバイスが提供される。
【0021】
一実施形態では、命令を記憶する非一時的記憶デバイスと、コンピューティングデバイスの処理ユニットによって実行するためのFANモデルを定義するデータとを備えるコンピュータプログラム製品が提供され、FANモデルは、実施形態に記載の方法のいずれかに従った方法で定義される。
【0022】
一実施形態では、命令を記憶する記憶デバイスに結合された処理ユニットを備えるコンピュータデバイスが提供され、命令が処理ユニットで実行されると、実施形態に記載の方法のいずれかに従った方法で定義されたFANモデルを提供するようにコンピューティングデバイスを構成する。
【図面の簡単な説明】
【0023】
図1】一実施形態による2段階CNN構造の簡略図である。
図2A】一実施形態によるOFA訓練動作と拡張および縮小訓練(EST)動作との間の比較を示すブロック図である。
図2B】一実施形態によるOFA訓練動作と拡張および縮小訓練(EST)動作との間の比較を示すブロック図である。
図2C】一実施形態によるOFA訓練動作と拡張および縮小訓練(EST)動作との間の比較を示すブロック図である。
図2D】一実施形態によるOFA訓練動作と拡張および縮小訓練(EST)動作との間の比較を示すブロック図である。
図2E】一実施形態によるEST拡張およびチャンネル選択動作を示す図である。
図3】一実施形態による進化的検索プロセスのための擬似コードのリストである。
図4A】一実施形態による実験の結果を示すグラフである。
図4B】一実施形態による実験の結果を示すグラフである。
図4C】一実施形態による実験の結果を示すグラフである。
図4D】一実施形態による実験の結果を示すグラフである。
図5】A及びBは、一実施形態による実験の結果を示すグラフである。
図6A】データセットのアノテーションを示す画像である。
図6B】データセットのアノテーションを示す画像である。
図7】一実施形態による開発コンピューティングデバイス、ウェブサイトコンピューティングデバイス及びエッジコンピューティングデバイスを示すコンピュータネットワークの図である。
図8】一実施形態によるコンピューティングデバイスの図である。
図9】一実施形態による動作のフローチャートである。
【0024】
【0025】
【0026】
【0027】
【0028】
【0029】
【0030】
【0031】
【発明を実施するための形態】
【0032】
<関連業績>
《顔のランドマークの位置合わせ》
顔の位置合わせの長い歴史は、古典的なコンピュータビジョンから始まり、回帰ツリーの集合アルゴリズム(Kazemi and Sullivan 2014)は、初期段階のリアルタイムな顔の追跡のための高速で許容可能で正確な解を与える。これらの手法は、非常に大きなモデルサイズによって合理的な結果を達成した。
【0033】
最近の顔の位置合わせのためのCNNソリューションは、精度に関して優れた性能を達成した。ヒートマップ(heat maps)と共に砂時計構造(hourglass structures)のスタック(Newell、Yang、Deng 2016)(Liu等 2019)(Kowalski、Naruniec、Trzcinski 2017)を用いるのが研究のほとんどである。これらの種類の手法は、ランドマークの精度を著しく向上させるが、これらのカスケード構造(cascaded structures)は依然として厄介である。
【0034】
MobileNet(Howard等 2017)及びMobilenetV2(Sandler等 2019)等のモバイル及び組み込みビジョンアプリケーションをターゲットとする効率的なモデルは、滑らかに動作し良好な性能を有する。FANの精度および速度には、依然として改善の余地がある。
《ニューラルアーキテクチャ検索(Neural Architecture Search)》
【0035】
初期のNASの業績(ZophとLe 2017)では、分類タスク(classification task)の結果が大幅に改善されたが、検索には1000GPU日(1000 GPU days)以上がかかる。検索コストは、サンプリングされたモデルの反復訓練から生じるので、ワンショットのNASアプローチ(Liu、Simonyan及びYang 2019)(Cai等 2020)は、サンプルモデルの全てのパラメータを網羅するスーパーモデル(supermodel)を訓練することを提案する。この手法では、検索時間が7GPU日未満に短縮されるため、配置(deployment)シナリオ下でのNASの実行が実用的になる。
【0036】
分類タスクに関する効率的な検索と共に、NAS手法は、物体検出(Chen等 2019)、分割(Nekrasov等 2019)及び姿勢推定(Yang、Yang、Cui 2020)にも適応される。NASとFANのクロスフィールドについてはこれまで研究は行われていないが、バックボーンとボトルネックとを検索する検出研究(Chen等 2019)との類似点を共有している。
<実施形態>
《CNNモデルアーキテクチャ》
【0037】
一実施形態によれば、2段階CNN構造は、提案されたもの(Li等、Lightweight Real-time Makeup Try-on in Mobile Browsers with Tiny CNN Models for Facial Tracking、2019 URL:arxiv.org/abs/1906.02260、2020年4月22日米国特許出願第16/854,993号の「CONVOLUTION NEURAL NETWORK BASED LANDMARK TRACKER」として出願されており、これらの引例は、いずれも参照により本明細書に組み込まれる)と同様に用いられる。
【0038】
図1は、一実施形態による2段階CNN構造100の簡略図である。CNN構造100は、段階1(102)及び段階2(104)を示す。段階1は、バックボーン106によって供給(feed)され、4つのブロック(ブロック1(108A)、ブロック2(108B)、ブロック3(108C)及びブロック4(108D))を含む。段階2は、ブロック1からの出力を受け取る。CNN構造100は、関心領域(RoI)位置合わせレイヤー110を用いて、112における予測のために特徴を精緻化する(refine)ように、特徴を段階1の出力から抽出する。CNN構造100はまた、ヒートマップを有するネットワークの出力を表す。実施形態によれば、ピクセル単位のシグモイド交差クロスエントロピー(sigmoid cross entropy)及び通常のL2損失が、参考文献に示唆されているように(モデル訓練中に)用いられる。
【0039】
実施形態によれば、レイヤー(例えば、バックボーン、ブロック1~4及び段階2の孤立した(lone)ブロック)は、反転された残差レイヤー(inverted residual layers)である。以下の例外を除いて、レイヤーはstride=1を用い、1つのブロック内に同数のチャンネルを保持する:i)バックボーンのレイヤー(106)は、第1レイヤーにおいてs=2及び第2レイヤーにおいてc=16での畳み込みであり;ii)ブロック1(108A)の第1レイヤーが、s=2及びc=24を有し;ブロック2(108B)の第1レイヤーが、s=2及びc=32を有し;ブロック3(108C)の第1レイヤーが、s=2及びc=64を有し;ブロック4(108D)の第1レイヤーが、s=1及びc=96を有し;段階2(104)が、s=1及びc=32を有する(ここで「c」が「チャンネル」を表し、「s」が「ストライド(stride)」を表す)。
《検索空間(Search Space)》
【0040】
一実施形態によれば、CNN構造100により展開されたモデルは、その第1段階としてMobileNetV2(Sandler等 2019)の一部を用いている。この展開されたモデルは、以下のセクションでベースラインモデルと呼ばれる。目標(goal)は、類似の構造を検索することで、このベースラインモデルのモデルサイズを圧縮することである。従って、図1を参照して説明したように、反転された残差レイヤーをモデルの基本構成として用いた。
【0041】
実施形態によれば、ブロック当たりのレイヤー深度は、[2,3,4]、[3,5,6]からのレイヤーの拡張率(expansion rate)、[3,5]からのカーネルサイズ、及び、[0.7,0.8,0.9,1.0]からのブロックワイズ(blockwise)チャンネル比から選択できる。このチャンネル比は、基本チャンネル数と乗算され、検索空間により多くの変動を加えることができる。全体として、検索空間は、
【数1】
の異なるサブモデルを含む。
【0042】
各検索次元(search dimension)から最大のオプションを選択することで得られる最大のサブモデルは、スーパーモデルである。ベースラインモデルを含むこの検索空間からサンプリングされた各モデルは、スーパーモデルのサブセットとみなすことができる。
《拡張および縮小訓練(Expand & Shrink Training)によるワンショットNAS》
【0043】
(前セクションで説明した)各検索次元の最大値を選択すると、一実施形態によれば、スーパーモデルは、1.14Mのパラメータを有する。訓練へのワンショットNASアプローチ下では、スーパーモデルが一度だけ訓練され(例えば、スーパーモデルは検索フェーズ中に再度訓練されない)、その事前訓練された重みはそれらを最初(scratch)から訓練する代わりに、全てのサンプリングされたモデルに提供される。ここで、サンプリングされたモデルは、スーパーモデルに従って検索フェーズ中にサンプリングされる初期の訓練フェーズ中に生成されたサブモデルを参照する。
【0044】
従って、スーパーモデルは、訓練するのにより長い時間を必要とするが(例えば、訓練に対するより典型的なアプローチ下で同様の構造のモデルと比較して)、それが完了すると、各サンプリングされたモデルの検索時間はO(N)の代わりにO(1)となる。
【0045】
スーパーモデルを全体として訓練することは、単純な(naive)アプローチである。それは簡単だが、共有される重みは、異なるサブモデルに対して最適化されておらず、従って、有望ではない(図4Cに関連して後述する)。重みは、スーパーモデルが全体として機能するように一体的に(integrally)訓練される。全てのサブネット(subnets)を同時に最適化するために、Once-For-All(OFA、(Cai等 2020))からの手法が適応され、一実施形態によれば、新しい拡張および縮小訓練(EST)戦略が提案される。OFA及びEST(本明細書で紹介する)の両方は、同じ問題を解決するために働くが、スーパーモデルにおける重みは、それらが部分的にのみ活性化される(activated)ときに働くようにする-ESTが実証されるような改善された結果を示す。
【0046】
以下の例では、問題を一般的に簡略化して示す。レイヤーA、B及びCを有するスーパーモデルが存在すると仮定する。全体のスーパーモデル(即ち、ABC)が動作するだけでなく、サブモデルAB、BC(部分的に)も動作することが望ましい。OFA及びESTのそれぞれは、それぞれの訓練反復(training iteration)でランダムなサブネットを活性化することで、部分重み(partial weights)を一体的に訓練する。それぞれは、異なるアプローチを用いて、サブモデル間で共有重み(sharing weights)を効果的に訓練する手法に焦点を当てる。再度レイヤーABCの例示的なスーパーモデルを参照すると、典型的な訓練はABCを積分(integral)として訓練し、これは、ABCの全てのパラメータを、同時に且つA→B→C→の出力に基づく同じ方向で更新する。従って、部分重みを統合的に訓練することは、スーパーモデル内のABレイヤーによってのみ定義されるサブモデルについて、そのようなレイヤーは訓練するための独立したモデルであるとみなされ得る。従って、このサブモデルを訓練するとき、ABの重みのみが更新され、更新の方向は、A→B→の出力に基づく。Cにおける重みは依然として(例えば、スーパーモデルにおいて)存在するが無視され(それらは活性化されない)、訓練の焦点はA及びBのみに限定される。類似のアプローチがサブモデルBCに対して取られ、ここで、これらのレイヤーのみが、レイヤーAを無視して一体的に訓練される。
【0047】
OFA及びEST下のアプローチは、前述の問題を解決する詳細において異なる。図2A、2B、2C及び2Dは、OFAとESTとの間の比較を行うブロック図であり、図2Aは、一例によるOFAカーネル訓練動作200を示す。動作200は最初に、5x5カーネルの訓練202Aを示し、次いで、その中心の3x3に線形変換を適用して、3x3のカーネル202Bとして動作する。図2Bは、一例によるESTカーネル訓練動作202を示し、動作202は、動作200の逆である:202Aにおいて、動作は、最初に3x3カーネルを訓練し、次いで、それを訓練するための5x5カーネルの中心(202B)とみなす。図2Cは、一例によるOFA深度訓練動作(depth training operations)204を示し、動作204はまず、全てのレイヤー(204A)を訓練し、次いで、最小のレイヤーオプションを徐々に低減することで(204B、204C)、より小さなモデルのより多くの選択を可能にする。図2Dは、一例によるEST深度訓練動作206を示す。動作206は、より少ないレイヤー(206A)を訓練し、次いで、より大きなレイヤーオプション(206B)を検索空間に徐々に追加する。そして、図2Eは、一例によるEST拡張およびチャンネル選択動作208を示す。OFAでは、拡張比(expansion ratio)が決定され、C個のチャンネルが選択されると、最も(チャンネル毎の重みのL1ノルム(L1 norm)の合計が)重要な上位C個のチャンネルが選択される。ESTは、拡張比(208A、208B)についてこの手法に従い、更にそれをブロックワイズチャンネル比(208C)に適用する。
【0048】
要約すると、OFAは、最初に最大のレイヤーの重みを訓練し、次いで、その重みを共有して、小さなレイヤーを徐々に訓練する傾向がある。対照的に、ESTは、拡張比およびチャンネル比のためにレイヤーのサイズを徐々に縮小する一方で、深度およびカーネルサイズのための検索オプションを拡大する。(OFAに対するESTの利点は、図5A及び5Bのグラフ500及び502を参照して示され、以下に説明される。)
【0049】
表1は、一実施形態によるESTの5つのフェーズを示す。検索次元は、深度(D)、カーネル(K)、チャンネル比(C)及び拡張比(E)を含む。これらの次元のそれぞれは、5つのフェーズのうちの1つにおいて、それに応じてその検索範囲を拡張または縮小する。示された訓練の順序は、異なる順序よりも良好な結果を達成するのが実証された。
【0050】
ESTは、小さな深度およびカーネルサイズ、並びに、大きなチャンネル及び拡張比で開始する。次いで、ESTは、徐々に深度およびカーネルを最大に拡張する。終了フェーズ(ending phases)において、ESTは、チャンネル及び拡張比を最小にまで徐々に縮小する。注目すべきことに、拡張および縮小フェーズの間、前のフェーズからの検索オプションが保持される(例えば、後の検索に用いるためにサブモデルの検索空間を拡張すること)。従って、(サブモデルの)活性化された検索空間は、サブモデルがEST動作に従って追加されるにつれてステップ毎に大きくなり、EST動作を用いて作成される、より大きく、より小さなサブモデルは、一緒に訓練される機会を有する。更なる例が有用である。この例では、4つのレイヤーABCDを有するスーパーモデルがあり、簡単にするために、検索空間はレイヤーの数である1つの検索オプションのみを有する。例えば「4」から選択するレイヤー番号の選択肢が1つしかない場合、サブモデルは、ABCDを有するスーパーモデル自体である正確に4つのレイヤーを有することになり、検索オプションにおいて「2,3,4」レイヤーを可能にすることで検索空間が拡大されるとき、サブモデルは例えば、AB(2つのレイヤー)、ABC(3つのレイヤー)、ABCD(4つのレイヤー)等であり得る。従って、より多くの検索オプション(「2,3,4」対「4」)を可能にすることで、より大きなモデル(例えば、ABCD)がより小さなモデル(AB、ABC)と訓練され得る可能性がより高くなる(より多くなる)。
【表1】
《性能の評価および推定》
【0051】
一実施形態によれば、モデル圧縮は、配置シナリオにより少なくとも部分的に方向付けられ、従って、モデルの精度および速度の両方が評価される。最初からの訓練とエッジデバイス(edge devices)上での実行とによる、完全な評価はコストがかかる。評価コストを軽減するために、一実施形態によれば、推定器は、それらの性能を予測するために実装される。これらは、完全な評価と同様に、一貫した性能ランキングを与えるべきである。一実施形態によれば、速度(時間)推定は、FLOPS、Params及びMemory Read&Writeを用いるために開発された推定器を用いる。(正しさは、図4A、4B、4C及び4Dのグラフ400,402,404及び406を参照して例示され、以下で説明される。)
【0052】
精度推定のために、Nエポックのために最初から完全にサンプリングされたモデルを訓練する代わりに、一実施形態によれば、EST動作から大きな利点が得られる。ESTは、一実施形態では、スーパーモデルの部分重みがサブモデルにロードされ、そのサブモデルは、スーパーモデルを迅速に収束(converge)させるように訓練される。また、以下の図4A~4Dで後述するように、検索空間からサンプリングされた子(child)について、スーパーモデルから対応する重みをロードし、2エポックについてそれを訓練することは、正確な推定を与えるのに十分であることが証明された。これは、評価コストがO(N)ではなくO(1)であることを保証する。
《進化的検索(Evolutionary Search)》
【0053】
拡張および縮小訓練の後、検索空間上で進化的検索(ES)が実行される。一実施形態によれば、進化的検索の詳細が、アルゴリズム1(300)のための擬似コードを提供する図3に示される。基本的なES(Real等 2019)とは異なり、childacc及びchildtimeは、評価および検索の同定(search identification)のために用いられる。
【0054】
アルゴリズム1(300)は、精度閾値(accuracy threshold)を用いてモデルをサンプリングして最速の候補をソートする速度を検索する場合を示す;速度閾値(speed threshold)が代わりに用いられる場合、サンプリングされたモデルのサイズを圧縮でき、最も正確なモデルを検索できる。即ち13~23行目のループでは15行目の親(parent)が候補において最も正確なモデルであり、18行目は速度値を比較し、最後の24行目において、最も正確なモデルは、13~23行目のループから生成された最も正確なモデル候補を含むセットの履歴(history)から返却される。
【0055】
別の違いは、一実施形態では初期の母集団(population)の生成であり、検索はランダムサンプリングの代わりにベースラインから進化することによって(例えば、16行目のEVOLVE関数を介して)開始される。その後の進化は、ベースラインから進化された(一実施形態では)最速のサブモデルに対して実行される。
【0056】
EVOLVE関数では、検索空間から異なるサブモデルを選択するために用いられるランダム性がある。(同じ母親が異なる子どもを出産するのと同じように、ベースラインモデルを進化させると、異なる子モデルも生じる。実際、2つの子モデルが同じように進化する機会は、母親が双子を出産するのとほぼ同じである)。配置目的(deployment purpose)のため、検索は、より良好な効率および精度の両方を有するモデルを検索する。ランダムサンプリングを用いた場合、モデルサイズを制御し、精度をベースラインと公平に(fairly)比較することは困難である。
《データセット》
【0057】
組織内(in-house)データセット(「Modiデータセット」という)は、全部で3681個の画像を有する。Modiデータセットは、顔内の領域を定義する62個の内側点(inner points)と、それぞれの顔について3個の輪郭点(contour points)とを有する。アプリケーションシナリオでは、姿勢は-30°から30°まで分布する。一実施形態では、ESTNetモデルが、300Wデータセット(Sagonas等 2013)上で別々に訓練され、最先端(cutting-edge)の手法との公平な比較を行う。Modiデータセットと300Wデータセットとのアノテーション(annotations)の違いは、図6A及び6Bの画像600及び602に示される。
<結果と切除(Ablation)研究>
《訓練と検索》
【0058】
上記で論じられたのは、オリジナルのOFAと、本明細書に開示されるESTの技法との間の相違である。以下の結果は、FAN検索空間における深度およびカーネルについて、ESTによる拡張がOFAによる縮小よりもはるかに良好に動作することを示す。図5A(グラフ500)では、[2,3]深度から[2,3,4]への訓練において、誤差は0.031に下がり、一方、完全な[4]レイヤーから最初に訓練する場合、誤差は高いままである。図5B(グラフ502)では、カーネルサイズ3又は5から訓練を開始し、学習レートは変換行列(transformation matrices)に対して調整される。
【0059】
縮小実験は、はるかに高い誤差でクラスター化する。考察したように、性能推定器を検証するための実験が実施された。17個のランダムにサンプリングされたモデルを、推定値と比較して、実際の性能とそれらの性能ランクとで評価した。数式1の標本ピアソン相関係数(Freedman、Pisani、Purves 2007)を用いて、推定値と実際の評価の整合性を評価する。
【数2】
【0060】
図4Aにおいて、グラフ400は、実際の推論時間(inference time)を示し、図4Bにおいて、グラフ402は、FLOPS、Params及びMemory Read & Writeの加重平均(weighted average)によって行われる時間推定を示す。数式1を用いると、推定器の正当性を立証する0.677という強い相関が得られる。
【0061】
図4C及び4Dのグラフ404及び406は、2つのスーパーモデル訓練戦略、即ち、単純訓練(naive training)と拡張および縮小訓練との比較を示す。図4(C)では、モデルが単純に事前訓練された重みでロードされ、2エポック及び25エポックで訓練される。
【0062】
異なるエポックを調整した後の精度ランキングの相関は、わずか0.151である。従って、単純なアプローチは、良好な精度推定を提供しない。
【0063】
対照的に、図4Dは、前述の拡張および縮小訓練戦略から事前訓練されたスーパーモデルを用いる。同じモデルが2,25及び60エポックで訓練され、モデル精度ランクの一貫性は非常に強く、(2,25)、(25,60)、(2,60)の相関係数は、それぞれ0.667,0.916及び0.819である。これはESTの有効性を証明し、2エポックのチューニングモデルは、精度性能を推定するのに十分である。
【0064】
単純なアプローチと比較して、ESTは、はるかに多くの時間を費やすことなく、はるかに良好な精度推定を提供する。1つのTesla(登録商標)V-100(NVIDIA Corporation, Santa Clara, CAからのテンソルコアGPU)では、拡張および縮小訓練が終了まで40時間を要し、そこでは単純訓練も36時間を要する。
【0065】
要約すると、本セクションでは、時間推定器と精度推定器との両方の有効性を証明する。それはまた、単純なアプローチに対するESTの利点を示す。
《検索結果》
【0066】
表2及び表3に、それぞれの実施形態による検索結果を示す。αは、異なる複雑さを有するデータセットをカスタマイズするためのチャンネル番号と乗算されるパラメータである。Modiデータセットはα=0:5が用いられ、300Wデータセットはより多くのデータを有するためα=1:0が用いられる。このセクション内の計算された誤差は、全て瞳孔間の正規化(Inter-pupil Normalization)を用いた平均誤差で計算される。一実施形態では、動作が、Modiデータセットを検索し、表2のESTNetと呼ばれるものが最良の結果を獲得する。そのテストセットの内部誤差(inner error)及び輪郭誤差(contour error)は、ベースラインモデルよりも低く、そのモデルサイズは、ベースラインのわずか75%である。異なるエッジデバイスでは、ESTNetは精度および速度の両方で性能を上回る。
【表2】
【0067】
一実施形態では、動作が、300Wデータセット上のESTNetを別々に訓練して、そのロバスト性および一般性を評価する。表3に示すように、その結果は、ベースライン及び最先端の研究、ルックアットバウンダリ(LAB、(Wu等 2018))と比較される。8スタックLABのParam及びFLOPSは、(Zhu等 2020)から得られる。4スタックの結果は、半分にすることで推定される。ESTNetは、モデルParamsの25%を削減しながら、共通(common)、困難(challenging)及び完全(full)検証セットの全てについてベースラインよりも優れている。また、それはLABと同等の結果が得られている。ESTNetは、リアルタイムであるIPhone(登録商標)11(Apple Inc.Cupertino, CAの商標)上のChrome(登録商標)において、1フレーム当たり40.7ミリ秒で実行する。LABが、ESTNetよりも29.2倍多くのパラメータ及び50.2倍多くのFLOPSを有すると仮定すると、LABはリアルタイムで実行できず、これは圧縮モデルESTNetの利点である。
【表3】
【0068】
従って、実施形態に示されるように、EST技法、デバイス及び手法は、特にデバイス上のウェブサイト等(例えば、ウェブブラウザベースのアプリケーション)を介してリアルタイムで実行するFANモデルを開発するために提案される。ウェブブラウザベースのアプリケーションは、通常、ネイティブ(非ブラウザベース)アプリケーションよりも制約される。ウェブブラウザベースのアプリケーションは、ウェブブラウジングによる配信の手法がユーザフレンドリであり、アプリケーション配信サービス等(例えば、アプリケーションストア)からネイティブアプリケーションを取得してインストールする場合と比較してユーザが好む場合があるので、一般的に提供される。
【0069】
FANモデルが実行できるエッジデバイスは、共通のブラウザ及びOSを実行するスマートフォン及びタブレット端末(例えば、Apple Inc.Cupertino, CAからのデバイス、ブラウザ及びOS)を含む。本明細書のEST技法を用いて生成された一実施形態のモデルでは、30倍小さなモデルサイズを有し、IPhone(登録商標)11上のChrome(登録商標)において40.7ミリ秒で実行しながらも最先端の精度が得られる。
【0070】
図7は、一実施形態による、開発コンピューティングデバイス702、ウェブサイトコンピューティングデバイス704、アプリケーション配信コンピューティングデバイス706、並びに、それぞれのエッジコンピューティングデバイス、即ちスマートフォン708及びタブレット端末710を示す、コンピュータネットワーク700の図である。コンピューティングデバイスは、通信ネットワーク712を介して結合される。コンピュータネットワーク700は簡略化される。例えば、ウェブサイトコンピューティングデバイス704及びアプリケーション配信コンピューティングデバイス706は、それぞれのウェブサイト及びアプリケーション配信システムのデバイスの例である。通信ネットワーク712は、プライベート及びポブリック(poblic)ネットワークを含み得る複数の有線および/または無線ネットワークを含み得る。
【0071】
本実施形態では、開発コンピューティングデバイス702が、ネットワークモデルの訓練および試験等のための1又は複数のデータセットを記憶するデータストア714(データベースを含み得る)に結合される。データストア714は、開発および実装を支援するために、ソフトウェア、他のコンポーネント、ツール等を記憶できる。図示されていない別の実施形態では、データセットが、開発コンピューティングデバイス702の記憶デバイスに記憶される。開発コンピューティングデバイス702は、本明細書で説明する実施形態のうちの1つ又は複数に従ってFANモデル716を定義するように構成される。例えば、開発コンピューティングデバイス702は、i)訓練データセット及びii)拡大および縮小訓練(EST)動作を用いてネットワーク構造を訓練することで、ネットワーク構造から候補モデルのセットを生成するように構成される。ここでEST動作は、候補モデルのセットを定義するための様々な構成パラメータの候補モデルインスタンスを定義し、保持する。開発コンピューティングデバイスはまた、候補モデルからFANモデルを選択するために、速度および精度評価基準(accuracy evaluation criteria)を用いて候補モデルの進化的検索を実行する。
【0072】
開発コンピューティングデバイス702は、スマートフォン708及びタブレット端末710等のエッジデバイス上で実行するFANモデルを定義する。開発コンピューティングデバイス702(又は、別の図示しないもの)は、FANモデル716を、(ウェブサイトコンピューティングデバイス704で提供するための)ウェブサイト用等のアプリケーション720A及び/又はそれぞれのエッジデバイスに配信するためのアプリケーション配信コンピューティングデバイス(例えば、706)用のアプリケーション720Bに組み込む。一実施形態では、アプリケーション配信コンピューティングデバイス706が、アプリケーションストア(電子商取引)サービスを提供して、サポートされるオペレーティングシステム(OS)を実行するターゲットデバイス上で実行するためのアプリケーションを配信する。アプリケーション配信コンピューティングデバイスの例は、iOS(登録商標)又はiPADOS(Apple Inc. Cupertino CAの登録商標)を実行するiPhone(登録商標)又はiPAD(登録商標)デバイスのためのAppleのApp Store(登録商標)である。別の例は、Android OS(Google LLC, Mountain View, CAの登録商標)を実行する様々なソースからのスマートフォン及びタブレット端末デバイスのためのGoogle Play(Google LLC, Mountain View, CAの登録商標)である。この実施形態では、スマートフォン708が、ウェブサイトコンピューティングデバイス704からFANモデル716を有するアプリケーション720Aを受信し、タブレット端末710が、アプリケーション配信コンピューティングデバイス706からFANモデル716を有するアプリケーション720Bを受信する。
【0073】
図8は、代表的なコンピューティングデバイス800のブロック図である。図7のコンピューティングデバイスは、同様に、それらのそれぞれの必要性および機能に従って構成される。コンピューティングデバイス800は、処理ユニット802(例えば、CPU及び/又はGPU、又は他のプロセッサ等、一実施形態では少なくとも1つのプロセッサを備える)と、命令(及びデータ)を記憶する記憶デバイス804(一実施形態では、少なくとも1つの記憶デバイス)とを備え、命令は処理ユニット(例えば、プロセッサ)によって実行されるとコンピューティングデバイスの動作を構成し、例えば、方法を実行する。記憶デバイス804は、メモリデバイス(例えば、RAM、ROM、EEPROM等)、ソリッドステートドライブ(例えば、フラッシュメモリを定義できる半導体記憶デバイス/ICを備える)、ハードディスクドライブ又は他の種類のドライブ及びテープ、ディスク(例えば、CD-ROM等)等の記憶媒体のうちのいずれかを含むことができ、追加の構成要素は、有線または無線の手段を介してデバイスを通信ネットワークに結合するための通信ユニット806、入力デバイス808、表示デバイス812を備えることができる出力デバイス810を含む。いくつかの例では、表示デバイスが、入力/出力デバイスを提供するタッチスクリーンデバイスである。コンピューティングデバイス800の構成要素は、追加のデバイスに結合するための外部ポートを有し得る内部通信システム814を介して結合される。
【0074】
いくつかの例では、出力デバイスが、スピーカ、ベル、ライト、オーディオ出力ジャック、指紋リーダ等を備える。いくつかの例では、入力デバイスが、キーボード、ボタン、マイクロフォン、カメラ、マウス又はポインティングデバイス等を備える。他のデバイス(図示せず)は、位置決定デバイス(例えば、GPS)を備え得る。
【0075】
記憶デバイス804は、一例ではオペレーティングシステム816と、ユーザアプリケーション818(アプリケーション720A又は720Bのうちの1つであり得る)と、ウェブサイトをブラウズしウェブサイトから受信されたFANモデル716を用いてアプリケーション720A等の実行可能体を実行するためのブラウザ820(ユーザアプリケーションのタイプ)と、例えば、カメラや他のものからの画像および/またはビデオフレームが記憶されるデータ822とを記憶する。
【0076】
引き続き図7を参照すると、一例では、スマートフォン708のユーザが、ブラウザを用いてウェブサイトコンピューティングデバイス704で提供されるウェブサイトを訪問する。スマートフォン708は、FANモデル716を有するアプリケーション720Aを受信する。この例では、アプリケーションが、仮想現実体験を提供するアプリケーション上のメイクアップ試着等のエフェクトシミュレーションアプリケーションである。ユーザはカメラを用い、静止画像またはビデオ画像(例えば、自撮り画像)を取得し、このソース画像はアプリケーションで(例えば、FANモデル716を用いて)処理される。ユーザは、グラフィカルユーザインターフェースを介する等して適用されるべき様々なエフェクトを選択する。エフェクトは、FANモデル716を通して識別された顔の領域(例えば、訓練された顔のランドマーク)を用いて、リアルタイムで画像に適用される。メイクアップエフェクトは、ソース画像から更新された画像を定義するためにオーバーレイを用いて適用され得る。更新された画像は、表示デバイスを介して表示され、記憶デバイスに記憶され、ソーシャルメディア、テキストメッセージ、電子メール等を介して共有(通信)され得る。一実施形態では、ウェブサイトコンピューティングデバイス704は、電子商取引サービスが可能であり、アプリケーション720Aを介して仮想的に試着されたメイクアップの購入を容易にする。一実施形態では、ウェブサイトコンピューティングデバイス704が、製品を推奨するための推奨サービスを提供する。
【0077】
一実施形態では、アプリケーション720Aが、皮膚または他の顔のトリートメント製品のエフェクトをシミュレートする。一実施形態では、アプリケーション720Aが、皮膚または他の顔のトリートメントサービスのエフェクトをシミュレートする。一実施形態では、ウェブサイトコンピューティングデバイス704が製品を推奨するための推奨サービスを提供する。一実施形態では、ウェブサイトコンピューティングデバイス704は電子商取引サービスが可能であり、そのような製品および/またはそのようなサービスの購入を容易にする。一実施形態では、アプリケーション720Aが皮膚分析を実行し、少なくとも1つの皮膚の徴候(skin sign、例えば、にきび)のスコアリングを提供する。ウェブサイトコンピューティングデバイス704は、製品推奨を提供できる。アプリケーション720Aは、皮膚の徴候エフェクトの低減を示す結果または製品の使用をシミュレートできる。
【0078】
引き続き図7を参照すると、一例では、タブレット端末710のユーザがブラウザを用い、アプリケーション配信コンピューティングデバイス706によって提供されるウェブサイトを訪問する。タブレット端末710は、FANモデル716を有するアプリケーション720Bを受信する。この例では、アプリケーションが仮想現実体験を提供する顔に関連する非現実的なエフェクト(例えば、グラフィカルエフェクト)をシミュレートするようなエフェクトシミュレーションアプリケーションである。一例では、エフェクトが自撮り画像に適用されるフィルタである。一例では、エフェクトがグラフィカルエフェクトを用いて、顔を漫画(cartoon)のキャラクターとしてシミュレートする。ユーザはカメラを用い、静止画像またはビデオ画像(例えば、自撮り画像)を取得し、このソース画像はアプリケーションによって(例えば、FANモデル716を用いて)処理される。ユーザは、例えばグラフィカルユーザインターフェースを介して、適用されるキャラクターを選択できる。グラフィックエフェクト又はエフェクトは、FANモデル716によって識別された顔の領域を用いて、リアルタイムで画像に適用される。エフェクトは、ソース画像から更新された画像を定義するためにオーバーレイを用いて適用され得る。更新された画像は、表示デバイスを介して表示され、記憶デバイスに記憶され、ソーシャルメディア、テキストメッセージ、電子メール等を介して共有(通信)され得る。
【0079】
一実施形態では、アプリケーション720Bが、トリートメント製品シミュレーション又はトリートメントサービスシミュレーション(それぞれ、仮想または拡張現実体験)をアプリケーション上でメイクアップ試着することを提供する。アプリケーション720Bは、一実施形態では推奨および/または購入促進のためにデバイスを電子商取引サービスに向けるように構成される。
【0080】
一例では、アプリケーションが、ビデオ通話または会議アプリケーションである。エフェクトは、FANモデル716の結果を用いて、参加者のカメラからの画像にリアルタイムで適用される。エフェクトが適用された画像は、他の発呼者/会議参加者への通信のために、ビデオ通話または会議サービスを介して通信される。一実施形態では、エフェクトはメイクアップエフェクトを含む。
【0081】
例では、FANモデルを含む開発されたアプリケーションが、顔上のメイクアップ製品の試着をシミュレートするためのメイクアップシミュレーションアプリケーションと、少なくとも1つの皮膚の徴候について領域または顔の領域を分析およびスコア付けするための皮膚分析アプリケーションと、顔の領域に関連するエフェクトをシミュレートするためのエフェクトシミュレーションアプリケーションと、顔の位置を追跡および示すための顔追跡アプリケーションと、等を含むことができる。
【0082】
図9は、顔位置合わせネットワーク(FAN)モデルを定義するための動作900のフローチャートである。FANモデルを定義するために、902の動作は、i)訓練データセット及びii)拡張および縮小訓練(EST)動作を用いてネットワーク構造を訓練することでネットワーク構造から候補サブモデルのセットを生成し、このEST動作は、候補サブモデルのセットを定義するための様々な構成パラメータの候補サブモデルのインスタンスを定義および保持する。
【0083】
候補サブモデルからFANモデルを選択するために、904の動作は、速度および精度評価基準を用いて候補サブモデルの進化的検索を実行する。
【0084】
一実施形態では、FANモデルが顔画像を処理するために、エッジデバイスによるランタイム実行のために定義される。例えば、エッジデバイスは、スマートフォン又はタブレット端末である。
【0085】
一実施形態では、EST動作が、ネットワーク構造に従って以前に(previously)定義されたベースラインモデルから訓練を開始する。一実施形態では、EST動作が、EST動作を用いる更なる訓練のために、候補サブモデルのそれぞれで部分的に訓練されたパラメータとして、ベースラインモデルからの事前訓練されたパラメータを利用する。一実施形態では、候補サブモデルが、2エポックと60エポックとの間、2エポックと25エポックとの間および2エポックのうちのいずれか1つについて更に訓練される。
【0086】
一実施形態では、EST動作が、各訓練反復においてランダムなサブネットを活性化して、サブネットの部分重みを積分として訓練し、サブモデル間で共有重みを効果的に訓練する。
【0087】
一実施形態では、EST動作が、深度サイズ、カーネルサイズ、チャンネル比および拡張比を含む複数の検索次元に従って候補サブモデルを生成するための検索空間を定義する。一実施形態では、EST動作が、小さな深度サイズ、小さなカーネルサイズ、大きなチャンネル比および大きな拡張比で開始し、次いで、動作は、段階的かつ以下の順序で(in phases and in the following order)、深度サイズ及びカーネルサイズをそれぞれの最大まで徐々に拡張し、終了フェーズで、チャンネル比および拡張比をそれぞれの最小まで徐々に縮小する。一実施形態では、EST動作が、第1サイズのカーネルを訓練し、第1サイズのカーネルを用いて第2サイズのカーネルをその後に訓練する、初期フェーズでのカーネル訓練動作を備え、第1サイズのカーネルは第2サイズのカーネルの中心(center)である。
【0088】
一実施形態では、EST動作が、より少ないレイヤーを訓練し、次いで、より大きなレイヤーオプションを訓練に徐々に追加する、中間フェーズ(middle phase)における深度訓練動作を備える。
【0089】
一実施形態では、EST動作が、チャンネル比および拡張比訓練動作(channel ratio and expansion ratio training operations)を備え、チャンネル比および拡張比訓練動作はそれぞれ、終了フェーズでチャンネル比および拡張比を縮小する。
【0090】
一実施形態では、進化的検索が、速度および精度評価基準を決定するためにベースラインモデルを評価する。
【0091】
一実施形態では、進化的検索が、ベースラインモデルから進化して、後続のサンプリング及び評価のための候補サブモデルの母集団を定義する。進化的検索は、複数のサイクルを実行しても良く、それは、母集団からサンプリングして候補サブモデルの数量(quantity)を選択することと、その数量から最速のサブモデルを選択することと、最速のサブモデルを進化させて関連するサブモデルを決定することと、母集団から最古のサブモデルを除去することと、関連するサブモデルが精度閾値テストを満たす場合、後でサンプリングできるように関連するサブモデルを母集団に追加し、関連するサブモデルを最後の最速の候補サブモデルのセットに追加することと、複数のサイクルの性能に従って、最後の最速の候補サブモデルのセットから最速のサブモデルをFANモデルとして選択することとを含む。進化的検索は、複数のサイクルを実行することができ、それは、候補サブモデルの数量を選択するために母集団からサンプリングすることと、その数量から最も正確なサブモデルを選択することと、最も正確なサブモデルを進化させて関連するサブモデルを決定することと、母集団から最古のサブモデルを除去することと、関連するサブモデルが速度閾値テストを満たす場合、後でサンプリングできるように関連するサブモデルを母集団に追加し、関連するサブモデルを最後の最も正確な候補サブモデルのセットに追加することと、複数のサイクルの性能に従って、最後の最も正確な候補サブモデルのセットから最も正確なサブモデルをFANモデルとして選択することとを含む。
【0092】
一実施形態では、ネットワーク構造が、予測のために抽出された特徴を精緻化するために関心領域(RoI)位置合わせレイヤーに出力する2段階構造である。一実施形態では、第1段階は、4つのブロックを含み、第2段階は、1つのブロックを含み、各ブロックは、最大4つのレイヤーを有し、各レイヤーは、反転された残差レイヤーを含む。
【0093】
従って、一実施形態では、コンピューティングデバイスが、命令を記憶する記憶デバイスに結合されたプロセッサを備え、命令はプロセッサで実行されると、方法に関連した(method-related)実施形態のいずれか1つによる方法を実行するようにコンピューティングデバイスを構成する。
【0094】
従って、一実施形態では、コンピュータプログラム製品が、命令と、コンピューティングデバイスのプロセッサで実行されるFANモデルを定義するデータとを記憶する非一時的記憶デバイスを備え、FANモデルは、方法に関連した実施形態のいずれか1つの方法に従って定義される。同様の実施形態はそのようなFANモデルを(例えば、訓練を通して)定義するためのコンピュータプログラム製品に関する。
【0095】
従って、一実施形態では、コンピューティングデバイスが、命令を記憶する記憶デバイスに結合されたプロセッサを備え、命令はプロセッサで実行されると、方法に関連した実施形態のいずれか1つの方法に従って定義されたFANモデルを提供するようにコンピューティングデバイスを構成する。同様の実施形態は、そのようなFANモデルを(例えば、訓練を通して)定義するためのコンピューティングデバイスに関する。
【0096】
実用的な実装は、本明細書に記載される特徴のいずれか又は全てを含むことができる。これら及び他の態様、特徴および様々な組合せは、機能を実行するための方法、機器、系、手段および本明細書で説明する特徴を組み合わせる他の方法として表され得る。いくつかの実施形態について説明した。それにもかかわらず、本明細書に記載されるプロセス及び技法の趣旨および範囲から逸脱することなく、様々な修正がなされ得ることが理解されよう。加えて、他のステップを提供することができ、又はステップを記載されたプロセスから排除することができ、他の構成要素を記載されたシステムに追加するか、又はそこから除去できる。従って、他の態様は特許請求の範囲の範囲内にある。
【0097】
本明細書の説明及び特許請求の範囲を通して、単語「含む(comprise)」及び「含む(contain)」及びそれらの変形は「含むが、限定されない(including but not limited to)」を意味し、他の構成要素、整数またはステップを排除することを意図しない。本明細書全体を通して、単数形は文脈が他のことを必要としない限り、複数形を包含する。特に、不定冠詞が用いられる場合は本明細書がその状況が他のことを要求していない限り、単数だけでなく複数も意図していると理解されたい。
【0098】
本発明の特定の態様、実施形態または実施例に関連して説明される特徴、整数、特性または群はそれらと互換性がない場合を除き、任意の他の態様、実施形態、又は実施例に適用可能であると理解されるべきである。本明細書に開示される特徴の全て(任意の添付の特許請求の範囲、要約および図面を含む)及び/又はそのように開示される任意の方法またはプロセスのステップの全ては、そのような特徴及び/又はステップの少なくともいくつかが相互に排他的である組合せを除いて、任意の組合せで組み合わせることができる。本発明は、前述の任意の例又は実施形態の詳細に限定されない。本発明は、本明細書(添付の特許請求の範囲、要約および図面を含む)に開示される特徴の任意の新規な1又は任意の新規な組み合わせ、又は開示される任意の方法またはプロセスのステップの任意の新規な1又は任意の新規な組み合わせに及ぶ。

参考文献-その全体が参照により本明細書に組み込まれる
Cai, H.; Gan, C.; Wang, T.; Zhang, Z.; and Han, S. 2020. Once-for-All: Train One Network and Specialize it for Efficient Deployment.

Chen, Y.; Yang, T.; Zhang, X.; Meng, G.; Xiao, X.; and Sun, J. 2019. DetNAS: Backbone Search for Object Detection. Freedman, D.; Pisani, R.; and Purves, R. 2007. Statistics (international student edition). Pisani, R. Purves, 4th edn. WW Norton & Company, New York.

He, K.; Gkioxari, G.; Doll´ ar, P.; and Girshick, R. 2018. Mask R-CNN.

Howard, A. G.; Zhu, M.; Chen, B.; Kalenichenko, D.; Wang, W.; Weyand, T.; Andreetto, M.; and Adam, H. 2017. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications.

Kazemi, V.; and Sullivan, J. 2014. One millisecond face alignment with an ensemble of regression trees. In 2014 IEEE Conference on Computer Vision and Pattern Recognition, 1867?1874. doi:10.1109/CVPR.2014.241.

Kowalski, M.; Naruniec, J.; and Trzcinski, T. 2017. Deep Alignment Network: A convolutional neural network for robust face alignment.

Li, T.; Yu, Z.; Phung, E.; Duke, B.; Kezele, I.; and Aarabi, P. 2019. Lightweight Real-time Makeup Try-on in Mobile Browsers with Tiny CNN Models for Facial Tracking.

Liu, H.; Simonyan, K.; and Yang, Y. 2019. DARTS: Differentiable Architecture Search.

Liu, Z.; Zhu, X.; Hu, G.; Guo, H.; Tang, M.; Lei, Z.; Robertson, N. M.; and Wang, J. 2019. Semantic Alignment: Finding Semantically Consistent Ground-truth for Facial Landmark Detection.

Nekrasov, V.; Chen, H.; Shen, C.; and Reid, I. 2019. Fast Neural Architecture Search of Compact Semantic Segmentation Models via Auxiliary Cells.

Newell, A.; Yang, K.; and Deng, J. 2016. Stacked Hourglass Networks for Human Pose Estimation.

Real, E.; Aggarwal, A.; Huang, Y.; and Le, Q. V. 2019. Regularized Evolution for Image Classifier Architecture Search.

Sagonas, C.; Tzimiropoulos, G.; Zafeiriou, S.; and Pantic, M. 2013. 300 faces in-the-wild challenge: The first facial landmark localization challenge. In the IEEE International Conference on Computer Vision Workshops.

Sandler, M.; Howard, A.; Zhu, M.; Zhmoginov, A.; and Chen, L.-C. 2019. MobileNetV2: Inverted Residuals and Linear Bottlenecks.

Wu, W.; Qian, C.; Yang, S.; Wang, Q.; Cai, Y.; and Zhou, Q. 2018. Look at boundary: A boundary-aware face alignment algorithm. In the IEEE Conference on Computer Vision and Pattern Recognition.

Yang, S.; Yang, W.; and Cui, Z. 2020. Pose Neural Fabrics Search.

Zhu, B.; Lin, C.; Wang, Q.; Liao, R.; and Qian, C. 2020. Fast and Accurate: Structure Coherence Component for Face Alignment.

Zoph, B.; and Le, Q. V. 2017. Neural Architecture Search with Reinforcement Learning.
<その他>
<手段>
技術的思想1の方法は、顔位置合わせネットワーク(FAN)モデルを定義することは、i)訓練データセット及びii)拡張および縮小訓練(EST)動作を用いてネットワーク構造を訓練することで前記ネットワーク構造から候補サブモデルのセットを生成することと、ここで前記EST動作は、候補サブモデルのセットを定義するための様々な構成パラメータの候補サブモデルのインスタンスを定義および保持するものであり、前記候補サブモデルから前記FANモデルを選択するために、速度および精度評価基準を用いて前記候補サブモデルの進化的検索を実行することとを含むものである。
技術的思想2の方法は、技術的思想1記載の方法において、前記FANモデルは、顔画像を処理するためのエッジデバイスによるランタイム実行のために定義される。
技術的思想3の方法は、技術的思想1又は2に記載の方法において、前記EST動作は、前記ネットワーク構造に従って以前に定義されたベースラインモデルから訓練を開始する。
技術的思想4の方法は、技術的思想3記載の方法において、前記EST動作は、EST動作を用いる更なる訓練のために、前記候補サブモデルのそれぞれにおける部分的に訓練されたパラメータとして、前記ベースラインモデルからの事前訓練されたパラメータを利用する。
技術的思想5の方法は、技術的思想に記載の方法において、前記候補サブモデルは、2エポックと60エポックとの間、2エポックと25エポックとの間および2エポックのうちのいずれか1つについて更に訓練されることを特徴とする。
技術的思想6の方法は、技術的思想3から5のいずれかに記載の方法において、前記EST動作は、各訓練反復においてランダムなサブネットを活性化して、サブネットの部分重みを積分として訓練し、サブモデル間で共有重みを効果的に訓練する。
技術的思想7の方法は、技術的思想3から6のいずれかに記載の方法において、前記EST動作は、深度サイズ、カーネルサイズ、チャンネル比および拡張比を含む複数の検索次元に従って候補サブモデルを生成するための検索空間を定義する。
技術的思想8の方法は、技術的思想7記載の方法において、前記EST動作は、小さな深度サイズ、小さなカーネルサイズ、大きなチャンネル比および大きな拡張比で開始し、次いで、動作は、段階的かつ以下の順序で、深度サイズ及びカーネルサイズをそれぞれの最大まで徐々に拡張し、終了フェーズで、チャンネル比および拡張比をそれぞれの最小まで徐々に縮小する。
技術的思想9の方法は、技術的思想7又は8に記載の方法において、前記EST動作は、第1サイズのカーネルを訓練し、前記第1サイズのカーネルを用いて、その後、第2サイズのカーネルを訓練する初期フェーズにおけるカーネル訓練動作を備え、前記第1サイズのカーネルは、前記第2サイズのカーネルの中心である。
技術的思想10の方法は、技術的思想6から9のいずれかに記載の方法において、前記EST動作は、より少ないレイヤーを訓練し、次いで、より大きなレイヤーオプションを前記訓練に徐々に追加する、中間フェーズにおける深度訓練動作を含む。
技術的思想11の方法は、技術的思想6から10のいずれかに記載の方法において、前記EST動作は、チャンネル比および拡張比訓練動作を備え、チャンネル比および拡張比訓練動作は、それぞれ終了フェーズでチャンネル比および拡張比を縮小する。
技術的思想12の方法は、技術的思想2から11のいずれかに記載の方法において、技術的思想2に従属する技術的思想3から10のように、前記進化的検索が、速度および精度評価基準を決定するために前記ベースラインモデルを評価する。
技術的思想13の方法は、技術的思想2から12のいずれかに記載の方法において、技術的思想2に従属する技術的思想3から12のように、前記進化的検索が、前記ベースラインモデルから進化して、後続のサンプリング及び評価のための候補サブモデルの母集団を定義する。
技術的思想14の方法は、技術的思想13記載の方法において、前記進化的検索は、前記母集団からサンプリングして候補サブモデルの数量を選択し、前記数量から最速のサブモデルを選択し、前記最速のサブモデルを進化させて関連するサブモデルを決定し、前記母集団から最古のサブモデルを除去し、前記関連するサブモデルが精度閾値テストを満たす場合、後でサンプリングできるように前記関連するサブモデルを前記母集団に追加し、前記関連するサブモデルを最後の最速の候補サブモデルのセットに追加することを含む複数のサイクルを実行し、前記複数のサイクルの前記性能に従って、前記最後の最速の候補サブモデルのセットから前記最速のサブモデルを前記FANモデルとして選択する。
技術的思想15の方法は、技術的思想13記載の方法において、前記進化的検索は、前記母集団からサンプリングして候補サブモデルの数量を選択し、前記数量から最も正確なサブモデルの選択を選択し、前記最も正確なサブモデルを進化させて関連するサブモデルを決定し、前記母集団から最古のサブモデルを除去し、前記関連するサブモデルが速度閾値テストを満たす場合、後でサンプリングできるように前記関連するサブモデルを母集団に追加し、前記関連するサブモデルをサンプリングし、最後の最も正確な候補サブモデルのセットに追加することを含む複数のサイクルを実行し、前記複数のサイクルの前記性能に従って、前記最後の最も正確な候補サブモデルのセットから前記最も正確なサブモデルを前記FANモデルとして選択する。
技術的思想16の方法は、技術的思想1から15のいずれかに記載の方法において、前記ネットワーク構造が、予測のために抽出された特徴を精緻化するために関心領域(RoI)位置合わせレイヤーに出力する2段階構造である。
技術的思想17の方法は、技術的思想16記載の方法において、第1段階が4つのブロックを含み、第2段階が1つのブロックを含み、各ブロックが最大4つのレイヤーを含み、各レイヤーが反転された残差レイヤーを含む。
技術的思想18の方法は、技術的思想1から17のいずれかに記載の方法において、エッジデバイスによる実行のために前記FANモデルを含むアプリケーションを定義する。
技術的思想19の方法は、技術的思想18記載の方法において、前記アプリケーションは前記顔のメイクアップ製品の前記試着をシミュレートするメイクアップシミュレーションアプリケーションと、少なくとも1つの皮膚の徴候について領域または前記顔の領域を分析し、スコア付けするための皮膚分析アプリケーションと、前記顔の領域に関連するグラフィカルエフェクトをシミュレートするエフェクトシミュレーションアプリケーションと、顔の位置を追跡および示すための顔追跡アプリケーションとのいずれか1つである。
技術的思想20の方法は、技術的思想18又は19に記載の方法において、前記アプリケーションは、前記FANモデルによってビデオを処理するように構成される。
技術的思想21の方法は、技術的思想18から20のいずれかに記載の方法において、前記エッジデバイスは、スマートフォン又はタブレット端末であり、前記FANモデルは、グラフィックス処理ユニット(GPU)による実行のために構成される。
技術的思想22の方法は、技術的思想19から21のいずれかに記載の方法において、前記アプリケーションは、前記メイクアップシミュレーションアプリケーション又は前記皮膚分析アプリケーションであり、前記アプリケーションは、それぞれメイクアップ及び皮膚トリートメントに関連する製品またはサービスを購入するために、電子商取引購入サービスへのインターフェースを提供するように構成される。
技術的思想23の方法は、技術的思想19から22のいずれかに記載の方法において、前記アプリケーションは、前記メイクアップシミュレーションアプリケーション又は前記皮膚分析アプリケーションであり、前記アプリケーションは、メイクアップ及び皮膚トリートメントにそれぞれ関連する製品またはサービスを推奨する電子商取引推奨サービスへのインターフェースを提供するように構成される。
技術的思想24のコンピューティングデバイスは、命令を記憶する記憶デバイスに結合されたプロセッサを備えるものであり、前記命令が前記プロセッサで実行されると、前記コンピューティングデバイスを、前記の技術的思想のいずれかに記載の方法に従った方法を実行するように構成される。
技術的思想25のコンピュータプログラム製品は、命令を記憶する非一時的記憶デバイスと、コンピューティングデバイスの処理ユニットによる実行のためのFANモデルを定義するデータとを備え、前記FANモデルは、前記の技術的思想のいずれかに記載の方法に従った方法で定義される。
技術的思想26のコンピュータデバイスは、命令を記憶する記憶デバイスに結合された処理ユニットを備えるものであり、前記命令が前記理ユニットで実行されたときに、前記の技術的思想のいずれかに記載の方法に従って定義されたFANモデルを提供するように前記コンピューティングデバイスを構成する。
【国際調査報告】