View
6
Download
0
Category
Preview:
Citation preview
UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko
Tomaž Žvokelj
PREVERJANJE PRAVILNOSTI GLAVE VIJAKOV S STROJNIM VIDOM
DIPLOMSKO DELO UNIVERZITETNEGA ŠTUDIJA
Mentor: doc. dr. Boštjan Murovec
Ljubljana, 2011
Zahvala
Zahvaljujem se mentorju doc. dr. Boštjanu Murovcu za strokovno vodenje, nasvete ter pomoč
pri izdelavi diplomske naloge.
Zahvaljujem se tudi zaposlenim v podjetju Mikrovit d.o.o, za koristne nasvete ter pomoč pri
opravljanju praktičnega dela diplomske naloge.
Na koncu se zahvaljujem tudi družini ter punci Mateji za podporo v času študija.
Povzetek
Diplomska naloga obravnava raziskavo možnosti uporabe strojnega vida za avtomatizirano
ločevanje slabih vijakov od dobrih med njihovo proizvodnjo.
Med nekaterimi fazami proizvodnje prihaja do napak, katerih posledice se včasih odražajo na
neujemanju oblik in dimenzij vijakov od zahtev. Naloga sistema je da vijake, pri katerih je
prišlo do omenjenega neujemanja, izloči iz nadaljnjih faz proizvodnje.
Za ta namen smo razvili laboratorijski prototip sistema strojnega vida. Z primerno izbiro in
postavitvijo kamere, ter z primerno izvedbo osvetlitve vijaka, smo zagotovili zajemanje
dovolj kakovostnih slik, ki omogočajo učinkovito razpoznavo in dovolj natančno merjenje
značilk vijaka, s pomočjo katerih ugotavljamo prisotnosti napak v dimenzijah in oblikah. Za
klasifikacijo oziroma ločevanje vijakov smo načrtali Bayesov klasifikator.
Delovanje sistema smo tudi empirično preizkusili in ovrednotili.
Klju čne besede: vijak, strojni vid, geometrijsko modeliranje, Houghova transformacija,
metoda RANSAC, Bayesov klasifikator.
Abstract
This thesis deals with research of the possibility of using machine vision for automated
separation of the good and bad screws during their manufacture.
During some phases of production the errors, whose effects are reflected in the mismatch of
shapes and sizes of screws from the requirements, are occurring. The task of the system is to
remove the screws with abovementioned mismatching from further stages of production.
For this purpose we have developed a laboratory prototype machine vision system. With
appropriate selection and configuration of camera, and appropriate implementation of
lighting, we have ensured the acquiring of images of sufficient quality, which permit effective
identifying and sufficiently accurate measurements of screw features by which we detecting
the presence of errors in the sizes and shapes. For classification of screw we design the
Bayesian classifier.
We also empirically tested and evaluated functioning of the system.
Keywords: screw, machine vision, geometric modeling, Hough transform, RANSAC method,
classification, Bayes classifier.
I
Kazalo
1 UVOD 1
1.1 POTEK PRVE FAZE PROIZVODNJE 2
1.2 NAPAKE PRVE FAZE PROIZVODNJE 4
1.3 ZAHTEVE ZA SISTEM STROJNEGA VIDA 5
2 ZASNOVA SISTEMA STROJNEGA VIDA 7
2.1 STROJNA OPREMA 7
2.1.1 Kamera in objektiv 7
2.1.2 Sistem osvetljevanja 8
2.1.3 Računalnik in programska oprema: 10
3 ALGORITEM 11
3.1 ZAJEM IN ZAČETNA ANALIZA SLIKE 11
3.2 GEOMETRIJSKO MODELIRANJE GLAVE VIJAKA 13
3.2.1 Geometrijsko modeliranje oboda 14
3.2.2 Geometrijsko modeliranje utora 16
3.2.2.1 Geometrijsko modeliranje zunanjih krakov utora 17
3.2.2.2 Geometrijsko modeliranje notranjih krakov utora 19
3.3 DOLOČANJE IZBRANIH ZNAČILK GLAVE VIJAKA 21
3.3.1 Značilke za ugotavljanje deformiranosti oboda 21
3.3.2 Značilke za ugotavljanje prisotnosti deformiranosti utora 22
3.3.3 Značilke za ugotavljanje ekscentričnosti utora 23
3.3.4 Značilke za ugotavljanje prisotnosti napak v dimenzijah 24
3.4 KLASIFICIRANJE VIJAKA 24
4 RAZLAGA UPORABLJENIH POSTOPKOV 27
4.1 POSTOPKI ZA ZAJEM IN ZAČETNO ANALIZO SLIKE 27
4.1.1 Podvzorčenje 27
4.1.2 Tvorjenje Sobelove slike 29
4.1.3 Upragovljenje Sobelove slike 31
4.1.4 Določanje praga binarizacije 32
4.1.5 Prag Sobelove slike 33
4.1.6 Detekcija krožnice 33
4.1.7 Klasifikacija zajete slike 34
4.1.7.1 Prisotnost in povečava vijaka na sliki 34
II
4.1.7.2 Odmaknjenost glave vijaka od robov slike 36
4.2 POSTOPKI ZA GEOMETRIJSKO MODELIRANJE GLAVE VIJAKA 37
4.2.1 Postopki za geometrijsko modeliranje oboda 37
4.2.1.1 Redukcija šuma z glajenjem zajete slike 37
4.2.1.2 Izdelava daljic 38
4.2.1.3 Določitev robnih točk oboda 41
4.2.1.4 Prilagoditev krožnice robnim točkam 43
4.2.2 Postopki za geometrijsko modeliranje zunanjih krakov utora 46
4.2.2.1 Podvzorčenje 46
4.2.2.2 Detekcija krožnice zunanjih krakov utora 46
4.2.2.3 Določitev središč zunanjih krakov utora 47
4.2.2.4 Določitev robnih točk zunanjih krakov utora 50
4.2.2.5 Prilagoditev krožnice robnim točkam 51
4.2.3 Postopki za geometrijsko modeliranje notranjih krakov utora 51
4.2.3.1 Določitev središča notranjega kraka utora 51
4.2.3.2 Izdelava področja notranjega kraka utora 52
4.2.3.3 Segmentacija (izločitev kraka utora) 53
4.2.3.4 Določitev robnih točk 54
4.2.3.5 Prilagajanje polinoma robnim točkam 57
4.3 POSTOPKI ZA MERJENJE ZNAČILK 57
4.3.1 Postopki za merjenje značilk deformiranosti oboda 57
4.3.1.1 Število robnih točk 57
4.3.1.2 Odstopanje robnih točk oboda od krožnice oboda 58
4.3.2 Značilke za ugotavljanje prisotnosti deformiranosti utora 58
4.3.2.1 Odstopanje robnih točk notranjih krakov utora, od pripadajočih polinomov 58
4.3.2.2 Širina zunanjih krakov 59
4.3.3 Postopki za merjenje značilk ekscentričnosti utora 60
4.3.3.1 Merjenje razdalje med središči krožnic utora in oboda 60
4.3.4 Značilke za ugotavljanje prisotnosti napak v dimenzijah 61
4.3.4.1 Razmerje med radiem krožnice oboda in radiem krožnice utora 61
4.4 POSTOPKI KLASIFIKACIJE 62
4.4.1 Klasifikator k1 (deformiranost oboda) 64
4.4.1.1 Določitev klasifikacijskega pravila za značilko ��� 64
4.4.1.2 Določitev klasifikacijskega pravila za značilko ��� 65
4.4.1.3 Izvedba klasifikacije 68
4.4.2 Klasifikator 2 (deformiranost utora) 68
4.4.2.1 Določitev klasifikacijskega pravila za značilko ��� 68
III
4.4.2.2 Določitev klasifikacijskega pravila za značilki �� in �� 70
4.4.2.3 Izvedba klasifikacije 73
4.4.3 Klasifikator k3 (ekscentričnost utora) 74
4.4.3.1 Določitev klasifikacijskega pravila za značilko ��� 74
4.4.3.2 Izvedba klasifikacije 76
4.4.4 Klasifikator k4 (neujemanje dimenzij) 76
4.4.4.1 Določitev klasifikacijskega pravila za značilko �� � 76
4.4.4.2 Izvedba klasifikacije 78
5 TESTIRANJE SISTEMA 81
5.1 MERITVE ZNAČILK 81
5.2 ANALIZA DELOVANJA 86
6 ZAKLJU ČEK 89
IV
V
Kazalo slik
Slika 1: Vijak ISO 7049 premera stebla 3,9 mm 1
Slika 2: Preša za kovanje polizdelkov vijakov 2
Slika 3: Potek kovanja 3
Slika 4: Produkt prve faze proizvodnje (slikan iz različni zornih kotov). 3
Slika 5: Zahtevane oblike in dimenzije 4
Slika 6: Možna neujemanja z zahtevami oblik in dimenzij vijaka prve faze proizvodnje. 5
Slika 7: Gradniki sistema strojnega vida 7
Slika 8: Primer zajete slike vijaka 8
Slika 9: Osvetljevanje brez ustvarjanja senc 9
Slika 10: Obročasto svetilo z LED diodami 9
Slika 11: Krožnica kho 12
Slika 12: Primer neprimerne slike, kjer se glava vijaka dotika robov slike 12
Slika 13: Potek začetne analize slike 13
Slika 14: Geometrija glave vijaka 14
Slika 15: Krožnica oboda ��� 14
Slika 16: Določevanje robnih točk oboda (poteka na daljicah) 15
Slika 17: Potek geometrijskega modeliranja oboda 16
Slika 18: Geometrijsko modeliranje zunanjih krakov 17
Slika 19: Geometrijsko modeliranje notranjih krakov utora 17
Slika 20: Središča zunanjih krakov utora (točke a,b,c,d). 18
Slika 21: Potek geometrijskega modeliranja zunanjih krakov utora 19
Slika 22: Središča obravnavanega notranjega kraka utora 20
Slika 23: Potek geometrijskega modeliranja notranjega kraka utora 21
Slika 24: Deformacije oboda glave vijaka 22
Slika 25: Deformacije utora 22
Slika 26: Vpliv ekscentričnosti utora na krožnici oboda in utora 23
Slika 27: Razmerje radiev krožnice utora in oboda 24
Slika 28: Potek klasifikacije 25
Slika 29: Potek podvzorčenja s pravokotnim področjem 3x3 slikovnih elementov 27
Slika 30: Podvzorčenje s področjem velikosti 4x4 slikovnih elementov in lociranje 28
Slika 31: Podvzorčenje s področjem velikosti 8x8 slikovnih elementov in lociranje 28
VI
Slika 32: Podvzorčenje s področjem velikosti 16x16 slikovnih elementov in lociranje 29
Slika 33: Sobelova operatorja (maski za filtriranje slike v prostorski domeni) 30
Slika 34: Vhodna slika in pripadajoča Sobelova slika 30
Slika 35: Histogram Sobelove slike 31
Slika 36: Vhodna slika in pripadajoča binarizirana slika 33
Slika 37: Neustrezne slike 35
Slika 38: Ustrezne slike 36
Slika 39: Reduciranje šuma z median filtriranjem 38
Slika 40: Razmik med daljicami za določevanje robnih točk oboda 39
Slika 41: Krožnici �ℎ� in �2 39
Slika 42: Daljica sestavljena iz 40 točk 40
Slika 43: Daljice za določanje robnih točk oboda 40
Slika 44: Slika gradientnih vektorjev 41
Slika 45: Postavitev praga gradienta 42
Slika 46: Parametri krožnice oboda 46
Slika 47: Krožnica �ℎ� (približno določa lokacijo zunanjih krakov utora) 47
Slika 48: Daljice za določanje robnih točk notranjih krakov utora 48
Slika 49: Preverjanje, katere daljice ne prečkajo notranjih krakov utora. 49
Slika 50: Območje, ki ga je potrebno pregledati, da zanesljivo 49
Slika 51: Daljice za določanje robnih točk zunanjih krakov utora 50
Slika 52: Parametri krožnice utora 51
Slika 53: Središče obravnavanega kraka (točka A) 52
Slika 54: Določanje pravokotnega področja glajene slike, 53
Slika 55: Glajena slika, s segmentiranim področjem notranjega kraka 54
Slika 56: Daljice za določevaje robnih točk na sliki z binariziranim 55
Slika 57: Oštevilčevanje robnih točk in merjenje razdalj do središča krožnice �ℎ� 56
Slika 58: Graf robnih točk 56
Slika 59: Robne točke, popisane z polinomom 57
Slika 60: Skica merjenja odstopanja robnih točk notranjih 59
Slika 61: Skica določevanja parametra �� (zunanjega kraka k) 60
Slika 62: Določevanje razdalje med središči krožnice 61
Slika 63: Razredno - pogojeni porazdelitvi verjetnosti ��|�1 in ��|�2 66
Slika 64: Razredno - pogojeni porazdelitvi verjetnosti �|�1 in �|�2, 68
Slika 65: Razredno - pogojni porazdelitvi verjetnosti ��|�1 in ��|�2 69
VII
Slika 66: Razredno - pogojni porazdelitvi verjetnosti ��|�1 in ��|�2, 70
Slika 67: Razredno - pogojni porazdelitvi verjetnosti ��|�1 in ��|�2 72
Slika 68: Razredno - pogojni porazdelitvi verjetnosti ��|�1 in ��|�2 73
Slika 69: Razredno - pogojni porazdelitvi verjetnosti ��|�1 in ��|�2 75
Slika 70: Razredno - pogojni porazdelitvi verjetnosti ��|�1 in ��|�2 76
Slika 71: Razredno - pogojni porazdelitvi verjetnosti ��|�1 in ��|�2 77
Slika 72: Razredno - pogojni porazdelitvi verjetnosti ��|�1 in ��|�2, 78
VIII
IX
Kazalo tabel
Tabela 1: Vrednosti značilk dobrih vijakov 82
Tabela 2: Vrednosti značilk slabih vijakov z deformiranim obodom 83
Tabela 3: Vrednosti značilk slabih vijakov z deformiranim utorom 84
Tabela 4: Vrednosti značilk slabih vijakov z ekscentričnim utorom 85
Tabela 5: Vrednosti značilk slabih vijakov s premajhnim premerom utora 86
Tabela 6: Verjetnosti napačne klasifikacije uporabljenih klasifikatorjev 87
1
1 Uvod
V podjetju Mikrovit d.o.o., Ajdovščina [1], ki je eno vodilnih slovenskih podjetji na področju
izdelave vijakov, se je pojavila težnja po zmanjšanju zastojev med proizvodnjo, ki so
posledica napak na vijakih.
Proizvodnjo vijakov sestavljajo naslednje faze: • izdelava stebla in glave vijaka (kovanje),
• izdelava navoja (valjanje),
• termična obdelava,
• površinska zaščita in
• pakiranje.
Kot najbolj kritična se izkaže prva faza proizvodnje (kovanje), kjer najpogosteje prihaja do
napak, ki manjšajo kakovost izdelka, kar med drugim povzroča nepotrebne zastoje v
nadaljnjih fazah proizvodnje. Zaradi tega se je pojavila potreba po sistemu strojnega vida za
avtomatizirano ločevanje dobrih polizdelkov od slabih, izdelanih v prvi fazi proizvodnje, ki bi
omogočil, da bi nadaljnje faze proizvodnje potekale zgolj z dobrimi polizdelki.
Čeprav se v proizvodnem programu podjetja pojavlja cela paleta različnih vijakov, smo se v
diplomskem delu omejili na specifičen vijak ISO 7049, premera stebla 3,9 mm (Slika 1).
Slika 1: Vijak ISO 7049 premera stebla 3,9 mm
2
1.1 Potek prve faze proizvodnje
Prva faza proizvodnje vijakov ISO 7049 poteka na dvoudarčni preši (Slika 2). Žico s koluta,
podajalna kolesca stroja pomikajo v notranjost preše, kjer jo nož reže na odrezke ustrezne
dolžine in jih posamično nosi pred vhod v matrico (Slika 3a), kjer se na odrezkih izvaja
oblikovanje glave.
Slika 2: Preša za kovanje polizdelkov vijakov
Oblikovanje glave poteka v dveh fazah (udarcih). Pri prvem udarcu predstiskač potisne del
odrezka v matrico, del odrezka ki ostane v predstiskaču pa preoblikuje v še nedokončano
obliko glave (Slika 3b), pri drugem udarcu pa stiskač iz nedokončane oblike izdela končno
obliko glave (Slika 3c). Tako izdelan vijak igla izbije iz matrice (Slika 3d).
3
(a) Odrezilni nož reže žico na odrezke, in
jih nosi pred vhod v matrico
(b) predstiskač potisne (poz 1) del odrezka
v matrico, del pa ga preoblikuje v
nedokončano obliko glave (poz 2)
(c) stiskač iz nedokončane oblike glave
izdela končno obliko glave
(d) igla končan izdelek izbije iz matrice
Slika 3: Potek kovanja
S tem je prva faza proizvodnje (kovanje) zaključena in tako obdelan vijak (Slika 4) je
pripravljen za naslednjo fazo izdelave.
Slika 4: Produkt prve faze proizvodnje (slikan iz različni zornih kotov).
4
Za uspešen razvoj sistema je bistvenega pomena dobro poznavanje problematike prve faze
proizvodnje, še posebej napak in odstopanj, do katerih prihaja v oblikah glav vijakov.
1.2 Napake prve faze proizvodnje
Pri kovanju prihaja do različnih napak, ki se odražajo na obliki in dimenzijah glave vijaka:
• napake žice (nehomogenost, razpoke, korozija, površinske poškodbe,…),
• napake pri nastavitvah stroja oz. orodij (netočnosti),
• napake na orodjih (netočne oblike, prevelika zračnost ter obrabe in poškodbe).
Posledice omenjenih napak so neujemanja dejanskih oblik in dimenzij vijaka od zahtevanih
(Slika 5):
• deformiranost oboda (Slika 6a),
• deformiranost utora (Slika 6b),
• ekscentričnost utora (Slika 6c),
• neujemanje v dimenzijah (Slika 6d).
Slika 5: Zahtevane oblike in dimenzije
714 750
66-7
4A
A
A-A
415
229
R60
26°30'
61183-234
28° 0°-1°
+15'0
B
B
B-B
5
(a) deformiranost oboda
(b) deformiranost utora
(c) ekscentričnost utora
(d) neujemanje dimenzij (prevelik utor)
Slika 6: Možna neujemanja z zahtevami oblik in dimenzij vijaka prve faze proizvodnje.
1.3 Zahteve za sistem strojnega vida
Zahteve za sistem strojnega vida, se nanašajo na natančnost merjenja, način delovanja,
pravilnost klasifikacije in čas merjenja.
Zahtevana natančnost merjenja
S sistemom želimo meriti na 0,15 mm natančno.
Zahteve za način delovanja
Sistem strojnega vida naj preverja prisotnost oz. odsotnost vseh naštetih neujemanj z
zahtevami oblik in dimenzij. V primeru, da je na vijaku prisotna katerakoli od zgoraj naštetih
nepravilnosti, mora sistem ta vijak prepoznati (klasificirati) kot slabega.
6
Zahteve za pravilnost klasifikacije
Želimo zagotoviti naslednjo uspešnost klasifikacije:
• med vijaki, ki jih sistem klasificira kot dobre je lahko zgolj 0,01% slabih vijakov,
• med vijaki, ki jih sistem klasificira kot slabe je lahko največ 2% dobrih vijakov.
Zahteve za čas klasifikacije enega vijaka
S stališča stroškov je sprejemljivo, da medfazna kontrola kakovosti posamezen vijak
klasificira v največ eni sekundi.
7
2 Zasnova sistema strojnega vida
Definicija strojnega vida povzeta po AIA (ang.: Automated Imaging Association):
»Sistem strojnega vida je sistem, ki je z uporabo optičnih brezkontaktnih senzorjev sposoben
pridobivanja ene ali več slik, jih obdelati, analizirati in meriti različne značilnosti tako, da
lahko na tej osnovi sprejema ustrezne odločitve« [2].
Gradnike sistema strojnega vida za avtomatizirano ločevanje vijakov prikazuje Slika 7.
Slika 7: Gradniki sistema strojnega vida
Sistem sestavljajo slikovni senzor (kamera z ustreznim objektivom), vir svetlobe (luč) in
računalnik s primerno programsko opremo.
V vidno polje objektiva kamere postavimo glavo vijaka in prizor primerno osvetlimo. Kamera
sliko prizora pošlje računalniku, ki izvede ustrezno klasifikacijo vijaka.
2.1 Strojna oprema
2.1.1 Kamera in objektiv
Za zajem slike uporabljamo monokromatsko (črno-belo) kamero The Imaging Source DMK
31AF03 [3], ločljivosti (1024x768 slikovnih elementov), pri čemer z ustrezno konfiguracijo
dosežemo, da vijak zavzema večji del zajete slike (Slika 8).
8
Slika 8: Primer zajete slike vijaka
Kamero postavimo na tako razdaljo od objekta, da slikovni senzor zajema površino velikosti
13,5 mm x 18 mm.
Tako posamezni slikovni element zajema področje:
18 mm1 slikovni element 0,0175 mm
1024 slikovnih elementovpl = ⋅ = (1)
Na tak način dosežemo povečavo vijaka na zajeti sliki, ki omogoča dovolj natančno merjenje.
2.1.2 Sistem osvetljevanja
S primerno osvetlitvijo zagotovimo, da za merjenje ključni deli opazovanega objekta tvorijo s
preostalimi deli objekta ter okolico čim večjo kontrastnost [2].
Na glavi vijaka želimo čim bolj jasno (ostro) izraziti robove utora in oboda. Poleg tega naj se
na ključnih delih glave ne pojavljajo sence.
Za poudarjanje robov je posebno primerna usmerjena svetloba [4], za preprečevanje senc pa
naj bo vir svetlobe ustrezno postavljen glede na položaj merjenega objekta in kamere.
Usmerjena svetloba, ki ne povzroča senc na samem objektu in v njegovi okolici, je svetloba,
ki na objekt pada z vrha in je postavljena v svetlem polju [5] (Slika 9).
9
(a) svetloba z vrha v svetlem polju
(b) osvetljevanje z obročastim svetilom
Slika 9: Osvetljevanje brez ustvarjanja senc
Tako opisano osvetlitev izvedemo z obročastim svetilom, pritrjenim na objektiv (Slika 9b)
[5]. Le tega sestavlja plastičen nosilec v obliki obroča, na katerem so pritrjene LED diode
(Slika 10).
Slika 10: Obročasto svetilo z LED diodami
Izvedena osvetlitev omogoča kakovosten zajem slike za uspešno razpoznavo oboda in utora
glave vijaka. Težava opisane izvedbe je pojav neželenih odbleskov zaradi ukrivljene in
odbojne površine glave, zaradi česar pri razpoznavanju robov obstaja nevarnost zamenjave
resničnih robov z odbleski.
10
2.1.3 Računalnik in programska oprema:
Za analizo slik in klasifikacijo smo izdelali prototipni program v programskem paketu
MATLAB. Sistem smo preizkušali na računalniku Intel® Core™ 2 CPU (2,67 GHz, 3,5 GB
RAM).
11
3 Algoritem
V tem poglavju je opisana konceptualna zasnova celotnega algoritma, od zajema slike (slika
7), do končne klasifikacije vijaka, vidnega na zajeti sliki.
Algoritem je sestavljen iz sledečih korakov:
• zajem in začetna analiza slike (poglavje 3.1),
• geometrijsko modeliranje glave vijaka (poglavje 3.2),
• meritev izbranih značilk glave vijaka (poglavje 3.3) in
• klasifikacija vijaka glede na rezultate meritev (poglavje 3.4).
Podrobnejša razlaga posameznih postopkov se nahaja v poglavju 4.
3.1 Zajem in začetna analiza slike
Na zajeti sliki se najprej izvrši začetna analiza, katere namen je, preveriti primernost slike za
nadaljnje korake algoritma. Potek začetne analize slike prikazuje Slika 13.
Slika je primerna, če je glava vijaka vidna in zadosti velika (zadostna povečava) ter dovolj
odmaknjena od vseh robov slike (Slika 8). Primerno odmaknjenost (podpoglavje 4.1.8.2)
potrebujemo pri nadaljnjih korakih algoritma. Začetna analiza se izvede v dveh korakih. V
prvem ugotovimo, če je glava vijaka sploh vidna in zadosti velika, v drugem pa približno
lociramo obod glave in preverimo če je le-ta dovolj odmaknjen od roba slike.
Prisotnost glave na sliki
Najprej s podvzorčenjem zajete slike, tvorimo novo podatkovno manj obsežno sliko [6], ki jo
uporabimo za hitrejše izvajanje nadaljnjih korakov.
Nato na podvzorčeni sliki določimo, kateri slikovni elementi pripadajo glavi in kateri ozadju
(binarizacija slike). To določevanje poteka v več fazah. Najprej z apliciranjem Sobelovega
operatorja na podvzorčeno sliko, tvorimo novo sliko (od tu naprej jo imenujemo Sobelova
12
slika), ki jo z ustreznim pragom upragovimo (binarizirana slika) ter tako določimo, kje na
podvzorčeni sliki se nahajajo robne točke, ki jih uporabimo pri določevanju praga binarizacije
(z OTSU-jevo metodo). Ko imamo tako določen prag, lahko na podvzorčeni sliki preštejemo
slikovne elemente, ki pripadajo glavi vijaka. Na podlagi dobljenega števila sklepamo na
prisotnost glave na zajeti sliki.
Lociranje glave na sliki
Na binarizirani sliki s pomočjo Houghove transformacije poiščemo krožnico, ki poteka skozi
večino robnih točk. Tako najdeno krožnico, ki približno podaja lokacijo glave na sliki
označimo s k�� (Slika 11).
Slika 11: Krožnica k��
Če glava vijaka na sliki zaseda dovolj veliko področje (podpoglavje 4.1.7.1) ter je hkrati od
roba odmaknjena več kot 20 slikovnih elementov, sliko klasificiramo kot primerno (Slika 8)
sicer pa kot neprimerno (Slika 12).
Slika 12: Primer neprimerne slike, kjer se glava vijaka dotika robov slike
Če slika ni primerna, se postopek klasifikacije vijaka prekine.
13
Slika 13: Potek začetne analize slike
3.2 Geometrijsko modeliranje glave vijaka
Izmed vidnih delov glave vijaka (Slika 14a) izberemo in geometrijsko modeliramo zgolj tiste,
ki služijo za določanje ustreznosti vijaka. Le-te so obod glave ter zunanji in notranji kraki
utora (Slika 14b).
Geometrijsko modeliranje glave vijaka ločimo na sledeča dela:
• geometrijsko modeliranje oboda (poglavje 3.2.1) in
• geometrijsko modeliranje krakov utora (poglavje 3.2.2).
14
(a) vsi vidni deli in robovi
(b) obravnavani deli in robovi
Slika 14: Geometrija glave vijaka
3.2.1 Geometrijsko modeliranje oboda
Obod glave vijaka geometrijsko modeliramo s krožnico, ki se obodu najbolje prilega. To
krožnico poimenujemo krožnica oboda in jo označimo z oznako ��� (Slika 15). Potek
geometrijskega modeliranja oboda prikazuje Slika 17.
Modeliranje se izvaja v dveh korakih. Najprej določimo robne točke oboda in zapišemo
njihove koordinate, nato pa poiščemo še krožnico oboda.
Slika 15: Krožnica oboda ���
15
Določitev robnih točk oboda
Določevanje robnih točk oboda poteka na od zajete slike manj pošumljeni glajeni sliki, ki jo
dobimo z glajenjem zajete slike.
Glajenju slike sledi izdelava 180 daljic dolžine 40 slikovnih elementov, ki potekajo od
središča krožnice ��� navzven (Slika 16), s pomočjo katerih na glajeni sliki določamo robne
točke.
To storimo s pomočjo računanja gradienta v točkah in smereh glajene slike, ki jih določajo
omenjene daljice. Na koncu popišemo še koordinate dobljenih robnih točk oboda.
Slika 16: Določevanje robnih točk oboda (poteka na daljicah)
Prilagoditev krožnice robnim točkam oboda
Geometrijsko modeliranje oboda s krožnico dokončamo tako, da robnim točkam prilagodimo
krožnico (v smislu najmanjše vsote kvadratov odstopanj).
16
Slika 17: Potek geometrijskega modeliranja oboda
3.2.2 Geometrijsko modeliranje utora
Utor sestoji iz štirih zunanjih in štirih notranjih krakov (Slika 14b). Zunanje krake
geometrijsko modeliramo s krožnico ��� (krožnica utora; Slika 18), notranje pa s štirimi (vsak
krak s svojim) polinomi druge stopnje (polinomi utora; Slika 19).
Tako kot geometrijsko modeliranje oboda se tudi geometrijsko modeliranje krakov utora
izvaja v dveh korakih. V prvem koraku določimo robne točke krakov in zapišemo njihove
koordinate, v drugem koraku pa poiščemo še ustrezen geometrijski model, ki se krakom
najbolje prilega.
17
Slika 18: Geometrijsko modeliranje zunanjih krakov
utora izvedemo s krožnico (krožnica utora ���)
Slika 19: Geometrijsko modeliranje notranjih krakov utora
izvedemo s štirimi polinomi druge stopnje (polinomi utora)
3.2.2.1 Geometrijsko modeliranje zunanjih krakov utora
Potek geometrijskega modeliranja zunanjih krakov utora prikazuje Slika 21.
Določitev robnih točk zunanjih krakov utora
Najprej s podvzorčenjem zajete slike tvorimo podatkovno manj obsežno (podvzorčeno) sliko,
kar nam omogoča pohitritev izvajanja naslednjih postopkov. Podvzorčene slike, ki smo jo
tvorili pri začetni analizi, v tem koraku ne moremo uporabiti, saj se rezultati določitve
zunanjih krakov utora izkažejo kot premalo natančni. Zato zajeto sliko podvzorčimo ponovno,
le da tokrat za podvzorčenje uporabimo drugačne parametre.
Na podvzorčeni sliki detektiramo krožnico, ki približno opisuje zunanje krake utora
(označimo jo s ���).
18
Na omenjeni krožnici, določimo središča zunanjih krakov utora, ki jih označimo s črkami
a,b,c,d (Slika 20).
Slika 20: Središča zunanjih krakov utora (točke a,b,c,d).
V okolici središč izvedemo detekcijo robnih točk. Na ta način izoliramo vse ostale robne
točke in detektiramo le robne točke zunanjih krakov utora.
Prilagoditev krožnice robnim točkam zunanjih krakov utora
Geometrijsko modeliranje zunanjih krakov utora s krožnico dokončamo tako, da robnim
točkam prilagodimo krožnico (v smislu najmanjše vsote kvadratov odstopanj).
19
Slika 21: Potek geometrijskega modeliranja zunanjih krakov utora
3.2.2.2 Geometrijsko modeliranje notranjih krakov utora
Kot smo že omenili, vsakega od štirih notranjih krakov utora modeliramo s svojim
polinomom druge stopnje. Tu vsak notranji krak obravnavamo posebej tako, da najprej
določimo njegove robne točke, nato pa poiščemo še polinom druge stopnje, ki se temu kraku
najbolje prilega (potek modeliranja prikazuje Slika 23). Enak postopek ponovimo za vse štiri
krake.
Določitev robnih točk posameznega notranjega kraka
V poglavju 3.2.2.1 smo določili krožnico utora. Prvi korak pri določitvi robnih točk
posameznega notranjega kraka je, da na tej krožnici poiščemo središče obravnavanega
notranjega kraka (Slika 22).
20
Slika 22: Središča obravnavanega notranjega kraka utora
na krožnici utora (točke A,B,C,D)
V naslednjem koraku izdelamo v okolici tega presečišča čim manjše pravokotno področje
glajene slike, ki v celoti zajema obravnavani notranji krak.
Na tem pravokotnem področju slike izvedemo ustrezno segmentacijo, s katero izločimo
celoten notranji krak.
Na segmentiranem področju slike z računanjem gradienta določimo robne točk notranjega
kraka utora.
Prilagoditev polinoma robnim točkam posameznega notranjega kraka
Najdenim robnim točkam poiščemo čim bolj prilegajoč (v smislu najmanjše vsote kvadratov
odstopanj) polinom druge stopnje.
21
Slika 23: Potek geometrijskega modeliranja notranjega kraka utora
3.3 Določanje izbranih značilk glave vijaka
Naloga značilk je, da vsebujejo informacije o ujemanju oziroma neujemanju dejanskih oblik
in dimenzij od zahtevanih, na podlagi katerih v nadaljevanju izvajamo klasifikacijo vijaka.
Za vsako od v uvodu naštetih neujemanj izberemo pripadajoče značilke, ki nosijo informacijo
o prisotnosti tega neujemanja.
3.3.1 Značilke za ugotavljanje deformiranosti oboda
Preverjanje deformiranosti oboda poteka v dveh korakih. V prvem koraku preverjamo
prisotnosti grobih, v drugem pa manjših deformacij oboda.
22
Kot grobe deformacije oboda razumemo tiste deformacije, ki so tako velike, da se del oboda
nahaja izven področja slike, v katerem iščemo njegove robne točke (Slika 24a).
Manjše deformacije so vse prisotne deformacije, ki so manjše od grobih, torej tiste, pri katerih
se celoten del oboda še nahaja znotraj področja slike, v katerem iščemo njegove robne točke
(Slika 24b).
(a) Grobe deformacije
(b) Manjše deformacije
Slika 24: Deformacije oboda glave vijaka
Za značilko, ki nosi informacijo o prisotnosti grobih deformacij oboda vijaka, izberemo
število robnih točk s��, ki jih najdemo s pomočjo 180 daljic (podpoglavje 4.2.3).
Za značilko, ki nosi informacijo o prisotnosti manjših deformacij oboda vijaka, izberemo
odstopanje robnih točk oboda od tem točkam prilegajoče se krožnice (krožnica oboda).
3.3.2 Značilke za ugotavljanje prisotnosti deformiranosti utora
Deformacije utora se pojavljajo tako na zunanjih kot notranjih krakih (Slika 25).
(a) Deformacija na notranjem kraku utora
(b) Deformacija na zunanjem kraku utora
Slika 25: Deformacije utora
23
Za značilko, ki nosi informacijo o prisotnosti deformacij na notranjih krakih utora izdelamo
parameter, ki meri odstopanje robnih točk notranjih krakov utora, od pripadajočih polinomov
utora.
Za značilko, ki nosi informacijo o prisotnosti deformacij na posameznem zunanjem kraku
utora izdelamo parameter, ki meri širino tistega dela omenjenega kraka, ki je od središča
krožnice utora oddaljen v dopustnih mejah.
3.3.3 Značilke za ugotavljanje ekscentričnosti utora
Iz primerjave slike vijaka, ki ima prisotno ekscentričnost utora, s sliko vijaka, kjer je
ekscentričnosti utora zanemarljiva, vidimo, da ekscentričnost vpliva na relativni položaj
krožnic oboda in utora (Slika 26).
(a) zanemarljiva ekscentričnost utora
(b) ekscentričnost utora je prisotna
Slika 26: Vpliv ekscentričnosti utora na krožnici oboda in utora
Za značilko, ki nosi informacijo o ekscentričnosti utora, izberemo razdaljo od središča
krožnice oboda do središča krožnice utora.
24
3.3.4 Značilke za ugotavljanje prisotnosti napak v dimenzijah
Značilke za ugotavljanje prisotnosti napak v dimenzijah morajo biti neodvisne od povečave,
saj bi v nasprotnem primeru imele že majhne spremembe v povečavi za posledico napačno
klasificiranje vijaka.
Za značilko, ki nosi informacijo o prisotnosti napak v dimenzijah glave vijaka izberemo
razmerje med radiem krožnice oboda in radiem krožnice utora (Slika 27).
Slika 27: Razmerje radiev krožnice utora in oboda
3.4 Klasificiranje vijaka
Vijak klasificiramo v razred slabih vijakov, če na podlagi značilk ugotovimo katerokoli od
neujemanj dejanskih oblik in dimenzij z zahtevami. Za vsako od naštetih neujemanj smo že
določili pripadajoče značilke, sedaj pa izdelajmo še pripadajoče klasifikatorje.
Klasifikacijo opravljajo štirje klasifikatorji, od katerih vsak obravnava eno od omenjenih
neujemanj oziroma pripadajočih značilk.
Potek klasifikacije prikazuje Slika 28.
25
Slika 28: Potek klasifikacije
Klasifikatorja k1 in k2 izvedeta klasifikacijo na podlagi značilk, ki nosijo informacije o
deformiranosti oboda oziroma utora. Klasifikacijo na podlagi značilk, ki nosijo informacije o
ekscentričnosti utora in napakah v dimenzijah, pa izvedeta klasifikatorja k3 in k4 (Slika 28).
Vijak klasificiramo v skupino dobrih vijakov, le v primeru da ga vsi štirje klasifikatorji
klasificirajo v skupino dobrih.
26
27
4 Razlaga uporabljenih postopkov
4.1 Postopki za zajem in začetno analizo slike
4.1.1 Podvzorčenje
Podvzorčenje iz vhodne slike tvori podatkovno manj obsežno sliko, kar omogoča hitrejše
izvajanje nadaljnjih korakov analize.
Podvzorčenje izvedemo tako, da pravokotnim področjem slikovnih elementov priredimo
vrednost njihovega povprečja [6]. Postopek se izvaja tako, da se pomikamo po celotni sliki in
pri tem računamo povprečno vrednost slikovnih elementov, ki ležijo v posameznem področju.
Postopek podvzorčenja z velikostjo področja 3x3 prikazuje Slika 29.
Slika 29: Potek podvzorčenja s pravokotnim področjem 3x3 slikovnih elementov
Redukcija količine podatkov nam odstrani oziroma zamegli detajle, ki so manjši od izbranega
pravokotnega področja. S pravilnim izborom velikosti področja slikovnih elementov
odpravimo detajle želenih velikosti, ki so za nas nepomembni.
Redukcija količine podatkov ima tudi negativne posledice. Postopki, ki se izvajajo na sliki z
manjšim številom slikovnih elementov, nam dajo manj točne rezultate kot postopki, ki se
izvajajo na sliki z večjim številom elementov.
28
Postopek podvzorčenja ima poleg pravkar omenjenih še en učinek. Povprečenje slikovnih
elementov, deluje kot nizkopasovni filter (redukcija šuma), zato v nadaljevanju lahko
uporabljamo postopke, ki so bolj občutljivi na šum [6].
Ti učinki odločilno vplivajo na izbor velikosti pravokotnega področja. Večje kot je le-to,
hitrejši so nadaljnji koraki analize in boljša je redukcija šuma, hkrati pa so rezultati nadaljnih
korakov analize manj točni.
S podvzorčeno sliko določimo prag binarizacije in grobo lociramo glavo vijaka na sliki.
Predvsem slednja naloga nam diktira pravilno izbiro velikosti pravokotnega področja. Za
podvzorčenje smo na podlagi rezultatov poskusov s področji velikosti 4x4, 8x8 in 16x16
slikovnih elementov izbrali velikost področja 8x8 slikovnih elementov (primere podvzorčenja
s področji različnih velikosti prikazujejo Slika 30, Slika 31 in Slika 32).
(a) (b) (c)
Slika 30: Podvzorčenje s področjem velikosti 4x4 slikovnih elementov in lociranje
glave vijaka na podvzorčeni sliki (lociranje se izvede v 11.046 s)
(a) (b) (c)
Slika 31: Podvzorčenje s področjem velikosti 8x8 slikovnih elementov in lociranje
glave vijaka na podvzorčeni sliki (lociranje se izvede v 1.094 s)
29
(a) (b) (c)
Slika 32: Podvzorčenje s področjem velikosti 16x16 slikovnih elementov in lociranje
glave vijaka na podvzorčeni sliki (lociranje se izvede v 0.172 s)
Velikost področja 8x8 slikovnih elementov nam zagotovi še sprejemljivo točnost in hitrost
lociranja položaja glave vijaka na sliki. Področje 4x4 nam zagotovi boljšo točnost vendar za
to porabi preveč časa, področje 16x16 pa nam ne zagotovi dovolj točne lokacije glave.
4.1.2 Tvorjenje Sobelove slike
S pomočjo Sobelovega operatorja iz podvzorčene slike tvorimo Sobelovo sliko.
S Sobelovim operatorjem izračunamo velikost gradienta v vsaki točki (x,y) vhodne slike
(, �) po enačbi:
22( , ) ( , )
( , )f x y f x y
g x yx y
∂ ∂ = + ∂ ∂ (2)
oz. v praksi uporabljamo računsko manj zahtevno enačbo:
( ) ( , ) ( , ),
f x y f x yg x y
x y
∂ ∂= +∂ ∂
(3)
kjer se parcialna odvoda izračunata po enačbi:
( )( )( , )1, ( , )
f x yf x y f x y
x
∂ = + −∂
(4)
in
( )( )( , ), 1 ( , )
f x yf x y f x y
y
∂ = + −∂
(5)
30
Implementacijo enačb (4) in (5) se v praksi izvede s filtriranjem slike v prostorski domeni s
sledečima maskama (Sobel-ova operatorja; Slika 33):
Slika 33: Sobelova operatorja (maski za filtriranje slike v prostorski domeni)
Filtriranje slike z želeno masko se izvede tako, da usrediščimo masko na slikovni element v
točki (x,y), zmnožimo vrednosti slikovnih elementov vhodne slike z istoležnimi koeficienti v
maski in zmnožke seštejemo. Vsota predstavlja vrednost slikovnega elementa izhodne slike
g(x,y) v točki (x,y) [7].
Na opisan način iz vhodne (podvzorčene) slike dobimo izhodno Sobelovo sliko (Slika 34).
(a) Vhodna slika
(b) Sobelova slika
Slika 34: Vhodna slika in pripadajoča Sobelova slika
31
4.1.3 Upragovljenje Sobelove slike
Prag binarizacije določamo z OTSU metodo (podpoglavje 4.1.4), za kar potrebujemo
histogram osvetljenosti slikovnih elementov. Ker sta histograma zajete in podvzorčene slike
po obliki zelo podobna, se rezultata OTSU metode, ki jo izvedemo na obeh histogramih ne
razlikujeta dosti. Ker ne potrebujemo zelo natančnega rezultata za računanje praga
binarizacije, uporabimo podvzorčeno sliko.
Ima pa računanje praga binarizacije iz histograma pomanjkljivost. Če prag binarizacije
določamo direktno na histogramu slike, je rezultat odvisen od povečave glave vijaka na sliki,
saj povečava vpliva na razmerje velikosti temnega (objekt) in svetlega področja (ozadje) [6].
Namesto tega s pomočjo upragovljene Sobelove slike določimo, kje na podvzorčeni sliki se
nahajajo robne točke in samo te upoštevamo pri tvorjenju histograma, s čimer omilimo vpliv
povečave glave vijaka na rezultat postopka, saj sta tako temno in svetlo področje, ki ju
upoštevamo pri tvorjenju histograma približno enako veliki, ne glede na povečavo [6].
Robne točke poiščemo tako, da določimo vrednost Sobelove slike (prag), od katere naprej
smatramo točke za robne. Tak prag poiščemo tako, da pregledujemo histogram Sobelove slike
od začetka, dokler mu vrednost pada v posamezni točki (Slika 35). Ko upadanja ni več, smo
dosegli rob začetnega hriba in s tem določili iskano vrednost praga Sobelove slike [6].
Slika 35: Histogram Sobelove slike
(relativna frekvenca slikovnega elementa z osvetljenostjo 0 ni prikazana v celoti)
32
4.1.4 Določanje praga binarizacije
OTSU metoda za določanje praga binarizacije temelji na izračunih, ki jih izvajamo na
histogramu slike [8].
V našem primeru OTSU metodo izvajamo na histogramu, ki ga dobimo tako, da na
podvzorčeni sliki upoštevamo le tiste slikovne elemente, v katerih je vrednost gradienta tako
velika, da smatramo, da ti slikovni elementi predstavljajo robne točke.
Po OTSU metodi izračunan optimalni prag, slike z MN slikovnimi elementi, ki ima �
slikovnih elementov z vrednostjo , je tista vrednost k*, ki maximizira medrazredno varianco
(ang. between-class variance) �2 (�) [8]:
( )2 * 2
0 1max ( )B B
k Lk kσ σ
≤ ≤ −= (6)
Pri čemer medrazredno varianco računamo:
21
0 0 02
0 0
( )1
L k ki i i
i i i
Bk ki i
i i
n n ni iMN MN MN
kn n
MN MN
σ
−
= = =
= =
⋅ − = −
∑ ∑ ∑
∑ ∑
(7)
Izračunamo ga tako, da enačbo (7) izračunamo za vse možne k; optimalni prag k* je tista
vrednost k, pri kateri ima izraz ���(�) maximum.
Tako določen optimalni prag, nam zagotovi najboljšo separacijo med razredoma (ozadje in
objekt), v smislu vrednosti slikovnih elementov[8].
Ko imamo tako najden optimalni prag k*, izračunamo še binarizirano sliko g(x,y).
Izračunamo jo z binarizacijo vhodne slike f(x,y) s pragom k*:
( ) ( )( )
*
*
1 ,,
0 ,
če f x y kg x y
če f x y k
>= ≤ (8)
Na opisan način iz vhodne (podvzorčene) slike dobimo binarizirano sliko (primer prikazuje
Slika 36).
33
(a) Vhodna slika
(b) Binarizirana slika
Slika 36: Vhodna slika in pripadajoča binarizirana slika
4.1.5 Prag Sobelove slike
S postopkom upragovljenja Sobelove slike (iz podpoglavja 4.1.2), z ustreznim pragom,
želimo določiti robne točke. Te robne točke potrebujemo za določitev krožnice, ki se le tem
najbolje prilega (v smislu najmanjše vsote kvadratov odstopanj). Za izdelavo slike robnih
točk, smo namesto določevanja ustreznega praga in upragovljenja Sobelove slike, uporabili že
vgrajeno Matlabovo funkcijo edge:
[gr]=edge(f,'sobel',t);
Funkcija edge iz vhodne slike f, izdela s pomočjo upragovljenja s Sobelovim operatorjem
tvorjene slike, sliko robnih točk. Za upragovljanje uporabi prag, ki ga vpišemo, kot parameter
t. Če parametra ne podamo, prag funkcija določi avtomatsko.
V našem primeru parametra nismo podali, saj smo na ta način dobili sliko robnih točk, ki
povsem ustreza iskanju krožnice s Houghovo transformacijo.
4.1.6 Detekcija krožnice
Na sliki robnih točk poiščemo krožnico ��� , ki poteka skozi večino le-teh. Postopek
izvedemo z algoritmom za iskanje krivulj s pomočjo Houhove transformacije [9].
Iskanje krožnice na sliki robnih točk f(x,y) velikosti M x N poteka tako, da izdelamo tri-
dimenzionalno ničelno matriko � � ℝ × � × �√ �����. Nato za vsako robno točko f(i,j)=1
rešimo, za vse parametre ��ℂ: 1 …� in ��ℂ: 1 …�, enačbo (izračunamo r):
34
( ) ( )2 2r i p j q = − + −
(9)
Če smo za nek par ��� ,��� izračunali �� , povečamo v matriki � vrednost elementa
� = ���;��; ��� za ena.
Vrednost elementa ����, ��, ��� po končanem postopku predstavlja število robnih točk slike
f(x,y), ki ležijo na krožnici, ki jo določajo parametri ���; ��; ���.
Krožnica ���, je tista krožnica, katere parametri so določeni s pozicijo elementa z največjo
vrednostjo v matriki A.
4.1.7 Klasifikacija zajete slike
V tem podpoglavju sta predstavljena dva potrebna pogoja za klasifikacijo slike v razred
primernih slik. Če sta oba potrebna pogoja izpolnjena, je s tem izpolnjen zadosten pogoj in
sliko klasificiramo v skupino primernih slik, sicer pa ne.
Pogoja:
• prisotnost in primerna povečava glave vijaka na sliki,
• primerna odmaknjenost glave od robov slike.
4.1.7.1 Prisotnost in povečava vijaka na sliki
Če je vijak na sliki viden in primerno povečan, ugotavljamo s pomočjo števila slikovnih
elementov, ki pripadajo glavi vijaka (slikovni elementi z vrednostjo 1 na binarizirani sliki;
Slika 36b).
Prvi pogoj, da sliko klasificiramo kot primerno, je da mora vsebovati tako število slikovnih
elementov, ki pripadajo glavi vijaka �, da izpolnjuje enačbo:
min max0,03 0,3vsi vsis s s s s= ⋅ < < = ⋅ (10)
35
Meji ���� in ���� sta postavljeni tako, da slika, na kateri vijak zavzema več kot 30% ali manj
kot 3% vseh slikovnih elementov (���� = 1024 ∙ 768), klasificiramo kot neprimerno.
Spodnjo mejo uvedemo, da slike s premajhnim številom �, klasificiramo kot neprimerne, saj
bi bila natančnost analize, izvedena na takih slikah, nezadovoljiva. Zgornjo pa zato, da po
nepotrebnem ne trošimo procesorskega časa in pomnilnika.
Če vijak na sliki ni viden (Slika 37a) ali če je vijak ustreznih dimenzij na sliki neustrezno
povečan (Slika 37b in c) potem število � ne ustreza pogojem (enačba (10)) in sliko
klasificiramo kot neprimerno (če izpolnjuje tudi drugi pogoj; podpoglavje 4.1.7.2).
V primeru, da je vijak ustreznih dimenzij na sliki ustrezno povečan (Slika 38a), potem število
s pogojem ustreza in sliko klasificiramo kot primerno (če izpolnjuje tudi drugi pogoj).
Vijak neustreznih dimenzij, ki je na sliki ustrezno povečan (Slika 38b in c), ima vedno tako
število �, da zadosti enačbi (10), saj dosedanji poskusi kažejo, da vijak nikoli ni tako močno
deformiran, da bi lahko pri ustrezni povečavi zajeli tako sliko, katere število � ne bi
izpolnjevalo enačbe (10).
Če je vijak napačnih dimenzij na sliki neustrezno povečan, potem želimo sliko klasificirati kot
neprimerno (saj smo jo zajeli z neustrezno povečavo). Kljub temu, da se to v večini primerov
zgodi (število � ne ustreza enačbi (10)), pa včasih napačne dimenzije vijaka povzročijo, (da
kljub neustrezni povečavi) število � enačbi (10) ustreza, in sliko klasificiramo kot primerno
(če izpolnjuje tudi drugi pogoj). Taki primeri pa se ne izkažejo za kritične, saj takrat nadaljnja
analiza vijak klasificira kot slabega (saj ima močno napačne dimenzije).
(a) ni vijaka
(b) premajhna povečava
(c) prevelika povečava
Slika 37: Neustrezne slike
36
(a) vijak pravih dimenzij
(b) premajhen vijak
(c) prevelik vijak
Slika 38: Ustrezne slike
4.1.7.2 Odmaknjenost glave vijaka od robov slike
Krožnica ��� (podpoglavje 4.1.6), ki nam približno (analiza na podvzorčeni sliki) podaja
lokacijo glave na sliki, mora biti od vseh robov slike odmaknjena najmanj za razdaljo 20
slikovnih elementov. V nadaljevanju (poglavje 4.2) tako oddaljenost potrebujemo saj okrog te
krožnice postavimo daljice (okrog in okrog), ki segajo izven nje za omenjeno dolžino.
Zajeta slika ima dimenzije 1024x768 slikovnih elementov, zato pogoj za ustrezno
odmaknjenost najdene krožnice ���, ki jo podajajo parametri (x-koordinata središča krožnice
p, y-koordinata središča krožnice q in radij krožnice r), zapišemo s sklopom enačb:
20p r− > (11)
1024p r+ < (12)
20q r− > (13)
768q r+ < (14)
Da je omenjeni pogoj izpolnjen, morajo biti izpolnjene vse štiri enačbe.
37
4.2 Postopki za geometrijsko modeliranje glave vijaka
4.2.1 Postopki za geometrijsko modeliranje oboda
4.2.1.1 Redukcija šuma z glajenjem zajete slike
Za geometrijsko modeliranje oboda moramo določiti njegove robne točke, za katere smatramo
tiste slikovne elemente, v katerih se intenziteta močneje spremeni. Na spremembe intenzitete
poleg pravega roba vpliva tudi šum, še posebej impulzni (ang. impulse noise). Zato želimo ta
šum na zajeti sliki reducirati.
Posebej učinkovit filter za redukcijo impulznega šuma je medianin filter, ki tudi povzroča
manjšo zameglitev (ang. blurring) slike kot linearni gladilni filtri podobne velikosti [8].
Izhodno sliko g(x,y) filtriramo z median filtrom tako, da vrednost slikovnega elementa
izhodne slike v točki (x,y) izračunamo kot mediano vrednosti slikovnih elementov vhodne
slike f(x,y) v regiji, definirani s ���:
( ) ( ){ }( , )
, ,xys t S
g x y median f s t∈
= (15)
pri čemer ��� predstavlja množico koordinat v pravokotnem slikovnem oknu (okolici)
dimenzij m x n, centriranim v točki (x,y) [8].
V našem primeru uporabljamo okno velikosti 7 x 7. Tako vrednost smo določili na podlagi
rezultatov večjega števila poskusov. Večje okno zagotavlja boljšo redukcijo šuma, a hkrati
tudi večjo zameglitev, torej odstranjevanje večjih detajlov z vhodne slike.
Ker okno obsega 49 (7 x 7) slikovnih elementov, je mediana petindvajseta največja vrednost
slikovnih elementov v oknu. Z median filtriranjem dobimo iz vhodne slike (zajeta slika), manj
šumno izhodno sliko (Slika 39).
38
(a) vhodna (zajeta) slika
(b) izhodna filtrirana (z median filtrom) slika
Slika 39: Reduciranje šuma z median filtriranjem
4.2.1.2 Izdelava daljic
Določevanje robnih točk oboda poteka z računanjem gradienta glajene slike v točkah in
smereh, ki jih določajo daljice (Slika 16). Ideja takega postopka je, da robne točke iščemo
zgolj v majhnem področju (in ne na celotni sliki), kjer jih pričakujemo.
V tem koraku za določevanje robnih točk izdelamo 180 (druga na drugo nagnjenih za 2°)
daljic, ki gredo iz smeri središča glave skozi njen obod. Informacijo o približni lokaciji
središča glave in njenega oboda nam podajajo parametri krožnice ���. Primer tako določenih
daljic prikazuje Slika 16.
Razlog, da izdelamo daljice, ki so druga proti drugi nagnjene za 2°, je da na tak način
določimo robne točke oboda vijaka (podpoglavje 4.2.1.3), ki so druga od druge odmaknjene
za 0,13 mm (Slika 40). Tako detektiramo vse deformacije, ki so večje od 0,13 mm.
39
Slika 40: Razmik med daljicami za določevanje robnih točk oboda
Koordinate točk, ki ležijo na omenjenih daljicah shranimo v tri-dimenzionalno matriko
� � ℝ � × �� × ���. Njihovo določevanje poteka s sledečim postopkom.
Najprej določimo krožnico ��, za katero velja, da ima središče v isti točki kot krožnica ���,
njen radij pa je za 20 slikovnih elementov večji od radia krožnice ��� (Slika 41). Krožnica ��
je torej določena z krožnico ��� tako:
( ) ( )2, 2 2 ,, , 20k k k kho kho khop q r p q r= + (16)
Slika 41: Krožnici ��� in ��
V naslednjem koraku določimo 180 točk, ki ležijo na krožnici �� in so enakomerno
razporejene po njenem celotnem obodu.
40
Temu koraku sledi postopek, ki ga izvedemo 180 krat (za točke i=1…180):
1. za točko i, ki leži na krožnici, določimo parametra (��,��) premice, ki poteka skozi
središče krožnice �� in omenjeno točko i.
2. za premico i (iz koraka 1), določimo 40 točk, ki ležijo na 40 slikovnih elementov dolgi
daljici (te premice), ki v celoti leži znotraj krožnice �� in je od njenega središča
maximalno oddaljena (Slika 42).
Slika 42: Daljica sestavljena iz 40 točk
Z opisanim postopkom dobimo točke vseh 180 daljic za določanje točk oboda (Slika 43).
Slika 43: Daljice za določanje robnih točk oboda
Nato koordinate tako najdenih daljic oziroma točk, ki na njih ležijo, shranimo v matriko D.
41
4.2.1.3 Določitev robnih točk oboda
Robne točke oboda določamo z računanjem gradienta glajene slike v točkah in smereh, ki jih
določajo koordinate točk, ki ležijo na daljicah.
Za vsako daljico � (j=1,2,….180) izračunamo gradientni vektor glajene slike:
( ) 1 40
1 40
:,:,d Dj
x xj
y y
… = = …
(17)
kar poteka tako, da v točki T!(x!, y!) glajene slike f�x, y� izračunamo gradient:
( ) ( ) ( ) ( ) ( )1 1 1 1, , , , ,i i i i i i i i i ig x y f x y f x y f x y f x y− − + += − + − (18)
Gradientni vektor glajene slike za daljico � dobimo, če v vsaki točki �� (i=1,2,…,40) daljice
� izračunamo gradient.
Če gradientne vektorje postavimo na mesta, ki so določena s koordinatami pripadajoče
daljice, dobimo sliko gradientnih vektorjev (Slika 44).
Slika 44: Slika gradientnih vektorjev
Robne točke na sliki gradientnih vektorjev določamo v dveh korakih. Najprej vsak gradientni
vektor ustrezno upragovimo. Vrednosti elementov vektorja, ki so manjše od postavljenega
praga postavimo na vrednost 0 ostale pa na 1. Tako dobljeni vektorji vsebujejo informacijo o
kandidatih robnih točk.
42
Nato iz množice kandidatov robnih točk odstranimo neustrezne. Na ta način določanje robnih
točk poteka na podlagi dveh informacij. Prva informacija je velikost gradienta, kar samo po
sebi ne zadošča, saj na gradient poleg pravih robnih točk vplivajo tudi odbleski na vijaku. Ti
včasih povzročijo še večji gradient od pravih robnih točk. Zato se pri določanju robnih točk
poslužujemo še druge informacije, ki sporoča relativni položaj točk (ene točke v primerjavi z
drugimi), s povečanim gradientom. Iz tega sklepamo, kateri kandidat robne točke je prava
robna točka.
Določitev praga
Prag smo določili na podlagi rezultatov večjega števila poskusov. Postavili smo ga tako, da v
primeru ko daljica, ki določa lokacijo gradientnega vektorja na glajeni sliki, ne poteka preko
oboda, noben element tega gradientnega vektorja praga ne presega (Slika 45a). V nasprotnem
primeru pa v gradientnem vektorju vsaj nekaj elementov postavljeni prag presega (Slika 45b).
Tako v tem primeru dobimo več kandidatov robnih točk oboda.
(a) Noben element gradientnih vektorjev, ki
jih izračunamo na daljicah znotraj
označenega področja ne presega praga
(b) Nekateri elementi gradientnih vektorjev,
ki jih izračunamo na daljicah znotraj
označenega področja presegajo prag
Slika 45: Postavitev praga gradienta
Odstranjevanje neustreznih kandidatov robnih točk
Prava robna točka oboda je v vsakem gradientnem vektorju tisti kandidat robne točke, ki se
nahaja kot zadnji (maximalen stolpec) v vektorju, saj vemo, da se odbleski pojavljajo zgolj na
vijaku, medtem ko na ozadju teh pojavov ni.
43
4.2.1.4 Prilagoditev krožnice robnim točkam
Koordinate robnih točk oboda potrebujemo, da tem robnim točkam poiščemo čim bolj
prilegajočo krožnico (krožnica oboda) oziroma parametre (��� , ��� , ��� ), ki to krožnico
določajo (Slika 46). To storimo z metodo RANSAC.
Konsenz naključnih vzorcev (ang. Random Sample Consensus), okrajšano RANSAC, je
iterativna metoda, s katero ocenimo parametre matematičnega modela iz množice podatkov,
ki vsebuje tudi odstopajoče primerke (ang. outliers) [10]. Metoda je ne-deterministična v
smislu, da proizvede sprejemljivo dobre rezultate le z določeno verjetnostjo, pri čemer ta
verjetnost narašča s številom izvedenih iteracij [11].
Ideja metode je v tem, da iz množice podatkov, katerim želimo poiskati matematični model,
izberemo majhno podmnožico naključno izbranih vzorcev, iz te množice zgradimo
matematični model, ter preverimo, koliko preostalih vzorcev mu še pripada. Na podlagi tega
ocenimo ustreznost modela. Nato ta postopek ponavljamo dokler z želeno visoko verjetnostjo
ne dobimo dovolj kvalitetnega modela [10].
Vzorcem (koordinate robnih točk oboda), poiščemo krožnico, s sledečim postopkom:
1. Postavimo vrednosti parametrov:
� = 20 (število iteracij)
� = 4 (prag oz. oddaljenost točk od krožnice, ki še dopušča da točke pripišemo krožnici)
� = 140 (potrebno število vzorcev, ki še pripadajo modelu, da privzamemo da krožnica
dobro opisuje podatke)
napaka krožnice = ∞ (vsota kvadratov odstopanja točk od krožnice).
Postopek izvedemo k-krat:
1. Iz množice vzorcev (množica S) naključno izberemo tri vzorce. 2. Izračunamo parametre krožnice �", ki jo določajo izbrani vzorci. 3. Vsi ostali (v točki 1 neizbrani) vzorci iz množice �, ki ustrezajo krožnici �" (njihova
oddaljenost od krožnice �" < t) uvrstimo v množico vzorcev ��. 4. Če je število vzorcev v množici �� večje ali enako parametru d nadaljujemo v točki 5
(sicer točke 5 v tej iteraciji ne izvedemo)
44
5. Vzorcem v množici �� prilagodimo (rešitev najmanjših kvadratov) krožnico �"∗, ter
izračunamo parameter napaka krožnice. Če je pravkar izračunan parameter napaka krožnice, manjši od prejšnjega v matriko �#$�% shranimo parametre krožnice �"
∗.
Po končanem postopku imamo v matriki �#$�% shranjene parametre krožnice (p,q,r), ki z neko
verjetnostjo (odvisno od k) dobro opisuje vzorce.
Določitev parametrov postopka
Večja kot je vrednost parametra k večja je verjetnost, da bomo dobili krožnico, ki dobro
modelira vzorce. Z večanjem števila iteracij narašča tudi čas izvajanja postopka. Za določitev
parametra k moramo poznati verjetnost, da pri izboru iz množice vzorcev S izberemo dober
vzorec (odstopanje < d). Ker te informacije v naprej nimamo, smo za k izbrali čim večjo
vrednost, ki je še sprejemljiva s stališča časovnega izvajanja postopka.
Parametra d in t smo določili na podlagi rezultatov večjega števila poizkusov. Če sta
parametra premajhna je rezultat postopka krožnica, ki preslabo modelira vzorce. Če pa sta
omenjena parametra prevelika, obstaja nevarnost, da take krožnice ni moč najti.
V našem primeru izberemo (k=20, t=4, d=140), da postopek v 20 iteracijah poišče krožnico,
ki ima najmanj 140 vzorcev, ki so od te krožnice oddaljeni manj kot 4 slikovne elemente.
Določanje parametrov krožnice
V korakih 2 in 5 iz vzorcev izdelamo krožnico. V koraku 2 izdelamo krožnico iz treh vzorcev,
v koraku 5 pa iz najmanj treh in največ stoosemdesetih. Ker je krožnica definirana s tremi
parametri (p,q,r), za eksaktno določitev krožnice potrebujemo natanko tri linearno neodvisne
enačbe. V koraku 2 je to zagotovljeno in krožnico določimo tako, da eksaktno rešimo sistem
treh enačb. V koraku 5 pa velja, da je linearno neodvisnih enačb bistveno več (kot tri), saj se
(praktično) nikoli ne zgodi, da bi vse točke ležale na krožnici (še posebej v primeru vijaka z
deformiranim obodom). Posledično sistem enačb tu ni nikoli eksaktno rešljiv, zato namesto
eksaktne rešitve iščemo njen približek. Kot približek v našem primeru uporabljamo rešitev
najmanjših kvadratov (ang. least squares solution) [12].
45
Za določevanje parametrov krožnice v korakih 2 in 5 moramo iz enačbe krožnice zapisati
sistem enačb za n-vzorcev. Enačbo krožnice:
( ) ( )2 2 2x p y q r− + − = (19)
najprej ustrezno preuredimo:
2 2 2 2 22 2xp yq r p q x y+ + − − = + (20)
Za i-to točko, ki leži na krožnici ��, ��� velja:
2 2 2 2 22 2i i i ix p y q r p q x y+ + − − = + (21)
Za n-točk (vzorcev) enačbo preoblikujemo v matrično obliko:
2 21 1 1 1
2 2 2 2 2
2 2 1
2 2 1n n n n
x y p x y
q
x y r p q x y
+ ⋅ = − − +
⋮ ⋮ ⋮ ⋮ (22)
Tako smo enačbo (22) zapisali v obliki matrični obliki:
⋅ =A x b (23)
V koraku 2 enačbo (23) rešimo eksaktno, v koraku 5 pa poiščemo rešitev po metodi
najmanjših kvadratov. Torej namesto enačbe (23) rešimo sledečo enačbo:
T TA Ax=A b (24)
Saj namreč velja [12], da je množica rešitev najmanjših kvadratov, natanko enaka množici
rešitev sistema normalnih enačb (24).
V Matlabu se obe omenjeni nalogi (koraka algoritma 2 in 5) izvršita z vgrajeno funkcijo pinv,
na sledeč način:
x = pinv(A)*b
Če je sistem (23) eksaktno rešljiv ga ta funkcija eksaktno reši, sicer poišče rešitev v smislu
najmanjših kvadratov.
Z opisanim postopkom torej določimo parametre krožnice oboda (Slika 46).
46
Slika 46: Parametri krožnice oboda
4.2.2 Postopki za geometrijsko modeliranje zunanjih krakov utora
4.2.2.1 Podvzorčenje
V tem koraku izvedemo podvzorčenje zajete slike na povsem enak način kot to opisuje
podpoglavje 4.1.1, le da tukaj izberemo področje velikosti 4x4 slikovnih elementov. V
omenjenem podpoglavju smo podvzorčenje izvajali z namenom hitrejšega iskanja krožnice
���, ki je približno 2 krat večja od krožnice ���, katero iščemo v nadaljevanju na podvzorčeni
sliki, ki jo želimo izdelati na tem mestu.
Ker je iskani objekt tu manjši, je parameter podvzorčenja še bolj kritičen. Zato pri tem
postopku uporabimo področje velikosti 4x4 slikovnih elementov, kar nam zajeto sliko
podatkovno manj reducira kot pri rabi področja 8x8 slikovnih elementov.
4.2.2.2 Detekcija krožnice zunanjih krakov utora
Detekcijo krožnice ��� , ki približno opisuje zunanje krake utora, izvedemo na podvzorčeni
sliki podobno kot smo to storili v poglavju 4.1, ko smo detektirali krožnico ���.
47
Najprej na podvzorčeni sliki iz prejšnjega koraka, določimo robne točke z uporabo Matlabove
vgrajene funkcije edge.
Na sliki robnih točk nato z uporabo algoritma za iskanje krožnic s pomočjo Houghove
transformacije določimo krožnico ��� . Omenjeni algoritem se izvaja na enak način kot v
poglavju 4.1.7, le da se tu pri iskanju krožnice omejimo na področje znotraj oboda glave
vijaka. Na ta način dosežemo manjšo verjetnost, detekcije napačne krožnice. Z manjšanjem
področja detekcije postopek tudi pohitrimo.
Detektirano krožnico ��� prikazuje Slika 47.
Slika 47: Krožnica ��� (približno določa lokacijo zunanjih krakov utora)
4.2.2.3 Določitev središč zunanjih krakov utora
V tem koraku določimo štiri točke (a, b, c in d), ki ležijo na krožnici ��� in določajo štiri
središča zunanjih krakov utora (Slika 20). Ta središča bomo v nadaljevanju uporabljali pri
določevanju robnih točk zunanjih krakov utora.
Določitev središč poteka v več korakih. Najprej na podoben način kot smo določili robne
točke oboda v podpoglavjih 4.2.2 in 4.2.3, določimo robne točke notranjih krakov utora, ki
nam dajo potrebno informacijo za določanje središč zunanjih krakov utora.
48
Za določevanje robnih točk notranjih krakov utora izdelamo daljice, na enak način kot smo to
storili v poglavju 4.2.2 s to razliko, da namesto krožnice ��uporabimo krožnico �", ki ima za
pet slikovnih elementov manjši radij.
Na ta način dobimo točke, ki tvorijo daljice, katere potrebujemo za določanje robnih točk
notranjih krakov utora (Slika 48).
Slika 48: Daljice za določanje robnih točk notranjih krakov utora
V naslednjem koraku določimo robne točke notranjih krakov utora na izdelanih daljicah, na
enak način kot smo v podpoglavju 4.2.3 določili robne točke oboda. Le da tu računamo
gradient glajene slike v obratni smeri daljic kot v podpoglavju 4.2.3; tu se po daljicah
pomikamo od oboda proti središču krožnice.
Na ta način na vsaki daljici, ki poteka preko notranjih krakov utora, dobimo pripadajočo
robno točko. Daljice, ki notranjih krakov utora ne prečkajo, so daljice ki ležijo na tistih
premicah, ki sekajo zgolj zunanje krake utora. S pomočjo teh daljic določimo središča
zunanjih krakov utora.
Središča določimo tako, pregledujemo, katere daljice vsebujejo robno točko notranjih krakov
utora. Začnemo z daljico, ki gre vodoravno iz središča krožnice �" radialno proti obodu v
smeri pozitivne osi x, in nadaljujemo v smeri urinega kazalca (Slika 49). Postopek končamo,
ko pregledamo prvih 60 daljic (ki popisujejo območje 120°).
49
Slika 49: Preverjanje, katere daljice ne prečkajo notranjih krakov utora.
V območju 120° se zanesljivo nahaja v celoti vsaj en zunanji krak utora, saj so le ti drug od
drugega zamaknjeni za 90° (Slika 50).
Slika 50: Območje, ki ga je potrebno pregledati, da zanesljivo
zajamemo vsaj en zunanji krak v celoti
Kjer se, pojavi maximalno število zaporednih daljic brez pripadajoče robne točke, se nahaja
zunanji krak utora, katerega središče določimo kot presečišče daljice, ki se nahaja v sredini
maximalnega zaporedja in krožnice ���.
Ostala tri središča določimo kot točke na krožnici ��� , ki so od najdenega središča
odmaknjene za četrtino kroga.
50
4.2.2.4 Določitev robnih točk zunanjih krakov utora
Robne točke v okolici središč, so robne točke zunanjih krakov utora. Te točke določamo na
enak način kot v podpoglavjih 4.2.2 in 4.2.3 le, da pri izdelavi daljic namesto krožnice ��
uporabimo krožnico ��, katero določimo tako:
( ) ( )3, 3 3 ,, , 5k k k khu khu khup q r p q r= + (25)
Namesto daljic po celotnem obodu pa se omejimo zgolj na daljice, ki jih postavimo v
neposredno okolico �±25°� središč zunanjih krakov utora (Slika 51). Okrog vsakega središča
zunanjega kraka postavimo 50 daljic, nagnjenih druga na drugo za 1°.
Slika 51: Daljice za določanje robnih točk zunanjih krakov utora
Kot robne točke posameznega zunanjega kraka utora spoznamo tiste robne točke, katerih
oddaljenost od središča krožnice �� se nahaja znotraj dovoljenih meja.
Spodnja meja je definirano tako:
5sp srtm r= − (26)
Zgornja pa tako:
5zg srtm r= + (27)
Pri čemer ���% označuje razdaljo središčne robne točke zunanjega kraka utora od središča
krožnice ��. Središčna robna točka je tista robna točka, ki jo določimo z računanjem gradienta
glajene slike v točkah in smeri, ki jo določa daljica, ki potuje iz središča krožnice �� skozi
središče zunanjega kraka utora do oboda krožnice ��.
51
4.2.2.5 Prilagoditev krožnice robnim točkam
Robnim točkam poiščemo čim bolj prilegajočo krožnico (krožnica utora) oziroma parametre
(pru,qru,rru), ki to krožnico določajo (Slika 52). To storimo z uporabo postopka, ki temelji na
metodi RANSAC, na enak način, kot smo to storili v podpoglavju 4.2.4, ko smo določali
krožnico oboda, le da tu parametre postopka (t,d,k) postavimo nekoliko drugače.
Na podlagi rezultatov večjega števila poizkusov smo izbrali naslednje parametre postopka:
20
40
20
k
t
d
===
(28)
S postopkom določimo parametre krožnice utora (Slika 52).
Slika 52: Parametri krožnice utora
4.2.3 Postopki za geometrijsko modeliranje notranjih krakov utora
4.2.3.1 Določitev središča notranjega kraka utora
Središče obravnavanega kraka določimo tako, da izberemo enega izmed središč zunanjih
krakov utora (a,b,c,d) (podpoglavje 4.3.3) in se v smeri urinega kazalca po krožnici ���
pomaknemo za 1/8 obsega krožnice. Tako pridemo v točko, ki jo imenujemo središče
obravnavanega notranjega kraka (Slika 53).
52
V nadaljevanju se razlaga nanaša, na obravnavanje notranjega kraka s središčem v točki A.
Slika 53: Središče obravnavanega kraka (točka A)
4.2.3.2 Izdelava področja notranjega kraka utora
V tem podpoglavju določimo meje čim manjšega pravokotnega področja glajene slike, v
katerem je v celoti zajet obravnavan notranji krak. Pri določevanju teh mej so nam v pomoč
koordinate točke A.
V točko A postavimo središči dveh krožnic, večje s polmerom 1 2rur
r = in manjše s polmerom
2 3rur
r = (Slika 54a). Krožnici tvorita krožni kolobar, katerega nato s pravokotnico na premico,
ki gre iz središča krožnice ��� skozi točko A, razdelimo na dve polovici kolobarja. Tista
polovica, ki se nahaja bližje središča krožnice v celoti zajema obravnavani krak. Označimo jo
s ��� (Slika 54b).
Na glajeni sliki določimo meje pravokotnega področja minimalnih dimenzij, ki v celoti
zajema polovico kolobarja ��� (Slika 54c).
53
(a) (b) (c)
Slika 54: Določanje pravokotnega področja glajene slike,
ki zajema celoten notranji krak utora
Mejo ��� določimo kot največjo vrednosti x-koordinate točk, ki ležijo na ��� polovici
kolobarja, mejo ��� pa kot najmanjšo. Enako velja za določitev meja ���� in ����, le da
tam obravnavamo koordinate y.
Te meje določajo najmanjše pravokotno področje glajene slike, ki še zajema celoten notranji
krak.
4.2.3.3 Segmentacija (izločitev kraka utora)
V prejšnjem podpoglavju smo izdelali pravokotno področje glajene slike, ki vsebuje celoten
obravnavan notranji krak utora. Na tem delu slike krak ni v celoti jasno izražen (Slika 54a).
Določanje robnih točk kraka zgolj z računanjem gradienta nam zato ne daje zadovoljivih
rezultatov.
Pred računanjem gradienta moramo iz omenjenega področja slike izločiti celoten notranji
krak. V ta namen uporabimo segmentacijsko metodo razraščanje področij (ang. region
growing).
Razraščanje področij je metoda, ki glede na pogoje razraščanja, združi množico slikovnih
elementov ali področij slike v večja področja [8]. Razraščanje področij izvedemo tako, da
semenom (ang. seed points) dodajamo sosednje slikovne elemente, s podobnimi
predefiniranimi lastnostmi [8].
54
Semena lahko določimo na več možnih načinov. V našem primeru zanje izberemo vse tiste
slikovne elemente obravnavanega področja slike, ki imajo vrednost enako pragu, ki ga na tem
delu slike predhodno določimo z OTSU metodo upragovljenja. Tem semenom potem
dodajamo tiste sosednje slikovne elemente, katerih vrednost se od omenjenega praga razlikuje
za manj kot 45. Slikovne elemente, ki jih tako dobimo, postavimo na vrednost 1, vse ostale
slikovne elemente na tem področju slike pa na 0. Rezultat prikazuje Slika 55.
Slika 55: Glajena slika, s segmentiranim področjem notranjega kraka
V regijo notranjih krakov (slikovni elementi z vrednostjo 1) na opisan način uvrstimo poleg
notranjega kraka tudi ostala svetlejša področja, ki se nahajajo v obravnavanem področju slike
(Slika 55). Kljub temu, da je to neželen učinek, pa na rezultat določevanja robnih točk
notranjega kraka ne vpliva.
4.2.3.4 Določitev robnih točk
Določevanje robnih točk notranjega kraka utora poteka na podoben način kot določevanje
robnih točk oboda (podpoglavji 4.2.1.2 in 4.2.1.3).
Daljice izdelamo na enak način kot v podpoglavju 4.2.1.2, le da namesto krožnice ��
uporabimo krožnico kok (Slika 54a). Izmed vseh tako določenih daljic nato izločimo vse tiste,
ki se nahajajo zunaj krožnice ���, saj tiste zanesljivo ne prečkajo obravnavanega kraka utora.
Računanje gradienta segmentiranega oziroma binariziranega področja slike v točkah in
smereh, ki jih podajajo omenjene daljice izvedemo na enak način kot v podpoglavju 4.2.1.3,
le da prag za določevanje kandidatov robnih točk ustrezno popravimo.
55
Robne točke določamo na binariziranem področju slike (Slika 56), zato je vrednost gradienta
v neki točki omenjenega področja slike, ki ga računamo kot razliko med tremi sosednjimi
slikovnimi elementi največ 2 (če imamo rob debeline 1 slikovni element) oziroma 1 (če
imamo debelejši rob) . Zato za prag postavimo vrednost 1. Vse slikovne elemente, ki imajo
vrednost gradienta večjo kot 1 opredelimo kot kandidate robnih točk.
Slika 56: Daljice za določevaje robnih točk na sliki z binariziranim
področjem obravnavanega kraka utora
Izločevanje napačnih kandidatov robnih točk, izvedemo na popolnoma enak način kot v
podpoglavju 4.2.1.2, saj se znotraj utora odbleski ne pojavljajo.
Da v nadaljevanju tako določene robne točke notranjih krakov utora modeliramo s
polinomom 2 stopnje, moramo najprej določiti koordinate teh točk v ustreznem koordinatnem
sistemu.
Določevanje teh koordinat izvedemo s številčenjem robnih točk in določevanjem njihove
razdalje do krožnice ���. Točke oštevilčimo tako, da povlečemo poltrak iz središča krožnice
��� skozi točko a in ga vrtimo v smeri urinega kazalca. Vsaki robni točki, ki jo s poltrakom
prečkamo, pripišemo večjo vrednost t. Prvi točki, ki jo prečkamo, pripišemo vrednost t=1,
drugi t=2 in tako naprej dokler ne oštevilčimo vseh.
Nato izmerimo razdaljo od vsake od N robnih točk do središča krožnice ���
(r(t=1),r(t=2),….r(t=N)).
56
Potek oštevilčenja in merjenja razdalj robnih točk prikazuje Slika 57 (zaradi lepše vidljivosti
smo namesto glajene slike z binariziranim področjem notranjega kraka utora, oštevilčevanje
prikazali na glajeni sliki).
Slika 57: Oštevilčevanje robnih točk in merjenje razdalj do središča krožnice ���
Tako imamo robne točke popisane z njihovim zaporedjem in z njihovo razdaljo od središča
krožnice ���. Robne točke lahko predstavimo z naslednjim grafom (Slika 58):
Slika 58: Graf robnih točk
57
4.2.3.5 Prilagajanje polinoma robnim točkam
Robnim točkam obravnavanega notranjega kraka utora prilagodimo polinom druge stopnje:
( ) 2p t at bt c= + + (29)
V Matlabu to naredimo z uporabo vgrajene funkcije polyfit(t,r,n), ki določi take koeficiente
polinoma ���� (stopnje n), da je vsota kvadratov napake v ujemanju vrednosti p(t) z
vrednostmi r(t) minimalna. Primer grafa polinoma prikazuje Slika 59.
Slika 59: Robne točke, popisane z polinomom
4.3 Postopki za merjenje značilk
4.3.1 Postopki za merjenje značilk deformiranosti oboda
4.3.1.1 Število robnih točk
Robne točke določamo na glajeni sliki v točkah in smereh, ki jih določajo daljice. Ker imamo
180 daljic, pri vijaku brez deformacij oziroma z majhnimi deformacijami na obodu najdemo
vseh 180 robnih točk. Če pa je vijak močneje deformiran (del oboda zunaj področja daljic,
kjer iščemo robne točke), je najdenih robnih točk ustrezno manj.
Število robnih točk oboda ��% dobimo tako, da najdene robne točke (določevanje robnih točk
opisuje poglavje 4.2.3) enostavno preštejemo.
58
4.3.1.2 Odstopanje robnih točk oboda od krožnice oboda
Odstopanje robnih točk oboda od krožnice oboda ��� definiramo tako:
1.5
1
rts
nk ii
v delta=
=∑ (30)
Pri čemer je delta! definiran kot:
;če 5 slikovnih elementov
0 ;ik ik
i
r rdelta
sicer
>=
(31)
Pri čemer r!& predstavlja razdaljo robne točke i od krožnice.
Značilko ��� računamo tako, da odstopanje (delta) posamezne robne točke od nji najbližje
točke na krožnici potenciramo s potenco 1,5 če je le-ta večja od 5 slikovnih elementov. Sicer
privzamemo za odstopanje vrednost 0. Nato tako dobljena odstopanja za vse najdene robne
točke seštejemo.
Potenciranje uvedemo, da manjše napake (posledice šuma) manj utežimo, večje (posledice
večjih napak glave vijaka) pa več. Z podobnim razlogom uvedemo tudi mrtvo cono 5
slikovnih elementov.
Značilka ��� pove, kako dobro se robne točke oboda prilegajo krožnici oboda.
4.3.2 Značilke za ugotavljanje prisotnosti deformiranosti utora
4.3.2.1 Odstopanje robnih točk notranjih krakov utora, od pripadajo čih polinomov
Notranje krake popišemo z njihovimi robnimi točkami (podpoglavje 4.2.3.4), nato pa jih
geometrijsko modeliramo s polinomi 2 stopnje (podpoglavje 4.2.3.5).
Če se na notranjem kraku pojavijo deformacije, robne točke od polinoma, ki krak modelira, na
mestu deformacije ustrezno odstopajo (Slika 60).
Značilko, ki meri odstopanje robnih točk notranjih krakov utora od pripadajočih polinomov,
definiramo tako:
59
( )( )4 2
1
1( )
N
RMS pj jj i i
v y i y iN= =
= −∑ ∑ (32)
Kjer N označuje število robnih točk kraka j. Oznaki �'( in �( pa označujeta razdaljo robne
točke oziroma vrednosti polinoma od središča krožnice utora (Slika 60).
Slika 60: Skica merjenja odstopanja robnih točk notranjih
krakov od pripadajočih polinomov
Značilka �)*+ , ki nosi informacijo o prisotnosti deformacij na notranjih krakih utora,
predstavlja vsoto korenov srednjih kvadratnih razdalj robnih točk od vrednosti pripadajočih
polinomov.
4.3.2.2 Širina zunanjih krakov
Širino tistega dela zunanjega kraka k, ki je od središča krožnice utora oddaljen v dopustnih
mejah označimo z �� (Slika 61).
60
Slika 61: Skica določevanja parametra �� (zunanjega kraka k)
Značilki, ki nosita poleg informacije o prisotnosti deformacij na zunanjih krakih utora tudi
informacijo o dimenziji zunanjih krakov, temeljita na vrednostih vseh štirih parametrov ��
(za k=1,2,3,4.).
Prva značilka je povprečna vrednost parametrov �� za vse 4 zunanje krake:
1 2 3 4
4pr
d d d dd
+ + += (33)
Druga značilka je razpršenost oziroma standardni odklon parametrov ��:
( )4 2
1
1
4so k prk
d d d=
= −∑ (34)
4.3.3 Postopki za merjenje značilk ekscentričnosti utora
4.3.3.1 Merjenje razdalje med središči krožnic utora in oboda
V podpoglavju 3.3.1 smo omenili, da izberemo za značilko, ki nosi informacijo o
ekscentričnosti utora, razdaljo med središčem krožnice utora in oboda.
61
V podpoglavju 4.2.1.4 smo določili parametre (���,���, ��� ), ki določajo krožnico oboda
(Slika 46), v podpoglavju 4.2.2.5 pa parametre (���,���, ��� ), ki določajo krožnico utora
(Slika 52).
Obe krožnici narišemo na glajeno sliko, označimo njune parametre in označimo razdaljo med
središčema krožnic (Slika 62).
(a)
(b)
Slika 62: Določevanje razdalje med središči krožnice
Iz slike vidimo, da je razdalja med središči določena z enačbo:
( ) ( )2 22 2sk x y ru ro ru ror r r p p q q= + = − + − (35)
4.3.4 Značilke za ugotavljanje prisotnosti napak v dimenzijah
4.3.4.1 Razmerje med radiem krožnice oboda in radiem krožnice utora
V podpoglavju 3.3.3 smo omenili, da izberemo za značilko, ki nosi informacijo o prisotnosti
napak v dimenzijah, razmerje med radiema krožnice oboda in utora (Slika 26):
ruraz
ro
rr
r= (36)
Taka značilka je neodvisna od povečave, saj se oba radia nekega vijaka s spreminjanjem
povečave enako spreminjata in razmerje ostaja nespremenjeno.
62
Če se pojavi napaka v dimenziji oboda ali utora, se spremeni tudi razmerje radiev. Teoretično
bi lahko naleteli na vijak, ki ima napačne dimenzije tako oboda kot tudi utora, pa kljub temu
ohrani zahtevano razmerje radiev omenjenih krožnic. Verjetnost, da naletimo na tak vijak je
izjemno majhna, a če do tega pride bo klasifikacija na podlagi take značilke napačna.
4.4 Postopki klasifikacije
Naša naloga je, da vijak na sliki, glede na prisotnost neujemanj (poglavje 1) ustrezno
klasificiramo kot dober ali slab (binarna klasifikacija). Razred dobrih vijakov označimo z
oznako ��, razred slabih pa z ��.
Naloga klasifikatorja je, da prostor značilk (ang. feature space) razdeli na dve regiji, od
katerih ena pripada razredu ��, druga pa razredu ��. Če vektor značilk x, ki pripada vijaku na
sliki pade v regijo razreda ��, ga klasificiramo v razred ��, sicer pa v razred ��.
Pri klasifikaciji je potrebno vedno upoštevati, da lahko pride do napačne klasifikacije (ang.
misclassification). To se zgodi, ko vektor značilk x, vzorca iz razreda �� , pade v regijo
razreda �� ali obratno [13].
Glede na razred, v katerega vijak spada, ter razred, v katerega ga klasificiramo, obstajajo pri
binarni klasifikaciji štirje možni tipi dogodkov:
• pravilna klasifikacija dobrega vijaka (dober vijak klasificiramo v skupino dobrih),
• napačna klasifikacija dobrega vijaka (dober vijak klasificiramo v skupino slabih),
• pravilna klasifikacija slabega vijaka (slab vijak klasificiramo v skupino slabih),
• napačna klasifikacija slabega vijaka (slab vijak klasificiramo v skupino dobrih).
Vidimo, da obstajata dva tipa napačne klasifikacije. Napačnih klasifikacij ni moč popolnoma
odpraviti [13]. Lahko pa zmanjšamo verjetnost napačne klasifikacije enega tipa, kar pa ima za
posledico zvečanje verjetnosti napačne klasifikacije drugega tipa. To dejstvo upoštevamo, pri
načrtovanju klasifikatorja, za klasifikacijo vzorcev, pri katerih niso vse napake enakovredne
(niso enako »zaželene«).
63
V našem primeru uporabimo klasifikacijo, ki temelji na Bayesovi odločitveni teoriji in
zagotovi minimizacijo povprečenega tveganja (ang. minimizing the avarage risk), saj nam ta
omogoča, da v izračunu odločitvene krivulje upoštevamo pomembnost (nezaželenost)
posameznega tipa nezaželene klasifikacije.
Iz zahtev za pravilnost klasifikacije (poglavje 1) je namreč razvidno, da je napačna
klasifikacija slabega vijaka precej manj zaželena kot napačna klasifikacija dobrega.
Klasifikacija z minimizacijo povprečnega tveganja
Vzorec uvrstimo v skupino ��(��), če:
( )( ) ( ) ( )
( )21 21 22
122 1 12 11|
x |
x
p Pl
p P
λ λω ωλω λω
−≡ > <−
(37)
V enačbi (37) nastopajo a priori verjetnosti P�ω1� in P�ω2�. Verjetnost P�ω1� je verjetnost, da
vzorec pripada razredu ��, verjetnost P�ω2� pa je verjetnost, da vzorec pripada razredu ��. Ti
dve verjetnosti sta znani, oziroma jih lahko ocenimo iz trening vektorjev značilk, tako da iz
množice vzorcev naključno izberemo N vzorcev in vsakega od njih klasificiramo v ustrezen
razred �� oziroma ��. Tako klasificirane vzorce imenujemo trening vzorci. Če smo pri tem
klasificirali v razred �� �� vzorcev v razred �� pa �� vzorcev potem sta ocenjeni verjetnosti:
( ) 11
NP
Nω = (38)
in
( ) 22
NP
Nω = (39)
V enačbi (37) nastopajo tudi razredno – pogojne gostote porazdelitve verjetnosti (ang. class-
conditional probability density functions) �(�|ω!), i=1,2, ki opisujejo porazdelitev vektorjev
značilk v vsakemu od razredov. Tudi te se lahko izračuna iz trening vzorcev. V našem
primeru (pri vseh štirih klasifikatorjih) za obe (i=1 in 2) razredno – pogojni gostoti
porazdelitve verjetnosti �(�|ω!), predpostavimo Gaussovi gostoti porazdelitve verjetnosti, saj
uporabljamo značilke, ki so rezultati vsot velikega števila neodvisnih naključnih spremenljivk
(centralni limitni teorem [13]). Določanje razredno - pogojnih porazdelitev verjetnosti
obravnavamo za vsak klasifikator posebej (s pomočjo trening vzorcev) v nadaljnjih
podpoglavjih.
64
Konstante λ !, v enačbi (37) so elementi izgubne matrike (ang. loss matix) L :
11 12
21 22
Lλ λλ λ
=
(40)
Matrika L ima na diagonali λ !! uteži (kazni), ki se nanašajo na pravilno klasifikacijo.
Konstante izven diagonale λ !, pa so uteži, ki se nanašajo na napačno klasifikacijo. Konstanta
λ !, je utež, ki se pomnoži k tveganju (ki ga klasifikacija po enačbi (1) minimizira), če smo
vektor �, ki spada v razred ��, uvrstili v razred �( (ker je ležal v območju Rj). Določitev
elementov izgubne matrike izhaja iz zahtev o pravilnosti klasifikacije (poglavje 1), in jo
izvedemo v nadaljnjih podpoglavjih za vsak klasifikator posebej.
Verjetnost napačne klasifikacije
Tudi pri klasifikaciji z minimizacijo povprečnega tveganja lahko pride do napačne
klasifikacije. Verjetnost, da do napačne odločitve pride (ang. probability of committing
clasification error), se izračuna z enačbo:
( ) ( ) ( ) ( )2 1 1 1 2 2| |eP P x R P P x R Pω ω ω ω= ∈ + ∈ (41)
oziroma:
( ) ( ) ( ) ( )2 1
1 1 2 2| |e
R R
P P p x dx P p x dxω ω ω ω= +∫ ∫ (42)
4.4.1 Klasifikator k1 (deformiranost oboda)
4.4.1.1 Določitev klasifikacijskega pravila za značilko -.
Značilka ��% nosi informacijo o prisotnosti grobih deformacij na obodu vijaka (podpoglavje
4.3.1.1). Če je vrednost značilke ��%, vijaka na sliki, manjša od 180 ima vijak zagotovo močno
deformiran obod (primer prikazuje Slika 24a). To dejstvo zagotovi sam način merjenja te
značilke (podpoglavje 4.2.1.3).
65
4.4.1.2 Določitev klasifikacijskega pravila za značilko !/0
Določitev razredno - pogojnih porazdelitev verjetnosti
V nadaljevanju tega podpoglavja vektor značilk x predstavlja vektor, katerega edini element
je značilka ���.
Določitev razredno - pogojnih porazdelitev verjetnosti ���|��� in ���|��� v našem primeru
določimo s pomočjo merjenja značilk osemdesetih (N=80) trening vzorcev, ki smo jih
sestavili iz ��=40 dobrih vijakov in ��=40 slabih vijakov (z deformiranim obodom).
Ker predpostavljamo, da vrednosti značilk v obeh razredih sledijo Gaussovi porazdelitvi
(podpoglavje 4.4.1), velja (za oba razreda):
( )2
1
21|
2
i
i
x
i
i
p x eµ
σωσ π
−− = ⋅ (43)
pri čemer μ! označuje povprečno vrednost značilk razreda ��:
1
1 iN
i iji
xN
µ=
= ∑ (44)
σ! pa standardni odklon značilk razreda ��:
( )2
1
1
iN
j iji
i
x
N
µσ =
−=
−∑
(45)
Za vektor značilk x vijakov razreda �� smo izračunali vrednosti (tabela 1):
1
1
340,44
201,18
µσ
==
(46)
Za vektor značilk x vijakov razreda �� pa (tabela 2):
2
2
1296,80
537,70
µσ
==
(47)
Za oba razreda vrednosti parametrov σ! in μ! vstavimo v enačbo (43) in narišemo graf
razredno - pogojnih porazdelitev verjetnosti (Slika 63). Na sliki tudi označimo vrednosti
značilk vseh trening vzorcev.
66
Slika 63: Razredno - pogojeni porazdelitvi verjetnosti ���|��� in ���|���
Določitev elementov izgubne matrike
Elemente izgubne matrike L postavimo tako:
11 12
21 22
0 0,005
1 0L
λ λλ λ
= =
(48)
Uteži, ki se nanašajo na pravilno klasifikacijo postavimo na vrednost 0 (λ �� = λ �� = 0), saj
ne želimo utežiti napačnih klasifikacij.
Iz razmerje med dopustnim številom napačnih klasifikacij slabih in dopustnim številom
napačnih klasifikacij dobrih vijakov (uvod):
0,01 0,005
2 1razmerje= = (49)
določimo še preostali uteži:
12
21
0,005
1
λλ
==
(50)
-1000 0 1000 2000 30000
0.2
0.4
0.6
0.8
1
1.2
1.4x 10
-4
p(v nk
|ωi)
vnk
p(vnk
|ω1); dobri
p(vnk
|ω2); slabi
67
Določitev a priori verjetnosti
Vijake razreda ω2 , ki jih potrebujemo za določevanje klasifikatorja, smo poškodovali v
laboratoriju, zato za določitev a priori verjetnosti P�ω1� in P�ω2� ne moremo izhajati iz števil
�� in �� (enačbi (38) in (39)), ki jih dobimo iz trening vzorcev.
Verjetnosti P�ω1� in P�ω2� sta odvisni od napak, do katerih prihaja v prvi fazi proizvodnje
(uvod), zato tudi močno variirata in zato ju ni moč natančno določiti z nekaj poskusi. Pri
izračunih uporabljamo grobo oceno proizvajalca:
( )( )
1
2
0,998
0,002
P
P
ωω
=
= (51)
Izračun meje (�)
Meja � prostor značilk razdeli na dve regiji od katerih ena ("�) pripada razredu ω1 druga
(R�) pa razredu ω2. Če značilka ���, ki pripada vijaku na sliki pade v regijo razreda ω1 vijak
klasificiramo v razred ω1, sicer pa v razred ω2.
Mejo �1 določa enačba:
( )( )
0 1 2 21 22
0 2 1 12 11
| ( )
| ( )
p x P
p x P
ω ω λ λω ω λ λ
−= ⋅−
(52)
V enačbo (52) vstavimo zgoraj izpeljane parametre in na podlagi izpeljave dobimo rešitev:
0 777,811x = (53)
Regija "�, ki pripada razredu ω1 je določena tako:
1 0( , ]R x−∞∈ (54)
Regija "� pa tako:
2 0[ , )R x ∞∈ (55)
Mejo vrišemo v graf razredno - pogojnih porazdelitev verjetnosti ���|��� in ���|��� (Slika
64).
68
Slika 64: Razredno - pogojeni porazdelitvi verjetnosti ��|��� in ��|���,
in meja �
4.4.1.3 Izvedba klasifikacije
Če je vrednost značilke ��% < 180, potem vijak klasificiramo v razred slabih vijakov (��). V
nasprotnem primeru (��% = 180) vijak klasificiramo v razred slabih vijakov (��), le če je
vrednost njegove značike ��� > �, sicer ga klasificiramo v razred dobrih vijakov (��).
Verjetnost napačne klasifikacije
Verjetnost, da pride do napačne klasifikacije pri izbrani meji x� , izračunamo tako, da v
enačbo (41) vstavimo zgoraj določene parametre:
( ) ( ) ( ) ( )1 2 2 2 1 1| | 0,000334 0,0148 0,01515eP P x R P P x R Pω ω ω ω= ∈ + ∈ = + = (56)
4.4.2 Klasifikator 2 (deformiranost utora)
4.4.2.1 Določitev klasifikacijskega pravila za značilko !234
Določitev razredno - pogojnih porazdelitev verjetnosti
V nadaljevanju tega podpoglavja, vektor značilk x predstavlja vektor, katerega edini element
je značilka �)*+.
-1000 0 1000 2000 30000
0.2
0.4
0.6
0.8
1
1.2
1.4x 10
-4
p(v nk
|ωi)
vnk
← x0
p(vnk
|ω1); dobri
p(vnk
|ω2); slabi
69
Določitev razredno - pogojnih porazdelitev verjetnosti ���|��� in ���|��� v našem primeru
določimo s pomočjo merjenja značilk osemdesetih (� = 80) trening vzorcev, ki smo jih
sestavili iz �� = 40 dobrih vijakov in �� = 40 slabih vijakov (z deformiranim utorom).
Za značilko �)*+ smo za razred �� izračunali vrednosti (tabela 1):
1
1
8,91
2,29
µσ
==
(57)
Za razred �� pa vrednosti (tabela 2):
2
2
20,53
4,89
µσ
==
(58)
Za oba razreda vrednosti parametrov �� in #� vstavimo v enačbo (43) in narišemo graf
razredno - pogojnih porazdelitev verjetnosti (Slika 65). Na sliki tudi označimo vrednosti
značilk vseh trening vzorcev.
Slika 65: Razredno - pogojni porazdelitvi verjetnosti ���|��� in ���|���
Določitev elementov izgubne matrike
Elemente izgubne matrike L postavimo enako kot v podpoglavju 4.4.1.2. Torej tudi tu
upoštevamo za določitev elementov matrike L enačbo (48).
0 10 20 30 400
0.002
0.004
0.006
0.008
0.01
0.012
p(v R
MS|ω
i)
vRMS
p(vRMS
|ω1); dobri
p(vRMS
|ω2); slabi
70
Določitev a priori verjetnosti
Za a priori verjetnosti uporabimo enake ocene kot v podpoglavju 4.4.1.2. Torej upoštevamo
enačbo (51).
Izračun meje (xo)
V enačbo (52) vstavimo zgoraj izpeljane parametre in na podlagi izpeljave dobimo rešitev:
0 14,08x = (59)
Označimo �)*+� = � = 14,08
Regija R�, ki pripada razredu ω1 je določena z enačbo (54), regija R� pa z enačbo (55).
Mejo vrišemo v graf razredno - pogojnih porazdelitev verjetnosti ���|��� in ���|��� (Slika
66).
Slika 66: Razredno - pogojni porazdelitvi verjetnosti ���|��� in ���|���,
in meja �
4.4.2.2 Določitev klasifikacijskega pravila za značilki $5- in $67
Določitev razredno - pogojnih porazdelitev verjetnosti
V nadaljevanju tega podpoglavja, je vektor značilk x določen z dvema značilkama:
0 10 20 30 400
0.002
0.004
0.006
0.008
0.01
0.012
p(v R
MS|ω
i)
vRMS
← x0
p(vRMS
|ω1); dobri
p(vRMS
|ω2); slabi
71
x pr
so
d
d
=
(60)
Določitev razredno - pogojnih porazdelitev verjetnosti ���|��� in ���|��� v našem primeru
določimo s pomočjo merjenja značilk osemdesetih (N=80) trening vzorcev, ki smo jih
sestavili iz �� = 40 dobrih vijakov in �� = 40 slabih vijakov (z deformiranim utorom).
Za vektor značilk x vijakov razreda �� smo izračunali vrednosti:
1
1
59,401
5,553
3,470
2,018
µ
σ
=
=
(61)
Za vektor značilk x vijakov razreda �� pa vrednosti:
2
2
41,368
13,883
13,019
6,652
=
=
µ
σ
(62)
Multivariabilna generalizacija Gaussove pdf v l-dimenzionalnem prostoru je, dana z enačbo
[13]:
( )( )
( ) ( )11
21
2 2
1
2
Tx x
lp x e
µ µ
π
− − − Σ − = ⋅
Σ (63)
pri čemer Σ označuje kovariančno matriko:
[ ]2
1 1 1 121 1 2 2 2
2 2 12 1
Σx
E x xx
µ σ σµ µµ σ σ
− = − − = −
(64)
Za oba razreda, vrednosti vektorjev %8 in &8 vstavimo v enačbi (63) in (64) ter narišemo graf
razredno - pogojnih porazdelitev verjetnosti (Slika 67).
72
Slika 67: Razredno - pogojni porazdelitvi verjetnosti ���|��� in ���|���
Določitev elementov izgubne matrike
Elemente izgubne matrike L postavimo enako kot v podpoglavju 4.4.1.2. Torej tudi tu
upoštevamo za določitev elementov matrike L enačbo (48).
Določitev a priori verjetnosti
Za a priori verjetnosti uporabimo enake ocene kot v podpoglavju 4.4.1.2. Torej upoštevamo
enačbo (51).
Izračun meje (�1)
V primeru vektorjev značilk z več kot enim elementom, namesto enačbe (52) za določevanje
meje rešujemo enačbo:
( ) ( )( )( ) ( ) ( )( )( )0 1 1 12 11 0 2 2 22 21ln | ln |p x P p x Pω ω λ λ ω ω λ λ− = − (65)
Če v enačbo (65), vstavimo zgoraj določene parametre dobimo:
( )2 20 1 1 2 2 2: 136,877 0,0387 4,647 0,0094 0,5076 0,1119 0x x x x x x− − + + + − = (66)
Regija "�, ki pripada razredu ω1 je določena tako:
( )2 21 1 1 2 2 2: 136,877 0,0387 4,64758 0,00944 0,5076 0,11190R x x x x x− − + + + − < (67)
73
Regija R� pa tako:
( )2 22 1 1 2 2 2: 136,877 0,0387 4,64758 0,0094 0,5076 0,1119 0R x x x x x− − + + + − < (68)
Mejo vrišemo v graf razredno - pogojnih porazdelitev verjetnosti ���|��� in ���|��� (Slika
68).
Slika 68: Razredno - pogojni porazdelitvi verjetnosti ���|��� in ���|���
in meja �1
4.4.2.3 Izvedba klasifikacije
Če je vrednost značilke �)*+ > �)*+� , potem vijak klasificiramo v razred slabih vijakov
(��). V nasprotnem primeru (�)*+ ≤ �)*+�) vijak klasificiramo v razred slabih vijakov (��),
le če za njegov vektor značilk � pade v regijo "� , sicer ga klasificiramo v razred dobrih
vijakov (��).
Verjetnost napačne klasifikacije
Ker je meja, med regijama "� in "� zelo kompleksna je izračun verjetnosti napačne
klasifikacije, po enačbi 42 prezahteven. Verjetnost napačne klasifikacije ocenimo z pristopom
štetja napak (ang. error-counting approach) [13]. Oceno verjetnosti napačne klasifikacije
izračunamo po enačbi:
( ) ( )1 2
12
21e
k kP P P
N Nω ω= ⋅ + ⋅ (69)
74
V enačbi (69) poleg verjetnosti ( )iP ω , i=1,2 ter števila trening vzorcev 1N , i=1,2, katere smo
že podali v uvodnem delu podpoglavja 4.4.2.2 ter z enačbo (51), nastopata še število napačnih
klasifikacij, dobrih trening vzorcev ��, in število napačnih klasifikacij slabih trening vzorcev
��.
Načrtan klasifikator, smo preizkusili na �� = 40 dobrih vijakih in �� = 40 slabih vijakih
(deformiran utor). Klasifikator je vse dobre vijake pravilno klasificiral (�� = 0) , pri
klasificiranju slabih vijakov pa je en vijak klasificiral napačno (�� = 1).
Ocena verjetnosti napačne klasifikacije, za tak klasifikator je torej:
( ) ( )1 25 51 2
1 2
0 10,998 0,002 0 5 10 5 10
40 40e
k kP P P
N Nω ω − −= ⋅ + ⋅ = ⋅ + ⋅ = + ⋅ = ⋅ (70)
4.4.3 Klasifikator k3 (ekscentričnost utora)
4.4.3.1 Določitev klasifikacijskega pravila za značilko '60
Določitev razredno - pogojnih porazdelitev verjetnosti
V nadaljevanju tega podpoglavja, vektor značilk x predstavlja vektor, katerega edini element
je značilka ���.
Določitev razredno - pogojnih porazdelitev verjetnosti ���|��� in ���|��� v našem primeru
določimo s pomočjo merjenja značilk štiridesetih (� = 80 ) trening vzorcev, ki smo jih
sestavili iz �� = 40 dobrih vijakov in �� = 40 slabih vijakov (z ekscentričnim utorom).
Za značilko ��� smo za razred �� izračunali vrednosti (tabela 1):
1
1
6,613
2,567
µσ
==
(71)
Za razred �� pa vrednosti (tabela 2):
2
2
25,926
8,889
µσ
==
(72)
75
Za oba razreda vrednosti parametrov �� in #� vstavimo v enačbo (43) in narišemo graf
razredno - pogojnih porazdelitev verjetnosti (Slika 69). Na sliki tudi označimo vrednosti
značilk vseh trening vzorcev.
Slika 69: Razredno - pogojni porazdelitvi verjetnosti ���|��� in ���|���
Določitev elementov izgubne matrike
Elemente izgubne matrike L postavimo enako kot v podpoglavju 4.4.1.2. Torej tudi tu
upoštevamo za določitev elementov matrike L enačbo (48).
Določitev a priori verjetnosti
Za a priori verjetnosti uporabimo enake ocene kot v podpoglavju 4.4.1.2. Torej upoštevamo
enačbo (51).
Izračun meje (�1)
V enačbo (52) vstavimo zgoraj izpeljane parametre in na podlagi izpeljave dobimo rešitev:
0 13,10x = (73)
Regija "�, ki pripada razredu ω1 je določena z enačbo (54), regija "� pa z enačbo (55).
Mejo vrišemo v graf razredno - pogojnih porazdelitev verjetnosti ���|��� in ���|��� (Slika
70).
-20 0 20 40 600
0.002
0.004
0.006
0.008
0.01
p(r sk
|ωi)
rsk
p(rsk
|ω1); dobri
p(rsk
|ω2); slabi
76
Slika 70: Razredno - pogojni porazdelitvi verjetnosti ���|��� in ���|���
in meja �
4.4.3.2 Izvedba klasifikacije
Vijak na sliki, klasificiramo v razred slabih vijakov (ω2), če je vrednost njegove značilke
��� > �, sicer ga klasificiramo v razred dobrih vijakov (ω1).
Verjetnost napačne klasifikacije
Verjetnost, da pride do napačne klasifikacije pri izbrani meji x� izračunamo tako, da v enačbo
(42) vstavimo zgoraj določene parametre. Tako dobimo:
( ) ( ) ( ) ( )1 2 2 2 1 1| | 0,000149 0,005713 0,00586eP P x R P P x R Pω ω ω ω= ∈ + ∈ = + = (74)
4.4.4 Klasifikator k4 (neujemanje dimenzij)
4.4.4.1 Določitev klasifikacijskega pravila za značilko '-9:
Določitev razredno - pogojnih porazdelitev verjetnosti
V nadaljevanju tega podpoglavja, vektor značilk x predstavlja vektor, katerega edini element
je značilka ���;.
-20 0 20 40 600
0.002
0.004
0.006
0.008
0.01
← x0
p(r sk
|ωi)
rsk
p(rsk
|ω1); dobri
p(rsk
|ω2); slabi
77
Določitev razredno - pogojnih porazdelitev verjetnosti ���|��� in ���|��� v našem primeru
določimo s pomočjo merjenja značilk štiridesetih (� = 40 ) trening vzorcev, ki smo jih
sestavili iz �� = 20 dobrih vijakov in �� = 20 slabih vijakov (z napakami v dimenzijah).
Za značilko ���; smo za razred �� izračunali vrednosti (tabela 1):
1
1
0,556
0,003
µσ
==
(75)
za razred �� pa vrednosti (tabela 4):
2
2
0,528
0,003
µσ
==
(76)
Za oba razreda vrednosti parametrov �� in #� vstavimo v enačbo (43) in narišemo graf
razredno - pogojnih porazdelitev verjetnosti (Slika 71). Na sliki tudi označimo vrednosti
značilk vseh trening vzorcev.
Slika 71: Razredno - pogojni porazdelitvi verjetnosti ���|��� in ���|���
Določitev elementov izgubne matrike
Elemente izgubne matrike L postavimo enako kot v podpoglavju 4.4.1.2. Torej tudi tu
upoštevamo za določitev elementov matrike L enačbo (48).
78
Določitev a priori verjetnosti
Za a priori verjetnosti uporabimo enake ocene kot v podpoglavju 4.4.1.2. Torej upoštevamo
enačbo (51).
Izračun meje (xo)
V enačbo (52) vstavimo zgoraj izpeljane parametre in na podlagi izpeljave dobimo rešitev:
0 0,541x = (77)
Regija "�, ki pripada razredu ω1 je določena tako:
1 0[ , )R x ∞∈ (78)
Regija "� pa tako:
2 0( , ]R x−∞∈ (79)
Mejo vrišemo v graf razredno - pogojnih porazdelitev verjetnosti p�x|ω�� in p�x|ω�� (Slika
72).
Slika 72: Razredno - pogojni porazdelitvi verjetnosti ���|��� in ���|���,
in meja �
4.4.4.2 Izvedba klasifikacije
Vijak na sliki, klasificiramo v razred slabih vijakov (��), če je vrednost njegove značike
���; < �, sicer ga klasificiramo v razred dobrih vijakov (��).
79
Verjetnost napačne klasifikacije
Verjetnost, da pride do napačne klasifikacije pri izbrani meji � izračunamo tako, da v enačbo
(42) vstavimo zgoraj določene parametre. Tako dobimo:
( ) ( ) ( ) ( ) 9 7 71 2 2 2 1 1| | 2,22 10 4,44 10 4,47 10eP P x R P P x R Pω ω ω ω − − −= ∈ + ∈ = ⋅ + ⋅ = ⋅ (80)
80
81
5 Testiranje sistema
5.1 Meritve značilk
Na voljo za meritve smo imeli N=180 trening vzorcev:
• 40 dobrih vijakov,
• 40 slabih vijakov z deformiranim obodom,
• 40 slabih vijakov z deformiranim utorom,
• 40 slabih vijakov z ekscentričnim utorom,
• 20 slabih vijakov z napakami v dimenzijah (premajhen premer utora).
Z meritvami opisanih značilk (podpoglavje 4.3), smo tvorili trening vektorje, na podlagi
katerih smo določili potrebne meje za vse štiri klasifikacije (podpoglavje 4.4).
V tem poglavju so zbrani vsi rezultati merjenja omenjenih značilk. Dobrim vijakom smo
izmerili vse značilke, rezultati so zbrani v tabeli 1. Slabim vijakom smo glede na vrsto napake
izmerili le tiste značilke, ki nosijo informacije o tej napaki. Vijakom z deformiranim obodom
smo izmerili zgolj značilke, ki nosijo informacije o deformiranosti oboda (tabela 2). V tabelah
3 in 4 so zbrani rezultati merjenja značilk na vijakih z deformiranim utorom oziroma
ekscentričnim utorom. Rezultati merjenja značilk, ki nosijo informacijo o napakah v
dimenzijah na vijakih z premajhnim premerom utora so zbrani v tabeli 5.
82
Tabela 1: Vrednosti značilk dobrih vijakov (vrednosti značilk in št. meritve, kjer pride do
napačne klasifikacije so prikazane z mastnim tiskom):
št. meritve ��% ��� ���; ��� ���� ��� �� 1 180 8,887 0,56 180,09 6,628 61,74 7,082 2 180 9,377 0,554 382,57 7,318 57,73 1,656 3 180 6,132 0,561 173,14 9,117 58,87 5,779 4 180 11,57 0,558 167,95 10,26 60,43 5,481 5 180 4,105 0,557 252,47 10,43 64,22 5,245 6 180 9,853 0,556 225,4 12,99 60,76 6,39 7 180 9,797 0,56 165,58 7,766 60,86 7,263 8 180 2,33 0,555 536,26 6,48 60,54 4,633 9 180 8,228 0,558 456,75 7,105 60,32 3,962 10 180 2,282 0,557 625,17 11,94 52,54 7,365 11 180 7,685 0,558 311,97 8,145 62,53 2,187 12 180 4,706 0,551 469,81 10,91 59,55 8,788 13 180 8,129 0,558 209,4 13,66 55,09 3,973 14 180 9,354 0,556 418,02 7,561 64,5 4,711 15 180 7,104 0,559 534,67 8,859 55,79 4,09 16 180 6,158 0,558 72,835 8,268 56,36 3,575 17 180 4,618 0,556 787,02 10,54 58,83 7,349 18 180 8,714 0,555 95,325 6,118 58,89 8,546 19 180 3,652 0,56 486,08 7,989 62,89 7,67 20 180 7,93 0,556 314,52 7,98 60,24 7,663 21 180 8,285 0,561 159,08 7,106 58,09 5,774 22 180 8,571 0,557 75,632 9,813 55,92 2,842 23 180 7,015 0,551 350,63 7,568 64,14 3,43 24 180 6,073 0,553 594,1 12,18 59,67 8,903 25 180 7,399 0,552 394,22 7,001 55,35 6,475 26 180 3,202 0,558 295,38 8,575 58,81 7,152 27 180 4,075 0,556 370,95 8,376 59,16 5,026 28 180 9,629 0,554 393,56 8,18 55,38 3,544 29 180 11,12 0,554 574,12 11,87 64,68 2,476 30 180 7,295 0,554 501,12 8,004 64,54 5,288 31 180 4,569 0,56 42,612 10,34 59,69 8,849 32 180 6,566 0,555 467,47 14,21 62,09 3,068 33 180 8,642 0,557 54,405 10,96 58,89 5,132 34 180 6,123 0,548 672,7 11,95 57,15 5,616 35 180 2,662 0,554 573,14 6,656 61,37 7,88 36 180 2,944 0,552 175,42 5,992 55,11 4,826 37 180 7,323 0,555 110,78 9,288 54,18 4,821 38 180 6,092 0,555 663,47 5,249 54,57 2,857 39 180 2,56 0,554 198,57 7,377 68,11 6,832 40 180 3,743 0,556 85,278 5,572 56,48 7,922
Iz tabele in postavljene meje � = 777,811 (podpoglavje 4.4.1.2) vidimo, da je bil zgolj en
vijak napačno klasificiran. V meritvi številka 17 smo za značilko ��� dobili vrednost
(787,02), ki je večja od postavljene meje, zato je tak vijak klasificiran v razred slabih. Vsi
ostali vijaki so bili pravilno klasificirani v razred dobrih vijakov.
83
Tabela 2: Vrednosti značilk slabih vijakov z deformiranim obodom (vrednosti značilk in št.
meritve, kjer pride do napačne klasifikacije so prikazane z mastnim tiskom):
št. meritve ��% ��� št. meritve ��% ���
1 180 1314 21 180 1612 2 180 972,1 22 180 842,2 3 180 939,1 23 180 2010 4 180 986,3 24 180 662 5 180 825,9 25 180 2094 6 180 756,7 26 180 1214 7 180 760,6 27 180 1007 8 180 1195 28 180 1085 9 180 510,5 29 180 680,2 10 180 2619 30 180 1501 11 180 1790 31 180 2580 12 180 756,5 32 180 1914 13 180 788 33 180 2112 14 180 1629 34 180 1157 15 180 830,7 35 180 1588 16 180 1091 36 180 926,2 17 180 1551 37 180 809,8 18 180 1495 38 180 1846 19 180 1175 39 180 1461 20 180 863,5 40 180 1919
Ker smo merili le vijake z majhnimi deformacijami oboda (podpoglavje 3.3.1), so vse
vrednosti značilk ��% enake 180. Kljub temu smo 34 izmed 40 vijakov, katerih vrednosti
značilk se nahajajo v tabeli 2 klasificirali pravilno. Šest smo jih klasificirali napačno (mastni
tisk), saj je njihova vrednost značilke ��� večja od postavljene meje � = 777,811
(podpoglavje 4.4.1.2).
84
Tabela 3: Vrednosti značilk slabih vijakov z deformiranim utorom (vrednosti značilk in št.
meritve, kjer pride do napačne klasifikacije so prikazane z mastnim tiskom):
št. meritve ���� ��� �� št. meritve ���� ��� �� 1 31,38 47,428 16,585 21 13,44 58,299 8,5688 2 26,38 51,242 20,52 22 16,99 27,983 16,785 3 26,16 27,636 18,014 23 24,79 42,044 5,4622 4 21,59 50,176 20,829 24 15,66 41,493 6,3488 5 15,18 44,774 15,946 25 26,38 16,281 4,4641 6 16,17 28,662 17,95 26 17,4 36,161 13,243 7 26,37 26,896 19,31 27 16,55 50,718 5,2405 8 29,43 42,359 20,438 28 25,65 13,593 8,305 9 27,02 43,954 12,661 29 20,71 24,93 19,403 10 12,9 58,496 13,585 30 26,46 39,856 14,603 11 22,77 22,224 11,362 31 22,98 47,234 21,569 12 21,39 54,023 27,41 32 18,74 54,629 7,6909 13 20,56 49,867 13,372 33 23,02 52,734 5,7838 14 20,46 29,474 18,035 34 20,17 54,654 3,7735 15 26,07 44,837 11,442 35 20,28 28,774 22,385 16 11,24 49,387 23,631 36 17,81 50,176 20,91 17 16,04 17,687 5,6278 37 20,67 44,74 25,997 18 15,13 25,342 17,023 38 14,15 50,78 6,2331 19 17,5 36,055 13,64 39 17,13 56,383 7,9163 20 19,75 49,958 8,184 40 18,63 62,773 5,0721
Če bi za klasifikacijo vijakov glede na prisotnost deformacij na utoru uporabljali le
klasifikator, ki klasificira vijake na podlagi značilke vrms, bi tako v razred dobrih vijakov
klasificirali tiste vijake katerih značilka ���� presega vrednost �)*+� = x� = 14,08
(podpoglavje 4.4.2.1). Vidimo, da se v tabeli slabih vijakov (z deformiranim utorom) nahajajo
trije taki vijak (��� = 12,9, ��� = 11,24 in ���� = 13,44), ki bi bili tako napačno
klasificirani.
Vijaki, ki bi jih klasifikator, ki vijake klasificira na podlagi vektorja značilk
(��� ,��) , klasificiral v skupino dobrih so tisti, katerih vektor značilk, ne spada v regijo "�,
določeno z enačbo (67). V tabeli se nahaja kar osem takih vijakov (označeni so z mastnim
tiskom).
Ker pa za klasifikacijo vijakov glede na prisotnost deformacij na utoru uporabljamo oba
klasifikatorja, ki vijak klasificirata v skupino slabih vijakov če vsaj eden od njiju pokaže, da je
85
vijak slab, je klasifikacija precej natančnejša. V tabeli 3 se nahaja zgolj en vijak, ki ga na
opisan način napačno klasificiramo (v skupino dobrih vijakov).
Tabela 4: Vrednosti značilk slabih vijakov z ekscentričnim utorom (vrednosti značilk in št.
meritve, kjer pride do napačne klasifikacije so prikazane z mastnim tiskom):
št. meritve ��� št. meritve ��� 1 36,89 21 30,739 2 26,46 22 30,391 3 26,65 23 18,881 4 11,12 24 25,229 5 17,43 25 19,872 6 43,19 26 17,845 7 9,628 27 14,94 8 26,38 28 31,431 9 20,24 29 30,269 10 13,12 30 25,832 11 13,95 31 25,011 12 12,92 32 42,997 13 30,63 33 19,914 14 41,77 34 30,534 15 15,05 35 24,315 16 30,06 36 29,822 17 23,72 37 26,22 18 29,92 38 40,812 19 39,82 39 28,474 20 29,49 40 25,048
Izmed vijakov z ekscentričnim utorom, katerih rezultati značilk so zbrani v tabeli 4, smo tri
klasificirali napačno (v skupino dobrih), saj je vrednost značilke ��� presegla
� = 13,10 (podpoglavje 4.4.3.1). Vrednosti značilke in številka meritve, pri katerih smo
vijake napačno klasificirali so prikazane z mastnim tiskom.
86
Tabela 5: Vrednosti značilk slabih vijakov z premajhnim premerom utora:
št. meritve ���� 1 0,53 2 0,53 3 0,531 4 0,53 5 0,526 6 0,524 7 0,53 8 0,53 9 0,528 10 0,528 11 0,529 12 0,529 13 0,528 14 0,532 15 0,529 16 0,528 17 0,528 18 0,519 19 0,53 20 0,528
Iz tabele in postavljene meje � = 0,541 (podpoglavje 4.4.4.1) vidimo, da so vsi vijaki,
katerih vrednosti značilk ���; so prikazani v tabeli 5, klasificirani pravilno (v skupino slabih
vijakov).
5.2 Analiza delovanja
V tem podpoglavju je podana analiza sistema strojnega vida s stališča, v uvodu, podanih
zahtev.
Analiza delovanja s stališča natančnosti merjenja
S primerno izbiro ločljivosti in postavitve kamere smo zagotovili slike na katerih je bila glava
vijaka tako povečana, da omogoča merjenje na 0,0175 mm natančno. Z primerno izbranimi
postopki določevanja robnih točk oboda, smo zagotovili merjenje na najmanj 0,13 mm
natančno (slika 40). Pri merjenju utora pa smo to natančnost celo presegli.
87
Ugotavljamo da so podane zahteve po natančnosti merjenja v celoti izpolnjene.
Analiza delovanja s stališča zahtev za način delovanja
Vijaku na sliki izmerimo značilke, ki nosijo informacije o morebitni prisotnosti vseh v uvodu
naštetih neujemanj z zahtevami oblik in dimenzij. Za vsako od neujemanj izdelamo svoj
klasifikator, ki ločuje vijake na slabe in dobre. Da vijak dokončno klasificiramo kot dobrega,
ga morajo vsi štirje klasifikatorji klasificirati v skupino dobrih.
Na opisan način v celoti izpolnjujemo zahteve za način delovanja podane v uvodu.
Analiza delovanja s stališča zahtev za pravilnost klasifikacije
S sistemom želimo zagotoviti naslednjo uspešnost klasifikacije (uvod):
• med vijaki, ki jih sistem klasificira kot dobre je lahko zgolj 0,01% slabih vijakov,
• med vijaki, ki jih sistem klasificira kot slabe je lahko največ 2% dobrih vijakov.
V poglavju 4 smo na podlagi merjenja trening vzorcev ocenili verjetnosti napačne
klasifikacije vijakov. Za boljši pregled nad rezultati klasifikacije smo verjetnosti zbrali v
tabeli 6.
V tabeli so podane verjetnosti napačne klasifikacije dobrih (($�) in slabih vijakov z različnimi
neujemanji oblik in dimenzij z zahtevami (($�).
Tabela 6: Verjetnosti napačne klasifikacije uporabljenih klasifikatorjev (z mastnim tiskom so
označene vrednosti verjetnosti, ki ne ustrezajo podanim zahtevam).
verjetnosti napačne klasifikacije
($� ($� ($
kla
sifik
acije
k1 0,0148 0,000334 0,0151
k2 0 0,00005 0,00005
k3 0,005713 0,000149 0,00586
k4 74,44 10−⋅ 92,22 10−⋅ 74,50 10−⋅
končna 0,021 0,00053 0,021
88
Iz tabele vidimo da zahteve podane v uvodu niso v celoti izpolnjene. Vijake z deformacijami
utora in napakami v dimenzijah dovolj uspešno klasificiramo, ostalih pa ne.
Ocenjujemo, da z načrtanim sistemom dosegamo naslednjo uspešnost klasifikacije:
• med vijaki, ki jih sistem klasificira kot dobre je 0,053% slabih vijakov,
• med vijaki, ki jih sistem klasificiral kot slabe je 2,1% dobrih vijakov.
Analiza delovanja s stališča zahtev za čas klasifikacije na en vijak
Meritve so pokazale, da sistem strojnega vida potrebuje za celoten povprečno 10,23 sekund.
Ugotavljamo, da zahteve za čas klasifikacije podane v uvodu niso izpolnjene.
89
6 Zaklju ček
Za namen raziskave možnosti uporabe strojnega vida za avtomatizirano ločevanje slabih
vijakov od dobrih, je bil razvit laboratorijski prototip sistema strojnega vida. Raziskali smo
možne napake, ki se pojavljajo na glavi vijaka, in izbrali značilke, ki nosijo informacije o teh
napakah. Zasnovali smo tudi postopke za merjenje teh značilk ter primeren klasifikator
vijakov na podlagi teh značilk. Celoten sistem smo tudi preizkusili na trening vzorcih.
Preizkusi so pokazali, da realiziran sistem ne izpolnjuje vseh zastavljenih zahtev. Kritična je
hitrost delovanja sistema, kar pričakujemo da se lahko izboljša z implementacijo postopka v
programskem jeziku, ki se prevede v strojno kodo (C/C++).
Za praktično uporabo v industrijskem okolju, bi bilo potrebno sistem tudi popolnoma
avtomatizirani, saj trenutni sistem zgolj razloči med slabim in dobrim vijakom, na podlagi
analize zajete slike le-tega. Izdelati bi bilo potrebno tako razvrščevalnik, za fizično ločevanje
slabih vijakov od dobrih, kot tudi transportni sitem, za postavitev vijakov pod objektiv.
Sistem bi bilo potrebno tudi preizkusiti na večjem številu vzorcev, ter ga po potrebi nadalje
optimizirati.
90
91
Literatura
[1] Mikrovit, http://www.mikrovit.si/podjetje.html, dostopnost preverjena julija 2011.
[2] V. Markič, Avtomatska optična kontrola industrijskih izdelkov z inetligentno kamero
Sony SX1, diplomska naloga, Fakulteta za elektrotehniko, Univerza v Ljubljani,
Ljubljana, 2007.
[3] The Imaging Source, http://www.theimagingsource.com/en_US/products/cameras/
firewire-ccd-mono/dmk31af03, dostopnost preverjena julija 2011.
[4] F. Lahajnar, Avtomatizirano vizualno pregledovanje industrijskih izdelkov, magistrska
naloga, Fakulteta za elektrotehniko, Univerza v Ljubljani, Ljubljana, 1999.
[5] S. Kovačič, Strojni vid (nastanek slike), Fakulteta za elektrotehniko, Univerza v
Ljubljani, Ljubljana, 1999.
[6] B. Murovec, Sistem za avtomatizirano optično odčitavanje električnih števcev,
magistrska naloga, Fakulteta za elektrotehniko, Univerza v Ljubljani, Ljubljana, 1999.
[7] M. Lukežič, Optično preverjanje kakovosti keramičnih ploščic, diplomska naloga,
Fakulteta za elektrotehniko, Univerza v Ljubljani, Ljubljana, 1998.
[8] R. C. Gonzales, R.E. Woods, Digital Image Processing, third edition, Upper Saddle
River, 2008.
[9] P. Peer, Houghova Transformacija in pomerjanje elips (seminarska naloga pri predmetu
koncepti za modeliranje vizualnih informacij), Fakulteta za elektrotehniko, Univerza v
Ljubljani, Ljubljana, 1999.
[10] L. Čehovin, Vizualno sledenje netogim objektom, magistrska naloga, Fakulteta za
elektrotehniko, Univerza v Ljubljani, Ljubljana, 2010.
[11] RANSAC, http://en.wikipedia.org/wiki/RANSAC, dostopnost preverjena julija 2011.
[12] C. D. Meyer, Matrix Analysis and Applied Linear Algebra, first edition, New York,
2000.
[13] S. Theodoridis, K. Koutroumbas, Pattern Recognition, fourth edition, North Carolina,
2009.
92
93
Izjava
Izjavljam, da sem diplomsko delo izdelal samostojno pod vodstvom mentorja doc. dr. Boštjana
Murovca, univ. dipl. inž. el. Izkazano pomoč drugih sodelavcev sem v celoti navedel v zahvali.
Tomaž Žvokelj
Recommended