Создаём фейковые видео при помощи нейронной сети

JERS

New member
Всем привет, дорогие друзья. Сегодня не такой уж отличный день, но не смотря на это, я подогнал для вас действительно годную плюшку. Я вас научу создавать фейковые видосы при помощи нейронной сети. Погнали?

О чём идёт речь?
Возможно, кто-то из вас видел видео с детьми, у которых лицо Илона Маска.

Есть ещё много других подобных видео, но что самое удивительное, это то, что нейронная сеть научилась создавать другие версии сюжета этих же видео.



Как создать такое же?
Для синтеза дипфейка мы будем использовать популярную библиотеку. Важно понимать, что на качество результата влияет множество свойств исходных файлов (разрешение и длительность видеофайлов, разнообразность мимики персонажей, освещение и т. д.).

Системные требования для DeepFaceLab
Минимальные системные требования для работы с инструментом:

  • ОС Windows 7 или выше (64 бит).
  • Процессор с поддержкойSSE-инструкций.
  • Оперативная память объемом не менее 2 Гб + файл подкачки.
  • OpenCL-совместимая видеокарта (NVIDIA, AMD, Intel HD Graphics).
Рекомендуемые системные требования:
  • Процессор с поддержкойAVX-инструкций.
  • Оперативная память объемом не менее 8 Гб.
  • Видеокарта NVIDIA с объемом видеопамяти не менее 6 Гб.
Установка DeepFaceLab
Имеются три вида прекомпилированных сборок для ОС Windows:

  • DeepFaceLabCUDA9.2SSE– для видеокарт NVIDIA (вплоть до GTX1080) и любых 64-битных CPU.
  • DeepFaceLabCUDA10.1AVX– для видеокарт NVIDIA (вплоть до RTX) и CPU с поддержкой.
  • DeepFaceLabOpenCLSSE– для видеокарт AMD/IntelHD и любых 64-битных CPU.
Файлы доступны наи(требуется VPN, форум трекера также пригодится в случае трудностей при установке и запуске). Размер сборок – порядка 1 Гб. На Google Drive также хранятся оформленные подборки лиц для теста.

Алгоритм работы с DeepFaceLab
Предварительно договоримся о терминологии:

  • src(сокр. от англ. source) – лицо, которое будет использоваться для замены,
  • dst(сокр. от англ. destination) – лицо, которое будет заменяться.
Архив сборки нужно распаковать как можно ближе к корню системного диска. После распаковки в каталоге DeepFaceLab вы найдете множество bat-файлов.



Местом хранения модели служит директорияworkspace. В ней будут содержаться видео, фотографии и файлы самой программы. Вы можете переименовывать каталог для сохранения резервных копий.
Как вы могли заметить, bat-файлы имеют в начале имени номер. Каждый номер соответствует определенному шагу выполнения алгоритма. Некоторые пункты опциональны. Пройдемся по этой последовательности.

1. Очистка рабочего каталога
На первом шаге запуском1) clear workspace.batи нажатием пробела очищаем лишнее содержимое папкиworkspace. Одновременно создаются необходимые директории.
Сразу после распаковки вworkspaceуже содержатся примеры видеороликов для теста. В соответствии с описанной терминологией вы можете заменить их видеофайлами с теми же названиямиdata_srcиdata_dst. Максимально поддерживаемое разрешение – 1080p. Приведенные в документации примеры расширений файлов: mp4, avi, mkv.

2. Извлечение кадров из видеофайла источника
На втором шаге извлекаем изображения изsrc-файла (2) extract images from video data_src.bat). Для этого запускаем bat-файл, получаем приглашение для указаниякадровой частоты:




Пропускаем пункт, нажав Enter, чтобы извлечь все кадры.



В формат png файлы извлекаются без потерь качества, но на порядок медленнее и с большим объемом, чем в jpg. После задания настроек кадры извлекаются в каталогdata_src.

3. Извлечение кадров сцены для переноса лица
При необходимости обрезаем видео с помощью3.1) cut video (drop video on me).bat. Перетаскиваем файлdata_dstповерх bat-файла. Указываем временные метки, номер дорожки (если их несколько), битрейт выходного файла. Появляется дополнительный файл с суффиксом_cut.
Запускаем3.2) extract images from video data_dst FULL FPS.batдля извлечения кадров dst-сцены.

4. Составление выборки лиц источника
Теперь необходимо детектировать лица наsrc-кадрах. Получаемая выборка будет храниться по адресуworkspacedata_srcaligned. Этому пункту соответствует множество bat-файлов, начинающихся с4) data_src extract facesи имеющих разные дополнения после:

  • Тип детектора лица:MT– чуть более быстрый, но производит больше ложных лиц илиS3FD– рекомендованный,.
  • Вариант использования GPU:ALL(задействовать все видеокарты),Best(использовать лучшую). Выбирайте второй вариант, если у вас есть и внешняя, и встроенная видеокарты, и вам нужно параллельно работать в офисных приложениях.
  • Запись работы детекторов (DEBUG). Каждый кадр с выделенными контурами лиц записывается по адресуworkspacedata_srcaligned_debug.
Пример вывода программы при запуске на видеокарте NVIDIA GeForce 940MX:



Bat-файл с параметром MANUAL применяется для ручного переизвлечения уже извлеченных лиц в случае ошибок на этапе4.2.other) data_src util add landmarks debug images.bat.

4.1. Удаляем большие группы некорректных кадров
Запускаем4.1) data_src check result.bat, просматриваем результаты в обозревателе(при закрытии запускайте этот bat-файл).



На этом этапе необходимо удалить большие группы некорректных кадров, чтобы далее не тратить на них вычислительный ресурс. К некорректным кадрам относятся все те, что не содержат четко различимого лица. Лицо также не должно быть закрыто предметом, волосами и пр. Не тратьте время на мелкие группы. Они будут удалены на следующем шаге.

4.2. Сортировка и удаление прочих некорректных кадров
Файлы с именами, начинающимися с4.2, служат для сортировки и выявления групп некорректных кадров. Не закрывая обозреватель, последовательно запускайте bat-файлы и удаляйте группы некорректных кадров (обычно находятся в конце).

  • 4.2.1) data_src sort by blur.batсортирует кадры по резкости, удаляем кадры с нечеткими лицами.
  • 4.2.2) data_src sort by similar histogram.batгруппирует кадры по содержанию, позволяет удалять ненужные лица группами.
  • 4.2.4) data_src sort by dissimilar histogram.batоставляет ближе к концу списка те изображения, у которых больше всего схожих (обычно это лица анфас). По усмотрению можно удалить часть конца списка, чтобы не проводить обучение на идентичных лицах.
  • Опционально:4.2.5) data_src sort by face pitch.batсортирует лица так, чтобы в начале списка лицо смотрело вниз, а в конце – вверх.
  • Опционально:4.2.5) data_src sort by face yaw.batсортирует лица по взгляду слева направо.
  • Рекомендованный пункт:4.2.6) data_src sort by final.batделает финальную выборку целевого количества (по умолчанию 2000). Применяйте только после очистки набора предыдущими инструментами.
Дополнительные сортировочные bat-файлы, названия которых начинаются с4.2.other, сортируют изображения по количеству черных пикселей, числу лиц в кадре (нужны кадры только с одним лицом) и т. д.

5. Составление выборки лиц принимающей сцены
Следующие операции с некоторыми отличиями идентичны выборке лиц источника. Главным отличием является то, что для принимающей сцены важно определитьdst-лица вовсехкадрах, содержащих лицо, даже мутные. Иначе в этих кадрах не будет произведено замены на источник.
Опция+manual fix
 

gingerr

New member
только поравзлекатся, зачем ещё это может быть нужно я хз
 
Яндекс.Метрика
Сверху