Politechnika Wroclawska Wydzial Elektroniki Kierunek: Informatyka Specjalność: Inżynieria Internetowa Praca dyplomowa Magisterska Śledzenie i analiza ruchu komórek na podstawie sekwencji obrazów Tracking and analysis of cells movement based on image sequences Autor: Grzegorz Pietrzak Prowadzący pracę: dr inż. Jacek Jarnicki (I-6) Ocena pracy: WROCLAW 2008
68
Embed
Śledzenie i analiza ruchu komórek na podstawie sekwencji obrazów [PL]
Tracking and analysis of cells movement based on image sequences My thesis, Wroclaw University of Technology
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Poczynione w ostatnich latach postępy w dziedzinie mikroskopii fluorescencyjnej
rzuciły nowe światło na problem badania właściwości komórek. Sekwencje obrazów
wykonane w technologii GFP (ang. Green Fluorescent Protein) stanowią niezwykle
ważne narzędzie, pozwalające zrozumieć mechanizmy biologiczne chorób nowotwo-
rowych. Efektywna analiza tych sekwencji, obejmująca śledzenie ruchu, podziały
i obumieranie komórek, jest niewątpliwie kluczem do przyspieszenia prac, a nawet
przełomu w dziedzinie onkologii.
Z uwagi na konieczność przeglądania ogromnych zbiorów danych, wykonywa-
ną dotychczas manualną obserwację obiektów na obrazie zastępuje się metodami
automatycznymi. Dla przeciętnego człowieka uzyskanie jakiegokolwiek wyniku bez
udziału komputera oznaczałoby wielogodzinne, żmudne analizowanie kolejnych kla-
tek sekwencji. Automatyzacja poprawia jakość i szybkość przetwarzania, niestety
technologia fluorescencyjna, jako stosunkowo nowy twór, posiada bardzo niewiele
dedykowanych algorytmów śledzenia komórek. Niniejsza praca stanowi próbę opra-
cowania i implementacji jednego z nich.
Wykorzystywane w pracy sekwencje przedstawiają linię komórkową HeLa, zapo-
czątkowaną w latach 50. poprzez pobranie komórek raka szyjki macicy od Henrietty
Lacks z Baltimore [16]. Komórki HeLa uważane są za nieśmiertelne, ponieważ są
zdolne do nieskończenie wielu podziałów mitotycznych (co więcej, podziały te na-
stępują z niezwykle dużą szybkością). Powyższe cechy sprawiają, że linii HeLa używa
się w laboratoriach na całym świecie jako modelowego przykładu nowotworu.
1.1. Cel pracy
Celem niniejszej pracy jest opisanie, a następnie implementacja algorytmu prze-
prowadzającego segmentację oraz śledzenie komórek. Danymi wejściowymi są tu
sekwencje obrazów wykonane metodą poklatkową (ang. time-lapse), pobrane z mi-
kroskopu w technologiach: fluorescencyjnej (rys. 1.1a) oraz fazowo-kontrastowej (rys.
1.1b). Wyniki algorytmu powinny zostać przekazane do części analitycznej, odpo-
wiedzialnej za określenie właściwości ruchu i wygenerowanie statystyk dotyczących
3
migracji komórek oraz zanotowanych zjawisk biologicznych (m.in. podziałów). Uży-
te metody muszą sprostać wymaganiom narzuconym przez przetwarzanie sekwencji
w czasie rzeczywistym, przy zachowaniu maksymalnej możliwej jakości działania.
A. B.
Rysunek 1.1. Przykładowa klatka sekwencji komórek. (A) Metoda fluorescencyjna,(B) metoda fazowo-kontrastowa.
1.2. Przegląd rozdziałów
Praca składa się z 6 rozdziałów, podzielona jest na część teoretyczną oraz imple-
mentacyjną.
W rozdziale drugim zgromadzono informacje na temat dostępnych technik seg-
mentacji (rozpoznawania komórek na obrazie rastrowym), dotyczące zarówno dzie-
dziny przetwarzania obrazów, jak i wektoryzacji.
Rozdział trzeci zawiera opis dwóch metod śledzenia komórek, służących do łą-
czenia obiektów pomiędzy sąsiednimi klatkami obrazu. Dodatkowo zamieszczono tu
wiadomości dotyczące korekcji wyników śledzenia oraz wykrywania zjawisk biolo-
gicznych.
Rozdział czwarty poświęcony jest teorii analizy ruchu komórek, obejmującej za-
równo sposoby generowania wykresów, jak i numeryczne metody sprawdzania hipo-
tez dotyczących rozkładów zmiennych losowych.
Rozdział piąty dotyczy praktycznej implementacji algorytmu w środowisku MA-
TLAB, ze szczególnym naciskiem na testowanie wydajności alternatywnych metod
segmentacji i śledzenia. Następuje tu wybór ostatecznej, najlepszej ścieżki działania.
W ostatnim, szóstym rozdziale znajduje się podsumowanie dokonań poczynio-
nych w niniejszej pracy.
4
2. Segmentacja
2.1. Wprowadzenie
Segmentacja jest procesem rozpoznawania komórek na klatce obrazu. Składa się
najczęściej z kilku etapów, w tym m.in. z edycji obrazu rastrowego poprzez dosto-
sowanie kontrastu i oświetlenia oraz progowania go w celu wykrycia poszczególnych
obiektów (rys. 2.1) [11]. Segmentacja stanowi kluczowy element całego systemu
śledzenia komórek, błędy w jej działaniu doprowadzają najczęściej do znaczącego
zafałszowania końcowych wyników.
Wczytanie obrazu Dostosowanieobrazu
Rozpoznaniekomórek
Wektoryzacja
Rysunek 2.1. Kolejne etapy segmentacji
Poprawnie działający algorytm segmentacji powinien pozostać niewrażliwy na
zmiany oświetlenia, powinien również zwracać wyniki podobne dla poszczególnych
klatek obrazu. Podziały komórek, ich obumieranie oraz pojawianie się w obszarze
widzenia muszą być wyraźnie zaznaczone.
Istnieje kilka podejść do rozwiązania problemu segmentacji. Najczęściej stosowa-
ne jest zwykłe progowanie obrazu połączone opcjonalnie z algorytmem „watershed”.
W ostatnich latach pojawiło się dla niego wiele alternatyw, w tym rozszerzona me-
toda h-maksimów oraz aktywne kontury.
2.2. Dostosowywanie obrazu
Większość algorytmów segmentacji wymaga obróbki każdej klatki sekwencji w ce-
lu uniformizacji oświetlenia oraz wydobycia mało widocznych detali. Obrazy komó-
rek wykonane metodą GFP mają zwykle niejednorodne tło, zawierające przejścia
tonalne. Metody przetwarzania tego typu obrazów muszą charakteryzować się przede
wszystkim szybkim działaniem (aby umożliwić śledzenie komórek w czasie rzeczy-
wistym).
5
2.2.1. Przekształcenia morfologiczne
W związku z dynamicznym wzrostem mocy obliczeniowej dostępnych dziś kom-
puterów, coraz szerzej stosuje się metody przetwarzania obrazów oparte o morfologię
matematyczną [20]. Polegają one na na ujawnianiu tych cech obrazu, które widoczne
są tylko w połączeniu z zewnętrznymi narzędziami badawczymi, nazywanymi ele-
mentami strukturalnymi. Element strukturalny ma postać dwuwymiarowej tablicy
zawierającej zera i jedynki. Typowe jego kształty przedstawione zostały na rys. 2.2.
Przemieszczany jest po całym obrazie, dla każdego punktu wykonywana jest analiza
koincydencji z elementem strukturalnym.
1111
11
111
11
11
111
1
1
111111
111
11
111
1
111
11
A. B.
Rysunek 2.2. Elementy strukturalne w kształcie (A) kwadratu i (B) dysku. Komórkaz szarym tłem oznacza środek elementu, pozostałe definiują obszar sąsiedztwa.
Wyróżniamy kilka typów operacji morfologicznych, do najczęściej stosowanych
należą:
— Erozja – przypisanie pikselowi najmniejszej wartości spośród sąsiedztwa okre-
ślonego poprzez element strukturalny (rys. 2.3b).
— Dylacja – przypisanie pikselowi największej wartości spośród sąsiedztwa (rys. 2.3c).
— Otwarcie – złożenie najpierw operacji erozji, a następnie dylacji, służy do usu-
Odejmowanie tła jest jedną z najstarszych metod uniformizacji oświetlenia. Wy-
magane jest tu wygenerowanie tła, polegające na usunięciu z obrazu pierwszego
planu. W przypadku komórek, będących stosunkowo niewielkimi obiektami, wystar-
czy przeprowadzić operację morfologicznego otwarcia obrazu z odpowiednio dużym
elementem strukturalnym (np. dyskiem o średnicy 15 pikseli). Przykładowy wynik
otwarcia przedstawiony został na rys. 2.4b.
Największym problemem w przypadku operacji morfologicznych jest duża zło-
żoność obliczeniowa. Podczas generowania tła, dla sekwencji n obrazów wielkości
x × y oraz elementu strukturalnego definiującego sąsiedztwo o rozmiarze s pikseli,
odnalezione zostaje x · y · n maksimów i x · y · n minimów w wektorze zawierającym
s wartości. Typowo n = 100, x = y = 1024 oraz s = 150, co daje ok. 104 · 106
czasochłonnych operacji.
Wygenerowane tło należy odjąć od oryginalnego obrazu (poprzez odjęcie wartości
odpowiadających sobie pikseli). Obraz wynikowy wymaga najczęściej dopasowania
kontrastu i jasności.
A. B. C.
Rysunek 2.4. Kolejne etapy odejmowania tła. Kontrast obrazów (A), (B) i (C) zo-stał sztucznie podwyższony w celu ułatwienia analizy wyników. (A) obraz oryginal-ny skonwertowany do skali szarości, (B) tło wygenerowane poprzez morfologiczne
otwarcie, (C) obraz wynikowy po odjęciu tła.
2.2.3. Korekcja histogramu
W pojęciu statystycznym histogram jest funkcją gęstości prawdopodobieństwa
H(b). Pole histogramu definiuje się jako:
b∫0
H(B)db (2.1)
gdzie H(b) – funkcja histogramu, db – przyrost wartości, H(b)db – wysokość danego
słupka histogramu. Dla obrazów cyfrowych db jest skończone, histogram jest więc
7
wyznaczany jako suma wszystkich pikseli o danej wartości, znormalizowana przez
liczbę wszystkich pikseli.
Na podstawie kształtu histogramu możliwe jest określenie wielu parametrów ob-
razu (dyspersji, asymetrii, entropii), a także automatyczna korekta kontrastu i ja-
sności [18]. Jeśli histogram jest zbyt wąski (z jego obu stron znajdują się puste
przestrzenie – rys. 2.5a), wówczas należy ”rozciągnąć” go tak, aby wypełniał cały
zakres natężenia oświetlenia (2.5c). Do tego celu używa się transformacji jednego
rozkładu wartości do drugiego rozkładu wartości pikseli. Transformacja tego typu
jest opisywana funkcją matematyczną, którą graficznie można przedstawić jako krzy-
wą transformacji. Na potrzeby segmentacji komórek wystarczy zastosować funkcję
liniową, mającą postać:
f(n) =
0 dla x < 0
E(x−x1x2
)E dla x > E
(2.2)
gdzie x1 i x2 – wartości ograniczające histogram od dołu i od góry, E – maksymalna
dopuszczalna wartość jasności oraz x – wartość jasności transformowanego piksela.
Przedział (x1, x2) wyznaczany jest automatycznie na podstawie kształtu histogramu,
wartość E dla obrazów 8-bitowych wynosi zazwyczaj 255.
0
1
2
3
4
5
x 104
0 50 100 150 200 250
0
1
2
3
4
5
x 104
0 50 100 150 200 250
B.
D.C.
A.
Rysunek 2.5. Dostosowanie zakresów wartości pikseli przy pomocy histogramu. (A),(B) – obraz oryginalny, prawa strona histogramu jest niemal pusta. (C), (D) – obrazpo automatycznej transformacji histogramu. Strzałka na histogramie (A) pokazuje
kierunek jego rozciągnięcia.
8
2.2.4. Filtr medianowy
Obrazy komórek poddane operacjom na histogramie zawierają dużo losowych za-
kłóceń, mających najczęściej postać pojedynczych lub podwójnych pikseli wyraźnie
odcinających się od tła. Do usuwania tego typu zakłóceń stosuje się filtr medianowy
[15], podobny w swoim działaniu do przekształceń morfologicznych. Dla każdego
piksela obrazu pxy odnajdywany jest wektor punktów v znajdujących się w jego są-
siedztwie. Wektor ten zostaje posortowany według jasności punktów. Jasność piksela
pxy zastępowana jest jasnością punktu znajdującego się dokładnie w środku wektora
v (czyli medianą tego wektora).
Najczęściej stosowanym sąsiedztwem jest kwadrat o boku 3 × 3 pikseli. Obraz
wynikowy charakteryzuje się zwykle utratą ostrości, proporcjonalną do rozmiaru
sąsiedztwa. Piksele znajdujące się na brzegach obrazu (z niepełnym sąsiedztwem)
nie są przetwarzane z uwagi na zbyt duże zakłócenia. Przykładowe działanie filtru
medianowego zostało przedstawione na rys. 2.6.
A. B.
Rysunek 2.6. Przykład działania filtru medianowego. (A) Obraz oryginalny, (B) ob-raz po zastosowaniu filtru z sąsiedztwem 3× 3.
2.3. Rozpoznanie komórek na obrazie
Do procesu rozpoznania komórek wymagana jest konwersja obrazu zapisane-
go w skali szarości na wersję monochromatyczną, zawierającą białe elementy na
czarnym tle. Obraz monochromatyczny poddawany jest analizie, podczas której
wszystkie obiekty o rozdzielnych granicach zostają zinterpretowane jako komórki.
Poszczególne metody konwersji głębi kolorów różnią się znacznie jakością zwracanych
wyników, część z nich ignoruje małe komórki, część niepoprawnie klasyfikuje loso-
we zakłócenia. Szczególną trudność sprawiają podziały komórek oraz ich nadmierne
zbliżanie się do siebie (dwa znajdujące się zbyt blisko obiekty mogą zostać rozpozna-
9
ne jako jeden). Ważnym kryterium jakości jest mała wariancja wyników pomiędzy
sąsiednimi klatkami – szczególnie w przypadku gwałtownych zmian oświetlenia.
2.3.1. Progowanie
Najprostszym sposobem konwersji obrazu do wersji monochromatycznej jest od-
nalezienie progu p pomiędzy kolorem białym i czarnym. Próg ten należy do prze-
działu 〈0, 255〉, można go wyznaczyć manualnie (co daje mniejszą elastyczność) bądź
automatycznie.
Najczęściej stosowaną metodą automatycznego wyznaczania progu p jest algo-
rytm Otsu [17], sformułowany na bazie analizy dyskryminacyjnej. Piksele dzielone są
na dwie klasy – C1 (tło) i C2 (obiekt). W klasie C1 znajdują się piksele o jasnościach
〈0, p〉, w klasie C2 – piksele o jasnościach (p, 255〉. Każdy z 256 stopni jasności i
zawiera ni pikseli wobec n wszystkich pikseli znajdujących się w obrazie:
255∑i=0
ni = n (2.3)
Prawdopodobieństwo pi przynależności piksela do danego stopnia jasności i oraz
prawdopodobieństwo $k wystąpienia klasy k dla danego progu p definiujemy jako:
pi =nin
(2.4)
$1(p) =p∑i=0
pi (2.5)
$2(p) =255∑
i=p+1
pi (2.6)
Wyznaczany próg p powinien jak najlepiej odizolować od siebie klasy C1 i C2, co
można osiągnąć minimalizując wariancję międzyklasową σ2B:
σ2B = $1 · (µ1 − µT ) +$2 · (µ2 − µT ) (2.7)
gdzie µ1 – średnia jasność klasy C1, µ2 – średnia jasność klasy C2, µT – średnia ja-
sność całego obrazu. Procedurę minimalizacji wariancji międzyklasowej przedstawia
rys. 2.7.
Po wyznaczeniu progu p wystarczy przekształcić obraz do wersji monochroma-
tycznej, traktując klasę C1 jako kolor czarny i klasę C2 jako kolor biały. Niestety
progowanie przy nierównomiernym oświetleniu zwraca zazwyczaj niezadowalające
10
0
200
400
600
800
1000
0 50 100 150 200 250
0
200
400
600
800
1000
0 50 100 150 200 250
A. B.p p
Rysunek 2.7. Przykładowa minimalizacja wariancji międzyklasowej w metodzieOtsu. Przerywana linia oznacza próg p. (A) Próg zbyt blisko ciemniejszych pikseli –obraz będzie miał przewagę koloru białego. (B) Próg wyznaczony optymalnie. Wartozauważyć, że po korekcji histogramu optymalny próg będzie znajdował się w pobliżu
wartości 128.
wyniki (rys. 2.8a) – w przypadku obrazów GFP należy przetworzyć obraz odejmując
od niego tło, korygując histogram, a następnie aplikując filtr medianowy (rys. 2.8b).
A. B.
Rysunek 2.8. Wpływ nierównomiernego oświetlenia na algorytm progowania.(A) Obraz bez obróbki poddany progowaniu, widoczne są skutki nierównomierne-go oświetlenia. (B) Obraz po odjęciu tła, korekcji histogramu i zastosowaniu filtru
medianowego poddany progowaniu.
2.3.2. Metoda rozszerzonych h-maksimów
W przeciwieństwie do zwykłego progowania metoda rozszerzonych h-maksimów
(ang. extended h-maxima) operuje na lokalnych ekstremach obrazu, dzięki czemu
jest niewrażliwa na nierównomierne oświetlenie tła.
Obrazy w skali szarości mogą być traktowane jako trójwymiarowe funkcje – osie x
i y odpowiadają wówczas współrzędnym pikseli, oś z oznacza jasność danego punktu.
Wykres tego typu funkcji przypomina mapę topograficzną, ze wzniesieniami w miej-
scu lokalnych maksimów. Maksima te, w sekwencjach wykonywanych metodą GFP,
wskazują lokalizacje poszczególnych komórek.
11
Metoda rozszerzonych h-maksimów wywodzi się od przekształceń morfologicz-
nych (konkretnie od morfologicznej rekonstrukcji obrazu), może być jednak prze-
prowadzona w znacznie mniej kosztowny obliczeniowo sposób. Jedynym parame-
trem realizującego ją algorytmu jest próg h, omówiony w dalszej części podrozdzia-
łu. Pierwszy krok algorytmu to odnalezienie lokalnych maksimów, czyli punktów
nie mających wokół siebie jaśniejszych pikseli. Przykładowy obraz i jego maksima
Rysunek 2.9. (A) Obraz przedstawiony w postaci tablicy w wartościami jasnościpikseli, na szaro zaznaczone zostały lokalne maksima. (B) Działanie metody roz-szerzonych h-maksimów, kolory czerwony, niebieski i zielony oznaczają parametr h
równy odpowiednio: 0, 1 i 2.
Wynikiem omawianych tu operacji jest obraz binarny, przedstawiający białe
obiekty na czarnym tle. Liczba oraz rozmiar obiektów regulowane są parametrem h,
będącym wyznacznikiem dynamiki ekstremów. Wartość h determinuje liczbę pozio-
mów jasności należących do maksimum. Na rysunku 2.10 znajduje się nieco uprosz-
czony przykład, dotyczący obrazu jednowymiarowego. Część maksimów zostaje od-
rzuconych z uwagi na zbyt mały kontrast w stosunku do tła. Mała wartość parametru
h skutkuje pojawieniem się na obrazie wynikowym dużej liczby niewielkich obiektów
(np. na jedną komórkę może przypadać kilka oddzielnych pikseli). Duża wartość h
powoduje powiększanie się obiektów, ale także zanik mniej znaczących ekstremów.
Z uwagi na dość dużą tolerancję błędów parametr h może być liczbą stałą, ustawioną
przez użytkownika.
Główną zaletą metody rozszerzonych h-maksimów jest brak konieczności prze-
prowadzania czasochłonnego preprocessingu klatek sekwencji. Warunki oświetlenio-
we nie grają tu dużej roli, co daje dużą przewagę nad algorytmem progowania wy-
magającym złożonego obliczeniowo odejmowania tła od obrazu.
12
*
***
*
*
x
jasnosć
h= 1 2
Rysunek 2.10. Wpływ parametru h na wynik działania algorytmu na przykładzieobrazu jednowymiarowego. Kolejne stopnie szarości (od najciemniejszego) oznaczająkolejno h = 1 i h = 2. Warto zauważyć, że część maksimów pozostaje biała – dziejesię tak, gdyż włączenie do wyniku poziomu jasności znajdującego się tuż pod nimi
spowodowałoby połączenie z innymi maksimami.
2.3.3. Algorytm „watershed”
W obrazie monochromatycznym poszczególne obiekty często łączą się ze so-
bą tworząc większe skupiska (rys. 2.11b). Prawidłowo przeprowadzona segmenta-
cja wymaga oddzielenia połączonych komórek tak, aby każda reprezentowana była
przez dokładnie jeden biały element, otoczony z każdej strony czarnym kolorem
(rys. 2.11d). Rozdział komórek można przeprowadzić przy pomocy algorytmu „wa-
tershed” [4] (z ang. metoda detekcji działów wodnych).
Algorytm ten działa w analogii do zalewania terenu wodą w celu stworzenia
zbiorników w jego najgłębszych miejscach. Należy wyobrazić sobie obraz jako po-
wierzchnię (mapę topograficzną), której wgłębienia i uwypuklenia odpowiadają lo-
kalnym minimom i maksimom. Na dnie każdego z wgłębień umieszczony zostaje
otwór, przez który wlewana jest woda. Podczas kolejnych iteracji algorytmu pod-
nosi poziom wody podnosi się o 1, zalewając obszary znajdujące się poniżej tego
poziomu. W przypadku, gdy zalane obszary mają się połączyć stawia się pomiędzy
nimi przegrodę zwaną działem wodnym (ang. dam).
Istnieją dwa rodzaje zastosowań algorytmu „watershed” – rozdzielanie obiek-
tów na obrazie monochromatycznym oraz kompletna segmentacja. Przy rozdziela-
niu obiektów każda klatka sekwencji, poddana działaniu progowania lub metody
h-maksimów, zostaje przekształcona poprzez transformację odległościową w obraz
zapisany w skali szarości, gdzie każdy punkt otrzymuje kolor odpowiadający dystan-
sowi do koloru tła (rys. 2.11c). Jeśli algorytm używany jest do segmentacji zamien-
nie z progowaniem albo h-ekstremami dane wejściowe stanowi oryginalny obraz –
13
A. B.
C. D.
Rysunek 2.11. Przykład działania algorytmu „watershed”. (A) Obraz oryginalnym(B) zastosowanie metody rozszerzonych h-maksimów dla h = 110, (C) transformacja
odległościowa, (D) obraz wynikowy.
aby poprawić skuteczność segmentacji można wówczas zrezygnować z umieszczania
„otworów” w każdym minimum na rzecz samodzielnego określenia punktów począt-
kowych. Można również zwiększyć skuteczność analizując jasność konturu pokrywa-
jącego się z danym działem wodnym [21] – im mniej wyraźny kontur, tym większe
prawdopodobieństwo błędu.
2.4. Wektoryzacja komórek
Bardzo ważny dla dalszego procesu śledzenia komórek jest wybór reprezentacji
pojedynczej komórki w pamięci, stanowiący kompromis pomiędzy ilością gromadzo-
nych informacji, a precyzją działania:
— Zapis rastrowy – zapamiętanie informacji o pozycji każdego piksela komórki
lub tylko konturu. Zapis tego typu charakteryzuje się dużą ilością zajmowanej
pamięci oraz sprawia trudności przy porównywaniu komórek. Jego zaleta to brak
konieczności aproksymacji i co za tym idzie – zachowanie maksymalnej możliwej
dokładności.
— Zapis wektorowy – aproksymacja kształtu komórki do kształtu określonej figu-
ry geometrycznej. W przypadku sekwencji wykonywanych metodą GFP figurą tą
może być elipsa – jej parametry są łatwe w porównywaniu, kształt zaś w większo-
14
ści przypadków dokładnie odzwierciedla rastrowy pierwowzór [1]. Wadę zapisu
wektorowego stanowi złożoność obliczeń niezbędnych do aproksymacji kształtu.
2.4.1. Dopasowanie elipsy do danych
Wektoryzacja do postaci elipsy wymaga odpowiedniego dopasowania jej do zbio-
ru połączonych ze sobą punktów. Jeśli liczba punktów jest dostatecznie wysoka,
dopasowanie odbywa się przy pomocy metody najmniejszych kwadratów [7]. Elip-
sa jest krzywą powstałą z przecięcia stożka z płaszczyzną, równanie ogólne elipsy
w przestrzeni dwuwymiarowej to:
F (x) = xTAx+ bTx+ c = 0 (2.8)
gdzie x = [xy], A jest macierzą 2× 2, b i c stanowią składniki równania. Dla najlep-
szego dopasowania elipsy, suma kwadratów błędów musi być jak najmniejsza:
∑(0− F (x))2 =
∑F (x)2 = min (2.9)
W metodzie najmniejszych kwadratów preferowane są obrazy o dużej rozdzielczo-
ści. W przypadku zbyt małej liczby punktów kształty komórek są aproksymowane do
okręgów o promieniu proporcjonalnym do pola powierzchni na obrazie rastrowym.
Każda komórka zapisana jest w pamięci przy pomocy następujących parametrów:
— współrzędnych środka SX i SY ,
— długości promienia krótszej osi elipsy A,
— długości promienia dłuższej osi elipsy B,
— kąta obrotu Φ, z uwagi na symetrię osiową elipsy z zakresu 〈−90◦, 90◦).
A. B. C.
Rysunek 2.12. Przykłady dopasowania elipsy do obrazu rastrowego
15
3. Śledzenie komórek
3.1. Wprowadzenie
Proces śledzenia polega na dopasowaniu komórek znajdujących się w klatce t
badanego obrazu do komórek znajdujących się w klatce t− 1. Droga przebyta przez
komórkę w klatkach 〈1, t − 1〉 nazywana będzie dalej ścieżką. Każda ścieżka może
mieć długość z zakresu 〈1, N〉, gdzie N oznacza liczbę klatek w sekwencji.
Śledzenie komórek jest typowym problemem wymagającym przypisania bez po-
wtórzeń n do m elementów przy zachowaniu maksymalnej wartości funkcji celu.
Przejrzenie wszystkich możliwych kombinacji dopasowań komórek z klatki t do zna-
lezionych wcześniej ścieżek jest praktycznie niemożliwe ze względu na duże rozmiary
przetwarzanych struktur danych. Potrzebny jest tu algorytm szybki, zapewniający
działanie śledzenia w czasie rzeczywistym.
3.2. Porównywanie komórek
Wektoryzacja kształtów komórek znacznie ułatwia ich porównywanie. Obliczane
jest prawdopodobieństwo aij, że komórka j z klatki t odpowiada ścieżce i z klatki
t− 1 [2]. W przypadku reprezentacji rozpoznanych kształtów w postaci elips praw-
dopodobieństwo aij stanowi iloczyn następujących współczynników:
— Współczynnik położenia, obliczany osobno dla przesunięcia w poziomie i w pio-
nie:
WXij = 1− 2 · (|SXi − SXj|)d
(3.1)
WYij = 1− 2 · (|SY i − SY j|)d
(3.2)
gdzie d — długość boku kwadratu, w którym szukamy dopasowań do danej ko-
mórki (rys. 3.1). Kwadrat ten został wprowadzony w celu ograniczenia liczby
liczonych prawdopodobieństw. Po analizie dostępnych obrazów można bezpiecz-
nie przyjąć założenie, że żadna z komórek nie poruszy się na odległość dalszą niż
ok. 60 pikseli (nawet jeśli nastąpi taka sytuacja, nie będzie żadnej pewności, czy
16
to ta sama komórka). Jeśli badane elementy i oraz j są w poziomie lub w pionie
w większej odległości od siebie niż d2 , wówczas aij przyjmuje wartość 0.
Rysunek 3.1. Obszar poszukiwania komórek, centrum kwadratu stanowi środek ko-mórki, do której dopasowywane są elementy z następnej klatki
— Współczynniki kształtu, określające stosunek dłuższych oraz krótszych osi
elips:
WAij =min(Ai, Aj)max(Ai, Aj)
(3.3)
WBij =min(Bi, Bj)max(Bi, Bj)
(3.4)
— Współczynnik rotacji, określający obrót komórki w stosunku do poprzedniej
klatki obrazu:
WKij = 1− min(k1ij, k2ij)90
(3.5)
Parametry k1ij oraz k2ij (rys. 3.2) obliczone są zgodnie ze wzorami:
k1ij =
Φi − Φj dla Φi − Φj > 0;
90 + (Φi − Φj) dla Φi − Φj < 0.(3.6)
k2ij =
Φj − Φi dla Φj − Φi > 0;
90 + (Φj − Φi) dla Φj − Φi < 0.(3.7)
Ostatecznie prawdopodobieństwo aij wyraża się wzorem:
aij = WXij ·WYij ·WAij ·WBij ·WKij (3.8)
Istnieje możliwość redukcji parametrów WXij oraz WYij do jednego, określają-
cego odległość między komórkami z twierdzenia Pitagorasa. Obecne, nadmiarowe
17
Rysunek 3.2. Kąty k1 i k2 pomiędzy osiami dwóch porównywanych elips
rozwiązanie zwiększa jednak wagę odległości w prawdopodobieństwie aij, co jest
korzystne w procesie śledzenia.
Na podstawie wzoru 3.8 wyznaczana jest macierz prawdopodobieństw A o wy-
miarach M × N , gdzie M — liczba ścieżek w klatce t − 1 i M – liczba komórek
w klatce t. Wiersze oznaczają tu indeks ścieżki i, kolumny – indeks komórki j.
Każda z wartości stanowi prawdopodobieństwo aij.
Przykładowa macierz prawdopodobieństw dla M = 7 ścieżek i N = 6 komórek
poszukiwanych w kwadracie o boku 60 pikseli została przedstawiona w tab. 3.1.
Ścieżki (wiersze) 1, 4, 5, 6 oraz 7 połączą się z odpowiadającymi im komórkami,
ścieżki 2 i 3 nie posiadają żadnego przypisania, zostaną więc uznane za zakończone.
Komórka (kolumna) 4 z klatki t nie łączy się z żadną ścieżką z klatki t− 1, zostanie
więc zaznaczona jako nowa (powstała np. wskutek podziału albo wejścia w obszar
Rysunek 3.3. Drzewo pełne, bez odrzucania mało prawdopodobnych rozwiązań;poszczególne poziomy drzewa odpowiadają ścieżkom, liczby na węzłach to numerkomórki dopasowywanej do ścieżki (kolor czarny) oraz wartość funkcji celu (kolor
czerwony)
Rysunek 3.4. Drzewo z rys. 3.3 po odrzuceniu mało prawdopodobnych przypisań,dla których wartość celu jest równa 0
3.3.2. Ograniczanie drzewa rozwiązań
Istotą algorytmu podziału i ograniczeń jest znalezienie optymalnego rozwiązania
bez konieczności przeglądania całego drzewa. Zakładając, że s jest najlepszym znale-
zionym dotąd rozwiązaniem, wszystkie rozwiązania cząstkowe mniejsze od s zostaną
odrzucone, gdyż na pewno nie doprowadzą do wartości lepszej od s (rys. 3.5)
Szybkość działania metody podziału i ograniczeń zależy ściśle od wartości s, im
bardziej jest ona zbliżona do optymalnego rozwiązania, tym więcej węzłów drzewa
można odrzucić. Jeśli przez dłuższy czas s będzie zbyt niskie, złożoność obliczeń
znacznie wzrośnie. Przy śledzeniu komórek problem ten został rozwiązany poprzez
sortowanie wierszy macierzy prawdopodobieństw w ten sposób, aby najpierw spraw-
dzane były połączenia o maksymalnych wartościach aij. Sortowanie to odbywa się
20
Rysunek 3.5. Drzewo poddane eliminacji rozwiązań częściowych, komórka 3 na dru-gim poziomie (wyróżniona niebieskim kolorem) ma zbyt małą wartość celu i na pew-no nie doprowadzi do rozwiązania lepszego od s = 0, 03; ostatecznym rozwiązaniem
drzewa jest ścieżka 3-2-1 o końcowej wartości funkcji celu równej 0,32
w każdym węźle drzewa, co teoretycznie powinno spowolnić algorytm, w praktyce
jednak przyspiesza go kilkukrotnie (w wielu przypadkach pierwsze znalezione s jest
już optymalnym rozwiązaniem).
3.3.3. Przypisania niesymetryczne
Klasyczne algorytmy podziału i ograniczeń przeszukujące drzewa dotyczą przy-
pisywania symetrycznego, czyli n do n elementów. W przypadku śledzenia komórek
działają również dla przypisań m do n, ale tylko jeżeli każda z m ścieżek ma dopa-
sowaną komórkę (komórki mogą pozostać bez przypisania, traktowane są wówczas
jako nowe).
Problem ten można rozwiązać nie dopuszczając do skracania drzewa (czyli nie
biorąc pod uwagę rys. 3.4) – obliczając wagi ai0 dla „pustych” przypisań. Takie
podejście wydłuża znacznie czas obliczeń (powstają tysiące możliwych nowych ga-
łęzi drzewa, najczęściej prawdopodobieństwa ai0 są zbyt niskie, aby szybko znaleźć
wysoką wartość s. Dodatkowo ai0 nie da się obliczyć bezpośrednio na podstawie ma-
cierzy prawdopodobieństw, podczas testów najlepsze wyniki dały ai0 wyznaczane ze
wzoru ai0 = 1−max(aij), dla ustalonego i oraz każdego j.
Drugą, znacznie lepszą metodą obsługi niesymetrycznych przypisań jest prepro-
cessing macierzy prawdopodobieństw w celu oznaczenia ścieżek nie mających szans
na dopasowanie komórki. Każdy wiersz macierzy odpowiadający takiej ścieżce jest
usuwany, dzięki czemu algorytm podziału i ograniczeń go ignoruje. Niestety puste
21
ścieżki nie zawsze da się wykryć, potrzebny jest tu szereg warunków uwzględniają-
cych zarówno podział komórek, jak i błędy w segmentacji.
3.4. Algorytm aukcyjny
Algorytm aukcyjny został opracowany pod koniec lat 70. przez Dimitrija Bert-
sekasa, jest on wyjątkowo efektywnym podejściem do rozwiązywania problemów
przypisania m do n elementów [3]. Intuicyjnie można wyjaśnić jego działanie na
przykładzie rzeczywistej aukcji, w której udział bierze n kupców i m przedmiotów.
Każdy uczestnik aukcji może kupić dokładnie jeden przedmiot, dąży więc do jak naj-
korzystniejszej transakcji. Aktualna cena j-tego przedmiotu wynosi pj, rzeczywistą
jego wartością jest aij. Optymalnym wyborem dla kupującego zostanie przedmiot
o maksymalnej różnicy pomiędzy ceną a wartością, czyli spełniający warunek:
aiji − pji = maxj=1,...,n
{aij − pj} (3.11)
Jeśli każdy kupujący osiągnie maksymalną możliwą korzyść, wówczas przypisania
i ceny znajdą się w stanie równowagi. W przeciwnym razie konieczna jest kolejna
runda aukcji, w której ceny „spornych” przedmiotów zostaną podbite.
3.4.1. Zastosowanie do śledzenia komórek
W rozdziale dotyczącym algorytmu podziału i ograniczeń problem asymetrycz-
nego przypisania został sformułowany jako poszukiwanie rozwiązania maksymalizu-
jącego iloczyn sum aij. W przypadku algorytmu aukcyjnego funkcja celu ma nieco
inną postać, odzwierciedlającą stan równowagi cen i przypisań:
maxn∑i=0
m∑j=0
aijhij (3.12)
dla każdego możliwego zbioru par (i, j). Zmienna hij przyjmuje wartość 1 jeśli ścieżka
i jest przypisana do komórki j, lub 0 jeżeli takiego przypisania nie ma.
Dopasowywanie niesymetryczne m do n elementów wymusza modyfikację stan-
dardowego algorytmu aukcyjnego [2]. Dla j = 0 ma miejsce „puste” przypisanie
(jeśli ścieżka zostaje zakończona), będące jedynym wyjątkiem od reguły nakazującej
łączenie jednej ścieżki z dokładnie jedną komórką. Cena „pustego” przypisania jest
zawsze równa zeru, niezależnie od przebiegu aukcji.
22
Algorytm aukcyjny ma niewielkie wymagania dotyczące wielkości struktur da-
nych. W każdej iteracji algorytmu wykorzystywane są:
— Zbiór S zawierający wszystkie dotychczasowe przypisania ścieżek do komórek
(i, j), początkowo pusty.
— Wektor cen obiektów pj, każda zawarta w nim cena jest wspólna dla wszystkich
ścieżek; początkowo wartości pj definiuje się jako:
p(0)j = min
i∈B(j)aij (3.13)
gdzie B(j) jest zbiorem ścieżek, które można połączyć z komórką j. Dla pustych
przypisań cena równa jest zeru:
p(0)0 = 0 (3.14)
— Zbiór P (j) ofert składanych każdej j-tej komórce przez poszczególne ścieżki.
W przypadku braku ofert dla danej komórki P (j) = Ø.
3.4.2. Działanie krok po kroku
Algorytm aukcyjny opiera się na dość skomplikowanych założeniach, jego dzia-
łanie najlepiej prześledzić krok po kroku:
1. Znajdź zbiór E zawierający ścieżki, które nie posiadają żadnego przypisania
w zbiorze S, jeśli zbiór E jest pusty zakończ działanie algorytmu.
2. Do każdej ścieżki i ∈ E dopasuj komórkę ji dającą ścieżce maksymalną korzyść
zi = aij − pj, znajdź również drugą najlepszą komórkę i oblicz dla niej korzyść
di:
ji = arg maxj∈A(i)
{aij − pj} (3.15)
zi = maxj∈A(i)
{aij − pj} (3.16)
di = maxj∈A(i),j 6=ji
{aij − pj} (3.17)
3. Oblicz cenę, którą „oferuje” ścieżka i, a następnie dodaj ją do zbioru ofert P
dla komórki ji. Cena ta musi być wystarczająco wysoka, aby przebić oferty in-
nych ścieżek, równocześnie nie może przekroczyć granicy, powyżej której bardziej
opłacalny byłby wybór komórki gwarantującej zysk di:
bij = pji + zi − di + ε (3.18)
23
We wzorze 3.18 został wprowadzony parametr ε, zapobiegający wejściu algoryt-
mu w niekończący się cykl. Każda nowa cena musi być o co najmniej ε większa
od poprzedniej (dla niektórych komórek bij jest równe 0, co może doprowadzić
do nieskończonej pętli, w której ścieżki będą naprzemiennie „odbierać” sobie
przypisane komórki nie zwiększając ich ceny).
4. Dla każdej komórki j wybierz ze zbioru ofert P (j) złożonych przez ścieżki pozycję
ij o największej wartości bij:
vj = maxi∈P (j)
bij (3.19)
W zbiorze S utwórz nowe przypisanie komórki j do ścieżki ij (jeśli j > 0 oraz
komórka j ma już przypisanie do innej ścieżki, usuń je). Dla j > 0 zmień cenę
komórki pj na wartość vj:
pj = vj ⇔ j > 0 (3.20)
Algorytm powinien zakończyć się w kilku iteracjach, długość jego działania zale-
ży bezpośrednio od skuteczności segmentacji oraz liczby komórek w badanym obra-
zie (ich większe zagęszczenie powoduje rozrastanie się macierzy prawdopodobieństw
aij).
3.4.3. Przykład działania
Sposób działania algorytmu aukcyjnego zostanie przedstawiony na przykładzie
dwóch klatek obrazu, zawierających odpowiednio 4 i 3 komórki. Macierz prawdopo-
W drugiej iteracji jedyną rozpatrywaną ścieżką jest i = 3. W jej przypadku
korzyści zi oraz di wynoszą odpowiednio 0,51 (dla komórki j = 1) oraz 0 (dla
pustego przypisania). Nowa cena komórki j = 1 zostaje ustalona na 0,61, co z braku
innych ofert implikuje dodanie do zbioru S przypisania komórki j = 1 do ścieżki
i = 3.
Zbiór E jest pusty, kolejne iteracje nie są więc już potrzebne. Wynikiem działania
algorytmu aukcyjnego są pary (ścieżka, komórka) ze zbioru S.
3.4.4. Modyfikacje algorytmu
Jedną z proponowanych metod ulepszania algorytmu aukcyjnego pod kątem śle-
dzenia komórek jest przeprowadzenie aukcji „od końca”, tzn. zmniejszając stopniowo
ceny. Ma to na celu zapobieganie preferowaniu przez poszczególne ścieżki pustych
25
Tabela 3.7. Wektor cen po pierwszej iteracji
p0 p1 p2 p3
0,00 0,00 0,84 0,42
przypisań. Podczas praktycznej implementacji tego typu problemy nie zostały na-
potkane, podstawowa wersja algorytmu osiągała wysoką skuteczność.
3.5. Przetwarzanie wyników śledzenia komórek
Algorytmy podziału i ograniczeń oraz aukcyjny służą wyłącznie do przypisania
komórkom z klatki t ścieżek z klatki t−1. Nie są brane pod uwagę zjawiska zachodzą-
ce w materiale biologicznym – do ich rozpoznania potrzebny jest osobny algorytm
wykonujący postprocessing obrazu oraz wyników śledzenia [13]. Należy rozróżnić
następujące sytuacje:
— podział komórki na dwie komórki potomne,
— chwilowe zniknięcie komórki,
— chwilowe złączenie się konturów komórek,
— występowanie zbyt krótkich ścieżek.
3.5.1. Podziały komórek
Wykrywanie podziałów komórek jest bardzo ważne z biologicznego punktu wi-
dzenia, pozwala bowiem na określenie długości cyklu komórki [1].
A. B.
Rysunek 3.6. Przykładowy podział komórki. (A) Fragment klatki t − 1 obrazu,(B) fragment klatki t.
Zakładając, że ścieżka p ∈ 〈1, i〉 ulega podziałowi na komórki k1 i k2 ∈ 〈1, j〉, musi
nastąpić zakończenie ścieżki i oraz utworzenie dwóch nowych ścieżek o początkach
w k1 i k2. Potencjalnymi miejscami podziału są komórki nie mające odpowiedni-
ka w poprzednich klatkach sekwencji, wykazujące dostatecznie duże podobieństwo
26
do jednej ze ścieżek r oraz do drugiej komórki potomnej. Miara podobieństwa s
wyznaczana jest na podstawie wzoru:
s =min{ark1 , ark2}max{ark1 , ark2}
(3.21)
Dwie komórki uważa się za podobne, jeśli miara ich podobieństwa przekracza zadany
wcześniej próg ppod. Jeżeli ppod = 1 oznacza to, że obie komórki muszą być takie same;
w praktyce stosuje się wartości rzędu ppod = 0, 5, aby tolerancja na zmiany kształtu
była dostatecznie wysoka.
Wykrywanie podziałów składa się z następujących kroków:
1. Sporządzenie listy komórek, które pojawiły się w klatce obrazu t i nie mają
odpowiedników w klatce t− 1.
2. Dla każdej komórki j z listy:
a) Znalezienie w macierzy prawdopodobieństw najlepiej pasującej ścieżki ij z klat-
ki t− 1:
ij = arg max{a0j, a1j, . . . , aij} (3.22)
b) Znalezienie komórki potomnej j2 (innej niż j), powstałej z tego samego po-
działu. Powinna być to komórka przypisana przez algorytm śledzący do ścież-
ki ij.
c) Sprawdzenie za pomocą wzoru 3.21, czy komórka j pasuje do ścieżki ij w po-
dobnym stopniu, jak komórka j2. Jeśli s ppod, wówczas prawdopodobnie
nastąpił tu podział; jeśli s < ppod przejdź do następnej iteracji.
d) Wykluczenie możliwości chwilowego zniknięcia komórki j lub powtórnego po-
jawienia się jej po połączeniu konturu z inną komórką.
e) Zaznaczenie podziału w strukturach danych – usunięcie przypisania komór-
ki j2 do ścieżki ij, zakończenie ścieżki ij, utworzenie dwóch nowych ścieżek
o początkach w j i j2.
3.5.2. Znikanie komórek
Poziom jasności komórek w trakcie trwania sekwencji często ulega radykalnym
zmianom, wpływając niekorzystnie na wyniki segmentacji. Szczególną wrażliwość
wykazuje w tym przypadku progowanie. Komórka o barwie zbliżonej do barwy tła
może nie zostać w ogóle zlokalizowana. Jeśli „zniknie” w klatce t (rys. 3.7b), a na-
stępnie w klatce t + n ponownie zwiększy swą jasność ponad próg ustalony dla
27
segmentacji (ryz. 3.7c), wówczas zostanie stwierdzone zakończenie ścieżki w klatce t
i pojawienie się nowej komórki w klatce t+ n.
A. B. C.
Rysunek 3.7. Przykładowe zniknięcie komórki. (A) Klatka t − 1. (B) Klatka t.(C) Klatka t + n, w tym przypadku n = 2, czyli komórka była nieobecna przez
dwie klatki.
Aby prawidłowo zinterpretować tego typu sytuację jako chwilowy zanik komórki
należy podjąć następujące kroki:
1. Sporządzenie listy komórek, które pojawiły się w klatce obrazu t i nie mają
odpowiedników w klatce t− 1 (podobnie, jak w przypadku podziałów).
2. Dla każdej komórki j z listy:
a) Sprawdzenie, czy wśród komórek, które zniknęły w k ostatnich klatkach są
obiekty pasujące do komórki j. Miara podobieństwa zdefiniowana jest wzorem
3.8.
b) Sprawdzenie, czy pojawienie się komórki nie jest skutkiem chwilowego połą-
czenia z konturem innej komórki.
c) Jeśli warunki a) i b) są spełnione, zaznaczenie zniknięcia w strukturach da-
nych (bez tworzenia nowej ścieżki w klatce t).
Ważną decyzją jest tu dobór współczynnika k, oznaczającego liczbę sprawdza-
nych wstecz klatek. Musi on być wystarczająco wysoki, aby bezbłędnie pokryć
wszystkie przypadki zaniku komórek. Zbyt wysoka wartość prowadzi do obniżenia
jakości wyniku poprzez kojarzenie nie związanych ze sobą obiektów.
3.5.3. Łączenie konturów komórek
Jedną z największych wad obrazów monochromatycznych jest trudność w rozróż-
nianiu znajdujących się blisko siebie obiektów. Jeśli dwie komórki zbliżą się do siebie
na tyle, by nastąpiło połączenie ich konturów (rys. 3.8b), na obrazie monochroma-
tycznym będą widnieć jako jeden, duży element. Istnieje szereg metod unikania tego
typu sytuacji (chociażby przedstawiony na rys. 2.11 algorytm „watershed”), nie da
się ich jednak do końca wyeliminować.
28
Rozdział komórek może być przeprowadzony poprzez analizę kolejnych klatek
obrazu, działającą na podstawie danych o przemieszczeniach i kształtach obiektów
(w przeciwieństwie do algorytmu „watershed” opierającego się w pełni na informa-
cjach uzyskanych w drodze przekształceń matematycznych).
A. B. C.
Rysunek 3.8. Przykładowe zetknięcie konturów komórek. (A) Klatka t− 3, konturysą rozdzielne. (B) Klatka t− 2, komórki nachodzą na siebie (C) Klatka t, następuje
ponowny rozdział, komórki były ze sobą połączone przez 2 klatki obrazu.
Kolejne kroki algorytmu wykrywania złączonych konturów to:
1. Sporządzenie listy komórek, które pojawiły się w klatce obrazu t i nie mają
odpowiedników w klatce t− 1 (analogicznie do dzielenia komórek).
2. Dla każdej komórki j z listy:
a) Sprawdzenie, czy w ostatnich k klatkach wystąpiło połączenie komórki j
z inną komórką. Połączenia wykrywa się następująco: jeśli w danej klatce tpobrazu ścieżka i1 zostaje zakończona, sprawdzany jest wiersz macierzy praw-
dopodobieństw {ai11, ai12, . . . , ai1j}. Zakładając, że komórka jk = arg max ai1jjest dopasowana do ścieżki i2, oblicza się stosunek prawdopodobieństw:
s =min{ai1jk , ai2jk}max{ai1jk , ai2jk}
(3.23)
Dla s większego od ustalonego wcześniej progu odnotowana zostaje możliwość
połączenia ścieżek i1 i i2. Informacja ta może, ale nie musi być wykorzystana
do rozdzielenia tych ścieżek w dalszej części sekwencji.
b) Przypisanie ścieżkom z klatki tp komórek w klatce bieżącej (określenie, do
której ze ścieżek i1 i i2 pasuje komórka j). Miara podobieństwa zdefiniowana
jest jako:
aij = WAij ·WBij ·WKij (3.24)
Brak we wzorze 3.24 współczynników odpowiadających za przesunięcie obiek-
tów wiąże się z faktem, iż połączone komórki cały czas się przemieszczają, co
nie może wpłynąć na wynik działania algorytmu.
29
c) Zaznaczenie rozdzielenia w strukturach danych – w szczególności usunięcie
informacji o zakończeniu ścieżki i1.
Konieczne do zdefiniowania parametry to k – liczba klatek sprawdzanych wstecz,
prozdz – próg podobieństwa.
3.5.4. Usuwanie krótkich ścieżek
Jeżeli dana ścieżka jest zbyt krótka w stosunku do długości całej sekwencji ob-
razów (mierzonej w liczbie klatek), istnieje duże prawdopodobieństwo, że nastąpił
błąd segmentacji. Większa liczba błędnych ścieżek może spowodować poważne roz-
bieżności podczas analizy wyników lub prowadzić do powstawania nadmiarowych
podziałów komórek. Najprostszym rozwiązaniem tego problemu jest zignorowanie
krótkich ścieżek, czyli uznanie ich za losowy szum – ewentualnie usunięte poprawne
ścieżki przy swojej niewielkiej długości i tak nie wprowadzą do statystyk wartościo-
wych informacji.
Oznaczenie ścieżki jako ignorowanej następuje, gdy ma ona długość d < dmin.
Pod uwagę brane są wyłącznie ścieżki ze środka sekwencji (nie mogą mieć początku
w klatce t = 1 lub końca w klatce t = N , gdzie N – długość sekwencji). Podziały oraz
inne zjawiska, w których biorą udział ignorowane ścieżki, muszą zostać unieważnione.
30
4. Analiza ruchu
4.1. Wprowadzenie
Analizę wyników zwróconych przez algorytmy śledzenia komórek można prze-
prowadzić na kilka sposobów. Ma ona na celu zarówno odnalezienie prawidłowości
w ruchu obiektów, jak i oszacowanie jakości działania użytych metod. W zdecydowa-
nej większości przypadków zwracane zostają wykresy pokazujące trendy i rozkłady
wartości opisujących sekwencję obrazów.
W dalszej części rozdziału przedstawiono graficzne i numeryczne sposoby analizy
zachowania komórek, obejmujące kontrolę jakości, statystyki dotyczące zjawisk bio-
logicznych, badania właściwości migracyjnych oraz wykreślanie ścieżek przebytych
przez komórki w dwóch i trzech wymiarach.
4.2. Jakość działania
Najskuteczniejszą miarą skuteczności danego algorytmu śledzenia komórek jest
porównanie jego wyników z wynikami uzyskanymi przez człowieka. Niestety ręczne
sprawdzanie poprawności działania stanowi dość czasochłonną czynność, możliwą
do zrealizowania wyłącznie przy małej liczbie klatek oraz ścieżek. Sekwencje obra-
zów opisane w tym dokumencie mają średnio 100 klatek i 150 ścieżek, co stwarza
konieczność każdorazowego rozpatrzenia ok. 15 000 elementów. W tym przypadku
znacznie lepiej zastosować miary, które mogą być wyliczone automatycznie.
Najważniejszą tego typu miarę jakości stanowi liczba komórek, które samoistnie
pojawiły się w środku sekwencji. Założenia biologiczne nie przewidują powstawania
komórek poza podziałami, tego typu sytuacje należy więc uznać za błąd segmen-
tacji (najczęściej problem leży w nierównomiernej jasności obiektu). Wyjątkiem są
komórki pojawiające się na krawędziach obrazu – przeważnie następuje tam wejście
w pole widzenia kamery mikroskopu.
Analiza odbywa na dwa sposoby:
— Wykres liczby nowych komórek w czasie (rys. 4.1) – pozwala na określenie, czy
zakłócenia segmentacji rozmieszczone są równomiernie. W miejscach wyraźnych
31
maksimów można mówić o wadliwych pojedynczych klatkach obrazu (zazwyczaj
jedna na ok. 100 klatek jest niemal całkowicie zaciemniona, co znacznie utrudnia
śledzenie).
0 10 20 30 40 50 60 70 80 90 100
1
2Pojawienia s ssię komórek w czasie (razem 20 w 99 klatkach).
Klatki
Now
e ko
mór
ki
Rysunek 4.1. Wykres słupkowy liczby nowych komórek od czasu. Jego równomier-ność wskazuje na prawidłowe oświetlenie wszystkich klatek obrazu.
— Współczynnik jakości Wj, znormalizowany po liczbie klatek i ścieżek. Obliczany
jest według wzoru:
Wj =1
mean(nt)k
(4.1)
gdzie nt oznacza liczbę nowych komórek w klatce t, zaś k – średnią liczbę komórek
w jednej klatce sekwencji. Idealny współczynnik Wj jest równy +∞ (jeśli nie
pojawiła się żadna nowa komórka), zwiększa się on proporcjonalnie do jakości
działania użytych algorytmów.
Inną metodą sprawdzania poprawności wyniku jest analiza czasu trwania ście-
żek. Liczba ścieżek widocznych przez wszystkie N klatek sekwencji powinna być jak
największa, dość dokładną ocenę jakości algorytmu umożliwia wygenerowanie histo-
gramu (rys. 4.2). Jego zbyt wyrównany kształt może oznaczać przecięcie sekwencji
przez nieprawidłowe bądź źle oświetlone klatki obrazu.
Wspomniane już manualne sposoby kontroli jakości można przeprowadzić wy-
rywkowo. Za zdecydowaną większość błędów odpowiadają algorytmy segmentacji,
występują również problemy z rozdzielaniem konturów złączonych komórek (opi-
sanym w rozdziale 3.5.3). Z uwagi na podobieństwo kolejnych klatek wystarczy
przeanalizować niewielki wycinek sekwencji pod kątem nieprawidłowo rozpoznanych
obiektów, w szczególności w miejscach o dużym ich zagęszczeniu.
32
−20 0 20 40 60 80 100 1200
10
20
30
40
50Czas zycia komórki
Licz
ba k
omóe
k
Klatki
Rysunek 4.2. Histogram czasu trwania ścieżek przebytych przez komórki. Około 50komórek było widocznych na wszystkich klatkach obrazu.
4.3. Podziały i obumieranie komórek
Badania podziałów komórek są jednym z głównych powodów stosowania zauto-
matyzowanego śledzenia. Wykorzystuje się je m.in. do analizy cyklu życiowego ko-
mórki, czyli jej zachowania od chwili powstania z podziału mitotycznego aż do po-
dzielenia się na dwie nowe komórki [1]. Wprowadzane do tkanek substancje powo-
dują zaburzenia w kolejnych fazach cyklu. Przy odpowiednio dużej ilości danych
o pełnych cyklach możliwe jest sporządzenie statystyk prezentujących szczegółowo
zmiany zachodzące w materiale biologicznym.
Niestety używane w niniejszej pracy sekwencje obrazów mają niewielką długość
(rzędu 100 klatek), co ogranicza występowanie pełnych cykli (zdarza się to niezmier-
nie rzadko). W rezultacie generowane są tylko ogólne statystyki, dotyczące liczby
podziałów (rys. 4.3) i czasu życia komórek (rys. 4.2).
Bardziej szczegółowe informacje są do uzyskania z wykresów przedstawionych
w rozdziale 4.4, generowanych dla grup komórek, które:
a) powstały w wyniku podziału,
b) uległy podziałowi,
c) przeszły przez pełny cykl życia.
33
0 10 20 30 40 50 60 70 80 90 100
1
2
3
4Podzialy komórek w czasie (razem 74 w 99 klatkach).
Klatki
Licz
ba p
odzi
alów
Rysunek 4.3. Wykres podziałów komórek w czasie, w tym przypadku mamy jedynie74 podziały w 99 klatkach
4.4. Prędkość i kierunek poruszania
Badane przez biologów substancje wpływają na komórki, zmieniając ich ruchli-
wość oraz skłonność do migracji. Danych dotyczących zachowania poszczególnych
komórek dostarcza analiza prędkości i przebytych ścieżek.
Dla każdej ścieżki obliczane są trzy rodzaje prędkości [6, 9, 10]:
a) MRDO (ang. Maximum Relative Distance from the point of Origin), dystans
przebyty w linii prostej od punktu początkowego (w czasie t = 0) do najdal-
szego osiągniętego punktu, normalizowany po czasie obserwacji. Normalizacja
umożliwia w tym przypadku porównywanie komórek o różnej długości życia.
Niska wartość MRDO oznacza, że komórka porusza się po niewielkim obszarze.
Wysokie MRDO wskazuje na występowanie migracji.
b) TDS (ang. Total Displacement Speed), dystans w linii prostej od punktu po-
czątkowego do punktu końcowego ścieżki, normalizowany po czasie obserwacji.
Należy zauważyć, że TDS ¬MRDO. Jeśli obie prędkości są sobie równe, wów-
czas komórka zakończyła swoją drogę w najdalszym osiągniętym punkcie.
c) AVS (ang. AVerage Speed), prędkość średnia, wskazująca drogę przebytą przez
komórkę w jednostce czasu.
Wymienione prędkości obliczane są na podstawie wektorów vi(t), opisujących
przesunięcia danej komórki i w klatce t oraz na podstawie wektorów ~T i ~M przedsta-
wionych na rys. 4.4. W praktyce do analizy ruchu komórek najczęściej wykorzystuje
się MRDO jako cechę uniwersalną, pozwalającą na rozróżnienie obiektów porusza-
34
t=0
A. M
Tt=0
C.M
Tt=0
B.
v(0)
v(N)
v(t)
Rysunek 4.4. Przykłady wektorów T i M używanych do obliczenia prędkości TDSi MRDO. Ścieżki oznaczone zostały kolorem czerwonym. (A) Ścieżka i złożonaz pojedynczych wektorów v(t) – suma ich wartości
∑ |vi(t)| podzielona przez Nto inaczej prędkość AVS. (B) i (C) Prędkość MRDO oblicza się ze wzoru
MRDO = |M |N
. Prędkość TDS jest równa |T |N
.
jących się dużymi i małymi krokami. Przykładowy histogram MRDO znajduje się
na rys. 4.5.
0 0.5 1 1.5 2 2.5 3 3.5 40
5
10
15
20
25
30Histogram predkosci MRDO.
Predkosc
Licz
ba k
omór
ek
Rysunek 4.5. Histogram prędkości MRDO. Większość komórek ma niewielką war-tość MRDO, co wskazuje na niską skłonność do migracji.
Jeżeli wspomniane prędkości są traktowane jako wektory, istnieje możliwość ana-
lizy kierunku migracji komórek [6]. Analizę tą można przeprowadzić umieszczając na
wykresie wszystkie wektory MRDO (rys. 4.6), ze wspólnym początkiem w punkcie
(0, 0). Duże zagęszczenie wektorów na danym obszarze wykresu oznacza jeden z „pre-
ferowanych” przez komórki kierunków. Ogólny trend MRDO oblicza się uśredniając
wektory MRDO. Przy równomiernym rozłożeniu wektorów długość MRDOsr jest
bardzo mała.
Wykres 4.6 pokazuje trend w migracji komórek, nie da się jednak odczytać z nie-
go najczęściej obieranego przez komórki kierunku. W celu przeprowadzenia tego
35
1
0.875
0.75
0.625
0.5
0.375
0.25
0.125
0
π
π/23/2 π
π/4
3/4 π
7/4 π
5/4 π
x
y
−1 −0.75 −0.5 −0.25 0 0.25 0.5 0.75 1
−1
−0.75
−0.5
−0.25
0
0.25
0.5
0.75
1
Rysunek 4.6. Wektory MRDO (dla czytelności pozbawione grotów) umieszczonena jednym wykresie, ze wspólnym początkiem w punkcie (0, 0), normalizowane podługości najdłuższego wektora (zakłada się, że jest równa 1). Żółty wektor to średniaprędkość MRDOsr, powiększona kilkakrotnie z uwagi na niską wartość, uniemożli-
wiającą prezentację na wykresie.
typu analizy konieczne jest wykorzystanie chwilowych prędkości vi(t), wskazujących
kąty αi(t), czyli kierunki ruchu. Definiuje się 8 przedziałów kątów αi(t), szerokich
na 45◦ (π4 ) przy założeniu, że kąt 0◦ odpowiada przemieszczeniu o wektor [0,−1].
Po zsumowaniu długości wektorów vi(t) dla każdego przedziału D generowany jest
histogram kołowy, przedstawiony na rys. 4.7.
W ujęciu formalnym, wielkość H każdego z wycinków histogramu dla danego
przedziału kątów D oblicza się następująco:
S(D) =∑t
∑∀i:αi(t)∈D
|vi(t)| (4.2)
H(D) = S(D)÷(∑
D
S(D))
(4.3)
Drugi człon równania 4.3 oznacza normalizację sumy długości S(D) wektorów z prze-
działu D przez sumaryczną długość wektorów ze wszystkich przedziałów.
Widoczne na histogramie z rys. 4.7 białe trójkąty to wersja różnicowa wykresu,
dotycząca par przeciwległych przedziałów (D,D − π). Ich długość R(D) oblicza się
36
według wzoru:
SR(D) =
S(D)−S(D−π)S(D)+S(D−π) dla S(D) > S(D − π);
0 dla S(D) ¬ S(D − π).(4.4)
R(D) = SR(D)÷(∑
D
SR(D))
(4.5)
SR(D) przyjmuje wartość 1 jeśli wszystkie komórki poruszają się w przedziale kątów
D, żadna zaś w przedziale D− π. Graficzna reprezentacja R(D) pozwala na szybkie
określenie najczęściej występującego w ruchu kierunku.
−1 −0.75 −0.5 −0.25 0 0.25 0.5 0.75 1
−1
−0.75
−0.5
−0.25
0
0.25
0.5
0.75
1
1
0.875
0.75
0.625
0.5
0.375
0.25
0.125
0
π
π/23/2 π
π/4
3/4 π
7/4 π
5/4 π
Rysunek 4.7. Histogram kątów nachylenia wektorów vi(t). Czerwone trójkąty to ko-lejne słupki histogramu (dla każdego z przedziałów D o szerokości 45◦). Białe trójką-ty oznaczają różnicę pomiędzy przeciwległymi przedziałami. Żółty wektor wskazujewartość średnią kierunku ruchu (wektor jest wydłużony dla czytelności wykresu).
4.5. Analiza statystyczna
Wykres na rys. 4.6 przedstawia wektory MRDO wszystkich komórek. Oprócz
wizualnej analizy wykresu, warto określić rozkład zawartych w nim danych – doko-
nuje się tego przy pomocy testu Rayleigh’a [12], weryfikującego hipotezę:
H0: zmienna losowa o zbiorze wartości w postaci N niezależnych kątów wskazy-
wanych przez wektory MRDO ma rozkład równomierny.
37
Odrzucenie hipotezy zerowej oznacza przeważnie występowanie rozkładu jednomo-
dalnego. Test Rayleigh’a bazuje na statystyce R [6]:
R2 =[
1N
N∑n=1
cos Θn
]2+[
1N
N∑n=1
sin Θn
]2(4.6)
gdzie N – liczba wektorów oraz Θn – kąt nachylenia n-tego wektora. Obserwowana
wartość R odpowiada MRDOsr. Im dłuższy średni wektor MRDO, tym większa
dyspersja i co za tym idzie – mniejsza równomierność.
Jeśli wektory są rozłożone równomiernie, zawierająca ich wartości zmienna lo-
sowa przyjmuje rozkład χ2, w przypadku którego poziom istotności testu może być
aproksymowany według równania [6]:
S = 2NR2 −R2 +NR4
2(4.7)
ρ = exp[√
1 + 4N + 4(N2 −Ns)− 1− 2N ] (4.8)
gdzie s stanowi wartość obserwowaną parametru S.
Warto zauważyć, że nie są brane pod uwagę długości poszczególnych wektorów
MRDO, ich uwzględnienie wymaga użycia zmodyfikowanego testu Rayleigh’a, za-
proponowanego przez Moore’a [6], w którym statystyka RM ma postać:
R2M =
[1N
∑Nn=1 n cos Θn
]2+[1N
∑Nn=1 n sin Θn
]2N3
(4.9)
Wektory rozpatrywane są tu w kolejności od najkrótszego (n = 1) do najdłuższego
(n = N). Zakładając, że N 30 (dla mniejszego N obliczanie wariancji z danych
powoduje zbyt duży błąd), możliwa jest aproksymacja poziomu istotności (dla hi-
potezy H0) w następujący sposób:
ρ = exp(
−6r2N2
(N + 1)(2N + 1)
)(4.10)
gdzie r oznacza obserwowaną wartość R.
Powyższa analiza ma zastosowanie także dla rozkładu wektorów v(t) oraz wek-
torów stanowiących różnice pomiędzy dwoma rozkładami. Wyniki analizy są dość
precyzyjne, niedokładności powoduje tu głównie przyjęcie założenia, że wszystkie
komórki w obrębie klatki obrazu poruszają się niezależnie (w rzeczywistości często
na siebie oddziaływują).
38
4.6. Reprezentacja ścieżek
Oprócz wykresów opisujących poszczególne właściwości ruchu, można stosować
dwu- lub trójwymiarowe wizualizacje ścieżek przebytych przez komórki [6, 14, 13].
Są one szczególnie przydatne w przypadku porównywania dwóch różnych sekwencji
obrazów.
W wizualizacji trójwymiarowej na osiach x oraz y umieszcza się obraz z naniesio-
nymi punktami środkowymi komórek. Oś z oznacza numer klatki. Odpowiadające
sobie komórki są łączone między klatkami, tworząc ścieżki. Warunkiem czytelności
jest mała liczba obiektów (rys. 4.8).
0
500
1000
0 200 400 600 800 1000
0
10
20
30
40
50
60
70
80
90
100
x y
t
Rysunek 4.8. Trójwymiarowa wizualizacja ruchu 20 losowo wybranych komórek
Wizualizację dwuwymiarową przeprowadza się nieco inaczej – ścieżki przebyte
przez n losowo wybranych komórek rysowane są od punktu (0, 0), stanowiącego
wspólny początek (rys. 4.9). Kształt powstałego w ten sposób obrazu można porów-
nać z inną sekwencją analizując m.in. rozłożystość ścieżek oraz dystans migracji.
S8S7
x x
y y
Rysunek 4.9. Dwuwymiarowa wizualizacja ruchu 10 losowo wybranych komórek.Zarówno rysunki (A), jak i (B) dotyczą tej samej sekwencji obrazów.
39
5. Implementacja w środowisku
MATLAB
5.1. Wprowadzenie
Opisywane w poprzednich rozdziałach algorytmy zostały zaimplementowane pod
kontrolą środowiska MATLAB R2007b z zainstalowanym komponentem Image Pro-
cessing Toolbox 6.0. Wybór oprogramowania MATLAB jest podyktowany dużymi
możliwościami w zakresie operacji macierzowych, szeroką gamą wbudowanych me-
tod obróbki obrazów oraz rozbudowanymi modułami odpowiedzialnymi za statysty-
kę. Brak konieczności programowania elementarnych funkcji pozwala skupić się na
konstrukcji i optymalizacji algorytmów, niestety odbywa się to kosztem wydajności,
znacznie mniejszej, niż w przypadku kompilowanych języków niskiego poziomu.
Konstrukcja algorytmu umożliwia testowanie różnych wariantów składowych me-
tod. Jest wzorowana na stosach protokołów, gdzie kolejne warstwy działają nieza-
leżnie od siebie, przekazując sobie dane w określonym z góry formacie. Każda klatka
sekwencji poddawana zostaje kolejno: konwersji na obraz monochromatyczny, roz-
poznaniu komórek, wektoryzacji, budowie macierzy prawdopodobieństw, śledzeniu
komórek oraz postprocessingowi. Wszystkie możliwe kombinacje zaimplementowa-
nych metod przedstawia rys. 5.1.
Podane w kolejnych rozdziałach czasy działania poszczególnych części algoryt-
mu dotyczą testów wykonanych na komputerze z procesorem Intel Celeron 1,7 GHz
z 2 GB pamięci RAM. Przyspieszenie obliczeń jest możliwe przy zastosowaniu pro-
cesora wielordzeniowego.
Kod źródłowy algorytmu znajduje się na płycie CD dołączonej do pracy.
5.2. Odczyt danych
Dane wejściowe stanowią 22 sekwencje obrazów, oznaczone jako S1 . . . S22, ma-
jące długość ok. 100 klatek, przy rozmiarze klatki 1024 × 1024 pikseli. Zapisane są
w bezstratnym, 24-bitowym formacie TIFF (1 052 293 bajtów/klatkę), co wyklucza
40
Wczytanie obrazu
Progowanie Metoda rozszerzo-nych h-maksimów
Algorytm watershed
Rozpoznaniekomórek
Metoda aukcyjna Metoda podziałui ograniczen
Wykrycie zjawiskbiologicznych
Wspomaganieobrazami fazowo-
kontrastowymi
Odczyt
Konwersjana obrazmonochro-matyczny
1.
2.
Rozpoznanie3.
Sledzenie6.
Postprocessing7.
Wektoryzacja(elipsy)
Wektoryzacja4.
Budowa macierzyprawdopodobienstw
Łaczenie5.
Korekta błedów
Rysunek 5.1. Schemat możliwych ścieżek działania algorytmu. Bloki oznaczone prze-rywanym konturem to metody opcjonalne.
zafałszowanie wyników przez kompresję lub zbyt niską głębię kolorów. Sekwencje
dostępne są w dwóch wersjach: fluorescencyjnej oraz fazowo-kontrastowej.
Odczyt danych zrealizowano poprzez wbudowane procedury środowiska MA-
TLAB do postaci macierzy pikseli. Z uwagi na brak zastosowania dla informacji
o barwie pikseli, obraz konwertowany zostaje do 8-bitowej skali szarości poleceniem
rgb2gray, przetwarzającym wartości R, G i B do koordynatów NTSC, a następnie
usuwającym informacje o odcieniu i nasyceniu koloru. Ogólna postać powyższego
przekształcenia to:
PGRAY = αR + βG+ γC (5.1)
Współczynniki α, β i γ dla NTSC są równe odpowiednio 0,2989, 0,5870 oraz 1.
41
5.3. Konwersja na obraz monochromatyczny
5.3.1. Progowanie
Pierwszą z zaimplementowanych metod konwersji obrazu do postaci jednobi-
towej stanowi progowanie. Wymaga ono czasochłonnego przetwarzania wstępnego,
złożonego w dużej mierze z przekształceń morfologicznych [19]. Wykonywane są
następujące operacje:
1. Wygenerowanie tła poprzez morfologiczne otwarcie (funkcja imopen). Element
strukturalny ma tu postać dysku o promieniu 15 pikseli, jego duże pole po-
wierzchni pozwala na usunięcie komórek z pierwszego planu (są one znacznie
mniejsze).
2. Odjęcie tła od oryginalnego obrazu (z nasycaniem do zera, przy pomocy funkcji
imsubtract).
3. Automatyczne dostosowanie histogramu poprzez funkcje imadjust i stretchlim,
ze względu na bardzo mały kontrast obrazu po odjęciu tła. Miejsca występowania
dolnego 1% i górnego 1% wszystkich wartości histogramu oznaczane są jako jego
nowe granice x1 i x2 (zgodnie z rozdziałem 2.2.3).
4. Zastosowanie filtru medianowego o sąsiedztwie 3 × 3 w celu usunięcia pojedyn-
Progowanie przeprowadzane jest na podstawie progu określonego adaptacyjnie
metodą Otsu (funkcje im2bw i graythresh). Na rys. 5.2 przedstawiono średni czas
trwania każdego z przedstawionych powyżej kroków.
91%
< 1%< 1%
8%< 1%morf. otwarcie
odjecie tla
histogramfiltr medianowy
progowanie
48%
< 1%4%
43%
4%
A. B.
Rysunek 5.2. Porównanie średniego czasu trwania poszczególnych faz przetwarzaniaobrazu i progowania, dla tła generowanego (A) co 1 klatkę oraz (B) co 10 klatek.
Najdłużej trwają metody morfologiczne, czyli otwarcie i filtr medianowy.
42
Zdecydowanie najbardziej kosztowną obliczeniowo operację stanowi morfologicz-
ne otwarcie w celu wyznaczenia tła danej klatki. Warto zauważyć, że tło w całej se-
kwencji ulega niewielkim zmianom (gradient oświetlenia pozostaje taki sam, zmienia
się najczęściej stopień jasności obrazu) – można więc generować je tylko w pierwszej
klatce, albo co określony kwant czasu ∆t. W tabelach 5.1 i 5.2 znajduje się ana-
liza zależności pomiędzy wartością ∆t, a jakością uzyskanych wyników dla dwóch
przykładowych sekwencji S3 i S9 (o różnym stopniu skomplikowania). Wyliczone
parametry to:
— t – średni czas przetwarzania obrazu przed progowaniem (przetwarzanie obejmu-
je morfologiczne otwarcie, odejmowanie tła, dopasowanie histogramu oraz filtr
medianowy),
— Wj – współczynnik jakości dla sekwencji, opisany w rozdziale 4.2,
— Nd=1 – liczba ścieżek o długości 1 klatki,
— Nd=max – liczba ścieżek o maksymalnej możliwej długości,
— ERRz / ERRn – liczba nieprawidłowo rozpoznanych / nie rozpoznanych ko-
mórek w klatce k (wyznaczona manualnie) przy założeniu, że generowanie tła
nastąpiło w klatce k − ∆t + 1; badania przeprowadzono tylko dla jednej klatki
każdej z sekwencji z uwagi na konieczność każdorazowego sprawdzenia popraw-
ności ok. 2000 komórek.
Tabela 5.1. Jakość i szybkość działania algorytmów segmentacji oraz śledzenia dlaróżnych wartości kwantu czasu ∆t, przy użyciu nieskomplikowanej sekwencji ze zróż-nicowanym oświetleniem. Można tu zaobserwować znaczące rozbieżności, spowodo-
Brak ∆t większych od 10 wiąże się z koniecznością uwzględnienia nagłych zmian
oświetlenia, których szkodliwość można zaobserwować w wierszach 4, 5, 7, 8 i 9
43
Tabela 5.2. Jakość i szybkość działania dla skomplikowanej sekwencji S3 z jednorod-nym oświetleniem, zawierającej wiele komórek o złączonych konturach. Widocznajest duża równomierność wyników badań, żadna z wartości ∆t z przedziału 〈1, 10〉
Z uwagi na wyraźnie zaznaczone kontury niektórych komórek, obrazy wykona-
ne w technologii fazowo-kontrastowej mogą być użyte do wspomagania segmentacji
poprzez odjęcie od obrazów GFP (po odpowiedniej obróbce). Tego typu działanie
prowadzi do rozdzielenia komórek kosztem zmniejszenia ich rozmiaru, co może za-
burzyć proces śledzenia. Kolejne kroki wspomaganego algorytmu to:
1. Wygenerowanie tła poprzez morfologiczne otwarcie.
2. Odjęcie tła od oryginalnego obrazu GFP.
3. Dostosowanie histogramu obrazu fazowo-kontrastowego tak, aby widoczne by-
ły tylko i wyłącznie kontury komórek. W praktyce wystarcza ręczne określenie
granic histogramu, w znormalizowanej skali od 0 do 1 zadowalające wyniki uzy-
skiwane są dla x1 = 0, 4 oraz x2 = 1.
4. Trzykrotne rozjaśnienie obrazu otrzymanego w poprzednim punkcie.
5. Odjęcie rozjaśnionego obrazu od obrazu GFP (następuje rozdzielenie konturów).
6. Automatyczne dostosowanie histogramu poprzez funkcję imadjust.
7. Dwukrotne zastosowanie filtru medianowego (pojedynczy przebieg nie usuwa
wszystkich zakłóceń wprowadzonych w punktach 3-5).
A. B.
Rysunek 5.4. Przykład użycia obrazów fazowo-kontrastowych w celu wspomaganiasegmentacji. (A) Obraz z rys. 5.3 bez wspomagania. (B) Obraz po odjęciu konturów
komórek z obrazu fazowo-kontrastowego.
Przykładowy wynik powyższego algorytmu znajduje się na rys. 5.4, pomimo
dłuższego działania widoczna jest znaczna poprawa. Tab. 5.3 i 5.4 zawierają analizę
rezultatów przetwarzania dwóch sekwencji S3 i S9 (omawianych już w tab. 5.1 i 5.2),
dla kwantu czasu ∆t = 1 i grupy n = 10 komórek.
Wyniki z tabel wskazują jednoznacznie na poprawę jakości działania segmentacji,
przy równoczesnym wzroście liczby niezauważonych komórek (stanowią ok. 6% ogó-
łu). Liczba nieprawidłowo rozpoznanych komórek ulega znacznej redukcji, głównie
z powodu odrzucenia najmniejszych obiektów. Decyzja o zastosowaniu wspoma-
45
Tabela 5.3. Analiza działania wspomagania segmentacji dla skomplikowanej sekwen-cji S3 (zawierającej dużo złączonych komórek), parametry ERRzsr/ERRnsr ozna-czają błędy ERRz/ERRn uśrednione po liczbie sprawdzonych manualnie klatek
ła rozpoznana. Sekwencja S9 charakteryzuje się małym kontrastem obrazów, stąd
wyjątkowo słabe wyniki dla h = 32.
Rezultaty z tab. 5.5 pozornie nie dorównują wynikom wspomaganego progowa-
nia, należy jednak zwrócić uwagę na uniwersalność metody rozszerzonych h-maksimów,
która może być zastosowana dla niemal każdej sekwencji. Ze względu na korzystny
stosunek czasu przetwarzania do jakości jest ona rekomendowana do użycia w pro-
cesie segmentacji.
5.3.3. Algorytm „watershed”
Jeżeli po zastosowaniu metod z rozdziałów 5.3.1 i 5.3.2 kontury komórek pozosta-
ją połączone, możliwy jest ich rozdział algorytmem „watershed”, dostępnym poprzez
funkcję watershed poprzedzoną obliczeniem transformaty odległościowej (funkcja
bwdist). Segmentacja oparta o tego typu rozwiązania jest spotykana w wielu pu-
blikacjach naukowych [2, 9, 1, 21], jednakże często prowadzi do błędnych wyników
(działa nieprawidłowo w przypadku nieregularnych kształtów). Duży problem stano-
wi tu mała rozdzielczość obrazu – komórki o polu powierzchni rzędu kilkunastu pik-
seli mogą różnić się znacznie pomiędzy sąsiednimi klatkami (dodanie/odjęcie kilku
47
punktów zupełnie zmienia ich postać). Jeśli algorytm „watershed” zwróci rozbieżne
rezultaty dla kolejnych klatek, dalsze śledzenie będzie znacznie utrudnione.
B. C.A.
Rysunek 5.6. Przykład działania metody „watershed”. (A) Dla wyniku progowania.(B) Dla wyniku wspomaganego progowania. (C) Dla wyniku algorytmu rozszerzo-
nych h-maksimów.
Tabela 5.6. Analiza działania algorytmu „watershed” dla sekwencji S3. Dwie ostat-nie kolumny zawierają wartości uśrednione z 3 klatek obrazu.
Działanie metody „watershed” przedstawia rys. 5.6, analiza numeryczna znaj-
duje się w tab. 5.6. Zarówno w przypadku dużych, jak i małych obiektów liczba
wprowadzonych błędów przewyższa wielokrotnie liczbę błędów poprawionych (prze-
dzielonych krawędzi). Stosowanie „watershed” nie jest zalecane, w szczególności dla
wyników algorytmu rozszerzonych h-maksimów (rys. 5.6c), zawierających komórki
o niewielkim polu powierzchni.
48
5.4. Rozpoznanie obiektów
Uzyskany z klatki sekwencji obraz monochromatyczny powinien przedstawiać
białe obiekty otoczone czarnym tłem. Rozpoznanie komórek odbywa się w dwóch
etapach - najpierw przeprowadzana jest eliminacja zbyt małych elementów (funkcja
bwareaopen z parametrami oznaczającymi minimalny rozmiar w pikselach oraz ro-
dzaj sąsiedztwa1). Następnie wszystkie rozłączne obiekty oznaczane są jako komórki
– służy do tego funkcja bwlabel, budująca macierz o wymiarach klatki obrazu,
zawierającą ponumerowane piksele przekazywane później do wektoryzacji.
11 1 1
1111 1 11
2 222
2 222 222
A. B. C.
Rysunek 5.7. Proces rozpoznawania komórek na obrazie monochromatycznym.(A) Oryginalny obraz w dwóch kolorach. (B) Zastosowanie funkcji bwareaopenz minimalnym rozmiarze komórki 5. (C) Oznaczenie kolejnymi liczbami punktów
należących do komórek poprzez funkcję bwlabel z sąsiedztwem Moore’a.
Główny problem stanowi dobór minimalnego rozmiaru komórki, musi być on
dostosowany do konkretnej metody konwersji na obraz dwukolorowy. W przypadku
wspomaganego progowania obrazy fazowo-kontrastowe wprowadzają silny, losowy
szum – jego usunięcie wymaga wyeliminowania obiektów mniejszych niż 30 pikseli.
Pozostałe algorytmy są obarczone zakłóceniami o niższym natężeniu, za szum można
tu uznać elementy o polu powierzchni nie przekraczającym 5 pikseli.
5.5. Wektoryzacja
Wektoryzacja kształtów do postaci elips odbywa się poprzez metodę najbliższych
kwadratów, opisaną w rozdziale 2.4.1, zaimplementowaną jako numerycznie stabilna
funkcja ellipsefit [8]. Funkcja ta dopasowuje do danych wejściowych (par współ-
rzędnych x i y) parametry XC , YC (środek elipsy), A, B (długości osi elipsy) oraz
Φ (kąt nachylenia do osi x).
1 Wyróżnia się m.in. sąsiedztwo Moore’e (8 pikseli sąsiadujących z danym punktem pionowo,poziomo i na ukos) oraz sąsiedztwo Neumanna (4 piksele sąsiadujące z danym punktem w pioniei w poziomie).
49
A. B.
Rysunek 5.8. Dopasowywanie elipsy do kształtu o niewielkich rozmiarach.(A) Obiekt i w klatce t, aproksymacja do elipsy. (B) Obiekt i w klatce t+ 1 (ulega
zmniejszeniu poniżej granicy 4 punktów konturu), aproksymacja do okręgu.
Kontur każdej komórki musi składać się z co najmniej 5 pikseli, jeżeli ten warunek
nie jest spełniony, należy zastosować metodę alternatywną, polegającą na wpisaniu
kształtu w okrąg o promieniu proporcjonalnym do pola powierzchni obiektu. Poten-
cjalnym problemem jest tu nagła zmiana kształtu, pokazana na rys. 5.8 – algorytm
śledzący komórki może zadziałać błędnie uznając, iż długości osi porównywanych
figur geometrycznych nie wskazują na ich podobieństwo. Ryzyko wystąpienia tego
typu nieprawidłowości minimalizuje się poprzez uznanie priorytetu położenia nad
kształtem komórek (m.in. przy konstrukcji macierzy prawdopodobieństw, opisanej
w rozdziale 3.2).
56%
37%
4%< 1%
preprocessing
wektoryzacja
parowanie komoreksledzenie
postprocessing
Całkowity czas trwania: 315 sekund (100 klatek), dla sekwencji S3.
Rysunek 5.9. Wykres kołowy długości trwania poszczególnych faz śledzenia komórek
Informacje na temat komórek w każdej klatce t zapisywane są w tablicy dwu-
wymiarowej, przy pomocy parametrów elipsy. Przeciętna sekwencja zawiera ok. 150
komórek opisanych 6 parametrami (XC , YC , A, B, ΦDEG i ΦRAD) oraz 100 klatek, co
50
przy użyciu 8-bajtowych liczb zmiennoprzecinkowych pojedynczej precyzji wymaga
703 kB pamięci operacyjnej. Dla porównania zapis informacji o komórkach w formie
dwukolorowego obrazu o wymiarach 1024× 1024 pikseli wymagałby 12,5 MB.
Złożoność algorytmu najmniejszych kwadratów jest stosunkowo mała, podczas
testów przetwarzał on ok. 80 komórek na sekundę. Z uwagi na dużą liczbę obiektów
na obrazie, wektoryzacja stanowi jeden z najdłuższych etapów segmentacji. Przy-
kładowy pomiar czasu znajduje się na rys. 5.9.
5.6. Budowa macierzy prawdopodobieństw
Budowa macierzy prawdopodobieństw odbywa się zgodnie z procedurą przedsta-
wioną w rozdziale 3.2, z maksymalną odległością między komórkami d = 30 pikseli.
Wyższa wartość parametru d nie ma uzasadnienia – powoduje wyłącznie pogorsze-
nie wydajności oraz zwiększa ryzyko popełnienia błędu przez algorytm śledzenia
(komórki rzadko poruszają się dużymi skokami, przesunięcie o więcej niż 30 pikse-
li nie powinno mieć miejsca). Obliczenie wartości macierzy stanowi ok. 4% czasu
potrzebnego do prześledzenia wszystkich komórek (rys. 5.9, przy użyciu metody
rozszerzonych h-maksimów i algorytmu aukcyjnego).
Macierz prawdopodobieństw przechowywana jest w dwuwymiarowej tablicy o roz-
miarze ok. 180 kB, wyłącznie dla bieżącej klatki. Macierze z klatek poprzednich
nie są wykorzystywane, mogą być więc usunięte w celu zwolnienia pamięci. Użycie
tablic, pomimo niepotrzebnie zajmowanej przestrzeni (90% wartości stanowią tu
zera), gwarantuje wysoką wydajność, wymaganą szczególnie przez metodę podziału
i ograniczeń.
5.7. Śledzenie komórek
Metoda dopasowania komórek pomiędzy sąsiednimi klatkami obrazu stanowi naj-
ważniejsze, a zarazem najtrudniejsze ogniwo budowanego w niniejszej pracy algo-
rytmu. Zaimplementowane zostały dwie metody śledzenia: aukcyjna oraz podziału
i ograniczeń.
5.7.1. Metoda aukcyjna
Metoda aukcyjna realizowana jest przez funkcję track auction, przyjmującą
jako parametry: dane o komórkach, macierz prawdopodobieństw oraz wartość ε (opi-
saną w rozdziale 3.4.2). W wyniku zwracana zostaje tablica zawierająca przypisania
51
komórek do ścieżek. Algorytm działa iteracyjnie – w pierwszym przebiegu następu-
je wstępne dopasowanie obiektów z obu klatek, wszystkie kolejne dotyczą konflik-
tów pomiędzy znajdującymi się blisko siebie komórkami. Wielkość struktur danych
używanych przez algorytm jest stała i w pełni przewidywalna – tablice assigns
problem poprzez budowę specjalnej tablicy empty assigns, zawierającej prawdo-
podobieństwa {e1, e2, . . . , en, . . . , eN}, że n-ta komórka z klatki t nie ma swojego
odpowiednika w klatce t+ 1. Wartości en obliczane są według wzoru:
kn = wo · (1−max{anj}) (5.2)
52
en =
0 dla kn ¬ pnp
kn dla kn > pnp(5.3)
gdzie wo – współczynnik zmniejszający wagę pustych przypisań, pnp – próg praw-
dopodobieństwa, powyżej którego obiekt można uznać za nieprzypisany, anj – n-ty
wiersz macierzy prawdopodobieństw.
Dekompozycja problemu odbywa się zgodnie z informacjami przedstawionymi
w rozdziale 3.3.1, do przeglądania drzewa rozwiązań używana jest rekurencja. Każ-
de wywołanie funkcji rekurencyjnej powoduje rozpoczęcie przetwarzania kolejnego
poddrzewa w takiej kolejności, aby najpierw odnaleźć potencjalnie najlepsze ścieżki.
Jeżeli kolejne poziomy drzewa są niedostępne (brakuje dopasowania w klatce t+ 1),
należy sprawdzić prawdopodobieństwo en i w przypadku jego niezerowej wartości
ustanowić puste przypisanie (w standardowej wersji algorytmu gałąź zostałaby bez-
warunkowo zakończona).
Prawidłowe działanie metody podziału i ograniczeń zależy od doboru parame-
trów wo oraz pnp. Próg pnp powinien być maksymalizowany, współczynnik wo zaś
– minimalizowany. Niewłaściwe wartości mogą doprowadzić do błędu i przerwania
działania funkcji lub zbliżenia się do przeglądu zupełnego. Dostosowanie wo oraz
pnp wymaga znajomości cech danej sekwencji obrazów (m.in. gęstości rozmieszcze-
nia i liczby komórek). Jeśli takie informacje nie są dostępne (np. podczas śledzenia
komórek w czasie rzeczywistym), pozostaje zastosowanie adaptacyjnego doboru pa-
rametrów, w którym w przypadku wystąpienia błędu następuje zmiana wartości na
bezpieczniejsze, ale wydłużające czas trwania algorytmu.
Obok trudności w doborze parametrów wadą metody podziału i ograniczeń
jest nieprzewidywalność rozmiaru wykorzystywanych struktur danych. Dotyczy ona
drzewa generowanego przez algorytm, reprezentowanego jako tablica węzłów tracks.
Każdy wpis w tej tablicy zawiera 4 pola – wskaźnik na węzeł nadrzędny, identyfikator
powiązanej komórki, wartość funkcji celu oraz numer poziomu (łącznie 32 bajty).
Zakładając, że N i M oznaczają liczbę komórek w klatkach t i t + 1, w optymi-
stycznym przypadku drzewo osiągnie rozmiar 32N , w pesymistycznym zaś będzie
zawierać M ! rozwiązań złożonych z N węzłów (dla 15 komórek wymagane byłoby
aż 5 GB pamięci). Algorytm ograniczający powinien wyeliminować zdecydowaną
większość gałęzi, jednakże jego skuteczność zależy od pierwszych napotkanych roz-
wiązań. Dodatkowy problem stanowi sztuczne powiększanie drzewa poprzez obsługę
przypisań niesymetrycznych.
Niestety ze względu na wspomniane wyżej komplikacje nie udało się w pełni
53
przetestować algorytmu podziału i ograniczeń – nie był on w stanie prześledzić
żadnej z sekwencji w całości. Po starannym dobraniu parametrów do sekwencji S2i S6 okazało się, iż przeszukiwanie drzewa rozwiązań trwa od kilku sekund do na-
wet kilkudziesięciu minut. Pomimo wysokiej jakości wyników czas działania stanowi
czynnik dyskwalifikujący dla opisywanej metody.
5.8. Postprocessing
Postprocessing jest czynnością polegającą na skorelowaniu wyników śledzenia
komórek pomiędzy klatkami t i t + 1 z informacjami zgromadzonymi w klatkach
{1, 2, . . . , t − 1} sekwencji obrazów, co pozwala na wykrycie zjawisk biologicznych
oraz korygowanie błędów segmentacji. Wszystkie te czynności realizuje się poprzez
funkcję postprocessing, przyjmującą cztery parametry: ppod – próg podobieństwa
dwóch komórek, pdis – próg podobieństwa komórek pojawiających się po wcześniej-
szym zniknięciu, tjoin – liczba klatek sprawdzanych wstecz przy podziale komórek
oraz tdis – liczba klatek sprawdzanych wstecz przy powtórnym pojawieniu.
Działanie postprocessingu opiera się na prowadzeniu globalnego dziennika, za-
wierającego wszystkie operacje dokonane na komórkach od początku sekwencji. In-
formacje z dziennika wykorzystywane są w dwóch sytuacjach: po pojawieniu się oraz
po zniknięciu danej komórki (rozdział 3.5). Rodzaje przechowywanych wpisów to:
— {PROBABLE JOIN, t, k1, k2} – prawdopodobne połączenie konturu komórki k1z komórką k2 w klatce t.
— {DISAPPEAR, t, k} – zniknięcie komórki k w klatce t.
Tabela 5.8. Wyniki działania algorytmu przy użyciu różnych parametrów ppod, pdis,tjoin i tdis postprocessingu