数据标记系列——图像分割 & Curve-GCN
在之前的文章中(参考:),我们提到了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倍。

参考:
数据标记系列——图像分割 & Curve-GCN的更多相关文章
- 数据标记系列——图像分割 & PolygonRNN++(一)
当前大多数图像语义分割算法都是基于深度学习的方式,但是深度学习的效果很大程度上是依赖于大量训练数据的.目前的图像分割方法无非两种,一种是通过标注人员手动标注,如Cityscapes(提供无人驾驶环境下 ...
- 数据标记系列——图像分割 & PolygonRNN++(二)
实践 1.export PATH=~/anaconda3/bin:$PATH 2.Anaconda3 中创建新环境 Conda create –name=labelme_polyrnn_pp pyth ...
- 数据标记系列——标记工具Imagtagger
https://github.com/bit-bots/imagetagger 待有空说一说!
- Java 数据持久化系列之池化技术
在上一篇文章<Java 数据持久化系列之JDBC>中,我们了解到使用 JDBC 创建 Connection 可以执行对应的SQL,但是创建 Connection 会消耗很多资源,所以 Ja ...
- C# 数据操作系列 - 6 EF Core 配置映射关系
0. 前言 在<C# 数据操作系列 - 5. EF Core 入门>篇中,我们简单的通过两个类演示了一下EF增删改查等功能.细心的小伙伴可能看了生成的DDL SQL 语句,在里面发现了些端 ...
- C# 数据操作系列 - 8. EF Core的增删改查
0.前言 到目前为止,我们看了一下如何声明EF Core的初步使用,也整体的看了下EF Core的映射关系配置以及导航属性的配置. 这一篇,我带大家分享一下,我在工作中需要的EF Core的用法. 1 ...
- C# 数据操作系列 - 16 SqlSugar 完结篇
0. 前言 前一篇我们详细的介绍了SqlSugar的增删改查,那些已经满足我们在日常工程开发中的使用了.但是还有一点点在开发中并不常用,但是却非常有用的方法.接下来让我们一起来看看还有哪些有意思的内容 ...
- C# 数据操作系列 - 19 FreeSql 入坑介绍
0. 前言 前几天FreeSql的作者向我推荐了FreeSql框架,想让我帮忙写个文章介绍一下.嗯,想不到我也能带个货了.哈哈,开个玩笑-看了下觉得设计的挺有意思的,所以就谢了这篇文章. 简单介绍一下 ...
- Tapdata 肖贝贝:实时数据引擎系列(四)-关于 Oracle 与 Oracle CDC
摘要:想实现 Oracle 的 CDC,排除掉一些通用的比如全量比对, 标记字段获取之外, 真正的增量形式获取变更, 有三种办法: Logminer .XStream .裸日志解析,但不管哪种方法 ...
随机推荐
- python递归的最大层数?
Python的最大递归层数是可以设置的,默认的在window上的最大递归层数是 998. 可以通过sys.setrecursionlimit()进行设置,但是一般默认不会超过3925-3929这个范围 ...
- Java方法注意事项
使用方法的注意事项: 1.方法应该定义在类中,方法中不能再定义方法,也就是不能嵌套定义,但方法可以中可以调用方法 2.方法定义的前后顺序无所谓,执行的先后顺序只与调用有关 3.方法定义之后不会执行,如 ...
- Java基础学习【字符串倒序输出+排序】
字符串逆序输出 import java.util.*; public class Main{ public static void main(String [] args) { //字符串逆序输出 S ...
- learning java identityHashCode
var S1 = new String("aaaaa"); System.out.println("SI hasCode: " + S1.hashCode()) ...
- C# 分割字符串 分隔符是字符串的情况
string[] arr = System.Text.RegularExpressions.Regex.Split(str, "\r\n");
- Node.js 自学之旅(初稿篇)
学习基础,JQuery 原生JS有一定基础,有自己一定技术认知(ps:原型链依然迷糊中.闭包6不起来!哎!) 当然最好有语言基础,C#,java,PHP等等.. 最初学习这个东西的原因很简单,在园子里 ...
- 《挑战30天C++入门极限》引言
作为一个长篇的C++入门教程,无论如何也应该有这么个引言,可是文笔并不好的我,想了很久也不知道该如何写...... 仔细想想,与其把这篇短文当作教程的引言,其实它更应该是一篇引导初学者步入C++殿堂的 ...
- [WEB安全]SSRF中URL的伪协议
当我们发现SSRF漏洞后,首先要做的事情就是测试所有可用的URL伪协议 0x01 类型 file:/// dict:// sftp:// ldap:// tftp:// gopher:// file: ...
- html转图片/html2canvas的使用/星座测试/类似于损友圈的活动
https://try.fishqc.com/Activity/constellation ---成品 电脑上录的gif 有借鉴的链接,很多,下面这个还不错~先别看,尊重下我先~~~~ https:/ ...
- 小福bbs-冲刺日志(第五天)
[小福bbs-冲刺日志(第五天)] 这个作业属于哪个课程 班级链接 这个作业要求在哪里 作业要求的链接 团队名称 小福bbs 这个作业的目标 UI改进,前端页面改进,后端部分功能测试交予UI 作业的正 ...