Инструкция: Как запустить нейросеть меняющий лица актрис на видео.

"Если у вас windows 10 64x, 16gb ОЗУ, 1050ti, i7 7700. То запустится 100% без проблем.

*Для начала скачиваем и устанавливаем CUDA 8.0
Установка стандартная, после перезагружаем. Патчить ничего не надо.

*Скачиваем саму программу:

*Скачиваем ffmpeg

*ВАЖНО! ПОВТОРЯЕМ В ТОЧЬ ТОЧЬ!!!
Распаковываем FakeApp.zip в корень диск С. А так-же в корне диска С создаем папку fakes, внутри создаем папки data, data_A, data_B.
ffmpeg, распаковываем в папку FakeApp.
Получаем такую картину:
>	Этот компьютер > Локальный диск (С:)		> FakeApp		v Cj
у	А	Л Имени	Дата изменения	Тип	Размера
У		alignment	08.01.201810:48	Папка с файлами	
У	■	ffmpeg	09.01.2018 13:41	Папка с файлами	
		jre	06.01.20184:41	Папка с файлами	
		model	08.01.2018 12:26	Папка с файлами	
		fakeapp.bat	06.01
Этот компьютер > Локальный диск (С:) > fakes
л Имени data
Idata А
Дата изменения
11.01.2018 20:51 11.01.201820:51 11.01.201820:52
Тип
Папка с файлами Папка с файлами Папка с файлами
Размера,DeepFakes,нейросеть,нейронные сети,замена лиц,честно спижжено,timoil94,длиннопост,Хлоя Морец,FakeApp

*Этап подготовки видео.
Скачиваем любое видео например с Хлое Морец и теперь нужно на любом видеоредакторе нарезать участки видео с её лицом и склеить в один видеофайл.

Сохраняем нарезанное видео в качестве 720p в папку C:\fakes\data_A называем её 1.mp4

Запускаем командную строку,пишем:

C:\FakeApp\ffmpeg\bin\ffmpeg.exe -i C:\fakes\data_A\1.mp4 -vf fps=25 "C:\fakes\data_A\out%d.png"

В папке C:\fakes\data_A видим как появляются картинки, ждем завершения процесса.


После завершения удаляем в папке C:\fakes\data_A видео 1.mp4
Запускаем fakeapp.bat в папке C:\FakeApp
Выбираем Align, поле Data указываем C:\fakes\data_A
Жмем Start. ЖДЕМ ПОЛНОГО ЗАВЕРШЕНИЯ!

В папке C:\fakes\data_A появится папка aligned где все упорядочены её лица.


*ЭТАП НОМЕР ДВА
Находим видео для друга и повторяем весь процесс, только вместо data_A указываем data_B.
Главное видео для друга должно быть одно лицо, если лиц в кадре несколько, программа будет менять их все.
После того как в папке data_A и data_B появилась папка aligned с упорядоченными лицами переходим к тренировке. Этот процесс жопаболь, ибо уходит очень много времени для тренировки нейросети.
Переходим на вкладку Train
В поле Data A указываем путь  C:\fakes\data_A\aligned
В поле Data B указываем путь C:\fakes\data_B\aligned
' i FakeApp
□
X
Align	Train Merge
Paths	
Encoder	C:/fakes/encoder.h5
Decoder A:	C:/fa kes/decoder_A.h 5
Decoder B:	C:/fakes/decoder_B.h5
Data A:	C:\fakes\data_A\aligned
Data B:	C:\fakes\data_Ej\aligned
Options	
Batch Size:	64
Save Period:	100
Start,DeepFakes,нейросеть,нейронные сети

Жмем Start и ждем. Ждем. Ждеееееем. Наблюдаем как постепенно нейросеть учится и качество фото улучшается.
Если надоело ждать или качество вас устраивает, нажимаем клавишу Q, программа сохранит "весы" связей и можно будет в дальнейшем продолжить расчеты, ничего не теряется.
Нейросеть будет учиться примерно сутки на 1050ti.

Результат работы за 4 часа обучения:
ir *i
llj'4* àU f!,DeepFakes,нейросеть,нейронные сети,замена лиц,честно спижжено,timoil94,длиннопост,Хлоя Морец,FakeApp,deep fakes

Лицо выглядит пока что вот так:
T1’- ' ' .		W • / 1 V
■ V		ИУ« ■ » , -.|
K ^lüTa jVW i I		
y t *	лЧНВ,DeepFakes,нейросеть,нейронные сети,замена лиц,честно спижжено,timoil94,длиннопост,Хлоя Морец,FakeApp,deep fakes

Что радует, лицо идеально стыкуется с этой актрисой. Главное терпение!

Сшиваем готовое видео
Склеивать готовое видео не долго, по времени уходит максимум 1 час. 
Отключаем обучение нажав на клавишу Q, переходим во вкладку Merge.
В пункте Data указываем C:\fakes\data_B\aligned
В пункте Direction указываем BtoA ( что на что меняем)
Нажимаем Start. В папке C:\fakes\data_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:\fakes\data_B\merged
Выделяем все фотки из папки merged. Ставим галку "Эпизод PNG"
Жмем Импорт.
В раскадровке появится видео. Накладываем звук, экспортируем, все готово.
ой*. I </</> 1у	I	ии1 I V I I .р1 1у	иии^1	иии^1	^и1 I К/ I .' .р1 1у	иии^1^1^П^
оиН021.рпд	оиН023.рпд	оиН025.рпд	оиН027.рпд	оиН029.рпд	оиН031.рпд	оиНОЗЗ.рпд
оиН035.рпд	оиН037.рпд	оиН039.рпд	оиН041.рпд	оиНОДЗ.рпд	оиН045.рпд	оиН047.рпд
Формат:	
РЫб	
(1 диапазон	
эпизодов 1-1696)

Если в merge вылазит ошибка. Проверьте, не удалили файл alignments.json? Вот так должна выглядеть папка C:\fakes\data_B :
aligned	alignments.json	outl.png	out2.png	out3.png	out4.png
outô.png	out7.png	out8.png	out9.png	outlO.png	outll.png
out13.pnq	out14.pnq	out15.pnq	out16.pnq	out17.pnq	out18.pnq,DeepFakes,нейросеть,нейронные сети,замена лиц,честно спижжено,timoil94,длиннопост,Хлоя Морец,FakeApp,deep fakes



Примечание:
Форма черепа и лица должна быть максимально похожей. Без очков.
Можно сшивать мужские лица, главное следить за растительностью на лице, иначе сильно выделяется. "