Vous êtes sur la page 1sur 68

Politechnika Wrocławska

Wydział 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:

WROCŁAW 2008
Spis treści

1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Cel pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Przegląd rozdziałów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2. Segmentacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Dostosowywanie obrazu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1. Przekształcenia morfologiczne . . . . . . . . . . . . . . . . . . . . . 6
2.2.2. Odejmowanie tła od obrazu . . . . . . . . . . . . . . . . . . . . . . 7
2.2.3. Korekcja histogramu . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.4. Filtr medianowy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3. Rozpoznanie komórek na obrazie . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1. Progowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.2. Metoda rozszerzonych h-maksimów . . . . . . . . . . . . . . . . . . 11
2.3.3. Algorytm „watershed” . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4. Wektoryzacja komórek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.1. Dopasowanie elipsy do danych . . . . . . . . . . . . . . . . . . . . . 15

3. Śledzenie komórek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2. Porównywanie komórek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3. Algorytm podziału i ograniczeń . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.1. Dekompozycja problemu . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.2. Ograniczanie drzewa rozwiązań . . . . . . . . . . . . . . . . . . . . 20
3.3.3. Przypisania niesymetryczne . . . . . . . . . . . . . . . . . . . . . . 21
3.4. Algorytm aukcyjny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4.1. Zastosowanie do śledzenia komórek . . . . . . . . . . . . . . . . . . 22
3.4.2. Działanie krok po kroku . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4.3. Przykład działania . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.4.4. Modyfikacje algorytmu . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.5. Przetwarzanie wyników śledzenia komórek . . . . . . . . . . . . . . . . . . . 26
3.5.1. Podziały komórek . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1
3.5.2. Znikanie komórek . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5.3. Łączenie konturów komórek . . . . . . . . . . . . . . . . . . . . . . 28
3.5.4. Usuwanie krótkich ścieżek . . . . . . . . . . . . . . . . . . . . . . . 30

4. Analiza ruchu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2. Jakość działania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3. Podziały i obumieranie komórek . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4. Prędkość i kierunek poruszania . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5. Analiza statystyczna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6. Reprezentacja ścieżek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5. Implementacja w środowisku MATLAB . . . . . . . . . . . . . . . . . . . . 40


5.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2. Odczyt danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.3. Konwersja na obraz monochromatyczny . . . . . . . . . . . . . . . . . . . . 42
5.3.1. Progowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3.2. Metoda rozszerzonych h-maksimów . . . . . . . . . . . . . . . . . . 46
5.3.3. Algorytm „watershed” . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.4. Rozpoznanie obiektów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.5. Wektoryzacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.6. Budowa macierzy prawdopodobieństw . . . . . . . . . . . . . . . . . . . . . 51
5.7. Śledzenie komórek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.7.1. Metoda aukcyjna . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.7.2. Metoda podziału i ograniczeń . . . . . . . . . . . . . . . . . . . . . 52
5.8. Postprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.9. Wynik algorytmu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.10. Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.11. Przykładowa analiza sekwencji obrazów . . . . . . . . . . . . . . . . . . . . 57

6. Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Spis rysunków . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Spis tabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

2
1. Wprowadzenie

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.

Dostosowanie Rozpoznanie
Wczytanie obrazu Wektoryzacja
obrazu komórek

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.

A. B. 1
1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1
1

Rysunek 2.2. Elementy strukturalne w kształcie (A) kwadratu i (B) dysku. Komórka
z 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-
wania detali z obrazów (rys. 2.3d).

A. B. C. D.

Rysunek 2.3. Przykłady przekształceń morfologicznych. (A) Obraz oryginalny,


(B) erozja, (C) dylacja, (D) otwarcie.

6
2.2.2. Odejmowanie tła od obrazu

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:

Zb
H(B)db (2.1)
0

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ć:



 0 dla x < 0
  
x−x1
f (n) = E x2
(2.2)


E dla x > E

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.
4
x 10

A. 5 B.
4

0 50 100 150 200 250


4
x 10

C. 5 D.
4

0 50 100 150 200 250

Rysunek 2.5. Dostosowanie zakresów wartości pikseli przy pomocy histogramu. (A),
(B) – obraz oryginalny, prawa strona histogramu jest niemal pusta. (C), (D) – obraz
po 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 h0, 255i, 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
h0, pi, w klasie C2 – piksele o jasnościach (p, 255i. Każdy z 256 stopni jasności i
zawiera ni pikseli wobec n wszystkich pikseli znajdujących się w obrazie:

255
X
ni = n (2.3)
i=0

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:

ni
pi = (2.4)
n
p
X
$1 (p) = pi (2.5)
i=0

255
X
$2 (p) = pi (2.6)
i=p+1

Wyznaczany próg p powinien jak najlepiej odizolować od siebie klasy C1 i C2 , co


można osiągnąć minimalizując wariancję międzyklasową σB2 :

σB2 = $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
A. 1000
p
B. 1000
p

800 800

600 600

400 400

200 200

0 0

0 50 100 150 200 250 0 50 100 150 200 250

Rysunek 2.7. Przykładowa minimalizacja wariancji międzyklasowej w metodzie


Otsu. 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. Warto
zauważ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
przedstawione zostały na rys. 2.9a.

A. 5 5 5 6 5 5 5 5 B. 5 5 5 6 5 5 5 5
5 6 7 8 9 5 5 5 5 6 7 8 9 5 5 5
5 6 7 8 9 5 5 5 5 6 7 8 9 5 5 5
5 6 7 8 9 5 5 5 5 6 7 8 9 5 5 5
y y
5 5 5 5 5 5 9 5 5 5 5 5 5 5 9 5
5 6 5 5 5 5 8 5 5 6 5 5 5 5 8 5
5 5 5 5 5 6 5 5 5 5 5 5 5 6 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
x x

Rysunek 2.9. (A) Obraz przedstawiony w postaci tablicy w wartościami jasności


pikseli, 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
h= 1 2

jasnosć *
** *
* *

Rysunek 2.10. Wpływ parametru h na wynik działania algorytmu na przykładzie


obrazu jednowymiarowego. Kolejne stopnie szarości (od najciemniejszego) oznaczają
kolejno h = 1 i h = 2. Warto zauważyć, że część maksimów pozostaje biała – dzieje
się 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) = xT Ax + bT x + 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


X X
(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 h−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 h1, t − 1i nazywana będzie dalej ścieżką. Każda ścieżka może
mieć długość z zakresu h1, N i, 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:
2 · (|SXi − SXj |)
W Xij = 1 − (3.1)
d
2 · (|SY i − SY j |)
W Yij = 1 − (3.2)
d
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:
min(Ai , Aj )
W Aij = (3.3)
max(Ai , Aj )
min(Bi , Bj )
W Bij = (3.4)
max(Bi , Bj )
— Współczynnik rotacji, określający obrót komórki w stosunku do poprzedniej
klatki obrazu:
min(k1ij , k2ij )
W K ij = 1 − (3.5)
90
Parametry k1ij oraz k2ij (rys. 3.2) obliczone są zgodnie ze wzorami:

 Φi − Φj dla Φi − Φj > 0;
k1ij =  (3.6)
90 + (Φi − Φj ) dla Φi − Φj < 0.

 Φj − Φi dla Φj − Φi > 0;
k2ij =  (3.7)
90 + (Φj − Φi ) dla Φj − Φi < 0.
Ostatecznie prawdopodobieństwo aij wyraża się wzorem:

aij = W Xij · W Yij · W Aij · W Bij · W Kij (3.8)

Istnieje możliwość redukcji parametrów W Xij oraz W Yij 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
segmentacji).

Tabela 3.1. Przykładowa macierz prawdopodobieństw


t \ t+1 1 2 3 4 5 6
1 0,7567 0 0 0 0 0
2 0 0 0 0 0 0
3 0 0 0 0 0 0
4 0 0 0,9352 0 0 0
5 0 0,8727 0 0 0 0
6 0 0 0 0 0,5035 0
7 0 0 0 0 0 0,8187

18
3.3. Algorytm podziału i ograniczeń

W procesie śledzenia mamy do czynienia z problemem przypisania m do n


elementów, jednym z jego rozwiązań jest użycie algorytmu podziału i ograniczeń
(ang. branch and bound ), przeprowadzającego dekompozycje zagadnienia, a następ-
nie odrzucającego obliczenia nie prowadzące do optymalnego rozwiązania [5]. Algo-
rytm taki w pesymistycznym przypadku staje się przeglądem zupełnym.

3.3.1. Dekompozycja problemu

W przypadku śledzenia komórek dekompozycja polega na zbudowaniu drzewa


możliwych rozwiązań (rys. 3.3) [2]. Zadanie to jest ułatwione poprzez istnienie wielu
„nierealizowalnych” przypisań komórek do ścieżek, w przypadku których prawdo-
podobieństwo aij przyjmuje wartość 0. Po ich odrzuceniu drzewo osiągnie rozsądny
rozmiar (rys. 3.4), pozwalający na szybkie działanie algorytmu podziału i ograniczeń.
Należy zwrócić szczególną uwagę na puste przypisania (oznacza się je indeksem 0),
które mogą pojawić się po obumarciu komórki, albo jej podziale. Problemy z niesy-
metrycznością dopasowania zostaną przedstawione w dalszej części pracy. Funkcja
celu jest zdefiniowana dla każdego węzła drzewa w następujący sposób:

M X
Y N
dla N ­ M : max aij hij (3.9)
j=1 i=1

N X
Y M
dla N ¬ M : max aij hij (3.10)
i=1 j=1

Zmienna hij przyjmuje wartość 1 jeśli ścieżka i jest przypisana do komórki j, lub
0 jeżeli takiego przypisania nie ma. Wartość funkcji celu zawiera się w przedziale
h0, 1i. Praktyczne zastosowanie przedstawionych wzorów znajduje się na rys. 3.3
i 3.4.

Tabela 3.2. Macierz prawdopodobieństw wykorzystywana na rys. 3.3 i 3.4


t \ t+1 1 2 3
1 0,43 0,20 0,75
2 0 0,86 0,12
3 0,51 0,64 0

19
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 numer
komó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 = max {aij − pj } (3.11)


j=1,...,n

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ń:
n X
X m
max aij hij (3.12)
i=0 j=0

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:

(0)
pj = min aij (3.13)
i∈B(j)

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:

(0)
p0 = 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 max {aij − pj } (3.15)
j∈A(i)

zi = max {aij − pj } (3.16)


j∈A(i)

di = max {aij − pj } (3.17)


j∈A(i),j6=ji

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 = max bij (3.19)


i∈P (j)

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 = v j ⇔ 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-
dobieństw wygląda następująco:
Tabela 3.3. Macierz prawdopodobieństw
i\j 0 1 2 3
1 0 0,43 0,20 0,75
2 0 0 0,86 0,12
3 0 0,51 0,64 0
4 0 0 0 0

Jest to problem przypisania asymetrycznego, ścieżka i = 4 nie może być dopaso-


wana do żadnej z komórek ze względu na zerowe wartości a4j . Kolumna o indeksie
j = 0 oznacza puste przypisanie, wszystkie prawdopodobieństwa ai0 są równe zeru.
Początkowe wartości wektora cen przedstawione są w tabeli 3.4.
W pierwszej iteracji zbiór S przypisanych ścieżek jest pusty, zbiór E zaś zawiera
wszystkie możliwe pozycje. Dla każdej ze ścieżek ze zbioru E należy obliczyć korzyści

24
Tabela 3.4. Wektor cen
p0 p1 p2 p3
0,00 0,00 0,00 0,00

zi oraz di , a następnie określić nową cenę komórki. Wartość parametru ε została


ustalona na 0,1. Wyniki obliczeń znajdują się w tab. 3.5. Komórka j = 3 otrzymała
jedną ofertę od ścieżki i = 1, komórka j = 2 otrzymała dwie oferty od ścieżek i = 2
oraz i = 3. ścieżka i = 4 została przypisana do pustej komórki.
Ostatecznie najlepsze ceny zaoferowały ścieżki 1, 2 i 4, ścieżka i = 3 zaoferowała
zbyt niską cenę komórki j = 2 (niższą niż ścieżka i = 2), przez co do kolejnej
iteracji pozostanie w zbiorze E bez żadnego przypisania. Pozostałe ścieżki znajdą
się w zbiorze S, pokazanym w tab. 3.6.

Tabela 3.5. Obliczanie nowej ceny komórek


ścieżka ji zi di bi
i=1 3 0,75 0,43 0,42
i=2 2 0,86 0,12 0,84
i=3 2 0,64 0,51 0,84
i=4 0 0 0 0,10

Tabela 3.6. Zbiór S po pierwszej iteracji


ścieżka komórka
i=1 j=1
i=2 j=2
i=4 j = 0 (brak)

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 ∈ h1, ii ulega podziałowi na komórki k1 i k2 ∈ h1, ji, 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:

min{ark1 , ark2 }
s= (3.21)
max{ark1 , ark2 }
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, kontury


są 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 tp
obrazu ścieżka i1 zostaje zakończona, sprawdzany jest wiersz macierzy praw-
dopodobieństw {ai1 1 , ai1 2 , . . . , ai1 j }. Zakładając, że komórka jk = arg max ai1 j
jest dopasowana do ścieżki i2 , oblicza się stosunek prawdopodobieństw:

min{ai1 jk , ai2 jk }
s= (3.23)
max{ai1 jk , ai2 jk }

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 = W Aij · W Bij · W Kij (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).
Pojawienia się komórek w czasie (razem 20 w 99 klatkach).
2
Nowe komórki

0 10 20 30 40 50 60 70 80 90 100
Klatki

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:
1
Wj = mean(nt )
(4.1)
k

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
Czas zycia komórki
50

40

Liczba komóek
30

20

10

0
−20 0 20 40 60 80 100 120
Klatki

Rysunek 4.2. Histogram czasu trwania ścieżek przebytych przez komórki. Około 50
komó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
Podzialy komórek w czasie (razem 74 w 99 klatkach).
4

3
Liczba podzialów

0 10 20 30 40 50 60 70 80 90 100
Klatki

Rysunek 4.3. Wykres podziałów komórek w czasie, w tym przypadku mamy jedynie
74 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ść M RDO oznacza, że komórka porusza się po niewielkim obszarze.
Wysokie M RDO 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 T DS ¬ M RDO. 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ę M RDO jako cechę uniwersalną, pozwalającą na rozróżnienie obiektów porusza-

34
A. v(t) B. M
C. M

v(0)
v(N) T
t=0 t=0 t=0
T

Rysunek 4.4. Przykłady wektorów T i M używanych do obliczenia prędkości T DS


i M RDO. Ścieżki oznaczone zostały kolorem czerwonym. (A) Ścieżka i złożona
|vi (t)| podzielona przez N
P
z pojedynczych wektorów v(t) – suma ich wartości
to inaczej prędkość AVS. (B) i (C) Prędkość M RDO oblicza się ze wzoru
M RDO = |M N
|
. Prędkość T DS jest równa |TN| .

jących się dużymi i małymi krokami. Przykładowy histogram M RDO znajduje się
na rys. 4.5.
Histogram predkosci MRDO.
30

25

20
Liczba komórek

15

10

0
0 0.5 1 1.5 2 2.5 3 3.5 4
Predkosc

Rysunek 4.5. Histogram prędkości M RDO. Większość komórek ma niewielką war-


tość M RDO, 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 M RDO (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 M RDO oblicza się uśredniając
wektory M RDO. Przy równomiernym rozłożeniu wektorów długość M RDOsr 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
y 0
−1
1
0.875
−0.75
7/4 π 0.75 π/4
0.625
−0.5
0.5
0.375
−0.25
0.25
0.125
0
3/2 π π/2

0.25

0.5

5/4 π 3/4 π
0.75

1
π x
−1 −0.75 −0.5 −0.25 0 0.25 0.5 0.75 1

Rysunek 4.6. Wektory M RDO (dla czytelności pozbawione grotów) umieszczone


na jednym wykresie, ze wspólnym początkiem w punkcie (0, 0), normalizowane po
długości najdłuższego wektora (zakłada się, że jest równa 1). Żółty wektor to średnia
prędkość M RDOsr , 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:

X X
S(D) = |vi (t)| (4.2)
t ∀i:αi (t)∈D

!
X
H(D) = S(D) ÷ S(D) (4.3)
D

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:

 S(D)−S(D−π) dla S(D) > S(D − π);
S(D)+S(D−π)
SR (D) = (4.4)
 0 dla S(D) ¬ S(D − π).
!
X
R(D) = SR (D) ÷ SR (D) (4.5)
D

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.

0
−1
1

0.875
−0.75
7/4 π 0.75 π/4

0.625
−0.5
0.5

0.375
−0.25
0.25

0.125
0
3/2 π π/2

0.25

0.5

5/4 π 3/4 π
0.75

1
π
−1 −0.75 −0.5 −0.25 0 0.25 0.5 0.75 1

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 wskazuje
wartość średnią kierunku ruchu (wektor jest wydłużony dla czytelności wykresu).

4.5. Analiza statystyczna

Wykres na rys. 4.6 przedstawia wektory M RDO 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 M RDO 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]:

N
" #2 "N
#2
2 1 X 1 X
R = cos Θn + sin Θn (4.6)
N n=1 N n=1

gdzie N – liczba wektorów oraz Θn – kąt nachylenia n-tego wektora. Obserwowana


wartość R odpowiada M RDOsr . Im dłuższy średni wektor M RDO, 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]:

N R4
S = 2N R2 − R2 + (4.7)
2
q
ρ = exp[ 1 + 4N + 4(N 2 − N s) − 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
M RDO, ich uwzględnienie wymaga użycia zmodyfikowanego testu Rayleigh’a, za-
proponowanego przez Moore’a [6], w którym statystyka RM ma postać:
h PN i2 h PN i2
1 1
2 N n=1 n cos Θn + N n=1 n sin Θn
RM = (4.9)
N3

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:
!
−6r2 N 2
ρ = exp (4.10)
(N + 1)(2N + 1)

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).

100

90
t
80

70

60

50

40

30

20

10
1000
0 x y
0 200 500
400 600 800 1000 0

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.

S7 S8

y y

x x

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
1. Odczyt Wczytanie obrazu

Progowanie Metoda rozszerzo-


nych h-maksimów
2. Konwersja
na obraz Wspomaganie
monochro- obrazami fazowo-
kontrastowymi
matyczny

Algorytm watershed

Rozpoznanie
3. Rozpoznanie komórek

Wektoryzacja
4. Wektoryzacja (elipsy)

Budowa macierzy
5. Łaczenie prawdopodobienstw

Metoda aukcyjna Metoda podziału


6. Sledzenie i ograniczen

Wykrycie zjawisk
biologicznych
7. Postprocessing
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-
czych pikseli zakłócających progowanie (funkcja medfilt2).

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.

A. morf. otwarcie
B.
< 1% 8% odjecie tla < 1% 4%
< 1% 4%
< 1% histogram
filtr medianowy
progowanie

48%
43%

91%

Rysunek 5.2. Porównanie średniego czasu trwania poszczególnych faz przetwarzania


obrazu 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 dla
róż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-
wane gwałtownymi zmianami jasności.
∆t t Wj Nd=1 Nd=max ERRz ERRn
1 5,5063 211,1 92 72 3 1
2 1,8445 221,4 97 67 5 0
3 1,2079 181,7 100 66 6 0
4 1,1108 33,2 574 70 7 0
5 0,8948 27,5 629 64 6 0
6 0,8290 194,9 103 69 6 0
7 0,9345 31,7 612 67 3 0
8 0,7356 32,6 586 68 5 0
9 0,7449 31,7 590 63 4 0
10 0,7227 186,3 101 73 6 0

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. Widoczna
jest duża równomierność wyników badań, żadna z wartości ∆t z przedziału h1, 10i
nie powoduje znaczących rozbieżności.
∆t t Wj Nd=1 Nd=max ERRz ERRn
1 2,7924 119,1 61 40 0 14
2 1,6620 120,6 57 43 5 13
3 1,2573 125,8 50 41 4 16
4 1,0284 124,9 62 37 6 15
5 1,0029 119,4 56 39 2 14
6 0,8394 123,3 54 43 3 13
7 0,8374 132,0 54 36 4 15
8 0,8520 116,8 57 39 2 14
9 0,7843 112,0 63 40 6 15
10 0,8360 117,0 51 38 0 14

tabeli 5.1. W jednej klatce pojawia się tam kilkaset nowych, błędnie rozpoznanych
komórek, stanowiących losowy szum wychwycony przez adaptacyjne progowanie.
Wartość ∆t musi być dobrana tak, aby zminimalizować ryzyko wystąpienia podob-
nych sytuacji. Jeśli istnieje prawdopodobieństwo, że poszczególne klatki sekwencji
mają różny stopień jasności, wówczas należy zrezygnować z ∆t większych od 3. W ta-
beli 5.2 wartości ∆t nie mają dużego wpływu na liczbę błędów, jednakże dla ∆t > 5
czas działania praktycznie się nie zmniejsza, co sugeruje wybór ∆t z przedziału
h1, 5i.
Stosunkowo duża liczba błędów segmentacji wynika z mylnego interpretowania
obiektów o złączonych konturach. Każda z sekwencji obrazów dostępna jest w dwóch
wersjach – fazowo-kontrastowej oraz fluorescencyjnej (GFP). Rys. 5.3 przedstawia
dwa odpowiadające sobie fragmenty klatki, zawierające potencjalnie złączone ko-
mórki.

A. B.

Rysunek 5.3. Fragment klatki sekwencji wykonanej metodami: (A) fluorescencyjną


i (B) fazowo-kontrastową

44
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 wspomagania


segmentacji. (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
obrazu
W spom. t Wj Nd=1 Nd=max ERRzsr ERRnsr
NIE 2,7700 119,1 61 40 1,8 18,3
TAK 2,9550 786,5 14 47 0,7 11,2

Tabela 5.4. Analiza działania wspomagania segmentacji dla prostej sekwencji S9


(zawierającej mało złączonych komórek)
W spom. t Wj Nd=1 Nd=max ERRzsr ERRnsr
NIE 3,0690 211,1 92 72 3,9 6,5
TAK 2,9550 522,7 22 82 0,5 11,4

gania zależy od charakteru analizowanej sekwencji (lepsze rezultaty otrzymuje się


w przypadku skomplikowanych obrazów), można ją podjąć automatycznie, bazując
na częstości występowania komórek o dużych polach powierzchni i nieregularnych
kształtach.

5.3.2. Metoda rozszerzonych h-maksimów

Progowanie wymaga czasochłonnego przetwarzania obrazów, w celu jego unik-


nięcia można zastosować inne metody, operujące na lokalnych ekstremach. Należący
do tej grupy algorytm rozszerzonych h-maksimów realizowany jest w środowisku
MATLAB poleceniem imextendedmax, uruchamianym z parametrem h omówionym
w rozdziale 2.3.2. Dobór parametru może być realizowany ręcznie (występuje tu du-
ża tolerancja dla wartości h). Kompromis pomiędzy liczbą poprawnie rozpoznanych
komórek, a uniknięciem losowego szumu stanowi h ≈ 16 (dla obrazów zapisanych
jako liczba całkowita z zakresu h0, 255i).
Największą zaletą metody rozszerzonych h-maksimów jest rozdzielanie konturów
komórek, podobne do tego wykonywanego poprzez wspomagane progowanie. Przy-
kład znajduje się na rys. 5.5 – w porównaniu do metod przedstawionych na rys. 5.4
pole powierzchni komórek jest znacznie mniejsze, wzrasta za to jakość segmentacji
– żaden obiekt nie pozostaje niezauważony.
Analizę skuteczności algorytmu rozszerzonych h-maksimów dla różnych warto-
ści h przedstawiono w tab. 5.5. Każdą wartość ERRzsr oraz ERRnsr wyliczono
w oparciu o ręczne badanie n = 3 klatek obrazu). W przypadku sekwencji S3 wzrósł
współczynnik Wj (wraz ze spadkiem ERRnsr ), aczkolwiek część komórek nie zosta-

46
A. B.

Rysunek 5.5. Przykład działania metody rozszerzonych h-maksimów dla parametru


h = 16. (A) Oryginalny obraz GFP, (B) obraz monochromatyczny.

Tabela 5.5. Jakość działania metody rozszerzonych h-maksimów, w pierwszej ko-


lumnie znajduje się numer sekwencji obrazów wykorzystanej w obliczeniach
Sekw. h t Wj Nd=1 Nd=max ERRzsr ERRnsr
S3 8 1,8930 148,2 77 18 2,6 15,0
S3 16 1,7612 527,6 33 38 0,0 6,0
S3 32 1,7765 329,5 12 45 0,0 20,3
S9 8 1,8743 155,4 134 35 1,7 9,3
S9 16 1,8143 484,0 57 65 1,7 8,0
S9 32 1,7609 92,5 40 45 0,0 56,3

ł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.

A. B. C.

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.
Metoda t Wj Nd=1 Nd=max Poprawione Wprowadzone
błędy błędy
progowanie 4,0798 146,4 266 5 14,0 43,3
wspomagane 4,3184 291,7 57 7 5,0 15,7
progowanie
h-maksima 3,2885 79,0 160 1 0,7 36,0

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.

A. B. C.
1
111 22
111 22
111 222
1 22
22

Rysunek 5.7. Proces rozpoznawania komórek na obrazie monochromatycznym.


(A) Oryginalny obraz w dwóch kolorach. (B) Zastosowanie funkcji bwareaopen
z 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 pionie
i 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).

Całkowity czas trwania: 315 sekund (100 klatek), dla sekwencji S3.

< 1%
4%

preprocessing
wektoryzacja
parowanie komorek
sledzenie
postprocessing

37%

56%

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
(wynik), prices (wektor cen), profits (wektor korzyści), bids (licytowane obiek-
ty) i zerobids (licytowane puste przypisania) zajmują łącznie 20M + 8M N + 8N
bajtów, gdzie M – liczba komórek w klatce t oraz N – liczba komórek w klatce t + 1.

Tabela 5.7. Jakość i szybkość działania metody aukcyjnej (segmentacja została wy-
konana metodą rozszerzonych h-maksimów)
Sekw. ε t Wj Nd=1 Nd=max
S3 0,05 0,0090 527,6 35 37
S3 0,1 0,0075 527,6 33 38
S3 0,4 0,0076 527,6 33 41
S3 0,6 0,0070 550,5 33 40
S9 0,05 0,0120 484,0 58 66
S9 0,1 0,0115 484,0 57 65
S9 0,4 0,0141 497,4 58 65
S9 0,6 0,0136 497,4 58 65

Szybkość i jakość działania algorytmu aukcyjnego dla dwóch sekwencji komórek


przedstawiono w tabeli 5.7. Wrażliwość na parametr ε jest minimalna, aczkolwiek
zbyt mała wartość może znacznie wydłużyć obliczenia. Z uwagi na znikomą liczbę
popełnianych błędów zaniechano tu testów manualnych, zamiast tego zastosowane
są miary wyznaczone automatycznie.

5.7.2. Metoda podziału i ograniczeń

Metoda podziału i ograniczeń jest wielokrotnie bardziej skomplikowana od al-


gorytmu aukcyjnego. Jakość jej działania zależy ściśle od sposobu obsługi przypi-
sań niesymetrycznych, których obecność wpływa na zaburzenia w rozpatrywanym
drzewie rozwiązań. Implementująca metodę funkcja track bnb rozwiązuje powyższy
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

 0 dla kn ¬ pnp
en = (5.3)
 kn dla kn > pnp
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 S2
i 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 k1


z 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
Sekw. ppod pdis tjoin tdis t Wj Nd=1 Nd=max
S3 0,1 0,1 10 10 0,075 527,6 33 38
S3 0,1 0,1 20 20 0,072 633,1 26 47
S3 0,3 0,3 10 10 0,076 127,9 56 39
S9 0,1 0,1 10 10 0,111 158,5 76 57
S9 0,1 0,1 20 20 0,109 542,7 51 67
S9 0,3 0,3 10 10 0,112 158,5 76 57

Testy postprocessingu dla różnych wartości parametrów przedstawiono w tab.


5.8. Pozorna poprawa widoczna jest dla dużych tjoin i tdis , manualna kontrola wy-
kazała jednak degenerację wyników wskutek mylnej interpretacji pojawiających się

54
powtórnie komórek. Zwiększanie progów ppod i pdis również nie daje pożądanych
rezultatów, wpływając niekorzystnie na współczynnik jakości. Błędy występują naj-
częściej w trakcie rozdzielania złączonych komórek (niewłaściwe dopasowanie obiek-
tów) oraz przy podziałach (z powodu błędów segmentacji).

5.9. Wynik algorytmu

Wynikiem działania algorytmu przedstawionego na rys. 5.1 są dwie trójwymia-


rowe tablice:
1. els, zawierająca informacje na temat kształtów komórek w każdej klatce obrazu,
potrzebna do ewentualnej wizualizacji graficznej oraz statystyk wykorzystujących
wektory przesunięć,
2. paths, zawierająca przypisania indeksów komórek z tablicy els do poszczegól-
nych ścieżek; oprócz wartości liczbowych tablica paths może obejmować trzy
rodzaje wpisów:
— {DISAPPEAR} – chwilowe zniknięcie komórki,
— {JOIN, k} – połączenie z komórką k,
— {SPLIT, k1 , k2 } – podział na komórki k1 i k2 ,
— {END} – zakończenie ścieżki (permanentne zniknięcie komórki).

Tabela 5.9. Przykład tablicy paths dla jednej klatki obrazu zawierającej 8 komórek
1 2 3 4 5 6 7 8
5 {END} 2 4 {JOIN, 3} 3 6 1

Przykładowy wynik dla jednej klatki obrazu znajduje się w tab. 5.9. Warto zwró-
cić uwagę na możliwość wykonania dodatkowego postprocessingu, usuwającego ko-
mórki o zbyt krótkim czasie życia (prawdopodobnie stanowiące błąd segmentacji,
nie wnoszące wartościowych danych do analizy statystycznej).

5.10. Podsumowanie

Po wykonaniu wszystkich testów można z całą pewnością stwierdzić, że naj-


lepsza ścieżka budowanego algorytmu (rys. 5.10) składa się z metody rozszerzonych
h-maksimów, gwarantującej korzystny stosunek wydajności do jakości wyników oraz
z metody aukcyjnej, działającej bardzo szybko nawet dla dużej liczby komórek.
Standardowe progowanie nie jest rekomendowane z uwagi na zbyt dużą tendencję
do „sklejania” komórek, wspomagane progowanie zaś trwa bardzo długo i wykazuje

55
małą odporność na gwałtowne zmiany oświetlenia. Algorytm „watershed”, służący
do rozdzielania konturów, okazał się mało przydatny ze względu na wprowadzane
do obliczeń błędy.
Metoda rozszerzo- Rozpoznanie Wektoryzacja
Wczytanie obrazu
nych h-maksimów komórek (elipsy)

Budowa macierzy Wykrycie zjawisk


Metoda aukcyjna Korekta błedów
prawdopodobienstw biologicznych

Rysunek 5.10. Najlepsza ze znalezionych ścieżek działania algorytmu

Każda klatka obrazu przetwarzana jest od 3 do 4 sekund, co wystarcza do śledze-


nia komórek w czasie rzeczywistym. Obliczenia można w każdej chwili przerwać, nie
tracąc informacji o dotąd odnalezionych ścieżkach (nie ma też przeszkód w realizacji
podglądu wyników przed końcem sekwencji).
W tabeli 5.10 przedstawiono rezultaty śledzenia wszystkich dostępnych sekwen-
cji, wraz z wartościami poziomu istotności ρ hipotezy H0 dla rozkładu wektorów
M RDO oraz średnią liczbą komórek nsr w klatce obrazu.

Tabela 5.10. Wyniki algorytmu dla sekwencji {S2 . . . S22 }


Sekw. klatki t nsr Wj Nd=1 Nd=max ρM RDO
S2 50 260 175 625,6 18 111 0,0423
S3 100 373 127 527,6 33 38 0,2131
S4 99 515 173 819,3 38 73 0,8078
S5 99 503 154 235,1 87 20 0,0006
S6 99 450 144 324,8 32 44 0,3670
S7 100 404 177 334,6 42 82 0,0446
S8 100 482 217 387,6 65 61 0,7206
S9 100 413 179 484,0 57 65 0,0004
S10 100 569 182 423,5 44 74 0,3727
S11 100 291 72 44,6 79 16 0,0749
S12 100 521 182 380,0 18 83 0,0550
S13 100 422 122 231,3 55 33 0,0009
S14 100 466 200 427,1 43 87 0,0002
S15 100 565 171 195,3 47 55 0,0409
S16 99 509 241 313,9 66 65 0,0006
S17 99 455 253 474,2 45 101 0,0033
S18 99 293 110 287,5 39 38 0,0850
S19 99 366 118 731,9 21 62 0,4305
S20 99 508 205 548,6 37 102 0,6762
S21 99 579 267 616,2 56 120 0,0101
S22 99 443 196 412,6 51 69 0,1768

56
5.11. Przykładowa analiza sekwencji obrazów

Działanie algorytmu i modułów analitycznych zostanie przedstawione na przy-


kładzie dwóch sekwencji komórek: S7 oraz S8 . Czas ich przetwarzania wyniósł od-
powiednio 412 oraz 456 sekund, rozkład długości trwania poszczególnych etapów
śledzenia znajduje się na rys. 5.11. Zastosowana została eliminacja ścieżek widocz-
nych przez mniej niż 4 klatki, dzięki czemu wykresy nie są zaburzone potencjalnie
nieprawidłowymi danymi.

segmentacja segmentacja
1%2%
< 1% 1% 4%
wektoryzacja wektoryzacja < 1%
parowanie parowanie
15%
sledzenie sledzenie
postprocessing postprocessing 18%
usuw. krótkich usuw. krótkich

42%
35%

S7 39%
S8
41%

Rysunek 5.11. Procentowy udział poszczególnych metod w czasie działania algoryt-


mu

Jakość oszacowana na podstawie automatycznie wyznaczonych miar (współczyn-


niki jakości 466,6 i 482,4, odpowiednio 49% i 30% komórek widocznych przez całą
sekwencję) jest zadowalająca, na wykresach z rys. 5.12 i 5.13 widoczne są wyraźne
maksima w okolicy 80 klatki, co sugeruje gwałtowną zmianę oświetlenia.

Pojawienia komórek w czasie (razem 38 w 100 klatkach). Pojawienia komórek w czasie (razem 45 w 100 klatkach).

S7 S8
3 4

2
Nowe komórki

Nowe komórki

0 20 40 60 80 100 120 0 20 40 60 80 100 120


Klatki Klatki

Rysunek 5.12. Wykresy nowych komórek w czasie, kolorem czerwonym zaznaczono


miejsca o podwyższonym ryzyku wystąpienia błędnych klatek obrazu

57
Znikniecia komórek w czasie (razem 74 w 100 klatkach). Znikniecia komórek w czasie (razem 133 w 100 klatkach).

S7 S8
4 7

Liczba komórek, które zniknel y

Liczba komórek, które zniknel y


5

4
2
3

2
1

0 20 40 60 80 100 120 0 20 40 60 80 100 120


Klatki Klatki

Rysunek 5.13. Wykresy zniknięć komórek w czasie

Sekwencja S8 charakteryzuje się dużą aktywnością biologiczną komórek – nastę-


pują 132 podziały (rys. 5.14) i 133 przypadki obumarcia lub zniknięcia (rys. 5.15
w S7 odpowiednio 70 i 74). Duża liczba podziałów wpływa na obniżenie średniego
czasu życia komórki o ok. 10% (rys. 5.15).
Podzia y komórek w czasie (razem 70 w 100 klatkach). Podzia y komórek w czasie (razem 132 w 100 klatkach).

S7 S8
4 6

4
Liczba podzia ów

Liczba podzia ów

2 3

0 20 40 60 80 100 120 0 20 40 60 80 100 120


Klatki Klatki

Rysunek 5.14. Wykresy podziałów komórek w czasie

Czas zycia komórki Czas zycia komórki

S7 S8
90 70

80
60

70
50
60
Liczba komórek
Liczba komórek

50 40

40 30

30
20
20

10
10

0 0
−20 0 20 40 60 80 100 120 −20 0 20 40 60 80 100 120
Klatki Klatki

Rysunek 5.15. Histogram czasu życia komórek

Analiza prędkości M RDO wykazała, że rozkłady wektorów są zdecydowanie rów-


nomierne (poziom istotności ρ wynosi 0,12 i 0,65, wobec maksymalnego wymaganego

58
ρ = 0, 05 dla rozkładu unimodalnego), co oznacza brak określonego kierunku mi-
gracji. Duże przesunięcie histogramów w sekwencji S8 wiąże się z występowaniem
kilku szybko poruszających się w jedną stronę obiektów – tego typu zjawiska mogą
wpłynąć niekorzystnie na obliczanie wartości ρ. Podobne rozkłady prędkości M RDO
i T DS wskazują na migrowanie komórek bez powracania do punktu początkowego.
Histogram predkosci AVS Histogram predkosci AVS

S7 S8
25 140

120
20

100

15
80

60
10

40

5
20

0 0
0 1 2 3 4 5 6 7 0 5 10 15 20 25 30 35

Rysunek 5.16. Histogram średniej prędkości AV S komórek

Histogram predkosci TDS. Histogram predkosci TDS.

S7 S8
30 350

300
25

250
20

200
15
150

10
100

5
50

0 0
0 0.5 1 1.5 2 2.5 3 0 5 10 15 20 25 30 35

Rysunek 5.17. Histogram prędkości T DS komórek

Histogram pr edkosci MRDO. Histogram predkosci MRDO.

S7 S8
25 300

250
20

200
15

150

10
100

5 50

0
0 0 5 10 15 20 25 30 35
0 0.5 1 1.5 2 2.5 3

Rysunek 5.18. Histogram prędkości M RDO komórek

59
S7 S8
0 0
−1 −1
1 1

0.875 0.875
−0.75 −0.75
7/4 π 0.75 π/4 7/4 π 0.75 π/4

0.625 0.625
−0.5 −0.5
0.5 0.5

0.375 0.375
−0.25 −0.25
0.25 0.25

0.125 0.125
0 0
3/2 π π/2 3/2 π π/2

0.25 0.25

0.5 0.5

5/4 π 3/4 π 5/4 π 3/4 π


0.75 0.75

1 1
π π
−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 5.19. Wektory M RDO ze wspólnym początkiem w punkcie (0, 0)

S7 S8
0 0
−1 −1
1 1

0.875 0.875
−0.75 −0.75
7/4 π 0.75 π/4 7/4 π 0.75 π/4

0.625 0.625
−0.5 −0.5
0.5 0.5

0.375 0.375
−0.25 −0.25
0.25 0.25

0.125 0.125
0 0
3/2 π π/2 3/2 π π/2

0.25 0.25

0.5 0.5

5/4 π 3/4 π 5/4 π 3/4 π


0.75 0.75

1 1
π π
−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 5.20. Histogram kołowy kierunków obieranych przez komórki

Porównanie sekwencji S8 i S9 ułatwia dwuwymiarowa wizualizacja ścieżek (rys. 5.21).


Na jej podstawie można stwierdzić, że komórki w S7 rzadziej zawracają z obranego
kierunku (co odwzorowuje poziom istotności ρ mniejszy, niż dla S8 ) oraz poruszają
się wzdłuż ukośnej linii od lewego górnego do prawego dolnego narożnika obrazu.

S7 S8

y y

x x

Rysunek 5.21. Przykładowe ścieżki przebyte przez komórki

Podsumowując - sekwencja S8 charakteryzuje się dużą aktywnością, aczkolwiek


jej komórki wykazują skłonność do poruszania się wokół stałego punktu. Komórki
sekwencji S7 ulegają migracji, rozkład wektorów M RDO jest jednak zbyt równo-
mierny, aby wyizolować najczęściej obierany kierunek.

60
6. Podsumowanie

Podstawowym celem pracy było skonstruowanie algorytmu wspomagającego pra-


cę osób badających zachowanie komórek żywego organizmu, umożliwiającego rozpo-
znanie i śledzenie obiektów na sekwencjach obrazów pobranych z mikroskopu. Cel
ten został osiągnięty głównie dzięki gruntownej analizie rozwiązań prezentowanych
w literaturze. Praca zawiera obszerny przegląd metod stosowanych w dziedzinie
śledzenia komórek, wraz z ich praktyczną implementacją w środowisku MATLAB.
Kluczowe moduły algorytmu wykonano w kilku różniących się wariantach, spośród
których w drodze testów wybrano te o najkorzystniejszym stosunku czasu działania
do jakości zwracanych wyników.
Z przeprowadzonych badań wynika, że ostateczna postać algorytmu powinna
składać się z: odczytu obrazu, segmentacji metodą rozszerzonych h-maksimów, roz-
poznania i wektoryzacji komórek, budowy macierzy prawdopodobieństw, śledzenia
metodą aukcyjną oraz postprocessingu. W takiej konfiguracji czas działania dla po-
jedynczej klatki nie przekracza 4 sekund, co jest wartością rozsądną, nawet w przy-
padku przetwarzania sekwencji pobieranej na bieżąco z mikroskopu. Największym
wyzwaniem podczas implementacji okazało się zastosowanie algorytmu podziału
i ograniczeń do problemu niesymetrycznego dopasowania m do n elementów. Trud-
ności w doborze odpowiednich parametrów doprowadziły do zaniechania testowania
i wyboru alternatywnej, znacznie szybszej metody aukcyjnej.
Zawarte w publikacjach naukowych informacje dotyczące jakości działania po-
szczególnych metod segmentacji w dużej mierze nie zostały potwierdzone. Szero-
ko stosowany w literaturze algorytm „watershed” odrzucono z uwagi na zupełne
nieprzystosowanie do pracy w niskich rozdzielczościach, progowanie zaś zmodyfi-
kowano w celu wykorzystania zalet zarówno obrazów fazowo-kontrastowych, jak
i fluorescencyjnych. Rekomendowana metoda rozszerzonych h-maksimów, operująca
na lokalnych ekstremach, stanowi najlepszy wybór ze względu na niewrażliwość na
występujące często gradienty oświetlenia.
Drugi z celów niniejszej pracy to analiza ruchu komórek w celu wykryciu pewnych
prawidłowości. Udostępniono szereg wykresów i statystyk pomagających w określe-
niu jakości działania algorytmu śledzenia oraz w oszacowaniu aktywności biologicz-

61
nej i ruchowej komórek. Szczególnie ważne są tu histogramy czasu życia oraz wykre-
sy liczby podziałów, których porównanie dla różnych sekwencji niesie wartościowe
informacje o zjawiskach zachodzących w żywych tkankach. Warto wspomnieć o moż-
liwości dowolnej rozbudowy części analitycznej ze względu na dostępność pełnych
danych o obiektach w każdej klatce obrazu.
Przedmiotem ostatnich badań w dziedzinie analizy ruchu w materiale biologicz-
nym jest śledzenie zmian właściwości migracyjnych komórek pod wpływem różnych
substancji chemicznych. Zaimplementowano je w pracy w postaci wyznaczania sta-
tystyk dla wektorów prędkości. Obok graficznej wizualizacji na wykresach kołowych
i histogramach potwierdzane są tu hipotezy dotyczące rozkładów zmiennych loso-
wych, pozwalające na matematyczne sprawdzenie możliwości wystąpienia ukierun-
kowanej migracji.
Podsumowując – algorytm zrealizowano w całości, jego działanie spełnia wszyst-
kie przyjęte założenia. Za największy sukces można uznać skonstruowanie bardzo
wydajnej metody aukcyjnej, eliminującej wszelkie spotykane w publikacjach niedo-
godności związane z długim czasem dopasowywania komórek.

62
Bibliografia

[1] O. Al-Kofahi, R. J. Radke, S. K. Goderie, Q. Shen, S. Temple, B. Roysam. Automated


cell lineage construction: A rapid method to analyze clonal development established
with murine neural progenitor cells. Cell Cycle, 5(3):327—-335, February 2006.
[2] K. Althoff. Segmentation and tracking algorithms for in vitro cell migration analysis.
Doktorsavhandlingar - Chalmers Tekniska Hogskola, 2317, 2005.
[3] D. Bertsekas. An auction algorithm for shortest paths. SIAM Journal on Optimiza-
tion, 1:425–447, 1991.
[4] S. Beucher, C. Lantuejoul. Use of watersheds in contour detection. International
Workshop on Image Processing: Real-time Edge and Motion Detection/Estimation,
Rennes, France., September 1979.
[5] J. Clausen. Branch and bound algorithms - principles and examples. Raport insty-
tutowy, Department of Computer Science, University of Copenhagen, March 1999.
[6] O. Debeir, I. Camby, R. Kiss, P. Van Ham, C. Decaestecker. A model-based ap-
proach for automated in vitro cell tracking and chemotaxis analyses. Cytometry,
60A(1):29–40, July 2004.
[7] W. Gander, G. H. Golub, R. Strebel. Least-squares fitting of circles and ellipses.
editorial board Bulletin Belgian Mathematical Society, redaktor, Numerical analysis
(in honour of Jean Meinguet), strony 63–84, 1996.
[8] R. Halı́ř, J. Flusser. Numerically stable direct least squares fitting of ellipses. Proc. 6th
International Conference in Central Europe on Computer Graphics and Visualization.
WSCG ’98, strony 125–132, Plzeň, Czech Republic, February 1998.
[9] C. De Hauwer, I. Camby, F. Darro, C. Decaestecker, T. Gras, I. Salmon, R. Kiss,
P. Van Ham. Dynamic characterization of glioblastoma cell motility. Biochem Biophys
Res Commun., 232(2):267–72, March 1997.
[10] C. De Hauwer, F. Darro, I. Camby, R. Kiss, P. Van Ham, C. Decaesteker. In vitro mo-
tility evaluation of aggregated cancer cells by means of automatic image processing.
Cytometry, 36(1):1–10, May 1999.
[11] B. Jähne. Digital image processing, 5th revised and extended edition. Measurement
Science and Technology, 13(9):1503, 2002.
[12] D. Li. Circular distribution in biostatistical analysis. Department of Statistics, Uni-
versity of Connecticut, May 2005.
[13] K. Li, T. Kanade. Cell population tracking and lineage construction using

63
multiple-model dynamics filters and spatiotemporal optimization. Proceedings of
the 2nd International Workshop on Microscopic Image Analysis with Applications in
Biology (MIAAB), September 2007.
[14] K. Li, E. Miller, L. Weiss, P. Campbell, T. Kanade. Online tracking of migrating and
proliferating cells imaged with phase-contrast microscopy. Proceedings of the 2006
Conference on Computer Vision and Pattern Recognition Workshop (CVPRW ’06),
strony 65 – 72, June 2006.
[15] J.S. Lim. Two-dimensional signal and image processing. Prentice-Hall, Inc., Upper
Saddle River, NJ, USA, 1990.
[16] D. Olszewska-Słonina, T. Drewa, J. Styczyński, R. Czajkowski. Hodowla komó-
rek, inżynieria tkankowa i medycyna regeneracyjna. część ii. Wiadomości lekarskie,
59(9-10):732–737, 2006.
[17] N. Otsu. A threshold selection method from gray-level histograms. IEEE Transac-
tions on Systems, Man and Cybernetics, 9(1):62–66, January 1979.
[18] J.C. Russ. The Image Processing Handbook, Fifth Edition (Image Processing Hand-
book). CRC Press, Inc., Boca Raton, FL, USA, 2006.
[19] J.L. Semmlow. Biosignal and Biomedical Image Processing. MATLAB-Based Appli-
cations. Marcel Dekker, Inc., 2004.
[20] G. Szczurek. Zastosowanie metod morfologii matematycznej do detekcji i dekompo-
zycji obrazów. Telekomunikacja i techniki teleinformacyjne, (1-2):67–90, 2003.
[21] C. Wählby, I. M. Sintorn, F. Erlandsson, G. Borgefors, E. Bengtsson. Combining
intensity, edge and shape information for 2d and 3d segmentation of cell nuclei in
tissue sections. J Microsc, 215(Pt 1):67–76, July 2004.

64
Spis rysunków

1.1 Przykładowa klatka sekwencji komórek . . . . . . . . . . . . . . . . . . . . . . 4

2.1 Kolejne etapy segmentacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5


2.2 Kształty elementów strukturalnych . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Przykłady przekształceń morfologicznych . . . . . . . . . . . . . . . . . . . . . 6
2.4 Kolejne etapy odejmowania tła od obrazu . . . . . . . . . . . . . . . . . . . . . 7
2.5 Dostosowanie zakresów wartości pikseli przy pomocy histogramu . . . . . . . . 8
2.6 Przykład działania filtru medianowego . . . . . . . . . . . . . . . . . . . . . . . 9
2.7 Przykładowa minimalizacja wariancji międzyklasowej w metodzie Otsu . . . . 11
2.8 Wpływ nierównomiernego oświetlenia na algorytm progowania . . . . . . . . . 11
2.9 Działanie metody rozszerzonych h-maksimów . . . . . . . . . . . . . . . . . . . 12
2.10 Działanie metody rozszerzonych h-maksimów na obrazie jednowymiarowym . . 13
2.11 Przykład działania algorytmu „watershed” . . . . . . . . . . . . . . . . . . . . 14
2.12 Przykłady dopasowania elipsy do obrazu rastrowego . . . . . . . . . . . . . . . 15

3.1 Obszar poszukiwania komórek podczas budowy macierzy prawdopodobieństw . 17


3.2 Kąty k1 i k2 pomiędzy osiami dwóch porównywanych elips . . . . . . . . . . . 18
3.3 Pełne drzewo algorytmu podziału i ograniczeń, bez odrzucania mało
prawdopodobnych rozwiązań . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4 Drzewo z rys. 3.3 po odrzuceniu mało prawdopodobnych przypisań . . . . . . . 20
3.5 Drzewo poddane eliminacji rozwiązań częściowych . . . . . . . . . . . . . . . . 21
3.6 Przykładowy podział komórki . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.7 Przykładowe zniknięcie komórki . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.8 Przykładowe zetknięcie konturów komórek . . . . . . . . . . . . . . . . . . . . 29

4.1 Wykres słupkowy liczby nowych komórek od czasu . . . . . . . . . . . . . . . . 32


4.2 Histogram czasu trwania ścieżek przebytych przez komórki . . . . . . . . . . . 33
4.3 Wykres podziałów komórek w czasie . . . . . . . . . . . . . . . . . . . . . . . . 34
4.4 Przykłady wektorów T i M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.5 Histogram prędkości M RDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.6 Wektory M RDO umieszczone na jednym wykresie . . . . . . . . . . . . . . . . 36
4.7 Histogram kątów nachylenia wektorów vi (t) . . . . . . . . . . . . . . . . . . . . 37
4.8 Trójwymiarowa wizualizacja ruchu komórek . . . . . . . . . . . . . . . . . . . . 39

65
4.9 Dwuwymiarowa wizualizacja ruchu komórek . . . . . . . . . . . . . . . . . . . 39

5.1 Schemat możliwych ścieżek działania algorytmu . . . . . . . . . . . . . . . . . 41


5.2 Porównanie średniego czasu trwania poszczególnych faz przetwarzania obrazu
i progowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3 Fragment klatki sekwencji wykonanej metodami fluorescencyjną
i fazowo-kontrastową . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.4 Przykład użycia obrazów fazowo-kontrastowych w celu wspomagania
segmentacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.5 Przykład działania metody rozszerzonych h-maksimów . . . . . . . . . . . . . 47
5.6 Przykład działania metody „watershed” . . . . . . . . . . . . . . . . . . . . . . 48
5.7 Proces rozpoznawania komórek na obrazie monochromatycznym . . . . . . . . 49
5.8 Dopasowywanie elipsy do kształtu o niewielkich rozmiarach . . . . . . . . . . . 50
5.9 Wykres kołowy długości trwania poszczególnych faz śledzenia komórek . . . . 50
5.10 Najlepsza ze znalezionych ścieżek działania algorytmu . . . . . . . . . . . . . . 56
5.11 Procentowy udział poszczególnych metod w czasie działania algorytmu . . . . 57
5.12 Wykresy nowych komórek w czasie . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.13 Wykresy zniknięć komórek w czasie . . . . . . . . . . . . . . . . . . . . . . . . 58
5.14 Wykresy podziałów komórek w czasie . . . . . . . . . . . . . . . . . . . . . . . 58
5.15 Histogram czasu życia komórek . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.16 Histogram średniej prędkości AV S komórek . . . . . . . . . . . . . . . . . . . . 59
5.17 Histogram prędkości T DS komórek . . . . . . . . . . . . . . . . . . . . . . . . 59
5.18 Histogram prędkości M RDO komórek . . . . . . . . . . . . . . . . . . . . . . . 59
5.19 Wektory M RDO ze wspólnym początkiem w punkcie (0, 0) . . . . . . . . . . . 60
5.20 Histogram kołowy kierunków obieranych przez komórki . . . . . . . . . . . . . 60
5.21 Przykładowe ścieżki przebyte przez komórki . . . . . . . . . . . . . . . . . . . . 60

66
Spis tabel

3.1 Przykładowa macierz prawdopodobieństw . . . . . . . . . . . . . . . . . . . . . 18


3.2 Macierz prawdopodobieństw wykorzystywana na rys. 3.3 i 3.4 . . . . . . . . . 19
3.3 Przykładowa macierz prawdopodobieństw (algorytm aukcyjny) . . . . . . . . . 24
3.4 Wektor cen (algorytm aukcyjny) . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.5 Obliczanie nowej ceny komórek (algorytm aukcyjny) . . . . . . . . . . . . . . . 25
3.6 Zbiór S po pierwszej iteracji (algorytm aukcyjny) . . . . . . . . . . . . . . . . 25
3.7 Wektor cen po pierwszej iteracji (algorytm aukcyjny) . . . . . . . . . . . . . . 26

5.1 Jakość i szybkość działania algorytmów segmentacji oraz śledzenia dla


różnych ∆t, przy użyciu sekwencji S9 . . . . . . . . . . . . . . . . . . . . . . . 43
5.2 Jakość i szybkość działania algorytmów segmentacji oraz śledzenia dla
różnych ∆t, przy użyciu sekwencji S3 . . . . . . . . . . . . . . . . . . . . . . . 44
5.3 Analiza działania wspomagania segmentacji dla sekwencji S3 . . . . . . . . . . 46
5.4 Analiza działania wspomagania segmentacji dla sekwencji S9 . . . . . . . . . . 46
5.5 Jakość działania metody rozszerzonych h-maksimów . . . . . . . . . . . . . . . 47
5.6 Analiza działania algorytmu „watershed” dla sekwencji S3 . . . . . . . . . . . 48
5.7 Jakość i szybkość działania metody aukcyjnej . . . . . . . . . . . . . . . . . . . 52
5.8 Wyniki działania algorytmu przy użyciu różnych parametrów postprocessingu 54
5.9 Przykład tablicy paths dla jednej klatki obrazu zawierającej 8 komórek . . . . 55
5.10 Wyniki algorytmu dla sekwencji {S2 . . . S22 } . . . . . . . . . . . . . . . . . . . 56

67

Vous aimerez peut-être aussi