Yolo自制detect训练

本文详细介绍了如何使用YOLOv5训练自己的目标检测模型,包括安装环境、数据集标注、目录准备、数据集划分、模型训练、权重调整以及推理过程。重点讲解了使用Labelimg进行数据标注,以及训练过程中yaml配置文件的修改和预训练权重的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Install

把代码拉下来

GitHub - ultralytics/yolov5 at v5.0

然后

pip install -r requirements.txt

安装完了,运行一下detect.py即可

结果会保存在对应的目录下

Intro

├── data:主要是存放一些超参数的配置文件(这些文件(yaml文件)是用来配置训练集和测试集还有验证集的路径的,其中还包括目标检测的种类数和种类的名称);还有一些官方提供测试的图片。如果是训练自己的数据集的话,那么就需要修改其中的yaml文件。但是自己的数据集不建议放在这个路径下面,而是建议把数据集放到yolov5项目的同级目录下面。

├── models:里面主要是一些网络构建的配置文件和函数,其中包含了该项目的四个不同的版本,分别为是s、m、l、x。从名字就可以看出,这几个版本的大小。他们的检测测度分别都是从快到慢,但是精确度分别是从低到高。这就是所谓的鱼和熊掌不可兼得。如果训练自己的数据集的话,就需要修改这里面相对应的yaml文件来训练自己模型。

├── utils:存放的是工具类的函数,里面有loss函数,metrics函数,plots函数等等。

├── weights:放置训练好的权重参数。

├── detect.py:利用训练好的权重参数进行目标检测,可以进行图像、视频和摄像头的检测。

├── train.py:训练自己的数据集的函数。

├── test.py:测试训练的结果的函数。

├──requirements.txt:这是一个文本文件,里面写着使用yolov5项目的环境依赖包的一些版本,可以利用该文本导入相应版本的包。

数据集准备

数据集标注

Labelimg是一款开源的数据标注工具,可以标注三种格式。

       1  VOC标签格式,保存为xml文件。

       2  yolo标签格式,保存为txt文件。

       3 createML标签格式,保存为json格式。

安装工具

sudo apt-get install pyqt5-dev-tools
pip install lxml
git clone https://github.com/tzutalin/labelImg.git
cd labelImg
make all
python3 labelImg.py  #打开labelImg
python3 labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

运行: 

目录准备

这里我建议新建一个名为VOC2007的文件夹(这个是约定俗成,不这么做也行),

里面创建一个名为JPEGImages的文件夹存放我们需要打标签的图片文件;

再创建一个名为Annotations存放标注的标签文件;

最后创建一个名为predefined_classes.txt 的txt文件来存放所要标注的类别名称。

VOC2007的目录结构为࿱

### 使用YOLOv11实现物体检测 目前关于YOLOv11的信息非常有限,因为截至到最新的公开资料,YOLO系列最新版本为YOLOv8,并未有官方发布的YOLOv11版本[^1]。因此,假设存在YOLOv11的情况下,可以推测其使用方法会继承之前YOLO系列的特点。 对于现有YOLO版本(如YOLOv8),实现物体检测通常遵循以下几个方面: #### 1. 环境准备 确保开发环境中已安装必要的依赖库,比如`ultralytics`等。如果遇到安装`ultralytics`库时提示错误:“ERROR: Operation cancelled by user”,这可能是由于网络连接不稳定或其他外部因素造成的中断。建议检查网络状况或尝试更换镜像源重新安装[^4]。 ```bash pip install ultralytics --upgrade --force-reinstall ``` #### 2. 数据集准备 准备好用于训练的数据集,包括标注好的图片和对应的标签文件。数据集的质量直接影响模型的效果。 #### 3. 模型配置与训练 根据具体需求调整模型参数设置,如输入尺寸、锚框大小等。然后利用准备好的数据集对模型进行训练,在此过程中可以通过TensorBoard监控日志来观察训练进度和效果,这些日志会被保存在一个指定目录下,例如`logs_yolov8large`[^2]。 #### 4. 推理部署 完成训练后,可将模型导出为ONNX格式以便跨平台部署。之后可以在不同平台上加载这个ONNX模型来进行实时推理操作,无论是处理单张图片还是视频流中的每一帧图像都适用。 ```python from ultralytics import YOLO model = YOLO('path/to/model.onnx') # 加载预训练模型 results = model.predict(source='image.jpg', save=True, imgsz=640) # 对图片执行预测 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值