MediaPipe Hareket Tanımlayıcı görevi, el hareketlerini gerçek zamanlı olarak tanımanızı sağlar. tanınan el hareketi sonuçlarını, el hareketinin önemli noktalarıyla birlikte tespit etti. Bu görevi, bir kullanıcının belirli el hareketlerini tanımak için kullanabilirsiniz. söz konusu hareketlere karşılık gelen uygulama özelliklerini çağırır.
Bu görev, makine öğrenimi (ML) modeliyle görüntü verileri üzerinde çalışır ve statik veri veya sürekli akış olabilir. Görev, el ile önemli noktaları resim koordinatları, dünya koordinatlarında el önemli noktaları, el (sol/sağ el) ve birden fazla elin el hareketi kategorileri.
Başlayın
Aşağıdaki uygulama rehberlerinden birini izleyerek bu görevi kullanmaya başlayın: yardımcı olur. Platforma özel bu kılavuzlar, Google'ın temel özelliklerini önerilen bir model kullanarak bu görevin uygulanmasını sağlama ve örnek olarak önerilen yapılandırma seçenekleriyle:
- 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 özellikler, girişler, çıkışlar ve yapılandırma açıklanmaktadır. bu görev için kullanılabilir.
Özellikler
- Giriş resmi işleme: İşleme, resim döndürme, yeniden boyutlandırma, normalleştirme ve renk alanı dönüştürme gibi teknikler sunar.
- Puan eşiği: Sonuçları tahmin puanlarına göre filtreleyin.
- Etiket izin verilenler listesi ve ret listesi - Hareket kategorilerini belirtin kabul etmesini sağlar.
Görev girişleri | Görev çıkışları |
---|---|
Hareket Tanıyıcı, aşağıdaki veri türlerinden birinin girişini kabul eder:
|
Hareket Tanıyıcı aşağıdaki sonuçları verir:
|
Yapılandırma seçenekleri
Bu görev aşağıdaki yapılandırma seçeneklerine sahiptir:
Seçenek Adı | Açıklama | Değer Aralığı | Varsayılan Değer | |
---|---|---|---|---|
running_mode |
Görev için çalışma modunu ayarlar. Üç tane var
modlar: . IMAGE: Tek resimli giriş modu. . . VIDEO: Bir videonun kodu çözülmüş karelerine yönelik mod. . . LIVE_STREAM: Giriş canlı yayını modu kameradan alınan veriler gibi. Bu modda, resultListener, sonuçları almak üzere bir dinleyici ayarlamak için çağrıldı eşzamansız olarak ayarlayabilirsiniz. |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
|
num_hands |
Maksimum el sayısı şu kullanıcı tarafından algılanabilir:
GestureRecognizer .
|
Any integer > 0 |
1 |
|
min_hand_detection_confidence |
El algılama için minimum güven puanı için başarılı bir yöntem olarak nitelendiriliyor. | 0.0 - 1.0 |
0.5 |
|
min_hand_presence_confidence |
Elde tutma puanının minimum güven puanı önemli nokta algılama modelidir. Hareket Tanıyıcı'nın Video ve Canlı yayın modunda ise el yer işareti modelinin el varlığı güven puanı aşağıdaysa avuç içi algılama modelini tetikler. Aksi halde, konumunu belirlemek için basit bir el izleme algoritması ellerinizi rahatça kullanabileceksiniz. | 0.0 - 1.0 |
0.5 |
|
min_tracking_confidence |
El takibi için dikkate alınacak minimum güven puanı işidir. Bu, testteki eller arasındaki sınırlayıcı kutu IoU eşiğidir geçerli kareyi ve son kareyi gösterir. Video modunda ve Akış modunda: Hareket Tanıyıcı, izleme başarısız olursa Hareket Tanıyıcı eli tetikler tespit edebilir. Aksi takdirde, el algılama özelliği atlanır. | 0.0 - 1.0 |
0.5 |
|
canned_gestures_classifier_options |
Hazır hareketler sınıflandırıcı davranışını yapılandırma seçenekleri. Hazır hareketler: ["None", "Closed_Fist", "Open_Palm", "Pointing_Up", "Thumb_Down", "Thumb_Up", "Victory", "ILoveYou"] |
|
|
|
custom_gestures_classifier_options |
Özel hareketler sınıflandırıcı davranışını yapılandırma seçenekleri. |
|
|
|
result_callback |
Sonuç işleyiciyi sınıflandırma sonuçlarını alacak şekilde ayarlar
hareket tanıyıcı canlı yayın modundayken eşzamansız olarak ayarlayabilirsiniz.
Yalnızca koşu modu LIVE_STREAM olarak ayarlandığında kullanılabilir |
ResultListener |
Yok | Yok |
Modeller
Hareket Tanıyıcı, iki önceden paketlenmiş model paketi içeren bir model paketi kullanır: el işaret modeli paketi ve hareket sınıflandırma model paketi. İlgili içeriği oluşturmak için kullanılan önemli nokta modeli, ellerin ve el geometrisinin varlığını ve hareketi algılar tanıma modeli, el geometrisine dayalı olarak hareketleri tanır.
Model adı | Giriş şekli | Nicelendirme türü | Model Kartı | Sürümler |
---|---|---|---|---|
HandGestureClassifier | 192 x 192, 224 x 224 | kayan noktalı 16 | bilgi | En yeniler |
Bu görev, Model Maker kullanılarak model paketinde değişiklik yapılmasını da destekler. Bu görev için modelleri özelleştirmek üzere Model Maker'ı kullanma hakkında daha fazla bilgi için Hareket Tanımlayıcı için modelleri özelleştirme sayfasına bakın.
Elle ilgili önemli nokta model paketi
Elle ilgili önemli nokta model paketi, 21 adet el ekleminin tuş noktası yerelleştirmesini algılar koordinatlarıyla birlikte çalışır. Modelin eğitildiği tarih: yaklaşık 30 bin gerçek dünya görüntüsü ve çok sayıda sentetik el görseli farklı arka planlar üzerine dayandırılan modeldir. Aşağıdaki 21 önemli noktanın tanımını görebilirsiniz:
El işaretleyici model paketi, avuç içi algılama modelini ve el önemli noktaları algılama modeli. Avuç içi algılama modeli, kullanıcının bulunduğu bölgeyi ellerini dokunmaya teşvik eder. El önemli noktaları algılama modeli, kırpılmış el resmindeki avuç içi algılama modeli tarafından tanımlanan önemli noktalar.
Avuç içi algılama modeli çok daha fazla zaman aldığından Video modu veya Canlı akış modunda ise Hareket Tanımlayıcı, algılanan el tarafından tanımlanan sınırlayıcı kutu kullanır ellerin bölgesini yerelleştirmek için geçerli karedeki önemli noktaları çerçeve. Bu, Hareket Tanımlayıcı'nın avuç içi algılama modelini tetikleme sayısını azaltır. Yalnızca el önemli noktaları modeli artık yeterli sayıda gerekli kimlik belirleyemediğinde veya el takibinin başarısız olması durumunda, avuç içi algılama modeli yeniden konumlandırmak için kullanılır.
Hareket sınıflandırma model paketi
Hareket sınıflandırma modeli paketi, şu yaygın el hareketlerini tanıyabilir:
0 - Unrecognized gesture, label: Unknown
1 - Closed fist, label: Closed_Fist
2 - Open palm, label: Open_Palm
3 - Pointing up, label: Pointing_Up
4 - Thumbs down, label: Thumb_Down
5 - Thumbs up, label: Thumb_Up
6 - Victory, label: Victory
7 - Love, label: ILoveYou
Model, elleri algıladığı halde bir hareketi tanımazsa, hareket tanıyıcı, "Yok" sonucunu döndürür. Model, elleri algılamazsa hareket tanıyıcı boş döndürüyor.
Hareket sınıflandırma model paketi, iki adımlı nöral ağ ardışık düzeni içerir ardından hareket sınıflandırma modelinden yararlanıyor. Daha fazla ayrıntı için Hareket sınıflandırma modeli kartı bölümüne bakın.
Hareketle yerleştirme modeli, resim özelliklerini bir özellik vektörü olarak kodlar ve sınıflandırma modeli, bu özelliği alan hafif bir hareket sınıflandırıcıdır kullanır. Sağlanan hareket sınıflandırma model paketi, kullanıma sunulan 7 yaygın el hareketini algılayan hazır hareketler sınıflandırıcısı bölümünü ziyaret edin. Egzersiz yaparak daha fazla hareketi tanımak için model paketini genişletebilirsiniz. kendi özel hareket sınıflandırıcınızı kullanabilirsiniz. Aşağıda daha ayrıntılı bilgi bulabilirsiniz Özel modeller bölümüne gidin.
Hem hazır hareket sınıflandırıcı hem de özel hareket sınıflandırıcıya sahip Hareket Tanıyıcı her iki sınıflandırıcı da aynı hareketi tanırsa özel hareketi tercih eder yardımcı olur. Yalnızca bir hareket sınıflandırıcı hareketi tanırsa Hareket Tanıyıcı, tanınan hareketi doğrudan bildirir.
Görev karşılaştırmaları
Aşağıda, yukarıdakilere dayalı olarak ardışık düzenin tamamı için görev karşılaştırmaları verilmiştir modeller. Gecikme sonucu, Pixel 6'da kullanılan ortalama gecikmedir. CPU / GPU.
Model Adı | CPU Gecikmesi | GPU Gecikmesi |
---|---|---|
GestureRecognizer | 16,76 ms. | 20,87 ms. |
Özel modeller
Bu belgede sağlanan modellerin özelliklerini iyileştirmek veya değiştirmek isterseniz
görev için Model Oluşturucu'yu kullanarak mevcut modelleri değiştirebilirsiniz. Kullanılan özel modeller
with MediaPipe, bir model paket dosyası olan .task
biçiminde olmalıdır. Siz
bu görev için sağlanan modelleri değiştirmek amacıyla Model Maker'ı kullanmayı düşünmelidir
inceleyin.
Bu görev için model özelleştirme hakkında daha fazla bilgi edinmek üzere şu makaleyi inceleyin: Hareket Tanıyıcı için modelleri özelleştirme.