Що таке Deepfakes і як їх створити?

Ваш персональний гід у світі діпфейків та їх створення за допомогою Faceswap.

Штучний інтелект вже не є чимось “штучним” у звичному розумінні. Він стрімко наближається до нас, людей, стаючи все більш інтегрованим у наше життя.

Він може давати поради, створювати тексти, генерувати мистецтво, а тепер – імітувати зовнішність та голос, як жива людина.

Це одні з останніх досягнень у цій сфері, які відкривають нові можливості. Проте, вони також несуть у собі певні ризики, про які слід пам’ятати.

Що таке діпфейки?

Термін “діпфейк” (deepfake) утворився від поєднання слів “глибоке навчання” (deep learning) та “підробка” (fake). Простіше кажучи, це майстерно сфабрикований медіаконтент, який може вводити в оману.

Згідно з визначенням Вікіпедії, діпфейки – це синтетичні медіа, в яких існуючі зображення, аудіо чи відео змінюються таким чином, щоб створювати ілюзію іншої особи.

Найчастіше, діпфейки змушують відомих людей говорити речі, які вони ніколи б не сказали у реальному житті.

Залежно від майстерності творця, може бути надзвичайно складно відрізнити справжній контент від підробленого.

Як працюють діпфейки?

У найпростішому поясненні, частина оригінального відео, наприклад, обличчя, замінюється на схоже, але підроблене. Цей процес можна також назвати “заміною обличчя”, як у випадку з відео про “Обаму”.

Однак, діпфейки не обмежуються лише відео. Існують також підробки зображень та аудіо (а в недалекому майбутньому, можливо, і підроблені аватари для VR).

Джерело: Disney

Методика створення таких підробок залежить насамперед від використовуваного програмного забезпечення та основного алгоритму.

Згідно з дослідженням Disney, існує кілька технік, зокрема кодери-декодери, генеративно-змагальні мережі (GAN), глибинні фейки на основі геометрії та інші.

У наступних розділах ми зосередимося на тому, як діпфейки створюються за допомогою Faceswap. Це безкоштовне програмне забезпечення з відкритим вихідним кодом, що дозволяє використовувати різноманітні алгоритми для досягнення бажаного результату.

Створення діпфейків складається з трьох основних етапів: вилучення, навчання та перетворення.

#1. Видобуток

Цей етап передбачає виявлення та виділення потрібної області з медіафайлів, як оригінального, так і того, що буде використовуватися для підміни.

Набір доступних алгоритмів для ефективного виявлення залежить від можливостей апаратного забезпечення.

Наприклад, Faceswap надає кілька варіантів вилучення, вирівнювання та маскування, які оптимізовані під можливості центрального чи графічного процесора.

Вилучення просто визначає обличчя у відеозаписі. Вирівнювання виділяє ключові елементи обличчя, такі як очі, ніс, підборіддя. Маскування блокує інші елементи зображення, залишаючи лише потрібну область.

Час, необхідний для обробки, є важливим фактором при виборі алгоритму. Використання ресурсомістких алгоритмів на слабкому обладнанні може призвести до збою або надмірно тривалого часу очікування на результат.

Крім апаратного забезпечення, вибір залежить від параметрів вхідного відео. Наприклад, чи є на обличчі перешкоди, такі як руки або окуляри.

Важливим є також очищення результату, оскільки вилучення може мати хибні спрацьовування.

Зрештою, вилучення виконується як для оригінального відео, так і для підробленого, яке використовується для заміни.

#2. Навчання

Це серце процесу створення діпфейків.

Навчання відбувається за допомогою нейронної мережі, що складається з кодера та декодера. Тут алгоритми обробляють витягнуті дані, щоб потім створити модель для перетворення.

Кодер перетворює вхідні дані у векторне представлення, а декодер відтворює обличчя з цих векторів.

Після цього нейронна мережа оцінює результати ітерацій, порівнюючи їх з оригіналом, присвоюючи оцінку втрат. Значення втрат зменшується з кожною ітерацією, і процес зупиняється, коли результат стає прийнятним.

Навчання вимагає багато часу, а результати покращуються зі збільшенням кількості ітерацій та якості вхідних даних.

Наприклад, Faceswap рекомендує використовувати щонайменше 500 зображень, як оригінальних, так і для заміни. Крім того, зображення повинні відрізнятися між собою, охоплюючи різні ракурси та освітлення для найкращого відтворення.

Враховуючи тривалість навчання, деякі програми, такі як Faceswap, дозволяють зупинити процес на півдорозі або продовжити його пізніше.

Фотореалістичність результату також залежить від ефективності алгоритму та якості вхідних даних, а також від можливостей апаратного забезпечення.

#3. Перетворення

Це фінальний етап у створенні діпфейка. Для перетворення потрібні вихідне відео, навчена модель та файл вирівнювання.

На цьому етапі можна налаштувати кілька параметрів, таких як корекція кольору, тип маски, бажаний вихідний формат тощо.

Після налаштування параметрів, залишається лише дочекатися остаточного рендерингу.

Як вже згадувалося, Faceswap працює з різними алгоритмами, дозволяючи експериментувати для досягнення бажаного результату.

Це все?

Ні!

Ми розглянули лише “заміну обличчя”, яка є підмножиною технології діпфейк. Заміна обличчя лише підмінює частину обличчя, даючи лише поверхневе уявлення про можливості діпфейків.

Для повноцінної підміни необхідно імітувати аудіо (клонування голосу) та всю фігуру, включаючи все, що потрапляє в кадр, ось так:

Тож, як це працює?

Автор діпфейка міг зняти власне відео (як це показано в кінці ролика), синхронізувати діалог із синтетичним голосом Моргана Фрімена та підмінити голову.

Отже, діпфейк – це не лише заміна обличчя, а й підміна всього кадру, включаючи аудіо.

На YouTube можна знайти безліч діпфейків, які можуть викликати страх та сумніви щодо того, чому можна вірити. Для їх створення потрібен лише потужний комп’ютер із продуктивною відеокартою.

Проте, ідеалу важко досягти, особливо у випадку з діпфейками.

Створення переконливого діпфейка, який може ввести в оману або вразити аудиторію, вимагає майстерності і від кількох днів до тижнів обробки навіть однієї-двох хвилин відео.

Дивно, наскільки ефективними стали ці алгоритми. Але те, що чекає нас у майбутньому, включно з тим, наскільки ефективно ці програми зможуть працювати на слабшому обладнанні, викликає занепокоєння урядів.

Проте, ми не будемо заглиблюватись у майбутні наслідки. Замість цього, подивимося, як зробити це самостійно для розваги.

Створення (базового) діпфейк відео

Існує багато програм для створення діпфейків, які ви можете використовувати.

Однією з них є Faceswap, яку ми будемо використовувати у нашому прикладі.

Перш ніж почати, переконаємося в деяких речах. По-перше, нам потрібно якісне відео з обличчям, яке буде мішенню, де показані різні емоції. Далі, нам знадобиться вихідне відео, яке ми будемо підмінювати на мішень.

Також, закрийте усі програми, які активно використовують графічний процесор, такі як браузери або ігри, перед запуском Faceswap. Особливо, якщо у вас менше 2 ГБ відеопам’яті (VRAM).

Крок 1: Вилучення облич

Першим кроком у цьому процесі є вилучення облич з відео. Для цього ми повинні вибрати цільове відео у вхідному каталозі і вказати вихідний каталог для вилучення.

Крім того, є кілька опцій, включаючи детектор, вирівнювач, маскувальник тощо. Пояснення кожної з цих опцій можна знайти у розділі поширених запитань Faceswap, і не має сенсу повторювати цю інформацію тут.

Джерело: Faceswap FAQ

Загалом, корисно ознайомитися з документацією для кращого розуміння і досягнення хороших результатів. Faceswap має підказки, які можна переглянути, навівши курсор на певну опцію.

Простіше кажучи, немає універсального рішення, і потрібно експериментувати з різними алгоритмами, щоб досягти переконливого діпфейка.

Для прикладу, я використовував Mtcnn (детектор), Fan (вирівнювач) та Bisenet-Fp (маскувальник), залишаючи інші параметри без змін.

Спочатку я спробував S3Fd (найкращий детектор) і кілька інших масок, але моя 2 Гб Nvidia GeForce GTX 750Ti не витримала навантаження, і процес постійно зависав.

Зрештою, мені довелося зменшити вимоги і налаштування, щоб успішно виконати цей крок.

Крім вибору відповідних детектора, маскувальника тощо, є ще кілька параметрів у меню “Параметри” > “Налаштування параметрів”, які дозволяють налаштувати окремі опції для адаптації до можливостей апаратного забезпечення.

Зокрема, виберіть найменший можливий розмір пакета, вхідний та вихідний розмір, та ввімкніть LowMem. Ці параметри не є універсальними і залежать від конкретного випадку. Також, підказки допоможуть у виборі оптимальних опцій.

Хоча цей інструмент чудово справляється з вилученням облич, у вихідних кадрах може бути більше даних, ніж потрібно для навчання моделі (розглянемо пізніше). Наприклад, він може включати всі обличчя (якщо у відео їх декілька) та хибні розпізнавання, які не є цільовими обличчями.

Тому необхідно очистити набір даних. Ви можете перевірити вихідну папку та видалити непотрібні кадри або скористатися функцією сортування Faceswap.

За допомогою цього інструмента ви можете впорядкувати різні обличчя, об’єднати потрібні в одну папку, а решту видалити.

Пам’ятайте, що ви також повинні виконати вилучення для вихідного відео.

Крок 2: Навчання моделі

Це найтриваліший етап створення діпфейка. Тут “Вхід A” – це цільове обличчя, а “Вхід B” – це вихідне обличчя. Також, каталог моделі – це місце, де будуть зберігатися навчальні файли.

Тут найважливішим є параметр “Тренер”. Існує багато варіантів з індивідуальними параметрами масштабування, але на моєму апаратному забезпеченні найкраще спрацювали Dfl-H128 та Lightweight тренери з найнижчими параметрами конфігурації.

Далі – розмір пакету. Більший розмір зменшує загальний час навчання, але споживає більше VRAM. Кількість ітерацій не є фіксованою, тому ви можете встановити високе значення і зупинити навчання, коли попередній перегляд стане прийнятним.

Є ще кілька налаштувань, зокрема, можливість створювати таймлапси через задані інтервали, але я навчав модель з мінімальними налаштуваннями.

Крок 3: Заміна обличчя в оригіналі

Це останній етап у створенні діпфейка.

Зазвичай це не займає багато часу, і ви можете експериментувати з різними опціями, щоб отримати потрібний результат.

Як показано на зображенні вище, є кілька параметрів, які потрібно налаштувати, щоб почати перетворення.

Більшість параметрів вже обговорювалися, наприклад, каталог введення та виведення, каталог моделі тощо. Одна важлива річ – це вирівнювання, яке відноситься до файлу вирівнювання (.fsa) цільового відео. Він створюється у каталозі введення під час вилучення.

Поле “Вирівнювання” можна залишити порожнім, якщо файл не був переміщений. В іншому випадку, можна вибрати файл і перейти до інших налаштувань. Але не забудьте очистити файл вирівнювання, якщо ви очистили результати вилучення раніше.

Для цього є міні-інструмент у розділі “Інструменти” > “Вирівнювання”.

Виберіть “Remove-Faces” в розділі “Job”, виберіть оригінальний файл вирівнювання та папку з очищеними цільовими обличчями, і натисніть “Alignments” внизу праворуч.

Це створить змінений файл вирівнювання, який відповідає папці оптимізованих облич. Пам’ятайте, що він потрібен для цільового відео, яке ви хочете змінити.

Інші налаштування включають корекцію кольору та тип маски. Корекція кольору впливає на змішування маски, і ви можете експериментувати, переглядати результати та вибирати оптимальний варіант.

Тип маски є важливішим параметром. Він залежить від ваших очікувань та можливостей обладнання. Також, потрібно враховувати особливості вхідного відео. Наприклад, Vgg-Clear добре працює з обличчями без перешкод, а Vgg-Obstructed може працювати з перешкодами, такими як жести рук або окуляри.

Нарешті, “Writer” пропонує кілька варіантів виведення результату. Наприклад, виберіть Ffmpeg для рендерингу відео.

Загалом, ключ до успішного діпфейка – це попередній перегляд результатів і оптимізація налаштувань з урахуванням доступного часу та потужності апаратного забезпечення.

Застосування Deepfake

Існують хороші, погані і небезпечні способи застосування діпфейків.

До хороших можна віднести відтворення історичних уроків за допомогою тих, хто там справді був для більшого залучення.

Крім того, їх використовують освітні онлайн-платформи для створення відео з текстових матеріалів.

Одним із найбільших бенефіціарів буде кіноіндустрія. З’явиться можливість показати справжню головну роль, яка виконує трюки, навіть якщо їх виконує каскадер, ризикуючи своїм життям. Крім того, створювати багатомовні фільми стане легше, ніж будь-коли.

На жаль, поганих способів застосування є багато. На сьогоднішній день, 96% діпфейків (згідно зі звітом Deeptrace) використовуються у порноіндустрії для підміни облич знаменитостей на обличчя порноакторів.

Діпфейки також використовуються проти звичайних жінок, які не є знаменитостями. Зазвичай, такі жертви мають якісні фото чи відео у своїх соціальних мережах, які використовуються для створення діпфейків.

Ще одним страшним застосуванням є вішинг, або голосовий фішинг. В одному з таких випадків генеральний директор британської компанії перерахував 243 000 доларів США за наказом “генерального директора” німецької материнської компанії, і лише потім з’ясувалося, що це був діпфейк телефонного дзвінка.

Небезпечніше є те, що діпфейки використовуються для провокування війни або вимагання капітуляції. Під час останньої спроби український президент Володимир Зеленський нібито закликав свої війська та народ здатися у війні. Однак низька якість відео швидко розкрила обман.

Загалом, існує багато способів використання діпфейків, і вони тільки починають з’являтися.

Це підводить нас до питання на мільйон доларів…

Чи є діпфейки законними?

Це залежить від місцевого законодавства. Чіткі закони, які визначають, що дозволено, а що ні, ще не сформовані.

Однак очевидно, що все залежить від того, як ви використовуєте діпфейки – від ваших намірів. Якщо ваша мета – розважити чи навчити когось, не завдаючи шкоди цільовій особі, то навряд чи це буде проблемою.

З іншого боку, шкідливі способи застосування повинні каратися законом, незалежно від юрисдикції. Ще однією “сірою зоною” є порушення авторських прав, яке потребує окремого розгляду.

Вам необхідно проконсультуватися з місцевою владою щодо законних способів використання діпфейків.

Будьте пильні!

Діпфейки використовують штучний інтелект, щоб змусити будь-кого сказати будь-що.

Не довіряйте всьому, що бачите в Інтернеті – це перша порада, якої ми повинні дотримуватися. Існує багато дезінформації, і її ефективність постійно зростає.

Оскільки створювати діпфейки стає простіше, саме час навчитися їх виявляти.