1. 花朵目标检测

1.1. 场景背景

目标检测任务在计算机视觉和数字图像处理领域扮演着重要角色,在各行各业也已得到广泛应用,如航空航天、机器人、智能监控等重大行业。精准地从图片中识别出目标所在位置,并准确地将该目标分类,是目标检测任务的核心目的。随着深度学习的主流浪潮,目标检测算法在性能上也得到了较大的提升。本文通过智能钛机器学习平台,提供一种利用深度学习算法快速搭建目标检测模型的使用方法。用户无须编写代码,只要拖动相应的算法组件,便可以在十几分钟的时间内快速上手,解决目标检测场景下的问题。

1.2. 数据集介绍

本案例使用的数据集为从公开数据集中选取的Daisy(菊花)和Sunflower(向日葵)的部分图片,并对其进行手工标注得到的demo数据集。

1.3. 整体流程

工作流整体流程如下:

2.2. 花朵目标检测 - 图1

本场景共包含5个环节,分别是:

  • 花朵数据准备(花朵数据的标注信息+花朵数据的图像信息)
  • 将数据拆分成训练集、验证集
  • 将原始 JPG 图片文件转换成高效的 TFRecord格式文件
  • 选择合适的 CNN 网络处理分类任务

1.4. 详细流程

一. 上传数据

本步骤中需要上传两个数据源:花朵数据标注和花朵数据图像。

  • 在智能钛机器学习平台控制台的左侧导航栏选择:【输入】>【数据源】>【COS数据集】,并拖入画布中

  • 设置【COS数据集】参数:

    • 将该组件重命名为:花朵数据标注

    • 填写COS数据路径:(请直接复制输入)

${ai_dataset_lib}/public/YOLOv2/flowers/Annotations

  • 请务必关闭“是否检查数据”按钮

2.2. 花朵目标检测 - 图2

  • 在智能钛机器学习平台控制台的左侧导航栏选择:【输入】>【数据源】>【COS数据集】,并拖入画布中

  • 设置该【COS数据集】参数:

    • 将该组件重命名为:花朵数据图像

    • 填写COS数据路径:(请直接复制输入)

${ai_dataset_lib}/public/YOLOv2/flowers/Images

  • 请务必关闭“是否检查数据”按钮

2.2. 花朵目标检测 - 图3

二. 切分数据

在模型训练的时候通常会将所有的数据分成三部分, 分别是训练集 training set, 验证集 validation set 和测试集 test set。 训练集用来训练模型, 验证集用于调节超参数,测试集用来整体评估模型的性能。

本文的实验较简单,可只将数据切割成训练集和测试集,比例为 8 : 2( 80% 用于训练, 20% 用于测试)。

  • 在智能钛机器学习平台控制台的左侧导航栏,选择【输入】>【数据转换】>【图像数据切分】,并拖入画布中

  • 将【花朵数据标注】的输出桩连接到【图像数据切分】的输入桩

  • 填写参数, 其余参数均可默认:

    • 分类 or 检测任务:Detection
    • 验证集比例:0.2 2.2. 花朵目标检测 - 图4

三. 数据格式转换

TFRecord 数据文件是一种将图像数据和标签统一存储的二进制文件,能更好的利用内存,在Tensorflow中快速的复制,移动,读取,存储等。在这一步中,我们将原始 JPG 文件格式转换成高效的TFRecord格式

  • 在智能钛机器学习平台控制台的左侧导航栏,选择【输入】>【数据转换】>【图片格式转换(检测)】

  • 将【图片格式转换(检测)】拖入画布

  • 将 【图像数据切分】 的输出桩,连到 【图片格式转换(检测)】 最左边的输入桩上; 将【花朵数据标注】的输出桩连接到【图片格式转换(检测)】最右边的输入桩上;将【花朵数据图像】的输出桩连接到【图片格式转换(检测)】中间的输入桩上

  • 填写参数, 其余参数均可默认:

    • 类别映射文件(手动复制输入):

${ai_dataset_lib}/public/SSD/flowers_label_map.pbtxt

2.2. 花朵目标检测 - 图5

四. 选择RCNN网络

选择合适的 CNN 网络处理分类任务,如此处选择Faster RCNN网络模型

  • 在智能钛机器学习平台控制台的左侧导航栏,选择【算法】>【深度学习算法】>【计算机视觉】>【Faster-rcnn】
  • 将【Faster-rcnn】拖入画布
  • 将【图片格式转换(检测)】左侧输出桩与【Faster-rcnn】左侧输入桩相连,同时将【图片格式转换(检测)】右侧输出桩与【Faster-rcnn】的右侧输入桩相连
  • 填写参数:

    • 配置文件:[点此下载] 将下载后的文件上传至此

    • 标签类别映射(直接复制输入):${ai_dataset_lib}/public/SSD/flowers_label_map.pbtxt

    • 初始模型(直接复制输入):

${ai_dataset_lib}/checkpoints/faster_rcnn/faster_rcnn_resnet50_coco/model.ckpt

  • 类别个数:2

  • GPUs:1

  • 其余使用默认值

2.2. 花朵目标检测 - 图6

五. 运行调度及训练进度查看

详情请参考 运行工作流