admin管理员组

文章数量:1794759

YoloV8改进策略:CoordConv给卷积加上坐标,从而使其具备了空间感知能力

摘要

传统卷积具备平移不变性,这使得其在应对分类等任务时可以更好的学习本质特征。但是,当需要感知位置信息时,传统卷积就有点力不从心了。为了使得卷积能够感知空间信息,作者在输入feature map后面增加了两个coordinate通道,分别表示原始输入的x和y坐标,然后再进行传统卷积,从而使得卷积过程可以感知feature map的空间信息,该方法称之为CoordConv。使用了CoordConv之后,能够使得网络可以根据不同任务需求学习平移不变性或者一定程度的平移依赖性。

论文链接:.03247.pdf GitHub:

CoordConv的构造如下图所示:

与传统卷积相比,CoordConv就是在输入的feature map后面增加了两个通道,一个表示x坐标,一个表示y坐标,后面就是与正常卷积过程一样了。

传统卷积具备三个特性:参数少、计算高效、平移不变性。而CoordConv则仅继承了其前两个特性,但运行网络自己根据学习情况去保持或丢弃平移不变性。看似这会损害模型的归纳能力,但其实拿出一部分网络容限能力去建模非平移不变性,实际上会提升模型的泛化能力。

事实上,如果CoordConv的坐标通道没有学习到任何信息,那么CoordConv此时就等价于传统卷积,具备了传统卷积完全的平移不变性;而如果坐标通道学习到了 一定的信息,那么此时CoordConv就具备了一定的平移依赖性。可见,CoordConv的平移不变性和平移依赖性是可以根据不同任务进行动态调整的。就像残差连接那样,即可以进行恒等映射,又可以多学习一部分内容。因此,我们完全可以在需要感知空间信息的时候使用CoordConv,一方面增加不了多少计算量,另一方面对平移不变性也没有完全消除,而是让网络根据任务的不同学习不同程度的平移不变性和平移依赖性。

本文将CoordConv加入到YoloV8中,我们一起看看效果如何?

Yolov8官方结果

代码语言:javascript代码运行次数:0运行复制
YOLOv8l summary (fused): 268 layers, 43631280 parameters, 0 gradients, 165.0 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 29/29 [
                   all        230       1412      0.922      0.957      0.986      0.737
                   c17        230        131      0.973      0.992      0.995      0.825
                    c5        230         68      0.945          1      0.995      0.836
            helicopter        230         43       0.96      0.907      0.951      0.607
                  c130        230         85      0.984          1      0.995      0.655
                   f16        230         57      0.955      0.965      0.985      0.669
                    b2        230          2      0.704          1      0.995      0.722
                 other        230         86      0.903      0.942      0.963      0.534
                   b52        230         70       0.96      0.971      0.978      0.831
                  kc10        230         62      0.999      0.984       0.99      0.847
               command        230         40       0.97          1      0.995      0.811
                   f15        230        123      0.891          1      0.992      0.701
                 kc135        230         91      0.971      0.989      0.986      0.712
                   a10        230         27          1      0.555      0.899      0.456
                    b1        230         20      0.972          1      0.995      0.793
                   aew        230         25      0.945          1       0.99      0.784
                   f22        230         17      0.913          1      0.995      0.725
                    p3        230        105       0.99          1      0.995      0.801
                    p8        230          1      0.637          1      0.995      0.597
                   f35        230         32      0.939      0.938      0.978      0.574
                   f18        230        125      0.985      0.992      0.987      0.817
                   v22        230         41      0.983          1      0.995       0.69
                 su-27        230         31      0.925          1      0.995      0.859
                 il-38        230         27      0.972          1      0.995      0.811
                tu-134        230          1      0.663          1      0.995      0.895
                 su-33        230          2          1      0.611      0.995      0.796
                 an-70        230          2      0.766          1      0.995       0.73
                 tu-22        230         98      0.984          1      0.995      0.831
Speed: 0.2ms preprocess, 3.8ms inference, 0.0ms loss, 0.8ms postprocess per image

测试结果

代码语言:javascript代码运行次数:0运行复制
YOLOv8l summary (fused): 288 layers, 45647792 parameters, 0 gradients, 175.4 GFLOPs
                   all        230       1412      0.969      0.963      0.988      0.747
                   c17        230        131      0.985      0.978      0.995      0.831
                    c5        230         68      0.995          1      0.995      0.833
            helicopter        230         43      0.969      0.977       0.98      0.616
                  c130        230         85      0.987          1      0.995      0.666
                   f16        230         57          1      0.911      0.984      0.651
                    b2        230          2      0.904          1      0.995      0.796
                 other        230         86          1       0.93      0.977      0.573
                   b52        230         70       0.97      0.935      0.977      0.824
                  kc10        230         62      0.996      0.968      0.988      0.843
               command        230         40      0.964          1      0.995      0.832
                   f15        230        123      0.951      0.984      0.993      0.702
                 kc135        230         91      0.973      0.978      0.988      0.713
                   a10        230         27          1       0.55      0.889      0.441
                    b1        230         20      0.982       0.95      0.993      0.759
                   aew        230         25      0.953          1      0.995      0.799
                   f22        230         17      0.961          1      0.995       0.73
                    p3        230        105          1      0.981      0.995      0.813
                    p8        230          1      0.858          1      0.995      0.697
                   f35        230         32          1      0.889      0.993      0.607
                   f18        230        125      0.979      0.984      0.994      0.831
                   v22        230         41      0.995          1      0.995      0.714
                 su-27        230         31      0.989          1      0.995      0.858
                 il-38        230         27      0.986          1      0.995      0.855
                tu-134        230          1      0.884          1      0.995      0.895
                 su-33        230          2      0.986          1      0.995      0.663
                 an-70        230          2      0.902          1      0.995      0.796
                 tu-22        230         98      0.998          1      0.995      0.837
Speed: 0.4ms preprocess, 5.6ms inference, 0.0ms loss, 1.9ms postprocess per image

从测试结果上看,CoordConv还是起到了作用,在参数适当的提升下,还是提高了成绩的!

文章和代码链接:

.2014.3001.5502

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

本文标签: YoloV8改进策略CoordConv给卷积加上坐标,从而使其具备了空间感知能力