半小时搞定Yolov5安装配置及使用(详细过程)

Yolov5安装配置及使用教程(详细过程)

  • 1. 下载Yolov5
    • 1.1 下载Yolov5源码:
    • 1.2 下载Yolov5预训练模型:
  • 2. 安装Yolov5
  • 3. 测试Yolov5 :
    • 3.1 Img图片测试
    • 3.2 Video视频测试
    • 3.3 摄像头测试
    • 3.4 App测试


You only look once (YOLO) is a state-of-the-art, real-time object detection system. On a Pascal Titan X it processes images at 30 FPS and has a mAP of 57.9% on COCO test-dev.

半小时搞定Yolov5安装配置及使用(详细过程)_第1张图片

之前在学习目标检测的时候,正值Yolov5发布,当时试用了下感觉还不错,最近有时间 使用最新的Yolov5源码,重新整理下安装配置到使用过程。。实践整个过程半小时即可搞定(前提已有Anaconda)

半小时搞定Yolov5安装配置及使用(详细过程)_第2张图片

总体来看Yolov5的速度和效率较之前yolov4等系列都快,准确度更高。。

在下载配置Yolov5前,先要安装好Anaconda环境,可参考之前博文:最新Anaconda3的安装配置及使用教程(详细过程)

Yolov5官方doc:https://docs.ultralytics.com/quick-start/


1. 下载Yolov5

1.1 下载Yolov5源码:

  • Yolov5 Github地址:https://github.com/ultralytics/yolov5

半小时搞定Yolov5安装配置及使用(详细过程)_第3张图片

直接git clone到本地工作目录,等待下载完成:

git clone https://github.com/ultralytics/yolov5

半小时搞定Yolov5安装配置及使用(详细过程)_第4张图片
Yolov5代码目录架构:
半小时搞定Yolov5安装配置及使用(详细过程)_第5张图片

1.2 下载Yolov5预训练模型:

既已经训练好的权重参数数据,可以直接使用,就不要在本机再做Traninig了

  • 下载地址:https://github.com/ultralytics/yolov5/releases

半小时搞定Yolov5安装配置及使用(详细过程)_第6张图片

找到最新的release,点开下面的Assets下载(.pt文件就是pytorch的模型文件):
半小时搞定Yolov5安装配置及使用(详细过程)_第7张图片
下载后放到Yolov5源码根目录,或新建个weights/目录中使用:
半小时搞定Yolov5安装配置及使用(详细过程)_第8张图片

yolov5共有四种模型:yolov5s、yolov5m、yolov5l、yolov5x。

不同的预训练模型 ,效果和精度不一样,如下图

半小时搞定Yolov5安装配置及使用(详细过程)_第9张图片

其中yolov5s目标检测速度最快,因为其网络参数最少,但相应的,检测效果相比是最差的

而yolov5x是检测效果最好的,参数最多,而时间上最慢。。

具体使用可以根据实际需要,例如如果目标检测应用场景比较看重速度,就用yolov5s.pt
半小时搞定Yolov5安装配置及使用(详细过程)_第10张图片
其中P5/P6模型的差异:(模型后面不带6的就是P5)

  • YOLOv5-P5 models (same architecture as v4.0 release): 3 output layers P3, P4, P5 at strides 8, 16, 32, trained at --img 640
python detect.py --weights yolov5s.pt  # P5 models
                           yolov5m.pt
                           yolov5l.pt
                           yolov5x.pt
  • YOLOv5-P6 models: 4 output layers P3, P4, P5, P6 at strides 8, 16, 32, 64 trained at --img 1280
python detect.py --weights yolov5s6.pt  # P6 models
                           yolov5m6.pt
                           yolov5l6.pt
                           yolov5x6.pt

模型在GPU 下的效率测试数据图:
半小时搞定Yolov5安装配置及使用(详细过程)_第11张图片

P5模型在Coco数据集的训练参数图:
半小时搞定Yolov5安装配置及使用(详细过程)_第12张图片

2. 安装Yolov5

源码下完后,下面开始安装Yolov5所需模块,

直接pip install -r requirements.txt,等待安装完成即可

python -m pip install -r requirements.txt

半小时搞定Yolov5安装配置及使用(详细过程)_第13张图片

如果没有cuda默认安装的pytorch-cpu版,如果有gpu可以安装gpu版:https://pytorch.org/get-started/locally/, 提升速度

半小时搞定Yolov5安装配置及使用(详细过程)_第14张图片

可以打开看下requirements.txt的依赖包:
半小时搞定Yolov5安装配置及使用(详细过程)_第15张图片

3. 测试Yolov5 :

就使用源码中的Detect.py即可:

 python detect.py --source 0  # webcam
                            file.jpg  # image 
                            file.mp4  # video
                            path/  # directory
                            path/*.jpg  # glob
                            'https://youtu.be/NUsoVlDFqZg'  # YouTube video
                            'rtsp://example.com/media.mp4'  # RTSP, RTMP, 

最新版还支持了直接通过Youtube 的url进行目标检测

3.1 Img图片测试

然后通过detect.py对图像进行目标检测:

python detect.py --source ./data/image/bus.jpg

detect.py默认使用同目录下的yolov5s.pt 模型,如果想用其他的,可以用–weights 进行指定。
半小时搞定Yolov5安装配置及使用(详细过程)_第16张图片

然后可以在yolov5/runs/detect目录下找到模型输出结果的文件夹 :
半小时搞定Yolov5安装配置及使用(详细过程)_第17张图片

这是源码自带的bus.jpg识别效果:

在网上随便找了一张图片,下载试了效果也不错,同时Yolov5处理该图片时间只用了0.3s

python detect.py --source ./data/image/people.jpg

3.2 Video视频测试

源码自带没有视频demo,这里就拿我老家的柯基狗崽子们做个测试,哈哈~
半小时搞定Yolov5安装配置及使用(详细过程)_第18张图片
视频放到data目录中即可:
半小时搞定Yolov5安装配置及使用(详细过程)_第19张图片
然后通过detect.py对视频进行目标检测:

python detect.py --source data/video/dog1.mp4

半小时搞定Yolov5安装配置及使用(详细过程)_第20张图片
视频Detect就有些慢了,因为也是转换为图片放到模型处理的,我实测了19s 3M多的视频 用了97s
半小时搞定Yolov5安装配置及使用(详细过程)_第21张图片

实际测试效果如下,

在识别有时候也会像下面错误识别为cat,如果用yolov5x.pt识别准确度会高一些,当然也可能因为小奶狗长的有点像小猫吧~~。。。

当然识别率也和视频拍摄角度和清晰度、晃动程度有很大关系。。
比如用固定摄像头拍摄的图像,效果会好一些:

总体来看YOLOv5识别效果也不错了,后期可以对模型进行微调和优化 来提高某一类object的识别率。。。

3.3 摄像头测试

使用本机摄像头测试Yolov5实时检测:

python detect.py --source 0

半小时搞定Yolov5安装配置及使用(详细过程)_第22张图片

就会弹出摄像头页面,识别到的物体会用不同颜色的方框进行标识,同时上面会显示名称和概率(置信度)

如果通过摄像头检测出识别的物体会打印出来:比如下面的person,cell phone等。
半小时搞定Yolov5安装配置及使用(详细过程)_第23张图片

随便找了手边几样东西测试了下,效果还不错:

3.4 App测试

细心的小伙伴应该看到上面第一张图片App store的宣传照片,没错,IOS可以直接下载iDetection来通过手机摄像头实时测试/使用Yolo 目标检测:

半小时搞定Yolov5安装配置及使用(详细过程)_第24张图片

App上面也是可选择四种Yolov5 model

随手选择模型打开摄像头即可实时检测:
半小时搞定Yolov5安装配置及使用(详细过程)_第25张图片

半小时搞定Yolov5安装配置及使用(详细过程)_第26张图片

至此 Yolov5的安装使用测试都已经OK了,根据初步印象来看,Yolov5的配置简单,并且识别效率和速度都是不错的。。

下面章节开始训练自己的数据和模型调优、源码分析等。。。

Yolov5自定义图片训练及测试(详细过程)


博主热门文章推荐:

一篇读懂系列:

  • 一篇读懂无线充电技术(附方案选型及原理分析)
  • 一篇读懂:Android/iOS手机如何通过音频接口(耳机孔)与外设通信
  • 一篇读懂:Android手机如何通过USB接口与外设通信(附原理分析及方案选型)

LoRa Mesh系列:

  • LoRa学习:LoRa关键参数(扩频因子,编码率,带宽)的设定及解释
  • LoRa学习:信道占用检测原理(CAD)
  • LoRa/FSK 无线频谱波形分析(频谱分析仪测试LoRa/FSK带宽、功率、频率误差等)

网络安全系列:

  • ATECC508A芯片开发笔记(一):初识加密芯片
  • SHA/HMAC/AES-CBC/CTR 算法执行效率及RAM消耗 测试结果
  • 常见加密/签名/哈希算法性能比较 (多平台 AES/DES, DH, ECDSA, RSA等)
  • AES加解密效率测试(纯软件AES128/256)–以嵌入式Cortex-M0与M3 平台为例

嵌入式开发系列:

  • 嵌入式学习中较好的练手项目和课题整理(附代码资料、学习视频和嵌入式学习规划)
  • IAR调试使用技巧汇总:数据断点、CallStack、设置堆栈、查看栈使用和栈深度、Memory、Set Next Statement等
  • Linux内核编译配置(Menuconfig)、制作文件系统 详细步骤
  • Android底层调用C代码(JNI实现)
  • 树莓派到手第一步:上电启动、安装中文字体、虚拟键盘、开启SSH等
  • Android/Linux设备有线&无线 双网共存(同时上内、外网)

AI / 机器学习系列:

  • AI: 机器学习必须懂的几个术语:Lable、Feature、Model…
  • AI:卷积神经网络CNN 解决过拟合的方法 (Overcome Overfitting)
  • AI: 什么是机器学习的数据清洗(Data Cleaning)
  • AI: 机器学习的模型是如何训练的?(在试错中学习)
  • 数据可视化:TensorboardX安装及使用(安装测试+实例演示)

在这里插入图片描述

你可能感兴趣的:(Machine,Learning,Yolo,目标检测,机器学习)