在之前的文章中(参考:),我们提到了Polygon-RNN++在数据标注中的应用。今天不得不提到多伦多大学与英伟达联合公布的一项最新研究:Curve-GCN的应用结果显示图像标注速度提升10倍。

Curve-GCN是一种高效交互式图像标注方法,其性能优于Polygon-RNN++。在自动模式下运行时间为29.3ms,在交互模式下运行时间为2.6ms,比Polygon-RNN ++分别快10倍和100倍。

数据标注是人工智能产业的基础,在机器的世界里,图像与语音、视频等一样,是数据的一个种类。

对象实例分割是在图像中概括给定类的所有对象的问题,这一任务在过去几年受到了越来越多的关注,传统标记工具通常需要人工先在图片上点击光标描记物体边缘来进行标记。

然而,手动跟踪对象边界是一个费力的过程,每个对象大概需要30-60秒的时间。

为了缓解这个问题,已经提出了许多交互式图像分割技术,其通过重要因素加速注释。但是交互式分割方法大多是逐像素的(比如DEXTR),在颜色均匀的区域很难控制,所以最坏的情况下仍然需要很多点击。

Polygon-RNN将humans-in-the-loop(人机回圈)过程进行构架,在此过程中模型按顺序预测多边形的顶点。通过纠正错误的顶点,注释器可以在发生错误时进行干预。该模型通过调整校正来继续其预测。Polygon-RNN显示在人类协议水平上产生注释,每个对象实例只需点击几下。这里最糟糕的情况是多边形顶点的数量,大多数对象的范围最多为30-40个点。

然而,模型的重复性将可扩展性限制为更复杂的形状,导致更难的训练和更长的推理。此外,期望注释器按顺序纠正错误,这在实践中通常是具有挑战性的。

最新研究成果中,研究人员将对象注释框架化为回归问题,其中所有顶点的位置被同时预测。

在Curve-GCN中,注释器会选择一个对象,然后选择多边形或样条轮廓。

Curve-GCN自动地勾勒出对象的轮廓:

Curve-GCN允许交互式更正,并且可以自动重新预测多边形/样条

与Polygon-RNN + +相比:

  • Curve-GCN具有多边形或样条曲线参数
  • Curve-GCN可同时预测控制点(更快)

代码:

https://github.com/fidler-lab/curve-gcn

论文地址:

https://arxiv.org/abs/1903.06874

论文摘要

通过边界跟踪来手动标记对象是一个繁重的过程。在Polygon-RNN ++中,作者提出了Polygon-RNN,它使用CNN-RNN架构以循环方式产生多边形注释,允许通过humans-in-the-loop(人机回圈)的方式进行交互式校正。

我们提出了一个新的框架,通过使用图形卷积网络(GCN)同时预测所有顶点,减轻了Polygon-RNN的时序性。我们的模型是端到端训练的。它支持多边形或样条对对象进行标注,从而提高了基于线和曲线对象的标注效率。结果表明,在自动模式下,Curve-GCN的性能优于现有的所有方法,包括功能强大的PSP-DeepLab,并且在交互模式下,Curve-GCN的效率明显高于Polygon-RNN++。我们的模型在自动模式下运行29.3ms,在交互模式下运行2.6ms,比Polygon-RNN ++分别快10倍和100倍。

参考:

多伦多大学&NVIDIA最新成果:图像标注速度提升10倍!

数据标记系列——图像分割 & Curve-GCN的更多相关文章

  1. 数据标记系列——图像分割 & PolygonRNN++(一)

    当前大多数图像语义分割算法都是基于深度学习的方式,但是深度学习的效果很大程度上是依赖于大量训练数据的.目前的图像分割方法无非两种,一种是通过标注人员手动标注,如Cityscapes(提供无人驾驶环境下 ...

  2. 数据标记系列——图像分割 & PolygonRNN++(二)

    实践 1.export PATH=~/anaconda3/bin:$PATH 2.Anaconda3 中创建新环境 Conda create –name=labelme_polyrnn_pp pyth ...

  3. 数据标记系列——标记工具Imagtagger

    https://github.com/bit-bots/imagetagger 待有空说一说!

  4. Java 数据持久化系列之池化技术

    在上一篇文章<Java 数据持久化系列之JDBC>中,我们了解到使用 JDBC 创建 Connection 可以执行对应的SQL,但是创建 Connection 会消耗很多资源,所以 Ja ...

  5. C# 数据操作系列 - 6 EF Core 配置映射关系

    0. 前言 在<C# 数据操作系列 - 5. EF Core 入门>篇中,我们简单的通过两个类演示了一下EF增删改查等功能.细心的小伙伴可能看了生成的DDL SQL 语句,在里面发现了些端 ...

  6. C# 数据操作系列 - 8. EF Core的增删改查

    0.前言 到目前为止,我们看了一下如何声明EF Core的初步使用,也整体的看了下EF Core的映射关系配置以及导航属性的配置. 这一篇,我带大家分享一下,我在工作中需要的EF Core的用法. 1 ...

  7. C# 数据操作系列 - 16 SqlSugar 完结篇

    0. 前言 前一篇我们详细的介绍了SqlSugar的增删改查,那些已经满足我们在日常工程开发中的使用了.但是还有一点点在开发中并不常用,但是却非常有用的方法.接下来让我们一起来看看还有哪些有意思的内容 ...

  8. C# 数据操作系列 - 19 FreeSql 入坑介绍

    0. 前言 前几天FreeSql的作者向我推荐了FreeSql框架,想让我帮忙写个文章介绍一下.嗯,想不到我也能带个货了.哈哈,开个玩笑-看了下觉得设计的挺有意思的,所以就谢了这篇文章. 简单介绍一下 ...

  9. Tapdata 肖贝贝:实时数据引擎系列(四)-关于 Oracle 与 Oracle CDC

      摘要:想实现 Oracle 的 CDC,排除掉一些通用的比如全量比对, 标记字段获取之外, 真正的增量形式获取变更, 有三种办法: Logminer .XStream .裸日志解析,但不管哪种方法 ...

随机推荐

  1. 什么是C/S和B/S架构?

    C/S架构 C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的. 这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才 ...

  2. (尚001)Vue框架介绍

    框架出现时间: Angular -->React(组件化+虚拟动) -->Vue(读作view) 1.Vue.js是什么?(作者:尤雨溪(一位华裔前Google工程师))        尤 ...

  3. OPCode详解及汇编与反汇编原理

    1. 何为OPCode 在计算机科学领域中,操作码(Operation Code, OPCode)被用于描述机器语言指令中,指定要执行某种操作的那部分机器码,构成OPCode的指令格式和规范由处理器的 ...

  4. #505. 「LibreOJ β Round」ZQC 的游戏

    题目描述 首先一定是让ZQC吃掉他能吃到的所有的球,这样才能尽可能的满足ZQC的质量是所有玩家中最大的. 在满足某一个玩家的质量不会超过ZQC的情况下,让这个玩家吃掉尽可能多的球,让其他玩家吃掉的尽可 ...

  5. VIJOS PID221 / 烦人的幻灯片

     暴力出奇迹,学长诚不欺我. PID221 / 烦人的幻灯片 2017-04-14 19:47:08 运行耗时:30 ms 运行内存:12292 KB 查看最后一次评测记录 题目描述 李教授于今天下午 ...

  6. 实体类(VO,DO,DTO,PO)的划分《转载---》

    转载自:https://blog.csdn.net/u010722643/article/details/61201899 经常会接触到VO,DO,DTO的概念,本文从领域建模中的实体划分和项目中的实 ...

  7. hive 属性随笔记录

    set hive.mapred.mode=strict; //设置hive执行模式,默认为nonstrict(非严格模式),这里设置为严格模式 set hiveconf:hive.cli.print. ...

  8. archlinux安装nvidia-1050ti闭源驱动教程,亲测

    link:https://blog.csdn.net/u014025444/article/details/91454059

  9. 2019年7月第一周总结-RabbitMQ总结

    这一周主要是对RabbitMQ做了一下学习. 快速阅读 RabbitMq的介绍以及环境安装配置,以及RabbitMq的六种应用 .单生产者和消费者, 单生产者多消费者,消息的发布订阅,消息类型Echa ...

  10. Git是怎么Ignore文件的?

    Git is one of the most popular version control systems (VCS) available, especially thanks to hosting ...