yolov5使用方法
时间: 2024-12-26 13:21:37 浏览: 7
### YOLOv5 使用教程
#### 安装依赖库
为了顺利使用YOLOv5,需先安装必要的Python包。通常情况下,在创建一个新的虚拟环境之后执行如下命令来安装项目所需的全部依赖项[^1]。
```bash
pip install -r requirements.txt
```
#### 配置文件解析
`yolov5s.yaml` 是定义YOLOv5小型化版本(small version)结构的关键配置文档。此模型因其较小的体积而被设计用于资源受限场景下的高效部署,比如智能手机或其他嵌入式平台上的应用开发工作[^2]。
#### 数据标注工具LabelImg
对于准备训练数据集而言,可以借助图形界面应用程序LabelImg来进行图像的手动标记操作。启动该软件的方法是在终端窗口内键入指定参数调用它:
```bash
labelimg images predefined_classes.txt
```
这一步骤有助于生成符合YOLO格式要求的目标检测标签文件,从而便于后续的数据预处理流程[^3]。
#### 训练过程概览
当一切准备工作就绪后,可以通过调整官方仓库中的脚本来自定义并启动一次完整的训练周期。下面给出了一段简化版的代码片段作为参考实例说明如何基于给定的数据集开展学习任务:
```python
from pathlib import Path
import torch
from models.experimental import attempt_load
from utils.datasets import LoadImages, letterbox
from utils.general import non_max_suppression, scale_coords
def detect(image_path='data/images/bus.jpg', weights='yolov5s.pt'):
device = 'cuda' if torch.cuda.is_available() else 'cpu'
model = attempt_load(weights, map_location=device)
img0 = cv2.imread(image_path)
img = letterbox(img0)[0]
img = img[:, :, ::-1].transpose(2, 0, 1) # BGR to RGB, HWC to CHW
img = np.ascontiguousarray(img)
dataset = [('custom_image', image_path)]
dataloader = DataLoader(dataset=dataset,
batch_size=1,
shuffle=False,
collate_fn=lambda x: tuple(zip(*x)))
for path, im in dataloader:
im = im.to(device).float()
pred = model(im)[0]
det = non_max_suppression(pred)[0]
if len(det):
det[:, :4] = scale_coords(im.shape[2:], det[:, :4], img0.shape).round()
for *xyxy, conf, cls in reversed(det):
c = int(cls)
label = f'{names[c]} {conf:.2f}'
print('Detection completed.')
```
上述程序展示了加载预训练权重、读取待测图片以及实施推理预测的核心逻辑;其中涉及到了几个重要的辅助函数如 `letterbox`, `non_max_suppression` 和 `scale_coords` 来完成边界框坐标的转换与筛选等工作。
阅读全文