Facendo clic su "Accetta tutti i cookie", l'utente accetta la memorizzazione dei cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzarne l'utilizzo e contribuire alle nostre iniziative di marketing. Per saperne di più
Impostazioni dei cookie
Facendo clic su "Accetta tutti i cookie", l'utente accetta la memorizzazione dei cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzarne l'utilizzo e contribuire alle nostre iniziative di marketing. Per saperne di più
Rilevamento dei bordi nell'elaborazione delle immagini. Imparate gli algoritmi di Sobel, Canny e altri algoritmi di rilevamento dei bordi per individuare con precisione i bordi e ottenere un robusto riconoscimento dei bordi.
Quando guardiamo un'immagine, gli esseri umani riconoscono naturalmente i bordi degli oggetti, ne seguono le curve e notano le trame delle loro superfici. Per un computer, invece, la comprensione inizia a livello dei singoli pixel.
Un pixel, la più piccola unità di un'immagine digitale, memorizza il colore e la luminosità in un singolo punto. Seguendo le variazioni dei valori di questi pixel in un'immagine, un computer può rilevare modelli che rivelano dettagli chiave.
In particolare, l'elaborazione delle immagini utilizza i dati dei pixel per enfatizzare le caratteristiche essenziali e rimuovere le distrazioni. Una tecnica comune di elaborazione delle immagini è il rilevamento dei bordi, che identifica i punti in cui la luminosità o il colore cambiano bruscamente per delineare gli oggetti, marcare i confini e aggiungere struttura.
Ciò consente ai computer di separare le forme, misurare le dimensioni e interpretare il collegamento tra le parti di una scena. Il rilevamento dei bordi è spesso il primo passo nell'analisi avanzata delle immagini.
Figura 1. Esempio che mostra l'immagine originale insieme ai risultati di diversi metodi di rilevamento dei bordi.(Fonte)
In questo articolo vedremo cos'è il rilevamento dei bordi, come funziona e quali sono le sue applicazioni reali. Iniziamo!
Concetti di rilevamento dei bordi
Il rilevamento dei bordi si concentra sulla ricerca dei punti di un'immagine in cui la luminosità o il colore cambiano sensibilmente da un punto all'altro. Se la variazione è piccola, l'area appare liscia. Se il cambiamento è netto, spesso segna il confine tra due regioni diverse.
Ecco alcuni dei motivi per cui si verificano questi cambiamenti di pixel:
Discontinuità delle normali di superficie: Quando due superfici si incontrano ad angolo, come l'angolo di un muro o il bordo di una scatola, questo brusco cambiamento di orientamento produce un chiaro confine nell'immagine.
Discontinuità di profondità: Appaiono quando gli oggetti si trovano a distanze diverse dalla telecamera, producendo una separazione visibile che aiuta il sistema a distinguerli.
Variazione del colore o della struttura della superficie: Si verifica quando un'area ha un colore o una consistenza diversa dall'area adiacente, creando una separazione visibile.
Cambiamenti di illuminazione: Nasce dai cambiamenti di illuminazione, comprese le ombre o le luci sulle superfici, creando separazioni visibili anche quando le superfici stesse sono lisce o continue.
Figura 2. Diversi tipi di discontinuità dei bordi nelle immagini.(Fonte)
Come funziona il riconoscimento dei bordi
Il rilevamento dei bordi inizia solitamente trasformando un'immagine a colori in un'immagine in scala di grigi, in modo che ogni punto mostri solo la luminosità. In questo modo è più facile per l'algoritmo concentrarsi sulle differenze di luce e buio invece che sul colore.
Successivamente, filtri speciali possono scansionare l'immagine per trovare i punti in cui la luminosità cambia improvvisamente. Questi filtri calcolano il grado di variazione della luminosità, detto gradiente. Un gradiente più elevato è causato da una maggiore differenza tra punti vicini, che spesso segnala un bordo.
L'algoritmo continua a perfezionare l'immagine, rimuovendo i piccoli dettagli e mantenendo solo le linee e le forme più importanti. Il risultato è un contorno chiaro e un'immagine di output che può essere utilizzata per ulteriori analisi.
Evoluzione del rilevamento dei bordi e dell'elaborazione delle immagini
Prima di approfondire il tema del rilevamento dei bordi, vediamo come si è sviluppato nel tempo.
L'elaborazione delle immagini è iniziata con metodi semplici e basati su regole come la sogliatura e il filtraggio per ripulire e migliorare le immagini. Nell'era analogica, questo significava lavorare con fotografie o pellicole utilizzando filtri ottici, ingranditori o trattamenti chimici per far risaltare i dettagli.
Tecniche come la regolazione del contrasto, la riduzione del rumore, la regolazione dell'intensità dell'immagine e il rilevamento di base dei bordi hanno contribuito a rendere più chiare le immagini in ingresso e a mettere in evidenza forme e texture. Negli anni '60 e '70, il passaggio dall'elaborazione analogica a quella digitale ha aperto la strada all'analisi moderna in settori come l'astronomia, l'imaging medico e il monitoraggio satellitare.
Negli anni '80 e '90, i computer più veloci hanno permesso di affrontare compiti più complessi come l'estrazione di caratteristiche, il rilevamento di forme e il riconoscimento di base degli oggetti. Algoritmi come l'operatore di Sobel e Canny offrivano un rilevamento più preciso dei bordi, mentre il riconoscimento dei pattern trovava applicazioni in tutti i settori, dall'automazione industriale alla lettura di testi stampati attraverso il riconoscimento ottico dei caratteri.
Rilevamento dei bordi e computer vision nel 21° secolo
Oggi, i costanti progressi della tecnologia hanno portato allo sviluppo della computer vision. L'IA della visione, o computer vision, è una branca dell'IA che si occupa di insegnare alle macchine a interpretare e comprendere le informazioni visive.
Mentre l'elaborazione tradizionale delle immagini, come la doppia soglia (che rende le immagini più chiare mantenendo i bordi forti e rimuovendo quelli deboli) e il rilevamento dei bordi, seguivano regole fisse e potevano gestire solo compiti specifici, la computer vision utilizza modelli basati sui dati che possono imparare dagli esempi e adattarsi a nuove situazioni.
Oggi i sistemi di imaging vanno ben oltre il semplice miglioramento delle immagini o il rilevamento dei bordi. Sono in grado di riconoscere oggetti, tracciare movimenti e comprendere il contesto di un'intera scena.
Una delle tecniche chiave che rende possibile tutto ciò è la convoluzione. Un'operazione di convoluzione è un processo in cui piccoli filtri (chiamati anche kernel) analizzano un'immagine per trovare modelli importanti come bordi, angoli e texture. Questi schemi diventano i mattoni che i modelli di computer vision utilizzano per riconoscere e comprendere gli oggetti.
Ad esempio, i modelli di computer vision come Ultralytics YOLO11 utilizzano queste caratteristiche basate sulla convoluzione per eseguire compiti avanzati come la segmentazione delle istanze. Si tratta di un'operazione strettamente correlata al rilevamento dei bordi, poiché la segmentazione delle istanze richiede di delineare con precisione i confini di ciascun oggetto in un'immagine.
Mentre il rilevamento dei bordi si concentra sulla ricerca di variazioni di intensità nei pixel dei bordi per contrassegnare i bordi degli oggetti, la segmentazione dell'istanza si basa su questa idea per rilevare i bordi, classificare e separare ogni oggetto nella propria regione.
Figura 3. Uno sguardo all'uso di YOLO11 e alla segmentazione delle istanze.(Fonte)
Algoritmi e approcci per il rilevamento dei bordi
Anche con la crescita della computer vision, l'elaborazione delle immagini è ancora una parte importante di molte applicazioni. Questo perché la visione computerizzata spesso si basa su fasi di preelaborazione delle immagini di base.
Prima di rilevare oggetti o comprendere una scena, i sistemi di solito ripuliscono l'immagine, riducono il rumore e individuano i bordi per far risaltare i dettagli chiave. Queste fasi rendono i modelli avanzati più precisi ed efficienti.
Esploriamo quindi alcuni dei più comuni algoritmi di elaborazione delle immagini utilizzati per rilevare i bordi e il loro funzionamento.
Rilevamento dei bordi di Sobel
Il rilevamento dei bordi di Sobel è un metodo chiave utilizzato per trovare i contorni degli oggetti in un'immagine. Invece di analizzare ogni dettaglio in una sola volta, si concentra sulle aree in cui la luminosità cambia bruscamente da un pixel al pixel vicino.
Questi spostamenti improvvisi di solito segnano il punto in cui finisce un oggetto e ne inizia un altro, o in cui un oggetto incontra lo sfondo. Isolando questi bordi, Sobel trasforma un'immagine complessa in un contorno più pulito, più facile da elaborare per altri sistemi, come il tracciamento del movimento, il rilevamento di forme o il riconoscimento di oggetti.
Si può pensare al rilevamento dei bordi di Sobel come a un rilevatore di gradienti che misura le variazioni di intensità in un'immagine. Il suo funzionamento si basa su un'operazione di convoluzione: lo scorrimento di piccole matrici, chiamate kernel, sull'immagine e il calcolo delle somme ponderate dei valori dei pixel vicini.
Questi kernel sono progettati per enfatizzare le variazioni di luminosità lungo le direzioni orizzontali e verticali. A differenza dei modelli di deep learning, in cui i kernel vengono appresi dai dati, Sobel utilizza kernel fissi per evidenziare in modo efficiente i bordi senza bisogno di addestramento.
Ecco un approfondimento su come funziona il metodo di rilevamento dei bordi di Sobel:
Utilizzo di due filtri 3×3: Questo metodo utilizza due piccole griglie 3×3, chiamate filtri. Consideratele come degli stencil che scorrono sull'immagine in direzione orizzontale (x) e verticale (y). Una griglia è progettata per trovare i bordi orizzontali e l'altra per quelli verticali.
Calcolo del gradiente: Ogni filtro rileva la velocità di variazione della luminosità e la direzione del gradiente. Una variazione elevata indica un possibile bordo.
Combinazione dei risultati: I risultati orizzontali e verticali vengono combinati per determinare la forza e la direzione complessiva del bordo in ogni pixel.
Rilevamento dei bordi: I pixel con un'elevata ampiezza del gradiente sono contrassegnati come bordi forti.
Delimitazione dei confini: Questi bordi aiutano a definire le forme degli oggetti e a separare le diverse regioni dell'immagine.
Figura 4. Il rilevamento dei bordi di Sobel può evidenziare i contorni principali di un'immagine di input e produrre una mappa dei bordi. (Fonte)
Rilevamento dei bordi con cannocchiale
Il rilevamento dei bordi Canny è un altro metodo popolare per trovare i bordi in un'immagine. È noto per produrre contorni puliti e precisi. A differenza delle tecniche di rilevamento dei bordi di base, segue una serie di passaggi attentamente studiati per filtrare il rumore, rendere più nitidi i confini e concentrarsi sui bordi più importanti.
Ecco una rapida panoramica di come funziona un rilevatore di bordi Canny:
Sfumatura dell'immagine: L'immagine viene prima sfocata con un filtro gaussiano, una tecnica di levigatura che riduce il rumore e i piccoli dettagli che potrebbero essere scambiati per bordi.
Rilevamento delle variazioni di luminosità: L'algoritmo esegue quindi una scansione per individuare le variazioni di luminosità, utilizzando il calcolo del gradiente per misurare la forza e la direzione di tali variazioni.
Assottigliamento dei bordi: Vengono mantenuti solo i punti più forti lungo ogni linea rilevata, mentre i punti più deboli vengono rimossi, ottenendo bordi nitidi e puliti.
Classificazione dei bordi: Ogni pixel viene etichettato come bordo forte, debole o non bordo, in base ai valori di soglia della variazione di luminosità.
Pulizia finale: Gli spigoli deboli connessi a quelli forti vengono mantenuti; tutti gli altri vengono scartati, lasciando solo confini chiari e connessi.
Figura 5. Immagine originale e rispettiva immagine di uscita dopo l'uso del rilevatore di bordi Canny.(Fonte)
Poiché fornisce risultati accurati filtrando il rumore, il rilevamento dei bordi Canny è ampiamente utilizzato in settori in cui la precisione è importante. Ad esempio, viene utilizzato in settori come l'imaging medico, la mappatura satellitare, la scansione di documenti e la visione robotica.
Rilevamento dei bordi basato sul gradiente o sulla gaussiana
Finora, i due esempi di rilevamento dei bordi che abbiamo esaminato sono Sobel e Canny. Entrambi mirano a trovare i bordi, ma affrontano il problema in modo diverso.
I metodi basati sul gradiente (come Sobel, Prewitt e Scharr) rilevano i bordi cercando cambiamenti netti nella luminosità, noti come gradiente. Scansionano l'immagine e segnano i punti in cui questa variazione è più forte. Questi metodi sono semplici, veloci e funzionano bene quando le immagini sono chiare. Tuttavia, sono sensibili al rumore: piccole variazioni di luminosità possono essere scambiate per bordi.
I metodi basati sulla gaussiana (come Canny o Laplaciano di Gaussiana) aggiungono un ulteriore passaggio per gestire questo problema: la sfocatura dell'immagine. Questo smussamento, spesso eseguito con un filtro gaussiano, riduce le piccole variazioni che potrebbero creare falsi bordi. Dopo lo smussamento, questi metodi cercano ancora le variazioni di luminosità, ma i risultati sono più puliti e accurati per le immagini rumorose o di bassa qualità.
Figura 6. Rilevamento dei bordi basato sul gradiente o sulla gaussiana. Immagine dell'autore.
Applicazioni reali del rilevamento dei bordi
Dopo aver compreso meglio il funzionamento del rilevamento dei bordi, analizziamo come viene applicato in situazioni reali.
Uso del rilevamento dei bordi per identificare le crepe
L'ispezione di grandi strutture in calcestruzzo, come ponti e grattacieli, è spesso un compito impegnativo e pericoloso. Queste strutture possono coprire lunghe distanze o raggiungere altezze elevate, rendendo le ispezioni tradizionali lente, costose e rischiose. Inoltre, queste ispezioni richiedono in genere impalcature, accessi con funi, misurazioni manuali ravvicinate o fotografie.
Un approccio interessante è stato esplorato nel 2019, quando i ricercatori hanno testato un metodo più sicuro e veloce utilizzando droni dotati di telecamere ad alta risoluzione per catturare immagini dettagliate in ingresso delle superfici in calcestruzzo. Queste immagini sono state poi elaborate con varie tecniche di rilevamento dei bordi per identificare automaticamente le crepe.
Lo studio ha dimostrato che questo metodo riduce in modo significativo la necessità di un accesso umano diretto alle aree pericolose e velocizza le ispezioni. Tuttavia, la sua accuratezza dipendeva ancora da fattori quali le condizioni di illuminazione, la chiarezza delle immagini e la stabilità del funzionamento del drone. In alcuni casi era ancora necessaria la revisione umana per eliminare i falsi positivi.
Applicazione del rilevamento dei bordi nell'imaging medico
Le radiografie e le risonanze magnetiche contengono spesso disturbi visivi noti come rumore, che possono rendere più difficile la visione di dettagli fini. Ciò rappresenta una sfida per i medici quando cercano di individuare i bordi di un tumore, tracciare il contorno di un organo o monitorare i sottili cambiamenti nel tempo.
Un recente studio di imaging medico ha testato la capacità dei comuni metodi di rilevamento dei bordi, come Sobel, Canny, Prewitt e Laplaciano, di gestire le immagini rumorose. I ricercatori hanno aggiunto diversi tipi e livelli di rumore alle immagini e hanno verificato quanto accuratamente ogni metodo fosse in grado di delineare le caratteristiche importanti.
Canny ha solitamente prodotto i bordi più puliti, anche in presenza di rumore, ma non è stato il migliore in tutti i casi. Alcuni metodi funzionano meglio con determinati modelli di rumore, quindi non esiste un'unica soluzione perfetta.
Figura 7. Canny (d-f) fornisce bordi più chiari rispetto a Sobel (g-i) all'aumentare del rumore.(Fonte)
Questo spiega perché tecnologie come la computer vision sono così importanti. Combinando algoritmi avanzati e modelli di Vision AI, queste soluzioni possono andare oltre il semplice rilevamento dei bordi e fornire risultati più precisi e affidabili anche in condizioni difficili.
Pro del rilevamento dei bordi
Ecco alcuni dei vantaggi dell'utilizzo del rilevamento dei bordi e dell'elaborazione delle immagini:
Migliore compressione dei dati: Il rilevamento dei bordi consente di rappresentare le immagini utilizzando solo le caratteristiche principali, riducendo le dimensioni dei file e conservando le informazioni essenziali. Ciò rende più efficiente l'archiviazione e la trasmissione.
Localizzazione più precisa degli oggetti: Identificando con precisione i confini degli oggetti, il rilevamento dei bordi migliora la capacità dei sistemi di localizzare e seguire gli oggetti, a vantaggio di applicazioni come la Vision AI nella robotica e nei veicoli autonomi.
Rilevamento di caratteristiche su più scale: Le tecniche di rilevamento dei bordi possono analizzare le immagini a diverse scale, catturando sia i piccoli dettagli che le forme più grandi. Questa flessibilità è utile per diversi compiti, dall'analisi delle texture alla comprensione della scena.
Limiti dell'utilizzo dell'elaborazione delle immagini per il rilevamento dei bordi
Il rilevamento dei bordi nell'elaborazione delle immagini presenta molti vantaggi, ma anche alcune sfide. Ecco alcune delle principali limitazioni da considerare:
Problemi con texture complesse: Nelle immagini con motivi intricati o ripetuti, il rilevamento dei bordi spesso produce molti bordi falsi o irrilevanti, il che complica le analisi successive e riduce l'affidabilità.
Sensibile all'illuminazione: Le variazioni di luminosità, ombre e riflessi possono indurre i rilevatori di bordi a interpretare erroneamente le variazioni di illuminazione come confini dell'oggetto, con conseguenti risultati incoerenti.
Nessuna identificazione degli oggetti: Sebbene i bordi evidenzino l'inizio e la fine degli oggetti, non mostrano quali siano gli oggetti. È necessaria un'ulteriore elaborazione per assegnare un significato o un'etichetta ai bordi rilevati.
Quando la computer vision può essere utilizzata per il rilevamento dei bordi
Il rilevamento dei bordi si ispira al modo in cui gli occhi e il cervello lavorano insieme per dare un senso al mondo. Nella visione umana, i neuroni specializzati della corteccia visiva sono molto sensibili ai bordi, alle linee e ai confini.
Questi spunti visivi ci aiutano a determinare rapidamente dove finisce un oggetto e dove ne inizia un altro. È per questo che anche un semplice disegno a linee può essere immediatamente riconoscibile: il nostro cervello si basa molto sui bordi per identificare forme e oggetti.
La visione artificiale mira a imitare questa capacità, ma fa un passo avanti. Modelli come Ultralytics YOLO11 vanno oltre l'evidenziazione dei bordi e il miglioramento delle immagini. Sono in grado di rilevare gli oggetti, di delinearli con precisione e di seguire i movimenti in tempo reale. Questo livello di comprensione più profondo li rende essenziali in scenari in cui il solo rilevamento dei bordi non è sufficiente.
Utilizzo di Ultralytics YOLO11 per un rilevamento più accurato dei bordi
Ecco alcuni compiti chiave di computer vision supportati da YOLO11 che si basano e vanno oltre il rilevamento dei bordi:
Rilevamento degli oggetti: Identifica e localizza più oggetti in un'immagine o in un video disegnando riquadri di delimitazione attorno a ciascuno di essi, fornendo una chiara visione di ciò che è presente e della posizione di ciascun oggetto.
Segmentazione delle istanze: Si tratta di scomporre gli oggetti a livello di pixel, producendo contorni netti e precisi anche quando gli oggetti si sovrappongono o hanno forme irregolari.
Stima della posa: L'obiettivo è determinare la posizione, l'orientamento o la postura di un oggetto o di una persona, che aiuta a monitorare il movimento o a rilevare i cambiamenti strutturali nel tempo.
Tracciamento dell'oggetto: Questo compito segue un oggetto mentre si muove attraverso i fotogrammi del video, garantendo un'identificazione coerente per un'osservazione accurata a lungo termine.
Classificazione delle immagini: Assegna etichette a oggetti o intere immagini in base alle loro caratteristiche visive, facilitando l'organizzazione e l'interpretazione di grandi insiemi di dati.
Rilevamento dei bordi nelle infrastrutture con la computer vision
Un buon esempio di come la computer vision possa migliorare un'applicazione che tradizionalmente si basava sul rilevamento dei bordi è il rilevamento delle crepe nelle infrastrutture e nei beni industriali. Modelli di computer vision come YOLO11 possono essere addestrati per identificare con precisione le crepe su strade, ponti e condutture. La stessa tecnica può essere applicata anche alla manutenzione degli aerei, alle ispezioni degli edifici e al controllo di qualità della produzione, contribuendo a velocizzare le ispezioni e a migliorare la sicurezza.
Figura 8. Un esempio di utilizzo di YOLO11 per la segmentazione delle cricche.(Fonte)
Punti di forza
Il rilevamento dei bordi ha fatto molta strada, da semplici metodi iniziali a tecniche avanzate in grado di individuare anche i confini più sottili in immagini complesse. Aiuta a far emergere i dettagli importanti, a evidenziare le aree chiave e a preparare le immagini per un'analisi più approfondita, rendendola una parte fondamentale dell'elaborazione delle immagini.
Nella computer vision, il rilevamento dei bordi svolge un ruolo importante nella definizione delle forme, nella separazione degli oggetti e nell'estrazione di informazioni utili. Viene utilizzato in molti settori, come l'imaging medico, le ispezioni industriali, la guida autonoma e la sicurezza, per fornire una comprensione visiva accurata e affidabile.