摘要
在本文中,我们创新性地将ACConv2d模块引入到YoloV9目标检测模型中,通过对YoloV9中原有的Conv卷积层进行替换,实现了模型性能的大幅提升。ACConv2d模块基于不对称卷积块(ACB)的设计思想,利用1D非对称卷积(1×3和3×1卷积)来增强标准方形卷积核(如3×3卷积)的表征能力。这一创新不仅增强了模型的特征提取能力,还通过引入分组卷积的策略进一步降低了运算量,从而在保证模型精度的同时,提升了运行效率。
核心改进概述:
-
ACConv2d模块替换:我们直接替换YoloV9中的所有标准Conv卷积层为ACConv2d模块。ACConv2d模块内部集成了3×3、1×3和3×1三种不同尺寸的卷积核,并通过并行处理及特征图融合的方式,显著增强了模型的表征能力。
-
分组卷积优化:为了进一步降低运算量,我们对ACConv2d模块中的3×3卷积层进行了分组卷积改造。分组卷积通过将输入特征图分成多个小组,并在每个小组内独立进行卷积操作,有效减少了模型参数和计算复杂度,同时保持了良好的性能。
主要优点:
-
性能显著提升:实验结果表明,使用ACConv2d模块替换后的YoloV9模型在多个基准数据集上均取得了显著的性能提升,验证了ACConv2d模块在增强模型特征提取能力方面的有效性。
-
计算效率优化:通过引入分组卷积策略,我们在提升模型精度的同时,有效降低了运算量,使得模型在保持高性能的同时,能够更快地进行推理,适应于实时检测等应用场景。
-
易于实现与集成:ACConv2d模块作为一种即插即用的架构中立结构,可以方便地集成到各种成熟的CNN模型中,无需对现有模型结构进行大幅修改,降低了使用门槛。
-
增强模型鲁棒性:进一步的研究表明,ACConv2d模块还有助于增强模型对旋转畸变等变换的鲁棒性,这对于处理实际场景中的复杂变化具有重要意义。
ACConv2d模块在YoloV9中的创新应用不仅显著提升了模型的检测精度和计算效率,还增强了模型的鲁棒性,为目标检测领域的研究和应用提供了新的思路和方法。我们期待ACConv2d模块在未来能够在更多模型中发挥重要作用,推动目标检测技术的持续进步。
代码
class ACConv2d(nn.Module):def __init__(self, in_channels, out_channels, kernel_size=3, stride=1, padding=1, bias=True):super(ACConv2d, self).__init__()self.conv = nn.Conv2d(in_channels, out_channels, kernel_size=kernel_size,stride=stride, padding=padding, bias=True,groups=math.gcd(in_channels,out_channels))self.ac1 = nn.Conv2d(in_channels, out_channels, kernel_size=(1, kernel_size),stride=stride, padding=(0, padding), bias=True)self.ac2 = nn.Conv2d(in_channels, out_channels, kernel_size=(kernel_size, 1),stride=stride, padding=(padding, 0), bias=True)def forward(self, x):ac1 = self.ac1(x)ac2 = self.ac2(x)x = self.conv(x)return (ac1 + ac2 + x) / 3
测试结果
yolov9-c summary: 699 layers, 49272288 parameters, 0 gradients, 231.2 GFLOPsClass Images Instances P R mAP50 mAP50-95: 100%|██████████| 15/15 00:03all 230 1412 0.949 0.97 0.991 0.746c17 230 131 0.982 0.992 0.993 0.829c5 230 68 0.973 1 0.995 0.849helicopter 230 43 0.976 0.966 0.985 0.654c130 230 85 0.993 1 0.995 0.703f16 230 57 0.964 0.965 0.984 0.691b2 230 2 1 0.834 0.995 0.647other 230 86 0.961 0.93 0.951 0.545b52 230 70 0.977 0.971 0.983 0.81kc10 230 62 0.989 0.984 0.988 0.838command 230 40 0.971 1 0.995 0.806f15 230 123 0.995 0.984 0.995 0.66kc135 230 91 0.973 0.989 0.98 0.708a10 230 27 0.98 0.963 0.986 0.532b1 230 20 0.981 1 0.995 0.695aew 230 25 0.94 1 0.992 0.772f22 230 17 0.96 1 0.995 0.763p3 230 105 0.98 1 0.995 0.812p8 230 1 0.667 1 0.995 0.697f35 230 32 0.959 1 0.995 0.613f18 230 125 0.984 0.991 0.988 0.812v22 230 41 0.984 1 0.995 0.708su-27 230 31 0.982 1 0.995 0.845il-38 230 27 0.969 1 0.995 0.83tu-134 230 1 0.696 1 0.995 0.895su-33 230 2 1 0.628 0.995 0.722an-70 230 2 0.813 1 0.995 0.895tu-22 230 98 0.984 1 0.995 0.804