算力数据是影响深度学习的两个关键因素。在算力满足的情况下,为了达到更好的效果,我们就需要提供海量优质素材数据给神经网络,以求训练出来高精度的网络模型。在平时的测试过程中,也发现基于深度学习的算法,素材的数量素材的均衡度标注的质量对训练出来的模型精度影响非常大。
    常见的算法模型训练所需要的素材格式主要为:

  • 二维图像文件
  • 对应二维图像中人工标注出来的目标信息,包括目标坐标[(xmin,ymin)(xmax、ymax)]/大小、目标类型(class)

    模型训练的过程就是将上述素材输入到神经网络,经过反复迭代优化,以求得到效果最好的通用模型。在实际应用模型的时候,会根据检测到目标对象输出坐标/大小、目标类型、置信度。用一种数据类型表示如下:

(xmin,ymin,xmax,ymax,class,score)
可设置一个门限值,通过与score进行比较,过滤掉部分结果

素材标注工具

    通过对深度学习的基础知识学习,我们可以理解深度学习就是通过输入海量标注素材,不断调整模型参数去拟合,最终输出效果较好的模型,再通过输入非素材中的数据来预测结果,以求达较高的预测准确率和通用性。以下为目前常用的图像素材标注工具labelImg,标注完成后会生成相应的xml文件,用以标识坐标和类型,如下图所示:

  • 标注工具
  • xml文件

标注可能存在的问题

    图像标注时,需要人工标出目标的位置和大小,并给出或选择目标类型。所以对人工标注是有一定要求的。常见的标注问题如下所示:

  • 标注框过大或过小
  • 标注框位置不正确
  • 标注类型错误
  • 存在漏标注情况
  • 存在过标注情况
  • 模糊的目标也进行标注
  • 标注分割错误问题
  • 标注框不完整,存在缺失

因此一个合格的标注应该具备以下因素:

  • 标注框大小和位置合适
  • 标注框能将目标对象围住
  • 标注框的对象类型准确无误
  • 一个标注框中仅包含一种目标对象类型

标注注意事项

标注框大小合适

    标注框大小合适意味着所画的标注矩形框刚好将目标对象包围住,对象与标注框间的间隙合适,不能过大也不能过滤。过大会传递给网络不必要的信息,太小传递给网络的信息会存在缺失。

标注框位置合适

    位置一般是标注框大小合适,但存在与目标对象存在偏移的情况,如下所示:

目标遮挡时处理

    在标注时,不能仅标注完整可见的目标对象,对于人眼可见能分辨的对象也要进行标注,为提高模型通用性,很多遮挡目标也是需要能被模型检测识别出来的。针对这种情况需要根据具体业务规则进行处理,一般需要遵循的原则如下所示:

  • 对象的遮挡面积小于20%~40%,即人眼可视面积为60%~80%需要进行标注
  • 对于遮挡的对象,标注时只需要标注可见部分
  • 对于遮挡的对象,人眼可以识别出对象类型

标注不能遗漏目标对象

    虽然各个算法对小目标的检测效果有所差异,但对于小目标的目标对象仍然需要进行标注。遵循的原则跟目标遮挡时的处理一样,只要人眼可以进行分辨,仍然需要进行标注。

标注不能存在过标注情况

    不同的业务,对于目标的识别也是不一样的,如对于Logo侵权这种问题,如国际一些公开通用的Logo则不需要进行标注,如下所示:

针对Logo侵权的目标对象,一般打印体字无需要进行标注,但对于艺术字或单独设计的字体也是需要进行标注的。

对于非常模糊的目标对象的处理

    这种情况一般是被遮挡面积过大、距离太远或图像和视频分辨率很低,导致人眼无法进行分辨,针对这种情况则无需进行标注。

对象分开标注问题

    这种情况需要根据业务场景进行区分处理。在平时测试,我所遵循的原则如下所示:

  • 背景为纯色
  • 图像中的对象可以被分割为一个独立可识别的对象个体
    同时满足以上两个条件,则进行单独标注,否则则当作一个整体进行标注。

标注框不完整

    这种情况一般为标注软件Bug或人工标注出现越界,导致标注框看起来存在部分框缺失。如下所示:

如何提高素材标注质量

从素材的三大关键要素(素材数量、素材的均衡度、标注质量)来看,我们可以采用以下方式来保证素材质量

素材数量

    在收集数据时,需要尽可能多的从各个渠道多收集素材数据,如合法爬虫、公开数据集等

素材的均衡度

    素材的均衡度通常是指素材的多样性分布。如视频里面,由于拍摄的角度不同,出来的素材角度也是不同,如前方、后方、左侧、右侧等。图像也是取决于拍摄素材的摆放角度,例如拍摄一件衣服,如正前方,正后方、左侧、右侧,斜面拍摄,距离远近等,只有在选择的素材尽可能的多样,训练出来的模型也才有更好的通用性。

标注质量

    数据标注和检查是非常重要的一个环节,需要注意以下几个方面:

  • 1、不要单纯追求速度而忽视质量

    虽然对于数据的标注,有时间和进度要求,但要结合实际情况找到平衡点,不要单纯追求速度,导致标注质量下降,导致日后大量返工

  • 2、定期专人对标注素材进行审核

    指定专人定期对标注的素材进行审核,可以很大避免在标注过程出现的问题,如标注质量较差,每个人对标注的理解存在差异等。

参考文章:https://www.cnblogs.com/xiaozhi_5638/p/11288118.html

本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注:

AI-数据标注的更多相关文章

  1. AI数据标注行业面临的5大发展困局丨曼孚科技

    根据艾瑞咨询发布的行业白皮书显示,2018年中国人工智能基础数据服务市场规模为25.86亿元,预计2025年市场规模将突破113亿元,行业年复合增长率达到了23.5%.​ 作为人工智能产业的基石,数据 ...

  2. 破局AI落地难,数据标注行业需率先变革丨曼孚科技

    ​2019年,国内人工智能领域的投融资热情大幅降低,相当数量的AI企业彻底消失在了历史的长河中,“人工智能寒潮已至”甚至成为行业年度热词. 与前几年创业与投资热情齐头并进的盛况相比,近段时间的AI行业 ...

  3. 曼孚科技:数据标注,AI背后的百亿市场

    ​ 1. 两年前,来自山东农村的王磊成为了一位数据标注员.彼时的他,工作内容非常简单且枯燥:识别图片中人的性别. 然而,一段时间之后,他注意到分配给他的任务开始变得越来越复杂:从识别性别到年龄,从框选 ...

  4. [C#.NET 拾遗补漏]09:数据标注与数据校验

    数据标注(Data Annotation)是类或类成员添加上下文信息的一种方式,在 C# 通常用特性(Attribute)类来描述.它的用途主要可以分为下面这三类: 验证 Validation:向数据 ...

  5. 法律AI数据及应用

    本文简单列举了法律AI目前的应用,数据集,研究方向. 历史 1970年,Buchanan和Headrick发表文章"关于人工智能和法律推理的一些猜测",讨论了对法律研究和推理进行建 ...

  6. PornHub 正式发布 AI自动标注色情演员引擎

    http://igeekbar.com/igeekbar/post/501.htm Pornhub已经宣布推出一款全新的成人片识别引擎,这款引擎由AI驱动,使用计算机视觉技术自主检测和识别成人片内容以 ...

  7. AI在自动化测试领域的应用

    阿里QA导读:最近一两年随着深入学习技术浪潮的诞生,智能化测试迎来了新的发展,而AI也会引领下一代测试的新航向.Testin云测CTO陈冠诚先生的分享让我们看到AI在移动自动化测试领域里面的创新机会点 ...

  8. 智慧金融时代,大数据和AI如何为业务赋能

    前言:宜信技术人物专访是宜信技术学院推出的系列性专题,我们邀请软件研发行业的优秀技术人,分享自己在软件研发领域的实践经验和前瞻性观点. 第一期专访我们邀请到宜信科技中心AI中台负责人王东老师,从大数据 ...

  9. 如何利用AI识别未知——加入未知类(不太靠谱),检测待识别数据和已知样本数据的匹配程度(例如使用CNN降维,再用knn类似距离来实现),将问题转化为特征搜索问题而非决策问题,使用HTM算法(记忆+模式匹配预测就是智能),GAN异常检测,RBF

    https://www.researchgate.net/post/How_to_determine_unknown_class_using_neural_network 里面有讨论,说是用rbf神经 ...

  10. sloth——算法工程师标注数据的福音

    一般算法工程师做标注,都要先开发个标注工具,无非下面几个选项: 1.mfc,C#,优点是交互界面友好,开发难度适中,缺点是没法跨平台 2.matlab,优点是可以跨平台,开发难度非常低,缺点是速度慢. ...

随机推荐

  1. CSS制作导航栏

    最终效果: 代码: <!DOCTYPE html> <html> <head> <title>#练习册二</title> <style ...

  2. 使用ES6 Class封装的IndexDB 操作类,并实现模糊搜索

     封装如下: indexDBOperate.js export class IndexDBOperate { db = null // 数据库实例 databaseName = null // 数据库 ...

  3. 【day04】PHP

    一. 运算符 1.按功能分  (1)算术运算符  (2)字符运算符  (3)赋值运算符  (4)比较运算符  (5)逻辑运算符  (6)错误抑制符  (7)执行运算符 2.逻辑运算符 : ! & ...

  4. coreml之通过URL加载模型

    在xcode中使用mlmodel模型,之前说的最简单的方法是将模型拖进工程中即可,xcode会自动生成有关模型的前向预测接口,这种方式非常简单,但是更新模型就很不方便. 今天说下另外一种通过URL加载 ...

  5. docker的一些常用操作

    镜像:一个打包好的应用,还有应用运行的系统.资源.配置等容器:镜像的实例,一个镜像可以有一个或多个实例(容器)对docker容器的变更时写到容器的文件系统的,而不是写到docker镜像中的,可以用一个 ...

  6. SpringCloud微服务实现生产者消费者以及ribbon负载均衡

    一.SpringCloud_eureka_server 1.导入依赖 <dependencies> <dependency> <groupId>junit</ ...

  7. Comet OJ - Contest #7 C 临时翻出来的题(容斥+状压)

    题意 https://www.cometoj.com/contest/52/problem/C?problem_id=2416 思路 这里提供一种容斥的写法(?好像网上没看到这种写法) 题目要求编号为 ...

  8. 2019.11.12&13题解

    写在前面: 虽然拿到了rk1,但是T3被卡常TLE90分,(考后再交就A了!?),lemon80,又丢失了一次良好的AK机会, 掐头去尾距离联赛仅剩2天,最近中午一直睡不好,可能是有些紧张, 希望自己 ...

  9. 在.Net Core中使用HttpClient添加证书

    最近公司要对接电信物联网北向API接口,当调用Auth授权接口时,需要用到证书,此篇文章记录下遇到的坑~ 有两种调用接口的方式,下面是两种方式的简单示例 1.使用HttpClient public s ...

  10. iptables如何安全的清空规则

    使用 /sbin/iptables -F 要小心,搞不好,你就马上同服务器断开连接了 如果想清空的话,先执行 /sbin/iptables -P INPUT ACCEPT 然后执行 /sbin/ipt ...