yolov5人体检测模型代码
时间: 2025-02-02 19:13:11 浏览: 36
### YOLOv5人体检测模型代码示例
对于YOLOv5的人体检测,可以基于官方提供的预训练模型进行加载并执行推理操作。下面是一个完整的Python代码片段,展示了如何使用YOLOv5来进行人体检测。
#### 加载YOLOv5模型
为了加载YOLOv5模型,通常会利用`torch.hub`库来简化这一过程:
```python
import torch
model = torch.hub.load('ultralytics/yolov5', 'yolov5s') # Load model, using yolov5s variant as an example[^1]
```
这段代码从Ultralytics的GitHub仓库下载了一个轻量级版本(`yolov5s`)的YOLOv5模型,并将其存储到变量`model`中以便后续调用。
#### 执行图像上的预测
一旦模型被成功加载,就可以对其进行输入数据(如图片文件路径),从而获取相应的预测结果:
```python
results = model('path/to/image.jpg')
```
这里假设有一个名为`image.jpg`的图片位于指定目录下;该命令将会返回一个包含所有检测对象及其置信度分数的结果集。
#### 过滤仅保留人类标签的对象
由于YOLOv5默认支持多种类型的物体分类,在此情况下只关心与“person”类别相关的检测项:
```python
human_results = results.pandas().xyxy[0][results.pandas().xyxy[0]['name'] == 'person']
print(human_results)
```
上述脚本过滤出了所有的行人记录,并打印出来供进一步处理或可视化显示。
#### 可视化结果显示
最后一步是将这些边界框绘制回原始图像上以直观查看检测效果:
```python
from PIL import ImageDraw, Image
img = Image.open('path/to/image.jpg')
draw = ImageDraw.Draw(img)
for _, row in human_results.iterrows():
draw.rectangle([row['xmin'], row['ymin'], row['xmax'], row['ymax']], outline="red", width=3)
img.show()
```
以上就是使用YOLOv5实现人体检测的一个基本流程概述以及对应的代码实例[^2]。
阅读全文
相关推荐


















