关键词:
大家好,我是『K同学啊』!
拖了好久,终于要开始目标检测系列了。自己想过好几次,想尽快出几期目标检测算法的博客教程,但是一直苦于不知道如何写,才能让大家轻松、快速、高效的入门目标检测算法。这段时间终于有个一个比较靠谱的思路。我是这样计划的:
首先,带大家先将算法跑起来,不然都不知道在干嘛,纯理论的东西看着头都大了,然后,教大家将官方的数据集更换成我们自己的数据集,并完成模型的训练。其次,在我们代码可以运行的情况下,从整体上讲解算法的结构。最后,挑选代码中一些比较关键的点,进行详细讲解。
文章目录
一、前言
YOLO系列是目前最热门的目标检测算法,那就拿它“开刀”了。YOLO目前已经更新到了YOLOv5,由于YOLOv5太新了,目前TensorFlow2版本还未出来(网上存在一些tf版本的,但是大概率不靠谱,就不踩坑了),那就用PyTorch吧,反正PyTorch迟早也是要学的嘛。PyTorch与TensorFlow的区别如下:
- TensorFlow:更倾向于工程人员,落地比较好。
- PyTorch:比较倾向于研究人员,前沿算法用得比较多。
某宝上找人帮忙给小项目换一个框架(TensorFlow互转PyTorch),收费一般是1K
起步,所以啊,技多不压身。
YOLOv5又分为Yolov5s、Yolov5m、Yolov5l、Yolov5x四个版本,我这里以Yolov5s为例。
二、下载源码
安装需要的环境
- 安装PyTorch环境,小白请移步这里:小白入门深度学习 | 第四篇:配置PyTorch环境
- 安装其他项目依赖包,请进入项目文件在文件地址栏中直接输入
cmd
,打开cmd
后输入:
pip install -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple/
其中-i https://pypi.mirrors.ustc.edu.cn/simple/
为中国科技大学的镜像,可以加快环境包的下载速度。
三、运行代码
需要的环境
- Python>=3.6.0
- PyTorch>=1.7
以同样的方法打开cmd
,输入命令:python path/to/detect.py --source path/to/img.jpg --weights yolov5s.pt --img 640
,注意需要将图片路径替换成你的,例如:python detect.py --source data\\images\\zidane.jpg --weights yolov5s.pt --img 640
。这里我们使用的是官方已经帮我们训练好的模型。
在这个过程中,你中途可能会遇到这两个问题,不用担心,这是网络问题多试几次就好了。
TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
TypeError: unlink() got an unexpected keyword argument 'missing_ok'
如果你还是一直这样,将 yolov5s.pt (提取码:bum6)文件放到项目的主目录下ok吧,上面的两个错误都是由于下载这个文件、下载失败缺少这个文件导致的。
命令运行成功后,你将会得到如下的反馈:
进行文件夹查看我们的检测结果:
四、视频检测
同样的方法打开cmd
输入:python detect.py --source MyVideo_2.mp4
我的 实验视频(提取码:9vaq),或许你用得到。
你将会得到如下运行结果(因为版权问题放不了视频,难受~)
yolov5解析|第二篇:用yolov5训练自己的数据集(超级详细完整版)(代码片段)
大家好,我是K同学啊!我们接着上一篇文章YOLOv5解析|第一篇:快速部署YOLOv5模型配置完YOLOv5需要的环境后,今天我们试着用YOLOv5训练自己的数据。(在开始本教程前,记得先跑一遍入门篇,确保其他... 查看详情
yolov5解析|第二篇:用yolov5训练自己的数据集(超级详细完整版)(代码片段)
大家好,我是K同学啊!我们接着上一篇文章YOLOv5解析|第一篇:快速部署YOLOv5模型配置完YOLOv5需要的环境后,今天我们试着用YOLOv5训练自己的数据。(在开始本教程前,记得先跑一遍入门篇,确保其他... 查看详情
全志v853的npu转换部署yolov5模型
NPU转换部署YOLOV5模型本文以YOLOv5s模型为例,详述ONNX模型在V853平台的转换与部署的流程。模型的准备YOLOv5目前开源于Github,链接【GitHub-ultralytics/yolov5:YOLOv5 查看详情
目标检测yolov5:模型构建解析(代码片段)
...在看一些目标检测的最新论文和代码,大多数都是在YOLOv5的基础上进行魔改。改的最多的基本是原版本的网络结构,这篇博文就从源码角度来解析YOLOv5中,模型是如何构建出来的。本文使用的是YOLOv5-5.0版本。模型的... 查看详情
使用ymir生产基于yolov5的头盔检测模型
使用YMIR生产基于yolov5的头盔检测模型1.概述2.YOLOV5结构解析YOLOV5在coco数据集性能测试图3.算法基本信息动手实测查看训练、测试数据集模型训练启动页面模型运行中性能、进度曲线变化启动训练任务后即可查看训练过程模型发布... 查看详情
yolov5-6.0快速训练助手使用教程傻瓜式训练不需要写代码配置
yolov5-6.0发布后,这次更新为我们带来了n版本,模型大幅度减少,yolov5n仅仅3.77M,适合在嵌入式部署。为了跟上时代发展要求,yolov5-6.0快速训练助手更新出来。本此更新依旧面向懒人和初学者,使用非常简... 查看详情
海思hi3516dv300---部署yolov5检测+sort跟踪算法
海思Hi3516DV300-部署1.部署yolov5检测+Sort跟踪算法---统计地铁中人流量(双向计数+tof相机)2.yolov5s模型转换onnx模型3.在虚拟机中安装caffe(caffe模型的转化是在虚拟机中完成的)4.onnx模型转换caffe模型5.caffe模型... 查看详情
yolov5解析|第三篇:如何改进yolov5?(代码片段)
大家好,我是K同学啊!在前面的文章YOLOv5解析|第二篇:用YOLOv5训练自己的数据集(超级详细完整版)中我们介绍了使用训练自己的数据集。这一篇文章,我将带大家一起解析YOLOv5的6.0版本结构并改进模型&... 查看详情
在kaggle上用yolov5训练口罩模型并部署到android端(代码片段)
文章目录前言一、使用步骤(一)下载Yolov5源码(二)配置Yolov5所需的库(三)修改源码1.修改输出文件的保存路径2.添加mask.yaml3.修改models4.配置train.py(四)在Kaggle上部署项目1.把源码本地打包成.z... 查看详情
模型部署jetsonxaviernx(emmc)部署yolov5-5.0(代码片段)
...置语言/地区等信息烧录SDK组件换清华源(可选)YOLOv5-5.0虚拟环境下载v5.0仓库推理DemoVScode连接NXUSB摄像头实时检测tensorrtx模 查看详情
yolov5全面解析教程⑥:模型训练流程详解
作者 | Fengwen、BBuf 欢迎Star、试用One-YOLOv5:https://github.com/Oneflow-Inc/one-yolov51结构项目预览 2安装git clone https://github.com/Oneflow-Inc/one-yolov5 # clonecd one-yolov5pip install -r requirements.txt # install3训练两种训练方式带权重训练... 查看详情
flask后端进行yolov5检测模型的部署(填坑)(代码片段)
...到后端。网上有人推荐一个github项目https://github.com/muhk01/Yolov5-on-Flask后来有人把这个项目给修改了,运行起来了,我也准备运行一下https://github.com/xugaoxiang/yolov5-flask 先把代码拉下来直接配置ÿ 查看详情
基于flask和网页端部署yolo自训练模型(代码片段)
@Author:Runsen基于flask和网页端部署yolo自训练模型关于yolov5模型的flask的部署,需要通过torch.hub.load加载yolov5自定义的模型,source需要设置localifopt.model=="yolov5":model=torch.hub.load("yolo","custom",path="models/yolov5s.pt",source= 查看详情
基于flask和网页端部署yolo自训练模型(代码片段)
@Author:Runsen基于flask和网页端部署yolo自训练模型关于yolov5模型的flask的部署,需要通过torch.hub.load加载yolov5自定义的模型,source需要设置localifopt.model=="yolov5":model=torch.hub.load("yolo","custom",path="models/yolov5s.pt",source= 查看详情
基于flask和网页端部署yolo自训练模型(代码片段)
@Author:Runsen基于flask和网页端部署yolo自训练模型关于yolov5模型的flask的部署,需要通过torch.hub.load加载yolov5自定义的模型,source需要设置localifopt.model=="yolov5":model=torch.hub.load("yolo","custom",path="models/yolov5s.pt",source= 查看详情
记录历经三天将自己的yolov5模型部署到android安卓手机(代码片段)
将yolov5部署到安卓手机移动端记录历经三天小白将自己的yolov5模型部署到安卓手机一、前言二、具体流程(一).部署官方yolo到安卓1.CMakeLists.txt文件修改2.sdk相关文件报错问题3.build.gradle文件(二).转化自己模型1.... 查看详情
yolov5实例分割tensorrt部署实战(代码片段)
0.引言 ultralytics在yolov5的6.2版本发布了实例分割模型,可实现快速实例分割,采用官方v5s-seg.pt效果如下图所示: 本博客将以此为基础,开发c++版本的tensorrt推理代码,直接上链接:这里,... 查看详情
yolov5s模型在全志v853平台上的部署方法和应用(代码片段)
AI部署这个词儿大家肯定不陌生,可能有些人还不是很清楚这个是干嘛的,但总归是听过了。近些年来,在深度学习算法已经足够卷之后,深度学习的另一个偏向于工程的方向–部署应用落地,才开始被谈论的... 查看详情