可变形卷积网络 | Deformable Network

简介: 可变形卷积网络 | Deformable Network

b69441eb92b25e118177dafe76151e90.png

所要解决的问题


视觉识别的关键挑战是如何在对象比例、姿势等形变问题上适应几何变化或对几何转换建模。一般情况下有以下两种方法:

  • 1、通常是对数据集进行仿射变换。如角度变化、剪切等以此来扩充数据集,增加算法的鲁棒性。
  • 2、使用变换不变的特征和算法。如SIFT和基于滑动窗口的对象检测。

这两种方法都有很大的局限性:几何形变被假设是固定和已知的,这是一种先验信息,用这些已知的形变去处理未知的形变是不合理的;手工设计的特征或算法无法应对过度复杂的形变,即使该形变是已知的。

所以本文作者提出了两种模块可以大大提高CNN对目标几何变换的鲁棒性。

简介


本文提出了两种模块:

  • Deformable convolution:它将2D偏移量添加到标准卷积中的常规网格采样位置,可以使采样网格自由变形。如下图所示。这些offset是通过附加的卷积层从前面的特征图中学习的。因此,变形以局部,密集和自适应的方式取决于输入特征。

63c2d88d1fc282c5a38890d3f0002e3a.png

(a)是常见的3x3卷积核的采样方式,(b)是采样可变形卷积,加上偏移量之后的采样点的变化,其中(c)(d)是可变形卷积的特殊形式

  • Deformable ROI polling:它为ROI Pooling的常规bin分区的每个位置添加了一个offsetoffset也是从先前的特征图和ROI polling中学习,从而可以对具有不同形状的对象进行自适应定位。

这两个模块都是轻量级的,它们为offset learning添加少量参数和计算,可以很稳定的替换CNN中的常规卷积。并可以通过反向传播进行端到端的训练。

Deformable Convolution Networks


Deformable convolution


在可变形卷积中,可变形卷积操作和池化操作都是2维的,都是在同一channel上进行的,常规的卷积操作主要可以分为两部分:

(1)在输入的feature map上使用规则网格R进行采样;

(2)进行加权运算,R定义了感受野的大小和扩张。

常规卷积对于在输出的feature map上的每个位置P0,通过下列式子进行计算:

86d6bb855e63ceb556616fdcb4f87ee1.png

其中,Pn是对R中所列位置的枚举。

可变形卷积的操作是不同的,在可变形网络的操作中,常规的规则网格R通过增加一个偏移量进行扩张,同样的位置P0变为:

c31b40e27aa11d2d5e81eb73afe57310.png

现在,采样的位置变成了不规则位置,由于偏移量△Pn通常是小数,因此我们通过双线性插值法进行实现,公式为:

8587d3399aa459399d1fdf2039d740da.png

如下图所示,大体流程为,在输入的feature map中,原始的通过sliding window得到的是绿框,引入可变形卷积后,我们把原来的卷积网路分为两路,共享input feature map,其中上面的一路用一个额外的conv层来学习offset,得到HW2N的输出offset,其中,2N的意思是有x,y两个方向的偏移,得到这个之后,我们对原始卷积的每一个窗口,都不再是原来规整的sliding window(input feature map中的绿框)而是经过平移后的window(input feature map中的篮框),取得数据后计算过程和常规卷积一样,即input feature map和offset共同作为deformable conv层的输入。

9220db9a1ec38f9bbe6f4fa2a9583026.png

Deformable ROI Polling


ROI Pooling模块是two-stage中常见的池化方法,基于目标检测方法中所有的region proposal。将任意输入大小的矩形调整为固定尺寸大小的feature。给定input feature map x 和一个大小为w * h,位于左上角的区域P0,ROI Pooling将会把这个ROI划分为k*k个bins,同时输出一个size为k * k的feature map y,可以用如下公式表示:

5406a882c37ce5b38ced5ed9f7ef9b69.png

其中,nij是bin中像素的数量 有了这个基础,我们再来看可变形池化,公式如下:

83be8e267188934947874c70e9ed862e.png

相比普通ROI Pooling,同样增加了一个offset,下图为其网络结构:具体操作为,首先,通过普通的ROI Pooling得到一个feature map,如下图中的绿色块,通过得到的这个feature map,加上一个全连接层,生成每一个位置的offset,然后按照上面的公式得到△Pij,为了让offset的数据和ROI 的尺寸匹配,需要对offset进行微调。全连接层的参数可以通过反向传播进行学习。

1211dcb2748b48c945926e266bbd6383.png

把可变形卷积用在SOTA网络结构上


ccb5d105026dc47a1b98406a9ac0186d.png

可变形过滤器的三个级别采样位置

a697fe3a54232ee9ce195afaab6bc6ff.png

可变形ROI Polling的offset阐述

可变形卷积应用在RCNN、Faster-RCNN等SOTA网络架构


54e791ed7bd2152222e6cc2532028ca9.png

c5589a31e5f66ad85e1a2be3dae77434.png

由上述表可以得到:把Deformable ConvNet应用到RCNN、Faster—RCNN上,性能都得到了不错的提升,说明可变形网络可行且有效。

结论


本文提出了可变形的ConvNets,它是一种简单,高效,深入且端到端的解决方案,用于对密集的空间变换进行建模。结果表明,对于复杂的视觉任务,比如目标检测和语义分割,可变形卷积都可以大幅度提高各项性能。

简单的代码实现


https://github.com/4uiiurz1/pytorch-deform-conv-v2

相关文章
|
1月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
2月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
340 11
|
9月前
|
机器学习/深度学习 编解码 自动驾驶
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
332 3
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
|
5月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化TCN-LSTM时间卷积神经网络时间序列预测算法matlab仿真
本内容展示了一种基于粒子群优化(PSO)与时间卷积神经网络(TCN)的时间序列预测方法。通过 MATLAB2022a 实现,完整程序运行无水印,核心代码附详细中文注释及操作视频。算法利用 PSO 优化 TCN 的超参数(如卷积核大小、层数等),提升非线性时间序列预测性能。TCN 结构包含因果卷积层与残差连接,结合 LSTM 构建混合模型,经多次迭代选择最优超参数,最终实现更准确可靠的预测效果,适用于金融、气象等领域。
|
2月前
|
机器学习/深度学习 传感器 数据采集
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
185 0
|
3月前
|
XML JSON JavaScript
从解决跨域CSOR衍生知识 Network 网络请求深度解析:从快递系统到请求王国-优雅草卓伊凡
从解决跨域CSOR衍生知识 Network 网络请求深度解析:从快递系统到请求王国-优雅草卓伊凡
108 0
从解决跨域CSOR衍生知识 Network 网络请求深度解析:从快递系统到请求王国-优雅草卓伊凡
|
4月前
|
机器学习/深度学习 人工智能 PyTorch
零基础入门CNN:聚AI卷积神经网络核心原理与工业级实战指南
卷积神经网络(CNN)通过局部感知和权值共享两大特性,成为计算机视觉的核心技术。本文详解CNN的卷积操作、架构设计、超参数调优及感受野计算,结合代码示例展示其在图像分类、目标检测等领域的应用价值。
241 7
|
6月前
|
机器学习/深度学习 人工智能 算法
深度解析:基于卷积神经网络的宠物识别
宠物识别技术随着饲养规模扩大而兴起,传统手段存在局限性,基于卷积神经网络的宠物识别技术应运而生。快瞳AI通过优化MobileNet-SSD架构、多尺度特征融合及动态网络剪枝等技术,实现高效精准识别。其在智能家居、宠物医疗和防走失领域展现广泛应用前景,为宠物管理带来智能化解决方案,推动行业迈向新高度。
|
6月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化TCN时间卷积神经网络时间序列预测算法matlab仿真
本内容介绍了一种基于PSO(粒子群优化)改进TCN(时间卷积神经网络)的时间序列预测方法。使用Matlab2022a运行,完整程序无水印,附带核心代码中文注释及操作视频。TCN通过因果卷积层与残差连接处理序列数据,PSO优化其卷积核权重等参数以降低预测误差。算法中,粒子根据个体与全局最优位置更新速度和位置,逐步逼近最佳参数组合,提升预测性能。
|
5月前
|
机器学习/深度学习 数据采集 监控
基于CNN卷积神经网络和GEI步态能量提取的步态识别算法matlab仿真,对比不同角度下的步态识别性能
本项目基于CNN卷积神经网络与GEI步态能量提取技术,实现高效步态识别。算法使用不同角度(0°、45°、90°)的步态数据库进行训练与测试,评估模型在多角度下的识别性能。核心流程包括步态图像采集、GEI特征提取、数据预处理及CNN模型训练与评估。通过ReLU等激活函数引入非线性,提升模型表达能力。项目代码兼容Matlab2022a/2024b,提供完整中文注释与操作视频,助力研究与应用开发。

热门文章

最新文章