天天看點

解讀基于頻域的圖像分類網絡——Learning in the Frequency Domain閱讀筆記

論文位址:https://arxiv.org/pdf/2002.12416.pdf

在目前的計算機視覺(CV)領域中,無論是圖像分類、目标檢測,還是執行個體分割,卷積神經網絡都發揮着至關重要的作用。而通常在訓練模型時,我們會采用降采樣的方式進行資料預處理。這種方式的确能起到減少計算量和通信帶寬的作用,但相應的,也會删除一些重要的資訊,進而影響精度。

文章提出了一種方法,将空間頻域代替RGB圖像傳入CNN中來提取特征向量。這種方法可以顯著降低資料傳輸量,并一定程度提升模型精度。值得一提的是,由于該方法無需改變現有網絡結構,是以可以将其應用于任何CNN網絡。

1

背景知識

1、YCbCr

YCbCr是色彩空間的一種,是YUV的壓縮和偏移版本,通常會用于的影響連續處理,或是數字攝影系統中。其中,Y表示亮度(luminance),Cb表示藍色色度,Cr表示紅色色度。我們常見的JPEG就采用的是這種格式。

YCbCr不同的格式,但是通常會采用4:1:1,即每個點儲存一個8bit的Y值,而每2*2個點儲存一個8bit的Cr值和Cb值。這樣,原本在RGB的圖像中每個點需要8bits*3=24bits,當轉化為YCbCr後,每個點僅需要8bits+8bits/4+8bits/4=12bits。這樣圖像大小就變為了原來的一半。

RGB和YCbCr的轉化公式如下:

解讀基于頻域的圖像分類網絡——Learning in the Frequency Domain閱讀筆記

2、空間頻率

空間頻率是機關距離中結構的正弦分量(由傅立葉變換确定)重複的頻率的度量 。在圖像進行中,空間頻率通常1/mm表示。在視覺領域中,不同的空間頻率代表圖像中不同的資訊,不同的空間頻率傳達了有關刺激外觀的不同資訊。高空間頻率表示圖像中的突然空間變化(例如邊緣),并且通常對應于特征資訊和精細細節。低而空間頻率代表有關形狀的全局資訊,例如總體方向和比例。

3、離散餘弦變換

離散餘弦變換(discrete cosine transform, DCT)是傅裡葉變換相關的一種變換。它相當于一個長度大概是它兩倍的離散傅裡葉變換,這個離散傅裡葉變換是對一個實偶函數進行的。

DCT常用的的形式為:

解讀基于頻域的圖像分類網絡——Learning in the Frequency Domain閱讀筆記

經常被用于對信号和圖像(包括靜止圖像和運動圖像)進行有損資料壓縮。這是由于DCT具有很強的“能量集中”特性:大多數的自然信号(包括聲音和圖像)的能量都集中在離散餘弦變換後的低頻部分,而且當信号具有接近馬爾科夫過程的統計特性時,DCT的去相關性接近于K-L變換的性能。

2

文章方法介紹

1、與傳統方法對比

解讀基于頻域的圖像分類網絡——Learning in the Frequency Domain閱讀筆記

圖一展示的是傳統卷積方法(a)與文章的方法(b)相比的差別。

(a)通常會在CPU上對高分辨率的RGB圖進行處理,然後将其傳遞給GPU。如果直接将用CPU處理高分辨率圖像并傳給GPU,那麼communication bandwidth(CB)需要承受極大的壓力。是以為了保證能正常進行,通常會對圖像資料進行降采樣,而這樣做難免會帶來資訊損失以及模型精度降低。

(b)資料預處理部分依舊在CPU上進行,但是這個預處理指的是先将RGB圖像轉換成為YCbCr,再将其轉換為用頻域空間表示。這樣,可以大大降低傳輸資料大小,降低資料傳輸對CB的壓力,減少資訊損失。文中提到,通過實驗發現,在模型精度不變的情況下,輸入資料大小僅為之前的12.5%。

2、資料預處理

解讀基于頻域的圖像分類網絡——Learning in the Frequency Domain閱讀筆記

a)首先對原始圖像進行預處理,包括調整大小、裁剪以及翻轉(對應圖二中的Spatial resize and crop);

b)将預處理過的圖像轉成YCbCr格式,再将轉換後的圖像轉成空間頻域上(對應圖二中的DCT transform);

c)将同一頻率下的二維DCT系數分到同一通道下,組成三維DCT資料(對應圖二中的DCT reshape);

d)對影響力較強的頻率通道進行選擇(對應圖二中的DCT channel select);

e)将被選出來的頻率通道合并成一個張量(對應圖二中的DCT concatenate);

f)用通過訓練集得到的均值和方差對每個頻率通道進行歸一化(對應圖二中的DCT normalize)

前文提到,文章提到的方法可以在基本不改變網絡主體結構的情況下操作。但是在輸入層,空間頻率資料會在H和W次元上會較小,而在緯度C上會大于3,即是說我們無法直接将做好的空間頻率資料直接輸入到一個現有的神經網絡中,例如:ResNet-50。

解讀基于頻域的圖像分類網絡——Learning in the Frequency Domain閱讀筆記

文章證明可以通過删除輸入層來達到正常訓練的目的。圖三所示是ResNet-50網絡的輸入結構。假如我們經過轉化後的DCT輸入部分為,那為了能正常輸入ResNet-50就需要先移除掉傳統ResNet-50中的輸入層(圖中虛線框所示),然後調整最先接受DCT資料的通道數量為64,使其能夠适應DCT輸入的尺寸。這樣,修改後的模型可以保持與原始模型相似的參數以及計算複雜度。

3、基于學習的頻率通道選擇

輸入層不同的通道對應着不同的頻率,文章認為一些頻率通道并未包含有用的資訊,那麼删除掉他們不僅不會對最終得到的模型有負面影響,還會節約帶寬。為了删除掉這些沒有用的通道,文章設計了一個dynamic gate module,如圖四所示。

解讀基于頻域的圖像分類網絡——Learning in the Frequency Domain閱讀筆記

a)Tensor1為輸入向量,尺寸為,這裡C代表頻率通道;

b)對Tensor1使用average pooling,得到的向量Tensor2;

c)對Tensor2使用的卷積核進行卷積操作,得到的向量Tensor3,從Tensor1到Tensor3的轉換類似于squeeze and excitation block (SE-Block);

d)Tensor3中的每個元素與兩個訓練參數相乘得到的向量對Tensor4(因為沒看到代碼,筆者私以為這裡的兩個參數是特意設定的);

e)對Tensor4中的每個頻率通道的兩個數進行歸一化,通過對向量對中的兩個向量比較确定是否采用該頻率(筆者個人了解這裡的比較應該是人為将向量對中的一個設定成了基準,然後用另一個和他比較大小,如果基準小,則采用),采用為1,不采用歸0,然後與輸入資料進行點乘得到Tensor5。(值得一提的是,由于參數選擇使用的是argmax,是以這裡用Gumbel Softmax的方式使得離散的資料可導)。

4、靜态頻率通道選擇

筆者并不是特别明白為什麼這一部分被稱之為Static Frequency Channel Selection,因為這一部分更多的是描述一些實驗性的結果。

解讀基于頻域的圖像分類網絡——Learning in the Frequency Domain閱讀筆記

圖五展示了兩個輸入頻道的熱圖可視化,(a)描述的是基于ImageNet的圖像分類,(b)描述的是基于coco資料集的執行個體分割。基于圖五,文章描述了幾個發現:

a)相較于高頻通道,低頻通道出現的頻率會更高;

b)相較于Cb和Cr,Y通道會更多地被選擇;

c)上述兩個特征很可能會适合更多的場景;

相較于RGB,YCbCr格式的圖像對于人類的視覺系統更加親切。而人眼對YCbCr中的Y也更加敏感。同時,人眼在接受信号時,對低頻信号的敏感程度也要更高。

由于CNN本身是在模仿人類的視覺系統,那麼文章中提到的這種方式也更加的适合CNN網絡呢?

5、實驗結果

解讀基于頻域的圖像分類網絡——Learning in the Frequency Domain閱讀筆記

表一在圖像分類上與傳統方法進行了對比。這裡使用網絡為經典神經網絡Resnet-50,基于ImageNet的資料集進行測試。結果發現,無論在top1還是top5的精度上,使用頻域的結果會普遍高于基于RGB結果。

表二展示出,在以MobileNetV2為基礎架構的對比中,頻域資料在top1上有普遍提升,而在top5上表現與傳統RGB基本持平。

解讀基于頻域的圖像分類網絡——Learning in the Frequency Domain閱讀筆記

表三及表四展示的是執行個體分割的結果,使用DCT的AP比使用RGB的AP都高出了0.8。

3

結論

文章首次将頻域資料應用到了執行個體分割和目标檢測領域。就試驗結果而言,DCT帶來的圖像分類、執行個體分割、目标檢測效果的普遍提升的确讓人為之側目。但是筆者有一些疑惑:

如果真的是因為貼近人類視覺系統帶來了相應提升,那直接将YCbCr格式帶入到神經網絡後應該就會有提升。但是,在表一中我們可以清楚地看到,當将YCbCr資料代入ResNet-50網絡後,top1和top5的數值不僅沒有上升,反而下降了。那這是不是可以說明這個提升的本質并不是因為這種方法更貼近人類的視覺系統呢?

本文旨在分享筆者對于Learning in the Frequency Domain的一些了解,希望對大家有所幫助,歡迎大家來探讨。

本文作者:

中國電信股份有限公司研究院 李昊

文章内容系作者個人觀點,

不代表融智未來公衆号的觀點或立場。