Terima kasih telah mendengarkan Google I/O. Lihat semua sesi sesuai permintaan Tonton sesuai permintaan

Estimasi pose

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

Memulai

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

Contoh Android Contoh iOS

Jika Anda terbiasa dengan TensorFlow Lite API , unduh model estimasi pose MoveNet starter dan file pendukung.

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 di mana sendi tubuh utama berada dan tidak mengenali siapa yang ada dalam gambar atau video.

Model estimasi pose mengambil gambar kamera yang diproses sebagai informasi input dan output tentang keypoint. Titik kunci yang terdeteksi diindeks oleh ID bagian, dengan skor kepercayaan antara 0,0 dan 1,0. Skor kepercayaan menunjukkan probabilitas bahwa titik kunci ada di posisi itu.

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

  • MoveNet: model estimasi pose mutakhir yang tersedia dalam dua rasa: Lighting dan Thunder. Lihat perbandingan antara keduanya di 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:

Indo Bagian
0 hidung
1 mata kiri
2 mata kanan
3 telinga kiri
4 telinga kanan
5 bahu kiri
6 bahu kanan
7 kiriSiku
8 siku kanan
9 pergelangan tangan kiri
10 pergelangan tangan kanan
11 kiriPinggul
12 kananPinggul
13 lutut kiri
14 lutut kanan
15 pergelangan kaki kiri
16 pergelangan kaki kanan

Contoh output ditunjukkan di bawah ini:

Animasi yang menunjukkan estimasi pose

Tolok ukur kinerja

MoveNet tersedia dalam dua rasa:

  • MoveNet.Lightning lebih kecil, lebih cepat tetapi kurang akurat dibandingkan versi Thunder. Ini 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 membutuhkan akurasi lebih tinggi.

MoveNet mengungguli PoseNet pada berbagai kumpulan data, terutama dalam gambar dengan gambar aksi kebugaran. Oleh karena itu, kami menyarankan untuk menggunakan MoveNet melalui PoseNet.

Angka tolok ukur kinerja dihasilkan dengan alat yang dijelaskan di sini . Angka akurasi (mAP) diukur pada subset dataset COCO di mana kami memfilter dan memotong setiap gambar agar hanya berisi satu orang .

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

Bacaan dan sumber lebih lanjut

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

Juga, periksa kasus penggunaan estimasi pose ini.