在计算机视觉领域,数据标注是构建高效模型的关键步骤。随着向模型展示越来越多的标注数据,模型开始学习标注决策中的潜在模式。一旦训练过程完成,就可以部署目标检测模型进行自动推理。
使用Microsoft VoTT进行热成像目标检测数据集标注
虽然存在大规模的数据标注解决方案,但成本较高。对于学生、爱好者和个人项目,Roboflow提供免费服务。如果正在启动一个新的计算机视觉项目,可能会倾向于采用“自己动手”(DIY)的标注解决方案来组装数据集的第一个版本。随着计算机视觉模型的不断进步,可能只需要10-50张图像就可以让模型的第一个版本启动。
VoTT是一个免费的、开源的计算机视觉标注工具——一个“视觉对象标记工具”,如果愿意的话。在开始标注工作之前,必须首先收集一个未标注的图像语料库作为数据集。建议尽可能地缩小数据集的领域,以确保建模结果的成功。也就是说,尝试控制所有可以控制的环境因素,以使模型在未来的任务中更加轻松。
Microsoft VoTT支持从本地驱动器导入图像,自然还有Bing图像搜索和Azure Blob存储。在本教程中,将从本地驱动器导入数据集。
安装VoTT软件
一旦有了一组未标注的图像,就可以安装VoTT标注软件了。如果数据存储在Azure Blob存储中,或者正在使用Bing图像搜索,可以直接通过他们的网站使用VoTT。如果图像保存在本地驱动器上,启动本地VoTT会更容易。
最简单的安装VoTT本地的方法是使用每个版本发布的安装包。安装包在Mac OSX上的VoTT、Linux上的VoTT和Windows上的VoTT上都有列出。导航到Assets框,下载需要的操作系统文件。
是在Mac OSX上构建VoTT的。所以会将VoTT拖到应用程序文件夹中。
从源代码编译VoTT
如果想对VoTT进行调整,可能需要从源代码编译并运行VoTT工具。要从头开始编译VoTT,首先需要安装NodeJS和NPM。下载并运行安装文件。当可以运行node -v和npm -v时,就会知道成功了。
git clone https://github.com/Microsoft/VoTT.git
cd VoTT
npm ci
npm start
当npm设置项目时,会看到很多奇怪的打印输出。如果刚开始,建议使用VoTT安装包,而不是从源代码构建。
在VoTT中开始图像标注项目
一旦在所选位置(本地安装、从源代码构建或云服务器)启动了VoTT,就可以开始标注项目了。点击“新建项目”并填写相关字段。对于“源连接”,映射到包含原始图像数据集的驱动器上的文件夹。一旦启动了项目,将看到工具中的图像,准备好进行标注。
如何使用VoTT标注快捷方式
为了快速标注数据集,会想要利用VoTT中提供的快捷方式。可以通过点击和拖动来绘制一个框。也可以通过在键盘上输入大写R来开始一个框。类标签将被热键,所以只需要按数字热键就可以自动将框与正确的类匹配。可以使用箭头键浏览图像。Ctrl或Cmd + S保存进度。
VoTT标注最佳实践
当在VoTT中标注图像时,请记住以下最佳实践。最终,正在为建模任务考虑下游。任何错误的标注或模糊不清的地方都应通过标注过程来解决。
一般来说,应该遵循以下做法:
- 围绕整个对象进行标注
- 保持边界框紧贴对象
- 通过绘制整个对象的框来标注被遮挡的对象
- 标注部分出框的对象
- 注意选择经常重叠的类标签
从VoTT导出数据
一旦数据集完全标注完毕,可以按Ctrl或Cmd + S来保存进度。导航到工具左侧的导出按钮。选择想要导出的标注格式。建议输出Pascal VOC,然后加载到Roboflow进行数据集转换为任何标注格式。每个模型都使用特定的目标检测标注格式,因此需要将VOC XML文件转换为另一种格式。然后保存导出设置。最后,要导出数据集,点击顶部窗格中的导出按钮。数据集将导出到设置数据集时提供的位置。
VoTT与Roboflow的比较
在决定是否在VoTT中启动标注项目时,值得考虑VoTT相对于Roboflow的优势和劣势:
使用VoTT的标注数据集
一旦在VoTT中标注了数据集,建议将数据集以Pascal VOC格式上传到Roboflow。从那里,可以检查计算机视觉数据集的健康状况,管理类标签,导出到任何数据集格式,并使用最先进的计算机视觉模型。
有了Roboflow,可以生成人工训练数据,这样就可以花更少的时间收集和标注,更多的时间训练和部署计算机视觉模型。Roboflow中的数据增强策略包括翻转图像、随机裁剪、创建合成计算机视觉数据等。
根据选择训练的模型,可能需要将VoTT数据集转换为其他格式。使(并且免费)从JSON或CSV转换VoTT到其他15种格式变得简单。流行的转换是到CreateML、OpenAI CLIP、YOLOv4和COCO。