Если у вас windows 10 64x, 16gb ОЗУ, 1050ti, i7 7700. То запустится 100% без проблем.
Для начала скачиваем и устанавливаем CUDA 8.0
https://developer.nvidia.com/cuda-80-ga2-download-archive
Установка стандартная, после перезагружаем. Патчить ничего не надо.
Скачиваем саму программу:
https://drive.google.com/file/d/1_D6JIZsv4JdIqydhfpXCP63HzlvnqCt6/view
Скачиваем ffmpeg https://ffmpeg.zeranoe.com/builds/
ВАЖНО! Повторяем точь в точь!
Распаковываем FakeApp.zip в корень диск С. А так-же в корне диска С создаем папку fakes, внутри создаем папки data, data_A, data_B.
ffmpeg, распаковываем в папку FakeApp.
Получаем такую картину:
Этап подготовки видео.
Я загрузил видео с интервью Хлое Морец и теперь нужно на любом видеоредакторе нарезать участки видео с её лицом.
Сохраняем нарезанное видео в качестве 720p в папку C:fakesdata_A называем её 1.mp4
Запускаем командную строку,пишем:
C:FakeAppffmpegbinffmpeg.exe -i C:fakesdata_A1.mp4 -vf fps=25 “C:fakesdata_Aout%d.png”
В папке C:fakesdata_A видим как появляются картинки, ждем завершения процесса.
После завершения удаляем в папке C:fakesdata_A видео 1.mp4
Запускаем fakeapp.bat в папке C:FakeApp
Выбираем Align, поле Data указываем C:fakesdata_A
Жмем Start. Ждем полного завершения!
В папке C:fakesdata_A появится папка aligned где все упорядочены её лица.
ЭТАП 2
Находим видео и повторяем весь процесс, только вместо data_A указываем data_B. Главное должно быть одно лицо, если лиц в кадре несколько, программа будет менять их все.
К сожалению по этническим и религиозным причинам не смогу прикрепить скриншоты.
После того как в папке data_A и data_B появилась папка aligned с упорядоченными лицами переходим к тренировке. Уходит очень много времени для тренировки нейросети.
Переходим на вкладку Train
В поле Data A указываем путь C:fakesdata_Aaligned
В поле Data B указываем путь C:fakesdata_Baligned
Жмем Start и ждем, ждем, ждем. Наблюдаем как постепенно нейросеть учится и качество фото улучшается. Если надоело ждать или качество вас устраивает, нажимаем клавишу Q, программа сохранит “весы” связей и можно будет в дальнейшем продолжить расчеты, ничего не теряется.
Нейросеть будет учиться примерно сутки на 1050ti.
Что радует, лицо идеально стыкуется с этой актрисой. Главное терпение!
Сшиваем готовое видео
Склеивать готовое видео не долго, по времени уходит максимум 1 час.
Отключаем обучение нажав на клавишу Q, переходим во вкладку Merge.
В пункте Data указываем C:fakesdata_Baligned
В пункте Direction указываем BtoA ( что на что меняем)
Нажимаем Start. В папке C:fakesdata_B появится папка merged с изображениями где лица заменены. Теперь нужно картинки превратить в видеозапись. Есть два способа
Способ 1й
Пример команды:
ffmpeg -i папка/название_секвенции_%05d.jpg -r [FPS, например 25] -c:v libx264 -q:v 2 output.mp4
Склеит секвенцию из папки “папка” с кадрами названия “название_секвенции_00001.jpg”, т.е с пятью цифрами. Если хочется добавить звуковую дорожку, то следует дописать вот так:
ffmpeg -i папка/название_секвенции_%05d.jpg -i название_дорожки.wav -r [FPS, например 25] -c:v libx264 -q:v 2 output.mp4
Расширение картинок может быть любым, а не только jpg, тоже самое со звуком.
Вытащить дорожу из видео можно с помощью того же ffmpeg’a
ffmpeg -i название_видео.mp4 -b:a 320k выходная_дорожка.mp3
Получим mp3шку с 320к битрейтом
Способ 2й.
Запускаем Adobe After Effects.
Файл – Импорт – Файл…
Переходим в папку C:fakesdata_Bmerged
Выделяем все фотки из папки merged. Ставим галку “Эпизод PNG”
Жмем Импорт.
В раскадровке появится видео. Накладываем звук, экспортируем, все готово.
Если в merge вылазит ошибка. Проверьте, не удалили файл alignments.json? Вот так должна выглядеть папка C:fakesdata_B:
Примечание:
Форма черепа и лица должна быть максимально похожей. Без очков.
Можно сшивать мужские лица, главное следить за растительностью на лице, иначе сильно выделяется.
По материалам SafeReactor. Автор Good_Man.