差分卷積在計算機視覺中的應用
點擊下方卡片,關注“新機器視覺”公眾號
視覺/圖像重磅干貨,第一時間送達
編者薦語
文章主要介紹由Oulu大學主導的幾個差分卷積(Difference Convolution)工作及其在圖像、視頻領域中的應用。
作者丨Fisher 魚子 @知乎
鏈接丨h(huán)ttps://zhuanlan.zhihu.com/p/392986663
1.鼻祖LBP的簡單回顧
在傳統(tǒng)的手工特征中,比較經(jīng)典的有Oulu提出的 LBP(Local Binary Patterns),即局部二值模式 [1],至今引用已有16000+。最初的LBP是定義在3×3鄰域內(nèi)的,以鄰域中心像素為閾值,將相鄰的8個像素的灰度值與其進行差分比較,若周圍像素值大于中心像素值,則該像素點的位置被標記為1,否則為0。這樣,鄰域內(nèi)的8個點經(jīng)比較可產(chǎn)生8位二進制數(shù)(通常轉換為十進制數(shù)即LBP碼,共256種),即得到該鄰域中心像素點的LBP值,并用這個值來反映該區(qū)域的紋理信息。

用公式表示為:
LBP算子運算速度快,同時聚合了鄰域內(nèi)的差分信息,對光照變化較為魯棒;同時也能較好地描述細粒度的紋理信息,故在早期紋理識別,人臉識別等都被廣泛應用。下圖為人臉圖像在做LBP變換后的LBP碼圖像,可以看出臉部局部紋理特征較好地被表征:

2.中心差分卷積CDC在人臉活體檢測中的應用 [2,3]
CDC代碼鏈接: github.com/ZitongYu/CDC
Vanilla卷積通常直接聚合局部intensity-level的信息,故 1)容易受到外界光照等因素的影響;2)比較難表征細粒度的特征。在人臉活體檢測任務中,前者容易導致模型的泛化能力較弱,如在未知的光照環(huán)境下測試性能較低;后者會導致難以學到防偽本質(zhì)的細節(jié)信息,如spoof的材質(zhì)。考慮到空間差分特征具有較強光照不變性,同時也包含更細粒度的spoof線索(如柵格效應,屏幕反射等),借鑒傳統(tǒng)LBP的差分思想,我們提出了中心差分卷積(Central difference convolution, CDC)。

假定鄰域
為3x3區(qū)域,公式表達如下: 為了更好同時利用 intensity-level 和 gradient-level 的信息,我們通過超參 及共享卷積可學習的權重,統(tǒng)一了VanillaConv和CDC,而無需額外的可學習參數(shù)(和可忽略的計算量)。故更generalized的CDC公式為:
θ控制著差分卷積及Vanilla卷積的貢獻,值越大意味著gradient clue占比越重;當θ=0時,就成了Vanilla卷積。文章 [3]中也具體對比了CDC與前人工作Local Binary Convolution [4], Gabor Convolution [5] 和 Self-Attention layer [6],有興趣的請查閱原文。

上圖可見,當 時,使用CDC效果總比單獨Vanilla卷積要好(也就是 )。我們也觀察到,當 時,該協(xié)議下活體檢測性能處于最優(yōu),并優(yōu)于LBConv [4]和GaborConv [5]。
3.交叉中心差分卷積C-CDC在人臉活體檢測中的應用 [7]
C-CDC代碼鏈接:
github.com/ZitongYu/CDC
考慮到CDC需要對所有鄰域特征都進行差分操作,存在著較大的冗余,同時各方向的梯度聚合使得網(wǎng)絡優(yōu)化較為困難,我們提出了交差中心差分卷積(Cross-CDC),將CDC解耦成水平垂直和對角線兩個對稱交叉的子算子:

具體實現(xiàn)只需將感受野從原本的3x3鄰域
改成對應水平垂直或者對角方向的子鄰域
即可。使用C-CDC(HV)或者C-CDC(DG)后,如下表所示,網(wǎng)絡的參數(shù)量和FLOPs都大幅度減少,并取得與原本CDC媲美的性能。

在下圖(b)消融實驗中可見,相比CDC (ACER=1%),C-CDC(HV) 和 C-CDC(DG)也能取得相當?shù)男阅堋S腥さ氖牵绻麑τ赩anillaConv進行HV或者DG方向的分解,性能就會下降得比較嚴重,intensity-level信息對于充足感受野范圍需求較大。

4.像素差分卷積PDC在邊緣檢測中的應用 [8]
PDC代碼鏈接:
GitHub - zhuoinoulu/pidinet: Code for ICCV 2021 paper "Pixel Difference Networks for Efficient Edge Detection"
在邊緣檢測中,如下圖(a)所示,經(jīng)典的傳統(tǒng)操作子(如Roberts, Sobel和LoG)都采用差分信息來表征邊緣上下文的突變及細節(jié)特征。但是這些基于手工傳統(tǒng)算子的模型往往局限于它的淺層表征能力。另外一方面, CNN通過卷積的深層堆疊,能夠有效地捕捉圖像的語義特征。在此過程中,卷積核扮演了捕捉局部圖像模式的作用。而如下圖(b)所示,VanillaCNN在對卷積核的初始化過程中并沒有顯式的梯度編碼限制,使其在訓練過程中很難聚焦對圖像梯度信息的提取,從而影響了邊緣預測的精度。

為了高效地引入差分操作到CNN中,借鑒于Extended LBP (ELBP) [9],我們提出了像素差分卷積(Pixel difference convolution, PDC)。根據(jù)候選像素對的采樣策略,PDC具體分為下圖所示三種子形式,其中CPDC類似CDC對鄰域特征進行中心差分;而APDC對鄰域進行順時針方向的兩兩差分;最后RPDC對更大感受野5x5鄰域的外環(huán)與內(nèi)環(huán)進行差分。

文中另外一個貢獻是提出了高效轉換PDC為VanillaConv的實現(xiàn)及推導證明,即先計算卷積核weights間的difference,接著直接對輸入的特征圖進行卷積。該tweak不僅可以加速training階段,而且還可降低在inference階段的額外差分計算量。以CPDC為例,轉換公式如下: 具體的三種PDC如何組合效果最好,可閱讀文章消融實驗及分析。最后下圖可視化了PiDiNet-Tiny網(wǎng)絡配套VanillaConv或者PDC后的特征圖及邊緣預測。明顯的是,使用PDC后,gradient信息的增強有利于更精確的邊緣檢測。

5.時空差分卷積3D-CDC在視頻手勢/動作識別中的應用 [10]
3D-CDC代碼鏈接:
github.com/ZitongYu/3DC
不同于靜態(tài)spatial圖像分析,幀間的motion信息在spatio-temporal視頻分析中往往扮演著重要角色。很多經(jīng)典motion算子,如光流optical flow和動態(tài)圖dynamic image的計算都或多或少包含著幀內(nèi)spatial、幀間temporal、幀間spatio-temporal的差異信息。當下主流的3DCNN一般都采用vanilla 2D、3D、偽3D的卷積操作,故較難感知細粒度的時空差異信息。與部分已有工作設計額外Modules(如OFF [11],MFNet [12])的思路不同,我們設計了時空差分卷積(3D-CDC)來高效提取時空差異特征,可取代Vanilla3DConv,直插直用于任何3DCNN,并無額外參數(shù)開銷。

如上圖所示,3D-CDC家族有包含三種子卷積,來增強時域特征的同時服務于不同場景。如3DCDC-ST擅長于動態(tài)紋理表征;3D-CDC-T則更多捕捉精細的時域上下文信息;而3DCDC-TR則更耐抗時域間噪聲擾動 。它們的generalized版本公式如下:( 相鄰幀)
下圖給出了C3D模型基于3D-CDC家族的性能,可見針對不同模態(tài)(尤其是RGB和光流),在大部分 θ取值 下3D-CDC-T和3D-CDC-TR能帶來額外的視頻表征收益( θ=0僅為使用Vanilla3DConv)。

6.其他差分卷積及應用
文獻 [13] 將 CDC 思想應用到圖卷積中,形成差分圖卷積(Central Difference Graph Convolution,CDGC)。
文獻 [14] 將 CDC 應用到實時 Saliency detection 任務中。
文獻 [15] 將 3D-CDC 應用到 人臉遠程生理信號rPPG測量 中。
文獻 [18] 將 CDC 應用到 人臉 DeepFake detection 中。
文獻 [19] 將 PDC 拓展為random版本,應用到人臉識別,表情識別,種族識別中。
7.總結與展望
一方面,如何將可解釋性強的經(jīng)典傳統(tǒng)算子(如LBP, HOG, SIFT等)融入到最新的DL框架(CNN,Vision Transformer,MLP-like等)中來增強性能(如準確率,遷移性,魯棒性,高效性等),將是持續(xù)火熱的topic;另外一方面就是探索和應用到更多vision tasks 來服務計算機視覺落地。
Reference:
[1] Timo Ojala, et al. Multiresolution gray-scale and rotation invariant texture classification with local binary patterns. TPAMI 2002.
[2] Zitong Yu, et al. Searching central difference convolutional networks for face anti-spoofing. CVPR 2020.
[3] Zitong Yu, et al. Nas-fas: Static-dynamic central difference network search for face anti-spoofing. TPAMI 2020.
[4] Juefei Xu, et al. Local binary convolutional neural networks. CVPR 2017.
[5] Shangzhen Luan, et al. Gabor convolutional networks. TIP 2018.
[6] Ramachandran Prajit, et al. Stand-alone self-attention in vision models. NeurIPS 2019.
[7] Zitong Yu, et al. Dual-Cross Central Difference Network for Face Anti-Spoofing. IJCAI 2021.
[8] Zhuo Su, et al. Pixel Difference Networks for Efficient Edge Detection. ICCV 2021 (Oral)
[9] Li Liu, et al. Extended local binary patterns for texture classification. Image and Vision Computing 2012.
[10] Zitong Yu, et al. Searching multi-rate and multi-modal temporal enhanced networks for gesture recognition. TIP 2021.
[11] Shuyang Sun, et al. Optical flow guided feature: A fast and robust motion representation for video action recognition. CVPR 2018.
[12] Myunggi Lee, et al. Motion feature network: Fixed motion filter for action recognition. ECCV 2018.
[13] Klimack, Jason. A Study on Different Architectures on a 3D Garment Reconstruction Network. MS thesis. Universitat Politècnica de Catalunya, 2021.
[14] Zabihi Samad, et al. A Compact Deep Architecture for Real-time Saliency Prediction. arXiv 2020.
[15] Zhao Yu, et al. Video-Based Physiological Measurement Using 3D Central Difference Convolution Attention Network. IJCB 2021.
[16] Zitong Yu, et al. Multi-modal face anti-spoofing based on central difference networks. CVPRW 2020.
[17] Haoyu Chen, et al. 2nd place scheme on action recognition track of ECCV 2020 VIPriors challenges: An efficient optical flow stream guided framework. arXiv 2020.
[18] Yang et al. MTD-Net: Learning to Detect Deepfakes Images by Multi-Scale Texture Difference, TIFS 2021
[19] Liu et al. Beyond Vanilla Convolution: Random Pixel Difference Convolution on Face Perception. IEEE Access 2021
—版權聲明—
僅用于學術分享,版權屬于原作者。
若有侵權,請聯(lián)系微信號:yiyang-sy 刪除或修改!
