1. 搭配yolov8环境
1.1 下载Conda并且搭配虚拟环境
1.1.1 Conda的作用
Conda是一个开源的软件包管理系统和环境管理系统,主要用于安装多个版本的软件包及其依赖关系,并能在不同环境间轻松切换。其作用在于为开发者提供一个统一的平台来管理项目的依赖关系和环境,确保每个项目的运行环境保持纯净且相互隔离,从而提升开发效率和项目稳定性。AnaConda支持多语言和跨平台操作,是数据科学和机器学习领域的首选工具之一。
1.1.2 下载AnaConda软件
AnaConda软件能提供conda的环境,因此需要提前下载该软件提供Conda环境Download Anaconda Distribution | Anaconda(官方下载地址),下载步骤地址和下载步骤如下所示。
AnaConda 下载地址
https://www.anaconda.com/download
(1)打开网址
打开软件下载的官方网址后,可以发现,该网址需要提供Email信息,如图1.1所示我们可点击红色区域的跳过注册的方式,跳过该环节。
图1.1 官方下载跳过注册环节图
(2)下载AnaConda的exe文件
在跳过注册过程完成后,页面就自动跳转到图1.2所示的界面,在不同的电脑操作系统会有不同的版本,因此需要选择对应的版本,点击Download按钮下载相应的exe文件。
图1.2 下载AnaConda的exe文件
(3)安装AnaConda软件
安装步骤1,点击下载完成后的exe文件图标,并且以管理员身份运行该文件,得到安装界面如图1.3所示,点击Next按钮进入下一步。
图1.3 安装AnaConda的步骤1
安装步骤2,在上一步完成后,出现图1.4的安装提示界面时,点击我同意(I agree)按钮进入下一步。
图1.4 安装提AnaConda的步骤2
安装步骤3,出现图1.5的安装提示界面时,先点击Just Me按钮,然后再点击Next按钮。
图1.5 安装AnaConda的步骤3
安装步骤4,选择合适的安装路径,不要放置在C盘,同时为了放置安装过程中报错,在安装路径中尽量不要出现中文,笔者这里在电脑D盘上新建了一个Anaconda文件夹,并设置其为安装路径(也可以根据自己需要设置对应的路径)。
图1.6 安装AnaConda的步骤4
安装步骤5 点击install按钮即可,之后耐心等待其完成安装即可。
图1.7 安装AnaConda的步骤5
1.1.3 验证AnaConda软件是否安装成功
在完成1.1.2中的AnaConda软件的安装后,需要验证AnaConda是否安装成功。这里采用使用电脑快捷键windows+r弹出运行窗口对话框,输入cmd命令,即可打开命令提示符窗口。
cmd
图1.8 运行窗口内输入cmd命令
接着系统会弹出命令提示符对话框,在对话框内部输入命令 conda --version 后回车,如图即可弹出如图1.9所示的回复,若版本返回版本值则表明,AnaConda软件安装成功。笔者这里成功安装conda版本 22.9.0。
conda --version
图1.9 验证AnaConda是否安装成功
1.1.4 使用Conda安装Python虚拟环境
接着在命令提示符窗口输入conda create -n yolo8 python=3.10 的命令,即可使用conda搭建名称为yolo8,版本python=3.10的虚拟环境,这是为后续yolov8的使用做准备,如图1.10所示。
conda create -n yolo8 python=3.10
图 1.10 用conda搭配Python环境
1.2 安装Pycharm软件
1.2.1 Pycharm软件简介
PyCharm 是一款由 JetBrains 开发的强大的 Python 集成开发环境(IDE)。它提供了许多工具和特性,帮助 Python 开发者更高效地编写、调试和测试代码。
1.2.2 PyCharm软件的安装步骤
PyCharm软件是yolov8项目的主要平台,因此需要提前下载yolov8,其官方软件下载地址为Download PyCharm: The Python IDE for data science and web development by JetBrains,也使用游览器即可的打开该官方网址。
https://www.jetbrains.com/pycharm/download
打开官方下载界面后,如图所示,由图可以看出该软件具有社区版和专业版两种,但专业版只有30天的有效期,因此我们这里采用社区版下载exe文件。
图1.11 下载PyCharm社区版软件的exe文件
完成python的exe文件下载后,我们采用管理员模式运行该文件,开始Pycharm的安装过程。其具体的安装步骤如下。
(1)安装步骤1,如图1.12所示,点击下一步按钮
图1.12 安装PyCharm社区版步骤1
(2)安装步骤2,如图1.13所示,选择合适的安装路径,注意不要放置在C盘,然后点击下一步。
图1.13 安装PyCharm社区版步骤2
(3)安装步骤3,如图1.14所示,勾选全部的对号后,点击下一步按钮
图1.14 安装PyCharm社区版步骤3
(4)安装步骤4,图1.15所示,点击安装按钮,静静等待PyCharm软件安装完毕即可。
图1.15 安装PyCharm社区版步骤4
1.2.3 验证Pycharm是否安装成功
在完成1.2.2中的PyCharm软件的安装后,需要验证PyCharm是否安装成功。这里采用使用电脑快捷键windows+r弹出运行窗口对话框,输入cmd命令,如图1.,即可打开命令提示符窗口。
cmd
图1.16 输入cmd命令
在命令提示符窗口输入python命令后回车后,会自动弹出python版本,表明安装成功。
python
图1.17 验证python是否安装成功
1.3 下载yolov8开源文件代码
1.3.1 yolov8的功能简介
YOLOv8(You Only Look Once version 8)是Ultralytics公司在YOLO系列模型基础上推出的最新迭代版本,旨在提供更高的准确性和实时检测速度。YOLOv8支持多类别目标检测,能够识别出场景中的多种不同对象类别。通过训练数据集中的标注信息,模型可以学习到不同类别的特征,并在测试时对这些类别进行准确的分类。YOLOv8在保持实时性的同时,也注重提高检测的准确度。通过改进网络结构、损失函数和训练策略等方面,YOLOv8能够在各种复杂场景下实现高精度的目标检测。
1.3.2 下载yolov8代码
yolov8是Ultralytics公司在YOLO系列模型基础上推出的新版本,是一款官方的开源项目,其在gitee官方下载地址为ultralytics: YOLOv8 🚀 Ultralytics 同步更新官方最新版 YOLOv8 (gitee.com),或者直接在游览器输入以下网址ultralytics: YOLOv8 🚀 Ultralytics同步更新官方最新版 YOLOv8
https://gitee.com/monkeycc/ultralytics
打开网址后的yolov8下载界面如图所示,这里点击按钮,即可下载yolov8的官方压缩包,在下载完成后解压即可。
图1.18 gitee官网下载yolov8项目
yolov8项目下载完成后,其解压后的文件如图1.19所示。
图1.19 解压后的yolov8的文件
2 yolov8开源文件的使用
2.1 yolov8使用前的准备工作
2.1.1 pycharm打开yolov8并且使用虚拟python环境
打开pycharm软件,选择依次点击 文件->打开按钮,然后选择解压后的yolov8文件夹。
图2.1 使用pychram打开解压后的yolov8安装包
项目打开后需要搭配python的虚拟环境,如图1.21所示,首先点击python3.9按钮,然后点击添加本地解释器。
图2.2 搭配yolov8虚拟环境1
在Pycharm软件中使用虚拟环境,我们在章节1.1.4中已经通过cmd命令创建了虚拟环境,之后我们寻找其虚拟环境路径,默认情况是放置在AnaConda软件下的env文件夹下,我们选择yolo8文件下的python.exe文件,然后确定即可。如图2.3所示,依据数字顺序依次点击即可。
图2.3 搭配yolov8虚拟环境
2.1.2 安装yolov8所必要的插件包
在使用yolov8前,需要安装yolov8必要的支持插件包,分别在终端命令下输入以下两行命令,安装其必要插件包。
pip install ultralytics
pip install yolo
2.1.3 训练官方的数据集
安装好插件包完成后在yolov8项目上新建一个test.py文件,输入以下代码进行测试,等待测试完成即可。
from ultralytics import YOLO
import torch
from torch.utils.data import DataLoader
# 加载模型
model = YOLO("yolov8n.yaml") # 从头开始构建新模型
model = YOLO("yolov8n.pt") # 加载预训练模型(建议用于训练)
# 使用模型
model.train(data="coco8.yaml", epochs=50) # 训练模型
metrics = model.val() # 在验证集上评估模型性能
results = model.predict(source="https://ultralytics.com/images/bus.jpg",save=True,save_conf=True,save_txt=True,name='output') # 对图像进行预测
训练结果如图2.4所示,能清晰的识别出各种人物和物体
图2.4 官方的数据库训练结果
3. 训练自己的数据集
3.1 使用Conda下载labelImg软件
3.1.1 labelimg软件的作用
LabelImg软件是一款功能强大的图像标注工具,主要用于机器学习和计算机视觉领域的图像标注工作,其允许用户在图像中标注物体,通过鼠标点击和拖动来选择对象,并为其添加标签或类别名称。LabelImg软件支持多种标注格式,包括Pascal VOC(一种XML格式)、YOLO(一种文本格式)和COCO等,这使得它能够与多种机器学习框架兼容,对于创建用于训练机器学习模型的数据集至关重要。
3.1.2 labelimg软件下载
下载labelimg软件,运行cmd命令,如图3.1所示
cmd
图3.1 输入cmd命令
依次在命令符号窗口输入以下命令,安装labelimg软件
pip install PyQt5
pip install pyqt5-tools
pip install lxml
pip install labelimg
下载完成之后,打开Labelimg软件,如图3.2所示在命令符号窗口输入labelimg命令即可打开lableimg软件
图3.2 打开labelimg软件
3.2 使用自己的数据集图片
我们可以用labelimg软件训练自己的数据集,初学者可以在网络上自己搜索图片,也可以去开源网站上下载对应的图片,本小节图片是笔者在网络上下载,下载网址为垃圾分类图片_数据集-飞桨AI Studio星河社区 (baidu.com),也可以在游览器打开以下网址。
https://aistudio.baidu.com/datasetdetail/35095
打开网址后可以下载相应的数据集文件,如图3.3所示,点击即可下载test.zip文件
图3.3 下载垃圾分类数据集的test.zip文件
根据自己的需要可以将数据划分为训练集(train)、验证集(val)和预测集(pre)三个文件夹,并且建立相应的文件夹。这里由于下载的文件太多,这里只简单的选取100张图片,其中训练集30张图片,验证集6张图片,预测集5张图片。
如图3.4所示,第一步打开图片数据集的文件夹,第二步然后将labelimg设置成yolo模式,第三步划分区域,第四步设置其标签。
图3.4 给图片设置标签
在设置完标签后,保存和图片对应的.txt文件,如图3.5所示,并且保证两者一定在同一文件夹下,其中train和val文件夹下每一个图片都要有相对应的.txt文件标签,pre文件夹不需要。
图3.5 保存图片对应的.txt标签文件
3.3 训练自己训练集的准备工作
3.3.1 创建自己的mycoco8.yaml文件
创建相应的yaml文件,yaml文件主要包含图片分类的种类、名称、以及图片保存路径等重要信息,为此我们在ultralytics-main文件夹下创建名称为mycoco8的.yaml文件,并且设置以下信息
# 训练集35张图片所在的文件夹 即train文件夹
train: D:\yolov8教学数据集\train
# 验证集6张图片所在的文件集 即val文件夹
val: D:\yolov8教学数据集\val
# 数据集分类的数量,比如数据集一共有 垃圾袋(bag)、瓶子(bottle)、电池(battery)鞋子(shoe)等4种东西,那nc的值等于4
nc: 4
# names 表示名称,这里写出其每个名称
names: ['bag','bottle','battery','shoe']
3.3.2 创建自己的mytrain.py文件
我们在ultralytics-main文件夹下继续创建mytrain.py文件然后输入以下代码即可开始训练和预测自己的数据集。
from ultralytics import YOLO
import torch
from torch.utils.data import DataLoader
# 训练我自己的数据集合
model = YOLO("yolov8n.yaml") # 从头开始构建新模型
model = YOLO("yolov8n.pt") # 加载预训练模型(建议用于训练)
# 使用模型
model.train(data="mycoco8.yaml", epochs=10) # 训练模型
metrics = model.val() # 在验证集上评估模型性能
# 测试集所在文件夹路径,即pre文件夹
results = model.predict(source="D:\yolov8教学数据集\pre",save=True,save_conf=True,save_txt=True,name='output')
3.3.3 训练结果
如图所示为训练结果,验证集一共6张图片,一共识别了4张图片,主要是因为其我采用数据集的图片太少,一共才41张图像,大家可以加大训练集图片数量试一试。
图3.6 val文件夹下训练结果
4 博客总结
本博客主要是入门级教学,若大家有疑问,可以在评论区留言,我会尽快回复,谢谢大家的支持,别忘了点赞哦。