训练神经网络

在所有视图都被正确标注并分成训练图像和测试图像后,神经网络训练按以下一般方式进行:

  1. 配置工具参数并启动训练。按大脑图标训练工具。对于图像集中将用于训练的每个图像(在训练集对话框中定义),在架构为 聚焦 时将使用指定的特征尺寸对整个范围进行采样。
  2. 得到的样本提供给 VisionPro Deep Learning 深度神经网络,作为输入数据。
  3. 对于每个样本,神经网络产生特定的响应(取决于工具类型),并且将该响应与与训练图像中的样本位置相关联的图像标注进行比较。
  4. 在处理和重新处理样本时,网络内的内部权重会经历反复调整。网络训练系统不断调整网络权重,其目的是减少网络响应与用户提供的标注之间的误差(差异)。
  5. 整个过程重复多次,直到每个训练图像的每个样本都至少被包括了时期计数参数指定的次数。

 

 

  1. 采样区域。

  2. 用户绘制的已标注缺陷区域。

  3. 神经网络。

  4. 网络的反应。

  5. 调整权重以减少标注缺陷(黄色)和网络响应(蓝色)之间的差异(也就是误差)的迭代过程。

 

神经网络训练的具体特征在某种程度上取决于所训练的工具的类型。在监督模式下对红色分析工具进行网络训练的目的是,减少缺陷标注和检测到的缺陷之间的空间差异。对于红色分析聚焦监督,网络在训练后可定位和识别图像内的缺陷区域。您在监督模式下为红色分析工具执行的标注操作会标注已标注图像中的所有缺陷像素。对于图像内的给定采样区域,训练的目标是网络正确地将缺陷像素识别为缺陷。

 

  • 采样区域和采样参数

    红色分析聚焦监督 使用用户通过采样参数定义的采样区域相关的采样器对像素进行采样,因此在开始训练之前需要配置采样参数来确定采样区域。若采样区域不包括任何缺陷像素,则网络不应产生响应。

  • 验证训练

    红色分析聚焦监督 不支持使用验证方案进行训练,因此它没有验证数据集,也不需要在工具参数中配置验证集。采用验证数据的目的是验证每个训练的神经网络,并利用该验证数据的结果选择具有给定训练集的性能最好和最稳定的神经网络。

 

配置工具参数

添加工具之后,可以访问工具参数以在训练之前微调工具的性能,以及工具在运行时操作期间如何处理图像。VisionPro Deep Learning 工具参数调整如何训练神经网络模型,以及工具如何处理统计结果。对于大多数应用程序,要调整的最常用工具参数如下:

  • 特征尺寸
  • 训练集
  • 扰动
  • 采样密度

 

Tip: 通常,默认参数设置对于大多数图像集效果良好。在初始训练时,除了设置特征尺寸参数外,应尝试在不调整参数的情况下进行训练。

 

架构参数

架构参数选择将使用的神经网络模型的类型。如果想获得更准确的结果,此选项很有用,但要以增加训练和处理时间为代价。高细节和高细节快速架构设置将工具配置为平等地考虑整个图像,而聚焦模式设置则是选择性的,它聚焦于图像中包含有用信息的部分。由于这种聚焦,网络可能会丢失信息,尤其是当图像中到处都有重要细节时。

 

网络模型参数

通过网络模型参数,可以减小训练工具网络的大小,从而减少处理所需的时间。默认值(大)保留标准工具行为和性能。另外两个值(小)和(中)可以提供更快的运行时执行速度。

选择“大”以外的值可能会导致不同的工具结果。这些差异一般很小,但如果使用此选项,需要使用自己的标注数据验证工具性能。

 

采样参数

特征是图像数据中您感兴趣的像素,同时也是解决机器视觉问题和实现特定目标的关键像素。例如,特征在红色分析工具的视图中是正常/缺陷像素。

对于聚焦模式工具,您需要尽可能详细地指定您的特征是什么样的,以便有效地向您的工具传授这些特征。该规格通过配置上采样参数来实现。聚焦 工具使用特征采样器对视图中的像素信息进行采样,通过配置采样参数,告知该特征采样器应采样或不应采样的特征属性。

Note: 采样参数影响训练的结果,因此在训练前应使用其他训练参数(网络模型参数、训练参数、扰动参数)进行配置。
Note: 基于 高细节高细节快速 架构的工具不需要配置特征,因为这些工具对整个视图的像素信息采样,因此不需要由采样参数设置的特征采样器。

 

采样工具参数控制训练和处理期间图像采样的方式。

参数 说明

特征尺寸

指定典型特征直径(以像素为单位)。特征尺寸参数以图形方式显示在图像的左下方,并且可以在图像中以图形方式调整大小以设置更准确的尺寸。

特征尺寸对处理时间 (n2) 有强烈影响,换句话说,就是特征尺寸 100 的处理时间比尺寸 10 快 100 倍,而特征尺寸小于 15 通常不会产生良好结果。

设置特征尺寸时,请根据处理时间 (Ptime) 考虑以下事项:

Note: 工具实际上会看到比“特征尺寸”设置大五倍的区域,但特征中心部分的细节水平相比外围部分要高得多。

颜色

指定对图像采样时使用的颜色通道数量。设置为 1 时,彩色图像将转换为灰度图像。

  1. 将图像视为灰度图像
  2. 两个通道图像(光谱图像, gray+alpha)
  3. BGR 图像。
  4. BGR(A) 图像
Note:
  • 如果图像是 RGB(A),它将转换为灰度图像。因为计算效率(内存分配、传输、文件保存、颜色转换…)在通道数量正确的情况下更高。VisionPro Deep Learning 工具使用 BGR 通道顺序。
  • 如果您的应用依赖于彩色图像,则仅使用尽可能少的颜色通道,并仅发送已具有正确通道数的图像以避免转换。这是因为:

图像通道数 训练通道数量 说明
1(灰度) 1 灰度图像的正确设置。
1 2, 3, 4 最有可能的是,这将导致训练错误。
2 1 工具将仅使用第一个通道。
2 2 工具将使用完整像素信息。
2 3, 4 这将导致训练错误。
3 (BGR) 1 这将导致 BGR 到灰度的转换。
3 2 工具将仅使用前两个通道(也就是 B 和 G)。
3 3 工具将使用完整像素信息。
3 4 最有可能的是,这将导致训练错误。
4 (BGRA) 1 这将导致 BGRA 到灰度的转换。
4 2 工具将仅使用前两个通道(也就是 B 和 G)。
4 3 工具将仅使用前三个通道(也就是 B、G 和 R)。
4 4 工具将使用完整像素信息。

边框类型

指定如何对图像外部的像素进行采样。

Tip: 在图像边界处添加遮蔽会大大降低错误检测率。
  • 黑色:用纯色(黑色)填充图像的外部。

  • 复制:用上一个像素填充图像的外部。

遮蔽模式

指定遮蔽如何应用于采样图像。遮蔽用于限制工具处理的图像区域。

Note: 遮蔽可以在训练后设置,但是,在训练之前设置遮蔽将有助于学习阶段。
  • 透明:仅在图像的未遮蔽部分收集样本,但是也会从被遮蔽的区域收集背景区域中的数据。这样可以确保位于遮蔽或 ROI 边界处的特征或缺陷所生成的响应与中心位置的特征或缺陷所生成的响应相同。
  • 遮蔽:使用遮蔽忽略被遮盖的区域。所有被遮蔽的像素都被设置为 0,这样可以防止在训练或运行时考虑来自图像遮蔽部分的数据。但是,这也会更改工具对遮蔽边界附近的缺陷或特征的响应。此设置还可以使工具聚焦于 ROI 的中心。
  • 重叠:将遮蔽作为额外的颜色通道添加到采样图像中。

居中

此参数可在您的检测包含相对于视图中心呈圆对称的对象时使用,这样一来,生成的学习模型可以变得更简单,因为对象可以被虚拟展开。

Note:
  • 边框类型遮蔽模式居中参数仅在启用专家模式时可用。这是通过帮助菜单启用的。
  • 在训练工具之后修改采样参数将使训练无效,因为基本图像统计数据可能从根本上发生改变,因此将需要重新训练工具。

 

采样参数详细信息:如何对特征进行采样

虽然图像采样的确覆盖了整个图像范围,但聚焦模式下的绿色分类、聚焦模式下的红色分析、蓝色定位和蓝色读取工具不会均匀地对输入图像进行采样。在训练期间,这些工具可以使用特种技术,以更高的速度对确定为更有可能对网络提供附加信息的图像部分进行采样。

由于要使用采样区内的信息和采样区周围提供的背景信息进行网络训练,在图像边缘收集的样本会严重影响工具。如果您使用图像中的视图,在视图边缘收集的样本背景信息会使用视图外部的像素作为背景数据。

1

特征尺寸

2

样本区域

3

背景区域

如果样本位于图像本身的边缘,则该工具将生成合成像素作为背景信息使用。可以通过使用遮蔽、边框和样本通道来控制用于此目的的特定方法(分别通过“边框类型”和“颜色”)。

使用这些工具,您还可以为采样提供遮蔽。这样,即使遮蔽区域也被视为背景,但依然可以明确地从训练中排除部分图像,具体取决于遮蔽模式参数设置。

最后,如果您使用彩色图像(或具有多个平面或通道的任何图像),您可以明确指定采样的通道。使用多通道对训练和处理时间的影响很小,但对于颜色可提供图像重要信息的情况,使用多通道可提高工具的精确度。

Note: 可以通过以下方法将遮蔽模式参数用作处理图像边界的替代方法:将图像边框遮蔽后,可以防止工具收集需要为背景信息生成合成像素的图像样本。

 

采样参数详细信息:特征采样和特征尺寸

聚焦模式下的绿色分类、聚焦模式下的红色分析、蓝色定位和蓝色读取工具根据您指定的特征尺寸分析图像。基于像素的特征尺寸对工具起到提示的作用,说明输入图像中“有意义”或“独特”特征的预期大小。选择特征尺寸的最佳方法是检查输入图像,就像您是人工检查员一样。请注意图像中用于判断图像良好或不良、识别缺陷或问题、或确定某些对象的位置和内容的特征。

例如,如果您尝试根据引擎数量对飞机图片进行分类,则特征尺寸将基于飞机引擎的大致尺寸。

在训练和运行时期间,工具将从图像中收集与图像子区域内的像素相对应的样本,以及该区域周围的背景信息。背景区域大约是特征尺寸的五倍。

1

特征尺寸

2

采样区域

3

背景区域

 

指定特征尺寸是一种主观判断,但有一些具体的指导方针可供遵循。对于红色分析工具(在无监督模式或监督模式下),特征尺寸应近似于典型缺陷的尺寸。对于细长的缺陷,例如条痕、污迹、划痕和撕裂,特征尺寸应接近缺陷的宽度。

1

缺陷

2

特征尺寸

Note: 有关特征尺寸和工具的训练/处理速度之间关系的更多信息,请参阅特征尺寸优化

 

训练参数

训练工具参数控制训练过程。如果在训练过工具之后对训练工具参数进行了任何更改,这将使训练无效,并且有必要对工具进行重新训练。

参数 说明

训练集

启动训练集对话框,用于指定样本集和已标注图像的百分比,以便在每次启动新训练时进行随机选择,作为神经网络的训练样本。

时期数

指定训练过程中的优化迭代次数。如果您的应用程序复杂性有限,或者在测试不同参数设置时较低质量的模型可能有用,可以降低此设置。

时期是将整个训练集传递到神经网络的术语。

工具通常需要学习训练图像集数据大约 50 次(在微调区域),这是默认设置,并且通常足以满足大多数标准应用程序的要求。

选择使用较少的时期可能导致神经网络卡在学习阶段或无法准确解决问题,而时期太多可能导致过度拟合(换句话说,就是过度训练)结果,即它只会学习训练后的图像,将训练图像之外的任何内容都视为无效。必须将网络训练到能推及整个训练图像集的程度。如果过多地增加时期,则存在过度训练和过度拟合训练图像集数据的风险。

Tip:
  • 如果训练图像集包含大量图像,或者训练图像集中的图像尺寸与特征尺寸相比较大,则可能需要提高“时期数”设置。
  • 如果您的训练图像集非常小,则存在过度拟合的风险。如果您有一个较大的训练图像集,并且网络寻找该集合中的所有样本,则相比您拥有较小的训练集,并且将较小的样本集导入网络,您的网络会更泛化。

低精度

指定工具是否在训练后创建低精度模型。低精度模型有利于在运行时操作期间优先考虑速度优化的应用。两种操作模式的结果可能不同。

启用后,工具图标上会添加一个白色闪电图标。

Note:
  • 如果在选中复选框之前,已经预先训练了工具,系统将提示您重新训练该工具。如果在启用低精度模型后取消选择该复选框,则仍然需要重新训练该工具。
  • 低精度模型需要标准或高级VisionPro Deep Learning许可证,还需要具有 CUDA Compute Capability 6.1 或更高版本的 GPU(有关更多信息,请访问 NVIDIA 网站)。

 

训练参数详细信息:时期数

时期数参数允许您控制执行网络细化的程度。如神经网络训练主题所述,训练过程通过网络反复处理输入样本,将网络结果与用户提供的标签进行比较,然后调整网络权重以减少此类错误。由于网络节点(因此权重)数量很大,这个过程几乎可以无限期地重复,每次迭代都会逐步减小误差。增加时期数参数设置会增加执行的训练迭代次数。这将减少训练图像上的网络错误,但需要更多的训练时间。

但是,要切记训练网络的目标是准确地对所有图像执行,而不仅是用于训练图像。随着时期数的增加,网络往往会经历过度拟合(术语),其中未经训练的图像上的错误增加,同时训练图像上的错误减少。因此,在调整时期数时,应仔细监控所有图像的网络性能。您必须为数据集选择一个最优时期,因为最优值因数据集而异,尤其是数据集的统计多样性。

 

扰动参数

只能训练 VisionPro Deep Learning 神经网络去学习它实际看到的图像中的特征。在理想情况下,训练图像集将包括表示所有正常图像和部分变化的代表性图像集。但是,在大多数情况下,需要使用没有代表性的图像集合进行训练。特别是,通常在很短时间内收集图像集,这样就不能反映正常部分和照明随时间的变化,以及相机光学和外在特征的变化与调整。

VisionPro Deep Learning 训练系统允许您通过指定操作期间所期望的外观变化类型来扩充图像集,方法是使用如下扰动参数:

  • 亮度
  • 对比度
  • 旋转
  • 缩放

 

The Perturbation parameters allow the VisionPro Deep Learning tools to artificially generate images to be trained on, improving results for applications with high amounts of variance. 这些参数在所有工具中通用。扰动参数也可以组合使用。这允许通过单独使用参数以及结合使用来生成更复杂的图像。

Tip: 如果您的训练图像集不包括您的零件可能在运行时出现的所有变化,则可以使用扰动参数。例如,如果您的零件将旋转 +/- 45 度,您可以设置旋转参数,软件将在训练期间使图像按照该参数旋转。但是,为了获得最佳效果,Cognex 建议使用零件变化的实际样本图像。当零件旋转时,可能存在不同的阴影,如果旋转基于人工旋转,工具就不会捕获这些阴影。
Note: 扰动不能代替收集和训练实际图像。特别是,图像扰动只能近似逼近实际部分或场景的外观实际变化。

 

可以指定每个扰动类型的扰动范围。

参数 说明

旋转

指定可能的方向,定义据此绘制扰动旋转角度(如设置为 [0°,0°],则不会使用旋转扰动)的分段均匀分布。

例如,通过 [-10°, 10°] 或 [170°, 190°] 的设置,可以在 -10 到 10 度之间或 170 到 190 度之间检测到该零件。如果您的零件可以定向为规则方向,或者上下颠倒且角度仅有细微变化,但从不介于两者之间,则这些类型的设置特别有用。

缩放

指定大约为 1 的正态分布差值,由此得出扰动比例因子(如果设置为 0%,则不使用)。

例如,缩放设置为 100% 将提供尺寸为原始尺寸一半到二倍的图像(原始尺寸的 0.5 到 2.0 倍)。

原始 = 可能扰动 =

宽高比

指定大约为 1 的正态分布差值,由此得出扰动宽高比因子(如果设置为 0%,则不使用)。

剪切

指定大约为 1 的正态分布差值,由此得出扰动剪切因子(如果设置为 0%,则不使用)。

翻转

指定在水平、垂直方向或双向采样期间是否随机翻转图像。该功能对于对象或表面会显示相应对称性的应用很有帮助。

此设置有助于大幅增加训练数据的数量。

水平
垂直
两者

亮度

指定大约为 1 的正态分布差值,由此得出扰动亮度因子(如果设置为 0%,则不使用)。

对比度

指定大约为 1 的正态分布差值,由此得出扰动对比度因子(如果设置为 0%,则不使用)。

反转对比度

指定是否随机反转对比度以模拟训练样本的对比度反转。

Note: 反转对比度参数仅在启用专家模式时可用。这是通过帮助菜单启用的。

 

恢复最后的参数:恢复参数

“恢复参数”按钮用于将工具参数值轻松地恢复为您在上次训练任务中选择的值。它会记住上次训练会话中使用的工具参数中的所有值。因此,如果您更改了它的任意值,现在要恢复此更改,可以单击它以回滚到上次训练中使用的工具参数值。请注意,当工具从未训练过或工具参数值的初始集没有更改时,此按钮将被禁用。

以下步骤解释了“恢复参数”按钮的工作原理:

  1. 当前工具未经训练时,“恢复参数”按钮始终处于禁用状态。

  2. 当前工具训练完成后,参数回滚的检查点被设置为上次训练会话工具参数中的值。此时,如果您更改工具参数中的任意值,将启用该按钮。

  3. 单击“恢复参数”按钮,则将更改的值恢复为检查点的值。

  4. 如果再次训练当前工具,并对工具参数进行一些更改,则参数回滚的检查点将被更新为更改后的参数值。同样,除非您对工具参数中的值进行其他更改,否则该按钮将被禁用。

  5. 如果您进行其他更改并再次单击“恢复参数”按钮,则将更改的值恢复为已更新的检查点的值。

请注意,如果您在更改处理参数中的值之后重新处理经过训练的工具,则不会更新参数回滚的检查点,因此“恢复参数”按钮将保持启用状态。仅在完成工具训练后更新检查点。

已禁用

已启用

Note: 由于不可避免的原因,有些参数无法恢复为上次训练会话中的值。
  1. 不可逆参数,更改这些参数将重置工具

    1. 网络模型、独占、特征尺寸、遮蔽模式、颜色、居中、缩放、缩放模式(均匀/非均匀)、遗留模式、定向、细节

  2. 不可逆参数,这些参数在本质上是不可逆的

    1. 低精度、简单区域

  3. 其他不可逆参数

    1. 训练集、绿色分类高细节模式下的热力图和 绿色分类高细节快速(此参数不影响预测性能)

    2. 蓝色读取中遮蔽模式下的叠加参数

 

控制神经网络训练

可以通过配置工具参数和训练集来控制红色分析聚焦监督的训练。

 

训练集

影响网络训练阶段的最大单一决定因素是训练集组成。控制网络训练阶段的最佳方法是构建工具的正确训练集。通过这种方式,您可以将图像/视图分成几类,以确定工具是否正确地概括了图像/视图。

Note: 有关如何加速训练或处理的信息,请参阅 优化速度
Note: 有关训练和处理的一般提示和技巧,请参阅应用设计