本文系微信公眾號《大話成像》,知乎專欄《all in camera》原創文章

大話成像讀者QQ交流群 :237427716 大話計算機視覺QQ交流群:651805282

本站教學視頻大話成像之《數字成像系統》32講已上線淘寶,搜索關鍵字『大話成像』即可找到,或使用鏈接

PC用戶: item.taobao.com/item.ht

手機用戶可使用鏈接: 複製這條信息¥adMo0tqbc2N¥後打開手淘

請購買了視頻的讀者加入QQ群:679050565,群名稱:數字成像系統課程,驗證消息請輸入購買課程時候的個人ID。


我們經常比較頭疼的是,圖像的局部產生色偏,或者是某一個色調/亮度範圍產生色偏。

比如說第六題所提到的:只有藍天的顏色發生了明顯的偏差。

造成局部偏差的原因有很多,比較常見的原因有兩個:Lens shading和linearization。

因為相較於black level或者awb這些global的操作造成整體性的變化,shading correction 和linearization往往是只造成局部區域和某個intensity範圍的偏差。這些問題往往更讓難解決。

這一篇就重點說說lens shading:

Lens shading分為兩個部分,luma shading correction,colour shading correction。

Chroma shading 如下圖,RGB plane 沒有重合。

correction之後:

可以看出RGB plane 重合了。

Luma shading就是所謂的vignetting,鏡頭的通光量從中心到邊角減小,造成sensor的亮度響應從中心到邊角的變小,圖像看起來就是這樣,中心亮,四周逐漸變暗。

3D視圖:

這種信號強度的衰減呈現非常明顯的中心對稱特點,於是人們提出第一種shading 校正方法:

radial shading correct。

這種方法實現簡單,針對shading對稱性比較好的情況很有效,但是如果對於鏡頭裝得傾斜了,或者存在局部不良的情況就不好用了。

如下圖

很明顯的衰減不對稱,這樣方法一就不好用了。於是有了方法2:

拍一張黑色的照片,再拍一張白色的照片,然後用如下公式:

由於響應衰減曲線不是線性的,而是近似cos4的衰減曲線,所以方法2需要對衰減曲線做一定的修正。但這種方法對於那種鏡頭衰減不能用一個簡單函數表示的情況就不靈了。

於是後來就有了方法3:mesh shading correction。

mesh按照英文願意就是網眼,漁網的那種格子。拍一張均勻亮度的圖像,把圖像分成n x m個格子,

每個格子的四個角都有一個校正係數,把這個nxm個格子的校正係數存起來,在運行期,根據每個像素的坐標,就知道這個像素落在哪個格子里,在格子內部,用cos4或者logN來模擬衰減曲線,就可以計算出每個像素的校正值。

現在大部分廠商都是採用的這種方法,它的缺點是需要存儲比較多的校準數據,而且如果校準不準確的話,效果也就不會好。於是後來就有了方法4:automatic lens

shading correction。 也有人叫adaptive lens shading correction。反正就是不用校準,就能做lens shading correction。

看起來唯一的玄機就在這個所謂的LowPass filter里,有很多論文設計不同的filter,唯一的目的就是把數據分成受shading 影響的和不受shading影響的,不受shading影響的數據就是校正的target。也有專門的論文提供各種比較結果。現在已經有不少公司提供這種不用校準的lens shading correction方案,效果確實非常不錯。


歡迎大家關注我們的公眾號大話成像大話計算機視覺,並加入我們的兩個QQ交流群交流一些工作學習中的問題 。


推薦閱讀:
相关文章