yolo是一个非常流行的计算机视觉目标检测框架,适合于精度要求不高但实时性非常高的场合,比如马路口的人流车流识别。现在最新版v6刚刚发布,本例还是使用v5。由于yolov5是依赖于pytorch的,还用到opencv,所以这两个环境需要提前搭建好,然后就可以直接使用yolo了。yolov5的github地址:https://github.com/ultralytics/yolov5。
一、准备工作
直接下载上面github地址的yolov5后,还需要下载预训练模型文件到yolov5-master的根目录。有4个模型,分别为:yolov5s.pt、yolov5m.pt、yolov5l.pt、yolov5x.pt。我们这里选择5s(模型更小,速度更快),各项指标如下截图:
在yolov5-master的data目录里,存放的是各类数据文件。yolo支持图片、视频等格式文件的检测。检测结果存放在yolov5-master中的runs-detect目录里。其中视频文件,yolo会取视频的每一帧进行检测识别并标注,然后合并生成新的标注过的视频文件存放在runs目录下的detect文件夹里。
二、执行命令
运行yolo目标检测非常简单,只需要在yolov5-master目录下,打开cmd,输入如下命令即可。
图像:python detect.py --source ./data/images/ --weights yolov5s.pt --conf 0.4
视频:python detect.py --source ./data/videos/test1.mp4 --weights yolov5s.pt --conf 0.4
实时视频(摄像头):python detect.py --source 0 --weights yolov5s.pt --conf 0.4
三、检测结果:
-
图像
-
实时视频