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.
TensorFlow Lite API'lerine aşina iseniz başlangıç MoveNet poz tahmin modelini ve destek dosyalarını 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:
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.