YOLOv8安装+入门训练
本文最后更新于 573 天前,其中的信息可能已经有所发展或是发生改变。

最近学的智能信息有学到YOLO训练模型,那么如何训练一个自己的模型呢,其实并不复杂。

下面我将基于助教学长的文档,加上我实际使用时的问题补充教程。

首先我们需要一些准备工作

项目文件:

https://wwte.lanzouy.com/iQK9a0we1p0d

https://wwte.lanzouy.com/iOZBk0we1oqd

https://wwte.lanzouy.com/iZWL00we260f 密码:aqzy

pycharm:

Download PyCharm: Python IDE for Professional Developers by JetBrains

训练图片:

准备一些训练图片,进行标注,作为我们的数据模型,我选择了两百张图片

可以使用potplayer连续截图功能将视频分割为图片,再从图片中剪切出不相似的人物,如图

这是一件很麻烦的事情,所以我将我的图片以及标签集上传提供使用

https://wwte.lanzouy.com/i30U20we6kmf

1.所有软件不要安装在有中文路径的地方,以免出现意想不到的问题。
2.所有安装过程中提示是否安装,有y/n选择的,我们都要输入y并且回车。
例如:Proceed ([y]/n)? y 
软件对硬盘无要求,机械硬盘或者固态硬盘均可。                                           
使用pip安装软件时,后面-i 地址使用国内镜像,加上可以节省时间。
Pip install 安装包 -i https://pypi.tuna.tsinghua.edu.cn/simple  

anaconda安装

下载地址:Free Download | Anaconda

我们需要安装anaconda,双击打开安装程序,下一步直到选择路径

这里不要在其他盘符新建文件夹,请务必使用默认的路径直接安装,否则可能会出现奇怪的bug

我们勾选如图选项,然后点击install安装。后续完成安装即可。

如果安装程序有提示失败,那么可以尝试完全卸载后再勾选最后一个选项安装

Yolov8解压

需要准备两个文件,分别为人工标注图片的程序和yolov8的源代码

我们将ultralytics-main.zip(这个文件夹就是yolov8的源代码)解压到容易找到的地方,稍后我们需要通过pycharm打开这个文件夹,解压完后,我们继续解压labelimg压缩包,可以解压到ultralytics-main文件夹里面。即,将labelimg项目放在ultralytics-main项目文件夹目录下,方便pycharm使用。

类似下面图片展示这样。

Pycharm中的yolov8项目配置环境

我们打开pycharm,打开文件夹

接下来我们设置编译器环境。按照下面图片的方向,我们设置使用anaconda,python版本我们统一选择3.8,然后点击确定。

然后重新启动pycharm进行镜像源设置

下面是一些镜像源,需要一条一条的添加进去。名称随意,授权默认无。

http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/

http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/

http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

全部添加进去后点击应用,确定。

我们接下来打开pytorch.org这个网站,按图所示,根据自身电脑情况选择对应的命令

例如我的电脑为windows系统,nVidia显卡,那么我就选择如下配置。

同级别显卡的训练速度约为CPU的40到60倍不等,如果支持请尽量选择显卡训练

复制这一条命令,然后进入pycharm的命令行,输入刚才的命令,我已经安装过了,就不在这演示了

这个时候会出现几种失败的情况,但多半提示http error,最好科学上网下载

我们再次回到pycharm主界面,会提示安装依赖包(其实一直都会提示,只不过这个时候我们才理会这个)。点击安装即可。

这里需要多等一会儿,如果安装卡主,可以退出pycharm重新打开会提示安装依赖包。重新点击即可。不过可能无法全部完成安装,会有一些包最终还是安装失败。我们使用下面的命令来安装。

pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple

我们继续在终端里输入命令,来运行下yolo的图像检测,看看是否真的成功了。命令如下。

yolo task=detect mode=predict model=yolov8n.pt conf=0.25 source='你想要检测的文件路径'

文件路径格式如下:E:/yolo/pic/3.mp4_20230507_204218.226.jpg

执行后,我们看到会自动下载github上pt这个文件,并且开始进行图像检测。

运行结束后在ultralytics-main\runs\detect文件夹中会生成检测完成后的图片打开图片。

训练自己的数据集

下面我们来介绍安装labelimg,刚才我们已经把这个文件夹放在了ultralytics-main文件夹。

我们在pycharm中的终端,能看到当前输入命令的路径,这个路径我们需要修改到labelimg文件夹下的路径,需要一点windows命令。

cd 输入下一个文件夹的名字(中间有一个英文符号的空格)即可进入到下一个文件夹下面,cd..代表回到上一层目录。  C:代表进入c盘根目录

我们定位到labelimg文件夹中,使用命令dir,来查看所有文件,一定要确认有resources.qrc这个文件。然后执行下面的命令

Pyrcc5 -o resources.py resources.qrc

执行完后会生成resources.py,我们将这个文件复制一份到lib文件夹里面。

然后终端里继续执行下面三条命令

pip install lxml -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install PyQt5_tools -i https://pypi.tuna.tsinghua.edu.cn/simple

全部安装后,我们找到labelimg.py双击,然后鼠标右键对着代码点击运行。能出现下面的界面代表成功安装。

然后选择打开目录,选择我们存放图片的位置,注意不要有中文

接下来开始标注图片

如图,按w快捷键开始标记,选择合适的范围,然后输入自己想要标注的类型名称,例如我的human和e-bike。

一定要用文件记下自己标注了哪些类型,一会需要用到,这里我就记下human和e-bike

点击保存,这样我们就标注好了一张图片,生成对应的xml文件

然后在图片文件夹创建一个annos的文件夹,将刚才生成的所有xml文件全部放入

面我们还差一个标签转换python程序,将这个convert_voc_to_yolo.py代码复制到我们的项目文件夹下

并且将如下位置的数据修改为自己标注的类型

我的类型分别为

e-bike
bike
human
3bike
casque
bike-card

这里有需要提示的地方代码中修改为自己的路径

在pycharm中,鼠标右键运行即可。

这样会生成一个新的文件夹labels_all,里面存放了txt形式的标注数据

接下来如图所示创建dataset文件夹,然后在dataset目录下再创建三个文件夹以及data.yaml,三个文件夹下再分别创建images与labels文件夹

yaml的内容如下

分别为三个文件夹的地址

标注的类型个数nc

标注的类型的名称

根据自身需求修改,如果是我的数据集就不用修改

# 用来分多少类,指定各个文件夹的位置

train: E:\yolo\ultralytics-main\dataset\train\images
val: E:\yolo\ultralytics-main\dataset\valid\images
test: E:\yolo\ultralytics-main\dataset\test\images
nc: 6
names:
  0: e-bike
  1: bike
  2: human
  3: 3bike
  4: casque
  5: bike-card

然后将刚才生成的labels_all文件夹内的txt文件放入labels,图片放入images内,并且要一一对应

例如我的train里放入1-100,test放入101-180,valid放入181-200

然后输入以下命令,记得修改为自己的路径

yolo task=detect mode=train model=E:\yolo\ultralytics-main\ultralytics\models\v8\yolov8n.yaml data=E:\yolo\ultralytics-main\dataset\data.yaml epochs=30 imgsz=640 resume=True workers=4
						#进入训练

其中epochs为训练次数,如果是10代的中端cpu大概是四十秒一轮,3060ti则为2秒一轮根据自身情况选择训练次数,建议不低于三十次

最后结果集会保存至ultralytics-main\runs\detect内,效果图为val_batch0_pred.jpg

如图

当前文章: 《YOLOv8安装+入门训练》
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇