Elektrotehniški vestnik 85(5): 279-285, 2018 Original scientific paper Enovita konvolucijska nevronska mreža za detekcijo anomalij na teksturiranih površinah Domen Racki1, Dejan Tomaževič1'2 in Danijel Skocaj3 1Sensum, sistemi z računalniškim vidom, d.o.o., Tehnološki park 21, 1000 Ljubljana, Slovenija 1 Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana, Slovenija 1 Univerza v Ljubljani, Fakulteta za računalništvo in informatiko, Večna pot 113, 1000 Ljubljana, Slovenija E-pošta: domen.racki@sensum.eu Povzetek. Pristopi, ki temeljijo na globokem učenju, se izkažejo za učinkovitejše od klasičnih pristopov na različnih področjih računalniškega vida. V prispevku uporabimo globoko učenje na domeni avtomatiziranega pregledovanju površin. Predlagamo enovito konvolučijsko nevronsko mrezo za detekčijo anomalij na teksturiranih površinah, ki se sestoji iz segmentačijskega in klasifikačijskega dela. Raziščemo, ali je kompaktna arhitektura mreze z manjšim številom parametrov primerna za uporabo na domeni vizualnega pregledovanja. Predlagano arhitekturo evalviramo na podatkovni bazi, ki se sestoji iz različšno teksturiranih povrsšin s prisotnimi različšnimi in sšibko označšenimi anomalijami. Predlagani pristop dosezše sodobne rezultate tako v smislu segmentačije kot klasifikačije slik glede na prisotnost anomalij na teksturiranih povrsšinah. Kljucne besede: globoko učenje, konvolučijske nevronske mreze, segmentačija, detekčija anomalij, klasifikačija A unified convolutional neural network for textured-surface anomaly detection Deep-learning approaches have proven to outperform other non-deep approaches in various computer vision tasks. In this paper we apply deep learning to the domain of automated visual surface inspection. We design a unified convolutional neural-network-based framework for segmentation and detection of surface anomalies. We investigate whether a compact network architecture, with few parameters that need to be learned, is suitable for usage in the visual inspection domain. We evaluate the proposed compact network architecture on a dataset consisting of diverse textured surfaces with variously-shaped weakly-labeled anomalies. With the proposed approach we achieve state-of-the-art results in terms of anomaly segmentation as well as image classification. Keywords: deep learning, convolutional neural networks, segmentation, anomaly detection, classification 1 Uvod Pri nekaterih realnih problemih v računalniškem vidu se domenski strokovnjaki soocijo s težavnim snovanjem formalnih pravil ž zadostno kompleksnostjo za modeliranje teh problemov. V takšnih primerih je zmožnost ucenja in razpoznavanja vzorcev na avtomatizirani nacin nepogrešljiva prednost. To velja zlasti tedaj, ko je za dolocen problem ze samo snovanje znacilnic tezka naloga. Navedeni primeri se pojavljajo pri avtomatiziranem pregledovanju površin izdelkov, kjer kompleksnost modeliranja narašca z narašcajoco kompleksnostjo objektov. V danem kontekstu se kot površinske anomalije Prejet 25. julij, 2018 Odobren 14. september, 2018 upoštevajo praske, razpoke, umazanija in udrtine, ki se nahajajo na površini danega objekta, medtem ko del kompleksnosti pomeni ze sama pojavnost ali te-kstura površine objekta. Avtomatizirano pregledovanje igra ključšno vlogo pri zagotavljanju kakovosti, tj. odkrivanju anomalij na različnih površinah, kjer je med proizvodnim pročesom treba pregledati veliko količino izdelkov z namenom detekčije izdelkov z vidnimi napakami. Glavna vprašanja pri razvoju takšnih sistemov za pregledovanje izhajajo iz dejstva, da je v nekaterih primerih pridobivanje ustreznih reprezentačij, tj. modelov, tezavna naloga. Ti in drugi dejavniki dodatno otezujejo nalogo odkrivanja povrsšinskih anomalij ter pripomorejo h kompleksnosti pojavitev do stopnje, da le-te ni mogoče dovolj natančšno opisati s snovanjem značšilnič. Globoko učenje rešuje to osrednjo tezavo pri učenju reprezentačij s kompleksnimi končepti iz preprostejših končeptov. Izraz globoko učenje se uporablja, saj učenje končeptov poteka v hierarhičšnem smislu, le-to pa lahko predstavimo kot plasti v grafični predstavitvi modela. Pri sliki se holistično razumevanje le-te doseze na hierarhičen način skozi mnozičo plasti naučenih značilnič. Tipičen primer modela globokega učenja je tako imenovana konvolučijska nevronska mreza (CNN), omenjeni pristop pa se izkaze uporaben v primerih, kjer je ze samo snovanje primernih značilnič posebej tezak problem. Glavni prispevek čšlanka je enovita konvolučijska nevronska mreza za segmentačijo in detekčijo anomalij na teksturiranih površinah. Za dani primer površine mreza kot izhod poda segmentačijo anomalije, kateri priredi očeno gotovosti. Očeno gotovosti lahko interpretiramo kot gotovost mrezše, da se na danem primeru nahaja 280 RAČKI, TOMAŽEVIČ, SKOČAJ anomalija. Mreža se reprezentacije anomalij lahko nauči iz majhnega nabora grobo označenih ucnih primerov. Predlagano rešitev evalviramo na različnih naborih učnih slik podatkovne baze, sestavljene iz različno teksturira-nih površin z znotrajrazredno variacijo tako tekstur na ozadju kot anomalij. 2 Sorodno delo Klasični pristopi za detekcijo napak na površinah objektov, ki ne temeljijo na globokem učenju, sledijo bolj ali manj enaki paradigmi, tj. klasifikator, kot je SVM, naučen na značilničah, pridobljenih iz predpročesiranih slik. Korak predporočesiranja zagotavlja, da je problem dobro pogojen za ključni pročes snovanja primernih značilnič. Nadaljnja pomanjkljivost teh pristopov je, da posebej zasnovane značilniče ni vedno mogoče uporabiti za tezave drugega tipa v podobnih domenah. Globoko učenje se razlikuje od omenjenih pristopov z učenjem primernih značšilnič namesto ročšnega snovanja primernih in običšajno suboptimalnih značšilnič. In ker so značšilniče naučene, se globoke arhitekture lazje posplošijo na druge vrste tezav. Omenjena pristopa tako lahko razdelimo v dve skupini, tj. snovanje znacilnic ter ucenje znacilnic. Pristope snovanja značšilnič lahko v grobem razdelimo na: (i) pristope s filtriranjem, kjer se običajno uporabljajo matematične transformačije in filtri [1]; (ii) pristope s strukturiranjem, ki večinoma vključujejo morfološke operačije in detekčijo robov [2]; (iii) pristope z modeliranjem, ki uporabljajo model, kot je skriti markovski model (SMM) [3]; (vi) statistične pristope, ki spadajo med pogosteje uporabljene pristope v problemih klasifi-kačije z uporabo preprostega upragovanja [4]. Med pristope učenja značilnič pa uvrščamo tako imenovane konvolučijske nevronske mreze (ČNN). Motiva-čija za uporabno ČNN izhaja iz prej omenjene tezave, kjer se za nekatere realne probleme v račšunalnisškem vidu domenski strokovnjaki soočšijo s tezšavnim snovanjem formalnih pravil, temelječih na geometrijskih in oblikovnih značilničah za detekčijo anomalij. Pri problemu detekčije anomalij na površinah v [5] avtorji predstavijo mrezo, naučeno z nadzorovanim učenjem na neobdelanih primerih slik jeklenih površin s prisotnimi defekti, s katero izboljšajo točnost detekčije v primerjavi z uporabo značšilnič, pridobljenih s klasičšnimi metodami za detekčijo napak na teksturiranih materialih. Te vključujejo večplastni perčeptron (MLP) in klasifikator SVM z jedrom RBF naučen na značilničah, pridobljenih s HOG, PHOG, rotačijsko invariantnimi merami lokalne varianče in lokalnimi binarnimi vzorči (LBP, LBP-Fourier). Avtorji v [6] predstavijo pregled različšnih hevristik ČNN za industrijsko pregledovanje. V čšlanku avtorji raziskujejo vpliv različšnih hiperpara-metrov glede na točnost detekčije. Na splošno se avtorji posluzijo arhitektur, objavljenih v [7], in te evalvirajo na podatkovni bazi, sestavljeni iz umetno generiranih slik z različšno teksturiranimi povrsšinami in dodanimi defekti v obliki pik in črt. Za ucenje znacilnic avtorji z uporabo drsečega okna generirajo veliko učnih primerov z namenom minimiziranja števila napačno klasificiranih slikovnih elementov, upoštevajoc rocno anotirane maske z grobo oznacenimi slikovnimi elementi, ki prikazujejo anomalijo. Druga dela na pretezno ploskih jeklenih povrsšinah, kot so detekcija napak iz fotometricšnih stereo-slik zelezniških tracnic [8] in ekstrahiranje ustreznih znacilnic za detekcijo anomalij [9] kazejo, da je uporaba globokega ucenja za ekstrahiranje znacilnic v ne-trivialnih domenah mogocša in uporabna. V literaturi na področju odkrivanja anomalij se tako diskriminativne mreze uporabljajo vecinoma kot klasifi-kator na neobdelanih ali obdelanih slikah, ki ponazarjajo ploskve povrsšine z namenom dolocšiti, ali je na dani sliki prisotna anomalije ali ne. Izhod mreze kot take je torej zgolj klasifikacija celotne slike. Kljub številnim raziskavam na temo segmentacije z uporabo mrez, kot so [10], [11], je uporaba slednjih za namen segmenti-ranja anomalij redko obravnavana v literaturi detekcij nepravilnosti na povrsšinah. 3 Zasnova arhitekture Pristopi, ki temelijo na globokem ucenju, se izkažejo za uspešnejše od neglobokih pristopov pri reševanju razlicnih nalog, ki segajo od detekcije [5] do segmentacije [10]. Obicajna praksa pri uporabi globokega ucenja je prirejanje obstojecih arhitektur, kot na primer VGG [12], za specificno nalogo na nacin, ki uporabi vnaprej naucene utezi nizjih plasti na velikih ucnih bazah, ter douci utezi na višjih plasteh na novi problemski domeni. Na splošno takšen pristop ni najbolj primeren za uporabo na specificšnih problemskih domenah, kot je detekcija napak na teksturiranih povrsšinah. In to zato, ker velike arhitekture implicitno kazejo potrebo po velikih ucšnih mnozšicah, ki pa jih v dolocšenih industrijskih okoljih ni na voljo, saj je lahko ze sam proces pridobivanja teh drago oz. neprakticšno opravilo. Tako lahko dolocimo kriterije, potrebne za mrezo, namenjeno za uporabo v sistemih za avtomatizirano pregledovanje: (i) kompaktnost, tj. zmoznost ucenja potencialne detekcije anomalij iz majhnega sštevila defektnih ucnih primerov; (ii) robustnost, tj. v podobni problemski domeni so potrebni zgolj majhni popravki hiperparame-trov; (iii) interpretabilnost, tj. zmoznost vizualne loka-lizacije anomalije in razlage klasifikacije domenskemu strokovnjaku. Glede na navedene kriterije predlagamo enovito konvolucijsko nevronsko mrezo za detekcijo anomalij na teksturiranih povrsšinah, ki se sestoji iz segmentacijskega in klasifikacijskega dela. Naloga klasifikacijskega dela je, da danemu primeru priredi oceno gotovosti, ki jo lahko interpretiramo kot gotovost mrezše, da se na danem primeru nahaja anomalija. Naloga segmentacijskega dela je prikaz vizualne lokalizacije anomalije in razlage klasifikacije domenskemu strokovnjaku. Predlagano arhitekturo mreze prikazuje slika 2. ENOVITA KONVOLUCIJSKA NEVRONSKA MREZA ZA DETEKCIJO ANOMALIJ NA TEKSTURIRANIH POVRSINAH 281 512 X 512 256 x 256 128 x 128 Vhodna slika 512x512x1 [11 X 11] [11 X 11] & [7 X 7] [7 X 7] & [3 X 3] Konvolucijsko jedro Konvolucijsko jedro Konvolucijsko jedro Slika 1: Dimenzije konvolucijskih jeder v primerjavi s ska-lirano anomalijo površine 4, prikazane na sliki 3. Prva slika prikazuje originalno velikost vhoda v izmeri 512 x 512 slikovnih elementov, medtem ko vsaka nadaljnja slika prikazuje podvzorceno predhodno sliko. Rdeci kvadrat je filter v velikosti 11 x 11, modri kvadrat je filter velikosti 7 x 7 in rumeni kvadrat filter v velikosti 3x3 slikovnih elementov. Segmentacijski del mreze je sestavljen iz treh konvolucijskih blokov, vsak blok pa je sestavljen iz treh konvolucijskih plasti. Na splošno se število filtrov podvoji v vsakem konvolucijskem bloku, medtem ko se velikost filtrov zmanjsša. Pri izbiri velikosti filtrov lahko naredimo veljavne predpostavke o problemski domeni ter jih prenesemo v zasnovo arhitekture. Velikost filtra mora biti taksšna, da pokrije del anomalije, ki jo zšelimo zaznati, kot je prikazano na sliki 1. Tu izbiramo velikosti filtrov tako, da se razmerje med soslednimi velikostmi ohranja skozi faze podvzorcenja. Tako zagotovimo, da filter vseskozi pokriva dovolj velik del anomalije. Dejanske reprezentacije v mrezi se seveda razlikujejo od prikazanih, ki tu sluzšijo zgolj za ponazoritev in ob-razlozšitev izbire velikosti filtrov. Na splosšno podvajanje sštevila filtrov in redukcija velikosti pri vsakem koraku podvzorcenja v vsakem konvolucijskem bloku ohranja kompaknost arhitekture v smislu števila parametrov. Klasifikacijski del mreze se zanaša na segmentacijski del. Ocena gotovosti za dani primer se doseze s pomočjo maksimalne in povprecne globalne zdruzitve, dobljene iz segmentacijske (SegPlast) in kompresijske plasti (KompPlast), kot je prikazano na sliki 2. Segmentacijska plast je povzeta po popolnoma konvolucijskih mrezah [10] ter zagotavlja segmentacijski izhod iz prejšnje plasti. Kom-presijski sloj na drugi strani sluzi za kompresijo volumna prejšnje plasti, saj se s tem zmanjša število parametrov, iz katerih se oceni gotovost in robustificira klasifikacijski rezultat. Uporaba maksimalnega in povprecšnega globalnega zdruzevanja se izkaže za zanesljivo v primerih, ko bi se sicer vecje obmocje brez napak segmentiralo kot obmocje z napako. Uporaba zgolj maksimalnega zdruzevanja bi v tem primeru neuspešno razlikovala med velikim in veliko manjšim potencialno defektnim segmentiranim obmocjem. To je glavni razlog, zakaj dodatno opravljamo povprecno zdruzevanje, saj tako lahko ugotovimo razliko v prej omenjenem primeru. Za dano vhodno sliko teksturirane povrsšine v velikosti 512 x 512 slikovnih elementov predlagana mreza kot izhod poda segmentacijo v velikosti 128 x 128 slikovnih KonvPlast 11x11, pomik 2 256x256x32 KonvPlast 11x11, pomik 1 256x256x32 KonvPlast 11x11, pomik 1 256x256x32 KonvPlast 7x7, pomik 2 128x128x64 KonvPlast 7x7, pomik 1 128x128x64 KonvPlast 7x7, pomik 1 128x128x64 KonvPlast 3x3, pomik 1 128x128x128 KonvPlast 3x3, pomik 1 128x128x128 KonvPlast 3x3, pomik 1 128x128x128 SegPlast 1x1, pomik 1 128x128x1 KompPlast 1x1, pomik 1 128x128x32 GMAXV 1x1x1 GAVGV 1x1x1 GMAXV 1x1x32 GAVGV 1x1x32 Združevanje 1x1x66 S-nevron 1x1x1 Segmentacija Gotovost Slika 2: Predlagana CNN-arhitektura, ki za dani primer kot izhod poda segmentacijo napake in oceno gotovosti, da gre za napako. Kratice KonvPlast, SegPlast in KompPlast oznacujejo konvolucijsko, segmetnacijsko in kompresijsko plast. Kratici GMAXV ter GAVGV oznacujeta globalno maksimalno in globalno povprecno vzorcenje, medtem ko S-nevron stoji za ocenjevalni nevron. elementov ter oceno gotovosti, da se na danem primeru nahaja anomalija [13]. Za vsako plastjo v mrezi se uporabi aktvacijska funkcija ReLU, ki ji sledi paketna normalizacija. Izjemi sta SegPlast in S-nevron, kjer uporabimo linearno oz. sigmoidno aktivacijsko funkcijo. Vse zacetne utezi filtrov se inicializirajo z normalno distribucijo, porazdeljeno okoli nicšle, kot je predlagano v [14]. Ucenje mreze poteka v dveh fazah. V prvi fazi, tj. faza segmentacije, naucimo korak segmentacije anomalije skozi 25 epoh. V drugi fazi, tj. faza klasifikacije, naucimo korak ocene gotovosti anomalije skozi 10 epoh. Loceno ucenje v dveh fazah, prikazano na sliki 2, je kljucno. Pri ucenju faze segmentacije se tako zamrznejo vse utezi faze klasifikacijske, podobno se pri ucenju faze 282 RAČKI, TOMAŽEVIČ, SKOČAJ klasifikacijske zamrznejo vse uteži faze segmentacije. S taksnim načinom ucenja zagotovimo, da se faza klasifikacije uci iz smiselnih segmentiranih reprezentacij anomalij. V obeh primerih se mreza uči napovedovanja regresijske vrednosti v intervalu [-1,1], ki jo priredi vsakemu slikovnemu elementu v fazi segmentacije, oz. vrednosti v intervalu [0,1], ki jo priredi posameznemu primeru v fazi klasifikacije. V prvi fazi učenja tako minimiziramo funkcijo srednje kvadratne napake, tj. 1 p L = np^ II x(i) _ x j) I12 np ) II2 (1) =1 j= 1 kjer n označuje število primerov, p številno slikovnih elementov, xi anotirano vrednost slikovnih elementov na sliki in X napovedano vrednost slikovnih elementov. V fazi klasifikacije minimiziramo binarno navzkriZno entropijo, tj. Cr 1 -T, n i=i [yi log(yi) + (1 - y i) log(1 - Vi)] (2) kjer yi označuje anotirano vrednost danega primera in y i regresijsko napoved za dani primer. Pri obeh kriterij-skih funkcijah se uporablja optimizator Adadelta [15] z vrednostjo parametrov kot predlaganih v članku. 4 Eksperimentalni rezultati Predlagano arhitekturo smo evalvirali na javno dostopni bazi za Industrijsko Optično Pregledovanje DAGM*, ki se sestoji iz umetno generiranih teksturiranih povrsšin. Kot je razvidno s slike 3, je baza sestavljena iz desetih različnih razredov površin z različnimi anomalijami, ki ponazarjajo razpoke, udrtine in nečistoče. Dani primer označimo kot pozitiven, če se na njem nahaja anomalija, sičer dani primer označimo kot negativen. Celotna baza se sestoji iz 8050 učnih primerov, od katerih jih 1046 vsebuje anomalijo, in 8050 testnih primerov, od katerih jih 1056 vsebuje anomalijo. Ce dana površina v velikosti 512 x 512 slikovnih elementov vsebuje anomalijo, ta vsebuje točno eno šibko označeno anomalijo na tekstu-riranem ozadju. Sibke labele so podane v obliki elips, ki grobo pokrivajo območje z anomalijo na danem primeru, toda deloma tudi vključujejo območje brez anomalije, kot je razvidno s slike 3. V določšenih primerih se lahko izkazše, da premajhno sštevilo pozitivnih učšnih primerov ni dovolj reprezentativno za dano problematiko, v taksšnih primerih uporabimo dodatno bogatene pozitivne učne primere. Natančni postopek bogatenja opišemo v razdelku 4.2. (Čeprav označba v čeloti pokriva anomalijo na tekstu-rirani povrsšini, je v nekaterih primerih vanjo zajet znaten delez ozadja. Posledično je del slikovnih elementov napačšno označšen kot slikovni elementi, ki pripadajo anomaliji, kar pa lahko vpliva na učni pročes. Tovrstno * https://hci.iwr.uni-heidelberg.de/node/3616 problematiko je sičer pričšakovati v sštevilnih realnih problemskih domenah, saj je natančno označevanje tezaven in drag postopek. Tudi sičer je dostop do industrijskih baz, ki prikazujejo realne problemske domene otezen, glavni razlogi za to pa lezijo v sporazumih o nerazkritju, ki so namenjeni preprečitvi razkritja določenih pročesov, kot so pročesi zajemanja slik ali drugi ključšni pročesi, ki zagotavljajo konkurenčno prednost podjetja. 4.1 Vpliv različnih konfiguracij Segmentačijski del mreze se sestoji iz treh blokov, pri čemer se vsak blok sestoji iz treh konvolučijskih plasti, sštevilo filtrov pa se podvoji v vsakem naslednjem bloku. Ker sama velikost filtrov v plasti lahko vpliva na se-gmentačijsko in klasifikačijsko točnost, naprej proučimo pet različnih konfiguračij mreze: (i) v1173, kjer se velikost filtrov v vsakem naslednjem bloku zmanjša, tj. [11,11,11] ^ [7,7,7] ^ [3,3,3]. (ii) v3711 pomeni obratno konfiguarčijo (i), torej se velikost filtrov povečša v vsakem nadaljnjem bloku, tj. [3,3,3] ^ [7,7,7] ^ [11,11,11]; (iii) c1173 je podoben prinčip kot (i), s to razliko, da so tu filtri konfigurirani v piramidni shemi v enem bloku, torej se velikost filtrov v vsakem bloku spreminja od večjega proti manjšemu, tj. [11,7,3] ^ [11,7,3] ^ [11,7,3]; (iv) c3711 pomeni nasprotno kon-figuarčijo (iii), tj. [3,7,11] ^ [3,7,11] ^ [3,7,11]; (v) v333 sledi prinčipu zasnovanih arhitektur VGG [12] s konstantno velikostjo filtrov, tj. [3,3,3] ^ [3,3,3] ^ [3,3, 3]. Točnost predlagane mreze evalviramo v smislu deleza pozitivnih primerov, ki so pravilno identifičirani kot pozitivni (TPR), ter delez negativnih primerov, ki so pravilno identifičirani kot negativni primeri (TNR). Točnost pogledamo tudi v smislu absolutnega sštevila napačšno identifičiranih testnih primerov. Prikazani rezultati so dobljeni tako, da na učšni mnozšiči vzamemo TPR in TNR pri najvisšji klasifikačijski točšnosti ter s tem pragom klasifičiramo primere v testni mnozšiči. Slika 4 prikazuje izhode mreze, tj. segmentačijo anomalije in očeno gotovosti anomalije za različne površine. Iz slednjih je bolj razviden vpliv različnih konfiguračij. Pri konfiguračiji v333 opazimo artefakte pri segmentira-nju ozadja za primer (a), medtem ko je v primeru (c) razvidna slabo segmentirana anomalija. Druge konfigu-račije z uporabo večjih filtrov bolje upoštevajo kontekst ozadja, izbrano zaporedje velikost pa vpliva na točšnost segmentačije. Konfiguračiji v1173 in c1173 upoštevata lokalni kontekst po piramidni shemi, tj. velikost filtra se skozi arhitekturo manjša. Ker se velikost filtra manjša, s podvzorčenjem slike opazimo natančnejše segmentačije. Nasprotno delujeta konfiguračiji v3711 in c3711, kjer se velikost filtra večša skozi arhitekturo, torej majhni filtri iščejo napake na velikih slikah, večji filtri pa na podvzorčenih reprezentačijah v mrezi. V nekaterih primerih tu opazimo prečej slabo oz. čelo napačšno segmentirane anomalije, kot je razvidno iz prvega in tretjega primera. Slika 5 prikazuje grafičšni povzetek ENOVITA KONVOLUCIJSKA NEVRONSKA MREZA ZA DETEKCIJO ANOMALIJ NA TEKSTURIRANIH POVRSINAH 283 Površina 1 Površina 2 Površina 3 Površina 4 Površina 5 Površina 6 Površina 7 Površina 8 Površina 9 Površina 10 Slika 3: Primeri različno teksturiranih površin podatkovne baze. Vsaka površina vsebuje znotrajrazredne variacije v teksturi ozadja in anomaliji. Rdeče elipse ponazarjajo grobe labele, ki označujejo defektno območje. Vhod Označba vll73 v3711 cll73 c3711 v333 (a) (b) (c) (d) Slika 4: Segmentacijski izhodi mreže za različne primere. Števila v spodnjem desnem kotu prikazujejo pripisano gotovost mreže, da se na individualnem primeru nahaja anomalija. razmerja med segmentacijo šumnega ozadja in segmen-tacijo anomalije ter točnost mreže pri različnih konfiguracijah konvolucijskih blokov. Razmeije se izračuna iz binariziranih testnih slik z izračunom razmerja med napačno segmentiranimi slikovnimi elementi v ozadju ter vsemi slikovnimi elementi, ki pripadajo ozadju. Slike se binarizirajo pri pragu 0.15, razmerje pa se izračuna kot ločeno povprečje za pozitivne in negativne primere za vsako površino. Kot najboljša se izkaže konfiguracija v!173, saj z njo dosežemo najvišjo klasifikacijsko točnost in najnižje razmerje napačno klasificiranih slikovnih elementov v ozadju za negativne primere. Rezultati kažejo, daje takšna konfiguracija filtrov robustna na različne teksture v ozadju, segmentirana območja pa po večini pripadajo defektnim regijam. Zato pri nadaljnjih poizkusih uporabljamo to konfiguracijo. 4.2 Velikost učne množice Pridobivanje primerov z defekti je draga, lahko pa tudi precej zahtevna operacija v realni domeni delovanja, medtem ko so običajno primeri brez defektov na voljo v veliko večjih količinah. Mreža, zasnovana za kontrolne sisteme, bi se tako morala biti sposobna naučiti razločevanja defektov iz majhnega nabora defektnih primerov. V ta namen predlagano mrežno evalviramo na različnih velikostih učnih množic, opisanih v tabeli 1. Poizkusi se sestojijo iz učenja mreže na zgolj pozitivnih učnih primerih, označenih s Pos, ter pozitivnih in negativnih učnih primerih, označenih s PosNeg. Ker pa se v določenih primerih lahko izkaže, da premajhno število pozitivnih učnih primerov ni dovolj reprezentativno za dano problematiko, predlagano mrežo naučimo tudi na bogatenih pozitivnih učnih primerih, označenih s Pos-aug in PosNeg-aug. Pri slednjih se vsak dani pozitivni učni primer rotira za 180° ter zrcali prek horizontalne in vertikalne osi. Za vsak pozitivni učni primer tako dobimo dodatne tri bogatene primere, s čimer trikrat povečamo število pozitivnih primerov v učnih množicah ter pustimo številno negativnih primerov nespremenjeno. Tabela 2 prikazuje točnost mreže pri učenju z različno velikimi množicami učnih primerov. Kot vidimo pri 284 RAČKI, TOMAŽEVIČ, SKOČAJ Performanse različnih konfiguracij modela H Lažno pozitivna stopnja Lažno negativna stopnja Napačno segmentirani slikovni elementi pozitivnih primerov Napačno segmentirani slikovni elementi negativnih primerov V1173 V3711 C1173 C3711 Konfiguracije v333 Slika 5: Grafični povzetek razmerja med segmentacijo šumnega ozadja in segmentacijo anomalije ter točnost mreže pri različnih konfiguracijah konvolucijskih blokov Kratica Uporabljeni učni primeri Pos PosNeg Pos-aug PosNeg-aug pozitivni učni primeri pozitivni in negativni učni primeri Pos z bogatenjem podatkov PosNeg z bogatenjem podatkov Pozitivni primeri Negativni primeri primeri z anomalijami primeri brez anomalij Tabela 1: Oznake različnih velikosti učnih množic 5 Sklep V prispevku predlagamo enovito konvolucijsko nevronsko mrežo za detekcijo anomalij na teksturiranih površinah. Nevronska mreža se sestoji iz segmentacij-skega in klasifikacijskega dela, katerih učenje poteka v dveh ločenih fazah. Primernost kompaktne arhitekture z manjšim številom parametrov za domeno pregledovanja evalviramo na podatkovni bazi, ki se sestoji iz različno teksturiranih površin s prisotnimi različnimi, šibko označenimi anomalijami. S konfiguracijo v 1173 se izboljšata detekcija in segmentacijska točnost primerov z anomalijami na vseh površinah, pri čemer se ohrani visoka točnost detekcije primerov brez anomalij. Predlagana arhitektura mreže ohranja kompaknost v smislu števila parametrov in učenja anomalij iz majhnega števila učnih primerov; je robustna v podobni problemski domeni, tj. pri variaciji teksture v ozadju in variaciji anomalij, ter daje vizualno lokalizacijo, tj. segmentacijo anomalije za morebitno razlago klasifikacije domenskemu strokovnjaku. Zahvala Raziskavo so omogočili Ministrstvo za gospodarski razvoj in tehnologijo (MGRT) Republike Slovenije, Evropski sklad za regionalni razvoj (ERDF) Evropske unije v okviru programa 631-63/2017/1, ter Sensum, sistemi z Računalniškim Vidom. učenju na učni množici PosNeg-aug, mreža zgreši zgolj en pozitivni testni primer, pri čemer ohrani visoko točnost pri detekciji negativnih primerov, tj. primerov brez anomalij. Na splošno se opazita dva trenda pri večanju učne množice. Z bogatenjem pozitivnih primerov se precej poveča točnost detekcije pozitivnih primerov. Z dodajanjem negativnih primerov pa se poveča točnost detekcije tako pozitivnih kot negativnih primerov ter posledično se zmanjšajo artefakti na ozadju pri segmentiranju teksture ozadja dane površine. Tabela 3 prikazuje primerjavo predlagane arhitekture mreže z obstoječo sodobno rešitvijo, ki temelji na globokem učenju [6], ter s klasičnimi neglobokimi pristopi [16], [17], [18]. S predlagano mrežo izboljšamo detekcijsko točnost pozitivnih, tj. primerov z anomalijami na vseh površinah, pri čemer ohranja visoko točnost detekcije negativnih primerov, tj. primerov brez anomalij. Dosedanji pristopi poleg tega za učenje zahtevajo precej več učnih primerov ter kot del izhoda ne podajo segmentacije anomalije, kar oteži zmožnost morebitne vizualne verifikacije anomalije domenskemu strokovnjaku. Čeprav so slikovni elementi, ki ponazarjajo anomalijo, šibko označeni, saj v določeni meri vključujejo slikovne elemente, ki pomenijo ozadje, se predlagani pristop izkaže kot robusten na tovrstno označevanje in uspe doseči učinkovito segmentacijo anomalij. Literatura [1] W. Polzleitner, "Defect detection on wooden surface using gabor filters with evolutionary algorithm design," in Neural Networks, 2001. Proceedings. IJCNN'01. International Joint Conference on, vol. 1. IEEE, 2001, pp. 750-755. [2] K.-L. Mak, R Peng, and K. Yiu, "Fabric defect detection using morphological filters," Image and Vision Computing, vol. 27, no. 10, pp. 1585-1592, 2009. [3] A. Mukherjee, S. Chaudhuri, P. K. Dutta, S. Sen, and A. Patra, "An object-based coding scheme for frontal surface of defective fluted ingot," ISA transactions, vol. 45, no. 1, pp. 1-8, 2006. [4] H.-G. Bu, X.-B. Huang, J. Wang, and X. Chen, "Detection of fabric defects by auto-regressive spectral analysis and support vector data description," Textile Research Journal, vol. 80, no. 7, pp. 579-589, 2010. [5] J. Masci, U. Meier, D. Ciresan, J. Schmidhuber, and G. Fricout, "Steel defect classification with max-pooling convolutional neural networks," in The 2012 International Joint Conference on Neural Networks (IJCNN). IEEE, 2012, pp. 1-6. [6] D. Weimer, B. Scholz-Reiter, and M. Shpitalni, "Design of deep convolutional neural network architectures for automated feature extraction in industrial inspection," CIRP Annals-Manufacturing Technology, 2016. [7] K. Simonyan and A. Zisserman, "Very deep convolutional networks for large-scale image recognition," arXiv preprint arXiv:1409.1556v6, 2015. [8] D. Soukup and R. Huber-Mork, "Convolutional neural networks for steel surface defect detection from photometric stereo images," in International Symposium on Visual Computing. Springer, 2014, pp. 668-677. [9] S. Faghih-Roohi, S. Hajizadeh, A. Nunez, R. Babuska, and B. De Schutter, "Deep convolutional neural networks for detection of rail surface defects," in Neural Networks (IJCNN), 2016 International Joint Conference on. IEEE, 2016, pp. 2584—2589. ENOVITA KONVOLUCIJSKA NEVRONSKA MREZA ZA DETEKCIJO ANOMALIJ NA TEKSTURIRANIH POVRSINAH 285 Surface Pos TPR TNR PosNeg TPR TNR Pos-aug TPR TNR PosNeg-aug TPR TNR 1 2 3 4 5 6 7 8 9 10 100 [0] 97.6 [12] 97.6 [2] 99.6 [2] 100 [0] 97.8 [11] 0.0 [68] 100 [0] 100 [0] 99.8 [1] 100 [0] 99.8 [1] 100 [0] 99.7 [3] 100 [0] 99.1 [9] 100 [0] 98 [20] 42.7 [86] 100 [0] 100 [0] 96.4 [18] 98.8 [1] 99.6 [2] 100 [0] 97.1 [14] 77.9 [15] 95.7 [22] 100 [0] 99.6 [2] 100 [0] 100 [0] 100 [0] 98.9 [11] 100 [0] 99.9 [1] 100 [0] 100 [0] 100 [0] 99.7 [3] 98.6 [1] 97.8 [11] 100 [0] 99.8 [1] 100 [0] 96.7 [16] 97.1 [2] 88.4 [59] 100 [0] 100 [0] 100 [0] 100 [0] 100 [0] 98.4 [16] 99.3 [7] 99.9 [1] 100 [0] 99.9 [1] 100 [0] 99.6 [4] 100 [0] 98.8 [6] 100 [0] 99.8 [1] 100 [0] 96.3 [18] 98.5 [1] 99.8 [1] 100 [0] 100 [0] 100 [0] 100 [0] 100 [0] 100 [0] 100 [0] 100 [0] 100 [0] 99.9 [1] 100 [0] 100 [0] E [156] [59] [16] [73] [4] [109] [1] [27] Tabela 2: Klasifikacijska točnost predlagane mreže na različnih velikostih učnih množic, prikazanih v tabeli 1. Števila v oglatih oklepajih označujejo absolutno število napačno klasificiranih primerov za vsako površino, medtem ko števila v oglatih oklepajih na dnu tabele označujejo skupno število napačno klasificiranih primerov. Surface Ours Weimer et. al. [6] Statistical feat. [16] SIFT and ANN [17] Weibull feat. [18] TPR TNR TPR TNR TPR TNR TPR TNR TPR TNR 1 100 98.8 100 100 99.7 99.4 100 98.9 98.0 87.0 2 100 99.8 97.3 100 80.0 94.3 91.3 95.7 - - 3 100 96.3 100 95.5 100 99.5 100 98.5 100 99.8 4 98.5 99.8 98.7 100 96.1 92.5 - - - - 5 100 100 100 98.8 96.1 96.9 100 98.2 100 97.2 6 100 100 99.5 100 96.1 100 100 99.8 100 94.9 7 100 100 - - - - - - - - 8 100 100 - - - - - - - - 9 100 99.9 - - - - - - - - 10 100 100 - - - - - - - - Tabela 3: Klasifikacijska točnost predlagane mreze v primerjavi z drugimi globokimi in klasičnimi pristopi [10] J. Long, E. Shelhamer, and T. Darrell, "Fully convolutional networks for semantic segmentation," in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2015, pp. 3431-3440. [11] G. Papandreou, L.-C. Chen, K. P. Murphy, and A. L. Yuille, "Weakly- and semi-supervised learning of a deep convolutional network for semantic image segmentation," in The IEEE International Conference on Computer Vision (ICCV), December 2015. [12] K. Simonyan and A. Zisserman, "Very deep convolutional networks for large-scale image recognition," arXiv preprint arXiv:1409.1556, 2014. [13] D. Racki, D. Tomaževic, and D. Skocaj, "A compact convolutional neural network for textured surface anomaly detection," in 2018 IEEE Winter Conference on Applications of Computer Vision (WACV), March 2018, pp. 1331-1339. [14] K. He, X. Zhang, S. Ren, and J. Sun, "Delving deep into rectifiers: Surpassing human-level performance on imagenet classification," in Proceedings of the IEEE international conference on computer vision, 2015, pp. 1026-1034. [15] M. D. Zeiler, "Adadelta: an adaptive learning rate method," arXiv preprint arXiv:1212.5701, 2012. [16] B. Scholž-Reiter, D. Weimer, and H. Thamer, "Automated surface inspection of cold-formed micro-parts," CIRP Annals, vol. 61, no. 1, pp. 531-534, 2012. [17] D. Weimer, H. Thamer, and B. Scholž-Reiter, "Learning defect classifiers for textured surfaces using neural networks and statistical feature representations," Procedia CIRP, vol. 7, no. Supplement C, pp. 347-352, 2013, forty Sixth CIRP Conference on Manufacturing Systems 2013. [18] F. Timm and E. Barth, "Non-parametric texture defect detection using weibull features," IS&T SPIE Electronic Imaging. International Society for Optics and Photonics, 2011. Domen Racki je leta 2015 magistriral na dvojnem študijskem programu Fakultete za računalništvo in informatiko Univerze v Ljubljani in Tehniške univerze v Gradcu. Deluje kot član raziskovalne skupine v Sensum, sistemi z računalniškim vidom ter kot podiplomski študent na Fakulteti za računalništvo in informatiko Univerze v Ljubljani. Njegovi glavni raziskovalni interesi segajo na področje praktične uporabe globokega učenja in računalniškega vida za analizo slik. Dejan Tomaževič je leta 2005 doktoriral s področja elektrotehnike na Fakulteti za elektrotehniko Univerze v Ljubljani, leta 2008 pa doktoriral na Fakulteti za medičino Univerze v Utrečhtu na Nizozemskem. Deluje kot aktivni član raziskovalne skupine v Sensum, sistemi z račšunalnisškim vidom, in kot dočent na Fakulteti za elektrotehniko Univerze v Ljubljani. Njegovi glavni raziskovalni interesi segajo na področšje vizualne kontrole kakovosti, račšunalnisškega in strojnega vida ter analizo biomedicinskih slik. Danijel Skocaj je izredni profesor na Fakulteti za računalništvo in informatiko Univerze v Ljubljani, kjer je leta 2003 tudi doktoriral. Je predstojnik Laboratorija za umetne vizualne spoznavne sisteme. Njegovi glavni raziskovalni interesi segajo na področšja račšunalnisškega vida, razpoznavanja vzorčev, strojnega učšenja in spoznavne robotike.