使用深度学习

本节介绍深度学习工作流程,整体工作流程如下图所示。

deep learning workflow
  1. 准备工作:训练模型前需进行相关准备工作,如图像数据采集、工控机选型等。

  2. 训练模型:准备工作就绪后,即可利用准备好的数据在Mech-DLK中进行模型训练和验证。

  3. 配置并使用模型:模型训练完成后,需在Mech-Vision中对模型进行配置,然后在相关步骤中使用该模型完成相关任务。

  4. 迭代模型:在模型使用一段时间后,若发现该模型不能覆盖部分场景,需对模型进行迭代。

准备工作

准备工控机

使用Mech-DLK训练深度学习模型时,对工控机配置有一定的要求,建议满足以下要求。

加密狗授权版本

Pro-Run

Pro-Train/Standard

操作系统

Windows 10 及以上

CPU

Intel® Core™ i7-6700 及以上

内存

8 GB 及以上

16 GB 及以上

显卡

GeForce GTX 1660 及以上

GeForce RTX 3060 及以上

显卡驱动

驱动版本 472.50 及以上

Pro-Run 版本具有Mech-DLK SDK部署、标注、运行模式功能;Pro-Train 版本具有级联、标注、训练、验证以及Mech-DLK SDK部署功能;Standard 版本具有标注、训练、验证功能。

搭建图像采集工程

准备好工控机后,即可开始搭建图像采集工程。无需搭建专门的图像采集工程,使用根据实际业务需求搭建的视觉工程即可完成图像采集。

视觉工程搭建完成后,为了在运行工程时将图像保存至指定位置,需开启 数据保存 功能。

  1. 进入数据保存界面。在Mech-Vision工程配置区底部单击工程助手,然后单击 data storage icon ,进入数据保存界面。

  2. 开启数据保存功能。在数据保存界面中开启保存数据与参数

    turn on storage function
  3. 设置图像保存路径。在数据保存界面中设置文件位置,用于保存采集到的图像数据,一般情况下,需将图像数据保存至工程文件夹下的 data 文件夹中。

    set storage path

采集图像数据

视觉工程搭建并部署完成后,即可开始采集图像数据。

保证图像质量(采集前)

图像质量决定着模型的稳定程度,高质量的图像数据往往可以提高模型识别效果、预测的准确性。所以在图像数据采集前,需对相机的白平衡和 2D 曝光参数进行调整,并确保采集的图像是完整的、未被裁剪的。

调整白平衡

白平衡指的是在图像中校正不同光源条件下的颜色偏差,确保白色在图像中看起来是真实的白色。

如果使用颜色失真的 2D 图训练深度学习模型,其中的颜色偏差会被当做物体特征用于训练,从而影响后续模型表现。所以为了获得白平衡正常的图像数据,在采集数据前需调节白平衡,具体方法可参考 调节白平衡

调整曝光参数

模型训练时,图像中目标物体的各种特征都会被提取,如颜色信息、轮廓形状信息等。当图像出现过曝、过暗的情况时,上述特征信息会或多或少的丢失,导致模型训练时无法学习到关键信息,影响后续模型表现。所以为了获得高质量的图像数据,在采集数据前需调节相机曝光参数,具体方法可参考 调整相机曝光参数

保证图像数量(采集时)

图像数据采集时,需要采集足够数量的图像,并保证图像种类具有多样性,用于训练模型。需注意不同类型的工件有不同的图像采集数量要求。

为了保证采集的图像种类具有多样性,通常采用人工触发工程运行的方式来采集图像,每运行一次工程,需人为调整工件的位置和摆放方式。

刚性工件指的是在运动和受力后,形状和大小不变,且内部各点的相对位置不变的工件。

单击此处查看不同情况下刚性工件图像采集数量要求。
单品类工件 多品类(来料无混料)工件 多品类(来料有混料)工件 多面体工件

整齐来料时的图像采集数量

40~60 张

40~60 张

60~80 张

80~100 张

散乱来料时的图像采集图像数量

60~80 张

每种工件分别单独采集 40~60 张

100 张

100~120 张

同时需要注意,采集的刚性工件图像应该包含多个工位、并且包含不同朝向包含不同疏密程度体现不同高度包含不同光照情况

单击此处查看不同情况下麻袋类工件图像采集数量要求。
麻袋被装填满,且堆叠整齐 麻袋被装松散,且表面褶皱较多

图像采集数量

20 张

30 张

同时需要注意,采集的麻袋类工件图像应该包含不同种类/层数的麻袋体现麻袋的不同摆放/来料方式/垛型包含不同光照情况

单击此处查看不同情况下纸箱类工件图像采集数量要求。
单品类纸箱 多品类(混料)纸箱 散乱摆放的纸箱 特殊情形的纸箱(贴有胶带、标签,或绑有轧带)

图像采集数量

从最高层至空垛,共需采集 30 张图像。

每个类别的纸箱,需分别采集 20 张图像。

需采集 50 张图像。

若纸箱表面有图案,需采集 60 张图像;

若需区分纸箱类别,需采集 70 张图像。

50 张

同时需要注意,采集的纸箱类工件图像应该包含不同种类/层数的纸箱体现纸箱的不同摆放/来料方式/垛型包含不同光照情况

筛选图像(采集后)

图像数据采集完成后,需对图像进行筛选,剔除低质量图像,保留高质量图像,并保证图像种类多样性。

单击此处查看刚性工件、麻袋/纸箱类工件图像筛选要求。
哪些图像需被筛除 哪些图像需被保留

刚性工件

  • 过亮、过暗的图像

  • 抓取区域存在干扰因素的图像

  • 包含多个工位

  • 包含不同高度的工件

  • 体现工件不同的朝向

  • 体现不同的疏密程度

  • 包含不同的光照情况

纸箱、麻袋类工件

  • 过亮、过暗的图像

  • 有色差的图像

  • 重复的图像

  • 抓取区域存在干扰因素的图像

  • 包含不同种类的纸箱/麻袋

  • 包含不同层数的纸箱/麻袋

  • 体现纸箱/麻袋不同的摆放方式

  • 体现纸箱/麻袋不同的来料方式

  • 包含不同的光照情况

  • 包含不同的纸箱/麻袋垛型

训练模型

上述准备工作完成后,即可利用采集到的图像在Mech-DLK中训练模型,模型训练流程如下图所示。

model training workflow
  1. 新建工程:建立用于训练模型的工程。

  2. 选择算法:根据实际需求选择想要使用的深度学习算法模块。

  3. 导入图像:导入采集完成的图像数据,用于训练模型。

  4. 标注图像:对图像特征进行标注,提供模型训练所需的信息。

  5. 训练模型:利用选择好的深度学习算法模块,对标注完成的图像进行模型训练。

  6. 验证模型:模型训练完成后,对模型进行验证并查看模型效果。

  7. 导出模型:模型效果确认无误后,以模型包的形式导出模型至指定位置。

详细操作过程可参考 实例分割模型训练

配置并使用模型

获得模型包后,需在Mech-Vision中进行配置,然后在相关步骤中使用该模型包进行推理。详细操作过程可参考 深度学习模型包管理工具操作指南

迭代模型

在模型使用一段时间后,若发现模型不能覆盖某些场景,此时需对模型进行迭代。传统的方案是增加数据重新训练,但可能会降低整体识别准确率,同时花费时间较长。建议使用“模型微调”的方式对模型迭代,既能保持模型准确率,也能节省时间。详细操作过程可参考 深度学习模型迭代


上述流程完成后,可根据以下视频教程对实例分割模型训练与使用进行实践。

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。