對比度歸一化

在深度學習中,對比度通常指的是圖像或圖像區域中像素的標準差。對比度歸一化包括全局對比度歸一化和局部對比度歸一化,是深度學習中常用的一種數據預處理方法,用以減少數據中的變化量從而減少泛化誤差和擬合訓練集所需模型的大小。

基本介紹

  • 中文名:對比度歸一化
  • 外文名:contrast normalization
  • 作用:防止圖像具有變化的對比度
  • 分為:GCN和LCN
  • 學科:圖像處理
  • 套用:計算機視覺
預處理,對比度表示,全局對比度歸一化,局部對比度歸一化,

預處理

由於原始輸入往往以深度學習架構難以表示的形式出現,需要許多較精細的預處理。 計算機視覺通常只需要相對少的這種預處理。圖像應該被標準化,從而使得它們的像素都在相同並且合理的範圍內,比如
或者
,將
中的圖像與
中的圖像混合通常會導致失敗。將圖像格式化為具有相同的比例嚴格上說是一種必要的預處理。
將每個樣本置於更規範的形式,減少模型需要考慮的變化量。減少數據中的變化量既能夠減少泛化誤差,也能夠減小擬合訓練集所需模型的大小。更簡單的任務可以通過更小的模型來解決,而更簡單的解決方案泛化能力一般更好。這種類型的預處理通常被設計為去除輸入數據中的某種可變性,這對於人工設計者來說是容易描述的,並且人工設計者能夠保證不受到任務影響。當使用大型數據集和大型模型訓練時,這種預處理通常是不必要的,並且最好只是讓模型學習哪些變化性應該保留。例如,用於分類 ImageNet 的 AlexNet 系統僅具有一個預處理步驟:對每個像素減去訓練樣本的平均值。

對比度表示

在許多任務中,對比度是能夠安全移除的最為明顯的變化源之一。簡單地說,對比度指的是圖像中亮像素和暗像素之間差異的大小。量化圖像對比度有許多方式。在深度學習中,對比度通常指的是圖像或圖像區域中像素的標準差。假設我們有一個張量表示圖像
,其中,
表示第i行第j列紅色的強度,
對應的是綠色的強度,
對應的是藍色的強度。然後整張圖像的對比度可以表示如下:
其中,
是整張圖像的平均強度,滿足

全局對比度歸一化

全局對比度歸一化(Global contrast normalization, GCN)旨在通過從每個圖像中減去其平均值,然後重新縮放其使得其像素上的標準差等於某個常數
來防止圖像具有變化的對比度。這種方法非常複雜,因為沒有縮放因子可以改變零對比度圖像(所有像素都具有相等強度的圖像)的對比度。具有非常低但非零對比度的圖像通常幾乎沒有信息內容。在這種情況下除以真實標準差通常僅能放大感測器噪聲或壓縮偽像。這種現象啟發我們引入一個小的正的正則化參數
來平衡估計的標準差。或者,我們至少可以約束分母使其大於等於
。給定一個輸入圖像
,全局對比度歸一化產生輸出圖像
,定義為
從大圖像中剪下感興趣的對象所組成的數據集不可能包含任何強度幾乎恆定的圖像。在這些情況下,通過設定
來忽略小分母問題是安全的,並且在非常罕見的情況下為了避免除以 0,通過將
設定為一個非常小的值比如說
。隨機剪裁的小圖像更可能具有幾乎恆定的強度,使得激進的正則化更有用。
尺度參數
通常可以設定為 1,或選擇使所有樣本上每個像素的標準差接近 1。
上式中的標準差僅僅是對圖像L2 範數的重新縮放(假設圖像的平均值已經被移除)。我們更偏向於根據標準差而不是 L2 範數來定義 GCN,因為標準差包括除以像素數量這一步,從而基於標準差的 GCN 能夠使用與圖像大小無關的固定的 s。然而,觀察到 L2 範數與標準差成比例,這符合我們的直覺。我們可以把 GCN 理解成到球殼的一種映射。如圖1所示。在圖1中,左邊是原始的輸入數據可能擁有任意的範數; 中間是
時候的 GCN 可以將所有的非零樣本投影到球上,這裡令
,由於使用的 GCN 是基於歸一化標準差而不是 L2 範數,所得到的球並不是單位球;右邊是
的正則化 GCN 將樣本投影到球上,但是並沒有完全地丟棄其範數中變化,
的取值與之前一樣。
圖1 GCN將樣本投影到一個球上圖1 GCN將樣本投影到一個球上
這可能是一個有用的屬性,因為神經網路往往更好地回響空間方向,而不是精確的位置。回響相同方向上的多個距離需要具有共線權重向量但具有不同偏置的隱藏單元。這樣的情況對於學習算法來說可能是困難的。此外,許多淺層的圖模型把多個分離的模式表示在一條線上會出現問題。 GCN 採用一個樣本一個方向而不是不同的方向和距離來避免這些問題。
與直覺相反的是,存在被稱為 sphering(sphering)的預處理操作,並且它不同於 GCN。 sphering 並不會使數據位於球形殼上,而是將主成分重新縮放以具有相等方差,使得 PCA 使用的多變數常態分配具有球形等高線。 sphering 通常被稱為白化(whitening)。

局部對比度歸一化

全局對比度歸一化常常不能突出我們想要突出的圖像特徵,例如邊緣和角。如果我們有一個場景,包含了一個大的黑暗區域和一個大的明亮的區域(例如一個城市廣場有一半的區域處於建築物的陰影之中),則全局對比度歸一化將確保暗區域的亮度與亮區域的亮度之間存在大的差異。然而,它不能確保暗區內的邊緣突出。
這催生了局部對比度歸一化(local contrast normalization, LCN)。局部對比度歸一化確保對比度在每個小視窗上被歸一化,而不是作為整體在圖像上被歸一化。關於局部對比度歸一化和全局對比度歸一化的比較可以參考圖2 。如圖2所示,直觀上說,全局對比度歸一化的效果很巧妙,它使得所有的圖片的尺度都差不多,這減輕了學習算法處理多個尺度的負擔。局部對比度歸一化更多地改變了圖像,丟棄了所有相同強度的區域這使,得模型能夠只關注於邊緣。較好的紋理區域,如第二行的屋子,可能會由於歸一化核的過高頻寬而丟失一些細節。
圖2 全局對比度歸一化和局部對比度歸一化的比較圖2 全局對比度歸一化和局部對比度歸一化的比較
局部對比度歸一化的各種定義都是可行的。在所有情況下,我們可以通過減去鄰近像素的平均值並除以鄰近像素的標準差來修改每個像素。在一些情況下,要計算以當前要修改的像素為中心的矩形視窗中所有像素的平均值和標準差 。在其他情況下,使用的則是以要修改的像素為中心的高斯權重的加權平均和加權標準差。在彩色圖像的情況下,一些策略單獨處理不同的顏色通道,而其他策略組合來自不同通道的信息以使每個像素歸一化。
局部對比度歸一化通常可以通過使用可分離卷積來計算特徵映射的局部平均值和局部標準差,然後在不同的特徵映射上使用逐元素的減法和除法。局部對比度歸一化是可微分的操作,並且還可以作為一種非線性作用套用於網路隱藏層,以及套用於輸入的預處理操作。與全局對比度歸一化一樣,我們通常需要正則化局部對比度歸一化來避免出現除以零的情況。事實上,因為局部對比度歸一化通常作用於較小的視窗,所以正則化更加重要。較小的視窗更可能包含彼此幾乎相同的值,因此更可能具有零標準差。

相關詞條

熱門詞條

聯絡我們