yolov8 目标检测本地部署
时间: 2025-05-28 10:26:00 浏览: 18
### YOLOv8 目标检测本地部署教程
#### 准备工作
为了在本地环境中成功部署 YOLOv8 并进行目标检测,需要先完成环境配置以及必要工具的安装。以下是具体操作:
1. **安装依赖库**
确保已安装 `ultralytics` 和 `opencv-python` 库,这是运行 YOLOv8 所需的核心组件[^2]。可以使用以下命令来安装这些库:
```bash
pip install ultralytics opencv-python
```
2. **获取预训练模型权重**
YOLOv8 提供了多种大小的预训练模型(如 `yolov8n.pt`, `yolov8s.pt` 等),可以根据需求选择合适的版本。可以通过以下方式加载预训练模型:
- 自动下载:通过代码动态加载官方提供的预训练权重文件。
- 手动下载:访问 Ultralytics 官方网站或 GitHub 仓库手动下载所需模型。
#### 实现代码示例
下面展示了一个完整的 Python 脚本,用于基于 YOLOv8 的目标检测任务:
```python
from ultralytics import YOLO
import cv2
# 加载预训练模型 (此处以最小模型 yolov8n.pt 为例)
model = YOLO('yolov8n.pt') # 如果未找到本地文件,则会自动从网络下载
# 图像路径
image_path = 'example.jpg'
# 使用 OpenCV 读取图像
img = cv2.imread(image_path)
# 运行推理
results = model(img) # 返回预测结果列表
# 处理第一个结果对象
result = results[0]
# 绘制边界框到原图上
for box in result.boxes:
xyxy = box.xyxy[0].cpu().numpy() # 获取边界框坐标
class_id = int(box.cls.cpu()) # 类别 ID
conf = round(float(box.conf), 2) # 置信度分数
# 将边界框绘制到图片上
img = cv2.rectangle(
img,
tuple(xyxy[:2]), # 左上角坐标
tuple(xyxy[2:]), # 右下角坐标
color=(0, 255, 0), # 边界框颜色 (BGR 格式)
thickness=2 # 边界框宽度
)
# 添加类别标签和置信度文字说明
label_text = f'{class_id} {conf}'
img = cv2.putText(
img,
text=label_text,
org=tuple(xyxy[:2]),
fontFace=cv2.FONT_HERSHEY_SIMPLEX,
fontScale=0.6,
color=(0, 0, 255),
thickness=2
)
# 显示处理后的图像
cv2.imshow('Detected Objects', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
上述脚本实现了以下几个功能:
- 利用 `ultralytics.YOLO` 接口加载指定的目标检测模型;
- 对输入图像执行推理操作,并提取检测结果中的边界框、类别编号及置信度信息;
- 基于 OpenCV 工具包,在原始图像中标记出识别到的对象及其属性。
#### PT 文件转换为 ONNX 格式
如果计划将 PyTorch (.pt) 模型迁移到其他硬件平台(例如嵌入式设备 RK3588),可能需要将其导出成通用框架支持的形式——ONNX。以下是具体的转换流程[^3]:
1. 克隆相关 Git 存储库并切换至特定提交版本:
```bash
git clone https://github.com/airockchip/ultralytics_yolov8.git
cd ultralytics_yolov8
git checkout 5b7ddd8f821c8f6edb389aa30cfbc88bd903867b
```
2. 修改源码以适应自定义需求后重新编译项目;随后调用内置方法完成格式转化过程即可获得兼容性强的新版模型文件。
---
####
阅读全文
相关推荐


















