Riassunto analitico
L'obiettivo della Tesi è quello di sviluppare un sistema di visione basato su reti neurali per il riconoscimento oggetti. L'attività è stata suddivisa in varie fasi; si è partiti con l'esplorazione delle librerie SW ed il materiale HW necessario a sviluppare algoritmi di Intelligenza Artificiale. In seguito si è passati allo studio delle reti neurali già presenti, con il fine di identificare il modello migliore ai nostri scopi. Parallelamente sono stati esplorati gli algoritmi basati su tecniche classiche di Computer Vision, senza quindi utilizzare reti neurali. Dopo la prima fase si è passati allo sviluppo di due diversi casi di studio: un algoritmo per il riconoscimento di cubetti posizionati su un vassoio ed un altro per il conteggio di adesivi. Per il riconoscimento di cubetti posizionati sul vassoio è stata allestita una postazione con una telecamera posizionata sopra un nastro trasportatore in cui era presente un vassoio contenente gli oggetti di interesse. La postazione simula perfettamente ciò che si trova nelle industrie automatizzate, in quanto era presente anche un robot collaborativo (cobot) per manipolare i cubetti in accordo con quanto rilevato dall’algoritmo di visione sviluppato. La prima attività è stata quella di calibrare la camera tramite una procedura guidata, al fine di estrare parametri intrinseci ed intrinseci, i quali dipendono dalla postazione. La camera utilizzata nei due esperimenti è una RGBD camera, per cui oltre a fornire l'immagine RGB è in grado anche di misurare la distanza. In seguito è stato generato il dataset contenente le immagini dei cubetti di interesse con il fine di addestrare il modello di rete neurale identificato in precedenza. In questa fase sono stati sviluppati in parallelo altri due algoritmi per la generazione automatica del dataset, uno basato su reti neurali ed uno basato su tecniche di Computer Vision classiche come la soglia. Dopo aver generato il dataset si è passati al vero e proprio addestramento della rete, in cui sono stati generati diversi modelli, con il fine di capire quale fosse la migliore configurazione di parametri di training. I modelli così ottenuti sono stati testati sul riconoscimento in real time degli oggetti di interesse. Otre all'algoritmo basato su reti neurali ne è stato sviluppato un altro sfruttando una tecnica per il riconoscimento della distribuzione del colore dell’immagine e, in base a questo risultato, rilevare la posizione dei cubetti. I due algoritmi, quello basato su Al e quello basato su approccio tradizionale, sono stati confrontati al fine di trarre le opportune conclusioni. Come ultima fase del primo caso di studio è stato studiato il problema di come individuare la posizione tridimensionale del cubetto, con l'obiettivo di comunicare queste coordinate al cobot in modo che potesse prelevare gli oggetti. Il secondo caso di studio sviluppato è stato quello del conteggio di adesivi. In questa applicazione è stata sfruttata la medesima postazione utilizzata precedentemente, con gli adesivi posizionati su un vassoio con l'obiettivo di contarli. II procedimento à stato analogo al riconoscimento dei cubetti; si è partiti infatti con la generazione manuale ed automatizzata del dataset per il training della rete e, parallelamente a questo algoritmo, ne sono stati sviluppati altri due basati su tecniche di Computer Vision classiche come il pattern matching. I modelli ottenuti sono stati testati per valutarne le performance e confrontarli tra loro.
|
Abstract
The objective of the thesis is to develop a vision system based on neural networks for object detection. The activity was divided into various phases; we started with the exploration of the SW libraries and the HW material necessary to develop Artificial Intelligence algorithms. Later we moved on to the study of the neural networks already present, with the aim of identifying the best model for our purposes. At the same time, algorithms based on classical Computer Vision techniques were explored, therefore without using neural networks.
After the first phase, two different case studies were developed: an algorithm for the detection of cubes placed on a tray and another for the counting of stickers. For the recognition of cubes placed on the tray, a station was set up with a camera positioned on a conveyor belt in which there was a tray containing the objects of interest. The station perfectly simulates what is found in automated industries, as there was also a collaborative robot (cobot) to manipulate the cubes in accordance with the findings of the vision algorithm developed. The first activity was to calibrate the camera through a guided procedure, in order to extract intrinsic and external parameters, which depend on the location. The camera used in the two experiments is an RGBD camera, so in addition to providing the RGB image it is also able to measure the distance. The dataset containing the images of the cubes of interest was then generated with the aim of training the neural network model identified previously. In this phase, two other algorithms for the automatic generation of the dataset were developed in parallel, one based on neural networks and one based on classical Computer Vision techniques such as the threshold.
After generating the dataset, we moved on to the actual training of the network, in which different models were generated, in order to understand which was the best configuration of training parameters. The models thus obtained were tested on the real-time detection of objects of interest. In addition to the algorithm based on neural networks, another has been developed using a technique for recognizing the color distribution of the image and, based on this result, detecting the position of the cubes. The two algorithms, the one based on Al and the one based on the traditional approach, were compared in order to draw the appropriate conclusions. As a last phase of the first case study, the problem of how to identify the three-dimensional position of the cube was studied, with the aim of communicating these coordinates to the cobot so that it could pick up the objects. The second case study developed was that of stickers counting. In this application, the same station used previously was used, with the stickers placed on a tray with the aim of counting them. The procedure was similar to the recognition of the cubes; in fact, we started with the manual and automated generation of the dataset for network training and, in parallel with this algorithm, two others based on classical Computer Vision techniques such as pattern matching have been developed. The models obtained were tested to evaluate their performance and compare them with each other.
|