YOLOv8:Roboflow公开数据集训练模型

2024-03-24 23:04

本文主要是介绍YOLOv8:Roboflow公开数据集训练模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 Roboflow公开数据集

Roboflow是一个提供计算机视觉数据集管理和处理工具的平台。虽然Roboflow本身并不创建或策划公开数据集,但它提供了一系列功能,帮助用户组织、预处理、增强和导出计算机视觉数据集。

官方网站:https://universe.roboflow.com/

然而,有几个常用的公开数据集可供计算机视觉使用,可以在Roboflow或其他计算机视觉平台上访问和使用这些数据集。以下是一些常用的计算机视觉公开数据集:

  1. COCO(Common Objects in Context):COCO是一个大规模数据集,其中包含带有对象注释的图像,可用于对象检测、分割和字幕生成等任务。

  2. ImageNet:ImageNet是一个包含数百万标记图像的数据集,涵盖了数千个类别。它被广泛用于图像分类和深度学习研究。

  3. Open Images:Open Images是一个包含数百万图像及其对象检测、分割和视觉关系注释的数据集。

  4. Pascal VOC:Pascal VOC数据集是一个包含图像及其对象检测、分割和分类注释的集合。它常用于计算机视觉算法的基准测试。

  5. Cityscapes:Cityscapes是一个专注于城市场景的数据集,包含高质量图像以及像素级别的语义分割和实例分割注释。

  6. LFW(Labeled Faces in the Wild):LFW是一个包含从网络收集的人脸图像的数据集。它常用于人脸识别任务。

部署安装YOLOv8环境

Github官方网址:https://github.com/ultralytics/ultralytics

安装和部署YOLOv8:http://t.csdnimg.cn/iGwXY

下载Roboflow公开数据集

打开官方网站:https://universe.roboflow.com/

 选择自己需要的数据集:

点击左旁工具栏的Dataset:

 由于我们需要的是在YOLOv8下训练的数据集,故点击YOLOv8

 

 在窗口中选择download zip to computer(下载压缩包至电脑)

即可下载完成

训练数据集

打开pycharm,在安装好的YOLOv8项目下新建datasets文件夹

 将下载好的Roboflow公开数据集(我下载的animals数据集)解压到datasets文件夹中,目录格式如下:

 注:coco128是另外一个数据集。

此时打开animals数据集文件夹中的data.yaml文件:

train: ../train/images
val: ../valid/images
test: ../test/imagesnc: 10
names: ['cat', 'chicken', 'cow', 'dog', 'fox', 'goat', 'horse', 'person', 'racoon', 'skunk']roboflow:workspace: roboflow-100project: animals-ij5d2version: 2license: CC BY 4.0url: https://universe.roboflow.com/roboflow-100/animals-ij5d2/dataset/2

此数据集共分为10类,训练、测试的地址都有给出。

在确保文件目录格式正确,存在yaml文件之后,打开pycharm终端控制器:

一定要进入所建的YOLOv8环境中。

模型训练在终端运行:

yolo detect train data=datasets/animals/data.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 batch=4 lr0=0.01 resume=True

注意:data=后要填写数据集文件夹中的yaml文件的绝对地址,相对地址可能会报错。

当然在训练的代码中会有许多参数,以上所填的是常用的训练参数,完整的训练参数如下:

 

 

 

 可参考YOLOv8文档:https://docs.ultralytics.com/modes/train/

 按回车即可开始训练数据集,系统将自动将训练好的模型保存至runs/detect/train文件夹下:

 其中weights文件中为,最后一次训练的模型last.pt以及效果最好的一次模型best.pt

以及数据集的标签图等:

 验证数据集

 在终端命令行输入:

yolo detect val data=E:\python_project\ultralytics-main\datasets\animals\data.yaml model=runs/detect/train/weights/best.pt batch=4

产生输出:

 其验证结果将保存至runs\detect\val文件夹下:

 可以看出训练的模型产生了较好的预测结果。

模型导出

使用下面的命令就可以导出模型:

yolo task=detect mode=export model=ultralytics/yolo/v8/detect/runs/detect/train/weights/best.pt 

参考

2023最新-用yolov8训练自己的数据集

http://t.csdnimg.cn/q6Gbb

YOLOv8教程系列:一、使用自定义数据集训练YOLOv8模型

http://t.csdnimg.cn/H5et2

这篇关于YOLOv8:Roboflow公开数据集训练模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/843070

相关文章

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro