Kuinka syvä oppiminen väärentää videoita (Deepfake) ja miten tunnistaa ne?

Julkkispornokuvien valmistus ei ole mitään uutta. Kuitenkin vuoden 2017 lopulla Redditin Deepfakes-niminen käyttäjä aloitti syvän oppimisen valmistaakseen väärennettyjä videoita kuuluisuuksista. Se aloittaa uuden väärennettyjen videoiden aallon verkossa. DARPA, osana Yhdysvaltain armeijaa, rahoittaa myös tutkimusta väärennettyjen videoiden havaitsemiseksi. Itse asiassa AI: n soveltaminen videoiden luomiseen alkoi paljon ennen Deepfakesia. Face2Face ja UW: n "syntetisoiva Obama (oppia huulien synkronointi äänestä)" luovat vääriä videoita, joita on vielä vaikeampi havaita. Itse asiassa ne ovat niin todellisia, että Jordan Peele loi yhden alla varoittaakseen yleisöä.

Tässä artikkelissa selitämme Deepfakes-käsitteen. Löydämme joitain vaikeuksista ja selitämme tapoja tunnistaa väärennetyt videot. Tutkimme myös Washingtonin yliopiston tutkimusta videoiden luomisesta, jotka voivat synkronoida mahdollisen väärennetyn äänen kanssa.

Peruskonsepti

Deepfakes-käsite on hyvin yksinkertainen. Oletetaan, että haluamme siirtää henkilön A kasvot henkilön B videolle.

Ensinnäkin, keräämme satoja tai tuhansia kuvia molemmille henkilöille. Rakennamme kooderin koodaamaan kaikki nämä kuvat syväoppivalla CNN-verkolla. Sitten käytämme dekooderia kuvan rekonstruoimiseen. Tällä autoenkooderilla (kooderilla ja dekooderilla) on yli miljoona parametria, mutta se ei ole edes tarpeeksi lähellä kaikkien kuvien muistamista. Joten kooderin on poimittava tärkeimmät ominaisuudet alkuperäisen tulon luomiseksi. Ajattele sitä rikosluonnoksena. Ominaisuudet ovat todistajan (enkooderin) kuvaukset, ja yhdistelmäluonnoksen taiteilija (dekooderi) käyttää niitä rekonstruoimaan epäillyn kuva.

Ominaisuuksien dekoodaamiseksi käytämme erillisiä dekoodereita henkilölle A ja henkilölle B. Koulutamme nyt kooderin ja dekooderit (käyttämällä taustapropagaatiota) siten, että tulo vastaa läheisesti lähtöä. Tämä prosessi on aikaa vievä. GPU-näytönohjaimella kunnollisten tulosten saaminen vie noin 3 päivää. (sen jälkeen kun kuvia on toistettu uudelleen vähintään 10 miljoonaa kertaa)

Koulutuksen jälkeen käsittelemme videokuvaa kerrallaan vaihtamaan ihmisen kasvot toisten kanssa. Kasvojentunnistusta käyttämällä poistetaan ihmisen A kasvot ja syötetään se kooderiin. Sen sijaan, että syöttäisimme alkuperäiseen dekooderiin, käytämme kuitenkin henkilön B dekooderia kuvan rekonstruoimiseen. eli piirrämme henkilölle B alkuperäisen videon ominaisuudet A: lla. Sitten yhdistämme uuden luodut kasvot alkuperäiseen kuvaan.

Intuitiivisesti kooderi havaitsee kasvojen kulman, ihon sävyn, kasvoilmaisun, valaistuksen ja muut tiedot, jotka ovat tärkeitä ihmisen A rekonstruoimiseksi. Kun käytämme toista kooderi kuvan rekonstruoimiseen, piirrämme henkilöä B, mutta A-kontekstin kanssa Seuraavassa kuvassa rekonstruoidussa kuvassa on Trumpin kasvohahmot, samalla kun kohdevideon ilme säilyy.

Lähde: Derpfakes ja wikipedia

Kuva

Ennen koulutusta meidän on valmistettava tuhansia kuvia molemmille henkilöille. Voimme ottaa pikakuvakkeen ja käyttää kasvojentunnistuskirjastoa kaapiaksesi kasvokuvia heidän videoistaan. Vietä huomattavasti aikaa kasvokuvien laadun parantamiseen. Se vaikuttaa lopputulokseesi merkittävästi.

  • Poista kaikki kuvakehykset, joissa on useampi kuin yksi henkilö.
  • Varmista, että sinulla on runsaasti videomateriaalia. Ote kasvokuvat sisältävät erilaisia ​​poseeraa, kasvokulman ja ilmeitä.
  • Poista huonolaatuiset, sävytetyt, pienet, huono valaistus tai tukkeutuneet kasvokuvat.
  • Jotkut muistuttavat molempia henkilöitä voivat auttaa, kuten samanlainen kasvomuoto.

Emme halua, että automaattikooderimme muistaa harjoitustiedot ja kopioida tulosteen suoraan. Muista kaikki mahdollisuudet ei ole toteutettavissa. Esittelemme denoisingin esittelemään datavariantteja ja kouluttamaan autoenkooderia oppimaan älykkäästi. Termi denoising voi olla harhaanjohtava. Pääkonsepti on vääristää joitain tietoja, mutta odotamme, että automaattikooderi jättää huomioimatta tämän pienen poikkeavuuden ja luo alkuperäisen uudelleen. ts. muistetaan mikä on tärkeää ja jätetään tarpeettomat vaihtoehdot huomioimatta. Toistamalla harjoituksen useita kertoja, informaatiomelu poistaa toisiaan ja lopulta unohtaa. Jäljelle jäävät todelliset mallit, joista välitämme.

Kasvokuvassamme valitsemme 5 × 5 ruudukkopistettä ja siirrämme niitä hiukan pois alkuperäisestä asennostaan. Käytämme yksinkertaista algoritmia kuvan väärentämiseen niiden siirrettyjen ruudukkopisteiden mukaisesti. Jopa vääntynyt kuva ei ehkä näytä tarkalleen oikealta, mutta se on melu, jonka haluamme esitellä. Sitten käytämme monimutkaisempaa algoritmia rakentamaan kohdekuva käyttämällä siirrettyjä ruudukkopisteitä. Haluamme, että luomamme kuvat näyttävät yhtä läheltä kuin kohdekuvat.

Esimerkki 2 × 2 ruudukkopisteestä.

Vaikuttaa outolta, mutta se pakottaa autoenkooderin oppimaan tärkeimmät ominaisuudet.

Jotta erilaisia ​​poseeraa, kasvojen kulmia ja sijainteja voidaan käsitellä paremmin, käytämme kuvankorotusta myös rikastuttaaksesi harjoitustietoja. Harjoituksen aikana kiertämme, zoomaamme, käännämme ja käännämme kasvomme kuvaa satunnaisesti tietyllä alueella.

Syvän verkon malli

Otetaan lyhyt tauko havainnollistaaksesi, kuinka autoenkooderi voi näyttää. (Täältä tarvitaan jonkin verran perustietoa CNN: stä.) Kooderi koostuu viidestä konvoluutiokerroksesta ominaisuuksien purkamiseksi, mitä seuraa 2 tiheää kerrosta. Sitten se käyttää konvoluutiokerrosta kuvan näytteenottoon. Dekooderi jatkaa näytteenottoa vielä 4 konvoluutiokerroksella, kunnes se rekonstruoi 64 × 64-kuvan takaisin.

Jotta voidaan lisätä näytteestä tilaulottuvuus, sanotaan välillä 16 × 16 - 32 × 32, käytämme konvoluuttisuodatinta (3 × 3 × 256 × 512 -suodatin) (16, 16, 256) -kerroksen kartoittamiseksi (16, 16, 512) -kerrokseen. . Sitten muotoilemme sen uudelleen muotoon (32, 32, 128).

ongelmat

Älä ole liian innoissasi. Jos käytät huonoa toteutusta, huonoa kokoonpanoa tai malliasi ei ole koulutettu oikein, saat sen sijaan seuraavan videon tuloksen. (Katso ensimmäiset sekunnit. Olen kuvannut videon jo kello 3:37.)

Kasvoalue välkkyy, hämärtää verenvuotoväriä. Ja kasvojen ympärillä on ilmeisiä laatikoita. Näyttää siltä, ​​että ihmiset liittävät kuvia hänen kasvonsa raa'alla voimalla. Nämä ongelmat ymmärretään helposti, jos selitämme kuinka vaihtaa kasvot manuaalisesti.

Aloitamme kahdella kuvalla (1 ja 2) 2 naiselle. Kuvassa 4 yritämme liittää kasvot 1 tasolle 2. Ymmärrämme, että heidän kasvonsa ovat hyvin erilaisia ​​ja kasvojen leikkaus (punainen suorakulmio) on aivan liian iso. Näyttää siltä, ​​että joku asetti hänelle paperimaskin. Yritetään nyt liittää kasvot 2 tasoon 1. Kuvassa 3 käytämme pienempää leikkausta. Luomme naamion, joka poistaa osan nurkka-alueista, jotta leikkaus voi sulautua paremmin. Se ei ole hieno, mutta ehdottomasti parempi kuin 4. Mutta ihon sävy muuttuu äkillisesti raja-alueen ympärillä. Kuvassa 5 vähennämme maskin opasiteettia rajan ympärillä, jotta luodut kasvot sulautuvat paremmin. Mutta leikkauksen värisävy ja kirkkaus eivät edelleenkään vastaa tavoitetta. Joten kuvassa 6, säädämme värisävyn ja leikkauksen kirkkauden tavoitteemme mukaisiksi. Se ei ole vielä tarpeeksi hyvä, mutta ei paha myöskään pienille pyrkimyksillemme.

Syväfakeissa se luo maskin luotuihin kasvoihin, jotta se voi sekoittua kohdevideoon. Voit poistaa esineitä edelleen, voimme

  • levitä Gaussin suodatin maskin raja-alueen levittämiseksi edelleen,
  • määritä sovellus laajentamaan tai supistamaan maskia edelleen, tai
  • hallita maskin muotoa.

Jos katsot lähemmäksi vääriä videoita, saatat huomata kaksoisleuka tai haamureunat kasvojen ympärillä. Tämä on sivuvaikutus, kun yhdistetään 2 kuvaa maskin avulla. Jopa naamio parantaa laatua, hinta on maksettava. Erityisesti useimmissa väärennetyissä videoissa, joita näen, kasvot on hiukan haudattu verrattuna kuvan muihin osiin. Tasapainottaaksemme sen, voimme määrittää Deepfakes -sovelluksen teroittamaan suodattimen luotuihin kasvoihin ennen sekoittamista. Tämä on kokeilu- ja virheprosessi oikean tasapainon löytämiseksi esineiden ja terävyyden välillä. On selvää, että suurimman osan ajasta meidän on luotava hieman epäteräviä kuvia havaittavien esineiden poistamiseksi.

Jopa automaattisen kooderin tulisi luoda kasvot vastaamaan kohdeväriä, joskus se tarvitsee apua. Deepfakes tarjoaa jälkikäsittelyn säätääksesi luodun kasvon värisävy, kontrasti ja kirkkaus vastaamaan kohdevideota. Voimme myös soveltaa cv2-saumattomia kloonauksia sekoittaaksesi luodun kuvan kohdekuvan kanssa käyttämällä automaattista sävyn säätöä. Jotkut näistä pyrkimyksistä voivat kuitenkin olla haitallisia. Voimme tehdä tietyn kehyksen näyttää hyvältä. Mutta jos yliarvioimme, se voi vahingoittaa kehysten välistä ajallista tasaisuutta. Itse asiassa Deepfakesin saumaton klooni on tärkeä mahdollinen syy vilkkumiseen. Joten ihmiset sammuvat usein saumattomasti nähdäkseen, voidaanko välkkymistä vähentää.

Toinen tärkeä välähteen lähde on, että automaattikooderi ei pysty luomaan oikeita kasvoja. Tätä varten meidän on lisättävä monipuolisempia kuvia mallin kouluttamiseksi paremmin tai datan lisäyksen lisäämiseksi. Lopulta joudumme ehkä kouluttamaan mallia pidempään. Tapauksissa, joissa emme pysty luomaan oikeita kasvoja joillekin videokehyksille, ohitamme ongelmakehykset ja käytämme interpolointia luodaan poistetut kehykset.

Maamerkit

Voimme myös vääntyä luomaamme kasvot alkuperäisen kohdekehyksen kasvojen maamerkkien mukaan.

Näin Rogue One loi nuoremman prinsessa Leia-kasvot toiselle näyttelijälle.

Lähde

Parempi naamio

Aikaisemmassa pyrkimyksessä maskimme on esiasetettu. Voimme tehdä paljon paremman työn, jos naamio liittyy tulokuvaan ja luotuihin kasvoihin.

Otetaan käyttöön Generative Adversary Networks (GAN).

GAN

GAN-sovelluksessa esittelemme syvän verkon erottajan (CNN-luokitin) erottamaan, ovatko kasvot alkuperäisiä vai tietokoneen luomia. Syöttämällä todellisia kuvia tälle erottelijalle, koulutamme itse erottelijan tunnistamaan oikeat kuvat paremmin. Kun syötamme luotuja kuvia erottelimeen, käytämme sitä kouluttamaan automaattikooderiamme luomaan realistisempia kuvia. Muutamme tämän rodun, joka lopulta luodut kuvat eivät ole erotettavissa todellisista.

Lisäksi dekooderimme tuottaa kuvia sekä maskeja. Koska nämä naamarit on opittu harjoitustiedoista, se voi peittää kuvan paremmin ja luoda sujuvamman siirtymisen kohdekuvalle. Lisäksi se käsittelee osittain tukkeutuneita kasvoja paremmin. In voi väärennetyt videot, kun kädet tukkivat kasvot osittain, video voi liikkua tai haudata. Paremmalla naamarilla voimme peittää estetyn alueen luodusta kasvosta ja käyttää sen sijaan kohdekuvassa olevaa osaa.

Vaikka GAN onkin tehokas, koulutus vie hyvin kauan ja vaatii korkeampaa asiantuntemusta sen oikein tekemiseksi. Siksi se ei ole niin suosittu kuin sen pitäisi olla.

Tappio-toiminto

Uusintakustannusten lisäksi GAN lisää generaattori- ja erottelukustannukset mallin kouluttamiseen. Itse asiassa voimme lisätä lisäksi tappiofunktioita mallimme täydentämiseksi. Yksi yleinen on reunahinta, joka mittaa, onko kohdekuvalla ja luodulla kuvalla sama reuna samassa paikassa. Jotkut ihmiset tutkivat myös havainnollista menetystä. Jälleenrakennuksen kustannukset mittaavat pikselierot kohdekuvan ja luodun kuvan välillä. Tämä ei kuitenkaan välttämättä ole hyvä mittari mittaamalla kuinka aivomme havaitsevat esineet. Siksi jotkut ihmiset voivat käyttää havaintohäviötä korvaamaan alkuperäisen jälleenrakennuksen menetyksen. Tämä on aika edeltävää, joten annan harrastajalle lukea sen sijaan referenssiosan paperin. Voit analysoida edelleen vääriä videoitasi heikosti ja ottaa käyttöön uuden kustannustoiminnon ongelman ratkaisemiseksi.

Esittely

Saanen valita joitain hyvistä Deepfakes-videoista ja nähdä, voitko tunnistaa ne nyt. Pelaa sitä hidastettuna ja kiinnitä erityistä huomiota:

  • Onko se hämärtynyt verrattuna videon muihin kuin kasvoihin tarkoitettuihin alueisiin?
  • Onko se välähtää?
  • Onko ihon sävy muuttunut lähellä kasvojen reunaa?
  • Onko siinä kaksinkertainen leuka, kaksinkertaiset kulmakarvat, kaksinkertaiset reunat edessä?
  • Kun kädet tai muut esineet tukkivat kasvot osittain, liukuvatko ne tai epäselvyyteen?

Tekeessään vääriä videoita käytämme erilaisia ​​häviöfunktioita visuaalisten miellyttävien videoiden tekemiseen. Kuten Trump-väärennetyissä kuvissa näkyy, hänen kasvojensa piirteet näyttävät läheltä todellisia, mutta ne muuttuvat, jos katsot tarkemmin. Siksi, mielestäni, jos syötetään kohdevideo luokittelemaan tunnistusta varten, on olemassa suuri mahdollisuus, että se epäonnistuu. Lisäksi voimme kirjoittaa ohjelmia ajallisen sileyden tarkistamiseksi. Koska luomme kasvot itsenäisesti kehyksien yli, meidän pitäisi odottaa siirtymisen olevan vähemmän sujuvaa kuin oikeassa videossa.

Huulten synkronointi äänestä

Jordan Peelen tekemä video on yksi kovimmista, joka on tunnistettu väärennösksi. Mutta kun katsot tarkemmin, Obaman alahuuli on epäselvempi verrattuna muihin kasvojen osiin. Siksi sen sijaan, että vaihtaisin kasvot, epäilen, että tämä on todellinen Obaman video, mutta suu on valmistettu huulten synkronointiin väärennetyn äänen kanssa.

Tämän osan loppuosaan keskustelemme huulensynkronointitekniikasta, joka tehtiin Washingtonin yliopistossa (UW). Alla on huulten synkronointipaperin työnkulku. Se korvaa viikoittaisen presidentinosoituksen äänen toisella äänellä (tuloääni). Prosessissa syntetisoimme suu ja leuka-alue uudelleen, jotta sen liike on tahdissa väärennetyn äänen kanssa.

Lähde

Ensin, käyttämällä LSTM-verkkoa, audio x muunnetaan 18 huippupisteen y sekvenssiksi yssä. Tämä LSTM tulostaa harvan suunmuodon jokaiselle lähtövideopisteelle.

Muokattu lähteestä

Kun otetaan huomioon suun muoto y, se syntetisoi suun tekstuurin suuhun ja leuka-alueeseen. Nämä suun tekstuurit yhdistetään sitten kohdevideon kanssa kohdekehyksen luomiseksi:

Lähde

Joten miten luomme suun tekstuurin? Haluamme sen näyttävän todelliselta, mutta myös sujuvalta. Joten sovellus etsii kohdevideoita etsimään ehdokkaita kehyksiä, joilla on sama laskettu suun muoto kuin mitä haluamme. Sitten yhdistämme ehdokkaat yhteen käyttämällä mediaanifunktiota. Kuten alla on esitetty, jos keskiarvoistamiseen käytetään enemmän ehdokaskehyksiä, kuva hämärtyy, kun taas ajallinen sileys paranee (ei välkkymistä). Toisaalta kuva voi olla vähemmän haudattu, mutta voimme nähdä välkkymisen siirtyessäsi kehyksestä toiseen.

Lähde

Epäterävyyden kompensoimiseksi suoritetaan hampaiden parantaminen ja teroitus. Mutta tietenkin, alahuulten terävyyttä ei voida palauttaa kokonaan.

Lähde

Viimeinkin meidän on uusittava kehys, jotta tiedämme mihin väärennetty suun tekstuuri lisätään. Tämä auttaa meitä tahdistumaan pään liikkeen kanssa. Erityisesti Obaman pää lopettaa yleensä liikkumisen keskeyttäessään puheensa.

Ylärivi alla on alkuperäiset videokehykset käyttämällesi äänentoistolle. Lisäämme tämän tuloäänen kohdevideomme (toinen rivi). Kun vertaa sitä vierekkäin, huomaat, että alkuperäisen videon suun liike on hyvin lähellä valmistettua suun liikettä.

Lähde

UW käyttää olemassa olevia kehyksiä suun tekstuurin luomiseen. Sen sijaan voimme käyttää Deepfakes-konseptia suun tekstuurin luomiseen suoraan autoenkooderista. Meidän on kerättävä tuhat kehystä ja käytettävä LSTM: ää ominaisuuksien poistoon sekä videosta että äänestä. Sitten voimme kouluttaa dekooderin generoimaan suun tekstuuri.

Lisää ajatuksia

On erityisen mielenkiintoista nähdä, kuinka sovellamme AI-konsepteja luodaan uusia ideoita ja uusia tuotteita, mutta emme ilman varoitusta! Sosiaaliset vaikutukset voivat olla valtavat. Itse asiassa, älä julkaise vääriä videoita hauskanpidon vuoksi! Se voi viedä sinut juridisiin ongelmiin ja vahingoittaa online-mainetta. Tutkin tätä aihetta, koska olen kiinnostunut meta-oppimisesta ja vastakkaisista havainnoista. Käytä energiasi paremmin asioihin, jotka ovat innovatiivisempia. Toisaalta väärennetty video säilyy ja paranee. Minun tarkoituksenani ei ole tehdä parempia vääriä videoita. Toivon tämän prosessin kautta, että tiedämme kuinka GAN: ää voidaan soveltaa paremmin kuvan jälleenrakentamiseen. Ehkä jonain päivänä siitä voi olla hyötyä kasvainten havaitsemisessa.

Toisena varotoimenpiteenä ole varovainen lataamiesi sovellusten suhteen luodaksesi Deepfakes-videoita. On ilmoitettu, että jotkut sovellukset kaappaavat tietokoneita salaustoiminnan minua varten. Ole vain varovainen.

Muiden artikkeleiden luettelointi

Viite

Obama-syntetisointi: Huulinsynkronoinnin oppiminen äänestä

Saumaton kloonaus

Havainnolliset tappiot

Laajuus

Valokuvat (päähuivi, nainen)