Cos'è il rilevamento degli oggetti?

Autori

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

Il rilevamento di oggetti è una tecnica che utilizza le reti neurali per localizzare e classificare gli oggetti nelle immagini. Quest attività di computer vision presenta un'ampia gamma di applicazioni, dall'imaging medico alle auto a guida autonoma.

Il rilevamento di oggetti è un'attività di computer vision che mira a localizzare oggetti nelle immagini digitali. In quanto tale, è un'istanza di intelligenza artificiale che consiste nell'addestrare i computer a vedere come fanno gli esseri umani, in particolare riconoscendo e classificando gli oggetti in base a categorie.1 La localizzazione degli oggetti è una tecnica per determinare la posizione specifica di un'immagine delimitando l'oggetto attraverso un riquadro di delimitazione. La classificazione degli oggetti è un'altra tecnica che determina a quali categorie appartiene un oggetto rilevato. L'attività di rilevamento degli oggetti combina le attività secondarie di localizzazione e classificazione degli oggetti per stimare contemporaneamente la posizione e il tipo di istanze degli oggetti in una o più immagini.2

Attività di computer vision

Il rilevamento degli oggetti si sovrappone ad altre tecniche di computer vision, ma gli sviluppatori lo trattano comunque come un'attività separata.

La classificazione delle immagini (o riconoscimento delle immagini) mira a classificare le immagini in base a categories definite. Un esempio rudimentale di questo sono i test di immagine CAPTCHA, in cui un gruppo di immagini può essere organizzato come immagini con segnali di stop e immagini che ne sono prive. La classificazione delle immagini assegna un'unica etichetta a tutta l'immagine.

Il rilevamento degli oggetti, in confronto, delinea i singoli oggetti in un'immagine in base a categorie specifiche. Mentre la classificazione delle immagini divide le immagini tra quelle che hanno segnali di stop e quelle che non li hanno, il rilevamento degli oggetti individua e classifica tutti i segnali stradali in un'immagine, nonché altri oggetti come automobili e persone.

La segmentazione delle immagini (o segmentazione semantica) è simile al rilevamento degli oggetti, anche se più precisa. Come il rilevamento degli oggetti, la segmentazione delinea gli oggetti in un'immagine in base alle categorie, ma invece di contrassegnare gli oggetti usando riquadri, la segmentazione delimita gli oggetti a livello di pixel.

Le ultime tendenze in materia di AI, proposte da esperti

Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Come funziona il rilevamento degli oggetti

La comprensione dei meccanismi interni del rilevamento degli oggetti richiede una base di computer vision e di elaborazione digitale delle immagini in senso più ampio. Questa sezione fornisce una panoramica generale.

Elaborazione delle immagini

Nella computer vision, le immagini sono espresse come funzioni continue su un piano di coordinate 2D, rappresentate come f(x,y). Quando vengono digitalizzate, le immagini vengono sottoposte a due processi primari chiamati campionamento e quantizzazione che, in breve, convertono insieme la funzione continua dell'immagine in una struttura a griglia discreta di elementi pixel. Il computer può quindi segmentare un'immagine in regioni discrete in base alla somiglianza visiva e alla vicinanza dei pixel.3

Etichettando le immagini utilizzando un'interfaccia di annotazione, gli utenti definiscono un oggetto specifico come una regione di specifiche funzioni a livello di pixel (ad esempio, area, valore di grigio e così via). Quando viene fornita un'immagine di input, il modello di rilevamento degli oggetti riconosce le regioni con funzioni simili a quelle definite nel set di dati di addestramento come lo stesso oggetto. In questo modo, il rilevamento degli oggetti è una forma di riconoscimento dei modelli. I modelli di rilevamento degli oggetti non riconoscono gli oggetti di per sé, ma piuttosto aggregati di proprietà come dimensione, forma, colore e così via, e classificano le regioni in base a schemi visivi dedotti dai dati di addestramento annotati manualmente.4

Un modello di rilevamento di oggetti per un'auto a guida autonoma, ad esempio, non riconosce i pedoni, ma un insieme di caratteristiche che formano il modello generale che caratterizza i pedoni come oggetto (come definito nei dati di addestramento).

Architettura del modello

Mentre famiglie di modelli diverse utilizzano architetture diverse, i modelli di deep learning per il rilevamento di oggetti seguono una struttura generale. Sono costituiti da backbone, collo e testa.

Il backbone estrae le funzioni da un'immagine di input. Spesso, il backbone deriva da una parte di un modello di classificazione pre-addestrato. L'estrazione delle funzioni produce una miriade di mappe delle funzioni di risoluzioni variabili che il backbone passa al collo. Quest'ultima parte della struttura concatena le mappe delle funzioni per ogni immagine. L'architettura passa poi le mappe di funzioni stratificate alla testa, che prevede i riquadri di delimitazione e i punteggi di classificazione per ogni set di funzioni.

I rilevatori a due fasi separano la localizzazione e la classificazione degli oggetti nella testa, mentre i rilevatori a fase singola combinano questi compiti. I primi generalmente restituiscono una maggiore accuratezza di localizzazione mentre i secondi funzionano più rapidamente.5

Metriche di valutazione

L'IoU (Intersection over Union) è una metrica di valutazione comune utilizzata nei modelli di rilevamento degli oggetti. Un riquadro di delimitazione è l'output quadrato che delimita un oggetto rilevato come previsto dal modello. L'IoU calcola il rapporto tra l'area di intersezione di due riquadri di delimitazione (ovvero l'area delle sezioni sovrapposte dei riquadri) rispetto all'area di unione (ovvero l'area totale di entrambi i riquadri combinati):6

Possiamo visualizzare questa equazione come:

I modelli utilizzano l'IoU per misurare l'accuratezza delle previsioni calcolando l'IoU tra un riquadro previsto e un riquadro di verità fondamentale. Le architetture dei modelli utilizzano anche l'IoU per generare previsioni finali sui riquadri di delimitazione. Poiché i modelli spesso generano inizialmente diverse centinaia di previsioni del riquadro di delimitazione per un singolo oggetto rilevato, i modelli utilizzano l'IoU per pesare e consolidare le previsioni dei riquadri di delimitazione in un unico riquadro per oggetto rilevato.

Altre metriche possono essere utilizzate per diverse valutazioni dei modelli di rilevamento degli oggetti. La GIoU (Generalized Intersection over Union) è una versione modificata della IoU che tiene conto dei miglioramenti nella localizzazione degli oggetti per i quali la IoU di base può ancora restituire un valore nullo.7 La ricerca sul rilevamento di oggetti impiega anche metriche comuni di recupero informativo, come la precisione media e il richiamo.

Mixture of Experts | 12 dicembre, episodio 85

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Algoritmi e architetture di rilevamento di oggetti

Esistono diversi approcci di machine learning alle attività di rilevamento degli oggetti. Gli esempi includono il framework Viola-Jones8 e l'istogramma dei gradienti orientati.9 Le recenti attività di ricerca e sviluppo nel rilevamento di oggetti, tuttavia, si sono concentrate in gran parte sulle reti neurali convoluzionali (CNN). Pertanto, questa pagina si concentra su due tipi di CNN più discussi nella ricerca sul rilevamento di oggetti. Si noti che questi modelli vengono testati e confrontati utilizzando set di dati di benchmark, ad esempio il set di dati Microsoft COCO o ImageNet.

R-CNN (Region-based Convolutional Neural Network) è un rilevatore a due stadi che utilizza un metodo chiamato proposte regionali per generare 2.000 previsioni regionali per immagine. R-CNN quindi deforma le regioni estratte a una dimensione uniforme e fa passare quelle regioni attraverso reti separate per l'estrazione e la classificazione delle funzioni. Ogni regione è classificata in base all'affidabilità della sua classificazione. R-CNN respinge quindi le regioni con un determinato IoU che si sovrappongono a una regione selezionata con un punteggio più alto. Le restanti regioni classificate non sovrapposte e di alto livello sono l'output del modello.10 Come previsto, questa architettura è costosa dal punto di vista computazionale e lenta. Fast R-CNN e Faster R-CNN sono modifiche successive che riducono le dimensioni dell'architettura dell'R-CNN e quindi riducono il tempo di elaborazione, aumentando al contempo la precisione.11

YOLO (You Only Look Once) è una famiglia di architetture di rilevamento a fase singola basate su Darknet, un framework open source della CNN. Sviluppata per la prima volta nel 2016, l'architettura YOLO dà priorità alla velocità. In effetti, la velocità di YOLO lo rende preferibile per il rilevamento di oggetti in tempo reale e gli è valsa al qualifica di descrittore comune di rivelatore di oggetti all'avanguardia. YOLO differisce da R-CNN in diversi modi. Mentre R-CNN passa le regioni delle immagini estratte attraverso più reti che estraggono separatamente le funzioni e classificano le immagini, YOLO condensa queste azioni in un'unica rete. In secondo luogo, rispetto alle circa 2000 proposte regionali della R-CNN, YOLO fa meno di 100 previsioni con riquadri delimitanti per immagine. Oltre ad essere più veloce di R-CNN, YOLO produce anche meno falsi positivi in background, sebbene abbia un errore di localizzazione più elevato.12 Ci sono stati molti aggiornamenti a YOLO sin dal suo inizio, generalmente incentrati sulla velocità e sulla precisione.13

Sebbene originariamente sviluppate per il rilevamento di oggetti, le versioni successive di R-CNN e YOLO possono anche addestrare modelli di classificazione e segmentazione. In particolare, Mask R-CNN combina sia il rilevamento che la segmentazione degli oggetti, mentre YOLOv5 può addestrare modelli separati di classificazione, rilevamento e segmentazione.

Naturalmente, oltre a R-CNN e YOLO, esistono molte altre architetture modello. SSD e Retinanet sono due modelli aggiuntivi che utilizzano un'architettura semplificata simile a YOLO.14 DETR è un'altra architettura sviluppata da Facebook (ora Meta) che combina la CNN con un modello di trasformatore e mostra prestazioni paragonabili a Faster R-CNN.15

Esempi di casi d'uso

In molti casi d'uso, il rilevamento degli oggetti non è un fine in sé, ma una fase di un'attività di computer vision più ampia.

Guida autonoma

Le auto a guida autonoma adottano ampiamente il rilevamento di oggetti per riconoscere oggetti come auto e pedoni. Uno di questi esempi è l'AI Autopilot di Tesla. Grazie alla loro maggiore velocità, architetture semplici come YOLO e SimpleNet sono ovviamente l'ideale per la guida autonoma.16

Imaging medico

Il rilevamento di oggetti può aiutare nelle attività di ispezione visiva. Ad esempio, un corpo sostanziale di ricerca sul rilevamento di oggetti studia metriche e modelli per identificare gli indicatori fisiologici della malattia in immagini mediche come raggi X e scansioni MRI. In questo settore, molte ricerche si sono concentrate sul miglioramento degli squilibri dei set di dati, data la scarsità di tali immagini mediche della malattia.17

Protezione

La videosorveglianza può utilizzare il rilevamento di oggetti in tempo reale per tracciare gli oggetti associati al crimine, come pistole o coltelli nei filmati delle telecamere di sicurezza. Rilevando tali oggetti, i sistemi di sicurezza possono prevedere e prevenire ulteriormente il crimine. I ricercatori hanno sviluppato algoritmi di rilevamento delle armi utilizzando sia R-CNN che YOLO.18

Ricerche recenti

I set di dati sbilanciati sono uno dei problemi che affliggono le attività di rilevamento degli oggetti, poiché i campioni negativi (ovvero le immagini senza l'oggetto di interesse) superano di gran lunga i campioni positivi in molti set di dati specifici del dominio. Si tratta di un problema particolare relativo alle immagini mediche, in cui è difficile acquisire campioni positivi di malattie. Ricerche recenti utilizzano l'aumento dei dati per espandere e diversificare set di dati limitati per migliorare le prestazioni del modello.19

Gli sviluppi passati nel rilevamento di oggetti si sono concentrati in gran parte sulle immagini 2D. Più recentemente, i ricercatori hanno impiegato applicazioni di rilevamento di oggetti per immagini e video 3D. La sfocatura del movimento e lo spostamento della messa a fuoco della fotocamera causano problemi nell'identificazione degli oggetti nei fotogrammi dei video. I ricercatori hanno esplorato una serie di metodi e architetture per aiutare a tracciare gli oggetti lungo i frame nonostante tali condizioni, come l'architettura di rete neurale ricorrente Long Short-Term Memory (LSTM)20 e i modelli basati su trasformatori.21 I trasformatori sono stati utilizzati per velocizzare i modelli di rilevamento degli oggetti per attività di rilevamento in tempo reale. Le tecniche di elaborazione in parallelo sono un'altra importante area di studio in questo ambito.22

Soluzioni correlate
IBM Maximo Visual Inspection

Libera la potenza della computer vision no-code per l'automazione delle ispezioni visive.

Esplora Maximo visual inspection
Consulenza e servizi per l'intelligenza artificiale (AI)

I servizi AI di IBM Consulting aiutano a reinventare il modo in cui le aziende lavorano con l'AI per la trasformazione.

Esplora i servizi di intelligenza artificiale
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda con l'esperienza leader di settore e il portfolio di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Prossimi passi

IBM Maximo Visual Inspection mette la potenza delle funzionalità AI di computer vision nelle mani dei tuoi team di ispezione e controllo qualità. Libera la potenza della computer vision no-code per l'automazione delle ispezioni visive.

Esplora Maximo visual inspection Fai un tour del prodotto