YOLOv7 实时目标检测教程

YOLOv7是一个先进的目标检测模型,它能够实现实时检测。为了帮助更好地理解和使用 YOLOv7,编写了这个详细的教程。本教程将涵盖数据集的构建、模型的训练以及在 Jetson Nano 设备上的部署。

Roboflow 提供了一个便捷的平台,用于收集、标注和管理计算机视觉数据集。对于学生和从事公共项目的爱好者来说,Roboflow 是免费的,并且已经有许多公共数据集可供使用。如果有一个独特的用例,也可以在 roboflow.com 注册账户并开始标注自己的数据集。

一旦找到了要使用的数据集或收集了自己的数据集,就可以开始标注了。请按照指南上传、标注和管理数据,并在生成数据集版本后返回。Roboflow 允许免费管理数据集、标注数据,并将其转换为 26 多种格式,以适应不同的模型。Roboflow 是基于云的,并且易于团队使用。

制作了一个方便的 Google Colab 笔记本,它可以从 Roboflow 检索数据集并训练YOLOv7模型。请按照 YOLOv7 自定义训练教程开始在 Google Colab 上训练。根据数据集,可能会考虑使用 yolov7-tiny,这是 YOLOv7 架构的一个较小版本,它可以在 Jetson Nano 设备上更快地运行。

# 下载 COCO 起始检查点 %cd /content/yolov7 !wget "https://github.com/WongKinYiu/yolov7/releases/download/v0.1/yolov7-tiny.pt" # 运行此单元格开始训练 %cd /content/yolov7 !python train.py --batch 16 --cfg cfg/training/yolov7-tiny.yaml --epochs 100 --data {dataset.location}/data.yaml --weights 'yolov7-tiny.pt' --cache-images --device 0

训练结束后,请确保从 Google Colab 下载权重文件作为 .pt 文件。稍后将把它加载到 Jetson Nano 上。

首先,需要在Jetson Nano上安装依赖项,例如 PyTorch。截至 2022 年 7 月,Jetson Nano 附带了 Python 3.6 和 CUDA 10.2,因此需要定制版本的 PyTorch,这些版本是用 CUDA 编译的,以便模型能够使用 GPU 加速运行。

sudo apt-get install python3-pip libjpeg-dev libopenblas-dev libopenmpi-dev libomp-dev python3 -m pip install -U pip python3 -m pip install gdown # 安装支持 CUDA 的 torch gdown "https://drive.google.com/file/d/1TqC6_2cwqiYacjoLhLgrZoap6-sVL2sd/view?usp=sharing" --fuzzy python3 -m pip install ./torch-1.10.0a0+git36449ea-cp36-cp36m-linux_aarch64.whl # 安装支持 CUDA 的 torchvision gdown "https://drive.google.com/file/d/1C7y6VSIBkmL2RQnVy8xF9cAnrrpJiJ-K/view?usp=sharing" --fuzzy python3 -m pip install ./torchvision-0.11.0a0+fa347eb-cp36-cp36m-linux_aarch64.whl git clone https://github.com/WongKinYiu/yolov7.git cd yolov7 python3 -m pip install -r ./requirements.txt

现在,将模型 .pt 文件移动到 yolov7 目录中。确保 Jetson Nano 已连接网络摄像头,然后运行一些推理。确保将 model.pt 替换为权重文件名!

python3 ./detect.py --source 0 --device 0 --weights model.pt

如果在部署过程中遇到问题,请参阅常见问题解答部分,以获取解决方案。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485