13.1.17. 数据集编辑器

训练自定义分类器要从一个已标注的数据集开始——模型应识别的每样事物的数百张图像,由将要运行它的摄像头采集,并分门别类地放入每个类别一个文件夹。数据集编辑器是 IDE 用来构建这种数据集的采集工作流。

Tools → Dataset Editor → New Dataset 会要求指定一个用于构建数据集的文件夹——并警告非空文件夹中的内容将被删除——然后进行设置:一个文件浏览器窗格停靠在主窗口左侧,一个采集脚本(dataset_capture_script.py)在编辑器中打开。该脚本是一个简单的采集循环,并且是为了被编辑而设计的——应用与部署应用将使用的相同的镜头校正、裁剪或滤波,使模型在它实际将看到的图像上训练。Open Dataset 可在之后重新打开一个已有的数据集文件夹,Close Dataset 则将窗口恢复正常。

13.1.17.1. 采集

数据集打开时,窗口左边缘的工具栏上会在运行控件下方多出两个按钮。New Class FolderCtrl+Shift+N)创建一个类别——模型应学习的每个类别一个,以标签命名。在采集脚本运行且选中某个类别文件夹的情况下,Capture DataCtrl+Shift+S)会将当前帧缓冲区图像保存到该类别中,文件浏览器下方的预览窗格会在每次采集落盘时显示它。

采集的节奏是:选择一个类别,将摄像头对准它的一个示例,采集;移动物体,改变角度、距离、背景和光照,再次采集——数据集中的变化正是模型获得鲁棒性的关键。每个类别都重复这一过程,如果应用需要知道何时什么都没有,还应包括一个不含任何目标场景的背景类别。

13.1.17.2. 导出与训练

Export 子菜单将完成的数据集送去训练。Export Dataset to Zip File 会将其打包成一个使用类别前缀文件名的归档——这是每个训练服务和框架都接受的中立格式。对于 Edge Impulse,IDE 直接集成:从同一子菜单登录 Edge Impulse 账户,Upload to Edge Impulse Project 会将数据集直接推送到一个项目中(对于无法使用邮箱密码登录的账户,还提供了 API 密钥上传方式)。在那里训练、导出模型,当开发板需要时,NPU 转换器 会使其可在摄像头上运行。

参见

机器学习章节 介绍了数据集所馈入的训练工作流。