0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AI爱克斯开发板上使用OpenVINO加速YOLOv8目标检测模型

SDNLAB 来源:SDNLAB 2023-05-26 11:03 次阅读

《在AI爱克斯开发板上用OpenVINO加速YOLOv8分类模型》介绍了在AI爱克斯开发板上使用OpenVINO开发套件部署并测评YOLOv8的分类模型,本文将介绍在AI爱克斯开发板上使用OpenVINO加速YOLOv8目标检测模型。 请先下载本文的范例代码仓,并搭建好YOLOv8的OpenVINO推理程序开发环境。 git clone https://gitee.com/ppov-nuc/yolov8_openvino.git 导出YOLOv8目标检测OpenVINO IR模型 YOLOv8的目标检测模型有5种,在COCO数据集完成训练,如下表所示。 8e0845da-fb2c-11ed-90ce-dac502259ad0.png   首先使用命令:yolo export model=yolov8n.pt format=onnx,完成yolov8n.onnx模型导出,如下图所示。 8e2b0d68-fb2c-11ed-90ce-dac502259ad0.png   然后使用命令:mo -m yolov8n.onnx --compress_to_fp16,优化并导出FP16精度的OpenVINO IR格式模型,如下图所示。 8e45cf9a-fb2c-11ed-90ce-dac502259ad0.png   用benchmark_app测试yolov8目标检测模型的推理计算性能 benchmark_app是OpenVINOTM工具套件自带的AI模型推理计算性能测试工具,可以指定在不同的计算设备上,在同步或异步模式下,测试出不带前后处理的纯AI模型推理计算性能。 使用命令:benchmark_app -m yolov8n.xml -d GPU,获得yolov8n.xml模型在AI爱克斯开发板的集成显卡上的异步推理计算性能,如下图所示。 8eaafdca-fb2c-11ed-90ce-dac502259ad0.png   使用OpenVINO Python API编写YOLOv8目标检测模型推理程序 用Netron打开yolov8n.onnx,如下图所示,可以看到模型的输入是形状为[1,3,640,640]的张量,输出是形状为[1,84,8400]的张量,其中“84”的定义为:cx,cy,h,w和80种类别的分数。“8400”是指YOLOv8的3个检测头在图像尺寸为640时,有640/8=80, 640/16=40, 640/32=20, 80x80+40x40+20x20=8400个输出单元格。 8ee0e7fa-fb2c-11ed-90ce-dac502259ad0.png   基于OpenVINO Python API的YOLOv8目标检测模型的范例程序:yolov8_od_ov_sync_infer_demo.py,其核心源代码如下所示:

# 实例化Core对象

core =Core()

# 载入并编译模型

net =core.compile_model(f'{MODEL_NAME}.xml', device_name="AUTO")

# 获得模型输出节点

output_node =net.outputs[0] # yolov8n只有一个输出节点

ir =net.create_infer_request()

cap =cv2.VideoCapture("store-aisle-detection.mp4")

whileTrue:

start =time.time()

ret, frame =cap.read()

ifnotret:

break

# 图像数据前处理

[height, width, _] =frame.shape

length =max((height, width))

image =np.zeros((length, length, 3), np.uint8)

image[0:height, 0:width] =frame

scale =length /640

blob =cv2.dnn.blobFromImage(image, scalefactor=1/255, size=(640, 640), swapRB=True)

# 执行推理计算

outputs =ir.infer(blob)[output_node]

# 推理结果后处理并显示处理结果

outputs =np.array([cv2.transpose(outputs[0])])

... ...

cv2.imshow('YOLOv8 OpenVINO Infer Demo on AIxBoard', frame)

yolov8_od_ov_sync_infer_demo.py运行结果,如下图所示: 8efd0d54-fb2c-11ed-90ce-dac502259ad0.png   结 论 AI爱克斯开发板借助N5105处理器的集成显卡(24个执行单元)和OpenVINO,可以在YOLOv8的目标检测模型上获得相当不错的性能。通过异步处理和AsyncInferQueue,还能进一步提升计算设备的利用率,提高AI推理程序的吞吐量。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    26443

    浏览量

    264052
  • 开发板
    +关注

    关注

    25

    文章

    4429

    浏览量

    93993
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47687
  • 目标检测
    +关注

    关注

    0

    文章

    185

    浏览量

    15453

原文标题:在AI爱克斯开发板上用OpenVINO加速YOLOv8目标检测模型

文章出处:【微信号:SDNLAB,微信公众号:SDNLAB】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【HarmonyOS HiSpark AI Camera】鸿蒙系统目标检测项目

    项目名称:鸿蒙系统目标检测项目试用计划:本人在嵌入式和AI领域有多年的学习和开发经验,曾在2020年华为人工智能赛
    发表于 11-19 20:47

    【爱芯派 Pro 开发板试用体验】yolov8模型转换

    通过开发板预制的ax_run_model 工具,测试模型速度和精度。 示例都是yolov5的,没有yolov8
    发表于 11-20 12:19

    使用YOLOv8目标检测和实例分割的演示

    YOLOv8是来自Ultralytics的最新的基于YOLO的对象检测模型系列,提供最先进的性能。
    的头像 发表于 02-06 10:11 5977次阅读

    在C++中使用OpenVINO工具包部署YOLOv5模型

    下载并转换YOLOv5预训练模型的详细步骤,请参考:《基于OpenVINO™2022.2和蝰蛇峡谷优化并部署YOLOv5模型》,本文所使用的
    的头像 发表于 02-15 16:53 2172次阅读

    AI爱克斯开发板上用OpenVINO加速YOLOv8分类模型

    本系列文章将在 AI 爱克斯开发板上使用 OpenVINO 开发套件依次部署并测评 YOLOv8
    的头像 发表于 05-05 11:47 598次阅读
    在<b class='flag-5'>AI</b><b class='flag-5'>爱克斯</b><b class='flag-5'>开发板</b>上用<b class='flag-5'>OpenVINO</b>™<b class='flag-5'>加速</b><b class='flag-5'>YOLOv8</b>分类<b class='flag-5'>模型</b>

    AI爱克斯开发板上用OpenVINO加速YOLOv8目标检测模型

    《在 AI 爱克斯开发板上用 OpenVINO 加速 YOLOv8 分类
    的头像 发表于 05-12 09:08 845次阅读
    在<b class='flag-5'>AI</b><b class='flag-5'>爱克斯</b><b class='flag-5'>开发板</b>上用<b class='flag-5'>OpenVINO</b>™<b class='flag-5'>加速</b><b class='flag-5'>YOLOv8</b><b class='flag-5'>目标</b><b class='flag-5'>检测</b><b class='flag-5'>模型</b>

    YOLOv8版本升级支持小目标检测与高分辨率图像输入

    YOLOv8版本最近版本又更新了,除了支持姿态评估以外,通过模型结构的修改还支持了小目标检测与高分辨率图像检测。原始的
    的头像 发表于 05-16 11:14 8997次阅读
    <b class='flag-5'>YOLOv8</b>版本升级支持小<b class='flag-5'>目标</b><b class='flag-5'>检测</b>与高分辨率图像输入

    自训练Pytorch模型使用OpenVINO™优化并部署在AI爱克斯开发板

    本文章将依次介绍如何将 Pytorch 自训练模型经过一系列变换变成 OpenVINO IR 模型形式,而后使用 OpenVINO Python API 对 IR
    的头像 发表于 05-26 10:23 626次阅读
    自训练Pytorch<b class='flag-5'>模型</b>使用<b class='flag-5'>OpenVINO</b>™优化并部署在<b class='flag-5'>AI</b><b class='flag-5'>爱克斯</b><b class='flag-5'>开发板</b>

    AI爱克斯开发板上用OpenVINO加速YOLOv8-seg实例分割模型

    《在 AI 爱克斯开发板上用 OpenVINO 加速 YOLOv8
    的头像 发表于 06-05 11:52 603次阅读
    在<b class='flag-5'>AI</b><b class='flag-5'>爱克斯</b><b class='flag-5'>开发板</b>上用<b class='flag-5'>OpenVINO</b>™<b class='flag-5'>加速</b><b class='flag-5'>YOLOv</b>8-seg实例分割<b class='flag-5'>模型</b>

    教你如何用两行代码搞定YOLOv8各种模型推理

    大家好,YOLOv8 框架本身提供的API函数是可以两行代码实现 YOLOv8 模型推理,这次我把这段代码封装成了一个类,只有40行代码左右,可以同时支持YOLOv8对象
    的头像 发表于 06-18 11:50 2078次阅读
    教你如何用两行代码搞定<b class='flag-5'>YOLOv8</b>各种<b class='flag-5'>模型</b>推理

    目标检测算法再升级!YOLOv8保姆级教程一键体验

    YOLO作为一种基于图像全局信息进行预测的目标检测系统,始终保持着极高的迭代更新率,从YOLOv5到YOLOv8,本次升级主要包括结构算法、命令行界面、PythonAPI等。具体到
    的头像 发表于 02-28 11:16 1480次阅读
    <b class='flag-5'>目标</b><b class='flag-5'>检测</b>算法再升级!<b class='flag-5'>YOLOv8</b>保姆级教程一键体验

    AI爱克斯开发板上用OpenVINO加速YOLOv8-seg实例分割模型

    《在 AI 爱克斯开发板上用 OpenVINO 加速 YOLOv8
    的头像 发表于 06-30 10:43 450次阅读
    在<b class='flag-5'>AI</b><b class='flag-5'>爱克斯</b><b class='flag-5'>开发板</b>上用<b class='flag-5'>OpenVINO</b>™<b class='flag-5'>加速</b><b class='flag-5'>YOLOv</b>8-seg实例分割<b class='flag-5'>模型</b>

    三种主流模型部署框架YOLOv8推理演示

    部署。这里以YOLOv8为例,演示了YOLOv8对象检测模型OpenVINO、ONNXRUNTIME、TensorRT三个主流框架上C++
    的头像 发表于 08-06 11:39 1839次阅读

    使用OpenVINO优化并部署训练好的YOLOv7模型

    在《英特尔锐炫 显卡+ oneAPI 和 OpenVINO 实现英特尔 视频 AI 计算盒训推一体-上篇》一文中,我们详细介绍基于英特尔 独立显卡搭建 YOLOv7 模型的训练环境,并
    的头像 发表于 08-25 11:08 921次阅读
    使用<b class='flag-5'>OpenVINO</b>优化并部署训练好的<b class='flag-5'>YOLOv</b>7<b class='flag-5'>模型</b>

    基于YOLOv8的自定义医学图像分割

    YOLOv8是一种令人惊叹的分割模型;它易于训练、测试和部署。在本教程中,我们将学习如何在自定义数据集上使用YOLOv8。但在此之前,我想告诉你为什么在存在其他优秀的分割模型时应该使用
    的头像 发表于 12-20 10:51 409次阅读
    基于<b class='flag-5'>YOLOv8</b>的自定义医学图像分割