yolov8自制数据训练集

目录

1.YOLOv8是啥

2.系统环境

3.安装labelimg

3.1安装

3.2启动 labelimg

4.自制分类图片

4.1 YOLO数据集要求

4.2 图片保存目录

4.3 利用labelimg进行标注

4.4 存储图片

4.5 标注文件

5.数据集训练

5.1yaml文件

5.2训练命令

5.3查看训练过程

5.3.1启动tensorboard

5.3.2通过浏览器查看

6.测试训练结果

6.1测试命令

6.2测试输出

6.3查看效果图


1.YOLOv8是啥

文心一言给出的答案:

YOLOv8是YOLO系列模型的最新版本,由Ultralytics公司在2023年1月10日开源。它是基于YOLOv5的下一个重大更新版本,目前支持图像分类、物体检测和实例分割任务。

YOLOv8采用了一种基于Anchor-Free的检测方式,即直接预测目标的中心点和宽高比例,而不是预测Anchor框的位置和大小。这种方式可以减少Anchor框的数量,提高检测速度和精度。其原理可以分为两个部分:特征提取和目标检测。特征提取部分采用了一种名为CSPDarknet的网络结构,它是一种基于Darknet的改进版本,可以有效地减少模型的参数量和计算量,同时提高特征提取的效率。目标检测部分采用了一种名为YOLOv4-Head的检测头结构,该结构包含了多个卷积层和池化层,用于对特征图进行处理和压缩,然后通过多个卷积层和全连接层,将特征图转换为目标检测结果。

此外,YOLOv8还引入了一个新的骨干网络、一个新的Anchor-Free检测头和一个新的损失函数,以进一步提升性能和灵活性。它可以在从CPU到GPU的各种硬件平台上运行,并且Ultralytics公司希望这个库不仅仅能够用于YOLO系列模型,还能支持非YOLO模型以及分类、分割、姿态估计等各类任务。

总之,YOLOv8是一种基于Anchor-Free检测方式的目标检测模型,具有更高的检测精度和更快的检测速度,并且提供了更多的新功能和改进,以提升性能和灵活性。

2.系统环境

系统环境:win10

使用Anaconda,Anaconda的安装自行百度。

conda 23.7.4

YOLOv8

参考之前的环境配置

3.安装labelimg

3.1安装

使用之前安装好的Anaconda,启动Anaconda Prompt,创建一个labelimg的python虚拟环境。

命令如下:

conda create -n labelimg python=3.8

查看命令

# 激活labelimg虚拟环境
conda activate labelimg
# 安装tensorboard
pip install labelimg

3.2启动 labelimg

输入 labelimg 启动编辑器

labelimg运行界面

4.自制分类图片

通过利用百度、bing等图片搜索引擎,搜索相关图片,在利用微信快捷键保存图片。

4.1 YOLO数据集要求

搜索YOLO官方推荐数据集要求

4.2 图片保存目录

图片保存至images文件夹下,最好多建几个分类,一个分类训练效果不理想。我建立了tank、
aircraft carrier、cruiser、fighter plane、helicopter五个分类。

4.3 利用labelimg进行标注

利用labelimg标注过程,或如何使用,自行百度。

4.4 存储图片

先将标注的yolov label文件与img文件保存在同一个目录下,便于后期更改和维护,切记。

如下图所示:

4.5 标注文件

将所有*.txt文件拷贝至labels目录下,labels与images在同文件目录下。

5.数据集训练

5.1yaml文件

训练文件配置,保存为data.yaml

path: ../../../data/tank/
train: ./train/images
val: ./valid/images
names:0: tank 1: aircraft carrier2: cruiser3: fighter plane4: helicopternc: 5

5.2训练命令

# 训练数据集指令 
python train.py --batch-size 2 --epochs 200 --data ../../../data/tank/data.yaml --weights ./yolov5s.pt

训练过程效果图1

训练过程效果图2

5.3查看训练过程

通过tensorboard查看训练过程

5.3.1启动tensorboard

tensorboard --logdir=runs\train\exp19

5.3.2通过浏览器查看

在浏览器内输入http://localhost:6006/

如下图所示

6.测试训练结果

6.1测试命令

# 测试数据集命令 
python .\detect.py --source C:/code/data/tank/test --weights ./runs/train/exp19/weights/best.pt

6.2测试输出

6.3查看效果图

结果保存在 runs\detect\exp19目录下

效果图1

效果图2

 效果图3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2778123.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

拟合案例2:matlab实现分段函数拟合(分段点未知)及源码

案例介绍: 本案是针对一个分段函数中的参数进行拟合,使用的拟合工具是matlab中的lsqcurvefit或nlinfit。函数形式和待拟合参数如下所示。该案例的特殊之处在于分段点也是待拟合参数,因此如何自定义拟合函数,实现分段点的拟合是本案例最大的难点。本案例提供了三种分段函数…

Git基础命令,分支,标签的使用【快速入门Git】

Git基础命令,分支,标签的使用【快速入门Git】 Git基础常用命令Git工作流程工作区,暂存区和版本库文件状态获取Git仓库 git init | git clone查看文件状态 git status暂存已修改的文件 git add 查看已暂存和未暂存的修改 git diff提交文件更改…

第7章 智能租房——首页

学习目标 掌握房源总数展示功能,能够实现将统计的房源总数在首页中展示 掌握最新房源数据展示功能,能够实现将查询的最新房源数据在首页中展示 掌握热点房源数据展示功能,能够实现将查询的热点房源数据在首页中展示 了解智能提示搜索框的功…

内网渗透靶场02----Weblogic反序列化+域渗透

网络拓扑: 攻击机: Kali: 192.168.111.129 Win10: 192.168.111.128 靶场基本配置:web服务器双网卡机器: 192.168.111.80(模拟外网)10.10.10.80(模拟内网)域成员机器 WIN7PC192.168.…

【Maven】依赖、构建管理 继承与聚合 快速学习(3.6.3 )

文章目录 Maven是什么?一、Maven安装和配置本地配置文件设置idea配置本地maven 二、基于IDEA的Maven工程创建2.1 Maven工程GAVP属性2.2 Idea构建Maven JavaEE工程 三、Maven工程项目结构说明四、Maven核心功能依赖和构建管理4.1 依赖管理和配置4.2 依赖传递和冲突4.…

使用2024年新版NPS自建内网穿透

博客文章:使用2024年新版NPS自建内网穿透-风屿岛 (biliwind.com) 上图为原版NPS,目前已经停止更新,并且有着较多的问题。但幸运的是,有大佬接手了它的开发工作 新版的NPS修复了大多的漏洞,并且与原版NPS兼容的同时添加…

【北邮鲁鹏老师计算机视觉课程笔记】03 edge 边缘检测

【北邮鲁鹏老师计算机视觉课程笔记】03 1 边缘检测 有几种边缘? ①实体上的边缘 ②深度上的边缘 ③符号的边缘 ④阴影产生的边缘 不同任务关注的边缘不一样 2 边缘的性质 边缘在信号突变的地方 在数学上如何寻找信号突变的地方?导数 用近似的方法 可以…

单片机——FLASH(2)

文章目录 flash (stm32f40x 41x的内存映射中区域详解)flash写数据时 flash (stm32f40x 41x的内存映射中区域详解) Main memory 主存储区 放置代码和常数 System memory 系统存储区 方式bootloader代码 OTP区 一次性可编程区 选项…

115.乐理基础-五线谱-五线谱的练习方式

内容参考于:三分钟音乐社 上一个内容:114.乐理基础-五线谱-快速识别五线谱的谱号-CSDN博客 前置知识:视频地址 乐理基础视频版,文字版 乐理基础文字版 快速记忆五线谱的方式不要去学,就机械式练习,练习时…

《动手学深度学习(PyTorch版)》笔记8.3

注:书中对代码的讲解并不详细,本文对很多细节做了详细注释。另外,书上的源代码是在Jupyter Notebook上运行的,较为分散,本文将代码集中起来,并加以完善,全部用vscode在python 3.9.18下测试通过&…

【初中生讲机器学习】7. 交叉验证是什么?有哪些?怎么实现?来看!

创建时间:2024-02-10 最后编辑时间:2024-02-10 作者:Geeker_LStar 你好呀~这里是 Geeker_LStar 的人工智能学习专栏,很高兴遇见你~ 我是 Geeker_LStar,一名初三学生,热爱计算机和数学,我们一起加…

SpringOne2023峰会总结-02-SpringBoot与Micrometer如何在WebFlux环境下实现的链路日志

个人创作公约:本人声明创作的所有文章皆为自己原创,如果有参考任何文章的地方,会标注出来,如果有疏漏,欢迎大家批判。如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个 github 仓库 提交…

Android 移动应用开发 创建第一个Android项目

文章目录 一、创建第一个Android项目1.1 准备好Android Studio1.2 运行程序1.3 程序结构是什么app下的结构res - 子目录(所有图片、布局、字AndroidManifest.xml 有四大组件,程序添加权限声明 Project下的结构 二、开发android时,部分库下载异…

利用YOLOv8 pose estimation 进行 人的 头部等马赛克

文章大纲 马赛克几种OpenCV 实现马赛克的方法高斯模糊pose estimation 定位并模糊:三角形的外接圆与膨胀系数实现实现代码实现效果参考文献与学习路径之前写过一个文章记录,怎么对人进行目标检测后打码,但是人脸识别有个问题是,很多人的背影,或者侧面无法识别出来人脸,那…

【Python 千题 —— 基础篇】查找年龄

Python 千题持续更新中 …… 脑图地址 👉:⭐https://twilight-fanyi.gitee.io/mind-map/Python千题.html⭐ 题目描述 题目描述 班级中有 Tom、Alan、Bob、Candy、Sandy 五个人,他们组成字典 {Tom: 23, Alan: 24, Bob: 21, Candy: 22, Sandy: 21},字典的键是姓名,字典的…

C++模版(初阶)

🌈函数复用的两种不恰当方式 ☀️1.函数重载 以Swap函数为例,有多少种参数类型组合,就要重载多少个函数: void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left,…

[word] word如何打印背景和图片? #微信#其他#经验分享

word如何打印背景和图片? 日常办公中会经常要打印文件的,其实在文档的打印中也是有很多技巧的,可以按照自己的需求设定,下面给大家分享word如何打印背景和图片,一起来看看吧! 1、打印背景和图片 在默认的…

Springboot拦截器中跨域失效的问题、同一个接口传入参数不同,一个成功,一个有跨域问题、拦截器和@CrossOrigin和@Controller

Springboot拦截器中跨域失效的问题 一、概述 1、具体场景 起因: 同一个接口,传入不同参数进行值的修改时,一个成功,另一个竟然失败,而且是跨域问题拦截器内的request参数调用getHeader方法时,获取不到前端…

【Spring源码分析】Spring的启动流程源码解析

阅读此需阅读下面这些博客先【Spring源码分析】Bean的元数据和一些Spring的工具【Spring源码分析】BeanFactory系列接口解读【Spring源码分析】执行流程之非懒加载单例Bean的实例化逻辑【Spring源码分析】从源码角度去熟悉依赖注入(一)【Spring源码分析】…