El ile ilgili önemli noktaları algılama rehberi

Yumurta tutan bir el. Elin şekli, tanımlanan yapıyı gösteren bir iskeletle işaretlenir

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.

Deneyin.

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:

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:
  • Sabit resimler
  • Kodu çözülmüş video kareleri
  • Canlı video feed'i
El İşaretçisi aşağıdaki sonuçları döndürür:
  • Algılanan ellerin el tercihi
  • Algılanan ellerin resim koordinatlarındaki önemli noktaları
  • Dünya koordinatlarında algılanan ellerin yer işaretleri

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