Granice nowoczesnych możliwości

Jedna na miliard: system rozpoznawania twarzy firmy NTechlab

NTechlab ma za sobą zaledwie rok działalności. W tym czasie zespół zdołał już zdobyć pierwsze miejsce w międzynarodowych zawodach w rozpoznawaniu twarzy MegaFace Benchmark, pokonując Google i Uniwersytet Pekiński, a także wydać aplikację FindFace, która pozwala użytkownikom przeszukiwać profile w serwisie vk.com na podstawie fotografii.

Firma zatrudnia 20 osób, otrzymała już 300 zamówień od klientów, przeprowadziła 30 pomyślnych testów oraz uruchomiła własne rozwiązanie chmurowe. Jej założyciel, Artiom Kucharienko, opowiedział nam o tym, jak zdołał osiągnąć wyznaczony cel skuteczniej niż jego konkurenci, a co za tym idzie – już dziś może chwalić się produktem, który cieszy się komercyjnym sukcesem.

Artiom

Dla zespołu NTechlab szukanie „jednej na miliard” to nie tylko czcze słowa. Wyszukanie na podstawie fotografii jednej osoby z bazy zawierającej miliard pozycji zajmuje mniej niż sekundę. „Jako pierwsi nauczyliśmy się w efektywny sposób przetwarzać duże bazy danych zdjęć” – mówi Kucharienko. „Ta przewaga stanowi klucz do rozwiązania rzeczywistych problemów, takich jak wyszukiwanie w czasie rzeczywistym przestępców lub identyfikowanie stałych klientów na podstawie nagrań z monitoringu” – wyjaśnia.

Poza samą wysoko rozwiniętą zdolnością przeszukiwania bazy danych algorytm zapewnia również niezwykle wysoki poziom dokładności. Sekret stanowią w tym przypadku głębokie uczenie i architektura sieci neuronowej. Firma zwraca przy tym uwagę, że mówienie o „dokładności” wymaga zrozumienia sposobu, w jaki jest ona mierzona. Poziom dokładności jest zazwyczaj niższy dla dużych baz danych fotografii: wyszukanie jednej osoby spośród miliona zdjęć jest znacznie trudniejsze niż w przypadku, gdy do dyspozycji mamy na przykład sto fotografii. Podczas zawodów MegaFace Benchmark ekipa NTechlab zdołała osiągnąć dokładność na poziomie 73% w przypadku bazy zawierającej milion zdjęć oraz 95% w przypadku bazy składającej się z 10 tysięcy fotografii. Gdy w grę wchodziło porównanie jedynie dwóch fotografii, system nie pomylił się w 99% przypadków.

Serce systemu stanowi tzw. sieć neuronowa. Dla sztucznej inteligencji najbardziej skomplikowanymi zadaniami są takie, które ludzki mózg wykonuje z łatwością. Dla nas rozpoznanie twarzy w tłumie lub rozróżnienie rasy psa jest łatwe. Na nasze decyzje wpływają bowiem miliony czynników i wcześniejszych doświadczeń. Sieci neuronowe działają w oparciu o ten sam model. Liczne, zmieszane ze sobą sygnały są wprowadzane do systemu. W oparciu o nie powstaje sygnał wyjściowy. Jeśli system popełni błąd, korygowany jest wzór odpowiedzialny za ocenę sygnałów wejściowych. W ten sposób system uczy się na błędach, co pozwala zwiększać jego dokładność.

Choć może to brzmieć zaskakująco, na widok znajomej twarzy nasz mózg wykonuje dokładnie takie same obliczenia jak maszyna. System otrzymuje oryginalny obraz, np. zdjęcie losowego przechodnia ładowane do aplikacji FindFace. W pierwszej kolejności na zdjęciu natychmiast identyfikowana jest twarz. Jak mówi Kucharienko, rozpoznanie twarzy to najbardziej wymagająca operacja w całym procesie (jakkolwiek dziwne by się to nie wydawało). Obecnie zespół pracuje nad przyspieszeniem pracy algorytmu oraz zmniejszeniem jego zapotrzebowania na zasoby.

Drugi etap procesu to budowa wektora cech przez przeszkoloną sieć neuronową. Wektor cech składa się z 80 liczb zawierających informacje o twarzy. Liczby te będą podobne dla tej samej osoby i zupełnie rozbieżne dla dwóch różnych osób. Te różnice wykorzystuje system wyszukiwania. Na tym etapie identyfikuje informacje, które pozostają niezmienione nawet po założeniu okularów lub zapuszczeniu brody, a także po upływie kilku lat od zrobienia zdjęcia.

Ostatni etap to wyszukanie opisanej w powyższy sposób „twarzy” w bazie danych zdjęć. Aby przeprowadzić szereg badań i obliczeń, które pozwoliły na stworzenie algorytmu wyszukiwania, zespół programistów NTechlab potrzebował wydajnych stacji roboczych. Wybór padł na procesory Intel® Core™ i7, dzięki którym firma mogła stworzyć efektywne narzędzie, pozwalające na skuteczne przeszukiwanie dużej liczby fotografii. Jeśli bowiem objętość bazy danych zwiększy się dziesięciokrotnie, czas wyszukiwania nie ulegnie dziesięciokrotnemu wydłużeniu – potrwa zaledwie 1,5 razy dłużej.

System cechuje imponujący zakres zastosowań – od aplikacji randkowych po rządowe systemy zabezpieczeń. Bezpieczeństwo stanowi zresztą w tym przypadku niezwykle ważny aspekt, a produkty opracowywane przez NTechlab wyróżniają się na tle konkurencji. Istniejące systemy rozwiązują problem porównywania dwóch zdjęć – takich jak zdjęcia w paszporcie i wpisu w bazie danych lotniska. To jednak nie wystarcza, aby zapewnić bezpieczeństwo na skalę np. całego miasta. Rozwiązanie NTechlab potrafi w czasie rzeczywistym przetwarzać informacje pochodzące z tysięcy kamer monitoringu, wyszukując w ten sposób przestępców na terenie dużych metropolii.

W branży detalicznej takie rozwiązanie mogłoby z powodzeniem zastąpić stosowanie kart rabatowych. System pozwoliłby po prostu rejestrować wektory cech klientów na podstawie ich zdjęć. Przy każdej kolejnej wizycie kamera monitoringu z powodzeniem rozpoznawałaby twarz odwiedzającego. Poza samą wygodą rozwiązałoby to także problem przechowywania danych osobowych – sklepy nie musiałyby już gromadzić imion i nazwisk ani numerów telefonów klientów.

W branży rozrywkowej wprowadzono już systemy wyszukujące gości w fotograficznych bazach danych. W tego typu rozwiązaniach klienci wykonują autoportrety i przesyłają je do systemów, które zwracają następnie wszystkie zdjęcia, na których dana osoba została uwieczniona. Z powodzeniem sprawdza się to w czasie festiwali, wesel i innych imprez. Jak mówi Artiom, system znalazł już zastosowanie w czasie Alfa Future People Festival oraz w australijskim parku rozrywki.

7а

Po pierwszym sukcesie zespół NTechlab nie zamierza spocząć na laurach. Firma już dziś oferuje własną usługę rozpoznawania twarzy, działającą w oparciu o chmurę. Każda firma może przesłać do systemu własną bazę danych zdjęć, a następnie użyć jej do przeprowadzania wyszukiwań, a także wbudować tę funkcję we własne usługi. Już wkrótce niezależni programiści otrzymają dostęp do zestawu SDK, a za kilka kolejnych miesięcy nastąpi planowane uruchomienie internetowej usługi rozpoznawania twarzy, opracowanej z myślą o systemach bezpieczeństwa stosowanych w fabrykach.

Obecnie firma pracuje też nad optymalizacją algorytmu i zwiększeniem jego dokładności. Jej celem jest opracowanie rozwiązania zdolnego wykrywać na zdjęciach emocje oraz przygotowanie modułu, dzięki któremu maszyny byłyby w stanie odróżniać rzeczywiste osoby od ich fotografii. Bez nieustannego rozwoju sztuczna inteligencja nie może liczyć na sukces.

Udostępnij ten artykuł

Podobne tematy

Innowacje techniczne

Przeczytaj w następnej kolejności

Read Full Story