目标检测是计算机视觉中的一项任务,其重点是对图像、视频中的目标进行实时检测。有各种目标检测算法,如更快的R-CNN、单镜头检测器(SSD)、YOLO(你只看一次)等。
YOLO最初是作为第一个将包围盒预测和目标分类结合到单个端到端可区分网络中的目标检测模型而引入的。它是用暗网写的。此外,YOLOv5是第一个用PyTorch框架编写的YOLO模型。它是由Glenn Jocher(Utralytics的创始人兼首席执行官)发布的。Glenn Jocher Utralytics
YOLOv5变体
YOLOv5有四个不同的变体,如s、m、l和xl。它们中的每一个都提供不同的检测精度和性能,如下所示。
预先培训的检查点
在本文中,您将了解如何使用YOLOv5ğŸšEURO训练模型和实时预测
所以,让我们一步一步开始吧!
我们将在本教程中遵循的步骤
- 准备数据集
- 环境设置:安装YOLOv5依赖项
- 配置YAML文件
- 训练模型
- 可视化培训数据
准备数据集
在本教程中,我们将使用我们自己的数据集。您可以对图像使用任何您想要的批注工具。我们将使用LabelImg作为这个项目,因为它允许我们在txt格式的标签,这是YOLOv5所必需的。LabelImg
标记之后,您可以将您的数据拆分为训练和测试。在训练和测试文件夹中,您还应该通过创建图像和标签文件夹来分离图像和标签。
环境设置:安装YOLOv5依赖项
- 在蟒蛇提示中创建新环境
Conda new env
conda create --name yolo
conda activate yolo
- PyTorch安装
conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c conda-forge
您可以在这里选择适合您的计算机的任何版本here
现在,检查您是否在使用GPU
python
>>>import torch
>>>torch.cuda.is_available()
True
>>> print('Using torch %s %s' % (torch.__version__, torch.cuda.get_device_properties(0) if torch.cuda.is_available() else 'CPU'))
Using torch 1.9.0 _CudaDeviceProperties(name='NVIDIA GeForce GTX 1050', major=6, minor=1, total_memory=2048MB, multi_processor_count=5)
如果您得到类似于上面的输出,那么您就走上了正确的道路!🌟
- 克隆Repo和安装依赖项
git clone --depth 1 https://github.com/ultralytics/yolov5
pip install -U -r yolov5/requirements.txt
What‘这是我笔记本的链接:谷歌可乐(™)Google Colab
您需要一个Google帐户才能使用Google Colab。如果您计划使用我的笔记本,请确保在您的驱动器中保存一份文件-†‘。然后您就可以编辑代码了。
我建议您使用Google Colab进行培训,使用本地计算机进行检测。
配置YAML文件
在yolov5/data文件夹中有一个data.yaml文件,您需要根据您的数据进行配置。给出训练和测试文件夹中图像的路径、类的数量和名称。
在yolov5/model文件夹中,有yolov5.yaml文件。要使用yolov5.yaml文件的哪个变体,只需更改该文件中的类值编号即可。
以下是文件结构:
训练模型
在这里,我们可以传递一些参数:
- img:定义输入图像大小
- 批次:确定批次大小
- 纪元:定义训练纪元数
- DATA:指定我们的YAML文件的路径
- cfg:指定我们的型号配置
- 权重:指定权重的路径
- 缓存:缓存图像以加快培训速度
python train.py --img-size --batch 16 --epochs 300 --data './data/data.yaml' --cfg ./models/yolov5s.yaml --weights './yolov5s.pt' --name --cache
可视化培训数据
您可以使用Tensorboard可视化培训过程。
[COLAB]
%load_ext tensorboard
使用我们的模型进行检测
对于预测,您可以在此命令行中使用yolov5的Detect.py文件;
python detect.py --weights --img-size --conf --source (0 for webcam)
�奖金�
如果您想要为您的业务自定义实时预测,这里为您提供简化的检测代码。
我希望本文能在您使用YOLOv5的同时帮助您,让您发现YOLOv5是多么简单和有趣。下次YOLO发布ğŸšEURO时再见
原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/08/02/%e4%bd%bf%e7%94%a8%e6%82%a8%e8%87%aa%e5%b7%b1%e7%9a%84%e6%95%b0%e6%8d%ae%e9%9b%86%e8%bf%9b%e8%a1%8cyolov5%e5%af%b9%e8%b1%a1%e6%a3%80%e6%b5%8b/