Press "Enter" to skip to content

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.

  1. Egy kép betöltése, amellyel szembesülünk
  2. Arcátlanság
  3. 3D maszk létrehozása
  4. A videó keretekre oszlik
  5. Az arc lokalizációjának területét kiszámítják
  6. Számított szög és arckifejezés
  7. Rotációs és arckifejezések átvitele 3D-s modellen
  8. Renderelés
  9. 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:

  1. Egy kép betöltése, amellyel szembesülünk
  2. Képek betöltése, amelyekre az arcra számítunk
  3. Emberek eltávolítása
  4. A 2 képből vett felület skálázása a képen lévő arányokhoz 1
  5. 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.