Politecnico Di Bari
Dipartimento di Ingegneria Elettrica e dell’Informazione
Corso di Laurea Triennale in
Ingegneria Informatica e dellAutomazione
Tesi di Laurea in
Fondamenti di Automatica
Progettazione e Implementazione di un sistema per il
Tracciamento di oggetti in movimento basato su
Event Camera
Relatore:
Chiar.mo Prof. Luca De Cicco
Correlatore:
Dott. Nunzio Barone Laureando:
Daniele Filannino
ANNO ACCADEMICO 2024-2025
LIBERATORIA ALLA CONSULTAZIONE DELLA TESI DI LAUREA DI CUI ALL’ART.4
DEL REGOLAMENTO DI ATENEO PER LA CONSULTAZIONE DELLE TESI DI LAUREA
(D.R. n. 479 del 14/11/2016).
Il sottoscritto Filannino Daniele matricola 587696
Laurea in Ingegneria Informatica e dell’Automazione
Corso di
autore della presente tesi di Laurea dal titolo Tracciamento Real-Time di Oggetti in Movimento
con una Event Camera
Parole chiave: Event Camera, Rilevazione, Tracciamento, Oggetti in Movimento, Tempo Reale
Abstract: Nell'ambito della Computer Vision uno dei compiti principali è la rilevazione e il tracciamento di
oggetti all'interno di una scena (object detection and tracking), il cui obiettivo è identificare e localizzare gli
oggetti presenti e seguirne il movimento nel tempo. Negli ultimi anni, tuttavia, è emersa una nuova tipologia
di sensori, noti come event camera, che rilevano le variazioni di luminosità in modo asincrono al livello del
singolo pixel. Questi sensori hanno rivoluzionato il paradigma tradizionale degli algoritmi di Computer Vision,
basati sul sincronismo dei frame. Di conseguenza è necessario sviluppare nuovi algoritmi o adattare quelli
esistenti con l'output delle event camera, al fine di valorizzare le loro promettenti caratteristiche tecniche:
elevata risoluzione temporale, bassa latenza e una assenza di ridondanza dei dati acquisiti. Queste specifiche
li rendono particolarmente adatti a scenari dinamici e con elevato movimento, oltre che a sistemi con risorse
limitate in termini di banda e capacità di calcolo. Questa tesi si propone di sfruttare le potenzialità di una event
camera per implementare un sistema di rilevamento e tracciamento di oggetti in movimento in tempo reale,
confrontandone le prestazioni con quelle ottenibili con una telecamera tradizionale. I risultati sono stati
inizialmente validati tramite un dataset, così da garantire condizioni controllate e ripetibili, per poi essere testati
anche con sensori reali in uno scenario operativo. Tali prove hanno mostrato che il sistema basato sugli eventi
risulta non solo computazionalmente più efficiente, ma anche più preciso nel rilevamento di oggetti di medie
o grandi dimensioni in scenari con rumore ridotto. La precisione, tuttavia, si degrada significativamente in
presenza di un elevato livello di rumore nella scena.
□ Autorizza
□ Non autorizza
la consultazione della presente tesi, fatto divieto a chiunque di riprodurre in tutto o in parte quanto in
essa contenuto.
Bari, 02/07/2025 Firma_______________________________________________
Un robot non può recare danno a un essere umano né può permettere che,
a causa del suo mancato intervento, un essere umano subisca danno.
Isaac Asimov
Indice
Elenco delle Tabelle 1
Elenco delle Figure 2
Elenco dei Codici 5
Acronimi e Abbreviazioni 6
Introduzione e Scopo della Tesi 7
1 Introduzione 8
1.1 Rilevamento e Tracciamento degli oggetti . . . . . . . . . . . . . . . 8
1.1.1 Rilevamento degli oggetti . . . . . . . . . . . . . . . . . . . . 8
1.1.2 Tracciamento . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Sensori di Visione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.1 Sensori Frame-based . . . . . . . . . . . . . . . . . . . . . . 9
1.2.2 Sensori Event-based . . . . . . . . . . . . . . . . . . . . . . 11
1.2.3 Confronto tra sensori frame-based and event-based . . . . . 14
1.3 Obiettivo della Tesi . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2 Stato dell’arte 16
2.1 Tecniche classiche di rilevamento oggetti . . . . . . . . . . . . . . . 16
2.1.1 Metodi Diretti . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.2 Metodi basati sulla Sottrazione dello Sfondo . . . . . . . . . 17
2.2 Rilevazione event-based degli oggetti . . . . . . . . . . . . . . . . . 17
2.2.1 Metodi Asincroni . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.2 Metodi con Accumulo . . . . . . . . . . . . . . . . . . . . . 19
2.3 Tecniche di Tracciamento . . . . . . . . . . . . . . . . . . . . . . . . 19
3 Progettazione e sviluppo 21
3.1 Pipeline del Progetto . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.1 Docker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.2 Robot Operative System 2 . . . . . . . . . . . . . . . . . . . 22
3.1.3 Utilizzo di Docker e ROS2 . . . . . . . . . . . . . . . . . . . 23
3.2 Acquisizione dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.1 Sensori Utilizzati . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.2 Driver per la FireFly S . . . . . . . . . . . . . . . . . . . . . 25
3.2.3 Driver per la EVK4 . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.4 Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 Rilevamento frame-based . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.1 Background Subtraction . . . . . . . . . . . . . . . . . . . . 33
3.3.2 Operazioni morfologiche nel rilevamento frame-based . . . . 34
3.3.3 Riconoscimento nel rilevamento frame-based . . . . . . . . . 34
3.4 Rilevamento event-based . . . . . . . . . . . . . . . . . . . . . . . . 35
3.4.1 Decoder event-camera . . . . . . . . . . . . . . . . . . . . . 35
3.4.2 Metodi per l’accumulo degli eventi . . . . . . . . . . . . . . 36
3.4.3 Operazioni Morfologiche nel rilevamento event-based . . . . 37
3.4.4 Riconoscimento nel rilevamento event-based . . . . . . . . . 37
3.5 Tracciamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.6 Rilevazione Metriche . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4 Risultati 44
4.1 Simulazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.1 Simulazione A . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.2 Simulazione B . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.1.3 Simulazione C . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2 Precisione e Sensibilità . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.1 Analisi metriche della simulazione A . . . . . . . . . . . . . 48
4.2.2 Analisi metriche della simulazione B . . . . . . . . . . . . . 49
4.2.3 Analisi metriche della simulazione C . . . . . . . . . . . . . 51
4.2.4 Confronto in base alla Precisione e Sensibilità . . . . . . . . 52
4.3 Tempi di computazione . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.3.1 Analisi dei Tempi di Computazione della simulazione A . . . 53
4.3.2 Analisi dei Tempi di Computazione della simulazione B . . . 56
4.3.3 Analisi dei Tempi di Computazione della simulazione C . . . 60
4.3.4 Confronto in base ai Tempi di Computazione . . . . . . . . . 63
4.4 Implementazione Real-Time . . . . . . . . . . . . . . . . . . . . . . 64
4.4.1 Tempi di computazione Real Time . . . . . . . . . . . . . . 67
4.4.2 Metriche ROS2 . . . . . . . . . . . . . . . . . . . . . . . . . 68
Conclusioni 71
4.5 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.6 Sviluppi futuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Bibliografia e Sitografia 73
Elenco delle Tabelle
4.1 Metriche sul numero di oggetti rilevati dalla Simulazione A. . . . . 48
4.2 Metriche di precisione ottenute dalla Simulazione A. . . . . . . . . . 48
4.3 Metriche sul numero di oggetti rilevati dalla Simulazione B. . . . . . 49
4.4 Metriche di precisione ottenute dalla Simulazione B. . . . . . . . . . 49
4.5 Metriche sul numero di oggetti rilevati dalla Simulazione C. . . . . . 51
4.6 Metriche di precisione ottenute dalla Simulazione C. . . . . . . . . . 51 1
Elenco delle Figure
1.1 Principio di funzionamento di una telecamera ad otturatore globale.
Fonte: [1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Principio di funzionamento di una telecamera ad otturatore a scor-
rimento. Fonte: [1] . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3 Confronto tra l’output di una telecamera tradizionale (grafico su-
periore) e quello di una event camera, relativi alla rilevazione di un
. . . . . . . . 12
oggetto in movimento a velocità variabile. Fonte: [2]
2.1 Metodi asincroni per la rilevazione di oggetti. Fonte: [3] . . . . . . . 18
2.2 Esempio di object detection tramite Event-based YOLO. Fonte: [3] . 19
3.1 Componenti fondamentali del progetto . . . . . . . . . . . . . . . . 21
3.2 Telecamera FireFly S. . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 Event Camera EVK4. . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4 Informazioni di log di Metavision-driver. . . . . . . . . . . . . . . . 29
3.5 Esempio di un Frame RGB ottenuto dalla simulazione . . . . . . . . 30
3.6 Esempio di uno Pseudo-Frame ottenuto dalla simulazione . . . . . . 31
3.7 Esempio di un Instance Segmentation frame ottenuto dalla simula-
zione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.8 Pipeline del rilevamento frame-based. . . . . . . . . . . . . . . . . . 33
3.9 Pipeline del rilevamento event-based . . . . . . . . . . . . . . . . . 35
3.10 Differenza tra prima (a) e dopo (b) l’applicazione delle operazioni
morfologiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.11 Funzionamento dello step di Associazione in SORT. Fonte: [4] . . . 42
4.1 Ground Truth della simulazione A, evidenziata in rosso. . . . . . . 45
4.2 Ground Truth della simulazione B, evidenziata in rosso. . . . . . . 46
4.3 Ground Truth della simulazione C, evidenziata in rosso. . . . . . . 46
4.4 Esempio di Ids dovuto a un occlusione parziale . . . . . . . . . . . . 49
4.5 Scie generate dai veicoli in movimento nella Simualzione B. . . . . . 50
4.6 "Effetto causato dalle scie generate dai veicoli in movimento nella
Simulazione B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.7 Rilevazione basata sugli eventi di un veicolo occluso da un albero
nella Simulazione C. . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.8 Rilevazione basata sui fotogrammi di un veicolo occluso da un albero
. . . . . . . . . . . . . . . . . . . . . . . . . . 52
nella Simulazione C. 2
4.9 Numero di eventi per frame nella simulazione A. . . . . . . . . . . . 53
4.10 Divisione dei tempi di computazione per frame dell’algoritmo Back_Sub
nella simulazione A. . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.11 Tempo medio di computazione dell’algoritmo Back_Sub nella simu-
lazione A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.12 Divisione dei tempi di computazione per frame dell’algoritmo Db-
scan nella simulazione A. . . . . . . . . . . . . . . . . . . . . . . . . 55
4.13 Tempo medio di computazione dell’algoritmo Dbscan nella simula-
zione A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.14 Divisione dei tempi di computazione per frame dell’algoritmo Con-
tour nella simulazione A. . . . . . . . . . . . . . . . . . . . . . . . . 56
4.15 Tempo medio di computazione dell’algoritmo Contour nella simu-
lazione A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.16 Numero di eventi per frame nella simulazione B. . . . . . . . . . . . 57
4.17 Divisione dei tempi di computazione per frame dell’algoritmo Back_Sub
nella simulazione B. . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.18 Tempo medio di computazione dell’algoritmo Back_Sub nella simu-
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
lazione B.
4.19 Divisione dei tempi di computazione per frame dell’algoritmo Db-
. . . . . . . . . . . . . . . . . . . . . . . . 58
scan nella simulazione B.
4.20 Tempo medio di computazione dell’algoritmo Dbscan nella simula-
zione B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.21 Divisione dei tempi di computazione per frame dell’algoritmo Con-
. . . . . . . . . . . . . . . . . . . . . . . . 59
tour nella simulazione B.
4.22 Tempo medio di computazione dell’algoritmo Contour nella simu-
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
lazione B.
4.23 Numero di eventi per frame nella simulazione C. . . . . . . . . . . . 60
4.24 Divisione dei tempi di computazione per frame dell’algoritmo Back_Sub
. . . . . . . . . . . . . . . . . . . . . . . . . . . 61
nella simulazione C.
4.25 Tempo medio di computazione dell’algoritmo Back_Sub nella simu-
lazione C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.26 Divisione dei tempi di computazione per frame dell’algoritmo Db-
scan nella simulazione C. . . . . . . . . . . . . . . . . . . . . . . . . 62
4.27 Tempo medio di computazione dell’algoritmo Dbscan nella simula-
zione C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.28 Divisione dei tempi di computazione per frame dell’algoritmo Con-
. . . . . . . . . . . . . . . . . . . . . . . . 63
tour nella simulazione C.
4.29 Tempo medio di computazione dell’algoritmo Contour nella simu-
lazione C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.30 Tracciamento real-time di una mano in movimento tramite Back_Sub. 65
4.31 Tracciamento real-time di una mano in movimento tramite Contour. 65
4.32 Rilevamento di una persona con la relativa ombra in un frame
. . . . . . . . . . . . . . . . . . . . . . . . . . . 66
tramite Back_Sub.
4.33 Rilevamento di una persona con la relativa ombra in uno pseudo-
. . . . . . . . . . . . . . . . . . . . . . . . . 67
frame tramite Contour. 3
4.34 Tempo medio di computazione dell’algoritmo Back_Sub nello sce-
nario Real Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.35 Tempo medio di computazione dell’algoritmo Contour nello scenario
Real Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.36 Metriche Ros2 (hz, bw e delay) del topic della telecamera tradizionale 69
4.37 Metriche Ros2 (hz, bw e delay) del topic della event camera . . . . 70 4
Elenco dei Codici
3.1 DockerFile del driver per la FireFly S . . . . . . . . . . . . . . . . . 26
3.2 DockerFile del driver per la EVK4 . . . . . . . . . . . . . . . . . . . 27
3.3 Struttura dell’EventPacket.msg . . . . . . . . . . . . . . . . . . . . 28
3.4 Background Subtraction nel rilevamento frame-based . . . . . . . . 34
3.5 Operazioni Morfologiche nel rilevamento frame-based . . . . . . . . 34
3.6 Riconoscimento degli oggetti nel rilevamento frame-based . . . . . . 35
3.7 Decoding degli event Packet . . . . . . . . . . . . . . . . . . . . . . 36
3.8 Operazioni morfologiche per rilevamento event-based . . . . . . . . 37
3.9 Implementazione di DBSCAN . . . . . . . . . . . . . . . . . . . . . 40
3.10 Implementazione di Sort e log dei risultati . . . . . . . . . . . . . . 43 5
Acronimi e Abbreviazioni
CARLA Car Learning to Act
DAVIS Dynamic and Active pixel Vision Sensor
DBSCAN Density-Based Spatial Clustering of Applications with Noise
DVS Dynamic Vision Sensors
GMM Gaussian Mixture Models
HDBSCAN Hierarchical-DBSCAN
IoU Intersection over Union
MOT Multi-Object Tracker
ROS Robot Operating System
SLAM Simultaneous Localization And Mapping
SORT Simple Online and Realtime Tracking 6
Introduzione e Scopo della Tesi
Nell’ambito della Computer Vision uno dei compiti principali è la rilevazione e il
tracciamento di oggetti all’interno di una scena (object detection and tracking), il
cui obiettivo è identificare e localizzare gli oggetti presenti e seguirne il movimento
nel tempo.
Negli ultimi anni è emersa una nuova tipologia di sensori, noti come event came-
ra, che rilevano le variazioni di luminosità in modo asincrono al livello del singolo
pixel. Questi sensori hanno rivoluzionato il paradigma tradizionale degli algoritmi
di Computer Vision, basati sul sincronismo dei frame. Di conseguenza è necessa-
rio sviluppare nuovi algoritmi o adattare quelli esistenti con l’output delle event
camera, al fine di valorizzare le loro promettenti caratteristiche tecniche: elevata
risoluzione temporale, bassa latenza e una assenza di ridondanza dei dati acqui-
siti. Queste specifiche li rendono particolarmente adatti a scenari dinamici e con
elevato movimento, oltre che a sistemi con risorse limitate in termini di banda e
capacità di calcolo. Questa tesi si propone di sfruttare le potenzialità di una event
camera per implementare un sistema di rilevamento e tracciamento di oggetti in
movimento in tempo reale, confrontandone le prestazioni con quelle ottenibili con
una telecamera tradizionale.
I risultati sono stati inizialmente validati tramite un dataset, così da garantire con-
dizioni controllate e ripetibili, per poi essere testati anche con sensori reali in uno
scenario operativo. Tali prove hanno mostrato che il sistema basato sugli eventi
risulta non solo computazionalmente più efficiente, ma anche più preciso nel rile-
vamento di oggetti di medie o grandi dimensioni in scenari con rumore ridotto. La
precisione, tuttavia, si degrada significativamente in presenza di un elevato livello
di rumore nella scena. 7
Capitolo 1
Introduzione
1.1 Rilevamento e Tracciamento degli oggetti
Nell’ambito della Computer Vision uno dei compiti principali è il Rilevamento
e Tracciamento degli oggetti (Object Detection and Tracking), il cui obiettivo è
identificare e localizzare gli oggetti presenti all’interno di una scena e tracciarne il
movimento nel tempo. I principali ambiti di applicazione sono la videosorveglianza
la guida autonoma [6], l’analisi del traffico [7], il settore medico [8] ecc.
[5],
Risulta quindi un campo di ricerca molto attivo e innovativo, trainato non solo
dalle numerose applicazioni, ma anche da nuove tecnologie come il Machine Lear-
ning e
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.