一、本文介绍
本文给大家带来的改进机制是2024-1月的最新成果DCNv4,其是DCNv3的升级版本,效果可以说是在目前的卷积中名列前茅了,同时该卷积具有轻量化的效果!一个DCNv4参数量下降越15Wparameters左右,。它主要通过两个方面对前一版本DCNv3进行改进:首先,它移除了空间聚合中的softmax归一化,这样做增强了其动态特性和表达能力;其次,它优化了内存访问过程,以减少冗余操作,从而加快处理速度。DCNv4的表现可以说是非常的全面,同时该网络为新发目前存在大量使用Bug我均已修复。欢迎大家订阅本专栏,本专栏每周更新3-5篇最新机制,更有包含我所有改进的文件和交流群提供给大家。欢迎大家订阅我的专栏一起学习YOLO!
专栏回顾:YOLOv8改进系列专栏——本专栏持续复习各种顶会内容——科研必备
二、DCNv4原理
2.1 DCNv4的基本原理
DCNv4(Deformable Convolution v4)是一种改进的卷积网络操作符,专为提高计算机视觉应用的效率和效果而设计。它主要通过两个方面对前一版本DCNv3进行改进:首先,它移除了空间聚合中的softmax归一化,这样做增强了其动态特性和表达能力;其次,它优化了内存访问过程,以减少冗余操作,从而加快处理速度。这些改进使DCNv4在各种视觉任务中,例如图像分类和生成,表现出更快的收敛速度和更高的处理效率。
DCNv4的主要特点可以分为以下两点:
1. 动态特性增强:通过移除空间聚合中的softmax归一化,DCNv4增强了其动态特性和表达能力。
2. 内存访问优化:DCNv4优化了内存访问过程,减少了冗余操作,从而提高了处理速度。
下图展示了DCNv4与其他空间聚合核心操作符的比较:
在处理同一通道内不同位置的查询像素时:
a) DCNv3使用有界(0到1范围内)动态权重聚合空间特征,采样点集(注意力集)对于每个位置是相同的。
b) DCNv3对于每个位置使用一个专用的窗口。
c) 传统卷积提供更灵活的无界值范围以聚合权重,并使用固定形状和大小的窗口。
d) DCNv4结合了动态形状和大小的窗口、自适应感受野以及无界值范围的动态聚合权重,对于每个位置都是输入依赖的。
2.2 动态特性增强
在DCNv4中,动态特性增强的实现对于计算机视觉模型的适应性和灵活性是一个重要进步。这一特性使得DCNv4能够更加有效地处理图像中的形变和动态变化,尤其是在那些需要精细调整感受野以识别不同尺寸和形状对象的场景中。通过去除之前版本中的softmax归一化,DCNv4的每个卷积核都能自适应地调整其聚合权重,对每个像素的响应不再受到固定范围的限制。这种灵活性的增加对于提升模型在处理不同分辨率、不同尺度的物体时的性能至关重要,尤其是在图像生成和高级图像理解任务中表现得更为明显。
2.3 内存访问优化
下图展示了DCNv4在优化内存访问方面的改进:
与DCNv3相比,DCNv4使用一个线程来处理同一组中的多个通道,这些通道共享采样偏移和聚合权重。这种方法减少了像内存读取和双线性插值系数计算这样的工作量,并且可以合并多个内存访问指令。结果是,DCNv4减少了内存访问需求,如图所示,与DCNv3相比,它能够减少一半的内存访问输出张量。这种优化提高了处理速度,并减少了计算资源的使用。