Yüz algılama rehberi

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

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.

Deneyin!

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:

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:
  • Sabit görüntüler
  • Kod çözümü yapılan video kareleri
  • Canlı video feed'i
Yüz Algılayıcı 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 işareti koordinatı.

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