Object Detection for Dummies Part 2: CNN, DPM ja Overfeat

Osa 2 esittelee useita klassisia convolutional neural work arkkitehtuuri malleja kuvan luokittelu (AlexNet, VGG, ResNet), sekä DPM (muotoaan osia malli) ja Overfeat malleja objektin tunnistamista.

“Object Detection for Dummies” – sarjan osa 1 esiteltiin: (1) kuvan gradienttivektorin käsite ja se, miten HOG-algoritmi tiivistää tiedot kaikista gradienttivektoreista yhdeksi kuvaksi; (2) Miten kuvan segmentointialgoritmi toimii havaitakseen alueita, jotka mahdollisesti sisältävät objekteja; (3) Miten selektiivinen hakualgoritmi jalostaa kuvan segmentoinnin tuloksia paremman alueen ehdotukseen.

osassa 2 kerrotaan lisää klassisista konvoluution neuroverkkoarkkitehtuureista kuvanluokitusta varten. Ne luovat perustan objektien havaitsemisen syväoppimismallien edistymiselle. Mene tarkistaa osa 3 Jos haluat oppia lisää R-CNN ja siihen liittyvät mallit.

Linkit kaikkiin sarjan viesteihin: .

CNN: n Kuvanluokituksessa

CNN, lyhenne sanoista “Convolutional Neural Network”, on syväoppimisen maailman tietokonenäön ongelmien ratkaisu. Se oli jossain määrin inspiroitunut siitä, miten ihmisen näköaivokuorijärjestelmä toimii.

konvoluutio-operaatio

suosittelen lämpimästi tätä konvoluution aritmetiikan opasta, joka tarjoaa puhtaan ja vankan selityksen tonneittain visualisointeja ja esimerkkejä. Tässä keskitytään kaksiulotteiseen konvoluutioon, koska työskentelemme kuvien kanssa tässä viestissä.

lyhyesti sanottuna konvoluutio-operaatio siirtää ennalta määritetyn ytimen (jota kutsutaan myös “suodattimeksi”) syöteominaisuuskartan (kuvapikselien matriisi) päälle kertomalla ja lisäämällä ytimen ja osittaisten syöteominaisuuksien arvot tuotoksen tuottamiseksi. Arvot muodostavat lähtömatriisin, sillä yleensä ydin on paljon pienempi kuin syötekuva.

 Konvoluutio-Operaatio

Fig. 1. Esimerkki ytimen soveltamisesta input-ominaisuuskartalla tuotoksen tuottamiseksi. (Kuvan lähde: River Trail documentation)

kuva 2 esittelee kaksi todellista esimerkkiä siitä, miten 3×3-ydin saadaan käännettyä numeeristen arvojen 5×5 2D-matriisin päälle 3×3-matriisin luomiseksi. Ohjaamalla pehmusteen kokoa ja askelpituutta voimme luoda tietyn kokoisen lähtömatriisin.

 Konvoluutio-Operaatio Konvoluutio-Operaatio

Fig. 2. Kaksi esimerkkiä 2D konvoluution toiminnasta: (ylhäältä) ei pehmustusta ja 1×1 askelta; (alhaalta) 1×1 rajan Nollaa pehmustusta ja 2×2 askelta. (Kuvan lähde: deeplearning.net)

AlexNet (Krizhevski et al, 2012)

  • 5 konvoluutiokerrokset + 2 MLP-Kerrosta + 1 LR-kerros
  • käyttävät harjoitusaineiston laajentamiseen tiedonsuurennustekniikoita, kuten kuvankäännöksiä, horisontaalisia heijastuksia ja patch-poistoja.

konvoluution pperaatioesimerkki

Fig. 3. Alexnetin arkkitehtuuri. (Kuvan lähde: linkki)

VGG (Simonyan ja Zisserman, 2014)

  • verkkoa pidetään aikanaan “hyvin syvänä”; 19 kerrosta
  • arkkitehtuuri on äärimmäisen pelkistettyä, vain 3×3 konvolaatiokerrosta ja 2×2 yhdistävää kerrosta. Pienten suodattimien pinoaminen simuloi suurempaa suodatinta, jossa on vähemmän parametreja.

ResNet (He et al., 2015)

  • verkko on todella syvä; 152 kerrosta yksinkertaista arkkitehtuuria.
  • Jäännöslohko: osa tietyn kerroksen panoksesta voidaan siirtää komponenttiin kaksi kerrosta myöhemmin. Jäännöslohkot ovat välttämättömiä, jotta syvä verkko pysyy koulutettavissa ja lopulta toimii. Ilman jäännöslohkoja tavallisen verkon harjoitushäviö ei monotonisesti vähene kerrosten määrän kasvaessa katoavien ja räjähtävien kaltevuuksien vuoksi.

Jäännöslohko

Fig. 4. Kuva Resnetin jäljellä olevasta lohkosta. Jollain tavalla voidaan sanoa, että jäännöslohkojen suunnittelu on saanut innoituksensa siitä, että V4 saa syötteen suoraan v1: stä ihmisen näköaivokuorijärjestelmässä. (vasemmalla kuvan lähde: Wang et al., 2017)

Evaluation Metrics: kartta

monissa objektien tunnistus-ja tunnistustehtävissä käytetty yleinen arviointimittari on “mAP”, lyhenne sanoista “mean average precision”. Se on luku 0: sta 100: aan; korkeampi arvo on parempi.

  • Yhdistä kaikki havainnot kaikista testikuvista ja piirrä kullekin luokalle precision-recall-käyrä (PR-käyrä); “average precision” (AP) on PR-käyrän alle jäävä alue.
  • koska kohdeobjektit ovat eri luokissa, lasketaan ensin AP erikseen kullekin luokalle, ja sitten lasketaan keskiarvo luokkien yli.
  • detektio on todellinen positiivinen, jos siinä on” intersection over union ” (IoU), jossa on jokin kynnysarvo (yleensä 0,5; jos näin on, metriikka on “[email protected]”)

muotoutuvat osat Malli

muotoutuvat osat Malli (DPM) (Felzenszwalb et al., 2010) tunnistaa esineitä seosgrafisella mallilla (Markov random fields) muotoutuvista osista. Malli koostuu kolmesta pääkomponentista:

  1. karkea juurisuodatin määrittelee havaintoikkunan, joka suunnilleen kattaa kokonaisen kohteen. Suodatin määrittää alueen ominaisuusvektorin painot.
  2. moniosaiset suotimet, jotka peittävät kohteen pienempiä osia. Osasuodattimet opitaan juurisuodattimen kaksinkertaisella resoluutiolla.
  3. paikkamalli, jolla voidaan pisteyttää osasuodattimien sijainnit suhteessa juureen.

DPM

Kuva. 5. DPM-malli sisältää (A) juurisuodattimen, (b) moniosaiset suotimet kaksinkertaisella resoluutiolla ja (c) mallin osien sijainnin ja muodonmuutoksen pisteyttämiseksi.

kohteen havaitsemisen laatu mitataan suodattimien pisteytyksellä, josta vähennetään muodonmuutoskustannukset. Vastaava pistemäärä \(f\), maallikon termein, on:

\\]

jossa,

  • \(x\) on kuva, jolla on määritelty sijainti ja asteikko;
  • \(y\) on \(x\): n alialue.
  • \(\beta_\text{root}\) on juurisuodatin.
  • \(\beta_\text{part}\) on yksi osasuodatin.
  • kustannus() mittaa ideaalipaikastaan poikkeavan osan rangaistusta suhteessa juureen.

peruspistemalli on pistetulo suodattimen \(\beta\) ja alueen ominaisuusvektorin \(\Phi(x)\) välillä: \(f(\beta, x) = \beta \cdot \Phi(x)\). Ominaisuusjoukko \(\Phi (x)\) voidaan määritellä HOG: n tai muiden vastaavien algoritmien avulla.

korkean pistemäärän omaava juuripaikka havaitsee alueen, jolla on suuret mahdollisuudet sisältää esine, kun taas korkean pistemäärän saaneiden osien sijainnit vahvistavat tunnistetun objektihypoteesin. Lehti otti luokittelijan malliksi piilevän SVM: n.

DPM matching process

Fig. 6. Täsmäytysprosessi DPM: llä. (Kuvan lähde: Felzenszwalb et al., 2010)

kirjoittaja on myöhemmin väittänyt, että DPM-ja CNN-mallit eivät ole kaksi erillistä lähestymistapaa objektin tunnistamiseen. Sen sijaan DPM-Malli voidaan muotoilla CNN: ksi poistamalla DPM-päättelyalgoritmi ja kartoittamalla jokainen vaihe vastaavalle CNN-kerrokselle. (Tarkista yksityiskohdat Girshick et al., 2015!)

Overfeat

Overfeat on pioneerimalli, jossa objektin havaitseminen -, lokalisointi-ja luokittelutehtävät yhdistetään kaikki yhdeksi convolutionaaliseksi neuroverkoksi. Pääajatuksena on (i) tehdä kuvan luokittelu eri paikoissa liukuikkunamuotoisesti kuvan useiden asteikkojen alueilla ja (ii) ennustaa rajauslaatikon sijainnit regressorilla, joka on koulutettu samojen konvoluutiokerrosten päälle.

Overfeat-mallin arkkitehtuuri muistuttaa hyvin paljon Alexnetiä. Se on koulutettu seuraavasti:

Overfeat training

Fig. 7. Overfeat-mallin harjoitusvaiheet. (Kuvan lähde: linkki)

  1. kouluttaa CNN malli (samanlainen AlexNet) kuvan luokittelu tehtävä.
  2. sen jälkeen korvaamme yläluokituskerrokset regressioverkolla ja koulutamme sen ennustamaan kohteiden rajauslaatikoita kussakin spatiaalisessa paikassa ja mittakaavassa. Regressori on luokkakohtainen, jokainen luotu yhdelle kuvanluokalle.
    • Input: kuvat luokitteluineen ja rajauslaatikkoineen.
    • tuloste: \((x_\text{left}, x_\text{right}, y_\text{top}, y_\text{bottom})\), yhteensä 4 arvoa, jotka edustavat rajaavan ruudun reunojen koordinaatteja.
    • tappio: Regressor on koulutettu minimoimaan \(l2\) normi luodun rajauslaatikon ja maatotuuden välillä jokaisen harjoitusesimerkin kohdalla.

havaitsemishetkellä,

  1. Suorita luokittelu kussakin paikassa käyttäen esivalmistettua CNN-mallia.
  2. ennusta kohteen rajauslaatikot kaikilla luokittajan tuottamilla luokitelluilla alueilla.
  3. Yhdistä rajauslaatikot, joissa on riittävästi päällekkäisyyttä lokalisoinnista ja riittävä luottamus siihen, että luokittelija on sama kohde.

mainittu:

@article{weng2017detection2, title = "Object Detection for Dummies Part 2: CNN, DPM and Overfeat", author = "Weng, Lilian", journal = "lilianweng.github.io/lil-log", year = "2017", url = "http://lilianweng.github.io/lil-log/2017/12/15/object-recognition-for-dummies-part-2.html"}

viite

Vincent Dumoulin ja Francesco Visin. “A guide to convolution arithmetic for deep learning.”arxiv preprint arXiv: 1603.07285 (2016).

Haohan Wang, Bhiksha Raj ja Eric P. Xing. “Syväoppimisen alkuperästä.”arxiv preprint arXiv: 1702.07800 (2017).

Pedro F. Felzenszwalb, Ross B. Girshick, David McAllester ja Deva Ramanan. “Objektien havaitseminen syrjivästi koulutetuilla osapohjaisilla malleilla.”IEEE transactions on pattern analysis and machine intelligence 32, no.9 (2010): 1627-1645.

Ross B. Girshick, Forrest Iandola, Trevor Darrell ja Jitendra Malik. “Muotoutuvat osamallit ovat convolutionaalisia neuroverkostoja.”Proc. IEEE Conf. on Computer Vision and Pattern Recognition (Cvpr), s.437-446. 2015.

Sermanet, Pierre, David Eigen, Xiang Zhang, Michaël Mathieu, Rob Fergus ja Yann LeCun. “OverFeat: Integrated Recognition, Localization and Detection using Convolutionary Networks” arXiv preprint arXiv:1312.6229 (2013).

Vastaa

Sähköpostiosoitettasi ei julkaista.