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.
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:
- Android - Contoh kode - Panduan
- Python - Contoh kode- Panduan
- Web - Contoh kode - Panduan
- iOS - Contoh kode - Panduan
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:
|
Detektor Wajah akan menghasilkan hasil berikut:
|
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 |