August 28, 2023

Размер картинки в Midjourney, или как работает upscale

Для каждого запроса Midjourney генерирует сетку из нескольких изображений с низким разрешением. Когда вы выбираете нужное изображение для увеличения кнопками U1-U4, вы используете одну из моделей масштабирования (апскейла). Моя статья расскажет об этих моделях в Midjourney v4 и Niji.

Сначала про размеры в сетке (гриде)

Размеры изображений в сетке зависят от соотношения сторон. Я приведу самые популярные варианты для v4:

  • Для квадратной картинки 1:1
    размер 512 × 512 пикселей для каждого из четырёх изображений в сетке
  • Для изображений 2:3 или 3:2
    512 × 768 или 768 × 512 пикселей
  • Для изображений 9:16 или 16:9
    512 × 896 или 896 × 512 пикселей
  • Для изображений 1:2 или 2:1
    512 × 1024 или 1024 × 512 пикселей

💡Разрешение картинок в v5 в два раза выше. Пока что в пятой модели нельзя увеличить картинку: если вы нажмёте на одну из кнопок U1-U4, бот просто пришлёт вам нужное изображение из сетки. Такое «увеличение» не тратит времени из тарифа.

Как выбрать тип апскейла

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

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

Если параметр не указан, то будет использоваться “Regular upscale”. Для использования других типов увеличения, добавьте в конец запроса параметр “--uplight”, “--upbeta” или “--upanime”, я расскажу о них дальше.

«Необратимость» запроса

Если вы отправите боту запрос вместе с параметром увеличения, например:

a cute cat sleeping in a knit globe --uplight

То когда вы нажмёте на одну из кнопок U1-U4, Midjourney будет использовать эту модель увеличения. Это логично, ясно-понятно.

Я уже писала выше, что апскейлеры немного меняют изображение и иногда выбранный тип увеличения может делать картинку хуже. Но как изменить тип апскейла уже после того, как вы отправили запрос?

Если вы хотите попробовать разные типы увеличения, используйте кнопки “… redo”, которые появятся под первым апскейлом картинки:

Обычный (regular) тип увеличения

“Regular upscale” используется в Midjourney v4 по умолчанию. Он позволяет увеличить каждую из сторон выбранного изображения в два раза. То есть, квадратное изображение размером 512 × 512 пикселей увеличится до 1024 × 1024 пикселей.

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

Light upscale

--uplight

«Лёгкий» апскейл увеличивает изображение до 1024 × 1024 пикселей, добавляя меньшее количество деталей и прорабатывая текстуры. Считается, что он лучше подходит для увеличения лиц, проработки гладких линий, или если вы используете ранние модели Midjourney.

Beta upscale

--upbeta

"Beta upscale" увеличивает размеры исходного изображения в четыре раза, до 2048 × 2048 пикселей, стараясь не добавлять на изображение новых деталей.

Я часто встречаю параметр -upbeta в запросах других людей: этот тип масштабирования хорошо «сохраняет» оригинальное изображение, которое к тому же получается в гораздо большем разрешении. Минусом может быть недостаточная чёткость деталей по сравнению с другими типами увеличения.

Нужно больше деталей?

После того, как вы увеличите изображение любым типом апскейлера, вам станет доступна ещё одна модель — “detailed upscale”, увеличивающая оригинал в три раза до 1536 × 1536 пикселей. Этот тип масштабирования был стандартным для моделей Midjourney v1-v3.

Его главная особенность заключается в том, что он пытается максимально детализировать исходное изображение. Это может приводить к неожиданным результатам, в случае с нашим котёнком — к неприятным результатам:

Эта модель мне никогда не нравилась. Кажется, что в ней не хватает контроля над результатом: она просто детализирует всё, до чего может дотянуться. И в большинстве случаев мои картинки она делает пугающими и непривлекательными.

Анимешникам — анимешное

--upanime

Если вы используете Niji, то по умолчанию в ней используется “anime upscaler” — апскейлер, рассчитанный на увеличение иллюстраций в стиле аниме. Как “regular” и “light”, он увеличит исходное изображение до 1024 × 1024 пикселей.

Этот тип можно использовать не только в Niji — вы можете добавить к изначальному запросу параметр "--upanime", тогда Midjourney будет использовать его.