モデルはわずか7M:軽量で高精度な顔認識方式DBFace

モデルはわずか7M:軽量で高精度な顔認識方式DBFace

わずか 7M サイズのこの顔認識モデルは、世界最大の自撮り写真に写っているほぼすべての人物を認識します。

[[321809]]

プロジェクト紹介

以前、Machine Heart は、CPU 上で 1000FPS で簡単に実行できるクロスプラットフォームの顔認識プロジェクトについて報告しました。今回紹介するプロジェクトも軽量な顔認識プロジェクトです。違いは、このプロジェクトは少数のパラメータを維持しながら認識精度がはるかに高く、実行には OpenCV と PyTorch のみが必要であることです。

DBFace は、より高速な認識速度と高い精度を備えた軽量のリアルタイム顔認識方法です。下の図は、WiderFace データセットにおけるさまざまな顔検出方法のテスト結果を示しています。 DBFace モデルはサイズが最も小さいだけでなく、Easy、Medium、Hard のテスト タスクで最高の認識精度を達成していることがわかります。

プロジェクトアドレス: https://github.com/dlunion/DBFace

WiderFace は顔検出のベンチマーク データセットで、簡単なものから難しいものまでさまざまな難易度の 32,203 枚の画像と 393,703 個の顔が含まれています。次の図はデータセットからのいくつかのサンプルを示しています。ご覧のとおり、画像内のすべての顔を正確に識別するのは依然として非常に困難です。 DBFace はこのデータセットのさまざまなタスクで 0.925、0.920、0.847 の精度を達成しましたが、これは簡単なことではありません。

WiderFace の詳細については、公式 Web サイトをご覧ください。

http://shuoyang1213.me/WIDERFACE/ より

エフェクト表示

下の図は、WiderFace データセットにおけるさまざまな顔認識方法の PR 曲線を示しています。 PR 曲線は、バイナリ分類器の精度と再現率を直感的に表示できます。異なるアルゴリズムを比較する必要がある場合、バイナリ分類器の PR 曲線が別のバイナリ分類器の PR 曲線によって完全にカバーされている場合、後者のパフォーマンスが前者よりも優れていることを意味します。図からわかるように、3 つのタスクすべてにおいて、DBFace で囲まれた領域は比較的大きいです。

しきい値を 0.2 に設定した場合、世界最大の自撮り写真に対する DBFace の認識効果は次の図に示されています。

DBFace の認識精度が非常に高いことがわかります。写真に写っている顔の多くは、拡大しても肉眼で判別するのが難しいのですが、DBFace なら認識できます。また、モデルサイズはわずか 7M で、エッジデバイス上でリアルタイムに実行することも可能です。そこで、Synced もテストを開始しました。

プロジェクト測定

プロジェクト作成者が提供するコード例には、静止画像の認識と、コンピューター カメラを呼び出す GUI が含まれています。このプロジェクトを実行するには多くの依存関係は必要なく、PyTorch、Numpy、OpenCV だけが必要であることは注目に値します。上記の依存環境はすべて非常に一般的に使用されている拡張ライブラリであるため、インターネット上に対応するインストールチュートリアルが多数存在するため、ここではインストール手順は省略します。

main.py では、image_demo() と camera_demo() はそれぞれ、静的な画像の認識と認識のためのカメラの呼び出しに対応します。静的画像認識コードは次のとおりです。

  1. image_demo()を定義します:
  2.  
  3. dbface = DBフェイス()
  4.  
  5. dbface.eval()
  6.  
  7. HAS_CUDAの場合:
  8.  
  9. dbface.cuda()
  10.  
  11. dbface.load( "model/dbface.pth" )
  12.  
  13. dbface の画像を検出します。 "datas/selfie.jpg "

上記のコードは、トレーニング済みのモデルを読み取り、画像 datas/selfie.jpg を識別し、結果を detect_result/selfie.draw.jpg に保存します。

認識効果を見てみましょう。

上の写真からわかるように、室内の照明の色や明るさに大きな差がある環境でも、DBFace は写真に写っているほぼすべての人物を認識することができ、ヘルメットをかぶって虹を描き、光る光の玉を指差している中央の人物まで認識できます。もちろん、ここで設定された検出閾値は低いため、誤分類現象も発生します。写真に写っている何人かの人の手と右上隅の光の球が、誤って顔と認識されました。この現象は、しきい値を適切に上げることで解消できます。

コンピュータカメラ検出を呼び出すコードは次のとおりです。

  1. カメラデモ()を定義します:
  2.  
  3. dbface = DBフェイス()
  4.  
  5. dbface.eval()
  6.  
  7. HAS_CUDAの場合:
  8.  
  9. dbface.cuda()
  10.  
  11. dbface.load( "model/dbface.pth" )
  12.  
  13. キャップ = cv2.VideoCapture( 0 )
  14.  
  15. キャップを設定します(cv2.CAP_PROP_FRAME_WIDTH, 640 )
  16.  
  17. キャップを設定します(cv2.CAP_PROP_FRAME_HEIGHT, 480 )
  18.  
  19. わかりました、フレーム = cap.read()
  20.  
  21. 大丈夫です:
  22.  
  23. objs = 検出(dbface、フレーム)
  24.  
  25. objs 内の objの場合:
  26.  
  27. common.drawbbox(フレーム、obj)
  28.  
  29. cv2.imshow( "デモ DBFace" , フレーム)
  30.  
  31. キー = cv2.waitKey( 1 ) & 0xFF  
  32.  
  33. キー == ord( 'q' )の場合:
  34.  
  35. 壊す 
  36.  
  37. わかりました、フレーム = cap.read()

上記のコードを実行すると、640x480 の GUI インターフェイスが生成され、カメラを呼び出してリアルタイムの顔検出を実行します。

ご興味がございましたら、このプロジェクトをローカル コンピューターに git clone してテストしてください。

<<:  アルゴリズムを視覚化するオープンソース プロジェクトをお勧めします。

>>:  2Dが3Dになり、視野角を自由に変更でき、高精細な立体感が完璧に復元されます

ブログ    
ブログ    

推薦する

...

携帯電話を紛失し、電話をかけても誰も応答しません。顔認識機能は非常に役立ちます。

揚子晩報は4月12日(蒋桂東特派員、範牧暁子記者)に、揚州市在住の張さんがオランダ花海風景区を訪れた...

GPT-4 はハイブリッド大規模モデルを使用しますか?研究により、MoE+命令チューニングにより大規模モデルのパフォーマンスが向上することが証明された

GPT-4 の登場以来、優れた言語理解、生成、論理的推論など、その強力な創発能力に人々は驚嘆してきま...

海外メディア:ソフトバンクがロボット事業を縮小し、ペッパーの生産を停止

ロイターが入手した情報筋や文書によると、ソフトバンクグループは世界的なロボット事業で人員削減を行い、...

人工知能は「最優先事項」として挙げられていますが、高等教育機関はこの責任をどのように担うことができるのでしょうか?

人工知能は未来をリードする戦略的技術であり、産業変革の中核的な原動力であり、経済発展の新たな原動力で...

AI による効率化: データセンターのエネルギー使用を再定義

今日のデジタル時代において、データ センターは、私たちのつながった世界を動かし続けるための膨大な情報...

AI に役立つ 7 つのオープンソース ツール

[[282843]]人工知能は未来の道を歩み続ける注目すべき技術です。この進化する時代において、それ...

ディープインテリジェンスとは: 2021 年のディープインテリジェンスのトレンドは何ですか?

人工知能の開発は60年以上前に遡りますが、技術的な理由により、ディープラーニングの出現により再び人工...

...

自動運転車の後、どのような仕事が人工知能に置き換えられるのでしょうか?

自動運転がどれだけ遠い未来の話なのか議論されている中、自動運転の旅客バス、アルファバス・スマートバス...

DeepMindの創設者:生成AIは単なる過渡期であり、将来AIは無料になり、インタラクティブAIは人類を変えるだろう

DeepMindの共同創設者であり、Inflection AIの創設者でもあるムスタファ・スレイマン...

テスラのオプティマスヒューマノイドロボットが再び進化:視覚に基づいて物体を自律的に分類し、ヨガもできる

9月24日のニュース、本日早朝、テスラ オプティマスの公式Twitterアカウントが新しいビデオをア...

Dialogflow、Lex、Watson、Wit、Azure Robots の比較

[51CTO.com クイック翻訳] チャットボットは顧客とコミュニケーションをとる革新的な方法です...