[論文閱讀] ALM-HCS(高對比場景自適應(yīng)對數(shù)映射)

文章: Adaptive Logarithmic Mapping for Displaying High Contrast Scenes

1. 論文目的

將高動態(tài)范圍圖像映射到機器可以顯示的動態(tài)范圍, 作者提出了幾個要求:

The design of our tone mapping technique was guided by a few rules.

  1. It must provide consistent results despite the vast diversity of natural scenes and the possible radiance value inaccuracy found in HDR photographs.
  2. Additionally, it should be adaptable and extensible to address the current capabilities ofdisplaying methods and their future evolution.
  3. Tone mapping must capture the physical appearance of the scene, while avoiding the introduction of artifacts such as contrast reversal or black halos.
  4. The overall brightness of the output image must be faithful to the context. It must be “user-friendly” i.e., automatic in most cases, with a few in- tuitive parameters which provide possibility for adjustments.
  5. It must be fast for interactive and realtime applications while avoiding any trade-off between speed versus quality

總結(jié)起來就是:

  1. 具有普適性, 對所有圖像都能適用, 而不是僅適用于某些特定的圖像;
  2. 具有自適應(yīng)性, 可以根據(jù)圖像自身的情況調(diào)整參數(shù);

2. 論文方法

論文方法歸納起來就是自適應(yīng)對數(shù)變換(Adaptive Logarithmic Mapping) + gamma校正, 同時滿足上述要求:

  1. 對于普適性, 論文中使用公式1, 將圖像輸出調(diào)整[0, 1], 再根據(jù)需要調(diào)整需要顯示的動態(tài)范圍(一般是[0,255]).
image
  1. 對于自適應(yīng)性, 論文中使用對數(shù)變換 log_{base}(L_w+1) 來對圖像的對比度進行調(diào)整, 其中, base 是根據(jù)圖像自身的信息來進行調(diào)整的.

論文中的公式4就是上述過程的綜合:

image

其中, Lw為圖像中每個像素的亮度, Lwmax為圖像中亮度最大值, Ldmax為顯示最大值, 一般 Ldmax*0.01=1, 參數(shù)b對數(shù)函數(shù)的基底進行調(diào)整.

然后使用gamma校正來進一步調(diào)整圖像. 因而論文方法步驟可以概括為:

  1. 自適應(yīng)對數(shù)變換;
  2. gamma校正;

3. 論文核心

3.1 場景亮度映射到圖像亮度-縮放因子很關(guān)鍵

論文中使用了一個縮放因子來調(diào)整圖像映射后的整體亮度, 根據(jù)論文中的說明, 公式1可以更改為:

image

其中, 參數(shù) Lwa 是很關(guān)鍵的, 這個會影響到圖像最終的亮度, 如下圖所示為上述公式的在不同 Lwa 下的曲線:

image

圖中, 最上邊藍色的曲線為 Lwa=1 的情況, 與公式1是完全一樣的. 我們可以看到, Lwa=1 時, 曲線斜率很大, 映射后像素的亮度值會增加很大, 會導(dǎo)致圖像整體偏亮, 對比度降低, 所以必須要有這個縮放因子.

如下所示圖像測試結(jié)果(從左到右依次為: 原圖, lwa=1的圖像, lwa=50的圖像):

image

可以看到, 當Lwa=1 時, 圖像亮度亮度過高, 對比度低.

3.2 自適應(yīng)對數(shù)映射-基底很關(guān)鍵

為方便理解, 這里將公式4調(diào)整為如下公式:

image

其中, Ldmax*0.01=1 省略了, 然后利用文中的換底公式2(log_{base}(x)=log(x)/log(base)), 可以將上式變換成公式4.

從上述調(diào)整后的公式可以看到, 對數(shù)變換的基底 base 很重要, 下圖為論文中給出的 log2(左圖) 和 log10(右圖) 的對比效果:

image

從圖中可以看到:

  • log2 時圖像整體偏亮, 對比度更強, 如右上角的暗部區(qū)域細節(jié)增強較好, 但對于較亮的區(qū)域, 如幾個窗戶則過度增強了, 出現(xiàn)了飽和, 丟失了細節(jié);
  • log10時圖像整體偏暗, 對比度要低一些, 如右上角的暗部區(qū)域細節(jié)沒有得到很好的增強, 但對于較亮區(qū)域的細節(jié)則保持的很好, 如幾個窗戶的細節(jié)清晰;

因而, 如果使用固定的基底, 則適應(yīng)所有圖像, 不具備普適性, 所以基底很重要, 需要具有自適應(yīng)性.

這里對自適應(yīng)性說明一下:

  • 當亮度 Lw 越小, 公式中計算出來的基底 base 就越小, 對數(shù)變換 log_{base}(L_w+1) 的值就越大, 亮度增加的越多;
  • 當亮度 Lw 越大, 公式中計算出來的基底 base 就越大, 對數(shù)變換 log_{base}(L_w+1) 的值就越小, 亮度增加的越少;

對于不同的亮度, 計算出來的基底在[2,10]內(nèi)取值, 因而可以做到自適應(yīng).

3.3 gamma校正

在自適應(yīng)對數(shù)變換后, 論文中還使用了gamma校正來進一步調(diào)整圖像亮度, 原因應(yīng)該就是論文中的自適應(yīng)對數(shù)變換效果還不夠好. 論文中使用的gamma變換為ITU-R BT.709的改進, 其公式如下所示:

image

下圖所示為論文中方法實現(xiàn)的效果, gamma=2.2:

image

上圖依次為原圖, 自適應(yīng)對數(shù)變換, 自適應(yīng)對數(shù)變換+gamma校正, 可以看到, 自適應(yīng)對數(shù)變化的效果還不夠好, 需要使用gamma校正來進一步提高圖像效果.

4. 核心參數(shù)說明

4.1 縮放因子lwa

論文中使用場景亮度均值 Lwa 作為景亮度到圖像亮度的縮放因子, 這是由于圖像顯示的整體亮度由場景的整體亮度決定的, 從3.1中的曲線圖可以看到, 處理后圖像的亮度與 lwa 成反相關(guān):

  • lwa 越小, 處理后圖像越亮提升越多
  • lwa 越大, 處理后圖像越亮提升越少

上面的關(guān)系可以這么來解釋: Lwa 越小, 場景亮度越低, 亮度需要提高的就越多; Lwa 越大, 場景亮度越高, 亮度需要提升的就越少. 如下圖所示為不同 Lwa 的效果, b固定為0.85, 依次為50, 100, 150:

image

從圖中可以看到, 圖像的亮度是依次降低的. 同時從3.1中的曲線圖可以看到, Lwa 越大, 變換曲線越接近于直線, 起到的作用也就越低.

4.2 偏置參數(shù)b

來看看參數(shù)b對圖像亮度的影響, 如下圖所示為公式4在不同參數(shù)b的情況:

image

從上圖可以看到, b的情況與lwa情況有點類似, 都與圖像亮度成反相關(guān):

  • b越小, 斜率越大, 處理后圖像亮度提升越多
  • b越大, 斜率越小, 處理后圖像亮度提升越少

但b不能小于0.7. 從上圖可以看到, 當b<0.7是, 曲線不是單調(diào)函數(shù), 且最終結(jié)果會大于1, 這樣處理后的圖像有副作用, 如圖像太亮, 且不能保持圖像中像素的相對大小. 論文中作者推薦b=0.85.

如下圖所示為不同b的效果, lwa固定為亮度均值, 依次為0.5, 0.7, 0.9:

image

從上圖可以看到, 當b=0.5時, 處理后圖像并沒有太亮, 且也沒有出現(xiàn)副作用, 可能是由于lwa影響了b的效果.

4.3 lwa 與 b關(guān)系

從公式4中可以看到, 并沒有l(wèi)wa, 這里對公式改寫如下:

image

下圖為更改后, 不同參數(shù)的情況(b=0.5, 0.6, 0.7, 0.8, 0.9, 1.0):

image
image

從圖中可以看到, lwa的效果比b的效果要明顯些. 為了保持處理后的圖像亮度的穩(wěn)定性, 作者使用了如下公式來調(diào)整lwa:

image

對于公式4, b越小, 處理后圖像越亮, 使用上述公式后, lwa越大, 圖像亮度越小, b使圖像亮度增加, lwa使圖像亮度降低, 二者相互抵消. 如下圖所示:

image

從圖中可以看到, 圖像亮度基本是恒定的, 但效果不是很理想, 因而還需要后續(xù)進行g(shù)amma校正處理.

4.4 最大數(shù)對數(shù)基底

如公式4中, 對最大數(shù)取對數(shù)時, 使用基底為10, 至于為什么取10, 論文中給出的解釋是:

In the denominator decimal logarithm is used since the maximum luminance value in the scene is always re-sampled to decimal logarithm by the bias function.

而真正的原因應(yīng)該是自適應(yīng) base 的取值為[2,10], 最大數(shù)對數(shù)基底要取這個里面的最大值, 否則得到最大數(shù)就被放大, 會壓縮圖像的亮度. 如下所示為基底為2的情況:

image

從圖中可以看到, 當最大值對數(shù)取基底為2時, 處理后圖像亮度沒有達到最大值1, 圖像亮度被壓縮.

4.5 參數(shù)設(shè)置小結(jié)

對于上述分析, 這里總結(jié)下:

  • 縮放因子lwa: 取圖像亮度均值, 對處理后圖像亮度影響較大, 對于較暗圖像, 處理效果不是太理想, 需結(jié)合gamma校正;
  • 參數(shù)b: 配合lwa使用, 對處理后圖像亮度影響沒有l(wèi)wa大;
  • 最大數(shù)對數(shù)基底: 需取base取值范圍內(nèi)的最大值, 否則圖像亮度會被壓縮;
  • gamma校正: gamma值, 目前僅測試了gamma=2.2, 根據(jù)圖像亮度進行調(diào)整(需研究方法)效果應(yīng)該會更好;

5. 最終實現(xiàn)

5.1 效果

使用參數(shù)為: lwa=亮度均值, b=[0.5, 0.7, 0.9], gamma=2.2, 最大數(shù)對數(shù)為log10, 最終效果如下(從左到右依次為: 原圖, b=0.5, b=0.7, b=0.9):

image

5.2 代碼

作者開源了代碼, 詳見這里: http://resources.mpi-inf.mpg.de/tmo/logmap/. 這里使用matlab實現(xiàn)了, 代碼如下:

img_path = './src/test.jpg';
rgb = imread(img_path);
alm = alm_hcs(rgb);
alm_g = double(alm) / 255;
alm_g = gamma_function(alm_g, 2.2);
alm_g = uint8(alm_g * 255);
impair = cat(2, rgb, alm, alm_g);
imshow(impair)
function [alm] = alm_hcs(rgb, b, lwa)
rgb = double(rgb);
% RGB轉(zhuǎn)XYZ
xyz = colorConvert(rgb, 'rgb2xyz');
Y = xyz(:,:,2);

lwa = lwa / (1 + b - 0.85) ^ 5;
Y = Y / lwa;
lwmax = max(Y(:));
bias_p = log(b)/log(0.5);
div = log10(lwmax + 1);
base = 2 + power(Y / lwmax, bias_p) * 8;
Y_new = log(Y + 1) ./ log(base) / div;

% 同比例處理X,Z通道
scalefactor = Y_new ./ Y / lwa * 255;
scalefactor(Y == 0) = 0;
scalefactor = cat(3, scalefactor, scalefactor, scalefactor);
alm = scalefactor .* xyz;
alm = max(min(alm, 255), 0);

% XYZ轉(zhuǎn)RGB
alm = colorConvert(alm, 'xyz2rgb');
alm = uint8(alm);

end

唯一覺得美中不足是, 論文使用的是全局映射, 沒有考慮局部信息來進一步增加對比度.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容