admin管理员组

文章数量:1794759

YoloV10改进策略:卷积篇

摘要

在PConv的基础上做了二次创新,创新后的模型不仅在精度和速度上有了质的提升,还可以支持Stride为2的降采样。改进方法简单高效,需要发论文的同学不要错过!

链接:

代码语言:javascript代码运行次数:0运行复制
.2014.3001.5502

论文指导

PConv在论文中的描述

论文:下面我们展示了可以通过利用特征图的冗余来进一步优化成本。如图3所示,不同通道之间的特征图具有高度的相似性。这种冗余也在许多其他工作中被涵盖[17,82],但很少有人以简单而有效的方式充分利用它。

具体来说,我们提出了一种简单的PConv来同时减少计算冗余和内存访问。图4的左下角说明了我们的PConv是如何工作的。它只是简单地对部分输入通道应用常规变换以进行空间特征提取,并保持其余通道不变。对于连续或常规的内存访问,我们认为第一个或最后一个连续cp通道是整个特征映射的代表,用于计算。在不损失通用性的情况下,我们认为输入和输出特征图具有相同的通道数。因此,PConv的FLOPs只是

在典型的部分比时,PConv的FLOPs仅为普通Conv的,且PConv具有较小的内存访问量,即:

这只是的正则表达式,。

由于只有通道用于空间特征提取,人们可能会问,我们是否可以简单地删除剩余的通道?如果是这样,PConv将降级为具有较少通道的常规Conv,这偏离了我们减少冗余的目标。请注意,我们保持其余通道不变,而不是从特征图中删除它们。这是因为它们对后续的PWConv层很有用,该层允许特征信息通过所有通道。

为了充分和有效地利用来自所有通道的信息,进一步在PConv中添加逐点卷积(PWConv)。它们在输入特征图上的有效感受野一起看起来像一个t形的Conv,与均匀处理patch的常规Conv相比,它更侧重于中心位置,如图5所示。为证明这种t型感受野的合理性,首先通过计算位置上的Frobenius范数来评估每个位置的重要性。我们假设,如果一个头寸的Frobenius范数比其他头寸更大,那么该头寸往往更重要。对于一个普通的Conv滤波器,位置i处的Frobenius范数是由计算的,对于。我们认为显著位置是具有最大Frobenius范数的位置。然后,在预训练的ResNet18中集体检查每个滤波器,找出它们的显著位置,并绘制显著位置的直方图。从图6的结果可以看出,中心位置是滤波器中出现频率最高的显著位置。换句话说,中心位置比周围的邻居更重要。这与集中在中心位置的t型计算是一致的。

虽然t型卷积可以直接用于高效计算,但最好将t型卷积分解为PConv和PWConv,因为分解利用了滤波器间的冗余,进一步节省了计算量。对于相同的输入和输出, t型Conv的计算结果可以这样计算

这比PConv和PWConv的FLOPs要高,即:

和(例如当。此外,我们可以轻松地利用常规转换进行两步实现。

改进YoloV10的描述

在本文中,我们针对YoloV9网络结构中的Bottleneck模块提出了一种新的改进方法。为了进一步提高网络的特征表示能力和效率,我们将部分卷积(PConv)与通道混洗(ShuffleChannel)和逐点卷积(Pointwise Convolution)相结合,形成了一种新型的卷积模块,并将其替换了模块中的普通卷积。

具体而言,我们的改进方法首先采用PConv对输入特征图的部分通道进行空间特征提取,以捕捉重要的局部信息并减少计算冗余。接着,为了打破通道间的固定关系并增强特征的非线性,我们引入了ShuffleChannel操作,对PConv的输出特征图进行通道顺序的重排。这一步骤有助于促进信息在不同通道间的流动,从而增强网络的特征表示能力。

在ShuffleChannel之后,我们应用了一个1×1的卷积层(逐点卷积)。这一卷积层不仅允许我们根据需要对通道数进行灵活的调整,以适应后续网络层的输入要求,同时还能够在每个空间位置上独立地组合不同通道的信息,进一步增强网络的非线性。此外,根据网络设计的需要,我们还可以在1×1卷积之后添加非线性激活函数(如ReLU),以引入更多的非线性并提升模型的复杂性。

通过将这一改进的卷积模块应用到YoloV10网络结构中的Bottleneck模块中,我们期望能够在保持网络结构紧凑的同时,进一步提高网络的性能。这种改进方法不仅减少了计算量和内存消耗,还有助于增强模型的特征表示能力,从而提高目标检测的准确性和效率。在后续的实验中,我们将验证这一改进方法的有效性,并探讨其在不同应用场景下的性能和泛化能力。

测试结果

代码语言:javascript代码运行次数:0运行复制
YOLOv10l summary (fused): 497 layers, 17534672 parameters, 0 gradients, 70.4 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 15/15 [00:02<00:00,  5.20it/s]
                   all        230       1412      0.913      0.907      0.979      0.717
                   c17        230        131      0.966      0.954      0.989      0.793
                    c5        230         68      0.923      0.886      0.978      0.806
            helicopter        230         43      0.927       0.93      0.945      0.569
                  c130        230         85      0.959      0.953      0.985      0.638
                   f16        230         57          1      0.918      0.969      0.643
                    b2        230          2      0.726          1      0.995      0.714
                 other        230         86      0.908      0.942      0.965      0.499
                   b52        230         70      0.842      0.886      0.939      0.771
                  kc10        230         62      0.934      0.916      0.977      0.812
               command        230         40      0.925      0.925      0.983      0.747
                   f15        230        123      0.959      0.953      0.991      0.665
                 kc135        230         91       0.94      0.978      0.983      0.675
                   a10        230         27      0.903      0.815       0.91      0.502
                    b1        230         20      0.951      0.976       0.99      0.736
                   aew        230         25      0.924      0.977      0.986      0.783
                   f22        230         17      0.879          1      0.995      0.769
                    p3        230        105      0.952      0.962      0.992      0.792
                    p8        230          1      0.691          1      0.995      0.697
                   f35        230         32       0.96      0.744      0.945      0.537
                   f18        230        125      0.946      0.992      0.986      0.798
                   v22        230         41      0.976      0.979      0.994        0.7
                 su-27        230         31      0.961          1      0.995      0.833
                 il-38        230         27      0.839      0.963      0.968      0.739
                tu-134        230          1      0.709          1      0.995      0.895
                 su-33        230          2          1          0      0.995      0.697
                 an-70        230          2          1      0.883      0.995      0.746
                 tu-22        230         98      0.948      0.949      0.989      0.789

总结

完整代码链接:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2024-09-04,如有侵权请联系 cloudcommunity@tencent 删除论文模型内存网络性能

本文标签: YoloV10改进策略卷积篇