ML Kit Pose Detection API, uygulama geliştiricilerin sürekli video veya statik görüntüden kişinin vücudunun pozunu gerçek zamanlı olarak algılaması için hafif, çok yönlü bir çözümdür. Bir poz, vücudun bir dizi önemli noktasıyla vücudun konumunu tanımlar. Önemli noktalar, omuz ve kalça gibi vücudun farklı bölgelerine karşılık gelir. Önemli noktaların göreli konumları, bir pozu diğerinden ayırt etmek için kullanılabilir.
ML Kit Poz Algılama, yüzdeki önemli noktaları (kulak, göz, ağız ve burun) ve eller ile ayaklardaki noktaları içeren tam vücut 33 noktalı iskelet eşleşmesi üretir. Aşağıdaki Şekil 1'de kameradan kullanıcıya bakan önemli noktalar gösterilmektedir, dolayısıyla bu bir ayna görüntüsüdür. Kullanıcının sağ tarafı resmin sol tarafında görünür:
Makine Öğrenimi Kiti Pose Algılama, mükemmel sonuçlar elde etmek için özel ekipman veya makine öğrenimi uzmanlığı gerektirmez. Bu teknolojiyle geliştiriciler yalnızca birkaç satır kodla kullanıcıları için benzersiz deneyimler oluşturabilirler.
Pozun algılanması için kullanıcının yüzü bulunmalıdır. Pozisyon algılama, öznenin tüm vücudu karede göründüğünde en iyi sonucu verir, ancak kısmi vücut duruşunu da algılar. Bu durumda, tanınmayan önemli noktalara resmin dışında koordinatlar atanır.
Temel özellikler
- Platformlar arası destek Hem Android'de hem iOS'te aynı deneyimin keyfini çıkarın.
- Tam vücut izleme Model, ellerin ve ayakların konumları dahil olmak üzere iskelette 33 önemli önemli nokta döndürür.
- InFrameLikelihood puanı Her önemli nokta için, önemli noktanın resim çerçevesi içinde olma olasılığını belirten bir ölçüm. Puan 0,0 ile 1,0 aralığındadır. 1,0 yüksek güven düzeyini gösterir.
- Optimize edilmiş iki SDK Temel SDK, Pixel 4 ve iPhone X gibi modern telefonlarda gerçek zamanlı olarak çalışır. Sonuçları sırasıyla ~30 ve ~45 fps hızlarında döndürür. Ancak, önemli nokta koordinatlarının kesinliği değişiklik gösterebilir. Doğru SDK, sonuçları daha yavaş bir kare hızında döndürür ancak daha doğru koordinat değerleri üretir.
- Derinlik analizi için Z koordinatı Bu değer, kullanıcının vücudunun parçalarının kullanıcının kalçalarının önünde mi yoksa arkasında mı olduğunu belirlemeye yardımcı olabilir. Daha fazla bilgi için aşağıdaki Z Koordinatörü bölümüne bakın.
Pose Detection API, bir dizi önemli noktayı ve konumlarını döndürmesi açısından Facial Recognition API'ye benzer. Bununla birlikte, Yüz Algılama aynı zamanda gülümseyen ağız veya açık gözler gibi özellikleri de tanımaya çalışırken, Poz Algılama bir pozdaki önemli noktalara veya pozun kendisine herhangi bir anlam katmaz. Bir pozu yorumlamak için kendi algoritmalarınızı oluşturabilirsiniz. Bazı örnekler için Konum Sınıflandırma İpuçları bölümüne bakın.
Pozisyon algılama, bir görüntüde yalnızca bir kişiyi algılayabilir. Resimde iki kişi varsa model, en yüksek güven düzeyine sahip olduğu belirlenen kişiye önemli noktaları atar.
Z Koordinatörü
Z Koordinatörü, her yer işareti için hesaplanan deneysel bir değerdir. X ve Y koordinatları gibi "resim pikselleri" cinsinden ölçülür ancak gerçek bir 3D değeri değildir. Z ekseni kameraya diktir ve öznenin kalçaları arasından geçer. Z ekseninin başlangıç noktası yaklaşık olarak kalçalar arasındaki merkez noktasıdır (kameraya göre sol/sağ ve ön/arka). Negatif Z değerleri kameraya doğru, pozitif değerler kameraya doğru değildir. Z koordinatının bir üst veya alt sınırı yoktur.
Örnek sonuçları
Aşağıdaki tabloda, sağdaki pozdaki birkaç önemli nokta için koordinatlar ve InFrame Olasılık gösterilmektedir. Kullanıcının sol elinin Z koordinatları, öznenin kalçasının ortasında ve kameraya doğru olduğu için negatiftir.
Önemli nokta | Tür | Konum | InFrameLikelihood |
---|---|---|---|
11 | LEFT_SHOULDER | (734.9671, 550.7924, -118.11934) | 0,9999038 |
12 | RIGHT_SHOULDER | (391.27032, 583.2485, -321.15836) | 0,9999894 |
13 | LEFT_ELBOW | (903.83704, 754.676, -219.67009) | 0,9836427 |
14 | RIGHT_ELBOW | (322.18152, 842.5973, -179.28519) | 0,99970156 |
15 | LEFT_WRIST | (1073.8956, 654.9725, -820.93463) | 0,9737737 |
16 | RIGHT_WRIST | (218.27956, 1015.70435, -683.6567) | 0,995568 |
17 | LEFT_PINKY | (1146.1635, 609.6432, -956.9976) | 0,95273364 |
18 | RIGHT_PINKY | (176.17755, 1065.838, -776.5006) | 0,9785348 |
Gelişmiş seçenekler
Bu API'nin temelindeki makine öğrenimi modelleri hakkında daha fazla bilgi için Google AI blog yayınımıza göz atın.
Makine öğrenimi adalet uygulamalarımız ve modellerin nasıl eğitildiği hakkında daha fazla bilgi edinmek için Model Kartımıza bakın.