3.3 Local Operators(局部色調算子)

目錄

 

3.3局部色調算子

3.3.1空間非均勻尺度

3.3.2攝影色調複製


3.3Local Operators(局部色調算子)

通過嘗試重現局部和全局對比度,局部比全局提高了色調映射圖像的質量。 局部色調映射考慮到要進行色調映射的像素周圍的鄰域的局部統計信息來實現。 但是,必須仔細選擇鄰居,即僅選擇相似像素或屬於相同區域的像素。 否則,局部統計數據將產生光暈僞影; 參見圖3.10(b)。 這通常發生在邊緣周圍,這些邊緣將強度和/或顏色值不同的區域分開。 注意,當需要注意特定區域時,有時會需要光暈[235],但是如果該現象不受控制,則可能會產生令人不適的圖像。

3.3.1空間非均勻尺度

Chiu等人[90]提出了第一個試圖保持局部對比的算子。TMO通過相鄰像素的平均值來縮放場景亮度,定義爲:

其中s(x)是用於計算鄰近像素局部平均值的尺度函數,定義爲:

其中Gσ是一個高斯濾波器,k是一個定標最終輸出的常數。 該運算符的一個問題是,雖然較小的σ值會產生非常低的對比度圖像(請參見圖3.10(a)),但是較高的σ值會在圖像中產生光暈; 參見圖3.10(b)。 光暈在非常亮和非常暗的區域之間的邊緣處引起,這意味着s(x)> Lw(x)-1。 爲了減輕這種情況,如果s(x)> Lw(x)-1,則將像素值鉗位到Lw(x)-1。 在這一點上,s仍可能具有陡峭梯度形式的僞影,其中s(x)= Lw(x)-1。 一種解決方案是使用3×3高斯濾波器迭代平滑。 參見圖3.10(d)。 最後,操作員通過模擬眩光來掩蓋其餘的光暈僞影,該眩光由低通濾波器建模。 

運算符提供了第一個局部解,但是減輕暈圈(在平滑步驟中進行約1,000次迭代)在計算上非常大。 還有許多參數需要調整,最終光暈會降低,但由於夾緊,平滑步驟和眩光而無法完全消除。

圖3.10。 Chiu等人介紹的本地TMO示例。 [90]應用於地窖HDR圖像:(a)σ= 4的簡單算子。在保留局部對比度的同時,全局對比度完全丟失,從而導致色調映射圖像的平整外觀。 (b)σ= 32的簡單算子。在這種情況下,會保留局部和全局對比度,但是光暈在圖像中非常明顯。 (c)具有夾緊(2,000次迭代)和σ= 32的TMO。減少了光暈,但並未完全消除。 (d)具有眩光模擬和σ= 32和鉗制(2,000次迭代)的完整TMO。 請注意,眩光用於嘗試掩蓋光暈。

清單3.13提供了Chiu等人的運算符[90]的MATLAB代碼。完整的代碼可以在ChiuTMO.m文件中找到。該方法將比例函數的參數(例如比例因子c k)作爲輸入。 c sigma代表高斯濾波器Gσ的標準偏差; c鉗位,即減少光暈僞像的迭代次數;並且,選擇眩光過濾眩光的參數(結構)。第一步是使用函數GaussianFilter.m使用高斯濾波器(方程(3.21)中的Gσ)對亮度L進行濾波,該函數可在文件夾util中找到。過濾結果的倒數存儲在變量s中。在c鉗位高於0的情況下,將減少暈圈僞影的迭代過程應用於s。在先前的濾波過程(平滑約束)之後,僅對仍未固定爲1的像素執行此操作。 indx存儲模糊輸入HDR亮度中仍高於1的像素索引。爲了遵守平滑約束,將索引indx in s的像素替換爲變量L inv的值。

變量L inv存儲輸入HDR亮度的取反值,該值對應於s(x)> Lw(x)-1情況下第一濾波步驟的輸出。 這樣,僅這些像素值將被迭代過濾。 通過將濾波器H應用於更新的s變量,最終確定平滑步驟。 一旦計算出比例函數並以s存儲,就可以通過應用公式(3.21)獲得動態範圍減小。 如果眩光常數因子大於0,則會計算眩光。這是以經驗方式執行的,其中使用文件夾Tmo / util中的函數ChiuGlare.m僅考慮開花效果。

3.3.2攝影色調複製

Reinhard等人介紹了基於攝影原理的局部映射。 [323]。 這種方法模擬了攝影師使用一個多世紀以來的燃燒和閃避效果。 特別是,映射受到亞當斯[4]提出的分區系統的啓發。

算子的全局分量是一個主要壓縮高亮度值的函數,定義爲:

其中Lm是按aL-1 w,H縮放的原始亮度,而a是在攝影類比中爲膠片顯影選擇的曝光量,可以自動估算[321]。 Lw,H是對數平均值,它是場景關鍵點值的近似值。 鍵值可以主觀指示場景是明亮,正常還是黑暗。 這在區域系統中用於預測場景亮度將如何映射到一組打印區域[323]。請注意,在等式(3.22)中,雖然壓縮了較高的值,但其他值則線性縮放。 但是,公式(3.22)不允許燒掉明亮的區域,因爲攝影師可以在膠片顯影過程中增強對比度。 因此,可以將公式(3.22)修改爲:

其中Lwhite是映射到white的最小亮度值,默認爲max。如果Lwhite < Lm, max,大於Lwhite的值被夾住(在攝影類比中燒燬)。

圖3.11。 Reinhard等人的照相色調再現算子的一個例子。 [323]:(a)Φ= 4,α= 0.05,Lwhite = 106 cd / m2的局部算子方程(3.26)。 (b)Φ= 4,α= 0.05且將Lwhite設置爲窗口亮度值的局部算子方程(3.26)。 請注意,此設置會燒盡窗口,爲攝影師提供更多控制。

可以爲公式(3.22)和公式(3.23)定義本地運算符。 這是通過找到沒有銳利邊緣的最大局部區域來實現的,從而避免出現光暈僞影。 可以通過比較不同大小的高斯濾波Lm圖像來檢測該區域。 如果差異很小或趨於零,則沒有邊緣;反之,則趨於零。 否則有。 比較定義爲

其中Lσ(x)=(Lm⊗Gσ)(x)是標度σ的高斯濾波圖像,而ǫ是一個大於零的小值。 請注意,對濾波後的圖像進行歸一化,使其與絕對值無關。 項2Φaσ-2避免了奇點,a和Φ分別是關鍵值和銳化參數。 一旦爲每個像素計算出滿足公式(3.24)的最大σ(σmax),就可以將全局算子修改爲局部的。 例如,將等式(3.22)修改爲

同理,方程(3。23):

其中Lσmax(x)是在圖像像素周圍最大鄰域(σmax)上計算的平均亮度。 在圖3.11中可以看到公式(3.26)的示例,其中燃燒參數Lwhite發生了變化。 攝影色調再現算子是保留邊緣的本地算子,避免出現光暈僞像。 另一個優點是它不需要將校準圖像作爲輸入。 清單3.14,清單3.15和清單3.16提供了Reinhard等人的MATLAB代碼。 [323] TMO。 完整代碼可以在ReinhardTMO.m文件中找到。 該方法將參數pAlpha作爲輸入,該參數爲圖像a的曝光值,即將映射到與Lwhite對應的純白色pWhite的最小亮度,布爾值pLocal決定要應用哪個運算符(0-全局或 1-局部),對應於Φ的銳化參數phi作爲輸入。

代碼的第一部分計算縮放亮度步長(清單3.14)。 首先,驗證用戶設置的輸入參數。 之後,從HDR輸入圖像讀取亮度,並計算對數平均值並將其存儲在Lwa中。 最後,對亮度進行縮放並存儲在L中。在將Boolean pLocal變量設置爲1的情況下,執行局部步驟。使用MATLAB過濾縮放後的亮度L。

函數ReinhardGaussianFilter.mand使用公式(3.24)中的條件來識別包含像素周圍最大鄰域的比例sMax(代表σmax)。 最後,L Adapt存儲Lσmax(x)的值。

在最後一步中,將pWhite設置爲HDR輸入圖像的最大亮度,該亮度按aL-1 w,H縮放,並執行動態範圍的最終壓縮。 根據使用的是全局運算符還是局部運算符,它等效於公式(3.23)或公式(3.25)。

Ashikhmin [27]提出了一種在保留邊緣和避免光暈方面與照相色調再現操作器具有類似機制的操作器。 但是,此運算符根據用戶的目標提供了兩種不同的範圍壓縮功能,它們既可以保留局部對比度,也可以保留視覺對比度。 保留局部對比度的功能定義爲:

其中f是色調映射函數,Lw,a(x)是局部亮度適應,Lw(x)是像素位置x的亮度。 保留視覺對比度的功能定義爲:

其中TVI是一個簡化的閾值與強度函數:

其中x是以cd / m2爲單位的亮度值。 音調映射函數f基於感知尺度必須統一的原理。 因此,場景亮度根據它們在相應的感知標度中的相對位置映射到顯示亮度[27]:

其中Ld,max是顯示設備的最大亮度(通常爲100 cd / m2)。 局部適應亮度Lw,a(x)的估計基於平衡兩個要求的原理,例如保持局部對比信號具有合理的範圍,同時保持有關圖像細節的足夠信息[27]。 該原理導致對足夠均勻的最大鄰域求平均值,而不會產生過多的對比度信號(可視化爲僞像)。 這與Reinhard等人提出的機制類似,請參見圖3.12,比較這兩個算子。

圖3.12。 Reinhard等人在TMO之間進行了比較。 [323]和Ashikhmin [27]提出的一個應用於Bottles HDR圖像:(a)Reinhard等人的本地運營商。 [323]。 (b)Ashikhmin的本地運營商[27]。 請注意,在兩個圖像中同樣保留了細節。 主要區別在於全局音調功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章