Sim Swap - нейросеть нового поколения для создания дипфейков #3
Главным отличием является скорость и относительная простота работы. Не нужно возиться с выборкой и тратить несколько суток, а то и недель на обучение!
Для создания дипфейка требуется лишь фотография и видеоролик, в который нужно вставить лицо с фотографии. Обучение не требуется, используется готовая универсальная модель, которая сразу лепит лицо на кадры.
Текущие минималки следующие: двухъядерный процессор с HT 2.3 ГГц, 8Gb ОЗУ, ноутбучная видеокарта GeForce GTX MX150 2Gb с поддержкой CUDA (красные в пролете), Windows 10 (на семерке просто не тестировал). Все, что сильнее, по идее должно потянуть. Но если заработает на еще более медленных ведрах, то можно будет легко эти системки обновить.
На качество и скорость обработки карточка не влияет, в ней хранятся кадры, поэтому аноны с двухгиговыми картами жаловались, что после 200 кадров (примерно 6-7 секунд) происходит вылет. Поэтому чем меньше видеопамяти, тем короче ролик. Либо разбивайте ваши ролики на короткие фрагменты и забейте в батч, потом опять склейте.
Время создания дипфейка в 10-11 раз превышает продолжительность оригинального ролика (при 30 fps; для 60 fps множитель увеличивается до 22).
Если подходящего железа нет, то можно использовать Colab. Но там иногда могут быть ошибки.
Туториал по установке и созданию роликов: https://www.youtube.com/watch?v=1NWJz_rFMq0 Если вылезет ошибка UnicodeEncodeError, то решение тут https://qiita.com/satamame/items/fdee302943b097a063de Если вкратце, то нужно изменить строку 635 в файле serialization.py В моем случае он находился по пути D:\ProgramData\Anaconda3\envs\simswap\Lib\site-packages\torch\serialization.py Было: with open(file_name, 'a+') as f: Стало: with open(file_name, 'a+', encoding='utf-8') as f:
Для удаления водяного знака сначала отредактируйте файл simswaplogo.png из папки simswaplogo, удалите все символы в любом графическом редакторе, не забудьте сохранить прозрачность. Но даже если сделать файл прозрачным, остается синева. Поэтому откройте файл add_watermark.py из папки util и замените 23 строку. Должно получиться: def __init__(self, logo_path, size=0.3, oritation="DR", margin=(5,20,20,20), angle=15, rgb_weight=(0,0,0), input_frame_shape=None) -> None:
То есть вам нужно просто обнулить значения rgb_weight
Я решил проблему с Colab, только нужно предварительно создать ярлыки всех файлов по ссылке, где находятся два архива (указывать корень диска, пикрелейтед 1).
>>250036912 (OP) >Если подходящего железа нет, то можно использовать Colab. ВНИМАНИЕ! Гугл колаб после буквально пары прогонов без задней мысли может запретить пользоваться гугловскими видеокартами на неопределенный срок! Решение - https://www.kaggle.com/ , там бесплатно на неделю дают 30 часов видеокарт - хватит на куда большее количество обработанных видосов/фотокарточек.
>>250037126 эх Анон обещал нормальный видеогайд для бичей, но чет пока нигуя, кидают ссылки с овердухищей инфы хуй проссышь че над из нее делать. В общем как обычно.
>>250039632 Собственно, и гугл колаб и кегля нужны для запуска jupyter notebooks - так сказать интерактивных блокнотов с кодом на python и другими командами. Я скачал блокнот из шапки и чутка подредактировал (в гугл колабе больше возможностей). Чуть позже напишу гайд.
>>250039579 Используй альтернативный из шапки, он более допилен и там написано как запустить. Гайд записать не могу так как гугл чутка ебанулся и не сбрасывает лимиты уже полторы сутки на 4 акках.
> АЛАРМ > Нашёл ебучее и тупое решение проблемы с UnicodeEncodeError > Замена Serialization не подошла т.к. эта срань не ставилась в окружение симсвап, подключиться к ней тоже не могу в связи хуй знает с чем. > Крч в анаконде тупо в ебучем anaconda/lib/encodings/cp1251.py меняем содержимое на содержимое в этой же папке в файле UTF-8.py > После этого спокойно подключаемся к окружению симсвапа и продолжаем мастурбацию китайской срани. > хуй знает, но мб кому-то поможет.
>>250040592 Все, что меньше официальных требований в 8 гигов видеопамяти подходит для упоминания. Если слабее GTX MX150 2Gb, то тем более подойдет. Я думаю даже 750ti должна подойти, потому что она сильнее MX150 по иерархии видеокарт.
>>250036912 (OP) У меня на этапе собирания видео на моменте когда moviepy начинает процесс со звуковой дорожкой все крашится с ошибкой OSError: [WinError 6] Неверный дескриптор. У меня GTX1070, Win 10 Причем видосы без звука заходят на ура, ничего не крашится, получаются норм дипфейки. У кого нибудь было такое? Заебался уже в каждом видео звуковую дорожку вырезать чтобы дипфейк сделать.
>>250036912 (OP) Мне тут только что гениальная мысль пришла в голову. Ведь современное порно несовершенно. По сути, мы смотрим, как чужой мужик ебёт чужую бабу. (или чужого мужика, на вкус и цвет) Очень тяжело ассоциировать себя с этим ебарем-террористом. Прямо чувствуешь себя куколдом. Особенно неприятно, когда камера наезжает на мужика, сразу желание дрочить пропадает. Решение - дипфейк. Да, да, надо просто заменить лицо лысого из браззерс на своё. Ещё можно вместо лиц актрис подставлять рожи знакомых тян. Лучше уж теребить на видео, где ты ебёшь свою ЕОТ, чем как куколд смотреть на спаривание людей, с которыми даже не знаком и никогда не будешь.
>>250039579 короче разобрался, ебать я хлебушек, в общем переходите по ссылке жмете значки плей, так проделываете со всем, в конце выбираете Cell_load жмете плей вам выезжают загрузки отдельно видоса и пикчи, ну а дальше ждете. Ну эт совсем для овощей как я.
>>250041343 Да я уже смотрел, там вариант в конце скрипта вставить эту команду: video_clip.audio.reader.close_proc() Но как через эту анаконду ебаную это сделать я не понимаю.
>>250041677 В каком-нибудь скрипте с папкой проекта, который ты скачал с гитхаба. Notepad++ позволяет искать текст в нескольких файлах, нужно только указать папку проекта.
>>250038633 Уже обработанные кадры сохраняются в \temp_results. Вообще блядь не понимаю для чего нужно больше памяти, чем на один кадр. Там явно говнокод. Хотя казалось бы, прорывная технология и так всрато испольовать ГПУ. В теории оно должно по сотне кадров в секунду обрабатывать на видеокарте.
Мне с моими 2ГБ НЕПРИЯТНО. Могу обработать не больше 200 кадров за раз, идиотизм. Дело в кривом torch, наверное.
>>250042349 Переписать говнокод трудно, а вот запилить батник или скрипт, который нарезает на фрагменты по N кадров, потом запускает в цикле обработку всех фрагментов, а потом их склеивает, вполне реально. Нужно только подобрать N, а вот это уже труднее.
>>250042308 посмотрел гайд, нихуя не ясно, там либо анаконда другая либо компьютер у чела другой, в итоге выбилась какая то ошибка на этапе когда нужно было вставлять названия файлов с видео и фото, копипастнул в анаконду и там ошибка какой то залупы появилась
>>250040203 Не будет ТОГО файла, в КОТОРОМ и возникает ошибка. Разумист или просто хайпишь на своей гениальности? В самом логе ошибки будет путь к файлу.
>...\torch\serialization.py
>>250041016 Переустанови moviepy, может в нём дело. Или в кодеках.
>>250043582 так, я обосрался, перепутал png с jpg, запустил по новой вроде пошла малафья. >>250043191 Спасибо за гайд анонче, но походу я уже допердел на своей тяге
>>250043604 Вроде можно делиться, да. Сам блокнотом не делюсь так как пока не хватает простоты использования, подождем, пока знатоки блокнот доработают. >>250043541 Пожалуйста сделай по возможности с таким же интерактивом как в колабе из шапки, чтобы в 2 клика дипфейк делать. >>250043582 У тебя не найдено лицо на фотографии. Попробуй, чтобы лицо половину занимало.
>>250042996 > Не будет ТОГО файла, в КОТОРОМ и возникает ошибка. Разумист или просто хайпишь на своей гениальности? > В самом логе ошибки будет путь к файлу.
> >...\torch\serialization.py Дегенерат, к каму нахуй файлу если его нет? Ты тупой или слепой? Я черным по белому написал что файла такого в той папке не было, вооб даже папки torch не было.
>>250036912 (OP) какая же все таки охуенная технология этот ваш deepфейк, можно творить хуйню и не боятся что кто-то заснимет, всегда можно сказать что фейк
>>250043725 > Пожалуйста сделай по возможности с таким же интерактивом как в колабе из шапки, чтобы в 2 клика дипфейк делать. А это уже сложнее, мб уйдет день, завтра отпишу в тред в /е. Сейчас набрасываю демку.
Каггло-пророк, поясни, можно сохранить состояние файловой среды чтобы каждый раз не качать все снова, или тут как в колабе все смывается темпоральной мочей?
https://pastebin.com/JT1g1JKA за неимением ничего другого бампану своим батником. Выделяете видео, потом фото, перетаскиваете на .bat, куда проще переименовывания. Вот бы ещё кто-то такое написал >>250042522
>>250045649 Потому что конфиг на лоу пека. Сейчас тестю, можешь глянуть завтра-послезавтра отчет в треде в /е. Заодно каггл прикручу. мимо-анон-с-альтер-колабом
>>250041016 Короче решил ошибку НАКОНЕЦ-ТО БЛЯДЬ. А то заебался в каждом ролике аудиодорожку убирать. Теперь все работает. Решение ошибки может кому пригодится, по ссылке на гитхабе. https://github.com/Zulko/moviepy/issues/1066
>>250046103 Скачать DeepFaceLab, обучать нейросеть неделю, потом еще неделю править ручками маску каждого кадра для 10-минутного ролика. И с вероятностью 30% получится что-то вменяемое. Нейросети это заебись, упрощают ручной труд. ХЫЫЫЫ
>>250046103 Хз, там ни один параметр не расписан и имена параметров хуйня. Нужно перебирать вручную, чеб и займусь. Алсо сырой каггл https://www.kaggle.com/bananon/simswap-modifed Нужно создать датасет куда загрузить пики по этому гайду >>250043191>>250043265 а потом в начале последней ячейки ввести в конце путей имя файлов.
>>250045649 у меня 3080 и тоже не юзает видюху, нашел закрытый issue на гитхабе связанный с этой темой, похоже для 30 серии надо другую версию торчка поставить
>>250046424 1. Выбрать более качественную фотку и видео. 2. Избегать видосов, где ебало что-то закрывает. 3. Экспериментальным перебором разных соусов.
Вот отличные соусы 1 и 2 для фоток высокого качества. 3 для любых фоток
>>250046992 точно, глянул на память у меня ~7.1 гиг жрёт, это ведь уже обученная модель, ей не надо юзать тензорные ядра, собственно и нагрузки не будет, только память для обработки
>>250047059 >>250047100 Я знаю похожую хуйню, тут принцип в том что все извлеченные кадры загружаются в gpu и либо говнокодеры сделали это для более быстрого доступа (можно загружать в видеопамять по кадру) либо у них есть мозги и они используют это для временной синхронизации, то есть обрабатывается не каждый кадр а видео в целом. Я не читал исходники и точно сказать не могу. В любом случае должно быть возможно усилить нагрузку но тут нужны эксперементы и копание вилкой в исходниках.
>>250047505 Это немного не так работает. Любая модель при выполнении должна юзать 100%, тут явно горлышко в чем то. Ну и тензорные ядра ни-ну-жны для всего кроме ускорения фп16.
Пруфом считается дипфейк и скрин модели видеокарты. Или скрин завершенного без ошибок процесс кодирования с инфой видеокарты, можно в GPU-Z.
Итак запустилось на следующих старых видеокартах: GeForce GTX MX150 2Gb (пруф есть) GeForce GTX 1050ti (пруфа нет, но мощнее и по идее должно работать) GeForce GTX 1650 4Gb GeForce GTX 1070 (ну тут уж тем более должно запуститься) GeForce RTX 2070 Super GeForce RTX 3060
>>250047904 У меня же загрузка сначала с хаба, затем подгрузка фикса вотемарки на пару мб с меги и архивы для быстроты с нее же. Это быстро и в отличие от колаба ячейка меги ни разу не заедала. А если часто качать один файл с гуглодиска то этот файл блокируется на сутки, у меги лимита кроме лимита у скачивающего в 20 гб пока не обнаружено. А пак в каггле нужно добавить через создание своего датасета онли. мимо-тот-чел
>>250048319 Если все решетки прошлись а ячейка висит то ее нужно остановить, это баг быстрого метода зато на фулл спиде хоста, другой метод без ошибок но медленный как говно. Ну и не совсем, нужно сначала создать датасет, загрузить туда фото и видео, в последней ячейке в конце изменить имя файлов и потом запустить все начиная с первой. Пока все сыро но завтра посмотрю что можно сделать. К сожалению маркдовны для ячеек как в колабе не поддерживаются как и удобные слайдеры и загрузка файлов кроме как через ссылку или датасет.
Кстати, порылся на хабе и нашел файл аргументов с подписями. https://github.com/neuralchen/SimSwap/tree/main/options Судя по всему используется сразу три, но при выполнении некоторые попросту не на что не влияют. В теории если понизить параметр how many до 1 то можно сократить расход видеопамяти но пока протестить не могу. Качество может стать немного хуже а время дольше. Так же там куча других настроек которые можно попытаться покрутить, все подписаны хуево но подписаны.
>>250048526 смотри чел. как тебе такой вариант. Каждый раз он ведь заново будет грузить с меги и тп?
А что если как на колабе, вот я сейчас прогрузил, сделал свап и удаляю датасет, загружаю новый датасет, и прописываю новые имена в последней ячейки(ну или файлам даю имена как у прошлых) и просто прожимаю только ячейки run?
На фотографиях Катя Котаро — просто красивая девушка модельной внешности. Буду благодарен, если создадите дипфейк-шедевры с её милым личиком и порадуете /b/ратишку с двача фапконтентом. Примеры подходящих видосов прикреплю к этому посту. Пожалуйста, выберите любой понравившийся и уделите немного времени и ресурсов своего пк, спасибо! >>250036912 (OP)
>>250049209 Не совсем понял о чем ты. Если ты про загрузку новых фото и видео то просто зайди на страницу со своим датасетом и нажми кнопку апдейт датасет, потом в блокноте нажми кнопку у папки датасета обновить и он предложит обновить датасет. Там да, просто меняй имена файлов в последней ячейке и перезапускай только ее.
>>250049144 сижу на i7 8700 и 2070супер, какой расход памяти видяхи, если проц в соточку долбится, а эта зеленая мразь на 2-3%.... чего так то? почему тогда в требованиях 8гигов видеопамяти? Получается видяха простаивает? Анон, сможешь рассказать, а то совсем не вдупляю
>>250049392 Если ты хочешь сохранять в папку где датасет то пропиши в той переменной аргументов в output path что то типа '/kaggle/input/имя_датасета'. Хотя точно не знаю получится ли вель пока не проверял. Сейчас он сохраняет в папку output в папке это не совсем распакованный архив, скорее клонированный и дополненный архивами SimSwap которая по пути /kaggle/working/ с именем demo.mp4.
подргрузил новый дата сет, что теперь то не так? --------------------------------- NameError Traceback (most recent call last) <ipython-input-1-3e874d56d9ef> in <module> 31 32 ---> 33 opt = TestOptions() 34 opt.initialize() 35 opt.parser.add_argument('-f') ## dummy arg to avoid bug
>>250050172 Судя по всему некоторые импорты успели протухнуть, то есть среда перезапускалась. Легче просто сбросить всю среду форс ресетом и запустить все по новой.
Как использовать не только выделенную, но и общую память видеокарты? И где порезать горло потребление питорча, нахуя он просто так гиг сжирает ещё до начала обработки? 2ГБ хватает только на 6-секундные видео. Смешно, блядь.
>>250036912 (OP) Спасибо, оп, за треды, наконец вкурил стартовый гайд дипфейслаба, теперь буду дрочить масочки/годами обучать нейросеть, чтобы сделать целое нихуя.
>>250052479 >>250052419 а что означает " имя набора данных " когда загружаешь фотку и видео? и что делать если папка инпут пустая, но файлы на kaggle загружены?
>>250053890 Еблан это ты, потому что я открыл видео указанное в шапке блять и настроил все по гайду. А ты, валенок, даже ОП-пост внимательно прочитать не можешь.
ЕБАТЬ РАБОТАЕТ! Не знаю, оговаривалось до меня или нет (я ток вкотился), но чтобы убрать "квадрат лица" и упрятать его, можно поиграться с настройками яркости-контраста, чуть темнее или светлее, буквально сотые от значения могут пофиксить ситуацию.
>>250054305 мне делать нехуй 11 минут гайд смотреть? я лучше 2 дня подожду пока придут адекваты, и сделают кнопки: залить фото, залить видео, начать дрочить, ещё и ускорят раз в 20
Аноны, я начинаю бояться мощи нейросетей. Скоро можно будет вообще что угодно клепать с их помощью. Можно даже синтезировать голос Путина и найти актёров, которые будут играть его роль для телека, например. Пиздец...
Бджаж, нормалфаги, фапающие на 3DPD, горит с вас. Дожить бы до того, когда для хентая и аниме такую сделают. А то сейчас если у тебя непопулярная вайфу, то только шекели хуйдожникам неси...
Минут пять висит на tf_log: False use_dropout: False use_encoded_image: False verbose: False video_path: ./_olesya1.mp4 which_epoch: latest -------------- End ----------------
>>250057478 Как назло, я недавно все короткие видосы из фап-треда снёс и нихуя у меня не осталось. Если будет не трудно, то найди видосик и прилепи один из пикрилов, пожалуйста.
>>250058694 Только если ты не типичный уродец. Правда, самое прекрасное изображение женщины, что я видел, было именно моим фото, прошедшим двойную обработку
У меня железо слабое. Аноны у кого мощное железо, будьте добры запилите дипфейк с бонби и этого порно где Дженну Хейз в жопу ебут. Они с Бонби чем то даже похожи по мимике и чертам лица на этом видосе где бонбиша сексуально вертит бедрами.
>>250058965 >360p Я конечно не специалист(точнее блядь я как раз специалист), но вы же понимаете что если вы будете полноразмерные фотки накладывать на 4к прон результат будет лучше? Это понятно что абу чем корявее - тем смешнее, но вы же на него не фапаете