Janina Lisiecka-Frąszczak - Poznańskie Warsztaty Telekomunikacyjne

Transkrypt

Janina Lisiecka-Frąszczak - Poznańskie Warsztaty Telekomunikacyjne
Janina Lisiecka-Frąszczak
Instytut Elektroniki i Telekonunikacji
Politechnika Poznańska
[email protected]
2006
Poznańskie Warsztaty Telekomunikacyjne
Poznań 7 - 8 grudnia 2006
Algorytm obliczania wektora charakterystycznego obrazu czarno-białego
Streszczenie: W artykule formułuje się algorytm do
wyznaczania wektora charakterystycznego b obrazu
czarno-białego. Wektor ten jest potem używany do
definiowania
początkowego
wektora
wagowego
perceptronu, który ma rozpoznać zadany obraz. Pojęcie
wektora b ma związek z pewnymi funkcjami boolowskimi
definiowanymi tablicami Karnuagh. Obraz czarno-biały
zadawany jest kratownicą. Zachodzi zatem potrzeba
adaptacji pierwotnej definicji do warunków istniejących w
rozpoznawaniu obrazów.
1. WSTĘP
W artykule prezentuje się analizę, która ma na celu
sformułowanie algorytmu do wyznaczania wektora b
charakteryzującego zadany obraz czarno-biały.
Autorka tej pracy w swoich badaniach naukowych
zajmuje się poszukiwaniem optymalnego, w sensie ∑
wi=min, wi ∈I, binarnego perceptronu dla danego
obrazu czarno-białego. Okazuje się, że wektor
charakterystyczny b wykorzystany do zdefiniowania
początkowego
wektora
wagowego
szukanego
perceptronu, w konsekwencji znalezionej procedury
prowadzi do znalezienia optymalnej, w w/w sensie, jego
struktury.
Obraz czarno-biały zadaje się przez nałożenie na
niego kratownicy, ponumerowanie jej pól (pixeli) i
ocenie jaki kolor odpowiada kolejnej liczbie naturalnej.
Pojęcie wektora charakterystycznego b zostało
wprowadzone przez Dertouzousa przy okazji
poszukiwań pewnych klas funkcji boolowskich. Nas nie
interesują jednak funkcje boolowskie jako takie, gdyż
nie chcemy przekształcać obrazu do postaci wyrażenia
boolowskiego. Zachodzi zatem potrzeba adaptacji
definicji Dertouzousa do warunków spotykanych w
rozpoznawaniu obrazów.
Ponieważ każda liczba naturalna ma swoje
rozwinięcie w ciąg zero-jedynkowy zadany obraz
czarno-biały można zdefiniować przez równoważny mu
zbiór ciągów zero-jedynkowych. Równocześnie zostanie
zauważone, że ciągi te są elementami n-krotnego
iloczynu kartezjańskiego zbioru Q={0,1}.
Analiza własności zbioru Qn oraz analiza wzoru
definiującego i-tą składową wektora b prowadzą do
wniosków, które pozwolą przekształcić definicję
Dertouzousa do postaci dającej się wykorzystać w
syntezie perceptronu.
2. PRELIMINARIA
Dany jest zbiór Q = { 0,1}. Utwórzmy n-krotny
iloczyn kartezjański tego zbioru , tj. Qn,
Qn = Q × Q × ... × Q,
n
n powtórzeń Q.
n
Zbiór Q ma moc równą 2 .
Funkcja boolowska odwzorowuje zbiór Qn w zbiór Q,
f : Qn
→
Q.
Jedną z form zadawania funkcji boolowskiej jest tablica
Karnaugh. Tablica ta składa się z 2n pól, czyli ilości ρ
= ( 0,1,...,2n-1), gdzie ρ oznacza numer pola.
W swojej analizie funkcji boolowskich Dertouzous
posługuje się zbiorem dwuelementowym {-1,1}.Dotyczy
to również zdefiniowanego przez niego a interesującego
nas wektora charakterystycznego.
Wektor charakterystyczny Dertouzousa ma następującą
definicję [1]:
b = { b1,b2,...,bn ;b0 }
bi = ∑ xi (ρ ) ⋅ F(ρ ) ,
∀ i = 1,2,...,n
b0= ∑ F(ρ ) ,
gdzie:
każda ∑ przebiega po wszystkich ρ ,
F(ρ ) - wartość funkcji w ρ , (równa –1 lub 1),
xi(ρ ) - wartość i-tej zmiennej w ρ, (równa –1 lub
1).
Jak z powyższego wzoru widać, wektor b
przyporządkowuje każdej zmiennej boolowskiej liczbę.
Równocześnie wiadomo [1], że opisuje on funkcję
boolowską jednoznacznie.(Należy tutaj zaznaczyć, że
interesuje nas tylko pierwszych n składowych tego
wektora, bez składowej zerowej.)
Obraz czarno-biały zadaje się przez nałożenie
na niego kratownicy, ponumerowanie kratek (zaczynając
od zera) i ocenę jaki dany numer ma kolor. Odpowiada
to następującemu przyporządkowaniu: gdy kolor pixela
o numerze ρ jest czarny piszemy w(ρ) = 1, i
piszemy w(ρ) = 0, gdy jest biały.
3. ANALIZA PROBLEMU
Celem tej publikacji jest analiza definicji Dertouzousa i
doprowadzenie jej do takiej postaci, aby dane wyjściowe
obrazu, tzn. numer oraz kolor kratki wystarczyły do
zdefiniowania jego wektora charakterystycznego b.
Autorka artykułu wykorzystuje to pojęcie matematyczne
do wyznaczenia początkowego wektora wag, a w
konsekwencji dalszej procedury [2, 3, 4], do uzyskania
optymalnego, w sensie ∑wi=min, wi ∈I, perceptronu
rozpoznającego zadany obraz.
Z definicji Dertouzousa widać, że parametrem
ogólnym wyrażenia na i- tą składową wektora b jest,
będący liczbą naturalną, parametr ρ.
Obraz czarno-biały jest również definiowany
zbiorem liczb naturalnych (zbiór numerów kratek).
Wykorzystamy ten fakt w dalszej analizie.
Obliczmy iloczyn kartezjański zbioru Q, tj. Qn i
ułóżmy należące do niego n-tki jedną pod drugą w taki
sposób, aby odpowiadały rozwinięciu kolejnych liczb
naturalnych, z zerem włącznie. W ten sposób powstanie
macierz zero-jedynkowa o n kolumnach i 2n wierszach.
Nazwiemy ją macierzą Qn .Okazuje się, że postać
kolumn tej macierzy jest bardzo szczególna:
- w poszczególnych kolumnach zera i jedynki
zebrane są w grupy tak samo liczne;
- grupy zer występują naprzemiennie z grupami
jedynek.
Obliczymy ilość grup w i-tej kolumnie:
m(i) = 2i oraz
ilość elementów (zer lub jedynek) w każdej grupie danej
kolumny:
p(i) = 2n-i .
Można zauważyć dodatkowo:
w każdej kolumnie macierzy Qn pierwsza grupa złożona
jest z zer (rozwinięcie liczby zero). Ponieważ zera
występują z jedynkami naprzemiennie, w każdej drugiej
grupie, każdej kolumny, znajdują się jedynki. Zatem
grupy nieparzyste zawierają zera a grupy parzyste
zawierają jedynki .
(Wymienione własności nie ulegną zmianie, gdy w
kolumnach zera zostaną zastąpione przez (-1)).
Prześledźmy te własności na prostym przykładzie.
(Rysunek 1)
0
1
2
3
4
5
6
7
ρ
1
0
0
0
0
1
1
1
1
2
0
0
1
1
0
0
1
1
3
0
1
0
1
0
1
0
1
0
1
2
3
4
5
6
7
Rys. 1. Przykład obrazu i iloczynu Q3
Na rysunku umieszczono obraz czarno-biały składający
się z 8 pixeli. Stąd n wynosi 3.
Poniżej obrazu , w pierwszej kolumnie, wymieniono
liczby ρ =(0,1,...,7), a dalej macierz zero-jedynkową
zawierająca ich binarne rozwinięcia. Daje się zauważyć
regularność tej macierzy. Obliczone dla pierwszej
kolumny wartości m(1) i p(1) wynoszą odpowiednio
2 i 4.
W zadaniu, które mamy rozwiązać dane wyjściowe
są następujące: obraz czarno biały, czyli zbiór
R={0,1,...,2n-1} odpowiadający ilości kratek oraz, dla
każdego ρ∈R, wartość w(ρ). Ponieważ celem tej
publikacji
jest
wyznaczanie
wektora
charakterystycznego obrazu w oparciu o jego definicję,
musimy na nowo ocenić wzór na składową bi wektora
charakterystycznego.
Spójrzmy ponownie na wyrażenie wyznaczające itą składową wektora b:
bi = ∑ xi (ρ ) ⋅ F(ρ ) ,
∀ i = 1,2,...,n.
(Wektor b jest definiowany dla zbioru P={-1,1}.)
W wyrażeniu tym xi( ρ ) = 1, gdy na przecięciu i-tej
kolumny i ρ-tego wiersza macierzy Qn znajduje się 1,
oraz
xi( ρ ) = 0(-1), gdy w tym miejscu macierzy
znajduje się 0 (-1).
Obliczając bi definiujemy kolumnę macierzy Qn. Jej
numer jest znany. Potrafimy również ocenić z ilu grup ta
kolumna się składa, jak i ilość elementów w każdej
grupie. Są to, ustalone wcześniej, liczby: m(i) oraz p(i).
Nie chcąc posługiwać się macierzą Qn musimy ukryć jej
cechy w odpowiedniej interpretacji wielkości, które
znamy czyli - ρ i w(ρ ).
Ze zbioru R utworzymy wektor kolumnowy r
zawierający kolejne elementy tego zbioru. Podzielmy ten
wektor na grupy. Niech tych grup będzie tyle ile ich jest
w i-tej kolumnie macierzy Qn (czyli m(i)). W każdej z
nich umieśćmy p(i) kolejnych elementów zbioru R.
Przyglądając się wyrażeniu na bi. Zauważamy, że
składowa definiującej go sumy jest równa 1 tylko wtedy,
gdy dla danego ρ, zarówno funkcja F(ρ ), jak i i-ta
zmienna xi(ρ ) mają równą wartość. W każdym innym
wypadku składnik sumy równy jest –1.
Taka sytuacja, w odniesieniu do obrazu czarnobiałego odpowiada rysunkowi, na którym dla
ρ należącego do grupy nieparzystej w( ρ ) = 0
(kolor biały), a dla
ρ należącego do grupy parzystej w( ρ ) = 1
(kolor czarny).
Będziemy liczyli ile jest takich odpowiednich ρ i je
dodawali.
Równocześnie, gdy ρ odpowiada grupie nieparzystej a
obraz w tym miejscu jest czarny lub, gdy ρ odpowiada
grupie parzystej a obraz jest biały, to jest to, w
odniesieniu do funkcji boolowskich, sytuacja, w której
składowa iloczynu pod znakiem ∑ równa się –1.Te
przypadki muszą być zatem odejmowane.
Z tej analizy wynika co następuje:
w grupach nieparzystych od ilości elementów białych
odejmujemy ilość elementów czarnych, zaś w grupach
parzystych odwrotnie.
Dla zadanego obrazu wartości pixeli nie zmienia
się. Każdemu polu przypisana jest stała wartość b(kolor).
Natomiast numery pól, w zależności od rozpatrywanej
kolumny, znajdują się w różnych grupach-raz są w
grupie parzystej a w innej kolumnie w grupie
nieparzystej.
Wyznaczając bi przeglądamy kolejne
ρ, ale
równocześnie musimy wiedzieć, do której z grup ono
należy.
Sformalizujmy powyższe spostrzeżenia.
4. OBLICZANIE SKŁADOWEJ bi
Dany jest obraz czarno-biały. Znamy jego wymiar (
ilość pixeli), czyli zbiór R, a także wielkość n. Znana jest
również wartość każdego pixela, czyli w(ρ ), dla
każdego ρ ∈ R. Chcemy wyznaczyć składową bi wektora
charakterystycznego b zadanego obrazu.
Z postaci macierzy Qn daje się ustalić związek
między wartością ρ a indeksem grupy, do której ten
element należy:
dla j∈{1,2,...,m(i)}, ρ∈Gj, gdy
ρ∈ { (j-1)⋅p(i),(j-1)⋅p(i)+1,...,j⋅p(i) –1}.
Ponieważ znany jest indeks -i można obliczyć
wartości m(i) oraz p(i). Jak wcześniej ustalono wektor
kolumnowy r zostanie podzielony na G1 ,G2 ,...,Gt , t =
m(i) grup. W każdej grupie znajduje się p(i) kolejnych
elementów tego wektora. Zbiór wartości w(ρ) zostanie
również podzielony na grupy P1 ,P2 ,...,Pt w taki sposób,
że
w(ρ)∈Pk gdy ρ∈Gk.
Możemy powiedzieć, że wyznaczając bi
analizujemy w(ρ), przebiegając kolejne grupy Pj
odpowiadające i-tej kolumnie. Znajomość tych grup jest
konieczna, gdyż inaczej traktujemy wartość w(ρ ) gdy
indeks j jest parzysty, a inaczej w przeciwnym wypadku.
Jeżeli ρ należy do grupy nieparzystej Gm, to
tworzymy równą A sumę zer znajdujących się w grupie
Pm i równą B sumę występujących w grupie Pm jedynek.
Następnie obliczamy różnicę ∆m tych liczb, czyli ∆m = A
- B.
Natomiast, gdy ρ należy do grupy parzystej Gs, to
również obliczamy obie sumy A i B, ale interesująca nas
różnica ma postać ∆s = B - A.
Suma wszystkich różnic ∆k gdy ρ przebiega
wszystkie grupy Gj, j ∈{1,2,...,m(i)}, daje szukaną
wartość bi.
5. ALGORYTM WYZNACZANIA WEKTORA
CHARAKTERYSTYCZNEGO OBRAZU
CZARNO-BIAŁEGO
Przeprowadzone wcześniej rozważania pozwalają na
sformułowanie algorytmu służącego do wyznaczania
wektora charakterystycznego zadanego obrazu czarnobiałego.
Algorytm ten oczywiście musi być wyposażony w
kilka liczników, które będą ustalać kolejne indeksy i
wartości obliczanych wielkości. I tak :
indeks – i będzie oznaczać bieżącą składową
wektora b.
indeks – j będzie oznaczać numer analizowanej
grupy
a – jest bieżącą ilością zer w grupie Pj
b – jest bieżącą ilością jedynek w grupie Pj
s – jest aktualnie obliczaną sumą.
Algorytm winien posiadać trzy pętle:
-
pętlę dotyczącą indeksu i, i= 1,2,...,n
pętlę, wewnątrz której
oblicza się sumy
częściowe A i B
pętlę indeksu grupy Gj, j= 1,2,...m(i) w obrębie
aktualnego i.
Bardzo istotną informacją jest znajomość tego, czy
znajdujemy się wewnątrz analizowanej grupy Gj,, czy też
już z niej wyszliśmy. Dlatego w algorytmie bada się
ρ > ρgr,
warunek
gdzie ρgr jest największą wartością w tej grupie.
Ponieważ obliczana wartość zależy od parzystości lub
nie j-tego indeksu musimy to oceniać. Dla każdego ρ
wyznaczana jest wartość w(ρ), która w zależności od
parzystości indeksu j, zostaje dodana lub odjęta od sumy
wynikającej z wcześniejszych obliczeń.
Wartość bi równa jest sumie końcowej ∆m(i). gdy
wyczerpano wszystkie elementy zbiorów Gj i Pj .
Można zwiększyć licznik -i o 1 i obliczać kolejną
składową wektora b. Gdy indeks i > n obliczenia
zostaną zakończone.
Schemat blokowy algorytmu obliczającego wektor
charakterystyczny zadanego obrazu czarno-białego
umieszczono na rysunku 3.
Z pomocą tego algorytmu obliczono wektor b
przykładowego obrazu z rysunku 2.
0
8
16
24
32
40
48
56
1
9
17
25
33
41
49
57
2
10
18
26
34
42
50
58
3
11
19
27
35
43
51
59
4
12
20
28
36
44
52
60
5
13
21
29
37
45
53
61
6
14
22
30
38
46
54
62
7
15
23
31
39
47
55
63
Rys.2.Przykład obrazu czarno-białego.
Szukany wektor ma postać b = {38,26,18,14,10,6}
a skonstruowany na jego podstawie początkowy wektor
wagowy
poszukiwanego
perceptronu
to
W1
={7,6,5,4,3,2}. Po wykorzystaniu tego wektora do
procedury prezentowanej w [ ] wyznaczono optymalny
całoliczbowy perceptron. Ma on 6 ważonych wejść i
próg o następujących parametrach:
W,T = { 9,7,5,4,3,2, 14,5 }.
6. WNIOSKI
W artykule sformułowano algorytm znajdowania
wektora charakterystycznego b zadanego obrazu czarnobiałego.
Rys. 3. Schemat blokowy algorytmu znajdowania wektora b.
Pojęcie to jest przez autorkę wykorzystywane
do zdefiniowania początkowego wektora wagowego
perceptronu, który ma ten obraz rozpoznać. Wektor ten,
w rezultacie znalezionej procedury [2, 3, 4], pozwala
wyznaczyć optymalny w sensie ∑wi=min, wi ∈I,
perceptron .
Ponieważ wektor charakterystyczny został
zdefiniowany przez Dertouzousa dla badania pewnych
klas funkcji boolowskich ma on postać adekwatną do
tego narzędzia matematycznego. Obraz czarno-biały jest
definiowany przez zbiór pixeli i zbiór odpowiadających
im wartości. Dlatego celem tej publikacji było takie
zinterpretowanie definicji Dertouzousa, aby dane obrazu
wystarczyły do wyznaczenia tego wektora.
Cel ten został osiągnięty. Sformułowano schemat
blokowy poszukiwanego algorytmu. Algorytm ten
zilustrowano przykładem.
SPIS LITERATURY
[1] M.L.Dertouzos, Threshold Logic: A Synthesis
Approach, MIT Press, Cambridge, 1965.
J. , Wstępna ocena
parametrów dyskretnej sieci neuronowej,
KOWBAN’99, Poland, pp.363-368
[3] Lisiecka-Frąszczak J., The Optimal Laerning
Set for the Binary Discrete Perceptron,
IWSSIP02 Proceedings, Manchester, UK 2002,
pp.435-462
[4] Lisiecka-Frąszczak J., On the Classification
Method of Lineary Nonseparable Binary
Images, IWSSIP03 Proceedings, Prague, Czech
Republic 2003, pp.186-189
[2] Lisiecka-Frąszczak