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.
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:
- 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 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:
|
Detektor Wajah 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 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 |