MediaPipe El Önemli Noktası Belirleyici görevi, bir resimdeki ellerin önemli noktalarını algılamanıza olanak tanır. Ellerin önemli noktalarını bulmak ve bunlara görsel efektler uygulamak için bu görevi kullanabilirsiniz. Bu görev, makine öğrenimi (ML) modeli ile resim verilerini statik veri veya sürekli bir akış olarak işler ve resim koordinatlarında el yer işaretlerini, dünya koordinatlarında el yer işaretlerini ve algılanan birden fazla elin el hakimiyetini(sol/sağ el) döndürür.
Başlayın
Hedef platformunuzla ilgili bu uygulama kılavuzlarından birini uygulayarak 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
- Python - Kod örneği
- 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ı |
---|---|
El İşaretçisi, aşağıdaki veri türlerinden birini kabul eder:
|
El İş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_hands |
El yer işareti algılayıcısı tarafından algılanan maksimum el sayısı. | Any integer > 0 |
1 |
min_hand_detection_confidence |
Avuç içi algılama modelinde el algılamanın başarılı olarak kabul edilmesi için gereken minimum güven puanı. | 0.0 - 1.0 |
0.5 |
min_hand_presence_confidence |
El yer işareti algılama modelindeki el varlığı puanı için minimum güven puanı. Video modu ve canlı yayın modunda, el yer işareti modelinden elde edilen el varlığı güven puanı bu eşiğin altındaysa El Yer İşareti Belirleyici, avuç içi algılama modelini tetikler. Aksi takdirde, sonraki önemli nokta algılamaları için ellerin konumunu hafif bir el izleme algoritması belirler. | 0.0 - 1.0 |
0.5 |
min_tracking_confidence |
El izlemenin başarılı kabul edilmesi için gereken minimum güven puanı. Bu, geçerli çerçevedeki ve son çerçevedeki eller arasındaki sınırlayıcı kutu IoU eşiğidir. El İşaretçisi'nin Video modu ve Akış modunda, izleme başarısız olursa El İşaretçisi el algılamayı tetikler. Aksi takdirde el algılama atlanır. | 0.0 - 1.0 |
0.5 |
result_callback |
Sonuç dinleyicisini, el yer işaretleyicisi canlı yayın modundayken algılama sonuçlarını asenkron olarak alacak şekilde ayarlar.
Yalnızca çalışma modu LIVE_STREAM olarak ayarlandığında geçerlidir |
Yok | Yok |
Modeller
El yer işaretleyici, iki paketlenmiş model içeren bir model paketi kullanır: avuç içi algılama modeli ve el yer işaretleri algılama modeli. Bu görevi çalıştırmak için her iki modeli de içeren bir model paketine ihtiyacınız vardır.
Model adı | Giriş şekli | Kesirli sayılaştırma türü | Model Kartı | Sürümler |
---|---|---|---|---|
HandLandmarker (full) | 192 x 192, 224 x 224 | float 16 | info | En son |
El belirgin işareti model paketi, algılanan el bölgelerinde 21 el eklemi koordinatının önemli nokta konumunu algılar. Model, yaklaşık 30.000 gerçek görüntünün yanı sıra çeşitli arka planlara yerleştirilmiş çeşitli oluşturulmuş sentetik el modelleriyle eğitildi.
El yer işaretleyici model paketi, avuç içi algılama modeli ve el yer işaretleri algılama modeli içerir. Avuç içi algılama modeli, giriş resmindeki elleri bulur ve el önemli noktaları algılama modeli, avuç içi algılama modeli tarafından tanımlanan kırpılmış el resmindeki belirli el önemli noktalarını tanımlar.
Avuç içi algılama modelini çalıştırmak zaman aldığından, video veya canlı yayın modundayken El İşaretçisi, sonraki karelerde ellerin bölgesini yerelleştirmek için bir karede el işaretçisi modeli tarafından tanımlanan sınırlayıcı kutuyu kullanır. El yer işaretleyici, yalnızca el yer işaretleri modeli artık ellerin varlığını tanımlamıyorsa veya çerçevedeki elleri izleyemiyorsa avuç içi algılama modelini yeniden tetikler. Bu, El Yer İşaretçisi'nin avuç içi algılama modelini tetikleme sayısını azaltır.
Görev karşılaştırmaları
Yukarıdaki önceden eğitilmiş modellere dayalı olarak tüm ardışık düzenin görev karşılaştırmalarını aşağıda bulabilirsiniz. Gecikme sonucu, CPU / GPU kullanan Pixel 6'taki ortalama gecikmedir.
Model Adı | CPU Gecikmesi | GPU Gecikmesi |
---|---|---|
HandLandmarker (tam) | 17,12 ms | 12,27 ms |