图像标注工具竞品分析

2022-06-02 栏目:行业资讯 查看()

编辑导语:图像标注是机器视觉(Computer Vision, 下面将简称为“CV”)模型开发流程中的重要一环,也是十分耗时的一环。随着深度学习的兴起,企业对于图像标注工具的需求也愈演愈烈。据知名行研机构估算,2025年全球标注工具的市场规模将达到16亿美元。本文选取了3款行业中较有代表性的产品:CVAT、ModelArts、 Supervisely,从产品视角来试图探究标注工具行业现状及未来趋势。

图像标注工具竞品分析

1. 什么是图像标注

图像标注是在原始图像打上标签的行为。在训练深度学习模型前,需要准备足量的,已被标注的样本用于训练。而图像标注就是样本准备中的一个步骤,如图1:

图像标注工具竞品分析

图1:Supervisely中的图片标注

原始图像类型包括:二维图片、三维图片、视频等。

标注形式包括:标签、包围框(二维和三维形式)、点、线、多边形、像素图(Bitmap)。

根据不同的标注形式,图像标注类型可分为:

分类 (Classification):识别出图片中有什么物体,如上图中的1号箭头,表示整张图片中有people,通过标签进行标注。

检测 (Detection):比图片分类再进一步,不仅知道图片里有什么,还检测出物体大概位置,即物体所属包围框(Bounding Box)的位置,如上图中的2号用包围框标注了一个行人。通过包围框/线+标签进行标注。

分割 (Segmentation):比目标检测再进一步,知道每个像素属于哪个标签,如上图中的3号描绘出了行人像素级别的轮廓。具体还可细分成语义分割 (Semantic Segmentation)和实例分割 (Instance Segmentation)两类,语义分割用于识别不同种类的物体,而实例分割在语义分割的基础上进一步区分了同类物体中的不同实例。通过多边形/像素图+标签进行标注。

姿态估计 (Pose Estimation):又称关键点检测,主要用于识别图像内的关键区域,例如表情识别,运动姿势检测等。通过点/线+标签进行标注。

视频行为识别(Video Action Recognition):识别目标的意图,例如识别打架行为,这种场景很难仅凭单张图片判断(比如在单张图片下打架和拥抱是类似的),通常需要识别一段视频才能判断目标意图。仅通常使用包围框/点/线+标签的在插值模式下进行标注。

下图为各个标注类型的示例:

图像标注工具竞品分析

图2:各类标注类型的示例,来源:https://gluon-cv.mxnet.io/contents.html

通常,企业会有各式各样的标注需求,作为一款通用的标注产品,产品功能(如支持各种输入格式,各种标注类型,各种标注形式,以及额外功能)会是我们关注的一个重点。

另一方面,实际情况中标注是一件十分费时费力的工作,例如需要标出上图中的大部分行人,而这样的图片至少得有几百上千张。由此可见,因此用户体验是我们需要关注的另一个重点。

综上,本文将主要从产品功能和用户体验这两个维度来分析行业中的代表性产品。

2. 核心业务流程

完成图片标注训练的整个工作流程,通常需要经历”数据准备”、”数据标注”、“数据进化”三个环节。具体业务流程如下图所示:

图像标注工具竞品分析

图3:图像标注通用业务流程

2.1 数据准备

数据准备包含:数据采集、数据预处理两步。

1. 数据采集:采集途径很多如:本地上传,调用其他数据集数据,摄像头数据导入,从云服务调用获取数据等。

2. 数据预处理:数据清洗是获取高质量训练数据的前提,并且通过清洗不合格的数据也可以减少无意义的标注工作,提高标注效率。数据清洗通常的操作包括:清洗模糊数据,清洗相似数据,裁剪,旋转,镜像,图片亮度,图片对比度,图片锐化等。

2.2 数据标注

数据标注包括:建立标注集、数据标注、标注审核。

2.2.1 建立标注集

标注集是标注工作的基本任务管理单元,在此不做过多赘述。

2.2.2 数据标注

具体方式见表1:

图像标注工具竞品分析

表1:数据标注具体方式

2.2.3 标注审核

针对“任务标注”,标注审核是对下发的标注任务进行管理并对标注结果审核,一般审核维度包括:标注进度、验收情况、标签数量、难例、标注质量等。

针对“自动标注”,标注审核是对自动标注的结果进行逐一检查确认,并修改标注有误的图片。

2.3 数据进化

数据进化包括:模型训练、模型推理。

2.3.1 模型训练

是将标注数据进行训练得出模型结果的过程。

2.3.2 模型推理

用于对训练的模型结果进行校验预测,并将错误或者有误差的校验结果记录下来带入到下一次模型训练中用于模型的优化迭代,从而形成由数据标注到模型训练再到模型迭代优化的闭合环路。

3. 竞品简介

目前市面上标注工具较多,首先需要确定竞品选取原则:

基于Web的应用,排除本地应用及移动端应用,理由:和笔者公司产品形态一致

有线上体验环境,理由:能够体验才能给出准确分析

功能较为完善,有代表性,理由: 完善的产品参考意义更大

因众包模式与笔者公司的产品战略有偏差,排除基于数据众包模式的产品,如Amazon Mechanical Turk。

综上,选取了以下3款竞品:

CVAT: Intel出品的开源标注工具,发布于2018年6月。其支持视频、图片等多种数据类型的标注,功能全面。

ModelArts: 华为出品的机器学习平台,发布于2018年10月,其中包含了数据标注模块。其支持从数据导入到模型运维的全流程开发,训练速度较快。

Supervisely: 俄罗斯Deep System旗下的模型训练平台,发布于2017年8月。其数据标注功能强大,特别是Smart Tool令人影响深刻:可以快速完成语义分割任务的标注。

图像标注工具竞品分析

表2:3款产品的概括对比

4. 功能对比

本节中,针对3款产品,我们从根据第2章的核心业务流程来探究产品功能间差异。

4.1 CVAT

CVAT的使用流程虽然十分简单,但功能十分全面和丰富。

图像标注工具竞品分析

图4:CVAT的标注流程

4.1.1 创建数据集

CVAT中以标注任务(Task)的概念替代数据集,一个任务可以包含多个作业,每个作业可以分配一个标注人员。

在创建标注任务时,CVAT也提供了丰富的高级选项,例如:

支持使用Git LFS: Git Large File Storage, 大文件的git管理插件。

调整图片质量:通过降低图片质量(压缩比)来加快高清图片的加载。

作业数和重叠数:如果一个任务中的图片量很大,可以将其分成多个作业。再配合重叠数,可以实现分配一张图片到多个作业的效果,不过暂时没有想到重叠数的使用场景。

总结来看,CVAT在标注任务模块汇中的一个优势是支持直接上传视频类型文件,上传完的视频会被根据用户设定的帧率(Frame)转换成图片。

CVAT在该模块中也有个明显的劣势:缺少一个统一的视角去总览任务中所有的图片(如下图所示,任务详情页中仅能看到首张图的照片),以及每张图片上所有的标注,推测是因为由于一张图片可能存在在多个作业中所导致。

图像标注工具竞品分析

图5:CVAT的标注任务详情页

4.1.2 自动标注

由于CVAT并未提供模型服务的能力,其自动标注功能还处在发展的初期,仅能满足个人实验。

添加自动标注模型需要用户上传模型文件,而非镜像或API,这种非服务化的方式很容易因为运行环境差异(例如2个服务器上安装了不同版本的依赖包),而影响标注成功率以及准确率。

4.1.3 人工标注

4.1.3.1 人工标注支持3种标注模式,且各个模式之前可来回切换:

标准模式(Standard):用于常规标注。

属性标注模式(Attribute Annotation):在“属性模式”下用户可以专注于修改标注框属性和标签属性,提升了对标注属性检查和修改的效率。此模式专门用于对同一个物体设置一个或多个属性的场景,如人脸标注中需要标注年龄,性别等。

标签标注模式(Tag Annotation):在“标签模式”下用户可以迅速实现增删标签和对标签属性的选择和修改。同时为图片分类型标注定制的模式,还可为每个标签设置快捷键。极大提升了图片分类的标注效率。

4.1.3.2 针对CVAT我们体验下来总结了以下几点优势:

1)灵活的标签和属性定义

同一图片可以标注多个标签,且一个标签可以设置多个属性且平台将属性定义分为:多选(Select)、单选(Radio)、是否(Checkbox)、文本(Text)、数字(Number)五种。CVAT标签自定义的自由度基本满足了绝大部分的标注需求。

图像标注工具竞品分析

图6:CVAT中的5种标签属性

2)丰富的标注形式

为了支持各种类型的标注,CVAT提供了6种的标注形式,包括:标签、点、矩形、折线、多边形、长方体等。同时支持AI多边形标注:只需指定至少四个点就可以在系统的帮助下框选出一个目标的轮廓,这点同Supervisely相同,我们者体验下来在AI识别速度上还是期待进一步提升。

3)标注方式快捷键的统一

选择一个标注方式则快捷键”N“就代表这种标注方式。重新选择标注方式则”N”代表的方式随之对应改变。快捷键的统一进一步降低了用户的操作成本。

4)任务分析

通过任务分析仪表板中的分析,您可以查看每个用户在每个任务上花费了多少时间,以及他们在任何时间范围内完成了多少工作,任务分析拓展了CVAT的团队标注能力。

图像标注工具竞品分析

图7:CVAT中的Analytics仪表板(图片来源CVAT用户手册)

5)追踪模式(Track mode)

用于对视频文件进行标注。视频会按照帧率被分割成若干画面(Frame)。用户仅需在关键画面(Key frame,和Flash中的关键帧很类似)上进行标注,关键画面之间的画面也会自动带上标注。CVAT目前仅支持包围框和点使用插值模式。Propagate功能很实用,场景:如果想将当前图片中的标注传递(Propagate)给后面的n张图片。同时CVAT的追踪模式结合合并(Merge)功能、分割(Split)功能共同支撑起CVAT独具优势的视频或动图标注能力。

4.1.3.3 可能正因为其支持的功能过于丰富,导致使用起来有一定的学习成本,用户体验会有些差强人意。例如:

标注时图片无法预览无法获知图片的总体标注情况,当下次在进入作业时不能快速定位到未标注的图片,这点虽说对与效率不会有太大影响但会影响用户的操作体验。

另外如果是做用户图片分类的标注,则需要使用属性模式,这一点用户难以感知。(我们一开始还以为只能通过画一个完全覆盖图片的框才能实现)

4.2 ModelArts

Modelarts在2019年10月17日版本更新后(特别是团队标注功能),业务流程覆盖趋于完整。整体用户流程如下:

图像标注工具竞品分析

图8:ModelArts的标注流程(图片来自ModelArts官网)

由于本文以数据标注功能的讨论为主,数据标注之后的功能(包括训练、推理、数据校正等)不在本文的讨论范围内。

4.2.1 创建数据集

在创建图片数据集时,ModelArts将图像标注类型设定在了数据集层面,即创建数据集时就需要区分标注类型.

这一点与Supervisely和CVAT区别较大,具体分析见Supervisely的人工标注章节。目前支持图片分类及目标检测两种任务。

图像标注工具竞品分析

图9:ModelArts中放入创建数据集

4.2.2 数据处理

华为的数据处理功能位于对象存储服务中,其提供了便利且功能全面的图片处理能力。

华为对象存储服务中提供了“图形界面模式”和“代码编辑模式”两种图片处理操作方式,适用了普通用户和开发者用户的使用。

同时最终的处理结果存放于内容分发网络(Content Delivery Network,CDN)加速,后续请求可以通过URL直接从CDN下载,可以将结果用于任意可以通过URL导入数据的标注平台,极大的拓展了平台的功能拓展性。

华为图片处理提供的能力主要包括:设置图片效果(亮度、对比度、锐化、模糊)、设置缩略、旋转图片、剪切图片、设置水印、转化格式、压缩图片。

图像标注工具竞品分析

图10:华为对象存储中的图片处理模块

4.2.3 智能标注

ModelArts智能标注包含:主动学习(半自动标注)和预标注(全自动标注), 目前只有“图像分类”和“物体检测”类型的数据集支持智能标注功能。下面简单分析一下智能标注模块:

系统只对未标注图片进行标注,这样可以减少重复标注,减少对于运算资源的浪费。

使用效果不理想,系统实际体验下来标注的准确性大概只能维持在60%。系统筛选难例的准确性也较低。

全自动标注支持选择自行训练的模型或ModelArts自带模型,在模型选择上灵活性较高,在下次进行作业时可以继承每次标注的结果进一步提升模型的准确率。

智能标注结果展示页面可以进行条件筛选,可选的条件包括:难例级,标签,样本创建时间,文件名,标注人,样本属性,置信度。精准的筛选可以满足大部分场景的需求。

4.2.4 人工标注

华为ModelArts人工标注的特点主要有以下三点:

4.2.4.1 目标检测标注支持多达6种形式的标注

包括方形、多边形、正圆、点、单线、虚线(见图11),丰富的标注方式覆盖了更广泛的标注场景,同时可以提高标注的精度。

4.2.4.2 高效的标签选择方式

在数据标注的交互上,华为ModelArts在画完选框后会自动弹出标签下拉框已经展开的添加标签弹窗(见图11),省去了用户框选完成后自行点击标签下拉框的步骤。且弹出的标签选项卡就在选框旁边(见图11),这样减短了滑动鼠标选择标签的鼠标移动行程。

图像标注工具竞品分析

图11:ModelArts图像检测的数据标注界面

4.2.4.3 图片分组

在标注预览页面华为ModelArts提供了图片分组功能(见图12),此功能会使用聚类算法或根据清晰度、亮度、图像色彩对图片进行分组。自动分组可以理解为数据标注的预处理,用户可根据分组结果,进行分组打标、图片清洗等操作。此功能可以提高图片标注效率,尤其是在图片分类标注的情况下再配合批量标注功能可以在标注速度上有质的提升。但我们在实际体验后感觉此功能分组的成功率较低。

图像标注工具竞品分析

图12:ModelArts中的图片自动分组

4.2.5 团队标注

华为ModelArts的团队标注功能设置很齐全,有很多亮点,这里从创建,标注,审核三个方面探讨:

4.2.5.1 创建

华为启用团队标注后可以直接指定标注团队,也可以选择指定管理员然后由管理员分配标注人力并做审核工作。选则完类型后团队成员会收到系统邮件,按邮件提示可以很轻松的完成标注和审核。

可以选择是否将新增文件自动同步至标注团队。同时可以选择标注团队的文件是否加载智能标注结果。这些操作增加了管理员对任务分配和自动标注之间关系的调节自由度。

图像标注工具竞品分析

图13:ModelArts团队标注创建页面

4.2.5.2 标注

标注一张图片并保存后,图片自动进入“待审核”状态。我们认为这样的状态切换超出用户预期,特别是用户如果还想再检查标注是否有误的话还需切换到“待审核”页面去检查,这样会给用户带来不便。

“待审核”的图片仍然可以修改,在管理员发起验收前,修改有效。但在验收时,如果图片被抽样到则修改不会保存在数据集中,如果图片未被抽样到则修改会被保存在数据集中。这样的审核逻辑限定可以减少在审核中产生不必要的混乱,防止审核结果产生误差。

4.2.5.3 审核

ModelArts将审核称为“验收”,验收分了2个层级:单张图片的验收和一批次图片的验收。流程是用户对一批图片做验收。审核层级过多,逻辑复杂,导致操作结果可能不符合用户预期。

标注状态混乱:例如管理员分配图片A给到标注人a,a标注完,管理员使用智能标注同时标注图片A,如果2个结果都被管理员确认,无论先确认哪种标注,最后只有智能标注的结果有效,而标注人a的标注则无效。

ModelArts提供了审核的仪表盘,仪表盘方便了审核的统计环节,用可视化的方式展示了任务进度。仪表盘的评判指标包括:验收进展统计、难例集数量、标签数与含标签的样本数、标注人进展统计等5个,见图14:

图像标注工具竞品分析

图14:ModelArts中的标注审核仪表盘

4.3 Supervisely

图像标注工具竞品分析

图15:Supervisely的标注流程

从图中可以看到团队标注一块的逻辑相比其他产品更加复杂,分析背后的原因:

扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

郑重申明:勤人信息以外的任何单位或个人,不得使用该案例作为工作成功展示!