• Non ci sono risultati.

7. Risultati dell’algoritmo rivelazione

7.1. Stima della linea dell’orizzonte

Riportiamo, per ogni blocco del diagramma in Figura 4.1, i risultati ottenuti sulla prima immagine del caso in esame.

Figura 7.1 Filtraggio a mediana

La Figura 7.1 mostra come un filtraggio a mediana, corrispondente al primo passo nella stima dell’orizzonte, sia in grado di ridurre il rumore e di conseguenza anche eventuali false rivelazioni nei passaggi successivi.

Nella Figura 7.2 si vede il risultato dell’applicazione dell’algoritmo di Canny. Si nota come, nonostante la rumorosità sul mare, sia possibile intuire quale sia la linea dell’orizzonte.

La Figura 7.3 riporta il risultato della trasformata di Hough, riportata sull’immagine di riferimento. Come vediamo, le linee ottenute sono per la maggior parte segmenti appartenenti dalla linea dell’orizzonte.

Figura 7.3 Trasformata di Hough

La figura mette anche in evidenza come la presenza di un target possa creare ambiguità sull’effettiva posizione della linea dell’orizzonte. Questo è infatti un fattore che abbiamo tenuto in considerazione nei passi successivi dell’algoritmo.

Si riporta in Figura 7.4 l’output proveniente dall’estrazione di edge e dalla successiva trasformata di Hough applicando l’algoritmo ad un altro caso.

In questo caso, in aggiunta al problema prima accennato della presenza dei target, abbiamo l’effetto del riflesso del sole sull’orizzonte, che conduce alla rivelazione di una doppia linea nell’immagine binaria.

Di conseguenza anche i segmenti, ottenuti mediante trasformata di Hough, vengono individuati sia sulla linea dell’orizzonte sia sul riflesso sottostante.

Nel paragrafo 4.2.2, che descrive l’algoritmo di rivelazione dell’orizzonte, si introduceva la difficoltà principale nel ricavare una stima accurata della linea dell’orizzonte, corrisponde alla presenza di forti riflessi del sole. Il riflesso del sole, come nel caso riportato in Figura 7.4, crea un riflesso sotto l’orizzonte tale da creare, successivamente alla trasforma di Hough, un doppio allineamento. La procedura prevede, come già detto appunto nel paragrafo 4.2.2, di individuare, se presenti, entrambi gli allineamenti e di confrontarli successivamente tra di loro per individuare quello corretto. Si mostrano i risultati ottenuti sul caso in Figura 7.4, così da evidenziare la capacità dell’algoritmo di risolvere tale problematica.

In Figura 7.4 si è evidenziato in rosso il segmento più lungo, il quale sarà il nostro punto di partenza per la stima del primo allineamento, lungo il quale è disposto il segmento stesso. In questo caso vediamo che il segmento di partenza delinea una linea riflessa e non la linea dell’orizzonte. Di conseguenza la stima del primo allineamento sarà in questo caso quella errata e l’algoritmo deve essere in grado di capire che la stima dell’allineamento corretto è, come vedremo, la seconda. Seguendo il procedimento descritto nel paragrafo 4.2.2, sulla base del segmento più lungo, si dividono gli altri segmenti in inliers ed outliers. I primi sono quelli che si trovano sull’allineamento del segmento di riferimento mentre i secondi sono disposti lungo un allineamento differente.

La Figura 7.5 (a) illustra la retta ottenuta prolungando il segmento di riferimento. Sulla base di questa viene poi calcolata la distanza di tutti gli altri segmenti dalla retta e, se questi distano più o meno di una certa soglia, vengono etichettati rispettivamente come outliers o inliers. In Figura 7.5 (b) e (c) si mostrano gli estremi dei segmenti appartenenti rispettivamente agli inliers e agli outliers. Si conclude la prima stima con l’interpolazione degli estremi appartenenti agli inliers secondo l’equazione (4.2), Figura 7.5 (d).

Figura 7.5 Stima del primo allineamento sulla base del segmento più lungo tra quelli rivelati mediante la trasformata di

Hough

Dalla Figura 7.5 si nota come la prima stima sia errata, poiché corrispondente ad un riflesso del sole e non alla linea dell’orizzonte.

Si ripete il procedimento partendo dal segmento più lungo tra gli outliers. In questo modo si vuole infatti andare a stimare il secondo allineamento e consideriamo quindi il segmento più lungo tra quelli non in linea alla prima stima. In Figura 7.6 si mostrano i risultati del procedimento per giungere alla stima del secondo allineamento. Si noti come in Figura 7.6 (c) i nuovi outliers ottenuti siano frutto di bersagli presenti nell’immagine o comunque segmenti non allineati con nessuno tra i due allineamenti sotto stima. Grazie alla nuova divisione tra inliers e outliers, con successiva interpolazione degli inliers per ottenere la stima del secondo allineamento, si noti, in Figura 7.6 (d),

la corretta stima del secondo allineamento, che questa volta corrisponde proprio alla linea dell’orizzonte.

Figura 7.6 Stima del secondo allineamento sulla base del segmento più lungo tra gli outliers del primo allineamento

Confrontando la prima stima, Figura 7.5 (d), con la seconda, Figura 7.6 (d), l’algoritmo associa alla linea dell’orizzonte la seconda stima, giungendo quindi a conclusioni corrette.

Come riportato nel paragrafo 4.2.2.5 la scelta tra le stime dei due allineamenti si basa sul valore dell’intercetta, e scegliendo la retta stimata ad intercetta più alta, si identifica correttamente la linea dell’orizzonte e non un suo riflesso. Inoltre verifica anche il numero di inliers utilizzati nell’interpolazione, scartando stime ottenute con pochi punti. Quest’ultima accortezza è necessaria per evitare di scegliere erroneamente una stima che deriva non da punti sull’orizzonte ma da contorni rilevati per la presenza di bersagli.

Si riportano in Figura 7.7 le stime dell’orizzonte eseguite su diversi casi, soggetti alle problematiche elencate precedentemente. Nelle prime due colonne si mostra la stima delle due linee candidate, mentre nella terza la decisione finale sulla designazione della linea dell’orizzonte.

Figura 7.7 Confronto tra le stime dei due allineamenti e scelta della linea corretta per la descrizione dell’orizzonte

Nei primi due casi, la stima sbagliata è stata causata dalla presenza di un target, cerchiato in rosso, mentre, negli ultimi due, da un riflesso sotto la linea dell’orizzonte, circoscritto dal rettangolo rosso. La stima finale dell’orizzonte risulta corretta in ciascuno dei casi analizzati, dimostrando la robustezza dell’algoritmo.

7.2.

Area di ricerca

Come già specificato, l’accuratezza delle misure di azimut, elevazione e rollio fornite dal sistema, è di circa 1mrad.

Figura 7.8 Area di ricerca

La Figura 7.8 mostra i segmenti epipolari ottenuti con le 27 terne di valori applicate secondo le specifiche del paragrafo 4.3.1. Si noti che i segmenti sembrano essere solo 9. Ciò è dovuto al fatto che l’errore sul rollio incide quasi trascurabilmente e, dunque, la variazione della linea epipolare dipende, in pratica, dal solo errore sul azimut e sull’elevazione.

La finestra in rosso identifica la nostra area di ricerca nella quale ci aspettiamo di trovare il target di interesse, determinata in modo da contenere tutti i segmenti di linea epipolare ottenuti.

Documenti correlati