Tarihi kaydet! Google I / O 18-20 Mayıs'ta geri dönüyor Şimdi kaydolun
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Poz tahmini

Poz tahmini, bir görüntü veya videodan bir kişinin pozunu, ana vücut eklemlerinin (kilit noktaları) uzamsal konumlarını tahmin ederek 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ıç ​​PoseNet modelini ve destek dosyalarını indirin.

Başlangıç ​​modelini indirin

Bir web tarayıcısında poz tahminini denemek istiyorsanız, TensorFlow JS GitHub deposuna bakın .

Model Açıklaması

Nasıl çalışır

Poz tahmini, görüntülerde ve videolarda insan figürlerini tespit eden bilgisayarla görme tekniklerini ifade eder, böylece örneğin bir kişinin dirseğinin bir görüntüde nerede göründüğünü belirleyebilir. Tahmin oluşturmanın, yalnızca kilit vücut eklemlerinin nerede olduğunu tahmin ettiği ve bir görüntü veya videoda kimin olduğunu tanımadığı gerçeğinin farkında olmak önemlidir.

PoseNet modeli, girdi olarak işlenmiş bir kamera görüntüsünü alır ve anahtar noktalar hakkında bilgi verir. Algılanan anahtar noktalar, 0.0 ile 1.0 arasında bir güven puanıyla bir parça kimliği ile endekslenir. Güven puanı, o konumda bir anahtar noktanın var olma olasılığını gösterir.

PoseNet 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 LeftElbow
8 rightElbow
9 sol bilek
10 Sağ bilek
11 sol kalça
12 sağ kalça
13 sol diz
14 sağ diz
15 sol ayak
16 sağ ayak

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

Poz tahminini gösteren animasyon

Performans testleri

Performans, cihazınıza ve çıktı adımına (ısı haritaları ve ofset vektörleri) göre değişir. PoseNet modeli görüntü boyutunda değişmez, yani görüntünün ölçeğinin küçültülmesine bakılmaksızın orijinal görüntü ile aynı ölçekte poz konumlarını tahmin edebilir. Bu, modeli performans pahasına daha yüksek bir doğruluğa sahip olacak şekilde yapılandırdığınız anlamına gelir.

Çıktı adımı, çıktının girdi görüntü boyutuna göre ne kadar küçültüleceğini belirler. Katmanların boyutunu ve model çıktılarını etkiler.

Çıktı adımı ne kadar yüksek olursa, ağdaki katmanların ve çıktıların çözünürlüğü ve buna bağlı olarak doğrulukları o kadar küçük olur. Bu uygulamada, çıkış adımı 8, 16 veya 32 değerlerine sahip olabilir. Diğer bir deyişle, 32'lik bir çıkış adımı en hızlı performansla, ancak en düşük doğrulukla sonuçlanırken, 8 en yüksek doğruluk ancak en yavaş performansla sonuçlanır. Önerilen başlangıç ​​değeri 16'dır.

Aşağıdaki görüntü, çıktı adımının çıktının girdi görüntü boyutuna göre ne kadar küçültüldüğünü nasıl belirlediğini gösterir. Daha yüksek çıkış adımı daha hızlıdır ancak daha düşük doğruluk sağlar.

Çıktı adım ve ısı haritası çözünürlüğü

Performans karşılaştırma numaraları, burada açıklanan araçla oluşturulur.

Model adı Model boyutu cihaz GPU İşlemci
Posenet 12.7 Mb Pixel 3 (Android 10) 12 ms 31 ms *
Pixel 4 (Android 10) 12 ms 19 ms *
iPhone XS (iOS 12.4.1) 4,8 ms 22 ms **

* 4 iplik kullanıldı.

** En iyi performans sonucu için iPhone'da kullanılan 2 iş parçacığı.

Daha fazla okuma ve kaynaklar

  • TensorFlow Lite kullanarak poz tahmini hakkında daha fazla bilgi edinmek için bu blog gönderisine göz atın.
  • TensorFlow JS kullanarak poz tahmini hakkında daha fazla bilgi edinmek için bu blog gönderisine göz atın.
  • PoseNet belgesini buradan okuyun

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