使用openvino模型文件推理图片代码

# 导入必要的库
import openvino as ov
from ultralytics import YOLO
import pathlib

# OpenVINO初始化
# 使用pathlib.Path来处理模型文件路径,这里指定了目标检测模型的XML文件路径
det_model_path = pathlib.Path(r"best.xml")

# 定义一个函数用于创建OpenVINO编译后的模型
def create_openvino_model(model_path, device="CPU"):
    # 初始化OpenVINO的核心对象,用于管理设备和读取模型
    core = ov.Core()
    # 读取指定路径的模型文件
    model = core.read_model(model_path)
    # 将读取的模型在指定设备(默认是CPU)上进行编译
    compiled_model = core.compile_model(model, device)
    # 返回编译后的模型
    return compiled_model

# 调用create_openvino_model函数,创建目标检测的编译后模型
det_compiled_model = create_openvino_model(det_model_path)
# 使用YOLO模型,指定模型文件路径,任务类型为目标检测
det_model = YOLO(det_model_path.parent, task="detect")  # 修改:使用模型文件路径而非目录路径

# 检查预测器是否未初始化
if det_model.predictor is None:
    # 定义自定义的预测参数,包括置信度阈值、批量大小、是否保存结果和预测模式
    custom = {"conf": 0.25, "batch": 1, "save": False, "mode": "predict"}  # method defaults
    # 将模型的默认参数和自定义参数合并
    args = {**det_model.overrides, **custom}
    # 智能加载预测器,并传入合并后的参数和回调函数
    det_model.predictor = det_model._smart_load("predictor")(overrides=args, _callbacks=det_model.callbacks)
    # 为预测器设置模型
    det_model.predictor.setup_model(model=det_model.model)

# 将编译后的OpenVINO模型赋值给预测器的ov_compiled_model属性
det_model.predictor.model.ov_compiled_model = det_compiled_model

# 对'00146.jpg'图像进行推理,并获取结果
# 设置保存结果为True,置信度阈值为0.5,IoU阈值为0.5
results = det_model.predict(r"00006.jpg", save=True, conf=0.5, iou=0.5)

# 处理返回的结果
for result in results:
    # 获取检测结果中的边界框信息
    boxes = result.boxes
    # 显示检测结果图像
    result.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值