欢迎访问我的网站,希望内容对您有用,感兴趣的可以加入免费知识星球。

YOLOv5目标检测

YOLO 迷途小书童 4年前 (2020-06-17) 30226次浏览 21个评论

软硬件环境

  • ubuntu 18.04 64bit
  • anaconda with 3.7
  • nvidia gtx 1070Ti
  • cuda 10.1
  • pytorch 1.5
  • YOLOv5

视频看这里

此处是youtube的播放链接,需要科学上网。喜欢我的视频,请记得订阅我的频道,打开旁边的小铃铛,点赞并分享,感谢您的支持。

前言

YOLOv4还没有退热,YOLOv5就已经来了!

6月9日,Ultralytics公司开源了YOLOv5,离上一次YOLOv4发布不到50天,不过这一次的YOLOv5是基于PyTorch实现的,而不是之前版本的darknet

根据官方给出的数字,YOLOv5的速度最快可以达到每秒140帧(FPS),但是权重文件只有YOLOv4的1/9,而且准确度更高。本次的发布的YOLOv5并不是一个单独的模型,而是一个模型家族,包括了YOLOv5sYOLOv5mYOLOv5lYOLOv5x,要求Python 3.7和PyTorch 1.5以上版本。

关于YOLOv5这个版本,大家可以看看知乎中的讨论,链接放在文末的参考资料中

安装GPU环境

请参考之前的文章

安装pytorch的GPU版本

来到官网 https://pytorch.org/get-started/locally/,根据自己的环境,进行选择,网站会给出相应的安装命令。我这里的环境是linuxpipcuda 10.1

yolov5 object detection

conda create -n pytorch python=3.7
conda activate pytorch
pip install torch==1.5.0+cu101 torchvision==0.6.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html
pip install ipython

安装完pytorch后,我们在ipython中查看安装的结果

(pytorch) xugaoxiang@1070Ti:~/Works/github/yolov5$ ipython
Python 3.7.7 (default, May  7 2020, 21:25:33)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.15.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import torch

In [2]: torch.cuda.is_available()
Out[2]: True

说明GPU版本的pytorch安装成功

YOLOv5测试

首先还是把源码clone到本地

git clone https://github.com/ultralytics/yolov5.git
pip install -U -r requirements.txt

权重文件可以通过以下方式下载

下载权重文件后将权重文件保存在weights文件夹下

下面就可以开始测试了

首先使用项目中自带的测试图片看看效果,命令是

python detect.py

默认情况下,脚本会去读取inference/images下的所有图片并进行目标检测,带有目标框的结果图片保存在inference/out下。如果是只检测某一张图片的话,可以执行命令python detect.py --source test.jpg

yolov5 object detection

yolov5 object detection

为了对比测试,我们把YOLO之前版本的测试图片也跑了一遍

yolov5 object detection

上图中马匹的检出率跟YOLOv4是一样的,满意

yolov5 object detection

上图中右上角的垃圾桶没有被检出,这点不及YOLOv4

detect.py脚本同样支持视频的检测,包括本地摄像头、本地视频文件、m3u8播放地址和rtsp实时流,地址都是跟在参数--source后面

本地摄像头使用下面的命令

python detect.py --source 0

yolov5 object detection

基于rtsp的网络摄像头使用下面的命令

python detect.py --source "rtsp://user:password@192.168.1.100:554/cam/realmonitor?channel=1&subtype=1"

yolov5 object detection

可以看到,使用1070Ti显卡,fps在80左右

如果你有多块显卡,可以选择具体使用哪块显示进行检测,0表示第一块,1表示第二块,cpu表示不使用gpu

python detect.py --device 0

detect.py中的参数很多,可以使用python detect.py -h进行查看

(base) xugaoxiang@1070Ti:~/Works/github/yolov5$ python detect.py -h
usage: detect.py [-h] [--weights WEIGHTS] [--source SOURCE] [--output OUTPUT]
                 [--img-size IMG_SIZE] [--conf-thres CONF_THRES]
                 [--iou-thres IOU_THRES] [--fourcc FOURCC] [--device DEVICE]
                 [--view-img] [--save-txt] [--classes CLASSES [CLASSES ...]]
                 [--agnostic-nms] [--augment]

optional arguments:
  -h, --help            show this help message and exit
  --weights WEIGHTS     model.pt path
  --source SOURCE       source
  --output OUTPUT       output folder
  --img-size IMG_SIZE   inference size (pixels)
  --conf-thres CONF_THRES
                        object confidence threshold
  --iou-thres IOU_THRES
                        IOU threshold for NMS
  --fourcc FOURCC       output video codec (verify ffmpeg support)
  --device DEVICE       cuda device, i.e. 0 or 0,1,2,3 or cpu
  --view-img            display results
  --save-txt            save results to *.txt
  --classes CLASSES [CLASSES ...]
                        filter by class
  --agnostic-nms        class-agnostic NMS
  --augment             augmented inference

以上测试都是基于yolov5s.pt权重文件,其它的权重请自行测试,指定--weights参数

v3.0版本

很多朋友反应,在执行python detect.py时出现下面的错误

yolov5 object detection

这个错误是由于YOLOv5源码与权重文件的不匹配引起的,升级到匹配的权重文件就好

参考资料

喜欢 (5)

您必须 登录 才能发表评论!

(21)个小伙伴在吐槽
  1. 请问windows使用python detect.py --source 0指令调用本地摄像头时,怎么中断程序运行呢?
    匿名2021-09-06 16:40
  2. 请问您用的是win10系统吗
    匿名2021-07-15 18:34
  3. 请问为什么我的waitkey(1)要消耗15ms左右,这个问题要怎么解决呢
    匿名2021-07-14 08:57
  4. 大佬,想问问我用ubuntu装的,报没有cv2的错该怎么办啊
    匿名2021-05-21 23:37
  5. 大佬,在windows環境下跑python detect.py的時候報NameError: name 'cookiejar_from_dict' is not defined和IndexError: list index out of range。小白直接傻了
    匿名2021-03-19 15:11
  6. alert('xss屏蔽一下')
    匿名2021-02-28 17:19
  7. 写的很好,小白花费两小时成功在W10上跑出来了
    匿名2021-02-20 10:41
  8. 真的感谢,tmd看别人的搞了两天没弄好,看您这个一晚上弄好了,毕业论文有着落了。非常感谢
    匿名2021-01-21 23:42
  9. 写的好哦
    匿名2020-12-28 20:55
  10. '"" < script>
    匿名2020-07-18 00:34
Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

请关闭 Adblock 等类似浏览器插件,然后刷新页面访问,感谢您的支持!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.