此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文,帮助大家解答疑惑。解读的系列文章,本人已进行创新点代码复现,有需要的朋友可关注私信我。
利用遥感图像对海面上舰船进行监控已成为目前研究的热点,为了解决传统舰船检测需人工选择特征、耗时耗力、原始YOLO算法对密集分布小目标检测精度不高的缺陷,提出了一种基于YOLOv5的遥感图像舰船检测方法,使用kaggle平台提供的遥感数据集,在Pytorch框架上训练,损失函数设计为CIOU-LESS,目标框的选择使用DIOU_NIMS算法,使被遮挡、重叠的目标检测效果增强。经实验对比,此目标检测模型对被遮挡、排列密集的舰船的检测精度优于其他模型,其平均检测精度由原始的88.75%提升到91.27%。
创新点:
1)损失函数
2)使用DIOU_NMS
YOLOv5中对于预测框的筛选采用NMS,本文使用DIOU_NMS,能提高对被重叠、被遮挡的目标的检测精度。
部分代码如下:
c = x[:, 5:6] * (0 if agnostic else max_wh) # classes
boxes, scores = x[:, :4] + c, x[:, 4] # boxes (offset by class), scores
#i = torchvision.ops.nms(boxes, scores, iou_thres) # NMS
i = NMS(boxes, scores, iou_thres, DIoU=True)
本文的实验数据集主要采用的是Kaggle平台上公开的舰船图像数据集,数据集中包含海峡、港口、海面等背景下的图像,也包含云雾、雨雪等气候环境干扰的图像。为了确保数据集的海量与复杂性,对其进行旋转扩充数后共计2000张图像,送到网络中学习。选取部分数据部分样本数据集如图所示。
1.对YOLOv5的损失函数及预测框的筛选函数进行优化,改进后的检测结果如所示。
2.与Faster R-CNN、YOLOV4、YOLOv5s、模型在相同的测试集进行实验对比,不同模型的检测性能如下表所示。
本文将YOLOv5目标检测网络模型应用到遥感图像舰船检测领域,并对网络的损失函数、预测框的筛选函数进行了改进,经实验证明,与深度学习传统的算法和其他的YOLO系列目标检测算法对比,改进的算法有效地提高了遥感图像中密集分布、被遮挡、重叠的舰船检测精度,较原算法的召回率提高了2.48%,准确率提高了2.74%。
注:论文原文出自张宏群(1、2、3)勇苗(1)郭玲玲(4)金云飞(4)陈 檑(1)(1.南京信息工程大学南京210044;2.南京信息工程大学江苏省大气环境与装备技术协同创新中心南京210044;3.南京信息工程大学滨江学院无锡214105;4.上海卫星工程研究所上海201100)
解读的系列文章,本人已进行创新点代码复现,有需要的朋友可关注下面公众号,私信我。