- Esto va a ser una pequeña introducción al escalado/mejora de imágenes con IA. Intentaré actualizar este post a medida que aprenda más para que siga siendo útil y mejore en calidad (además de reescribir partes para mayor claridad, gramática y formato). Se anima a discutir técnicas de escalado, experiencias, software, evaluaciones de dicho software, etc.
- Seguro que todos saben qué es el escalado, pero no todos conocen bien qué es el escalado con IA y cómo usarlo. La IA de la que hablo es una Red Neuronal Artificial de Aprendizaje Profundo, que básicamente es una IA entrenada con un conjunto de datos enorme (en este caso, toneladas de imágenes) para 'aprender'. El resultado es una IA que puede escalar una imagen con más precisión, aportando detalle que el escalado tradicional no puede.
- Escalar imágenes no es un proceso mágico. Por ejemplo, si hay un texto totalmente ilegible en un libro de la imagen, el escalado no lo va a arreglar. Es simplemente una forma de aumentar la resolución de las imágenes de manera estética, con más nitidez, claridad y realismo que el escalado tradicional. Eso no quiere decir que no valga la pena usar escalado con IA en vez del escalado/remuestreo tradicional, porque sí vale la pena. Los resultados pueden no ser siempre buenos, pero tampoco son siempre malos, y solo van a seguir mejorando con el tiempo. A veces una imagen queda tan bien escalada que es prácticamente perfecta. Además, el escalado con IA también sirve para limpiar una imagen de ruido y artefactos de compresión, así que aunque no necesites o no te importe aumentar la resolución, igual hay otros beneficios posibles.
- Voy a dar una lista corta de algunas opciones de escalado junto con el precio, la plataforma en la que están disponibles y los límites de escalado. No voy a evaluar la calidad de los escalados de cada una porque, primero, es algo subjetivo, y segundo, no he probado todo lo que hay aquí. Quién sabe, quizás lo haga en algún momento y suba las imágenes para comparar, pero también puede que no, depende de lo que decida.
- Algunas de las opciones son web, lo que da la comodidad de poder escalar con prácticamente cualquier dispositivo con un navegador decente y conexión a internet. Los contras son que o tienen capacidad limitada, o cuestan una suscripción, y que requieren conexión a internet. Puede que no sea la mejor opción para quienes tienen conexiones lentas, inestables o con límite de datos. Además, nunca sabes qué hacen realmente con tus imágenes, así que si hay fotos sensibles que quieres escalar, puede ser buena idea optar por una opción que no sea web.
- Algunas se pueden descargar como software, lo que suele tener la ventaja de no necesitar internet y de tener menos o ninguna restricción de escalado. Los contras son que el software tiene que estar disponible para la plataforma que quieres usar, y además necesitas un dispositivo capaz de ejecutarlo, ya que a diferencia de una opción web donde otros servidores se encargan de la carga computacional, ahora es tu dispositivo el que tiene que hacer todo el procesamiento.
*El código fuente está disponible en GitHub
**Vía WINE
- Estas no son las únicas opciones, hay muchas más para elegir, así que si ninguna te convence, busca algo como "AI Image Upscaling Software". También puedes echarle un ojo a este link que da una lista de más opciones con algunos pros y contras de cada una. Yo personalmente uso Gigapixel AI porque corre en mi propio equipo y no tiene ningún límite importante que yo sepa, aparte de no poder escalar una imagen más allá de 32,000 x 32,000, lo cual no es problema para mí. Si por alguna razón necesitas o quieres escalar una imagen más allá de un gigapíxel, siempre puedes cortar la imagen en porciones más pequeñas, escalarlas y luego mezclarlas y unirlas.
- Una vez que hayas elegido qué usar para escalar, hay algunas cosas que conviene hacer para asegurar el mejor resultado final. Primero, ¿estás usando la mejor versión de la imagen que vas a escalar? Porque como sabes, casi toda foto tiene varias copias en internet y no todas tienen la misma calidad. Así que si sacaste la imagen de internet y no es una foto única ni una captura tuya de un fotograma específico de un video, puede que te convenga hacer una búsqueda inversa de imagen. Hay varias opciones disponibles, como Google, Bing, TinEye, etc., que sirven para hacer una búsqueda inversa de imagen (vale la pena hacer la búsqueda inversa con más de una, porque no siempre muestran los mismos resultados). También puedes usar una extensión del navegador para ayudarte con la búsqueda inversa, como Search by Image. Recuerda que el hecho de que una imagen sea más vieja, tenga mayor resolución o pese más no significa que esa versión sea de mejor calidad. Una forma de aumentar las chances de encontrar la imagen original es averiguar quién/qué aparece en la imagen, cuándo/dónde se habrá tomado/publicado, etc., y usar esa info para rastrear una versión de mejor calidad, si no la fuente misma. Por ejemplo, quizás la imagen es de una sesión de fotos específica o de algún tipo de evento. Saber eso puede ayudar.
- Una vez que te asegures de tener la mejor copia de la imagen que quieres escalar (o al menos la mejor que puedas encontrar), conviene ocuparte de los datos y el archivo. Lo que quiero decir es que, para asegurar que la foto que vas a usar esté bien y siga disponible para todos, recomiendo hacer un par de cosas. Primero, usa VirusTotal para escanear no solo la URL de la página donde está la imagen, sino también el enlace directo a la imagen y el archivo de imagen en sí una vez descargado. Esto no es realmente necesario, pero es lo que yo hago. También recomiendo archivar la URL de la página donde encontraste la imagen y el enlace directo usando tanto Wayback Machine como Archive.Today. Luego, cambia el nombre de la imagen descargada por uno que tenga sentido y se entienda (a menos que ya tenga un nombre así). Después, suelo usar FileOptimizer para reducir el tamaño del archivo lo máximo posible (usando solo optimización sin pérdida para que no se pierdan datos (calidad)) para que ocupe menos almacenamiento, se suba más rápido y se descargue más rápido.
- ¡Muy bien, hora de escalar! Bueno, tal vez. Verás, a veces una imagen necesita al menos un pequeño retoque antes de escalarla. Si la imagen tiene mucho ruido (ya sea ruido cromático , ruido de luz, etc.) entonces el escalador podría (pero también podría no, depende de cada caso) tener dificultad para distinguir ruido de detalle, lo que puede dar escalados raros. Así que una cosa que puedes hacer es intentar quitarle el ruido a la imagen antes de escalar. A veces quitar el ruido empeora el escalado, así que depende de ti comparar y contrastar. Otras veces, la imagen puede haber sido escalada ya de forma tradicional. En ese caso, intenta ver la imagen con distintos niveles de zoom por debajo del 100% hasta encontrar el 'punto ideal' donde ya no notes los artefactos de un escalado tradicional, como bloques o aliasing. Un buen punto de partida es un zoom del 50%. Cuando encuentres ese 'punto ideal', reduce la imagen hasta ese mismo nivel (a veces lo mejor es reducir con un simple cambio de tamaño, otras veces obtendrás mejores resultados si reduces con remuestreo, como lanczos o bicúbico, etc.). Igual que con quitar el ruido antes del escalado, no siempre da mejores resultados, así que compara y contrasta. Otras cosas que podrían permitir un mejor escalado son desenfocar un poco la imagen, o quizás enfocarla, o a veces incluso escalar/remuestrear la imagen puede ayudar.
- Una vez que cargaste la imagen en el escalador, elegiste los ajustes perfectos y estás por escalar, es posible que te dé a elegir el formato y la calidad con los que quieres exportar el escalado. Recomiendo exportar en un formato sin pérdida como PNG para que cualquier edición posterior tenga mejor efecto. Bien, ya escalaste la imagen y conseguiste un resultado decente, ¿y ahora qué? Podrías subir el resultado tal cual, sin más retoques, y está bien, pero unos pequeños retoques extra pueden dar un resultado más atractivo. De vez en cuando te saldrá algo de ruido en un escalado, aunque la imagen original no pareciera tener mucho. En ese caso, lo mejor es quitarle el ruido lo mejor que puedas para que se vea un poquito mejor. La imagen (entera o solo algunas partes) también puede verse un poco, ¿cómo decirlo?, ¿lisa? ¿Como de plástico? Algo así. En ese caso, una forma fácil de mejorarla es añadirle algo de grano a la imagen. Personalmente prefiero un grano fino a uno grueso, pero eres libre de elegir lo que quieras. El grano agrega una especie de 'detalle falso' y hace que la imagen se vea un poco más texturizada, en mi opinión. También puede ser beneficioso reducir la imagen, ya que el escalado podría tener detalles raros, y al reducirla se nota menos eso sin perder las mejoras visuales. Si quieres hacer una combinación de quitar ruido, reducir y grano, el orden es este: Quitar ruido → Reducir → Grano.
- La imagen también podría requerir (o al menos beneficiarse de)algunos retoques manuales con Photoshop o GIMP. Sin embargo, por ahora no tengo experiencia haciendo eso, pero eso puede cambiar en el futuro y me permitirá completar una pequeña sección sobre retocar manualmente el escalado. Dejando eso de lado, tu escalado ya debería estar completo. Antes de subirlo, quizás quieras considerar reducir la imagen o comprimirla con compresión con pérdida, ya que los escalados a veces pueden generar archivos particularmente grandes (potencialmente cientos de megabytes por una sola imagen). Lo que yo prefiero hacer es subir la imagen original (sin ninguna alteración y en su formato original, pero optimizada sin pérdida), una versión WEBP sin pérdida del escalado (ya que suele comprimir mejor que PNG), una versión JPG con pérdida y un PNG sin pérdida (por su compatibilidad). Así, la gente recibe la imagen original y puede elegir qué versión del escalado quiere: un JPG con pérdida con el menor tamaño de archivo, un WEBP sin pérdida con menor tamaño que el PNG, o un PNG sin pérdida con más soporte y compatibilidad que WEBP.
- Seguro que todos saben qué es el escalado, pero no todos conocen bien qué es el escalado con IA y cómo usarlo. La IA de la que hablo es una Red Neuronal Artificial de Aprendizaje Profundo, que básicamente es una IA entrenada con un conjunto de datos enorme (en este caso, toneladas de imágenes) para 'aprender'. El resultado es una IA que puede escalar una imagen con más precisión, aportando detalle que el escalado tradicional no puede.
- Escalar imágenes no es un proceso mágico. Por ejemplo, si hay un texto totalmente ilegible en un libro de la imagen, el escalado no lo va a arreglar. Es simplemente una forma de aumentar la resolución de las imágenes de manera estética, con más nitidez, claridad y realismo que el escalado tradicional. Eso no quiere decir que no valga la pena usar escalado con IA en vez del escalado/remuestreo tradicional, porque sí vale la pena. Los resultados pueden no ser siempre buenos, pero tampoco son siempre malos, y solo van a seguir mejorando con el tiempo. A veces una imagen queda tan bien escalada que es prácticamente perfecta. Además, el escalado con IA también sirve para limpiar una imagen de ruido y artefactos de compresión, así que aunque no necesites o no te importe aumentar la resolución, igual hay otros beneficios posibles.
- Voy a dar una lista corta de algunas opciones de escalado junto con el precio, la plataforma en la que están disponibles y los límites de escalado. No voy a evaluar la calidad de los escalados de cada una porque, primero, es algo subjetivo, y segundo, no he probado todo lo que hay aquí. Quién sabe, quizás lo haga en algún momento y suba las imágenes para comparar, pero también puede que no, depende de lo que decida.
- Algunas de las opciones son web, lo que da la comodidad de poder escalar con prácticamente cualquier dispositivo con un navegador decente y conexión a internet. Los contras son que o tienen capacidad limitada, o cuestan una suscripción, y que requieren conexión a internet. Puede que no sea la mejor opción para quienes tienen conexiones lentas, inestables o con límite de datos. Además, nunca sabes qué hacen realmente con tus imágenes, así que si hay fotos sensibles que quieres escalar, puede ser buena idea optar por una opción que no sea web.
- Algunas se pueden descargar como software, lo que suele tener la ventaja de no necesitar internet y de tener menos o ninguna restricción de escalado. Los contras son que el software tiene que estar disponible para la plataforma que quieres usar, y además necesitas un dispositivo capaz de ejecutarlo, ya que a diferencia de una opción web donde otros servidores se encargan de la carga computacional, ahora es tu dispositivo el que tiene que hacer todo el procesamiento.
| Gigapixel AI | Lets Enhance | Waifu2x | Vertexshare Image Upscaler | |
| Precio | $99.99 | Primeras 5 imágenes gratis, la suscripción empieza en $12 al mes para escalar 100 imágenes al mes | Gratis | Gratis |
| Límite de escalado | 32,000 x 32,000 | 64 megapíxeles para las 5 imágenes gratis; 256 megapíxeles con suscripción normal; 500 megapíxeles con suscripción business (que empieza en $72 al mes) | No se pueden subir imágenes de más de 1,500 x 1,500 o 5 MB. Opciones de escalado de 1.6x o 2x | No se pueden subir imágenes que no sean JPG o PNG ni nada más grande que 1,200 x 1,200 o 5 MB. Solo hay opciones de escalado de 2x y 4x |
| Web | N | S | S | S |
| Windows | S | N | S* | N |
| Mac | S | N | S* | N |
| Linux | S** | N | S* | N |
| App móvil | N | N | S* | N |
*El código fuente está disponible en GitHub
**Vía WINE
- Estas no son las únicas opciones, hay muchas más para elegir, así que si ninguna te convence, busca algo como "AI Image Upscaling Software". También puedes echarle un ojo a este link que da una lista de más opciones con algunos pros y contras de cada una. Yo personalmente uso Gigapixel AI porque corre en mi propio equipo y no tiene ningún límite importante que yo sepa, aparte de no poder escalar una imagen más allá de 32,000 x 32,000, lo cual no es problema para mí. Si por alguna razón necesitas o quieres escalar una imagen más allá de un gigapíxel, siempre puedes cortar la imagen en porciones más pequeñas, escalarlas y luego mezclarlas y unirlas.
- Una vez que hayas elegido qué usar para escalar, hay algunas cosas que conviene hacer para asegurar el mejor resultado final. Primero, ¿estás usando la mejor versión de la imagen que vas a escalar? Porque como sabes, casi toda foto tiene varias copias en internet y no todas tienen la misma calidad. Así que si sacaste la imagen de internet y no es una foto única ni una captura tuya de un fotograma específico de un video, puede que te convenga hacer una búsqueda inversa de imagen. Hay varias opciones disponibles, como Google, Bing, TinEye, etc., que sirven para hacer una búsqueda inversa de imagen (vale la pena hacer la búsqueda inversa con más de una, porque no siempre muestran los mismos resultados). También puedes usar una extensión del navegador para ayudarte con la búsqueda inversa, como Search by Image. Recuerda que el hecho de que una imagen sea más vieja, tenga mayor resolución o pese más no significa que esa versión sea de mejor calidad. Una forma de aumentar las chances de encontrar la imagen original es averiguar quién/qué aparece en la imagen, cuándo/dónde se habrá tomado/publicado, etc., y usar esa info para rastrear una versión de mejor calidad, si no la fuente misma. Por ejemplo, quizás la imagen es de una sesión de fotos específica o de algún tipo de evento. Saber eso puede ayudar.
- Una vez que te asegures de tener la mejor copia de la imagen que quieres escalar (o al menos la mejor que puedas encontrar), conviene ocuparte de los datos y el archivo. Lo que quiero decir es que, para asegurar que la foto que vas a usar esté bien y siga disponible para todos, recomiendo hacer un par de cosas. Primero, usa VirusTotal para escanear no solo la URL de la página donde está la imagen, sino también el enlace directo a la imagen y el archivo de imagen en sí una vez descargado. Esto no es realmente necesario, pero es lo que yo hago. También recomiendo archivar la URL de la página donde encontraste la imagen y el enlace directo usando tanto Wayback Machine como Archive.Today. Luego, cambia el nombre de la imagen descargada por uno que tenga sentido y se entienda (a menos que ya tenga un nombre así). Después, suelo usar FileOptimizer para reducir el tamaño del archivo lo máximo posible (usando solo optimización sin pérdida para que no se pierdan datos (calidad)) para que ocupe menos almacenamiento, se suba más rápido y se descargue más rápido.
- ¡Muy bien, hora de escalar! Bueno, tal vez. Verás, a veces una imagen necesita al menos un pequeño retoque antes de escalarla. Si la imagen tiene mucho ruido (ya sea ruido cromático , ruido de luz, etc.) entonces el escalador podría (pero también podría no, depende de cada caso) tener dificultad para distinguir ruido de detalle, lo que puede dar escalados raros. Así que una cosa que puedes hacer es intentar quitarle el ruido a la imagen antes de escalar. A veces quitar el ruido empeora el escalado, así que depende de ti comparar y contrastar. Otras veces, la imagen puede haber sido escalada ya de forma tradicional. En ese caso, intenta ver la imagen con distintos niveles de zoom por debajo del 100% hasta encontrar el 'punto ideal' donde ya no notes los artefactos de un escalado tradicional, como bloques o aliasing. Un buen punto de partida es un zoom del 50%. Cuando encuentres ese 'punto ideal', reduce la imagen hasta ese mismo nivel (a veces lo mejor es reducir con un simple cambio de tamaño, otras veces obtendrás mejores resultados si reduces con remuestreo, como lanczos o bicúbico, etc.). Igual que con quitar el ruido antes del escalado, no siempre da mejores resultados, así que compara y contrasta. Otras cosas que podrían permitir un mejor escalado son desenfocar un poco la imagen, o quizás enfocarla, o a veces incluso escalar/remuestrear la imagen puede ayudar.
- Una vez que cargaste la imagen en el escalador, elegiste los ajustes perfectos y estás por escalar, es posible que te dé a elegir el formato y la calidad con los que quieres exportar el escalado. Recomiendo exportar en un formato sin pérdida como PNG para que cualquier edición posterior tenga mejor efecto. Bien, ya escalaste la imagen y conseguiste un resultado decente, ¿y ahora qué? Podrías subir el resultado tal cual, sin más retoques, y está bien, pero unos pequeños retoques extra pueden dar un resultado más atractivo. De vez en cuando te saldrá algo de ruido en un escalado, aunque la imagen original no pareciera tener mucho. En ese caso, lo mejor es quitarle el ruido lo mejor que puedas para que se vea un poquito mejor. La imagen (entera o solo algunas partes) también puede verse un poco, ¿cómo decirlo?, ¿lisa? ¿Como de plástico? Algo así. En ese caso, una forma fácil de mejorarla es añadirle algo de grano a la imagen. Personalmente prefiero un grano fino a uno grueso, pero eres libre de elegir lo que quieras. El grano agrega una especie de 'detalle falso' y hace que la imagen se vea un poco más texturizada, en mi opinión. También puede ser beneficioso reducir la imagen, ya que el escalado podría tener detalles raros, y al reducirla se nota menos eso sin perder las mejoras visuales. Si quieres hacer una combinación de quitar ruido, reducir y grano, el orden es este: Quitar ruido → Reducir → Grano.
- La imagen también podría requerir (o al menos beneficiarse de)algunos retoques manuales con Photoshop o GIMP. Sin embargo, por ahora no tengo experiencia haciendo eso, pero eso puede cambiar en el futuro y me permitirá completar una pequeña sección sobre retocar manualmente el escalado. Dejando eso de lado, tu escalado ya debería estar completo. Antes de subirlo, quizás quieras considerar reducir la imagen o comprimirla con compresión con pérdida, ya que los escalados a veces pueden generar archivos particularmente grandes (potencialmente cientos de megabytes por una sola imagen). Lo que yo prefiero hacer es subir la imagen original (sin ninguna alteración y en su formato original, pero optimizada sin pérdida), una versión WEBP sin pérdida del escalado (ya que suele comprimir mejor que PNG), una versión JPG con pérdida y un PNG sin pérdida (por su compatibilidad). Así, la gente recibe la imagen original y puede elegir qué versión del escalado quiere: un JPG con pérdida con el menor tamaño de archivo, un WEBP sin pérdida con menor tamaño que el PNG, o un PNG sin pérdida con más soporte y compatibilidad que WEBP.
