Создаю криповый лес через Stable Diffusion (f222)
Автор: Иван КаминскийБалуюсь с функционалом Stable Diffusion - пытаюсь понять насколько детально с помощью нейросети можно воссоздавать в иллюстрациях пейзажи, внешность персонажей и детальные сцены из книг.
Первым, что я решил воссоздать - это локация из книги Пустой азарт - Криволесье. И посвящаю этому уже не первый блог. Кто читал, помнит с какую ебанину я создавал в Stable Diffusion, когда только начал с ней работать. Но сейчас, я уже приноровился к функционалу этой строптивой нейросетки и, впринципе, понимаю, што худа. Познал такие замечательные вещи как - "вес", матрицы, prompt from file or textbox, X/Y plot (особенно Prompt S/R), img2img и inpaint. И теперь как будто бы умею генерить что-то удобоваримое.
В этот раз работаю с моделью f222 - в гайдах прочёл, что это самая эффективная вещь, если нужна детализация.
Создавал в одном из стандартных разрешений 512*768. Но вроде нейросетка прекрасно справляется с пейзажами и выше этого предела - 1280*768, а то и все 1920*1060! Была бы видюха по мощнее)
Но вроде есть функция апскейла, когда из картинки низкого разрешения, делают картинку высокого разрешения. Вот только у меня что-то не получается...
Ещё можно повысить разрешение через функцию img2img, ставя ползунок Denoising на значение "0".
Есть у кого советы как более качественно делать апскейл?
А вообще, я так понимаю, если грамотно эксперементировать с "весами" и матрицами, то в потенциале можно воспроизвести любую сцену из сюжетов наших книг. Вот только проблема в том, нужно много чего учитывать в уме, а лучше вообще записывать каждый свой шаг, потому как любое твоё мельчайшее изменение в промпте, может кардинально похерить всю картинку. Вот я почти идеально сгенерировал пейзаж Криволесья. Не хватает только живности, которым лес изобилует.
В общем нужен балансировать между отдельными понятиями в вашем промпте. И чем их больше, тем это сделать сложнее. Гораздо быстрее сначала создать пейзаж, а потом добавить отдельные декорации через функцию inpaint.
Вот только когда я захотел добавить другую, более мелкую, живность, то столкнулся с проблемами. Похоже нейросети трудно добавлять мелкие детали на изображение такого маленького разрешения. Фигуру человека, ладно, нейросеть хорошо знает и может хоть микроскопически сгенерировать. Но например с такими существами как, рысь, уже возникают траблы.
Тут можно воспользоваться фотошопом. Я попытался. Сгенерировал рысь, вырезал её контур и вставил в картинку, уменьшил, повернул, поигрался с цветами - но знаете, такое себе получилось, ибо рысь при уменьшении сильно потеряла в чёткости, превратившись в размазанное пятно. Тут наверно еще и надо фотошоп осваивать, шобы грамотно такое проворачивать.
Вот только оно мне надо? Я взялся за нейросеть, как раз ради того, чтобы сильно не е*аться с фотошопом.
Остаётся генерить в более высоком разрешении. Но тут проблема - один и тот же промпт в разном разрешении может давать разный результат. То есть не получится играясь с вводными словами найти нужное изображение в низком разрешении, а потом сгенерить его в высоком. Нет! Тут нужно заново настраиваться, а изображения в высоком разрешении потребляют прям много ресурсов вашей видюхи.
Тут положение может спасти только апскейл, который непонятно как работает. Ну и ещё, загружая картинку в img2img, иногда может повести.
Короче, вот такие у меня эксперименты. Тема с нейросетями меня жестко так втянула.