Zn.k: 8810 p Izdsnje: Prof. dr. LUDVIK GYERGYEK, dipl. ing. Prof. dr. NIKOLA PAVEŠiĆ, dipl. ing. Prof. dr. SLOBODAN RIBARIĆ, dipl. ing. UVOD U RASPOZNAVANJE UZORAKA Recenzenti: Prof. dr. VLADIMIR MUWEVIĆ Prof. dr. STANKO TURK Izdslf.�: Izdavačka radna organizacija TEHNIĆKA KNJIGA Zagreb, Juri�ćeva 10 Za izdBIRla odgolfBrB: Ing. ZVONIMIR VISTRIĆKA Urednik izdBniB: Mr. ŽEUKO HORVATIĆ,dipl. ing. Tehni�ki urednik: SLAVKO VLAHOV .Jezi�ns recenzijB: JOSIP ŽiVKOVIĆ Korigirali: AUTORI Tisak: BIROGRAFIKA, Subotica Tiskano u 2000 primjeraka TiAk dOlfmn: U LISTOPADU 1988.
© G yergyek, Pave§ić, Ribarić, 1988. YU ISBN 86-7059-054-9
Ovo djelo izdano je uz novčanu pomoć Samoupravne interesne zajednice :;l:Oanosti SR Hrvatske kao društveno vrijedna znanstvena knjiga.
Prof. dr Ludvik Gyergyek, dipl. ing.
redovni
član SAZU
Prof. dr Nikola Pavelič, dipl. ing. Prof. dr Slobodan Ribarič, dipl. ing.
UVOD U RASPOZNAVANJE UZORAKA Primjena računala i mikroračunala u sustavima za raspoznavanje uzoraka
TEHNI(;KA KNJIGA. ZAGREB
PREDGOVOR
Raspoznavanje uzoraka predstavlja temelje umjetne percepcije poimanja svijeta strojem. Stroj s percepcijom ima sposobnost da podražajima iz vanjskog svijeta, koji su prisutni na senzorima, dodjeljuje pojmove i na temelju njih i njihovih odnosa zaključuje o svijetu koji ga okružuje. Teorija raspoznavanja tako omogućava oblikovanje prijateljskih korisničkih sučelja ekspertnih sustava i nji hovo izravno povezivanje s okolinom. Pristup teoriji raspoznavanja u ovoj knjizi prividno je klasičan, međutim pored teorije nenumeričkog raspoznavanja složenih uzoraka (npr. slika prirodnih prizora) opisani su i p ostupci učenja (određivanje funkcija odlučivanja pomoću algoritama perceptrona, učenje klasifikatora s mrežom memorijskih elemenata i sL). Ti postupci učenja imaju svoje srodne postupke učenja na području umjetne inteligencije, te učenja u neuronskim mrežama. Na primjer, postupak grupiranja nazvan k-srednjih vrijednosti (poglavlje 3) odgovara Kohonenovoj samoorgani zirajućoj mreži, Gaussov klasifikator (poglavlje 5) odgovara perceptronu, postupak k-bližih susjeda odgovara višerazinskom perceptronu, a optimalni klasifikator Hamm ingovoj neuronskoj mreži. Neuronske mreže su upravo ono područje paralelnih arhitektura računala koje najviše obećava. . Postupci grupiranja (poglavlje 3) uPotrebljavaju se kao sredstvo za istra živanje strukture velikih skupova višedimenzionalnih podataka, a u kontekstu raspoznavanja uzoraka, za "otkrivanje"ra�reda uzoraka koji čovjeku nisu bili poznati. Raspoznavanje uzoraka nije ograničeno samo na rješavanje problema unutar granica čovjekove percepcije, već se bavi i rješava probleme raspoznavanja uzo raka izvan njih (npr. raspoznavanje vrste potresa i njegova predikacija, raspozna vanje slika u različitim dijelovima spektra, raspoznavanje mikroskopskih struktura itd.). Drugi dio knjige opisuje izvedbe sustava za raspoznavanje, arhitekturu računala za obradu slika i model visokoparalenog računala piramidne organizacije. Knjiga je namijenjena studentima elektrotehnike, strojarstva, računarskih znanosti, informatike ali i studentima društvenih znanosti koji u analizi ponašanja složenih sustava (društvo, zajednica, veliki ekonomski sustavi i sl.) moraju upo trebljavati elemente teorije raspoznavanja. Knjiga je namijenjena znanstvenicima i stručnjacima koji rade na projektiranjU, oblikovanju i upotrebi strojeva i sustava s ugrađenom inteligencijom i umjetnom percepcijom. Sadržaj knjige odgovara gradivu predmeta "Raspoznavanje uzoraka" koji se predaju na elektrotehničkim fakultetima u Ljubljani i Zagrebu.
6 Zahvaljujemo se Fakulteti za elektrotehnika, Ljubljana, Elektrotehničkom fakultetu u Zagrebu, Tehničkoj vojnoj akademiji KoV JNA, Zagreb, Razisko valnoj skupnosti Slovenije, SIZ-u za znanost SR Hrvatske i Humboldtova; fondaciji i svima onima koji su na bilo koji način doprinjeli da ovo djelo bude pred Vama. Zagreb, Ljubljana, ruj�a
1988.
Autori
SADRžAJ
UVOD U l.
RASPOZNAVANJE
Ralpoznavaaje uzoraka.
UZORAKA.
.
. .. .. . . .. . .. . . . .... . . . .. .. .. ... .. .
II
.. ...... ... .... .. .. . . . .. . .. ... . . .. .. .. .. . . ... .
1 3
l.l Uvod .. . .. .. .. .. .. .. . . . .. .. .. .. .. ... .. .. .... .. . .... . . . . .. ... . ...... 1.2. Model sustava za raspoznavanj e . . . .. .. .. ..... .. .... . . .. . . . ... ... .. .. ...... 1.3. Skup uzoraka za učenje i skup uzoraka za ispitivanje. . ... .. .. ... .... .. .. .. .. .... 1.4. Primjer raspoznavanja uzoraka. . . .. .. .. .... ........ . .. .. ........... . .... .. LS. Primjeri upotrebe sustava za raspoznavJlnl� : .. .....................' .. .. .... .. 1.6. Odnos umjetne inteligencije i raspoznavanja uzoraka................ ... . . ....... 1.7. Literatura . . . . . .... . . . . . ..... . . ... . ' .. ..... ..... . .. .... . ... .. .........
1 3 IS 18 19 2 0 2 1 22
l. Izbor OtIDOYII.Ih 2.1. 2.2. 2.3. 2.4. 2.S.
.
značajki uzorka. ... .... ..... .. .. . .
. . .. ..... .. ...... .. . . . .
2 3
Uvod. . ... .. .. .. .. .... ... .. .... .. ..... ... . .. .. .. ..... .. .. .. .. .... .. Linearne transformacije. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nelinearne transformacije . . ..... .. .. .. ....... .... .. .. .... . .. .... .. .. . ... Kodiranje osnovnih značajki uzoraka . . . .. .. .. .. . . ... .. .. .... . .. .. .. .. .. . ... Literatura. . . . . . . ........... . ..... ... ... ..... .... . .. .. .. . .. ... .... ...
2 3
24 32 3 3 3 6
3. AaaIiZa arrupa. .. .. .. . .. .... .. .. .... .. . . .. . .. .. .. .. .. ..... .. .... . . ... .
3 7
Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . : . Mj�re � ličnosti . . . .. .... .. . .... .. .. .. .... . ...... .. .. ..... .. .. .... .. .. . . : KrIt� I' �PU'8nJ� ... .. . . . .. .. .. . . .. ..... .... .. .. .. .. ... .. .. .. .. .. .. : : Iterativni postuPCI grupiranja . . .. .. . . .. .. . . . . . . . .. ...................... Postupci grupiranja na temelju teorije grafova . . . .. . . . . . . . . . . . . .. . . . . . . . . ... . . Literatura. . .... . ... ... . . .. .. .. .. .. .. .. ... .... . . .. .. .. ... . . .. .. .... ..
3 7 3 8 39
3.1. 3.2. 3.3. 3.4. 3.S. 3.6.
4.
Uneame fuakdje odlufiv_j..
.
... .. .... ... ... ......... .... ............ .
4.1. Uvod.. ...... . . . ... .... . .... .. .. ... . . ...... . . .. . . .. ......... .... ... 4.2. Linearne funkcije od1učivanja i granice ... .. .. ... . ... .. . . .. .. ... .. .. .. .. .. .. 4.3. Uopćene linearne funkcije odlučivanja .. .. .. ..... ... . .. .. . . ..... .. .. .. . . .. .. 4.4. Gradijentni postupci . . . . . . . . ...... . . . . . .... . . . .. . . . . . . . ..... . .. . . . . . ' . .. 4.S. Postupak učenja s potencijalnim funkcijama. . .. ... . ... .. .. .. ..... .. .. .. . . .. . . 4.6. Literatura. . . . ............ .. ... ... ...... . . . ........ ............ ......
5. Stadad&. S.1. S.2. S.3. S.4. S.S. S.6. S.7.
Idaai8kaclj. uzoraka. ...... .. .... . . . ...... .. ....... .. . ... ....
Uvod.. ... .. .. .. . . ... . ..... . . .... .. ....... .. .. .. .. ..... .. .. .. .... .. Jednostavan test dviju hipoteza .....................................: ..... Bayesov kriterij odlučivanja . .. . . . ',' . ... . . .. ..... ........................ Pravilo minimaks . . ................ ... ............ ............... ... . . ProJirenje na M razreda (M hipoteza) . . .. .. .. .. ... .. .. .. .. .... ..... .. .. .. .. Qqena parametra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Literatura... . . . .. .. .... .. ... .. .. .. .. .. ....... . . .. .. ..... .... .. .... ..
40 Sl S S S 6 56 57 59 6 1 70 74 7S 7S 7S 76 78 80
84
87
8 6. NenumerU!ko (siDtBktič!Jro) raspoznavanje
uzoraka
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . •
6.1. Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2. Elementi formalne teorije jezika .......................................... . 6.3. Raspoznavanje sintaktičkih struktura-tipovi automata ............: . . . . . . . . . . . . . . 6.4. Strukturno razvrstavanje uzoraka......................................... . 6.S. Sintaktičko raspoznavanje uzoraka pomoću stohastičkih jezika ..................... 6.6. Sintaktičko opisivanje uzoraka ........................................... . 6.7. Automatsko generiranje gramatike ......................................... 6.8. Literatura...........................................................
PRIMJERI SUSTAVA ZA RASPOZNAVANjE...............................
18
BI IJO 91 94 'Tl 99
103 106
.
107
7. Primjena ortogona1ne Haarove transformacije u raspoznavanju i automatskom dlJaposticiranJu sipala EKG ......................................... .
109
7.1. Uvod .............................................................. 7.2. Haarova transformacija signala EKG ....................................... 7.3. Raspoznavanje signala EKG ............................................. 7.4. Lesterova dijagnostička metoda ...........................: . . . . . . . . . . . . . .. 7.S. Literatura................................................: . . . . . . . . . .
109
III lIS
120 124
8. Sustav za raspoznavanje brojčano-slovnih znakova......................... .
12S
8.J.' Uvod ............................................................. . 8.2. Konfiguracija sustava za raspoznavanje .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3. Utjecaj translacije, rotacije i povećanja znakova na Fourierove koeficijente - teorijska osnova sustava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . 8.4. Izbor značajki. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . 8.S. Postupak raspoznavanja...............................................'.. 8.6. Literatura............., . . . . . . . . .. ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12S 130
9. Sustav za raspoznavanje rukom pisanih broJa-nih znakova ...................
9.1. Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • • : 9.2. Dvodimenzionalni prilagođeni filtri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • 9.3. Sustav za raspoznavanje zasnovan na dvodimenzionalnim prilagođenim filtrima ....... 9.4. Učenje sustava za raspoznavanje ..................................., . . • • • • 9.S. Sinteza sustava za raspoznavanje rukom pisanih brojčanih znakova ................. 9.6. Rezultati raspoznavanja. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • 9.7. Literatura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • •
13l
137
138 143
144 144 144
14.5 146 146 1.50 1.53
.
1S4
10.1. Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • • • • • 10.2. Sustav za automatsku identifikaciju otisaka prstiju ......................•••••• 10.3. Strukturno razvrstavanje uzoraka otisaka prstiju . . . . . . . . . . . . . . . . . . . . . . . • • • • • • • 10.4. Literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • • • • •
1S4
10. Sustav za k1asifiltaclJu otiuka prstiju...................................
156
161 167
ll. Arbitektura računala
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. • • • • •
168
ILI. Uvod .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
• • • • • •
168 170 173 183 187 192 196
.
.
.
.
.
.
.
.
.
.
.
11.2. Klasifikacija arhitekture računalskih sustava . . . . . . . . . . . . . . . . . . . . . . . . . . • . . • • • • 11.3. Arhitektura tipa SISD von Neumannovo računalo . . . . . . . . . . . . . . . . . . . . . . • . • • 11.4. Arhitektura tipa MISD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • • • • 11.5. Arhitektura tipa SIMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . • 11.6. Arhitektura tipa MIMD ............................................... l l.7. Stogovna arhitektura računalskih sustava ................................... 1 1.8. Literatura ..................................................••.••.•• 12. Računala upravljana tokom podataka ........ '.
200
.
201
12.1. Uvod ..........." . . . . .. . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . 12.2. Računalo s upravljačkim tokom i kritika von Neumannove arhitekture ..............
201 202
.
.
.
.
.
.
.. .. .......
. . . . . . . .
9 12.3. Model paralelne obrade.. ..... . .. . .... .. ... .. .. ... .. .. ... .. . .... ... . ... 12.4. Računala upravljana tokom podataka . ... . .. .. . . ... . . .. ... . ....... . . . . . . . .. 1 2.5. Multiprocesorski sustavi upravljani tokom podataka ..... ....... .... .. .. .. .... . 12. 6. VLSI procesor upravljan tokom podataka.. . ... . ...: .................... .. . . 1 2.7. Literatura.. . . . . . .... . .. . . . .. . . . . . .. ... . .... . .................... ...
203 208 212 215 217
13. Arhitektura ra� za obradu slika .
.. ... ...... ....... . . ........ ......
219
1 3.1 . Uvod .... . ...... . .. ... . . ...... .. .. . ... ... . ....... . ... ... . . . . ...... 13.2. Oprema za obradu slike.. ....... .... ... ..... . . . ............. ... . .. . .... 1 3.3. Paralelne arhitekture računala za obradu slika. . ........ ... .. ........ .. . . . . . . . 1 3.4. Literatura.... . .. .... ... . . ... . . .. . . . .. .. . . .. .. .... . .... .. .... ..... . .
219 225 227 251
.
.
... .. . . . .. .
253
1 4. 1 . Uvod . . . . . . . . . . . . . . . . . • . .. ... . . . ... .. .. ... ..... ..... .. ... .. .... . . . 14.2. Obrada slike primjenom sustava mikroračunala. ..... . . .. ....... .. ...... ... . . . 14.3. Mikroprocesorski klasifikator brojčanih znakova ... . .. . .. . . . . . ... ...... .... . .. 14.4. Sustavi za automatsko raspoznavanje govora. . . .. ...... . ..... ... . . . .... . .... . 14.5. Osnovne komponente sustava za strojni vid . ...... . . ......... .. . ..... ..... . . 14.6. Literatura.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
253 253 2 61 2 69 279 289
IS. MOdel procesora za obradu l raspoznavanje slika. ... .... .. .. .. .. ..... .... .
290
1 5.1 . Uvod . . ....... . . . .. .. ...... . .... .. ..... ... ..... .. ... .. .. .... ... . .. 1 5.2. Paralelizam u obradi i raspoznavanju slika . .. ..... . ..... . .. ........... . . .... 1 5.3. Hijerarhija procesora.. ... ... ... .... .. .. ... ......... .......... ..... .... 1 5.4. Paralelizam na razini slikovne operacije . . . . .. ... . . . ... .. . .. . . " .... . ...... 15.5. Model računala R . . ... ..... .. .. . ..... ... .. . . . ......... ... . .. . . . ...... 1 5.6. Dva primjera ocjene stupnja paralelnosti . . . . .. . .. .. . . ....... . . . ... .. . . . . . . . 15.7. Literatura . . . ..... . . . . . . .. .. .. . . . . . . . ...... .. . . ..'.' ....... ... .. ... ..
290 292 293 299 301 304 308
14. PrimJena mikroprocesora u sustavima za raspoznavanje uzoraka.
Kazalo pojmova . . . ....... . .. . ....... . ... ...... .. . .. . .. . .. .. .. .. ... ..
311
1.
RASPOZNAVANJE UZORAKA
(Prof. dr. Ludvik Gyergyek, dipL ing., prof. dr. Nikola Pavešić, dipL ing., prof. dr. Slobodan Ribarić, dipL ing.)
1.1. UVOD Raspoznavanje je osnovno svojstvo ljudskog bića, odnosno svih živih bića. Raspoznajemo u svakom trenutku našeg života. I upravo sada dok čitate ovaj tekst raspoznajete slova, bjeline i riječi. Covjek raspoznaje objekte koji ga okružuju, kreće se među njima i uspostavlja odnose izmedu njih. Uzroci, u najširem značenju te riječi, jesu opisi objekata i sredstvo kojim tumačimo svijet koji nas okružuje. Ljudsko biće je vrlo savršen informacijski sustav upravo zbog superiornog svojstva raspoznavanja. Kao dijete čovjek najprije nauči razlikovati vizualne uzorke (lice svoje majke, oca i dr.), zvu�ne uzroke (govor, glazbu, šum, ... ), dodirne uzorke (toplo, hladno, ...) itd. S vremenom se djetetu izoštrava sposobnost raspoznavanja, pa je ono sada već sposobno razlikovati na licu osmijeh od ljutnje, razlikovati prijatelja u grupi ljudi i razumjeti što on kaže, razlikovati različite glasove ljudi i različite vrste glazbe, razlikovati umjetničke slike različitih autora i slično. Osim raspoznavanja ftzi�Jdh uzoraka koji pobuđuju naša osjetila (predmeti, geometrijska tijela, biča koja nas okružuju, znakovi na papiru, prikaz elektromagnetskih signala na zaslonu radara i st), čovjek raspoznaje i pojmovne, odnosno apstraktne uzroke. Tako, na primjer, matematičar razlikuje dobro od lošeg rješenja, otkriva elegantan dokaz, sociolog ili psiholog u svojim istraživanji ma nalazi uzorke i razvrstava ih u pojedine grupe i sL Raspoznavanje takvih apstraktnih uzoraka naziva se pojmovno raspoznavanje (engl. conceptual recognition). Iako čovjek od samog rođenja neprestano raspoznaje fizičke i apstraktne uzorke i na temelju toga se snalazi u svijetu koji ga okružuje, te saobraća s drugim ljudima, vrlo bi teško mogao opisati postupak raspoznavanja. Na primjer, teško bi objasnio na temelju kojih značajki razlikuje glasove različitih govornika. Vještina raspoznavanja razvija se tisućljećima, međutim znanost o raspozna vanju uzoraka nalazi se u povojima. Tek u posljednja tri desetljeća pokušavaju znanstvenici rasvijetliti to područje, otkriti njegove zakonitosti i postaviti teorijske temelje raspoznavanja uzoraka. Osnovni motivi istraživanja na području ra$pOzna vanja uzoraka jesu (Proc. of the IEEE, 1972):
14
l. RASPOZNAVANJE UZORAKA
"IntelektualI}a radoznalost", odnosno traženje odgovora na pitanje: Kako oblikovati i konstruirati stroj kojega će perceptivni odgovori biti slični čovjekovim? Odgovor na to izazovno pitanje može voditi k rješenju problema koje se skriva u pitanju kako biološki sustavi obrađuju informacije. Razvoj strojeva koji će omogućiti efIkasno saobraćanje između čovjeka i drugih strojeva. Taj motiv ima izuzetno značenje u saobraćanju čovjeka s računalom (npr. unos podataka u računalo pomoću glasa, razvoj i usa vršavanje grafičkih ulaznih i izlaznih jedinica, unos podataka s dokumen ta i sL). Intelektualna pomoć, odnosno oblikovanje i konstrukcija strojeva koji izvode određene operacije brže, točnije i sigurnije od čovjeka. Na pri mjer, automatsko čitanje adresa i razvrstavanje poštanskih pošiljaka, razvrstavanje satelitskih snimaka, dijagnostika bolesti i sl. Problemi raspoznavanja uzoraka tijesno se prožimaju s većim brojem znan stvenih područja. Mnoge ideje, posebno u ranim fazama razvoja teorije raspozna vanja uzoraka, crpljene su iz neurofIziologije. Kao i svako znanstveno područje, teorija raspoznavanja uzoraka zasniva se na upotrebi matematičkog aparata, pri čemu se služi različitim matematičkim područjima: od klasičnih matematičkih metoda, matematičke logike pa sve do teorije razmazanih skupova (engl. fuzzy set). Metode iz područja obrade informacija, automatskog upravljanja, formalnih jezika također su u tijesnoj vezi s raspoznavanjem uzoraka (S. Ribarić, 1986) . Navedimo neke osnovne pristupe raspoznavanju uzoraka: heuristički pristup, jezični ili sintaktički pristup i matematički pristup (J. T. Tou, 1978). Heuristički pristup se temelji na ljudskoj intuiciji i iskustvu. Sustav za raspoznavanje tako je oblikovan da se sastoji od skupa ad hoc postupaka koji su razvijeni za specijalizirani zadatak raspoznavanja. Djelotvornost i struktura takva sustava u velikoj mjeri zavisi od spretnosti, umijeća i iskustva dizajnera sustava. Jezični se pristup zasniva na opisu uzoraka pomoću osnovnih ili primitivnih elemenata (poduzoraka) i na njihovu odnosu koji je opisan primjenom sintaktičkih pravila nekog formalnog jezika. Gramatika uzorka se sastoji od konačnog skupa elemenata koji se nazivaju varijable, od skupa konstanata i skupa produkcijskih pravila. Ulaz u klasifIkator je rečenica koja predstavlja ulazni uzorak. KlasifIka tor je zapravo analizator jezičnog niza. Ako analizator ustanovi da rečenica pripada jeziku s određenom gramatikom, tada je ulazni uzorak razvrstava u razred· koji odgovara toj gramatici. U matematičkom se pristupu zasnivaju pravila razvrstavanja upotrebom matematičkih metoda. Matematički pristup može biti dvojak: determinisdčld i stadsdčld. Prvi se temelji na matematičkim principima gdje se ne upotrebljavaju statistička svojstva uzoraka. Statistički se pristup temelji na upotrebi statističkih . svojstava uzoraka i razreda, te na osnovi njih razvrstava uzorke u pojedine razrede. U tehničkom pogledu raspoznavanje uzoraka osigurava teorijsku osnovu za građenje sustava za raspoznavanje uzoraka ili, jednostavnije, sustava za raspozna vanje. Takvi se sustavi izvode pomoću različitih tehničkih sredstava (V. I. Timohin, 1983). Prije negoli se upoznamo s formalnim zadatkom raspoznavanja i modelom sustava za raspoznavanje, pogledajmo jednostavan primjer strojnog, odnosno automatskog raspoznavanja velikih slova A i C. Tipične primjere slova A i C
1.2. MODEL SUSTAVA ZA RASPOZNAVANJE
15
predstavljamo, na primjer, slijedom točaka - koordinate tih točaka upisujemo u memoriju računala. Pokušajmo ustanoviti koje su i kakve značajke tipične za slovo A, odnosno za slovo C. Lako ćemo ustanoviti: Slovo e sadrži slijed točaka razmještenih u obliku luka, odnosno zakrivljene crte. Za slovo A točke su razmještene u tri ravne crte. Te su značajke dovoljne za razlikovanje slova A i C. Kada prispije jedno od tih slova, e ili A, računalo mora samo utvrditi da li su točke nepoznatog uzorka. razmještene u obliku krive crte ili su razmještene u obliku triju ravnih crta. Na temelju toga računalo određuje da li je nepoznato slovo e ili A. Iz toga vrlo jednostavnog primjera upoznali smo jednu važnu činjenicu koja se uvelike upotre bljava u sustavima za raspoznavanje uzoraka: za razUkovanJe Jednog obUka od
drugoga nije potrebno promatrad sva svojstva pojedinih objekata dovoljno Je promatrad samo neke njegove -značajke, i to prije svega one koje drugi objekt nema. Zadatak raspoznavanja uzoraka može se pojednostavnjeno opisati na
sljedeći način: Nepoznati uzorak X, koji je predočen nizom osnovnih značajki, treba razvrstati u jedan od razreda <01' <01, ,
=
1.2. MODEL SUSTAVA ZA RASPOZNAVANJE :Zelimo naći takvu jedinstvenu teoriju koja će nam omogućiti uopćenje na različitim područjima. To želimo zato da bismo mogli rezultate koje smo dobili pri rješavanju problema na jednom području djelotvorno upotrijebili na drugim područjima. Sredstva za razvoj takve teorije nudi nam matematika. Dakle, moramo naći i razviti takva matematička sredstva na temelju kojih ćemo graditi strojeve i upravljati njima. To će biti strojevi koji će raditi u skladu s čovjekovim iskustvima i koji će mu pomagati. Moć računala je u tome što su sposobni u vrlo kratkom vremenu obraditi velik broj podataka. Upravo tu moć iskorištavamo prilikom strojnog (automatskog) raspoznavanja uzoraka. Da bismo mogli iskoristiti moć računala, dobro je problem raspoznavanja uzoraka razdijeliti na tri dijela, odnosno u tri prostora: prostor uzoraka (mjerni prostor), prostor značajki (prostCJr karakterisdka) i prostor odlu�ivanJa. Takav sustav raspoznavanja prikazuje slika 1.1 . Vanjski, fizički svijet je priključen na sustav za raspoznavanje preko senzora ili pretvarača1). Taj vanjski svijet sadrži praktički beskonačno mnogo značajki. Svijet ima sve karakteristike analognog svijeta i ima beskonačno mnogo dimenzija. Senzor ili pretvarač pretvara, odnosno prevodi taj svijet u zapis koji sadrži r brojčanih vrijednosti, gdje je broj r još . uvijek vrlo velik. Uzorke koji su predočeni vrlo velikim brojem podataka prikazujemo samo njihovim značajnim svojstvima. Broj podataka kojima se opisuju ta značajna svojstva neka je n i vrijedi da je n mnogo manje od r(n�r). To je prostor značajki, odnosno prostor u kojem su objekti za raspoznavanje predočeni samo značajnim podacima. ') Upotrebljava se i izraz prevodilac:.
i.
16
UZORAKA
Filiiki svijet
l f.
Pravilo odluiivanja
Broj rOZfeda 11
/ .. dimenlijski prostori
n«r
Sl. 1.1. Model sustava za raspoznavanje
Na uzorcima u prostoru značajki upotrebljavamo pravilo odlučivanja i svaki uzorak razvrstavamo u jedan od M razreda koji čine prostor" odlučivanja. Pri pretvaranju ulaznih podataka u izlazne podatke (odluka o pripadnosti razredu) služimo se plodovima istraživanja i primjene matematike i njoj srodnih znanosti: statističkim teorijama o odlučivanju, ispitivanjem omjera vjerojatnosti, linearnom algebrom, vektorskim prostorom, teorijom o informacijama, računom vjerojatno sti, logikom, dinamičkim programiranjem, teorijom formalnih jezika i mnogim drugima. Slika 1 .2 prikazuje primjer raspoznavanja uzoraka i omogućuje nam da se pobliže upoznamo s elementima modela sustava za raspoznavanje: Objekt raspo znavanja u vanjskom svijetu je signal EKG koji je u skladu sa standardom za test opterećenja snimljen u medicinskom laboratoriju. Signal je analogan i praktički ima beskonačno mnogo podataka koji ga opisuju. Pomoću senzora, koji je u ovom slučaju analogno-digitalni pretvarač, pretvara se signal u digitalni oblik. Neka je frekvencija uzorkovanja 800 Hz. Tako smo iz beskonačno dimenzionalnog prostora (vanjskog svijeta) prešli u prostor uzoraka koji je r-dimenzionalan. Na primjer, neka je r = 256, odnosno x� =/(tj); i = 1,2, . .., 256. Vektor uzorka ima 256 komponenata. Sustav za raspoznavanje upotrebljava klinički ispitanu i prihvaćenu.dijagno stičku metodu za EKG u testu opterećeja, tzv. Lesterovu dijagnostičku metodu koja se temelji samo na dvije značajke: depresiji koljena J i nagibu segmenta ST (sl. 1.2). Zbog toga je prostor značajki dvodimenzionalan prostor: jedna kompo nenta je upravo depresija koljena J (iskazana u mm), a druga komponenta je nagib segmenta ST (iskazan u m VIs). U prostoru odlučivanja nepoznati se uzorak (signal EKG) razvrstava u jedan od sljedeća tri razreda: normalni EKG, granični slučaj EKG i nenormalni (patološki) EKG.
Prostor uzoraka Prostor uzoraka ima zadatak da promijeni kontinuirane podatke što ih sustav prima preko senzora u niz r brojčanih vrijednosti koje zapisujemo u obliku stupčanog vektora x· gdje T označava transponirani vektor, element xl je vrijednost koordinate j koju dobivamo mjerenjem·. Vektor x· možemo prikazati kao točku u r-đimenzional nom prostoru. •
ProlIto!" uzoraka često se zato naziva i mJeml pl'08tor.
17
1.2. MODEL SUSTAVA ZA RASPOZNAVANJE
Vanjski svijet I.,dilllenzionalon prostori
oA � 'IT
Pr injer sustava signala EKG
za
raspolnaYOnJe
Senzor lAID
preharočl
Analogn i EKG signal
I----- Prostor uzorolul Iprostor konatne dhnenz'e r l
,.- --
:I
A1l\!�
h" 'lr
I t1t,1 Pretprocesiranje I ---
I
(filtriranje i sl.!
I I
.--____�-------L�
lno.tojni dijagnOstiiki parametri za Lesll!l'OYU dijagnostiiku metodu, R
I 1". ,
I
A C\*� P
x, -
x,
depresija koljena
x2 -nagib
T
I
segmenta ST
I
.
. f l t" '.1.2•...• '
Vektor uzoroka
I I
J
�------'I�
[l
/
fltrl
l_ lno.iajki
IzlUČIVanje
I I
J J�'l" 2J
__
x
J
...mijo IIoIjeno. HgIII enlu ST
., Xz z nagib
1----- Prostor znofajlli (prostor lamalnt dl.",t" nj
n«r
1,,=2J
Razredi.
- nonnolan EKG - granilni EKG - nenorlllllan EKG
}
1---- Prostor DdlullYOnja -----J I broj 'I'Olreda H .. 31
Sl. 1.2. Primjer sustava za raspoznavanje signala EKG
Prostor značajki Prostor značajki je prostor izmedu prostora uzoraka i prostora odlučivanja. U tom se prostoru odvija pretprocesiranje: različita filtriranja, gladenja, preslikava nja i druge obrade. U postupku izlučivanja značajki iz pretprocesiranih podataka izlučuju se karakteristike na kojima se temelji razvrstavanje uzoraka. Upravo ti postupci vode redukciji dimenzija prostora odnosno smanjivanju broja podataka. Na primjer, u sustavu za raspoznavanje otisaka prstiju, iz digitalnog zapisa pretprocesiranog otiska prsta koji sadrži oko dvije stotine i pedeset tisuća podataka, izlučivanjem značajki broj se podataka svodi na kojih tri stotine (r= 250000- n= 300) ili manje.
I. I. RASPOZNAVANJE UZORAKA
18 Uzorak U tom prostoru zapisujemo U obliku:
X= (Xl' Xa'
• • •
,
Xl'
• • •
,
X
..
?,
gdje je n�r. Prostor uzoraka i prostor značajki mnogi autori ujedinjuju u jedan prostor, a podaci tog prostora (vektori x) ulazi su u prostor odlučivanja.
Prostor odIuBvanJa Prostor odlučivanja nastaje iz promatranog prostora tako da ga podijelimo na toliko područja koliko imamo razreda (M područja). Dijeljenje se izvodi na temelju određenih kriterija i pravila odlučivanja. Takva pravila odlučivanja mogu se zasnivati na determinističkim ili statističkim postupcinia, ili za svoju osnovu mogu imati teoriju o informacijama i mnoge druge.
1.3. SKUP UZORAKA ZA UČENJE I SKUP UZORAKA ZA ISPmvAN,)E Problem razvrstavanja nepoznatog uzorka svodi se na problem dijeljenja prostora značajki na područja koja pripadaju pojedinim razredima. Drugim riječi ma, problem raspoznavanja svodi se na određivanje granica pojedinih područja. Te se granice opisuju funkcijama koje se nazivaju fUDkclJe odIuBvanja. Oblik funkcija odlučivanja može se odrediti pomoću uzoraka iz skupa za utenJe. To je skup uzoraka za koje znamo kojim razredima pripadaju. Takav se uzorak naziva još i "prototip" ili "pralik". Sustavi za raspdznavanje građeni su na pretpostavci da uzorci za učenje sadrže većinu informacija o fizikalnim svojstvima sustava koji proučavamo. Logič ka je posljedica te pretpostavke da pomoću njih određujemo i procjenjujemo funkcije odlučivanja. Zato uzorke za učenje, tj. uzorke kojima klasifikaciju unapri jed poznajemo, obično dijelimo u dva nezavisna skupa: - skup uzoraka za učenje, ... - skup uzoraka za ispitivanje. za dijeljenje uzoraka poznate klasifikacije u gornja dva skupa ima više načina; ovdje ćemo prikazati samo dva: Skup uzoraka dijelimo u dva nezavisna skupa, tj. u skup uzoraka za učenje i skup uzoraka za ispitivanje tako da je presjek skupova prazan skup. Na temelju uzoraka iz skupa za učenje 'određujemo funkciju odlučivanja (pogl. 4, S i 6), a na temelju uzoraka iz skupa za ispitivanje provjeraVanlO pravilnost ra.fvrstavanja. U dilemi smo koliko uzoraka rasporediti u skup za učenje, a koliko u skup za ispitivanje. Određivanje funkcije odlučivanja je kvalitetnije što je broj uzoraka veći, a to vrijedi i za pouzdanost ocjene pokusa. Ocjena je, naravno, točnija što je skup za ispitivanje veći. Taj problem možemo riješiti tako da, nakon što smo s uzorcima iz skupa za ispitivanje ocijenili vjerojatnost pogrešnog razvrsta": vanja, ponovo odredimo novu funkciju odlučivanja na temelju svih uzoraka. Očekujemo da se vjerojatnost pogreške neće povećati, naprotiv, očekujemo da će se ona smanjiti.
1.4. PRIMJER RASPOZNAVANJA UZORAKA
19
Skupu od N uzoraka oduzmemo samo jedan uzorak. Taj uzorak neka predstavlja skup za ispitivanje; svi ostali uzorci jesu uzorci za učenje. Na temelju uzoraka iz skupa za učenje određujemo funkciju odlučivanja. Pouzdanost razvrstavanja pomoću te funkcije odlučivanja provjeravamo uzorkom za ispitivanje. Postupak ponavljamo N puta, ali tako da svaki put skupu od N uzoraka oduzimamo drugi uzorak i pomoću njega provjeravamo pouzdanost funkcije odlučivanja. Broj pogrešno razvrsta nih uzoraka predstavlja dobru ocjenu pouzdanosti djelovanja funkcije odlučivanja. Taj postupak očito zahtijeva određivanje N funkcija odlučivanja. Između njih moramo se odlučiti za samo jednu. Međutim, budući da je većina funkcija praktički identična, jer se skupovi za učenje razlikuju samo za dva uzorka, izbor neće biti težak. Tako dobivene funkcije odlučivanja također su praktički podudarne s funkcijama odlučivanja koje bismo dobili kada svi uzorci sastavljaju skup za učenje. Odgovorimo još na pitanje: Koliki da bude broj uzoraka za učenje za pojedine razrede? Drugim riječima, zanima nas zastupljenost razreda u skupu uzoraka za učenje. Ona neka bude razmjerna njihovu udjelu u cijelom skupu uzoraka. Na primjer, pri raspoznavanju slovenskih riječi neka zastupljenost slova A bude 8,2% zastupljenost slova B 1,4% itd.
1.4. PRIMJER RASPOZNAVANJA UZORAKA U ovom uvodnom dijelu opisat ćemo sustav za raspoznavanje rukom napisa nih znakova abecede. Fizički sustav koji generira uzorke u ovom je slučaju grupa ljudi koji pomoću pisaljki pišu znakove abecede. Znakove transformiramo u skup mjerenja pomoću fotoćelijskih polja ili TV kamere. U slučaju fotoćelijskih polja dobivamo konačan skup mjerenja koji je brojčano jednak broju fotoćelija. Pojedina mjerenja su proporcionalna svjetlosnoj jakosti kojoj je izložena odgovarajuća fotoćelija. U drugom slučaju (primjenom TV kamere) dobivamo signal koji je nepreki nuta funkcija vremena - rezultat je mjerenje u beskonaČDodimenzionaInom (kontinuiranom) mjernom prostoru. KonaČDodimenzionalni prostor, prostor uzo raka, dobivamo periodičnim uzorkovanjem analognog signala TV kamere. ri:-___--r--___-"x,
Sl. 1.3. Primjer izbora znalajki za uzorke rukom pisanih velikih slova-
20
I. RASPOZNAVANJE UZORAKA
Tako dobiveni uzorci (u oba slučaja) imat će prevelike dimenzije za ekonomič nu obradu. Zbog toga moramo smanjiti njihove dimenzije, ali tako da zadržimo samo onu informaciju koja je nužna za razlikovanje znakova. Fu (K. S. Fu, 1968) predložio je osam značajki za raspoznavanje rukom pisanih verzalnih (velikih) slova abecede. Deftnirao ih je kao udaljenosti između slova i rubova kvadrata u koji je znak slova upisan (sl. 1.3). Prostor uzoraka velikih dimenzija smanjuje se postupkom pretprocesiranja i izlučivanja značajki (postupci se temelje na poznavanju problema) na prostor ' manjih dimenzija - prostor značajki. Svaka značajka uzorka je skalar, a uzorak je vektor kojemu su komponente značajke Xl' Xl' . . . , xS' Svaki se uzorak može prikazati kao točka u prostoru uzoraka, odnosno u prostoru značajki. Pravilo odlučivanja određujemo iz skupa uzoraka za učenje, i to postupcima za određivanje funkcija za odlučivanje. W,o
, Funkcija odlučivonJo � Igranico odlučivanja) o o O o o o o Oo •• • X -nepoznati uzorak o •
•
•
•
•
•
•
•
• W2
x,
Sl. 1.4. Prikaz uzorka kao tolke u dvodimenzionainom prostoru
U dvodimenzionalnom prostoru j ednostavno određujemo granicu između područja - funkciju odlučivanja (sl. 1.4). Međutim, u slučaju višedimenzionalnog prostora, u kojem ne možemo sebi predočiti raspored uzoraka, vrlo je složeno i gotovo nemoguće bez računala i matematičkih metoda odrediti granice između područja.
1.5. PRIMJERI UPOTREBE SUSTAVA ZA RASPOZNAVANJE Ukratko, opisat ćemo neke primjere upotrebe raspoznavanja uzoraka, i to primjere s kojima se u svakodnevnom životu susrećemo. Tehnička izvedba sustava je opravdana i izvediva ako su ispunjena ova tri uvjeta: dovoljan broj uzoraka za učenje, dovoljan broj separabilnih, razdvojivih uzoraka u zadanom skupu podataka, nemogućnost rješenja problema na neki pogodniji, odnosno j ednostavniji način.
1.6. ODNOS UMJETNE INTELIGENCIJE I RASPOZNAVANJA UZORAKA
21
Raspoznavanje vizualnih uzoraka raspoznavanje znakova (slovnih, brojčanih, tiskanih, rukom pisanih, ... ), raspoznavanje otisaka prstiju, raspoznavanje fotografija (izlučivanje podataka koji nisu zanimljivi za daljnju analizu, . . .), traženje prirodnih bogatstava na temelju satelitskih i avionskih snimaka u različitim dijelovima spektra, raspoznavanje građe stanica (razlikovanje zdravih od bolesnih stanica organizma, ...) itd.
Raspoznavanje zvučnih uzoraka raspoznavanje raspoznavanje raspoznavanje raspoznavanje
govora, govornika, jezika (engleskog jezika, slovenskog jezika, . . . ), zvuka (pravilan rad stroja, tipa vozila i sl.) itd.
Raspoznavanje biomedicinskih uzoraka raspoznavanje elektrokardiograma i vektorskog elektrokardiograma, raspoznavanje elektroencefalograma, raspoznavanje bolesti (dijagnoze koje se temelje na laboratorijskom ispiti vanju, mjerenjima, analizama i sL).
Raspoznavanje uzoraka potresa raspoznavanje potresa (razlikovanje podzemne atomske eksplozije od potresa, .. .), raspoznavanje koraka (razlikovanje ljudskog koraka od životinjskog hoda, razlikovanje gibanja vozila s gusjenicama od vozila s kotačima, . . . ).
Raspoznavanje ponaianja sustava raspoznavanje (prognoza) smjerova razvoja, raspoznavanje (prognoza) vremena, raspoznavanje razvoja ponude i potražnje, itd.
1.6. ODNOS UMJETNE INTELIGENCIJE I RASPOZNAVANJA UZORAKA Raspoznavanje uzoraka, kao produkt visoko razvijena tehnološkog društva, obrađuje probleme kao što su: konstrukcija strojeva koji se upravljaju glasom, strojeva koji omogućavaju čitanje i izravni unos podataka u računalo, strojeva za automatsku interpretaciju slika snimljenih s velikih visina, strojeva koji otkrivaju pogreške u proizvodima, strojeva koji su sastavni dijelovi vrlo složenih integrira nih sustava za proizvodnju - CIM (Computer Integrated Manufacturing).
I. RASPOZNAVANJE UZORAKA
22
Područja umjetne inteligencije i raspoznavanja uzoraka vrlo su bliska i međusobno se prožimaju. Teško je zamisliti inteligentno ponašanje robota koji nema osobina karakterističnih· za područje raspoznavanja uzoraka (na primjer klasifikacija objekata u strojnom viđenju), a mnogi programi s područja raspozna vanja, s druge strane, pokazuju impresivne osobine inteligentnog vladanja (B. G. Batchelor, 1978). Snažan razvoj umjetne inteligencije i raspoznavanja uzoraka imao je pozitivan povratni utjecaj na razvoj sustava računala. Umjetna inteligenci ja i raspoznavanje uzoraka postaju bitan sastavni dio pete generacije sustava računala (S. Ribarić, 1986).
1.7. 'LITERATURA Proceedings of the IEEE, Special Issue on Digital Pattern Recognition, Vol. 60, N° 10, oktobar 1972. S. Ribarić, Arhitektura ratunala pete generacije, Tehnička knjiga, Zagreb, 1 986. V. I. Timohin, Primjena elektronilkog ralunala za zadatke raspoznavanja uzoraka, Lenjingrad, 1983. J. T. Tou, R. C. Gonzalez, Pattern Recognition Principles, Addison-Wesley Pub. Company, Massachusetts, 1 974.
K. S. Fu, Sequential Methods in Pattern Recognition and Machine Learning, Academic Press, New
York,1968. B. G. Batchelor, Pattern Recognition, Ideas in Practice, Plenum Press, New York, 1 978.
2. IZBOR OSNOVNIH ZNACAjKI UZORAKA (Prof. dr. Nikola Pavešić, dipl. ing.)
2.1. UVOD Problem izbora osnovnih značajki uzoraka može se prikazati transformacijom :)T iz prostora uzoraka X· u uzorke
A koja preslikava uzorke x· = (x :' x :' ... , X = (x 1, Xl' ... , Xn)T U prostoru značajki X:
x
x= A (x·),
odnosno
j= l , 2, . . . , n;
n�r.
. S tom transformacijom želimo postići da uzorci koje ćemo proslijediti klasifikatoru zadovoljavaju sljedeće opće zahtjeve: •
Niska dimenziona1nost
Osnovne zanačajke uzoraka moraju biti relativno malobrojne zato što njihov broj utječe na vrijeme prepoznavanja uzoraka, na složenost postupaka razvrstava nja i na broj uzoraka za učenje koji su potrebni za zadovoljivo učenje klasifikatora. D. Foley je, na primjer, ustanovio da je potrebno bar 3 do 5 puta više uzoraka za učenje po razredu od broja osnovnih značajki uzoraka (D. Foley, 1971). •
DovolJua informacija
Osnovne značajke uzoraka moraju sadržavati dovoljno informacije za djelo tvorno razvrstavanje uzoraka. Možemo se upitati da li je moguće tisućudimenzio nalni mjerni prostor (na primjer izlaz iz mreže fotoćelija) smanjiti na desetodi menzionalni prostor koji još uvijek sadrži informaciju koja je potrebna za razvrstavanje? Proces raspoznavanja uzoraka možemo predočiti preslikavanjem mjernog prostora u jednodimenzionalni prostor odluke. Zbog toga, postojanje rješenja problema raspoznavanja ujedno znači da već samo jedna značajka može sadržavati dovoljnu informaciju za raspoznavanje uzoraka . •
Geometrijska postojanost
Osnovna je geometrijska pretpostavka koju upotrebljavamo u gotovo svim postupcima raspoznavanja uzoraka da mala udaljenost medu uzorcima u prostoru uzoraka ujedno znači i malu razliku u svojstvima objekata raspoznavanja mjero-
24
2. IZBOR OSNOVNIH ZNACAJKI UZORAKA
davnima za razvrstavanje. Želimo, takoder, da se razlike koje nisu bitne za razvrstavanje ne zrc;;ale u prostoru uzoraka (na primjer mjesto slova u abecedi). •
Postojanost značajki
Na određeni način značajke su namijenjene za uspoređivanje uzoraka, zbog toga ne smijemo previdjeti njihovu vremensku postojanost. Svako svojstvo objeka ta raspoznavanja koje s vremenom monotono raste nije pogodno kao značajka uzoraka (na primjer osobni dohodak - pogodnija je značajka realni osobni dohodak). U ovom poglavlju razmatrat ćemo neke optimalne postupke izbora osnovnih značajki uzorka. Za njih je potrebna definicija kriterijskih funkcija koje se općeni to mogu razvrstati u dvije kategorije: u one koje uzimaju u obzir uzorke posebno iz svakog razreda, u one koje uzimaju odjednom u obzir uzorke iz dvaju ili čak iz svih razreda. Na kraju poglavlja obradit ćemo zadatak optimalne kvantizacije osnovnih značajki uzoraka.
2.2. LINEARNE TRANSFORMACIJE
Linearna transformacija je definirana sa: x= Ax·,
gdje je x· r-dimenzionalni vektor u prostoru X·, x n-dimenzionalni vektor u prostoru X, n� r, a A transformacijska matrica koja se sastoji od linearno nezavisnih rdimenzionalnih vektora ,rJ, aJ, ... , a�. Opisat ćemo postupke izbora osnovnih značajki gdje je transformacijska matrica izabrana tako da: a) minimizira raspršenost uzoraka unutar razreda, b) maksimizira raspršenost razreda uzoraka, c) minimizira pogrešku ocjene uzoraka sa n koeficijenata razvoja u red. Za slučajeve a) i b) pretpostavit ćemo da uzorci u mjernom prostoru imaju normalnu razdiobu, što znači da i preslikani uzorci imaju također normalnu razdiobu (samo što su parametri razdiobe, općenito, različiti). ....
a) Izbor karakterističnih parametara mJoJmizacljom entropije Entropija je statistička mjera neodređenosti. Ona može poslužiti za izbor osnovnih značajki uzoraka, uz pretpostavku da su značajke uzorka, koje u danom slučaju smanjuju neodređenost, bolje od onih koje imaju suprotan učinak. Zato ćemo osnovne značajke izabrati tako da minjmiziramo entropiju razreda. Entropiju i-tog razreda uzorka, i = l, 2, . . . , M, definiramo kao: Hi=
-
J p(x*iooi)lnp(x*ioo;)dX*,
gdje je p( x· I ro i) vjerojatnost .da je x· iz razreda mi'
2.2 LINEARNE TRANSFORMACIJE
25
Pretpostavimo da populacije uzoraka (njihje M) opisujemo pomoću funkcije normalne gustoće razdiobe vjerojatnosti, znači: l l..... ...... T -1 ...... . p(..... X ,
[
[
-
...... J
-
.....
.....
J
x
minimiziramo s obzirom na svojstvene vektore kovarijantne matrice Cj. Tou i Heydorn (J. T. Tou, 1967) dokazali su da Hi dostiže globalni minimum ako matricu A tvorimo iz n normiranihsvojstvenihvektora koji pripadaju najmanjim svojstvenim vrijednostima kovarijantne matrice Cj. Minimalna je entropija presli . uzoraka: kamh 1" 1 Hj=- L A.t+-n(1+ln 21t), 2t=1 2 gdje su A.,I: najmanje svojstvene vrijednosti matrice Cj. b) Izbor osnovnih značajki maksimizacijom divergencije Divergencija je mjera različitosti dvaju razreda uzoraka i zato nam može poslužiti kao kriterijska funkcija pri izboru osnovnih značajki uzoraka. Bolje su one značajke uzoraka koje u danom slučaju povećavaju divergenciju dvaju razreda uzoraka. Divergencija je dvaju razreda uzoraka
gdje je Pi(x·)=P(x· I
2. IZBOR OSNOVNIH ZNACAJKI UZORAKA
26 II
lij=
� I (Ak k= 1
-
:J � l
- n + A n + i + AII + j '
gdje su A k svojstvene vrijednosti matrice Cj- l Ci, An + i svojstvene vrijednosti matrice Cj- l ttT, A.n + j svojstvene vrijednosti matrice Cj- l ttT, a t = mi - mj razlika srednjih vrijednosti. Da zadovoljimo potreban uvjet za ekstrem divergencije lil' moramo odrediti transformacijsku matricu A tako da bude ispunjena matrima jednadžba (J, T. Tou, 1967): n
k= l
' k- :Z)(C,� AT - A' kCJ�AT)�ek�eTk+ (Uit*uit*TAT
A
, + 1 C*AT) �e11 + 1e T11 + 1 + 11.,, i
+ (t*t*TAT - A.n + j CjAT}en+l�+j = O,
l e k svojstvene vrijednosti i svojstveni vektori matrice (ACjA T) - I(ACtAT), �" :!;.i i e" + 1 svojstvene vrijednosti i svojstveni vektori matrice (ACtAT)- l (Ao*O*TAT), A.,, + j i eH i svojstvene vrijednosti i svojstveni vektori matrice (ACjAT)- l (At*t*TAT), a t* = mt - mj razlika srednjih vri
gdje su }. k
jednosti uzoraka iz razreda
"
L ( I - A;2) ( CtAT -AkCjA T)' elI = O k •
=1
Divergencija lij bit će najveća ako za retke matrice A izaberemo svojstvene vektore koji odgovaraju svojstvenim vrijednostima matrice (Cj) - l Ct tako da bude . U
(A + l /Alr � . . . � (An + l /A,,) . l
slučaju pretpostavke:
b) mt =l= mj, q = Cj = C* dobivamo matricu A iz jednadžbe: Ct*t* TA T - A" + lc*AT) eH le�+I = O. Divergencija lij bit će najveća ako je matrica A sastavljena od svojstvenog vekto
ra (koji 2dgovara jedinoj svojstvenoj vrijednosti različitoj od nule) matrice (C*)- l �*O*T. Tada vrijedi: l�lj = /... lj U općem slučaju: e)
� * .J. mi T mj*'
r. #= C* Vi j
matricu A određujemo iterativnim rješavanjem sustava jednadžbi diferencija: A (s + 1) = A (s) + ®G (s),
gdje je s iteracijski indeks, a ® odgovarajući konvergentni faktor. Caprihan i de Figueiredo (A. Caprihan, 1 969), te Fukanaga Fukanaga, i 970) simulirali su na računalu gornji slučaj.
Koontz (K.
2.2 LINEARNE TRANSFORMACIJE
c)
27
Izbor osnovnih značajki pomoću ortogonalnih transformacija
Kada ne možemo prihvatiti pretpostavku da se razredi uzoraka porazdjeljuju normalno, na raspolaganju su nam ortogonalne transformacije, prije svega zato što one ne zahtijevaju poznavanje zakona razdiobe. Pomoću svakog punog . skupa ortogonalnih vektora {eJ možemo zapisati uzorak x· E mi kao j= l
gdje su cij koeficijenti razvoja u red. Ako x· aproksimiramo sa n < r članova razvoja, načinit ćemo srednju kvad ratnu pogrešku:
odnosno Pi = L eJ Ciep j = II + 1
.
gdje je Ci = Ei {xixi T } kovarijantna matrica uzoraka I Z razreda mi ako pretpo stavimo da je Ei {x·} = O. Tou i Heyderon (J. T. Tou, 1 976) označili su kao "najbolje" osnovne značajke uzoraka onaj skup n koeficijenata razvoja u red koji uzorak aproksimira tako da srednja kvadratna pogreška Pi bude najmanja. Potreban uvjet za globalni minimum Pi daje jednadžba: OPi A 0 Ci oe . = = ej - lp �
�
}
gdje je e . svojstveni vektor kovarijantne matrice Ci kojem odgovara svojstvena vrijedno�t A .. Minim�lnu pogrešku aproksimacije uzorka sa n koeficijenata razvoja u red: Pi = L Aj j = II + 1
postižemo ako sastavimo transformacijsku matricu A i iz n svojstvenih vektora kovarijantne matrice Cr, i to onih koji odgovaraju najvećim svojstvenim vrijed nostima. Opisani postupak minimizacije srednje kvadratne pogreške aproksimacije Pi definira Karhunen-Loeveova transformacija. Algazi i Sakrison (V. R. Algazi, 1 969) pokazali su da je Karhunen-Loeveov razvoj u red optimalan i ka�a tražimo najmaniji broj osnovnih značajki uzoraka uz propisanu pogrešku aproksimacije. Njihovi rezultati, međutim vrijede samo za Gaussovu razdiobu razreda uzoraka. Watanabe (S. Watanabe, 1 969) predložio je da se svakom uzorku oduzme srednja vrijednost svih uzoraka za učenje. Tako oduzimanjem svojstva koje je zajedničko svim uzorcima naglašavamo njihovu različitost. To može povoljno utjecati na rezultate prepoznavanja. Watanabe je
28
2. IZBOR OSNOVNIH ZNACAJKI
predložio još jednu inačicu: transformacijsku matricu vektora autokorelacijske matrice uzoraka iz razreda roi : Ri = Ei {�.�. Xi Xi T }
Aj
UZORAKA
tvorimo iz svojstvenih
•
Ako transformiramo uzorke iz razreda roi pomoću transformacijske matrice Ai' koeficijenti svojstvenih vektora, koji odgovaraju najvećim svojstvenim vrijed nostima matrice Rl' doseći će relativno velike vrijednosti. Ako pomoću A i trans formiramo takoder uzorke iz razreda roj' koeficijenti će biti znatno manji, što povoljno utječe na separabilnost razreda. Chien i Fu (V. T. Chien, 1 967) uopćili su Karhunen-Loeveov razvoj u red tako da su definirali kovarijantnu matricu srednjom vrijednosti kovarijantnih matrica pojedinih razreda: M
C· = L p (rol) q, 1 1=
gdje je p (ro;) ti priori vjerojatnost uzoraka iz razreda roi' Na taj način ujedno uzimamo u obzir sličnost uzoraka unutar pojedinih razreda i različitost uzoraka medu razredima. Pogledajmo nekoliko primjera (J. T. Tou, 1 914) .
Zadana su dva skupa uzoraka u prostoru X·:
roi {(O, O, O) r, ( 1 , O, O) T, ( l , O, ro 2 {(O, O,
1) T,
(O,
l,
1 ) T, ( I , l ,
O) r, (O, l , l ) T, ( 1 ,
O) T }
i
l , 1)T} .
Slika 2. 1 prikazuje uzorke u prostoru uzoraka. • o
E W. E WZ
o
o
•
o
•
xr
Sl. 2.1. Uzorci u mjernom prostoru X·
Zbog lakšeg računanja označimo uzorke sa dva indeksa. Prvi neka označava pripadnost razredu, a drugi redni broj uzorka u razredu:
29
2.2 LINEARNE TRANSFORMACIJE
Srednju vrijednost uzoraka u razredu (Oi ocijenimo sa: 1 N, ... . mi. - - " X N L.., ii" i
j= l
Kovarijantnu matricu uzoraka iz razreda (Oi dobivamo sa: gdje je Ni broj uzoraka u razredu (Oi. Problem izbora osnovnih značajki pokušajmo najprije riješiti postupkom koji se temelji na minimizaciji entropije razreda uzoraka. Prvo, izračunajmo srednju vrijednost uzoraka iz razreda (0 1 :
m. = 4� lIJ.
i srednju vrijednost uzoraka iz razreda (02 :
m: �
�
[:J
'
1
[:l � -� -�}
Kovarijantne matrice Ci i C� su jednake: 1 c* = C·1 = C·2 = 16
Izračunajmo svojstvene vrijednosti matrice C·: 1 1 A.2 = A.3 = A. 1 = 16 4 normirane svojstvene vektore koji pripadaju vrijednostima:
izračunatim
svojstvenim
Izaberimo n = 2 i tvorimo transformacijsku matricu A sa svojstvenim vektorima kojima pripadaju najmanje svojstvene vrijednosti: A=
l /� [�e��J = [2/.../6
- l /� 1 /.../6
J
- l /� 1/.../6
2.
30
IZBOR OSNOVNIH ZNACAJKI UZORAKA
Mogli smo izabrati svojstvene vektore el i e3 jer e2 i e3 imaju jednake svojstvene vrijednosti. Uzorke preslikavamo iz prostora X· u prostor X transformacijom x = Ax·. Dobivamo:
Slika 2.2a prikazuje transformirane uzorke u dvodimenzionalriom prostoru uzoraka.
�
DVI1 uzorka iz istog rl1zreda se p"k"mJ"
o
o
-3
-2
4 2
•
-1
Sl. 2.2. Uzorci u dvodimenzionalnom prostoru uzoraka X. Izbor karakterističnih parametara minimizacijom entropije razreda
Usporedbom slika 2. 1 i 2.2 vidi se da se neodređenost razreda uzoraka smanjila. To slijedi iz činjenice da se uzorci iz istoga razreda prekrivaju. Ako propišemo n = l, tvorimo matricu A samo s jednim vektorom, i to sa el ' Dobivamo: 1 �T A = let] = J3 [l, - 1, - 1] . Pomoću transformacije x = Ax· transformiramo dane uzorke u jednodimenzional ni prostor uzoraka X. Dobivamo: ml = {(O), ( 1 /...;3), (O), (O)}, m2 =
{( - 1 /...;3), ( - 1/...;3), ( - 2/...;3), ( - 1/...;3) }.
Transformirane uzorke u prostoru prikazuje slika 2.3a. u ovom se slučaju neodređenost razreda uzoraka očito smanjila. Pokušajmo riješiti problem na slici 2. 1 primjenom postupka koji se temelji na maksimizaciji divergencije. Budući da je m� = m� i C! = q = C*, divergencija lu postiže najveću vrijednost ako tvorirno transformacijsku matricu A sa svojstvenim I
31
2.2 LINEARNE TRANSFORMACIJE
;, " �
�: h
Prekrivtlju se tri uTorka. '
'
.
I 2
I ]
� O 1
. 2
I ]
'
Prekrjvo.ju se tri UTorka. iT istog r�reda.
...
� .
I -]
I -2
-1
bl
...
x
Sl. 2.3. Uzorci u jednodimenzicnalnom prostoru uzoraka X: a) izbor karakterističnih parametara minimizacijom entropije razreda, b) izbor karakterističnih parametara minimizacijom divergencije
vektorom koji odgovara jedinoj svojstvenoj vrijednosti različitoj od O matrice (C*) - lg*g*T, Imamo:
....
Kovarijantna matrica C*:
=� C* 16 ima inverznu vrijednost:
�
3
l
....
....
l;* = m * m2* = 1
-
l
[4 1
-
J
2
-2
-2
3 -1
-4 44 . 4 -] 8
8
Svojstvena vrijednost različita od O i odgovarajući svojstveni vektor jesu:
4
3 A=-
32
2. IZBOR OSNOVNIH ZNACAJKI UZORAKA
Transformacijsku matricu tvorimo vektorom e. Dobivamo: A = [ -l Transformacijom nalni prostor
X.
x = A x*
l
l] .
preslikavaju se uzorci na slici 2. 1 u j ednodimenzio
Dobivamo:
IDl = {(O), ( - l), (O), (O) } IDz = (C l ),
( l), (2),
(1 ) } .
Slika 2.3b prikazuje transformirane uzorke u prostoru uzoraka. Možemo primijetiti da smo dobili rezultat koji je jednakovrijedan prijašnjem. Ako za uzorke na slici 2. 1 pokušamo naći osnovne značajke uzoraka metodom koja se temelji na Karhunen-Loeveovoj transformaciji, ustanovit ćemo da za tako izabrane uzorke u mjernom prostoru postupak daje slabije rezultate nego u prijašnja dva postupka. Uzrok je prije svega u tome što za zadane uzorke nije
ispunjen uvjet Ei {x * } = 0. Zato valja još j ednom naglasiti da uspješnost svakog postupka izbora osnovnih značajki zavisi od toga koliko zadani podaci odgovaraju osnovnim pretpostavkama na kojima se zasniva upotrijebljeni postupak.
2.3. NELINEARNE TRANSFORMACIJE Nelinearnim preslikavanjem iz r-dimenzionalnog prostora uzoraka x* u n dimenzionalni prostor značajki X želimo, osim smanjenja broja parametara uzora ka, postići i to da u novom prostoru uzoraka razredi. koji su prije bili nelinearno separabi1ni sada postanu linearno razlučivi. Primjer takve transformacije prikazuje slika 2.4.
SI.
2.4.
Primjer pres/jkmJanja prostora x· u prostor X koji je definiran nelinearnom transformacijom X = A (X..)
Samrnon (J. prostora uzoraka prostora značajki
W.
S ammon, 1 969) predložio je nelinearnu transformaciju iz u prostor značajki X za unaprijed zadanu dimenzionalnost je unaprijed određen). Transformacija je:
X*
en
x� = A ex:!), j
njegova slika u prostoru X, a gdje je X: i k-ti uzorak iz razreda ID; u prostoru X* , Aj nelinearna transformacija koja je definirana nad uzorcima iz razreda
x�
33
2.4. KODIRANJE OSNOVNIH ZNACAJKI UZORAKA
Nelinearnu Ćemo transformaciju definirati tako da minimizira pogrešku Pi: Pi =
Nj Nj
L L [D (xt' -x1i) -D (x� -x:)] Z,
k=l '=l
gdje je D (xt; -xn Euklidova udaljenost uzoraka xti i xi' iz razreda roi u prostoru X* i D (x� - x:) Euklidova udaljenost uzoraka x� i x: iz razreda roi u prostoru X.
Pogreška Pj je funkcija (n) ' (Nj) varijabli x�, (značajki preslikanih uzoraka), j = l, 2, . . . , n i 1 = 1 , 2, . . . , Ni' gdje. je Ni broj uzoraka u razredu roi' Parcijalna je derivacija pogreške Pi po varijabli xj,: Ni
I
oP, _ i -2 � UXj,
k� 1 k ,. 1
j
( xJ" 'L - xj,l ) J
[
J
D (X:' - xti) - D (x� -x:) . _ x, D ( xA: "'1 "'j)
Transformaciju A i odreduje (n) ' (Nj) preslikavanja iz prostora X* u prostor Slike uzoraka u prostoru X dobivamo postupnim približavanjem pravim vrijednostima:
X.
X;I (s + 1 ) = X;, (s) - eAj, (s),
gdje je e konvergentni faktor, s interacijski indeks, a AJ, funkcija parcijalnih derivacija oPi/OX;I ' Pomoću opisane transformacije odredili smo svaku značajku uzorka u pros toru X tako da smo sačuvali strukturu razreda uzoraka prostora X (jasno, uz uvjet da je Pi dovoljno mali). Budući da nam postupak ništa ne govori na koji način se preslikavaju nepoznati uzorci (transformacija je, u stvari, definirana samo za uzorke pojedinihgrupa) upotrebljavamo ga prije svega za vizualnu analizu struk tura razreda uzoraka u dvo ili trodimenzionalnom prostoru (n = 2, 3), 1.4. KODIRANJE OSNOVNnI ZNAćAJ,KI UZORAKA
Zalihost informacije koju prosijedujemo klasifikatoru uzoraka možemo sma njiti djelotvornim kodiranjem karakterističnih parametara uzoraka (na primjer zapis karakterističnih parametara s manjim brojem binarnih znakova). Opisat ćemo postupak optimalnog kodiranja osnovnih značajki uzoraka što ga je 1 976. godine predložio Pavešić (N. Pavešić, 1 976). Zadatak najbolje kvantizaclje osnovnih značajki uzoraka
Neka su O i Xj slučajne varijable; O može zauzeti vrijednost iz skupa { ro I' rol' . . . , roM } ' a Xj vrijednost iz skupa {'!; ( 1), qj (2), , qj (Lj) } ' Slučajnoj varijabli Xj (j ta značajka uzorka) priredimo dis.tcretnu slučajnu varijablu xj po sljedećem po stupku: sve vrijednosti iz skupa vrijednosti varijable Xj razđijelimo sa (Lj - 1) brojeva S l < Sz < . . . < SLj�, na Lj intervala i varijabli xj dodijelimo vrijednost lli(l), 1 = l, 2, . . . , Lj, ako je Sj- 1 � q (l) � !tj (pretpostavimo da je !to = 0 i !tL; = q (LJ)). Budući da je slučajna varijabla Xj "finija" od x;, bit Će po Shannonu (C. E. Shannon, 1 949): . • .
I (O,
j) � I (O, Xj)'
x
2. IZBOR OSNOVNIH ZNACAjKI UZORAKA
34
gdje je
M
Lj
"" P (ID;) P (q (l) I ID,)1og p (qj (l) I ID;) l en, x)= LL M j I
I
I
L P (ID.)p (qj (l)I ID.) '= 1 međusobna informacija slučajnih varijabli n i xj, a ] (n, Xj) međusobna informacija slučajnih varijabli n i Xj (P (IDj) i P (qj (l) I IDD bit će definirane kasnije). Za propisani Pt (e) može međusobna informacija doseći bilo koju točkU iz zatvorenog intervala (A. Feinstein, 1958; D. L. Tebbe, 1968) : len, Xj) E []min (n, Xj)' ]max(n, xi)] ' gdje je: ;= 1 1=1
]min (n, Xj)=
M
L P (ID,) log P (IDi) + � (e) log � (e) + i=1 + [ 1 - P t (e)] log { l - Pt (e)] - Pt (e) log (M - l ),
za K=
a
1, 2, . . . , M - l ,
L J
� (e)= l L max {p (Xj = q/l), IDI)' ; . . , P (Xj = q/l), IDM } -
1=1 jest vjerojatnost pogreške razvrstavanja ako upotrijebimo Bayesovo pravilo odluči vanja (vidi pogl. 5 ). Najmanji Lj (optimalni zapis značajki xj) dobivamo sljedećtm postupkom: za neki Li �na početku postupka dovoljno velik) potražimo takvu varijablu xj da se međusobna informacija što manje smanji. Ako je ] (n, xj» ]min (n, Xj)' postepeno smanjujemo Lj dok ne postignemo ] (n, xj) = ]min (n, Xj)' Dakle, pri fiksnom Lj tražimo (Lj - I) - torku brojeva S t' 3." . . . , SL' -1 za koju l en, xl) ima maksimum. l en, xj) zaPlŠimO kao funkciju Sl' S." , SL:l �I ' M M LJ ] (n, xj) - L L P (qj (l)I ID;)p (IDi) log L P (qj (l)I IDi)P (ID;) + i=1 i=1 1 = 1 M Lo + L t P (qj (l) I IDj) log P (qj (l)I (O,), 1= 1 1 = 1 o o .
!I,
gdje je : P (qj (l) I ID,) = L P (qj (l) I IDj) 1=8.-,
3,
p (qj (I) lID,) = L P (qj (l) I IDi)' / =0 te deriviramo po Sk (k = I, 2,
(k = 2, 3, . , Lj I ), . .
lJL' _ 1
t p (qj (l) I ID,), 1=0 . . . , Lj - 1 ) pa derivacije izjednačimo sa O. a
p (qj (Lj) 1 ID,) = l
35
2.4. KODIRANJE OSNOVNIH ZNAUJKI UZORAKA
Pri fiksnom
Lj rješenje je sustava jednadžbi: aI (o,
xi)
O
k = 1 , 2, . . . , Lj - l
za
33, traženi skup brojeva 31' 3;1' . . . , 3Li-l•
Postupak optimalnog kodiranja osnovnih značajki uzoraka možemo prikazati sljedećim koracima:
1. korak Iz skupa uzoraka za učenje ocijenimo zakon razdiobe
Nj P (roi) == �' L N; ;= 1
p (roi)' i = 1,
2, . . . , M:
•
gdje je N. broj uzoraka za učenje p (xJ = qJ (l) 1 roj), i = 1 , 2, . . . , M:
u razredu
broj realizacija
•
p (Xj = qj (l)! roi) == _�
roi
te uvjetni zakon razdiobe
q (l) s obzirom na
-;--2---=--_____-='.
_ _
Nj
2. korak za j-tu značajku ocijenimo vjerojamost pogreške razvrstavanja:
LJ p{, (e) 1 L max {p (Xj = q/l)l ro1), =
1= 1
• • •
, p (Xj = qj (l)I roM) }.
3. korak za j-tu značajku izrarunajmo minitnainu međusobnu informaciju: M
lmin(O, XJ) = - L p (roj) logp (roi) +� (e) log P{ (e) i= l
+ [1
-P{ (e)] log [ 1 -P{ (e)] -P{ (e) log (M - 1 ) .
4. korak Odredimo novi broj kvantnih razina j-te značajke Lj tako da vrijedi
Lj < LJ'
5. korak Odredimo brojeve
31' 3;1' . . . , 3L;-1 tako da riješimo sustav jednadžbi:
36
za
2. IZBOR OSNOVNIH ZNACAJKI UZORAKA
k= l,
2, . . . , Li - l .
6. korak Varijabli
qj (l), 1= 1, 2,
Xj priredimo varijablu xi tako da dodijelimo varijabli xi vrijednost . , Lj, ako je 3' - 1 � Xj < SI (postavimo 30 = 0 i SLj = q/Lj)).
..
7. korak Izračunajmo: n I (u,
'
Xj) =
��
� � i = 1 1= I
f> (xi = qi (l) I O)i)
=-....::... "------L....: ....!. :... ....: ... :... -P (O)i) P (Xj = qj, (l) I O)i) log -M �
�
'
L f> (O)r) f> (Xi = qi (l) I O)r)
8. korak
Ako je I (n, xj) > Imin (n, Xj), nastavljamo s korakom 4, ako vrijedi znak jednakosti, postupak je završen, a ako je I (n, x.l) < Imin (n, Xj)' to je indikacija da smo Li previše smanjili. Opisani postupak kodiranja ponavljamo za svaku osnovnu značajku uzorka xp j = l, 2, . . . , n.
2.5. UTERATURA V. R. AJgazi, D. J. Sakri son, On the Optimality of the Karhunen-Loeve Expansion, IEEE Trans. on Infonnation Theory, mart 1969, str. 319 - 32 1 . A . Caprihan, R . J. P . d e Figueiredo, On the Extraction of Pattern Features from Continuous Measure ments, IEEE Symposiwn on Adaptive Processes, 1969, str. 3-e- 1 do 3-e-S. Y. T. Chien, K. S. Fu, on the Generalized Karhunen-Loeve Expansion, IEEE PGIT, Vol. IS - 1 3, juli 1 967, str. 5 1 8 - 520. A. Feinstein, Foundations of Information Theory, McGraw-Hill Book Co., Inc., 1958. D. Foley, The Probability of Error on the Design Set as a Function of the Sample Size and Feature Size, Ph. D. dissertation, Syracuse University, juni 197 1 . K . Fukanaga, W . L . G . Koontz, Application of the Karhunen-Loeve Expansion to Feature Selection and Orderitl/f, IEEE Trans. on Computers, Vol. C-19, N°. 4, april 1970, str. 3 1 1 - 3 18. S. Kuliback, Information Theory and Statistics, Wiley, New York, 1959. N. Pavešić, Kodiranje informacij za razpoznavalne sisteme, Doktorska disertacija, Univerza "Edvarda Kardelja" u Ljubljani, septembar 1976. J. W. Sammon, A Nonlinear Mapping for Data Structure Analysis, IEEE Trans. on Computers, Vol. C-18, N°. S, maj 1969, str. 401 -409. C. E. Shannon, W. Weaver, The Mathematical Theory of Communication, The University of Illionis Press, Urbana 1949. D. L. Tebbe, S. J. Dweyer III., Uncertainty and the Probability of Error, IEEE Trans. on IT, maj 1968, str. 5 1 6 - 5 18. J. T. Tou, R. C. Gonzalez, Pattern Recognition Principles, Addison-Wesley Publ. Co., 1974. J. T. Tou, R. P. Heyderon, Some Approaches to Optimum Feature Extraction, Computers and Infonnation Sciences - II, ed. by J. Tou, Academic Press, New York, 1967. S. Watanabe, P. F. Lambert, C. A. Kulikowski, J. L. Buxton, R. Walker, Evaluation and Selection of Variables in Pattern Recognition, Computers and Information, Sciences - II, ed. by J. Tou, Academic Press, New York, 1967.
3. ANALIZA GRUPA (Prof. dr. Nikola Pavešić, dipl. ing.)
3.1. UVOD Skup uzoraka obično je sastavljen od više podskup ova koji su konveksni (sl. 3. l a) ili u obliku ravnina koj ima su dimenzije obično niže od stvarne dimenzije prostora uzoraka (sl. 3. l b). Upravo takve grupe navode nas na pomisao da dimenzionalnost prostora uzoraka često nije čvrsto povezana sa strukturom pro cesa koji generira uzorke, što smo u ostalom već ustanovili i u poglavlju 2. Određivanje položaja i opis tih podskupova omogućava dublji pogled u strukturu zadanih podataka, tako da pojednostavnjuje ili čak rješava problem razvrstavanja uzoraka. U ovom ćemo poglavlju opisati postupke koji omogućavaju raspozna vanje grupal) u prostoru uzoraka. •• • •• •
••
....: ,.•.•.
• • • • •
• • • • •
al
••
•
• ,•.• ....
•
bl
Sl. :J.1. Uzorci u prostoru uzorka: aj konveksne grupe, b) ravmne
Temeljna je razlika između razvrstavanja uzoraka i postupaka raspoznavanja grupa u tome što su uzorci koje proučavamo pomoću postupaka za raspoznavanje grupa neoznačem - a to znači da ne znamo ni broj grupa ni karakteristične predstavnike (uzorke za učenje) pojedinih grupa. Važna su sljedeća dva primjera primjene postupaka grupiranja: Uzorke koj i su razvrstani u jedan razred možemo grupirati u više grupa (podrazreda). Na primjer, pri raspoznavanju govora jesu naglašeni a, kratki naglašeni a i nenaglašeni a podrazredi razreda "glas aU. Neoznačene uzorke grupiramo u grupe koje odgovaraju "prirodnim razredima uzoraka. Na primjer, kada pri sastavljanju skupova uzoraka za učenje teško određujemo pripadnost uzoraka pojedinim razredima, tada uz pomoć postupaka grupiranja rješavamo problem pripadnosti uzorka razredu. u
' Postupak raspoznavanja grupa (engl. cJuster analysis) često se naziva i u �Je bez u čitelja (engl. learning without a teacher, unsupervised learning). l)
38
3. ANALIZA GRUPA
3.2. MJERE SLICNOSTI
Ako grupiranje definiramo kao određivanje "prirodnih" razreda u skupu uzoraka, tada moramo reći što su to "prirodni"razredi uzoraka. U kojem su smislu uzorci iz "prirodnog" razreda slični? Prije nego počnemo rješavati taj problem, definirajmo funkciju dvaju vektora:
f ex", x,), koji će biti mjera sličnosti dvaju proizvoljnih uzoraka x" i x,, Najočitija mjera sličnosti (ili različitosti) dvaju uzorka jest njihova međusobna udaljenost u prostoru uzoraka (R. R. Soka!, 1 963): Dva su uzorka sličnija Ato Je njihova međusobna uclaljenost manja i obratno.
Kao mjeru udaljenosti možemo uzeti bilo koju funkciju koja zadovoljava uvjete: za x" = x,, a) D (x", x,) = O za b) D (x", x,) = D (x" xJ,
c) D (x", x,) �D (x", Xl) +D (xl' X,),
Te uvjete zadovoljava Euklidova uclaljenost između uzoraka x" i x,:
D = l l x ,, - x, l l =
"
L
i= l
(X"i -XUYZ '
ili Mahalanobisova udaljenost između X i m:
D = (x -ml e - l ex - m),
koju možemo upotrijebiti ako su nam poznata statistička svojstva uzoraka. Pri tome je e kovarijantna matrica populacije uzoraka, m je srednja vrijednost, a X proizvoljni uzorak. Grupe koje određujemo pomoću Euldidove udaljenosti ne mijenjaju se ako uzorke pomaknemo ili ih rotiramo (invarijantnost grupa s obzirpm na translaciju i rotaciju uzoraka). Medutim, ukoliko uzorke transformiramo pomoću transforma cija koje kvare udaljenost izmedu uzoraka (npr. linearne transformacije), mijenja se grupiranje uzoraka pomoću Euldidove udaljenosti kao funkcija sličnosti. Jedan od načina da se to izbjegne jest odgovarajuće normiranje uzoraka neposredno prije grupiranja. Možemo, takoder, kao funkciju sličnosti upotrijebiti normiranu udaljenost, na primjer Mahalanobisovu udaljenost. Mjere sličnosti nisu nužno ograničene samo na udaljenost između uzoraka. Na primjer, nemetrička je mjera sličnosti (ne zadovoljava uvjete a), b), c)):
xr - x, s (x", I l x"l l ' l l x, 1 1 " Ta je mjera kosinus kuta između uzoraka X" i x, i najveća je ako su x" i x, jednako usmjereni s obzirom na ishodište, što tumačimo kao veliku sličnost uzoraka x" i XI' _
_
X,) =
Grupe koje određujemo pomoću te mjere sličnosti ne mijenjaju se ako uzorke zarotiramo ili ih raširimo u prostoru uzoraka. Osjedjive su, medutim, na pomak i na linearnu transformaciju uzoraka.
39
3.3 KRITERIJI GRUPIRANJA
Kada su uzorci binarni, to znači XJ E {O, l } , možemo mjeru s (x"' x,) promatra ti negeometrijski. Kažemo da uzorak Ima j-to svojstvo (značajku) ako je kompo nenta XJ = l . Tada je umnožak xr· x, jednak broju značajki koje su zajedničke uzorcima x" i X,, Umnožak u nazivniku Ilx"I I ' lIx,11 = J x l · x,,) · (x! ' X,) geometrijska je srednja vrijednost broja značajki što ih ima x, i broja značajki što ih ima x". Zato možemo reći da je funkcija sličnosti s (x"' x,) mjera zajedničkih svojstava (značajki) što ih imaju uzorci X" i X,. Inačica binarnog oblika mjere s (x"' x,) jest Tanimotova mjera:
koja se vrlo često upotrebljava u biološkoj taksonorniji i u nosologiji (znanost o bolestima, njihovoj klasifIkaciji, opisu i sL),
3.3. ICRITERIJI GRUPIRANJA Pretpostavimo da želimo razdijeliti skup uzoraka Xl' X ' . . . , XN točno u Ne l medusobno neprekrivajućih područja Sl' S .' . . . , SN . Neka svaki podskup uzora '1, ka sadrži uzorke koji su na neki način meausobno �ličniji nego uzorci iz drugih podskupova. Takvu podjelu uzoraka u podskupove (grupe) možemo postići tako da potražimo ekstrem funkcije koja odreduje kakvoću grupiranja uzoraka. Jedna izmedu najčešće upotrebljavanih kriterij skih funkcija jest zbroj kva drata odstupanja između uzoraka u grupi i aritmetičke sredine grupe: Ne
J = I. I. !Ix - mAI l, J'" 1 ;"'Sj gdje je Ne broj grupa, Sj j-ta grupa uzoraka, a mj aritmetička sredina uzoraka j-te
grupe:
....
l
....
" x, m. = - i..." J
gdje je
Nj iESJ
NJ broj uzoraka u grupi uzoraka Sr
Kriterijsku funkciju J možemo zapisati kao: l Ne
J = - I. N/ ši' 2 j "' 1
gdje j e ši srednja vrijednost kvadrata udaljenosti između uzoraka u grupi: l
x" - XII I · šj= -.I. NJ X' . SJ .I. I I ",• • s,
ši možemo zamijenitI takoder srednjom vrijednosti, medijanom ili najvećom
udaljenosti izmedu uzoraka u grupi. Euklidova se udaljenost također može zamijeniti pogodnijom mjerom sličnosti, na primjer sa s (x ", x,), U tom je slučaju:
40
3. ANALIZA GRUPA
Uzorke možemo grupirati i heurističkim postupcima, postupcima koji su kombinacija heurističkih postupaka i postupaka minimizacije (maksimizacije) kriterijske funkcije ili postupcima koji se temelje na teoriji grafova.
3.4. ITERATIVNI POSTUPCI GRUPIRANJA Skup od
N uzoraka možemo razvrstati u Ne nepraznih podskupova na l Ne N - L .e ( _ l ) Ne -j r Ne·, j = l J
( )
načina. Tako, na primjer, stotinu uzoraka možemo razvrstati u tri grupe na približno 1 047 načina. Odrediti najbolji raspored u tako velikom skupu načina dijeljenja praktički je nemoguće. Najbolje dijeljenje u grupe pokušavamo naći postupcima koji se temelje na iterativnoj optimizaciji. Ti se postupci zasnivaju na "pametnom" početnom dijeljenju uzoraka u grupe i na premještanju uzoraka iz jedne grupe u drugu, ako to pridonosi poboljšanju vrijednosti kriterij ske funkcije. Očito je da nam takav pristup osigurava samo lokalnu optimizaciju (različite početne podjele dovode do različitih rješenja, zato nikada ne znamo da li smo našli najbolju podjelu), ipak usprkos svemu, taj pristup upotrebljavamo prije svega zbog njegove relativno jednostavne izračunljivosti.
Postupak K srednjih vrijednosti (J. MacQueen, 1 967) Postupak se zasniva na minimizaciji kriterijske funkcije Ne
J = L Jp j= 1
gdje je
Jj= L I l x - mjii=' . XES Cijeli postupak možemo sažeto prikazati u sljedećim koracima:
1. korak U prvoj iteraciji izaberemo K ::;;' N središta grupa ml (1), ml (1), . . . , mK (1)· Ako nemamo nikakvih tl priori informacija o grupiranju uzoraka, prve ocjene središta grupa biramo po volji.
2. korak
X l' Xl' . . . , XN U K grupa pomoću relacije: ako je IX - m/k) 1 < I x - mi (k) 1 X E Sj (k), i i #j. za sve i = l , 2, . . . , K
U k-toj iteraciji dijelimo uzorke
41
3.4. INTERATIVNI POSTUPCI GRUPIRANJA
3. korak Računamo nova središta grupa funkcija
mj (k + l ), j = l , 2,
. . . , K, tako da kriterijska
K
J = L L I lx - mj (k + l ) lIl bude najmanja. Središta grupa koja minimiziraju kriterijsku funkciju u k-tom dijeljenju jesu aritmetičke sredine uzoraka pojedinih grupa:
mj (k + l ) =
gdje je
Nj broj
�
L x j XESP) uzoraka u grupi S (k) . j
za
j= I , 2,
. . . , K,
4. korak Postupak je završen ako je m (k + l ) = m (k) za sve j = l , 2, . . . , K, a ako nije, j j postupak se ponavlja od 2. koraka. Upotreba ovog postupka zahtijeva eksperimentiranje s različitim vrijednosti ma K i različitim izborima aritmetičkih srednjih vrijednosti u prvoj iteraciji.
Postupak ISODATA (G. H. Ball, 1 965) Postupak I SODATA (Iterative Self-Organizing Data Analysis Techniques) omogućava mijenjanje broja grupa u fazi izvođenja postupka. To se postiže ujedinjavanjem, odnosno razjedinjavanjem središta pojedinih grupa. Postupak povezuje iterativnu minirnizaciju kriterijske funkcije s nekim heuri stičkim postupcima grupiranja. Postupak je takav da omogućava interakciju istraživača za vrijeme njegova izvršavanja. Postupak I SODATA sastoji se od sljedećih koraka:
l. korak Izaberemo skup od
Ne početnih ocjena središta grupa:
2. korak Izabiremo vrijednosti sljedećih parametara: K proizvoljni konačni broj grupa, najmanji, još dopušteni broj uzoraka u grupi, eN granična vrijednost standardnog odstupanja, es parametar ujedinjavanja središta grupa, ec najveći broj parova grupa koje možemo ujediniti, L I dopušteni broj ponavljanja (iteracija).
42
3. ANALIZA GRUPA
3. korak Grupiramo uzorke
X l' Xl' . . . , XN u grupe na sljedeći način:
i = I , 2, . . , Ne
ako je
.
za sve
X.
4. korak Isključujemo grupe s manje od eN uzoraka, odnosno zanemarujemo Sj ako je N. < eN za svaki j, te smanjujemo Ne za l. Ako u ovom koraku postupka nastupa
isključivanje grupa nastavljamo sa 3. korakom, u suprotnom nastavljamo sa 5. korakom.
5. korak Računamo aritmetičke sredine grupa Sj :
j= 1, 2,
. . .
, No
6. korak
Računamo srednje vrijednosti srednjih udaljenosti između uzoraka u grupi i aritmetičkih sredina grupe:
gdje je
7. korak Imamo na raspolaganju četiri mogućnosti: a) ako je to zadnja iteracija, postavljamo e e = O i nastavljamo postupak s l l . korakom, b) ako je Ne � KI2, nastavljamo postupak s 8. korakom, e) ako je Ne� 2K ili ako je to parna iteracija, nastavljamo postupak s l l . korakom, d) ako nije ispunjen ni jedan od gornjih uvjeta, nastavljamo postupak s 8. korakom.
8. korak Za svaku grupu određujemo vektor standardnog odstupanja (standardne devijacije):
43
3.4. ITERATlVNI POSTUPCI GRUPIRANJA
gdje j e (J;j =
l
�L (xl/, - mij)7.,
NJ x e Sj
i = l , 2, . . , n, j = 1 , 2, . . . , Ne· .
Pri tom je xn i-ta komponenta k-tog uzorka u grupi Sl' a mij i-ta komponent,!l aritmetičke sredine mj uzoraka u grupi Sj" Svaka komponenta (Ju vektora aj predstavlja standardno odstupanje uzoraka u grupi Sj uzduž odgovarajuće koordinatne osi.
9. korak U svakom vektoru označimo je sa (Jjmu.'
al'
1, 2, . . . , Ne , potražimo najveću komponentu
10. korak Ako j e za neki j = 1 , 2, . . . , Ne sljedećih dvaju uvjeta: a)
Dj > D
(Jjmax > es
i ako je ispunjen barem jedan od
N] > 2 (eN + l ),
b) Ne�KI2, tada možemo razjediniti aritmetičku sredinu mj u dvije nove aritmetičke sredine m/ i mi, brišemo mj i povećavamo Ne za l . Sredinu m/ tvorirno tako da pribrojirno određenu vrijednost Yj onoj kompo nenti mj koja trna najveće standardno odstupanje. Sredinu mj- tvorimo tako da istoj komponenti mj oduzmemo Yj' Obično uzimamo da je:
Yj = k(Jj max'
gdje je
O
Ako u ovom koraku postupka nastane dijeljenje suprotnom nastavljamo l l . korakom.
mj'
nastavljamo 3. korakom, u
1 1. korak Računamo udaljenost između parova aritmetičkih sredina grupa: i = I , 2, . . . , Ne
l
j = i + l, i +2, . . . , Ne-
12. korak Udaljenosti Dij uspoređuj erno s parametrom ee. L najmanjih vrijednosti koje su manje od ee razvrstavamo po padajućem redoslijedu:
D/J, < Di.), < . . . < Did,' pri čemu je L najveći broj parova središta grupa koje možemo ujediniti.
44
3. ANALIZA GRUPA
13. korak Ujedinjavanje aritmetičkih sredina grupa započinjemo kod najmanje udalje nosti među sredinama Dj j ' Ako za svaki I = I , 2, . . . , L sredine mj' i mj, nisu bile ujedinjene u toj iteraciji, h,edinjavamo ih po sljedećoj formuli:
Brišemo mi i I
mJ' i umanjujemo Ne za 1 . ,
14. korak Ako j e to zadnja iteracija, postupak završavamo, u suprotnom nastavljamo postupak 2. korakom (ukoliko korisnik zahtijeva promjenu parametara). Ako se ta promjena ne zahtijeva, nastavljamo 3. korakom. Kao iteracija broj i se svako vraćanje na 2. ili 3. korak. Razmotrit ćemo primjer grupiranja skupa od osam dvodimenzionalnih vektora. Zadan je skup uzoraka: Xl (4, 1 5) T, X:.l = (6, 1 4) \ x) = (4, 1 2) T, (8,9) T, xs = (9,7) T, x�= (9,5)T, :,\ = (8,3) T i xg = ( 1 4,3) T . Slika 3.2 prikazuje uzorke u prostoru uzorka.
Xl
15
:
Xz
•
i 10
:-
is •
S
X6
•
x,
:
•
o
Sl. 3.2. Osam dvodimenziuna/mh uzoraka
1S II
II
prostoru uzoraka
45
3.4. ITERATIVNI POSTUPCI GRUPIRANJA
a)
Uzorke ćemo prvo grupirati postupkom K-tih srednjih vrijednosti.
1. korak
2. korak Zato što je:
I I x, - ml ( 1 ) 1 1 < I l x, - m" (1) 1 1 I lx, - m2 (1) 1 1 < l I x, - m k (1) 1 1 I I x8 - m 3 ( 1 ) 1 1 < I I x8 - m" (1) 1 1 dobivamo
k = 2, 3, 1 = 1, 2, 3, 1 = 4, 5, 6, 7, k = 1 ,3, k = 1 , 2,
za za za
S l ( 1 ) = {Xl ' X2' X3}, S2 ( 1 ) = {X4' Xs' X6' x7}, S3 ( 1 ) = {Xg}.
3. korak I zračunavamo aritmetičke sredine grupa �
ml (2) =
I
Nl
" ....
L. ;: E S, ( I)
I ....
�
S l ( I ), Sl ( 1 ) i S3 (1):
....
X = 3 (Xl +X2 +X 3) (4,67 , 1 3,67) T, (8,50 , 6,00) T,
4. korak Zato što je
m/2) #= mj ( 1 ) za j = I , 2,
3, nastavljamo postupak
2.
korakom.
2. korak Dobivamo jednak rezultat kao u prethodnoj iteraciji.
3. korak Dobivamo jednak rezultat kao u prethodnoj iteraciji.
4. korak Zato što je grupirali u:
mj (3) = mj (2)
za j = I ,
2, 3,
postupak je konvergirao. Uzorke smo
3. ANALIZA GRUPA
46
Grupe prikazuje slika 3.3.
� 15
10
5
O Sl. 3.3.
15
x
Uzorci sa slike 3.2 grupirani postupkom K srednjih f.lrijedwmi
b) Pokušat ćemo sada riješiti problem prema slici 3.2 postupkom ISODATA l. korak
2. korak Izabiremo: K= 3) E>N= 1 , E>s = 4, ®c = l , L = O, / ='4. Ukoliko nemamo tl priori informaciju o uzorcima koje obrađujemo, parametre izabiremo po volji i popravljamo ih u toku postupka.
3. korak Budući da imamo samo jedno središte grupe, vrijedi:
47
3.4. ITERATIVNI POSTUPCI GRUPIRANJA
4. korak Zato što je
Nl > E'>N' ne brišemo
nijednu grupu.
S. korak Računamo aritmetičku sredinu grupe pa dobivamo:
m1 �
1 Nl
,, � _
L, X -
h S,
1(
- 7 ,75 X 1 + X 2 + . · · + X g) _ 8 �
�
�
, 8,5 O) T.
6. korak Računamo srednju vrijednost udaljenosti između uzoraka i aritmetičke sredi ne grupe:
odnosno
7. korak Budući da to nije zadnja iteracija i vrijedi korakom.
Nc
8.
8. korak Određujemo vektor standardnog odstupanja uzoraka u grupi
Sl:
al = (3,03 , 4,75 )T. 9. korak Najveća komponenta
G1max = 4,75 .
10. korak Zato što je G1rnax > E'>s i Ne < K/2, razjedinjujemo pretpostavimo da je l' = 0,5 ' Gl max � 2, dobivamo:
ml
na
m;
m;.
Ako
m; = (7,75 , 1 0,50)T,
m� = (7,70 , 6,50)T. Sredine novih grupa označit ćemo sa sa 3. korakom.
m l i m2, a Ne povećavamo za 1 i nastavljamo
48
3. ANALIZA GRUPA
3. korak Skupovi uzoraka su sada: Sl = {Xl' X Z' X3' X4)
4. korak Budući da su N l i Nz veći od 0 N, ne brišemo nij ednu grupu.
5. korak Računamo aritmetičke sredine grupa. Dobivamo:
1 m l = N L X = (5,50 , 12,50) T, -
l i E s,
1 �� t... x = ( l O,OO , 4,50) T . mz = Nz X e s �
,
6. korak
Računamo:
1
_
D l = - L I I X -m l l l = 2,59 Nl ;es, D = z
,
.L I l x. -mz l l = 2,65 , � xeSz
1
�
Nc
D = - L Npj = 2,62 . Nj l =
7. korak Nastavljamo sa
1 1. korakom zato što j e to parna
iteracija.
11. korak Računamo udaljenost izmedu aritmetičkih sredina grupa: D = ll
l i m i -mzl l = 9, 1 8
12. korak Zato što je D l l > 0e> sredine nećemo ujedinjavati.
49
3.4. ITERATIVNI POSTUPCI GRUPIRANJA
13. korak Iz rezultata 1 2. koraka slijedi da ujedinjavanje nije potrebno.
14. korak Budući da to nije zadnja iteracija nastavljamo 3. korakom.
da ne želimo mijenjati parametre,
Od 3. do 6. koraka Dobivamo iste rezultate kao u prethodnoj iteraciji.
7. korak Nastavljamo sa sljedećim korakom. 8. korak Određujemo:
crl = (1 ,66 , 2,29? crz = (2,35 , 1 ,66) T.
9. korak Najveće komponente jesu:
= 2,29 , <J2max = 2,35 . <JI max
10. korak Nastavljamo l l . korakom zato što nisu ispunjena oba uvjeta za ujedinjavanje grupa.
Od 11. do 14. koraka Dobivamo iste rezultate kao u prethodnoj iteraciji. Nastavljamo s
3.
korakom.
Od 3. do 6. koraka Dobivamo iste rezultate kao u prethodnoj iteraciji.
7. korak Zato što je to zadnja iteracija, postavljamo korakom.
E>c= O
nastavljamo sa l l .
3.
50
ANALIZA GRI'A
Od 1 1. do 14. koraka Dobivamo iste rezultate kao u prethodnoj iteraciji. Budući da je to posljednja iteracija, postupak se završava. Rezultate grupiranja prikazuje slika 3.4.
Xz
15
10
s
o
5
10
15
x,
Sl. 3.4. Uzorci sa slike 3.2 grupirani posluplwm ISODA TA
Uzorke smo pomoću postupka ISODATA grupirali u dvije grupe. Svaka grupa sadrži velik dio uzoraka i njihovo razdvajanje je veće od srednje vrijednosti raspršenosti uzoraka, koie je dano standardnim odstupanjem. Ova se dva postupka što smo ih do sada primjenjivali temelje na pretpostavci da je broj grupa unaprijed zadan. Kako odrediti broj grupa u /wje ćemo grupirati
zadane
uzorke?
PostuP.a!t grupiranja obično ponavljamo za različite vrijednosti K, na primjer za K = l , K = 2, K = 3 itd., i promatramo kako se mijenja kriterijska funkcija. Ako broj grupa raste, kriterijska funkcija monotono pada jer se suma kvadrata odstupa nja smanjuje svaki put kada povećamo broj grupa za j edan. Najudaljeniji uzorak (uzorak sa najvećim odstupanjem) uvrštavamo u novu grupu. Ako se N uzoraka grupira u Ne kompaktnih, dobro prepoznatljivih grupa, možemo očekivati da će vrijednost kriterijske funkcije brzo padati do vrijednosti argumenta K =: Ne; a kasnije puno sporije sve do vrijednosti nula pri K ::: N. Slika 3.5 prikazuje kako se mijenja kriterijska funkcija J ako broj grupa povećamo od l do 8 za naš primjer na slici 3.2. Već površan pogled na sliku 3.5 omogućuje nam da zaključimo kako se zadani uzorci grupiraju zapravo u trl grupe.
51
3.S POSTUPCI GRUPIRANJA
5 4 3 2
o
1
7 Broj
•
Sl. 3.5. Kriterijska funkcija J
u
8
grupo.
zavisnosti od broja grupa za primjer na slici 3.2
3.5. POSTUPCI GRUPIRANJA NA TEMELJU TEORIJE GRAFOVA
Postupci grupiranja na temelju teorije grafova (J. G. Augustson, najčešće se zasnivaju na analizi udaljenosti izmedu uzoraka:
D ", = Il xa - x,lI ,
k = 1,
2, . . . , N
,
1 = 1,
1970)
2, . . . , N,
ali ih možemo uopćiti na proizvoljnu mjeru sličnosti izmedu uzoraka. Takav pristup grupiranju uzoraka, koji na štetu globanih osobina grupa uzima u obzir lokalne osobine, omogućava otkrivanje strukture grupa. To je osobito važno za grupe čija je dimenzionalnost manja od dimenzionalnosti prostora uzoraka (npr. grupe na slici Lb) (R. S. Bennett, 1 969).
Matrica sličnosti Iz udaljenosti izmedu uzoraka možemo sastaviti binarnu matricu sličnosti po relaciji:
_ S kI -
{
l
ako je
O
ako je
Dkj l({, 9 Đkj > 9
gdje je e granična duljina. Matrica definira graf sličnosti u kojem grane grafa povezuju čvorove (uzorke u prostoru uzoraka) samo ako je odgovarajući element matrice sličnosti jednak j edan. Na primjer, čvorovi k i l su povezani s granom grafa samo ako je Skl = L Grupe su odredene odvojenim podgrafovima sličnosti (C. Abraham, 1 962). Pogle dajmo jednostavan postupak odredivanja odvojenih podgrafova sličnosti iz grafa sličnosti (W. S. Meisei, 1974).
I. korak Izabiremo redak matrice sličnosti koja ima najveći broj jedinica. Pretposta vljamo da je najviše jedinica u i-tom retku.
52
3. ANALIZA GRUPA
2. korak
Tvarima grupu od uzoraka koji odgovaraju jedinicama u i-tom retku. Pretpo stavljamo da su jedinice u stupcima j, k, l, . . . Toj grupi pridodamo još uzorke koji .-tom retku. U slučaju da su u tim recima odgovaraju jedinicama u j, k, I, -tog stupca, na primjer u stupcima m, n, o, . , pridodamo jedinice i izvanj, k, l, -tom retku. Ako sada u toj grupi i uzorke koj i odgovaraju jedinicama u m, n, 0, m, n, 0, -tom retku nema jedinica izvan i, j, k, l, m, n, o, . . .-tog stupca, postupak prirodavanja uzoraka u tu grupu završavamo. U suprotnom, pridodajemo toj grupi i uzorke koji odgovaraju jedinicama u p, r, s, . -tom retku, itd. . .
. .
. . .
• . •
. . •
. .
3. korak
Brišemo redak i stupac uzoraka koje smo već grupirali. Postupak ponavljamo za reduciranu matricu i nastavljamo sve dok matrica sličnosti ne nestane.
Pogledajmo kako uzorke iz slike 3. 2 grupiramo pomoću opisanog postupka. Najprije računamo N(N 1)/2 udaljenosti između uzoraka:
DI4 = ?,2;
D1 S = 9,43 ;
D16 = 1 1 , 1 8;
Dz4= 5,39;
Dzs = 7,62;
DZ6 = 9,49;
DZ7 = 1 1,18;
D u = 7,07;
D36 = 8,60;
D37 = 9,85 ;
D38= 1 3,45 .
D 13 = 3,00 ;
Du = 0,00;
D u = 2,24;
D l1 = 1 3,00 ;
D1S = 1 5,62 .
Dzz = 0,00;
DZ3 = 2,83 ;
D33 = 0,00;
D34 = 5,00;
D44 = 0,00 ;
D4S = 2,24;
D46 = 4, 1 2 ;
D47 = 6,OO ;
D ss = 0,00;
D S6 = 2,00 ;
D s7 = 4,1 2 ;
D58 = 6,40 .
D66 = 0.,00;
D6 7 = 2,24 ;
D68 = 5,39.
D77 = 0,00 ;
D78 = 6,00.
Dn= 1 3,60. D4S = 8,40 .
Dss = 0,00 .
Ako izaberemo 8 = 4, dobivamo sljedeĆU matricu sličnosti:
2
3 l
4 O
5 O
6 O
7 O
8 O
1
1
1
O
O
O
O
O
2
1
1
O
O
O
O
O
3
O
O
O
1
O
O
O
4
O
O
O
1
1
O
O
S
O
O
O
O
1
1
1
O
6
O
O
O
O
O
1
O
7
O
O
O
O
O
O
1
8
1 l
s=
l. korak
l
O
Za redak koji ima najveći broj jedinica izabiremo prvi redak matrice S. Znači
i= l .
3.5
53
POSTUPCI GRUPIRANJA
2. korak Tvorirno grupu od uzoraka Xl' x2 i X3• Budući da u recima 2 i 3 nemamo do datnih j edinica izvan stupaca 1 , 2, 3, grupu ne uvetavamo. Znači, Sl = {Xl' x2, x3}·
3. korak Tvorirno reduciranu matricu tako da brišemo retke Dobivamo:
4
5
l s'
l
l
6
7
8
O
O
O
4
l
O
O
5
O
6
O
7
l
8
O O
O
O
O
O O
stupce
l, 2
3.
l. korak Redak
5
ima najveći broj jedinica.
2. korak U grupu S:z uvrštavamo uzorke x4, Xs i x6• Zato što redak 6 u sedmom stupcu ima jedinicu, uvrštavamo x1 u grupu S2' Pošto u sedmom retku nema jedinica izvan 4-, završavamo.
5- , 6-,
7-tog stupca, postupak pridodavanja uzoraka u grupu S:z
3. korak Tvorimo reduciranu matricu tako da brišemo retke i stupce 4, Dobivamo: S"
=
[1] 8.
l. korak Biramo redak
8.
2. korak Tvorirno novu grupu u koju uvrštavamo uzorak xs: S) = {x8 } ,
5, 6
h 7.
54
3. ANALIZA GRUPA
3. korak
Matrica S je brisanjem retka 8 nestala, pa je postupak završen. Rješenje primjera prikazuje slika 3.3.
Stablo minimalne duljine (c. T. Zahn, 1971) Problem izbora granične duljine e možemo izbjeći ako izravno obrađujemo matricu udaljenosti između uzoraka. Uzorci, njih N, predstavljaju u prostoru uzoraka čvorove punoga neusmjerenog grafa koji povezuje sve čvorove grafa. Svakoj grani grafa dodjeljujemo težinsku vrijednost koja odgovara udaljenosti između odgovarajućih čvorova. Tvorimo stablo grafa (djelomični graf koji pove zuje sve čvorove grafa i ne sadrži ni jednu petlju) tako da je ukupna duljina njegovih grana najmanja (stablo minimalne duljine). Razmotrimo primjer uzoraka sa slike 3.2. Stablo minimalne duljine povezuje sljedeće parove uzoraka:
To stablo prikazuje slika 3.6.
15
10
5
O
5
10
15
Xl
Sl. 3.6. Stablo minimalne duljine uzoraka sa slike 3.2
Problem je grupiranja u principu riješen; svi su uzorci povezani u okviru pojedinih grupa. Postoje samo dvije suvišne veze koje povezuju uzorke iz suprotnih grupa. Prekidom tih dvaju grana stablo se grafa raspada u tri odvojena stabla, od kojih svako stablo povezuje uzorke jedne grupe. Kako otkriti suvišne grane u stablu minimalne duljine?
3.5 POSTUpCI GRUPIRANJA
55
Jedan od osnovnih pomoćnih sredstava je određivanje razdiobe duljina grana u stablu minimalne duljine. Očekujemo, naime, da je ta razdioba bimodalna, što se vidi i iz histograma na slici 3.7. Slika 3.7 prikazuje razdiobu duljine grana stabla minimalne duljine sa slike 3.6.
6 5 4
ModusA
3 2
o
Modus B
6
7
8
SI. 3.7. Histogram distribucije duljina grana u stablu minimalne dulji1le sa slike 3.5
Granična duljina što dijeli grane koje povezuju uzorke u grupama od grana koje povezuje grupe zauzima vrijednost između dvaju modusa.
3.5. UTERATURA Abraham, C. Evaluation of Clusters on the Basis of Ra1ldom Graph Theory, IBM Corp., Yorktown Heights, New York, nov. 1962. Augustson J. G., J. Minker, An ONJlysis of some graph theoretical cluster techniqu&, J. ACM, 1 7, 571 - 588, okt. 1970. Ball G. H., Hall D. J., lsodata, A1I lterative Method of Multivariate AlIIQlysis and Patter1l Classification, Proceedings of the IFIPS Congress, 1965. Bennett R. S., The Intrinsic Dimensionality of Single Collections, IEEE Trans. PGIT, Vol. IT- I S, No. 5, 5 1 7 - 525, Sept. 1 969. MacQueen J., Some Methods for Classification and AlIIQlysis of Multivariate Data, Proceedings of the 5th Berkeley Symposium on Probability and Statistics, University of California Press, Berkeley, 1967. Meisel W. S., Computer-Oriented Approaches to Pattern ReC()gnitUm, Academic Press, New York, 1972. Sokal R. R., Sneath P. H. A., Principles of Numeril;al Taxonomy, W. H . Freeman, S. Francisco, 1963. Zahn C. T., Graph- TheQwical Methods for Detecting and Describing Gestalt Clusters, IEEE Trans. Computers, 20, 68 - 86, 197 1 .
4. LINEARNE FUNKCIJE ODLUČIVANJA
(DECIZljSKE FUNKCIJE)
(Prof. dr. Nikola Pavešić, dipl. ing.) 4.1. UVOD
Osnovni zadatak sustava za raspoznavanje j e razvrstavanje uzoraka u razrede uzoraka. To se može izvršiti pomoću funkcija koje dijele prostor uzoraka u međusobno neprekrivena područja, gdje svako područje pripada samo jednom razredu uzoraka. Takve funkcije u teorij i raspoznavanja uzoraka nazivamo funkciJe odlučivanja (engl. decision function). Ako imamo M razreda uzoraka, moramo imati i toliko funkcija odlučivanja . . . , M, tako da je
dl< (x), k = 1 , 2,
za
j =1= i.
Drugim riječima, to znači da funkcija odlučivanja di (x) ima najveću vrijednost na području kojem pripadaju uzorci iz razreda IDI' Granicu koja dijeli područja IDI i ID sastavljaju točke prostora uzoraka sa svojstvom dj (x) = dj ex), odnosno j di (x) d/x) O. Slučaj M razreda uzoraka rješavamo sa M (M - l )/2 granica. Moramo odmah reći da ne trebamo toliko granica u svim slučajevima. To se vidi iz primjera što ga prikazuje slika 4. 1 , gdje je granica dt ex) -d3 (x) = o suvišna. -
H=4
HIH-lll2 = 6
Sl. 4.1. Primjer suvišnih gramca odlult.vanja
4,2.
57
LINEARNE FUNKCIJE ODLUCIVANJA I GRANICE
4.1. LINEARNE FUNKCIJE ODLUČIVANJA I GRANICE Vjerojatno najjednostavniji oblik funkcije odlučivanja predstavlja upravo linearna funkcija:
d (X) = W1X1 +WlXl + . . . +W"X" +W" + l = w!x +W" + l '
gdje je w = (w 1, w l' ..Q praga. W IJ+ 1 koetlcijent
W,,)T vektor koeficijenta, x = (X1, Xl'
o o .
o o .
,
X,,)T uzorak, a
Granica koja dijeli (Oj i (Oj također je linearna:
d/ ex) - d/x) = 0,
odnosno:
(WiU _Wj�T ' X =
-
(wi• n + l - WJ• n + l) '
Slika 4.2 prikazuje primjer granica koje u prostoru uzoraka dijele razrede (01' i (03' Na slici možemo također opaziti da su područja što ih omeđuju linearne granice uvijek konveksna, (Ol
Sl. 4.2.
Granice odlučivanja za primjer triju razreda uzoraka
Pomoću slike 4.3 prikazat ćemo neka geometrijska svojstva granica linearnih funkcija odlučivanja.
Na slici sino sa ii označili jedinični vektor koji je u točki p okomit na hiperravninu (granicu) i usmjeren tako da pokazuje na pozitivnu stranu hiperrav nine. Jednadžbu_hiperravnine možemo zapisati kao:
...:Io T x.J.
U
�, = u...,l. T p
gdje su x i p točke hiperravnine. Ako jednadžbu hiperravnine usporedimo s jednadžbom granice što smo je l l prethodno normirali sa i Cw10 - wJ� = (wh - Wjt) + . . . +(wh. -W},,) , dobit ćemo:
i
li J
4. LINEARNE FUNKCIJE ODLUCIVANJA
58
"' T]1:t =
U
(WI• n + 1 - Wj, .. + 1)
!I(WiO - Wj�1 I .
Hiperrovnino
Sl. 4.3. Geometrijska svojstva hiperravnina
Prema slici 4.3 vidi se da koeficijent (wi n + 1 - W ', n + 1) odreduje položaj granice s obzirom na ishodište. Ako je taj koeficijent jednat 0, granica prolazi točno kroz ishodište, a ako je veći od 0, ishodište se nalazi na pozitivnoj strani granice i obratno, ako je manji od 0, nalazi se na negativnoj strani. Jedinični vektor u odreduje orijentaciju hiperravnine. Ako je neka komponenta vektora u jednaka 0, hiperravnina je paralelna s koordinatnom osi koja odgovara toj komponenti. Budući da je u= (wl o - Wj�/ II Wi - wjo ! l , možemo ispitivanjem vektora (wi O - Wj� ustanoviti da li je granica paralefna s nekom koordinatnom osi. Udaljenost između neke točke x i hiperravnine je:
1
T x (Wi, II + 1 - Wj, n + 1) ( io = I "'P _ "' Tpl = W _Wj� · + l I(wiO - Wj�1 1 II wiO - Wjo l l _ Idi (x) - d/x) 1 - I (wi I O - Wj�1I . Iz gornjeg izraza vidimo da je udaljenost izmedu uzorka x i granice proporcional na razlici funkcija odlučivanja, di (x) - dj (x) . D.x =
U X
U
I
Linearne funkcije odlučivanja obično zapisujemo u obliku:
di (x) = wix·, ax _ " -( . . . , wn' wn + l )T vektor koefiCljenata,
_ (w 1' wl' ... gd·Je Je . w "prošireni" uzorak. Trivijalno rješenje jednadžbe granice
(wi - Wj? ·x· = O
... .
Xl' X3' . . . , Xn'
I )T
kazuje nam da granica odlučivanja prolazi uvijek ishodištem (n + 1) dimenzionalnog prostora uzoraka, i to bez obzira kako je prolazila u n-dimenzio nalnom prostoru. Slika 4.4 prikazuje primjer preslikavanja n-dimenzionalnog prostora uzoraka u (n + l)-dimenzionalni prostor uzoraka.
4.3. UOPCENE LINEARNE FUNKCIJE ODLUCIVANJA
a) Jednodimenzionalni prostor uzoraka
b)
Wl • • ••
S9
W) W2 _ I---" .-l. --l .I--.. II-i O-O--O--+--.
.1
xl
Dvodimenzionalni
"projireni" prostor uzoraka
b) SI. 4.4. Lillear7Ul granice odlučivanja
Udaljenost izmedu uzorka
II
profirenttm prostoru llZoraka
X* = (X1, Xl' . . . , X ",
l ? i granice u
dimenzionalnom prostoru uzoraka je
(n + l)
I (dj (x) - diX)) 1 I I Cwi - wi)11 Kako Je
! l Wi wi l l � I I (wio - Wia:> II, -
ta j e udaljenost manja ili najviše jednaka
udaljenosti izmedu uzorka X = (X1, Xl' . . . , X,,)T i granice u n-dimenziona1nom prostoru. Ako razrede uzoraka ne možemo razdijeliti linearnim granicama, moramo upotrijebiti nelinearne funkcije koje dijele prostor i na nekonveksna područja.
4.3. uopćENE LINEARNE FUNKCIJE ODLUĆIVANJA Sljedeći stupanj u izboru funkcija odlučivanja jest kvadratna funkcija odluči vanja. Ona se sastoji od koeficijenata članova nultog, prvog i drugog reda. Ako su uzorci n-dimenzionalni, funkcija odlučivanja ima oblik:
d (x) =
JI
n-i
II
...
L WJ.f; + Ll L+ l Wjrr" + Ll WrJ + W" + l ' i"' 1<=j i "' l j=
gdje je (n + I) (n +2)/2 ukupan broj članova. Kvadratnu funkcij u odlučivanja možemo razmatrati i kao linearnu funkciju sa (n + l ) (n + 2)/2 varijabli:
d (X) = w1f1 (x) + wlfz (x) + . . . + WX.fK (X) + WX+l
60
4. LINEARNE FUNKCIJE ODLUCIVANJA
gdje je:
K = [(n + l) (n +2)/2] - l
{fl (x), . . . , fn (x) } = {x�, . . . , x! }
{fn + 1 (x), . . . , jln (x) } = {Xl' . . . , Xn }
{fl n + 1 (X), . . . , fK (x) } = {XlXl' XlX3, . . . , X" - lXn},
odnosno u vektorskom obliku:
gdje je:
x · = (/1 (x), . . . . fK (x), I)T iV = (wl' wl'
• • •
T ' WK, WK +I) .
Kad izračunamo vrijednosti (qnkcija � (x) } za dani x, dobivamo vektor od K brojčanih vrijednosti kojemu pridodajemo još element l . Gornja jednadžba je linearna funkcija novih uzoraka x · · Ako transformiramo sve uzorke x u uzorke x · tako da izračunamo vrijednosti funkcija {fi (x) } za sve x, uspjeli smo kvadrat nu funkciju odlučivanja pretvoriti u linearnu. U prostoru značajki X · su sva područja odlučivanja konveksna, što u prostoru značajki X nije bilo nužno. Funkcije odlučivanja višeg reda (r > 2) možemo, takoder, razmatrati kao linearne funkcije (n +r) !/(r!n! ) varijabli. Funkcije iz skupa (fi (X)} odredujemo iz jednadžbe: fi (x) = �� x�� . . . �,
gdje varijable P l' Pl' . . . , Pr mogu zauzeti vrijednosti l, 2, . . . , n, a varijable S l' Sl' , Sr mogu imati vrijednost O ili l : • • •
P l' Pz' . . . , Pr = 1 , 2, . . . , n
Budući da članovi u toj jednadžbi sadrže eksponente stupnja r ili niže, može se polinornska funkcija odlučivanja zapisati u rekurzivnom obliku:
gdje r označava stupanj nelinearnosti, a tF (x) = W + , . n
Ta nam relacija omogućava prikladno generiranje polinomskih funkcija odlu čivanja proizvoljnog konačnog stupnja. Na primjer, uzmimo da je r = 2 i n = 2. . Imamo: CP (x) =
l
Z
L L
,. = 1 '3 = '1
l W" l"ZX" lX"l + d (x),
4.4. GRADIJENTNI POSTUPCI
61
gdje je
Z dl (x) = L Wp IXp l + dO (x) = W IXl +WzXz +W 3· p, = 1
I konačno:
tP (x) = WllX� +WlZXIXz + WllX! +WIXl +WlXl +W 3· Sustav za raspoznavanje uzoraka koji upotrebljava polinomske funkcije odlu čivanja r-tog stupnja može se realizirati pomoću pretprocesora koji za svaki ulazni uzorak x izračunava vrijednosti skupa funkcija 'Ji (x)} pomoću linearnog klasi fikatora dimenzija (n + r)!/(r!n!). Slika 4.5 prikazuje blok-shemu takva sustava.
IF
J
,
X\
:
�=fli1l x,=f!il Pretproce5II"
xT=fm x:=f� m
x._I -
x:.I = ,
X.
-
W{ r
WI
\VJ xe
wz \VI
W"_I W"
-T�. WI I
- . -.
�_I X -T W"
=
{e vrijednostl
Odluka
Y"Wi
i='.2 ... . H
-e X
K = l n+rl!/r ! n ! H = broj ralrecki uzoralla
Sl. 4.5. Blok-shema sustava za raspoznavanje uzoraka
Određivanje funkcija odlučivanja nazivamo "učenje" ili "vježbanje". U na stavku ćemo razmotriti nekoliko postupaka iterativnog "učenja" koeficijenata linearnih funkcija odlučivanja na temelju skupa uzoraka za učenje. Za sve te postupke karakteristično je da su deterministički i da ne uzimaju u obzir statistič ka svojstva razreda uzoraka.
4.4. GRADIJENTNI POSTUPCI
•
Pretpostavimo da imamo N uzoraka X l' Xl' . . . , XN raspoređenih u dva razreda uzoraka 0) 1 i o)z. Dane vektore upotrijebit ćemo za određivanje vektora koeficijena ta linearne funkcije odlučivanja d(x) = wTx. Uspijemo li odrediti takav vektor koeficijenata funkcije odlučivanja tako da pomoću njega možemo pravilno razvr stati sve uzorke, kažemo da su razredi uzoraka linearno razdvojivi.
Uzorak X razvrstavamo pravilno ako je za sve uzorke iz 0) 1 produkt WTX > O i ako je za sve uzorke iz razreda O) l produkt wT · x < O. Uvjet WTX > O za razvrstavanje svih uzoraka dobivamo ako pomnožimo sve uzorke iz razreda 0)1 sa - l .
Potražimo takav vektor koeficijenata linearne funkcije odlučivanja da vrijedi
62
4. LINEARNE FUNKCIJE ODLUCIVANJA
[X] ' w > O za sve uzorke X. Pri tome je:
.e 1 l .e
[x] =
x�
matrica svih uzoraka iz skupa za učenje, s tim da su uzorcI IZ razr�da O)l pomnoženi sa - l , w = (w 1 , wl' . . . , w", W" + l)T vektor koeficijenta, a O nulti vektor. Vektor koji zadovoljava sustav linearnih nejednadžbi { xl ' > O nazivamo razdvojni vektor. Razdvojni vektor pomoću gradijentnog postupka nalazimo na sljedeći način : Iz vektorske analize znamo da je gradijent funkcije I(x) u odnosu na vektor ji = (Y l' Y2' . . . , Y II? definiran kao:
W
W
grad l
r.Y)
dl r.Y) = dji =
(JI ay"
Svaka komponenta gradijenta predstavlja veličinu promjene funkcije u smje ru komponente vektora. Povećanje argumenta u smjeru pozitivnog gradijenta funkcije l dovodi nas do maksimuma funkcije l i obratno, ako povećavamo argument u smjeru negativnog gradijenta, dolazimo do minimuma funkcije f. Na temelju navedenog svojstva možemo razviti iterativni postupak za određivanje ekstrema funkcije. U našem slučaju izabrat ćemo funkciju koja postiže minimum pri ispunjenju uvjeta: za
i= 1, 2, .
gdje je XI i-ti redak matrice [x] dimenzija N x (n
.
.
+ l).
, N,
Zahtijevamo jol da izabrana funkcija ima samo jedan minimum, kao na primjer funkcija:
J(w, x) " (lwTxl -wTx), gdje je liVTXI apsolutna vrijednost od iVTx. Minimum funkcije J (iV, x) = O. Ako izuzmemo trivijalni slučaj kada je W = O, minimum se postiže uz uvjet iVTX > O. Postupak za određivanje vektora koeficijenata iD sastoji se u tome da korak po korak povećavamo w u smjeru negativnog gradijenta funkcije J CilJ, x) sve dok ne postignemo minimum kriterij ske funkcije. Drugim rij ečima, ako w Ck) predstavlja vrijednost za w u k-tom koraku, možemo gradijentni postupak opisati kao (W. H. Highleyman, 1962):
{
iV (k +l)=W (k) -P oJ (aw U: X)
}
_.';(6)
,
U. GRADIJENTNI POSTUPCI
63
gdje je w (k + 1) nova vrijednost za w, a p pozitivna konstanta koja odreduje veličinu korekcije. Možemo primijetiti da korekcije više ne izvodimo kada je aj/aw 0, što je uvjet za minimum. Razmotrimo postupke učenja koje dobivamo upotrebom različitih kriterij skih funkcija: =
a) Parcijalna derivacija kriterijske funkcije po it je:
aj l � � � � � = [x sgn (w Tx) - x] , AW 2 -
I
gdje je po definiciji
� " sgn Cw Tx) =
{
l ako je itTX > O - l ako je WTX � O .
Zamjenom dobivamo
w Ck + l ) w Ck) +� {x Ck) -x Ck) sgn [w T Ck) X Ck)] }, 2 gdje je x (k) uzorak skupa za učenje koji primjenjujemo u k-tom koraku učenja. Gornju jednadžbu možemo zapisati: =
{
O ako je wT Ck)x Ck» O � � w Ck + l ) = w Ck) + p x Ck) ako je wT Ck)x Ck) �O)
gdje su p> O i w cl) izabrani po volji. Ovakav postupak po:tnat je pod imenom postupak perceptrona sa stalnim
prirastom CF. Rosenblatt, 1962).
l JCw, x) = � p CjwTX! " _ l wTx!WTX) 4x x Parcijalna derivacija kriterijske funkcije J po w dana je izrazom: 1 == � t>l [2I wTxl x sgnCwTx) - lwTx!x - l wTxl xsgn CwTx)], uw 4x T �
b)
��
koji možemo zapisati kao:
, o� =
[I
l � p wTx!xsgnCwTx) - ! wTx l x]. aw 2 x x Postupak učenja w daje izraz: w Ck + l ) w Ck) + =
AI �: Ck)� Ck) ! {x Ck) - x Ck)sgn ['fP Ck)x Ck)] h
2x Ck)x Ck) gdje smo umjesto p napi s a li A da izbjegnemo eventualnu zabunu s korekcijskim faktorom u slučaju a).
64
4. LINEARNE FUNKCIJE ODLUCIVANJA
Ako
U
obzir uzmemo:
� �
sgn (wTx) =
{
1 ako je WTX > O - 1 ako je WTX � O '
dobiva se: �
�
w (k + 1) = w (k) +
{
A. l wT (k) ' x (k) 1 O ako je wT (k)x (k» O xT (k) ' x (k) x (k) ako je wT(k)x (k) �O �
�
�
�
�
.
Jasno je da početna vrijednost vektora w mora biti različita o d O. Ako je A.> 1 , promatrani uzorak pravilno uvrštavamo nakon svake korekcije vektora W. Jedno stavno se može dokazati da taj postupak konvergira za O < A. < 2. Postupak je poznat pod nazivom postupak perceptrona s djelomičnom korekcijom. c) Kriterijska funkcija:
�
� � (wTxj - bY = I I [X]w - b W J (w, X, b) = 2 j= 1 2 neka dostigne minimum kada je
[X]w = b,
b = (b b2, . . . , bN? vektor pozitivnih komponenata. l' Dakle, umjesto da� tražimo vektor w koj i zadovoljava nejednadibu [X]w > O, tražimo vektore w i b tako da zadovoljavaju jednadibu [X]w = b. Budući da minimiziramo kriterijsku funkciju J s obzirom na w i b, taj se postupak donekle gdje je
razlikuje od općega gradijentnog postupka. Parcijalne derivacije kriterijske funkcije po
�
w i po b jesu:
� � aJ aJ = [X] T ([X]w -b) --== -([x]w -b). aw ob b Vrijednosti za moraju biti pozitivne, zato vektor b mijenjamo tako da ne �
prekoračimo to ograničenje:
b ek + 1 ) = b (k) +p { [X]w (k) - b (k) + I [X]w (k) - b (k) I } . Uvedimo oznaku -e (k) = [X]w (k) - b ek). Ako je ej (k) �O, korekcija bj (k) jednaka je O, ako je ej (k» O, korekcija je jednaka 2pej (k). Dakle, ako su p i bj (1) veći od nule, tada će biti i bj (k) > O. Vrijednosti za w ne ograničavamo, zato možemo postaviti oJ/ow = O. Dobivamo:
w = ([X]T [X]) - l [X]Tb. Ako uvedemo oznaku [X'] = ([X]T [x]) - 1 [X]T, možemo zapisati: w (k + 1 ) = [X'] b (k + 1 ) = [X']b (k) + [X'] p [-e (k) + l-e (k) I I = w (k) + p [X'] [-e (k) + l e (k) I ] . Sada možemo zapisati postupak učenja vektora koeficijenata linearne funkcije odlučivanja:
w ( 1 ) = [X'] b (1),
4.4. GRADIJENTNI POSTUPCI
65
bi ( l ) proizvoljna vrijednost, ali veća od O za svaki i = 1 , 2, , N, e Ck) = [X]iV Ck) - b Ck), iV Ck + 1 ) = iV Ck) + P [X'] [eCk) + I t Ck) I ] , b Ck + 1 ) = b Ck) + p [t Ck) + Ie (k) I ]· Kada za nejednadžbu [X]iV > O rješenje postoji, postupak konvergira za O < p :::::; l . Ako su u postupku pri bilo kojoj iteraciji sve komponente vektora e (k) pozitivne (ali nisu sve jednake nuli), t<} znači da su razredi razdvjljivi izabranom granicom. Naravno, ako je e(k) = O, to znači da je [X]iV (k2 = b (k), odnosno da je iV (k) traženo rješenje. Postupak najbrže konvergira ako je b e l ) L gdje je
. . .
Opisani se postupak naziva Hoov 1 Kashyapov postupak (Y. C. Ho, 1 965). Razmotrimo nekoliko primjera (J. T. Tou, 1 974). Zadana su dva skupa uzoraka za učenje: (()1 = {(O, 0)\ (O, I )T} (()l = { C l , O)T, (I, l)T} .
Uzorke za učenje u prostoru značajki prikazuje slika 4.6a.
o
o
al
•
cl Sl. 4.6. Primjeri odredivanja granica odlučivanja
4, LINEARNE FUNKCIJE ODLUCIVANJA
66
Povetajmo dimenziona1nost prostora značajki na dimenziju (n + l) i pomnoži mo sve uzorke iz razreda ml sa - l. Dobivamo skupove uzoraka: {CO, O, 1) \ (O, l , l)T}, { - l , O, - l?, ( - 1 , l , _ l)T } . Pretpostavimo da su skupovi uzoraka za učenje razdvojivi linearnom funkcijom odlučivanja: d (X) = W1X1 +WlXl +W3 = 2OTX. a) Vektor koeficijenata linearne funkcije odlučivanja odredit ćemo postup kom perceptrona sa stalnim prirastom. Neka je p = l . Početni vektor koeficijenata 20 (1) biramo po volji. Neka je 20 (1 ) = ( l, O, O)T. U prvom koraku učenja uzimamo uzorak :% ( 1) = (0, O, I )T. Računamo: W' ( 1) . (1 ) = ( - 1,
Iz 20T (l)x ( l
{n
O, o
O slijedi: w (2) - w (l) +' ( I) -
- o.
r�l [:J
drugom koraku učenja uzimamo u obzir uzorak :% (2) = (0, l , I)T. Računamo: U
w' (2).(2) - ( - 1, O, l)
= 1.
Zato što je 20T (2)x (2) > O u skladu s postupkom bit će: 2O (3) =w (2). U trećem koraku učenja upotrebljavamo uzorak x (3) = ( - 1, O, - I) T. Računamo: w (3) ' (3) - ( - 1 , o, 1) Zato što je W T (3) x (3) = O slijedi:
Ln
= 0.
[J -2
w (4) = w(3) +x(3) =
0 . 0
4.4. GRADIJENTNI POSTUPCI
U četvrtom Računamo:
67
koraku učenja uzimamo uzorak
wT (4)� (4) = ( -2, O, O) Budući da je
[=]
x (4) = ( - 1,
- l,
_ l)T.
= 2.
wT (4) x (4) > 0, bit će: w (5) = w (4).
Rješenje ćemo dobiti kada na temelju izračunatog w pravilno razvrstamo sve uzorke iz skupa za učenje. U ovom primjeru došlo je do dva pogrešna razvrstava nja koja su imala za posljedicu popravljanje vektora koeficijenata funkcije odluči vanja w. Postupak učenja nastavljamo tako da pretpostavimo da je x (5) = x ( l), x (6) x (2), x (7) = x (3) i x (8) = x (4). Dobivamo:
wT (5) � (5) = o,
slijedi
;;' (6) = ;;' (5) +% (5) =
;;'T (6)% (6) = I ,
slijedi
;;' (7) = ;;' (6) =
wT (7)% (7) = I,
slijedi
w (8) = w (7) =
;t,T (8)% (8) = I,
slijedi
w (9) = w (8) =
r�J [-�] [n [-� ] -
Ni u drugom ponavljanju nisu bili svi uzorci iz skupa za učenje pravilno razvrstani. Jednostavno se možemo uvjeriti da će svi uzorci biti pravilno razvrsta ni u trećoj iteraciji. Rješenje je vektor koeficijenata funkcije odlučivanja:
w = ( -2, 0, l)T. Odgovarajuća je funkcija:
d (x) = wT ' x = -lx1 + 1 . Ako postavimo d(x) = O, dobivamo jednadžbu uzoraka 011 i Ol,. (slika 4.6b).
granice koja dijeli razrede
Postupak perceptrona konvergira ako su razredi razdvojivi izabranom grani com (A. B. J. Novikoff, 1 962), što je očito iz prethodnog primjera. Medutim kada razredi nisu razdvojivi izabranom granicom, postupak ne konvergira. Na žalost,
4, LINEARNE FUNKCIJE ODLUCI VANJA
68
nije moguće unaprijed izračunati broj iteracija koji nas dovodi do rješenja. Zbog toga dugotrajno učenje još ne znači da razredi nisu razdvojivi izabranom granicom. b) Potražimo, još jednom, vektor koeficijenata linearne funkcije odlučivanja prema Hoovu i Kashyapovu postupku.
[=: :
Potražimo [X'] = ([X]T [X] ) - l [X] T: [X'] =
�
Neka bude b (1)= ( I , l, l, 1) T,
-
1/2 1/2
3/2 1/2
p=
]
I -I
-I
lr-2�- .
I , pa imamo:
'lO ( l ) = [X' ] b ( l )
Budući da je:
J
1
o
O O O bit će 'lO ( l ) = ( -2, O, I ) T traženo rješenje. Granicu prikazuje slika 4.6b. e (l ) = [x] 'lO ( l )
-;;(1)=
=
Prednosti ovog postupka lakše uočavamo na sljedećem primjeru. Zadani su skupovi uzoraka za učenje: Ol = {CO, O ) T, (I, l?}, t Ol = {(O, l ) T, CI, O)T}, z §oji nisu linearno razdvojivi kao što se vidi iz slike 4.6c. Neka je i u ovom slučaju b ( l ) = (l, I , I , I )T i c = l . Matrice [x] i [X'] jesu: [x]
=
O I O -1
O -l
-I
O
-1
�.4.
GRADIJENTNI POSTUPCI
[�
69
-1
[X'l =
-1
- 1 /2
3/2
Vektor koeficijenata
w (1)
-1
1
- 1 /2
jest:
w (l ) [X']b ( l ) � �
e ( 1 ) = [X]w ( 1 ) - b ( 1 ) =
[�l
o
-1
O
-1
O O
-1 -1
Budući da vektor e ( l ) ima negativne komponente, zaključujemo da ne postoj i rješenje sustava nejednadžbi [x]w > O. Dakle, vrijednosti komponenata vektora e nam kažu da li su razredi uzoraka za učenje razdvojivi linearnom granicom. To lijepo svojstvo ovog postupka plaćamo povećanom složenosti računanja (osobito računanje matrice [X'l pri velikim n i N). Problem učenja koeficij enata linearne funkcije odlučivanja za više od dva razreda uzoraka za učenje (M > 2) također rješavamo postupkom perceptrona ili Hoovim i Kashyapovim postupkom. Problem razdvajanja M > 2 razreda uzoraka za učenje možemo transformirati u M (M - 1 )/2 problema razdvajanja dvaju razreda. Funkcije odlučivanja dij (x) = wJx zauzimaju vrijednosti veće od nule ako uzorak x pripada razredu uzoraka wi' odnosno:
dij (x» O, (vrijedi dij (x) = -dji (x)).
za
't/X E Wj
U slučaju da se dva razreda ne mogu razdvojiti linearnom funkcijom, upotrebljavamo funkciju odlučivanja višeg reda. Koeficijente tih funkcija možemo dobiti učenjem po bilo kojem do sada opisanom postupku. Ako izaberemo pravilo odlučivanja: 't/j =1= i,
za
možemo upotrijebiti uopćeni postupak perceptrona koji nam omogućava da istovremeno odredimo sve vektore koeficijenata funkcije odlučivanja Wi' i = 1 , 2, . . . , M > 2. Postupak možemo opisati na ovaj način:
x (k)
Pretpostavimo da u k-toj iteraciji procesa učenja razmatramo uzorak učenja koji pripada razredu Wi. Računamo vrijednosti za M funkcija odlučivanja:
dj [x (k) l = wJ (k)x (k)
za
j = I , 2, . . . , M.
70
4.
LINEARNE FUNKCIJE ODLUCIVANJA
Ako je dJx (k)] > dj [x (k)] za sve j= d , 2, . . . , M, j :l: i, vektor koeficijenata ne mijenjamo: j = 1, 2, . . . , M. Ako je za neki I: di [x (k)] �d, [x Ck)] ,
vektor koeficijenata popravljamo na sljedeći način: w, (k + l ) = w, (k) + px (k) w, (k + l ) = w, (k) wj (k + l ) = w/k),
px (k)
j = l , 2, . . . , M,
j:l: i,
j:l: l,
gdje je p pozitivna konstanta. Jednostavno se može dokazati da postupak konvergira u konačnom broju iteradja za proizvoljno izabrane početne vrijednosti vektora koeficijenata wj ( l ), j = l , 2, . . . , M, ako se razredi uzoraka za učenje mogu razdvajati izabranim granicama. Kada skupovi za učenje nisu linearno razdvojivi, postupak zahtijeva za sve funkcije odlučivanja polinom stupnja r. Na taj način rješavamo najsloženije probleme razdvajanja uzoraka za učenje. 4.5. POSTUPAK UČENJA S POTENCIJALNIM FUNKCIJAMA
Za postupke učenja koje smo do sada razmatrali u ovom poglavlju karakte ristično je da smo već prije učenja pretpostavili konačan oblik funkcije odlu čivanja. Potencijalne funkcije nam dopuštaju da pristupimo učenju funkcije odlučivanja bez takve pretpostavke (M. A. Aizerman, 1964),Postupakse temelji na ideji da se točkama prostora značajki (uzorcima za učenje XI) dodijeli jedinični električni naboj q,. Taj naboj neka bude pozitivan ako uzorak pripada razredu 0)1' odnosn� negativan ako je uzorak iz razreda O)l' Elektrostatički potencijal u točkama prostora značajki gdje njegova vrijednost poprima vrijednost nula može poslužiti kao granica izmedu razreda 0)1 i O)l (sl. 4.7).
v
----..e--IK*-..... __ --\---()----O--o---- x,
Sl. 4.7. Pvtencijal1W polje kav funkcija vdlučWanja
4.5. POSTUPAK UCEN}A S POTENCIJALNIM FUNKCIJAMA
71
Ako j e potencijal u točki x zbog naboja u točki Xi jednak K (x, Xi)' tada će potencijal u toj točki zbog naboja N uzoraka za učenje biti jednak: d (x) =
N
L qjK (x, xJ
i= l
Pretpostavimo da funkciju odlučivanja određujemo pomoću N uzoraka za učenje iz razreda (Ot i (02 ' Pretpostavimo još da smo funkcijom odlučivanja dk _ I (x) pogrešno razvrstali uzorak x k' Da bismo tu pogrešku uklonili, mijenjamo naboj q k uzorka xk. To činimo tako da pribrojirno uzorku x k jedinični naboj q k ako uzorak pripada razredu (O t' odnosno oduzmemo qk ako uzorak pripada razredu (02' Dakle: dk _ I (X k) � O,
- ako je X k E (Ot
tada je
dk (x) = dk _ 1 (x) + K (x, xk); dk _ I (xk»
O,
tada je
dk (x) = dk _ 1 (x) - K (x, xk); ako je X k E (Ot Xk E (02
dk _ I (x k) > O
ili ako je
dk _ I (x k) < O,
tada je
dk (x) = dk _ 1 (x). Iz tih jednadžbi možemo izvesti postupak za iterativno određivanje funkcija odlučivanja. Postupak zapisujemo na sljedeći način: dk (x) = dk _ 1 (x) +rk K (x, xk), gdje je do (x) = 0, a rk korekcijski faktor koji ima sljedeće vrijednosti:
rk =
O
ako je
Xk E (O t
dk - t (xk»
O
ako je
X k E (02
dk - t (x k) < O
ako je
Xk E (O t
dk - t (Xk) � O
ako je
XkE (02
dk - t (X k) � O.
-l
O
Ako je uzorak za učenje x k pravilno razvrstan, korekcij ski faktor je O, ako je, međutim, pogrešno razvrstan, korekcijski faktor je l ili - l, već prema tome da li uzorak x k pripada razredu (O t ili (02 '
Očito je da na oblik funkcije odlučivanja utječu samo oni uzorci iz obaju razreda koji su bili u postupku određivanja funkcije odlučivanja pogrešno razvrstani. Potecijalne funkcije određujemo tako da zadovoljavaju sljedeće uvjete: a)
K (x, Xk) = K (xk' x). Potencijalna funkcija je simetrična funkcija dvaju varijabla.
b)
K (x, Xk) je neprekinuta funkcija koja monotono pada prema nuli ako udaljenost Ilx -xk l l raste u beskonačnost.
4. LINEARNE FUNKCIJE ODLUCIVANJA
72
Najčešće upotrebljavamo kao potencijalne funkcije sljedeće njihove oblike: K (x, xJ = exp { - (X llx -x/c ll l }, I K (x.., x.. /c) = I - (X !Ix - X.Jl l '
I
l
in(X llx -xk l l K (..x, x.. k) = S (X llx -xk Il 2 ' gdje je (X pozitivna konstanta. Meisei je dokazao da je uvijek moguće naći takvu potencijalnu funkciju K (x, x/c) da pomoću d(X) pravilno možemo razvrstati sve uzorke u razredu ffi l i ffi2 (W . S. Meisel, 1969). Kao primjer razmotrimo kako bismo s potencijalnom funkcijom K (x, x,,) = exp { - (X l l x -x/c1 1 2} odredili funkciju odlučivanja za skup uzoraka za učenje koji su prikazani na slici 4.6c. Zadana su dva razreda: ffi l = {(O, O)T, ( I , l )T}, ffi2 = { (O, 1 )T, ( I , O)T}. .
Neka je (X = l . Za n = 2 potencijalna funkcija poprima oblik: K (x, x.) = exp { - [(xl -0) l + (Xl -0)2 ] ) 1
Započnimo postupak učenja. Neka je X l = (O, O) T effi prvi uzorak za učenje. Iz do (x) = ° slijedi d l (x) = K (x, xl) = exp - [(Xl - 0)2 + (x2 - 0)2 ] = exp { - (X� +x�)} za
uzorak iz skupa za učenje x2 = (1, 1) T effi l vrijedi: dl (x:z ) = exp { - ( I + l ) } = e - 2 > 0,
zato je Za uzorak X3 (O, 1) T effi2 je dl (x3) = e -(0+1)= e- l > 0, zato je d3 (x) dl (x) -K (x, x3) = exp { - (x� +x�) } - exp { - [( X l -0) 2 + (X2 1 )2]) Za sljedeći uzorak x4 = ( 1 , Of effi:z dobivamo: d3 (x4) = e- l - e - h + l ) = e - l -e -2 > 0.
45, POSTUPAK
73
S POTENCIJALNIM FUNKCIJAMA
Zato što je X4 eroz i d3 (x4) > 0, ponovno moramo popravljati funkciju odlučiva nja. Dobivamo: d4 (x) = d3 (x) -K(x, x4) = exp { - (xi +,x�)} - exp { - [xi +(x.z 1 }�1 ) - exp { - [(Xl _ 1 )2 + x� 1 ) Provjerimo da li tom funkcijom odlučivanja možemo pravilno razvrstati sve uzorke iz skupa za učenje: Za xs = (O, O?Erol je d4 (x S) = e-O - e - l -e 1 > 0, zato je ds (x) d4 (x) . Za X6 = cl, 1 ) T Erol j e ds (xJ = e - 2 -e - l -e - l < 0, zato j e d6 (x) ds (x) + K (x, X6) = e xp { - (x� +x;) } - exp { - [x� + (X - 1 )2] ) - e xp { - [(Xl - 1 )2 +x; ] : + 2 + e x p { [ (X l 1 )2 + (X - 1 )2] : . 2 Za X7 = (0, l)TEro je d6 (x7) = e - l - eO -e - 2 + c - l < 0, zato je 2 d7 (X) d6 (X) · Za xs = ( l, O)T Eroz je d7 (xS) = e - l -e-Z -eo + e - l < 0, zato je dil ex) = d7 ex). z Za x9 = (0, O? Ero l je ds(x� e - o -e- l -e- l + e- > O, zato je d9(x) = ds (x). Za xl o = (l, I )fErol je d9 (x l o) e - 2 - e l - e - l + eO > O, zato je d10(X) = d9 (x). Sve uzorke iz skupa za učenje smo pravilno rasvrstali funkcijom odlučivanja: d ex) = exp { - (x� + x;) } - ex p { [x� + (X _ 1 ) 2] } - ex p { - [(Xl 1 ) 2 +x;J l + 2 + exp { [ (X l 1 ) 2 + (X _ 1 ) 2] ) . 2 Uočavamo da funkcija odlučivanja ima onoliko eksponencijalnih članova koliko je bilo korekcija u postupku učenja. Rješenje prikazuje slika 4.6d. Postupak koji se temelji na potencijalnim funkcijama može se na sličan naČIn, kao postupak perceptrona, uopćiti na više od dva razreda. Na početku učenja sve su funkcije odlučivanja d! (x), d� (x), . . . , d':: (x) jednake O. Pretpostavimo da se u k-tom koraku učenja razmatra uzorak Xl koji pripada razredu roi' Funkciju odlučivanja u k-tom koraku određujemo sljedećim postupkom: - ako je xlEroj i za
'Vj #i,
funkcije odlučivanja se ne mijenjaju, odnosno d�1 (x) = d��1 (x), i= 1 , 2, . . . , M; ako je xlEroj i za neki l je JI;) � ) :« Jll) (� ) Uk- l (X l "", Uk - 1 X,, ,
4. LlNEARNE FUNKCIJE ODLUCIVANJA
74
moramo izvršiti sljedeće korekcije na funkcijama odlučivanja
d�) (x) = tJ;� 1 (x) + K (x, x,,) d�) (x) = tJi� 1 (x) - K (x, x,,) 1 , 2, d�) (x) = r1f- 1 (x),
. . . , M,
j� i,
d"- l (x):
j � l.
U ovom smo poglavlju prikazali osnove prepoznavanja uzoraka pomoću postupaka determinističkog učenja funkcija odlučivanja. Na početku smo pomoću općeg gradijentnog postupka razvili tri postupka učenja. Na primjerima smo ta tri postupka međusobno usporedili. Potrebno j e istaknuti da gradijentnih postupaka ima puno više (npr. R. O. Duda, 1 973), međutim navedeni postupci su karakteristični (J. T. Tou, 1 974). Osnovni problem pri upotrebi tih postupaka predstavlja određivanje stupnja polinoma funkcije odlučivanja. Njega prije početka učenja, na žalost, ne znamo. Jedini ekonomski opravdan put koji nas vodi do funkcije odlučivanja jest postup no povećavanje stupnja polinoma, i to sve dok postupak za zadane uzorke iz skupa za učenje ne počne konvergirati. Prilikom izvedbe stvarnih slučajeva možemo, međutim, tolerirati određen broj (odnosno postotak) pogrešno razvrstanih uzoraka kada to povoljno utječe na složenost (manju složenost) funkcije odlučivanja. Međutim, kada predviđeni postotak dopuštene pogreške ne možemo postići s izabranim funkcijama odlučivanja, moramo ili povećati postotak dopuštene pogre ške ili povećati stupanj polinoma funkcije odlučivanja, ili pak izabrati koji drugi postupak prepoznavanja. Potrebno je zapamtiti da j e uvijek moguće odrediti funkcije odlučivanja na takav način da svi uzorci iz skupa za učenje budu pravilno razvrstani. Naravno, uz uVjet da razredi uzoraka ne dijele identične uzorke (npr. X EO)l i 0)2)' Na kraju poglavlja smo razmatrali prepoznavanje uzoraka pomoću potencijal nih funkcija, i to prije svega sa stanovišta učenja funkcija odlučivanja bez unaprijed pretpostavljanja njenoga konačnog oblika. To poželjno svojstvo, među tim, može prouzrokovati teškoće. Funkcija odlučivanja u tom slučaju sadrži onoliko članova koliko je bilo potrebnih korekcija u postupku učenja. Njih može biti vrlo mnogo ako učimo brojnim skupom uzoraka za učenje.
4.6. UTERATURA M.A. Ai zerm an, E. M.B raverm an, L. l. Rozonoe r, Theoretical Foundations of the Potemial Functions Method in PaZlern Recognition Learning, Auto matio n an d R emot e Co nt ro l, 25, juni 1964, st r.
821 -837.
K. O. D ud a, P. E. Hart, Pauem Classification and Scene Analysis, John Wi ley an d So ns, 1973. W. H.Hi ghley man, linear Decision Function with Application on Panem Recognition, Proc. IRE, 50, juni 1962, 1 50 1 1 51 4 st r. Y. C.Ho, R. L. Kashy ap, An Algoritlon for linear inequa/ities and iu Applications, !EEE T rans.Elee. Co mp., EC - 14, okto bar 1 965, st r.683 - 688 .
W. S. Meis eI, Potential Functions in Mathematical Pauern Recognition, IEEE T r ans.o n Com put ers, Vo l.e- 1 8, N° 10, o ktob a r 1 969, st r. 9 1 1 - 9 1 8. A. B. J. Nov ikoff, On Convergence Proofs for Perceptrons, Pro c. Sym p o n Ma th, T heory of Automata, 1 962, st r.6 1 5 - 622. F. Ros enb latt, Principles of Neurodinamics: Perceptrons and Theory of Brain Mechanisms, Spart an . Books, 1962. J. T. Tou, R. C. Go nz al es, Pallern Recognition Principles, Addiso n-W es l ey Pu bl. Co., 1 974.
5.
STATISTIeKA KLASIFIKACIJA UZORAKA (Prof. dr. Ludvik Gyergyek, dipl. ing.)
5.1. UVOD Fizički prostor oko sebe spoznajemo tako da primamo o njemu informacije. Nosioci informacija su signali. Promatranjem signala možemo uočiti karakteristič na svojstva okoline, odnosno dobiti informaciju o objektima raspoznavanja. Mora mo uzeti u obzir da objekti raspoznavanja "odašilju" o sebi idealne, neiskrivijene signale S (t). To su signali koje možemo detektirati i mjeriti. Medutim, pri mjerenju tih signala činimo pogreške, odnosno korisnoj informaciji kojoj je nosilac S et) pridaje se šum n (t). Znači, u stvarnosti mjerimo signal x koji je suma signala S (t) i šuma n (t):
x (t) = S (t) +n (t). Na temelju promatranja funkcije x (t) možemo raspoznavati objekte. Ako funkciju x (t) uzorkujemo u trenucima tl' t2, . . . , tn i prikažemo u vektorskom obliku:
dobivamo
uzorak koji možemo smatrati kao realizaciju slučajne varijable Prostor uzoraka je prostor realizacije slučajne varijable X. Upravo taj prostor želimo podijeliti i razgraničiti na područja Dj tako da uzorci iz razreda Olj padaju u područje Dj" Na dijelove Dl' D�, . . . , DM razgraničeni prostor značajki (odnosno prostor realizacija slučajne varIJable x) označimo sa D i nazivamo ga prostor odlučivanja. Odlučivati, dakle, znači razgraničiti prostor realizacija slu čajne varijable X na područja Di' i = I , 2, . , M. Dijeljenje prostora X na područja Dj predstavlja razvrstavanje. Budući da je varijabla X slučajnog karaktera, problem klasifikacije rješavamo statističkim ispitivanjem (testiran;em) hipoteza.
X = S + N.
.
.
5.2. JEDNOSTAVAN TEST DvijU IDPOTEZA Upoznajmo prvo jednostavno testiranje dviju hipoteza, odnosno statističko raspoznavanje uzoraka iz dvaju razreda Oll i 0l2' Fizički prostor uzoraka "odašilje" informaciju o uzorcima S = S l (t), odnosno S = S2 (t) iz obaju razreda. To je izvor uzoraka,
5. STATISTIeKA KLASIFIKACIJA UZORAKA
76
Za vrijeme "odašiljanja" i prijenosa tim se signalima primješao šum n (t). Dobivamo signal x (t) = s (t) +n (t). Tu dostupnu informaciju mjerimo i uzorkuje rno. Dobivamo realizaciju x:
�
X=
Xl X:z Xn
slučajne varijable X koja je predočena točkom u prostoru X. Pomoću određenog pravila odlučivanja uvrštavamo dani uzorak u jedan od razreda.
Kriterij odlučivanja Pri testiranju dviju hipoteza (ili binarnom testiranju) znamo da je istinita hipoteza Hl ili pak hipoteza H:z, odnosno da objekt raspoznavanja pripada razredu (01 ili razredu (O:Z. Realizacija događaja uvjetuje jednu od četiriju odluka:
(01 istinito, x razvrstavamo u Dl' 2. (01 istinito, x razvrstavamo II D :z, 3. (O:Z istinito, ; razvrstavamo u D:z, 4. (O :Z istinito, x razvrstavamo II Dl. l.
Prva i treća odluka odgovaraju pravilnoj odluci. Druga i četvrta odluka su pogrešne. Namjena kriterija odlučivanja je dodjeljivanje vrijednosti ili određenog značaja nekoj odluci. Izabrani kriterij će pri ulaznom uzorku x utjecati na izbor jedne od četiriju mogućnoSti.
5.3. BAYESOV KRITERIJ ODLUCIVAN)A Prilikom odlučivanja važna je i cijena. Neka je C (Di' (O t) cijena koju moramo platiti ako razvrstamo uzorak iz razreda (O t u područje Dj; to znači da biramo hipotezu i kada je istinita hipoteza k. U našem slučaju imamo četiri mogućnosti: označimo ih simbolima C11, CI :z, C:z 1, C . Funkcija cijene C=C(Dj, (Ot) nudi p nam mogućnost da nekim određemm �pogrešnim) odlukama dodijelirno veće težinske vrijednosti nego drugima. Naravno, izabrat ćemo takvo pravilo odlučiva nja koje je u prosjeku "najjeftinije", odnosno pri upotrebi takvog pravila neka je rizik u prosjeku najmanji. U tu svrhu napišemo unaprijed izraz za očekivanu vrijednost cijene. Da bismo mogli napisati taj izraz, trebaju nam: ci priori vjerojatnosti pojavljivanja razreda p ((01) i P ((O :z), funkcija cijene C (Dp (Ot)' i = l , 2, k = l , 2, te uvjetna razdioba gustoće vjerojatnosti uzoraka x pri realizaciji (O k; označavamo je sa P (xl (O k) ·
5.l BAYESOV KRITERIJ ODLUCIVANJA
77
Izraz koji nam određuje rizik možemo prikazati pomoću gornjih podataka i područja odlučivanja Dl i Dl:
R = CuP (001) J P (x I (0 1) dX + D, D.
+ CllP (Oll) J p (x I (01) dx . D.
Potpuno je prirodno da pogrešna odluka pridonosi višoj cijeni negoli pravilna odluka. Dakle vrijedi:
Cl1 > Cu'
Cll > Cn
Naše odlučivanje, u stvari, znači dijeljenje prostora ,D na D l i Dl tako da promatrana točka x iz X padne u D 1 ako je istinita hipoteza 001, odnosno tako da padne x iz X U Dl ako je istinita 001 , Pravilo odlučivanja koje ima za posljedicu najmanji rizik, odnosno najmanju prosječnu cijenu R, nazivamo Bayesovo pravi
lo odlučivanja.
Budući da vrijedi: D = D l + Dl'
odnosno
možemo zapisati rizik
Dl = D - Dl'
R u obliku:
R = P (001) Cu +P (001) Cll + J
D.
{ [P (0l 1)(Cl 1 - C l l)p (X I Ol l)] -
Naš je zadatak da izaberemo područje Dl tako da rizik R postane minimalan. Prva dva člana gornjeg izraza tvore nepromjenjivi dio rizika. Izraz pod integralom je dio rizika kojem pridonose one točke iz X koje razvrstavamo u Dl ' Budući da smo uzeli da je Cll > Cl 1 i Cu > C ' izrazi u uglatim zagradama su uvijek pozitivni. p Uzorke x za koje Je izraz u drugim uglatim zgradama veći od izraza u prvim uglatim zagradama uključujemo u D zbog njihova negativnog doprinosa integra lu. Na sličan način uvrštavamo u h sve one x za koje prvi izraz u uglatim ) zagradama veći od drugoga, odnosno Isključujemo ih iz Dl zbog njihova pozitiv nog doprinosa integralu. Uzroci x za koje su oba izraza u uglatim zagradama jednaki nemaju utjecaja na rizik i možemo ih razvrstati po volji. S obzirom na sve to uzorke x razvrstavamo pomoću sljedećeg pravila: Ako je
P (001) (Cll - Cu) P (x I 0l 1) ?: P (001) (Cll -Cn) P (x I (01), uvrstavamo X u D i kažemo da je pravilna hipoteza 001 , U suprotnom slučaju razvrstavamo x u b l (odnosno, to znači da područje Dl "rastegnemo�' tako da pokriva uzorak x) i kažemo da je ispravna hipoteza Oll"
S.
78
STATISTIeKA KLASIFIKACIJA UZORAKA
Drugačije zapisano:
odnosno ....
at,
A (x) � 11, gdje je:
Izraz 11 nazivamo prag odlučivanja, a izraz A (x) omjer vjerojatnosti ili
omjer sličnosti. Izraz A (x) � TJ nazivamo test omjera sličnosti ili test omjera vjerojatnosti. Cesto se pokaže da je računanje ugodnije ako se obje strane izraza omjera sličnosti logaritmiraju:
logA (x ) � IO�l1. Označimo sa jednadžba:
d (x) granicu između područja D 1 logA (x) -log 11 = O.
Granica d (x) dijeli prostor D na područja Dl i Cesto biramo cijene tako da vrijedi:
Cn = Cll= O
D 2; za d (x) vrijedi
D7,'
CU = Cl 1 = 1 .
To znači: pravilna odluka nas ne stoji niita, dok cijena pogrešne odluke iznosi l . U tom slučaju .za R dobivamo:
R = p (m1) J p(x l m1)dX +p(ml) J p (x I ml) dX. D,
Vidimo da taj izraz predstavlja upravo ukupnu vjerojatnost da se odlučimo pogrešno. Pri tako izabrano; cijeni odlučivati u Bayesovu smislu znači upravo odlučivanje tako da smanjimo vjerojatnost pogrešnog odlučivanja na najmanju moguću vrijednost. 5.4. PRAvn.O MlNIMAKS
Kod Bayesova kriterija osim uvjetnih razdioba gustoća vjerojatnost, za odlu čivanje trebamo cijene i ti priori vjerojatnosti pojedinih razreda, odnosno hipoteza. U ovom odjeljku razmatrat ćemo kriterij minhnaks koji se upotrebljava kada ne znamo ti priori vjerojatnosti razreda. To je kriterij gdje je najveća moguća cije na najmanja. Rješenje problema zahtijeva pronalaženje najnepovoljnijeg Bayesova rizika s obzirom na ti priori vjerojatnosti p (OJ ) i p (OJl)' Budući da je
1
79
5.4. PRAVILO MINIMAKS
p (0) 1) = 1 -p (0)1)' zamjenjujemo U izrazu za rizik R vjerojatnost p (0) 1) vjerojatnoš ću l -p (0)1) i pomatramo tako dobiveni rizik R. Imamo: D, D, D, D,
iz gornjeg izraza vidimo da je pri izabranim područjima D l i Dl rizik R jedino još samo funkcija vjerojatnosti p (0)1)' Derivirajmo izraz po p (0)1) i izjednačimo dobivenu derivaciju s nulom. Na taj način dobivamo uvj et za rješenje minimaks. Taj uvjet je: D,
D,
D,
D,
Lijeva strana te jednadžbe je uvjetni rizik r ex,
D,
0>1) ako je uzorak iz razreda 0> 1 : D,
Desna strana jednadžbe predstavlja uvjetni rizik pri poznatom razredu
r ex, 0>l.) = Cn
f p (x I O>l) dX = Cu f p (x I 0>7.) dX.
D,
0>1:
D,
Ako uvrstimo taj uvjet u izraz za Bayesov rizik, dobivamo:
R = Cn f P (X I O>l)dX + C21 J P (xlo>;z) dX D,
Da
D,
D,
= r (X, 0>1) = r (X, 0>1)' Vidimo da je taj rizik nezavisan od tl priori vjerojatnosti i zavisi samo od dijeljenja područja D l i Dl.' Ako mijenjamo granic� izmedu D l i Dz' uvjetni rizici r ex, 0>1) i r ex, O>z) se mijenjaju. Jedan rizik raste, a drugi pada. Granicu d (x) izmedu područja moramo postaviti ondje gdje su uvjetni rizici jednaki:
Odnos prikazuje slika S. l .
5. STATISTICKA KLASIFIKACIJA UZORAKA
80
dixI
tIl1:'
?
SI. 5.1. Prikaz razgraničenja podruqa Dt i D. odlučivanjem pomoću pravila minimaks
d(X)
x
Pri mijenjanjem prelazimo iz jednog uvjetnog rizika (iz onoga koji pada) na drugi uvjetni rizik (onaj koji raste). Ondje gdje su oba uvjetna rizika jednaka, najveći rizik s obzirom na i (debelo izvučena krivulja na slici 5. 1 ) ima najmanju vrijednost s obzirom na D l 1 D 7.' Pretpostavimo da je uvjetni rizik označen sa r takav da mu se može i O)z. Prilikom mijenjati i našem slučaju može poprimiti vrijednosti testa minimaks krećemo se s obzirom na varijablu tako da uzimamo uvijek (krećemo se po najvišem .obronku "planine"), a s najveću vrijednost r ex,
0)1 O)�
x 0)". U
(x, O)A)
O)i
O)i
O) k)
x
0)1
x
obzirom na krećemo se tako da naderno onu točku gdje krivulja koja povezuje najveće vrijednosti r pri mijenjanju indeksa k ima najmanju vrijednost (to je sedlo "planine"). Pravilo minimaks možemo zapisati u obliku:
(x, O)k)
lpih maks r (x, >:eX
....eO
O)k) = d (x).
Granične točke izmedu Dl i postavljamo tako da zauzimaju najpovoljniji i O)z' to znači najmanju vrijednost. Tu smo vrijednost uvjetni rizik s obzirom na označili sa Iz toga proizlazi i ime pravila minimaks. (Vrijednosti jesu dno sedla izmedu dva vrha "planine".)
x
d(x).
0) 1
D2
d(x)
5.5. PRoA� NA M RAZREDA
(M
HIPOTEZA)
Proširimo sada rezultate naših razmatranja sa dva razreda na M razreda (M > 2), odnosno sa dvije hipoteze na M hipoteza. Imamo izvor, odnosno prostor razreda s razredima;
n
odgovarajuće a
priori vjerojatnost: P (0)1)' p (O)l)' . . . , p (O)M)
uvjetne gustoće razdiobe vjerojatnosti:
p (x I 0)1) ' p ex 1 0)2)'
. .
.,
p (x I O)M) '
5.s
81
PROSIRENJE NA M RAZREDA (M HIPOTEZA)
Za slučaj M razreda imamo M" odluka i naravno upravo toliko odredenih cijena Cih• Kod cijene prvi indeks znači da smo izabrali i-ti razred, a drugi da uzorak (koji smo uvrstili u i-ti razred) u stvarnosti pripada razredu m ' Odnose ' k prikazuje slika 5.2.
Izvor
plw,1. plwp
• ... •
p lWr11 Odlučujemo
wH
Sl. 5.2. Proces preslikavanja i odlulitla1fia za slučaj M razreda (M 2)
Izraz za srednju vrijednost rizika M
R je
M
P (Olh)Cih J p (x I Olk)dX. D, i=l k= l Da nademo najmanji rizik, odnosno Bayesovo pravilo odlučivanja, mijenjamo granice područja Di tako da rizik R postane najmanji. To je proširenje postupka optimizacije što smo ga upotrijebili u slučaju dvaju razreda.
R= L L
Da bismo pojednostavnili označavanje i pisanje, ograničimo se samo na slučaj triju razreda, M = 3. Imamo M2 odnosno 9 odluka: l . m istinito, l 2. m istinito, l 3. m l istinito, 4. 012 istinito,
5. 6.
(02 012
x razvrstavamo u D l
x razvrstavamo u D;z x razvrstavamo u D3
x razvrštavamo u D2
istinito,
x razvrstavamo u D
istinito,
x razvrstavamo u D 3
7. (03 istinito, x razvrstavamo u
8. 9.
l
D3 013 istinito, x razvrstavamo u D l 013 istinito, x razvrstavamo u D2•
Vrijedi:
5. STATISTIeKA KLASIFIKACIJA UZORAKA
82 odnosno
Dt = D -Dz -D" jer se područja međusobno ne prekrivaju. U skladu s tim možemo rizik
R napisati u obliku:
R = p (oot ) Gll +P (OOl) GU +P (003) G33 + + J [p (003)(G1 3 - G33)p (x l 003) +P (OOz)(Gu - Gn)p (xl ml)] dx + D,
D, D,
i= 1, 2, . . , M, .
Kao i prije, prva tri člana predstavljaju nepromjenjivi dio rizika, a integrali predstavljaju promjenjivi dio rizika koji je zavisan od granice između područja Dt' Dl i D 3. Rizik R u gornjem izrazu možemo zapisati i u općenitijem obliku:
R=
� G.uP (OOj)+ j� fL�t (G}I; -GU)P (OOI;) P (X I 001;)] j t
dx,
DJ
gdje je u našem slučaju M = 3. U skladu s Bayesovim pravilom odlučivanja razdijelimo prostor D na potpro store Dt' D i D 3 tako da svakom x odredimo neko područje iz D za koje je izraz � pod integra.lom najmanji. Označimo integrale koji odgovaraju područjima Dt' Dl i D, simbolima: It (x), Il (x) i 13 (x). Odlučujemo u skladu sa sljedećim nejednadžbama:
It (X)
ispunjena nejednadžba:
M M L (GII; -GU) P (ml;) p (x I ml;) < L (G}t -Gu) P (ml;) p (x I ml;) t
I; (za svaki j osim za j = l), tada se područje Dj prostire preko odgovarajuće točke x; to znači: točka x predstavlja uzorak iz razreda mj. t=
1
Gornju nejednadžbu možemo pojednostavniti pa dobivamo: Ako vrijedi
M M x m I m / ) < ( ( L G I;P l;) p l; L G}I;P (001) P (x I ml;) (za svaki j osim za j ==1), tada
x pripada području D/.
�.� PROSIREN]E NA M RAZREDA (M HIPOTEZA)
83
Ako postavimo za funkciju cijene vrijednosti
Gtt = O tada izraz za izbor područja iz
Gli' = l
(i =F k),
D glasi:
M
L p (m,,) p (x ! m,,) -p (ml) p (x ! mi ) < M
<
L p (m,,) p (x ! m,,) -p (mJ) p (x ! mj)
"= 1
ili
j= 1, 2, . . . , M,
j =F i.
Možemo se jednostavno uvjeriti (v. pogl. 5.3) da je Bayesovo pravilo odlučivanje, u stvari, implementacija funkcije odlučivanja:
di (x) = p (x lmi)p (mJ, gdje uzorak
i= l, 2, . . . , M,
x razvrstavamo u razred mi ako je ispunjen uvjet: d/x) > d/x) za sve j =F i.
Pretpostavimo da je uvjetna razdioba gustoće vjerojatnosti (Gaussova) funkcija:
i= 1 , 2,
. .
p (x ! mi)
normalna
. , M,
gdje je mi' vektor srednje vrijednosti i-tog razreda uzoraka, a Gl kovarijantna matrica uzoraka iz razreda 00/. Zbog eksponencijskog oblika funkcije normalne razdiobe pogodnije je za funkciju odlučivanja uzeti prirodni logaritam:
Dobivamo
i = 1, 2,
.
.
. , M.
U slučaju jednakih kovarijantnih matrica G = Gl' i= l , 2, . . . , M, funkcija odlučiva nja poprima oblik:
84
5. STATISTIeKA KLASIFIKACIJA UZORAKA
5.6. OCJENA PARAMETRA U odjeljicma 5. 1 do 5.5 raspravljali smo o primjerima u kojima smo morali odlučivati izmedu dviju ili više hipoteza - razreda. Odluku, odnosno izbor pravilne hipoteze, donosili smo na temelju promatranja slučajne varijable X. Vidjeli smo kako možemo oblikovati optimalni klasifikator ako poznajemo tl priori vjerojatnosti p (mi) i gustoću razdiobe vjerojatnosti p (x I mJ Na žalost, u mnogim praktičnim problemima raspoznavanja nemamo potpunu informaciju o tim vjero jatnostima. U tipičnim slučajevima imamo samo pretpostavku koja se temelji na uopćenom znanju o problemu, te uzorke za učenje. Problem se tada svodi na pronalaženje načina da se ta raspoloživa informacija upotrijebi u oblikovanju sustava za raspoznavanje. Jedan pristup tom problemu je upotreba uzoraka za učenje za ocjenu vjerojat nosti p (mj) i gustoće razdiobe vjerojatnosti p (x I mi). Nakon toga, ocijenjene vrijednosti se upotrebljavaju kao prave vrijednosti. U tipičnim problemima uzora ka ocjena tl priori vjerojatnosti ne predstavlja ozbiljan problem, dok ocjena gustoće razdiobe vjerojatnosti može predstavljati veliki problem. Problemi su posebno izraženi kada je broj raspoloživih uzoraka za učenje malen ili kada su dimenzije vektora x velike. Ukoliko nam naše znanje o problemu dopušta pretpostavku o razdiobi uzoraka, onda se problem ocjene gustoće razdiobe vjerojatnosti bitno pojednostav njuje. Na primjer, ako pretpostavimo da p (x I mj) ima normalnu ili Gaussovu razdiobu sa srednjom vrijednosti mj i kovarijantnom matricom Gp problem se svodi samo na ocjenu parametara razdiobe. Ocjena parametara je klasičan problem iz statistike. Ima više metoda ocjene parametara, npr. Bayesov postupak ocjene parametara, ocjena maksimalnom vje rojatnosti i druge. U praktičnim problemima raspoznavanja uzoraka najčešće susrećemo Gaus sovu ili normalnu razdiobu vjerojatnosti: l l l P (x) (27t)"/2 1 C I 1/2 exp -"2 [(x� -m� ) T G - (x� - m) ] , �
gdje su m i
�
_
-
G definirani kao:
m = E {x} = S xp (x) dx, x
G = [ GIk] ,
[= l , 2,
. .
. , n,
k = 1, 2, . . . , n,
gdje je: + 00 + 00
G,k = E [(x, -m·,) (xt -mt) } = S S (x, -m,) (xt -mt)p (x" xk) dx, dxk . E{.}
- oo - oo
označava matematičku nadu, a x, i xk te m, i mk označavaju [,.tu i k-tu komponentu vektora x i m. Primjenom metode maksimalne vjerojatnosti ili Bayesova postupka ocjene parametara za kovarijantnu matricu G i vektor srednje vrijednosti m, u slučaju normalne razdiobe pomoću uzoraka za učenje dobiva se:
85
5,6, OCJENA PARAMETRA
.. . I � .. m = - L.. X. Nj= 1 J N
1 " .. " .. .. L.. XjX}T mmT . N ]= 1
C .;. -
_
Ocjena vektora srednje vrijednosti m i kovarijantne matrice e može se dobiti i pomoću iterativnog postupka. Ako sa m eN) i sa C C N) označimo ocjene dobivene pomoću prvih N uzoraka za učenje, ocjene za N + I uzorak dobivamo:
I N+ l m eN + 1 ) = -- L X. = N + 1 j "' 1 J =
N
� (�/j + XN + l ) = l
1 .. .. = -- (Nm (N) + XN+ I)' N+I
(
N 1 X + XN + I X�+ l - m (N + l ) m T CN + l ) = N + I J�l JJ 1 = [NC (N) + Nm (N) m T CN) +XN + 1 X� + 1] N+1 =
CN
: { 1 )"
)
}
[Nm CN) +XN + lHNm (N) +XN+ l ] T .
Za primjer razvrstavanja uzoraka Bayesovim pravilom odlučivanja i ocjene parametara poslužimo se uzorcima koje prikazuje slika
2. 1
(v. pogl.
2) :
001 = {CO, 0, O) T, ( 1 , 0, O?, ( 1 , 0, 1 ) T, (1 , 1 , O) T}, 00,, = {(O, 0, l )T, (0, 1 , O)T, (O, 1 , 1)\ (1, I , 1 )T}, i pretpostavimo da uzorke možemo opisati funkcijom 'normalne gustoće razdiobe vjerojatnosti. Vektor srednje vrijednosti uzoraka u razredu OOi ocijenimo sa:
i= dobivamo:
l,
2,
S. STATISTIeKA KLASIFIKACIJA UZORAKA
86
Kovarijantnu matricu uzoraka iz razreda IDj ocijenimo sa: l NI I... xrjT -mjmjT , e1 = - '" Ni J= l � �
dobivamo: C = C, = C' =
U z pretpostavku da su
a'
�
l
�
�
[: _� -]
· · I pnon vjerojatnosti P (IDl) = P (ID2) = ' i
funkcija
odlučivanja poprima oblik: I ... T - I .... . m., ...T e - lmj .... --m d,. (X) = X I 2 ' �
i= 1, 2 .
odnosno 3 ... dl (x) = 4x -1
2'
Granica koja dijeli uzorke na dva razreda je dl (x) - dl (X) = 8x1 - 8xz - 8x3 + 4 = 0.
Slika 5.3 prikazuje prostor značajki i funkciju odlučivanja za gornji primjer.
I I I I I I I I
)
l'
::---
• EW,
O E�
Sl. 5.3. Prikaz odredivanja granica pomoću Bayesova pravila odlučivanja
5,1, LITERATURA
87
S.7. LITERATURA R. A. Fisher, Theory of Statistical Estimation. Proc. Cambridge Phil. Soc., 22, 700 (1925). R. A. Fisher, 011 the Mathematical Foundations of Theoretical Statistics. Phil. Trans. Roy. Soe., London 222, 309 ( 1 922). H. Cramer, Mathematical Methods of Statistics. Prinremon University Press, Princeton, New Jersey,
1946. W. W. Harman, Principles of the Statistical Theory of Communications. McGraw-Hill Book Company, Inc. New York, 1 963. t. R. Rao, Information and Accuracy Attainable in the Estimation of Statistical Parameters. Bull. Calcutta Math. Soe., 37, 81 -91 ( 1 945). L. Gyergyek, Le recepteur optimal au sens du critmum de fequivocation minimale. FAST, Automation and Instrumentation. Vol. I, Milano, 1 29 - 1 34 ( 1 968). L. Gyergyek, Decizijs1u metode pri sprejemanju porolil. Avtomatika, 2 -3, Zagreb (1966). L. Gyergyek, Statističn8 metode v teoriji mtemov, teorija o informacijah. Univerza v Ljubljani, Fakulteta za elektrotehniko, Ljubljana 197 1 . H. L. Van Trees, Detection, Estimation and Modulation Theory. Part I , John Wiley and Sons, New York, 1 968. K. Fukunaga, Introduction tO Statistical Pattern Recognition. Acadesnic Press, New York, 1 972. D. Dugue, Application des Proprietes de la Limite au Sens du Calcut des Probabilities a rEtude des Diverses Questions tfEstimation. Ecol. Poly., 3, N°. 4, 305 -372 (1937). R. Jamnik, Uvod v matematično statistiko. Društvo matematikov, fizikov in astronomov SR Slovenije, Ljubljana, 1 976.
J. T. Tou, R. C. Gonzales, Pattern Recognition Principles, Addison-Wesley Publ. Co., 1 974.
6.
NENUMERIĆKO (SINTAKTIĆKO) RASPOZNAVANJE UZORAKA (Prof. dr. Nikola Pavešić, dipl. ing.)
6.1. UVOD Do sada smo objekte raspoznavanja opisivali pomoću konačnih' skupova mjerenja. Objekt je bio opisan n-dimenzionalnim vektorom (ukoliko je bilo potrebnih n mjerenja), odnosno točkom u n-dimenzionalnom prostoru. S vreme nom se je pokazalo da samo vektorski opis ne zadovoljava. Ono što je u objektima raspoznavanja prisutno, a iz vektorskog opisa nije moguće razlučiti - to je struktura objekta, odnosno hijerarhijsko uređenje veza i odnosa između osnov nih sastavnih dijelova objekta raspoznavanja. Objekte raspoznavanja s prepoznatljivom strukturom (uglavnom su to slike) možemo opisati tako da navedemo: - od kojih su osnovnih djelova građeni i - koja pravila vrijede za kompoziciju osnovnih dijelova u cjelinu. Takvi objekti raspoznavanja su veoma brojni, na primjer: brojčano-slovni znakovi, tipovi bioloških stanica i kromosoma, biološki signali (EKG, EEG, . . . ), otisci prstiju itd. Jedan primjer objekta raspoznavanja s uočljivom strukturom, njegove osnovne dijelo�e te pravila kompozicije u cjelinu prikazuje slika 6. 1 . NEBO
Osnovni dijelovi: nebo. zemlja. oblak. jezero. cesta, kuča, ... Pravila kompozicije:
-
SLIKA
. ---
BLIZI
010
�
ZEMUA
JEZERO CES1A
I
PEl Z
KUĆA
L
---
POZADINA
/ ""-HEBO
OBl AK
Sl. 6.1. Primjer objekta raspoznavanja s lIOčljivom strukturom
89
6.1. UVOD
Rečenice koje su napisane ili izgovorene nekim prirodnim jezikom nazivamo lingvističkim objektima i, kao što znamo, svakoj se rečenici može odrediti sintak tička struktura. Za rečenicu ;,Učenik piše zadaću" sintaktička struktura je prikaza na na slici 6.2.
( rečenica)
� �
(subjektn i d io)
( predikatni d io)
/
! (subjekt)
( predikat)
� (objekt)
!
!
!
učenik
piše
zadaću
Pravila
(rečenica) -� (subjektni d io) ( predikatni d io) (subjektni d io ) -+ ( su bjekt) ( pred ikatni dio) -+ ( predikat) (objekt) (subjekt) -+ učenik (predikat) -+ piše (objekt) -+ zadaću
Ko nstante učeni k , piše, zadaću Varija ble rečenica, subjektn i dio, predikatn i d io , subjekt, predi kat, objekt Startna varijabla rečenica SJ. 6.2. SlruklUra slahla rečenice " Učenik piše zadaću"
Budući da je struktura objekata koji se raspoznaj u srodna sintaksi rečenica, takav pristup problemu raspoznavanja nazivamo još i sintakdčk! pri&tup. Apstraktni prikaz strukture objekata možemo reducirati na određenu konfiguraci ju simbola koji će sastavljati rečenicu: riječi rečenice raspoznavanja,
će predstavljati osnovne građevne elemente objekta
u sintaksi rečenice zrcali t će se struktura objekta, to su, u stvari, relacije između osnovnih elemenata.
90
6. NENUMIlRICKO ,,,n'TAJ
U pristupu klasifikaciji koja se temelji na sintaktičkim principima prvo mo ramo raščlaniti svaki objekt na osnovne dijelove. Da bismo opisali kako se ti os novni elementi sjedinjuju u cjelinu, upotrijebit ćemo formalni jezik koji nazivamo "opisni jezik objekata raspoznavanja" ili "opisni jezik uzoraka" (K. S. Fu, 1974). Nakon toga utvrđujemo da li se pravila sastavljanja tog objekta raspoznavanja u cjelini podudaraju s pravilima koja opisuju strukturu rečenice. To pravilo naziva mo gramatikom formalnog jezika. Ukoliko ustanovimo podudaranje, objekt ćemo razvrstati u onaj razred uzoraka kojem pripadaju ispitivana gramatička pravila. Postupak utvrdivanja podudaranja između strukture objekta raspoznava nja što smo ga predstavili rečenicom formalnog jezika, i gramatičkih pravila jezika za opis objekata nazivamo sintakd�ka analiza. Gramatička pravila za pojedine razrede uzoraka možemo ugraditi u sustav za raspoznavnje uzoraka ili sustav može sam "naučiti" gramatiku pomoću uzoraka iz skupa uzoraka za učenje (K. S. Fu, 1974). Blok-shemu postupka sintaktičkog razvrstavanja i učenja prikazuje slika 6.3.
�....
PrelprOCl!sironje
�:: � no
�....
e
""-
___
Pretproc:esiranje
t
Predshlvljonje u opisnom jeziku
__
r-----
�
Anolilo. ri!fenice
Klo.sifi
--- - - - - - - - - ----Gramo.tiku
PredshlvljonJe u opiShOlIl jeziku
Razred wi
H
6rOJ!lQtilcn razreda
f
Sl. 6.3. Blok-shema sintaktičkog sustll'lJa za raspoznavanje
6.2. ELEMENTI FORMALNE TEORQE JEZIkA Već nam povrian pogled na sliku 6.2 otkriva neke značajke koje možemo upotrijebiti pri sastavljanju gramatike. Tu su prisutni elementi koje možemo raščlaniti i nadomjestiti drugim elementima «rečenica), (subjektni dio), (predikat ni dio» . Tu je i skup riječi (učenik, piše, zadaću), koje mogu nadomjestiti elemente: (subjekt), (predikat) i (objekt). Na kraju, točno je određeno koje raščlanjivan;e i koje su zamjene dopuštene i kako pojedine elemente slažemo međusobno u gramatički pravilne rečenice. Po analogiji možemo definirati grama tiku G kao uređenu četvorku:
gdje je
VN
konačan skup varijabli ili međuznakova (neterminala),
VT
konačan
91
6.2. ELEMENTI FORMALNE TEORIJE JEZIKA
skup konstanata ili konačnih znakova (terminala), P konačan skup pravila ili produkcija, a S e VN početni znak (startna varijabla): Skupovi VN i VT su disjunktivni (V Nn VT = �), a njihovu uniju nazivamo rječnik. Znakove iz rječnika V udružujemo tako da ih nižemo jedan do drugog. Tako nastaju nizovi znakova. Broj znakova u nizu određuje duljinu niza. Gramatička pravila koja u općem obliku pišemo kao: <x-+�
omogućavaju zamjenu niza <x nizom �. Pri tome je � u ( VN U VT)* l) i <x u ( VN U Vt) VN ( VN U VT)*. Niz <x je sastavljen od varijabla i konstanta te ima bar jednu varijablu. Niz � je sastavljen od varijabla i konstanata. Niz w1 neposredno generira niz W2: W 1 => W2' G
i vrijedi l
<x-+f}eP,
te w 1 ' w2' <x i �E V+ ) i W1W:z E V*. Pomoću pravila <x-+ f} iz niza w1 dobili smo niz W:z tako da smo u w1 zamijenili podniz <x podnizorn �. Umjesto
možemo pisati
za n = O,
1, 2,
:::;» .
. . . (Relaciju !. nazivamo refleksivno trazitivna zatvorena relacija
Jezik koji se zasniva na gramatici G jest skup: * x }. L (G) = { X I X E V� ; S:::;> G
je skup svih onih konačnih nizova, sastavljenih samo od konstanata, koje možemo generirati iz početne varijabile S. Sve takve konačne nizove nazivamo
Jezik
rečenice. skup
') A· označava skup svih znakova koji se mogu sastaviti od znakova skupa A. A · sadrži i prazan
e
(niz dulj ine O). ') Ako isključimo element
e iz skupa A O, dobivamo skup A + =Ao - {ej.
6. NENUMERICKO (SINTAKTICKO) RASPOZNAVANJE UZORAKA
92
Kao primjer uzmimo gramatiku
G = (VN, VT' P, S), gdje je:
VN= {S}, {a, b} P= {S-+aSb, S-+ab}.
Ako prvo produkcijsko pravilo upotrijebimo
m 1 put, dobivamo
S=:-aSb=:-aaSbb=a3Sb3=:-" , =:-a'" lSbm G
G
G
G
-
1.
Upotreba drugog pravila daje niz
Jezik koji je generirala gramatika Možemo ga zapisati kao
G
sastoji se od nizova
amb'"
duljine
m, m � l .
Klasifikacija gramatika i njima pripadajućih jezika, po broju varijabla i konstanata koje čine rječnik nije zanimljiva. U stvari, veličina rječnika samo pridonosi bogatstvu mogućnosti izbora znakova za građenje rečenica. Pokazalo se, međutim, da je izuzetno važna građa pravila (produkcija), Chomsky (N. Chomsky, 1 956) definirao j e četiri tipa gramatike gdje jezici čine određenu hijerarhiju:
Gramatika dpa O To je gramatika koja ne postavlja nikakva ograničenja za pravila. Ona generira neki rekurzivni prebrojivi skup.
Gramatika tipa l To je kontekstno osjetljiva gramatika gdje su pravila ograničena na oblik
�l A� -+�l P�;l' gdje je Ae VN, �I i �lle V* i peV + . Kao što se vidi, takva gramatika dopulta zamjenu varijable A nizom p samo u kontekstu �1 i � 2 . Za svako pravilo vrijedi i relacija l � l A �21 � I �l P � 21 1). - Gramatika tipa 2 Tu su pravila ograničena na oblik A-+P, gdje je A e VN i peV+ . Gramatika je kontekstno slobodna jer varijablu A možemo zamijeniti nizom p bez obzira na kontekst u kojem se pojavljuje.
Gramatika tipa 3 a
Ako svako pravilo P iz gramatike ima oblik A -+B ili A -+b, gdje su A i Be VN' b u VT U {e}, nazivamo takvu gramatiku regularnom. l)
lxi je duljina niza x ili broj znakova u nizu x.
h .l. RASPOZNAVANJE SINTAKTICKIH STRUKTURA - TIPOVI AUTOMATA
93
Iz definicija pojedinih tipova gramatika vidi se da je svaka regularna gramati ka također kontekstno slobodna, da je svaka kontekstno slobodna gramatika poseban slučaj kontekstno osjetljive gramatike, te da je svaka kontekstno osjetljiva gramatika također neograničena gramatika. To možemo simbolički prikazati kao:
G3 c G2 c G1 c Go' 6.3. RASPOZNAVANJE SINTAI<TICKIH STRUKTURA TIPOVI AUTOMATA Jezik možemo smatrati skupom nizova što ga prihvaća neki automat za raspoznavanje. Pri tome su pojmovi prihvaćanje i automat za raspoznavanje točno definirani. Automat za raspoznavanje ima tri bitna elementa: ulaznu vrpcu, konačno upravljanje i beskonačnu memoriju. Ti su elementi na odgovarajući način među sobno povezani. U lazna vrpca je ograničena graničnicima t i S. Izmedu njih se na vrpci nalazi neki niz znakova. Ulazna glava promatra uvijek samo jedan znak na ulazu. Automat ima konačno upravljanje koje se nalazi u jednom od konačnog broja stanja. Automat sadrži i beskonačno veliku memoriju koja ima specifičnu organizaciju te izvršava osnovne korake u zavisnosti od stanja konačnog upraVljanja, promatranog ulaznog simbola i konačne količine informacija u beskonačnoj memoriji.
Turingov stroj raspoznaje jezike tipa O. Linearno ograničeni automat raspo znaje kontekstno osjetljive jezike (tip l ). Stožni automat prihvaća kontekstno slobodne jezike (tip 2). Konačni automati raspoznaju regularne jezike (tip 3) eA. V. Aho, 1 969). Svaki od gore navedenih automata možemo realizirati pomoću digitalnog računala. Računalo pomoću odgovarajućih programa izvriava algori tam. To znači da se pomoću programa digitalno računalo pretvara u neki realni automat. Svaki program sadrži tri komponente (E. B. Hunt, 1 975): proceduralni dio koji izvršava algoritam, statičku memoriju kojoj dimenzije znamo već prije izvršavanja programa, dinamičku memoriju kojoj se dimenzije određuju u toku izvršavanja programa. Pokazalo se da Turingov stroj zahtijeva beskonačnu dinamičku memoriju bez ograničenja pristupa proceduralnog dijela varijablama koje su pohranjene u dinamičkoj memoriji. Linearno ograničeni automat ima konačnu dinamičku memoriju i neograni čen pristup do varijabla. S tožni automat ima neograničenu dinamičku memoriju i ograničen pristup do varijabla u njoj. Konačni automat nema dinamičke memorije. Razmotrimo primjer konačnog automata koji raspoznaje regularne j ezike. To je jednostavan uređaj koji uzima u obzir samo stanje svojeg konačnog upravljanja, promatrani ulazni znak i u skladu s tim mijenja stanje i pomiče ulaznu glavu. Označimo automat sa A = CK, L, o, q o' F),
94
6. NENUMERICKO (SINTAKTICKO) RASPOZNAVANJE UZORAKA
gdje su K, 1: i F konačni skup stanja, skup ulaznih znakova i skup konačnih stanja. Vrijedi Fr;;;. K. qo u K je početno stanje, a o je preslikavanje iz skupa K x 1: u K. Neka bude t = {O, l }, K = {qo> qt' ql }' F= {qo} i preslikavanje o iz K o (qo> O) = ql' o (qt, I ) = qo>
o (qo> l ) = qt'
o (qt' O) = ql'
x
1: u K:
o (ql' O) = qo i o (q2 ' l ) = qt '
Dijagram prijelaza stanja za automat prikazuje slika
6.4.
Sl. 6.4. Konačni automat
Pretpostavimo da se na ulazu u automat nalazi niz x = OOI I OO I I i da je automat u početnom stanju qo' Ulazna glava promatra znakove niza slijeva udesno. Kada prvi put utvrdi znak O, automat mijenja stanje qo u stanje ql' Sljedeći znak O vraća automat u stanje qo' Na sličan način prvi znak l mijenja stanje automata u qt' a sljedeća jedinica vraća ga u qo' Niz x ostavlja automat u stanju qo' Automat A je prihvatio niz x ako i samo ako ga je niz x ostavio u jednom od mogućih konačnih stanja. Skup svih nizova koje prihvaća automat A je: T (A) = {x l o (q, x) u
F} ,
gdje
o (q, x ) od ređuj e stanje automata nakon pročitanog niza x . Automat A možemo upotrijebiti za razvrstavanje uzoraka u dva razreda uzoraka: Uzorke koje automat prihvaća razvrstavamo u razred uzoraka 0) 1 " Sve one uzorke koje automat otklanja (ne prihvaća) razvrstavamo u razred O)l'
6.4. STRUKTURNO RAZVRSTAVANJE UZORAKA S obzirom na spoznaju iz odjeljka 6.2 možemo razvrstavanje uzoraka zasnovati na sljedeći način: Svakom razredu uzoraka pridružujemo vlastitu gramatiku. Gramatika Gi sa svojim pravilima u skupu PI opisuje svojstva uzoraka u razredu uzoraka 0)1' Svaki uzorak predstavljamo pomoću konačnog niza znakova. Uzorci iz razreda O)i čine jezik L (Gl) gramatike Gi. Imamo toliko gramatika koliko imamo- i razreda uzoraka. Uzoru s nizom x uvrštavamo u razred 0)1 ako je pomoću analize rečenice (niza) utvrđeno da je
6.4.
95
STRUKTURNO RAZVRSTAVANJE UZORAKA
X EL (Gj)
,
X E V�.
Na taj način smo problem razvrstavanja uzoraka sveli na analizu rečenice. Problem analize možemo grafički prikazati trokutom (sl . 6.5.). Trokut ispunjuje mo u skladu s pravilima iz skupa P. s
s
Sl. 6.5. Rečenična analiza
Svaki konačni znak a jE VT U nizu XE V� moramo povezati, pomoću međučvo rova - varijabla A E VN' S početnom varijablom S u skladu s pravilima P. Ako nam to uspije, tada je xEL (G). Postoji cijeli niz općih i problemski usmjerenih postupaka analize rečenica kon tekstno slobodnih jezika (A. V. Aho, 1972). Opisat ćemo postupak koji je predložio Earley (J. Earley, 1 970).
Earlyjev postupak analize rečenice: Kontekstno slobodna gramatika G = ( VN, VT, P, S) i ulazni niz x = a 1 , az, . . . , an' n � O, X E V} .
Ulaz:
Izlaz: Popisi analize rečenice lo, ll' . . . , lp . . , III' Postupak: (A) sastavljanje popisa lo: .
l . korak:
2.
korak:
3. korak:
Ako je pravilo S --+ Cl iz skupa P, uvrsti u popis lo postavku [S--+ . Cl, O], gdje točka označava znak koji nije u VN ili VT' Korake 2 . i 3. ponaVljaj dok je moguće uvrštavati nove postavke u popis lo' Ako je u popisu 19 postavka [B--+ 'Y ' , O], uvrsti u lo postavku [A --+ ctB · p, O] za sve LA --+ Cl ' BP, O]. Pretpostavimo da je postavka [A --+ Cl ' BP, O] u popisu lo. Za sva pravila B--+'Y iz P uvrsti u lo postavku [B--+ 'Y ' , O] (ako se već ne nalazi u popisu). (B) Sastavljanje popisa lj kada su popisi lo, ll' . . . , IJ - 1 već sastavljeni:
4.
korak:
S. korak:
6. korak:
za svaku postavku [B --+ Cl ' a p, j] iz popisa IJ - , gdje je a = ap uvrsti u popis lj postavku [B--+ cxa ' p, .l. Korake S. i �. ponavljaju đok je još moguće uvrštavati nove postavke u popis ln' Neka je postavka [A --+ 'Y ' , .1 iz popisa lj' Potraži u popisu II postavke [B--+ Cl ' A P, k]. za svaku postavku kOJU nadeš uvrsti u lj postavku [B--+ Cl ' p, k] . Neka bude postavka [A --+ Cl ' BP, j] iz popisa I). Za sva pravila B --+'Y iz . P uvrsti u lj postavku [B --+ · 'Yll .
Kraj pottupka: Niz
Je
je iz L (G) ako i samo ako je u popisu I. postavka [S--+Cl., O].
96
6.
NENUMERICKO (SINTAKTICKO) RASPOZNAVANJE UZORAKA
Pokušajmo utvrd iti da li je rečenica
ima gramatiku G
==
(VN' VT'
x=
P, S), gdje je:
(a +a)*a
VN
{S, A l ' A , J
VT
{a , (,) , + ,
P:
iz
j ezika L (G). J e zik L (G)
*}
S->A I + S S->Al
Al -> A /Az A l ->A z
Primijenimo Earlyjev postupak analize rečenice: U prvom koraku uvrstimo u popis lo postavke [S-> . Al + S, O]
[S-> . A l ' OJ,
u trećem uvrštavamo još
Ponovnim izvršavanjem trećeg koraka dodajemo popisu postavke Nakon toga više nije moguće uvrštavati nove postavke u popis lo ' U četvrtom koraku uvrštavamo u popis 11 postavku smo uzeli u obzir da je al C. =
[Al -> C ' S),
O]. Pri tom
U šestom koraku možemo uvrstiti u I I još [S-> ' A l + S, 1 ], [S-> ' A l' l ], l ], [A l -> ' A z' 1 ], [Al-> ' (S), l j i [Al-> ' a, 1 ]. To su ujedno sve postavke ll ' [A 1-> ' A l *A l,
Pri sastavljanju popisa II uzimamo u obzir da je uvrštavamo u Iz postavku [Al ->a ' , 1 ] .
al = a.
U četvrtom koraku
U petom koraku uzimamo tu postavku tako da u I potražimo one postavke koje imaju znak A z desno od "lažnog" znaka točke.I Nalazimo dvije takve postavke, Zbog toga u II uvrštavamo [A 1 ->A z · *Al, l] i [A 1 ->A 2 ' , l ] .
Druga postavka zahtijeva ponovno pretraživanje popisa 11' Sada tražimo postavke koje sadrže · A l• Nalazimo dvije takve postavke. Uvrštavamo ih u l : [S->A1 ' + S, 1] ; [S->A ' , l ] Ponovo druga postavka zahtijeva da se u jl 1 uvrsti postavka [Al -> (S ' ), u]. Sada je popis II popunjen. .
Potpune popise analize rečenice prikazuje slika 6.6.
6.5.
97
SINTAKTlCKO RASPOZNAVANJE UZORAKA POMOCU STOHASTICKIH JEZIKA la
II
lo
[ S-+o A l + S , eJ
[ A 2 -+ ( o S ) , e ]
[A2-+a ' , 1 J
[S-+A l + o S , 1 )
[ S-+ o A l ,e J
[ S-+o A l + S , 1 J
[A l -+A2 - *A l , 1 ]
[ S-+o A l +S,3J
[A l -+ o A 2 *A l ,eJ
[ S-+ oA l , 1 J
[A l -+A2 - , 1 J
[ S-+o A l , 3 J
[ A l -+ o A 2 ,4tJ
[A l -+o A 2 *A l , 1 J
[ S-+A l ' +S , 1 J
[A 1 -+ · A 2 *A l , 3 J
[ A 2-+ 0 ( S ) ,eJ
[A l -+ o A 2 , 1 J
[ S-+A l ' , 1 J
[A 1 -+ · A v 3J
[A2-+ o a ,e J
[A2-+0 ( S ) , 1 J
[A 2 -+ ( S ' ) ,eJ
[A2-+ o ( S> , 3 J
,
[A2 -+ · a .. 3 J
[A2-+o a, 1 J
h
ls
[A2-+a o , 3 J
[ A 2-+ ( S ) o , e J,
[A l -+A 2 * - A l ,.J
[A2-+a - .. 6J
[A l -+A 2 o *A l , 3J
[ A l -+A 2 " *A l ,e J
[ A l -+o A2 *A l ,6J
[A l -+A2 ° *A l ,6J
[A l -+A2 o , 3J
[A l -+A 2 " ,e J
[ A l -+ o A 2 , 6J
[A 1 -+A 2 - ,6J
[ S-+A l - + S , 3J
[ S-+A l o +S , e J
[ A 2-+o ( S ) ,6 J
[A l -+A2*A l - ,e]
[ S-+A l o , 3 J
[ S-+A 1 0 , e J
[A2-+ o a , 6 J
[S-+A l - + S , e J [S-+A l - , e]
[ S-+A l +S - , 1 J [A2-+( S ;' ) , eJ Sl. 6.6. Potpuni popisi rečenične analiza za razmatrani primjer
Budući da j e u popisu 17 postavka
[ S-A l ' , O], niz
x
je element jezika L (G).
6.S_ sINTAKnćKo RASPOZNAVANJE UZORAKA POMOĆU STOHASnCKDI JEZIKA
U realnim primjerima raspoznavanja uzoraka u obzir moramo uzeti šum koji utječe na uzorke i pogreške koje nastaju prilikom odredivanja osnovnih sastavnih dijelova objekta koji se prepoznaje. Nepreciznost i nesigurnost opisivanja uzoraka možemo obuhvatiti primjenom teorije vjerojatnosti (K. S. Fu, 1 974) ili teorije razmazanih skupova (R. De Mori, 1 976). Te probleme možemo rješavati i pomoću transformaci;skih gramatika (A. K. Joshi, 1 973; B. K. Bhargava, 1 974), pomoću aproksimacija (T. Pavlidis, 1 976) iIi pomoću odgovarajućih postupaka analize rečenice (S. Y. Lu, 1 977; K. S. Fu, . 1 977). Razmotrimo modeliranje uzoraka sa šumom pomoću teorije vjerojatnosti. Stohastička (slučajna) gramatika je četvorka:
GS = ( VN, VT> Ps, S),
gdje je VN skup meduznakova (neterminala), VT skup konstanata (terminala), S početni znak u VN' a Ps = (P, D) skup pravila oblika:
98
6. NENUMERICKO (SINTAKTICKO) RASPOZNAVANJE UZORAKA
Ovaj nam zapis kaže da možemo s vjerojatnošću p zamijeniti niz Skup L (G.) je stohastički jezik gramatike G S :
p (x)
o:
nizom �.
K
L:1 Pr
}=
gdje je K broj pravila koja nas iz S dovode u x. Tako je svakom nizu x konačnih znakova iz skupa V;: pridružena vjerojatnost P (x) s kojem gramatika GS gradi taj niz. Nepoznati uzorak opisan nizom x uvrštavamo u razred uzoraka (op i = 1 , 2, . . . , M, tako da ga analiziramo sa svakom stohastičkom gramatikom GSI = ( VT' VN'
Ps , S). I Pomoću analize rečenice dobivamo vjerojatnosti: p (x l GS); i= 1 , 2, . . . , M, koje nam govore s kakvom vjerojatnošću gramatika Gs gradi niz x. Uzorak koji je opisan nizom
x
razvrstavamo u onaj razred
p (GSI I x) =
(Oi
za kOli Je vjerojatnost
P (Gs) P (x I Gs) P (x)
najveća. Pri tome je P (x) vjerojatnost uzorka koji je opisan nizom x, p eGs ) vjerojatnost gramatike Gs" odnosno njoj odgovarajućeg razreda (Oi' I
plx/G s'l 1
Izbor IIQjveće Y/'ijednosH
plxlG.21 x
Odluka
plx/GoIII Sl. 6 . 7. Blok-shema sustava za raspoznavanje koji se temelji na stohastičkim gramatikama
Slika 6.7 prikazuje blok-shemu sustava za raspoznavanje koji se temelji na upotrebi stohastičkih gramatika. Razmotrimo sada kako se iz skupa uzoraka za učenje
Rt = {(x 1, n1),
• • •
,
(x.., nJ,
o o .
,
(XN> n� }
6.6,
99
SINTAKTICKO OPISIVANJE UZORAKA
ocjenjuju vjerojatnosti u skupovima Dl' i = l , 2, . . . , M. Sa Xh smo označili niz konačnih znakova, a sa nh njihovu učestalost. Izvedimo analizu rečenice nad svakim nizom. Sa N l (xJ označavamo broj y ponavljanja pravila Ar" P1 iz skupa Ps prilikom analize ruza xh• Matematičku naiiu broja ponavljanja pravila A{"'+ PA: iz skupa PSr prilikom analize nizova iz skupa Rt izračunavamo kao: , n1jk =
gdje
L nh ' p (Gs, ! xJ NiJA: (xJ,
x" e R,
'
p eGs ! xJ označava vjerojatnost da je niz xh izgrađen pomoću gramatike Gs'Vjerojatnost pravila A{"'+ Pt iz skupa Ps, možemo ocijeniti sa: nljl Pijl = �' .t.... nijl �
I
Suma u nazivniku uzima u obzir sva pravila u skupu strani varijablu AJ'
Ps koja imaju na lijevoj '
Lee i Fu (H. C. Lee, 1972) dokazali su da se ocjena Pil ' približava pravoj vrijednosti vjerojatnosti pravila Pijt ako se broj nizova u s�upu Rt približava . beskonačnosti i ako su ispunjeni sljedeći uvjeti: l ) Rt je skup nizova konačnih znakova jezika L (Gs), i = 1, 2, vrijedi Rt-+L =
2) Ocjena vjerojatnosti niza xh e Rt
_ _ _
, M, tako da
M
U L (G s).
1= 1
približava se pravoj vrijednosti vjerojatnosti. 3) U postupku učenja moguće je odrediti vjerojatnost P (Gs' l x) za svaki niz x eRi• Naravno, vrijedi: M
L p eGs, ! x) = l .
i= 1
Vrlo se često uzima da je p (Gs, I x) = l /M.
6.6. SINTAKTICKo OPISIVANJE UZORAKA Da bismo realizirali sintaktički sustav za raspoznavanje, moramo opisati uzorke pomoću formalnih jezika. Za to treba imati: osnovne elemente od kojih ćemo graditi uzorke, - operacije udruživanja elemenata u rečenice. Pri izboru elemenata valja naglasiti da želimo da ih bude što manje različitih tipova. Na taj način dobivamo pri sintaktičkom raspoznavanju jednostavnije gramatike. Što je manje tipova elemenata, to se u većoj mjeri objekti mogu opisati
6. NENUMERICKO (SINTAKTICKO) RASPOZNAVANJE UZORAKA
1 00
kao rekurzivne funkcij e osnovnih elemenata. Freeman (H. Freeman, 1 96 1 ) predlo žio je lančani kod (engl. chain code) koji opisuje uzorke kao slijed od osam osnovnih elemenata, odnosno smjerova (sl. 6. 8a).
bl
Sl. 6.8. Opis uzoraka "lančanim" kodom
Uzorak opisujemo tako da na njega prvo položimo kvadratnu mrežu i zatim ga prekrijemo osnovnim elementima tako da se oni što bolje poklapaju s uzorkom (sl. 6.8b). Jedina relacija koja nastaje pri ovom načinu opisivanja uzoraka j e slijedno nizanje elemenata, odnosno "ulančavanje" strelica prethodnog elementa s repom sljedećeg. Uzorak prema slici 6.8b možemo zapisati rečenicom: 1 8681 8, koji se može generarirati kontekstno osjetljivom gramatikom.
/"., ttll
SI. 6.9. Element opisnog jeZika za slike
t�
h
o-b
t <::) h o
b
Sl. 6.10. Pravila opisanog jezika za slike
101
6.6. SINTAKTICKO OPISIV ANJE UZORAKA
Shaw (A. C . Shaw, 1 970) predlaže opisni jezik za slike. One s e opisuju pomoću toČIlo definiranih elemenata kao što su lukovi određene zakrivljenosti, duljine i smjera. Svaki element x - luk iz određenog razreda ima glavu h (x) i rep t (x) (sl. 6.9.). Elemente povezujemo binarnim operacijama (sl. 6. 1 0.). Glava i rep sastavljenog elementa su na slici 6. 1 0 svaki put označeni sa h, odnosno sa t. Osim binarnog postoji još i unarni operator - koji mijenja smjer elemenata tako da vrijedi h ( - x) = t (x) i t ( - x) = h (x). Kao poseban primjer elementa smatramo luk kojem se glava i rep podudaraju. To se naziva "prazan" element i služi za opisivanje međusobno odijeljenih struktura. t
l
t
h
� U đ + I [ + I-dll
c +l-dl
d
CI
bl
al
Id+!c+l-dlll * IIQ+bl *cl
o+b
fl
dl
Sl. 6 . 1 1 . Koraci pri sastaVLJanju strukture pomoću opisnog jezika za slike
Pogledajmo primjer: Uzorak na slici 6. 1
If možemo opisati
gramatikom:
G = (VN, VT, P, S), gdje je:
VN= {S, A l' A l' A 3, A 4, A 5 } VT {a l', b \. , C -+ , dj} P: S-+d +Al A l -+C +A;z Al-+ -d *A 3 A 3 -+a +A 4 A4-+b *As A s-+ c,
6. NENUMERICKO (SINTAKTICKO) RASPOZNAVANJE UZORAKA
1 02
Prvo pravilo odreduje da se spajaju glava osnovnog elementa i rep još nedefinirane varijable. Drugo pravilo odreduje da se varijabla Al rastavlja u e +A2' gdje A2 nije još definirano. Na sličan se način A2 rastavlja u - d·A,.
Iz definicije operatora • slijedi da strukturu A moramo vezati na strukturu koju prikazuje slika 6. l 1 c tako da se spajaju rep i gla�a. Potpun opis uzoraka prikazuj e slika 6. 1 1 f. Vrlo upotrebljiv pristup za strukturno opisivanje uzoraka temelji se na primjeni struktUl:e stabla (W. S. Brainerd, 1 969), (K. S. Fu, 1 972). Stablo je konačan skup T jednog ili više čvorova gdje: a) samo jedan čvor odredujemo kao korijen stabla, b) ostale čvorove (izuzev korijen) možemo razdijeliti u m � O disjunktivnih skupova Tl' Tl' . . . , Tm od kojih svaki predstavlja stablo.
Stabla Tl' T.2' . . : ' Tm nazivamo podstab�a kor�jena. �roj podsta? la korije�a . . nazivamo stupanj konjena. evor nultog stupnja nazivamo I1st. evor višeg stupnja naziva se čvor grananja. Struktura stabla koja odgovara uzorku naziva se stablo uzorka. Vrlo je česta upotreba stabla za opisivanje višedimenziona1nih struktura. Zapravo svako hijerarhijsko uredenje vodi nas do opisa stabla. Na slici 6. 1 2a uzorak se sastoji od ugniježdenih područja, gdje je područje b ugniježdeno u području a, područje a u području r. Drugi primjer (sl. 6. 1 2c) prikazuje električni krug. Možemo primijetiti da je svaki čvor ujedno i čvor kruga, te da je korijen izabran po volji.
/r"
II
al
I
b
e (
d/ \e bl
1 I cl
I
g
/ r\
/ \l
e
I
l
g
dl
I
g
Sl. 6.12. Predsta'IJljtmjll uzoraka pomot!u strukture stabla
Gramatika stabla definirana je petorkom :
G = (Vw Vp P, R, S),
gdje su VN i VT skupovi meduznakova (neterminala) i konačnih znakova (termina la), S je počema varijabla koja u općem slučaju može biti drvo, P je skup pravila: Q-+\f'
gdje su Q i 'I' stabla, a R je funkcija uvrštavanja koja označuje broj neposrednih potomaka čvora koji ima za oznaku konstantu (konačni znak) gramatike. Kao primjer gramatike stabla pogledajmo uzorak električnog kruga na slici 6. 1 2c.
6.7.
AUTOMATSKO GENERIRANJB <'''''MA''''�CJ' Gramatika
1 03
G = ( VN' V,., P, R, s) ima sljedeće elemente:
VN = {A, S} VT = {r, e, I, c, g } P:
S-+r
A -+I I
e�
e
I
g
I
g
g
R (r) = 2, R (l) = {2, l } , R (e) = l , R (g) = O, R (c) = l .
6.7. AUTOMATSKO GENERIRANJE GRAMATIKE "Učenje" je određivanje funkcija odlučivanja na temelju informacije koju sadrže uzorci za učenje. U jezičnom pristupu izraz "učenje" možemo upotrijebiti za učenje gramatike. Postupak odredivanja gramatike pomoću uzoraka za učenje obično nazivamo "zaključivanje o gramatici". Model "zaključivanja o gramatici" prikazuje slika 6. 1 3.
Skup nilOWl
o gramo.ticl
Zakljulivanje
GrOlllQtikD
Sl. 6.13. Učenje gramatike
Tražimo adaptivni postupak koji iz skupa ulaznih znakova generira gramatiku rečenica jezika L (G) . U ovom odjeljku dat ćemo postupak koji su opisali Tou i Gonzales (J. T. Tou, 1974) a koji se temelji na Feldmanovoj ideji a. Feldman, 1 969).
G tako da su te rečenice podskup
U skladu s tim postupkom prvo sastavljamo nerekurzivnu gramatiku koja generira zadane rečenice. Nakon toga ujedinjujemo konačne znakove tako da dobivamo jednostavniju rekurzivnu gramatiku koja generira beskonačni broj rečenica. Postupak se može rastaviti u tri dijela:
U prvom oblikujemo nerekurzivnu gramatiku, u drugome dijelu mijenjamo pravila tako da dobivamo rekurzivnu gramatiku. Tu gramatiku, u trećem dijelu, pojednostavnjujemo. Postupak ćemo najlakše objasniti na primjeru:
6. NENUMERICKo (SINTAKTICKO) RASPOZNAVANJE UZORAKA
1 04
Zadan je skup nizova konačnih znakova:
{caaab , bbaab , caab , bbab , cab , bbb
,
ch }
Potražimo gramatiku koja generira te nizove!
1. dio Sastavimo nerekurzivni skup koji generira zadani skup nizova konač nih znakova. Nizove obrađujemo tako da prvo razmatramo niz s najvećim brojem znakova. Sastavljamo pravila za generiranje nizova. Pravila uvrštavamo u gramatiku. Zadnje pravilo, koje generira najdulji niz, ima oblik:
A -+a1al · Pretpostavljamo, naime, da je ostatak najduljeg niza (a1a2) sufiks nekog kraćeg niza u zadanom skupu nizova. Možemo izabrati i dulje ostatke, na primjer a1a Za 3 ili a1a Za3a4 itd., međutim, ti primjeri zahtijevaju potpuniji skup zadanih nizova zbog uvjeta da su ostaci sufiksi kraćih nizova. Najdulji niz u zadanom skupu je caaab. Njega možemo generirati pravilima:
S-+cA 1 A 1 -+aA l A l -+aA3 A3-+ab. Sljedeći niz je pravila:
bbaab.
Njega generiramo tako da gramatici dodajemo sljedeća
S-+bA4 A4-+bA $ A $ -+aA6 A4-+ab. I ovdje se ostatak sastoji od dva konačna znaka, jer je niz j ednake duljine kao u prethodnom slučaju. Možemo primijetiti da prvi dio postupka daje već nekoliko suvi§nih pravila. Na primjer, drugi niz možemo generirati dodatnim pravilom S-+bA4, A4-+bA l ' Međutim, u prvom dijelu postupka bavimo se samo određiva njem pravila koja odgovaraju zadanom skupu nizova. Treći niz
caab možemo generirati ako gramatici dodamo pravilo: A3-+b.
Uzimanjem u obzir svih nizova iz zadanog skupa dobivamo sljedeća pravila tražene gramatike:
S-+cA1 S-+bA4 A l -+b A1 -+aA2
A l -+b A2-+aA3 A3-+b A3-+ab
6.7. AUTOMATSKO GRNl!RlRANJE GRAMATIKE
1 05
A 4-bAs
A6-b
As-b
A6-ab.
A�- aA 6 2. dio Udruživanjem svakog pravila oblika A -a laZ i pravila koje nema taj oblik dobivamo konačnu rekurzivnu gramatiku. Točnije, svako pravilo oblika A,-a l aZ udružujemo s pravilima oblika A,-a Am' gdje je � i brišemo Am-al' To radimo tako da zamjenjujemo sve A, s .lin pravila oblika A,-a l aZ' Na taj način dobivamo konačnu gramatiku koja generira zadani skup nizova i beskonačno mnogo drugih nizova. Za naš primjer udružujemo A 6 sa A s i A3 sa Az. Dobivamo skup pravila:
S - CA l S -bA4
A z -aA z
A l -b
A4-bAs
A I -aA z
A s-b
Al-b
As-aAs
A z -b
As-b Rekurzivna pravila su Al-aAl i A s-bAs' 3. dio Pokušajmo sada pojednostavniti gramatiku koja odreduje pravila iz drugog dijela postupka. To možemo postići udruživanjem ekvivalent nih pravila. Pravilo koje ima na lijevoj strani Aj i pravilo koje ima na lijevoj strani Aj ekvivalentna su ako je ispunjen sljedeći uvjet: Pretpostavimo da pomoću pravila koje ima na lijevoj strani Ai možemo generirati skup nizova {x} I a pomoću pravila koje ima na ljjevoj strani Aj možemo generirati skup {x Jj' Ako je {x h = {x}j' pravila Ai i AJ su eKvivalentna. To znači da svako Ai možemo ZamIjeniti sa AJ' ali iako da ne utječemo na jezik koji ta gramatika generira. Formalno, pravila su ekvivalentna ako je
{xI Ai�X} :::> {xI AJ�x} . U našem primjeru s u pravila koja imaju na lijevoj strani A l i Al ekvivalentna. Ujedinjujemo A l i Al i brišemo pravilo koje se najviše puta pojavljuje u skupu pravila. Dobivamo pravila:
S-CA l
A4-bAs
S -bA4
As-b
A1-b
As- aA s
A I -aA1
A l i As su takoder ekvivalentna pravila. Njih takoder ujedinjujemo. Budući da u pravilima naše gramatike nema više ekvivalentnih pravila, postupak smo završili.
6. NENUMERICKO (SINTAKTICKO) RASPOZNAVANJE UZORAKA
106
Iz ulaznog skupa nizova "naučili" smo gramatiku: G = (VN, VT, P, S),
gdje je:
VN = {S,A,B} P:
S-+cA S-+bB A-+aA B-+bA A-b
Jednostavno se možemo uvjeriti da je to gramatika koja generira ulazni skup nizova.
6.S. LITERATURA A. V. Aho, J. E. Hopcroft, J. D. Ullman, A General Theory of Translation, Math. Syst. Theory 3, 193 221, 1969. A. V. Aho, ]. D. Ullman, The Theory of Parsing, Translation and Compiling, Vol. I, Premice-Hall, Englewood Cliffs, New Jersey, 1972. B. K. Bhargava, K. S. Fu, Transformation and Inference of Tree Grammars of Syntactic Pattern Recognition, Proc. 1974 IEEE Int. Conf. on Cybernetics and Society, Dallas, 1974. W. S. Brainerd, Tree Generating Regular Systems, Inf. Control, 14,217, 1969. N. Choinsky, Three Models for the Description of Language, PGIT, Vol. 2, N°. 3, str. 113 -124, 1956. R. DeMori, P. Tomasso, Lexical Classification in a Speech Understanding System Using Fuzzy Relations, Proc. IEEE Conf. Acoustics, Speech and Signal Processing, IEEE, Piscataway, N. J., 1976. ]. Earley, An Efficent Context-free Parsing Algorithm, Comm. ACM 13:2, str. 94 -102, 1970. J. Feldman, S_ Decidobility Results on Grammatical Inference and Complexity, Artifical Intelligence Memo. 93, Computer Science Dept., Stanford University, Stanford, 1969. H. Freeman, on the Encoding of Arbitrary Geo1Mtric Configurations,IRE Trans. El. Comp. EC-lO, str. 260 -268, 1961. K. S. Fu, Error-Correction Parsing fur Syntactic Pattern Recognition, Data Structure, Computer Graphics and Pattern Recognition, A. Klinger, K. S. Fu, T. Kunii, Eds., Academic Press, New York, 1977. K. S. Fu, B. K. Bhargava, Tree Systems fur Syntact� Pattern Recognition, Symposium on Computer Image Processing and Recognition, University of Missouri, Columbia, 1972. K. S. Fu, Syntactic Methods in Pattern Recognition, Academic Press, New York, 1974. E. B. Hunt, Artificial Intelligence, Academic Press, New York, 1975. A. K. Joshi, Remarks on S_ Aspects of Language Structure and Their Relevance to Pattern Analysis, Pattern Recognition, 5 (4),1973. H. C. Lee, K. S. Fu, A Syntact� Pattern Recognition System with Learning Capability, Iriformatirm Systems-COINS-72, J. T. Tou, Ed., Plenum Press, New York, 1972. S. Y. Lu, K. S. Fu, Stohast� Error-CurTet:tUw Synlax Analysis fur Recognition of Noisy Patterns, IEEE Trans. Computers, C-26, (l2), 1268, 1977. . T. Pavlidis, Syntactic Pattern R"ognition on the Basis of FlI1fCtionaJ Approximation, Pattern Recognition aItd Artijical Intelligence, Chen, C. H., Ed., Academic Press, New York, 1976. A. C. Shaw, Parsing of Graph-Representable Pictures, J. ACM, Vol. 17, No. 3, str. 453 -481, 1970. J. T. Tou, R. C. Gonzales, Pattern Recognition Principles, Addison-Wesley Publishing Company, Reading, Massachusetts, 1974. -
PRIMJERI SUSTAVA ZA RASPOZNAVANJE
7.
PRIMJENA ORTOGONALNE HAAROVE TRANSFORMACIJE U RASPOZNAVANJU I AUTOMATSKOM DIJAGNOSTICIRANJU SIGNALA EKG (Prof. dr. Slobodan Ribarić, dipl. ing.)
7.1. UVOD . Elektrokardiogram je pronađen 1887. godine. U fazu eksperimentalne upotre be u Evropi se uvodi početkom 1900. godine, a nekih desetak godina kasnije i u Sjedinjenim Američkim Državama. Međutim, tek tridesetih godina ovog stoljeća elektrokardiogram ulazi u §iru upotrebu. Sredinom pedesetih godina pojavila se ideja o automatizp.ciji elektrokardio grama, da bi krajem pedesetih godina to postala stvarnost (c. A. Caceres, 1973). Prvi sustavi pojavili su se početkom šezdesetih godina. Prva javna demonstracija potpunog sustava bila je na znanstvenom skupu American Heart Association 1962. godine. Komercijalni sustavi pojavili su se početkom sedamdesetih godina. Razvoj tehnologije i računalske tehnike omogućio je djelotvornu primjenu računala u području automatske interpretacije signala EKG. Razlozi za primjenu računala su sljedeći (M. L. Simoons, 1975): - Sum u signalu EKG može se reducirati usrednjavanjem (engl. averaging) većeg broja perioda signala .. Prije usrednjavanja treba izlučiti valne oblike koji se bitno razlikuju od tipičnog signala EKG (na primjer, ventrikular ne iii supraventrikularne ekstrasistole, sl. 7.1), te točno odrediti stabilnu točku početka periode. Za tu točku uzima se obično vrh vala R ili
Sl. 7.1. Pnm;er YJentrikuJarne ekstramtolne
u
snimci EKG
7. PRIMJENA ORTOGONALNE HAAROVE TRANSFORMACIJE ...
lIO
OJ
Sl. 7.2. Signal EKG
s
oznakom valmh oblika i intervala
najstrmiji dio spojnice valova Q i R (sl. 7.2). To se teško može izvesti automatski bez primjene digitalnog računala. Točnost mjerenja karakterističnih veličina digitalnim računalom je 0,005 mV ili čak i veća, dok se vizualnim očitavanjem postiže točnost samo od 0,05 mV. Prilikom vizualnog očitavanja signala EKG moguće su subjektivnosti promatrača. Računalo tu mogućnost isključuje (H. Blackburn, 1969); u uskoj vezi s tim je i ponovljivost interpretacije i dijagnoze EKG. Mjerenja nagiba i trenutnih promjena u .EKG-u za vrijeme testa optere ćenja mogu se izvesti samo pomoću računala. Posmpak donošenja dijagnoze može se poboljšati primjenom ekspertnih sustava u kojima se pomoću baza podataka (znanja) i mehanizma zaklju čivanja dobiva dijagnoza koja je jednakovrijedna dijagnozi skupine eksperata (S. Ribarić, 1983). Osim toga, računalo za EKG u on-line okolini zamjenjuje tehničko osoblje u zadacima kao što su postavljanje radnih točaka i kalibriranje opreme, određivanje protokola ispitivanja, automatski zapis signala EKG, automatski zapis ostalih signala kao što su krvni tlak i respiratorni parametri, te automatsko generiranje sažetka interpretacije EKG-a za potrebe datoteke o pacijentima. Računalo ujedno trenutno detektira izrazite nenormalnosti u sustavu za zapis EKG-a (ispadanje elektroda, neispravan kontakt elektroda, pomak osnovne linije i st). Danas se na svjetskom tržiAtu mogu naći sustavi za automatsku analizu i dijagnozu elektrokardiograma. Ti se sustavi sastoje od procesnog računala, instru mentacije za sniIianje i konverziju signala i posebnih programskih modula. Poznati su takvi sustavi tvrtki Hawlett-Packard, IBM i Siemens. Na domaćem tržištu može se naći uredaj za analizu i interpretaciju signala EKG koji se zasniva na mikroprocesoru. Uredaj je rezultat viAegodiinje suradnje grupe iz Laboratorija za sisteme, automatiku i kibemetiku (Fakulteta za elektrotehniko, Ljubljana), tvornice Gorenje i ekipe liječnika Kliničkog centra u Ljubljani. Grupa se već vi§e od deset godina bavi istraživanjem i razvojem sustava za automatsku analizu, interpretaciju i dijagnozu EKG u testu opterećenja (L. Gyergyek, 1975, 1978).
7.2. HAAROVA TRANSFORMACIJA SIGNALA EKG
111
Obrada signala EKG uglavnom se temelji na dva opća pristupa. Prvi pristup je uvjetovan iskustvom liječnika kardiologa. Program računaia identificira u vremenskom prostoru fiziološki i klinički značajne parametre, kao Ato su valovi P, Q, R, S, T, nagib segmenta ST i drugo (sl. 7.2), te na temelju njih postavlja dijagnozu. Drugi pristup, koji se tek potvrđuje u širem krugu stručnjaka, zasniva se na primjeni matematičkih postupaka u analizi signala EKG (L. Gyergyek, 1977). U ovom ćemo poglavlju opisati metodu u kojoj se primjenjuje drugi pristup. Signal EKG se može iz vremenskog prostora pomoću neke transformacije presli kati u neki drugi prostor i tako se o njemu viAe doznati. Posebno su zanimljive . diskretne ortogonalne transformacije što ih upotrebljavamo za raspoznavanje nekih karakterističnih svojstava koja se u originalnoj funkciji (signalu) teAko nalaze (S. Ribarić, 1976). Za analizu i raspoznavanje karakterističnih točaka signala EKG upotrebljavamo Haarovu transformaciju zbog njezina važnog svojstva - lokalne osjetljivosti (A. Haar, 1910), (S. Ribarić, 1976).
7.2.
HAAROVA TRANSFORMACIJA SIGNALA EKG
Signal EKG snimljen je u skladu sa standardom za test opterećenja u laboratorijima za ergometriju (Thalassotherapija u Opatiji, Klinički center u Ljubljani). Frekventno moduliran signal EKG zapisan je standardnim magnetof0nom. Magnetofonska vrpca sa snimkom analizirana je na Fakulteti za elektroteh niko u Ljubljani. Analogno-digitalni pretvarač (10 bita) pretvara analogni signal u digitalni oblik. Frekvencija uzorkovanja je oko 800 Hz. Nakon izlučivanja šuma (V. Valenčič, 1974) i ekstrasistula, diskretni signal EKG transformiramo u Haarov prostor. Haarova transformacija se temelji na skupu Haarovih ortogonalnih funkcija l koje su definirane u intervalu [O, l):
1(0, O;
x) = l , J'Y(n)
I (n, k; x) =
-J'Y(n) ;
O�x� l
k l -<x -
2N-1
2"-1 --
2"
<x
2N
k
O gdje je:
n=1,2,3, . k = I, 2, ... ,2"-1 . .
n>O n=O.
Haarove funkcije za n= 1,2,3, ... i k=1,2, ...,2"-1 prikazuje slika 73 . . Ako su funkcije f(x) i .r (x) integrabiine funkcije u intervalu [O, 1), možemo funkciju f (x) razviti u red funkcija l:
7. PRIMJENA ORTOGONALNE HAAROVE TRANSFORMACIJE ...
112
,
I
xIO,O;.'
o
T XB,"xI
I
T XI3,2;.'
,
o
Xn.,;. ,
,
n D
, i'! XI2,'.xl
o
,
V'I X12. 2; XI
TX13,3;. 1
D , o
o
,
"2 XI3,4;x)
Sl. 7..3. Haaroo
2--1
"=1
1;=1
.
=
n o[] o
n o
o .
o
l, 2, 3
n o n, U
I(x)= L J'Y(x) L X (n, k) x (n, k; x) + X (O, O) x (O, O; x), gdje je
1
X (n, k) = JI(x)x (n, k; x) dx. o
Skup {X (n, k)} nazivamo Haarovom transformacijom funkcije I(x). Haarova transformacija pokazuje neka zanimljiva svojstva: koeficijenti X (O, O) i X ( l , l) su funkcije od I(x) su cijelom području definiranosti I(x). Koeficijenti ostalih Haarovih funkcija su funkcije od I(x) samo u 1/2, 1/4, 1/8, ... , područja definiranosti I(x). Funkcijama x(n, k; x), n> 1, prikazani su odredeni lokalni odsječci funkcije I(x) i zato ih nazivamo lokalnim fUDkcl,ama. Funkcije x (O,
O; x) i x ( 1 ,
l;
x)
su globalne funkcije.
Za diskretnu funkciju ft. izračunavamo Haarovu transformaciju Xt, na sl;ede-· ći način:
[X}]
[JI] �],
gdje je: [JI] Haarova transformacijska matrica, [Xt,] Haarova transformacija dis kretne funkcije ft., N broj diskretnih vrijednosti funkcije ft., odnosno Xt,. �] matrica diskretnih vrijednosti funkcije ft. (dimenzija za N x l ),
1
[HJ"'
I'[ II
1
1
1
-1
II
•
•
I'[
•
II 2
I'[ -I'[ -I'[
l! •
-2
•
•
II
•
•
• 2
• -2
II
•
II
•
•
II
-1
•
-1
•
-1
• I'[ -I'[ -I'[ •
• -2 II
•
• II 2
•
• •
-2
Sl. 7.4. Haarooa transformacija matrica za N =8
1 13
7.2. HAARO VA TRANSFORMACUA SIGNALA EKG
Slika 7.4 prikazuje Haarovu transformacijsku matricu za N = 8. Ako je N = 2", gdje je k cijeli broj, primjenom brze Haarove transformacije izračunavamo XN sa samo 2 (N -1) zbrajanja, odnosno oduzimanja (V. J. Rejchart, 1 972). Slika 7.5 prikazuje graf brze Haarove transformacije za N = 16. Grana u grafu izvučena pl,lnom linijom označava zbrajanje, a crtkana linije oduzimanje. Oznaka .fi nad punom linijom označava množenje s
.fi.
Fo
lo
F,
fl 12 ')
fi
fi
'4
fi {'l
{1
ls 16 17
I.
f'i
ho
1 ,2
f'i
f'i
f'i
f'i
f'i
i'I
vi
vi
y'i.
y'i.
f'i
lu 114
i'I
11 5
f'i .fi
f'i
f'i
111
f'i
f'i
f'i
19
iZ
f'i
f'i
f'i
vi
vi
f'i
Sl. 7.5. Graf brze Haarove transformacije za N
vi.
=
F2 F) F. Fs F6 F7 Fa F, FlO F l1 F 12 Fn F14 F1S
16
Za ilustraciju prikažimo računanje Haarove transformacije za funkciju koja ima N = 8 diskretnih vrijednosti: A, B, C, D, E, F, G, H. Na klasičan način računamo Haarove koeficijente, odnosno Haarovu transformaciju:
+A+B+C+D+E+F+G+H= X (O, O) +A+B+C+D -E -F -G -H = X (l , l) l
= -2X (2, 2
+A+B+C -D
l)
l
+E +F - G-H= 22X(2, 2) l
+A -B
= 2X (3, 1 ) l
+C-D
= 2X (3, 2) +E -F
l
= 2X (3, 3) l
+G -H=2X (3, 4).
1 14
7. PRIMJENA ORTOGONALNE HAAROVE TRANSFORMACIJE . . .
Za računanje Haarove transformacije na klasičan način za N = 8 potrebno je 2 (23 - 1)+21 (2:3 - 1 )+21 (21-1) = 24 zbrajanja i oduzimanja. Općenito, za raču nanje Haarove transformacije za N=2" potrebno je zbrajanja i oduzimanja: 2 (2k - l) +21 (2"-1 - 1) + . . . +2 "-1 (21- 1) = 2"·k. H. C. Andrews je prvi upozorio na postojanje brze Haarove transformacije (H. C. Andrews, 1 970). Brza Haarova transformacija, općenito, zahtijeva zbrajanja i oduzimanja samo:
21:+2"-1+ . . . +2=2 (2"-1). Primjer računanja brze Haarove transformacije za tablici 7.1 . Tablica 7.1. Prikaz
� .. o
::ot::
O A
1
A+B
N=8 (k=3)
prikazan je u
računanja brze Haarove transformacije 2 (A +B) +(G+D)
3 [(A +B) +(G+D)] + + [(E+F) +(G+H)] =X (O, O)
B
G+D
(E +F) +(G+H)
-[(E+F) +(G+H) }=X(1,1)
.p o
.a"
'a>
[(A +B)+(G+D)}-
G
E+F
(A+B)-(G+D)
D
G+H
(E+F) -(G+H)
E
A-B
F
G-D
G
E-F
H
G-H
1 =-jiX(2, l) 2 l =-jiX(2,2) 2 1 =-X(3, 1) 2 1 =-X(3,2) 2 1 =-X(3,3) 2
1 =-X(3,4) 2
Elemente u matrici Xt, (dimenzija N x l) nazivamo Haarovim komponenta ma. Kažemo da su Haarove komponente, izražene lokalnim Haarovim funkcijama X (n, k; x) za sve n> l , komponente istog razreda ako sadrže informaciju s intervala jednake duljine. Haarova komponenta r-tog razreda X (n, k) sadrži informaciju s intervala duljine 1 /2r (L. Gyergyek, 1 976), gdje je r = n - 1 . Svojstva Haarovih komponenata, kao što su lokalna osjetljivost i osjetljivost na promjenu nagiba izvorne funkcije, upotrebljavamo u analizi signala EKG. U radu Recognition and Analysis of BeG Signals (autori L. Gyergyek i S. Ribarić, 1 978) pokazano je da je sustav za raspoznavanje EKG-a J. Wartaka i J. Millikena (J. Wartak, 1 970) u stvari podsustav sustava za raspoznavanje u Haarovu prostoru.
7.3. RASPOZNAVANJE SIGNALA EKG
1I5
J. Wartak i J. Milliken upotrebljavaju prve diferencije li YI= Yj+ 1 - YI ; i = l ,2, ... , N, gdje je Yj+ 1 vrijednost signala EKG u točki Ci + 1 ), kao osnovu za sustav raspoznavanja. Haarove komponente najvišeg razreda rmax koje su definirane u području 1/2rmax intervala, te predstavljaju funkciju samo dviju diskretnih vrijednosti signala EKG, upravo su te prve diferencije (za N =25 6, rmax = 7). 7.3.
RASPOZNAVANJE SIGNALA EKG
Slika 7.6 prikazuje postupak analize i raspoznavanja u našem sustavu. Dis kretni signal EKG (N =256) transfonnira se u Haarov prostor. Skup Haarovih komponenata {�} je ulaz u "stroj za raspoznavanje". U stroju za raspoznavanje implementirani su sljedeći algoritmi: algoritam za određivanje osnovne - nulte razine signala (engl. base line), algoritmi za određivanje najvećeg pozitivnog i negativnog nagiba, algoritam za raspoznavanje valova: P, Q, R, S i T, algoritam za detekciju valova R - R', algoritam za određivanje koljena J, algoritam za određivanje intervala ST i nagiba segmenta ST.
"c--:.,
A
,,-
�ID konverzija
Diskretni signo!
EKG
Bru Hoorova trons formDCija
Dijagnoza u vremenskom prostoru
list s dijagnozom i ispisom parametrQ s grafičkim prikazom
Sl. 7.6. Postupak raspoznavanja signala EKG
Sustav, pored raspoznavanja kliničko značajnih parametara (valnih oblika i vremenskih intervala), daje dijagnozu na osnovi Lesterove dijagnostičke metode u testu opterećenja. Za Lesterovu metodu klinički su značajna samo dva parametra: nagib segmenta ST i depresija koljena J. Na osnovi ta dva parametra standardni odvod CM5 (u testu opterećenja) signala EKG-a klasificira se u tri razreda: normalni, granični i nenormalni. U ovom ćemo poglavlju opisati algoritme za određivanje najvećeg pozitivnog i negativnog nagiba, algoritam za raspoznavanje kompleksa QRS, vala T, koljena J i nagiba segmenta ST. Kompleks QRS, odnosno njegov karakterističan val R (sl. 7.2), računalo raspoznaje tako da prvo nađe točke najvećeg pozitivnog, odnosno negativnog nagiba (S. Ribarić, 1976). Algoritam za traženje najvećeg pozitivnog nagiba ima sljedeći oblik:
116
7. PRIMJENA ORTOGONALNE HAAROVE TRANSPORMACIJE . . .
1.
2.
Odredi Haarovu komponentu X ( 5, ,..), koja sadrži informaciju o šesnaest vremenskih uzoraka signala EKG takvu da vrijedi:
X ( 5, ,..) = max X ( 5, ,), i= I, 2,...,16. Haarovu komponentu X (6,r), koja sadrži informaciju
o osam
j=2," -1,2,", gdje je i· indeks za koji je ispunjen uvjet u 1. koraku. Odredi Haarovu komponentu X(7, k·), koja sadrži informaciju
o četiri
Odredi vremenskih uzoraka signala EKG, takvu da vrijedi:
X(6,J")
3.
4.
max X (6,]),
vremenska uzorka signala EKG, takvu da vrijedi:
X(7,k·)= max X(7,k), k= 2j· -1,2j·. Haarovu komponentu X (8, [), koja sadrži informaciju
Odredi vremenska uzorka signala EKG, takvu da vrijedi:
o dva
X(8,1*) = max X(8,[), 1=2k· -1,2k·. Haarove komponente X(8, l), X(8, 2), ..., X(8, 128) su u stvari prve diferencije pomnožene faktorom 8 J2 (u skladu s definicijom Haarovih funkcija). Haarova komponenta X(8, m) sadrži informaciju o uzorcima signala EKG u vremenskom prostoru indeksima 2m -l i 2m. Neka je l· vrijednost gdje je Haarova komponenta X (8, l·) = max. Interval (u vremenskom prostoru) koji odgovara mjestu najvećeg pozitivnog nagiba je 21· -1,21·. Na sličan se način određuje točka najvećeg negativnog nagiba, samo se umjesto maksimuma Haarovih komponenata traži minimum. Točke najvećeg pozitivnog i najvećeg negativnog nagiba određuju položaj vala R on se nalazi između njih. Amplituda vala R izražena u mV određuje se u vremenskom prostoru:
Jfi;(tR)= max�(ti) ; tj= t", tp+l,...,tIJ,
gdje je tIJ indeks uzorka signala EKG koji odgovara točki najvećeg negativnog nagiba, odnosno tp indeks koji odgovara točki najvećeg pozitivnog nagiba ( tp= 21* l). Koljeno J važan je klinički parametar na kojem se zasniva Lesterov dijagno stički postupak. Ono je definirano kao točka koja odgovara kraju depolarizacije, odnosno kraju kompleksa QRS. Takva definicija se temelji na obliku akcijskog potencijala u ventrikulama. Nju je potrebno prevesti u jezik mčunala. Primijenit ćemo definiciju koljena J danu u literaturi (L. Gyergyek, 1974): koljeno J u signalu EKG je prva promjena nagiba segmenta ST nakon vala S (sl. 7.2). .
U Laboratoriju za sisteme, automatiku i kibernetiku ispitali smo metodu za određivanje koljena J koja se temelji na traž.enju unaprijed propisane promjene nagiba aproksimiranog pravca ST, gledano sa strane vala T natrag prema valu S (sve to u vremenskom prostoru). Ta metoda nije dala zadovoljavajuće rezultate (L. Gyergyek, 1974) zbog postojanja slučajnog šuma, diskretnih razina kvantizaci je i problema koje dijelove krivulie u EKG-u treba aproksimirati pravcima. Slika 7.7 prikazuje različite oblike koljena J, te utjecaj šuma i razina kvantizacije. Raspoznavanje koljena J pomoću Haarove transformacije izvršava se uz dva uvjeta:
7,J, RASPOZNAVANJE SIGNALA EKG
117
� , .:.........:."".1.:. .� o
\ .
o
o
.
,
_--: -, �
�
J
T"" l\ i- -
ss
..
g "i
Sl, 7.7. Različiti oblici koljena'y • •
raspoznavanje neka bude potpuno automatsko (ne treba mijenjati para metre programa za svaki EKG), za određivanje koljena J potrebno je propisati kriterij koji će, zbog raznolikosti oblika koljena (sl. 7.7), biti nezavisan od njegova oblika. R
Sl, 7.B. Segment ST u obliku okrenutog slova U
Analizom različitih primjera EKG-a utvrdili smo da ako se točka F pomakne dovoljno daleko od vala R prema valu T (sl. 7.8) pada na dio spojnice ST-T, odnosno na segment ST. Ako je segment u obliku obrnutog slova U (sl. 7 . 9), to ne utječe na točnost određivanja koljena J jer se točka F nalazi još uvijek na lijevom dijelu krivulje. Eksperimentalno smo ustanovili da taj položaj točke F odgovara udaljenosti od oko 55 ms od točke maksimalnog negativnog nagiba. Postupak određivanja koljena J je sljedeći: l) U prvom koraku raspoznavanja koljena J upotrebljavamo Haarovu kompo nentu koja sadrži informaciju o šesnaest vremenskih uzoraka. Ta je Haarova
118
7. PRIMJENA ORTOGONALNE HAAROVE TRANSFORMACIJE ...
R
R XIS.n·-21
XI5.n· -H X15. n·1
NN
144
1211
XI5.n·J -XIS.n· -lj <e,
XI6.H-XI6.J-1I<e2
X/5.n· -1t-XIS.n·.;zI>e,
XI6.j-11-XI6.J -2I > 92
R
R
XI7.m-11
XI8.I-ll
X17.ml
X1 8.11
NN
104
X17. ml-XI7.m-11 >e3
XI8.iI-XI8.i -11 >94 Koljeno J hnterval 102-1031
Sl. 7.9. Određwanje položaja koljena J
komponenta s takvim indeksom da je među šesnaest vremenskih uzoraka i uzorak koji odgovara položaju točke F. Indeks t n uzorka signala EKG koji odgovara točki najvećeg negativnog nagiba određen je pomoću Haarovih komponenata. Haarova komponenta s informacijom o šesnaest vremenskih uzoraka među kojima je i ft.(tJ jestX (5, n), gdje je X(S, n) =minX(S,
rt'
odnosno n=_n_, gdje
16
r
,
t),
i=l , 2, " ,, 1 6,
označava gornju vrijednost (cijeli broj).
Točka F pada u vremenski uzorak s indeksom
tp= tn +
:�
' gdje je SEMP S P vremenska udaljenost između dva uzorka (ms) i zavisi od frekvencije uzorkovanja. Indeks Haarove komponente X(S, n*) koja sadrži informaciju o šesnaest vremenskih uzoraka među kojima je i ft. (tp) jest:
1 19
7.). RASPOZNAVANJE SIGNALA EKG
2) Usporedbom Haarovih komponenata X(5, k), k=n·, n· l , , n određu jemo šire područje u kojem se nalazi koljeno J. Pri tom se interval traženja pomiče od točke F prema valu R. Izračunavamo razlike Haarovih komponenata: . . .
IX(5, n·) -X(5, n· -1)1 IX(5, n·-l) -X(5, n·-2)1 Apsolutnu razliku uspoređujerno sa zadanim pragom el' Ako je razlika veća od praga, uzimamo Haarovu komponentu višeg razreda X(6, D, s tim da je indeks j određen sa gdje je (n· -I) vrijednost u izrazu IX(5, n·
1)-X(5, n·-i-l)l>e!.
3) Ponovo tvorimo razlike, ali sada Haarovih komponenata razreda višeg za jedan (Haarovih komponenata koje sadrže informaciju s intervala širine osam vremenskih uzoraka): IX(6,J)-X(6, j-1)1 IX(6, j
l ) -X(6, j-2)1
Kada ustanovimo da je jedna od razlika veća od praga e2, uzimamo Haarovu komponentu razreda koji je opet viši za jedan i ponovno računamo razlike. Postupak se nastavlja sve dok se na dva uzorka točno ne odredi"interval na kojem se nalazi koljeno J. Tablica 7.2.
Vrijednosti pragova i
ej
ej
1
70
2
25
3
15.9
4
11.3
Pragovi el' e e3, e4 određeni su eksperimentalno (S. Ribarić, 1974) uz � pomoć signala EKu iz skupa za učenje (Elektrokardiogram, odvod CM 5, 78 pacijenata). Tablica 7.2 daje vrijednosti pragova el do e4• Slika 7.9 prikazuje način određivanja koljena J. Kada se utvrdi položaj koljena J u Haarovom prostoru, taj se položaj preslikava u vremenski prostor. Pomak koljena J u odnosu na nultu razinu signala jest srednja vrijednost uzoraka u okolini točke J (oko 5 ms u vremenskom mjerilu).
Određivanje nagiba segmenta ST Segment ST je spojnica između kompleksa QRS i vala T. kazličite bolesti prouzrokuju promjene na segmentu ST: promjene razine i promjenu nagiba.
7. PRIMJENA ORTOGONALNE HAAROVE TRANSFORMACIJE . . .
120
Nagib i položaj segmenta ST važni su za dijagnosticiranje mnogih bolesti (lezija, perikarditis, subendokarni infarkt) (M. J. Goldman, 1973). Po�etak segmenta ST definiran je krajem kompleksa QRS (koljeno J), dok je kraj segmenta definiran početkom vala T. Vrijeme trajanja segmenta ST zavisi od frekvencije otkucaja srca. Ako propišemo fiksno trajanje segmenta ST, možemo načiniti pogrešku pri određivanju nagiba (sl. 7.10) jer tada val T utječe na nagib segmenta ST. Ako skratimo interval i dodijelimo mu čvrstu vrijednost, gubimo . informaciju o duljini segmenta, a ona je važna za dijagnosticiranje ishemije.
Sl. 7.10. PogreIka u određivanju nagiba spujnice ST u sJulaju fiksnog
wemena
trajanja
Problem smo riješili tako da smo propisali interval od 75ms i uveli kontrolu trajanja tog interv:ala. Ona se provodi tako da se pomoću Haarovih komponenata koje sadrže informaciju o šesnaest vremenskih uzoraka traži početak vala T, i to po jednakom kriteriju (prag e,!), kao pri traženju koljena J. Ako računalo na raspoznaje početak vala T, uzima se interval 75ms kao vrijeme trajanja segmenta" jer je utjecaj vala T na nagib ST vrlo malen, tako da je pogreška u određivanju nagiba zanemarljiva. Ukoliko računalo registrira početak vala T koji se nalazi unutar intervala 75 ms, skraćuje se trajanje segmenta ST. Na taj način dobivamo dinamičku zavisnost trajanja segmenta ST od frekvencije srca, odnosno oblika EKG-a. Na tako određenom intervalu nagib segmenta ST određujemo na dva načina: aproksimacijom segmenta ST optimalnim pravcem u odnosu na srednju kvadrat nu pogrešku i pomoću Haarov'ih komponenata koje su definirane na tom intervalu.
7.4.
LBSTEROVA DIJAGNOSnčKA METODA
Lesterova dijagnostička metoda, koju upotrebljavamo kao jednu od modula za obradu signala EKG u testu opterećenja, razvrstava elektrokardiograme u tri razreda: normalni, nenormalni i granični. Osnova za to razvrstavanje su dva klinički važna parametra: nagib segmenta ST i depresija koljena J. Slika 7.11 prikazuje kriterije razvrstavanja EKG-a poLesterovo; metodi. Slika 7.12 prikazu je primjere izlaznih lista računala s rezultatima analize kompleksa QRS, valova P, Q, S, T iLesterove dijagnostične metode. Liječnik s ulaznom listom dobiva i grafički prikaz signala EKG s ispisom indeksa vremenskih uzoraka.
7.4.
121
LESTEROVA DIJAGNOSTICKA METODA
.. 6 ;;::
ES ,..: "'4 E :;;3 E
�2
i z'
Or-
��E-----------------------
____
oo,
-2
BGlestan
-3 -,
o
-2
-3 -4 -S [mm] Depresija IIOI/ena J
Sl. 7.11. Kriterij za raZ'f!rstauanje EKG po LesterOfJoj metodi
Taj povećani grafički prikaz signala može mu poslužiti za provjeru dijagnoze koju je dalo računalo. •
lJ t:.
ll! ...; g -2 '" :g .>< d
:�
�
-1
t:. .
e-
o
o
.
�
A
Ocjena lijelnika
Hoorovo. transformacija Metoda ('2')
t
!:.
t:. o
A .
A o
.
A
CI.
'"
&
CI
o
2
3
4
S
(,
I
I
I
7
8
9
I
I
10
"
I
12
..
N testova.
Sl. 7.13. Usporedba rezullata u odredifJanju depresije koljena J
•
',4
o A
�
D A
� O, 8 '"
�O,4 z
0,2
-0,2
liječnIku � o
A
',0
0 (' i .. ,
Otjeno
Hoarovu tra.nsform(l(ija.
A H!ta.dIl [12]
o
.
11',2 ...,. '"
o
D
tt.
� A
.
A
o
t:.
o
2
4
5
6
D 8
o
9
10
N testova.
Sl. 7.14. Usporedba rezultata u odrediuanju nagiba segmenta ST
Sustav za automatsku analizu i dijagnozu signala EKG razvijen je i ispitan na računalu PDP 11/40, dok su kao ulazni podaci upotrijebljeni filtrirani i digitalizi rani signali EKG koji su dobiveni pomoću maloga procesnog računala HP 2116,
122
7. PRIMJENA ORTOGONALNE HAAROVE TRANSFORMACIJE ...
ANAL rSIS AND RECOGNITION ECQ
TAPE NO N"I'IE S3
6/S QRS CO"PLEX RECOGNITION
POSITION OF STEEPEST NEGATIVE SLOPE
131
WIDTH OF QRS CONPLEX A"PLITUDE OF R WAVE J POINT INTERVAL POINT DEPRESSION J ST SLOPE R-R1 WAVE
68.400MSEC 9.417l'1l'I 137- 135 -1I.7'8MM '.282I'1V/SEC ....EXISTS
Q WAIIE RECOGNITION AIWLlTUDE PEAK POSITION START END IiIDTH
-11.6671'1" 1.4 97 104 12.611111'1SEC
P WAVE RECOGNITlOft AlWLlTUDE PEAK POSITION START END WIDTH
1.4171'11'1 52 21 73 93.6OOIISEC
S WAVE RECOGIIITION S WAVE IS NOT SIGNIFICANT T WAVE RECOGNITION ANPLlTUDE PEAK POS ITION START END WIDTH
-1.5"1'1" 222 177 248 127.81I11'1SEC
BASE LINE RECOGNITION NN INTERVAL VALUE OF BASE LINE t•
TESTER OlAGNOSIS "ETHOD •
\1
90RDERLINE PQ INTERVAL••••••••• •••• • • 136.81I1I'1SEC ST INTERVAL............... 75.60f1I'1SEC QT INTERVAL • •••••••••••••• 271.8'III'I SEC Q/RRATIO.................. -'.'71
73-
811
191....
123
7.4. LESTEROVA DIJAGNOSTICKA METODA
ANALYSIS AND RECOGNITION ECQ
NAME
TAPE NO
TEST 521178
S 2
QRS COMPLEX RECOGNITION POSITION OF STEEPEST NEGATIVE SLOPE
131
WI DTIi OF QRS COI'IPLEX AMPLITUDE OF R WAVE J POINT INTERVAL POINT DEPRESSION J ST SLOPE R-R1 WAVE
118.se'MSEC 9.448.... 157- 155 -'.538111 '.863MV/SEC ••••ABSENT
Q WAVE RECOGNITION
IZ:
'
-1.635"" 1.2 89
AMPLITUDE PEAK POSITION START END WIDTIi
••
1.9 36 ....MSEC
P WAVE RECOGNITION AMPLITUDE PEAK POSITION START END WIDTH
..
..
,. .. .. ..
.. ..
,.
2.115MM
..
46
...... .. .... � oo .. ..
17 81 115.2HMSEC .. .. .......... .. .... . ....................
OI .......... .. ......
S WAVE RECOGNITION AMPLITUDE PEAK POSITION
...... .. .. .. ..
..
" ..
..........
.. ..
1 . 969l1li
-
152
.. ....
T WAVE RECOGNITION AMPLITUDE PEAK POSITION START END WIDTH
.... .. .... .. ........ ..
..
................
...... .. ............ ................... .. .. ...... .. ..........
1.6981'1f11 223 193 244 91.8HltSEC
BAse LINE RECOGNITION NN INTERVAL VALUE OF BASE LINE
81- 88 169.625
LESTER DIAGNOSIS METHOD NORMAL PQ ............... 129.6e'MSEC ST INTERVAL............... 68.441.MSEC QT INTERVAL••••••• •••••••• 279._MSEC Q/R RATIO.............. ••• ..173
Sl. 7.12. Primjeri izlaznih lista računala s rezultatima
na
analiza i dijagnozom
7. PRIMJENA ORTOGONALNE HAAROVE TRANSFORMACIJE ...
124
Sustavom smo analizirali elektrokardiograme više od 60 pacijenata u testu optere ćenja. Na slici 7.13 i 7.14 prikazana je usporedba rezultata dobivenih interpretaci jom liječnika, primjenom Haarove transformacije i računalske dijagnoze u vre menskom prostoru (V. Valenčič, 1975, K. Turkulin, 1980). a �
8.
170
lIaarOftI transfllnlal:1ja. H.1adG112J
t;. e
160
t;. e
·2
4
6
8
W tl
� � � � N t.stOYQ Sl. 7.J5. UstxJredba rezultata odredivania nulte razine (nivoa) NN
7.5. LITERATURA C. A. Caceres, The Case Against Electrocardiographic Automation, Computer, Vol. 6, N°. 7, juli 1973, str. 15-21. M. L. Simoons et al., On-Line Analysis of Exercise Electrocardiograms, Vol. 8, N°. 7, juli 1975, str. 42 -45. H. Blackburn u djelu: Measurement in Exercise Electrocardiography, 'The Ernst Simonson Conference, Springfield, Ill., Charles C. Thomas, 1969. L. Gyergyek, Procesiranje in razpoznavanje elektrokardiograma, Fakulteta za elektrotehniko, Ljubljana, znanstveno-istraživački zadatak za SBK, Ljubljana 1975. L. Gyergyek et al., Pregled dejavnosti skupine Fakultete za elektrotehniko v Ljubljani na podroiju analize in razpoznavanja signaloo EKG, Elektrotehniški vesnik, Vol. 45, N°. 5, Ljubljana, str. 197- 199. L. Gyergyek, N. Pavešić, S. Ribarić, Use of Fast Haar Transfarm and Shannon's Theory of Information in ECG Diagnosis According to Lester Method, Computers and Mathematical Models in Medicine, Lecture Notes in Medical Informatics (ed. D. A. B. Lindberg), Springer-Verlag, Berlin, 1977, str. 5-23. S. Ribarić, Magistrska naloga, Fakulteta za elektrotehniko, Ljubljana, 1976. A. Haar, Zur Theorie der Orthogonalen Funktionesysteme, Math. Ann, Vol. 69, 1910, str. 3 1 1-371. V. Valenčič, ]. K. Tront� , L. Gyergyek, K. Turkulin, Analysis Recognition, and Diagnosis of Electrocardiogram, 3 Conference on Bioengineering, Budapest, 1974. V. ]. Rejchrt, Signal Flour Graph and Fortran Program for Haar-Fourier Transform, IEEE Trans. on Computers, septembar 1972. L. Gyergyek, S. Ribarić, N. Paveiić, on the Use of Haar Transform for ECG Recognition, l . Jahrestagung Osterreichische Gesellschaft fUr Biomedizinische Technik, Graz, maj 1976, str. 7 1-76. L. Gyergyek, S. Ribarić, Recognition and Analysis of ECG Signals, Proceedings of the DECUS 78. J. Wartak, J. Milliken, J. Karehmar, Computer Program for Pattern Recognition of Electrocardiograms, Computer and Biomedical Research, 4, 1970. H. C. Andrews, W. K. Pratt, Digital Image Transform Processing, Proc. 1970, Walsh Functions Symposium. L. Gyergyek, Računališka diagnoza elektromiograma in elektrokardiograma, Poročilo znanstveno-raz iskovalne naloge, što pogodbe 124, SBK, Ljubljana, 1974. S. Ribarić, Diplomsko delo, Fakulteta za elektrotehniko, Ljulhljana, 1974. M. J. Goldman, Principles of Clinical Electrocardiography, 8 Edition, Lange Lange Medical Publications, Los Altos, 1973. 1h M. J. Goldman, Principles of Clinical Electrocardiography, 8 Edition, Lange Medical Publications, Los Altos, 1973. V. Valenčič, Magistrska naloga, Fakulteta za elektrotehniko, Ljubljana, 1975. K. Turkulin, et al., Automatska analiza elektrokardiograma u opterećenju, Međunarodni simpozij Neinvazivne metode, Dubrovnik, april 1980. •
.
8.
SUSTAV ZA RASPOZNAVANJE BROJCANO-SLOVNm ZNAKOVA
(Prof. dr. Ludvik Gyergyek, dipl. ing., prof. dr. Nikola Pavešić, dipl. ing., prof. dr. Slobodan Ribarić, dipl. ing.)
8.1. UVOD U posljednja dva desetljeća ulažu se veliki napori u istraživanje, razvoj i primjenu metoda i tehnika raspoznavanja znakova. Od jednostavnih sustava u prošlosti za raspoznavanje nekoliko strojno tiskanih znakova, današnji sustavi su se razvili u vrlo složene "inteligentne" sustave za raspoznavanje rukom pisanih znakova (na primjer, cijelog skupa znakova za programski jezik FORTRAN).
8. 1):
Takvi sustavi raspoznaju širok spektar rukom pisanih znakova i simbola (sl. •
brojčane znakove,
•
brojčano-slovne znakove,
•
skup znakova i simbola viših programskih jezika, Katakaha·znakove i dr.
•
Razvoj sustava za raspoznavanje koji su potpomognuti bazama znanja i mehanizmima zaključivanja smanjit će jaz između čovjeka i stroja i povećati mogućnosti njihova izravnijeg saobraĆ8flja (T. Kanade, 1 983). Upravo takva težnja je izražena u sustavima računala pete generacije. Njihova osnovna značajka je primjena umjetne inteligencije i raspoznavanja uzoraka u što izravnijem komu niciranju s računalom (S. Ribarić, 1 983, E. K. Yasaki, 1 982). Tipičan sustav za raspoznavanje znakova ili, kako se jednostavno naziva, optički čitač (engl. Optical reader) sastoji se od sljedećih funkcionalnih dijelova (sl. 8.2): • • • • •
optičkog skanera (pretražnika) ili jedinice za unos i digitalizaciju slike, podsustava za lociranje i segmentiranje znakova, pretprocesora, podsustava za izlučivanje osnovnih značajki, podsustava za razvrstavanje (klasifikaciju).
126
8 )\ , i
s
8.
SUSTAV ZA RASPOZNAVANJE BROJUNO·SLOVNIH ZNAKOVA
r
9
�
J
J
I'
,.
k
7
1
7
)"
'7
b
�
o
"
G
s-
$'
:;
s-
q
q
q
q
't
a
8
8
8
�
7
�1'
'7
'1
7
b
6
G
,
6
t-
s-
s
t
..t-
!s-
9 f
l.,
if
.f.
lt'.
4-
ft
4-
tt
4-
tl-
lJ..
�
3
3
3
.3
.s
.3
3
"
.a
3
..}
cl
2
l
'"
2.
2
Z.
7v
2
J..
1
1
!
l
1
1
I
,
1
i
,
o
o
()
4
o
�
D
o
o
p
o
D123�56ZK 8 'BC IJE F G"HI
al
O1234-5678Q ABCDEFGHI JKLMNoPQR STUVWXY� c)
bl
7t-T'::'X=f/I\t:
7'\*Y�b.j.=c-r �371)JI,.tI/D77
KI.MNOeGE2S [1 SZ W XY;Z
7-1?I�:tJ:t:7'T :J -iJ� A t '}� T \?
O123't567gQ dl
:;
\\ o
_
�)
Sl. 8.1. Primjeri ulaznih :makova za StUl4Ve raspoznavanja: a) Primjeri broj&Jnih znakova napisanih rukom b) Broj&Jno-slmmi :makllĐi (američki uandard) e) Broj&JM-slWlli :enakooi (japamJei sta.l'Ulllrd) d) Brojčani :maIu1vI' (kanadski standard) e) Katakana-znaktNi (japanski nandard)
127
8.1. UVOD
,--- -- - - --- --Računalo - -- --- -- -- --- - l ". I I
I
I I L
Ulaz
lociranje i segmentacija znakova
Raspoznavanje i donošenje odluke
L--_-----' _ _____
____ _
Digitalizacija
Znakovna matrica
Glađenje. filtriranje i normalizacija
Podudaranje
I
I I
......J
Razred znakova
Sl. 8.2. Funkcionalna blok-shema sustava za raspoznavanje znakova
Zadnja četiri bloka tipičnog optičkog čitača obično su izvedena pomoću računala. Ulaz u sustav za raspoznavanje je rukom napisani znak ili simbol. U fazi razvoja, ispitivanja i provjere ttspješnosti sustava istraživači se obično služe već standardnim skupovima uzoraka (tzv. bazama podataka). Na primjer, Munsonova baza podataka sastoji se od 46 znakova i simbola programskog jezika FORTRAN II i ima 12 760 uzoraka, od kojih je više od polovine dobiveno izravno od 49 korisnika računala. Highleymanova baza podataka sastoji se od 36 brojčano -slovnih znakova, odnosno od l 800 slova i 500 brojeva. Znakovi su napisani u predviđena pravokutna okna i to olovkom tvrdoće HB (c. Y. Suen, 1980). Rukom pisani znakovi i simboli se optičkim skanerom digitaliziraju i unose u sustav za raspoznavanje. Znak simbol je obično u digitalnom obliku prikazan binarnom matricom1). Dimenzije matrice su različite, od 12 x 12 slikovnih elemenata (High leymanova baza podataka) od 24 x 24 (Munsonova baza podataka) ili 64 x 52 slikovna elemenata (T. Sepešy, 1975). Svaki ulazni uzorak se locira i segmentira. To se izvršava računalom uz pomoć programske podrške. Izlaz iz podsustava za lociranje i segmentiranje znakova (matrica znaka) upućuje se pretprocesoru. Pretprocesor gladi matricu (popunjuje prekide i rupe u linijskim segmentima), izlučuje šum (na primjer šum "salt-and-pepper") i normalizira uzorak (Uklanja utjecaj povećanja, rotacije uzorka i sl.). Značajke bitne za postupak razvrstavanja izlučuju se u podsustavu za izlučivanje. Podsustav za razvrstavanje klasificira uzorak u jedan od razreda na temelju njegovih značajki. Razvrstavanje se obično temelji ili na primjeni funkcija odlu čivanja ili na sintaktičnim metodama (S. Ribarić, 1982). Tehnike raspoznavanja rukom pisanih znakova i simbola zavise od izabranih značajki, načinu njihova izlučivanja i do primijenjenih shema razvrstavanja. Tehnike raspoznavanja prema osjetljivosti na izobllčenje uzorka u pr� tlčnoj izvedbi (c. Y. Suen, 1980) mogu se podijeliti na one u kojima se upotrebljavaju: globalna svojstva uzoraka, raznolikost distribucije slikovnih elemenata, geometrijska i topološka svojstva uzoraka. ') Matrica koja ima elemente O i I.
128
8. SUSTAV ZA RASPOZNAVANJE BROJCANO-SLOVNIH ZNAKOVA
Izobiličenja slike uzorka nastaju zbog: a) luma koji ima za posljedicu prekid linijskih segmenata, procjepa u linijama, mrlje i zapunjene . lukove ili nepotrebno povezane linijske segmente, b) izobličenja uzorka lokalne promjene u uzorku, kao što su zaoblje nost kutova, izbrisani ili stanjeni linijski segmenti i sL, c) promjene u stilu pisanja uzorka različito pisanje crtica na znakovima (7, 1) ili koso pisanje znakova, d) translacije - pomaci cijelog znaka ili njegovih dijelova, e) rotacije - promjene u orijentaciji znaka. -
Sum se u sustav unosi optičkim skanerom a nastaje zbog pogreške u sustavu, površine na kojoj se znak upisuje ili unosi sredstvom za pisanje. Izvor izobličenja uzorka i promjene u stilu je sam čovjek - pisac znakova. Translacija i rotacija uzorka može nastati. dvojako: zbog pisanja znakova ili kao posljedica svojstva mehaničkog dijela sustava.' Praktična izvedba tehnike raspoznavanja odnosi se na sljedeće faktore; to su: a) način generiranja maski za razvrstavanje, odnosno da li je lako automatski generirati maske koje odgovaraju svakom razredu znakova i na temelju njih razvrstavati nepoznati uzorak, b) brzina razvrstavanja znakova, c) složenost tehnike, d) nezavisnost tehnike. Postupak uspješno razvrstanih uzoraka je za različite sustave i za različite ispitn� uzorke u granicama od 70% do 100% (L. D. Larmon, 1972; C. Y. Suen, 1980). Uobičajene tehnike u kojima se upotrebljavaju globalna svojstva uzorka jesu podudaranje maski (engl. template matching), korelacije i transformacije. Transformacije (npr. Fourierova, Walshova, Haarova, Hadamardova) upotreblja vaju se za redukciju količine podataka i izlučivanje značajki koje su invarijantne prema nekim globalnim deformacijama (npr. prema translaciji i rotaciji). U jednom razredu tehnika koje reduciraju diri:tenzije značajki upotrebljava se statistička raspodjela slikovnih elemenata ulaznog uzorka. Različiti tipovi raspo djele odgovaraju različitim tehnikama raspoznavanja. Tehnike "razbijanja" ulazne slike u zone i procjene gustoće slikovnih elemenata u tim zonama omogućavaju razvrstavanje uzoraka. U taj razred tehnika spada i primjena momenata slikovnih elemenata znaka s obzirom na izabrani koordinatni sustav. Zanimljiva je i primje na n-torki u raspoznavanju!), primjena presjecišta linijskih segmenata i mjere udaljenosti.
��� }bJ4>� +� 8 .; " \I"r\)(
Sl. 8.3. Neka topološka i geometrijska svojstva uzoraka ') Vidi poglavlje 14.
129
8.1. UVOD
U tehnikama što se temelje na izlučivanju značajki koje opisuju geometrijska ili topološka svojstva iskorištava se Činjenica da su ta svojstva neosjetljiva na izobličenja i promjene u stilu pisanja. Neka topološka i geometrijska svojstva koja se upotrebljavaju u tim tehnikama prikazana su na slici 8.3 (linije i lukovi, krajnje točke, presjecišta linijskih segmenata, oblici). Tablica 8. 1 prikazuje usporedbu različitih tehnika s obzirom na njihovu osjetljivost prema izobličenju slike i pogodnosti za praktičnu izvedbu tehnike raspoznavanja. Tablica 8.1.
Usporedba načina raspoznavanja v
Kriterij
Neosjetlji vost na izobličenje slike
OI)
·s OI)
..s := .... fil OI)
c:: OI)
..s
::::;"
�
u!
El
� :c
N -
j:I.,
5 E!::
Podudaranje s maskom
+
o
-
Transformacija
-
+
Područja
-
Momenti
..s
::;a (.)
..s o �
-
+
o
o
Momenti n -torke SjeciMa i udaljenosti
Način raspoznavanja
o
.S' o
Jednostavnost izvedbe
OI)
.§ ...
:g ..s
..s
.�
.... fil
o c::
OI) ON
.... fil
o c:: .� >
::!:
...
C:Q
o til
Z
-
+
-
o
-
+
+
o
-
-
o
-
-
o
-
+
+
-
o
-
+
+
o
-
o
-
o
-
o
-
o
-
+
+
o
-
+
+
+
o
-
+
+
-
-
+
+
+
o
-
+
o
+
::s
lei)
...
....
!3
OI)
Globalna svojstva uzoraka
Distribucija slikovnih elemenata
Geometrijska i topoloIka svojstva + o
veliko iIi lako malo ili telko srednje
13 0
8. SUSTAV ZA RASPOZNAVANJE BROJCANO·SLOVNIH ZNAKOVA
U ovom poglavlju opisat ćemo tehniku raspoznavanja u kojoj se upotrebljava ju globalne značajke i koja se temelji na Fourierovoj transformaciji. Sustav je razvijen na MIT-u (G. H. Graniund, 1972). Na temelju originalnog rada G. H. Granlunda jednak sustav je razvijen i ispitan u Laboratoriju za automatiku i kibernetiku (Fakulteta za elektrotehniko, Ljubljana) 1975. godine. Sustav je upotrijebljen za razvrstavanje rukom pisanih slova i brojki: (A, B, e, e, e, D, Đ, E, F, G, H, I, J , K, L, M , N, 0, P, Q, R, S, S, T, U, V, W, z, 2:, Y, X; O, 1 ,2,3 , 4,5,6, 7 , 8, 9).
8.2. KONFIGURACIJA SUSTAVA ZA RASPOZNAVANJE Slika 8.4 prikazuje komponente sustava za raspoznavanje pomoću kojeg smo ispitali metodu G. H. Granlunda. Uzorci su napisani na posebnim bbrascima (sl. 8.5) i pomoću televizijske kamere se unose u sustav. Jedinica za digitalizaciju ima UlO Cf _i ,--_ ...,,
t
�
....J
_
---
Rolunolo (DC - CYBER 72174
Bušena papirna nIKa
Sl. 8.4. Komponente sustava za raspoznavanje
na raspolaganju tri dimenzije matrica: 16 x 12 ,32 x 16 i 64 x 52 elementa. Iako su standardne matrice dimenzije 24 x 24 (Munsonova baza podataka) ili 12 x 12 (High1eymanova baza podataka), odlučili smo se za matricu dimenzija 32 x 16 iz sljedećih razloga (T. Sepešy, 1975): iskustva s raspoznavanjem numeričkih znakova s matricom dimenzija 16 x 12 pokazala su da je relativna pogreška u raspoznavanju ispitnih brojki velika (pogl. 9), pri raspoznavanju slova imamo tri puta više razreda uzoraka, uzorci slova iz različitih razreda međusobno su sličniji negoli oni kod brojki. Pomoću međusklopa digitalni se podaci prikupljaju u procesno miniračunalo HP 21 16 e. Izlaz iz miniračunala je digitalizirana slika, opisana sa 256 sivih razina i zapisana na perforiranu papirnu vrpcu. Ti su podaci ulaz za daljnju obradu računalom eDe-CYBER 72/7 4. Za potrebe eksperimenta upotrijebili smo bazu podataka od trideset i jednog razreda po 7 uzoraka (ukupno 217 uzoraka za slova) i deset razreda, svaki po 15 uzoraka (ukupno 150 uzoraka za brojke). Ugađanjem jedinice za unos podataka i brižljivim izborom osvjetljenja i praga binarizacije
8.2.
KONFIGURACIJA SUSTAVA ZA RASPOZNAVANJE
131
Sl. 8.5. Obrasci za upis .uzoTaka
dobiveni su kvalitetni uzorci (digitalizirane binarne slike; sl. 8.6), tako da je faza pretprocesiranja izostavljena (izlučivanje šuma, popunjavanje linijskih segmenata i slično).
132
8. SUSTAV ZA RASPOZNAVANJE BROJCANO-SLOVNIH ZNAKOVA
.,(:1,0: u : I(I(I(XI II " II: '( . ' ( ( I[ ( I( II:I.'X
xx, 1]11 IC
nu '" :t1U
U '(
1( 11 '( 11
)( .(]I:
X I[ X
X X .(
XXU
:tI .(
lXI
XX,
,xx X,U
xa:.(
xx, .XUXIIX'(1f
UX
. '( '(1[ ,( I['( X '(I[ U XXA:"'.(
If X '( X U '('f'.C X 1If lf A: l l lf "( '
'( '.C IC 1 U X '( U X
lI C U
)11[ ".(
1 )(
x x ( o . X X '( '(I[ X X ,1II[
X'U
IUI
nl
'C u
X (X'.C X X '( U X xx 111'1(
XXI
X U If
xn
UX(
X (J'(
I I O[
XXXX
Jr'(
X lf X .( l I Of O{.( )(
XXU
1( 111: )(1[UIC
I.X
XI[IC
1( .( U
I( U '.C U U : X U : lC
'" l)flt
X::ll[
X X ,(
1I: t' ( 1C . U: U X )[
I Cl! K '( IO ' X X 'C X
1flI ,( )( )( I .( I[ )Oflf
lUX
'UX X X IC X
"
1f )( 1( 1I )0( 1 1 ( ( )f 1l I[ )( �
.(n
" If U .. . 1I K 1( X
lXX XXI lU IClI: X K U U lI. lI
)f K ,( I[ 1I K I. K I I 1I 1[ )( )(1(1111 K If ,( )(
I I X I I[ ( I .( 1I[ X .( X ::l .( I X 1 X 'I' X If
. IC )( I[ H I[ ' U 1I 'U).J:J(
Il l' '( lC .( l' l l' '( .c , l' 11 1[ "( ,( ' '' . C(1' ( U ,,, 1t U . 1C
xx,
:('UI:
'xx x IC'(
JJX'( ,XX
X'X
X."X
'( I X X X lf X l l lf lf X
XU
UU
I .( X U X U X '.C U ,
'( U (
'(XJIJ'(
I J[1(lf lf U , I. K .( lO I IfJ( X
X U X X ( X XXXXXXX;(I(J'(
'II:'r: )( j( . U lf U J( ' II( l(
"( X X ;( ll O tXXXX(lCX'.C X X X (�X,(XX lC.( X I U U 1
I I U )( )( Ii:X K X '(
,xx
xiuu'UlIun
I I U 1[ I[ U .( )( )(
1 1 )( I[ X j(
I IC I X I(
I['( K.(X'(1
UJ:
'( u u
3 X U U X U "( X lO: I [I[ X '(
XIU
U
'( IOOC
.lUX
XU
1( 1I 1f )(
UU
ICO'
( " ,( l X I
.ox
I I[ I X J( .( .( l If (
1 101
' X j( j( 1[
u XlI U lI 1 U X )[ (
X U X JC)I ( '( .( X IOOI IC X I X
XC,
,XX
U lili:
IXUXX
,XX
XX,
X It:"J' IC '( U X X X
'XX
'XX
looooe
'x x
I[ .( .( X
'xx
JJXX
'XX
XOIX
I[ I[ X I I .( I X
,xx xxx
I I I OC X ( IC'U.(j(1
'xx
,x x xx,
X .( '(lI
'xx
1 II: IOClClC ' CJC U U lI
'xx
I X "( X
",
Ul
X X '( '.( ",
'XX
,n ,xx
X . (J( .(
X
XUX
IC IC U « ( '( U IC X
,xx ,XX
nllf
"( 1lI IC 'Ul
XlX
X If lt,
:iIlC
I X C X U : I X IC ( U
X IC IC
(XC
<xx
II: ( X ':'IIJ:
Xlllxt.uXJl(
XX}' IUXXX U
IC U l iO I
,xx
"'U:
XXx.uU
: u u :tJ:
O[ X IC U :
UK
xxnx
X A: X X ( J X ,, "( X ( .( J U X
.(lII ': U O O I X 'C ' OC
X J 1 .( r.: U :t:t :t:t I .f
I I[ IC t. ' U X ' OC '( I '( X
" 'XX
"
lXX
'fXX X'(X
U( I H I X X I I ( .(
1 I[ )l l[ 11I0(.( I[ 1 1I
X ir: U H X 'XX
" " " ." (I[.(lC
" "
"
"
"
xx
"
(X' IflC X IC
U
:tt
XX
,xx
.(U
I[X U
,XX
XX X�
I I[
U
"
X X .( X ( I[ t x X 'I[ I ( I "( X I .( 1[ 1[ '( 1[ 1 1[ ( 1[ X1
IX
U '(
I[ 1[ ( 1 X I[
I[ I[ «
JI'.( X I[ U'U'(
1 ,( 1. '
XIX
XXX X X U U I ClC I X I[ X O I X I
i lIC
xu
.(X
xx
II '( X 11 lUX
xx
"
"
,xx
lU ( 0 (;(
I[XX X X If
"
"
XX'
lC.((
"
"
xx,
'"
"
"
cu ,X<
X ( JI
"( UX
X(X
X I[ 1
XX,
uu IIlOOI X X
X U '«
(O'CXl["(lI(X U. 'C I CI[ (l I II:
( '( ( )!'
X I[X IU XXIX
UlI
,n
' xx
I X.( : tJ X I[
'"
J:t XX
( .( n
1,(1
X U "( uu
XJ1XU
,
'XX 'xx
X X :t J
( I[ I X
"
xx,
X ( I X "( X I I I ,( X
U .( X
X X X X '( X "XXXII XIXIX
'"
,XX
'" ,XX 'xx 1[ 1 ,. 1 n ux
xx x '" , x -.:
,XX
,
'XX
1 « ( .( ( . U X
U
I[ I[ I U X
xxx
U XII:
'( 1[ 1.
XX
X I[
'XX
.( X 1. . (J I
"
1 ( 1;(
X X ( 1 .('( 1 .(
'x x X '( U X ( I[1(
'" ,x<
« ( 1 "«
.( J I[X (
1 1[ ( 1 1 1[
'"
X I[: U X I X
I I .( U X XI X I[
H'
X II: I[UXX I[
,xx '"
X X U .f X X I[ xx, U X X
XU:UX
UUI l.f (lC I
XX.
H U ( )( X X X
XXIX . u X X '(
'(UX(
'"
XX,
uux
xux I[( U
IU"(
"XX XX,
XX, ,n
, "
I[( U
XXU X X .( X X'XX U X I[
XX, ,n
,('(XX
,XX
"
uu
,X'(ll
,,, ,XX
,xx
'XX 'XX
X "( .( I[
( I[ 1.XI[
X I[ U
X « ( 1 1[ 1 X ( I[ (X I[
( U I[ X
o.. (I(X I[lltIl:XII
.( .( " \1
IX(l[ x n
'« (
I X X I ,( I X I UI[
xx,
X(JX(X
'XX
XX X X
,xx
'( X .( U
"
I I[ U : ( 1[ ( 1 ,( "(
133
8.3. UTJECAJ TRANSLACIJE, ROTACIJE I POVECANJA ZNAKOVA . . .
, . ( )' / J{ { C ,( >': ( . ( J:'( :r 'o: ( t � ( ( A t l; ('l '( � ( � .u( " ( (((�
( ( 'C (
1 1 :1: '(
Y ', 1 < r / ; ( / t (
;( U
t.Ol «
,( ( ( '{ · ( :1. « (
trunu
, ,,
(U(
'U
U ()l; «
( � l(
U
1; U:
, t ( l:
.n
.U (
u
Xi
UX lU
lt (IC
",
n:
'" '" ,,,
'"
't ( t ,(
(O(
I ( n u. t '(
'I ' X k «
«,
t • .(
,,,
lI
t IC (
X .(
'H
Xt(
1: ;t " ( , '«
(.(
1: ,( 1 l X :U
'( 1
'"
Xl(
xl'
n t.
Uf
un
1l'( 'C � l u ()( ' h:
XII ( U
n:un:u
'( U t
(1IX .u:� H IC t
'H
'( l J .l
.0: .0 : )('(
'"
t:( H. .
..
'"
(UX
" "
( lt H " � 'C x.. ux
" "
'"
"
"
'H '"
" "
u,
"
U<
xn
,
lt. t ( t t "«
J(l;
(,ut
' U X lC ( t
:rx'Co
X ,( ' U ot:1 U '(1
"\'1('(;1;11
H X U U f. t ll
'('« ( ( (1( ( '1 ,(
i:1i�i'('tJ:Xl:
:u u : (Hl:
'( x X '( '( '{ U : ( 'O: X
'( lO' « '(xtIC:U'(
Hl :U l(X
ltt
�(H
tH : ,
IC ( \ tc(
:tll
X 'l( X
x(n:
nIl(
. '( r t t
1I .I ,( f. t J' X T ( J: X O ' J' C( X ( J' «
l: IC ' u (
tt.
(1[ (
, '« ( tt (
"fit
'( X t t
"
� .. t't
"l t i X
1"nf.'CHIC'(
x('(x n l(
(1:t(
tu,uu
xxxu:x
UICX '('t'« i�,u:
h:HU-U
'f.(
t (U t
(X( ;tX( ;t
«
( 'l X
1)1" ( ( ( 11 � t'C ( U l ;(
( � 'C X
' ' U tt
:l t « J'� t t �
U i H I; �(tL'
'"
U7"1.
(,(1:(
< t X '( U ."
IC n x
IC U ;
'" .. ('tt l .n: '1 .(
1(IUxtt((t
'( u
nl( ;t X x .( x x
Uq
IC �.(..
u·«
ti
(t'X,( (HX
"11�
�11 tt IC
'(
1: I C'Č '(
XXiX
t.t�
'"
:rltX U'U
XXU:X
X(J(.(
«(xl(
J' ( t X
. ., '"
0 : < 1( XX X J(
ax «(n
t U rUt(
h;( l: «
t,(tf
(ll.'
'"
u:u
tun
1
'(X
'" Y',\l
( ( 'f U
'C n ct
IUlt
tU . X l;
x'(x.('(
U'U< • ll! ( H :
'C'( U \ f . ( l(
"'C IC ( '
!iJ;:t
'( U : <
tur
( c ( '( d ;
(((H(O'; 'f
'" ,
SI. 8.6. Primjeri binarnih slika uzoraka
8.3. UTJECAJ TRANSLACIJE, ROTACQE I
POVE�A ZNAKOVA NA FOURmROVE KOEFICIJENTE - TEORIJSKA OSNOVA SUSTAVA Svaki uzorak, slovo ili brojku prikazat ćemo njegovom konturom. Pretposta vljamo da je funkcija konture zaključene krivulje C prikazana u kompleksnoj ravnini (sl. 8.7). Pretpostavimo da se točka P pomiče po takvoj zaključenoj krivulji s konstantnom brzinom v. U svakom trenutku t definiran je kompleksni . � K
u=u (t). Zbog konstantne brzine gibanja točke P očito je da t može predstavljati parametar duljinu konture. Na taj način konturu možemo prikazati kompleksnom funkcijom u ( t ). Funkcija u (t) je periodična i vrijedi:
u (t +nT)=u (t), gdje je perioda T jednaka vrijednosti koju ima parametar t kada točka obide konturu C. Funkciju u (t) možemo izraziti Fourierovim redom: U
+ 00
(t)= L
- oo
a" exp
[jn21tt/T],
P jednom
134
8. SUSTAV ZA RASPOZNAVANJE BROJCANO-SLOVNIH ZNAKOVA
jy
Sl. 8.7. Krivulja e u kompleksnoj ravnini
gdje su Fourierovi koeficijenti definirani sa l
T
an=r J u (t)exp [ - jn2n:/ T] dt, o
Zbog jednostavnosti pretpostavljamo da je brzina v izabrana tako da je tu pretpostavku gornje se fonnule pojednostavnjuju:
T= 2n:. Uz
oo
u (t) = L all exp[jnc], - oo
odnosno: l
211
2n:
°
a,, =- f u (t) exp [ -jiJc] dc. Treba napomenuti da Fourierovi koeficijenti za jednu te istu konturu nisu jedinstveni i da se razlikuju za različite početne točke kretanja po istoj konturi. Ako
t predstavlja pomak početne točke po konturi, nova je funkcija: u = u(t +t).
Kako se taj pomak početne točke odražava na Fourierove koeficijente? Uzmimo jednu konturu za osnovu i označimo je indeksom u (t) = riO) (t). Prema tome, sve ostale konture su odredene sa:
u(t) = u(O) (t +t). Fourierovi koeficijenti su sada:
(O):
135
8.3. UTJECAj TRANSLACIJE, ROTACIJE I POVECANJA ZNAKOVA . . .
l
a =-
21t
"
2"
J °
U(o)
(t +t) exp [ -jnt] dt =
l 2K = exp [jnt] · - J
21t
= exp [ jnt] a�O) .
°
U< o)
(t) exp [ - jnt] dt =
Vidimo da pomak �očetne točke za t ima kao posljedicu promjenu koeficijenata za faktor exp [jnt]. a�o označava Fourierov koeficijent osnovne konture. Razmotrimo sada translaciju konture e za kompleksni vektor Z (sl. 8.8)! jy
I
I I
/
/
/
I
I
.... -
;'
-
t
\ \ ,
\ , " """" "-
Z=Q+jb
--
Q
b)
a)
Sl. 811. a) Translacija konture e za kompleksni vektor Z b) Rotacija konture e
Translatirana je kontura sada određena funkcijom:
u (t) = u(O) (t) +z. Fourierovi koeficijenti su: l 2" a = - J [u(O) (t) +Z] exp [ - jnt] d t = "
21t l
=-
21t
o
2"
J o
l
u(O) (t) exp [ - jnt] dt +-
2"
J Z exp [ -jnt] d t
.
1t 20
Drugi član ima vrijednost:
[
Z cos n 21t - j sinn 21t - l Z 2" . - J exp [ -Jnt] dt = = .
21t
o
21t
-Jn
za
n :;6 0
za
n=O.
J
136
8. SUSTAV ZA RASPOZNAVANJE BROJCANO-SLOVNIH ZNAKOVA
Gornji izraz vrijedi za limes (n-+ O), tako da za n � O možemo napisati: za
n�O
za
n = O.
Utvrdili smo da su svi koeficijenti, izuzev ao' invarijantni (nepromjenljivi) prema translaciji. 8.7):
Rotaciju osnovne konture utO) ( t) oko ishodišta za neki kut cp opisujemo sa (sl. u ( t) = exp [j cp] u
2..
l
J
2n o
-
utO) (t) exp [j cp] exp [-jnt] d t,
an = exp [j cp]
l
2n
-
2..
J
O an = a�O) exp [ jcp] .
ut O) ( t) exp [ -jnt] dt,
Koeficijenti rotirane konture razlikuju se od osnovnih za faktor exp [jcp]. Povećanje konture za faktor R znači da svaku novu točku konture dobivamo pomnoženjem koordinate prijašnje konture sa R (sl. 8.9).
jy
Q' =RI! b' =Rb
Sl. 8.9. Povećanje kontuTe e
Povećanje konture možemo opisati sa: u (t) = Ru
137
8.4. IZBOR ZNACAJKI
Fourierovi koeficijenti su: l 2" a . = - f Ru(O) (t) exp [ - jnt] dt = 21t ° l 211 = R- f riO) (t) exp [ -jnt] dt = 21t ° = Ra�O) . Koeficijenti povećane konture razlikuju se od osnovnih za faktor R.
Na kraju, možemo prikazati promjenu Fourierovih koeficijenta ako je kontura bila istovremeno podvrgnuta translaciji, rotaciji i povećanju te izboru različitih početnih točaka: a" = exp [jnt] exp [jcp] Ra�O),
za
n # O.
Takvi koeficijenti nisu upotrebljivi za postupak raspoznavanja. Na temelju Fourierovih koeficijenata želimo odrediti takve značajke uzorka pomoću kojih ćemo razlikovati svojstva oblika od svojstva translacije, rotacije i povećanja. 8.4. IZBOR ZNACA.JKI Pokušajmo naći značajke koje će biti nezavisne od početne točke, translacije, rotacije i povećanja . Neka te značajke budu zavisne samo od oblika konture. Razmotrimo izraz: a "a " b" = l + l a:il a�o� " �xp [j (l + n) 't] R exp [j cp] a�o� " exp [j ( l - n) 't] R exp [j cp] [a�O) exp (j 't) R exp (j cp)] :il al1O)+ . alO) 1 -" b�O), n = 2, 3, 4, . . . a O) � [ ]l
Vidimo da je značajka b" nezavisna od 't, R i cp. Uz pretpostavku da bi nas informacija o rotaciji u odredenim okolnostima mogla zanimati (npr. uzorci 6 i 9), definirajmo značajku: a a bl = l l l l a:il1 '
Razvojem gornjeg izraza: bl =
a�O) exp [j 2't] R exp [j cp] R I allO) I . [a�O) exp [j't] R exp [j cp1 F
alO) lalO) l I e p [ -jcp] = = l x [a\O)F = b�O) exp [ - j cp] ,
1 38
8. SUSTAV ZA RASPOZNAVANJE BROJCANO-SLOVNIH ZNAKOVA
dobivamo značajku bl koja osim informacije o konturi sadrži i informaciju o rotaciji. Definirajmo skup značajki: m = l , 2, 3, . . . n = 2, 3, 4, . .
.
Da li je značajka d'",,, zavisna od rotacije, translacije i povećanja? Provjerimo! " e d'. = [a�Ol ", xp [j t ( l + m) ] R exp [jq>]] " "' " a�O) exp [jt] R exp [jq>]] . [aiO� " exp [jt (l - n)] R exp [j q>]]'" [a�O) exp [j.] R exp [jq>]]'" t [a 1O)+ Ja] '" [atlO) "] '" d'. (o) ",,, ' [a;O)]'" + " _
-
Vidimo da su značajke tf"," invarijantne prema translaciji, rotaciji i povećanju. Na sličan način kao za slučaj značajke bl možemo definirati značajku d;"l koja je zavisna od rotacije:
= tf��) exp [ - jmq>] , Ako postoji zajednički faktor k za m i sljedeći način:
n,
možemo značajke tf"," zapisati na
d"," što daje relaciju
Kada m i n nemaju zajedničkog faktora k (k = I), vrijedi
d;"" = d",,.. Jednostavno
se
može utvrditi da vrijedi i d"," = b,.;
što znači da su značajke b" samo poseban oblik značajki d", ", 8.5. POSTUPAK RASPOZNAVANJA Uzorak je zapisan u binarnoj matrici dimenzija 32 x 26, i to tako da su kontura i njegova unutrašnjost prikazani jedinicama, a ostali dio matrice nulama. Kontura odnosno funkcija u (t) određuje se sljedećim postupkom:
1 39
8.S. POSTUPAK RASPOZNAVANJA
Analizira se redak za retkom matrice sve dok se ne nade prva jedinica. Tada se ispituje njena okolica i traži najbliža jedinica. Postupak se nastavlja sve dok se ne obide cijela kontura, odnosno dok točka P ne dođe opet u početnu točku. Ispitivanje se provodi u osam smjerova (sl. 8. 1 0). Svakoj jedinici elementu konture pripada jedna realna i jedna imaginarna komponenta - one predstavljaju kooridi nate točke u sustavu x, jy. lB}
1
14'
/ {\ 1 3)
aj
• 111
21
16}
"\JJ" "(j\,,
..
Sl. 8.10. Smierovi ispitivanja sustava
1
•
12}
14}
bl
Nakon odredivanja konture računaju se Fourierovi koeficijenti diskretne kompleksne funkcije u (t). Bez ispitivanja i pokusa nije moguće odrediti tip značajki koje bi učinile postupak raspoznavanja djelotvornim. Tip značajki u sustavu za raspoznavanje odreden je eksperimentalno na skupu uzoraka za učenje (G. H. GranIund, 1 972). Za eksperiment smo upotrijebili sedam značajki:
Taj izbor ne znači i najbolji izbor. Tri značajke su takve qa uz informaciju o konturi sadrže i informaciju o rotaciji. To je potrebno da bi se u sustavu za raspoznavanje mogli razlikovati parovi uzoraka koji pripadaju razredima e i U, Z i N, te 6 i 9. Budući da su općenito značajke kompleksne, ulazni uzorak u prostoru značaj ki je predočen vektorom sa četrnaest komponenata. To znači da svakom ulaznom uzorku pripada točka u četrnaestodimenzionalnom prostoru. Uz pretpostavku da točke-elementi svakog razreda tvore u prostoru grupe, možemo za svaki razred naći točku (težište) koja karakterizira odredeni razred. Postupak razvrstavanja ulaznog uzorka temelji se na računanju udaljenosti točke koja opisuje taj uzorak od karakterističnih točaka pojedinih razreda. Uzorak se klasificira u razred uzoraka za koji je ta udaljenost najmanja (metoda najmanje udaljenosti). Takvim algoritmom klasifikacije dobivena je točnost sustava za raspoznavanje od 95,85% što je za 2, 15% slabije od ocjene u izvornom radu G. H. GranJunda. Za test raspoznavanja može se broj značajki izabrati po volji. Veći broj značajki ujedno znači i povećanje vremena potrebnog za razvrstavanje uzoraka, a ne jamči bolje rezultate raspoznavanja. Kako i koliko značajki izabrati da se rezultat raspoznavanja poboljša a da vrijeme razvrstavanja ne bude predugo? Rješenje ćemo potražiti primjenom statistike i teorije vjerojatnosti.
140
8. SUSTAV ZA RASPOZNAVANJE BROJCANO-SLOVNIH ZNAKOVA
Pretpostavit ćemo (G. H. Graniund, 1972) da je distribucija značajki normal na i budući da su značajke kompleksne, bit će distribucija dvodimenzionalna. Gustoća vjerojatnosti p (x, y) odredena je izrazom: p (x, y) =
Q (x,
� [ - � Q (X' ] [l (X -a)l l 2r (x -a) (y -b) (Y-b?] l '
2xGXG)I l -rl I
l
-r
Gx
exp
y) ,
GxG .,
+
G.,
gdje x i y označavaju realnu i imaginarnu komponentu, a i b su njihove aritmetičke srednje vrijednosti, G; i G ; su njihove prirodne varijance, a r je korelacijski faktor:
gdje je
gdje je
n
broj komponenata.
Iz dvodimenzionalnih normalnih distribucija može se za svaku značajku naći skup korelacijskih elipsa za svaki razred uzoraka (T. Sepešy, 1 975; G. H. Gran lund, 1972). One nam govore da sa pretpisanom vjerojatnosti P (c) značajka pada za odredeni razred c unutar odgovarajuće vjerojatnosne elipse. Tamo gdje se elipse prekrivaju vrijednosti značajki za uzorke iz različitih razreda su približno jednake. To znači da se razredi po toj značajki ne mogu potpuno razlikovati. Znači, za veću razlučljivost razreda bolje su one značajke za koje se vjerojatnosne elipse za isti PCc) što manje prekrivaju. Slika 8. l l a prikazuje vjerojatnosne elipse za značajke d31 i razred uzoraka od N do X. Vidimo iz slike da se, na primjer, uzorci iz razreda R i Z ili N i U mogu razlikovati na osnovi te značajke budući da im se elipse ne prekrivaju. Zahvaljujući distribuciji pojedinih značajki i razreda uzorka može se primije niti bolji postupak razvrstavanja uzorka II razrede. Prikažimo to na pojednostav njenom primjeru. Radi lakšeg razumijevanja upotrijebit ćemo trodimenzionalni prostor, što praktično znači da uzorke razvrstavamo na osnovi samo jedne značajke. Neka broj razreda bude 2 (A i B). n uzoraka razreda A odreduje normalnu distribuciju P/J (x, y), a n uzoraka razreda B odreduje Pb (x, y). Nekom nepoznatom uzorku pripada u prostoru značajki točka G koja je odredena vekto rom G = [Xc> YJ. Računamo gustoću vjerojatnosti II toj točki za razred A:
� = Pa [Xc> YJ
i razred B:
Ako umjesto točke G uzmemo u obzir malo područje �S, imat ćemo odgovarajuće vjerojatnosti Pa i Pb' koje nam pokazuju kolika j e vjerojatnost da točka G, odnosno nepoznati uzorak, pripada razredu A, odnosno razredu B.
141
8.5. POSTUPAK RASPOZNAVANJA
0 3 1 N +X
D 13 A + M
8. SUSTAV ZA RASPOZNAVANJE BROJCANo-SLOVNIH ZNAKOVA
142 D 12 A + M G
Sl. 8.11. aJ Primjer vjerojatnosnih elipsa za značajku d i raZTed uzoraka od N do X bJ Primjer ] vjerojatnosnih elipsa za značajku d31 i raZTed uzoraka oY A do M ej Primjer vjerojatnostnih elipsa za značajku du i razred uzoraka od 4 do M
Ulazni, nepoznati uzorak razvrstava se u razred A �o vrijedi
U opisanom sustavu za raspoznavanje ovaj pojednostavnjeni postupak razvr stavanja proširen je za 7 značajki i 3 1 razred. Nepoznati se uzorak razvrstava u razred koji ima najveću vjerojatnost (različiti koeficijenti dlRlI su nezavisni te se može definirati logaritamska relativna vjerojatnost da uzorak pripada određenom razredu). Primjer ispisa rezultata razvrstavanja prikazan je na slici 8. 12. Sustav za raspoznavanje realiziran je računalom Cyber 72/24 tvrtke CDC. Programska podrška omogućava generiranje konture i računanje Fourierovih koeficijenata. Te se operacije računalom opće namjene izvode sporo zbog velikog broja potrebnih operacija. Primjenom posebnih procesora za brzo računanje Fourierovih koeficijenata postupak se raspoznavanja može ubrzati (G. H. Gran lund, 1 972; W. R. Cyre, 1972; M. C. Pease, 1969). Ispitivanje ove metode pokazalo se da ona daje dovoljno dobre rezultate (pogreška 2,3%) unatoč izrazito različitim ulaznim uzorcima.
143
8.6. LITERATURA
ULAZNO SLOVO .. Z
RASPOZNAlO SLOVO " Z
ULAZNO SLOVO .. Z
RASPOZNAlO SLOVO .. Z
ULAZNO SLOVO .. Z
RASPOZNAlO SLOVO .. Z
ULAZNO SLOVO .. Z
RASPOZNAlO SLOVO .. Z
ULAZNO SLOVO .. Z
RASPOZNAlO SLOVO .. Z
ULAZNO SLOVO .. Z
RASPOZNAlO SLOVO .. Z
ULAZNO SLOVO .. Z
RASPOZNAlO SLOVO ... Z
ULAZNO SLOVO .. ZZ
RASPOZNAlO SLOVO " Z Z RASPOZNAlO SLOVO " Z Z
ULAZNO SLOVO .. ZZ ULAZNO SLOVO .. ZZ
RASPOZNAlO SLOVO " ZZ
ULAZNO SLOVO .. ZZ
RASPOZNAlO SLOVO " ZZ
ULAZNO SLOVO .. ZZ
RASPOZNAlO SLOVO ... ZZ RASPOZNAlO SLOVO .. ZZ
ULAZNO SLOVO .. ZZ
RASPOZNAlO SLOVO ... Z Z
ULAZNO SLOVO " Z Z
RASPOZNAlO SLOVO '" II
ULAZNO SLOVO " II
RASPOZNAlO
ULAZ NO SLOVO .. II
ULAZNO SLOVO .. II
SLOVO ... II .
RASPOZNAlO SLOVO .. II RASPOZNAlO SLOVO '" II
ULAZNO SLOVO .. II
RASPOZNAlO SLOVO ... II
ULAZNO SLOVO .. II
II II RASPOZNAlO SLOVO ... Y RASPOZNAlO SLOVO '" Y ' RASPOZNAlO SLOVO .. Y
ULAZNO SLOVO .. II
ULAZNO SLOVO .. II ULAZNO SLOVO .. Y
ULAZNO SLOVO .. Y
ULAZNO SLOVO .. Y
ULAZNO SLOVO .. Y
RASPOZNAlO SLOVO
...
RASPOZNAlO SLOVO
...
RASPOZNAlO SLOVO ... Y RASPOZNAlO SLOVO .. Y
ULAZNO SLOVO .. Y
Y
RASPOZNAlO SLOVO ... Y
ULAZNO SLOVO .. X
RASPOZNAlO SLOVO " X
ULAZNO SLOVO
..
ULAZNO SLOVO .. Y
RASPOZNAlO SLOVO .. Y
RASPOZNAlO SLOVO .. X
ULAZNO SLOVO .. X
RASPOZNAlO SLOVO " X
ULAZNO SLOVO " X
RASPOZNAlO SLOVO .. X
ULAZNO SLOVO .. X
RASPOZNAlO SLOVO .. X
ULAZNO SLOVO " X ULAZNO SLOVO .. X
RASPOZNAlO SLOVO " X
ULAZ NO SLOVO .. X
RASPOZNAlO SLOVO .. X
POGRESNO JE RASPOZNAT I H
ODBACENIH JE
• SLOVA
RELATIVNA POGRESKA JE
UIOME7B UIOME711
!lIAPOMENA:
5 SLOVA
2 . 311
X
I I I I END OF L I S I I I I I I I II END OF L I S I I I I I
Z Z označava sl ovo Z
Sl. 8.12. Primjer ispisa rezultata razvrstavanja
8.6. LITERATURA S. Ribarić, Peta generacija sustatJa računala, VTG, br. 6, 1 983. str. 726 -734. T. Kanade, R . Reddy, Computer Vision: The Challenge of Imperfect Inputs, IEEE Spectrum, Vol. 20, novembar 1 983, str. 88 - 9 1 . E . K . Yasalti, Tokyo Looks t o the '90s. Datamation, januar 1982. The State of the C. Y. Suen, M. Berthod, S. Mori, Automatic Recognition of Handprinted Characters Art, Proce edings of the IEEE, Vol. 68, N°. 4, april 1 980, str. 469 -487.
L. D. Harmon, Automatic Recognition of Print and Script, Proceedings of the I EEE, Vol. 60, N°. 10, oktobar 1 972, str. 1 165 - 1 1 76. G. H. Granlund, Fourier Preprocessing for Hand Print Character Recognotion, IEEE Trans. on Compt, februar 1 972, str. 1 95 -201. T. Sepešy, Diplomski rad, Elektrote hnički fakulteJ u Ljubljani, 1 975. S. Ribarić, Dva primjera mikroprocesorskih sustat1a u obradi i raspoznatJanju slika, ElektrotehniČ8r 4, 1 982, str. 97 - 102. W. R. Cyre, G. J. Lipovski, on Generating Mu/tipHers for a Cellular Fast Fourier Transform Processor, IEEE Trans. on Comp., januar 1 972, str. 83 - 87. M. C. P ease, Organization of Large Scale Fourier Processors, J ournal of the ACM, Vol. 1 6, N°. 3, juli 1 969, str. 474 - 482.
9.
SUSTAV ZA RASPOZNAVANJE RUKOM PISANm BROJčANm ZNAKOVA (Prof. dr. Nikola Pavešić, dipl. ing.)
9.1.
UVOD
Za raspoznavanje rukom pisanih brojčanih (numeričkih) znakova možemo upotrijebiti sustav za raspoznavanje koji se zasniva na skupu dvodimenzionalnih prilagođenih filtara. Opisani sustav za raspoznavanje pokazao se pogodnim za automatsko razvrstavanje poštanskih pošiljaka, za razvrstavanje i obradu liječnič kih recepa4l, za obradu narudžbi i sl. 9.2.
DVODIMENZIONALNI PRILAGOĐENI m.TRI
Andrews je koncepciju jednodimenzionalnog prilagodenog filtra što ga je predložio Turin (G. L . Turin, 1960), proširio na dvodimenzionalne filtre (H. C . Andrews, 1 970). Osnovna značajka tih filtara je prijenosna funkcija koja u odredenoj točki izlazne funkcije maksimizira omjer izmedu signala i šuma. Ulazna funkcija se sastoji od signala lex, y) i aditivnog šuma b (x, y): gv(x, y) =lex, y) +b (x, y), pri čemu može biti l(x, y) = O za sve x i y. Prijenosna funkcija filtra H (u, v) koji odgovara postavljenim zahtijevima je: F (u, 'll) ex� [ -j (u!; +ll'll)] ( _K H u, v) , B (u, v) gdje je K kompleksna konstanta po volji, F(u, v) konjugirano kompleksna vrijednost spektra signala, B (u, v) spektralna gustoća šuma, a !; i II koordinate točke izlazne funkcije gdje je omjer snage signala i šuma najveći. Spektar signala i spektralna gustoća šuma dani su relacijama: F(u, v) = , [{(x, y)]
B (u, v) = !F [q>b ( T1, T)],
i
gdje je (fl " (Tl' Tz) autokorelacijska funkcija šuma b (x, y), a !F [ . ] označava Fourierovu transformaciju. ,
1 45
9.4. UCENJE SUSTAVA ZA RASPOZNAVANJE
9.3.
SUSTAV ZA RASPOZNAVANJE ZASNOVAN NA DVODIMENZIONALNIM PRn.AGOĐENIM FILTRIMA
Sustav za raspoznavanje uzoraka gradimo pomoću prilagođenih filtara tako
da svakom razredu uzoraka ID/ priredimo prijenosnu funkciju prilagođenog filtra Hj (u, v). Ulaze svih filtara povezujemo paralelno u zajedničku točku koja predsta
vlja ulaz u sustav raspoznavanja. Izlaze iz prilagođenih filtara dovodimo do jedinice za određivanje maksimalne vrijednosti izlaznih funkcija u točki (�, 11). Blok-shemu tako organiziranog sustava prikazuje slika 9. 1 (N. Pavešić, 1973). Detektor maksimalne vrij ednosti gl1 l � :lI l
gJ21 �.11 1
Uzorak g. l x. y l
Odluka �
QII '�.l1l
gJHI�.l1l Sl. 9.1 Blok-shema sustava za raspoznavanje koji se zasniva na prilagođenim Jiltrima
Postupak razvrstavanja je sljedeći: Za ulaznu funkciju (uzorak) gv ( x, y) potražimo najveći element skupa: Uzorak razvrstavamo u razred IDj ako je %"-ti element skupa najveći. 9.4.
Ul:ENJE SUSTAVA ZA RASPOZNAVANJE
Sustav za raspoznavanje uzoraka gradimo pomoću prilagođenih filtara tako da svakom razredu uzoraka IDj priredimo prijenosnu funkciju prilagođenog filtra Hj (u, v). Signal fi ( x, y) definiramo kao srednju vrijednost uzoraka za učenje koji određuju razred uzoraka IDi' i= 1 , 2, . , M. . .
1 fi ( x, y) = N i
icEN, gt,Cx, y),
gdje je Nj broj uzoraka za učenje i-tog razreda. Vrijednost šuma za pojedine razrede određujemo pomoću razlike između odgovarajućih funkcija gy, i fj:
blc ( x, y) =gt,(x, y) -fj (x, y),
za
k= 1, 2, . . . , N,
9.
146
SUSTAV ZA RASPOZNAVANJE PISANIH BROJCANJH ZNAKOVA
Odgovarajuće spektre F (u, 'V) i B (u, v) određujemo numerički pomoću postupaka koji se temelje na brzoj Fourierovo; transformaciji. Prilikom izvedbe sustava za raspoznavanje izabrali smo K = l + jO i � = 11 = O, tako da je učenje sustava reducirano na određivanje koeficijenta F; (u, v)/B; (u, v), za sv�i razred uzoraka 0);, i= l, 2, . . . , M. �.S. SINTEZA SUSTAVA ZA RASPOZNAVANJE RUKOM PISANIH
BROjĆANIII ZNAKOVA
Za raspoznavanje rukom pisanih brojčanih znakova možemo uspješno upotri jebiti sustav za raspoznavanje koji se zasniva na skupu dvodimenzionalnih prilago đenih filtara (L. Gyergyek, 1 975). Ulazni podaci su rukom pisane brojke. One su napisane na posebnim obrascima (sl. 9.2) zajedno s velikim slovima. Brojke su napisane u kvadratnim poljima dimenzije 7 x 1 0 mm. Stranice kvadrata su označene svijetloplavim linija ma. Udaljenost među kvadratima je 2 mm. Takav obrazac je pogodan i za praktičnu upotrebu.
Izbor veličine matrice Dvodimenzionalni uzorak, općenito, možemo opisati pomoću funkcije s (x, y), gdje je x E [ -X, x] i y E [ Y, VJ; X i Y su konstante. Fourierova transformacija funkcije s ex, y): ' [s ex, y)] = S (u, v) neka je jednaka nuli izvan područja određenog konstantama U i V: S Cu, '0) = 0 za sve u ;: [ - U, ul i 'O M � V, VJ. Funkciju s ex, y) možemo rekonstruirati iz njezinih uzoraka ako joj vrijednosti uzimamo u točkama: n '" , l1l gušce, - , 2U 2 V
(m
m
)
gdje su i n cijeli brojevi između -X i X, odnosno između rekonstruiranu funkciju određuje izraz:
s (x, y) =
� �
L.
m= -X
L.
s(!!!... )
n� - Y
'
�
2U 2 V
2nv
-
n
2V
x-
2nU x -
& -�) � )
sin2n V
( iu) ( ";;)
S in 2n u
.
2
"
-
Y i Y, a
1 47
9.4. S I NTEZA SUSTAVA ZA RASPOZNAVANJE
Primijenimo gornje razmatranje na naš prImJer. Vrijednosti uzoraka (rukom pisanih brojčanih znakova) najprije odabiramo u točkama kartezijskog produkta skupova: i
{O, 2, . . . , 255 }
[0, 2, . . . , 255 } .
Dobiveni podaci opisuju funkcije g�(x, y), gdje j e k = l , 2, . . . , N broj uzoraka u skupu za učenje. Iz skupa {gv (x, y } određujemo diskretnu funkciju g (x, y) koja je karakteristična za sve znakove: ' g (x, y) =
N g� (x, y) "�1 N l
i računamo diskretnu Fourierovu transformaciju funkcije g (x, y):
{
}
1 55 1 55 21tj G (u, v) = L L g (x, y) exp --(xu +yv) . 256 x=O y=O
Potom, određujemo minimalan broj elemenata u skupu 2X odnosno u skupu 2 Y pomoću relacije: N2X= 2Nu odnosno N2y= 2Nv, gdje su Nu odnosno Nv granični brojevi odabiraka, od kojih je dalje G (u, V) � E, E-+O.
Ako uzmemo E=
G (O, O)
1 00
�----
dobivamo:
zato uzimamo matricu uzoraka dimenzija 16
x
1 6.
Izlučivanje suvišne informacije Uređaj za unos slike (TV kamere s odgovarajućim impulsno-sinkronizacij skim generatorom) pretvara ulaznu sliku u analogni signal. Taj analogni signal se
Sl. 9.3. Histogram sivih razina ulaznih funkcija gv (x, y)
148
9. SUSTAY ZA RASPOZNAYANJE PISANIH BROJĆANIH ZNAKOYA
pomoću međusklopa i računala pretvara u matricu određenih dimenzija. U sustavu je upotrijebljen A/D pretvarač kojr kvantizira ulazni signal u 256 razina (8 bita). Za opis uzoraka rukom pisanih znakova dovoljne su dvije razine, što nam potvrđuje i histogram svih razina funkcije gy (x, y) (sl. 9.3).
Izbor praga p zavisi od osvijetljenosti slike, vrste i boje pisaljke kojol!l su brojke napisane, te od vrste i boje podloge. Skup diskretnih funkcija {gv (x, y) } binarizirali smo s obzirom na prag p, koji smo odredili tako da se nalazi na minimumu između vrhova histograma. Slika 9.4 prikazuje nekoliko binarnih matrica dimenzija 1 6 x 16 elemenata. � ---------------
--------------------------------------------
xxxxxxx xx xxx xx xxxxxxx xxxxxxxxxx xxx xx xxx xxx xx xxx
x
JJxxxxx xxx xxxxxx xxxxxx xx xxx xxx xxx n xxxx xxx xxxx xxxxxxx xxx xx xxx xxxxxxxx
x x xxx xx xx xxx xxxxxxxx xxx x xx xx x x
xxxxxxx xx xxxx xxxxxx XX xx xxxx xxxx xn xx xxx xxxxx xxxxxxx x xxx xxxxxxxxx x
xx xxx xx xxx xxxx xxxxxxx xxx xxx xxx xxxxxx xx xx xx xxxxxx xxxxxxx xx xx xxxx x
xx xxx . xxx xxxxxx xxx xxx xxx xxx xxxxx
x
x x xxx xx xx xxxxxx xxx xxx xx xxx xxx
xx xxxxx xx xxxx xxxxxx x xx x xx xx
xxx xx xxxx xxxxxxx xxx xxx xxxx x xxxxxxxx
Sl. 9.4. Primjeri binarnih matrica rukom pisanog znaka 5
Određivanje signalne komponente ulazne funkcije Pomoću skupa uzoraka za učenje funkcija:
{gy (x, y)}
određujemo skup statističkih
Sti (x, y) = Pi (gy (x, y) = I I rOi) i y = 0, l , 2, . . . , 1 5, gdje je rOi E {O,
za x = 0, l , 2, . . . , 1 5 l , 2, . . . , 9 } = razred uzoraka a Pi ( . ) funkcija uvjetne vj erovatnoće. Primjer funkcije St (x, y) dan je na slici 9.5 i predstavlja vjerojatnost (u postocima) pojavljivanja jedinice u pojedinim točkama karakteristične binarne matrice.
1 49
9.4. SINTEZA SUSTAVA ZA RASPOZNAVANJE
Skup funkcija relacije:
Stj (x, y)
signala Ji (x, y) pomoću sljedeće
preslikavamo u skup
ako je St/ (X, y» qi Jj (x, y) = l ako je Stj (x, y) � ql' J1 (x, y) = 0 gdje je ql E {qo" ql' q1.' . . . , q9} određen eksperimentalno.
�**..*••****'*.*.************••*.*****************••* *: ! 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 : ! o o o o o o o o o o o o o o o o : i o o o o o o o o o o o o o o o o i i o o o o o o o o o o o o o o o o i ! o o o o o o o o o o o o o o o o i i o o o o o 6 13 20 o o o o o o o o ! ! o o o 13 T3 93100 93 86 66 33 26 o o o o i ! o o 60100100 66 26 26 46 73 93 40 26 o o o i i* o 20100100 53 o o o o 66 93 80 26 o o o :: : o 66100 93 6 o o o o 40 86 93 26 6 e o : i o 60100 86 o o o o o 40 86 86 26 6 o o ! i o 26100 93 20 o o o 13 80100 66 20 o o o ! i o 6 73100 80 40 20 33 93100 86 26 6 o o o e i o o 6 53 80100100100 93 80 20 o o o o o i ! 0 0 0 0 0 6 6 0 0 0 0 0 0 0 0 0 : ! 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 : * * .*.*•••••* •••••••••••••••••••_••••••_*...............
Sl. 9.5. Statistička slika brojke O
Sumna komponenta ulazne funkcije
2, . . . , Nj.
Sum za pojedini numerički znak određujemo kao razliku:
Nj je broj
k = l, b� (x, y) =g�,(x, y) -J, (x, y), elemenata u razredu roj, i 0, I, 2, . . . , 9. =
Sustav za raspoznavanje
Za svaki razred uzoraka gradimo prilagođeni filtar (ukupno njih deset):
1, 2, . . . , 9. Fi { 2X (x, u)} F* (u, y) = L Ji (x, y) } Fi (u, y� F* (u, y) {
H/
Spektre signala
(
) F/ Cu, v)
u, 'o -
_
Bj (u, v)
,
za
i = O,
dobivamo pomoĆU sljedećih relacija: 15
x=o
'0) =
15
exp --j
16
exp
2x j (y, v) . 16
Oba izraza računamo postupkom brze Fourierove transformacije (H. C . Andrews,
1968).
1 50
9. SUSTAY ZA RASPOZNAYANJE PISANIH BROJCANIH ZNAKOYA
Spektrainu gustoću računamo izrazom:
I
B; Cu, v) = � I F [b� (x, y) · w (x, y}w· Ni k= 1 Pojedine funkcije b� (x, y) množili smo Hammingovom funkcijom (H. Gold, 1969) zato da bismo umanjili utjecaj Gibbsova efekta (A. Papoulis, 1962). Pomoću Huangova teorema (T. S. Huang, 1972) možemo Hammingovu funkciju napisati u . ' obliku: W
za
211: � (x, y) = 0,54 +0,46 cos T6v x:Z +y:Z
x i y E {O, I, 2, . . . , I S } . w (x, y) = O
za
x i y � {O, 1, 2,
. . . , I S }.
Izvedba sustava za raspoznavanje rukom pisanih znakova jednostavnija je ako se raspoznavanje odvija u vremenskom prostoru. Izlazne funkcije u točki (0,0) određuje izraz: gl,
za i = 0, I,
(0,0 )
2, . . . , 9.
=
1S IS L L ' - 1 [Fi (u, v)] ·gY (x, y),
y = o y=o
Detektor maksimalne vrijednosti traži najveći element u skupu:
{gl, (0,0), gl, (0,0), za danu ulaznu funkciju maksimalan.
gy
(x, y)
. . . , gl,
(0,0),
. . . , gl,
(O,O)}
i razvrstava je u i-ti razred ako je i-ti element
9.6. REZULTATI RASPOZNAVANJA
Opisani sustav za raspoznavanje ispitali smo na četiri zbirke rukom pisanih brojčanih znakova. Pokus I
Prva zbirka sastoji se od 1 50 brojčanih znakova. Brojke su pisane tušem i tehničkim pismom (sl. 9.6). Sustav za raspoznavanje je cijelu zbirku razvrstao bez pogreške. Pokus II
Druga se zbirka sastoji od 50 brojčanih znakova koji su napisani kemijskom olovkom i "normalnim" pismom (sl. 9. 7). Rezultat raspoznavanja je i sada 100%. Sastavili smo i zbirku od 77 rukom pisanih brojčanih znakova i slova X pisanih kemijskom olovkom. Neki od znakova nisu bili zatvoreni (npr. ° i sl., v. sliku 9.8 ) . I u ovom je slučaju rezultat raspoznavanja bio 100%.
9.6. REZULTATI RASPOZNAVANJA
151
Sl. 9.6. Brojke pisane tu/em i tehničkim pismom
Pokus m
Sastavili smo zbirku od 132 znaka. Zbirka sadrži brojčane znakove O do 9 i slovo X. Znakove smo pisali tako da smo dopustili 20% promjene u visini i širini znakova (sl. 9.9) . Bilo je pogrešno razvrstano 1 1 ,36% znakova.
1 52
9. SUSTAV ZA RASPOZNAVANJE PISANIH BROJCANIH ZNAKOVA
Sl. 9.8. Primjeri iz zbirke 77 rukom pisanih numeričkih znakooa i slooa X
Sl. 9.9. Primjeri iz zbirke 132 rukom pisanih znakooQ i siooQ X
9.7. LITERATURA
1 53
9.7. LITERATURA H. C. Andrews, Computer Techniques in Image Processing, Academic Press, New York, 1970. H. C. Andrews, A High Speed Algorithm for the Computer Generation of Fourier Transforms", IEEE Trans: Computers, Vol. C-17, N°. 4, 373, 1968. B. Gold, C. M. Rader, Digital Processing of Signals, McGraw Hill, New York, 1969. L. Gyergyek (nosilac projekta), ,,Razpoznavanje z roko napisanih numeričkih znakov", Naloga za Sklad Borisa Kidriča, Pogodba što 2-781/149 1-74, Ljubljana, 1975. T. S. Huang, " Two-Dimensional Windows", IEEE Trans. on Audio and Electroacoustics, AU-20, N°. I , str. 88 -90, mart 1972. A. Papoulis, The Fourier Integral and its Applications, str. 30-31, McGraw-HiII, New York, 1969. N. Pavešić, Ma!Jistrsko delo, Fakulteta za elektrotehniko, Univerza v Ljubljani, april 1973. G. L. Turin, "An Introduction to MalChed Filters", IRE Transaction on Information Theory, 3 1 1 329, juni 1960. -
10.
SUSTAV ZA KLASIFIKACIJU OTISAKA PRSTIJU
(Prof. dr. L. Gyergyek, dipl. ing., prof. dr.
N.
Pavešić, dipl. ing.)
10.1. UVOD Otisci prstiju upotrebljavaju se već od početka 20. stoljeća kao vrlo pouzdano sredstvo za identifikaciju osoba (V. Vidie, 1 975). Budući da razvoj tehnologije nije bitno utjecao na same postupke uspoređivanja nepoznatih otisaka prstiju s pozna tim, danas se u većini slučajeva identifikacija izvodi ručno. U posljednjih nekoliko godina zahtjevi za automatizacijom postupka identifikacije sve su veći, a uspored no s razvojem računalske tehnologije i novim spoznajama s područja raspoznava nja uzoraka raste i zanimanje istraživača i istraživačkih ustanova za daktiloskopiju. Od godine 1 966. kada se prvi put susrećemo sa zamisli o automatskoj obradi otisaka prstiju (izvor: Rockwell Int., 1 976) bilo j e uloženo puno napora i sredstava da bi se postupak identifikacije automatizirao, odnosno poluautomatizirao. Iako postoje sličnosti ručnog i automatskog raspoznavanja, ta dva postupka se razlikuju u istoj mjeri kao što se razlikuju sposobnosti čovjeka i stroja (L. Gyergyek, 1 979): Stručnjak za otiske prstiju ima izvanrednu sposobnost kompleksnog promatranja i heurističkog zaključivanja, ali relativno slabu memoriju za mnoge detalje. Velika prednost stroja je u memoriranju velikog broja podataka i u velikoj brzini izvršavanja operacije. Otisci prstiju značajkama:
našli
su
primjenu
u. kriminalistici
zahvaljujući
svojim
nepromjenljivosti : oblik i detalji uzoraka otisaka prstiju ne mijenjaju se cijeloga života,
jednoznačnosti :
praktički ne postoje otiscima prstiju,
razvrstavanje :
već grubi potezi otiska omogućavaju sustavno razvrstavanje uzoraka,
dvije
osobe
s
jednakim
i predstavljaju jedinstvenu metodu identifikacije osoba i na drugim područjima kao što su: obavještajna služba, bankarstvo, trgovina, osiguranje ulaska u objekte i slično (c. W. Swonger, 1 973).
U višegodišnjem radu na području raspoznavanja otisaka prstiju, grupa istraživača iz Laboratorija za sisteme, automatiku i kibernetiku pod vodstvom prof. dr. L. Gyergyeka projektirala je i razvila sustav za automatsko raspoznavanje otisaka prstiju CL. Gyergyek, 1 977, 1 978, 1980). Takav sustav omogućava: •
uspoređivanje nepoznatih otisaka s kartotekom poznatih otisaka prstiju,
1 55
HU. UVOD
•
•
upoređivanje tragat) s kartotekom jednoprsnih otisaka (mono) ili s kartotekom koja sadrži otiske svih deset prstiju (sl. 10. 1 i 1 0.2). Zahtjevi za takvim uspoređivanjem su najčešći, a vrijeme pretraživanja zavisi u prvom redu od kvalitete traga, uspoređivanje otiska s tragovima iz kartoteke tragova.
Iz karakteristika sustava vidimo da na jednoj strani imamo opsežnu zbirku otisaka, a na drugoj strani malu zbirku tragova ili samo jedan trag.
SI. 10.1. Otisak prsta
Sl. 10.2. Trag prsta
Sustav je od samog početka zamišljen kao sustav koji će svoj rad temeljiti na značajkama otisaka prstiju, a ne na potpunoj slici otiska. Razlog takvu izboru jednim je dijelom u tome što je to i osnova za ručno raspoznavanJe, a većim dijelom što potpuna slika uzorka zahtijeva velik kapacitet memorije za pohranjiva nje i veliku moć obrade računala. Na primjer, standardne dimenzije slike otiska prstiju su 1 024 x 1 024 ili 512 x 5 1 2 slikovnih elemenata, a svaki je element prikazan u 1 6 (ili više) sivih razina, što predstavlja informaciju veću od 224 bita. Značajke otisaka prstiju za naš sustav raspoznavanja su minucije ili karakteristične točke2) tokovi papilarnih linija. S lika 1 0.3 prikazuje otisak prsta i njegovo i potezi polje minucija i poteza.
///// / / // / //// / I I I I I I I I I I I I I I \.. \.. '. '. / Otisak prs ta
Polje potezQ
- - \.. - \.. \.. \.. \.. \.. I l \.. I I I I I I ///
o o o
0
o
o
o
o
o 0 0
o o
o
°o
o
o
o
dil
o
0
°o
o
o
o o
oO
o
O
O
o o
o o
0 00
� �
�
o
o
o
O
o
o
o oo o o
o 0 00 0 a a 0 0 0 0 00 O o o o
g
Polje mlnu(ijll
Sl. 10.3. Otisak, prsta, polje poteza i polje minUCJ}a
') Trag je otisak skinut s različitih predmeta i obično je slabije kvalitete (sastavljen je od neprekidni h i isprekidanih papilarnih linija). ') Prekidi normalnih tokova linija
-
nepredviden prekid, grananje papi\arnih linija j sl.
1 56
10. SUSTAV ZA KLASIFIKACIJU OTISAKA PRSTIJU
10.2. SUSTAV ZA AUTOMATSKU IDENTIFIKACIJU OTISAKA PRSTIJU
, Slika 1 0.4 prikazuje blok-shemu sustava za automatsku identiflkaciju otisaka prstiju. Na slici je uz blokove označena i količina infonnacija koja se obrađuje u pojedinim razinama sustava za identiflkaciju.
Rnspoređivanje otisnkn
�--.l Pret rniivnnje Oznnkn
nizn
1100 bl!ovn/trag Minucije
Rezultnt identifikllcije
Sl. 10.4. Blok-shema sustava za automatsku identifikaciju otisaka prstiju
Minimalnu sklopovsku podršku sustava (sl. 10.5) za automatsku identiflkaciju otisaka prstiju predstavlja miniračunalo PDP 1 1/34, televizijski sustav zatvorenog tipa (CCTV) i analogno/digitalni međusklop (CVI digitizer) za pretvaranje televi zijskog signala u digitalne podatke koji se mogu obrađivati u računalu. Otiske prstiju unosimo u računalo preko televizijske opreme kojom postižemo dimenzije matrice 5 1 2 x 5 1 2 slikovnih elemenata. Ispitivanja su pokazala da je to dovoljno za prikaz svih važnih detalja otiska. Kada je trag vrlo slabe kvalitete, ne pretvaramo ga u digitalni oblik. On se tada projicira na zaslon i operator izdvaja sve minucije. Tako izdvojeni podaci moraju biti kompatibilni s podacima o minucijama koje iz digitalne slike izdvaja računalo (F. Pemuš, 1978). Poslije A/D konverzije dobrog traga ili otiska prsta, dobiva se digitalna matrica uzorka gdje je svaki element matrice kvantiziran u 16 sivih razina. Slika izvornog otiska prsta je u stvari crno-bijela, ali mi želimo pomoću slike sa sivim razinama dobiti binarnu sliku (sliku s dvije razine). Prijelaz na binarnu sliku i uklanjanje smetnj i izvršava se u fazi pretprocesira nja (S. Kovačič, 1 976).
157
10.2. SUSTAV ZA AUTOMATSKU IDBNTIFIKACIJU OTISAKA PRSTIJU
-- -
, ---- -
I
I I I I I I I I I
I I I I I
I I I L
_ _ _ __ __
___ _ _
x-v digitizer
Raiuna� J
-- - -- -,
t------!II"-i Svjetleći indikator
i-----...."'l._��=__.J . Konlola operotoral ,------
I I I I I I
L
Kalibracija
-,
- ---
grešaKa
I I I
��skl'1U _ ____ __ __ ---- ---------- 1 mv komera.
I
I I
I
I
I
__
__ __
.JCT�
Sl. 10.5. Minimalna skiopovska podrška za automatsku identifikaciju otisaka prstiju
Pretprocesiranje se izvodi u tri razine: • određivanjem kontrasta u pojedinim dijelovima digitalne slike izdvajamo dijelove koji se slabo vide te razmazane i neotisnute dijelove ( sl. 10.6),
Sl. 10.6. Tamni dijelovi otiska su dijelovi koje ne obradujemo zbog slaba kontrasta
158
10. SUSTAV ZA KLASIFIKACIJU OTISAKA PRSTIJU
dinamičkim pragom koji se mijenja u zavisnosti od pojedinih dijelova slike prelazimo iz slike s više sivih razina u binarnu sliku, • binarna slika otiska se promatra kao dvodimenzionalna struktura linija. Linije se povezuju u njihovu smjeru i prekidaju se veze između dviju susjednih linija (J. P. Riganati, 1977). Pretprocesiranjem smo dobili sliku otiska iz koje želimo izdvojiti minucije i odrediti karakteristične točke. Debljine papilamih linija su različite. Zbog smetnji i šuma razlike su u debljini još očiglednije. Binarni prikaz papilarne linije treba stanjiti tako smanjujemo višak informacije, a ne mijenjamo karakteristike otiska prsta (sl. 10.7a i b). •
aj
::.":':r:!�r;�f !;;�,:?, :il;;l,,:;!:i!i!!i:ii§!ii,;.
IJigil\lli2ironn blnnrnn slika otiska prsta
bJ
,., .•.,
.. , ...•.,"".,•., .. ,.'.
Stanjena binnrna
Sl. 10.7. Stanjivanje binarno prikazane papi/arne linije
Svaki element u stanjenoj slici može imati jednog, dva ili više susjeda. Zato se ispituje najbliža okolina svakog elementa. Pojam susjedstva objašnjava slika 10.8, gdje je prikazano osam susjeda elementa (i, J).
159
10.2. SUSTAV ZA AUTOMATSKU IDENTIFIKACIJU OTISAKA PRSTIJU
Razlikujemo dva tipa karakterističnih točaka, i to po sljedećem pravilu: • krajnja minucija je element koji ima samo jednog susjeda, • element-točka grananja je onaj koji ima tri ili više susjednih elemenata. Tako određujemo koordinate svake karakteristične točke i karakteristične smjero ve, odnosno smjerove papilarnih linija u okolini minucija. Slika 10.9 prikazuje polje karakterističnih izdvojenih točaka iz otiska na slici 10.1, a slika 10.1 O prikazuje polje smjerova papi1arnih linija.
« )I
o '"
o
l' --" " ! I I l' l'l' /---" " I' I I ////---" " " ' 1 1////--" " " " /////--" " " " /////1--" " " " // 1 1 11-" " " " , l' l' I 1 1 I l' , , , , , , , ,////11/ " " " " ///I 1/" " " '- ,///11-" " '--- / // //---" " --- /// //---" -----------�--------
o I
�
o
•
Sl. 10.9. Polje karakterističnih izdvojenih točaka iz otiska na slici 10.1
Sl. 10.10. Polje smjerova papilarnih linija otiska na slici 10.1
Otisci i tragovi su prikazani koordinatama i smjerovima karakterističnih točaka, zato prije identifikacije treba ukloniti ( L. Gyergyek, 1979): osjetljivost osjetljivost osjetljivost osjetljivost osjetljivost
• • • • •
minucija na pomak, minucija na okretanje, na broj minucija, na lokalna poveeanja, na tip minucija.
Pomak, okretanje, broj i lokalna povećanja prouzrokovana su mehaničkim svojstvima naprave za unos, kvalitetom skidanja traga i promijenjenim uvjetima optičkog sustava TV kamere. Otiske možemo nonnalizirati pomoću matematičkih momenata. Otisak pomaknemo u težište i zavrtimo ga za kut za koji je varijanca minucije u smjeru jedne koordinatne osi jednaka varijanci u smjeru druge koordinatne osi.
] [�
Opisani postupak možemo prikazati ovako:
rx ,, Lvn
=
sq> -sinq>
SIDq>
cosq>
] rLv ] x-mx -my
,
gdje su: 2cov(x,y) q>=arctg---�� var (x)-var(y) var (x)=E (x _E (X))2,
var(y)=E(y -E (y))2,
cov (x, y) =E ( (x -E (x))(y-E (y)), a
mJe
i
m
y
su koordinate težišta minucija.
160
10. SUSTA V ZA KLASIFIKACIJU OTISAKA PRSTIJU
Ta metoda, međutim, nije dobra za tragove jer na njima otkrivamo samo dio minucija koje se inače vide u otisku. Tragove normaliziramo tako da svaki dio traga gdje je minucija obrađujemo posebno. Trag učvršćujemo u svakoj minuciji i rotiramo za kut koji određuje minuciju najbližu fiksnoj. Broj podataka se poveća va, ali su tako normalizirani svi dijelovi važni za identifikaciju (F. Pernuš, 1978; L. Gyergyek, 1978). Algoritam raspoznavanja temelji se na činjenici da uzorak (otisak prsta) prototip - i nepoznati uzorak (trag otiska) čine grupu, tj. da su udaljenosti među njihovim značajkama vrlo male i posljedica su samo šuma i smetnji. Kada računalo uspoređuje dvije normalizirane grupe minucija, ono radi isto što bi radio operator kada bi imao jednu grupu minucija na papiru, a drugu na providnoj foliji CI. P. Rigana.ti, 1977). Foliju bi stavio preko papira. Budući da su obje grupe minucija već normalizirane, foliju ne treba pomicati i vrtjeti u raznim smjerovima. Operator mora zaključiti da li minucije na foliji dobro prekrivaju minucije na papiru. Da bismo izračunali stupanj prekrivanja računamo udaljenost svake minucije na foliji od svake minucije na drugom mediju, a zatim između tih udaljenosti . tražimo minimalne. Grupu najmanjih udaljenosti možemo unijeti u koorinatni sustav XY (sl. 10.12). Ako trag i otisak pripadaju istom prstu, točke u koordinat nom sustavu bit će nagomilane oko koordinatnog ishodišta, a u suprotnom slučaju bit će raspršene (V. K. Singh, 1978). U postupku identifikacije računalo ispisuje sve otiske sa stupnjem nagomilavanja koji je dovoljno velik, a te otiske stručnjak daktiloskop još ručno uspoređuje s nepoznatim tragom i bira pripadajući otisak.
.
Sl. JO.ll. Slik4 otiska prsta s označenim centrom i de/tom i papi/arnim linijama izmedu njih
o "o
Sl. JO.12. Mini'ln(l/ne udaijnwsli k4raklerisličnih lolak4 dvaju otisak4 isto; prSla (o) j minimalna udoJjnwst k4rakterističnih točak4 dvaju otisak4 različilih prstiju (x)
U velikim zbirkama otisaka prstiju potrebno je otiske razvrstati u razrede, jer bismo inače svaki nepoznati otisak morali uspoređivati sa cijelom zbirkom podata ka. Za automatsko razvrstavanje postoje dvije mogućnosti: l . diskriminantni način odlučivanja, kojemu j e osnova položaj centra ili delte i broj papilarnih linija među njima (sl. 10.11), 2. strukturni, sintaktički način, koji uzima u obzir osnovne strukturne značajke (S. Kovačič, 1978; B. Moayer, K. S. Fu, 1975). U drugom ćemo dijelu ovog poglavlja upoznati strukturno razvrstavanje uzoraka otisaka prstiju.
10.3.
STRUKTURNO RAZVRSTAVANJE UZORAKA OTISAKA PRSTIJU
161
10.3. STRUKTURNO RAZVRSTAVANJE UZORAKA OTISAKA PRSTIJU
Zbirke su otisaka prstiju obično vrlo velike. U njima raspoznavanje postaje, unatoč brzim algorinnima, nedjelotvorno jer se uzorak mora uspoređivati gotovo sa svim uzorcima u zbirci. Postupak se može ubrzati prethodnim razvrstavanjem uzoraka u nekoliko osnovnih grupa. Primjenom hijerarhijskog razvrstavanja u manje podgrupe lakše se nalazi nepoznati uzorak. . Razvrstavanju u grupe pomoću diskriminantnog načina (položaj centra, delte i sl.) nedostatak je u velikoj osjetljivosti na kvalitetu uzorka, a često se vrlo teško određuje položaj centra. Delta, koja se obično nalazi na rubu uzorka, obično je slab�tisnuta (sl. 10.11), a može i izostati (L. Gyergyek, 1979). Metode koje se koriste osnovnim strukturnim karakteristikama uzorka su pouzdanije (H. Moayer, 1975). Na osnovi toka papilarnih linija mogu se definirati neki karakteristični oblici uzorka koji predstavljaju osnovne grupe za razvrstava nje. K. S. Fu, H. Moayer i A. Graselli predlažu sintaktički pristup (K. S. Fu, 1977; A. Graselli, 1969) i opis uzorka po smjerovima papilarnih linija (sl. 10.13), što je i polazna točka našeg načina strukturnog razvrstavanja. Ručna klaSifikacija grubo određuje uzorke u lučne, kružne, petljaste i posebne. Oko 60% svih otisaka prstiju su petijasti otisci, 5% su lučni, 30% kružni, a svi ostali oblici su rjeđi. Zbog toga smo se odlučili za sustav razvrstavanja u pet osnovnih grupa (sl. 10.14). Uz to smo predvidjeli i mogućnost daljnjeg hijerarhijskog razvrstavanja na manje pod grupe. Strukturno razvrstavanje u uskoj je vezi sa sintaksom jezika. Zbog toga ćemo ponoviti nekoliko osnovnih definicija iz teorije formalnih jezika, koje smo već imali u poglavlju 6. .
Sl. 10.13. Prikaz otiska prsta matricom smjerova koja je dobivena u toku pretprocesiranja. Smjerove odreduju tokovi papilamih linija
Definicija l
Gramatika je četvorka: gdje su: V N konačni skup varijabla ili međuznakova (neterminala), VT p
konačni skup konstanata ili konačnih znakova (terminala), -
konačni skup pravila ili produkcija: Cl-+�; Cl, �E(VTUVN)*'
162
10. SUSTAV ZA KLASIFIKACIJU OTISAKA PRSTIJU
ZBIRKA UZORAKA OTISAKA PRSTIJU
lijevI! petlje
Kružni uzorci
Of!Slle petlje
lufni , u.orcl
Posebni
u.orci
�����
Sl. 10.14. Ostwuni razredi otiska prstiju. U razredu posebnih uzoraka sakupljeni su uzorci oblika koji se rjeđe pojavlj,qu i uni koje ne moiemo sa sigurnoIću razvrstati
s
-
poče tni simbol
S
E
V N'
Definicija l Skup L (G) predstavlja jezik gramatike G ako: L(G)=
x S
{x IXE
� i
S�x}.
L (G) je skup nizova koji su sastavljeni od konstanata (tenninala) što ih možemo dobiti iz početnog simbola u skladu s pravilima iz skupa P. Ako skupu pravila pridružimo skup pripadnih vjerojatnosti stohastičku gramatiku Gs i njen stohastički jezik L (GS).
D,
dobit ćemo
Definicija 3 Stohastička gramatika je četvorka:
gdje vrijedi za V N> , VT> pravila oblika:
S
D) pED. p.
isto kao u definiciji l, a Ps=(P,
Vidimo da niz a smijemo zamijeniti nizom p s vjerojatnosti
konačni je skup
10.3.
163
STRUKTURNO RAZVRSTAVANJE UZORAKA OTISAKA PRSTIJU
Definicija 4 Skup
L(Gs) je stohastički jezik gramatike GS ako:
K
p(x)= •
L Pi'
j= 1
gdje je K broj različitih produkcija S �X. Time svakom nizu V T određujemo vjerojatnost
P (x)
Gs
x konstanata iz sk,upa
s kojom gramatika GS gradi taj niz.
Uzorak
--
Gramatike grupa
Raspodjela
Sl. 10.15. Shematski prikaz postupka strukturnog raZtJTstavanja uzorka
Postupak strukturnog razvrstavanja sadrži sljedeće faze (sl. 10.15): pretprocesiranje, - oblikovanje niza konstanata, - analizu rečenice s izabranom gramatikom. Razyrstavanje se odvija na sljedeći način: • Svakoj grupi, odnosno razredu uzoraka određujemo gramatiku. Gramati ka Gj svojim produkcijskim pravilima Pj opisuje svojstva uzoraka u razredu OOj' • Svaki uzorak prikazujemo nizom konstanata. Uzorci iz razreda OOj tvore jezik L (Gj) gramatike Gj• • Imamo toliko gramatika koliko i razreda uzoraka, a svaki je uzorak prikazan odgovarajućim nizom. Uzorak s nizom x ne može biti u razredu OOj ako analizom rečenice1) ne zaključimo da vrijedi:
xEL(Gj), ') Niz" naziva
se
rečenica.
XE V;.
164
10.
SUSTAV ZA KLASIFIKACIJU OTISAKA PRSTIJU
Ovdje je problem razvrstavanja sveden na analizu rečenice, odnosno uzorak se razvrstava u razred IDi ako i samo ako je njegov pripadni niz element jezika generiranog gramatikom Gi• Poznato je više općih ili usmjerenih postupaka za analizu rečenice. Za naš sustav za strukturno razvrstavanje uzoraka izabrali smo algoritam analize naniže s vraćanjem (A. V. Aho, 1972).
[SJ OO
[2J
11
22
[ZJ�[SJ[2] K1
K2
K4
K3
[OC] M1
M2
C1
C2
B M4
� (3
� (4
�[AJQJ� OO
OO
OO
OO
Sl. 10.16. OmO'lmi potezi u uzorcima otiska prstiju i odgovarajuće konstante (terminali)
Zbog složene strukture otisaka prstiju, za njihov opis moramo imati priličan broj karakteristika kojima pridružujemo konstante iz izabranih gramatika. Pokaza lo se da svaki uzorak možemo opisati sljedećim osnovnim potezima, odnosno konstantama (sl. 10.16): V T= {OO, l l , 22, 33, Kl, K2, K3, K4, Ml, M2, M3, M4, Cl, C2, C3, C4, DD,
NN},
gdje smo svim potezima karakterističnim za deltu dodijelili istu konstantu DD, a nekarakteristični i dvosmisleni potezi dobivaju oznaku NN. Iz skupa terminala V T gradimo za svaki uzorak vlastiti niz konstanata. Polazna točka su matrice smjerova papilarnih linija veličina 16 x 16, koje određuju osnovne poteze uzorka. Od njih formiramo niz konstanata (sl. 10.17),
/ iL / f "- "- "- "l/ / / f "- "- "- "/ / / "- "- "- "/ / / I I I, ""\ //// 1 I l I / / / / / ...d ..J /// / / / / ......
c::::>
Niz konačnih simbola
-
-
-- ---
Matrica smjera
..J ../ -
MotrlCC1 osnovnih poteza
Niz konačnitI simbola x;22 22 22 22 K1·· ....... 33 33
22 22 22 22 22 22 22 11 11 11 11 11 11 K4 K4 11 Matrica konllČnih simbola
22 K4
Sl. 10.17. Oblikovanje niza konstanata. Prikaz prijelaza s m1ltrice smjera na niz konstanata
10.3.
STRUKTURNO RAZVRSTAVANJE UZORAKA OTISAKA PRSTIJU
165
Gramatikama opisujemo svojstva uzoraka u pripadnim razredima. Važno je koju smo vrstu gramatike izabrali da bi postupak bio djelotvoran. Zbirke otisaka prstiju sadrže vrlo različite oblike uzoraka. Sami uzorci često sadrže i smetnje, tako da je točno razgraničavanje osnovnih oblika teško. Neki oblici uzoraka su češći od drugih. Te se razlike u broju pojavljivanja opažaju već kod oblika uzoraka u istoj osnovnoj grupi. Sve to upućuje na primjenu stohastičkih gramatika koje se koriste vjerojatnošću raspodjele uzoraka i razreda. Poznato je da povećanje izražajne moći jezika zahtijeva opširniju gramatiku. Takvom se gramatikom lakše opisuju svojstva uzoraka, ali se time komplicira analiza rečenice kojom se uzorak razvrstava. Upravo zbog toga veliku pažnju treba posvetiti izboru vrste gramatike. U našem slučaju izabrali smo gramatiku sa sljedećim pravilima (\-. Gyergyek, 1979):
VE(j,
k, I, m, n)
a. E VNU VT
Pravilo prvog oblika ima svojstvo podjele uzorka. Na primjer, pravilo S-->XIX2X3X4 dijeli uzorak S na četiri dijela, pravilo Xl-->Xl l Xl 2 Xl 3 Xl 4 dijeli kvadrat Xl na četiri potkvadrata, itd. Na taj način dijelimo uzorak na trećoj razini dijeljenja na 6 4 kvadrata koji odgovaraju veličini matrice terminalnih značajki uzoraka (sl. 10.18). Zatim upotrebljavamo pravilo drugog oblika, koje određuje terminale na određenim mjestima u uzorku. Na primjer, pravilo Xl l l-->22 određuje u gornjem lijevom kutu slike uzorka konstantu 22 (sl. 10.19). Xlll
O=>C: :G => liIJ S-Xl X2 X3X4
.-----I I I I I
Xl-X11 X12 xn X14
__
I I ----t I I I I ..1 ___ 1I ____ _ I I I I I
Xll-X111 X1ll Xlll Xlll
Sl. 10.18. Prikaz pravila prvo;; oblika. Dijeljenje uzorka na matricu 8 x8 sa tri razine dijeljenja
Xlll
�-i __.J:
I I I I I , ----;----I I I I I
22
�_"
I
J_ ! __� I
.L_t-
I
__l __�-----I I I I I I
X111-22
Sl. 10.19. Prikaz djelovanja pravila drugog oblika
Na taj način moguć je strukturni opis svakog uzorka bez obzira na njegovu osnovnu grupu. Takva gramatika može biti karakteristična gramatika svake stoha stičke gramatike bez obzira na podjelu uzoraka u razrede. Znači, stohastičke gramatike pojedinih osnovnih razreda razlikuju se međusobno samo po skupovima D koji određuju vjerojatnosti pravila iz skupa P.
166
10.
SUSTAV ZA KLASIFIKACIJU OTISAKA PRSTIJU
Ako je G;= (VN , V T , P, S) karakteristična gramatika stohastičkih gramatika Gs, imat ćemo:
GS = (V N, VT> PSi' s) ,
PS (P, Dj) i =
,
i
=
l,
. .
stohastička gramatika uzoraka iz razreda . , M; M je broj razreda uzoraka.
co;
Vjerojatnosti u grupama DI ocjenjujemo pomoću skupa uzoraka za učenje. Uzorci iz skupa za učenje tipični su predstavnici svojih razreda. Opišimo postupak ocjenjivanja vjerojatnosti.
l) Izaberemo skup uzoraka za učenje za svaki pojedini razred: •
•
Rt,= {(xp!j)"'" (x",!,,), ... , (XN,, !�)} i=l , .. . , M.
gdje je R"
COl
-
M x" !" Ni -
skup uzoraka za učenje iz razreda co" i-ti razred uzoraka, broj razreda, odnosno grupa, niz konstanata - uzorak iz skupa za učenje, frekvencija pojavljivanja niza x" broj uzoraka za učenje u razredu co;,
2) Karakterističnom gramatikom G = (V N' V T' P, s) analiziramo uzorke iz skupa za učenje za pojedine grupe. Za ocjenu vjerojatnosti u grupi Di analiziramo uzorke iz R". Želimo odrediti ocjene vjerojatnosti Pn pravila
Xr-+a.;
Izračunavamo ih izrazom: n ..
gdje je: Nn (XJ nlO
Pr.
-
=
L
!"Nn�X,,),
x.eRHj,
broj ponavljanja pravila Xr -+al U analizi niza XI<' srednja vrijednost broja ponavljanja pravila Xr-+a. U analizi niza iz skupa za učenje razreda coi> ocjena vjerojatnosti Pn (Pn je vjerojatnost s kojom možemo zamijeniti Xr konstantom as)'
3) Karakterističnoj gramatici G= (V N, VT, P, S) određujemo ocjene vjerojat nosti pravila sabrane u skupovima Dn. Na taj način dobivamo M stohastičkih gramatika: i= l, 2, ... , M. Primjenom koraka l) do 3) dobivamo M stohastičkih gramatika G s. S) koje odgovaraju razredima uzoraka col' i l , . . . , M. =
=
(V N' VT> Ps�.
167
10.4. LITERATURA
Zelimo odrediti razred uzorka koji je opisan nizom konstanata izvodimo za svaku stohastičku gramatiku i dobivamo vjerojatnosti:
P(x/ Gs);
x.
Analizu
. . , M. koja nam kazuje s kakvom vjerojatnosti gramatika Gs gradi upravo niz x. Uzorak sa nizom x pripada razredu co; za koji je vjerojatnost _P(Gs)P(xIGs) ć naJve a. P(Gs,/ x) P(x) P(x) je vjerojatnost uzorka s nizom x, peGs) je vjerojatnost gramatike Gs" odnosno pripadnog razreda co;. peGs, I x) je vjerojatnost da uzorak s nizom x 2'= 1,
2,
.
•
-
pripada razredu co;. Za simulaciju razvrstavanja imali smo premalo uzoraka da bi ocjena vjerojat nosti i bila pouzdana. Zato smo pretpostavili da su svi uzorci kao i svi razredi uzoraka jednako vjerojatni. Iz toga slijedi da je za razvrstavanje bilo dovoljno odrediti najveću vjerojatnosti Razvrstavanje je simulirano na računalu CYBER 72/172. Razvrstali smo sto uzoraka koje smo izabrali tako da se broj pojedinih oblika uzoraka približno podudarao sa stvarnom raspodjelom u velikim zbirkama. Za najkarakterističnije predstavnike osnovnih grupa izabrali smo uzorke iz skupa za učenje. Rezultati simulacije potvrđuju djelotvornost izabrane metode. Uzorci su raspoređivani s točnošću oko 94%, dok je prosječno vrijeme razvrstavanja relativno malo (0,2 s).
P(x) P(Gs)
P(xj Gs).
10.4. UTERATURA V. Vidic: Galton-Henryev ristem klasifikacije otisaka prstiju, Ljubljana, 1975. Rockwell International, Fingerprint Identification Systems, 1976. L. Gyergyek, F. Pernuš, S. Kovačič, N. Pavešić, Automatska identifikacija otisaka prstiju, Elektro tehnički vjesnik, Vol. 46, br. 4, august-oktobar, 1979, str. 268 -272. C. W. Swonger, Application of Fingerprint Identification Technology to Criminal Identification and Security Systems, Edinburgh, juli 1973. L. Gyergyek (voditelj projekta), AfJtomatićno razpoznavanje oseh na omovi fJzorcev prstnih odtisov. RaziskovaIna naloga RSS, Ljubljana, septembar 1978. L. Gyergyek (voditelj projekta), Procesiranje dvodimenzionaInih povrlin podatkov, Naloga RSS, Lju bljana, septembar 1977. L. Gyergyek (voditelj projekta), Razpoznavanje rokopisov, tipkopisov in prstnih odtisov, Naloga RSS, Ljubljana, novembar 1980. F. Pernuš, Magistrska naloga, Falrulteta za elektrotehniko, Ljubljana, 1978. S. Kovačič, Diplomsko delo, Fakulteta za elektrotehniko, Ljubljana, 1976. J. P. Riganati, An Overoiew of Algorithms Employed in Automated Fingerprint Processing, Proc. 77. Int. Conference on Crime, Countermeaures-Science and Engineering, juli 1977. S. Kovačič, Magistrska naloga, Falrulteta za elektrotehniko, Ljubljana, 1978. B. Moayer, K. S. Fu, A Syntactic Approach to Fingerprint Pattern Recognition, Pattern Recognition, 1975. L. Gyergyek, F. Pernuš, N. Pavešić, Normaliziranje fJzorcev prstnih odtisov, XXII ETAN, Zadar, juni 1978. V. K. Singh, Doktorska disertacija, Fakulteta za elektrotehniko, Ljubljana 1978. L. Gyergyek, S. Kovačič, F. Pemuš, N. Pavešić, Strukturno razvrstavanje uzoraka otisaka prstiju, Elektrotehnički vjesnik, Vol. 46, br. 4, august-oktobar, 1979, str. 273 -277. K. S. Fu, Syntactic Pattern Recognition, Applications, Springer-Verlag, Berlin-Heidelberg -New York, 1977. A. Graselli, On the Automatic Clasrification of Fingerprints, u djelu: Methodologies of Pattern Recognition, ed. S. Watanabe, AP 1969. A. V. Aho, J. D. Ullman, The Theory of Parsing, Translation and Compiling, Vol. I i II, Prentice-Hall Inc., 1972.
ll.
ARHITEKTURA RAČUNALA
(Prof. dr. Slobodan Ribarić, dipl. ing.)
11.1. UVOD Sustav računala može se prikazati hijerarhijskim modelom prema slici 11.1. Najnižu razinu, odnosno samu jezgru modela čini sklopovska oprema ili hardver. Pod tim pojmom razumijevamo sve materijalno od čega je računalo načinjeno: sve mehaničke, magnetne, električne i elektroničke sastavne dijelove i naprave (npr. pogonski motor jedinice diska, magnetna traka, disk, memorija s feritnim jezgrica ma, izvori električnog napajanja, tranzistori, sklopovi načinjeni u tehnologiji niskog (SSI - Small Scale Integration)), srednjeg (MSI - Medium Scale Integration) i visokog stupnja (LSI - Large Scale Integration) integracije i sl. U užem smislu pod sklopovskom podrškom razumijevamo elektroničke dijelove računala.
/ /
I I I I I I I I I I I \ \ \ \ \ \ \ \ "-
/
/
/
/�
/---�iW Ils\uirl programi
.
,
,
':l'I
\.
"
,
,
,
Sl. 11.1. Model sustava računala
,
"
"-
11.1. UVOD
169
Sklopovska oprema okružena je sljedećom razinom: dijelom programske opreme (ili softverom) koji se naziva jezgrom operativnog sustava (monitor). Sljedeću višu razinu čine namjenski i uslužni programi (engl. utility program), editori, prevodioci, punioci, programi za otkrivanje pogreški i sl. Pod pojmom programska oprema ili softver razumijevaju se prije spomenute dvije razine. Softver tvore tri glavna dijela: •
namjenski ili aplikacijski programi koji su pisani za rješavanje određenih specifičnih problema, • sustavni programi koji omogućavaju lakši razvoj namjenskih programa, • dokumentacija, kao nužni dio svakog programa, da bi se omogućila efikasna i pravilna upotreba programa u obje razine). Najvišu razinu u modelu računalskog sustava sačinjavaju ljudi-korisnici računala. Oni svoje zadatke upućuju kroz niže razine sklopovskoj podršci, koja te zadatke izvršava uz sudjelovanje operativnog sustava. S razvojem tehnologije visokog stupnja integracije pojavljuje se, uz pojmove hardver i softver, i pojam "firmware'" a odnosi se na programe što ih je obično proizvođač upisao u ispisne memorije - ROM (Read Only Memory). Iako je na prvi pogled granica između razina hardvera i softvera oštra i jasna (hardver se odnosi na komponente, a softver se odnosi na programe), razvoj tehnologije (posebno u prošlom desetljeću) potvrdio je tzv. "dualizam" hardvera i softvera. On se očituje u tome da gotovo sve što ie realizirano u hardveru može biti načinjeno u softveru i obrnuto. Takvim dualizmom izbrisana je oštra granica između hardvera i softvera. Na primjer, prije desetak godina smo prevodioce za više programske jezike smatrali isključivo programskim komponentama. Među tim, danas postoje računala koja imaju realizirane takve prevodioce u hardveru (npr. mikroprocesor WD9000 tvrtke Western Digital ima izravnu implementaciju prevodioca za jezik PASCAL). Razvoj tehnologije snažno je utjecao i na pristup izvedbi računalskih sustava. Prije nešto više od deset godina vrijedio je pristup koji se može opisati geslom: "Sve što se dade realiziraj u softveru!". Međutim danas, zahvaljujući niskoj cijeni sklopova, vrijedi pristup: "Sve što se dade realiziraj u hardveru!". Takav pristup omogućio je povećanje faktora brzina/cijena za sustave računala. Izraz "arhitektura sustava računala" nastao je u tvrtki IBM šezdesetih godina. Upotrebljavao se za opisivanje sustava računala serije IBM 360 s pro gramske točke gledišta. Tako definirana arhitektura uključivala je opise skupa instrukcija, registara i adresnog prostora na razini zbirnog jezika (asemblera). S vremenom se pojam "arhitektura sustava računala" proširio, tako da P. H. Enslow i I. Flores pod tim pojmom razumijevaju algoritme koji se upotrebljavaju u osnovnim funkcionalnim jedinicama (aritmetičko-logičkoj jedinici, upravljačkoj jedinici, U /1 (ulazno-izlaznoj) jedinici i sL). E. C. Joseph promatra arhitekturu sustava računala, poput arhitekture u modernom građevinarstvu, funkcionalno usmjerenom. Ona je definirana kao način uređenja i struktura sustava s postupcima koji su potrebni za postizanje određenih ciljeva. Ti su ciljevi, obično, povećanje propusnosti (engl. throughput) , prilagod ljivosti (engl. flexibiIity), pouzdanosti (engl. reliability), raspoloživosti (engl. availability) i smanjenje cijene sustava. Ostvarivanje tih ciljeva postiže se zahvatima na trima sastavnim područjima arhitekture: hardveru (sklopovska oprema), softveru (programska oprema) i engl. humanware područje koje se bavi problemom odnosa čovjeka i računala te
170
ll. ARHITEKTURA RACUNALA
postupcima i načinom čovjekove primjene sustava računala. Prvo područje arhi tekture odnosi se na proučavanje sklopova i uređaja (niža razina) te organizacije i povezivanja sklopovskih komponenata (viša razina) u sustav računala. Te kompo nente su sabirnice, memorije, aritmetičko-logičke jedinice i U/I jedinice. Programska oprema odnosi se na upravljačke i namjenske programe koji su potrebni za maksimalno iskorištenje sklopovskih sposobnosti sustava računala. U skladu s hijerarhijskim modelom sustava računala i gornjih pristupa arhitekturi možemo dati sljedeću, dovoljno općenitu, definiciju arhitekture:
Arhitektura sustava računala je vještina oblikovanja računala kako bi se ostvarili zahtjevi korisnika, što se postiže primjenom niza tehnika, postupaka i zahvata u svim hIjerarhijskim razinama sustava računala.
11.2. KLASIFIKACIJA ARHITEKTURE SUSTAVA RAČUNALA Kao rezultat primjene niza zahvata, postupaka i tehnika u svih hijerarhijskim razinama, u skladu s modelom sustava računala, nastao je širok spektar različitih sustava računala koji se razlikuju svojom organizacijom i povezanosti sklopovskih komponenata, organizacijom programske opreme i namjenom - jednom riječi razlikuju se u arhitekturi. Postoje mnogi pristupi klasifikaciji arhitekture sustava računala. Većina tih pristupa upotrebljava globalna svojstva arhitekture i zbog toga vrijede samo unutar ograničenog područja. U ovom ćemo poglavlju opisati klasifikaciju koja će u dovoljnoj mjeri omogućiti razvrstavanje i opis sustava računala primijenjenih u sustavima za raspoznavanje. Jedna je od mogućih klasifikacija arhitekture ona prema promjenjivosti strukture sustava računala. Razvoj LSI tehnologije i pojava višefunkcionalnih LSI modula omogućava nove pristupe u projektiranju i konstrukciji složenih sustava računala. Višefunkcionalni LSI moduli reduciraju broj tipova modula u sustavu raču nala i time smanjuju cijenu realizacije. Takvi LSI moduli imaju procesor, U/ I jedinicu i sklop za međumodularne veze, a njihova se funkcija određuje upisiva njem funkcijskog koda. Upravo su takvi moduli razlog za klasifikaciju prema promjenjivosti strukture: •
Statička arhitektura - ne dopušta programski upravljane promjene međumodularnih veza. Svaka promjena u konfiguraciji arhitekture zahti jeva zahvat u sklop.
•
Rekonfigurabilna arhitektura omogućuje djelomično programski upravljive promjene u međumodularnim vezama (ili jedinicama). , Na primjer, promjene veze procesora s memorijskim modulima, promje ne duljine memorijske riječi, promjena strukture klasično realiziranih modula. Dinamička arhitektura omogućuje potpunu rekonfiguraciju sustava po moću programskog upravljanja. Na primjer, 64-bitno računalo se rekon figura u dva 16-bitna i jedno 32-bitno računalo1).
•
') Kada ne pravimo razliku "računalo".
II
složenosti, ravnopravno upotrebljavamo
uz
izraz "sustav računala" i izraz
11.2.
171
KLASIFIKACIJA ARHITEKTURE SUSTAVA RACUNALA
Jedna je od općenito prihvaćenih klasifikacija arhitekture (M. S. Flynn, 1972) ona koja se temelji na toku instrukcija (slijedi instrukcija koje izvodi procesor) i toku podataka (slijedu podataka povezanih s instrukcijskim tokom),
-f�-
____
_
ftl'MO
"
41�
I
__
SIMQB
I
+
I
'
l l'
t
I I
4.��I-�:�-�OO I
I I
I I
�I ISO
�I- ____
N o, Ins!rukcijski tok
01 Polje Yektom A (prem Flynnul
MIMOW
SIMOW
I
I I
I
SlSOW
SISoB-
� J ,.
---
1
I +
I
+ -- t-
�
I I
MISOW
MISOB
--N
o.l riječ podo.tkn (WI ili semo bit IBI bl Klo.sifikarijo. p remo. Hlindleru
0.,
Sl. 1l.2. Polja vektora A
Tip arhitekture sustava računala opisuje vektor A= (al' a;,)', gdje prva komponenta al opisuje tok instrukcija, a druga komponenta al opisuje tok podataka. Postoje četiri osnovna tipa arhitekture s obzirom na vektor A (sl. 11.1): • Vektor A=(I, l )' opisuje SIDS (Single Instruction Stream Single Data Stream) - jednostruki tok instrukcija - jednostruki tok podataka. Predstavnik tog tipa arhitekture je standardno serijsko računalo s jednim procesorom (uniprocesor), npr. DEC-ov PDP l l ili IBM360. •
Vektor A= (N, 1)' opisuje MISD (Multiple Instruction Stream Single Data Stream) - višestruki tok instrukcija - jednostruki tok podataka. Primjer za taj tip arhitekture je protočno računalo (pipeline computer), npr. IBM 360/91, te računalo ASC tvrtke Texas Instruments.
Vektor A=(I, M)' opisuje SIMD (Single Instruction Stream Multiple Data Stream) - jednostruki tok instrukcija - višestruki tok podataka. Za taj tip računala osnovna je značajka da se jedna instrukcija izvodi istodobno na više podataka. Primjeri takvih sustava računala su ILLlAC IV, MPP (Massively Parallel Processor) i STARAN. • Vektor A= (N, M)' predstavlja MIMD (Multiple Instruction Stream Multiple Data Stream) - višestruki tok instrukcija višestruki tok podataka. Računalo tog tipa arhitekture sastoji se od sustava više procesora u kojem procesori izvode različite instrukcije na različitim podacima. Primjeri takvih sustava računala su multiprocesorski sustav UNIVAC 1108 i sustav C. mmp. Slika 11.3 shematski prikazuje pojedine tipove arhitekture prema Flynnovoj klasifikaciji. L. C. Higbie (1973) uzima kao osnovu Flynnovu klasifikaciju s tim da tip arhitekture SIMD dijeli na sljedeće podtipove: • asocijativno računalo izvodi operacije nad podacima adresirajući ih pomoću oznake ili same vrijednosti (asocijativno) umjesto adresom loka cije - mjesta u memoriji. •
172
ll.
ARHITEKTURA RAL:UNALA
Instrukcija
Memorija al SlSO- A= 11,11'
Memorija bl MISO-A= IN,ll'
Programskll memorijll Upravljanje Instrukcija Procesor Procesor Procesor Procesor
Memorija podatIlka cl SIMO -A=ll,MI'
•
Memorijll dl MIMO-A=IN,M)'
Sl. J J.1. Shematski prikaz tipova arhitekture prema F/ynnu
asocijativno matrično (engl. array) računalo - djeluje na dijelovima podataka (bit-slice of data) adresirajući ih asocijativno. Podaci se obradu ju pomoću polja vrlo jednostavnih procesnih elemenata. • matrično računalo - obraduje podatke paralelno, poput asocijativnog matričnog računala, ali ih adresira adresom lokacije, a ne oznakom ili vrijednošću. • ortogonalno računalo - sastoji se od dva dijela: asocijativnog matričnog računala i klasičnog računala s jednim procesorom (SISD tip arhitektu': re). Takvo računalo dopušta pristup do dijela riječi (pristup bit-slice) i pristup do cijele riječi. Slika 11.4 prikazuje pojednostavnjenu organizaci ju ortogonalnog računala. Neki autori (L. C. Hobbs, 1970) predlažu klasifikaciju arhitekture s obzirom na stupanj paralelizma u upravljačkoj jedinici, procesoru i toku podataka, medu tim takva klasifikacija nije primjerena jer su u visokoparalelnim sustavima računala svi ti oblici paralelizma prisutni u velikoj mjeri, što otežava razlučivanje pojedinih tipova arhitekture. W. Hlindler je kvadratu koji se dobiva povezivanjem točaka SIMD-MIMD -MISD-SISD (sl. 11.2a) pridodao novu dimenziju - mjeru koja govori o tome da li se tok podataka sastoji od riječi ili samo od jednog bita (sl. 11.2b). U daljnjem razmatranju arhitekture sustava računala upotrijebit ćemo Flyn novu klasifikaciju.
173
11.3. ARHITEKTURA TIPA SISD - VON NEUMANNOVO RACUNALO
Konvencionalno računalo SISO arhitekture
Procesni elementi PE, PEz PE3 PE4
•
PE5 · · ·
PEn_, PEn Dio riječi
I bit-slice of dataJ
MAR-Memorijski adresni registar PE -Procesni elementi
Sl. 11.4. Pojednostavnjeni prikaz organizacije ortogonalnog računala
11.3. ARHITEKTURA TIPA SISD VON NEUMANNOVO RAČUNALO
Von Neumannovo računalo Jedan od najznačajnijih radova na području arhitekture računala autora A. W. Burksa, H. H. Goldstinea, J. Neumanna (1946) nastao je nekih petnaestak godina prije pojave samog izraza "arhitektura sustava računala". Taj rad predstavlja detaljan opis računala s pohranjivanjem programa (engl. stored-program compu ter) i imao je velik utjecaj ne samo na prvu generaciju računala već i. na sve ���� Von Neumannovo računalo je konvencionalno serijsko računalo - tipičan predstavnik SIDS arhitekture. Opišimo ga! Slika 11.5 prikazuje model von Neumannova računala. Računalo se sastoji od četiri funkcionalne jedinice: • aritmetičko-logičkog modula, • upravljačke jedinice, • memorije, • UII jedinice. Na slici 11.5 punom linijom označen je tok instrukcija i podataka, a crtkanom upravljački tok. Aritmetičko-logički modul sastoji se od aritmetičko-logičke jedinice (ALU) i registara koji privremeno pohranjuju podatke koji sudjeluju u operacijama ALU. Aritmetičko-logička jedinica se u von Neumannovu računalu sastojala od zbrajala i sklopa za posmak (adderlshifter)_ Složenije operacije, kao što su množenje i dijeljenje, izvodile su se ponavljanjem operacija zbrajanja i posmaka.
174
II.
Periferni uređcji
Uli Jedinica
L-,----L ,..---L _
ARHITEKTURA RACUNALA
-
-,. I I I
Aritmetičke -Iogifko. jedinko.
CPU-centralno. procesorsko. jedinica
l Memorijo. (MemorijskI! jedinico.l
SJ. ll.5. Von Neumannov model računala
legendll: A
o.kull1lllnlllrA
B registor B p progrQIIIsko brojilo I instrukcijski regislQr S memorijski regis tar podntolU1 li memorijski adresni registar
!{
Skt�v i lU generiro.nje uprovljočkih signala.
. ]. ....-+---�
i
�
.�-+------�------------�
Sl. ll.6. Organizacija centralne procesne jedinice
175
l \.3. ARHITEKTURA TIPA SISD - VON NEUMANNOVa RACUNALO
Slika 11.6 prikazuje detaljniju organizaciju centralne procesne jedinice (CPU - Central Processing Unit). Zbrajanje i oduzimanje izvodilo se pomoću zbrajala i registra A (koji se naziva akumulator). U akumulatoru A smještao se jedan operand, a nakon operacije u aklimulatoru A bi se nalazio rezultat. Kao proširenje akumulatora A upotrebljavao se registar B. Množenje, kao što je već spomenuto, izvodilo se zbrajanjem i posmakom i davalo je rezultat dvostruke duljine operanada. Duljina operanada u von Neumannovu računalu bila je 40 bita. Rezultat množenja smještao se u registar A (značajniji bitovi) i registar B (manje značajni bitiovi). Pažnja von Neumanna bila je usmjerena na računalo kao sredstvo koje se primjenjuje u rješavanju numeričkih zadataka. Analizom tadašnjih matematičkih problema (1946. god.) došao je do potrebnog kapaciteta memorije i duljine riječi (kapacitet 4096 riječi duljine 40 bita, tako da je preciznost računanja
2-40�0,9 x 10-12). Upravljačka jedinica daje sve potrebne signale za vremensko vođenje i upravljanje ostalim jedinicama računala. Na taj način ona upravlja radom memorije i aritmetičko-logičke jedinice i usmjerava ih na izvođenje slijednih koraka zadanog algoritma. Upravljačka jedinica pribavlja instrukciju iz memorije, dekodira je, pribavlja potrebne operande iz memorije i izvršava instrukciju. Von Neumann, Goldstine i Burks su razradili postupak prikazivanja algo ritma kao sekvencije ill slijeda elementarnih akcija s tim da je svaka takva
akcija izvodljiva za računalo. Računa se tako da upravljačka jedinica pribavlja pojedine korake algoritma u kodiranom obliku i u skladu s njihovim značenjem generira signale pomoću kojih aritmetičko-logička jedinica i memorija izvode potrebne akcije. Algoritam je upisan u memoriji. To je jedna od osnovnih značajki von Neumannova računala - ono pohranjuje podatke i instrukcije u istu memoriju. Računalo s takvom značajkom naziva se računalo s pohranjivanjem programa (engl. stored-program computer). U skupu instrukcija von Neumann je predvidio i posebne instrukcije koje modificiraju adresni dio instrukcije. Na taj način programi mogu preoblikovati svoje instrukcije za vrijeme rada, tako se ista instrukcija može primijeniti na skup različitih podataka. Takvo preoblikovanje instrukcija reduciralo je zahtjeve za većim kapacitetom memorije. Međutim, početkom 6O-ih godina ta je koncepcija preoblikovanja adresnog dijela napuštena kao neprikladna zbog niza nedostataka vezanih uz ispitivanje ispravnosti djelovanja programa. Budući da se instrukcije pohranjuju u istu memoriju kao i podaci (duljina riječi 40 bita), von Neumann i ostali predložili su da se u 4O-bitnu riječ smjeste . dvije instrukcije, svaka sastavljena od 20 bita (sl. l l . 7). Instrukcija 1 Instrukcija 2 r------A.--�v,--A·--� Operacijski ktld 8 billi
I
Adresa 12 bilo
20 bilo
Operacijski ktld 8 bitll
Adreso 12 bilo
20 bilo
Sl. 11.7. Organizacija riječi u von Neuman1WflU ralutuJlu
176
II. ARHITEKTURA RACUNALA
Prvo polje, 8-bitni operacijski kod, odreduje operaciju koja će biti izvedena, a 12-bitna adresa odreduje operand. Osam-bitni kod omogućuje 256 različitih operacija, dok 12-bitna adresa dopušta izravno adresiranje cijele memorije: 21Z 4096. Ovdje je važno napomenuti da je memorija jednodimenzionalna, odnosno da se pojavljuje kao vektor sastavljen od riječi (duljine 40 bita) sa sekvencijainim načinom adresiranja (koncepcija linearnog adresiranja; memorijske lokacije imaju adrese 000, 001, 002, . , FFF (heksadekadno». Tablica 11.1 daje pregled tipičnih instrukcija za von Neumannovo računalo. . .
Tablica 1J.J .
Pregled tipičnih instrukcija za von Neumannovo računalo Operacija
Primjer
Instrukcija Pun (load)
LOADX
A: =-MEMORIJA [X];
Pohrani (store)
STOREY
MEMORIJA [Y]: =A;
Puni negativnu vrijednost (load negative)
LNEGZ
A:
Puni apsolutnu vrijednost (load absolute value)
LABSW
A: =ABS (MEMORIJA [WJ);
Zbroji (add)
ADDX
A: =A+MEMORIJA [X];
Oduzmi (subract)
SUBY
A: =A-MEMORIJA [Y];
Pomnoži (multiply)
MULZ
A: =-A
Podijeli (divide)
DIVW
A: Af MEMORIJA rW];
Granaj (lijevo) Branch (left»
BRAL X
P:X, LIJEVA INSTRUKCIJA;
Granaj (desno) (Branch (right»
BRARY
P:Y, DESNA INSTRUKCIJA;
Granaj akoje pozitivno (Jijevo) (Branch positive (left»
BPOSLX
AKO JE A :;'0, TADA P: =X, LIJEVA INSTRUKCIJA;
Gornja ako je pozitivno (desno) (Branch positive (right»
BPOSRY
AKO JE A:;'O, TADA P:Y, DESNA INSTRUKCIJA;
Pohrani (lijevo) S tore address (left)
STADLX
MEMORIJA [X], LIJEVA ADRESA: =A
Pohrani (desno) Store address (right)
STARY
MEMORIJA [y], DESNA ADRESA: =A
Posmik (shift) lijevo (left)
SHL
A:=2'A;
Posmik desno (right)
SHR
A:=Af2;
.
-MEMORIJA [Z];
x MEMORIjA
[Z];
: = označava tok podataka, pokazuje da je vrijednost na desnoj strani od simbola prenesena prema registru ili memoriji s imenom na lijevoj strani simbola: = MEMORIJA [X] označava nurneričku vrijednost operanda na dokaciji s adresom X O "X" 4096 vrijednost adrese Izraz LIJEVA i DESNA INSTRUKCIJA odnosi se na instrukcijske riječi smještene u 40-bitnoj riječi
11.3.
ARHITEKTURA TIPA SISD
VON NEUMANNOVO RACVNALO
177
Registar P, u centralnoj procesnoj jedinici, ima funkciju programskog brojila i sadrži adresu sljedeće instrukcije koja će biti izvršena. Registar I je instrukcijski registar i sadrži kopiju instrukcije koja se upravo izvodi. Duljina je programskog brojila, registra P, l3 bita, 12 bita za izravno adresiranje memorije i I bit za identifikaciju lijeve ili desne instrukcije u riječi koja je adresirana. Instrukcija se izvodi u dvije faze: PRIBAVI i IZVRŠI. U . fazi PRIBAVI dogada se sljedeće: l. KORAK. Cita se sljedeća instrukcija i prenosi se u registar I. Adresa je instrukcije sadržana u registru P. 2. KORAK. Sadržaj registra P povećava se za jedan i određuje instrukciju koja neposredno slijedi za instrukcijom koja je upravo pročitana. 3. KORAK. Dekodira se 8-bitni operacijski kod. Probuđena je samo ona izlazna linija dekodera kojoj odgovara opera cijski kod pribavljene instrukcije. Trećim korakom završava se faza PRIBAVI. Računalo prelazi u fazu IZVRŠI. 4. KORAK. Pobuđuju se slijedovi operacija kojima se izvršava instrukcija. Slije dovi tih operacija su, na primjer, prijenos podataka prema memoriji ili od memorije, prijenos podataka prema registrima, prijenos pod ataka prema aritmetičko-Iogičkoj jedinici; aktiviranje zbrajala ili sklo pa za posmak radi obrade podataka, pr()mjena vrijednosti program skog brojila ukoliko se izvodi instrukcija grananja i sl. Izvođenjem 4. KORAKA upravljanje se usmjerava opet na l. KORAK, odnosno fazu PRIBAVI. Taj se ritam prijelaza iz faze PRIBAVI u fazu IZVRŠI, i opet ponovo, provodi sve dok se ne izvrši instrukcija HALT (Stoj). Slika 11.8 prikazuje dijagram prijelaza za von Neumannovo računalo.
Sl. 11.B. Dijagram prijelaza za
von
Neumannuvo računalo
Kako računalo, odnosno upravljačka jedinica, razlikuje instrukciju od podatka? Upotrebom zajedničke memorije za podatke i instrukcije, 40-bitna riječ može biti razlikovana (je li instrukcija ili podatak?) samo prema stanju računala. Ako je računalo u fazi PRIBAVI, tada se riječ iz memorije pribavlja u instrukcijski registar I i tumači kao instrukcija. Ako je računalo u fazi IZVRŠI, riječ koja se pribavlja iz memorije tumači se kao podatak, odnosno operand. Memorija von Neumannova računala sastoji se od 4096 4O-bitnih riječi. Ta je memorija bila izvedena kao katodna cijev za memoriranje (engl. cathoderay storage tube Selectroni»), jer tadađnji razvoj tehnologije nije omogućavao primjenu 163840 bistabila=4096 x 40. Von Neumann, Burks iGoldstine predvi dali su vrijeme pristupa od 5 do 50 mikrosekundi, što je za ono vrijeme bilo prilično ambiciozno. ') Upotrijebljeno je 40 Selectrona, svaki kapaciteta 4096 bita.
178
ll. ARHITEKTURA RACUNALA
Riječ se iz memorije pribavlja tako da se 12-bitna adresa smještava u memorijski adresni registar M (sl. 11.6) i generira upravljački signal. titaj (READ). Izabrana se riječ nakon 5 ili 50 !.Ls (vrijeme pristupa) smješta u memorij ski registar podataka S. Upis u memoriju izvodi se tako da se 12-bitna adresa smješta u memorijski adresni registar M, a podatak koji se upisuje u memoriju smješta se u memorijski registar podataka S. Upravljačka jedinica generira upravljački signal Piši (WRI TE) i podatak se iz registra S upisuje na lokaciju adresiranu sadržajem registra M. Von Neumann, Burks i Goldstine, svjesni da postoje i mnogi problemi koji zahtijevaju kapacitet memorije veći od 2u riječi, razmatraju hijerarhijsku organi zaciju memorije gdje se sekundarna memorija (sporija, ali većeg kapaciteta) sastoji od medija koji može pohranjivati veće blokove riječi. Ta se memorija upravlja računalom i predstavlja sastavni dio sustava, ali prilikom rada ne zahtijeva intervenciju operatora. Kao medij za sekundarnu memoriju oni predlažu svjetlo sno ili magnetno osjetljiv film ili magnetnu žicu ili vrpcu kojima je pokretanje upravljivo pomoću servomehanizama koji su jntegralni dio upravljanja. Treća razina memorije trebala bi biti tzv. dead storage, odnosno memorija koja nije integralni dio računala. Ona predstavlja proširenje sekundarne memorije i uključuje se u raČQnalo prema potrebi. Od memorije u drugoj razini razlikuje se samo po svojoj raspoloživosti prema računalu. Ulazno--izlazna (UlI) Jedinica omogućuje saobraćanje operatora s ra čunalom. Kao grafička izlazna jedinica u von Neumannovu računalu poslužila je cijev Selectron koja je imala svijetlo polje na poziciji gdje je bila upisana binarna vrijednost l i tamno polje koje je odgovaralo O. Upisivanjem uzoraka (nula i jedinica) u memoriju programer je mogao imati grafički prikaz na Selectronu (koji je ujedno služio i za pohranjivanje podataka). Kao UII jedinica upotrebljavao se teleprinter i pomoćna magnetna žičana memo rija. Oprema teleprintera bila je tako modificirana da je omogućavala upis informacija s bušene papirne vrpce na magnetnu žicu i obratno. Tok podataka između memorije i U/I jedinice ostvarivao se preko registra A, a upravljao se programom. Budući da je računalo bilo orijentirano prema jednom korisniku (single-user oriented), procesor je upravljao izvođenjem U/I prijenosa. Procesor je čekao na prijenos podataka od U II uređaja ili prema njemu. U svom radu "Preliminary Discussion of the Logical Design of an Electronic Computing Instrument" Neumann, Burks i Goldstine razmatraju i prekrivanje aktivnosti U/I jedinice s aktivnostima procesora, m�đutim zbog sklopovske slože nosti (dodatnih registara za privremeno pohranjivanje) i problema sinkronizacije oni tu koncepciju u prvom računalu ne upotrebljavaju. Za gotovo četiri desetljeća von Neumannov model računala je doživio i doživljava promjene i poboljšanja koja su se odrazila na njegovu performansu, ali su još uvijek ostala poboljšanja u implementaciji dotične arhitekture, a ne pobolj šanja u arhitekturi (G. J. Myers, 1978). Aritmedčka Jedinica se sredinom pedesetih godina sastojala od sklopova za množenje, brzih zbrajala i sklopova za brzi posmak. Tvrtka IBM 1954. godine uvodi sklopove za aritmetiku s brojevima s pomičnim zarezom (računalo IBM Norc, IBM 704). Sklopovi za dijeljenje su se, kao i danas, rijetko upotrebljavali. Dijeljenje je izvedeno primjenom iterativnog algoritma koji upotrebljava sklopove
11.3, ARHITEKTURA TIPA SISD - VON NEUMANNOVO RACUNALO
179
za množenje, zbrajanje i posmak. Sredinom šezdesetih godina u aritmetičkim se jedinicama vrlo brzih računala (high-speed computer) upotrebljava više istovrsnih aritmetičkih sklopova koji djeluju istodobno (računalo CDC 6600 tvrtka Control Data Corporation, 1964. god.). U isto vrijeme uvodi se i protočna (pipeline) organizacija ALU jedinice. Aritmetičko-logičkom modulu pridodaju se registri opće namjene (general-purpose register, računalo Pegasus tvrtke Ferannti Ltd., 1956. god.). Razvoj LSI (Large Scale Integration) tehnologije u novije vrijeme omogućio je izvedbu ALU-sklopova koji aritmetičke i logičke operacije izvode u vremenu od 50 do 250 ns.
Upravljačka Jedinica od vremena von Neumannova računala pa do danas doživjela je značajne promjene. Razlog je u tome što je ona kritična komponenta arhitekture pa se njene karakteristike izravno i snažno održavaju u cijeni i performansi računala. Promjene su se odnosile na repertoar instrukcija (skup instrukcija), kodiranje instrukcija, način adresiranja i na samu izvedbu upravljačke jedinice. Iako je iz teorije automata poznato (M. L. Minsky, 1967. god.) da računalo koje ima samo dvije instrukcije - DECREMENT AND JUMP I F ZERO (Dekrementiraj i skoči ako je O) i ADD ONE (Pridodaj l ) - može izvršiti svaki zadatak koji danas izvodi bilo koje računalo, velika se pa�nja posve'ćuje skupu instrukcija i odgovoru na pitanje koje operacije moraju biti osnovne (primitive) instrukcije, a koje se operacije mogu izvesti kao niz instrukcija (G. J. Lipovski, K. L. Doty, 1978). Odgovor je na to pitanje u kompromisu između brzine izvođenja, veličine programa i složenosti sklopova. Skup se instrukcija od prvih računala koja su obično imala instrukcije za aritmetiku s brojevima s nepomičnim zarezom, za logičke operacije i operacije posrnaka, te nekoliko osnovnih instrukcija za upravljanje slijedom izvođenja programa, pretvorio u snažniji i fleksibilniji skup koji sadrži instrukcije za rad sa znakovima (npr. instrukcije za razvrstavanje i stapanje) i u poslovnim računalima druge generacije i instrukcije za aritmetiku s brojevima s pomičnim zarezom (računala druge generacije za znanstvenu primjenu). Sredinom šezdesetih godina proizvodači su sjedinili funkcije poslovnog i računala za znanstvenu primjenu u jedno računalo opće namjene. U trećoj generaciji računala dostigao je broj instrukcija dvije stotine zahvalju jući padu cijene sklopova. Aritmetičke instrukcije su zauzimale saino manji njihov dio. Nove funkcije zahtijevale su instrukcije za grananje u potprogram, vraćanje iz potprograma, rukovanje zastavicama stanja, pohranjivanje statusa računala, zaštitu memorije i sl. (H. S. Stone, 1975). I U dizajnu skupa instrukcija, što je ključno pitanje arhitekture računala, postoje tri pristupa, odnosno tri škole. Najstariji se pristup temelji na statistici, i to na osnovi iskustva u kodiranju za starije već postojeće računalo. To iskustvo, koje se steklo izvođenjem niza programa i detekcijom najčešće upotrebljavanih instrukcija i operacija, poslužit će kao osnova za uvođenje novih instrukcija. Naime, statistički signiflkantne ma kroinstrukcije bit će u novom računalu realizirane kao primitivne (osnovne) instrukcije. Drugi se pristup zasniva na izboru široko rasprostranjenog višeg program skog jezika. Nakon toga treba utvrditi koje su to primitivne operacije potrebne za izvođenje toga višeg programskog jezika. Skup instrukcija tada određuju te primitivne operacije.
180
l l . ARHITEKTURA RACUNALA
Treći pristup zahtijeva identifikaciju šire grupe problema koji će se rješavati upotrebom računala i identifikaciju skupa značajki tehnologije koja će se upotre bljavati u realizaciji računala. Problemi koji će se rješavati predstavljaju premise, a odluke koje se odnose na arhitekturu računala smatraju se implikacijama. Dokazi daju sve razloge za određenu odluku u konstrukciji računala (a time i odluku o skupu instrukcija). U novije doba, zahvaljujući mikroprogramiranju i razvoju sklopova, stvara se mogućnost da se većina primitivnih operacija u višem programskom jeziku realizira kao instrukcija. Tako se dobivaju računala koja izravno . prihvaćaju programe pisane u višem programskom jeziku (engl. direct-execution architectu re) (Y: ehu, 1978).
Već je spomenuto mikroprograrniranje kao način izvedbe upravljačke j edinice. M. V. Wilkes ( 195 1. god.) uveo je mikroprogramiranje kao najbolji način realizaci- . je upravljačke jedinice a prvo računalo s mikroprogramiranom upravljačkom j edinicom bilo je IBM 360 ( 1964. god.). Do tada su upravljačke jedinice bile izvedene primjenom logike razine složenosti logičkih vrata (gate-level logic). To j e imalo svoje prednosti u brzini, ali s u takve upravljačke jedinice predstavljale velike probleme za projektiranje, konstrukciju i realizaciju, a posebno u slučaju potrebnih modifikacija. M. V. Wilkes je predložio da se upravljačka jedinica realizira kao memorij a u kojoj će biti upisan program (mikroprogram) koji će' interpretirati instrukciju računala kao niz osnovnih koraka (mJkrooperacija) koji omogućavaju odnosno aktiviraju određene putove podataka, pobuđu ju sklopove u aritmetičko-Iogičkoj j edinici, postavljaju operande i sl. Svaka se instrukcija u mikroprogramiranoj upravljačkoj jedinici sastoji od slijeda pohranjenih mikroinstrukcija (mikroinstrukcije opisuju mikrooperacije). Slika 1 1.9 prikazuje izvornu Wilkesovu shemu mikroprogramirane upravljač ke jedinice. Ona se sastoji od dvaju diodnih matrica. Informacija iz instrukcijskog registra (kOd instrukcije) zajedno s dijelom koji odreduje sljedeću adresu mikro programa smješta se u adresni registar mikroprogramske memorije. Njegov sa držaj je adresa memorijske lokacije, odnosno adresa sljedeće mikrooperacije (zapisane u matrici A) i adresa lokacije u matrici B koja pridonosi određivanju sljedeće adrese mikroprograma. Adresa se u adresnom registru mikroprogramske memorije dekodira i jedan od redaka matrice A i B biva omogućen (izabran). I zabrani redak matrice A (npr. 7) s kombinacijom 1 1 1 10 1 0 (mikroinstrukci;a) upotrebljava se za omo8Ućavanje putova podataka, upravljačkih registara, za aktiviranje određenih skupova u aritmetičko-Iogičkoj jedinici radi izvođenja zahti j evane operacije. Izvođenje operacije može postaviti neki bistabil uvjeta i njime određivati izbor dijela koji odlučuje o sljedećoj adresi. Jedna je od bitnih prednosti mikroprogramiranja sustavna metoda realizacije upravljače jedinice i zahvaljujući svojoj homogenoj strukturi to je izrazito pogo dan način realizacije upravljačke jedinice uz pomoć LSI komponenata. Mikropro gramiranje omogućuje i visoku prilagodljivost, jer korisnik može da mijenja mikroprograme (mJkroprogramabUna upravljačka jedinica), a time i obliku je skup instrukcija. Jedno od važnijih poboljšanja upravljačke jedinice je primjena prekidnog sustava (engl. interrupt system; računalo Univac l l 03 tvrtke Univac I ERA 1954. godine). Danas je bez te komponente gotovo nezamisliv rad računala opće namjene ili procesnog računala.
181
11.3. ARHITEKTURA TIPA S[SD - VON NEUMANNOVa RACUNALO
Instrukcija iz registra I
I
Adresa sljedeće mikroinstrukcije
J 0I "
I
AdresOl registar
__--' mikroprogromske L-_ --.--.
--I---t-n-linijo .V
lIemorije
Matrica A 1. - -- ---- - - - l Redolc
ls I
j/ /'1
17
�.-.......... J-+....�q1 .
� 1--+-/ �+t-�-"I--_-+-_-+_-+-_+_-+u-l"----4
vremenskog vođenja
� '- I /
B
�-------- �
1
Dekoder
--:--+Signo!
Mmrica
2" linija
18
_
_�
Jedinici, registrima, upravljačkim sklopovima i sl.
Sl. 11.9. Wilkesova shema mikroprogramirane upravljačke jedinice
Von Neumannovo računalo bilo je jednoadresno računalo budući da je svaka instrukcija imala jedno adresno polje (sl. 1 1.7). Međutim, većina njegovih instrukcija imala je dva ili tri operanda, tako da su neki operandi u jednoadresnoj instrukciji bili implicitni. Na primjer, instrukci ja LOAD Y - Napuni akumulator A sadržajem memorijske lokacije Y, sadrži adresu memorijske lokacije Y (u adresnom polju) - to je izvorišna adresa, a adresa odredišta je implici tna i u ovom slučaju je akumulator A. U drugoj generaciji računala također je bila popularna jednoadresna struktura. Razvoj arhitekture imao je za posljedicu pojavu dvoadresnih i troadresnih računala. Sredinom sedamdesetih godina u arhitekturi je prisutan trend koji omogućuje maksimal nu prilagodljivosti uz minimalno " rasipanje" memorije. Računalo sada ima promjenjiv broj adresnih polja prema broju operanada i načinu adresiranja. Uvođenje indeksnih registara (računalo Datatron, 1953. god. ) i indirektnog načina adresiranja (računalo IBM 709, 1958. god. ) predstavlja značajno povećanje prilagodljivosti adresne strukture (indeksno adresiranje, indirektno adresiranje, kombinacija tih načina adresiranja - preindeksno i postindeksno).
Memorija je doživjela niz promjena zahvaljujući razvoju tehnologije. Pede setih godina memorija je bila realizirana pomoću bubnjeva (rotating drum). Početkom šezdesetih godina druga generacija računala primjenjuje memoriju s
Q2
182
lL
ARHITEKTURA RACUNALA
magnetnim jezgricama. Memorije dobivaju karakteristike memorija s izravnim pristupom (engl. Random Access Memory) kojima vrijeme pristupa (engl. access time) ne zavisi od mjesta gdje je podatak pohranjen. Početkom sedamdesetih godina primjenjuju se memorije izvedene u tehnologiji LST - to su memorije s izravnim pristupom, jeftinije, većeg kapaciteta i brže od memorija s magnetnim jezgricama. Magnetni diskovi su, kao primarna memorija, potpuno istisnuti i upotrebljavaju se kao sekundarna memorija. U novije vrijeme primjenjuju se i memorije s magnetnim mjehurićima (engl. bubble memory) koje se mogu upotrebljavati kao memorija u drugoj hijerarhijskoj razini. Osim napretka u tehnologiji doživjela je memorija računala i promjene u organizaciji. Krajem pedesetih godina uvodi se koncepcija virtualne memorije, što omogućava da se memorija sastavljena od triju hijerarhijskih razina pojavljuje prema programu i korisniku kao jedinstvena velika memorija s brzinom gotovo jednakom brzini memorije u prvoj hijerarhijskoj razini (računalo ATLAS, razvije no na ManchesterUniversity 1959. god.). Brzina se memorije povećava i uvođenjem brzih priručnih (cache) memo riJa (računalo IBM 360, model 85, 1968. god.).
Jedna od značajnih promjena u arhitekturi memorije jest i uvođenje konce- ' pcije multiprogramiranja koja omogućava da se nekoliko nezavisnih programa može odvijati simultano u istom računalu, koristeći se potpuno odvojenim skupom memorijskih lokacija. U Ufl jedinicama još je i danas prisutan problem nejednakosti brzina između procesora (centralne procesne jedinice) i sporih U/I uređaja. U/I uređaji su nekoliko redova veličine sporiji od procesora. U prvim računalima su primje njivani meduspremnici (Buffer) za prilagođavanje brzina. Razlika u brzini izmedu procesora i U/I operacija vodila je do ideje o uvođenju obrade dodjeljivanjem vremena (engL timeshared). C. Strachey je još 1959. godine predložio da zbog velike brzine računala (i male brzineU/I operacije, uvjetovane, na kraju krajeva, i brzinom ljudskog procesa mišljenja, percepcije i odgovora) više korisnika "istovre meno" saobraća preko više teleprintera s računalom. To izravno saobraćanje korisnika s računalom postiže se, zahvaljujući velikoj brzini računala, preklapa njem resursa računala s jednog korisnika na drugog. Svakom se korisniku pri tom čini da računalo radi samo za njega, budući da se njegove naredbe izvršavaju (u usporedbi s našom brzinom percepcije i odgovara) gotovo trenutačno. Primjena prekidnog sustava za upravljanje U/I funkcijama predstavlja znača jan napredak u organizaciji U/I sustava (računalo TX-2, Lincoln Labora tory, 1957). Druga generacija računala upotrebljava zaU/I operacije funkcionalno nezavisne jedinice kanale podataka (engl. data channel). Daljnji napredak uU/I organizaciji predstavlja primjena perifernih procesora sa svojstvom pohranjivanja programa (Stored program 110 processor) koji poslu žuje brzi centralni procesor (na primjer, računalo CDC 6600 tvrtke Control Data Corporation ima deset perifernih procesora). Razvoj tehnologje LSI i pojava mikroprocesora početkom prošlog desetlje ća (1971. god.) ostvarila je nove dimenzije u konstrukciji i gradnji digitalnih
11.4.
183
ARHITEKTURA TIPA MISD
sustava i računala. Mikroprocesor je čip (chip) koji odgovara po funkciji i namjeni centralnoj procesorskoj jedinici (CPU) digitalnog računala. Mikroproce sor je procesor izveden u tehnologiji visokog stupnja integracije koji služi kao osnova za mikroračunalo (S. Ribarić, 1982. god.). Zahvaljujući svojim karakteristikama: niskoj cijeni, velikoj prilagodljivosti i pouzdanosti, mikroprocesor je izazvao revoluciju u elektronici, računalnim znano stima i industrijskim sustavima, te posebno u područjima specijalne namjene kao što su: vojno područje, biomedicina, raspoznavanje uzoraka i sl. Zbog takve važnosti mikroprocesoru je posvećeno posebno poglavlje. 11.4. ARHITEKTURA TIPA MISD Arhitektura ovog tipa opisana je vektorom A (N, l )' koji označava višestruki tok instrukcija i jednostruki tok podataka. Uobičajeno je da se računalo tipa MISD naziva protomo (engl. pipeline) računalo. Osnovna je značajka takva računala da na svaki operand simultano djeluje više instrukcija. "Pipelining" je jedan oblik paralelizma ili konkurentnosti koji je ugrađen u računalo (c. V. Ramamoorthy 1977). On se odnosi na segmentiranje (u različitim razinama) procesa računanja u nekoliko potprocesa koji se izvršavaju dodjeljiva njem autonomnim jedinicama (engl. facilities, pipelining segments). Slijedni procesi, npr. izvođenje instrukcije, izvršavaju se tako da se njihove aktivnosti međusobno prekrivaju (engl. overlap) poput aktivnosti na industrijskoj vrpci. Segmentiranje procesa može se načiniti na različitim razinama organizacije računala: na primjer segmentiranje na razini sustava u izvedbi upravljačke jedini ce, odnosno jedinice za izvođenje instrukcije IPU (engl. Instruction Processing Unit), ili pak segmentiranje na razini podsustava, npr. segmentiranje pojedinih sklopova u ALU. Prikazat ćemo segmentiranje na razini jedinice IPU, odnosno segmentiranje izvođenja instrukcije. Izvođenja instrukcije zahtijeva fazu njezina pribavljanja, dekodiranja, zatim pribavljanja operanada i konačno fazu izvršenja same operacije (određene instruk cijom). U procesoru bez izvedenog segmentiranja jedinice IPU (sl. 11.10) vrijeme potrebno za izvođenje instrukcije jest: =
t;= tpi +td +tl'" + tjz)
gdje je t i vrijeme pribavljanja instrukcije, td vrijeme potrebno za dekodiranje F instrukciJe, tl'" vrijeme pribavljanja operanada, a tiz vrijeme izvršenja instrukcije. Iz�ođerte Instrukcije T; =tpi
•
td +tpo
•
f---+-
til
Sl. 11.10. Procesor koji nije segmentiran
Ako je proces izvođenja instrukcije rastavljen na četiri potprocesa i ako se izvodi u četiri autonomna modula (sl. ILli), četiri slijedne nezavisne instrukcije mogu biti izvedene paralelno. Slika 11. 12 prikazuje vremenski dijagram izvođenja instrukcije u takvoj "pipeline" jedinici. Iz slike 11. 12 vidimo da u vremenskom intervalu 3 do 4 jedinica IPU obrađuje četiri instrukcije: 1. instrukcija je u fazi
184
ll.
ARHITEKTURA RACUNALA
izvršavanja, 2. instrukcija u postupku pribavljanja operanda, 3. instrukcija u postupku dekodiranja i 4. instrukcija u fazi pribavljanja. Pribavljanje instrukCIje
-+1
Pl
1. modu l
Pribavljanje operanadn
Dekodiranje instrukdje
H
D
2. modul
H
H
PO
l modu l
Sl. 11.11. Protočni procesor, segmentacija
Izvršenje instrukcije
r+
II
4. modul
na
razini jedinice [PU
Modul II
2
PO
2
3
D
3
l,
Pl
4 l,
4
5
6
7
tlvrijemel
Sl. 11.12. Vremenski dijagram iZ'lJodenja instrukcije u "pipeline" [PU jedinici
Vrijeme za izvođenje četiriju instrukcija za protočni procesor iznosi 7, dok bi za "nonpipeline" procesor (sl. 11.10) vrijeme iznosilo 4 x4= 16 vremenskih jedinica. Prikazat ćemo primjer segmentiranja na razini aritmetičke jedinice. Slika lLl3 prikazuje aritmetički sklop za izvođenje operacije zbrajanja brojeva s pomič nim zarezom (FLOATING ADD). Postupak zbrajanja može biti rastavljen na sljedeća četiri koraka: Operacija l. 2. 3. 4.
Oduzimanje eksponenata .......................................... . Poravnava nJe ................................................................ Zbrajanje ....................................................................... . Normalizacija ............................................................... .
Vrijeme trajanja 40 ns 70 ns 50 ns 80 ns Ukupno: 240 ns
Operacija zbrajanja brojeva s pomičnim zarezom traje 240 ns. Međutim, rezultate - komponente vektora e D + E - dobivamo svakih 80 ns, što odgovara najdu žem vremenu trajanja ošeracije pojedinog koraka, u ovom slučaju normalizacije. =
Slika 11.14 ilustrira pojam protočno "računalo", u stvari opisanu obradu možemo pojednostavnjeno, ali zorno prikazati kao tok podataka koji "teče" kroz "cijev" i prolaskom kroz segmente cijevi doživljava promjene. Zar djelovanje "pipelined" jedinice1) ne podsjeća na protjecanje tekućine kroz cijev? U svakom vremenskom trenutku ll.t rezultat istječe iz otvora cijevi, dok na ulaz pritječu novi podaci. ,) Jedinica koja je segmentirana u "pipeline" module.
11.4.
185
ARHITEKTURA TIPA MISD flOATING AlJI)
AXED HUlTIPlY
·
Mnoie"'e \�.to •••
r-�-------' .
Akumulironje
Rezultat
Rezultat ·Množenje brojeva
sn
rvrstim zaremm
Sl. 11.13. Primjer segmentiranja na razini aritmetičke jedinice (za računalo ASe, tvrtke Texas Instruments)
S obzirom na kofiguraciju i upravljanje, "pipelined" jedinice mogu biti razvrstane u statičke ili dinamičke. U nekim slučajevima "pipelined" jedinica služi samo jednoj funkciji, na primjer "pipeline" zbrajalo ili sklop za množenje u računalu IBM 360/91. Takva je jedinica jednofunkcijska (engl. functional pipe) sa statičkom konfiguracijom. U nekim slučajevima "pipelined" jedinica može poslu žiti skup funkcija, svaku od njih s različitom konfiguracijom. Na primjer u računalu TI ASe aritmetička jedinica ima različite konfiguracije za izvođenje
Voda
Protočni segment 1
Protorn! segment 2
Protočni segment 3
Sl. 11.14. Fizički cjevovod kao analogija za protočno računalo
187
11.5, ARHITEKTURA TIPA SIMD
kašnjenje u daljnjem izvođenju već utječe i na cijeli postupak počevši od segmenta (modula) za pribavljanje instrukcije (PI, sl. 11. 11). Problem uvjetnog grananja rješava se različitim zahvatima (lookahead1l mehanizam u računalu ASC, instruk cijski stog u računalu STAR-lOO). Slika 11.15 prikazuje pojednostavnjen model protočnog računala pomoću kojeg ćemo ocijeniti propusnost takva sustava. Neka se operacija nad N riječi (N � l ) dade rastaviti u M segmenata, a t. je vrijeme potrebno za izvođenje podoperacije u jednom od segmenata. Neka je To vrijeme potrebno za strukturira nje i povezivanje tih M segmenata. Nakon vremena T + M· t. pojavljuje se prvi rezultat. Poslije toga svakih t. I' vremenskih jedinica na Izlaz pristižu novi rezultati. Vrijeme potrebno za obradu N riječi (N � l ) jest:
TN= To +M·t. +(N -l) t.
Efektivno vrijeme obrade jedne riječi je: To +M·t. + (N - l ) t. To= . N
Za N-H/J, efektivno vrijeme obrade jedne riječi teži vremenu t•. Postupak "pipeline" na različitim razinama i u različitim konfiguracijama upotrebljava se u nizu računala: TI, ASC, IBM 360/91, IMB 360/195, CDC 6600 i CDC 7600, CRAY-l (Cray, 1975) i Amdahl 470V/6 (AmdahI, 1975).
II.S. ARHITEKTURA TIPA SIMD
Veći broj procesora koji istovremeno izvode istu instrukciju nad različitim procesoru pridruženim podacima predstavlja osnovnu značajku računala s arhitek turom SIMO. Svi procesori ili procesne jedinice:Z) moraju sinkrono i konkurentno izvršavati operacije nad vlastitim skupovima podataka. Razlozi primjene arhitekture SIMO su sljedeći (K. J. Thurber, 1975): a)
Funkcionalni: •
• • • •
b)
Sklopovski: •
• •
c)
složeni problemi obrade (npr. vremenski modeli, hidrodinamički modeli), problemi s visokim stupnjem paralelizma u podacima i operacijama, pouzdanost i postupnost degradacije, važnost sustava, opterećenje u pogledu obrade.
bolje iskorištenje sklopova na problemima s velikim stupnjem paralelnosti, razvoj tehnologije LSI (mikroprocesora), ekonomičnost uvišestručenih struktura.
Programski: •
•
programska oprema je jednostavnija od one za multiprocesorske sustave, lakša konstrukcija velikih sustava.
') Vidi lit. (R M, Keller, 1975). - l) Processor Unit.
188
ll.
ARHITEKTURA RACUNALA
Računala s arhitekturom SIMD mogu se klasificirati u tri velike skupine. Prvu čine paralelna ili matrična (engl. array) računala. Procesne jedinice (procesori ili ćelije) u takvim računalima iskazuju neke topološke međusobne odnose i imaju visok �tupanj međupovezanosti. Druga skupina su skupna (engl. ensemble) računala. To su paralelna računala kojima je stupanj međupovezanosti procesnih jedinica vrlo nizak, ili čak: veze između procesnih jedinica i nema.
Asocijadvna računala su treća skupina. To su takva SIMD računala u kojima procesne jedinice obrađuju podatke koje pribavljaju bez eksplicitnog adresiranja memorijskih lokacija. Podaci se pribavljaju na osnovi nekih svojih karakteristika, odnosno adresiraju se pomoću nekih svojih svojstava (asocijativ no), npr. pomnoži međusobno sve A i B za koje vrijedi A> B).
Blok-dijagram tipičnog paralelnog ili matričnog računala prikazuje slika
11.16. Svakom od
N nezavisnih procesnih elemenata pridružena je memorija podataka. Svi procesni elementi su identične strukture i preko prospojne mreže (engl. interconnection network) izmjenjuju međusobno informacije. U našem slučaju prospojna mreža je tipa procesni element -procesni element, međutim može postojati i prospojna mreža tipa memorija -memorija.
Memorija podataka je preko memorijske sabirnice povezana sU/I podsusta vom. Potrebno je napomenuti da su u ovom tipu računala memorija podataka j programska memorija izdvojeni. U računalu postoji samo jedna upravljačka jedinica koja upravlja radom N procesnih elemenata. Budući da procesni elementi nemaju svojih programa (izuzev mikroprograme), upravljačka jedinica pribavlja
r-+-
Procesni element 1
......
I'Iemorija podataka 1
......
Programska memorija
t
Središnja upravljačka jedinica
�
Procesni element 2
......
�
Memorija podataka 2
Prospojna mreža
.......
.
�
Procesni element N
�
Memarija podataka N
� Memarijska SIlbirniro
Podaci i instrukcije
Uli SI. 11.16. BkJk dijagram para/e/nog procesora
1l.5.
189
ARHITEKTURA TIPA SIMO
instrukcije iz programske memorije (sl. 11. l6) i prosljeđuje instrukcijski kod svim procesnim elementima. Oni izvršavaju instrukciju paralelno. Neki od procesnih elemenata mogu biti u neaktivnom stanju i propuštati izvođenje zadane instrukcije. Upravljačka jedinica je u stvari i procesor koji ima registre, lokalnu memoriju i aritmetičku jedinicu. Njezina je organizacija takva da joj omogućuje izvođenje upravljačkih instrukcija i instrukcija uvjetnog grananja (ta dva tipa instrukcija procesni elementi ne mogu izvoditi). Paralelno računalo je obično preko upravljač ke jedinice vezano s nekim većim računalom opće namjene (domačin ili host). Ako je prospojna mreža vrlo jednostavna ili je nema, takvo paralelno računalo se naziva skupno računalo. Da bismo ilustrirali potencijalne mogućnosti paralelnog ili matričnog računa la, razmotrit ćemo operaciju množenja dviju matrica (L. E. Cannon, 1969). Slika 11.17 prikazuje matrični procesor s procesnim elementima od kojih je svaki povezan sa svoja četiri susjeda. Svaki procesni element neka ima četiri registra A, I B, C i T. r--------------- ---------
-
I I I I I I
��----�--+-----��--�
I I I I I I I
L
,
I
I I I I I I I I
I
��----_r----r_�--_,I I I P E I M I I ____ _
__________
-.1
Procesno pol Je
Sl. J J .17. Paralelni procesor sa 4-susje
Želimo pomnožiti dvije matrice dimenzije N sastoji od N x N procesnih elemenata. Algoritam za množenje je sljedeći:
x
N. Procesno polje se također
O
190
Postavi:
II. ARHITEKTURA RACUNALA
CREG = BREG [PEI, J] = B [I, J] za sve I, J �N �N . I, J"" za sve AREG [PEI, 1] = A [I, J] Posmakni: I-ti red A uhjevo I- l stupac za sve I�N J-ti stupac B gore za J -1 redak za sve J �N. Pomnoži: (TREG= AREG· BREG) Paralelno za sve procesne elemente PE. (CREG= CREG + TREG) Zbroji: Paralelno za sve procesne elemente PE. Posmakni: AREG udesno za jedan stupac BREG dolje za jedan redak. Skoči: Ako nije N-ti prolaz, skoči na Pomnoži: Pomnoži: Primjer:
Poslije Posmakni: stanje je sljedeće:
AREG=
[:: :: ::J ag
a,
as
CREG=
[OO OO OO
Poslije množenja, zbrajanja, posmaka i skoka stanje registra je sljedeće:
Nakon još samo dvije iteracije (programska petlja Skoči: Pomnoži) množenje dviju matrica je završeno i CREG će sadržavati rezultat. Asocijativno računalo je definirano kao računalo u kojem se podaci pohranjuju, pribavljaju i obrađuju bez upotrebe eksplicitnih adresa. Slika 11.18 prikazuje blok-dijagram asocijativnog računala. Jezgre takva računala predstavljaju jednostavni procesni elementi koji su izgrađeni oko memorijskog polja sastavljenog od asocijativnih memorijskih ćelija. Podaci se uspoređuju (npr. operacije uspoređivanja jednako, manje od, veće od, minimalna, maksimalna vrijednost, sljedeći veći i sl.) s podatkom koji je upisan u registru podataka (sl. 11.18), i to s onim bitovima koji nisu maskirani u registru maske (sl. 11.18). U memoriji se pretražuju samo one riječi koje su određene registrom izbora riječi.
191
11.5. ARHITEKTURA TIPA SIMD
ReQls!ur L.:.-.J....:.--'--'--..I....;"..,JL--..I. -'---'----.J ..pmlaluka
Sklop za rješavonje u slufaju vite5ltukocj podudarllnjQ
, O Uli
O
Memorijo
Regis Iur Registar rezullliln izbortl pretrllflvOlljn rije�i
'-V--J Procesni elelnenti
Sl. 11.18. Blok-shema asocijativnog računala
Rezultat usporedbe bit će zapisan u registru rezultata pretraživanja. Sklop za rješavanje u slučaju višestrukog podudaranja (engl. tiple match resolver) pokazuje na prvu riječ koja zadovoljava kriterij pretraživanja. Na primjer za stanje prikazano na slici 11.18 vrijedi slijedeće: Operacija pretraživanja je "jednako" s podatkom 11101011, s tim da registar maske određuje da se ispituje jednakost prvih i zadnjih dvaju bitova: II x x x x l l. Registar izbora riječi određuje da će se ispitivati prve četiri riječi, peta se neće ispitivati, a zatim će se ispitivati još zadnje dvije riječi upisane u memoriju. U registru rezultata pretraživanja pojavljuju se jedinice na onim mjestima gdje je sadržaj memorije zadovoljavao kriterij uspoređivanja, Sklop za rješavanje u slučaju višestrukog podudaranja pokazuje na prvu riječ koja zadovoljava kriterij uspoređivanja. S obzirom na proces uspoređivanja u asocijativnoj memoriji arhitektura se asocijativnog računala može klasificirati (S. S. Vau, 1977) ovako: • potpuno paralelna, • bit-serijska, • riječ-serijska, • blokovno orijentirana.
192
II. ARHITEKTURA RACUNALA
Računala s arhitekturom tipa SIMD u većini su slučajeva računala specijalne namjene. Primjenjuju se u području obrade signala, upravljanja zračnim prome tom, umjetne inteligencije, raspoznavanja uzoraka, obrade slika, modeliranju, pretraživanju i rukovanju bankama podataka i sl. Navedimo neka računala iz pojedinih skupina s arhitekture kategorije SIMD: Paralelna ili matrična računala: U ngerovo računalo (1958), • • Solomon I (1962), • ILLlAC IV (1967), • MPP (1979). Skupna (ensemble) računala: • PEPE (1972). Asocijativna računala: • Cryogenic (1963), • STARAN (1974). 11.6. ARIIITEKTURA TIPA MIMD Višeprocesorski sustav u kojem procesori izvršavaju rllzJičite instrukcijske tokove na različitim tokovima podataka opisan je vektorom A = (N, M)'. Osnovne sustavne značajke takva računala multiprocesora (P. H. Enslow, 1977) jesu: • multiprocesor ima dva ili više procesora s karakteristikama koje se dadu uspoređivati, • svi procesori imaju pristup zajedničkoj memoriji, • svi procesori imaju pristup U/I kanalima, upravljačkim jedinicama i uređajima, • cijeli sustav se upravlja jednim operativnim sustavom koji omogućava povezivanje između procesora i programa na različitim razinama (od razine posla do razine elementarnog podatka).
Sl. 11.19. Prikazuje osnovnu organizaciju multiprocesora
Multiprocesorski sustavi se prema fizičkoj izvedbi veze procesor-memorija i U/I jedinica, odnosno prema zajedničkom pristupu memoriji i U/I jedinicama mogu klasificirati u tri temeljno različite organizacije:
193
11.6. ARHITEKTURA TIPA MIMD
• • •
vremenski dijeljena sabirnica (engl. time-shared/common bus), crossbar prospajna (engl. switch) matrica,
višeulazne (engl. multiport) memorije.
Sustav sa vremenski dije1jenom sabirnicom predstavlja najjednostavniju organizaciju koja se dobiva priključivanjem svih modula na jednu sabirnicu. Takva tehnika se upotrebljava za "jednostavne" multiprocesore (sl. 1l.20), gdje je sabirnica pasivna jedinica (npr. višdilni kabel). Prijenos se potpuno upravlja sabirničkim međusklopovima (engl. bus interface) prijemnih, odnosno predajnih jedinica. Saobraćanje na sabirnici se odvija po točno određenom protokolu:
SI. 1.20.
jedinica koja želi započeti prijenos mora prvo odrediti raspoloživost sabirnice (status). Ako je sabirnica raspoloživa, jedinica adresira odredišnu jedinicu. Nakon toga mora utvrditi raspoloživost i spremnost odredišne jedinice da prihvati podatak, te konačno započeti s prijenosom. Prijemna jedinica mora samo pre poznati svoju adresu i odgovarati na upravljačke signale pošiljatelja. Takva organizacija sustava pruža veliku prilagodljivost jer se sustav proširuje jedno stavnim (sklopovskim) priključivanjem novih modula na sabirnicu. Cijena je takva sustava relativno niska. Međutim, uza sve te prednosti takva organizacija ima i nedostatak: sabirnica postavlja granicu performansi sustava - performansa je ograničena pojasnom širinom i brzinom toga spojnog puta. Taj se problem može riješiti primjenom dviju jednosmjernih sabirnica (P. H. Enslow, 1975) ili primje nom višestrukih sabirnica. Primjeri takvih multiprocesorskih sustava su MIT/IL ACGN (sl. 1l .21), koji se upotrebljava u sustavima za svemirska istraživanja, i Plessy System 250, koji je našao primjenu u komunikacijskim sustavima.
Sl. 11.21. MultiproctlSorski sustav MIL/IL ACGN
194
ll. ARHITEKTURA RACUNALA
Osnovna karakteristika multiprocesorskih sustava s cross bar prospojnom matricom je jednostavnost povezivanja funkcionalnih jedinica i mogućnost isto Vremenih prijenosa u sve memorijske jedinice ili iz njih (sl. 11.22).
I
L
�----------�
__________
.
I I I
Crossbar prOspo.jW1jQ malrim.
Sl. 11.22. Multiprocesorski sustav crossbar prospojnom matricom
Svaka točka prospajanja mora dopuštati paralelni prijenos i biti u stanju da rješava slučajeve višestrukih zahtjeva za pristup istoj memorijskoj jedinici. Ti zahtjevi usložnjavaju sklopove u prospojnim točkama, a time i složenost (i cijenu!) cijele prospojne matrice. Primjena tehnologije LSI omogućuje smanjenje prostor nih dimenzija prospojne matrice, ali nema velika utjecaja na njenu složenost. S druge strane funkcionalne jedinice u takvim sustavima zahtijevaju minimal nu logiku za međupovezivanje sa sabirnicom (engl. bus interface logic) budući da ona ne rješava ni višestruke zahtjeve niti prepoznaje podatke koji su funkcionalnoj jedinici namijenjeni. Te funkcije, kao što je već napomenuto, preuzima prospojna matrica. Nedostatak je crossbar prospojne matrice što njezina složenost raste eksponencijalno s N i M, gdje je N broj aktivnih elemenata (procesora i U/I jedinica), a M broj pasivnih elemenata memorijskih jedinica). Primjeri multiprocesorskih sustava s crossbar prospojnom matricom jesu Borroughs Multi-Interpreter System, sustav RCA, te C. mmp sustav, razvijen na Carnegie-MeHon1}, koji se temelji na prospojnoj matrici dimenzija N x M= 16 x 16. U sustavima s višeulaznim memorijama (sl. 11.23) logika se za upravljanje, prospajanje i rješavanje višestrukih zahtjeva distribuira iz crossbar prospojne matrice po memorijskim jedinicama. Sklopovi koji omogućavaju višestruki ulaz pridodani su i U/I jedinicama. Takvi sustavi upotrebljavaju u stvari višestruke sabirnice koje povezuju procesore s memorijskim i U/I jedinicama. Problem istovremenog višestrukog zahtjeva za pristupom jednoj memorijskoj jedinici rješava se dodjeljivanjem stalnog prioriteta svakim memorijskim vratima. Na slici 11.24 prikazan je sustav dodijeljenim prioritetima svakim vratima memo') Razvijena je i multimikroprocesorska verzija sustava em·mp s mikroprocesorima LSI-ll (tvrtka DEC).
11.6.
195
ARHITEKTURA TIPA MIMD
I Procesor I I
I I I
Memorija
�
Pro�esor
I
I I
Procesor
_
Memorija
f-
I H I......j
UlI
jedinim
UlI
jedinica
Memorija
I I
Sl. 11.23. Multiprocesorski sustav s višeulaznom memorijom
rijske jedinice. Zbog svojih prednosti (velika prilagodljivost, velike brzine prijeno sa, relativno niska cijena procesora) organizacija s višeulaznirn memorijskim jedinicama primjenjuje se u čitavom nizu sustava: Univac 1108, IBM System 360 Model 67, veliki multiprocesorski sustavi tvrtke Honeywell i drugi. S obzirom na logičko povezivanje i zajednički pristup memorijskim i U/I jedinicama postoje sljedeće (logičke) sheme međupovezivanja (C. Weitzman, 1980): • virtualna organizacija, •
organizacija s međupohranjivanjem (engl. mailbox).
Memorijske jedinim 1
Memorijsku jedinica 2
Memorijska jedinica 3
Memorijsku jedinica 4
Sl. 11.24. Multiprocesorski sustav s višeulaznom memorijom sa stalnim prioritetom vratiju
Multiprocesorski sustav s virtualnom organizacijom memorije (engl. virtual sha red memory) sastoji se od procesora koji imaju svoju privatnu memoriju (npr. 4K riječi) i zajedničku veliku memoriju (npr. 32K . . . 1024K riječi). Svi procesori su identični i imaju pristup svojoj privatnoj memoriji, zajedničkoj memoriji i svima drugim privatnim memorijama. Tako se cjelokupna memorija multiproce sorskog sustava predstavlja pojedinom procesoru kao njegova privatna memorija. Iz toga slijedi da svaki procesor "vidi" isti adresni prostor, samo su vremena
196
ll. ARHITEKTURA RACUNALA
pristupa pojedinim dijelovima memorije različita (virtualni memorijski prostor). Primjeri takve organizacije su multimikroprocesorski sustav Cm· i sustav minira čunala PLUkIBUS. Ispitivanja i mjerenja su pokazala da se pojavljuju složeni problemi u rješavanju konflikata u sustavima s više od tri procesora u slučaju istovremenih zahtjeva za pristup zajedničkoj memoriji. Zbog toga se teži da se broj pristupa zajedničkoj memoriji minimizira, a da se većina pristupa odnosi na lokalnu, odnosno privatnu memoriju procesora. U takvu slučaju zajednička memorija preuzima ulogu samo centra za razmjenu poruka (message center). Takva shema ima prednosti prema virtualnoj organizaciji jer ne zahtijeva dodatne aktivnosti vezane za translaciju adrese. Slika 11.25 prikazuje mali multimikroprocesorski sustav s memorijom za razmjenu poruka, koji služi kao računalo u čvoru mreže za prijenos podataka (računalo PACUIT tvrtke Computer Transmission Corporation).
Dvoulazrn memorija [[entar zn razmjenu porukal
·
Procesor za protokol Synchronous Daln link (ontroi
Sl. 11.25. PA CUlT (eweka Computer Transmision) čvorna računalo
II
mreži za prijenos podataka
Operativni sustav za multiprocesorske sustave osobito je složen (opseg poslo va prelazi faktor 100 godina/čovjek) zbog problema dijeljenja informacije i resursa (memorije, vremena procesora, procesora). Operativni sustav u multiprocesorskim sustavima može biti organiziran na jedan od sljedeća tri temeljna načina: vodeći -prateći (Master -Slave), izdvojena jezgra operativnog sustava za svaki procesor, • simetrično ili anonimno tretiranje svih procesora. Osnovne značajke i opis pojedinih organizacija dan je u literaturi (P. H. Enslow, 1974). • •
11.7. STOŽNA ARIIITEKTURA SUSTAVA RAČUNALA1) Pojava i razvoj biočno strukturiranih programskih jezika i zahtjevi za djelot vornim rukovanjem i izračunavanjem aritmetičkih izraza uvjetovali su razvoj posebnog razreda računala koja nisu von Neumannova tipa - stožna računala (engl. stack computer). ') Engl. stack architecture.
197
11.7. STolNA ARHITEKTURA SUSTAVA RACUNALA
Stožno računalo je takvo koje većinu instrukcija izvodi tako da djeluje na operandima koji se nalaze u jednom ili više stogova. Budući da su podaci pohranjeni samo u stogu (ili stogovima), stožno računalo nije von Neumannova tipa. Takoder, ono je i računalo s nultom adresnom strukturom (engl. zero addressing structure) jer se pristup stogu (podacima) ne ostvaruje pomoću adrese, već je pristup omogućen samo podatku u vrhu stoga. Stog ili LIFO (Last-In-First-Out) struktura je podataka koja uključuje kronološku komponentu "najstariji" podatak je na dnu stoga, a "najmlađi" je na vrhu (sl. 11.26). ..Najmtađi':"Ipodatak
'!s-
..Najstari podatak
-
_ Vrh
stoga
-Dno
stoga
Sl. 11.26, Stožna ili LIFO struktura (stack)
U najjednostavnijem obliku tzv. "pure push-down" stog dopušta rukovanje podacima samo s dvije operacije (D. M. Bulman, 1977): PUSH
POP (PULL).
PUSH (položi) operacija polaže novi podatak na vrh stoga (TOP): PURE-PUSH X
STACK-TOP:=M[X].
POP operacija uzima s vrha stoga podatak: PURE-POP X
STACK-M [X]: = STACK-TOP.
Tako opisanoj stožnoj strukturi pridružuje se registar: kazalo stoga (SP), koje sadrži adresu vrha (TOP) stoga. Svaki pristup stoga (polaganije ili uzimanje podataka) automatski inkrementira ili dekrementira sadržaj kazala stoga: PUSH X
SP:=SP
+1
M [SP]:=M[X], POP X
M [X]: =M[SP] SP:=SP -l.
Općenitija organizacija stoga omogućuje pristup podacima i unutar stoga (ispod vrha), na primjer: M[SP�N] omogućuje pristup podatku koji je za N mjesta (podataka) ispod vrha stoga. Kod operacije PUSH X uzeli smo da stog "raste" (sadržaj SP se povećava), a kod operacije POP X stog se "smanjuje" (sadržaj SP se smanjuje)ll. ') Potrebno je napomenuti da. je u mnogim mikroprocesorima kojima stog služi za pohranjivanje povratnih adresa iz potprograma i za rukovanje prekidom slučaj obrnut, operacijom PUSH SP se smanjuje.
1 98
ll.
ARHITEKTURA RACUNALA
Stog je našao efikasnu primjenu u rješavanju problema kao što su: rukovanje potprogramima (pohranjivanje adrese i prijenos parametara), rukovanje lokalnim varijablama, rukovanje ponovno ulaznim i rekurzivnim programima i sl., tako da se široko primjenjuje u nizu mikroprocesora. To dovodi do jedne zanimljive situacije u kojoj veća računala moraju primjenjivati iskustva ,,mladih kolega" mikroprocesora - da bi poboljšala svoje karakteristike. Iako mnoga mikroračuna la primjenjuju stog (programski ili sklopovski realiziran), ona još uvijek ostaju primjer von Neumannove arhitekture (S. Ribarić, 1 982) jer većinu instrukcija izvode na standardan, konvencionalan način. RačuD8nje aritmedčkih i logičkih izraza primjenom stoga i reverzne poljske notacije (reverse-Polish notadon, J. Lukasiewicz, 1951)
Jan Lukasiewicz je pokazao da se proizvoljni aritmetički izraz može odrediti smještanjem operatora neposredno prije (prefix) ili poslije operanada (suffix/postfix). Na primjer: Aritmetički izraz (a + b) x (e + d) se dade zapisati kao x + ab + ed u perfix notaciji, odnosno kao ah +cd + x u postfix notaciji. Reverzna poljska notacija u potpunosti odgovara slijedu instrukcija stožnog računala. Na primjer, neka je operacija množenja u stožnom računalu definirana kao: nedvosmisleno i bez zagrada
MULT a operacija zbrajanja kao: ADD
M [SP -1 ]:=M [SP -1].M [SP] SP:=SP - l , M [SP -1]:=M[SP -1] + M[SP] SP:=SP -1.
Vidimo da svaka instrukcija podatak na poziciji SP 1 zamjenjuje rezultatom i dekrementira kazalo stoga. Slika 1 1 .27 prikazuje računanje izraza (a +b) x(c + d) primjenom stoga i postfix poljske notacije: ah+cd+ x.
Prednosti reverzne poljske notacije su takve da svi moderni prevodioci (engl. compiler) prvo prevode aritmetički ili logički izraz u oblik poljske notacije i onda u strojni jezik. Stožna računala ne moraju izvoditi ovu drugu pretvorbu. Jedna od osnovnih prednosti stožnih računala jest i kompaktnost kada ova što ih generiraju prevodioci bioČflo orijentiranih viših programskih jezika (npr. AL GOL 60, PL/I, PASCAL) te efikasno rukovanje potprogramima. Prvo stožno računalo B5000 (tvrtka Burroughs) realizirano je 1 961. godine i na tražištu, zajedno s ALGOLOM 60, pojavio se 1 963. godine. Nakon toga slijedi serija računala Burroughs B5500J5700 i B6700.
LJLJLJW·WLJ o
PUSH Q
b
Q+b
o
PUSH b
ADD
c Q+b PUSH c
Sl. J1.27. Raču.nanje arirmetitkog izraza (a +b)
:
i
x
c Q+b PUSH d
c+d Q+b
ADD
IQ+bl.lc+dl MULT
(e +d) uz pomoć stoga i reverzne poljslu notacije
11.7.
199
STOmA ARHITBKTURA SUSTAVA RACUNALA
Godine 1972. na tržištu se pojavljuje Hewlett-Packard).
------
stožno računalo HP 3000 (tvrtka
LI
�
-----, -----' --'
-_ _______ r-l -
1--
(
O,",II'" ,',.' Parametri
-
-L-I
rZ
______
__
L.-___
rS
rSM
ra.
Ozna1.ivač stoga
/ Parametri
(\
Prvi ll.
Sto
...---- L-I
---'I
__
rĐB
Slika 11.28 prikazuje blok-shemu organizacije stoga 16-bitnoga stožnog malog (mini) računala HP 3000, koja je prilično slična organizaciji računala B5000jB5500. Registar DB (rDB) definira bazu, odnosno dno stoga, dok gornju, graničnu lokaciju stoga definira sadržaj registra Z (rZ). Računalo ima sklopovski riješenu detekciju popunjenosti (preljev) stoga. Registar SM (rS M) ima ulogu kazalo stoga i prilikom izvođenja programa pokazuje na trenutni vrh stoga, i to iznad globalnih varijabli. Prilikom grananja u potprogram računalo tvori označivač stoga (Stack mar ker) - blok od četiri riječi (povratna adresa, delta Q - pomak od prijašnjeg označivača stoga, indeksni registar, stanje CPU) i pohranjuje ga u stog. Registar Q (rQ) pokazuje na novi označivač stoga1). Sve lokalne varijable potprograma polažu se u stog iznad pripadajućeg označivača stoga. Budući da je stanje računanja sadržano u stogu, računalo HP 3000 rukuje vrlo brzo prekidom tako da stanje procesora (koje se sastoji od četiri riječi) pohranjuje na vrh stoga (lokacija je odredena sadržajem registra rS).
') U stanju upućivanja programa registar rQ pokazuje na tzv. prvu Q lokaciju.
200
ll. ARHITEKTURA RAtUNALA
11.8. LITERATURA M.
J.
Flynn, Some Computer Organizations and Their Effectivenes, IEEE Trans. on Comput. C. 21, N°. 9, sept. 1972, str. 948-960. L. C. Higbie, Supercomputer Architecture, Computer, dec. 1975, str. 215-255. L. C. Hobbs, D. J. Theis, Survey of Parallel Processor Approaches and Techniques', Parallel Processor Systems, Technologies, and Applications, L. C. Hobbs, et al. (Ed.), Spartan Books, New York, 1970, str. 3 -20. A. W. Burks, H. H. Goldstine, J. Neumann, Preliminary Discussion of the Logical Design of an Electronic Computing Instrument, u djelu: C. G. Bell, A. NewelI (Ed.), Computer Structures: Readings and Examples, Mc Graw-Hill, New York, 1971. H. S. Stone (Ed.), Introduction tO Computer Architecture, SRA, 1975, Chicago. G. J. Lipovski, K. L. Doty, Developments and Directions In Computer Architecture, Computer, aug. 1978, str. 54-67. Y. Chu, An LSI Modular Direct - Execution Computer Organization, Computer, juli 1978, str. 69-76. G. J. Myers, Advances In Computer Architecture, John Wiley, New York, 1978. M. V. Wilkes, The Best Way to Design an Automatic Calculating Machine, u djelu: E. E. Swartzlandes (Ed.), Computer Design Development, Hayden Book Comp., New Jersey, 1976. C. G. Bell, A. NewelI (Ed.), Computer Structures: Readings and Examples, M<: Graw-Hill, New York, 1971. M. L. Minsky, Computation, l-"inite and Infinite Machines, Prentice-Hal1, 1967.
S. Ribarić, Arhitektura mikroprocesora, Tehnička knjiga, Zagreb, 1982. C. V. Ramamoorthy, H. F. Li, Pipeline Architecture, ACM Computing Surveys, VoL 9, N°. l, mart 1977, str. 61 -102. Cray Resear<:h Corp., Description of CRAY-l, Minn., 1975. Amda1h Corp., Amdahl 470 Vl6 Machine Reference, Sunnyva1e, Calif., 1975. K. J. Thurber, L. D. Wald, Associative and Parallel Processors, ACM Computing Surveys, VoL 7, N°. 4, dec. 1975, str. 215 -255. L. E. Cannon, A Cellular Computer tO Implement the Kalman Filter Algorithm, Ph Thessis, Montana State University, aug. 1969. S. S. Yan, H. S. Fung, Associative Processor Architecture - A Survey, ACM Computing Surveys, Vol. 9, N°. l, mart 1977, str. 3 -28. K. J. Thurber, Large Scale Computer Architecture, Hayden Book Comp.; 1967. A Survey, ACM Computing Surveys, Vol. 9, N°. I , P. H. Enslow Jr., Multiprocessor Organization mart 1977, str. 103 -129. P. H. Enslow Jr. (Ed.), Multiprocessors Parallel Processing, John Wiley, 1974. W. Handler, On ClaSSIfication Schemes for Computer Systems in the post-von-Neumarm Era, Gesellschaft fiir Infortnatik Annual Conference, Berlin, 1974. C. Weitzman, Distributed Micro/Minicomputer Systems, Prenntice-Hall, New Jersey, 1980. S. I. Kartashev, S. P. Kartashev, Dynamic Architectures: Problems and Solutions, Computer, juli 1978, str. 26-40. R. M. Keller, Look - Ahead Processors, ACM Computing Surveys, Vol. 7, N°. 4, decembar 1975, str. 177 -196., K. S. Fu, T. Ic'hikowa (ed.), Special Computer Architectures for Pattern Processing, CCR Press, Inc, Boca Raton, 1982. D. M. Bulman, Stack Computers: An Introduction, Computer, maj 1977, str. 18-28. J. Lukasiewicz, ArislOtle's Syllogistics: From the Standpoint of Modern Formal Logic, Oxford University Press, Oxford, 1951.
12.
RAČUNALA UPRAVLJANA TOKOM PODATAKA (Prof. dr. Slobodan Ribarić, dipl. ing.)
12.1. UVOD U ovom desetljeću sve šira primjena sustava računala u: • području vrlo složenih obrada (na primjer, globalni vremenski modeli, atomska fizika, kriptografija, složeni h idrodinamički problemi), • problemima koji sadrže visok stupanj inh erentnog paralelizma u podacima ili u postupcima (ili u jednom i drugom). Na primjer, područje umjetne inteligen cije, obrade i raspoznavanje slika, obrada radarskih signala i sl. , • području visoko pouzdanih sustava za upravljanje i nadgledanje (na primjer, vojni sustavi protuprojektiIne zaštite, sustavi C3P) i sl.) - uvjetovala je (J. B. Dennis, 1980): • visoku performansu takvih sustava računala, naravno uz prih vatljivu cijenu (na primjer, performanse veće od 1000 MIPS2J) - milijun operacija u sekundi. • upotrebu inherentnog paralelizma prisutnog u problemu radi brže obrade, • postojanje takve programske opreme koja će omogućiti djelotvornu upo trebu resursa računala i iskorištenje svih potencijalnih mogućnosti takvih velikih sustava računala.
Zadovoljavanjem gornjih uvjeta postići će se visoka kvaliteta odgovora susta va računala koja je proporcionalna količini izvršenih računanja (L. S. H aynes, 1982). Visoka performansa (iznad 1000 MIPS) za velike sustave računala na osnovi von Neumannova modela (i njegovih modifikacija) predstavlja nedostižan san. Tako, na primjer, veliki sustav računala (superračunala) kao što je IBM-ov 3 081 iz tzv. novog vala H ima performansu 10, 4 MIPS, sustav računala Amdah I 5 860 ima 13 , 9 MIPS, sustav računala AS/9000 DPC tvrtke H itach i ima 15 , 9 MIPS (D. F. Farmer, 1981). Konvencionalna von Neumannova arh itektura računala ne zadovoljava. po stavlja se pitanje: Kakva arh itektura sustava računala treba biti? Odgovor na to pitanje traži se u paralelnim sustavima računala kao što su: multiprocesorski sustavi, matrični (array) procesori, asocijativni procesori, sistolična procesorska polja (H . T. Kung, 1982). Kao jedna od alternativa nudi se arhitektura koja predstavlja korjenitu promjenu prema von Neumannovu arh itekturu - računala upravljana tokom podataka (engl. data-flow computer). 1) CJI - Command, control, communications and intelligence.
'l
MIPS - Million Instruction Per Second.
202
12.
RACUNALA UPRAVLJANJA TOKOM PODATAKA
12.2 RAČUNALO S UPRAVLJAČKIM TOKOM (CONTROL-FLOW COMPUTER) I KRITIKA VON NEUMANNOVE ARHITEKTURE
Von Neumannov model računala ima dvije važne značajke. Prvo, adresabilnu memoriju u kojoj su smješteni program i podaci, tako da je u toku izvođenja programskih instrukcija memorija često naslovljavana i njen sadržaj mijenjan. Drugo, računalo ima programsko brojilo, koje sadrži adresu instrukcije što će se sljedeća izvršavati, odnosno program se izvodi točno prema uređenju (slijedu) instrukcija. Dakle, tok izvođenja operacija je određen slijedom instrukcija koje se pojavljuju u programu - što znači da je računanje određeno upravljačkim tokom programa. Taj upravljački tok je sekvencijalan: instrukcije adresirane program skim brojilom slijedno se pribavljaju iz memorije i izvršavaju (S. Ribarić, 1986). Von Neumannov rad, nastao daleke 1946. godine, mnogi autori nazivaju genijalnim i najznačajnijim na području računalske znanosti (G. J. Lipovski, 1978; E. E. Swartzlander, 1976). (U radu su prisutna razmatranja prekrivanja U/I aktivnosti s aktivnostima procesora, h ijerarh ija memorijskog sustava i sl. ) U novije vrijeme von Neumannov model računala doživljava i oštre kritike (G. J. Myers, 1978; J. Backus, 1978), koje ne umanjuju značaj rada, već su više samo posljedica promjena koje su nastale u posljednja tri desetljeća.
Memorija
Izlazna jedinica
� UpravljllČki signali
==>
Tok podatuka i instrukcija SI. 12.1. Von Neumannov model računala
J. Backus prikazuje model von Neumannova računala (sl. 12.1), u pojedno stavnjenom obliku (sl. 12. 2) kao centralno procesnu jedinicu (CPU) koja je pomoću vezne cijevi spojena s memorijom. Zadatak programa je da ulazne podatke transformira u izlazne, odnosno da mijenja sadržaj memorije u kojoj su poh ranjeni ulazni podaci. To se u van Neumannovu modelu izvodi stalnim slanjem riječi naprijed-natrag riječ po riječ kroz veznu cijev. Velik dio toga prometa riječi u cijevi nisu korisni podaci, već instrukcije i adrese. Očito je da u takvu modelu veza između memorije i centralne procesne jedinice predstavlja kritičnu komponentu. Tu vezu - veznu cijev J. Backus naziva "von -
203
12.3. MODEL PARALELNE OBRADE
Neumannovo usko grlo". On tvrdi da sigurno mora postojati ". . . manje primiti van način .. . " stvaranja velikih promjena u memoriji od ovog slanja ogromnog broja riječi naprijed-natrag kroz cijev. Ne samo to, von Neumannovu koncepciju J. Backus naziva "intelektualnim uskim grlom", jer primorava na način razmišlja nja: jedna riječ u vremenu (engL word-at-a-time thinking), umjesto da upućuje na rješavanje nekoliko većih nezavisnih cjelina istovremeno, odnosno paralelno rješa vanje problema.
( entroIno procesorsko jedinica
I
I
Memorija
Vezno cijev I von Neumannova usko grlo"l ••
Sl.
12.2.
Pojednos1avnjeni model von Neumannova računala (premaJ. Backusu)
Iako je arh itektura von Neumannova računala snažno utjecala na programske jezike tvoreći razred von Neumannovih jezika (na primjer FORTRAN, ALGOL 68 i drugi), između koncepcije arh itekture takva računala i koncepcije viših programskih jezika postoji velik semantički jaz (engL semantic gap; G. J. Myers, 1978), koji se očituje u neprilagođenosti arh itekture računala strukturi viših programskih jezika (tipovi podataka, obrada J,1izova, blok-strukture, procedure), što ima za posljedicu nepouzdanost programske opreme (software unreliability), složenost prevodilaca i zahtjev za prekomjernom veličinom memorije. Taj seman tički jaz je sve veći što su viši programski jezici funkcionalnije orijentirani (na primjer jezik APL ili FFP-Formal Functional Programming System). Pokušaji da se ostvare uvjeti (postavljeni u uvodu) primjenom konvencional ne arh itekture računala su bezuspješni iz sljedećih razloga: • sekvencijaIna priroda konvencionalnog sustava računala onemogućuje is korištenje inh erentnog paralelizma prisutnog u problemu, • metode poboljšanja performanse na sve četiri razine (sklopovi i uređaji, algoritmi u funkcionalnim jedinicama, organizacija sustava, sustavna programska oprema (P. H. Enslow, 1976» u velikoj su mjeri iscrpljene, štoviše, takva arhitek tura se u izvjesnoj mjeri udaljuje od mogućnosti iskorištenja prednosti koje nudi noviji razvoj LSI i VLSI tehnologije, • semantički jaz. 12.3. MODEL PARALELNE OBRADE
Prije nešto više od petnaest godina J. Rodrigues sa MIT-a i D. Adams sa Stenfordskog sveučilišta započeli su istraživanja koja će voditi do koncepcije koju danas poznajemo pod nazivom upravljanje tokom podataka (engL data-flow concept).
204
12.
RAl:UNALA UPRAVLJANJA TOKOM PODATAKA
Modeli paralelne obrade u kojima se usmjereni grafovi upotrebljavaju za prikaz računanja osnova su na kojoj se temelji koncepcija arh itekture računala upravljanog tokom podataka (radovi R. M. Karpa i R. E. Millera, J. E. Rodrigue sa (J. B. Dennis, 1980) i D. A. Adamsa (D. A. Adams, 1970)). D. A. Adams predlaže model M koji se sastoji od primitivnih čvorova (engl. primitive nodes), proceduralnih čvorova i usmjerenih grana kojima je dodijeljena funkcija privremenog pohranjivanja podataka (struktu ra memorije FIFO)1), koji čine usmjereni graf. Primitivni čvorovi Pl' P2, .... Pn predstavljaju računske korake i definiraju se ovako: Svaki primitivni čvor Pp I �i�n ima uređen skup od l ulaznih podataka: dil' di2, ... , dil' i skup od m izlaza podataka: dil+l' dil+2' ... , dil +m' Svaki čvor ima jednoznačnu funkciju: Ji: (Vit' ... , Vil)�(Vil+l' ... , Vil+m),
gdje je Vij ulazni podatak, element skupa podataka ili
gdje u slučaju �jj=L, Vi./. poprima vrijednost
Vrijednost na zaključanom ulazu ostaje i ne upotrebljava se u računanju sve dok taj ulaz ne postane otključan. Funkcija g u s-čvoru, pomoću ulaznih statusa L i U, izabire podatke iz međusobno nezavisnih izvora.
Proceduralni čvor je čvor čija operacija može biti opisana drugim grafom. Slika 12.3 prikazuje pojedine vrste čvorova u modelu M. Usmjerene grane povezuju čvorove i služe za prijenos i privremeno poh ranji vanje podataka određenog tipa. Podaci tvore FIFO strukturu (rep čekanja), a njih ova struktura odnosno tip podataka definira se ovako: Sintaksa tipova podataka opisana je pomoću gramatike s rječnikom V = VN + VT, gdje je VN= {dl' d2, ... , dn} skup neterminainih simbola i VT= {[,], YI' Y2, , Yn} skup terminalnih simbola. Tipovi podataka su opisani produkci jaJ!la oblika di�x sa diE VN' di #x, x # "A, gdje je "A prazan niz, a X= Ill' 1l2, , Iln ili x = [Ill' 1l2, , Iln], gdje je svako Ilj jedan od: a) elemenata V - { [ , ] } ili b) elemenata V - {[,]} označen sa • ili cjelobrojnom konstantom. (Zvjezdica označava O ili više pu ta ponavljanje simbola.) •
•
•
.
.
.
•
.
•
205
12.3. MODEL PARALELNE OBRADE
Na primjer, definirajmo tipove podataka na sljedeći način: VT=
{[,], O, l}
Neka su produkcije dane sa:
VN=
{dl' d]., d3, d4}.
dl-+O II dJ.-+d�2 d3-+[dJ.di] d4-+dJ.1 [d!].
Vertikalna crtica I jest simbol koji znači ili. Zagrade služe kao terminaini simboli koji označavaju elemente, a upotrebljavaju se kao indikacija da ti elementi čine uređen skup.
Ifp označava podatke predstavljene kao brojeve s parničnim zarezom I
Početno stanja ulaznih statusa
g:IL.U,U,4>,Vz,Y)I--+IU,U,UI f:V4+--4>.Y2 .V) g: IU,U, U, V"Vz, V) 1--+ IL ,U,UI
V4 +-- v,. Vz .V)
s-cvor
Proceduralni čvor
Sl. 12.3. Vrste čvorova u modelu
M
U ovom jeziku svaki element u repu tipa dl ima vrijednost O ili 1. Element u repu tipa podataka d]. može biti niz koji se sastoji od 32 nule ili jedinice, dakle 32bitna riječ. Elementi u repu tipa d3 su jednodimenzionalna polja 32-bitnih riječi, s tim da svako polje sadrži najmanje jedan element. Tip podataka d4 definiran je rekurzivno i dopušta strukturu podataka u obliku stabla. Graf-procedura (ili samo graf) G sastoji se od skupa čvorova TJ = {Nl' NJ.' ..., Nft} i skupa usmjerenih grana (lukova) E = {el' e, ... , em}, pri čemu svaka usmjerena grana ej E E mora zadovoljavati jedan od slj edeća tri uvjeta (sl. 12. 4):
206
12.
RACUNALA UPRAVLJANJA TOKOM PODATAKA
1) mora biti usmjerena iz izlaza čvora NjET] u ulaz čvora NkET], 2) usmjerena samo prema ulazu čvora NkET] s tim da se uređeni skup usmjerenih grana zove ulazni skup od G i različit je od praznog skupa, 3 ) usmjerena samo iz izlaza čvora NjET]. Uređeni skup usmjerenih grana naziva se izlazni skup od G i različit je od praznog skupa.
o·' 9�
Pj Izlaz
P�
Izlaz
P�
a)
Sl. 12.4.
b) Prikaz uvjeta za grane U graju
c)
Graf program [JJ definiran je kao uređen par (G, X), gdje je G graf procedura, a X skup svih graf-procedura. Uvjeti koje graf-program mora zadovo ljavati dani su u (D. A. Adams, 1970). Osnovna značajka modela M je da bilo koji računski korak (aktiviranje čvora p;) može započeti u onom trenutku kada usmjerene grane koje ulaze u taj čvor sadrže podatke koji su potrebni za računanje. Broj računskih koraka koji mogu biti izvršeni u danom trenutku dinamički je određen samo raspoloživim podacima. Kažemo da je uvjetovan tokom podataka (engl. data-flow). Model M ima jedno važno svojstvo: programi izraženi pomoću graf-progra ma su deterministički, odnosno rezultati konačnog računanja ne zavise od broja upotrijebljenih procesora, njihove relativne brzine ili od izabranog slijeda aktivira nja pojedinih čvorova (naravno, oni koji imaju raspoložive sve potrebne podatke). Slika 12. 5 prikazuje graf program (engl. data-flow program) za računanje korijena kvadratne jednadžbe. r-čvor sa funkcijom kopiraj opisan je na sl. 12. 6. Početni uVJetI su na usmjerenim granama označeni znakom , (sl. 12. 5 ). Razmotrimo izvođenje pro grama prema slici 12.5 . S obzirom na osnovnu značajku modela M, u prvom trenutku raspoloživi su podaci za čvorove A i B, računski se koraci (funkcija KOPIRAJ) u njima izvode istovremeno. Nakon toga, postupak se računanja može prikazati sljedećom sekvencom (u istom redu označeni čvorovi izvode istovremeno specificirane operacije): D-C-G-L E-H F I J N-K M-P.
207
12.3. MODEL PARALELNE OBRADE
X4X'=I-b+�/2a
X2=I-b-�)/2a
Sl. 12.5. Graf-program (data-flow-program) za računanje korijena kvadratne jednadžbe
Iz primjera programa vidimo da priroda problema uvjetuje raspoloživost operanada, i ako je problem takav da ima visok stupanj paralelizma u podacima i operacijama, tada je moguće istovremeno izvođenje velikog broja operacija. Odno sno, pri takvom izvođenju računskih koraka čuva se inherentni paralelizam u problemu. Adamsov model dopušta opis računanja do željenih detalja uključujući i opis računanja na razini bita. Također, u modelu nije važno (niti je potrebno posebno naglasiti) što će biti načinjeno u softveru a što u hardveru, međutim, obično se podrazumijeva da su primitivni čvorovi realizirani sklopovski. Zahvaljujući tehnolo-
208
12. RAL:UNALA UPRAVLJANJA TOKOM PODATAKA
giji visokog stupnja integracije većina funkcija čvorova (ne samo primitivnih) bit će izvedena pomoću sklopova.
Sl. 12.6. Cvor
s
funkCi/om KOPIRA]
A. A. Adams u svom modelu ne razmatra posebno problem unosa i iznosa podataka - on pretpostavlja da su svi početni podaci smješteni na odgovarajućim ulaznim granama i da rezultati računanja ostaju na izlazima iz odgovarajućih čvorova. Model M je početkom sedamdesetih godina postavio mnogo pitanja u vezi s konstrukcijom paralelnog procesora, djelotvornog dodjeljivanja i razmještanja resursa i postavio problem oblikovanja viših programskih jezika za opisivanje paralelnog računanja. Na mnoga od tih pitanja još uvijek se traži odgovor. 12.4.
RA(:UNALA UPRAVLJANA TOKOM PODATAKA
Računala upravljana tokom podataka predstavljaju korjenitu promjenu s obzirom na von Neumannovu arhitekturu. Osnovna je razlika leži u tome na koji se način odlučije o pribavljanju sljedeće instrukcije za izvršenje. U konvencional nom von Neumannovu računalu (računalu s upravljačkim tokom) program se izvodi prema određenom slijedu instrukcija u programu (engl. control-flow). U računalima upravljanim tokom podataka pribavlja se ona instrukcija (ili instrukcije) koja u određenom trenutku raspolaže svim potrebnim podacima (u skladu s modelom M). Dakle, izvođenje programa je upravljana raspoloživošću podataka. Takvo računalo ne treba konvencionalnu upravljačku jedinicu, ne treba programsko brojilo, a ni upravljački tok ugrađen u program u obliku slijeda instrukcija. S obzirom na gornja svojstva takvo računalo omogućava iskorištenje prirodne i inherentne paralelizma koja je prisutna u algoritmima. Računalo upravljano tokom podataka ima sljedeće četiri bitne karakteristike (P. C. Treleaven, 1 979): • instrukcije se izvršavaju u trenutku raspoloživosti svih potrebnih podata ka (activation by availability), • nakon što je instrukcija izvršena, ulazni podatak koji je sudjelovao u izvođenju nije više raspoloživ kao ulaz za neku drugu instrukciju (FIFO struktura podataka u modelu M), • ne primjenjuje se koncepcija pohranjivanja podataka poput onog u kon vencionalnom računalu, (npr. oznaka i pohranjivanje varijable), • nema ograničenja što se tiče upravljanja slijedom izvođenja, osim onih koja su dana tokom podataka (nema elemenata upravljanja tokom instrukcija).
12.4. RACUNALA UPRAVLJANA TOKOM PODATAKA
209
Uz mogućnost iskorištenja inherentnog paralelizma prisutne. u algoritmu, računalo upravljano tokom podataka ima mogućnost dinamičkog prilagođavanja svoje strukture strukturi algoritma. U stvari, takvo računalo se može smatrati kao oblik. arhitekture zasnovane na j eziku (engl. language-based architecture) u kojem je graf-program taj osnovni j ezik, odnosno graf-program (engL data-flow program graph) služi kao međustupanj između višeg programskog j ezika korisnika i arhi tekture računala (sL 12.7; S. Ribarić, 1 986). programski jezik
Korisnički viši
Arhitektura
Sl. 12.7. Graf-program kao medustupanj izmedu jezika i arhilekture
Viši programski jezik za računalo upravljano tokom podataka (engl. textual data-flow programming language) ima neka svojstva konvencionalnih von Ne umannovih jezika i svojstava funkcionalnih jezika. Na primjer, program u višem jeziku (sličnom PASCAL-u) za računjanje korijena kvadratne jednadžbe ima oblik (P. C. Treleaven, 1 979): FUNCTION quad-roots INPUT (a, b, c: REAL) OUTPUT (xl , x2: REAL); V AR temp: REAL; BEGIN sqrt bu2 -4*a*c); temp ( b + temp)!(2*a); xl (-b - temp)!(2*a); x2 END; VAR i l , i2, i3: REAL; rt, r2, : REAL; BEGIN il :
=
. . . ; 12:
. . . ; 13 :
= . . .
;
(rt, r2) : �quad-roots (i l , i2, i3); END Prevodioci za više programske j ezike za računala upravljana tokom podataka na osnovi zavisnosti podataka i operacija generiraju graf-programe. Primjeri viših programskih jezika za taj tip računala su jezik I D, razvijen na University of California, i VAL, nastao na MIT-u (L. S. Haynes, 1 982). Od arhitekture računala upravljanog tokom podataka traži se da omogući efikasnu implementaciju tako dobivenih graf-programa. Očito j e da dinamičko prilagodavanje strukture strukturi algoritma postavlja velike zahtjeve, koji su i
210
12. RAČUNALA UPRAVLJANJA TOKOM PODATAKA
inače prisutni u visoko paralelnim računalnim strukturama, što se tiče prospojne mreže (communication network) koja usmjerava rezultate od procesnih elemenata i instrukcijskih riječi ili prema njima. Instrukcijska riječ, tzv. kalup aktivnosti (engl. activity template), ima sljedeću strukturu: • polje operacijskog koda koji specificira operaciju koja će biti izvršena, • dva ili više prijemnih polja operanada koja čekaju vrijednosti operanada, • jedno ili više polja koja odreduju odredište rezultata operacija izvedenih nad operandima. MUL
Operandi Odredište
Sl. 12.8. Struktura kalupa aktivnosti (activity template)
Slika 1 2. 8 prikazuje strukturu kalupa aktivnosti a slika 1 2.9 detalj graf programa za računanje korijena kvadratne jednadžbe prikazanog pomoću kalupa aktivnosti.
Sl. 12.9. Struktura kalupa aktivnosti za detalj graf-programa
Instrukcijska riječ, odnosno kalup aktivnosti može biti pribavljen za izvršenje u onom trenutku kada je popunjen potrebnim operandima. Razmotrimo sada mehanizam djelovanja računala upravljanog tokom podata ka tl. Strukturu takvog računala prikazuje slika 1 2. 10. Upravljačka jedinica ima zadatak da na temelju parcijalnih rezultata i p olja koji odreduje odredište rezultata (paketi rezultata) tvori skupove parcijalnih rezultata. Polje koje odreduj e odredište rezultata sadrži i informaciju o broju potrebnih operanada za kalup aktivnosti. Na osnovi te informacije upravljačka jedinica odreduje kada je skup operanada (ulaz) kompletiran. Tako kompletiran skup operanada šalje se memorij i za pohranjivanje kalupa aktivnosti. Kalupi aktivnosti l) Detaljan opis tipova arhitekture računala upravljanih tokom podataka dan je u literaturi (S. Ribarić, \986).
124.
211
RAl:15NALA UPRAVLJANJA TOKOM PODATAKA
(nazivaju se operacijski paketi; sl. 1 2 . 1 1 ) popunjeni skupom operanada šalju se prema procesnoj jedinici koja izvodi operacije specificirane poljem operacijskog koda i generira pakete rezultata (engl. reult packet; sl. 1 2. 1 1 ) za svako odredišno polje.
Procesno. jedinica !jedinice)
y
/
/ Parcijalni
rezultati
/
V Instrukcije koje
V
su sprem n e zu izvođenje
•
Upravlja/ko jedinicu Memorija za pohranjivanje kalupa uktivnos!i
lt"
I
/
Skupovi ulaza
I
Pohranjivanje porc'ljolnih rezultata
Sl. 12.10. Blok-shema računala upravljancg tokom podataka
operacijski puket: (operacijski kod, operandi, odredišta) paket rezuitoJa: (vrijednost, odredište)
Sl. 12.11. Struktura operacijrkog paketa i paketa rezultata
Memorija za pohranjivanje kalupa aktivnosti (prema graf-programu) realizi rana je pomoću memorije s izravnim pristupom. Upravljačka j edinica uz upra vljačku logiku ima asocijativnu memoriju za pohranjivanje parcijalnih rezultata. Procesna jedinica se, obično, sastoji od većeg broja identičnih procesora s razinom složenosti mikroprocesora (S. Ribarić, 1982). Slika 1 2. 1 2 prikazuje strukturu računala upravljanog tokom podataka koje je razvijeno na MIT-u. Graf-program koji je opisan skupom kalupa aktivnosti pohranjen je u memoriji. Svaki kalup aktivnosti ima adresu koja ulazi u rep čekanja instrukcija u trenutku kada je instrukcja spremna za izvršenje. Jedinica za pribavljanje instrukcija uzima iz repa čekanja adresu spremne instrUKcije i čita kalup aktivnosti iz memorije, tvori operacijski paket i šalje ga procesnoj jednici. Procesna jedinica izvodi operaciju određenu operacijskim kodom i pakete rezulta ta šalje u jedinicu za obnavljanje stanja (engl. update). Ona upućuje parcijalne rezultate prema kalupima aktivnosti (oni su određeni odredišnom adresom) i ispituje da li su svi zahtijevani operandi za pojedine kalupe aktivnosti prispjeli. Ako jesu, sklop za obnavljanje stanja prenosi adresu takva kalupa u rep čekanja instrukcija. Očito broj adresa koje čekaju II repu čekanja instrukcija označava i stupanj parale1nosti primijenjenog algoritma.
12. RACUNALA UPRAVLJANJA TOKOM PODATAKA
212
Memoriju za pohranJIV!IIlje instrukcljskill riJeči/ kalupa aktivnosti Jedinico zo obnavljanje stanja
Parcijalni rezultati
Rep čekanja InstrukCija (adresei
Procesno jedinica
jedinica zn pribavljanje instrukCije Imšljlve Instrukcije
Sl. 12.12. Rawnalo upravljano tokom podataka (razvijeno na MIT-u)
12.5. MULTIPROCESORSKI SUSTAVI UPRAVLJANI TOKOM PODATAKA Primjenom većeg broja procesora (npr. procesorska polja) u procesno; jedinici koji su prospojnom mrežom (engl. communication network) spojeni s jedinicom za pribavljanje instrukcij a postiže se efikasno iskorištenje paraleinosti algoritma. U ovom slučaju paralelno izvođenje uvjetuju veličina i složenost prospojne mreže. Multiprocesor upravljan tokom podataka pruža još veće mogućnosti za iskorištenje inherentnog paralelizma. U takvom računalu graf-program je razdije ljen na dijelove koji se distribuiraju pojedinim procesnim elementima. Procesni elementi imaju svoje lokalne memorije za pohranjivanje kalupa aktivnosti. U tom slučaju razlikuj u se dva tipa paketa rezultata: • lokalni, koji ostaju u procesnom elementu, • globalni, koji u odredišnom polju nemaju adresu lokalne memorije vlasti tog procesnog elementa, već mora preko prospojne mreže biti usmjeren u neki drugi procesni element. Budući da je graf-program razdijeljen na dijelove (procedure) koji su distri buirani i u obliku kalupa aktivnosti pohranjeni u lokalne memorije (sl. 1 2 . 1 3), onr zajedno čine jedan veliki adresni prostor koji uz pomoć prospojne mreže tvori cjelinu. Svaki procesor ima mogućnost slanja paketa rezultata kroz prospojnu mrežu ako specificirana odredišna adresa nije adresa njegove lokalne memorije. U multiprocesorskom sustavu upravljanom tokom podataka prisutan je pro blem raspoređivanja instrukcija programa pojedinim procesnim elementima. Ra spoređivanjem se želi postići da broj lokalnih prijenosa paketa rezultata bude mnogo veći od globalnoga (globalni prijenos traje duže). Na M IT-u su to riješili arhitekturom računala što je prikazuje slika 1 2. 1 4. U tom računalu svaka instrukci j a ima j ednaku mogućnost pristupa paketu rezultata što ga generira neka druga instrukcija, i to bez obzira gdje se te instrukcije nalaze. Jezgro je ovog sustava veliki skup instrukcijskih ćelija (IC). Svaka sadrži kalup aktivnosti data-flow programa.
12,5,
213
MULTIPROCESORSKI SUSTAVI UPRAVLJANI TOKOM PODATAKA
--------------------------
Globalni paketi relultntn
1 I I I I I I I I I I I I
Procesna jedinica
Rep teknnja ln adrese instrukci'
Jedinica l!l pribavlj(lll je instrukcija
. .
�--------------�
I
L
__ _______
Sl. 12.13. Blok-shema multi'procesora upravljanog tokom podataka
I -1
Paket rezultata pristiže do instrukcijskih ćelija kroz mrežu za raspoređivanje. Svaka instrukci;ska ćelija šalje operacijski paket u procesnu sekciju u trenutku kada su joj svi operandi na raspolaganju (puni kalupi aktivnosti). Procesna sekcija Memorija la pohranjivanje kalupa aktivnosti _
Paketi re1ultata
Mreža za raspoređi'lOJlje
�.....
J
Ll....
-i ...... .......
_
,
tnstrukcijska ćelji a
I I
+-.
,.
·
·
·
·
·
·
·
Procesna sekcija
·
'
·
l....1-
Instrukcijska ieli j n
l I
�,
..
" - OperaCijSkI
.......
paketi
Sl. 12.14. Arhitektura multiprocesorskog sustava upravljanog tokom podataka (razvijen
na
MIT-uj
12. RAL:UNALA UPRAVLJANJA TOKOM PODATAKA
214
izvršava instrukcije i šalje paket rezultata prema mreži za raspoređivanje. U praktičnoj realizaciji računala instrukcijske ćelije su grupirane u blokove (tzv. blokovi ćelija), a oni su arbitražnom mrežom (engl. arbitration network) spojeni s funkcionalnim jedinicama u procesnoj sekciji. Arbitražna mreža ima zadatak da operacijski paket pošalje funkcionalnoj jedinici u skladu s operacijskim kodom. Slika 1 2. 1 5 prikazuje multiprocesorski sustav što ga je razvio J. Rumbaugh 1 977. godine (suradnja General Electric Co., IBM, ARPA i MIT). Računalo se sastoji od nekoliko modula koji djeluju asinkrono. Svaki procesor (engl. activation processor) sadrži i izvršava jednu proceduru. Modul za raspoređivanje (engl. scheduler) koordinira djelovanje procesora i dodijeljuje mu aktivnosti. Memorija za strukture podataka (engl. structure memory) sadrži strukture podataka koje su prevelike za procesore (svaki procesor ima svoju lokalnu memoriju). Sklop za upravljanje strukturom upravlja kazalima struktura za pojedine procesore. Budući da je lokalna memorija mala, velike strukture podataka su pohranjene u memoriji za strukture, a strukture su procesorima prikazane kazalima.
Procesor' Memorija la 11mJenjlvanje
Progmmska memorija
Sl. 12.15. Multiprocesorski sustav upravljan tokom podataka (razvijen u suradnji tvrtki General Electric, IBM, ARPA i MIT)
Programska memorija sadrži procedure koje procesori pozivaj u. Memorija za razmjenu (engl. swap memory) pohranjuje procedure koje se privremeno ne upotrebljavaju. Mreža za razmjenu prenosi procedure između memorije za razmjenu, pro gramske memorije i procesora. Periferni procesor povezuje računalo s vanjskim svijetom. Podrobniji opis multiprocesorskog sustava upravljanog tokom podataka dan je u literaturi (J. Rumbaugh, 1 977). Razvoj tehnologije L S I i VLSI omogućio je korjenite zaokrete s obzirom na von Neumannovu arhitekturu. Jedan takav zaokret jest i arhitektura računala
12.6. VLSI PROCESOR UPRAVLJAN TOKOM PODATAKA
215
upravljanog tokom podataka. Ona omogućuj e efikasno iskorištenje inherentnog paralelizma prisutnog u problemu, odnosno algoritmu, omogućuje upotrebu komponenata VLSI i razvoj programske opreme koja će omogućiti efikasno iskorištenje računalnih resursa. Rezultati koj i potvrđuju te pretpostavke jesu plodovi istraživanja u području graf-programa, viših programskih jezika za opisi vanj e graf-programa i arhitekture računala upravljanog tokom podataka. Ta se istraživanja odvijaj u na MIT-u (J. B. Dennis), University of California (K. P. Gostelow, Arviud), University of Utah (A. L. Devis), Universitx of Manchester (J. R. Gurd) i u CERT-DERI u Toulouseu (J. C. Syre) u Francuskoj, v. lit.: (E. I. Organick, 1 979). U Japanu se odvijaju istraživanja u Musachino Electrical Com munication Laboratory (Nippon Telegraph&Telephone Public Corp.) i na Tokyo University (Topstar). Kakva je performansa računala upravljanog tokom podataka? Analize performansi takvog računala pokazuju da je postignuto povećanje brzine za faktor 40 u usporedbi s konvencionalnim visokoperformansnim računali ma (engl. high-speed computer) u rj ešavanj u problema metodom mreža i računa nja FFT (Fast Fourier Transform; P. C. Treleaven, 1 979). Računalo upravljano tokom podataka specij alno namijenjeno za obradu mo dela za prognozu vremena GCM (General Circulation Model) ima performansu veću za dva reda veličine nego IBM 360/95 (J. B. Dennis, K. K. K. Weng, 1 977). Multiprocesorski sustav upravljan tokom podataka s 5 1 2 procesnih elemenata (svaki procesni element sa 2 MIPS-a) moći će, prema procj enama J. B. Dennisa, dostići performansu od 1 000 MIPS. 12.6. VLSI PROCESOR UPRAVLJAN TOKOM PODATAKA Slika 1 2. 1 6 prikazuje organizaciju prvog VLSI procesora (čipa) koji se zasniva na arhitekturi upravljanoj tokom podataka. To je procesor za obradu slika: IlPD 728 1 Image Pipelined Processor tvrtke NEC Electronics Inc. (W. Meshach, 1 984). Performansa procesora je 5 MIPS (l!!). Procesor se upotrebljava za obradu slika i za brzo numeričko računanje. Na primjer, procesor izvršava konvoluciju slika dimenzija 5 1 2 x 5 1 2 slikovnih elemenata s konvolucijskom jezgrom dimenzija 3 x 3 slikovna elemenata u vremenu od 3 s, ili računa FFT od 1 024 točke (predočene sa 1 7 bita) za 60 ms. Arhitektura procesora omogućava povezivanj e više procesora u kaskadu, tako da tri IlPD 728 1 u kaskadi izvršavaju gornje zadatke za 1 , 1 s, odnosno za 24 ms. Tipične obrade slika kao što j e svođenj e na j edan el ement (engl. shrinking) ili glađenj e (engl. smoothing) procesor izvršava za 80 ms, odnosno za 1 , 1 s (dimenzija slike 5 1 2 x 5 1 2 slikovnih elemenata). Upotrebom triju procesora u kaskadi vrij eme obrade se smanjuj e na 30 ms, odnosno na 0,4 s. Razmotrimo pobliže organizaciju procesora IlPD 728!! Ulazni upravljački sklop (engl. input controller) prihvaća ulazne značke (svaka) značka je sastavljana od dvije 1 6-bitne riječi) i ispituj e adresu čipa. Na taj način određuje da li je značka namijenj ena upravo tom čipu ili kojemu drugom procesoru u kaskadi. Ako je značka namijenjena kojem drugom procesoru, izravno se šalje izlaznom upravljačkom sklopu. Kao linije za rukovanje upotrebljavaju se signalne linij e IREQ i l ACK. Adresa čipa se postavlja vanjskim sklopovima u fazi upućivanja čipa (engl. reset time). IlPD 728 1 čita svoju adresu ili broj modula s ulazne sabirnice podataka neposredno nakon upućivanja.
12. RACUNALA UPRAVLJANJA TOKOM PODATAKA
216
Krulna protočna struktura
111a1na sabirnica podataka OOo-O� 111a1ni upravljački sklop
Memorija podataka
Generator odrese i upravljački sklop toka
�Reset �[LK
lACK
Ul azni upravljački sklop
Ulazna sabirnica podataka 100 -1015 c-.GNO c-.V" Sl. 12.16. Organizacija procesom upravljanja
Izlazni upravljački sklop prenosi značke u vanjski svijet ili drugim proce sorima. Linije za rukovanje su OREQ i OACK . Tablica povezivanja (engl. link table) organizirana kao RAM look-up tablica1) 1 28 x 1 6 bita i adresira se poljem ID koje je sastavni dio ulazne značke (sl. 1 2. 1 7). Tablica povezivanja sadrži adresu lokacije u funkcijskoj tablici (engl. function table) i odredišnu adresu značke. Ta odredišna adresa značke zamjenjuje polje ID i upotrebljava se za pristup tablici povezivanja nakon što značka pređe kroz procesnu j edinicu. Tablica povezivanja pridodaje informaciju koju upotrebljavaju generator adrese i sklop za upravljanje tokom (engl. address generator, flow controller). Oni na temelju te informacije određuj u način na koji će se tumačiti podaci u funkcijskoj tablici. Tablica povezivanja raspoznaje da li je ulazna značka podatak ili dio objektnog programa. U ovom drugom slučaju dio značke se upisuje u tablicu. Značajnija 16-bllna riječ Identifikacijsko polje 10 17 bilal
Adresa procesora lbroj modulal 14 bltal
Upravljačko polje 14 bilal
Uvijek O
_
L...Sl.
Podatak 1 6 bIlal
____
1
-'_______ ____
_ _ _
12.17. OrganizaCIja ulazne ili izlazne značke podataka za
') Tablica za pretraživanje.
-lI
Manje 11lOČajrD rljel
1 bltna 6-
_ _
Pd 7281
217
12,7, LITERATURA
Funkcijska tablica je RAM look-up tablica sa 64 x 40 bita i adresira se adresnim poljima značaka (engl. function table address) koje dolaze iz tablice povezivanja. Adresno polje se može podijeliti na tri dijela: • lijevo polje, • desno polje, • privremeno polje. Lijevo polje sadrži instrukcije za procesnu jedinicu, instrukcije za generiranje i i zlazne instrukcije. Instrukcije za generiranje stvaraju višestruke kopije značaka. To je potrebno kad se značke upotrebljavaju više puta u različitim fazama računanja. Desno polje sadrži instrukcije za generator adrese i instrukcije za sklop za upravljanje tokom. Privremeno polje se upotrebljava za različite namjene u zavisnosti od instruk cije koja je specificirana u desnom polju (npr. privremeno pohranjivanje adresnog pomaka za operacije čitanja ili upisivanja u memoriju, pohranjivanje zastavica za indikaciju prispijeća operanda i sL). Funkcijska tablica takoder raspoznaje da li je prispjela značka podatak (engl. data token) ili dio objektnog programa koji se puni u procesor.
Generator adrese i sklop za upravljanje tokom (eng. address generator and flow controller) generiraju adrese pomoću kojih se pristupa memoriji podataka, a takoder se pomoću njega upravlja tokom podataka. Generator adrese i sklop za upravljanje tokom obično se razmatraju kao jedinstvena cjelina. Ta složena jedinica ima svoj skup instrukcija i može čitati desno polje funkcijske tablice, čitati ili pisati u privremeno polje funkcijske tablice, te čitati dio tablice za povezivanje. Jedinica, na primjer, može ustanoviti da je prisutan samo jedan operand za instrukciju koja zahtijeva dva operanda i pohraniti njegovu vrijednost u memoriji podataka (engl. data memory). U trenutku kada pristigne i drugi operand, jedinica čita prvi operand iz memorije podataka, tvori popunjeni kalup aktivnosti i smješta ga u rep za čekanje na obradu (rep podataka, sl. 1 2. 1 6). Memorija podataka (engl. data memory) jest RAM sa 5 1 2 x 5 1 2 bita koji pohranjuje konstante koje su dijelovi objektnog programa i podatke. U slučaju instrukcije s dva operanda, memorija privremeno pohranj uje jedan od operanada sve dok ne pristigne i drugi operand. Rep podataka (engl. data queue) jest FIFO struktura koja pohranjuje značke koje su spremne za obradu (popunjeni kalupi aktivnosti) ili podatke koji će biti poslani izlaznom repu podataka (engl. output queue). Procesna jedinica izvršava logičke i aritmetičke operacije, te operacije na b itovima. Ona izvršava i instrukcije za generiranje. Izlazni rep podataka je FIFO memorija sa 8 x 32 bita. Ona pohranjuje značke koje se upućuju u vanjski svijet ili drugim procesorima u kaskadi. 12.7. LITERATURA J. B. Dennis, Data Flow Supercomputers, Computer, Vol. 1 3, N°. 1 1 , novembar 1 980, str. 48 - 56. L. S. Haynes, Highly Parallel Computing, Computer, Vol. 15, N°. l, januar 1982, str. 7 - 8. D. F. Farmer, IBM-Compatible Giatlls, Datamation, Vol. 27, N°. 1 3, 1981 , str. 92 104. H. T. Kung, W� Syszolic Architectures , Computer, Vol. 1 5, N°. l, januar 1982, str. 37 -45. G. J. Lipovski, K. L. Doty, Developments and Directions in Computer Architecture, Computer, Vol. 1 1 , N°. 8, august 1978, str. 54 - 57.
(
218
12.
RAČUNALA UPRAVLJANJA TOKOM PODATAKA
G. J. Myers, Advanced in Computer Architecture, J. Wiley, New York, 1978. J. B�ckus, Can Programming Be Liberated from Neumann Style and Its Algebra of Programs, Com. of the ACM, Vol. 21 , N°. 8, august 1978, str. 61 3 -641. P. H. Enslow, Multiprocessors and Other Parallel Systems, An Introduction and Overview, u djelu: Computer Architecture, Workshop of the Gesellechaft fur Informatik, Erlangen, maj 1975, Springer-Verlag, Berlin, 1976. D. A. Adams, A Model for Parallel Computations, Parallel Processor Systems, Technologies and Applications, ed. L. C. Hobbs et al., Spartan Books, New York, 1970. P. C. Tre1eaven, Exploiting Program Concurrency in Computing, Computer, Vol. 1 2, N°. I, januar 1979, str. 42 - 50. J. Rumbaugh, A Data Flow Multiprocessor, IEEE Trans. on Comp., Vol. C-26, N°. 2, februar 1977, str. 138 - 1 46. E. L Organick, New Directions in Computer Systems Architecture, Euromicro Journal, N°. 5, 1979, str. 190 - 202. J. B. Dennis, K. K. S. Weng, Application of Data Flow Computation to the Weather Problem, u djelu: High Speed Computer and Algorithm Organization, ed. D. J. Kuck et al., Academic Press, Inc., New York, 1977. S. Ribarić, Arhitektura mikroprocesora, Tehnička knjiga, Zagreb, 1982. S. Ribarić, Arhitektura računala pete generacije, Tehnička knjiga, Zagreb, 1986. W. Meshach, Data-flow IC makes short work of tough processing chores, Electronic Design, maj 17, 1984, str. 1 91 - 206.
13.
ARHITEKTURA RAČUNALA ZA OBRADU SLIKA (Prof. dr. Slobodan Ribarić, dipl . ing.)
13.1. UVOD Slika kao vizualna informacija vjerojatno je najvažniji fal
Sl. 13.1. Pel ruzličitih transformacija slike
slika sljedova čestica u atomskoj fizici, interpretacija mnoštva satelitskih snimaka i sl. Upravo zbog toga postoje opravdani zahtjevi za razvoj sustava za obradu i raspoznavanje slika. Obrada slike, u širem smislu te riječi, može se prikazati s pet različitih transformacija (sl. 1 3. 1 ): • transformacija slike u sliku, • transformacija slike u podatak,
220
13. ARHITEKTURA RACUNALA ZA OBRADU SLIKA
•
•
•
transformacija podataka u sliku, transformacija slike u ime, transformacija slike u opis.
Transformaaja slike u sliku (sl. 1 3.2) poznatija je pod nazivom pretprocesi ranje slike. U postupku pretprocesiranja originalna digitalizirana slika transfor
mira se u jednu ili više novih slika. Obnavljanje (engl. restoration), segmentacija (engl. segmentation) i pobolj šavanje (engl. enhancement) tipične su tehnike pret procesiranja (N. K. Pratt, 1 978).
Pretprocesiranje (prostorne. spektralne l omplitudne transformacije)
Sl. J3.2. Transformacija slike u sliku
Obnavljanje slike je proces procjene u kojem se izvode operacije na slici radi procjene idealne slike koja odgovara slici dobivenoj bez degradacije zbog svojstva sustava za unos slike. Uobičajeni postupci obnavljanja jesu uklanjanje geometrij skih izobličenja i uklanjanje utjecaja šuma. Segmentacija slike j est dijeljenje ili odvajanje slike u područja sličnih atribu ta, na primjer u područja j ednakih sivih razina, rubova, građe (engl. texture) i slično. Postupci poboljšavanja čine skup tehnika za obradu sl ike kojima se pobolj šava ju neka vizualna svojstva slike ili se slika pretvara u oblik pogodnij i za daljnju obradu. Postupci poboljšavanja su manipulacija s kontrastom, modifikacija histo grama, filtriranje, naglašavanje rubova i sl. Jedan od glavnih problema u sustavima za prijenos i pohranj ivanje slika j est
pretvaranje slike u podatke te redukcija tih podataka (sl. 1 3. 3). Jedna vrsta
redukcije podataka je uklanjanje vizualno redundentne informacije, na primjer primjenom logaritarnske umjesto linearne kvantizacije ili redukcijom broja sivih razina. Drugi pristup redukciji velike količine podataka je primjena djelotvornog postupka kodiranja, tzv. statističkog kodiranja. Primjer redukcije podataka je postupak kodiranja tzv. run length coding u kojem se umjesto vrijednosti sive razine svakog slikovnog elementa kodira duljina (niz slikovnih elemenata) i vrijednosti sivih razina slijednih točaka. Takvo kodiranje ne odstranjuje informa ciju o slici, tako da se ona može potpuno rekonstruirati nakon prijenosa. Zato što čovjek lako i neposredno prihvaća vizualnu informaciju transformaci ja neslikovnih podataka u sliku ima izuzetan značaj . Pretvaranj e matematičkih
13.1. UVOD
221
apstrakcija u slikovne oblike i računalna grafika samo su neki od važnij ih primjera ovakve transformacije.
lJtlonjanjl! redundonte InformaC1je
I
II
I
I I I I I I \
L
________
r--------, I
I II
I I L
'\
l
Znštltno kodiranje informncije
__
'--
-
Sl. 13.3. Transformacija slike
u
(neslikovni) podatak
Sl. 13.4. Transformacija slike (raspoznavanje slike)
u
ime
Transformacija slike u ime jest raspoznavanje slika. Područje primjene raspo znavanja slika vrlo je široko: od analize sljedova čestica na fotografskoj ploči, raspoznavanje brojčano-slovnih znakova, raspoznavanje otisaka prstiju pa sve do analize snimaka s izviđanja i identifikacije ciljeva u vojnoj primjeni. Slika kao uzorak u problemu raspoznavanja zauzela je važno mjesto. Zašto? Odgovor možemo dobiti ako razmotrimo sliku sa stanovišta teorije informacija. Da bi se slika obradila uz pomoć digitalnog računala, mora se pretvarati u digitalni oblik. Pretvaranje slike u digitalni oblik (digitalizacija) jest postupak transformacije kontinuirane funkcije slike (na primjer siva razina kao kontinuirana funkcija pozicije u slici) u diskretnu funkciju (diskretne vrijednosti sive razine u N xM točaka slike; M i N su dimenzije slike). Slike 13.5 i 13.6 prikazuju kontinuiranu (analognu) sliku, odnosno digitaliziranu sliku (dimenzija 128 x256, 1 6 sivih razina). Ocijenit ćemo količinu informacije koju takva (digitalizirana) slika sadrži. Budući da je slika dimenzija 1 28 x 256 slikovnih elemenata i ima sivu razinu kvantiziranu u šesnaest razina (24 1 6), informacija koju slika sadrži jest: 1'1&0= 128·256·4 1,1&0
=
131 072 bita,
222
13.
ARHITEKTURA RAČUNALA ZA OBRADU SLIKA
Sl. 13.5. Analogna slika
Sl. 13.6. Digitalizirana slika (dimenzIja 128
x
256 elemenata, 16 sivih razina)
13.1. UVOD
223
gdje je 4 broj bitova potreban za prikaz šesnaest sivih razina (od O do 1 5). Tekst koji bi sadržavao jednaku količinu informacije i bio napisan, na primjer, na slovenskom jeziku morao bi imati: n= n=
1 3 1 072 ls
1 3 1 072 4, 1 92
---
znakova, 3 1 267 znakova,
gdje je is srednja informacija za jedno slovo, is= 4, 1 92 bita/slovo za slovenski jezik
(L. Gyergyek, 1 97 1 ). Dakle, tekst koji sadrži jednaku količinu informacije kao
slika 1 3.6 ima oko šesnaest stranica gusto tipkanog teksta (l stranica ima približno 1 900 znakova). Iz gornjeg primjera slijedi da obrada i raspoznavanje slika s pravom zauzima važno mjesto. Još jedan argumenat u prilog obradi i raspoznavanj u slika možemo naći uz pomoć analize našeg biološkog sustava: Prema ocu kibernetike N. Wieneru (N. Wiener, 1 962) omjer informacija čovjekova vizualnog i auditivnog sustava može se prikazati kao 1 00: l, odnosno kad bi cio auditivni korteks (dio moždane kore - centar sluha) služio za gledanje, količina bi informacije iznosila otprilike I % količine informacije koju bismo dobili preko očiju. Slika 1 3.4 prikazuje transformaciju slike u ime. O pretprocesiranju je već bilo govora. Faza izlučivanja značajki sastoji se u izvođenju operacije za razazna vanje osnovnih značajki ili atributa slike. Osnovne značajke mogu biti: rubne točke, broj krajnjih točaka, Fourierove komponente, broj komponenata, poveza nost komponenata uzorka i slično. Faza klasifikacije, odnosno faza razvrstavanja slika koje su opisane atributima u razrede ili dodijeljivanje imena slikama predstavlja zadnju fazu postupka raspoznavanja. Upotrebljavaj u se dva glavna pristupa klasifikacij i: jedan se temelji na konstrukciji odnosnih struktura (sintaktički pristup), a drugi na statističkim postupcima donošenja odluka (pogl. 4 do 6). Transformacija slike u opis primjenjuje se na području strojnog viđenjal) (engl. computer vision) kao važna komponenta vizualno upravljanih strojeva koji se upotrebljavaju u industrijskim procesima za automatsko sastavljanje i ispitiva nje ispravnosti proizvoda, u sustavima za samoupravljiva vozila ili letjelice i u sustavima za automatsko motrenje (komponente sustava za razumijevanje slike). Slika 13. 7 prikazuje transformaciju slike u opis. Scena se promatra i unosi pomoću TV kamere, CCD kamere, laserskog skanera ili koje druge ulazne jedinice. Slika se nakon toga pretprocesira i obično svodi na (linijski) crtež u kojem svaka linija odgovara rubovima uzoraka u sceni (sl. 13.8). Takav se crtež analizira s topološkog i geometrijskog gledišta te se uspostavljaju relacije između osnovnih građevnih blokova uzorka. Slika 13.9 prikazuje pojednostavnjen primjer opisa scene pomoću tablice međusobnih odnosa građevnih blokova (J. A. G. Hale, 1 978). ') Upotrebljavaju se još nazivi: računalski vid, umjetno gledanje, analiza scene.
224
13.
ARHITEKTURA RACUNALA ZA OBRADU SLIKA
Sl. 13.7. Transformacija slike u opis (analiza scene)
a)
b)
c)
Sl. 13.8. Primjer početne faze transformacije slike u opis a) Digitalizirana slika (128 x 120 slikovnih elemenata). b) Početno dijeljenje u elementarna područja sivih razina. e) Limiski crtež
Građevni blokovi
O
D A-iznad B-ispod l-lijevo
R-desno (-sadrži
[]J Scena
D
oDrn[]D B
A
A L
[]
B
R
B
B
B
.L::::".
B
e
e
e
CD
D
A
A
�
A
A
A
I
B
I
B
A
e A
Sl. /3.9. Pojednostavnjeni primjer opisa scene
I
A
I
B
B
13.2.
225
OPREMA ZA OBRADU SLIKE
Konvoj neprijateljskih Il!nkovo. zemlje XY na mostu u sekroru broj 410 u smjeru napre dovanja prel!lC. lO..
Vozila Šuma Cesto. Obrada
Rijeko. Most
Sl.
tisto. znocajki 13. 10. Prikaz djelovanja uređaja za automatsko motrenje i javljanje
Sustavi za razumijevanje slike (engl. image understanding system) imaju veliku primjenu u vojnom području. Jedan od glavnih smjerova istraživanja u američl
Sustav za obradu slike sastoji se od četiri funkcionalne jedinice (sl. 1 3 . 1 1 ): • procesora za obradu slike, • ulazne jedinice, • izlazne jedinice, • jedinice za pohranjivanje slike.
SI.
13.11. Funkcionalne jedinice sustava za obradu i raspoznavanje slika
226
13.
ARHITEKTURA RACUNALA ZA OBRADU SLIKA
Tablica 13.1 . Tipični predstavnici ulaznih i izlaznih jedinica i jedinica
za
pohranjivanje slika
Ulazna jedinica
TV kamera (vidikon) Polja poluvodičkih fotoosjetljivih elemenata CCD (Charge-coupled device) CID (Charge-injection device) Skaneri radarski skaner - t1ying spot scanner - laserski skaner Izlazna jedinica
CRT prikazna jedinica Plazmena prikazna jedinica (Plasrna display) Flying spot scanner + fotografski film Elektronska zraka + film Pisači - linijski - matrični Grafička prikazna jedinica Jedinica za pohranjivanje slike
Magnetski medij disk - vrpca - memorija s feritnim jezgricama Papirni medij - vrpca - bušene kartice Cijevi za pohranjivanje (storage tube /silicon target!) Videodisk i video vrpce Holografska memorija
Tablica 13. 1 prikazuje neke tipične predstavnike ulaznih i izlaznih jedinica i jedinica za pohranjivanje slike. Sustavi koji se upotrebljavaju u obradi i raspoznavanju slika mogu biti optički, digitalni i njihove kombinacije, tzv. hibridni sustavi (D. Casasent, 1979). Optički sustav za obradu slike sastoji se od ulaznog medija (slika se obično nalazi na filmu), otvora, različitih sustava leća i izlazne slikovne ravnine (obično je to opet film). Pomoću koherentnog izvora svjetla, npr. lasera, takav sustav ima za osnovu operacije Fourierovu transformaciju. Dodatkom filtra izvode se operacije kao što je konvolucija i korelacija. To su tri osnovne operacije optičkog procesora (N. Myers, 1979). Optički sustav može gotovo trenutačno obraditi sliku sa 3 000 x 3 000 razlučivih točaka, odnosno, preciznije, u vremenu koje je potrebno svjetlosti za prolazak kroz sustav leća. Jednom kada se problem u optičkom sustavu opiše i svede na matematičke jednadžbe i transformacije, može biti riješen uz pomoć digitalnog računala. Digitalna obrada slike zahtijeva skaniranje analogne slike (koja ima nekoliko tisuća ili milijuna slikovnih elemenata) i pretvaranje svijetlih razina ili boja u
13.3. PARALALNE ARHITEKTURE RACUNALA ZA OBRADU SLIKA
227
analogni signal, njegovo pretvaranje u digitalni oblik. Nakon toga digitalno računalo mora izvesti obično nekoliko milijuna računanja, pretvoriti rezultate digitalne obrade u analogni oblik i rezultate prikazati na prikaznoj jedinici. Hibridni sustavi za obradu slike iskorištavaju prednosti digitalne obrade (visoka prilagodljivost postignuta programabilnošću sustava) i optičke obrade (velika brzina obrade). Međutim, djelotvornost takvih sustava ograničena je, za sada, nedovoljno razvijenim pretvaračima između tih dviju domena. Iako su značajke optičke obrade: • velika brzina • paralelna obrada, • velika sposobnost pohranjivanja slika, u ovom se desetljeću prednost ipak daje digitalnoj obradi zbog: • sposobnost izvođenja širokog razreda složenih algoritama, • velike preciznosi i ponovljivosti računanja, • velike prilagodljivosti i prenosivosti programske opreme, • mogućnosti interaktivne obrade. Stručnjaci procjenjuju (K. Preston, 1 972) da će, međutim, unatoč snažnom razvoju tehnologije L S I i VSLI, ipak specijalni optički sustavi za obradu slike zadržati prednost na ograničenom području primjene sljedećih 1 0 do 20 godina. U ovom poglavlju opisat ćemo arhitekturu specijalnih digitalnih računala (procesora za obradu slika) koja su namijenjena za obradu i raspoznavanje slika. 13.3. PARALELNE ARHITEKTURE RAČUNALA ZA OBRADU SLIKA
Pred kraj prošlog desetljeća jasno su se iskristalizirala dva smjera razvoja sustava za digitalnu obradu i raspoznavanje slika (E. C. Lyons, 1 977): • razvoj velikih sustava za teorijska istraživanja i razvoj novih aplikacija, te za egzaktnija rješenja postojećih problema, • razvoj malih sustava za rješavanje skupa specifičnih problema obrade i raspoznavanja. Kao sustav za obradu slika može poslužiti digitalno računalo opće namjene, međutim samo za ograničen razred primjene jer zbog von Neumannove koncepci je takva računala (sekvencijalna su!) imaju niz nedostataka (pogl. 1 2). Ti se nedostaci mogu izbjeći primjenom digitalnih računala specijalne namjene. Takva računala imaju mnoge značajke utjecaja paralelizma u postupku obrade i raspo znavanja slika, te paralelnih algoritama za obradu slike (S. Ribarić, 1 982). SPAC - Spatial Computer
S . H. Unger je 1 958. godine predložio prototip arhitekture paralelnog proce sora (računala) za rješavanje problema koji imaju podatke uređene u prirodnom prostornom obliku (na primjer, raspoznavanje dvodimenzionalnih uzoraka, igranje šaha, sustav linearnih jednadžbi). Takvo prostorno računalo djeluje izravno na prirodnom dvodimenzionalnom uređenju podataka. Slika 1 3. 12 prikazuje prostorno računalo SPAC. Ono se sastoji od dvodimen zionalnog polja ćelija za obradu i modula centralnog upravljanja (master control). Svaka ćelija saobraća sa četiri svoja najbliža susjeda. Modul centralnog upravljanja upravlja poljem ćelija. On izdaje instrukcije cijelom polju ćelija i nema mogućnosti
228
13. ARHITEKTURA RACUNALA ZA OBRADU SLIKA
adresiranja pojedine ćelije. Modul centralnog upravljanja sadrži memoriju s izravnim pristupom za pohranjivanje instrukcija, sklopove za generiranje signala vremenskog vođenja te sklopove za dekodiranje instrukcija. Modul djeluje poput upravljačke jedinice konvencionalnog računala: • instrukcije pribavlja u slijedu, • dekodira instrukcije, • šalje odgovarajuće upravljačke signale svim ćelijama. Polje modula
Sl. 13.12. Računalo SPAC
Ćelija se u procesnom polju sastoji od jednobitnog akumulatora, memorije s izravnim pristupom (šest jednobitnih riječi) i sklopova za izvođenje osnovnih logičkih operacija. Uhizi u ćeliju su ili od modula centralnog upravljanja ili iz akumulatora četiriju najbližih ćelija. S. H. Unger je predvidio i paralelni unos podataka (na primjer slike) pomoću ulaznog uređaja načinjenog od fotoosjetljivih elemenata koji su pridruženi svakoj ćeliji. Podaci se izravno unose u akumulator. Modul centralnog upravljanja ima ulaz koji je logičko ILI svih akumulatora. Stanje tog ulaza može poslužiti pri uvjetnom grananju (instrukcija trz x, transfer on zero - izvrši instrukciju x ako su svi akumulatori O). Podaci se mogu prenositi izravno od j edne ćelije prema drugoj pomoću instrukcija za posmak. Na primjer, instrukcija SR (shift right posmak u desno) posrniče sadržaje svakog akumulatora u akumulatore ćelija desno od njih. Računalo SPAC ima skup od četrnaest instrukcija: 1. tr x (engl. transfer to intruction x) I zvedi instrukciju x sljedeću. 2. trz x (engl. transfer on zero to instruction x) - Izvedi instrukciju x kao sljedeću ako su sadržaji akumulatora svih ćelija nula. U ostalim slučaje vima nastavi izvođenje normalnog niza instrukcija. (engl. invert) komplementiraj sadržaje akumulatora svih ćelija. 3. in 4. add (engl. addition) Logička operacija ILI između sadržaja akumulatora, sadržaja memorijske lokacije u ćeliji i sadržaja akumulatora susjednih ćelija. Sadržaj memorijske lokacije ostaje nepromijenjen. -
13.3. PARALALNE ARHITEKTURE RACUNALA ZA OBRADU SLIKA
229
5. mpy (engl. multiply) - Logička operacija I. Rezultat logičke operacije I ostaje u akumulatoru. Sadržaj memorijske lokacije ostaje nepromije njen. Izvori operanda su isti kao i u slučaju instrukcije add. 6. adm (engl. add in memory) - Ta instrukcija izvodi logičku operaciju ILI između sadržaja akumulatora sa sadržajem označenih memorijskih loka cija. Instrukcija adm a, c izvodi logičku operaciju ILI sadržaja akumu latora sa sadržajima memorijskih lokacija a i c u svojoj ćeliji. Sadržaj akumulatora se ne mijenja. 7. mpm (engl. multiply in memory) - Instrukcija izvodi logičku operaciju I sadržaja akumulatora sa sadržajem svake označene memorijske lokacije u ćeliji . (engl. store) - Instrukcija pohranjuje sadržaj akumulatora u specifici 8 . st ranu memorijsku lokaciju. 9. wr (engl. write) - Ta instrukcija upisuje sadržaj naznačene memorijske lokacije u akumulator. 1 0. sL, sR, sU, sD (engl. shift left shift right, shift, up, shift down) - Posmak sadržaja akumulatora u naznačenim smjerovima. l l . add ref(engl. add reference) - Ta instrukcija djeluje samo na najužu lijevu ćeliju (ćeliju u lijevom kutu polja). Ona postavlja sadržaj akumulatora te ćelije u 1 . 1 2. exp (engl. expand) - Instrukcija exp pridodaje jedinicu (logička operacija ILI) akumulatorima ćelija koje su spojene u lanac međućelijskih memo rija s ćelijom koja ima l u svom akumulatoru. Veza je specificirana u instrukciji i može, biti horizontalna, vertikalna, pozitivno i negativno dijagonanla. l 3. link (engl. link) - Zapis u memoriju da li susjedni parovi ćelija sadrže jedinice u akumulatorima. . (engl. shift around) - Ta instrukcija služi za serijsku U/I. Ona uzima 1 4. sA ulazni bit i smješta ga u lijevu donju ćeliju polja, svaki redak polja se posrniče udenso za jedno mjesto s tim da bit krajnje desne ćelije svakog retka prelazi u krajnju lijevu ćeliju gornjeg retka. Sadržaj akumulatora krajnje desne gornje ćelije šalje se u izlazni registar. Prikažimo primjer programa za SPAC koji udvostručuje linije na slici (S. H. Unger, 1 958.): Instrukcija pohrani sljedeću sliku na memorijsku lokaciju a; sadržaj akumulatora je 1. st a nepromij enj en, 2. sL posmakni sadržaj akumulatora u akumulator u ćelijama lijevo, 3. adm a pribroji (logička operacija ILI) sadržaj akumulatora sadržaju memorij ske lokacije a, 4. mpy R uklanja točke s desnog kraja svakog retka (pohranjene u akumulatoru), 5. trz 7 ako nema linija koje imaju preostale točke, upravljanje se prenosi na instrukciju 7. 6. trz 2 jedna je točka dodana na lijevom kraju svake linije i postupak se nastavlja, 7. wr a Slika l 3. 1 3a prikazuje ulaznu sliku za gornji program, a slika l3. l 3b konačni rezultat izvođenja programa. Ćelija se sastojala od jedanaest bistabila i nešto više od dvije stotine logičkih vrata.
13. ARHITEKTURA RACUNALA ZA OBRADU SLIKA
230 1
H-,I
r--
1
al
1
1 1
1
1
1
Sl. ]3.}3. Ulazna slika a) i konačna slika b) nakon izvodenja programa za udvostručavanje linija (za računalo SPAC)
Zbog tadašnjih tehnoloških ograničenja predloženi model računala SPAC nije se mogao realizirati. Na računalu IBM 704 simulirano je računalo SPAC s poljem ćelija dimenzija 36 x 36. Simulirani su programi za izlučivanje šuma, detekcij u rubova, stanjivanje i raspoznavanje slova (S. H. Unger, 1959). U svojim razmatranjima S. H. Unger predlaže uopćenje modela računala zamjenom dvodimenzionalnog polja ćelija s tro- i višedimenzionalnim poljem, te povećanje kapaciteta memorije pridružene svakoj ćeliji. Računalo SPAC je u sebi sadržavalo čitav niz značajki koje su se kasnije djelotvorno primijenile u procesorima ILLlAC I II, ILLlAC IV, MPP i drugima. Po svojim značajkama SPAC pripada modelu SIMD arhitekture računala. SOLOMON I (Simultaneous Operation Linked Ordinal Modular Network). Slika 13. 14 prikazuje funkcij onainu blok-shemu računala SOLOMON (D. L. Slotnick, 1962). Ono se sastoj i od: ProgrOlllskll. memorija Adrese Prekidno upravljanje
Slijednik
Instrukcije Upravljafka jedInica
Upravljanje Uli Prijenos instrukcija
Upravljanje Polje procesnih elemenata IPEI
Konzola
IzvtšlloC Uli Upravljanje
Prijenos InformaCija I podataka
Uli periferni uređaji
Sl. }3.14. Funkcionalna blok-shema računala SOLOMON
13.3.
23 1
PARALALNE ARHITEKTURE RACUNALA ZA OBRADU SLIKA •
programske memorije u kojoj se pohranjuju programi, upravljačke jedinice koja upravlja cjelokupnim sustavom i raspodjeljuje instrukcije. Ona adresira instrukcije u programskoj memoriji. Razlikuje sljedeće tipove instrukcija: instrukcije za procesne elemente, U JI instruk cije, instrukcije za programsko sekvenciranje, te instrukcije za U JI izme đu polja procesnih elemenata i perifernih uređaja, • sljednika koji dekodira instrukcije iz upravljačke jedinice, generira in strukcije za procesne elemente i upravlja adresiranjem memorije u proce snim elementima, • izvršioca UjI koji ima zadatak da omogući U JI prijenos (U JI sinkroniza ciju) između polja procesnih elemenata i U JI perifernih uređaja, • polja procesnih elemenata. Ono, kao i polje ćelija u računalu SPAC, simultano izvodi zajedničku (jednu) instrukciju. Upravljanje, za razliku od računala SPAC, omogućava da neki procesni elementi iz polja ignori raju izvođenje zadane instrukcije. Svaki procesni element je povezan sa svoja četiri najbliža susjeda, a ima i peti ulaz (vanjski) za podatke iz sljednika (sl. 1 3.15). Geometrija polja je takva da su na raspolaganju njegove brojne konfiguracije: horizontalni cilindar, vertikalni cilin dar, torus, kružni oblik i normalna ravninska konfiguracija. Izmjena konfiguracije izvodi se samo promjenom veza rubnih procesnih elemenata, dok se veze unutraš njih elemenata polja ne mogu mijenjati. Za razliku od ćelija u računalu SPAC, procesni elementi pored logičkih operacija izvode i aritmetičke operacije. PE ima i dva memorijska bloka kapaciteta 64 tridesetdvobitne riječi. Blokovi su organizira ni kao stog memorija (J. Gregory, 1 963). Procesni element izvodi operacije nad podacima pohranjenim u memorijskom bloku (svome ili svoja četiri susjeda) ili nad podatkom dobivenim iz sljednika (peti ulaz). Dimenzije su procesnog polja 32 x 32 (osnovna konfiguracija) ili 32 x 64 procesna elementa (maksimalna konfiguracija). •
X
Alternatlyne lokacije la
r
I L
-------
-------
registar
---------
Alternatiyne lokocile lO
X
registnr
____________________________
I
:
J
Sl. 13.15. Polje procesnih elemenata računala SOLOMON
232
1 3. ARHITEKTURA RAL:UNALA ZA OBRADU SLIKA
Računalo SOLOMON je projektirano tako da ima brzinu za tri reda veličine veću od konvencionalnog računala. Ono je našlo primjenu u rješavanju sustava diferencijaInih jednadžbi, u multidimenzionalnoj funkcionalnoj analizi i u složenim problemima s područja raspoznavanja uzoraka, transporta i razvrstavanja (sortiranja). ILLIAC III
Godine 1 963. u Digital Computer Laboratory, University of Illinois, razvije no je računalo ILLlAC III namijenjeno rješavanju problema s područja raspo znavanja uzoraka i obrade dvodimenzionalnih slika (8. H. McCormick, 1 963). Računalo se sastoji od pet funkcionalnih jedinica: • brzog skanera za unos slike, • izlaznog podsustava (pisač, prikazna jedinica, jedinica trake), • TU (Taxocrinic Unit) - jedinice za raspoznavanje, • PA U (Pattern Articulation U nit) - polja od 32 x 32 procesna elementa za pretprocesiranje slika, • AU (Arithmetic Unit) - aritmetičke jedinice. Jezgra je računala jedinica PA U koja se sastoji od 1 024 procesna elementa koji se nazivaju stalaktiti (engl. stalactite). Svaki procesni element može saobraćati sa šest ili osam najbližih susjeda (po izboru programera). Svi procesni elementi (PE) istovremeno izvršavaju specificiranu instrukciju. Procesni element se sastoji od tri osnovne sekcije (sl. 1 3. 1 6): • prijemne sekcije za izbor podataka iz susjednih PE ili samog PE, • sekcije za pohranjivanje koja ima deset memorijskih lokacija za pohranji vanje ulaznog podatka M, 0, l , 2, 3, 4, 5, . . . , 8. • predajne sekcije koja prihvaća sadržaj jednog od dvaju jednobitnih registara i prenosi je na svoj ulaz ili na jedan od ulaza osam susjednih PE. Polju procesnih elemenata (stalaktitima) pridružena je i pomoćna memorija, nazvana memorija za prijenos TM (engl. transfer memory). Svaki stalaktit "vidi" TM kao memoriju od 54 jednobitne riječi. Prijenos 1 024 riječi između TM i polja stal�ktita odvija se paralelno - u jednom memorijskom ciklusu. Instrukcija PAU sastoji se od 40 bita: • prvi dio od 1 0 bita naziva se grupa za upravljanje tokom (engl. control flow) i određuje tok informacije kroz stalaktit, (C, C, G, F, B, U, D, . . . ; sl. 1 3. 1 6), • sljedećih 1 0 bita nazivaju se grupa za upravljanje čitanjem (engl. read control group) i određuju koji se od 1 0 bistabila (M, 0, 1 , 2, 3, 4, . . . , 8) čita (RD (M, 0, l , . . . , 8)), • treća grupa od 1 0 bita naziva se grupa za upravljanje ulazima (engl. input gate control group) i upravlja ulazom u stalaktit (G (C, 0, l , . . , 8)), • zadnja grupa od 1 0 bita naziva se grupa za upravljanje pohranjivanjem (engl. FF load control group) i definira u kojim se bistabilima ulazni podatak pohranjuje (LD (M, 0, 1 ,. . . . , 8)). Jedinica PA U izvodi operacije na digitaliziranom rasteru: stanjivanje, popu njavanje praznina, detekciju linijskih elemenata, detekciju krajnjih točaka, točke .
233
13.3. PARALALNE AJUUTEKTURE RACUNALA ZA OBRADU SLIKA
o
I
2
:5 -
= .a
PE
IStalokl1t1
�
� .li!
·
.9 :::>
nojbUtlm SU$jedlmol
...
• ·
Izlaz Ipremo
8 62
G1
•••
G8
6C
-- - ' llS ..T__., ....... .. PRE r L-____ ...J
HARK ....;.;.;.,; Ix.:.;. fl...;
I"...
I
.------, IL T"_ _.J
LDIAI
,------------------6 1(.0.1.2. ...81
OR
II
· •
I I
(
·
I I
I
I
8 Sabirnim
SI. 13. 16.
a)
Procemi
I
I
(
. .
Bubble registar
8 FlosII thru
elementi (stalaktik ralunala ILLlAC b) Imerna organizacija procesnog elementa
234
1 3. ARHITEKTURA RACUNALA ZA OBRADU SLIKA
presjecišta, a također označava takve elemente generirajući liste povezanih eleme nata. Jedinica TU skuplja liste i na temelju njih . raspoznaje dvodimenzionalne uzorke. Jedinica AU izvodi matematičku analizu (stereorekonstrukcij u, statistički pregled i sL) koja se zahtijeva u obradi slika. Iako I LLlAC I I I nije realiziran do kraja, pokazao je da se računalo takve arhitekture vrlo djelotvorno može primijeniti u obradi dvodimenzionalnih slika (na primjer u obradi i analizi fotografija tragova čestica).
ICC (Multllayer Iterative Circuit Computer) Začetnik rada na području celularnih automata (CA) J. Neumann dao je značajan poticaj istraživanju i razvoju modela računala na bazi CA CK. Preston, 1 979). J. Holland je 1 960. godine dao matematički model iterativnog računala (Iterative Circuit Computer) koji će kasnije poslužiti kao osnova za daljnja istraživanja i pokušaje praktične izvedbe takva računala. Holland je predložio pravokutnu mrežu ćelija identične strukture. Svaka se ćelija sastoji od registra S (binary storage register) i pomoćnih registara. Kao i u von Neumannovu stroju, vrijeme je kvantizirano (diskretni vremenski koraci). U svakom vremenskom koraku ćelija može biti aktivna ili neaktivna. Aktivna ćelija interpretira sadržaj registra S kao instrukciju i izvršava je. Ne postoji ograničenje broja aktivnih ćelija (izuzev veličine računala). Računalo djeluje na sljedeći način: • Ako je u vremenskom koraku t aktivna ćelija M (i, )) s koordinatama u mreži (i, J), tada se u vremenskom koraku t + I ćelija M (i, )) vraća u neaktivno stanje. Njen nasljednik, jedna od četiri susjedne ćelije postaje aktivna. Izuzetak je od toga pravila instrukcija u registru S aktivne ćelije koja specificira drugi smjer akcije. Djelovanje ćelije za vrijeme svakog koraka podijeljeno je u tri sukcesivne faze: Za vrijeme početne faze registar S. ćelije može biti postavljen na bilo koju po volji izabranu vrijednost, a njegovi pomoćni registri na bilo koji željeni uvjet. Ta se faza naziva faza unosa. Za vrijeme druge faze aktivna ćelija određuje lokacij u skupa operanada skup registara S na kojima će instrukcija djelovati. Ta se faza naziva izgradnja puta (engl. path building). U toj fazi neki bitovi u instrukciji određuju duljinu segmenta (puta) i smjer. Za vrijeme treće faze aktivni modul izvršava instrukciju u registru S. Za to mu trebaju sljedeće ćelije: • aktivna ćelija koja pohranj uje operacijski kod (engL order code), • registri S ćelija koje su na kraju puta i sadrže skup riječi operanda, • ćelija koja ima ulogu aritmetičke jedinice (A-ćelija). Osim nedostataka Hollandova modela računala (teškoće oko programiranja i visoka cijena hardvera (K. J. Thurber, 1 976» , potrebno je istaknuti druge, važne značajke: budući da su ćelije identične, stroj je pogodan za realizaciju u tehnologiji visokog stupnja integracije, budući da mnoštvo ćelija može biti aktivno u isto vrijeme, stroj može istovremeno izvoditi niz programa (ili potprograma). Na osnovi Hollandova računala i analize polimorfnih sustava računala (stroj programabiine strukture gdje se promjene u konfiguraciji stroja ostavaru;u veza-
113. PARALALNE ARHITEKTURE RACUNALA ZA OBRADU SLIKA
235
ma između modula, a ne u internoj organizaciji modula) R. Gonzalez je predložio model višeslojnog iterativnog računala (multi1ayer iterative circuit computer; R. Gonzalez, 1 963).
Sl. 13.17. Ravnine račun� la ICe
Računalo se sastoji od triju ravnina. Svaka ravnina sadrži mrežu od n x m ćelija. Sve tri ravnine su jednake po obliku, veličini i tipu ćelije (sl. 1 3. 1 7) : • programska ravm'na sadrži na početku originalni program ili programe, • upravljačka ravnina interpretira instrukciju koja slijedi za instrukcijom koja se upravo izvršava, • računska ravnina u noj se izvode aritmetičke, logičke i geometrijske operacije. Hollandov je model zahtijevao tri tipa ćelija pri izvođenju instrukcije (aktivna ćelija, ćelije s operandima, A-ćelija). R. Gonzalez je razradio tu koncepciju uvođenjem triju ravnina ćelija. To je omogućilo prekrivanje faza izvođenja, i tako povećalo brzinu obrade. Slika 1 3. 1 8 prikazuje prekrivanje faza izvođenja instrukcija (oznake su oblika Kp gdje K označava fazu, a indeks z' instrukciju koja se izvodi). -
Vrijeme
-
Sl. 13. 18. Prekrivanje faza izvođenja instrukcija za računalo Ice
n.
236
ARHITEKTURA RACUNALA ZA OBRADU
Svaka ćelija računala ICC može imati (u različito vrijeme): funkciju • akumulatora, • registra, • memorijske ćelije, • jednostavne spojne veze.
a)
•__�___
b)
Sl. 13.19. a) Povezivanje ćelija jzmedu ravnina
'nforlllQ(�1b liniJI stupca
SLIKA
13.3. PARALALNE ARHITEKTURE RACUNALA ZA OBRADU SLIKA
237
Funkcija se može mijenjati u toku izvođenja programa, tako da ćelija ima značajke elemenata višefunkcionalne strukture i dinamičke arhitekture (S. I. Kartashev, 1 978). Ćelija se sastoji od akumulatora, registra, dekodera i prospojnih matrica. Ćelije u ravnini međusobno saobraćaju preko informacijskih linija retka i stupca. Krajnje ćelije su spojene s krajnjim kružnim linijama (engl. end-around line). Saobraćanje ćelija između ravnina omogućuju skupovi veza (sl. 1 3. 1 9): • skup veza ćelija programske ravnine s odgovarajućim ćelijama u upravljačkoj ravnini, • skup veza ćelija u upravljačkoj ravnini s onima u računskoj ravnini, • skup veza ćelija u računskoj ravnini s. onima u programskoj ravnini, • zajednička sabirnička linija koja spaja sve ćelije u računskoj ravnini i prenosi impuls kao indikator završetka operacije račupanja svim ćelijama u programskoj i upravljačkoj ravnini.
2
3
S
6
'1
8
2 3 lt 5 6 '1
ProglllJlklS a ravnina
8 Upravljač ko ravnina Računska ravnina
Sl. 13.20. Primjer izvođenja instrukcija za računalo ICC
Prikazat ćemo primjer izvođenja slijeda instrukcija (sl. 1 3.20): Instrukcija l . (77;88) Load (44;55) (33;44) 2. (57; 77) Add (57; 33) (33; 55) 3. (56;77) Load (66;23) (33;66) Prvi dio instrukcije ( ; ) sadrži dva para simbola. Prvi par, npr. 77, pokazuje redak kojem prva i zadnja ćelija u grupi ćelija pripadaju, odnosno pokazuje širenje
13. ARHITEKTURA RACUNALA ZA OBRADU SLIKA
238
operanda I. Drugi par, npr. 88, označava početne i krajnje koordinate stupca operanda. Drugi dio instrukcije (npr. Load, Add) jest polie operacijskog koda. Treći dio je oblika ( ; ) i označava položaj drugog operanda. Cetvrti dio instrukcije ( ; ) označava mjesto sljedeće instrukcije. U računskoj se ravnini izvodi faza izvrši instrukcije 3 1 (77 ; 88) Load (44; 55) (33 ; 44). U upravljačkoj se ravnini instrukcija 2 (33; 44) i podaci koji odgovaraju operandu II (57; 33) pune u lokacije označene operandom II (faza 22), U programskoj se ravnini izvodi faza l instrukcije 3, koja je nasljednik instrukcije 2 (faza 1 3), Slika 1 3.20 prikazuje izvođenje instrukcija za gore opisani primjer. Računalo ICC predstavlja razradu Hollandova modela i ima značajke pogodne za izvođenje operacija u fazi pretprocesiranja slika: • višeslojnost ravnina koje omogućuju prekrivanje izvođenja instrukcija, • funkcionalnu promjenjivost ćelija, • instrukcije koje djeluju na više operanada (multiple operand instruction).
PLANARNO RACUNALO PC Model planarnog računala predložili su 1 963. godine J. K. Hawkins i C. J. Munsey. Slika 1 3.21 prikazuje organizaciju takva računala. Ono se sastoji od ulazne ravnine, dvodimenzionalnog procesnog polja i izlazne ravnine. Procesori u dvodimenzionalnom procesnom polju imaju sljedeće značajke: • postoji samo veza između ulazne i izlazne ravnine, pomoću nje se ostvaruje tok podataka, • svaki procesni element ima kao ulaze izlaze od N ćelija u ulaznoj ravnini (N � m x n, gdje su m x n dimenzije ulazne ravnine), • uzorak veza između izlazne ćelije i ulaznih ćelija (ćelija u ulaznoj ravnini) jednak je za sve izlazne ćelije. Na primjer, ako procesni element ( I , l ) spaja ulaze ( I , l ) i ( I , 2), a ima za izlaz ćeliju ( 1 0, l ), tada procesni element (i, J) spaja ulaze (i, J) i (i, j + l ) s izlazom ci + 9, D. • sve ćelije izvršavaju istu kombinacijsku logičku funkciju, • raspoložive logičke funkcije su ograničene na skup linearnih ulaznih logičkih funkcija. Ulo.zno ravnina
Procesni elementi
Sl. 13.21. Planarno računalo PC
Izlazna ravnina
13.3. PARALALNE ARHITEKTURE RACUNALA ZA
OBRADU
239
SLIKA
I nstrukcija za računalo PC sastoji se od dvaju dijelova: - logičke tablice (tablice istinitosti) za funkciju j, - relativne lokacije ulaznih varijabla. J. K. Hawkins i C. J. Munsey predlažu za logičke funkcije u više razina (multilevel logic function) organizaciju računala u više razina (slojeva) ili organi zaciju s povratnom vezom preko memorije na ulaznu ravninu. Da bi riješili problem postojanja ogromnog broja veza izmedu ćelija ulazne i izlazne ravnine (reda 1 03 ili 1 09) predlažu upotrebu optičke tehnike. Planarano računalo PC predstavlja ekstremni oblik paralelnog računala koje je namijenjeno obradi slika.
STARI\N Dvije osnovne značajke raspoznavanja i obrade slika uvjetuju projektiranje i razvoj specijalnih arhitektura računala: • velika količina podataka koje treba obraditi (na primjer, slika s prikazne jedinice CRT ima 256 000 do 1 048 576 slikovnih elemenata, slike u kartografiji, već prema rezoluciji, od 4 000 000 do 396 milijuna slikovnih elemenata (J. L. Potter, 1 982)). • ista se operacija izvodi na svim podacima. Arhitektura tipa S I MD upravo je idealna za obradu s gornjim značajkama. Godine 1 970. tvrtka Goodyear Aerospace Corporation razvila je asocijativno paralelno računalo arhitekture S IMD STARAN. Slika 1 3.22 prikazuje organizaciju računala.
Uli
r-
r-i Polj� lIoduln I I I I I I I I I LI ------ --'I I r ..J �� pol�
PoraIeInI Uli
___
Sl. 13.22. Organizacija računala STARAN
ST ARAN se sastoj i od konvencionalne adresibilne upravljačke memorije za pohranjivanje programa i podataka, upravljačke j edinice za slijedno pribavljanje i dekodiranje instrukcija iz upravljačke memorije i do 32 polja procesnih modula ili
240
13. ARHITEKTURA RACUNALA ZA OBRADU SLIKA
tzv. asocijativnih memorijskih polja. Polje modula se sastoji od višedimenzionalno pristupne memorije!) od 256 riječi duljine 256 bita, permutacijske mreže i 256 jednostavnih procesnih elemenata (sl. 1 3.23). Mnoge primjene zahtijevaju da procesni elementi izvršavaju aritmetičke operacije s parovima operanada koji nisu u istoj memorijskoj riječi. To znači da procesni elementi moraju imati pristup ne samo jednoj riječi u memoriji već do više njih. To je omogućeno pomoću permutacijske mreže (sl. 1 3. 24; D. Rohrbacher, 1 977). Kod računala STARAN izbjegnuto je "von Neumannovo usko grlo" (v. 1 2.2) tako da je svakoj riječi u memoriji dodijeljena veza (preko permutacijske mreže) s jednim procesnim ele mentom (sl. 1 3.24). Ulaz
V
JUG
v 256
Selektor
V�edlmenzionalno pr i s t upna memorija
I
,./
..... 256
256 ,,"/
I MOAI
li"
procesnih el!menota
..... 256
( PE )
l-
•
Permutacijska mreža
v256 .......-
U
/
v2 56
256 ...
> Izlaz
Sl. 13.23. Polje modula računala STARAN
-- -I-----....-. I--.J.. -----I,---
�
-
· ·
·
Memo r ija
-r- I / /
f---
r --_ - --
Permutocijska mreia
·
·
·
-
Procesni elementi
Sl. '13.24. Veza memorije s procesnim elementima P5)
Permutacijska mreža omogućuje veze između podataka i procesnih elemenata (bez dodatnih vremenskih kašnjenja) u uzorcima (tzv. butterfly diagram) pogod nim za izvedbu brzih transformacija (FFT2J, Hadamard, Haar i sL). ') MDA - Mu ltidimensional Access Memory. ,) Fast Fourier Transform.
241
1 3.3. PARALALNE ARHITEKTURE RAČUNALA ZA OBRADU SLIKA
Pogodnost arhitekture S IMD u obradi dvodimenzionalni h uzoraka potvrdilo je i računalo STARAN (D. Rohrbacher, 1 977): • Filtriranje slike u frekventnom prostoru izvršava se vrlo djelotvnorno pomoću STARAN-a; FFT slike 5 1 2 x 5 1 2, kvantizirane u 256 razina, filtriranje i inverzna transformacija izvodi se za 2,06 sekundi, dok računa lu HP 3 000 treba za isti zadatak I 552 s. • Konvolucija - uobičajena tehnika poboljšanja slike u prostornoj domeni izvodi se pomoću ST ARAN-a za dva reda veličina brže nego serijskim računalom IBM 360/ 1 95. • Klasifikacija metodom najveće vjerojatnosti izvršava se 4 do 5 puta brže nego računalom IBM 360/75. Zahvaljujući svojim značajkama računalo STARAN našlo je primjenu u brojnim zadacima u obradi slika u NASA Johnson Space Center (na složenom projektu LACIE).
ILLIAC IV Računalo ILLlAC IV jedno je od najvećih računala na svijetu. Razvijeno je na University of I llinois u suradnji s tvrtkom Burroughs Corporation. Značajke se njegove arhitekture temelje na iskustvu s računalom SOLOMON. Iako je I L LIAC IV razvijen prvenstveno za obradu i rješavanje složenih problema modeli ranja i prognoze vremena, te za obradu podataka u atomskoj fizici, zahvaljujući svojim karakteristikama djelotvorno se primjenjuje u obradi slika u sustavu Landsat (obrada, analiza slika, grupiranje u nakupine (clustering), klasifikacija). Slika 1 3 . 25 prikazuje organizaciju računala ILLlAC IV (K. J. Thurber, 1 976).
Raiunolo 8 6700
Uli
DiSk ledinICa
-" je komleks od 64 procesna elelll enta u polju dimenZija 8 . 8
Sl. 13.25. Ralunalo ILLIA G IV
I LLlAC IV je računalo kategorije SIMD. Jedna centralna upravljačka jedinica upravlja radom 64 procesna elementa (PE). Svaki je procesni element
242
1 3. ARHITEKTURA RAL:UNALA ZA OBRADU SLIKA
Veze s ostalim upravlJnlklm jedinicama I
U/J upravlja.�kom Jedinicom
Od p[ 63 i prema njemu
O d PE 56 i prema njemu
IAril. I log. operacijel
Memorija procesnog elementa O
Veze od p[ 8 i prema njemu
od PE 57 I prema njemu
Procesni element
1
M-bitno sabirnica I oko 260 upravljolklh IInija.
Memorija procesnog elementa
1 Od p[ 9 I prema njemu
1024 bitna sabirnica od U/J I prema njelIlJ Memorija procesnog elementa
63 Od p[ O I prema njemu
od p[ 7 I prema njemu
Regktcr lO uslftjerowonje
SI. 13.26. Detalj medupovezivanja procesnih elemenata i blok-shema procesnog elementa
1 3.3. PARALALNE ARHITEKTURE RACUNALA ZA OBRADU SLIKA
243
povezan sa četiri svoja susjeda i može izvršavati aritmetičke operacije 64-bitnim ili 32-bitnim brojevima s pomičnim zarezom. U 32-bitnom načinu svaki procesni element može istovremeno izvoditi dvije takve operacije, tako da ILLlAC IV ima mogućnost istovremene obrade 32-bitnog vektora duljine 1 28 (jedno procesno polje od 64 PE). U 8-bitnom načinu računalo može istovremeno izvoditi aritmetičke operacije na 5 1 2 komponenata 8-bitnog vektora. Procesni element se sastoji od kojih 1 0 000 vrata, a tipično vrijeme izvođenja operacija mu je 500 ns (J. K. Thurber, 1975). Svaki procesni element ima 2 048 riječi lokalne memorije koja se naslovljava (adresira) pomoću indeksnog registra procesnog elementa. U obradu složenih problema memorija procesnih elemenata služi kao privremena (engl. scratch pad), a podaci su pohranjuju na disku (brzina prijenosa 500 Mbita/s, sl. 1 3.25). Upravljačka jedinica (CU) izvršava cjelobrojnu aritmetiku prvenstveno za upravljanje grananjem i za računanje adresa, dok se sve sposobnosti za aritmetiku s pomičnim zarezom nalaze u procesnim elementima. CU šalje operande svim PE i može pribaviti zahtijevanu riječ iz njegove memorije. Podaci koji se nalaze u memoriji procesnog elementa mogu se uređivati primjenom logike za usmjeravanje (engl. routing network) koja povezuje procesne elemente (sl. 1 3.26). Računalo B 6700 ima funkciju računala domaćina (engl. host computer) ono j e odgovorno za: • izvođenje programa, • dodjeljivanje resursa, • upravljanje periferijom i U/I operacijama, • oporavljanje od pogreške (engl. fault recovery), • asembliranje programa. Ono nadgleda i priprema programe za izvođenje. Računalo ILLlAC IV primjenjuje dvije glavne metode za postizanje velike brzine obrade: • paralelizam (više procesnih j edinica djeluje istovremeno, • prekrivanje (engl. overlap) izvođenja instrukcija. lako računalo ILLlAC IV nij e izgrađeno do kraja (sva četiri kvadranta procesnih polja), tako da međukvadratne mogućnosti i ograničenja nisu mogla biti ispitana i ocijenjena, računalo je dalo vrijedan uvid u djelovanje procesorskog polja sa susjednom vezom procesnih elemenata. Za računalo ILLlAC IV razvijeni su viši programski jezici IVTRAN, TRANQUIL, ali standard postaje viši programski jezik GL YPNIR, koji je bločno strukturiran i predstavlja proširenje ALGOL-a. On omogućuje sekvenci jalno i paralelno deklariranje podataka, a njegove jezične jedinke su takve da omogućuju dinamičko i statičko razmještanje i sl. PICAP I i PICAP II
Razvoj računala za obradu slike PICAP I (Picture Array Processor) na Linkoping University, Švedska, započeo je 1972. godine (B. Kruse, 1973). PICAP I pripada kategoriji arhitekture SIMD. Za razliku od mnogih proce sora koji se upotrebljavaju u području raspoznavanja uzoraka PICAP I je potpuno programabilan skupom instrukcija koji je prilagođen za djelotvornu obradu slika sa sivim razinama i obradu binarnih slika (B. Kruse, 1 982).
244
lJ. ARHITEKTURA RACUNALA ZA OBRADU SLIKA
Sustav za obradu slika PPM (Parallel Picture Processing Machine) sastoji se od konvencionalnoga malog računala, računala PICAP jedinice za unos slike (PID) i prikazne j edinice (sl. 1 3.27). Sabirnico
Jedinica 10 unos slike I PID- )
Konvencionalno molo računalo
Prikalno ledinica
UpnovIJalki signali - PID -Picture Input device Sl. J3.27. Sustav za obradu slike PPM
PICAP I i jedinica za unos slike su potpuno pod upravljanjem malog računala i to daje sustavu veliku prilagodljivost. Malo računalo ima funkciju programskog brojila i programske memorije za PICAP I. Ono pribavlja instrukci ju i preko sabirnice prenosi je u PICAP gdje se instrukcija dekodira i izvršava. "Okno" dimenzija 64 x 64 x 4 bita predstavlja osnovnu jedinicu podataka (sliku) koju P I CAP I obrađuje. Međutim, računalo PICAP I izvodi paralelno operacije nad poljem slikovnog susjedstva dimenzija 3 x 3. To je lokalno susjed stvo dovoljno za velik broj algoritama kao što su stanjivanje, svođenje na jedinični element (engl. shrinking), filtriranje i drugo. PICAP I se može prikazati kao SIMD računalo koje se sastoji od polja modula (sL 1 3.28).
I I I
� II I
-----
B
B
I
8
-==�-=--=-_-- B
Sl. 13.28. Polje modula računala PICAP I
PICAP I se sastoji od procesne jedinice, devet slikovnih registara i upravljač ke jedinice. Slikovni registri sastoje se od devet posrnačnih registara (4 bita) duljine 4 096 bitova, tako da se u njih pohranjuje slika dimenzija 64 x 64 u šesnaest sivih razina (sl. 1 3.29).
13.3. PARALALNE ARHITEKTURE RAL:UNALA ZA OBRADU SLIKA
4
Slikovni registri
9 . 64 064 .4
245
r-------------- - - - - - - - - - - - ---------, LB
d
d
linija la košnjenje
linija lO kašnjenje
, I I \ I L ________ _ _ __ _ _ _ ______
�
) _____ _ _ _ _ _
�
0.0,0., . . . . 0.8 točke susjedstva 36 54
Procesor la IlVođenje konvoluCIJe
NML
j4------ 80.B, • . . . 88 inavno il slikovnog registra 9
f4-----�--- VO .V, .V2 �-----r-----+-- T
I_ CO_ R ---'� L--NCR
'-------'
\
• ..•
V8
;
il upravljaČk jedinice IC U I
SI. 13.29. Računalo PICAP I
Procesna se jedinica sastoji od sklopova za izvođenje operacije podudaranja susjedstva, NML (engl. Neighborhood Matching Logic), procesora za izvođenje s konvolucije (računanje sume L Ci ' Qp gdje je Ci konstanta, a Qi vrijednosti i == o slikovnih elemenata), strukture linijskih međuspremnika LB (engl. Line Buffers), registra -brojila susjedstva, NCR (engl. Neighborhood Counting Register) i koordinatnog registra, COR (sl. 1 3.29). Potreb� za strukturom linijskih međuspremnika, LB, izvire iz činjenice da je slika pohranjena u slikovnim registrima dostupna sekvencijalno - slikovni ele ment po slikovni element. Da bi se izvela lokalna operacija, moraju svih devet slikovnih elemenata susjeda biti istovremeno dostupni. To nam uz pomoć eleme nata za kašnjenje upravo omogućuje struktura LB. U početku su sadržaji slikov nog registra i linijskih međuspremnika (LB) pomaknuti tako da je gornji lijevi kut slike smješten u središte susjedstva Qo' Q l ' . . . , Qs' Za vrijeme sljedećih 4 096 posrnaka svako susjedstvo slike dolazi na red za obradu. Sklop za izvođenje operacija podudaranja susjedstva s maskom (NML) uzima skup ulaza iz susjedstva 3 x 3 (iz strukture LB) ili izravno iz slikovnih registara (prema tome da li je operacija lokalna ili na više slika (engl. pointwise comparision of multiple pictures; B. Kruse, 1 973)). Drugi skup ulaza dolazi iz upravljačke jedinice (CU) i sadrži masku (engl. templete) dimenzija 3 x 3 (ulazi Vo' Vl' . . . , Vs), Sklop NML izvodi operaciju podudaranja susjedstva s maskom. Ako su uvjetfpodudaranja ispunjeni (dopušte-
1 3. ARHITEKTURA RACUNALA ZA OBRADU SLIKA
246
ne su relacije: < , = , > , te X (engl. don't care - nije važno), izlaz središnjeg modula zauzima unaprijed zadanu vrijednost T. Operaciju sklopa NML možeIl).o opisati sa: V41
V31
V15
V1
V61
V71
o
V1 2
V1 1 V81
--+
Tt,
...,
V4k
V3k
5
Vk o
V6k
V7k
Vk
V2k
Vk 1 Vk
--+
k T .
8
Za neke l � � � k za koje se svi elementi susjedstva podudaraju s elementima gornjih maski, središnji element susjedstva zauzima vrijednost P, tako da je � = �min' Ukoliko ne dolazi do podudaranja, vrijednost se središnjeg elementa ne mijenja. Budući da se operacije vrlo često sastoje od upoređivanja samo s jednom maskom, primjenjuje se sekvencijaIni postupak podudaranja (maska za maskom), tako da je potreban samo jedan sklop za podudaranje. U skladu s definiranom operacij om, postupak podudaranja se prekida u trenutku pojave podudaranja. Tada se novo stanje T pohranjuje u registar rezultata. Istovremeno se brojilo susjedstva NCR povećava za jedan. Na kraju izvođenja instrukcije sadržaj se NCR i COR prenosi malom računalu koje je odgovorno za prijenos sljedeće instrukcije u PICAP I. Upravljačka jedinica računala PICAP I izvedena je kao klasična jedinica, s tim da joj je pridodana mikroprogramska memorija kapaciteta osam riječi od 4 1 bita (za pohranjivanje osam maski; k = 8). Računalo PICAP I upotrebljavalo se do sada u većem broju projekata s područja raspoznavanja uzoraka (raspoznavanje otisaka prstiju, ispitivanje tiskanih pločica, detekcija uzročnika malarije) i pokazalo se vrlo djelotvornim. Primjeri programa za fazu pretprocesiranja slike dani su u lit. (B. Kruse, 1 973). Brzina obrade, tzv. pixel-rate, u računalu PICAP I jest 1 06/s. Na osnovi iskustva s PICAP I na Link6ping University su 1 977 - 1 979. godine razvili računalo nove arhitekture, PICAP II , koje ima brzinu oko 40 puta veću od PICAP I. Računalo PICAP II je multiprocesorski sustav u kojem svaki procesor ima specijaliziranu funkciju (sl. 1 3. 30). Neki procesori (B. Kruse, 1 982) rukuju U/I operacijama, dok drugi izvršavaju specifične procesne operacije. Osnovne značajke sustava jesu: • svi procesori imaju brz pristup velikoj memoriji, • memorija za pohranjivanje slika (kapaciteta 4 M bajta) ima linearno uređen adresni prostor i time omogućuje djelotvorno pohranjivanje slika različitih dimenzija, • procesori mogu djelovati istovremeno na različitim slikama - time se postiže velika propustnost sustava, • sustav je modularan i mogu mu se pridodavati novi procesori s novim funkcijama. Procesori se aktiviraju pomoću računala domaćina koji preko upravljačke sabirnice dodjeljuje procesorima parametre (mikrokod).
247
13.3. PARALALNE ARHITEKTURE RACUNALA ZA OBRADU SLIKA
Sabirnica omogućuje priključenje petnaest procesora (npr. ulazni videopro cesor, procesor prikazne jedinice, među stupanj za jedinicu diska, procesor za filtriranje i sL). Računalo PICAP II pripada tipu arhitekture MIMO.
Memorijski moduli
...,rL---__r----r'----......
-r--.L..--r------...I.t.
-
Vremenski dijeljena sabirnica
Rafunalo domaćin
SH 77/35
Ter minoll. periferna oprema
Sl. J3.30. Računalo PleAP II
CLIP IV Pod vodstvom M. J. Ouffa na University College, London, razvijen je čitav niz računala za obradu slika. Godine 1 967. razvijeno je računalo UCPR l (M. J. B. Duff, 1 969) za automatsku lokalizaciju sljedova na fotografijama tragova čestica. Računalo je bilo izgrađeno s procesnim poljem dimenzija 20 x 20, a u konstrukciji sustava poštovani su sljedeći principi: • sustav mora imati paralelan unos i paralelnu obradu slike, • komponente sustava moraju biti takve da su pogodne za mikrominij aturizaciju, • sustav neka primjenjuje tehnike i metode koje se osnivaju na iskustvima dobivenim analizom fizioloških sustava. Nakon računala UCPR l slijedilo je računalo CLIP I (Cellular Logic Image Processor) realizirano 1 97 1 . godine u tehnologiji niskog stupanja integracije (SSI TTL), s procesnim poljem dimenzija 1 0 x 1 0. Godine 1 972. konstruirano je računalo CLIP II, s procesnim poljem di menzija 16 x 1 2, također realizirano u tehnologiji niskog stupnja integracije (SSI TTL). Računalo CLIP I II, kao prethodnik zadnjeg usavršenog računala, građeno je 1 974. godine u tehnologiji niskog i srednjeg stupnja integracije (i to kombinacija tehnologija TTL i MO S), s procesnim poljem dimenzija 96 x 96 procesnih elemenata.
248
13.
ARHITEKTURA RAĆUNALA ZA OBRADU SLIKA
U razdoblju 1 978. do 1 980. godine konstruirano je zadnje računalo u tom nizu: CLIP IV - računalo u tehnologiji NMOS; s procesnim poljem dimenzija 96 x 96 (L. P. Cordella, 1 978).
r�-�------------------------------ - ----------------------------- -------- --, I I I I I I I I
i
I
j I I I I I I I
i
I I I I I I
iI
I
I
lI
I I
I I I I I I I I I I
ll
r----;====��--IJ-·------ -----J
Ulczni podalQk
Izlazni podatak Omogu{1 B
R Sl. 13.32. Procesni e lement računala CLIP IV
o
Load (tock
1 3.3. PARALALNE ARHITEKTURE RAC:UNALA ZA OBRADU SLIKA
249
Središnji dio računala CLIP IV je polje s 96 x 96 procesora, kojem je pridodan međustupanj (engl. data-shuff1ing system) koji povezuje polje s U/I uređajima (sl. 1 3.3 1 ). Izabrano okno TV slike dimenzija 96 x 96 s vrijednostima prikazanim sa šest bita (64 sive razine), pohranjuje se u šest posrnačnih registara ulazne memorije, i to u bit-memorijskim ravninama. Jedna takva ravnina, pretvorena u kvadrat dimenzija 96 x 96 bitova (9 2 1 6-bitni posrnačni registri) može se posmaknuti u dvodimenzionalno procesno polje. Procesni element se sastoji od bit-serijskog procesora (Boolova procesora) (slika 1 3 . 32). Zajednički instrukcijsko-upravljački vektor (naredba) šalje se svim procesnim elementima koji djeluju potpuno si,nkronizirano (P. E. Danieisson, 98 1 ). Lokalna memorija procesnog elementa sastoji se od 32 jednobitna registra, . dva jednobitna registra opće namjene (A i B) i registra prijenosa (engl. carry register C). Svi su procesori povezani s osam najbližih susjeda. Procesor je izrazito jednostavan, tako da je moć sustava u tome što takvih procesora ima 9 2 1 6. Računalo CLIP IV ma po svojim značajkama arhitekturu tipa SIMD. CLIP IV je djelotvoran u izvođenju lokalnih slikovnih operacija (svođenje na jedinični element, stanjivanje), tako da se sustav može primjenjivati kao računalo za obradu slike u realnom vremenu (M. J. B. Duff, 1 982).
MPP (Massively Parallel Processor) Računal� MPP (Massively Parallel Processor) razvijeno je u NASA Goddard Space Flight Center. Ono je namijenjeno obradi satelitskih snimaka. Osnovne Polje procesnih elemenata IARUI
128-bllni izlazni međusklop
Upruvljalka jedinica
Vanjski upravljafki sklop
12B-bllni ulazni međusklop
I A CUI
Hardcopy jedinica
Jedinica Yrpce
Jedinica diska
JedinIca za uproyljanje podacima i programima ( POMUl
Međusklop za povezivanje s računalom domaćinom
Sl. 13.33. Sustav za obradu slike MPP
Brojčano-sloyni terminal
1 3 . ARHITEKTURA RAl:UNALA ZA OBRADU SLIKA
250
komponente sustava prikazane su na slici 1 3.33. Polje procesnih elemenata (AR U) dimenzija 128 x 1 28 ( 1 6 384 procesna elementa!) upravlja se upravljačkom jedi nicom polja (ACU) koja izvršava i skalarne aritmetičke operacije.
N-bitni posmačni registar IN =2, 6.10,14,16,22 , 2 6 , ili 30J
G P
logika
od lij evog
PE
Prema desno m PE
Memorija s izravnim pristupom
Adresa
Sl. 13.34. Bit-senjski procesni element" računala MPP
Jedinica za upravljanje podacima programom (PDMU) upravlja tokom podataka i programima. Ujedno ima pomoćnu funkciju kao što je razvoj programa i dijagnostika. Međusklopovi s pohranjivanjem (staging memories) služe kao međustupnjevi za preuređivanje i slanje podataka između ARU, PDMU i računala domaćina (host computer). Polje procesnih elemenata (PE) sastoji se od 1 6 384 PE organiziranih kao kvadrat dimenzija 1 28 x 1 28. ARU ima i posebno polje od 1 28 x 4 PE koje služi za rekonfiguriranje AR U ako se otkrije neispravnost u nekim PE. Procesni elementi su bit-serijski procesori (sl. 1 3.34). Oni svi djeluju para lelno, tako da MPP ima veliku brzinu obrade. Na primjer, MPP izvodi 6 553 MOPS (Million Operations per Second) zbrajanja 8-bitnih cijelih brojeva ili npr. 2 1 6 MOPS množenja 32-bitnih brojeva s pomičnom točkom (K. E. Batcher, 1 980). Svaki PE u polju 1 28 x 1 28 saobraća sa svoja četiri susjeda (topologija jednako kao i u Ungerovu računalu SPAC). Rubni PE mogu imati "otvorene" veze (ne saobraćaju s rubnim PE na suprotnoj strani) ili mogu biti spojeni sa suprotnim rubnim PE. Veze rubnih PE mogu biti izvedene na više načina i ostvaruju se pod programskim upravljanjem. Vrste veza su: • otvorena (nema veze sa suprotnim rubnim PE), • cilindrična (svaki rubni lijevi PE vezan je u svakom redu s rubnim desnim PE),
13.4. LITERATURA
251
•
otvorena spirala (za l � n � 1 27 lijevi PE u redu n spojen je s desnim PE u redu n - 1 ), • zatvorena spirala (kao otvorena spirala samo što je lijevi PE u redu O spojen s desnim PE u redu 1 27). Procesni element upotrebljava bit-serijsku obradu, odnosno obrađuje ope rande bit po bit i može rukovati operandima bilo koje duljine s relativno jednostavnim sklopovima. Njihova manja brzina (u usporedbi s bit-paralelnim procesorima) kompenzira se upotrebom više procesnih elemenata koji djeluju paralelno. Svaki procesni element računala MPP (sl. 1 3. 34) sastoji se od šest jednobitnih registara (A, B, C, G, P i S), posmačnog registra s programabilnom duljinom, memorije s izravnim pristupom, potpunog zbrajala, interne sabirnice podataka (D) i kombinacijske logike. Osnovni ciklus izvođenja operacije procesnog ele menta je 1 00 ns. Registar P se upotrebljava za logičke operacije i operacije usmjeravanja podataka. Logičke operacije kombiniraj u stanje registra P i stanje na internoj sabirni ci podataka D te novo stanje pohranjuju u registru P. Operacije usmjeravanja posmiču sadržaj P registra u registre P susjednih PE. Potpuno zbrajalo, programabiIni posmačni registar i registri A, B i C upotre bljavaju se za bit-serijske aritmetičke operacije. Dva operanda koji sudjeluju u operaciji zbrajanja pribavljaju se bit po bit iz registara A i P, a registar C pohranjuje prijenos. Rezultat se pohranjuje uz pomoć registra B u posmačni registar i/ili u memoriju s izravnim pristupom. Registar G sadrži masku za upravljanje aktivnošću PE. Kapaciteta je memori je s izravnim pristupom svakog PE l 024 bita. Procesni elementi djeluju paralelno pod upravljanjem jedinice ACU, koja polju izdaje instrukcije frekvencijom l O MHz. Jedinica ACU je mikroprograma bilna i primjenj uje tehniku prekrivanja izvođenja operacija za postizanje veće brzine djelovanja. U ovom poglavlj u opisan je manji broj računala za obradu slika, a potpuniju informaciju i opis brojnih sustava čitatelj može naći u literaturi (P. E. DanieIsson, 1 98 1 ; S, Ribarić, 1 980; K. S. Fu, 1 982. i K. Preston, 1 979). 13.4. LITERATURA J. A. G. Hale, P. Saraga, Digital Image Proce ssing, u djelu: Pattern Recognition, Ideas in Practice, B. G. Batchelor (ed.), Plenum Press, New York, London, 1978, str. 1 77 - 202. W. K. Pratt, Digital Image Processing, J. Wi1ey&Sons, New York, 1978. L. Gyergyek, Statistične metode v teoriji sistemov, teorija o informacijah, Univerza v Ljubljani, Fakulteta za elektrotehniko, Ljubljana, 1971. N. Wiener, Cybernetics, MIT, 1962. R. Allan, Military Electronics, New Architectures Will Meet Systems Needs, Electronic Design, august 1981 , str. 87 -94. D. Casasent, Coherent Optical Computing, Computer, Vol. 1 2, No. I, januar 1979, str. 27 -40. W. Myers, What is Optical Computin Computer, Vol. 1 2, N°. I, januar 1979, str. 29. K. Preston, A Comparison of A nalog and Digital Techniques for Pattern Recognition, Proceedings of the IEEE, Vol. 60, N°. 1 0, oktobar 1972, str. 1 21 6 - 1 23 1 . E . C . Lyons, Digital Image Processing: A n Overview, Computer, Vol. 1 0, N°. 8 , august f977, str. 1 2 -14. S. Ribarić, Paralelizem v razpoznavan.iu dvodimenzionalnih vzorcev in njegov vpliv na m odel procesor ja, Doktorska disertacija, Fakulteta za elektrotehniko, Ljubljana, 1982.
g(
252
13. ARHITEKTURA RA(;UNALA ZA OBRADU SLIKA
S. H. Unger, A Computer Oriented Toward Spatial Problems, Proceedings of the IRE, Vol. 46, oktobar 1958, str. 1 744 - 1 750. S. H. Unger, Pattern Detection and Recognition, Proc. IRE, Vol. 47, )959, str. 1 737 -1 752. D. L. Slotnick, et al., " The SOLOMON Computer", 1962 FJCC, decembar 1962, str. 97 - 1 07. J. Gregory, R. McReynolds, The SOLOMON Computer, IEEE Trans. on Electronic Computers, decembar 1963, str. 744 - 780. B. H. McCormick, The Illinois Pattern Recognition Computer - ILLlAC III, IEEE Trans. on Electronic Computers, decembar 1963, str. 791 - 809. K. Preston, et al., Basics of Cellular Logic with Some Applications in Medical Image Processing, Proc. of the IEEE, Vol. 67, N°. 5, maj 1979, str. 826 - 856. J. H. Holland, Iterative Circuit Computers, Proc. 1960, Western Joint Computer Conf. , str. 259 - 265. K. J. Thurber, Large Scale Computer Architecture, Hayden Book Co., New Jersey, 1976. R. Gonzalez, A Multilayer Iterative Circuit Computer, IEEE Trans. on Computers, decembar 1963, str. 781 - 790. S. I. Kartashev, S. P. Kartashev, Dynamic Architectures: Problems and Solutions, Computer, Vol. I I, N°. 7, juli 1978, str. 26 - 40. J. K. Hawkins, C. J. Munsey, A Parallel Computer Organization and Mechanizations, IEEE Transac tion Electronic Computer, juni 1963, str. 251 -262. J. L. Potter, Pattern Processing on STARAN, u djelu: Special Computer Architectures for Pattern Processing, K, K, Fu, T. Ischikawa (ed .." CRC Press, Boca Raton, 1982, str. 88 -101. D. Rohrbacher, J. L . Potter, Image Processing with the Staran Parallel Computer, Computer, Vol. lO, N°. 8, august 1977, str. 54 - 59. K. J. Thurber, L. D. Wald, Associative and Parallel Processors, ACM Computing Surveys, Vol. 7, N°. 4, decembar 1975, str. 215 -255. B. Kruse, A Parallel Picture Processing Machine, IEEE Transactions on Computers, Vol. C-22, N°. 1 2, decembar 1973, str. 1 075 - 1 087. B. Kruse et al., Fron PICAP I to PICAP II, u djelu: Special Computer Architectures for Pattern Processing, K. S. Fu, T. Ichikawa (ed.), CRC Press, Boca Raton, 1982, str. 127 -155. M. J. B. Duff, et al., A Cellular Logic Array for Image Processing, Pattern Recognition, Vol. 5, 1973, str. 229 -247. L. P. Cordella, M. J. B. Duff, S. Leviaidi, Au Analysis of Computational Cost in Image Processing: A Case Study, IEEE Trans. on Computers, Vol. C-27, N°. l O, oktobar 1978, str. 904 -910. M. J. B. Duff, Parallel Computation in Pattern Recognition, u djelu: Methodologies of Pattern Recognition, S. Watanabe (ed.), Academic Press, New York, 1969. P. E. Danielsson, S. Leviaidi, Computer Architectures for Pictoriai Information Systems, Computer, Vol 1 4, N°. l l , novembar 1981, str. 53 - 67. M. J. B. Duff, CLIP 4, u djelu: Special Computer Architectures for Pattern Processing, K. K. Fu, T. Ichikawa (ed.), CRC Pres, Inc, Boca Raton, 1982. K. E. Batcher, Design of a Massively Parallel Processor, IEEE Trans. on Computers, Vol. C-29, N°. 9, septembar 1980, str. 836 - 840. S. Ribarić, Arhitektura računara za obradu dvodim enzionalnih slika, Informatica, Vol. 4, br. 3, 1980, str. 16 -22. K. S. Fu, T. Ichikawa (ed.), Special Computer Architectures for Pattern Processing, CRC Press, Inc. Boca Raton, 1982.
14.
PRIMJENA MIKROPROCESORA U SUSTAVIMA ZA RASPOZNAVANJE UZORAKA
(Prof. dr. S lobodan Ribarić, dipL ing.)
14.1. UVOD Razvoj tehnologije visokog (LSI) i vrlo visokog (VLSI) stupnja integracije u proteklom desetljeću doveo je do stanja koje se opravdano naziva mz'kroprocesorskz' izazov. Mikroprocesor j e predstavljao i predstavljat će izazov velikom broju stručnjaka. Izazov se odražava u nastojanju da se mikroprocesorski čip i kompo nente iz njegove široke porodice primjene na različitim područjima ljudske djelatnosti. Mikroprocesor ima raznovrsnu primjenu u upravljačkim i informacij skim uređajima ugrađuje se u tisuće i tisuće uređaja: u komunikacijske uređaje, u sustave za prikupljanj e i obradu podataka, sustave za daljinsko upravljanje, inteligentne terminale, sustave za upravljanje prometom, telefonske centrale, sustave za upravljanje vatrom na avionima, u uređaje za obradu tekstova, u upravljačke periferne jedinice, u upravljačke sklopove stimulatora oštećenih ekstre miteta, u opremu za ispitivanje uređaja i drugdje (S. Ribarić, 1 983). Jedno od područja izazova jesu sustavi za raspoznavanje uzoraka. Mikroprocesori sa svojom niskom cij enom i širokim spektrom performansi (od kalkulatorski orijentiranih mikroprocesora, mikroprocesora orijentiranih za primjenu u upravljanju, preko mikroprocesora opće namjene, pa sve do 16 i 32bitnih mikroprocesora koji svojim značajkama i razinom arhitekture premašuj u karakteristike centralnih procesnih jedinica velikih računala (tabL 1 4. 1 ) omoguća vaju realizaciju složenih procesorskih i multiprocesorskih sustava vrlo visokih performansi koje se zahtijevaju na području umjetne inteligencije i raspoznavanja uzoraka. Za ilustraciju moći 32-bitnih mikroprocesora u tabL 1 4.2 prikazane su neke značajke i sposobnosti četiriju novijih mikroprocesora: i APX 432, N S 1 6 032, Bellmac 32 A i HP 32 (A. Gupta, 1 983). U ovom poglavlju prikazat ćemo primjere primjene mikroprocesora i drugih komponenata visokog stupnja in tegracije u sustavima za obradu i raspoznavanje slika, raspoznavanje govora i u sustavima za strojni vid.
14.2. OBRADA SLIKE PRIMJENOM SUSTAVA MIKRORACUNALA Razvoj tehnologije LSI omogućio j e primjenu sustava mikroračunala kao osnove za izgradnju malih sustava za digitalnu obradu slike, uz relativno nisku cijenu (450 do 800 tisuća dinara; cijena 1 982. god.).
14. PRIMJENA MIKROPROCESORA U SUSTAVIMA ZA RASPOZNAVANJE UZORAKA
254 Tablica 14. 1 .
Prikaz dijela mikroprocesorskog spektra
� Manje od miniračunala
'" -"
"5h o ....:l
MC 1 4 500
.... o
'tU "3
�
�
. - ;g
.s ", "' "� :=-"> t) '" o) .... 0. 0. (/) ;:1
Više od miniraČUllala
Miniračunala
oo
�
cl
�
.... o)
.Šo �
'" > o
Z
l'
+'
'7
�
'-' �
cl
�
'-' -
cl
�
o ..... M
o ..... M
o o \cl M
\cl M
::E ::E
ll:)
>-<
MOS
Bipolarna
ll:) >-<
CMOS
®
Inte1 404O/4004
®
TMS 1 000 serija
®
PMOS
®
®
PMOS/ /CMOS
F8 Z8
Poluvodička tehnologija
Razina arhitekture
NMOS
® ®
NMOS
®
8060 ( SC/MP)
PMOS/ /NMOS
®
8080 A/80S5 A
®
Z80
®
NMOS
MC 6800/6802 IM 6100
®
8086
®
®
NMOS
®
NMOS CMOS NMOS
®
Z 8000
®
(gl
NMOS
MC 68 000
®
®
NMOS CMOS
Macrologic
®
®
®
®
®
®
®
®
MC 1 0 800
®
®
NS 1 6 032
®
®
® NMOS
Bel1mac-32 A
®
®
® CMOS
®
® NMOS
®
® HMOS
Am 2900
®
®
HP-32
i APX 432 ® Označava podudarnost razina
®
Schottky TTL Schottky TTL ECL
14.2. OBRADA SLIKE PRIMJENOM SUSTAVA MIKRORACUNALA
255
Slika 1 4. 1 prikazuje sustav mikroračunala za digitalnu obradu slike ( S . Ribarić, 1 982). O n s e sastoji od dva podsustava: • podsustava za digitalizaciju, unos i prikaz slike, • mikroračunala, kao podsustava za obradu i pohranjivanje slike.
Tablica 14.2. Komparativni pregled značajki i sposobnosti četiriju 32-bitnih mikroproeesora
NS 1 6 032 Proizvodač:
Bellmac-32 A
HP-32
iAPX 432
National 2
3
5
4
Tehnologij a
NMOS
DOMINO CMOS NMOS
HMOS
Broj tranzistora
60000
1 46 000
450 000
2 19 000 na 3 čipa
Osnovna frekvencija signala vremenskog vodenja
10 MHz
1 0 MHz
18 MHz
8 MHz
22'
2"
229 stvarni
224 stvarni
Izravno adresabiini prostor (bajtovi)
2.5 sa MMU
Broj reg. opće namjene
8
Broj osnovnih instrukcija
82
1 69
230
221
{)
18
10
5
Načini adresiranja 32-bitno cjelobrojno zbrajanje
I 600 ns
400 ns
275 ns
500 ns
32-bitno cje1obrojno množenje
8,3 J.lS
1 ,8 . . . 9,5 J.lS
2,9J.ls
6,375 j.lS
Nije izvedeno sklopovski
1 0,4 J.ls za 64 bita; 5,1 J.lS za 32 bita
27,875 J.ls za 80 bita
Množenje brojeva 7, 1 J.ls za 64 bita s pomičnim NS 1 6 08 1 zarezom
14. PRIMJENA MIKROPROCESORA U SUSTAVIMA ZA RASPOZNAVANJE UZORAKA
256
Proizvođač:
Pakovrana polja Zapisi Nizovi
Packard
V V V
X X V
X X V
X V V ..c::
Upravljačka struktura .
Vanjski pozivi procedura Semafori Traps (zamke) Prekidi Objekti Hijerarhijski operacijski sustav
'2
V V V V X
V V V V X
V V V V X
V V V V V
X
V
X
V
.t:: .o ,
c: ;::::;-
.g � � �
r55' �
V - raspoloživa značajka X - značajka nije raspoloživa
Upravljački
R AM 64 K
Upravljočki
sklop zn jedinicu diskete
sklop za
Prikazna jedinica
Sl. 14. 1. Sustav mikroračunala za digitalnu obradu slike
>() o
� e � ·0 'e )e ci. o ::s
Pisač
257
14,2, OBRADA SLIKE PRIMJENOM SUSTAVA MIKRORACUNALA
Podsustav za digitalizaciju, unos i prikaz slike sastoji se od standardne TV kamere, upravljačkog sklopa kamere, monitora, upravljačkog sklopa za izravan pristup memorij i (DMAll), A/D i D/A pretvarača. Zadnja tri sklopa realizirana su na tiskanim pločicama standarda S- l OO i jednostavno se uključuju u sustav mikroračunala. AJD pretvarač i upravljački sklop za izravni pristup memoriji ( Real Time Video Digitizer; Environmental Interfaces, 1 978) izvode digitalizaciju slike (uzor kuje se analogni signal iz standardne ElA ili NTSC TV kamere) i pomoću tehnike izravnog pristupa memoriji pohranjuju sliku (u digitalnom obliku) u radnu memoriju mikroračunala. Pomoću izravnog pristupa memoriji (DMA) ostvaruj e se brz prijenos podataka između memorije i vanjskih logičkih sklopova bez sudjelovanja mikroprocesora, odnosno bez mijenjanja sadržaja nj egovih registara. Prijenos se izvodi bez programskog upravljanja mikroprocesorom, tako da su granice brzine prijenosa postavljene sklopovskim značajkama komponenata mikro računala. Na primjer, tipični memorijski sklopovi imaju memorijski ciklus (za poluvodičke memorije - vrijeme pristupa) od 1 50 ns do 800 ns, tako da je moguća brzina prij enosa reda megabajt/s (S. Ribarić, 1 9 82). Sustav izvodi digitalizaciju slike u stvarnom vremenu (engl. real-time). Osnovne značajke podsustava jesu: •
• •
• • •
videosignal slike digitalizira se u svih šesnaest razina, maksimalna rezolucija slike je 5 1 2 x 256 slikovnih elemenata, horizontalna rezolucija slike zavisi od brzine memorije mikroračunala (tabl. 1 4.3), vertikalna rezolucija može biti: 256 linija po slici, 128 linija po slici, 85 linija po slici ili 64 linije po slici, horizontalna i vertikalna rezolucija se izabiru položajem prekidača na sklopu DMA, svaki digitalizirani element slike (engl. pixel) predstavljen je sa četiri bita, tako da su dva elementa slike upakovana u jednom bajtu memorije (k-ti element slike u bitovima 4, . . . , 7, (k + 1 )-ti element slike u bitovima O, . . . , 3; ; sl. 1 4.2). Tablica 1 4. 3 Odnos horizontalne rezolucije slike (M) i
potrebne brzine memorije mikroračunala
Horizontalna rezolucija slike (broj elemenata! /liniji)
Potrebna brzina memorije (vrijeme pristupa u ns)
512
1 50
256
250
1 28
450
64
1) OMA
•
Direct Memory Access (izravan pristup memoriji),
450
258
14. PRIMJENA M IKROPROCESORA U SUSTAVIMA ZA RASPOZNAVANJE UZORAKA
Upravljački j e sklop DMA visoko prilagodljiv programabiIni sklop koji zahtijeva minimalne sklopovske zahvate (za izbor konačne adrese, izbor rezolucije, izbor adrese upravljačkih vrata) i jednostavnu programsku podršku. Na primjer, programski odsječak za inicijalizaciju unosa DMA ima sljedeći oblik: ' LD A, [CWR] O UT PORT, A CWR : EQU 0D8H PORT : Eq U 0FFH gdje je PORT simbolička adresa upravljačkih vrata (adresa FF). Adresa upravljač kih vrata određuje se pomoću prespojnih mostića na upravljačkom sklopu DMA. Upravljačka riječ CWR jednaka je D8 (heksadekadno) i određuje djelovanje upravljačkog sklopa na sljedeći način (sl. 1 4. 3):
(WR
AlS A14 AU A12 Al' AlO 1 0 0 O O l Šest najznamjnijih bitova poletne adrese memor ijske lokacije gdje se smješta slika. BitoYi adrese AO -A9 su O.
1 7 1 6 1 5 1 4 1 3 1 2 1 1 1 0 1 '----V----J '---v---' k - ti element slike k.l-ti element slike Sl. 14.2. Načini pakiranja elemenata digitalizirane slike u jednom bajtu
Sl. 14.3. Primjer organizaciJe upravljačke ri.ieči
Tako organizirana upravljačka riječ omogućuje upravljački sklop DMA, inicijalizira unos slike i pohranjuje je na memorijskim lokacijama počevši od adrese 6 000 (heksadekadno). Budući da su dva slikovna elementa upakovana u j edan bajt, smanjuj u se zahtj evi u pogledu potrebnoga memorijskog prostora mikroračunala za pohranjivanje slike. Na primjer, slika rezolucije 64 x 64 slikovna elementa zauzima memorijski prostor od 64 x 64/2 2K bajta) . =
Jezgra mikroračunala j e mikroprocesor Z-80A (proizvođač tvrtka ZBog Inc.). Z-80A je jedan od vodećih 8-bitnih mikroprocesora. On ima skup od 1 58 instruk cija u koji su uključene i sve instrukcije za mikroprocesor Intel 8080A. Z-80A ima i neke karakteristike mikroprocesora M6800, kao što su indeksno adresiranje, dvobajtne instrukcije za odnosno (relativno) adresiranje, maskirajući i nemaskira j ući prekid. Z-80A ima jedinstveno napajanje od + 5 V. Osim značajki koje su bliske mikroprocesorima I ntel 8080A, 8085 i M6800, mikroprocesor Z-80A ima i svojstva kojih nemaju spomenuti mikroprocesori, a predstavljaju značajna pobolj šanja. U skupu instrukcija Z-80A nalaze se instrukcije za prijenos i pretraživanje bloka podataka, Z-80A ima instrukcije za rukovanje pojedinačnim bitovima (po stavljanje, brisanje i ispitivanje) u riječima koje su pohranjene u memoriji ili u registrima opće namjene. U skupu instrukcija nalaze se i instrukcije za kružni posmak brojeva predstavljenih u BeD kodu.
14.2. OBRADA SLIKE PRIMJENOM SUSTAVA MIKRORACUNALA
259
Mikroračunalo osnovne konfiguracije ima 64 K bajta memorije (RAM) s mogućnošću proširenja do maksimalne konfiguracije o d 5 1 2 K bajta, l K bajt ispisne memorije (ROM), upravljački sklop diskete, standardni serijski međusklop RS-232C ( 1 1 0 - 76 800 bauda), međusklop za pisač i izvor napona napajanja. Osnovne komponente mikroračunala povezane su sa sabirnicom standarda S-IOO. Osnovna konfiguracija mikroračunala proširuje se prema specifičnim potrebama jednostavnim uključivanjem tiskanih pločica. Kapacitet kućišta mikroračunala je 2 1 kartica. Standardni sustav mikroraču nala CS-3 (Cromemco, 1 98 1 ) sastoji se od osnovne konfiguracije mikroračunala i pridodanih perifernih jedinica (prikazna jedinica s katodnom cijevi, dvostruka . jedinica diskete kapaciteta 256 K bajta i matrični dvosmjerni pisač). Programska podrška sustava (diskovni operativni sustav, DOS), prevodioci za asembler (Z-80 Relocatable Macro Assembler) i prevodioci za više programske jezike (Fortran IV, Basic, Pascal), uz razvijene aplikacijske programe, omogućava djelotvornu obradu slike, prikaz i pohranjivanje originalnih i obrađenih slika na diskete. Potreba digitalne obrade slike sve je veća u različitim područjima znanosti i tehnike (od medicine pa do vojne primjene). Jedno od ključnih područja istraživa nja je vojna primjena: rješavanje problema sustava za razumijevanje slike (Image Understanding System, DARPAI ), CR. Allan, 1 98 1 ), verifikacija metoda maskira nja II različitim područjima spektra, ispitivanje i razvoj dijela sustava za izviđanje i sl. Opisani sustav za digitalnu obradu slike na bazi mikroprocesora zadovoljava potrebe u pogledu provjere teorijskih postavki s područja analize i raspoznavanja slika, računalne grafike i sl. Prikazat ćemo neke ' elementarne obrade slike na opisanom sustavu. Slika 1 4.4 prikazuje digitaliziranu sliku rezolucije 64 x 64, koja je za potrebe daljnje obrade pohranjena na disketi.
Sl. 14.4. Digitalizirana slika (rezolucija 64 x 64 slikovnih elemenata, /6 sivih razina)
I) Defense Advanced Research Projects Agency, USA.
260
14. PRIMJENA MI KROPROCESORA U SUSTAVIMA ZA RASPOZNAVANJE UZORAKA
Slika 1 4.5 prikazuje rezultat operacije uspoređivanja s pragom i postupak binarizacije slike (engl. thresholding).
Sl. 14.5 Binarna slika (prag }{})
Slika 1 4.6 prikazuje rezultat operacije filtriranja slučajnog šuma, tzv. "salt and peper" .
Sl. 14.6. Filtrirana slika
Rad na mikroračunalskom sustavu za obradu slike ( S. Ribarić, 1 982) pokazao je da sustav zadovoljava potrebe što se tiče unosa, pohranjivanja i j ednostavnije obrade slika. Za složenije obrade (na primjer simulaciju paralelne obrade više slika; S. Ribarić, 1 980) pokazalo se da je potrebno osnovnu konfiguraciju sustava proširiti:
26 1
14.3. MIKROPROCESORSKI KLASIFIKATOR BROjĆANJH ZNAKOVA
•
• •
primarnu memoriju mikroračunala povećati na maksimalnu konfiguraciju od 5 1 2 K bajta (da se u radnoj memoriji omogući pohranjivanje više slika veće rezolucije), sekundarnu memoriju povećati primjenom HDD diska (HDD čvrsti disk kapaciteta 2 x l O M bajta), primijeniti sklopove za pretprocesiranj e (I. Renyi, 1 980).
Drugo rješenje, koje ne isključuj e gornje, za složenije obrade sastoji se u tome da se opisani sustav primijeni kao jedinica za prikupljanje podataka (unos i elementarna obrada), koja je pretprocesor za veće računalo - domaćin (engl. host).
14.3. MIKROPROCESORSKI KLASIFIKATOR ZNAKOVA
BROJ ČANIH
Važan segment područja raspoznavanja uzoraka j e obrada i pretvaranje slike u oblik pogodan za automatsku percepciju i interpretaciju strojem. Njihova je važnost sve veća i uvjetovana j e prodorom računala u poslovne i industrijske sredine (izravnije saobraćanje čovjeka i računala, strojno viđenje). Jedna od posljedica istraživanja u tom području je razvoj uređaja koji se obično nazivaju zajedničkim imenom uređaji za izravni unos podataka s dokumenata ili optički čitači znakova OCR1 ) (C. Y. Suen, 1 980; L. D. Harmon, 1 972) . Prema složenosti, uređaji OCR mogu biti razvrstani u tri razreda: a) jednostavni uređaji za čitanje kodova (na primjer bar code) ili zapisa magnetnom tintom (N. Pavešić, 1 9 72), b) uređaji srednjeg stupnja složenosti koji se upotrebljavaju za izravan unos podataka s dokumenata, bankovnih čekova i sl. Skup ulaznih znakova za te je uređaje obično tipiziran (na primjer IBM-ov OCR sustav; J. T. Tou, 1 974). e) složeni uređaji za raspoznavanje rukom pisanih znakova (na primjer uređaj za razvrstavanje poštanskih pošiljaka prema odredišnom broju (c. Y. Suen, 1 980). U ovom odjeljku opisat ćemo mikroprocesorski klasifikator rukom pisanih numeričkih znakova koji je realiziran na temelju algoritma za klasifikacij u W. W. Bledsoea i I. Browninga (W. W. Bledsoe, 1 966). Mikroprocesorski uređaj prema svojoj složenosti i namjeni pripada razredu c) (S. Ribarić, 1 983). Slika 1 4.7 prikazuje organizaciju klasifikatora. Ulazni, nepoznati uzorak projicira se na matricu fotoosjet1jivih ćelija (dimenzija matrice i xj ćelija). Od međusobno isklju čivih izlaza iz ćelija fotoosjet1jive matrice tvore se n-torke koje su adresni ulazi u pojedine memorijske elemente (L Aleksander, 1 978). Mreža memorijskih elemenata je prethodno pomoću skupa uzoraka za učenje izučena za razvrstavanj e brojčanih znakova. Duljina j e memorij ske riječi: d � M, gdje je M broj razreda u koje se nepoznati uzorci ra�vrstavaju. I zlazi iz mreže memorijskih elemenata vezani su sa sklopom za donošenje odluke. Mreža memorijskih elemenata realizirana j e memorijskim LSI komponenta ma, dok je sklop za donošenje oc;lluke i sklop za upravljanje učenjem i klasifikaci jom ostvaren mikroračunalom na osnovi mikroprocesora MC 6800 (tvrtka Moto') EngL Optical Character Reader.
262
14.
PRIMJENA MIKROPROCESORA U SU STAVIMA ZA RASPOZNAVANJE UZORAKA
L-___--r--� m-1
Upravljački slgnnl �ITAJ
Sl. 14.7. Organizacija klasifikatora
rola). Središnju ulogu u klasifikatoru ima mreža memorij skih elemenata memorija s izravnim pristupom (RAM) koju smo upotrijebili kao element za učenje. Ona ima sljedeće glavne skupove priključaka (sl. 1 4.8): Priključci zn učenje
Memorijo. s izravnim prist upom ko.a element zo. učenje
Ap --I-.-l A dresni ulnzi I L-_--,,--_---l
L
_ _ _
_ _ __ _ _ _ _ _ _
RIW
Dro
I I
Izlo.zi
---1
Uprorljn{ki uln1 Sl. 14.8. Memorija
$
izravnim pris!upom - element za učenje
14.3.
MIKROPROCESORSKI KLASIFIKATOR BROJL:ANIH ZNAKOVA
263
•
Skup adresnih priključaka A = {Ao> A l' A2, , A u} omogućava izbor jedne od 8K riječi duljine 8 bita. Ti adresni priključci služe pri učenju i klasifikaciji kao ulazi za podatke s matrice fotoosjetljivih ćelija (sL 1 4. 7). • Skup ulaznih priključaka DJ = {DOI' D w . . . , D7I } omogućava da se u postupku učenja upisuje sadržaj na izabrane memorijske lokacije. Ti se priključci nazivaj u priključci za učenje (engl. teach terminal). • Elementi skupa izlaznih priključaka Do= {Doo, DlO, , D70} u postup ku klasifikacije upotrebljavaju se kao izlazi koji određuj u odgovor na ulazni nepoznati uzorak. Upravljački priključak RjW sa stanjima O ili l određuj e operaciju upisa (u postupku učenja), odnosno čitanja memorije (u postupku klasifikacij e). Ostali priključci, kao što su priključci za izbor i omogućavanje memorije, koji se susreću u praktičnim izvedbama memorijskih modula, čine poseban skup koji nije bitan u razmatranju memorije kao elementa za učenje. Kapacitet memorije za učenje L izražen u bitovima iznosi: • • •
• • •
N L = sn x � x M, n gdje j e S broj stanja fotoosjetljivih ćelija (S = 2), n parametar koji određuje veličinu n-torki (adresni ulazi u pojedine memorijske elemente), l � n � N, N broj fotoosjetljivih ćelija (N i xj), a M broj razreda uzoraka. Za realizirani klasifikator kapacitet memorije L iznosi 65 536 bita (S = 2, n = 8, N = 1 6 x 1 6 i M 8), a izvedena je sa 8 K bajta (8 x l 024 x 8 bita). Opisat ćemo postupak učenja klasifikatora: Uzorak iz skupa uzoraka za učenje projicira se na matricu fotoosjetljivih ćelija. Izlazi iz fotoosjetljive matrice, (n-torke) u zavisnosti od slike uzorka, zauzimaj u vrijednosti Vj: =
=
i = l , 2,
. . .
,
N n
Te binarno izražene vrijednosti su adrese memorijskih lokacija d-bitnih riječ. Elementi n-torki su (prema W. W. Bledsoeu i l. Browningu) međusobno isključivi i slučajno izabrani, a svaka vrijednost V tih n-torki adresira jednu i samo jednu lokaciju u memoIjji. Pozicija bita u d-bitnoj riječi pridruženo j e značenje jednog od M razreda. Na primjer, za razvrstavanje brojčanih znakova (od O do 9) za d':;3 l O pridruživanje se izvodi na sljedeći način: pozicija bita: o
2
3
4
6
7
8
9
3
2
1
O
r
razred uzoraka: 9
5
8
7
6
5
4
Ako je uzorak iz skupa uzoraka za riječima u memoriji adresiranim pomoću Nakon toga na matricu se projicira novi poziciji 5 u svim riječima u memoriji koje
1O X
...
d
l X
d X
učenje, na primjer 4, tada se u svim n-torki, bit na poziciji 5 postavlja u 1 . uzorak, na primjer 4, i opet se bit na su adresirane pomoću novih vrij ednosti
14.
264
PRIMJENA MIKROPROCESORA U SUSTAVIMA ZA RASPOZNAVANJE UZORAKA
n-torki postavlja u 1 . Postupak učenja se ponavlja za sve tipove uzoraka iz skupa uzoraka za učenje. Uzorci iz skupa za učenje su rukom pisani brojčani znakovi (različitih osoba). U postupku učenja uzorci su pomicani po matrici (za jedno ili dva mjesta) u sva četiri smjera. Matrica je u opisanom eksperimentalnom klasifikatoru podijeljena u 32 s1ijedne osmorke (n = 8). Pridruživanj e razreda poziciji bita izvedeno je na sljedeći način: b7
b6
b5
b4
b3
b2
bl
bO
razred uzoraka 7
6
4
5
3
2
O
Slika 14.9 prikazuje stanje dijela memorije u postupku učenja za uzorke O, 1 , 2, 3 i 4. 0 0 0 00 0 00000000000000000000000000 00000000000000000000000000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00000000000000000000000000000000 1 F 000000000000000000000000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 1 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 02 0000000000000000000000 00000000 1 3000000000000 000000000000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 8000000000000000000000000000000 1 E 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
00000000000000000000000000000000 00000000000000000000000000000000 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000000000000000 000000 0000000000 F F 0 00000000000000000000000000000 0 0 00000000000000000000000 1 0 0 0000 1 300 0000000000000000000000000000 02 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3000000000000000000000000000000 00000000000000000000000000000000 5 2 000000000000000000000000000000 4 8000000000000000000000000000000 1 E 0 00000000000000000000000000000
Sl. 14. 10. Stanje dijela memorije nakon učenja klasifikatora
Sl. 14.9. Stanje dijela memorije u fazi učenja (O, 1, 2, 3 i 4)
Memorijska lokacija sa sadržajem 01 (heksadekadno) bila je u postupku učenja adresirana vrij ednošću n-torke koja je karakteristična za uzorak O, dok sadržaj 1 3 (heksadekadno) pokazuje da je ta memorijska lokacija adresirana n torkama za uzorke O, l i 4: b7
b6
b5
O
O
O
razred uzoraka:
b4
b3
b2
O
O
I 7
6
5
4
bl
+-
I 3
2
bO 1 3 (heksadekadno)
I O
Slika 1 4. 1 0 prikazuje stanje istog dijela memorije nakon učenja klasifikatora s uzorcima O do 7. Program za učenje klasifikatora napisan je u zbirnom jeziku i izvršava učenje za � 3 ms po uzorku (za mikroprocesor MC 6 800 s generatorom signala vremen skog vođenja l MHz). Postupak klasifikacije temelji se na pretpostavci (W. W. B1edsoe, 1 966) da sam oblik uzorka ne dopušta neka stanja za neke n-torke. Postojanj e tih zabranjenih stanja je ključna činjenica pri razvrstavanju. Pod zabranjenim stanjem n-torke za neki uzorak razumijeva se vrijednost n-torke koju uzorak ne može postići zbog svojeg oblika.
265
14.3. MIKROPROCESORSKI KLASIFIKATOR BROJCANlH ZNAKOVA
•
•
,
•
•
,
X
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
XXXXXXX
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
XX
•
•
•
•
•
•
•
•
•
XX
•
•
•
•
•
•
•
XXXXXXXXX
•
•
•
•
•
•
•
XX
•
XX
•
XX
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
XXX
•
•
•
•
•
•
•
•
·
•
•
•
. . ; . .xxxxxx . . . . .
•
•
•
.
•
•
•
•
•
•
•
X . . . .XXX . . . .
•
•
•
•
•
X X X X X X XX
•
•
•
•
•
•
•
.
,
•
•
•
•
•
•
XXX
•
•
•
•
XXXXX
•
•
,
•
•
•
•
•
•
•
XX
•
•
•
•
•
•
XXXX
XXX
•
•
•
•
•
XXXXXXX
•
.
.
XXXXXXXXXX
. xxX
•
.
• • •
xxxx . .
.
•
•
•
•
• •
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
XXX
•
•
XXX
•
•
•
•
•
•
.
•
.
xxxxxxx
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
XX
•
•
•
XXX
•
•
•
•
•
•
•
•
. . xxxxxxxxxx
•
•
•
•
XX
•
•
•
•
•
•
•
.
. . . .
.
.
. xxx . . .
.
. . . . . . . . . XX . . . .
.
. . . . . . . . xxx . . . .
.
•
•
•
•
•
•
•
•
•
•
•
•
. . . . . . . . XX . . . . . .
. . . . . . . xxx . . . . .
.
•
•
•
•
•
•
. . . . . . . . . . XXX . . .
•
•
•
•
•
•
. . . . X . . . . . XXX . .
.
•
•
•
•
•
•
XXXXXXXXX
•
•
•
•
•
X X X X XX . . . . .
•
.
.
.
•
•
•
•
•
. . . . . . . . XX. . . . . . .
•
•
•
X . . . .XX . . . . .
.
.
•
. . . . . . . .XX. . . . .
•
•
•
•
•
•
•
•
•
XXXXXX
•
•
•
•
•
. . , . XX . . X X . . . . . . •
•
•
•
•
.
XX
XXX
•
XXX
•
•
. x xx . . . . .x x . . .
XXX
•
•
.
•
•
•
. . . xx x . . . . . x x . . .
•
•
•
•
•
•
•
•
•
•
•
•
•
XXXXXXXXX
•
•
•
•
•
•
•
. XX X X X X X X
•
•
•
•
•
•
•
•
•
•
•
•
•
•
XXXXXXXXXX
•
•
•
•
•
•
XX
.
•
•
•
•
•
•
•
•
•
xxx
•
•
•
•
•
•
xxxxx
•
•
•
•
xxx
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
•
•
•
•
•
.
XXXXXXXX
. .
•
•
XX
XXX
•
•
•
•
•
•
•
•
XX
•
.
. . . . . .XXXXXX .
•
•
•
•
•
•
.
•
•
•
.
•
•
•
.
•
•
•
•
•
•
•
•
•
•
•
•
XX
•
•
•
•
•
XX
•
XX
•
•
. XXXXX
•
•
•
xxxxxxxxx
XXXXXXXXX
•
•
XX
•
.
.
•
•
•
•
•
•
•
•
•
•
.
.
.
.
•
•
•
•
•
•
•
•
•
•
.
.
•
•
•
•
•
•
•
•
•
·
•
•
.
XX
XX
•
.xxx . . . . .
.
.
.
xx
•
•
.
•
.
•
•
•
•
xxx
.
•
•
•
•
•
•
•
•
XXX . . . . . . . . .
XX
•
•
•
•
•
•
•
•
•
•
•
. . . . . . . . . .x
•
•
•
•
•
XX
•
•
•
•
•
•
•
•
•
,
•
•
•
,
•
•
•
•
•
•
XXXX. . . . . . . .
. . . . . . . . . x x. . . . . •
•
•
•
•
.
,
•
XX
•
•
•
•
•
XX
•
•
XX
•
•
•
•
•
•
•
•
•
•
•
•
•
.
.
.
.
.
.
•
.
.
.
.
.
•
•
"
. . X
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
"
XX
•
•
•
XX
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
XX
•
•
•
•
XX
•
•
•
. . . . .X . . . . .X . . . .
•
•
•
•
•
•
•
. . . . . X. . . .X . . . .
.
•
•
•
•
.
•
•
XXXXXXXXXXX
•
•
•
•
•
•
•
•
•
•
•
•
•
.
.
.
.
.
XXXX. . . . .
•
•
•
•
•
•
•
•
•
•
•
.
•
•
•
•
•
•
•
.
•
•
xxxx
.
.
.
.
XX . XX
•
XXXX. . . .
XXXX . . . . .
•
•
XX
•
•
XX
XX
•
•
•
•
•
•
•
•
'
"
xxx . . . . . . . . .
•
•
•
•
•
•
•
.
•
,
•
.
XXX
•
•
•
•
•
. . x x . xx x x x x
•
•
•
.
•
x x
.
•
•
•
•
x x . . . . . . .
.
•
•
•
xx
•
•
. . xx x x x x x x x
•
•
•
•
. . . . . . .X . . . . . .
.
.
•
•
•
•
•
XX
•
•
•
•
•
'
"
•
•
•
•
•
•
•
.
•
•
•
. . . . . .XXXXXX
.
.
.
.
x xXX
•
XX
•
•
•
•
•
XX
•
•
. . . . . XXX . . . . . .
•
•
•
•
•
.
•
•
. . . . . xxx. . . . . . . .
•
.
•
•
•
•
•
•
,
•
•
•
.
•
. . . . . . X . . . .X . .
•
x x
•
•
•
•
•
xxx . . . . . . .
•
•
•
•
. . . . . . . . .x . . . . . .
•
•
•
XXX . . . . . . . . .
•
•
•
•
X X•
XX
XXXXXXX
XXXXX
•
X
XXXXXXX
•
•
•
•
•
.
.
.
.
.
•
•
.
•
•
•
•
•
•
•
•
x x
•
•
•
.
.
.
.
.
.
xxxxxxxx •
•
•
.
•
.
.
•
•
•
•
•
.
•
•
•
xxxxxx
.
.
. .
.
.
.
. . . .x
•
•
XX . . . . . .
.
•
•
•
•
•
XXXX . . . . . . .
•
•
.
xxxxxxxx
.
•
•
.
•
•
•
•
•
•
•
•
•
•
•
•
XX
•
•
•
•
•
•
XXXXX
•
•
•
•
•
•
. . .
.
.
.x x . . . . . . . .
. . . . . . . XX . . . . . .
.
•
•
•
•
•
XX
•
•
•
•
•
,
•
•
•
•
•
•
. .
•
•
•
•
•
XX
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
XX
XX
•
. . . . . . XX. . . . . .
. . . . . . XX . . . . . . . .
•
•
•
•
•
•
•
•
X . . . . . . . .
. . . . . . . XX •
•
•
XXX
.
•
•
•
•
•
•
XX . . . . . .
•
. . . xx . . . . xxx . . . . •
•
•
.
.
•
•
•
•
xxx
•
•
•
•
XX
•
•
•
•
•
•
•
. . . xx . . . .xxx . . . .
•
•
•
•
•
•
•
•
•
•
. . . . . X . . . . . . . . . .
Sl. ]4. l l . Primjeri uzoraka iz skupa za učenje
o
. xxxxxxxx . o .
o
•
266
14.
PRIMJENA MI KROPROCESORA U SUSTAVIMA ZA RASPOZNAVANJE UZORAKA
Nepoznati uzorak se projicira na matricu fotoosjetljivih ćelija. Postupak razvrstavanja uzorka sastoji se u zbrajanju jedinica po svim pozicijama bita u riječima koje su adresirane n-torkama (vrijednostima dobivenim iz matrice fotoo sjed;ivih ćelija). Uzorak se klasificira u razred koji odgovara poziciji bita s najvećom vrijednošću zbroja. Gornje funkcije izvršava sklop za donošenje odluke. Brzina razvrstavanja je - !O ms po uzorku. Razvili smo eksperimentalni klasifikator za razvrstavanje rukom pisanih brojčanih znakova O . . . 7. Za učenje klasifikatora upotrijebljeni su uzorci za učenje, i to za svaki razred po petnaest uzoraka rukom pisanih brojki (upotrijeb lje-
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
xx
xxx xx
•
xxxx
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
xx
•
•
•
•
•
•
xx
xx •
•
•
•
•
' " •
•
xxx
•
•
xx
x
xx
xx
xx
xx
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
•
.
•
•
.
•
.
.
.
•
•
•
•
"
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
.
.
.
.
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
.
.
.
.
. . xx
.
•
xx
xxx •
xx
xx
xx xx
xx
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
. . . . . . .xx . . . . . .
•
•
•
•
.
.
•
•
•
•
. . . .
•
.
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
xx. . . . . . . . .
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
.
.
•
•
•
•
•
•
•
•
.
.
•
•
•
xx
xxx
•
•
•
•
•
•
•
•
•
•
•
x x . xx
.
.
.
.
.
xx . . xx . . . . . •
•
xxxx
. . .
•
.
.
•
•
•
•
•
•
•
•
)( )( x x •
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
. . . . xxxxx . . . . . . .
•
•
•
•
•
•
.
•
•
•
•
•
•
•
•
•
•
•
•
.
•
•
•
•
.
XX •
. . .
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
xx
•
•
•
•
•
•
•
•
•
•
•
•
•
.
xxxx
•
•
•
•
•
•
•
•
•
•
•
. . . . . . . xxx . . . . .
•
.
.
.
.
•
. .
.
•
•
•
•
.
.
•
•
•
.
.
.
•
•
•
.
.
.
.
.
•
•
•
•
.
.
.
.
•
.
xx
x .x . .
. . . . . . . x . x
.
.
.
.
.
. . . . . . )( . x . . . . . .
. . . . . .x . x . . . . . . .
. . . . . .x . x. . . . .
.
.
. . . . . .x . x. . . . . . . •
•
xx
•
•
xx. . . . . . .
.
•
•
•
•
•
.
•
. .
.
.
•
•
•
•
•
•
•
•
•
•
•
•
.
.
.
.
.
.
•
•
•
•
•
•
•
•
xxxx
. .
.
.
'
"
•
•
•
•
.
.
.
xx
xx
•
•
•
.
•
•
•
,
•
•
•
xx
.
.
•
•
•
•
•
•
•
•
•
•
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
•
•
•
•
•
•
•
•
•
•
.
.
•
•
•
•
.
•
•
•
.
. . . .
XX
•
.
.
•
•
•
•
•
•
•
•
•
•
.
,
•
•
•
•
•
•
•
·
•
•
•
•
•
•
"
•
.
•
•
•
•
•
.
x . . .xx . . . . . xxxxx
•
•
•
•
•
•
•
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
•
•
•
•
•
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
•
•
•
•
•
.
.
•
•
.
•
.
•
•
·
•
•
•
xx
xx
•
•
•
.
. .
•
•
.
•
•
•
•
•
•
•
•
•
•
•
.
.
.
•
•
.
•
•
.
•
•
•
.
.
.
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
x xx x x x x
•
•
•
•
•
•
•
•
•
•
•
.
•
•
•
•
•
xx
•
xx
xx •
xxxxxxx
.
•
xx •
•
•
•
•
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
o o •
xxx
•
•
•
•
•
o o
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
xxx
xx
xx
xxx
xxx . . .
xx
.
•
.
•
•
•
•
•
" .. " •
•
•
•
•
•
.
•
.
•
•
.
•
•
.
xxxxxxx
•
•
•
" • •
. •
.
•
.
xxxx
xxxx
xx
•
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
"
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
x . . . . . . .
xx
x .. ..
.
•
xxxxxxx
•
•
•
xx
•
•
•
. . . . . xx . . . . . . . .
•
xx
xx
. . xx . . . . . . .
•
•
•
. . . . . . .
•
.
•
xxxxxx ' "
•
)( x
•
xxxxxxxxxx
•
•
•
. •
•
•
•
•
•
•
•
•
•
•
•
•
•
. .
•
x x. . . .
•
xxxxx
•
.
•
•
•
' "
•
•
•
•
•
·
.. "' .. . .. . . x .. .. .. . . . ..
"
•
•
•
•
xxx
•
•
•
.
•
•
•
)( )( )( )( )( x
•
•
•
•
•
•
•
•
•
. . . .x . . .xx . . . . .
•
•
•
•
•
•
•
. . . . . . . . . . .x . . . .
.
•
•
xxxxx
•
•
•
•
•
•
•
•
.
. . . . .x . .x . . . . . . .
.
.
•
•
xxx . . . . . . .
•
. . . . . . xxx . . . . .
•
xx. . . .x . . . . . .
.
•
•
•
xx . . . . . .
•
xx
•
•
•
•
xxxxx
. . . . . . .x . . . x. . . .
•
. . xx . . . . . . xx
•
xxxxxx
)( )( x )(
xxxxxx
xxx xx
•
•
. . . . .x . . . . xx . . . .
•
xxx
xxx
. . . xx x
•
. xx . . . . x . . . . .
•
•
xx . . . . . . . . .
. . .xx. . . .x . . . . .
•
•
•
xx •
•
.
•
x
. . . . . . . .xxx •
•
.
. . x. .xx
•
•
•
xx . . . . .
. . xx . .
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
•
•
.
xxxxxxx
•
•
•
•
•
)( )( )( )( )( )( )( .
•
•
•
•
•
x . . . . . . . . . . .
•
.
•
•
.
•
•
.
xx
•
•
xxxxxxxx
•
.
.
xx
•
•
.
•
•
•
. . . .xx . . . . . . . . .
•
•
•
•
•
xx
xx
•
•
.
•
•
•
•
•
•
•
•
.
x . . . xx . . . .
.
•
•
•
. . . . . xx . . . . . . . .
.
•
•
.
•
.
•
xx
•
•
.
. . .xx. .
•
x
•
• •
xxxx. . . . . .
)(x
xxxxx
•
.
•
.
•
xxxx
•
xxx
" .. lt " " " " "
•
•
•
•
•
•
•
•
.. .. .. .. x " " " '" .. " .. " .. " .. xx . . . . . . . . . .
.
•
SI. 14.l2. Primjeri uzoraka za klasifikaciju : a) pravilno razvrstani uzorci, b) nepravilno raZVT$tani uzorci
267
14.3. MIKROPROCESORSKI KLASIFIKATOR BROJCANIH ZNAKOVA
ni su uzorci koji su služili za učenje klasifikatora na bazi dvodimenzionalnih prilagođenih filtara; L. Gyergyek, 1 975). Svaki od uzoraka za učenje pomican je po matrici za l ili 2 stupca ili retka u postupku učenja (na taj način postiže se djelomična nezavisnost rezultata klasifikacije od translacije ulaznog uzorka). Slika 1 4. 1 1 prikazuje uzorke iz skupa za učenje. Klasifikator je ispitan na 98 uzoraka (brojevi što su ih rukom pisale tri osobe od kojih nijedna nije pisala uzorke iz skupa za učenje). Bilo je pravilno klasificirano 77% uzoraka. Slika l 4. l 2a prikazuje neke od pravilno razvrstanih uzoraka, a slika l 4. l 2b neke od pogrešno razvrstanih uzoraka.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
xxx
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
xxxxxxxx
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
•
•
xx
xx
xx
ll: X
•
•
•
•
•
xx
xxxxxxxx
•
•
•
.
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
xx
•
•
.
•
•
•
•
•
•
•
•
•
.
•
•
•
•
.
•
.
•
•
•
•
•
·
.
.
•
•
•
xx
•
.
•
•
•
xx
xx
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
•
.
•
•
•
•
.
•
•
•
•
xxxxxxxx
•
•
•
•
•
•
•
•
•
•
xx
xx
xxxxxxxx
xx
•
•
•
•
•
•
.
•
•
•
•
.
•
•
•
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
.
•
.
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
•
•
•
•
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
.
.
•
•
•
•
•
•
•
•
.
•
•
•
•
•
·
•
•
•
•
.
•
•
•
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
xx xx
xx
•
•
.
xx
•
•
•
•
•
•
•
.
•
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
.
.
•
•
.
.
.
.
•
.
•
.
.
•
.
.
.
.
•
•
.
•
.
.
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
.
•
•
•
•
•
•
•
•
•
.
.
xx
•
.
.
•
•
•
•
•
•
•
•
xxxxxxxx . . .
•
•
•
xxxxxxxx
•
•
•
•
.
•
.
•
•
•
•
•
•
•
•
•
•
•
•
•
xx
.
•
•
xx
xx
xx
•
xxx
•
•
•
•
•
.
•
•
•
•
xx
.
•
•
•
xx
•
.
•
•
xxxxxxxx
•
•
•
•
xx
•
.
.
•
•
•
.
•
xx
•
xxxxxxxx
xx
xx
•
•
•
xxx
•
xx
xx
xx
. xx
xx
xxx
•
•
xx
xx
xx
xx
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Sl. 14. 13. UspjeIna klasifikacija uzoraka
Slika 14. 1 3 prikazuje uspješnu klasifikaciju uzorka 4 koji je pomican uzduž fotoosjetljive matrice. Rezultat pravilno razvrstanih uzoraka od 77% znatno je slabiji od razvrstava nja brojčanih znakova na osnovi dvodimenzionalnih prilagođenih filtara - meto de koja je bila razvijena i ispitana na računalskom sustavu CDC CYBER 72/24 u Ljubljani 1 975. godine. Uzorak slabijim rezultatima jednim je dijelom malen skup uzoraka za učenje i slijedni izbor n-torki (time je smanjen broj nedopuštenih stanja). To je ustanovljeno ispitivanjem sadržaja i popunjenosti memorije za učenje, koja iznosi manje od 6%, s tim da priličan broj memorijskih lokacija ima sadržaj koji ne pridonosi odluci za uspješno razvrstavanje. Na primjer, memorij ska lokacija sa sadržajem FF (heksadekadno) (sl. l 4. l O) ne pridonosi odluci pri razvrstavanju jer svi uzorci od O . . . 7 adresiraju tu memorijsku lokaciju.
268
14. PRIMJENA MIKROPROCESORA U SUSTAVIMA ZA RASPOZNAVANJE UZORAKA
Drugi je uzrok slabijoj klasifikaciji što se jedna grupa nepoznatih uzoraka značajno razlikuje od uzoraka za učenje (sl. 1 4. 1 4).
• . • • • · • • . • • • •
xxxxx
• • . . • •
x
• • • • • •
xx . . . x . . . . . x
• • • •
• • • • • • • • • • • • • • • • • · • • . . . . • • • • • • • • • • • • • • • • . • .
Sl. 14.14. Neuspješno klasificiran uzorak (značajno se razlikuje od uzoraka iz skupa za učenje)
• • •
x
xx x
xx
x
• • • • • •
• • • • • • •
. . . . . • .
• • • • • • • •
• • • • • • • •
xxxx
• • . .
xx
•
xx . xxxxx .
.
.
xx
x
. • . •
• . • . .
• • • . . .
• • • • • • • • • • • • • • • •
Eksperimentalni klasifikator je unatoč gornjim rezultatima pokazao put za realizaciju klasifikatora s memorij skim elementima koji se sastoji od tri ili više podsustava za razvrstavanje s različitim n-torkama i slijedom izabranih n-torki. Oni uče na većem skupu uzoraka, a nepoznati uzorak razvrstavaju u razred koji je dobio najveći broj "glasova" (sl. 1 4. 1 5). Uspješno klasificiran nepoznati uzorak ujedno postaje i uzorak za učenje sustav razvrstavanjem uči i stječe nova znanja. - - -- - - - -
�__�,-�L--.
Sklop za donošenje odluke
1
U p ravljački signal PiŠi
I I
riTp::::l�---� Upravljački sklop
Razred
Upravljački signal ČiTAJ
Sl. 14.15. Sustav za "samoučenje" pri razvrstavanju uzoraka
14.4. SUSTAVI ZA AUTOMATSKO RASPOZNAVANJE GOVORA
269
14.4. SUSTAVI ZA AUTOMATSKO RASPOZNAVANJE GOVORA Automatsko raspoznavanje govora (engl. automatic speech recognition) može se definirati kao proces koji dekodira akustički signal dobiven pomoću ljudskog glasa u slijed jezičnih jedinica koje sadrže poruku koju govornik želi saopćiti (W. A. Ainsworth, 1 978). Sustavi za automatsko raspoznavanje govora II mogu se razvrstati na: sustave za raspoznavanje izdvojenih riječi (engl. isolated word recognizer), • sustave za raspoznavanje neprekinutog (kontinuiranog) govora (engl. continuous speech), Sustavi prema ograničenju s obzirom na govornika mogu biti (Digital Design, 1 982.): • sustavi za raspoznavanje zavisni od govornika (engl. speaker dependent), • sustavi za raspoznavanje nezavisni od govornika (engl. speaker independent). Složenost sustava kreće se u rasponu od tzv. "fonetskog pisaćeg stroja" (engl. phonetic typewriter) koji ispisuje riječi izgovorene u mikrofon, pa sve do kom pleksnih sustava za razumijevanje govora (engl. speech understanding system) koji izlučuje značenj e iz zvuka i izvode odgovarajuću akciju kao što je, na primjer, odgovor na pitanje ili upravljanje robotom. •
Sustavi za raspoznavanje izdvojenih riječi Sustavi za raspoznavanje izdvojenih riječi su jednostavnij i od onih za raspo znavanje neprekinutog govora. S lika 1 4. 1 6 prikazuj e jedan od prvih sustava koji su Davis, Biddulph i Balashek razvili 1 952. godine za raspoznavanje izdvojeno izgovorenih brojki. Kao osnova raspoznavanja upotrebljavaju se frekvencija prvo ga (FI) i drugoga (F2) formanta. Rezonancij e vokalnog trakta koje se u spektogra fu ili sonografu očituju u crnim horizontalnim linijama nazivaju se formanti. Frekvencija formanata je različita za svaki glas. Na primjer, glas [i] (u engleskom jeziku) ima frekvenciju prvog formanta ( F l ) oko 250 Hz, a frekvenciju drugog formanta (F2) oko 2 500 Hz, (sl. 1 4. 1 7a). Glas [U] ima F I na frekvenciji oko 250 Hz, a F2 na 800 Hz (sl. 1 4. 1 7b). Sustav se sastoji od dva filtra: jednoga niskopojasnog 800 Hz (za prvi formant F I ) i jednoga visokopojasnog 1 000 Hz (za drugi formant), brojila prolazaka kroz nulu svakoga frekvencijskog pojasa, koji zapravo daju frekvenciju prvog i drugog formanta, te križnog korelatora. Područje prvog formanta (200 . . . 800 Hz) kvantizirano je u šest segmenata (svaki po 1 00 Hz). Područje drugog formanta (500 . . . 2 500 Hz) razdijeljeno je u pet područja po 500 Hz. Trideset elemenata (6 x 5) tvore matricu elemenata koji predstavljaju ravninu F I - F2. Za svaki izgovoreni broj odredeno je vrijeme u kojem trajektorija F l F 2 zauzima elemente matrice. Sustav sadrži i referentne uzorke za svaki broj. Novi izgovoreni broj , odredu j e novu trajektoriju u ravnini F l - F2. Izmedu novog uzorka trajektorije i svakog referentnog uzorka trajektorije izvršava se križna korelacija. Nepoznati uzorak se razvrstava u onaj razred za koji je korelacija (sličnost) najveća. Sustav koji je ' ) u daljnjem tekstu upotrebljavat će se izraz sustav z a raspoznavanje govora.
270
14.
PRIMJENA MIKROPROCESORA U SUSTAVIMA ZA RASPOZNAVANJE UZORAKA
prilagođen određenom govorniku pravilno raspoznaj e oko 98% izgovorenih brojki. Kada se sustavom služi novi (nepoznati) govornik, pravilno raspoznatih brojki je oko 50%. Govor
I-t--l."--Hr+--l Matrica Fl -F2
Matrica referentnih uzoraka
Sl. 14. 16. Sustav Davisa, Biddulpha i Balasheka za raspoznavanje izgovorenih brojeva
nm :
al
m
bl
Sl. 14. 1 7. Sonograf za: a) glas i, fl) glas u
Godine 1958. razvijen je sličan sustav koji je izvršavao spektrainu analizu skupom pojasnih filtara (svaki širine 300 Hz). I zlaz iz skupa filtara bio j e koreliran s referentnim uzorcima.
14.4. SUSTAVI ZA AUTOMATSKO RASPOZNAVANJE GOVORA
271
Jedan o d poznatijih komercijalnih sustava z a raspoznavanje izdvojenih riječi ili fraza jest VIP- l OO tvrtke Threshold Technology Inc. Sustav raspoznaje riječi mjerenjem zvučnih karakteristika i uspoređivanjem s onima koje su za referentne riječi pohranjene u memorij i. Referentne se karakteristike dobivaju u fazi učenja, kada govornik ponavlja riječ od 5 do 1 0 puta. Za vrijeme učenja sustav automatski izlučuje sve karakteristike koje su potrebne za kasnije raspoznavanje i tvori odgovarajuću matricu značajki.
Analizator speklni
Memorija referentnih uzoraka
Sl. 14. 18. Sustav VIP-100
Slika 1 4. 1 8 prikazuje blok-shemu sustava VIP- l OO. Sustav se sastoji od pretprocesora, izlučivača karakteristika i klasifikatora. Pretprocesor i izlučivač karakteristika realizirani su sklopovski, dok je klasifikator izveden kao program u specijalnom procesoru (eng. recognition processor). Pretprocesor i izlučivač ka rakteristika izdvajaju osnovne značajke zvukova sadržanih u ulaznim riječima. Nakon analize spektra (koja se izvodi skupom filtara) slijedi logika za detekciju oblika i promjena u spektru. Kombinacija i sljedovi rezultata tih mjerenja se obrađuju te se dobiva skup zvučnih značajki. Te značajke svake izgovorene riječi (sustav raspoznaje 32 izdvojene riječi ili fraze) sustav VIP- l OO obrađuje u realnom vremenu. Kada sklop za izlučivanje značajki detektira kraj izgovorene riječi, procesor izvršava vremensku normalizaciju i na taj način minimizira zavisnost rezultata raspoznavanja od vremena trajanja izgovorene riječi. Nakon toga slijedi postupak podudaranja između vremenski normaliziranog skupa značajki izgovore ne riječi i referentnih uzoraka koji su pohranjeni kao rječnik u memoriji sustava. Ako rezultat podudaranja prelazi unaprijed zadani prag, onda se izgovorena riječ klasificira kao i referentna riječ koja ima najveće podudaranj e ("best fit"). Ako se ulazna riječ ne podudara ni sa jednom riječi iz rječnika slijedi odluka o "odbaciva nju" nepoznate riječi. Govornik može vizualno kontrolirati ishod raspoznavanja. Sustav VIP- l OO našao je djelotvornu primjenu u postupcima za kontrolu kvaliteta te za ispitivanje, unos podataka u inteligentnim terminalima, programira nje računala glasom, u sustavima CAl (Computer Aided Instruction), podsustavi ma za numeričko upravljanje strojeve i sl.
Mikroprocesorski sustav za raspoznavanje govora Zbog svojstva formanata (prva tri, F l , F2 i F3, sadrže informaciju o značenju riječi, dok informaciju o govorniku nose viši formanti, oni iznad 2 500 Hz), većina
14.
272
PRIMJENA MI KROPROCESORA U SUSTAVIMA ZA RASPOZNAVANJE UZORAKA
se konvencionalnih sustava za raspoznavanje izdvojenih riječi zasniva na analizi u frekvencijskom prostoru. S pektralne komponente se dobivaju ili skupom filtara (tzv. filter bank), primjenom Fourierove transformacije ili brze Fourierove trans formacije (FFT). Mikroprocesorski sustavi za raspoznavanje govora, međutim, ne upotreblja vaj u analizu u frekvencij skom prostoru zbog nepogodnosti izvedbe Fourierove transformacije u realnom vremenu standarnim mikroprocesorima CF. Koperda,
1 980).
Autokorelarija referentnih uzoraka G ovor
Pojacalo
Niskopojasni f iltllf 3800 Hz
Klasifikator na bazi E uklidove udaljenosti
korelat or ___
__
___
__
_
_
U'e! Sl.
I R.�spoznato. ...J rijec
14.19. Funkcionalna blok-shema mikroprocesorskog sustava za raspoznavanje odvojeno izgovorenih rijea
Slika 14. 1 9 prikazuje funkcionalnu blok-shemu mikroprocesorskog sustava za raspoznavanje koji raspoznavanje izvršava u vremenskom prostoru. Kao osnova za određivanje značajki izgovorenih riječi uzeta j e autokorelacija ulaznog govornog signala (L. Gyergyek, 1971.):
RxC'r)
=
+,1'
j X (t) X Ct + 1') dt, T� ;o 2 T - T lim
l
-
-
gdje je X (t) ulazni signal, a t' pomak. U sustavu su pohranjene autokorelacij e referentnih uzoraka (riječi koje sustav raspoznaje ) . Klasifikator se zasniva n a mjerenju Euklidove udaljenosti između autokore1a cije izgovorene riječi i autokorelacij e referentnih uzoraka. Izgovorena riječ se klasificira u razred kojem pripada referentni uzorak za koji je Euklidova udalje nost najmanja.
R7 (4 R4
2k2
lM R6 1k
RS l5k
.sv Sl.
READY
14.20.
Izvedba jednostavnog
mikroprocesorskog sustava (D. Ridyard, 1981)
za
raspoznavanje
govora
1 4.4. SUSTAVI ZA AUTOMATSKO RASPOZNAVANJE GOVORA
273
S lika 1 4.20 prikazuje jednostavnu izvedbu mikroprocesorskog sustava za raspoznavanje deset riječi s točnošću većolD od 90% (D. Ridyard, 1 98 1). Osmobitni mikroprocesor M6 800 (tvrtka Motorola) poslužio je kao osnova sustava. Sustav se sastoji od ulaznih sklopova (pretpojačala, filtra i komparatora), preklopke za signalizaciju početka govora (READY) i mikroračunala na bazi 8-bitnog mikroprocesora M6800. Filtar je niskopojasni 3 800 Hz, tako da "reže" više formante i pridonosi većoj nezavisnosti rezultata raspoznavanja od govornika. Komparator daje binarnu vrijednost (O ili 1 ) na ulaz b7 međusklopa PIA mikroprocesora. Preklopka READY signalizira početak govora i u mikroračunalu pobuđuje programsku rutinu za unos (uzorkovanje) govornog signala. Autokorelacij a ulaznog signala izvršava se vrlo jednostavno mikroprocesorom budući da binarni ulaz " I " predstavlja + I , a "O" predstavlja - I , tako da se množenje izvršava s dvije instrukcijel): EaR
(isključivo I LI )
COM
(komplement).
Vrijednost 't iz izraza za autokorelaciju određen je pomoću S hannonova teorema za ulazni signal s gornjom frekvencijom 4 kHz:
't =
2/max
2 . 4 . 103
0,1 25 ms.
Granica j e integracije izabrana u skladu s najnižom frekvencijom (250 Hz) i iznosi vremenski period od 4 ms. Duljina je podatka za računanje svake autokore lacije 4 bajta (4 ms : 0, 1 25 ms 32 bita = 4 bajta), a sama autokorelacija zahtijeva još 4 baita s lijeve i 4 bajta s desne strane, tako da je ukupno potrebno 1 2 bajtova. Riječ se uzorkuje u trajanj u 840 ms, tako da je potrebno 840 bajtova za njeno pohranj ivanje. Upotrebom svakoga četvrtog skupa sa po 1 2 bajtova reduciraju se zahtjevi za memorijom mikroračunala. Autokorelacija nepoznate riječi se uspoređuje s autokorelacijom riječi iz rječni ka pohranjenog u memorij i mikroračunala. Mikroračunalo izračunava Euklidovu udaljenost:
D; =
L I Xk - Ykl , k =O
gdje je n broj bajtova potrebnih za prikaz autokorelacije pohranjene u memorij i,
Xk k ti bajt autokorelacije riječi iz rječnika, Yk k ti bajt autokorelacije izgovorene -
-
riječi. Riječ se klasificira u razred koji odgovara uzorku iz rječnika sa svojstvom:
D,,= min D.,
i = l , 2, . . . , M,
gdje je M broj razreda nepoznatih riječi (M 1 0) . Praktična izvedba opisanog sustava, koji je vrlo pogodan i za samoizgradnju, s programskom podrškom dana je u literaturi (D. Ridyard, 1 98 1 ). =
"
)
X CI) o l l
X Cr + 1) o o l
EOR o I
o
COM 1 o l
[C - l j [C - l ) [( + 1) [( + 1 )
l] - lj - lj lj
274
14
PRIMJENA MI KROPROCESORA U SlJSTAVIMA ZA RASPOZNAVANJE UZORAKA
Ubrzani razvoj tehnologije omogućio je da se na tržištu pojave čipovi s funkcijom raspoznavanja govora (do šesnaest riječi) s točnošću većom od 90%. Ti čipovi su proizvodi OEM 1 ), vrlo niske cijene, tako da se mogu upotrijebiti u proizvodima za široku potrošnju i namjenu. S lika 1 4. 2 1 prikazuje sustav realiziran u čipu VRC 008 (tvrtke Interstate Electronic Corp. ) koji se djelotvorno upotrebljava u dječjim igračkama, igrama i ostalim proizvodima upravljanim glasom, Sustav raspoznaje osam izgovorenih riječi ili fraza i nezavisan je od govornika.
100 PF 8 paralelnih
U/I linija
GNO INT rn_L-- ,.5, XTAl 14 EXTAl
+---.-.r.-,;....�3 VL(
--./o OFf
-sv
ON
I I
I I
4 paralelne
U/l linije
B paralelnih U/I linija
R[SET I 1 IJ.f
I Cip za�poznavanje 8 rijeEi
Sl. 14.21. Sustav za raspoznavanje govora realiziran u čipu (tvrtka lmersta!e Electronic Corp.)
Sustavi za raspoznavanje neprekinutog govora Prirodni, neprekinuti govor (N. A. .Ainswarth, 1 978) ima puno značajki koje čine raspoznavanje vrlo složenim (izgovor je manje brižljiv s obzirom na izgovor izdvojenih riječi, brzina govora se mijenja, ističu se razlike u izgovoru pojedinih govornika, prisutni su koartikulacijski utjecaji u riječi i između njih). U sustavima za raspoznavanj e neprekinutog govora prisutni su još i dodatni problemi: • važnost riječi u poruci izražena je isticanjem i intonacijom, • iako je govor slijed izdvojenih riječi, često je vrlo teško odrediti granice riječi. Zbog složenih problema raspoznavanja neprekinutog govora nije dovoljna samo analiza zvučnih svojstava za uspješno raspoznavanje, već je potrebno u sustav ugraditi znanja o rječniku, sintaksi i semantici govora. Te ii priori informa cije raspoložive slušatelju ugrađene su u sustavu kao brojni i različiti izvori znanja (KS Knowledge Source). I zvor znanja (KS) može se opisati kao posrednik koji sadrži znanje o određenom segmentu problema i korisno se upotrebljava u rješavanj u tog segmenta primjenom postupaka koji se temelje na njegovu znanju i time pridonosi rješenju cijelog problema (R. D. Fennell, 1 977.). Izvori znanja u sustavima za raspoznavanje neprekinutog govora (W. A. Ainsworth, 1 978) jesu: • Zvučno-fonetski izvor znanja ujedinjuje znanj e o fonetskim sljedovima i fizičkim parametrima koji su izlučeni iz govornog signala. Original EquIpment Manufacturer.
14.4. SUSTAVI ZA AUTOMATSKO RASPOZNAVANJE GOVORA
275
--------�-
•
Rječnik (Vocabulary) - zbirka riječi (fonetskih ustrojstava) u j eziku koji se raspoznaje. Elementi rječnika mogu se sastojati od "idealne" fonetske transkripcije ili mogu biti "kvazifonetski". • Fonološka pravila sustavni prikaz promjena u izgovoru riječi ili fonerna u zavisnosti od okoline. • Sintaksa - gramatika jezika izražena u pogodnom obliku kao skup pravila koja određuju način "slaganja" sljedova riječi da bi se dobile pravilne rečenice. • Semantika - način na koji se mogu riječi ili fraze povezivati tako da se dobivaju jezične strukture koje imaju značenje za slušatelja. • Pragmatika - znanje o dodatnim mogućnostima ili ograničenj ima perce pcije govora u zavisnosti od trenutnog konteksta ili situacij e (npr. predik cija riječi u dijalogu). • Prozodika - znanje o ritmu i intonaciji govora. J edan j e od najvažnijih smjerova istraživanja u području sustava za raspozna vanje govora implementacija izvora znanja i upravljanje njihovim međusobnim djelovanj em. Organizacija, povezivanje i međusobno dj elovanje izvora znanja određuje model sustava za raspoznavanje neprekinutog govora. Slika 1 4.22 prikazuje hijerarhijski model sustava s pristupom "od dna prema vrhu" (bottom-up).
Govor
ZvučnDfonetski pr oceSDr IPretprocesorl
leksička obrooa fRječnik)
Sl. 14.22. Hijerarhijski model sustava za raspoznavanje kontinuiranog govora s pristupom "od dna prema vrhu"
Izvori znanja su u tom modelu upotrijebljeni u slijedu: od zvučnog (obično smještenog u front-end procesoru ili pretprocesoru), pa sve do semantičkog. Pretprocesor reducira govor na niz fonerna. Uz pomoć rječilika sastavlja se struktura stabla koja sadrži sve moguće nizove riječi (word tree) koje ostvaruju ulazni nizovi fonerna i dodjeljuje im vjerojatnosti pojave. Sintaksa, kao sljedeći stupanj u modelu, izlučuje putove u strukturi stabla koji nisu u skladu s gramatikom j ezika i obnavlja vjerojatnosti preostalih. Semantika donosi odluku o najpogodnijoj, odgovarajućoj rečenici. Prilikom izvedbe sustava na temelju gore opisanog modela potrebno je riješiti vrlo složene probleme slanja velike količine podataka iz stupnja u stupanj, te pohranjivanje i obradu kompleksnih struktura podataka. To sve zahtijeva velike procesne sposobnosti računala (od 1 0 . . . 1 00 MIPS). Primjer sustava u skladu s opisanim modelom je ARCS (Automatic Recogni tion Continuous Speech) tvrtke IBM. Sustav se sastoj i od zvučno-fonteskog procesora (koji ima i fonološku obradu), rječnika i sintakse, dok se semantikorn, pragrnatikom i prozodikom kao i zvorima znanja ne koristi. Izlaz iz sustava je ortografski. Hijerarhijski model ,,8 vrha prema dnu" (top-down) uklanja nedostatke hijerarhijskog sustava "od dna prema vrhu" (neprilagodljivost i nepouzdanost
276
14 . PRIMJENA MIKROPROCESORA lJ SUSTAVIMA ZA RASPOZNAVANJE UZORA K.I
stupnjeva - utjecaj pogreške u izvorima znanja, nezavisnost u nekim slučajevima i velika količina nepotrebne obrade - neselektivnost obrade). Model djeluje na osnovi hipoteze i njenog ispitivanja. Hipoteze se generiraju u višim razinama modela i one uvjetuju ponašanje nižih razina (zvučno-fonetskog procesora, smjer leksičke obrade i sL). Heterarhijski model (heterarchical model) raspoznavanja neprekinutog go vora primjenjuje iskustva s područja umjetne inteligencije, gdje se sustavi sastoje od brojnih, nezavisnih specijaliziranih modula (ekspertnih modula) koji medu sobno saobraćaju, ne kao vodeći i prateći, već poput ravnopravnih članova skupa eksperata. Takav je pristup primijenjen u sustavu za razumijevanje govora HEARSAY I, a dalje razrađivan u sustavu HEARSAY II na Carnegie-Mellon University, Pittsburgh (R. D. Fennel, 1 977). Slika 1 4.23 prikazuje pojednostavnje nu organizaciju sustava HEA}{SA Y I (D. R. Keddy, 1 973; W. A. Answorth, 1 978). HEARSAY I sastoji se od izvora znanja (KS) koji svojim znanjem doprinose rješavanju problema. Oni sudjeluju u postavljanju hipoteza, te ispiti vanju svojih h ipoteza i h ipoteza što ih postavljaju drugi izvori znanja.
I
I I
__ _ _ _ _
I .J
Sl. 14.23. Pojednostavnjeni prikaz organizaClie sustava HEARSA Y
Sustav za raspoznavanje neprekinutog govora u realnom vremenu zahtij eva veliku procesnu moć računala, tako da je njegova izvedba s konvencionalnim sustavom mikroračunala neizvodljiva. U obzir dolaze arhitekture računalskih sustava tipa MISD, S IMD i MIMD. Na primjer, sustav HEARSAY II j e predviđen za arhitekturu računala tipa MIMD (računalski sustav C.mmp, odnosno Cm*mp, sastavljen od mikroprocesora (LS I- I l ). Slika 1 4.24 prikazuje mikroprocesorski sustav za raspoznavanje neprekinutog govora. Sustav se sastoji od više mikroprocesora povezanih u protočnu (pipeline) strukturu (arhitektura tipa MISD) . Broj procesora zavisi od složenosti pojedinih faza raspoznavanja, brzini procesora, cijeni sustava i željenoj točnosti. Ulazni stupanj sustava (sl. 1 4.24) sastoji se od mikrofonskog pretpojačala, niskopojasnog
14.4. SUSTAVI ZA AUTOMATSKO RASPOZNAVANJE GOVORA
277
filtra i AJD pretvarača. AJD pretvarač pretvara ulazni analogni signal u digitalni. Budući da je kao gornja frekvencija govornog signala uzeta 4 kHz, prema Shannonovu teoremu minimalna frekvencija uzorkovanja je 8 kHz, što odgovara vremenskoj rezoluciji uzoraka od 1 60 !lS. U sustavu sa slike 1 4.24 upotrebljava se Aj D pretvarač s vremenom konverzije 20 J,1s, što daje 50 000 uzoraka u sekundi. Mikroprocesor l (pretprocesor) prima podatke od AJD pretvarača i određuje prisutnost govornog signala u pozadini šuma. Središnji zadatak mu je kompersija ulaznih podataka. Ona se ostvaruje primjenom metode FAS 1) za prikupljanje podataka. Pretprocesor izvršava neposrednu obradu podataka: Prispjeli podatak iz AJD pretvarača uspoređuje s prijašnjim uzorkom i utvrđuje da li je nastala promjena predznaka nagiba. Ako je nastala promjena, pretprocesor pohranjuje vrijednost tog uzorka, a uz to bilježi vremenski interval prethodne promjene nagiba. Tako se velika količina ulaznih podataka reducira samo na vrijednosti amplituda signala kod koj ih je došlo do promjene nagiba i vremenskih intervala među promjenama. U stvari, pretprocesor predstavlja detektor vršnih vrij ednosti (peak detector) u kojem j e ulazni signal aproksimira.1 pilastim valnim oblicima promjenjive amplitude i frekvencije.
Procesor 10 klnsifikuciju uzorku Mikroračunala 1
Mikroračunala 2
Procesor 3
n6-, 32- bitno mikroračunnio)
Sl. 14.24. Mikroprocesorski sustav prolOčne srrukture za raspoznavanje kontinuiranog govora
Sljedeći korak u postupku raspoznavanja je određivanje početka i kraja riječi. Koliko god se to činilo trivijalnim zadatkom, postupak postaje izuzetno složen zbog prisutnosti šuma, karakteristika govornih organa i neprekinutog govora, gdje se riječi brzo izmjenjuju ili se spajaju u jednu. Za određivanje početka i kraja riječi sustav analizira četiri parametra: • amplitudu, • frekvenciju, • trajanje, • zvučni uzorak. Na temelju sva četiri parametra i na osnovi podataka dobivenih metodom FAS, primjenom postupka s promjenjivom vrijednosti praga l ), određivanjem frekvencije na temelju vrijednosti vremenskih intervala između promjena nagiba, vremena trajanja zvučnih ulaznih signala (na primjer, ako signal traje manje od 1 00 ms, smatra se šumom) realiziran je algoritam za određivanje početka i kraja riječi ( F. Koperda, 1 980). Za neprekinuti govor određivanje granica riječi mora se izvršiti i u kasnijim koracima raspoznavanja (zbog spajanja riječi, brzine izgovora i sL). ' ) Frequency and Amplitude Separation. Variable
!\mplitude Threshold.
278
14.
PRIMJENA M IKROPROCESORA U S1:STAVIMA ZA RASPOZNAVANJE UZORAKA
Mikroračunalo l (konfiguracija: standardni 8-bitni mikroprocesor, 1 28 bajto va RAM memorije, 5 1 2 bajtova ROM memorije i A/D pretvarač) izvršava gore opisane funkcije (kompresija podataka, određivanje granica riječi). Mikroračunalo šalje 500 do l 000 parametra u sekundi mikroračunalu 2. Nakon odredivanja granica riječi slijedi analiza uzorka u riječi. Na osnovi značajki glasova (npr. zvučni glasovi su složene periodične oscilacije, zatvoreni konsonanti su karakterizirani kratkom pauzom za kojom slijede velike amplitude signala) očuvanih u FAS obliku određuju se uzorci i trajanje uzoraka u riječi. Nakon te faze slijedi faza klasifikacije uzorka, koja se zasniva na 1 8 parametara r l . r 18' .
.
Ti se parametri dobivaju na osnovi analiza: • oscilacija i amplituda (4 parametra), • odnosa oscilacija i vremensIqh intervala (4 parametra), • vršnih vrijednosti i amplituda (4 parametra), • vršnih vrijednosti i vremenskih intervala (4 parametra), • broja ponavljanja valnih oblika u uzorku c l parametra), • srednjeg vremenskog intervala uzorka ( l parametar). Mikroračunalo 2 izvršava detekciju uzorka i izračunava 1 8 parametara za klasifikaciju uzoraka. Ono pohranjuje podatke pribavljene iz pretprocesora za vrijeme analize prethodno primljene riječi i šalje od 1 00 do 200 parametra u sekundi računalu domaćinu. Zadnj i korak u raspoznavanju je pridruživanje riječi nizu fonema. Tu se, već prema moći računala i nj egovoj konfiguraciji, primjenjuju izvori znanja (KS) : rječnik, sintaksa, semantika, fonološka pravila i drugo. Za jednostavne sustave raspoznavanja kao procesor se može upotrijebiti 8 ili 1 6-bitni mikroprocesor s relativno malim kapacitetom memorije za pohranj ivanje rječnika i eventualno drugih izvora znanja. Za vrlo složene sustave raspoznavanja (sustavi za razumijevanje govora) postoje zahtjevi za velikim računalom domaćinom (ili računalom na bazi 32-bitnog mikroprocesora) koji ima rječnik kapaciteta od više megabajta i brojne izvore znanja, te mogućnost brzog pretraživanja datoteka. U opisanom sustavu procesor (računalo domaćin) ima RAM memoriju kapaciteta 64 K bajta i izvršava pretraživanje rječnika kombinacijom pretraživanja indeksnom tehnikom i tehnikom neuređenosti (hash). Računalo domaćin izvršava i namjensku funkciju u skladu s verbalnim zahtjevom. Računalo domaćin u svojoj konfiguraciji irna standardne U/I uredaje: tastaturu, prikaznu jedinicu i diskovnu jedinicu ili jedinicu disketa. Sustav ima takve procesne sposobnosti da je za određivanje parametra riječi potrebno 1 ,5 s, međutim, zbog protočne arhitekture istovremeno se izvršavaju operacij e na više riječi. Opisani mikroprocesorski sustav, razvijen u skladu s hijerarhijskim modelom "od dna prema vrhu", predstavlja eksperiment koji je pokazao da još uvijek postoje ograničenja koja postavljaju relativno male procesne sposobnosti mikrora čunala. S druge strane, sam autor CF. Koperda, 1 980) uključuje mogućnost pogreške u pristupu i primijenjenih heurističkih metoda. Bez obzira na sve to, mikroprocesorski sustav za raspoznavanje neprekinutog govora predstavlja nov izazov primjeni mikroprocesora u i zgradnji sustava za raspoznavanje govora, posebno 1 6-bitnih i 32-bitnih mikroprocesora, koji svojim značajkama nadmašuju centralne procesne jedinice srednjih i velikih računala.
14,5,
279
OSNOVNE KOMPONENTE SUSTAVA ZA STROJNI VID
14.5. OSNOVNE KOMPONENTE SUSTAVA ZA STROJNI VID Strojni vid (engL machine vision, computer vision) predstavlja informacijsko -procesni zadatak s dobro definiranim uJazom i izlazom (sl. 14.25; H. G. Barrow, 198 1 ). Ulaz je slika - polje različitih svjetlosnih intenziteta koje predstavlja projekciju trodimenzionalnog svijetal) zapisanog kamerom ili kojim drugim slič nim uređajem. Ulaz može biti predočen kao informacija u različitim dijelovima frekvencijskog spektra ili u obliku višestrukih slika (stereoprikaz ili slike u vremenskpm slijedu). Izlaz je jezgrovit opis objekata na slici i njihovih međusob nih odnosa. Uz tu informaciju, izlaz može sadržavati i pojedinosti o površini, fizičkim značajkama objekata (oblik, boja, građa, materijal), te podatke o svjetlu i sjeni. Priroda opisa i složenosti obrade zavisi od primjene sustava za strojno viđenje. Sustav za strojno viđenje može se upotrij ebiti kao komponenta relativno jednostavnog sustava za ispitivanje kvalitete proizvoda pa sve do vrlo složenih sustava industrijskih robota u integriranom sustavu CADjCAM2). hazJičite razine složenosti zadataka strojnog viđenja uvjetuju uvođenje razli čitih modela sustava - hijerarhijskih i nehijerarhijskih.
Slika
LJ
o
O
tO O o t O O
O O
•
Uhll
Jezgrovit opiS objekta
O
W A
O O
n
Vremenski slijed sliko
SI. 14.25.
Strojno viđenje kao informacijsko-procesni zadatak
Modeli sustava za strojni vid U literaturi (W. K. Pratt, 1978; H. G. Barrow, 198 1 ) predlažu se različiti modeli strojnog vida. Nj ihova osnovna zajednička značajka je da svaki od nj ih posjeduje komponente za izlučivanje značaj ki, za simboličko prikazivanje i za semantičko tumačenje. Modeli se u prvom redu razlikuju organizacijom kompone nata (tokom podataka), prirodom upravljanja komponentama (upravljačkim tokom) i razinom posjedovanja inteligencije i znanja. ') Scena je trodimenzionalni svijet. ') CAD Computer Aied Design (projektiranje pomoću računala); CAM - Computer Aided Manufacturing (upravljanje proizvodnjom uz pomoću raćUnala).
280
14. PRIMJENA MIKROPROCESORA U S USTAVIMA ZA RASPOZNAVANJE UZORAKA
Slika 1 4. 26 prikazuje hijerarhijski model sustava strojnog vida s pristupom "od dna prema vrhu" (engl. bottom-up).
Smjer redukcije količine podataka
Izlučivanje znaČllj ki
Simboličko predstavljanje Značajke
Semantički tumač
Opis
Simboli
Sl. 14.26. Hijerarhijski model SUSlava slrojnog viđenja s pristupom "od dna prema vrhu"
U prvoj se razini iz ulazne slike izlučuju osnovne značajke, kao što su vrijednosti slikovnih elemenata, iubne točke, opisi građe (engl. texture) i sl. U toj razini primjenjuj u se i tehnike koje smanjuju utj ecaj šuma ili tehnike koje poboljšavaju značajke. Skup značajki se šalje slj edećoj razini (simboličkom prika zivanju) gdje se one simbilički prikazuju. Ovdje se od grupa značajki tvore simboli. Na primjer, rubne točke se grupiraju u linijske segmente (odsječke) ili zatvorene krivulje, područja jednakih vrijednosti slikovnih elemenata ili građe kombiniraju se i tvore segmente ili polja sličnih atributa. Skup simbola predstavlja ulaz u višu razinu - semantički tumač. On teži da raspozna i označi strukture predočene ulaznim simbolima primjenom ci priori znanja o slici, sceni ili razredu slika ili scena. Znanje je ugrađeno u vizualnim modelima slika i može varirati od j ednostavnog opisa objekta očekivanog u sceni, pa sve do vrlo složenih opisa koji sadrže i mrežu strukturnih odnosa objekata (P. E. Winston, 1 975). U modelu koji smo upravo opisali izraz "bottom-up" označava smjer toka podataka i upravljačkog toka: Svaka razina nezavisno izvršava svoje zadatke i svoj izlaz (rezultate obrade) šalje slj edećoj, višoj razini. Ključ dj elotvornosti ovog modela je redukcija količine podataka iz razine u razinu. Primjer modela "bottom-up" je sustav strojnog vida L. G. Robertsa. Sustav predstavlja j edan od pionirskih radova s tog područja (nastao 1965. godine). On se primjenjivao za tumačenje scena koje su se sastojale od pravilnih geometrij skih tijela iste boje (tzv. block world). Robertsov sustav je u prvoj razini primjenj ivao "Robertsov križni operator" za isticanje rubnih točaka (mjesta nagle promjene svjetlosnog intenziteta). Za detekcij u linij skih elemenata u j ednoj od četiri orijen tacije upotrebljavao se skup maski. Izolirani linij ski elementi su uklonjeni, a preostali su grupirani u linijske odsječke (L. G. Roberts, 1965). Kolinearni odsječci su spojeni u linije. Konačni rezultat ovog dijela obrade je crtež tijela prisutnih u sceni. Da bi se crtež tumačio, područja crteža se razvrstavaju u osnovne likove, kao što su trokuti, četverokuti i šesterokuti, koji određuju tip mogućeg tijela (na primjer trokuti određuju piramidu kao mogući objekt u sceni). Izabrana područja se topološki ispituju s dijelovima prototipa objekta što su ugrađeni u modelu. Uz pomoć ugrađenog znanja - tabelarnog opisa očekivanog objekta ili iskustva prethodno pravilno raspoznatih objekata - određuje se vrsta, pozicija, orijentacija i veličina objekta u sceni.
28 1
14.5. OSNOVNE KOMPONENTE SUSTAVA ZA STROJNI VID
------
Robertsov postupak može se podijeliti u tri slijedne faze: pretprocesiranj e isticanje rubnih točaka, segmentacija u kojoj se originalna ulazna slika svodi na crtež, tumačenje - u kojoj se crtež tumači upotrebom trodimenzionalnih prototipova objekta i tzv. geometrijskim modelom kamere koji proji cira prototip obj ekta u dvodimenzionalne slike i služi za postavljanje hipoteze o mogućem objektu u sceni. Slika 1 4. 27 prikazuje pojedine faze u izvođenju Robertsova programa u analizi scene iz tzv. svijeta blokova. Ključni problem u modelu s pristupom "od dna prema vrhu" je svojstvena nepouzdanost segmentacije. Neke rubne linije mogu biti "izgubljene" zbog kontrasta, dok sjene i odsjaji mogu pridodati nove linije i područja. Zbog svega toga u postupku tumačenja koji slijedi nakon takve segmentacije sustav može pogrešno opisati scenu i postaje nepouzdan.
b)
a)
e)
d)
e)
Sl. 14.27. Faze izvođenja Robertsova programa (H. G. Barrow, 1981)
Da bi se to izbjeglo, uvode se postupci koji na neki način udružuju postupak segmentacije i tumačenja. Na primjer, jednostavan pristup je da se objekt raspo zna pomoću djelomičnog podudaranja s prototipovima objekata, a zatim se hipoteze o objektu u sceni provjeravaju pokušajima nalaženja dokaza o postojanju slikovnih značajki koje su prethodno nedostajale. Takav pristup ima karakteristike modela sustava za strojno viđenje "S vrha prema dnu" (top-down). Slika 1 4.28 prikazuje hijerarhijski model sustava za strojni vid koji se temelji na pristupu "s vrha prema dnu" (W. K. Pratt, 1 9 78). U tom modelu operacije su cilj no usmjerene: analiza strukture u fazi tumačenja upravljanja je pokusnim opisom scene tako da postupak obrade i pretraživanje slike u nižoj razini zavisi od rezultata dobivenih u višoj razini. Opis scene se dobiva sekvencijainim pretraživa-
282
14, PRIMJENA MIKROPROCESORA lJ S U STAVIMA ZA RASPOZNAVANJE UZORAKA
njem koje zavisi od prethodnih uspješnih, odnosno neuspješnih pokušaja opisa i tumačenja odnosa među objektima. Primjer takva pristupa je slijed filtriranja slika pomoću prilagođenih dvodimenzionalnih filtara.
Preslll!oYllnje pokusnog opisa u sl mbole
Semantički lumal
OpiS
sr 14.28. Hijerarhijski model sustava strojnog viđenja s pristupom "s vrha prema dnu"
S ustavi za strojni vid zasnovani na hijerarhijskom modelu imaju jedan nedostatak: malu prilagodljivost. Oni su obično namijenjeni za specifične zadatke i za ograničen tip slika (scena). Još jedan od nedostataka takvih modela jest potreba velike količine obrade, s tim što je velik dio obrade često namijenjen generiranju značajki i simbola koji se neće zahtijevati u analizi i tumačenj u određene scene. J edan od načina da se izbjegnu ti problemi j est uvođenje centralnog monitora koji će nadgledati cijelo djelovanje sustava i izdavati naredbe pojedinim kompo nentama da modificiraju svoje djelovanje i maksimiziraju performansu i djelot vornost sustava. Slika 1 4. 29 prikazuje model takva sustava (heterarchical image understanding model). Ako se u postupku semantičkog tumačenja pojave teškoće u radu sa skupom ulaznih simbola, centralni monitor vraća upravljanje na simboličko prikazivanje i zahtijeva novi, dodatni skup simbola. Taj zahtjev može imati i za posljedicu da se upravljanje od simboličkog prikazivanja prenese na fazu izlučivanja značajki radi dobivanja novih značajki potrebnih za generiranje dodat nih skupova simbola. Veličine skupova značajki i simbola su takve da su jedva dovoljne za opis scene, a dodatni skupovi simbola i značajki se restruktuiraju ili generiraju naredbama centralnog monitora u zavisnosti od djelovanja sustava.
Vizualni modeli f Znonje)
OpiS
Sl, 14.29. Model sustava za strojno viđenje s centralnim monitorom
U novije vrijeme, osim opisanih modela, pažnj u pobuđuje teorija Minskoga o
okvirima (frames). Minsky pretpostavlja (M. Minsky, 1 974) da čovjek viđenu scenu prihvaća kao kopije ili strukture scene koja se naziva okvir. Bitna je značajka
14.5. OSNOVNE KOMPONENTE SC;STAVA ZA STROJNI VID
283
okvira da je pohranjen u ljudskoj memoriji i predstavlja "snimke" prethodno viđenih scena. U kontekstu sustava za strojno viđenje okvir je struktura podataka koja se sastoji od mreže čvorova i relacija. Više razine mreže su čvrste i pomoću njih se izabiru okviri u memoriji. Niže razine sadrže "procjepe" koji se popunjuju za vrijeme promatranja scene u skladu s očekivanom scenom.
Primjena sustava za strojni vid Strojni vid, iako još u povojima, našlo je veliku prImjenu u industrijskim sustavima kao važna komponenta industrijskih robota "zaposlenih" u obavljanju složenih zahvata u procesu proizvodnje. Oni postaju važna karika u integriranom sustavu CAD/CAM ili u potpuno automatiziranim tvornicama. Sustavi za strojni vid upotrebljavaju se za nadzor kvalitete i ispravnosti proizvoda (kontrola kvalite te tiskanih pločica, integriranih sklopova, kvalitete obrađenih površina i sL), za sastavljanje mehaničkih i elektroničkih uređaja i naprava. Prema podacima (R P. Kruger, 1 9 8 1 ) u svijetu j e 1 979. godine bilo više od 40 tisuCa industrijskih robota, od toga tri četvrtine u Japanu. Zahvaljujući razvoju tehnologije (kamere CIO i CCD I), 8-bitni, 1 6-bitni i 32-bitni mikroprocesori, taktilni materijali) cijene industrijskih robota sa strojnim vidom kreću se u rasponu od 2 000 $ do 50 000 $, (već prema vrsti primjene) ( G. J. Agin 1 980). Slika 1 4. 30 prikazuje mehanički manipulator tvrtke Unimate koji je poslužio kao osnova za razvoj robotskog sustava u SRI I nternational sa strojnim vidom i taktilnim osjetom. Mikroračunalo L S I- l l (tvrtka DAC) upravlja manipulatorom koji ima kameru (rezolucije 1 00 x 1 00 slikovnih elemenata) smještenu u Unimateo voj rucL
Sl. 14.30. Mehanički manipulator tvrtke Unimate
l
C1 D
Charge-Injection Device; cen
Charge-Coupled Dcylcc.
284
14,
PRIMJENA MIKROPROCESORA U SUSTAVIMA ZA RASPOZNAVANJE UZORAKA
Slika 1 4. 3 1 prikazuje visoko prilagodljiv programabiIni manipulator PUMA (Programmable Universal Manipulator for Assembly) tvrtke Unimation Inc. Njegov upravljački dio načinjen je kao hijerarhij ski sustav koji se sastoji od središnjeg mikroprocesora za nadgledanje i up ravl j anje i pet mikroprocesora za upravlj anj e s pet mogućih osi kretanja ruke. PUMA je projektiran kao univerzalni mani �ulator za precizno rukovanje i sastavljanje malih dijelova (na primjer, tvrtka Westmghouse ga upotrebljava za sastavljanje malih električnih motora).
Sl. 14.31. Programabiini univerzalni manipulator PUMA kao radna stanica u tvrtki Westinghousf-
Slika 1 4. 32 prikazuje interaktivni sustav Intelligent Assembly Robot (Hita chi) CR. Allan, 1 982), koji se sastoji od dva robota sa zglobnim mehaničkim rukama sa šest stupnjeva slobode i sustava za strojni vid. Radom dvaju robota upravlja hijerarhijski sustav mikroračunala. Robotsko-vizualni sustav tvrtke Optical Recognition Systems Inc. predstavlja relativno jeftinu osnovu za izgradnj u industrijskih robota. Sustav prikazan na slici 1 4. 3 3 i djelotvorno se upotrebljava u pakovanju cigareta (330 kutija u minuti). Sustav S AM ( Sensor system for Automation and Measurement) predstavlja visoko prilagodljiv sustav za strojno viđenje (sl. 1 4. 34) koji se može djelotvorno upotrijebiti u robotskom ispitivanju proizvoda, radnim stanicama za sastavljanje proizvoda i u sustavima za upravljanje procesima. S AM (razvijen u Franhofer Institute, SR Njemačka) sastoji se od dva podsustava: za obradu i analizu slike, za obradu i pohranjivanje informacija. Prvi se podsustav sastoji od sljedećih sklopovskih modula: ulaznog procesora signala i sklopova za prikaz slike, procesora za obradu slike (označavanje kompo-
14.5.
OSNOVNE KOMPONENTE SUSTAVA ZA STROJNI VID
285
nenata, filtriranje, računanje perimetra i sL), procesora za obradu slikovnog okna (image-window processing) i memorije za pohranjivanje slika. Podsustav za obradu i pohranj ivanje informacija zasnovan je na mikroproce soru Z-80, koji je potpomognut aritmetičkim procesorom. Sustav ima programsku podršku koja je modularno zasnovana na programskom jeziku PLZ. Sustav izrazito brzo analizira crno-bijele slike (od 50 do 500 ms).
Robol>ki mehanizam Sl.
sa
šest slupnjeYO slobode
14.32. Hitachijev Intelligent Assembly Robot Cenlrnloo pro(esna jedinl(a
.2 .... . .... .., 0 '1l; .CI
.i:
8
cl
'"
c.
� '" :::>
'o '"
.E ..... OI 11; ."
Sklop za ispitivanje uVjeta
'"
15 ....
lE S '"
-a
a
3
a.
'" =>
!!!
� :z:: d
.... ·e
:lS d vl
Svjetlosni regulator i napajanje Povratna vezn Sl.
Prikazna jedini(a s tastaturom
Pogonski releji
'i: d cl.
Jedinica magnetske t rake
:::>
-:;;
::> 'CI OI lE
2'3 ;;< '" f '" vl
110 V
llapajnnje
14.33. Robotsko-vizualni sustav na bazi mikroprocesora (tvrtka Optical Recognition Systems)
286
14. PRIMJENA MIKROPROCESORA U SUSTAVIMA ZA RASPOZNAVANJE UZORAKA
t-----�
Međuslupanj prema robalu
Mikrop'rocesorski razvojni suslav
Sl. 14.34. Visoko prilagodljivi sustav SAM
Laboratorijska oprema Istraživanja u području strojnog vida predstavljaju djelatnost mnogih istraživačkih institucija i tvrtki kao što su: Artificial I ntelligence Laboratory na M. L T. (P. H. Winston), University of Illinois (D. Waltz), Electro-technical Laboratory, Tokyo (Y. Shirai), O saka University (M. Yachida), Australian Natio nal University (R. A. Jarvis), grupa iz Gorkog (O. Baškirov, S . Salmin, B . (:udinovič), Novosibirska (R. Baglai) i Lenjingrada (V. Haričev), SRI Internatio nal, Hitachi Central Research Laboratory, Mitsubishi Electric, Optical Recogni tion Systems Inc. i drugi. Zbog širokog područja primjene sustava za strojni vid (industrijski robotski sustavi, sustavi za i straživanje morskog dna i svemira, sustavi za pomoć hendikepiranim osobama) i zbog intenzivnih teorijskih istraživanja (psihologija strojnog videnja, razvoj algoritma za pojedine faze obrade) laboratorijska oprema mora omogućiti širok spektar eksperimenata bez značajnije reorganizacije potreb nih funkcionalnih komponenata. Slika 1 4. 35 prikazuje pet osnovnih funkcionalnih komponenata laboratorijske opreme za strojni vid i robotiku. Primjena l6-bitnih i 32-bitnih mikroračuna la i drugih sklopova u tehnologiji L S I omogućila je konfiguriranje laboratorij-
14.5.
287
OSNOVNE KOMPONENTE SUSTAVA ZA STROJNI VID
skog sustava za istraživanje, razvoj i ispitivanje uz umjerenu cijenu (R. A. Jarvis, 1 982; sl. 1 4.36) . Središnju obradu podržavaju dva računala domaćina (host com puter): miniračunala ili 1 6-bitna, odnosno 32-bitna mikroračunala. Računalo domaćin l ima funkciju središnjeg upravljača sustavom, a računalo domaćina 2 podržava sustav za pohranj ivanje slika i rukovanj e datotekama. Dva su računala povezana tipom veza memorij a-memorija. Brzina izmjene podataka je veća od 50 K riječi u sekundi. Oba računala domaćina imaju diskovne jedinice (ili floppy disk) većeg kapaciteta. Podsustav za prikupljanje slike sastoji se od kvalitetne studijske TV kamere u boji, upravljačkog sklopa kamere i sustava za unos slike. Takav sustav unosi sliku dimenzija 256 x 256 slikovnih elemenata i 4 bita rezoluci j e ( 1 6 razina) za svaku osnovnu boju. Jedinka za unos, prikupljanje i pohranjivanje slike
Jedinica za prikupljanje i pohran j ivanje podataka
Sl.
14.35. Osnovne funkcionalne
Robotski manipulator
komponente laboratorijske opreme za stroj1W viđenje i robotiku
Grafički TV monitor u boji svojim upravlj ačkim sklopom omogućava kvali tetnu rekonstrukciju slike u boji, a ima i ulogu pomoćne memorije za računalo domaćin l (na primjer, 96 K bajta). Prijenos podataka i upravljanje s oba podsu stava obavlja se tehnikom izravnog pristupa memoriji (DMA). kobotskim manipulatorom treće generacije Unimate 250 upravlja mikrora čunalo (na primjer LSI- l l , tvrtka DEC) koje koordinira radom šest mikroproce sora kojima j e povjereno upravljanje za šest vrsta kretanja (sl. 1 4. 37). Mikroraču nalo kao upravljački sklop manipulatora saobraća s računalom domaćinom preko standardnog međustupnja RS-232. Programska podrška zavisi od tipa opreme. Na primjer, za upravljanje manipulatorom može se upotrebljavati sustav Val kojemu je osnova ROM. Mikroračunalskom sustavu za unos slike obično služi standardni industrijski operacijski sustav CP/M. Programsku opremu za računala domaćine čini operacij ski sustav (za miniračunalo ili mikroračunalo) sa zbirnim j ezikom Casembler) i s višim programskim jezicima Pascal, Fortran, Ada i drugima. Na primjer, u laboratoriju Australian National University CR. A. Jarvis, 1982) sustav za strojni vid se zasniva na jedinici Genisco color ' image display, koja ima svoje mikroračunalo, i operacijskom sustavu š to ga puni računalo domaćin (tzv. "gra phic files"). Kao računalo domaćin upotrebljava se miniračunalo Nova, a mikrora čunalski sustav za unos slike zasnovan je na mikroprocesoru Z-80 i ima operacijski sustav CP/M. Uslužni programi podržavaju veze između podsustava Nova/Nova, Nova/Genisco i Nova/Z-80. Saobraćanje NovaJVal (upravljački sklop manipulato ra, računalo LSI- I l ) ostvaruj e se standardnim kodom ASC I I preko serijske veze RS-232.
288
[ 4. PRIMJENA MIKROPROCESORA U SUSTAVIMA ZA RASPOZNAVANJE UZORAKA
Računalo domotin 2 Imlnlnočuno.!o ill 16 il i 32-bllno mlkroračunalol
Ponolelni međustupanj Hlknoračunolo
Inpr. ZOO ili 808SJ
lill novijaeki sklop kamere
TV monitor
u boji
Upnovljanje fokusom i zoomom
Sl. 14.36. Primjer konfiguraCIje laboratorijske opreme za strojno viđenje i r obotiku
I
�
Sl. 14.37. Vrste kretanja manipulatora Unimatc 250
14.6. LITERATURA
289
14.6. LITERATURA S. Ribarić, Deset mikroprocesora, Elektrotehniča!, br. 2, 1983, str. 53 - 59. A. Gupta, H. D. Toong, An Architectural Comparison of 32-bit Microprocessors, IEEE Micro, februar 1983, str. 9 -22. S. Ribarić, Obrada slika primjenom sustava mikroračunala, Cavtat, IV međunarodni simpozij , "Kompjuter na sveučiiHtu", maj 1982. S. Ribarić, Arhitektura mikroprocesora, Tehnička knjiga, Zagreb, 1982. S. Ribarić, Ocjena stupnja paralelnosti u algoritmima za pretprocesiranj"e slika, ETAN, Priština 1980. I. Renyi, LSI Technology for Digital Image Processing, Euromicro Journal 6, 1980, str. 232 - 236. R. Allan, Military Electronics, New Architectures Will Meet Systems Needs, Electronic Design, august 198 1, str. 86 -94. ... .. Real Time Video Digitizer{ Gray Level, Graphics Monitor Interface, Environmental Interfaces, 1978. C. Y. Suen et aL, Automatic Recognition of Handprinted Characters - The State of the Art, Proceedings of the IEEE, VoL 68, N°. 4, april 1980, str. 469 -487. L. D. Hannon, Automatic Recognition of Print and Script, Proceedings of the IEEE, VoL 60, N°. 1 0, oktobar 1972, str. 1 1 65 - 1 1 76. N. PaveŠić, Avtomatično razpoznavanje dvodimenzionalnih tekstov, u djelu: Problemi semantike, sintakse in obravnove tekstov, IJS Poročilo P-277, Ljubljana 1972. J. T. Tou, R C. Gonzalez, Pattern Recognition Principles Addison-Wesley Pub. Co., Massachusetts, 1974. W. W. Bledsoe, L Browning, Pattern Recognition and Reading by Machine, u djelu: Pattern Recognition, Theory, Experiment, Computer Simulations, and Dinamic Models, L. Uhr (Ed.), J. Wiley, Inc., New York, 1966, str. 3 0 1 - 3 1 6. S. Ribarić, N. Pavešić, Mikroprocesorski klasifikator numeričkih znakova s mreiom memorijskih kompo nenti L S I , Infonnatica, br. 2{3, Ljubljana, 1983, str. 1 62 - 1 67. L Aleksander, Pattern Recognition with Networks of Memory Elements, u djelu: Pattern Recognition, Ideas in Practice, B. B. Batchelor (ed.), Plenum Press, New York, 1978, str. 43 -64. L. Gyergyek (nosilac zadatka), Raspoznavanje z roko napisanih numeričkih znakov, Naloga za sklad B . Kidriča, br. 2-78 l { 1 49 1-74,Ljubljana, 1975. W. A. Ainsworth, P. D. Green, Current Problems in Automatic Speech Recognition, u djelu: Pattern Recognition, Ideas in Practice, B. G. Batchelor (ed.), Plenum Press, New York, 1978, str. 365 - 398. Threshold Technology Inc., VIP- 1 00 Automatic Speech Recognition System, 1978. F. Koperda, Voice Recognition, u djelu: Microprocessor Application Handbook, str. 14. 1 - 14. 1 1 . L. Gyergyek, Statističke metode v teoriji sistenwv, teorija o informacijah, Univerza v Ljubljani, Fakulteta za elektrotehniko, Ljubljana, 1971 . D . Ridyard, Speak to Your Computer, Elektor, novembar 198 1, str. I I -45 I I - 49. ..... Computing Power Boom Speech Quality, Staff Report, Digital Design, mai 1982, str. 44 - 50. R. D. Fennell, V. R Lesser, Parallelism in Arti/icial Intelligence Problem Solving, A Case Study of Hearsay II lEE E Trans. on Computers, VoL C-26, N°. 2, februar 1977, str. 98 1 1 1 . H. G. Barrow, J. M. Tenenbaum, Computational Vision, Proceedings of the IEEE, Vol. 69, N°. 69, maj 1981 , str. 572 - 579. W. K. Pratt, Digital Image Processing, J. Wiley Sons, New York, 1978. L. G. Roberts, Machine Perception of Three-Dimensional Solids, Optical and Electro-optical Information Processing, J. T. Tippett et al. (editor), MIT Press, 1965. M. Minsky, A Framework for Representing Knowledge, Massachusetts Institute of Technology, Cambrid ge, 1 974. P. H. Winston, The Psychology of Computer Vision, McGraw-Hil1, New York, 1975. R. P. Kruger, W. B. Thompson, A Technical and Economic Assessment of Computer Vision for Industrial Inspection and Robotic Assembly, Proceeding of the I EEE, Vol. 69, N°. 12, decembar 198 1 , str. 1 524 - 1 538. R. Allan, Industrial Electronics, Electronic Design, Vol. 30, N°. 1 , januar, 1982, str. 91 - 1 1 8. G. J. Agin, Computer Vision Systems for Industrial Inspection and Assembly, Computer, Vol. 1 3, N0. 5, maj 1980, str. I I -20. R. A. Jarvis, A Computer Vision and Robotics Laboratory, Computer, VoL 1 5, N0. 6, juni 1982, str. 9 - 23.
15.
MODEL PROCESORA ZA OBRADU I RASPOZNAVANJE SLIKA (Prof. dr. Slobodan Ribarić, dipl. ing.)
1 5. 1 . UVOD
U posljednjem desetljeću zanimanje za područje raspoznavanja uzoraka u stalnom j e porastu. Razvoj tehnologija VSLI i rad na rješavanju problema prijateljskog saobraćanja čovjeka i stroja (u okviru projekta sljedeće generacije računala) snažno je pospješio istraživanja i primjenu novih metoda u području raspoznavanja uzoraka. Raspoznavanje slika nesumnjivo je jedno od najvažnijih područja raspoznava nja uzoraka. Područje primjene digitalne obrade i raspoznavanja slika vrlo je široko od analize sljedova čestica na fotografskoj ploči, raspoznavanja brojčano slovnih znakova, automatske interpretacije snimaka u medicini, analize satelitskih snimaka u meteorologiji, raspoznavanja otisaka prstiju u kriminalistici, pa sve do analize snimaka izviđanja, identifikacije ciljeva i detekcije letjelica u vojnoj primje ni. U velikom broju primjena problemi s područja obrade i raspoznavanja slika zahtijevaju vrlo složenu obradu i predstavljaju velik računski problem, tako da zahtijevaju vrlo visoku performansu računala. Samo za ilustraciju ocijenimo potrebnu performansu računala (izraženu u M IPS1) milijunima instrukcija u sekundi) za obradu slike u realnom vremenu: Neka je slika dimenzija 1 024 x 1 024 slikovna elementa, a vrijednost ' slikovnog elementa neka je kvantizirana u 256 razina (8 bita x 3 za boju). U ovom primjeru pod obradom slike u realnom vremenu razumijevamo obradu jedne slike u vremenu kraćem od 0,04 sekunde, odnosno obradu 25 slika u sekundi; vrijeme 0,04 s odgovara vremenu obnavljanja slike na zaslonu. Tipična obrada slike, na primjer filtriranje uz pomoć maske dimenzija 3 x 3 slikovna elementa ili ortogonalna transformacija slike, zahtijeva od deset do stotinu instrukcija po slikovnom elementu (J. A. G. Hale, 1 978). Potrebna performansa računala (izražena u M IPS) jest: (broj slikovnih elemenata) x (broj instrukcija za slikovni element) x (broj slika u sekundi) x 1 0- 6. Za naš slučaj potrebna performansa iznosi: ( 1 024 x 1 024 slikovna elemen ta) x ( 1 O do 1 00 instrukcija za s likovni element) x (25 slika u sekundi) x 1 0 - 6, odnosno 262 M I PS do 2620 MIPS. Tako visoka performansa predstavlja za konvencionalna računala koja se temelje na sekvencijainom von Neumannovu modelu nedostižnu vrijednost. Na primjer, velika računala kao što su I B M 308 1 (iz tzv. vala H), Amdalh 5860 ili ') MIPS
Million Instructions Per Second.
1 5 . 1 . UVOD
29 1
Hitachi A S/9000 DPC imaiu performansu u granicama od 14 do 1 6 MIPS, a superračunala (vektorski ili multiprocesorski sustavi) poput CRAY X-MP ili CDC 205 postižu performanse između 400 . . . 630 MIPS (D. F. Farmer, 1 9 8 1 ; C. Norrie, 1 984). Obrada i raspoznavanje slika, s druge strane, predstavlja problem s visokim stupnjem paralelizma koji j e svojstven podacima i operacijama. S .razvojem tehnologije vrlo visokog stupnja integracije visoko paralelne elektroničke i računalske strukture postale su dostupne, a njihova upotreba ekonomski opravdana u području obrade i raspoznavanja slika. Međutim, sada se pojavljuje problem: Kako upotrijebiti i iskoristiti te paralelne strukture? Postoje dva glavna pristupa: a) traženjem i iskorištavanjem paralelizma u postojećim sekvencijainim algoritmima, te prilagođavanjem tih algoritama visokoparalelnim struktu rama (D. J. Kuck, 1 977; C. V. Rammamoorthy, 1 969), b) vraćanjem na izvorne probleme, uvođenjem novih matematičkih i pro gramskih modela, koji će sačuvati svejstveni paralelizam prisutan u problemu (K. J . Thurber, 1 973; Thurber, 1 9 73). Prvi pristup daje određene rezultate. Međutim, upravo zbog sekvencijainosti, koja je posljedica prilagođavanja postupaka sekvencijalnom računalu, postoje ograničenja u djelotvornom iskorištenju visokoparalelnih struktura. Razlozi sekvencijaine obrade su povijesni - kao posljedica činjenice da ljudski, mehanički i elektronički mehanizmi (u širem smislu te riječi) koji su se upotrebljavali u rješavanju problema nisu bili sposobni za veće paralelne aktivnosti. S druge strane, naše kvantitativno opažanje i opisivanje svijeta (koji j e sam inherentno paralelan) već je više od tri stotine godina podvrgnuto utjecaju sekvencijaine matematike, više od 70 godina je pod teretom sekvencijainih algori tama i više od 30 godina pod utjecajem sekvencijainog programiranja. Prvi pristup nas ne oslobađa utjecaja "intelektualnog uskog grla" (prema J. Backusu) koj i nas vodi slijednom načinu rješavanja problema (word-at-a-time-thinking; J. Backus, 1 978). Drugi nam pristup omogućava djelotvorno iskorištenje svoj stvenog paraleli zma i upotrebu visokoparalelnih računalskih struktura (sistoličkih polja, računala upravljanih tokom podataka, matričnih procesora i sL), kojima se mogu postići potrebne performanse (S. Ribarić, 1 986). U ovom se poglavlju opisuje drugi pristup. U prvom se dijelu opisuju različite definicije paralelizma u obradi i raspoznavanju slika i prikazuje takso nornija paralelizma što su ga predložili P. E. Danielsson i S . Leviaidi (P. E. Danielsson, 1 98 1 ). P rocesori, odnosno procesni elementi, bez obzira koliko arhitektura računala odstupa od von Neumannova modela, važna su komponenta paralelnog sustava. Oni gotovo izravno utječu na performansu sustava. Zato se u prvom dijelu rada daju definicije procesora u sustavima za raspoznavanje i obradu slika. Prema odlikama obrade aritrnetičkih izraza E
i logičkih izraza L procesori su razvrstani u četiri hij erarhijske razine. U drugom dijelu poglavlja definiraju se osnovni elementi modela paralelne obrade (slika, slikovna operacija, međuslika) koji su nam poslužili kao o snova za ocjenjivanje paraleinosti. U modelu je uvedena i izvorna mjera paralelizma stupanj paraleinosti slikovne operacije. Na temelju modela paralelne obrade predložen je model visokoparalelnog računala za obradu i raspoznavanje slika. _
15. MODEL PROCESORA ZA OBRADU l RASPOZNAVANJE SLIKA
292 1S.2.
PARALELIZAM U OBRADI I RASPOZNAVANJU SLIKA
U uvodnom dijelu rada upotrebljavali smo iZraz "paralelizam", međutim opće prihvaćena formalna definicija tog pojma u obradi i raspoznavanju slika n� postoji (M. J . B . Duff, 1 978). Paralelizam se definira prema pristupu: B . Kruse (B. Kruse, 1 973) smatra paralelizmom u obradi slike istovremenu aktivnost više procesora koji izvode operacije nad slikovnim elementima. M. J. Duff razumijeva pod paralelizmom istovremenu transformaci ju dijela slike (susjedstva) u novu vrijednost CM. J. Duff, 1 978). L. P. Cordena i S. Leviaidi ocjenjuju paralelizam pomoću koeficijenta povećanja brzine obrade SP = Tl I L, gdje je TP vrijeme potrebno za obradu sa p .. Jr procesora, a Tl vrIjeme potreb no za obradu uniprocesorom (računalo s jednim procesorom). P. E. Danielsson i S. LeviaIdi predlažu sljedeću taksonorniju paralelizma u obradi i raspoznavanju slike (P. E. Danieisson, 1 98 1 ): a) paralelizam na razini operatora ko> b) paralelizam na razini slike ki' c) paralelizam na razini lokalne operacije, odnosno operacije nad susjed stvom kn' d) paralelizam na razini slikovnog elementa kp• Paralelizam na razini operatora ko definiran je brojem stupnjeva (engL stage) u protočno; (engL pipeline) obradi. Svaki stupanj protočne strukture sastoji se iz memorijskog međuspremnika i procesora. Procesor u i-tom stupnju pribavlja podatak iz svog međuspremnika, izvodi operaciju nad njim i rezultat šalje međus premniku u i + l -tom stupnju. Procesor iz stupnja (i + l ) nastavlja obradu nad prispjelim podatkom dok procesor i-tog stupnja obrađuje podatak iz svog međus premnika (koj i je rezultat operacije procesora u stupnju i - I ). I stovremeno su svi procesori aktivni, ali na različitim podacima (c. V. Rammamoorthy, 1 977).
Paralelizam na razini slike ki definiran je brojem istovremeno pribavljenih i obrađenih različitih susjedstava slikovnih elemenata (brojem lokalnih operacija koje se izvršavaju istovremeno). Istovremeno izračunane (izlazne) vrijednosti slikovnih elemenata pripadaju istoj slici. Paralelizam na razini lokalne slikovne operacije kn definiran je brojem slikovnih elemenata koji pripadaju susjedstvu i koji se pribavljaju istovremeno. Procesor računa jedan (izlazni) slikovni element. Nakon toga prelazi na obradu sljedećeg susjedstva. Paralelizam na razini slikovnog elementa kp izražen je brojem bitova (kojim je zadana vrijednost slikovnog elementa) koji se pribavljaju istovremeno. Na temelju ko> ki' kn i kp dobiva se četverodimenzionalni prostor gdje pojedine vrste paralelizma predstavljaju ortogonalne osi prostora. Paralelizam u obradi i raspoznavanju određen je položajem točke u tom 4-dimenzionalnom prostoru. P. E. Danielsson i S. LeviaIdi uvode mjeru ukupnog paralelizma K (total paralle lism): K = ko · kj · kn · kp• Uz pomoć opisane taksonornije i uvedene mjere paralelizma P. E. Danielsson i S . Leviaidi su ocijenili niz procesora za obradu i raspoznavanje slika. Tako, na primjer, procesor Diff 3, koji je komercijalna verzija procesora GLOPR (razvije nog u Perkin Elemen Corp.), ima ukupni paralelizam K = 1 232 (ko = 2, ki = 8, kn = 7 i kp = 1 1), Kruseov procesor PICAP I ima K = 36 (ko = l , ki = l , kn = 9, i kp = 4) (B.
15,3, HlJERARNIJA PROCESORA
293
Kruse, 1 973, 1982), Duffov procesor CLIP IV ima K = 55 296 (k = l , kj = 96 x 96, kn' k =:= 6), a Cytocomputer (R. M . Lougheed, 1 980) ima K = 6336 (ko = 88, ki = l , kn = ,l;''J l kp = 8). Sve opisane mjere para1elnosti imaju zajedničko svojstvo da su definirane na temelj u svojstva arhitekture procesora (broj istovremeno aktivnih procesora, broj procesora koji izvršavaju operacije nad susjedstvom, broj protočnih segmenata u računalu i sl.). Mjera ukupnog paralelizma K ima još jedno važno svojstvo: ne zavisi od brzine upotrijebljenih sklopova (za razliku npr. od mjere-koeficijenta povećanja brzine obrade Sp) i frekvencije signalnog generatora vremenskog vođe� nja za procesor ili procesore koji su u sustavu raspoznavanja. Mjera K ne podrazumijeva da dva sustava s istim K imaju i jednake brzine obrade - oni samo imaju potencijalno jednake brzine. Mjera paralelizma opisana u odjeljku 1 5.4 ne zavisi od arhitekture procesora, već je samo funkcija značajki slikovnih operacija. Štoviše, takva mjera paralelizma može poslužiti kao referentna vrijednost kojoj trebamo težiti pri izboru arhitektu re i izvedbi procesora za obradu i raspoznavanje slika. 15.3. HIJERARlDJA PROCESORA
Procesori, odnosno procesni elementi, važna su komponenta visokoparalelnih računalskih sustava. Procesori u zavisnosti od svojih sposobnosti obrade gotovo i zravno utječu na performansu sustava. Od njihove izvedbe zavisi broj koraka T koji je potreban za računanje aritmetičkih E
Aritmetički izraz E možemo definirati kao pravilno tvoren niz koji sadrži najmanje jednu od četiriju aritmetičkih operacija { + , , *, ". }, lijevih i desnih zagrada (ukoliko su potrebne) i atoma koji su konstante iIi varijable CD. ]. Kuck, 1 977). Aritmetički izraz sastavljen od n atoma označivat ćemo sa E
Tvrdnja l Upotrebom potrebnog broja procesora s ulazima samo za dva atoma (proce sor izvršava binarne aob ili unarne operacije) aritmetički izraz E
15
294
MODEL PROCESORA ZA OBRADU I RASPOZNAVANJE SLIKA
DeJinictja l
Procesor koji izvršava osnovne aritmetičke operacije i logičke operacije, te ima ulaze za dva operanda i zadovoljava tvrdnje l i 2 naziva se procesor P o ili procesor hijerarhijske razine Ho' Većina procesora u računalskim sustavima su procesori hijerarhijske razine Ho' Procesor Po je procesor u današnjim uniprocesorskim sustavima - von Neumannovim računalima. Paralelno računanje nekog aritmetičkog izraza pomoću potebnog broja proce sora razine Ho obično se prikazuje stablom računanja. Na primjer, slika 1 5. 1 prikazuje računanje izraza E (9) a .h",c + dl:l<e'" +g",h "'ž.
korak
korak
korllk
Potrebnn broj procesom N . 8 Sl. 15.2. Računanje E ( 9 ) pomoću potrebnog broja procesora hijerarhijske razine H,
b) Procesor hijerarhijske razine Hl
Procesor hijerarhijske razine Hl izvršava m-arne operacije Cm > 2) nad jed novrsnim aritmetičkim i logičkim izrazima. Pod jednovrsnim aritrnetičkim izrazom Eu (n) razumijevamo pravilno tvoren niz sastavljen samo od jedne vrste aritrnetičkih operacija Cili +, ili - , ili"', ili ",- ), lijevih i desnih zagrada (ako su potrebne) i n atoma koji su konstante ili varijable. Na sličan način može se definirati jednovrsni logički izraz: Lu (n) je pravilno tvoren niz sastavljen od jedne vrste logičkih operacija, lijevih i desnih zagrada (ako su potrebne) i n elemenata koji su logičke konstante ili varijable. Tvrdnja 3
Procesor P l neka je takav da ima m ulaza Cm > 2). Procesor P l izvršava m-arne operacije. Upotrebom potrebnog broja procesora Pl aritrnetički izraz Eu (n) izračunava se u:
15.3 HIJERARNIJA PROCESORA
295
Tvrdnja 4
Isto vrijedi za računanje jednovrsnog logičkog izraza Lu
Procesor koj i izvršava jednovrsne aritmetičke i logičke operacije i ima m > 2 ulaza za atome (izvršava m-arne operacije), te zadovoljava tvrdnje 3 i 4, naziva se procesor P l ili procesor hijerarhijske razine Hl'
SI. J5.2. Računanje E (9) pomoću potrebnog broja procesora hijerarhijske l'azine
Primjer izvedbe procesora hijerarhijske razine P l prikazan je u radu N. Konvarasa, gdje je opisan procesor za istovremeno zbrajanje m n-bitnih podataka (N. Konvaras, 1 968). Slika 1 5.2 prikazuje primjer računanja aritmetičkog izraza E (9) a*b*c +d*e*j +g*h *i, gdje se a*b*c, d*e*j i g*h*i mogu promatrati kao tri jednovrsna aritmetička izraza E ui' i E u3' a njihovi rezultati kao operandi za jednovrsni izraz sastavljen od tri atoma. c) Procesor hijerarhijske razine Hz
Procesor hijerarhijske razine Hz predstavlja neku vrstu "računskog demona". Namjerno smo upotrijebili taj izraz, kojim se inače služio O. G. Selfridge u opisivanju učenja u sustavu za raspoznavanje uzoraka (O. G. Selfridge, 1 966), jer se procesor u hijerarhijskoj razini Hz korj enho razlikuje od onoga što pod izrazoIn "procesor" razumijevamo u računalskoj znanosti. Na primjer, slika 1 5. 3 prikazuje jednu inačicu procesora koja se djelotvorno upotrebljava u računalu RADIUS (tvrtka Hughes Research) (G. R. Nudd, 1 984). Iako taj "procesor" nema značajke procesora hijerarhijske razine H2, može nam poslužiti kao ilustracija koliko procesori mogu odstupati od onoga što pod tim izrazom razumijevamo. Procesor na slici 1 5. 3 upotrebljava simbolički način prika zivanja brojeva, tzv. rezidualni broj evni sustav. Ulazni podatak se jednoznačno prikazuje kao ostatak dijeljenja bazama B l , B2, B3 i B4, gdje su baze izabrane kao primbrojevi (Bl = 3 1 , B2 = 29, B 3 = 23, B4 = 1 9). Preciznost predstavljanja brojeva je B l B2 · B3 . B4 = 218,6. Središnji dio procesora je memorija RAM koja se upotre.
2 96
15.
MODEL PROCESORA ZA OBRADU I RASPOZNAVANJE SLIKA
bljava kao tablica "look up" za "računanje" funkcija f(a, b), gdje su a i b ulazni podaci. Tablica se puni
il
ralunola dol1lOĆina
Tablica RAM-look up Ibaro B11
Koder I baza 811
Rezidualni
Kader Ibozo 821
dekoder
Koder Ibaza Bnl
Tablica se puni iz računala domaćina
SI. 15.3. Procesor u računalu RADIUS
Očigledno je da "procesor" u računalu RADIUS nema potpuno zbrajalo, sklop za posmak i druge sklopove koji su karakteristični za procesor u von Neumannovu računalu, ali on djelotvorno izvršava aritmetičke operacije kao što je npr. konvolucija s jezgrom od 5 x 5 elementa (G. R. Nudd, 1 984). Definicija 3
Procesor P 2 ili procesor hijerarhijske razine H2 opisan je trojkom: P = ( U, I, ll), 2
gdje je U skup raspoloživih atoma aritrnetičkog ili logičkog izraza, I skup rezultata aritmetičkih ili logičkih operacija koje se izvršavaju nad raspoloživim atomima, a II je funkcija Jl :
U- I.
Funkcija II predstavlja preslikavanje skupa raspoloživih atoma, u skladu s aritme tičkim ili logičkim izrazom, u skup rezultata. Drugim riječima, procesor P2 u jednom koraku izračunava aritmetički ili logički izraz bez obzira na tip operacije (jednovrsna ili raznovrsna) i broj operanada n. Primjeri izvedbi procesora P 2 su funkcionalna memorija (P. L. Gardner, 1 97 1 ) i procesorski segment 2-D u računalu Cytocomputer (R. M. Lougheed, 1 980). Slika 1 5.4 prikazuje primjer računanja aritmetičkog izraza E (9) a*b*c + d*e*f +g*h*i pomoću procesora P 2 ' Procesori u hijerarhijskim razinama Ho' Hl i H2 imaju takve značajke da vrijedi sljedeći odnos: Ako neki procesor p ima svojstva hijerarhijske razine H�, tada taj procesor ima i svojstva procesora hijerarhijske razine Hl i hIjerarhijske razine Ho' =
297
15.3. HIJERARHIJA PROCESORA
Neka je procesor p iz hijerarhijske razine H2• Ograničimo mu funkciju II samo na jednovrsne operacije i neka je m > 2. Tada procesor poprima svojstva procesora razine Hl' Ako za taj procesor vrijedi ograničenje m � 2, dobivamo procesor hijerarhijske razine Ho' Slika 1 5.5 prikazuje odnose procesora u pojedinim hijerar hijskim razinama.
1. koruk
SI. J5.5. Odnos procesora u hijerarhijskim razinama Ho do H2
1 5.4. PrimJer računanja arilmei/čkog izraza E (9) pomoću procesora hijerarhijske razine
,)'l.
d) Procesor hijerarhijske razine
H3
Procesor hijerarhijske razine H3 ima svojstva poput "računskog demona", ali s tom razlikom da su mu operandi dvodimenzionalne slike. Definicija slike se u ovom radu razlikuje od uobičajenih definicija u literaturi (A. Rosenfeld, 1 976, 1 969; T. Pavlidis, 1 982.):
Definicija 4 Dvodimenzionalna slika je graf rf funkcije f: rf = {(Cap
ak)' v) I (ap a k) EA, v =f(ap ak) }' gdje je A = {Cap a k) I I � aj � r l' l � ak �r2; r l' r2 E N}; N je skup prirodnih 2 brojeva, V ER, R je skup reainih brojeva, a funkcija f je restrikcija funkcije
2
gdje je Z skup cijelih brojeva. U definiciji 4 element grafa funkcije (Ca., aJ, v) naziva se slikovni element J (engl. pixel), a r1 i r2 su dimenzije slike.
298
15.
MODEL PROCESORA ZA OBRADU
l
RASPOZNAVANJE SLIKA
Definicija 5 Označimo sa G skup od l ( l '$> 1 ) dvodimenzionalnih slika koje se mogu unijeti
u sustav ili se Inogu generirati u sustavu:
{rf,' rf.' . . . , rf,> . . . , rf,}
G
Slikovna operacija je definirana kao: gdje se rfJ>;...naziva ., konačna slika, a rfo početna odnosno izvorna slika. Slika 1 f E G je slika koja ima konačni, željeni oblik obrađena slika. Neka s Gkovna operacija može biti takva da prilikom njezina djelovanja nastaju slike rfm.' rfm.' . . , frnK�, tako da vrijedi: .
IJm, =/= IJo ' rfm, =F rfK;
rfm, E G
i
=
l , 2,
..., K
-l
gdje znak nejednakosti označava nejednakost grafova funkcija. Takve se slike nazivaju međuslike j tvore skup međuslika .I( � G. Općenito vrijedi da se do konačne slike rfK dolazi preko slijeda međuslika:
rfm" rfm,' , . . , rfrnK � l
Primjer l Operacija stanJlvanja koja je opisana u CH. Kruse, 1 973) generira skup međuslika ..11 =/= 0. Na slici 1 5.6 prikazane su v =fCaj, ak) izvorne slike rfo' međuslika rfm , i rfm,> te konačne slike rfK' (I
o
Sl. 15.6. Prikaz
o
o
0
0
0
0
0
(1
0
0
{)
()
(I
o
0
0
0
0
0
0
0
0
0
0
0
0
0
O
0
0
0
0
0
0
0
0
0
Q
()
f}
O
O
O
O
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
ad, aj, ak €A za izvornu sliku r;., meduslike If I i If.., te konačnu sliku rK .
299
15.4, PARALELIZAM NA RAZINI SLIKOVNE OPERACIJE
Skup međuslika JI ima izuzetnu važnost u našem modelu. Uz pomoć njegovih značajki definirat ćemo paralelizam na razini slikovne operacije.
Definicija 6 Procesor hijerarhijske razine H3 opisan je trojkom: P3 = (illi, J, u),
gdje je illi podskup grafova funkcija illi G (skup ulaznih dvodimenzionalnih slika), J podskup grafova funkcija J � G; općenito vrijedi: iftnJ 0. Funkcija u je opisana sa: u : ilII -+J. =
Procesor hijerarhijske razine H izvršava preslikavanje u jednom koraku. il Procesor P 3 ima za operande slIke i transformira ih ponovo u slike. Svaki slikovni element koji pripada operandu općenito doživljava dvojaku transformaciju: procesor djeluje na prvu komponentu slikovnog elementa « ap ak)' v) e r/? odnosno na (ap al)' i na drugu komponentu slikovnog elementa v.
Primjer 2 Prikažimo operaciju zbrajanja dviju dvodimenzionalnih slika rf" i rf i povećanje konačne slike za dva puta. Operaciju možemo opisati sa:
« ap ak)' fl (ap ak)) + « aj, a�), f2 (aj, a� ) = B (fl (ap
at) +f/aj, a�))
za sve
(ap ak) e A l' (aj, a�
gdje je e pravilo koje definira podskup parova A 3 (konačne slike) nad kojima će se dignuti vrijednost (fl (ap ak) +f (a�, a�) . U našem slučaju je to {(a;', a�), (a}', a� + l), (a:' + l , a�) , (aj' + l, a� + 1) �f z� sve aj', a� e A r Funkcija u �ože se definirati kao operacija pomaka slikovnih elemenata (slika), operacija ispitivanja jednakosti dviju slika, zbrajanje, oduzimanje, množe nje i dijeljenje slikovnih elemenata (slika) i operacije s konstantom (slika sa slikovnim elementima « a�, ak)' c), gdje je f(ap aJ = c = konstanta), te kao logičke operacije nad binarnim shkama. Iako procesor P 3 ima svojstva "računskog demona", svoju fizikalnu pozadinu djelomično može naći u optičkoj obradi slika (A. Rosenfeld, 1 969), odnosno u digitalnom optičkom računanju (A. A. Sawchuk, 1 984). U optičkoj se obradi slika, npr. Fourierova transformacija slike ili križna korelacija dviju slika, izvodi u jednom koraku. Al
15.4. PARALELIZAM NA RAZINI SLIKOVNE OPERACIJE
U odjeljku 1 5.2 smo prikazali različite pristupe u definiranju paralelizma u obradi slika. Njihova osnovna zajednička značajka bila je zavisnost ocjene paraleli zma od arhitekture računala. U ovom ćemo odjeljku pokušati definirati paralelizam samo u zavisnosti od svojstva slikovne operacije. Kao ishodište poslužit će nam skup međuslika JI koj i se pridružuje svakoj slikovnoj operaciji.
15. MODEL PROCESORA ZA OBRADU I RASPOZNAVANJE SLIKA
300
Definicija 7 Slikovna operacija o je paralelna slikovna operacija ako je njoj pridruženi skup među slika JI prikazan skup, JI = 0. Sekvencijaina slikovna operacija je takva operacija kod koje je pridruženi skup međuslika JI =F 0. Drugim riječima, slikovna operacija koja iz izvorne slike izravno generira konačnu sliku naziva se paralelna slikovna operacija. Na temelju kardinalnog broja skupa JI (broja elemenata u skupu) definirat ćemo stupanj paralelnosti slikovne operacije: Definicija 8 Stupanj paralelnosti slikovne operacije definiramo kao S = � ( * ( JI» , gdje je * ( JI) kardinalni broj skupa JI, a � funkcija Z; ......, R (Z; skup sastavljen od pozitivnih cijelih brojeva; R skup realnih brojeva) sa sljedećim svojstvima: a) � je monotona funkcija od * ( JI), b) S ima ekstrem pri * (JI) 0. Sljedeće pretpostavke su poslužile kao ishodište za izbor funkcije �: stupanj paralelnosti paralelne slikovne operacije neka je I (pridruženi skup međuslika JI je prazan skup), neka je funkcija takva da se u vrijednosti S izravno odražava broj koraka koji je potreban da se iz izvorne slike dobije konačna slika. Za stupanj paralelnosti izabrali smo: =
S= l / C I + ( * ( JI» ),
Poslužimo se primjerom koji će ilustrirati ponašanje stupnja paralelnosti S: Primjer 3 Slikovna operacija o: rJI ......, rfK neka je takva da generira tri međuslike rfm , rJm i rfm , * ( JI) = 3 . Stupanj je paralelnosti slikovne operacije: 1
l
S = 1 /( 1 +( * ( JI» ), S= 1 /4. Nazivnik u S određuje broj koraka koji su potrebni da se iz rJ dobije rJK (sl. 1 5.7). 1. korak
2. korak
SL 15.7. Primjer slikovne operacije o :
3. korak
j
4. korak
IJ.--+ JfK s produženim skupom medmlika M, * (M) = 3
301
15.5, MODEL RACUNALA R
Neka je 0= { 0 1} 0 l' , 0., , oo} skup slkovnih operacIja i neka se u njemu nalazi 0i + l' 0i + 2' , 0i + l slikovnih operacija koje su međusobno nezavisne. Pod međusobno nezavisnim slikovnim operacijama razumijevamo slikovne operacije koje djeluju na različitim raspoloživim slikama i daju nove (među) slike koje su međusobno nezavisne (S. Ribarić, 1 982). Istovremeno se može izvest\ l takvih slikovnih operacija. To označavamo sa: • • •
• • .
• • •
Uz pretpostavku da broj sudjelovanja jednog slikovnog elementa u operacijama nije ograničen na jednu sliku istovremeno može djelovati l slikovnih operacija 0. + 1 , 0 , + ' . . . , 0i + l ' 2
U slučaju istovremenog djelovanja više slikovnih operacija stupanj paralelno sti je defmiran sa: Sv = l IO + M), gdje je M = maks ( :If ( JIi)) kardinalni broj skupa međuslika pridružen slikovnoj ,
operaciji o;, i = E { l, 2, . . . , l}, koja generira najveći broj međuslika. 15.5. MODEL RACUNALA
R
Stupanj paraleinosti slikovne operacije S, odnosno stupanj paralelnosti isto vremenog djelovanja više slikovnih operacija Sv, ne zavisi od arhitekture računala. On zavisi samo od svojstva slikovne operacije. Stupanj paralelnosti slikovne operacije možemo upotrijebiti kao referentnu vrijednost za ocjenjivanje uspješno sti izbora modela računala i njegove arhitekture u sustavu za obradu i raspoznava nje slika. Izborom modela i arhitekture računala moramo težiti da stupanj paraleinosti bude što bliže S, odnosno Sv' U skladu s tom pretpostavkom i u skladu sa značajkama modela predlažemo za tipične faze raspoznavanja i pretprocesiranje, za izlučivanje karakteristika i za klasifikacije (S. Ribarić, 1 982) model računala R koji je prilagođen izvođenju slikovnih operacija. Bitan element modela računala je procesor hijerarhijske razine H3 - procesor za obradu slika. Definicija 9
Model računala R opisuje šestorka:
R = (PO' P3' M, C, S, FK),
gdje su Po i FK skupovi ulaznih (početnih) i izlaznih (konačnih) slika (prema definiciji 4). . S �ika iz skupa početnih slika nastala j e paralelnim unosom slike (npr. osvjet ljavanjem transparentnog materijala i projekcijom na polje fotoosjetljivih elemenata).
15.
302
MODEL PROCESORA ZA OBRADU I RASPOZNAVANJE SLIKA
�-----------------------------
Slika iz skupa konačnih (izlaznih) slika predstavlja izlaz iz sustava. P3 je skup procesora hijerarhijske razine H3 (definicija 6)
P , = {PH' P32, , P3K}· je skup memorijskih ravnina za pohranjivanje početnih slika, konačnih slika i međuslika (definicija 5). Memorijske ravnine se u načinu djelovanja bitno razliku ju od konvencionalnih memorija von Neumannova modela koje imaju sekvencijaI ni pristup. Kada je memorijska ravnina izabrana, svi u njoj pohranjeni podaci su istovremeno raspoloživi. U slučaju upisa u memorijsku ravninu svi podaci se istovremeno upisuju. Memorija takvih značajki opisana je kao komponenta u digitalnom optičkom procesoru (A. A. Sawchuck, 1984). C predstavlja skup upravljačkih funkcija: • •
M
C= { C l'
C2,
• • •
,
Cn
},
koje se upotrebljavaju za upravljanje procesorima (aktiviranje, definiranje operaci ja), memorijskim ravninama (izbor, određivanje operacija) i prospojnim modulima (aktiviranje, određivanje smjera toka podataka). Prema načinu upravljanja obra dom, računalo može biti računalo s upravljačkim tokom 1 ) (upravljanje poput onoga u van Neumannovu računalu), računalo upravljano tokom podataka2), u našem slučaju tokom slika (data flow, picture flow), ili njihova kombinacija. U slučaju upravljanja tokom slika upravljanje je ujedinjeno s tokom slika i model računala poprima značajke računala upravljanog tokom podataka (D. A. Adam, 1 970; P. C. Treleaven, 1 982). Skup S = {s , s , ' . " s } predstavlja skup prospojnih modula koji usmjeravaju početne slike i rr:eđt slike prema memorijskim ravninama i procesorima hijerarhij ske razine H3 '
Sl. J5.8. Model računala R
_
') EngL control-flow. 2) Engl. daea-flow.
15.5.
303
MODEL RACUNALA R
Slika 1 5.8 prikazuje model računala R. Vidimo da je računalo R visokopara leino računalo koje omogućava istovremenu obradu više slika iz skupa ulaznih slika Fo' odnosno obradu više međuslika (u vertikalnim ravninama obrade.) Struktura m - s - P 3 - s što se ponavlja u horizontalnoj ravnini obrade, koja odgovara strukturi protočnih segmenata (c. V. Ramamoorthy, 1 977), omogućava aktivnost više procesora P 3 u horizontalnoj ravnini (na različitim slikama, odnosno međuslikama). Ocijenirno paralelizam arhitekture računala koja se zasniva na predloženom modelu! Kao mjeru paralelizma uzmimo mjeru ukupnog paralelizma (P. E. Danielsson, 198 1 ), odnosno razmotrimo paralelizam na razini operatora k", parale lizam na razini slike ki' paralelizam na razini lokalne operacije kn i paralelizam na razini slikovnog elementa kp• Paralelizam na razini operatora ko određen je sa: h
ko= L mi i= 1
gdje je mi broj ponavljanja strukture m - s - P 3 - s u i-toj horizontalnoj ravnini, a h broj horizontalnih ravnina. Paralelizam na razini slikovne operacije ki zbog mogućnosti sudjelovanja jednog slikovnog elementa u više operacija i svojstva procesora p r ki = r l x r2' gdje su r i r2 dimenzije slike. Model računala R omogućava da para elizam na razini lokalne operacije kn poprimi gornju granicu broja slikovnih elemenata koji istovre meno sudjeluju u lokalnoj operaciji. Prema P. E. Danieissonu i S. Levialdiju ta je granica negdje oko 200 slikovnih elemenata (kn 200). Duljina riječi - broj bitova kojim je zadana vrijednost slikovnog elementa i koji se pribavljaju istovremeno - neka ima gornju vrijednost (u skladu s razma tranjem P. E. Danielssona i S. Levialdia): kp = 64. Ukupni paralelizam K za računalo zasnovano na modelu R bit će: =
K=k ·k n
P
·r
1
· r2
h
'\' . i..J m I· i= 1
Model računala R (slika 1 5.8), uz pretpostavku redukcije količine informacije, ima sličnu strukturu paralelno-serijskog stošca raspoznavanja što ga je predložio L. Uhr (s. 1 5.9) (L. Uhr, 1 972; L. Uhr, 1 979). Retina
,.- Transfarm
.
Apex Ulaz
;/
Sloj za pohranjivanje
Sl. 15.9. Paralelno-serijski stožac raspoznavanja
1 5.
304
MODEL PROCESORA ZA OBRADU
l
RASPOZNAVANJE SLIKA
Stožac raspoznavanja predstavlja protočnu strukturu s ponavljanom struktu rom m - t, gdje je m sloj za pohranjivanje, a t skup paralelnih operacija (koje se nazivaju transformi). U sustavu je prisutna redukcija transformacije od ulaznog sloja (retina) do izlaznog sloja (apex). Retina u p aralel no serijskom stošcu raspoznavanja odgovara skupu Fo' slojevi za pohranjivanje odgovaraju memorijskim ravninama, a slojevi za transformaciju vertikalnim procesnim ravninama sastavljenim od procesora P3' -
15.6 DVA PRIMJERA OCJENE STUPNJA PARALELNOSTI •.
U literaturi je prikazan velik broj paralelnih algoritama za obradu slika koji su pogodni za izvođenje paralelnim računalima (H. Kruse, 1 973; R. Stefanel1i, 1 97 1 ; L . P. Cordella, 1 978; M . C . Pease, 1 969; W. M . Gentleman, 1 978; C. Arelli, 1 975; J. Sklansky, 1 972; A. Rosenfeld, 1976). Izabrali smo dva primjera pomoću kojih ćemo prikazati djelotvornost modela R u obradi slika. Primjer 3 Obično sekvencija Ini postupci obrade slike predstavljaju problem za paralelna računala. Uzmimo tipičan primjer, koji se obično smatra sekvencijainim postup kom, određivanje histograma slike. Algoritam za određivanje histograma slike ima ovaj oblik (T. Pavlidis, 1 982): Algoritam l .
LJ
Napomena: f(P) je vrijednost slikovnog elementa P u opsegu vrijednosti [91, H je polje histograma 1 . Inicijaliziraj polje H (Z) (91 < Z < L) H (Z) 91 2. For sve slikovne elemente P slike do Begin
3. Inkrementiraj H (fCP)) za l End
4. End of algorithm. Na prvi pogled određivanje histograma predstavlja tipično sekvencijaini zadatak: Slika se skanira, ispituje se vrijednost sive razine svakog slikovnog elementa i inkrementira se brojilo koje odgovara vrijednosti sive razine. Nakon ispitivanja svih slikovnih elemenata slike (ima ih r l *r 2' gdje su r l i r2 dimenzije slike) stanja brojila predstavljaju vrijednost komponenata histograma. Pojednostavnjeno, histogram neke slike rio možemo smatrati slikom riH kojoj su dimenzije l x L, gdje slikovni elementi poprimaju vrijednosti broja pojavljiva. nja sivih razina u slici rio' Operaciju određivanja histograma prikazat ćemo sa: OH : rio --> riH'
16.6.
05 3_ _I________________ ST O_ N_ _L_ DVA PRIMJERA OCJENE STUPNJA PARA LE _ _
Ocijenirno stupanj paralelnost i operacije opisane algoritmom l ! Broj meduslika koje algoritam l generira iznosi r1.r 2 .d, gdje je d> 2 i zavisi od distribucije i broja sivih razina u slici rio' , Stupanj paraleinosti slikovne operacije bit će: S
1 / ( I + d x r1 x r2) .
Na pnmJer, za digitaliziranu sliku dimenzija 5 1 2 x 5 1 2 slikovnih elemenata i šesnaest sivih razina stupanj paralelnosti je manji od 0,4 x 1 0 - 5. Stupanj paralel nosti je vrlo nizak i s opravdanjem govorimo o sekvencijainoj operaciji. Pokažimo sada paralelni postupak koji se izvodi računalom R. Slikovnu operaciju Oh prikazat ćemo kao kompoziciju dviju slikovnih operacija (S. :Ribarić, 1 983) :
gdje prvi član ( ) označava istovremeno izvođenje operacija: 0a, : {« al' ak), fo (ap ak))'
-+ « ap ak),
fm, (ap ak)),
gdje su vrijednosti slikovnog
« al' ak)'
fz/ (ap ak) ) }
za sve
(ap ak) E AI., AI, ' , elementa fm, (al' ak) :
fm (ap ak ) I
{
l ako fo Cap ak) =fz' (ap ffJ ako fo (ap ak) i=fz, (ap
1 , 2,
i
. . . , L,
ak) ak)'
pri čemu je rz pomoćna slika koja ima sve yrijednosti slikovnog elementa jednake vrijednosti sive razine Zi (sl. 1 5 . 1 0) . Operacija oa, je operacija ispitivanja jednakosti slikovnih elemenata i izvršava se u jednom koraku uz pomoć procesora P 3 (funkcija u, definicija 6). Operacija 0z, je opisana sa:
gdje je «( l , z), fH ( I , z)) =
Tl
r2
a) = I
a, = l
L L fm, (ap ak)' za sve
i=
l,
2,
.
. . , L,
gdje je L broj sivih razina koje se mogu pojaviti u slici. Iz opisa operacije o" vidimo da je to jednovrsna aritmetička operacija (zbraja nje) sa rl x r2 operanada. Vrijednost slikovnog elementa slike rfH se računa pomoću procesora P 3 u jednom koraku. S obzirom na svojstva procesora P 3 i raspoloživost operanada - slikovnih elemenata slikii rm" rz, i rf obje operacije Oa' i Oz izvode se u jednom koraku. Stupanj je paraleinosti slikovne operacije: ,
SV = 1 / 1 SV = 1 /2,
+maks ( * .Hi))' i
i = 1 , 2,
. . L, .
306
15. MODEL PROCESORA ZA OBRADU I ",",on.",,,,",
jer je u slučaju istovremenog djelovanja više slikovnih operacija 0a'' i = l, maksimalni broj međuslika maks ( * (JIj)) = l (sl. 1 5. 1 0).
2,
SLIKA
. . . , L,
f.
Početna slika
(000.'.312)
Operocijo'
Operacija •
O••
Pomoćne slike Dčž 15. 10.
\(�:; )
KonOČno slika
O ,l
o••
MeđuslIke
Odredivanje histagrama računalom
:
R
Iz ocjene stupnja paraleinosti za operaciju Oh vidimo da "tipično sekvencijaI na" operacija ima visok stupanj paraleinosti koji ne zavisi ni od broja sivih razina ni od njihove distribucije, a ni od dimenzija slike rIo '
Primjer 4 Dvodimenzionalne transformacije slike ( Fourierova, Hadamardova, Haarova, Walshova transformacija) (W. K. Pratt, 1 978) imaju široku primjenu na području obrade i raspoznavanja slika. Ocijenit ćemo stupanj paralelnosti Fourierove dvodimenzionalne transformacije. Uobičajen zapis Fourierove transformacije jest (W. K. Pratt, 1 978): 9"
za u, v = O, 1 , 2,
...
(u, v)
=
�
I l 'L 'L fo (j, k) exp
Nj = o k = o
, N - l , gdje je i =
{- 2Jni N
(ju + kV)
.
}
15.6. DVA PRIMJERA OCJENE STUPNJA PARALELNOSTI
307
Budući da je transformacijska jezgra separatibilna i simetrična, Fourierova se transformacija može slijedno izračunati kao dvije jednodimenzionalne transforma cije (W. K. Pratt, 1 978). Za izravno računanje Fourierove jednodimenzionalne transformacije pomoću uniprocesora potrebno je Nl aritmetičkih operacija (što odgovara i broju medusIika). Uz upotrebu brze Fourierove transformacije (FFT) broj operacija j e 2N logl N, što za klasično sekvencijalno računalo odgovara i broju međuslika. Računanje dvodimenzionalne Fourierove transformacije uz pomoć postupka koji j e prilagoden sekvencijaInom računalu daje 2 (2N logl N), međuslika.
Ocijenit ćemo stupanj paraleinosti dvodimenzionalne Fourierove transforma cije koja se izvodi računalom R koje se temelji na modelu R. Budući da procesori hijerarhijske razine H3 imaju svojstva "matematičkog demona" (definicija 6) i da su svi podaci potrebni za računanje istovremeno raspoloživi - suma vrijednosti slikovnih elemenata pomnoženih s težinskim vrijednostima transformacijske jezgre izračunava se u j ednom koraku, odnosno skup međuslika je prazan skup, te je stupanj paraleinosti S l . =
Fizikalnu pozadinu koja opravdava stupanj paraleinosti S l dvodimenzi0nalne transformacije možemo naći u optičkoj izvedbi Fourierove transformacije. Slika 1 5. 1 1 pokazuje optičku izvedbu Fourierove transformacij e (A. Rosenfeld, 1969) koja se izvršava u jednom koraku. Transparentna slika osvijetljena je koherentnim svjetlom valne dužine A. =
Završno
Koherentno svjetlo
Transparentno slika
ravnina
SI. 15. 1 1. Shematski prikaz izvođenja Fourierove transformacije u optici
U žarišnoj ravnini, zbog difrakcije koherentnog svjetla, dobiva se intenzitet svjetla koji je proporcionalan kvadratu Fourierovih komponenata.
Model računala R omogućava istovremenu obradu više slika upotrebom inherentnog paralelizma prisutnog u toku podataka i obradi. Vrlo visok stupanj paraleinosti obrade postiže se ponavljanom strukturom m -s -p -s u horizontal noj ravnini i istovremenom obradom više slika iz skupa ulaznih �lika Fo (vertikal na ravnina obrade). Model računala R omogućava upravljanje tokom slika tako da se operacije izvršavaju u trenutku raspoloživosti svih potrebnih podataka (slika). Tako se maksimalno iskorištava paralelizam koji j e u problemu. Važna komponenta modela računala je procesor hijerarhijske razine H3 . Svojstva toga "matematičkog demona" izravno utječu na performansu obrade.
1 5.
308
MODEL PROCESORA ZA OBRADU I RASPOZNAVANJE SLIKA
Model računala R svojom strukturom izravno podržava obradu u paralelno serijskom stošcu raspoznavanja što ga je predložio L. Uhr. Na kraju, odgovorimo na pitanje koliko je model računala R dalek od stvarne realizacije. Godine 1 958. S. H. Unger je predložio model računala SPAC u sustavima za obradu i raspoznavanje (S. H. Unger, 1 958) koji je imao procesni element dodijeljen svakom slikovnom elementu. Za tadašnji stupanj razvoja tehnologije realizacija takva računala izgledala neostvariva. Međutim, već 1 963. godine B. H. McCormick je oblikovao računalo ILLlAC III (ali nije do kraja realizirano) s procesnim poljem od 32 x 32 procesna elementa (E. H. McCormick, 1 963). Krajem 1 980. godine u NASA Goddard Space Flight Center realizirano je računalo MPP (Massively Parallel Processor) sa 1 28 x 1 28 procesnih elemenata i performansom od 2 1 6 MFLOPS 1) (K. E. Batcher, 1 980). Sadašnji razvoj tehnologije VLSI (npr. three-dimensional microelectronic mapping (G. R. Nudd, 1 984)) ukazuje da je računalo zasnovano na modelu R bliže realizaciji negoli je to bilo Ungerovo računalo SPAC daleke 1 958. godine. 15.7. LITERATURA J. A. G. Hale, P. Saraga, Digital Image Processing, u djelu: B. G. Batchelor (ed.), Pattern Recognition, Ideas in Practice, Plenum Press, New York, 1978, str. 1 77 -202. D. F. Farmer, IBM-Compatible Giants, Datamation, Vol. 27, N°. 1 3, dec. 1981, str. 92 - 1 07. C. Norrie, Supercomputers for Superproblems: An Architectural Introduction, Computer, Vol. 1 7, N°. 3, mart 1 984, str. 62 - 74. D. J. Kuck, A Survey of Parallel Machine Organization and Programming, ACM Comput. Surveys, Vol. 9, mart 1 977, str. 29 -60. C. V. R!II1l amoorthy, M. J. Gonzalez, A Syrvey of Techniques for Recognizing Parallel Processable Stream in Computer Programs, Fall Joint Computer Conference, 1 969, str. 1 - 1 5. K. J. Thurber, P. C. Patton, The Future of Parallel Processing IEEE Trans. on Computers, december 1973, str. 1 140 - 1 143. J. Backus, Can Programming Be Liberated from Neumann Style and Its Algebra of Programs, Communi cation of the ACM, Vol. 21, N°. 8, august 1978, str. 6 1 3 - 64 1 . S. Ribarić, Arhitektura računala pete generacije, Tehnička knjiga, Zagreb, 1986. P. E. Danieisson, S. Leviaidi, Computer Architectures for Pactorial Information Systems, Computer, nov. 1 98 1 , str. 53 - 67. M. J. B. Duff, Parallel Processing Techniques, u djelu: (J. A. G. Hale, 1 978) str. 145 - 1 74. B. Kruse, A Parallel Picture Processing Machine, IEEE Trans, on Computers, Vol. C-22, N°. 12, decembar 1973, str. 1075 - 1 087. C. V. Ramamoorthy, H. F. Li, Pipeline Architecture, ACM Computing Syrveys, Vol. 9, mart 1977, str. 61 - 1 0 1 . B. Kruse, P. E . Danieisson, B. Gudmundsson, From PICAP I t o PICAP II, u djelu: K . S . Fu, T . Ichikawa (ed.), Special Computer Architectures For Pattern Processing, C R C Press Inc., 1982. R. M. Lougheed, et al., Cytocomputers: Architectures for Parallel Image Processing, Proc. Workshop Picture Data Descr. and Management, Pacific Grove Calif., august 27 - 28, 1980, str. 281 -286. N. Konvaras, et al., A Digital System for Simultaneous Addition of Several Binary Numbers, IEEE Trans on Computers, Vol. C- 17, oktobar 1968, str. 992 - 997. O. G. Selfridge, Pandemonium: A Paradigm for Learing, u djelu: Pattern Recognition (L. Uhr, ed.), John Wiley&Sons, New York, 1 966. G. R. Nudd, Concurrent Systems for Image Analysis, u djelu: VLSI for Pattern Recognition and Image Processing (ed. K. S. Fu), Springer-Verlag, Berlin, 1984, str. 1 07 - 1 32.
') Million Floating Point Operation Per Second - Milijun operacija s brojevima s pomičnim zarezom u sekundi.
1 5.7. LITERATURA
309
P. L. Gardner, Functional Memory and Its Microprogramming Implications, IEEE Trans. on Computers, Vol. C-20, N°. 7, juli 1 97 1 , str. 764 -775. A. Rosenfeld, A. C. Kak, Digital Picture Processing, Academic Press, New York, 1 976. A. Rosenfeld, Picture Processing by Computer, Academic Press, New York, 1 969. T. Pavlidis, Algorithms for Graphic and Image Processing, Springer-Verlag, Berlin, 1 982. A. A. Sawchuk, T. C. Strand, Digital Optical Computing, Proc. of the IEEE, Vol. 72, N°. 7, juIi 1 984, str. 758 - 779. S. Ribarić, Paralelizam v raspoznavanju dvodimenzionalnih vzorcev in njegov vpliv na model procesorja, Doktorska disertacija, Fakulteta za elektrotehniko, Ljubljana, 1982. L. Uhr, Layered ,,Recognition Cone" Natworks That Preprocess, Classify, and Describe, IEEE Trans, on Computers, juli 1 972, str. 758 - 768. D. A. Adams, A Model for Parallel Computation, u djelu: Parallel Processor Systems, Technologies and Applications (ed. L. e. Hobs, et al.), Spartan Books, New York, 1 970. P. e. Treleaven, et al., Data-Driven and Demand Driven Computer Architecture, Computing Surveys, Vol. 14, N°. I , mart 1982, str. 93 - 1 43. R. Stefanelli, A. Rosenfeld, Some Parallel Thinning Algorithmsfor Digital Picture, Journal of the ACM, Vol. 1 8, N°. 2, april 1971, str. 255 -264. L. P. Cordella, et al., An Analysis of Computational Cost in Image Processing: A Case Study, IEEE Trans. on Computers, Vol. C-27, N°. lO, oktobar 1 978, str. 904 -910. W. M. Gentleman, Some Complexity Results for Matrix Computations on Parallel Processors, Journal of the ACM, Vol. 25, N°. I, januar 1978, str. 1 1 2 - 1 1 5. e. Arcelli, S. Levia1di, Concavity Extraction by Parallel Processing, IEEE Trans. on Systems, Man and Cybemetics, oktobar 1 97 1 , str. 394 - 396. J. Sklansky, P. J. Nahin, A Parallel Mechanism for Describing Silhouettes, IEEE Trans. on Computers, novembar 1 972, str. 1 233 - 1 239. e. Arcelli, et al., Parallel Thinning of Binary Pictures, Electronic Leners, april, 1975, Vol. I I , N°. 7, str. 1 48 - 149. A. Rosenfeld, L. S. Davis, A Note on Thinning, IEEE Trans. on Systems, Man and Cybemetics, mart 1 976, str. 226 -227. S. Levia1di, On Shrinking Binary Picture Patterns, Comm, of the ACM, Vol. 1 5, N°. I, januar 1 972, str. 7 - l O. M. e. Pease, Organization of Large Scale Fourier Processors, Journal of the ACM, Vol. 1 6, N°. 3, juli 1 969, str. 474 -482. S. Ribarić et al., Taksonomija paralelizma i model procesora za obradu dvodimenzionalnih uzoraka, Elektrotehnički vesni k, Vol. 50, br. 4, septem bar-oktobar 1 983, str. 183 - 19 1 . W . K . Prat, Digital Image Processing, J Wiley&Sons, New York, 1978. S. H. Unger, A Computer Oriented Towards Spatial Problems, Proc. IRE, Vol. 46, oktobar 1 958, str. 1 744 �.J750. B. McCormick, The Illinois Pattern Recognition Computer - ILLlAC III, IEEE Trans, on Electronic Computers, decembar 1 963, str. 791 - 809. K. E. Batcher, Design of a Massively Parallel Processor, IEEE Trans, on Computers, Vol. C-29, N°. 9, septembar 1980, str. 836 - 840. K. E. Batcher, Design of a Massively Parallel Processor, IEEE Trans. on Computers,' Vol. C-29, N°. 9, septembar 1 980, str. 836 -840.
KAZALO POJMOVA A
Algoritam analize naniže s vraćanjem 164 Analiza grupa 37 rečenice 94 Arhitektura računala 1 68 za obradu slika 2 1 9 Automatska analiza signala EKG 1 1 7 Automatsko generiranje gramatike 103
Gramatika 90 tipa O 92 1 92 - 2 92 3 92 stabla 102 Grupiranje na temelju teorije grafova 5 1 H
Baze podataka Highleymanova 1 27 Munsenova 1 27 Bayesov kriterij odlučivanja 76 Bayesovo pravilo odlučivanja 77 Brza Haarova transformacija 1 1 3
Haarova ortogonalna transformacija 109 transformacija signala EKG 1 1 1 Hammingova funkcija 1 50 HEARSAY I 276 Hijerarhija procesora 293 Hijerarhijski model 280 Horizontalna rezolucija slike 257
e
I
Centralni monitor 282 CLIP I I I 247 IV 247 Crossbar prespojna matrica 194
ICC 234 ILLIAC I I I 230, 232 IV 230, 241 Izbor značajki 1 37, 24 minimizacija entropije 24 maksimizacija divergencije 2 5 ortogonalna transformacija 27 ISODATA 4 1 Iterativni postupci grupiranja 40
B
-
�
D
DARPA 225 Diskretna Fourierova transformacija 1 47 DMA 257 Dvodimenzionalni prilagođeni filtri 1 44 E
Earlyev postupak analize rečenice 9 5 E K G signal 1 10 Entropija 24 Euklidova udaljenost 38
J Jezik 9 1 K
Flynnova klasifikacija arhitekture 1 7 1 Formalna teorija jezika 90 Fourierovi koeficijenti 1 34
K-srednjih vrijednosti 40 Kalup aktivnosti 2 1 0 Karhunen-Loeveova transformacija 27 Kodiranje osnovnih značajki uzoraka 33 Konačni automat 94 Konfiguracija sustava za raspoznavanje 1 30 Kr;iterij odlučivanja 76
G
L
Gradijentni postupci 6 1
Lesterova dijagnostička metoda 120
F
312 Linearne funkcije odlučivanja 56 - transformacij e 24 Lokalne funkcije 1 1 2 M M hipoteza 80 Mahalanohisova udaljenost 3 8 Matrica sličnosti 5 1 Mehanički manipulator 283 M ikroprocesor 253 M ikroprocesorski klasifikator 261 sustav za raspoznavanje govora 271 Mikroračunalo 258 Mikroprogramabi1na upravljačka jedinica 1 80 Minimaks pravilo 78 Minucije 155 M jere sličnosti 3 8 Mjerni prostor 1 7 Model paralelne obrade 203 - procesora za obradu i raspoznavanje slika 290 - sustava za raspoznavanje 1 5 Modeli sustava z a strojni vid 279 MPP 249 Multiprocesorski sustavi upravljani tokom podataka 2 1 2 N Neumannovo računalo 1 73 Nelinearne transformacije 32 Nenumeričko raspoznavanje uzoraka 88 o Obrada slike mikroračunalom 258 Ocjena parametara 84 Omjer vjerojatnosti 78 Oprema za ohradu slike 225 p Paralelizam na razini slikovne operacije 299 Paralelne arhitekture računala za obradu slike 227 PC 238 Perceptron 6 3 PICAP I i I I 243 Postupak pcrceptrona s stalnim prirastom 63 Priručne (cache) memorije 1 82 Prag odlučivanja 78 Prostor uzoraka 16 odlučivanja 1 8 značajki 1 7 R R računalo 301 Računalo s upravlj ačkim tokom 202 upravljano tokom podataka 201 RAD I US 296 Raspoznavanje biomedicinskih uzoraka 2 1
ponašanje sustava 2 1 uzoraka potresa 2 1 vizuelnih uzoraka 2 1 zvučnih uzoraka 2 1 Razdvojni vektor 62 Rečenice 9 1 Rekonfigurabilna arhitektura 1 70 Rječnik 9 1 Robertsov program z a analizu scene 281 Robotski vid 279 S SAM 286 S inteza sustava 146 S intaktički pristup 89 Sintaktičko opisivanje uzoraka 99 SOLOMON I 230 SPAC 227 Stablo minimalne duljine 54 STARAN 239 Statička arhitektura 1 70 Statistička klasifikacija uzoraka 75 Stohastička gramatika 1 62 Stohastički jezici 97 Stožna arhitektura 196 Strojni vid 279 Strukturno razvrstavanje uzoraka 94 otisaka prstiju 1 6 1 Sustav za raspoznavanje brojčano slovnih znakova 125 signala EKG 109 rukom pisanih znakova 144 otisaka prstiju 1 54 govora 269 neprekinutog govora 274 T Tanimotova mjera 39 Test omjera vjerojatnosti 78 Tip arhitekture S I SD 1 7 3 M I SD 1 8 3 S IM D 1 87 M IMD 192 Tipovi automata 93 Transformacija A 23 slike u ime 223 - opis 223 u Učenje 6 1 Hoov i Kashyapov 6 5 klasifikatora 262 perceptron s djelomičnom korekcijom 64 - - stalnim prirastom 63 pomoću potencijalnih funkcija 70 uopćeni postupak perceptrona 69 sustava za raspoznavanje 145 Umjetna inteligencija 2 1 Uopćene linearne funkcije odlučivanja 59
313
KAZALO
Utjecaj povećanja 1 36 rotacije 1 36 translacije 1 33 v Virtualne memorije 1 82 VLSI procesor upravljan tokom podataka 2 1 5
w Wilkesova shema 1 8 1
z Zadatak najbolje kvantizacije 33