Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Systemów Elektronicznych. Piotr Koca. Praca dyplomowa inżynierska

Podobne dokumenty
Implementacja filtru Canny ego

Analiza obrazów - sprawozdanie nr 2

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 8 AiR III

Przetwarzanie obrazu

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 9 AiR III

Przetwarzanie obrazów rastrowych macierzą konwolucji

Filtracja obrazu operacje kontekstowe

Filtracja obrazu operacje kontekstowe

Przetwarzanie obrazów wykład 4

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny.

Akademia Górniczo - Hutnicza im. Stanisława Staszica w Krakowie. Projekt. z przedmiotu Analiza i Przetwarzanie Obrazów

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 7 AiR III

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Segmentacja przez detekcje brzegów

Proste metody przetwarzania obrazu

Detekcja punktów zainteresowania

Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 8. Filtracja uśredniająca i statystyczna.

WYBRANE ELEMENTY CYFROWEGO PRZETWARZANIA SYGNAŁÓW W RADARZE FMCW

dr inż. Piotr Odya dr inż. Piotr Suchomski

Metody systemowe i decyzyjne w informatyce

Analiza obrazu. wykład 4. Marek Jan Kasprowicz Uniwersytet Rolniczy 2009

Cyfrowe Przetwarzanie Obrazów i Sygnałów

i ruchów użytkownika komputera za i pozycjonujący oczy cyberagenta internetowego na oczach i akcjach użytkownika Promotor: dr Adrian Horzyk

dr hab. inż. P. Samczyński, prof. PW; pok. 453, tel. 5588, EIK

Wykrywanie twarzy na zdjęciach przy pomocy kaskad

Filtracja splotowa obrazu

Metody kodowania wybranych cech biometrycznych na przykładzie wzoru naczyń krwionośnych dłoni i przedramienia. Mgr inż.

Podstawy programowanie systemów wizyjnych InSight firmy Cognex. Środowisku InSight Explorer / Spreadshee

Zad. 3: Układ równań liniowych

Algorytmy Laplacian of Gaussian i Canny ego detekcji krawędzi w procesie analizy satelitarnych obrazów procesów atmosferycznych.

Złożoność obliczeniowa zadania, zestaw 2

Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 11. Filtracja sygnałów wizyjnych

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Maciej Piotr Jankowski

Szacowanie wartości monet na obrazach.

Diagnostyka obrazowa

Obraz jako funkcja Przekształcenia geometryczne

Przekształcenia punktowe

Operacje przetwarzania obrazów monochromatycznych

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.

Analiza obrazów. Segmentacja i indeksacja obiektów

Przekształcenia kontekstowe. Filtry nieliniowe Typowy przykład usuwania zakłóceń z obrazu

Zastosowanie stereowizji do śledzenia trajektorii obiektów w przestrzeni 3D

1 Układy równań liniowych

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 10 AiR III

Ćwiczenie 6. Transformacje skali szarości obrazów

Python: JPEG. Zadanie. 1. Wczytanie obrazka

Teledetekcja w ochronie środowiska. Wykład 3

Aproksymacja funkcji a regresja symboliczna

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

Samochodowy system detekcji i rozpoznawania znaków drogowych. Sensory w budowie maszyn i pojazdów Maciej Śmigielski

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Filtracja liniowa (metody konwolucyjne, tzn. uwzględniające pewne otoczenie przetwarzanego piksla):

Laboratorium Cyfrowego Przetwarzania Obrazów

Optymalizacja ciągła

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 9. Przetwarzanie sygnałów wizyjnych. Politechnika Świętokrzyska.

Zastosowanie Informatyki w Medycynie

Analiza i przetwarzanie obrazów

Grafika komputerowa. Dla DSI II

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG

2) R stosuje w obliczeniach wzór na logarytm potęgi oraz wzór na zamianę podstawy logarytmu.

Filtracja w domenie przestrzeni

Optymalizacja systemów

Metody systemowe i decyzyjne w informatyce

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

Analiza obrazu. wykład 3. Marek Jan Kasprowicz Uniwersytet Rolniczy 2009

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Detekcja twarzy w obrazie

ROZKŁAD MATERIAŁU NAUCZANIA KLASA 1, ZAKRES PODSTAWOWY

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

LUBELSKA PRÓBA PRZED MATURĄ 09 MARCA Kartoteka testu. Maksymalna liczba punktów. Nr zad. Matematyka dla klasy 3 poziom podstawowy

Praca dyplomowa magisterska

Analiza obrazów - sprawozdanie nr 3

Rozpoznawanie obrazów

Zamiana reprezentacji wektorowej na rastrową - rasteryzacja

Programowanie celowe #1

Analiza składowych głównych. Wprowadzenie

AUTOMATYCZNE ROZPOZNAWANIE PUNKTÓW KONTROLNYCH GŁOWY SŁUŻĄCYCH DO 3D MODELOWANIA JEJ ANATOMII I DYNAMIKI

Systemy uczące się Lab 4

Systemy i Sieci Radiowe

Grafika komputerowa. Zajęcia IX

Analiza korespondencji

Podstawy Informatyki Wykład V

Diagnostyka obrazowa

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Filtracja nieliniowa obrazu

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Algorytm grupowania danych typu kwantyzacji wektorów

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Transkrypt:

Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Systemów Elektronicznych Piotr Koca 236493 Praca dyplomowa inżynierska Automatyczna detekcja obiektów charakterystycznych w zobrazowaniach SAR Praca wykonana pod kierunkiem: dr hab. inż. Piotr Samczyński Warszawa, 2015

Automatyczna detekcja obiektów charakterystycznych w zobrazowaniach SAR W niniejszej pracy przedstawiono metody wykrywania obiektów charakterystycznych w zobrazowaniach SAR. Skupiono się na detekcji prostych odcinków dróg oraz elementów wyróżniających się. W celu realizacji zadania zostały zaimplementowane algorytmy: wykorzystujący transformatę Hougha oraz bazujący na entropii (Variance Weighted Information Entropy). W celu wstępnej obróbki obrazów wykorzystano filtrację Gaussa oraz wykrywanie krawędzi metodą Canny ego. Algorytmy zostały zaimplementowane w środowisku Matlab oraz przetestowane z wykorzystaniem rzeczywistych zobrazowań SAR. Słowa kluczowe: radar, SAR, detekcja obiektów, transformata Hougha, VWIE Automatic detection of characteristic objects in SAR images Methods of characteristic objects detection in SAR images are presented in this paper. The main emphasis is placed on straight segments of roads detection and distinctive objects detection. To accomplish this objective there were algorithms implemented that are using the Hough transform and entropy-based measure (Variance Weighted Information Entropy). In pretreatment stage there is Gaussian filtration exploited as well as Canny edge detection method. Algorithms were implemented using Matlab and tested using real SAR images. Keywords: radar, SAR, objects detection, Hough transform, VWIE

Życiorys Urodziłem się 22 lutego 1991 roku w Warszawie. W 2010 roku ukończyłem XXII Liceum Ogólnokształcące im. José Martí w Warszawie. W tym samym roku rozpocząłem studia inżynierskie na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej. Wybrana przeze mnie specjalność to Elektronika i Inżynieria Komputerowa. W 2013 roku odbyłem dwumiesięczne praktyki studenckie w Instytucie Fraunhofera FHR w Niemczech. Pragnę serdecznie podziękować za cierpliwość oraz opiekę podczas pisania tej pracy Panu dr hab. inż. Piotrowi Samczyńskiemu,

Spis treści 1. Wstęp... 5 1.1 Radar SAR... 6 1.2 Cel realizacji pracy... 9 2. Techniki detekcji obiektów... 10 2.1 Transformata Hougha... 11 2.2 VWIE detekcja obiektów wyróżniających się... 14 3. ATD wymagania... 16 3.1 Dane wejściowe... 16 3.2 Dane wyjściowe... 17 3.3 Narzędzia... 17 4. Opis implementacji algorytmów... 17 4.1 Wykrywanie linii prostych... 17 4.1.1 Filtracja Gaussa... 19 4.1.2 Wykrywanie krawędzi metodą Canny ego... 23 4.1.3 Wykrywanie prostych implementacja transformaty Hougha w Matlabie.. 26 4.2 Wykrywanie obiektów wyróżniających się... 31 4.3 Graficzny interfejs użytkownika... 35 5. Testy zaimplementowanych algorytmów... 36 5.1 Wykrywanie linii prostych... 36 5.2 Wykrywanie obiektów wyróżniających się... 40 6. Podsumowanie... 42 6.1 Dalszy rozwój pracy... 42 Bibliografia... 43 4

1. Wstęp Pierwsze teorie i testy dotyczące wykorzystania fal elektromagnetycznych do wykrywania obiektów powstały na początku XX wieku. Czasem gwałtownego rozwoju tej dziedziny była II wojna światowa, gdzie przewaga technologiczna dawała także przewagę na polu walki [1]. W tamtym właśnie czasie pojawiło się określenie radar (z ang. RAdio Detection And Ranging [1], [2]). Dzisiaj radary wykorzystywane są w wielu, bardzo zróżnicowanych dziedzinach. Istnieją systemy do obserwacji nie tylko przestrzeni powietrznej, ale także kosmosu [3]. Znajdują zastosowanie w meteorologii czy badaniu gruntu (Georadar) [4]. Powszechnie stosowane są w lotnictwie, transporcie morskim oraz lądowym. Zarówno systemy ACC (z ang. Adaptive Cruise Control), które utrzymują pożądany odstęp między pojazdami, jak technologie odpowiedzialne za automatyczne parkowanie wykorzystują technologie radarową. Mimo, że radary są powszechnie używane w zastosowaniach cywilnych, zainteresowanie nimi wojska wcale nie zmalało. Urządzenia te działają bez względu na porę dnia, czy nocy, i nie mają na nie wpływu warunki atmosferyczne, takie jak gęsta mgła, deszcz czy śnieg [1]. Dotyczy to zarówno radarów klasycznych, które pozwalają wykrywać obecność danego obiektu, jego prędkość i dystans, jak i radarów SAR (z ang. Synthetic Aperture Radar radar z syntetyczną aperturą). Te ostatnie pozwalają na uzyskanie zobrazowań terenu wysokiej rozdzielczości (Rysunek 1.1) podobnych do zdjęć optycznych (obrazy radarowe, jak zostało już powiedziane, nie są jednak objęte ograniczeniami wynikającymi z pory dnia czy warunków pogodowych). Rysunek 1.1 Przykładowy obraz SAR (źródło: [27]) 5

1.1 Radar SAR Każdy aktywny system radarowy musi mieć możliwość nadawania oraz odbierania impulsów sondujących. Linia nadawcza składa się z generatora sygnału, cyrkulatora oraz anteny, którą wspomniany sygnał jest transmitowany. Po odbiciu od przeszkody impuls odbierany jest przez antenę i poprzez cyrkulator trafia do toru odbiorczego, w którym następuje jego przetwarzanie [5] (Rysunek 1.2). Rysunek 1.2 Podstawowa zasada działania radaru Sygnał emitowany przez radar (fala elektromagnetyczna o częstotliwości z zakresu fal radiowych) propaguje w przybliżeniu z prędkością światła (c = 3 10 8 m/s), obliczany jest czas, po którym wysłany sygnał powrócił do odbiornika (τ). Odległość obiektu, którego echo jest odbierane (SR z ang. Slant Range) określana jest zależnością [1]: SR = c τ 2 (1.1) Proces prowadzący do uzyskania zobrazowania radarowego składa się z kilku etapów. Aparatura radarowa umieszczana jest na ruchomej platformie (może to być np. satelita, samolot, bezzałogowy statek powietrzny). W kierunku prostopadłym do ruchu platformy wysyłane są kolejne impulsy (tzw. sondowania Rysunek 1.3). Obiekty znajdujące się na ich drodze powodują odbicie części energii oraz jej powrót do odbiornika (po czasie τ). Obliczając SR oraz znając wysokość (h), na której znajduje się radar, można wyznaczyć odległość horyzontalną obiektu od radaru (GR z ang. Ground Range): GR = SR 2 + h 2 (1.2) 6

Rysunek 1.3 Pojedyncze sondowanie (źródło: [6], podpisy zostały przetłumaczone na język polski) Pojedyncze sondowanie (Rysunek 1.3b) mówi o wartości odbitego sygnału w zależności od opóźnienia i zawiera pośrednio informację na temat odległości wykrytych obiektów (czas, po jakim sygnał powrócił, jest przeliczany na dystans z wykorzystaniem wzorów 1 oraz 2). W procesie tworzenia obrazu z radaru kolejne sondowania są łączone w macierz [7] (Rysunek 1.4). Jest to technika SLAR (z ang. Side Looking Airborne Radar). W tym przypadku rozdzielczość azymutalna (możliwość rozróżnienia dwóch sąsiadujących obiektów na danej odległości) jest zależna od szerokości wiązki anteny (θ H ) i pogarsza się wraz z odległością (SR) [26]: R a = SR θ H (1.3) 7

Rozwiązaniem tego problemu jest zastosowanie techniki obrazowania SAR. Przy odpowiednim przetwarzaniu danych pozwala ona uniezależnić rozdzielczość azymutalną R a od tych parametrów (La jest długością rzeczywistej apertury) [26]: R a = L a 2 (1.4) Popularnymi technikami stosowanymi do przetwarzania odebranego sygnału jest SAR niezogniskowany oraz SAR zogniskowany [8]. Pierwsza z nich wykorzystuje filtrację dolnoprzepustową w kierunku tzw. czasu wolnego (kierunek azymutalny) i jest prostsza do zaimplementowania, co umożliwia użycie jej w aplikacjach czasu rzeczywistego [16]. Niestety jest to kosztem rozróżnialności, która w tym przypadku ciągle zależy od odległości obserwowanego obiektu. Druga z metod (SAR zogniskowany), opierająca się na filtracji dopasowanej, pozwala uzyskać maksymalną rozróżnialność przedstawioną we wzorze (1.4). Technika ta wymaga jednak większych nakładów obliczeniowych oraz dokładnej znajomości parametrów lotu radaru. Radar SAR umożliwia także uzyskiwanie wysokiej rozróżnialności w kierunku odległościowym wykorzystując odpowiednie tryby pracy (tryb impulsowy i tryb pracy z falą ciągłą) [8]. Typowym elementem obrazów SAR jest występujący w nich szum (tzw. speckle noise). Pojedyncza komórka rozróżnialnościowa zobrazowania radarowego odpowiada w rzeczywistości pewnemu obszarowi na powierzchni Ziemi, w którego skład może wchodzić wiele obiektów odbijających wysyłany sygnał [10] (Rysunek 1.4). Odbite fale interferują ze sobą w sposób destruktywny (powstają wtedy ciemniejsze punkty w obrazie) lub konstruktywny (jaśniejsze punkty) [9, 10]. Speckle noise w dużym stopniu utrudnia analizę otrzymanych zobrazowań. 8

Rysunek 1.4 Wiele obiektów odbijających w jednej komórce rozróżnialnościowej 1.2 Cel realizacji pracy Rozwój techniki SAR skutkuje wzrostem zapotrzebowania na technologie umożliwiające automatyczną interpretację tego rodzaju zobrazowań. Tematem niniejszej pracy jest automatyczna detekcja obiektów charakterystycznych w zobrazowaniach SAR pod kątem zastosowania do ATR (z ang. Automatic Target Recognition automatyczne rozpoznanie obiektu). Radary SAR generują duże ilości danych. Realizacja zadania wyboru oraz testów odpowiednich algorytmów przetwarzania tych danych w celu detekcji charakterystycznych obiektów umożliwia opracowanie narzędzia (Rysunek 1.5 - Przykładowy interfejs aplikacji stworzonej przez autora w ramach realizacji niniejszej pracy) wspomagającego pracę operatora radarowego. W ramach realizacji tej pracy dyplomowej skupiono się na wykrywaniu prostych odcinków dróg oraz wyróżniających się obiektów. Wstępna komputerowa obróbka obrazu pod tym kątem ułatwia i przyspiesza zadanie człowieka, który może skoncentrować się na analizie już znalezionych celów. Wybrane algorytmy zostały zaimplementowane w środowisku Matlab oraz przetestowane z wykorzystaniem zarówno danych symulowanych, jak i rzeczywistych. 9

Rysunek 1.5 Aplikacja wspomagająca pracę operatora radarowego 2. Techniki detekcji obiektów W przetwarzaniu zobrazowań SAR wykorzystywany jest szereg rozwiązań mających na celu wykrycie istnienia danego rodzaju obiektu. Różne metody lokalizujące drogi w zobrazowaniach zostały przedstawione w [11]. Do algorytmów dających dobre wyniki można także zaliczyć [17] oraz [18], który bazuje na zobrazowaniach pozyskanych z radarów pracujących w wielu pasmach częstotliwości. W pracy zdecydowano się wykorzystać algorytm oparty na transformacie Hougha [12]. Oryginalnie opracowany i opatentowany w 1962 roku przez Paula Hougha był kilkukrotnie udoskonalany (m. in. przez Azriela Rosenfelda w 1969 roku, który po raz pierwszy zdefiniował tę transformatę algebraicznie oraz przez Richarda Dudę i Petera Harta w 1972 roku, którzy opracowali jej wersję używaną do dzisiaj). Transformata Hougha w dzisiejszej formie jest aktualnie jednym z najczęściej stosowanych algorytmów rozpoznawania obrazów [13]. 10

Automatyczne wykrywanie obiektów wyróżniających się w zobrazowaniach z radarów SAR może być realizowane m. in. z wykorzystaniem algorytmu CFAR (z ang. Constant False Alarm Rate) [14], który znany jest z detekcji obiektów ruchomych w radarach obserwujących przestrzeń powietrzną [15]. Lepszą i efektywniejszą techniką w przypadku radarów z syntetyczną aperturą jest algorytm przedstawiony w [19], który został zaimplementowany w niniejszej pracy (z modyfikacjami wynikającymi z wymagań). 2.1 Transformata Hougha Transformata Hougha ma zastosowanie do m.in. analizy obrazu pod kątem występowania w nim linii prostych. W kartezjańskim układzie współrzędnych prosta jest opisywana przy użyciu równania y = a x + b, gdzie a określa jej nachylenie, a b miejsce, w którym przecina oś y. W przestrzeni parametrów [a, b] prosta reprezentowana jest jako punkt. Wraz ze wzrostem nachylenia prostej rośnie a. Problem pojawia się przy pionowych prostych, ponieważ wartość tego parametru musiałaby wynosić nieskończoność. Hart i Duda zaproponowali w 1972 roku, aby określać proste przy użyciu parametrów ρ (odległość prostej od początku układu współrzędnych) oraz θ (nachylenie normalnej do tej prostej) (Rysunek 2.1): ρ = x cos(θ) + y sin (θ) (2.1) Rysunek 2.1 Prosta przedstawiona przy użyciu parametrów ρ, θ; źródło: [12] W przestrzeni tych parametrów proste pionowe określane są dla θ = 0 oraz dowolnego ρ, co rozwiązuje problem występujący w reprezentacji kartezjańskiej. 11

Ograniczenie wartości parametru θ do zakresu [0; π] umożliwia uzyskanie zbioru unikalnych linii (np. prosta, dla której θ = 32 oraz ρ = 0 jest równa prostej opisanej parametrami θ = 180 + 32 = 212 oraz ρ = 0). Przedmiotem analizy opisywanego algorytmu jest zbiór punktów { (x 1, y 1 ),, (x n, y n ) } występujących w obrazie. Każdy z punktów (x i, y i ) jest przekształcany w sinusoidę w przestrzeni parametrów θ, ρ z wykorzystaniem wzoru 2.1. Przykładem jest rysunek 2.2: Rysunek 2.2 Reprezentacja punktów w przestrzeni x, y (a) oraz θ, ρ (b) Powyższe przekształcenie leży u podstaw działania transformaty Hougha. Miejsce przecięcia krzywych na rysunku 2.2b wskazuje parę parametrów θ, ρ, które jednoznacznie określają prostą, na której leżą punkty z rysunku 2.2a. Własności te można podsumować w następujący sposób [12]: Pojedynczy punkt w obrazie odpowiada krzywej sinusoidalnej w przestrzeni θ, ρ. Pojedynczy punkt w przestrzeni θ, ρ odpowiada prostej w obrazie. Punkty leżące na danej prostej w obrazie odpowiadają krzywym sinusoidalnym przecinającym się w danym punkcie w przestrzeni θ, ρ. Punkty leżące na danej krzywej sinusoidalnej w przestrzeni θ, ρ odpowiadają prostym przechodzącym przez dany punkt w obrazie. Ilość przecięć krzywych sinusoidalnych (n X ), rośnie kwadratowo wraz ze wzrostem liczby punktów (n) w obrazie i jest określana wzorem n X = n(n 1) [12]. W celu redukcji złożoności obliczeniowej opisywanego algorytmu stosuje się kwantyzację przestrzeni parametrów θ, ρ (w zależności od wymaganej dokładności dobierany jest odpowiedni poziom reprezentacji). Parametr θ, jak zostało wcześniej powiedziane, ograniczany jest do przedziału [0; π] a parametr ρ do przedziału [ R; R], gdzie 12 2

R oznacza przekątną obrazu [12]. Podział przestrzeni θ, ρ według przedstawionych powyżej ograniczeń skutkuje powstaniem zbioru komórek akumulujących (z ang. accumulate). W dalszej części pracy określeniem akumulator nazywana będzie tablica dwuwymiarowa zbudowana ze wspomnianych komórek. Każdy punkt wejściowego obrazu powoduje zwiększenie wartości odpowiednich komórek w akumulatorze (procedura głosowania, z ang. voting procedure). Rysunek 2.3 przedstawia obraz z czterema punktami (a) oraz akumulator dla tych punktów (b). Punkty 1, 2 oraz 3 leżą na wspólnej prostej, dlatego trzy reprezentujące je krzywe w przestrzeni akumulatora przecinają się w jednym punkcie (ma on wartość 3 i został oznaczony żółtą strzałką). Miejsca oznaczone zielonymi strzałkami reprezentują proste, które przechodzą przez pary punktów (1,4), (2,4) oraz (3,4) i wszystkie mają wartość 2. Rysunek 2.3 Akumulator transformaty Hougha dla czterech punktów Widać, zatem, że w wyniku działania transformaty Hougha powstaje akumulator, którego poszczególne komórki informują o ilości punktów leżących na danej prostej. W następnym kroku akumulator jest badany pod kątem występowania w nim dużych wartości w celu ustalenia wszystkich najbardziej prawdopodobnych prostych. Warto zwrócić uwagę na to, jaki wpływ ma poziom kwantyzacji na wyniki działania algorytmu. Wraz z poprawą rozdzielczości akumulatora wzrasta także dokładność transformaty, jednak wydłuża się czas jej wykonania. Może także stać się tak, że jedna linia w obrazie będzie reprezentowana przez kilka komórek w przestrzeni akumulatora [12], co utrudnia w dalszym etapie wybór elementów o najwyższych wartościach. Z przedstawionego opisu algorytmu wynika również jasno, że nie uwzględnia on w żaden sposób faktu przylegania do siebie poszczególnych punktów tworzących linię. Na wysoką wartość komórki w akumulatorze (oznacza to wykrycie 13

prostej) mogą wpływać punkty rozdystrybuowane w różnych miejscach obrazu, nietworzące rzeczywistej prostej. Kolejną interesującą cechą transformaty Hougha jest fakt, że jej podstawowa idea może także zostać użyta poprzez analogię do wykrywania innych kształtów. Wymaga to ustalenia odpowiedniej przestrzeni parametrów. Dobrym przykładem jest okrąg, który można opisać w następujący sposób: (x a) 2 + (y b) 2 = R 2 (2.2) Z przedstawionego opisu wynika, że algorytm opracowany początkowo przez P. Hougha oraz odpowiednio zinterpretowany i dopracowany przez R. Dudę i P. Harta jest adekwatnym narzędziem do analizy obrazów SAR pod kątem występowania w nich prostych odcinków dróg. 2.2 VWIE detekcja obiektów wyróżniających się W [19] została opisana metoda umożliwiająca detekcję obiektów wyróżniających się w zobrazowaniach SAR. Wykorzystuje ona miarę określaną jako Variance Weighted Information Entropy (dalej: VWIE), stosowaną oryginalnie z powodzeniem do przetwarzania zobrazowań w podczerwieni [20]. Obraz SAR jest obrazem monochromatycznym, gdzie wartości poszczególnych pikseli określają odcień szarości. W przypadku rozdzielczości 8-bitowej możliwych jest 256 poziomów szarości. Zakładając, że obraz posiada M wierszy, N kolumn, oraz wiedząc, że dany odcień i występuje w obrazie f i razy, jego prawdopodobieństwo wyznaczane jest w następujący sposób: P i = f i M N, i [0; 255] (2.3) Entropia (2.4) z kolei jest miarą określającą ilość informacji, jaką niesie za sobą dany komunikat. W przypadku obrazu komunikatem jest jego fragment, entropia mówi zaś o tym jak bardzo niejednorodny jest ten fragment (np. obraz reprezentujący las ma 14

mniejszą entropię od obrazu ukazującego taflę morza z kutrem rybackim). Podsumowując, miara ta określa poziom zróżnicowania szarości między pikselami. W przypadku obszaru, gdzie wszystkie piksele mają tę samą wartość, entropia będzie równa 0. W przypadku występowania w badanym obszarze obiektu, wartość entropii będzie wysoka. 255 H = P i log P i i=0 Dla P i = 0 niech P i log P i = 0 (2.4) W celu zwiększenia wpływu pikseli, które znacznie różnią się od średniej, zaproponowano modyfikację przedstawioną we wzorze 2.5. Wprowadzenie wagi (i i ) 2 powoduje zwiększenie wartości entropii w obszarach niejednorodnych oraz jej zmniejszenie w obszarach jednorodnych [19]. 255 H = (i i ) 2 P i log P i i=0 Gdzie i oznacza średni poziom szarości (2.5) Warto zwrócić uwagę, że wzór na VWIE z [19 wzór (3)] zawiera najprawdopodobniej błąd. Z lewej strony równania występuje H(i), co można czytać jako wartość VWIE dla danego poziomu szarości. Powinno być H(I), co byłoby spójne z [20], w którym występuje H(S), co można czytać jako wartość VWIE dla całego zakresu poziomów szarości. We wzorze (2.5) zdecydowano użyć H ze względu na łatwiejszą interpretację: wartość VWIE w badanym obszarze. W dalszej części pracy opisano pozostałe elementy algorytmu, które zostały wykorzystane w ramach implementacji programu poprzez autora. Faza obróbki wstępnej obrazu (z ang. pretreatment) ma na celu odpowiednie przygotowanie danych wejściowych w celu dalszego ich przetwarzania. Opisywana metoda wymusza, aby wymiary obrazu (wysokość, szerokość) były potęgami liczby 2. Granice obrazu muszą zostać rozszerzone lub zawężone. Na przykład obraz o wymiarach 15

592 na 197 pikseli powinien zostać przeskalowany do 512 (2 9 ) na 256 pikseli (2 8 ). W następnym kroku obliczana jest dla niego globalna wartość VWIE. Przygotowany w poprzednim kroku obraz powinien mieć wymiary 2 M na 2 N pikseli. Jest on dzielony na cztery części o wymiarach 2 M 1 na 2 N 1 (kontynuując przykład z poprzedniego etapu, powstaną cztery podobszary o wymiarach 256 na 128 pikseli). Dla każdego z tych obszarów jest obliczana VWIE i wybierany jest ten, który ma jej największą wartość. Dzieje się tak aż do spełnienia warunków opisanych w [19]. Autor pracy poddał modyfikacji opisany w [19] algorytm oraz wykorzystał jego wybrane elementy ze względu na wymagania projektowe. 3. ATD wymagania Opracowanie rozwiązania pozwalającego na automatyczną detekcję obiektów (ATD z ang. Automatic Target Detection) obliguje do precyzyjnego określenia wymagań, co do działania programu. Jednocześnie potrzebne jest dokładne opisanie dostępnych danych wejściowych, oraz tego, jaki ma być wynik przetworzenia tych danych przy użyciu opisanych algorytmów. 3.1 Dane wejściowe Surowe dane odebrane przez radar SAR zawierają informacje o amplitudzie oraz fazie sygnału odbitego od obiektu. Ich przetworzenie skutkuje powstaniem monochromatycznego obrazu cyfrowego. Obrazy wykorzystane przy implementacji algorytmów pozyskane zostały od opiekuna niniejszej pracy oraz ze strony internetowej instytutu Sandia [22]. Podsumowując, danymi wejściowymi są obrazy cyfrowe z radarów SAR. Z racji wykorzystania popularnych formatów ich zapisu (JPEG, PNG, BMP itp.) są to najczęściej pliki graficzne o standardowej 24-bitowej głębi koloru (8 bitów na kanał). 16

3.2 Dane wyjściowe Wymagane jest odnalezienie w wejściowych plikach graficznych linii prostych oraz wyróżniających się obiektów. Wynikiem działania programu są oryginalne obrazy z nałożoną warstwą informacji, która dotyczy wykrytych obiektów. 3.3 Narzędzia W celu implementacji wybranych algorytmów ATD posłużono się środowiskiem Matlab w wersji R2013a. Duży wpływ na wydajność aplikacji pisanej w Matlabie ma wykorzystywanie wektoryzacji (z ang. vectorization), która umożliwia wykonywanie operacji na wielu elementach macierzy jednocześnie. Kod pisany w Matlabie jest przejrzysty, ponieważ środowisko nie zmusza programisty do zajmowania się zagadnieniami związanymi np. z zarządzaniem pamięcią i pozwala skoncentrować się na meritum. Ponadto pliki źródłowe nie są kompilowane przed każdym uruchomieniem (co mogłoby być czasochłonne). Między innymi te cechy powodują, że Matlab jest idealnym środowiskiem do testowania algorytmów matematycznych oraz prototypowania aplikacji. 4. Opis implementacji algorytmów W poniższym rozdziale zostały szczegółowo opisane zaimplementowane algorytmy. Pierwszy z nich, wykrywający linie proste w obrazach, wykorzystuje ideę transformaty Hougha. Drugi z kolei jest bazowany na mierze VWIE opisanej w [19] i pozwala wykrywać obiekty wyróżniające się w zobrazowaniach SAR. Wejściowe pliki graficzne są wczytywane do programu oraz konwertowane do skali szarości. Każdy piksel obrazu ma wartość od 0 (czarny) do 255 (biały). 4.1 Wykrywanie linii prostych Transformata Hougha operuje na zbiorze danych binarnych, to znaczy jest punkt nie ma punktu. Wczytany plik graficzny reprezentujący zobrazowanie SAR zawiera informacje o odcieniu szarości każdego piksela i jest jednocześnie silnie 17

zaburzony poprzez występowanie w nim zjawiska speckle noise (Rysunek 4.1). W celu zastosowania transformaty Hougha dane wejściowe muszą być w odpowiedni sposób przygotowane. Rysunek 4.1 speckle noise (źródło: dane od opiekuna pracy) Uzyskanie z obrazu informacji binarnej możliwe jest przy użyciu algorytmów wykrywania krawędzi (z ang. edge detection). Pozwalają na to, między innymi, operator Sobela, operator Prewitta, krzyż Robertsa czy metoda Canny ego. Większość metod wykrywania krawędzi opiera się na odnajdowaniu miejsc w obrazie, gdzie występują duże różnice wartości pomiędzy sąsiadującymi pikselami (obliczane są w tym celu pochodne kierunkowe). Widać, że zasada działania tego typu algorytmów wprowadza ich podatność na występowanie w obrazie szumu (gwałtownych zmian wartości pikseli niepowiązanych z treścią danego obrazu), co powoduje wykrywanie krawędzi w miejscach, w których ich nie ma. To z kolei wpływa na wykrywanie fałszywych linii prostych przez transformatę Hougha. W celu umożliwienia odpowiedniego działania algorytmów wykrywania krawędzi niezbędne jest ograniczenie występujących w zobrazowaniach zakłóceń. Wszelkiego rodzaju szumy (także speckle noise) są elementami wysokiej częstotliwości, których można pozbyć się używając filtru dolnoprzepustowego. Filtry dolnoprzepustowe (z ang. low-pass filter) pozostawiają w obrazie wszystkie elementy, które zmieniają się wolno, usuwając jednocześnie wszelkie zanieczyszczenia, czyli np. pojedyncze jasne punkty na jednolitym, ciemnym tle lub pojedyncze ciemne punkty na jasnym tle. Wpływ takiej filtracji na obraz jest zauważalny poprzez jego rozmycie. Najprostszym filtrem tego 18

typu jest filtr uśredniający (z ang. mean filter, box filter). przedstawia rysunek 4.2: Wyniki jego działania Rysunek 4.2 Wpływ filtru dolnoprzepustowego na obraz Standardowe filtry wykorzystywane do usuwania szumu z zobrazowań SAR to m. in. filtr Lee, filtr Kuana czy filtr Gamma [23]. Dobre wyniki daje także filtr Gaussa. Został on zaimplementowany w niniejszej pracy, jako element przetwarzania wstępnego dla transformaty Hougha, wykorzystywany jako krok poprzedzający wykrywanie krawędzi metodą Canny ego. Rysunek 4.3 przedstawia podstawowy schemat blokowy opracowanego algorytmu: Obraz wejściowy Filtracja Gaussa Wykrywanie krawędzi metodą Canny ego Transformata Hougha Obraz wynikowy Rysunek 4.3 Schemat blokowy algorytmu wykrywania prostych w obrazie SAR 4.1.1 Filtracja Gaussa Klasyczna filtracja obrazu cyfrowego odbywa się poprzez jego splot z ustalonym oknem, które określa dany filtr. Okno jest macierzą współczynników, która w konkretny sposób modyfikuje wejściowe dane. Odpowiedź impulsowa wspomnianego wcześniej filtru uśredniającego może mieć następującą postać: 19

1 9 1 9 1 9 1 9 1 9 1 9 (4.1) 1 [ 1 9 1 9 9 ] Wartość danego piksela jest zamieniana w średnią z jego wartości oraz wszystkich sąsiadujących pikseli. Okno może mieć dowolny rozmiar nie przekraczający wymiarów wejściowego obrazu. Filtr Gaussa wykorzystuje okno, którego współczynniki są opisane rozkładem normalnym. Normalny rozkład prawdopodobieństwa jest jednym z najważniejszych rozkładów prawdopodobieństwa, ponieważ służy do statystycznego modelowania wielu zjawisk występujących w przyrodzie. Odpowiedź impulsowa takiego filtru jest opisana funkcją Gaussa a jej kształt nazywany jest krzywą dzwonową (Rysunek 4.4). Przykładowe (znormalizowane) okno dla tego filtru (okno: 5, σ: 1.2): 0.00 0.02 0.03 0.02 [ 0.00 0.02 0.06 0.08 0.06 0.02 0.03 0.08 0. 11 0.08 0.03 0.02 0.06 0.08 0.06 0.02 0.00 0.02 0.03 0.02 0.00] (4.2) Wartości kolejnych współczynników w oknie Gaussa są określane wzorem: G(x, y) = 1 x 2 +y 2 2πσ 2 e 2σ 2 (4.3) Wartości x oraz y określają odległość od środka okna, z kolei σ jest odchyleniem standardowym, które definiuje kształt rozkładu. Warto wspomnieć, że funkcja określona wzorem 4.3 ma niezerowe wartości poza granicami okna, jednak nie mają one wielkiego wpływu, jeśli rozmiar okna jest większy niż 2 3σ [25]. 20

Rysunek 4.4 Odpowiedzi impulsowe filtru Gaussa (okno: 50, σ: 8.3) W ramach niniejszej pracy zostały zrealizowane dwie implementacje filtru Gaussa. Pierwsza z nich wykorzystuje środowisko LabVIEW i jest samodzielną aplikacją służącą do filtracji gaussowskiej obrazów. Druga z kolei, która jest elementem algorytmu przedstawionego na rysunku 4.3, została zaimplementowana w Matlabie. 4.1.1.1 Implementacja w LabVIEW LabVIEW jest środowiskiem programistycznym pozwalającym tworzyć aplikacje w sposób graficzny przy użyciu zdefiniowanych, gotowych bloków spełniających konkretne zadania. Umożliwia to budowanie przejrzystych programów, w których poszczególne funkcje są wydzielane w postaci modułów. Implementacja filtracji Gaussa zrealizowana przez autora (Rysunek 4.5) składa się z kilku takich bloków. Pierwszy z nich (oznaczony na Rysunku 4.5 numerem 1) odpowiada za wczytanie obrazu z podanej ścieżki i przekształcenie go do tablicy dwuwymiarowej, gdzie wartości odpowiadają intensywności szarości poszczególnych pikseli. Drugi (2) generuje macierz Gaussa na podstawie podanych parametrów: wielkości okna oraz odchylenia standardowego. W następnym etapie następuje splot tablicy powstałej w pierwszym bloku z macierzą Gaussa z bloku drugiego (oznaczono kolorem niebieskim). Skutkiem ubocznym splotu jest powiększenie obrazu (okno jest przesuwane od krawędzi do krawędzi) z każdej strony o połowę rozmiaru okna Gaussa. Powoduje to powstanie ramki, która jest usuwana w bloku trzecim (3). Blok czwarty odpowiada za konwersję wynikowego obrazu z odcieni szarości do modelu RGB (4), 21

który jest wymagany przez LabVIEW do operacji na obrazie, takich jak jego wyświetlanie, czy zapisywanie do pliku (oznaczono kolorem zielonym). Program wykonuje filtrację w czasie rzeczywistym, co pozwala obserwować wpływ doboru parametrów na wyniki (Rysunek 4.6). Rysunek 4.5 Diagram blokowy programu Rysunek 4.6 Panel czołowy programu (źródło oryginalnego obrazu: [22]) Wyniki działania przedstawionej implementacji potwierdziły, że gaussowska filtracja dolnoprzepustowa jest odpowiednim narzędziem do redukcji speckle noise w zobrazowaniach z radarów SAR. 22

4.1.1.2 Implementacja w Matlabie Moduły wbudowane w środowisko Matlab ułatwiają realizację różnego rodzaju zadań, także filtracji. Funkcja napisana przez autora pracy przyjmuje jako dane wejściowe obraz oraz parametry: odchylenie standardowe rozkładu Gaussa oraz rozmiar okna. Korzystając ze wzoru 4.3 obliczane są współczynniki macierzy Gaussa. Następnie przeprowadzany jest splot obrazu z wyznaczonym oknem przy użyciu wbudowanej funkcji imfilter, która (w przeciwieństwie do conv2) automatycznie zajmuje się problemem granic obrazu. Jest to realizowane poprzez powiększenie obrazu (poprzez lustrzane odbicie pikseli na jego obrzeżach w przypadku użycia modyfikatora symmetric ) na czas splotu. Splot przy użyciu tej funkcji nie zmienia rozmiaru obrazu. Wyniki działania filtru dla okna o rozmiarze 15 pikseli oraz odchyleniu σ = 2.5 zostały przedstawione na rysunku 4.7: Rysunek 4.7 Wyniki filtracji gaussowskiej zaimplementowanej w Matlabie (źródło oryginalnego obrazu: [22]) 4.1.2 Wykrywanie krawędzi metodą Canny ego W 1986 roku John Canny opublikował [24]. Jest to praca, której celem było określenie optymalnej metody wykrywania krawędzi w obrazach. Jej autor wyznaczył kryteria, na podstawie których powstało ostateczne rozwiązanie. Po pierwsze, idealny detektor krawędzi powinien charakteryzować się dobrą detekcją (z ang. good detection). Oznacza to, że nie wykrycie krawędzi w miejscu, w którym się ona rzeczywiście znajduje powinno odznaczać się niskim prawdopodobieństwem. Mało prawdopodobne powinno być także oznaczanie krawędzi w miejscach, w których one nie występują. Oba te warunki oznaczają, że wymagana jest maksymalizacja stosunku sygnał-szum SNR (z ang. 23

signal-noise ratio). Drugim kryterium Canny ego jest dobra lokalizacja (z ang. good localization), czyli wymaganie, żeby punkty wykryte przez poszukiwany operator były jak najbliżej rzeczywistych krawędzi. Ostatnim z wymagań jest to, żeby jedna rzeczywista krawędź odpowiadała tylko jednej odpowiedzi operatora. Operator wyznaczony przez Canny ego (Rysunek 4.8a) jest nazywany operatorem optymalnym. Ze względu na wydajność przy obliczaniu dwuwymiarowego wariantu jest on często aproksymowany przy użyciu pierwszej pochodnej funkcji Gaussa (Rysunek 4.8b): Rysunek 4.8 Operator wyznaczony przez Canny ego (a), aproksymacja (b), źródło: [24] W tej części pracy opisana jest funkcja odpowiadająca za ten etap zaimplementowana przez autora niniejszej pracy. Przyjmuje ona na swoje wejście obraz (przefiltrowany w poprzednim kroku dolnoprzepustowym filtrem Gaussa), odchylenie standardowe oraz długość funkcji Gaussa (wymagane do obliczenia jej pochodnej). Następnie, przy pomocy wyznaczonej pochodnej, obliczany jest gradient obrazu w kierunku x oraz w kierunku y. Można dzięki temu określić ogólny gradient dla całego obrazka (tzn. jego wartość oraz kierunek rysunek 4.9). Rysunek 4.9 Wartość i kierunek gradientu 24

Operacja ta powoduje wyznaczenie potencjalnych krawędzi. Wymagane jest przeprowadzenie usuwania niemaksymalnych pikseli (z ang. non-maximum suppression), co skutkuje pocienieniem znalezionych krawędzi. Jest to możliwe dzięki znajomości kierunku gradientu. Implementacja autora pracy zakłada podział kierunków na cztery grupy: 90, 45, 0 oraz -45. W ten sposób określone są kierunki, dzięki którym można porównać dany piksel z jego sąsiadami. Na przykład, jeśli badany jest piksel (będzie on dalej nazywany CUT z ang. Cell Under Test), dla którego gradient ma kierunek 0, to można zakładać, że krawędź na obrazku jest w kierunku normalnej do gradientu, czyli 90. Jeśli krawędź, na której znajduje się CUT jest pod kątem 90 (jest pionowa), należy porównać wartości pikseli na lewo, oraz na prawo. W przypadku gdy CUT jest mniejszy od którejkolwiek z nich, jest on oznaczany jako nie-krawędź. Metodologia ta pozwala na usunięcie niemaksymalnych krawędzi: Rysunek 4.10 Wynik działania non-maximum suppression Krawędzie w obrazie po przeprowadzeniu ich pocieniania stają się wyraźniejsze i znajdują się w miejscu, w którym rzeczywiście występują w obrazie, co wypełnia drugi oraz trzeci postulat postawiony przez J. Canny ego [24]. Na rysunku 4.10b widać jednak, że wykrywane są także niepotrzebne krawędzie. Najprostszym sposobem byłoby usunięcie wszystkich krawędzi poniżej danego progu (ciemniejsze punkty). Canny zaproponował zastosowanie w tym przypadku progowania z histerezą (z ang. hysteresis thresholding). Wszystkie piksele, które mają wartość niższą od pierwszego progu (T1) są usuwane. Wszystkie piksele, których wartości zawierają się w przedziale od pierwszego do drugiego progu (T2) są oznaczane jako słabe krawędzie (z ang. weak edges). Piksele o wartościach powyżej T2 oznaczane są jako mocne krawędzie (z ang. strong edges). Na tym etapie algorytmu dostępne są piksele, które można określić jako: na pewno nie 25

krawędź, może krawędź (czyli słabe krawędzie) oraz na pewno krawędź (czyli mocne krawędzie). Wszystkie słabe krawędzie sprawdzane są pod kątem występowania w ich sąsiedztwie mocnych pikseli. W przypadku, gdy warunek ten jest spełniony krawędź ta jest oznaczana jako na pewno krawędź, jeśli jednak warunek nie jest spełniony, to jest ona oznaczana jako na pewno nie krawędź. Etap ten nazywany jest śledzeniem krawędzi (z ang. edge tracking). Rysunek 4.11 przedstawia wyniki podwójnego progowania oraz śledzenia krawędzi: Rysunek 4.11 Wyniki działania progowania z histerezą Rezultaty działania algorytmu opartego na metodzie Canny ego zależą od efektywności użytego filtru dolnoprzepustowego oraz podanych parametrów, takich jak rozmiar okna, odchylenie standardowe oraz wartości progów. W celu uzyskania optymalnych wyników należy dopasowywać ich wartości w zależności od charakterystyki wejściowego obrazu. Warto wspomnieć, że Canny zaleca w swojej pracy, żeby T1 zawierało się w granicach od 0.33 T2 do 0.5 T2. 4.1.3 Wykrywanie prostych implementacja transformaty Hougha w Matlabie Transformata Hougha operuje na zbiorze punktów. Usunięcie speckle noise z obrazu przy pomocy filtru Gaussa oraz wykrycie w nim krawędzi metodą Canny ego definiuje taki zbiór punktów (każdy piksel, który składa się na wykrytą krawędź jest takim punktem). Funkcja realizująca algorytm Hougha przyjmuje dwa parametry. Pierwszym z nich jest obraz z informacją o wykrytych krawędziach, drugim ilość linii do 26

wykrycia (N). W początkowym stadium działania algorytmu wyliczana jest długość przekątnej obrazu (d). Po zaokrągleniu w górę służy ona do wyznaczenia zakresu jednego z parametrów akumulatora - parametru ρ. Jego wartości zawierają się w przedziale od d do d z krokiem 1. Zbiór wartości parametru θ zawiera się w przedziale od 0 do 179 (z krokiem 1). Wyznaczana jest przestrzeń parametrów θ ρ, której wszystkie komórki mają początkowo wartość 0. Strategicznym elementem transformaty Hougha jest ustalenie wartości komórek akumulatora. Nieumiejętna implementacja tego kroku może prowadzić do znacznego wydłużenia czasu wykonywania algorytmu. Autor pracy zrealizował cztery wersje funkcji odpowiadającej za obliczanie akumulatora. Podczas testów uzyskano prawie dwunastokrotne przyspieszenie pomiędzy wersją oryginalną oraz finalną. Oryginalna wersja sprawdzała każdy z pikseli oznaczonych jako krawędź pod kątem możliwości opisania przez każdą możliwą parę parametrów z akumulatora przy użyciu wzoru (2.1). W przypadku, gdy było to możliwe, wartość komórki akumulatora, która spełniała wspomnianą równość była zwiększana o 1. Ta wersja algorytmu nie uwzględniała żadnych rozwiązań optymalizacyjnych. Dla każdego piksela-krawędzi obliczana była wartość sin(θ), cos (θ), co znacznie wydłużało czas wykonania (podczas testów wynosił on około 179 sekund). Ostateczna wersja algorytmu wykorzystuje następujące optymalizacje: na początku (dla wszystkich par (x, y) oraz (θ)) obliczane są następujące iloczyny: y cos (θ), x sin (θ) a następnie wyznaczana jest zaokrąglona suma tych iloczynów. Suma ta jest prawą stroną równania (2.1). Wykorzystując wektoryzację oferowaną przez Matlaba wyznaczenie wszystkich wartości akumulatora upraszcza się do odpowiedzi na pytanie jak wiele pikseli oznaczonych jako krawędź jest opisanych przez daną parę θ ρ. Podczas testów na tym samym obrazie czas wykonania spadł do około 15 sekund. Rysunek 4.12 przedstawia wynik działania wykrywania krawędzi metodą Canny ego oraz obliczony na tej podstawie akumulator. 27

Rysunek 4.12 (a) krawędzie wykryte w obrazie; (b) obliczony akumulator Kolejnym etapem jest znalezienie w akumulatorze lokalnych maksimów. Działanie to pozwala wyznaczyć najbardziej prawdopodobne proste z pominięciem wszystkich, które mogą oznaczać w obrazie tę samą prostą. Funkcja, która realizuje to zadanie, zaimplementowana przez autora niniejszej pracy, przyjmuje trzy parametry. Pierwszym z nich jest obliczony wcześniej akumulator, drugim ilość lokalnych maksimów (reprezentujących linie proste), które chcemy wyznaczyć, a ostatnim rozmiar obszaru tłumienia. Jego wartości, sugerowane przez autora, zostały wyznaczone eksperymentalnie i zawierają się w granicach od 20 do 30. Wszystkie elementy akumulatora porównywane są początkowo ze swoimi sąsiadami i jeśli ich wartość jest największa, są oznaczane jako potencjalne wierzchołki. Następnie, w zależności od wymaganej ilości maksimów, iteracyjnie wykonywane są następujące instrukcje: sortowanie listy wierzchołków, wybieranie tego o największej wartości oraz usuwanie wszystkich pozostałych znajdujących się w obszarze tłumienia. Tak przygotowana lista wierzchołków pozwala na wizualizację otrzymanych wyników. Wzór (2.1) jest przekształcany w celu wyznaczenia wszystkich par (x, y), które są opisywane przez wyznaczone wierzchołki. Rysunek 4.13 przedstawia wszystkie kroki algorytmu prowadzące do otrzymania ostatecznego wyniku. 28

Rysunek 4.13 Kolejne kroki prowadzące do wykrycia prostych w obrazie SAR (źródło oryginalnego obrazu: [22]) Rysunek 4.13d przedstawia końcowe wyniki działania algorytmu Hougha. Parametr określający ilość linii do znalezienia został ustalony na 12 (ilość rzeczywistych dróg w obrazie). Zgodnie z opisem algorytmu przedstawionym wcześniej, zostały wykryte główne proste, to znaczy te, które są najdłuższe i najbardziej wyraźne. Mocno zróżnicowany i zaburzony fragment w prawej-dolnej części obrazu spowodował wykrycie krawędzi, które nie odpowiadają w tym przypadku za element żadnej prostej, wpływając jednocześnie na dalszym etapie na detekcje fałszywej prostej (pozioma, trzecia od dołu). Można stwierdzić, że opracowany algorytm radzi sobie bardzo dobrze z wykrywaniem dróg w obrazach SAR. Te szersze są oznaczane dwukrotnie, co wynika z działania algorytmu wykrywania krawędzi (np. pierwsza droga z lewej strony oraz pierwsza od dołu: wykryte zostały obie ich krawędzie). Powoduje to brak detekcji dróg składających się z mniejszej ilości punktów, co wynika z zasady działania transformaty Hougha. 29

Efektywność działania algorytmu jest duża, zostało wykrytych większość dróg (dziewięć z dwunastu, czyli 75%). Możliwość regulacji argumentu odpowiadającego za obszar tłumienia pozwala wyeliminować podwójne oznaczenie pojedynczej drogi, powodując jednocześnie wzrost efektywności do 83%. (Rysunek 4.14). Rysunek 4.14 Wpływ obszaru tłumienia na wyniki algorytmu Hougha (źródło oryginalnego obrazu: [22]) Na wyniki działania transformaty Hougha mają wpływ wszystkie poprzedzające ją etapy oraz odpowiedni dobór ich parametrów. Rozmiar okna oraz odchylenie standardowe współczynników w filtrze Gaussa wpływa na rozmycie obrazu. Im większy jest jego stopień, tym szersze stają się drogi i wzrasta szansa na wykrycie obu ich krawędzi, co prowadzi do oznaczenia w wynikowym obrazie dwóch prostych tam, gdzie w rzeczywistości znajduje się jedna droga. Im mniejsze jest rozmycie, tym większe jest prawdopodobieństwo tego, że speckle noise nie zostanie w odpowiednim wymiarze odfiltrowany, wpływając na wykrycie fałszywych krawędzi (te z kolei będą miały wpływ na detekcję fałszywych prostych). Dobór parametrów w algorytmie detekcji krawędzi metodą Canny ego pozwala na kolejne zyski. Korekcja progów spowodowała redukcję ilości krawędzi (szczególny wpływ ma to na prawy-dolny fragment obrazu) jednocześnie pozwalając na wykrycie kolejnej drogi (zostało odnalezionych jedenaście z dwunastu, czyli 92%), co zostało zobrazowane na rysunku 4.15: 30

Rysunek 4.15 Wpływ doboru wartości progów na ilość wykrytych dróg (źródło oryginalnego obrazu: [22]) 4.2 Wykrywanie obiektów wyróżniających się Algorytm opracowany przez autora niniejszej pracy bazuje w pewnym stopniu na metodzie opisanej w [19]. Wykorzystując miarę VWIE, umożliwia wykrywanie w zobrazowaniach SAR obiektów wyróżniających się o zadanym wymiarach. W tej części pracy są opisane kolejne etapy prowadzące do ostatecznej detekcji. Wymagane jest określenie rozdzielczości obrazu (ilość pikseli obrazu reprezentująca jeden metr w terenie) oraz wymiarów poszukiwanego obiektu (w metrach). Wczytany obraz jest poddawany skalowaniu zgodnie z wymaganiami przedstawionymi w [19]. Jego początkowe rozmiary są rozszerzane lub zawężane do najbliższych potęg liczby 2. W pierwszej kolejności algorytm przetwarza kolumny. W przypadku, gdy jest ich zbyt dużo, część jest usuwana; jeśli jest ich zbyt mało, są dodawane poprzez lustrzane odbicie (z prawej strony). Następnie, analogicznie dodawane lub usuwane są wiersze obrazu (na dole): 31

Rysunek 4.16 Zmiana rozmiaru obrazu (źródło: dane od opiekuna pracy) Przygotowanie wejściowego obrazu w ten sposób jest wymagane ze względu na fakt, że w kolejnym kroku jest on dzielony na cztery równe części. Dla każdej z nich jest obliczana wartość VWIE. W regionie, w którym jest ona największa najprawdopodobniej znajduje się poszukiwany obiekt. Znaleziony obszar jest rekurencyjnie dzielony aż do osiągnięcia rozmiaru określonego początkowo przez wymiar poszukiwanego obiektu (w przypadku, gdy podczas podziału regionu na cztery części jeden z wymiarów zostanie osiągnięty, w następnej iteracji jest on dzielony tylko na dwa). Funkcja zwraca koordynaty lewego, górnego punktu znalezionego obszaru, co przy znajomości rozmiaru poszukiwanego obiektu pozwala jednoznacznie określić ten obszar. Na rysunku 4.17 przedstawiona została wizualizacja opisywanego procesu: Rysunek 4.17 Etapy podziału obrazu na podstawie VWIE (źródło: dane od opiekuna pracy) Obszary jednorodne, takie jak prawy dolny fragment rysunku 4.17a mają najniższą wartość VWIE (w tym przypadku 1343). Te najbardziej zaburzone, to znaczy z pikselami o wartościach znacznie odbiegającymi od średniej (jak obszar pierwszy, czy 32

drugi) charakteryzują się zdecydowanie większym VWIE (odpowiednio 2656 i 1816). W przedstawionym przykładzie rozmiar poszukiwanego obiektu został ustalony jako 16 na 16 pikseli, stąd w ostatnim kroku (Rysunek 4.17c) obraz dzielony jest tylko na dwie części. W wyniku działania opisanej dotąd części algorytmu następuje wstępne oznaczenie obszaru zainteresowania ROI (z ang. region of interest). Zazwyczaj na tym etapie obiekt nie znajduje się w centrum ROI, co wynika ze sposobu jego wyznaczania. Stosowana jest technika dopasowania obszaru zainteresowania, która powoduje jego przesunięcie, w celu jak najdokładniejszego otoczenia obiektu. Implementacja autora niniejszej pracy bazuje na metodzie opisanej w [19]. Środek ciężkości obrazu opisywany jest przez współrzędne x sc oraz y sc : x sc = y sc = (suma wartości pikseli w kolumnie i ) i i suma wartości pikseli w całym obrazie (suma wartości pikseli w wierszu i ) i i suma wartości pikseli w całym obrazie (4.4) (4.5) Metoda ta zakłada obliczenie różnicy pomiędzy wspomnianym środkiem ciężkości oraz geometrycznym środkiem ROI. Różnica ta jest następnie minimalizowana poprzez przemieszczanie obszaru w kierunku wynikającym z przesunięcia tych punktów względem siebie. Przykładowe działanie tego algorytmu dla symulowanych danych: Rysunek 4.18 Przykładowe działanie dopasowywania ROI, obraz testowy Jak widać, początkowy podział obrazu ustalił wstępnie obszar zainteresowania w pobliżu obiektu. Obiekt nie jest w nim jednak wyśrodkowany. Dopasowanie ROI naprawia ten błąd, dzięki czemu wyniki działania całego algorytmu są dokładniejsze. 33

Algorytm działa równie dobrze w przypadku rzeczywistych zobrazowań SAR, co jest ukazane na przykładzie obrazu analizowanego wcześniej: Rysunek 4.19 Dopasowanie ROI w rzeczywistym obrazie SAR (źródło: dane od opiekuna pracy) 34

4.3 Graficzny interfejs użytkownika W celu ułatwienia korzystania z zaimplementowanych algorytmów oraz ich testowania, zadecydowano o przygotowaniu graficznego interfejsu użytkownika GUI (z ang. Graphical User Interface). Jego głównym zadaniem jest umożliwienie konfiguracji wszystkich parametrów tych algorytmów, które zostały opisane wcześniej. Przygotowanie GUI w przypadku Matlaba umożliwia program GUIDE. Poniżej przedstawiono wygląd opracowanych interfejsów użytkownika: Rysunek 4.20 Graficzny interfejs użytkownika wykrywanie linii prostych Rysunek 4.21 Graficzny interfejs użytkownika wykrywanie obiektów 35

5. Testy zaimplementowanych algorytmów W niniejszej części pracy przedstawiono wyniki działania zaimplementowanych algorytmów dla różnych obrazów SAR. Zostały one opisane i skomentowane. 5.1 Wykrywanie linii prostych Obraz, który jako pierwszy posłużył do testów przedstawia częściowo zalesiony obszar, w którym występuje kilka dróg. W ramach przeprowadzonego eksperymentu ustalono wymaganie detekcji trzech z nich. Rozmiar okna Gaussa wykorzystywanego przy filtracji dolnoprzepustowej wynosi 11 pikseli a odchylenie standardowe 1,83. Progi użyte przy wykrywaniu krawędzi Canny ego zostały ustalone na T1 = 0.16 oraz T2 = 0.4 (w przypadku ciemniejszych obrazów wartości progów powinny znajdować się w dolnym zakresie przedziału). Wyniki widoczne na rysunku 5.1 ukazują poprawne działanie algorytmu. Widać jednak, że w obszarze zalesionym wykrytych zostało wiele krawędzi, które mogłyby wpływać negatywnie na wyniki detekcji w przypadku ustalenia większej ilości dróg do wykrycia. Rysunek 5.1 Poprawne działanie wykrywania prostych w obrazie SAR (źródło oryginalnego obrazu: [22]) 36

Kolejne testowe zobrazowanie SAR przedstawia rzekę. Zadaniem postawionym przed algorytmem wykrywania prostych była detekcja jej lewego brzegu. Ze względu na występowanie w dolnej części obrazu obszarów zalesionych oraz zróżnicowanej powierzchni ziemi w jego górnym obszarze, zadecydowano o zwiększeniu okna odpowiadającego za filtrację Gaussa. Progi detekcji krawędzi również zostały podwyższone. Wyniki świadczą o poprawności działania algorytmu: Rysunek 5.2 Poprawna detekcja brzegu rzeki (źródło oryginalnego obrazu: [22]) 37

Ostatni z przedstawionych obrazów służący do testu algorytmu wykrywania prostych w obrazie ukazuje możliwość zastosowania go także do innych celów, na przykład do wykrywania szyków bojowych nieprzyjaciela (na zobrazowaniu z radaru SAR znajdują się dwie grupy czołgów): Rysunek 5.3 Alternatywne zastosowanie algorytmu wykrywania prostych (źródło oryginalnego obrazu: [22]) Na następnej stronie przedstawione zostały kolejne dwa przykłady ukazujących poprawne działanie zaimplementowanego algorytmu. Pierwszy z nich przedstawia wykrycie drogi w obrazie z dużym współczynnikiem zaszumienia, a drugi poprawną detekcję linii brzegowej. 38

Rysunek 5.4 Przykład poprawnej detekcji drogi (źródło oryginalnego obrazu: dane od opiekuna pracy) Rysunek 5.5 Przykład poprawnej detekcji linii brzegowej (źródło oryginalnego obrazu: dane od opiekuna pracy) 39

5.2 Wykrywanie obiektów wyróżniających się Pierwszym testowym obrazem dla algorytmu wykrywania obiektów jest fragment wykorzystanego wcześniej zobrazowania zawierającego czołgi. Został on wykadrowany w taki sposób, żeby zawierał pojedynczy czołg. Wyniki potwierdzają poprawne działanie algorytmu: Rysunek 5.6 Poprawna detekcja czołgu (źródło oryginalnego obrazu: [22]) Algorytm radzi sobie również dobrze w przypadku, gdy tło obrazu ma zróżnicowane poziomy szarości: Rysunek 5.7 Detekcja słupa energetycznego (źródło oryginalnego obrazu: dane od opiekuna pracy) 40

Ostatnim przedstawianym przykładem jest obraz SAR reprezentujący pomnik Waszyngtona. Jego detekcja także zakończyła się powodzeniem: Rysunek 5.8 Udana detekcja pomnika Waszyngtona (źródło oryginalnego obrazu: [22]) 41

6. Podsumowanie Algorytmy opisane, zaimplementowane i przetestowane przez autora pracy są odpowiednimi narzędziami do ułatwienia analizy zobrazowań z radarów SAR. Zarówno wykrywanie linii prostych, jak i detekcja wyróżniających się obiektów jest możliwa przy minimalnej ingerencji ze strony operatora programu. Potwierdzają to przeprowadzone i udokumentowane testy. W przypadku transformaty Hougha na wyniki ma wpływ dobór parametrów. Nie jest możliwe ustalenie ich uniwersalnych wartości, ponieważ poszczególne obrazy z radarów SAR charakteryzują się różnymi właściwościami, takimi jak rozdzielczość, zaszumienie, czy poziomy szarości. Mimo to, w wielu przypadkach bardzo dobrze sprawdzają się pewne standardowe zakresy tych parametrów, przedstawione przez autora w pracy. Wykrywanie obiektów wyróżniających się przy użyciu miary VWIE jest metodą, dzięki której możliwe jest uzyskanie bardzo dobrych wyników. Ograniczeniem przedstawionej implementacji jest konieczność ustalenia rozmiaru poszukiwanego obiektu. 6.1 Dalszy rozwój pracy Opracowane jak dotąd algorytmy pozwalają na przygotowanie narzędzia z przejrzystym, graficznym interfejsem, które mogłoby służyć do wspierania pracy operatora radaru SAR. W przypadku algorytmu bazowanego na transformacie Hougha możliwa jest jego rozbudowa, w celu analizy obrazu pod kątem występowania w nim także figur geometrycznych opisanych innymi parametrami. Autor pracy wyraża również zainteresowanie rozbudową algorytmu wykrywania obiektów wyróżniających się w celu uniezależnienia go od parametru określającego rozmiar danego obiektu. Ponadto, sama detekcja obiektów umożliwia rozwój technik ich rozpoznawania. 42