Yüz algılama rehberi

Yüzleri sınırlayıcı kutularla vurgulanan üç kişi

MediaPipe Yüz Algılama görevi, bir resim veya videodaki yüzleri algılamanıza olanak tanır. Bir karedeki yüzleri ve yüz özelliklerini bulmak için bu görevi kullanabilirsiniz. Bu görevde, tek resimlerle veya sürekli bir resim akışıyla çalışan bir makine öğrenimi (ML) modeli kullanılır. Görev, yüz konumlarının yanı sıra aşağıdaki yüz kilit noktalarını da döndürür: sol göz, sağ göz, burun ucu, ağız, sol göz tragusu ve sağ göz tragusu.

Deneyin.

Başlayın

Hedef platformunuzla ilgili bu uygulama kılavuzlarından birini uygulayarak bu görevi kullanmaya başlayın. Platforma özel bu kılavuzlar, önerilen bir model ve önerilen yapılandırma seçenekleriyle birlikte kod örneği de dahil olmak üzere bu görevin temel uygulama sürecinde 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.
  • Skor eşiği: Sonuçları tahmin puanlarına göre filtreleyin.
Görev girişleri Görev çıkışları
Yüz algılayıcı, aşağıdaki veri türlerinden birini kabul eder:
  • Sabit resimler
  • Kodu çözülmüş video kareleri
  • Canlı video feed'i
Yüz algılayıcı aşağıdaki sonuçları döndürür:
  • Bir resim çerçevesindeki algılanan yüzler için sınırlayıcı kutular.
  • Her algılanan yüz için 6 yüz yer işaretinin koordinatları.

Yapılandırma seçenekleri

Bu görev için aşağıdaki yapılandırma seçenekleri vardır:

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 resim girişleri için kullanılan mod.

VIDEO: Bir videonun kod çözülmüş karelerinin modu.

LIVE_STREAM: Kameradan alınan giriş verilerinin canlı yayını için kullanılan mod. Bu modda, sonuçları asenkron olarak alacak bir dinleyici oluşturmak 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 örtüşmüş olarak kabul edilmesi için minimum maksimum bastırma dışı eşik. Float [0,1] 0.3
result_callback Sonuç dinleyicisini, Yüz Algılayıcı canlı yayın modundayken algılama sonuçlarını eşzamansız olarak alacak şekilde ayarlar. Yalnızca çalışma modu LIVE_STREAM olarak ayarlandığında kullanılabilir. N/A Not set

Modeller

Yüz algılama modelleri, kısa ve uzun menzilli algılama gibi amaçlanan kullanım alanlarına göre değişiklik gösterebilir. Modeller genellikle performans, doğruluk, çözünürlük ve kaynak gereksinimleri arasında bir 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 algılayıcı olan BlazeFace'in varyantlarıdır. BlazeFace modelleri; 3D yüz önemli nokta tahmini, ifade sınıflandırması 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 menzil)

Akıllı telefon kamerasından veya web kamerasından alınan selfie benzeri resimlerde tek veya birden fazla yüzü algılamak için kullanılan hafif bir modeldir. Model, kısa mesafedeki ön kameralı telefon görüntüleri için optimize edilmiştir. Model mimarisinde, özel kodlayıcı içeren tek atışlı algılayıcı (SSD) konvolüsyon ağı tekniği kullanılır. Daha fazla bilgi için Tek Atış Çok Kutu Algılayıcı konulu araştırma makalesine bakın.

Model adı Giriş şekli Kesirli sayılaştırma türü Model Kartı Sürümler
BlazeFace (kısa menzilli) 128 x 128 float 16 info En son

BlazeFace (tam kapsamlı)

Akıllı telefon kamerasından veya web kamerasından alınan görüntülerde tek veya birden fazla yüz algılamak için kullanılan, nispeten hafif bir modeldir. Model, arka kamerayla çekilen resimler gibi tam kapsamlı resimler için optimize edilmiştir. Model mimarisinde, özel bir kodlayıcıya sahip CenterNet konvolüsyon ağına benzer bir teknik kullanılır.

Model adı Giriş şekli Kesirli sayılaştırma türü Model Kartı Sürümler
BlazeFace (tam kapsamlı) 128 x 128 float 16 bilgi Çok yakında

BlazeFace Seyrek (tam aralık)

Normal tam kapsamlı BlazeFace modelinin yaklaşık% 60 daha küçük boyutlu, daha hafif bir sürümü. Model, arkaya bakan telefon kamerasıyla çekilenler gibi tam kapsamlı görüntüler için optimize edilmiştir. Model mimarisinde, özel kodlayıcı içeren bir CenterNet konvolüsyon ağına benzer bir teknik kullanılır.

Model adı Giriş şekli Kesirli sayılaştırma türü Model Kartı Sürümler
BlazeFace Seyrek (tam aralık) 128 x 128 float 16 bilgi Çok yakında

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

Yukarıdaki önceden eğitilmiş modellere dayalı olarak tüm ardışık düzenin görev karşılaştırmalarını aşağıda bulabilirsiniz. Gecikme sonucu, CPU / GPU kullanan Pixel 6'taki ortalama gecikmedir.

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