IMPLEMENTACJA I TESTOWANIE PROCEDURY AUTOMATYCZNEGO ŚLEDZENIA KRAWĘDZI NA OBRAZACH CYFROWYCH

Podobne dokumenty
WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

Implementacja filtru Canny ego

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

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

1. Opis okna podstawowego programu TPrezenter.

Grafika komputerowa. Zajęcia IX

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

Wykrywanie twarzy na zdjęciach przy pomocy kaskad

A U TO M A T Y Z A C JA ŚLED ZEN IA L IN II NA O BRAZA CH C Y FR O W Y C H

Ćwiczenie 3. I. Wymiarowanie

Zaznaczanie komórek. Zaznaczenie pojedynczej komórki polega na kliknięciu na niej LPM

PRÓBA SUBPIKSELOWEJ LOKALIZACJI LINII KONTUROWYCH Z WYKORZYSTANIEM DRUGIEJ POCHODNEJ OBRAZU CYFROWEGO

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Arkusz kalkulacyjny EXCEL

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

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

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda

AUTOMATYCZNA IDENTYFIKACJA ELEMENTÓW LINIOWYCH NA OBRAZACH CYFROWYCH *

Aerotriangulacja. 1. Aerotriangulacja z niezależnych wiązek. 2. Aerotriangulacja z niezależnych modeli

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

Rozdział VI. Tabele i ich możliwości

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

PRÓBA SUBPIKSELOWEJ LOKALIZACJI LINII KONTUROWYCH Z WYKORZYSTANIEM DRUGIEJ POCHODNEJ OBRAZU CYFROWEGO

1. Wybierz polecenie rysowania linii, np. poprzez kliknięcie ikony W wierszu poleceń pojawi się pytanie o punkt początkowy rysowanej linii:

Temat ćwiczenia: Opracowanie stereogramu zdjęć naziemnych na VSD.

POMIARY WIDEO W PROGRAMIE COACH 5

Moduł Grafika komputerowa i multimedia 312[01].S2. Ćwiczenia Podstawy programu Autocad 2011 Prosta

W tym celu korzystam z programu do grafiki wektorowej Inkscape 0.46.

Jeśli chodzi o wymianę/dodanie zdjęcia w galerii to robimy to za pomocą komponentu Galeria Phoca.

WSTAWIANIE GRAFIKI DO DOKUMENTU TEKSTOWEGO


Transformacja współrzędnych geodezyjnych mapy w programie GEOPLAN

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

1.1. Przykład projektowania konstrukcji prętowej z wykorzystaniem ekranów systemu ROBOT Millennium

Rozwiązanie ćwiczenia 7a

Po naciśnięciu przycisku Dalej pojawi się okienko jak poniżej,

b) Dorysuj na warstwie pierwszej (1) ramkę oraz tabelkę (bez wymiarów) na warstwie piątej (5) według podanego poniżej wzoru:

Formatowanie warunkowe

Symbole graficzne. 1. Rezystor Rysujemy symbol graficzny rezystora

Formatowanie komórek

Podstawy Informatyki Wykład V

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

WYKŁAD 12. Analiza obrazu Wyznaczanie parametrów ruchu obiektów

Przenoszenie, kopiowanie formuł

Drzewa czerwono-czarne.

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.

Ekonometria, lista zadań nr 6 Zadanie 5 H X 1, X 2, X 3

Nawigacja po długim dokumencie może być męcząca, dlatego warto poznać następujące skróty klawiszowe

Rys.1. Uaktywnianie pasków narzędzi. żądanych pasków narzędziowych. a) Modelowanie części: (standardowo widoczny po prawej stronie Przeglądarki MDT)

Wstawianie nowej strony

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Wymiarowanie, kreskowanie, teksty

Spis treści. Konwencje zastosowane w książce...5. Dodawanie stylów do dokumentów HTML oraz XHTML...6. Struktura reguł...9. Pierwszeństwo stylów...

ERGODESIGN - Podręcznik użytkownika. Wersja 1.0 Warszawa 2010

WSCAD. Wykład 5 Szafy sterownicze

EXCEL. Diagramy i wykresy w arkuszu lekcja numer 6. Instrukcja. dla Gimnazjum 36 - Ryszard Rogacz Strona 20

KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT

Zakład Systemów Rozproszonych

5.5. Wybieranie informacji z bazy

Kultywator rolniczy - dobór parametrów sprężyny do zadanych warunków pracy

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Instrukcja obsługi programu Creative Fotos

Podstawowa instrukcja obsługi STRON stron internetowych serwisu zrealizowanych w systemie zarządzania treścią Wordpress.

Maciej Piotr Jankowski

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2.

Przekształcenia punktowe

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Edytor tekstu MS Word podstawy

Fotogrametryczny pomiar lin odciągowych z wykorzystaniem przekształceń rzutowych

Auto CAD Punkt przecięcia się obiektów

Ćwiczenia z grafiki komputerowej 5 FILTRY. Miłosz Michalski. Institute of Physics Nicolaus Copernicus University. Październik 2015

WideoSondy - Pomiary. Trzy Metody Pomiarowe w jednym urządzeniu XL G3 lub XL Go. Metoda Porównawcza. Metoda projekcji Cienia (ShadowProbe)

Raytracer. Seminaria. Hotline. początkujący zaawansowani na miejscu

Rejestracje żetonowe w USOSweb

Przeciąganie po profilach, Dodanie/baza przez wyciągnięcie po ścieŝce

Spis treści. Adobe Photoshop lab. 2 Jacek Wiślicki,

Rozwiązanie ćwiczenia 8a

WYKONANIE APLIKACJI WERYFIKUJĄCEJ PIONOWOŚĆ OBIEKTÓW WYSMUKŁYCH Z WYKORZYSTANIEM JĘZYKA C++ 1. Wstęp

MS Office Picture Manager

Operacje przetwarzania obrazów monochromatycznych

3.7. Wykresy czyli popatrzmy na statystyki

SPIS ILUSTRACJI, BIBLIOGRAFIA

Nagrywamy podcasty program Audacity

Konsola operatora TKombajn

E-geoportal Podręcznik użytkownika.

Jak przygotować pokaz album w Logomocji

Wymiarowanie i teksty. Polecenie:

Wtyczka Crop3D. Wstęp. Implementacja. Sprawozdanie z realizacji projektu Bartłomiej Trzewiczek Kraków,


Filtrowanie tekstur. Kinga Laurowska

Arkusz kalkulacyjny MS Excel 2010 PL.

TEORIA GRAFÓW I SIECI

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Praca w programie Power Draft

Detekcja punktów zainteresowania

WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ INSTRUKCJA UŻYTKOWNIKA

Transkrypt:

Janusz Cieślar IMPLEMENTACJA I TESTOWANIE PROCEDURY AUTOMATYCZNEGO ŚLEDZENIA KRAWĘDZI NA OBRAZACH CYFROWYCH 1. Wstęp W 1999 roku w zakładzie Fotogrametrii i Informatyki Teledetekcyjnej AGH powstał pomysł realizacji projektu automatyzacji wyznaczania parametrów lin odciągowych z wykorzystaniem zdjęć cyfrowych. Obecnie zadania to jest realizowane w ramach projektu KBN. Warunkami początkowymi były założenia maksymalnego zautomatyzowania procesu pomiarowo obliczeniowego, oraz (w celu uzyskania wysokiej dokładności) wykorzystania dużej liczby punktów (ok. kilku tysięcy). Aby spełnić oba powyższe założenia należało opracować i przetestować algorytmy automatycznego śledzenia linii na obrazach cyfrowych pod kątem znajdowania przebiegu obrazów lin. Celem artykułu jest pokazanie sposobu działania, testowanie (dla różnych danych wejściowych) oraz ocena algorytmu śledzenia krawędzi metodą heurystyczną, zaimplementowaną na grafie skierowanym mającym postać drzewa. Algorytm został zaadaptowany na podstawie [1], został on tylko nieznacznie zmodyfikowany w celu lepszego działania i stworzenia możliwości kontroli. Test algorytmu został przeprowadzony pod kątem jego przydatności dla potrzeb systemu automatyzacji wyznaczania parametrów lin odciągowych wież wiertniczych wykonywanego w ramach projektu KBN. Niniejszy artykuł jest pewną kontynuacją badań prowadzonych w tym zakresie. Wyniki dotychczasowych badań (opis działania i testowanie innych procedur śledzenia linii) zostały zamieszczone w [2]. 2. Założenia algorytmu Opisywany algorytm wymaga określenia na obrazie dwóch punktów: początkowego x A i końcowego x B krawędzi, która ma zostać zlokalizowana. Zlokalizowanie krawędzi polega Akademia Górniczo-Hutnicza, Wydział Geodezji Górniczej i Inżynierii Środowiska Artykuł opracowano w ramach programu badań statutowych (nr 11.11.150.459) Zakładu Fotogrametrii i Informatyki Teledetekcyjnej AGH w 2001 roku

na określeniu współrzędnych (na obrazie) punktów, pomiędzy którymi jest ona zawarta. Przebieg krawędzi jest określany przez analizę a następnie wybór kolejnych pikseli, począwszy od piksela początkowego x A, a skończywszy na pikselu końcowym x B. W celu zakwalifikowania danego piksela, jako kandydata do piksela krawędzi, musi on spełniać następujące warunki: e( x i ) TD e( x j ) TD (1) e( x i ) TG e( x j ) TG (2) gdzie: x i, x j są odpowiednio pozycjami piksela bieżącego i następnego, natomiast e(x i ) i e(x j ) są wartościami jasności piksela na tych pozycjach, TD jest pewnym zadanym progiem dolnym, a TH progiem górnym dla jasności piksela. φ ( x ) φ( x ) mod 2π T (3) i j 2 Warunki (1) i (2) powodują odrzucenie pikseli, których wartości jasności leżą poza zadanym zakresem. Warunek (3) bazuje na założeniu, że krzywizna lokalizowanej krawędzi jest mniejsza od zadanej. W zastosowanym algorytmie warunek (3) nie musi być spełniony w sposób dosłowny; oznacza to, że spośród pikseli kandydujących spełniających warunek (1) (2) w pierwszej kolejności jest wybierany piksel spełniający warunek (3), a jeżeli nie ma takiego piksela, to brane są pozostałe piksele wg. kolejności wyznaczonej przez atrybut kosztu. Każdy piksel kandydujący do krawędzi ma przydzielony atrybut kosztu. Atrybut kosztu przyjmuje bezwzględną wartość jasności danego piksela. Rys. 1. 1a) przykładowe drogi, po jakich może poruszać się algorytm w trakcie działania, 1b) drzewo obrazujące te drogi przejścia algorytmu.

3. Działanie Algorytm został opracowany z myślą o wykrywaniu krawędzi a nie linii, jednakże krawędź w rozumieniu niniejszego artykułu musi być rozumiana nieco inaczej niż w artykule [3], gdzie za krawędź uważa się granicę, prostopadle do której gwałtownie ulega zmianie pewna własność obrazu, jak jasność, kolor czy tekstura. Ponadto zakłada się, że po obu stronach krawędzi, sąsiadujące obszary są jednorodne z punktu widzenia analizowanej cechy. Działanie opisywanego algorytmu oparte jest na założeniu, że występuje łagodna zmiana własności obrazu. W związku z tym w przytoczonej definicji należało by słowo gwałtownie zamienić na łagodnie. Jednakże taka zmiana sprawia, że definicja przestaje być ścisła, w związku z czym należało by określić (w pikselach) na jakiej długości (w kierunku prostopadłej do krawędzi) ma miejsce to łagodne przejście. Warto również zaznaczyć, że krawędź liny odfotografowanej na obrazie cyfrowym ma zawsze łagodne przejście zatem w rzeczywistości nasz warunek jest zawsze spełniony. Z praktycznych obserwacji zachowania się algorytmu dla różnych krawędzi ustalono, że długość przejścia powinna wynosić co najmniej 3 piksele, aby algorytm był w stanie działać poprawnie i nie powinna być zbyt duża np. mniejsza niż 6 pikseli, ponieważ zwiększanie długości przejścia zmniejsza dokładność określenia krawędzi przez algorytm. W przypadku zmniejszania długości przejścia zwiększa się wrażliwość algorytmu na dokładność usytuowania punktów początkowego x A i końcowego x B. Rys. 2. Wpływ złego usytuowania punktów (początkowego i końcowego) na działanie algorytmu.

Przeszukiwanie odbywa się począwszy od piksela początkowego x A i jest zakończone sukcesem (jeśli zostanie osiągnięty piksel końcowy x B ), lub porażką (jeśli nie osiągnięto piksela końcowego x B ). Algorytm na każdym etapie przeszukiwania dołącza do bieżącego łańcucha pikseli następny, wybierając najlepszy spośród pikseli kandydujących (zob. rozdział 2). Postępując w ten sposób albo zostanie osiągnięty piksel końcowy (zakończenie sukcesem) lub nastąpi wejście w ślepą uliczkę nie będzie żadnych następnych pikseli spełniających wymagane kryteria (droga okazała się niewłaściwa). W przypadku ślepej uliczki algorytm wraca do najbliższego węzła, gdzie rozpoczyna przejście nową drogą zaczynając od tej, dla której koszt jest najmniejszy. Algorytm kończy działanie albo w przypadku gdy znalazł drogę do piksela końcowego, lub wówczas, gdy przeszukawszy wszystkie możliwe drogi, nie znalazł właściwej. Na rysunku 1a przedstawiono przykładowe drogi, po jakich może poruszać się algorytm w trakcie działania, natomiast na rysunku 1b przedstawiono drzewo obrazujące te drogi. 4. Testy W celu zobrazowania działania algorytmu przeprowadzono szereg testów. Poniżej zamieszczono rezultaty działania programu dla różnych obrazów i różnych ustawień parametrów początkowych. Rys. 3. Prawidłowo dobrane położenia punktów (początkowego x A i końcowego x B ) oraz parametrów wejściowych (próg dolny, próg górny).

Zamieszczone rysunki testów, oprócz wyników działania zawierają cały interfejs programu testującego. Po prawej stronie okienka dialogowego interfejsu programu testującego znajdują się kolejno następujące przyciski: OK. oraz Cancel - zakończenie działania programu, Wczytaj wczytanie testowanego obrazu, Usun Pkt y usuwa zaznaczone punkty (początkowy i końcowy), SzukajHeur uruchamia procedurę automatycznego śledzenia. W dolnej części widoczne są dwa okna edycji służące do ustawiania parametrów działania algorytmu: Prog dol ustawienie wartości progu dolnego, Prog gora ustawienie wartości progu górnego. Zaznaczenie punktów (początkowego i końcowego) odbywa się przez ustawienie kursora myszki nad odpowiednim punktem obrazu i kliknięcie lewego klawisza. Miejsce wstawienia punktu oznaczane jest przy pomocy czerwonego krzyża. Rys. 4. Ustawienie zbyt niskiej wartość parametru próg dolny. Rysunek 2 stanowi ilustrację wpływu złego usytuowania punktów (początkowego i końcowego) na działanie algorytmu. Dokładność usytuowania punktów ma szczególne znaczenie w przypadku małych długości przejścia (rozdział 4) i małych różnic jasności między pikselami tła i obszaru, dla którego jest znajdywana krawędź. W implementacji algorytmu jest wykonywane zerowanie wartości jasności tych pikseli, które nie prowadziły

do uzyskania właściwej drogi. Jest to widoczne w dolnej części rysunku 2 (lewy dolny narożnik) w postaci ciemnej otoczki wokół obrazu linii. Algorytm nie zapewnia od razu przejścia w kierunku punktu końcowego x B i czasem może nastąpić przejście w kierunku przeciwnym, a później powrót. Rysunek 2 pokazuje jeszcze jeden mankament przeskok z krawędzi jednej na drugą co jest możliwe w przypadku bardzo wąskich obiektów liniowych. Rysunek 3 pokazuje wynik działania dla prawidłowo dobranego położenia punktów początkowego x A i końcowego x B oraz parametrów wejściowych (próg dolny, próg górny). Rysunek 4 przedstawia przykład ustawienia zbyt niskiej wartość parametru próg dolny, co uwidacznia się poprowadzeniem drogi przez obszar tła. Rys. 5. Zbyt duża długości przejścia (18 pikseli). Na rysunku 5 długość przejścia wynosi ok. 18 pikseli, na obrazie dobrze uwidacznia się pewne niezdecydowanie algorytmu w postaci mocno poszarpanej krawędzi. W przypadku zwiększania długości przejścia, algorytm wykazuje większą tolerancje na ustawienie wartości parametrów wejściowych (próg dolny, próg górny). Jednak nie należy tego faktu traktować jako zaletę, ponieważ bardzo mocno zmniejsza się wtedy dokładność określenia krawędzi. Na rysunku 6 długość przejścia wynosi 4 piksele; rysunek ten jest przykładem dobrze dobranych parametrów wejściowych (próg dolny, próg górny), oraz dobrego rozmieszczenia punktów x A i x B.

Rys. 6. Przykład prawidłowej długości przejścia (4 piksele) oraz dobrze dobranych parametrów wejściowych. 5. Wnioski Przeprowadzone próby i analizy pozwalają sformułować poniższe wnioski. 1. Dla polepszenia działania algorytmu należałoby zmodyfikować obliczanie atrybutu koszt, tak aby lepiej oceniał właściwą drogę. Należałoby wprowadzić inne kryteria wyboru pikseli kandydujących do krawędzi np.: e( x ) e( x ) T (4) i j 1 różnica jasności piksela bieżącego i następnego mniejsza od zadanego progu [1]. 2. Algorytm jest bardzo wrażliwy na zmiany położenia punktów x A i x B oraz wejściowych parametrów (próg dolny, próg górny) szczególnie dla małych długości przejścia. 3. Ma miejsce duże zużycie pamięci spowodowane dynamicznym przechowywaniem informacji o węzłach oraz przebiegu bieżącej drogi. W przypadku dużych obrazów, może to spowodować nadmierną ilość zaalokowanej pamięci. Dodatkowo w sytuacji, gdy ustawiono zbyt małą wartość parametru próg dolny, pamięć przydzielona dla krawędzi może rozrosnąć się do nieprzewidywalnych rozmiarów, a nawet doprowadzić do zablokowania działania programu.

4. Możliwość przeskoku z jednej krawędzi na drugą w przypadku wąskich linii praktycznie dyskryminuje stosowanie tego algorytmu dla wyznaczania przebiegu lin odciągowych. 5. Krawędź wyznaczona przez algorytm może zawierać zapętlenia, tzn. mogą wystąpić wielokrotne piksele w danej kolumnie lub wierszu obrazu, co nie jest dopuszczalne dla jednoznacznej identyfikacji krawędzi. Dlatego należałoby dodatkowo zastosować jakiś algorytm filtrujący. 6. Stosunkowo trudno w sposób intuicyjny ustalić prawidłowe wartości parametrów wejściowych (próg dolny, próg górny) oraz określić położenie punktów x A i x B. Wymagane jest pewne doświadczenie, a najlepiej rozumienie istoty działania algorytmu. 7. W wyniku przeprowadzonych prób stwierdzono, że badany algorytm w obecnej postaci nie nadaje się zbyt dobrze do wykorzystania dla potrzeb znajdowania przebiegu lin na obrazach cyfrowych. Dalsze prace nad lepszą adaptacją algorytmu wydają się bezcelowe, gdyż wymagało by to zbyt dużych nakładów w stosunku do osiągniętych korzyści. Najbardziej opłacalne z przyczyn ekonomicznych (czas) jak i z punktu widzenia możliwości osiągnięcia zadowalających efektów, wydaje się pójście w kierunku rozwoju algorytmów mniej skomplikowanych np. tych opisanych w [2]. Bibliografia [1] I. Pitas, Digital image processing algorithms and applications. [2] Archiwum Fotogrametrii i Teledetekcji vol. 10; Kraków 2000, J. Cieślar, Automatyzacja śledzenia linii na obrazach cyfrowych. [3] Archiwum Fotogrametrii i Teledetekcji vol. 10; Kraków 2000 W. Mierzwa, S. Mikrut, Automatyczna identyfikacja elementów liniowych na obrazach cyfrowych. [4] L. R. Foulds, Graph Theory Applications. [5] J. D. Foley, A. van Dam, S. K. Feiner, J. F. Hughes, R. L. Phillips, Wprowadzenie do grafiki komputerowej. [6] Oficyna Kallimach Kraków 1996; J. Grębosz, Symfonia C++. [7] Helion Gliwice 1999; D. Chapman, Visual C++ dla każdego. [8] Helion Gliwice 1999; R. S. Wright, M. Sweet, OpenGL Księga Eksperta. [9] Journal of Photogrammetry and Remote Sensing, 50(4) 1995: 29-37; G. Vosselman, Application of tree search methods in digital Photogrammetry.