6 pontos por GN⁺ 2024-04-02 | 1 comentários | Compartilhar no WhatsApp
  • Upscayl é um upscaler de imagens com IA gratuito e de código aberto que amplia e melhora imagens de baixa resolução com algoritmos avançados de IA, e disponibiliza a versão mais recente v2.15
  • A descrição detalhada da imagem é melhorada pela forma como o modelo de IA estima os detalhes possíveis, usando as arquiteturas Real-ESRGAN e Vulkan
  • Para executar, é necessária uma GPU compatível com Vulkan, e pode não funcionar na maioria das GPUs integradas (iGPU) ou em CPU
  • Suporta Linux, macOS 12 ou superior e Windows 10 ou superior; no Linux, oferece vários formatos de distribuição como Flatpak, AppImage, AUR, Snap, RPM, DEB e ZIP
  • Não é uma ferramenta para restaurar imagens borradas ou fora de foco; é preciso usar entradas adequadas para melhorar imagens de baixa resolução ou pixeladas

O que o Upscayl faz

  • Upscayl é um upscaler de imagens com IA gratuito e de código aberto que amplia e melhora imagens de baixa resolução
  • O objetivo é aumentar imagens sem perda de qualidade, e o site oficial é upscayl.org
  • A versão mais recente indicada é a v2.15

Como funciona e tecnologias principais

  • O Upscayl melhora imagens estimando os detalhes por meio de um modelo de IA
  • Internamente, usa as arquiteturas Real-ESRGAN e Vulkan
  • O backend é o upscayl-ncnn, um backend totalmente de código aberto sob licença AGPLv3
  • A ferramenta de CLI também é oferecida com o nome upscayl-ncnn

Instalação e plataformas compatíveis

  • O Upscayl exige uma GPU compatível com Vulkan para fazer upscale de imagens
    • Muitas GPUs integradas podem não funcionar
    • O README informa que não há problema em ao menos tentar
  • No Linux, ele deve estar disponível na lista de softwares da maioria das distribuições
    • O app de loja da distribuição pode oferecer suporte à versão Flatpak ou Snap
    • No formato portátil, basta baixar upscayl-x.x.x-linux.AppImage na seção de releases ou no site oficial e então conceder permissão de execução para rodá-lo
    • Também é possível escolher os formatos RPM, DEB e ZIP
  • O macOS é compatível com macOS 12 ou superior
    • É fornecido um link para a Mac App Store
    • Também é possível baixar o arquivo DMG, movê-lo para a pasta Applications e abri-lo pelo Finder
    • O comando de instalação via Homebrew é brew install --cask upscayl
  • O Windows é compatível com Windows 10 ou superior
    • Basta baixar e executar upscayl-x.x.x-win.exe
    • Se aparecer um alerta do SmartScreen, a orientação é escolher More Info e depois Run Anyway, ou clicar em YES na caixa de diálogo de editor não reconhecido

Documentação, modelos e verificação de resultados

Limitações e cuidados de uso

  • O Upscayl pode melhorar imagens de baixa resolução e imagens pixeladas
  • Não oferece recursos de deblur nem de ajuste de foco
    • Não é adequado para imagens fora de foco ou totalmente borradas
    • O README recomenda usar imagens parecidas com os exemplos fornecidos
  • O ID da GPU é uma configuração para selecionar qual GPU será usada
    • O procedimento detalhado está no Wiki Guide
    • No Windows, se o Upscayl não estiver configurado para o modo de desempenho, o sistema pode sobrescrever essa configuração
  • Se o Batch Upscayl for interrompido no meio e as imagens parecerem não processadas ou com compressão/escala incorreta, pode ser que o modelo não ofereça suporte àquela tarefa específica
    • Nesse caso, o Upscayl faz primeiro o upscale de todas as imagens e só depois executa o pós-processamento, então é preciso esperar o processo terminar

Desenvolvimento e build

  • Recomenda-se usar Volta para instalar o Node.js no ambiente de desenvolvimento
    • Depois de instalar o Volta, execute volta install node
  • O fluxo para executar localmente é: clonar o repositório, instalar as dependências e iniciar o servidor de desenvolvimento
  • Se não quiser instalar o Git, é possível baixar o source zip, descompactá-lo na pasta upscayl e seguir com o restante do processo
  • O empacotamento do app é feito com npm run dist
  • O comando de publicação do app é npm run publish-app, e a orientação é que apenas mantenedores o executem após adicionar GH_TOKEN= ao shell

1 comentários

 
GN⁺ 2024-04-02
Opiniões no Hacker News
  • Se, como eu, você usa Real-ESRGAN-ncnn-vulkan [1] e está se perguntando o que o upscayl-ncnn CLI [2] mudou, parece que não há grandes diferenças nem muitas mudanças substanciais [3]
    Não estou tentando criticar; só queria saber se valia a pena migrar para a ferramenta de CLI. $subj é um app GUI separado baseado nisso
    [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...

    • O Upscayl NCNN recebeu várias correções, como suporte a versões mais recentes do Vulkan, correções de bugs e adição de recursos, e em breve virão mais. Só ainda não enviamos as mudanças, e o suporte a CPU também está em desenvolvimento
      Para usar o Real-ESRGAN, você precisa lidar com uma base de código que não é atualizada há muito tempo e com vários problemas. Pelo que sei, o Upscayl NCNN é atualmente o único projeto que mantém o Real-ESRGAN NCNN
    • Vim aos comentários justamente para perguntar isso. Uso o RealESRGAN há alguns anos e tenho algumas fotos ampliadas com ele penduradas em casa
      Ampliei muitas fotos antigas de álbuns de família e depois corrigi defeitos com ferramentas como Photoroom e Snapseed antes de mandar imprimir; funcionou muito bem
      Quando encontro uma foto antiga em baixa resolução cujo original em alta resolução não aparece de jeito nenhum no Google, DuckDuckGo ou Kagi, eu faço upscale com o RealESRGAN e uso como papel de parede, fundo de apresentação etc.
    • Se as pessoas preferem uma GUI, isso não é ruim
  • Eu sempre ria muito quando via cenas de “enhance” imagens na TV ou em filmes: https://youtu.be/LhF_56SxrGk
    Parece que a ficção científica de ontem agora virou realidade

    • Pensar nisso hoje até me dá um calafrio. Quando cineastas diziam “enhance!”, eu e muitos geeks dizíamos: “não tem mais pixels, não tem como isso funcionar!”
      Mas agora existe. “Enhance” se tornou realmente possível
    • Agora ele só cria detalhes por alucinação
    • É engraçado porque a frase “a ficção científica de ontem agora é realidade” aparece literalmente em https://upscayl.org como “From Science Fiction to Reality”
    • A expressão correta deveria ter sido “Hallucinate!
    • Mas, se você tentar ampliar a placa do carro de um suspeito, ele vai gerar um número com base em ruído médio, que pode ser diferente do real
  • Testei em dezembro e achei bem intuitivo. Eu recomendaria para quem quer começar a explorar várias ferramentas
    Pelo que entendi, porém, a qualidade ainda fica bem distante do estado da arte. Um amigo me recomendou recentemente o Topaz, mas ele não é open source

    • A qualidade, em alguns aspectos, é de fato parecida. Só que o Upscayl é um projeto gratuito e ainda não tem modelos próprios, então depende de modelos da comunidade. E esses modelos também são bem bons
      Se conseguirmos levantar financiamento suficiente, planejamos criar um modelo próprio robusto :)
      https://ckovalev.com/midjourney-ai/guide/upscaling-ai-art-fo...
    • Obtive os melhores resultados na aba extras do a1111. Claro que é preciso saber o que cada opção significa, e a interface é definitivamente mais complexa
  • O UpScayl é excelente e uso com frequência no trabalho. Uso de várias formas: aumentar gráficos ou ilustrações em baixa resolução para trabalho gráfico quando estou com pressa, ampliar retratos para impressão e trabalho no Photoshop, aumentar cópias antigas para edição etc.
    Não é perfeito, mas as alternativas também não são. Ainda assim, é extremamente útil

    • Fico feliz que tenha gostado. Estamos tornando-o melhor, e quando o Upscayl Cloud for lançado, as possibilidades para profissionais vão se ampliar muito. Dentro do razoável, claro :)
  • O upscayl é acessível, mas faltavam muitos recursos de que eu precisava. Depois que o upscaling virou parte regular do meu fluxo de trabalho, passei a usar https://github.com/AUTOMATIC1111/stable-diffusion-webui, mas para quem só quer melhorar algumas imagens é uma ferramenta ideal

  • Os upscalers atuais ainda me parecem surpreendentemente abaixo das expectativas quando comparados aos avanços em outras áreas

  • Existe algum modelo que faça limpeza de imagem, não apenas upscaling? Tenho muitas fotos antigas tiradas com câmeras compactas iniciais de baixa resolução, com coisas como artefatos de JPEG
    Parece que um modelo moderno poderia ser facilmente ajustado por fine-tuning para resolver esses problemas, mas procuro a cada poucos meses e ainda não encontrei

  • Infelizmente, para vídeo, ainda não vi nada que iguale a qualidade das ferramentas pagas da Topaz Labs. Em outras implementações, nitidez e consistência sempre parecem ser um problema
    Eu adoraria que alguém provasse que estou errado. Tenho um projeto parado por causa da baixa qualidade e resolução do material original

  • Relacionado a isso, que app existe para remoção de marca-d’água?