Objectdetectie voor Dummies deel 2: CNN, DPM en overeat

deel 2 introduceert verschillende klassieke convolutionele neurale werkarchitectuurontwerpen voor beeldclassificatie (AlexNet, VGG, ResNet), evenals DPM (Deformable Parts Model) en overeat-modellen voor objectherkenning.

deel 1 van de serie” Object Detection for Dummies ” geïntroduceerd: (1) het concept van beeldgradiëntvector en hoe HOG algoritme de informatie over alle gradiëntvectoren in één afbeelding samenvat; (2) Hoe het beeldsegmentatiealgoritme werkt om regio ‘ s te detecteren die mogelijk objecten bevatten; (3) Hoe het selectieve zoekalgoritme de resultaten van beeldsegmentatie verfijnt voor een beter regiovoorstel.

in Deel 2 staan we op het punt meer te weten te komen over de klassieke convolution neurale netwerkarchitecturen voor beeldclassificatie. Zij leggen de basis voor verdere vooruitgang op de deep learning modellen voor objectdetectie. Ga naar Deel 3 als je meer wilt weten over R-CNN en gerelateerde modellen.

Links naar alle berichten in de serie: .

CNN voor beeldclassificatie

CNN, kort voor “Convolutioneel neuraal netwerk”, is de oplossing voor computervisieproblemen in de deep learning wereld. Het was, tot op zekere hoogte, geïnspireerd door hoe het menselijke visuele cortex systeem werkt.

Convolutieoperatie

ik beveel deze gids voor convolutierekenen ten zeerste aan, die een heldere en solide verklaring biedt met tal van visualisaties en voorbeelden. Hier laten we ons richten op tweedimensionale convolutie als we werken met afbeeldingen in dit bericht.

kortom, convolutiebewerking schuift een vooraf gedefinieerde kernel (ook wel “filter” genoemd) bovenop de kaart van de invoerfunctie (matrix van beeldpixels), vermenigvuldigt en voegt de waarden van de kernel en gedeeltelijke invoerfuncties toe om de uitvoer te genereren. De waarden vormen een uitvoermatrix, zoals gewoonlijk is de kernel veel kleiner dan de invoerafbeelding.

Convolutie

Fig. 1. Een illustratie van het toepassen van een kernel op de input feature map om de output te genereren. (Bron van de afbeelding: River Trail documentatie)

Figuur 2 toont twee echte voorbeelden van hoe een 3×3 kernel over een 5×5 2D matrix van numerieke waarden te convolveren om een 3×3 matrix te genereren. Door het regelen van de opvulling grootte en de staplengte, kunnen we een output matrix van een bepaalde grootte te genereren.

Convolutie Convolutie

Fig. 2. Twee voorbeelden van 2D-convolutie: (boven) geen opvulling en 1×1 stappen; (onder) 1×1 randnullen opvulling en 2×2 stappen. (Bron van de afbeelding: deeplearning.net)

AlexNet (Krizhevsky et al., 2012)

  • 5 convolutielagen + 2 MLP-lagen + 1 LR-laag
  • gebruik data-augmentatietechnieken om de trainingsdataset uit te breiden, zoals afbeeldingsvertalingen, horizontale reflecties en patchextracties.

convolutie pperatie voorbeeld

Fig. 3. De architectuur van AlexNet. (Bron van de afbeelding: link)

VGG (Simonyan en Zisserman, 2014)

  • het netwerk wordt beschouwd als “zeer diep” op zijn moment; 19 lagen
  • de architectuur is zeer vereenvoudigd met slechts 3×3 convolutionele lagen en 2×2 pooling lagen. Het stapelen van kleine filters simuleert een groter filter met minder parameters.

ResNet (He et al., 2015)

  • het netwerk is inderdaad zeer diep; 152 lagen van eenvoudige architectuur.
  • Restblok: sommige invoer van een bepaalde laag kan later worden doorgegeven aan de component twee lagen. Restblokken zijn essentieel om een diep netwerk trainbaar te houden en uiteindelijk te werken. Zonder restblokken neemt het trainingsverlies van een gewoon netwerk niet eentonig af naarmate het aantal lagen toeneemt als gevolg van verdwijnende en exploderende gradiënten.

Restblok

Fig. 4. Een illustratie van het restblok van ResNet. Op de een of andere manier kunnen we zeggen dat het ontwerp van resterende blokken is geïnspireerd door V4 die direct input krijgt van V1 in het menselijke visuele cortex systeem. (Bron afbeelding links: Wang et al., 2017)

Evaluatiecriteria: kaart

een gemeenschappelijke evaluatiemetrie die wordt gebruikt in veel objectherkennings-en detectietaken is “mAP”, kort voor “mean average precision”. Het is een getal van 0 tot 100; hogere waarde is beter.

  • Combineer alle detecties van alle testafbeeldingen om voor elke klasse een precision-recall curve (PR-curve) te tekenen; de “average precision” (AP) is het gebied onder de PR-curve.
  • aangezien doelobjecten zich in verschillende klassen bevinden, berekenen we eerst AP afzonderlijk voor elke klasse, en dan gemiddeld over klassen.
  • een detectie is een waar positief als het “snijpunt over Unie” (IoU) heeft met een ground-truth box groter dan een bepaalde drempel (meestal 0,5; als dat zo is, is de metriek “[email protected]”)

model voor vervormbare onderdelen

model voor vervormbare onderdelen (DPM) (Felzenszwalb et al., 2010) herkent objecten met een mengsel grafisch model (Markov random fields) van vervormbare delen. Het model bestaat uit drie belangrijke componenten:

  1. een grof wortelfilter definieert een detectievenster dat ongeveer een volledig object beslaat. Een filter specificeert gewichten voor een regio feature vector.
  2. filters voor meerdere delen die kleinere delen van het object bestrijken. Onderdelenfilters worden geleerd bij twee keer de resolutie van het wortelfilter.
  3. een ruimtelijk model voor het scoren van de locaties van deelfilters ten opzichte van de root.

DPM

Fig. 5. Het DPM-model bevat (a) een wortelfilter, (b) meerdelige filters met tweemaal de resolutie, en (c) een model voor het scoren van de locatie en vervorming van onderdelen.

de kwaliteit van het detecteren van een object wordt gemeten door de score van filters minus de vervormingskosten. De overeenkomende score \(f\), in termen van leken, is:

\\]

waarin,

  • \(x\) is een afbeelding met een opgegeven positie en schaal;
  • \(y\) is een subgebied van \(x\).
  • \(\beta_ \ text{root}\) is het basisfilter.
  • \(\beta_ \ text{part}\) is een deelfilter.
  • cost () meet de boete van het deel dat afwijkt van zijn ideale locatie ten opzichte van de wortel.

het basisscoremodel is het puntproduct tussen het filter \(\beta\) en de regiokenmerken vector \(\Phi(x)\): \(f(\beta, x) = \beta \cdot \Phi(x)\). De feature set \(\Phi (x)\) kan worden gedefinieerd door HOG of andere soortgelijke algoritmen.

een rootlocatie met een hoge score detecteert een gebied met een hoge kans om een object te bevatten, terwijl de locaties van de delen met een hoge score een herkende objecthypothese bevestigen. Het papier aangenomen latente SVM om de classifier te modelleren.

DPM-matchingproces

Fig. 6. Het matching proces door DPM. (Bron van de afbeelding: Felzenszwalb et al., 2010)

de auteur beweerde later dat DPM-en CNN-modellen geen twee verschillende benaderingen van objectherkenning zijn. In plaats daarvan kan een DPM-model worden geformuleerd als een CNN door het DPM-gevolgalgoritme uit te rollen en elke stap toe te wijzen aan een gelijkwaardige CNN-laag. (Controleer de details in Girshick et al., 2015!)

overbeat

overbeat is een pioniermodel voor het integreren van objectdetectie, lokalisatie en classificatietaken in één convolutioneel neuraal netwerk. Het belangrijkste idee is om (i) beeldclassificatie te doen op verschillende locaties op regio ‘ s van meerdere schalen van het beeld in een schuifraam, en (ii) de bounding box locaties te voorspellen met een regressor getraind op de top van dezelfde convolutielagen.

de overbeat-modelarchitectuur lijkt sterk op AlexNet. Het wordt als volgt getraind:

Overbeattraining

Fig. 7. De trainingsfasen van het overbeat model. (Bron afbeelding: link)

  1. Train een CNN model (vergelijkbaar met AlexNet) op de afbeelding classificatie taak.
  2. vervolgens vervangen we de bovenste classificatielagen door een regressienetwerk en trainen we het om Object bounding boxes te voorspellen op elke ruimtelijke locatie en schaal. De regressor is class-specific, elk gegenereerd voor een beeldklasse.
    • invoer: afbeeldingen met classificatie en begrenzing.
    • uitvoer: \((x_ \ text{left}, x_ \ text{right}, y_ \ text{top}, y_ \ text{bottom})\), 4 waarden in totaal, die de coördinaten van de randen van het omvattende kader weergeven.
    • verlies: De regressor is getraind om de \(l2\) norm tussen gegenereerde bounding box en de ground truth voor elk trainingsvoorbeeld te minimaliseren.

op het moment van detectie,

  1. voer classificatie uit op elke locatie met behulp van het voorgetrainde CNN-model.
  2. voorspel object bounding boxes op Alle geclassificeerde regio ‘ s gegenereerd door de classifier.
  3. samenvoegen bounding boxes met voldoende overlap van lokalisatie en voldoende zekerheid om hetzelfde object te zijn van de classifier.

aangehaald als:

@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"}

referentie

Vincent Dumoulin en Francesco Visin. “A guide to convolution arithmetic for deep learning.”arXiv preprint arXiv: 1603.07285 (2016).Haohan Wang, Bhiksha Raj en Eric P. Xing. “Over de oorsprong van Deep Learning.”arXiv preprint arXiv:1702.07800 (2017).

Pedro F. Felzenszwalb, Ross B. Girshick, David McAllester en Deva Ramanan. “Objectdetectie met discriminatief getrainde part-based modellen.”IEEE transactions on pattern analysis and machine intelligence 32, no. 9 (2010): 1627-1645.Ross B. Girshick, Forrest Iandola, Trevor Darrell en Jitendra Malik. “Vervormbare deelmodellen zijn convolutionele neurale netwerken.”In Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), PP.437-446. 2015.Sermanet, Pierre, David Eigen, Xiang Zhang, Michaël Mathieu, Rob Fergus en Yann LeCun. “Overbeat: Integrated Recognition, Localization and Detection using Convolutional Networks” arXiv preprint arXiv:1312.6229 (2013).

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.