Kąt Andersona
Deweloperzy TikToka kasują twarze dla aplikacji rzeczywistości rozszerzonej

ByteDance, chiński wielonarodowy koncern internetowy odpowiedzialny za TikToka, opracował nową metodę kasowania twarzy w filmach, aby można było nakładać na ludzi w aplikacjach rzeczywistości rozszerzonej efekty takie jak zniekształcenia tożsamości i inne dziwne efekty. Firma twierdzi, że technika ta już została zintegrowana z komercyjnymi produktami mobilnymi, choć nie podaje, jakie to produkty.
Gdy twarze w filmie zostaną “wyzerowane”, jest wystarczająco dużo “płótna twarzy”, aby wyprodukować zaskakujące zniekształcenia, a także możliwe jest nałożenie innych tożsamości. Przykłady dostarczone w nowym artykule badaczy z ByteDance ilustrują możliwości, w tym przywrócenie “skasowanych” cech w różnych komicznych (i pewnie także groteskowych) konfiguracjach:

Niektóre z możliwości rekonfiguracji twarzy zawarte w artykule ByteDance. Źródło: https://arxiv.org/pdf/2109.10760.pdf
Pod koniec sierpnia okazało się, że TikTok, pierwsza niebędąca aplikacją Facebooka, która osiągnęła 3 miliardy instalacji, uruchomił TikTok Effect Studio (obecnie w zamkniętej betzie), platformę dla deweloperów rzeczywistości rozszerzonej do tworzenia efektów AR dla strumieni treści TikToka.
Skutecznie, firma dogania podobne społeczności deweloperskie w AR Studio Facebooka i Snap AR, a także weterana społeczności badawczej Apple’a AR R&D, która wkrótce zostanie zasilona nowym sprzętem w ciągu najbliższego roku.
Wyrażenia puste
Artykuł artykuł, zatytułowany FaceEraser: usuwanie części twarzy dla rzeczywistości rozszerzonej, zauważa, że istniejące algorytmy wypełniania/wypełniania, takie jak NVIDIA’s SPADE, są bardziej ukierunkowane na uzupełnianie obciętych lub półukrytych obrazów niż na wykonywanie tego niezwykłego “wykasowywania” procedury, a istniejące materiały danych są więc przewidywalnie rzadkie.
Ponieważ nie ma dostępnych zbiorów danych odniesienia dla ludzi, którzy mają stałą powierzchnię skóry tam, gdzie powinna być ich twarz, badacze stworzyli nową architekturę sieci o nazwie pixel-clone, która może być nakładana na istniejące modele wypełniania neuronowego, a która rozwiązuje problemy związane z niespójnościami tekstury i koloru występującymi (jak twierdzi artykuł) w starszych metodach, takich jak StructureFlow i EdgeConnect.

Ogólny przepływ pracy pixel-clone w nowym potoku.
Aby trenować model na “pustych” twarzach, badacze wykluczyli obrazy z okularami lub gdzie włosy zasłaniają czoło, ponieważ obszar między linią włosów a brwiami jest zwykle największą grupą pikseli, która może dostarczyć “naklei” materiału dla centralnych cech twarzy.

Przygotowanie obrazów treningowych. Obszar czoła jest wycięty, oparty na punktach kluczowych w rozpoznawaniu wyrównania twarzy, pionowo odwrócony i zszyty.
Otrzymany jest obraz o rozdzielczości 256×256 pikseli, który jest wystarczająco mały, aby można go było podawać do przestrzeni latentnej sieci neuronowej w partiach, które są wystarczająco duże, aby osiągnąć uogólnienie. Późniejsze algorytmiczne skalowanie przywróci rozdzielczości niezbędne do pracy w przestrzeni AR.
Architektura
Sieć składa się z trzech wewnętrznych sieci, składających się z uzupełniania krawędzi, klonowania pikseli i sieci wygładzającej. Sieć uzupełniania krawędzi używa tej samej architektury kodera-dekodera, co EdgeConnect (patrz powyżej), a także w dwóch najpopularniejszych aplikacjach deepfake. Kodery próbkują zawartość obrazu dwa razy, a dekodery przywracają oryginalne wymiary obrazu.
Klonowanie pikseli używa zmodyfikowanej metody kodera-dekodera, a warstwa wygładzająca używa architektury U-Net, techniki pierwotnie opracowanej dla obrazowania biomedycznego, które często pojawia się w projektach badawczych związanych z syntezą obrazu.
Podczas przepływu treningu konieczne jest ocenienie dokładności transformacji i, w razie potrzeby, powtórzenie prób w sposób iteracyjny do zbieżności. W tym celu używa się dwóch dyskryminatorów opartych na PatchGAN, z których każdy ocenia realizm lokalny plamek 70×70 pikseli, dyskontując realizm wartości całego obrazu.
Trening i dane
Sieć uzupełniania krawędzi jest początkowo trenowana niezależnie, a dwie pozostałe sieci są trenowane razem, oparte na wagach, które wynikają z treningu uzupełniania krawędzi, które są ustalone i zamrożone podczas tego procesu.
Chociaż artykuł nie stwierdza wyraźnie, że przykłady końcowych zniekształceń cech są głównym celem modelu, implementuje różne efekty komiczne, aby przetestować wytrzymałość systemu, w tym usuwanie brwi, powiększanie ust, zmniejszanie podtwarzy i “kreskówkowe” efekty (jak pokazano na wcześniejszym obrazie powyżej).
Artykuł twierdzi, że “wykasowane twarze umożliwiają różne aplikacje rzeczywistości rozszerzonej, które wymagają umieszczenia dowolnych elementów dostosowanych przez użytkownika”, wskazując na możliwość dostosowywania twarzy za pomocą elementów przekazanych przez użytkowników z zewnątrz.
Model jest trenowany na maskach z zestawu danych FFHQ stworzonego przez NVIDIA, który zawiera wystarczającą różnorodność wieku, etniczności, oświetlenia i pozycji twarzy i stylów, aby osiągnąć użyteczne uogólnienie. Zestaw danych zawiera 35 000 obrazów i 10 000 mask treningowych do określenia obszarów transformacji, z 4000 obrazami i 1000 maskami przeznaczonymi do celów walidacji.

Przykłady treningowe.
Wytrenowany model może wykonywać inferencję na danych z 2017 roku CelebA-HQ i VoxCeleb, niewidzianych twarzach z FFHQ i dowolnych innych niewidzianych twarzach, które są przedstawione. Obrazy o rozdzielczości 256×256 pikseli były trenowane w partiach po 8 za pomocą optymalizatora Adama, zaimplementowanego w PyTorch, i uruchamianego na procesorze Tesla (TSLA ) V100 GPU przez “2000,000 epok”.

Wyniki inferencji uzyskane na prawdziwej twarzy.
Jak to często bywa w badaniach nad syntezą obrazu opartą na twarzach, system musi radzić sobie z okazjonalnymi niepowodzeniami spowodowanymi przez przeszkody lub zakrycia, takie jak włosy, akcesoria, okulary i broda.
Raport kończy się słowami:
“Nasze podejście zostało skomercjalizowane i działa dobrze w produktach dla nieograniczonych danych wejściowych użytkownika.”












