I'm a student of the Erasmus Mundus Joint Master program in Imaging, a double degree master at Mid Sweden University (Sundsvall, Sweden) and, currently, at Tampere University (Tampere, Finland), with the partnership of Politecnico di Milano (Milan, Italy).
I work mostly at the intersection of machine learning, deep learning, computer vision, and data visualization. Most of what's here comes out of coursework, projects and my Bachelor's thesis in AI, but I try to take each project past the "class assignment" finish line and into something that stands on its own.
Machine Learning / Computer Vision
Real-time waste detection on the TACO dataset with Ultralytics YOLO, comparing label granularity, model size, resolution and layer-freezing across a 17-run sweep.
- Best result: YOLO26m at 960px with frozen layers — 0.561 mAP50 at ~21.5 FPS
- Found that simplifying the label space (binary vs. 60 fine-grained classes) mattered more than scaling the model
- Co-built with Javier Jerez Reinoso — hosted on his repo
PythonYOLOUltralyticsComputer Vision
An interactive multi-scene WebGL experience (living room, planet carousel, hidden room) built with Three.js for a Computer Graphics course.
- Smooth camera transitions via linear interpolation and Catmull-Rom spline paths, raycasting-based interaction, and full shadow/texture mapping
- Live demo
- Co-built with Javier Jerez Reinoso — hosted on his repo
JavaScriptThree.jsWebGL
Modular Python implementation of the SEDC/SEDC-T counterfactual explanation algorithm for image classifiers, built on PyTorch and scikit-learn. Grew out of my Bachelor's thesis in AI at the University of Pavia.
- Packaged as an installable Python module rather than a one-off script
- Works with both PyTorch and scikit-learn model wrappers
PythonPyTorchscikit-learnXAI
A subjective quality study comparing natural, CGI, and AI-generated images under bicubic down-/up-sampling, run as a Quantitative Research and Development project.
- Streamlit app used to collect the survey responses
- MOS scoring and mixed-effects statistical analysis of the results
PythonStreamlitStatistics
An interactive visual analytics dashboard for evaluating 138 cities based on financial, residential, and lifestyle factors; developed for a Visualization course during my Master in Imaging.
- Implements coordinated multiple views (interactive maps, radar profiles, bar charts) and a custom composite scoring system with user-defined weights for what-if analysis
- Live demo
- Co-built with Javier Jerez Reinoso — hosted on his repo
JavaScriptD3.jsPythonData Visualization
- LiMiT Motion Detection — NLP project for binary classification of physical motion in text, comparing classical embeddings and neural models (LSTM, Transformer, fine-tuned DistilBERT) using PyTorch and Hugging Face.
- Planisuss — a small ecosystem simulation (Vegetob, Erbast, Carviz) built in Python and matplotlib; final exam project for the joint Bachelor in AI (Pavia / Milano-Bicocca / Milano Statale).
- Health Insurance Cross-Sell Prediction — ML project predicting cross-sell interest in vehicle insurance for health insurance clients, covering imbalanced classification, feature engineering and nested cross-validation.
- Classification and Bounding Boxes Deep Learning - DL project to predict both the class and the bounding boxes around the subject; supervised learning.
- AI Bachelor assignments - collection of all the assignments and knowledge collect during my bachelor studies in AI.
- Imaging Master assignments - collection of all the assignments and knowledge collect during my ongoing master in Imaging.
- GitHub: @zenna7
- Email: marcozennaro28@gmail.com
- LinkedIn: Marco Zennaro