Saltar ao contido principal
LibraTool logoLibraTool

Ampliador de imaxes de balde

Amplía unha foto 4× cun modelo de IA que se executa no teu dispositivo: bordos máis nítidos e texto lexible, non só píxeles máis grandes. Non se sobe nada, sen conta nin marca de auga.

Solta ficheiros aquí ou fai clic para buscar

PNG, JPG, WebP, AVIF, GIF, BMP, HEIC, HEIF · procesado no teu dispositivo

ou preme Ctrl+V para pegar desde o portapapeis

Podes soltar varios ficheiros á vez

Explorar ficheiros
Real-ESRGAN redebuxa o detalle a 4× en lugar de estirar os píxeles. O modelo de 4,6 MB descárgase unha vez e despois execútase por completo neste dispositivo: a túa foto nunca se envía.

Como funciona

O ampliador executa Real-ESRGAN general-x4v3 — unha rede convolucional de super-resolución de 4,6 MB — mediante onnxruntime-web dentro dun Web Worker na túa propia máquina. O modelo obtense unha vez do noso propio servidor, gárdase na caché, e despois úsase sen conexión; a túa foto decodifícase nun lenzo localmente e nunca se sube. O factor de escala é fixo en 4×, porque está fixado directamente no gráfico en dous lugares.

  1. 1
    A imaxe córtase en teselas solapadas
    Un resultado 4× ten dezaseis veces os píxeles, así que unha foto de 4000×3000 sería de 192 megapíxeles — suficiente para colgar a pestana do navegador por completo en lugar de simplemente ralentizala. No seu lugar, a imaxe divídese en núcleos que a teselan exactamente, e cada núcleo lese cun marxe extra de contexto en cada lado para que a pila de convolución (cuxo campo receptivo é de 34 píxeles) teña píxeles veciños reais dos que traballar. Os bordos replícanse desde os bordes, nunca se rechean con ceros, o que doutro xeito faría que o modelo afiase un anel negro arredor do marco.
  2. 2
    Cada tesela empaquétase como un tensor RGB planar
    Unha tesela convértese nun tensor float32 de forma [1, 3, H, W] coas canles vermella, verde e azul almacenadas como planos separados e valores simplemente divididos por 255 — sen ningún tipo de normalización de media/desviación estándar. Cada tesela réchease exactamente ao mesmo tamaño cadrado, porque o backend WebGPU recompila os seus shaders para cada nova forma de entrada e un plan con tres tamaños de tesela diferentes pagaría ese custo tres veces.
  3. 3
    A inferencia execútase en WebGPU onde existe, senón na CPU
    A sesión créase primeiro con WebGPU e recorre a WebAssembly monofío en calquera fallo — os controladores gráficos rutinariamente anuncian soporte e despois fallan a metade de camiño na construción do gráfico, e máis lento vence a roto. Debido a que a reserva cambia o límite de tamaño realista e o tempo de execución por un factor grande, a ferramenta volve comprobar o traballo contra calquera provedor que realmente obtivo antes de que se execute a primeira tesela, e dio despois cal usou.
  4. 4
    As teselas fúndense de novo con transición cruzada e límítanse
    Unir teselas de forma directa deixa unha grella visible, así que a contribución de cada tesela pondérase por unha rampa lineal a través da franxa compartida. As dúas rampas son complementos exactos, así que os pesos suman precisamente 1 en cada píxel de saída e non aparece ningunha liña clara ou escura ao longo dunha costura. A saída en bruto do modelo non se recorta dentro do gráfico — os valores medidos van desde aproximadamente −0,18 a +1,19 — así que cada mostra límítase ao rango 0–255 antes da conversión a 8 bits, que é o que evita o moteado ao longo de bordos de alto contraste. O alfa remostréase por separado e bilinealmente, porque a propia rede non ten camiño alfa.
  5. 5
    O resultado codifícase no worker
    Os píxeles montados debúxanse nun OffscreenCanvas e codifícanse a PNG inmediatamente, así que premer Descargar non ten ningunha lagoa asíncrona diante. Cambiar a JPG recodifica desde o lenzo que o worker aínda mantén en lugar de executar o modelo de novo. Tamén se renderiza un pequeno recorte central ao 100% xunto coa mesma rexión remostreada polo navegador, que é a única comparación na que unha diferenza 4× é realmente visible.

Os pesos do modelo descárganse unha vez do noso propio servidor e gárdanse na caché; a túa imaxe decodifícase, teselase, amplíase e codifícase enteiramente dentro do teu navegador, e ningunha parte dela se envía nunca a ningures.

Ferramentas relacionadas

Preguntas frecuentes