HDR色調映射學習(一)

色調映射學習(一)

  1. 摘要
      HDR技術當前發展迅速,各大手機廠商將其視爲重要的評價標準,未來也會成爲圖像和視頻的主流。通常捕獲圖像後,需要對圖像和視頻進行顯示,不幸的是,標準顯示的數據遠遠低於真實場景中可能發生的數據。雖然有限的高HDR顯示器確實存在,但標準的LDR顯示器繼續主導市場。所以如何讓HDR圖像與視頻也能夠同時兼容地在現有的LDR顯示設備上顯示,是非常重要的技術挑戰。色調映射技術就是用來實現將HDR源信號轉換到LDR源信號的技術。因此,色調映射作爲一種針對硬件限制的軟件解決方案仍然很重要。圖一左邊是LDR技術顯示的圖像,右邊的HDR技術顯示的圖像。
    在這裏插入圖片描述
    圖一

  2. 背景
      圖像顯示技術的最終目的是爲了使得顯示的圖像效果儘量接近人眼在自然界中觀察到的對應的場景。由於HDR圖像與視頻有着更高的亮度、更深的位深、更廣的色域,因此它無法在常見的普通顯示器上進行顯示。一般的LDR顯示設備只能將色彩通道離散化到8-bit,色度空間只有255個層級,能夠顯示的顏色範圍較少;而HDR顯示設備通常高於10-bit,因此HDR圖像無法完整的直接顯示在LDR顯示設備上,爲了使得HDR圖像與視頻能兼容地放映在LDR設備上,就必須使用色調映射技術將HDR圖像與視頻映射爲LDR圖像與視頻,進而可以正常顯示在LDR顯示設備上。
      色調映射的目的是使高動態範圍HDR圖像能夠適應低動態範圍LDR顯示器。想要實現這一目的,就需要將HDR圖像的色度,亮度,動態範圍等,全部映射到LDR圖像的標準範圍內。在這個過程中,不能簡單使用線性映射,因爲這樣會丟失原始圖像的一些重要信息,例如全局與局部的對比度和重要的細節等,最重要的一點是,簡單線性映射產生的圖像相比於自然界中的場景,會出現嚴重的失真情況。因此,色調映射技術需要經過深入的研究與精密的設計,才能使得產生的圖像在視覺效果上與實際場景中的效果一致。

  3. 色調映射算法
      色調映射算法是爲了將HDR圖像的顯示亮度壓縮到LDR設備的顯示範圍內,同時在轉換的過程中要保持圖像的細節和顏色等重要信息。色調映射算法需要具備兩個基本的功能:1、圖像亮度壓縮;2、保持圖像細節與顏色,避免丟失重要信息。
      LDR顯示設備的亮度範圍遠遠小於HDR圖像以及自然界中的亮度範圍,對於HDR圖像來說,亮度值就代表絕對的亮度值。由於HDR顯示設備的亮度範圍足夠大,因此,HDR圖像每一個像素點記錄的亮度值,就是顯示在HDR顯示設備上的亮度值。而LDR圖像則有所不同,因爲LDR顯示設備的亮度範圍很小,並且顯示範圍只有0-255,因此能夠顯示的顏色與亮度的範圍都很有限。爲了讓有限的亮度空間都能被合理利用,LDR圖像的亮度實際上並不對應於顯示場景中的亮度,而是一種“相對亮度”。像素值通過Gamma映射,映射到顯示器支持的亮度範圍當中後,再顯示出來。因此,LDR圖像的亮度是由顯示設備決定的,而HDR圖像的亮度記錄在圖像當中,由圖像決定的。
      人眼通過瞳孔的調節,找到場景中亮度的主要分佈範圍,人眼會對於這個亮度範圍內的亮度敏感,能夠分辨其中的細節,而對於其他亮度,在人眼的感知中就是過於明亮或者過於陰暗,人眼就無法感知其中的細節。色調映射如前所說,也需要解決這個問題。不同的色調映射算法選擇的處理方式有所不同。色調映射技術可以使用以下的方式做一個統一的定義:

在這裏插入圖片描述
  其中f代表的是色調映射算子,I表示待操作的圖像,w,h代表圖像的寬和高,c代表圖像的通道數,通常爲RGB三通道,同時,因爲色調映射算子此時只對亮度進行操作,而不改變顏色,所以上式可以簡化爲:
在這裏插入圖片描述
  這裏s∈(0,1]代表飽和度因子,用來降低色調映射後的飽和度,因其在色調映射過程中飽和度通常會增加,操作完成後,通常還會對每個顏色通道進行Gamma校正,使它的色度範圍固定在[0,255]範圍內。圖2是浴室圖像的簡單色調映射。動態範圍(DR)很大,處理後顯示(a)曝光不足和(b)曝光過度問題,使用簡單的色調映射。暗部和亮部的特徵不能同時顯示。
在這裏插入圖片描述
圖2

  1. 顏色映射
      在色調映射的過程中,不僅僅是圖像亮度的範圍減小了,同時圖像的顏色範圍也減小了。可以通過對三個通道進行統一的操作,進而將圖像的亮度進行適當的壓縮;也可以分別對單個通道進行不同的操作,進而在對亮度進行壓縮的同時,也對圖像的顏色進行映射。色調映射的過程通常分爲兩個步驟:(1)亮度映射,(2)顏色映射。
    顏色映射的方式較爲統一,通常使用如下式子的方式進行映射:
    在這裏插入圖片描述
    其中,C和c分別是色調映射前和色調映射後的顏色。L是HDR圖像的亮度,T是色調映射後對應的亮度值。s是用來調節飽和度的參數,當s<1時,顏色的飽和度可以得到調節。大多數的色調映射算法,都是通過這樣的方式進行顏色的映射。

  2. 色調映射算法流程
      隨着色調映射算法的研究逐漸成熟與深入,算法通常都遵循着一種算法設計流水線。圖3 色調映射算法流程圖。
    在這裏插入圖片描述
    圖3 色調映射算法流程圖
      流程圖輸入的是HDR圖像,輸出爲LDR圖像,通過對輸入圖像進行預處理,將圖像的亮度信息轉換到對數域,得到處理後的HDR圖像,然後通過圖像的保邊濾波器,將圖像分解成基礎層和細節層,基礎層能夠反應圖像的一個亮度信息,細節層能夠體現圖像的紋理和邊緣信息。 再接着分別對圖像的基礎層和細節層進行不同操作,提取出的基礎層亮度信息通過不同的色調曲線進行壓縮,進而映射到LDR圖像的亮度域之中。然後將壓縮後的亮度信息加上第二步操作後得到的細節層,可以得到色域映射後的圖像,最後可以通過後置處理(線性化、顏色重構等圖像處理步驟)進行顏色校正,得到最好的LDR圖像。
    色調曲線色調映射算法設計的核心問題。在上面的色調映射算法流程圖中我們提到,提取出的亮度信息,要通過色調曲線,映射到LDR圖像的亮度域當中。色調曲線可以壓縮圖像的動態範圍,或者說亮度範圍,但是,在壓縮的過程中,會使得圖像整體的對比度出現損失。由於全局對比度在亮度被壓縮到較小的亮度範圍時不可避免的會出現細節損失,提升圖像的質量可以從保持圖像的局部對比度,或者說細節入手。通常利用高斯函數可以有效解決圖像的局部對比度問題。
    文中出現的基礎層與細節層多尺度分解可參考前面博文多尺度圖像分解。

感謝如下參考:HDR關鍵技術:色調映射(一)

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