Local Adjustment of Tonal Values - Technique

Image Processing - Anna Regina Corbo - corbo@impa.br

 

O projeto segue o seguinte workflow:

(i) Escolha uma imagem: um mapa de radiancia HDR ou imagem simples LDR;

(ii) Indique com strokes as regiões da imagem que necessitam de ajuste tonal;

(iii) Experimente com os parâmetros de ajuste disponíveis (exposição, saturação e brilho) até obter resultados satisfatórios.

 

A escolha dos pixels a serem modificados, é baseada numa métrica pré-definida. Na implementação foram utilizadas três tipos de métricas: 

(i) Luminância (L). 

Seja m a luminâcia média dos pixels selecionados via stroke e um valor definido pelo usuário. Se o pixel p tem luminância L tal que |m-L|<s, então o pixel p será modicado;

(ii) Luminância-crominância(LC).

Para o pixel p ser modificado, a luminância e a crominância de p deve ser similar a luminacia média e a crominancia média dos pixels selecionados, isto é, devem distar a menos de uma fator definido a priori.  

(iii) Luminância-distância (LD). 

Nesta métrica, um pixel p é modificado se possui luminâcia similar a luminância média dos pixels selecionados e se está há uma determinada distância destes pixels. 

 

A alteração local de tone mapping numa imagem se dá a partir de um método edge-preserving de minimização de energia: 

Seja f a função escalar que especifica o quanto o parâmetro P será ajustado em cada pixel. É desejável que f se aproxime da especificação dada pelo usuário e que f seja o mais suave possível. Deste modo, o objetivo é minimizar o funcional:

onde w é a função-peso que indica que pixels serão modificados de acordo com a métrica escolhida; g é o valor já modificado nos pixels selecionados via stroke; o segundo termo é o smoothing term cujo o objetivo é manter o gradiente pequeno, de modo a tornar a ajuste suave. O smoothing term usado é 

onde L é o canal log-luminância da imagem; x e y representam as derivadas parciais das funções f e L. O expoente a controla a sensibilidade deste termo; e é uma constate para evitar divisões por zero; l controla o peso relativo entre os dois termos do funcional f.

Usando o método das diferenças finitas para as derivadas parciais de f obtêm-se a expressão quadrática de f, cujo o mínimo é obtido pelo solução do sistema linear Af = b, onde:

 

e bi = wi.gi. Aqui os índices i e j representam os pixels i e j da imagem e N4(i) são os 4-vizinhos do pixel i.

A matriz A acima é esparsa, simétrica, positiva, definida e tem os valores não-nulos distribuidos numa vizinhança da diagonal da matriz. Deste modo, na solução deste sistema é possível utilizar técnicas de Análise Numérica de modo a garantir a estabilidade da solução a um custo computacional reduzido.

Para a solução do sistema foi utilizado o método iterativo de Gradientes Conjugados(CG). Este método possui boa convergência para sistemas pequenos porém, em sistemas grandes, para uma convergência robusta é necessário o uso de (bons) precondicionadores - método de Gradientes Conjugados Precondicionados(PCG). 

Aqui, o precondicionador foi obtido através de uma  Fatorização Incompleta de Cholesky na matriz A e além das características acima, o precondicionador independe do tempo, isto é, é calculado somente uma vez, independentemente de quantas vezes o usuário adiciona ou retira os strokes da imagem. 

De fato, a matriz A pode ser escrita como:

onde W = diag(w1, ..., wn) é a matriz diagonal de pesos de cada pixel. 

A matriz L depende somente da imagem original logo, somente W é alterada a cada novo stroke. Então, é calculada a Fatorização Incompleta de Cholesky na matriz fixa L + I, onde I é a matriz identidade, ao invés de calcular a fatorização na matriz A para cada novo stroke.  A matriz fatorada resultante é usada como precondicionador em todas as chamadas do PCG e mostrou-se mais eficiente do que a fatorização de A.  

 

Introduction Technique Results References Downloads

início