yolo11预训练模型怎么用
时间: 2025-07-19 09:15:59 AIGC 浏览: 21
YOLOv11 是 YOLO(You Only Look Once)系列目标检测模型的最新版本之一,它延续了 YOLO 系列在实时目标检测中的高效性,并在精度、速度和易用性方面进行了优化。要使用 YOLOv11 预训练模型进行目标检测,可以按照以下步骤进行操作:
### 准备环境
1. **安装依赖库**
YOLOv11 通常基于 PyTorch 框架实现,因此需要安装 Python 及相关库,包括 `torch`、`opencv-python`、`numpy` 和 `ultralytics`(YOLOv8 及以上版本官方推荐的库)。
```bash
pip install torch opencv-python numpy ultralytics
```
2. **获取 YOLOv11 模型**
Ultralytics 官方提供了 YOLOv11 的预训练模型,可以通过 `ultralytics` 库直接加载,无需手动下载模型权重文件。
### 使用 YOLOv11 进行目标检测
1. **加载预训练模型**
使用 `YOLO` 类加载 YOLOv11 模型,`yolov11s.pt` 表示小型版本的 YOLOv11 模型文件,也可以选择其他版本如 `yolov11m.pt`、`yolov11l.pt` 或 `yolov11x.pt`。
```python
from ultralytics import YOLO
# 加载预训练的YOLOv11模型
model = YOLO('yolov11s.pt') # 也可以使用'yolov11m.pt'、'yolov11l.pt'等
```
2. **对图像进行推理**
使用 `model.predict()` 方法对图像进行目标检测,输入可以是图像路径、图像数组或视频路径。
```python
# 对图像进行目标检测
results = model.predict(source='path/to/image.jpg', show=True, save=True)
```
3. **处理检测结果**
检测结果包含边界框、类别标签和置信度等信息,可以通过遍历 `results` 来获取这些信息。
```python
for result in results:
boxes = result.boxes # 获取边界框
classes = result.names # 获取类别名称
for box in boxes:
x1, y1, x2, y2 = box.xyxy[0].tolist() # 获取边界框坐标
conf = box.conf[0].item() # 获取置信度
cls = box.cls[0].item() # 获取类别索引
print(f"检测到 {classes[int(cls)]},置信度: {conf:.2f},位置: ({x1}, {y1}), ({x2}, {y2})")
```
4. **对视频进行目标检测**
如果需要对视频进行目标检测,只需将 `source` 参数指定为视频文件路径即可。
```python
# 对视频进行目标检测
results = model.predict(source='path/to/video.mp4', show=True, save=True)
```
### 自定义数据集训练(可选)
如果希望在自定义数据集上使用 YOLOv11,需要按照 YOLOv11 的数据格式准备数据集,并使用 `model.train()` 方法进行训练。
```python
# 在自定义数据集上训练模型
model.train(data='path/to/data.yaml', epochs=100, imgsz=640)
```
### 注意事项
- 确保输入图像或视频的分辨率与模型训练时使用的分辨率一致,通常为 640x640。
- 根据硬件条件选择合适的模型版本,如 `yolov11s` 适用于资源受限的设备,而 `yolov11x` 则适用于高性能设备。
阅读全文
相关推荐




















