Note
The README for this profile is currently under construction. In the meantime, you can check out the projects I have contributed to below!
Master's student in Computer Engineering at Politecnico di Torino, specializing in Computer Graphics & Multimedia.
My main interests and focus areas:
- 🥽 Extended, Augmented & Virtual Reality
- 🎨 3D Graphics & Modeling
- 👁️ Computer Vision & Image Processing
- 🎵 Audio Elaboration & Signal Processing
- 🤖 Machine Learning applied to Vision and Multimedia
Currently completing a Master's thesis on evaluating cognitive states in XR environments through active and passive brain-computer interfaces.
- 👀 Geometric and Neural Facial Verification
- 🚗 DriveAcademyVR: A VR Driving School Simulator
- 🎵 Song Noise Reduction Without Clean Training Data
- 📹 Canoe Slalom Video Analytics
- 🚶➡️ 3D Computer Animation with Blender
- 🏛️ My Museum Adventure: A Gamified Museum Guide
- 🕹️ 3D Modeling and Interactive Graphics Application
- 📚 TaskLass: A Web Platform for School Assignments
↔️ Low-Latency Multi-Platform Screen-Casting- 🧱 Embedded Quoridor on ARM Cortex-M3
This project evaluates two facial verification methods built into an iOS application using Unity, C#, and AR Foundation: a 3D Geometric Approach and a 2D Neural Approach.
- 3D Approach: Captures TrueDepth point clouds via ARKit to measure normalized Euclidean distances across 17 anatomical landmarks (from 1,220 tracked points).
- 2D Approach: Uses ArcFace (ResNet-100 backbone) on Unity's Barracuda engine to compare 512-dimensional embeddings from RGB images using cosine similarity.
The application features real-time face detection, a 3D facial viewer, live dual-pipeline testing, biometric measurement logging, and CSV export. Experimental results across 100+ tests showed the 3D method achieved 97.12% overall accuracy and 100% recall, whereas the ArcFace model achieved 100% precision.
Drive Academy VR is a virtual reality driving school simulator developed for the Meta Quest 3 headset. It provides an immersive, risk-free environment for users to practice driving, learn traffic rules, and receive real-time vocal guidance from a virtual instructor.
Built with realistic vehicle physics, the system features a fully interactive cockpit where users manually operate controls (steering wheel, gear shift, turn signals, handbrake, seatbelt), backed by a diegetic UI integrated into the dashboard. Operating within a grid-based city filled with traffic and pedestrians, the application tracks performance, provides immediate visual, auditory, and haptic feedback on infractions, and includes an introductory tutorial module.
A deep learning audio denoising pipeline built using a 20-layer Deep Complex U-Net (DCUNet-20) architecture to perform music denoising without requiring clean training data.
Adopting the Noise2Noise paradigm, the network was trained exclusively on pairs of noisy audio signals generated by combining tracks from the MUSDB18 dataset with environmental and gaussian sound events from UrbanSound8K. The implementation operates directly on complex-valued Short-Time Fourier Transform (STFT) spectrograms to preserve magnitude and phase information.
- Key Technical Highlights: Complex convolutions, complex batch normalization, Rayleigh-distribution complex weight initialization, and gradient optimization via Weighted Signal-to-Distortion Ratio (WSDR) loss.
- Results: Achieved an average Signal-to-Noise Ratio (SNR) improvement of +7.54 dB, outperforming baseline speech-oriented models on musical signals.
Developed for the Image Processing and Computer Vision course at Politecnico di Torino to analyze Canoe Slalom performances. Built using Python and OpenCV, the system applies computer vision techniques to track the canoe and detect slalom gates in dynamic video streams under water reflections and camera movement.
- Key Features: Gate detection & segmentation, athlete and boat tracking, automated evaluation of gate touches/misses, and optimized frame processing.
- Techniques Used: Morphological operations, contour detection, and optical flow for real-world sports analytics.
A 3D character animation created in, serving as a partial recreation of the crane worker sequence from the McVitie's "Sweeter Together" TV advert.
The project focuses on stylized character mechanics and dynamic locomotion, translating the original choreography into an expressive, rhythmic sequence across an industrial crane structure. Key technical highlights include a custom skeletal rig with inverse kinematics (IK) for precise footwork along narrow steel beams, natural weight transfer and secondary bounce during dance turns and step variations, reactive prop motion (loose tie, safety harness, lunchbox, thermos), and a warm, atmospheric sunset lighting setup that captures the tone and depth of the reference commercial.
Developed for the Human-Computer Interaction course at Politecnico di Torino, My Museum Adventure is an Android app designed to gamify museum visits through theme-based interactive quests.
Users choose narrative paths (Adventure, Fantasy, Sci-Fi) and solve riddles to discover artworks while earning medals.
- Features: Camera-based artwork scanning via external image recognition APIs, crowdsourced interactive maps for navigation, and detailed descriptions with multilingual audio guides.
- Tech Stack: Kotlin, Jetpack Compose, Room (offline storage), CameraX, OkHttp, and Jetpack Navigation.
Created for the Computer Graphics course, this project implements core principles of 3D rendering, modeling, and interactive visual computing.
It consists of a real-time game application built with OpenGL along with a realistic 3D scene modeled in Blender using physics simulation techniques.
- Features: Geometric transformations, scene graph management, dynamic lighting (Phong/Blinn-Phong), texture mapping, and custom shaders.
TaskLass is a full-stack web platform developed for Web Applications 1, designed to digitize assignment creation, submission, and grading.
- User Roles: Teachers create assignments for specific student groups and grade submitted work; students submit responses and track their server-calculated GPA.
- Architecture: Reactive frontend built with React and React Router paired with a Node.js/Express backend exposing authenticated REST APIs with session management.
- Data Management: Relational database schema modeling many-to-many relationships, REST APIs, and concurrency handling.
Developed for the System Programming course at Politecnico di Torino, this cross-platform PC application in Rust enables low-latency real-time screen sharing on Windows, macOS, and Linux using IPv4 multicast with an intuitive egui GUI.
- Sender: Configures IP/port and monitor selection. Real-time controls to pause sharing, send a blank white screen, draw annotations (rectangles, arrows), share specific regions, or stop stream with hotkeys (
Ctrl+P,Ctrl+B,Ctrl+D,Ctrl+S,Ctrl+Q). Includes fallback handling if a monitor disconnects. - Receiver: Connects via IPv4 multicast, featuring session exit options and built-in screen recording powered by FFmpeg (with automatic download handling if not pre-installed).
Quoridor is a from-scratch embedded implementation of the classic board game, developed for the Computer Systems Architecture course at Politecnico di Torino on an ARM Cortex-M3 platform (Keil µVision), programmed in C with critical routines in Assembly.
- Gameplay & Logic: The 13×13 board is modeled as a matrix alternating player and wall cells, with a recursive DFS-based algorithm ensuring no wall placement can ever fully trap an opponent.
- Hardware & Peripherals: GLCD display and touch panel for rendering, joystick and buttons (via RIT-based polling/debouncing) for input, and multiple hardware timers to manage the 20-second move clock and on-screen messages.
- NPC & Multiplayer: A single-board mode features an NPC opponent that pathfinds with a Dijkstra-based algorithm, while a two-board mode enables head-to-head play over CAN bus, synchronized through a handshake protocol.








