Skip to content

Apoorva2640/Marine_Sound_Classifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌊 Marine Sound Classifier

A deep learning-based marine sound classification system built using CNN and Streamlit.
This project classifies underwater audio into whale, ship, dolphin, or unknown using spectrogram-based learning. Designed to handle real-world noisy ocean environments with robust unknown detection.


🚀 Features

  • 🎧 Upload or record audio directly in UI
  • 🧠 CNN-based classification using Mel Spectrograms
  • ⚖️ Confidence-based Unknown detection
  • 🔍 Chunk-wise prediction for better accuracy
  • 📊 Probability breakdown for each class

🧠 Model Details

  • Architecture: Custom CNN with BatchNorm, Dropout & Global Average Pooling
  • Input: Log Mel Spectrograms (128 × 60)
  • Classes:
    • Whale 🐋
    • Ship 🚢
    • Dolphin 🐬
    • Unknown ❓
  • Loss: Weighted CrossEntropy (reduced bias toward unknown)

⚙️ Tech Stack

  • Python 🐍
  • PyTorch 🔥
  • Librosa 🎶
  • Streamlit 🌐
  • NumPy

📁 Project StructureMarine_Sound_Classifier/

│ ├── app.py ├── marine_model.pth ├── requirements.txt ├── demo.png │ ├── models/ ├── preprocessing/ ├── data/


📈 Results

  • High accuracy on ships and dolphins
  • Improved whale detection after preprocessing tuning
  • Stable unknown classification using confidence-based logic

🧪 How to Run

pip install -r requirements.txt
streamlit run app.py


About

Deep learning-based marine sound classifier using CNN and Streamlit with confidence-based unknown detection

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages