Learning to Segment[译]

Facebook AI研究团队通过DeepMask、SharpMask及MultiPathNet等技术,实现了计算机在像素级别上理解图像的目标检测与分类,为视觉识别技术的发展开辟了新的可能性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文链接(需翻墙)

Piotr Dollar Facebook Website

计算机能在一张图片中,像人一样,轻松地区分不同的目标吗?

当人看一张图片时,他能根据像素来识别目标。在FAIR(Facebook AI Research),我们把计算机视觉推向下一个阶段:我们的目标是类似人一样地,在像素级别理解图像和目标。

过去几年,深度卷积神经网络和计算架构方面的进步,使得机器视觉在准确率和处理问题的能力上,取得显著的提升。我们见证了在图片分类(图片中有什么?)和目标检测(目标在哪里?)上的巨大进步。如下图的a和b,这两张图仅仅是理解图片或者视频中最相关组分的最基础的部分。最近,我们设计了能够识别并分割图片中每一个目标的方法,如下图中的c所示,这是将会打开全新应用的关键技术。

这里面的主要算法是DeepMask1分割框架以及我们最新的SharpMask2分割细化方法。把这两个方法放在一起,使得FAIR的计算机视觉系统能够检测并描述图片中的每一个目标。识别算法的最后一步,使用了一层特殊的卷积层,我们称作MultiPathNet3,根据对象的内容,给每个对象标号,这一点后面会详细谈到。

我们把这三个算法的代码开源了,包括对应的论文和例子,希望这些工作能迅速加快计算机视觉领域的发展。我们会持续改善这些核心技术,会持续发表最新结果,并且向开源社区更新开源工具。

寻找像素的模式

让我们看一看这些算法的构建单元。

看一眼下面左边这张图片,你看到了什么?一个摄影师正在拍照,青草地,背景里的建筑,可能你还能看到更多的目标。但是计算机什么都看不到;一张图片被编码成一组代表像素颜色的数字阵列,正如第二张图片。所以,我们怎样才能让计算机在像素层面,获得更深层次的理解呢?

这个任务可不简单,原因在于现实场景中的目标和场景的近乎无穷的变化可能性。目标的形状,样子,尺寸,位置,纹理,颜色都在变化,再加上真实场景的内在复杂性,变化的背景,世界的丰富性,你可以看到,这个问题对于计算机是多么的难。

进入深度卷积网络时代。不同于以往以设定规则的编程方式来检测目标,深度网络通过简单的网络架构但是几亿个参数,来训练而不是设计。这些网络自动从上百万的标注样本中自动学习,目前已有足够多的标注样本来推广到新的图片中。深度网络特别适合回答关于图像的yes/no问题(即分类问题),例如,图像中包含绵羊吗?

分割目标

所以,我们是怎么样把深度网络,用于检测和分割任务的呢?DeepMask中我们使用的方式是,把分割问题看成一个巨大的二分类问题。首先,对每一个patch(有重叠),我们会问:这个patch包含目标吗?其次,如果回答是yes,对patch中的每一个像素,我们会问:这个像素是这个patch所属对象的一部分吗?我们使用深度网络来回答每一个问题,并有效地设计网络架构,使得对每个patch的计算可以共享,我们可以很快地发现并分割出图像中的目标。

DeepMask遵循传统的前馈深度网络设计。在这样的网络中,网络越深,信息就越抽象并更有语义。例如,深度网络的底层可能表示边沿和块,而更上层则更可能捕捉更有语义的概念,如动物的脸或者是四肢。通过有意的设计,这些上层网络在比较低的空间分辨率计算(考虑计算效率和对微小变化的不变性)。这就带来了一个问题:上层网络特征可以用来预测表示目标一般形状的mask,但是却无法精确获得对象的边界。

这就引入了SharpMask。SharpMask修正了DeepMask的输出,使得
描述对象边界的mask更加准确逼真。DeepMask产生的mask边界很粗糙,SharpMask保留了深度网络中的信息流,并利用网络中底层的特征来细化边界。这样想一想:为了要获取对象的外形,你必须要在高层网络理解你看到了什么(DeepMask),但如果要确定对象的边界,你需要回到底层网络的像素级别(SharpMask)。其实,我们就是要在使用最小额外条件下,利用网络的所有层提供的信息。

下图是一些DeepMask产生并由SharpMask修正的例子。为了使得看起来更清楚,我们只勾画出最匹配实际图像(由人标定的那些图片)目标的mask。注意到系统目前并不是完美的,红色轮廓框的就是DeepMask丢失的部分。

目标分类

DeepMask对具体目标的类型一无所知,虽然它能描述一只狗和一头羊,但是却无法区分它们。DeepMask不具有选择性,会产生一些实际上并不感兴趣图像区域的mask。所以,我们怎么从这些相关的mask中,挑选实际存在的目标呢?

正如你所想的,我们再次使用深度神经网络。给定DeepMask产生的一个mask,我们训练一个单独的深度网络来识别mask的目标属性(“none”也是有效的分类结果)。我们使用RCNN。RCNN算法分为两步,第一步寻找感兴趣的区域,第二步,深度网络识别目标。当时用RCNN时,一般的第一步操作效果一般,我们把DeepMask作为RCNN的第一步。这个改变提升了检测效果。

为了进一步提高性能,我们对每个mask使用特定的网络架构(RCNN的第二步)。前面的讨论也谈到,真实世界的图片包含了不同尺度,不同上下文,不同混乱程度,不同遮挡情况的目标。标准的深度网络在这种情况下,效果很差。为了解决这个问题,我们能提出了一种改进的网络,叫做MultiPathNet。正如名字所表示的,这个网络提供了信息流过网络的多种路径,能够检测各种尺度各种环境下的目标。

总结下来,我们的目标识别系统包括三个步骤:
1. DeepMask产生原始目标mask
2. SharpMask修正mask
3. MultiPathNet定义了每个mask的目标属性。
下面是整个算法的处理实例:

不是特别完美,但也没有很糟糕,毕竟这个技术做的事情是几年前还做不到的。

广泛应用

视觉识别技术有大量潜在的应用。例如,它能从未标定的图片中寻找特定图片。视弱的人,可以利用这样的系统理解图片,因为系统会告诉他们。

最近我们公开了这一技术,我们开发了一款应用,盲人可以在图片上滑动,应用会告诉盲人被滑动的图片区域有什么,例如,“图片中有沙滩,椰子树,3个带着笑容的人”。

我们会继续提升算法性能。你可以想象,有一天,图像检测、分割、识别技术和AR结合,会是多么酷的一件事。

我们还希望把算法用于视频领域。实时分类技术可以帮助Facebook挑选相关的和重要的在线视频。

我们非常期待推动这一前沿的方法,并为每个人改善Facebook的使用体验。


  1. DeepMask: Learning to Segment Object Candidates. Pedro O. Pinheiro, Ronan Collobert, Piotr Dollár (NIPS 2015)
  2. SharpMask: Learning to Refine Object Segments. Pedro O. Pinheiro, Tsung-Yi Lin, Ronan Collobert, Piotr Dollàr (ECCV 2016)
  3. MultiPathNet: A Multipath Network for Object Detection. Sergey Zagoruyko, Adam Lerer, Tsung-Yi Lin, Pedro O. Pinheiro, Sam Gross, Soumith Chintala, Piotr Dollár (BMVC 2016)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值