天天看點

白平衡是什麼?怎麼了解白平衡?

首先要明白什麼是白平衡, 它指的是在圖像處理的過程中, 對原本材質為白色的物體的圖像進行色彩還原, 去除外部光源色溫的影響, 使其在照片上也顯示白色。

那色溫是怎麼了解的呢?這個概念其實有點繞, 它是開爾文通過黑體(blackbody) 這一理想光源, 在不同溫度下, 所發出光線的顔色特性來定義的。黑體是一個理想化的概念。它是這麼一個物體, 能發光, 但會吸收掉任何來自外部的光線, 同時又會把吸收的所有能量以光的形式完全釋放出來, 是以叫做黑體。黑體的溫度單叫做開爾(K)。從 3300K 到 9300K 的溫度變化情況下, 它發光的顔色分别是, 紅色, 白色、藍色。便于了解, 你可以這麼想象, 火焰你肯定見過, 内焰溫度較低, 外焰溫度較高(藍色), 内焰溫度較低的地方是黃色的(暖色), 于是火焰最外面溫度最高的地方反而會是藍色的(冷色), 是不是有點反常識。而色溫就是借助黑體的這個溫度變化特性來量化色彩傾向的。色溫數值低, 偏黃, 色溫數值高, 偏藍, 所謂的冷暖色調就是一種比較感性的叫法了。

<3300K

暖色

3300~6000K

白色

>6000K

冷色

以下是幾個常見場景的色溫:

燭光 1930K, 鎢絲燈 2900K, 中午陽光 5600K, 藍天 18000K

講白平衡是如何修正之前, 有兩個很重要的理論需要知道:

灰階世界理論:這個理論蠻有意思, 與其說是色彩學, 我覺得更像是統計學的範疇, 它認為任何一幅圖像, 當有足夠的色彩變化時, 其R, G, B分量均值會趨于平衡(即 RGB 三個數值相等, 也就是說應當是黑白灰類型的顔色)。這個理論在全局白平衡中得到廣泛應用, 特點是能夠利用更多的圖像資訊來做判斷, 但在面對色彩較為單一的圖像時就顯得有些乏力了。

全反射理論:一幅圖像中亮度最大的點就是白點, 即假設在 YCbCr 空間中Y值最大的點為白色, 以此來校正整幅圖像。特點是隻考慮色彩最亮的那部分, 跟上面的灰階世界理論正好相反, 在處理色彩偏單調的圖像時效果好些, 但面對顔色豐富的圖檔時, 因為最亮的點不一定是白色的, 可能會出現偏色的情況。

這兩個理論分别對應着兩種色彩空間 RGB 和 YCbCr 調整白平衡的理論基礎:判斷一張圖檔白平衡是否準确, 如果不準确, 如何量化其偏離數值。

白平衡就是一個糾正畫面整體偏色的過程, 那為什麼人眼不需要呢?其實在你看到一個東西的時候, 眼睛就已經對它進行了色彩修正。相機肯定沒有人眼那麼智能(至少現在沒有), 概括的說, 它的自動白平衡算法就是設定一個範圍, 如果拍攝照片的色彩平均值落在這個範圍裡面, 那就 OK, 說明無需修正。如果偏離出這個範圍, 就需要調整參數, 并校正色彩資料直到其均值落入指定的範圍内。這就是WB白平衡修正的過程。

下面就來簡單介紹幾個白平衡算法大緻原理, 但具體的增益計算和數學模組化過程就不作贅述了, 這東西正常人看了都會頭大的。

1. 灰階世界算法(Gray World Assumption)

這個算法原理很簡單, 就是根據前面所說的灰階世界理論, 将原始圖像的RGB均值分别調整到R=G=B即可。不完美的地方就是這個算法對顔色不豐富的圖像敏感程度一般, 處理起來效果也就不會很理想, 局限性較大。

2. 标準差權重灰階世界算法(Standard DeviationWeighted Gray World Assumption)

标準差權重灰階世界算法是針對上一個算法的改進, 它的原理是把圖像等分成幾塊, 然後對每個塊利用統計學進行分析, 看裡面顔色的豐富程度, 顔色多的就權重, 顔色少得就減少權重, 最後求和得出一個均值。根據這個相對精确的數值來進行RGB數值的修正。

3. 全反射算法(Perfect Reflector Assumpution)

這個是基于前面介紹的全反射理論生成的算法, 了解起來也不難, 它認為中最亮的那個點就一定是白色的, 如果原始圖像中最亮的那個點不是, 那就針對偏離白色的數值進行逆向修正。缺點就是如果圖像色彩複雜或者就是沒有高光點, 它的修正效果就會比較乏力。

上面三個算法比較簡單, 運算量不大, 但各有優缺點, 也就進一步衍生出了更加有效但是卻要複雜的多一些混合算法, 例如:亮度權重灰階世界算法與全反射算法的正交組合算法(QuadraticCombining Luminance Weighted Gray World & Prefect Reflector Assumption)。看這麼長的名字就知道, 這個算法很複雜, 白平衡修正效果也是蠻不錯的, 而且它本身是收斂的, 在對圖像處理的時候不會帶來太多損失, 但可惜運算量巨大, 對硬體資源的要求過高。

算法方面挺枯燥的, 非理工科對數學沒興趣的也可以直接略過, 大體知道這麼回事兒就行。但我可以給出的結論是:最終效果越好的算法, 其複雜程度就越高, 運算量就越大, 對硬體電路的要求也高。具體的實作還需要在白平衡校正能力, 算法執行效率, 處理器硬體性能三個方面進行權衡。

而通過上面的了解你就會發現, 如果ISP圖像處理器的性能夠高, 白平衡算法施展的空間就會大了很多。某些時候白平衡不準确, 一定程度上确實是與ISP性能跟不上有關, 當然, 這裡也要看各家廠商在算法優化方面的功底。一般來說同一代各個品牌的旗艦處理性能差别不會特别大, 雖然軟體方面下的功夫不容易看到, 但重要性确實毋庸置疑的, 能否把硬體整體性能充分發揮出來才是關鍵。

舉例來說, 在單反剛剛數位化的那個年代, 相機的圖像處理器性能比較低下, 難以承受高運算強度的白平衡算法的蹂躏, 于是很多單反相機(如佳能1D, 尼康D2, 奧林巴斯E-1等) 機身上是有一個白平衡感應裝置的(就是機身正面的那個小白點), 這個可以輔助提高白平衡準确度。到後來随着相機圖像處理器的性能飙升, 大概是從富士通給尼康代工的Expeed一代處理器開始, 就取消了外置白平衡感應器這個裝置。通過越來越多的RGB測光分區數, 配合越發強大的處理器來進行更加準确的色溫修正。這裡多說兩句, 分區越多, 白平衡采樣處理就越準确, 但同時也會帶來計算量上面的飙升, 從最初的隻有幾個分區, 到 D800 上面用的 9.1 萬像素 RGB 感應器, 在同時完成測光和白平衡計算的同時, 甚至還能夠餘出力氣進行人臉識别, 背後那塊改用了 ARM 架構 Expeed 3 才是最大的功臣。而像 DC 啊, 手機攝像頭啊這類連續取景的相機, 則是用前一幀圖像的處理結果應用到後面的圖像上去的, 實作方式同單反上面那個單獨的測光感應器還不太一樣的。這是産品本身結構差異性導緻的。

下圖這組圖檔中就是在設定不同的白平衡下拍攝的:

白平衡是什麼?怎麼了解白平衡?

出處:www.zealer.com 李侃 http://www.zealer.com/question/4