W tym wpisie na blogu w prosty i przejrzysty sposób przyjrzymy się zasadom i procesom, na których opiera się rozpoznawanie ludzkich twarzy przez komputery.
Jakie zasady leżą u podstaw rozpoznawania twarzy?
Prawdopodobnie przynajmniej raz w dzieciństwie grałeś w grę, w której trzeba było narysować ludzką twarz. W tej grze najpierw wybierasz kształt twarzy, a następnie fryzurę, oczy, nos i usta, po kolei, i umieszczasz je na twarzy. Przełączając się między różnymi fryzurami, oczami, nosami i ustami, możesz stworzyć twarz, jaką chcesz. Sposób, w jaki komputery rozpoznają i porównują twarze, nie różni się zbytnio od tego. Komputery identyfikują i zapisują rysy twarzy; po wprowadzeniu nowego zdjęcia twarzy porównują je z zapisanymi rysami, aby określić, kim jest dana osoba.
Niedawnym przykładem łatwo dostępnej technologii rozpoznawania twarzy jest aplikacja do rozpoznawania twarzy (ang. Face Recognition App). Aplikacje te wstępnie wyodrębniają i zapisują kluczowe cechy – takie jak kontury twarzy, oczy, nos i usta – ze zdjęć celebrytów. Później, gdy twarz osoby zostaje uchwycona aparatem, aplikacja w ten sam sposób wyodrębnia rysy twarzy i porównuje je z zapisanymi rysami twarzy celebrytów, aby zidentyfikować i wyświetlić osobę, która najbardziej do niej pasuje.
Jak komputer rozpoznaje twarz?
Przyjrzyjmy się teraz procesowi rozpoznawania twarzy przez komputer. Rozpoznawanie twarzy składa się z czterech głównych etapów: wprowadzania danych, wykrywania twarzy, ekstrakcji cech i porównywania.
Na etapie wejściowym pojedyncza klatka ze zdjęcia lub filmu jest przesyłana do komputera za pośrednictwem urządzenia wejściowego. Zasadniczo, im wyższa rozdzielczość urządzenia wejściowego i im większa liczba klatek na sekundę (FPS), tym dokładniej można rozpoznawać twarze. Zasada ta jest podobna do tej, na której osoba z dobrym wzrokiem może dokładniej rozpoznać twarz osoby stojącej w oddali.
Na etapie detekcji twarzy system najpierw sprawdza, czy na zdjęciu lub filmie wejściowym znajduje się dana twarz. W tym celu identyfikuje kontur twarzy oraz jej kluczowe cechy, takie jak oczy, nos i usta. Chociaż obecnie stosuje się różne techniki detekcji twarzy, skupimy się tutaj na reprezentatywnej metodzie detekcji podobnej do metody Haara.
Metoda detekcji typu Haar wykorzystuje falki Haara. Falka to prosty prostokątny wzór złożony z czarnych i białych obszarów. Te czarno-białe obszary służą do identyfikacji obszarów obrazu, w których występują różnice w jasności. Poprzez zastosowanie falek o różnych rozmiarach i kształtach na całym obrazie wejściowym lub wideo, a następnie zachowanie tylko miejsc, w których różnica w jasności między czarnymi i białymi obszarami jest znacząca, system może skutecznie wykrywać kontur twarzy i kluczowe cechy twarzy, takie jak oczy, nos, usta i brwi. Co więcej, proces ten pozwala również na ekstrakcję informacji o położeniu dotyczących rysów twarzy.
Na przykład, podczas ekstrakcji informacji o oczach, czarne obszary falki są pozycjonowane tak, aby odpowiadały stosunkowo ciemnym obszarom – takim jak źrenica – podczas gdy białe obszary odpowiadają jasnym obszarom, takim jak skóra. Wykorzystując te różnice w jasności, można skutecznie wykryć położenie i kształt oczu.
W jaki sposób wyodrębnia się rysy twarzy?
Po zakończeniu etapu wykrywania twarzy system decyduje, czy przejść do etapu ekstrakcji cech.
Na etapie ekstrakcji cech, cechy twarzy są ekstrahowane, aby w pełni wykorzystać komponenty twarzy zidentyfikowane na etapie detekcji twarzy. W przeciwieństwie do etapu detekcji twarzy, proces ten obejmuje etap wstępnego przetwarzania. Ponieważ kąt obrotu, rozmiar i intensywność oświetlenia twarzy różnią się w zależności od zdjęcia lub filmu, przeprowadzany jest proces normalizacji w celu ich jak największej standaryzacji. Dodatkowo, kolorowe zdjęcia lub filmy można w razie potrzeby przekonwertować na obrazy czarno-białe.
Na przykład, oryginalne zdjęcie jest konwertowane do skali szarości, następnie tylko obszar twarzy jest kadrowany i skalowany do jednolitego rozmiaru, a następnie przeprowadzana jest korekcja histogramu w celu poprawienia jasności. Wykorzystując informacje o położeniu komponentów twarzy uzyskane na etapie wykrywania twarzy, rysy twarzy są wyodrębniane ze zdjęć lub filmów poddanych temu wstępnemu przetwarzaniu.
W jaki sposób wykorzystuje się wyodrębnione rysy twarzy?
Na etapie porównywania informacje na temat wyodrębnionych składników twarzy są albo przechowywane w bazie danych (DB), albo porównywane z istniejącymi danymi dotyczącymi twarzy w celu znalezienia najlepiej pasującego elementu.
Przyjrzeliśmy się procesowi komputerowego rozpoznawania twarzy. Jeszcze kilkadziesiąt lat temu idea komputera rozróżniającego ludzi wydawała się technologią odległą od rzeczywistości. Jednak dzięki szybkiemu rozwojowi sprzętu komputerowego, oprogramowania i sztucznej inteligencji, rozpoznawanie twarzy jest obecnie szeroko stosowane w różnych dziedzinach – w tym w smartfonach i laptopach, a także w kontroli dostępu, usługach finansowych i ochronie lotnisk. Dziś technologia umożliwiająca komputerom rozpoznawanie ludzkich twarzy nie jest już tylko opowieścią o przyszłości, lecz stała się technologią naturalnie wplecioną w nasze codzienne życie.