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

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

3天内不再提示

在英特尔独立显卡上加速HALCON AI模型推理

英特尔物联网 来源:英特尔物联网 2023-12-16 10:18 次阅读

作者:张佳骥MVTec售前工程师

张 晶 英特尔 AI 开发者市场部经理

01什么是HALCON

MVTec HALCON 是一款在全球范围内使用,综合性的机器视觉标准软件。它有一个专门的集成开发环境(HDevelop),专门用于开发图像处理解决方案。使用 MVTec HALCON,您可以:

受益于灵活的软件架构

加快所有可行的机器视觉应用发展

保证快速进入市场

持续地降低成本

作为一个综合工具箱,HALCON 涵盖了机器视觉应用的整个工作流程。其核心是灵活而强大的图像处理库,其中有 2100 多个算子。HALCON 适用于所有行业,并为图像处理提供卓越性能。

ff739c46-9b41-11ee-8b88-92fbcf53809c.png

02什么是 OpenVINO 工具套件

OpenVINO工具套件:一款可轻松实现“一次开发,任意部署”的,用于AI模型优化和部署的开源工具套件。

提高计算机视觉、自动语音识别、自然语言处理和其他常见任务的深度学习性能

使用经过TensorFlow、PyTorch、PaddlePaddle等流行框架训练的模型

减少资源需求,并在从边缘到云的一系列英特尔平台上高效部署

ff8da6c2-9b41-11ee-8b88-92fbcf53809c.png

03安装 HALCON 和 OpenVINO

从 21.05 版本开始,HALCON 通过全新 HALCON AI加速器接口 (AI²),支持 OpenVINO 工具套件,从而支持 AI 模型在英特尔的硬件设备上实现推理计算加速。

HALCON通过全新 HALCON AI 加速器接口 (AI²):

当前 HALCON 的 AI 模型对英特尔的硬件设备支持,如下表所示:

ffb20af8-9b41-11ee-8b88-92fbcf53809c.png

要实现使用 HALCON AI加速器接口在英特尔硬件设备上加速 AI 推理计算,只需要一次安装 HALCON 和 OpenVINO,然后编写 HALCON AI 推理程序即可。

3.1安装 HALCON

官网注册

登录 MVTec 官网 HALCON 软件下载页面(目前 HALCON 的最新版本是 23.11 Progress),如果没有注册过 MVTec 用户账号,需要先进行注册个人或企业账号。(请注意此处需要使用公司邮箱注册,其他私人邮箱会注册失败)。也可以查看下面的网页,了解最新版本的更新信息:HALCON 23.11 新功能: MVTec Software。

下载并解压

在官网下载完整版的安装包(需要登陆账号),下载 HALCON: MVTec Software。可以选择产品的版本和操作系统,此处以 Windows 平台的最新版本 23.11 progress 为例。点击图中链接会自动开始下载,可自行使用工具加速。

ffd4e924-9b41-11ee-8b88-92fbcf53809c.png

下载完成后,解压缩完成,打开对应的文件夹,点击 som.exe 文件,启动 SOM(Software Manager)。

安装设置

SOM 会使用默认浏览器打开安装界面,如果打开界面后未出现可选安装项目,建议重启电脑再次打开 som.exe。

可以点击“语言” 按钮切换界面语言, 点击“环境” 按钮修改一些设置,如程序和数据安装路径,仓库地址等等,一般使用默认值最好。

fff14844-9b41-11ee-8b88-92fbcf53809c.png

然后选择“可获得的”页面,找到安装包,点击“安装”按钮, 上方按钮是为当前用户安装,下方是为所有用户安装(需要系统管理员权限),一般点选上方按钮。

fffb582a-9b41-11ee-8b88-92fbcf53809c.png

设备空间足够的话(15G 以上),建议右侧全选,全部安装;点击后等待安装结束即可。

000bd362-9b42-11ee-8b88-92fbcf53809c.png

加载 license 文件

001f54be-9b42-11ee-8b88-92fbcf53809c.png

HALCON 软件的运行还需要对应的 license 加密文件,可以向 MVTec 官方购买正式版或者申请试用版。

然后,可以直接在 SOM 界面中加载 license 文件,点击上图中的红色按钮,可以打开下方界面进行 license 文件的安装和管理,将 license 文件直接拖入即可。

最后,在 Windows 桌面上找到 HALCON 集成开发环境 HDevelop 软件图标,即可正常使用 HALCON。

3.2安装 OpenVINO 2021.4 LTS

请到 OpenVINO 官网下载并安装 OpenVINO 2021.4.2,如下图所示。

0030f728-9b42-11ee-8b88-92fbcf53809c.png

安装完毕后,请将 OpenVINO 运行时库的路径添加到 Windows 的环境变量 path中。

第一步,运行:

C:Program Files (x86)Intelopenvino_2021.4.752insetupvars.bat
path

左滑查看更多

获取 OpenVINO 运行时库的路径,如下图所示:

0054e516-9b42-11ee-8b88-92fbcf53809c.png

第二步,将 OpenVINO 运行时库的路径添加到环境变量 path中,如下图所示:

006fb134-9b42-11ee-8b88-92fbcf53809c.png

到此,下载并安装 OpenVINO,然后将 OpenVINO 运行时库的路径添加到 Windows 环境变量 path 中的工作全部完成。

注意:若您电脑所使用的 CPU 包含了集成显卡,请在 BIOS 中把集成显卡禁用掉。

04编写 HALCON AI推理程序

4.1HALCON AI推理程序工作流程

关于 HALCON AI 推理程序工作流程,以 HALCON 的深度学习图像分类为例,程序代码为 HALCON 集成开发环境 HDevelop 的开发语言。

1. 读取已训练完成的深度学习模型和预处理参数:

* Read in the model and Param.
read_dl_model (RetrainedModelFileName, DLModelHandle)
read_dict (PreprocessParamFileName, [], [], DLPreprocessParam)

左滑查看更多

2. 导入推理图像并生成深度学习样本:

* Read the images of the batch.
read_image (ImageBatch, Batch)
* Generate the DLSampleBatch.
gen_dl_samples_from_images (ImageBatch, DLSampleB atch)

左滑查看更多

3. 对深度学习样本进行预处理以匹配模型:

* Preprocess the DLSampleBatch.
preprocess_dl_samples (DLSampleBatch, DLPreprocessParam)

左滑查看更多

4. 执行深度学习推理:

* Apply the DL model on the DLSampleBatch.
apply_dl_model (DLModelHandle, DLSampleBatch, [], DLResultBatch)

左滑查看更多

5. 处理结果数据:

get_dict_tuple (DLResult, 'bbox_length2', BboxLength2)
get_dict_tuple (DLResult, 'bbox_phi', BboxPhi)
get_dict_tuple (DLResult, 'bbox_class_id', BboxClasses)

左滑查看更多

6. 显示结果

dev_display (RectangleSelected)
dev_disp_text (TextResults, 'window', 'top', 'left', BboxColorsResults, 'box', 'false') 

左滑查看更多

4.2HALCON AI 加速器接口(AI²)

MVTec的OpenVINO工具套件插件基于全新 HALCON AI 加速器接口(AI²)。通过这一通用接口,客户可以快速方便地将支持的 AI 加速器硬件用于深度学习应用的推理环节。

这些特殊设备不仅在嵌入式环境中得到广泛应用,也越来越多地出现在 PC 环境中。AI 加速器接口从特定硬件中抽象出深度学习模型,因而特别能够适应未来发展。

MVTec 作为机器视觉软件的技术领导者,其软件可以在工业物联网环境中,通过使用 3D 视觉、深度学习和嵌入式视觉等现代技术,实现新的自动化解决方案。

除 MVTec 提供的插件外,还可以集成客户特定的 AI 加速器硬件。此外,不仅典型深度学习应用可以通过 AI² 加速,所有集成深度学习功能的“经典”机器视觉方法,例如 HALCON 的 Deep OCR,也能从中受益。

4.3使用 DLT 工具

进行深度学习模型的数据标注和训练

DeepLearningTool(DLT)是 MVTec 推出的一款用于深度学习标注和训练的免费工具。使用深度学习工具,您可以凭借直观的用户界面轻松地标记数据,而无需任何编程知识。可以将这些数据无缝集成到 HALCON 中,以执行基于深度学习的物体检测,分类,语义分割,实力分割,异常值检测以及 Deep OCR。

以下是我们使用DLT进行例程中模型标注和训练的视频

4.4HALCON基于 OpenVINO 的 AI 推理范例程序

本文中,我们使用的是基于 HALCON 的深度学习对象检测的官方范例程序。

本文中所使用的基于 OpenVINO 的 HALCON 范例代码已分享到MVTec 官网,网址为:

下载后将该程序保存至任意路径下。

如果推理需要加载重新训练的深度学习模型和预训练参数,需要使用 HALCON 的开发环境 Hdevelop 先运行官方路径

%HALCONEXAMPLES%/hdevelop/Deep-Learning/Detection/

的范例程序,从而可以完成训练并保存模型:

dl_detection_with_orientation_workflow.hdev

等待训练和测试程序运行完成后,会在相应路径下保存训练好的模型(model_best.hdl)和图片预处理的参数(DLPreParam.hdict),可以去替换范例程序里的文件。

打开下载好的示例程序,本地路径下对应的模型和预处理参数,如以下代码所示:

RetrainedModelFileName:='model_best.hdl'
PreprocessParamFileName:='DLPreParam.hdict'

左滑查看更多

例程中用到的演示图片是 HALCON数据集中的screws 文件夹,如果 HALCON 安装正确的话,是在 HALCONEXAMPLES 路径中的,直接使用下面代码可以找到。

list_image_files ('screws', 'default', [], ImageFiles)

左滑查看更多

接着运行范例(或按 F5),首先需要查询 HALCON 所支持的 OpenVINO 设备:

* This example needs the HALCON AI²-interface for the Intel Distribution of the OpenVINO Toolkit * and a installed version of the Intel Distribution of the OpenVINO Toolkit.
query_available_dl_devices ('ai_accelerator_interface', 'openvino', DLDeviceHandlesOpenVINO)

左滑查看更多

之后,继续执行程序,在可视化界面会依次显示所有查询到的 OpenVINO 设备信息,包括本文所需使用的英特尔 Arc A770 独立显卡,这里我们看到支持的推理精度有 FP32 和 FP16,如下所示。

00ac6bd8-9b42-11ee-8b88-92fbcf53809c.png

然后,需要选择 OpenVINO 设备,目前 HALCON AI²接口所支持的 OpenVINO 设备包括英特尔的CPU,GPU,HDDL 以及 MYRIAD。在安装 HALCON 时,只内置安装了 CPU 插件,需要额外安装 OpenVINO 工具套件来支持 GPU 等其他设备,具体安装参考章节 1.3.2。这里我们指定 OpenVINO 运行设备为“GPU”,即英特尔的独立显卡,如果要选择其他 OpenVINO 设备,可以修改设备序号以选择对不同的设备通道。

* Choose a OpenVINO device
DLDeviceOpen :=DLDeviceHandlesOpenVINO[3]
set_dl_model_param (DLModelHandle, 'device', DLDeviceOpen)

左滑查看更多

此处程序,会针对设备做推理优化,得到经过 OpenVINO 加速优化的推理模型。如果没有额外设置,精度上使用的是默认的 float32。

本次例程没有使用 C# 或者 C++ 来联合编程和编写界面,全部在 HALCON 中完成;需要按照例程中的说明文字调节下 HDevelop 中调节下窗口显示;确认调节完成后再次按下 F5,例程循环运行至结束。

得到的显示界面和结果如下图所示:

00d08acc-9b42-11ee-8b88-92fbcf53809c.png

图片中可以看到算法准确地找到了 背景上物体地位置和方向,也标注了对应地类别。在结果显示地部分可以看到检测地数据结果,比如每个类别的得分,种类,详细的坐标和角度。同事在图片的右上角中,可以看到使用 OpenVINO 加速后的算法运行速度,每张图片的算法运行时间在 15~19ms 左右;基本能够满足高节拍生成的需求。

此外,例程中为了增强演示效果,在某些图片处理结果后增加了等待延时,主要是用于显示。

推理的工作流程可以参考 4.1 章节,在执行推理的同时,可以打开任务管理器,观察英特尔独立显卡的运行状态。范例中,默认使用 FP32 精度加速推理,也可以根据具体需要切换成 FP16 精度进行对比测试。

0107d298-9b42-11ee-8b88-92fbcf53809c.png

在英特尔A380显卡上,也有明显的加速性能

0126699c-9b42-11ee-8b88-92fbcf53809c.jpg

05总结

MVTec HALCON AI 加速器接口(AI²)可帮助MVTec软件产品用户充分利用与 OpenVINO 工具套件兼容的 AI 加速器硬件。如此一来,对于关键工作负载,可以在英特尔计算设备上明显缩短深度学习推理时间。

由于支持硬件范围得到扩展,用户现在可以充分利用各种英特尔设备的性能来加速深度学习应用,不再局限于少数特定设备。同时,这种集成可以无缝进行,不受特定硬件细节约束。现在只需更改参数,即可在OpenVINO 工具套件支持的设备上执行现有深度学习应用的推理过程。

审核编辑:汤梓红

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

    关注

    60

    文章

    9421

    浏览量

    168830
  • 显卡
    +关注

    关注

    16

    文章

    2357

    浏览量

    65855
  • AI
    AI
    +关注

    关注

    87

    文章

    26443

    浏览量

    264061
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47687

原文标题:在英特尔独立显卡上加速 HALCON AI 模型推理 | 开发者实战

文章出处:【微信号:英特尔物联网,微信公众号:英特尔物联网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于C#和OpenVINO™在英特尔独立显卡上部署PP-TinyPose模型

    作者:英特尔物联网行业创新大使 杨雪锋 OpenVINO 2022.2版开始支持英特尔独立显卡,还能通过“累计吞吐量”同时启动集成显卡 +
    的头像 发表于 11-18 18:27 2022次阅读

    苹果微软AMD抛弃英特尔加入ARM阵营

    用的是MAX3232EUE+T英特尔的芯片,但这并不表示苹果在未来几年不会变换阵营。现在,越来越多的人转向智能手机和平板,组件开发中,移动设备成了领导角色。一位消息人士说,一些电脑任务现在需要独立的组件,苹果的目标是将它放在
    发表于 11-06 16:41

    宿敌相争 AMD向英特尔授权显卡芯片技术的可能性不大

    姿丰波士顿的AMD投资者会议拒绝正面回应关于向英特尔授权显卡芯片技术的传言,但明确表态她无意助竞争对手一臂之力——尽管并未“点名”提到英特尔
    发表于 05-27 16:12

    英特尔高清显卡4600帮助

    和NVIDIA GTX 960M。显示器的色温配置为R-75,G-75,B-75(每个的最大设置为100)。英特尔高清显卡4600可以选择“默认RGB”,“限制RGB”或“全RGB”。此外,还有一个启用或禁用
    发表于 10-26 14:53

    英特尔显卡控制面板无法打开

    你好我有一个问题英特尔高清显卡控制面板保持“初始化”但不会打开我该怎么办?以上来自于谷歌翻译以下为原文Hello i have a problem intel HD graphic card
    发表于 10-29 14:37

    启用英特尔Optane被视为“1.8TB硬盘+英特尔Optane”是什么原因?

    你好。当我英特尔RST中启用英特尔Optane,然后重新启动我的计算机时,Defraggler将加速驱动器看作只是一个硬盘驱动器,在任务管理器中,它将其视为“1.8TB硬盘+
    发表于 10-31 10:12

    为什么选择加入英特尔

    近日,加入英特尔已有3个月的明星芯片架构师Jim Keller接受了外媒VentureBeat的采访,采访中谈及了自己加入英特尔的始末和让其为之兴奋的新角色——英特尔公司技术、系统架
    发表于 07-25 07:31

    英特尔与微软并行计算取得了什么进展?

    英特尔和微软正在漫长的道路上一步步地走向他们所构想的蓝图,即为未来多核处理器设计新型并行编程模型。两个公司英特尔发展论坛发表了各自所取得
    发表于 07-31 06:39

    英特尔重点发布oneAPI v1.0,异构编程器到底是什么

    从现在开始就可以英特尔DevCloud for oneAPI对基于多种英特尔架构(包括英特尔至强®可扩展处理器、带集成
    发表于 10-26 13:51

    苹果放弃未来iPhone使用英特尔5G基带芯片 精选资料推荐

    腾讯科技讯,7 月 5 日据国外媒体报道,英特尔未来不会再向苹果的 iPhone 智能手机提供基带芯片了。英特尔刚刚确认,公司已经停止开发部分原本计划使用在苹果 iPhone 的 5G 通信基带
    发表于 07-23 06:20

    介绍英特尔®分布式OpenVINO™工具包

    性能。 英特尔®OpenlandOpen™管理软件包包括英特尔®深度学习部署工具包(英特尔®DLDT)。适用于Linux *的OpenVINO™工具包的英特尔®分发版:
    发表于 07-26 06:45

    压缩模型加速推理吗?

    你好我使用 STM32CUBE-AI v5.1.2 ApplicationTemplate 将简单的 CNN 导入到 STM32L462RCT我发现压缩模型推理时间没有影响。aiRun 程序
    发表于 01-29 06:24

    英特尔媒体加速器参考软件Linux版用户指南

    英特尔媒体加速器参考软件是用于数字标志、交互式白板(IWBs)和亭位使用模型的参考媒体播放器应用软件,它利用固定功能硬件加速来提高媒体流速、改进工作量平衡和资源利用,以及定制的图形处理
    发表于 08-04 06:34

    英特尔推出了英特尔锐炬Xe MAX独立显卡

    英特尔推出了英特尔锐炬 Xe MAX 独立显卡,该显卡专为轻薄型笔记本电脑设计,现已通过合作伙伴问世。
    的头像 发表于 11-01 12:15 8336次阅读

    使用MVTec HALCON AI加速器接口在英特尔独立显卡加速AI推理

    MVTec HALCON 是一款在全球范围内使用,综合性的机器视觉标准软件。它有一个专门的集成开发环境(HDevelop),专门用于开发图像处理解决方案。使用 MVTec HALCON,您可以:
    的头像 发表于 09-07 17:06 772次阅读
    使用MVTec <b class='flag-5'>HALCON</b> <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'>显卡</b>上<b class='flag-5'>加速</b><b class='flag-5'>AI</b><b class='flag-5'>推理</b>