yolov7obb部署
时间: 2024-12-26 21:21:07 浏览: 4
### 部署 YOLOv7-OBB 模型教程
#### 准备工作
为了顺利部署YOLOv7-OBB模型,需先准备好必要的软件环境和硬件设施。确保已安装Python解释器以及pip工具,并确认计算机具备支持CUDA运算的GPU设备以加速推理过程[^2]。
#### 安装依赖库
打开命令提示符或终端窗口,在其中输入如下指令来创建一个新的虚拟环境并激活该环境:
```bash
python -m venv yolo_env
source yolo_env/bin/activate # Linux 或 macOS
yolo_env\Scripts\activate # Windows
```
接着,利用`requirements.txt`文件中的包列表完成所需第三方库的一键安装操作:
```bash
pip install -r requirements.txt
```
此步骤会自动下载并安装所有必需的Python模块,包括但不限于PyTorch、OpenCV-python等[^1]。
#### 下载预训练权重
访问YOLOv7-OBB项目的GitHub页面获取最新版本的预训练参数文件(`.pt`格式),将其放置于指定目录下以便后续加载使用[^3]。
#### 修改配置文件
根据实际应用场景调整位于`cfg`文件夹内的网络结构定义文档(`.yaml`),比如改变类别数量、锚点尺寸等内容;同时编辑数据集路径映射表(`data.yaml`)指向本地存储位置。
#### 进行推断测试
编写简单的脚本来调用上述准备好的资源执行图像识别任务。下面给出了一段示范性的Python代码片段用于说明这一流程:
```python
import torch
from models.experimental import attempt_load
from utils.general import non_max_suppression, scale_coords
from utils.datasets import letterbox
import cv2
import numpy as np
def detect(image_path='test.jpg', weights='best.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)
img = torch.from_numpy(img).to(device)
img = img.float()
img /= 255.0 # 归一化处理 (0 - 255) -> (0.0 - 1.0)
if img.ndimension() == 3:
img = img.unsqueeze(0)
pred = model(img)[0]
det = non_max_suppression(pred, conf_thres=0.4, iou_thres=0.5)
for _, d in enumerate(det):
if len(d):
d[:, :4] = scale_coords(img.shape[2:], d[:, :4], img0.shape).round()
for *xyxy, conf, cls in reversed(d):
label = f'{model.names[int(cls)]} {conf:.2f}'
plot_one_box(xyxy, img0, label=label)
cv2.imshow('result', img0)
cv2.waitKey(0)
cv2.destroyAllWindows()
if __name__ == '__main__':
detect()
```
这段程序实现了读取图片、前向传播计算特征图谱、应用非极大值抑制筛选有效边界框等功能,并最终可视化标注结果展示给用户查看。
阅读全文