Real-ESRGAN: ampliar suas imagens em local
Real-ESRGAN é um modelo livre (BSD-3-Clause) que amplia uma imagem ×4 reconstruindo detalhes plausíveis. A opção mais simples é o executável portátil ncnn-vulkan, sem CUDA nem PyTorch, para placas Intel, AMD ou NVIDIA. Escolha o modelo de acordo com a imagem: realesrgan-x4plus para fotos, a variante anime para ilustrações. O projeto não lança novas versões desde setembro de 2022 e os detalhes adicionados são inventados: nunca use para texto ou como prova.
Real-ESRGAN amplia uma imagem reconstruindo detalhes plausíveis em vez de esticar pixels. É um modelo livre, pequeno e rápido, que se tornou a peça que se adiciona no final de uma cadeia de geração local de imagens ou que se usa para restaurar fotos antigas. Este guia, atualizado em 28 de setembro de 2026, diz qual modelo escolher, como iniciá-lo sem instalar o PyTorch, o que ele inventa, quais erros esperar e onde o projeto se encontra frente às alternativas recentes.
#O que faz um ampliador de imagens com IA
Um ampliador clássico interpola: ele calcula pixels intermediários a partir dos vizinhos, resultando em uma imagem maior e mais desfocada. Um ampliador por aprendizado faz outra coisa. Foi treinado para recuperar uma imagem nítida a partir de uma versão degradada e reconstrói o que mais se assemelha ao original: texturas, bordas, granulação. A diferença está em uma frase: a interpolação não cria informação, o modelo a inventa. É exatamente o que lhe é pedido, e por isso é importante saber onde não usá-lo.
Real-ESRGAN vem de um artigo de Xintao Wang, Liangbin Xie, Chao Dong e Ying Shan (Tencent ARC Lab), depositado no arXiv em julho de 2021 e apresentado nos workshops da ICCV: « Training Real-World Blind Super-Resolution with Pure Synthetic Data ». O resumo descreve a ideia: um modelo treinado exclusivamente com dados sintéticos, usando uma modelagem de degradações de « ordem elevada » que simula melhor os defeitos reais (desfoque, ruído, compressão), e um discriminador U-Net. « Blind » significa que o modelo não precisa saber qual degradação a imagem sofreu. O repositório tem mais de 36.000 estrelas.
#Os modelos e qual escolher
Imagens e vídeos de IA localmente, sem limites: ComfyUI, Flux, Z-Image, Wan 2.2 na sua GPU ou no seu Mac — workflows prontos para carregar, marco legal incluído.
- Espaço online vitalício
- PDF + arquivos
- Atualizações vitalícias
| Modelo | Escala | Descrição do projeto | Usar em |
|---|---|---|---|
| RealESRGAN_x4plus | ×4 | Modelo ×4 para imagens em geral | Fotos, imagens geradas: a escolha padrão |
| RealESRGAN_x2plus | ×2 | Modelo ×2 para imagens gerais | Quando ×4 é demais, sem precisar passar por outro redimensionamento |
| RealESRNet_x4plus | ×4 | Modelo ×4 com perda MSE, efeitos de suavização excessiva | Raramente: o resultado é liso e sem vivacidade |
| realesr-general-x4v3 | ×4, utilizável em ×1, ×2, ×3 | Modelo pequeno, consome muito menos memória da GPU e tempo, com menor capacidade de remoção de ruído | Máquinas modestas, lotes de imagens; a opção -dn ajusta a redução de ruído |
| RealESRGAN_x4plus_anime_6B | ×4 | Otimizado para imagens de anime, rede menor (6 blocos RRDB) | Ilustrações, pranchas, desenhos 2D |
| realesr-animevideov3 | ×4, utilizável em ×1, ×2, ×3 | Modelo de tamanho XS para vídeos de animação | Sequências de animação |
O catálogo do projeto separa os modelos para fotos dos modelos para ilustrações, e essa é a escolha que mais pesa no resultado. A variante anime é apresentada como otimizada para esse tipo de imagem, com uma rede menor, e o projeto a compara ao waifu2x. Para um desenho, experimente essa variante primeiro: um modelo para fotos pode adicionar textura a áreas de cor uniforme que deveriam permanecer lisas; verifique isso na sua imagem.
#Três maneiras de executá-lo
O README descreve três caminhos: uma demonstração online, o executável portátil ncnn e o script Python. Para uso local regular, apenas os dois últimos importam.
| Via | O que é necessário | Vantagens | Limites |
|---|---|---|---|
| Executável portátil (ncnn-vulkan) | Uma GPU Intel, AMD ou NVIDIA compatível com Vulkan. Pacotes compactados para Windows, Linux e macOS. Sem CUDA, sem PyTorch. | Nada para instalar, os modelos já estão incluídos | Não gerencia todas as funções do script Python, como --outscale, e pode criar inconsistências entre blocos |
| Script Python (inference_realesrgan.py) | Python 3.7 ou superior, PyTorch 1.7 ou superior, basicsr, além de facexlib e gfpgan para rostos | Escala arbitrária, rostos, processamento em blocos, imagens com canal alfa, em escala de cinza ou de 16 bits | Dependências frágeis, consulte a seção de solução de problemas |
#Os comandos exatos
O executável portátil é usado na linha de comando. O texto de ajuda lista as opções: -i para a entrada (arquivo ou pasta), -o para a saída, -s para a escala (2, 3 ou 4), -n para o modelo, -t para o tamanho do bloco de imagem, -g para escolher a GPU, -f para o formato de saída.
O script Python oferece a opção --outscale: o modelo sempre amplia a imagem em ×4, depois o programa redimensiona o resultado para a escala desejada com uma operação de baixo custo. Há também --tile para dividir a imagem e economizar memória, e --fp32 para precisão completa, obrigatória ao executar na CPU (veja abaixo).
No ComfyUI, os modelos de ampliação devem ser colocados em ComfyUI/models/upscale_models, e são aplicados por um nó de carregamento seguido de um nó de ampliação com modelo. Para uma interface desktop, o README cita vários projetos que incorporam Real-ESRGAN, entre eles Upscayl, um software livre para Linux, macOS e Windows, que tem cerca de 50.000 estrelas e foi atualizado nos últimos dias.
#Usá-lo bem
- 01Escolher o modelo de acordo com o tipo de imagemFoto ou ilustração: é o ajuste que mais altera o resultado, muito mais do que o fator de ampliação. Sempre adicione -n ao comando.
- 02Não fazer várias passagens seguidasAmpliar uma imagem em ×4 duas vezes seguidas produz um aspecto plástico, não mais detalhes. Uma única passagem com o fator adequado basta; se ×4 for demais, use o modelo ×2 ou a opção de escala.
- 03Limpar antes de ampliarUma leve redução de ruído prévia evita que o modelo trate o ruído como um detalhe a reconstruir. Com realesr-general-x4v3, a opção -dn ajusta a intensidade da redução de ruído para evitar um resultado excessivamente liso.
- 04Reservar face_enhance para rostos reaisA opção face_enhance depende de GFPGAN e serve apenas para rostos reais: o FAQ do projeto recomenda não usá-la em animações, nas quais ela consome memória da GPU sem necessidade.
- 05Comparar a 100%Uma ampliação deve ser avaliada pixel a pixel, não em uma miniatura. Muitos resultados impressionantes em tamanho reduzido têm um aspecto liso e artificial quando vistos de perto.
#Qual tamanho escolher: um cálculo antes de começar
Uma ampliação de ×4 só é útil se o tamanho final atender a um uso específico. Veja o fator necessário conforme o uso pretendido, com base em um cálculo simples: pixels = centímetros ÷ 2,54 × resolução em pontos por polegada, depois fator = lado maior desejado ÷ lado maior inicial.
| Uso | Tamanho desejado do lado maior | Fator necessário |
|---|---|---|
| Tela 4K, tela cheia | 3 840 px | ×3,75: uma passagem ×4 é suficiente |
| Impressão A4 a 300 ppp | 3.508 px | ×3,4: uma passagem ×4, ou --outscale 3,4 |
| Impressão A3 a 300 ppp | 4 961 px | ×4,8: excede uma passagem ×4; aceite uma impressão um pouco menor em vez de empilhar duas passagens |
| Página da web ou miniatura | 1 600 a 2 000 px | ×1,6 a ×2: o modelo ×2 ou --outscale é suficiente |
Lembre-se do princípio: buscar o tamanho útil, não o tamanho máximo. Uma imagem de 1.024 × 1.024 ampliada ×4 resulta em 4.096 × 4.096, ou seja, cerca de 16,8 milhões de pixels, dezesseis vezes mais do que no início: um arquivo proporcionalmente maior para armazenar, carregar e editar, para um ganho muitas vezes invisível na tela. Com a opção --outscale do script Python, escolhe-se a escala exata, em vez de ampliar excessivamente e depois reduzir.
#Em uma cadeia de geração de imagens
Na geração local, o ampliador de imagens é a última etapa: geramos em uma resolução que a placa suporta e depois ampliamos, o que consome menos memória do que gerar diretamente em alta resolução. As dimensões nativas dos modelos de imagem, por exemplo 512 × 512 para SD 1.5 ou 1024 × 1024 para SDXL, estão detalhadas no guia de Stable Diffusion. Em seguida, uma ampliação de ×2 em uma imagem SDXL de 1024 × 1024 resulta em 2048 × 2048 sem passar novamente pelo modelo de difusão.
#O que ele inventa
- O texto
- Os caracteres pequenos, quando ampliados, tornam-se caracteres plausíveis, mas incorretos. Para um documento, é de reconhecimento óptico que você precisa, não de um ampliador.
- Rostos
- Um rosto borrado ampliado se torna um rosto nítido que não é exatamente a mesma pessoa. Nenhum uso para identificação é aceitável.
- Os detalhes mais sutis
- Padrões de tecido, folhagens, cabelos: o modelo produz uma textura plausível, não a textura original.
- As desvantagens
- Um artefato de compressão bem visível às vezes será ampliado com todo o cuidado, em vez de ser eliminado.
#Solução de problemas: erros comuns
| Sintoma | Causa | Correção |
|---|---|---|
| Erro “slow_conv2d_cpu not implemented for Half” | Real-ESRGAN utiliza meia precisão (fp16) por padrão, que alguns operadores não suportam na CPU | Adicionar a opção --fp32 ao comando |
| ModuleNotFoundError: torchvision.transforms.functional_tensor | basicsr importa um módulo que o torchvision removeu a partir da versão 0.17 (relatório de 28 de agosto de 2024; uma correção é proposta em uma solicitação de merge do repositório BasicSR) | Instalar uma versão compatível de torchvision ou usar o executável portátil ncnn, que não depende de torchvision |
| Blocos ou emendas visíveis na imagem | O executável divide a imagem em blocos e depois os reúne, o que o README aponta como fonte de inconsistências | Ajustar o tamanho dos blocos com -t (0 para automático): blocos maiores reduzem as marcas nas junções, se a memória permitir |
| Imagem preta na saída | O TODO do repositório ncnn indica que alguns PCs produzem imagens pretas | Testar a outra opção (Python ou ncnn) ou outra placa com -g |
| Rostos deformados em uma ilustração | Opção face_enhance ativada em conteúdo não fotográfico | Removê-la: ela foi projetada para rostos reais |
#Situação do projeto em 2026
É preciso ser honesto quanto à sua idade. A última versão publicada, a v0.3.0, é de 20 de setembro de 2022, e o último commit do repositório principal, de 2 de abril de 2024, remove um arquivo de configuração de integração contínua. A implementação ncnn, cujo README indica uma licença MIT, não recebeu atualizações desde maio de 2024. Isso não torna o modelo ruim: ele faz seu trabalho, é pequeno e roda em placas modestas. Mas não se pode contar com correções para incompatibilidades recentes, como a da torchvision.
Quanto às alternativas, o README do ComfyUI lista SeedVR2 e SUPIR entre os modelos compatíveis. SeedVR2 se apresenta como uma solução de restauração de vídeo em uma etapa por pós-treinamento adversarial de difusão, e SUPIR visa à restauração fotorrealista de imagens « in the wild ». São abordagens baseadas em difusão: não temos uma comparação numérica confiável com Real-ESRGAN, e o risco de detalhes inventados é pelo menos tão presente nessas abordagens. Leia a licença do SUPIR, que o GitHub classifica como « Other », antes de usá-lo comercialmente. Para a maioria das fotos e ilustrações do cotidiano, Real-ESRGAN continua oferecendo um bom equilíbrio entre simplicidade, velocidade e hardware necessário.
- ControlNet: controlar a composição antecipadamente
- O kit de Imagens com IA
- Fonte: o repositório oficial do Real-ESRGAN
- Fonte: o artigo de pesquisa no arXiv
- Fonte: a implementação ncnn-vulkan
#FAQ
O Real-ESRGAN é gratuito?+
É necessária uma placa de vídeo?+
É possível ampliar um texto digitalizado?+
Por que minha ilustração fica granulada depois de ampliada?+
É possível usá-lo com vídeo?+
O Real-ESRGAN ainda é mantido?+
Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.