Klasifikasi audio

Tugas mengidentifikasi apa yang diwakili oleh audio disebut klasifikasi audio . Model klasifikasi audio dilatih untuk mengenali berbagai peristiwa audio. Misalnya, Anda dapat melatih model untuk mengenali peristiwa yang mewakili tiga peristiwa berbeda: bertepuk tangan, menjentikkan jari, dan mengetik. TensorFlow Lite menyediakan model terlatih yang dioptimalkan yang dapat Anda terapkan di aplikasi seluler Anda. Pelajari lebih lanjut tentang klasifikasi audio menggunakan TensorFlow di sini .

Gambar berikut menunjukkan keluaran model klasifikasi audio di Android.

Tangkapan layar contoh Android

Memulai

Jika Anda baru mengenal TensorFlow Lite dan menggunakan Android, sebaiknya jelajahi aplikasi contoh berikut yang dapat membantu Anda memulai.

Anda dapat memanfaatkan API out-of-box dari TensorFlow Lite Task Library untuk mengintegrasikan model klasifikasi audio hanya dalam beberapa baris kode. Anda juga dapat membuat pipeline inferensi kustom Anda sendiri menggunakan Support Library TensorFlow Lite .

Contoh Android di bawah ini mendemonstrasikan implementasi menggunakan TFLite Task Library

Lihat contoh Android

Lihat contoh iOS

Jika Anda menggunakan platform selain Android / iOS, atau jika Anda sudah terbiasa dengan TensorFlow Lite API , unduh model awal dan file pendukung (jika ada).

Unduh model pemula dari TensorFlow Hub

Deskripsi model

YAMNet adalah pengklasifikasi peristiwa audio yang mengambil bentuk gelombang audio sebagai masukan dan membuat prediksi independen untuk masing-masing 521 peristiwa audio dari ontologi AudioSet . Model ini menggunakan arsitektur MobileNet v1 dan dilatih menggunakan korpus AudioSet. Model ini awalnya dirilis di TensorFlow Model Garden, tempat kode sumber model, pos pemeriksaan model asli, dan dokumentasi yang lebih mendetail.

Bagaimana itu bekerja

Ada dua versi model YAMNet yang dikonversi ke TFLite:

  • YAMNet Adalah model klasifikasi audio asli, dengan ukuran input dinamis, cocok untuk Pembelajaran Transfer, penyebaran Web dan Seluler. Ini juga memiliki keluaran yang lebih kompleks.

  • YAMNet / klasifikasi adalah versi terkuantisasi dengan input bingkai panjang tetap yang lebih sederhana (15600 sampel) dan mengembalikan satu vektor skor untuk 521 kelas peristiwa audio.

Masukan

Model ini menerima Tensor float32 1-D atau array NumPy dengan panjang 15600 yang berisi bentuk gelombang 0,975 detik yang direpresentasikan sebagai sampel mono 16 kHz dalam rentang [-1.0, +1.0] .

Keluaran

Model mengembalikan Tensor bentuk 2-D float32 (1, 521) yang berisi skor yang diprediksi untuk masing-masing dari 521 kelas dalam ontologi AudioSet yang didukung oleh YAMNet. Indeks kolom (0-520) dari tensor skor dipetakan ke nama kelas AudioSet terkait menggunakan Peta Kelas YAMNet, yang tersedia sebagai file terkait yamnet_label_list.txt dikemas ke dalam file model. Lihat di bawah untuk penggunaan.

Penggunaan yang sesuai

YAMNet dapat digunakan

  • sebagai pengklasifikasi peristiwa audio yang berdiri sendiri yang memberikan dasar yang wajar di berbagai jenis peristiwa audio.
  • sebagai ekstraktor fitur tingkat tinggi: keluaran embedding 1024-D dari YAMNet dapat digunakan sebagai fitur masukan dari model lain yang kemudian dapat dilatih pada sejumlah kecil data untuk tugas tertentu. Hal ini memungkinkan pembuatan pengklasifikasi audio khusus dengan cepat tanpa memerlukan banyak data berlabel dan tanpa harus melatih model besar secara menyeluruh.
  • sebagai permulaan yang hangat: parameter model YAMNet dapat digunakan untuk menginisialisasi bagian dari model yang lebih besar yang memungkinkan penyempurnaan dan eksplorasi model yang lebih cepat.

Batasan

  • Keluaran pengklasifikasi YAMNet belum dikalibrasi di seluruh kelas, jadi Anda tidak bisa langsung memperlakukan keluaran sebagai probabilitas. Untuk tugas tertentu, Anda kemungkinan besar perlu melakukan kalibrasi dengan data khusus tugas yang memungkinkan Anda menetapkan ambang batas dan penskalaan skor per kelas yang tepat.
  • YAMNet telah dilatih di jutaan video YouTube dan meskipun ini sangat beragam, masih ada ketidaksesuaian domain antara video YouTube rata-rata dan input audio yang diharapkan untuk tugas tertentu. Anda harus melakukan sejumlah penyesuaian dan kalibrasi agar YAMNet dapat digunakan dalam sistem apa pun yang Anda buat.

Kustomisasi model

Model terlatih yang disediakan dilatih untuk mendeteksi 521 kelas audio yang berbeda. Untuk daftar lengkap kelas, lihat file label di repositori model .

Anda dapat menggunakan teknik yang dikenal sebagai pembelajaran transfer untuk melatih kembali model untuk mengenali kelas yang tidak ada di set aslinya. Misalnya, Anda dapat melatih ulang model untuk mendeteksi beberapa nyanyian burung. Untuk melakukan ini, Anda memerlukan satu set audio pelatihan untuk setiap label baru yang ingin Anda latih. Cara yang direkomendasikan adalah dengan menggunakan library TensorFlow Lite Model Maker yang menyederhanakan proses pelatihan model TensorFlow Lite menggunakan set data kustom, dalam beberapa baris kode. Ini menggunakan pembelajaran transfer untuk mengurangi jumlah data dan waktu pelatihan yang diperlukan. Anda juga dapat belajar dari pembelajaran Transfer untuk pengenalan audio sebagai contoh pembelajaran transfer.

Bacaan dan sumber lebih lanjut

Gunakan sumber daya berikut untuk mempelajari lebih lanjut tentang konsep yang berkaitan dengan klasifikasi audio: