Objekt detektion For Dummies Del 2: CNN, DPM og Overfeat

Del 2 introducerer flere klassiske indviklede neurale arbejdsarkitekturdesign til billedklassificering (Aleksnet, VGG, ResNet) samt DPM (deformerbare dele Model) og Overfeatmodeller til objektgenkendelse.

del 1 i serien” Object Detection for Dummies ” introduceret: (1) begrebet billedgradientvektor og hvordan HOG-algoritme opsummerer informationen på tværs af alle gradientvektorer i et billede; (2) Hvordan billedsegmenteringsalgoritmen fungerer til at registrere regioner, der potentielt indeholder objekter; (3) hvordan den selektive søgealgoritme forfiner resultaterne af billedsegmentering for bedre regionforslag.

i Del 2 er vi ved at finde ud af mere om de klassiske foldningsneurale netværksarkitekturer til billedklassificering. De lægger grundlaget for yderligere fremskridt med de dybe læringsmodeller til objektdetektering. Gå til Del 3, hvis du vil lære mere om R-CNN og relaterede modeller.

Links til alle indlæg i serien: .

CNN til Billedklassificering

CNN, forkortelse for “Convolutional Neural netværk”, er løsningen til computersynsproblemer i den dybe læringsverden. Det var til en vis grad inspireret af, hvordan det menneskelige visuelle hjernebarksystem fungerer.

Convolution Operation

jeg anbefaler stærkt denne vejledning til convolution aritmetik, som giver en ren og solid forklaring med tonsvis af visualiseringer og eksempler. Lad os her fokusere på todimensionel foldning, da vi arbejder med billeder i dette indlæg.

kort sagt, foldningsoperation glider en foruddefineret kerne (også kaldet “filter”) oven på inputfunktionskortet (matricen til billedpunkter), multiplicerer og tilføjer værdierne for kernen og delvise inputfunktioner for at generere output. Værdierne danner en outputmatrice, som normalt er kernen meget mindre end inputbilledet.

Foldningsoperation

Fig. 1. En illustration af at anvende en kerne på input-funktionskortet for at generere output. (Billede kilde: River Trail documentation)

figur 2 viser to virkelige eksempler på, hvordan man kan samle en 3H3-kerne over en 5H5 2D-matrice med numeriske værdier for at generere en 3H3-matrice. Ved at kontrollere polstringsstørrelsen og skridtlængden kan vi generere en outputmatrice af en vis størrelse.

FoldningsoperationFoldningsoperation

Fig. 2. To eksempler på 2D foldning operation: (top) ingen polstring og 1H1 skridt; (bund) 1H1 kant nuller polstring og 2H2 skridt. (Billedkilde: deeplearning.net)

Aleksnet (Krisjevsky et al, 2012)

  • 5 foldningslag + 2 MLP-lag + 1 LR-lag
  • brug dataforstørrelsesteknikker til at udvide træningsdatasættet, såsom billedoversættelser, vandrette refleksioner og patchekstraktioner.

eksempel på konvolution pperation

Fig. 3. Arkitekturen i Aleksandr. (Billedkilde: link)

VGG, 2014)

  • netværket betragtes som “meget dybt” på sit tidspunkt; 19 lag
  • arkitekturen er ekstremt forenklet med kun 3H3 convolutional lag og 2H2 pooling lag. Stablingen af små filtre simulerer et større filter med færre parametre.

ResNet (He et al., 2015)

  • netværket er faktisk meget dybt; 152 lag af simpel arkitektur.
  • Restblok: nogle input af et bestemt lag kan overføres til komponenten to lag senere. Resterende blokke er afgørende for at holde et dybt netværk trainable og til sidst arbejde. Uden resterende blokke falder træningstabet i et almindeligt netværk ikke monotont, da antallet af lag stiger på grund af forsvindende og eksploderende gradienter.

Restblok

Fig. 4. En illustration af den resterende blok af ResNet. På en eller anden måde kan vi sige, at designet af resterende blokke er inspireret af, at V4 får input direkte fra V1 i det menneskelige visuelle hjernebarksystem. (venstre billedkilde: Vang et al., 2017)

Evalueringsmålinger: kort

en almindelig evalueringsmetrik, der bruges i mange objektgenkendelses-og detektionsopgaver, er “kort”, forkortelse for “gennemsnitlig gennemsnitlig præcision”. Det er et tal fra 0 til 100; højere værdi er bedre.

  • Kombiner alle detektioner fra alle testbilleder for at tegne en pr-kurve (pr-kurve) for hver klasse; “gennemsnitlig præcision” (AP) er området under PR-kurven.
  • da målobjekter er i forskellige klasser, beregner vi først AP separat for hver klasse og derefter gennemsnit over klasser.
  • en detektion er en sand positiv, hvis den har ” kryds over union “(IoU) med en jord-sandhedsboks større end en tærskel (normalt 0,5; i så fald er metricen “[email protected]”)

deformerbare dele Model

den deformerbare dele Model (DPM)., 2010) genkender objekter med en blanding grafisk model (Markov tilfældige felter) af deformerbare dele. Modellen består af tre hovedkomponenter:

  1. et groft rodfilter definerer et detektionsvindue, der omtrent dækker et helt objekt. Et filter angiver vægte for en region funktion vektor.
  2. filtre med flere dele, der dækker mindre dele af objektet. Dele filtre læres ved to gange opløsning af rodfilteret.
  3. en rumlig model til at score placeringen af delfiltre i forhold til roden.

DPM

Fig. 5. DPM-modellen indeholder (A) et rodfilter, (b) filtre med flere dele med dobbelt opløsning og (c) en model til scoring af placering og deformation af dele.

kvaliteten af detektering af et objekt måles ved score af filtre minus deformationsomkostningerne. Den matchende score \(f\), i lægmænds vilkår, er:

\\]

i hvilken,

  • \(
  • \(y\) er et underområde af \(H\).
  • \(\beta_\tekst{root}\) er rodfilteret.
  • \(\beta_\tekst{del}\) er et delfilter.
  • omkostninger() måler straffen for den del, der afviger fra dens ideelle placering i forhold til roden.

grundscoremodellen er prikproduktet mellem filteret \(\beta\) og regionsfunktionsvektoren \(\Phi(H)\): \(F(\beta, h) = \beta \cdot \Phi(h)\). Funktionen sæt \(\Phi (h)\) kan defineres ved HOG eller andre lignende algoritmer.

en rodplacering med høj score registrerer et område med store chancer for at indeholde et objekt, mens placeringen af delene med høj score bekræfter en anerkendt objekthypotese. Papiret vedtog latent SVM til at modellere klassifikatoren.

DPM matchningsproces

Fig. 6. Matchningsprocessen af DPM. (Billedkilde: et al., 2010)

forfatteren hævdede senere, at DPM-og CNN-modeller ikke er to forskellige tilgange til objektgenkendelse. I stedet kan en DPM-model formuleres som en CNN ved at rulle DPM-inferensalgoritmen ud og kortlægge hvert trin til et tilsvarende CNN-lag. (Tjek detaljerne i Girshick et al., 2015!)

Overfeatring

Overfeatring er en pionermodel for integration af objektdetekterings -, lokaliserings-og klassificeringsopgaver alt sammen i et indviklet neuralt netværk. Hovedideen er at (i) foretage billedklassificering på forskellige steder på regioner med flere skalaer af billedet på en glidende vinduesmåde og (ii) forudsige afgrænsningsstederne med en regressor trænet oven på de samme foldningslag.

Overfeatmodelarkitekturen ligner meget Aleksnet. Det er uddannet som følger:

Overfødningstræning

Fig. 7. Træningsstadierne i Overfeatmodellen. (Billede Kilde: link)

  1. træn en CNN-model (svarende til Aleksnet) på billedklassificeringsopgaven.
  2. derefter erstatter vi de øverste klassificeringslag med et regressionsnetværk og træner det til at forudsige objektgrænsekasser på hver rumlig placering og skala. Regressoren er klassespecifik, hver genereret til en billedklasse.
    • Input: billeder med klassificering og afgrænsningsboks.
    • Output: \((H_\tekst{left}, H_\tekst{right}, y_\tekst{top}, y_\tekst{bottom})\), 4 værdier i alt, der repræsenterer koordinaterne for afgrænsningsboksens kanter.
    • tab: Regressoren er uddannet til at minimere \(l2\) norm mellem genereret afgrænsningsboks og jorden sandhed for hvert træningseksempel.

på detektionstidspunktet,

  1. Udfør klassificering på hvert sted ved hjælp af den foruddannede CNN-model.
  2. Forudsig objektgrænsekasser på alle klassificerede regioner genereret af klassificeringsenheden.
  3. Flet afgrænsningsbokse med tilstrækkelig overlapning fra lokalisering og tilstrækkelig tillid til at være det samme objekt fra klassifikatoren.

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

Reference

Vincent Dumoulin og Francesco Visin. “En guide til konvolution aritmetik til dyb læring.”arkiv preprint arkiv:1603.07285 (2016).

Haohan Vang, Bhiksha Raj og Eric P. Sing. “Om oprindelsen af dyb læring.”kronprint kronprint:1702.07800 (2017).

Pedro F. F. Girshick, David McAllester og Deva Ramanan. “Objektdetektion med diskriminativt uddannede delbaserede modeller.”IEEE-transaktioner på mønsteranalyse og maskinintelligens 32, nr. 9 (2010): 1627-1645.

Ross B. Girshick, Forrest Iandola, Trevor Darrell og Jitendra Malik. “Deformerbare delmodeller er indviklede neurale netværk.”I Proc. IEEE Conf. om computersyn og mønstergenkendelse (CVPR), s.437-446. 2015.

Sermanet, Pierre, David Eigen, Michaelr Mathieu, Rob Fergus og Yann LeCun. “OverFeat: integreret genkendelse, lokalisering og detektion ved hjælp af Konvolutionsnetværk” arkiv preprint arkiv:1312.6229 (2013).

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.