Guia Upscaling/melhoria com IA

FernBox11

Lurker
Entrou
10 Nov 2022
Postagens
6
Pontuação de reações
0
- Isso vai ser uma pequena introdução ao upscaling/melhoria de imagens com IA. Vou tentar atualizar este post conforme eu for aprendendo mais, pra ele continuar útil e melhorar de qualidade (além de reescrever partes dele pra ter mais clareza, gramática e formatação). Discussões sobre técnicas de upscaling, experiências, softwares, avaliações desses softwares, etc. são bem-vindas.

- Tenho certeza que vocês todos sabem o que é upscaling, mas nem todo mundo sabe direito o que é upscaling com IA e como usar. A IA de que estou falando é uma Rede Neural Artificial de Deep Learning, que basicamente é uma IA treinada com um conjunto de dados enorme (no caso, toneladas de imagens) pra 'aprender'. O resultado é uma IA que consegue fazer o upscale de uma imagem com mais precisão, trazendo detalhes que o upscaling tradicional não consegue.

- Fazer upscale de imagens não é um processo mágico. Por exemplo, se tem um texto totalmente ilegível num livro da imagem, o upscaling não vai consertar isso. É simplesmente uma forma de aumentar a resolução das imagens de um jeito esteticamente agradável, com mais nitidez, clareza e realismo do que o upscaling tradicional. Isso não quer dizer que não vale a pena usar upscaling com IA em vez do upscaling/reamostragem tradicional, porque vale sim. Os resultados podem não ser sempre bons, mas com certeza também nem sempre são ruins, e só vão continuar melhorando com o tempo. Às vezes uma imagem fica tão bem escalada que é praticamente perfeita. Além disso, o upscaling com IA também pode ser usado só pra limpar uma imagem de ruído e artefatos de compressão, então mesmo que você não precise/queira aumentar a resolução, ainda dá pra ter outros benefícios.

- Vou colocar uma lista curta de algumas opções de upscaling com o preço, a plataforma em que estão disponíveis e os limites de upscale. Não vou avaliar a qualidade dos upscales de cada uma porque, primeiro, isso é meio subjetivo, e segundo, eu não testei tudo que está aqui. Vai saber, posso fazer isso em algum momento e postar as imagens pra comparar, mas também posso não fazer, depende do que eu decidir.

- Algumas das opções são baseadas na web, o que é prático porque dá pra fazer upscale com basicamente qualquer dispositivo que tenha um navegador decente e conexão com a internet. Os contras são que ou têm capacidade limitada, ou custam uma assinatura, e que exigem conexão com a internet. Pode não ser a melhor opção pra quem tem internet lenta, instável ou com franquia. Além disso, você nunca sabe o que eles realmente fazem com suas imagens, então se tiver fotos sensíveis que você quer escalar, talvez seja uma boa optar por uma opção que não seja web.

- Algumas estão disponíveis pra baixar como software, o que costuma ter a vantagem de não precisar de internet e ter menos/nenhuma restrição de upscaling. Os contras são que o software precisa existir pra plataforma que você quer usar, e você também precisa de um dispositivo capaz de rodar, já que, ao contrário de uma opção web onde outros servidores cuidam da carga de processamento, agora é o seu dispositivo que tem que fazer todo o trabalho.

Gigapixel AILets EnhanceWaifu2xVertexshare Image Upscaler
Preço$99.99Primeiras 5 imagens grátis, assinatura começa em $12 por mês pra escalar 100 imagens por mêsGrátisGrátis
Limite de upscale32,000 x 32,00064 megapixels pras 5 imagens grátis; 256 megapixels com assinatura normal; 500 megapixels com assinatura business (que começa em $72 por mês)Não dá pra enviar imagens maiores que 1,500 x 1,500 ou 5 MB. Opções de upscale de 1.6x ou 2xNão dá pra enviar imagens que não sejam JPG ou PNG, nem nada maior que 1,200 x 1,200 ou 5 MB. Só tem opções de upscale de 2x e 4x
WebNSSS
WindowsSNS*N
MacSNS*N
LinuxS**NS*N
App mobileNNS*N

*O código-fonte está disponível em GitHub
**Via WINE

- Essas não são as únicas opções, tem muitas outras pra escolher, então se nenhuma delas te agradar, pesquise algo como "AI Image Upscaling Software". Você também pode dar uma olhada nesse link que traz uma lista de mais opções com alguns prós e contras de cada uma. Eu pessoalmente uso o Gigapixel AI porque ele roda no meu próprio PC e não tem nenhum limite grande que eu saiba, além de não conseguir escalar uma imagem acima de 32,000 x 32,000, o que não é problema pra mim. Se por algum motivo você precisar/quiser escalar uma imagem acima de um gigapixel, sempre dá pra cortar a imagem em pedaços menores, escalar esses pedaços e depois mesclar e juntar tudo.

- Depois de escolher o que vai usar pra escalar, tem algumas coisas que você pode fazer pra garantir o melhor resultado final. Primeiro, você está usando a melhor versão da imagem que vai escalar? Porque, como você sabe, existem basicamente várias cópias de quase toda foto online, e nem todas têm a mesma qualidade. Então se você pegou a imagem da internet e ela não é uma foto única nem um print seu de um frame específico de um vídeo, vale tentar uma busca reversa de imagem. Existem algumas opções, como Google, Bing, TinEye, etc., que dá pra usar pra fazer busca reversa de imagem (vale a pena fazer a busca reversa em mais de uma delas porque nem sempre mostram os mesmos resultados). Você também pode usar uma extensão de navegador pra ajudar na busca reversa, tipo Search by Image. Lembre que só porque uma imagem é mais antiga, tem resolução maior ou arquivo maior, isso não significa que aquela versão tem melhor qualidade. Uma forma de aumentar as chances de achar a imagem original é descobrir quem/o que aparece na imagem, quando/onde ela deve ter sido tirada/postada, etc., e usar essas infos pra rastrear uma versão de melhor qualidade, se não a própria fonte. Por exemplo, talvez a imagem seja de um ensaio específico ou de algum tipo de evento. Saber disso pode ajudar.

- Depois que você garantir que tem a melhor cópia da imagem que quer escalar (ou pelo menos a melhor que conseguir achar), vale cuidar dos dados e do arquivamento. O que quero dizer é que, pra garantir que a foto que você vai usar está ok e vai continuar disponível pra todo mundo, recomendo fazer algumas coisas. Primeiro, use o VirusTotal pra escanear não só a URL da página onde a imagem está, mas também o link direto da imagem e o arquivo da imagem em si depois de baixado. Isso não é realmente necessário, mas é o que eu faço. Também recomendo arquivar a URL da página onde a imagem foi encontrada, assim como o link direto, usando tanto o Wayback Machine quanto o Archive.Today. Depois, mude o nome da imagem baixada pra um que faça sentido e seja compreensível (a menos que ela já tenha um nome assim). Em seguida, eu costumo usar o FileOptimizer pra diminuir o tamanho do arquivo o máximo possível (usando só otimização sem perdas pra não perder nenhum dado (qualidade)) pra ocupar menos espaço, subir mais rápido e baixar mais rápido.

- Beleza, hora de escalar! Bom, talvez. É que, às vezes, a imagem precisa de pelo menos um ajuste leve antes de ser escalada. Se a imagem tem muito ruído (seja ruído cromático , ruído de luz, etc.) o upscaler pode (mas também pode não, varia em cada situação) ter dificuldade pra distinguir ruído de detalhe, o que pode resultar em upscales estranhos. Então uma coisa que você pode fazer é tentar remover o ruído da imagem antes de escalar. Às vezes remover o ruído piora o upscale, então cabe a você comparar. Outras vezes, a imagem já pode ter sido escalada de forma tradicional. Nesse caso, tente ver a imagem em vários níveis de zoom abaixo de 100% até achar o 'ponto ideal' em que você não nota mais os artefatos de um upscale tradicional, como serrilhado ou aspecto de blocos. Um bom ponto de partida é 50% de zoom. Depois de achar esse 'ponto ideal', reduza a imagem até esse mesmo nível (às vezes é melhor reduzir só com um redimensionamento simples, outras vezes você obtém melhores resultados reduzindo com reamostragem, como lanczos ou bicúbica, etc.). É a mesma coisa de remover o ruído antes do upscale: nem sempre dá resultado melhor, então compare. Outras coisas que podem permitir um upscale melhor são desfocar um pouco a imagem, ou talvez aumentar a nitidez, ou às vezes até escalar/reamostrar a imagem pode ajudar.

- Depois de carregar a imagem no upscaler, escolher as configurações perfeitas e estar prestes a escalar, pode aparecer uma opção de qual formato e qualidade você quer exportar o upscale. Recomendo exportar num formato sem perdas, como PNG, pra qualquer edição depois ter um efeito melhor. Beleza, você já escalou a imagem e conseguiu um resultado decente, e agora? Você pode postar o resultado como está, sem mais ajustes, tudo bem, mas só uns ajustes extras podem dar um resultado mais bonito. Às vezes aparece algum ruído no upscale, mesmo que a imagem original não parecesse ter muito. Nesse caso, o melhor é remover o ruído o melhor que puder pra ficar um pouquinho melhor. A imagem (inteira ou só algumas partes) também pode ficar meio, como eu digo, lisa? Plastificada? Algo nesse sentido. Nesse caso, um jeito fácil de melhorar é adicionar um pouco de granulado na imagem. Eu pessoalmente prefiro um granulado fino a um grosso, mas você é livre pra escolher o que quiser. O granulado adiciona uma espécie de 'detalhe falso' e deixa a imagem com um pouco mais de textura, na minha opinião. Também pode ser bom reduzir a imagem, já que o upscale pode ter uns detalhes estranhos, e reduzir diminui a visibilidade deles mantendo as melhorias visuais. Se você quiser combinar remoção de ruído, redução e granulado, a ordem é: Remover ruído → Reduzir → Granulado.

- A imagem também pode precisar (ou pelo menos se beneficiar de) uns retoques manuais com Photoshop ou GIMP. Só que eu atualmente não tenho experiência com isso, mas isso pode mudar no futuro e me permitir preencher uma pequena seção sobre retocar manualmente o upscale. Então, deixando isso de lado, seu upscale já deve estar pronto. Antes de postar, talvez você queira considerar reduzir a imagem ou comprimir com perdas, já que os upscales às vezes geram arquivos particularmente grandes (potencialmente centenas de megabytes por uma única imagem). O que eu prefiro fazer é subir a imagem original (sem nenhuma alteração e no formato original, mas otimizada sem perdas), uma versão WEBP sem perdas do upscale (já que costuma comprimir melhor que PNG), uma versão JPG com perdas e um PNG sem perdas (pela compatibilidade). Assim, o pessoal recebe a imagem original e pode escolher qual versão do upscale quer: um JPG com perdas com o menor tamanho de arquivo, um WEBP sem perdas com tamanho menor que o PNG, ou um PNG sem perdas com mais suporte e compatibilidade que o WEBP.
 
Curso intensivo de upscaling de vídeo:

Pega uma cópia do Topaz Video AI 3.1.6 (edit: desde que esse post foi feito saiu o Topaz 5, pode pegar esse). O Artemis ainda é o modelo padrão; pra converter pra 60fps você pode usar o Apollo com a opção de duplicar frames desmarcada.

Você só deveria fazer isso com uma placa de vídeo potente. Eu uso uma 3080. Talvez com um CPU threadripper ou um Intel rápido com muitos núcleos funcione, mas tive preguiça de testar.

Confere as configurações pra processar com a sua GPU, se tiver, e com alto uso de VRAM.

Joga seu arquivo no programa.

Se for abaixo de 720p, não faz upscale maior que 1280x720p. Usa Artemis LQ ou Iris. Um 720p bonito e ainda por cima a 60 FPS vai ficar melhor que um upscale 1080p ruim a 30 fps.

Se for um arquivo de qualidade decente, por volta de 720 ou mais, você pode ir pra 1920x1080 (ou seja 1080p) ou pra qualquer porcentagem de upscale direto que chegue perto (tipo se você tiver um arquivo antigo quadrado). Usa Artemis High Quality.

4k demora uma eternidade, então pra putaria nem se dá ao trabalho de fazer upscale, fica feliz se seu arquivo já for 1080p, a não ser que você tenha muito tempo e não precise fazer mais nada no PC por um bom tempo. Fazer upscale de um arquivo de uma hora pra 4k pode levar literalmente dias.

Se for melhorar framerate e fazer upscaling, eu sugiro fazer o upscale PRIMEIRO e depois usar o Apollo pra subir o FPS (escolhe 60fps e pronto, mais que isso é desperdício e pode ser difícil de exibir).

Dá pra cortar o começo e o fim. Eu geralmente faço isso no handbrake em vez do topaz, porque o topaz já teve problema com corte no passado. Fazendo primeiro no handbrake você só configura o upscale e deixa rodar.

Se for manter o som, confere se a opção de manter o som tá selecionada.

Você não precisa fazer muito mais que definir o início e o fim e apertar o botão de go.

Recomendo passar pelo handbrake depois, os arquivos costumam ficar bem grandes e é mais fácil deixar a qualidade no padrão e depois reduzir com algo tipo codificação GPU NVENC em CQ 27.

Outra dica é desligar TODOS OS FILTROS no handbrake. Nenhum é necessário, e se você usa um método de codificação NVENC (feito pra codificar mais rápido usando a potência de uma GPU Nvidia), alguns desses filtros são só de CPU e vão fazer seu CPU esquentar pra caramba e ainda deixar a codificação mais lenta.

edit - Eu prefiro h264 pra arquivos de vídeo de 1080p ou menos. Se você é streamer ou usa 4k, h.265 provavelmente é melhor escolha. Já tive uns problemas com arquivos codificados em 265 em alguns dispositivos, então prefiro ir no seguro, já que a economia extra de espaço do 265 não importa tanto pra mim.

Resumo do Handbrake:
Summary: Format MP4. Web Optimized.
Dimensions: Anamorphic None, Modulus 2, Cropping Automatic.
Filters: All OFF.
Video: H.264 Nvidia NVENC (se você tiver uma GPU Nvidia recente, que você precisa de qualquer jeito pra fazer upscaling). Constant framerate. Constant Quality 27 (28 ocupa menos espaço mas tem qualidade menor, 26 tem qualidade maior mas mais espaço. Acima de 28 vai começar a dar artefato, abaixo de 26 você garante a qualidade mas o tamanho do arquivo sobe). Slow encoder preset. Profile auto, encoder level auto. Sem opções avançadas.
Audio: Eu uso AAC (AVOCODEC) com Bitrate: 160, Stereo.

Exemplos - Você vai precisar abrir o arquivo direto pra ver as imagens em tamanho real.

Fonte 720:

HS-Source.png


Upscale 1080:

HS-Upscaled.png


Esse aqui é tipo um 'pior cenário': a fonte é um clipe de 400x300 muito antigo, provavelmente não é a fonte original e é bem granulado, e foi ampliado 3,5x, o que você pode comparar com ir de 1280x720 pra 1080p que é só 1,5x

Source.png


Upscale 1438x1080:

Upscale.png


Descobri que ir de 720p pra 1080p é de boa pra assistir em telas grandes (TVs, monitores de PC etc).

Abaixo de 720p eu ficaria só no 2x, mais que isso não dá bons resultados na minha experiência e só gasta tempo/energia. Os resultados em telas grandes não são ótimos, mas pra celular/ipad achei perfeitamente aceitáveis.
 
Alguma novidade sobre RAISR ou SR3, ou se tá disponível pro público em geral?
 
Sim, infelizmente esse conteúdo não está disponível pro público em geral
 
mano, qual a melhor configuração de grain pra isso? eu estraguei a configuração e esqueci os tamanhos originais
 
Eu simplesmente deixo desligado.

Parece que o padrão é Amount 1.7, Size 0.92.

Fiz um teste rápido e não vi diferença nenhuma. Então é, deixa desligado.
 
"Serena 18", arquivo muito antigo com upscale. O brilho tá meio alto mas isso é problema do arquivo original e arrumar não ajudou muito. Sinceramente não tenho outro lugar pra jogar isso.

https://gofile.io/d/TpxwpE
 
Pra conseguir fazer upscale e remaster de vídeos você vai precisar de uma placa de vídeo no mínimo 1660 super, ou melhor ainda uma 2080 super

Placa mais velha: 36 a 48 hrs, placa mais nova: 12 a 16 hrs
 
Pergunta (tomara que você responda antes dos mods verem, porque eles apagam todo comentário que eu posto): se você fizer upscale de 480 pra 720 e depois de novo de 720 pra 1080, funcionaria/ficaria boa?

E se puder, explica as diferentes qualidades de vídeo de entrada, tipo e tipo de artefato? Pra mim parece que não existe um tipo de artefato que seja realmente equilibrado, então fiquei curioso pra saber qual funcionaria melhor, tipo pra vídeos de 5-7 anos atrás....
 
Eu nunca fiz isso, mas é algo que outras pessoas que usaram esse software dizem que pode valer a pena. Eu raramente faço de 480 pra 1080p, então nunca testei, eu vou direto de 480 pra 1080 e nunca tive muito problema com o resultado. Se fosse um arquivo que realmente importa manter em alta qualidade, aí talvez eu fizesse.

O tipo de qualidade de entrada é mais no olho. Você pode ter um vídeo de resolução 480 que ainda é bem nítido, ou um 480 com qualidade de bits baixíssima. Vídeos mais antigos dos anos 90 ou 2000 costumam ser muito comprimidos por causa da internet lenta da época. Isso pode gerar artefatos, tipo blocos ou qualidade de cor ruim. Outros problemas de qualidade podem ser exposição ou contraste, ou aquela clássica borrada do softcore dos anos 80.

Eu diria que se a qualidade de imagem do arquivo parece boa pra você, use o Artemis High quality. Se tem artefato ou é de baixo bitrate, use o Artemis Low Quality. Isso não se limita a vídeos 480p, porque já vi uns vídeos 720p com qualidade horrível também.
 
Se você quer um upscaler de IA simples pra Android, eu uso esse app, especificamente a versão 6.1. Tem um limite de 10 imagens antes de você precisar começar a assistir anúncios; mas se você tem o apk, é só desinstalar e reinstalar usando o APK que o limite reseta. Não sei se funciona em versões depois da 6.1, mas prefiro não arriscar.

https://m.apkpure.com/ai-enlarger-for-photo-anime/com.app.aiimglarger/versions
 
alguém pode ajudar? Baixei o topaz video enhance de várias fontes mas toda vez só consigo melhorar com marca d'água e ele pede login, alguma dica? valeu :MLADY:
 
tô fazendo algo errado? consigo ver a prévia do upscale mas não consigo processar, fica travado carregando o modelo de IA, alguém pode ajudar?
 
Os modelos são bem grandes e, até onde sei, só são colocados na pasta principal de instalação do Windows. Então se você tem pouco espaço nesse drive, eles podem não baixar.

Você também pode entrar nas preferências e ver se o "disable model downloading" tá ativado, porque isso pode estar impedindo o download dos modelos.
 
Tenho um vídeo que tá meio escuro e pouco nítido, já tentei todos os programas possíveis, do premiere ao topaz até (insira o nome de um programa de terceiros aqui) sem muita sorte. Você toparia tentar clarear e melhorar pra mim? Posso te mostrar o melhor que consegui até agora junto com o original. Posso te passar uns trocados se ficar bom, se quiser.
 
Voltar
Topo