Вестник Midjourney: обзор шестой версии модели - Академия Selectel

Вестник Midjourney: обзор шестой версии модели

Владимир Туров Владимир Туров Разработчик 19 февраля 2024

Рассказываем, что нового в Midjourney v6 и почему она лучше предшественников. Разбираем примеры генераций и тестируем новые функции.

Изображение записи

Перед началом зимних каникул, 21 декабря 2023 года, Midjourney открыли «ранний доступ» к шестой версии. Спустя почти два месяца, 15 февраля 2024, она стала стала моделью по умолчанию, несмотря на сохранившийся статус альфа-тестирования.

Заявления разработчиков

Шестая версия — третья обученная с «нуля» модель Midjourney. Процесс разработки занял около девяти месяцев. Она по-другому понимает вопросы, поэтому прошлые методы подготовки промтов могут работать не так, как раньше.

Кроме того, шестая версия более чувствительна к словам. Разработчики предлагают воздержаться от «мусора», такого как award winning, photorealistic, 4k и другого. А так как Midjourney v6 до сих пор находится в статусе альфа-тестирования, модель может в любой момент менять стили генераций.

Новая модель получила функцию outpaint и научилась дорисовывать исходные изображения. Кроме того, разработчики открыли доступ работе с Midjourney через веб-интерфейс. Обновление доступно для пользователей, которые сгенерировали более 5 000 изображений.

В начале февраля разработчики добавили функциональность «консистентных стилей» для шестой версии. Наконец, 15 февраля она становится моделью по умолчанию. Однако разработчики говорят, что это все еще альфа-версия.

Обзор нововведений

Генерация текста

В анонсе шестой версии есть краткое упоминание о «небольшом улучшении отрисовки текста».

«Minor text drawing ability (you must write your text in «quotations» and —style raw or lower —stylize values may help)».

Разработчики Midjourney

Это довольно примечательное и одновременно «мирное» улучшение, которое свойственно для каждой версии Midjourney. Сравните сами:

Запрос: monitor with text "Hello, World!".
Запрос: monitor with text «Hello, World!». Версии слева направо, сверху вниз: первая, вторая, третья, четвертая, актуальная пятая (5.2), шестая.

Можно уверенно сказать, что раньше было хуже. Четвертая версия показывает в основном корректные буквы, но совершенно неправильные слова. Пятая пытается показать результат получше, но получается только хуже. А шестая — практически безупречно. Ничего лишнего, на четыре изображения приходится всего одна ошибка.

Запрос: sign with text "Внимание!".
Запрос: sign with text «Внимание!». Слева, справа.

Очевидно, что в Midjourney поддерживаются не все «шрифты» и кириллица генерируется плохо. Вернее, это даже на кириллицу не похоже. Иероглифы я сразу отдал на генерацию Niji 6, которую принято считать наиболее восточной моделью.

Запрос: sign with text "注意" --niji 6.
Запрос: sign with text «注意» —niji 6. Слева, справа.

Niji 6 рисует правдоподобные иероглифы, половину из них даже распознает Google Translate. В общем, генерация текста доступна только на английском языке. Тогда как много текста может «написать» модель в пределах одной картинки?

Запрос: paper with text "The quick brown fox jumps over the lazy dog".
Запрос: paper with text «The quick brown fox jumps over the lazy dog». Слева, справа.

Если есть деньги и бюджет, можно получить что-то похожее на панграмму The quick brown fox jumps over the lazy dog. Но сгенерировать идеальный вариант будет затруднительно: то буквы «плывут», то слов не хватает, то порядок не тот.

Запрос: chips lays packaging with label "Internal Server Error" --style raw.
Запрос: chips lays packaging with label «Internal Server Error» —style raw. Слева, справа.

Тем не менее, корректная генерация коротких сообщений позволяет делать потешные изображения. Например, чипсы со вкусом ошибки HTTP 500 или хабратортики.

Хабраторт.
Хабраторт. Оригинал.

Консистентные стили

Borderlands 3.
Borderlands 3. Источник.

Консистентные стили (consistent styles или style references) — это тестовые алгоритмы для шестой версии, которые позволяют генерировать изображение в стиле другого изображения. 

Примеры стилей для нового алгоритма задаются через перечисление ссылок на изображения в параметре —sref. Пример:


    portrait of beautiful woman --sref https://s.mj.run/aB9U84ivF6Q

Визуальный стиль Borderlands весьма примечателен, поэтому я взял иллюстрацию выше в качестве примера.

Запрос: portrait of beautiful woman --sref https://s.mj.run/aB9U84ivF6Q.
Запрос: portrait of beautiful woman —sref https://s.mj.run/aB9U84ivF6Q. Слева, справа.

Обратите внимание: стиль Borderlands применяется не везде, но цветовая гамма весьма схожая. Опытный пользователь может отметить, что Midjourney уже давно умеет использовать другие изображения в качестве референсов. Это правда, но параметр sref заимствует именно стиль и не влияет на текстовый запрос.

Запрос: https://s.mj.run/aB9U84ivF6Q portrait of beautiful woman.
Запрос: https://s.mj.run/aB9U84ivF6Q portrait of beautiful woman. Слева, справа.

Старый способ заимствования стилей не только хуже справляется, но и добавляет лишние детали. В примере выше — вооружение и дополнительных людей.  Кроме того, в семи из восьми случаев Midjourney дорисовывает черные полоски, потому что исходное изображение не квадратное.

Следующий шаг развития — консистентный персонаж (consistent character). Звучит как удобный инструмент, например, для генерации визуальных новелл. Но сегодня эта функциональность недоступна, а дата релиза не обозначена.

Ремастер

Функция «ремастер» появилась раньше, чем вышла Midjourney v6, и имеет жесткие ограничения по версиям моделей. Тем не менее, это интересная особенность, пропущенная мной ранее.

Ремастер — это перегенерация старых изображений с использованием более новой модели. На момент написания статьи ремастерить можно изображения, сгенерированные Midjourney v1, v2 и v3. Обновленные иллюстрации рисует модель v5.2.

Найти кнопку ремастера — нетривиальная задача. Для этого нужно:

  1. сгенерировать новое изображение на старой модели или «освежить» один из запросов через команду /show и UUID запроса;
  2. увеличить изображение с помощью функции Upscale и кнопок U1, U2, U3 или U4;
  3. нажать на появившуюся кнопку Remaster.

Midjourney преобразит старое изображение.

Что разработчики еще не исправили

В ранних обзорах я показывал реакцию Midjourney на некорректные или слишком точные запросы. Раз разработчики заявляют, что шестая версия — это обученная с нуля модель, посмотрим, насколько она унаследовала особенности своих предшественников.

Защитный механизм

Запрос: e97c74d3-6547-4563-8867-758747813314 (слева), жадина-говядина (справа).
Запрос: e97c74d3-6547-4563-8867-758747813314 (слева), жадина-говядина (справа).

Хотя это не самый популярный пункт, мне он вспоминается первым. Абстрактные или некорректные запросы в 99% случаев приводят к генерации портрета девушки в ранних версиях Midjourney. Шестая версия — не исключение.

Вероятно, эта особенность связана с токенайзером и данными для обучения. Первый по-прежнему удаляет неизвестные токены, а при пустом запросе модель генерирует то, чего было больше в обучающем наборе данных.

Генерация пальцев

Запрос: hands with golden ring.
Запрос: hands with golden ring. Слева направо: четвертая, пятая, шестая версия.

В статье, посвященной пятой альфа-версии, я хвалил Midjourney, что им удалось частично пофиксить некорректную генерацию пальцев. Но результат по запросу, в котором руки, допустим, что-то держат, не радует идеальными кистями. Впрочем, никто не обещал, что Midjourney v6 будет идеальна во всех аспектах.

Запрос: hamburger in hands.
Запрос: hamburger in hands. Слева направо: четвертая, пятая, шестая версия.

Точное количество

Запрос: twelve cats.
Запрос: twelve cats. Слева направо: четвертая, пятая, шестая версия.

Считать до больших чисел Midjourney все еще не научилась: только четвертая версия смогла сгенерировать изображение с двенадцатью котами. Однако этот пример раскрывает композиционные «предпочтения» шестой модели. При запросе множества объектов она по умолчанию генерирует несколько независимых изображений.

Midjourney эволюционирует, новые «мутации» и улучшения — налицо. Посмотрим, чем порадуют следующие версии модели.