Ses sınıflandırma kılavuzu

MediaPipe Ses Sınıflandırıcı görevi, ses kliplerini gitar müziği, tren düdüğü veya kuş şarkısı gibi bir dizi tanımlanmış kategoriye göre sınıflandırmanıza olanak tanır. Kategoriler, modelin eğitilmesi sırasında tanımlanır. Bu görev, bağımsız ses klipleri veya sürekli akış olarak bir makine öğrenimi (ML) modeliyle ses verileri üzerinde çalışır ve azalan olasılık puanına göre sıralanmış potansiyel kategorilerin bir listesini oluşturur.

Deneyin!

Başlayın

Hedef platformunuz için bu uygulama rehberlerinden birini izleyerek bu görevi kullanmaya başlayın. Bu platforma özel kılavuzlar, önerilen bir model ve önerilen yapılandırma seçenekleriyle birlikte kod örneği dahil olmak üzere, bu görevin temel bir şekilde uygulanmasında size yol gösterir:

Bu platforma özel kılavuzlar, önerilen bir model ve önerilen yapılandırma seçeneklerinin yer aldığı kod örneği de dahil olmak üzere, bu görevin temel bir şekilde uygulanması konusunda 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ş sesi işleme: İşleme ses yeniden örnekleme, arabelleğe alma, çerçeveleme ve Fourier dönüştürme işlemlerini içerir.
  • Harita yerel ayarını etiketle - Görünen adlar için kullanılan dili ayarlayın
  • Puan eşiği - Sonuçları tahmin puanlarına göre filtreleyin.
  • Üst-k algılama - Sayı algılama sonuçlarını filtreleyin.
  • Etiket izin verilenler listesi ve ret listesi - Algılanan kategorileri belirtin.
Görev girişleri Görev çıkışları
Giriş, aşağıdaki veri türlerinden biri olabilir:
  • Ses klipleri
  • Ses akışı
Ses Sınıflandırıcı aşağıdakileri içeren bir kategori listesi verir:
  • Kategori dizini: Model çıkışlarındaki kategori dizini
  • Puan: Bu kategorinin güven puanı. Genellikle [0,1] aralığında bir olasılıktır.
  • Kategori adı (isteğe bağlı): TFLite Modeli Meta Verileri'nde belirtilen kategori adı (varsa)
  • Kategori görünen adı (isteğe bağlı): TFLite Model Meta Verilerinde belirtildiği şekliyle, varsa görünen adlar yerel ayarları aracılığıyla belirtilen dilde, kategori için görünen ad

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ö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 mikrofon gibi bir ses akışında çalıştırma modu. Bu modda, sınıflandırma sonuçlarını eşzamansız olarak almak için bir işleyici ayarlamak üzere resultListener çağrılmalıdır.
{AUDIO_CLIPS, AUDIO_STREAM} AUDIO_CLIPS
display_names_locale Varsa görev modelinin meta verilerinde sağlanan görünen adlar için kullanılacak etiketlerin dilini ayarlar. İngilizce için varsayılan değer en şeklindedir. TensorFlow Lite Metadata Writer API'yi kullanarak özel modelin meta verilerine yerelleştirilmiş etiketler ekleyebilirsiniz Yerel ayar kodu en
max_results İsteğe bağlı olarak döndürülecek en yüksek puanlı sınıflandırma sonuçlarının isteğe bağlı maksimum sayısını ayarlar. < 0 ise mevcut tüm sonuçlar döndürülür. Pozitif sayılar -1
score_threshold Model meta verilerinde belirtilen eşiği (varsa) geçersiz kılan tahmin puanı eşiğini ayarlar. Bu değerin altındaki sonuçlar reddedilir. [0,0, 1,0] Belirlenmedi
category_allowlist İsteğe bağlı olarak izin verilen kategori adları listesini ayarlar. Boş değilse kategori adı bu grupta yer almayan sınıflandırma sonuçları filtrelenir. Yinelenen veya bilinmeyen kategori adları yoksayılır. Bu seçenek, category_denylist ile birlikte kullanılamaz ve her iki sonucun da kullanılması hataya neden olur. Herhangi bir dize Belirlenmedi
category_denylist İzin verilmeyen kategori adlarının isteğe bağlı listesini ayarlar. Boş değilse kategori adı bu kümede yer alan sınıflandırma sonuçları filtrelenir. Yinelenen veya bilinmeyen kategori adları yoksayılır. Bu seçenek category_allowlist ile birlikte kullanılamaz ve her iki sonucun da kullanılması hataya neden olur. Herhangi bir dize Belirlenmedi
result_callback Ses Sınıflandırıcı, ses akışı modundayken sonuç işleyiciyi, sınıflandırma sonuçlarını eşzamansız olarak alacak şekilde ayarlar. Yalnızca çalıştırma modu AUDIO_STREAM olarak ayarlandığında kullanılabilir Yok Belirlenmedi

Modeller

Ses Sınıflandırıcı, bir 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. Mevcut diğer 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, AudioSet verilerinde tanımlanan ses etkinliklerini tahmin etmek için AudioSet veri kümesi üzerinde eğitilmiş bir ses etkinliği sınıflandırıcıdır. Bu model tarafından tanınan ses etkinlikleri hakkında bilgi için modelin etiket listesine bakın.

Model adı Giriş şekli Nicelleştirme türü Sürümler
YamNet 1 x 15.600 Yok (float32) En son

Görev karşılaştırmaları

Yukarıda önceden eğitilmiş modellere dayalı olarak ardışık düzenin tamamı için görev karşılaştırmaları aşağıda verilmiştir. Gecikme sonucu, Pixel 6'da CPU / GPU kullanılarak elde edilen ortalama gecikmedir.

Model Adı CPU Gecikmesi GPU Gecikmesi
YamNet 12,29 ms. -