Yolov5
信息
YOLOv5🚀是一个在COCO数据集上预训练的物体检测架构和模型系列,它代表了Ultralytics对未来视觉AI方法的公开研究, 其中包含了在数千小时的研究和开发中所获得的经验和最佳实践。
本地部署
git clone https://github.com/ultralytics/yolov5.git
cd yolov5
conda create --name yolov5 python=3.11
conda activate yolov5
pip install -i http://mirrors.aliyun.com/pypi/simple/ -r ./requirements.txt --trusted-host mirrors.aliyun.com
# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r ./requirements.txt
运行检测
Run YOLOv5 detection inference on images, videos, directories, globs, YouTube, webcam, streams, etc.
Usage - sources:
$ python detect.py --weights yolov5s.pt --source 0 # webcam
img.jpg # image
vid.mp4 # video
screen # screenshot
path/ # directory
list.txt # list of images
list.streams # list of streams
'path/*.jpg' # glob
'https://youtu.be/Zgi9g1ksQHc' # YouTube
'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP stream
Usage - formats:
$ python detect.py --weights yolov5s.pt # PyTorch
yolov5s.torchscript # TorchScript
yolov5s.onnx # ONNX Runtime or OpenCV DNN with --dnn
yolov5s_openvino_model # OpenVINO
yolov5s.engine # TensorRT
yolov5s.mlmodel # CoreML (macOS-only)
yolov5s_saved_model # TensorFlow SavedModel
yolov5s.pb # TensorFlow GraphDef
yolov5s.tflite # TensorFlow Lite
yolov5s_edgetpu.tflite # TensorFlow Edge TPU
yolov5s_paddle_model # PaddlePaddle
创建自己的数据集
参考:Train Custom Data - Ultralytics YOLOv8 Docs | Tips for Best Training Results - Ultralytics YOLOv8 Docs
数据标注
使用 Label Studio
通过 Anaconda 安装:
conda create --name label-studio python=3.10
conda activate label-studio
pip install label-studio
label-studio start
然后浏览器访问 http://localhost:8080/
使用 LabelImg
使用 GPU 训练自己的数据集
数据集结构
参考 coco.yaml
目录结构
├── yolov5
└── datasets
└── my-datasets
├── images # 图片
| ├── 01.jpg
| ├── 02.jpg
| ├── 03.jpg
| └─ ─ ...
├── labels # 标签
| ├── classes.txt # 标签列表
| ├── 01.txt
| ├── 02.txt
| ├── 03.txt
| └── ...
└── my-datasets.yaml # 训练配置
my-datasets.yaml
# 数据集根目录
path: ../datasets/my_datasets
# 训练数据集目录
train: # txt 文件或相对 path 的目录
# 验证数据集目录
val: # txt 文件或相对 path 的目录
# 测试数据集目录
test: # txt 文件或相对 path 的目录
nc: # 标签总数
names: # 标签数组
NVIDIA CUDA
首先确保自己有一块支持 CUDA 的 GPU。 查看自己的 GPU 是否支持 CUDA。
下载安装 CUDA toolkit。
安装完成后可能需要配置 Path
环境变量(看看自己的安装位置):C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin
。
使用 nvcc -V
查看 CUDA 版本:
$ nvcc.exe -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Mon_Apr__3_17:36:15_Pacific_Daylight_Time_2023
Cuda compilation tools, release 12.1, V12.1.105
Build cuda_12.1.r12.1/compiler.32688072_0
查看自己安装的 torch:
(yolov5) PS D:\yolo\v5> conda list | findstr torch
torch 2.0.1 pypi_0 pypi
torchvision 0.15.2 pypi_0 pypi
按照 本地部署 安装的是使用 CPU 计算的 torch,现在需要卸载它:
pip uninstall torch
参考 PyTorch 官网 下载安装使用 CUDA 计算的 torch:
# 文件很大,你忍一下(2.49G)
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
# 也可以使用 pip 安装(2.6G)
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# 不知道为啥少个包↓
pip install chardet
# 训练过程中提示需要的包(但不装也能跑)↓
# pip install clearml comet_ml