You are on page 1of 26

Rozdział 4

Przykłady zastosowań systemu


CELLS

4.1 Minimalizacja wyrażeń logicznych


Większość zastosowanych w systemach CELLS algorytmów minimalizacji
zbioru próbnego F ∗ jest oparta na algorytmach minimalizacji formuł boolow-
skich. Stąd tworzenie postaci uproszczonej wyrażeń logicznych wydaje się być
takim zadaniem, w którym systemy CELLS mogą wykazać się dużą skutecz-
nością działania. W poniższych przykładach porównano szybkość działania
systemu CELLS2v1 i algorytmu Quine’a-McCluskeya.

Przykład 4.1 Rysunek 4.1 przedstawia schemat minimalizacji


wyrażenia  

 hh00010i, 0i, hh01100i, 0i, 

 hh00100i, 1i, hh11000i, 1i, 

 

 
F∗ = hh01000i, 1i, hh10001i, 0i, .
hh10000i, 0i, hh00011i, 0i, 

 

 

 
hh00001i, 0i, hh00110i, 1i
 

realizowanego algorytmami Quine’a-McCluskeya oraz MRW Koszt dzia-


łania algorytmu Quine’a-McCluskeya (bez kosztów określania mini-
malnego zbioru prostych implikantów1 ):

porównań : 4,
przypisań : 2.
1
Terminologia patrz H.Kamionka-Mikuła, H.Małysiak, B.Pochopień, Układy cyfrowe.
Teoria i przykłady, Gliwice 2001, s. 17-27.
4.1 Minimalizacja wyrażeń logicznych 77

Para 001-0 i -1000 stanowi minimalny zbiór prostych implikantów wy-


rażenia F ∗ dla algorytmu Quine’a-McCluskeya. Jest to wynik niezado-
walający. Działanie algorytmu Quine’a-McCluskeya można usprawnić
przyjmując wartość 1 kombinacji argumentów niewystępujących w F ∗ .
Schemat działania algorytmu Quine’a-McCluskeya dla zmodyfikowa-
nego zbioru F ∗ przedstawia rys. 4.2. Jego koszt działania (bez kosztów
określania minimalnego zbioru prostych implikantów):

porównań : 1017,
przypisań : 91.

Na rys. 4.1.b przedstawiono minimalizację wyrażenia F ∗ algorytmem


MRW. Koszt działania algorytmu MRW:

porównań : 17,
przypisań : 9.

a) b) 0 1 2 3 4 5
0 0 0 0 0 0
krok 1. 1 0 0 1 1 1 1
2 0 0 0 1 1 1
4 00100 3 0 0 0 0 0
8 01000 4 1 1 0 0 0
6 00110 5
24 11000 6 1 1 0
7
8 1 1 1 0
krok 2. 9 0 1
10
4,6 001-0
11
8,24 -1000
12 0 0 1 0
13
14
15
16 0
17 0
18
19
20
21
22
23
24 1
25
26
27
28
29
30
31
Rys. 4.1. Minimalizacja wyrażenia logicznego:
a) algorytmem Quine’a-McCluskeya, b) algorytmem MRW.
4.1 Minimalizacja wyrażeń logicznych 78

krok 1. krok 2. 7,15 0-111 krok 3. krok 4.


7,23 -0111
0 00000 0,4 00-00 11,15 01-11 4,5,6,7 001– 4,5,6,7,20,21,22,23 -01–
4 00100 0,8 0-000 11,27 0-000 4,5,20,21 -010- 8,9,10,11,24,25,26,27 -10–
8 01000 4,5 0010- 13,15 -1011 4,6,20,22 -01-0 5,7,13,15,21,23,29,31 –1-1
5 00101 4,6 001-0 13,29 011-1 8,9,10,11 010– 6,7,14,15,22,23,30,31 –11-
6 00110 4,20 -0100 14,15 -1101 8,10,24,26 -100- 9,11,13,15,25,27,29,31 -1–1
9 01001 8,9 0100- 14,30 0111- 5,7,13,15 0-1-1 10,11,14,15,26,27,30,31 -1-1-
10 01010 8,10 010-0 19,23 -1110 5,7,21,23 -01-1
18 10010 8,24 -1000 19,27 -1000 5,13,21,29 –101
20 10100 5,7 001-1 21,23 10-11 6,7,14,15 0-11-
24 11000 5,13 0-101 21,29 1-011 6,7,22,23 -011-
7 00111 5,21 -0101 22,23 1011- 6,14,22,30 –110
11 01011 6,7 0011- 22,30 1-110 9,11,13,15 01–1
13 01101 6,14 0-110 25,27 110-1 9,13,25,29 -1-01
14 01110 6,22 -0110 25,29 11-01 10,11,14,15 01-1-
19 10011 9,11 010-1 26,27 1101- 10,11,26,27 -101-
21 10101 9,13 01-01 26,30 11-10 10,14,26,30 -1-10
22 10110 9,25 -1001 28,29 1110- 18,19,22,23 10-1-
25 11001 10,11 0101- 28,30 111-0 18,19,26,30 1-01-
26 11010 10,14 01-10 15,31 -1111 18,22,26,30 1–10
28 11100 10,26 -1010 23,31 1-111 20,21,22,23 101–
15 01111 18,19 1001- 27,31 11-11 20,21,28,29 1-10-
23 10111 18,22 10-10 29,31 111-1 20,22,28,30 1-1-0
27 11011 18,26 1-010 30,31 1111- 24,25,26,27 110–
29 11101 20,21 1010- 24,25,28,29 11-0-
30 11110 20,22 101-0 24,26,28,30 11–0
30 11111 20,28 1-100 7,15,23,31 –111
24,25 1100- 11,15,27,31 -1-11
24,26 110-0 13,15,29,31 -11-1
24,28 11-00 14,15,30,31 -111-

Rys. 4.2. Minimalizacja wyrażenia logicznego metodą Quine’a-McCluskeya.

Przykład 4.2 Niech dane będzie wyrażenie F ∗


 

 hh0000i, 0i,
hh1100i, 1i, 

hh1000i, hh1101i,
 
 1i, 1i, 
F∗ = .

 hh1001i, 1i, hh1110i, 1i, 

 

hh1010i, 1i, hh1111i, 1i 

Rysunek 4.3 przedstawia schemat minimalizacji wyrażenia metodą


Quine’a-McCluskeya oraz algorytmem MRW. Koszt działania algo-
rytmu Quine’a-McCluskeya (bez kosztów określania minimalnego zbioru
prostych implikantów):

porównań : 40,
przypisań : 15.

Koszt działania algorytmu MRW:

porównań : 10,
przypisań : 13.
4.2 Rozpoznawanie obrazów 79

a) b) 0 1 2 3 4
krok 1.
0 0 0 0 0 0
8 1000 1 1 1 1 1
9 1001 2
10 1010 3 1 1 1
12 1100 4
13 1101 5 1 1
14 1110 6
15 1111 7 1
8 1
krok 2. 9 1 1
10 1
8,9 100- 11 1
8,10 10-0 12 1
8,12 1-00 13 1 1
9,13 1-01 14 1
10,14 1-10 15 1 1
12,13 110-
12,14 11-0
13,15 11-1
14,15 111-

krok 3.
8,9,12,13 1-0-
8,10,12,14 1–0
12,13,14,15 11–
Rys. 4.3. Minimalizacja wyrażeń logicznych:
a) algorytm Quine’a-McCluskeya, b) algorytm MRW.
Przedstawiony w przykładach proces minimalizacji wyrażenia F ∗ za po-
mocą algorytmu MRW symbolizuje działanie systemu CELLS2v1. Możliwość
tworzenia postaci uproszczonej wyrażeń logicznych ma zasadnicze znaczenie
w zadaniu projektowania optymalnych połączeń układów cyfrowych. Duża
skuteczność i szybkość działania systemów CELLS czynią je dobrym narzę-
dziem usprawniającym proces projektowania układów przełączających.

4.2 Rozpoznawanie obrazów


Zadanie rozpoznawania obrazów można traktować jako zadanie klasyfikacji
zbioru obiektów2 . W komputerowej reprezentacji obrazów obiektami podda-
2
Część teoretyczna podrozdziału została oparta na pracy Z. Pawlaka Systemy infor-
macyjne. Podstawy teoretyczne, Warszawa 1983. O klasyfikacji obiektów patrz s. 134-162.
Patrz także R. Tadeusiewicz, M. Flasiński, Rozpoznawanie obrazów, Warszawa 1991.
4.2 Rozpoznawanie obrazów 80

wanymi klasyfikacji będą macierze3 [pij ] wymiaru xmax × ymax postaci4


 
p1,1 p2,1 ... pxmax ,1

 p1,2 p2,2 ... pxmax ,2 

 .. .. .. .. . (4.1)

 . . . .


p1,ymax p2,ymax . . . pxmax ,ymax
W oczywisty sposób macierz może zostać sprowadzona do wygodniejszej dla
rozważań postaci wektora
[p1,1 , p2,1 , . . . , pxmax ,1 , p1,2 , p2,2 , . . . , pxmax ,ymax ] . (4.2)
Niech dany będzie zbiór obrazów X, niepusty zbiór atrybutów A oraz
funkcja charakterystyczna ρ : X × A → {0, 1} określająca występowanie
atrybutu w obiekcie zbioru X 5 . Niech też możliwe będzie budowanie wyra-
żeń logicznych na elementach A, których zbiór oznaczany będzie At . Wtedy
klasyfikacją zbioru X nazywana będzie każda funkcja ρt : X × At → {0, 1}6 .
Sytuacją odwrotną do procesu klasyfikacji jest proces uczenia się. Niech
dany będzie zbiór Y ⊂ X, który należy zaliczyć do pewnej klasy oraz zbiór
Z ⊂ X, Y ∩ Z = ∅, który do niej nie należy. Proces uczenia się rozpozna-
wania obrazów będzie polegał na znalezieniu takiego zbioru wyrażeń At , dla
którego zachodzi7
ρt : Y × At → 1, ρt : Z × At → 0.
Systemy CELLS dostarczają szybkich mechanizmów tworzenia zbioru
atrybutów At . Obrazy X mogą być traktowane jako automaty komórkowe,
wtedy atrybuty At należy utożsamić ze zminimalizowanym zbiorem F ∗|NZ .
Wektor (4.2) można czytać na dwa sposoby:
1. wektor stanowi jeden układ wejściowy L;
2. wektor stanowi produkt CA:
CA = L0 , L1 , L2 , . . . , Ln .
3
Bądź ich części.
4
Zgodnie z ogólnie stosowaną konwencją indeksowania punktów bitmap [pij ] pierwsza
współrzędna oznacza współrzędną kolumny x, druga współrzędną wiersza y.
5
Z każdym obiektem z X związany jest wektor o elementach {0, 1}, w którym 1 oznacza
występowanie danego atrybutu z A.
6
Por. Z. Pawlak, op. cit. s. 134.
7
Ibidem s. 163-167.
4.2 Rozpoznawanie obrazów 81

Sposób traktowania obrazów przedstawiony w punkcie pierwszym zostanie


omówiony na przykładzie rozpoznawania pisma odręcznego. Utożsamianie
obrazów z produktem n kroków ewolucji jednowymiarowego CA posłuży do
analizy zdjęć medycznych.

4.2.1 System rozpoznawania liter pisanych


Podstawy teoretyczne
W niniejszym paragrafie zakłada się, że obraz cyfrowy reprezentowany po-
stacią (4.2) stanowi układ wejściowy L jednowymiarowego automatu komór-
kowego. Zbiór F ∗ budowany jest na podstawie dwuelementowego produktu
CA
CA = L, L
powstałego dla reguły globalnej

fCA (L) = L. (4.3)

Stąd zbiór F ∗ dla obrazu (4.2) ma postać

hhp1,1, p2,1 , . . . , pxmax ,1 , p1,2 , p2,2 , . . . , pxmax ,ymax i, p1,1i


 

 

hhp2,1, . . . , pxmax ,1 , p1,2 , p2,2 , . . . , pxmax ,ymax , p1,1 i, p2,1i

 

 
F∗ = .. .




. 



hhpxmax ,ymax , p1,1 , . . . , pxmax ,1 , p1,2 , p2,2, . . . , pxmax−1 ,ymax i, pxmax ,ymax i
 

W celu wyeliminowania trywialnej reguły lokalnej

gCA (x) = x

w procesie nauki przyjmuje się, że pierwszy element otoczenia NZ ma wartość


zerową:
NZ = h0, z2 , z3 , . . . , zm i, zi ∈ {0, 1}. (4.4)

Przykład 4.3 Sposób uczenia się systemu odczytywania liter pisa-


nych zilustrowany zostanie przykładem uczenia rozpoznawania litery
L8 . Rysunek 4.4 przedstawia otrzymane przez system cztery wzorce
dużej litery L, czyli cztery macierze wymiaru 3 × 3 o elementach ze
zbioru {0, 1}. Na wzorcu czwartym litera L jest obrócona. Fragment
8
W celu uczynienia przykładu przejrzystym, literę L reprezentuje układ uproszczony.
4.2 Rozpoznawanie obrazów 82

Rys. 4.4. Wzorce litery L

Rys. 4.5. Znalezione przez system otoczenie dla litery L

zbioru F ∗ otrzymany z pierwszego wzorca wygląda następująco:


 
 hh00100110i, 1i,
 hh01001101i, 0i, hh10011010i, 0i, 


F = hh00110100i, 1i, hh01101001i, 0i, hh11010010i, 0i, .
 hh10100100i, 1i, hh01001001i, 1i, hh10010011i, 0i 
 

Znaleziona przez program cells2v1 zminimalizowana funkcja F ∗ ma


postać
 

 hh0000i, 1i, hh0001i, 1i, hh0010i, 1i, hh0011i, 0i, 

 hh0100i, 0i,

hh0110i, 0i, hh0111i, 0i, hh1000i, 1i,


F ∗|NZ = .

 hh1001i, 1i, hh1010i, 0i, hh1100i, 0i, hh1101i, 1i, 

 

hh1110i, 0i 

gdzie
NZ = h0, 0, 1, 1, 1, 1, 0, 0i.
Wynik symboliczne przedstawia rys. 4.5. Na przykład do otoczenia
komórki a należą komórki b, c, d i e. System rozpozna daną literę
jako literę L, jeżeli układ komórek będzie w zadeklarowanym stopniu
pokrywał się ze zbiorem F ∗|NZ . W rozważanym przypadku, dla układu

b = 1, c = 0, d = 0, e = 1,

system zwiększy prawdopodobieństwo rozpoznania litery L, jeśli ko-


mórka a będzie miała wartość 1.
4.2 Rozpoznawanie obrazów 83

Rys. 4.6. Pulpit programu ReadImage24

Program ReadImage24
Program ReadImage24 jest wersją programu rozpoznającego obrazy nakiero-
waną na zadanie rozpoznawania liter pisanych. Pulpit programu przedstawia
rys. 4.6.
W procesie nauki programu wykorzystywany jest system uczący się
CELLS2v2. W czasie pierwszego uruchomienia programu zostaje załadowana
baza dziesięciu rodzajów pisma dużych liter alfabetu angielskiego od A do
Z. Wśród nich dziewięć stanowi pismo odręczne. Fragment bazy prezentuje
rys. 4.7.
Litery są zakodowane w macierzy rozmiaru 48 × 48. Możliwe jest zmniej-
szenie dokładności rozpoznawania litery. Rysunek 4.8 przedstawia obraz li-
tery A zakodowany w macierzy o wymiarach 12 × 12. Istnieją dwa powody
zmniejszania dokładności przedstawienia litery:
• większa siatka kodowania zaciera różnice wynikające z pisania różnym
stylem tych samych liter9 ;
• litera zakodowana z mniejszą dokładnością wymaga mniejszej ilości pa-
mięci do przechowywania danych.

9
W skrajnym przypadku prowadzi do niemożliwości odróżniania różnych liter.
4.2 Rozpoznawanie obrazów 84

Rys. 4.7. Fragment bazy danych programu ReadImage24

Rys. 4.8. Obraz litery A zakodowany w macierzy wymiaru 12 × 12

Dane przechowywane są w tablicy F delta model reprezentującej wykres F δ∗ .


W celu ograniczenia rozmiaru tablicy F delta model, która dla obrazu zako-
dowanego w macierzy rozmiaru xmax × ymax miałaby wielkość

n = 2xmax ·ymax −1

losowanych jest pNz komórek, które stanowią zawartość tej tablicy rozmiaru

n = 2pN z .

W programie zaimplementowano możliwość losowania wielu konfiguracji ko-


mórek, których dane są przechowywane w osobnych tablicach F delta model.
Po wstępnym procesie uczenia się program jest gotowy do rozpoznawania
liter pisanych. Rozpoznanie litery polega na wykonaniu trzech operacji:
1. odczytaniu danych z wczytanej litery, dane są umieszczane w tablicy
F delta;

2. uzupełnieniu tablicy F delta;

3. porównaniu tablicy F delta z tablicami F delta model.


4.2 Rozpoznawanie obrazów 85

Rys. 4.9. Układ rozpoznany przez program jako litera L

W niektórych przypadkach, gdy wygląd wpisanej litery jest odległy od po-


danego we wzorcu, system może rozpoznać literę błędnie. Jest to wynikiem
niewielkiego rozmiaru początkowej bazy danych. W celu wyeliminowania po-
myłek zaimplementowano w programie własność automatycznego poprawia-
nia tablic F delta model w chwili zwiększania bazy danych. Dodanie własnego
wzorca do bazy jest możliwe po naciśnięciu pola Dodaj do bazy danych.
W wyniku przeprowadzonych eksperymentów zaobserwowano dużą sku-
teczność programu w rozpoznawaniu liter pisanych po dodaniu przez użyt-
kownika około 10 nowych wzorców każdej litery do bazy danych. Zbyt duża
ilość dodanych wzorców przez jednego użytkownika powodowała nastawienie
się programu na poprawne rozpoznawanie liter pisanych jednym charakterem
pisma.

Rozpoznawanie obrazu przez program ReadImage24 a postrzeganie


ludzkie
Opisany proces rozpoznawania obrazu polega na poszukiwaniu przez system
punktów (obszarów) charakterystycznych dla danego obiektu oraz odkrywa-
niu relacji zachodzących między tymi punktami. Skutkiem powyższego jest
sposób działania systemu w wielu przypadkach przypominający postrzeganie
ludzkie. Rysunek 4.9 przedstawia zbiór kresek i kropek, w którym łatwo od-
czytać zarys litery L. Program ReadImage24 również rozpoznał obiekt jako
literę L.
4.2 Rozpoznawanie obrazów 86

4.2.2 Analiza zdjęć medycznych


Rozrastające się automaty komórkowe
Definicja 4.1 Jednowymiarowym rozrastającym się automatem komórkowym
nazywana będzie para uporządkowana

hC, fCA i, (4.5)

gdzie C jest dowolnym niepustym skończonym zbiorem, funkcję globalną fCA


opisuje układ10
c0(k+1)1 = gCA (ck1 , ck2 , . . . , ckm−1 , ckm )
c0(k+1)2 = gCA (ck2 , ck3 , . . . , ckm , ck1 )
.. , (4.6)
.
c0(k+1)m = gCA (ckm , ck1 , . . . , ckm−2 , ckm−1 )

gdzie gCA jest funkcją lokalną, c ∈ C, c0 ∈ C t , t ­ 1.

Wniosek 4.1 Jednowymiarowe automaty komórkowe stanowią podzbiór jed-


nowymiarowych rozrastających się automatów komórkowych, dla których za-
chodzi t = 1.

Przykład 4.4 Niech dany będzie zbiór C = {0, 1}, konfiguracja


początkowa
L0 = h0, 1, 0, 0i,
otoczenie dla komórki c(k+1)i

NZ = hcki−1 , cki , cki+1 i (4.7)

oraz reguły ewolucji gCA dane tabelą


cki−1 cki cki+1 c(k+1)i
0 0 0 0
0 0 1 010
0 1 0 11
0 1 1 1
1 0 0 00
1 0 1 0110
1 1 0 1
1 1 1 0
10
Por. wzór (1.3).
4.2 Rozpoznawanie obrazów 87

Należy zauważyć, że z powodu rozrastania się układów L wygodniejsza


do użycia jest taka postać otoczenia NZ , w której sąsiedztwo zazna-
cza się względem komórki bieżącej (wzór (4.8)). W tym przypadku
konieczne jest określenie warunków brzegowych, czyli zdefiniowanie
otoczenia NZ dla komórek o indeksie przekraczającym długość układu
L. Wszędzie dalej będzie zakładane, że wartość indeksu i oznacza wiel-
kość i mod m, gdzie m oznacza długość układu L. Pierwsze dwa kroki
ewolucji tak określonego CA przedstawiono poniżej

L0 = 0 1 0 0
L1 = 0 1 0 1 1 0 0 0
L2 = 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0

Do tej pory zbiór C był zbiorem skończonym. W dalszych rozważaniach


kluczową rolę będą odgrywały rozrastające się CA, w których zbiór C będzie
utożsamiany ze zbiorem liczb naturalnych N.

Przykład 4.5 Niech dany będzie zbiór C = N , konfiguracja po-


czątkowa
L0 = h1, 2, 2, 2, 2, 1, 1i,
otoczenie dla komórki c(k+1)i

NZ = hcki , cki+2 , cki+6 i (4.8)

oraz reguły ewolucji gCA postaci


(
c0 , gdy c1 = c2 ,
gCA (c0 , c1 , c2 ) =
c0 + 1, c0 + 1, c0 + 1, c0 + 1, gdy c1 6= c2 .
(4.9)
Cztery kroki ewolucji tak określonego automatu komórkowego przed-
stawia rys. 4.10.

Analizę rozrastających się CA ułatwia przedstawienie układów L w po-


staci graficznej. Na rysunku 4.11 układy L0 oraz L0 wraz z układem L1
przykładu 4.5 odwzorowano w postać drzewa. Wykres należy odczytywać
zaczynając od strony lewej, przy czym stan komórki reprezentuje ilość po-
przedników liścia (korzeń drzewa reprezentuje stan 0). Rysunek 4.12 przed-
stawia cztery pierwsze kroki ewolucji rozrastającego się CA z przykładu 4.5.
Innym sposobem przedstawienia rozrastającego się CA jest odwzorowa-
nie układów L w postać dzielonej płaszczyzny. Rysowanie wykresu polega na
4.2 Rozpoznawanie obrazów 88

Rys. 4.10. Cztery kroki ewolucji rozrastającego się CA z przykładu 4.5

Rys. 4.11. Układy L rozrastającego się CA z przykładu 4.5 w postaci


drzewa dla a) pierwszego kroku, b) dwóch pierwszych kroków ewolucji
4.2 Rozpoznawanie obrazów 89

Rys. 4.12. Cztery kroki ewolucji rozrastającego się CA z przykładu 4.5


w postaci drzewa

dzieleniu ograniczonej płaszczyzny na tyle części, ile wartości zwraca dana


lokalna reguła ewolucji gCA . Dalsza ewolucja danej komórki jest umieszczana
w wydzielony obszarze, dzieląc go na coraz mniejsze części. Kolejność dzie-
lenia płaszczyzny (kwadratu) stosowaną w dalszej części pracy przedstawia
rysunek 4.13. Widać na nim rekurencyjne zagnieżdżanie się dzielonych ob-
szarów.
Na rysunku 4.14 przedstawiono podział płaszczyzny dla układów L0 i
L1 rozrastającego się CA z przykładu 4.5. Rysunek 4.16 prezentuje ten sam
automat komórkowy na płaszczyźnie po czterech krokach ewolucji. Wartości

Rys. 4.13. Kolejność podziału płaszczyzny dla pierwszych dwu kroków ewolucji
rozrastającego się CA
4.2 Rozpoznawanie obrazów 90

Rys. 4.14. Układy L rozrastającego się CA z przykładu 4.5 w postaci


podziału płaszczyzny dla a) pierwszego kroku, b) dwóch pierwszych kroków ewolucji

kolejnych elementów układu L zakodowanych w przedstawioną postać po-


dzielonej płaszczyzny można rozpoznać odczytując stosunek długości frag-
mentu płaszczyzny df do długości boku całej płaszczyzny dw . Wyraża to
następujący wzór
dw
c= , (4.10)
df
gdzie c oznacza poszukiwany stan komórki. Odczytywanie obszarów powinno
się odbywać zgodnie z kolejnością przedstawioną na rys. 4.13. Rysunek 4.15
przedstawia kolejność odczytywania obszarów dla wykresu 4.14 b).
Postać dzielonej płaszczyzny rozrastających się CA zostanie dalej wyko-
rzystana do analizy obrazów cyfrowych.

Rozpoznawanie reguł ewolucji automatu komórkowego


Podsumowując dotychczasowe rozważania w celu wykorzystania systemu CELLS
w analizie obrazów cyfrowych należy rozważyć:

• wymiar automatu komórkowego, którego reguły będą poszukiwane;

• orientację produktu CA, jeśli obraz będzie interpretowany jako produkt


jednowymiarowego CA;

• redukcję szumów z obrazu cyfrowego.

W niniejszym paragrafie zaprezentowane zostaną dwa sposoby wyszukiwania


danych w obrazach graficznych:
4.2 Rozpoznawanie obrazów 91

Rys. 4.15. Kolejność odczytywania obszarów z wykresu 4.14 b)

Rys. 4.16. Cztery kroki ewolucji rozrastającego się CA z przykładu 4.5


w postaci dzielonej płaszczyzny
4.2 Rozpoznawanie obrazów 92

• obraz będzie odczytywany jako produkt jednowymiarowego automatu


komórkowego
CA = L0 , L1 , . . . , Lymax −1 ,
gdzie
Lk = hp1,k+1, p2,k+1, . . . , pxmax ,k+1i,

• obraz będzie odczytywany jako produkt ewolucji rozrastającego się au-


tomatu komórkowego.

Przykład 4.6 przedstawia sposób czytania reguł dla obrazu cyfrowego


interpretowanego jako produkt jednowymiarowego CA.

Przykład 4.6: Ilustracja 4.17 przedstawia produkt ewolucji pew-


nego automatu komórkowego z losowej konfiguracji początkowej. Za-
daniem systemu CELLS było znalezienie reguł lokalnych determinu-
jących ewolucję CA. Dodatkowym utrudnieniem było umieszczenie w
produkcie CA obszarów z informacją błędną.
System CELLS11 rozpoznał wykres jako produkt ewolucji dwusta-
nowego CA (C = {0, 1}) o regułach

gCA = {hh0, 0i, 0i, hh0, 1i, 1i, hh1, 0i, 1i, hh1, 1i, 0i},

z sąsiedztwem
NZ = h1, 1, 0, 0i.
Następnie CELLS zaznaczył obszary, które nie powstały w wyniku
stosowania tej reguły. Prezentuje to ilustracja 4.18.

Należy zauważyć, że w powyższym przykładzie każdy piksel obrazu cyfro-


wego był traktowany jako pojedyncza komórka CA. Innym sposobem analizy
obrazu cyfrowego jest utworzenie na nim układu, który będzie traktowany
jako rozrastający się automat komórkowy.

Przykład 4.7: Obraz z rys. 4.19 a) przetworzono w ten sposób, że


fragment płaszczyzny dzielono tylko dla takich obszarów, w których
różnica między odcieniami najciemniejszym i najjaśniejszym przekra-
czała zadeklarowaną wcześniej wielkość. W ten sposób w każdym kwa-
dracie pozostawała część obrazu o zbliżonym odcieniu. Ilustruje to rys.
4.19 b).
4.2 Rozpoznawanie obrazów 93

Rys. 4.17. Produkt CA z obszarami błędnymi

Rys. 4.18. Produkt CA z zaznaczonymi przez CELLS obszarami błędnymi


4.2 Rozpoznawanie obrazów 94

Rys. 4.19. Obraz cyfrowy a) przed podziałem, b) po pięciu krokach podziału

Rys. 4.20. Postać drzewiasta obszarów z rysunku 4.19 b)


4.2 Rozpoznawanie obrazów 95

Powstała w wyniku podziałów płaszczyzna została następnie zin-


terpretowana jako rozrastający się automat komórkowy. Jej postać
drzewiastą dla pięciu etapów ewolucji przedstawia rys. 4.20.
Zbudowane na układach Li elementy par Fi poddane zostały nor-
malizacji według wzoru
cki − Fimin
cki = , (4.11)
Fimax − Fimin

gdzie Fimax i Fimin oznaczają odpowiednio największą i najmniejszą


wartość zawartą w parze Fi 12 . Składający się z par Fi zbiór F ∗ sta-
nowił dane wejściowe systemu uczącego się CELLS1v113 . Znaleziona
przez system CELLS zminimalizowana postać otoczenia NZ uwzględ-
nia tylko komórkę bieżącą

NZ = ci .

W obydwu przypadkach zakłada się, że obraz cyfrowy składa się z podob-


nych fragmentów, ułożonych zgodnie z pewną regułą. Jest to założenie trafne
w stosunku do obiektów posiadających cechę samopodobieństwa, których w
przyrodzie jest wiele. Jednym z ciekawszych obiektów samopodobnych jest
tkanka ludzka. Stąd wziął się pomysł zastosowania podanych sposobów prze-
twarzania obrazów cyfrowych do analizy zdjęć mammograficznych. Wyniki
tych badań przedstawia następny paragraf.

Analiza zdjęć mammograficznych


Badania dotyczące analizy obrazów mammograficznych były ukierunkowane
na zadanie automatycznego rozpoznawania występujących na zdjęciach zmian
patologicznych. Materiałem do badań były zdjęcia różnej wielkości kodowane
w 256 odcieniach szarości. Rys. 4.21 przedstawia fragment przykładowego
zdjęcia mammograficznego14 z zaznaczoną patologią.
Pierwszy sposób analizy zdjęcia mammograficznego polegał na potrak-
towaniu ciągu bitów jako jednowymiarowy automat komórkowy. Przyjęto
11
W realizacji przykładu wykorzystano program cells1v1, lecz możliwe byłoby także
wykorzystanie programów cells1v2 oraz cells2v1.
12
W parze Fi = hLi , ci i normalizacji podlegają elementy układu Li oraz element ci .
13
System CELLS1v1 jest jedynym systemem spośród wymienionych, w którym zbiór sta-
nów elementów danych wejściowych może być zbiorem nieskończonym. Patrz wzór (2.24).
14
Wykorzystano zdjęcie http://sprojects.mmi.mcgill.ca/
4.2 Rozpoznawanie obrazów 96

Rys. 4.21. Fragment zdjęcia mammograficznego z zaznaczoną patologią

przy tym założenie, że zdrowa tkanka ma budowę dającą się opisać regułami
ewolucji CA, o pewnej stałej wartości ε odstępstwa od tych reguł. Obszary
o większej niż średnia wartości ε był przez system CELLS wskazywany jako
obszar zawierający patologię. Problem wyboru układu CA dla obrazów cyfro-
wych rozwiązano filtrując obrazy maskami Sobela15 , co wymuszało określoną
orientację zdjęcia mammograficznego.
Podczas jednego z pierwszych eksperymentów zdjęcie 4.21 przetworzono
redukując reprezentację punktu do 1 bita. Redukcja polegała na wielokrot-
nym dzieleniu zdjęcia na mniejsze obszary, w których znajdowano piksel o
największej pmax i najmniejszej pmin jasności. Wartość progowa liczona była
dla średniej arytmetyczna wartości pmax i pmin
pmin + pmax
.
2
Każdy piksel o jasności mniejszej od wielkości progowej przyjmował w da-
nym obszarze wartość 0, pozostałe przyjmowały wartość 1. Próg dla całego
obrazu liczony był ze średniej arytmetycznej pikseli najczęściej i najrzadziej
przyjmujących wartość 1. Rysunek 4.22 prezentuje obraz 4.21 przetworzony
15
Patrz R.Tadeusiewicz, P.Korohoda, Komputerowa analiza i przetwarzanie obrazów,
Kraków 1997, s. 100-102.
4.2 Rozpoznawanie obrazów 97

Rys. 4.22. Zdjęcie 4.21 przetworzone w sposób opisany w tekście

w powyższy sposób, w którym maksymalna wielkość wydzielanych obszarów


wynosiła 10 pikseli.
Tak przetworzony obraz cyfrowy potraktowano jako jednowymiarowy CA.
System CELLS znalazł reguły ewolucji takiego automatu komórkowego i za-
znaczył obszary o największej wartości ε odstępstwa od znalezionych reguł.
Wynik badania przedstawiony na oryginalnym zdjęciu prezentuje rys. 4.23.
Można na nim zauważyć prawidłowo zaznaczoną patologię oraz błędnie wska-
zane przez system obszary skrajne.
Zdjęcie 4.21 przetworzono filtrem Sobela o masce
 

 1 2 1 

0 0 0 .
−1 −2 −1 

 

Znalezione przez system CELLS miejsca patologiczne na tak zmienionym


obrazie prezentuje rys. 4.24.
Ciekawy wynik uzyskano przetwarzając zdjęcie 4.21 filtrem Sobela o ma-
sce  
 1 0 −1 
 
2 0 2 .
1 0 −1 

 
4.2 Rozpoznawanie obrazów 98

Rys. 4.23. Zdjęcie mammograficzne ze wskazanymi przez CELLS


obszarami patologii

Rys. 4.24. Zdjęcie mammograficzne ze wskazanymi przez CELLS


obszarami patologii
4.2 Rozpoznawanie obrazów 99

Rys. 4.25. Zdjęcie mammograficzne ze wskazanymi przez CELLS


obszarami patologii.

Znalezione przez system CELLS miejsca patologiczne na tak zmienionym


obrazie prezentuje rys. 4.25. Widać mało miejsc błędnie zaznaczonych przez
CELLS.
Drugi sposób analizy zdjęć mammograficznych polegał na dzieleniu ob-
razu w sposób opisany w przykładzie 4.7. Układ podzielonych obszarów był
następnie traktowany jako rozrastający się automat komórkowy. Na rysunku
4.26 przedstawiono fragment zdjęcia mammograficznego z zaznaczonym miej-
scem patologii16 .
Rysunek 4.27 przedstawia obraz 4.26 podzielony na obszary, w ramach
których różnica jasności pikseli nie przekracza wielkości 47 dla sześciu kroków
podziału. Na rysunku 4.28 pokazano drzewo podzielonych obszarów z rys.
4.27.
Otrzymany układ był traktowany jako rozrastający się CA. System CELLS17
znalazł reguły rozrastającego się CA i zaznaczył miejsca o największej war-
tości ε odstępstwa od tych reguł. Wynik analizy przedstawiono na rys. 4.29.

16
Wykorzystano zdjęcie http://sprojects.mmi.mcgill.ca/
17
Użyto systemu CELLS1v1.
4.2 Rozpoznawanie obrazów 100

Rys. 4.26. Fragment zdjęcia mammograficznego z zaznaczoną patologią

Rys. 4.27. Podział obrazu na obszary


4.2 Rozpoznawanie obrazów 101

Rys. 4.28. Drzewo obszarów obrazu 4.27

Rys. 4.29. Zdjęcie mammograficzne ze wskazanymi przez CELLS


obszarami patologii.

You might also like