科技 > 人工智能 > 车联网

目标检测 - yolov8初体验+训练自定义数据集

109人参与 2024-08-01 车联网

这边演示用的环境是win10+pycharm+cpu,gpu使用的环境不进行过多赘述(需要的可以再搜索一下),文章基于安装了anaconda往下说(记录的是我的使用步骤,之前都是用v5,有不同的更好的可以方式步骤提出来,一起进步)。

一、代码获取
1.可以先在本地创建一个空的项目文件夹
在这里插入图片描述
2.在v8官网获取url或者直接下载
网址给出: https://github.com/ultralytics/ultralytics
在这里插入图片描述
3.(没有用git的同学可以跳过这一步)可以使用第2步图中的1、2、3获取url,在第1步创建的项目文件夹空白处右键选择 git bash here,命令行运行 git clone 你复制的url,例如 git clone https://github.com/ultralytics/ultralytics.git 即可下载
在这里插入图片描述
在这里插入图片描述
4.也可以在第2步中进行直接下载,点击图中 download zip。下载完成解压后,将里面的文件移动到第1步中创建的项目文件夹即可。
在这里插入图片描述

二、环境搭建
1.用pycharm打开项目文件夹,进入命令行
在这里插入图片描述
2.创建一个虚拟环境,并进入
运行命令 conda create -n 虚拟环境名字(自己定) python=python版本(v8好像要求3.8以上,这个注意一下) -y(-y可加可不加,作用是创建过程中yes or no判断默认都是yes) 例如 conda create -n yolov8 python=3.10 -y ,下图表示创建完成
在这里插入图片描述

创建完成后可以用命令 conda env list 来查看环境列表,下图红框中yolov8就是我们刚创建的
在这里插入图片描述
可以通过命令 conda activate 虚拟环境名字 进行虚拟环境,例如 conda activate yolov8,进入后我们可以看到命令行开头的环境标识从基础环境(base)变为yolov8,代表进入成功
在这里插入图片描述
3.安装v8依赖环境
首先确保检查一下,命令行路径是你的项目文件夹路径
在这里插入图片描述
v8将依赖环境都写在项目文件夹下的 requirement.txt 文件中了,我们可以通过 命令 pip install -r requirements.txt 来进行安装(这里提一点,默认源是国外网站,下载安装速度慢的话建议直接换源,这里用清华源举例,例如 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple)下图为成功安装
在这里插入图片描述
4.安装 ultralytics 包
相比于yolov5,v8需要多安装一个 ultralytics 包,在命令行通过 pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple (也是使用了一次性换源)
在这里插入图片描述

三、简单运行推理流程,验证环境可行性
1.下载预训练权重。
手动在官网下载预训练模型(不载下也行,运行的时候会自动下,我这边是习惯)这边以yolov8n举例,点击红框内即可下载,网址再给一下:https://github.com/ultralytics/ultralytics
在这里插入图片描述
我这边习惯在工作目录(d:\windows\desktop\python projects\test\231025_yolov8\ultralytics)创建一个文件夹(weights)专门放置权重
在这里插入图片描述
这里文件夹(d:\windows\desktop\python projects\test\231025_yolov8\ultralytics\assets)有两张经典图,我们用来做推理
在这里插入图片描述
在命令运行 yolo task=detect mode=predict model="ultralytics/weights/yolov8n.pt" source="ultralytics/assets/bus.jpg" imgsz=640 即可进行推理(这边有没有大佬帮忙看下,为啥生成的runs文件夹会在生成在跟项目文件夹同级)
在这里插入图片描述该配置文件 d:\windows\desktop\python projects\test\231025_yolov8\ultralytics\cfg\default.yaml 中有提到
在这里插入图片描述其中task指任务类型,分类,检测,分割啥的,我们这边选择detect。mode指运行模式训练,检测啥的,我们选择predict。model这边填写预训练权重路径。source填写待预测图像路径,这边是具体到了某一张图像,也可写到文件夹,它会将该文件夹下所有图像都推理一遍)。
在这里插入图片描述
看下效果图
在这里插入图片描述
在这里插入图片描述

四、训练自定义数据集
1.首先要构建自己数据集,按照特定的目录结构放置在项目文件夹中(这边不过多介绍标注流程,与yolov5基本一致)
我这边是在项目文件夹下(d:\windows\desktop\python projects\test\231025_yolov8\ultralytics)创建一个 my_datasets,内部结构如图所示(随便找了个数据集就十来张图像)。images内都是jpg图像文件,labels里面都是txt标签文件
在这里插入图片描述在这里插入图片描述
2.修改数据集配置文件
文件路径在这里(d:\windows\desktop\python projects\test\231025_yolov8\ultralytics\cfg\datasets),在该路径下创建一个yaml文件,例如下图中231025.yaml,
在这里插入图片描述
在这里插入图片描述
这里贴上源文本


path: d:\windows\desktop\python projects\test\231025_yolov8\ultralytics\my_datasets
train: images/train
val: images/val

# number of classes
nc: 4

# class names
names: [
    'ok',
    'nok',
    'cilun',
    'ao'
]

在命令行就可以直接运行指令了 yolo task=detect mode=train model="ultralytics/weights/yolov8n.pt" data="ultralytics/cfg/datasets/231025.yaml" epochs=1000 imgsz=960 device=cpu (这里mode就要换成train,data需要提供我们刚刚弄的数据集配置文件路径,epochs这边习惯1000,输入尺寸960,device这边直接cpu了),运行即可
在这里插入图片描述
在这里插入图片描述
因为也是第一次使用,有啥不足的地方欢迎提出,嘎嘎听建议

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

从0开始yolov8模型目标检测训练 验证和测试

08-01

RGBD Salient Object Detection via Disentangled Cross-Modal Fusion(2020)阅读学习记录(自用)

08-01

一文搞懂YOLO系列目标检测!万字长文(附YOLOv8实操教程)

08-01

目标检测Neck:FPN(Feature Pyramid Network)与PAN(附torch代码)

08-01

21电赛-智能送药小车(视觉)数字识别部分详解

08-01

目标检测——YOLOX算法解读

08-01

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论