Education#

Ph.D Student in ICT#

  • Nov 2021 ‑ Nov 2024 (expected)

  • Main topic of research: Few shot and zero shot continual learning

  • Advisor: Simone Calderara

  • AImageLab – University of Modena and Reggio Emilia, Modena, Italy

The research investigates integrating Continual Learning techniques into few-shot learning systems, training models with minimal examples from new classes. Traditional methods struggle with evolving data distributions. This study focuses on few-shot systems with dynamic data streams, using continual architectures alongside pseudolabelling and generative modeling.

Keywords

Continual Learning Semi‑Supervised Learning Unsupervised and Self‑Supervised Learning Semantic Segmentation Remote Sensing Graph‑based Learning Transfer Learning

MSc in Computer Engineering#

  • Oct 2018 ‑ Oct 2020

  • Thesis: Semi‑Supervised Continual Learning: avoid catastrophic forgetting with fewer labels

  • Courses: Machine Learning & Deep Learning, Real‑Time and Embedded Systems, Vision and Cognitive Systems, Big Data Analysis, Software Security, Web Applications & Mobile

  • Department of Engineering “Enzo Ferrari” – University of Modena and Reggio Emilia, Modena, Italy

  • Graduated with honors

Developed skills include application development for distributed and mobile platforms, embedded and real-time system design, Artificial Intelligence and Machine Learning, and Computer Vision.

Thesis#

This study aims to assess the impact of limited labels in Continual Learning, while also examining the effectiveness of common methods in a semi-supervised environment. The motivation for this work stems from the fact that promising techniques in Continual Learning typically rely on fully annotated datasets (supervised training). However, providing such information for every example is costly and time-consuming, as it requires significant human labor.

The results of this study were published in the paper Continual semi-supervised learning through contrastive interpolation consistency in the Pattern Recognition Letters journal.

Project activities#

During both my bachelor’s and master’s degree courses, I carried out several project activities:

  • Computer Vision system recognizing, rectifying, and retrieving images of paintings in the Estense Gallery of Modena. The system was developed for the “Computer Vision and Cognitive Systems” course and utilizes OpenCV and scikit-learn libraries. In addition, the system uses YOLOv3 to recognize the position of gallery visitors from the provided images.

  • Missile defense system simulation: Simulating a set of Patriot defense missiles that identify enemy targets and predict their trajectory to hit them. The application was developed for the “Real-time embedded systems” course in C language and the pthreads library for managing concurrency between different execution units.

  • Kittenwars: An application that sorts images based on a voting mechanism by users, developed for the “Web and Mobile Applications” course. The system includes a backend developed using the NestJS framework, a mobile app developed using React Native, and a web interface developed using React. Through the web interface, administrators have advanced functionalities for deleting and managing votes.

  • Car-sharing application: A mediation application between drivers and customers in a car-sharing context, developed for the “Dynamic Languages” course. The system allows customers to select start and end points on a map and view a list of their reservations, while drivers can view active reservations and modify their rates. An Administrator user type is also provided, which can manage refund requests and add/remove users from the blacklist. For the technical aspect, the backend of the application was developed using the Django framework and is available for installation via Docker, while Vue.js was chosen for managing the user interface on the front end.

  • Bit Heroes: A 2D video game inspired by Dungeon and Dragons, developed for the “Object-Oriented Programming” course. The project involves development in the Java language, with animation and event management handled using the LibGDX library.