YOLOv10实时端到端目标检测

文章目录


前言

距离上次写YOLOv5已经过去了两年,正好最近用YOLOv10重构了项目,总结下YOLOv10。

YOLOv10真正实时端到端目标检测,那么什么是端到端?

端到端目标检测是一种从原始数据输入到最终结果输出的直接过程,无需分步骤处理或人工干预。在YOLOv10中移除非最大抑制(NMS),从而减少了推理延迟。


一、非极值大抑制(NMS)

非最大值抑制(NMS)是一种在目标检测中广泛应用的算法,主要用于去除冗余的检测框,只保留最有可能包含目标物体的框。

在目标检测任务中,通常会有多个候选框同时检测到同一个目标,这些框之间会有不同程度的重叠。为了从这些重叠的框中筛选出最佳检测结果,NMS算法被提出和应用。

二、NMS算法的具体原理和步骤

1.置信度排序:根据每个边界框的置信度进行降序排列,置信度最高的边界框被认为是最有可能正确检测到目标的。

2.选择边界框:从排序后的列表中选择置信度最高的边界框,标记为已选,并将其添加到最终的检测结果列表中。

3.计算交并比:对于剩余的每个边界框,计算它与已选边界框的交并比(IOU),即交集与并集的比值。

4.剔除低置信度框:如果某个边界框与已选框的IOU超过了预设的阈值(例如0.5或0.7),则认为这两个框表示的是同一个目标,于是根据置信度较低的原则,剔除这个低置信度的边界框。

5.重复选择过程:继续选择剩余边界框中置信度最高的,重复计算IOU和剔除过程,直到所有边界框都被检查过。

6.结束,选出最优框

三、YOLOV10创新点

YOLOv10通过引入双重标签分配策略和一致匹配度量,成功去除了非最大抑制(NMS)机制。

双重标签分配策略:其中包括一对多和一对一两种分配模式。这种策略不仅提供了丰富的监督信号,确保了训练过程中的准确性,而且避免了在推理阶段使用NMS,从而提高了整体的效率。这一创新的方法有效地平衡了训练与推理之间的需求。

一致匹配度量:该策略确保了在训练过程中,不同的预测头产生的预测结果能够保持一致性。这种一致性的优化进一步保证了在去除NMS的情况下,模型仍然能够维持高性能和高准确性。

四、YOLOv10使用教程

YOLOv10进行了高度封装,使用步骤也很简单,我常规的使用方法是通过OpenCV读取rtsp流进行检测

python 复制代码
import cv2
from ultralytics import YOLOv10
detect = YOLOv10("yolov10s.pt")

if __name__ == '__main__':
    cap = cv2.VideoCapture(rtsp)
    while cap.isOpened():
        success, frame = cap.read()
        if success:
            # conf指定阈值 classes指定检测类目
            results = detect.predict(frame, conf=0.5, classes=[0])
            # 返回json格式的数据,需要不同的格式具体可以查看源码
            print(results[0].tosjon())
        else:
            cap = cv2.VideoCapture(rtsp)

YOLOv10 提供了多种模型:

模型 说明
YOLOv10-N 用于资源极其有限环境的纳米版本
YOLOv10-S 兼顾速度和精度的小型版本
YOLOv10-M 通用中型版本
YOLOv10-B 平衡型,宽度增加,精度更高
YOLOv10-L 大型版本,精度更高,但计算资源增加
YOLOv10-X 超大型版本可实现最高精度和性能

五、官方github地址

php 复制代码
https://github.com/THU-MIG/yolov10
相关推荐
要努力啊啊啊7 小时前
YOLOv3-SPP Auto-Anchor 聚类调试指南!
人工智能·深度学习·yolo·目标检测·目标跟踪·数据挖掘
加油吧zkf11 小时前
YOLO目标检测数据集类别:分类与应用
人工智能·计算机视觉·目标跟踪
加油吧zkf13 小时前
水下目标检测:突破与创新
人工智能·计算机视觉·目标跟踪
加油吧zkf13 小时前
AI大模型如何重塑软件开发流程?——结合目标检测的深度实践与代码示例
开发语言·图像处理·人工智能·python·yolo
SDUERPANG13 小时前
三维目标检测|Iou3D 代码解读一
人工智能·目标检测·3d
要努力啊啊啊2 天前
YOLOv2 正负样本分配机制详解
人工智能·深度学习·yolo·计算机视觉·目标跟踪
Ailerx2 天前
YOLOv13震撼发布:超图增强引领目标检测新纪元
人工智能·yolo·目标检测
埃菲尔铁塔_CV算法3 天前
基于 TOF 图像高频信息恢复 RGB 图像的原理、应用与实现
人工智能·深度学习·数码相机·算法·目标检测·计算机视觉
cver1233 天前
野生动物检测数据集介绍-5,138张图片 野生动物保护监测 智能狩猎相机系统 生态研究与调查
人工智能·pytorch·深度学习·目标检测·计算机视觉·目标跟踪
学技术的大胜嗷3 天前
离线迁移 Conda 环境到 Windows 服务器:用 conda-pack 摆脱硬路径限制
人工智能·深度学习·yolo·目标检测·机器学习