何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿

  鱼羊 乾明 发自 凹非寺 
  量子位 报道 公众号 QbitAI

  又是何恺明超越何恺明。

  其团队最新论文一出,图像分割又往前一大步:

  消耗的资源变得更少,算力仅需 Mask R-CNN 的 2.6%。

  不仅能实现准确的分割,甚至连张开的五指都能精准抠出:

何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿_第1张图片

  秀长腿的长颈鹿,分割后腿也能保持修长的模样了:

何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿_第2张图片
右为新方法

  如此效果,已然超越了默认 mask head 的 Mask R-CNN。

  这是一种名为PointRend的新方法,“实现了前所未有的输出分辨率”。

  也可以在现有模型的基础上构建,灵活应用于实例分割、语义分割任务。

  其中诀窍在于:将图像分割当做一个渲染问题

  如此研究,同样也引起了业内人士的围观。

  有人盛赞称,这是一项“伟大的工作”,也有人惊叹于研究思路:“从经典方法中获取知识,牛。”

  一、PointRend:将图像分割视作渲染问题

  渲染是将 3D 模型显示为 2D 平面上的规则像素网格。

  尽管输出表现形式是规则网格,但其底层物理实体是连续的,并且其物理占用率等属性,可以通过物理和几何推理(如射线追踪),在图像平面上的任何实值点进行查询。

  图像分割,同样可以视作底层连续实体的占用图,然后从中输出预测标签的矩形网格。

  实体被编码在网络特征图中,可以通过插值在任意点进行访问。

  PointRend 就是基于这种类比提出的,可以应用于实例分割和语义分割。  

何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿_第3张图片
PointRend 原理

  以实例分割举例,首先,使用轻量级的分割头,对每个检测到的对象(红框)进行粗略的 mask 预测。

  接下来,选择一组点(红色点),用小规模的多层感知器(MLP)为每个点进行独立预测。

  对这样的细分算法进行迭代,以从粗到细的方式计算 mask。

  具体而言,PointRend 分为三个主要组成部分。

  用于推理和训练的点选择(Point Selection)

  PointRend 的核心思想是,在图像平面中自适应地选择预测分割标签的点。

  类似于光线追踪中的抗锯齿问题,这些点应该更密集地分布于高频区域(例如对象边界)附近。

何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿_第4张图片

  推理部分,如上文所说,是一个以从粗到细的方式迭代“渲染”输出 mask 的过程。在每次迭代中,PointRend 使用双线性插值,对其先前预测的输出结果进行上采样。

  然后再次密度较高的网格上选择N个最不确定的点(如上图黑点),举个例子,对于二进制 mask 而言,就是概率最接近 0.5 的那些点。

  计算每一个点的逐点(point-wise)特征表示, 预测它们的标签,以恢复精细网格上的细节。

  直到输出结果达到预设的分辨率,迭代结束。

  训练部分,还需要选择部分点,在其上构建逐点特征,用来训练点头(Point Head)。

何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿_第5张图片

  这里依然采用推理部分介绍的细分策略,只是引入了顺序步骤。并且,在训练中不进行迭代,而是使用基于随机抽样的非迭代策略。

  为了提高性能,每个区域仅对少量点进行采样,并采取轻度偏差的采样策略,提高系统在训练期间的效率。

  逐点 (point-wise) 表示

  PointRend 通过组合低层特征 (fine-grained features) 和高层特征 (coarse prediction),在选定的点上构造逐点特征。

  在细粒度特征(fine-grained features)方面,为了让 PointRend 呈现出精细的分割细节,研究人员为 CNN 特征图中的每个采样点提取了特征向量。

  不过,细粒度特征虽然可以解析细节,但也存在两方面的不足:

  1. 不包含特定区域信息,对于实例分割任务,就可能在同一点上预测出不同的标签。
  2. 用于细粒度特征的特征映射,可能仅包含相对较低级别的信息。

  这就需要粗略分割预测 (coarse prediction) 来进行补充,提供更多全局背景。

  这样的粗略预测类似于现有架构的输出。以实例分割为例,coarse prediction 可以是 Mask R-CNN 中 7×7 轻量级 mask head 的输出。

  点头 (Point Head)

  对于每个选定点的逐点特征表示,PointRend 使用简单的多层感知器进行逐点分割预测。

  多层感知器在所有点(所有区域)上共享权重。

  并且,由于多层感知器会针对每个点预测分割标签,可以通过特定任务的分割损失进行训练。

  二、更少的消耗,更好的结果

  何恺明等人在研究中给出了结果证明,无论是在定性和定量维度上,都取得了显著的效果。

  与此同时,这一思路也进一步降低了消耗的资源,在当前人工智能算法模型在端侧部署的大趋势下,意义更大。

  此外,这一方法不仅仅能够应用在实例分割中,在语义分割中也取得了显著的效果。

  首先,他们将 PointRend 与 Mask R-CNN 默认的4×conv mask head 进行了对比,使用的数据集是 COCO 和 Cityscapes。

何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿_第6张图片

  结果显示,在相同的分辨率上,PointRend 的预测效果要明显强过默认的4×conv mask head。

  从定性效果上来看,在 Mask R-CNN 使用 PointRend(右图)在预测 Mask 时更加精细。

何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿_第7张图片

  此外,输出图像的分辨率更高的情况下(细分推理),PointRend 也更强大。一方面体现在所需的资源上。

何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿_第8张图片

  在输出 224x224 分辨率图像下,PointRend 只需 0.9B FLOPs,而4×conv 需要 34B,相比之下优化了 30 多倍。

  另一方面体现在效果上,从下图来看,分辨率更高的情况下,AP 出现了饱和的情况。

何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿_第9张图片

  但直观效果随着分辨率提高变得更好,使用 PointRend 还能够抗锯齿。

何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿_第10张图片

  在语义分割方面,他们的研究结果表明,使用 PointRend 能够进一步提升 DeeplabV3 和 SemanticFPN 的效果。在实验对比中,采用的是 Cityscapes 语义分割集。

  首先是在 DeeplabV3 上的效果,基于 PointRend 的 DeeplabV3 的语义分割效果明显更好。

何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿_第11张图片

  在推理过程中对 res4 阶段进行扩展,可以产生更大、更准确的预测,但是需要更高的计算和内存开销,而且结果仍然不如使用 PointRend。直观来看,PointRend 也可以恢复更小的对象和细节。

何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿_第12张图片

  此外,通过自适应采样点, PointRend 只预测 32k 点,就可以达到 1024×2048 分辨率(即 2M 点)。

何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿_第13张图片

  在 SemanticFPN 上,在8×和4×输出步长变体上,用了 PointRend 之后,效果也有明显提升。

何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿_第14张图片

  三、又双叒叕来自何恺明团队

  PointRend 是何恺明团队的最新研究成果,一共有四名作者,全部来自 Facebook AI 研究院。

何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿_第15张图片

  第一作者是 Alexander Kirillov,毕业于海德堡大学,是 FAIR 致力于计算机视觉研究的科学家。

  除了何恺明之外,作者中还有一位华人学者,名为吴育昕。他在 2015 年从清华大学计算机系毕业,之后在 CMU 获得硕士学位,现在是 Facebook 研究工程师。

  最后一位作者是 Ross Girshick,博士毕业于芝加哥大学,也是 FAIR 致力于计算机视觉研究的科学家。

  对于何恺明来说,PointRend 是他在图像分割领域的最新探索。

  这篇论文中被改进的 Mask R-CNN,就是出自他手,自 2017 年 3 月提出以来,到现在已经成为图像分割的主流算法。这一成果也在 2017 年的 ICCV 上获得了最佳论文奖。

何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿_第16张图片

  在此之前,他在计算机视觉领域的研究成果也获得了 CVPR 2009 和 CVPR2016 的最佳论文奖,可以说是传奇般的存在。

  PointRend 等后续研究成果出现,也进一步说明了他并没有停下来,而是在不断寻找新的方法来提升模型的效果。

  大神之所以是大神,这也是其中的原因之一吧。

  你说呢?

你可能感兴趣的:(何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿)