基于 YOLOv8 的自定义数据集训练

这篇具有很好参考价值的文章主要介绍了基于 YOLOv8 的自定义数据集训练。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于 YOLOv8 的自定义数据集训练

图1.1:YOLOv8初始测试

YOLOv8🔥于 2023年1月10日由Ultralytics发布。它在计算机视觉方面提供了进展,带来了对我们感知、分析和理解视觉世界的巨大创新。它将为各个领域带来前所未有的可能性。

在速度、准确性和架构方面进行了相当大的改进。它是从头开始实现的,没有使用任何来自YOLOv5的主要模块(即模型架构)。它的速度更快,比其先前版本(YOLOv7)更准确,并且在平均精度均值(MAP)方面获得了53.7的新高。

基于 YOLOv8 的自定义数据集训练

图1.2:YOLOv8平均精度均值

在本文中,我们将重点介绍训练YOLOv8自定义数据集所需的步骤。您可以按照下面提到的步骤在自己的数据上训练YOLOv8。所有提到的步骤都经过了适当的测试,在Windows和Linux操作系统上运行良好。

      • 安装模块

      • 预训练的目标检测

      • 使用自定义数据训练YOLOv8

      • 使用自定义权重进行推理

安装模块

YOLOv8发布了一个名为“ultralytics”的软件包,您可以使用下面提到的命令进行安装。

pip install ultralytics==8.0.0


or


# latestversion
pip install ultralytics

以上命令将安装所有必要的软件包,以便您可以在自己的数据上使用YOLOv8进行检测和训练。

注意:请确保您的系统上安装了Python 3.7.0或更高版本。

预训练的目标检测

如果您只需要运行单个命令来以高效的方式进行目标检测并提供更准确和快速的结果,那您会有什么感受呢?

您可以在终端/(命令提示符)中运行以下命令,在所选视频/图像上使用预训练权重进行检测,使用YOLOv8。

#for image
yolo task=detect mode=predict model=yolov8n.pt source="test.png"
#for video
yolo task=detect mode=predict model=yolov8n.pt source="test.mp4"

如果一切顺利,您将在当前目录内的“runs/detect/exp”文件夹中获得结果。

基于 YOLOv8 的自定义数据集训练

Fig-1.3: 预训练对象检测(作者提供的图像)

在自定义数据上训练 YOLOv8

训练 YOLOv8 对象检测模型的步骤可以概括如下:

      • 收集数据

      • 标记数据

      • 划分数据集(训练集、测试集和验证集)

      • 创建配置文件

      • 开始训练

步骤 1:收集数据

为 YOLOv8 自定义训练创建一个数据集。如果没有数据,可以使用来自 openimages 数据库的数据集或以下网站提供的数据集:https://medium.com/nerd-for-tech/extraction-of-frames-from-multiple-videos-3ddbced6f3c2

YOLOv8 将标签数据存储在文本(.txt)文件中,格式如下:

<object-class-id> <x> <y> <width> <height>

步骤 2:标记数据

您可以使用 labelImg 工具或 Roboflow 平台进行数据标注,具体取决于您的需求。如果您想了解 labelImg 工具的工作流程,可以查看以下文章:

https://medium.com/nerd-for-tech/labeling-data-for-object-detection-yolo-5a4fa4f05844

步骤 3:划分数据集(训练集、测试集和验证集)

当您想在自定义数据上训练计算机视觉模型时,将数据分成训练集和测试集非常重要。训练集用于教授模型如何进行预测,而测试集用于评估模型的准确性。常见的分割比例是 80-20%,但实际比例可能取决于数据集的大小和您正在处理的具体任务。例如,如果您有一个小数据集,您可能希望使用更高的百分比进行训练,而如果您有一个大数据集,您可以使用较小的百分比进行训练。

对于数据拆分,您可以查看 split-folders,它会将数据随机拆分为训练集、测试集和验证集。split-folders链接:https://pypi.org/project/split-folders/

文件夹结构:

├── yolov8
 ## └── train
 ####└── images (folder including all training images)
 ####└── labels (folder including all training labels)
 ## └── test
 ####└── images (folder including all testing images)
 ####└── labels (folder including all testing labels)
 ## └── valid
 ####└── images (folder including all testing images)
 ####└── labels (folder including all testing labels)

步骤 4:创建配置文件

创建自定义配置文件可以是组织和存储计算机视觉模型的所有重要参数的有用方式。

在你已经打开终端/(命令提示符)的当前目录内创建一个文件名为“custom.yaml”的文件。将下面的代码粘贴到该文件中。设置数据集文件夹的正确路径,更改类及其名称,然后保存它。

path:  (dataset directory path)
train: (Complete path to dataset train folder)
test: (Complete path to dataset test folder) 
valid: (Complete path to dataset valid folder)


#Classes
nc: 5# replace according to your number of classes


#classes names
#replace all class names list with your classes names
names: ['person', 'bicycle', 'car', 'motorcycle', 'airplane']

注意:确保设置正确的训练和测试目录路径,因为训练过程将完全依赖于该文件。

步骤 5:开始训练

一旦你完成了预处理步骤,例如数据收集,数据标注,数据拆分和创建自定义配置文件,你可以使用下面在终端/(命令提示符)中提到的命令开始在自定义数据上训练YOLOv8。

yolo task=detect mode=train model=yolov8n.pt data=custom.yaml epochs=3 imgsz=640

task = detect(可以是分割或分类)

mode = train(可以是预测或验证)

model = yolov8n.pt(可以是yolov8s / yolov8l / yolov8x)

epochs = 3(可以是任何数字)

imgsz = 640(可以是320、416等,但请确保它是32的倍数)

基于 YOLOv8 的自定义数据集训练

图1.5:在自定义数据上训练YOLOv8

如果有任何图像损坏,YOLOv8将不会开始在自定义数据上进行训练。如果一些标签文件损坏,那么训练不会有问题,因为YOLOv8将忽略这些(图像和标签)文件。

等待训练完成,然后使用新创建的权重进行推断。自定义训练的权重将保存在下面提到的文件夹路径中。

[runs/train/exp/weights/best.pt]

使用自定义权重推理

使用自定义权重进行推断时,请使用下面提到的命令进行检测。

yolo task=detect mode=predict model="runs/train/exp/weights/best.pt" source="test.png"
or
yolo task=detect mode=predict model="runs/train/exp/weights/best.pt" source="test.mp4"

·  END  ·

HAPPY LIFE文章来源地址https://www.toymoban.com/news/detail-502212.html

到了这里,关于基于 YOLOv8 的自定义数据集训练的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【yolov8】从0开始搭建部署YOLOv8,环境安装+推理+自定义数据集搭建与训练,一小时掌握

    bilibili详细视频教程 github链接:https://github.com/ultralytics/ultralytics git拉取项目: git clone https://github.com/ultralytics/ultralytics.git 首先查看pytorch支持的最高版本 PyTorch https://pytorch.org/ 然后查看N卡系统支持最高的版本 然后权衡下载支持最高版本的CUDA和cuDNN CUDA工具包 https://developer.n

    2024年01月17日
    浏览(39)
  • 【YOLO】YOLOv8实操:环境配置/自定义数据集准备/模型训练/预测

    源码链接:https://github.com/ultralytics/ultralytics yolov8和yolov5是同一作者,相比yolov5,yolov8的集成性更好了,更加面向用户了 YOLO命令行界面(command line interface, CLI) 方便在各种任务和版本上训练、验证或推断模型。CLI不需要定制或代码,可以使用yolo命令从终端运行所有任务。 如果

    2023年04月24日
    浏览(37)
  • YOLOv5-7.0-seg+YOLOv8-seg自定义数据集训练

    下载源码   https://github.com/ultralytics/yolov5.git 参考链接   yolov5-实例分割 1.如何使用yolov5实现实例分割,并训练自己的数据集_哔哩哔哩_bilibili 目录: - datasets     - JPEImages #存放图片和标注后的json文件以及转换后的txt文件     - classes-4 #存放切分好的数据集         - images    

    2024年02月01日
    浏览(39)
  • 【v8初体验】利用yolov8训练COCO数据集或自定义数据集

    github地址:https://github.com/ultralytics/ultralytics YOLOv5目前仍然是很受到大家环境的,v8作为v5的升级之作效果的提升也非常明显,但相比YOLOv5确实没有作出较大改进,主要改进如下: Backbone : 主干部分主要是将所有C3模块更换成C2f模块,C2f借鉴了YOLOv7的思想,个人感觉应该是这种多

    2023年04月27日
    浏览(27)
  • OpenCV与AI深度学习 | 实战 | YOLOv8自定义数据集训练实现手势识别 (标注+训练+预测 保姆级教程)

    本文来源公众号 “OpenCV与AI深度学习” ,仅用于学术分享,侵权删,干货满满。 原文链接:实战 | YOLOv8自定义数据集训练实现手势识别 (标注+训练+预测 保姆级教程)     本文将手把手教你用YoloV8训练自己的数据集并实现手势识别。 【1】安装torch, torchvision对应版本,这里先

    2024年04月23日
    浏览(52)
  • 基于Yolov8与LabelImg训练自己数据的完整流程

    运行过程中,会提示下载coco128.zip,和yolov8n.pt,模型与py文件放在同一目录下,如果网速快的话,自己下载就好,下载慢的话,下面是网盘地址: 测试结果路径:ultralyticsrunsdetectval,里面存储了运行的结果,这样环境就算是配置好了。 结果如下: 首先创建一个文件夹:coc

    2024年02月13日
    浏览(24)
  • windows下配置pytorch + yolov8+vscode,并自定义数据进行训练、摄像头实时预测

    最近由于工程需要,研究学习了一下windows下如何配置pytorch和yolov8,并自己搜集数据进行训练和预测,预测使用usb摄像头进行实时预测。在此记录一下全过程 1. vscode安装 windows平台开发python,我采用vscode作为基础开发平台,点击 https://code.visualstudio.com/进入vscode官网,下载对应

    2024年02月16日
    浏览(38)
  • 04训练——基于YOLO V8的自定义数据集训练——在windows环境下使用pycharm做训练-1总体步骤

    在上文中,笔者介绍了使用google公司提供的免费GPU资源colab来对大量的自定义数据集进行模型训练。该方法虽然简单好用,但是存在以下几方面的短板问题: 一是需要通过虚拟服务器做为跳板机来访问,总体操作起来非常繁杂。 二是需要将大量的数据上传缓慢,管理和使用非

    2024年02月07日
    浏览(34)
  • 【YOLO】基于YOLOv8实现自定义数据的自动标注(针对VOC格式的数据集)

    利用yolov8的检测模型实现数据集的自标注,针对VOC数据集,.xml文件,labelimg标注工具 yolov8模型的训练可以参考笔者的博客 【YOLO】YOLOv8实操:环境配置/自定义数据集准备/模型训练/预测 训练好自定义的模型,就可以执行下面的代码实现模型自标注数据集 修改下面三个参数即

    2024年02月11日
    浏览(29)
  • 基于YOLOv8深度学习的智能肺炎诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战

    《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌ 更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍 感谢小伙伴们点赞、关注! 《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】

    2024年01月23日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包