效率与质量齐飞,标注工具全面横评

  • Post author:
  • Post category:其他




​​​​​​​

标注的重要性




网页端


Label Studio


PaddleLabel


labelbee


Make Sense


CVAT


跨平台


VoTT​​​​​​​


windows


其他工具

主流标注工具横向对比

标注的重要性

人工智能的发展过程中,数据、算力、算法缺一不可。目前,深度学习是AI的主流算法,训练数据在深度学习训练中起到重要作用。很多情况下,“大量数据+普通模型”比“小量数据+高级模型”的准确度要高。

模型效果与标注量之前的关系,示意图

早期的AI数据标注行业是劳动密集型行业,门槛较低,市面上大大小小的供应商良莠不齐,质量和数据精度无法保证。随着竞争的加剧,这一行业的头部企业正在显现。目前国内有竞争力的数据标注企业有已获得3300万元Pre-B轮融资的「龙猫数据」,公司主打众包模式,即通过大量C端的人力在APP上实现数据标注的分包。以及从数据交易转型至数据标注方向,通过积累的销售优势服务企业客户的「数据堂」;还有提供从数据标注到模型训练迭代一站式服务的「倍赛Basic Finder」等。在头部企业的竞争中,标注精度和速度是核心竞争点。多重审核机制和智能标注功能是各大公司的核心竞争力。

此前,供AI训练的数据的标注以人工为主,业界普遍探索依靠技术来提升标注的效率。质量管控系统首先利用自动化培训考核工具选择上岗人员,并根据考试结果分配相应难度的标注内容。此外,在标注过程中,系统会对已标注数据进行交叉审核,被标注数据可在用户自定义的标注池、检查池、抽查池中来回流转,保证最终进入完成池的精确度。除了人工质检,系统还设置算法质检,保障数据服务质量的下限,尽量避免漏题和显而易见的错误。

在标注速度方面,还要利用深度学习的模型辅助标注,降低人工劳动重复率。在标注时,平台的智能识别功能可以对物体边界进行高贴合度的分割,标注者只需要对标注数据进行选点即可框出物体。这一功能能将标注效率提升50%-80%。

本文根据部署平台、上手难易等进行了详细的分析

网页端

Label Studio


告别手动标注时代 | SAM 助力 Label-Studio 形成 SOTA 级半自动标注工具!


【yoloV5实战记录】小白也能训练自己的数据集!

Label Studio支持任务类型

Label Studio检测标注页面
  • 跨平台开源多任务协作标,用户在线协同、用户管理,权限设置
  • 检测标注、分类,分割,关键点标注
  • 支持辅助标注
  • 工作量统计

安装

git clone https://github.com/open-mmlab/playground

pip install opencv-python pycocotools matplotlib onnxruntime onnx
pip install git+https://github.com/facebookresearch/segment-anything.git
cd label_anything
wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_b_01ec64.pth

安装 Label-Studio 和 label-studio-ml-backend
pip install label-studio==1.7.3
pip install label-studio-ml==1.0.9

启动后端服务
label-studio-ml start sam --port 8003 --with sam_config=vit_b sam_checkpoint_file=./sam_vit_b_01ec64.pth out_mask=True out_bbox=True device=cuda:0
浏览器打开IP:8003会返回
{"model_dir":"playground/label_anything/./sam","status":"UP","v2":false}

另开终端启动 Label-Studio 网页服务
label-studio start --port 8008
浏览器打开IP:8008
注册账号后即可使用


PaddleLabel

百度出品

强大的CV智能标注工具PaddleLabel强势来袭

图像检测标注功能展示

PaddleLabel的强大之处在于,它不仅提供丰富的手工标注功能,还能依托飞桨丰富强大的智能标注模型为降低标注成本。手动标注和智能标注相结合,让标注工作在追求速度的同时更能同时兼顾到精度的需求


  • 简单

    手动标注直观易操作,上手成本极低。

  • 高效

    支持交互式分割和预标注,标注精度及效率提升显著。

  • 灵活

    分类支持单分类和多分类的标注,分割支持多边形、笔刷及交互式分割等多种功能,方便用户根据场景需求切换标注方式。

  • 全流程

    与其他飞桨套件密切配合,方便用户完成数据标注、模型训练、模型导出等全流程操作。


labelbee

商汤出品

全平台支持:Mac / Linux / Windows,开箱即用,内置 6 款通用的标注工具,仅需简单配置即可标注支持通用数据,COCO 格式导出,语义分割 Mask 导出

  • 目标检测:车辆、车牌、行人、人脸、工业部件等检测场景
  • 目标分类:检测对象分类、目标特征、是非判断等分类场景
  • 语义分割:人体分割、全景分割、可行驶区域分割、车辆分割等
  • 文本转写:车牌、发票、保单、招牌等文本检测和识别
  • 轮廓线检测:人体轮廓线、车道线等定位线场景
  • 关键点检测:人脸人体关键点、车辆关键点、路沿关键点等定位场景
labelbee

labelbee

Make Sense

MakeSense检测标注
Make Sense关键点标注


CVAT

opencv官方出品工具

CVAT标注工具 docker安装


使用教程

CVAT标注界面


CVAT 系列



CVAT 使用(1) 界面与标注功能介绍

​​​​​​​

之前用过标注工具存在的问题:

不适合多人协作

​​​​​​​. 之前用VoTT标注,6个人标注,碰到了很多很多问题:

  • 无法导入别人的标注结果。
  • 任务分配啥的需要离线处理,非常麻烦。
  • 无法看到每个人的工作进度。
  • 程序不稳定:VoTT是桌面应用,经常死机。

总结:

  • 如果只是一个人,稍微标一些数据,其实VoTT是非常好的选择。
  • 如果标注数据比较多,且涉及到多人协作,CVAT的优势就体现出来了。
  • VoTT的学习成本低、安装简单、上手快;CVAT安装复杂(某同事装了一周才装完,doge),功能全。


优点:

  • 它很容易安装和扩展,因为它是一个运行在 Docker 中的 Web 应用程序
  • 它包含了许多自动化工具(如使用 TensorFlow 物体检测 API 的自动标注、视频插值……)
  • 它允许协同工作管理,这样团队中的不同成员就可以在同一个标注任务上协同工作


缺点:

  • UI 相当复杂。例如,对于初次设置标注任务的用户而言,这可能会非常棘手
  • 一开始用起来不是很直观,可能需要几天的时间来掌握

安装,推荐使用docker,一键部署

git clone https://github.com/opencv/cvat
cd cvat
如果要在cvat服务器之外访问,需要指定CVAT_HOST环境变量。最好的方法是创建docker-compose.override.yml并将localhost改为你的服务器ip,例如改服务器ip为172.16.100.201
先把docker-compose.yml复制到cvat目录后命名为docker-compose.override.yml
cp  docker-compose.yml   docker-compose.override.yml
vim docker-compose.override.yml
cvat_server和cvat_ui中的CVAT_HOST:-localhost改成CVAT_HOST:你的IP地址
修改完成后,docker-compose使用指定文件构建cvat
docker-compose -f docker-compose.override.yml up -d
在浏览器输入你的IP地址:8080即可访问
使用下面的命令创建管理员
docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'


快捷键

  • 保存: Ctrl + S
  • 删除: Delete
  • 缩放:鼠标滚轴,往上放大,向下缩小
  • 拖动:鼠标左键点击并拖动图片,调整位置
  • 下一帧:F
  • 上一帧:D
  • 向后跳十张: Shift+Ctrl + V
  • 向前跳十张: Shift+Ctrl + C
  • 复制框:Ctrl + C
  • 粘贴框:Ctrl + V
  • 重复上一次标注框参数:N,比如连续标一类头框,那么每次重复标时按N可以直接标下一个头框
  • 对选定对象连续标注接下来所有帧内此对象:Ctrl + B
  • 转换标签:Ctrl+(0..9)

跨平台


labelme

: 支持点、线、分割等的标注,跨平台且支持python2.&和3.*,详见

labelme 使用教程

  • 优点:跨平台,安装方便使用简单
  • 缺点:只支持矩形框的标注


roLabelImg

:支持旋转矩形标注的工具


labelImg

:基于python开发的标注工具


VoTT

微软开发

提供了非常棒的用户体验,这可能会在你标注时为你节省大量的时间和精力,但是BUG很多,经常崩溃,目前已经没人维护了。


优点:

  • 代码写得非常好(在 React 中),并且完美地定义了接口,因此获取代码和添加所需的额外功能都很容易
  • 正如我所说的,UX 是完美的,它有一个黑色的主题和一个跟随鼠标的虚线网格,所以很容易知道从哪里开始标注一个边界框。这看起来像是一种额外嘉奖,但是相信我,这对于标注来说真的很重要!
  • 它提出使用深度学习算法来自动检测对象(它附带了在 COCO 数据集上训练的 SSD 模型)
  • 它是一个 web 应用程序和一个电子应用程序。这使你可以将它作为一个重客户端使用,也可以将它作为 web 浏览器中运行的应用程序来使用


缺点:

  • 要使用 web 应用程序版本,你需要将数据托管在微软的云计算服务 Azure 上(然而,电子版应用程序允许你在硬盘上使用数据,但需要使用 npm 安装程序)
  • 它没有提供一个内置的 API(但是,通过调整代码,使你的私有 API 能够与之通信,这是非常容易的)
  • 你不能给整张图片贴标签:你只被允许绘制带有相关标签的边界框(或多边形)。


VGG Image Annotator (VIA)

一款开源的图像标注工具,由Visual Geometry Group开发。可以在线和离线使用,可标注矩形、圆、椭圆、多边形、点和线。标注完成后,可以导出为csv和json文件格式。

使用教程


优点

1.人脸数据标注提供了各种方便的操作,人脸数据标注首选工具

2.网页源代码开源,可离线使用还可进行二次开发,比如增加鼠标十字线

3.标框可以复制(可前后帧复制),同样大小可直接复制且继承属性


不足

多边形工具,一旦绘制完多边形无法增加锚点,只能调节点的位置

yolo_mark:用于图像检测任务的数据集制作

windows


MRLabeler

:如果只在windows下用的话首推我的工具,上手快,有校验脚本,可大大减轻工作量

其他工具


semantic-segmentation-editor

日立旗下,可用于分割、框等的标注,配置略繁琐,教程少


annotation_tools

:coco数据集标注工具, 2年多没更新


od-annotation

采用python-flask框架开发,基于B/S方式交互,支持多人同时标注Note:不支持手动调整矩形框大小,界面略简陋


dataset-annotator

:Scalable, cross-platform ion-electron app that allows the user to annotate an image dataset.



版权声明:本文为minstyrain原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。