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 output dari model klasifikasi audio di Android.
Memulai
Jika Anda baru menggunakan TensorFlow Lite dan bekerja dengan Android, sebaiknya jelajahi contoh aplikasi berikut yang dapat membantu Anda memulai.
Anda dapat memanfaatkan API bawaan dari Pustaka Tugas TensorFlow Lite untuk mengintegrasikan model klasifikasi audio hanya dalam beberapa baris kode. Anda juga dapat membuat saluran inferensi khusus Anda sendiri menggunakan Pustaka Dukungan TensorFlow Lite .
Contoh Android di bawah ini menunjukkan implementasi menggunakan TFLite Task Library
Jika Anda menggunakan platform selain Android/iOS, atau jika Anda sudah terbiasa dengan TensorFlow Lite API , unduh model starter dan file pendukung (jika ada).
Unduh model pemula dari TensorFlow Hub
Deskripsi model
YAMNet adalah pengklasifikasi peristiwa audio yang mengambil bentuk gelombang audio sebagai input dan membuat prediksi independen untuk setiap 521 peristiwa audio dari ontologi AudioSet . Model menggunakan arsitektur MobileNet v1 dan dilatih menggunakan korpus AudioSet. Model ini awalnya dirilis di TensorFlow Model Garden, di mana terdapat kode sumber model, pos pemeriksaan model asli, dan dokumentasi yang lebih detail.
Bagaimana itu bekerja
Ada dua versi model YAMNet yang dikonversi ke TFLite:
YAMNet Adalah model klasifikasi audio asli, dengan ukuran input dinamis, cocok untuk Transfer Pembelajaran, Web, dan penyebaran Seluler. Ini juga memiliki output yang lebih kompleks.
YAMNet/klasifikasi adalah versi terkuantisasi dengan input bingkai panjang tetap yang lebih sederhana (15.600 sampel) dan mengembalikan satu vektor skor untuk 521 kelas peristiwa audio.
masukan
Model menerima array Tensor atau NumPy float32
1-D dengan panjang 15600 yang berisi bentuk gelombang 0,975 detik yang direpresentasikan sebagai sampel mono 16 kHz dalam kisaran [-1.0, +1.0]
.
Keluaran
Model mengembalikan Tensor float32
2-D berbentuk (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 yang sesuai 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 masuk akal di berbagai macam peristiwa audio.
- sebagai ekstraktor fitur tingkat tinggi: keluaran penyematan 1024-D dari YAMNet dapat digunakan sebagai fitur masukan dari model lain yang kemudian dapat dilatih pada sejumlah kecil data untuk tugas tertentu. Ini memungkinkan pembuatan pengklasifikasi audio khusus dengan cepat tanpa memerlukan banyak data berlabel dan tanpa harus melatih model besar secara menyeluruh.
- sebagai awal yang hangat: parameter model YAMNet dapat digunakan untuk menginisialisasi bagian dari model yang lebih besar yang memungkinkan penyetelan lebih cepat dan eksplorasi model.
Keterbatasan
- Keluaran pengklasifikasi YAMNet belum dikalibrasi di seluruh kelas, jadi Anda tidak dapat secara langsung memperlakukan keluaran sebagai probabilitas. Untuk tugas apa pun, kemungkinan besar Anda perlu melakukan kalibrasi dengan data khusus tugas yang memungkinkan Anda menetapkan ambang batas dan penskalaan skor per kelas yang tepat.
- YAMNet telah dilatih tentang jutaan video YouTube dan meskipun ini sangat beragam, masih ada ketidakcocokan domain antara rata-rata video YouTube dan input audio yang diharapkan untuk setiap tugas yang diberikan. Anda harus berharap untuk melakukan sejumlah penyesuaian dan kalibrasi agar YAMNet dapat digunakan di sistem apa pun yang Anda bangun.
Kustomisasi model
Model pra-pelatihan 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 berada 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 disarankan adalah dengan menggunakan library TensorFlow Lite Model Maker yang menyederhanakan proses pelatihan model TensorFlow Lite menggunakan kumpulan data khusus, dalam beberapa baris kode. Ini menggunakan pembelajaran transfer untuk mengurangi jumlah data dan waktu pelatihan yang diperlukan. Anda juga dapat belajar dari Transfer learning untuk pengenalan audio sebagai contoh transfer learning.
Bacaan lebih lanjut dan sumber daya
Gunakan sumber daya berikut untuk mempelajari lebih lanjut tentang konsep yang terkait dengan klasifikasi audio: