poz tahmini

Poz tahmini, kilit vücut eklemlerinin (anahtar noktalar) uzamsal konumlarını tahmin ederek bir görüntü veya videodan bir kişinin pozunu tahmin etmek için bir ML modeli kullanma görevidir.

Başlamak

TensorFlow Lite'ta yeniyseniz ve Android veya iOS ile çalışıyorsanız, başlamanıza yardımcı olabilecek aşağıdaki örnek uygulamaları keşfedin.

Android örneği iOS örneği

TensorFlow Lite API'lerine aşina iseniz, başlangıç ​​MoveNet poz tahmin modelini ve destekleyici dosyaları indirin.

Başlangıç ​​modelini indirin

Bir web tarayıcısında poz tahminini denemek istiyorsanız, TensorFlow JS Demo'ya bakın .

Model Açıklaması

Nasıl çalışır

Poz tahmini, örneğin bir kişinin dirseğinin bir görüntüde nerede göründüğünü belirleyebilmek için görüntülerdeki ve videolardaki insan figürlerini algılayan bilgisayarlı görme tekniklerine atıfta bulunur. Poz tahmininin yalnızca temel vücut eklemlerinin nerede olduğunu tahmin ettiğini ve bir görüntü veya videoda kimin olduğunu tanımadığının farkında olmak önemlidir.

Poz tahmin modelleri, giriş olarak işlenmiş bir kamera görüntüsü alır ve kilit noktalar hakkında bilgi verir. Tespit edilen anahtar noktalar, 0.0 ile 1.0 arasında bir güven puanı ile bir parça kimliği ile indekslenir. Güven puanı, o konumda bir kilit noktanın bulunma olasılığını gösterir.

İki TensorFlow Lite poz tahmin modelinin referans uygulamasını sunuyoruz:

  • MoveNet: İki farklı şekilde sunulan son teknoloji poz tahmin modeli: Aydınlatma ve Gök Gürültüsü. Aşağıdaki bölümde bu ikisi arasındaki karşılaştırmaya bakın.
  • PoseNet: 2017'de piyasaya sürülen önceki nesil poz tahmin modeli.

Poz tahmin modeli tarafından tespit edilen çeşitli vücut eklemleri aşağıda tablo halinde verilmiştir:

İD Bölüm
0 burun
1 sol göz
2 sağ göz
3 sol kulak
4 sağ kulak
5 sol omuz
6 sağ omuz
7 solDirsek
8 sağDirsek
9 sol bilek
10 Sağ bilek
11 sol kalça
12 sağ kalça
13 sol diz
14 sağ diz
15 sol ayak bileği
16 sağ ayak bileği

Örnek bir çıktı aşağıda gösterilmiştir:

Poz tahminini gösteren animasyon

Performans karşılaştırmaları

MoveNet iki şekilde mevcuttur:

  • MoveNet.Lightning, Thunder sürümünden daha küçük, daha hızlı ancak daha az doğru. Modern akıllı telefonlarda gerçek zamanlı olarak çalışabilir.
  • MoveNet.Thunder daha doğru sürümdür, ancak Lightning'den daha büyük ve daha yavaştır. Daha yüksek doğruluk gerektiren kullanım durumları için kullanışlıdır.

MoveNet, çeşitli veri kümelerinde, özellikle fitness aksiyon görüntüleri içeren görüntülerde PoseNet'ten daha iyi performans gösterir. Bu nedenle MoveNet'i PoseNet üzerinden kullanmanızı öneririz.

Performans kıyaslama numaraları burada açıklanan araçla oluşturulur. Doğruluk (mAP) sayıları, her bir görüntüyü yalnızca bir kişi içerecek şekilde filtreleyip kırptığımız COCO veri kümesinin bir alt kümesinde ölçülür.

modeli Boyut (MB) harita Gecikme (ms)
Pixel 5 - CPU 4 iş parçacığı Piksel 5 - GPU Raspberry Pi 4 - CPU 4 iş parçacığı
MoveNet.Thunder (FP16 nicelleştirilmiş) 12.6MB 72.0 155ms 45ms 594ms
MoveNet.Thunder (INT8 nicelleştirilmiş) 7.1 MB 68.9 100ms 52 ms 251 ms
MoveNet.Lightning (FP16 nicelleştirilmiş) 4.8MB 63.0 60ms 25ms 186 ms
MoveNet.Lightning (INT8 nicelleştirilmiş) 2.9 MB 57.4 52 ms 28ms 95ms
PoseNet(MobileNetV1 omurgası, FP32) 13,3 MB 45.6 80ms 40ms 338ms

Daha fazla okuma ve kaynaklar

  • MoveNet ve TensorFlow Lite kullanarak poz tahmini hakkında daha fazla bilgi edinmek için bu blog gönderisine göz atın.
  • Web'de poz tahmini hakkında daha fazla bilgi edinmek için bu blog gönderisine göz atın.
  • TensorFlow Hub'dan bir model kullanarak MoveNet'i Python üzerinde çalıştırma hakkında bilgi edinmek için bu eğiticiye göz atın.
  • Coral/EdgeTPU, uç cihazlarda poz tahmininin çok daha hızlı çalışmasını sağlayabilir. Daha fazla ayrıntı için EdgeTPU için optimize edilmiş modellere bakın.
  • PoseNet makalesini buradan okuyun

Ayrıca, poz tahmininin bu kullanım durumlarına göz atın.