十二月 14, 2018 | Developers Corner

在嵌入式主板 Jetson TX2 上使用 HALCON 训练深度学习分类器

了解如何在 PC 和嵌入式 Jetson TX2 板上使用 HALCON 训练深度学习分类器,从图像采集到模型训练与推理,实现高效的机器视觉应用。

深度学习技术实现了多种多样的机器视觉应用。基于这些技术,MVTec 在 HALCON 和 MERLIC 中提供了各种算子和工具,通常是与嵌入式主板和平台结合使用(有关更多信息,请参见嵌入式视觉部分)。

在本文中,我们介绍了如何在装有嵌入式主板 NVIDIA Jetson TX2 和 Basler GigEVision 相机的标准 PC 上使用 HALCON 训练深度学习分类器。

前提条件

为此,我们设置了以下技术组件:

• 配备强大 NVIDIA GPU 并安装 HALCON 17.12 或以上版本的标准 PC。

• 配备 NVIDIA GPU 和 HALCON 17.12 或以上版本的系统(对于基于 Arm 的 x64 系统,使用 NVIDIA Jetson TX2 + 电源和 HALCON 17.12)。

• 2 个 HALCON 加密锁(具体取决于是否需要在不同系统之间切换加密锁) 为了设置一个实时系统,而不仅是处理离线图像,还需要以下设备。括号内是我们使用的设备。

• GigEVision 相机 (Basler ace acA1300-30gc ICX445)

• 镜头(6 mm,V.S.Technologies SV-0614 (B1211)、0.5 mm 定距环、用于避免镜面反射的偏光滤镜)

• 光源设置(EFFI-Ring,包括用于避免镜面反射的偏光滤镜)

• Stativ 系统(Newport 光电机械安装套件)

• 其他用于识别的部分(NVIDIA Jetson TX2、Raspberry Pi 3、背景和手) 为了便于操作,我们用一个开关将相机连接到 PC 和 NVIDIA Jetson。否则切换系统时必须拔插相机。如果不想为相机使用外部电源,需要 PoE 相机和有源开关。
 

采集图像

如果从零开始,使用深度学习技术需要数百万张图像。借助 HALCON 预训练的深度学习网络,每个类别只需要大约 400 张图像。为了快速轻松地采集数据,我们开发了一个简单的记录脚本,可以在本网站下载。请注意,执行此脚本需要一些外部程序。您可以在本网站底部的完整下载包中找到这些程序。

如果按下鼠标按键,从相机抓取的图像会存储在 HDD 的正确文件夹结构中(./images/XXXX/imgNNNN,其中 XXXX 是类别名称,NNNN 是序号)。您可以配置脚本来适应想要区分的物体。 请确保连接相机的网络接口卡已激活 Jumbo Frames。在基于 Linux 的系统上,可以通过输入以下命令来激活:udo ifconfig eth0 mtu 1492

图像采集规则:

• 确保物体覆盖大部分图像。如果将背景作为类别之一,这一点尤其重要。

• 如未对图像进行预处理,分类器会使用包括背景在内的完整图像内容。因此,应确保物体本身覆盖了图像的较大部分。否则分类器可能训练的是背景而不是物体的外观。

• 提供目标应用中可能出现的物体的每个角度。

• 检查物体在 224x224 的目标尺寸上是否可以区分。如果不能,可以考虑将图像分割成更小的部分并对其执行推断。这需要将单个决策合并为最终决策。 我们的系统是在 PC 上执行训练图像的采集,因为训练本身也是在这里执行。基本上,采集在嵌入式主板上还是 PC 上进行都没有关系,只要使用相同的设置进行训练和网络实时推断即可。当然也可以在嵌入式主板上采集数据,然后传输到 PC 进行下一步操作。

请注意:为了便于操作,脚本会将实时视图中显示的图像裁剪到没有红色覆盖的地方。

训练模型

基本上,训练在两个平台上都可以进行。但是,我们强烈建议您在性能更好的系统(此例中为 PC)上进行此操作,因为训练可能需要一些时间,具体取决于配置,例如所用的批次大小和所用的硬件。脚本会读取训练图像并为训练做准备,主要是将图像大小调整为 225x225。也可以通过称为“强化”的过程自动更改给定的训练集。对应的便捷程序 augment_images 可以通过旋转、裁剪、镜像以及局部或全局亮度变化来自动更改图像内容。

可以通过脚本提供的图形来检查训练过程。训练和验证误差使用的值应从较大的值开始,然后在迭代过程中减小。训练收敛之后,会将分类器写入磁盘,以便必要时将其传输到目标平台。

传输模型

上一步中脚本创建的 *.hdl 文件可以从 PC 传输到 Jetson TX2。这一步使用网络连接和 WinSCP 等传输软件,或者直接使用 U 盘都可以轻松完成。

执行推断

完成上述所有步骤后,该系统即可投入使用。最后一个脚本非常简单:从相机中抓取图像,应用深度学习网络,然后显示结果。除了推断结果外,输出还应与采集脚本的输出接近。 为了便于处理,可以使用 SSH 客户端,例如 PuTTY。这样就可以在 PC 上显示 Jetson 的输出。请确保已启用 X11 转发并在 PC 上启动了 X-server,以便在远程平台上显示脚本的图形输出。此外,请确保激活 Jetson 的高性能模式。在我们使用的开发系统上,可以执行脚本 jetson_clocks.sh 以使用所有可用核心。如果此模式激活,可以看到 CPU 风扇旋转。

下载完整源代码

发布日期: 十二月 14, 2018

更多新闻

MVTec MERLIC 26.03 现已上市
借助 MERLIC 26.03,机器视觉应用的开发与运行将变得更加一致且更具可扩展性。该版本引入了统一的 MVTec 版本命名格式(YY.MM),并提供了更简化的、基于软件包的许可模式,同时支持灵活的附加组件。…
了解更多
MERLIC
新版深度学习工具显著提升了 Deep OCR 的性能
凭借 Deep OCR 对齐功能及其他改进,深度学习工具 26.03 提升了 OCR 应用的速度和效率。新模型、优化后的训练以及对 CUDA 12.8 的支持,在降低内存占用量的同时带来了更高的性能。
了解更多
深度学习工具
MVTec Academy 新课程:马赛克拼接——使用 HALCON 进行图像拼接
本基础培训将向您介绍HALCON中的拼接技术。本课程将向您展示如何将多张图像组合成一张大型拼接图像。因此,借助这项技术,您可以生成物体或场景的大幅图像,而这些内容原本无法完全纳入单个摄像头的视野范围内。…
了解更多
Academy
HALCON
使用 HALCON 进行并行编程
本高级培训将向您介绍使用 HALCON 进行并行编程的概念。通过应用并行编程,您可以优化 HALCON 程序的性能,并充分利用多核或多处理器硬件的优势。
了解更多
Academy
HALCON
MVTec 软件管理器 1.6.5:中国地区下载速度全面提升
为提升中国地区用户的软件下载性能,MVTec 现已提供专用的代理缓存服务器。通过 MVTec Software Manager 进行的软件下载将变得更加快速和稳定。
了解更多
MVTec
HDevelopEVO 预览版:最新更新现已推出
更快、更直观且更具交互性的编程体验:所有 HALCON 用户现在均可下载全新的 IDE 预览版。
了解更多
HALCON
MVTec License Server 25.12 新版本发布
借助 MVTec License Server Cloud-Ready 25.12,HALCON 许可证可以借用,从而在网络中断或离线情况下仍可运行。
了解更多
MVTec
MVTec 深度学习工具 25.12 现已发布
2025 年 12 月 04 日,我们发布了 MVTec 深度学习工具的新版本 25.12,从而进一步发展了我们基于人工智能的机器视觉产品组合。
了解更多
深度学习工具
MVTec Academy 全新课程:《图像采集:适用于现代相机技术的接口》
本培训课程将向你介绍 HALCON 中新增的图像采集算子。通过实践练习,你将学习必要的技术术语和概念,并进一步加深理解。
了解更多
Academy
HALCON
HALCON 25.11 现已上市
新版本的 MVTec HALCON 现已可供下载。此次版本再次带来了多项优化与全新功能,其中包括全新的 持续学习(Continual Learning)– 分类 技术,使分类模型的训练与更新过程更加快速、灵活。
了解更多
HALCON
MVTec 线上学院新课程 "通过语言接口进行代码集成"
本高级课程讲解如何在使用 C、C++、C#、Visual Basic .NET 和 Python 编写的软件项目中集成并使用 HALCON 库。
了解更多
Academy
HALCON
MVTec Academy 新课程:使用 GigE Vision 进行图像采集
本高级课程深入讲解如何在 HALCON 中使用 GigE Vision 相机。
了解更多
Academy
HALCON
MVTec MERLIC 5.8 现已上市
MVTec MERLIC 5.8 让视觉应用的开发和运行比以往更加简单,具有改进的错误处理、集中式配方管理以及更快速、更灵活的部署。
了解更多
MERLIC
MVTec Academy 新课程:手眼标定
在本高级课程中,您将学习如何使用 HALCON 进行手眼标定。
了解更多
Academy
HALCON
MVTec License Server 25.08 新版本发布
本次更新使 License Server 更容易作为 Windows 系统服务运行,并提供了更便捷的文档访问。
了解更多
MVTec
新MVTec学院课程“检查条码和2D数据码的打印质量”
在本高级培训课程中,您将学习如何使用HALCON和MERLIC对条码和数据码进行打印质量检测。
了解更多
Academy
HALCON
MERLIC
新MVTec学院课程“缺陷检测”
本基础培训将向您介绍使用MVTec HALCON进行缺陷检测。您将学习不同的方法以及在开发缺陷检测应用程序时需要考虑的因素。随后,您将使用不同方法解决一些具有挑战性的应用案例。
了解更多
Academy
HALCON
MVTec HALCON software box with surfer – new version
HALCON 25.05 现已上市
新版本的 MVTec HALCON 现已可供下载。 HALCON 25.05 引入了形状匹配扩展参数估计的第一次迭代。在此版本中,MVTec 专注于提高 HALCON 的易用性和基于规则的机器视觉。
了解更多
HALCON
MVTec Academy 新课程:“为 MERLIC 开发自定义工具”
本高级培训将向您介绍如何为MERLIC开发自定义工具,以扩展现有的MERLIC工具库。
了解更多
Academy
MERLIC
MVTec 深度学习工具 25.04 现已发布
2025 年 4 月 30 日,我们发布了 MVTec 深度学习工具的新版本 25.04,从而进一步发展了我们基于人工智能的机器视觉产品组合。
了解更多
深度学习工具
MVTec MERLIC 5.7 现已上市
借助新版本 MERLIC 5.7,MVTec 延续了 MERLIC 的既定路线——轻松的流程集成与强大的机器视觉方法相结合。新版本 提高了 MERLIC 运行环境(RTE) 的可用性,并优化了通信接口的操作。
了解更多
MERLIC
全新 MVTec Academy 课程:学习全球上下文异常检测
高级在线课程讲解如何准备数据、训练和应用 MVTec 全球上下文异常检测模型。
了解更多
Academy
HALCON
MERLIC
任务完成:MVTec 圣诞问答活动!
随着我们的圣诞问答活动圆满结束,我们很高兴与大家分享精彩的结果!
了解更多
MVTec
MVTec Software