MediaPipe Ses Sınıflandırıcı görevi, ses kliplerini gitar müziği, tren düdüğü veya kuş sesi gibi tanımlanmış kategorilere ayırmanıza olanak tanır. Kategoriler, modelin eğitimi sırasında tanımlanır. Bu görev, bağımsız ses klipleri veya sürekli bir akış olarak makine öğrenimi (ML) modeli içeren ses verileri üzerinde çalışır ve olası kategorilerin listesini azalan olasılık puanına göre sıralayarak 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 - Kılavuz
- Python - Kod örneği Kılavuzu
- Web - Kod örneği - Kılavuz
Bu platforma özel kılavuzlar, önerilen bir model ve önerilen yapılandırma seçeneklerini içeren 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ş ses işleme: İşleme, ses yeniden örnekleme, arabelleğe alma, çerçeveleme ve Fourier dönüşümü içerir.
- Etiket haritası yerel ayarı: Görünen adlar için kullanılan dili ayarlayın.
- Skor eşiği: Sonuçları tahmin puanlarına göre filtreleyin.
- En iyi k algılama: Sayı algılama sonuçlarını filtreleyin.
- İzin verilenler ve engellenenler listesini etiketleyin: Algılanan kategorileri belirtin.
Görev girişleri | Görev çıkışları |
---|---|
Giriş aşağıdaki veri türlerinden biri olabilir:
|
Ses sınıflandırıcı, aşağıdakileri içeren bir kategori listesi 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. Ses sınıflandırıcının iki modu vardır: AUDIO_CLIPS: Ses görevini bağımsız ses kliplerinde çalıştırma modu. AUDIO_STREAM: Ses görevini bir ses akışında (ör. mikrofondan) çalıştırma modu. Bu modda, sınıflandırma sonuçlarını eşzamansız olarak alacak bir dinleyici oluşturmak için resultListener çağrılmalıdır. |
{AUDIO_CLIPS, AUDIO_STREAM } |
AUDIO_CLIPS |
display_names_locale |
Görevin modelinin meta verilerinde sağlanan görünen adlar için kullanılacak etiketlerin dilini belirler (varsa). Varsayılan değer, İngilizce için en 'tir. TensorFlow Lite Meta Veri Yazıcı API'yi kullanarak özel bir modelin meta verilerine yerelleştirilmiş etiketler ekleyebilirsiniz
| Yer kodu | en |
max_results |
Döndürülecek isteğe bağlı maksimum puana sahip sınıflandırma sonucu sayısını belirler. < 0 ise mevcut tüm sonuçlar döndürülür. | Tüm pozitif sayılar | -1 |
score_threshold |
Model meta verilerinde (varsa) sağlanan eşiği geçersiz kılan tahmin puanı eşiğini belirler. Bu değerin altındaki sonuçlar reddedilir. | [0, 1] | Ayarlanmadı |
category_allowlist |
İzin verilen kategori adlarının isteğe bağlı listesini ayarlar. Boş değilse kategori adı bu kümede bulunmayan sınıflandırma sonuçları filtrelenir. Yinelenen veya bilinmeyen kategori adları yok sayılır.
Bu seçenek, category_denylist ile birbirini hariç tutar ve her ikisinin de kullanılması hatayla sonuçlanır. |
Herhangi bir dize | Ayarlanmadı |
category_denylist |
İzin verilmeyen kategori adlarının isteğe bağlı listesini ayarlar. Boş değilse kategori adı bu kümede bulunan sınıflandırma sonuçları filtrelenir. Yinelenen veya bilinmeyen kategori adları yok sayılır. Bu seçenek, category_allowlist ile birlikte kullanılamaz. İkisinin birlikte kullanılması hataya neden olur. |
Herhangi bir dize | Ayarlanmadı |
result_callback |
Ses sınıflandırıcı ses akışı modundayken sonuç dinleyicisini sınıflandırma sonuçlarını eşzamansız olarak alacak şekilde ayarlar. Yalnızca çalışma modu AUDIO_STREAM olarak ayarlandığında kullanılabilir. |
Yok | Ayarlanmadı |
Modeller
Ses sınıflandırıcı, ses sınıflandırma modelinin indirilip proje dizininizde depolanmasını gerektirir. Bu görevle geliştirmeye başladığınızda hedef platformunuz için varsayılan, önerilen modelle başlayın. Diğer mevcut modeller genellikle performans, doğruluk, çözünürlük ve kaynak gereksinimleri arasında denge kurar ve bazı durumlarda ek özellikler içerir.
Yamnet modeli (önerilen)
Yamnet modeli, AudioSet verilerinde tanımlanan ses etkinliklerini tahmin etmek için AudioSet veri kümesinde eğitilmiş bir ses etkinliği sınıflandırıcısıdır. Bu model tarafından tanınan ses etkinlikleri hakkında bilgi edinmek için model etiket listesi bölümüne bakın.
Model adı | Giriş şekli | Kesirli sayılaştırma türü | Sürümler |
---|---|---|---|
YamNet | 1 x 15.600 | Yok (float32) | En son |
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 |
---|---|---|
YamNet | 12,29 ms | - |