Перейти до основного вмісту
LibraTool logoLibraTool

Збільшення зображень — безкоштовно

Збільште фото в 4 рази за допомогою ШІ-моделі, що працює на вашому пристрої: чіткі краї та читабельний текст, а не просто більші пікселі. Нічого не завантажується, без облікового запису та водяних знаків.

Перетягніть файли сюди або натисніть для вибору

PNG, JPG, WebP, AVIF, GIF, BMP, HEIC, HEIF · обробляється на вашому пристрої

або натисніть Ctrl+V, щоб вставити з буфера обміну

Можна перетягнути кілька файлів одразу

Вибрати файли
Real-ESRGAN домальовує деталі за 4× замість того, щоб розтягувати пікселі. Модель на 4,6 MB завантажується один раз і далі працює повністю на цьому пристрої — ваше фото ніколи не надсилається на сервер.

Як це працює

Збільшувач запускає Real-ESRGAN general-x4v3 — згорткову мережу надроздільності розміром 4.6 MB — через onnxruntime-web у Web Worker на вашому комп’ютері. Модель завантажується один раз з нашого власного сервера, кешується й далі використовується офлайн; фото декодується на canvas локально й ніколи не завантажується. Коефіцієнт масштабу фіксований — 4×, бо його жорстко вбудовано в граф у двох місцях.

  1. 1
    Зображення ділиться на плитки, що перекриваються
    Результат 4× має в шістнадцять разів більше пікселів, тож фото 4000×3000 стало б 192 мегапікселями — достатньо, щоб повністю обвалити вкладку браузера, а не просто сповільнити її. Натомість зображення розбивається на ядра, що точно його покривають, і кожне ядро читається з додатковим полем контексту з усіх боків, щоб стек згорток (з рецептивним полем 34 пікселі) мав справжні сусідні пікселі. Межі дублюються від краю, а не доповнюються нулями, інакше модель підкреслювала б чорну облямівку навколо кадру.
  2. 2
    Кожна плитка пакується в планарний тензор RGB
    Плитка стає тензором float32 форми [1, 3, H, W] з червоним, зеленим і синім каналами, збереженими як окремі площини, а значення просто діляться на 255 — без будь-якої нормалізації за середнім чи стандартним відхиленням. Кожна плитка доповнюється до точно однакового квадратного розміру, бо бекенд WebGPU перекомпільовує шейдери для кожної нової форми входу, і план із трьома різними розмірами плиток заплатив би цю ціну тричі.
  3. 3
    Інференс працює на WebGPU, де він є, інакше — на CPU
    Сеанс спершу створюється з WebGPU, а при будь-якій помилці переходить на однопотоковий WebAssembly — графічні драйвери часто заявляють підтримку, а потім збоять посеред побудови графа, і повільно краще, ніж зламано. Оскільки запасний варіант суттєво змінює реалістичне обмеження розміру й час роботи, інструмент повторно перевіряє завдання щодо фактично отриманого провайдера перед першою плиткою й потім повідомляє, який саме використано.
  4. 4
    Плитки плавно зводяться разом і обмежуються
    Стикування плиток встик залишає помітну сітку, тож внесок кожної плитки зважується лінійною зміною вздовж спільної смуги. Дві зміни точно доповнюють одна одну, тож ваги в кожному вихідному пікселі дають рівно 1, і вздовж шва не з’являється світлих чи темних ліній. Сирий вихід моделі не обрізається всередині графа — виміряні значення коливаються приблизно від −0.18 до +1.19, — тож кожен семпл обмежується діапазоном 0–255 перед приведенням до 8 бітів, що й запобігає крапчастості вздовж контрастних країв. Альфа-канал передискретизується окремо білінійно, бо сама мережа не має шляху для альфа.
  5. 5
    Результат кодується у воркері
    Зібрані пікселі малюються на OffscreenCanvas і одразу кодуються в PNG, тож перед натисканням «Завантажити» немає асинхронної паузи. Перемикання на JPG перекодовує з полотна, яке воркер усе ще утримує, а не запускає модель знову. Також невеликий центральний фрагмент рендериться в масштабі 100% поруч із тією самою ділянкою, передискретизованою браузером, — лише за такого порівняння різниця 4× справді помітна.

Ваги моделі завантажуються один раз із нашого власного сервера й кешуються; ваше зображення декодується, ділиться на плитки, збільшується й кодується повністю у вашому браузері, і жодна його частина нікуди не надсилається.

Схожі інструменти

Часті запитання