Come costruire un rilevamento dei danni delle auto guidato dalla visione artificiale

Come creare un sistema di rilevamento dei danni delle auto basato sulla visione artificiale

La visione computerizzata, come componente essenziale dell’intelligenza artificiale, sta guadagnando sempre più importanza nel settore assicurativo. La sua implementazione offre molti vantaggi, come l’automazione dei processi, la riduzione dei costi, un’alta precisione e un’esperienza migliorata per il cliente.

La tecnologia della visione computerizzata porta molte opportunità, compresa la sostituzione in parte dell’ispezione manuale. Ecco perché il team di Intelliarts ha ritenuto promettente iniziare a lavorare su un progetto di valutazione danni automobilistici automatizzata.

In questo studio, ci immergeremo nell’esperienza del team di Intelliarts nel risolvere le sfide legate alla rilevazione dei danni alle auto utilizzando la visione computerizzata. Esamineremo specifici algoritmi che possono essere utilizzati, chiariremo il processo di addestramento e valutazione del modello, e valuteremo i potenziali benefici degli algoritmi più popolari nel campo dei progetti di visione computerizzata.

Quali Algoritmi Possono Risolvere il Compito di Rilevazione Dei Danni alle Auto

A questo scopo, gli ingegneri utilizzano l’algoritmo di segmentazione dell’immagine. Il suo compito è attribuire una classe o un’altra a pixel particolari nell’immagine basandosi su specifiche caratteristiche visive, come colore, trama, intensità o forma. Nel caso dell’ispezione dei veicoli, la classe può essere danneggiata o non danneggiata. L’obiettivo della segmentazione delle immagini è semplificare o modificare la rappresentazione di un’immagine in una forma più significativa, separare gli oggetti dallo sfondo e renderli facili da analizzare.

I due principali approcci alla segmentazione delle immagini sono i seguenti:

Segmentazione delle Intanze

Con questa tecnica di visione computerizzata, ogni singolo oggetto viene identificato e contrassegnato con un identificatore univoco. Il primo passaggio della segmentazione delle intanze è il rilevamento degli oggetti. In questa fase, un algoritmo di visione computerizzata cerca di rilevare tutti gli oggetti nell’immagine e fornisce a ciascuno di essi una scatola delimitatrice, cioè una figura rettangolare o quadrata che circonda un oggetto. Durante la classificazione delle aree all’interno delle scatole delimitatrici, l’algoritmo calcola la fiducia o la probabilità che il particolare oggetto di interesse con una classe specifica, ad esempio auto, albero, persona, ecc., sia all’interno della scatola delimitatrice.

Nel secondo passaggio della tecnica, l’algoritmo esegue la segmentazione in ciascuna delle scatole delimitatrici e contrassegna ogni pixel indicando se appartiene a un oggetto o meno.

Un altro requisito della segmentazione delle intanze è l’utilizzo di maschere a livello di pixel. Queste sono immagini binarie utilizzate per identificare la posizione degli oggetti o delle regioni di interesse all’interno di un’immagine. A ciascun pixel della maschera viene assegnato un valore di 0 o 1, indicando se quel pixel appartiene all’oggetto o alla regione di interesse. Le maschere a livello di pixel possono essere generate manualmente annotando le immagini.

Il modo in cui funziona questo algoritmo assicura che le multiple istanze dello stesso oggetto siano differenziate l’una dall’altra, anche se si sovrappongono o sono parzialmente oscurate da altri oggetti nell’immagine.

Segmentazione Semantica

La tecnica di segmentazione semantica consiste nel suddividere un’immagine in segmenti multipli, ciascuno dei quali corrisponde a un particolare oggetto o regione di interesse all’interno dell’immagine, e classificarli separatamente. A differenza dei metodi tradizionali di segmentazione delle immagini che semplicemente suddividono un’immagine in regioni arbitrarie in base alla similarità dei pixel, la segmentazione semantica mira ad associare a ciascun segmento un’etichetta semantica significativa, come persona, auto, edificio, albero, ecc.

La segmentazione semantica considera più oggetti appartenenti alla stessa classe come una singola entità. Può indicare i confini, ad esempio, di tutte le persone, tutte le auto o tutti gli edifici nell’immagine, se necessario. È importante sottolineare che la segmentazione semantica consente di rilevare solo i danni, senza distinguerli. Al contrario, la segmentazione delle intanze può distinguere tra danni multipli e distinti.

Dopo essere stato addestrato, il modello di segmentazione semantica può essere utilizzato per segmentare nuove immagini attraverso la propagazione tramite la rete e la generazione di una maschera di segmentazione a livello di pixel. Quest’ultima funziona in modo simile alle maschere a livello di pixel nella segmentazione delle intanze, assegnando però un’etichetta a ogni pixel dell’immagine anziché generare maschere multiple, una per ogni istanza di un oggetto.

Il confronto effettivo tra istanze della vita reale e algoritmi di segmentazione semantica con le intuizioni ottenute è fornito nelle sezioni seguenti.

Metriche di Apprendimento Automatico per la Valutazione delle Prestazioni di un Modello Addestrato

Le metriche di apprendimento automatico sono misure quantitative di quanto bene un modello risolve un determinato compito. Aiutano ad valutare le prestazioni del modello e forniscono indicazioni sui punti di forza e di debolezza del modello.

I valori delle metriche di apprendimento automatico sono calcolati in base ai risultati che il modello mostra dopo essere stato testato su un insieme di dati non utilizzati in precedenza. In questo modo, gli ingegneri possono valutare le prestazioni potenziali del modello sui dati della vita reale. I risultati ottenuti guidano la decisione successiva, poiché gli ingegneri potrebbero dover rielaborare il modello più volte prima che le sue prestazioni siano ritenute soddisfacenti.

Ecco l’elenco delle principali metriche di segmentazione delle immagini da considerare durante il test di un modello per risolvere compiti di rilevamento dei danni:

1. MIoU (Mean Intersection Over Union)

Questa metrica misura la sovrapposizione media tra le maschere di segmentazione previste e quelle reali per ogni classe nel dataset. MIoU viene calcolato calcolando l’IoU per ogni classe e poi facendo la media su tutte le classi. IoU = Intersezione tra maschere previste e maschere reali per una classe/Unione tra maschere previste e maschere reali per una classe.

2. Precisione dei pixel

Questa metrica misura la percentuale di pixel in un’immagine che vengono classificati correttamente dal modello. Precisione dei pixel = Numero di pixel classificati correttamente / Numero totale di pixel nell’immagine.

3. Coefficiente di Dice

Nella segmentazione delle immagini, il coefficiente di Dice misura la sovrapposizione tra i pixel delle maschere di segmentazione previste e quelle vere su una scala da 0 a 1, dove 0 significa nessuna sovrapposizione e 1 indica la corrispondenza perfetta. Coefficiente di Dice = 2 * numero di pixel classificati correttamente da entrambe le maschere / numero totale di pixel in entrambe le maschere

Nella nostra ricerca sulle prestazioni dei modelli di segmentazione delle istanze e della segmentazione semantica dettagliati di seguito, il team di Intelliarts ha utilizzato le metriche di MIoU (Mean Intersection Over Union) e coefficiente di Dice per misurare i risultati del test.

Esempi di Architetture di Intelligenza Artificiale nella Vita Reale

La scelta della giusta architettura di intelligenza artificiale è un passo cruciale in ogni progetto di machine learning. Una soluzione scelta saggiamente può beneficiare i risultati offrendo una migliore accuratezza del processo di segmentazione, una maggiore velocità di elaborazione e un’alta efficienza nell’uso delle risorse. Inoltre, può accadere che alcune architetture siano più adatte per applicazioni in tempo reale o quasi in tempo reale, mentre altre possono essere più adatte per l’elaborazione batch di grandi dataset, cosa che va considerata attentamente.

Ci sono alcune architetture di segmentazione delle immagini che sono state ampiamente testate e sono abbastanza popolari. Tra queste ci sono Mask R-CNN e U-net, che sono proprio gli algoritmi utilizzati dal team di Intelliarts per testare le tecniche di segmentazione delle istanze e della segmentazione semantica per risolvere compiti di rilevamento dei danni alle auto. Consentono agli ingegneri di utilizzare tecniche di fine-tuning su pesi predefiniti, ovvero modelli pre-addestrati su un grande dataset. In questo modo, non è necessario addestrare un modello da zero, il che è un compito che richiede molte risorse.

Diamo un’occhiata a cosa sono questi algoritmi:

Mask R-CNN

Mask R-CNN (Reti Neurali Convoluzionali Basate su Regioni con Maschere) è un’architettura di deep learning per il rilevamento degli oggetti e la segmentazione delle istanze. Si basa sul modello di rilevamento degli oggetti Faster R-CNN e ha una parte di segmentazione, ovvero un sottoinsieme di livelli che operano sui dati in ingresso.

Mask R-CNN funziona in due fasi. Nella prima fase genera proposte di regione utilizzando una Rete di Proposta di Regione (RPN), che suggerisce regioni dell’immagine che probabilmente contengono oggetti. Nella seconda fase, esegue il rilevamento degli oggetti e la segmentazione prevedendo contemporaneamente le etichette di classe, i bounding box e le maschere per ogni proposta.

U-Net

U-Net è un’architettura di rete neurale convoluzionale progettata per compiti di segmentazione delle immagini. È incredibilmente popolare per risolvere compiti di segmentazione delle immagini mediche come la segmentazione dei tumori cerebrali, la segmentazione delle cellule e la segmentazione dei polmoni. È stato adattato anche per altre applicazioni di segmentazione delle immagini, come la segmentazione delle strade nella guida autonoma.

L’architettura U-Net ha una forma distintiva a “U”, formata dalle operazioni di downsampling e upsampling. La rete ha un percorso di contrazione, che cattura il contesto e riduce la dimensione dell’immagine in input, e un percorso di espansione, che consente la localizzazione precisa e aumenta le mappe delle caratteristiche. In sostanza, la rete può recuperare informazioni dettagliate sugli oggetti che vengono segmentati e allo stesso tempo catturare il contesto e la struttura globale dell’immagine.

Segmentazione delle Istanze (Mask R-CNN) vs Segmentazione Semantica (U-Net) Basata sull’Osservazione della Vita Reale

Nella nostra recente ricerca, il team di Intelliarts ha testato due popolari architetture di reti neurali utilizzate per compiti di segmentazione delle immagini – Mask R-CNN e U-net. Entrgli algoritmi di visione artificiale sono stati addestrati e successivamente testati utilizzando gli stessi dataset. Abbiamo utilizzato dati pre-puliti e pre-confezionati dai dataset Coco car damage detection e Segme disponibili pubblicamente.

Nonostante il fatto che Mask R-CNN abbia un’architettura più complessa e processi le proposte di regione anziché l’intera immagine, i test hanno rivelato che U-net, come algoritmo basato sulla segmentazione semantica, si comporta meglio. 

U-net ha mostrato risultati ottimali nella prima parte del test quando gli algoritmi di intelligenza artificiale sono stati utilizzati per identificare i danni alle auto e valutarne l’entità. Inoltre, nella seconda parte, quando gli ingegneri di Intelliarts hanno fatto sì che i modelli di visione artificiale identificassero le parti danneggiate delle auto e le riconoscessero, Mask R-CNN si è comportato meglio. Ciò ha portato il nostro team a concludere che il modello di segmentazione semantica, in particolare il U-net testato, è attualmente una scelta migliore per l’ispezione dei danni ai veicoli. 

Potresti voler provare una demo online che presenta un ambiente di gioco interattivo per il modello di intelligenza artificiale addestrato. La demo mostra le capacità di un modello abilitato alla visione artificiale per rilevare i danni alle auto basandosi su un’immagine di input o su un frame video. 

Come Allenare un Modello di Intelligenza Artificiale

Le reti neurali profonde vengono utilizzate con successo per risolvere problemi di visione artificiale e altre attività. Molte soluzioni all’avanguardia basate su questa tecnologia vengono utilizzate con successo nel settore assicurativo e in altre nicchie. L’addestramento di un modello di machine learning a reti neurali profonde comprende i seguenti passaggi:

Preparazione dei Dati

Gli algoritmi di intelligenza artificiale richiedono una quantità considerevole di dati digitali contenuti in foto e video su cui esercitarsi. Esiste una forte correlazione tra il volume e la qualità dei dati e i risultati dell’addestramento. Esiste anche un concetto noto come spazzatura in entrata, spazzatura in uscita (GIGO), che significa che dati di input senza senso producono risultati senza senso. Pertanto, è consigliabile trovare o preparare set di dati estesi. Nel caso della valutazione dei veicoli, è necessario disporre di campioni di veicoli danneggiati di alta qualità con deterioramenti variabili da angolazioni diverse, con illuminazione diversa, ecc. 

L’annotazione dei dati, ovvero la categorizzazione e l’etichettatura dei dati per le applicazioni di intelligenza artificiale, viene utilizzata per far comprendere al modello quali informazioni digitali nei materiali visivi siano esattamente e perché siano importanti. Per addestrare il modello di intelligenza artificiale per la valutazione dei veicoli, gli ingegneri hanno bisogno di set di dati, le immagini dei quali sono state annotate nei seguenti modi:

  • Rilevamento dei danni: Quando si raccolgono diversi tipi di danni, è necessario etichettare e contrassegnare gli oggetti d’interesse con metadati pertinenti utilizzando un poligono o un pennello. Non è necessario aggiungere bounding box in quanto il modello le genera automaticamente. Senza contare che bounding box non necessarie possono creare sovrapposizioni e confondere il modello in allenamento. 
  • Rilevamento delle parti dell’auto: Questa annotazione dei dati è una fase parallela necessaria al rilevamento dei danni. L’etichettatura aiuterà il modello a riconoscere particolari parti del veicolo che sono state danneggiate e persino calcolarne l’area nelle unità di misura preferite. 

L’etichettatura delle immagini è quasi uno degli aspetti più intensivi in termini di tempo e risorse nell’addestramento di un modello di intelligenza artificiale per applicazioni di visione artificiale. Selezionare oggetti pixel per pixel e assegnare etichette corrette che descrivano oggetti e loro attributi o caratteristiche è un lavoro che richiede molto tempo. Il metodo dell’etichettatura manuale prevede che gli esseri umani annotino manualmente le immagini. Tuttavia, l’assistenza degli algoritmi di machine learning può automatizzare e semplificare in parte il compito. 

Nel nostro caso, abbiamo utilizzato immagini che erano state correttamente etichettate già dai set di dati open-source menzionati in precedenza. Si considera l’utilizzo di dati precleaned e preconfezionati. Altri metodi di raccolta dei dati includono il crowdsourcing dei dati personalizzati, la creazione di una raccolta privata e la raccolta automatica dei dati tramite web scraping e web crawling. 

Ci sono alcune best practice per la raccolta dei dati da tenere a mente. Queste includono la determinazione del problema e dell’obiettivo del progetto di machine learning, l’istituzione di pipeline dei dati, l’istituzione di meccanismi di archiviazione, la valutazione dei dati raccolti e la raccolta di dati concisi allineati con gli obiettivi del progetto.

Addestramento

Una volta completata la raccolta e l’annotazione dei dati, il set di dati di addestramento preparato viene inserito nel modello di visione artificiale. In questa fase, è cruciale identificare gli errori che il modello commette per apportare gli aggiustamenti necessari in seguito, al fine di evitare un bilanciamento errato tra eccessiva o insufficiente adattabilità che comporti problemi di sovradattamento e sottadattamento. 

Il problema del sottadattamento si verifica quando un modello non riesce a cogliere accuratamente la relazione tra le variabili di input e di output. Questo problema può essere risolto semplificando il modello.

Il problema del sovradattamento si verifica quando il modello è così familiare con i dati di addestramento che l’algoritmo diventa limitato e sbilanciato. In questo modo, non funzionerà quando ci sono discrepanze considerevoli nei dati. Questo problema può essere risolto complicando il modello, espandendo il set di dati di addestramento o utilizzando l’aumento dei dati.

Dopo aver addestrato il modello sul dataset iniziale, il modello passa alla fase di validazione. In questa fase, l’algoritmo AI lavora con il dataset di validazione, il che consente agli ingegneri di testare le loro ipotesi sulle prestazioni del modello. Eventuali carenze, variabili non considerate e altri errori dovrebbero essere rivelati in questa fase.

Testing

Dopo aver completato con successo l’addestramento e la validazione, il modello di visione artificiale del computer dovrebbe essere testato per l’ultima volta. Normalmente, l’insieme finale o di test è composto dai dati con cui il modello non ha ancora lavorato. I dati sono etichettati in modo che gli ingegneri possano calcolare l’accuratezza del modello. Il modello viene avviato su un tale dataset solo una volta e i risultati sono considerati come una potenziale accuratezza che il modello mostrerà su dati reali. È importante scoprire se il modello addestrato è in grado di ottenere risultati accurati con una consistenza accettabile.

Di solito, l’intero processo di addestramento viene ripetuto più volte, in quanto gli sviluppatori possono avere bisogno di preparare un altro dataset o modificare il modello. Dopo diversi tentativi, viene scelto il modello che mostra i risultati ottimali ed è considerato pronto per essere messo in produzione.

La soluzione AI a due modelli di Intelliarts

Gli ingegneri di Intelliarts hanno realizzato una soluzione software composta da due modelli AI, uno dei quali viene utilizzato per la rilevazione dei danni alle auto e l’altro per la rilevazione delle parti dell’auto. Quindi, quando un utente inserisce un’immagine di un’auto danneggiata nella soluzione risultante, vengono indicati i danni e le parti dell’auto interessate separatamente. In questo modo, i risultati dell’elaborazione delle immagini sono danni identificati e parti dell’auto specificate. Se si sovrappongono, i risultati della soluzione vengono visualizzati, ad esempio, come “porta sinistra – ammaccatura”. I risultati vengono quindi confrontati con casi simili in un database di immagini preparate con stime dei costi di riparazione.

Il valore della soluzione AI per la rilevazione dei danni alle auto

La soluzione software finita è in grado di riconoscere particolari parti dell’auto, rilevare e categorizzare diversi tipi di danni, come danni al metallo o al vetro e spostamenti o sostituzioni dei componenti dell’auto, valutare la gravità dei danni e indicare i costi di riparazione stimati. La funzionalità di un modello AI addestrato dovrebbe essere sufficiente per risolvere la maggior parte delle semplici richieste di risarcimento danni alle auto con una supervisione umana limitata.

Naturalmente, la scelta di un algoritmo particolare o di una combinazione di algoritmi, l’addestramento dei modelli AI e la costruzione di una soluzione software finita dovrebbero essere strettamente collegati all’esecuzione di un insieme di compiti specializzati.

Per i proprietari di prodotti, l’obiettivo finale dei progetti di visione artificiale del computer è applicare la tecnologia nel settore delle assicurazioni e ottenere vantaggi commerciali che includono quanto segue:

  • Costi ottimizzati: La rilevazione automatizzata può essere effettuata a un costo molto inferiore rispetto all’ispezione manuale, con conseguenti risparmi significativi per le compagnie assicurative.
  • Riduzione dei compiti intensivi: L’automazione della maggior parte dei casi di ispezione auto può ridurre il carico di lavoro per il personale delle compagnie di assicurazione e consentire loro di concentrarsi su altre attività critiche.
  • Migliore precisione: I sistemi automatizzati possono analizzare le immagini dell’auto con maggiore precisione, identificando anche danni piccoli che potrebbero essere sfuggiti agli ispettori umani.
  • Elaborazione più rapida delle richieste di risarcimento: La rilevazione automatizzata dei danni alle auto può accelerare i tempi di elaborazione delle richieste, consentendo alle compagnie di assicurazione di liquidare più velocemente le richieste. Ciò può comportare un miglioramento della soddisfazione del cliente e dei tassi di fidelizzazione.

Considerazioni finali

Condurre ispezioni veicolari è un aspetto intensivo in termini di lavoro nel settore delle assicurazioni. Per semplificare l’elaborazione delle richieste di risarcimento, in particolare nei casi che coinvolgono la valutazione dei danni alle auto, le aziende possono sfruttare metodologie di visione artificiale del computer. Gli algoritmi di segmentazione delle immagini giocano un ruolo fondamentale nell’esecuzione di tali compiti. Tuttavia, il passaggio cruciale consiste nella selezione oculata di un’architettura di rete neurale ottimale, come Mask R-CNN, U-net o altre, per lo sviluppo del modello. Ciò comporta un addestramento approfondito utilizzando tecniche di annotazione dei dati e una successiva valutazione delle prestazioni.