Detekce objektů pro figuríny Část 2: CNN, DPM a Overfeat

Část 2 představuje několik klasických konvolučních neuronových návrhů architektury pro klasifikaci obrazu (AlexNet, VGG, ResNet), stejně jako modely DPM (Deformable Parts Model) a Overfeat pro rozpoznávání objektů.

Část 1 série” detekce objektů pro figuríny ” představena: (1) koncept vektoru gradientu obrazu a jak algoritmus HOG shrnuje informace napříč všemi vektory gradientu v jednom obrázku; (2) Jak algoritmus segmentace obrazu funguje k detekci oblastí, které potenciálně obsahují objekty; (3) Jak algoritmus selektivního vyhledávání upřesňuje výsledky segmentace obrazu pro lepší návrh regionu.

v části 2 se chystáme dozvědět více o klasických architekturách konvoluční neuronové sítě pro klasifikaci obrazu. Položili základy pro další pokrok v modelech hlubokého učení pro detekci objektů. Podívejte se na část 3, pokud se chcete dozvědět více o r-CNN a souvisejících modelech.

odkazy na všechny příspěvky v sérii: .

CNN pro klasifikaci obrazu

CNN, zkratka pro “konvoluční neuronová síť”, je řešením problémů počítačového vidění ve světě hlubokého učení. Bylo to do jisté míry inspirováno tím, jak funguje systém lidské zrakové kůry.

konvoluční operace

důrazně doporučuji tuto příručku k konvoluční aritmetice, která poskytuje čisté a solidní vysvětlení s hromadou vizualizací a příkladů. Zde se zaměřme na dvourozměrnou konvoluci, protože pracujeme s obrázky v tomto příspěvku.

stručně řečeno, konvoluční operace posouvá předdefinované jádro (také nazývané “filtr”) na mapu vstupních prvků (matice obrazových pixelů), vynásobením a přidáním hodnot jádra a částečných vstupních prvků pro generování výstupu. Hodnoty tvoří výstupní matici, jako obvykle je jádro mnohem menší než vstupní obraz.

Konvoluční Operace

Obr. 1. Ilustrace použití jádra na mapě vstupních funkcí pro generování výstupu. (Zdroj obrázku: River Trail documentation)

Obrázek 2 ukazuje dva skutečné příklady toho, jak konvolvovat jádro 3×3 přes 2D matici 5×5 číselných hodnot a vygenerovat matici 3×3. Řízením velikosti polstrování a délky kroku můžeme vygenerovat výstupní matici určité velikosti.

Konvoluční OperaceKonvoluční Operace

Obr. 2. Dva příklady 2D konvoluční operace: (nahoře) žádné polstrování a kroky 1×1; (dole) polstrování hraničních nul 1×1 a kroky 2×2. (Zdroj obrázku: deeplearning.net)

AlexNet (Križevskij et al, 2012)

  • 5 konvoluční vrstvy + 2 MLP vrstvy + 1 LR vrstva
  • používají techniky augmentace dat k rozšíření tréninkové datové sady, jako jsou překlady obrázků, horizontální odrazy a extrakce náplastí.

konvoluční pperace příklad

Obr. 3. Architektura AlexNet. (Zdroj obrázku: odkaz)

VGG (Simonyan a Zisserman, 2014)

  • síť je ve své době považována za “velmi hlubokou; 19 vrstev
  • architektura je extrémně zjednodušena pouze s konvolučními vrstvami 3×3 a vrstvami 2×2. Stohování malých filtrů simuluje větší filtr s menším počtem parametrů.

ResNet (He et al., 2015)

  • síť je skutečně velmi hluboká; 152 vrstev jednoduché architektury.
  • Zbytkový blok: některé vstupy určité vrstvy mohou být předány komponentě o dvě vrstvy později. Zbytkové bloky jsou nezbytné pro udržení hluboké sítě trainable a nakonec pracovat. Bez zbytkových bloků se tréninková ztráta prosté sítě monotónně nesnižuje, protože počet vrstev se zvyšuje v důsledku mizejících a explodujících gradientů.

Zbytkový blok

Obr. 4. Ilustrace zbytkového bloku Resnetu. Nějakým způsobem můžeme říci, že návrh zbytkových bloků je inspirován vstupem V4 přímo z V1 v systému lidské vizuální kůry. (levý zdroj obrázku: Wang et al., 2017)

Metriky Hodnocení: mapa

běžná hodnotící metrika používaná v mnoha úlohách rozpoznávání a detekce objektů je “mapa”, zkratka pro “průměrná průměrná přesnost”. Je to číslo od 0 do 100; vyšší hodnota je lepší.

  • zkombinujte všechny Detekce ze všech testovacích obrazů a nakreslete křivku přesného vyvolání (PR křivka) pro každou třídu; “průměrná přesnost” (AP) je oblast pod křivkou PR.
  • vzhledem k tomu, že cílové objekty jsou v různých třídách, nejprve vypočítáme AP zvlášť pro každou třídu a pak průměr nad třídami.
  • detekce je skutečně pozitivní, pokud má “průsečík nad unií” (IoU) s rámečkem pozemní pravdy větší než nějaký práh (obvykle 0,5; pokud ano, metrika je “[email protected]”)

Model deformovatelných dílů

Model deformovatelných dílů (DPM) (Felzenszwalb et al., 2010) rozpoznává objekty se směsí grafického modelu (Markov random fields) deformovatelných částí. Model se skládá ze tří hlavních komponent:

  1. hrubý kořenový filtr definuje detekční okno, které přibližně pokrývá celý objekt. Filtr určuje váhy pro vektor funkce regionu.
  2. Vícenásobné filtry, které pokrývají menší části objektu. Filtry dílů se učí ve dvojnásobném rozlišení kořenového filtru.
  3. prostorový model pro bodování umístění filtrů součástí vzhledem ke kořenovému adresáři.

DPM

obr. 5. Model DPM obsahuje (a) kořenový filtr, (b) více filtrů dílů při dvojnásobném rozlišení a (c) model pro bodování umístění a deformace součástí.

kvalita detekce objektu se měří skóre filtrů mínus náklady na deformaci. Odpovídající skóre \(f\) je laicky řečeno:

\\]

ve kterém,

  • \(x\) je obraz se zadanou polohou a měřítkem;
  • \(y\) je podoblast \(x\).
  • \(\beta_ \ text{root}\) je kořenový filtr.
  • \(\beta_ \ text{part}\) je filtr jedné části.
  • cost() měří trest části odchylující se od jejího ideálního umístění vzhledem ke kořenu.

základní model skóre je součin bodů mezi filtrem \(\beta\) a vektorem regionálního prvku \(\Phi (x)\): \(f (\beta, x) = \ beta \ cdot \Phi (x)\). Sadu funkcí \(\Phi (x)\) lze definovat pomocí HOG nebo jiných podobných algoritmů.

kořenové umístění s vysokým skóre detekuje oblast s vysokou šancí na obsah objektu, zatímco umístění částí s vysokým skóre potvrzuje rozpoznanou hypotézu objektu. Příspěvek přijal latentní SVM k modelování klasifikátoru.

DPM odpovídající proces

Obr. 6. Proces párování podle DPM. (Zdroj obrázku: Felzenszwalb et al., 2010)

autor později tvrdil, že modely DPM a CNN nejsou dva odlišné přístupy k rozpoznávání objektů. Místo toho lze model DPM formulovat jako CNN rozbalením algoritmu DPM inference a mapováním každého kroku na ekvivalentní vrstvu CNN. (Zkontrolujte podrobnosti v Girshick et al., 2015!)

Overfeat

Overfeat je průkopnickým modelem integrace úloh detekce, lokalizace a klasifikace objektů do jedné konvoluční neuronové sítě. Hlavní myšlenkou je (i) udělat klasifikaci obrazu na různých místech na regionech více stupnic obrazu v posuvném okně a (ii) předpovědět umístění ohraničujících polí s regresorem vyškoleným na stejných vrstvách konvoluce.

Architektura modelu Overfeat je velmi podobná architektuře AlexNet. Trénuje se takto:

Overfeat training

Obr. 7. Tréninkové fáze modelu Overfeat. (Zdroj obrázku: odkaz)

  1. trénujte model CNN (podobně jako AlexNet) v úloze klasifikace obrázků.
  2. poté nahradíme horní vrstvy klasifikátoru regresní sítí a trénujeme ji tak, aby předpovídala ohraničující pole objektů v každém prostorovém umístění a měřítku. Regresor je specifický pro třídu, každý generovaný pro jednu třídu obrázků.
    • vstup: obrázky s klasifikací a ohraničujícím rámečkem.
    • výstup: \((x_\text{left}, x_\text{right}, y_\text{top}, y_\text{bottom})\), celkem 4 hodnoty představující souřadnice okrajů ohraničujícího rámečku.
    • ztráta: Regresor je vyškolen tak, aby minimalizoval normu \(l2\) mezi generovaným ohraničujícím rámečkem a pozemní pravdou pro každý příklad tréninku.

v době detekce,

  1. proveďte klasifikaci na každém místě pomocí předpřipraveného modelu CNN.
  2. Predict object bounding boxes on all classified regions generated by the classifier.
  3. sloučit ohraničující políčka s dostatečným přesahem od lokalizace a dostatečnou jistotou, že jsou stejným objektem od klasifikátoru.

citováno jako:

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

odkaz

Vincent Dumoulin a Francesco Visin. “Průvodce konvoluční aritmetikou pro hluboké učení.”arXiv předtisk arXiv:1603.07285 (2016).

Haohan Wang, Bhiksha Raj a Eric P. Xing. “O původu hlubokého učení.”arXiv předtisk arXiv:1702.07800 (2017).

Pedro F. Felzenszwalb, Ross B. Girshick, David McAllester a Deva Ramanan. “Detekce objektů pomocí diskriminačně vyškolených dílčích modelů.”IEEE transactions on pattern analysis and machine intelligence 32, no. 9 (2010): 1627-1645.

Ross B. Girshick, Forrest Iandola, Trevor Darrell a Jitendra Malik. “Modely deformovatelných částí jsou konvoluční neuronové sítě.”V 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 a Yann LeCun. “OverFeat: integrované rozpoznávání, lokalizace a detekce pomocí konvolučních sítí” arXiv preprint arXiv:1312.6229 (2013).

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.