BookinglyTech News
Inteligencia artificial

En el navegador: 1024 dimensiones visuales sin enviar datos a la nube

Un equipo describe OmniPic, un motor que ejecuta embeddings visuales de 1024 dimensiones directamente en el navegador, con Web Workers, WebGL y WASM.

2 min de lecturaDev.to0 vistas

Un equipo de desarrollo ha publicado una descripción técnica de OmniPic, un motor que ejecuta redes neuronales de visión directamente en el navegador, sin enviar ni un byte a la nube. El sistema extrae vectores de 1024 dimensiones de imágenes y los usa para búsquedas y deduplicación con similitud coseno, todo en local.

Según sus autores, más del 85% de las imágenes en la web carecen de metadatos descriptivos, así que ficheros como f9a8b2c_thumb_1024x768.webp son ininteligibles para scripts tradicionales. La solución habitual pasa por APIs cloud, lo que implica costes, latencia y problemas de privacidad. OmniPic apuesta por mantener la inferencia en el propio navegador.

Arquitectura de tres niveles

El reto técnico es que ejecutar inferencia en el hilo principal congelaría la página. Por eso, el equipo aísla todo el bucle de inferencia en un Web Worker dedicado. Para acelerar el cómputo, el motor inspecciona el entorno y elige entre tres vías: compilar las operaciones a shaders de WebGL, si el contexto está disponible; caer a WebAssembly con SIMD de 128 bits; o en entornos restringidos, usar arrays tipados de JavaScript.

Esa combinación permite extraer un vector de 1024 dimensiones en 14 milisegundos por imagen en un portátil moderno, según los autores. La representación geométrica hace que imágenes con características visuales similares queden cerca en un espacio de 1024 dimensiones, permitiendo búsquedas por semejanza sin depender de nombres de fichero.

El enfoque no es nuevo: ya hay bibliotecas como Transformers.js que ejecutan modelos grandes en el navegador, pero la optimización a múltiples niveles y el foco en vectores de 1024 dimensiones lo convierten en una opción interesante para quien busque funcionalidad visual offline, especialmente en extensiones de navegador o aplicaciones que manejan muchos assets sin infraestructura backend.

Lo que queda por ver es si el rendimiento se mantiene en dispositivos de gama baja y cómo resuelven la carga inicial del modelo, que probablemente sea pesada. El código no ha sido publicado, así que no se puede verificar de forma independiente.