yolov8预测入门

本文介绍了如何使用yolov8进行机器人大赛中的先进视觉赛,包括安装方法、命令行和Python代码预测、数据集组织与训练,以及常见问题的解决方案。
摘要由CSDN通过智能技术生成

一、前言

        最近学了一些yolov8的使用方法,参加机器人大赛中先进视觉赛的校赛,时间仓促并且是新手,拿了个校三,记录一下入门使用方法(本文重点介绍yolov8相关的使用,对于其他工具的详细安装请查询其他文章)

        github代码官网:https://github.com/ultralytics/ultralytics

        文档官网:https://docs.ultralytics.com​​​​​​

        b站参考视频:安装+预测+数据集+训练

二、入门篇

1、安装

(1)前提:

        下载miniconda或者anaconda,创建一个ultralytics新环境,新建项目并使用该环境,在环境中根据自己电脑的配置(有无cuda)下载pytorch

(2)方法一:

        一行命令安装即用,但不能修改源码

pip install ultralytics

(3)方法二(推荐):

        在github代码官网(见前言)下载源码到新项目,切换到新环境,运行下面命令

pip install -e .

        将当前目录(即该项目)以可编辑模式(对源码的修改会立即反应到环境)安装到该环境

2、使用yolov8预测

(1)命令行方式

yolo predict model=yolov8n.pt source=ultralytics/assets/bus.jpg

        第一次运行时,会在根目录的model路径寻找yolov8n.pt,在该目录自动下载,也可以自己手动下载后放到项目中

        source为需要预测的图片路径,conf为输出置信度阈值,iou为输出两个边界框重叠程度阈值

        其他参数可以在文档官网:https://docs.ultralytics.com/modes/predict/

(2)python代码方式

from ultralytics import YOLO

yolo = YOLO("yolov8n.pt.pt", task="detect")

# 图片或视频,conf越小iou越大框越多
result = yolo(source="ultralytics/assets/zidane.jpg", save=True, conf=0.5)

# 屏幕
# result = yolo(source="screen")

# 摄像头
# result = yolo(source=0)

        结果对象中目标框信息

# boxes信息
result_npy = result[0].boxes.xywh.cpu().numpy()

        其他参数见文档:https://docs.ultralytics.com/modes/predict/#working-with-results

3、数据集

(1)目录格式

        以官方coco128数据集为例

        该数据集下载方式:文件/ultralytics/cfg/datasets/coco128.yaml中最下方链接

|——根目录
    |——datasets
        |——coco128
	        |——images
		        |——train2017
		        |——val2017
	        |——labels
		        |——train2017
		        |——val2017
            |——yaml

        coco128使用自己的数据包名,train2017和val2017分别为训练集和验证集的包名,可以加个test测试集;images中放图片,labels中放标签,一个图片对应一个标签文件,并且文件名要相同;yaml中写该数据集的配置,按照/ultralytics/cfg/datasets/coco128.yaml中格式编写

(2)数据集获取

方法一:

        开源数据集:https://universe.roboflow.com/roboflow-100

方法二:

        给自己的数据集打标签:https://www.makesense.ai

4、模型训练

(1)方法一:

yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100

        data为数据集的yaml文件,model为初始训练权重,epochs为训练轮数

        其他参数见文档:https://docs.ultralytics.com/modes/train/#train-settings

(2)方法二:

        复制一份配置文件,执行以下命令,得到default_copy.yaml

yolo copy -cfg

        修改复制的yaml中的训练参数,如model、data、epochs,然后使用以下命令开始训练

yolo cfg=default_copy.yaml

三、遇到过的问题

问题:

        项目在新路径重新运行,但代码中的相对路径全都使用的旧路径

原因:

        源码中每次运行都会在~/AppData/Roaming/Ultralytics文件夹寻找settings.yaml文件(里面有个datasets_dir指定数据的绝对路径),如果没有就用目前运行环境创建,如果存在就直接使用

解决:

        方法一:删除~/AppData/Roaming/Ultralytics文件夹下的settings.yaml,但每次更换目录后都要删除再训练

        方法二:修改源码,注释ultralytics/utils/__init__.py文件中第954行,让每次运行都重新保存settings.yaml

# if not self.file.exists():
self.save()

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值