sigma face
»нейросети нейромазня Stable diffusion длинопост гифки
Создание "анимации" через img2img в Stable Diffusion.
И вновь здравствуйте. Продолжая серию познавательного по нейросетям, сегодня разберём несколько способов, как снятое видео преобразить с помощью нейросетей. Думаю вы видели разные нейронные-клипы и прочее, где криповые ебаки дрыгаются и перетекают из формы в форму. Вот чё то похожее мы будет сегодня делать, но я постараюсь не уходить в крипоту, а сделать, что то вменяемое на сколько кривизна моих рук мне позволит. Ну с предисловием почти закончили.
Вот пример того, что сегодня накуролесим.
И так, что на понадобится? Для начала установленный Stable Diffusion webui от AUTOMATIC1111 (на других работаю редко) и программа EbSynth. Не помешает знание, того, как щёлкать телефоном видео, как переносить их на пк, и как разбить их на последовательность изображений и обратно в другие форматы. Окей вроде всё.
Перво-наперво потребуется снять короткое видео, можно и долгое, хоть кино снимайте, но обрабатывать будем дольше.
Любым удобным способом разбиваем видео на последовательность изображений, типо img_[####].png , я делаю это обычно через After Effects, но можно и онлайн сервисами, просто загуглите "mp4 to png sequence".
И так теперь перед нами два пути, долгий и не столь долгий.
Долгий: Можем обработать все кадры через Stable Diffusion и слепить из них обратно анимацию, но это довольно долгий процесс.
Покороче: Можем воспользоваться программой EbSynth, скормив ей несколько отредаченных ключевых кадров, по которым, она выстроит остальное изображение, основываясь, на движениях с остальных "чистых" кадров. Звучит как магия. Ну оба эти способа имеют как плюсы так и минусы.
Плюсы и минусы полностью через SD:
+ Мало артефактов
+ Анимация чувствуется цельной без разрыва композиции
- Долгое производство
- Флики фона и разных деталей (может кому то зайдёт)
Плюсы и минусы EbSynth:
+ Плавность
+Отсутствие фликов фона и детализации
- Явно видны переходы при смене ключевого кадра (умельцы думаю смогут на монтаже сгладить смешением кадров и т.д...)
- Артефакты при движениях
И так разобрались с плюсами и минусами, и начнём разбирать оба варианта. Начнём с создания с помощью перерисовки всех кадров в SD.
Я специально записал достаточно проблематичный футаж, где я часто и резко дёргаю головой и кривляюсь. Да бы посмотреть, как оба варианта себя покажут в одинаковых условиях.
Видео длится чуть больше 9 секунд, 270 кадров, 30 FPS, 2160x3840. Для этого способа, я намерено удалю половину кадров. Даже не потому, что я задолбаюсь рендерить, но и то, что каждый кадр будет создавать флики деталей, и в 30 FPS их будет в 2 раза больше, чем вы увидите дальше. Не думаю, что было бы приятно, поэтому, так как на вкус и цвет эпилептиков нет, продолжаем.
Разбиваем видео на последовательность изображений.
Заходим в Stable Diffusion и переходим в раздел img2img. загружаем для начала один любой кадр, по нему мы и будем выстраивать всё дальнейшее преобразование.
Для своего примера я выставил модель "sd-v1-5-inpainting", 60 Steps, Euler, разрешение максимально близкое к соотношению сторон кадра, CFG scale 24 denosing strength 0,5. Так же среди скриптов выбрал img2img alterbative test, там убрал все галочки кроме последней "Sigma adj...", В original prompt описываю, то как выглядит ОРИГИНАЛЬНОЕ изображение, остальные значения по умолчанию.
Возвращаюсь наверх, выставляю всё тот же оригинальный промпт и приписываю ему дополнительные детали, и негативные промпты которые мне не нравятся.
Ииии крутим барабан до тех пор пока не увидим изображение, которое зацепит взгляд. Нашли? Отлично сохраняем сид, и прописываем его. Шикарно, а вот теперь реальная закалка для видюхи. Мне пришлось прописывать "--precision full --no-half" в парамтры запуска SD, ибо уменя почему то хреново работает с img2img и часто выдаёт чёрные пикчи. С этими аргументами проблема решилась, но генерация стала дольше.
Переходим в подпункт Batch img2img, и указываем путь, туда где лежит наша последовательность кадров, и путь куда мы выведем всё добро. Убеждаемся, что сид введён, всё готово, и жмём снова старт. Ну у меня на обработку 135 изображений ушло около часа. Поэтому прикидывайте размер изображения и число кадров, что бы не ждать уйму времени, но без этого никуда.
И так, как только всё закончилось, ищем свежие сохранённые кадры, надеюсь они у вас будут поименованы так, же как и файлы для импорта, в формате последовательности. Их можем обратно перековырнуть в форматы видео или гиф, с помощью фотожопа, after effects или онлайн решений (гуглим пальчиками).
Получилось у меня следующее:
Видно, что постоянно дёргается всякое на фоне, но это можно и растушевать или обрезать уже на монтаже кому нужно, сам кадр персонажа держится цельно и не распадается на артефакты, блеск.
А теперь попробуем почти тоже самое, но при помощи EbSynth.
Запускаем прогу и видим, что нас просит вставить путь до Keyframes (ключевых кадров) и Video (последовательность изображений нашего видео).
Важный момент! Разрешение ключевых кадров должно быть идентично размеру видео или наоборот. Если у вас ключевой кадр в 480p а видео в 4K, то словите ошибку.
Нам потребуется задать минимум один обработанный ключевой кадр, по которому оно будет достраивать остальное на основе движения остальных кадров. Я буду вставлять ключевые кадры, каждый раз, когда я буду двигаться и менять выражение лица. Вышло 10 кадров вместо 135 перерисовки.
Ну а для видео я задействую все 270 кадров и не буду их обрезать, пусть будет в нативных 30 фпс.
Дальше для себя я открыл Advanced и тыкнул на Synthesis Detail: High, просто потому что хочу. Вам не обязательно.
Теперь запутаная хрень. Надо задать последовательность встраивания ключевых кадров.
Если простым языком, каждый ключевой кадр будет отвечать за участок в видео от a-кадра b-кадра. Следовательно, так как я разбивал их с идеей, что они будут встраиваться, там где будет происходить динамика, так я и раставляю ключевые кадры. Если у вас видео где минимум движений, максимум движение губ и мимики, то не нужно так запариваться. Если у вас видео, где прыгает попугай, а из него вы рисуете динозавра, то да, надо будет чуть ли не каждый прыг-скок закейфреймить в идеале, а то попугей рассыпется на артефакты.
Выставили все кадры, выставляем теперь каждому вывод, я выведу их в одну папку, но можете в разрые, если намерены смешивать кадры на монтаже (при этом вы заранее в выствлении кадров всё предусмотрели для этого).
Всё жмём RUN ALL и ждём минут 15-20, ну я ждал столько.
Получаем всю такую же последовательность изображений и всё так же известными способами конвертим в удобный для себя формат.
Поздравляю вы великолепны если повторили, всё шаг в шаг и получилось.
Видно, что с этим способом, анимация вышла плавней, без эпилептических вспышек, но сыпется местами на артефакты и видны стыки ключевых кадров но это фиксится монтажом.
Можно ли делать, что то сложнее, чем из мужика-мужика. Можно хоть в киборга или чужого себя перерисовать, но тогда сложнее будет выдержать единый стиль изображения, ибо не уверен, что удастся отрисовать несколько раз идентичные образы выдержанные в одном стиле, но это зависит от того, какие настройки вы выставите, но если оставите, слишком приближающее к оригиналу изображения, то и совсем отличающегося персонажа не выйдет. Ладно вот пример из начала темы.
Как видно, в каждом ключевом кадре облик ощутимо меняется. Тем не менее, кто научится этим пользоваться в полной мере, думаю сможет обратить это себе в пользу.
Спасибо, что дочитали, надеюсь, кому то будет полезно. Задавайте вопросы, постараюсь на них отвечать. Если я где то ошибся, не стесняйтесь поправить меня.
Полезный автор на YT, по видео которого я и решил написать это -https://www.youtube.com/@enigmatic_e
Небольшой русскоязычный гайд, который увидел вчера, пока готовил материалы -
нейросети Stable diffusion длиннопост NovelAI
Модель NovelAI под Stable-Diffusion
Там недавно слили исходники NovelAI, на сколько знаю сервис генерит истории по описанию, что то вроде AI Dungeon. Но с 3 октября у них появилась фича генерить и изображения по описанию. Собственно слили и её.
Автор репозитория одной из сборок, AUTOMATIC1111 добавил в свою сборку поддержку работы новых слитых моделей ,его кстати забанили в офф. дискорде Stable Diffusion после произошедшего.
Если хотим поиграться с новой моделью, а выдаёт она довольно неплохие результаты, то нам нужно:
1. Установить сборку Stable Diffusion от AUTOMATIC1111 - https://github.com/AUTOMATIC1111/stable-diffusion-webui
2. Качаем модель (у них есть NSFW и SFW версии) и некоторые ещё необходимые вещи из слитых материалов - magnet:?xt=urn:btih:5bde442da86265b670a3e5ea3163afad2c6f8ecc&dn=novelaileak
3. Переименуйте model.ckpt, что лежит внутри animefull-final-pruned в любоеназвание.ckpt. например в novelai.ckpt, теперь переименуем animevae.pt в название которое мы дали предыдущему файлу и добавляем к нему .vae.pt к примеру в novelai.vae.pt... Теперь заходим директорию \stable-diffusion-webui\, заходим в папку models и создаём там папку с именем hypernetworks и кидаем в неё файлы aini.pt, anime.pt, anime_2.pt и т.д из папки modules, что мы скачивали. Теперь в папку \models\Stable-diffusion\ с основными моделями что мы используем, переносим ранее переименованый файл novelai.ckpt и файл novelai.vae.pt
4. Запускаем Stable Diffusion и переходим в настройки, ищем раздел "Stable Diffusion" и включаем нужную модель и finetune hypernetwork
5. Готово, можем работать с новой моделью.NovelAI использует CFG:11 и негативные промты: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, поэтому если хотите результаты похожие на те, что генерит оригинальная, то используйте эти параметры.
В некоторых промптах взятых напрямую из NovelAI может встречаться синтаксис {}. Он предназначен только для официального сервиса NovelAI. Так же усиливает акцент, как и (), но акцентирование увеличивается только в 1,05 раза вместо 1.1 с (). Поэтому если прям точь в точь повторить результат с понравившегося промпта, что увидели в интернетиках, то используем (слово:1.05) или видим {{}}, то используем (слово:1.1025)... А лучше почитайте https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Features для понимания всяких тонких фишек.
Ну надеюсь всё правильно описал расписал. Если есть вопросы спрашивайте, если они в рамках понимания моего разума, то отвечу. Ниже приложу пару примеров изображений и промптов к ним, которые способна выдать модель. К слову через эту модель лучше генерить всякие анимешные арты ибо они там получаются лучше всего.
Мои:
((masterpiece)), painting of a ((Mandalorian)) bounty hunter, Star wars, Tatooine, space, stars, art by John J. Park
Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry
Steps: 150, Sampler: Euler, CFG scale: 11, Seed: 3998559443, Size: 512x704, Model hash: 925997e9
((masterpiece)), girl,red dress,short hair,summer, twintails, black hair,
Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry
Steps: 150, Sampler: Euler, CFG scale: 11, Seed: 3013799092, Size: 512x704, Model hash: 925997e9
copic, thick outlines, {{mohawk, shaved sides}}, 1girl, {vibrant}, deep shadows, deep space, {{80s, scifi, movie poster}}, skin tight spacesuit, jumpsuit, {power armor}, {{small breasts}}, closeup, detailed eyes, torso, headshot
{{BEST QUALITY}}, {{MASTERPIECE}}, {{HIGH RES}}, {{CINEMATIC LIGHTING}}, {{DETAILED}}, {{TELEPHOTO LENS}}, beautiful hd background, high detailed background, {realistic shadows}, HD shadows, {{{midjourney}}}, tarte (hodarake), Anor Lando, avataart, Andy Livy, by dark album, god teir background art, realistic, realistic portrait, masterpiece portrait, {{{{{{MASTERPIECE}}}}}}, sharp, photo realistic, background focus, {{{{{background only}}}}}, futuristic city, future, advanced technology, neon lights, holograms, flying ships, buildings metalic silver , advanced civilization, year 5096 , science fiction, sci-fi, futuristic dome, matrix
{white hair}, {very long hair}, gloves, black yellow coat, bandaged wrist, torn clothes, {{black}} eyeshadow, black and white eyes, earrings, {{floating crown}}, {star halo}, detached wings, {{masterpiece}}, {1girl}, black smear on right side of face, space background, {goddess}, {standing on a white platform}, {star symbol on clothes}, star earrings, {{medium}} breasts, bandaged torso, patterns on eye pupils, long majestic black yellow coat, chain earrings, makeup, large black and yellow coat, inside a cathedral at night, {detailed large crown}, character focus, floating stars, presenting a menger cube, magic cubes on background, dark magic, serious, {divine}, {{teenage}}, mini universe above hand, black cubes on the background, supernova on the background, decorated hair, covered body, {{{black background}}}, light above head, spirals on background, fractal patterns, {{dirty face}}, bandaged arms, fractal background
Отличный комментарий!