TensorMask 密集实例分割效果示例。左图:示例图;右图:局部放大。图中可以看到,不仅较大和较小的物体都得到了较为完善的勾画,物体之间相互遮挡的边缘也能够正确地处理。
雷锋网(公众号:雷锋网) AI 科技评论按:大家都知道物体检测算法中有单阶段方法和双阶段方法之争,前者一般运算量较低、运行速度更快,但后者的准确率一般更高,适合需要精度的场合。
双阶段物体检测的标杆方法 Faster R-CNN 和 Mask R-CNN 都来自 FAIR 研究员何恺明,而他也在单阶段方法的研究上做出了突破,提出了 RetinaNet。不过何恺明组意识到,目前的单阶段方法都仅仅针对了预测边界框的任务,而在像素级实例分割方面没有什么建树。他们欣然接受了这一挑战,并带来了这篇论文《TensorMask: A Foundation for Dense Object Segmentation》(TensorMask,密集物体分割的基础),arxiv.org/abs/1903.12174。雷锋网 AI 科技评论把论文主要内容概要介绍如下。
「滑动窗口」,在图像中不同的位置密集放置许多不同的窗口,并分别在这些窗口里尝试寻找物体的做法,是计算机视觉领域最早、也最成功的概念之一,我们也自然地在卷积神经网络中见到了这种范式。然而,虽然如今的表现最好的目标检测系统仍然依靠预测滑动窗口来生成最初的候选区域,紧接着我们会在这些候选区域上进行第二阶段的优化过程(重新判别)来达到更高的准确率,比如 Faster R-CNN 和 Mask R-CNN 就都采用了这样的设计,然后分别在边界框的物体检测以及像素级实例分割任务中取得了优秀的表现。在 COCO 数据集的物体检测竞赛中霸榜的正是这类方法。
有一些近期的边界框物体检测器抛弃了第二阶段的优化过程,完全关注直接预测滑动窗口,比如 SSD、Y YOLO 和 RetinaNet(同样来自何恺明组,解读文章见这里),这些方法不仅重新引发了关注,也带来了令人期待的结果。相比之下,我们并没能见到什么单阶段方法在像素级实例分割任务中做出大的改进,达到 SSD、RetinaNet 那样级别的性能。为什么边界框预测中单阶段密集检测方法那么火热,但却没有怎么在实例分割中见到呢?这个问题从基础科研角度非常地令人好奇。这项研究的目标就是解答这个问题,并为单阶段密集实例分割的探索做一些基础工作。
作者们的主要发现是,定义密集遮罩表征的核心概念,以及这些概念在神经网络中的高效实现方法都是缺乏的。边界框有固定的、尺度无关的低维表征,相比之下,分割遮罩可以从更丰富、更结构化的表征中受益。举例说明,每个遮罩自己就是一个二维空间映射图,使用更大的二维空间映射图也可以让更大目标的遮罩受益。如果想要让密集实例分割变得可能,为密集遮罩开发高效的表征是关键的一步。
为了解决这个问题,作者们在这篇论文中定义了一系列用高维张量表征遮罩的核心概念,接下来也就可以借助这些概念探索用于密集遮罩预测的新网络架构。为了展示这种新的表征的优势,作者们展示了数种可能的网络架构并进行了实验。作者们把提出的框架称为「TensorMask」,基于它,作者们建立了第一个表现可以比拟 Mask R-CNN 的基于滑动窗口的单阶段密集实例分割系统。
TensorMask 表征的关键思想是使用结构化的四维向量,在中间域中表征遮罩。DeepMask 和 InstanceFCN 等之前的研究针对的是一个类似的问题,对未知类别的对象位置候选区域进行分割,它们都使用的是非结构化的三维张量,其中把遮罩打包进了第三层的「通道」坐标。与表征对象位置的坐标不同,通道坐标中没有明确的图形含义,也就很难操作。由于这些方法中使用了很基本的通道表征,他们也就失去了使用结构化的数组把遮罩表示为二维实体、从而获得改善的机会;这一区别就像是多层感知机和卷积网络中表征二维图像的区别一样。
与之前这些面向通道的方案不同,这篇论文的作者们提出的方法运用了形状(V,U,H,W)的四维矩阵,其中(H,W)表示对象的位置,(V,U)表示遮罩的相对位置,这四者都是几何子张量,也就是说,它们都具有定义完善的坐标轴,也都带有关于图像的几何信息。这种做法把用非结构化的坐标编码遮罩替换为使用结构化的几何子张量,也就让定义新的运算和网络结构变得可能。新定义的网络可以直接在(V,U)子张量上运算,利用其中的几何信息,包括协调变换、上下采样以及使用尺寸金字塔。
左图:自然表征。右图:TensorMask 使用的层间对齐表征
通过引入 TensorMask 框架,作者们基于一组按大小排列的四维张量开发了一个金字塔结构,并把它称作张量双金字塔。传统的特征金字塔是一组不同尺寸的特征图列表,相比之下,张量双金字塔包含了一系列四维张量,尺寸从(V,U,H,W)到(2kV,2kU,1/2k H,1/2k W),其中 k 表示尺寸索引。这种结构可以让(H,W)和(V,U)两组几何子张量分别形成金字塔形,不过两者的缩放方向相反。这是一种很自然的设计,对应了理想中较大的对象需要高分辨率的遮罩,但空间位置变化较少(较大的 k 值),以及较小的对象只需要低分辨率的遮罩,但空间位置就较为细分(较小的 k 值)。
作者们把这些组件融合进参考 RetinaNet 设计的网络主干和训练过程中,新提出的密集遮罩预测器也就可以拓展网络中原先的边界框预测器的功能。作者们仔细设计了多组对照实验,在其中评估了 TensorMask 框架的有效性,并展示了显式地捕捉几何结构这一设定的重要性。最后,作者们也把 TensorMask 和 Mask R-CNN 的结果进行了对比。这些令人欣喜的结果都表明,论文中提出的框架已经为单阶段密集滑动窗口实例分割的未来研究铺平了道路。
TensorMask 和 Mask R-CNN 的分割结果对比,网络主干是 ResNet-101-FPN —— 作者们自信地表示,两者结果定性和定量的相似度都很高,他们邀请大家猜猜哪些结果是 TensorMask 的,哪些是 Mask R-CNN 的。
在 COCO 上的定量实验表明,Mask R-CNN 仍然取得了更高的 mAP 成绩,这并不令人意外。不过,TensorMask 目前也并没有运行速度优势,ResNet-101-FPN 主干的 TensorMask 在英伟达 V100 GPU 上的运行速度为 0.38 秒每图像(Mask R-CNN 只有 0.09 秒每图像)。作者们的解释是,TensorMask (作为单阶段方法)在密集的滑动窗口中(数量大于 100k)预测遮罩造成了很高的计算开销,相比之下 Mask R-CNN (作为双阶段方法)只需要在第二阶段选择出的窗口中预测遮罩,需要预测的窗口数量很可能不大于 100 个。作者们表示,加速的办法自然是有的,不过这篇论文的目的是完善基础、探路,加速优化的办法另外再谈。
论文原文(更多细致的对照实验,大量对比图)见:https://arxiv.org/abs/1903.12174
雷锋网 AI 科技评论编译。
雷锋网版权文章,未经授权禁止转载。详情见。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/135115.html