YOLO视觉检测应用入门篇(一)
YOLO视觉检测应用入门篇(一)
写在前面
网上看到很多刚刚入门学习YOLO的,不管是为了论文,还是实际应用,发出的帖子下面基本都是要收费的广告。
YOLO本就是开源的,很多资料也可以免费获取,因此想想写一下入门的应用。
引言
YOLO视觉检测在B站和网络上有大量视频教程、资料。
但绝大部分都关注的是YOLO的原理。从卷积开始讲起,一直讲到神经网络如何优化。上采样下采样让小白云里雾里不知所云。
事实上有一部分人只是想将YOLO进行应用,最开始的时候并不对卷积神经网络的原理理解是否透彻,更关注的是如何应用起来。
唯有应用了,技术才有了价值;唯有应用过,才有进一步学习和使用的动力。
下面,我着重讲一下如何应用,哪怕对YOLO,对卷积神经网络不是很理解也没有关系,能用起来。
当然,不管是写论文还是实际应用,最终都要对YOLO的原理,卷积神经网络有一定的了解。
但最开始入门,我们可以简单一些。
安装
既然要应用,第一步就是安装。最简单的安装方式如下
安装YOLO
1 |
|
最简单的就是这样,安装就完成了。理论上已经可以跑起来了。
我相信很多人在Ultralytics GitHub官网上都能看到这一条,也都可以操作。
INFO
如果pip安装速度慢可以使用国内源,举例:
1 |
|
Environment
如果上面的pip安装也报错的话,可能是连基本的安装环境也没有,需要从头搭建。
预训练权重
YOLO官方已经给出了一个训练过的Detection模型,初始我们可以基于这个模型来进行训练
官方的模型是基于COCO数据集的,有以下几种:
模型 | 类别 |
---|---|
YOLO11n | Tiny |
YOLO11s | Small |
YOLO11m | Medium |
YOLO11l | Large |
YOLO11x | Extra |
模型可以在Ultralytics GitHub官网首页获取
或者8.3.0 Release页面获取
最初始使用的时候我们可以使用最小的Tiny。
Sample应用
下面用官网的Sample程序来解释下如何用起来。
官网程序:
1 |
|
sample程序解释完成了,但是初始还是跑不起来。因为官网并没有直接在首页提供coco8数据集
预测应用
我们先降低难度,跑个预测模型。
在我们安装的yolo路径下,有一个ultralytics/assets文件夹,里面有一张bus.jpg图片。
我们就用它来试一下或者下载获得
1 |
|
等待一会我们会看到如下图片,说明预测已经完成。
数据集准备
接下来我们可以从官方下载coco8数据集并进行准备
coco8.yaml文件下载(Download raw file)
coco8.zip文件下载
将coco8.zip解压,然后将coco8.yaml文件放到coco8文件夹内。
coco8.yaml原文件显示部分如下:
1 |
|
进行修改,改为如下:
1 |
|
这一步是为了将数据集位置明确告知yolo
NOTE
coco8本身没有准备test数据集
可以自己将val里面两张图片(以及对应的标签)放入自建的test文件夹,并修改yaml
训练模型
这次,我们就可以用首页的sample去跑训练集了。
NOTE
原程序的
1 |
|
另外
1 |
|
执行后,模型就开始训练了。
我们会在程序所在文件夹内找到run文件夹,里面是训练的结果。
其中weight中的best.pt代表训练最好的模型。我们可以使用best.pt来代替yolo11n.pt试试看
目前并不需要管训练的好与坏,result图如下:
模型转换
前面我们将下面的代码注释掉了。这段代码是用来将.pt转为更为通用的.onnx,以便在其他平台和设备下应用训练出来的模型
1 |
|
这里我们需要pip安装onnx,onnxruntime,直接运行报错的内容中可以看到需要安装的库。
注意:
onnx请指定1.16.0,onnxruntime请指定1.19.2,否则会报错
1 |
|
小结
至此,我们以及初步掌握了YOLO训练模型及利用模型进行预测的最基础的应用。
下一篇,我们将介绍下进阶的内容。