FILTRACJA OBRAZÓW KONTUROWYCH ZA POMOC¥ KRO

Transkrypt

FILTRACJA OBRAZÓW KONTUROWYCH ZA POMOC¥ KRO
FILTRACJA OBRAZÓW
KONTUROWYCH ZA POMOCĄ KRO1
M. Grzegorek, W. S. Mokrzycki*
IPI PAN, Zespół Grafiki i Przetwarzania Obrazów, 01-237 Warszawa, Ordona 21,
*
oraz IASD WAT, 00-908 Warszawa, Kaliskiego 2
mary,[email protected]
STRESZCZENIE:
Opracowanie dotyczy pewnego mechanizmu przetwarzania obrazów gradientowych zwanego Krzywą
Redukcji Obrazu (KRO). KRO to rodzaj operatora brzegowego który umożliwia ''czyszczenie'' obrazu
gradientowego w/g automatycznie dobranego progu, zależnego od wartości zmian w tym obrazie.
Znormalizowane krzywe KRO wykazują podobieństwo dla: różnych typów obrazów, różnych jasności i
kontrastów oraz różnego przetwarzania wstępnego obrazu. Mają cechy wspólne oraz powtarzające się
elementy. Pewne punkty KRO mogą służyć jako watrości progów dla ''czyszczenia''.
Słowa kluczowe: obraz, obraz gradientowy, filtracja gradientowa, automatyczna detekcja konturów.
1. WSTĘP
Przyjmijmy, że obraz cyfrowy jest macierzą punktów z przypisanymi wartościami
funkcji jaskrawości. Wówczas obraz brzegowy jest dwuwartościową macierzą punktów,
o rozmiarze takim samym jak obraz (cyfrowy): jedna wartość oznacza wystąpienie
brzegu w tym pikslu, druga -- wystąpienie nie-brzegu, piksla tła lub wnętrza ściany
obiektu. Operator brzegowy, przekształcając wejściowy obraz w obraz brzegowy czyni
to tak, że piksle oznaczone jako brzegowe są związane z widocznymi krawędziami
obiektów sceny, przedstawionej na obrazie. Detekcja brzegów opiera się bowiem na
założeniu, że granice obiektów ujawniają się jako zmiany jaskrawości obrazu.
Przyjmuje się, że brzegi odpowiadają krawędziom obiektów występujących w scenie i
wyrażają się w obrazie dużymi nagłymi zmianami funkcji jaskrawości.
KRO, [3], jest to pewna funkcja, która umożliwia automatyczne ''czyszczenie''
obrazu gradientowego (konturowego). Jest oparta na następującej zależności: jest to
proporcja liczby piksli, w których zachodzą zmiany intensywności (jaskrawości) w
obrazie o poziomie większym od pewnego progu (zmian intensywności), do wartości
tego progu. Możliwa optymalność i automatyzm działania (które w niskopoziomowym
przetwarzaniu obrazów ciągle są problemem) wynika z faktu, że na tej krzywej znajdują
się pewne charakterystyczne punkty, które odgrywają szczególną rolę w morfologii
obrazów. Dlatego KRO może być uważana za detektor brzegu, który sam ustala sobie
optymalne parametry, w zależności od tego, jaki jest zakres zmian jaskrawości w
obrazie.
1
Badania by³y czêœciowo finansowane z grantu KBN nr 8T11C04912 pt. “Aktywne stereowidzenie w
zastosowaniu do identyfikacji kszta³tów i relacji przestrzennych”
Autorzy [2] uważają, że porównanie jakości działania detektorów brzegów wymaga
wzorca. Najczęściej jest on wykonany specjalnie do tych celów i dokonywane oceny
jakościowe ograniczają się do obrazów syntetycznych. Lecz dla obrazów naturalnych
powstają wątpliwości co do słuszności takiego podejścia. Dla obrazów naturalnych
wykorzystywanych w systemach wizualnych, możnaby oceniać detektory na podstawie
działania całego systemu wizualnego, z różnymi operatorami brzegowymi, bowiem
detektor brzegów jest zawsze pierwszym modułem tego typu systemów i od jakości
jego działania zależy w dużym stopniu powodzenie działania całego systemu. Jednakże
jedynym istniejącym, kompletnym i łatwo dostępnym rozpoznającym obiekty systemem
wizualnym jest wzrok człowieka, również nie zestandaryzowany. Stąd ocena działania
detektorów czy to jako ocena końcowa całego systemu wizualnego, czy jako
bezpośredni wynik działania jedynie samego detektora jest subiektywna, różna dla
różnych ludzi i zależna od doboru obrazów.
W związku z tym ważniejsze wydaje się szybkie optymalne i automatyczne
ograniczenie liczby przetwarzanych piksli, [4], wykonanie na nich dalszych operacji
detekcji brzegu, a następnie uzupełnienie znalezionych konturów przez powrót do
informacji zawartej w obrazie lub kompletowanie konturów z wykorzystaniem wiedzy
o zadaniu lub/i o scenie.
2. KRZYWA REDUKCJI OBRAZU
2.1. WYZNACZANIE KRO
Jak już wspominaliśmy, KRO jest wykresem następującej proporcji: liczba piksli
obrazu, w których zachodzą zmiany jaskrawości o poziomie większym od ustalonego
progu (progu zmian jaskrawości), do wartości tego progu.
Obliczanie KRO wykonuje się w ten sposb, że do obrazu początkowego stosuje się
operator Sobela lub inny operator gradientowy. Dla wszystkich piksli obrazu znane są
wtedy wartości modułu gradientu funkcji jaskrawości tworzące obraz gradientowy
(konturowy). Następnie wylicza się punkty krzywej KRO jako zależność liczby piksli
na obrazie, w których wartość modułu gradientu jest wyższa od pewnej wartości - progu
gradientu modułu, od tego progu modułu. Zmienną niezależną jest moduł gradientu
jaskrawości. Wartości tego modułu są liczbami rzeczywistymi, zawartymi między zero i
maksymalną (dla tego obrazu) wartością modułu gradientu. Dla każdej liczby naturalnej
z tego przedziału, zlicza się piksle, w których wartość jest ponad progiem odcięcia. Na
rys. 1. pokazano krzywą redukcji dla obrazu z rys. 2.
Rys. 1. KRO (nieznormalizowana). Na osi poziomej odkładane są wartości modułu gradientu (w
zakresie, w jakim zmieniają się w danym obrazie); na osi pionowej liczba piksli w obrazie, w których
wartość modułu gradientu jest większa od wartości progu odcięcia.
2.2. WŁAŚCIWOŚCI KRO
Dla przebadania i porównania KRO dla różnych typów obrazów oraz określenia jej
właściwości, normalizujemy krzywą: na osi poziomej odkładamy względną wartość
modułu gradientu, odniesioną do maksymalnej jego wartości (rys. 2.). Zawiera się ona
teraz w zakresie od 0 do 100% wielkości maksymalnej modułu gradientu. Liczbę piksli
w obrazie, w których gradient jest większy od zadanego progu (''czarne'' piksle)
normalizuje się, odnosząc ją do liczby wszystkich piksli w obrazie.
Rys. 2. Obraz początkowy i jego znormalizowana KRO. Na osi pionowej umieszczamy procentowe
ilości piksli ponad danym progiem. Podziałka zaznaczana jest co 10%. Punkty krzywej odpowiadające
progom p0, p1, p2, p3 oznaczone są iksem.
Tak przekształcone (znormalizowane) krzywe przyjmują postać dogodną do ich
porównań dla: różnych typów obrazów, różnych jasności i kontrastów oraz
przetwarzania wstępnego, [3]. Dla porównania pokazano KRO dla innego obrazu
testowego (rys. 4.).
Krzywe KRO wykazują podobieństwo i cechy wspólne. Podobieństwo występuje
dla:
• wszystkich używanych przez nas do tej pory (5-ciu) operatorów gradientowych,
• wszystkich obrazów uzyskanych za pomocą systemu kamerowego
• wstępnej filtracji filtrem gaussowskim o różnym parametrze σ
Krzywe mają powtarzające się elementy; można je podzielić na odcinki na podstawie
charakterystycznego zachowania się krzywej (zmian szybkości spadku krzywej):
• odcinek największego spadku krzywej,
• odcinek o największej krzywiźnie,
• odcinek rozprostowania krzywej.
W związku z tym na krzywej można wyróżnić pewne punkty: s0, s1, s2 i s3 (rys. 2.) -punkty charakterystyczne, które mogą służyć jako watrości pewnych progów dla
modułów gradientów, wydają się być znaczące dla analizy KRO, a także można -- w
oparciu o nie, wysunąć pewne wnioski dotyczące morfologii obrazu, którego ta krzywa
dotyczy.
Punkt s0 odpowiada wartości modułu gradientu równej zero i związany jest z punktem
na krzywej o maksymalnej wartości (100%) na osi rzędnych. Jest to stały punkt dla
wszystkich krzywych. Próg p0 oznacza wartość zerową progu odcięcia: wszystkie
''zaczernione'' piksle leżą ponad progiem i są widoczne w obrazie konturowym.
Punkt s1 jest nazywany punktem największego spadku krzywej (lub punktem
przegięcia krzywej). Na osi x odpowiada mu próg p1 w miejscu, gdzie styczna do
krzywej przecina oś poziomą.
Odcinek rozprostowania krzywej umożliwia wyznaczenie innego wyróżnionego
punktu progowego - punktu s3. Krzywa na tym odcinku przechodzi w prostą. Punkt ten
wyznacza się w następujący sposób: do krzywej w miejscu jej minimalnego nachylenia
konstruowana jest styczną. Styczna ta przecina oś y w punkcie, który wyznacza ilość (w
%) piksli nie wystających ponad próg i odpowiada punktowi s3 rozprostowania krzywej.
Punkt ten wyznacza na osi x progowy punkt p3.
Między punktami s1 i s3 leży odcinek, gdzie krzywa przechodzi z fazy o dużym
spadku do fazy małych zmian. Punkt maksymalnej krzywizny krzywej, leży właśnie
między punktami s1 i s3. Na tym jej odcinku, leżącym w zakresie progów p1 i p3,
poszukiwany jest charakterystyczny punkt s2, w którym KRO osiąga maksimum
krzywizny. Odpowiada mu wartość progu odcięcia p2.
2.3. REDUKCJA OBRAZU ZA POMOCĄ KRO
KRO można wykorzystać do automatycznej redukcji (''czyszczenia'') obrazu
konturowego - zadając jedynie numer progu (p1, p2 lub p3). W tym celu, mając obraz
konturowy, należy:
1. obliczyć (wyznaczyć) KRO,
2. obliczyć (wskazany) próg czyszczenia,
3. ''wyzerować'' wszystkie piksle w obrazie gradientowym, w których moduł gradientu
nie przekracza wybranego progu.
Działanie KRO jako ''reduktora'' konturów jest pokazane na rys. 3., na którym są
przedstawione obrazy konturów, ilustrujące wynik progowania różnymi wartościami
progu. Kolor biały oznacza piksle ''wyczyszczone'' z obrazu (nie przekraczjące progu),
kolor czarny - piksle pozostawione w obrazie (o wartościach modułu ponad progiem).
Im wyższa wartość progu, tym mniejsza liczba piksli pozostaje w obrazie: dla
wartości progu równej zero, prawie wszystkie piksle znajdą się powyżej progu; 100%
odpowiada całkowitej liczbie piksli w obrazie; dla wartości progu równej
masymalnemu modułowi gradientu - moduły we wszystkich pikslach znajdą się poniżej
progu i w obrazie nie pozostaną żadne piksle; w położeniach pośrednich liczba piksli
ponad progiem zawarta jest między (prawie) całkowitą liczbą piksli w obrazie a zerem.
Interpretacja ''czyszczenia'' obrazu konturowego za pomocą KRO może być
następująca: przy przechodzeniu od mniejszych wartości progów do większych,
szybkość zmian ilości piksli pozostających w obrazie znacznie się różni. Dla małych
wartości modułów jest ona bardzo duża. W obrazie jest bardzo dużo piksli, w których
zachodzą zmiany jaskrawości, jednak są one minimalne. Stąd małe zmiany wartości
modułu powodują duży stopień redukcji ''zaczernionych'' piksli obrazu. Pomiędzy
wartościami progów p1 i p3 szybkość zmian staje się wolniejsza. Małe zmiany w tym
zakresie nie powodują tak dużych redukcji obrazu. Pozwala to przypuszczać, że
zniknęły z obrazu kontury przypadkowe, mało znaczące, a pozostały stabilne, które
mają naturę niezależną od stosowania metody ich wykrywania. Dla wartości modułów
powyżej trzeciego progu, szybkość ''czyszczenia'' obrazu jest bardzo niska, mało
przydatna do dokładnego określania progu modułu gradientu, zwłaszcza zaś
automatyzacji tej czynności.
Rys. 3. Obrazy gradientowe przed i po ''czyszczeniu'' obrazu z rys. 2. w/g progów p1, p2, p3.
2.4. BRZEGI A CHARAKTERYSTYCZNE ODCINKI KRZYWEJ
Można znaleźć zależności między opisanymi odcinkami KRO i wartościami progów
a wyglądem obrazu brzegowego, tworzonego przez piksle ''zaczernione'': granice
odcinka największego spadku krzywej stanowią punkty s0 i s1, wyznaczone
wielkościami progów odcięcia p0 i p1. p0 jest dolnym ograniczeniem zakresu wartości
progowych dla tego odcinka krzywej. Drugim punktem granicznym jest punkt p1,
wyznaczony przez styczną do krzywej, przecinającą oś x pod największym kątem.
Obraz konturowy, zredukowany w/g progu p1, zawiera mnóstwo piksli z niewielką
zmianą jaskrawości (''śmieci'') -- piksli nie powiązanych z brzegami, ale wynikających z
przypadkowych zmian funkcji jasności tła. Same brzegi mają znaczną grubość (rys. 3).
Odcinek rozprostowania krzywej wyznaczony jest zakresem wartości progu p3 i
wartością maksymalną (100%). Charakteryzuje się on małymi zmianami liczby piksli
usuwanych z obrazu przy zwiększaniu wartości progu. Ten przedział charakteryzuje się
procesem destrukcji (wymazywania) obrazu -- aż do całkowitego ''wyczyszczenia''
piksli dla progu 100%: brzegi są dużo cieńsze a przez to (co prawda) lepiej określone,
ale też występuje w nich wiele długich przerw. ''Zaczernione'' piksle tła są prawie
całkowicie wyeliminowane.
Odcinek o największej krzywiżnie odpowiada wartościom progu zawartym między
punktami p1 i p3. Jest to odcinek, gdzie krzywa wykazuje radykalną zmianę zachowania
się liczby redukowanych piksli przy przesuwaniu progu wzdłuż osi x. Krzywa
przechodzi z fazy o dużym spadku do fazy małych zmian. Sądzimy, że w tym
przedziale należy szukać optymalnego progu, dla którego dwie przeciwstawne
tendencje: wymazywania obrazu i wymazywania ''śmieci'' są utrzymane na
dopuszczalnym poziomie. Punkt p2 wydaje się być optymalym progiem do
automatycznego ''czyszczenia'' obrazu z konturów przypadkowych, nie
odpowiadających treści obrazu.
3. WPŁYW TYPU OBRAZU NA PRZEBIEG KRO
W naszych badaniach poszukiwaliśmy również związku między typem obrazu i
przebiegiem KRO. Do badań zostały użyte różne typu obrazów (z teksturą i bez, z
różnym stopniem wypełnienia powierzchni obrazu, obrazy kontrastowe i
niekontrastowe). Jedne z nich mają tło z regularną teksturą (siatka prostokątna z różną
wielkością oczek), inne mają gładkie tło.
Rys. 4. Obraz testowy kom_p i jego KRO.
KRO dla różnych obrazów tego samego typu są podobne co do przebiegu i
charakteru zmian krzywej. Odmienne w małym stopniu są jej pewne cechy, zależnie od
ilości obiektów w scenie i ich urozmaicenia (np. występowanie faktury w tle). Im
bardziej scena jest wypełniona obiektami, tym łagodniejszy przebieg ma krzywa w
miejscu maksymalnej krzywizny i przy wyższych wartościach liczby piksli ponad
progiem rozprostowuje się.
Im więcej obiektów w obrazie, tym bardziej krzywa odsuwa się od początku układu
współrzędnych. Wydaje się, że to odsuwanie jest związane z długością brzegów
obiektów oraz długością brzegów tekstury. Potwierdza się to zachowaniem się krzywej
w serii obrazów z teksturą, gdzie KRO jest mocno odsunięta od punktu (0,0). Grubość
brzegów jest przeważnie zależna od wartości progu. Dla obrazów testowych podane
zostały przebiegi KRO, rys. 2. i 4. (bez wprowadzania wygładzania wstępnego).
4. WPŁYW WSTĘPNEJ FILTRACJI OBRAZU NA PRZEBIEG KRO
Wstępną filtrację obrazu wykonuje się zwykle za pomocą filtru gaussowskiego, stąd
nasze badania dotyczyły takiej właśnie filtracji i jej wpływu na przebieg KRO.
Braliśmy pod uwagę różne wartości parametru σ i różne typy obrazów, [5]. Dla
każdego obrazu zostały sporządzone wykresy KRO z uwzględnieniem zmiennego
parametru σ filtru Gaussa. Na ilustracji zostały naniesione wszystkie krzywe z
parametrem σ z wybranego zakresu, tak, że można porównać przebieg krzywych KRO
dla kolejnych wartości tego parametru.
Na krzywych KRO zaznaczone są znalezione dla nich położenia progu redukcji p2.
Parametr σ przybiera wartości: 0 ( bez filtracji, oraz 10 wartości między 0.5 i 1.4 z
krokiem 0.1 (rys. 5. i 6.).
Rys. 5. Obraz oryginalny z05_l i KRO z różnymi parametrami σ.
Im większa wartość σ tym krzywa leży wyżej. Dla fragmentów krzywej z przedziału
o większych wartościach progów oraz o większych ilościach piksli ponad progiem
(początkowa i końcowa faza przebiegu KRO), krzywe leżą blisko siebie. Natomiast w
środkowej części krzywe oddalają się od siebie. Odległości między krzywymi rosną
wraz ze stopniem skomplikowania sceny (ze wzrostem liczby obiektów sceny).
Na obrazach mających za tło teksturę, krzywe wychodzą z jednego punktu (100%
piksli ponad progiem), rozchodzą się, następnie przecinają się w okolicach pewnego
punktu (bliskiego punktowi s1), rozsuwają się w okolicy, gdzie leżą punkty progowe s2,
w pobliżu osi x przecinają sie drugi raz i przechodzą w płaską część krzywych, mniej
lub bardziej odległych od siebie. Pęki niektórych krzywych przecinają się w sąsiedztwie
pewnych punktów lub poszczególne linie przecinają się wzajemnie na pewnym
obszarze. W środkowej części wykresu, międzu punktami przecięcia, KRO o
mniejszych wartościach parametru σ leżą niżej, w pozostałych przedziałach wyżej.
Rys. 6. Obraz oryginalny sc24_p i KRO z różnymi parametrami σ.
5. PODSUMOWANIE
Przeprowadzone badanie możliwości wykorzystania KRO pozwalają wysunąć
wniosek o dużej skuteczności proponowanej metody filtracji obrazów konturowych.
Zaletą metody jest automatyczny dobór progu ''czyszczenia'' tła. Metoda jest skuteczna
dla dużej klasy obrazów. Ponadto z kształtu KRO można wnioskować o pewnych
cechach obrazu, na przykład o wypełnieniu sceny.
LITERATURA
[1]. Mokrzycki W.: Encyklopedia Przetwarzania Obrazów. Akademicka Oficyna Wydawnicza,
Warszawa.
1996
[2] Heath, M., Sarkar, S., Sanocki, T., Bowyer, K.: Comparison of edge detectors: a methodology and
initial study. Proc. CVPR'96, San Francisco, June.
[3] Grzegorek M., Mokrzycki W.,: Algorytm gradientowej detekcji konturów na obrazie z
autonomicznym doborem pułapu tła. Raport Prace IPI PAN, nr 824, Warszawa.
1997
[4] Grzegorek M., Mokrzycki W.,: Detekcja i kompletowanie konturów. III Sympozjum Naukowe:
Techniki Przetwarznia Obrazu - referaty i komunikaty, str. 209 - 217.
1998
[5] Grzegorek M., Mokrzycki W.: Eksperymenty z Krzywą Redukcji Obrazu Prace IPI PAN, nr 872,
Warszawa.