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.
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:
- Android - Kod örneği - Kılavuz
- Python - Kod örneği- Kılavuz
- Web - Kod örneği - Kılavuz
- iOS - Kod örneği - Rehber
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:
|
Yüz algılayıcı aşağıdaki sonuçları döndürür:
|
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 |