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