Os sensores Bayer usam um padrão de pixels vermelho, verde e azul e os mesclam em uma imagem colorida final, com um pixel para cada sensor de cor . Isso poderia ser feito através de uma mistura "ingênua" de sensores vizinhos, mas ouvi falar de abordagens mais complicadas com nomes como AHD, HPHD e AMaZE.
Quais são essas outras abordagens e quais vantagens elas trazem? Eles têm pontos fracos além da complexidade da computação?
Imagino que a abordagem usada para o JPEG na câmera seja mais rigorosamente protegida, mas claramente muita pesquisa e desenvolvimento entra nessa área. O poder limitado de processamento disponível na câmera força algum comprometimento nessa área?
raw
sensor
algorithms
interpolation
demosaicing
mattdm
fonte
fonte
Respostas:
Há alguns meses, fiquei surpreso ao descobrir que minha câmera de visão por computador SDK usava a "interpolação" do vizinho mais próximo em sua função de incorporador. É o tipo mais rápido, mas o pior, fornecendo arestas duras, especialmente quando você começa a fazer cálculos nos canais de imagem para constância de cores ou invariância de brilho. Eu encontrei esta revisão de algoritmos:
http://www.arl.army.mil/arlreports/2010/ARL-TR-5061.pdf
O próximo passo é a interpolação bilinear e bicúbica, que pode ser calculada com bastante rapidez, porque se trata apenas de núcleos de convolução. Eles proporcionam dentes de serra coloridos em bordas inclinadas - bilineares mais que bicúbicas.
Pode ser visto neste artigo, e com dados de qualidade quantificados em 5 algoritmos diferentes:
http://research.microsoft.com/en-us/um/people/lhe/papers/icassp04.demosaicing.pdf
É por isso que eles fizeram interpolações baseadas na direção da borda. No entanto, eles tratam o verde como um "canal importante" (já que ele tem a melhor resolução e é responsável pela maior parte da nossa sensibilidade visual e da resolução dos olhos). E então eles criam azul e vermelho em função do canal verde, preservando a tonalidade. Isso, por sua vez, torna o conteúdo de alta frequência do canal verde mais propenso a erros. A complexidade é maior, pois eles precisam detectar o que está acontecendo e exigir vários passes. Moiré e milho são artefatos comuns desses tipos de interpolação.
Aqui eles mostram exemplos de desmossificação adaptativa da homogeneidade e versões bilineares com e sem addons de preservação de matiz e preservação de borda:
http://math.auburn.edu/~kilgota/ahd_bayer.pdf
Esse artigo favorece o AHD e não mostra a parte negativa. Nesta página, você pode ver os diferentes artefatos de padrão de Desmossificação adaptativa da homogeneidade, agrupamento de pixels padronizados e número variável de gradientes (passe o mouse sobre os nomes):
http://www.ruevski.com/rawhistogram/40D_Demosaicing/40D_DemosaicingArtifacts.html
Em resumo, existem várias suposições empregadas nesses algoritmos, e os artefatos ocorrem quando a suposição não é válida:
fonte
Comecei a brincar um pouco com isso e descobri que a abordagem ingênua não é tão ruim assim. Isso é simplesmente tratar cada cor separadamente e interpolar para obter os pixels intermediários. A principal desvantagem disso é que, se você estiver espiando pixels em um local com alto contraste, poderá ver um pouco de cor. Dito de outra forma, se você tiver uma área cinza clara adjacente a uma área preta, verá alguns pixels coloridos no limite. Felizmente, esses valores são médios em geral, mas se a borda é quase vertical ou quase horizontal, eles são médios com baixa frequência. O mesmo efeito pode ser ainda mais óbvio em linhas finas e brilhantes que são quase verticais ou horizontais.
Aqui está um exemplo. Esta foto foi tirada deliberadamente como uma foto de teste:
Observe a aparente faixa da linha de acabamento cromado. Para colocar isso em perspectiva, aqui está o quadro completo:
Pensei em uma abordagem alternativa, mas até agora sempre houve outras coisas a fazer primeiro. Este esquema procuraria encontrar apenas o brilho primeiro. Este seria o único canal de dados da imagem se a imagem fosse em preto e branco. Cada sensel contribui um pouco para isso, embora as cores não contribuam igualmente. Depois que a intensidade é determinada, você interpola as cores como no método ingênuo, mas use o resultado apenas para definir as cores de maneira a preservar a intensidade. A intensidade teria maior largura de banda ou seria mais nítida em termos fotográficos do que as informações de tonalidade. A TV analógica usou esse truque para reduzir os requisitos de largura de banda de uma imagem colorida. Eles se safaram porque o sistema visual humano dá uma importância maior à intensidade do que as cores, principalmente o vermelho.
Enfim, esses são apenas alguns pensamentos. Como eu disse, eu ainda não tentei isso ainda nem trabalhei nos detalhes. Algum dia.
fonte
Entendo que as diferentes versões de processo no Lightroom (até agora temos 2003, 2010 e 2012) correspondem, entre outras coisas, a diferentes algoritmos de desmosaicing. Outro software interessante é o UFRaw, que oferece o seguinte (citação da página):
Após definir o balanço de branco, o UFRaw interpola o padrão Bayer.
Isso poderia fornecer algum material para experimentar. A propósito, o UFRaw parece ser de código aberto, o que permite que você espreite os algoritmos.
fonte
Na astrofotografia, este tópico é investigado profundamente, porque ao usar um sensor de cor de uma única foto, há muita perda de resolução por desbaste. Por outro lado, o uso de um arquivo RAW ainda obtém acesso aos dados originais e pode ser processado antes do aplicativo em cores. Este tópico se aproxima do lado do software.
Em resumo, se você tiver acesso a muitas imagens com os mesmos dados de assunto (o que é algo feito para reduzir o ruído do sensor), você pode trocar uma conversão de quadro único com o AHD para uma abordagem de garoa que pode recuperar a resolução perdida. A escolha depende do tipo de dados de origem que você tem disponível. A maioria dos fotógrafos tem apenas uma imagem para usar.
Alguns softwares que usei com opções para processos de Debayering são: Deep Sky Stacker e Pix Insight. Há outros também. Muitos são baseados no DCRAW .
Aqui está o link para o artigo na página do Deep Sky Stacker, onde eles discutem algumas das opções: Opções de debayering
fonte