Face-api.jsフレームワークに基づいて、顔認識はフロントエンドで完了します

Face-api.jsフレームワークに基づいて、顔認識はフロントエンドで完了します

[[271667]]

この記事では、ブラウザ上で動作する顔認識フレームワーク、Face-api.js を紹介します。これはTensorFlow.jsに基づいており、顔検出、特徴点抽出、記述子計算、顔マッチングまでの一連のステップを完了します。

識別効果図

このフレームワークは使いやすいため、数行の JavaScript コードでエンドツーエンドの認識を完了できます。顔認識の一般的な手順は次のとおりです。

顔検出

まず、画像またはビデオフレームから顔を特定します。このフレームワークは、顔検出用の 3 つのモデルを提供します。

小さな顔検出装置

Tiny Face Detector は、SSD Mobilenet V1 顔検出器よりも高速で、小型で、リソース消費が少ない、非常に高性能なリアルタイム顔検出器です。ただし、その代わりに、小さな顔を検出するパフォーマンスは若干劣ります。このモデルは、モバイル性とネットワーク性が非常に優れているため、モバイル デバイスやリソースが限られたクライアントでの顔検出に最も適しています。量子化されたモデルのサイズはわずか 190 KB (tiny_face_detector_model) です。

SSD モバイルネット V1

顔検出のために、このプロジェクトでは MobileNetV1 に基づく SSD (Single Shot Multibox Detector) を実装します。ニューラル ネットワークは、画像内の各顔の位置を計算し、各顔の確率とともに境界ボックスを返します。この顔検出器は、推論時間を短縮することよりも、顔の境界ボックスを高精度に検出することを目的としています。量子化モデルのサイズは約 5.4 MB (ssd_mobilenetv1_model) です。

MTCNNN について

MTCNN (マルチタスク カスケード畳み込みニューラル ネットワーク) は、より多くの構成スペースを提供する SSD Mobilenet v1 および Tiny Yolo v2 の代替顔検出器です。入力パラメータを調整することで、MTCNN はさまざまな顔の境界ボックスのサイズを検出できるようになります。 MTCNN は 3 段階のカスケード CNN であり、5 つの顔のランドマークと、各顔の境界ボックスとスコアを同時に返します。さらに、モデルのサイズはわずか 2MB です。

68個の特徴点を抽出

このキットは、非常に軽量で高速かつ正確な 68 ポイントの顔ランドマーク検出器を実装します。デフォルト モデルのサイズはわずか 350kb (face_landmark_68_model) で、小型モデルのサイズはわずか 80kb (face_landmark_68_tiny_model) です。どちらのモデルも、深さ方向に分離可能な畳み込みと密に接続されたブロックという考え方を採用しています。さらに、このモデルは、68 個の顔の特徴がラベル付けされた約 35,000 枚の顔画像のデータセットでトレーニングされています。

顔の特徴点パターン

記述子を計算する

顔認識の場合、ResNet-34 のようなアーキテクチャが実装され、任意の顔画像から顔記述子 (128 個の値を持つ特徴ベクトル) を計算します。顔記述子は、人間の顔の特徴を記述するために使用されます。このモデルは、トレーニングに使用された顔のセットに限定されないため、自分自身のような誰の顔認識にも使用できます。ユークリッド距離を計算したり、任意の他の分類器を使用したりして、顔の記述子を比較することで、任意の 2 つの顔の類似性を判断できます。

完全な顔認識

記述子に基づいて、顔認識マッチャーを構築できます。ビデオフレーム内の顔記述子と比較し、存在する場合は名前と類似度を出力します。

補充する

さらに、このプロジェクトには独自の表情検出機能と年齢検出機能があります。具体的なコードの使用方法は、github オープンソース プロジェクトで確認できます。

https://github.com/justadudewhohacks/face-api.js

以下は追加の機能効果図です。

表現検出チャート

年齢検出チャート

<<:  サーバーが過負荷状態です! GANで生成された肖像油絵は人気があり、一瞬でルネッサンス時代に戻ることができます

>>:  強力な視覚 AI でもこれらの写真を正確に識別できないのはなぜでしょうか?

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

AIはビデオを流暢に解釈できますか? Vista-LLaMAはこの「錯覚」の問題を解決します

近年、GPT、GLM、LLaMAなどの大規模言語モデルは自然言語処理の分野で大きな進歩を遂げており、...

AIミドルプラットフォーム - インテリジェントチャットボットプラットフォームのアーキテクチャとアプリケーション

講演者紹介:王東:北京大学大学院 CreditEase テクノロジーセンター AI ミドルプラットフ...

AIoTは自律時代を推進します。人工知能はIoTインフラに新たな競争上の優位性をもたらします。

人工知能とモノのインターネット (AIoT) は、テクノロジー分野における新しいプレーヤーの 1 つ...

...

人工知能に関する12の有名な引用

[[321443]]アラン・チューリング(1912-1954)は、人工知能の概念を真剣に受け止めた最...

...

...

採血時に血管が見つからない?人工知能には解決策がある

[[318810]]ビッグデータダイジェスト制作出典: rutgers.edu編纂者:張大毓如、夏亜...

AIによる顔の改造の一般的な手法の詳細な説明

最近また「AI変顔」が流行っていますね。 Leiphone.com(公式アカウント:Leiphone...

...

「顔を見る」時代において、顔認識は「マーケティング」の共犯者にはなり得ない

315ガラはカメラの顔認識の悪用の問題を暴露し、懸念を引き起こした。これはまた、問題を浮き彫りにする...

...

AIは学習しません!ネイチャー誌の最新研究が人工知能のブラックボックスを解読

人工知能(AI)は急速に進歩していますが、人間にとってその強力なモデルは「ブラックボックス」です。モ...

...