Riassunto analitico
Uno dei problemi più rilevanti nel campo della visione artificiale è la localizzazione di uno o più oggetti in un’immagine e la loro relativa classificazione. Il task prende il nome di object detection. La ricerca in questo ambito ha compiuto enormi progressi e le metodologie utilizzate sono numerose e sempre più efficaci, soprattutto grazie all’avvento del Deep Learning. Tuttavia, il contesto dei dati ed i vincoli di efficienza presenti a livello accademico sono ben diversi da quelli imposti a livello industriale: questa tesi vuole investigare alcune architetture di object detection che ottengono risultati stato dell’arte sui dataset accademici più famosi (COCO e PASCAL VOC), e come queste stesse architetture differiscano invece quando testate su dataset di caratura più industriale. La struttura di un modello di object detection non è definita formalmente in letteratura, ma si è notato come tutte le ultime proposte condividano uno scheletro comune: una rete neurale convolutiva per l’estrazione di feature visive dall’immagine (backbone); una rete di aggregazione di queste feature a diverse scale (path layers); una serie di operazioni finali per la generazione di bounding box e label per ogni oggetto localizzato (head). La generalizzazione data da questa struttura costituisce la base sulla quale è stato creato un “framework” modulare ed estensibile. Partendo da questo framework sono state implementate architetture di object detection considerate l’attuale stato dell’arte e successivamente testate su insiemi di dati di diversa provenienza. Inoltre, la modularità di questo progetto permette di creare architetture personalizzate e, quindi, di ricercare la combinazione di moduli backbone-path layer-head con le prestazioni migliori per ogni dataset che si voglia analizzare.
|
Abstract
One of the most relevant tasks in computer vision is the localization of one or more objects in an image and their relative classification, commonly referred to as object detection. Research on object detection has made huge improvements and the techniques employed are numerous and increasingly effective, mostly due to the recent help of deep learning. However, the academic nature of the datasets and efficiency constraints employed by the research community are way different from ones found in industry: this thesis investigates some of the architectures achieving state-of-the-art performances on the most famous academic datasets (COCO and PASCAL VOC), and how differently these architectures perform when tested on industrial datasets.
The structure of an object detector is not formally defined in literature, but a common pattern emerges from many latest proposals: a convolutional neural network that extracts visual features from the image (backbone); a network for the aggregation of these features on multiple scales (path layers); a set of final operations for the generation of a bounding box and label for each object detected.
The generalization given by this structure forms the design of a modular and extensible framework developed in this thesis. Starting from this framework, state-of-the-art architectures have been implemented and tested on datasets of different nature. Moreover, the modularity of this framework allows the user to create custom architectures and, therefore, to look for the best performing combination of backbone-path layer-head on each dataset to be analyzed.
|