私達と接続

DeepFace による高度な顔認識

Artificial Intelligence

DeepFace による高度な顔認識

mm
更新中 on

顔認識はここ数年、AI と ML のトレンド分野となっており、顔認識の文化的および社会的影響は広範囲に及んでいます。 しかし、人間の視覚システムと機械の間にはパフォーマンスのギャップが存在し、それが現在、顔認識のアプリケーションを制限しています。 

パフォーマンスのギャップによって生じるバッファを克服し、人間レベルの精度を実現するために、Meta が導入されました。 ディープフェイス、顔認識フレームワーク。 DeepFace モデルは、評価ベンチマークの構築に使用されたデータセットとは大きく異なる大規模な顔データセットでトレーニングされており、最小限の適応で既存のフレームワークを上回るパフォーマンスを発揮する可能性があります。 さらに、DeepFace フレームワークは、数千の顔の外観特徴を生成する他のシステムと比較して、コンパクトな顔表現を生成します。 

提案されている DeepFace フレームワークでは、 深層学習 画像、ビデオ、グラフィックスなどのさまざまな形式のデータで構成される大規模なデータセットでトレーニングします。 DeepFace ネットワーク アーキテクチャは、位置合わせが完了すると、すべての顔領域の位置がピクセル レベルで固定されることを前提としています。 したがって、他のフレームワークで行われているような複数の畳み込み層を使用せずに、生のピクセル RGB 値を使用することが可能です。 

最新の顔認識フレームワークの従来のパイプラインは、検出、位置合わせ、表現、分類の 3 つの段階で構成されています。 DeepFace フレームワークは、明示的な XNUMXD 顔モデリングを採用して区分的変換を適用し、XNUMX 層のディープ ニューラル ネットワークを使用して顔の表現を導き出します。 DeepFace フレームワークは次のような貢献を試みています。

  1. 大規模なデータセットを活用して、他のデータセットに一般化できる顔の表現を作成できる、効果的な DNN またはディープ ニューラル ネットワーク アーキテクチャを開発します。 
  2. 明示的な 3D モデリングを使用して、効果的な顔位置調整システムを開発します。 

DeepFace モデルの仕組みを理解する

顔の位置合わせ

Face Alignment は、目の角度に応じて人物の画像を回転させる技術です。 顔の位置合わせは、データを前処理するために使用される一般的な手法です。 顔認識、および顔的に位置合わせされたデータセットは、正規化された入力を与えることで認識アルゴリズムの精度を向上させるのに役立ちます。 ただし、表情や体のポーズなど、複数の要素が関係するため、制約のない方法で顔を位置合わせするのは困難な作業となる場合があります。 顔の分析 3D モデルを使用したり、外部データセットから基準点を検索したりするなど、いくつかの高度な位置合わせ技術により、開発者は課題を克服できる可能性があります。 

位置合わせは、制約のない顔の検証と認識に対処する最も一般的な方法ですが、現時点では完璧な解決策はありません。 3D モデルも使用されますが、特に制約のない環境で作業する場合、その人気はここ数年で大幅に低下しています。 ただし、人間の顔は 3D オブジェクトであるため、正しく使用すれば正しいアプローチになる可能性があります。 DeepFace モデルは、基準点を使用して顔の分析 3D モデリングを作成するシステムを使用します。 この 3D モデリングは、顔のトリミングを 3D 正面モードにワープするために使用されます。 

さらに、ほとんどのアライメント手法と同様に、DeepFace アライメントでも基準点検出器を使用してアライメント プロセスを指示します。 DeepFace モデルは単純な点検出器を使用しますが、それを数回反復して適用して出力を調整します。 ポイント構成を偏見するように訓練されたサポート ベクター リグレッサー (SVR) は、反復ごとに画像記述子から基準ポイントを抽出します。 DeepFace の画像記述子は LBP ヒストグラムに基づいていますが、他の機能も考慮されています。 

2Dアライメント

当学校区の ディープフェイス モデルは、検出クロップ内で目の中央、口の位置、鼻の先端を中心とした 2 つの基準点を検出することにより、位置合わせプロセスを開始します。 これらは、画像を回転、拡大縮小し、XNUMX つのアンカー位置に変換するために使用され、目に見える変化がなくなるまでワープされた画像を反復処理します。 集約された変換により、XNUMXD で整列されたコープが生成されます。 この位置合わせ方法は LFW-a で使用されている方法と非常に似ており、モデルの精度を高めるために長年使用されてきました。 

3Dアライメント

面外回転で顔を位置合わせするために、DeepFace フレームワークは汎用 3D 形状モデルを使用し、3D 位置合わせされたコープをイメージ プレーン内の 2D 形状にラップするために使用できる 3D カメラを登録します。 その結果、モデルはコープの 3D 位置合わせバージョンを生成します。これは、67 番目の SVR またはサポート ベクター リグレッサーを使用して、2D 位置合わせされたコープ内の追加の XNUMX 基準点の位置を特定することによって実現されます。 

次に、モデルは 67D 形状上に 3 個のアンカー ポイントを手動で配置するため、3D 参照とそれに対応する基準点の間の完全な対応を実現できます。 次のステップでは、特定の損失を最小限に抑える既知の共分散行列を持つ線形システムに一般化最小二乗解を使用して、3D から 2D へのアフィン カメラが追加されます。 

正面化

非剛体変形と完全な透視投影はモデル化されていないため、3D から 2D カメラへの適合は近似値としてのみ機能します。 最終的なワープへの重要なアイデンティティを保持する要素の破損を減らすために、DeepFace モデルは、対応する残差を各参照基準点の xy コンポーネントに追加します。 アイデンティティに対する歪みを少なくして 2D 画像をワープする目的でこのような緩和を行うことはもっともらしいですが、それがなければ、顔は 3D で同じ形状にワープされ、その過程で重要な識別要素が失われていたでしょう。 

最後に、モデルは 67 個の基準点から導出されたドロネー三角形分割によって指示された区分的アフィン変換を使用して、正面化を実現します。 

  1. 6つの基準点で顔を検出しました。 
  2. 2D 整列企業を誘導しました。 
  3. 67D に整列したコープ上の 2 個の基準点。 
  4. 3D に位置合わせされた企業イメージに変換された参照 2D 形状。 
  5. 3D-2D カメラに対する三角形の可視性。 
  6. 67D モデルによって誘導された 3 個の基準点。 
  7. 最終的なコープの 3D 調整バージョン。 
  8. 3D モデルによって生成された新しいビュー。 

表現

トレーニング データの量が増加するにつれて、学習ベースの方法は、主に特定のタスク向けの機能を検出して最適化できるため、エンジニアリングされた機能と比較した場合、より効率的かつ正確であることが証明されています。 

DNN のアーキテクチャとトレーニング

DeepFace DNN は、顔画像の ID を分類するマルチクラスの顔認識タスクでトレーニングされます。 

上の図は、DeepFace モデルの全体的なアーキテクチャを表しています。 このモデルには、サイズ 1x32x11 の 11 個のフィルターを備えた畳み込み層 (C3) があり、サイズ 3x3 ピクセルの 152D 位置合わせされた 152 チャネル RGB 画像が供給され、32 個の特徴マップが生成されます。 これらの特徴マップは、次に、チャネルごとに個別に、2×3 の空間近傍の最大値を取得し、ストライド 3 を持つ Max Pooling レイヤーまたは M2 に供給されます。 これに続くのは、それぞれサイズ 3x16x9 の 9 個のフィルターで構成される別の畳み込み層 (C16) です。 これらのレイヤーの主な目的は、テクスチャや単純なエッジなどの低レベルの特徴を抽出することです。 Max Pooling 層を使用する利点は、畳み込み層によって生成される出力がローカル変換に対してより堅牢になることです。また、位置合わせされた顔画像に適用すると、小規模な位置合わせエラーに対してネットワークがより堅牢になることです。 

複数レベルのプーリングにより、ネットワークは特定の状況に対してより堅牢になりますが、同時にネットワークがマイクロ テクスチャや詳細な顔の構造の正確な位置に関する情報を失う原因にもなります。 ネットワークによる情報の損失を避けるために、DeepFace モデルは最初の畳み込み層でのみ最大プーリング層を使用します。 これらのレイヤーは、モデルによってフロントエンドの適応型前処理ステップとして解釈されます。 計算の大部分はそれらが行いますが、独自のパラメーターは限られており、入力を局所特徴のセットに拡張するだけです。 

次の層 L4、L5、および L6 はローカルに接続されており、畳み込み層と同様に、特徴マップ内のすべての場所が一意のフィルター セットを学習するフィルター バンクを適用します。 位置合わせされた画像内の異なる領域には異なる局所統計があるため、空間定常性の仮定を維持できません。 例えば、眉と目との間の領域は、口と鼻との間の領域に比べて識別能力が高い。 忠実なレイヤーの使用は、トレーニングの対象となるパラメーターの数に影響しますが、特徴抽出中の計算負荷には影響しません。 

そもそも DeepFace モデルが XNUMX つのレイヤーを使用しているのは、適切にラベル付けされた大量のトレーニング データがあるためです。 ローカルに接続された層の各出力ユニットは入力データの大きなパッチの影響を受ける可能性があるため、ローカルに接続された層の使用はさらに正当化されます。 

最後に、最上層は完全に接続され、各出力ユニットはすべての入力に接続されます。 7 つのレイヤーは、口の位置と形状、目の位置と形状など、顔画像のさまざまな部分でキャプチャされた特徴間の相関関係をキャプチャできます。 最初の完全に接続された層 (F8) の出力は、生の顔表現特徴ベクトルとしてネットワークによって使用されます。 次にモデルは、最後に完全に接続された層 (FXNUMX) の出力を K-way ソフトマックスに供給し、クラス ラベル上の分布を生成します。 

データセット

DeepFace モデルは、ソーシャル顔分類または SFC データセットを主なデータセットとするデータセットの組み合わせを使用します。 さらに、DeepFace モデルは LFW データセットと YTF データセットも使用します。 

SFC データセット

SFC データセットは Facebook からの写真のコレクションから学習され、それぞれ 4.4 ~ 4,030 の顔を持つ 800 人のラベル付き画像 1200 万枚で構成されています。 SFC データセットの各アイデンティティの顔画像の最新の 5% は、テスト目的で省略されています。

LFW データセット

LFW データセットは、13,323 人以上の有名人の 6,000 枚の写真で構成されており、10 の分割にわたって XNUMX の顔のペアに分割されます。 

YTF データセット

YTF データセットは、3,425 人の被験者の 1,595 本のビデオで構成されており、LFW データセット内の有名人のサブセットです。 

結果

正面化を行わず、2D アライメントのみを使用した場合、モデルは約 94.3% の精度スコアしか達成できません。モデルが顔検出のセンター コープを使用する場合、位置合わせは使用されません。この場合、顔領域の一部がセンター コープから外れる可能性があるため、モデルは 87.9% の精度スコアを返します。顔表現の識別能力を個別に評価するため、モデルは教師なし学習設定に従い、正規化された特徴の内積を比較します。モデルの平均精度が 95.92% に向上します。 

上記のモデルは、DeepFace モデルのパフォーマンスを他の最先端の顔認識モデルと比較したものです。 

上の図は、データセット上の ROC 曲線を示しています。 

まとめ:

理想的には、顔分類器は人間と同じ精度で顔を認識でき、画質、ポーズ、表情、照明に関係なく高い精度を返すことができます。 さらに、理想的な顔認識フレームワークは、ほとんどまたはまったく変更を加えることなく、さまざまなアプリケーションに適用できるようになります。 DeepFace は現在最も高度で効率的な顔認識フレームワークの XNUMX つですが、完璧ではなく、特定の状況では正確な結果を提供できない可能性があります。 しかし ディープフェイス このフレームワークは顔認識業界における重要なマイルストーンであり、強力なメトリクス学習技術を利用することでパフォーマンスのギャップを埋めており、時間の経過とともに効率が向上し続けるでしょう。 

「職業はエンジニア、心は作家」。 Kunal は、AI と ML に対する深い愛情と理解を備えたテクニカル ライターであり、魅力的で有益なドキュメントを通じてこれらの分野の複雑な概念を簡素化することに専念しています。