Objektdetektering för Dummies del 2: CNN, DPM och Overfeat

del 2 introducerar flera klassiska convolutional neural work architecture designs för bildklassificering (AlexNet, VGG, ResNet), samt DPM (Deformable Parts Model) och Overfeat-modeller för objektigenkänning.

Del 1 i serien “Object Detection for Dummies” introducerad: (1) begreppet bildgradientvektor och hur HOG-algoritmen sammanfattar informationen över alla gradientvektorer i en bild; (2) Hur bildsegmenteringsalgoritmen fungerar för att upptäcka regioner som potentiellt innehåller objekt; (3) Hur den selektiva sökalgoritmen förfinar resultaten av bildsegmentering för bättre regionförslag.

i del 2 är vi på väg att ta reda på mer om de klassiska convolution neurala nätverksarkitekturer för bildklassificering. De lägger grunden för ytterligare framsteg på deep learning-modellerna för objektdetektering. Gå kolla del 3 om du vill lära dig mer om R-CNN och relaterade modeller.

länkar till alla inlägg i serien: .

CNN för Bildklassificering

CNN, förkortning för “Convolutional Neural Network”, är lösningen för datorsynproblem i den djupa inlärningsvärlden. Det var till viss del inspirerat av hur mänskligt visuellt cortexsystem fungerar.

Convolution Operation

jag rekommenderar starkt denna guide till convolution aritmetik, som ger en ren och solid förklaring med massor av visualiseringar och exempel. Här låt oss fokusera på tvådimensionell faltning som vi arbetar med bilder i det här inlägget.

kort sagt, faltningsoperation glider en fördefinierad kärna (även kallad “filter”) ovanpå inmatningsfunktionskartan (matris av bildpixlar), multiplicerar och lägger till värdena för kärnan och partiella inmatningsfunktioner för att generera utgången. Värdena bildar en utgångsmatris, som vanligtvis är kärnan mycket mindre än inmatningsbilden.

Fällningsoperation

Fig. 1. En illustration av att tillämpa en kärna på inmatningsfunktionskartan för att generera utmatningen. (Bildkälla: River Trail dokumentation)

Figur 2 visar två verkliga exempel på hur man convolve en 3×3 kärna över en 5×5 2D matris av numeriska värden för att generera en 3×3 matris. Genom att styra stoppningsstorleken och steglängden kan vi generera en utgångsmatris av en viss storlek.

FaltningFaltning

Fig. 2. Två exempel på 2D faltning operation: (topp) ingen stoppning och 1×1 steg; (botten) 1×1 gräns nollor stoppning och 2×2 steg. (Bildkälla: deeplearning.netto)

AlexNet (Krizhevsky et al, 2012)

  • 5 convolution layers + 2 MLP layers + 1 LR layer
  • Använd data augmentation tekniker för att utöka träningsdataset, såsom bildöversättningar, horisontella reflektioner och patch extraktioner.

faltning pperation exempel

Fig. 3. Arkitekturen av AlexNet. (Bildkälla: länk)

VGG (Simonyan och Zisserman, 2014)

  • nätverket betraktas som “mycket djupt” vid sin tid; 19 lager
  • arkitekturen är extremt förenklad med endast 3×3 faltningslager och 2×2 poollager. Staplingen av små filter simulerar ett större filter med färre parametrar.

ResNet (han et al., 2015)

  • nätverket är verkligen mycket djupt; 152 lager av enkel arkitektur.
  • Restblock: en del inmatning av ett visst lager kan skickas till komponenten två lager senare. Restblock är viktiga för att hålla ett djupt nätverk utbildningsbart och så småningom fungera. Utan kvarvarande block minskar träningsförlusten för ett vanligt nätverk inte monotont när antalet lager ökar på grund av försvinnande och exploderande gradienter.

återstående block

Fig. 4. En illustration av det återstående blocket av ResNet. På något sätt kan vi säga att designen av restblock är inspirerad av att V4 får input direkt från V1 i det mänskliga visuella cortexsystemet. (vänster bildkälla: Wang et al., 2017)

Utvärderingsmått: karta

ett vanligt utvärderingsmått som används i många objektigenkännings-och detekteringsuppgifter är “Karta”, Kort för “genomsnittlig Genomsnittlig precision”. Det är ett tal från 0 till 100; högre värde är bättre.

  • kombinera alla upptäckter från alla testbilder för att rita en precisionsåterkallande kurva (PR-kurva) för varje klass; “Genomsnittlig precision” (AP) är området under PR-kurvan.
  • med tanke på att målobjekt finns i olika klasser beräknar vi först AP separat för varje klass och sedan genomsnitt över klasser.
  • en upptäckt är en sann positiv om den har “korsning över union” (IoU) med en mark-sanningsruta större än någon tröskel (vanligtvis 0,5; om så är fallet är metriska “[email protected]”)

deformerbara delar Modell

deformerbara delar Modell (DPM) (Felzenszwalb et al., 2010) känner igen objekt med en blandning grafisk modell (Markov slumpmässiga fält) av deformerbara delar. Modellen består av tre huvudkomponenter:

  1. ett grovt rotfilter definierar ett detekteringsfönster som ungefär täcker ett helt objekt. Ett filter anger vikter för en region feature vector.
  2. flera delfilter som täcker mindre delar av objektet. Delar filter lärs vid två gånger upplösning av rotfiltret.
  3. en rumslig modell för att poängsätta platserna för delfilter i förhållande till roten.

DPM

Fig. 5. DPM-modellen innehåller (A) ett rotfilter, (b) flera delfilter med två gånger upplösningen och (c) en modell för poängering av plats och deformation av delar.

kvaliteten på detektering av ett objekt mäts med poängen för filter minus deformationskostnaderna. Matchningsresultatet \(f\), i lekmäns termer, är:

\\]

i vilken,

  • \(x\) är en bild med en angiven position och skala;
  • \(y\) är en delregion av \(x\).
  • \(\beta_\text{root}\) är rotfiltret.
  • \(\beta_\text{part}\) är ett delfilter.
  • kostnad() mäter straffet för den del som avviker från dess idealiska läge i förhållande till roten.

den grundläggande poängmodellen är punktprodukten mellan filtret \(\beta\) och regionfunktions vektorn \(\Phi(x)\):\(f (\beta, x) = \beta \cdot\Phi (x)\). Funktionsuppsättningen \(\Phi (x)\) kan definieras av HOG eller andra liknande algoritmer.

en rotplats med hög poäng upptäcker en region med stora chanser att innehålla ett objekt, medan platserna för delarna med höga poäng bekräftar en erkänd objekthypotes. Papperet antog latent SVM för att modellera klassificeraren.

DPM matchningsprocess

Fig. 6. Matchningsprocessen av DPM. (Bildkälla: Felzenszwalb et al., 2010)

författaren hävdade senare att DPM-och CNN-modeller inte är två distinkta metoder för objektigenkänning. Istället kan en DPM-modell formuleras som en CNN genom att rulla ut DPM-inferensalgoritmen och kartlägga varje steg till ett motsvarande CNN-lager. (Kontrollera detaljerna i Girshick et al., 2015!)

Overfeat

Overfeat är en pionjärmodell för att integrera objektdetekterings -, lokaliserings-och klassificeringsuppgifterna i ett konvolutionellt neuralt nätverk. Huvudideen är att (I) göra bildklassificering på olika platser på regioner med flera skalor av bilden på ett glidande fönstermode och (ii) förutsäga avgränsningslådans platser med en regressor utbildad ovanpå samma faltningslager.

overfeat-modellarkitekturen är mycket lik AlexNet. Det är utbildat enligt följande:

Overfeat träning

Fig. 7. Träningsstadierna i Overfeat-modellen. (Bildkälla: länk)

  1. träna en CNN-modell (liknande AlexNet) på bildklassificeringsuppgiften.
  2. sedan ersätter vi de bästa klassificeringsskikten med ett regressionsnätverk och tränar det för att förutsäga objektgränsningsrutor vid varje rumslig plats och skala. Regressorn är klassspecifik, varje genererad för en bildklass.
    • inmatning: bilder med klassificering och avgränsningsruta.
    • utgång: \((x_\text{left}, x_\text{right}, y_\text{top}, y_\text{bottom})\), totalt 4 värden som representerar koordinaterna för kantkanterna.
    • förlust: Regressorn är utbildad för att minimera\ (l2\) norm mellan genererad avgränsningsbox och marksanningen för varje träningsexempel.

vid detekteringstiden,

  1. utför Klassificering på varje plats med den förutbildade CNN-modellen.
  2. förutsäg objektbegränsningsrutor på alla klassificerade regioner som genereras av klassificeringsenheten.
  3. sammanfoga avgränsningsrutor med tillräcklig överlappning från lokalisering och tillräckligt förtroende för att vara samma objekt från klassificeraren.

citerad som:

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

referens

Vincent Dumoulin och Francesco Visin. “En guide till faltning aritmetik för djupt lärande.”arXiv förtryck arXiv: 1603.07285 (2016).

Haohan Wang, Bhiksha Raj och Eric P. Xing. “Om ursprunget till djupt lärande.”arXiv förtryck arXiv: 1702.07800 (2017).

Pedro F. Felzenszwalb, Ross B. Girshick, David McAllester och Deva Ramanan. “Objektdetektering med diskriminerande utbildade delbaserade modeller.”IEEE-transaktioner på mönsteranalys och maskinintelligens 32, nr 9 (2010): 1627-1645.

Ross B. Girshick, Forrest Iandola, Trevor Darrell och Jitendra Malik. “Deformerbara delmodeller är konvolutionella neurala nätverk.”I Proc. IEEE Conf. på datorsyn och mönsterigenkänning (CVPR), s.437-446. 2015.

Sermanet, Pierre, David Eigen, Xiang Zhang, Michajabi Mathieu, Rob Fergus och Yann LeCun. “OverFeat: integrerat erkännande, lokalisering och detektering med hjälp av Konvolutionella nätverk” arXiv preprint arXiv:1312.6229 (2013).

Lämna ett svar

Din e-postadress kommer inte publiceras.