Yüz algılama rehberi

MediaPipe Yüz Dedektörü görevi, bir resimdeki veya videodaki yüzleri algılamanızı sağlar. Yüzleri ve yüz özelliklerini bir çerçeve içindeki yerini belirlemek için bu görevi kullanabilirsiniz. Bu görev, tek görüntülerle veya sürekli bir görüntü akışıyla çalışan bir makine öğrenimi (ML) modeli kullanır. Görev, yüzdeki konumları ve yüzdeki şu önemli noktaları sağlar: sol göz, sağ göz, burun ucu, ağız, sol göz trajyonu ve sağ göz trajyonu.

Deneyin!

Başlayın

Hedef platformunuz için bu uygulama rehberlerinden birini izleyerek bu görevi kullanmaya başlayın. Bu platforma özel kılavuzlar, önerilen bir model ve önerilen yapılandırma seçenekleriyle birlikte kod örneği dahil olmak üzere, bu görevin temel bir şekilde uygulanmasında size yol gösterir:

Görev ayrıntıları

Bu bölümde, bu görevin özellikleri, girişleri, çıkışları ve yapılandırma seçenekleri açıklanmaktadır.

Özellikler

  • Giriş resmi işleme: İşleme resim döndürme, yeniden boyutlandırma, normalleştirme ve renk alanı dönüştürme işlemlerini içerir.
  • Puan eşiği - Sonuçları tahmin puanlarına göre filtreleyin.
Görev girişleri Görev çıkışları
Yüz Dedektörü, aşağıdaki veri türlerinden birinin girişini kabul eder:
  • Hareketsiz resimler
  • Kodu çözülmüş video kareleri
  • Canlı video feed'i
Yüz Dedektörü aşağıdaki sonuçları verir:
  • Bir resim çerçevesinde algılanan yüzler için sınırlayıcı kutular.
  • Algılanan her yüz için 6 yüz yer işareti koordinatları.

Yapılandırma seçenekleri

Bu görev aşağıdaki yapılandırma seçeneklerine sahiptir:

Seçenek Adı Açıklama Değer Aralığı Varsayılan Değer
running_mode Görevin çalışma modunu ayarlar. Üç mod vardır:

RESİM: Tek resimli girişler için mod.

VİDEO: Bir videonun kodu çözülmüş karelerine yönelik mod.

LIVE_STREAM: Kamera gibi giriş verilerini içeren bir canlı yayın modu. Bu modda, sonuçları eşzamansız olarak almak üzere bir işleyici ayarlamak için resultListener çağrılmalıdır.
{IMAGE, VIDEO, LIVE_STREAM} IMAGE
min_detection_confidence Yüz algılamanın başarılı olarak kabul edilmesi için gereken minimum güven puanı. Float [0,1] 0.5
min_suppression_threshold Yüz algılamanın çakıştığı kabul edilmesi için maksimum olmayan minimum engelleme eşiği. Float [0,1] 0.3
result_callback Yüz Dedektörü canlı yayın modundayken sonuç işleyiciyi, algılama sonuçlarını eşzamansız olarak alacak şekilde ayarlar. Yalnızca çalıştırma modu LIVE_STREAM olarak ayarlandığında kullanılabilir. N/A Not set

Modeller

Yüz algılama modelleri, kısa mesafe ve uzun menzilli algılama gibi kullanım amaçlarına bağlı olarak değişiklik gösterebilir. Modeller ayrıca genellikle performans, doğruluk, çözünürlük ve kaynak gereksinimleri arasında denge kurar ve bazı durumlarda ek özellikler içerir.

Bu bölümde listelenen modeller, mobil GPU çıkarımı için optimize edilmiş hafif ve doğru bir yüz dedektörü olan BlazeFace'in varyantlarıdır. BlazeFace modelleri; 3D yüz tuş noktası tahmini, ifade sınıflandırma ve yüz bölgesi segmentasyonu gibi uygulamalar için uygundur. BlazeFace, MobileNetV1/V2'ye benzer hafif bir özellik ayıklama ağı kullanır.

BlazeFace (kısa aralık)

Akıllı telefon kamerasından veya web kamerasından selfie benzeri resimlerdeki bir veya birden fazla yüzü algılamaya yönelik hafif bir model. Model, kısa mesafedeki ön telefon kamerası görüntüleri için optimize edilmiştir. Model mimarisi, özel bir kodlayıcı ile Tek Çekim Dedektörü (SSD) evrişimsel ağ tekniği kullanır. Daha fazla bilgi için Single Shot MultiBox Detector (Tek Çekim Çoklu Kutu Dedektörü) adlı araştırma makalesine bakın.

Model adı Giriş şekli Nicelleştirme türü Model Kartı Sürümler
BlazeFace (kısa aralık) 128 x 128 kayan nokta 16 bilgi En son

BlazeFace (tam aralık)

Akıllı telefon kamerasından veya web kamerasından resimlerdeki bir veya birden fazla yüzü algılamaya yönelik nispeten hafif bir model. Model, arka yüz telefon kamerası görüntüleriyle çekilenler gibi tam aralıklı resimler için optimize edilmiştir. Model mimarisi, özel bir kodlayıcıyla CenterNet kıvrımlı ağına benzer bir teknik kullanır.

Model adı Giriş şekli Nicelleştirme türü Model Kartı Sürümler
BlazeFace (tam aralık) 128 x 128 kayan nokta 16 bilgi Çok yakında

BlazeFace Sparse (tam aralık)

Normal tam aralıklı BlazeFace modelinin yaklaşık% 60 daha küçük boyutlu daha hafif bir sürümü. Model, arka yüz telefon kamerası görüntüleriyle çekilenler gibi tam aralıklı resimler için optimize edilmiştir. Model mimarisi, özel kodlayıcıyla CenterNet kıvrımlı ağına benzer bir teknik kullanır.

Model adı Giriş şekli Nicelleştirme türü Model Kartı Sürümler
BlazeFace Sparse (tam aralık) 128 x 128 kayan nokta 16 bilgi Çok yakında

Görev karşılaştırmaları

Yukarıda önceden eğitilmiş modellere dayalı olarak ardışık düzenin tamamı için görev karşılaştırmaları aşağıda verilmiştir. Gecikme sonucu, Pixel 6'da CPU / GPU kullanılarak elde edilen ortalama gecikmedir.

Model Adı CPU Gecikmesi GPU Gecikmesi
BlazeFace (kısa aralık) 2,94 ms. 7,41 ms.