Как работает функция inpainting в Midjourney для дорисовки изображений

Ни одна нейросеть для генерации картинок не работает идеально с первого раза — и тот, кто утверждает обратное, скорее всего, никогда не пробовал создать что-то сложнее абстрактного пейзажа. Руки с шестью пальцами, размытые текстуры на заднем плане, странно «поплывший» элемент одежды — с подобными артефактами сталкивался каждый, кто хоть раз генерировал изображения в Midjourney. Буквально пару лет назад единственным выходом было запускать генерацию заново, надеясь на удачу. Или открывать Photoshop и вручную дорабатывать проблемные участки. Но в 2024 году у Midjourney появился собственный встроенный инструмент, который эту рутину радикально сократил, — inpainting, или, как его ещё называют, «vary region». А чтобы выжать из него максимум пользы, стоит разобраться, как эта функция устроена изнутри и какие нюансы всплывают при работе с ней.

Все топовые нейросети в одном месте

Что такое inpainting и зачем он вообще нужен?

Термин inpainting пришёл из реставрации живописи. Там этим словом обозначают процесс восстановления утраченных фрагментов картины — когда мастер аккуратно дописывает повреждённый участок, стараясь попасть в стиль и колорит оригинала. В мире нейросетей суть примерно та же. Пользователь выделяет конкретную область на готовом изображении, а алгоритм «перерисовывает» именно её, ориентируясь на окружающий контекст и текстовый промт. Всё остальное изображение при этом остаётся нетронутым. Ведь именно в этом и заключается главная изюминка — точечная коррекция, а не полная перегенерация с нуля. Довольно удобная штука, если задуматься: не нужно жертвовать удачной композицией ради исправления одного досадного дефекта.

Стоит отметить, что до появления встроенного inpainting пользователи Midjourney были вынуждены прибегать к обходным путям. Одни загружали сгенерированные картинки в сторонние сервисы вроде DALL·E или Stable Diffusion, где такая функция существовала раньше. Другие вручную маскировали фрагменты в графических редакторах, а потом загружали обратно через image prompt. Результат получался неоднозначный — стилистические «швы» бросались в глаза. И всё же с появлением «vary region» весь этот кривой конвейер стал не нужен.

Как запустить inpainting в Midjourney?

Сам процесс начинается не с пустого холста. Сначала нужно сгенерировать изображение привычным способом — через текстовый промт в Discord или на сайте Midjourney. После того как нейросеть выдаст сетку из четырёх вариантов, стоит выбрать наиболее удачный и увеличить его кнопкой Upscale (U1–U4). А вот дальше начинается самое интересное. Под увеличенным изображением появляется ряд кнопок, среди которых — Vary (Region). Нажатие на неё открывает редактор прямо внутри интерфейса.

Все топовые нейросети в одной подписке! 🚀

Устали оплачивать десятки сервисов отдельно и постоянно включать VPN? Появилась платформа, которая объединяет более 90 передовых ИИ в одном окне. Пишите тексты с новейшими версиями GPT и Claude, создавайте шедевры в Midjourney и генерируйте видео в Sora и Kling. Тексты, изображения, видео и музыка — всё работает на любых устройствах без «танцев с бубном».

Попробуйте бесплатно прямо сейчас! Переходите по ссылке и получите бонусные токены для старта 👉 https://clck.ru/3RNCRL

Редактор этот довольно минималистичный. Никаких десятков слоёв и настроек — только два инструмента выделения. Первый — прямоугольная рамка, которая позволяет обвести нужную зону квадратом или прямоугольником. Второй — свободная кисть (freehand tool), которой удобно обводить объекты сложной формы. Размер кисти меняется, хотя диапазон регулировки не слишком велик. После выделения проблемного участка в нижней части окна появляется поле для промта. Тут и кроется львиная доля всей «магии» — правильно сформулированный промт определяет, что нейросеть нарисует на выделенном месте. Без промта алгоритм просто попытается «заполнить пустоту» самостоятельно, исходя из контекста окружающих пикселей и оригинального описания. Иногда этого достаточно. Иногда — нет.

Что происходит «под капотом»?

Механика работы inpainting в Midjourney основана на диффузионной модели — той же, что генерирует изображения с нуля, но с одной существенной поправкой. При обычной генерации алгоритм начинает со случайного шума и постепенно превращает его в картинку, руководствуясь текстовым описанием. При inpainting же модель «замораживает» все пиксели за пределами выделенной области, а внутри неё запускает процесс диффузии заново. Это связано с тем, что нейросеть должна одновременно решать две задачи: во-первых, нарисовать новый фрагмент, соответствующий промту, а во-вторых, добиться бесшовной стыковки с окружением по цвету, освещению, перспективе и текстуре.

Дело в том, что граница выделенной зоны — самое уязвимое место. Именно там чаще всего проявляются артефакты: лёгкий сдвиг цветовой температуры, едва заметное размытие или, наоборот, чрезмерная резкость по сравнению с окружением. Midjourney справляется с этим довольно неплохо, но не безупречно. Алгоритм использует так называемую «мягкую маску» — края выделения слегка размываются, чтобы переход между старым и новым фрагментами выглядел естественнее. Впрочем, на контрастных границах (например, тёмный объект на светлом фоне) швы всё-таки могут проступить. К тому же размер выделенной области напрямую влияет на результат: слишком маленький фрагмент нейросети перерисовать сложнее, потому что пространство для «манёвра» у неё ограничено.

Стоит ли менять промт при перерисовке?

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

Нюанс вот в чём. Промт для inpainting не стоит делать таким же длинным и детальным, как для генерации с нуля. Ведь нейросеть уже «видит» готовое окружение и понимает общий стиль картинки. Достаточно коротко описать именно то, что должно появиться в выделенной зоне. К примеру, если на портрете нужно заменить серёжки, промт вроде «golden hoop earrings, detailed» сработает лучше, чем попытка заново описать всю сцену целиком. А вот если вписать туда характеристики фона или одежды — результат может оказаться непредсказуемым, потому что модель начнёт «конфликтовать» между старыми и новыми инструкциями. Кстати, параметры вроде —stylize и —chaos тоже влияют на итоговый результат, хотя их эффект в режиме inpainting менее выражен, чем при полной генерации.

Размер выделенной области — подводный камень

Тут есть один щепетильный момент, о котором мало кто говорит. Midjourney рекомендует выделять не менее 20–30% площади изображения для получения адекватного результата. Звучит парадоксально — ведь зачастую исправить нужно крохотный фрагмент, процентов пять от общей площади. Но на практике слишком маленькое выделение приводит к размытым, нечётким результатам. Алгоритм будто «не понимает», что от него хотят, и выдаёт нечто среднее между исходником и новым промтом.

Обратная ситуация тоже не без проблем. Если выделить слишком большую область (процентов семьдесят и более), inpainting фактически превращается в обычную генерацию с минимальными привязками к оригиналу. И тогда стилистические «швы» по краям оставшихся тридцати процентов будут особенно заметны. Золотая середина — где-то между четвертью и половиной площади. Это не строгое правило, а скорее наблюдение, выведенное из сотен экспериментов. Да и каждый случай индивидуален: многое зависит от детализации окружения и контрастности границ.

Практические сценарии использования

Самый распространённый сценарий — исправление анатомических ошибок. Руки с лишними пальцами, асимметричные глаза, деформированные ногти — кладезь проблем, с которыми нейросети борются до сих пор. С помощью inpainting проблемную руку можно выделить и перегенерировать, указав в промте «natural human hand, five fingers, detailed». Не с первой попытки, но результат обычно радует. Стоит запастись терпением и прогнать три-четыре итерации — нейросеть каждый раз предложит разные варианты.

Следующий популярный сценарий — замена или добавление элементов. Допустим, сгенерирован интерьер гостиной, который выглядит почти идеально, но вместо книжной полки хочется видеть камин. Выделяем зону, где стоит полка, пишем «stone fireplace with burning fire, cozy» — и через несколько секунд получаем обновлённый добротный интерьер. Разумеется, чем органичнее новый объект вписывается в существующее освещение и перспективу, тем убедительнее итоговая картинка. Нельзя не упомянуть и работу с фонами: убрать лишний объект на заднем плане или заменить небо — задача, с которой inpainting справляется особенно хорошо, потому что фоны обычно менее детализированы, и «сшить» старое с новым модели проще.

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

Чем inpainting в Midjourney отличается от конкурентов?

Многие считают, что inpainting везде одинаковый. На самом деле разница существенная. В Stable Diffusion, например, inpainting — куда более гибкий инструмент с тонкой настройкой силы воздействия (denoising strength), возможностью загрузки собственных масок и контролем количества шагов диффузии. Но и порог входа там заметно выше — без технической подготовки разобраться сложно. DALL·E 3 предлагает inpainting через интерфейс ChatGPT, и работает он довольно интуитивно, однако стилистически результаты зачастую отличаются от того, что выдаёт Midjourney.

Главное преимущество реализации в Midjourney — стилистическая целостность. Модель «помнит» свой собственный стиль генерации и при перерисовке фрагмента сохраняет общий изысканный характер изображения. Тот самый «мидждорнишный» вид с характерным освещением и кинематографичной палитрой. Ведь именно за этот стиль многие и выбирают Midjourney. Однако ложка дёгтя тоже имеется: по сравнению с Stable Diffusion контроль над процессом у пользователя минимальный. Нет возможности задать степень перерисовки, нет доступа к настройкам маски, нет ControlNet. Для обывателя это некритично, но профессионалы порой жалуются на ограниченность инструмента.

Типичные ошибки при работе с inpainting

Ошибка номер один — слишком узкое выделение. Об этом уже шла речь выше, но стоит подчеркнуть ещё раз: если выделить только контур проблемного элемента без «запаса» вокруг, алгоритм не сможет корректно сшить новый фрагмент с окружением. Не стоит жалеть пространства — лучше захватить чуть больше, чем нужно.

Вторая распространённая проблема — конфликт промтов. Допустим, изначальный промт описывал зимний пейзаж, а в inpainting пользователь пишет «green summer meadow». Нейросеть попытается нарисовать летний луг, но окружение-то зимнее — снег, голые деревья, холодный свет. В результате получается визуальная нелепость. Это связано с тем, что inpainting не перестраивает освещение за пределами маски. Контекст должен совпадать. Впрочем, опытные пользователи иногда намеренно создают такие коллажные эффекты — но это уже осознанный творческий приём, а не ошибка.

Третий подводный камень — попытка исправить то, что лучше перегенерировать. Если в изображении проблемна композиция, освещение кривое, а перспектива «плывёт» — никакой inpainting не спасёт. Ведь он работает точечно. Менять по кусочкам всю картинку — занятие неблагодарное: каждый следующий фрагмент будет всё больше отличаться от предыдущего. В таких случаях проще запустить генерацию заново, скорректировав промт.

Несколько рабочих приёмов от практиков

Градация изменений. Опытные пользователи редко пытаются добиться идеала за одну итерацию. Вместо этого они делают серию мелких правок: сначала исправляют крупные формы, потом — детали, а финальный проход посвящают текстурам. Каждый шаг — отдельное применение inpainting. Процесс не быстрый, но кропотливый, и результат того стоит. Тем более что Midjourney не ограничивает количество итераций.

Все топовые нейросети в одном месте

Ещё один приём — комбинирование inpainting с vary (subtle) и vary (strong). После точечной коррекции через inpainting можно «прогнать» всё изображение через вариацию с лёгкой степенью изменений. Это помогает сгладить возможные стилистические расхождения между перерисованным фрагментом и оригиналом. Ну и, конечно же, не стоит забывать о параметре —seed. Фиксация сида позволяет получить более предсказуемые результаты при повторных генерациях, что особенно ценно при многоступенчатой правке.

К слову, некоторые практики используют inpainting не для исправления ошибок, а для наращивания творческой идеи. Сначала генерируется базовая сцена с минимальным количеством деталей, а затем — фрагмент за фрагментом — изображение обогащается новыми элементами. Подобный подход тяготеет к цифровой живописи, когда художник работает послойно, постепенно усложняя композицию. И хотя Midjourney не задумывался как полноценный инструмент для такой работы, у скрупулёзных энтузиастов получаются довольно внушительные результаты.

Что насчёт будущего этой функции?

Midjourney развивается стремительно. Буквально за последние полтора года интерфейс сервиса перекочевал из Discord на отдельный веб-сайт, появился редактор изображений, а сам inpainting стал заметно точнее от версии к версии. Команда разработчиков анонсировала дальнейшие улучшения: более тонкий контроль над силой изменений, расширенные инструменты маскирования и, возможно, интеграцию с чем-то вроде ControlNet. Если эти планы реализуются, Midjourney из «генератора красивых картинок» превратится в полноценную грандиозную платформу для работы с визуальным контентом.

А пока — inpainting уже сейчас творит чудеса для тех, кто готов потратить время на эксперименты и не боится нескольких неудачных попыток. Каждая итерация учит лучше формулировать промты, точнее выделять области и глубже понимать логику нейросети. Удачи в освоении этого инструмента — он того стоит, и результаты однозначно порадуют.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *