Читать книгу: «Dezgo – рисующая нейросеть», страница 2
Функции Dezgo (краткое описание)
В настоящий момент я наблюдаю у него наличие 9-ти функций. Приведу их тут именно в том порядке, в каком они расположены на сайте.
1) Text-to-image XL – генерация по тексту картинок размеров XL или Flux. В действительности это три функции, потому что в правом верхнем углу окна данной функции имеется опция выбора между «Flux», «XL Lightning» и «XL». И это разные функции, достаточно сказать, что у «XL Lightning» и «XL» есть у каждой свой набор нейросетей, а у Flux на данный момент фактически вообще нет никаких настроек. Если я правильно понял, XLL отличается от XL более быстрой работой и на 60% большей «дешевизной», под которой подразумевается что, если Dezgo бесплатный? Вероятно всё же деньги, так как в платном режиме плата за генерацию картинок взимается, и в размерах XL она выше, чем не в XL, вроде бы 133 картинки за доллар. Максимальный размер картинок в XL и XLL одинаков – 1016x576, 576x1016 и 768x768. Размеры картинок Flux на сегодня самые большие в Dezgo – 1344x768, 768x1344 и 1024x1024. Функция Flux была добавлена совсем недавно, выражаясь точнее, буквально на днях, я с ней фактически ещё не знаком, потому мало что могу сказать про неё, по-моему она работает нестандартно в сравнении с прочими функциями Dezgo, и соответственно потребует отдельного освоения рисования в ней, зато у неё минимум настроек, считай нет совсем, осваивать придётся не так много. Что касается функций XL и XLL, их сети на мой взгляд относительно недружественны к новичкам, они не дают вам лучшего качества, если для этого не приложить усилий, особенно при рисовании людей, я долгое время думал, людей в них вообще нет смысла рисовать (исключая крупные планы), настолько всё у меня получалось плохо, на данный момент отчасти поменял мнение – но лишь о некоторых из них, не о всех. В любом случае, как минимум при рисовании не людей они и для новичка имеют свои плюсы, главный из которых конечно же размеры картинок. Размер всегда имеет значение так или иначе.
2) Text-to-image – генерация картинок по тексту. Максимально возможные размеры картинок при генерации: 384x672 или 672x384, или в варианте квадрата 512x512. Мелковато конечно, но терпимо. Кроме того, есть функция «upscale», позволяющая увеличить картинки в два раза, есть другие нейросети в интернете, тоже увеличивающие картинки. На мой вкус горизонтально ориентированные изображения выходят тут слишком уж мелкими, и никаким увеличением это не исправить, качество получается низковатым, а вот в вертикальной ориентации всё выглядит вполне неплохо. На данный момент выбор нейросетей в text-to-image наиболее широк – 31 (против 12 суммарно в XL и XLL). Вдобавок у Dezgo есть несколько функций перерисовок, ориентированных на работу с ней – они имеют тот же набор нейросетей, иными словами, могут рисовать то же самое, что позволяет и перерисовывать с наименьшими отклонениями от оригинала. Почему они ориентированы именно на text-to-image, почему именно у неё так много сетей? Потому что ещё недавно именно она была основной для Dezgo. Flux-функция появилась только что, XLL в начале года ещё не было, Dezgo быстро развивается. Знаменательными достоинствами text-to-image являются, во-первых, собственно ориентированность на неё функций перерисовок, что расширяет возможности по редактированию картинок, во-вторых, опять же большое количество нейросетей, и в-третьих, конкретно для новичков, хорошее качество без затей. По умолчанию в ней выбрана для вас сеть RealDream12, которая отлично рисует, не требуя никаких выкрутасов, чтобы добиться качественности графики или эффектности контента, комфортная сеть во всех отношениях, поддерживает разные спецэффекты, чего нельзя сказать про многие другие сети, по-моему идеально реалистично рисует людей, способна рисовать в самых разнообразных стилях (хотя заставить её отклоняться от реализма не всегда легко).
3) Controlled Text-to-image – перерисовка картинки по тексту. Во многом повторяет предыдущую функцию – создаёт картинки тех же размеров (384x672 или 672x384, или 512x512), имеет тот же список из 31-ой нейросети. По сути это тоже генератор картинок, просто использующий картинку-образец как способ задать часть параметров графическим путем, а не текстом. Ну например, чтобы персонажи рисовались приблизительно в такой же позе, приблизительно на таком же удалении, приблизительно в такой же одежде, и т.д. Он не копирует в новую картинку ни пикселя информации из старой, он распознаёт, что там есть, и воспроизводит с той или иной степенью точности. Воспроизвести с высокой точностью, близкой к 100%, с абсолютной похожестью, чтобы это выглядело чуть ли не как полная (или исправленная заданным вами образом) копия, можно только если исходная картинка была сгенерирована ровно той же нейросетью, в какой вы её здесь правите, это надо понимать. Нейросети рисуют по-разному, и другая просто не сумеет выдать вам ту же графику, ту же стилистику, те же физиономии персонажей. Что-то близкое есть шансы, но прям один в один никак. Степенью схожести можно управлять с помощью настроек, т.е. вам не обязательно генерировать схожие картинки, вам доступно переносить в новое изображение определённые детали со старого. Или не переносить фактически ничего. Снова повторюсь, это генератор картинок, не редактор, но его особенность такова, что он в определённой мере способен исполнять функции редактора, имитировать их. Очень важный момент: так как Controlled Text-to-image создаёт картинки с нуля, она абсолютно не зависит ни от качества исходной картинки, ни от её размеров. Главное, чтобы объекты на исходной картинке можно было распознать (если они не распознаны, они будут сгенерированы случайным образом, то есть всё равно будут, просто другие). Вы можете взять махонькую картинку, фигового качества, можете вырезать из картинки с множеством персонажей нужного и подсунуть для перерисовки только его, и даже если он с ноготок размером, он нарисуется в полном качестве в полный размер. Но опять же это всё имеет отношение прежде всего к исходным картинкам, сгенерированным в Dezgo, так как объекты на них гораздо лучше распознаются его функциями.
4) Image-to-image – тоже перерисовка картинки по тексту. Условно нечто вроде упрощённой версии предыдущей функции, так как имеет минимум настроек. Однако она работает совершено по другому принципу. Я сейчас буду излагать свои домыслы, я нигде это не прочёл, я пришёл к такому выводу, глядя на полученные здесь результаты. По моему мнению, функция Image-to-image тоже генерирует изображение на основе вашего текста и заданной вами исходной картинки, чем отчасти подобна «controlled text-to-image», но вам оное даже не показывает, вы его не увидите. Это невидимое изображение и ваша исходная картинка смешиваются по некоему сложному алгоритму с заданным вами в настройках функции процентным соотношением, и вот эта смесь и выдаётся вам в качестве результата. Таким образом данная функция позволяет более плавно менять исходную картинку. Чем меньше вы задали в настройках процент допустимых изменений, тем менее картинка изменится, но и тем менее её в принципе можно будет изменить хоть в каких-то деталях. Вот и ловите золотую середину. На 40% изменения будут достаточно незначительными, на 60% уже очень большими, а если установить уровень допустимых изменений на 100%, исходная картинка перестаёт влиять на результат, и функция Image-to-image превращается в просто генератор изображений по тексту. Принимает картинки для перерисовки только в размерах не более 512x512, если они больше, они будут пропорционально уменьшены при загрузке на сайт. Создаёт изображения тоже не более 512x512 – соответственно, если они не квадратные, а вертикальные или горизонтальные в характерных портретной или ландшафтной пропорциях Dezgo, на выходе это будет 288x512 или 512x288, что мелковато. Потому, если мы хотим далее получить полные размеры (384x672 или 672x384), придётся созданную здесь картинку перерисовывать снова уже с помощью Controlled Text-to-image. Помимо прочего, Image-to-image позволяет осуществлять плавную конвертацию изображений, сгенерированных в одних нейросетях Dezgo, в стиль других. Вот тут она реально хороша.
5) Upscale – увеличение размеров картинок в два раза. Размеры загружаемой на сайт картинки не должны превышать 768x768, если они превышают, картинка при загрузке будет автоматически пропорционально уменьшена в размерах, чтобы не превышать 768 пикселей ни по длине ни по ширине.
6) Inpainting from text – перерисовка конкретных деталей. Указываете (текстом), какую деталь картинки хотите изменить, указываете (текстом), как должен выглядеть конечный результат (без особых подробностей, если те не относятся к изменяемой детали). И собственно всё. Деталь будет перерисована. А весь остальной рисунок нет (кроме тех его элементов, что соприкасаются с указанной деталью, и потому без их перерисовки никак не обойтись). В общем, это такой, можно сказать, хирургический инструмент внесения в изображения точечных очаговых правок. Что порой довольно удобно. Позволяет редактировать и сторонние картинки, а не только созданные в Dezgo. Если конечно вас устроит размер. Картинки для перерисовки принимаются в функцию не более чем 512x512, если они больше, произойдёт автоматическое уменьшение размеров при загрузке. На выходе можно получить картинку максимум тех же размеров – 512x512. В целом качество контента исправленной части рисунка здесь наверное выходит несколько хуже, чем у функций редактирования, которые перерисовывают всю картинку с нуля (пункты 3 и 4), он смотрится менее гармонично. Ну и опять же размеры мельче (чем у пункта 3), если мы рисуем не в квадратной ориентации. Посему далее есть смысл отправиться в функцию Controlled Text-to-image и перерисовать полученную здесь картинку уже там. Зачем тогда её править здесь, почему не сразу там? Там крупные изменения сложно внести в отдельную часть, надо задавать низкий процент сохранения деталей, а когда нужные изменения уже произведены, они будут распознаваться и гораздо чаще рисоваться именно такими и на высоких процентах в Controlled Text-to-image.
7) Edit image from text (это название в меню сайта, а в окне функции она обозначена как «Edit image with instructions») – редактирование картинки по заданным текстом инструкциям. Позволяет вносить более существенные изменения, чем редактор из предыдущего пункта (Inpainting from text), не по одной детали править, а некие преобразования делать, так же не меняя то, что не указано менять. Картинки для перерисовки принимаются в функцию не более чем 512x512, если они больше, произойдёт автоматическое пропорциональное уменьшение размеров при загрузке. На выходе можно получить картинку максимум таких же размеров – 512x512. Качество картинок убойно низкое, просто никакущее, потому их обязательно придётся перерисовывать потом в Controlled Text-to-image.
8) Remove background – удаление фона. Возвращает картинку с персонажами на прозрачном фоне или чёрно-белую маску (это когда фон закрашивается чёрным, а фигура персонажа белым). В качестве персонажей могут выступать не только люди, например, я нарисовал в Dezgo собаку, и с её картинки фон тоже удалился без проблем. И у сторонних картинок (созданных не в Dezgo) фон удаляется, и маски для них создаются. Максимальные размеры принимаемых картинок – 768x768, при больших размерах они автоматически уменьшаются при загрузке на сайт. При переключении опции между прозрачным фоном и чёрно-белой маской, если я до этого уже запускал данную функцию для какой-нибудь картинки, у меня почему-то происходил сбой функции и она переставала возвращать хоть какой-то результат – думает, думает, и потом ничего. Лечится перезагрузкой страницы.
9) Text-to-video – создание видео по тексту. Бета версия. Не юзал, потому что тут всё не так просто. Во-первых, надо иметь Discord, коим я никогда не пользовался. Во-вторых, даже если его имеешь… Насколько я понял, предполагается, что люди будут отправлять свои тексты, будет осуществляться голосование (лайками) среди всех пользователей, и каждые пять минут по самому популярному тексту будет генерироваться видео.
Настройки функций
У многих функций Dezgo есть настройки одинакового типа. Скажем, «prompt» присутствует в 6-ти функциях из 9-ти. Чтобы не описывать одни и те же настройки в разных функциях, я выписал большинство из них сюда.
Prompt – окно, в котором мы задаём текст с описанием, что должно быть нарисовано на картинке. Писать надо на английском. Чуть ниже о данной опции будет рассказано детальнее в отдельной главе.
Model – выпадающий список нейросетей, из которых можно выбрать желаемую, рисующую в желаемом стиле. Выбор есть не во всех, но в большинстве функций.
Resolution – здесь можно задать, в каких размерах рисовать картинку – в горизонтальных, вертикальных, в форме квадрата, есть несколько промежуточных значений между тремя перечисленными вариантами. При рисовании людей лучшее качество всегда получается, если выбрать вертикальную ориентацию (перевести ползунок настройки до конца влево), ну и рисовать их крупным планом. При перерисовках картинок размер исходной картинки не имеет существенного значения, но вот ориентация имеет, надо перерисовывать в строго тех же пропорциях, иначе полученная картинка исказится – её содержимое растянется или сожмётся, т.е. некорректно изменится в пропорциях.
Negative prompt – (для краткости будем называть это далее «негативами»), тут вы можете задать текстом, что не должно быть нарисовано на вашей картинке. В некоторых функциях по умолчанию много чего уже прописано в этом окне, например «лишние конечности», «плохо прорисованное лицо» и т.д. В некоторых ничего не написано. Я так полагаю, здесь нельзя задать всё что ни захочешь, можно только определённые вещи. Какие конкретно – вопрос, требующий своего изучения.
Guidance – ползунок, задающий послушность ИИ, т.е. насколько точно он будет исполнять ваши указания. При рисовании функциями обычных размеров и XL крайние значения для данного параметра ни влево ни вправо не желательны, иначе качество создаваемых картинок практически гарантированно радикально испортится. Рекомендуется держать его в диапазоне 6-10. Но наверное лучше вообще не трогать без особой нужды. А вот у функции рисования XLL он по умолчанию стоит в крайнем правом положении, и вроде бы ничего не портит. Шкала там тоже другая – дробная от 1.0 до 2.0. Причём у неё только 10 возможных значений, между которыми можно переключаться, тогда как у обычных и XL функций их 200.
Sampler – определяет метод выборки, используемый для создания изображения. Это как бы дословный перевод краткого описания данной настройки на сайте Dezgo. От себя добавлю, кажется, тут вам предлагают выбор «рисовальщика» – того, что ответственно за рисование картинки, под чем подразумевается во-первых, качество её графики, и во-вторых, собственно её контент – то, что конкретно на ней будет нарисовано, отчасти его задаёт нейросеть, а отчасти сэмплер. Всего их тут 6. Все они так или иначе взаимосвязаны, насколько и каким образом, зависит от конкретной сети и в некоторых сетях от конкретной картинки (даже не от текста), при этом всегда есть как минимум два сэмплера (исключений я не видел), рисующие на 99-100 процентов одно и то же, ту же самую картинку. Бывает что и больше рисуют одну и ту же, или словно разбиваются на группы – одна группа сэмплеров рисует один в один одно, вторая очень похожее друг на друга иное, третья что-то ещё иное. Бывает, почти все рисуют достаточно по-разному (кроме той пары, что совпадает полностью). Я бы сказал, новичку в работе с нейросетями может быть лучше не заморачиваться насчёт сэмплеров, просто не трогать эту настройку и всё. Я очень долго так и делал. У большинства сетей по умолчанию уже выбран оптимальный сэмплер, дающий наилучшее или не хуже чем у других качество изображений. Хотя есть и отдельные исключения.
Image – окошко, куда надо перетащить или загрузить картинку. Есть только у функций, предполагающих перерисовку или преобразование картинок.
LoRA – новичку это опция по-моему без надобности, есть с чем разбираться и без неё. Просто приведу вам перевод её описания с сайта Dezgo: LoRA это расширение, которое изменяет поведение ИИ, обучая его новой концепции, стилю, персонажу или объекту. Вы можете импортировать LoRA из CivitAI в Dezgo. Просто скопируйте хэш SHA256 LoRA, который вы хотите импортировать, и вставьте его ниже. Он будет загружен автоматически на лету. Убедитесь, что он имеет тип «LORA», базовую модель: SD1.5 и размер < 150 МБ.
Format – свежий параметр, появившийся в Dezgo относительно недавно. Позволяет указать формат сохраняемых файлов картинок. Можно выбирать между Png, Jpg и WebP. По умолчанию выбрано Png. Картинка генерируется в выбранном формате, то есть его ей надо задавать до генерации, а не после.
Seed – ключевой элемент определения случайных деталей картинки. Являет собой целое десятизначное число, к примеру «4172394280». Если не задан, всякий раз выбирается случайным образом. Потому при генерациях изображений они у вас всякий раз разные. Если вы зададите seed и не будете менять никаких иных настроек, при одном и том же тексте в prompt у вас будет генерироваться всегда одна и та же картинка – в некоторых сетях строго одна и та же, без единого отклонения, в некоторых отдельные элементы чуть-чуть могут и меняться. Значение seed только что нарисованной картинки отображается непосредственно над ней.
Transparent background – есть лишь у XL функций. Если включить, будет делать фон генерируемых изображений прозрачным. Чтобы он мог быть прозрачным, нужно в настройке «Format» задать «Png», и точно не надо «Jpg», так как графический формат jpg не поддерживает прозрачность. Если вы забыли задать Png или забыли включить опцию прозрачности, нарисовали картинку, и вдруг поняли, что неплохо бы сделать её фон прозрачным, не беда, скопируйте seed-номер картинки в поле «seed» и просто перерисуйте её.
Специальные команды Dezgo
В Dezgo есть две особые команды, каковые, как я понимаю, действуют во всех его нейросетях. Знать эти команды очень важно, так как они чрезвычайно облегчают жизнь в некоторых случаях, существенно повышая восприимчивость ИИ к вашим текстовым инструкциям. Позволяют усиливать и ослаблять отдельные параметры в оных инструкциях на ваше усмотрение. Все параметры, какие бы вы ни задавали в тексте, изначально имеют… назовём это «значимостью для ИИ», так вот, значимость их, условно говоря, нейтральная. Они считаются рядовыми инструкциями, каковые надо исполнять без чрезмерного усердия. Придать им большую или меньшую значимость можно двумя способами – либо плюсами и минусами, либо дробным числом от 0 до 2. По умолчанию (если вы ничего не указали) их значение значимости равно 1, числа от 1 до 0 уменьшат значимость, числа от 1 до 2 увеличат. Примеры:
Stars– and planets++
(Stars)0.8 and (planets)1.2
В переводе «звёзды и планеты». Звёзды мы ослабили, их будет нарисовано меньше (чем было бы без ослабления), а планеты усилили, их нарисуют больше количественно, или крупнее, или и то и другое. Усиление с помощью дробных чисел надо применять только со скобками, иначе оно не работает. Также можно усиливать группы параметров, опять же заключая их в скобки:
(Stars and planets)++
(Stars and planets)1.2
(Stars and planets:1.2)
Все три примера задают ровно одно и то же – усиливают на два пункта и звёзды и планеты, чтобы их количество на картинке, яркость, крупность – что-то из этого набора добавилось. Третий пример (с двоеточием) – альтернативный способ применить усиление дробным числом для слов, заключённых в скобки, оно влияет на все слова, что есть внутри скобок, а не только на последнее.
Немного деталей:
1) Дробные числа надо писать только через точку. Запятая не считается в Dezgo частью числа при усилении, то есть если вы напишете «1,5» вместо «1.5», вы зададите усиление, равное «1.0».
2) Дробная часть может быть точно не скажу сколько цифр, так как задачи выяснить это я себе не ставил, но (по-моему) как минимум принимает три цифры после точки, то есть вот так тоже можно писать: «1.999», и это не будет равно «2.0» или «1.9», разница и в сотые и в тысячные влияет на конечный результат рисования, пусть и несущественным образом (для тысячных). В Dezgo на его сайте указаний про сотые и тысячные нет, в нём в примерах есть только десятые, т.е. остальное – мой вывод, в коем даже я не уверен на 100%, но на 90 пожалуй уверен.
3) Влияние плюсов и чисел может не совпадать. Часто совпадает, но не всегда. Например, у меня при проверке, как это работает, в сети RealDream12 пять плюсов дали примерно такой же результат, как число 1.6, хотя оно означает 6 пунктов усиления, а не пять. Закономерность это или единичная случайность, я не проверял, так как по идее это неважно. Я несколько раз проверял 10 плюсов и число 2.0, и почти во всех проверках (но не во всех) результат рисования был строго одинаков. Прям в точности, вообще без отклонений.
4) Усиление не всегда работает очевидным образом. Например, я нарисовал ангела, и пытался перерисовать, проминусив крылья (с целью уменьшить их). Но ничего не менялось, несколько минусов вообще ничего не дали. А всё дело видимо в том, что у меня у ангела были крылья на всю картинку (ландшафтной ориентации). Нейросети Dezgo часто такое делают – вписывают крылья персонажей от угла до угла, ровно на всю картинку, по всей её ширине, для эффектности кадра, так сказать. То есть они решают свои задачи – гонятся за эффектностью, минусы в данном случае противоречили этой задаче, вся эффектность картинки, весь её контент, держался на том, что крылья касались кончиками верхних её углов. Смысла уменьшать при таком раскладе сеть видимо не нашла. Ну или была какая-то иная причина. Так или иначе, это не всегда заметно работает.
5) Усиление «0.0» равноценно удалению слова, которое оно, ослабляет, из текста. Влияние слова на смысл текста прекращается. Порой это удобно – исправил циферку, параметр заработал, исправил снова на ноль, и он опять не действует. Однако нейросети не всегда благосклонно относятся к нулевому усилению. Пару раз, когда я его использовал, они вообще переставали реагировать на мой текст, выводя случайную простую картинку, никак с ним не связанную. Правда я использовал его относительно много раз, а вот таких сбоев было всего два.
6) Задавать дробную часть, если у нас усиление равно целому числу, необязательно. Мы можем спокойно писать «2» вместо «2.0» или «0», вместо «0.0».
Важно учитывать, что излишнее усиление может приводить к порче картинки – к порче и искажению её графики. Более всего характерно для обычных сетей, в XL выражено заметно слабее, там оно зависит конкретно от того, что за параметр усиливаешь, например, если цветность, с ней можно и переборщить, а если фантазию («fantasy» – слово, влияющее только на сюжет), ничего плохого в большинстве сетей не произойдёт, ну а в некоторых отдельных может быть качество графики и подупадёт, но не порядок. В многих обычных сетях всё равно что усиливать, при избыточном усилении картинка портится, и порой радикально, в них я принял себе за правило исходно не ставить более 3-х плюсов. Всего лишь трёх. Три никогда не приводили у меня к проблемам, 4 – сложно сказать, более 4-х уже значительно повышают вероятность сильно ухудшить графическое качество изображения. Тем не менее, гарантии, что это обязательно произойдёт, тоже нет, иногда и пять, и шесть плюсов у меня принималось как будто даже без мелких отрицательных последствий. Кстати, не стоит забывать о перерисовщиках. С их помощью некоторые испорченные переусилением изображения, если таковое всё же произошло, есть шанс нормализовать, как минимум те, у которых возникли проблемы с чёткостью, размазыванием цветов, шумами или зернистостью. Что касается минусов, ими можно пользоваться без каких-либо ограничений в каких угодно сетях. Картинку портит чрезмерное усиление, а они означают усиление всегда менее 1.
Функция flux усиление не поддерживает. Во всяком случае при моих экспериментах с ней реакции на усиление у неё было ровно ноль. Правда я проверял это именно в день её добавления в Dezgo, может быть со временем поддержку усиления в неё и добавят. Но по-моему скорее всего нет, она работает иначе, чем прочие функции Dezgo, более чётко реагирует на ваши тексты, есть ощущение, что она и не нуждается в усилениях.