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
    +关注

    关注

    89

    文章

    38085

    浏览量

    296386
  • 开发板
    +关注

    关注

    25

    文章

    6122

    浏览量

    113200
  • 模型
    +关注

    关注

    1

    文章

    3648

    浏览量

    51700
  • 目标检测
    +关注

    关注

    0

    文章

    230

    浏览量

    16377

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    OpenVINO C#如何运行YOLO11实例分割模型

    代码是我在OpenVINO-CSharp-API作者开源的YOLOv8对象检测的代码基础修改而成。
    的头像 发表于 04-29 09:30 1779次阅读
    <b class='flag-5'>OpenVINO</b> C#如何运行YOLO11实例分割<b class='flag-5'>模型</b>

    labview调用yolov8/11目标检测、分割、分类

    labview使用2020版本64位编辑,调用yolov8/11的onnx模型案例。 源码: 通过网盘分享的文件:Labview_cls.zip等4个文件 链接: https
    发表于 04-21 19:37

    单板挑战4路YOLOv8!米尔瑞芯微RK3576开发板性能实测

    ,-pos来演示。米尔基于RK3576开发板 单独测试视频场景1.YOLOv8s.int 目标检测模型 2.
    发表于 09-12 17:52

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

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

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

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

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

    本系列文章将在 AI 爱克斯开发板使用 OpenVINO 开发套件依次部署并测评
    的头像 发表于 05-05 11:47 1699次阅读
    在<b class='flag-5'>AI</b><b class='flag-5'>爱克斯</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 加速 YOL
    的头像 发表于 05-12 09:08 2195次阅读
    在<b class='flag-5'>AI</b><b class='flag-5'>爱克斯</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 1.5w次阅读
    <b class='flag-5'>YOLOv8</b>版本升级支持小<b class='flag-5'>目标</b><b class='flag-5'>检测</b>与高分辨率图像输入

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

    《在 AI 爱克斯开发板OpenVINO 加速 YOL
    的头像 发表于 06-05 11:52 1768次阅读
    在<b class='flag-5'>AI</b><b class='flag-5'>爱克斯</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>-seg实例分割<b class='flag-5'>模型</b>

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

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

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

    《在 AI 爱克斯开发板OpenVINO 加速 YOL
    的头像 发表于 06-30 10:43 2551次阅读
    在<b class='flag-5'>AI</b><b class='flag-5'>爱克斯</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>-seg实例分割<b class='flag-5'>模型</b>

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

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

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

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

    基于哪吒开发板部署YOLOv8模型

    开发板的推理性能,同时测试所推出的 OpenVINO C# API (https://github.com/guojin-yan/OpenVINO-CSharp-API) 项目能否应用到该
    的头像 发表于 11-15 14:13 1521次阅读
    基于哪吒<b class='flag-5'>开发板</b>部署<b class='flag-5'>YOLOv8</b><b class='flag-5'>模型</b>

    使用ROCm™优化并部署YOLOv8模型

    ://github.com/ultralytics/ultralytics/tree/main YOLOv8模型的卓越性能使其在多个领域具有广泛的应用前景,如自动驾
    的头像 发表于 09-24 18:32 507次阅读
    使用ROCm™优化并部署<b class='flag-5'>YOLOv8</b><b class='flag-5'>模型</b>