网站建设网页制作多少钱,山西有哪些做网站的公司,开办网站备案,多站点网站群的建设与管理文章目录 前言一、非极值大抑制(NMS)二、NMS算法的具体原理和步骤三、YOLOV10创新点四、YOLOv10使用教程五、官方github地址 前言 距离上次写YOLOv5已经过去了两年#xff0c;正好最近用YOLOv10重构了项目#xff0c;总结下YOLOv10。 YOLOv10真正实时端到端目标检测#xff… 文章目录 前言一、非极值大抑制(NMS)二、NMS算法的具体原理和步骤三、YOLOV10创新点四、YOLOv10使用教程五、官方github地址 前言 距离上次写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流进行检测
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, conf0.5, classes[0])# 返回json格式的数据需要不同的格式具体可以查看源码print(results[0].tojson())else:cap cv2.VideoCapture(rtsp)YOLOv10 提供了多种模型
模型说明YOLOv10-N用于资源极其有限环境的纳米版本YOLOv10-S兼顾速度和精度的小型版本YOLOv10-M通用中型版本YOLOv10-B平衡型宽度增加精度更高YOLOv10-L大型版本精度更高但计算资源增加YOLOv10-X超大型版本可实现最高精度和性能
五、官方github地址
https://github.com/THU-MIG/yolov10