如何进行数据标注(1)
现在网络上关于深度学习算法的文章很多,但深度学习其实是数据驱动型。很多时候数据足够好,能给算法开发提供很大的便利。
因此,本文主要讲解数据标注。关于数据标注的推文共有两篇,内容分别为:(1)数据标注综述(2)数据标注实践要点
本文是第一部分:数据标注综述
1、数据标注的作用
数据标注是大部分人工智能算法得以有效运行的关键环节。人工智能算法是数据驱动型算法,也就是说,如果想实现人工智能,首先需要把人类理解和判断事物的能力教给计算机,让计算机学习到这种识别能力。
数据标注的过程是通过人工贴标的方式,为机器系统可供学习的样本。数据标注是把需要机器识别和分辨的数据贴上标签,然后让计算机不断地学习这些数据的特征,最终实现计算机能够自主识别。
2、数据标注的质量及标注流程
数据的高质量体现在两个方面:一个标注的数量多,二是标注的质量高。
图像标注的质量标准:图像标注的质量好坏取决于像素点的判定准确性。标注像素点越接近被标注物的边缘像素,标注的质量就越高,标注的难度也越大。如果图像标注要求的准确率为100%,标注像素点与被标注物的边缘像素点的误差应该在1个像素以内。
语音标注的质量标准:语音标注时,语音数据发音的时间轴与标注区域的音标需保持同步。标注于发音时间轴的误差要控制在1个语音帧以内。若误差大于1个语音帧,很容易标注到下一个发音,造成噪声数据。
文本标注的质量标准:文本标注涉及到的任务较多,不同任务的质量标准不同。例如:分词标注的质量标准是标注好的分词与词典的词语一致,不存在歧义;情感标注的标注质量标准是对标注句子的情感分类级别正确。
多数投票算法(majority voting,MV)是常用的标注质量评估算法。MV 算法是由约翰逊提出的一种通用性强的质量控制算法。它将绝大多数用户选择的结果视为最终结果。其基本思想为:假设有个图像标注任务,每个任务对应一个二元分类。为提高标注质量和标注可靠性,将需要标注的对象分配给个员工(一共个员工,)。每个工人的标注结果为,再根据推断出的最终标签,其计算公式为:
图像数据的标注流程为:
(1)数据清洗:排除数据存在缺失值、噪声数据、重复数据等质量问题。
(2)数据标注:划分标注任务、制定标注规范。进行标注任务。
(3)标注检验:由标注审核员或机器质检机制,审核标注质量
3、常用的标注工具
公众号附不了超链接,点击阅读原文获取原链接。点击每个工具的名字即可获取下载地址。每个链接我都试了,如果连接不上可能是需要挂**。
从左到右依次为名称、简介、运行平台、标注形式、标注格式
LabelImg:著名的图像标注工具 ;Windows,Linux,Mac;矩形框;xml格式
LabelMe:著名的图形界面标注工具,能够标注图像和视频;Windows,Linux,Mac;多边形、矩形、圆形、多段线、线段、点;VOC和COCO格式
RectLabel:图像标注;Mac;多边形、矩形、多段线线段、点;YOLO、KITTI、 COCO1、CSV格式
VOTT:基于web方式本地部署的标注工具,能够标注图像和视频;Windows,Linux,Mac;多边形、矩形、点;TFRecord、CSV、VoTT
LabelBox:适用于大型项目的标注工具,基于Web,能够标注图像、视频和文本;-;多边形、矩形、线、 点、嵌套分类;JSON格式
VIA:VGG的图像标注工具,也支持视频和音频标注;-;矩形、圆、椭圆、多边形、点和线;JSON格式
COCO UI:用于标注 COCO 数据集的工具,基于Web方式;-;矩形、多边形、 点和线;COCO格式
Vatic:Vatic是一个带有目标跟踪的视频标注工具,适合目标检测任务;Linux;-;VOC格式
BRAT:基于Web的文本标注工具,主要用于对文本的结构化标注;Linux;-;ANN格式
DeepDive:处理非结构化文本的标注工具;Linux;-;NLP格式
Praat:语音标注工具;Windows,Unix,Linux,Mac;-;JSON格式
精灵标注助手:多功能标注工具;Windows,Linux,Mac;矩形、多边形和曲线;XML格式
- 分布式监控系统Zabbix-3.0.3-完整安装记录(3)-监控nginx,php,memcache,Low-level discovery磁盘IO
- python报错问题解决:'ascii' codec can't encode character
- 利用message queue实现aspx与winform通信, 并附完整示例
- 10招步骤保护IIS服务器安全
- Haproxy+Keepalived高可用环境部署梳理(主主和主从模式)
- Android-Universal-Image-Loader 图片异步加载类库的使用
- 工作组模式下专用队列(Private Queue)如何引用远程队列路径
- haproxy反向代理环境部署(http和https代理)
- 网站速度优化模块HttpCompressionModule
- mysql启动后随即关闭问题解决(ibdata1文件损坏导致)
- webvirtmgr-重命名kvm虚拟机的名称
- Lucene 2.0最基本的入门代码
- 网站每日PV/IP统计/总带宽/URL统计脚本分享(依据网站访问日志)
- 查看服务器系统资源(cpu,内容)利用率前几位的进程的方法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【入坑JAVA安全】JAVA反射机制
- 小妹妹,我想握着你的手,不为别的,只为给你讲清楚CVE-2020-5902
- 不是吧?阿sir!周末你就不学习了吗?
- 灰盒方式通关WebGoat8
- 调试支付宝脱机认证接口遇到的问题总结
- 换一种姿势挖掘任意用户密码重置漏洞
- 表哥,有没有XMLDecoder反序列化的案例?
- 不得不说,minigui真的很坑
- 树的遍历总结
- ggplot2|详解八大基本绘图要素
- LDheatmap|SNP连锁不平衡图(LD)可视化,倒三角图?
- Oracle 表分区笔记
- Java并发编程
- 让终端支持https,移植OpenSSL和libcurl到嵌入式linux,遇到的问题总结
- ComplexHeatmap|根据excel表绘制突变景观图(oncoplot)