poz tahmini

Poz tahmini, önemli vücut eklemlerinin (anahtar noktalar) mekansal konumlarını tahmin ederek bir görüntüden 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ı inceleyin.

Android örneği iOS örneği

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

Başlangıç ​​modelini indirin

Bir web tarayıcısında poz tahminini denemek istiyorsanız TensorFlow JS Demosuna göz atın.

Model Açıklaması

Nasıl çalışır

Poz tahmini, görüntülerde ve videolarda insan figürlerini algılayan bilgisayarlı görme tekniklerini ifade eder; böylece, örneğin bir kişinin dirseğinin görüntüde nerede göründüğü belirlenebilir. 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, işlenmiş bir kamera görüntüsünü giriş olarak alır ve anahtar noktalar hakkındaki bilgileri çıkarır. Tespit edilen anahtar noktalar, 0,0 ile 1,0 arasında bir güven puanına sahip bir parça kimliği ile indekslenir. Güven puanı, o konumda bir anahtar noktanın var olma olasılığını gösterir.

İki TensorFlow Lite poz tahmin modelinin referans uygulamasını sağlıyoruz:

  • MoveNet: İki farklı versiyonda sunulan son teknoloji ürünü poz tahmin modeli: Lighting ve Thunder. Aşağıdaki bölümde bu ikisi arasındaki karşılaştırmaya bakın.
  • PoseNet: 2017 yılında 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 Parça
0 burun
1 sol göz
2 sağ göz
3 sol kulak
4 sağ kulak
5 sol omuz
6 sağ omuz
7 sol Dirsek
8 sağ Dirsek
9 sol bilek
10 Sağ bilek
11 sol kalça
12 sağ kalça
13 sol diz
14 sağ diz
15 solAyak bileği
16 sağAyak bileği

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

Poz tahminini gösteren animasyon

Performans kıyaslamaları

MoveNet'in iki çeşidi mevcuttur:

  • MoveNet.Lightning, Thunder sürümünden daha küçük, daha hızlı ancak daha az doğrudur. Modern akıllı telefonlarda gerçek zamanlı olarak çalışabilir.
  • MoveNet.Thunder daha doğru sürümdür ancak aynı zamanda 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 de fitness aksiyonu görüntüleri içeren görüntülerde PoseNet'ten daha iyi performans gösteriyor. Bu nedenle PoseNet yerine MoveNet kullanmanızı öneririz.

Performans kıyaslama numaraları burada açıklanan araçla oluşturulur. Doğruluk (mAP) sayıları, her görüntüyü yalnızca bir kişiyi 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 nicemlenmiş) 12,6MB 72.0 155ms 45ms 594ms
MoveNet.Thunder (INT8 nicemlenmiş) 7.1MB 68.9 100ms 52ms 251ms
MoveNet.Lightning (FP16 nicemlenmiş) 4.8MB 63.0 60ms 25ms 186ms
MoveNet.Lightning (INT8 nicemlenmiş) 2,9 MB 57.4 52ms 28ms 95ms
PoseNet(MobileNetV1 omurgası, FP32) 13.3MB 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'deki 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'da çalıştırma hakkında bilgi edinmek için bu eğitime 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.