Panduan deteksi penanda tangan

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.

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
Penanda Tangan menerima input dari salah satu jenis data berikut:
  • Gambar diam
  • Frame video yang didekode
  • Feed video live
Hand Landmarker menampilkan hasil berikut:
  • Tangan yang terdeteksi menggunakan tangan
  • Tempat terkenal tangan yang terdeteksi dalam koordinat gambar
  • Tempat terkenal tangan yang terdeteksi dalam koordinat dunia

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