Новая документация, генерация фрагментов и тюнер стилей — делимся обновлениями в Midjourney V5
В тексте наш backend-разработчик Вова рассказывает о нововведениях и различиях между релиз- и альфа-версией пятой Midjourney. Спойлер: разработчики уделили внимание не только процессу генерации, но и UX.
Привет! Меня зовут Вова, я backend-разработчик в Selectel. В прошлом году Midjourney перешел на пятую версию, а недавно объявил об альфе шестой. Мне захотелось запечатлеть хронологию нейронки, поэтому начал с актуальной версии — 5.2. Если формат покажется интересным, то протестирую шестую Midjourney и поделюсь результатами с вами.
Используйте навигацию, чтобы выбрать интересующий блок:
Генерации
Хаос и странности
В версии 5.2 появилось два параметра, которые влияют на эстетическую составляющую сгенерированных изображений.
- --chaos или --c. Принимает значение от 0 до 100. По умолчанию равен 0. Чем больше значение, тем более непохожими могут быть изображения в сгенерированной сетке.
- Экспериментальный параметр --weird. Принимает значение от 0 до 3000. По умолчанию равен 0. Чем больше, тем более странной будет генерация.
Параметр weird полностью соответствует названию не только из-за странных картинок, но и отсутствия детерминированности. Несовместимость с параметром seed и, как следствие, генерация разных изображений по одному «зерну» заявлена в документации.
Частичная генерация
В Midjourney существенно расширили функциональность для обработки изображений после первичной генерации. Сегодня доступны такие опции:
- Vary (Strong) — генерирует новое изображение с опорой на текущее;
- Vary (Subtle) — генерирует новое изображение, схожее по композиции и стилю, но более детализированное;
- Vary (Region) — исправляет фрагменты;
- Upscale (2x) / Upscale (4x) — увеличивают ширину и высоту изображения в указанное количество раз. Исходное изображение (1024x1024) можно увеличить до 2048x2048 или 4096x4096 соответственно;
- Zoom Out (2x, 1.5x, Custom) — генерирует «рамку» вокруг исходного изображения, будто мы удаляемся назад;
- Pan (⬅➡⬆⬇) — «продлевает» изображение в указанную сторону.
Ура — в списке доступна самая желаемая функция: теперь можно перерисовать отдельные фрагменты изображений. При нажатии на кнопку Vary (Region) открывается редактор, в котором можно выделить прямоугольную или произвольную область и отредактировать запрос. Правда, текущий редактор не самый удобный.
- Изображение нельзя увеличить.
- Выделение произвольной области не прощает ошибок. В случае «неровности» проще стереть и нарисовать заново.
- Выделенную область нельзя стереть, можно только отменить кнопкой Undo в верхнем левом углу.
Однако функция перерисовки уже есть — этого пока достаточно. Уверен, в будущем редактор станет более удобным. Главное, что это не единственная функция, которой может похвастаться пятая версия.
По умолчанию кнопки Vary (Strong) и Vary (Subtle) изменяют изображение по своему усмотрению, но через команду /settings можно включить режим Remix. Это позволит уточнить запрос для перегенерации.
Видео
В четвертой версии алгоритма меня разочаровало, что отключили параметр --video. Я даже уточнил у поддержки и получил ответ, что такой функциональности «нет и не будет». Но что-то поменялось, этот параметр вернулся и работает для всех модификаций пятой версии модели.
Кроме того, в Midjourney v5 создавать видео можно не только для первичных генераций, но и вариаций. Если изначальный запрос содержит параметр --video, все перегенерации будут с видео.
Массовые генерации
Массовые операции — это еще одна функция, за которую хвалили Stable Diffusion. Теперь она доступна в Midjourney.
Комбинации
Midjourney реализует синтаксис для создания комбинаций при запросе.
Что важно учитывать:
- В фигурных скобках через запятую перечисляются варианты;
- Запятая в варианте экранируется обратным слэшем;
- Вариант может быть вложенным списком вариантов;
- Если в запросе несколько списков, используется их декартово произведение;
- Варьировать можно все: ссылки на изображения, части запроса или параметры.
Например, запрос /imagine A {sculpture, painting} of a {seagull {on a pier, on a beach}, poodle {on a sofa, in a truck}} превратится в следующие команды:
Если в команде будет синтаксис комбинаций, нужно будет подтвердить действия. При этом в диалоге можно посмотреть, как именно раскрылись указанные комбинации.
Тюнер стилей
Тюнер стилей (style tuner) — это необычный и дорогой инструмент для создания визуального стиля на основе опроса.
Алгоритм работы:
- Пользователь вводит команду /tune с желаемым запросом;
- Midjourney уточняет количество стилей: 16, 32, 64 или 128 — генерация одного стиля занимает примерно 0.01 час на GPU;
- В течение двух минут будет сгенерирована ссылка на тюнер — например, такая;
- Пользователь выбирает один стиль из пары изображений или в случайном порядке. При этом можно не выбирать, если в первом варианте оба изображения не понравились.
- Тюнер генерирует уникальный код, который можно использовать в запросах. Например, так: /imagine cat --style wi1MSMe3ruIbeSp0L8bt6T.
Входные параметры для создания тюнера наталкивают на вопрос: можно ли использовать коды стилей в других запросах? Ответ: да, но это может привести к необычным результатам.
Тюнер стилей доступен только для fast-генерации, так что это дорогое удовольствие. Как можно бюджетно воспользоваться этой функциональностью?
- Используйте случайные стили. Например, параметр --style random-X-Y, где X — это количество стилей (16, 32, 64 или 128), а Y — это процент выбранных стилей (если не указать, то по умолчанию 75%).
- Выполните команду /tune. Если кто-то уже создавал тюнер с таким же запросом, бот предложит ссылки.
- Подглядите коды стилей у других пользователей. Код стиля можно подставить в ссылку https://tuner.midjourney.com/code/<код стиля>. Однако этот способ не работает для кодов, которые сгенерированы случайным образом.
Тюнер стилей совместим с параметром chaos, но не работает с параметром weird.
Работа с текстом
img2txt
Один из интересных подходов для генерации схожих изображений — конвертация изображения в текст с последующей генерацией на основе последнего.
Для описания изображения в Midjourney есть команда /describe, которая принимает на вход файл. В результате возвращает четыре варианта описания, которые можно отредактировать и отправить на генерацию.
Токенайзер
Ранее я затрагивал тему значимости определенных слов при генерации изображений. Тогда это было скорее наблюдение, а сейчас для этого есть отдельная команда — /shorten. Она возвращает список важных токенов, которые повлияют на генерацию, а также сокращенные варианты пользовательских запросов.
Интересное наблюдение: в запросе portrait of beautiful woman токенайзер считает лишним слово woman. И если запрос состоит исключительно из portrait, то Midjourney в 100% случаев сгенерирует портрет девушки.
Изменение на сайте
Сайт midjourney.com — это галерея пользовательских изображений. Раньше она частично решала вопрос доступа к своим генерациям и сохраняла лишь таблицы изображений, а одиночные картинки загружались только после апскейлинга. Так что «вырезать» четвертинку все равно нужно было вручную. Сейчас эту проблему исправили: все изображения, в том числе со старых версий Midjourney, в галерее доступны раздельно.
На скриншоте выше видно интригующую заглушку. Кажется, интерфейс генерации изображений появится в веб-интерфейсе! Документация разделилась на две ветки: Current и Legacy. При этом Legacy — это новая краткая документация по моделям ранних версий, а не просто «свалка» прошлогодней документации. Что из этого получится — увидим в будущем.
Читайте также:
неплохая нейросеть, пока нет равных, но это пока
Дарья, как думаете, за какими функциями будущее?
Сора уже показала от чего у людей сносит крышу
Увлекательно, что теперь можно перерисовывать фрагменты изображений, прикольно в общем
Дмитрий, вы уже успели протестировать?