土堆YOLO目标检测教程笔记
YOLOv5目标检测
项目介绍和环境配置
- github上找到对应的仓库,选择master分支中的tag中的YOLOv5版本,点Code中的压缩文件下载,解压后用pycharm打开,叉掉默认的创建环境提示,在设置中配置上自己的虚拟环境
- 安装requirements.txt文件中所需要的库,直接点击pycharm的提示进行安装该文件中所需要的库,也可在底部终端中的虚拟环境中输入:pip install -r requirements.txt,安装pycocotools库过程中报错,需要先安装c++编译工具,根据提示去官网下载工具,勾上c++桌面开发和组件中搜build选中最后一个,安装即可(安装完成后启动,如然后在弹出得黑框瞎按一通,然后卡住,要等很久说命令无效,然后叉掉黑框,等很久,可能会卡住,好了之后)安装pycocotools库
使用YOLOv5进行预测
利用detect.py文件进行预测
-
可用命令行的方式:例如:$ python detect.py --source data/images --weights yolov5s.pt --conf 0.25
-
在pycharm中进行预测:
- 库都导入后运行detect.py,可能会报错:Can't get attribute 'SPPF' on <module 'models.common' from 'F:\project\dl\yolov5-5.0\models\common.py'>,原因是models.common.py中没有SPPF类,去GitHub上将对应文件中的该类的代码粘过来即可运行detect.py
- detect.py中的main函数下的source参数指定检测哪个资源,在runs文件下的detect文件下的exp文件夹中可以看到对应资源的检测结果
-
detect.py中的main函数下的参数
-
weights:指定不同版本的预训练网络模型的参数,例如可以将默认的yolov5s.pt改为yolov5m.pt,再运行,可以在github上找到各种不同版本的网络,将其下载粘贴到yoloyv5-5.0项目下,在将参数改成对应的,再运行能达到相同的效果
-
source:指定网络的输入,路径不能有中文,可以是一个文件夹(将会检测该文件夹下所有的文件),也可以是一张图片,也可是一个视频
-
img-size:将输入的图片reshape成指定大小,再预测,但原始输入和输出保持一致
-
conf-thres:置信阈值,大于设置值如0.25时才相信检测的对象是我们标记中的一种,才在结果中框出来
-
iou-thres:非极大抑制的思想中的度量指标,对于某个对象有多个框重叠,但重叠的框框的交并比(IOU)大于某个阈值时,我们就要抑制概率不是极大的框,只保留概率极大的那个框,当小于该阈值时,对于多个框框就不进行非极大抑制
-
device:运行设备
-
--project:将结果保存在哪个位置
-
--name:结果文件夹的名称
下面的参数都是无默认值:如在虚拟环境中python detect.py --view-img,则表示该属性为True,会执行对应的效果
-
--view-img:是否运行时实时显示检测结果。也可在运行按钮左边的配置中的Parametes中设置为:--view-img,再运行detect.py文件,能达到相同的效果
-
--save-txt:是否将结果保存为txt文件,和上个参数一起设置的形式为:--view-img --save-txt
-
--save-conf:是否保存置信度
-
--nosave:是否保存检测结果图片/视频
-
--classes:过滤检测的对象,如只想检测类别编号为0的类:--classes 0
-
--exist-ok:若设置为True,则每次结果都会新建文件夹保存,否则,会保存在上次运行结果得文件夹中
-
可在opt = parser.parse_args( )处打上断点,再debug运行detect.py,可看到每个参数得具体值
有的项目中参数中未提供默认值,但参数设置required=True,表示必须要提供参数,我们就将required=True删除,添加default="..."
训练YOLOv5神经网络
本地训练
- 运行train.py文件,通道数报错则在参数中将cfg默认值设为:'models/yolov5s.yaml'
- 运行,下载数据集coco128,可能压缩文件下载的位置不对且自动解压失败,手动解压到和项目YOLO同级目录下即可,结果依然保存在run文件夹中
- 研究main函数中参数的意义
云端GPU训练
-
谷歌Colab:将本地项目压缩后上传到Colab云端文件夹上
-
用命令行将文件解压,并删除不必要的文件夹,进入文件夹,下载对应需要的库
制作自己的数据集训练
- 下载一些图片,图片名改为无中文,创建yaml配置文件,使用在线工具上传图片并选择手动或自动进行标注,标注完后打包下载,在yolo项目下建一个MyData文件夹,里面建images和labels文件夹,在images和labels下面可分别建train和test文件夹,将下载的图片和标注放到对应的文件夹下,写MyData.yaml文件
- 仿真数据集(GAN、数字图像处理的方式)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App