Pagina principale Attività di ricerca Pubblicazioni Presentazioni Progetti di tesi per LS Corsi Tutoraggio Hobby & tempo libero Scrivetemi Questo sito usa
Google Analytics
Sito aggiornato al
10 Gennaio 2024

Progetti di tesi completati

Alcuni dei progetti di tesi che ho seguito, con puntatori ad eventuale codice sorgente, documentazione o altro materiale che è stato reso disponibile su Internet.

Automatic Music Transcription using convolutional neural network(CNN) and constant-Q transform(CQT), by Yohannis K. Telila

This thesis project has been realized by Yohannis K. Telila in partial fulfillment of the requirements for the MSc in Computing Science at University of Pisa, under the supervision of Tommaso Cucinotta and Davide Bacciu. The work realized in this thesis resulted also in a scientific publication: "Automatic Music Transcription using Convolutional Neural Networks and Constant-Q Transform," in Proceedings of the 3rd National CINI Conference on Artificial Intelligence (Ital-IA 2023), AI for Media & Games Workshop, May 29-31, 2023, Pisa, Italy.

Abstract

Automatic music transcription (AMT) is the problem of analyzing an audio recording of a musical piece and detecting notes that are being played. AMT is a challenging problem, particularly when it comes to polyphonic music.

In a traditional AMT, a holistic approach is commonly used, which involves using a single model to identify and detect all the musical notes in a given piece of music. These models are often large and complex making it difficult to train and deploy in real-world scenarios. This thesis introduces a new approach for transcribing a piano musical piece using a Convolutional neural network (CNN) and Constant-Q transform (CQT). The approach involves training separate classifiers per octave, with each classifier capable of detecting notes in an octave. The features from the audio signals are extracted using the CQT method and the resulting CQT coefficients are used as an input to the CNN model. By dividing the task of music transcription into multiple small tasks, this approach is expected to significantly reduce the model complexity and computation overhead of the transcription task, making it more suitable for real-world applications such as real-time music transcription.

Two approaches of subdividing the task of music transcription have been tested. The first approach involves detecting notes/chords for a given octave considering the given octave itself and the two octaves above. The second approach, in addition to the two octaves above, it considers an octave below the current one. This approach was compared with holistic models to determine its effectiveness. The experiments are aimed at evaluating the effectiveness of the proposed approach and its potential benefits in comparison to existing methods for transcribing piano songs.

Results show that the proposed approach was able to achieve a frame-based accuracy that was comparable to the holistic approach with significantly fewer parameters and training time demonstrating the feasibility of the proposed approach.

Document downloads

Access the University of Pisa thesis download page.

Download the published paper: Automatic Music Transcription using Convolutional Neural Networks and Constant-Q Transform.

Tecniche di Intelligenza Artificiale per il supporto al monitoraggio di infrastrutture per il Network Function Virtualization (NFV), di Dawit M. Anelay
La descrizione è solamente disponibile in lingua Inglese.

This thesis project has been realized by Dawit Mezemir Anelay in partial fulfillment of the requirements for the MSc in Computing Science at University of Pisa, under the joint supervision of Tommaso Cucinotta (Scuola Superiore Sant'Anna) and Davide Bacciu (University of Pisa).

Description

The world of network operators is shifting away from the traditional paradigm of physical appliances, to the novel one of software components deployed as virtual machines or containers, managed in an elastic way, according to a private cloud paradigm.
This thesis project proposes to build tools based on Artificial Intelligence, in order to support such tasks as performance monitoring and troubleshooting, and capacity monitoring and planning, needed to operate an infrastructure for Network Function Virtualization, in the context of a Telecom operator.

Requirements

Strong programming skills in C/C++ and Python, fluent Linux command-line tooling and BaSH shell scripting, good knowledge of operating systems and virtualization.

Benefits

The student will have a good opportunity to refine his/her skills in the above fields while working on real data, and gain a unique experience with developing innovative technologies that promise to disrupt the world of cloud and NFV operations.

Industrial collaborations

This thesis proposal is framed in the context of an on-going industrial collaboration with Vodafone, involving the RETIS, INRETE, PERCRO and ICT-COISP labs of Scuola Sant'Anna, as well as multiple international sites of the virtual infrastructure capacity management team of Vodafone.

RT-Mongo: Differentiated Real-Time Performance on a NoSQL Data-Base, di Remo Andreoli
La descrizione del progetto di tesi è disponibile solamente in lingua Inglese.

This thesis project has been realized by Remo Andreoli in partial fulfillment of the requirements for the MSc in Computing Science at University of Pisa.

In this thesis a set of modifications is proposed to the popular MongoDB NoSQL data-base software, that reduces temporal interference among competing requests on a per-client/request basis. Extensive experimentation with synthetic stress workloads demonstrates that the proposed solution is able to assure that requests with higher priorities achieve reduced and significantly more stable response times, with respect to lower priorities ones.

This work has also been published and presented at the 11th International Conference on Cloud Computing and Services Science (CLOSER 2021), on April 28-30, 2021, in Prague, Czech Republic, where it got the Best Student Paper Award. A later extension of the paper has also been published and presented at the 16th Workshop on Virtualization in High-Performance Cloud Computing (VHPC 2021), within the International Supercomputing Conference - High Performance (ISC 2021), July 2nd, 2021, in Frankfurt, Germany.

Posizionamento intelligente e gestione di container per servizi cloud ed NFV real-time per Kubernetes, di Stefano Fiori
La descrizione è solamente disponibile in lingua Inglese.

This thesis project has been realized by Stefano Fiori in partial fulfillment of the requirements for the MSc in Embedded Computing Systems at University of Pisa.

OS-level virtualization mechanisms, such as Linux Containers (LXC), are growing in demand and popularity as deployment and isolation mechanisms, thanks to their increased efficiency in resource usage, when compared with traditional machine virtualization techniques. Containers are becoming a fundamental brick in current and future architectures for distributed fault-tolerant components, which are increasingly based on micro-services.
In this context, Kubernetes is gaining momentum as an increasingly adopted open-source platform for automating deployment, scaling, and management of containerized applications. Kubernetes is written in Go, a modern programming language particularly suitable for writing efficient distributed applications, thanks to its compiled nature, along with a wide availability of libraries and tools.
This thesis proposal deals with integrating in Kubernetes advanced real-time scheduling features available on the Linux kernel today, such as SCHED_DEADLINE and its hierarchical variant for ensuring predictable execution of complex software components such as containers or virtual machines.

Design and Implementation of a Performance Testing Framework for High-Performance Inter-Container Communications, by Gabriele Ara
Descrizione disponibile solamente in lingua Inglese.

This thesis project has been realized by Gabriele Ara in partial fulfillment of the requirements for the MSc in Embedded Computing Systems.

In the domain of network operators, recent technological trends led to replacing traditional physical networking infrastructures with more flexible cloud-based systems, which can be dynamically instantiated on demand. The paradigm represented by Network Function Virtualization (NFV) aims to replace most of the highly specialized hardware appliances that traditionally are used to build a network infrastructure with software-based Virtualized Network Functions (VNFs) to improve network flexibility. A number of network functions need high-performance and low end-to-end latency. Primary research focus is now into reducing per-packet processing overheads by using user-space networking techniques, allowing applications to avoid the kernel when exchanging data between containers, either on the same machine or between different hosts. These techniques are generally indicated as kernel bypass mechanisms. In this thesis, a benchmarking framework has been designed and realized, for the purpose of comparing different kernel bypass mechanisms that can be used to exchange data between VNFs deployed on OS containers within a private cloud infrastructure, to determine which is the most suitable to build efficient network infrastructures in the cloud. Among these mechanisms, this work focuses on the evaluation of the Data Plane Development Kit (DPDK) framework and other tools that are built on top of it (e.g. software virtual switches).

The work has also been published and presented at the 14th Workshop on Virtualization in High-Performance Cloud Computing (VHPC 2019), within the International Supercomputing Conference - High Performance (ISC 2019), June 20th, 2019, in Frankfurt, Germany. A later extension of the paper has been published and presented at the 10th International Conference on Cloud Computing and Services Science (CLOSER 2020), on May 7-9, 2020, in Prague, Czech Republic, where it got the Best Paper Award.

A RISC-V Software Ecosystem - Study and Development of a Software Ecosystem employing a Test Driven Approach, by F. De Gioia
Descrizione disponibile solamente in lingua Inglese.

This thesis project has been realized by Francesco De Gioia in partial fulfillment of the requirements for the MSc in Embedded Computing Systems, during an internship at Cobham Gaisler Research, in Gothenburg (Sweden), under the joint academic supervision of myself and prof. Luca Fanucci.

Estensioni real-time per sound daemon su Linux, by G. Bagnoli

Il progetto di tesi è stato realizzato da Giacomo Bagnoli, tramite una serie di modifiche a JACK, l'infrastruttura per l'audio a bassa latenza per Linux, integrandolo con AQuoSA, una serie di modifiche sperimentali al kernel di Linux che aggiungono EDF-based scheduling per applicativi real-time. Il lavoro è anche stato pubblicato e presentato alla Linux Audio Conference 2011.

Descrizione

Il crescente bisogno di avere a disposizione, su sistemi operativi general-purpose, applicazioni multimediali ed ambienti desktop con buoni livelli di interattività ha portato alla realizzazione, su tali sistemi, di meccanismi e funzionalità tipiche dei sistemi operativi real-time. Queste si basano sul concetto di isolamento temporale delle applicazioni, garantito da opportune politiche di scheduling dei processi e thread da parte dello scheduler del sistema operativo. Allo stesso tempo, su sistemi operativi general-purpose non si può pensare di limitarsi ad una configurazione del sistema basata sull'analisi del WCET (Worst Case Execution Time), per questo si rendono necessarie una serie di estensioni che rendono il concetto di isolamento temporale in qualche modo maggiormente flessibile ed adattivo.
In questa tesi, si propone di studiare una soluzione che permetta di applicare tali tecnologie al contesto del playback di contenuti audio sul sistema operativo Linux, dove tipicamente il flusso di dati fornito dall'applicazione viene mediato da una serie di componenti software, sia a livello utente (server audio personali per la gestione di flussi multipli), sia a livello di kernel (moduli del kernel), che dovranno essere modificati per l'utilizzo di estensioni real-time. Eventualmente, si può valutare la possibilità di dimostrare l'efficacia del meccanimso realizzato su di un sintetizzatore MIDI software.

Requisiti.

Basi di sistemi operativi e scheduling basato su server, linguaggio C, interesse per le architetture di supporto al playback di contenuti audio, esperienza nella comprensione e modifica del codice di componenti software open-source scritte da altri.

Benefici.

Lo studente avrà l'opportunità di prendere confidenza con alcune delle estensioni real-time che costituiranno la base per lo sviluppo di applicazioni multimediali sui sistemi operativi in un prossimo futuro, ed acquisirà una certa esperienza in ambito delle architetture di supporto al suono su Linux.

SCOTT - Smart Card Open Test Toolkit (Gestore di Smart-Card Modulare), by A. Angella

Il progetto di tesi è stato realizzato da Andrea Angella, realizzando SCOTT (Smart Card Open Test Toolkit), un'architettura aperta, modulare ed espandibile per la realizzazione di shell per smart-card. Diverse smart-card o API anche di più alto livello possono essere supportate aggiungendo plug-in a quelli di base sviluppati durante la tesi, che supportano comunicazioni generiche ISO 7816 T=0, i comandi ISO 7816-4 e quelli specifici della Schlumberger Cryptoflex 16K.
Il codice è stato rilasciato in open-source sotto licenza GPL, ed è disponibile a questo indirizzo.

Descrizione

Il processo di sviluppo di software per smart-card continua ad essere particolarmente complesso per la mancanza di appropriati strumenti di supporto allo sviluppo e al debug, se non quelli proprietari messi a disposizione dai singoli fornitori di soluzioni, che comunque spesso sono artificiosamente non interoperabili per ragioni puramente commerciali.
In questa tesi, si propone di progettare e realizzare un software modulare ed espandibile che permetta di interagire con diversi dispositivi di smart-card in accordo non solo alle tipologie di protocollo supportate dal dispositivo, ma anche alle interfacce di più alto livello eventualmente disponibili sulla macchina tramite driver (ad es. PCSC o PKCS11). Il software dovrebbe permettere di visionare e gestire chiavi, certificati, PIN o file eventualmente residenti sul dispositivo, e di effettuare le varie operazioni di basso o alto livello rese disponibili dai diversi plugin installabili. L'architettura del software dovrà essere progettata secondo il paradigma Modello-Vista-Controllore (MVC), in modo da permettere la realizzazione di front-end sia grafici (a finestre) che completamente testuali (a riga di comando).

QSign, by C. Mauceri

Utility basata sull'ambiente grafico Qt per l'apposizione e la verifica di firme digitali in formato PKCS#7, che utilizza l'interfaccia standard PKCS#11 per la comunicazione con le smart-card.

JMuscleCard, by A. Pieroni

Modulo che permette di utilizzare l'interfaccia MuscleCard per smart-card dal linguaggio di programmazione Java, attraverso il meccanismo della Java Native Interface (JNI).

JC Emulator, by M. Ferrari and P. Grimaccia

Ambiente di emulazione per smart-card conformi alle specifiche JavaCard, che permette di effettuare test completi di soluzioni basate su tale piattaforma in maniera del tutto trasparente per esse.

GKM Manager, by D. Grandoni

Middleware modulare ed espandibile per la gestione di protocolli per la distribuzione di chiavi crittografiche di gruppo in ambiente multicast. Include un modulo che realizza un algoritmo basato sulla tecnica "One Way Function Tree (OWFT)".


Pagina principale Attività di ricerca Pubblicazioni Presentazioni Progetti di tesi per LS Corsi Tutoraggio Hobby & tempo libero Scrivetemi Sito aggiornato al
10 Gennaio 2024