Panduan deteksi penanda tangan

Tangan yang memegang telur. Bentuk tangan ditandai dengan wireframe yang
menunjukkan struktur
yang diidentifikasi

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.

Coba sekarang.

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:

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:
  • Gambar diam
  • Frame video yang didekode
  • Feed video live
Hand Landmarker menghasilkan hasil berikut:
  • Preferensi tangan dari tangan yang terdeteksi
  • Penanda tangan yang terdeteksi dalam koordinat gambar
  • Penanda 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:

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