当前位置:   article > 正文

使用YOLOv10训练自己的数据集

使用YOLOv10训练自己的数据集

1. yolov10源码下载

THU-MIG/yolov10: YOLOv10: Real-Time End-to-End Object Detection (github.com)icon-default.png?t=N7T8https://github.com/THU-MIG/yolov10?tab=readme-ov-file

2. 环境配置

        预先安装好ANACONDA、PyCharm或者VSCode等基本软件。参考以下博客:

史上最全最详细的Anaconda安装教程-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/wq_ocean_/article/details/103889237(超详细)Python+PyCharm的安装步骤及PyCharm的使用(含快捷键)_python pycharm-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/junleon/article/details/120698578检测电脑里的python版本:

        我的是3.11。

使用Anaconda Prompt 创建虚拟环境,再激活环境。

  1. conda create -n yolov10 python=3.11
  2. conda activate yolov10

安装支持包

  1. pip install -r requirements.txt
  2. pip install -e .

使用PyCharm打开下载的yolov10源码,右下角切换到创建的环境

创建train.py,执行以下代码

  1. from ultralytics import YOLOv10
  2. import os
  3. os.environ["GIT_PYTHON_REFRESH"] = "quiet"
  4. os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
  5. if __name__ == '__main__':
  6. model = YOLOv10('yolov10n.pt')
  7. result = model.train(data=coco128.yaml, epochs=40, batch=2, imgsz=640, device='cpu')

直接选用大家都有cpu训练,如果要使用GPU,将值改为0 即可,GPU使用依赖与yolov8一致。

YOLOv10 -Ultralytics YOLO 文档icon-default.png?t=N7T8https://docs.ultralytics.com/zh/models/yolov10/#model-variantsyolov10封装的很好,使用起来没什么难度,参考官方给的文档就能跑起来。

3. 使用所得权重文件预测图片

  1. from ultralytics import YOLOv10
  2. model = YOLOv10(r'C:\Users\Administrator\Desktop\yolov10-main\runs\detect\train4\weights\best.pt')
  3. model.predict(save=True)

4. 性能分析

        总体效果还是比其他版本好很多的,但是我的训练时间貌似比v8长不少,这里论文中也给出了解释。

与其他最先进的探测器相比:

  • YOLOv10-S / X 比RT-DETR-R18 / R101 快 1.8 倍 / 1.3 倍,精度相似
  • 在精度相同的情况下,YOLOv10-B 比 YOLOv9-C 减少了 25% 的参数,延迟时间缩短了 46%
  • YOLOv10-L / X 的性能比YOLOv8-L / X 高 0.3 AP / 0.5 AP,参数少 1.8× / 2.3×

以下是 YOLOv10 变体与其他先进机型的详细比较:

模型参数 (M)FLOP (G)APval (%)延迟(毫秒)延迟(前向)(毫秒)
YOLOv6-3.0-N4.711.437.02.691.76
金色-YOLO-N5.612.139.62.921.82
YOLOv8-N3.28.737.36.161.77
YOLOv10-N2.36.739.51.841.79
YOLOv6-3.0-S18.545.344.33.422.35
金色-YOLO-S21.546.045.43.822.73
YOLOv8-S11.228.644.97.072.33
YOLOv10-S7.221.646.82.492.39
RT-DETR-R1820.060.046.54.584.49
YOLOv6-3.0-M34.985.849.15.634.56
金色-YOLO-M41.387.549.86.385.45
YOLOv8-M25.978.950.69.505.09
YOLOv10-M15.459.151.34.744.63
YOLOv6-3.0-L59.6150.751.89.027.90
金色-YOLO-L75.1151.751.810.659.78
YOLOv8-L43.7165.252.912.398.06
RT-DETR-R5042.0136.053.19.209.07
YOLOv10-L24.4120.353.47.287.21
YOLOv8-X68.2257.853.916.8612.83
RT-DETR-R10176.0259.054.313.7113.58
YOLOv10-X29.5160.454.410.7010.60

参考两位博主的论文分析

【论文阅读】 YOLOv10: Real-Time End-to-End Object Detection-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/shuaijieer/article/details/139182282

YOLOv10详细解读 | 一文带你深入了解yolov10的创新点(附网络结构图 + 举例说明)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/java1314777/article/details/139206290

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/661713
推荐阅读
相关标签
  

闽ICP备14008679号