Sztuczna inteligencja

O porażce algorytmów szukających ludzi na obrazach

3(8)

Ludzie potrafią bez problemu rozpoznać ludzkie twarze. Czasami jesteśmy nawet za dobrzy i widzimy twarze tam, gdzie ich nie ma. Ostatnimi czasy komputery doścignęły nas w tej dziedzinie i także potrafią z dość dużym prawdopodobieństwem wskazać ludzką twarz na zdjęciu, niezależnie od oświetlenia czy jej ułożenia.

Skoro więc algorytmy są takie dobre w znajdowaniu prawdziwych twarzy, to można zadać sobie pytanie, jak poradzą sobie z bardziej artystycznymi, bardziej abstrakcyjnymi wizerunkami ludzi. Innymi słowy – czy komputer jest w stanie znaleźć ludzi na obrazach Picassa?

Odpowiedź na pytanie, jak komputer poradzi sobie ze znajdowaniem twarzy na obrazach, znalazł zespół z University of California, Berkeley pod kierownictwem Shiry Ginosara. Wynik okazał się być jednocześnie łatwy do przewidzenia i zaskakujący, ale do tego dojdziemy za chwilę.

Weeping Woman 1937 by Pablo Picasso 1881-1973

Przygotowania

Najpierw opiszę jak wyglądał sam eksperyment. Badacze wzięli na warsztat 218 kubistycznych obrazów Picassa, które powinny przedstawiać ludzi (bo, na przykład, tytuł obrazu na to wskazuje) i poprosili 18 uczestników badania, aby określili w skali od 1 do 5, jak bardzo abstrakcyjny jest dany obraz. Następnie poprosili tych samych osiemnastu ludzi, aby narysowali ramki wokół obszarów na obrazach, gdzie ich zdaniem znajduje się ludzka twarz.

Powstała w ten sposób baza danych, wobec której można testować algorytmy.

Poznajmy zawodników

Ludzie zajmujący się wizją komputerową wymyślili wiele różnych algorytmów do szukania twarzy. Dlatego ważne było także odpowiedzenie sobie na pytanie, jak różne algorytmy poradzą sobie z zadaniem znalezienia twarzy na obrazach.

Ginosar i zespół wybrali cztery algorytmy, od algorytmów analizujących rozmieszczenie krawędzi, przez algorytmy dzielące obraz na części po algorytmy wykorzystujące sieci neuronowe (deep convolution neural networks), które obecnie są na topie jeżeli chodzi o algorytmy do znajdowania twarzy.

Każdy z algorytmów przed podjęciem wyzwania ćwiczył na zdjęciach przedstawiające naturalne ludzkie twarze, zanim wrzucono je do świata sztuki. Ich zadanie było takie same jak drugie zadanie dla ludzi – znajdź twarz i narysuj wokół niej ramkę.

Zaskakujący wynik

Raczej nie było zaskoczenia, że ludzie byli lepsi od maszyn w szukaniu twarzy na obrazach, z dokładnością 0.804. Jednak wyniki poszczególnych algorytmów okazały się dość zaskakujące i przy okazji rzuciły trochę światła jak ludzki mózg rozpoznaje twarze.

Oczekiwano, że algorytmy oparte na sieciach neuronowych, które zrewolucjonizowały wizję komputerową, okażą się najlepsze. Tak się jednak nie stało. Ich wynik to 0.315. Lepszy okazał się algorytm, który dzielił obraz na części, a potem wyszukiwał inne, podobne części, ale trochę zdeformowane. Jego wynik wynosił 0.444.

1-iQrd9HyI1PCETFHDy7Nk4A

Co ciekawsze, im bardziej abstrakcyjny był obraz, tym dokładność tego algorytmu spadała w taki sam sposób jak dokładność ludzi. Inne algorytmy też traciły dokładność przy bardziej abstrakcyjnych obrazach, ale w ich przypadku spadek dokładności nie był tak gładki.

Można z wyniku tego badania wyciągnąć wniosek, że ludzki mózg analizuje obrazy dzieląc je na części, potwierdzając teorie neurologów, którzy badali sposób rozpoznawania obrazów przez ludzi.

Wynik badania może także pokazać, w jakim kierunku powinny iść inne badania szukające algorytmów wizji komputerowej działającej z taką samą dokładnością jak ludzka percepcja. Obecne algorytmy radzą sobie całkiem nieźle w większości przypadków, ale ciągle nie mają tej ludzkiej elastyczności, która pozwala znajdować twarze, np. na abstrakcyjnych obrazach czy w nieoczekiwanych miejscach. Dlatego rzucanie algorytmom do rozpoznawania obiektów dzieł sztuki może okazać się tak ważne w poszukiwaniu nowych, lepszych metod znajdowania ludzki twarzy, jak i innych obiektów.

Pracę opisującą eksperyment i analizującą wyniki możecie znaleźć tutaj.

Podobne wpisy