差分卷积在计算机视觉中的应用

点击下方卡片,关注“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值,并用这个值来反映该区域的纹理信息。

图1. LBP算子提取流程

用公式表示为:

LBP算子运算速度快,同时聚合了邻域内的差分信息,对光照变化较为鲁棒;同时也能较好地描述细粒度的纹理信息,故在早期纹理识别,人脸识别等都被广泛应用。下图为人脸图像在做LBP变换后的LBP码图像,可以看出脸部局部纹理特征较好地被表征:

图2. 人脸及其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)。

图3. 中心差分卷积CDC

假定邻域 R为3x3区域,公式表达如下:

图4. 在OULU-NPU数据集协议1上的消融实验,ACER值越低,性能越好。(a) CDC超参theta的影响; (b) 几种卷积性能对比

上图可见,当θ>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解耦成水平垂直和对角线两个对称交叉的子算子:

图5. 交差中心差分卷积。上为水平垂直方向C-CDC(HV),下为对角方向C-CDC(DG)

具体实现只需将感受野从原本的3x3邻域  改成对应水平垂直或者对角方向的子邻域  即可。使用C-CDC(HV)或者C-CDC(DG)后,如下表所示,网络的参数量和FLOPs都大幅度减少,并取得与原本CDC媲美的性能。

在下图(b)消融实验中可见,相比CDC (ACER=1%),C-CDC(HV) 和 C-CDC(DG)也能取得相当的性能。有趣的是,如果对于VanillaConv进行HV或者DG方向的分解,性能就会下降得比较严重,intensity-level信息对于充足感受野范围需求较大。

图6. 在OULU-NPU数据集协议1上的消融实验。(a) C-CDC超参theta的影响; (b) 卷积性能对比

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存在着典型的高斯分布,使得卷积操作对邻域特征进行平滑,因此容易淹没边缘特征,跟传统操作子的差分操作不匹配。

图7. 传统边缘检测算子与现代CNN卷子算子中Kernel参数分布

为了高效地引入差分操作到CNN中,借鉴于Extended LBP (ELBP) [9],我们提出了像素差分卷积(Pixel difference convolution, PDC)。根据候选像素对的采样策略,PDC具体分为下图所示三种子形式,其中CPDC类似CDC对邻域特征进行中心差分;而APDC对邻域进行顺时针方向的两两差分;最后RPDC对更大感受野5x5邻域的外环与内环进行差分。

图8. PDC的三种形式CPDC, APDC 和 RPDC

文中另外一个贡献是提出了高效转换PDC为VanillaConv的实现及推导证明,即先计算卷积核weights间的difference,接着直接对输入的特征图进行卷积。该tweak不仅可以加速training阶段,而且还可降低在inference阶段的额外差分计算量。以CPDC为例,转换公式如下:

具体的三种PDC如何组合效果最好,可阅读文章消融实验及分析。最后下图可视化了PiDiNet-Tiny网络配套VanillaConv或者PDC后的特征图及边缘预测。明显的是,使用PDC后,gradient信息的增强有利于更精确的边缘检测。

图9. 使用VanillaConv及PDC后的可视化效果

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,并无额外参数开销。

图10. (a) 3D-CDC-ST聚合局部时空区域内的所有中心差分信息; (b) 3D-CDC-T聚合相邻帧间的局部时空区域内的中心差分信息; (c) 3D-CDC-TR在计算差分前采用temporal average pooling融合上下文信息; (d) 使用不同卷积后的特征响应,可见3D-CDC能增强temporal间motion特征。

如上图所示,3D-CDC家族有包含三种子卷积,来增强时域特征的同时服务于不同场景。如3DCDC-ST擅长于动态纹理表征;3D-CDC-T则更多捕捉精细的时域上下文信息;而3DCDC-TR则更耐抗时域间噪声扰动 。它们的generalized版本公式如下:(R''相邻帧)

下图给出了C3D模型基于3D-CDC家族的性能,可见针对不同模态(尤其是RGB和光流),在大部分  取值 下3D-CDC-T和3D-CDC-TR能带来额外的视频表征收益( θ=0 仅为使用Vanilla3DConv)。

图11. Chalearn IsoGD上关于3D-CDC及超参theta值在三种模态上RGB、Depth、光流的实验。

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公众号

整理不易,请点赞和在看

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值