Vad är Deepfakes och hur man skapar dem?

By rik

En Enkel Förklaring av Deepfakes och Hur Man Skapar Dem Med Faceswap

Artificiell intelligens är inte längre en avlägsen företeelse. Den har snabbt närmat sig oss människor i en takt som väcker både fascination och oro.

Denna teknik kan nu inte bara föreslå, skriva och skapa konst, utan även se ut och tala som levande varelser.

Detta är en av de senaste utvecklingarna inom AI-området, något vi både kan dra nytta av och vara försiktiga med.

Vad Är Deepfakes?

Ordet ”deepfake” är en sammanslagning av ”djupinlärning” och ”fake”. I grund och botten handlar det om media som har manipulerats på ett sofistikerat sätt för att se falsk ut.

Som Wikipedia förklarar, är det en form av syntetisk media där en befintlig bild, ljud eller video modifieras för att framställa någon helt annan.

Oftast används deepfakes för att få kända personer att säga eller göra saker de aldrig skulle göra i verkligheten.

Beroende på skaparens färdighet kan det vara extremt svårt att avgöra om materialet är äkta eller falskt.

Hur Fungerar Deepfakes?

I grund och botten ersätts en del av en originalvideo, till exempel ett ansikte, med en manipulerad variant. Denna process kallas ibland ”ansiktsbyte”, vilket exemplifieras av videon med en fejkad ”Obama”.

Deepfakes är dock inte begränsade till enbart video. Vi ser även bilder och ljud som manipulerats på detta sätt. Inom en snar framtid kan vi även se deepfake VR-avatarer.

Källa: Disney

Metoden bakom dessa tekniker varierar beroende på applikation och den underliggande algoritmen.

Enligt en forskningsartikel från Disney finns det flera tekniker, inklusive kodare-avkodare, Generative Adversarial Networks (GAN), geometribaserade deepfakes, med mera.

Följande avsnitt fokuserar till stor del på hur Faceswap fungerar. Detta är en gratis programvara med öppen källkod som möjliggör användning av flera algoritmer för att uppnå önskat resultat.

Det finns tre huvudprocesser för att generera deepfakes: extraktion, träning och konvertering.

#1. Extraktion

Extraktion innebär att identifiera och isolera det intressanta området från mediematerialet, både originalet och det som ska användas för bytet.

Beroende på hårdvarans kapacitet finns det olika algoritmer att välja för att säkerställa effektiv detektering.

Faceswap erbjuder flera alternativ för extraktion, justering och maskering baserat på datorns CPU- eller GPU-prestanda.

Extraktionen identifierar helt enkelt ansiktet i videon. Justeringen upptäcker viktiga detaljer i ansiktet (ögon, näsa, haka etc.) och maskeringen blockerar alla delar av bilden utom det önskade området.

Tidsåtgången för extraktionen är en viktig faktor vid valet av algoritmer, då resurskrävande algoritmer på undermålig hårdvara kan leda till misslyckanden eller långa väntetider för acceptabla resultat.

Förutom hårdvaran beror valet även på faktorer som om videon innehåller hinder för ansiktet, som handrörelser eller glasögon.

Det är viktigt att rensa utdata från falska träffar (förklaras senare). Extraktionen upprepas för både originalvideon och den video som ska användas för bytet.

#2. Träning

Träningen är kärnan i deepfake-skapandet.

Detta moment involverar neurala nätverk, med en kodare och en avkodare. Här matas algoritmerna med den extraherade datan för att skapa en modell som används i konverteringsprocessen.

Kodaren omvandlar inmatningen till en vektorrepresentation. Avkodaren tränas sedan att återskapa ansikten från dessa vektorer.

Det neurala nätverket utvärderar sina iterationer och jämför dem med originalet genom att tilldela ett förlustvärde. Detta värde minskar över tid när algoritmen fortsätter att iterera, och processen avslutas när resultaten är acceptabla.

Träningen är tidskrävande, och resultatet förbättras med antalet iterationer och kvaliteten på indata.

Faceswap rekommenderar till exempel minst 500 bilder vardera, både för originalet och det som ska bytas ut. Bilderna bör dessutom vara varierande och täcka alla möjliga vinklar i olika belysningar för bästa resultat.

På grund av träningstiden tillåter vissa applikationer (som Faceswap) att man avbryter träningen och fortsätter senare.

Resultatets fotorealism beror på algoritmens effektivitet, kvaliteten på indata, samt de begränsningar som finns i datorns hårdvara.

#3. Konvertering

Konverteringen är det sista steget i skapandet av en deepfake. Algoritmerna behöver originalvideon, den tränade modellen och en justeringsfil.

Man kan sedan justera inställningar som färgkorrigering, masktyp och utdataformat.

Efter dessa inställningar väntar man bara på slutresultatet.

Faceswap använder som sagt flera algoritmer. Användaren kan experimentera med dessa för att uppnå ett acceptabelt ansiktsbyte.

Är det Allt?

Nej!

Detta handlade bara om ansiktsbyte, som är en del av deepfake-tekniken. Ansiktsbyte ersätter bara en del av ansiktet för att ge en antydan om vad deepfakes kan göra.

För ett trovärdigt resultat kan man även behöva efterlikna ljudet (röstkloning) och hela kroppen.

Vad händer här?

Troligtvis har skaparen av deepfaken filmat sig själv, läppsynkat dialogen med Morgan Freemans syntetiska röst och sedan bytt ut huvudet.

Sammanfattningsvis handlar det inte bara om ansiktsbyte, utan hela ramen, inklusive ljudet.

Det finns många deepfakes på Youtube, och det kan vara skrämmande att se hur svårt det är att avgöra vad som är äkta eller falskt. Allt som krävs är en kraftfull dator med ett bra grafikkort.

Men perfektion är svårt att uppnå, särskilt med deepfakes.

En övertygande deepfake kräver skicklighet och flera dagar eller veckors arbete för en kort videosekvens.

Det är intressant att se hur kraftfulla dessa algoritmer är. Framtiden, och hur effektiva dessa applikationer kan bli på enklare hårdvara, har gjort många regeringar oroliga.

Vi ska dock inte fokusera på framtida konsekvenser. Istället ska vi titta på hur du skapar dina egna deepfakes.

Skapa (Grundläggande) Deepfake-Videor

Det finns många appar för att skapa deepfakes, som de i denna lista.

Vi kommer att använda Faceswap.

Innan vi fortsätter behöver vi en video av god kvalitet med målet, där olika känslor visas. Vi behöver också en källa för att byta ut ansiktet med målet.

Stäng även alla grafikkrävande applikationer, som webbläsare eller spel, innan du börjar. Detta är särskilt viktigt om du har mindre än 2 GB videominne (VRAM).

Steg 1: Extrahera Ansikten

Första steget är att extrahera ansikten från videorna. Välj målvideo i ”Input Dir” och ange en ”Output Dir” för extraktionerna.

Det finns flera alternativ, som detektor, aligner, masker etc. Mer information om dessa finns i Faceswaps FAQ, och det är onödigt att upprepa den här.

Källa: Faceswap FAQ

Det är bra att läsa dokumentationen för att få en bättre förståelse. Det finns även hjälptester i Faceswap som visas om man håller muspekaren över ett alternativ.

Det finns ingen universell metod, utan man bör börja med de bästa algoritmerna och justera tills man uppnår ett bra resultat.

Jag använde Mtcnn (detektor), Fan (aligner) och Bisenet-Fp (masker) och behöll övriga alternativ som de var.

Först provade jag med S3Fd (bästa detektorn) och andra masker, men mitt 2 GB Nvidia GeForce GTX 750Ti orkade inte med, och processen misslyckades flera gånger.

Jag sänkte därför mina förväntningar och anpassade inställningarna för att få det att fungera.

Under ”Settings” > ”Configure Settings” finns ytterligare inställningar för att finjustera och anpassa efter hårdvaran.

Välj lägsta möjliga ”Batch Size”, ”Input Size” och ”Output Size” samt markera ”LowMem” etc. Dessa alternativ är inte alltid tillgängliga utan beror på aktuellt avsnitt. Hjälptexterna ger mer information om de bästa alternativen.

Verktyget gör ett bra jobb med att extrahera ansikten, men utdata kan innehålla mer än vad som behövs för att träna modellen. Det kan till exempel innehålla flera ansikten (om videon har fler än ett) och falska upptäckter.

Därför behöver data rensas. Det kan göras manuellt i utdatamappen, eller med hjälp av Faceswaps sorteringsfunktion.

Verktyget visar ansikten i sekvens, där du kan gruppera de önskade i en mapp och ta bort resten.

Kom ihåg att upprepa extraktionen för källvideon.

Steg 2: Träna Modellen

Detta är den längsta processen för att skapa en deepfake. ”Input A” hänvisar till målets ansikte och ”Input B” är källans ansikte. ”Model Dir” är platsen där träningsfilerna sparas.

Det viktigaste alternativet är ”Trainer”. Det finns flera sklalningsalternativ, men Dfl-H128 och lättviktsmodeller fungerade bäst på min hårdvara med lägsta konfiguration.

Nästa alternativ är ”batchstorlek”. En större batchstorlek minskar träningstiden men kräver mer VRAM. Antalet ”iterationer” påverkar inte utdata, utan det är bra att ställa in ett tillräckligt högt värde och avbryta träningen när resultatet ser acceptabelt ut.

Det finns fler inställningar, till exempel att skapa en timelapse med förinställda intervall, men jag tränade modellen med ett minimum av inställningar.

Steg 3: Byt till Original

Detta är sista steget i deepfake-processen.

Det tar vanligtvis inte så lång tid, och man kan experimentera med flera alternativ för att få önskat resultat.

Som bilden ovan visar finns det några alternativ att välja innan konverteringen startas.

De flesta alternativen har redan diskuterats, som ”Input” och ”Output” katalog, ”Model” katalog etc. En viktig sak är ”Alignments”, som hänvisar till den alignmnent-fil (.fsa) som skapas i ”Input Directory” under extraktionen.

Fältet ”Alignments” kan lämnas tomt om filen inte har flyttats. Annars väljer man filen och fortsätter. Kom ihåg att rensa alignment-filen om du har rensat extraktionerna.

Miniverktyget för detta finns under ”Tools” > ”Alignments”.

Välj ”Remove-Faces” i ”Job”-sektionen, välj den ursprungliga alignmnent-filen och den rensade målansiktsmappen och klicka på ”Alignments” längst ner till höger.

Detta skapar en modifierad alignment-fil som matchar mappen med optimerade ansikten. Kom ihåg att vi behöver detta för målvideo, där vi vill byta ut ansiktet.

Ytterligare konfigurationer inkluderar ”färgjustering” och ”masktyp”. Färgjusteringen styr maskblandningen, och det finns flera alternativ att prova.

Masktypen är viktigare och beror på hårdvaran, samt egenskaperna i den aktuella videon. Vgg-Clear fungerar bra med ansikten som är rakt fram, utan hinder. Vgg-Obstructed fungerar bättre med ansikten som har hinder, som handgester, glasögon etc.

I ”Writer” finns olika alternativ beroende på vilket utdata man vill ha, till exempel Ffmpeg för videorendering.

Nyckeln till en bra deepfake är att förhandsgranska ett antal utdata och optimera efter tid och hårdvarans prestanda.

Tillämpningar av Deepfakes

Deepfakes har både bra, dåliga och farliga tillämpningar.

Bra användningsområden inkluderar återskapande av historielektioner med verkliga personer, vilket ökar engagemanget.

Det används också av onlineutbildningsplattformar för att generera videor från texter.

Filmindustrin är en av de största potentiella användarna. Det blir lätt att tänka sig skådespelare som gör sina egna stunts, eller att göra filmer på flera språk.

De dåliga tillämpningarna är tyvärr många. Hittills har 96% av deepfakes, enligt en rapport från Deeptrace, använts i porrindustrin för att byta ut kändisansikten mot porraktriser.

Deepfakes används även mot vanliga människor som har högkvalitativa bilder eller videor på sina sociala medier.

En annan skrämmande applikation är ”vishing”, eller röstnätfiske. Chefen för ett brittiskt företag överförde 243 000 dollar på order av ”VD:n” för det tyska moderbolaget, bara för att inse att det var ett falskt telefonsamtal.

Något som är ännu farligare är att deepfakes kan provocera krig eller uppmana till kapitulation. Ett nyligt försök gjordes att få Ukrainas president Volodymyr Zelenskyj att uppmana sin militär att kapitulera. Men videons undermåliga kvalitet avslöjade förfalskningen.

Sammanfattningsvis finns det många tillämpningar för deepfakes, och det har bara börjat.

Detta leder oss till den stora frågan…

Är Deepfakes Lagligt?

Detta varierar beroende på lokal lagstiftning. Det finns ännu inga väl definierade lagar som klargör vad som är tillåtet eller inte.

Det handlar i grund och botten om hur du använder deepfakes – vad avsikten är. Det är sällan skadligt om du bara vill underhålla eller utbilda någon utan att kränka målet för bytet.

Skadliga applikationer bör däremot vara straffbara oavsett jurisdiktion. Ytterligare en gråzon är intrång i upphovsrätt, vilket också måste beaktas.

Det är alltid bäst att kontrollera med de lokala myndigheterna vilka tillämpningar av deepfakes som är lagliga.

Var Vaksam!

Deepfakes använder artificiell intelligens för att få vem som helst att säga vad som helst.

Lita inte på allt du ser på internet. Desinformation är vanligt, och deepfakes ökar effektiviteten.

Då det bara kommer bli lättare att skapa dem, är det dags att vi lär oss hur man avslöjar deepfakes.