如何训练高质量模型

本章将介绍最影响模型质量的几个因素,以及如何训练出高质量目标检测模型。

确保图像质量

  1. 避免 过曝、过暗、颜色失真、模糊、遮挡 等。这些情况会导致深度学习模型所依赖的特征丢失,影响模型训练效果。

    ../../../_images/overexposed2.png
    ../../../_images/darker_lighting2.png
    ../../../_images/color_distortion2.png
    ../../../_images/obscure2.png
    ../../../_images/occluded2.png
  2. 确保采集数据的 背景、视角、高度 与实际应用一致。任何不一致都会降低深度学习在实际应用时的效果,严重情况下必须返工重新采集数据,请务必提前确认实际应用时的情况。

    ../../../_images/background_inconsistent2.png
    ../../../_images/field_mismatch2.png
    ../../../_images/height_mismatch2.png

确保数据集质量

目标检测模块通过学习图像中的物体特征得出模型并应用到实际场景,因此采集和选取的数据集必须与实际场景情况一致才能训练出高质量模型。

  1. 采集数据集

  2. 选取数据集

采集数据集

需合理分配各种摆放情况。例如实际生产时来料有横向、竖向和散乱堆叠的情况,但只采集横向和竖向来料的图像数据集进行训练,则无法保证散乱堆叠的识别效果。因此,采集数据时需要能 包含实际生产的各种场景 ,具体包括:

  • 实际应用所有可能出现的 物体朝向

  • 实际应用所有可能出现的 物体位置

  • 实际应用所有可能出现的 物体间关系

注意

如果少采集了某种情况的数据,算法模块会缺少该情况下数据的学习,将导致模型在该情况下识别效果不佳,因此必须根据情况增加数据样本,降低误差。

物体朝向

../../../_images/different_towards1.png

物体位置

../../../_images/different_situations1.png
../../../_images/different_layers1.png

物体间关系

../../../_images/positions1.png
../../../_images/different_positions1.png

采集数据案例

  1. 某工件检测项目,来料为无规则散乱摆放的转子,要求精准检测所有的转子位置。一共采集 30 张。

    • 物体位置 方面,需考虑采集实际生产时转子可能位于料框的所有位置;同时需要考虑抓取时转子数量由多到少的情况。

    • 物体间关系 方面,需考虑转子散乱、整齐和压叠摆放的情况;

    ../../../_images/different_positions_0.png
  2. 某钢筋计数项目,来料为成捆的钢筋,要求精准输出钢筋数量。一共采集20张。

    • 钢筋特征相对单一,因此只需考虑 物体位置 的多样性,采集实际生产时钢筋可能位于相机视野中的所有位置。

    ../../../_images/different_positions_1.png

选取合适的数据集

  1. 训练集数量要可控

    目标检测模块初次训练建议准备 20 张图像,不需要过多数据。前期加入大量类似数据训练会延长不必要的训练时间,同时不利于后期改进模型。

  2. 数据要具有代表性

    数据集图像一定要涵盖待检测目标的所有光照、颜色、尺寸等信息。

    • 光照 :实际场景存在光照变化,数据集应该包含所有光照情况下的图像。

    • 颜色 :工件存在不同颜色,数据集应该包含所有颜色的图像。

    • 尺寸 :工件存在不同尺寸,数据集应该包含所有尺寸工件的图像。

    注意

    若实际现场工件会出现旋转、缩放、或其他情况,无法采集相应图像数据集时,可以通过调整数据增强训练参数的方式来补充数据集,以确保现场所有的情况都包含在训练集内。

  3. 数据占比要均衡

    训练集中 不同种类或不同摆放方式 的图像比例要均衡,否则会影响模型效果。禁止出现一种物体 20 张,另一种物体仅有 3 张;或整齐摆放 40 张,散乱摆放只有 5 张的情况。

  4. 数据集要与终端场景保持一致

    数据集的图像要与最终模型使用的终端场景保持一致,包括光照条件、工件特征、检测背景、视野大小等。

确保标注质量

标注质量应从完备性、精确性两个方面考虑:

  1. 完备性: 标注所有物体,禁止出现遗漏标注的情况。

    ../../../_images/contour_missed1.png
  2. 精确性: 标注的矩形框应包住物体,禁止出现少标注物体某部分,或大量标注物体轮廓外区域的情况。

    ../../../_images/contour_incomplete_over1.png