• Nie Znaleziono Wyników

Zrealizowane jednowariantowe metody generacji tła i segmentacji obiektów

W dokumencie Index of /rozprawy2/10579 (Stron 117-123)

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.3. Zrealizowane jednowariantowe metody generacji tła i segmentacji obiektów

W ramach dalszych prac zaimplementowano dwie inne wersje generacji tła i segmentacji obiektów ruchomych:

– jednowariantow ˛a generacj˛e tła dla obrazów barwnych wraz z segmentacj ˛a opart ˛a o binaryzacj˛e warunkow ˛a,

– jednowariantow ˛a generacj˛e tła dla obrazów w odcieniach szaro´sci.

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 114

Pierwsza z nich, wykorzystana w pracach [99] (por. rozdział 7.1) oraz [97] (por. rozdział 7.2), to jednowariantowa wersja metody opisanej w rozdziale 6.5.2 z wprowadzonymi nast˛epuj ˛acymi modyfika-cjami:

– selektywn ˛a aktualizacj ˛a — dodano mo˙zliwo´s´c okre´slania, czy dany piksel powinien podlega´c ak-tualizacji,

– dodan ˛a mo˙zliwo´sci ˛a natychmiastowego wtopienia piksela do modelu tła,

– zaawansowanym mechanizmem segmentacji obiektów opartym o binaryzacj˛e warunkow ˛a. Schemat modułu generacji tła zaprezentowano na rysunku 6.30. Wej´scie stanowi ˛a sygnały: LabF

— jasno´s´c oraz chrominancja aktualnego piksela. Parametry modelu tła odczytywane s ˛a z zewn˛etrznej pami˛eci RAM. Opis modułów:

– SOBEL — obliczanie gradientu Sobela (poziomego Sx, pionowego Sy oraz amplitudy M ). – AKTUALIZACJA L, a, b, M — realizacja równania (6.6) dla wskazanych składowych modelu tła.

Na sposób działania modułu maj ˛a wpływ dwie flagi: KOPIUJ_TERAZ (polecenie przepisania do modelu tła bie˙z ˛acego piksela) oraz AKTUALIZUJ (polecenie wykonania aktualizacji, w przeciw-nym przypadku model tła pozostaje niezmieniony). Obie flagi odczytywane s ˛a z pami˛eci RAM, a ustalane s ˛a na etapie segmentacji.

– ZEWN ˛ETRZNA PAMI ˛E ´C RAM — pami˛e´c DDR RAM, gdzie przechowywany jest model tła. – D — opó´znienie (w celu zachowania pełnej potokowo´sci implementacji).

ZEWNĘTRZNA PAMIĘĆ RAM MODEL TŁA LabF D SOBEL M Lab, M AKTUALIZACJA L, a, b, M Lab

M KOPIUJTERAZ AKTUALIZUJ

Lab, MB

B B

F

D LICZNIKPIKSELA

Rysunek 6.30: Schemat modułu jednowariantowej generacji tła

Modyfikacje modelu dla pojedynczego piksela obj˛eły: redukcj˛e liczby wariantów do jednego, eli-minacj˛e wagi, dodanie licznika (LICZNIK PIKSELA), w którym zapisana jest informacja o tym ile razy dany piksel został sklasyfikowany jako obiekt (10 bitów) i dwóch bitów steruj ˛acych (flagi: KO-PIUJ_TERAZ i AKTUALIZUJ).

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

Segmentacj˛e zrealizowano podobnie jak w rozdziale 6.5.1.4, przy czym jako deskryptor teksturowy u˙zyte zostały kraw˛edzie (moduł gradientu Sobela). Rezygnacja z operatorów SILTP i NGD podykto-wana była ch˛eci ˛a zmniejszenia u˙zycia zasobów logicznych. W odró˙znieniu od poprzedniej wersji, do-dano obliczanie drugiej ´sredniej wa˙zonej z jasno´sci, koloru i tekstury (z innym zestawem wag). Oba współczynniki LCTA i LCTB (por. równanie (6.11)) były binaryzowane z dwoma ró˙znymi progami: górnym T HG(w eksperymentach 0,75) i dolnym T HD(w eksperymentach 0,5). W rezultacie uzyskano dwie maski: obiektów pewnych oraz potencjalnych. W drugim etapie nast˛epowała weryfikacja poten-cjalnych elementów obiektów. Zostały one wł ˛aczone do ostatecznej maski, wtedy, gdy w ich otoczeniu (okno 5 × 5) znajdował si˛e przynajmniej jeden element pewny. Realizowany był zatem algorytm bina-ryzacji warunkowej. Jako przetwarzanie ko´ncowe zrealizowano binarn ˛a filtracj˛e medianow ˛a z oknem o rozmiarze 5 × 5 i dylatacj˛e morfologiczn ˛a z oknem 5 × 5.

W module segmentacji generowane były równie˙z dwie flagi steruj ˛ace procesem aktualizacji modelu tła:

– KOPIUJ_TERAZ — flaga była ustawiana na ’1’ w przypadku, gdy warto´s´c zmiennej LICZNIK PIKSELA przekroczyła zadany próg, tzn. dany piksel od dłu˙zszego czasu uznawany był za obiekt z pierwszego planu,

– AKTUALIZUJ — flaga ustawiana na ’1’ dla pikseli uznanych za elementy tła. oraz aktualizowana była zmienna LICZNIK PIKSELA.

Schemat modułu zaprezentowano na rysunku 6.31. Opis wykorzystywanych elementów: – ||·|| L, ||·|| ab oraz ||·|| M — obliczanie odległo´sci mi˛edzy aktualn ˛a ramk ˛a a tłem, – D — opó´znienie (w celu zachowania pełnej potokowo´sci implementacji), – NORM — moduły odpowiadaj ˛ace za normalizacj˛e warto´sci do zakresu [0;1],

– LCT — moduły realizuj ˛ace obliczenie ´sredniej wa˙zonej z jasno´sci, koloru i tekstury (zgodnie z równaniem (6.11)),

– TH — binaryzacja z zadanym progiem,

– KONTEKST 5x5 — generacja kontekstu piksela o rozmiarze 5 × 5, – SUM 25 — drzewo sumacyjne 25 do 1,

– ANALIZA — klasyfikacja piksela na podstawie binaryzacji warunkowej (dwuprogowej), – MEDIANA 5x5 — binarna mediana z oknem o rozmiarze 5 × 5,

– DYLATACJA 5x5 — dylatacja morfologiczna z oknem o rozmiarze 5 × 5,

– OBSŁUGA LICZNIKA PIKSELA — moduł odpowiadaj ˛acy za inkrementacj˛e zmiennej LICZNIK PIKSELA w przypadku klasyfikacji piksela jako nale˙z ˛acy do obiektu lub zerowania w przeciwnym przypadku,

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 116

– USTALENIE FLAG — moduł na podstawie klasyfikacji piksela oraz zmiennej LICZNIK PIK-SELA ustala flagi: KOPIUJ_TERAZ i AKTUALIZUJ,

– ZEWN ˛ETRZNA PAMI ˛E ´C RAM — pami˛e´c DDR RAM, gdzie przechowywany jest model tła. Schematycznie działanie segmentacji zilustrowano na rysunku 6.32.

L F L B ||TT||L ||TT|| ab abF abB NORM dL NORM dSabx NORM dM A N A L I Z A MEDIANA 5X5 maska obiektów ||TT|| M M F MB LCT LCT LCT LCT A B wL1JwC1JwT1 wL2JwC2JwT2 TH TH TH_G TH_D KONTEKST 5x5 D SUM 25 DYLATACJA5X5 OBSŁUGA LICZNIKA PIKSELA USTALENIE FLAG maska obiektów LICZNIK PIKSELA D D ZEWNĘTRZNATPAMIĘĆTRAMTTTTTTTTTT MODELTTŁA LICZNIK PIKSELA LabJMBT maska obiektów

Rysunek 6.31: Schemat modułu segmentacji obiektów z mechanizmem binaryzacji warunkowej

SCENA MODELgTŁA SCENAg

KRAWĘDZIE MODELgTŁAg KRAWĘDZIE dL dtab) dtM) LCTA LCTB BinaryzacjagLCTAg próggTH_G BinaryzacjagLCTB próggTH_D Analiza Mediana 5x5 Dylatacja 5x5

Rysunek 6.32: Ilustracja działania segmentacji z binaryzacj ˛a warunkow ˛a. Obrazy pochodz ˛a z bazy [62] U˙zycie zasobów logicznych dla przedstawionego modułu jednowariantowej generacji tła i binary-zacji warunkowej zaprezentowano w tabeli 6.11. Dane nie uwzgl˛edniaj ˛a komunikacji z zewn˛etrzn ˛a pa-mi˛eci ˛a RAM, gdy˙z moduł nigdy nie był implementowany osobno, tylko stanowił element systemów opisanych w rozdziale 7. Z tego samego powodu nie dokonywano pomiarów mocy dla tego rozwi ˛azania.

6.6. Podsumowanie 117

Tabela 6.11: U˙zycie zasobów dla modułu jednowariantowej generacji tła i binaryzacji warunkowej (Vir-tex 6 — XC6VLX 240T-1FF1156)

Rodzaj U˙zyte Dost˛epne Procent zasobu w aplikacji w układzie wykorzystanych

FF 3096 301440 1% LUT 6 2820 150720 1 % SLICE 1217 37680 3 % DSP 48 18 768 2 % BRAM_36 37 416 8 % BRAM_18 24 832 2 %

Zaproponowana metoda segmentacji z binaryzacj ˛a warunkow ˛a poprawiała jako´s´c uzyskiwanych ma-sek obiektów w stosunku do prostej binaryzacji. Mo˙zliwo´s´c obliczania dwóch współczynników LCT okazała si˛e przydatna na przykład dla sekwencji z bardzo zaszumion ˛a składow ˛a chrominancji (w wy-niku kompresji wideo), przy wyznaczaniu “pikseli pewnych” mo˙zna było pomin ˛a´c składow ˛a barwn ˛a (waga wC = 0), ale uj ˛a´c j ˛a przy wyznaczaniu pikseli potencjalnych.

W ramach prac nad generacj ˛a tła zrealizowano jeszcze wersj˛e jednowariantow ˛a dla obrazów w od-cieniach szaro´sci, która została wykorzystana w pracy [96].

6.6. Podsumowanie

W rozdziale przedstawiono prace badawcze dotycz ˛ace implementacji zaawansowanej generacji tła i segmentacji obiektów w zasobach rekonfigurowalnych układu FPGA. Najwa˙zniejszym osi ˛agni˛eciem była realizacja dwóch modułów: podstawowego i zmodyfikowanego, które zostały pomy´slnie zweryfi-kowane na platformach sprz˛etowych SP 605 i ML 605. Punktem wyj´scia omówionych bada´n była ana-liza literatury dotycz ˛acej generacji tła, a tak˙ze badania wymaganego transferu do zewn˛etrznej pami˛eci RAM dla poszczególnych algorytmów. Na tej podstawie wybrano metod˛e klasteryzacji, która została nast˛epnie przystosowana do implementacji sprz˛etowej. Ponadto zrealizowano zaawansowan ˛a segmen-tacj˛e obiektów w oparciu o jasno´s´c, kolor i tekstur˛e. Jako deskryptor teksturowy, w pierwszej wersji, u˙zyto metody SILTP. System zaimplementowano i uruchomiono na platformie SP 605 z układem FPGA Spartan 6. Umo˙zliwiał on analiz˛e strumienia wideo o rozdzielczo´sci 640 × 480 pikseli przy 60 ramkach na sekund˛e. W toku dalszych prac wprowadzono do systemu detekcji obiektów szereg poprawek i ulep-sze´n: do modelu tła dodano informacj˛e o kraw˛edziach (gradient Sobela), szczegółowo przeanalizowano wymagan ˛a precyzj˛e oblicze´n, wykonano badania przydatno´sci ró˙znych deskryptorów teksturowych i na podstawie ich wyników zdecydowano si˛e zamieni´c deskryptor SILTP na NGD. Zmieniono równie˙z plat-form˛e sprz˛etow ˛a na ML 605 z układem Virtex 6, co umo˙zliwiło zrealizowanie przetwarzania strumie-nia wideo wysokiej rozdzielczo´sci 1920 × 1080 przy 60 ramkach na sekund˛e w czasie rzeczywistym. W ramach dalszych prac wykonano równie˙z implementacj˛e sprz˛etow ˛a jednowariantowej generacji tła

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

6.6. Podsumowanie 118

z zaawansowan ˛a segmentacj ˛a obiektów opart ˛a o mechanizm binaryzacji warunkowej. Moduł ten został nast˛epnie wykorzystany w dwóch systemach opisanych w rozdziale 7 niniejszej rozprawy. Uzyskane wy-niki ´swiadcz ˛a o wysokiej przydatno´sci układów FPGA do implementacji zło˙zonych algorytmów analizy obrazu.

7. Implementacja sprz˛etowa algorytmów wykorzystywanych

W dokumencie Index of /rozprawy2/10579 (Stron 117-123)