Semestralni rad: Osnoveveˇstaˇcke inteligencije
II
(vizija i govor)
Popovi´c Zoran
Centar za multidisciplinarne studije
Univerzitet u Beogradu
26. mart 2007
Saˇzetak
Ovaj tekst je zamiˇsljen kao pregled sadrˇzaja knjiga i radova iz
oblasti raˇcunarske vizije i glasa. Rad je pisan pomo´cu TEX-a tj. LATEX-
a kao njegovog dijalekta i jfig alata - [PG] i [TB].
Profesor: Milan Milosavljevi´c
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 3
1 Uvod
Raˇcunarski govor i raˇcunarska vizija kao posebne oblasti veˇstaˇcke in-
teligencije zasluˇzuju posebno mesto kako zbog specifiˇcnosti problema kojima
se bave, tako i zbog same prirode primene ovih oblasti koje predstavljaju
vaˇzne ˇcinioce inteligentnog ponaˇsanja. Analogno bioloˇskim ˇculima, sistemi
vizije i govora nude kako ulazne podatke i znanje o svetu, tako i obradu tih
podataka na niˇzem ali veoma brzom i efikasnom nivou evoluciono starijih
delova nervnog sistema, ali i obradu na najviˇsem kognitivnom nivou u na-
jsloˇzenijim strukturama moˇzdane kore gde se razmatraju odnosi i znaˇcenja
opaˇzenog. Ulazne ˇcinjenice se tako hvataju odgovaraju´cim reprezentacijama
i transformiˇsu u oblike koji su pogodniji za dalju obradu, pretraˇzivanje i za-
kljuˇcivanje o njima na osnovu neke baze znanja. Tehnike planiranja i koordi-
nacije takvim znanjem na metanivou su vaˇzne i zbog samog procesa opaˇzanja
na pomenutim niˇzim nivoima obrade koji time mogu biti poboljˇsavani ili us-
meravani. To su sve poznate metode veˇstaˇcke inteligencije, a zajedniˇcko ovim
dvema oblastima je i digitalna obrada signala kao prirodna osnova polaznih
reprezentovanja i obrade znanja (s tim da je govor obiˇcno vezan za nizove
uzoraka u vremenu a vizija za matrice ili nizove matrica (ili ˇcak hiperkocki) u
vremenu - ˇsto ne znaˇci da je samo zbog toga jedno ili drugo posebno lakˇsi ili
teˇzi problem). Usavrˇsavanjem i razvojem raˇcunarske vizije i govora dobijaju
se primene korisne kao deo korisniˇckog interfejsa konvencionalnih aplikacija
ili sistema, ali daleko od toga da je to jedina primena (iako najpoznatija, nije
ˇcak ni najbitnija). Dobijaju se i inteligentniji i upotrebljiviji sistemi veˇstaˇcke
inteligencije koji bolje koriste i podrˇzavaju znanje takve vrste. Raˇcunarski
govor i vizija i dalje daleko zaostaju za odgovaraju´cim bioloˇskim sistemima
- i pred jednom i pred drugom oblasti stoje joˇs mnogi nereˇseni problemi i
izazovi, kao i mnoge nove primene koje iz toga proistiˇcu.
Za ˇcitanje i primenu ovog teksta podrazumeva se i poˇzeljno je poznavanje
matematiˇckih oblasti uobiˇcajenih za ove teme (matematiˇcka analiza, algebra,
geometrija, logika), a poˇzeljno je i poznavanje potrebnih oblasti raˇcunarstva
i osnovnih pojmova i metoda veˇstaˇcke inteligencije.
5.
4 Semestralni rad
2Digitalna obrada signala
Digitalna obrada signala je vaˇzna osnova za oblasti govora i vizije, kao
i klasiˇcan matematiˇcki aparat koji se upotrebljava u ovom tekstu (mada je
ovo i vaˇzna elektro-inˇzenjerska oblast, i s obzirom na ovo, notacija u ovom
poglavlju je uglavnom usklad¯ena sa uobiˇcajenom notacijom). Ulazni signal
analognog karaktera se obiˇcno nekim ured¯ajem (npr. A/D konvertor kod gov-
ora ili CCD ˇcip u kameri kod vizije) kodira i pretvara u diskretnu vrednost (ili
niz, odnosno matricu vrednosti) u jednakim vremenskim razmacima - npr.
za govor je obiˇcno interesantan jednodimenzionalan niz takvih diskretnih
vrednosti (uzoraka, odbiraka) intenziteta zvuˇcnog signala kojim je predstavl-
jen govorni signal nekog trajanja u vremenu, dok je za viziju interesantnija
statiˇcna slika u jednom vremenskom trenutku prikazana dvodimenzionalnom
matricom diskretnih vrednosti intenziteta svetlosti. Ovaj proces pretvaranja
ulaznog signala u diskretne vrednosti se zove i digitalizacija.
Signal i njegova diskretna reprezentacija
6.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 5
Ulazni signal x(t) se predstavlja kao neprekidna fukncija i to je kontin-
ualni model signala (x se naziva kontinualnom vremenskom promenljivom
zavisnom od vremena t), dok je niz (restrikcija te funkcije nad domenom
celobrojnih umnoˇzaka) [xk] = [x(k∆t)] njegovih vrednosti u jednakim vre-
menskim razmacima (∆t) diskretno reprezentovanje signala i obeleˇzava se sa
x[n] gde se obiˇcno uzima n = k∆t kao obeleˇzje vremena diskretne vremenske
promenljive u uglastim zagradama da bi se razlikovalo od kontinualnog (i
obiˇcno se poklapa sa indeksom niza tj. ∆t = 1 radi jednostavnijeg zapisa).
Naravno, interesantnija je diskretno reprezentovanje ali se ˇcesto koristi
ravnopravno sa kontinualnim jer je ve´cina bitnih osobina i postupaka veoma
sliˇcna za oba naˇcina. Posebno mogu biti interesantni periodiˇcni signali
x(t) = x(t+T) (periode T). Transformacije nad ovakvim funkcijama, sistemi
(kao modeli opet nekih postupaka obrade signala ili ured¯aja), predstavljaju
zapravu funkciju y(t) = f(x(t)) nad ulaznim signalom, s tim da je intere-
santno posmatrati ih kao funkcije u domenu funkcija (operatore) - ulazni
signal se transformiˇse u njegov odgovor (response) tj. izlazni signal (npr.
signal koji je vra´cen ,,unazad” vremenski, x(−t), nije samo kompozicija
neke funkcije i ulaznog signala). Sistemi mogu imati korisne osobine: mogu
biti bez memorije (zavise samo od trenutne ulazne vrednosti, ne i ostalih),
kauzalni (samo od trenutnih i ranijih vrednosti, dok nekauzalni mogu za-
vise i od budu´cih - npr. ako je uzorkovan ceo signal ili npr. kondenzator
y(t) = 1
C
t
−∞
x(τ)dτ), invertibilnost (na osnovu izlaza se moˇze na´ci ulaz),
stabilnost (male promene ulaza ne uzrokuju velike promene izlaza, nasuprot
haotiˇcnim sistemima). Dve veoma vaˇzne osobine sistema su:
• vremenska invarijantnost (shift-invariance): nakon vremenskog pomer-
anja (shifting) ulaznog signala dobija se izlazni signal takod¯e pomeren
za isti vremenski razmak (offset) t0:
x(t − t0) = y(t − t0)
• linearnost: izlazni signal poˇstuje pravila superpozicije signala, odnosno
f predstavlja linearnu funkciju - za y1 = f(x1), y2 = f(x2), x(t) =
x1(t) + x2(t) vaˇzi:
– aditivnost: y(t) = y1(t) + y2(t)
– homogenost: f(αx(t)) = αy(t)
7.
6 Semestralni rad
iliekvivalentno: f(α1x1(t) + α2x2(t)) = α1y1(t) + α2y2(t).
Sistemi sa ovim dvema osobinama su veoma korisni iz bar dva razloga - jedan
je mogu´cnost upotrebe aparata linearne algebre (uz neke dodatne uslove
koji se podrazumevaju, npr. baza linearno nezavisnih elemenata - signala,
odnosno funkcija, daje koristan naˇcin reprezentovanja signala nad bazom).
Reprezentacija jediniˇcnim impulsom δ
8.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 7
Drugi je da su ovakvi signali potpuno karakterizovani svojim odgovorom na
jediniˇcne ulaze. Jediniˇcni ulaz δ[n] predstavlja specijalan ulazni signal - u
diskretnom sluˇcaju δ[n] = 1 za n = 0, inaˇce je δ[n] = 0, dok je u kontinualnom
sluˇcaju:
∞
−∞
δ(x)dx = 1 tako da vaˇzi:
δ(x) = lim
n→∞
δn(x) =
0, x = 0;
∞, x = 0.
Onda je npr. δn(x) =
0, |x| ≥ 1/2n;
n, inaˇce.
i vaˇzi:
∞
−∞
f(x)δ(x − a)dx = f(a)
(konvolucija ulaznog signala i delta funkcije - sledi definicija).
Uzorkovani signal se moˇze shvatiti kao proizvod kontinualnog signala sa
nizom (comb) odnosno zbirom pomerenih (shift-ovanih) delta funkcija (kao
bazom) a f(a)δ(x − a) = f(x) a δ(x − a) jer je integral takvog zbira onda
suma disksretnih vrednosti u zadatoj oblasti. Ako se integracija posmatra kao
graniˇcna vrednost beskonaˇcne sume x(t) = lim∆→0
∞
k=−∞ x(k∆)δ∆(t − k∆)∆
(za δ∆(t) = 1/∆, 0 < t < ∆ inaˇce δ∆(t) = 0), dobija se veza izmed¯u dva
naˇcina reprezentovanja - diskretnog i kontinualnog.
2.1 Konvolucija
Svaki vremensko invarijantni linearni sistem se moˇze prikazati kao kon-
volucija ∗ ulaznog signala x i jediniˇcnog signala δ - u diskretnom sluˇcaju:
y[n] =
∞
k=−∞
x[k]δ[n − k] =def x[n] ∗ δ[n]
ili ekvivalentno (po definiciji):
y[n] =
∞
k=−∞
δ[k]x[n − k] =def δ[n] ∗ x[n]
odnosno, u kontinualnom sluˇcaju:
y(t) =
∞
−∞
x(τ)δ(t − τ)dτ =def x(t) ∗ δ(t)
9.
8 Semestralni rad
y(t)=
∞
−∞
δ(τ)x(t − τ)dτ =def δ(t) ∗ x(t)
Isto vaˇzi i za proizvoljna dva signala (odnosno proizvoljne dve funkcije) i nji-
hovu konvoluciju. Specijalno, pomenuta baza linearno nezavisnih elemenata
je zapravo potpuni ortonormirani sistem pred-Hilbertovog prostora gde je
skalarni proizvod definisan pomo´cu konvolucije u nuli (npr. trigonometrijski
sistem funkcija {1, sin x, cos x, ..., sin nx, cos nx, ...} sa skalarnim proizvodom
< a, b >=def
∞
−∞
a(x)b(x)dx = |a(0) ∗ b(0)|, za konjugovani operator L∗
vaˇzi
La, b = a, L∗
b , detalji su npr. u [MA2]). Hilbertov prostor je kompletan
tj. svaki Koˇsijev niz u njemu je konvergentan (npr. potprostor deo-po-deo
neprekidnih funckija koje su apsolutno integrabilne oblika f : Rn
→ C i
prostor kvadratno integrabilnih funkcija L2
(Rn
) = {f(x)| R
|f|2
dµ < ∞}
u smislu Lebegove integracije). Tada za F operator u takvom Hilbertovom
vaˇzi F∗
= F−1
= F3
, kao i Parsevalova teorema za F = F(f), G = F(g):
∞
−∞
f(x)g(x)dx =
∞
−∞
F(x)G(x)dx i posledica
∞
−∞
|f(x)|2
dx =
∞
−∞
|F(x)|2
)(x)dx.
Konvolucija je vaˇzan alat za definisanje mnogih transformacija. Jediniˇcni
ulazni signal ima odgovor h[n] = f(δ[n]), odnosno hk[n] je odgovor na
pomerenu delta funkciju δ[n − k], i tada je y[n] = ∞
k=−∞ x[k]hk[n]. Za
linearni vremensko invarijantni sistem je hk[n] = h0[n − k] ≡ h[n − k] i vaˇzi
y[n] = x[n]∗h[n] (konvoluciona ili superpoziciona suma nizova x i h). Potre-
ban i dovoljan uslov konvergencije sume je |h[k]| < ∞ tj. |h(τ)| < ∞.
Za karakterizaciju se koristi neki put i stepenasta funkcija u[n] sa odgovorom
s[n] (vaˇzi npr. δ[n] = u[n] − u[n − 1]). Linearni operator moˇze biti homo-
10.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 9
morfan u odnosu na konvoluciju: L(x1 ∗ x2) → L(x1) ∗ L(x2), ˇsto moˇze biti
korisna osobina klase filtera. Sistemi se, naravno, mogu opisivati i sistemima
diferencijalnih (diferencnih) jednaˇcina.
2.1.1 FIR i IIR sistemi
Linearni vremenski nepromenljivi (LTI - Linear Time Invariant) sistemi
se mogu podeliti u dve osnovne vrste:
FIR Sistemi sa konaˇcnim impulsnim odzivom (Finite Impulse response) su
predstavljeni konaˇcnom konvolucijom:
y[n] =
M−1
k=0
h[k]x[n − k]
uz uslove h[n] = 0 za n < 0, n ≥ M i h[n] = 0 za 0 ≤ n < M.
IIR Sistemi sa beskonaˇcnim impulsnim odzivom (Infinite Impulse Response):
za razliku od prethodnih uzimaju sve (a ne samo ,,prozor” zadnjih M
odbiraka) ulaze:
y[n] =
∞
k=0
h[k]x[n − k]
2.2 Posebne reprezentacije i transformacije
Signali i transformacije se mogu prikazati u frekventnom domenu (umesto
poˇcetnom, koji se naziva prostornim) upotrebom Furijeove transformacije, ili
u nekom drugom domenu, ˇsto je ˇcesto korisno i potrebno.
2.3 z-transformacija i Laplasova transformacija
U kompleksnoj analizi poznatim stepenim redom se definiˇse z-transformacija
(ili direktna transformacija) X[z] signala x[n]:
X(z) =
∞
n=−∞
x[n]z−n
(naziva se i funkcijom prenosa) i inverznom transformacijom
x(n) =
1
2πi C
X(z)zn−1
dz
11.
10 Semestralni rad
Nekevaˇzne osobine (i teoreme) ovog niza i z-transformacije su od znaˇcaja i
za ostale transformacije:
• prsten konvergencije (R1 < |z| < R2, za |x[n]| |z−n
| < ∞)
• linearnost
• x[n − n0] → zn0
X[z] (pomeranje), an
x[n] → X[a−1
z],
nx[n] → −zdX[z]
dz
, x[−n] → X[z−1
]
• x[n] ∗ h[n] → X[z]H[z]
• x[n]w[n] → 1
2πi C
X(v)Z(z/v)v−1
dv
H(z) kao z-transformacija odgovora h[n] se zove sistemska funkcija, gde za
LTI sistem y[n] = h[n] ∗ x[n] vaˇzi Y (z) = H(z)X(z).
Laplasova transformacija se moˇze posmatrati kao specijalan sluˇcaj prethodne
L : x(t) → X(s):
X(s) =
∞
−∞
x(t)e−st
dt
Ova transformacija je znaˇcajna uz prethodnu i zbog svog geometrijskog i
analitiˇckog tumaˇcenja (broj i vrednosti nula i polova).
2.4 Furijeova transformacija
Opet, Furijeova transformacija, koja je veoma vaˇzna za digitalnu obradu
signala, se moˇze posmatrati kao specijalan sluˇcaj Laplasove smenom s = iω
gde je s praktiˇcno taˇcka jediniˇcnog kruga kompleksne ravni (ω argument,
ugao):
F(ω) = X(eiω
) =
∞
−∞
x(τ)e−iωτ
dτ = A(ω) + iB(ω)
sa inverznom Furijeovom transformacijom (kao posledicom prethodnih trans-
formacija u opˇstem sluˇcaju):
x(t) =
1
2π
∞
−∞
X(eiω
)eiωt
dω
Uslov konvergencije bi onda bio |x(t)| < ∞. Med¯utim, mnogo znaˇcajnije
tumaˇcenje ove transformacije je ono koje proistiˇce iz Furijeove sume kao
12.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 11
linearne kombinacije funkcija pomenutog trigonometrijskog sistema. Fu-
rijeova transformacija ulaznog signala se moˇze praktiˇcno posmatrati kao
funkcija teˇzinskih koeficijenata u sumi uz sinusoidu ili kosinusoidu odgo-
varaju´ce frekvencije ω (po Ojlerovoj formuli je eiωt
= cos ωt+i sin ωt). Svaki
signal se moˇze tako razloˇziti na nekakvu sumu trigonometrijskih elemenata
razliˇcitih perioda (frekvencija) i njihovog uˇce´ca - zato se Furijeova trans-
formacija naziva i frekventnim odgovorom na signal jer se njome prelazi
iz prostornog u frekventni domen. Kao i u prethodnim sluˇcajevima pos-
toji veza Furijeove transformacije izlaznog signala y[n] i Furijeove trans-
formacije odgovora na jediniˇcne ulaze H(eiω
): ako je x[n] = eiωn
onda je
y[n] = ∞
k=−∞ h[k]x[n − k] = eiωn
H(eiω
) gde je H(eiω
) = ∞
k=−∞ h[k]e−iωk
tj. odziv na kompleksnu pobudu je iste frekvencije (iako se u praksi koriste
signali sa samo sa realnom komponentom). Tada je F : x(t) = akeikt
→
akH(eit
)eikt
= y(t) i koeficijenti ak predstavljaju diskretne vrednosti Fu-
rijeove transformacije X(eiω
) = ∞
k=−∞ x[k]e−iωk
(u kontinualnom obliku)
ak = 1
2π
π
−π
x(t)e−ikt
dt (naziva se i jednaˇcinom analize, dok se suma za x(t)
na osnovu njih naziva jednaˇcinom sinteze) uz pretpostavku da je ulazni sig-
nal periodiˇcan (T = 2π).
Pored Furijeove transformacije X(eiω
) (,,spektra”) koristi se i njen kom-
pleksni logaritam ˆX(eiω
) = log |X(eiω
)| + i arg(X(eiω
)) (uz pretpostavku
da je prevazid¯en problem jedinstvenosti tako definisanog logaritma, a svaki
kompleksni broj se moˇze prikazati kao proizvod modula i argumenta tj. faze).
Tada se definiˇse kompleksni cepstrum (termin koji je uveo Bogert) kao in-
verzna Furijeova transformacija ˆx[n] = 1
2π
π
−π
ˆX(eiω
)eiωn
dω, odnosno cep-
strum c[n] = 1
2π
π
−π
log |X(eiω
)|eiωn
dω.
2.4.1 Diskretna Furijeova transformacija - DFT i FFT
Diskretna Furijeova i inverzna diskretna Furijeova transformacija (DFT,
IDFT) pored periodiˇcnosti x[n] = x[n + N] pretpostavlja i konaˇcan broj
vrednosti u sumi:
X[k] =
N−1
n=0
x[n]e−ikn2π/N
, k = 0, 1, ..., N − 1
x[n] =
1
N
N−1
k=0
X[k]eikn2π/N
, n = 0, 1, ..., N − 1
13.
12 Semestralni rad
DFTˇcuva osobine prethodnih transformacija uz odgovaraju´ci oblik zapisa
(npr. ako je F(f) = F i F(g) = G onda je F(f ∗ g) = FG). Standardni (Go-
ertzel) algoritam za raˇcunanje DFT je reda O(MN) gde je M broj odbiraka.
Postoji klasa FFT (Fast Fourier Transformation) algoritama gde se sukce-
sivnim DFT transformacijama i kombinacijama (,,butterfly”) med¯urezultata
(sa raˇcunanjem u mestu, - in-place, za razliku od neˇsto sloˇzenijih i brˇzih
not-in-place algoritama gde se ne vrˇsi preured¯ivanje redosleda niski i koji
traˇze neˇsto viˇse memorije za med¯urezultate) reda O(Nlog2N) za M = 2p
(ili
M = 4p
, M = 8p
- ˇsto nije problem ako se ulazni niz dopuni nulama) koji su
daleko efikasniji i pogodni za implementaciju paralelnim procesiranjem. Sam
FFT algoritam i mnoge tehnike realizacije i projektovanja FIR i IIR sistema
su predmet digitalne obrade signala i klasiˇcnih metoda vizije i govora, i zato
se ne´ce obrad¯ivati detaljnije u tekstu.
2.4.2 Kratkotrajne tranformacije
Kratkotrajna Furijeova transformacija (STFT - Short Time Fourier Trans-
formation) definiˇse se sliˇcno kao i obiˇcna upotrebom funkcije ,,prozora” w[n]
(konaˇcne duˇzine N) ˇcime postaje transformacija zavisna od vremena n:
Xn(eiω
) =
∞
m=−∞
w[n − m]x[m]eiωm
Tako se moˇze rekonstruisati x[n] na osnovu w[n−m]x[m] = 1
2π
π
−π
Xn(eiω
)eiωm
dω
za n = m (i w[0] = 0, naravno): x[n] = 1
2πw[0]
π
−π
Xn(eiω
)eiωn
dω. Tipiˇcni
primeri funkcija prozora w[n] su:
stepeni prozor : w[n] = 1 za 0 ≤ n ≤ N − 1, inaˇce w[n] = 0
Hemingov prozor (Hamming): w2
[n] = 0.54 − 0.46 cos(2πn/(N − 1)) za
0 ≤ n ≤ N − 1, inaˇce w[n] = 0, za koji se pokazuje da daje donekle
glatkije i prirodnije rezultate
Ovo je znaˇcajno poˇsto se npr. zvuˇcni ulazni signal najˇceˇs´ce dinamiˇcki menja
vremenom. Mnoge kratkotrajne (vremenske) transformacije se prikazuju
odgovaraju´cim oblikom Qn = ∞
m=−∞ T(x[m])w[n − m] i predstavljaju trans-
formacije u vremenskom domenu. Isto tako se mnoga dodatna reprezen-
tovanja ulaznog signala takod¯e raˇcunaju ,,ˇsetanjem” zadatog prozora nad
ulaznim signalom jednakim koracima i raˇcunanjem nekih veliˇcina kao eleme-
nata niza takve reprezentacije. Definiˇsu se tako kratkotrajna
14.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 13
energija: En = ∞
m=−∞ (x[m]w[n − m])2
(moˇze se shvatiti kao LTI signala x2
[n] sa jediniˇcnim odzivom h[n] =
w2
[n])
proseˇcna veliˇcina: Mn = ∞
m=−∞ |x[m]|w[n − m]|
(nije toliko osetljiva na intenzitet signala kao prethodna)
uˇcestanost nula (Zero-Crossing Rate):
Zn = ∞
m=−∞ |sgn0(x[m]) − sgn0(x[m − 1])|w[n − m], sgn0(x) = −1
za x < 0, inaˇce sgn0(x) = 1, w[n] = 1
2N
za 0 ≤ n ≤ N − 1, inaˇce
w[n] = 0, (praktiˇcno kao procena visoki uˇcestanosti Z = 2F0/Fs, gde
je F0 frekvencija sinusoide a Fs frekencija uzorkovanja)
autokorelacija: Rn[k] = ∞
m=−∞ w[n − m]x[m]w[n − k − m]x[m + k]
(za k = 0 specijalno se dobija energija, vaˇzi |Rn[k]| ≤ Rn[0], Rn[k] =
Rn[−k], Rn[k] = Rn[k +T] ako je signal periode T, ˇstaviˇse, maksimumi
Rn su u 0, ±T, ±2T, ... i to je dobra ocena periodiˇcnosti signala)
proseˇcna veliˇcina razlike (ADMF - Average Difference Magnitude Func-
tion): γn[k] = ∞
m=−∞ |x[n + m]w1[m] − x[n + m − k]w2[m − k]|
(koristi se umesto prethodne ocene jer se brˇze raˇcuna, minimume ima
u T, 2T, ...)
kao i druge veliˇcine koje imaju svoj odgovaraju´ci oblik i bez prozora.
2.5 Uzorkovanje, aliasing i kvantizacija, digitalni filteri
Aliasing je posledica gubitka informacije o ulaznom signalu premalom
frekvencijom uzorkovanja. ˇSenonova (ili Nikvistova, Nyquist) teorema od-
abiranja kaˇze: potrebno je da frekvencija uzorkovanja bude bar dva puta
ve´ca od najviˇse frekvencije ulaznog signala. Zaˇsto ? Spektar diskretnog
signala je periodiˇcan i predstavlja beskonaˇcan zbir kontinualnog spektra sig-
nala pomerenog za periodu uzorkovanja: ako se diskretan signal prikaˇze preko
zbira (comb, ili bed-of-nails) delta funkcija kao x[t] = x(t) n δ[t − n∆t] =
n x(n∆t)δ[t − n∆t] onda je diskretna Furijeova transformacija F[u] ≡ F∗(u) =
F(u)∗ 1
∆t n δ[u − n/∆t] = 1
∆t n F[u − n/∆t]. Ako se uzme da je F[u] = 0
za |u| > 1
2∆t
onda je mogu´ce bez gubitka inverznom Furijeovom transfor-
macijom vratiti signal bez gubitka pod uslovom da ˇsirina spektra (najviˇsa
frekvencija u spektru) ne prelazi 1
2∆t
inaˇce dolazi do preklapanja susednih
15.
14 Semestralni rad
,,sabiraka”:x[t] = F−1
(F∗(u)G(u)) gde je G(u) = 1 ako je |u| < 1
2∆t
inaˇce
G(u) = 0.
Digitalni filteri su LTI sistemi, koji pored pominjanih osobina i defini-
cije konvolucijom ispunjavaju i y[n] − N
k=1 aky[n − k] = M
r=0 brx[n − r]
(ak = 0 za FIR, z-transformacijom se dobija pogodniji oblik za detaljniju
analizu H(z) = Y (z)/X(z) =
P
brz−r
1−
P
akz−k =
A
QM
r=1 (1−crz−1)
QN
k=1 (1−dkz−1)
). Primer filtera
bi bio npr. i sistem zadat konvolucijom u prethodnom primeru gde funkcija
G moˇze da bude i drugaˇcija (postepen prelaz umesto stepenastog, kao klasa
nisko-propusnih (low-pass) filtera koji ,,propuˇstaju” samo frekvencije is-
pod zadatog praga). Filteri mogu biti tako karakterisani frekventnim svojim
odzivom pored jediniˇcnog odziva (koji se poklapa sa fukncijom prozora u
frekventnom domenu). Ovakav filter je jedan od naˇcina reˇsavanja problema
aliasinga a koristi se i kod promene frekvencije uzorkovanja (sampling rate)
- interpolacijom se uve´cava za neki celobrojni faktor L tako ˇsto se ,,pop-
16.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 15
uni nulama” i nakon toga primeni niskopropusni filter (praga prethodne
frekvencije), a decimacijom se za neki takod¯e celobrojni faktor M se sman-
juje frekvencija tako ˇsto se pre toga primeni takav filter (moˇze se iskoristiti
jedan filter za obe operacije):
Kvantizacija ulaznog signala x[n] (npr. kod PCM gde se amplituda pret-
vara u celobrojnu vrednost: da li se koristi B = 8, B = 16 ili viˇse bita za
svaki odbirak) nosi takod¯e greˇsku e[n] (kvantizovan signal ˆx[n] = x[n]+e[n])
koja ima osobine: E(e[n]e[n + m]) = σe
2
za m = 0 inaˇce je 0 (kvantizacioni
ˇsum (smetnje) je stacionaran beli ˇsum), ne korelira sa ulaznim signalom
(E(x[n]e[n + m]) = 0 za sve m), raspodela greˇske je uniformna - znaˇcajan
je odnos (SNR) signala i kvantizacionog ˇsuma u decibelima 10 log10
σx
2
σe
2 =
6B −7.2. Ta greˇska se moˇze menjati upotrebom drugaˇcijih kvantizacija osim
PCM (npr. µ-law ili adaptivna kvantizacija, kao i razni oblici i algoritmi
kompresije zapisa).
17.
16 Semestralni rad
3Govor
3.1 Uvod
Jedna od osnovnih svrha govora je komunikacija. Klasiˇcna ˇSenonova in-
formaciona teorija govor posmatra prema njegovom sadrˇzaju - informaci-
jama. Alternativno govor se moˇze posmatrati kao fiziˇcka akustiˇcna pojava
- talasni signal (waveform). Lingvistika se bavi sintaksnom strukturom i se-
mantikom jezika - znanje te vrste je takod¯e vaˇzno za probleme govora, i joˇs je
vaˇznije za veˇstaˇcku inteligenciju, mada je za govor specifiˇcno vaˇzna i njegova
fiziˇcka, odnosno akustiˇcna ili fonetska priroda, kao i digitalna obrada. Govor i
problemi veˇstaˇcke inteligencije vezani za govor kao specifiˇcan domen sa odgo-
varaju´cim reprezentovanjem znanja i ˇcinjenica koriste odgovaraju´ce metode
reˇsavanja problema veˇstaˇcke inteligencije kao ˇsto su metode pretraˇzivanja,
zakljuˇcivanja i maˇsinskog uˇcenja, ili metode raˇcunske inteligencije kao ˇsto
su neuronske mreˇze. Koriste se i specifiˇcne metode reˇsavanja problema au-
tomatskog govora kao ˇsto je pristup sintezom govora (uspeˇsan model sin-
teze govora daje parametre kojima se uspeˇsnije prati govorni signal), ili npr.
upotrebom skrivenih Markovljevih lanaca - mogu se svesti na prethodne uz
specifiˇcnosti oblasti problema govora. Uobiˇcajeni primeri problema su:
• prepoznavanje govora (sliˇcno OCR problemu vizuelnog prepoznavanja
teksta kod raˇcunarske vizije) i njegovo pretvaranje u pisani tekst ili
automatske komande, diktiranje
• prepoznavanje govornika, problemi identifikacije i autentifikacije
• problemi poboljˇsanja, kompresije i zapisa jeziˇckog i zvuˇcnog znanja,
ˇciˇs´cenja ili prenosa govora,
• problemi sinteze govora, vokodera, edukativni i medicinski sistemi, i
drugo
Primeri softervskih paketa (uglavnom otvorenog ili akademskog tipa) za
razvoj ovakvih sistema: CSLU (bavi se problemom interaktivne komunikacije
govorom, ali vizuelnim sredstvima kao ˇsto su izrazi lica).
18.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 17
3.2 Govorni signal, osnovno reprezentovanje i metode
obrade govora
Govor je kao i mnoge druge oblasti veˇstaˇcke inteligencije doˇziveo ˇsiroku
primenu i ubrzan razvoj tek kada su se stvorili tehnoloˇski preduslovi razvo-
jem digitalnih raˇcunara (do tada su se npr. koristili specijalizovani analogni
ili digitalni elektronski ured¯aji daleko ograniˇcenijih mogu´cnosti). Zajedniˇcko
sa klasiˇcnim metodama govora (klasiˇcnim u tom smislu da nisu zastupljene
metode veˇstaˇcke inteligencije, problemi ,,maˇsinskog govora” sliˇcno maˇsinskoj
viziji gde takod¯e nisu zastupljene tehnike V.I.) su osnovni naˇcini reprezen-
tovanja i obrade govora. Tu pre svega spadaju problemi i reˇsenja digitalne
obrade govornog signala na koju se raˇcunski govor oslanja. Osnovni naˇcin
reprezentovanja govora jeste diskretizovan ulazni signal, niska uzoraka - kao
i kod digitalne obrade signala kao jednodimenzionalne niske uzoraka u vre-
menu.
Digitalna obrada govornog signala u odnosu na dosada pomenuto u toj
oblasti daje specifiˇcne akustiˇcne i fizioloˇske modele sinteze glasa, odnosno
govornog signala sa njegovim parametrima (koji se nazivaju i parametrima
vokalnog trakta). Pored ovih paramatera koriste se i drugi razliˇciti parametri
(npr. spektografski parametri). Tako parametrizovan ulazni signal pred-
stavlja naredni nivo reprezentovanja ulaznog signala.
Osnovne metode za reˇsavanje problema u oblasti automatskog govora su:
Upored¯ivanje (pattern matching, template-based recognition): kao
jedna od najosnovnijih metoda, najuspeˇsniji primer je dimaˇcko vre-
mensko iskrivljenje (Dynamic Time Warping). Algoritam traˇzi meru
podudarnosti dva zadata niza koji mogu biti razliˇcite duˇzine kao i nji-
hovi delovi koji se upored¯uje. Mnogi parametri govornih signala (pa i
spektar) se mogu tako upored¯ivati u vremenskom domenu iako su ra-
zliˇcitih brzina. Reˇsava se upotrebom dinamiˇckog programiranja. Ako
je rastojanje d izmed¯u pojedinih vrednosti koje se upored¯uju (euklidsko
npr.) i DTW(0, 0) = d(1, 1) = 0 kao poˇcetni uslov, primer algoritma
bi bio:
int DTWDistance(char s[1..n], char t[1..m], int d[1..n,1..m]) {
declare int DTW[0..n,0..m], i, j, cost
19.
18 Semestralni rad
fori := 1 to m
DTW[0,i] := infinity
for i := 1 to n
DTW[i,0] := infinity
DTW[0,0] := d(s[1],t[1])
for i := 1 to n
for j := 1 to m
cost:= d[s[i],t[j]]
DTW[i,j] := minimum(DTW[i-1,j ] + cost, // insertion
DTW[i ,j-1] + cost, // deletion
DTW[i-1,j-1] + cost) // match
return DTW[n,m]
}
Ovakav algoritam je polinomijalne sloˇzenosti u jednodimenzionalnom
sluˇcaju, inaˇce je NP. Varijanta ovog algoritma bi bila traˇzenje ovakve
optimalne (minimalne) putanje kroz sve matrice sa putanjama za sve
parove (X, Yk) gde je X vektor ulaznog signala a Yk niz ulaznih vektora
signala iz baze nauˇcenih signala (reˇcnika). Algoritam je polinomijalne
sloˇzenosti. Dodatni problem ovde je detektovanje reˇci izvan reˇcnika
ˇsto se moˇze posti´ci upored¯ivanjem sa lokalnim sme´cem (garbage) koje
predstavlja proseˇcno rastojanje do M ostalih vektora iz reˇcnika osim
najboljeg - [DTW].
20.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 19
Skriveni lanci Markova: najˇceˇs´ce koriˇs´cena metoda, dobra za otkrivanje
strukture govora. Pogodna je za probleme prepoznavanja sa velikim
reˇcnikom kao bazom znanja i gde se oˇcekuje prilagod¯avanje sistema
specifiˇcnom korisniku (uvodno treniranje, dok je diktat primer eksploat-
acije).
Neuronske mreˇze: veoma korisna metoda, naspram prethodne bolja je
uopˇseno za reˇcnike manjeg obima i sisteme koji nisu zavisni od gov-
ornika (zahvaljuju´ci osobinama generalizacije i ve´ce otpornosti na kvalitet
ulaza, odnosno ulazne smetnje kod NM).
Obrada upravljena znanjem (Knowledge-based): razliˇcitim tehnikama pre-
traˇzivanja, metodama automatskog zakljuˇcivanja ili planiranja u veˇstaˇckoj
inteligenciji se analizira sintaksna i semantiˇcka struktura govora i time
se optimizuje rad drugih metoda ili se proveravaju dobijeni rezultati.
Osobine robustnog sistema za prepoznavanje govora su: brzina (poˇzeljno u
realnom vremenu), stepen taˇcnosti (procenat greˇsaka obiˇcno do 2%, greˇske
mogu biti: pogreˇsno preoznata reˇc, ispuˇstena, umetnuta nepostoje´ca i sl.),
otpornost na ulazne smetnje, veliˇcina reˇcnika i stepen nezavisnosti od gov-
ornika. Osim DTW ovde nije posebno posve´cena paˇznja detaljima u vezi
ostalih metoda, ali ´ce biti u nastavku teksta.
3.3 Modeli govornog signala
Osnovni model govornog signala pored diskretizovanog ulaznog signala
oslanja se na sam fiziˇcki i bioloˇski proces njegovog nastajanja, odnosno
akustiˇcnu fonetiku. Za prepoznavanje govora je zato vaˇzan i sam meha-
nizam proizvod¯enja govora.
21.
20 Semestralni rad
Glastako zavisi od pobud¯ivanja koje potiˇce od glasnih ˇzica (zvuˇcno)
koje ima trenutnu (fundamentalnu, osnovnu) frekvenciju (tj. visinu glasa)
i boju (koja se u spektru idealno vidi kao zbir harmonika - sinusnih talasa
ˇcija je frekvencija celobrojni, red¯e racionalni umnoˇzak osnovne, dok im je
amplituda obiˇcno manja) ili od vazduha (bezvuˇcno), i moˇze biti razliˇcitog
intenziteta (gain). Propagiranjem tog zvuka kroz vokalni i nazalni trakt i na
kraju odaˇsiljanjem kroz usta i nosne otvore se dobija boja glasa, koja se vre-
menom menja kao i konfiguracija ovog bioloˇskog aparata koji tako ima svoj
frekventni odziv i karakteristike. Osnovni gradivni elementi govornog signala
su foneme - samoglasnici, suglasnici, polusamoglasnici (sonanti), diftonzi od
kojih se formiraju slogovi, od kojih se opet formiraju reˇci, fraze i reˇcenice.
Foneme se mogu dalje deliti na zvuˇcne i bezvuˇcne, produˇzene (continuant
- ne menja se konfiguracija vokalnog trakta tokom vremena: samoglasnici,
frikativi (npr. f ili ˇz), nazali (npr. m ili n - prolaze kroz nazalni trakt)), i
neproduˇzene (polusamoglasnici, diftonzi i afrikati). Pauza je takod¯e element
govora. Vokalni trakt ima svoje karakteristike koje se ogledaju pre svega u
rezonantnim frekvencijama (formantima), odnosno frekventnim odzivom ako
se posmatra kao LTI i to je posebno bitno kod samoglasnika. Prva dva for-
manta su posebno znaˇcajna (mada se prati i viˇse), pogotovu za samoglasnike
i diftonge, ˇsto se moˇze videti u dijagramima ispod (za viˇse ispitanika, desno
je takozvani trougao sa praktiˇcno upotrebljivim univerzalnim odnosima vred-
nosti):
22.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 21
Ovakvim i sliˇcnim odnosima se bavi akustiˇcna fonetika. Sama akustiˇcna
teorija proizvod¯enja glasa polazi od fiziˇckih i fizioloˇskih parametara (am-
plitude zvuka u(x, t) i povrˇsine popreˇcnog preseka trakta kroz koji prolazi
A(x, t) po njegovoj duˇzini od glasnica do izlaznih otvora, pritiska vazduha,
brzine zvuka) i razliˇcitih modela govornog aparata koji predstavljaju sisteme
diferencijalnih jednaˇcina kojima se dolazi do ˇzeljenih karakteristika glasa.
Npr. duˇzina vokalnog trakta je parametar koji moˇze razlikovati muˇski od
ˇzenskog glasa. To mogu da budu veoma sloˇzeni modeli i skupi za raˇcunanje
u fazi obuke i razvoja, ali u fazi eksploatacije (sinteza ili analiza glasa) se
mogu realizovati u realnom vremenu danas ve´c i na ku´cnim raˇcunarima.
3.4 Reprezentovanja govornog signala
Vaˇzne osobine govornog signala predstavljaju parametre koji ga veoma
dobro karakteriˇsu i koji su obiˇcno preduslov za ocenu finijih karakteristika i
parametara. Mogu varirati kod razliˇcitih govornika, postoje unverzalne os-
obine i granice vrednosti koje zato pojednostavljuju problem dalje analize
govora. Pomenuti fiziˇcko-akustiˇcni model daje dve osnovne grupe param-
etara:
• parametre pobud¯ivanja: glasnice daju nekakav zvuk sa osnovnom visi-
nom i snagom, ili vazduh iz plu´ca koji prolazi kroz razliˇcite cevi i
prepreke
• parametre vokalnog (i nazalnog) trakta: jedinstvene karakteristike gov-
ornika ali i opˇste karakteristike razliˇcitih fonema
Pored ovakvog naˇcina reprezentovanja postoje i mnogi drugi koji mogu biti
od znaˇcaja. Akustiˇcko-fonetiˇcko reprezentovanje i obrada ulaznog signala se
odigrava obiˇcno u tri sukcesivne faze:
• izdvajanje osobina (feature extraction / analysis) odnosno parametara
signala
• segmentiranje i labeliranje (izdvajanje fonema i pauza ulaznog signala
i njihova osnovna klasifikacija)
• prepoznavanje pojedinih reˇci - leksiˇcko dekodiranje
Prepoznavanje govora bi nakon toga podrazumevalo i sintaksnu i semantiˇcko
analiziranje. Klasifikacija fonema za engleski jezik:
23.
22 Semestralni rad
3.4.1Detektovanje pauze
Otkrivanje tiˇsine ili pauze u govornom signalu je veoma vaˇzno - neki
put je vaˇzno kao razdvajanje fonema ili kao deo sloˇzenije strukture govora.
Ranije pomenute transformacije uˇcestanosti nula i energije signala jesu vid
reprezentovanja govornog signala. Njihove promene su jedan od osnovnih
naˇcina da se pronadje pauza u govoru.
3.4.2 Osnovna visina
Osnovna visina je veoma bitan parametar zvuˇcnih fonema. Menja se
dinamiˇcki tokom vremena. Jedan naˇcin ocene osnovne uˇcestanosti glasa je
raˇcunanjem logaritamskog spektra proizvoda harmonika:
Pn(eiω
) = 2
K
r=1
log |Xn(eiωr
)|
- ideja je da se ovakvim zbirom superponiraju vrhovi harmonika uvek i samo
u fundamentalnoj frekvenciji.
24.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 23
Drugo bitno reprezentovanje i naˇcin ocene visine glasa je autokorelacija sa
odsecanjem sredine. Moˇze se koristiti i paralelna obrada viˇse parametara
(prate se i vrednosti ulaznog signala kao ˇsto su to npr. uˇcestanosti vrhova
ili nula) ˇsto je poˇzeljna osobina tehnika digitalne obrade signala. Odsecanje
(clipping) sredine signala je transformacija C (kao i varijanta tri nivoa C )
odred¯ena parametrom CL koji se odred¯uje kao neki procenat vrednosti mak-
simalne amplitude A ulaznog signala. Ispod je ilustrovana primena odsecanja
razliˇcitog stepena (procenta) na ulazni signal, a zatim i autokorelacije nad
takvim signalom:
25.
24 Semestralni rad
3.4.3Formanti, spektografski parametri, cepstrum
Spektrografske karakteristike razliˇcitih fonema kroz vreme dobijene kratko-
trajnom Furijeovom analizom daju veoma korisno reprezentovanje govora.
Pomenuti logaritamski spektar i cepstrum (uz upotrebu prozora kojim se
sliˇcno niskopropusnim filterima dobijeni cepstrum uˇcini glatkijim) su posebno
korisni za pronalaˇzenje formanta govornog signala:
26.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 25
Kao ˇsto se prozor moˇze upotrebiti u frekventnom domenu kod Furijeove anal-
ize i digitalnih filtera, tako se moˇze upotrebiti i za sintezu, odnosno rekon-
strukciju ulaznog signala na osnovu serije kratkotrajnih Furijeovih transfor-
macija. Za prozor duˇzine L mora se iskoristiti najmanje L kratkotrajnih
transformacija da bi se izbegao vremenski aliasing (sinteza bankom filtera):
ˆx[n] =
1
Nw[0]
N−1
k=0
Xn(eiωk
)eiωkn
gde je ωk = 2πk
N
, k = 0, 1, ..., N − 1 niz odabranih frekvencija i W Fu-
rijeova transformacija prozora (koji je isti za sve date frekvencije, w[0] =
N−1
k=0 W(eiωk )). Dodatno mogu uˇcestvovati decimatori i interpolatori reda
D = Dk nakon analize a pre sinteze ako se svaki kanal X(eiωk ) raˇcuna na
27.
26 Semestralni rad
svakihDk odbiraka. Alternativno, metodom preklapanja (overlap addition)
ako se za svakih R odbiraka raˇcuna kratkotrajna Furijeova transformacija
Yr(eiωk ) = XrR(eiωk ), 0 ≤ k < N: y[n] = ∞
r=−∞
1
N
N−1
k=0 Yr(eiωk )eiωkn
=
x[n]W(ei0
/R).
3.4.4 Stohastiˇcki modeli
Ako je A govorni signal, prepoznavanje se moˇze shvatiti kao traˇzenje naj-
verovatnijeg niza reˇci ˆW u skupu svih mogu´cih nizova reˇci W∗
(noisy channel
formulation): ˆW = argmaxW∈W∗ P(W|A) = argmaxW∈W∗
P(A|W)P(W)
P(A)
, po
Bajesovom pravilu. Ako se izostavi P(A) (kao konstanta za dato A), svodi
se na ˆW = argmaxW∈W∗
P(A|W)P(W)
P(A)
, gde je izraz P(A|W) akustiˇcni model,
a izraz P(W) jeziˇcki model.
Statistiˇcke osobine signala, kao ˇsto su to npr. Furijeova transformacija
autokorelacije ulaznog signala tj. spektar snage signala (power spectrum),
procena autokorelacije φ(m) = E(x[n]x[n + m]) (koja nije kratkotrajna,
za L odbiraka) ˆφ(m) = 1
L
L−1−m
n=0 x[n]x[n + m], 0 ≤ |m| < L, srednja
vrednost i varijansa - ne menjaju se digitalizacijom. Naˇcin da se proceni
proseˇcni spektar snage (power spectrum) koji nije kratkotrajan je onda:
ˆΦ(eiωT
) = M
m=−M w[m]ˆφ(m)e−iΩmT
. Model podrazumeva procenu funkcije
raspodele sluˇcajne promenljive kojom se predstavlja signal, kao i njene ko-
relacije, npr. Paez i Glisson daju npr. ovakav model gama raspodele: p(x) =
√
3
8πσx|x|
e−
√
3|x|
2σx odnosno jednostavnija i neˇsto grublja Laplasova raspodela
p(x) = 1√
2σx
e−
√
2|x|
σx (samo 35% signala upada u interval x[n] ∈ [−4σx, 4σx]).
Ovaj pristup je bliˇzi duhu ˇSenonove informacione teorije (informacioni ka-
pacitet neophodan za prenos ili skladiˇstenje digitalne reprezentacije govornog
signala je I = BFs u bitovima u sekundi, bit rate), ali prava primena dolazi
do izraˇzaja posebno s Markovljevim lancima.
3.4.5 Ostali parametri
Proseˇcna medijana signala ML (homogena transformacija, ali nije LTI)
uzima medijanu poslednjih L uzroraka. Ako se nakon toga primeni FIR filter
npr. sa odzivom:
28.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 27
onda se dobija ,,glatkiji” signal. Ovo se koristi kao metod dekompozicije
ulaznog signala na glatki deo S(x[n]) i grubi R(x[n]) sukcesivnom superpozi-
cijom sa vremenskim pomeranjem (delay) signala:
Odabir ovih i ostalih parametara potrebnih za reprezentovanje ulaznog sig-
nala je domen specifiˇcan. Pored navedenih, koriste se i metode Gausove
klasifikacije (GMM - Gaussian Mixture Model), MLLR (najverovatnija lin-
earna regresija), itd. Klasiˇcan primer je linearno prediktivno kodiranje (LPC
Feature Analysis) koje predstavlja blok ˇsemu obrada signala koje se dalje
npr. prosled¯uju skrivenom lancu Markova - detalji npr. u [HMM] ili [PATR].
Ispod su blok dijagrami ulazne obrade analize osobina (feature analysis) i
izolovanog prepoznavanja reˇci skrivenim lancima Markova:
29.
28 Semestralni rad
3.5Analiza sintezom i linearna prediktivna analiza
Jedna od prednosti prethodnog fiziˇcko-akustiˇcnog modela je ˇsto za izabra-
ni konkretni model postoje konkretni parametri kojima se postiˇze ocenjeno
zadovoljavaju´ce dobra sinteza. Nakon toga se npr. kratkotrajnom Furi-
jeovom analizom karakteriˇse takav model, ali i ulazni signal. Na osnovu
prozorom izdvojenih delova ulaznog signala (posmatraju se delovi govornog
signala kao statiˇcni iako je u celini govorni signal dinamiˇcki signal) je onda
tako onda mogu´ce npr. minimizacijom kvadratne greˇske oceniti vrednosti tih
parametara. Takav postupak se zove analiza sintezom.
30.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 29
Drugi, donekle sliˇcan klasiˇcan pristup ovom problemu, linearna prediktivna
analiza, polazi od funkcije sistema koji predstavlja kompozitni efekat svih ele-
menata modela (H(z) = G(z)V (z)R(z), gde je pobud¯ivanje glasnica (glotalno)
G(z), vokalni trakt V (z) i odaˇsiljanje R(z)) digitalnim filterom:
H(z) =
S(z)
U(z)
=
G
1 − p
k=1 akz−k
gde se pored osnovne frekvencije i klasifikacije zvuˇcnosti mogu oceniti inten-
zitet G i koeficijenti filtera ak koji variraju vremenom.
3.6 Lanci Markova
Lanac Markova se definiˇse za sistem u kome se nizom sluˇcajnih promenljivih
Xn (u trenutku n, takav niz npr. obiˇcno opisuje evoluciju fiziˇckog sistema
kroz vreme) sa diskretnim vrednostima {x1, x2, ...} - stanjima sistema. Niz
je lanac Markova prvog reda (ili samo lanac Markova) ako postoji zavisnost
Markova: ako za svaki konaˇcan skup {m, n1, ..., nr} trenutaka takvih da je
0 ≤ nr < nr−1 < ... < n1 < m i za svaki skup stanja {xir , xir−1 , ..., xi1 , xj}
vaˇzi:
P({Xm = xj}|{Xn1 = xi1 }∩...∩{Xnr = xir }) = P({Xm = xj}|{Xn1 = xi1 })
Za kontinualni skup trenutaka (realan ili ˇcak kompleksan) imamo proces
Markova. Verovatno´ca pij(n, m) = P({Xm = xj}|{Xn = xi}) je verovatno´ca
prelaza iz stanja xi u trenutku n u stanje xj u trenutku m. Ako zavisi samo
od n − m onda je lanac Markova homogen i moˇze se skra´ceno zapisati:
pij(n) = P({Xk+n = xj}|{Xk = xi}), pij = pij(1)
(verovatno´ca prelaska u n koraka i jednom koraku), i ˇcesto se zapisuje u ma-
triˇcnom obliku Pn = [pij(n)], P = P1. Verovatno´ca prelaska za viˇse koraka
n = 2, 3, ... se odred¯uje jednaˇcinama ˇCepmen-Kolmogorova:
pij(n) = k pik(m)pkj(n − m), 1 ≤ m < n - tj. Pn = PmPn−m (specijalno za
m = 1: Pn = Pn
). Ako je poˇcetna raspodela verovatno´ca stanja pi(0) onda za
naredne trenutke pi(n) = P({Xn = xi}) vaˇzi: pi(n) = k pk(n − 1)pki (pot-
punom verovatno´com). Ako se uvede zavisnost pij = pij(d) za neki param-
etar d ∈ D, i za svaki vremenski korak (trenutak) i stanje vaˇzi d = d(xi, n)
funkcija odluˇcivanja, dobija se problem optimalnog upravljanja Markova: na´ci
31.
30 Semestralni rad
funkcijuoptimalnog odluˇcivanja d0
tako da je P(d0
) = maxn P(Xn ∈ S), tj.
d0
= argmaxdP(d) tako da sistem u trenutku n s najve´com verovatno´com ud¯e
u zadati podskup stanja S. Funkcija optimalnog odluˇcivanja d0
= d0
(xi, k)
se odred¯uje rekurzivno Belmanovom jednaˇcinom:
P0
(xi, k) = max
d
j
pij(d)P0
(xj, k + 1), k = 0, ..., n − 1
... poˇsto je u koraku k + 1 nad¯eno d0
(xj, k + 1) i P0
(xj, k + 1), gde je
P0
(xi, n − 1) = P(xi, n − 1, d0
) = max
d
P(xi, n − 1, d)
za neko d = d0
i
P(xi, n − 1, d) =
j: xj∈S
pij(d)
.
3.6.1 Skriveni lanci Markova
Skriveni lanac Markova (SLM) deli dogad¯aje, odnosno stanja i odgo-
varaju´ce promenljive, u skrivena X i posmatrana Y - na primer, skriveni
dogad¯aj moˇze biti fonema koja je izgovorena ili morfoloˇska tj. leksiˇcka klasa
reˇci u reˇcenici (odnosno oznaka (tag) dela reˇcenice kao strukturni i semantiˇcki
element, a takav postupak je part-of-speech tagging), a posmatrani dogad¯aj
je onda parametar govornog signala ili prepoznata reˇc u reˇcenici ili njen
deo (ulazni signal je niz posmatranja). Model SLM θ = (X, Y, π) je tako
odred¯en raspodelom prelaska za X i Y (model se moˇze shvatiti i kao niz
parametara, odnosno ovih verovatno´ca) i raspodelom poˇcetnih stanja π. Niz
posmatranih stanja zavisi samo od trenutnog jednog stanja u nizu skrivenih
stanja (u smislu uslovnih verovatno´ca), a svako skriveno stanje zavisi samo od
trenutnog i prethodnog u nizu. Primer: jedan ˇcovek baca novˇci´c ali posma-
traˇc moˇze samo da ˇcuje od njega na koju stranu je pao, ne zna ˇcak ni koliko
razliˇcitih novˇci´ca moˇze uˇcestvovati u eksperimentu (i time rezliˇcitih mod-
ela). Kod govornog signala, svakoj reˇci u reˇcniku moˇze biti posve´cen pose-
ban lanac sa skrivenim stanjima koja odgovaraju fonemama, odnosno model
(takvi se mogu i paralelno obrad¯ivati). Jeziˇcki model moˇze tako biti zadat
grafovima prelaska stanja u vremenu (sliˇcno grafovima kontekstno slobodnih
gramatika) ˇciji su lukovi, tzv. bigrami, obeleˇzeni verovatno´com. Akustiˇcni
32.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 31
model moˇze takod¯e biti kontekstno-nezavisan (ne zavisi od prethodnih ili
narednih fonema) ili kontekstno zavisan (najˇceˇs´ce se koristi model tri-fonema
gde se svaka fonema razlaˇze na 3 podfoneme, npr. tri-fonema [a−b+c] znaˇci
da je a ispred b, i da je c posle b, ili [a − b] gde nedostaje prelazak nakon b).
Ispod su primeri modela med¯u kojima su i modeli pomenutog eksperimenta
bacanja novˇci´ca:
Osnovna pitanja su:
• Za dati niz posmatranja koja je njena verovatno´ca u odnosu na dati
model ?
• Kako odabrati tj. dekodirati najoptimalniji (najverovatniji) odgovaraju´ci
niz skrivenih stanja (objaˇsnjenje) za dati niz posmatranja i model ?
• Kako menjati (uˇciti) parametre modela tako da se maksimizuje pomenuta
verovatno´ca niza posmatranja ?
Verovatno´ca posmatranja je data sa P(Y ) = X P(Y |X)P(X) (gde su X svi
nizovi skrivenih stanja). Ovo je osnova algoritma raˇcunanja unapred (forward
algoritam) koji se moˇze ovako opisati za dati HMM - ako je (O1, ..., OM ) niz
posmatranja u vremenu, N broj stanja, yj(Ot) = P(Yj = Ot) verovatno´ca
33.
32 Semestralni rad
posmatranjaOt u stanju j, xij verovatno´ca prelaska iz stanja i (u trenutku
t − 1) u stanje j, αt(j) = P(O1, ..., Ot, Xt = j) verovatno´ca da se nakon t
koraka HMM nalazi u stanju j:
1. incijalizacija: α1(j) = x0jyj(O1), 1 ≤ j ≤ N
2. rekurzija: αt(j) = N−1
i=1 αt−1(i)xijyj(Ot), 1 ≤ j ≤ N, 1 ≤ t ≤ M
3. rezultat: P(Y ) = αM (N) = N−1
i=1 αM (i)xiN
Na druga dva pitanja ne postoji ovako egzaktna vrednost kao odgovor ve´c
procene koje se npr. dobijaju Viterbi algoritmom, odnosno Baum-Velˇcovim
algoritmom, respektivno.
Viˇse o konkretnim metodama i detaljima u [HMM].
3.6.2 Viterbi algoritam, Baum-Velˇc
Ovaj algoritam nalazi verovatno´cu najverovatnijeg niza posmatranja, ali
pre svega pronalazi niz odgovaraju´cih skrivenih stanja lanca Markova, tzv.
Viterbijevu putanju - dinamiˇckim programiranjem. Preduslov je da ne koristi
N-grame sloˇzenije od bigrama (N = 2, N-grami predstavljaju pravila kojima
su date verovatno´ce prelaska na osnovu N − 1 prethodnih delova) - za to su
potrebne druge metode (dinamiˇcke Bajesove mreˇze, stack decoder - Paul,
Jelinek, 1997, confusion networks / word lattices, itd). Sliˇcno forward algo-
ritmu, rekurzivno se raˇcuna najbolja ocena vt(j) = max1≤i≤N−1 vt−1(i)xijyj(Ot).
Pseudo-kodom bi to moglo ovako da se predstavi - ulazni argumenti su:
y niz posmatranja, X je niz skrivenih stanja, sp su poˇcetne verovatno´ce
(verovatno´ce poˇcetnih skrivenih stanja), tp su verovatno´ce prelaska, ep verovatno´ce
posmatranja. Niz T za dato stanje daje trojku koja se redom sastoji od
ukupne verovatno´ce svih putanja do trenutnog stanja, putanje i njene verovatno´ce,
a niz U sadrˇzi narednu takvu trojku:
34.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 33
def forward_viterbi(y, X, sp, tp, ep):
T = {}
for state in X:
T[state] = (sp[state], [state], sp[state])
for output in y:
U = {}
for next_state in X:
total = 0
argmax = None
valmax = 0
for state in X:
(prob, v_path, v_prob) = T[state]
p = ep[state][output] * tp[state][next_state]
prob *= p
v_prob *= p
total += prob
if v_prob > valmax:
argmax = v_path + [next_state]
valmax = v_prob
U[next_state] = (total, argmax, valmax)
T = U
## primena sum/max nad stanjima na kraju:
total = 0
argmax = None
valmax = 0
for state in X:
(prob, v_path, v_prob) = T[state]
total += prob
if v_prob > valmax:
argmax = v_path
valmax = v_prob
return (total, argmax, valmax)
Pored ovog algoritma se koristi Baum-Velˇcov algoritam (Baum-Welch) koji
predstavlja primenu EM algoritma (jedan od osnovnih metoda maˇsinskog
uˇcenja gde se traˇzi najverovatnija hipoteza o vrednosti parametara θ) ko-
risti raˇcunanje unapred-unazad (forward-backward) verovatno´ca prelaska (u
oba vremenska pravca) i primer je obuˇcavanja parametara SLM modela.
35.
34 Semestralni rad
Odred¯ivanjemfrekvencije parova prelaska i posmatranja u odnosu na ukupnu
verovatno´cu putanje odred¯uju se verovatno´ce prelaska i posmatranja metodom
maksimizovanja oˇcekivanja. Ukratko, u prvom koraku ove metode se raˇcunaju
procene oˇcekivanja verovatno´ce prelaska skrivenog stanja uslovljenog pos-
matranjima P(X|Y, θ) = P(Y,X|θ)
P(Y |θ)
= P(Y |X,θ)P(X|θ)R
P(Y |X,θ)P(X|θ)
, a u drugom se mak-
simizuju, i to se iterativno ponavlja: θn+1 = argmaxθQ(θ) gde je Q(θ) =
Ex[log P(Y, X|θ)|Y ] =
∞
∞
p(x|y, θn) log p(y, x|θ)dx. Praktiˇcni detalji se mogu
na´ci npr. u [BW], [HMM] i posebno u [PATR].
3.6.3 Dinamiˇcke Bajesove mreˇze
Suˇstina uslova koji ˇcini lanac Markova je da verovatno´ca prelaska u neko
stanje zavisi samo od stanja prethodnog vremenskog trenutka. Ako se posma-
tra niska uzoraka govornog signala kao lanac onda takva pretpostavka po svo-
joj prirodi nije taˇcna, ali pokazuje se da je to uglavnom dovoljno dobar model.
Med¯utim, DBM (dinamiˇcke Bajesove mreˇze) predstavljaju uopˇstenje kod ko-
jeg se takvo ograniˇcenje prevazilazi pa je mogu´ca ˇcak i anticipacija (zavisnost
od budu´cih stanja). Ako je struktura statiˇcka, imamo Bajesovu mreˇzu koja je
odred¯ena skupom stanja S (koja odred¯uju dogad¯aje) i orijentisanim grafom
obeleˇzenim verovatno´cama prelaska. Ako je graf acikliˇcan onda se moˇze
moˇze se posmatrati sloˇzena promenljiva X = (X1, ..., Xn), Xi = {X = xi}
ˇcija je raspodela odred¯ena sa P(X) = n
i=1 P(Xi|Πi) gde su Πi prethodnici
za stanje Xi. Dinamiˇcki sistem se moˇze posmatrati kao statiˇcan sa T × n
promenljivih X[t] = (X1[t], ..., Xn[t]): P(XT
1 ) = T
t=1
n
i=1 P(Xi|Πi) gde je
XT
1 = (X[1], ..., X[T]). Struktura se moˇze donekle ograniˇciti pravilima sliˇcno
skrivenim lancima:
P(X[t]|Xt−1
1 , Y t−1
1 ) = P(X[t]|Xt−1
t−κ)
P(Y [t]|XT
1 Y [t]) = P(Y [t]|X[t − τp], ..., X[t + τf ])
gde je Y T
1 = (Y [1], ..., Y [T]) niz sluˇcajnih promenljivih posmatranja, a XT
1
skrivenih stanja. Tako je onda struktura odred¯ena signaturom (κ, τp, τf ) -
npr. (1, 0, 0) su klasiˇcni skriveni lanci Markova, a (2, 1, 1) predstavlja primer
strukture optimalne sloˇzenosti (sloˇzenije postaju preskupe za pretraˇzivanje).
Cilj je na´ci najverovatniji niz parametara ovakvim strukturama, i to je os-
novni problem dekodiranja (Dawid, 1992). Pokazuje se da se moˇze po´ci od
strukture skrivenih lanaca u toku obuke kao inicijalne, a da sloˇzenije struk-
ture mogu imati samo bolje osobine.
36.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 35
3.7 Neuronske mreˇze i govor
Neuronske mreˇze (NM) mogu biti kako od koristi pri akustiˇcnom modeli-
ranju ulaznog govornog signala i njegovih osobina, tako i pri klasifikaciji ili
analizi strukture govora i drugim mogu´cim oblastima govora. Mogu´ce je
upotrebiti poznatu klasu NM sa povratnim propagiranjem ili neku od NM
klasifikacije kakve su Kohonenove, asocijativne ili NM kvantizacije vektora
sa uˇcenjem. Najstariji poznat primer je ADALINE koja predstavlja jednos-
tavniji primer povratnog propagiranja (i delta pravila) sliˇcnog perceptronu.
Ova vrsta NM spada u klasu mreˇza namenjenih obradi vremenski uzorko-
vanog signala (med¯u novije vrste spadaju npr. mreˇze recirkulacije - Geoffrey
Hinton, James McCLelland). Primena takvih NM postoji i danas (uklanjanje
ehoa iz telefonskih linija tako realizovanim adaptivnim filterom (hibridom) se
i danas koristi, realizacija savremenih modema, itd). ADAptive LInear NEu-
ron (standardna funkcija sumiranja je ALC - Adaptive Linear Combiner) je
iste strukture kao i perceptron sa linearnom simetriˇcnom transfer funkcijom.
Transverzni filter uzima n − 1 prethodnih i trenutni uzorak - upotebom ak-
tivacione funkcije kaˇsnjenja (delay: a(t + 1) = net(t)) se moˇze realizovati
ADALINE struktura ˇciji su ulazni vektori x(t) kojim se realizuje takav filter
37.
36 Semestralni rad
(moˇzese koristiti i za predvid¯anje vrednosti tj. uzorka). Med¯utim, postoje
i klase NM koje su specijalizovane za govor, a jedna od njih su prostorno-
vremenske mreˇze.
3.7.1 Prostorno-vremenske mreˇze
Na osnovu Grosbergovih modela prostorno-vremenskih mreˇza (PVM, ko-
risti se i kao pojam ˇsablona ulaznih vrednosti i kao struktura NM tj. PVNM;
Spatio-Temporal Pattern) iz 70-tih, Robert Hekt-Nilsen razvija ovu klasu
NM koju naziva ,,lavina”(Avalanche), koja je specijalizovana za probleme
prepoznavanja vremenskih sekvenci (koje se ponavljaju, pre svega audio sig-
nala i govornog signala - niz uzoraka moˇze imati i ,,prostornu” dimenziju ako
se posmatra npr. po frekventnim kanalima kao niz koji se menja vremenom) i
njihovog klasifikovanja. Ova mreˇza se moˇze posmatrati kao niz Grosbergovih
izlaznih zvezdi sa zajedniˇckim izlazima, ˇcija bi se obuka vrˇsila redom: ulazni
vektor parametara x(t0) i izlazna zvezda t0, zatim x(t0 +∆t) i izlazna zvezda
t0 + ∆t, itd. Nakon obuke ovi nizovi se mogu reprodukovati pobud¯ivanjem
redmo izlaznih zvezdi sa ulaznim vektorom nula:
Tako bi, na primer, skup obuˇcavanja je skup nizova frekvencija u vremenu za
svaku i-tu reˇc koja se prepoznaje (npr. spektar) Pi(tj) = (pi1(tj), ..., pin(tj))T
- ako se posmatra struktura mreˇze koja prepoznaje jednu reˇc onda je PVM
struktura oblika Pi = (Pi(t1), ..., Pi(tm)), ulaza ima koliko i frekventnih kanala
a procesnih elemenata koliko i vremenskih sekvenci - svaki izlaz je povezan
sa svim narednim procesni element (PE) po vremenskom rasporedu. Ulaz se
normalizuje ||Pi(tj)|| = 1 i struktura se moˇze uporediti sa protiv-povratnim
NM ako se izuzme vremenska dimenzija. Koeficijenti za i-ti PE je za-
pravo PVM za i-tu reˇc (vektor iz skupa obuˇcavanja) zj = Pi(tj). Tako
38.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 37
za jednu reˇc i koeficijent uˇceˇs´ca izlaza d < 1 prethodnih PE, ulazni PVM
Q1 = (Q1(t1), ..., Q1(tm)) ili Q1i = Q1(ti), neti = Q1i · zi + d i−1
k=1 xk, PVM
prepoznavanja izgleda ovako:
Ako se posmatra PVM za viˇse ulaznih reˇci, onda struktura izgleda ovako:
Iako ovakva struktura izleda pregledno, praktiˇcno moˇze sadrˇzati redundantne
PE (npr. za reˇci ili slogove koji su delovi drugih reˇci). Jedan naˇcin je da se el-
eminiˇsu redundantni PE odgovaraju´cim ,,prevezivanjem”. Postoji uopˇstenje
PVM kojim se ovo moˇze prevazi´ci, sekvencijalno kompetitivno polje lavine
(SKPL, tj. Sequential Competitive Avalanche Field, SCAF) gde se jednim
39.
38 Semestralni rad
redomPE prestavlja struktura umesto nizom redova (mada je mogu´ca i
viˇsedimenzionalna struktura):
gde su zi vektori koeficijenata za i-ti PE, gde svaki vektor predstavlja po
jedan vektor iz skupa obuˇcavanja (za svaku reˇc, dakle ima ih koliko i reˇci
koje treba prepoznati), wij su koeficijenti od izlaza PE, globalni bias term Γ
se dodaje svakom PE, koji postavlja promenljivi prag okidanja protiv koga
se takmiˇce i koji obezbed¯uje da najbolje pored¯enje pobedi. Obuˇcavanje je
varijanta Kohonenovog (Kosko-Klopf, varijanta Hebovog metoda: koefici-
jenti ulaza se obuˇcavaju kompetitivno, gde med¯u PE vaˇzi wij = (−cwij +
dxixj)U( ˙xi)U(− ˙xj), U stepenasta funkcija td. U(x) = 1 za x > 0, inaˇce
U(x) = 0, i vaˇzi wii = 0, c, d > 0) uz funkciju A(x) koja se menja vremenom
(funkciju napada, ,,attack function”, za 0 < c < 1 je A(x) = cx ako je x < 0,
inaˇce A(x) = x), koja se koristi i u toku eksploatacije. Ako je f pozitivna
linearna transfer funkcija, izlazi se onda definiˇsu diferencijalnim jednaˇcinama
˙yi
= A(−ayi
+bf(neti −Γ)). Vrednost se aproksimira onda npr. raˇcunanjem
yi
(t + ∆t) = yi
(t) + ˙yi
∆t.
Izlazne vrednosti PVNM se dobijaju frekvencijom koja je manja nego
frekvencija uzorkovanja, ˇsto se naziva osobinom vremenska dilatacije. Ova
osobina moˇze biti korisna - tako se moˇze pored¯ati nekoliko slojeva SKPL i
izlazni poslednjeg SKPL sloja onda ne zavise od vremenske dimenzije i mogu
40.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 39
se povezati s asocijativnom NM radi klasifikacije:
Ako se struktura PVNM prikaˇze na slede´ci naˇcin:
record STN = begin
UNITS : ^layer;
a, b, c, d : float;
gamma : float;
upper: ^STN;
lower : ^STN;
y : float;
end record;
onda se odgovaraju´cim pseudokodom algoritam eksploatacije moˇze prikazati
ovako:
41.
40 Semestralni rad
functionactivation(net: STN; unumber: integer; invec: ^float[])
return float; {propagiranje ulaznog vektora datom PVM PE}
var i : integer; {iteration counter}
sum : float; {akumulator}
others : float; {izlazni akumulator}
connects : ^float[]; {niz koeficijenata veza}
unit : ^float[]; {izlazi PE}
begin
sum = 0; {inicijalizacija}
others = 0; {ostalo}
unit = net.UNITS^.OUTS; {zadati izlazi PE}
connects = net.UNITS^.WEIGHTS[unumber];
for i = 1 to length(invec) {za sve ulazne elemente}
do {skalarni proizvod}
sum = sum + connects[i] * invec[i];
end do;
for i = 1 to (unumber - 1) {prethodni izlazi}
do
others = others + unit[i];
end do;
return (sum + net.d * others); {rezultat je aktivacija}
end function;
function attack(net: STN; unumber: integer; inval: float)
return float;
{pretvaranje ulaznih vrednosti PE u izlaznu}
var outval : float;
unit : ^float[];
begin
unit = net.UNITS^.OUTS; {niz izlaznih vrednosti PVM}
outval = inval - net.gamma; {prag ulazne vrednosti}
if (outval > 0) {ako je PE aktiviran}
then outval = outval * net.b {skaliranje izlaza}
else outval = 0; {PE nije aktiviran}
outval = outval + unit[unumber] * (-net.a);
if (outval <= 0) {koeficijent opadanja}
then outval = outval * net.c;
return (outval); {rezultat je delta x}
42.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 41
end function;
procedure propagate(net: STN; invec: ^float[]);
{propagiranje ulaznog vektora kroz PVM}
const dt = 0.01; {frekvencija uzorkovanja tj. osvezavanja}
var i : integer; {brojac}
how_many : integer; {broj PE u PVM}
dx : float; {delta x}
inval : float; {ulazna aktivacija}
unit : ^float[]; {niz izlaza}
begin
unit = net.UNITS^.OUTS; {izlazi PE}
how_many = length(unit); {broj PE}
for i = 1 to how_many {za sve PE}
do {generisanje izlaza za dati ulaz}
inval = activation(net, i, invec);
dx = attack(net, i, inval);
unit[i] = unit[i] + (dx * dt);
end do;
net.y = unit[how_many]; {izlaz poslednjeg PE}
end procedure;
gde se onda procedura propagate poziva redom za svaki vremenski PVM
iseˇcak sve do konaˇcnih izlaza. Prednost PVNM je i mogu´cnost implementacije
dinamiˇckih struktura jer se obuˇcavanje praktiˇcno reˇsava inicijalizacijom (sliˇcno
asocijativnim NM).
43.
42 Semestralni rad
4Vizija
4.1 Uvod
Primer zadatka vizije koji obavlja raˇcunarski program umesto ˇcoveka bi
bilo traˇzenje i prepoznavanje brodova na snimku iz ptiˇcije perspetkive - brod
se nalazi gotovo sigurno na moru a ne na kopnu, moˇze biti odsjaja na morskoj
povrˇsini ili sliˇcnih objekata, brod moˇze biti usidren uz obalu ili u luci pri
ˇcemu moˇze biti od velike pomo´ci pripremljena mapa (sa nekim dodatnim
podacima, semantikom, pri ˇcemu uspostavljanje odnosa i jednoznaˇcnog pres-
likavanja izmed¯u mape i snimka predstavlja dodatni zadatak). Interesantan
je i jedan donekle sliˇcan primer automatskog pra´cenja registarskih tablica
u saobra´caju. Takod¯e, primer je i kada snimke slojeva CAT (Computer
Aided Tomographic) skenera treba pretvoriti u 3-dimenzionalne modele na
osnovu 3-dimenzionalnih mapa tela i zadatih dijagnostiˇckih ciljeva, ˇsto je
joˇs sloˇzeniji zadatak. Kod ovih i svih ostalih primera problema vizije vaˇzi
da u ovim procesima uˇcestvuju potprocesi niˇzeg nivoa kao ˇsto su digitalna
obrada slika (filtriranje, transformacije, (de)kodiranje - ,,early processing”,
poˇcetna obrada), statistiˇcke i druge metode klasifikacije i sliˇcno. Med¯utim,
interesantniji sa stanoviˇsta veˇstaˇcke inteligencije su procesi viˇseg nivoa koji
upravaljaju prethodnim i dodatno poboljˇsavaju kvalitet reˇsenja kao ˇsto su to
deklarativno znanje i meta-znanje o slici i procesu prepoznavanja (kognitivni
procesi, kontekst i analiza semantiˇckih odnosa na slici), geometrijski modeli,
ciljevi i planovi. Prepoznavanje pojedinih elemenata odnosno objekata na
slici na osnovu ugrad¯enog ili nauˇcenog znanja je takod¯e bitno. Gotovo svi
ovi procesi imaju odgovaraju´ci, ali samo donekle sliˇcan bioloˇski proces kod
ljudi (npr. prouˇcavanjem optiˇckih iluzija nalazi se da su neke posledica ne-
savrˇsenosti primitivnijih bioloˇskih mehanizama, a neke su posledica sloˇzenije
obrade centralnog nervnog sistema).
4.2 Reprezentovanje
Veoma je vaˇzno, naravno, i reprezentovanje znanja (i meta-znanja) za
viziju. Percepcija (vizuelna) je zapravo odnos izmed¯u ulazne reprezentacije
sveta i postoje´ceg modela sveta (koncepta u smislu deklarativnog znanja,
koji ako se predstavlja kao izlazna reprezentacija moˇze uopˇste predstavljati
konaˇcan opis, odluka ili interpretacija). Moˇze se po´ci od uopˇstene reprezentacije
44.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 43
slike (D. Ballard) koja se sastoji iz ˇcetiri dela gde svaki deo moˇze imati finije
podnivoe reprezentacije:
• Uopˇstene slike - osnovna reprezentacija ulaza (ikoniˇcna - poput slike)
koja se obiˇcno u smislu strukture podataka predstavlja matricu ulaznih
vrednosti (bitmapu, digitalizovanu sliku npr.) i uobiˇcajeno je da se
transformiˇse u druge, korisnije oblike uopˇstenih slika (unutraˇsnje, in-
trinsic) kao ˇsto su ivice elemenata (diskontinuiteti nijansi) slike, odsjaji,
orijentacije povrˇsi itd.
• Segmentirane slike - dobijaju se od prethodnih i predstavljaju skup
oblasti koje odgovaraju objektima na uopˇstenoj slici. Za razliku od
prethodne reprezentacije ovde znanje o domenu postaje veoma vaˇzno,
i kao heuristika i kao naˇcin prevazilaˇzenja smetnji i greˇsaka u ulaznim
podacima. Tekstura i pokret mogu biti posebno interesantni ali pred-
stavljaju i dalje veoma teˇzak problem.
• Geometrijsko reprezentovanje - ovde je bitan pojam 2-dimenzionalnog
i 3-dimenzionalnog oblika, ˇcija je kvantifikacija jednako teˇska i vaˇzna
(koriste se mnoge poznate analitiˇcke metode). Treba da bude dovoljno
jako da podrˇzi sve optiˇcke i fiziˇcke fenomene koji mogu biti vaˇzni. Ko-
risti se i za kodiranje nauˇcenog, kao i za naknadno prikazivanje objekata
kao slike.
• Relacioni modeli - koristi se deklarativno znanje i konceptualizacije
kao ˇsto su to npr. semantiˇcke mreˇze. Podaci o slici se koriste da bi se
konstruisale reprezentacije objekata u ovom obliku i posle upored¯ivale
sa bazom znanja, odnosno da bi se upotrebili mehanizami zakljuˇcivanja,
planiranja i kontrole koji su mogu´ci upotrebom deklarativnog znanja.
Ulazna slika samo indirektno daje podatke o objektima - npr. boja zav-
isi od jaˇcine svetla i pravca izvora ili od orijentacije povrˇsine (ˇsto se moˇze
odrediti na osnovu prethodnog kod ulazne slike). Ako je u pitanju stereo
snimak (dve ulazne slike razdvojenih kamera) onda se moˇze odrediti dubina
(range) elemenata ulazne slike. Ulazna slika moˇze biti pasivna (statiˇcan sni-
mak ili viˇse snimaka kao kod tomografije) ili aktivna (dinamiˇcke prirode, u
realnom vremenu). ˇCesto se koristi struktura piramide rezolucije koja se
sastoji od ulaznih slika neke niˇze rezolucije iste slike do neke najviˇse re-
zolucije (pogodno za primenu algoritama koji sa takvim strukturama mogu
45.
44 Semestralni rad
bitiefikasniji). Model (formiranja) ulazne slike zavisi od navedenih razliˇcitih
ˇcinilaca:
• funkcija slike - osnovna apstrakcija ulazne slike:
f(x, t) = (fR(x, t), fG(x, t), fB(x, t))
ako je x = (x, y, z) trodimenzionalni vektor koordinata raˇcke i t vremen-
ska komponenta, vrednosti ove funkcije su trojke izmerenog osvetljenja
crvenog (R), zelenog (G) i plavog (B) dela spektra (moˇze biti i multi-
spektralna funkcija tj. sa merenjima i za ve´ci broj talasnih duˇzina).
• geometrijski model - objaˇsnjava kako se projektuju tri dimenzije u dve
• radiometrijski model - objaˇsnjava kako izvori svetla i refleksije (osnosno
reflektivnosti, reflectanse) utˇcu na merenje svetla (ulaznih senzora)
• model prostorne frekvencije - objaˇsnjava kako se prostorne varijacije
objekta mogu opisati u domenu transformacija
• model boja - objaˇsnjava kako razliˇcita spektralna merenja utiˇcu na boju
objekata
• model digitalizovanja - opisuje proces uzorkovanja ulazne slike - funkcija
jediniˇcnog odgovora (delta funkcija) je korisna i u ovom sluˇcaju - npr.
za dve dimenzije:
δ(x, y) = lim
n→∞
δn(x, y) =
0, x = 0;
∞, x = 0.
tako da vaˇzi R2 δ(x, y)dxdy = 1.
Onda je npr. δn(x, y) =
0, ||(x, y)|| ≥ 1/4n2
;
n, inaˇce.
Tada vaˇzi R2 f(x, y)δ(x − a, y − b)dxdy = f(a, b) (konvolucija ulaznog
signala i delta funkcije) a uzorkovani signal se moˇze shvatiti kao proizvod
kontinualnog sa matricom (comb) odnosno zbirom pomerenih (shift-
ovanih) delta funkcija a,b f(a, b)δ(x − a, y − b) = f(x, y) a,b δ(x − a, y − b)
jer je integral takvog zbira onda suma diskretnih vrednosti u zadatoj
oblasti. Kao i kod govornog signala takod¯e postoji efekat aliasinga (koji
zavisi od rezolucije ulazne slike) i metode reˇsavanja tog problema su
veoma sliˇcne, a isto tako stoji i problem kvantizacije ulazne slike (s tim
46.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 45
ˇsto je ovde obiˇcno reˇc o broju bitova kojima se predstavlja intenzitet
nijansi sive ili RGB komponenti svakog ulaznog piksela).
Ove komponente ˇcine osnovu (digitalne) obrade slika gde se koriste dodatno
mnoge statistiˇcke metode i osobine, ali za viziju i veˇstaˇcku inteligenciju su
znaˇcajnije geometrijske osobine. Dalje u tekstu slede detaljnija objaˇsnjenja
ovakvog modela.
4.2.1 Geometrija slika i vizija
Projekcija taˇcke polaze´ci od osnovnog pojednostavljenog modela oka,
kamere ili drugog ured¯aja kao rupice (pinhole) i zastora na koji se projek-
tuje taˇcka, odnosno slika. Intuitivniji i matematiˇcki ekvivalentan model sa
ˇziˇznom daljinom f odnosno kamerom u taˇcki (0, 0, f) koja je usmerena u
pravcu i suprotnom smeru od z ose (vektor pravca snimanja je (0, 0, −1)) i
sa koordinatama projekcije (x , y , z ) na zastoru (ravni) z = 0 je dat sa:
x
f − z
=
x
f
,
y
f − z
=
y
f
ˇsto se uopˇsteno moˇze predstaviti kao kompozicija homotetije (skalarnog proizvoda
sa f
f−z
) i ortografske projekcije na ravan projekcije tj.
(x, y, z) → (
fx
f − z
,
fy
f − z
,
fz
f − z
) → (
fx
f − z
,
fy
f − z
, 0) ≡ (x , y , z )
47.
46 Semestralni rad
Kodstereovizije (binokularne vizije - uopˇste, mogu´ce je koristiti i ve´ci broj
kamera) gde su kamere paralelno usmerene (ne ,,konvergiraju”) med¯usobnog
rastojanja 2d moˇze se oceniti dubina polaze´ci od razlike koordinata projek-
cija za svako ,,oko” posebno
x = f(x−d)
f−z
, x = f(x+d)
f−z
:
gde je onda z = f − 2df
x −x
. Ako se kamere usmere tako da se pravci seku
tj. konvergiraju u nekom objektu, razdaljina se opet moˇze izraˇcunati na os-
novu tog ugla. Najteˇzi deo posla je uparivanje taˇcaka na slikama za koje se
traˇzi daljina. Pri tom treba voditi raˇcuna o osobinama intenziteta svetlosti
koji zavisi kako od intenziteta i pravca izvora svetlosti i od osobina materi-
jala i teksture koja odbija svetlost (reflektivnost kao odnos ukupno odbijene
svetlosti i svetlosti odbijene ka posmatraˇcu), tako i od geometrije objekta i
ugla pod kojim se odbija svetlost ka posmatraˇcu. Jedan naˇcin reˇsavanja je i
upotreba dinamiˇckog programiranja (Ohta, Kanade) za uparivanje taˇcaka i
traˇzenje dubine slike.
4.3 Boja
Jedna od vaˇznih osobina funkcije slike moˇze biti boja. Ljudsko oko ima
tri tipa senzora za tri boje vidljivog elektromagnetnog spektra (od plave
- 400nm, do crvene - 700nm). Ako je hR(λ) relativni odziv (osetljivost)
crvenog senzora u odnosu na frekvenciju, onda je ukupno merenje na jednom
48.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 47
takvom senzoru R = (λ)r(λ)hR(λ)dλ, gde f odgovara izvornom spektru, a
r reflektivnosti (ono ˇsto odgovara boji povrˇsine). Ispod je grafik odziva sva
tri standardna ljudska senzora:
Dobijena merenja sva tri senzora se mogu normalizovati (ˇcime se eliminiˇse
uticaj intenziteta):
r =
R
R + G + B
g =
G
R + G + B
b =
B
R + G + G
a prikaz tako percepirane boje grafikom u odnosu na crvenu i zelenu boju kao
koordinate se naziva hromatski dijagram. Izborom frekvencija (λR, λG, λB) =
(410, 530, 650) se dobijaju razliˇciti modeli prostora boja koji se moˇze npr. pos-
matrati kao trodimenzionalni euklidski prostor, ali postoje i drugaˇciji prostori
boja. Ako je potrebno oceniti boju i njen intenzitet onda su korisniji NZV
(Nijansa/Zasi´cenje/Vrednost = Hue/Saturation/Value, HSV, ili Brightness
umesto Value) ili NZI (Nijansa/Zasi´cenje/Intenzitet = Hue/Saturation/Intensity,
49.
48 Semestralni rad
iliLightness, Luminance ili Luminosity umesto Intensity, HSL) prostori. U
sluˇcaju NZV koji se najˇceˇs´ce koristi:
V = R + G + B, Z = 1 −
3 min (R, G, B)
V
N =
R − V
Z
√
2
i obratno, koordinate RGB prostora za date NZI koordinate su:
R = V + Z
√
2 cos (N)
G = V + Z
√
2 cos (N +
4π
3
)
B = V + Z
√
2 cos (N +
2π
3
)
gde je V vrednost osvetljenosti (0% za crnu boju, 100% za belu boju), Z
je zasi´cenost (sive nijanase kog kojih je R = G = B imaju zasi´cenost 0%,
dok ˇciste boje kao ˇsto su to crvena, plava, zelena i med¯unijanse su 100%
zasi´cene), i N je nijansa (hue), odnosno osnovna boja. NZI je sliˇcan, s tim
da se umesto vrednosti osvetljenosti koristi intenzitet koji u sluˇcaju bele
boje zajedno sa zasi´cenjem jedino dostiˇze maksimum, dok kod ostalih nijansi
50.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 49
zasi´cenje ˇseta od minimuma do neke manje vrednosti koja odgovara nijansi
(ˇsto je intuitivnije). Oba sistema predstavljaju nelinearnu transformaciju
RGB kocke, i mogu se predstaviti razliˇcitim prostornim modelima, najˇceˇs´ce
konusom (dvostrukim u sluˇcaju NZI):
Boje NTSC sistema su npr. linearna transformacija RGB koordinata (moˇze
se zadati matricom).
4.4 Teselacija slike i metrika
Sliˇcno problemu teselacije ravni, teselacija slike odred¯uje poloˇzaj i oblik
piksela koji je po pravilu pravougaon. Med¯utim, pravougaoni piksel ima
jednu loˇsu osobinu koja se opisuje paradoksom povezanosti - u slici ispod:
51.
50 Semestralni rad
suprikazana pod (a) i (b) dva naˇcina da se definiˇse povezana okolina pik-
sela (pikseli za koje se smatra da su povezani sa datim pikselom, sa 4 i
sa 8 piksela), a pod (c) se vidi figura koja u zavisnosti od izbora jednog
od ta dva naˇcina ili nije povezana a nema dodira sa spoljnim pikselima ili
obratno. Trougaona i heksagonalna teselacija nemaju takve probleme (sa 3,
odnsno 6 piksela), ali je kod njih teˇze izraˇcunati udaljenost izmed¯u dva pik-
sela - metriku. Kod 8-povezane okoline nije odgovaraju´ca euklidska metrika
ve´c d((x1, y1), (x2, y2)) = max |x1 − y1|, |x2 − y2|, dok 4-povezane jeste ako se
koristi ||y|| ≤ 1 kao uslov kojim se zadaje skup piksela y sa svojom okoli-
nom. Kod nekih ured¯aja treba i ovakav raspored uzeti u obzir pored efekta
aliasinga, kvantizacije i drugih njegovih fiziˇckih karakteristika (nivo odnosa
smetnji i signala).
4.5 Algebra slika
Algebra slika kao matematiˇcki aparat koji se koristi u algoritmima za
obradu slika je posebno bogata zbog njihovih geometrijskih osobina (bilo u
ravni ili prostoru) pa je pored digitalne obrade signala vaˇzan ˇcinioc domena
problema raˇcunarske vizije. Pored uobiˇcajenog matematiˇckog geometrijskog
(euklidskog ili projektivnog) i analitiˇckog aparata (linearna algebra odnosno
analitiˇcka geometrija, ali i analiza i diferencijalna geometrija - pretpostavlja
se dobro poznavanje ovih oblasti), postoje i mnoge druge vaˇzne tehnike i
oblasti: ´celijski automati, formalne gramatike i drugo. Slika se posmatra kao
52.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 51
matrica diskretnih vrednosti (ili kontinualnih, zavisno od modela) odnosno
funkcija koja vra´ca neku vrednost za date dvodimenzionalne koordinate pik-
sela, ali moˇze biti u pitanju i viˇsedimenzionalna kocka ako se uzme u obzir
dubina ili vremenska komponenta. Naˇcelna podela operatora bi mogla biti:
aritmetika :
• taˇckasto sabiranje, oduzimanje, mnoˇzenje, deljenje, linearna kom-
binacija slika i slika ili slika i konstanti - osnovne operacije, gde
je deljenje posebno interesantno kao osnovni, grub naˇcin otkri-
vanje razlika izmed¯u dve slike, a mnoˇzenje se koristi u razliˇcitim
prozorskih tehnikama ili u frekventnom domenu kod filtera
• taˇckaste logiˇcke operacije (bitwise): ˇcesto mogu biti shva´cene kao
grublji ali daleko brˇzi vid prethodnih operacija: pomeranje bitova
kao skaliranje (mnoˇzenje ili deljenje konstantom), ekskluzivno ili
(XOR) npr. kao naˇcin upored¯ivanja slika
odsecanje s pragom (thresholding) : to su operacije koje se takod¯e obˇcno
definiˇsu nad taˇckom slike, gde se intenzitet (s bojama) obrad¯uje funkci-
jama sliˇcnim funkcijama praga okidanja kod NM, npr. propuˇstanje
samo odred¯enih boja u histogramu zadatih pragovima okidanja i sl.
geometrijske operacije : u opˇstem sluˇcaju to su operacije nad slikom (ili
njenim delom) koje se izraˇzavaju nekim analitiˇckim aparatom, najˇceˇs´ce
linearnim operatorom Ax+b gde se matricom A moˇze predstaviti neka
projektivna ili afina transformacija, rotacija, skaliranja (homotetija) ili
translacija za vektor b (svaka od njih ˇcuva neke od sintetskih geometri-
jskih osobina objekta - incidenciju objekata, paralelnost prave, uglove,
rastojanja).
digitalna obrada slike : konvolucija, DFT, IDFT i drugo:
• morfoloˇske transformacije slike - razliˇcitim jezgrima (strukturnim
elementima, obiˇcno prikazanim matricama sa relativnim koordi-
natama elemenata gde se podrazumeva da za vrednosti van te
matrice jezgro kao funkcija ima vrednost nula) viˇsedimenzionalne
konvolucije se mogu dobiti transformacije slike kojima se npr.
uve´cavaju / razmekˇsavaju granice, stanjivanje/erozija, podebl-
javanje, otvaranje, skeletonizacija i sliˇcno, ili u kombinaciji sa
53.
52 Semestralni rad
taˇckastimoperacijama se dobijajau sloˇzenije transformacije (granica
objekta)
• prostorne osobine i digitalni filteri - takod¯e primenom konvolucije,
i FFT / IFFT i drugih transformacija i metoda. Funkcija slike
se moˇze shvatiti kao matrica stanja ´celijskog automata (u [cvalg]
je dat ˇcak primer algoritma gde se tako jednostavnim algorit-
mom moˇze reˇsavati problem lavirinta). Ako se posmatra Furijeova
transformacija u dvodimenzionalnom sluˇcaju u polarnom koordi-
natnom sistemu, onda radijus odgovara frekvenciji a ugao pravcu,
kao ˇsto se moˇze videti u ilustraciji ispod (npr. slika (a) je original,
slika (b) je dobijena filterom koji istiˇce visokofrekventne osobine
slike i rotacijom, slika (c) filterom koji istiˇce niskofrekventne os-
obine, a slike (d)-(f) su redom dvodimenzionalne Furijeove trans-
formacije tih slika):
• otkrivaˇci osobina (feature detectors) - konvolucijom i kombinaci-
jom sa drugim (obiˇcno algebarskim) operacijama nad slikom, kao
i posebnim algoritmima, mogu se dobiti transformacije slike ko-
jima se otkrivaju specifiˇcne osobine delova slike: otkrivanje ivica
objekata, otkrivanje linija ili posebno zadatih figura, orijentacije
povrˇsi, itd.
• analiza slike - histogrami, statistiˇcke osobine slike, klasifikacija
54.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 53
objekata na slici, labeliranje povezanih povrˇsina, itd.
Jedan naˇcin da se mnoge od ovih operacija nad slikom objedine je (izvod)
transformacija skalarnim prostorom L(x, y, t): ako je g(x, y, t) = 1
2πt
e−x2+y2
2t
Gausovo jezgro (parametar t = σ2
daje familiju ovako definisanih linearnih
transformacija, moˇze se prikazati kao proizvod dva 1-dimenzionalna), onda
je L(x, y, t) = g(x, y, t) ∗ f(x, y) u dvodimenzionalnom sluˇcaju (ˇsto moˇze biti
reˇsenje jednaˇcine toplote ∂tL = 1
2
2
L, L(x, y, 0) = f(x, y)), a pomenute
razliˇcite reprezentacije su Lxnym (x, y, t) = ∂xnym (g(x, y, t) ∗ f(x, y)). Odgo-
varaju´cim uslovima se mogu dobiti razliˇcita jezgra i transformacije.
Matrica rotacije se upotrebljava, primera radi, za procenu odnosa i poloˇzaja
kamere i objekta - koristi se Rodrigezova formula Rr
= I + sin θX(r)
||r||
+ (1 −
cos θ)X2(r)
||r||2 , gde je vektor r = ||r|| r
||r||
= θn osa rotacije, njegov intenzitet je
ugao θ za koji vrˇsi rotacija, i:
X(r) =
0 −rz ry
rz 0 −rx
−ry rx 0
Sve ove operacije su obiˇcno podrˇzane poznatim aparatom analitiˇcke geometrije
i vektorske algebre, ali drugaˇcijim izborom matematiˇckog aparata se moˇze
dobiti model i zapis operatora i metoda algebre slika koji su pogodniji za
neke oblasti primena od drugih u smislu jednostavnosti zapisa ili kasni-
jeg raˇcunanja - na primer, vektorski raˇcun algebrom kvaterniona. Jedan
od takvih izbora je i geometrijska algebra sa Klifordovim proizvodom gde
ravnopravno uˇcestvuju vektori i skalari (sliˇcno kompleksnim brojevima kao
uopˇstenju realnih brojeva). Definiˇse se spoljni proizvod a ∧ b (bivektor) koji
ne predstavlja ni skalar ni vektor, iako mu je modul |a||b| sin θ kao i kod
obiˇcnog vektorskog proizvoda, ve´c se vezuje za pojam orijentisane povrˇsi
a ∧ b = −b ∧ a (modul je povrˇsina paralelopipeda zadatog tim vektorima).
Trivektor je onda a ∧ b ∧ c = (a ∧ b) ∧ c = a ∧ (b ∧ c) vezan za orijentisanu
zapreminu, i uopˇste, za skup od n linearno nezavisnih vektora, a1 ∧...∧an ˇcini
homogeni multivektor stepena n (skalari su stepena nula, vektori stepena 1).
Tada se definiˇse geometrijski proizvod (i zbir) vektora kao ab = a · b + a ∧ b
(gde je a·b skalarni, unutraˇsnji, proizvod), koji ima osobine (a, b, c su vektori,
λ skalar):
• a(bc) = (ab)c
55.
54 Semestralni rad
•a(b + c) = ab + ac, (b + c)a = ba + ca
• aλ = λa
• a2
= ±|a|2
• a · b = 1
2
(ab + ba)
• a ∧ b = 1
2
(ab − ba)
Multi vektor onda predstavlja zbir proizvoljnih homogenih mulitvektora. Po-
drazumeva se da je geometrijski proizvod niˇzeg prioriteta u zapisu: ab ∧ c =
a(b∧c), a koristi se i konvencija zapisa multivektora reda r kao Ar, proizvoda
dva takva kao ArBs = ArBs r+s+ ArBs r+s−1+....+ ArBs |r−s| (gde je M t
deo multivektora M reda t, A ∗ B = AB 0) - tada vaˇzi osobina cikliˇcnosti
A...BC = CA...B , i (AB) = AB gde je A reverzija multivektora A do-
bijena obrnutim redosledom vektora koji ga ˇcine. Za ortonormiranu bazu
σiσj = δij euklidskog prostora dimenzije n vaˇzi onda da se svaki multivektor
moˇze prikazati kao linerna kombinacija svih permutacija homogenih multi-
vektora redova od 0 do n: 1, σi, σi ∧σj, ..., στ(1) ∧...∧στ(n). Za trodimenzion-
alni prostor se moˇze uvesti veza a×b ≡ ia∧b, i tada je σ1σ2σ3 = i, σ1σ2 = iσ3,
σ2σ3 = iσ1, σ3σ1 = iσ2. Refleksija vektora a u odnosu na ravan normalnu na
vektor n je −nan (pokazuje se da je tako ako se razloˇzi na paralelnu i nor-
malnu komponentu u odnosu na n), a rotacija (rotor) R je onda kompozicija
dve refleksije definisana bivektorom R = mn td. sadrˇzi samo multivek-
tore parnog reda i vaˇzi R(R) = 1: −m(−nan)m = (mn)a(nm) = Ra(R),
moˇze se pokazati i R = emn/2
, tj. R = 1+ba√
2(1+ba)
rotira jediniˇcni vek-
tor a u b = RaR. Diferenciranje funkcije F multivektora (F je linearna
ako je F(a ∧ B) = F(a) ∧ F(b)) u pravcu A multivektora se definiˇse kao
A ∗ ∂XF(X) = limτ→0
F(X+τA)−F(X)
τ
(ako X nema ˇclanove reda r onda je
Ar ∗ ∂X = 0) i pokazuje se da je ∂X XB = PX(B) projekcija B na multi-
vektore redova prisutnih u X (detalji i primeri primene u viziji u [NGM]).
Mnogi paketi koji se bave vizijom i obradom slike sadrˇze bogate biblioteke
standardnih operacija i drugih korisnih alata za ovu oblast, npr. kao ˇsto je
to HIPR2 ili IACC (iac++, u [cvalg] se nalazi detaljan pregled algoritama i
dokumentacija o toj biblioteci) za C++, kao osnovu za razvoj takvih sistema.
56.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 55
4.6 Poˇcetna obrada
Ulazna (uopˇstena, ikoniˇcna) slika obiˇcno najpre biva transformisana u
neki pogodniji oblik zavisno od primene i daljeg toka obrade. Osnovne
tehnike poˇcetne obrade su:
Filteri - obiˇcno se koriste da bi se poboljˇsao kvalitet slike u smislu njene
dalje namene, npr. da bi se pojaˇcale razlike u nijansama ili da bi se
izbacili male promene (smetnje). Med¯u njima su i:
• upored¯ivanje ˇsablona (template / pattern matching): najosnovniji
metodi za ovo su korelacija funkcije slike i ˇsablona
Rf (y) =
x
f(x)t(x − y)
i normalizovana korelacija
N(y) =
E(ft) − E(f)E(t)
σ(f)σ(t)
, σ(f) = E(f2) − (E(f))2
(koja je manje osetljiva od prethodne na lokalne osobine slike i
ˇsablona, ali je osetljivija na odnos nivoa smetnji i slike). Ko-
relacija je skupa operacija i ˇsablone treba zato dobro pripremiti
(da ne budu preveliki, recimo). Jedan naˇcin je da se primeni neki
operator interesa kao ˇsto je Moravec (1977) predloˇzio (postoje i
alternativne definicije). Ako je mera varijanse piksela var(x, y) =
k,l∈S (f(x, y) − f(x + k, y + l))2), S = {(0, a), (0, −a), (a, 0), (−a, 0)},
gde je a > 0 zadati parametar, onda je Moravecov operator in-
teresa incijalno IntOp(x) = miny<1 var(x + y) (minimum piksela
i suseda), a onda se proverava za svaki piksel da li je lokalni mak-
simum i jedino se takvi zadrˇzavaju (inaˇce je IntOp(x) = 0 za
IntOp(x) ≥ IntOp(x + y) i y ≤ 1). Konaˇcno se primenjuje prag:
x je kandidat za upored¯ivanje ako je IntOp(x) > T. Rezultat je
daleko manji broj taˇcaka koje mogu biti interesantne:
57.
56 Semestralni rad
•Transformacije histograma Histogram je u najkra´cem funckija raspodele
vrednosti intenziteta sivih nijansi (ili pojedinih komponenta boje
piksela) u datoj slici, h(p) tako za datu nijansu p predstavlja njenu
frekvenciju, odnosno broj piksela u slici sa tom nijansom:
Jedna od praktiˇcno korisnih transformacija je ekvalizacija his-
tograma, gde se definiˇse preslikavanje nijansi p u nijanse q tako da
je raspodela q uniformna (posledica je da se obiˇcno pove´ca kon-
trast za ve´cinu nijansi), g(q)dq = h(p)dp, gde je g(q) histogram
transformisane slike, tako da je:
g(q) =
N2
M
gde je N2
broj piksela u slici a M broj mogu´cih nijansi.
58.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 57
g(q) =
N2
M
q
0
h(p)dp
• Uklanjanje pozadine (background subtraction) - sporo variraju´ce
nijasne pozadine slike terba otkloniti fn(x) = f(x) − fb(x) gde je
fb restrikcija slike koja predstavlja nekakvu aproksimaciju poza-
dine za datu sliku, npr. linearna fb(x) = mx + c ili bolje filtrirana
niskopropusnim filterom fb(x) = F−1
[H(u)F(u)], upotrebom spla-
jnova, itd.
• modeli refleksivnosti - poˇsto je f(x ) = E(x)r(x) slika data osvetl-
jenjem E i refleksivnoˇs´cu r, neki put je korisno koristiti logaritam
slike log f = log E + log r gde je cilj onda ˇsto viˇse ukloniti uticaj
E.
59.
58 Semestralni rad
Operatoriivice - rezultat je obiˇcno veliˇcina i orijentacija (lokalnih) diskon-
tinuiteta u slici (diskontinuiteti u diskretnom smislu predstavljaju po-
tencijalne ivice objekata)
Transformacije dubine - razliˇcitim pretpostavkama i metodama se pro-
cenjuje rastojanje objekata od kamere.
Orijentacija povrˇsine - ako su poznate osobine izvora svetlosti i reflek-
sivnosti R povrˇsina mogu´ce je na osnovu prelaza nijansi (senˇcenja)
oceniti orijentaciju povrˇsina. U najkra´cem, za datu sliku se raˇcuna
dvodimenzioni prostor (vektora) gradijenata (p, q) = (∂(−z)/∂x, ∂−z/∂y),
i s obzirom da je svaka povrˇs u prostoru data sa Ax+By +Cy +D = 0
onda je dovoljno nekako reˇsiti −z = px + qy + K (moˇze se inicijalno
napraviti ,,kalibracija” loptom za date izvore svetlosti (mapiranje), a
nekom metodom relaksacije dobija se iterativni algoritam, npr. Ikeuchi,
1980). Svaki objekat se moˇze aproksimirati ,,ˇziˇcanim” modelom (neki
vid geometrijske kvantizacije) ˇciji su delovi povrˇsine sa orijentacijom.
ˇZiˇcani modeli su jedan od osnovnih modela geometrijskih ˇsablona (pored
analatiˇckih i tabelarnih) gde se objekat zadaje taˇckama i ivicama, a
popunjen je (mesh) ako su dati podaci i o pljosnima.
Optiˇcki tok - tiˇce se operacija vezanih za pra´cenje promena u vremenskom
nizu slika, npr. putanje bitnih taˇcaka slike ili oblasti (tracking), a
mogu´ce je na osnovu tih putanja dobiti i podatke o geometrijskim os-
obinama objekata, na primer:
• upotrebom projekcija kao afinih i drugih transformacija (ocenjuju
se lokalne osobine a proveravaju na celoj oblasti)
60.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 59
• metodom faktorizacije koju su najpre dali Tomasi i Kanade - za
zadate taˇcke od interesa na slici i snimaka tj. kamera, algorit-
mom koji koristi dekompoziciju matrice u kanonsku formu (Gaus-
ˇZordan, za matricu D ˇcije su vrste koordinate m snimaka iste
taˇcke vaˇzi D = UWVT
, U3 i V3 3 prve kolone i W3 odgovaraju´ca
podmatrica, onda je 2m × 3 matrica M = U3 pokreta kamere,
a P = U3VT
3 procena strukture scene (vrste su prostorne koor-
dinate): D = MP) se procenjuju prostorne (i homogene ako se
koristi projektivni model) koordinate taˇcaka, zatim dalje i var-
ijanta Costeira-Kanadeovog algoritma, i druge primene kojima
se uoˇcavaju geometrijske osobine na osnovu pokreta - detalji u
[cvmodern]
• razliˇcitim dinamiˇckim modelima i Kalmanovim filterima kojima
se predvid¯a oˇcekivano mesto i varijansa poloˇzaja taˇcke
• analitiˇcke metode relaksacije (Horn, Schunck, 1980, sliˇcno obliku
na osnovu senˇcenja)
Piramida (rezolucije) - ista slika u viˇse razliˇcitih rezolucija (obiˇcno istog
umnoˇska) se koristi kasnije kod razliˇcitih algoritama poˇcetne obrade i
segmentacije slike. Kao i kod govornog signala (ova metoda se i kod
govora moˇze takod¯e upotrebiti), treba voditi raˇcuna o efektu aliasinga
prilikom promene rezolucije slike. Osnovna primena je u metodi upored¯ivanja
sa ˇsablonom gde se dobija algoritam ˇcija se efikasnost moˇze uporediti
efikasnoˇs´cu binarne pretrage u odnosu na linearnu, pri ˇcemu je mogu´ce
61.
60 Semestralni rad
ovakvomstrukturom saˇcuvati kontekst objekta (deo slike sam za sebe
manje govori bez okoline ako postoji). Druga vaˇzna primena je kod
problema otkrivanja ivica - upotrebom dve piramide, jedne za sliku
i druge za ivice, ˇcime se opet dobija efikasniji algoritam (samo treba
voditi raˇcuna od kog nivoa se polazi da se ne bi izgubili podaci o finijim
objektima).
Kod Gausove piramide npr. svaki element (,,piksel”) viˇseg nivoa pred-
stavlja konvoluciju odgovaraju´ceg segmenta niˇzeg nivoa (korisno npr.
za filtriranje smetnji ili smanjenje kontrasta).
62.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 61
4.6.1 Operatori ivice i otkrivanje ivica
Prvi takav operator je gradijent, gde je intenzitet s(x) = ∆1
2
+ ∆2
2
a pravac φ(x) = arctan ∆2
∆1
. Operatori razlike ∆1 = f(x + n, y) − f(x, y),
∆2 = f(x, y + n) − f(x, y) (Robert, 1965) se mogu raˇcunati na razliˇcite
naˇcine, alternativni su (redom su dati Robert, Prewit, Sobel):
Jedan od operatora ivice moˇze biti i Laplasijan (jedna od diskretnih verzija
je L(x, y) = f(x, y) − 1
4
[f(x, y + 1) + f(x, y − 1) + f(x + 1, y) + f(x − 1, y)]),
ˇcije su mane te da ne daje informaciju o pravcu, i budu´ci da je aproksimacija
izvoda drugog reda dodatno uve´cava smetnje na slici. Jedna od metoda je i
upotreba ˇsablona ivica i Kirˇsovog operatora (Kirsch, 1971):
S(x) = max [1, max
k
k+1
k−1
f(xk)]
gde je f(xk) 8 susednih piksela pikselu x (indeksi se raˇcunaju po modulu 8),
a praktiˇcno se umesto prethodne formule koristi upored¯ivanje sa ˇsablonima:
63.
62 Semestralni rad
Pokazalose da i odgovaraju´ci bioloˇski sistemi koriste sliˇcne sklopove niˇzeg
nivoa, kao i druge detektore osobina. Male vrednosti intenziteta su obiˇcno
smetnje i jedan od naˇcina da se eliminiˇsu je nekom funkcijom praga, ali
dobra alternativa je i upotreba ortogonalnih baza {hk} (Frei, Chen, 1977,
sliˇcno kao kod Furijeove transformacije), gde je slika u blizini taˇcke x0 onda
f(x) = 8
1 (f, hk)hk(x − x0)/(hk, hk), (f, hk) = D f(x0)hk(x − x0), D je
domen baznih funkcija vrednosti razliˇcitih od nule. Tada je projekcija u
prostor ivica data sa cos θ = E
S
, E = 2
k=1 (f, hk)2
, S = 8
k=0 (f, hk)2
gde
ako je θ < T za neku zadatu vrednost, onda je u pitanju ivica. Ovi i drugi
sliˇcni operatori i odgovaraju´ce metode se mogu lako uopˇstiti i za ve´ci broj
dimenzija, npr. u prostoru. Ispod je primer Frei-Chen ortogonalne baze:
64.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 63
4.6.2 Relaksacija ivice
Jedan od naˇcina da se poboljˇsaju performanse ovih operatora (pojaˇcavaju
se otkrivene ivice) je da se upored¯uju vrednosti susednih piksela (ako je
slabije-horizontalna ivica okruˇzena jako horizontalnim, prirodno je nekako
pove´cati uverenje, ,,confidence” dobijene osobine datog piksela). Skica al-
goritma (Zucker, 1977 - Prager, 1980) bi bila:
0. Inicijalni confidence C(0,e) svake ivice kao intenzitet
normalizovanog gradijenta po maksimumu intenziteta gradijenta slike.
1. k := 1
2. Nadji tip svake ivice na osnovu ivica suseda
/* npr. tip moˇze biti par (conf(i ), conf(j )) gde je i = argmax(conf(i))
tako da je:
conf(0) = (m − a)(m − b)(m − c)
conf(1) = a(m − b)(m − c)
conf(2) = ab(m − c)
conf(3) = abc
(praktiˇcno i ukazuje na broj ivica oko temena), uz uslov a ≥ b ≥ c (bez
gubitka opˇstosti), m = max (a, b, c, q) i q = 0.1 (recimo), dok su a, b, c uvere-
nja za ivice temena i (isto tako se raˇcuna za drugo teme j) */
3. C(k,e) se menja na osnovu C(k-1,e)
4. Proveri da li su svi C(k,e) konvergirali ka 0 ili 1,
ako nisu nazad na 2. korak
4.6.3 Otkrivanje ivica
Pored ranije navedenih osnovnih operatora otkrivanja ivica postoje i mnoge
njihove varijacije (npr. LG operator, Laplasijan Gausijana, Gausijan = kon-
volucija sa Gausovim jezgrom) i druge vrste takvih filtera. Otkrivanje ivica
(edge detection) idealno bi trebalo da ima osobine po Keniju (John Canny,
1986):
• mali broj greˇsaka - otkriva samo prave ivice i sve ih otkriva
• dobra lokalizacija - rastojanje izmed¯u piksela pronad¯ene ivice i stvarne
treba da bude ˇsto manje
65.
64 Semestralni rad
•dobar odgovor - ne treba da detektuje viˇse ivica ako postoji samo jedna
Kenijev algoritam polazi od ovih pretpostavki i od toga da je ivica podloˇzna
belom Gausovom ˇsumu. Skica algoritma:
1. Ulazna slika I
2. Kreira se 1-dimenzionalna Gausova maska G za
konvoluciju sa I uz standardnu devijaciju s kao parametar
3. Kreira se 1-dimenzionalna maska prvog izvoda Gausovog jezgra
po x i po y: Gx and Gy sa istim s parametrom
4. Konvoluira se I sa G po redovima i kolonama:
Ix, Iy.
5. Ix := Ix * Gx Iy := Iy * Gy
6. Rezultat je: M(x,y):=sqrt(Ix(x,y)^2+Iy(x,y)^2)
Shen-Castan ISEF (infinite symmetric exponential filter) koristi sliˇcnu formu
filtera (jezgro kojim se raˇcuna rezultat), ali koristi drugaˇcije polazne kriter-
ijume (minimizuje se C2
N =
4
R ∞
0 f2(x)dx
R ∞
0 f 2
(x)dx
f4(0)
) koji daju drugaˇcije jezgro
tj. pomenuti filter f(x, y) = ae−p(|x|+|y|)
ili u diskretnom obliku f[i, j] =
(1−b)e|x|+|y|
1+b
. Osnovna skica - konvolucija se raˇcuna rekurzivno u pravcu x
(rezultat je u r[i, j]):
y1[i, j] =
1 − b
1 + b
I[i, j] + by1[i, j1], j = 1, ..., N, i = 1, ..., M
y2[i, j] = b
1 − b
1 + b
I[i, j] + by1[i, j + 1], j = N, ..., 1, i = 1, ..., M
r[i, j] = y1[i, j] + y2[i, j + 1]
uz graniˇcne uslove: I[i, 0] = 0, y1[i, 0] = 0, y2[i, M +1] = 0. Zatim se raˇcuna
sliˇcno u pravcu y:
y1[i, j] =
1 − b
1 + b
r[i, j] + by1[i1, j], i = 1, ..., M, j = 1, ..., N
y2[i, j] = b
1 − b
1 + b
r[i, j] + by1[i + 1, j], i = N, ...1, j = 1, ..., N
y[i, j] = y1[i, j] + y2[i + 1, j]
gde je rezultat sada u y i graniˇcni uslovi su:
r[0, j] = 0 , y1[0, j] = 0, y2[N + 1, j] = 0.
66.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 65
4.6.4 Medijalna osa i skeletonizacija
Taˇcke medijalne ose su centri maksimalno kruˇznih ivica slike. Algoritam
za traˇzenje takvih taˇcaka:
1. fk
(x, y) = f0
(x, y) + mind((x,y),(p,q))≤1 [fk−1
(p, q)]
2. ponavljaj zadati broj iteracija
3. taˇcke medijalne ose su takde da je fk
(x, y) ≥ fk
(p, q) za d((x, y), (p, q)) ≤
1
Ovim je ujedno i definisana operacija skeletonizacija. Definiˇse se odgo-
varaju´ca inverzna transformacija g kojom se moˇze vratiti polazni oblik (od
kostura nekog oblika):
gk
(x, y) =
max [0, max gk−1
(p, q) − 1], ako je gk−1
= 0;
gk−1
, inaˇce.
Ispod se nalazi primer raˇcunanja inverzne transformacije popunjenog pravougaonika
i primeri parova oblik - kostur (kostur je iscrtan debljom linijom):
67.
66 Semestralni rad
4.7Segmentirana slika
Ideja o segmentiranju slike potiˇce od Gestalt teorije u psihologiji gde
je prouˇcena pojava grupisanja skupova oblika sliˇcnih osobina kod ljudskog
opaˇzanja (grupisanje po sliˇcnosti, po bliskom rastojanju, po neprekidnosti).
Dva su osnovna aspekta kod segmentiranja slike: struktura podataka potrebna
da bi se pratilie homogene grupe osobina, i drugo - transformacije neophodne
da bi se raˇcunale osobine.
Dve osnovne vrste segmenata su granice (boundaries) i oblasti (regions).
Ovo se moˇze prikazati strukturama grafova koji su dualni - ako su ˇcvorovi
mesta na kojima se sustiˇce viˇse oblasti a lukovi odgovaraju granicama, du-
alna struktura je ako se svakoj oblasti dodeli jedna taˇcka (reprezent) a
lukovi onda predstavljaju odnos susednosti. Polazni metod segmentiranja
je traˇzenje granica (uz prethodnu poˇcetnu obradu) aproksimacijom poloˇzaja
gde se poˇcetna procena iterativno poboljˇsava i dobija se finija procena. Na
primer metoda a priori podeˇsavanja (Bolles, 1977) u jednakim razmacima
prati procenu i u presecima pravih normalnih na nju nalaze se ispravke:
Ako nema mnogo smetnji i nije veliko zakrivljenje granice mogu´ce je primeniti
metodu ,,podeli-pa-vladaj” gde se traˇzi poboljˇsanje u medijani pojedinih
razmaka na proceni:
68.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 67
4.7.1 Hafova transformacija
Klasiˇcna tehnika Haf detekcije (Hough, 1962) je korisna ako se malo zna
o poloˇzaju krive koja ˇcini granicu, ali se pretpostavlja da se moˇze opisati
parametarskom jednaˇcinom. U sluˇcaju prave y = mx + c, formira se (kvan-
tizuje) prostor vrednosti parametara m i c, akumulatorska matrica A(c, m)
se inicijalizuje nulama, i onda se zvaku taˇcku gradijenta slike ˇciji inten-
zitet prelazi neki prag uradi inkrementacija A(c,m):=A(c,m)+1 za m i c
td. c = −mx + y (duˇz te linije). Na kraju, lokalni maksimumi u matrici
ukazuju na kolinearne taˇcke slike. To se moˇze uopˇstiti dalje za krive oblika
f(x, a) = 0 (krug, na primer). Za elipse inkrementacija se vrˇsi za elemente
A(a, b, x0, y0) tako da je (φ je zadati pravac glavne ose):
x = x0 ±
a
1 + b2
a2 tan2 φ
y = y0 ±
b
1 + a2 tan2 φ
b2
Uopˇstena Hafova transformacija polazi od ˇsablona zadatog siluetom, koja
se zadaje R-tabelom (Ballard, 1981) koja predstavlja niz taˇcaka granice u
odnosu na neku referentnu taˇcku (xc, yc) (centar) oblika:
69.
68 Semestralni rad
φ1r1
1, r1
2, ..., r1
n1
φ2 r2
1, r2
2, ..., r2
n2
...
φm rm
1 , rm
2 , ..., rm
nm
gde su uglovi φi dati pravci referentne taˇcke u odnosu na taˇcke granice sa
datim radijusima ri
j = (ri
j, α). Ispod je primer primene traˇzenja kruˇznih
figura u slici:
Uopˇsteni Hafov algoritam je onda:
1. Inicijalizacija A( xcmin:xcmax,ycmin:ycmax, Smin:Smax, θmin:θmax) nulama
2. Za svaku taˇcku procene:
70.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 69
2.1 φ(x) se raˇcuna
2.2 mogu´ci centri se raˇcunaju za ∀φ ∀S ∀θ:
xc = x + r(φ)S cos[α(φ) + θ],
yc = x + r(φ)S sin[α(φ) + θ]
2.3 Inkrementacija akumulatorske matrice A(xc, yc, S, θ)
3. Mogu´ce lokacije siluete su u lokalnim maksimumima akumulatorske ma-
trice
Algoritam je, naravno, efikasniji i jednostavniji ako se ne uzimaju u obzir
rotacija za ugao θ i skaliranje za faktor S.
4.7.2 Pretraˇzivanje grafova
Klasiˇcni algoritmi heuristiˇckog pretraˇzivanja grafova obeleˇzenih teˇzinama
kao ˇsto je A-algoritam i varijante se ovde mogu upotrebiti kao ˇsto bi se i
oˇcekivalo (cilj je na´ci put optimalne (minimalne) cene od nekog poˇcetnog do
krajanjeg ˇcvora grafa).
71.
70 Semestralni rad
Bitanje u ovom sluˇcaju jedino izbor funkcije evaluacije (teˇzine su gradijenti),
pored izbora konkretne metode. To su obiˇcno:
• Jaˇcina ivice (intenzitet gradijenta) - onda je razlika M − s(x), M =
maxx s(x) dobra evaluacija
• Koeficijent zakrivljenosti - poˇzeljne su granice sa ˇsto manjom zakrivl-
jenoˇs´cu |φ(xi) − φ(xj)|
• blizina aproksimacije - d = d(xi, B) za procenu B
• procena rastojanja do cilja - ako je kriva relativno linearna onda ovo
ima smisla d(xi, xcilj)
4.7.3 Dinamiˇcko programiranje
Moˇze se primeniti joˇs jedna klasiˇcna metoda optimizacija i veˇstaˇcke in-
teligencije za problem pra´cenja granice - dinamiˇcko programiranje. Npr. ako
je cilj na´ci maxxi
x1, x2, x3, x4, i poznata je veza h(·) = h1(x1, x2)+h(x2, x3)+
h3(x3, x4) onda x1 zavisi samo od x2 u h1. Za svako x2 se nalazi najbolje
h1(x1, x2): f1(x2) = maxx1 h1(x1, x2). Tako se zatim eliminiˇse x2 traˇzenjem
f2(x3) = maxx2 [f1(x2) + h2(x2, x3)], f3(x4) = maxx3 [f2(x3) + h3(x3, x4)], i
konaˇcno: maxxi
h = maxx4 f3(x4).
72.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 71
Uopˇste, za N promenljivih gde je f0(x1) = 0:
fn−1(xn) = max
xn−1
[fn−2(xn−1) + hn−1(xn−1, xn)]
maxxi
h(x1, ..., xN ) = maxxN
fN−1(xN )
Za traˇzenja granice se moˇze definisati problem dobre granice tako da je
zbir intenziteta ivica ˇsto ve´ci i zakrivljenje ˇsto manje. Za n-segmentiranu
krivu:
h(x1, ..., xn) =
n
k=1
s(xk) + α
n−1
k=1
q(xk, xk+1)
uz uslove: ||xk − xk+1|| <
√
2, q(xk, xk+1) = |φ(xk) − φ(xk+1)|, α < 0 je dati
parametar. Optimizacija se onda odvija u fazama:
f0(x1) ≡ 0
f1(x2) = maxx1 [s(x1) + αq(x1, x2) + f0(x1)]
fk(xk+1) = maxxk
[s(xk) + αq(xk, xk+1) + fk−1(xk)]
gde se obiˇcno razmatraju samo s(x) > T za neko T. Uopˇstena varijanta,
pod uslovom da postoji funkcija t(xk) koja vra´ca kraj krive sa poˇcetkom u
xk, je fk(xk+1) = maxxk
[s(xk) + αq(xk, t(xk+1)) + fl−1(xk)], gde je niz duˇzine
krive n(l) (povezan sa α) takav da je n(1) = 1, n(l) − n(l − 1) ∈ {n(k) : k =
1, ..., l − 1}.
4.7.4 Pra´cenje konture
Najjednostavniji algoritam ako nije niˇsta poznato o obliku granice ali pos-
toje oblasti jeste pra´cenje konture ,,pronalaˇzenjem mehurova”(blob finding).
Slika ispod ilustruje ovu jednostavnu proceduru:
73.
72 Semestralni rad
Prvaverzija koju je predloˇzio Papert (algoritam kornjaˇce) za binarne slike:
1. Idi i skeniraj dok ne naid¯eˇs na piksel oblasti i obeleˇzi ga kao poˇcetni.
2. Ako je u pitanju piksel oblasti skreni levo pa napred, inaˇce skreni desno
i napred.
3. Ponavljaj prethodno sve do povratka na poˇcetni piksel.
Algoritam se moˇze uopˇstiti za rad sa viˇse nijansi i dimenzija (Herman, Liu,
1977).
4.8 Narastanje oblasti
Na izvestan naˇcin, problem dualan prethodnom problemu traˇzenja granica
je problem traˇzenja oblasti. Geometrijske osobine oblasti zavise od osobina
domena, a neke bitne geometrijske osobine oblasti su:
• Povrˇsina
• Obim
• Teˇziˇste
• Momenat n-tog reda po koordinati (npr. po x je Mn
x = x xn
I(x, y))
74.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 73
• Mera kompaktnosti (odnos povrˇsine i kvadrata obima, krug je najkom-
paktniji, mere 4π)
• Orijentacija - kao osa momenata drugog reda sa uglom θ, gde je
sin 2θ = ± b√
b2+(a−c)2
, cos 2θ = ± a−c√
b2+(a−c)2
, i
a = x2
I(x, y) − Px2
, b = 2 xyI(x, y) − Pxy,
c = y2
I(x, y) − Py2
, P je povrˇsina.
Obiˇcno se posmatraju dvodimenzionalne povezane (u topoloˇskom smislu)
povrˇsine. Tehnike koje razmatramo se mogu podeliti na:
• Lokalne - pikseli pripadaju oblasti na osnovu svojih osobina ili osobina
susednih
• Globalne - pikseli su grupisani u oblasti na osnovu osobina velikog broja
piksela slike
• Tehnike razdvajanja i spajanja - koriste se prostori stanja da bi se
oblasti razdvajale ili spajale upotrebom grafova kao struktura kojima
se predstavjaju oblasti i granice
4.8.1 Bojenje mehura (oznaˇcavanje)
Odgovaraju´ca metoda u odnosu na traˇzenje granice binarne slike je bo-
jenje mehura (blob coloring), ili oznaˇcavanje (labeliranje). Slika se skenira s
leva na desno i od gore na dole ˇsablonom L-oblika:
xU
xL xC
Ako je k = 1 poˇcetna oznaka (,,boja”), skica algoritma je:
• ako je f(xC) = 0 onda nastavi
• inaˇce,
– ako je f(xU ) = 1 i f(xL) = 0 onda
boja(xC) := boja(xU )
75.
74 Semestralni rad
–ako je f(xL) = 1 i f(xU ) = 0 onda
boja(xC) := boja(xL)
– ako je f(xL) = 1 i f(xU ) = 1 onda
∗ boja(xC) := boja(xL)
∗ boja(xL) je ekvivalentno boja(xU )
• (komentar) dve boje su ekvivalentne
• ako je f(xL) = 0 i f(xU ) = 0 onda
boja(xL) := k; k := k + 1;
• (komentar) nova boja
Ako se u algoritam uvede jednakost kao jednakost pribliˇzno jednakih nijansi
(za xC i xU , umesto 1) moˇze raditi i sa uopˇstenim ulaznim slikama sivih
nijansi (ili nijansi boja). U jednoj varijanti algoritam se svodi na sekvenci-
jalni algoritam povezanih komponenti gde se za svaki neoznaˇceni (,,1”) piksel
primenjuju slede´ce transformacije:
da bi dobio novu oznaku (labelu).
4.8.2 Algoritam povezanih komponenti
Ako se ranije opisani pojam povezane okoline (susedstva) piksela sa 4 ili
8 taˇcaka (koristi se i 6 taˇcaka gde se izbace dve dijagonalne suprotne taˇcke iz
okoline od 8 taˇcaka) iskoristi umesto L-ˇsablona, uopˇsteni rekurzivni algoritam
povezanih komponenti je:
1. Slika se skenira s leva na desno, od gore na dole (piksel po piksel)
2. Ako je u pitanju neoznaˇceni piksel, dodeli mu narednu oznaku
3. Rekurzivno proveri susede prethodnog piksela i dodeli neoznaˇcenim
pikselima istu tu oznaku
4. Ako ima joˇs neoznaˇcenih piksela, ponovi postupak
76.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 75
4.8.3 Narastanje oblasti odsecanjem
Osnovni primer globalne tehnike je odsecanje zadatim pragom (thresh-
olding), i praktiˇcno predstavlja transformaciju histograma. Na primer, x je
deo oblasti (objekta) akko f(x) > T, inaˇce je deo pozadine. Skica algoritma
sa rekurzivnim razdvajanjem:
1. Cela slika se posmatra kao oblast i raˇcuna se njen histogram za svaku
od komponenti boja
2. Traˇzi se znaˇcajni maksimum (peak, ,,breg”) za svaki histogram - izabere
se komponenta sa najve´cim maksimumom, i izdvajaju se dva praga za,
sa svake strane maksimuma kojima se dalje deli slika u podoblasti
3. Svaka oblast ima granicu ,,sa smetnjama”, primenom nekog filtera se
izdvaja samo jedna povezana oblast
4. ponavljaju se prethodni koraci dok sve dok mogu da se izdvoje novi
znaˇcajni maksimumi
Hijerarhijsko narastanje (hierarchical refinement) koristi poznatu strukturu
piramide.
4.8.4 Razdvajanje i spajanje
Segmentacija obiˇcno zahteva da oblasti budu povezane (kako je ve´c pomenuto
u topoloˇskom smislu) ako se posmatraju kao skupovi piksela, da budu dis-
jukntne i pokrivaju celu sliku tj. da su particije slike. Onda se obiˇcno definiˇse
Bulova funkcija, kriterijum homogenosti H(R) koja ima vrednost ako je
R homogena tj. sa navedenim osobinama, inaˇce je ⊥ (H(Ri ∪ Rj) = ⊥), na
primer:
H(R) =
, svi susedni parovi piksela u R su td. f(x) − f(y) < T;
⊥, inaˇce.
H(R) =
, svi pikseli u R prolaze test praga;
⊥, inaˇce.
Jedan naˇcin da se zadovolji kriterijum homogenosti je primena algoritma
razdvajanja i spajanja (Horowitz, Pavlidis, 1974):
77.
76 Semestralni rad
1.Izabere se grid struktura (kojom se teselira slika), i ako postoji oblast
za koju je H(R) = ⊥ onda se ona podeli u 4 podoblasti prema grid
strukturi. Ako za bilo koje 4 proizvoljne oblasti Rk1 , Rk2 , Rk3 , Rk4 vaˇzi
H(Rk1 ∪Rk2 ∪Rk3 ∪Rk4 ) = , spoji ih u jednu. Kada viˇse nema oblasti
koje se mogu spojiti ili razdvojiti, stani.
2. Ako postoje susedne oblasti takve da je H(Ri ∪ Rj) = , spoji ih.
Klasiˇcan je pristup veˇstaˇcke inteligencije sa prostorom stanja gde se cela slika
posmatra kao diskretno stanje (Nilsson, 1971-1980), i gde je na poˇcetku svaki
piksel oblast (odnosno, za piksel se vezuje neko stanje: nepoznato, pripada
granici, pripada oblasti i sliˇcno, a granica se moˇze pamtiti i kao niz pravaca
sa poˇcetnom taˇckom). Cilj je onda na´ci (pretraˇziti) dozvoljene promene
stanja tako da se nad¯e najbolji skup stanja. Ispod se vidi primer spajanja i
razdvajanja oblasti:
4.8.5 Topljenje granica i grafovi
Ako je sij = |f(xi) − f(xj)| i:
wk =
1, sk < T1;
0, inaˇce.
78.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 77
Algoritam narastanja topljenjem granica - ,,fagocit” algoritam (Tk, k =
1, 2, 3 su zadati pragovi):
1. Za sve susedne piksele, ukloni granicu izmed¯u xi i xj ako je i = j i
wij = 1. Kada viˇse nema granica za uklanjanje, pred¯i na slede´ci korak
2. Ukloni granicu izmed¯u Ri i Rj ako je W
min[pi,pj]
≥ T2 gde je W suma
svih wij na zajedniˇckoj granici Ri i Rj, koji imaju obim pi i pj, redom.
Kada viˇse nema granica za uklanjanje, pred¯i na slede´ci korak
3. Ukloni granice izmed¯u Ri i Rj ako je W ≥ T3
gde je ivica AB slaba ako je ispod zadatog praga T1:
W(AB) =
1, s(AB) < T1;
0, inaˇce.
a slabost granice je W = W(G) = AB∈G W(AB) (gde AB moˇze biti i
piksel, gde je s poznati intenzitet ivice).
4.8.6 Grafovi
Algoritam spajanja oblasti Ri i Rj upotrebom grafa susednosti oblasti i nje-
govog dualnog grafa:
1. Stavi ivice izmed¯u Ri i svih susedne oblasti do Rj (bez Ri) koje nemaju
ivice do Ri, izbriˇsi Rj i sve povezane ivice.
79.
78 Semestralni rad
2.dual: obriˇsi ivice u dualnom grafu koje odgovaraju granicama izmed¯u
Ri i Rj
3. Za svaki ˇcvor povezan za prethodnim ivicama u dualnom grafu:
• ako je stepen ˇcvora manji ili jednak 2 obriˇsi ga i spoj njegove ivice
u jednu
• inaˇce, postavi oznake ivica povezanih sa j da ukazuju na novu
oblast i
4.8.7 Semantiˇcko segmentiranje
Procesi razdvajanja i spajanja utiˇcu na semantiˇcku strukturu oblasti o
kojoj do sada nije bilo reˇci. Algoritam koji to uzima u obzir (koriste´ci
verovatnosni pristup da bi se opisala semantika) je algoritam semantiˇckog
segmentiranja (T1 i T2 su dati pragovi):
1. Nesemantiˇcki kriterijum: spajaj oblasti i i j dokle god one imaju
granicu koja ih slabo razdvaja. Pred¯i na slede´ci korak ako takvih viˇse
nema:
2. Spajaj oblasti i, j gde je S(i, j) ≤ T2 i S(i, j) =
c1+αij
c2+αij
, gde su c1 i c2
konstante, αij =
√
areai
√
areaj
obimiobimj
.
3. Semantiˇcki kriterijum: neka je Bij granica izmed¯u Ri i Rj. Evaluiraj
svaku Bij Bajesovom funkcijom izbora koja meri uslovnu verovatno´cu
da Bij razdvaja Ri i Rj u istoj interpretaciji. Spajaj ovakve oblasti ako
je takva verovatno´ca manja od nekog zadatog praga. Pred¯i na slede´ci
korak ako viˇse nema takvih oblasti.
4. Evaluiraj interpretaciju za svaku oblast Ri Bajesovom funkcijom odluˇcivanja
koja meri uslovnu verovatno´cu da je interpretacija taˇcna za datu oblast.
80.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 79
Dodeli interpretaciju oblasti koja ima najve´ce uverenje u taˇcnost inter-
pretacije, postavi vrednosti verovatno´ca za susedne interpretacije koje
su razliˇcite. Ponavljaj sve dok sve oblaste ne dobiju interpretaciju.
4.9 Teksture
Tekstura je veoma znaˇcajan problem vizije i ne postoje joˇs uvek tako
dobra reˇsenja kao za ostale probleme. Neka neformalna definicija teksture
podrazumeva pojam povrˇsine u prostoru (obiˇcno ravne) sa skoro dvodimen-
zionalnim figurama koji se sliˇcno teselaciji ponavljaju, ˇcine neku sliku na njoj
i obiˇcno su posledica fiziˇckih osobina materijala. Ovi osnovni elementi tek-
sture koji se ponavljaju se zovu primitive teksture. Ispod se vidi ilustracija
problema traˇzenja grida (odnosno rezolucije teksture na nivou primitiva) i
poluregularne teselacije kod kojih nisu poligoni koji okruˇzuju polazni poligon
istog broja stranica (obeleˇzavaju se signaturama u kojima naredni elementi
ukazuju na broj stranica):
81.
80 Semestralni rad
Prepoznavanjeteksture je vaˇzno i zbog toga ˇsto na primer nudi mogu´cnost
prepoznavanja orijentacije povrˇsine - sliˇcno kao kod problema refleksivnosti,
ˇsto opet nudi mogu´cnost upored¯ivanja sa geometrijom objekta i geometri-
jskim ˇsablonima, zatim daje informacije o svojstvima materijala od kojih je
naˇcinjena povrˇsina objekta, i sl. Jedan od naˇcina reˇsavanje je i kao problem
prepoznavanja oblika i ˇsablona kao strukturnih metoda, a klasiˇcne metode su
i statistiˇcke (energija teksture i SGLD (Spatial Gray-Level Dependence), gde
se zadatom familijom med¯u-matrica prema polarnim koordinatama ocenjuju
razni parametri) i metode gradijenta teksture (u smislu promene teksture) -
npr. histogrami intenziteta gradijenta i orijentacije gradijenta normalizovani
u odnosu na ukupan broj piksela su dobra kvantifikacija teksture. Tekstura
moˇze biti dobijena (reprezentovana) prostom teselacijom, ili nekom formal-
nom dvodimenzionalnom gramatikom gramatiˇcki modeli: gramatike drveta,
matrice, oblika). Primitive mogu biti zadati kao slike (ˇsabloni) koji se zovu
tekseli (nivo organizacije iznad piksela). Osnovni problemi teksture su:
• segmentacija teksture - razbijanje slike na oblasti u kojima je tekstura
ista (bilo primitiva ili raspored, tj. osnova ili grid); jedan od osnovnih
naˇcina da se ovo postigne jesu filteri koji izdvajaju primitivne osobine
koji odgovaraju veoma jednostavnim ˇsablonima (npr. taˇcke i crte -
razliˇcitim simetriˇcnim ili asimetriˇcnim Gausovim jezgrima, ,,dots and
bars”), a ˇcesto se koriste Gaborovi filteri (sliˇcni su izvodima Gausovog
82.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 81
jezgra) koji su zadati simetriˇcnim i antisimetriˇcnim jezgrom:
Gs(x, y) = cos (kxx + kyy)e−x2+y2
2σ
Gs(x, y) = sin (kxx + kyy)e−x2+y2
2σ
gde su kx i ky prostorne frekvencije - za razliˇcite orijentacije, jaˇcine σ
i orijentacije slike se primenjuju ovakvi filteri i dobijaju se detaljnije
informacije o mogu´coj strukturi teksture. Upotrebom piramide, LG
i drugih operatora se moˇze dodatno poboljˇsati ovakva metoda, kao i
drugih metoda npr. baziranih na razliˇcitim verovatnosnim modelima i
metodama klasifikacije. ˇCesto se koriste matrice (co-occurence) oblika:
Cd(i, j) = |{(r, c) : f(r, c) = i ∧ f(r + ∆r, c + ∆c) = j} za zadati broj
sivih nijansi i i neke razmake (koji utiˇcu na broj i veliˇcinu matrica)
∆c i ∆r, i pored njih normalizovana varijanta Nd(i, j) = Cd(i,j)P
i
P
j Cd(i,j)
i simetriˇcna Sd(i, j) = Cd(i, j) + C−d(i, j). Onda se posmatraju vred-
nosti:
– energija E = i j N2
d (i, j)
– entropija H = − i j Nd(i, j) log Nd(i, j)
– kontrast k = i j (i − j)2
Nd(i, j)
– homogenost h = i j
N2
d (i,j)
1+|i−j|
– korelacija C = i j
(i−µi)(j−µj)Nd(i,j)
σiσj
gde se µi, µj, σi, i σj odnose na nizove Nd(i) = j Nd(i, j), Nd(j) =
i Nd(i, j), vektor d = (∆c, ∆r) se moˇze izabrati tako da se mak-
simizuje χ(d) = i j
N2
d (i,j)
Nd(i)Nd(j)
− 1. Mogu se takod¯e koristiti i filteri
konvolucijom (odnosno energijom gde se raˇcuna suma apsolutnih vred-
nosti) sa zadatim ˇsablonom (maskom) ili autokorelacija.
• sinteza teksture
• oblik iz teksture - geometrija povrˇsine i drugi parametri objekta se
mogu rekonstruisati na osnovu teksture (sliˇcno kao kod rekonstrukcije
na osnovu senˇcenja)
83.
82 Semestralni rad
4.10Upored¯ivanje i geometrija
Joˇs su prvi radovi i metode o zakljuˇcivanju o objektu na osnovu kon-
ture ili senˇcenja oblasti (Huffman, Clowes, Mackworth, Guzman) pokazali
koliko upored¯ivanje geometriskog modela i slike moˇze da bude varljivo - na
primer, teme ˇziˇcanog modela kocke moˇze biti ispred ili iza drugog i na os-
novu 2-dimenzionalne projekcije nemora biti jasno koji je sluˇcaj u pitanju
od ta dva. Upored¯ivanje (matching) nekog geometrijskog ˇsablona sa detek-
tovanom figurom (konturom oblasti npr.) na slici zavisi od prirode objekta
i domena primene (npr. nije svejedno da li se koriste jednostavni popunjeni
ˇziˇcani modeli gde su objekti poligonu i poliedri, ili se koristi upored¯ivanje
objekata sa oblim ivicama i pljosnima gde je npr. potrebno fitovanje krivih).
Uobiˇcajen pristup je da se koristi baza modela objekata i njihovih osobina
koja se upored¯uje sa otkrivenim objektima i njihovi osobinama na slici. Ako
se uzmu u obzir odnosi izmed¯u baze i slike u smislu afinih linearnih i ge-
ometrijskih transformacija izmed¯u njih mogu´ce je na´ci i najbolju ocenu nekih
drugih parametara (pose clustering - poloˇzaj kamere u odnosu na objekte
slike ne mora biti poznat a potrebno ga je na´ci, i sliˇcno). Ako transformacije
nisu linearne, najopˇstiji metod je minimum greˇske ocene parametara (ako
je poznata analitiˇcki moˇze se npr. primeniti Gaus-Zajdelova metoda). Pre-
traga baze se obiˇcno vrˇsi vrstom indeksirane (hash) pretrage - priprema hash
tabele H(ξ, η) = (M, E) gde je M oznaka modela objekta, E trojka neko-
linearnih taˇcaka (kao baze, taˇcke se biraju u svim kombinacijama), (ξ, η) je
taˇcka modela (kao bitna taˇcka modela u smislu zadate osobine) u odnosu na
E. Algoritam takve pretrage:
84.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 83
Ovakav algoritam moˇze da ,,halucinira” kada se npr. otkrije zadati geometri-
jski ˇsablon kao deo otkrivenog objekta:
i zato je vaˇzno dobro pripremiti bazu i odabrati osobine i relacije med¯u
njima. Jedan od analitiˇckih pristupa u dvodimenzionalnom sluˇcaju bi bio
upored¯ivanje Furijeove transformacije nizova razlika vk = Vk+1−Vk
|Vk+1−Vk|
kljuˇcnih
85.
84 Semestralni rad
taˇcakaVk konture ulazne slike Q (taˇcke kao kompleksni brojevi u odsnou npr.
na teˇziˇste) i nekog ˇsablona S:
d(S, Q) =
M
n=−M
|aS
n − aQ
n |2
gde je an = 1
L(2πn/L)2
m
k=1 e−i2πnlk/L
, l0 = 0, lk = k
i=1 |Vi − Vi−1| za k > 0 i
L ukupna takva duˇzina.
4.10.1 Relaciono upored¯ivanje
Ako se pod¯e od koncepta o modelu jednog objekta u kome uˇcestvuju:
• delovi P (taˇcke, ivice, plosni, oblasti i drugi elementi i osobine slike
koji se mogu detektovati)
• oznake L - simboli (identifikatori) koji se dodeljuju delovima
• dodela (interpretacija) nekog dela je relacija izmed¯u skupa delova i
oznaka (deo moˇze biti prepoznat kao jedna oznaka, ili kao viˇse oznaka
(nejasno koja), ili nije prepoznat) - cilje je da dodeljivanje (oznaˇcavanje,
labeling) bude preslikavanje f : P → L tj. izbe´ci nejasno´ce
• relacije - kao u poznatom primeru sveta blokova uoˇcavaju se osobine
med¯u delovima koje se izraˇzavaju kao relacije RP , dok se u bazi drˇze
podaci o relacijama med¯u oznakama RL
mogu´ce je onda definisati pojam saglasnog oznaˇcavanja kao ono koje zado-
voljava za svako pi, p i ∈ P:
(pi, p i) ∈ RP ⇒ (f(pi), f(p i)) ∈ RL)
Cilj je prona´ci oznaˇcavanje koje zadovoljava sve relacije RL (uslove). To se
moˇze posti´ci nekom metodom relaksacije (diskretna relaksacija npr. polazi
od poˇcetnog stanja u kome su svi delovi dodeljeni svim oznakama a onda se
iterativno eliminiˇsu oznake prema uslovima), nekim CLP ili nekom drugim
ADT. Osnovna metoda je grad¯enje i pretraga drveta interpretacije (svaka
putanja u drvetu mora predstavljati konzistentnu interpretaciju):
86.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 85
Najˇceˇs´ce se koristi najbolje oznaˇcavanje u smislu saglasnosti, pogotovu ako
se uzme u obzir i dodatne geometrijske transformacija izmed¯u dela i oznake.
Ako je objekat A zadat skupom delova A i opisom tj. skupom relacija DA =
{R1, ..., RI}, a objekat B sovjim skupom delova B i opisom DB = {S1, ..., SI}
(uz |A| = |B| u smislu kardinalnosti, bez gubljenja opˇstosti jer se mogu dodati
,,prazni” delovi), strukturna greˇska preslikavanja f : A → B za i-ti par Ri
i Si je Ei
(f) = |Ri ◦ f − Si| + |Si ◦ f−1
− Ri| (broj delova koji se ne slaˇzu
u preslikavanju u njegovom inverzu med¯u objektima), a ukupna greˇska je
E(f) = I
i=1 Ei
(f). Dva objekta se mogu uporediti relacionim rastojanjem:
GD(DA, DB) = minf: A→B, 1−1 i naE(f)
a f a f koje ga minimizuje tu ukupnu strukturnu greˇsku je najbolje preslika-
vanje A u B.
87.
86 Semestralni rad
Kadase pravi rekonstrukcija 3D objekta na osnovu 2D projekcije date
slike (pomenuto na poˇcetku ovog odeljka), postoje reprezentovanja slike (do-
bijena odgovaraju´cim transformacijama) koja su med¯usobno povezane:
• dubina povrˇsine vidljive u datom pikselu (dubina piksela)
• orijentacija normale povrˇsine (ka spoljaˇsnosti objekta)
• osvetljenost (intenzitet) datog piksela
• relfeksivnost (ili albedo) datog piksela
Ako se pretpostavi da postoji baza tipova ivica i temena (junctions, raskrˇs´ca)
sa oznakama npr. L = {+, −, <, >}:
i ako je dat graf ˇcija su ˇcvorovi temena figure ulazne slike (V je skup temena)
a lukovi njene ivice (E je skup ivica) onda bi backtracking algoritam kojim
bi se generisalo preslikavanje ivica u L bio:
1. pretpostavlja se neko ured¯enje ulaznih ivica {P1, ..., Pn}
2. u i-toj iteraciji se pokuˇsava dodela naredne neiskoriˇs´cene oznake iz L
ivici Pi
3. ako su temena ivice konzistentna s bazom tipova ide se u narednu
iteraciju, inaˇce backtracking
88.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 87
ili algoritam relaksacijom:
1. Svim ivicama Pi dodeljen ceo skup L
2. Ako neka labela Lj nije konzistentna u ivici Pi sa ostalim u nekom
temenu onda izbaci Lj iz Pi
3. ponavljaj dokle god ima smanjivanja skupova ivica
Postoje sluˇcajevi kada je ovo jednostavno reˇsivo, a postoje i sluˇcajevi koji
nisu mogu´ci (u obiˇcnom euklidskom prostoru, ilustracija s desne strane):
89.
88 Semestralni rad
Ovosu samo osnovni problemi i pristupi vizije u vezi geometrijskih modela
kao vezi ka deskriptivnom znanju svojstvenom veˇstaˇckoj inteligenciji (o de-
taljima viˇse u [CVSS]).
4.11 Neuronske mreˇze i vizija
Kako je pomenuto u vezi govora, ADALINE NM su sliˇcne perceptronu sa
linearnom transfer funkcijom. Njihovo obuˇcavanje se vrˇsi sliˇcno delta pravilu
(w(t + 1) = w(t) + 2µεkxk za εk = y∗
k − yk i datu brzinu uˇcenja µ. Ako je
R = [xk · · · xk]T
matrica korelacije ulaza a λmax njena najve´ca karakteristiˇcna
vrednost, onda bi trebalo da bude 0 < µ < 1/λmax). Postoji varijanta ,,Many
ADALINE” (MADALINE) - viˇseslojni ADALINE, koji se moˇze obuˇcavati
i pravilom MRII najmanjeg poreme´caja (least disturbance) gde se greˇska
raˇcuna kao broj pogreˇsnih izlaza - biraju dva PE sa najmanjom aktivacijom
(realnom sumom) i menja se ponder tako da se promeni bipolarna vrednost i
prihvata promena ako je greˇska smanjena nakon raˇcunanja, a onda se ponovi
postupa za par takvih povezanih PE. Ispod se nalazi ilustracija NM koja
prepoznaje 4 razliˇcite kategorije - u 5 × 5 senzora se nalazi ulazni sloj, zatim
slede 4 skrivena sloja (zapravo jedan u 4 grupe) ˇcije izlaze ,,skuplja”jedan
ADALINE (koji predstavljaju izlazni sloj sa 4 PE, ˇsto daje 16 kombinacija
odnosno kategorija kojih ovakva NM moˇze da klasifikuje).
90.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 89
To je samo jedan od osnovnih primera primene NM u oblastima vizije.
Mogu´ce je, takod¯e, koristiti druge opˇste klase NM, ali postoje i posebno
specijalizovane vrste za probleme u oblasti vizije. Jedna od njih je neokog-
nitron.
4.11.1 (Neo)kognitron
Poˇsavˇsi od ideje funkcionisanja ˇcula vida i nadred¯enih nervnih struktura
autori ove vrste NM (Fukushima, Hubel, Weisel, prvobitni kognitron datira
joˇs od sredine 70-tih) su doˇsli do strukture masivnih viˇsenivoovskih hijer-
arhija grupa slojeva. Suˇstina je podela slojeva u dva tipa: grupe S-slojeva
(jednostavne, simple) i C-slojeva (kompleksne, complex) gde su veze od ulaza
ili C-slojeva ka S-slojevima mnogostruke (po jedna veza u C-sloju za svaki S-
sloj u prethodnoj grupi) ali vezane za isti poloˇzaj (geometrijski), dok veze od
S-slojeva ka C-slojevima nisu mnogostruke - [NNALG]: najviˇsi PE naziva se
,,baka”(grandmother) samo zbog analogije u vezi sa bioloˇskom kognitivnom
pretpostavkom o postojanju nervne ´celije u ovakvoj hijerarhiji negde u mozgu
koja se okida kada takva struktura prepozna baku - arhitektura neokogni-
trona po nivoima:
91.
90 Semestralni rad
Svakisloj je podeljen u grupe (polja) PE. Naˇcin raˇcunanja i obuke je specifiˇcan
i tiˇce se ˇcitavih slojeva (uz upotrebu varijante delta pravila). Koriste se
posebno i lateralna inhibicija (´celije u VC poljima koja se vezuju za taj S-
sloj) i elementi nenadgledanog obuˇcavanja.
Ako je kl indeks grupe S-sloja (Kl je ukupan broj) na nivou l, gde je n poloˇzaj
´celije u toj grupi, a v relativna pozicija ´celije prethodnog nivoa u ˇcijoj je ova
prijemnoj oblasti Al (n i v su vektori tj. parovi indeksa), izlaz proizvoljne
S-´celije onda izgleda ovako:
USl
(kl, n) = ri φ
1 +
Kl−1
kl−1=1 v∈Al
al(kl−1, v, kl)UCl−1
(kl−1, n + v)
1 + rl
1+rl
bl(kl)VCl
(n)
gde je φ pozitivna linearna transfer funkcija, al teˇzinski koeficijenti, 0 < rl <
∞ selektivnost ´celije (ˇsto je ve´ce zahteva se ve´ca taˇcnost poklapanja ulaza i
pondera u brojiocu da bi se prevaziˇsli inhibitorni uticaji), bl je inhibitorno
uˇceˇs´ce VC ´celije:
VCl
(n) =
Kl−1
kl−1=1 v∈Al
cl(v)U2
Cl−1
(kl−1, n + 2)
gde su cl teˇzinski koeficijenti ´celije na poloˇzaju v prijemne oblasti koji se ne
obuˇcavaju ve´c su neka monotono opadaju´ca funkcija, npr. cl(v) = 1
C(l)
αl
r (v)
,
0 < αl < 1, gde je C(l) =
Kl−1
kl−1=1 v∈Al
αlr (v) faktor normalizacije, a
r (v) normalizovano rastojanje ´celije od centra grupe (nekognitron pokazuje
osobine zavisne od geometrije NM) td. je
Kl−1
kl−1=1 v∈Al
cl(v) = 1. Sliˇcno se
modifikuju i al ponderi tokom uˇcenja, dok se teˇzine do C-´celija ne menjaju
jer predstavljaju strukturu NM prema specifiˇcnoj potrebi. Izlaz C-´celije je
92.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 91
definisan sa:
UCl
(kl, n) = ψ
1 + Kl
κl=1 j(κl, kl) v∈Dl
dl(v)USl
(kl, n + v)
1 + VSl
(n)
− 1
gde je Kl broj S-grupa na nivou l, j(κl, kl) je 1 ili 0 ve´c prema tome da li je
S-grupa κl povezana sa C-grupom kl, dl(v) je teˇzinski koeficijent od S-´celije
na mestu v u prijemnom polju Dl C-´celije, a ψ je linearna transfer funkcija
sa zasi´cenjem. Izlaz inhibitornih VS ´celija je dat sa
VSl
(n) =
1
K
Kl
κl=1 v∈Dl
USl
(kl, n + v)dl(v)
Pored navedenog, mogu se dodati ´celije i polja sa povratnim vezama sve do
retine, ˇcime se npr. postiˇze rezonantna struktura sliˇcna ART NM. Nenad-
gledano obuˇcavanje S-slojeva: obiˇcno se veze inicijalizuju malim nasumiˇcnim
vrednostima, a inhibitorne veze se inicijalizuju nula vrednoˇs´cu. Tada se bi-
raju ´celije reprezenti ˆn kao one koje imaju najjaˇci izlaz u svakoj koloni sloja
posebno, za grupe ˆkl koje ih sadrˇze (bira se uvek najjaˇca u grupi ako ih ima
viˇse) i onda se raˇcunaju popravci:
∆al(kl−1, v, ˆkl) = qlcl−1(v)UCl−1
(kl−1, ˆn + v)
∆bl(ˆkl) = qlVCl−1
(ˆn)
gde je ql stepen brzine uˇcenja. Nauˇceni vektor pondera reprezenta se propa-
gira na sve ostale ´celije u grupi. Uˇcenje se moˇze vrˇsiti i za svaki sloj posebno
(skupovi obuˇcavanja po slojevima) pod uslovom da je problem tako dovoljno
poznat.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 93
5 Automatsko dokazivanje teorema i plani-
ranje
5.1 Uvod
Neke od osnovnih odlika inteligentnog ponaˇsanja su (logiˇcko) zakljuˇcivanje
i planiranje. Postoje formalni matematiˇcki sistemi i odgovaraju´ce metode
veˇstaˇcke inteligencije kojima se modeliraju takve osobine. Primena ovakvih
sistema u oblastima automatskog govora i vizije je opisana u prethodnim
poglavljima, a koriste ih npr. inteligentni agenti u mnogim oblastima primene
koji mogu samostalno upravljati svojim aktivnostima, uticati na okolni svet
i uˇciti.
5.2 Automatsko dokazivanje teorema, pregled
Automatsko dokazivanje teorema (ADT) je teˇzak ali veoma vaˇzan prob-
lem, a posebno je interesantan i vaˇzan u sluˇcaju predikatskog raˇcuna prvog
reda (PR1) - u opˇstem sluˇcaju PR1 nije odluˇciv problem (ako je neka formula
valjana teorema date teorije, onda ´ce ADT na´ci dokaz ako mu je dato dovoljno
resursa i vremena pre svega - obratno, ako teorema ne sledi iz date teorije
moˇze se desiti da automatski dokazivaˇc nikada ne zavrˇsi pretragu za njenim
dokazom). Specijalni sluˇcajevi mogu biti odluˇcivi (teorija zatvorenih polja,
iskazni raˇcun), ali i sama metoda ADT moˇze uticati na domen primenjivosti
(rezolucija je efikasnija od mnogih opˇstih automatskih dokazivaˇca u PR1,
ali pretpostavlja neke preduslove o samoj teoriji, gde zadrˇzava osobine sa-
glasnosti i kompletnosti zakljuˇcivanja). Logiˇcko programiranje podrazumeva
okruˇzenja i programske jezike kao ˇsto je PROLOG, koji opet podrazumevaju
delove mehanizma ADT za PR1. Neˇsto jednostavniji problem povezan sa
ovim je verifikacija formalnog (datog) dokaza, ˇsto jeste uopˇste odluˇciv prob-
lem. Mogu biti interesantne i druge logike i formalni sistemi (oblici prirodnog
zakljuˇcivanja, modalne, temporalne logike, teorija tipova, i sl.). Pored rezolu-
cije sa unifikacijom kao opˇste i najˇceˇs´ce upotrebljavane metode ADT za PR1
postoje i druge metode ADT za PR1 i uopˇste:
• prezapisivanje (rewriting) - relacijom prezapisivanja l → s se, pojed-
nostavljeno, govori koji se podtermi l (redeksi) nekog terma zamen-
juju drugim termom s (stroˇzija definicija podrazumeva supstituciju
kao kod unifikacije i poziciju u drvetu terma). Skup ovako zadatih
95.
94 Semestralni rad
pravilaR nad skupom termova ˇcini sistem prezapisivanja. Produk-
cioni sistemi ili pravila zakljuˇcivanja PR1 koriste takav formalizam, i
ADT zasnovano na ovaj naˇcin je posebno interesantno. Za relaciju
prezapisivanja su vaˇzna i njena zatvorenja (simetriˇcno ↔, tranizitivno
→+
, refleksivno →=
i refleksivno-tranzitivno →∗
). Normalne forme
terma s su termi t td. je s →!
t ako je t nesvodljiv tj. ne postoji
pravilo kojim bi se t dalje iveo (prezapisao) - ako postoji za svaki term
onda je sistem normalizovan. Vaˇzna je osobina jedinstvenosti normalne
forme (konvergentan sistem) je povezana sa osobinom konfluentnosti
kod koje vaˇzi da se ista normalna forma dobija bez obzira na izbor
pravila. Ako nema beskonaˇcnih izvod¯enja sistem je zaustavljaju´ci. Ako
je ↔∗
R⊆→∗
R ◦ ←∗
R onda je sistem Church-Rosser-ov (ako je i zaustavl-
jaju´ci onda je i konvergentan, ˇsto nije odluˇcivo pitanje), a konfluentan
je ako vaˇzi ←∗
R ◦ →∗
R⊆→∗
R ◦ ←∗
R (konfluentnost se moˇze ispitati ili
sistem dopuniti da bude takav ispitivanjem kritiˇcnih parova).
Primer: neki deduktivni sistemi koji koriste modus ponens kao prav-
ilo zakljuˇcivanja (transduktivni sistemi, naspram abduktivnih koji za-
kljuˇcuju w1 na osnovu w2 i w1 ⇒ w2) mogu to pravilo realizovati preza-
pisivanjem.
• superpozicija - uopˇstenje rezolucije ili kompletiranje Knut-Bendiksovim
algoritmom (kojim se sistem jednaˇcina nad termima prevodi u konfluen-
tan sistem prezapisivanja; postupak je neodluˇciv uopˇste kao i valjanost
u PR1), neki od najboljih ADT za PR1 koriste ovu metodu, npr. sistem
,,E”
• metoda analitiˇckih tabloa - ako se formula prikaˇze u klauzalnoj formi,
ova metoda gradi drvoidnu strukturu polaze´ci od te formule, primenom
pravila za logiˇcke veznike gde pravilo konjunkcije Y, A ∧ B proizvodi
jednog naslednika Y, A, B, a pravilo disjunkcije dva, Y, A i Y, B, a ˇcvor
oblika Y, p, ¬p je zatvoren - grana je zatvorena ako su svi listovi takvi, a
tablo (ovakva struktura) je zatvorena ako su sve grane zatvorene. Cilj
je primenom svih pravila u svim kombinacijama zatvorit tablo ˇcime
se dokazuje da formula nije valjana, ili da se iscrpe sve mogu´cnosti i
tablo ostane otvoren (dokazivanje ide odbacivanjem negacije). Metoda
nije posebno praktiˇcno korisna u odnosu na druge osim kod modalnih
logika.
• raˇcun sekvenata (Gerhard Gentzen) ili sistem LK - pokazuje se da je
96.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 95
ovo saglasna i kompletna metoda u odnosu na PR1. Sekventi su iskazi
oblika (A, B, C, ...) (M, N, O, ...) gde se s leve strane podrazumeva
konjunkcija a s desne disjunkcija i ima svoj sistem pravila zakljuˇcivanja
(logiˇcka i strukturna), uz upotrebu izvedenog pravila eliminacije izbaci-
vanjem (Cut-elimination) kao posledicu teoreme da vaˇzi (A, B, ...)
(M, N, ...) ako vaˇzi (A, B, ...) C, C (M, N, ...) (izbacuje se ,,lema” C,
kao neka preˇcica, odnosno heuristika). Interesantno je da se malom
izmenom pravila o disjunkciji dobija sistem LJ koji je saglasan i kom-
pletan u odnosu na intuicionistiˇcku logiku.
• ADT Davis-Putnama i Gilmora (gde se za dati skup formula gradi
iterativno Erbranova baza narednog reda sve dok se ne dobije model
odnosno interpretacija za koju nije zadovoljiv - uglavnom nepraktiˇcna
metoda osim u specijalnim sluˇcajevima)
• CLP (Constraint Logic Programming) - obiˇcno modifikacija neke metode
logiˇckog programiranja vezanog za PR1 uz problem zadovoljenja uslova
(CSP, Constraint Satisfaction Problem) gde se posebno vodi raˇcuna o
domenima predikata i promenljivih izraˇzenim jednakosnom logikom ili
sloˇzenije. Uslov (Constraint) je npr. programsko prikljuˇcenje obiˇcnog
logiˇckog programiranja X+Y>0 u PROLOG klauzuli A(X,Y):- X+Y>0,
B(X), C(Y). koje se onda koristi ravnopravno s literalima (uz neke
pretpostavke - mogu´ce je dobiti nekompletnu proceduru zakljuˇcivanja
ako se ne vodi o tome raˇcuna). Uslovi se drˇze u skladiˇstu uslova
(Constraint Store) i postoje naˇcelno tri klase uslova prema domenu
termova: termovi drveta (vrednosti promenljivih su termi, praktiˇcno
se moˇze emulirati logiˇcko programiranje sa jednakosnom logikom tako
ˇsto se i supstitucije i uslovi drˇze u skladiˇstu uslova), realni brojevi i
konaˇcni (diskretni) domeni (tokom dedukcije domen moˇze biti suˇzavan,
ako postane prazan onda je neuspelo izvod¯enje i pravi se backtrack-
ing). Svaki unos uslova u skladiˇstu izaziva odgovaraju´ce operacije
nad ostatkom skladiˇsta: unifikacija kod termova drveta, eliminacija
promenljivih kod polinomijalnih jednakosnih realnih uslova, propagi-
ranje uslova kod konaˇcnih domena (provera lokalne konzistentnosti).
Labeliranje obezbed¯uje globalnu konzistentnost: solve(X):-
constraints(X), labeling(X) gde je X lista promenljivih nad konaˇcnim
domenom, i gde se uz constraints(X):- {svi uslovi} onda reˇsava
problem zadovoljenja svih takvih uslova. Koriste se i posebna zaglavlja
97.
96 Semestralni rad
pravilakojima se pod zadatim uslovom povezuju skupovi uslova (ispun-
jenje jednog povlaˇci drugog), ˇcime se prezapisuju i optimizuju uslovi u
skladiˇstu. Skladiˇste mora biti u stanju i da vrati prethodno stanje
pra´cenjem promena vrednosti uslova ili samih promena dela uslova
(semantic backtracking). Primer ovakvog sistema je ECLiPSe, kao i
mnoga proˇsirenja PROLOG-a kao ˇsto je to GNU Prolog. Neki od
najjednostavnijih (najkra´cih u smislu veliˇcine koda kojim je implemen-
tiran, lean theorem proover) ADT su implentirani na sliˇcan naˇcin.
• provera modela - najˇceˇs´ci pristup problemu automatske verifikacije je
da li dati model odgovara formalnim specifikacijama zadatim nekim
oblikom deklarativnog znanja (npr. formulama temporalne logike), a
model je zadat konaˇcnim automatom ili posebnim jezikom. Svodi se
ˇcesto na problem obimne pretrage po grafovima ili na prosto nabrajanje
i pretraˇzivanje svih mogu´cih modela, gde se kombinatorna eksplozija
mora izbe´ci dodatnim tehnikama, npr. upotrebom iskaznih formula
umesto grafova ili apstrakcijom - kada se model pojednostavi, npr. PR1
problem se svede na iskazni raˇcun, mogu se dokazati neke bitne osobine
ili potproblemi, itd. Ova metoda u odnosu na aksiomatski (Hilbertov)
pristup pre svega ne nudi objaˇsnjenje za pronad¯eno reˇsenje.
• binarni dijagrami (drva) odluˇcivanja - u iskaznom sluˇcaju predstavlja
naˇcin da se prestavi neka Bulova funkcija, ali i naˇcin da se pokaˇze
da je neki iskaz tautologija. Moˇze se svesti na metodu tabele sa svim
kombinacijama vrednosti promenljivih, ali je cilj predstaviti ih drvetom
obeleˇzenim vrednostima promenljivih gde redosled postaje bitan jer
moˇze pojednostaviti strukturu.
• razni oblici SAT problema (zadovoljivost iskazne formule) koji su gene-
ralno, npr. DPLL ili DP algoritam - ovaj algoritam redom bira literal
(na pogodan naˇcin), dodeljuje mu potrebnu istinitosnu vrednost (inter-
pretacija promenljivih) i pojednostavljuje poˇcetnu formulu i rekurzivno
pokuˇsava da dokaˇze zadovoljivost uz upotrebu backtracking pretrage
(pravilo razdvajanja, ako se pokaˇze da prva dodela istinitosne vred-
nosti nije pomogla)
• indukcija, nemonotone i druge logike - primeri su ID3, formacija kon-
cepta (prostor verzija) ili Vereova generalizacija, taksonomijske hijer-
arhije i pretpostavljeno zakljuˇcivanje (default reasoning), kao i mnoga
98.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 97
proˇsirenja poznatih reˇsenja. Mnogi formalni sistemi kojima su pred-
stavljene alternativne (logike nasuprot klasiˇcnoj Hilbertovskoj logici)
nisu toliko pogodni i praktiˇcni za primenu u ADT i veˇstaˇckoj inteligen-
ciji. ADT za predikatski raˇcun viˇseg reda nije toliko prouˇceno kao
kod PR1, ali postoje primeri i okruˇzenja kao ˇsto je to npr. HOL. U
nekim sluˇcajevima moˇze biti sasvim dovoljan sistem koji je jednos-
tavniji od PR1, npr. iskazni raˇcun ili neki drugi iskazan posebnim
algoritmom kakav ima npr. STRIPS. Poseban izazov predstavljaju i
postupci dokazivanja koji ljudi koriste kao uobiˇcajene postupke (npr.
dokazi odbacivanjem kao ˇsto je to kod dijagonalizacije i drugi postupci
koji podrazumevaju posebne konstrukcije, intuitivno ili prirodno za-
kljuˇcivanje, itd.) gde je sama formalizacija ili automatizacija postupka
dokazivanja i dalje izazov.
Metode i konkretni sistemi se mogu razlikovati ne samo po efikasnosti u smislu
brzine ve´c i po sloˇzenosti dobijenog dokaza. Primeri konkretnih sistema su:
Isabelle, Coq, ACL2 (naslednik Boyer-Moore-ovog dokazivaˇca, NQTHM-a,
kao i interaktivnog proˇsirenja za dokazivanje ispravnosti dokaza PC-NQTHM,
PC = Proof Checker - postoji za ve´cinu Common LISP platformi), Mizar, Ot-
ter, HOL, Tau, Vampire, Waldmeister, itd. Neki od njih su kompletni sistemi
za ADT u matematici (za sada su to obiˇcno delovi dokaza ili dokazi koji zahte-
vaju neko masovno sistematiˇcno izvod¯enje, i tek je ponegde pronad¯en dokaz
koji je kra´ci od nekog ,,ljudskog”, npr. u nekim problemima teorije skupova,
brojeva, grafova ili geometrije) ili kao opˇstija okruˇzenja i reˇsenja, dok neki
predstavljaju samo dodatne alate (assistants), neki rade kao interpretatori a
neki kao prevodioci. Formalna provera (verifikacija) nekog sistema je primer
praktiˇcne primene ove oblasti i odnosi se pre svega na automatski postupak
dokazivanja ispravnosti (correctness) nekog sistema koji je zadat nekom for-
malnom specifikacijom (Backus-Naur, okviri, konaˇcni automati, Petri mreˇze,
taksonomijske hijerarhije - semantiˇcke mreˇze, temporalna logika, Hoarova
logika, itd). Primeri upotrebe formalne verifikacije su: provera nekog indus-
trijskog proizvoda, elektronskog kola, softverskog koda, algoritma i njegove
sloˇzenosti ili njegovog dela, komunikacionih protokola, itd. Nasuprot veri-
fikaciji, postoji i problem validacije kojim se proverava da li su specifikacije
i dobijeni sistem u skladu sa nekim zadatim ciljem. Postoje razliˇciti pristupi
ovom problemu, najˇceˇs´ce upotrebom nekog ADT sistema - primer ovoga se
ogleda u pitanju ,,da li proizvod odgovara zahtevima (korisnika)”.
99.
98 Semestralni rad
Takod¯e,obiˇcno se baza znanja sastoji iz skupa podrˇske (set of support)
gde se nalaze iskazi o samom problemu, i pozadinskog znanja (background
knowledge) koje nije zavisno od samog problema, npr. logiˇcke aksiome i
aksiome jednakosti. Pored toga tu je skup pravila prezapisivanja (negde se
nazivaju i demodulatorima), i skup parametara i klauzula kojih utiˇcu na
kontrolnu strategiju (strategiju upravljanja sistemom).
5.3 Primeri
Kratko ´cemo izloˇziti primer sistema za ADT - ACL2 kao naslednika
klasiˇcnog NQTHM (interpreterski i interaktivno nastrojen), COQ i Mizar
kao primeri pomagaˇca u dokazivanju (proof assistant) inspirisan problemom
formalizacije uobiˇcajenog matematiˇckog jezika (CML, Common Mathematic
Language - u smislu neformalnog ali opˇste prihva´cenog jezika u svakodnevnoj
upotrebi u matematici, naspram npr. Automath-a kao formalnog jezika,
N.G. de Bruijn, 1967). Mizar je prevodilaˇcki nastrojen naspram sistema
sliˇcne namene kao ˇsto je COQ (i drugih u LCF klasi (logika izraˇcunljivih
funkcija kao proˇsirenje PR1) kao ˇsto su HOL, Isabelle, NuPrl - HOL ima
,,mod” koji implementira Mizar) koji je interaktivnog karaktera. Pored
ostalih razlika, COQ je manje izraˇzajan od Mizara (ima i donekle slabije
razvijenu biblioteku matematiˇckih teorija), mada je sintaksa priliˇcno intu-
itivna, i koristi zakljuˇcivanje unazad (Mizar preteˇzno koristi zakljuˇcivanje
unapred). S druge strane, COQ se lakˇse moˇze proˇsiriti (ˇcak i za neki vid
ADT, npr. kreira algoritam, dokaˇze njegovu ispravnost a onda ga izvrˇsi),
i uopˇste, bliˇzi je raˇcunarskoj (WTT) zajednici i teoriji algoritama (ˇzivlji je
u smislu zajednice koja ga podrˇzava, daleko bolje dokumentovan i podrˇzan
u odnosu na Mizar, viˇse je ,,mainstream”). Primer zapisa De Morganovih
zakona:
Lemma not_all_ex_not :
forall P:U -> Prop, ~ (forall n:U, P n) -> exists n : U, ~ P n.
Proof.
unfold not in |- *; intros P notall.
apply NNPP; unfold not in |- *.
intro abs.
cut (forall n:U, P n); auto.
intro n;
100.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 99
apply NNPP. unfold not in |- *; intros.
apply abs; exists n; trivial.
Qed.
COQ je posebno interesantan i kao ˇskoljka za Why, sistem za formalno dokazi-
vanje ispravnosti softvera i njegov front-end za Java kod - Krakatoa. Postoji
npr. sliˇcan projekat Bali baziran na Isabelle/HOL okruˇzenju (dokazivanje
ispravnosti Javalight
koda), mada je COQ pristupaˇcniji (i zastupljeniji na
ve´cem broju platformi). Viˇse o svemu tome na [WWW] - primer COQ sesije:
Coq < Section Minimal_Logic.
Coq < Variables A B C : Prop.
A is assumed
B is assumed
C is assumed
Coq < Check (A -> B).
A -> B
: Prop
Coq < Goal (A -> B -> C) -> (A -> B) -> A -> C.
1 subgoal
A : Prop
B : Prop
C : Prop
============================
(A -> B -> C) -> (A -> B) -> A -> C
Coq < intro H.
1 subgoal
A : Prop
B : Prop
C : Prop
H : A -> B -> C
============================
(A -> B) -> A -> C
Coq < intros H HA.
1 subgoal
A : Prop
B : Prop
C : Prop
101.
100 Semestralni rad
H: A -> B -> C
H : A -> B
HA : A
============================
C
Coq < apply H.
2 subgoals
A : Prop
B : Prop
C : Prop
H : A -> B -> C
H : A -> B
HA : A
============================
A
subgoal 2 is:
B
Coq < exact HA.
1 subgoal
A : Prop
B : Prop
C : Prop
H : A -> B -> C
H : A -> B
HA : A
============================
B
Coq < apply H.
1 subgoal
A : Prop
9
B : Prop
C : Prop
H : A -> B -> C
H : A -> B
HA : A
============================
A
102.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 101
Coq < assumption.
Proof completed.
Coq < Save trivial_lemma.
intro H.
intros H HA.
apply H.
exact HA.
apply H.
assumption.
trivial_lemma is defined
Uopˇste, svaki ADT podrazumeva i neki sopstveni formalni jezik ˇcija
izraˇzajnost zavisi od domena primene i karaktera sistema (nije obavezno
cilj pokazati da je ekvivalentan CML, ali je to svakako poˇzeljna osobina).
Postoje i mnogi jezici koji su ekvivalentni CML i koji se obiˇcno koriste kao
med¯u-oblik zapisa teorema i iskaza ADT i CML. Jedan od takvih je i teorija
slabih tipova (WTT, Weak Type Theory, Rob Nederpelt, Fairouz Kamared-
dine). Mizar npr. ne podrˇzava kruˇzne definicije (za razliku od CML, mada
pretpostavlja ZF aksiome i varijantu aksiome izbora) i nije toliko blizak CML
kao WTT (Reliability Criterion - cilj je da se do atomskih izraza neformalni
CML ˇsto viˇse poklapa sa nekim formalnim jezikom). Mizar tako karakteriˇse
i jedna od najve´cih baza formalizama (i odgovaraju´cih teorema i dokaza) za-
hvaljuju´ci otvorenom konceptu koji podrazumeva mogu´cnost velikikog broja
ljudi koji mogu da joj doprinesu (svaki novi definisan pojam npr. nalazi se u
posebnoj .miz datoteci - ˇclanku, sliˇcno datotekama koje se dodaju include di-
rektivom u C kodu, a korpus takvih ˇcini Mizarovu MML biblioteku, zajedno
sa odgovaraju´com .voc datotekom novih leksiˇckih pojmova), iako nije toliko
poznat i u upotrebi kao ACL2, HOL ili COQ. Primer Mizar koda i dokaza
kontradikcijom:
theorem
for n being Natural holds P[n]
proof
let n be Natural;
assume not P[n]; :: (komentar) dokazati kontradikcijom
... :: koraci dokaza
contradiction;
hence thesis;
end;
103.
102 Semestralni rad
Kucanjemmizf primer (dodaje ekstenziju .miz ako nije navedena) se pokre´ce
provera ispravnosti dokaza i greˇske (ako ih ima) se upisuju direktno u samu
datoteku.
ACL2 je interaktivan sistem i popularna ˇskoljka za ADT u punom smislu,
i baziran je na pravilima prezapisivanja (rewriting - pravila su grupisana
u klase i moˇze se meta-pravilima uticati na njih, sliˇcno produkcionim sis-
temima). ACL2 (prirodno) koristi pojam rekurzivne funkcije i predstavlja
PR1 u tom smislu (uz neka ograniˇcenja u vezi ordinala i principa ekstenzion-
alnosti u teoriji skupova). Rad u ACL2 je sliˇcan radu u nekom od LISP inter-
pretatora. Med¯utim, ACL2 zapis nije blizak CML ˇsto predstavlja jednu od
njegovih loˇsih strana. Primer jedne sesije u ACL2 na jednostavnom primeru
funkcije app koja spaja dve liste (defthm na kraju izvodi dokaz o asocija-
tivnosti takve operacije pod nazivom ASSOCIATIVITY-OF-APP):
ACL2 !>(defun app (x y)
(cond ((endp x) y)
(t (cons (car x)
(app (cdr x) y)))))
The admission of APP is trivial, using the relation O< (which is
known to be well-founded on the domain recognized by O-P) and the
measure (ACL2-COUNT X). We observe that the type of APP is
described by the theorem (OR (CONSP (APP X Y)) (EQUAL (APP X Y) Y)).
We used primitive type reasoning.
Summary Form: ( DEFUN APP ...) Rules: ((:FAKE-RUNE-FOR-TYPE-SET
NIL)) Warnings: None Time: 0.01 seconds (prove: 0.00, print: 0.00,
other: 0.01)
APP
ACL2 !>(app (list 1 2 3 "x") (list 4 5 6 7)) (1 2 3 "x" 4 5 6 7)
ACL2 !> (defthm associativity-of-app
(equal (app (app a b) c)
(app a (app b c))))
104.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 103
Name the formula above *1.
Perhaps we can prove *1 by induction. Three induction schemes are
suggested by this conjecture. Subsumption reduces that number to
two. However, one of these is flawed and so we are left with one
viable candidate.
We will induct according to a scheme suggested by (APP A B). This
suggestion was produced using the :induction rule APP. If we let
(:P A B C) denote *1 above then the induction scheme we’ll use is
(AND (IMPLIES (AND (NOT (ENDP A)) (:P (CDR A) B C))
(:P A B C))
(IMPLIES (ENDP A) (:P A B C))).
This induction is justified by the same argument used to admit APP.
When applied to the goal at hand the above induction scheme produces
the following two nontautological subgoals.
Subgoal *1/2 (IMPLIES (AND (NOT (ENDP A))
(EQUAL (APP (APP (CDR A) B) C)
(APP (CDR A) (APP B C))))
(EQUAL (APP (APP A B) C)
(APP A (APP B C)))).
By the simple :definition ENDP we reduce the conjecture to
Subgoal *1/2’ (IMPLIES (AND (CONSP A)
(EQUAL (APP (APP (CDR A) B) C)
(APP (CDR A) (APP B C))))
(EQUAL (APP (APP A B) C)
(APP A (APP B C)))).
But simplification reduces this to T, using the :definition APP,
primitive type reasoning and the :rewrite rules CAR-CONS and
CDR-CONS.
Subgoal *1/1 (IMPLIES (ENDP A)
(EQUAL (APP (APP A B) C)
(APP A (APP B C)))).
105.
104 Semestralni rad
Bythe simple :definition ENDP we reduce the conjecture to
Subgoal *1/1’ (IMPLIES (NOT (CONSP A))
(EQUAL (APP (APP A B) C)
(APP A (APP B C)))).
But simplification reduces this to T, using the :definition APP and
primitive type reasoning.
That completes the proof of *1.
Q.E.D.
Summary Form: ( DEFTHM ASSOCIATIVITY-OF-APP ...) Rules:
((:DEFINITION APP)
(:DEFINITION ENDP)
(:DEFINITION NOT)
(:FAKE-RUNE-FOR-TYPE-SET NIL)
(:INDUCTION APP)
(:REWRITE CAR-CONS)
(:REWRITE CDR-CONS))
Warnings: None Time: 0.02 seconds (prove: 0.00, print: 0.02,
other: 0.00)
ASSOCIATIVITY-OF-APP
ACL2 !>
ACL2 je takod¯e modularno organizovan u takozvane ,,knjige” (books) koje
predstavljaju celine sa definicijama pojmova sa dokazima ispravnosti defini-
cija, kao i dokaze teorema i drugo - primer dokaza da je element drveta list
akko pripada listi koju vra´ca fringe (koji ,,pegla” drvo):
(defun fringe (x)
(if (consp x)
(append (fringe (car x))
(fringe (cdr x)))
(list x)))
(defun leaf-p (atm x)
106.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 105
(if (consp x)
(or (leaf-p atm (car x))
(leaf-p atm (cdr x)))
(equal atm x)))
(defthm leaf-p-iff-member-fringe
(iff (leaf-p atm x)
(member-equal atm (fringe x))))
ACL2 !>(fringe ’((a . b) c . d))
(A B C D)
Isto tako se moˇze napraviti model nekog logiˇckog sklopa, testirati (i demon-
strirati) njegov rada, a onda dokazati ispravnost prema specifikacijama. Mogu
se koristiti sve uobiˇcajene Common LISP konstrukcije, a koriste se i mnoge di-
rektive (koje poˇcinju dvotaˇckom, npr. :pe za prikazivanje definicije funkcije)
i ugrad¯ene funkcije, a ispod je primer pozivanja glavne petlje sa zadatom
ulaznom datotekom i preusmerenim standardnim izlazom:
ACL2 !>:pe MEMBER-EQUAL
V -642 (DEFUN MEMBER-EQUAL (X LST)
"Documentation available via :doc"
(DECLARE (XARGS :GUARD (TRUE-LISTP LST)))
(COND ((ENDP LST) NIL)
((EQUAL X (CAR LST)) LST)
(T (MEMBER-EQUAL X (CDR LST)))))
ACL2 !> (LD "foo.lisp" :ld-pre-eval-print t :standard-co "output.txt")
Primer reˇsavanja problema oblika for all n > 7, there exist naturals i and j
such that: n = 3i + 5j (primer teoreme u NuPrl sistemu) - bez direktiva
je potrebno, recimo, 12.5 sekundi na nekom Pentium IV procesoru, 0.07 uz
njihovu upotrebu:
(defun bump-i (x)
;; Bump the i component of the pair
;; (i . j) by 1.
107.
106 Semestralni rad
(cons(1+ (car x)) (cdr x)))
(defun split (n)
;; Find a pair (i . j) such that
;; n = 3i + 5j.
(if (or (not (integerp n)) (< n 8))
nil ;; any value is really reasonable here
(if (equal n 8)
(cons 1 1)
(if (equal n 9)
(cons 3 0)
(if (equal n 10)
(cons 0 2)
(bump-i (split (- n 3))))))))
(defthm split-splits
(let ((i (car (split n)))
(j (cdr (split n))))
(implies (and (integerp n)
(< 7 n))
(and (integerp i)
(<= 0 i)
(integerp j)
(<= 0 j)
(equal (+ (* 3 i) (* 5 j))
n)))))
(defun-sk split-able (n)
(exists (i j)
(equal n (+ (* 3 i) (* 5 j)))))
(defthm split-splits2
(implies (and (integerp n)
(< 7 n))
(split-able n))
:hints (("Goal" :use (:instance split-able-suff
(i (car (split n)))
(j (cdr (split n)))))))
108.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 107
Uopˇste, upotreba lema i uopˇste paˇzljivo uticanje na proces dokazivanja teo-
rema je neophodno, kao i razumevanje ograniˇcenja ovakvog jednog sistema
da bi se uspeˇsno koristio (kao i bilo kojeg ADT).
5.4 Automatsko planiranje
Automatsko planiranje i raspored¯ivanje (Automatic Planning and Schedul-
ing) tiˇce se strategije ili redosleda akcija (koje obiˇcno izvrˇsavaju inteligentni
agenti) obiˇcno radi postizanja nekih zadatih ciljeva. Pri tom se ˇcesto reˇsava
takav problem u uslovima koji se vremenom menjaju ili upoznaju ˇsto znaˇci da
je onda planiranje dinamiˇcki proces. Koriste se poznate metode veˇstaˇcke in-
teligencije i maˇsinskog uˇcenja (uˇcenje ojaˇcavanjem), automatsko zakljuˇcivanje
i ADT, Grinov metod (upotebom jezika PR1 i rezolucije), dinamiˇcko pro-
gramiranje, kombinatorna optimizacija. Svaki planer ima poˇcetno stanje, cilj
i bazu znanja tj. mogu´ce akcije. STRIPS je primer sistema za automatsko
planiranje, a jedan od mogu´cih pristupa je hijerarhijsko planiranje koje po-
drazumeva hijerarhijsku mreˇzu poslova (HMP, hierarchical task network) gde
svaki posao moˇze biti:
• primitivan - kao akcija kod STRIPS-a
• sloˇzen - niz ili grananje primitivnih ili sloˇzenih poslova
• ciljni poslovi - uopˇsteni (sloˇzeni) ciljevi sliˇcno STRIPS-u
Mreˇza ovakvih poslova podrazumeva i dodatne uslove koji vaˇze med¯u poslovima
i predstavljaju preduslove da bi se neki posao postigao. To je i osnovna ra-
zlika izmed¯u obiˇcnog STRIPS-olikog i HMP automatskog planera. Dekom-
pozicija (ˇsirenje, expansion, ili skupljanje, reduction) sloˇzenog posla na pot-
poslove je njima uslovljena. ˇStaviˇse, pokazuje se da je HMP ekspresivniji od
STRIPS-a, a ne samo optimalniji. U smislu ekspresivnosti modela teorije
(Baader) suˇstina je da je domen planiranja kod STRIPS-a generisan regu-
larnom gramatikom (konaˇcni automat gde su stanja elemnti domena, prelazi
odgovaraju´ce akcije i ciljevi zavrˇsna stanja), dok kod HMP-a to nemora biti
regularan skup (sliˇcno je i u smislu operacione ekspresivnosti). Izvrˇsavanje
posla se moˇze shvatiti kao metod, konstrukcija oblika (α, d), gde je α (sloˇzeni)
posao a d je mreˇza poslova. Naˇcin da se postigne zadatak α je da se postignu
svi zadaci mreˇze d bez krˇsenja uslova te mreˇze. Odnose u procesu dekom-
pozicije reˇsavaju kritiˇcari (critics), mehanizmi koje je istorijski uveo NOAH
109.
108 Semestralni rad
planer(Sacerdoti, 1977, npr. prati se utroˇsak neke sirovine izborom grane
dekompozicije koji utiˇce na ostale) i koji reˇsavaju konflikte nastale dekom-
pozicijom (ne samo posledice obrisanih uslova nakon skupljanja ve´c i druge
interakcije med¯u poslovima koje mogu smanjiti backtracking). Skica HMP
procedure planiranja:
1. Ulaz: problem planiranja P
2. Ako P sadrˇzi samo primitivne poslove, onda razreˇsi sukobe u P i vrati
rezultat, ako ne postoji razreˇsenje, vrati neuspeˇsno planiranje
3. Izaberi sloˇzen posao t u P
4. Izaberi proˇsirenje za t
5. Zameni t sa proˇsirenjem
6. Upotrebi kritiˇcare za interakcije med¯u poslovima koji daju predloge za
razreˇsavanje nastalih sukoba
7. Primeni jedan od naˇcina u prethodnom koraku
8. Idi na korak 2
5.4.1 UMCP i hijerarhijsko planiranje
Formalizam HMP sliˇcno Grinovoj metodi koristi jezik PR1 sa proˇsirenjima
i zasniva se na proceduri kakva je UMCP (Universal-Method Composition
Planner) npr. kod sistema NONLIN (Tate, 1990) - ta metoda je saglasna
(ako UMCP vrati plan koji postiˇze cilj na osnovu zadatog poˇcetnog stanja
i svih modela koji zadovoljavaju metode i operatore), i kompletna (kada
god UMCP ne uspe da vrati plan, onda ne postoji plan koji postiˇze cilj na
osnovu zadatog poˇcetnog stanja i svih modela koji zadovoljavaju metode i
operatore). Prethodni algoritam samo je skica prave UMCP procedure, de-
talji formalizma i algoritma se mogu na´ci u [HTN]. Ukratko, HMP je odred¯en
strukturom (V, C, P, F, T, N) gde je V skup simbola promenljivih, C konaˇcan
skup simbola konstanti (osnovnih parametara), P skup simbola predikata, F
je skup simbola pritivnih poslova (akcija), T je skup simbola sloˇzenih poslova,
N skup labela poslova. Stanje je lista osnovnih (ground) atoma, primitivan
posao je oblika do[f(x1, ..., xk)], f ∈ F i xi su termi, cilj je posao achive(l) (l je
literal), a sloˇzen posao (zadatak) je oblika perform[t(x1, ..., xk)], t ∈ T. Plan
110.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 109
je niz σ primitivnih poslova, mreˇza poslova je oblika [(n1 : α1)....(nm : αm), φ]
gde su αi pojedini zadaci, ni labele (da bi se razlikovala ponavljanja zadataka
u nizu) i φ Bulova funkcija sa uslovima (constraints) oblika v = v , n n i
uslovi stanja - primer formalnog zapisa mreˇze poslovav (grafiˇcki i formalni):
Operator je konstrukcija oblika [operatorf(v1, ..., vk)(pre : l1, ..., lm)([post :
l 1, ..., l n)] gde je f primitvni zadatak, li literali koji opisuju preduslove a l i
posledice. Domen planiranja je par D = (Op, Me) gde je Op lista opera-
tora, a Me lista metoda (α, d) (implicitno za svaki zadatak postoji metod
(achieve[l], [(n : do[dummy]), (l, n)]) gde uslov stanja kaˇze da je cilj l taˇcan
odmah pre do[dummy]). Semantiˇcka struktura za prethodno opisan jezik je
trojka (SM , FM , TM ) gde je S je skup stanja, F : F × C∗
× S → S funkcija
parcijalnog interpretiranja akcija, T preslikavanje iz skupa sloˇzenih poslova
u skupove mreˇza primitivnih poslova - model M zadovaljava domen D za
sve date operatore i metode (ˇsto se posebno definiˇse). Problem planiranja,
odnosno njegova instanca, je onda trojka P = (d, I, D) gde je I inicijalno
stanje, a predikatom solves(σ, d, I) se tvrdi da je plan σ plan za mreˇzu d
i poˇcetno stanje I. Detalji i potpuno formalno zasnivanje se mogu na´ci u
[HTN].
Postoje implementacije u LISP-u ([WWW]) koje se oslanjaju na ovakav
formalizam (ukljuˇcuju´ci i Nonlin; naslednik UMCP-a je SHOP). Primer defini-
cije operatora i metoda (iseˇcak iz sveta blokova), kao i pokretanja traˇzenja
cilja:
(operator restack (x y z)
:pre ((clear x)(on x y)(clear z))
111.
110 Semestralni rad
:post((~on x y)(~clear z)(clear y)(on x z)))
(declare-method clear(x)
:expansion ((n1 clear y)
(n2 unstack y x))
:formula (and (not (veq x table))
(ord n1 n2)
(between (clear y) n1 n2)
(before (on y x) n1)))
....
;;;; ---- Loading Possible Effects Table -----
(load-poss-effects-table)
;; To run this problem load this file and then ;; >(sussman-anomaly)
;; >(search-for-plan goal :strategy :bestfs)
(defun sussman-anomaly()
(clear-initial-state)
(initially-true (on C A)(on B table)(on A table)
(clear C)(clear B))
(setq goal (create-tn (and (after (on A B) (last n1 n2))
(after (on B C) (last n1 n2)))
(n1 on A B)(n2 on B C))))
(defun prob1 ()
(clear-initial-state)
(initially-true (on C A)(on B table)(on A table)
(clear C)(clear B))
(setq goal (create-tn T (n on A B))))
...
Ako se napusti determinizam situacija (i akcija) onda se mogu koristiti Markovl-
jevi procesi, fazi algoritmi ili neuronske mreˇze, kao i druge sliˇcne metode i
kombinacije navedenih.
112.
Osnove veˇstaˇcke inteligencijeII (vizija i govor) 111
Knjige koriˇs´cene tokom pisanja ovog rada, kao i sajtovi sa dokumentaci-
jom -
Literatura
[CV] Computer Vision - Ballard, Brown
[RS] Digital Processing of Speech Signals, L. R. Rabiner, R. W. Schafer
[cvmodern] Computer Vision - A Modern Approach, David A. Forsyth, Jean
Ponce (Prenitce Hall, 2002)
[CVSS] Computer Vision, L. Shapiro, G. Stockman, 2000.
[cvapp] Computer Vision and Application, (Academic Press) Bernard Jahne,
Horst Haussecker, 2000
[cvalg] Computer Vision Algorithms In Image Algebra, Gerhard X. Ritter,
Joseph N. Wilson (CRC Press, 2001)
[NGM] New Geometric Methods for Computer Vision: an application to
structure and motion estimation, J. Lasenby, A.N. Lasenby, C.J.L. Do-
ran, W.J. Fitzgerald, 1996.
[OP] Signals and Systems - An Introduction to Analog and Digital Signal
Processing - Alan V. Oppenheim
[HMM] A Tutorial on Hidden Markov Models and Selected Applications in
Speech Recognition, Lawrence R. Rabiner
[DBN] Continuous Speech Recognition Using Dynamic Baesian Networks:
A Fast Decoding Algorithm, M. Deviren, K. Daoudi
[BW] HMM and the Baum-Welch Algorithm, IEEE IT Society Newsletter,
Lloyd R. Welch - http://www.itsoc.org/publications/nltr/it_dec_03final.pdf
[HTN] Semantics for Hierarchical Task-Network Planning, Kutluhan Erol,
James Hendler, Dana S. Nau, Technical report CS-TR-3239, 1994.
[DTW] Development of a DTW based Speech Recognition System over the
telephone line, Frank Formaz, Manish Goyal, Olivier Bornet - IDIAP-
COM 01-05
113.
112 Semestralni rad
[PATR]Pattern Recognition in Speech and Language Processing, ISBN 0-
8493-1232-9, Georgia Institute of Technology, 2003.
[cvedge] Advanced Edge Detection Techniques - The Canny and the Shen-
Castan Methods Computer Vision, Linda Shapiro, George Stockman
2000
[face] Computer Vision Face Tracking For Use in a Perceptual User Interface,
Gary B. Gradski, Microcomputer Research Lab, Intel Corporation
[TS] Temporal Sensitivity, Andrew B. Watson, NASA ARS
[track] A Real-Time Computer Vision System for Vehicle Tracking and Traf-
fic Surveillance, Berkeley, 1998.
[MP] Digitalna obrada signala, Miodrag V. Popovi´c, 1994.
[MAAI] Artificial Intelligence, A Modern Approach, Stuart J. Russell and
Peter Norvig
[NNALG] James A. Freeman, David M. Skapura: Neural Networks - Algo-
rithms, Applications and Programming Techniques, (Addison Wesley)
1991.
[AR] From Image Analysis to Computer Vision: An Annotated Bibliography,
19551979, Azriel Rosenfeld
[csp] Interactive Constraint Satisfaction Problems For Artificial Vision,
Marco Gavanelli
[mizar] Mizar: An Impression, Freek Wiedijk
[MA2] Matematiˇcka analiza II, Duˇsan Adnad¯evi´c, Zoran Kadelburg
[vis] Verovatno´ca i statistika, Zoran Ivkovi´c
[TB] Donald E. Knuth: The TeXbook
[PG] Predrag Janiˇci´c, Goran Nenadi´c: OSNOVI LATEX-A