Panduan deteksi wajah

Tiga orang dengan wajah mereka yang disoroti dengan kotak pembatas

Dengan tugas MediaPipe Face Detector, Anda dapat mendeteksi wajah dalam gambar atau video. Anda dapat menggunakan tugas ini untuk menemukan wajah dan fitur wajah dalam frame. Tugas ini menggunakan model machine learning (ML) yang berfungsi dengan gambar tunggal atau aliran gambar berkelanjutan. Tugas ini menghasilkan lokasi wajah, beserta titik-titik utama wajah berikut: mata kiri, mata kanan, ujung hidung, mulut, tragion mata kiri, dan tragion mata kanan.

Cobalah!

Mulai

Mulai gunakan tugas ini dengan mengikuti salah satu panduan penerapan berikut untuk platform target Anda. Panduan khusus platform ini akan memandu Anda melakukan penerapan dasar tugas ini, termasuk model yang direkomendasikan, dan contoh kode dengan opsi konfigurasi yang direkomendasikan:

Detail tugas

Bagian ini menjelaskan kemampuan, input, output, dan opsi konfigurasi tugas ini.

Fitur

  • Pemrosesan gambar input - Pemrosesan mencakup rotasi, pengubahan ukuran, normalisasi, dan konversi ruang warna gambar.
  • Nilai minimum - Memfilter hasil berdasarkan skor prediksi.
Input tugas Output tugas
Detektor Wajah menerima input salah satu jenis data berikut:
  • Gambar diam
  • Frame video yang didekode
  • Feed video live
Detektor Wajah akan menghasilkan hasil berikut:
  • Kotak pembatas untuk wajah yang terdeteksi dalam frame gambar.
  • Koordinat untuk 6 penanda wajah untuk setiap wajah yang terdeteksi.

Opsi konfigurasi

Tugas ini memiliki opsi konfigurasi berikut:

Nama Opsi Deskripsi Rentang Nilai Nilai Default
running_mode Menetapkan mode berjalan untuk tugas. Ada tiga mode:

GAMBAR: Mode untuk input gambar tunggal.

VIDEO: Mode untuk frame video yang didekode.

LIVE_STREAM: Mode untuk livestream data input, seperti dari kamera. Dalam mode ini, resultListener harus dipanggil untuk menyiapkan pemroses guna menerima hasil secara asinkron.
{IMAGE, VIDEO, LIVE_STREAM} IMAGE
min_detection_confidence Skor keyakinan minimum agar deteksi wajah dianggap berhasil. Float [0,1] 0.5
min_suppression_threshold Nilai minimum non-penekanan maksimum untuk deteksi wajah agar dianggap tumpang-tindih. Float [0,1] 0.3
result_callback Menetapkan pemroses hasil untuk menerima hasil deteksi secara asinkron saat Detektor Wajah berada dalam mode live stream. Hanya dapat digunakan jika mode operasi disetel ke LIVE_STREAM. N/A Not set

Model

Model deteksi wajah dapat bervariasi bergantung pada kasus penggunaan yang dimaksudkan, seperti deteksi jarak pendek dan jarak jauh. Model juga biasanya membuat kompromi antara performa, akurasi, resolusi, dan persyaratan resource, dan dalam beberapa kasus, menyertakan fitur tambahan.

Model yang tercantum di bagian ini adalah varian BlazeFace, detektor wajah ringan dan akurat yang dioptimalkan untuk inferensi GPU seluler. Model BlazeFace cocok untuk aplikasi seperti estimasi titik kunci wajah 3D, klasifikasi ekspresi, dan segmentasi wilayah wajah. BlazeFace menggunakan jaringan ekstraksi fitur ringan yang mirip dengan MobileNetV1/V2.

BlazeFace (jarak pendek)

Model ringan untuk mendeteksi satu atau beberapa wajah dalam gambar mirip selfie dari kamera smartphone atau webcam. Model ini dioptimalkan untuk gambar kamera depan ponsel dalam jarak dekat. Arsitektur model menggunakan teknik jaringan konvolusional Single Shot Detector (SSD) dengan encoder kustom. Untuk mengetahui informasi selengkapnya, lihat makalah penelitian tentang Single Shot MultiBox Detector.

Nama model Bentuk input Jenis kuantisasi Kartu Model Versi
BlazeFace (jarak pendek) 128x128 float 16 info Terbaru

BlazeFace (rentang penuh)

Model yang relatif ringan untuk mendeteksi satu atau beberapa wajah dalam gambar dari kamera smartphone atau webcam. Model ini dioptimalkan untuk gambar rentang penuh, seperti gambar yang diambil dengan kamera belakang ponsel. Arsitektur model menggunakan teknik yang mirip dengan jaringan konvolusional CenterNet dengan encoder kustom.

Nama model Bentuk input Jenis kuantisasi Kartu Model Versi
BlazeFace (rentang penuh) 128x128 float 16 info Terbaru

BlazeFace Sparse (full-range)

Versi yang lebih ringan dari model BlazeFace rentang penuh biasa, dengan ukuran sekitar 60% lebih kecil. Model ini dioptimalkan untuk gambar rentang penuh, seperti gambar yang diambil dengan kamera belakang ponsel. Arsitektur model menggunakan teknik yang mirip dengan jaringan konvolusional CenterNet dengan encoder kustom.

Nama model Bentuk input Jenis kuantisasi Kartu Model Versi
BlazeFace Sparse (rentang penuh) 128x128 float 16 info Terbaru

Tolok ukur tugas

Berikut adalah tolok ukur tugas untuk seluruh pipeline berdasarkan model pra-latih di atas. Hasil latensi adalah latensi rata-rata di Pixel 6 menggunakan CPU / GPU.

Nama Model Latensi CPU Latensi GPU
BlazeFace (jarak pendek) 2,94 md 7,41 md