Sim Swap - нейросеть нового поколения для создания дипфейков #4
Главным отличием является скорость и относительная простота работы. Не нужно возиться с выборкой и тратить несколько суток, а то и недель на обучение!
Для создания дипфейка требуется лишь фотография и видеоролик, в который нужно вставить лицо с фотографии. Обучение не требуется, используется готовая универсальная модель, которая сразу лепит лицо на кадры.
Текущие минималки следующие: двухъядерный процессор с HT 2.3 ГГц, 8Gb ОЗУ, ноутбучная видеокарта GeForce GTX MX150 2Gb с поддержкой CUDA (красные в пролете), Windows 10 (на семерке просто не тестировал). Все, что сильнее, по идее должно потянуть. Но если заработает на еще более медленных ведрах, то можно будет легко эти системки обновить.
На качество и скорость обработки карточка не влияет, в ней хранятся кадры, поэтому аноны с двухгиговыми картами жаловались, что после 200 кадров (примерно 6-7 секунд) происходит вылет. Поэтому чем меньше видеопамяти, тем короче ролик. Либо разбивайте ваши ролики на короткие фрагменты и забейте в батч, потом опять склейте.
Время создания дипфейка в 10-11 раз превышает продолжительность оригинального ролика (при 30 fps; для 60 fps множитель увеличивается до 22).
Если подходящего железа нет, то можно использовать Colab. Но там иногда могут быть ошибки.
Kaggle-версия: https://www.kaggle.com/bananon/simswap-modifed Для новых акков Kaggle дает бесплатные 30 часов на неделю. Для каждой новой учетки приходится использовать другой номер. Будет интересен тем, кого заебали лимты 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:
Второй способ решения ошибки UnicodeEncodeError от другого анона: > АЛАРМ > Нашёл ебучее и тупое решение проблемы с UnicodeEncodeError > Замена Serialization не подошла т.к. эта срань не ставилась в окружение симсвап, подключиться к ней тоже не могу в связи хуй знает с чем. > Крч в анаконде тупо в ебучем anaconda/lib/encodings/cp1251.py меняем содержимое на содержимое в этой же папке в файле UTF-8.py > После этого спокойно подключаемся к окружению симсвапа и продолжаем мастурбацию китайской срани. > хуй знает, но мб кому-то поможет.
Если вылезает ошибка 'NoneType' object has no attribute, то либо еблет с фотки не распознался, любо неверный путь к файлам.
Для удаления водяного знака сначала отредактируйте файл 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
Как убрать ебучий квадрат: > ЕБАТЬ РАБОТАЕТ! Не знаю, оговаривалось до меня или нет (я ток вкотился), но чтобы убрать "квадрат лица" и упрятать его, можно поиграться с настройками яркости-контраста, чуть темнее или светлее, буквально сотые от значения могут пофиксить ситуацию.
>>250111146 (OP) Не работает нихуя. Сначала вылезала ошибка с EncodeError, попытался пофиксить, даже перезагрузил пеку и после перезагрузки начало пиздеть, что нет какого-то модуля cv2. Иди нахуй со своим сырым говном.
>>250111544 Я вообще не в вашей тусе, просто работаю с тензорфлоу Короче у тебя скорее всего либо каналы цветовые поебаны, либо ты изначально пихаешь что-то разрешение чего меньше чем то разрешение до которого эта конкретно нейронка сжимает изображения Попробуй нормализовать изображение, удалить всякие лишние слои, альфа-каналы и сохранить жпг если было в пнг >>250111632 Если нвидия карта - проблем быть не должно, колаб ты так или иначе запустишь, там выбираешь рантайм - чейндж рантайм тайп, выбираешь ГПУ, вводишь в ячейку !nvidia-smi (можешь добавить -L) и если у тебя К80, то перезагружаешь колаб пока не нароллишь теслу т4, тесла т4 имеет 8 рейтинг расчетов и по сути ускоряет процесс вашего пердолинга более чем в 5 раз. Но надо следить и иногда вводить капчу чтобы не отняли
>>250111146 (OP) Блять, когда уже нормальный гайд будет по колабам? Уже 4 тред, а нихуя нет, нихуя не понятно просто в рот ебал блять нахуй сука блять нахуй сука.
Лет через пять можно будет делать фейки со всякими политиками и знаменитостями которые будут на 99,9% не отличимы от реальной съемки, если только происходящее на видео не полный абсурд. И им тогда еще придется доказывать, что это не они на видео делают или говорят что то "скандальное".
>>250113234 >Лет через пять можно будет делать фейки со всякими политиками и знаменитостями которые будут на 99,9% не отличимы от реальной съемки Уже есть, правда в порнухе. Mondomonger ебаный волшебник.
>>250113234 Законов навводят Хотя вчера увидел как батя смотрит новости, там Матвиенко, Воробьев и прочие обсуждали корону и мне четко показалось что на Матвиенко натянут молодой ебальник, артефактики было видно как-будто
>>250113348 Ну пока что это еще не раскрутилось на полную мощность, больше похоже на какие то первые более менее убедительные попытки. А лет через 5-7 реально же может быть ситуация, что где то на просторах интернета появляется видео снятое откуда то сбоку из под правой коленки и там какая то знаменитость или политик или еще кто делают/говорят что то чего делать вроде как не должны. И как тут доказать, что это фейк, особенно с поправкой на то, что технология будет развиваться и все более реалистично выглядеть. Наверняка за это статья будет на подобии клеветы.
>>250113634 Да все очень просто, поскольку работать с стейт-оф-арт нейронками может только очень малое количество высоко-уровневых программистов - в них просто законодательно зашьют вотермарки или какую-нибудь метадату(это чтобы не вшивать физические модули в камеры) и будет четкое отличие сделанных видео от оригинально снятых
>>250113634 Ну вот как то и будут доказывать, говоря, что я не я жопа не моя. А привлекать будут тех кто выкладывает это, лайкает, репостит и так далее. Но зато это даст возможность разным товарищам, которые реально попали на камеру делая/заявляя что то чего вроде как не следует публиковать, что это фейковые видео. А стороннему зрителю уже реально хуй проссышь будет понять что из всего этого настоящее, а что нет и останется просто верить или не верить в правдоподобность всего этого. И это, наверное, перспектива ближайших лет. А что там будет еще через 10-15 лет. В общем то достоверность информации давно уже определяется по принципу "верю - не верю", а дальше больше будет.
>>250113888 В России можно будет вместо наркоты подкидывать видео где человек передает кому то наркотики. Типа оперативная съемка. И хуй докажешь, что этого не было. К тому же сам пакетик который ты передавал конечно же найдется.
В западных странах можно будет публиковать видео где какой то политик или знаменитость говорят что то плохое о неграх, трансах или дают леща черной женщине у входа в гостиницу. И даже если потом через год суд вынесет оправдательный вердикт и даже назначит денежную компенсацию, карьера и имидж будут уже уничтожены или как минимум сильно подкошенны на время.
Где вы берете минутные прон видосы? В фап треде одни webm, а эта прога его наверное и не поддерживает. накиньте порнухи хоть, а то не ебу на чем ее тестить
>>250115391 > вместо процессора и ЖТ640 вместо видимокарты Попробуй, теоретически может и у тебя запуститься, только используй ролики длинной не больше 5-7 секунд.
>>250116129 Да. С двумя гигами получилось. На слишком длинных роликах может вылететь. Поэтому пробуй сначала на роликах длиной 6-7 секунд, если вылетит, уменьшишь длительность, если нет - то пробуй более длинные.
>>250116862 Да и он не работает нихуя блять одни ошибки при импорте файлов ахуеть блять рот ебал этой хуйни просто пиздец блять 2021 год я хуею не в пизду короче нахуй это блять
>>250117035 По сути это просто. Человек обладающий простейшими навыками программирования типа С++ написать ГУИ может за 5 минут. Надо нам такого базарю.
>>250111146 (OP) БЛЯТЬ Я В РОТ ЕБАЛ СОЗДАТЕЛЯ ВСЕХ ЭТИХ КОЛЛАБОВ, ОКАЗЫВАЕТСЯ НУЖНО БЫЛО УБРАТЬ ГАЛОЧКУ С CELL_LOAD И ПОСТАВИТЬ НА DRIVE_LOAD ПРОСТО ПИЗДЕЦ И НИГДЕ ОБ ЭТОМ НЕ НАПИСАНО ПРОСТО МАТЬ ЕГО ЕБАЛ, ТЫ СЛЫШИШЬ ХУЕСОС БЛЯТЬ, ПРОСТО ОХУЕТЬ 2 ЧАСА ЕБАЛСЯ С ЭТОЙ ХУЙНЕЙ А ТУТ ТАКОЙ ФИКС ПРОСТОЙ Я ЕГО МАМУ ЕБАЛ АХУУЕЕЕТЬ НУ НАКОНЕЦТО НАХУЙ СУКА, ХОЧЕШЬ ЧТО ТО СДЕЛАТЬ СДЕЛАЙ ЭТО САМ НАХУЙ ПИЗДЕЦ
>>250111146 (OP) ахуеть, вы прикиньте, если уже к рядовым юзерам такие технологии проникают, то прикиньте какую хуйню могут всякие правительственные организации хуярить. вообще же от реальности не отличить. теперь даже женерейшон пи не кажется чем-то фантастическим, лол
>>250122876 Но работать будет, ручками на куски резать не придётся? Алсо, сколько фотографий нужно для обучения и насколько влияет освещение/тон фотографий на результат?
>>250111146 (OP) > удалите все символы в любом графическом редакторе, не забудьте сохранить прозрачность. Но даже если сделать файл прозрачным, остается синева. Поэтому откройте файл 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
Что за наебалово? Открыл, обвёл, стёр изображение, сохранил. И всё. Нет никаких меток. Чем вы пользуетесь, что у прозрачного изображения появлятся СИНЕВА.
>>250123976 Остальные варианты требуют тысяч фото с разными ракурсами и долгого подбора, редактирования, долгого обучения. А результаты продают по 1000$/минута
Тут прекрасные результаты при таком простом использовании. Нужно только фото подобрать наиболее похожее на dst-видео.
Главным отличием является скорость и относительная простота работы. Не нужно возиться с выборкой и тратить несколько суток, а то и недель на обучение!
Для создания дипфейка требуется лишь фотография и видеоролик, в который нужно вставить лицо с фотографии. Обучение не требуется, используется готовая универсальная модель, которая сразу лепит лицо на кадры.
Текущие минималки следующие: двухъядерный процессор с HT 2.3 ГГц, 8Gb ОЗУ, ноутбучная видеокарта GeForce GTX MX150 2Gb с поддержкой CUDA (красные в пролете), Windows 10 (на семерке просто не тестировал). Все, что сильнее, по идее должно потянуть. Но если заработает на еще более медленных ведрах, то можно будет легко эти системки обновить.
На качество и скорость обработки карточка не влияет, в ней хранятся кадры, поэтому аноны с двухгиговыми картами жаловались, что после 200 кадров (примерно 6-7 секунд) происходит вылет. Поэтому чем меньше видеопамяти, тем короче ролик. Либо разбивайте ваши ролики на короткие фрагменты и забейте в батч, потом опять склейте.
Время создания дипфейка в 10-11 раз превышает продолжительность оригинального ролика (при 30 fps; для 60 fps множитель увеличивается до 22).
Если подходящего железа нет, то можно использовать Colab. Но там иногда могут быть ошибки.
Colab (инструкция ниже): https://colab.research.google.com/drive/1cTNIrIkfhy7WQY6j_ebK9Raipg0VSaxE
Альтернативный колаб, который другой анон постоянно развивает: https://colab.research.google.com/drive/1RDsbQNbSPlG2Ar62ngyV0udytb-zym1X?usp=sharing
Там убрана ватермарка и реализована закачка с меги.
Kaggle-версия: https://www.kaggle.com/bananon/simswap-modifed
Для новых акков Kaggle дает бесплатные 30 часов на неделю. Для каждой новой учетки приходится использовать другой номер. Будет интересен тем, кого заебали лимты Colab.
Github: https://github.com/neuralchen/SimSwap
Туториал по установке и созданию роликов: 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:
Второй способ решения ошибки UnicodeEncodeError от другого анона:
> АЛАРМ
> Нашёл ебучее и тупое решение проблемы с UnicodeEncodeError
> Замена Serialization не подошла т.к. эта срань не ставилась в окружение симсвап, подключиться к ней тоже не могу в связи хуй знает с чем.
> Крч в анаконде тупо в ебучем anaconda/lib/encodings/cp1251.py меняем содержимое на содержимое в этой же папке в файле UTF-8.py
> После этого спокойно подключаемся к окружению симсвапа и продолжаем мастурбацию китайской срани.
> хуй знает, но мб кому-то поможет.
Если вылезает ошибка 'NoneType' object has no attribute, то либо еблет с фотки не распознался, любо неверный путь к файлам.
Для удаления водяного знака сначала отредактируйте файл 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
Как убрать ебучий квадрат:
> ЕБАТЬ РАБОТАЕТ! Не знаю, оговаривалось до меня или нет (я ток вкотился), но чтобы убрать "квадрат лица" и упрятать его, можно поиграться с настройками яркости-контраста, чуть темнее или светлее, буквально сотые от значения могут пофиксить ситуацию.
Upd. Патченный репак, нужно лишь установить 64-битную анаконду https://www.anaconda.com/products/individual и настроить зависимости как тут https://github.com/neuralchen/SimSwap/blob/main/docs/guidance/preparation.md
Ссылка на репак
https://drive.google.com/file/d/1LRJzn6yhHHZSsvITO8aZ3hds0TgJNzSD/view?usp=sharing
Все, кто срутся троянов и майнеров, делайте все сами ручками
Основной тред https://2ch.hk/e/res/537242.html