摘要
<font color=Red size=5>涨点效果:在我自己的数据集上,mAP50 由0.986涨到了0.99,mAP50-95由0.737涨到0.753,涨点明显!</font>
文章链接:https://blog.csdn.net/m0_47867638/article/details/135940106
目标检测是计算机视觉的基本任务之一,旨在识别图像中的目标并定位其位置。目标检测算法可分为基于锚点和无锚点的方法。基于锚点的方法包括Faster R-CNN、YOLO系列、SSD和RetinaNet等。无锚点方法包括CornerNet、CenterNet和FCOS等。在这些检测器中,边界框回归损失函数作为定位分支的重要组成部分,起着不可替代的作用。
本文提出了一种新的边界框回归损失函数Focaler-IoU,该函数能够关注不同难度的回归样本,并动态调整样本权重以优化回归性能。Focaler-IoU结合了IoU(Intersection over Union)和Focal Loss的思想,通过引入一个可学习的关注因子来调整不同样本的权重。在训练过程中,关注因子会根据回归结果动态调整,使得回归器更加关注那些对定位精度影响较大的样本。
论文《Focaler-IoU:更聚焦的IoU损失》
https://arxiv.org/pdf/2401.10525.pdf
边界框回归在目标检测领域中起着至关重要的作用,而目标检测的定位精度在很大程度上取决于边界框回归的损失函数。现有的研究通过利用边界框之间的几何关系来提高回归性能,而忽略了难易样本分布对边界框回归的影响。本文分析了难易样本分布对回归结果的影响,并提出了Focaler-IoU方法,该方法通过关注不同的回归样本,可以在不同的检测任务中提高检测器的性能。最后,通过使用现有的先进检测器和回归方法进行比较实验,进一步提高了使用本文提出的方法的检测性能。代码可在https://github.com/malagoutou/Focaler-IoU上获取。
关键词:目标检测、损失函数、边界框回归
YoloV8 官方结果
代码语言:python代码运行次数: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
测试结果
代码语言:python代码运行次数:0复制YOLOv8l summary (fused): 268 layers, 43631280 parameters, 0 gradients, 165.0 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 15/15 [00:02<00:00, 5.10it/s]
all 230 1412 0.962 0.969 0.99 0.753
c17 230 131 0.98 0.992 0.995 0.82
c5 230 68 0.944 0.989 0.994 0.846
helicopter 230 43 0.962 0.953 0.958 0.575
c130 230 85 0.966 0.996 0.994 0.651
f16 230 57 0.969 0.93 0.99 0.69
b2 230 2 0.895 1 0.995 0.822
other 230 86 0.988 0.93 0.979 0.543
b52 230 70 0.971 0.971 0.978 0.842
kc10 230 62 1 0.978 0.989 0.848
command 230 40 0.996 1 0.995 0.838
f15 230 123 0.984 1 0.995 0.7
kc135 230 91 0.976 0.989 0.991 0.705
a10 230 27 1 0.539 0.949 0.482
b1 230 20 0.992 1 0.995 0.752
aew 230 25 0.951 1 0.995 0.785
f22 230 17 0.907 1 0.995 0.757
p3 230 105 1 0.982 0.995 0.81
p8 230 1 0.836 1 0.995 0.697
f35 230 32 0.997 0.938 0.993 0.615
f18 230 125 0.976 0.986 0.99 0.832
v22 230 41 0.991 1 0.995 0.687
su-27 230 31 0.99 1 0.995 0.865
il-38 230 27 0.982 1 0.995 0.86
tu-134 230 1 0.835 1 0.995 0.895
su-33 230 2 0.996 1 0.995 0.796
an-70 230 2 0.894 1 0.995 0.796
tu-22 230 98 1 1 0.995 0.82
Speed: 0.3ms preprocess, 4.6ms inference, 0.0ms loss, 0.9ms postprocess per image