O que é o algoritmo subjacente para preservar detalhes de upsampling no Photoshop CC?

8

O algoritmo de upsampling de preservação de detalhes no Photoshop CC é realmente incrível. Ele pode aprimorar qualquer imagem, preservando os detalhes quase em tempo real. E eu realmente me pergunto como isso é implementado.

Comecei pesquisando documentos com palavras-chave single image super resolution. E parece que os algoritmos atuais exigem um banco de dados externo treinado para adivinhar as informações de alta frequência ausentes. E eu acredito que é realmente difícil treinar e distribuir um dicionário completo, certo? Além disso, não acho possível treinar um dicionário com pirâmide de imagens em tempo real.

Depois disso, voltei-me para a área de image upsampling, que parece rápida o suficiente em comparação com super resolutionalgoritmos, mas existem tantos algoritmos que estou totalmente perdido.

Então, alguém tem alguma sugestão ou sugestão sobre como essa ferramenta pode ser implementada? Obrigado!

Void Main
fonte
Acho que esta pergunta é sobre Preserve Details (1.0) que li que foi enviada com a primeira versão do Photoshop CC. O Preserve Details 2.0 enviado com o Photoshop CC 2018 possui um identificador de script "deepUpscale", e eles o anunciam como AI, portanto, parece um aprendizado profundo.
Olli Niemitalo 18/03/19
Para um algoritmo mais atual, existem redes adversas geradoras de super-resolução aprimoradas (ESRGAN) .
Olli Niemitalo 19/03/19

Respostas:

1

Não há realmente nada além da interpolação cúbica com "Sharpening".

http://www.lynda.com/Photoshop-tutorials/interpolation-settings/124096/140573-4.html

Eles não atualizam seus algoritmos de interpolação há séculos.

Royi
fonte
A imagem é nítida em resolução mais alta e, portanto, certamente não é alcançada pelo spline cúbico modificado.
Libor
Procure a interpolação do Adobe CC. Você verá que eles não fizeram nada de novo no CC além de escolher automaticamente entre Bi Cubic Smoother e Bi Cubic Sharper. Ambos são apenas pós-processamento do Bi Cubic.
Royi 26/07
O vídeo vinculado da pergunta mostra a opção Reamostrar: Preservar detalhes. Eu não acho que é bicúbico. O Photoshop CC 2018 também possui Preserve Details 2.0.
Olli Niemitalo 18/03/19
@OlliNiemitalo, Você já viu o vídeo que eu vinculei? A preservação de detalhes 2.0 é outra coisa. A pergunta foi escrita com as versões antigas do Photoshop em mente e no vídeo que eu vinculei, você pode ver que a operação é Bi Cubic + Some Sharpening (provavelmente com Edge Awareness).
Royi 18/03/19
@Royi Eu assisti o seu vídeo vinculado. Ele tem menos opções de reamostragem (não inclui detalhes da preservação) do que o vídeo vinculado à pergunta, então acho que o que você diz na resposta está desatualizado para a versão do Photoshop da pergunta.
Olli Niemitalo 18/03/19
1

Existem muitos algoritmos para upsampling "com reconhecimento de borda". Não sabe ao certo o que o Photoshop usa, mas, por exemplo, o plugin Alien Skin Blow Up fornece resultados semelhantes e eles usam a vetorização usando triangulação. Os triângulos são suavizados, mantendo a imagem ampliada suficientemente nítida.

Você também pode dar uma olhada no NEDI (New Edge-Directed Interpolation), ou " Upsampling via Imposed Edges Statistics ", de Raanan Fattal.

Ainda outra abordagem é converter a imagem em um campo vetorial (os vetores vão ao longo das bordas), ampliar esse campo e, em seguida, recalcular o domínio espacial usando algum solucionador de PDE (os solucionadores rápidos de Poisson são uma opção popular).

Os Fractals genuínos do OnOne Software mostram ainda outra abordagem, usando a geometria fractal, principalmente o IFS (sistemas de funções iteradas), explorando a auto-similaridade e permitindo recriar dados de textura com aparência natural, e não apenas bordas. A imagem aproximada fractal é por definição independente da resolução. Certa vez, escrevi um software semelhante, mas calcular a representação fractal é caro, por outro lado, a renderização é muito rápida.

Libor
fonte
Obrigado pela sua resposta! Essa é uma lista bastante, e eu vou começar a pesquisar!
Principal principal nulo