Panduan deteksi wajah

Tiga orang dengan wajah yang ditandai dengan kotak pembatas

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

Coba sekarang.

Mulai

Mulai gunakan tugas ini dengan mengikuti salah satu panduan penerapan ini untuk platform target Anda. Panduan khusus platform ini akan memandu Anda dalam 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 gambar, pengubahan ukuran, normalisasi, dan konversi ruang warna.
  • Batas skor - Memfilter hasil berdasarkan skor prediksi.
Input tugas Output tugas
Face Detector menerima input dari salah satu jenis data berikut:
  • Gambar diam
  • Frame video yang didekode
  • Feed video live
Detektor Wajah menghasilkan hasil berikut:
  • Kotak pembatas untuk wajah yang terdeteksi dalam bingkai 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 live stream 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 Batas minimum non-maximum-suppression agar deteksi wajah dianggap tumpang-tindih. Float [0,1] 0.3
result_callback Menetapkan pemroses hasil untuk menerima hasil deteksi secara asinkron saat Face Detector berada dalam mode live stream. Hanya dapat digunakan jika mode berjalan disetel ke LIVE_STREAM. N/A Not set

Model

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

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

BlazeFace (jarak dekat)

Model ringan untuk mendeteksi satu atau beberapa wajah dalam gambar mirip selfie dari kamera smartphone atau webcam. Model ini dioptimalkan untuk gambar kamera ponsel depan dalam jarak dekat. Arsitektur model menggunakan teknik jaringan convolutional Single Shot Detector (SSD) dengan encoder kustom. Untuk mengetahui informasi selengkapnya, lihat makalah riset 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 berjangkauan penuh, seperti gambar yang diambil dengan gambar kamera ponsel yang menghadap ke belakang. Arsitektur model menggunakan teknik yang mirip dengan jaringan convolutional CenterNet dengan enkoder kustom.

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

BlazeFace Sparse (full-range)

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

Nama model Bentuk input Jenis kuantisasi Kartu Model Versi
BlazeFace Sparse (full-range) 128x128 float 16 info Segera hadir

Tolok ukur tugas

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

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