• Nie Znaleziono Wyników

Zmodyfikowana metoda segmentacji obiektów

W dokumencie Index of /rozprawy2/10579 (Stron 105-111)

6. Implementacja operacji analizy obrazu na przykładzie zaawansowanej generacji tła

6.5. Zaproponowane i zrealizowane metody generacji tła i segmentacji obiektów

6.5.2. Zmodyfikowana wersja wielowariantowej generacji tła z segmentacj ˛ a na podsta-

6.5.2.3 Zmodyfikowana metoda segmentacji obiektów

W opisanej w rozdziale 6.5.1.3 metodzie segmentacji obiektów, opartej o integracj˛e trzech cech: jasno´sci, koloru i tekstury, wykorzystano deskryptor teksturowy SILTP, który wybrano na podstawie wyników opisanych w pracy [142]. W toku prowadzonych przez autora rozprawy prac badawczych, zwi ˛azanych z projektem dotycz ˛acym zaawansowanego monitoringu wizyjnego, wykonano szereg ekspe-rymentów zwi ˛azanych z deskryptorami teksturowymi. Wyniki tych bada´n pokazywały, ˙ze istniej ˛a inne ni˙z SILTP operatory maj ˛ace zastosowanie w zagadnieniu redukcji cienia i dlatego zdecydowano si˛e prze-prowadzi´c analiz˛e deskryptorów opisanych w literaturze. Ich działanie zilustrowano wykorzystuj ˛ac scen˛e zaprezentowan ˛a na rysunku 6.17.

a) b)

Rysunek 6.17: Scena u˙zyta do demonstracji działania deskryptorów teksturowych. a) aktualna scena, b) model tła. Sekwencja pochodzi z bazy [62]

Analizowane deskryptory teksturowe:

a) lokalne odchylenie standardowe — obliczane w oknie o rozmiarze N ×N , osobno dla sceny i modelu tła, nast˛epnie wyliczany jest moduł z ró˙znicy, rysunek 6.18a.

T. Kryjak Implementacja zaawansowanych algorytmów przetwarzania, analizy i szyfrowania obrazów w układach reprogramowalnych

6.5. Zaproponowane i zrealizowane metody generacji tła i segmentacji obiektów 102

b) lokalny zakres (ang. range) — obliczany w oknie o rozmiarze N ×N , operator zwraca ró˙znic˛e mi˛edzy maksymaln ˛a, a minimaln ˛a warto´sci ˛a z okna, wyliczany jest osobno dla sceny i modelu tła, nast˛epnie obliczany jest moduł z ró˙znicy, rysunek 6.18b.

c) lokalna entropia — obliczana w oknie o rozmiarze 9 × 9, osobno dla sceny i modelu tła, nast˛epnie obliczany jest moduł z ró˙znicy, rysunek 6.18c.

d) operator Sobela — wyznaczane s ˛a dwie mapy — moduł z ró˙znicy amplitudy i moduł z ró˙znicy kie-runku: por. odpowiednio rysunki 6.18d i e.

e) znormalizowana korelacja wzajemna (ang. Normalized Corss Correlation — NCC) — miara za-proponowana w pracy [68], przy czym zastosowanie wzoru podanego w pracy nie prowadziło do poprawnych wyników. Dlatego zdecydowano si˛e wykorzysta´c posta´c:

N CC(i, j) = ER(i, j)

N · N · σI(i, j) · σB(i, j) (6.19)

ER(i, j) = X

(n,m)∈N ×N

(I(n, m) − ¯I(i, j)) · (B(n, m) − ¯B(i, j)) (6.20)

gdzie: N — rozmiar otoczenia, σ — lokalne odchylenie standardowe (dla sceny i modelu tła), I — scena, B — model tła, ¯I — lokalna ´srednia dla sceny, ¯B — lokalna ´srednia dla tła.

Metoda podzielona jest na dwa etapy: wyznaczenie współczynnika i wytypowanie na tej podsta-wie kandydatów na cie´n oraz faz˛e poprawy wyników. Kandydat na cie´n okre´slany jest na podstapodsta-wie dwóch warunków: musi by´c ciemniejszy na scenie ni˙z w modelu tła oraz współczynnik NCC po-winien by´c wi˛ekszy ni˙z zadany próg (co oznacza wzgl˛ednie du˙z ˛a korelacj˛e mi˛edzy scen ˛a a tłem). Weryfikacja cienia nast˛epuje na podstawie analizy lokalnego odchylenia standardowego stosunku ja-sno´sci sceny do modelu tła (współczynnik R). Korzysta si˛e tu z zało˙zenia, ˙ze cie´n stanowi jednorodny obszar (cho´c własno´s´c ta równie˙z dotyczy niektórych obszarów nale˙z ˛acych do obiektów). Dodatkowo sprawdzana jest warto´s´c współczynnika R — powinna ona si˛e mie´sci´c w zadanym zakresie. Przykła-dowa mapa NCC zamieszczona została na rysunku 6.18f.

f) znormalizowana ró˙znica gradientów (ang. Normalized Gradient Difference NGD) — miara zapropo-nowana w pracy [102], wykorzystuje gradienty i dana jest wzorem:

R(i, j) = 1 − P (n,m)∈N ×N 2 · k∇I(n, m)k · k∇B(n, m)k · cos(θ)(n,m) P (n,m)∈N ×N k∇I(n, m)k2+ k∇B(n, m)k2 (6.21)

gdzie: ∇I — gradient Sobela (poziomy i pionowy) dla bie˙z ˛acej ramki, ∇B — gradient Sobela (po-ziomy i pionowy) dla modelu tła, kk oznacza amplitud˛e, a θ k ˛at pomi˛edzy ∇I a ∇B, (i, j) — współ-rz˛edne analizowanego piksela (piksel centralny), (n, m) — otoczenie piksela o rozmiarze N × N . Przykład działania zaprezentowano na rysunku 6.19a.

6.5. Zaproponowane i zrealizowane metody generacji tła i segmentacji obiektów 103

g) LBP (ang. Local Binary Pattern) — miara zaproponowana w pracy [127]. Koncepcja polega na ana-lizie otoczenia piksela w postaci okr˛egu o zadanym promieniu i liczbie punktów — przykładowo otoczenie o promieniu 1 i liczbie punktów 8 odpowiada masce 3 × 3. Otoczenie to jest binaryzowane lokalnie z progiem w postaci elementu ´srodkowego. Po obliczeniu miary LBP dla sceny i modelu tła, warto´sci dla odpowiadaj ˛acych pikseli s ˛a porównywane na zasadzie operatora XOR. Szerszy opis deskryptora znajduje si˛e w rozdziale 7.2.1. Przykład mapy odległo´sci zaprezentowano na rysunku 6.19b.

h) SILTP (ang. Scale Invariant Local Ternary Pattern) — miara zaproponowana w pracy [142]. Szerszy opis zamieszczono w rozdziale 6.5.1.4. Przykład zaprezentowano na rysunku 6.19c.

i) RD — miara okre´slona jako ró˙znica pomi˛edzy współczynnikami kraw˛edziowymi dla ramki i tła [194]. Dana jest wzorem:

RDD(i, i) = X (m,n)∈N ×N  B(i, j) B(m, n) I(i, j) I(m, n) 2 (6.22)

gdzie: I — bie˙z ˛aca ramka, B — model tła, (i, j) — współrz˛edne analizowanego piksela (piksel cen-tralny), (m, n) — otoczenie piksela o rozmiarze N × N . W pracy wykorzystywana jest ponadto znormalizowana wersja tego współczynnika (wyprowadzenie znajduje si˛e w cytowanej pracy). Przy-kład zaprezentowano na rysunku 6.19d.

j) współczynnik Sanin — zaproponowany w pracy [153]. Wykorzystuje amplitud˛e gradientu Sobela i dany jest wzorem:

∆θp= arccos   ∇I xB x + ∇IyB y q (∇I x 2 + ∇I y 2 )(∇B x 2 + ∇B y 2 )   (6.23)

gdzie: ∇x — oznacza gradient poziomy, ∇y — gradient pionowy dla tła (B) lub sceny (I). Przykład zamieszczono na rysunku 6.19e.

Na postawie analizy, przeprowadzonej równie˙z na obrazach innych ni˙z wy˙zej zaprezentowane, mo˙zna stwierdzi´c, ˙ze:

– operatory: lokalne odchylenie standardowe, lokalny zakres, ró˙znica gradientów Sobela, SILTP daj ˛a w efekcie do´s´c podobne wyniki w postaci detekcji kraw˛edzi. Ró˙znica wyst˛epuje jedynie w grubo-´sci wykrywanych brzegów,

– współczynnik NCC — znormalizowana korelacja pomi˛edzy obrazem a tłem — do´s´c dobrze uwy-pukla ró˙znice, niestety jest podatna na szum,

– współczynnik NGD — dobrze oddziela posta´c od tła, wykryta jest te˙z cz˛e´s´c wn˛etrza a nie tylko brzegi,

– współczynniki: kierunek gradientu Sobela, LBP i Sanin — w omawianym zastosowaniu (przy braku bardzo wyra´zniej tekstury) s ˛a raczej nieprzydatne, gdy˙z cechuje je wysoka podatno´s´c na szum.

T. Kryjak Implementacja zaawansowanych algorytmów przetwarzania, analizy i szyfrowania obrazów w układach reprogramowalnych

6.5. Zaproponowane i zrealizowane metody generacji tła i segmentacji obiektów 104

a) b) c)

d) e) f)

Rysunek 6.18: Operatory teksturowe. a) lokalne odchylenie standardowe, b) lokalny zakres, c) lokalna entropia, d) gradient Sobela — amplituda, e) gradient Sobela — kierunek, f) NCC

a) b) c)

d) e)

Rysunek 6.19: Operatory teksturowe. a) NGD, b) LBP, c) SILTP, d) RD, e) Sanin 2010

W dalszych badaniach wymienione deskryptory teksturowe przetestowano na zbiorze Wallflower (por. rozdział 6.5.2.1). Metodologia testów była nast˛epuj ˛aca. Wykorzystano programowy model algo-rytmu generacji tła i segmentacji obiektów z pierwszego planu. Zaimplementowano w j˛ezyku C++ funk-cje obliczaj ˛ace poszczególne deskryptory teksturowe. Nast˛epnie, dla ka˙zdej sekwencji ze zbioru Wallflo-wer, zmieniaj ˛ac wykorzystywany deskryptor, generowano mask˛e obiektów oraz obliczano miary F1 i S (por. rozdział 6.5.2.1). Zestawiono je w postaci graficznej na rysunku 6.20. Analiza otrzymanych danych pokazuje, ˙ze NGD w ka˙zdym z przypadków jest jednym z trzech najlepszych, przy czym analogicz-nej wła´sciwo´sci nie posiada ˙zaden z pozostałych deskryptorów. Uwzgl˛edniaj ˛ac zaprezentowane wyniki, zdecydowano si˛e wykorzysta´c deskryptor NGD w docelowej aplikacji.

6.5. Zaproponowane i zrealizowane metody generacji tła i segmentacji obiektów 105

Rysunek 6.20: Ewaluacja ró˙znych deskryptorów teksturowych na bazie Wallflower

Zaimplementowany moduł stanowi realizacj˛e równania (6.21) z pewnymi modyfikacjami. Wzór ten mo˙zna rozpisa´c jako:

R(i, j) = 1 − 2 ∗ CS12 CS11· CS22 (6.24) gdzie: CS12= X (n,m)∈N ×N ((SxI(n, m) · SxB(n, m)) + (SyI(n, m) · SyB(n, m)) (6.25) CS11= X (n,m)∈N ×N ((SxI(n, m) · SxI(n, m)) + (SyI(n, m) · SyI(n, m)) (6.26) CS22= X (n,m)∈N ×N ((SxB(n, m) · SxB(n, m)) + (SyB(n, m) · SyB(n, m)) (6.27)

gdzie: SxI,B— gradient Sobela poziomy dla bie˙z ˛acej ramki lub tła, SyI,B— gradient Sobela pionowy dla bie˙z ˛acej ramki lub tła, (n, m) — punkty z otoczenia piksela, rozmiar otoczenia N × N (w badaniach i implementacji sprz˛etowej przyj˛eto N = 5).

Warto´s´c R znormalizowano do zakresu [0; 1], tj. w przypadku, gdy iloraz z równania (6.24) byłby mniejszy od zera, za R przyjmowano warto´s´c R = 1. W pracy [102] stwierdzono, ˙ze współczynnik NGD nie jest miarodajny w jednorodnych obszarach i wprowadzono wag˛e dla tego współczynnika okre´slon ˛a wzorem: gp(i, j) = max p r 1 M · Cpp(u), p = 1, 2 (6.28)

T. Kryjak Implementacja zaawansowanych algorytmów przetwarzania, analizy i szyfrowania obrazów w układach reprogramowalnych

6.5. Zaproponowane i zrealizowane metody generacji tła i segmentacji obiektów 106

Tabela 6.7: U˙zycie zasobów FPGA przez zmodyfikowany moduł segmentacji (Virtex 6 LX 240T) Rodzaj U˙zyte Dost˛epne Procent

zasobu w aplikacji w układzie wykorzystanych FF 3450 301440 1 % LUT 6 2624 150720 1 %

DSP 48 0 0 0 %

BRAM 18 36 832 4 %

gdzie: M — liczba pikseli w oknie M = 25, Cpp— warto´s´c z równania (6.26) lub (6.27). Ostateczna waga wyliczana była na podstawie zale˙zno´sci:

G =    1 je´sli gp(i, j) > T gp(i, j)/T w p.p. (6.29) gdzie: T — próg.

Schemat blokowy zaproponowanego modułu zaprezentowano na rysunku 6.21. SxF SyB SxB SyF X X X X X X R R R C11 C22 C12 KONTEKST 5x5 KONTEKST 5x5 KONTEKST 5x5 25)do)1 SUMACJA 25)do)1 SUMACJA 25)do)1 SUMACJA C11_S C22_S C12_S jeśli)rg)>)T)< G)=)1; w)pIpI G=gVT jeśli))rr)<)*)< R)=)1; w)pIpI R=1Dr X dT G R DIV)25 DIV)25 MAX 20C12_S C11_SRC22_S

Rysunek 6.21: Schemat blokowy modułu realizuj ˛acego obliczanie deskryptora teksturowego NGD Wej´scie stanowi ˛a transmitowane potokowo gradienty Sobela dla bie˙z ˛acej ramki i modelu tła. Nast˛ep-nie obliczana jest korelacja wzajemna i autokorelacja gradientów (CS11, CS22, CS12), jako sumowanie wyników odpowiednich mno˙ze´n. W kolejnym kroku wyznaczana jest suma obliczonych współczynni-ków w oknie o rozmiarze 5×5. Wykorzystano schemat kontekstu oparty o linie opó´zniaj ˛ace (por. rozdział 4.3.1) oraz drzewo sumacyjne (25 do 1) zrealizowane w sposób potokowy. Wyniki sumowania stanowi ˛a wej´scie do modułu obliczaj ˛acego parametry R i G, w którym u˙zyto operacji dzielenia i pierwiastka kwadratowego (w implementacji wykorzystano moduły z biblioteki Xilinx IP Core Generator). W ostat-nim kroku parametry R i G s ˛a przekształcane, w zale˙zno´sci od progów oraz mno˙zone przez siebie, by uzyska´c warto´s´c dT deskryptora NGD.

Schemat nowego modułu segmentacji jest analogiczny jak zaprezentowany na rysunku 6.4. Jedyne ró˙znice to zamiana elementu SILTP na NGD oraz pomini˛ecie normalizacji operatora teksturowego (re-zultat NGD jest z zakresu [0;1]). U˙zycie zasobów FPGA dla zmodyfikowanego modułu zaprezentowano w tabeli 6.7.

6.5. Zaproponowane i zrealizowane metody generacji tła i segmentacji obiektów 107

W dokumencie Index of /rozprawy2/10579 (Stron 105-111)