CoolFace
Apppublic

Meomeogalaxy/bird-sound-classification

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
App README

🦅 Hệ thống Nhận diện Tiếng chim từ Âm thanh Môi trường - AI Bird Classifier

Đồ án tốt nghiệp Đại học ngành Công nghệ Thông tin - Chuyên ngành Khoa học Dữ liệu / Trí tuệ Nhân tạo tại Trường Đại học Khoa học Tự nhiên - ĐHQG TP.HCM (HCMUS).

Hệ thống kết hợp xử lý tín hiệu số âm thanh (Digital Signal Processing - DSP) và Deep Learning để phân loại 264 loài chim khác nhau dựa trên tiếng hót.


🌟 Tính năng của Ứng dụng Web

  • Đăng tải âm thanh trực quan: Hỗ trợ các định dạng âm thanh phổ biến .wav, .mp3, .ogg.
  • Phát nhạc trực tiếp: Trình phát nhạc tích hợp để nghe thử tệp vừa đăng tải.
  • Trích xuất Mel-Spectrogram: Tự động chuyển đổi sóng âm (Waveform) sang dạng ảnh phổ tần số Mel-Spectrogram dựa trên các tham số cấu hình trích xuất chuẩn trong đồ án.
  • Dự đoán thời gian thực: Nhận diện loài chim kèm độ tin cậy (%) và chỉ số F1-Score tương ứng của lớp đó trong báo cáo.

🏗️ Kiến trúc Mô hình AI (Hybrid EfficientNet-B7 + LSTM)

  1. 1.Tiền xử lý tín hiệu (DSP):
  2. 2.Tần số lấy mẫu (Sample Rate): 32,000 Hz
  3. 3.Kích thước ảnh phổ đầu vào: 128 x 256 (1 kênh màu xám)
  4. 4.Sử dụng thư viện Librosa chuyển đổi với n_fft = 2048hop_length = 619.
  5. 5.Trích xuất đặc trưng hình ảnh: Mạng CNN tiên tiến EfficientNet-B7 kết hợp cơ chế Attention CBAM (Channel and Spatial Attention Module).
  6. 6.Phân tích chuỗi thời gian: Mạng hồi quy tuần hoàn LSTM (Bidirectional LSTM) để học các đặc trưng thời gian của tiếng chim hót.

💻 Hướng dẫn chạy ứng dụng ở máy cá nhân (Local)

1. Cài đặt các thư viện cần thiết

Mở Terminal/Cmd tại thư mục dự án và chạy lệnh:

bash
pip install -r requirements.txt

2. Khởi chạy Web App bằng Streamlit

Chạy lệnh sau:

bash
streamlit run streamlit_app.py

Hệ thống sẽ tự động mở trình duyệt web tại địa chỉ mặc định: http://localhost:8501.

Lưu ý về bộ nhớ RAM: Kiến trúc EfficientNet-B7 rất lớn (file model ~640MB) nên Windows có thể gặp lỗi phân bổ bộ nhớ (VirtualAlloc Limit) khi chạy local nếu máy ít RAM. Ứng dụng đã được tích hợp cơ chế Fallback thông minh (Chế độ giả lập Demo khi thiếu RAM) để bạn có thể test thử giao diện và luồng xử lý trên máy cá nhân một cách mượt mà.


🚀 Hướng dẫn deploy lên trực tuyến (Hugging Face Spaces)

Bạn có thể đưa ứng dụng này lên chạy online hoàn toàn miễn phí trên Hugging Face Spaces để tích hợp vào CV/Portfolio:

  1. 1.Đăng ký tài khoản trên Hugging Face.
  2. 2.Tạo một Space mới:
  3. 3.Chọn SDK: Streamlit.
  4. 4.Chọn cấu hình phần cứng miễn phí (CPU Basic).
  5. 5.Upload toàn bộ mã nguồn bao gồm:
  6. 6.Thư mục Zip/ (chứa weights .h5 và file mapping .csv).
  7. 7.File streamlit_app.py.
  8. 8.File requirements.txt.
  9. 9.Hugging Face sẽ tự động tải các gói thư viện và kích hoạt ứng dụng của bạn trực tuyến!