ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

第22章:YOLOv5船舶目标检测+注意力模块改进对比,卫星遥感船舶识别实战

第22章:YOLOv5船舶目标检测+注意力模块改进对比,卫星遥感船舶识别实战 YOLOv5船舶目标检测多骨干网络注意力模块改进对比卫星遥感船舶识别实战前言最近在做遥感图像船舶检测任务数据集是自己整理的遥感海面船舶切片训练集1731张验证集433张。遥感场景做船舶检测难点挺多海面波纹干扰、光照变化、船舶尺度差异大还有云雾遮挡小目标船舶很容易漏检。一开始直接跑原生YOLOv5效果不算差但想看看不同骨干网络、不同模块对遥感船舶这个场景到底能带来多大提升于是挨个替换backbone也尝试了C2f、SE注意力这些模块做了一组对照实验把踩坑记录和结果整理出来。数据集划分train:1731val:433类别只有ship一类遥感卫星图像图片里船舶大多是细长条状小目标背景是海面部分样本带有云、海浪杂波干扰。一、实验方案基于YOLOv5s源码进行改造保持训练参数、数据集、输入分辨率完全一致只改动网络结构控制变量对比原生YOLOv5baseline基准YOLOv5 EfficientNet骨干YOLOv5 GhostNet骨干YOLOv5 MobileNet骨干YOLOv5 Swin-Transformer骨干YOLOv5 VGG骨干YOLOv5 ResNet骨干YOLOv5 ShuffleNet骨干YOLOv5 添加C2f模块YOLOv5 添加SE注意力机制模块训练配置统一设置输入尺寸640×640批次大小batch-size8迭代轮次epochs100优化器Adam学习率采用YOLOv5默认的余弦退火策略数据集做了基础增强随机翻转、缩放、马赛克增强适配遥感图像二、遥感船舶检测难点分析遥感图像里的船舶和日常摄像头里的目标完全不一样目标是细长小目标占整张图像素占比很低特征弱海面纹理复杂波浪、海水色差很容易和船舶混淆造成大量误检部分图片存在云雾遮挡目标局部被覆盖特征残缺船舶朝向任意角度多变横向、斜向都有。原生YOLOv5的CSPDarknet骨干在普通实景图效果很好但对遥感小目标特征提取能力还有优化空间这也是我做多种骨干替换的原因。三、各方案实验结果与分析这里只说我实际跑出来的直观感受mAP、召回率这些指标可以根据自己实验数据填充。原生YOLOv5 baseline作为对照组基础模型推理速度快但是云雾场景、极小船舶漏检偏多海面杂波带来少量误检mAP作为基准。GhostNet / MobileNet / ShuffleNet 轻量骨干这三个都是轻量化网络参数量、计算量明显下降推理速度更快。适合后续部署到嵌入式设备。但是代价很明显特征提取能力下降遥感小船舶mAP会掉一点。适合场景需要端侧部署对速度优先精度要求不是极致的场景。GhostNet在三者里精度损失最小。ResNet、VGG、EfficientNetResNet的特征提取能力更强对复杂海面背景鲁棒性更好mAP相比baseline有小幅上涨模型参数量会变大训练时间更长。VGG结构简单但参数量巨大收敛慢效果不如ResNet不太推荐遥感小目标场景。EfficientNet依靠复合缩放策略在精度和参数量之间平衡不错对比原生骨干有提升训练稳定性尚可。Swin-Transformer骨干Swin Transformer基于窗口自注意力全局信息捕捉能力很强对海面大范围背景和船舶目标区分效果好抗云雾干扰能力最强。缺点非常突出训练显存占用巨大训练慢推理延迟高对硬件要求高。单纯做船舶检测如果没有高端显卡训练成本很高。适合追求高精度不看重实时推理速度的场景。增加C2f模块C2f来自YOLOv8替换YOLOv5原生C3模块。增加更多分支梯度流动特征融合更充分。在我的船舶数据集上mAP有明显提升小目标召回率提升很明显同时参数量增加不算夸张性价比很高。这个改进是我最推荐的。SE注意力模块SE通道注意力对特征通道做权重重标定让网络重点关注船舶有效特征抑制海面背景无用特征。加SE之后误检数量减少海面波纹带来的虚警少了。但是只加SE提升幅度有限单独使用不如C2f提升明显。可以考虑C2fSE组合进一步优化。四、踩坑记录重点替换骨干网络时一定要匹配输入的通道数以及颈部Neck部分的通道维度很多人直接替换骨干不修改neck的输入通道直接报维度错误这个坑我踩过。遥感数据集小目标多不要盲目调高输入分辨率分辨率越高显存占用爆炸640是我权衡后的选择。Swin Transformer替换骨干的时候预训练权重加载很关键不加载预训练权重很难收敛精度会很差。数据集问题我这个数据集一共2164张train1731val433属于中小数据集用Swin这种大模型很容易过拟合训练到后期验证集mAP不再上涨甚至下降需要加早停、正则。轻量化骨干在小数据集上更容易欠拟合精度掉的比大数据集明显。五、结论如果追求精度优先不考虑部署速度YOLOv5Swin Transformer抗云雾、小目标检测效果最好但训练成本高容易过拟合。如果追求精度和速度平衡性价比最高YOLOv5引入C2f模块或者C2fSE注意力是遥感船舶检测首选提升明显参数量增加可控。如果需要模型轻量化嵌入式部署YOLOv5替换GhostNet骨干速度快精度损失相对最小。VGG不太推荐用于这个遥感船舶任务参数量大收益低。后续计划尝试C2fSEGhostNet组合在保证精度的前提下压缩模型做轻量化遥感船舶检测模型后续会继续更新实验结果。结尾遥感小目标检测本身难度不小不同骨干网络没有绝对的好坏要根据你的任务需求精度、推理速度、部署硬件选择。如果你也在做卫星遥感船舶检测或者YOLOv5骨干替换遇到报错欢迎在评论区一起交流。下载连接https://download.csdn.net/download/qq_44886601/93642909
返回列表