🥇 Best Model Performance (Lowest Cost Score) out of 77 Teams

Official ranking by course lecturers, jump to page 18 for our team's results
Univ.-Prof. Dr. Gerhard Widmer: "How much time did you spend on this project? ..."
Team Member: "More than we should..."
Team Member: "Maybe a better answer would be we were like too invested into it. So, yes, I mean we got into a loop; as Professor (Paul) Primus said, we came up with 11 hypotheses. 'This doesn’t work', 'OK', we came with another one and so on..."
Univ.-Prof. Dr. Gerhard Widmer: "You just loved it!"
Team Member: "Exactly."
A competition-winning Sound Event Detection (SED) system developed for JKU Linz's Machine Learning and Pattern Classification (MLPC SS25) course, leveraging free-text annotations to enable reuse of general audio datasets for specialized detection — eliminating manual relabeling. Key innovations:
🚧 Under Development
Key innovations are still being documented🚧 Under Development
This section contains preliminary results and is not yet ready for deployment/reproducibility. Metrics are being actively updated.Metric | Our Score | Baseline | Improvement |
---|---|---|---|
Weighted Cost Score | 41.813723 |
↓ #% | |
False Negatives | 12 | ||
Inference Speed | |||
Mechanical Sounds |
# Clone repository
git clone https://github.com/8asic/mlpc2025-sound-event-detection.git
cd mlpc2025-sound-event-detection
# Create and activate conda environment
conda create -n mlpc python=3.9 -y
conda activate mlpc
# Install core package in editable mode
pip install -e .
# Run automated installation script (detects hardware and installs optimal packages)
python -m scripts.install
# Or manually specify extras
pip install -e .[cpu,extras] # CPU-only
pip install -e .[gpu,extras] # GPU support
# 3. Download all datasets (6.8GB + 6.1GB + 2GB)
python scripts/setup_data.py --tasks 2 3 4
# Or download specific tasks:
python scripts/setup_data.py --tasks 2 # Task 2 only (6.8GB)
python scripts/setup_data.py --tasks 3 # Task 3 only (6.1GB)
python scripts/setup_data.py --tasks 4 # Task 4 only (2GB)
Stage | Description | Resources |
---|---|---|
Task 0 | Form Teams | |
Task 1 | Data Annotation | Task PDF, Slides |
Task 2 | Data Exploration | Task PDF, Slides |
Task 3 | Classification | Task PDF, Slides |
Task 4 | Challenge | Task PDF, Slides |
.
├── artifacts/ # Final outputs that should NOT be modified manually
│ ├── predictions/ # Model prediction files (e.g., challenge submissions)
│ ├── presentations/ # Presentation decks (PPT/PDF) for each task
│ └── reports/ # Formal PDF reports for grading
│
├── assets/ # Static media files
│ ├── figures/ # Generated plots/visualizations (PNG/JPEG)
│ └── results/ # Official competition proofs/screenshots
│
├── data/ # All dataset files (git-ignored raw data)
│ ├── huggingface/ # HuggingFace-specific files (e.g., evaluation scripts)
│ ├── processed/ # Cleaned/transformed data (features, embeddings)
│ └── raw/ # Original datasets from JKU Cloud (never modify)
│
├── docs/ # Project documentation
│ ├── meeting_notes/ # Team meeting summaries (Markdown format)
│ └── project_description/ # Original project briefings/requirements
│
├── models/ # Serialized model binaries (weights, pickles)
│ ├── experimental/ # Models under development/testing
│ └── production/ # Final models used in challenges (ONNX/PyTorch)
│
├── notebooks/ # Jupyter notebooks by project phase
│ ├── 1_Data_Annotation/ # Task 1: Annotation analysis
│ ├── 2_Data_Exploration/ # Task 2: EDA and clustering
│ │ └── archive/ # Archived exploration notebooks (WIP versions)
│ ├── 3_Classification/ # Task 3: Model training
│ │ ├── archive/ # Archived classification notebooks
│ │ ├── configs/ # Hyperparameter configurations (YAML/JSON)
│ │ ├── model_analysis/ # Model evaluation notebooks
│ │ └── model_training/ # Training pipelines
│ └── 4_Challenge/ # Task 4: Final challenge solutions
│ ├── archive/ # Archived challenge attempts
│ └── bonus_task/ # Extra challenge experiments
│
├── scripts/ # Utility scripts
│ ├── install.py # Environment setup and dependency installer
│ └── setup_data.py # Dataset download/preprocessing handler
│
├── src/ # Reusable Python code (proper package structure)
│ ├── data/ # Data loading/preprocessing utilities
│ ├── evaluation/ # Custom metrics/cost calculations
│ ├── features/ # Feature engineering (audio/text)
│ ├── models/ # Core model architectures (PyTorch)
│ ├── utils/ # Helper functions and shared utilities
│ └── config.py # Centralized project configuration
│
├── tasks/ # Original task materials
│ ├── Task1_Data_Annotation/ # PDFs/slides from Task 1
│ ├── Task2_Data_Exploration/ # PDFs/slides from Task 2
│ ├── Task3_Classification/ # PDFs/slides from Task 3
│ └── Task4_Challenge/ # PDFs/slides from Task 4
│
├── tutorials/ # Course tutorial materials
│
├── .gitattributes # Git configuration for line endings/binary files
├── .gitignore # Specifies untracked files (e.g., raw data)
├── pyproject.toml # Python project metadata and dependencies
├── README.md # Project overview and documentation
└── setup.py # Package installation configuration
Member | Socials |
---|---|
Abdalaziz Ayoub | 🔗 Github, 🔗 LinkedIn |
Abdulkarim Al Jamal | 🔗 Github, 🔗 LinkedIn |
Beibarys Abissatov | 🔗 Github, 🔗 LinkedIn |
Jeronim Bašić | 🔗 Github |