点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
本文作者:Fisher 鱼子 | 来源:知乎(已授权)
https://zhuanlan.zhihu.com/p/392986663
本文主要介绍由Oulu大学主导的几个差分卷积(Difference Convolution)工作及其在图像、视频领域中的应用。相关工作已被 TPAMI, TIP, CVPR'20, ICCV'21 (Oral), IJCAI'21 等顶级期刊会议接收,并斩获两项国际大赛冠亚军(1st Place in the ChaLearn multi-modal face anti-spoofing attack detection challenge with CVPR 2020 [16] 和 2nd Place on Action Recognition Track of ECCV 2020 VIPriors Challenges [17])。
1. 鼻祖LBP的简单回顾
在传统的手工特征中,比较经典的有Oulu提出的 LBP(Local Binary Patterns),即局部二值模式 [1],至今引用已有16000+。最初的LBP是定义在3×3邻域内的,以邻域中心像素为阈值,将相邻的8个像素的灰度值与其进行差分比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,邻域内的8个点经比较可产生8位二进制数(通常转换为十进制数即LBP码,共256种),即得到该邻域中心像素点的LBP值,并用这个值来反映该区域的纹理信息。
用公式表示为:
LBP算子运算速度快,同时聚合了邻域内的差分信息,对光照变化较为鲁棒;同时也能较好地描述细粒度的纹理信息,故在早期纹理识别,人脸识别等都被广泛应用。下图为人脸图像在做LBP变换后的LBP码图像,可以看出脸部局部纹理特征较好地被表征:
2. 中心差分卷积CDC在人脸活体检测中的应用 [2,3]
CDC代码链接:
https://github.com/ZitongYu/CDCN/blob/master/CVPR2020_paper_codes/models/CDCNs.py
Vanilla卷积通常直接聚合局部intensity-level的信息,故 1)容易受到外界光照等因素的影响;2)比较难表征细粒度的特征。在人脸活体检测任务中,前者容易导致模型的泛化能力较弱,如在未知的光照环境下测试性能较低;后者会导致难以学到防伪本质的细节信息,如spoof的材质。考虑到空间差分特征具有较强光照不变性,同时也包含更细粒度的spoof线索(如栅格效应,屏幕反射等),借鉴传统LBP的差分思想,我们提出了中心差分卷积(Central difference convolution, CDC)。
假定邻域 R为3x3区域,公式表达如下:
上图可见,当θ>0.3时,使用CDC效果总比单独Vanilla卷积要好(也就是θ=0)。我们也观察到,当θ=0.7时,该协议下活体检测性能处于最优,并优于LBConv [4]和GaborConv [5]。
3. 交叉中心差分卷积C-CDC在人脸活体检测中的应用 [7]
C-CDC代码链接:
https://github.com/ZitongYu/CDCN/blob/master/DC_CDN_IJCAI21.py
考虑到CDC需要对所有邻域特征都进行差分操作,存在着较大的冗余,同时各方向的梯度聚合使得网络优化较为困难,我们提出了交差中心差分卷积(Cross-CDC),将CDC解耦成水平垂直和对角线两个对称交叉的子算子:
具体实现只需将感受野从原本的3x3邻域 改成对应水平垂直或者对角方向的子邻域 即可。使用C-CDC(HV)或者C-CDC(DG)后,如下表所示,网络的参数量和FLOPs都大幅度减少,并取得与原本CDC媲美的性能。
在下图(b)消融实验中可见,相比CDC (ACER=1%),C-CDC(HV) 和 C-CDC(DG)也能取得相当的性能。有趣的是,如果对于VanillaConv进行HV或者DG方向的分解,性能就会下降得比较严重,intensity-level信息对于充足感受野范围需求较大。
4. 像素差分卷积PDC在边缘检测中的应用 [8]
PDC代码链接:
https://github.com/zhuoinoulu/pidinet
Code for ICCV 2021 paper "Pixel Difference Networks for Efficient Edge Detection"
在边缘检测中,如下图(a)所示,经典的传统操作子(如Roberts, Sobel和LoG)都采用差分信息来表征边缘上下文的突变及细节特征。而我们通过下图(b)中发现,经过训练的基于VanillaConv的CNN,其学习到Kernel存在着典型的高斯分布,使得卷积操作对邻域特征进行平滑,因此容易淹没边缘特征,跟传统操作子的差分操作不匹配。
为了高效地引入差分操作到CNN中,借鉴于Extended LBP (ELBP) [9],我们提出了像素差分卷积(Pixel difference convolution, PDC)。根据候选像素对的采样策略,PDC具体分为下图所示三种子形式,其中CPDC类似CDC对邻域特征进行中心差分;而APDC对邻域进行顺时针方向的两两差分;最后RPDC对更大感受野5x5邻域的外环与内环进行差分。
文中另外一个贡献是提出了高效转换PDC为VanillaConv的实现及推导证明,即先计算卷积核weights间的difference,接着直接对输入的特征图进行卷积。该tweak不仅可以加速training阶段,而且还可降低在inference阶段的额外差分计算量。以CPDC为例,转换公式如下:
具体的三种PDC如何组合效果最好,可阅读文章消融实验及分析。最后下图可视化了PiDiNet-Tiny网络配套VanillaConv或者PDC后的特征图及边缘预测。明显的是,使用PDC后,gradient信息的增强有利于更精确的边缘检测。
5. 时空差分卷积3D-CDC在视频手势/动作识别中的应用 [10]
3D-CDC代码链接:
https://github.com/ZitongYu/3DCDC-NAS/blob/master/3DCDC.py
不同于静态spatial图像分析,帧间的motion信息在spatio-temporal视频分析中往往扮演着重要角色。很多经典motion算子,如光流optical flow和动态图dynamic image的计算都或多或少包含着帧内spatial、帧间temporal、帧间spatio-temporal的差异信息。当下主流的3DCNN一般都采用vanilla 2D、3D、伪3D的卷积操作,故较难感知细粒度的时空差异信息。与部分已有工作设计额外Modules(如OFF [11],MFNet [12])的思路不同,我们设计了时空差分卷积(3D-CDC)来高效提取时空差异特征,可取代Vanilla3DConv,直插直用于任何3DCNN,并无额外参数开销。
如上图所示,3D-CDC家族有包含三种子卷积,来增强时域特征的同时服务于不同场景。如3DCDC-ST擅长于动态纹理表征;3D-CDC-T则更多捕捉精细的时域上下文信息;而3DCDC-TR则更耐抗时域间噪声扰动 。它们的generalized版本公式如下:(R''相邻帧)
下图给出了C3D模型基于3D-CDC家族的性能,可见针对不同模态(尤其是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测量 中。
7. 总结与展望
一方面,如何将可解释性强的经典传统算子(如LBP, HOG, SIFT等)融入到最新的DL框架(CNN,Vision Transformer,MLP-like等)中来增强性能(如准确率,迁移性,鲁棒性,高效性等),将是持续火热的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.
CVPR和ICCV 2021论文和代码下载
后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集
后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集
后台回复:Transformer综述,即可下载最新的两篇Transformer综述PDF
CVer-Transformer交流群成立
扫码添加CVer助手,可申请加入CVer-Transformer 微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。
一定要备注:研究方向+地点+学校/公司+昵称(如Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲长按加小助手微信,进交流群
▲点击上方卡片,关注CVer公众号