Wykrywanie obiektów dla manekinów część 2: CNN, DPM i Overfeat

część 2 wprowadza kilka klasycznych konwolucyjnych projektów architektury pracy neuronowej do klasyfikacji obrazów (AlexNet, VGG, ResNet), a także modeli DPM (Deformable Parts Model) i Overfeat do rozpoznawania obiektów.

Część 1 serii “wykrywanie obiektów dla manekinów” wprowadziła: (1) koncepcję wektora gradientu obrazu i sposób, w jaki algorytm HOG podsumowuje informacje we wszystkich wektorach gradientu w jednym obrazie; (2) Jak działa algorytm segmentacji obrazu w celu wykrywania regionów potencjalnie zawierających obiekty; (3) Jak algorytm wyszukiwania selektywnego udoskonala wyniki segmentacji obrazu w celu lepszego zaproponowania regionu.

w części 2 dowiemy się więcej o klasycznych architekturach sieci neuronowych splotowych do klasyfikacji obrazów. Stanowią one fundament dla dalszych postępów w zakresie modeli głębokiego uczenia do wykrywania obiektów. Sprawdź Część 3, Jeśli chcesz dowiedzieć się więcej o R-CNN i powiązanych modelach.

linki do wszystkich postów z serii: .

CNN dla klasyfikacji obrazów

CNN, skrót od “Convolutional Neural Network”, jest rozwiązaniem dla problemów widzenia komputerowego w świecie głębokiego uczenia się. Do pewnego stopnia był inspirowany tym, jak działa ludzki układ kory wzrokowej.

operacja splotu

zdecydowanie polecam ten przewodnik po arytmetyce splotu, który zapewnia czyste i solidne Wyjaśnienie z mnóstwem wizualizacji i przykładów. Tutaj skupmy się na dwuwymiarowym splocie, ponieważ pracujemy z obrazami w tym poście.

w skrócie, operacja splotu przesuwa predefiniowane jądro (zwane również “filtrem”) na mapę funkcji wejściowych (matrycę pikseli obrazu), mnożąc i dodając wartości jądra i częściowe funkcje wejściowe w celu wygenerowania wyjścia. Wartości tworzą macierz wyjściową, jak zwykle jądro jest znacznie mniejsze niż obraz wejściowy.

1. Ilustracja zastosowania jądra na mapie funkcji wejściowych do wygenerowania wyjścia. (Źródło obrazu: River Trail documentation)

Rysunek 2 przedstawia dwa rzeczywiste przykłady tego, jak przenieść jądro 3×3 na macierz liczbową 5×5 2D w celu wygenerowania macierzy 3×3. Kontrolując rozmiar wyściółki i długość kroku, możemy wygenerować matrycę wyjściową o określonym rozmiarze.

Operacja SplotuOperacja Splotu

Rys. 2. Dwa przykłady operacji splotu 2D: (góra) bez wypełnienia i 1×1 kroków; (dół) 1×1 zer obramowania wypełnienia i 2×2 kroków. (Źródło obrazu: deeplearning.net)

AlexNet (Krizhevsky et al, 2012)

  • 5 warstwy splotu + 2 warstwy MLP + 1 warstwa LR
  • użyj technik powiększania danych, aby rozszerzyć zestaw danych treningowych, takich jak tłumaczenia obrazów, odbicia poziome i ekstrakcja łat.

przykład pperacji splotu

rys. 3. Architektura AlexNet. (Źródło zdjęcia: link)

VGG (Simonyan i Zisserman, 2014)

  • sieć jest uważana za “bardzo głęboką” w swoim czasie; 19 warstw
  • architektura jest bardzo uproszczona dzięki 3×3 warstwom konwolucyjnym i 2×2 warstwom łączącym. Układanie małych filtrów symuluje większy filtr o mniejszej liczbie parametrów.

ResNet (He i in., 2015)

  • sieć jest rzeczywiście bardzo głęboka; 152 warstwy prostej architektury.
  • blok resztkowy: część danych wejściowych określonej warstwy może zostać przekazana do komponentu dwie warstwy później. Pozostałe bloki są niezbędne do utrzymania głębokiej sieci trainable i ostatecznie pracować. Bez resztkowych bloków utrata treningu w zwykłej sieci nie zmniejsza się monotonicznie, ponieważ liczba warstw wzrasta z powodu zanikania i eksplodowania gradientów.

blok resztkowy

rys. 4. Ilustracja resztkowego bloku ResNet. W pewien sposób można powiedzieć, że konstrukcja pozostałych bloków jest zainspirowana przez V4 otrzymywanie danych bezpośrednio z v1 w systemie kory wzrokowej człowieka. (po lewej źródło obrazu: Wang et al., 2017)

: mAP

powszechną metryką oceny używaną w wielu zadaniach rozpoznawania i wykrywania obiektów jest “mAP”, skrót od”mean average precision”. Jest to liczba od 0 do 100; wyższa wartość jest lepsza.

  • Połącz wszystkie detekcje ze wszystkich obrazów testowych, aby narysować krzywą Precision-recall (krzywa PR) dla każdej klasy; “średnia precyzja” (AP) to obszar pod krzywą PR.
  • biorąc pod uwagę, że obiekty docelowe są w różnych klasach, najpierw obliczamy AP oddzielnie dla każdej klasy, a następnie średnią nad klasami.
  • wykrywanie jest prawdziwe dodatnie, jeśli ma “przecięcie nad związkiem” (IoU) z polem prawdy o Ziemi większym niż jakiś próg (zwykle 0,5; jeśli tak, to metryka jest “[email protected]”)

Model Części odkształcalnych

Model Części odkształcalnych (DPM) (Felzenszwalb et al., 2010) rozpoznaje obiekty z mieszanym modelem graficznym (pola losowe Markowa) odkształcalnych części. Model składa się z trzech głównych komponentów:

  1. Gruboziarnisty Filtr główny definiuje okno wykrywania, które w przybliżeniu obejmuje cały obiekt. Filtr określa wagi dla wektora funkcji regionu.
  2. wiele filtrów części, które pokrywają mniejsze części obiektu. Filtry części są poznawane z podwójną rozdzielczością filtra głównego.
  3. przestrzenny model punktowania lokalizacji filtrów części względem pierwiastka.

DPM

Fig. 5. Model DPM Zawiera (a) filtr główny, (b) filtry wielu części o dwukrotnie większej rozdzielczości oraz (c) model punktacji lokalizacji i deformacji części.

jakość wykrywania obiektu jest mierzona przez wynik filtrów minus koszty deformacji. Pasujący wynik \(f\), w ujęciu laików, jest:

\\]

w którym,

  • \(x\) jest obrazem o określonej pozycji i skali;
  • \(y\) jest podregionem \(x\).
  • \(\beta_ \ text{root}\) jest filtrem głównym.
  • \(\beta_\text{part}\) jest filtrem jednej części.
  • cost() mierzy karę za odchylenie części od jej idealnej lokalizacji względem korzenia.

podstawowym modelem punktowym jest iloczyn kropkowy pomiędzy filtrem \(\beta\) a wektorem funkcji regionu \(\Phi(X)\): \(f(\beta, x) = \beta \cdot \Phi(x)\). Zestaw funkcji \(\Phi (x)\) może być zdefiniowany przez hoga lub inne podobne algorytmy.

lokalizacja korzenia z wysokim wynikiem wykrywa region z dużymi szansami na zawarcie obiektu, podczas gdy lokalizacje części z wysokim wynikiem potwierdzają uznaną hipotezę obiektu. W dokumencie przyjęto utajone SVM do modelowania klasyfikatora.

proces dopasowywania DPM

rys. 6. Proces dopasowywania przez DPM. (Źródło obrazu: Felzenszwalb et al., 2010)

autor twierdził później, że modele DPM i CNN nie są dwoma odrębnymi podejściami do rozpoznawania obiektów. Zamiast tego model DPM można sformułować jako CNN, rozwijając algorytm wnioskowania DPM i mapując każdy krok na równoważną warstwę CNN. (Sprawdź szczegóły w Girshick et al., 2015!)

Overfeat

Overfeat to pionierski model integracji zadań detekcji obiektów, lokalizacji i klasyfikacji w jedną konwolucyjną sieć neuronową. Główną ideą jest (i) klasyfikacja obrazów w różnych miejscach na obszarach o wielu skalach obrazu w przesuwanym oknie oraz (ii) przewidywanie lokalizacji obwiedni z regresorem wytrenowanym na tych samych warstwach splotu.

Architektura modelu Overfeat jest bardzo podobna do AlexNet. Jest przeszkolony w następujący sposób:

trening na przeziębienie

rys. 7. Etapy treningu modelu Overfeat. (Źródło zdjęcia: link)

  1. trenuj model CNN (podobny do AlexNet) w zadaniu klasyfikacji obrazów.
  2. następnie zastępujemy górne warstwy klasyfikatora siecią regresji i szkolimy ją w celu przewidywania obwiedni obiektów w każdej lokalizacji przestrzennej i skali. Regresor jest specyficzny dla klasy, każdy wygenerowany dla jednej klasy obrazu.
    • wejście: obrazy z klasyfikacją i obwiednią.
    • wyjście: \((x_ \ text{left}, x_\text{right}, y_\text{top}, y_\text{bottom})\), łącznie 4 wartości reprezentujące współrzędne krawędzi obwiedni.
    • strata: Regresor jest trenowany tak, aby minimalizować normę \(l2\) między generowanym boundingiem a prawdą gruntową dla każdego przykładu treningu.

w czasie wykrywania,

  1. wykonaj klasyfikację w każdym miejscu za pomocą wstępnie oczyszczonego modelu CNN.
  2. Przewidywanie obwiedni obiektów we wszystkich sklasyfikowanych regionach generowanych przez klasyfikator.
  3. Scal obwiedni z wystarczającym nakładaniem się z lokalizacji i wystarczającą pewnością bycia tym samym obiektem z klasyfikatora.

:

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

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

Haohan Wang, Bhiksha Raj i Eric P. Xing. “On The Origin of Deep Learning.”arXiv preprint arXiv: 1702.07800 (2017).

Pedro F. Felzenszwalb, Ross B. Girshick, David McAllester i Deva Ramanan. “Wykrywanie obiektów za pomocą dyskryminacyjnie wyszkolonych modeli opartych na częściach.”IEEE transactions on pattern analysis and machine intelligence 32, no. 9 (2010): 1627-1645.

Ross B. Girshick, Forrest Iandola, Trevor Darrell i Jitendra Malik. “Odkształcalne Modele części to konwolucyjne sieci neuronowe.”W 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 i Yann LeCun. “OverFeat: zintegrowane Rozpoznawanie, lokalizacja i wykrywanie za pomocą sieci Konwolucyjnych” arXiv preprint arXiv:1312.6229 (2013).

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.