nuScenes LiDAR sweep · drag to orbit
Andrea Mastroberti
Teaching machines to see without human annotation.
MS Computer Science, Politecnico di Milano
Now
MS thesis with AIDA and Niulinx — joint self-supervised pretraining on unlabelled LiDAR and camera data.
Graduating December 2026. Looking for ML and robotics roles.
MS Thesis · AIDA / Niulinx · In Progress
Multimodal pretraining for autonomous driving
3D bounding box annotations are expensive, but raw driving logs are plentiful. My thesis adapts UniTR to pretrain a single transformer backbone directly on paired, unlabelled LiDAR and camera streams.
The core work is handling the structural asymmetry between sparse 3D point clouds and dense 2D images, avoiding representation collapse during self-supervised training, and designing compute-efficient evaluation benchmarks.
While tested on driving data, learning unified metric-RGB representations applies equally well to indoor robotics and spatial computing.
Google Summer of Code 2024 · FFmpeg
Fast perceptual metrics in FFmpeg
Implemented the enhanced SSIM (eSSIM) filter in C for FFmpeg.
The standard sliding-window implementation runs in O(mnk²) for an m × n frame and a k × k window. Rewriting the statistics with summed-area tables reduced this to O(mn), requiring just four memory lookups per window regardless of its size.
Added multithreading and configurable pooling, and upstreamed the patch to ffmpeg-devel.
Leonardo Drone Contest 2025 · 2nd Place Nationwide
Autonomous multi-agent target search
A ground vehicle, a drone, and a fixed Pan-Tilt-Zoom (PTZ) camera cooperating to map an unknown arena and locate targets with zero human input.
I built the PTZ vision system: an active search routine to scan the field, detect candidate 30 × 30 cm QR codes, and dynamically zoom in to decode and localize them in real time.
Lab Project · Reinforcement Learning · Robotics
Furuta pendulum from scratch
A rotary inverted pendulum built end to end: 3D-printed mechanics, motor control circuitry, and embedded policy inference on a Raspberry Pi.
Trained a swing-up and balance policy in simulation using Stable-Baselines3 (PPO), then tuned domain randomization parameters to bridge the sim-to-real gap on the physical rig.