WSTĘP DO PRZETWARZANIA OBRAZÓW Jak znaleźć ciekawe rzeczy na zdjęciu? mgr Krzysztof Szarzyński
Czym jest obraz? Na nasze potrzeby będziemy zajmować się jedynie obrazami w skali szarości. Większość z omawianych metod można uogólnić na dowolne obrazy: wielowymiarowe, wielokanałowe. Obraz to funkcja: I: W H Zazwyczaj traktuje się to jak funkcję dyskretną. Z praktycznego punktu widzenia jako macierz. P
Przykłady obrazów Obrazy 2D BMP, PPM, PNG, JPG itp. Obrazy 3D Tomografia komputerowa. Materiały wideo Obraz 2D + Czas Filmy 3D Obraz 3D + Czas ITD. 3
Czym jest krawędź? Krawędź to nagła zmiana jasności obrazu. Najlepiej, gdy następuje skok wartości. Pojawia się on, gdy: istnieją nieciągłości głębi, istnieją nieciągłości położenia płaszczyzn, następuje zmiana właściwości materiału, następuje zmiana oświetlenia sceny. Oznaczmy miejsca o takim skoku jako krawędź.
Oznaczanie krawędzi. Patrzymy na obraz jako na dwuwymiarową funkcję. Jak zmienia się ta funkcja? Spójrzmy na jej gradient. Długość gradientu jest proporcjonalna do zmiany w tym otoczeniu. Zazwyczaj jednak nie znamy analitycznej postaci funkcji obrazu. Do tego obraz jest dyskretny. I(x) I (x) 5
Liczenie gradientu Liczenie pochodnej obrazu dyskretnego jest dość proste. Dla przypadku 1D: I x = I x I(x 1) W przypadku 2D: I x x, y = I x, y I x 1, y I y x, y = I x, y I x, y 1 Jak to połączyć? Jak to szybko obliczyć? Problem: Duża kierunkowość. Rozwiązanie: Sprawdzanie innych kierunków. Użyjemy splotu funkcji. I(x) I(x-1)
Splot funkcji Splot funkcji: f g t = W przypadku dyskretnym: + f τ g t τ dτ a h m, n = h j, k a[m j, n k] j k Od razu widać, że jest to przemienne i łączne! Ale można bardziej intuicyjnie! Weźmy obraz I i maskę M: I M 0 1-1 2-1 -1 2-1 -1 2-1 7
Splot w praktyce. -1 2-1 -1 2-1 -1 2-1 2 X Mnożenie 2 2 Suma 6 0 0-2 4-2 0 0-3 6-3 2 2 2 2 5-3 X -1 2 3 1 0-1 3-2 0 2 2 2 1-1 X 0-1 2-1 0 0 8
Operator Robertsa Jedna maska nie wystarcza! Do tego maska powinna sumować się do zera! Roberts proponuje użycie dwóch masek: G 1 = 0 +1 1 0 I G 2 = +1 0 0 1 I A wynik ich działania łączy się za pomocą G 1 2 + G 2 2 lub G 1 + G 2 Działa to całkiem szybko i daje całkiem niezłe wyniki.
Działanie operator Robertsa 10
Działanie operator Robertsa 11
Inne operatory Ze względu na zastosowania pojawiły się też inne wersje. Do najbardziej znanych należą: Prewitt, 1966 1 0 +1 G x = 1 0 +1 1 0 +1 θ = atan2(g x, G y ) I, G y = 1 1 1 0 0 0 +1 +1 +1 Sobel, 1968(?) 1 0 +1 1 2 1 G x = 2 0 +2 I, G y = 0 0 0 I 1 0 +1 +1 +2 +1 Powyższe metody są całkiem skuteczne, ale czułe na szumy. I
Laplasjan obrazu Metody liniowe zwracają uwagę na pierwszą pochodną obrazu. Badano też metody oparte o drugą pochodną. Wiąże się to z obliczeniem laplasjanu obrazu dwuwymiarowego: I x, y = 2 I(x, y) x 2 + 2 I(x, y) y 2 Obraz jest dyskretny: I x h, y + I x + h, y + I x, y h + I x, y + h 4I(x, y) I x, y h 2 Weźmy otoczenie h = 1. Otrzymujemy wtedy maskę: L = 0 +1 0 +1 4 +1 0 +1 0
Laplasjan rozmycia Gaussa Laplasjan jest jednak dość czuły na szum. Usuńmy szum z obrazu. Dokonajmy jego rozmycia za pomocą funkcji Gaussa G x, y = 1 x 2 +y 2 2πσ 2 e 2σ 2 Na podstawie tego wzoru generujemy maskę G: Liczmy I G = G I Liczymy I E = I G L Z własności splotu wiemy, że: I E = I G L = G I L = I G L = I G L G i L są stałe, możemy więc obliczyć je wcześniej. Powstaje kapelusz meksykański!
Kapelusz meksykański. Stopka
Działanie LoG 16
Różnica Gaussów Czasami posiadamy już obraz rozmyty za pomocą Gaussa. Można zastosować wtedy prostą operacje różnicy obrazów: DoG x, y, σ, K = 1 x 2 +y 2 2πσ 2 e 2σ 2 1 2πK 2 σ 2 e x 2 +y 2 2K 2 σ 2 Gdzie K, to stała kontrolująca odchylenie standardowe. Przykład zastosowania SIFT.
Dlaczego szukamy narożników? Dążymy do minimalizacji informacji na obrazie. Każdą linię można opisać za pomocą dwóch punktów. Niektóre z tych punktów narożniki są wspólne! Czym jednak jest narożnik?
Definicja narożnika Przyjmijmy intuicyjną definicję: Narożnik to charakterystyczny punkt w którym przecinają się dwie krawędzie o różnych kierunkach. Czasami w literaturze mówi się o: narożnikach (corners), punktach charakterystycznych (interest points), punktach kluczowych (key points), cechach (features). Będziemy stosować te oznaczenia zamiennie. 19
Detektor Moravca W 1980 r. Hans Moravec proponuje algorytm szukania narożników. Idea jest prosta: Badamy zmiany w małym oknie obrazu. Badając punkt przesuwamy okno w różnych kierunkach. Analizujemy zmianę średniej jasności pikseli wewnątrz okna. Mamy trzy możliwości.?
Rucha okna Jeżeli otoczenie jest płaskie, to zmiany są małe w każdym kierunku. Wzdłuż krawędzi skok jest mały, a w poprzek duży. Jeżeli badany punkt jest narożnikiem, to skok jest obserwowany w obu kierunkach. 21
Matematyczna definicja Metodę Moravca można zapisać za pomocą wzoru: E x, y = W(u, v) I x + u, y + v I(u, v) 2 u,v W Gdzie E(x,y), to wartość zmian w otoczeniu W punkty (x,y). Moreavec proponuje cztery kierunki: (1; 0) - z lewa na prawo, (1; 1) - po skosie z góry na dół i z lewa na prawo, (0; 1) - z góry na dół, (-1; 1) - po skosie z prawa na lewo i z góry na dół.
Wady podejścia. Metoda ma jednak kilka wad: Anizotropiczność reagowanie na zmiany zależnie od kierunku badania. Czułośc na szumy punkty znajdowanie przez tą metodę są często szumem. Duża czułość na krawędzie brane jest minimum z badanego otoczenia, więc wielu przypadkach krawędzie identyfikowane sa jako narożniki. Harris w 1988 proponuje ulepszenie tego algorytmu. Jego rozwiązanie staję się standardem detekcji narożników. 23
Algorytm Harrisa Znajdźmy krawędzie na ekranie za pomocą metody Sobela. Zapiszmy wzór Moravca inaczej: c x, y, x, y = w u, v (I u, v I u + x, v + y ) 2 W Rozwińmy też w szereg Taylora: I u + x, v + y I u, v + I x u, v x + I y u, v y = I u, v + [I x (u, v), I y (u, v)] x y
Podstawiamy c x, y, x, y = = W W W w u, v (I u, v I u + x, v + y ) 2 w u, v w u, v I u, v I u, v + I x u, v, I y u, v I x u, v, I y u, v = x, y Q(x, y) x y Gdzie Q(x,y), to pewna macierz. x y 2 x y 2 25
Macierz Q Q x, y = W I x (x, y) 2 I x (x, y)i y (x, y) I x (x, y)i y (x, y) I y (x, y) 2 I x (x, y) 2 I x (x, y)i y (x, y) = W I x (x, y)i y (x, y) W I y (x, y) 2 W W 26
Interpretacja macierzy Q Macierz Q odpowiada lokalnym zmianom jasności. Opisuje ona elipsę o środku w (x,y). Długość osi elipsy odpowiada wartościom własnym λ 1 i λ 2.
Zależność wartości własnych Q 28
Narożniki Harrisa Haris proponuje miarę H = λ 1 λ 2 k(λ 1 + λ 2 ) 2 Ale przecież liczenie wartości własnych jest ciężkie! Ale przecież Q jest symetryczna! Zapiszmy ją inaczej W I x (x, y) 2 I x (x, y)i y (x, y) W I x (x, y)i y (x, y) I y (x, y) 2 = A B C D W W Stopka 29
Liczenie miary Harrisa Z własności macierzy kwadratowych λ 1 λ 2 = detq x, y = AC B 2, λ 1 + λ 2 = trq x, y = A + C. Podstawiając H = AC B 2 k(a + C) 2 30
Przykład zastosowania metody Stopka 31
Lektury Lawrence G. Roberts. Machine Perception Of Three-Dimensional Solids. MIT, 1963. H.P. Moravec. Obstacle avoidance and navigation in the real world by a seeing robot rover. Stanford University, 1980. C. Harris, M. Stephens. A combined corner and edge detector. Manchester, UK, 1988 Tomas Werner. Harris corner detector. [online], 2007 32