Быстрый Deepfake: замена лица на фотографии без использования Photoshop
Продолжаем знакомиться с современными технологиями Deepfake. Ранее мы с вами уже рассмотрели бесплатный способ замены лица в любом видео. В этом же небольшом материале вы узнаете, как совершенно бесплатно и без использования Photoshop качественно заменить лицо на любой фотографии.

Подготовка
На самом деле в качественной замене лица на любой фотографии нет ничего сложного. Современные алгоритмы нейронных сетей настолько продвинулись, что пользователю остаётся найти только нужный скрипт и нажать пару кнопок для получения желаемого результата.
1. Создаём аккаунт на Gmail. Он нам потребуется для бесплатного использования удалённого оборудования компании Google.
2. Переходим по веб-адресу настроенного скрипта нейронной сети и копируем его на свой облачный диск. Если всё прошло успешно, то вас автоматически перебросит на личную веб-страницу скрипта. Сохраняем её в закладках браузера и идём дальше.

Замена лица
Если вы используете веб-браузер Chrome, то ради удобства советую через правый клик перевести иероглифы на русский язык.
1. Запускаем по очереди первые три галочки. Понять их готовность можно по появлению зелёного символа рядом с цифрой (GPU для работы алгоритма не нужен). На третьем пункте возможно появление ошибки. Игнорируйте её!
2. Теперь нам необходимо загрузить в нейросеть фотографии для замены лица. В левой колонке нажимаем на папку (файлы) и загружаем через правый клик в папку roop_colab подготовленные для замены лица фотографии.
Я остановил свой выбор на молодой фотографии Саши Грей и случайной косплеерши из интернета.
3. В 4 пункте меняем строчки на имена наших загруженных файлов, где источник — это лицо, которое должно быть в фотографии, а цель — фотография, в которое оно будет вставлено. Что такое вывод, я думаю, объяснять не нужно. Запускаем скрипт.

4. В последнем пункте ниже выбираем желаемые настройки алгоритма. Я советую не колдовать с параметрами и просто выставить, как у меня на скриншоте выше. Запускаем скрипт. Процесс замены лица для фотографии обычно занимает не больше пары минут.
5. Если всё прошло удачно, то в конце вывода консоли скрипта вы увидите надпись [ROOP.CORE] Processing to image succeed, а в левой колонке появится файл Rezultat.png. Скачиваем файл через правый клик и радуемся результату.

Результат

Ну что же, как по мне, то всё получилось идеально. Конечно, цвет лица чуть светлее оригинала, но прогон через автокоррекцию в любом редакторе решит эту проблему.
Ещё парочка примеров:
Как убрать цензуру
По умолчанию алгоритм мылит картинки с пикантным материалом. Чтобы обойти эту проблему, скачайте файл predictor.py и любым текстовом редактором измените параметр MAX_PROBABILITY=0.85 на MAX_PROBABILITY=1, после чего загрузите его обратно. Или воспользуйтесь моим уже настроенным файлом.

Заключение
Не знаю, как вы, но я лично в шоке от развития нейронных сетей. Всего за пару кликов мы не только избавили себя от нудной необходимости использовать Photoshop, но и заметно улучшили черты лица в изменяемых фотографиях. В общем, правы были ученые, когда говорили, что человечество стоит на пороге величайшего открытия за всю его историю. Уважайте свободу, используйте только проверенное ПО и ни в коем случае не предавайте себя!
87 комментариев
Добавить комментарий
https://colab.research.google.com/github/dream80/roop_colab/blob/main/roop_v1_3.ipynb
А все потому что не работает по факту это ещё нормально. Попробуйте свое лицо на замену вставить увидите как все криво работает.
На ваших примерах если не сказать людям что это другой человек, хрен кто дагадается. Подумают что просто немного отретушировали фото.
https://colab.research.google.com/github/dream80/roop_colab/blob/main/roop_v1_3.ipynb
NameError: name 'source' is not defined
Имена файлов проверил и перепроверил, все галочки и параметры как на скрианах, пробовал другие файлы, что не так делаю то?
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-4-92a8082edaa1> in <cell line: 29>()
27
28
---> 29 cmd = f«run.py --execution-provider {Device} -s {source} -t {target} -o {output} --frame-processor {Processor} --output-video-encoder {VideoEncoder} --output-video-quality {VideoQuality} {KeepFPS} {SkipAudio} {KeepFrames} {ManyFaces} --temp-frame-format {TempFormat} --temp-frame-quality {TempQuality}»
30 print(«cmd:»+cmd)
31
NameError: name 'source' is not defined
Это как? Какой файл я должен вставлять в результат? Разве я не должен получить результат после манипуляций? Где я его возьму заранее? Поясните, пожалуйста.
NameError Traceback (most recent call last)
<ipython-input-11-e0946fd0612c> in <cell line: 29>()
27
28
---> 29 cmd = f«run.py --execution-provider {Device} -s {source} -t {target} -o {output} --frame-processor {Processor} --output-video-encoder {VideoEncoder} --output-video-quality {VideoQuality} {KeepFPS} {SkipAudio} {KeepFrames} {ManyFaces} --temp-frame-format {TempFormat} --temp-frame-quality {TempQuality}»
30 print(«cmd:»+cmd)
31
NameError: name 'source' is not defined
Подскажите что не так сделал.
Ага, понятно, во всем виновата моя невнимательность. Комментарии тут излишни.
Вы заметили, что все, кто писал про ошибки, по итогу косячили сами?
Успешного вам развития.
Хотел прикрепить изображение из ЭТОГО гайда, но тут нельзя..
Так вот, на скрине серым по белому написано: «Вывод — это путь вывода». Ещё подробней надо? Здесь указывается место и имя конечного файла.
Не благодарите
https://snapedit.app/ru/enhance (Не реклама).
Добавить комментарий