YOLOv11融合Inner-IoU及相关改进思路


YOLOv11v10v8使用教程: YOLOv11入门到入土使用教程

YOLOv11改进汇总贴:YOLOv11及自研模型更新汇总


Inner-IoU: More Effective Intersection over Union Loss with Auxiliary Bounding Box

一、 模块介绍

论文链接: https://arxiv.org/abs/2311.02877

**代码链接:**https://github.com/malagoutou/Inner-IoU

论文速览:

随着检测器的快速发展,边界框回归 (BBR) 损失函数不断更新和优化。然而,现有的基于 IoU 的 BBR 仍然专注于通过添加新的损失项来加速收敛,而忽略了 IoU 损失项本身的局限性。虽然理论上 IoU loss 可以有效地描述边界框回归的状态,但在实际应用中,它无法根据不同的检测器和检测任务进行自我调整,没有很强的泛化性。基于以上,我们首先对 BBR 模型进行了分析,并得出结论:区分不同的回归样本,并使用不同尺度的辅助边界框来计算损失,可以有效加速边界框回归过程。对于高 IoU 样本,使用较小的辅助边界框来计算损失可以加速收敛,而较大的辅助边界框适用于低 IoU 样本。然后,我们提出了 Inner-IoU loss,它通过辅助边界框计算 IoU 损失。对于不同的数据集和检测器,我们引入了一个缩放因子比率来控制用于计算损失的辅助边界框的尺度大小。最后,将 Inner-IoU 集成到现有的基于 IoU 的损失函数中,用于仿真和比较实验。实验结果表明,利用本文提出的方法进一步提高了检测性能,验证了 Inner-IoU 损失的有效性和泛化能力。

**总结:**Inner-IoU的作者在IoU的基础上提出了一种通过使用辅助边框计算损失的方法。其通过尺度因子ratio控制辅助边框尺寸以计算损失加速收敛,并能够集成至现有基于IoU的损失函数GIoU、DIoU、CIoU、EIoU、SIoU中。​


⭐⭐本文二创模块仅更新于付费群中,往期免费教程可看下方链接⭐⭐

YOLOv11及自研模型更新汇总(含免费教程)文章浏览阅读366次,点赞3次,收藏4次。群文件2024/11/08日更新。,群文件2024/11/08日更新。_yolo11部署自己的数据集https://xy2668825911.blog.csdn.net/article/details/143633356

⭐⭐付费项目简介:融合上百种顶刊顶会模块的YOLO项目仅119(赠百种改进的v9),此外含自研模型与本文模块融合进行二创三创,最快1-2周完成小论文改进实验,代码每周更新(上周更新超20+二创模块),欢迎QQ:2668825911(或点击下方小卡片扫二维码)加我了解。⭐⭐

⭐⭐本项目并非简单的模块插入,平均每个文章对应4-6个二创或自研融合模块,有效果即可写论文或三创。本文项目使用ultralytics框架,兼容YOLOv3\5\6\8\9\10\world与RT-DETR。⭐⭐

已进群小伙伴可以先用下文二创及自研模块在自己的数据集上测试,有效果再进行模块结构分析或继续改进。


二、使用方法

2.1步骤

找到ultralytics/utils/loss.py脚本第103行,取消注释改行,并将其他iou行注释,运行即可。(仅适应于群文件2024/11/30日之后更新的工程)


2.3 修改train.py文件

创建Train脚本用于训练。

from ultralytics.models import YOLO
import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'

if __name__ == '__main__':
    model = YOLO(model='ultralytics/cfg/models/xy_YOLO/xy_yolov1-ConvNeXt.yaml')
    # model = YOLO(model='ultralytics/cfg/models/11/yolo11l.yaml')
    model.train(data='./datasets/data.yaml', epochs=1, batch=1, device='0', imgsz=320, workers=1, cache=False,
                amp=True, mosaic=False, project='run/train', name='exp',)

在train.py脚本中填入修改好的yaml路径,运行即可训练,数据集创建教程见下方链接。

YOLOv11入门到入土使用教程(含结构图)_yolov11使用教程-CSDN博客


相关推荐
前网易架构师-高司机1 小时前
游泳溺水识别数据集,对9984张原始图片进行YOLO,COCO JSON, VOC XML 格式的标注,平均识别率在91.7%以上
yolo·溺水·游泳溺水·游泳安全
发呆小天才O.oᯅ2 小时前
YOLOv8目标检测——详细记录使用OpenCV的DNN模块进行推理部署C++实现
c++·图像处理·人工智能·opencv·yolo·目标检测·dnn
深度学习lover3 小时前
<项目代码>YOLO Visdrone航拍目标识别<目标检测>
python·yolo·目标检测·计算机视觉·visdrone航拍目标识别
深度学习lover13 小时前
[项目代码] YOLOv8 遥感航拍飞机和船舶识别 [目标检测]
python·yolo·目标检测·计算机视觉·遥感航拍飞机和船舶识别
学习BigData15 小时前
【使用PyQt5和YOLOv11开发电脑屏幕区域的实时分类GUI】——选择检测区域
qt·yolo·分类
红色的山茶花21 小时前
YOLOv9-0.1部分代码阅读笔记-dataloaders.py
笔记·深度学习·yolo
千天夜1 天前
YOLO系列正传(三)神经网络的反向传播(back propagation)与公式推导
人工智能·python·深度学习·神经网络·学习·yolo·卷积神经网络
红色的山茶花1 天前
YOLOv9-0.1部分代码阅读笔记-downloads.py
笔记·深度学习·yolo
Zhijun.li@Studio2 天前
联合目标检测与图像分类提升数据不平衡场景下的准确率
yolo·目标检测·分类
Zhijun.li@Studio2 天前
精准提升:从94.5%到99.4%——目标检测调优全纪录
人工智能·yolo·目标检测