项目主页:

https://www.robots.ox.ac.uk/~vgg/research/tpod/

论文链接:https://arxiv.org/abs/2210.10046

代码仓库(刚刚开源):

https://github.com/Championchess/Tri-Layer_Plugin_Occluded_Detection

关键词:遮挡物处理;分层表征;场景理解

 

  1. 引言

在三维世界当中,物体之间的相互遮挡非常常见,这是由于场景中的各个物体在相机平面上投影时,距离相机更远的一部分场景消失在距离更近的不透明物体的后面。然而,如此常见的遮挡,却仍然是机器视觉系统在场景理解时的主要障碍。本文主要研究目标检测与实例分割任务当中的遮挡物问题。

当前仍缺乏大规模的涉及多种常见物体种类真实遮挡数据集,而本文提出了一套可扩大规模的方法来自动生成这样的数据集,定义了两大类不同的遮挡被部分遮挡 v.s. 被割裂partially occluded v.s. separated),并形成了衡量模型检测被遮挡物体性能的新的benchmark

使用上述生成的数据集,本文尝试用三层式的分层表征layered representation)去刻画物体之间的遮挡关系,从而让模型能够对遮挡有更好的理解,以提升其检测被遮挡物体的性能和在目标检测、实例分割任务中的总体表现。

 

2. 数据集生成

本文一共生成了四个数据集,包括用于测试Separated COCOOccluded COCO,以及用于训练Occluder MaskOccludee Mask。四个数据集已经全部公开,可以在项目主页上下载。

测试数据集:Separated COCO 和Occluded COCO 是自动生成的 COCO val 数据集的子集,收集了各种不同种类的被割裂被部分遮挡的物体。通过这种方式,本文将遮挡定义为两大类:被割裂的和被部分遮挡的。其中被割裂指的是,目标物体掩码被遮挡物分成不同的区域;而被部分遮挡指的是目标物体被部分遮挡但掩码仍保持连接。这两种不同的遮挡,具有不同的难度等级。这两个可扩大规模的真实图像数据集对模型检测 80 个常见类别的被遮挡物体的能力设置了新的benchmark,已经在Paper With Code上发布。

训练数据集:Occluder Mask和Occludee Mask是用于训练“三层”插件的自动生成的训练数据集,对于每一个COCO train里面的物体,收集了其遮挡物(目标物体前面挡住它的物体)和被遮挡者(目标物体后面被它挡住的物体)。

生成方法:自动生成数据集的方法是不完整掩码补全amodal completion),加以深度估计(depth estimation)来验证不完整掩码补全的推断结果。一般认为,如果物体A被物体B遮挡,那么A不完整掩码补全的结果,应当与B的掩码重合,并且,通常被遮挡者(occludee)会比遮挡者(occluder)有更深的深度。

如上图所示,左边是原始图像及其深度估计图,而右边则展示了两个物体(伞和女孩)的不完整掩码补全图,以及深度估计图。在这种情况下,可以得出结论,女孩遮挡了伞,因为:(i)伞的补全掩码与 女孩原来的掩码重叠,但反之则没有重叠;(ii) 平均深度图表明伞的平均深度大于女孩的平均深度。所以,可以预测“伞被女孩所遮挡”。一旦得到了遮挡关系,就很容易为测试数据集收集被遮挡的物体(Occluded COCO & Separated COCO),并为训练中的每个物体收集遮挡物(Occluder Mask)与被遮挡者(Occludee Mask)。

3. 插件架构

内容中包含的图片若涉及版权问题,请及时与我们联系删除