如何解决困难问题¶
通过以下方法可以提升训练、部署的速度和模型的精度。
如何丰富数据集种类¶
训练模型的数据集需要尽量包含实际可能出现的所有情况,若现场不具备相应的采集条件,可以针对缺失的情况在训练前调整 数据增强 参数,在原有数据的基础上丰富训练数据集。
调整数据增强参数¶
注意
必须确保倍增的图像数据与现场实际情况一致。如果现场不会出现旋转的情况,那么不需要调整这一参数,否则可能会影响模型效果。
- 亮度
图像的明暗程度。现场光照变化较大时,可以通过调整 亮度 范围倍增不同光照状态下的图像数据集。
- 对比度
图像灰度反差的大小。目标物体和背景差异较小时,适当调整 对比度 范围,可以使目标物体特征更明显。
- 平移
将图像所有的像素坐标分别加上指定的水平偏移量和垂直偏移量。现场物体(料筐、托盘等)位置移动范围较大时,可以通过调整 平移 参数,随机倍增横向、纵向平移的数据集。
- 旋转
指图像以某一点为中心旋转一定的角度,形成一张新的图像。一般情况下保持默认参数设定即可满足需求。物体摆放角度变化较大时,通过调整 旋转 参数,可以随机倍增多种角度的图像数据集。
- 缩放
将图像按一定比例缩小或放大。物体摆放高度差异较大时,通过调整 缩放 参数 ,可以随机倍增不同缩放程度图像数据集。
- 水平翻转
图像左右翻转 180°。若待识别物体存在左右对称的情况,可以开启 水平翻转 。
- 垂直翻转
图像上下翻转 180°。若待检测物体存在上下对称的情况,可以开启 垂直翻转 。
- 标注膨胀
按一定比例扩大图像中标注的缺陷区域。只支持在“缺陷分割”模块使用,一般情况下不需要勾选,若图像标注的缺陷较小可以勾选 标注膨胀 ,避免因图像缩放导致缺陷太小而影响训练的情况。
如何提高模型训练速度和精度¶
默认参数设定可以满足大部分需求,如果需要提高模型训练速度或模型精度时,可以通过调整 训练参数 重新训练模型以满足需求。
调整训练参数¶
- 输入图像尺寸
训练时输入神经网络的图像宽高(单位:像素)。建议使用默认设定;若图像中的物体或标注缺陷区域较小时,需要适当调大 输入图像尺寸 。图像尺寸越大,模型精度越高,但是训练速度越低。
- 批量大小
神经网络训练一次选取的样本数量。建议使用默认设定;若需要提高训练速度时,可以适当调大 批量大小 参数,参数设置太大会导致显存占用变高。
- 模型类型
“缺陷分割”模块:
标准:一般情况下建议使用 标准 模式。
增强:模型效果不好或精度要求较高时可以选择 增强 模式,该模式会导致训练速度变慢。
“实例分割”模块:
标准(推荐 GPU 部署):模型部署在 GPU 设备时选择此选项。
轻量(推荐 CPU 部署):模型部署在 CPU 设备时选择此选项。
- 评估间隔轮次
模型训练时,每评估一次间隔的轮次数量。建议使用默认设定,调大 间隔轮次 参数可以提升训练速度 ,参数值越大训练越快;参数值越小训练越慢,但有助于挑选最优模型。
- 总轮次
模型训练的总轮次。建议使用默认设定,若待识别图像特征较复杂时,需要适当增加训练轮次,提升模型效果,但会导致训练时间变长。
注意
训练轮次并非越大越好,总轮次设置较大时,模型准确率稳定后还会持续训练,会导致训练时间变长,且有过拟合的风险。
- 学习率
学习率决定神经网络训练过程中每一次迭代优化的步长。建议使用默认设定,图表损失曲线收敛较慢时,可以适当调大 学习率 ;若图表精度波动较大,可以适当调小 学习率 。
- GPU ID
用户训练设备的显卡信息。若用户的设备有多块 GPU ,可以在指定 GPU 进行训练。
- 网络简化
该选项用于简化神经网络结构。默认不勾选。训练数据集相对简单时,勾选该选项可以提高训练和推理速度。
如何进行模型微调¶
- 自我微调
在上一次训练的最优模型的基础上进行训练,可以减少训练时间。
- 超级模型微调
在现有超级模型的基础上进行微调,需要选择已有的超模,并加入模型预测效果不好的图像进行训练,可以减少训练时间。
超级模型:纸箱超模 点击此处下载 。
开启模型微调参数¶
如何提高模型推理速度和精度¶
默认参数设定可以满足大部分需求,若需要提高推理速度或精度,可以根据实际情况调整 部署设置 相关参数。
调整部署设置参数¶
- 批量大小
模型推理一次所选取的样本数量。建议使用默认设定;在“缺陷分割”模块下,若图像尺寸太大缺陷区域较小时,适当调大 批量大小 参数可以加快推理速度,但会导致显存占用变高。
- 浮点精度
FP32:模型精度高,推理速度较慢。
FP16:模型精度低,推理速度较快。
- 图像预处理设备
GPU:使用模型进行推理前,使用设备显卡处理图像数据。建议使用 GPU 参数 。
CPU:若图像较大需要提高图像预处理速度,可以选择 CPU 参数。
- 导出模型类型
dlkmo:模型需要优化大约 5 分钟 ,适用于训练模型与部署模型使用的设备 GPU 显卡型号不同的情况。
dlkmt:模型无需优化可以直接导出使用,仅支持训练模型与部署模型使用的设备 GPU 显卡型号相同的情况。
- GPU ID
用户部署设备的显卡信息。若用户的设备有多块 GPU ,可以在指定 GPU 上部署。