Tugas MediaPipe Hand Landmarker memungkinkan Anda mendeteksi penanda tangan dalam gambar. Anda dapat menggunakan tugas ini untuk menemukan titik-titik utama tangan dan merender efek visual pada tangan tersebut. Tugas ini beroperasi pada data gambar dengan model machine learning (ML) sebagai data statis atau streaming berkelanjutan, serta menghasilkan output tentang penanda tangan dalam koordinat gambar, penanda tangan dalam koordinat dunia, dan gerakan 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 menerapkan 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
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 |
---|---|
Penanda Tangan menerima input dari salah satu jenis data berikut:
|
Hand Landmarker menampilkan 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: 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 |
num_hands |
Jumlah maksimum tangan yang dideteksi oleh detektor penanda Tangan. | Any integer > 0 |
1 |
min_hand_detection_confidence |
Skor keyakinan minimum untuk deteksi tangan agar dianggap berhasil dalam model deteksi telapak tangan. | 0.0 - 1.0 |
0.5 |
min_hand_presence_confidence |
Skor keyakinan minimum untuk skor kehadiran tangan di model deteksi penanda tangan. Dalam mode Video dan mode Live stream, jika skor keyakinan kehadiran tangan dari model penanda tangan di bawah batas ini, Penanda Tangan akan memicu model deteksi telapak tangan. Jika tidak, algoritme 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 ambang batas IoU kotak pembatas antara tangan di frame saat ini dan frame terakhir. Dalam mode Video dan mode Streaming pada Penanda Tangan Tangan, jika pelacakan gagal, Penanda Tangan Tangan akan memicu deteksi tangan. Jika tidak, Pixel Watch akan melewati deteksi tangan. | 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 saat mode berjalan disetel ke LIVE_STREAM |
T/A | T/A |
Model
Penanda Tangan Tangan menggunakan paket model dengan dua model paket: model deteksi telapak tangan dan model deteksi tempat terkenal tangan. Anda memerlukan paket model yang berisi kedua model ini untuk menjalankan tugas ini.
Nama model | Bentuk input | Jenis kuantisasi | Kartu Model | Versions |
---|---|---|---|---|
HandLandmarker (lengkap) | 192 x 192, 224 x 224 | float 16 | info | Terbaru |
Paket model penanda tangan mendeteksi pelokalan keypoint dari 21 koordinat buku jari dalam area tangan yang terdeteksi. Model ini dilatih dengan sekitar 30 ribu gambar dunia nyata, serta beberapa model tangan sintetis hasil render yang diterapkan di berbagai latar belakang.
Paket model penanda tangan berisi model deteksi telapak tangan dan model deteksi tempat terkenal tangan. Model Deteksi telapak tangan menempatkan tangan di 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 berjalan untuk video atau live stream, Penanda Tangan menggunakan kotak pembatas yang ditentukan oleh model penanda tangan dalam satu frame guna melokalkan area tangan untuk frame berikutnya. Penanda Tangan hanya memicu ulang model deteksi telapak tangan jika model landmark tangan tidak lagi mengidentifikasi kehadiran tangan atau gagal melacak tangan dalam bingkai. Hal ini mengurangi frekuensi tigger Hand Landmarker pada model deteksi telapak tangan.
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 |
---|---|---|
HandLandmarker (lengkap) | 17,12 md | 12,27 md |