保姆级超详细从零实现图像识别示例(YOLOv5)


1. 环境配置

# Anaconda3.12下载安装:https://www.anaconda.com/download/success
# Path环境变量:D:\ProgramData\anaconda3\Scripts
conda create -n yolov5
activate yolov5
# YOLOv5:https://github.com/ultralytics/yolov5
git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 官方模型体验

# 官方权重文件验证官方图片
python detect.py --weights yolov5s.pt --source data/images/bus.jpg
# 本地摄像头
python detect.py --source 0
# 视频文件
python detect.py --source data/video/test_video.mp4

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

3. 自己图像标注

3.1 数据集准备

选择要识别的几个物品,收集20-50张不同角度图片
在这里插入图片描述

3.2 软件准备
pip install labelimg
mkdir test_img
mkdir test_label
labelimg

在这里插入图片描述
在这里插入图片描述

3.3 标签准备

按8-2比例将图片分为训练集和验证集,标注后生成YOLOv5所需的labels文件夹,结构如下:
test_dataset/
├── images/
│ ├── train/ # 训练图片
│ └── val/ # 验证图片
└── labels/
├── train/ # 训练标签
└── val/ # 验证标签

  1. VOC标签为xml文件
  2. yolo标签为txt文件
  3. createML标签为json格式
3.4 软件调试

可能因为版本原因,变量定义为float,函数调用要求int,做个类型转换即可。

#\Python313\Lib\site-packages\labelImg\labelimg.py : 965行
bar.setValue(int(bar.value() + bar.singleStep() * units))
# \Python313\Lib\site-packages\libs\canvas.py : 526 - 531行
p.drawLine(int(self.prev_point.x()), 0, int(self.prev_point.x()), int(self.pixmap.height()))
p.drawRect(int(left_top.x()), int(left_top.y()), int(rect_width), int(rect_height))

在这里插入图片描述

4. 自己模型训练

4.1 环境准备

pytorch安装,版本参考pytorch官网
全系统环境参考 感知识别算法的系统环境部署流程

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
pip install -r requirement.txt

在这里插入图片描述
在这里插入图片描述

4.2 创建配置文件

在data目录下创建test_dataset.yaml,指定数据集路径和类别:

path: test_dataset/images #数据集目录,相对于data目录
train: train #训练集目录,相对于path
val: val #验证集目录
nc: 2  # 类别数
names: # 类别名称
  0: 木凳
  1: 边牧

最终目录结构如下:
yolov5
├─data/
│ └── test_dataset.yaml # 配置文件
├─test_dataset/
├─ images/
│ ├── train/ # 训练图片
│ └── val/ # 验证图片
└─ labels/
├── train/ # 训练标签
└── val/ # 验证标签

4.3启动训练:
python train.py --epochs 30 --data data/test_dataset.yaml --weights yolov5s.pt

训练完成后,权重保存在runs/train/exp3/weights/best.pt。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

5. 测试自己模型

python detect.py --weights runs/train/exp3/weights/best.pt --source data/images/test_image.jpg

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

具身小站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值