• Nie Znaleziono Wyników

Zaproponowany algorytm ekstrakcji obiektów poł ˛ aczo- aczo-nychaczo-nych

Analiza obrazów dla potrzeb oceny zachowa ´n zwierz ˛ at

5.4. Zaproponowany algorytm ekstrakcji obiektów poł ˛ aczo- aczo-nychaczo-nych

jed-noetapowych mog ˛a by´c FCOS [141], EmbedMask [152] lub TensorMask [30]. Tensor-Mask to przykład metody segmentacji instancji wykorzystuj ˛acej przesuwalne okno.

Wykonuje klasyfikacj˛e wieloklasow ˛a i generowanie masek równolegle. Maski repre-zentowane s ˛a jako strukturalne tensory 4D. Autorzy, twierdz ˛a, ˙ze architektura Ten-sorMask osi ˛aga wyniki zbli ˙zone do najpopularniejszej architektury dwuetapowej -Mask R-CNN.

Mask R-CNN [59] oparta jest na metodach Fast [51] i Faster R-CNN [114], dodaj ˛ac element równoległy do rozpoznawania obszaru obiektu, który okre´sla jego mask˛e.

Ta metoda wykrywa obszar obiektu i generuje dla niego prostok ˛at, a nast˛epnie przycina go i dokładniej segmentuje. Wiele podej´s´c opartych na Mask R-CNN zdomi-nowało rankingi ostatnich wyzwa ´n zwi ˛azanych z segmentacj ˛a: Mask Scoring R-CNN [62], PANet [85] czy Hybrid Task Cascade (HTC) [29].

5.4. Zaproponowany algorytm ekstrakcji obiektów poł ˛ aczo-nych

W celu analizy zachowa ´n zwierz ˛at podczas bliskich kontaktów fizycznych konieczne jest wykonanie segmentacji obiekt-obiekt. W pracy opracowano i zaadaptowano szereg algorytmów segmentacji. W rozdziale5.4 zaproponowano algorytmy seg-mentacji wykorzystuj ˛ace podstawowe metody widzenia komputerowego w celu rozdzielenia zł ˛aczonych obiektów. W kolejnym rozdziale5.5przedstawiono adap-tacj˛e algorytmów segmentacji semantycznej i instancji do problemu rozró ˙znienia obiektów cz˛e´sciowo zasłoni˛etych w analizie zachowa ´n obserwowanych zwierz ˛at.

Zaproponowany algorytm rozdzielenia dwóch poł ˛aczonych obiektów dostoso-wany jest do wcze´sniej wykonanych nagra ´n termograficznych szczurów do´swiad-czalnych. Zostaje on automatycznie uruchomiony w sytuacji, gdy liczba obiek-tów wykrytych przez metod˛e poł ˛aczonych komponentów jest równa 1. Algorytm składa si˛e z trzech etapów, wybór u ˙zywanej metody zale ˙zy od stopnia zł ˛aczenia.

Wyró ˙zniono nast˛epuj ˛ace stopnie zł ˛acze ´n:

Pobrano z mostwiedzy.pl

5.4. Zaproponowany algorytm ekstrakcji obiektów poł ˛aczonych 53

1. zł ˛aczenie minimalne – wyst˛epuje, gdy zwierz˛eta s ˛a blisko siebie lub si˛e mijaj ˛a, (rys. 5.12a),

2. zł ˛aczenia małe – wyst˛epuj ˛a w sytuacjach takich samych jak zł ˛aczenia mini-malne, ale cz˛e´s´c wspólna obwodów obiektów jest wi˛eksza (rys. 5.12b),

3. nało ˙zenie – zasłoni˛ecie cz˛e´sci ciała jednego osobnika przez drugiego wyst˛epu-j ˛ace np. podczas wspinania si˛e (rys.5.12c).

a) b) c)

RYS. 5.12. Przykłady zł ˛aczenia obiektów a)zł ˛aczenie minimalne, b)zł ˛aczenie małe, c) nało ˙zenie

Algorytm wyboru stopnia zł ˛aczenia zilustrowano na rys.5.13.

RYS. 5.13. Algorytm wyboru stopnia zł ˛aczenia

Pierwszym krokiem algorytmu jest n-krotna szkieletyzacja, gdzie n jest okre´slon ˛a na podstawie testów stał ˛a. Szkieletyzacja sprowadza obraz w ˛askich elementów (np.

ogon) do szkieletu. Nast˛epnie wykonywana jest erozja. Przykłady szkieletyzacji i erozji przedstawione s ˛a na rys. 5.14. Je ˙zeli w wyniku powstan ˛a 2 oddzielne obiekty, klatka zostaje zaklasyfikowana jako zł ˛aczenie minimalne.

Je ˙zeli wci ˛a ˙z istnieje tylko jeden obiekt, zostaje wykonane porównanie całkowi-tego obwodu obiektu w aktualnej klatce do ´sredniego obwodu obiektu obliczonego z klatek poprzednich. W sytuacji, gdy obie warto´sci s ˛a zbli ˙zone (w pewnym za-kresie), obraz jest rozpoznany jako zł ˛aczenie małe. Je´sli obwód jest mniejszy od

´sredniego obwodu, obraz jest sklasyfikowany jako nało ˙zenie.

´Srednia liczba wszystkich rodzajów zł ˛acze ´n w trakcie nagra ´n interakcji socjal-nych dwóch dorosłych osobników m˛eskich przetrzymywasocjal-nych wcze´sniej osobno,

Pobrano z mostwiedzy.pl

a) b) c)

RYS. 5.14. Zastosowanie na obrazie operacji: a) binaryzacji, b) n-krotnej szkieletyzacji, c) m-n-krotnej erozji

RYS. 5.15. Wykres ´srednich procentowych liczby ró ˙znych rodzajów wzajemnego uło ˙zenia obiektów w trakcie 20 minutowego nagrania

wpuszczonych do nieznanej klatki, obliczone na podstawie wcze´sniej opisanego al-gorytmu wyboru stopnia zł ˛aczenia, przedstawione s ˛a w tabeli5.2oraz na rys.5.15.

TABELA 5.2. ´Srednia liczba ró ˙znych rodzajów zachowa ´n w trakcie nagra ´n

Procentowy udział wszys-tkich zł ˛acze ´n w całym na-graniu

Procentowy udział poszczególnych zł ˛acze ´n w´sród wszystkich zł ˛acze ´n

Rodzaj zł ˛aczenia

37%±2%

47%±18% zł ˛aczenie minimalne 34, 8%±13% zł ˛aczenie małe

18%±5% nało ˙zenie

´Srednio 37%±2% klatek nagrania zostało sklasyfikowanych jako zł ˛aczenie. Zł ˛ acze-nie minimalne wyst˛epowało ´srednio w 47%±18% wszystkich zł ˛acze ´n, a zł ˛aczenie małe w 34,8 % ± 13%. Najmniej zanotowano wyst ˛apie ´n nało ˙zenia: 18%±5% ze wszystkich przypadków zł ˛aczenia.

Algorytmy rozdzielenia obiektów dla poszczególnych stopni zł ˛aczenia s ˛a ró ˙zne, zostały przedstawione poni ˙zej.

1. Algorytm segmentacji obiektów dla zł ˛aczenia minimalnego (rys. 5.16) –

Pobrano z mostwiedzy.pl

5.4. Zaproponowany algorytm ekstrakcji obiektów poł ˛aczonych 55

obraz oryginalny poddawany jest dwóm rodzajom operacji. Pierwsza z nich to szkieletyzacja wraz z erozj ˛a, których wynikiem s ˛a 2 oddzielne obiekty o powierzchniach mniejszych ni ˙z powierzchnie obiektów oryginalnych. Drug ˛a operacj ˛a jest algorytm działów wodnych wykonany na transformacji odległo´s-ciowej obrazu oryginalnego. Wynikiem tych przekształce ´n jest podzielenie obiektów na kilka podobszarów. Algorytm działów wodnych poprawnie wyz-nacza granice obiektów, ale te ˙z tworzy inne, liczne i zb˛edne granice podob-szarów wewn ˛atrz obiektów (rys. 5.7, 5.8). Transformacja odległo´sciowa ma na celu ograniczenie liczby podobszarów uzyskanych po zastosowaniu algo-rytmu działów wodnych, polega na wyznaczeniu dla ka ˙zdego piksela min-imalnej odległo´sci do granicy obiektu. Ostatnim krokiem jest porównanie i korekta etykiet obszarów po zastosowaniu transformacji odległo´sciowej oraz działów wodnych zgodnie z etykietami obrazu po erozji i szkieletyzacji. Wyni-kiem jest obraz oryginalny z poprawnie rozdzielonymi obiektami. Wyniki dzi-ałania algorytmu na dwóch ró ˙znych obrazach zostały przedstawione na rys.

5.17. Pierwsza kolumna rys.5.17przedstawia wynik zastosowania algorytmu działów wodnych na transformacji odległo´sciowej obrazu oryginalnego. Zł ˛ ac-zone obiekty zostały podzielone na podobszary z poprawnym rozdzieleniem dwóch osobników. Druga kolumna to wynik zastosowania metody poł ˛ aczo-nych komponentów (CC) na obrazie poddanemu wcze´sniej szkieletyzacji oraz erozji. Ostateczny wynik algorytmu, przedstawiony w kolumnie trzeciej, pow-staje po przepisaniu etykiet obszarów kolumny pierwszej na etykiety kolumny drugiej dla pikseli cz˛e´sci wspólnej obrazów oraz stworzeniu macierzy prze-j´s´c, a nast˛epnie uaktualnieniu pozostałych etykiet (w obszarach utraconych po szkieletyzacji i erozji) na podstawie tej macierzy.

RYS. 5.16. Algorytm rozdzielania obiektów dla zł ˛aczenia minimal-nego

2. Algorytm segmentacji obiektów dla zł ˛aczenia małego(rys.5.18) – na obrazie binarnym po erozji zostaj ˛a wykonane dwie transformacje. Pierwsza z nich

Pobrano z mostwiedzy.pl

RYS. 5.17. Wyniki działania algorytmu rozdzielania obiektów dla zł ˛aczenia minimalnego. Pierwsza kolumna przedstawia wynik za-stosowania algorytmu działów wodnych na transformacji odległo´s-ciowej obrazu oryginalnego. Druga kolumna to wynik zastosowania metody Poł ˛aczonych komponentów na obrazie poddanemu

wcze-´sniej szkieletyzacji oraz erozji. Wynik algorytmu segmentacji dla zł ˛ a-czenia minimalnego

to identyczna transformacja jak w algorytmie wcze´sniejszym polegaj ˛aca na poł ˛aczeniu transformacji odległo´sciowej z algorytmem działów wodnych, wy-nikiem której jest zbiór punktów wyznaczaj ˛acych granice pomi˛edzy podob-szarami obiektu - etap 1. Drugim, równoległym krokiem jest wyznaczenie granicy obiektu (obwodu). Nast˛epnie, wyznaczana jest linia separacyjna ł ˛acz ˛aca dwa punkty granicy, dla której suma dwóch wa ˙zonych składowych (równanie 5.3) osi ˛aga najmniejsz ˛a warto´s´c- etap 2.:

liniaprop =min(w1·ranking(dlin) +w2·ranking(Area1 Area2

−1) (5.3) gdzie:

w1, w2- wagi składowych sumy,

dlin- długo´s´c zaproponowanej linii separacyjnej,

Area1

Area2 - iloraz powierzchni dwóch obszarów, na które dzieli obiekt dana linia.

Ostatnim etapem jest wybranie linii pozyskanej z algorytmu wododziałów najlepiej dopasowanej do zaproponowanej linii separacyjnej liniaprop na pod-stawie miary wyra ˙zonej równaniem5.4– etap 3.:

liniawybr =min(w3· δlin

min(δlin)+w4· Area1

Area2) (5.4)

gdzie:

w3, w4- wagi składowych sumy,

δlin- ´srednia odległo´s´c punktów linii otrzymanych w wyniku algorytmu podzi-ału wodnego od zaproponowanej linii separacyjnej

Area1

Area2 - iloraz powierzchni dwóch obszarów, na które dzieli obiekt dana linia.

Pobrano z mostwiedzy.pl

5.4. Zaproponowany algorytm ekstrakcji obiektów poł ˛aczonych 57

W wyniku algorytm zwraca etykiet˛e linii wyznaczonej poprzez algorytm dzi-ałów wodnych, która najlepiej rozdziela obrazy dwóch osobników. Zało ˙ze-niem algorytmu jest wzgl˛edna równo´s´c powierzchni obu osobników. Warunek ten nie zawsze jest spełniony ze wzgl˛edu na elastyczno´s´c ciała gryzoni, które potrafi w pewnym zakresie zmienia´c swoje rozmiary np. podczas czyszcze-nia si˛e czy staczyszcze-nia na łapach (zmniejszenie powierzchni ciała) lub eksploracj˛e (wydłu ˙zenie ciała). Jednak miary wprowadzone do algorytmu zapewniaj ˛a poprawny wybór linii separacyjnych nawet w wy ˙zej wymienionych przypad-kach.

RYS. 5.18. Schemat algorytmu segmentacji obiektów dla zł ˛aczenia małego

Wyniki działania algorytmu segmentacji obiektów dla zł ˛aczenia małego zostały porównane z wynikami obserwatora-człowieka. Dla ka ˙zdego punktu liniiwybr powstałej w wyniku działania algorytmu (etap 3.) obliczono odległo´s´c euk-lidesow ˛a od ka ˙zdego punktu linii zaproponowanej przez obserwatora i wyb-rano warto´s´c minimaln ˛a. Miara odległo´sci dwóch linii Ml to warto´s´c ´srednia minimalnych odległo´sci dla wszystkich punktów linii, któr ˛a przedstawia rów-nanie5.5.

Ml =

ni=1d(Ai, Bj))

n (5.5)

gdzie:

d(Ai, Bj)=min(d(Ai, b∈ B),

A - n-elementowy zbiór punktów mierzonej linii, B - m-elementowy zbiór punktów linii obserwatora.

W tabeli5.3oraz na rys. 5.19przedstawione zostały wyniki pomiaru

odległo-´sci liniiwybrotrzymanej w etapie 3. (równanie5.4) oraz linii obserwatora przy u ˙zyciu zaprezentowanej wcze´sniej miaryMl(równanie5.5) dla dwóch ró ˙znych

Pobrano z mostwiedzy.pl

par zwierz ˛at. Dla porównania przedstawione zostały równie ˙z wyniki

odległo-´sci (przy u ˙zyciu tej samej miary) zaproponowanej linii separacyjnej powstałej w etapie 2. (liniaprop, równanie5.3) od linii obserwatora.

TABELA 5.3. Porównanie miar Ml odległo´sci linii otrzymanych w wyniku działania algorytmu do linii wybranej przez obserwatora dla

dwóch ró ˙znych par zwierz ˛at Mlodległo´sci liniiwybrod linii obserwatora

Ml odległo´sci liniipropod linii obserwatora

RYS. 5.19. Wyniki pomiaru odległo´sci linii otrzymanej w etapie 2.

algorytmu oraz w etapie 3. – ko ´ncowym

Warto´sci zawarte w tabeli5.3jasno wykazuj ˛a, ˙ze liniawybrotrzymana jako os-tateczny wynik omawianego algorytmu (etap 3.) ma ´srednio mniejsz ˛a odległo´s´c Mlod linii zaproponowanej przez obserwatora (4,29 pikseli dla pierwszej pary i 5,66 pikseli dla drugiej pary) ni ˙z liniaprop obliczona na podstawie jedynie jej długo´sci oraz stosunku pól powstałych obszarów (etap 2. - 8,41 oraz 9,18 pik-seli odpowiednio dla ka ˙zdej z par).

Jak wida´c na wykresie rys. 5.19, istniej ˛a takie przypadki, gdzie liniaprop daje lepszy wynik ni ˙z liniawybr (22% przypadków, z czego 57% z nich to ró ˙znica wyniku nie przekraczaj ˛aca 2 pikseli). Dwa z takich przypadków zostały przed-stawione na rys. 5.20. Wyniki po´srednich etapów działania algorytmu przed-stawione s ˛a na rys. 5.20c oraz 5.20g w postaci linii. Linia czerwona oznacza lini˛e wybran ˛a przez obserwatora, niebieska – liniprop, ˙zółta – liniwybr. Dla pier-wszego przypadku odległo´s´c Ml linii niebieskiej od linii czerwonej wyniosła

Pobrano z mostwiedzy.pl

5.4. Zaproponowany algorytm ekstrakcji obiektów poł ˛aczonych 59

(A) (B) (C) (D)

(E) (F) (G) (H)

RYS. 5.20. Przykłady wyników wyboru linii rozdzielaj ˛acej 2 obiekty w przypadku, gdy algorytm działów wodnych prowadzi do bł˛ed-nego wyniku. Rys. a) i e) przedstawiaj ˛a obrazy oryginalne; b) i f) wynik algorytmu działów wodnych; c) i g) linie otrzymane w wyniku działania algorytmu (linia niebieska – liniaprop, ˙zółta – liniawybr) oraz wybrane przez obserwatora (linia czerwona); d) i h) ostateczne

wy-niki segmentacji

2,53 piksele, a odległo´s´c Mllinii ˙zółtej od czerwonej 4,13 pikseli. Odległo´sci Ml pomi˛edzy liniami dla drugiego przypadku wynosz ˛a odpowiednio 6,08 pik-seli dla linii niebieskiej i 11,38 pikpik-seli dla ˙zółtej. Wyniki dla tych przykładów wskazuj ˛a, ˙ze wprowadzenie algorytmu działów wodnych pogorszyło wynik.

Na rys. 5.20b i 5.20f przedstawiony został podział obiektu na podobszary przy u ˙zyciu algorytmu działów wodnych. Wyra´znie wida´c, ˙ze nie ma linii odpowiadaj ˛acej linii obserwatora, a liniawybrbyła najbli ˙zsz ˛a poprawnemu wy-nikowi lini ˛a podziału na podobszary.

Jednak w wi˛ekszo´sci przypadków wprowadzenie algorytmu działów wod-nych poprawia ostateczny wynik działania całego algorytmu i koryguje poło ˙ze-nie linii separacyjnej. Dla przypadku przedstawionego na rys. 5.21odległo´s´c linii niebieskiej (liniaprop) od czerwonej (linia obserwatora) wynosi 13,60 dla rys. 5.21c oraz 22,41 dla rys. 5.21g. Odległo´s´c linii ˙zółtej (liniawybr) od czer-wonej to odpowiednio 1,80 dla rys.5.21c i 3,92 dla rys.5.21g.

Algorytm rozdzielania obiektów zł ˛aczenia małego został zastosowany rów-nie ˙z do rozdzielenia obiektów nało ˙zonych. W wyniku 39% klatek z nało ˙ze-niem obiektów zostało rozdzielone lini ˛a separacyjn ˛a, która znajdowała si˛e nie dalej ni ˙z 10 pikseli (u ˙zywaj ˛ac miary Ml) od linii obserwatora. Algorytm ten działa bardzo dobrze dla przypadków, gdy granica pomi˛edzy obiektami nie jest wi˛eksza ni ˙z szeroko´sci obiektów.

Pobrano z mostwiedzy.pl

(A) (B) (C) (D)

(E) (F) (G) (H)

RYS. 5.21. Przykłady wyników wyboru linii rozdzielaj ˛acej 2 obiekty w przypadku gdy algorytm działów wodnych poprawia wynik os-tateczny. Rys. a) i e) przedstawiaj ˛a obrazy oryginalne; b) i f) wynik algorytmu działów wodnych; c) i g) linie otrzymane w wyniku dzi-ałania algorytmu (linia niebieska – liniaprop, ˙zółta – liniawybr) oraz wybrane przez obserwatora (linia czerwona); d) i h) ostateczny

wynik segmentacji

3. Algorytm segmentacji obiektów nało˙zonych opiera si˛e na algorytmach uczenia