Real-ESRGAN GUI позволяет увеличивать растровые изображения нейросетевыми моделями Real-ESRGAN, задавать итоговый размер по коэффициенту или стороне, пакетно обрабатывать папки и анимированные GIF, выбирать GPU и размер тайлов, а затем сохранять результат в PNG, WebP, JPEG либо передавать его внешней команде постобработки.
Программа служит графической оболочкой для исполнительного файла Real-ESRGAN-ncnn-vulkan и совместимых с ним моделей в формате пары .param и .bin. Пользователь работает с тремя вкладками — Basic, Advanced и About: в первой выбираются исходники, размер и модель, во второй настраиваются тайлы, GPU, алгоритм финального уменьшения, TTA, параметры сжатия и дополнительные режимы, а нижняя область окна показывает журнал и общий прогресс.
Главная особенность Real-ESRGAN GUI по сравнению с простым запуском консольного Real-ESRGAN — произвольный итоговый размер. Если выбранная модель умеет увеличивать, например, в 4 раза, оболочка при необходимости выполняет несколько проходов нейросети, а затем уменьшает промежуточное изображение обычным ресемплингом до точной ширины, высоты, длинной или короткой стороны. Поэтому здесь можно работать не только с родным коэффициентом модели, но и с практическими целевыми размерами для макетов, архивных изображений, иллюстраций и серий однотипных файлов.
Скачать Real-ESRGAN GUI
- Конвертация видео
- Сжатие файлов
- Просто для новичков
- Нет предпросмотра до/после
- Видео не обрабатывает
- Нет русского интерфейса
Что именно делает Real-ESRGAN GUI
Real-ESRGAN GUI решает задачу нейросетевого апскейла изображений: исходный кадр пропускается через модель сверхразрешения, которая формирует более крупную версию с восстановленными или реконструированными деталями. Это принципиально отличается от обычной интерполяции, где новые пиксели рассчитываются только по соседним значениям. Нейросетевая модель может сделать контуры и мелкие структуры визуально убедительнее, но результат всё равно зависит от характера исходника и от того, насколько выбранная модель совпадает с типом изображения. Программа не является редактором с кистями, слоями, масками и ручной ретушью; её рабочая единица — файл или набор файлов, проходящих через заранее выбранный алгоритм.
В штатном окне предусмотрены пять способов задать итоговую геометрию: Ratio, Width, Height, Longest side и Shortest side. Режим Ratio принимает целый коэффициент от 2 до 16. Остальные режимы позволяют указать размер в пикселях для одной из сторон, а вторая сторона рассчитывается с сохранением исходного соотношения. В исходном интерфейсе поля стороны допускают значения до 16383 пикселей. Эти ограничения относятся именно к полям графической оболочки и не означают, что любой файл такого размера гарантированно обработается: реальный предел зависит от модели, видеопамяти, тайлинга и размеров промежуточных изображений.
Поддерживается работа с отдельными файлами и папками. При выборе папки программа проходит её дерево рекурсивно, отбирает изображения поддерживаемых типов и сохраняет структуру подпапок внутри папки результата. Для серийного апскейла это практичнее ручного добавления каждого файла. В процессе создаётся очередь задач: каждый обычный кадр становится отдельной задачей нейросетевого увеличения, а GIF дополнительно разбивается на кадры, после чего кадры масштабируются и собираются обратно.
Интерфейс: Basic, Advanced и About
Вкладка Basic содержит два поля путей — Input (file or folder) и Output, кнопку Browse, блок Resize mode, выпадающий список Model и кнопку Start. Под ними находится большая текстовая область, куда выводятся сообщения исполнительного файла, сведения о найденных GPU, проценты обработки, пути промежуточных файлов, сообщения о завершении задач и стек ошибок. Отдельная полоса прогресса показывает совокупное продвижение по очереди.
Список моделей формируется не из жёстко прописанных названий, а из файлов в каталоге моделей. Программа ищет пары с одинаковым базовым именем и расширениями .bin и .param. Поэтому в списке обычно видны знакомые realesrgan-x4plus, realesrgan-x4plus-anime и варианты realesr-animevideov3-x2, -x3, -x4, но набор зависит от содержимого каталога. Две универсальные модели x4plus оболочка старается поднять в начало списка, если такие файлы присутствуют.
Вкладка Advanced устроена как набор точечных параметров, а не как второй редактор изображения. Здесь выбираются алгоритм заключительного downsample, размер тайла, GPU ID и качество сжатия; отдельными переключателями включаются lossless WebP, TTA, экспериментальная обработка прозрачности GIF, сжатие JPEG/WebP, продолжение пакетной очереди после ошибок и предварительное увеличение обычным алгоритмом. Здесь же находится поле Custom compression/post-processing command и выбор языка интерфейса.
Вкладка About показывает значок и сведения о программе, а также кнопки перехода к исходному коду оболочки, информации о Real-ESRGAN, дополнительным моделям и странице поддержки. В повседневной работе она почти не участвует. Важнее отличать это окно от других проектов со сходным названием: у рассматриваемой Real-ESRGAN GUI нет двух крупных верхних вкладок Real-ESRGAN / Real-CUGAN и яркой зелёной или голубой панели выбора одного файла. Такой интерфейс относится к другой оболочке. Здесь характерны обычные вкладки Basic, Advanced и About, системная тема и текстовый журнал в нижней части.
Как программа строит путь результата
После выбора входного файла Real-ESRGAN GUI автоматически предлагает имя результата. К базовому имени добавляются выбранная модель и краткий суффикс режима размера. Для коэффициента используется запись вида x4, для ширины — w1920, для высоты — h1080, для длинной стороны — l2048, для короткой — s1080. Такая схема полезна в экспериментах: несколько вариантов одной картинки не перезаписывают друг друга и по имени видно, какой режим применялся.
При перетаскивании изображения или каталога на окно входной путь устанавливается автоматически, а путь результата пересчитывается по текущему режиму размера и модели. Если затем изменить коэффициент, целевую сторону или модель, автоматически сформированный путь обновится. Если пользователь вручную отредактировал поле Output, программа перестаёт навязывать пересчёт этого значения, чтобы не уничтожить явно заданное место сохранения.
Для JPEG и TIFF автоматически предлагаемое расширение результата меняется на PNG, потому что нейросетевой проход внутри оболочки ориентирован на без потерь сохраняемый промежуточный результат. Если активирован Prefer lossless WebP output, PNG заменяется на WebP. При ручном пути результат может быть сохранён и как JPEG — в том числе через режим lossy compression. Для папки правило отличается: каждый обычный файл получает PNG или WebP, а структура каталогов сохраняется относительно корня исходной папки.
Выбор модели Real-ESRGAN
Модель — главный параметр, определяющий характер реконструкции. realesrgan-x4plus предназначена для общего контента и обычно является первым кандидатом для фотографий, сканов, кадров с естественными текстурами и смешанной графики. realesrgan-x4plus-anime ориентирована на рисованное содержимое, где важны чистые линии, большие ровные заливки и характерные контуры. Семейство realesr-animevideov3 также связано с анимационным материалом и часто доступно с разными нативными коэффициентами.
Real-ESRGAN GUI не показывает встроенный предпросмотр модели и не вычисляет автоматически, какой вариант лучший для текущего файла. Выбор делается до запуска, а оценка — по сохранённому результату. Это ограничение важно учитывать при подготовке большой папки: сначала разумно сделать несколько пробных файлов с одинаковым целевым размером, сравнить характер линий, кожи, шерсти, текста и мелких узоров, а только затем отправлять всю серию. Перенос параметров с аниме-иллюстрации на портрет или обратно нередко даёт менее естественный результат, даже если технически обработка проходит без ошибок.
Коэффициент модели оболочка определяет по её имени. Если в названии встречается конструкция вроде 2x или x4, это число принимается как нативный масштаб; если распознать коэффициент не удалось, подразумевается 4×. Поэтому пользовательские модели с необычной схемой имён лучше именовать так, чтобы коэффициент был очевиден программе. Иначе логика многопроходного увеличения может построить не тот промежуточный размер, на который рассчитывает модель.
Почему нельзя судить о качестве только по резкости
Нейросетевой апскейл способен добавить убедительно выглядящие детали, которых буквально не было в исходных пикселях. Поэтому слишком резкие ресницы, текстуры ткани, кирпичи, трава, мелкий шрифт или орнамент не обязательно означают более точное восстановление. Для архивной фотографии, документа или изображения, где важна фактическая достоверность, нужно отдельно оценивать, не превратила ли модель неопределённый участок в правдоподобную, но вымышленную структуру. Real-ESRGAN GUI не содержит режима верификации содержания — он только проводит выбранную модель и финальное масштабирование.
Особенно осторожно стоит относиться к тексту и интерфейсным скриншотам. Если буквы в исходнике уже размыты или имеют сильные JPEG-артефакты, модель может сделать края чётче, но не знает исходного символа. Для UI-иконок и пиксельной графики полезно сравнить нейросетевой вариант с обычным Nearest или Lanczos: иногда реконструкция улучшает общий вид, а иногда меняет форму символов и тонких линий сильнее, чем нужно.
Режим Ratio: увеличение по коэффициенту
В режиме Ratio вводится целый коэффициент от 2 до 16. Если исходник имеет размер 800×600 и выбран x4, целевой размер составит 3200×2400. Если нативный коэффициент модели тоже x4, достаточно одного нейросетевого прохода. Если пользователь просит x8 моделью x4, оболочка делает два последовательных прохода. При x6 моделью x4 ей приходится сначала получить достаточно крупный промежуточный результат, а затем уменьшить его до ровно шестикратного размера выбранным downsample-фильтром.
Эта логика объясняет, почему увеличение в 6 раз может потребовать существенно больше времени и памяти, чем кажется из конечного размера. Реальный промежуточный кадр может быть больше цели. Например, картинка 1000×1000 при x6 и модели x4 сначала вырастет до 4000×4000, затем второй проход даст 16000×16000 и только после этого оболочка уменьшит изображение до 6000×6000. Тайлинг снижает требования к видеопамяти на нейросетевом проходе, но промежуточные файлы и операции Pillow всё равно требуют места и оперативной памяти.
Поэтому высокие коэффициенты в поле Ratio лучше рассматривать как удобное средство получить заданный размер, а не как обещание линейного роста качества. После одного-двух нейросетевых проходов модель уже работает не с первоначальным источником, а с результатом собственной реконструкции. Повторный апскейл может усиливать придуманные детали и артефакты. Если задача сводится к печати или размещению на большом холсте, часто разумнее выбрать умеренный нейросетевой коэффициент и затем точный downsample до нужной геометрии.
Width, Height, Longest side и Shortest side
Режим Width полезен, когда конечная система требует строго заданной ширины: например, 1920, 2560 или 3840 пикселей. Высота рассчитывается из исходного соотношения сторон и округляется до целого. Режим Height работает симметрично. Никакой обрезки или растяжения одной оси относительно другой не происходит: пропорции сохраняются. Если нужна смена кадрирования, её следует делать до или после Real-ESRGAN GUI другим инструментом.
Longest side задаёт длину большей стороны независимо от ориентации. Для альбомной фотографии это обычно ширина, для портретной — высота. Shortest side фиксирует меньшую сторону. Эти два режима удобны для смешанных папок: портретные и горизонтальные изображения можно привести к единому правилу без ручного выбора Width или Height для каждого файла. Внутри программа определяет, какая сторона является длинной или короткой, и преобразует задачу к расчёту по ширине или высоте.
При выборе целевой стороны меньше исходной Real-ESRGAN GUI фактически не превращается в простой ресайзер во всех сценариях: логика рассчитана прежде всего на увеличение. Для подготовки маленьких веб-копий рациональнее использовать обычный редактор или конвертер, а этот инструмент оставлять для тех случаев, где требуется нейросетевая реконструкция. Особенно это актуально, если включён предварительный апскейл или выбран высокий нативный коэффициент модели.
Как работает произвольный размер
Алгоритм произвольного размера можно представить как цепочку нейросетевой подъём до достаточного размера → обычное уменьшение до точной цели. Сначала программа вычисляет конечную ширину и высоту. Затем определяет, сколько полных проходов с коэффициентом модели нужно, чтобы обе стороны промежуточного изображения стали не меньше целевых. Для каждого прохода запускается внешний исполняемый файл Real-ESRGAN с той же моделью, GPU и размером тайла.
Если после последнего прохода размеры точно совпали с целью, промежуточный файл просто переносится в конечный путь. Если они больше, Pillow открывает этот файл и выполняет downsample выбранным фильтром. По умолчанию применяется Lanczos. В журнале при таком сценарии появляется сообщение о снижении размера из одной геометрии в другую, поэтому пользователь может увидеть, что результат получен не только моделью, но и заключительной интерполяцией.
Эта архитектура даёт удобство, которого нет у чистой командной строки с жёстким коэффициентом конкретной модели. Вместе с тем она означает, что сравнивать две модели нужно при одинаковом конечном размере. Если одну оставить на её нативных 4×, а вторую попросить сделать нестандартную ширину, вторая дополнительно пройдёт через Lanczos или другой фильтр и визуальное отличие будет обусловлено сразу двумя этапами.
Downsampling algorithm: Lanczos, Bicubic и другие
Во вкладке Advanced доступны шесть вариантов заключительного уменьшения: Lanczos, Bicubic, Hamming, Bilinear, Box и Nearest. Этот список относится именно к финальному приведению промежуточного изображения к точной цели; он не заменяет нейросетевую модель. Если нативный выход модели уже равен требуемому размеру, заключительный downsample не нужен и выбор фильтра практически не влияет на обработку.
| Фильтр | Практический характер | Когда имеет смысл |
|---|---|---|
| Lanczos | Чёткое уменьшение с хорошим сохранением мелких деталей | Универсальный вариант и штатное значение |
| Bicubic | Более мягкий баланс между резкостью и сглаживанием | Когда Lanczos подчёркивает ореолы |
| Hamming | Сдержанное сглаживание с умеренной резкостью | Альтернатива для графики с контрастными границами |
| Bilinear | Простой и мягкий результат | Когда лишняя резкость нежелательна |
| Box | Усреднение областей при уменьшении | Технические задачи и сильное уменьшение |
| Nearest | Без интерполяционного сглаживания | Пиксельная графика и случаи, где нужно сохранить жёсткую сетку |
Для фотографии и большинства иллюстраций имеет смысл начинать с Lanczos, а менять фильтр только при заметной проблеме: слишком резких границах, ореолах, чрезмерной мягкости или необходимости сохранить пиксельный характер. Разницу удобнее оценивать на одном и том же увеличенном исходнике, изменяя только алгоритм downsample. Иначе легко приписать фильтру эффект, который на самом деле создаёт модель.
Tile size и расход видеопамяти
Параметр Tile size задаёт размер фрагментов, на которые исполнитель Real-ESRGAN разбивает изображение. В GUI доступны Auto, 32, 64, 128, 256, 512, 1024, 2048 и 4096. Значение Auto передаётся как нулевой tile size и оставляет подбор самому движку. Основная причина ручного уменьшения тайла — нехватка видеопамяти или сбой на крупных кадрах. Чем меньше фрагмент, тем ниже пиковая нагрузка на GPU, но тем больше накладных расходов и потенциально длиннее обработка.
Универсального лучшего размера тайла нет. На одной видеокарте 512 может работать быстрее 128, а на другой изображение той же геометрии потребует 128 или 64 из-за объёма видеопамяти и особенностей модели. Если Auto стабильно проходит на типичных файлах, ручное вмешательство не нужно. Если процесс завершается ошибкой выделения памяти, зависает при старте крупного кадра или падает только на отдельных изображениях, уменьшение Tile size — один из первых параметров, которые стоит проверить.
Очень маленький тайл тоже не является бесплатным способом гарантировать успех. Он увеличивает число фрагментов и может заметно замедлить работу. Кроме того, часть операций вне нейросетевого движка — сборка GIF, финальный downsample, чтение и запись огромного изображения — выполняется библиотекой Pillow и использует оперативную память. Поэтому проблема может остаться даже при минимальном тайле, если конечный файл или промежуточный кадр сам по себе слишком велик.
GPU ID и выбор устройства
Поле GPU ID принимает значения от -1 до 7. Значение -1 означает автоматический выбор и преобразуется оболочкой в параметр auto для поддерживаемых исполнителей. Конкретные числовые ID можно увидеть в журнале запуска: Real-ESRGAN-ncnn-vulkan перечисляет доступные устройства и их характеристики. Если в компьютере несколько графических адаптеров, ручной ID позволяет направить работу на нужный.
Считать номер GPU по порядку в диспетчере устройств не следует. Нумерация, которую показывает ncnn/Vulkan, может отличаться от привычного списка Windows. Надёжный способ — один раз запустить задачу, прочитать строки в нижнем журнале и затем указать соответствующий ID. Если выбран несуществующий номер, исполнитель может завершиться ошибкой, которую GUI выведет как сообщение внешнего процесса.
Наличие видеокарты само по себе не гарантирует совместимость с ncnn-vulkan. Для обработки требуется рабочий Vulkan-стек и драйвер, который корректно видит устройство. В статье не имеет смысла задавать универсальный список минимальных GPU: поддержка зависит от конкретной платформы и драйвера. Практическая проверка — появление устройства в журнале и успешное прохождение небольшого тестового изображения.
TTA: когда включать и почему это медленно
Переключатель Enable TTA mode передаёт исполнительному файлу режим test-time augmentation. В такой схеме модель обрабатывает дополнительные трансформации исходника, после чего результаты объединяются. Идея состоит в небольшом повышении устойчивости и качества, но цена — многократный рост вычислений. Сам интерфейс прямо предупреждает, что режим крайне медленный и улучшение качества невелико.
TTA имеет смысл для отдельных важных изображений, когда пользователь уже выбрал подходящую модель, проверил базовый результат и готов потратить значительно больше времени ради потенциальной небольшой разницы. В массовом каталоге, где главная цель — пропускная способность, включать его по умолчанию обычно нерационально. Он не исправляет неправильный выбор модели, не превращает неразборчивый текст в достоверный и не является отдельным инструментом шумоподавления.
Сравнивать TTA лучше на паре результатов с одинаковым размером и моделью, рассматривая мелкие диагонали, тонкие линии, повторяющиеся фактуры и границы объектов. Если визуальной выгоды для конкретного материала нет, выключенный режим даёт тот же рабочий процесс с меньшими затратами времени.
Предварительное увеличение обычным алгоритмом
Опция Try to pre-upscale with general algorithm нужна для некоторых нестандартных целевых коэффициентов. Без неё оболочка просто делает столько нейросетевых проходов, сколько требуется для достижения или превышения цели, а затем уменьшает результат. С включённым pre-upscale программа оценивает отношение цели к исходнику и в подходящих случаях сначала увеличивает исходник Lanczos до промежуточной геометрии, чтобы сократить избыточность последующих нейросетевых проходов.
Это не улучшение качества до нейросети в общем смысле. Обычная интерполяция не восстанавливает реальные детали, а всего лишь меняет размер входа. Польза режима в организации цепочки масштабирования: иногда он позволяет ближе подвести исходник к размеру, после которого один проход модели попадёт в нужную область, вместо того чтобы делать лишний крупный нейросетевой шаг и затем сильно уменьшать изображение.
Режим стоит оценивать на конкретной задаче. Для кратных нативному коэффициенту модели размеров он часто не нужен. Для промежуточных масштабов может уменьшить вычислительную работу, но также меняет вход, который видит модель, поэтому характер реконструкции способен отличаться. Если нужна воспроизводимость, фиксируйте значение этой опции вместе с моделью, целевым размером и downsample-фильтром.
Форматы входных файлов
Диалог выбора входа и пакетный обход поддерживают JPEG, PNG, GIF, WebP, TIFF и TIF. Это реальный список, который используется при добавлении файлов через GUI и при обходе папки. Для обычного статического изображения формат не определяет модель, но влияет на наличие альфа-канала, исходное сжатие и способ формирования выходного имени. Палитровые изображения перед передачей в движок при необходимости переводятся во временный RGBA-файл.
JPEG почти всегда содержит потери и не поддерживает прозрачность; PNG подходит для графики и альфа-канала; WebP может быть как без потерь, так и с потерями; TIFF часто используется для сканов и архивных изображений; GIF в этой программе рассматривается отдельно как анимация, которую нужно разложить на кадры. Поддержка формата не означает сохранение всех возможных метаданных TIFF, EXIF, XMP или цветовых профилей. Основная задача — изображение и его геометрия, а не архивирование служебной информации.
Для критичных материалов полезно сохранять оригиналы отдельно и воспринимать результаты как производные файлы. Нейросетевое увеличение само по себе меняет пиксели, а некоторые ветви сохранения дополнительно меняют контейнер и режим сжатия. Real-ESRGAN GUI не позиционирует себя как менеджер метаданных и не предоставляет панели переноса EXIF или ICC-параметров.
PNG, WebP и JPEG на выходе
Поведение выходного формата зависит от того, обрабатывается один файл или папка и какие дополнительные переключатели активны. Для обычного статического изображения без lossy-компрессии GUI чаще всего формирует PNG. Если включён Prefer lossless WebP output, результат папочной обработки и автоматически сформированные пути переводятся в WebP. При этом WebP сохраняется без потерь, пока пользователь отдельно не включил режим lossy compression.
Для одиночного файла поле Output можно задать вручную. Если расширение результата — JPEG или WebP и включён Use lossy compression, оболочка сначала создаёт временный WebP, а затем пересохраняет его библиотекой Pillow с выбранным качеством. Для JPEG альфа-канал при необходимости отбрасывается, потому что формат прозрачность не поддерживает. Если расширение не относится к JPEG/WebP, переключатель сжатия не создаёт произвольный кодек сам по себе.
При пакетной папочной обработке логика строже: с lossy mode выход для каждого статического изображения становится WebP, если включено предпочтение WebP, или JPEG в противном случае. Если lossy mode выключен, папка выдаёт WebP либо PNG. Такая унификация удобна для больших наборов, где требуется единый тип файлов, но её нужно учитывать, если в исходной папке смешаны PNG, TIFF и JPEG и важно сохранить исходные расширения один к одному — программа этого по умолчанию не делает.
Lossy compression quality
Поле Lossy compression quality (0–100) используется только вместе с переключателем сжатия JPEG/WebP. Значение по умолчанию в конфигурации — 80, а стрелки интерфейса изменяют его с шагом 5. Для WebP Pillow получает качество и дополнительный параметр метода кодирования; для JPEG используется оптимизированная и прогрессивная запись. Чем ниже качество, тем меньше файл и тем выше риск дополнительных артефактов поверх тех, которые уже присутствовали в исходнике.
Не стоит смешивать понятия качество нейросетевого апскейла и качество JPEG/WebP. Поле 0–100 не управляет силой Real-ESRGAN, не меняет степень шумоподавления и не задаёт точность модели. Оно относится к финальному энкодеру после того, как нейросетевая работа уже завершена. Поэтому при сравнении моделей безопаснее сначала сохранить результаты без потерь, а уровень JPEG/WebP выбирать только после визуальной оценки.
Особенно заметна связь с повторным JPEG-сжатием. Если исходник уже сильно сжат, модель может сгладить часть блоков и реконструировать текстуры, но последующая запись на низком качестве снова добавит кольца, блоки и потерю тонких градаций. Для архива мастер-файлов разумнее PNG или lossless WebP; lossy-выход уместен для публикации, пересылки или экономии места, когда конечный размер файла важнее абсолютной сохранности пикселей.
Custom compression/post-processing command
Поле Custom compression/post-processing command — одна из наиболее гибких функций Real-ESRGAN GUI. Если в него введена команда, штатная ветвь lossy compression отступает: после апскейла оболочка создаёт временный PNG и передаёт его внешней программе. Это позволяет встроить конвертацию в AVIF или JPEG XL, дополнительную оптимизацию GIF, наложение водяного знака, преобразование цветового пространства или любой другой шаг, который умеет выбранный консольный инструмент.
В шаблоне поддерживаются три формы подстановки. {input} заменяется путём к временно увеличенному изображению. {output} — текущим выходным путём. Конструкция {output:ext} формирует тот же базовый путь, но с другим расширением, где ext задаётся пользователем. Например, внешний AVIF-кодировщик может получить {input} и {output:avif}, а JPEG XL — {output:jxl}. Для GIF пользователь может передать собранную анимацию в отдельный конвертер.
Команда разбирается как последовательность аргументов, а не запускается через системную оболочку с произвольной строкой shell. Поэтому кавычки и пути с пробелами нужно оформлять так, чтобы их корректно разобрал механизм shlex. Указанный исполняемый файл должен быть доступен по полному пути или находиться в системном PATH. Если внешняя команда завершится с ненулевым кодом, задача считается ошибочной и дальнейшее поведение зависит от переключателя Ignore error.
Практический плюс этой функции — возможность оставить Real-ESRGAN GUI ответственным только за увеличение и не добавлять отдельный ручной этап конвертации. Практический риск — неверно заданная команда способна не создать ожидаемый файл, записать его под неожиданным расширением или потерять метаданные. Перед запуском папки стоит проверить шаблон на одном небольшом изображении и убедиться, что имя результата соответствует тому, что ожидает следующая программа в рабочем процессе.
Примеры полезных внешних цепочек
Для AVIF можно использовать avifenc, для JPEG XL — cjxl, для преобразования GIF в WebP — gif2webp, а для произвольных операций — ImageMagick. Смысл этих примеров не в конкретных параметрах кодека, а в схеме: Real-ESRGAN GUI выполняет нейросетевой этап, затем передаёт временный результат внешнему инструменту через подстановки путей. Параметры качества, глубины цвета и цветовой субдискретизации уже относятся к выбранному кодировщику и должны подбираться отдельно.
Если расширение результата меняется через {output:ext}, ориентироваться на расширение в поле Output как на окончательное нельзя: реальный файл создаст внешняя команда. Это важно при пакетной обработке, где в папке может появиться не PNG/WebP, а AVIF, JXL или другой формат. В самой GUI нет встроенного просмотра такого результата и нет проверки, что внешняя программа действительно создала файл нужного типа.
Обработка анимированных GIF
GIF поддерживается не как единичная статическая картинка, а как последовательность кадров. При запуске оболочка открывает анимацию через Pillow, проходит по кадрам, сохраняет каждый во временный PNG или WebP, запоминает его длительность и ставит отдельную задачу Real-ESRGAN для каждого кадра. После того как все кадры увеличены, они собираются обратно в GIF с сохранёнными длительностями, бесконечным циклом и режимом disposal, который помогает корректно отрисовывать последовательность.
Эта схема существенно тяжелее обработки одного PNG того же размера. GIF из сотен кадров превращается в сотни нейросетевых задач и множество временных файлов. Общий индикатор прогресса учитывает добавленные кадры, поэтому после этапа разбиения количество задач возрастает. Для длинной анимации нужно заранее оценить свободное место и время, особенно если выбран TTA или крупный коэффициент.
Длительность каждого кадра берётся из GIF и переносится в итоговую сборку. Однако формат остаётся палитровым и ограниченным характером GIF: это не способ сохранить полноценный полупрозрачный RGBA-видеоряд. Если нужна максимально точная работа с альфа-каналом или больше цветов, логичнее рассматривать последовательность PNG/WebP и другой контейнер, а GIF использовать тогда, когда совместимость самого формата важнее.
Экспериментальная обработка прозрачности GIF
Переключатель Extra processing for transparent GIF предназначен именно для анимаций с прозрачными областями. У GIF прозрачность устроена через индекс палитры и не поддерживает полноценные уровни альфа-канала. После разборки кадра в RGBA на границе прозрачного объекта могут появляться грубые ступени, а цвет RGB в полностью прозрачных пикселях способен оказаться неожиданным. Нейросетевое увеличение затем распространяет эти особенности на более крупную границу.
При включённой опции программа перед обработкой композитит каждый кадр с белым фоном, сохраняя исходный альфа-канал, чтобы цвет скрытых прозрачных пикселей был предсказуемым. После апскейла альфа дополнительно размывается небольшим Gaussian Blur и преобразуется кривой контраста, после чего переводится в чёрно-белую маску с бинарной прозрачностью. Цель — сделать край менее рваным и снизить вероятность тёмной или случайно окрашенной каймы.
Опция прямо обозначена как экспериментальная. Для GIF без прозрачности её лучше оставлять выключенной: лишняя обработка палитры и альфа может приводить к неожиданному появлению прозрачного цвета или ухудшенной дизеризации. Для прозрачного GIF полезно сделать короткий тестовый фрагмент и проверить контур на том фоне, где анимация будет реально использоваться. Белая подготовка края может выглядеть приемлемо на светлом фоне и заметнее на тёмном.
Пакетная обработка папок
Если Input указывает на каталог, Real-ESRGAN GUI проходит его через os.walk, то есть обрабатывает не только файлы на верхнем уровне, но и вложенные папки. В очередь попадают JPEG, PNG, GIF, WebP, TIFF и TIF. Остальные расширения просто пропускаются. Для каждого найденного изображения строится путь результата внутри выходного каталога с сохранением относительной структуры.
Это удобно для коллекций, где файлы уже разложены по темам, сценам или датам. После апскейла не приходится заново создавать вложенные папки. При этом имена статических файлов получают выбранное выходное расширение, а GIF остаётся GIF, если пользовательская постобработка не меняет формат. Если папка не содержит ни одного поддерживаемого изображения, программа показывает предупреждение вместо запуска пустой очереди.
В GUI нет сложного менеджера списка с индивидуальной моделью для каждой строки. Вся папка обрабатывается с одним набором параметров, который фиксируется на момент запуска: одна модель, один способ размера, один GPU, один tile size, один TTA и одна политика финального формата. Если в одном каталоге смешаны фотографии и аниме-кадры, требующие разных моделей, лучше разделить их на две серии или запускать разные подпапки отдельно.
Несколько выбранных файлов
Диалог Input позволяет выбрать несколько изображений одновременно. В строке они отображаются как несколько путей, разделённых внутренним разделителем интерфейса, а для каждого автоматически вычисляется соответствующий Output. Это промежуточный вариант между одиночным файлом и всей папкой: удобно, когда нужно обработать десяток выборочных изображений из одной или нескольких директорий без копирования их в отдельный каталог.
Перетаскивание тоже умеет принимать несколько путей. При этом для каждого файла строится своё имя результата на основе модели и режима размера. Перед запуском программа проверяет, что число входных и выходных путей совпадает; если пользователь вручную повредил строку Output или оставил непарные значения, появляется предупреждение о некорректных путях.
Кнопка Start, Pause и Continue
Во время обработки кнопка Start меняет назначение. Первое нажатие формирует очередь и запускает её в отдельном потоке, чтобы окно не замерзало. Повторное нажатие переводит программу в состояние ожидания паузы. Важно, что текущая уже запущенная задача не обрывается мгновенно: интерфейс пишет, что остановится после завершения текущего шага. Это снижает риск оставить внешнюю программу посреди записи промежуточного файла.
После фактической паузы кнопка становится Continue и разрешает очередь двигаться дальше. Такой механизм особенно полезен в длинном GIF или большом каталоге, когда нужно временно освободить ресурсы между изображениями. Но он не предназначен для моментального приостановления ядра внутри одного тяжёлого апскейла: пока Real-ESRGAN обрабатывает текущий файл, пауза ожидает границу задач.
В стандартном интерфейсе нет отдельной кнопки отменить всё сейчас с гарантированным завершением дочернего процесса. Если задача ошиблась, дальнейшее поведение определяется флагом Ignore error. Для плановой остановки лучше пользоваться паузой между задачами, а для изменения параметров — дождаться конца или начать новую очередь после завершения текущей.
Ignore error и продолжение очереди
Переключатель Ignore error and continue during batch processing управляет реакцией на исключение любой задачи. Если он выключен, первая ошибка завершает обработку очереди. Если включён, трассировка ошибки записывается в журнал, пользователь получает уведомление о неудачном шаге, но runner переходит к следующей задаче. По окончании программа сообщает, что обработка завершилась с ошибками, и указывает на файл журнала.
Этот режим полезен для неоднородных каталогов, где один повреждённый TIFF или слишком крупный кадр не должен блокировать сотни остальных. Однако включение не лечит неудачные файлы. После завершения нужно просмотреть log, найти конкретные пути и причины, затем повторить проблемные элементы с другими настройками — например, меньшим tile size, другим GPU или без пользовательской команды постобработки.
Для небольшой тестовой серии разумно держать Ignore error выключенным: так ошибка проявится сразу и не затеряется среди успешных задач. Для большого ночного батча можно включить продолжение, если важнее получить максимум готовых файлов и потом разобрать несколько исключений. В любом случае исходники не следует удалять на основании того, что общий индикатор дошёл до 100%.
Журнал обработки и файл output.log
Нижняя текстовая область — ключевой диагностический элемент программы. В неё попадает stderr исполнительного файла, поэтому там видны список Vulkan-устройств, параметры очередей ncnn, проценты текущего прохода и сообщения о завершении. Оболочка добавляет собственные строки о выбранном executable, предварительном увеличении, downsample, переименовании результата с альфа-каналом, сборке GIF, lossy-компрессии, пользовательских командах и времени каждой задачи.
Одновременно сообщения записываются в output.log рядом с рабочими файлами программы. Лог создаётся заново при каждом запуске очереди. Если обработка завершается с ошибками, интерфейс предлагает проверить этот файл. Для обращения за помощью полезно сохранять log до следующей попытки, иначе новый запуск его перезапишет и важный стек исключения исчезнет.
Проценты в журнале относятся к текущему нейросетевому проходу, а полоса внизу — к общей очереди. При многопроходном увеличении один файл может последовательно пройти несколько стадий, поэтому внутри лога процент начнётся заново для следующего прохода. В GIF к общей длине очереди добавляются кадры после анализа анимации, поэтому индикатор способен менять характер продвижения после разбиения.
Системные уведомления и прогресс в панели задач
После завершения программа отправляет системное уведомление с путём результата и затраченным временем. Если часть задач завершилась ошибкой при включённом Ignore error, сообщение указывает на журнал. При полном падении отдельное уведомление содержит тип исключения. На Windows дополнительно используется системный индикатор прогресса в кнопке панели задач: GUI обновляет его по мере изменения общего процента.
Эти элементы удобны при длительных операциях, когда окно находится на втором плане. На macOS ветвь уведомлений реализована иначе и в основном коде системное уведомление для этого режима не создаётся. Это хороший пример совместимости, которую имеет смысл учитывать только в конкретном действии: сам апскейл не зависит от наличия всплывающего уведомления, но способ узнать о завершении может отличаться по системе.
Светлая и тёмная тема
Real-ESRGAN GUI использует тему Sun Valley и пытается определить системный режим через darkdetect. На Windows и Linux запускается слушатель изменения темы, поэтому окно может переключаться между светлым и тёмным оформлением вслед за системой. Если определение темы не сработало, программа возвращается к светлому варианту. Отдельного переключателя темы во вкладке Advanced нет: оформление привязано к системному состоянию.
Тёмный режим меняет фон, панели, поля и переключатели, но расположение элементов остаётся тем же. Поэтому скриншоты светлой и тёмной темы относятся к одному интерфейсу. Внешний вид системной рамки, шрифтов и некоторых контролов может немного различаться в зависимости от Tk и ОС, но названия и логика настроек сохраняются.
Язык интерфейса
Язык выбирается автоматически по системной локали и может быть изменён вручную в Advanced через выпадающий список. Тексты хранятся в i18n.ini; если для конкретной локали перевода нет, механизм возвращается к английскому. Переключение обновляет подписи полей и вкладок без необходимости менять модель или повторно выбирать входной файл.
Русская локализация в штатном файле переводов рассматриваемого проекта не заявлена. Поэтому формулировка страницы скачать бесплатно на русском языке в заголовке сайта не должна трактоваться как обещание русифицированного меню. Пользователь может работать с английскими подписями Basic, Advanced, Input, Output, Model, Tile Size и другими. Большинство настроек технически однозначны, но при первом запуске полезно сопоставить их с назначением в этой статье.
Нельзя определять проект только по наличию китайского или другого перевода на скриншоте. У одноимённых оболочек отличаются структура окна и набор функций. Для TransparentLC Real-ESRGAN GUI характерны три вкладки, единая форма Basic и нижний журнал; именно этот вариант описан здесь.
Настройки config.ini
При закрытии окна Real-ESRGAN GUI записывает текущие параметры в config.ini: режим и величину масштаба, модель, индекс downsample, GPU ID, tile size, качество lossy, переключатели WebP, TTA, GIF transparency, Ignore error и Pre-upscale, пользовательскую команду и язык. При следующем запуске эти значения становятся стартовыми. Поэтому программа хорошо подходит для повторяющихся серий с одинаковыми параметрами — не нужно каждый раз собирать профиль заново.
Если config.ini отсутствует, используются встроенные значения: Ratio 4, ширина/высота/длинная/короткая сторона 1024, Lanczos, автоматический GPU, автоматический tile size, lossy quality 80, а необязательные переключатели выключены. Если конфигурация повреждена или содержит значения, которые больше не соответствуют доступным моделям, простой способ вернуться к исходным настройкам — закрыть программу, удалить файл и запустить её снова.
Два поля конфигурации особенно важны для продвинутого использования: Upscaler и ModelDir. Первое позволяет указать альтернативный исполняемый файл, второе — отдельный каталог моделей. GUI выводит в журнал предупреждение, когда использует такие пользовательские пути, потому что совместимость внешнего бинарника и набора моделей не гарантируется автоматически.
Каталог моделей и дополнительные модели
По умолчанию GUI ищет модели в папке models рядом с рабочим каталогом программы. Для Real-ESRGAN каждая модель определяется по наличию пары файлов name.bin и name.param. Если есть только один из двух файлов, название в список не попадёт. Это удобная защита от заведомо неполной модели, но она не проверяет совместимость архитектуры с конкретным исполнительным файлом.
Можно изменить ModelDir в конфигурации и хранить модели отдельно. Такой вариант удобен, если несколько инструментов используют общий набор ncnn-моделей. После изменения пути нужно убедиться, что права доступа позволяют читать файлы и что имена пар совпадают. GUI не содержит менеджера скачивания моделей с каталогом карточек и предпросмотром; кнопка в About лишь ведёт к месту, где проект публикует дополнительные варианты.
Пользовательская модель должна иметь корректный коэффициент в имени, если он отличается от 4×. Оболочка извлекает первое совпадение шаблона вида 2x или x2. Если модель фактически 2×, но называется нейтрально, GUI может принять её за 4× и неверно рассчитать количество проходов и финальный downsample. Это не проблема самой нейросети, а следствие того, как оболочка выводит model factor из имени файла.
Исполнитель Real-ESRGAN-ncnn-vulkan и upscayl-bin
Основной внешний процесс — Real-ESRGAN-ncnn-vulkan. GUI формирует команду с input, output, коэффициентом модели, tile size, именем модели, GPU и флагом TTA. Если рядом присутствует совместимый upscayl-bin и он выбран конфигурацией проекта, оболочка умеет передать ему близкий набор параметров, включая коэффициент. Это не означает, что графический интерфейс превращается в Upscayl: меняется исполнитель, а форма и логика очереди остаются Real-ESRGAN GUI.
Преимущество ncnn/Vulkan — отсутствие необходимости собирать Python/PyTorch-окружение для каждого запуска. Но графическая оболочка всё равно зависит от внешнего бинарника и моделей. Если executable не найден или каталог моделей пуст, программа показывает предупреждение и не открывает полноценную рабочую сессию. Поэтому после переноса папки или ручного изменения config.ini нужно проверять, что пути остались действительными.
Некоторые ошибки приходят непосредственно из внешнего процесса: unsupported Vulkan device, нехватка памяти, несовместимая модель, невозможность открыть файл. GUI отображает их, но не всегда может автоматически объяснить причину. Полезный диагностический приём — взять команду из лога и проверить тот же файл с исполнительным бинарником отдельно; если ошибка повторяется без GUI, проблема находится на уровне движка, модели или драйвера.
Поддержка Real-CUGAN
Real-ESRGAN GUI умеет работать с Real-CUGAN-ncnn-vulkan через параметр Upscaler. Это продвинутый сценарий: пользователь указывает путь к realcugan-ncnn-vulkan, а модели размещает в соответствующей структуре. При обнаружении этого исполняемого файла программа по-другому сканирует каталог моделей: ищет папки и комбинации коэффициента 2×–4× с вариантами conservative, no-denoise и denoise 1–3.
В таком режиме имя модели внутри GUI имеет составной вид: сначала каталог набора, затем через служебный разделитель конкретный файл уровня шума. При запуске оболочка преобразует его в параметры Real-CUGAN, включая scale, путь к модели, noise level, GPU и TTA. В интерфейсе при этом не появляется отдельная большая вкладка Real-CUGAN. Это важное различие с другой программой Real-ESRGAN-GUI, где два движка вынесены в верхние вкладки.
Использовать Real-CUGAN стоит только при понимании структуры его моделей. Нельзя просто положить любые .bin/.param рядом с Real-ESRGAN и ожидать одинаковой логики. Если требуется только стандартный Real-ESRGAN, параметр Upscaler лучше не менять: так меньше переменных при диагностике и легче сопоставлять модель с её нативным коэффициентом.
Подготовка к первому запуску
Для обычного пользователя удобнее вариант сборки, где GUI, исполнитель и модели уже расположены согласованно. При ручной раскладке нужно убедиться, что executable Real-ESRGAN-ncnn-vulkan доступен по ожидаемому пути, рядом есть каталог models с валидными парами и система видит Vulkan-совместимое устройство. Сам факт, что окно Python/Tkinter запускается, ещё не означает, что нейросетевой backend готов.
Начинать стоит с небольшого PNG или JPEG размером порядка одного мегапикселя, Ratio 2 или 4 в зависимости от модели, Auto Tile и GPU -1. Такой тест быстрее выявит проблемы путей и Vulkan, чем попытка сразу обработать огромный TIFF. После успешного результата уже можно подбирать модель и формат сохранения, а затем переходить к папке.
Если программа запущена из исходного кода, ей нужен Python 3.10 или новее и зависимости проекта. Это относится именно к сценарию запуска main.py; готовый исполняемый вариант не требует от пользователя вручную вызывать Python для каждого апскейла. Для Apple Silicon проект отдельно описывает сборку нативного arm64-пакета, но это задача подготовки программы, а не параметр качества изображения.
Первый практический сценарий: увеличить фотографию до 4×
- На вкладке Basic выбрать исходный JPEG или PNG через Browse либо перетащить файл на окно.
- Проверить автоматически предложенный путь Output и при необходимости изменить его.
- В блоке Resize mode выбрать Ratio и значение 4.
- В Model выбрать
realesrgan-x4plus, если этот файл модели присутствует в каталоге. - На Advanced оставить Lanczos, Auto Tile, GPU -1 и выключенный TTA для первого теста.
- Нажать Start и наблюдать за журналом до сообщения о завершении.
Если модель x4, такой сценарий обычно не требует финального downsample: нейросеть сразу выдаёт целевой размер. Поэтому он удобен для чистого сравнения моделей. Сохраните второй вариант с realesrgan-x4plus-anime только в том случае, если исходник содержит рисованную графику или вы хотите сознательно сравнить характер реконструкции. Для обычной фотографии универсальная модель логичнее как отправная точка.
Сценарий: получить точную ширину 2560 пикселей
Выберите Width и введите 2560. Программа рассчитает высоту по пропорциям. Если исходник 1280×720, цель составит 2560×1440. С моделью x4 нейросетевой проход даст 5120×2880, после чего Lanczos уменьшит его до 2560×1440. Именно здесь Advanced → Downsample реально участвует в результате.
Если нужно сравнить два фильтра, оставьте одинаковыми модель, исходник и ширину 2560, а затем повторите обработку с Lanczos и Bicubic. Это даёт честное понимание, как финальная интерполяция влияет на микроконтраст. Переключение модели одновременно с фильтром сделает сравнение неопределённым.
Для исходника, который уже близок к 2560 по ширине, нейросетевой апскейл может быть избыточным: программа предназначена не для формального добавления нескольких процентов размера, а для задач сверхразрешения. Если нужно лишь привести 2500 пикселей к 2560 без реконструкции, обычный ресайзер быстрее и предсказуемее.
Сценарий: подготовить смешанную папку по длинной стороне
Для каталога с портретными и горизонтальными изображениями выберите Longest side и, например, 2048. После выбора папки Output станет отдельным каталогом с суффиксом модели и l2048. При обработке каждого файла GUI самостоятельно определит, является длинной стороной ширина или высота, сохранит пропорции и воспроизведёт вложенную структуру папок.
Перед большим батчем желательно проверить три типичных файла: самый маленький, самый крупный и материал с наиболее сложной фактурой. Если они проходят на Auto Tile, вероятность успеха серии выше. Если крупный падает, уменьшайте Tile size до стабильного значения. Включать Ignore error стоит после того, как базовый набор параметров уже проверен.
Сценарий: серия иллюстраций и аниме-кадров
Для рисованного материала сначала сравните realesrgan-x4plus-anime и подходящий вариант realesr-animevideov3. Оценивайте не только контуры персонажей, но и тонкие градиенты, фоновые узоры, линии волос, субтитры и области с компрессией. Модель, которая сильнее подчёркивает контур, может одновременно упрощать мелкую фактуру.
Если конечный размер меньше нативного x4, задайте Width/Height вместо ручного уменьшения в другом редакторе. Тогда весь процесс — нейросеть плюс точный downsample — останется воспроизводимым в одном профиле. Для массовой серии зафиксируйте выбранный фильтр и выключите TTA, если визуальная выгода не оправдывает рост времени.
Сценарий: прозрачный PNG
Обычные PNG с альфа-каналом передаются через Real-ESRGAN-ncnn-vulkan. Если пользователь вручную задаёт JPEG как выход, backend может сообщить, что из-за альфа-канала создаёт PNG с изменённым именем. Оболочка отслеживает такую строку и переименовывает фактически созданный файл обратно в ожидаемый путь, чтобы последующие шаги не потеряли результат. Однако JPEG всё равно не умеет хранить прозрачность; в lossy-ветке альфа отбрасывается при преобразовании в RGB.
Если прозрачность важна, используйте PNG или lossless WebP. Экспериментальный переключатель GIF transparency не предназначен для обычного PNG и не нужен для него. Его алгоритм связан с палитровой прозрачностью анимационного GIF, а не с общим улучшением альфа-канала всех форматов.
Сценарий: GIF с прозрачным фоном
Сначала сделайте копию исходной анимации и обработайте её с выключенным экспериментальным режимом. Затем повторите с Extra processing for transparent GIF. Сравнивайте край объекта на светлом и тёмном фоне, потому что обработка старается устранить случайную тёмную кайму за счёт белой подготовки прозрачных пикселей и бинаризации альфа после сглаживания.
Если GIF не содержит прозрачности, оставьте режим выключенным. Если анимация большая, сначала выберите несколько кадров или короткий вариант: полная последовательность может занимать существенно больше времени, чем статическая картинка. TTA в этом сценарии умножает вычисления для каждого кадра и редко подходит для первичного теста.
Сценарий: конвертация результата в AVIF или JXL
В поле Custom command указывается внешний кодировщик и подстановки {input} и {output:avif} либо {output:jxl}. После нейросетевого шага GUI создаст временный PNG и передаст его программе кодирования. Такой подход полезен для публикационных цепочек, где нужен современный формат, которого штатные поля интерфейса не предлагают.
Сначала проверьте команду вручную в терминале, затем — на одном изображении через GUI. Убедитесь, что выход действительно появляется по ожидаемому пути и что внешняя программа корректно обрабатывает пробелы и Unicode в именах. При пакетной обработке ошибка одной команды может остановить всю очередь, если Ignore error выключен.
Что Real-ESRGAN GUI не делает
Программа не имеет встроенного слайдера до/после, визуального предпросмотра нескольких моделей, ручных масок, локального ретуширования, распознавания лиц, отдельной регулировки резкости или ползунка denoise strength для стандартного Real-ESRGAN. В сети встречаются статьи, где этой оболочке приписывают CUDA FP16, авто-поворот EXIF, queue mode, встроенный dual preview или журналы в другом каталоге. Эти пункты относятся к другим программам или являются ошибочными описаниями.
Также GUI не принимает видеофайлы как штатный тип входа. Форматы диалога и пакетного обхода ограничены изображениями и GIF/TIFF. Для видеоролика нужно сначала получать последовательность кадров или использовать другой инструмент, умеющий декодировать видео и собирать его обратно. Отдельная ссылка проекта на решения с VapourSynth не меняет этого факта: в самом окне Real-ESRGAN GUI видео не является входным форматом.
Нет и встроенной функции генерации лиц или восстановления конкретной личности. Real-ESRGAN — модель сверхразрешения общего назначения, а не специализированный face restoration. Если портрет требует восстановления сильно разрушенных лиц, обычно используют отдельный инструмент или дополнительный этап, но его результат уже нужно оценивать с точки зрения возможного изменения черт.
Почему результат может выглядеть слишком пластиковым
Один из типичных эффектов нейросетевого апскейла — избыточное сглаживание низкоконтрастной фактуры и одновременное усиление границ. На лице это проявляется как гладкая кожа и подчёркнутые ресницы, на природе — как повторяющаяся трава или нарисованные листья. Причина обычно не в настройке Tile size или GPU, а в характере самой модели и слишком слабом исходнике.
Попробуйте другую модель, меньший конечный коэффициент или сохранение без повторного JPEG. Для фотографии сравнивайте x4plus с обычным Lanczos: нейросетевой результат должен давать полезную структуру, а не просто более агрессивную резкость. Если исходник уже качественный и требует только увеличения на 20–30%, нейросеть может добавить больше интерпретации, чем нужно.
Почему появились ореолы по краям
Ореолы могут появляться как от модели, так и от заключительного downsample. Если проблема видна уже при нативном 4× без уменьшения, причина вероятнее в модели или исходной компрессии. Если она появляется только при нестандартной цели, сравните Lanczos с Bicubic или Hamming. Для графики с контрастными линиями слишком резкий фильтр способен подчёркивать светлую или тёмную кайму.
Сильное повторное JPEG-сжатие тоже усиливает ringing. Поэтому диагностику проводите на PNG или lossless WebP. Только после выбора модели и фильтра возвращайте lossy compression и подбирайте качество под конечное использование.
Почему мелкий текст стал неправильным
Real-ESRGAN не выполняет OCR и не знает, какой символ должен находиться в размытой области. Он реконструирует визуально правдоподобную структуру. Поэтому мелкие буквы могут выглядеть резче, но превратиться в другой знак, особенно после сильной компрессии или нескольких нейросетевых проходов. Для документов сначала проверяйте читаемость на уровне фактических символов, а не только общий контраст.
Если важна точность текста, иногда лучше применить умеренный upscale, затем отдельное OCR/векторизацию или ручное восстановление. Для интерфейсных скриншотов с чёткими пикселями можно попробовать Nearest на финальном downsample, но нейросеть всё равно может изменить форму букв на основном проходе.
Почему обработка остановилась на ошибке Vulkan
Проверьте нижний журнал: видит ли ncnn нужную видеокарту, какой GPU ID выбран и появляется ли сообщение о невозможности создать Vulkan instance/device. Верните GPU ID в -1, обновите драйвер с поддержкой Vulkan и повторите на маленьком файле. Если система содержит несколько GPU, после появления списка устройств можно явно задать ID дискретного адаптера.
Не связывайте Vulkan-ошибку с качеством модели или JPEG. Это уровень вычислительного backend. Если та же команда из output.log падает при прямом запуске Real-ESRGAN-ncnn-vulkan, изменение вкладки Basic обычно не поможет, пока не исправлен драйвер или не выбран поддерживаемый адаптер.
Почему не хватает видеопамяти
Сначала уменьшите Tile size: с Auto перейти на 256, затем при необходимости 128, 64 или 32. Не меняйте одновременно модель и коэффициент, чтобы понять, что именно исправило проблему. Закройте другие приложения, активно использующие GPU. Если ошибка возникает только при втором нейросетевом проходе, помните, что вход второго прохода уже в несколько раз крупнее исходника.
Если Tile 32 всё равно не помогает, ограничение может быть не только VRAM. Очень большой промежуточный файл требует оперативной памяти и места во временном каталоге. В таком случае снизьте целевой размер, используйте модель с подходящим нативным коэффициентом или разбейте задачу на другой рабочий процесс, который умеет стриминговую обработку больших полотен.
Почему список моделей пуст
GUI формирует список только из полностью совпадающих пар .bin и .param. Проверьте каталог models или путь ModelDir в config.ini. Файлы abc.bin и ABC.param на системах с чувствительностью к регистру могут считаться разными именами; аналогично лишний суффикс у одного файла делает пару неполной. Если каталог не существует, программа не сможет построить список и при запуске покажет предупреждение о недостающем backend или моделях.
Не смешивайте формат PyTorch .pth с ncnn-моделью. Рассматриваемая оболочка ищет именно .bin и .param для Real-ESRGAN-ncnn-vulkan. Если найденная в интернете модель распространяется только как .pth, её нельзя просто переименовать: требуется корректное преобразование архитектуры и весов в формат, который понимает ncnn.
Почему выбранная модель даёт странный размер
Одна из причин — коэффициент, который GUI вывел из имени модели. Для названий с x2, x3, x4 или аналогичной записью он определяется явно; иначе принимается 4. Если пользовательская 2×-модель названа без числа, программа будет считать её 4× при планировании проходов. Сам backend может при этом физически выдать другой размер, и дальнейшая цепочка downsample получится нелогичной.
Переименовывать модель нужно вместе с обеими файлами пары и так, чтобы базовые имена остались идентичными. Перед большим батчем проверьте реальную геометрию на маленьком тесте: исходные 100×100 при 2× должны давать ожидаемую нативную ступень. Только после этого используйте Width/Height или высокие Ratio.
Почему результат чёрный или повреждённый
Полностью чёрное изображение чаще указывает не на обычную неудачную реконструкцию, а на сбой вычислительного стека, несовместимую модель или проблему драйвера. Начните с штатной модели и маленького PNG, GPU -1, Auto Tile и выключенного TTA. Если базовый сценарий проходит, возвращайте пользовательскую модель и ручные параметры по одному.
Если проблема появляется только на WebP/JPEG после постобработки, отделите нейросетевой этап от кодирования: сохраните временный PNG без lossy и custom command. Корректный PNG и повреждённый последующий формат означают, что искать нужно в Pillow или внешнем кодировщике, а не в Real-ESRGAN. Аналогично неправильный GIF после успешных кадров указывает на этап сборки анимации.
Почему программа не видит входной файл
Диалог Input фильтрует поддерживаемые расширения. Если файл имеет нестандартное расширение, хотя внутри это изображение, GUI не добавит его в папочную очередь. Переименовывать такой файл вслепую не следует: контейнер должен реально соответствовать расширению и открываться Pillow. Для повреждённых изображений путь может существовать, но ошибка возникнет уже на чтении размера или кадра.
При ручном вводе нескольких путей важно не разрушать разделители, которые использует интерфейс. Надёжнее выбирать несколько файлов через Browse или перетаскивать их одновременно. Для пути с Unicode программа в большинстве случаев работает через Python-строки, но внешний executable и сторонняя post-processing команда тоже должны корректно воспринимать такие имена. Если проблема возникает только на кириллице или пробелах, временный тест в коротком ASCII-пути помогает определить источник.
Почему Output не создаётся
Сначала найдите последнюю успешную строку в output.log. Если Real-ESRGAN завершился с ненулевым кодом, конечного файла может не быть вообще. Если нейросетевой проход успешен, но используется custom command, проверьте, создал ли внешний кодировщик файл с ожидаемым расширением. При {output:avif} GUI не обязан создавать исходный PNG в конечном месте: временный PNG удаляется после успешной внешней команды.
Убедитесь, что каталог результата доступен для записи. Оболочка сама создаёт необходимые подпапки перед перемещением и сжатием, но не может обойти системные права или блокировку файла другой программой. Если результат уже открыт редактором и Windows не разрешает заменить его, повторите с новым именем.
Почему обработка GIF идёт намного дольше ожидаемого
Оценивать GIF по размеру файла в мегабайтах бессмысленно. Главные величины — число кадров, размер каждого кадра, коэффициент и модель. Небольшой хорошо сжатый GIF на несколько мегабайт может содержать сотни кадров и превратиться в сотни отдельных запусков апскейла. Включённый TTA делает каждый кадр ещё дороже.
Для оценки времени можно сначала обработать 5–10 кадров как отдельные изображения с теми же настройками. Это не даст точный прогноз из-за операций разборки и сборки, но покажет порядок величины. Если конечная задача допускает смену формата, анимационные WebP/APNG или видео могут быть удобнее вне Real-ESRGAN GUI, однако штатная функция этой программы собирает именно GIF.
Свободное место и временные файлы
Многопроходное увеличение создаёт временные изображения между проходами, а GIF — по паре временных файлов на множество кадров. Путь для временных файлов задаётся стандартным механизмом системы. При огромных входах конечный PNG может занимать гораздо больше исходного JPEG, а промежуточный 4× или 16× кадр — ещё больше. Поэтому перед длинным запуском нужно оценить не только место в Output, но и свободный объём системного временного каталога.
При штатном завершении временные файлы удаляются по мере продвижения цепочки. При аварийном завершении процесса часть их может остаться до очистки временной директории системой или пользователем. Если после падения большого батча внезапно исчезло свободное место, проверка temp-каталога — разумный шаг, но удалять чужие временные файлы других программ следует осторожно.
Как ускорить рабочий процесс без выдуманных ускорителей
Первый способ — использовать модель с нативным коэффициентом, близким к цели, чтобы не делать лишние проходы. Второй — подобрать максимально крупный стабильный tile size вместо слишком малого значения. Третий — держать TTA выключенным, пока его польза не подтверждена на конкретном материале. Четвёртый — сохранять промежуточные мастер-результаты без тяжёлой внешней постобработки и кодировать их отдельной очередью, если кодек становится узким местом.
При массовой работе не нужно повторно тестировать десятки моделей на каждом файле. Сформируйте небольшой репрезентативный набор и выберите модель по типу материала. Затем зафиксируйте параметры в config.ini и запускайте однородные папки. Это снижает не только время вычислений, но и вероятность человеческой ошибки, когда один каталог случайно обработан другой моделью.
Не стоит увеличивать Tile size до максимума только ради скорости. Если процесс начинает использовать почти всю VRAM, параллельно работающий браузер или видеоредактор может спровоцировать падение. Стабильная настройка немного ниже предела часто выгоднее, чем максимальная скорость с периодическими повторами неудачных файлов.
Как выбирать модель по типу изображения
| Исходник | С чего начать | Что проверить |
|---|---|---|
| Фотография | realesrgan-x4plus | Кожа, волосы, растительность, мелкие повторяющиеся текстуры |
| Аниме и иллюстрация | realesrgan-x4plus-anime | Контуры, градиенты, плоские заливки, субтитры |
| Анимационные кадры | realesr-animevideov3 подходящего масштаба | Стабильность линий между кадрами и мелкие фоновые детали |
| Скриншот интерфейса | Сравнить x4plus и обычный ресайз | Точность текста и тонких иконок |
| Скан документа | Умеренный upscale и проверка символов | Не превратились ли буквы и цифры в другие знаки |
| Пиксель-арт | Сравнить с Nearest без нейросети | Не разрушена ли намеренная пиксельная сетка |
Таблица задаёт начальную точку, а не универсальный рейтинг. Название модели говорит о её специализации, но конкретный исходник может отклоняться от типичного. Например, фотография с сильной стилизацией и крупными рисованными контурами иногда визуально выигрывает от anime-модели, а иллюстрация с фототекстурами — от общего x4plus. Решение принимается по тесту, а не по расширению файла.
Как оценивать результат правильно
Сравнивайте изображения при одинаковом масштабе просмотра, лучше 100% или с фиксированным коэффициентом. Если один вариант показывается вписанным в окно, а другой — пиксель в пиксель, оценка резкости будет искажена. Рассматривайте не одну красивую область, а несколько зон: высококонтрастный край, мелкую текстуру, гладкий градиент, лицо, текст и тёмную область с шумом.
Полезно хранить нейтральный baseline — обычный Lanczos того же конечного размера. Тогда видно, что именно добавила нейросеть. Если Real-ESRGAN отличается только повышенным локальным контрастом, а мелкие детали стали неверными, выгода сомнительна. Если он восстанавливает более чистые контуры и правдоподобную структуру без заметных артефактов, модель подходит лучше.
Для серии кадров важно смотреть не только отдельный кадр, но и временную стабильность. Модель может каждый раз немного по-разному интерпретировать похожие мелкие детали, из-за чего в анимации появляется мерцание. Real-ESRGAN GUI не содержит temporal-модуля, который согласовывал бы соседние кадры; GIF просто обрабатывается покадрово.
Работа с архивными фотографиями
Перед апскейлом полезно отдельно устранить грубые физические дефекты скана: большие царапины, разрывы, пыль и неверный баланс уровней. Real-ESRGAN не знает, является ли длинная белая линия деталью изображения или повреждением бумаги, и может сделать дефект лишь более крупным и убедительным. Сначала восстановление, затем сверхразрешение обычно даёт более контролируемый результат.
Сильно размытые лица не следует воспринимать как достоверно восстановленные личности. Модель создаёт визуально вероятные детали. Для семейного архива сохраняйте исходный скан и отмечайте нейросетевую версию как производную. Если результат предназначен для печати, после апскейла можно уменьшить его до конкретного печатного размера — именно здесь режим Width/Height и Lanczos помогают привести изображение к точной геометрии.
Работа с веб-графикой и иллюстрациями
Для небольших иллюстраций из старых сайтов, игр и форумов часто полезна anime-модель, но логотипы и шрифт требуют отдельного контроля. Если исходный логотип был векторным, лучше найти векторный источник, чем реконструировать растр нейросетью. Real-ESRGAN полезен, когда исходника более высокого качества действительно нет.
После увеличения итог можно сохранить в lossless WebP для уменьшения размера без повторной потери. Если сайт требует AVIF или JXL, используйте custom command. Но оптимизацию для веба лучше делать после выбора визуально корректной модели; иначе агрессивное сжатие затруднит анализ артефактов и придётся повторять весь нейросетевой этап.
Работа с игровыми текстурами
Текстуры требуют осторожности с тайлами и повторяющимися узорами. Нейросеть может изменить бесшовный стык, нормальную карту или техническую маску, потому что воспринимает её как обычное изображение. Для diffuse/albedo-текстур Real-ESRGAN может быть полезен, но normal, roughness, metallic и другие служебные карты лучше обрабатывать специализированным пайплайном, который понимает их семантику.
GUI не содержит отдельного режима texture и не знает о каналах PBR. Если нужно масштабировать набор взаимосвязанных карт, node-based инструменты вроде chaiNNer часто дают больше контроля, потому что позволяют строить разные ветви обработки. Real-ESRGAN GUI выигрывает простотой, когда задача сводится к одному типу цветных изображений.
Цвет и профили
Real-ESRGAN GUI ориентируется на пиксельное изображение и не предоставляет отдельной панели управления ICC-профилями. Внешний исполнитель, Pillow и дополнительный кодировщик могут по-разному обращаться со служебными метаданными. Для обычной sRGB-графики это часто незаметно, но в цветокритичном процессе следует проверить профиль результата отдельным инструментом.
Если custom command используется для перекодирования, именно внешний инструмент может стать местом, где задаётся профиль, глубина и chroma subsampling. Не следует ожидать, что переключатель модели автоматически сохранит печатный CMYK-процесс или 16-битный HDR. Рассматриваемый интерфейс не содержит явных настроек bit depth, transfer function и HDR metadata.
Приватность файлов и сетевые зависимости
Сам процесс апскейла выполняется через запущенный на компьютере ncnn/Vulkan-бинарник и читает указанные пользователем файлы напрямую. Для обычной обработки изображение не требуется отправлять на сервер. Однако кнопки во вкладке About открывают веб-страницы проекта, а дополнительные модели пользователь получает отдельно. Если в custom command указана сторонняя программа с сетевой функцией, её поведение уже не контролируется Real-ESRGAN GUI.
Для конфиденциальных материалов важно различать архитектуру апскейла и происхождение скачанных компонентов. Используйте исполнитель и модели из доверенного источника и проверяйте внешние команды. GUI не содержит встроенного механизма подписи пользовательских бинарников или песочницы для post-processing.
Сравнение Real-ESRGAN GUI с аналогами
| Программа | Лучше подходит для | Главное ограничение |
|---|---|---|
| Real-ESRGAN GUI | Простого пакетного апскейла Real-ESRGAN, точного целевого размера, GIF и внешней постобработки | Нет встроенного предпросмотра до/после и обработки видео |
| Upscayl | Пользователей, которым нужен более современный визуальный интерфейс Real-ESRGAN, модели и пакетный режим | Для ускорения нужен Vulkan-совместимый GPU; часть моделей имеет фиксированные нативные масштабы |
| Waifu2x-Extension-GUI | Единого Windows-комбайна для изображений, GIF, видео, нескольких SR-движков и интерполяции кадров | Существенно более сложный интерфейс и большой набор параметров |
| Final2x | Кроссплатформенного апскейла с несколькими архитектурами и пользовательскими моделями | Набор GPU-бэкендов и требования зависят от платформы и версии ядра |
| chaiNNer | Гибких цепочек обработки, собственных SR-моделей, ветвления, пакетных и комбинированных операций | Нужно собирать node-граф и устанавливать вычислительные зависимости |
| Topaz Gigapixel | Фотографий, интерактивного выбора AI-модели, пакетной обработки и визуальной оценки результата | Коммерческий продукт; часть современных генеративных режимов может использовать облачный рендер |
Практический выбор зависит от ширины задачи. Real-ESRGAN GUI рационален, когда нужен компактный и понятный интерфейс вокруг Real-ESRGAN-ncnn-vulkan: выбрать модель, задать точный размер, прогнать папку, при необходимости GIF и получить лог. Upscayl удобнее, если важна более наглядная оболочка вокруг сходного класса моделей. Waifu2x-Extension-GUI стоит брать, когда вместе с апскейлом нужны видео, интерполяция кадров и несколько движков. Final2x и chaiNNer сильнее там, где пользователь хочет расширять набор архитектур или собирать сложные цепочки. Topaz Gigapixel ориентирован на готовый коммерческий фотографический workflow с интерактивными инструментами. ВидеоМАСТЕР в эту таблицу не включён: его основная задача — конвертация и монтаж видео, а не прямой нейросетевой апскейл статических изображений Real-ESRGAN.
Real-ESRGAN GUI или Upscayl
Обе программы могут использовать семейство Real-ESRGAN/ncnn и Vulkan, но делают разный акцент. Upscayl предлагает более визуально ориентированный рабочий процесс и отдельные режимы одиночного и пакетного апскейла, тогда как Real-ESRGAN GUI ближе к прозрачной оболочке над исполнительным файлом: пользователь видит лог, GPU ID, tile size, точную логику произвольного размера и может отправить результат внешней команде.
Если достаточно выбрать картинку — выбрать модель — увеличить, Upscayl часто проще воспринимается новичком. Если важно получить, например, ширину 2560 через многопроходный upscale и выбранный downsample, обработать GIF или встроить avifenc/cjxl без дополнительного шага, Real-ESRGAN GUI даёт прямые средства для этого. При проблемах с Vulkan обе программы могут упереться в один и тот же класс ограничений backend.
Real-ESRGAN GUI или Waifu2x-Extension-GUI
Waifu2x-Extension-GUI объединяет много движков сверхразрешения, обработку видео и анимаций, интерполяцию кадров и широкий набор служебных инструментов. Это сильнее для мультимедийной лаборатории, где тип задачи меняется от файла к файлу. Цена — заметно больше настроек и необходимость понимать, какой движок, кодек и режим активен.
Real-ESRGAN GUI заметно уже: основной сценарий — Real-ESRGAN, плюс опциональная подмена backend на совместимый Real-CUGAN. Благодаря этому легче воспроизвести конкретный профиль и разобраться в логе. Если пользователю не нужна обработка видео и десятки алгоритмов, узкая оболочка может быть удобнее именно отсутствием лишних страниц.
Real-ESRGAN GUI или Final2x
Final2x строится как более универсальный инструмент сверхразрешения с поддержкой разных моделей и современного вычислительного ядра. Он подходит тому, кто хочет экспериментировать с архитектурами за пределами нескольких стандартных ncnn-моделей Real-ESRGAN. Real-ESRGAN GUI проще, когда уже известно, что нужен именно Real-ESRGAN-ncnn-vulkan и важна предсказуемая папочная очередь.
При выборе учитывайте не только список моделей, но и обслуживание окружения. Универсальный инструмент неизбежно имеет больше зависимостей и вариантов GPU-бэкенда. Узкий GUI меньше автоматизирует выбор модели, зато его рабочая цепочка легче читается: модель → ncnn → при необходимости downsample → формат/внешняя команда.
Real-ESRGAN GUI или chaiNNer
chaiNNer — node-based система: пользователь строит граф из загрузки, модели, ресайза, цветовых операций, сохранения и других узлов. Это существенно гибче для сложных production-пайплайнов, пакетных правил, нескольких моделей, восстановления лица или технических текстур. Но даже простой апскейл требует понимания узлов и вычислительного backend.
Real-ESRGAN GUI не пытается быть визуальным языком программирования. В нём значительно быстрее настроить единый батч, особенно если нужна стандартная модель и один выходной формат. Как только появляется ветвление, разные операции по каналам, сложная маршрутизация имён или несколько последовательных AI-моделей, chaiNNer становится логичнее.
Параметры Advanced в одной таблице
| Параметр | Что меняет | Когда трогать |
|---|---|---|
| Downsample | Фильтр финального уменьшения до точной цели | Когда цель не совпадает с нативным размером модели |
| Tile size | Размер фрагмента для ncnn | При нехватке VRAM или для настройки скорости |
| GPU ID | Выбор Vulkan-устройства | На системах с несколькими GPU или ошибочным auto |
| Prefer lossless WebP | Меняет без потерь выход с PNG на WebP | Когда нужен меньший контейнер без JPEG-потерь |
| TTA | Дополнительные преобразования на инференсе | Для редких финальных изображений после теста |
| GIF transparency | Экспериментально обрабатывает края прозрачного GIF | Только для GIF с прозрачными областями |
| Lossy compression | Включает JPEG/WebP с качеством 0–100 | Для финальной публикационной копии |
| Ignore error | Не останавливает всю очередь на одном сбое | Для больших неоднородных батчей |
| Pre-upscale | Может добавить обычный Lanczos перед моделью | Для некоторых нестандартных целевых масштабов |
| Custom command | Передаёт результат внешнему кодировщику/процессору | Для AVIF, JXL, водяных знаков и автоматизации |
Чек-лист перед большим батчем
- Выбрать модель на 3–5 типичных изображениях, а не на одном удачном фрагменте.
- Проверить конечный размер и понять, нужен ли дополнительный downsample.
- Убедиться, что Auto Tile стабилен на самом крупном файле; при необходимости подобрать ручное значение.
- Оставить TTA выключенным, если разница не подтверждена визуально.
- Определить, нужен ли мастер без потерь или сразу JPEG/WebP.
- Проверить свободное место в Output и системном temp.
- Если используется custom command, протестировать её на одном файле с пробелами и Unicode в пути.
- Решить, должен ли один сбой останавливать очередь или уместен Ignore error.
- Сохранить копию output.log после проблемного запуска до следующей попытки.
Такой короткий контроль полезнее случайной смены десятка параметров после сбоя. Большинство проблем Real-ESRGAN GUI относятся к четырём слоям: входной файл, модель, ncnn/Vulkan и финальный формат. Диагностика становится заметно проще, если менять по одному слою за раз.
Частые вопросы
Можно ли увеличить изображение ровно до 1920×1080?
Если исходник имеет соотношение 16:9, выберите Width 1920 или Height 1080 — вторая сторона получится нужной автоматически. Если пропорции другие, GUI не обрезает и не искажает изображение, поэтому обе цифры одновременно задать нельзя. Сначала нужно изменить кадрирование в другом редакторе.
Можно ли задать коэффициент 1,5×?
Поле Ratio принимает целые значения от 2. Для 1,5× задайте точную Width или Height, рассчитанную из исходного размера. Тогда программа при необходимости выполнит нейросетевой проход и уменьшит результат до этой стороны.
Можно ли просто уменьшить фотографию?
Техническая логика ориентирована на upscale. Для обычного уменьшения без нейросетевой реконструкции лучше использовать редактор или конвертер. Запуск AI только ради downscale расходует ресурсы и может изменить детали без необходимости.
Есть ли встроенный русский язык?
В штатном наборе переводов рассматриваемого проекта русский интерфейс не заявлен. При неподдерживаемой локали используется английский, а язык можно менять в Advanced.
Поддерживает ли программа видео?
Нет штатного выбора MP4, MKV, MOV и других видеоформатов. Поддерживаются изображения и GIF. Для видео нужны инструменты, которые извлекают кадры и собирают ролик обратно.
Можно ли обрабатывать целую папку?
Да. Папка обходится рекурсивно, а структура подпапок повторяется в Output. Все файлы получают один набор параметров текущего запуска.
Сохраняется ли GIF как анимация?
Да. Кадры извлекаются, апскейлятся по отдельности и собираются обратно с записанными длительностями. Это увеличивает число задач пропорционально числу кадров.
Зачем нужен Prefer lossless WebP?
Он позволяет вместо PNG получать WebP без потерь в обычной ветке сохранения. Это не то же самое, что lossy WebP: потери включаются отдельным переключателем.
Что значит GPU ID -1?
Автоматический выбор устройства. Конкретные ID видны в журнале ncnn после запуска. При нескольких GPU можно указать нужный номер вручную.
Какой Tile size выбрать?
Начните с Auto. При ошибке памяти уменьшайте размер последовательно. Слишком маленький тайл может заметно замедлить обработку, поэтому искать минимум без необходимости не стоит.
Нужно ли включать TTA?
Нет. Это необязательный режим, который резко снижает скорость ради потенциального небольшого улучшения. Сначала сравните один файл с TTA и без него.
Можно ли добавить свою модель?
Да, если это совместимая ncnn-модель в паре .bin/.param. Желательно, чтобы в имени был понятный коэффициент x2/x3/x4, иначе GUI предполагает 4×.
Где искать ошибки?
В нижнем журнале и output.log. Там видны команда backend, сообщения Vulkan, проценты, post-processing и traceback Python. Новый запуск перезаписывает лог, поэтому нужную копию сохраняйте заранее.
Можно ли сохранить в AVIF?
Штатного пункта AVIF нет, но можно вызвать внешний avifenc через Custom command и подстановку {output:avif}.
Почему JPEG вдруг стал PNG?
Автоматический путь для JPEG/TIFF переводится в PNG, чтобы не добавлять потери после нейросетевого этапа. JPEG можно получить через ручной Output и lossy compression либо через внешнюю команду.
Кому Real-ESRGAN GUI подходит лучше всего
Программа особенно удобна пользователю, который уже понимает, что хочет применить Real-ESRGAN, но не хочет вручную собирать командную строку, рассчитывать промежуточные размеры и писать скрипт для папок. Она закрывает именно инженерную обвязку: пути, модель, точный размер, тайлы, GPU, очередь, GIF, лог и сохранение.
Для дизайнера это может быть быстрый способ подготовить старые растровые иллюстрации к большему макету. Для владельца архива — получить крупные копии сканов после предварительной реставрации. Для технического пользователя — встроить ncnn-апскейл в цепочку с AVIF/JXL через custom command. Для аниматора — увеличить короткий GIF, понимая, что каждый кадр считается отдельно.
Если же требуется интерактивная ретушь, работа с видео, сложные маски, лицо-восстановление, сотни SR-архитектур или визуальные node-графы, лучше сразу выбрать более широкий инструмент. Сила Real-ESRGAN GUI — не в максимальном количестве функций, а в ясной связке конкретного backend с полезной автоматизацией вокруг него.
Итоговый рабочий подход
Для предсказуемого результата начинайте с малого: один типичный файл, подходящая штатная модель, нативный или близкий к нему масштаб, Auto Tile, GPU -1, без TTA и без lossy. После проверки качества задайте точный Width/Height/Longest/Shortest side и при необходимости подберите downsample. Затем выберите формат и только в финале подключайте сжатие или внешнюю команду.
При проблемах разделяйте этапы. Сначала докажите, что файл открывается. Затем — что Real-ESRGAN-ncnn-vulkan проходит его со штатной моделью. Потом проверяйте нестандартный размер, далее — WebP/JPEG, и последней — пользовательскую post-processing команду. Такой порядок быстрее случайной смены параметров и позволяет точно понять, на каком уровне возникает ошибка.
Real-ESRGAN GUI даёт достаточно контроля, чтобы построить повторяемую серию без скриптов, но не скрывает особенности нейросетевого апскейла: модель способна реконструировать правдоподобные, а не обязательно достоверные детали; очень большие коэффициенты требуют нескольких проходов; точный размер достигается сочетанием AI и обычного downsample; GIF требует обработки каждого кадра. Если учитывать эти ограничения, интерфейс остаётся простым, а результат — управляемым.