到底是谁挡住了谁?遮挡边界又在哪里?对于人类来说,物体之间的遮挡关系非常容易判断,但对于 AI 来说,这个任务就没那么简单了。
从现实世界中的 3D 场景拍摄得到 2D 图片时,会不可避免地产生「遮挡」,即距离相机近的物体会挡住后面的物体,使其部分不可见。如何从一张单目图像中识别遮挡并同时推理出物体间遮挡与被遮挡的关系?这个任务被称为遮挡关系推理(Occlusion relationship reasoning)。
由于图像边界的稀疏性,检索单目图像中物体之间的遮挡关系具有挑战性。研究人员观察到,现有工作中存在两个关键问题:1)缺乏可以利用解码器阶段两个子任务遮挡边界提取和遮挡方向预测之间有限耦合量的架构;2)遮挡方向的不正确表示。
为了解决第一个问题,来自北京邮电大学和字节跳动视觉技术团队的研究者们提出了一种被称为遮挡共享和路径分离网络(OPNet)的网络结构,它通过利用共享 high-level 特征中的丰富遮挡线索和特定任务的 low-level 特征中的结构化空间信息来解决该问题。
为了解决第二个问题,研究者又提出了用于预测遮挡方向的正交遮挡表示法(OOR)。该方法在标准 PIOD / BSDS ownership 数据集上以 6.1%/8.3% Boundary-AP 和 6.5%/10% Orientation-AP 超过此前最先进的方法。
论文链接:https://arxiv.org/abs/2108.05722
代码链接:https://github.com/fengpanhe/MT-ORL
传统方法存在哪些问题?
基于卷积神经网络(CNN)的遮挡关系推理方法(DOC、DOOBNet、OFNet)通常将任务分解为两个子任务:遮挡边界提取和遮挡方向预测。前者旨在从图像中提取物体边界,而后者目标是推理遮挡方向关系,然后通过逐步累积提取边界上的方向信息来恢复遮挡关系。
上述方法在网络架构上采用了共享全部 encoder-decoder 的形式,使两个任务可以共享信息、相互促进。在预测遮挡方向时,直接使用逐像素角度值进行遮挡方向的指示,这方便了之后与边界结果的耦合。但是,这些方法在两任务的共享网络结构和遮挡方向的预测上还有不足。
在共享的网络结构中,DOOBNet、OFNet 采用完全共享的解码器,这使得两个子任务在网络较低阶段的初始化特征阶段进行了特征的组合与共享,这种方式忽略了两任务本身在空间信息获取时的差异性,从而导致不好的结果。在遮挡方向的表示和预测上,也缺乏对遮挡方向的良好表示方法。
DOC 首次提出使用逐像素连续方向变量作为表示,但是由于角度周期性,这使得损失函数的设计变得复杂和难以学习。DOOBNet 提出将变量截断到 (-\pi,\pi] 范围内,这会导致严重的端点错误:接近 -\pi 和 \pi 的角度产生较大的损失值,而保持相对接近的方向。这些都给训练过程留下了问题。因此,在遮挡关系推理中,设计合适的遮挡方向表示仍然具有挑战性。
新方法有何创新之处?
本文提出的 MT_ORL(Multi-task occlusion relationship learning,即多任务遮挡关系学习),也主要从上述两个问题出发,做出了两个主要贡献:
提出了一种新的遮挡共享和路径分离网络(OPNet),用于替代现有的遮挡边界和遮挡方向共享网络架构。
提出了用于预测遮挡方向的正交遮挡表示法(OOR),它解决了端点误差和角度周期性难题。
遮挡共享和路径分离网络
本文提出的遮挡共享和路径分离网络(OPNet)如下图所示:
该网络首先使用一个 Resnet 结构作为 encoder 部分,之后的 decoder 阶段是为遮挡关系推理两子任务联合学习所设计的遮挡共享与路径分离解码器(Occlusion-shared and Path-separated Decoder,OPDecoder)。
边界提取和遮挡方向预测都是密集预测任务,目的都是通过理解高级遮挡信息来恢复像素级空间细节。但是前者侧重于遮挡定位,而后者则表达了发生遮挡的区域之间的关系。
为了更好地考虑两个任务之间的联系和区别,作者将解码器分为两部分:具有共享价值的遮挡信息深层阶段和具有具体空间细节的浅层阶段。相比于分别学习遮挡边界和遮挡方向,网络在学习深层阶段共享的高级语义特征时,通过同时接受来自两者的监督信号可以学习到更抽象的遮挡线索。边界提取路径更注重空间细节,而方向回归路径则侧重于恢复区域关系。而之前的全 decoder 共享的方式导致了特征过度共享,使两个任务之间相互干扰。因此,作者在浅层采用了单独的结构。
如图所示,解码器包含一个深遮挡共享阶段和一个浅空间信息分支阶段。在遮挡共享阶段,作者使用 OSM 对两个最深阶段的特征进行解码和聚合,然后将它们传递给后续的边界路径和方向路径。在浅分支阶段,考虑到两个任务之间可能的干扰,作者使用 OPM 来增强来自编码器浅层的特征,然后这些特征将被传送到边界和方向两条路径。
具体来说,在边界提取路径中,来自 OSM 的共享特征图与从深到浅阶段转换的编码器特征逐渐聚合,为了更好地利用不同尺度的空间信息,作者针对解码的每一阶段生成了一组多尺度边界图,然后将它们融合在一起以提取合并的边界图。与边界路径不同,方向路径被故意设计为仅接受来自 res2 层的跳跃连接特征,以利用浅层中较少共享的空间细节。
遮挡方向的正交遮挡表示法
下图展示了四种基于边界的遮挡方向表示示意图。
图 (a) 是抽象的图片中遮挡发生的示意图,图中显示了在图像中指示前景和背景的「左手规则」,即遮挡边界用箭头表示,其左侧是前景。
图 (b) 是基于人工特征和机器学习的传统方法常用的基于完整边界的标签分类方法,但由于对完整边界的强依赖,其难以直接应用到基于卷积神经网络的深度学习中。
图 (c) 是 DOC 中提出的像素级方向变量表示,它通过预测一个连续的在 $(-\pi,\pi]$ 的方向变量来预测边界方向图像中的每个像素。像素级方向变量表示可以很好地适应预测属性密集的卷积块,但是依旧存在两个问题,一是这种方式对每个像素都预测了一个准确的角度,造成了不必要的负担,二是角度本身存在周期性,DOOBNet 强制将预测角度的范围限制在 $(-\pi,\pi]$,会在区间的两端产生不自然的预测,从而导致大量的端点值错误。
作者提出遮挡方向的正交遮挡表示(Orthogonal Occlusion Representation,OOR)。如图 (d),他们使用一对正交向量(即沿水平轴的向量 a 和沿垂直轴的向量 b)来表示遮挡方向。两个向量都指向遮挡边界附近的背景。OOR 通过在水平和垂直方向同时指出背景来简化遮挡方向的预测,大大增强了预测的鲁棒性。与之前的方向变量表示相比,研究者提出的 OOR 更简单,效果更好,绕过了角度周期性和端点误差的问题。
下图是使用不同遮挡方向预测方式的取出的 decoder 阶段的特征图的可视化表示。网络都采用了本文的 OPNet,第一行使用了 DOOBNet 预测遮挡方向的方法,第二行使用了本文提出的 OOR。很明显,本文提出的 OOR 进行表示和预测遮挡方向的方式产生了前后景区分强烈的特征度,或者说使网络学习到了更好的遮挡信息。
为了证明 OOR 对于角度区间 $(-\pi,\pi]$ 端点值预测的优化,作者分别对三种遮挡方向预测方式的预测结果进行了分角度区间的遮挡方向预测召回率的比较。从下图可以看到,相比于之前最好的 DOOBNet 的遮挡方向预测,本文的方法在两端分别提升了 0.23 和 0.18。这证明了之前采用区间预测方式存在严重的端点值错误的问题,而本文的 OOR 有效地解决了这一问题。
实验结果
作者分别在 PIOD 和 BSDS ownership 两个数据集上评估了模型和方法的有效性。
其中,OPNet + dor/dbr 为在作者网络上使用 DOC 方向 loss 或 DOOBNet 方向 loss 的结果。通过比较 OPNet + dor/dbr 和之前方法的结果,可以证明作者的网络在遮挡关系推理中明显优于先前的网络结构。在使用了作者提出的 OOR 作为方向预测的方式后,结果相比于之前最优的方法 OFNet 在 AP 上甚至有 6.5%/10% 的提升。并且在与单独训练边界和方向任务的比较中,最终在同一网络中联合训练两子任务的方式获得了更优的结果,这也证明了作者设计的 OPDecoder 可以使两任务相互促进,更好地联合学习、预测。
与之前方法在两数据集下的 PR 曲线的对比,作者的方法均优于先前方法。
下图是预测结果的可视化比较。如图,作者的方案在边界和遮挡关系的预测上都有明显的提升。
总结
本文针对多任务学习遮挡关系提出了一种新的遮挡共享和路径分离网络(OPNet)和 用于预测遮挡方向的正交遮挡表示法(OOR)。OPNet 使得两个任务通过有限的共享 encoder 阶段的特征相互促进,获得更好的遮挡边界和遮挡方向。OOR 则是解决了遮挡方向预测的角度周期性难题和端点误差的问题。大量实验表明作者的方法极大的提升了遮挡关系推理的性能,在 AP 上相比于之前的方法甚至有 6.5%/10% 的提升。