YoLo运用学习1


前言

初步学习YoLo模型运用,知道了YoLo模型的基础运用方式,实现了图片、视频的物体识别,以及使用自己数据集来训练自己的YoLo模型并进行运用识别。


一、YoLo模型如何运用

YoLo模型下载好后,可通过PyCharm软件,调用ultralytics库的Yolo类,使用相关方法。举例如下:
1)实现对一张图片的识别

from ultralytics import YOLO

#加载YoLo预处理模型
model = YOLO(r'D:\PythonProjects\ultralytics-main\yolov8n.pt')
#检测目标  show 显示检测后的结果   save 保存检测后的结果
# 网络地址图片和本地图片都能目标检测
#(网址图片需填写相应网址,如:https://i0.hdslb.com/bfs/new_dyn/8329f0625a9a642d4412c90f91859c6d33583817.jpg)
#model('1.png', show=True, save=True)

2)实现对一个视频的识别(与图片方法一致)

from ultralytics import YOLO
#加载YoLo预处理模型
model = YOLO(r'D:\PythonProjects\ultralytics-main\yolov8n.pt')
#检测目标  show 显示检测后的结果   save 保存检测后的结果
# 网络地址视频和本地视频都能目标检测
#model('v1.mp4', show=True, save=True)

二、如何训练自己模型

概括

学习YoLo模型运用后,总结了AI模型运用总体思路逻辑。
1)需要自己的数据集(专攻于哪方面的数据识别)
2)将数据标注(数据有视频、图片、文字等,需进行标注,让模型知道去识别哪些点。)
3)数据预处理(将数据处理成模型能够识别的方式)
4)训练模型(使用模型方法,设置相关数据,如:学习轮次、一次学习多少图)
5)评估模型(是否符合预期结果,如不符合,需在此基础上,使用新数据集继续训练。)

流程图如下:
在这里插入图片描述

1.数据集整理

需将自己需要训练模型的相关图片、视频等信息进行整理(尽量找需要检测的场景下的图片,训练效果最好),标准的数据集分为训练集、验证集、测试集,按6:2:2比例存入三个文件夹,我这里只搞了两个,训练集train、验证集val。
在这里插入图片描述

2.数据预处理

数据主要有三种,视频、图片、文字,因此需要分为三种处理方式。

数据源处理方式
视频可以处理成视频关键帧图
文字清洗、分词、向量化等处理
图片标注(打标签或者边界框)

这里主要讲的是图片的标注处理。

图片标注

YoLo模型数据格式:

  • 图像文件(.jpg、.png常用图片格式)
  • 标签文件(.txt文件,有五个值,分为类型下标、目标中心点X与整体图的比例、目标中心点Y与整体图的比例、目标宽与整体宽的比例、目标高与整体高的比例)

手动标注

常用的标注是矩形标注,这里可以使用标注工具labelimg进行标注,因为有YoLo格式,能直接使用,安装也很简单,在Anaconda虚拟Python环境中,直接使用指令下载

pip install labelimg

#使用labelimg,直接输入labelimg

注意:labelimg的python环境建议使用python3.8,往上版本使用会闪退

Labelimg具体使用以及更详细了解YoLo模型可参考:使用Labelimg制作自己的YOLO数据集
原文链接:https://blog.csdn.net/ECHOSON/article/details/143207213

自动标注

需先通过几十张图片训练生成一个训练模型,然后通过软件将训练模型加载进来,自动标注。缺点:自动标注会有差错,需要人工查错并修正。常用工具有:X-AnyLabeling、JieLabel、Label Studio等。

数据集配置文件

说明:配置一个yaml格式文件,配置数据集信息。

path: D:\PythonProjects\learn\test #数据集根目录
train: images/train # 训练集图片路径
val: images/val #验证集图片路径
nc: 2 #类别数量
names: ['王五', '赵四']  # 类别名称

3、训练模型

调用ultralytics 库YoLo类方法,进行训练

from ultralytics import YOLO

# 加载预训练模型
model = YOLO(r'D:\PythonProjects\ultralytics-main\yolov8n.pt')
# 开始训练模型
model.train(
    data='test.yaml',  # 数据集配置文件路径
    epochs=100,  # 训练轮次
    imgsz=640,  # 输入图片尺寸 官方推荐640
    batch=32,  # 每次训练的批量
    device='cpu'  # GPU= 0 CPU= 'cpu'
)

这里建议使用yolov8n.pt,应为后面“s”、“m”、“l”模型有点大,数据集没有100张,运行不成功,会报页面文件太小

训练完成后会生成2个模型:best(最优模型)、last(最后学习模型)
在这里插入图片描述

4、检测模型

使用训练最优模型去检测需识别的视频或图片

from ultralytics import YOLO
#模型训练完毕自动保存到:runs\detect\train\weights
model = YOLO(r'D:\PythonProjects\learn\runs\detect\train3\weights\best.pt')
model('v1.mp4',show=True, save=True)

如觉得还不够好,可用新的数据集去训练最后模型last.pt,代码跟3步骤一样。

具体操作也可以观看大发老师的视频2025最新YOLO目标检测训练/开发教程

总结

通过学习YoLo模型,可以使用YoLo模型判断一些瑕疵、有无等检测工作,具体实现可将瑕疵、黑点等明显特征标注为坏品,通过代码将图片识别坏品类别大于50%的为残次品,来判断好坏,目前也只是初步运用,继续学习~~。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值