人臉光照調整之Gamma校正

2022-03-24 03:07:52 字數 3162 閱讀 9198

人臉光照處理的理想狀態是,在不損失影象內容的前提下,保持影象在各種環境下的影象光照一致。而像之前提到過的gabor雖然能保持較好的光照統一性,但會造成一部分的低頻資訊丟失,另外的dct變換,不能很好適應環境光的變化。所以,在實際使用中,往往不能把光照處理的壓力都放在後期演算法處理上,在攝像頭採集時就需要對環境光做一定的過濾。比如近紅外影象,採集時去除大多可見光對影象內容的影響,在此基礎上再進行軟體處理,往往能達到生產上的要求。

1 傳統gamma校正及改進

傳統gamma校正演算法具有較好的光照調整效果,但是由於其容易造成校正過度的原因,因而使用範圍受到限制。正如圖1和2所示,gamma函式容易對影象灰度比較「正常」的區域也做了調整,會產生失真的想象。

1傳統gamma校正曲線圖2經傳統gamma函式校正後的灰度分布

傳統方法只是簡單的將低灰度區域調高,高灰度區域調低,調節方式過於簡單。

改進後的校正曲線和灰度分部曲線:

圖3 gamma曲線       圖4 gamma函式校正後的灰度

校正效果:

圖5 原始影象圖6 校正後影象

2 人臉光照歸一化

上面效果雖然較好,但是應用到人臉識別當中,還需要做些調整。因為,人臉處在不同環境下,雖然有過濾片作用,但是還是會有較大差別。因此,可以採用階梯式處理方法,一步步將不同情況下的人臉光照調整一致。另外,改進後的gamma曲線控制引數有較多個,這裡可以採用累積直方圖來判斷人臉光照強度,然後設計合適的引數進行調整。具體處理步驟如下:

由於cmos自身雜訊的影響,邊緣部分的灰度擾動較大,因此對原始影象做一次3*3大小的均值濾波,增強後續處理的穩定性;

將原始影象的均值調為0,方差調為1;

根據累計直方圖分布特點初步判斷當前人臉影象屬於高光還是低光照型別,並根據相應型別做灰度的初步微調;

最後根據累計直方圖的分布,確定gamma校正的各個引數大小,對影象做gamma校正。

第三步中的微調一般分為兩類:光照過暗和光照過強。過暗時採用如下公式變換:

過強時可採用如下公式變換:

分別貼兩**顯示下「微調」效果:

圖7 亮度過暗影象調整

圖8 亮度過亮影象調整

3 改進後的校正效果

我們對同一人臉在不同光照下分別採集,然後用改進的gamma對其進行校正:

圖9 不同光照下的人臉及gamma校正結果

提取影象的梯度、亮度、標準差、對比度、熵等資訊,綜合來對上述原始影象和gamma處理後的影象進行質量評價,從結果上可以看出,gamma校正後的影象質量更好,而且質量基本趨於一致,也符合表1中所示的相同位置灰度差異很小的結果。

干擾光距頭模距離

20cm

30cm

35cm

無干擾光

影象質量評價

gamma

42.064

42.1036

40.1766

42.3888

原始影象

30.1077

30.298

18.3288

9.74179

表1 影象質量評價比較

4 總結

從以上效果可以發現,改進後gamma校正的難點是gamma校正引數的確定,其優點是在採用相同引數的情況下,其校正的灰度變化是相等的。加入「微調」可以減小不同gamma引數對結果的影響權重,從而使得人臉影象的灰度更趨於穩定。作者採用opencv中的surf方法(效果如圖10所示),分別在不同環境下的人臉相同位置取點的灰度,發現本系統的gamma校正可以將這種灰度差異減小到6~10個灰度級以內,效果如圖11和圖12所示。

圖10 不同影象之間的配準

圖11 各取樣點灰度分布圖(原始影象)

圖12 各取樣點灰度分布圖(gamma校正影象)

yihua shi,jinfeng yang. reducing illumination based on nonlinear gamma correction.ieee 2007.

人臉光照調整之Gabor濾波

在影象處理 模式識別以及計算機視覺等領域中,gabor 濾波器得到了廣泛的應用。用gabor 函式形成的二維gabor 濾波器具有在空間域和頻率域同時取得最優區域性化的特性,與人類生物視覺特性很相似,因此能夠很好地描述對應於空間頻率 尺度 空間位置及方向選擇性的區域性結構資訊。gabor變換是一種短...

高階光照與材質之模擬真實世界的光照

讀書筆記第二章,加了許多博主的理解和補充。第二章講的也是基礎知識,補充了博主許多知識縫隙。介紹了四中型別光的光照模型,點光源,面光源,方向光,聚光燈,和他們的光照模型,還簡單介紹了下gi。這章的幾個topics 1.理想的點光源 2.幾何衰減 3.光照通過物質的衰減 4.方向光 5.面積光 6.聚光...

Unity Shader 光照模型之漫反射

舊部落格轉移 2016年4月3日 23 27 在現實生活中,我們看見能看見的東西都是光反射出來的顏色,如果反射光太弱,或者沒有進入你的視角範圍,你看到的就是黑色的。在遊戲中光分為幾種,平行光源 太陽光 點光源 燈泡 等等,最常用的是directional light 平行光源 當然在計算機中光不過是...