Bantuan melindungi Great Barrier Reef dengan TensorFlow pada Kaggle Bergabung Tantangan

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.

Misalnya Android iOS contoh

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

Unduh model pemula

Jika Anda ingin mencoba estimasi berpose pada web browser, memeriksa TensorFlow JS Demo .

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.

Nomor tolok ukur kinerja yang dihasilkan dengan alat yang dijelaskan di sini . Akurasi (MAP) nomor diukur pada subset dari dataset COCO di mana kita menyaring dan tanaman setiap gambar 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

  • Periksa ini posting blog untuk mempelajari lebih lanjut tentang estimasi berpose menggunakan MoveNet dan TensorFlow Lite.
  • Periksa ini posting blog untuk mempelajari lebih lanjut tentang estimasi berpose di web.
  • Lihat ini tutorial untuk belajar tentang menjalankan MoveNet di Python menggunakan model dari TensorFlow Hub.
  • Coral/EdgeTPU dapat membuat estimasi pose berjalan lebih cepat di perangkat IoT. Lihat EdgeTPU-dioptimalkan model untuk lebih jelasnya.
  • Membaca koran PoseNet disini

Juga, periksa kasus penggunaan estimasi pose ini.