训练目标检测模型

目标检测模型可检测目标物体在图中的精确位置,并判断图像中目标物体的类别。本文以转子工件为例,训练一个可以实现转子定位和计数的目标检测模型。

object detection example

训练目标检测模型的流程如下:

object detection workflow

准备工作

开始训练前,请确保已按照采集规范采集并筛选出用于训练的图像数据。本例中需要准备盛放有转子的料筐图像。

新建工程并添加模块

  1. 新建工程:打开 Mech-DLK,在启动界面左上角,单击新建工程,输入工程名并选择保存路径。

  2. 添加算法模块:进入工程界面后,在右上角的模块区域,单击 icon create 并选择“目标检测”模块。

导入并标注图像

  1. 新建标签:在右侧的标注页面中,单击类别栏的 icon create 新建类别标签。本例中需要识别所有的转子工件,因此新建Rotor标签。

  2. 导入图像数据:在图像列表上方选择 导入/导出  导入图像,选择部分图像导入到工程中;

  3. 截取 ROI:

    1. 在标注工具栏,单击 ROI 工具 icon roi,框选目标图像区域。框选 ROI 应去除部分无意义背景,覆盖待识别物体会出现的区域,且保留一定冗余。

    2. 单击 ROI 边框右下角的 icon OK 应用当前 ROI。同一 ROI 设定将应用于所有图片,检查所有转子是否始终在 ROI 范围内,如果有转子超出 ROI 范围,则应重新调整 ROI。

      object detection roi
  4. 标注图像:可使用预训练标注工具标注图像,减少人工标注时间。只需先手动标注少量图像,然后训练预训练标注模型并标注即可。

    1. 手动标注数据:在标注工具栏,右键单击 polygon icon 后,单击矩形工具 rectangle icon,标注出每个转子的外接矩形。

    2. 训练标注模型:在界面右下角依次单击训练验证按钮,进行模型训练和验证,获取用于进行预训练标注的模型。

    3. 使用预训练标注工具标注图像:验证完模型后,导入剩余图像,点击预训练标注按钮进行标注。完成标注后,需要逐张检查预训练标注的图像,如出现漏标注的情况,需要手动进行标注。

      object detection label
  5. 划分数据集:导入并标注所有图像后,单击 images divide icon,拖动滑块,将图像按照训练集(80%)和验证集(20%)的比例进行划分。

    object detection image divide

训练模型

完成图像导入和标注后,即可开始训练模型。

  1. 进入训练页面,选择参数配置  训练参数,勾选训练时最大目标个数并根据实际情况调整参数值,该参数用于设置能识别到工件数量的上限。

  2. 单击训练按钮,开始重新训练模型。可在训练中心查看模型训练进度,点击显示图表查看各轮次训练的精度和损失值。

object detection train

验证和导出模型

模型训练完成后,进入验证页面,点击验证按钮,Mech-DLK 会使用当前图像数据对模型进行验证。

验证结束后,检查验证结果无误,此时一个用于转子定位和计数的目标检测模型就训练完成了。

object detection validate

点击右下角的导出按钮,选择模型存放路径后导出该模型。导出的模型可在 Mech-Vision 与 Mech-DLK SDK 中使用,单击此处 查看详细说明。

我们重视您的隐私

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