Hogyan lehet mélyíteni
Deepfake csinálja magát [1. rész]
Annak ellenére, hogy az internet örömei vannak, sok mínusz van, és az egyik legszebb az emberek bevezetése a zavarban. Klikbeit, fotók telepítése, hamis hírek – Mindezek az eszközöket aktívan használják a közönséges felhasználók megtévesztésére a globális hálózatban, de az utóbbi években egy új potenciálisan veszélyes eszköz lendületet kap, mint a mélyfájdalom.
Nemrég érdekel ez a technológia. Először megtudtam az “AI konferencia” egyik előadójából. Volt egy videó, amelyben az algoritmus algoritmusa a Barack Obama fellebbezésével videót készített. Link az ehhez a technológiával létrehozott videó kiválasztásához. Az eredményeket erősen inspiráltam, és úgy döntöttem, hogy jobban foglalkozném ezzel a technológiával annak érdekében, hogy ellensúlyozzák őt a jövőben. Ehhez úgy döntöttem, hogy deepfake-t írok a c # -ben. Ennek eredményeként ilyen eredményt kapott.
Élvezd az olvasást!
Általános elvek
A kiindulási pont ez lett. Pontosan megtanultam tőle, hogyan működik a videó arcának cseréjével.
- Egy kép betöltése, amellyel szembesülünk
- Arcátlanság
- 3D maszk létrehozása
- A videó keretekre oszlik
- Az arc lokalizációjának területét kiszámítják
- Számított szög és arckifejezés
- Rotációs és arckifejezések átvitele 3D-s modellen
- Renderelés
- A valódi arc cseréje a renderelés eredményétől
Videó a “Faceswap” projekt munkájának bemutatásával:
Úgy döntöttem, hogy 3 részre osztom a munkát:
1.) Az arc cseréje az egyik fotó arcát a másiktól, 3D maszk használata nélkül
2.) csere cseréje 3D maszk segítségével
3. videofeldolgozás
Az arc cseréjét a fényképen lebomlik a következő elemekre:
- Egy kép betöltése, amellyel szembesülünk
- Képek betöltése, amelyekre az arcra számítunk
- Emberek eltávolítása
- A 2 képből vett felület skálázása a képen lévő arányokhoz 1
- Az arc cseréje az 1. képen az arcon a 2. képen
Egy kép beágyazása a másikba
Az első, amelyhez elkezdtem dolgozni, az, hogy egy képet beágyazzon egy másikra. Ahhoz, hogy bemutassák az eredeti projektben használt beágyazást
Ennek eredményeként létrejön a “Hab” fájl, ahol a szem beágyazódik a kezébe.
Ez az algoritmus 2 részből áll, az első átadja a színt a területről a forrás képével, a beilleszteni kívánt személyt. A második teszi a kép széleit a szükséges arcát átlátszó, csökkentve az átláthatóságot, mivel megközelítik a képközpontot.
Az első rész teljesen átkerült az eredeti projektből.
Kód a pythone-on
Kódot a C # -ra
A szélekhez átláthatóbbak voltak, mint a kép központi része, az alfa-csatorna kiszámításához a következő típusú sugárirányú alapvető funkciót vezették be:
A k és az n empirikusan választották.
I – Pixel index az ox tengelyen
J – Pixel index az OY tengelyen
– az X komponens képközpontja
– komponens Y Center Image
Ennek eredményeként a következő eredményt kaptam:
Arckifejezés
Az arc keresése a fotóban sok algoritmus van:
- Algoritmus Viola-Jones (Cascades Haar)
- HOG + SVM
- R-CNN
- Gyors r-cnn
- Gyorsabb r-cnn
- Yolo
Kezdetben a Viola-Jones algoritmust használta, de nem volt elég pontos, t.Nak nek. Nem pontosan kiemelt személyek. Az egyik személy kisülési területe nem egybeesett a második elosztásának régiójával, mivel a csere hibáival történt, egy példa az algoritmus segítségével az algoritmus segítségével. Személyek áthelyezhetők, t.E. Egy képben mindkét fülét rögzíti, a másikra csak egy. Az ilyen hibák nagyon rosszul érintette a végeredmény (a képen munka DLIB, az előző könyvtár nem mindig találni egy személyt, de sajnos a screenshotok nem őrzi).
Ezután úgy döntöttem, hogy a DLIB könyvtárból álló tereptárgyakat használok. Talált Dlibdotnet, amely írva van .Nettó mag. A B. használatához .A nettó keret létrehozása közbenső projektet hoztak létre .Nettó szabvány alapvető funkciókkal, arcot találni és kiemelve a tereptárgyakat.
Kód a c #
Ezután egy könyvtárat írtam .Nettó keret, amelyben minden logikát végrehajtottam.
Példa a langmarkok megszerzésére:
Az a személy lehet megkülönböztetni pontosabban megtalálni a bal bal, jobb felső és alsó pont és az épület egy keretet biztosít számukra.
Ezután az arc kivágtuk a kép jobb alsó sarkában, és ki használja a fenti algoritmusnak, a képen: „Caballero De La Mano HU El Pecho”.
A következő eredményt kaptuk.
A következő cikkben tervezek mérlegelni egy 3D-s fotómaszk létrehozását.
Comments are closed, but trackbacks and pingbacks are open.