Hires Fix в Stable Diffusion — это двухпроходный режим генерации, который решает конкретную проблему: при создании изображения сразу в высоком разрешении (например, 1024×1024 и выше) модель начинает дублировать персонажей, ломать анатомию и плодить лишние объекты, потому что обучалась на картинках меньшего размера. Функция сначала генерирует картинку в «родном» для модели разрешении, а затем увеличивает её апскейлером и дорабатывает детали повторным проходом диффузии.
Разберём, как устроен этот механизм, какие параметры отвечают за результат и какие ошибки чаще всего приводят к шумам, артефактам и «двойным лицам» вместо чистой картинки.
Зачем нужен Hires Fix
Большинство популярных чекпоинтов, включая классический Stable Diffusion 1.5, обучались на изображениях 512×512 пикселей. Если попросить модель сразу нарисовать 1024×1024, она «растягивает» привычную композицию: объект появляется несколько раз, конечности ломаются, лица дублируются. Это не баг интерфейса, а следствие того, как работает латентное пространство диффузионной модели.
Hires Fix обходит ограничение простым алгоритмом:
- 🎨 Сначала генерируется изображение в базовом разрешении, близком к обучающему (например, 512×512 или 768×512).
- 📈 Затем латентное представление увеличивается выбранным апскейлером в заданное число раз.
- ✨ После этого запускается второй проход диффузии с пониженным шумом, который дорисовывает мелкие детали — текстуру кожи, волосы, узоры.
Именно второй проход отличает Hires Fix от обычного апскейла готовой картинки: детали не просто «растягиваются», а перегенерируются с учётом промпта.
Где находится функция и как её включить
В веб-интерфейсе Automatic1111 (и его форке Stable Diffusion WebUI Forge) функция находится на вкладке txt2img: достаточно поставить галочку Hires. fix, после чего откроется панель с параметрами. В ComfyUI аналогичный процесс собирается вручную: нода апскейла латента плюс второй KSampler с пониженным denoise.
После включения вам предстоит настроить несколько ключевых параметров:
- 🔍 Upscaler — алгоритм увеличения латента. Популярные варианты: Latent, 4x-UltraSharp, R-ESRGAN 4x+ и его аниме-версия.
- 🔢 Hires steps — число шагов второго прохода. При значении 0 используется то же количество, что и в основной генерации.
- 🎚️ Denoising strength — сила изменений на втором проходе, самый чувствительный параметр.
- 📐 Upscale by — коэффициент увеличения, обычно от 1.5 до 2.
⚠️ Внимание: Hires Fix заметно увеличивает время генерации и потребление видеопамяти. На слабых GPU с малым объёмом VRAM большие коэффициенты апскейла могут приводить к ошибке нехватки памяти — в этом случае уменьшите итоговое разрешение или включите оптимизации вроде --medvram, если ваш интерфейс их поддерживает.
Подбор оптимальных параметров
Универсального набора значений не существует — всё зависит от модели, сэмплера и желаемого стиля. Однако есть ориентиры, с которых разумно начинать эксперименты.
| Параметр | Типичный диапазон | Что даёт |
|---|---|---|
| Upscale by | 1.5–2.0 | Итоговое разрешение картинки |
| Denoising strength | 0.3–0.5 | Баланс между детализацией и сохранением композиции |
| Hires steps | 10–20 (или 0) | Качество второго прохода |
| Upscaler | Latent / 4x-UltraSharp | Характер детализации |
Denoising strength выше 0.6 почти гарантированно меняет композицию: лица «перерисовываются», позы смещаются, а при значениях, близких к 1, второй проход фактически генерирует новую картинку. Начинайте с 0.35–0.45 и двигайтесь небольшими шагами.
Пошаговая настройка в Automatic1111
Ниже безопасный порядок действий, который не зависит от конкретной версии интерфейса. Если какой-то пункт в вашей сборке называется иначе, сверьтесь с документацией используемого форка.
☑️ Настройка Hires Fix
Сначала сгенерируйте картинку без Hires Fix и зафиксируйте понравившийся seed. Затем включите Hires Fix с тем же сидом — так вы сможете честно сравнить результат «до» и «после» и понять, как параметры влияют именно на вашу композицию.
Если после второго прохода лицо изменилось не в лучшую сторону, не спешите менять всё подряд: снизьте denoising strength на 0.05 и повторите. Чаще всего этого достаточно.
Типичные проблемы и их решения
Даже с правильными настройками режим иногда выдаёт неожиданные результаты. Вот что стоит проверить в первую очередь.
- 👥 Дублирование объектов — базовое разрешение слишком велико для модели. Уменьшите стартовый размер и увеличьте коэффициент апскейла.
- 🌫️ Мыльная картинка — слишком низкий denoise или слабый апскейлер. Поднимите denoising strength или смените Latent на нейросетевой апскейлер.
- 🌀 Шумы и артефакты — denoise завышен либо сэмплер второго прохода конфликтует с картинкой. Попробуйте снизить значение.
- 💾 Ошибка памяти — итоговое разрешение слишком велико для вашей видеокарты. Уменьшите коэффициент или базовый размер.
⚠️ Внимание: не путайте Hires Fix с обычным апскейлом через вкладку Extras. Постобработка в Extras только увеличивает готовое изображение без повторной диффузии — новых деталей она не добавит, а вот работает быстрее и стабильнее на слабом железе.
Почему модели SDXL работают иначе
Модели семейства SDXL обучались на разрешении около 1024×1024, поэтому для них Hires Fix нужен реже — базовая генерация уже идёт в высоком разрешении. Однако при выходе за пределы «родного» размера те же проблемы с дублированием возвращаются, и двухпроходная схема остаётся актуальной.
Hires Fix против обычного апскейла
Когда стоит задача просто увеличить готовую картинку без изменения содержимого, Hires Fix избыточен. Его сила — именно в догенерации деталей: поры кожи, отдельные волосы, текстура ткани появляются благодаря второму проходу диффузии, а не интерполяции пикселей.
С другой стороны, для пакетной обработки десятков изображений обычный апскейл через Extras или внешние инструменты окажется быстрее и предсказуемее. Выбор зависит от цели: качество одной работы или скорость обработки серии.
Часто задаваемые вопросы
Обязательно ли использовать Hires Fix для каждой картинки?
Нет. Если вы генерируете в разрешении, близком к обучающему для вашей модели (512×512 для SD 1.5, около 1024×1024 для SDXL), и качество устраивает — режим не нужен. Он оправдан, когда требуется итоговое изображение большого размера с высокой детализацией.
Какой denoising strength считается безопасным?
Диапазон 0.3–0.5 считается рабочим для большинства сценариев: композиция сохраняется, а детали дорисовываются. Значения выше 0.6 уже заметно меняют картинку, что иногда используют намеренно для вариативности.
Почему после Hires Fix лицо стало другим?
Вероятная причина — завышенный denoising strength: второй проход перерисовывает мелкие области, и лицо «уплывает». Снизьте значение на 0.05–0.1 или зафиксируйте лицо отдельно с помощью расширений типа детейлера, если ваш интерфейс их поддерживает.
Чем Hires Fix отличается от img2img-апскейла?
По сути, Hires Fix — это автоматизированный img2img-апскейл внутри одной генерации: латент увеличивается и прогоняется через диффузию с заданным denoise. Тот же результат можно получить вручную через img2img, но Hires Fix делает это за один запуск и сохраняет связь с исходным сидом.
Сколько видеопамяти нужно для Hires Fix?
Точная цифра зависит от модели, разрешения и интерфейса. Чем больше итоговый размер, тем выше потребление VRAM. Если возникают ошибки нехватки памяти, уменьшите коэффициент апскейла или включите режимы экономии памяти, предусмотренные вашей сборкой интерфейса.