Подмена лица в DeepFace 2.0
SecurityВсем привет! С выходом второй версии подмена лица стала сделать куда легче.
Скачиваем DeepFace
Основные файлы и ссылки для скачивания находятся на официальном GitHub репозитории, а также на форуме посвящённом deepface.
Важно! Если у вас НЕ: NVIDIA RTX 3000 series или RTX 2080Ti, то тогда используйте обработку через DirectX12. Настоятельно рекомендуется использование карт NVIDIA.

Установка DeepFace
Открываем необходимый в вашем случае файл и распаковываем его.

После распаковки мы видим большое количество bat файлов. Они то и понадобятся нам для создания deepface'а.

Использование DeepFace
- В папке «Workspace» находятся несколько видео файлов. Меняем их на нужные нам, после меняя название.

2. После чего выходим на одну папку назад и открываем первый bat файл под названием «extract images from video data_sec.bat»

Далее, после открытия командной строки жмём Enter несколько раз. И видим такую картину:

После завершения работы скрипта, нужно будет нажать на любую кнопку.
3. По такому же принципу запускаем второй bat файл «extract images from video data_src.bat».

И ожидаем завершение работы скрипта.

4. Запускаем третий bat файл под названием «extract images from video data_dst FULL FPS»

Также ждем окончания работы скрипта и продолжаем дальше.
5. Запускаем bat файл под названием «data_src faceset extract» , где пишем «wf»

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

Выбираете нужную вам видеокарту путём ввода обозначающей её цифры и нажимаете Enter.
На следующий вопрос отвечаем «n» и жмём Enter.

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

6. Далее открываем файл под названием «data_src view aligned result» и просматриваем весь отсканированный материал.


Далее закрываем программу и приступаем к следующему шагу.
7. Открываем файл «data_dst faceset extract»

Снова вводим «wf» и выбираем видеокарту. Ждём.

После окончания работы скрипта приступаем к следующему этапу.
8. Запускаем файл «data_dst view aligned results»

И снова просматриваем отсканированный материал.

Далее закрываем и переходим к шагу 9
9. Нужно запустить bat файл «XSeg) data_dst mask for XSeg trainer - edit»

Далее, после открытия программы жмём на вот эту кнопку и начинаем обводить контур лица.



Таким образом делаем не на всех фото. Но желательно на всех, где есть разная проекция.
10. Далее открываем файл «XSeg) data_src mask for XSeg trainer - edit»



11. Далее открываем файл «»

Выбираем видеокарту и продолжаем дальше. Вводим «wf» и также продолжаем дальше. Ждём окончания работы скрипта.

Начнется процесс обработки. Он может занять продолжительное время.

12. Далее запускаем этот файл «XSeg.optional) trained mask for data_dst - apply»

Снова выбираем видеокарту. И ждём окончания работы скрипта.

13. Открываем файл под названием «XSeg.optional) trained mask for data_src - apply»

Здесь все действия аналогично шагу 12.

14. Дальше запускаем файл «XSeg) data_src mask for XSeg trainer - edit»

Открываемся уже знакомая нам программа .
Нажимаем сюда:

Листаем и смотрим корректность маски

15. Далее открываем файл «XSeg) data_dst mask for XSeg trainer»

И повторяем все действия аналогично шагу 14.

16. Далее открываем «XSeg) train»

Снова выбираем видеокарту и нажимаем Enter.

Снова ждем окончания работы скрипта.

Также нужно будет подождать обработку.
17. Далее открываем «XSeg.optional) trained mask for data_sec - apply»

Опять нужно выбрать видеокарту. Выбираем и нажимаем Enter.

Ждём окончания и приступаем к следующему шагу.
18. Далее снова закусаем «XSeg) data_src mask for XSeg trainer - edit»

И просматриваем маски на целостность.

19. Далее запускаем «train SAEHD»

После открытия командной строки пишем сначала «new», а дальше выбираем видеокарту. На все остальные вопросы отвечаем нажатием Enter

Но на этот вопрос отвечаем «wf»

После того как вопросы закончатся, ждём завершения обработки


20. Запускаем «merge SAEHD»
После запуска скрипта, на все вопросы снова отвечаем нажатием Enter.
Далее используя вот эту подсказу, продолжаем подстройку лица под новую картинку.



После окончания нажимаем «Esc» и продолжаем дальше.
21. Далее необходимо открыть «merged to mp4»

Идёт сборка. Ожидаем её окончания.

И вот результат


В общем-то это всё. Таким образом можно изменять лица людей в разных видеороликах.
Внимание! Использование deepface настоятельно рекомендуется на видеокартах NVIDIA. Автор статьи, пробуя всё это у себя, столкнулся с невозможностью завершить процесс. Видеокарта «AMD RX570 8gb» с установленной Windows 10 LTSC 64bit на борту.
Вот ссылка на этот же гайд, только в формате видео
Вот несколько примеров использования Deepface 2.0 с официального YouTube канала.