➑️ Skills

Programming languages

  • πŸ“ Data science: Python, R, MatLab, SQL
  • 🌐 Web: TypeScript, JavaScript
  • πŸ“ Functional: Haskell
  • 🌲 OOP: C++, Java, Rust
  • πŸ“œ Markup: HTML, CSS, LaTeX

Frameworks

  • 🐍 Python: NumPy, SciPy, Pandas, PyTorch, Scikit-learn, OpenCV, Mediapipe, Matplotlib, Seaborn
  • πŸ•ΈοΈ Web & mobile: Ionic, Angular, React, Node.JS

Tools

  • πŸ’½ Databases: mySQL, MongoDB, PostgreSQL
  • πŸ‘©β€πŸ’» DevOps: Git, Github, Docker, TravisCI
  • ⌨️ IDEs: VSCode, IntelliJ
  • πŸ–₯️ OS: GNU/Linux, Windows, MacOS

➑️ Selected projects

Studying and Improving Motion Indeterminacy Diffusion for Stochastic Trajectory Prediction

πŸ—“οΈ September 2022 - February 2023
🏁 Finished
πŸ‘₯ Enrico Buratto

Human trajectory prediction is a fast growing subject in the Computer Vision field; the study of this problem is acquiring more and more importance due to its practical implications, among which autonomous driving and crowd surveillance are the most cited. Many different points of view are being analyzed in order to improve the precision and the correctness of the models; for instance, different data can be exploited to better understand how humans behave, and different mathematical frameworks can be used to improve the predictions. One big acknowledgment in the field is that this is a challenging task due to the inherent indeterminacy human motion brings: free will and unpredictability are, in fact, intrinsic to human behavior. The authors of the paper on which this work is based try to solve this very issue: their idea, based on the concept of diffusion models, is to simulate this indeterminacy by applying random noise and subsequently try to learn how to remove it from the available data in order to obtain the most probable trajectories. Their work, however, is based on an outdated version of diffusion models; many advancements have been made in the meantime, thus the idea for this work: we try to modify the model by applying the improvements, and thus try to improve its performance. In addition to this, we tried to expand the model by implementing a goal module, already developed and currently in improvement by the VIMP group at University of Padua, in order to include additional information and, therefore, to enhance the model capabilities. ​


Data Visualization for World Energy Production and Consumption

πŸ—“οΈ April 2022
🏁 Finished
πŸ‘₯ Enrico Buratto

Interactive Data Visualization course's project at University of Helsinki. The idea of the project is to study the global trends in energy consumption and electricity generations between 1900 and 2019. In order to study these trends, different visualizations had to be implemented, the most important of them being the map visualizations. The final scopes are then to offer an interactive way to access data for each country and each year offering useful tools like filters, to offer a static (though still interactive) way to visualize the general trends through the years, and to have information quickly available for the user. The project is entirely developed using Tableu, one of the most popular data visualization tools.


Prediction system for New Particle Formation in Helsinki

πŸ—“οΈ March 2022
🏁 Finished
πŸ‘₯ Enrico Buratto, Eoin Doyle, Fran Jurinec

Machine Learning course's project at University of Hesinki. In short, New Particle Formation (NPF) is the phenomenon of a big particle of pollution forming from other small particles under some conditions; this event is conditioned by many parameters, which are collected on a daily basis from the HyytiΓ€lΓ€ Forestry Field Station. These are in turn taken into consideration by us in order to achieve the final goal of the project, which is the one of predicting the NPF phenomenon in terms of when it will happen and its entity. In order to achieve this goal, we implemented two different machine learning models, one that inferes the event/nonevent prediction and one that inferes the intensity of the event, thus labeling it as Ia/Ib/II/nonevent.


Multi-label image classification via Convolutional Neural Networks

πŸ—“οΈ February 2022
🏁 Finished
πŸ‘₯ Enrico Buratto, Giacomo Grandi, Rayyan Hassan

Deep Learning course's project at University of Helsinki. The goal of the project is to implement a Neural Network capable of recognizing several objects inside an image. Since a picture can have more than one label, this problem is different from a simple multi-classification task: it is, indeed, a multi-label and mutli-classification jobs. As demostrated by the literature, Convolutional Neural Networks represent the goal standard for this kind of tasks; therefore, out entire approach is based on them.


Build-a-Movie

πŸ—“οΈ October 2021
🏁 Finished
πŸ‘₯ Enrico Buratto, Perttu LΓ€hteenlahti, Touko Puro

Data Science course's project at University of Helsinki. The aim of this project is to build a tool for movie directors and investors to play around with movie data with the goal of picking the best combination of actors, directors, and genres to build the highest-performing imaginary movie they can come up with. The performance is based on an estimated box office score model built from existing movie box office numbers and IMDb ratings. The final goal is to give movie directors a general direction on which movie can be a good investment of time and money and which not using a simple and fast-forward web application.


Smart Assistant Interaction through Visual Gesture Recognition using a Kinect Sensor

πŸ—“οΈ July 2021
🏁 Finished
πŸ‘₯ Enrico Buratto, Mariano Sciacco

In the last decade, the raise of smart assistant devices played a key role for the everyday life as they help to retrieve information from the web, manage other home devices and execute routines independently. Even though the vocal interaction is getting more and more efficient, not always the commands are interpreted correctly. Moreover, looking at deaf people and/or people with speech disabilities, the effective interaction is drastically reduced, thus limiting the use of this kind of devices. The main goal of this project is to use the visible body parts of a person to interact with smart devices like Google Home through human pose estimation and gesture recognition. During our work we compared two different solutions – Google MediaPipe and NiTE2 middleware for Kinect –, and for both of these use-cases we tried different classification algorithms: multinomial logistic regression, ridge regression, random forest, support vector machines and multilayer perceptron. Through intensive trial and error experiments we were able to get F1-scores in a range between 0.71 and 0.97 for the different use-cases and classification algorithms, with an average accuracy never below 0.70.


Migrating a web app to a mobile device with Ionic

πŸ—“οΈ September 2020 - December 2020
🏁 Finished
πŸ‘₯ Enrico Buratto

Bachelor's thesis at University of Padua. I carried out this project in collaboration with Sync Lab srl, an ICT company based in Naples with several branches spread in Italy. The goal of this work has been to study and use the Ionic framework to migrate a web application to a mobile device. This web application is called SyncTrace, and it is a contact tracing app for COVID-19 contagion prevention, entirely developed by Sync Lab.


Predicting in Grafana

πŸ—“οΈ March 2020 - July 2020
🏁 Finished
πŸ‘₯ Enrico Buratto, Sofia Bononi, Marco Nardelotto, Nicholas Miazzo, Ian Nicolas di Menna, Enrico Galdeman, Alessandro Franchin

Development of a congestions prevention system for big data infrastructures, using machine learning algorithms such as simple linear regression and support vector machines. The project has been developed during the Software Engineer course, and it was proposed by Zucchetti, an important italian multinational in the ICT field.


Do it yourself smart home assistant using Large Language Models

πŸ—“οΈ February 2023
🏁 Ongoing
πŸ‘₯ Enrico Buratto

This project, which I just started to work on as a side project for fun, aims to build a smart home assistant (e.g. Google Home, Amazon Alexa, etc.) using a large language model (e.g. GPT-3, GPT-J, etc.) and a Raspberry Pi/Arduino together with a thin client/a small and power-efficient server, which will be able to produce sentences based on user input. The project is still in its early stages; at the moment, I was able to implement the voice recognition and the text-to-speech functionalities, and I am working on the implementation of the language model, which will probably be based on a GPT open source implementation.


Optical Character Recognition plugin for MPV

πŸ—“οΈ March 2020
🏁 Ongoing
πŸ‘₯ Enrico Buratto

This project, which I started during the first lockdown in Italy and I left aside to focus on my university duties, aims to implement a plugin for MPV (one of the most famous video players for UNIX-like operating systems) which should be able to perform OCR on the slides of a video. This way, the user will be able to copy and paste text from the video, and search for specific words, making both the video to be more accessible and the learning process more efficient.