Как легко и быстро заменить лицо в любом видеоролике с помощью нейронной сети

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Гайд | ИИ, сервисы и приложения

Приветствую всех! Меня зовут Павел, и в этой небольшой инструкции я расскажу вам, как с помощью нейронных сетей бесплатно заменить лицо в любом желаемом видеоролике. Сразу уточню, что все действия будут выполняться с помощью сервиса 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 июля

Всё работает, цензуры нет!

Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе
Связь: https://t.me/Pavel_Priluckiy | https://vk.com/ustavchiy.

76 комментариев

87638502@vkontakte
Спасибо Василию за наводку на Github проекта, а также неизвестному автору на пикабу. Гайд дополнен и адаптирован для ixbt/live.
87638502@vkontakte
Тааак, где там фотографии моей бывшей…
87638502@vkontakte
Поправил косяки, дополнил инструкцию.
С
Пробовал подобное на гугл-лабе запускать,
свободные ресурсы для меня закончились на этапе установки питоновских пакетов.
Ну и вообще смысл выполнять чужие написанные скрипты.
Просто как обезьянки копи-пасту делать?
Полезный смысл подобного выполнения близок к нулю.
87638502@vkontakte
Вы не перепутали тему? Здесь же не гайд по написанию скриптов на Python, а использование нового умного алгоритма замены лица в удобном автоматизированном виде. Тема не для программистов, а побаловаться. Лично я до безумия благодарен создателю скрипта, ибо моя любовь из молодости вновь ожила!
С
Что помешало поставить пакет на локальный комп?
Я тоже не программист, но до выполнения чужих скриптов старался никогда не опускаться.
87638502@vkontakte
Все устанавливаемые зависимости доступны в режиме реального времени, в них нет ничего ужасного. Установка на локальный ПК требует наличия определённого оборудования и последних версий Microsoft Visual Studio. В материале же представлен универсальный способ без какой-либо привязки.
С
Павел, я вас понял,
но если у вас нет «определенного оборудования» или последних версий ПО,
то, возможно, заявленное мероприятие Вам не так уж и нужно?
87638502@vkontakte
У меня горит дом, но нет огнетушителя. Почему я не могу вызвать пожарных? Смекаете?
С
Ну, если Вы не можете заработать себе на компьютер, или купить огнетушитель домой — мне остается только развести руками!
87638502@vkontakte
Странный вы человек. Вот у вас мощный ПК с топовой видеокартой амд, но вам потребовалась на 1 задачу карта нвидиа, вы побежите в магазин тратить 999$ на новую карту?
NoName.Man
И операционную систему себе сам написал, и все приложения?
А программисты, кстати, «опускаются до чужих скриптов»
С
Не следует так гипертрофировать!
Операционные системы я использую по мере их надобности,
а что бы самому написать ОС потребуются тысячи и десятки тысяч человеко-часов, и наличие определенных знаний и умений.
Не говоря уже об использовании прикладного ПО, которое, кстати, обычно снабжается документацией пользователя.
М
пустой файл перезагрузка не помогает
l
Как на амд заставить работать?
87638502@vkontakte
Работает на всём.
l
Удалось только одно видео сгенерировать, остальные скачиваются с размером 0байт
87638502@vkontakte
Отключитесь от среды выполнения и подключитесь заново.
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
180483049@vkontakte
— нажать отключиться от среды выполнения и удалить ее,
а затем — как заново подключиться?
180483049@vkontakte
все норм, спасибо
только особо лицо не изменилось
1
Извините, не подскажите ламмеру похожий сервис для обычных фотографий? Или можно как адаптировать эту инструкцию?
87638502@vkontakte
Всё довольно просто. Скачайте любой видеоредактор и вложите туда фото, растяните фотографию в дорожке редактора и сделайте видео, в итоге получится статичное видео с одной картинкой и можно смело заменять лицо.
m
Тут получше будет: https://github.com/s0md3v/roop
87638502@vkontakte
Так это она и есть, но только в гугл колабе.
grebnebo
эта не завелась, проблемы с зависимостями. в колабе форк https://github.com/Obnovlator3000/roop
В общем на gtx 1080ti примерно 8-30fps конвертирует, давно так не смеялся, когда видишь свой фейс в фильме :D
Довольно качественные фейки.
лучше ставить в venv.
111391120088663134908@google
Скачивается видео 0 байт. Подключался заного, не помогло(
87638502@vkontakte
Отключитесь от среды выполнения и подключитесь заново.
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
v
Ура, наконец-то я смогу поменять собственное лицо на видосе с выпускного!
87638502@vkontakte
Звучит грустно, но я рад, что смог помочь x_X.
87638502@vkontakte
Если у вас ошибка
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
То подождите пару часов, так как идёт обновление репозиториев или попробуйте пару раз перезапустить скрипт!
87638502@vkontakte
Все те у кого ошибки, внимательнее следуйте гайду. Проверено 6 июня, всё работает!
________________
https://youtube.com/shorts/_szJO9J3Rnk
В
Скажите пожалуйста, а куда пропали несколько скриптов и буду ли они восстановлены?
87638502@vkontakte
Код новый и может меняться. Постараюсь следить за изменениями.
l
Файл «inswapper_128.onnx» не найден.
Скачивает пустой файл. Можете решить проблему?
E
Проверил сегодня.Все так же работает.Спасибо за мануал
107441031976138093444@google
Не работает смена более одного лица
Если в видео присутствуют например два персонажа и ты в третьей вкладке дал 2 разных фото за один раз (по отдельности не прикрепляет, только если нажмёшь прикрепить фото и в открывшемся обзоре выберешь через контрл 2 фото файла), более того нажал на галочку «swap_all_faces» в пятом пункте (без этой функции тот же самый результат)
В общем в итоге на получившемся видео будет только одно и тоже лицо и оно будет дублироваться на других персонажах от двух до +, игнорируя вторую фотографию
По итогу можно выбрать только сольную сцену с одним персонажем
Или всё таки как-то можно изменить лица всем? Ну или хотя бы двоим в одном кадре?
104528025031168784174@google
как поменять лица более чем одному человеку?
A
честно говоря — отстой
поясняю: при мало-мальской динамической съемке «морда» слетает, приходится практически каждый кадр по новой пихать в обработку. Т.е. при 25 Fps придется повторно скормить кадров 10-15.
Если тупо чел, которого нужно «отдипфэйкить» стоит и особо не машет своим «фэйсом» налево и направо, тогда сойдет.
108567954309141475412@google
Благодарен автору этого туториала. Я не программист, мне в самый раз пошаговая инструкция, нажми сюда потом туда и все получиться. Хочу поиграться побольше, подскажите как другое видео поменять, когда загружаю другое видео и жму кнопку 5, он мне сохраняет предыдущее видео. Как сбросить скрипт? И еще такой вопрос, каждое видео для скрипта загружается длительное время минут 10-15 и гугл выдает предупреждение что вы у вас простаивает графический процессор. Переключиться в стандартный режим? А я не знаю можно ли переключаться во время работы скрипта загрузки видео в стандартный режим.
b
Здравствуйте, а что вы можете сказать про ReFace? Возможно ли использовать их алгоритмы как-то?
117749058874846380776@google
Очень долго обрабатывает и загружает видео которое длится всего 3 минуты и 20 секунд. У меня ушло на это около 40+ минут.
E
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.
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
Ошибка скрипта! Не работает Проверьте
l
Аналогично.
Файл «inswapper_128.onnx» не найден.
Скачивает пустой файл.
B
https://drive.google.com/file/d/1krOLgjW2tAPaqV-Bw4YALz0xT5zlb5HF/view
112825578712354849848@google
куда его закинуть?
l
не решили проблему?
l
Файл «inswapper_128.onnx» не найден.
Скачивает пустой файл.
105206856886557435958@google
снова какие то ошибки, а ну вот смотрю у ребят такие же..
Файл «inswapper_128.onnx» не найден.
105791919137441260953@google
inswapper_128.onnx отсутствует — от этого все и проблемы
105206856886557435958@google
да мы то уже поняли, как это пофиксить?:)
30018604@vkontakte
Автор, исходные видео и фото, а также результат потом где-то в облаке или на сервере хранятся?
112383977197087516071@google
может тут кто-нибудь лицо на видео поменять?
117096218837569026403@google
13 минут видео ждал 1 ч 18 минут жесть
v
А как так? 2 мин. 4 часа а пару дней назад по шустрее было. Что это за дичь? Поясни плиз друг
L
в начале месяца было терпимо. Минутное видео делалось минут 10, пятиминутное — около получаса. Где-то в последнюю неделю минутное видео делается 4 часа. Пятиминутное — не успевает сделаться вообще: система выкидывает
v
Вот вот… Блин что за хрень…
v
А как у тебя так минутное видео делалось минут 10? Настройки какие то? Блин ща вообще беда… Есть альтернатива какая? Тоже что бы без цензора? И вообще че это за херь такая сталась?
108468779402285394964@google
инструкция не соответствует фактическим пунктам в колабе
108468779402285394964@google
и еще вопрос. после дисконнекта есть возможность докачать обработанный файл? дисконнект произошел во время загрузки файла и загрузка остановилась.
667024497@vkontakte
Танцы с бубнами! Херь…
667024497@vkontakte
Танцы с бубнами! Херь… Ты дай нам что бы без заморочек!
667024497@vkontakte
Танцы с бубнами! Херь… Ты дай нам что бы без заморочек! Безобразие.
v
Это ЖЕСТЬ! 1-минута оборвало спустя 6 часов. ЭТО КАК МЛЯ? Это что вообще? Кто нить напишите как это работает? В начале месяца 4-5 мин за пару часов еще можно было потерпеть. Но это… Просто слов нет! Зачем это? Секунду сделать?!))) Бред и жаль… Подскажите плиз альтернативу кто может (без цензора)
v
Оперативная память графического процессора 0.0 / 15.0 GB Пробовал другие там грузит. Почему так? Может кто починить? Или так надо?
o
Что случилось? Почему минутное видео стало обрабатываться часами? минутный ролик уже более 3х часов обрабатывает. закрыл
87638502@vkontakte
Гугл вводит ограничения из-за наплыва людей. Попробуйте эту версию, она всё ещё быстра.
https://www.ixbt.com/live/sw/deepfake-bez-cenzury.html
V
Павел, приветствую! Подскажите, цензуру можно как-то обойти, в связи с новыми изменениями в той версии? Там либо сразу палят)) либо лицо не меняется в итоге. Файлы core и predicter не помогают
Ответить
I
Можете подсказать пожалуйста как установить на локальный ПК с картой АМД. можно инструкцию пожалуйста с рабочей версией без цензуры
D
Привет. Как запустить этот скрипт со своего ПК, без обращения к гугл колаб и интернетам?
I
Можете подсказать пожалуйста как установить на локальный ПК с картой АМД. можно инструкцию пожалуйста с рабочей версией без цензуры
104072271519867644486@google
Ошибка скачивает пустой файл
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.

Добавить комментарий

Сейчас на главной

Новости

Публикации

Маринад для сочной новогодней утки, фаршированной яблоками и черносливом

Семейные традиции, как я считаю, это «скрепы» для дружной семьи. Одной из таких традиций в нашей семье является приготовление утки на новогодний стол. А для приготовления этой утки, из года в год,...

Как ананас и пицца оказались на древнеримских изображениях в Помпеях

История древнего искусства полна загадок и неожиданных открытий. Одним из таких удивительных феноменов стали изображения пиццы и ананаса (но не вместе) на древнеримских фресках из погибшего города...

Почему не стоит наказывать кошку за плохое поведение: чем это опасно и как помочь, а не навредить

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

Apevoix Grit — текстурная натуральность — обзор трибридных внутриканальных наушников с костной проводимостью 1DD+4BA+1BC

Apevoix — это новый игрок на рынке портативного аудио, и Grit — это их первый продукт, IEMs сразу с интересным набором драйверов. Помимо уже почти стандартного набора для...

Ломаем пылесос для более качественной уборки! Обзор аккумуляторного пылесоса Rombica MyClean Rover с 60 минутами работы

Вертикальный пылесос Rombica MyClean Rover представляет собой настоящую находку для современных домохозяйств. Этот пылесос готов предложить целых 60 минут автономной работы, что позволяет с...

Какие повседневные устройства работают на квантовых принципах? От тостера до лазеров и МРТ

Задумывались ли вы когда-нибудь о том, как работают привычные нам технологии? За кажущейся простотой таких вещей, как включение света или использование смартфона, скрывается целый мир...