顔認識のための深層学習への穏やかな紹介

ツイートシェアシェア

Last Updated on July5,2019

顔認識は、写真の中の人を顔で識別して検証する問題です。

それは、変化する光の下でも、顔が年齢によって変化したり、アクセサリーや顔の毛で妨げられたりするときでも、人間によって自明に実行される作業 それにもかかわらず、それは最近まで数十年のための挑戦的なコンピュータビジョンの問題に残っています。

ディープラーニング法は、顔の非常に大きなデータセットを活用し、顔の豊かでコンパクトな表現を学習することができ、現代のモデルは最初に同様にこの記事では、顔認識の問題と、深層学習法がどのように超人的なパフォーマンスを達成できるかを発見します。

この記事では、顔認識の問題と、深層学習

この記事を読んだ後、あなたは知っているでしょう:

  • 顔認識は、写真やビデオで人を識別または検証するための広範な問題です。
  • 顔認識は、検出、整列、特徴抽出、および認識タスクで構成されるプロセスです
  • ディープラーニングモデルは、最初に顔認識タスクのための人間のパフォーマ

ステップバイステップのチュートリアルやすべての例のPythonソースコードファイルを含む、私の新しい本Deep Learning for Computer Visionでプロジェクトを開始します。

始めましょう。

顔認識のための深い学習への穏やかな紹介

顔認識のための深い学習への穏やかな紹介
Susanne Nilssonによる写真、some rights reserved。

概要

このチュートリアルは5つの部分に分かれています。:

  1. 写真の顔
  2. 自動顔認識のプロセス
  3. 顔検出タスク
  4. 顔認識タスク
  5. 顔認識のためのディープラーニング

写真の顔

写真の人を自動的に認識する必要があることが多い。写真の中の人物を自動的に認識したい理由はたくさんあります。

写真の中の人物を自動的に認識したい理由はたくさんあります。

写真の中たとえば、次のようにします。

  • リソースへのアクセスを、顔認証と呼ばれる一人の人に制限することができます。
  • 顔認証と呼ばれる、その人が自分のIDと一致することを確認することができます。
  • 顔識別と呼ばれる顔に名前を割り当てたい場合があります。一般的に、我々は自動”顔認識”の問題としてこれを参照して、それはビデオのストリーム内の静止画や顔の両方に適用される場合があります。

一般的に、我々は、自動”顔認識”の問題としてこれを参照してください。

人間はこのタスクを非常に簡単に実行できます。

私たちは、画像内の顔を見つけ、彼らが知られている場合、人々が誰であるかについてコメントすることができます。 私達は人々が老化したときのような、これを非常によくしてもいいですサングラスを身に着けていて、異なった着色された毛を持っていて、異なった方 私たちはこれを非常にうまく行うことができ、雲の中のように、何もない顔を見つけることができます。それにもかかわらず、これは60年以上の研究の後でさえ、ソフトウェアで自動的に実行するのは難しい問題です。 おそらくごく最近まで。

例えば、照明および/または姿勢の変化を伴う屋外環境で取得された顔画像の認識は、大部分が未解決の問題のままである。 言い換えれば、現在のシステムはまだ人間の知覚システムの能力から遠く離れています。P>

—顔認識:文献調査、2003。

コンピュータビジョンのための深い学習で結果をしたいですか?

今私の無料の7日間の電子メールクラッシュコースを取る(サンプルコード付き)。

クリックしてサインアップし、コースの無料のPDF電子ブック版を取得します。

あなたの無料のミニコースをダウンロード

自動顔認識のプロセス

顔認識は、写真の顔を識別または検証する問題です。

顔の機械認識の問題の一般的な声明は、次のように定式化することができます:シーンの静止画像またはビデオ画像を与え、顔の保存されたデー

顔認識は、多くの場合、最初の四つのステップを含むプロセスとして記述されています。/p>

  1. 顔検出。 画像内の1つまたは複数の面を見つけ、境界ボックスでマークします。
  2. 顔の位置合わせ。 ジオメトリやフォトメトリクスなど、データベースと一致するように顔を正規化します。
  3. 特徴抽出。 認識タスクに使用できる顔から特徴を抽出します。
  4. 顔認識。 準備されたデータベース内の一つ以上の既知の顔に対して顔のマッチングを実行します。

特定のシステムは、伝統的にそうであった各ステップのために別々のモジュールまたはプログラムを持つことができ、または単一のプロセスにステッ

このプロセスの有用な概要は、以下の書籍”顔認識のハンドブック”に記載されています。

顔認識プロセスの手順の概要

顔認 “顔認識のハンドブック、”2011年から撮影されました。

顔検出タスク

顔検出は、顔認識の自明でない最初のステップです。

写真内の各顔の位置(位置など)と顔の範囲(境界ボックスなど)の両方が特定されていることを必要とする物体認識の問題です。 物体認識自体は困難な問題であるが、この場合、顔などの物体のタイプがローカライズされるのは一つだけであるため、顔は激しく変化する可能性がある。

人間の顔は動的なオブジェクトであり、その外観の変動度が高いため、顔検出はコンピュータビジョンでは困難な問題です。P>

—顔検出:調査、2001年。

さらに、より広範な顔認識システムの最初のステップであるため、顔検出は堅牢でなければなりません。 たとえば、顔を最初に検出できない場合、顔を認識できません。 つまり、顔は、向き、角度、光のレベル、髪型、帽子、眼鏡、顔の髪、メイク、年齢などのすべての方法で検出する必要があります。

視覚的なフロントエンドプロセッサとして、顔検出システムは、照明、向き、カメラ距離に関係なくタスクを達成できるはずです

-顔検出:調査、2001。

2001年の論文”Face Detection:A Survey”は、大きく二つの主要なグループに分けることができる顔検出方法の分類法を提供しています。

  • 特徴ベース。
  • 画像ベース。

機能ベースの顔検出は、ドメインの深い知識に基づいて写真の顔を検索して見つける手作りのフィルタを使用しています。 フィルタが一致すると非常に高速で非常に効果的になりますが、そうでない場合は劇的に失敗する可能性があります。

…顔の知識を明示的に使用し、知識ベースの分析の前に低レベルの特徴が導出される古典的な検出方法論に従ってください。 肌の色や顔の形状などの顔の見かけの特性は、異なるシステムレベルで利用されます。P>

—顔検出:調査、2001年。

または、画像ベースの顔検出は全体的であり、画像全体から顔を自動的に検索して抽出する方法を学習します。 ニューラルネットワークはこのクラスのメソッドに適合します。

…一般的な認識問題として顔検出に対処します。 例えば、2D強度配列における顔の画像ベースの表現は、特徴導出および解析なしに訓練アルゴリズムを使用して顔グループに直接分類される。 これらの比較的新しい技術は、マッピングとトレーニングスキームを通じてシステムに暗黙のうちに顔の知識を組み込みます。P>

—顔検出:調査、2001年。

おそらく、長年使用されていた(多くのカメラで使用されていた)顔検出のための支配的な方法は、2004年の論文”Robust Real-time Object Detection”に記載されています。”

検出器カスケードと呼ばれる検出器は、単純から複雑な顔分類器のシーケンスで構成され、広範な研究努力を集めています。 また、検出器カスケードは、スマートフォンやデジタルカメラなどの多くの商用製品に展開されています。 カスケード検出器は目に見える直立した顔を正確に見つけることができますが、側面図や部分的に閉塞した顔など、さまざまな角度からの顔の検出に失敗することがよくあります。

—深い畳み込みニューラルネットワークを使用したマルチビュー顔検出、2015。

顔検出のための深い学習のチュートリアルについては、参照してください:

  • Kerasで深い学習で顔検出を実行する方法

顔認識タスク

顔認識例えば、1995年の論文”顔の人間と機械の認識:調査”では、著者は三つの顔認識タスクについて説明しています。

  • 顔のマッチング:特定の顔に最適な一致を見つ
  • 顔の類似性:特定の顔に最も類似している顔を検索します。
  • Face Transformation:特定のfaceに似た新しいfaceを生成します。

これらの三つの別々のタスクを次のように要約します。

マッチングは、一致する候補の顔画像がシステムによって選択された顔画像のいくつかのセットに含まれていることを必要とします。 類似性の検出には、リコールされた顔に類似した顔の画像が見つかることを照合することに加えて、認識システムによって使用される類似性の尺度が、人間が使用する類似性の尺度と密接に一致することが必要である変換アプリケーションでは、システムによって作成された新しい画像が、顔の人間の記憶に類似していることが必要である。p>

—顔の人間と機械の認識:調査、1995。

“顔認識のハンドブック”と題された顔認識に関する2011年の本は、顔認識のための二つの主要なモードを説明しています:

  • 顔の確認。 既知のアイデンティティに対する特定の顔の一対一のマッピング(例えば、これは人ですか?).
  • 顔の識別。 既知の顔のデータベースに対する特定の顔の一対多マッピング(例えば、この人は誰ですか?).

顔認識システムは、画像や動画に存在する顔を自動的に識別することが期待されています。 それは2つのモードのどちらかまたは両方で作動できます:(1)表面証明(か証明)、および(2)表面同一証明(か認識)。

—ページ1、顔認識のハンドブック。 2011.

私たちは、入力と出力を持つサンプルで訓練された教師付き予測モデリングタスクとして顔認識の問題を記述することができます。

すべてのタスクで、入力は少なくとも一つの顔を含む写真であり、ほとんどの場合、検出された顔も整列されている可能性があります。出力は、タスクに必要な予測のタイプに基づいて変化します。

出力は、タスクに必要な予測のタイプに基づいて変化します。

  • それは、顔検証タスクの場合には、バイナリクラスラベルまたはバイナリクラス確率であってもよいです。これは、カテゴリクラスラベルまたは顔識別タスクの確率のセットであってもよい。
  • これは、顔識別タスクのカテゴリクラスラベルまたは確率のセッ</li><li>類似型タスクの場合には類似度メトリックであってもよい。

顔認識のための深層学習

顔認識は、コンピュータビジョンの研究の活発な分野であり続けています。

おそらく、顔認識のためのより広く知られており、採用されている”機械学習”方法の一つは、1991年の論文”固有顔を使用した顔認識”に記載されています。”彼らの方法は、単に”Eigenfaces”と呼ばれ、印象的な結果を達成し、単純な全体的なアプローチの能力を実証したので、マイルストーンでした。

顔画像は、既知の顔画像間のバリエーションを最もよくエンコードする特徴空間(”顔空間”)に投影されます。 顔空間は、顔の集合の固有ベクトルである”eigenfaces”によって定義され、目、耳、鼻などの孤立した特徴に必ずしも対応していません

—Eigenfacesを使用した顔認識、1991。

2018年の論文”Deep Face Recognition:A Survey”は、過去約30年間の顔認識研究の状況の有用な要約を提供し、全体的な学習方法(固有顔など)、局所的な手作りの特徴検出、浅い学習方法、最

全体的なアプローチは、1990年代の顔認識コミュニティを支配しました。 2000年代初頭には、手作りのローカル記述子が普及し、2000年代後半にはローカル機能学習アプローチが導入され、パフォーマンスは約60%から90%以上に着実に向上し、ディープラーニングはわずか3年で99.80%に向上しました。

—深い顔認識:調査、2018。

画像分類の単純な問題のために2012年にAlexNetのブレークスルーを考えると、顔認識のための深い学習方法に関する2014年と2015年に研究と出版物の突風があ 能力はすぐに人間レベルに近いパフォーマンスを達成し、その後、三年以内に標準的な顔認識データセットで人間レベルのパフォーマンスを超えました。

これらの革新を推進した顔認識のためのディープラーニングに関する四つのマイルストーンシステムがあります。 それぞれに簡単に触れてみましょう。

DeepFaceは、Yaniv Taigmanらによって記述された深い畳み込みニューラルネットワークに基づくシステムです。 FacebookのAI研究とテルアビブから。 これは、2014年の論文”DeepFace:顔検証における人間レベルのパフォーマンスへのギャップを埋める”に記載されていました。「顔認識にディープラーニングを使用して、標準的なベンチマークデータセットで人間レベルに近いパフォーマンスを達成したのは、おそらく最初の大きな飛躍でした。

私たちの方法は、野生(LFW)データセットのラベルされた顔に97.35%の精度に達し、現在の技術の誤差を27%以上削減し、人間レベルのパフォーマ

—DeepFace:顔検証、2014で人間レベルのパフォーマンスへのギャップを埋める。DeepID、または「Deep hidden IDentity features」は、一連のシステム(たとえば、DeepID、Deepid2など)です。

Yi Sunらによって最初に記載された。 彼らの2014年の論文では、”10,000クラスを予測することからの深層学習の顔表現。”彼らのシステムは、最初はDeepFaceのように説明されていましたが、その後の出版物では、対照的な損失を介して訓練することによって識別と検証の両方の

顔認識の重要な課題は、個人間の違いを拡大しながら、個人内の変動を低減するための効果的な特徴表現を開発することです。 顔識別タスクは、異なるidから抽出されたDeepid2の特徴を離れて描画することによって個人間の変化を増加させ、顔検証タスクは、顔認識に不可欠な同じidか

—共同識別による深層学習の顔表現-検証、2014。

DeepIDシステムは、タスクの人間よりも優れたパフォーマンスを達成する最初の深い学習モデルの一つであった、例えばDeepid2は野生(LFW)データセットで99.15%を達成し、これは97.53%の人間よりも優れたパフォーマンスである。 FaceNetやVGGFaceなどの後続のシステムは、これらの結果を改善しました。

FaceNetはFlorian Schroffらによって記述されました。 彼らの2015年の論文でGoogleで”FaceNet”と題された: 顔認識とクラスタリングのための統一された埋め込み。”彼らのシステムは、最先端の結果を達成し、画像を特徴ベクトルとして効率的に符号化することを可能にする”トリプレット損失”と呼ばれる革新を提

FaceNetは、顔画像から距離が顔の類似度の尺度に直接対応するコンパクトなユークリッド空間へのマッピングを直接学習します。 この方法は,従来の深層学習アプローチのように中間ボトルネック層ではなく,埋め込み自体を直接最適化するために訓練された深いたたみ込みネットワークを使用する。 訓練するために、我々は、新しいオンライントリプレットマイニング法を使用して生成されたほぼ整列したマッチング/非マッチング顔パッチのトリプレットを使用しています

-FaceNet:A Unified Embedding for Face Recognition and Clustering,2015。

FaceNetのチュートリアルについては、以下を参照してください:

  • KerasでFaceNetを使用して顔認識システムを開発する方法

VGGFace(より良い名前の欠如のために)は、Omkar Parkhiらによって開発されました。 OxfordのVisual Geometry Group(VGG)から、2015年の論文「Deep Face Recognition」に記載されています。”より良い調整されたモデルに加えて、彼らの仕事の焦点は、非常に大きなトレーニングデータセットを収集し、これを使用して顔認識のための非常に深いCNN

…私たちは、ループ内の自動化と人間の組み合わせによって非常に大規模なデータセット(2.6Mの画像、2.6K人以上)を組み立てることがで

VGGFaceのチュートリアルについては、以下を参照してください。

  • KerasでVggface2で顔認識を実行する方法

これらはコンピュータビジョンの深層学習の分野における重要な初期のマイルストーンかもしれませんが、進歩は続き、モデルを効果的に訓練するための損失関数に焦点を当てた多くの革新が続いています。優れた最新の要約については、2018年の論文”Deep Face Recognition:A Survey.”

さらに読む

このセクションでは、より深く行くために探している場合は、トピックに関するより多くのリソースを提供します。

ブック

  • 顔認識のハンドブック、第二版、2011。

顔認識論文

  • 顔認識:文献調査、2003。
  • 顔検出:調査、2001。
  • 顔の人間と機械の認識:調査、1995。
  • 堅牢なリアルタイムオブジェクト検出、2004。
  • 固有顔を使用した顔認識、1991。

ディープラーニング顔認識論文

  • ディープ顔認識:調査、2018。
  • 深い顔認識、2015。
  • FaceNet:顔認識とクラスタリングのための統一された埋め込み、2015。
  • DeepFace:顔検証における人間レベルのパフォーマンスへのギャップを埋める、2014。
  • 共同識別-検証による深層学習の顔表現、2014。
  • 10,000クラスを予測することから深い学習顔表現、2014。
  • 深い畳み込みニューラルネットワークを用いたマルチビュー顔検出、2015。
  • 顔の部分から顔検出への応答:深い学習アプローチ、2015。
  • GaussianFace、2014でLFWの人間レベルの顔検証性能を上回りました。

記事

  • 顔認識システム、ウィキペディア。
  • 顔認識、ウィキペディア。
  • 顔検出、ウィキペディア。この記事では、顔認識の問題と、ディープラーニング法がどのように超人的なパフォーマンスを達成できるかを発見しました。

    具体的には、あなたが学んだ:

    • 顔認識は、写真やビデオで人を識別または検証するための広範な問題です。
    • 顔認識は、検出、整列、特徴抽出、および認識タスクで構成されるプロセスです
    • ディープラーニングモデルは、最初に顔認識タスクのための人間のパフォーマ

    何か質問がありますか?

質問がありますか?
以下のコメントであなたの質問をすると、私は答えるために最善を尽くします。P>

今日のビジョンのための深い学習モデルを開発!

コンピュータビジョンのためのディープラーニング

数分で独自のビジョンモデルを開発

。..pythonコードのわずか数行で

どのように私の新しい電子ブックで発見:
コンピュータビジョンのための深い学習

それはのようなトピックに関する自:
分類、オブジェクト検出(yoloとrcnn)、顔認識(vggfaceとfacenet)、データ準備とはるかに。..

最後に、あなたのビジョンプロジェクトに深い学習をもたらす

学者をスキップします。 ちょうど結果。

Related Posts

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です