Tugas MediaPipe Hand Landmarker memungkinkan Anda mendeteksi landmark tangan dalam gambar. Anda dapat menggunakan tugas ini untuk menemukan titik-titik utama tangan dan merender efek visual pada titik tersebut. Tugas ini beroperasi pada data gambar dengan model machine learning (ML) sebagai data statis atau streaming berkelanjutan dan menghasilkan penanda tangan dalam koordinat gambar, penanda tangan dalam koordinat dunia, dan tangan dominan(tangan kiri/kanan) dari beberapa tangan yang terdeteksi.
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
- Python - Contoh kode
- Web - 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 |
---|---|
Hand Landmarker menerima input dari salah satu jenis data berikut:
|
Hand Landmarker 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 |
num_hands |
Jumlah maksimum tangan yang terdeteksi oleh pendeteksi penanda Tangan. | Any integer > 0 |
1 |
min_hand_detection_confidence |
Skor keyakinan minimum agar deteksi tangan dianggap berhasil dalam model deteksi telapak tangan. | 0.0 - 1.0 |
0.5 |
min_hand_presence_confidence |
Skor keyakinan minimum untuk skor kehadiran tangan dalam model deteksi penanda tangan. Dalam mode Video dan mode Live stream, jika skor keyakinan kehadiran tangan dari model penanda tangan berada di bawah ambang batas ini, Penanda Tangan akan memicu model deteksi telapak tangan. Jika tidak, algoritma pelacakan tangan ringan akan menentukan lokasi tangan untuk deteksi penanda berikutnya. | 0.0 - 1.0 |
0.5 |
min_tracking_confidence |
Skor keyakinan minimum agar pelacakan tangan dianggap berhasil. Ini adalah nilai minimum IoU kotak pembatas antara tangan dalam frame saat ini dan frame terakhir. Dalam mode Video dan mode Streaming Hand Landmarker, jika pelacakan gagal, Hand Landmarker akan memicu deteksi tangan. Jika tidak, deteksi tangan akan dilewati. | 0.0 - 1.0 |
0.5 |
result_callback |
Menetapkan pemroses hasil untuk menerima hasil deteksi secara asinkron saat penanda tangan berada dalam mode live stream.
Hanya berlaku jika mode berjalan disetel ke LIVE_STREAM |
T/A | T/A |
Model
Hand Landmarker menggunakan paket model dengan dua model yang dipaketkan: model deteksi telapak tangan dan model deteksi penanda tangan. Anda memerlukan paket model yang berisi kedua model ini untuk menjalankan tugas ini.
Nama model | Bentuk input | Jenis kuantisasi | Kartu Model | Versi |
---|---|---|---|---|
HandLandmarker (lengkap) | 192 x 192, 224 x 224 | float 16 | info | Terbaru |
Paket model penanda tangan mendeteksi pelokalan titik kunci dari 21 koordinat buku jari tangan dalam area tangan yang terdeteksi. Model ini dilatih pada sekitar 30 ribu gambar dunia nyata, serta beberapa model tangan sintetis yang dirender dan diterapkan di berbagai latar belakang.
Paket model penanda tangan berisi model deteksi telapak tangan dan model deteksi penanda tangan. Model deteksi telapak tangan menemukan tangan dalam gambar input, dan model deteksi penanda tangan mengidentifikasi penanda tangan tertentu pada gambar tangan yang dipangkas yang ditentukan oleh model deteksi telapak tangan.
Karena menjalankan model deteksi telapak tangan memakan waktu, saat dalam mode jalankan video atau streaming live, Hand Landmarker menggunakan kotak pembatas yang ditentukan oleh model penanda tangan dalam satu frame untuk melokalkan area tangan untuk frame berikutnya. Hand Landmarker hanya memicu ulang model deteksi telapak tangan jika model penanda tangan tidak lagi mengidentifikasi keberadaan tangan atau gagal melacak tangan dalam bingkai. Hal ini mengurangi frekuensi Hand Landmarker memicu model deteksi telapak tangan.
Tolok ukur tugas
Berikut adalah benchmark tugas untuk seluruh pipeline berdasarkan model pre-trained di atas. Hasil latensi adalah latensi rata-rata di Pixel 6 yang menggunakan CPU / GPU.
Nama Model | Latensi CPU | Latensi GPU |
---|---|---|
HandLandmarker (lengkap) | 17,12 md | 12,27 md |