Jak znaleźć najsłabsze ogniwo procesu rozpoznawania ludzi


Streszczenie


Rozpoznawanie ludzi jest popularnym, ale i stanowiącym wyzwanie problemem obszaru rozpoznawania obrazów (widzenia komputerowego). W tym artykule przeanalizujemy modele oparte na rozpoznawaniu fragmentów służące wykrywaniu ludzi w celu ustalenia które z elementów łańcucha procesu mogą mieć największy pozytywny wpływ na ten proces, jeśli zostaną poprawione i usprawnione. Dokonamy tego poprzez przeanalizowanie różnych algorytmów wykrywania stworzonych z kombinacji działań wykonywanych przez czynniki ludzkie i maszynowe. Model oparty na rozpoznawaniu fragmentów może być rozbity na cztery najważniejsze składowe: wykrycie cechy, wykrycie fragmentu, scoring przestrzenny fragmentu oraz rozumowanie kontekstualne włączając w to niecałkowite wytłumienie. Nasze eksperymenty wykazały, iż najsłabszym ogniwem łańcucha detekcji postaci ludzkich jest faza wykrywania fragmentów. Niecałkowite wytłumienie i wyszukiwanie kontekstowe mogą znacząco wzmocnić efektywność procesu.  Z drugiej strony, użycie modeli przestrzennych, ludzkich lub maszynowych nie zwiększa skuteczności detekcji w sposób znaczący. 


Motywacja


Detekcja osób jest ważnym acz otwartym i skomplikowanym procesem w widzeniu komputerowym (computer vision). W ostatnim czasie dokonał się znaczący postęp w zakresie algorytmów wykrywania osób. Związany on jest z użyciem modeli rozpoznawania opartych na fragmentach (częściach) Badacze problemu zgłębiali różnorodne reprezentacje cech obrazów, modele identyfikacji części, skomplikowane modele przestrzenne konfiguracji obiektów, jak również mniej-niż-maksymalne wytłumienie i modele kontekstowe. Każde z tych podejść charakteryzuje się złożonym zestawem współzależnych komponentów, zapewniających właściwy rezultat finalny (czyli rozpoznawanie osób). Podczas gdy zwiększenie złożoności procesu skutkuje lepszymi rezultatami w zakresie rozpoznawania, zrozumienie roli poszczególnych komponentów procesu jest niełatwym zadaniem. 


Propozycja studium


Proponujemy dokonanie szczegółowej analizy modeli opartych na rozpoznawaniu fragmentów w celu określenia, które z elementów składowych procesu charakteryzują się największym potencjałem poprawy (usprawnienia). Cel ten zostanie osiągnięty poprzez użycie podmiotów ludzkich do przeprowadzenia działań uprzednio wykonywanych przez algorytm maszynowy. Na przykład, zamiast użycia maszynowego klasyfikatora takiego jak utajona maszyna wektorów nośnych („latent SVM”) zorientowaną na histogram gradientów zorientowanych (HoG) w celu wykrycia części (fragmentów) obiektu, użyjemy podmiotów ludzkich w celu ustalenia, czy niewielkie fragmenty obrazu zawierają np. ludzką głowę, tułów, stopę, etc. Graficzna ilustracja zadań wykonywanych przez podmioty ludzkie w tym zakresie znajduje się poniżej:


Eksperyment i jego rezultaty


W tej części dokonamy oceny różnych algorytmów wykrywania (patrz niżej) będących kombinacjami czynności wykonywanymi przez podmioty ludzkie lub ich maszynowe odpowiedniki.  

Porównanie pomiędzy poszczególnymi podklasami algorytmów pozwoli nam na ocenę wpływu każdego z elementów procesu w modelu opartym o rozpoznawanie fragmentów na końcowy rezultat procesu. Podsumowanie rezultatów otrzymanych za pomocą zestawów danych PASCAL 2007 oraz INRIA znajduje się poniżej, natomiast w celu zapoznania się z pełnymi rezultatami porównań należy skorzystać z linku do artykułu. Widać jednoznacznie, iż proces rozpoznawania fragmentów (części) jest najsłabszym elementem procesu wykrywania osób. Również zastosowanie mniej-niż-maksymalnego wytłumienia wpływa w sposób istotny na rezultat procesu. Z drugiej strony, użycie modeli przestrzennych, czy to ludzkich czy maszynowych nie wpływa znacząco na dokładność wykrywania. 


Zbiór danych łatek części


Spośród wielkiej ilości danych ludzkich zebranych w czasie naszych eksperymentów, poniżej przedstawiona klasyfikacja może być, jak się wydaje, szczególnie interesująca dla społeczności. 

Biorący w badaniu uczestnicy przyporządkowali nakładające się na siebie fragmenty obrazów (“łatki”) do jednej z ośmiu kategorii: głowa, tułów, ramię, dłoń, noga, stopa, inna część osoby, nie-część-osoby. Fragmenty (“łatki”) zostały wyekstrahowane z 50 INRIA i 100 PASCAL (2007) obrazów, a następnie przedstawione w losowej kolejności, w celu pozbawienia informacji kontekstowej. Łaty zostały wyekstrahowane zarówno z obrazów o wysokiej rozdzielczości, jak i z wersji tychże obrazów o niskiej rozdzielczości.   Przed wyodrębnieniem łat, obrazy, zarówno te o niskiej, jak i te o wysokiej rozdzielczości zostały przekształcone w trzy grupy: kolorowe (rzeczywiste kolory), w skali szarości oraz jako znormalizowany gradient szarości. W rezultacie otrzymano 45,316 x 6 = 271,896 łatek. 10 ludzkich uczestników dokonało ich klasyfikacji do jednej z 8 kategorii za pomocą Amazon Mechanical Turk (platforma crowdsourcingowa dla wykonywania prostych zadań). 

Wycinek tak pogrupowanych danych widoczny jest poniżej  I pokazuje przykładowe łatki klasyfikowane przez większość uczestników jako głowa, tułów, noga lub „żadne z nich”.  

Analogicznie, 10 ludzkich uczestników sklasyfikowało zachodzące na siebie pod-okna obrazów. (razem 6,218 x 6 = 37,308 okien) jako zawierające lub niezawierające obraz osoby (analogicznie do wykrywania „źródła”). Tak samo jak w przypadku części (fragmentów), pod-okna zostały podzielone wg rozdzielczości (wysoka – niska) oraz wg kolorów (pełen kolor, odcienie szarości, znormalizowany gradient). 

Powyżej opisane klasyfikacje części (łatek) I źródeł (okien) udostępnione są jako zbiór danych łatek części. 


Wizualizacje


Kolejny zestaw naszych prac studialnych z wykorzystaniem podmiotów ludzkich zakłada, iż biorący w studium ludzie będą identyfikować osoby wykorzystując wcześniej określony zestaw łatek części. Części te mogą być wykrywane przez ludzi lub maszynowo. Aby zapewnić, iż żadne inne informacje nie zostaną użyte w procesie wykrywania, stworzone zostały wizualizacje, które pokazują zidentyfikowane części, ale nie zawierają żadnej innej informacji o obrazie. Przykład takiej wizualizacji przedstawiony jest poniżej. 

** Verte ** Wizualizacje niektórych obrazów wykorzystujących części rozpoznane przez ludzi i przez maszyny można obejrzeć tutaj: INRIA_50  PASCAL2007_100. Pierwsze sześć kolumn przedstawia części rozpoznane przez ludzi (wysoka rozdzielczość: pełen kolor, skala szarości, znormalizowany gradient, niska rozdzielczość: pełen kolor, skala szarości, znormalizowany gradient), ostatnia kolumna przedstawia części rozpoznane maszynowo, przedstawione w wysokiej rozdzielczości, z wykorzystaniem algorytmów opisanych w  Felzenszwalb et al. 2010. W przypadku części rozpoznanych przez ludzi kolory odpowiadają różnym częściom ciała (czerwony: głowa, zielony: tułów, niebieski: ramię, żółty: dłoń, magenta: noga, cyjan: stopa, biały: źródło (osoba), czarny: żadne z powyższych). Każda łatka przedstawiona jest w kolorze, który uzyskał największą aprobatę wśród 10 osób biorących udział w studium. Intensywność koloru odpowiada liczbie podmiotów składających się na daną klasę. W przypadku części identyfikowanych maszynowo, kolory przypisywane są odgórnie a intensywność koloru odpowiada liczbie wykrytych fragmentów.


Wsparcie


Powyższy materiał oparty jest na pracach częściowo wspartych finansowo przez National Science Foundation w ramach Grantu Nr. 1115719. Wszelkie opinie, wnioski, podsumowania I rekomendacje zawarte w materiale są wyrazami opinii autorów I niekoniecznie odzwierciedlają poglądy prezentowane przez National Science Foundation. 

Original article: https://faculty.cc.gatech.edu/~parikh/person_detection.html