赞
踩
前言
YOLOv10 是清华大学研究人员在 UltralyticsPython 清华大学的研究人员在 YOLOv10软件包的基础上,引入了一种新的实时目标检测方法,解决了YOLO 以前版本在后处理和模型架构方面的不足。通过消除非最大抑制(NMS)和优化各种模型组件,YOLOv10 在显著降低计算开销的同时实现了最先进的性能。并用大量实验证明,YOLOv10 在多个模型尺度上实现了卓越的精度-延迟权衡。
1.模型获取
官网连接:
https://github.com/THU-MIG/yolov10
也可以文末公众号内回复“YOLOv10”,获取全部代码、论文以及初始权重文件。
2.YOLOv10亮点
无 NMS 设计:利用一致的双重分配来消除对 NMS 的需求,从而减少推理延迟。
整体模型设计:从效率和准确性的角度全面优化各种组件,包括轻量级分类头、空间通道去耦向下采样和等级引导块设计。
增强的模型功能:纳入大核卷积和部分自注意模块,在不增加大量计算成本的情况下提高性能。
3.模型结构
YOLOv10与v8结构相比,从结构上看添加了PSA和在C2f结构中添加了CBI结构,去掉了NMS。
4.模型训练、验证、推理
需要导入YOLOv10模块,不是YOLO模块
- from ultralytics import YOLOv10
-
- # 加载模型
- model = YOLOv10("yolov10n.yaml") # 从头开始构建新模型
- model = YOLOv10("weights/yolov10n.pt") # 加载预训练模型(建议用于训练)
- if __name__ == '__main__':
- model.train(data="data_laji.yaml", imgsz=416, batch=32, epochs=10, workers=0) # 训练模型
- from ultralytics import YOLOv10
-
- def main():
- # 加载模型,test就是对测试集进行测试,删去就是对验证集进行测试
- model = YOLOv10(r"runs/detect/train/weights/best.pt")
- model.val(data="data_APSPC.yaml", split='test', imgsz=416, batch=16, workers=0) #模型验证
- if __name__ == "__main__":
- main()
- from ultralytics import YOLOv10
- # 检测
- model = YOLOv10(r"runs/detect/train/weights/best.pt")
- results = model('datasets/images/val', save=True)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。