基於物理的渲染—HDR Tone Mapping

來源:互聯網
上載者:User

標籤:實驗   因此   自適應   2017年   mes   dig   vat   觀察   範圍   

在遊戲引擎渲染管線中,我們對於R、G、B通道顏色資訊的數值範圍通常設定在[0,1]之間(或者是[0,255])。其中,0代表沒有光亮度,1代表顯示器能夠顯示的最大光亮度。這個表示方式雖然直接易懂,但它並不能反映真實世界中光亮度的情況。在真實世界的光照環境中,光亮強度有時候會超過顯示器能夠顯示的最大亮度。而且,人眼在觀察真實世界的物體時,會根據光照強度進行自我調節。因此,更加真實的渲染方式是讓顏色值超過1。這種光照計算方式或環境光線照圖就是我們常常在遊戲引擎中看到的HDR(High Dynamic Range)光照或者HDR環境貼圖。但是,採用HDR渲染出來的亮度值會超過顯示器能夠顯示最大值。此時,我們需要將光照結果從HDR轉換為顯示器能夠正常顯示的LDR。這一過程我們通常稱之為Tone Mapping。是Unity引擎對採用HDR渲染的圖片使用了Tone Mapping和沒有使用Tone Mapping的對比結果:


其中,是沒有使用Tone Mapping的結果,是使用了Tone Mapping的結果。可以看到,在沒有使用Tone Mapping的渲染結果中,有很大一部分像素的光亮度是超過了顯示器能夠顯示的最大值。在視覺上,這些地方變得過曝了。而在使用了Tone Mapping的渲染結果中,像素光亮度變得正常,視覺上也更加真實。

今天我們要介紹的這一篇論文是於2002年發表在Siggraph會議上的論文“Photographic Tone Reproduction for Digital Images”。這篇論文提出了一種新的Tone Mapping的方法,使得經過該方法轉換的結果從視覺上看起來更加接近真實世界的物體。首先,我們來看看這篇論文的結果圖,如所示:


其中,左圖是採用線性縮放的結果,右圖是採用論文中的演算法進行轉換的結果。可以看到,在簡單的線性縮放結果中,許多細節部分丟失了;而論文演算法轉換的結果則很好地保留了映像的細節部分。接下來,我們將對論文中的演算法部分做詳細介紹。

一、初始光亮度映射

首先,文章作者對整個映像做了一個光亮度的映射,其作用類似於設定相機的曝光。這一操作實際就是對每一個像素做固定縮放。根據前人對Tone Mapping的研究結論,論文作者認為光亮度的log平均值能夠反映圖片中像素光亮度的特徵。因此,作者用該值對每個像素作縮放。

若用Lω(x,y)表示像素(x,y)的光亮度,則log平均值可表示為:

其中,N 表示像素個數,δ 是一個用於避免奇異值的常數。縮放後的光亮度 L(x,y) 可用如下公式表示:

其中,α 是一個縮放參數,被稱為Key Value,不同的 α 值對應了不同的縮放程度,如所示:

但是,僅僅做簡單線性縮放是不夠的。對於光亮度變化不是很大的圖片,這種方法可以將像素的光亮度很好地壓縮到一定範圍,但是對於大多數圖片,絕大部分像素光亮度是在某一個範圍之內,而少數高亮的像素比平均值高太多,很容易產生過曝,如:光源、高光反射等。因此,通常在經過線性縮放之後,還需要利用非線性運算元對映像進行處理。文中作者列舉了一種常用的運算元:

其中,Ld(x,y)表示經過非線性運算元處理後的像素,Lwhite表示圖片中被映射到白色亮度的像素中的最小值。由於是非線性,對於亮度高的像素縮放更大,因此該公式能夠防止線性縮放中無法處理的過曝情況。但是,這種簡單的運算元通常容易導致細節丟失。作者觀察到,在傳統列印技術中,為了提高列印結果的品質,通常會採用一種dodying-and-burning的方法。該方法的原理是根據列印內容的不同,在不同地區減少光亮度(dodying)或者增加光亮度(burning)。論文作者通過實驗,對比了簡單非線性映射以及dodying-and-burning處理後的結果,如所示:

其中,上排圖片中太陽被樹枝遮擋住,因此不包含高亮的地區,下面的圖片則包含高光反射。左邊一列圖片同樣是採用簡單非線性運算元(Simple Operator)縮放,經過觀察可以發現,中的書中文字完全被高光覆蓋。由此可見,簡單的非線性運算元縮放會丟失很多細節。

論文作者在經過觀察和測試之後,基於dodging-and-burning方法,提出了一種自適應的dodging-and-burning方法,下面我們將詳細說明。

二、自適應dodging-and-burning

自適應dodging-and-burning的特點是,找出對比大的邊緣包圍的地區,然後對該地區進行處理。因此,作者提出利用高斯核卷積的方法來找出這些地區。對於不同的縮放係數 s,在不同的像素點(x,y),計算高斯核函數 Ri(x,y,s)與映像 L(x,y)的卷積。則卷積結果 Vi(x,y,s)可表示為:

其中,Ri(x,y,s)可表示為:

然後,論文作者定義了一個誤差函數,計算不同 αi 參數的卷積結果之差,來衡量映像局部像素的光亮度分布。則誤差函數 V 可以表示為:

通過對不同的縮放參數 s 進行計算,找出符合如下公式的參數:

其中,? 是一個閾值,sm 是對每個像素計算出的縮放參數。當我們獲得每一個像素的縮放參數後,對每一個像素進行不同的縮放計算:

從而獲得最終的Tone Mapping結果。顯示了計算過程:

其中,左圖顯示了計算縮放參數的過程,Center表示內圈高斯計算的範圍,Surround表示外圈高斯計算的範圍。右圖顯示了用不同縮放參數進行縮放後的結果。通過觀察可以發下,當縮放太小時無法有效地提取出映像細節,而縮放太大時會出現黑色的Artifacts。

三、實驗對比

論文作者將dodging-and-burning計算結果與前人的結果進行了對比實驗。如所示:



其中,New operator表示了論文的實現結果。

四、總結

論文作者提出了一種新的Tone Mapping的演算法,它通過對dodging-and-burning列印技術的觀察和分析,對於不同的地區採用不同的縮放係數,提出了自適應dodging-and-burning的方法,能夠將高動態圖轉換成低動態圖時防止高亮部分過曝,並且能達到在亮部和暗部都能保持細節的目的。

五、論文資訊

作者資訊:
Erik Reinhard,著名電腦圖形學學者,目前在Technicolor Research and Innovation做研究工作;
Michael Stark,電腦圖形學研究者,曾就讀於美國猶他大學;
Peter Shirley,著名電腦圖形學大牛,真實感渲染專家,猶他大學客座教授,NVidia首席科學家;
James Ferwerda,著名電腦圖形學學者,羅徹斯特理工學院副教授。

論文連結:
http://www.cmap.polytechnique.fr/~peyre/cours/x2005signal/hdr_photographic.pdf

這是侑虎科技第225篇原創文章,歡迎轉寄分享,未經作者授權請勿轉載。如果您也有任何獨到的見解或者全新的發現也歡迎聯絡我們,一起探討。(QQ群465082844)

關於惟學無際

【惟學無際】是UWA在2017年推出的全新研究型專欄,我們將為大家推薦極具實際價值的學術論文,並梳理其中的研究背景、實現原理和執行方法等。內容專註於遊戲、VR和AR相關的電腦圖形學領域。正所謂問渠哪得清如許,為有源頭活水來 ,希望大家在研發的過程中不僅知其然,還能知其所以然。

基於物理的渲染—HDR Tone Mapping

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.