Deteksi pose

ML Kit Pose Detection API adalah solusi serbaguna yang ringan bagi developer aplikasi untuk mendeteksi pose tubuh subjek secara real time dari video berkelanjutan atau gambar statis. Pose mendeskripsikan posisi tubuh pada waktu tertentu dengan serangkaian titik landmark kerangka. Bangunan terkenal terkait dengan berbagai bagian tubuh seperti bahu dan pinggul. Posisi relatif bangunan terkenal dapat digunakan untuk membedakan satu pose dari pose lainnya.

iOS Android

ML Kit Pose Detection menghasilkan pencocokan kerangka 33 titik seluruh tubuh yang mencakup penanda wajah (telinga, mata, mulut, dan hidung) dan titik di tangan dan kaki. Gambar 1 di bawah ini menunjukkan bangunan terkenal yang melihat melalui kamera pada pengguna, sehingga merupakan gambar cermin. Sisi kanan pengguna muncul di sebelah kiri gambar:

Gambar 1. Bangunan Terkenal

Deteksi Pose ML Kit tidak memerlukan keahlian khusus atau keahlian ML untuk mencapai hasil yang bagus. Dengan teknologi ini, developer dapat menciptakan pengalaman unik bagi penggunanya hanya dengan beberapa baris kode.

Wajah pengguna harus ada untuk mendeteksi pose. Deteksi pose akan berfungsi optimal jika seluruh tubuh subjek terlihat di dalam frame, tetapi juga mendeteksi pose tubuh sebagian. Dalam hal ini, tempat terkenal yang tidak dikenali akan ditetapkan koordinatnya di luar gambar.

Kemampuan utama

  • Dukungan lintas platform Nikmati pengalaman yang sama di Android dan iOS.
  • Pelacakan seluruh tubuh Model menampilkan 33 titik penting kerangka utama, termasuk posisi tangan dan kaki.
  • Skor InFrameLikelihood Untuk setiap tempat terkenal, ukuran yang menunjukkan probabilitas bahwa tempat terkenal berada dalam bingkai gambar. Skor ini memiliki rentang 0,0 hingga 1,0, dengan 1,0 menunjukkan keyakinan tinggi.
  • Dua SDK yang dioptimalkan SDK dasar berjalan secara real time di ponsel modern seperti Pixel 4 dan iPhone X. Metode ini menampilkan hasil masing-masing dengan kecepatan ~30 dan ~45 fps. Namun, presisi koordinat tempat terkenal dapat bervariasi. SDK yang akurat menampilkan hasil pada kecepatan frame yang lebih lambat, tetapi menghasilkan nilai koordinat yang lebih akurat.
  • Z Coordinate untuk analisis kedalaman Nilai ini dapat membantu menentukan apakah bagian tubuh pengguna berada di depan atau di belakang pinggul pengguna. Untuk informasi selengkapnya, lihat bagian Koordinat Z di bawah.

Pose Detection API mirip dengan Facial Recognition API karena menampilkan kumpulan tempat terkenal dan lokasinya. Namun, meskipun Deteksi Wajah juga mencoba mengenali fitur seperti mulut yang tersenyum atau mata terbuka, Deteksi Pose tidak mengaitkan arti apa pun dengan struktur dalam pose atau pose itu sendiri. Anda dapat membuat algoritme sendiri untuk menafsirkan pose. Lihat Tips Klasifikasi Pose untuk beberapa contoh.

Deteksi pose hanya dapat mendeteksi satu orang dalam satu gambar. Jika dua orang berada di dalam gambar, model akan menetapkan bangunan terkenal kepada orang yang terdeteksi dengan keyakinan tertinggi.

Koordinat Z

Koordinat Z adalah nilai eksperimental yang dihitung untuk setiap tempat terkenal. Nilai ini diukur dalam "piksel gambar" seperti koordinat X dan Y, tetapi bukan merupakan nilai 3D yang sebenarnya. Sumbu Z tegak lurus terhadap kamera dan melewati antara pinggul subjek. Asal sumbu Z kira-kira adalah titik tengah antara pinggul (kiri/kanan dan depan/belakang relatif terhadap kamera). Nilai Z negatif mendekati kamera; nilai positif jauh dari nilai ini. Koordinat Z tidak memiliki batas atas atau bawah.

Hasil sampel

Tabel berikut menampilkan koordinat dan InFrameLikelihood untuk beberapa struktur dalam tampilan di sebelah kanan. Perhatikan bahwa koordinat Z untuk tangan kiri pengguna negatif, karena berada di depan pinggul subjek' di tengah dan menuju kamera.

Tempat terkenalJenisPosisiInFrameLikelihood
11KIRI_KIRI(734.9671, 550.7924, -118.11934)0,9999038
12 RIGHT_SHOULDER (391.27032, 583.2485, -321.15836) 0,9999894
13 KIRI_ELBOW (903.83704, 754.676, -219.67009) 0,9836427
14 RIGHT_ELBOW (322.18152, 842.5973, -179.28519) 0,99970156
15 KIRI_KIRI (1073.8956.654.9725; -820.93463) 0,9737737
16 RIGHT_WRIST (218.27956, 1015.70435, -683.6567) 0,995568
17 LEFT_PINKY (1146.1635, 609.6432, -956.9976) 0,95273364
18 RIGHT_PINKY (176.17755, 1065.838, -776.5006) 0,9785348

Di balik layar

Untuk mengetahui detail implementasi selengkapnya tentang model ML yang mendasarinya untuk API ini, lihat postingan blog Google AI kami.

Untuk mempelajari lebih lanjut praktik keadilan ML dan cara model dilatih, lihat Kartu Model kami