1. 概述

MNN 工作台内置针对图片中的主体部分进行识别和检测。

2. 模型训练

2.1 制作主体识别数据集

目标检测训练数据集包含图片和标签两类数据,其中,图片文件支持JPGPNG格式,标签文件支持xml格式。
在 MNN 工作台中内置提供了相关标注工具 Label Image,具体标注使用流程请参考5.5 图像标注工具 Label Image

数据格式需求请参考5.5 图像标注工具 Label Image否则会导致训练出错。

主体识别的数据标注与目标检测的数据标注区别在于:主体识别标注物体是单一的,目标检测可以是多目标的。

2.2. 创建工程

  1. 打开 MNN 工作台,进入工作台主界面。

image.png
图例 1. MNN 工作台主界面

  1. 点击 Train a deep learning model,进入模型训练页面。

截屏2020-08-10上午10.07.09.png
图例 2. MNN 工作台模型训练模版选择界面

  1. 选择Primary Detection

image.png
图例 3. MNN 工作台主体检测模型下载

  1. 下载完成,点击 Next 进入项目配置页面,在Project Name上出入项目名称,比如MyPrimaryDetection,点击Next

p1.png
图例 4. MNN 工作台主体检测工程配置

  1. 选择目标文件夹,对工程进行保存。

截屏2020-08-10上午10.20.35.png
图例 5. MNN 工作台选择工程保存路径

  1. 点击Next,进入训练工程界面。工作台会自动配置训练环境,首次使用需联网加载相关配置,请耐心等候

截屏2020-08-10下午2.43.10.png
图例 6. MNN 工作台训练工程初始化

2.3 训练流程

进入训练界面:

  1. 框①中选择训练数据集。
  2. 框②中填写最大迭代次数。
  3. 点击框③中的‘Train’按钮开始训练。

训练之前也可以同时填写框④中的验证数据集和测试数据集,可选。
p2.png
图例 7. MNN 工作台训练界面功能布局

点击’Train‘开始训练后,跳转到训练进度界面。
框①中展示训练进度。2/20表示当前正在进行第2次迭代,总共有20次迭代。

训练过程中,可随时点击框②中的’Stop‘按钮,停止训练,
p3.png
图例 7. MNN 工作台训练中

训练完成后,页面自动跳转到Metrics界面,包括Train Loss和Validation Accuracy:

横坐标是第几次迭代,纵坐标是对应的数值**。

红框中,0.90表示训练完成时,模型在训练数据集上面的损失数值。

p4.png
图例 8. MNN 工作台训练 Training Loss 图形化界面

红框中,0.96%表示验证数据集上的准确率。

p5.png
图例 8. MNN 工作台训练 Validation 图形化界面

3. 模型输出

3.1. 模型输出和单项测试

  1. 训练完成之后,可以点击顶部的Tab页的’Output‘项(框①),进入Output界面,如 图 9 所示
  • 框①中展示了当前模型的大小,349.0KB。
  • 右侧信息栏显示当前模型的详细信息,见框

MNN 工作台可以对模型进行简单的所见即所得测试验证。将测试图片拖拽到框③中,然后点击对应的图片。工作台会使用训练好的模型对该图片进行检测,在页面中间展示检测结果。

p6.png
图例 9. MNN 工作台训练结果所见即所得验证界面

4. 批量检测

MNN 也支持工作台支持批量检测。

  • 点击顶部Tab页的’Testing‘项(框①),进入批量检测页面。
  • 在框②中选择检测数据所在的文件夹。
  • 点击框③中的’Test Model‘开始检测。

p7.png图例 10. MNN 工作台批量结果验证界面p8.png
图例 11. MNN 工作台批量结果验证中

检测过程中,可随时点击’Cancel‘按钮取消检测:
p9.png
图例 12. MNN 工作台批量结果验证中

检测完成之后,检测结果以表格的形式展现。
点击红框处的灰色箭头,可以展开表格查看具体检测结果。
p10.png

图例 13. MNN 工作台批量验证结果详细信息

5. 测试数据

milkdataset.zip