StudentSká
vědecká konference 2017
Detekce specifick´ych objekt ˚u v digit´aln´ım sn´ımku pro potˇreby urˇcen´ı druhu obsahu sc´eny
Tereza ˇStanglov´a1
1 ´ Uvod
C´ılem t´eto pr´ace je navrˇzen´ı a implementov´an´ı konvoluˇcn´ı neuronov´e s´ıtˇe s pouˇzit´ım existuj´ıc´ı knihovny, kter´a bude spolehlivˇe identifikovat pornografick´e sc´eny. Po peˇcliv´em zv´aˇzen´ı byl z nˇekolika moˇzn´ych alternativ vybr´an framework CNTK1. V r´amci pr´ace byly vytvoˇreny i webov´e str´anky, kter´e slouˇz´ı k uˇzivatelsk´emu testov´an´ı modelu. Str´anky jsou um´ıstˇeny na adresehttp://147.228.64.42/pdetect/.
2 Konvoluˇcn´ı neuronov´e s´ıtˇe
Konvoluˇcn´ı neuronov´e s´ıtˇe jsou speci´aln´ım druhem v´ıcevrstv´ych dopˇredn´ych neuronov´ych s´ıt´ı. Byly navrˇzeny pro rozpozn´av´an´ı sn´ımk˚u pˇr´ımo z pixel˚u s minim´aln´ım pˇredzpracov´an´ım Karpathy (2016). Skl´adaj´ı se z vrstev, z nichˇz kaˇzd´a m´a svou specifickou funkci. Popis vrstev:
• Vstupn´ı– Vstupem je matice obrazov´ych bod˚u ve form´atuv´yˇska sn´ımkuסs´ıˇrka sn´ımku
×poˇcet barevn´ych kan´al˚u.
• Konvoluˇcn´ı – Slouˇz´ı k extrahov´an´ı pˇr´ıznak˚u ze sn´ımk˚u. Obsahuje sadu konvoluˇcn´ıch filtr˚u. Prov´ad´ı se operace konvoluce mezi vstupem a filtry. V´ystupem jsou pˇr´ıznakov´e mapy. Konvoluce je zobrazena na obr´azku 1 v ˇc´asti(a).
• Aktivaˇcn´ı– Slouˇz´ı k aplikaci neline´arn´ı aktivaˇcn´ı funkce na v´ystup konvoluˇcn´ı vrstvy.
• Podvzorkovac´ı– Slouˇz´ı k redukci dimenze pro sn´ıˇzen´ı poˇctu parametr˚u. Pˇr´ıklad aplikace je ilustrov´an na obr´azku 1 v ˇc´asti(b).
• Plnˇe propojen´a– Kaˇzd´y neuron t´eto vrstvy je propojen´y se vˇsemi neurony vrstvy pˇredchoz´ı.
• V´ystupn´ı– Je plnˇe propojen´a s pˇredchoz´ı. Obsahuje tolik neuron˚u, kolik je klasifikaˇcn´ıch tˇr´ıd.
Pro natr´enov´an´ı neuronov´e s´ıtˇe byly vytvoˇreny dvˇe mnoˇziny dat. Mnoˇzina c´ılov´ych sn´ımk˚u obsahuj´ıc´ıch pornografii a mnoˇzina nec´ılov´ych sn´ımk˚u, kter´e pornografii neobsahuj´ı. Pro po- rovn´an´ı bylo implementov´ano nˇekolik architektur. Zdokumentov´any byly architektury pro ne- douˇcenou a pˇreuˇcenou s´ıt’. D´ale byl zkoum´an vliv r˚uzn´eho nastaven´ı poˇc´ateˇcn´ıch hodnot vah a prah˚u s´ıtˇe a vliv r˚uzn´e velikosti tr´enovac´ı mnoˇziny na pr˚ubˇeh uˇcen´ı s´ıtˇe.
1studentka navazuj´ıc´ıho studijn´ıho programu Inˇzen´yrsk´a informatika, obor Inteligentn´ı poˇc´ıtaˇcov´e syst´emy, e-mail: stanglov@students.zcu.cz
1https://github.com/Microsoft/CNTK/
Filtr
Vstup Výstup
(a)Aplikace konvoluˇcn´ıho filtru.
1 1 2 4 5 6 7 8 3 2 1 0 1 2 3 4
6 8 3 4 x
y
(b)Podvzorkov´an´ı.
Obr´azek 1: Operace v konvoluˇcn´ıch s´ıt´ıch.
3 V´ysledky
V tabulce 1 je uvedeno pro pˇredstavu srovn´an´ı dvou architektur s pˇeti a tˇremi kon- voluˇcn´ımi vrstvami pro r˚uznˇe velk´e tr´enovac´ı sady dat. V tabulce jsou uvedeny poˇcty c´ılov´ych a nec´ılov´ych vzork˚u. Poˇcet vidˇen´ych vzork˚u reprezentuje velikost datov´e mnoˇziny po jej´ım umˇel´em zvˇetˇsen´ı.
Tabulka 1:Srovn´an´ı pouˇzit´ych architektur pro r˚uznˇe velk´e sady tr´enovac´ıch dat.
Architektura Poˇcet
celkem
Poˇcet c´ılov´ych
Poˇcet nec´ılov´ych
Poˇcet vidˇen´ych
Chyba v testovac´ı f´azi [%]
Architektura 1 (5 konv. vrstev)
4052 2036 2016 121560 8.202
Architektura 2 (3 konv. vrstvy) 8.954
Architektura 1 (5 konv. vrstev)
8403 4199 4204 252090 3.085
Architektura 2 (3 konv. vrstvy) 3.010
V r´amci uˇzivatelsk´eho testov´an´ı od 15.3.2017 do 20.4.2017 bylo celkem evidov´ano 473 nahran´ych vzork˚u. V´ysledky ilustruje tabulka 2. Spr´avnˇe byly klasifikov´any vzorky, u nichˇz se predikovan´a tˇr´ıda shoduje s tˇr´ıdou oznaˇcenou uˇzivatelem.
Tabulka 2:V´ysledky uˇzivatelsk´eho testov´an´ı.
Odpovˇed’ uˇzivatele
1 0
Predikce 1 20 66
0 15 372
4 Z´avˇer
V pr˚ubˇehu pr´ace se podaˇrilo experiment´alnˇe vytvoˇrit konvoluˇcn´ı neuronovou s´ıt’, kter´a uspokojivˇe klasifikovala digit´aln´ı sn´ımky. Model s´ıtˇe byl nasazen k re´aln´emu testov´an´ı uˇzivateli na webov´ych str´ank´ach. Probl´em pˇri realizaci byl napˇr´ıklad v nepochopen´ı ´uˇcelu str´anek uˇzivateli.
Nˇekolika uˇzivatel˚um musel b´yt ´uˇcel pr´ace individu´alnˇe vysvˇetlen. I pˇresto se v r´amci uˇzivatelsk´eho testov´an´ı podaˇrilo nasb´ırat dostateˇcn´e mnoˇzstv´ı vzork˚u.
Literatura
Karpathy, A. (2016) Convolutional Neural Networks for Visual Recognition. Dostupn´e na http://cs231n.github.io/[Citov´ano 3.4.2017]