如何解决困难问题

通过以下方法可以提升训练、部署的速度和模型的精度。

如何丰富数据集种类

训练模型的数据集需要尽量包含实际可能出现的所有情况,若现场不具备相应的采集条件,可以针对缺失的情况在训练前调整 数据增强 参数,在原有数据的基础上丰富训练数据集。

调整数据增强参数

../../_images/data_augmentation.png

注意

必须确保倍增的图像数据与现场实际情况一致。如果现场不会出现旋转的情况,那么不需要调整这一参数,否则可能会影响模型效果。

亮度

图像的明暗程度。现场光照变化较大时,可以通过调整 亮度 范围倍增不同光照状态下的图像数据集。

对比度

图像灰度反差的大小。目标物体和背景差异较小时,适当调整 对比度 范围,可以使目标物体特征更明显。

平移

将图像所有的像素坐标分别加上指定的水平偏移量和垂直偏移量。现场物体(料筐、托盘等)位置移动范围较大时,可以通过调整 平移 参数,随机倍增横向、纵向平移的数据集。

旋转

指图像以某一点为中心旋转一定的角度,形成一张新的图像。一般情况下保持默认参数设定即可满足需求。物体摆放角度变化较大时,通过调整 旋转 参数,可以随机倍增多种角度的图像数据集。

缩放

将图像按一定比例缩小或放大。物体摆放高度差异较大时,通过调整 缩放 参数 ,可以随机倍增不同缩放程度图像数据集。

水平翻转

图像左右翻转 180°。若待识别物体存在左右对称的情况,可以开启 水平翻转

../../_images/flip_horizontally.png
垂直翻转

图像上下翻转 180°。若待检测物体存在上下对称的情况,可以开启 垂直翻转

../../_images/flip_vertically.png
标注膨胀

按一定比例扩大图像中标注的缺陷区域。只支持在“缺陷分割”模块使用,一般情况下不需要勾选,若图像标注的缺陷较小可以勾选 标注膨胀 ,避免因图像缩放导致缺陷太小而影响训练的情况。

如何提高模型训练速度和精度

默认参数设定可以满足大部分需求,如果需要提高模型训练速度或模型精度时,可以通过调整 训练参数 重新训练模型以满足需求。

调整训练参数

../../_images/training_parameters.png
输入图像尺寸

训练时输入神经网络的图像宽高(单位:像素)。建议使用默认设定;若图像中的物体或标注缺陷区域较小时,需要适当调大 输入图像尺寸 。图像尺寸越大,模型精度越高,但是训练速度越低。

批量大小

神经网络训练一次选取的样本数量。建议使用默认设定;若需要提高训练速度时,可以适当调大 批量大小 参数,参数设置太大会导致显存占用变高。

模型类型

“缺陷分割”模块:

  • 标准:一般情况下建议使用 标准 模式。

  • 增强:模型效果不好或精度要求较高时可以选择 增强 模式,该模式会导致训练速度变慢。

“实例分割”模块:

  • 标准(推荐 GPU 部署):模型部署在 GPU 设备时选择此选项。

  • 轻量(推荐 CPU 部署):模型部署在 CPU 设备时选择此选项。

评估间隔轮次

模型训练时,每评估一次间隔的轮次数量。建议使用默认设定,调大 间隔轮次 参数可以提升训练速度 ,参数值越大训练越快;参数值越小训练越慢,但有助于挑选最优模型。

总轮次

模型训练的总轮次。建议使用默认设定,若待识别图像特征较复杂时,需要适当增加训练轮次,提升模型效果,但会导致训练时间变长。

注意

训练轮次并非越大越好,总轮次设置较大时,模型准确率稳定后还会持续训练,会导致训练时间变长,且有过拟合的风险。

学习率

学习率决定神经网络训练过程中每一次迭代优化的步长。建议使用默认设定,图表损失曲线收敛较慢时,可以适当调大 学习率 ;若图表精度波动较大,可以适当调小 学习率

GPU ID

用户训练设备的显卡信息。若用户的设备有多块 GPU ,可以在指定 GPU 进行训练。

网络简化

该选项用于简化神经网络结构。默认不勾选。训练数据集相对简单时,勾选该选项可以提高训练和推理速度。

如何进行模型微调

自我微调

在上一次训练的最优模型的基础上进行训练,可以减少训练时间。

超级模型微调

在现有超级模型的基础上进行微调,需要选择已有的超模,并加入模型预测效果不好的图像进行训练,可以减少训练时间。

超级模型:纸箱超模 点击此处下载

开启模型微调参数

../../_images/model_finetuning.png

如何提高模型推理速度和精度

默认参数设定可以满足大部分需求,若需要提高推理速度或精度,可以根据实际情况调整 部署设置 相关参数。

调整部署设置参数

../../_images/deployment_settings.png
批量大小

模型推理一次所选取的样本数量。建议使用默认设定;在“缺陷分割”模块下,若图像尺寸太大缺陷区域较小时,适当调大 批量大小 参数可以加快推理速度,但会导致显存占用变高。

浮点精度
  • FP32:模型精度高,推理速度较慢。

  • FP16:模型精度低,推理速度较快。

图像预处理设备
  • GPU:使用模型进行推理前,使用设备显卡处理图像数据。建议使用 GPU 参数 。

  • CPU:若图像较大需要提高图像预处理速度,可以选择 CPU 参数。

导出模型类型
  • dlkmo:模型需要优化大约 5 分钟 ,适用于训练模型与部署模型使用的设备 GPU 显卡型号不同的情况。

  • dlkmt:模型无需优化可以直接导出使用,仅支持训练模型与部署模型使用的设备 GPU 显卡型号相同的情况。

GPU ID

用户部署设备的显卡信息。若用户的设备有多块 GPU ,可以在指定 GPU 上部署。