Без сомнения, Deepfake - одна из самых сексуальных технологий нашего времени. Как насчет того, чтобы попробовать это самостоятельно?

ТАК ЧТО ТАКОЕ ГЛУБОКОЕ?

Deepfakes (портмоне слов глубокое обучение и фальшивка [1]) - это синтетические медиа [2], в которых человек на существующем изображении или видео заменяется на чужое подобие. Хотя подделка контента не нова, дипфейки используют мощные методы машинного обучения и искусственного интеллекта для манипулирования или создания визуального и аудиоконтента с высоким потенциалом обмана. [3] Основные используемые методы машинного обучения для создания дипфейков основаны на глубоком обучении и предполагают обучение генеративных нейросетевых архитектур, таких как автокодировщики [3] или генеративные состязательные сети (GAN). [4] [5], говорит Википедия.

У меня для вас шокирующие новости. Вы также можете сделать это на своем домашнем компьютере. Да, звучит интересно, правда? Тогда перейдем к руководству!

ШАГ 1: ЗАГРУЗКА

  • Прежде всего, нам нужно попасть на страницу Github этого проекта.

Https://github.com/iperov/DeepFaceLab

  • При прокрутке вниз вы увидите раздел «Релизы». Подберите для себя наиболее подходящий вариант. Для загрузки я использовал торрент-клиент.

  • Вам не нужно загружать их все. Загрузите только тот, который подходит для ваших видеокарт. У меня RTX 2060, и я скачал NVIDIA-up-to-RTX2080Ti.

  • Когда процесс загрузки будет завершен, дважды щелкните и нажмите «Извлечь». Теперь мы готовы творить чудеса!

ШАГ 2: ПЕРЕД НАЧАЛОМ

  • Эта страница приветствует вас. К этому лучше привыкнуть, потому что ты будешь проводить здесь все свое время. Вы будете лучшими друзьями! В папке «Рабочая область» вы будете творить чудеса. Все начинается здесь.

  • Два видео в формате .mp4 с названиями «data_dst» и «data_src» приветствуют вас при входе в папку «Workspace». Эти два видео являются видео по умолчанию, и вы можете сразу приступить к работе с ними. Я пробовал использовать эти два видео, но потом заменил их новыми, когда работал над новыми проектами. Вот почему эти два видео на фото под этим текстом не являются видео по умолчанию. Я их туда положил.

«Data_src» (источник) - ваше исходное видео.

«Data_dst» (пункт назначения) - это ваше целевое видео.

Наборы лиц из видео data_src будут извлечены, и они будут заменены лицом в видео data_dst.

Требования к исходному и целевому видео

  • Высокое разрешение (лучше всего 4K WebM, ниже 1080p не рекомендуется)
  • Лица, расположенные не слишком далеко от камеры и беспрепятственные
  • Множественные углы, выражения лица
  • Ярко и равномерно освещен
  • Лица должны несколько совпадать (борода, шляпа, волосы, цвет кожи, форма, очки).
  • Требуется как минимум 2 минуты видео хорошего качества. Видео с интервью работают хорошо.

(https://pub.dfblue.com/pub/2019-10-25-deepfacelab-tutorial)

НЕБОЛЬШОЕ ПРИМЕЧАНИЕ ОТ АВТОРА

Вы должны назвать видео, с которыми будете работать, «data_src» и «data_dst». Это очень важный момент. Вы можете создать новую папку и поместить в нее свои старые данные, источник и видео результатов. Мой вам совет: не удаляйте их, потому что их хорошо скомпилировать, и вы можете вернуться и посмотреть свои старые проекты и их материалы.
Кроме того, просто нажмите «Очистить рабочее пространство», когда начнете новый проект. Все будет готово к работе. Единственное, что вам нужно сделать, это затем поместить видео «data_src» и «data_dst» в рабочую область.

ШАГ 3: РЕБЯТА, ПРИСТЯНИТЕ РЕМНИ БЕЗОПАСНОСТИ. МЫ НАЧИНАЕМ!

Что вам нужно сделать:

  • 2) извлечь изображения из видео data_src (он извлекает изображения из data_src) (нажмите «Enter» несколько раз, чтобы использовать настройки по умолчанию.)

  • 3) извлечь изображения из видео data_dst ПОЛНЫЙ FPS (он извлекает изображения из «data_dst») (нажмите «Enter» несколько раз, чтобы использовать настройки по умолчанию.)
  • 4) data_src faceset extract (он извлекает наборы лиц из data_src. Видите? Это не ракетостроители!)

  • 4.1) data_src просмотр выровненного результата (Здесь вы можете увидеть свои результаты. Для достижения наилучших результатов удалите ненужные фотографии, которые не соответствуют нашим критериям, перед началом тренировки. Например, неправильно распознанные лица, искаженные изображения, так далее.)

  • 5) извлечение набора лиц data_dst (извлекает наборы лиц из data_dst) (аналогично шагу 4)

  • 5.1) data_dst просмотреть согласованные результаты ( Вы можете увидеть свои результаты здесь. Для достижения наилучших результатов удалите ненужные фотографии, которые не соответствуют нашим критериям, перед началом сеанса обучения. Например, неправильно распознанные лица, искаженные изображения, и т. д.) (то же, что и в шаге 4.1)

  • 5.XSeg) data_dst mask - изменить

Теперь это критический момент. В этой главе мы вручную замаскируем лица. Мы должны тщательно выполнять маскировку. Если вы замаскируете неправильно или небрежно, получите раздражающий результат. Я сделал процесс маскировки немного небрежным и включил волосы человека в нескольких местах. Это дало разочаровывающий результат. Фото поставлю в конец.

  • 5.XSeg) data_src mask - изменить

Мы делаем тот же процесс снова для нашего исходного видео. То же, что и на предыдущем шаге.

  • 5.XSeg) поезд

Пришло время приступить к обучению нашей модели XSeg. Когда вам будет предложено ввести тип лица, напишите «wf» и начните тренировку, нажав Enter. Начинается захватывающая часть!

Во-первых, давайте договоримся об этом:

БОЛЬШЕ ИТЕРАЦИЙ = ЛУЧШИЙ РЕЗУЛЬТАТ

Я предлагаю вам иметь минимум 10 000 Iters. Конечно, могло быть и больше. Потому что то, что мы только что сказали, БОЛЬШЕ ИТЕРАЦИЙ = ЛУЧШИЙ РЕЗУЛЬТАТ.

Когда вы скажете «ОК», этого достаточно, вы можете нажать «Ввод» и завершить обучение модели. Давай продолжим.

  • 5.XSeg) обученная маска data_dst - применить (мы применяем нашу обученную модель)
  • 5.XSeg) обученная маска data_src - применить (мы применяем нашу обученную модель)
  • 5.XSeg) data_src mask - edit ( Мы проверяем результат, снова маскируем плохие результаты, чтобы получить лучший результат )
  • 5.XSeg) data_dst mask - edit ( Мы проверяем результат, снова маскируем плохие результаты, чтобы получить лучший результат )

  • 5.XSeg) train (После повторной настройки мы тренируемся еще раз. Если вы не выполняли никаких изменений, вам не нужно переучиваться.)
  • 5.XSeg) обученная маска data_dst - применить (мы применяем повторно обученную модель так же, как и на предыдущих шагах.)
  • 5.XSeg) обученная маска data_src - применить ( Мы применяем повторно обученную модель так же, как и на предыдущих шагах.)

И МАГИЯ НАЧИНАЕТСЯ!

В качестве последнего шага;

6) поезд SAEHD

Щелкаем и начинаем обучение нашей модели. Убедитесь, что выполнено не менее 100 000 итераций. Чем больше, тем лучше. При желании вы можете сделать 500 000 или 1 000 000 итераций. Но чем больше, тем лучше результат! Когда вы скажете «ОК, хватит», нажмите клавишу «Ввод» и завершите тренировку.

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

ШАГ 4: К ФИНАЛУ

Мы подошли к концу.

  • 7) объединить SAEHD

И вы увидите интерактивный экран.

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

ШАГ 5: ТОРЖЕСТВЕННЫЙ ФИНАЛ!

8) объединено в mp4

Щелкните по нему, и вы увидите свой результат. Полученный результат будет ждать вас в папке «Workspace» с именем «result.mp4». Вы можете поделиться своими результатами с друзьями и близкими, в Интернете или со мной!

Надеюсь, этот урок будет вам полезен. Вы можете задать мне вопросы в любое время.

Вы можете связаться со мной по:

LinkedIn: https://www.linkedin.com/in/mehmet-emin-masca-359812207/

Электронная почта: [email protected]