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

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

3天内不再提示

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

英特尔物联网 来源:英特尔物联网 2023-09-07 17:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

2743e0ca-4d5c-11ee-a25d-92fbcf53809c.png

1.1

什么是 HALCON

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

  • 受益于灵活的软件架构

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

  • 保证快速进入市场

  • 持续地降低成本

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

官网链接:

https://www.mvtec.com/

2750be3a-4d5c-11ee-a25d-92fbcf53809c.png

图片引用自:

https://www.mvtec.com/cn/products/HALCON/why-HALCON/compatibility

1.2

什么是OpenVINO

OpenVINO 是一个用于优化和部署人工智能AI)推理的开源工具平台。

2776880e-4d5c-11ee-a25d-92fbcf53809c.png

1.3

安装 HALCON 和 OpenVINO

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

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

27d9a196-4d5c-11ee-a25d-92fbcf53809c.png

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

1.3.1

安装 HALCON

官网注册

登录 MVTec 官网 HALCON 软件下载页面(目前 HALCON 的最新版本是 23.05 Progress)

https://www.mvtec.com/downloads/halcon, 如果没有注册过 MVTec 用户账号,需要先进行注册个人或企业账号。(请注意此处需要使用公司邮箱注册,qq 邮箱、163 邮箱等私人邮箱会注册失败)

下载并解压

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

28772146-4d5c-11ee-a25d-92fbcf53809c.png

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

安装设置

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

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

289702ea-4d5c-11ee-a25d-92fbcf53809c.png

28a939c4-4d5c-11ee-a25d-92fbcf53809c.png

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

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

28d7ceba-4d5c-11ee-a25d-92fbcf53809c.png

加载 license 文件

291d1b14-4d5c-11ee-a25d-92fbcf53809c.png

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

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

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

1.3.2

安装 OpenVINO 2021.4 LTS

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

292c5912-4d5c-11ee-a25d-92fbcf53809c.png

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

第一步,运行:

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

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

295ceae6-4d5c-11ee-a25d-92fbcf53809c.png

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

298a9ad6-4d5c-11ee-a25d-92fbcf53809c.png

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

1.4

编写 HALCON AI 推理程序

1.4.1

HALCON AI 推理程序工作流程

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

1. 读取已训练完成的深度学习模型:

* Read in the retrained model.
read_dl_model (RetrainedModelFileName, DLModelHandle)

2. 设置深度学习模型参数:

* Set the batch size.
set_dl_model_param (DLModelHandle, 'batch_size', BatchSizeInference)
* Initialize the model for inference.
set_dl_model_param (DLModelHandle, 'device', DLDevice)

3. 导入数据集预处理的参数:

* Get the parameters used for preprocessing.
read_dict (PreprocessParamFileName, [], [], DLPreprocessParam)

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

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

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

* Preprocess the DLSampleBatch.
preprocess_dl_samples (DLSampleBatch, DLPreprocessParam)

6. 执行深度学习推理:

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

1.4.2

HALCON AI 加速器接口 (AI²)

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

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

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

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

1.4.3

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

本文中,我们使用的是基于 HALCON 的深度学习图像分类的官方范例程序。

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

https://www.mvtec.com/cn/technologies/deep-learning/ai-accelerator-interface

下载后将该程序保存至 HALCON 范例程序指定的文件路径中:

%HALCONEXAMPLES%/hdevelop/Deep-Learning/Classification/。

默认情况下,由于推理需要加载已经过训练的深度学习模型,所以需要使用 HALCON 的开发环境 Hdevelop 依次先运行该路径下的范例程序,从而可以完成训练并保存模型:

  • classify_pill_defects_deep_learning_1_preprocess.hdev

  • classify_pill_defects_deep_learning_2_train.hdev

接着打开下载的范例并运行(或按 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,如下所示。

29df16ce-4d5c-11ee-a25d-92fbcf53809c.png

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

* The device parameter 'type' can be used for further selection.
* It states the OpenVINO plugin responsible for handling the
* device. Depending on your OpenVINO installation, possible values
* are e.g. 'CPU', 'GPU', 'HDDL', and 'MYRIAD'. If you did not install
* OpenVINO, HALCON will install the 'CPU' plugin.
OpenVINODeviceType := 'GPU'

继续运行程序,会针对 GPU 的不同浮点精度做推理优化,得到经过 OpenVINO 加速优化的推理模型。

* To convert the model to 'float16'/'float32' precision, no samples have to be provided to
* optimize_dl_model_for_inference.
* No additional conversion parameters are required, so use the default parameters.
get_dl_device_param (DLDeviceHandleOpenVINO, 'optimize_for_inference_params', OptimizeForInferenceParams)
optimize_dl_model_for_inference (DLModelHandle, DLDeviceHandleOpenVINO, 'float32', [], OptimizeForInferenceParams, DLModelHandleOpenVINO, ConversionReport)

在可视化窗口会展示 CPU 和 GPU 分别在 FP32 和 FP16 下的性能比对,包括推理时间和 Top-1 错误率。

2a22f786-4d5c-11ee-a25d-92fbcf53809c.png

至此,OpenVINO 的配置测试已基本完成,接着就是执行深度学习的推理,在可视化窗口里可以看到对于推理步骤的图示和文字解释,其中会再次展示所使用的推理设备,即英特尔的独立显卡信息。

2a84ec8e-4d5c-11ee-a25d-92fbcf53809c.png

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

2ac5b69c-4d5c-11ee-a25d-92fbcf53809c.png

1.5

总结

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

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


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

    关注

    61

    文章

    10275

    浏览量

    179311
  • 加速器
    +关注

    关注

    2

    文章

    836

    浏览量

    39712
  • 深度学习
    +关注

    关注

    73

    文章

    5590

    浏览量

    123907

原文标题:使用 MVTec HALCON AI 加速器接口在英特尔独立显卡上加速 AI 推理|开发者实战

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    边缘计算中的AI加速器类型与应用

    人工智能正在推动对更快速、更智能、更高效计算的需求。然而,随着每秒产生海量数据,将所有数据发送至云端处理已变得不切实际。这正是边缘计算中AI加速器变得不可或缺的原因。这种专用硬件能够直接在边缘设备
    的头像 发表于 11-06 13:42 424次阅读
    边缘计算中的<b class='flag-5'>AI</b><b class='flag-5'>加速器</b>类型与应用

    发力图形工作站和AI推理市场,英特尔大显存GPU亮相湾芯展

    英特尔发布了面向专业的锐炫Pro B50和B60。这两款显卡比较RTX2000和5660Ti,有哪些性能上的优势?支持AI推理工作站和大模
    的头像 发表于 10-22 13:40 1.1w次阅读
    发力图形工作站和<b class='flag-5'>AI</b><b class='flag-5'>推理</b>市场,<b class='flag-5'>英特尔</b>大显存GPU亮相湾芯展

    英特尔Gaudi 2E AI加速器为DeepSeek-V3.1提供加速支持

    英特尔® Gaudi 2EAI加速器现已为DeepSeek-V3.1提供深度优化支持。凭借出色的性能和成本效益,英特尔Gaudi 2E以更低的投入、更高的效率,实现从模型训练的深度突破到推理
    的头像 发表于 08-26 19:18 2582次阅读
    <b class='flag-5'>英特尔</b>Gaudi 2E <b class='flag-5'>AI</b><b class='flag-5'>加速器</b>为DeepSeek-V3.1提供<b class='flag-5'>加速</b>支持

    主控CPU全能选手,英特尔至强6助力AI系统高效运转

    有什么特殊之处呢? AI加速系统为何看重CPU主控能力? 作为造价极高的AI加速系统,DGX B300可以不计成本地选任何CPU,只要它能充分的发挥整套系统的性能。选择
    的头像 发表于 06-27 11:44 605次阅读
    主控CPU全能选手,<b class='flag-5'>英特尔</b>至强6助力<b class='flag-5'>AI</b>系统高效运转

    英特尔发布边缘AI控制与边缘智算一体机,创造“AI新视界”

    处理的边缘 AI 控制 和 基于英特尔锐炫 ™ 显卡的边缘智算一体机 ,为工业AI的规模化落
    发表于 06-24 17:50 1391次阅读
    <b class='flag-5'>英特尔</b>发布边缘<b class='flag-5'>AI</b>控制<b class='flag-5'>器</b>与边缘智算一体机,创造“<b class='flag-5'>AI</b>新视界”

    直击Computex 2025:英特尔重磅发布新一代GPU,图形和AI性能跃升3.4倍

    电子发烧友原创  章鹰 5月19日,Computex 2025英特尔发布了最新全新图形处理(GPU)和AI
    的头像 发表于 05-21 00:57 6967次阅读
    直击Computex 2025:<b class='flag-5'>英特尔</b>重磅发布新一代GPU,图形和<b class='flag-5'>AI</b>性能跃升3.4倍

    直击Computex2025:英特尔重磅发布新一代GPU,图形和AI性能跃升3.4倍

    5月19日,Computex 2025英特尔发布了最新全新图形处理(GPU)和AI加速器
    的头像 发表于 05-20 12:27 5160次阅读
    直击Computex2025:<b class='flag-5'>英特尔</b>重磅发布新一代GPU,图形和<b class='flag-5'>AI</b>性能跃升3.4倍

    英特尔发布全新GPU,AI和工作站迎来新选择

    英特尔推出面向准专业用户和AI开发者的英特尔锐炫Pro GPU系列,发布英特尔® Gaudi 3 AI
    发表于 05-20 11:03 1668次阅读

    Intel-Altera FPGA:通信行业的加速引擎,开启高速互联新时代

    地位。Intel-Altera FPGA的独立运营标志着英特尔战略重心的转移,同时也为FPGA业务开辟了新的增长路径。未来,Altera需技术创新与市场拓展间找到平衡,以应对日益激烈的行业竞争。
    发表于 04-25 10:19

    英特尔借助开放生态系统,加速边缘AI创新

    的集成,这些解决方案精简并加速AI边缘的应用,包括零售、制造、智慧城市、媒体和娱乐等行业的部署。 英特尔公司副总裁兼边缘计算事业部总经
    发表于 03-21 11:31 302次阅读
    <b class='flag-5'>英特尔</b>借助开放生态系统,<b class='flag-5'>加速</b>边缘<b class='flag-5'>AI</b>创新

    英特尔®独立显卡与OpenVINO™工具套件结合使用时,无法运行推理怎么解决?

    使用英特尔®独立显卡与OpenVINO™工具套件时无法运行推理
    发表于 03-05 06:56

    英特尔酷睿Ultra AI PC用NPU部署YOLOv11与YOLOv12

    最新的英特尔 酷睿 Ultra 处理(第二代)让我们能够在台式机、移动设备和边缘中实现大多数 AI 体验,将 AI 加速提升到新水平,
    的头像 发表于 03-03 15:32 2576次阅读
    <b class='flag-5'>在</b><b class='flag-5'>英特尔</b>酷睿Ultra <b class='flag-5'>AI</b> PC<b class='flag-5'>上</b>用NPU部署YOLOv11与YOLOv12

    英特尔Gaudi 2D AI加速器助力DeepSeek Janus Pro模型性能提升

    Pro模型进行了深度优化。 这一优化举措使得AI开发者能够以更低的成本和更高的效率实现复杂任务的部署与优化。英特尔Gaudi 2D AI加速器通过其卓越的计算能力和高度优化的软件栈,
    的头像 发表于 02-10 11:10 929次阅读

    DeepSeek发布Janus Pro模型,英特尔Gaudi 2D AI加速器优化支持

    Gaudi 2D AI加速器现已针对该模型进行了全面优化。这一优化举措使得AI开发者能够更轻松地实现复杂任务的部署与优化,从而有效满足行业应用对于推理算力的迫切需求。
    的头像 发表于 02-08 14:35 914次阅读

    使用英特尔AI PC为YOLO模型训练加速

    之后,情况有了新的变化,PyTorch2.5正式开始支持英特尔显卡,也就是说,此后我们能够借助英特尔 锐炫 显卡来进行模型训练了。
    的头像 发表于 12-09 16:14 2109次阅读
    使用<b class='flag-5'>英特尔</b><b class='flag-5'>AI</b> PC为YOLO模型训练<b class='flag-5'>加速</b>