SlideShare a Scribd company logo
1 of 114
Download to read offline
Semestralni rad: Osnove veˇ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 inteligencije II (vizija i govor) 1
Sadrˇzaj
1 Uvod 3
2 Digitalna obrada signala 4
2.1 Konvolucija . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 FIR i IIR sistemi . . . . . . . . . . . . . . . . . . . . . 9
2.2 Posebne reprezentacije i transformacije . . . . . . . . . . . . . 9
2.3 z-transformacija i Laplasova transformacija . . . . . . . . . . . 9
2.4 Furijeova transformacija . . . . . . . . . . . . . . . . . . . . . 10
2.4.1 Diskretna Furijeova transformacija - DFT i FFT . . . . 11
2.4.2 Kratkotrajne tranformacije . . . . . . . . . . . . . . . . 12
2.5 Uzorkovanje, aliasing i kvantizacija, digitalni filteri . . . . . . 13
3 Govor 16
3.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 Govorni signal, osnovno reprezentovanje i metode obrade govora 17
3.3 Modeli govornog signala . . . . . . . . . . . . . . . . . . . . . 19
3.4 Reprezentovanja govornog signala . . . . . . . . . . . . . . . . 21
3.4.1 Detektovanje pauze . . . . . . . . . . . . . . . . . . . . 22
3.4.2 Osnovna visina . . . . . . . . . . . . . . . . . . . . . . 22
3.4.3 Formanti, spektografski parametri, cepstrum . . . . . . 24
3.4.4 Stohastiˇcki modeli . . . . . . . . . . . . . . . . . . . . 26
3.4.5 Ostali parametri . . . . . . . . . . . . . . . . . . . . . 26
3.5 Analiza sintezom i linearna prediktivna analiza . . . . . . . . . 28
3.6 Lanci Markova . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.6.1 Skriveni lanci Markova . . . . . . . . . . . . . . . . . . 30
3.6.2 Viterbi algoritam, Baum-Velˇc . . . . . . . . . . . . . . 32
3.6.3 Dinamiˇcke Bajesove mreˇze . . . . . . . . . . . . . . . . 34
3.7 Neuronske mreˇze i govor . . . . . . . . . . . . . . . . . . . . . 35
3.7.1 Prostorno-vremenske mreˇze . . . . . . . . . . . . . . . 36
4 Vizija 42
4.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2 Reprezentovanje . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2.1 Geometrija slika i vizija . . . . . . . . . . . . . . . . . 45
4.3 Boja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.4 Teselacija slike i metrika . . . . . . . . . . . . . . . . . . . . . 49
2 Semestralni rad
4.5 Algebra slika . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.6 Poˇcetna obrada . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.6.1 Operatori ivice i otkrivanje ivica . . . . . . . . . . . . . 61
4.6.2 Relaksacija ivice . . . . . . . . . . . . . . . . . . . . . 63
4.6.3 Otkrivanje ivica . . . . . . . . . . . . . . . . . . . . . . 63
4.6.4 Medijalna osa i skeletonizacija . . . . . . . . . . . . . . 65
4.7 Segmentirana slika . . . . . . . . . . . . . . . . . . . . . . . . 66
4.7.1 Hafova transformacija . . . . . . . . . . . . . . . . . . 67
4.7.2 Pretraˇzivanje grafova . . . . . . . . . . . . . . . . . . . 69
4.7.3 Dinamiˇcko programiranje . . . . . . . . . . . . . . . . . 70
4.7.4 Pra´cenje konture . . . . . . . . . . . . . . . . . . . . . 71
4.8 Narastanje oblasti . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.8.1 Bojenje mehura (oznaˇcavanje) . . . . . . . . . . . . . . 73
4.8.2 Algoritam povezanih komponenti . . . . . . . . . . . . 74
4.8.3 Narastanje oblasti odsecanjem . . . . . . . . . . . . . . 75
4.8.4 Razdvajanje i spajanje . . . . . . . . . . . . . . . . . . 75
4.8.5 Topljenje granica i grafovi . . . . . . . . . . . . . . . . 76
4.8.6 Grafovi . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.8.7 Semantiˇcko segmentiranje . . . . . . . . . . . . . . . . 78
4.9 Teksture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.10 Upored¯ivanje i geometrija . . . . . . . . . . . . . . . . . . . . 82
4.10.1 Relaciono upored¯ivanje . . . . . . . . . . . . . . . . . . 84
4.11 Neuronske mreˇze i vizija . . . . . . . . . . . . . . . . . . . . . 88
4.11.1 (Neo)kognitron . . . . . . . . . . . . . . . . . . . . . . 89
5 Automatsko dokazivanje teorema i planiranje 93
5.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2 Automatsko dokazivanje teorema, pregled . . . . . . . . . . . 93
5.3 Primeri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.4 Automatsko planiranje . . . . . . . . . . . . . . . . . . . . . . 107
5.4.1 UMCP i hijerarhijsko planiranje . . . . . . . . . . . . . 108
Osnove veˇstaˇcke inteligencije II (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.
4 Semestralni rad
2 Digitalna 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
Osnove veˇstaˇcke inteligencije II (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)
6 Semestralni rad
ili ekvivalentno: 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 δ
Osnove veˇstaˇcke inteligencije II (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)
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-
Osnove veˇstaˇcke inteligencije II (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
10 Semestralni rad
Neke vaˇ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
Osnove veˇstaˇcke inteligencije II (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
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
Osnove veˇstaˇcke inteligencije II (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
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-
Osnove veˇstaˇcke inteligencije II (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).
16 Semestralni rad
3 Govor
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).
Osnove veˇstaˇcke inteligencije II (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
18 Semestralni rad
for i := 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].
Osnove veˇstaˇcke inteligencije II (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.
20 Semestralni rad
Glas tako 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):
Osnove veˇstaˇcke inteligencije II (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:
22 Semestralni rad
3.4.1 Detektovanje 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.
Osnove veˇstaˇcke inteligencije II (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:
24 Semestralni rad
3.4.3 Formanti, 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:
Osnove veˇstaˇcke inteligencije II (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
26 Semestralni rad
svakih Dk 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:
Osnove veˇstaˇcke inteligencije II (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:
28 Semestralni rad
3.5 Analiza 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.
Osnove veˇstaˇcke inteligencije II (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
30 Semestralni rad
funkciju optimalnog 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
Osnove veˇstaˇcke inteligencije II (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
32 Semestralni rad
posmatranja Ot 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:
Osnove veˇstaˇcke inteligencije II (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.
34 Semestralni rad
Odred¯ivanjem frekvencije 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.
Osnove veˇstaˇcke inteligencije II (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
36 Semestralni rad
(moˇze se 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
Osnove veˇstaˇcke inteligencije II (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
38 Semestralni rad
redom PE 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
Osnove veˇstaˇcke inteligencije II (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:
40 Semestralni rad
function activation(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}
Osnove veˇstaˇcke inteligencije II (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).
42 Semestralni rad
4 Vizija
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
Osnove veˇstaˇcke inteligencije II (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
44 Semestralni rad
biti efikasniji). 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
Osnove veˇstaˇcke inteligencije II (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 )
46 Semestralni rad
Kod stereovizije (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
Osnove veˇstaˇcke inteligencije II (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,
48 Semestralni rad
ili Lightness, 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
Osnove veˇstaˇcke inteligencije II (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:
50 Semestralni rad
su prikazana 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
Osnove veˇstaˇcke inteligencije II (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
52 Semestralni rad
taˇckastim operacijama 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
Osnove veˇstaˇcke inteligencije II (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
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.
Osnove veˇstaˇcke inteligencije II (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:
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.
Osnove veˇstaˇcke inteligencije II (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.
58 Semestralni rad
Operatori ivice - 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)
Osnove veˇstaˇcke inteligencije II (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
60 Semestralni rad
ovakvom strukturom 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).
Osnove veˇstaˇcke inteligencije II (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:
62 Semestralni rad
Pokazalo se 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:
Osnove veˇstaˇcke inteligencije II (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
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.
Osnove veˇstaˇcke inteligencije II (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):
66 Semestralni rad
4.7 Segmentirana 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:
Osnove veˇstaˇcke inteligencije II (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:
68 Semestralni rad
φ1 r1
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:
Osnove veˇstaˇcke inteligencije II (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).
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2
Veštačka inteligencija 2

More Related Content

Similar to Veštačka inteligencija 2

Seminarski diplomskivjerovatnoca i-matematicka-statistika-skripta
Seminarski diplomskivjerovatnoca i-matematicka-statistika-skriptaSeminarski diplomskivjerovatnoca i-matematicka-statistika-skripta
Seminarski diplomskivjerovatnoca i-matematicka-statistika-skriptamaturski
 
Arhitektura i-protokoli-voip-mreze
Arhitektura i-protokoli-voip-mrezeArhitektura i-protokoli-voip-mreze
Arhitektura i-protokoli-voip-mrezeseminarskidiplomski3
 
Matemaicka analiza zbirka cikos gizela
Matemaicka analiza zbirka  cikos gizelaMatemaicka analiza zbirka  cikos gizela
Matemaicka analiza zbirka cikos gizelaopanovic
 
Prirucnik za izradu logicke matrtice 2011
Prirucnik za izradu logicke matrtice 2011Prirucnik za izradu logicke matrtice 2011
Prirucnik za izradu logicke matrtice 2011Aleksandra Inić
 
Us modul 2 - korišćenje računara
Us   modul 2 - korišćenje računaraUs   modul 2 - korišćenje računara
Us modul 2 - korišćenje računaraMarija Starcevic
 
Us modul 4 - tabelarne kalkulacije
Us   modul 4 - tabelarne kalkulacijeUs   modul 4 - tabelarne kalkulacije
Us modul 4 - tabelarne kalkulacijeMarija Starcevic
 
Integracija Moodle sms master rad FON
Integracija Moodle sms master rad FONIntegracija Moodle sms master rad FON
Integracija Moodle sms master rad FONbiljana_dj
 
Zbirka-robotika_e_knjiga.pdf robot robot robot
Zbirka-robotika_e_knjiga.pdf robot robot robotZbirka-robotika_e_knjiga.pdf robot robot robot
Zbirka-robotika_e_knjiga.pdf robot robot robotStanisaJankovic1
 
74344813 metodologija-naučnog-rada
74344813 metodologija-naučnog-rada74344813 metodologija-naučnog-rada
74344813 metodologija-naučnog-radaBoris Pokoloko
 
Us diskretna matematika sa zbirkom zadataka - staro izdanje
Us   diskretna matematika sa zbirkom zadataka - staro izdanjeUs   diskretna matematika sa zbirkom zadataka - staro izdanje
Us diskretna matematika sa zbirkom zadataka - staro izdanjeMarija Starcevic
 
Us modul 3 - obrada teksta
Us   modul 3 - obrada tekstaUs   modul 3 - obrada teksta
Us modul 3 - obrada tekstaMarija Starcevic
 
SIT - Master rad - Slaven Ijacic - 410154-2012 FINAL
SIT - Master rad - Slaven Ijacic - 410154-2012 FINALSIT - Master rad - Slaven Ijacic - 410154-2012 FINAL
SIT - Master rad - Slaven Ijacic - 410154-2012 FINALSlaven Ijačić
 
Zbirka iz fizike za 6 razred osnovne skole
Zbirka iz fizike za 6 razred osnovne skoleZbirka iz fizike za 6 razred osnovne skole
Zbirka iz fizike za 6 razred osnovne skoleMomciloBozovic
 
Loudspeakers in modern audio systems
Loudspeakers in modern audio systems Loudspeakers in modern audio systems
Loudspeakers in modern audio systems Jovan Vlajic
 

Similar to Veštačka inteligencija 2 (20)

Seminarski diplomskivjerovatnoca i-matematicka-statistika-skripta
Seminarski diplomskivjerovatnoca i-matematicka-statistika-skriptaSeminarski diplomskivjerovatnoca i-matematicka-statistika-skripta
Seminarski diplomskivjerovatnoca i-matematicka-statistika-skripta
 
Arhitektura i-protokoli-voip-mreze
Arhitektura i-protokoli-voip-mrezeArhitektura i-protokoli-voip-mreze
Arhitektura i-protokoli-voip-mreze
 
Turing Machine Realisation in C
Turing Machine Realisation in CTuring Machine Realisation in C
Turing Machine Realisation in C
 
Matemaicka analiza zbirka cikos gizela
Matemaicka analiza zbirka  cikos gizelaMatemaicka analiza zbirka  cikos gizela
Matemaicka analiza zbirka cikos gizela
 
Prirucnik za izradu logicke matrtice 2011
Prirucnik za izradu logicke matrtice 2011Prirucnik za izradu logicke matrtice 2011
Prirucnik za izradu logicke matrtice 2011
 
Us modul 6 - prezentacije
Us   modul 6 - prezentacijeUs   modul 6 - prezentacije
Us modul 6 - prezentacije
 
Us kriptologija i
Us   kriptologija iUs   kriptologija i
Us kriptologija i
 
Dinamika2008
Dinamika2008Dinamika2008
Dinamika2008
 
Us operativni sistemi
Us   operativni sistemiUs   operativni sistemi
Us operativni sistemi
 
Us modul 2 - korišćenje računara
Us   modul 2 - korišćenje računaraUs   modul 2 - korišćenje računara
Us modul 2 - korišćenje računara
 
Us modul 4 - tabelarne kalkulacije
Us   modul 4 - tabelarne kalkulacijeUs   modul 4 - tabelarne kalkulacije
Us modul 4 - tabelarne kalkulacije
 
Integracija Moodle sms master rad FON
Integracija Moodle sms master rad FONIntegracija Moodle sms master rad FON
Integracija Moodle sms master rad FON
 
Zbirka-robotika_e_knjiga.pdf robot robot robot
Zbirka-robotika_e_knjiga.pdf robot robot robotZbirka-robotika_e_knjiga.pdf robot robot robot
Zbirka-robotika_e_knjiga.pdf robot robot robot
 
74344813 metodologija-naučnog-rada
74344813 metodologija-naučnog-rada74344813 metodologija-naučnog-rada
74344813 metodologija-naučnog-rada
 
Us diskretna matematika sa zbirkom zadataka - staro izdanje
Us   diskretna matematika sa zbirkom zadataka - staro izdanjeUs   diskretna matematika sa zbirkom zadataka - staro izdanje
Us diskretna matematika sa zbirkom zadataka - staro izdanje
 
Us modul 3 - obrada teksta
Us   modul 3 - obrada tekstaUs   modul 3 - obrada teksta
Us modul 3 - obrada teksta
 
SIT - Master rad - Slaven Ijacic - 410154-2012 FINAL
SIT - Master rad - Slaven Ijacic - 410154-2012 FINALSIT - Master rad - Slaven Ijacic - 410154-2012 FINAL
SIT - Master rad - Slaven Ijacic - 410154-2012 FINAL
 
D183d0bfd183d182d181d182d0b2d0be d0b7d0b0 d0b8d0b7d180d0b0d0b4d183_d0bad0bed0...
D183d0bfd183d182d181d182d0b2d0be d0b7d0b0 d0b8d0b7d180d0b0d0b4d183_d0bad0bed0...D183d0bfd183d182d181d182d0b2d0be d0b7d0b0 d0b8d0b7d180d0b0d0b4d183_d0bad0bed0...
D183d0bfd183d182d181d182d0b2d0be d0b7d0b0 d0b8d0b7d180d0b0d0b4d183_d0bad0bed0...
 
Zbirka iz fizike za 6 razred osnovne skole
Zbirka iz fizike za 6 razred osnovne skoleZbirka iz fizike za 6 razred osnovne skole
Zbirka iz fizike za 6 razred osnovne skole
 
Loudspeakers in modern audio systems
Loudspeakers in modern audio systems Loudspeakers in modern audio systems
Loudspeakers in modern audio systems
 

More from Zoran Popovic

Magistarska teza - prezentacija
Magistarska teza - prezentacijaMagistarska teza - prezentacija
Magistarska teza - prezentacijaZoran Popovic
 
SAP, Linux, Virtualization and ... Itanium
SAP, Linux, Virtualization and ... ItaniumSAP, Linux, Virtualization and ... Itanium
SAP, Linux, Virtualization and ... ItaniumZoran Popovic
 
SSO secure communication flow for web Oracle login
SSO secure communication flow for web Oracle loginSSO secure communication flow for web Oracle login
SSO secure communication flow for web Oracle loginZoran Popovic
 

More from Zoran Popovic (8)

Magistarska teza
Magistarska tezaMagistarska teza
Magistarska teza
 
Magistarska teza - prezentacija
Magistarska teza - prezentacijaMagistarska teza - prezentacija
Magistarska teza - prezentacija
 
Tag
TagTag
Tag
 
SAP, Linux, Virtualization and ... Itanium
SAP, Linux, Virtualization and ... ItaniumSAP, Linux, Virtualization and ... Itanium
SAP, Linux, Virtualization and ... Itanium
 
SSO secure communication flow for web Oracle login
SSO secure communication flow for web Oracle loginSSO secure communication flow for web Oracle login
SSO secure communication flow for web Oracle login
 
Migration to 9i
Migration to 9iMigration to 9i
Migration to 9i
 
ETRAN 2008
ETRAN 2008ETRAN 2008
ETRAN 2008
 
SISY 2008
SISY 2008SISY 2008
SISY 2008
 

Veštačka inteligencija 2

  • 1. Semestralni rad: Osnove veˇ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
  • 2. Osnove veˇstaˇcke inteligencije II (vizija i govor) 1 Sadrˇzaj 1 Uvod 3 2 Digitalna obrada signala 4 2.1 Konvolucija . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.1 FIR i IIR sistemi . . . . . . . . . . . . . . . . . . . . . 9 2.2 Posebne reprezentacije i transformacije . . . . . . . . . . . . . 9 2.3 z-transformacija i Laplasova transformacija . . . . . . . . . . . 9 2.4 Furijeova transformacija . . . . . . . . . . . . . . . . . . . . . 10 2.4.1 Diskretna Furijeova transformacija - DFT i FFT . . . . 11 2.4.2 Kratkotrajne tranformacije . . . . . . . . . . . . . . . . 12 2.5 Uzorkovanje, aliasing i kvantizacija, digitalni filteri . . . . . . 13 3 Govor 16 3.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.2 Govorni signal, osnovno reprezentovanje i metode obrade govora 17 3.3 Modeli govornog signala . . . . . . . . . . . . . . . . . . . . . 19 3.4 Reprezentovanja govornog signala . . . . . . . . . . . . . . . . 21 3.4.1 Detektovanje pauze . . . . . . . . . . . . . . . . . . . . 22 3.4.2 Osnovna visina . . . . . . . . . . . . . . . . . . . . . . 22 3.4.3 Formanti, spektografski parametri, cepstrum . . . . . . 24 3.4.4 Stohastiˇcki modeli . . . . . . . . . . . . . . . . . . . . 26 3.4.5 Ostali parametri . . . . . . . . . . . . . . . . . . . . . 26 3.5 Analiza sintezom i linearna prediktivna analiza . . . . . . . . . 28 3.6 Lanci Markova . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.6.1 Skriveni lanci Markova . . . . . . . . . . . . . . . . . . 30 3.6.2 Viterbi algoritam, Baum-Velˇc . . . . . . . . . . . . . . 32 3.6.3 Dinamiˇcke Bajesove mreˇze . . . . . . . . . . . . . . . . 34 3.7 Neuronske mreˇze i govor . . . . . . . . . . . . . . . . . . . . . 35 3.7.1 Prostorno-vremenske mreˇze . . . . . . . . . . . . . . . 36 4 Vizija 42 4.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.2 Reprezentovanje . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.2.1 Geometrija slika i vizija . . . . . . . . . . . . . . . . . 45 4.3 Boja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.4 Teselacija slike i metrika . . . . . . . . . . . . . . . . . . . . . 49
  • 3. 2 Semestralni rad 4.5 Algebra slika . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.6 Poˇcetna obrada . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.6.1 Operatori ivice i otkrivanje ivica . . . . . . . . . . . . . 61 4.6.2 Relaksacija ivice . . . . . . . . . . . . . . . . . . . . . 63 4.6.3 Otkrivanje ivica . . . . . . . . . . . . . . . . . . . . . . 63 4.6.4 Medijalna osa i skeletonizacija . . . . . . . . . . . . . . 65 4.7 Segmentirana slika . . . . . . . . . . . . . . . . . . . . . . . . 66 4.7.1 Hafova transformacija . . . . . . . . . . . . . . . . . . 67 4.7.2 Pretraˇzivanje grafova . . . . . . . . . . . . . . . . . . . 69 4.7.3 Dinamiˇcko programiranje . . . . . . . . . . . . . . . . . 70 4.7.4 Pra´cenje konture . . . . . . . . . . . . . . . . . . . . . 71 4.8 Narastanje oblasti . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.8.1 Bojenje mehura (oznaˇcavanje) . . . . . . . . . . . . . . 73 4.8.2 Algoritam povezanih komponenti . . . . . . . . . . . . 74 4.8.3 Narastanje oblasti odsecanjem . . . . . . . . . . . . . . 75 4.8.4 Razdvajanje i spajanje . . . . . . . . . . . . . . . . . . 75 4.8.5 Topljenje granica i grafovi . . . . . . . . . . . . . . . . 76 4.8.6 Grafovi . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.8.7 Semantiˇcko segmentiranje . . . . . . . . . . . . . . . . 78 4.9 Teksture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.10 Upored¯ivanje i geometrija . . . . . . . . . . . . . . . . . . . . 82 4.10.1 Relaciono upored¯ivanje . . . . . . . . . . . . . . . . . . 84 4.11 Neuronske mreˇze i vizija . . . . . . . . . . . . . . . . . . . . . 88 4.11.1 (Neo)kognitron . . . . . . . . . . . . . . . . . . . . . . 89 5 Automatsko dokazivanje teorema i planiranje 93 5.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.2 Automatsko dokazivanje teorema, pregled . . . . . . . . . . . 93 5.3 Primeri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 5.4 Automatsko planiranje . . . . . . . . . . . . . . . . . . . . . . 107 5.4.1 UMCP i hijerarhijsko planiranje . . . . . . . . . . . . . 108
  • 4. Osnove veˇstaˇcke inteligencije II (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 2 Digitalna 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 inteligencije II (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 ili ekvivalentno: 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 inteligencije II (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 inteligencije II (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 Neke vaˇ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 inteligencije II (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 inteligencije II (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 inteligencije II (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 3 Govor 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 inteligencije II (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 for i := 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 inteligencije II (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 Glas tako 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 inteligencije II (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.1 Detektovanje 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 inteligencije II (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.3 Formanti, 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 inteligencije II (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 svakih Dk 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 inteligencije II (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.5 Analiza 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 inteligencije II (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 funkciju optimalnog 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 inteligencije II (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 posmatranja Ot 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 inteligencije II (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¯ivanjem frekvencije 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 inteligencije II (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ˇze se 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 inteligencije II (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 redom PE 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 inteligencije II (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 function activation(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 inteligencije II (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 4 Vizija 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 inteligencije II (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 biti efikasniji). 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 inteligencije II (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 Kod stereovizije (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 inteligencije II (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 ili Lightness, 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 inteligencije II (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 su prikazana 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 inteligencije II (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ˇckastim operacijama 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 inteligencije II (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 inteligencije II (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 inteligencije II (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 Operatori ivice - 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 inteligencije II (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 ovakvom strukturom 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 inteligencije II (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 Pokazalo se 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 inteligencije II (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 inteligencije II (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.7 Segmentirana 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 inteligencije II (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 φ1 r1 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 inteligencije II (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).