Catat tanggalnya! Google I / O mengembalikan 18-20 Mei Daftar sekarang
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Estimasi pose

Estimasi pose adalah tugas menggunakan model ML untuk memperkirakan pose seseorang dari gambar atau video dengan memperkirakan lokasi spasial dari sendi tubuh utama (titik kunci).

Memulai

Jika Anda baru mengenal TensorFlow Lite dan menggunakan Android atau iOS, jelajahi aplikasi contoh berikut yang dapat membantu Anda memulai.

Contoh Android Contoh iOS

Jika Anda sudah terbiasa dengan TensorFlow Lite API , download model PoseNet starter dan file pendukung.

Unduh model pemula

Jika Anda ingin mencoba estimasi pose di browser web, lihat repositori TensorFlow JS GitHub .

Deskripsi model

Bagaimana itu bekerja

Estimasi pose mengacu pada teknik computer vision yang mendeteksi sosok manusia dalam gambar dan video, sehingga seseorang dapat menentukan, misalnya, di mana siku seseorang muncul dalam sebuah gambar. Penting untuk menyadari fakta bahwa estimasi pose hanya memperkirakan di mana sendi tubuh utama berada dan tidak mengenali siapa yang ada dalam gambar atau video.

Model PoseNet mengambil gambar kamera yang diproses sebagai input dan output informasi tentang keypoint. Keypoint yang terdeteksi diindeks oleh ID bagian, dengan skor keyakinan antara 0,0 dan 1,0. Skor kepercayaan menunjukkan kemungkinan adanya titik kunci pada posisi tersebut.

Berbagai sambungan tubuh yang terdeteksi oleh model PoseNet ditabulasikan di bawah ini:

Indo Bagian
0 hidung
1 leftEye
2 mata kanan
3 telinga kiri
4 telinga kanan
5 bahu kiri
6 bahu kanan
7 leftElbow
8 siku kanan
9 pergelangan tangan kiri
10 rightWrist
11 leftHip
12 rightHip
13 leftKnee
14 lutut kanan
15 leftAnkle
16 rightAnkle

Output contoh ditunjukkan di bawah ini:

Animasi menampilkan estimasi pose

Tolok ukur kinerja

Kinerja bervariasi berdasarkan perangkat Anda dan langkah keluaran (peta panas dan vektor offset). Model PoseNet adalah invarian ukuran gambar, yang berarti model ini dapat memprediksi posisi pose dalam skala yang sama dengan gambar asli terlepas dari apakah gambar tersebut diturunkan skalanya. Ini berarti Anda mengonfigurasi model agar memiliki akurasi yang lebih tinggi dengan mengorbankan kinerja.

Langkah keluaran menentukan seberapa besar keluaran diperkecil relatif terhadap ukuran gambar masukan. Ini mempengaruhi ukuran lapisan dan keluaran model.

Semakin tinggi langkah keluaran, semakin kecil resolusi lapisan dalam jaringan dan keluaran, dan juga keakuratannya. Dalam implementasi ini, keluaran langkah dapat memiliki nilai 8, 16, atau 32. Dengan kata lain, langkah keluaran 32 akan menghasilkan kinerja tercepat tetapi akurasi terendah, sedangkan 8 akan menghasilkan akurasi tertinggi tetapi kinerja paling lambat. Nilai awal yang direkomendasikan adalah 16.

Gambar berikut menunjukkan bagaimana langkah keluaran menentukan berapa banyak keluaran yang diperkecil relatif terhadap ukuran gambar masukan. Langkah keluaran yang lebih tinggi lebih cepat tetapi menghasilkan akurasi yang lebih rendah.

Langkah keluaran dan resolusi peta panas

Angka tolok ukur kinerja dibuat dengan alat yang dijelaskan di sini .

Nama model Ukuran model Alat GPU CPU
Posenet 12,7 Mb Pixel 3 (Android 10) 12 md 31 md *
Pixel 4 (Android 10) 12 md 19 md *
iPhone XS (iOS 12.4.1) 4,8 md 22 md **

* 4 utas digunakan.

** 2 utas digunakan di iPhone untuk hasil kinerja terbaik.

Bacaan dan sumber lebih lanjut

  • Lihat postingan blog ini untuk mempelajari lebih lanjut tentang estimasi pose menggunakan TensorFlow Lite.
  • Lihat postingan blog ini untuk mempelajari lebih lanjut tentang estimasi pose menggunakan TensorFlow JS.
  • Baca makalah PoseNet di sini

Juga, periksa kasus penggunaan estimasi pose ini.