>> Tecnologia Eletrônica >  >> Câmeras >> Câmeras Digitais

Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas

A interpolação de imagem ocorre em todas as fotos digitais em algum estágio — seja na desmosaicagem Bayer ou no aumento de foto. Acontece sempre que você redimensiona ou remapeia (distorce) sua imagem de uma grade de pixels para outra. O redimensionamento é necessário quando você precisa aumentar ou diminuir o número total de pixels, enquanto o remapeamento pode ocorrer em diversos cenários: correção de distorção de lente, mudança de perspectiva e rotação de imagem.

Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Exemplo de interpolação em grade de pixels

Mesmo que o mesmo redimensionamento ou remapeamento seja realizado, os resultados podem variar significativamente dependendo do algoritmo de interpolação. É apenas uma aproximação, portanto uma imagem sempre perde alguma qualidade cada vez que a interpolação é realizada. Este tutorial visa fornecer melhor compreensão de como os resultados podem variar — ajudando você a minimizar perdas de qualidade induzidas por interpolação.

Conceito

A interpolação funciona usando dados conhecidos para estimar valores em pontos desconhecidos. Por exemplo: se você quisesse saber a temperatura ao meio-dia, mas só a mediu às 11h e 13h, poderia estimar seu valor realizando interpolação linear:

Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Interpolação linear

Se tivesse uma medição adicional às 11:30, veria que a maior parte do aumento ocorreu antes do meio-dia, e poderia usar esse ponto adicional para interpolação quadrática:

Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Interpolação quadrática

Quanto mais medições de temperatura você tiver próximas do meio-dia, mais sofisticado (e esperançosamente mais preciso) seu algoritmo de interpolação pode ser.

Exemplo de Redimensionamento de Imagem

A interpolação de imagem funciona em duas direções, e tenta alcançar a melhor aproximação da cor e intensidade de um pixel baseada nos valores nos pixels ao redor. O exemplo a seguir ilustra como redimensionamento/aumento funciona:

Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Grade original
Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Ampliada 183%
Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Resultado da interpolação
Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Detalhe interpolado

Diferente das flutuações de temperatura do ar e do gradiente ideal acima, valores de pixel podem mudar muito mais abruptamente de uma localização para a próxima. Como no exemplo da temperatura, quanto mais você sabe sobre os pixels ao redor, melhor a interpolação se torna. Portanto, os resultados se deterioram rapidamente quanto mais você estica uma imagem, e a interpolação nunca pode adicionar detalhes à sua imagem que não estejam já presentes.

Exemplo de Rotação de Imagem

A interpolação também ocorre cada vez que você rotaciona ou distorce uma imagem. O exemplo anterior era enganador porque é um no qual os interpoladores são particularmente bons. Este próximo exemplo mostra como o detalhe da imagem pode ser perdido rapidamente:

Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Original
Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Rotação 45°
Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Rotação 90° (Sem Perdas)
Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
2 × Rotações de 45°
Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
6 × Rotações de 15°

A rotação de 90° é sem perdas porque nenhum pixel precisa ser reposicionado na borda entre dois pixels (e portanto dividido). Note como a maioria do detalhe é perdida já na primeira rotação, embora a imagem continue a se deteriorar com rotações sucessivas. Portanto, evite rotacionar suas fotos quando possível; se uma foto desnivelada exigir, rotacione no máximo uma vez.

Os resultados acima usam algoritmo "bicúbico", e mostram deterioração significativa. Note a diminuição geral de contraste evidenciada pela cor se tornando menos intensa, e como halos escuros são criados ao redor do azul claro. Os resultados acima poderiam ser melhorados significativamente, dependendo do algoritmo de interpolação e do assunto.

Tipos de Algoritmos de Interpolação

Algoritmos comuns de interpolação podem ser agrupados em duas categorias: adaptativos e não-adaptativos. Métodos adaptativos mudam dependendo do que estão interpolando (bordas nítidas vs. textura suave), enquanto métodos não-adaptativos tratam todos os pixels igualmente.

Algoritmos Não-Adaptativos

Incluem: vizinho mais próximo, bilinear, bicúbico, spline, sinc, lanczos e outros. Dependendo de sua complexidade, usam de 0 a 256 (ou mais) pixels adjacentes ao interpolar. Quanto mais pixels adjacentes incluem, mais precisos podem se tornar, mas às custas de tempo de processamento muito maior. Esses algoritmos podem ser usados para distorcer e redimensionar uma foto.

Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Original
Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Ampliado 250%

Algoritmos Adaptativos

Incluem muitos algoritmos proprietários em softwares licenciados como: Qimage, PhotoZoom Pro, Genuine Fractals e outros. Muitos aplicam uma versão diferente de seu algoritmo (pixel a pixel) quando detectam presença de uma borda — visando minimizar artefatos de interpolação desagradáveis em regiões onde são mais aparentes. Esses algoritmos são projetados principalmente para maximizar detalhes livres de artefatos em fotos ampliadas, então alguns não podem ser usados para distorcer ou rotacionar imagem.

Interpolação por Vizinho Mais Próximo

O vizinho mais próximo é o mais básico e requer menor tempo de processamento de todos os algoritmos porque considera apenas um pixel — o mais próximo do ponto interpolado. Isso tem o efeito de simplesmente tornar cada pixel maior.

Interpolação Bilinear

Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Vizinhança 2×2 para interpolação bilinear

A interpolação bilinear considera a vizinhança 2×2 mais próxima de valores de pixel conhecidos ao redor do pixel desconhecido. Então faz uma média ponderada desses 4 pixels para chegar ao valor interpolado final. Isso resulta em imagens com aparência muito mais suave que o vizinho mais próximo.

O diagrama à esquerda é para caso onde todas as distâncias de pixels conhecidos são iguais, então o valor interpolado é simplesmente a soma dividida por quatro.

Interpolação Bicúbica

Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Vizinhança 4×4 para interpolação bicúbica

O bicúbico vai um passo além do bilinear considerando a vizinhança 4×4 mais próxima de pixels conhecidos — total de 16 pixels. Como estão a várias distâncias do pixel desconhecido, pixels mais próximos recebem peso maior no cálculo. O bicúbico produz imagens nitidamente superiores aos dois métodos anteriores, e é talvez a combinação ideal de tempo de processamento e qualidade de saída. Por isso é padrão em muitos programas de edição (incluindo Adobe Photoshop), drivers de impressora e interpolação na câmera.

Interpolação de Ordem Superior: Spline e Sinc

Existem muitos outros interpoladores que consideram mais pixels ao redor, e são portanto muito mais intensivos computacionalmente. Esses algoritmos incluem spline e sinc, e retêm a maior informação de imagem após interpolação. São extremamente úteis quando a imagem requer múltiplas rotações/distorções em etapas separadas. No entanto, para ampliações ou rotações em etapa única, esses algoritmos de ordem superior fornecem melhoria visual decrescente à medida que o tempo de processamento aumenta.

Artefatos de Interpolação para Ficar Atento

Todos os interpoladores não-adaptativos tentam encontrar equilíbrio ótimo entre três artefatos indesejáveis: halos de borda, desfoque e aliasing.

Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Original Ampliado 400%
Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Aliasing
Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Desfoque
Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Halo de Borda

Mesmo os interpoladores não-adaptativos mais avançados sempre têm que aumentar ou diminuir um dos artefatos acima em detrimento dos outros dois — portanto pelo menos um será visível. Note também como o halo de borda é similar ao artefato produzido por super-nitidez com máscara de foco, e melhora a aparência de nitidez aumentando a acutância.

Interpolações adaptativas podem ou não produzir os artefatos acima, porém também podem induzir texturas não-imagem ou pixels estranhos em pequena escala:

Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Interpolação Adaptativa — Original Ampliado 220%

Por outro lado, alguns desses "artefatos" de interpoladores adaptativos também podem ser vistos como benefícios. Como o olho espera ver detalhes nas menores escalas em áreas de textura fina como folhagem, esses padrões argumenta-se que enganam o olho à distância (para alguns assuntos).

Antialiasing

Antialiasing é um processo que tenta minimizar a aparência de bordas diagonais serrilhadas, chamadas "serrilhados" (jaggies). Estas dão a texto ou imagens uma aparência digital grosseira:

Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Borda serrilhada vs. suavizada
Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Ampliado 300% (Com Aliasing)
Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Ampliado 300% (Sem Aliasing)

O antialiasing remove esses serrilhados e dá aparência de bordas mais suaves e maior resolução. Funciona levando em conta quanto uma borda ideal sobrepõe pixels adjacentes. A borda serrilhada simplesmente arredonda para cima ou baixo sem valor intermediário, enquanto a borda antialiasada dá valor proporcional a quanto da borda estava dentro de cada pixel:

Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Diagonal Perfeita
Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
Reamostrada para Baixa Resolução

Um grande obstáculo ao ampliar imagem é impedir que o interpolador induza ou exacerbe aliasing. Muitos interpoladores adaptativos detectam presença de bordas e ajustam para minimizar aliasing enquanto mantêm nitidez da borda. Como uma borda antialiasada contém informação sobre a localização da borda em resoluções maiores, também é concebível que um interpolador adaptativo poderoso (detector de bordas) pudesse pelo menos parcialmente reconstruir essa borda ao ampliar.

Nota sobre Zoom Óptico vs. Digital

Muitas câmeras compactas digitais realizam tanto zoom óptico quanto digital. A câmera faz zoom óptico movendo a lente de zoom para aumentar a ampliação da luz antes mesmo de chegar ao sensor digital. Em contraste, zoom digital degrada qualidade simplesmente interpolando a imagem — após ter sido adquirida no sensor.

Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
10x Zoom Óptico
Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas
10x Zoom Digital

Mesmo que a foto com zoom digital contenha o mesmo número de pixels, o detalhe é claramente muito menor que com zoom óptico. Zoom digital deve ser quase inteiramente evitado, a menos que ajude a visualizar objeto distante na tela LCD de prévia da câmera. Alternativamente, se você fotografa regularmente em JPEG e planeja recortar e ampliar depois, zoom digital pelo menos tem o benefício de realizar a interpolação antes que artefatos de compressão apareçam. Se precisar de zoom digital com frequência, compre um teleconversor, ou melhor: uma lente com distância focal maior.

Para leitura adicional, visite tutoriais específicos sobre:
Aumento de Foto Digital
Redimensionamento de Imagem para Web e E-mail

Interpolação de Imagem Digital: Algoritmos, Artefatos e Boas Práticas