Quem sou eu e o que este blog.

Minha foto

Sou viciado em computação, Internet e Fotografia. Morei por quase 6 anos, e ainda frequento, Paraty. Sou usuário de softwares Open Source, tendo dado algumas contribuições em diversas ocasiões.

quinta-feira, 23 de fevereiro de 2017

Por que usar RAW para fazer HDR?

Por que devemos usar as imagens RAW, e não JPEG para fazer HDR?

A palavra RAW em Inglês significa "cru" em Português. Não é uma sigla. Seria na ideia da imagem não tratada. É a imagem tal como saiu do sensor.

Se você não sabe o que é HDR, Mapeamento de Tons etc, e quer continuar lendo este texto, sugiro ler o texto Teoria Básica de HDR e HDR, um estudo de caso (Making Of).

O JPEG só pode, por definição, ter 8 bits por cor em cada pixel, possibilitando no máximo 256 tons por cor, e com 3 cores (RGB) só pode representar 16.777.216 cores.

A maior parte das câmeras digitalizam com 12 bits por cor por pixel (Na realidade é um pouco mais complicado que isto. Pesquise sobre Filtro Bayer para obter detalhes.), as melhores podem digitalizar com 14 bits por cor por pixel, e já ouvi falar de 16 bits por cor por pixel. Com 12 bits temos 4.096 tons para cara cor, o que dá 68.719.476.736 cores possíveis. E com 14 bits temos 16.384 tons por cor, e 4.398.046.511.104 cores possíveis. Bem mais do que o JPEG.

Para a câmera criar o arquivo JPEG, ela tem que processar o que o sensor digitalizou, e descartar informações. No processo ela pode realçar cor, fazer preto e branco, eliminar ruídos, equilibrar o branco, aumentar contraste etc. Nisto pode descartar informações dos pontos mais claros, e facilmente dos pontos mais escuros. É de certa forma um Mapeamento de Tons. É uma versão do que ela capturou.

Ainda tem outro detalhe. O JPEG é uma aproximação matemática. Ele não é a imagem que saiu do processamento do RAW. Depois de processar o RAW, é feita uma aproximação matemática da imagem no processo de criação do arquivo JPEG. Esta aproximação matemática pode causar uma grande série de problemas, alguns deles chamados de "artefatos". Um exemplo está no pior cartaz que já vi.

No ensaio que fiz no Armazém da Cachaça as fotos foram reeditadas na câmera pedindo para realçar as cores na conversão. Eu alterei os parâmetros criando uma versão diferente do que a câmera estava gerando normalmente.

Para simplificar, vou chamar todo este processo de "criar o JPEG" da imagem.

Mas o que tudo isto significa? Melhor irmos para a prática.

Veja as 3 imagens abaixo. Analise elas, e depois continue lendo.




A primeira é o JPEG que saiu da câmera. A segunda e a terceira são Pseudo-HDRs (Imagens geradas processando da forma do HDR, mas somente com uma única exposição, sem ganho real de faixa dinâmica. Basicamente só o mapeamento de tons é feito.) gerados de forma quase igual, com os mesmos parâmetros de mapeamento de tons etc. A exceção é que a segunda imagem foi processando pelo RAW e a terceira pelo JPEG.

A primeira coisa que salta aos olhos são as cores da terceira imagem. Elas ficaram bem fortes, Bem realçadas. Por que isto aconteceu?

No processamento de RAW para JPEG as cores foram realçadas. E eu pedi que as cores fossem realçadas no mapeamento de tons. Então a primeira e a segunda imagens as cores foram realçadas uma vez (na criação do JPEG e no mapeamento de tons, respectivamente), e na terceira imagem a cor foi realçada duas vezes, quando gerou o JPEG e quando se processou à partir dele.

Tem uma coisa sutil, e de pouca importância, que não é facilmente visível nestas imagens reduzidas. O tamanho delas é diferente. A primeira imagem tem 4928 por 3280 pixels, e a terceira, que é derivada da primeira, tem o mesmo tamanho. A segunda, que é derivada do RAW, tem 4940 por 3292, isto é, 12 pixels a mais para cada direção.

Isto acontece por causa de uma simplificação de algoritmo da câmera, para economizar memória, tempo de processamento etc. Como as bordas são casos especiais para tratamento de ruído, interpolação de cor, correção de aberração cromática etc, eles precisariam algoritmos diferentes para ter bons resultados. Então foi decidido pelos projetistas das câmeras descartar as bordas, que são pequenas, e ter só um único algoritmo de processamento, o que se aplica a quase toda a imagem. Assim o JPEG gerado pela câmera descarta as bordas do sensor.

Mas o computador não tem as mesmas restrições de memória, de processamento, de consumo de energia etc, e como o RAW é basicamente o que foi capturado pelo sensor, então estas bordas são aproveitadas no processamento pelo computador. O computador pode tratar os casos especiais das bordas sem grandes problemas.

Existem outros detalhes nestas imagens que olhos treinados podem perceber com muito mais facilidade, especialmente em alta resolução. Então fiz 3 cortes de 640 por 1300 pixels de um canto da imagem que mostrarei abaixo. Estão na mesma ordem das imagens acima. Estes cortes começam na posição 0 na horizontal e 800 na vertical das imagens.

Nota: Pode ser necessário, para facilitar a visualização, abrir este artigo do blog em duas ou três janelas, e posicionar cada janela em uma imagem, trocando as janelas com Alt-Tab. Outra opção, se tem resolução suficiente no monitor, é colocar as janelas lado a lado.




Voltando aos pixels a mais, é possível ver no segundo e no terceiro cortes uma janela. Os pixels a mais permitem ver um pouco mais à esquerda da janela no segundo corte. Algo parecido acontece na cerca.

Tem umas pontas de vegetação acima das árvores. No segundo corte, bem na borda esquerda, tem um pouco mais de uma destas pontas.

Mas tem algo muito mais importante. Olhe as sombras da árvore, debaixo da árvore, e o tronco da árvore.

No JPEG que saiu da câmera, primeiro corte, esta área está toda praticamente perdida. O Mapeamento de Tons da câmera descartou algumas áreas escuras colocando preto, ou uma cor próxima ao preto. Lembre que estava limitado a 256 tons por cor.

O terceiro corte é do remapeamento de tons do JPEG. O que estava quase preto ganhou vida, mas o que estava preto, continuou preto. Era informação perdida.

A segunda imagem é impressionante. O que estava completamente perdido no JPEG, que nem aparece na terceira imagem, está na segunda. A segunda foi obtida com o RAW de 14 bits por cor por pixel. Em alguns pontos está ruidoso, mas está lá, ao contrário do terceiro corte, e por tabela do primeiro corte.

A riqueza de informações nas áreas escuras foi bem grande, mas não só nelas. A borda de pedra abaixo da cerca, que faz contato com o rio, e o próprio rio, parecem ter ganho nuances. O fato de realçar as cores uma vez só, ao contrário do que aconteceu na terceira imagem, também pode ter preservado nuances nas áreas mais claras.

Mas estes cortes me expuseram um problema que eu não tinha percebido: Aberração Cromática (Em inglês está mais completo.). Observe os troncos da palmeira no alto da foto, com as nuvens de fundo. Tem uma visível área vermelha lateral ao tronco. O mesmo acontece com os troncos com a choupana de palha ao fundo, e na cerca.

A câmera trata das aberrações cromáticas, corrigindo-as, quando sabe qual lente está usando. Isto é feito quando a imagem é processada nela, dando um JPEG de saída. Quando se trabalha com o RAW, o fotógrafo tem que lidar com isto. Informar a lente usada ao programa de processamento de imagens. Se o programa for capaz de tratar este problema, e tiver os parâmetros da lente catalogado, este problema será corrigido.

Simplesmente não pensei no problema, como normalmente não penso, pois não costumo usar as fotografias que faço com uma resolução tão alta.

Voltando às nuances.

Fiz um corte começando na posição 800 por 200, de tamanho de 640 por 1000, abrangendo uma parte do céu, passando por nuvens até chegar a uma árvore.




No primeiro corte não tem muito o que relatar. As folhas estão escuras, e não tem muito o que ver. Quase nenhum ruído no céu.

No segundo corte quase não tem ruído no céu. As folhas estão vem visíveis. As nuvens foram realçadas. Aparecem algumas nuvens que não apareciam bem no primeiro corte. Mas as aberrações cromáticas estão ali, visíveis nas bordas das folhas como uma mancha vermelha à direita, e nos contornos da nuvem maior.

O terceiro corte foi do mapeamento de tons feito à partir do JPEG que saiu da câmera. Não tem aberração cromática, o azul do céu está super realçado, tem uma nuvem realçada etc, mas tem uma grande quantidade de ruído no céu. De onde veio o ruído? O azul do céu não era representado no JPEG que saiu da câmera com só um tom de azul. Eram vários com pequenas diferenças entre si. Quando fiz o remapeamento de tons, e pedi para exagerar os detalhes eles apareceram, e se tornaram ruído. Parte também pode ter sido introduzido na gravação do JPEG que saiu da câmera, como erro de aproximação matemática.

Este ruído não apareceu na segunda imagem por vários motivos. O erro da aproximação matemática do JPEG não aconteceu, pois não passou por este processo. E as diferenças entre pixels vizinhos eram menores, devido a ter mais bits por cor, então as diferenças eram menores, mais sutis. O realçamento de detalhes no remapeamento de tons também pode ter ignorado as diferenças nos últimos bits dos 14 bits por cor, mas não perdoou diferenças no sétimo ou oitavo bits que podem ter encontrado no outro caso.

Conclusões

O RAW lhe dá muito mais informações, muito mais nuances, pois tudo que saiu do sensor está lá, tal como saiu do sensor, sem quase nenhum processamento. Isto também dá muito mais controle, mas pode exigir que se exerça este controle.

Acho que nenhuma das 3 imagens estão boas o suficiente para uma grande ampliação, mas se eu tivesse que escolher uma para ampliar, seria a segunda, a feita do RAW.

Pretendo retrabalhar esta imagem, e tentar resolver esta aberração cromática. Quando eu fizer isto publico os resultados.

Nenhum comentário:

Postar um comentário