Как легко и быстро заменить лицо в любом видеоролике с помощью нейронной сети
Приветствую всех! Меня зовут Павел, и в этой небольшой инструкции я расскажу вам, как с помощью нейронных сетей бесплатно заменить лицо в любом желаемом видеоролике. Сразу уточню, что все действия будут выполняться с помощью сервиса Google Colab, а значит от вас не потребуется установка сложных программ или наличия специфичных знаний, а только точное следование инструкции.
Замена лица в видеоролике
С появлением нового алгоритма, замена лица с помощью нейронной сети стала намного проще и удобнее. Больше не требуется тратить уйму времени на нудное обучение и вырезание сотен лиц с различными вариациями мимики. Теперь для замены лица достаточно одной фотографии среднего качества и доступа к GPU от Google.
1. Регистрируем новый e-mail на сервисе Gmail. Он нам потребуется для бесплатного доступа к серверам Google.
2. Переходим на веб-адрес нейронной сети и через «Файл>Сохранить копию на диск» переносим её файлы на своё облако. Если всё прошло успешно, то нейронная сеть откроется по новому/личному веб-адресу.
3. Запускаем скрипт проверки доступности GPU. К сожалению, но алгоритму в обязательном порядке требуется наличие видеокарты, так как просчёт на процессоре занял бы слишком много времени. Если схематичная таблица с данными появилась, то поздравляю! У вас есть доступ к GPU. Если нет, то попробуйте зарегистрировать новый аккаунт.
P. S. Бесплатный доступ к GPU в Google Colab ограничен 6-12 часами, после чего потребуется 24-часовой перерыв или покупка подписки. Имейте это в виду!
4. Теперь нам необходимо клонировать репозиторий (веб-архив) нейронной сети с помощью скрипта под номером 2. Запускаем скрипт и сразу же приступаем к установке и запуску основных зависимостей с помощью скрипта под номером 3.
Внимание!
В процессе выполнения установочного скрипта могут появляться ошибки. Однако не следует беспокоиться, поскольку они не окажут влияния на качество работы алгоритма. Тем не менее, если вы увидите посреди выполнения кода кнопку Restart Runtime, то в обязательном порядке выполните перезапуск установочного скрипта под номером 3.
5. Запускаем скрипт для загрузки фотографии с лицом, которое в дальнейшем и будет вставлено в видео. Для наглядного примера была взята публичная фотография главного редактора IXBT. games.
6. В пункте ниже также запускаем скрипт и выбираем видео, в котором и будет заменено лицо актёра на лицо из фотографии. Для наглядности я выбрал концовку фильма"Человек-паук (2002)". Важно учитывать, что для правильной работы алгоритма замены лица, в кадре не должно быть более 1 актёра или их лица должны быть сокрыты.
7. Ставим галочку и запускаем скрипт выполнения алгоритма замены лица. Дожидаемся окончания работы.
В зависимости от качества и длины видео, обработка конечного файла может занять продолжительное время. В среднем 5-минутное видео занимает 15-30 минут. Пожалуйста, наберитесь терпения!
Результат
Вот, собственно, и всё! Менее чем за 8 шагов мы совершенно бесплатно и без какой-либо установки лишних программ выполнили замену лица с помощью новейшего алгоритма работы нейронной сети. Страшно подумать, какие ещё открываются просторы для такой технологии в ближайшем будущем. Но об этом как-нибудь в другой раз. Творите, уважайте свободу и ни в коем случае не предавайте себя!
Бонус
Обновление от 1 июля
Всё работает, цензуры нет!
76 комментариев
Добавить комментарий
свободные ресурсы для меня закончились на этапе установки питоновских пакетов.
Ну и вообще смысл выполнять чужие написанные скрипты.
Просто как обезьянки копи-пасту делать?
Полезный смысл подобного выполнения близок к нулю.
Я тоже не программист, но до выполнения чужих скриптов старался никогда не опускаться.
но если у вас нет «определенного оборудования» или последних версий ПО,
то, возможно, заявленное мероприятие Вам не так уж и нужно?
А программисты, кстати, «опускаются до чужих скриптов»
Операционные системы я использую по мере их надобности,
а что бы самому написать ОС потребуются тысячи и десятки тысяч человеко-часов, и наличие определенных знаний и умений.
Не говоря уже об использовании прикладного ПО, которое, кстати, обычно снабжается документацией пользователя.
https://sun9-6.userapi.com/impg/A26C2ATxxH7-lzi1gJSrbeYYOv8plw5UXDKPmA/a-3mYPqv5mg.jpg?size=1920x1080&quality=96&sign=4a1f9f4abd455bb962465853f2de57fc&type=album
____________________
Или используйте этот скрипт, но он сложнее.
https://colab.research.google.com/github/FurkanGozukara/Stable-Diffusion/blob/main/ColabNotebooks/1_click_deep_fake_for_free_by_SECourses.ipynb
а затем — как заново подключиться?
только особо лицо не изменилось
В общем на gtx 1080ti примерно 8-30fps конвертирует, давно так не смеялся, когда видишь свой фейс в фильме :D
Довольно качественные фейки.
лучше ставить в venv.
https://sun9-6.userapi.com/impg/A26C2ATxxH7-lzi1gJSrbeYYOv8plw5UXDKPmA/a-3mYPqv5mg.jpg?size=1920x1080&quality=96&sign=4a1f9f4abd455bb962465853f2de57fc&type=album
____________________
Или используйте этот скрипт, но он сложнее.
https://colab.research.google.com/github/FurkanGozukara/Stable-Diffusion/blob/main/ColabNotebooks/1_click_deep_fake_for_free_by_SECourses.ipynb
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
То подождите пару часов, так как идёт обновление репозиториев или попробуйте пару раз перезапустить скрипт!
________________
https://youtube.com/shorts/_szJO9J3Rnk
Скачивает пустой файл. Можете решить проблему?
Если в видео присутствуют например два персонажа и ты в третьей вкладке дал 2 разных фото за один раз (по отдельности не прикрепляет, только если нажмёшь прикрепить фото и в открывшемся обзоре выберешь через контрл 2 фото файла), более того нажал на галочку «swap_all_faces» в пятом пункте (без этой функции тот же самый результат)
В общем в итоге на получившемся видео будет только одно и тоже лицо и оно будет дублироваться на других персонажах от двух до +, игнорируя вторую фотографию
По итогу можно выбрать только сольную сцену с одним персонажем
Или всё таки как-то можно изменить лица всем? Ну или хотя бы двоим в одном кадре?
поясняю: при мало-мальской динамической съемке «морда» слетает, приходится практически каждый кадр по новой пихать в обработку. Т.е. при 25 Fps придется повторно скормить кадров 10-15.
Если тупо чел, которого нужно «отдипфэйкить» стоит и особо не машет своим «фэйсом» налево и направо, тогда сойдет.
tensorflow-metadata 1.14.0 requires protobuf<4.21,>=3.20.3, but you have protobuf 4.23.2 which is incompatible.
Successfully installed insightface-0.7.3 onnx-1.14.0 onnxruntime-gpu-1.15.0 opencv-python-4.7.0.72 opennsfw2-0.10.2 pillow-9.5.0 protobuf-4.23.2 tk-0.1.0 tqdm-4.65.0
WARNING: The following packages were previously imported in this runtime:
[PIL]
You must restart the runtime in order to use newly installed versions.
--2023-08-23 16:29:07-- https://huggingface.co/MonsterMMORPG/SECourses/resolve/main/inswapper_128.onnx
Resolving huggingface.co (huggingface.co)… 13.33.33.20, 13.33.33.102, 13.33.33.55, ...
Connecting to huggingface.co (huggingface.co)|13.33.33.20|:443… connected.
HTTP request sent, awaiting response… 404 Not Found
2023-08-23 16:29:07 ERROR 404: Not Foud
Ошибка скрипта! Не работает Проверьте
Файл «inswapper_128.onnx» не найден.
Скачивает пустой файл.
Скачивает пустой файл.
Файл «inswapper_128.onnx» не найден.
https://www.ixbt.com/live/sw/deepfake-bez-cenzury.html
Ответить
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
albucore 0.0.13 requires numpy<2,>=1.24.4, but you have numpy 1.23.5 which is incompatible.
chex 0.1.86 requires numpy>=1.24.1, but you have numpy 1.23.5 which is incompatible.
pandas-stubs 2.1.4.231227 requires numpy>=1.26.0; python_version < «3.13», but you have numpy 1.23.5 which is incompatible.
tensorflow-metadata 1.15.0 requires protobuf<4.21,>=3.20.3; python_version < «3.11», but you have protobuf 4.23.2 which is incompatible.
tf-keras 2.17.0 requires tensorflow<2.18,>=2.17, but you have tensorflow 2.12.0 which is incompatible.
torchaudio 2.4.0+cu121 requires torch==2.4.0, but you have torch 2.0.1+cu118 which is incompatible.
torchvision 0.19.0+cu121 requires torch==2.4.0, but you have torch 2.0.1+cu118 which is incompatible.
Successfully installed albumentations-1.3.1 gast-0.4.0 google-auth-oauthlib-1.0.0 insightface-0.7.3 keras-2.12.0 lit-18.1.8 numpy-1.23.5 onnx-1.14.0 onnxruntime-gpu-1.15.0 opencv-python-4.7.0.72 opennsfw2-0.10.2 pillow-9.5.0 protobuf-4.23.2 qudida-0.0.4 tensorboard-2.12.3 tensorflow-2.12.0 tensorflow-estimator-2.12.0 tk-0.1.0 torch-2.0.1+cu118 tqdm-4.65.0 triton-2.0.0 wrapt-1.14.1
WARNING: The following packages were previously imported in this runtime:
[PIL,numpy]
You must restart the runtime in order to use newly installed versions.
Добавить комментарий