In una rete neurale YOLO (You Only Look Once), il bounding box Γ¨ un rettangolo che definisce la posizione e le dimensioni di un oggetto allβinterno di unβimmagine.
La rete YOLO utilizza i bounding box per individuare gli oggetti presenti in unβimmagine e prevedere la loro classe. Ogni bounding box Γ¨ descritto da quattro parametri: le coordinate x e y del vertice superiore sinistro, lβaltezza e la larghezza del rettangolo.
Durante il processo di addestramento della rete YOLO, lβalgoritmo cerca di ottimizzare i pesi della rete per minimizzare lβerrore tra i bounding box previsti dalla rete neurale e quelli reali presenti nelle immagini di training. In questo modo, la precisione dellβalgoritmo nel rilevare gli oggetti aumenta progressivamente durante il processo di apprendimento automatico.
Uno dei vantaggi principali delle reti neurali YOLO rispetto ad altre tecniche per il rilevamento degli oggetti basate su sliding windows o R-CNN (Region-Based Convolutional Neural Networks) Γ¨ che riescono a processare intere immagini in una sola volta invece che analizzarle frammento per frammento. CiΓ² consente alle reti YOLO di essere molto piΓΉ veloci nellβesecuzione rispetto ad altri algoritmi senza perdere accuratezza nella predizione dei risultati.
In sintesi, il bounding box rappresenta uno strumento fondamentale nella tecnica utilizzata dalle reti neurali YOLO per individuare ed etichettare gli oggetti allβinterno delle immagini con elevata precisione ed efficienza computazionale.
Label
Ad ogni bounding box individuato dalla rete neurale YOLO Γ¨ associata una label che indica la classe dellβoggetto rilevato.
Nel processo di addestramento della rete YOLO, i bounding box sono etichettati con le rispettive classi degli oggetti presenti nellβimmagine. Ad esempio, se lβimmagine contiene un cane e un gatto, ciascun bounding box corrispondente verrΓ etichettato con la rispettiva classe βcaneβ o βgattoβ.
Durante il processo di inferenza (ovvero quando si utilizza la rete neurale per analizzare nuove immagini), la rete YOLO utilizza i bounding box previsti insieme alle relative probabilitΓ di appartenenza a ciascuna classe per identificare gli oggetti presenti nellβimmagine.
In questo modo, la combinazione tra lβutilizzo dei bounding box e delle label consente alla rete neurale YOLO di effettuare una precisa segmentazione degli oggetti allβinterno delle immagini e prevedere in maniera accurata le loro classi.
In sintesi, ogni bounding box individuato dalla rete neurale YOLO Γ¨ associato a una specifica label che rappresenta la classe dellβoggetto rilevato.
Software
Esistono diversi software che consentono di creare bounding box e associarle ad ognuna una label. Questi strumenti sono spesso utilizzati durante la preparazione dei dati per lβaddestramento della rete YOLO.
Ecco alcuni esempi di software:
-
LabelImg: Γ¨ unβapplicazione open source disponibile su Windows, Mac OS X e Linux che consente di creare facilmente bounding box sulle immagini e assegnare etichette alle varie classi degli oggetti rilevabili.
-
RectLabel: Γ¨ un software a pagamento solo per macOS che permette di disegnare le caselle delimitatrici intorno agli oggetti in modo molto preciso ,associando poi ad ognuna delle etichette personalizzate dallβutente .
-
VGG Image Annotator (VIA): si tratta di uno strumento basato sul web gratuito sviluppato dal Visual Geometry Group dellβUniversitΓ di Oxford . VIA consente agli utenti di annotare immagini con diverse forme geometriche come poligoni, rettangoli o cerchi ed associarli alle relative label .
Queste applicazioni semplificano notevolmente il processo manuale richiesto dalla fase preliminari alla costruzione del modello AI , riducendo al minimo gli errori umani nella definizione delle aree dβinteresse allβinterno dellβimmagine stessa. Inoltre questi tool offrono anche funzionalitΓ avanzate come lβesportazione dei file creati in formato compatibile con i principali framework deep learning tra cui Tensorflow e PyTorch.