INTRODUZIONE
I difetti stradali, comunemente conosciute come “buche”, rappresentano uno dei maggiori problemi infrastrutturali che affliggono le strade di tutto il mondo. Si tratta di cedimento nel manto stradale, spesso causato da cattive condizioni meteorologiche, traffico pesante e usura. Tali difetti possono avere conseguenze devastanti per i veicoli e per la sicurezza stradale causando danni ingenti ai veicoli, incidenti e persino lesioni ai conducenti e passeggeri.

La rilevazione tempestiva e precisa delle buche stradali è fondamentale per garantire la manutenzione e la sicurezza delle strade. L’utilizzo della computer vision, in particolare il metodo dell’object detection, offre un potenziale significativo per migliorare l’efficienza e l’accuratezza nell’individuazione delle buche. Questa tecnologia consente di identificare automaticamente i difetti nelle immagini o nei video delle strade, fornendo informazioni cruciali per gli utenti della strada e/o per gli enti preposti alla manutenzione.
SCOPO
L’obiettivo è addestrare una rete neurale dedicata per riconoscere le buche presenti su tutte le strade al fine di prevenirne gli effetti dannosi. l’utilizzo dell’intelligenza artificiale ci permette di sviluppare un sistema automatico in grado di individuare, evitare e segnalare le buche stradali. Inoltre, è possibile esplorare come questa tecnologia possa essere integrata nei veicoli a guida autonoma per migliorare la loro capacità di navigare in modo sicuro su strade danneggiate.
METODO DI RICERCA
Per raggiungere il nostro obiettivo, adotteremo il metodo Faster R-CNN, una variante avanzata dell’architettura R-CNN che presenta diversi vantaggi significativi nell’ambito della rilevazione degli oggetti. Questo approccio offre un trade-off ottimale tra prestazioni di rilevamento e efficienza computazionale, consentendo una rapida ed efficace individuazione degli oggetti di interesse, come le buche stradali.
R-CNN
L’architettura della R-CNN (Region-based Convolutional Neural Network) è composta da tre componenti principali: proposta di regioni d’interesse (Region Proposal), estrazione delle caratteristiche (Feature Extraction) e classificazione.
- Estrazione delle Regioni di Interesse: viene utilizzato il Selective Search per generare proposte di regioni che potrebbero contenere una buca stradale.
- Estrazione delle Caratteristiche: Ciascuna regione proposta viene elaborata attraverso una CNN pre-addestrata per estrarre le caratteristiche salienti.
- Classificazione: Il vettore delle caratteristiche estratto per ciascuna regione viene utilizzato per addestrare un classificatore SVM (support vector machine) per determinare se la regione contiene una buca stradale o meno.

Questo tipo di architettura è stato il precursore di varianti più avanzate come Fast R-CNN, Faster R-CNN e Mask R-CNN, che hanno portato miglioramenti significativi in termini di velocità e accuratezza nella rilevazione e classificazione degli oggetti nelle immagini.
PRE-ELABORAZIONE DEI DATI
Per un progetto di intelligenza artificiale la preparazione dei dati rappresenta una tappa cruciale. Il dataset deve essere elaborato per garantire che le immagini delle buche stradali siano uniformi in termini di dimensioni e qualità. Ciò richiede il resizing ed il labelling delle immagini per focalizzarsi esclusivamente sulle buche stradali. Una accurata etichettatura delle stesse è importante in quanto rappresenta la fase in cui comunichiamo all’algoritmo cosa apprendere.
Sono state eseguite tre fasi di addestramento. La prima prevede più di mille immagini contenenti buche stradali, utili ad insegnare all’algoritmo a ‘capire’ che cos’è una buca. La seconda fase, costituita da 300 immagini di contesto, mira a istruire l’algoritmo sul contesto delle buche stradali. Infine, la terza fase, composta da circa un centinaio di immagini, serve per un raffinamento ulteriore del processo di addestramento.
La fase di labelling richiede particolare pazienza. È fondamentale dedicarsi attentamente all’etichettatura di tutte le immagini destinate all’addestramento dell’algoritmo.
CONFIGURAZIONE DEL PIPELINE
Compilare correttamente il file di configurazione della rete è fondamentale per garantire il corretto funzionamento del modello e ottenere risultati ottimali durante la fase di addestramento. Di seguito sono riportate alcune righe importanti nel file di configurazione che devono essere modificate secondo le esigenze specifiche del progetto:
- num_classes: 1: Impostare questo valore uguale al numero di categorie da riconoscere. Ad esempio, se abbiamo due classi (gatto e cane), num_classes sarà 2.
- batch_size: 4: Aumentare o diminuire questo valore in base alla memoria disponibile. Valori più alti richiedono più memoria e viceversa.
- N_steps: 2000 Deve essere basso, altrimenti non parte il training (dipende dalla potenza di calcolo disponibile).
- fine_tune_checkpoint: Impostare il percorso al checkpoint del modello pre-addestrato per il trasferimento dell’apprendimento.
- fine_tune_checkpoint_type: Impostare questo parametro su “detection” se si desidera addestrare l’intero modello di rilevamento.
- use_bfloat16: Impostare questo valore su ‘false’ se si dispone di una GPU.
- label_map_path: Impostare il percorso al file di mappatura delle etichette (sia per il test che per il training).
- input_path: Impostare il percorso al file TFRecord di addestramento (sia per il test che per il training).
Assicurarsi di modificare queste linee nel file di configurazione in base alle proprie specifiche esigenze e ai dati di input. Una corretta configurazione del pipeline è cruciale per il successo dell’addestramento e per ottenere risultati accurati nella rilevazione dei difetti stradali.
https://github.com/Anass-El-Fares/Pothole-recognition/blob/main/ssd_efficientdet_d0_512x512_coco17_tpu-8.config
AUTO A GUIDA AUTONOMA
Integrare la capacità di rilevare le buche stradali nei sistemi di guida autonoma offre numerosi vantaggi. I veicoli autonomi possono utilizzare le informazioni sulla posizione e sulla dimensione delle buche per adattare dinamicamente la propria velocità e la traiettoria di guida, riducendo in tal senso il rischio di danni al veicolo e garantendo una guida più sicura e confortevole. Inoltre, il rilevamento dei difetti consente alle auto autonome di segnalare tempestivamente le condizioni stradali pericolose ad altri veicoli e agli addetti alla manutenzione, contribuendo a migliorare la sicurezza e l’efficienza del sistema stradale nel suo complesso.
CONCLUSIONE
Il processo di rilevamento delle buche stradali tramite R-CNN illustra il potenziale della computer vision nell’identificare e gestire efficacemente i difetti stradali al fine di garantire la sicurezza e l’integrità delle infrastrutture stradali.
In conclusione, l’intelligenza artificiale nel campo della visione ha raggiunto livelli notevoli di sofisticazione, offrendo soluzioni efficaci per la rilevazione e la gestione dei difetti come i cedimenti strutturali locali.
Grazie all’utilizzo di algoritmi di object detection e architetture avanzate, siamo in grado di affrontare con successo problemi complessi di riconoscimento e di fornire strumenti utili per migliorare la sicurezza e la qualità delle nostre strade. L’integrazione di queste tecnologie nei veicoli promette di portare benefici significativi in termini di sicurezza, efficienza e comfort della guida, contribuendo così a plasmare il futuro della mobilità su strada.