Event-based sensors offer attractive features that enable improvement in many computer vision and image processing tasks. Event cameras possess several advantages over conventional frame cameras, such as a high temporal resolution in the µs range, high pixel bandwidth, low power consumption, and high dynamic range. One of the interesting computer vision tasks is object tracking that has applications in many fields (e.g., traffic control, video surveillance, robotics, gesture recognition, etc.). Many algorithms have been proposed to deal with each of these applications. This work studies object tracking using an event-based sensor. It aims to enable traditional computer vision algorithms to use the event-based sensor output to track objects in the visual scene. We used two approaches: a model-free approach designed to work on low-power embedded devices, which performs well in most of scenarios and offer a highly adjustable frame rate. However, this approach suffers from false detection in some noisy scenarios. This limitation led us to investigate a second approach using the YOLOV4 model. This model achieved a mean Average Precision (mAP0.5) of 82.88% with an Average Precision (AP) of 98.55% for cars, 87.58% for bikes, and 62.51% for pedestrians. The YOLOv4-tiny model achieved a mAP0.5 of 62.7% with an AP of 94.82% for cars, 44.59% for bikes, and 48.7% for pedestrians, which provided good tracking results for the system setup we used. We used a Kalman filter to model the object movement and the Hungarian algorithm to assign detections to trackers. We also investigated how to deal with objects stopping in the camera field of view before reaching the end of the frame. The YOLOv4 approach achieved a frame rate of 4fps on CPU i7-9750H, 2.60GHz and 16fps on the TK80 Google Colab while the YOLOv4-tiny achieved 37 fps on the same CPU, and 76 fps on the same GPU. To guarantee a better user-experience we implemented a C++ framework, which is a monitoring system providing the tracking parameters to the user in the form of video sequences of tracking scenes, a log file containing the system state, and a Graphical user interface displaying the sequences of frames. It gives the object direction, and count object considering their categories. In addition, we developed a dataset from different real-world scenarios that can be extended to train the model and use the framework in different camera setups.

I sensori ad eventi (event based sensors) offrono caratteristiche interessanti che consentono il miglioramento di molti compiti di visione artificiale ed elaborazione delle immagini. I sensori ad eventi presentano numerosi vantaggi rispetto alle telecamere convenzionali basate su frame. Tra questi abbiamo un'elevata risoluzione temporale, nell'intervallo µs, un'elevata larghezza di banda dei pixel, un basso consumo energetico e un'elevata gamma dinamica. Uno dei principali compiti della visione artificiale è il tracciamento di oggetti. Questo ha applicazioni in molti campi: controllo del traffico, videosorveglianza, robotica, riconoscimento dei gesti,... Nell’ambito della visione artificiale, sono stati proposti numerosi algoritmi per gestire ciascuna di queste applicazioni. Lo scopo di questo lavoro è lo studio del tracciamento di oggetti utilizzando un sensore basato su eventi. In particolare, si è interessati a consentire ai tradizionali algoritmi di visione artificiale di utilizzare l'output di un sensore basato sugli eventi per tracciare gli oggetti nella scena visiva. Attraverso questo lavoro abbiamo utilizzato due approcci: un approccio privo di modelli che funziona bene in scenari non troppo rumorosi, ma soffre di falsi rilevamenti in presenza di rumore. Questa limitazione ci ha portato a studiare un secondo approccio utilizzando il modello YOLOV4. Questo modello ha raggiunto una precisione media media (mAP0,5) dell'82,88% con una precisione media (AP) del 98,55% per le auto, dell'87,58% per le biciclette e del 62,51% per i pedoni. Il modello YOLOv4-tiny ha ottenuto un mAP0,5 del 62,7% con un AP del 94,82% per le auto, del 44,59% per le biciclette e del 48,7% per i pedoni. Questo ci ha permesso di ottenere buoni risultati nel compito di tracciamento con la configurazione del sistema utilizzata. Per il compito di tracciamento abbiamo utilizzato il filtro di Kalman per modellare il movimento dell'oggetto e l'algoritmo ungherese per assegnare i rilevamenti ai tracker. Abbiamo anche studiato come trattare gli oggetti che si fermano nel campo visivo della telecamera prima di raggiungere la fine dell'inquadratura. L'approccio YOLOv4 ha raggiunto un frame rate di 4 fps su CPU i7-9750H, 2,60 GHz e 16 fps su TK80Google Colab mentre YOLOv4-tiny ha raggiunto 37 fps sulla stessa CPU e 76 fps sulla stessa GPU. Infine abbiamo implementato all’interno del framework C++, un sistema di monitoraggio che fornisca i parametri di monitoraggio all'utente sotto forma di sequenze video, un file di registro contenente lo stato del sistema e un'interfaccia utente grafica che mostra le sequenze di frame . Il software restituisce la direzione dell'oggetto e conta gli oggetti considerando le loro categorie. Inoltre, abbiamo sviluppato un set di dati da diversi scenari del mondo reale che può essere esteso per addestrare il modello e utilizzare il framework con diverse configurazioni della fotocamera.

Event-based camera for object tracking

Kambale, Abednego Wamuhindo
2021/2022

Abstract

Event-based sensors offer attractive features that enable improvement in many computer vision and image processing tasks. Event cameras possess several advantages over conventional frame cameras, such as a high temporal resolution in the µs range, high pixel bandwidth, low power consumption, and high dynamic range. One of the interesting computer vision tasks is object tracking that has applications in many fields (e.g., traffic control, video surveillance, robotics, gesture recognition, etc.). Many algorithms have been proposed to deal with each of these applications. This work studies object tracking using an event-based sensor. It aims to enable traditional computer vision algorithms to use the event-based sensor output to track objects in the visual scene. We used two approaches: a model-free approach designed to work on low-power embedded devices, which performs well in most of scenarios and offer a highly adjustable frame rate. However, this approach suffers from false detection in some noisy scenarios. This limitation led us to investigate a second approach using the YOLOV4 model. This model achieved a mean Average Precision (mAP0.5) of 82.88% with an Average Precision (AP) of 98.55% for cars, 87.58% for bikes, and 62.51% for pedestrians. The YOLOv4-tiny model achieved a mAP0.5 of 62.7% with an AP of 94.82% for cars, 44.59% for bikes, and 48.7% for pedestrians, which provided good tracking results for the system setup we used. We used a Kalman filter to model the object movement and the Hungarian algorithm to assign detections to trackers. We also investigated how to deal with objects stopping in the camera field of view before reaching the end of the frame. The YOLOv4 approach achieved a frame rate of 4fps on CPU i7-9750H, 2.60GHz and 16fps on the TK80 Google Colab while the YOLOv4-tiny achieved 37 fps on the same CPU, and 76 fps on the same GPU. To guarantee a better user-experience we implemented a C++ framework, which is a monitoring system providing the tracking parameters to the user in the form of video sequences of tracking scenes, a log file containing the system state, and a Graphical user interface displaying the sequences of frames. It gives the object direction, and count object considering their categories. In addition, we developed a dataset from different real-world scenarios that can be extended to train the model and use the framework in different camera setups.
MATTEUCCI, MATTEO
MENTASTI, SIMONE
ING - Scuola di Ingegneria Industriale e dell'Informazione
21-dic-2021
2021/2022
I sensori ad eventi (event based sensors) offrono caratteristiche interessanti che consentono il miglioramento di molti compiti di visione artificiale ed elaborazione delle immagini. I sensori ad eventi presentano numerosi vantaggi rispetto alle telecamere convenzionali basate su frame. Tra questi abbiamo un'elevata risoluzione temporale, nell'intervallo µs, un'elevata larghezza di banda dei pixel, un basso consumo energetico e un'elevata gamma dinamica. Uno dei principali compiti della visione artificiale è il tracciamento di oggetti. Questo ha applicazioni in molti campi: controllo del traffico, videosorveglianza, robotica, riconoscimento dei gesti,... Nell’ambito della visione artificiale, sono stati proposti numerosi algoritmi per gestire ciascuna di queste applicazioni. Lo scopo di questo lavoro è lo studio del tracciamento di oggetti utilizzando un sensore basato su eventi. In particolare, si è interessati a consentire ai tradizionali algoritmi di visione artificiale di utilizzare l'output di un sensore basato sugli eventi per tracciare gli oggetti nella scena visiva. Attraverso questo lavoro abbiamo utilizzato due approcci: un approccio privo di modelli che funziona bene in scenari non troppo rumorosi, ma soffre di falsi rilevamenti in presenza di rumore. Questa limitazione ci ha portato a studiare un secondo approccio utilizzando il modello YOLOV4. Questo modello ha raggiunto una precisione media media (mAP0,5) dell'82,88% con una precisione media (AP) del 98,55% per le auto, dell'87,58% per le biciclette e del 62,51% per i pedoni. Il modello YOLOv4-tiny ha ottenuto un mAP0,5 del 62,7% con un AP del 94,82% per le auto, del 44,59% per le biciclette e del 48,7% per i pedoni. Questo ci ha permesso di ottenere buoni risultati nel compito di tracciamento con la configurazione del sistema utilizzata. Per il compito di tracciamento abbiamo utilizzato il filtro di Kalman per modellare il movimento dell'oggetto e l'algoritmo ungherese per assegnare i rilevamenti ai tracker. Abbiamo anche studiato come trattare gli oggetti che si fermano nel campo visivo della telecamera prima di raggiungere la fine dell'inquadratura. L'approccio YOLOv4 ha raggiunto un frame rate di 4 fps su CPU i7-9750H, 2,60 GHz e 16 fps su TK80Google Colab mentre YOLOv4-tiny ha raggiunto 37 fps sulla stessa CPU e 76 fps sulla stessa GPU. Infine abbiamo implementato all’interno del framework C++, un sistema di monitoraggio che fornisca i parametri di monitoraggio all'utente sotto forma di sequenze video, un file di registro contenente lo stato del sistema e un'interfaccia utente grafica che mostra le sequenze di frame . Il software restituisce la direzione dell'oggetto e conta gli oggetti considerando le loro categorie. Inoltre, abbiamo sviluppato un set di dati da diversi scenari del mondo reale che può essere esteso per addestrare il modello e utilizzare il framework con diverse configurazioni della fotocamera.
File allegati
File Dimensione Formato  
thesis_abednegokam.pdf

Open Access dal 30/11/2022

Descrizione: Master thesis
Dimensione 14.19 MB
Formato Adobe PDF
14.19 MB Adobe PDF Visualizza/Apri
executive_summary.pdf

Open Access dal 30/11/2022

Descrizione: Executive summary
Dimensione 659.88 kB
Formato Adobe PDF
659.88 kB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/182475