^

Jak działa rozpoznawanie twarzy w urządzeniach Apple

Jaromir Kopp

18 listopada 2017

Apple na łamach swojego Machine Learning Journal wyjaśnia, jak działa rozpoznawanie twarzy z użyciem Deep Neural Network. Kolejny raz przy tym podkreśla, że całość analizy obrazu odbywa się w urządzeniu użytkownika, bez konieczności wysyłania zdjęć gdziekolwiek. Warto o tym pamiętać, porównując ekosystem Apple z innymi.

Vision framework

Deep Neural Network jest używane do rozpoznawania twarzy od iOS 10. Programiści mają do niego dostęp za pomocą Vision framework. Poprzednio do rozpoznawania twarzy Apple używał metody Viola-Jones. Coraz większa moc obliczeniowa mobilnych urządzeń Apple pozwoliła przejść na dokładniejsze, ale również bardziej złożone i wymagające metody wykorzystujące algorytmy sieci neuronowych oraz maszynowego uczenia. Jednak nie było to łatwe.

Wyzwania związane z rozpoznawaniem twarzy wewnątrz urządzenia

W Machine Learning Journal inżynierowie Apple wyjaśniają, z jakimi wyzwaniami musieli się zmierzyć, aby analiza zdjęć mogła być wykonana bez potrzeby wysyłania ich na serwery. Po pierwsze: Biblioteka zdjęć iCloud, jeżeli z niej korzystamy, wysyła na serwer zdjęcia zaszyfrowane naszym prywatnym kluczem i w tej postaci są one przechowywane. Mogą być odszyfrowane tylko na urządzeniach przypisanych do naszego konta, za pomocą naszego klucza. Apple nie robi tu żadnych wyjątków.
Jak działa rozpoznawanie twarzy w urządzeniach Apple 2
Rozpoznawanie twarzy przy użyciu algorytmów uczących się i sieci neuronowych wymaga sporych zasobów pamięci RAM i mocy obliczeniowej procesora oraz układów graficznych. Użytkownik nie chce i nie powinien odczuwać spowolnienia pracy, czy nadmiernego zużycia baterii, gdy analizy odbywają się w tle. Jednocześnie chce, aby twarze na zdjęciach zostały rozpoznane jak najszybciej.
Inżynierowie Apple musieli zastosować wiele metod optymalizacji. Od odpowiedniego podziału i przeskalowania danych wejściowych np. 64 megapikslowej panoramy, po łączenie zasobów dla kilku jednocześnie pracujących sieci neuronowych.
Jeżeli chcecie dowiedzieć się szczegółowo jakich metod użyto, przeczytajcie wpis: An On-device Deep Neural Network for Face Detection.

Po co Apple produkuje tak wydajne procesory?

Dzięki wysiłkowi inżynierów nie odczuwamy podczas normalnego używania iPhone’a lub iPada, że w tle sieci neuronowe wykonują setki miliardów operacji zmiennoprzecinkowych na sekundę, aby analizować zdjęcia i wykonywać inne procesy wymagające użycia sztucznej inteligencji. W najnowszych iPhone’ach większość operacji sieci neuronowych wykonuje Neural engine. Ta nowa jednostka w układach A11 Apple pracuje szybciej i energooszczędniej, jednocześnie pozwala na użycie procesora i układów graficznych do innych celów.
A wszystko to aby jeszcze lepiej chronić naszą prywatność.

Jaromir Kopp

Użytkownik komputerów Apple od 1991 roku. Dziennikarz technologiczny, programista i deweloper HomeKit. Propagator przyjaznej i dostępnej technologii. Lubi programować w Swift i czystym C. Tworzy rozwiązania FileMaker. Prowadzi zajęcia z IT i programowania dla dzieci oraz młodzieży, szkoli też seniorów. Współautor serii książek o macOS wydanych przez ProstePoradniki.pl. Projektuje, programuje oraz samodzielnie wykonuje prototypy urządzeń Smart Home. Jeździ rowerem.
Komentarze (3)
L

3 komentarze

  1. gamex

    A którzy producenci wysyłają dane identyfikujące użytkownika telefonu na serwery? I którzy producenci chmur wysyłają zdjecia nieszyfrowane indywidualnym kluczem? Zrób listę czarnych usług

  2. sportpoz

    Super, ale byłoby bardziej super, gdyby rozpoznawanie twarzy oraz rzeczy na zdjęciach działało nieco dokładniej. Google radzi sobie z tym lepiej. Apple potrafi rozpoznać np. goły tyłek jako „zastawę stołową”.

  3. snake

    @sportpoz swoją drogą ciekawe rzeczy starasz się rozpoznać dzięki swojemu iPhonowi 😀