MediaPipe Face Detector görevi, resim veya videolardaki yüzleri algılamanızı sağlar. Bu görevi kullanarak bir karedeki yüzleri ve yüz özelliklerini bulabilirsiniz. Bu görevde, tek görüntülerle veya sürekli bir görüntü akışıyla çalışan bir makine öğrenimi (ML) modeli kullanılır. Görev, yüz konumlarının yanı sıra şu yüz anahtar noktalarını da çıkarır: sol göz, sağ göz, burun ucu, ağız, sol göz tragusu ve sağ göz tragusu.
Başlayın
Hedef platformunuz için bu uygulama kılavuzlarından birini uygulayarak bu görevi kullanmaya başlayın. Bu platforma özel kılavuzlar, önerilen bir model ve önerilen yapılandırma seçeneklerini içeren kod örneği de dahil olmak üzere bu görevin temel bir uygulamasını adım adım açıklar:
- Android - Kod örneği - Rehber
- Python - Kod örneği- Rehber
- Web - Code example - Guide
- 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ş görüntüsü işleme: İşleme; görüntü 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 çıktıları |
|---|---|
Yüz Algılayıcı, aşağıdaki veri türlerinden birini giriş olarak kabul eder:
|
Yüz Algılayıcı aşağıdaki sonuçları verir:
|
Yapılandırma seçenekleri
Bu görev için aşağıdaki yapılandırma seçenekleri mevcuttur:
| 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 moddur. VIDEO: Bir videonun kodu çözülmüş karelerinin modu. LIVE_STREAM: Kameradan alınanlar gibi giriş verilerinin canlı yayını için kullanılan mod. Bu modda, sonuçları eşzamansız olarak almak için bir dinleyici ayarlamak üzere resultListener çağrılmalıdır. |
{IMAGE, VIDEO, LIVE_STREAM} |
IMAGE |
min_detection_confidence |
Yüz algılamanın başarılı sayılması için gereken minimum güven puanı. | Float [0,1] |
0.5 |
min_suppression_threshold |
Yüz algılamanın çakışmış olarak kabul edilmesi için minimum maksimum olmayan bastırma eşiği. | Float [0,1] |
0.3 |
result_callback |
Yüz algılayıcı canlı yayın modundayken algılama sonuçlarını eşzamansız olarak almak için sonuç dinleyiciyi 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 kullanım alanlarına bağlı olarak değişebilir. Modeller genellikle performans, doğruluk, çözünürlük ve kaynak gereksinimleri arasında denge kurar. Bazı durumlarda ise 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 anahtar noktası 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 çıkarma ağı kullanır.
BlazeFace (kısa menzilli)
Akıllı telefon kamerasından veya web kamerasından çekilen, selfie benzeri resimlerde tek veya birden fazla yüzü algılamak için kullanılan hafif bir model. Model, kısa mesafedeki ön kamera görüntüleri için optimize edilmiştir. Model mimarisinde, özel bir kodlayıcıya sahip bir Single Shot Detector (SSD) evrişimli ağ tekniği kullanılır. Daha fazla bilgi için Single Shot MultiBox Detector (Tek Çekim Çok Kutu Dedektörü) hakkındaki araştırma makalesine bakın.
| Model adı | Giriş şekli | Kuantizasyon türü | Model Kartı | Sürümler |
|---|---|---|---|---|
| BlazeFace (kısa menzilli) | 128 x 128 | float 16 | info | En yeni |
BlazeFace (tam aralık)
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 fotoğraflar gibi tam aralıklı görüntüler için optimize edilmiştir. Model mimarisinde, özel bir kodlayıcıya sahip CenterNet evrişimli ağına benzer bir teknik kullanılır.
| Model adı | Giriş şekli | Kuantizasyon türü | Model Kartı | Sürümler |
|---|---|---|---|---|
| BlazeFace (tam aralıklı) | 128 x 128 | float 16 | info | En yeni |
BlazeFace Sparse (tam aralıklı)
Normal tam aralıklı BlazeFace modelinin daha hafif bir sürümü. Boyutu yaklaşık% 60 daha küçüktür. Model, arka kamerayla çekilen fotoğraflar gibi tam aralıklı görüntüler için optimize edilmiştir. Model mimarisinde, özel bir kodlayıcıya sahip CenterNet evrişimli ağına benzer bir teknik kullanılır.
| Model adı | Giriş şekli | Kuantizasyon türü | Model Kartı | Sürümler |
|---|---|---|---|---|
| BlazeFace Sparse (full-range) | 128 x 128 | float 16 | info | En yeni |
Görev karşılaştırmaları
Yukarıdaki önceden eğitilmiş modellere göre tüm işlem hattının görev karşılaştırmalarını aşağıda bulabilirsiniz. Gecikme sonucu, CPU / GPU kullanılarak Pixel 6'daki ortalama gecikmedir.
| Model Adı | CPU Gecikmesi | GPU Gecikmesi |
|---|---|---|
| BlazeFace (kısa menzilli) | 2,94 ms | 7,41 ms |