顔認識アルゴリズムはどのように機能するのでしょうか?

顔認識アルゴリズムはどのように機能するのでしょうか?

過去 10 年間で、ディープラーニングの分野では多くの高度な新しいアルゴリズムと画期的な研究が登場し、新しいコンピューター ビジョン アルゴリズムが導入されました。

すべては2012年のAlexNetから始まりました。 AlexNet は、ImageNet データセット (1,400 万枚を超える画像を含むデータセット) で高い精度を達成したディープ (畳み込み) ニューラル ネットワークです。

人間はどうやって顔を認識するのでしょうか?

おそらく、人間の脳のニューロンは、まずシーン内の顔(体の形や背景から)を認識し、次に顔の特徴を抽出し、これらの特徴を使用して人を分類します。私たちは、無限に大規模なデータセットとニューラル ネットワークでトレーニングしました。

機械における顔認識も同様の方法で実装されています。まず、顔検出アルゴリズムを使用してシーン内の顔を検出し、次に検出された顔から顔の特徴を抽出し、最後にアルゴリズムを使用して人物を分類します。

顔認識システムのワークフロー

1. 顔検出

顔検出は、オブジェクト検出の特殊なバージョンです。特別な点は、1 種類のオブジェクト、つまり顔だけを検出することです。コンピュータサイエンスにおいて時間と空間の間にトレードオフがあるのと同様に、機械学習アルゴリズムでも推論速度と精度の間にトレードオフを行う必要があります。利用できるオブジェクト検出アルゴリズムは多数あり、アルゴリズムによって速度と精度のトレードオフが異なります。

この論文では、最先端の物体検出アルゴリズムをいくつか評価します。

  • OpenCV (ハールカスケード)
  • MTCNNN について
  • YoloV3 と Yolo-Tiny
  • ソリッドステートドライブ
  • ブレイズフェイス
  • ShuffleNet と Faceboxes

強力な顔検出システムを構築するには、GPU とモバイル デバイス上でリアルタイムに実行できる正確で高速なアルゴリズムが必要です。

正確さ

ストリーミング ビデオのリアルタイム推論では、人物の顔のポーズ、遮蔽、照明効果が異なる場合があります。したがって、アルゴリズムがさまざまな照明条件やさまざまなポーズで顔を正確に検出できることが非常に重要です。

さまざまなポーズや照明条件での顔検出

OpenCV (ハール・アスケード)

まず、C 言語で書かれたオープンソースの画像処理ライブラリである OpenCV の Haar カスケード実装から始めます。

利点: このライブラリは C 言語で記述されているため、リアルタイム システムでの推論が非常に高速です。

欠点: この実装の問題点は、横顔を検出できず、さまざまなポーズや照明条件ではうまく機能しないことです。

MTCNNN について

このアルゴリズムはディープラーニング手法に基づいています。顔を検出するために、ディープカスケード畳み込みニューラルネットワークを使用します。

利点: OpenCVのHaar-Cascade法よりも正確です

デメリット: 実行時間が長くなります。

ヨロブ3

YOLO(「一度だけ見る」)は、物体検出のための最先端のディープラーニング アルゴリズムです。これは、多くの畳み込みニューラル ネットワークで構成され、深い CNN モデルを形成します (深さは、モデル アーキテクチャの複雑さを意味します)。

オリジナルの YOLO モデルは 80 種類のオブジェクト カテゴリを高精度で検出できますが、このモデルを使用する必要があるのは 1 つのオブジェクト (顔) を検出する場合だけです。私たちは、393,703 個の顔ラベルを含む画像のデータセットである WiderFace データセットでアルゴリズムをトレーニングしました。

YOLO アルゴリズムには、Yolo-Tiny という小型バージョンもあります。 Yolo-Tiny では計算時間は短くなりますが、精度が多少犠牲になります。同じデータセットで Yolo-Tiny モデルをトレーニングしましたが、境界ボックスの結果は一貫していませんでした。

長所: 非常に正確で、欠陥はありません。 MTCNNよりも高速です。

デメリット: 巨大なディープニューラルネットワーク層のため、より多くの計算リソースが必要になります。したがって、このアルゴリズムは CPU またはモバイル デバイス上で非常に遅く実行されます。 GPU では、アーキテクチャが大きくなると、より多くの VRAM を消費します。

ソリッドステートドライブ

SSD (Single Shot Detector) も、YOLO に似た深層畳み込みニューラル ネットワーク モデルです。

長所: 精度が良い。さまざまなポーズ、照明、遮蔽を検出できます。推論速度が良好です。

デメリット: YOLO モデルよりも悪い。推論速度は良好ですが、CPU、ローエンドの GPU、またはモバイル デバイスでの実行要件を満たすことはできません。

ブレイズフェイス

名前の通り、Google がリリースした非常に高速な顔検出アルゴリズムです。 128 x 128 次元の画像入力を受け入れ、推論時間は 1 ミリ秒未満で、携帯電話での使用に最適化されています。非常に高速な理由は次のとおりです。

  • 多数のカテゴリを検出するために使用される YOLO や SSD とは異なり、BlazeFace は専用の顔検出モデルです。そのため、BlazeFace の深層畳み込みニューラル ネットワーク アーキテクチャは、YOLO や SSD よりも小さくなります。
  • 標準の畳み込み層の代わりに深さ方向に分離可能な畳み込み層を使用するため、計算量が削減されます。

利点: 非常に優れた推論速度と顔検出の高精度。

デメリット: このモデルは、携帯電話のカメラで撮影した画像での顔検出に最適化されているため、顔が画像の大部分を占めると想定され、顔のサイズが小さい場合にパフォーマンスが向上します。そのため、CCTV(閉回路テレビ)カメラで取得した画像に対して顔検出を実行すると、うまく機能しません。

フェイスボックス

Faceboxes は私たちが使用する最新の顔検出アルゴリズムです。 BlazeFace と同様に、顔という 1 つのクラスのみを検出するように設計された、小さな深層畳み込みニューラル ネットワークです。推論時間は CPU 上のリアルタイム検出要件を満たすことができます。その精度はYolo顔検出アルゴリズムに匹敵し、画像内の顔の大きさに関係なく正確に検出できます。

利点: 推論速度が速く、精度が優れています。

短所: 評価はまだ進行中です。

2. 特徴抽出

画像内の顔を検出した後、顔を切り抜いて特徴抽出アルゴリズムに入力し、顔の特徴を表す多次元(主に 128 次元または 512 次元)ベクトルである顔埋め込みを作成します。顔の埋め込みを作成するには、FaceNet アルゴリズムを使用します。

埋め込みベクトルは人の顔の特徴を表します。したがって、同じ人物の 2 つの異なる画像の埋め込みベクトル間の距離は比較的近くなりますが、異なる人物の埋め込みベクトル間の距離は比較的遠くなります。 2 つのベクトル間の距離はユークリッド距離です。

3. 顔の分類

顔の埋め込みベクトルを取得した後、埋め込みベクトルに基づいて人物を分類する分類アルゴリズム、つまり K 近傍法 (KNN) アルゴリズムをトレーニングしました。

ある組織に 1,000 人の従業員がいるとします。私たちは全従業員の顔の埋め込みを作成し、その埋め込みベクトルを使用して分類アルゴリズムをトレーニングしました。このアルゴリズムは、顔埋め込みベクトルを入力として受け取り、人物の名前を出力として返します。

画像をオンラインに公開する前に、ユーザーはフィルターを適用して画像内の特定のピクセルを変更できます。この変化は人間の目には認識できないが、顔認識アルゴリズムを混乱させる可能性がある。 —— タレスグループ

現在、顔認識アルゴリズムは大きな進歩を遂げています。しかし、これは技術革命の始まりに過ぎません。将来、顔認識アルゴリズムとチャットボット技術がいかに強力になるか想像してみてください。

<<:  デジタル技術が自動車産業をどう変えるのか

>>:  言語モデルの倫理的・社会的リスクについて

ブログ    
ブログ    
ブログ    

推薦する

複数の都市が共同で人工知能コンピューティングネットワークを点灯し、人工知能産業の発展を促進する

Huawei Connect 2021では、中国科学技術情報研究所(CITI)、AITISA(新世代...

訓練されたディープラーニングモデルは、もともとこのように展開されていました

データの収集、データのクリーンアップ、環境の構築、モデルのトレーニング、モデルの評価とテストに一生懸...

AIを使ってAIを攻撃する?敵対的機械学習に対する脅威と防御

人工知能 (AI) や機械学習 (ML) プロジェクトを適用する組織が増えるにつれて、これらのプロジ...

ビジネスリーダーがAIを導入する際に指針となる5つの基本原則

たとえば、私が 25 年以上携わってきた市場調査業界を考えてみましょう。 AI は、さまざまな方法で...

25倍のパフォーマンス向上: RustはCとC++に取って代わり、機械学習のPythonバックエンドとして好まれるようになると期待されています。

機械学習開発の分野では、全体像を見て細かい詳細をすべて取り除くと、機械学習開発における不変の 2 つ...

...

人工知能は非常に強力だが、人間は必ずしも人工知能に支配されるわけではない。ホーキングは間違っているのだろうか?

著者: ふす有名な物理学者ホーキング博士はかつて、将来人類は人工知能によって滅ぼされるかもしれないの...

...

...

...

詳細 | EUの人工知能法案が進行中:公共の場での顔認識の禁止を求める、市場シェアを獲得するために厳しい監視が必要

最近、EUの人工知能規制に新たな展開がありました。欧州データ保護委員会(EDPB)と欧州データ保護監...

機械学習アルゴリズムの基礎知識

利用できるアルゴリズムは多数あります。難しいのは、さまざまな種類の方法があり、それらの方法に拡張もあ...

ChatGPT が突然大きなバグを発見しました!フル機能のGPT-4は無料で使用でき、ネットユーザーは大喜びしている

11月15日、OpenAIは突然、ChatGPT Plusの新規ユーザー登録を停止すると発表しました...

AI技術は非常に高いレベルに達しており、解読と着色は非常に進歩している

画像処理の分野では、AIブラシがますます目立つようになってきています。以前、AIロスレス画像拡大、A...

2018 Baidu AI 開発者会議: Robin Li が「誰でも AI ができる」を提唱

7月4日、世界初のAI開発者カンファレンス「Baidu Create 2018」が2年目を迎えました...