Volver al blog
tech 2026-04-29

Mejora de imágenes con IA: cómo corren los modelos ONNX en tu navegador

Mejora de imágenes con IA: cómo corren los modelos ONNX en tu navegador

La expresión "photo enhancement AI" solía implicar una granja de servidores: sube un JPEG, espera en cola, recupera un PNG enfocado de una GPU que nunca verás. Ese modelo se rompe para cualquiera que maneje evidencia legal, imágenes médicas o archivos familiares privados — no porque las GPUs de la nube sean malvadas, sino porque mover píxeles es una responsabilidad de la que deberías poder optar por salir. ONNX Runtime Web hizo realista correr modelos serios de visión donde el usuario ya está: dentro de la pestaña del navegador, opcionalmente acelerado por rutas WebGPU o WebGL. En Ai2Done alineamos los browser AI models con una regla simple: si la herramienta puede correr localmente, debería, y la UI debería decir la verdad sobre memoria, velocidad y límites.

Del notebook de entrenamiento al artefacto de despliegue

La mayoría de los equipos sigue entrenando en PyTorch o TensorFlow, experimenta con arquitecturas y luego exporta a ONNX — un formato de intercambio que separa la definición del modelo del runtime. Esa separación es por la que ONNX es popular para despliegues edge: un artefacto, múltiples execution providers y un conjunto de operadores consistente sobre el que razonar en CI. Para la web, ONNX Runtime carga el grafo, fusiona ops donde es posible y despacha kernels que mapean al mejor dispositivo disponible.

Conceptualmente, la inferencia es un bucle apretado: preprocesar tensores (normalizar, redimensionar, paddear), alimentar un diccionario de entradas nombradas, ejecutar la sesión asíncronamente, postprocesar las salidas a algo que un canvas o un pipeline de descarga entiendan. La complejidad no es el pseudocódigo de cinco líneas; es todo lo que lo rodea — validación de entradas, rutas de fallback, trampas de layout de tensores y asegurar que nunca filtras frames intermedios a telemetría que no pretendías recoger.

Super-resolución con IA sin la subida

El AI image upscaling — a menudo llamado image super resolution online cuando se comercializa como función web — es matemáticamente un problema de generación condicional o regresión: predecir el detalle de alta frecuencia que falta condicionado a la entrada de baja resolución. La calidad depende de la capacidad del modelo, la diversidad de los datos de entrenamiento y de cuán agresivamente cuantizas para la entrega web. Una gran UX empareja el modelo con expectativas honestas: no toda foto borrosa se vuelve un still de Hollywood, y los productos éticos evitan implicar reconstrucción forense que no pueden garantizar.

En Ai2Done, Super Resolution apunta al escenario en el que los usuarios quieren un asset más grande y limpio para imprimir o pantalla sin entregar el original al object store de un desconocido. Correr en el navegador significa que la latencia está dominada por el cómputo local, no por hops HTTPS y contenedores en frío que arrancan en otro continente. Eso importa para el trabajo creativo iterativo donde ajustas settings repetidamente.

Restauración y deblur: reparar el daño localmente

Los escaneos antiguos sufren de manchas, dobleces y grano; las tomas de smartphone sufren de movimiento y enfoque perdido. Los modelos de photo restoration AI intentan invertir las degradaciones — o al menos halucinar estructura plausible consistente con el contexto del parche. ONNX Runtime Web ayuda aquí porque las cargas de restauración son a menudo basadas en parches o con forma de U-Net con memoria predecible si restringes los tamaños de tile.

Restore Photo y Unblur Image viven en la misma familia: las entradas son observaciones ruidosas; las salidas son versiones más limpias. El reto de ingeniería es mantener estable la memoria GPU entre dispositivos y proporcionar progreso que refleje el trabajo tensorial en vez de un spinner falso. Donde el glue WASM orquesta IO de archivos y los límites de la herramienta, la sesión ONNX sigue siendo el motor numérico — separación limpia que encaja con el diseño domain-driven de Ai2Done: mantén las reglas de negocio fuera del runtime de inferencia, mantén los hacks de tensor fuera de las plantillas.

Colorización: color plausible, no ground truth

La colorización automática es intrínsecamente ambigua: muchas escenas admiten múltiples paletas creíbles. Los buenos modelos aprenden priors de grandes datasets; los grandes productos comunican la incertidumbre sin condescendencia. La Colorize Photo del lado del cliente es atractiva para historiadores, diseñadores y aficionados que quieren exploraciones rápidas sin publicar referencias privadas en internet público.

Como la colorización puede ser visualmente dramática, los picos de rendimiento son visibles — los usuarios notan cuando un ventilador arranca. Esa es otra razón por la que los browser AI models necesitan modos de calidad adaptativos: entrada un poco más pequeña, pases un poco más rápidos y degradación elegante cuando WebGPU no está disponible.

Por qué "navegador" ya no significa "juguete"

Los escépticos recuerdan la era de las convnets diminutas en MNIST. ONNX Runtime Web moderno más hardware capaz hace la inferencia portable práctica para muchas resoluciones fotográficas — no infinitas, pero suficientes para flujos comunes si diseñas con cuidado. La cuantización (INT8 y variantes) reduce el ancho de banda y acelera capas matmul-heavy, a un coste que debes validar perceptualmente. Los ejes dinámicos y las estrategias de batching pueden sorprenderte si asumes formas de escritorio.

La postura de seguridad también cambia: cuando la inferencia es local, desaparecen categorías enteras de inyección de prompts vía middleware de modelo del lado del servidor. Tu modelo de amenazas se encoge a supply chain (integridad de pesos del modelo), XSS (no exfiltrar píxeles de canvas) e ingeniería social — todavía reales, pero más estrechos que la inferencia centralizada para cada frame.

Guía práctica para equipos enviando herramientas similares

Primero, trata los modelos como binarios: versiónalos, checksuméalos y documenta su procedencia. Segundo, expón dimensiones máximas de imagen y explica los trade-offs de memoria en lenguaje llano. Tercero, prefiere disclosure progresivo — carga ONNX de forma diferida después de que el usuario elija una tarea para que las landing pages se mantengan rápidas. Cuarto, mide en portátiles de gama media, no solo en máquinas de desarrollo serie M; el photo enhancement AI debe ser usable donde la gente real vive.

Reflexiones finales

El AI image upscaling, la restauración, el deblur y la colorización fueron una vez sinónimos de dependencia de la nube. ONNX Runtime Web los reenmarca como browser AI models que pueden respetar el consent-by-architecture: tus píxeles permanecen bajo tu usuario del SO hasta que exportes. Ai2Done liga esa filosofía a herramientas concretas — Super Resolution, Restore Photo, Colorize Photo, Unblur Image — para que "image super resolution online" se convierta en una promesa que puedes verificar localmente. El futuro del photo enhancement AI no es meramente PSNR más alto; es confianza más alta.