YOLOv5零基础学习日记1

本文详细描述了如何安装Labelme进行图片标注,并使用YOLOv5进行目标检测,涉及预训练权重选择和环境设置。

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

参考:http://t.csdnimg.cn/ygYAO

Labelme的安装和使用 - 知乎

1.准备数据集

1.下载数据集

15个目标检测开源数据集汇总 - 知乎

我在http://m6z.cn/6fzmQf 下载了一些行人交互的图片素材

2.下载一个图片标记工具

看的教程里用的labelImg,我画框的时候总是闪退,用了网上的方法也没用

后面下载了labelme来替代

3.labelme的安装

搜索框输入Anaconda Prompt

pip install labelme

然后在弹出的终端输入上面这个代码安装,回车按一下

(这是windows版本)

4.labelme的使用

在Anaconda Prompt中输入labelme就可以启用了

打开就是这样子(在底部栏是jupyter的标)

然后选择“打开目录”,选择数据集文件夹

点击左上角--编辑--创建矩形    就可以开始创建区块

同一类的物体就同一个标签名

框选完一副就点save然后下一幅   重复这个操作

(应该有简便的方法?

然后它会为每个图片生成一个json文件

5.解析标注信息

对于每张图片的标注,提取出每张图片大小以及每个标注框的类别和位置信息

打开jupyter

import json
import os

json_dir = '存放json文件的路径'
output_dir = '保存输出文件的目录' 

# 遍历目录下所有 JSON 文件
for file_name in os.listdir(json_dir):
    if file_name.endswith('.json'):
        json_file = os.path.join(json_dir, file_name)
        
        # 读取 JSON 文件
        with open(json_file, 'r') as f:
            data = json.load(f)
        
        # 创建对应的输出文件名
        output_file = os.path.join(output_dir, os.path.splitext(file_name)[0] + '.txt')
        
        # 处理每个标注信息并保存到对应的输出文件中
        with open(output_file, 'w') as f_out:
            for annotation in data['shapes']:
                label = annotation['label']  # 标注的类别
                points = annotation['points']  # 标注框的位置信息
                x1, y1 = points[0]  # 左上角坐标
                x2, y2 = points[1]  # 右下角坐标
                
                # 将处理后的信息写入输出文件
                f_out.write(f"标签: {label}, 位置信息: ({x1}, {y1}), ({x2}, {y2})\n")

运行之后会生成一个文件夹,里面有每个图片的txt文件

每个txt中有label的位置信息(我这的标签5是人)

2.下载 YOLOv5 代码

GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

压缩包下载完之后解压

3.配置环境

我们需要Python 3.x、PyTorch、torchvision 和其他必需的依赖项。

按照 YOLOv5 项目中的说明来配置环境。

先进入yolov5文件夹

然后右键-在终端中打开

输入

activate yolo

再输入

pip install -r requirements.txt

就安装好了需要的依赖。

4.目标检测

1.下载预训练的权重文件

Releases · ultralytics/yolov5 · GitHub

选择.pt结尾的下载

版本有很多,比如 yolov5s.ptyolov5m.ptyolov5l.ptyolov5x.pt 等。

  • 如果你希望在保持较高检测速度的同时拥有较小的模型尺寸,可以选择 yolov5s.pt
  • 如果你需要更好的检测精度和对小物体的识别能力,可以选择 yolov5m.pt
  • 如果你处理的是复杂场景或大尺寸物体,可以考虑选择 yolov5l.pt 或 yolov5x.pt,这些模型通常具有更好的性能和泛化能力。

你可以根据你的具体需求选择合适的版本。如果不确定哪个版本最适合你的任务,可以先尝试使用 yolov5s.pt 这个较小的版本,然后根据实际效果再决定是否需要升级到更大的模型。

建议下载到yolov5文件夹中 

2.单张图片目标检测

进入yolov5文件夹,右键进入终端

python detect.py --source test.jpg --weights yolov5s.pt --conf 0.5 --iou 0.4

source后面是图片名称  

weights后面是权重文件的路径(如果放在yolov5文件中就不用写路径)

conf置信度阈值设为 0.5

iou重叠度阈值设为 0.4

3.批量目标检测

source后面改成图片路径就行,例如:

python detect.py --source C:/Users/lenovo/Desktop/people/image --weights yolov5s.pt --img-size 640 --conf 0.5

--img-size 参数指定了输入图像的尺寸

4.查看检测结果

打开yolov5\runs\detect\exp

就可以看到代码检测的成果了

5.模型训练

有空再更新,嘿嘿!

教程:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值