MediaPipe Pose Landmarker görevi, bir resim veya videodaki insan vücutlarının önemli noktalarını algılamanıza olanak tanır. Bu görevi, vücudun önemli konumlarını belirlemek, duruşu analiz etmek ve hareketleri sınıflandırmak için kullanabilirsiniz. Bu görevde, tek resim veya videoyla çalışan makine öğrenimi (ML) modelleri kullanılır. Görev, vücut duruşu yer işaretlerini resim koordinatlarında ve 3 boyutlu dünya koordinatlarında döndürür.
Başlayın
Hedef platformunuzun uygulama kılavuzunu izleyerek bu görevi kullanmaya başlayın. Platforma özel bu kılavuzlar, önerilen bir model ve önerilen yapılandırma seçenekleriyle birlikte kod örneği de dahil olmak üzere bu görevin temel uygulama sürecinde size yol gösterir:
- Android - Kod örneği - Kılavuz
- Python - Kod örneği - Kılavuz
- Web - Kod örneği - Kılavuz
Görev ayrıntıları
Bu bölümde, bu görevin özellikleri, girişleri, çıkışları ve yapılandırma seçenekleri açıklanmaktadır.
Özellikler
- Giriş resmi işleme: İşleme, resim döndürme, yeniden boyutlandırma, normalleştirme ve renk alanı dönüştürme işlemlerini içerir.
- Skor eşiği: Sonuçları tahmin puanlarına göre filtreleyin.
Görev girişleri | Görev çıkışları |
---|---|
Poz İşaretçisi, aşağıdaki veri türlerinden birini kabul eder:
|
Poz İşaretçisi aşağıdaki sonuçları döndürür:
|
Yapılandırma seçenekleri
Bu görev için aşağıdaki yapılandırma seçenekleri vardır:
Seçenek Adı | Açıklama | Değer Aralığı | Varsayılan değer |
---|---|---|---|
running_mode |
Görevin çalışma modunu ayarlar. Üç mod vardır: RESİM: Tek resim girişleri için kullanılan mod. VIDEO: Bir videonun kod çözülmüş karelerinin modu. LIVE_STREAM: Kameradan alınan giriş verilerinin canlı yayını için kullanılan mod. Bu modda, sonuçları asenkron olarak alacak bir dinleyici oluşturmak için resultListener çağrılmalıdır. |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
num_poses |
Poz İşaretçisi tarafından algılanabilecek maksimum poz sayısı. | Integer > 0 |
1 |
min_pose_detection_confidence |
Poz duruşu algılamanın başarılı olarak kabul edilmesi için gereken minimum güven puanı. | Float [0.0,1.0] |
0.5 |
min_pose_presence_confidence |
Poz duruşu yer işareti algılamada poz varlığı puanının minimum güven puanı. | Float [0.0,1.0] |
0.5 |
min_tracking_confidence |
Poz izlemenin başarılı kabul edilmesi için gereken minimum güven puanı. | Float [0.0,1.0] |
0.5 |
output_segmentation_masks |
Poz İşaretçisi'nin, algılanan poz için segmentasyon maskesi çıkışı yapıp yapmadığını belirtir. | Boolean |
False |
result_callback |
Sonuç dinleyicisini, Poz Landmarker canlı yayın modundayken yer işaretçisi sonuçlarını asenkron olarak alacak şekilde ayarlar.
Yalnızca çalışma modu LIVE_STREAM olarak ayarlandığında kullanılabilir. |
ResultListener |
N/A |
Modeller
Poz yer işaretleyicisi, poz yer işaretlerini tahmin etmek için bir dizi model kullanır. İlk model, resim çerçevesinde insan vücudu olup olmadığını algılar, ikinci model ise vücutlardaki önemli noktaları bulur.
Aşağıdaki modeller, indirilebilir bir model paketinde birlikte paketlenir:
- Duruş algılama modeli: Birkaç temel duruş yer işaretiyle vücutların varlığını algılar.
- Duruş yer işaretçisi modeli: Duruşun tam bir eşlemesini ekler. Model, 33 adet 3 boyutlu duruş yer işareti tahmini çıkarır.
Bu paket, MobileNetV2'ye benzer bir evrişimli sinir ağı kullanır ve cihaz üzerinde gerçek zamanlı fitness uygulamaları için optimize edilmiştir. BlazePose modelinin bu varyantı, resim veya videolardaki bir kişinin 3D vücut duruşunu tahmin etmek için 3D insan şekli modelleme ardışık düzeni olan GHUM'u kullanır.
Model paketi | Giriş şekli | Veri türü | Model Kartları | Sürümler |
---|---|---|---|---|
Pose landmarker (lite) | Poz dedektörü: 224 x 224 x 3 Poz yer işaretleyici: 256 x 256 x 3 |
float 16 | bilgi | En son |
Pose landmarker (Tam) | Poz dedektörü: 224 x 224 x 3 Poz yer işaretleyici: 256 x 256 x 3 |
float 16 | bilgi | En son |
Poz işaretçisi (Ağır) | Poz dedektörü: 224 x 224 x 3 Poz yer işaretleyici: 256 x 256 x 3 |
float 16 | bilgi | En son |
Poz yer işaretleyici modeli
Poz işaretleyici modeli, aşağıdaki vücut bölümlerinin yaklaşık konumunu temsil eden 33 vücut işaretçisi konumunu izler:
0 - nose
1 - left eye (inner)
2 - left eye
3 - left eye (outer)
4 - right eye (inner)
5 - right eye
6 - right eye (outer)
7 - left ear
8 - right ear
9 - mouth (left)
10 - mouth (right)
11 - left shoulder
12 - right shoulder
13 - left elbow
14 - right elbow
15 - left wrist
16 - right wrist
17 - left pinky
18 - right pinky
19 - left index
20 - right index
21 - left thumb
22 - right thumb
23 - left hip
24 - right hip
25 - left knee
26 - right knee
27 - left ankle
28 - right ankle
29 - left heel
30 - right heel
31 - left foot index
32 - right foot index
Model çıkışı, her bir yer işareti için hem normalleştirilmiş koordinatları (Landmarks
) hem de dünya koordinatlarını (WorldLandmarks
) içerir.