Um algoritmo demosaico para preto e branco seria útil?

11

Dado que o principal objetivo do demosaicing é recuperar a cor com a maior precisão possível, haveria alguma vantagem em um algoritmo demosaico "somente em preto e branco"? Ou seja, em vez de primeiro recuperar a cor e depois converter em preto e branco, seria melhor converter o arquivo RAW diretamente em preto e branco?

Estou particularmente interessado na qualidade da imagem (por exemplo, alcance dinâmico e nitidez). Em uma nota relacionada, quais algoritmos comuns de remoção de calcário são mais propensos à conversão em preto e branco?

Lars Kotthoff
fonte
2
A cor é um fator intrínseco de uma imagem RAW criada a partir de um sensor de camada de cores. O problema para convertê-lo em escala de cinza é que você só tem luminância para uma única cor em um determinado pixel. Realmente não importa se você trata apenas cada pixel como um valor de luminância ou se trata de um valor de cor, cada pixel representa apenas aproximadamente 1/3 da luminância total incidente no pixel no momento da exposição. "Desmoscamento" é realmente desnecessário para imagens em escala de cinza; no entanto, para obter imagens ideais em escala de cinza, você desejaria usar um sensor de escala de cinza ... sem a aba!
jrista
1
Quanto a quais algoritmos de demosaicing são ideais para a conversão em preto e branco ao usar uma câmera colorida ... Eu diria a forma mais simples, a sua interpolação quad padrão. Muitos outros algoritmos de desmembramento mais avançados são projetados para minimizar moiré de cores e outros artefatos relacionados a cores. Se você gosta apenas de preto e branco, a interpolação padrão de 2x2 pixels preservará o máximo de detalhes.
jrista
2
@ jrista Não sei por que uma interpolação ingênua preservaria mais detalhes do que um dos algoritmos mais avançados que tentam distinguir entre mudanças de brilho e intensidade. Em qualquer caso, os artefatos de cores podem aparecer em imagens em preto e branco, dependendo de como a conversão é feita.
quer
1
Bem, acho que estou baseando isso principalmente no AHDD, que tende a suavizar os detalhes. Pelo menos, a implementação no Lightroom produz resultados um pouco mais suaves que o algoritmo usado pelo Canon DPP, que produz resultados muito nítidos e nítidos a partir de um algoritmo mais simples de desmembramento (embora eu ache que não seja tão simples quanto o seu 2x2 básico.)
jrista
"A comparação dos métodos de desmoldagem de cores" (Olivier Losson, Ludovic Macaire, Yanqin Yang) entra em muitos detalhes em diferentes algoritmos demosaicos. Não é apenas uma questão de decodificar a cor, os melhores algoritmos levam em consideração todas as informações ao redor para obter os melhores resultados em cada pixel. Não estou convencido de que um decodificador dedicado em escala de cinza possa fazer melhor.
Mark Ransom

Respostas:

8

Não há como converter um arquivo RAW diretamente em preto e branco sem recuperar a cor primeiro, a menos que o seu conversor use apenas um dos conjuntos de pixels R, G, B para produzir uma imagem. Essa abordagem resultaria em uma perda substancial de resolução.

Para não perder a resolução ao converter para preto e branco, é necessário usar todos os pixels RG e B, o que significa implicitamente que os cálculos de cores devem ser executados; nesse ponto, você também pode usar um dos algoritmos avançados de desmosaicing de cores e depois converter o resultado para preto e branco.

Matt Grum
fonte
1
metade da resolução sem a média ponderada dos quads extraindo uma cor não seria a imagem em escala de cinza esperada, pois seria como colocar um filtro verde, vermelho ou azul em uma câmera monocromática. E uma pergunta filosófica: dividir cada eixo por 2, reduzindo a contagem de MP em 4. Eu chamaria essa meia resolução. Mas você parece chamar sqrt (2) por eixo / contagem de 2 MP "meia resolução". Qual definição é tecnicamente correta? Se a resolução é a capacidade de resolver, largura / 2 e altura / 2 são meia resolução em um sistema 2D em que você deseja preservar a invariância rotacional?
Michael Nielsen
extensão da minha visão sobre resolução Eu acho que Mp não é a resolução, é um número de marketing de fotografia. Como engenheiro de processamento de imagens, uma resolução é dada como w X h.
Michael Nielsen
@MichaelNielsen O que "imagem em escala de cinza esperada"? Existem muitos métodos diferentes para converter em escala de cinza. A pergunta não especificou uma abordagem de ponderação igual. Em segundo lugar, se você tivesse um detector linear e reduzisse pela metade o número de amostras, o poder de resolução, ou seja, a quantidade máxima de detalhes detectável seria reduzida pela metade, você não diria que ele foi reduzido por um fator da raiz 2. A partir disso, é lógico que se você tiver um campo 2D de detectores (como um sensor de imagem) e reduzir pela metade o número de amostras nas duas direções, deixando-o com um quarto, diria que a resolução foi reduzida em um fator de 4.
Matt Grum
se você dividir pela metade apenas o eixo x ou y, terá resoluções diferentes em cada direção, impedindo a capacidade de contar uma resolução total em termos de MP e calculando um único fator "/ 2 de resolução". Claro. as lentes também não têm resolução igual, mas os fabricantes de sensores têm o orgulho de anunciar que hoje em dia seus pixels são quadráticos e quadrados, produzindo resolução igual nas duas direções, ou seja, resolução de 640x = 480y. Veja como o próprio número de pixels não significa nada. 640 é a mesma resolução 480.
Michael Nielsen
2
Escala de cinza: eu não disse o mesmo peso. E eu sei que existem muitas versões em escala de cinza diferentes, mas posso apostar que R, G ou B não é uma das esperadas pelo OP. A mais alta provável é a versão de 0,11 * b + 0,59 * g + 0,3 * r.
Michael Nielsen
8

Você precisa do algoritmo demosaico, mesmo se converter uma imagem em P&B.

Uma razão para isso é bastante simples - caso contrário, você obteria artefatos de subpixels em todo o lugar. Você precisa perceber que a imagem gravada pelo sensor é bastante confusa. Vamos dar uma olhada na amostra da Wikipedia :

demosaicing

Agora imagine que não fazemos nenhuma remoção de degelo e apenas convertemos RAW em escala de cinza:

escala de cinza

Bem ... você vê os buracos negros? Pixels vermelhos não registraram nada em segundo plano.

Agora, vamos comparar isso com a imagem desmembrada convertida para a escala de cinza (à esquerda):

normal vs quebrado

Você basicamente perde detalhes, mas também perde muitos artefatos que tornam a imagem bastante insuportável. A ignorar a demosaicing também perde muito contraste, devido à maneira como a conversão em preto e branco é realizada. Finalmente, os tons de cores que são in-between cores primárias pode ser representada de maneiras bastante inesperadas, enquanto as grandes superfícies de vermelho e azul vai estar em 3/4 em branco.

Eu sei que é uma simplificação, e você pode ter como objetivo criar um algoritmo que seja simplesmente: mais eficiente na conversão de RAW para P&B, mas o que quero dizer é:

Você precisa de uma imagem colorida computada para gerar tons corretos de cinza na fotografia em preto e branco.

A boa maneira de fotografar em preto-e-branco é removendo completamente a matriz de filtros de cores - como a Leica fez no Monochrom - e não alterando a conversão RAW. Caso contrário, você obterá artefatos, ou falsos tons de cinza, ou diminuirá a resolução ou todos eles.

Acrescente a isso o fato de que a conversão RAW-> Bayer-> P&B oferece muito mais opções para aprimorar e editar imagens, e você tem uma solução excelente que só pode ser derrubada pela construção de sensores dedicados. É por isso que você não vê conversores B&W RAW dedicados que não voltariam a desmosaificar em algum lugar do processo.

MarcinWolny
fonte
1

As câmeras de visão de máquina com filtros bayer podem fornecer imagens em escala de cinza diretamente, mas fazem isso desmoldando, convertendo para YUV e enviando apenas o canal V (os que eu normalmente uso pelo menos). Se eles tivessem uma maneira melhor de contornar essa reconstrução de cores, acho que sim, pois estão constantemente pressionando as taxas de quadros (a câmera típica que eu uso roda a 100FPS, por exemplo).

Se você ignorar a remoção de cor baseada em cores, poderá obter a metade da resolução e a média ponderada de cada quadrante 2x2, mas se você quiser resolução total, é melhor usar o algoritmo de remoção de cor normal, que tenta preservar melhor as bordas. Se sabemos que queremos a escala de cinza, obtemos uma câmera monocromática desde o início, coloquemos um filtro de cor se procurarmos uma determinada cor, pois essa configuração é muito superior na qualidade da imagem, reduzindo a necessidade de superamostragem de resolução, o que, por sua vez, permite uso de um sensor rápido de baixa resolução com pixels maiores, que por sua vez fornece uma imagem ainda melhor.

Michael Nielsen
fonte
Você escreveu: "convertendo para YUV e enviando apenas o canal V" Certamente você quer dizer enviar o canal Y, pois Y é o canal de luminância.
TopCat
1

O efeito dos filtros de cores sobre cada poço de pixel na camada Bayer é o mesmo que gravar filmes em preto e branco com filtros de cores sobre a lente: altera a relação dos níveis de cinza de várias cores na cena que está sendo fotografada. Para obter um nível preciso de luminância para todas as cores da cena, os sinais de cada pixel devem ser desmosaicos. Como outros já mencionaram, um sensor sem camada Bayer produziria uma imagem monocromática que não precisa ser desmosaizada. Isso deve resultar em melhor nitidez da imagem se o círculo de confusão da lente for igual ou menor que a largura de cada pixel.

Em termos práticos, notei várias coisas convertendo arquivos RAW para monocromáticos usando o Digital Photo Professional (DPP) da Canon.

  1. O ajuste do balanço de branco pode efetuar uma alteração na luminância geral percebida da mesma maneira que o ajuste de contraste. Como tal, ele pode ser usado para ajustar o contraste.
  2. O balanço de branco também afetará a luminosidade relativa de cores diferentes na cena. Isso pode ser usado para ajustar a aplicação dos efeitos de filtro "Laranja", "Amarelo", "Vermelho" etc. O vermelho parece ser o mais afetado por isso e é muito mais escuro em 2500K do que em 10000K. Surpreendentemente, pelo menos para mim, é que o tom azul não demonstra o contrário.
  3. Como, para todos os efeitos práticos, não há ruído de crominância em uma foto em preto e branco, ela pode ser deixada em "0".
  4. A ferramenta de máscara não afiada dará muito mais controle sobre a nitidez do que o controle deslizante "Nitidez" mais simples. Especialmente se você tiver alguns pixels "quentes" ou "quentes" na imagem, poderá aumentar a nitidez geral sem enfatizá-los.

Abaixo estão duas versões da mesma exposição fotografada em uma Canon 7D com uma lente EF 70-200mm f / 2.8L IS II e um teleconversor Kenco C-AF 2X Teleplus Pro 300. A imagem foi cortada para 1000X1000 pixels. O primeiro foi convertido usando as configurações da câmera mostradas abaixo. O segundo foi editado com as configurações mostradas na captura de tela. Além da guia RAW, foi aplicada uma configuração de Redução de ruído de luminância de 2, assim como um valor de Aberração cromática de 99.

Moon - sem edição

Informações na câmera

Moon - editado

Definições

Michael C
fonte
0

Eu proporia um algoritmo como esse (presume que seu alvo seja branco e tenha temperatura de cor consistente):

  • Demosaico RAW Bayer para RGB
  • Reduzir a cor da escala de cinza
  • Crie uma LUT entre os valores brutos da camada e os valores da escala de cinza (isso precisaria ser realizado uma vez por plano de cor RGGB ou RGB)
  • Use o filtro LUT por cor para transformar o RAW Bayer diretamente em escala de cinza sem filtragem entre pixels

Em teoria, isso abordaria os resultados de um verdadeiro sensor monocromático.

Elliot Woods
fonte