6 puntos por GN⁺ 2024-04-02 | 1 comentarios | Compartir por WhatsApp
  • Upscayl es un escalador de imágenes con IA gratuito y de código abierto que amplía y mejora imágenes de baja resolución con algoritmos avanzados de IA, y ofrece la versión más reciente v2.15
  • La descripción detallada de la imagen se mejora mediante la forma en que el modelo de IA estima los detalles posibles, y utiliza las arquitecturas Real-ESRGAN y Vulkan
  • Para ejecutarlo se necesita una GPU compatible con Vulkan, y puede que no funcione en la mayoría de las GPU integradas (iGPU) o en CPU
  • Es compatible con Linux, macOS 12 o superior y Windows 10 o superior; en Linux ofrece varios métodos de distribución como Flatpak, AppImage, AUR, Snap, RPM, DEB y ZIP
  • No es una herramienta para restaurar imágenes borrosas o fuera de foco; se deben usar imágenes de baja resolución o pixeladas como entrada para obtener buenos resultados

Qué hace Upscayl

  • Upscayl es un escalador de imágenes con IA gratuito y de código abierto que amplía y mejora imágenes de baja resolución
  • Su objetivo es aumentar el tamaño de las imágenes sin pérdida de calidad, y su sitio oficial es upscayl.org
  • La versión más reciente indicada es v2.15

Cómo funciona y tecnologías clave

  • Upscayl mejora las imágenes haciendo que el modelo de IA estime sus detalles
  • Internamente utiliza las arquitecturas Real-ESRGAN y Vulkan
  • El backend es upscayl-ncnn, un backend completamente de código abierto con licencia AGPLv3
  • También se ofrece una herramienta CLI con el nombre upscayl-ncnn

Instalación y plataformas compatibles

  • Upscayl requiere una GPU compatible con Vulkan para el escalado de imágenes
    • Muchas GPU integradas pueden no funcionar
    • El README indica que no hay problema en intentarlo
  • En Linux, debería estar disponible en la lista de software de la mayoría de las distribuciones
    • La app de tienda de la distribución también puede admitir la versión de Flatpak o Snap
    • Como método portátil, se puede descargar upscayl-x.x.x-linux.AppImage desde la sección de lanzamientos o el sitio web oficial, darle permisos de ejecución y ejecutarlo
    • También se puede elegir entre formatos RPM, DEB y ZIP
  • macOS está dirigido a macOS 12 o superior
    • Se proporciona un enlace a la Mac App Store
    • Se puede descargar el archivo DMG, moverlo a la carpeta Applications y abrirlo desde Finder
    • El comando de instalación con Homebrew es brew install --cask upscayl
  • Windows está dirigido a Windows 10 o superior
    • Se descarga upscayl-x.x.x-win.exe y se ejecuta
    • Si aparece la advertencia de SmartScreen, se indica seleccionar More Info y luego Run Anyway, o presionar YES en el cuadro de diálogo de editor no verificado

Documentación, modelos y revisión de resultados

  • La documentación y las guías se pueden consultar en Upscayl Documentation
  • Se pueden probar modelos adicionales en custom-models
  • La forma de convertir modelos manualmente está en la wiki de Model Conversion
  • La compatibilidad se puede revisar en la Compatibility List
  • Para resolver problemas, se usa el documento de Troubleshooting
  • Se indica revisar los resultados comparativos antes y después del escalado en COMPARISONS.MD

Limitaciones y consideraciones de uso

  • Upscayl puede mejorar imágenes de baja resolución e imágenes pixeladas
  • No ofrece funciones de deblur ni de ajuste de enfoque
    • No es adecuado para imágenes desenfocadas o completamente borrosas
    • El README recomienda usar imágenes similares a los ejemplos proporcionados
  • El GPU ID es una configuración para seleccionar la GPU que se va a usar
    • El procedimiento específico está en la Wiki Guide
    • En Windows, si Upscayl no está configurado en modo de alto rendimiento, el sistema puede sobrescribir esta configuración
  • Si Batch Upscayl se detuvo a mitad del proceso y las imágenes no fueron procesadas o no coinciden en compresión o escala, puede deberse a que el modelo no admite una tarea específica
    • En ese caso, Upscayl primero termina de escalar todas las imágenes y luego realiza el posprocesamiento, así que hay que esperar a que finalice el proceso

Desarrollo y build

  • Se recomienda usar Volta para instalar Node.js en el entorno de desarrollo
    • Después de instalar Volta, se ejecuta volta install node
  • El flujo para ejecutarlo localmente es clonar el repositorio, instalar dependencias y ejecutar el servidor de desarrollo
  • Si no se quiere instalar Git, se puede descargar el source zip, descomprimirlo en la carpeta upscayl y continuar con el resto del proceso
  • El empaquetado de la app se realiza con npm run dist
  • El comando para publicar la app es npm run publish-app, y se indica que solo los mantenedores deben ejecutarlo después de agregar GH_TOKEN= al shell

1 comentarios

 
GN⁺ 2024-04-02
Opiniones en Hacker News
  • Si, como yo, usas Real-ESRGAN-ncnn-vulkan [1] y te preguntas qué cambió upscayl-ncnn CLI [2], no parece haber una gran diferencia ni muchos cambios sustanciales [3]
    No lo digo como crítica; solo quería saber si valía la pena cambiarme a la herramienta CLI. $subj es una app GUI independiente basada en esto
    [1] https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan
    [2] https://github.com/upscayl/upscayl-ncnn
    [3] https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan/compare/m...

    • Upscayl NCNN incluye varias correcciones, como compatibilidad con Vulkan más reciente, arreglos de bugs y nuevas funciones, y pronto se agregarán más. Simplemente aún no hemos subido los cambios; también estamos trabajando en soporte para CPU
      Si usas Real-ESRGAN, tienes que aceptar una base de código que lleva mucho tiempo sin actualizarse y varios problemas. Hasta donde sé, Upscayl NCNN es actualmente el único proyecto que mantiene Real-ESRGAN NCNN
    • Vine a los comentarios justamente para preguntar esto. Llevo años usando RealESRGAN, y tengo varias fotos ampliadas con eso colgadas en casa
      Amplié muchas fotos antiguas de álbumes familiares y luego corregí defectos con herramientas como Photoroom y Snapseed antes de mandarlas a imprimir, y funcionó de maravilla
      Cuando encuentro una foto antigua de baja resolución en internet y no aparece el original en alta resolución por más que busque en Google, DuckDuckGo o Kagi, la hago upscale con RealESRGAN y la uso como fondo de pantalla, fondo de presentación, etc.
    • Si la gente prefiere una GUI, no tiene nada de malo
  • Me reí muchísimo cada vez que veía en TV o películas una escena donde “enhance” una imagen: https://youtu.be/LhF_56SxrGk
    Parece que la ciencia ficción de ayer ahora se volvió realidad

    • Pensar en esto ya me hace estremecer. Cuando los cineastas decían “enhance!”, yo y muchos geeks decíamos: “¡pero si no hay más pixeles, no puede funcionar!”
      Pero ahora existe. “Enhance” de verdad se volvió posible
    • Ahora simplemente genera detalles mediante alucinación
    • Es gracioso que la frase “la ciencia ficción de ayer ahora es realidad” aparezca literalmente en https://upscayl.org como “From Science Fiction to Reality”
    • La expresión correcta debería haber sido “Hallucinate!
    • Aunque, si intentas ampliar la placa del auto de un sospechoso, puede que te dé un número basado en ruido promedio y que no coincida con el real
  • Lo probé en diciembre y era bastante intuitivo. Lo recomendaría a alguien que quiera explorar varias herramientas por primera vez
    Pero, según entiendo, la calidad está bastante lejos del estado del arte. Un amigo me recomendó recientemente Topaz, pero no es open source

    • En algunos aspectos, la calidad es realmente similar. Pero Upscayl es un proyecto gratuito y todavía no tiene modelos propios, así que depende de modelos de la comunidad. Esos modelos también son bastante buenos
      Si logramos reunir suficiente financiamiento, planeamos crear nuestro propio modelo sólido :)
      https://ckovalev.com/midjourney-ai/guide/upscaling-ai-art-fo...
    • Los mejores resultados los obtuve con la pestaña extras de a1111. Claro, hay que saber qué significa cada opción, y la interfaz definitivamente es más compleja
  • UpScayl es excelente y lo uso seguido en el trabajo. Lo uso de muchas formas: para ampliar gráficos o ilustraciones de baja resolución para trabajo gráfico cuando hay prisa, para agrandar retratos para impresión y trabajo en Photoshop, o para ampliar copias antiguas para edición
    No es perfecto, pero las alternativas tampoco lo son. Aun así, es tremendamente útil

    • Me alegra que te guste. Lo estamos mejorando, y cuando se introduzca Upscayl Cloud, las posibilidades para profesionales se ampliarán muchísimo. Dentro de lo razonable, claro :)
  • upscayl es accesible, pero le faltaban muchas funciones que necesitaba. Después de que el upscaling se volvió parte de mi flujo de trabajo habitual, terminé usando https://github.com/AUTOMATIC1111/stable-diffusion-webui, aunque para alguien que solo quiere mejorar unas cuantas imágenes es una herramienta ideal

  • Los upscalers actuales todavía se sienten sorprendentemente por debajo de las expectativas comparados con los avances en otros campos

  • ¿Habrá algún modelo que no solo haga upscaling, sino que también limpie imágenes? Tengo muchas fotos antiguas tomadas con cámaras compactas tempranas de baja resolución, y tienen cosas como artefactos JPEG
    Me parece que un modelo moderno podría ajustarse fácilmente para resolver estos problemas, pero aunque busco cada pocos meses, todavía no he encontrado nada

  • Lamentablemente, en video todavía no he visto nada que iguale la calidad de las herramientas pagas de Topaz Labs. En otras implementaciones, la nitidez y la consistencia siempre parecen ser un problema
    Me encantaría que alguien me demostrara que estoy equivocado. Tengo un proyecto detenido por la baja calidad y resolución del material original

  • Relacionado con esto, ¿qué app habría para eliminar marcas de agua?