Właściwie co to za aplikacja?
MSQRD, a gdy rozwiniemy ten skrót to Masquerade. Posiada funkcje, takie jak: nakładanie filtru na twarz w czasie rzeczywistym, efekty wizualne, grafika 3D. Umożliwia robienie zdjęć oraz nagrywanie filmów.
Historia aplikacji
Stworzona przez białoruską firmę Masquerade Technologies. Na początku marca 2016 roku oficjalnie zadebiutowała w Google Play. Kilka dni po tym wydarzeniu Facebook wykupił MSQRD. Po czym trzej założyciele Jewgienij Nevgen, Sergey Gonchar i Evgeny Zatepyakin przeprowadzili się do Londynu, gdzie podjęli pracę w lokalnej siedzibie Facebooka.
Przejęcie Masquerade przez Facebooka
1,6 miliona pobrań aplikacji MSQRD skłonił serwis społecznościowy Marka Zuckerberga do jej zakupu.
Kolejnym czynnikiem tego zakupu może być sukces Snapchata, który w ciągu dnia osiąga 173 miliony aktywnych użytkowników. Stworzył monopol technologiczny pod względem aplikacji do rozpoznawania twarzy i nakładania na nią filtrów.

Algorytmy i technologie
Pierwszą rzeczą jest odpowiedni interfejs API. Google Cloud Vision API dla Androida, Google Mobile Vision iOS API, Microsoft Cognitive Services, and Core Image API. Cztery najczęściej używane przez programistów. Każdy interfejs API przechodzi przez dwie fazy, aby rozpoznać twarz: fazę analizy obrazu i fazę przetwarzania obrazu.
Pierwsza faza dzieli obraz na połączone komórki. Komórki analizuje się w różnych skalach i w zależności od kierunku ronda i intensywności gradientu koloru określa się czy dany fragment ma twarz.
Kolejnym etapem przetwarzania tego fragmentu będzie powiększenie pewnego wirtualnego obiektu – tak zwanej maski (na przykładzie Snapchata – pyska psa lub twarzy wiedźmy). Znów otrzymujemy punkty orientacyjne na twarzy. Umożliwiają one inicjację nowego obiektu w wymaganym miejscu i odpowiednie skalowane (na przykład, gdy obraz jest powiększany, oprogramowanie określa położenie czoła i regionu skroniowego).
Do wyżej wymienionych operacji powstały poszczególne frameworki.
Najpopularniejszy z nich OpenCV. Zawiera złożone interfejsy z C++, Pythona i Javy. Został pobrany ponad 14 milionów oraz tworzy aktywną społeczność liczącą ok. 47 tysięcy użytkowników.
W tworzeniu aplikacji do filtrowania twarzy najbardziej wydajne wyniki można osiągnąć przy użyciu kombinacji bibliotek Dlib i MagickWand.
Ciekawe rozwiązania w aplikacjach z rozpoznawaniem twarzy.
Histogram of oriented gradients
Viola–Jones object detection framework
Źródła:
http://msqrd.me/about.html [LINK]
https://ru.wikipedia.org/wiki/MSQRD [LINK]
https://erminesoft.com/how-snapchat-instagram-face-filters-work [LINK]