Czym są deepfake i jak je tworzyć?

Twoje kompleksowe wyjaśnienie dotyczące Deepfake’ów i łatwego ich tworzenia dzięki Faceswap.

Sztuczna inteligencja nie jest już taka „sztuczna”. Te czasy sprawiły, że niebezpiecznie zbliżył się do nas, ludzi.

Potrafi sugerować, pisać, tworzyć sztukę, a teraz wygląda i mówi jak żywy.

Jest to jedno z najnowszych osiągnięć w tej dziedzinie, z którego powinniśmy skorzystać. Jednak jest to również jeden, którego musimy się wystrzegać.

Czym są deepfake’i?

Słowo Deepfake powstało z połączenia głębokiego uczenia się i fałszowania. Mówiąc prościej, można również założyć, że są to profesjonalnie zmanipulowane lub głęboko sfałszowane media.

Według Wikipedii jest to również znane jako syntetyczne media, w których istniejący obraz, dźwięk lub wideo jest modyfikowany, aby reprezentował kogoś zupełnie innego.

Zazwyczaj deepfake sprawia, że ​​znane osobistości wydają się mówić coś, czego inaczej by nie powiedziały.

Opierając się na umiejętnościach jego twórcy, może być niezwykle trudno stwierdzić, czy jest prawdziwy, czy fałszywy.

Jak działają deepfake’i?

Mówiąc prościej, część oryginalnego filmu (np. twarz) zostaje zastąpiona podobnie wyglądającą podróbką. W takim przypadku można to również nazwać zamianą twarzy, jak w tym filmie „Obama”.

Jednak nie ogranicza się to tylko do wideo, mamy również obrazy i dźwięk w technologii deepfake (i kto wie, awatary VR w technologii deepfake w niedalekiej przyszłości).

źródło: disney

Metodologia pracy stojąca za takimi oszustwami zależy przede wszystkim od aplikacji i leżącego u jej podstaw algorytmu.

Zgodnie z tym artykułem badawczym Disneya, istnieją różne techniki, w tym kodery-dekodery, generatywne sieci przeciwstawne (GAN), głębokie podróbki oparte na geometrii itp.

Jednak na poniższe sekcje duży wpływ ma sposób działania z Facewap. Jest to darmowe oprogramowanie Deepfake o otwartym kodzie źródłowym, które pozwala wielu algorytmom uzyskać oczekiwany rezultat.

Istnieją trzy główne procesy generowania deepfake’ów: ekstrakcja, szkolenie i konwersja.

# 1. Ekstrakcja

Chodzi o wykrycie i wyciśnięcie interesującego nas obszaru tematycznego z próbek mediów, oryginału i tego do zamiany.

W zależności od możliwości sprzętowych może istnieć wiele algorytmów decydujących o skutecznym wykrywaniu.

Na przykład Faceswap ma kilka różnych opcji ekstrakcji, wyrównania i maskowania w oparciu o wydajność procesora lub karty graficznej.

Ekstrakcja po prostu identyfikuje twarz w całym filmie. Wyrównanie wykrywa kluczowe cechy dowolnej twarzy (oczy, nos, podbródek itp.). I wreszcie maskowanie blokuje inne elementy obrazu poza obszarem zainteresowania.

Całkowity czas potrzebny do uzyskania danych wyjściowych jest ważny przy wyborze dowolnej opcji, ponieważ wybranie algorytmów intensywnie korzystających z zasobów na przeciętnym sprzęcie może spowodować awarię lub znacznie długi czas uzyskania akceptowalnych wyników.

Oprócz sprzętu wybór zależy również od parametrów, takich jak to, czy wejściowe wideo cierpi na przeszkody na twarzy, takie jak ruchy dłoni lub okulary.

Niezbędnym elementem jest w końcu oczyszczenie (wyjaśnione później) danych wyjściowych, ponieważ ekstrakcje będą miały kilka fałszywych alarmów.

Ostatecznie ekstrakcja jest powtarzana dla oryginalnego wideo i fałszywego (używanego do zamiany).

#2. Szkolenie

To jest sedno tworzenia deepfake’ów.

Szkolenie dotyczy sieci neuronowej, która składa się z kodera i dekodera. Tutaj algorytmy są zasilane wyodrębnionymi danymi w celu stworzenia modelu do późniejszej konwersji.

Koder konwertuje dane wejściowe na reprezentację wektorową, aby nauczyć algorytm odtwarzania twarzy z wektorów, tak jak robi to dekoder.

Następnie sieć neuronowa ocenia swoje iteracje i porównuje je z oryginałem, przypisując wynik strat. Ta wartość strat zmniejsza się w miarę upływu czasu, gdy algorytm kontynuuje iteracje i zatrzymujesz się, gdy podglądy są akceptowalne.

Uczenie jest procesem czasochłonnym, a wyniki na ogół poprawiają się w oparciu o wykonywane iteracje i jakość danych wejściowych.

Na przykład Faceawap sugeruje co najmniej 500 obrazów, oryginalnych i do wymiany. Ponadto obrazy powinny znacznie różnić się między sobą, obejmując wszystkie możliwe kąty w unikalnym oświetleniu, aby zapewnić najlepszą rekreację.

Ze względu na długość treningu niektóre aplikacje (np. Faceswap) pozwalają przerwać trening w trakcie lub kontynuować później.

Warto zauważyć, że fotorealizm danych wyjściowych zależy również od wydajności algorytmu i danych wejściowych. I znów jest ograniczony możliwościami sprzętowymi.

#3. Konwersja

To ostatni rozdział tworzenia deepfake. Algorytmy konwersji wymagają źródłowego wideo, przeszkolonego modelu i źródłowego pliku wyrównania.

Następnie można zmienić kilka opcji dotyczących korekcji kolorów, typu maski, żądanego formatu wyjściowego itp.

Po skonfigurowaniu tych kilku opcji pozostaje już tylko czekać na ostateczny render.

Jak wspomniano, Faceswap działa z wieloma algorytmami i można grać między nimi, aby uzyskać tolerowaną zamianę twarzy.

Czy to wszystko?

NIE!

To była po prostu zamiana twarzy, podzbiór technologii deepfake. Zamiana twarzy, podobnie jak w dosłownym znaczeniu, zastępuje tylko część twarzy, aby dać mgliste wyobrażenie o tym, co mogą zrobić deepfake.

Aby uzyskać wiarygodną zamianę, może być również konieczne naśladowanie dźwięku (lepiej znanego jako klonowanie głosu) i całej sylwetki, w tym wszystkiego, co mieści się w kadrze, na przykład:

Więc o co tu gra?

Mogło się zdarzyć, że autor deepfake sam nakręcił wideo (jak wskazano w ostatnich kilku sekundach), zsynchronizował dialog z syntetycznym głosem Morgana Freemana i wymienił głowę.

Podsumowując, nie chodzi tylko o zamianę twarzy, ale o całą klatkę, w tym dźwięk.

Na YouTube można znaleźć mnóstwo deepfake’ów do tego stopnia, że ​​aż strach pomyśleć, komu ufać. Aby rozpocząć, wystarczy mocny komputer z wydajną kartą graficzną.

Trudno jednak osiągnąć doskonałość, zwłaszcza w przypadku deepfake’ów.

Przekonujący deepfake, który może wprowadzić w błąd lub zachwycić widzów, wymaga umiejętności i kilku dni lub tygodni przetwarzania minuty lub dwóch filmu.

Co ciekawe, takie są obecnie możliwości tych algorytmów. Ale to, co przyniesie przyszłość, w tym skuteczność tych aplikacji na sprzęcie z niższej półki, jest czymś, co denerwowało całe rządy.

Nie będziemy jednak zagłębiać się w jego przyszłe reperkusje. Zamiast tego sprawdźmy, jak zrobić to samemu dla małej frajdy.

Tworzenie (podstawowych) filmów Deepfake

Możesz sprawdzić wiele aplikacji na tej liście aplikacji deepfake do tworzenia memów.

Jednym z nich jest Faceswap, którego będziemy używać.

Zanim przejdziemy dalej, upewnimy się o kilku rzeczach. Po pierwsze, powinniśmy mieć dobrej jakości nagranie celu przedstawiające różne emocje. Następnie będziemy potrzebować źródłowego wideo, aby zamienić je na cel.

Ponadto zamknij wszystkie aplikacje intensywnie korzystające z karty graficznej, takie jak przeglądarki lub gry, zanim przejdziesz do funkcji Faceswap. Jest to szczególnie prawdziwe, jeśli masz mniej niż 2 gigabajty VRAM (pamięć wideo).

Krok 1: Wyodrębnianie twarzy

Pierwszym krokiem w tym procesie jest wyodrębnienie twarzy z filmu. W tym celu musimy wybrać docelowe wideo w katalogu wejściowym i wyświetlić katalog wyjściowy dla ekstrakcji.

Ponadto istnieje kilka opcji, w tym detektor, aligner, masker itp.; wyjaśnienia dla każdego z nich znajdują się w często zadawanych pytaniach Faceawap i marnotrawstwem byłoby powtarzanie informacji tutaj.

Źródło: Często zadawane pytania dotyczące zamiany twarzy

Ogólnie dobrze jest przejrzeć dokumentację, aby lepiej ją zrozumieć i uzyskać przyzwoity wynik. Istnieją jednak pomocne teksty w Faceswap, które można znaleźć, najeżdżając kursorem na konkretną opcję.

Mówiąc prościej, nie ma uniwersalnego sposobu i należy zacząć od najlepszych algorytmów i z powodzeniem pracować w dół, aby stworzyć przekonujący deepfake.

Dla kontekstu użyłem Mtcnn (detektor), Fan (aligner) i Bisenet-Fp (masker), zachowując wszystkie inne opcje bez zmian.

Pierwotnie wypróbowałem to z S3Fd (najlepszy detektor) i kilkoma innymi maskami łącznie. Jednak mój 2Gb Nvidia GeForce GTX 750Ti nie mógł znieść ciężaru, a proces wielokrotnie się nie powiódł.

W końcu stonowałem swoje oczekiwania i ustawienia, aby to zobaczyć.

Oprócz wyboru odpowiedniego detektora, masek itp., w Ustawieniach > Konfiguruj ustawienia dostępnych jest jeszcze kilka opcji, które pomagają jeszcze bardziej dostosować indywidualne ustawienia, aby pomóc sprzętowi.

Mówiąc prościej, wybierz najniższy możliwy rozmiar wsadu, rozmiar wejściowy i rozmiar wyjściowy, a następnie sprawdź LowMem itp. Te opcje nie są dostępne uniwersalnie i opierają się na określonej sekcji. Ponadto teksty pomocy dodatkowo pomagają w wyborze najlepszych opcji.

Chociaż to narzędzie doskonale radzi sobie z wyodrębnianiem twarzy, ramki wyjściowe mogą zawierać znacznie więcej niż jest to wymagane do wytrenowania (omówione później) modelu. Na przykład będzie zawierał wszystkie twarze (jeśli wideo ma więcej niż jedną) i niektóre niewłaściwe wykrycia, w których w ogóle nie ma twarzy docelowej.

Prowadzi to do czyszczenia zestawów danych. Albo można sprawdzić folder wyjściowy i usunąć się, albo użyć sortowania Faceswap, aby uzyskać pomoc.

Korzystanie z wyżej wymienionego narzędzia ułoży kolejno różne twarze, z których można połączyć niezbędne w jednym folderze i usunąć resztę.

Przypominamy, że będziesz chciał powtórzyć ekstrakcję dla źródłowego wideo.

Krok 2: Szkolenie modelu

Jest to najdłuższy proces tworzenia deepfake’a. Tutaj wejście A odnosi się do twarzy docelowej, a wejście B do twarzy źródłowej. Poza tym Model Dir to miejsce, w którym zostaną zapisane pliki szkoleniowe.

Tutaj najbardziej znaczącą opcją jest Trainer. Jest wiele z indywidualnymi opcjami skalowania; jednak to, co zadziałało na moim sprzęcie, to trenerzy Dfl-H128 i Lightweight z najniższymi ustawieniami konfiguracji.

Dalej jest wielkość partii. Większy rozmiar wsadu skraca całkowity czas szkolenia, ale zużywa więcej pamięci VRAM. Iteracje nie mają ustalonego wpływu na dane wyjściowe i należy ustawić wystarczająco wysoką wartość i zatrzymać uczenie, gdy podglądy będą akceptowalne.

Jest jeszcze kilka ustawień, w tym tworzenie timelapse z ustawionymi interwałami; jednak trenowałem model z absolutnym minimum.

Krok 3: Zamiana na oryginał

To ostatni wyczyn w tworzeniu deepfake.

Zwykle nie zajmuje to tak dużo czasu i można grać z wieloma opcjami, aby szybko uzyskać pożądane wyniki.

Jak pokazano na powyższym obrazku, jest to kilka opcji, które należy wybrać, aby rozpocząć konwersję.

Większość opcji została już omówiona, na przykład katalog wejściowy i wyjściowy, katalog modelu itp. Kluczową rzeczą jest wyrównanie, które odnosi się do pliku wyrównania (.fsa) docelowego wideo. Zostanie utworzony w katalogu wejściowym podczas ekstrakcji.

Pole Wyrównania można pozostawić puste, jeśli dany plik nie został przeniesiony. W przeciwnym razie można wybrać plik i przejść do innych opcji. Należy jednak pamiętać o wyczyszczeniu pliku wyrównywania, jeśli wcześniej wyczyszczono ekstrakcje.

W tym celu to mini narzędzie znajduje się w Narzędzia > Wyrównania.

Zacznij od wybrania Usuń powierzchnie w sekcji Zadanie, wybierz oryginalny plik wyrównania i folder oczyszczonych powierzchni docelowych, a następnie kliknij Wyrównania w prawym dolnym rogu.

Spowoduje to utworzenie zmodyfikowanego pliku wyrównania, pasującego do folderu zoptymalizowanych powierzchni. Pamiętaj, że potrzebujemy tego dla docelowego wideo, na które chcemy się zamienić.

Kilka dodatkowych konfiguracji obejmuje dostosowanie kolorów i typ maski. Dopasowanie kolorów dyktuje mieszanie maski i możesz wypróbować kilka, sprawdzić podgląd i wybrać optymalną opcję.

Ważniejszy jest typ maski. To znowu zależy od twoich oczekiwań i dostępnego sprzętu. Zazwyczaj należy również wziąć pod uwagę charakterystykę wejściowego wideo. Na przykład Vgg-Clear działa dobrze z twarzami czołowymi bez przeszkód, podczas gdy Vgg-Obstructed może również działać z przeszkodami, takimi jak gesty rąk, okulary itp.

Następnie Writer przedstawia kilka opcji w oparciu o żądane dane wyjściowe. Na przykład wybierz Ffmpeg do renderowania wideo.

Ogólnie rzecz biorąc, kluczem do udanego deepfake’a jest podgląd kilku wyników i optymalizacja zgodnie z dostępnością czasu i mocą sprzętu.

Zastosowania Deepfake’a

Istnieją dobre, złe i niebezpieczne zastosowania deepfake’ów.

Dobre polegają na odtwarzaniu lekcji historii przez tych, którzy faktycznie byli tam dla większego zaangażowania.

Ponadto są one wykorzystywane przez internetowe platformy edukacyjne do generowania filmów z tekstów.

Ale jednym z największych beneficjentów będzie przemysł filmowy. Tutaj łatwo będzie wyobrazić sobie głównego bohatera wykonującego akrobacje, nawet jeśli będzie to kaskader ryzykujący życiem. Ponadto tworzenie wielojęzycznych filmów będzie łatwiejsze niż kiedykolwiek.

Przechodząc do tych złych, niestety jest ich wiele. Największa jak dotąd aplikacja typu deepfake, w rzeczywistości 96% (zgodnie z tym raportem Deeptrace), znajduje się w branży porno, aby zamienić twarze celebrytów na aktorów porno.

Ponadto deepfakes są również wykorzystywane jako broń przeciwko „standardowym” kobietom nie będącym celebrytami. Zwykle takie ofiary mają na swoich profilach w mediach społecznościowych wysokiej jakości zdjęcia lub filmy, które są wykorzystywane do tworzenia deepfake’ów.

Kolejną przerażającą aplikacją jest vishing, znany również jako phishing głosowy. W jednym z takich przypadków dyrektor generalny brytyjskiej firmy przekazał 243 000 USD na polecenie „dyrektora generalnego” swojej niemieckiej firmy macierzystej, tylko po to, by później dowiedzieć się, że w rzeczywistości była to fałszywa rozmowa telefoniczna.

Ale jeszcze bardziej niebezpieczne jest deepfake prowokujące wojny lub prośby o poddanie się. W ostatniej próbie prezydent Ukrainy Wołodymyr Zełenski nakazał swoim siłom i narodowi poddać się w toczącej się wojnie. Jednak prawdę tym razem zdradziło kiepskie wideo.

Podsumowując, istnieje wiele aplikacji typu deepfake, a to dopiero początek.

To prowadzi nas do pytania za milion dolarów…

Czy deepfake jest legalny?

W dużej mierze zależy to od lokalnych władz. Chociaż dobrze zdefiniowane prawa, w tym to, co jest dozwolone, a co nie, dopiero się pojawi.

Oczywiste jest jednak to, że zależy to od tego, do czego używasz deepfake’ów — intencji. Nie ma prawie żadnej szkody, jeśli zamierzasz zabawiać lub edukować kogokolwiek bez naruszania celu zamiany.

Z drugiej strony złośliwe aplikacje powinny podlegać karze prawnej, niezależnie od jurysdykcji. Kolejną szarą strefą jest naruszenie praw autorskich, które wymaga odpowiedniego rozważenia.

Ale, powtarzając, powinieneś skontaktować się z lokalnymi organami rządowymi w sprawie legalnych zastosowań deepfake.

Miej oko!

Deepfkaes wykorzystuje sztuczną inteligencję, aby zmusić każdego do mówienia rzeczy.

Nie ufaj niczemu, co widzisz w Internecie, to pierwsza rada, którą powinniśmy zastosować. Jest mnóstwo dezinformacji, a ich skuteczność tylko rośnie.

A ponieważ tworzenie ich będzie tylko łatwiejsze, nadszedł czas, abyśmy nauczyli się rozpoznawać deepfake’i.