Artykuł oparty jest na „Deep Learning for Computer Vision: A Brief Review” A. Voulodimos, N.Doulamis A. Doulamis and E. Protopapadakis z Department of Informatics, Technological Educational Institute of Athens i National Technical University of Athens
Deep learning pozwala modelom obliczeniowym wielu warstw przetwarzania, nauczyć się i reprezentować dane z wieloma poziomami abstrakcji naśladując, w jaki sposób mózg odbiera i rozumie informacje multimodalne, a więc przechwytuje skomplikowane struktury danych na dużą skalę. W ciągu ostatnich lat okazało się, że metody deep learningu przewyższają poprzednie nowoczesne techniki uczenia maszynowego w wielu dziedzinach, a rozpoznawanie obrazów jest jednym z najbardziej widocznych przypadków. Najważniejszymi schematami głębokiego uczenia się stosowane w komputerowych problemach ze wzrokiem, to konwolucyjne sieci maszynowe, maszyny Boltzmanna, Deep Belief Networks oraz autoenkodery. Mają one zastosowania w różnych zadaniach związanych z rozpoznawaniem obrazów, takich jak wykrywanie obiektów, rozpoznawanie twarzy, rozpoznawanie działań oraz szacowanie pozy istoty ludzkiej.
Nie trzeba dodawać, że obecny zasięg nie jest w żadnym wypadku wyczerpujący. Między innymi długa pamięć krótkoterminowa (LSTM) w kategorii rekurencyjnych sieci neuronowych, chociaż ma wielkie znaczenie jako system głębokiego uczenia się, nie jest przez nas zaprezentowana, ponieważ jest głównie stosowana w problemach takich jak modelowanie języka, klasyfikacja tekstu, rozpoznawanie pisma ręcznego, tłumaczenie maszynowe, rozpoznawanie mowy czy muzyki, a mniej w problemach z wizją. Metody niżej przedstawione są przydatne w zakresie zadań związanych z rozpoznawaniem obrazów, wcześniej już wspominanych.
Convolutional Neural Networks, czyli po polsku konwolucyjne sieci neuronowe wykorzystują gradient błędu i osiągają bardzo dobre wyniki w różnych zadaniach rozpoznawania wzorców.
Architektura CNN wykorzystuje trzy konkretne pomysły: lokalne pola receptywne, powiązane obciążeń i podpróbkowanie przestrzenne. W oparciu o lokalne pole receptywne, każda jednostka w warstwie splotowej otrzymuje dane wejściowe z zestawu sąsiednich jednostek należących do poprzedniej warstwy. W ten sposób neurony są w stanie wyodrębnić elementarne części wizualne, takie jak krawędzie lub rogi. Funkcje te są następnie łączone przez kolejne warstwy splotowe w celu wykrycia cech wyższego rzędu. Ponadto idea, że elementarne detektory cech, które są użyteczne na części obrazu, mogą być użyteczne w całym obrazie, jest realizowana przez koncepcję wiązania obciążeń. Pojęcie wiązanych obciążeń ogranicza zestaw jednostek, aby miały identyczne wagi.
Ogólnie wykazano, że CNN znacznie przewyższa tradycyjne podejścia do uczenia maszynowego w szerokim zakresie zadań związanych z rozpoznawaniem obrazów i wzorców. Ich wyjątkowe wyniki w połączeniu z względną łatwością treningu są głównymi powodami, które wyjaśniają ogromny wzrost ich popularności w ciągu ostatnich kilku lat.
Deep Belief Networks i Deep Boltzmann Machines to modele głębokiego uczenia się, które należą do rodziny Boltzmanna w tym sensie, że wykorzystują ograniczone maszyny Boltzmanna jako moduł do nauki. Ograniczone Maszyny Boltzmanna to generatywna stochastyczna sieć neuronowa. Sieci Deep Belief mają nieukierunkowane połączenia na dwóch najwyższych warstwach, które tworzą ograniczone maszyny Boltzmanna i kierują połączenia do niższych warstw. Deep Boltzmann Machines mają nieukierunkowane połączenia między wszystkimi warstwami sieci.
Denoising Autoencoders wykorzystuja autoenkodery jako główny element konstrukcyjny, w podobny sposób, w jaki Deep Belief Networks używa Ograniczonych Maszyn Boltzmanna jako komponentu.
Próbując porównać te modele możemy powiedzieć, że CNN generalnie wypadały lepiej niż DBN w aktualnej literaturze na temat porównawczych zestawów danych rozpoznawania obrazów. W przypadkach, w których dane wejściowe nie są widoczne, DBN często przewyższają inne modele, ale trudność z dokładnym oszacowaniem prawdopodobieństw wspólnych, a także kosztami obliczeniowymi w tworzeniu DBN, stanowi wady. Ważnym pozytywnym aspektem CNN jest „uczenie się cech”, czyli omijanie ręcznie wykonywanych funkcji, które są niezbędne dla innych rodzajów sieci. Funkce CNN są automatycznie nauczane. Z drugiej strony, CNN opierają się na dostępności etykiet danych szkoleniowych, podczas gdy Deep Belief Networks i Maszyny Boltzmanna nie mają tego ograniczenia i mogą działać w sposób nienadzorowany. Innymi słowy, jedną z wad autoenkoderów jest to, że mogą one stać się nieskuteczne, jeśli błędy występują na pierwszych warstwach. Takie błędy mogą spowodować, że sieć nauczy się odtwarzać średnią danych treningowych. Jedną z mocnych stron CNN jest to, że mogą one być niezmienne w przypadku przekształceń, takich jak tłumaczenie, skalowanie i rotacja. Niezmienność tłumaczenia, rotacji i skali jest jednym z najważniejszych atutów CNN, zwłaszcza w problemach z rozpoznawaniem obrazów, takich jak wykrywanie obiektów, ponieważ pozwala na abstrakcję tożsamości , dzięki czemu sieć może skutecznie rozpoznawać dany obiekt w przypadkach, w których rzeczywiste wartości pikseli na obrazie mogą się znacząco różnić.
Wykrywanie obiektów to proces wykrywania wystąpień obiektów semantycznych określonej klasy (takich jak ludzie, samoloty lub ptaki) w obrazach cyfrowych i wideo. Wspólne podejście do struktur wykrywania obiektów obejmuje tworzenie dużego zestawu kandydujących okien.
Zdecydowana większość prac nad wykrywaniem obiektów za pomocą deep learningu stosuje odmianę CNN. Istnieje jednak stosunkowo niewielka liczba prób wykrywania obiektów przy użyciu innych modeli głębokich. Jedną z nich jest metoda lokalizowania obiektów zgrubnych na podstawie mechanizmu istotności w połączeniu z DBN do wykrywania obiektów w obrazach teledetekcyjnych.
Rozpoznawanie twarzy to jedna z najgorętszych aplikacji do wizji komputerowej (Computer Vision), która cieszy się również dużym zainteresowaniem komercyjnym. Zaproponowano różne systemy rozpoznawania twarzy oparte na wydobyciu ręcznych cech. W takich przypadkach ekstraktor funkcji wyodrębnia elementy z wyrównanej ściany w celu uzyskania reprezentacji niskowymiarowej, na podstawie której klasyfikator tworzy prognozy. CNN spowodowały zmianę pola rozpoznawania twarzy, dzięki właściwościom uczenia się i transformacji cech.
Co więcej, Google FaceNet i Facebook DeepFace są oparte na CNN. Program DeepFace modeluje twarz w 3D i wyrównuje ją tak, aby wyglądała jak twarz przednia. Następnie znormalizowane dane wejściowe są podawane do pojedynczego filtru, a następnie trzech połączonych lokalnie warstw i dwóch całkowicie połączonych warstw używanych do wykonania ostatecznych prognoz. Chociaż technologia DeepFace osiąga świetne wyniki, jej reprezentacja nie jest łatwa do interpretacji, ponieważ twarze tej samej osoby niekoniecznie są skupione podczas procesu treningu. Z drugiej strony, proces szkoleniowy FaceNet uczy się grupowania reprezentacji twarzy tej samej osoby. Co więcej, CNN stanowią rdzeń OpenFace, narzędzia do rozpoznawania twarzy, które ma porównywalną (aczkolwiek nieco niższą) dokładność. Jednak jest open-source i jest idealne dla komputerów moblinych, ze względu na jego mniejsze rozmiary i szybki czas realizacji.
Rozpoznawanie działań i aktywności ludzkich jest zagadnieniem badawczym, na które zwrócono dużą uwagę badaczy. Zaproponowano wiele prac dotyczących rozpoznawania aktywności człowieka w oparciu o techniki deep learningu. Był on wykorzystywany do kompleksowego wykrywania i rozpoznawania zdarzeń w sekwencjach wideo: najpierw, do wykrywania i lokalizowania zdarzeń wykorzystywano mapy istotności, a następnie zastosowano deep learning do udoskonalonych funkcji do identyfikacji najważniejszych ramek, które odpowiadają podstawowe zdarzenie. Niektórzy naukowcy z powodzeniem stosują podejście oparte na CNN do rozpoznawania aktywności w siatkówce plażowej, podobnie jak w przypadku podejścia do klasyfikacji zdarzeń z zestawów danych wideo na dużą skalę. W niektórych badaniach do rozpoznawania aktywności wykorzystywany jest model CNN oparty na danych czujnika smartfonu. Naukowcy włączają ograniczenie promienia i marginesu jako termin regularyzacji do głębokiego modelu CNN, który skutecznie poprawia wydajność generowania CNN dla klasyfikacji działalności.
Kierując się zdolnościami adaptacyjnymi modeli i dostępnością różnorodnych czujników, coraz popularniejszą strategią rozpoznawania aktywności człowieka jest łączenie funkcji multimodalnych i / lub danych. W badaniach naukowcy pomieszali wygląd i funkcje ruchu, aby rozpoznać aktywności grupowe w zatłoczonych scenach zebranych z sieci. W celu połączenia różnych modalności autorzy zastosowali wielozadaniowe, głębokie uczenie się. Badają również kombinację heterogenicznych cech dla złożonego rozpoznawania zdarzeń. Problem jest postrzegany jako dwa różne zadania: najpierw szacowane są najbardziej informacyjne funkcje rozpoznawania zdarzeń. Istnieje również szereg prac łączących więcej niż jeden typ modelu, z wyjątkiem kilku modalności danych. Inżynierowie proponują wielomodalne, wielostrumieniowe ramy głębokiego uczenia się, które rozwiązują problem rozpoznawania egocentrycznego działania, wykorzystując zarówno dane wideo i dane z czujników, jak i wykorzystując podwójną architekturę CNN i pamięć krótkoterminową. Wreszcie wykorzystuje się DBN do rozpoznawania aktywności za pomocą wejściowych sekwencji wideo, które zawierają również informacje o głębi.
Celem estymacji ludzkiej pozy jest określenie położenia ludzkich stawów z obrazów, sekwencji obrazów, obrazów głębi lub danych szkieletu dostarczonych przez sprzęt przechwytujący ruch. Szacowanie ludzkiej pozy to bardzo trudne zadanie ze względu na szeroki wachlarz ludzkich sylwetek i wyglądu, trudne oświetlenie i „zagracone” tło. Przed erą deep learningu estymacja pozy opierała się na wykrywaniu części ciała, na przykład poprzez struktury obrazowe.
Przechodząc do metod głębokiego uczenia się w estymacji ludzkiej pozy, możemy je pogrupować w holistyczne i oparte na częściach metody, w zależności od sposobu przetwarzania obrazów wejściowych. Holistyczne metody przetwarzania mają tendencję do wykonywania swoich zadań w sposób globalny i nie definiują jednoznacznie modelu dla każdej części i ich relacji przestrzennych. DeepPose jest holistycznym modelem, który formułuje ludzką metodę oceny pozy jako wspólny problem regresji i nie definiuje jawnie modelu graficznego ani detektorów części do oceny ludzkiej pozy. Niemniej jednak metody oparte na holistyce są nękane przez niedokładności w regionie o wysokiej precyzji ze względu na trudność w uczeniu się bezpośredniej regresji złożonych wektorów pozy z obrazów.
Z drugiej strony częściowe metody przetwarzania koncentrują się na indywidualnym wykrywaniu części ciała ludzkiego, a następnie na modelu graficznym w celu włączenia informacji przestrzennej. Niektórzy zamiast szkolić sieć wykorzystującą cały obraz, wykorzystują lokalne łatki i łaty tła do szkolenia CNN, aby nauczyć się warunkowych prawdopodobieństw obecności części i relacji przestrzennych. Inna stosują podejście. które pociąga wiele mniejszych CNN do wykonywania niezależnej binarnej klasyfikacji części ciała, po której następuje słaby model przestrzenny o wyższym poziomie, aby usunąć silne wartości odstające i wymusić spójność globalnej pozy.
Wzrost głębokiego uczenia się w ostatnich latach jest w dużej mierze wynikiem postępów, jakie umożliwiło poszerzenie w dziedzinie widzenia komputerowego. Trzy kluczowe kategorie deep learningu w zakresie rozpoznawania obrazów, które zostały przedstawione to CNN, „rodzina Boltzmanna”, w tym DBN i DBM, i autokodery. Zostały one zastosowane w celu osiągnięcia znaczących wskaźników wydajności w różnych zadaniach związanych z rozumieniem obrazu , takie jak wykrywanie obiektów, rozpoznawanie twarzy, rozpoznawanie akcji i działań, szacowanie pozy istoty ludzkiej, pobieranie obrazów i segmentacja semantyczna. Jednak każda kategoria ma wyraźne zalety i wady. CNN mają unikalną możliwość uczenia się funkcji, czyli automatycznego uczenia się funkcji na podstawie danego zestawu danych. Są one również niezmiennymi przekształceniami, co stanowi wielką zaletę dla niektórych aplikacji do rozpoznawania obrazów. Z drugiej strony, w dużym stopniu polegają na istnieniu etykietowanych danych, w przeciwieństwie do DBN / DBM które mogą działać w sposób nienadzorowany. Spośród zbadanych modeli, zarówno CNN, jak i DBN / DBM są wymagające obliczeniowo, jeśli chodzi o szkolenia.