Panduan deteksi wajah

Tugas Detektor Wajah MediaPipe memungkinkan Anda 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 satu gambar atau stream gambar berkelanjutan. Tugas ini menampilkan lokasi wajah, beserta poin 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 ini untuk platform target Anda. Panduan khusus platform ini akan memandu Anda dalam menerapkan 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
Pendeteksi Wajah menerima input dari salah satu jenis data berikut:
  • Gambar diam
  • Frame video yang didekode
  • Feed video live
Pendeteksi Wajah menampilkan 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:

IMAGE: 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 yang menerima hasil secara asinkron.
{IMAGE, VIDEO, LIVE_STREAM} IMAGE
min_detection_confidence Skor keyakinan minimum untuk deteksi wajah agar dianggap berhasil. Float [0,1] 0.5
min_suppression_threshold Ambang batas minimum non-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 Pendeteksi Wajah berada dalam mode live stream. Hanya dapat digunakan saat mode lari 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 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, detektor wajah yang ringan dan akurat yang dioptimalkan untuk inferensi GPU seluler. Model BlazeFace cocok untuk aplikasi seperti estimasi keypoint 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 yang mirip selfie dari kamera smartphone atau webcam. Model ini dioptimalkan untuk gambar kamera ponsel menghadap ke depan pada jarak pendek. Arsitektur model menggunakan teknik jaringan konvolusional 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 Versions
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 yang diambil dengan gambar kamera ponsel belakang. Arsitektur model menggunakan teknik yang mirip dengan jaringan konvolusional CenterNet dengan encoder kustom.

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

BlazeFace Sparse (rentang penuh)

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

Nama model Bentuk input Jenis kuantisasi Kartu Model Versions
BlazeFace Sparse (rentang penuh) 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