[YOLO专题-8]:YOLO V5 - ultralytics/yolov5代码的快速启动

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址: 


目录

第1步:官方文档入口

第2步:前提条件与要求

第3步:安装代码到本地环境

第4步:在云环境运行YOLO V5 (可忽略)

第5步骤:命令行下使用YOLO V5代码进行预测或目标检测

5.1 命令概述

5.2 对图片文件进行目标检测

5.3 对视频文件进行目标检测

5.4 对摄像头视频进行目标检测

5.5 常见问题

第6步骤:基于PyTorch Hub的源代码进行预测



第1步:官方文档入口

Quick Start - YOLOv5 Documentation

第2步:前提条件与要求

(1)Python >= 3.8 

第3步:安装代码到本地环境

(1)Clone YOLO V5工程代码到本地source code目录

$ cd F:\MySource\github

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

(2)激活conda的环境

conda info -e

activate pytorch-gpu-os

(3)进入YOLO V5工程的根目录

$ cd yolov5

(4)安装所需要的其他依赖文件

$ pip install -r requirements.txt

# pip install -r requirements.txt

# Base ----------------------------------------
matplotlib>=3.2.2
numpy>=1.18.5
opencv-python>=4.1.2
Pillow>=7.1.2
PyYAML>=5.3.1
requests>=2.23.0
scipy>=1.4.1
torch>=1.7.0
torchvision>=0.8.1
tqdm>=4.41.0

# Logging -------------------------------------
tensorboard>=2.4.1
# wandb

# Plotting ------------------------------------
pandas>=1.1.4
seaborn>=0.11.0

# Export --------------------------------------
# coremltools>=4.1  # CoreML export
# onnx>=1.9.0  # ONNX export
# onnx-simplifier>=0.3.6  # ONNX simplifier
# scikit-learn==0.19.2  # CoreML quantization
# tensorflow>=2.4.1  # TFLite export
# tensorflowjs>=3.9.0  # TF.js export
# openvino-dev  # OpenVINO export

# Extras --------------------------------------
# albumentations>=1.0.3
# Cython  # for pycocotools https://github.com/cocodataset/cocoapi/issues/172
# pycocotools>=2.0  # COCO mAP
# roboflow
thop  # FLOPs computation
 

第4步:在云环境运行YOLO V5 (可忽略)

For a quick and hassle free setup YOLOv5 has been packaged with all dependencies* for the following environments

*including CUDA/CUDNNPython and PyTorch

第5步骤:命令行下使用YOLO V5代码进行预测或目标检测

5.1 命令概述

$ cd .\yolov5

$ python detect.py --source OPTION

将 OPTION 替换为您的选择,从而进行目标检测

  • 网络摄像头:(OPTION = 0)用于从您连接的网络摄像头检测活动物体
  • Image : (OPTION = filename.jpg)使用对象检测覆盖创建图像的副本
  • 视频: (OPTION = filename.mp4)使用对象检测覆盖创建视频副本
  • 目录: (OPTION = directory_name/)使用对象检测覆盖创建所有文件的副本
  • 全局文件类型(OPTION = directory_name/*.jpg)使用对象检测覆盖创建所有文件的副本
  • RTSP 流:(OPTION = rtsp://170.93.143.139/rtplive/470011e600ef003a004ee33696235daa)用于从流中检测活动物体
  • RTMP 流:(OPTION = rtmp://192.168.1.105/live/test)用于从流中检测实时对象
  • HTTP 流:(OPTION = http://112.50.243.8/PLTV/88888888/224/3221225900/1.m3u8)用于从流中检测活动物体

支持的图片和视频的类型有:

  • Images: bmp, jpg, jpeg, png, tif, tiff, dng, webp, mpo
  • Videos: mov, avi, mp4, mpg, mpeg, m4v, wmv, mkv

5.2 对图片文件进行目标检测

执行命令:

$ python detect.py --source '.\data\images\bus.jpg'

输入图片:(YOLO V5工程自带的测试图)

[YOLO专题-8]:YOLO V5 - ultralytics/yolov5代码的快速启动

 输出结果:

(1)自动下载字体文件

Downloading https://ultralytics.com/assets/Arial.ttf to C:\Users\admin\AppData\Roaming\Ultralytics\Arial.ttf...

(2)自动检查图片大小、自动选择模型以及参数

detect: weights=yolov5s.pt, source=.\data\images\bus, imgsz=[640, 640], conf_thres=0.25, iou_thres=0.45, max_det=1000, device=, view_img=False, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=runs\detect, name=exp, exist_ok=False, line_thickness=3, hide_labels=False, hide_conf=False, half=False, dnn=False
YOLOv5  v6.0-162-gaffa284 torch 1.10.0 CUDA:0 (NVIDIA GeForce RTX 2070, 8192MiB)

(3)自动下载预训练模型

Downloading https://github.com/ultralytics/yolov5/releases/download/v6.0/yolov5s.pt to yolov5s.pt...

(4)进行预测

Fusing layers...
Model Summary: 213 layers, 7225885 parameters, 0 gradients

(5)测试结果
image 1/1 F:\MySource\github\yolov5\data\images\bus.jpg: 640x480 4 persons, 1 bus, Done. (0.007s)
Speed: 1.0ms pre-process, 7.0ms inference, 19.9ms NMS per image at shape (1, 3, 640, 640)

(6)输出结果

Results saved to runs\detect\expXXX

每执行一次预测,xxx就会增加1.

[YOLO专题-8]:YOLO V5 - ultralytics/yolov5代码的快速启动

5.3 对视频文件进行目标检测

$ python detect.py --source '.\data\images\yyy.mp4'

过程:同图片文件

输出:runs\detect\expXXX\带有检测框的视频文件。

5.4 对摄像头视频进行目标检测

$ python detect.py --source 0

过程:同图片文件

输出:

  • runs\detect\expXXX\带有检测框的视频文件
  • 带有检测框的摄像头实时显示

5.5 常见问题

(1)GPU内存不足:增加显卡内存、关闭应用、重启机器

(2)pycharm文件路径不对:pycharm修改默认路径

第6步骤:基于PyTorch Hub的源代码进行预测

在这种方式下,不需要把YOLO V5的工程代码下载的本地,只需要从远程下载模型。

但这种方式,需要编写Python代码:

import torch

# Model
model = torch.hub.load('ultralytics/yolov5', 'yolov5s')

# Images
dir = 'https://github.com/ultralytics/yolov5/raw/master/data/images/'
imgs = [dir + f for f in ('zidane.jpg', 'bus.jpg')]  # batch of images

# Inference
results = model(imgs)
results.print()  # or .show(), .save()

(1)在线下载模型

(2)在线下载图片

(3)进行模型预测

(4)存储预测结果


作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:

上一篇:label标签使用方法


下一篇:YOLO V5安装与验证