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

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

3天内不再提示

四个步骤完成一个Object Detection对象侦测的DEMO操作

jf_cVC5iyAO 来源:易心Microbit编程 作者:易心Microbit编程 2022-11-09 16:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Intel DevCloud开发者工具是一个免费的云端的开发平台,它已预装了OpenVINO Toolkit (Open Visual Inference and Neural network Optimization)方便开发AI应用程序。它是一个云端的JupyterLab服务,旗下三个产品DevCloudfor the Edge、DevCloud for oneAPI、DevCloud for FPGA,分别着重让开发者可以在云端的虚拟机上评估模型推论、神经网络训练研究以及客制化FPGA加速芯片应用。

特别值得一提的是,这些服务目前完全不需要花费任何一毛钱,即可尽情享用到高效能的运算能力。开发者们大可好好运用这些资源来学习并应用AI,本篇文章将使用DevCloud for the Edge,在简单的四个步骤之中,完成一个Object Detection对象侦测的DEMO操作。

一、准备动作

4742c69c-6005-11ed-8abf-dac502259ad0.png

Tutorials与Sample Applications非常推荐入门者学习

在注册完成登入DevCloud for the Edge之后,选择Get Started进入,即可看到五个页签,分别为Home、Learn、Build、Optimize以及Launch,分别在AI应用的四个阶段:学习、建立模型、优化模型以应用上,提供相当实用的文件与素材,入门者建议可以试着运行Learn页签里面的Tutorials与Sample Applications,里面有三十余的非常丰富的教学内容。

我们这次的主要目的则是在DevCloud上运行open model zoo的范例,首先我们要点选build页签当中的Connect and Create来启动服务器,等待约三十秒的时间之后即会转跳到DevCloud的后台界面。

4772e8e0-6005-11ed-8abf-dac502259ad0.png

DevCloud的后台接口,点选右上方New来新增档案或开启终端机

进入到DevCloud后台接口可以看到目前显示在files页签,是类似文件管理器以阶层的方式看到自己在服务器上的所有档案,预设服务器在建立之后即会产生一个Reference-samples的文件夹,里面存放许多上面所提到的Sample Applications等项目文件。

DevCloud提供每个账户50GB的储存空间,可以自由运用储存程序与模型数据等。接着点选右上方New按钮,并从下拉式选单中点选Terminal开启终端机。在黑色的终端机背景中输入以下指令来取得我们要使用的ipython notebooks档案,同时这个档案也存放在github上

https://github.com/FelixLinSY/DevCloud_Hands_On

供有需要的开发者自行取用参考。

wgethttps://github.com/FelixLinSY/DevCloud_Hands_On/raw/main/DevCloud_HandsOn.ipynb

二、四步骤完成预训练模型范例

执行完成回到档案管理接口,就会看到多出一个刚下载的DevCloud_HandsOn.ipynb档案,点选该档案来启动ipython notebook。

4799b60a-6005-11ed-8abf-dac502259ad0.jpg

运行于DevCloud的教学指引:DevCloud_HandsOn.ipynb

开启DevCloud_HandsOn.ipynb之后可以看到左侧是目录概要,可以看到列出了四个步骤即可完成open model zoo上的范例:

STEP1: 下载open model zoo程序代码

STEP2: 下载与转换模型

STEP3: 进行对象侦测推论

STEP4: 在各种边缘装置进行推论

47b7de1e-6005-11ed-8abf-dac502259ad0.png

本教学文的目录概要

右侧比较大的字段则是程序代码编辑区,这部分是由程序代码与批注文字两种Cell组合而成的区域,能以Cell为单位自由编辑并且执行。笔者已经预先在这个ipython notebook中加入批注说明文字,希望能帮助到初学者理解各个步骤与指令的用意所在。

STEP 1: 下载open model zoo程序代码

STEP1仅有三行指令,依序执行即可建立工作目录并且从github下载open model zoo的程序代码。

STEP 2: 下载与转换模型

STEP2则接续要下载预训练的对象侦测模型,这边有两个做法:2.1是一次下载所有支持的对象侦测模型;2.2则是仅下载指定模型。由于对象侦测支持的预训练模型实在是非常多,一次下载将花费非常多的时间,强烈建议先跳过2.1执行2.2下载特定模型即可,待日后想要尝试置换其他模型时,再下载全部模型较为妥适。

取得要使用的模型文件之后就是要进行模型转换(converter)来取得推论引擎(Inference Engine),加载时需要使用的IR(Intermediate Representation)档,以利后续使用CPUGPU、VPU等各种硬件进行推论。由于模型转换需要花费一些时间,如果你是一次下载所有模型并且进行转换的话(前述2.1的部分)这边也会花上好一段时间。

47d56240-6005-11ed-8abf-dac502259ad0.png

使用ssd_mobilenet_v2_coco进行图片推论的结果

STEP 3: 进行对象侦测推论

STEP3就是进行推论的重头戏了,这边会使用openmodel zoo中的object_detection_demo.py范例程序分别执行单张图片的推论以及影片的推论两种。为求方便起见图片与影片笔者分别从pixabay与Pexels合法取得照片与影片来进行推论使用,各位也可以将自己的照片或影片手动上传到DevCloud上作为推论数据使用。

在执行范例程序需要代入相应的参数包含IR文件路径、输入数据、输出数据、模型架构与卷标文件等等,若参数错误可能会造成辨识不准确甚至会无法执行,请务必稍加留意。若需要更换模型文件除了IR路径修改外,模型架构与卷标文件也可能需要更换,详细请参考预训练模型文件的说明。

此外在执行影片推论前,笔者有使用sed指令去修改范例程序中输出影像的格式,为的是能够输出成正确的图像文件案并且在DevCloud上播放。其余的部分则和图片推论是大同小异。在推论结果的部分,不管是图片或是影片的对象侦测,可以观察到输出结果相当不错,即使是小对象侦测的正确率还不差。

481968aa-6005-11ed-8abf-dac502259ad0.png

在Intel DevCloud for the Edge执行的影片推论结果

STEP 4: 硬件测试仿真

最后的第四步骤,我们要使用DevCloud最为强大的功能之一,将这个AI模型放到不同的边缘运算装置进行推论。于此之前先建立工作脚本档(4.1),基本上跟我们前面第三步骤的内容差不多,只不过把一些我们想要动态改变的参数改为从外部引入。

接着使用qsub指令派送工作到指定的边缘装置(4.2),所有支持的边缘装置可以参考Intel DevCloud for the Edge装置列表。由于工作会以方同步的方式在不同装置上运作,我们可以透过liveQstate()指令来检视任务的执行状态,这边务必要留意一下如果任务尚未完成而直接执行后续的cell程序段,将可能会造成错误或是数据读取不正确。

当所有任务都完成后,同样地开启输出影片来观察Intel Core Gen 11th使用CPU与GPU之间的推论差异。

487fd27a-6005-11ed-8abf-dac502259ad0.png

你可在Intel DevCloud for the Edge装置列表中进行选择,模拟体验一下所选模型在实际运作时的效益如何

三、快速延伸你的创意

本篇文章带各位轻松快速得完成一个open model zoo上的AI推论范例,各位是否觉得意犹未尽呢?在open model zoo与DevCloud上还有许多宝库值得去探究以及发掘,建议各位后续可以从 open model zoo 内各种有趣的范例和预训练的模型当中做探索,或是执行 DevCloud 上不同应用展示,都是不错的学习路径喔!每个范例也可以弹性去套用不同的模型进行演算,对于AI模型能够发展的应用,可以提供更多想象空间喔!

人工智能的技术在未来几年间将持续蓬勃发展,而配套的软件工具也将会越来越广泛且容易上手,有幸身处在这个AI应用即将爆发的时代,势必也要跟风参与一下这波撼动世界的技术浪潮。

审核编辑 :李倩

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

    关注

    1813

    文章

    49734

    浏览量

    261510
  • 应用程序
    +关注

    关注

    38

    文章

    3342

    浏览量

    59925

原文标题:OpenVINO云端也能GO!四个步骤轻松在DevCloud实作AI推论

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口 skyworksinc

    电子发烧友网为你提供()用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口相关产品参数、数据手册,更有
    发表于 05-28 18:33
    用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx <b class='flag-5'>四</b>频前端模块,带<b class='flag-5'>四个</b>线性 TRx 开关端口 skyworksinc

    用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口 skyworksinc

    电子发烧友网为你提供()用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口相关产品参数、数据手册,更有
    发表于 05-28 18:33
    用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx <b class='flag-5'>四</b>频前端模块,带<b class='flag-5'>四个</b>线性 TRx 开关端口 skyworksinc

    用于频 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有四个线性 TRx 开关端口和双频 TD-SCDMA skyworksinc

    电子发烧友网为你提供()用于频 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有四个线性 TRx 开关端口和双频 TD-SCDMA相关产品参数、数据手册,更有用于频 GSM
    发表于 05-28 18:31
    用于<b class='flag-5'>四</b>频 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有<b class='flag-5'>四个</b>线性 TRx 开关端口和双频 TD-SCDMA skyworksinc

    PLC产品故障问题测试的四个部分

    ,必须对故障问题进行系统化测试。本文将详细介绍PLC产品故障问题测试的四个关键部分,帮助技术人员快速定位和解决问题。 、硬件测试 硬件测试是PLC故障诊断的首要环节,主要针对PLC设备的物理部件进行检查。首先,需要检查电源模块是否
    的头像 发表于 05-11 17:00 1149次阅读
    PLC产品故障问题测试的<b class='flag-5'>四个</b>部分

    四个方面深入剖析富捷电阻的优势

    理成本的电阻产品系列,为电子行业提供了可靠的选择。本文将从产品结构、同业对比、成本分析以及品质保障四个方面深入剖析富捷电阻的优势,展现其如何在激烈的市场竞争中脱颖而出。
    的头像 发表于 05-09 10:47 832次阅读
    从<b class='flag-5'>四个</b>方面深入剖析富捷电阻的优势

    使用Yolo-v3-TF运行OpenVINO™对象检测Python演示时的结果不准确的原因?

    的模型与对象检测 Python* Demo 配合使用时无法检测对象: python3 open_model_zoo/demos/object_detection_demo/python
    发表于 03-06 06:31

    无法在Windows Subsystem for Linux 2上使用对象检测Python演示运行YoloV4模型?

    在 WSL2 上运行对象检测 python 演示。 使用 CPU 运行 object_detection_demo.py 时遇到错误: OpenCV: FFMPEG: tag
    发表于 03-05 08:43

    ADS1211如何给道的初始化、四个通道又是如何轮流进行A/D转换?

    使用的。 而我设计的板卡中,ADS1211是通道轮流工作。在此,小弟急需知晓ADS1211如何给道的初始化、四个通道又是如何轮流进行A/D转换?具体的流程是怎样的?恳切希望TI
    发表于 02-13 07:53

    ADS1211获取四个通道全部数据的最短时间是多少?

    看pdf没看出什么门道,想问下这款ADC四个差分通道同步采样,获取四个通道全部数据的最短时间是多少!
    发表于 02-10 07:24

    详解Object Detection Demo的移植

    继上篇移植了 Mediapipe 的 LLM Inference 后,这篇文章我们将继续探索 Object Detection Demo 的移植。
    的头像 发表于 02-05 13:42 848次阅读
    详解<b class='flag-5'>Object</b> <b class='flag-5'>Detection</b> <b class='flag-5'>Demo</b>的移植

    模数转换电路的四个过程

    模数转换(Analog-to-Digital Conversion,简称ADC)是将模拟信号转换为数字信号的关键过程,广泛应用于通信、数据采集、信号处理等领域。模数转换电路的设计与实现涉及多个关键步骤,通常可以分为四个主要过程:采样、保持、量化和编码。本文将详细分析这
    的头像 发表于 02-03 16:12 2353次阅读

    请问DAC3484四个通道能否独立使用?

    请问,DAC3484 四个通道能否独立使用?即当把DAC的NCO频率设置为fs/2时,IQ两通道是否就可以独立了?
    发表于 01-23 07:35

    请问AD9852四个输出口有什么差别?

    AD9852四个输出口有什么差别?是不是IOUT1是余弦输出,IOUT2是DAC控制输出,需要设置DAC控制寄存器?
    发表于 01-16 06:59

    ADS1158 MUXOUT、MUXOUTP、ADCINP和ADCINN这四个管脚什么作用呢?

    ADS1158 MUXOUT、MUXOUTP、ADCINP和ADCINN这四个管脚什么作用呢,如果我用单端5V供电,2.5V基准源,是否要按照datasheet里那种用运放的接法吗?
    发表于 01-01 06:39

    TLV5614的四个通道输出电压都大堆杂波,请问是芯片的问题吗?

    最近用TLV5614芯片,他的四个通道输出电压都大堆杂波,请问是芯片的问题吗?
    发表于 12-26 08:22