YOLO v5 实现目标检测

本文用于学习记录


前言

YOLO v5 实现目标检测


一、YOLO v5 环境配置

1.1 安装 anaconda 与 pycharm

  • 安装完成以后,按下开始键( win 键)出现 anaconda3 这个文件夹,说明 anaconda 已经安装好了
  • 点击左下图中标红的图标,就可打开 anaconda 的终端如右下图:
    在这里插入图片描述

1.2 创建虚拟环境

conda create -n 环境名字(英文) python=x.x(python版本)
  • 输入 conda create -n pytorch1 python=3.9,在 base 环境中这条命令,就会创建一个新的虚拟环境,这个虚拟环境会安装一些基础的包,如左下图所示:
  • 询问是否安装的时候,输入 y 就可以创建环境了
    在这里插入图片描述

1.3 进入 pytorch 环境

conda activate pytorch1
  • 安装完成后显示如下,输入 conda activate pytorch1 进入 pytorch 环境,输入 pip list 查看已经安装的包

在这里插入图片描述

1.4 安装 pytorch

#如果电脑没有英伟达的显卡输入:(在 pytorch 环境下输入)
conda install pytorch torchvision cpuonly -c pytorch 

在这里插入图片描述

二、YOLO v5 项目下载实现

2.1 YOLO v5 项目下载

2.2 解压 yolo v5 项目并导入 Pycharm

  • 将本地的 yolov5 项目解压至 Pycharm 特定的 Project 项目中,Pycharm 将会自动识别,并完成加载
  • 如左下图所示,已完成 yolov5 项目的导入,进入 File 下的 Settings 进行 python 解释器设置
    在这里插入图片描述

2.3 添加 Python interpreter

  • 选择 Settings 中的 Project yolov5-master 下的 Python interpreter,点击右上角标红的设置选择 add 添加;
    在这里插入图片描述

2.4 选择 Existing environment

  • 进入 Add Python interpreter 选择 Conda Environment 下标红的 Existing environment,点击 OK 之后 python 解释器设置就配置好了;
    在这里插入图片描述

2.5 直接运行 detect.py

  • 直接运行 detect.py,会出现以下问题,即缺少依赖包;
    在这里插入图片描述

2.6 配置 requirements.txt

#需要导入的 requirements.txt 文件配置,里面包含 yolo5 运行所需依赖,在 Pycharm 的 Terminal 终端输入:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

2.7 重新运行 detect.py

  • 安装成功后,再次运行 detect.py,将会检测 data/images 中的图片;
    在这里插入图片描述

2.8 yolov5s.pt 权重文件下载超时

  • 运行结果会在 runs 目录下,但这里没有看到所预测的图片,原因是 yolov5s.pt 权重文件下载超时;
    在这里插入图片描述

2.9 下载 yolov5s.pt 权重文件

  • yolov5s.pt 权重文件下载超时后,可重新运行 detec.py,
  • 如果下载太慢,也可进入官网地址下载 yolov5s.pt;

在这里插入图片描述

2.10 detect.py 运行成功

  • detect.py 运行结果保存到 runs\detect\exp 中,
    在这里插入图片描述

2.11 检测视频

  • 前面是检测图片,可以把想检测的视频放入新建的 data/video 的文件夹中,将代码改成 default=ROOT / ‘data/video’ 即可;
    在这里插入图片描述

2.12 检测摄像头

  • 开启摄像头检测,将代码改成 default=‘0’,便可开启自带摄像头
  • 将代码改成 default=‘1’,便可开启 USB 摄像头,进行动态的实时检测
    在这里插入图片描述

2.13 连接手机摄像头

  • 手机和电脑在同一局域网下(即连接的是同一个 WIFI)

  • 下载 IP 摄像头 Lite
    在这里插入图片描述

  • 点击打开 IP 摄像头 Lite
    在这里插入图片描述

  • 点击打开 IP 摄像头服务器
    在这里插入图片描述

    # 修改 detect.py 代码,运行即可
    parser.add_argument('--source', type=str, default='http://admin:admin@192.168.0.130:8081', help='file/dir/URL/glob/screen/0(webcam)')
    

    在这里插入图片描述

  • 报错原因:上述修改未加上用户名和密码 admin:admin@在这里插入图片描述

三、自制数据集训练自己的模型

3.1 新建文件夹存储数据集图片和标签

  • 新建文件夹 train_data,在该文件夹下新建 images、labels 两个文件夹
  • 分别在这里两个文件夹下新建 train 文件夹
  • 将采集的图片(采用手机拍照或者走网上搜索你所需要的数据集)放入 train_data/images/train 文件夹,此时 train_dat/labels/train 文件夹是空的在这里插入图片描述

3.2 图片标注

  • 这是一个在线标注工具,点击 Get Started 进入右图
    在这里插入图片描述

  • 选择自己前面采集的8张要训练的图片,点击 Object Detection
    在这里插入图片描述

  • 输入你所需要的标签,在这都是猫的图片,如果种类多样,按 Enter 继续添加输入即可,不需要则点击删除
    在这里插入图片描述

  • 画框打上标签,给所有图片都打完标签后,选择导出模型标签,如下图所示:
    在这里插入图片描述

  • 选择第一个 yolo 模型,然年导出,你可以看到你需要的标签已经下载下来了;
    在这里插入图片描述

  • 导出后,你可以看到该标签文件夹下有8个已经标注好的 txt 文件

  • 把它们复制到之前空的 train_data/labels/train 文件夹中
    在这里插入图片描述

3.3 yaml 文件修改

  • 复制 coco128.yaml 修改为 cat.yaml ,并对其内容进行修改;
    在这里插入图片描述

3.4 修改并运行 train.py

  • (这里是由于内存不足报错,)1个 epoch 表示过了1遍训练集中的所有样本

  • batch-size:1次迭代所使用的样本量

  • 例如定义10000次迭代为1个 epoch,若每次迭代的 batch-size 设为256,那么1个 epoch 相当于过了2560000个训练样本。
    在这里插入图片描述

  • 于是把 epoch 设置为3,能成功训练,但这样训练出来的模型就没啥效果,所以还得将 epoch 设置的高点,比较不同值训练后的结果,看哪个效果更好。
    在这里插入图片描述


总结

以上就是 yolov5 的环境配置、运行与训练过程及其中可能出现的问题与解决办法。
  • 22
    点赞
  • 292
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 27
    评论
Jeson Nano是一款NVIDIA推出的边缘计算设备,搭载了高性能GPU。Yolo v5是一种目标检测算法,具备高准确率和实时性能。对于使用Jeson Nano部署Yolo v5实现目标检测,以下是一些步骤和说明: 首先,需要将Yolo v5的源代码克隆到Jeson Nano设备上。可以在GitHub上找到相应的代码库,并使用git命令进行克隆。 然后,需要下载预训练的权重文件。这些权重文件包含了已经在大型数据集上训练得到的模型参数。可以在Yolo v5的代码库中找到下载链接,并将权重文件保存到设备的合适位置。 接下来,需要安装Jeson Nano上的依赖软件包。这些软件包包括PyTorch、OpenCV和其他需要的库。可以使用pip命令安装这些软件包,确保安装的版本与Yolo v5兼容。 然后,需要通过命令行界面进入Yolo v5的源代码目录,并执行相应的命令来进行目标检测。可以使用预训练的权重文件进行推理,输出每个目标的边界框、置信度和类别。 最后,可以通过对输出进行后处理,例如筛选掉低置信度的目标、进行非极大值抑制等,来提高目标检测的准确性。 需要注意的是,Jeson Nano相比于更强大的设备,其计算能力和内存容量有限。因此,在部署Yolo v5时,可能需要调整模型的大小、选择合适的输入大小等,以适应Jeson Nano的硬件限制。 总之,使用Jeson Nano部署Yolo v5实现目标检测需要下载源代码、预训练权重文件,安装相关依赖软件包,并通过命令行界面进行推理。同时,还需要进行后处理来提高检测的准确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

701044

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

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

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

打赏作者

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

抵扣说明:

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

余额充值