Topograficzna analiza dwuwymiarowych obrazów materiału
Transkrypt
Topograficzna analiza dwuwymiarowych obrazów materiału
dr inż. ADAM HEYDUK Politechnika Śląska Topograficzna analiza dwuwymiarowych obrazów materiału ziarnistego W artykule przedstawiono wykorzystanie metod geometrii różniczkowej do celów segmentacji obrazu materiału ziarnistego. Podstawową techniką jest analiza wartości własnych macierzy hesjanu jasności obrazu w danym punkcie – umożliwiająca precyzyjną topograficzną klasyfikację tego punktu. Taka klasyfikacja w istotny sposób ułatwia wyodrębnienie sąsiadujących ze sobą ziaren. Klasyfikacja ta dokonywana jest przy wykorzystaniu dwusześciennej aproksymacji otoczenia tego piksela opartej na ortogonalnych wielomianach bazowych. WSTĘP Segmentacja obrazu materiału ziarnistego opiera się na przypisaniu każdemu pikselowi odpowiedniej kategorii (np. ziarna, krawędzi ziarna, przestrzeni międzyziarnowej, tła – np. taśmy przenośnika itp.) Klasyfikacja ta dokonywana jest na zasadzie istnienia zależności miedzy jasnością rozpatrywanego fragmentu obrazu a własnościami powierzchni fotografowanego obiektu. Ponieważ w zagadnieniach przeróbki surowców mineralnych występuje zwykle bardzo duża liczba obiektów (ziaren, pęcherzyków) charakteryzujących się takimi samymi lub bardzo zbliżonymi cechami fotometrycznymi powierzchni (ten sam materiał) to dla interpretacji obrazu decydujące znaczenie ma ich ukształtowanie geometryczne (kąt nachylenia w stosunku do kierunku oświetlenia i osi optycznej obiektywu kamery). Przy równomiernym oświetleniu padającym z kierunku zbliżonego do osi obiektywu i prostopadłego do obserwowanej powierzchni (makroskopowo) – najczęściej jest to powierzchnia pozioma (strumień materiału na taśmie przenośnika lub np. powierzchnia piany flotacyjnej), fragment obrazu będzie tym ciemniejszy im większy będzie jego kąt nachylenia, bo odbite w bok światło nie będzie trafiać do obiektywu kamery. Stąd też – przy założeniu poziomej powierzchni, górnym powierzchniom ziaren lub pęcherzyków piany odpowiadać będą obszary jaśniejsze, natomiast obszary ciemniejsze interpretowane być mogą jako przestrzenie międzyziarnowe. Zagadnienie segmentacji sprowadzić więc można do wyszukiwania lokalnych maksimów i minimów jasności obrazu. Najprostszą metodą może być tu progowe przetwarzanie obrazu, czyli porównywanie luminancji każdego piksela z ustaloną wartością progową, jednak z uwagi na występującą w praktyce niejednolitość oświetlenia oraz zróżnicowaną jasność poszczególnych obiektów jednoznaczne ustalenie tych wartości progowych praktycznie nie jest możliwe lub też prowadzi do dużych błędów w lokalizacji granic wydzielanych obszarów. Stad też celowe jest poszukiwanie metod bardziej precyzyjnie interpretujących lokalną strukturę obrazu. Podstawową operacją lokalnego przetwarzania obrazu stosowaną w komputerowych systemach wizyjnych do celów segmentacji jest wyznaczanie gradientu jasności. Metoda ta jest szczególnie efektywna do wyznaczania granic obiektów o zróżnicowanej jasności (np. jasny obiekt na ciemnym tle lub odwrotnie) jednak w przypadku niewielkich różnic miedzy obiektem a tłem lub sąsiednimi obiektami jej zastosowanie staje się znacznie trudniejsze. Jest to również metoda wrażliwa na zakłócenia spowodowane np. nierównomiernością powierzchni (teksturą) rozdzielanych obiektów – stąd też zwykle wymagane jest wstępne wygładzenie segmentowanego obrazu. W niniejszym artykule zaproponowano metodę sześciennej aproksymacji fragmentów obrazu, ułatwiającą łatwe wyznaczenie niezbędnych do dalszej analizy pochodnych pierwszego i drugiego rzędu w różnych kierunkach, wynikających z lokalnej struktury obrazu. 6 MECHANIZACJA I AUTOMATYZACJA GÓRNICTWA 1. RÓŻNICZKOWA OCENA WKLĘSŁOŚCI/WYPUKŁOŚCI POWIERZCHNI W PRZESTRZENI TRÓJWYMIAROWEJ 2 f x 2 a H xy 2 f xy Dwuwymiarowy obraz monochromatyczny można traktować jako dyskretny zbiór wartości pewnej ciągłej funkcji f(x, y) opisującej rozkład jasności (luminancji) w poszczególnych punktach obrazu w przyjętym układzie współrzędnych x, y. Pochodną tej funkcji dwóch zmiennych f(x, y) w kierunku wektora v tworzącego kąt α z osią x można ogólnie wyznaczyć jako f x t cos , y t sin f x, y df ( x, y ) lim t 0 dv t f x, y f x, y cos sin x y (1) Postępując tak samo, można wyznaczyć drugą pochodną w tym samym kierunku jako d 2 f x, y f ( x, y ) f ( x, y ) cos sin cos 2 dv x x x f ( x, y ) f ( x, y ) cos sin sin y x x czyli d 2 f x, y 2 f 2 f f 2 cos sin 2 2 cos sin dv 2 x 2 y 2 xy (3) co można zapisać macierzowo jako d 2 f x, y cos dv 2 2 f xy cos 2 f sin y 2 (4) a w skrócie df dT H d dv (5) gdzie: cos d x d oznacza kierunek, wzdłuż któ sin d y rego liczona jest pochodna, obrazu w rozpatrywanym punkcie. Aby znaleźć kierunek d, w którym druga pochodna d 2 f x, y 2 f 2 2 f 2 f 2 dx 2 d y 2 d x d y przy 2 dv x y xy warunku d x2 d y2 1 osiąga minimum można zastosować metodę mnożników Lagrange’a, czyli poszukiwać punktów stacjonarnych funkcji D dx , d y 2 f 2 2 f 2 f 2 d 2 d d d y d x2 d y2 1 x x y x 2 xy y 2 D d x , d y 0 d x Wówczas warunki D d x , d y 0 d y (7) przybierają postać (2) 2 f x 2 sin 2 f xy 2 f xy jest hesjanem jasności 2 f y 2 2 f 2 f 2 d 2 d x 2 d x 0 x 2 x xy 2 2 2 f d 2 f d 2 d 0 y y x 2 y xy (8) czyli w zapisie macierzowym 2 f x 2 2 f xy 2 f dx xy d x . 2 f d y d y 2 y dx musi więc być wektorem własnym d y Kierunek 2 f x 2 hesjanu H xy 2 f xy 2 f xy . 2 f y 2 Zatem przyjmując dla skrócenia zapisu dalszych obliczeń oznaczenia Nr 2(456) LUTY 2009 7 Znacznie korzystniej jednak zapisać wzór (18) 2 f Fxx 2 x 2 f F yy y 2 2 f Fxy xy w równoważnej postaci Fxx Fyy (10) i zapisując hesjan w postaci Fxx H xy Fxy Fxy Fyy (11) 1 Fxy d x dx Fyy d y d y 2 4Fxy 2 , gdyż zmniejsza to liczbę niezbędnych operacji obliczeniowych (zwłaszcza mnożeń – bardziej czasochłonnych od dodawania i odejmowania) oraz – co ważniejsze – jednocześnie świadczy, że 0 , gwarantując istnienie rozwiązań równania (17) w zbiorze liczb rzeczywistych. Wówczas pierwiastki równania (17), czyli wartości własne macierzy Hxy można zapisać jako można napisać, że Fxx F xy (12) 2 F Fxx Fyy Fyy 4 Fxy2 2 xx (19a) 2 F Fxx Fyy xx Fyy 4 Fxy2 2 (19b) 2 W szczególnym przypadku, gdy 0 (możliwe czyli Fxx F xy Fxy d x 0 . Fyy d y 0 (13) Fxx Fyy ) Fxy 0 tylko w sytuacji, gdy jednocześnie zachodzi Równanie macierzowe (13) może mieć niezerowe rozwiązania tylko wtedy, gdy jego wyznacznik równy jest zeru Fxx Fxy Fxy 0 Fyy (14) 1 2 Fxx Fyy Fxx Fyy Fxy 0 2 Fxx i F xy (15) Wartości własne muszą być więc pierwiastkami równania kwadratowego 2 2 Fxx Fyy Fxx Fyy Fxy 2 0 (17) Fxx Fyy 2 4 Fxx Fyy Fxy 2 Fxx 2 Fxx Fyy Fyy 4 Fxx Fyy 4 Fxy (18) 2 2 Fxx 2 Fxx Fyy Fyy 4 Fxy 2 2 dx (20) Fxy (2.21a) 1 Fxx Fyy F xx Fyy 4 Fxy2 2 2 Fxy (2.21b) a dla 2 2 2 Fyy dx czyli dla Wyróżnik tego równania kwadratowego (17) będzie miał postać Fxy d x 0 Fyy i d y 0 Przyjmując wstępnie np. d y 1 uzyskuje się (16) czyli (19c) 2 Dla każdej wartości i można wyznaczyć odpowiadający jej wektor własny z układu równań czyli Fxx Fyy Fxy 2 0 Fxx Fyy dx Fxx Fyy F xx Fyy 4 Fxy2 2 Fxy 2 (2.21c) MECHANIZACJA I AUTOMATYZACJA GÓRNICTWA 8 Wektory własne będą więc miały postać: Fxx Fyy d1 F Fxx Fyy d2 2 Fyy 4 Fxy2 2 Fxy 1 F xx xx Fyy 2 Fxy 1 2 Fxx F xy 4F 2 xy d2 f 1 d1x dd12 Fxy d1x d1x 1 Fyy d1 y d1 y (26) d1x d1 y 1 d12x d12y 1 (27) d1 y I analogicznie 2 Fyy 4 Fxy2 2 Fxy 2 Fxx Fyy 4Fxy2 2 Fxy F Fxx F xy Do dalszych rozważań najkorzystniej przyjąć wektory własne w postaci znormalizowanej (o długości równej 1), czyli d1x d 1y 1 1 d2 d2 d 22x d 22y d2 x d 2y (23) (28) Fxy d 2 x d2 x 2 Fyy d 2 y d2 y (29) to d2 f 2 d 2 x dd 22 d2 x d 2 y 2 d 22x d 22y 2 (30) 1 4 2 43 d2 y 1 2. LOKALNA APROKSYMACJA FRAGMENTÓW OBRAZU FUNKCJĄ DWUSZEŚCIENNĄ Z WYKORZYSTANIEM WIELOMIANÓW ORTOGONALNYCH Do celów analizy topograficznej metodami geometrii różniczkowej najkorzystniej jest otoczenie rozważanego punktu (piksela) P(x,y) aproksymować określoną funkcją, np. dwuwymiarowym wielomianem o ogólnej postaci f ( x, y ) K1 K 2 x K 3 y K 4 x 2 K 5 xy K 6 y 2 aproksymacja liniowa gdyż ułatwi to dokonywanie przekształceń odwrotnych. Zachodzi wówczas 1 dla i j eTi e j 0 dla i j Fxy d 2 x Fyy d 2 y A ponieważ (22) 1 1 d1 d1 d12x d12y Fxx d 2 y Fxy d2 f d2 x dd 22 xx 2 2 2 F Fyy Fxx Fyy 4 Fxy d1T d 2 Fxx Fyy Fxx Fyy 4 Fxy2 2 Fxy xx 2 Fxy 2 2 Fxx Fyy Fxx Fyy 4 Fxy2 Fxx Fyy Fxx Fyy 4 Fxy2 4 Fxy2 2 2 Fxx Fxy Fxx Fyy 4 Fxy2 4 Fxy2 0 e2 (25) to Wektory własne d1 , d 2 (o ile są różne) tworzą układ ortogonalny, gdyż ich iloczyn skalarny e1 Fxy d1x Fyy d1 y A ponieważ lub po przeskalowaniu F Fyy d1 xx F Fyy d 2 xx Fxx d1 y Fxy d2 f d1x dd12 (24) Wracając do wyznaczania wartości drugiej pochodnej w wyznaczonych kierunkach d1 i d2 można zapisać aproksymacja kwadratowa (31) K 7 x 3 K 8 x 2 y K 9 xy 2 K10 y 2 aproksymacja sze śzeście Sumaryczny błąd aproksymacji we wszystkich punktach prostokątnego otoczenia (okna) punktu będzie równy e 2 ( K1 K 2 x K 3 y K 4 x 2 K 5 xy K 6 y 2 x y K 7 x K 8 x y K 9 xy K10 y f ( x, y )) 3 2 2 3 2 . Nr 2(456) LUTY 2009 9 Minimalizacja tego błędu, czyli aproksymacja optymalna w sensie metody najmniejszych kwadratów, będzie możliwa, gdy wyzerują się pochodne funkcji błędu, po wszystkich współczynnikach K1, K2, ... K10, czyli e 2 e 2 e 2 e 2 0, 0, 0, 0, ... K1 K 2 K 3 K 4 e 2 e 2 e 2 0, 0, 0 K 8 K 9 K10 (32) Po wyznaczeniu wartości współczynników K1, K2 … K10 można już stosunkowo łatwo wyliczyć pochodne cząstkowe f ( x, y ) K 2 2 K 4 x K 5 y 3K 7 x 2 2 K8 xy K 9 y 2 x f ( x, y ) 2 2 y K 3 K 5 x 2 K 6 y K8 x 2 K 9 xy 3K10 y (33) 2 f ( x, y ) 2 K 4 6 K 7 x 2 K8 y 2 x 2 f ( x, y ) 2 K 6 2 K 9 x 6 K10 y 2 y 2 f ( x, y ) K5 2 K8 x 2 K 9 y x y Dla klasyfikowanego punktu P położonego w centrum rozpatrywanego obszaru (czyli o współrzędnych (x=0, y=0) )wyrażenia (33) przyjmują jeszcze znacznie prostszą postać f ( x, y ) K2 Fx x f ( x, y ) Fy y K 3 2 f ( x, y ) 2K4 Fxx x 2 2 f ( x, y ) 2K6 Fyy y 2 2 f ( x, y ) K5 Fxy x y (34) Poszczególne pochodne cząstkowe (niezbędne do obliczania wartości gradientu i hesjanu) można więc bardzo łatwo wyznaczyć bezpośrednio na podstawie znajomości współczynników wielomianu aproksymacyjnego (31). [1],[2] według następujących reguł (Uwaga: Ze względu na występujące w obrazie zakłócenia przyjęto, że warunki i 0 , i 0 , i 0 odpowiadają porównaniu wartości i z określoną wartością progową (wartość ta może być np. lokalnie wyznaczana w sposób adaptacyjny przy uwzględnieniu wariancji jasności w najbliższym otoczeniu rozpatrywanego piksela), gdyż chodzi o to aby jednoznacznie klasyfikować tylko „wyraźne” granice). Jeśli gradient jasności G 0 to punkt leży na obszarze nachylonym (np. pochyłej krawędzi ziarna) i nie jest celowe rozpatrywanie wartości i znaku drugiej pochodnej kierunkowej Jeśli gradient G 0 to niezbędna jest dalsza analiza na podstawie znaków i wartości drugich pochodnych: Jeśli 1 0 , 2 0 obszar płaski (zwykle górna powierzchnia ziarna lub fragment rozległej przestrzeni międzyziarnowej – w tym przypadku dodatkową wskazówką może być bezpośrednio wartość luminancji rozważanego piksela), Jeśli 1 0 , 2 0 obszar wypukły (górna powierzchnia ziarna – nie może wchodzić w skład przestrzeni międzyziarnowej), Jeśli 1 0 i 2 0 obszar wklęsły (jeśli taki obszar graniczy z innymi punktami przestrzeni międzyziarnowej to może być do niej zaliczony, natomiast jeżeli jest ze wszystkich stron otoczony obszarem płaskim lub wypukłym – to oznacza zwykle niewielkie wgłębienie na górnej powierzchni jakiegoś ziarna), Jeśli 1 0 , 2 0 podłużne minimum (np. wklęsła granica między 2 ziarnami), Jeśli 1 0 , 2 0 podłużne minimum (np. wklęsła granica między 2 ziarnami), Jeśli 1 0 , 2 0 podłużne maksimum (np. wypukła krawędź 2 ścian ziarna na jego górnej powierzchni), Jeśli 1 0 , 2 0 podłużne maksimum (np. wypukła krawędź 2 ścian ziarna na jego górnej powierzchni), Jeśli 1 0 2 0 punkt siodłowy (np. 2 ziarna stykające się na niewielkim obszarze – może być zaliczone do przestrzeni międzyziarnowej), Jeśli 1 0 , 2 0 punkt siodłowy (np. 2 ziarna stykające się na niewielkim obszarze – może być zaliczony do przestrzeni międzyziarnowej). 3. REGUŁY KLASYFIKACJI POSZCZEGÓLNYCH PIKSELI OBRAZU 4. PRZYKŁAD OBLICZENIOWY Wartość gradientu luminancji G Fx2 Fy2 oraz wartości własnych hesjanu luminancji pozwalają jednoznacznie klasyfikować wiele punktów obrazu Dla ilustracji opisanej powyżej metody klasyfikacyjnej przedstawiono przykłady analizy, prze- MECHANIZACJA I AUTOMATYZACJA GÓRNICTWA 10 prowadzonej i zwizualizowanej za pomocą programu Matlab™. Dla zapewnienia większej szybkości obliczeń, procedury obliczeniowe zostały napisane w języku Visual C w postaci MEXplików [3],[4], co jednocześnie ułatwić może ich dalszą integrację w systemie docelowym, pracującym w czasie rzeczywistym. Rys. 4. Zacienione obszary wklęsłe dla obrazu z Rys. 1 WNIOSKI Rys. 1. Przykładowy obraz materiału ziarnistego Rys. 2. Podłużne minima luminancji dla obrazu z Rys. 1 Podstawowym elementem segmentacji obrazów materiału ziarnistego jest wyznaczenie podłużnych minimów luminancji. Istotną rolę odgrywają także inne punkty, a zwłaszcza zacienione obszary wklęsłe – położone między kilkoma ziarnami oraz punkty siodłowe w obszarach bezpośredniego styku dwóch sąsiadujących ze sobą ziaren. Ich wyodrębnienie jest niezbędne dla zapewnienia ciągłości wyznaczanych konturów poszczególnych ziaren. Klasyfikacja punktu możliwa jest jednak dopiero na podstawie analizy jego bezpośredniego otoczenia (dwuwymiarowego okna pomiarowego o określonym rozmiarze). Takie otoczenie najdogodniej aproksymować funkcją sześcienną o współczynnikach wyznaczanych za pomocą ortogonalnych wielomianów bazowych. Literatura 1. 2. 3. 4. Lopez A.M, Lumbreras F., Serrat J.: Evaluation of methods for ridge and valley detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, April 1999. Eberly D., Gardner R., Morse B., Pizer S., Scharlach C.: Ridges for image analysis. Journal of Mathematical Imaging and Vision, 4:353-373 (1994). Matlab® 7 External Interfaces. The MathWorks 2008. Matlab® 7 C and Fortran API Reference. The MathWorks 2008. Recenzent: dr inż. Roman Kaula Rys. 3. Punkty siodłowe luminancji dla obrazu z Rys. 1