Estimasi pose

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

Memulai

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

Contoh Android Contoh iOS

Jika Anda sudah familiar dengan TensorFlow Lite API , download model estimasi pose MoveNet starter dan file pendukungnya.

Unduh model pemula

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

Deskripsi model

Bagaimana itu bekerja

Estimasi pose mengacu pada teknik visi komputer 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 letak sendi-sendi utama tubuh dan tidak mengenali siapa yang ada dalam gambar atau video.

Model estimasi pose mengambil gambar kamera yang telah diproses sebagai masukan dan keluaran informasi tentang titik-titik kunci. Titik kunci 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.

Kami menyediakan implementasi referensi dari dua model estimasi pose TensorFlow Lite:

  • MoveNet: model estimasi pose canggih yang tersedia dalam dua varian: Pencahayaan dan Guntur. Lihat perbandingan keduanya pada bagian di bawah ini.
  • PoseNet: model estimasi pose generasi sebelumnya yang dirilis pada tahun 2017.

Berbagai sendi tubuh yang terdeteksi oleh model estimasi pose ditabulasikan di bawah ini:

Pengenal Bagian
0 hidung
1 mata kiri
2 mata kanan
3 telinga kiri
4 telinga kanan
5 bahu kiri
6 bahu kanan
7 kiriSiku
8 kananSiku
9 pergelangan tangan kiri
10 Pergelangan tangan kanan
11 pinggul kiri
12 kananPinggul
13 kirilutut
14 lutut kanan
15 pergelangan kaki kiri
16 pergelangan kaki kanan

Contoh keluaran ditunjukkan di bawah ini:

Animasi menampilkan estimasi pose

Tolok ukur kinerja

MoveNet tersedia dalam dua rasa:

  • MoveNet.Lightning lebih kecil, lebih cepat tetapi kurang akurat dibandingkan versi Thunder. Itu dapat berjalan secara realtime di smartphone modern.
  • MoveNet.Thunder adalah versi yang lebih akurat tetapi juga lebih besar dan lebih lambat dari Lightning. Ini berguna untuk kasus penggunaan yang memerlukan akurasi lebih tinggi.

MoveNet mengungguli PoseNet pada berbagai kumpulan data, terutama pada gambar dengan gambar tindakan kebugaran. Oleh karena itu, kami menyarankan penggunaan MoveNet melalui PoseNet.

Angka tolok ukur kinerja dihasilkan dengan alat yang dijelaskan di sini . Angka akurasi (mAP) diukur pada subkumpulan kumpulan data COCO tempat kami memfilter dan memangkas setiap gambar agar hanya memuat satu orang .

Model Ukuran (MB) peta Latensi (ms)
Piksel 5 - CPU 4 utas Piksel 5 - GPU Raspberry Pi 4 - CPU 4 utas
MoveNet.Thunder (FP16 terkuantisasi) 12,6MB 72.0 155 md 45 md 594 md
MoveNet.Thunder (terkuantisasi INT8) 7.1MB 68.9 100 md 52 md 251 md
MoveNet.Lightning (FP16 terkuantisasi) 4,8MB 63.0 60 md 25 md 186 md
MoveNet.Lightning (terkuantisasi INT8) 2,9MB 57.4 52 md 28 md 95 md
PoseNet (tulang punggung MobileNetV1, FP32) 13,3MB 45.6 80 md 40 md 338 md

Bacaan dan sumber lebih lanjut

  • Lihat postingan blog ini untuk mempelajari lebih lanjut estimasi pose menggunakan MoveNet dan TensorFlow Lite.
  • Lihat postingan blog ini untuk mempelajari lebih lanjut tentang estimasi pose di web.
  • Lihat tutorial ini untuk mempelajari cara menjalankan MoveNet di Python menggunakan model dari TensorFlow Hub.
  • Coral/EdgeTPU dapat membuat estimasi pose berjalan lebih cepat di perangkat edge. Lihat model EdgeTPU yang dioptimalkan untuk lebih jelasnya.
  • Baca makalah PoseNet di sini

Lihat juga kasus penggunaan estimasi pose ini.