Wastely
AI platform detecting full public trash bins · EFREI Mastercamp
- Period
- Jun – Jul 2025
- My part
- AI / software developer in a team of 5: the ML layer and the ONNX deployment. The Flask platform was built by the team.
- Stack
- Python
- TensorFlow/Keras
- MobileNetV2
- ONNX Runtime
- OpenCV
- scikit-learn
- Flask
- SQLite
- Leaflet/OSRM
Built an AI platform (team of 5) classifying photos of public trash bins as full or empty. Fine-tuned a MobileNetV2 CNN to 85% held-out accuracy (94% precision) and deployed it via ONNX at 3x smaller model size.
- Built an AI web platform that classifies photos of public trash bins as full or empty to help cities prevent illegal dumping. Engineered an 11-feature image pipeline (OpenCV) feeding a SQLite database and a Flask app.
- Benchmarked 3 classification approaches on ~600 labelled images: a transparent 16-rule engine (60% accuracy), a Random Forest (61%), and a fine-tuned MobileNetV2 CNN reaching 85% held-out accuracy and 94% precision using transfer learning and data augmentation.
- Deployed the CNN with ONNX Runtime for CPU-only inference, cutting model size by 67% (58 to 19 MB) in line with the project's Green-IT constraint.
- Shipped as a multilingual Flask web app (46 routes, 4 languages) with geolocated email alerts, QR-code citizen reporting and OSRM-optimised collection routes.
Why transfer learning won
Global image statistics can't capture spatial patterns, and a CNN trained from scratch overfits on ~550 images (76%).
Outcome
Jury-validated: all four functional requirements passed.