作者王天宇、胡枭玮


阴影是由光线被物体遮挡而产生,阴影与物体密不可分。为了寻找阴影和产生阴影的物体,来自香港中文大学与上海人工智能实验室的王天宇与胡枭玮等作者提出了一种实例阴影检测任务,旨在查找阴影与物体之间的关系,进而估计光照方向、实现各种图像编辑应用。

实例阴影检测不仅可以找到输入图像中的单个阴影实例,还可以得到投射每个阴影的物体。实例阴影检测任务有助于各种下游应用,例如删除、缩放或移动物体和其投射的阴影,估计光照的方向,帮助生成 AR 场景中虚拟物体的阴影,以及根据在卫星图像中检测到的阴影和物体实例推测物体的高度等。

TPAMI 2022 | 寻找属于你的影子,港中文等提出实例阴影检测任务_计算机视觉

图 1: 实例阴影检测任务

该文章的会议版本首先发表在 CVPR 2020 以及 CVPR 2021 (oral),最新于 TPAMI 提出的单阶段实例阴影检测算法在复杂场景下大幅提升了检测性能。

TPAMI 2022 | 寻找属于你的影子,港中文等提出实例阴影检测任务_神经网络_02

  • 论文地址 1:https://ieeexplore.ieee.org/document/9804810
  • 论文地址 2:http://arxiv.org/abs/2207.04614
  • 代码链接:https://github.com/stevewongv/SSIS
  • CVPR 2021: Tianyu Wang^, Xiaowei Hu^, Chi-Wing Fu, and Pheng-Ann Heng, “Single-stage instance shadow detection with bidirectional relation learning,” in CVPR, 2021, pp. 1–11, ^Joint first authors, oral presentation.
  • CVPR 2020: Tianyu Wang^, Xiaowei Hu^, Qiong Wang, Pheng-Ann Heng, and Chi-Wing Fu, “Instance shadow detection,” in CVPR 2020, pp. 1880–1889, ^Joint first authors.

数据集与评测函数

为了实现实例阴影检测任务,该研究准备了 SOBA (Shadow OBject Association)数据集,该数据集有 1100 张图像以及 4,293 对标注的阴影与物体实例。每张图像包含阴影实例掩膜(图 1(c))、物体实例掩膜 (图 1(d)) 以及阴影 - 物体关联掩膜 (图 1(e))。该数据集分为 SOBA-training, SOBA-testing 和 SOBA-challenge 用于模型的训练与测试。为了评估实例阴影检测的效果,该研究设计了 SOAP (Shadow-Object Average Precision) 评价函数,综合评估阴影实例、物体实例与阴影 - 物体关联的检测结果。

TPAMI 2022 | 寻找属于你的影子,港中文等提出实例阴影检测任务_python_03

图 2: SOBA 数据集

单阶段实例阴影检测框架

该研究设计了用于直接学习阴影与物体关系的单阶段实例阴影检测框架,方法仅包含卷积操作,用于生成任意形状的阴影 / 物体 / 阴影 - 物体掩膜。为了实现这个目标,该研究设计了双向关系学习模块,寻找阴影 - 物体关联对。该模块针对每一个阴影 - 物体关联生成一个偏移向量,表示从阴影实例中心到物体实例中心的方向或者从物体实例中心到其对应的阴影实例中心的方向。同时,该方法生成一个类向量用于表示上述学习的方向。

此外,该研究设计了可变形的 MaskIoU Head 用于减少低质量但置信度高的实例掩膜;并提出了一种阴影感知的复制粘贴数据增强策略,以扩充训练期间的输入样本。

TPAMI 2022 | 寻找属于你的影子,港中文等提出实例阴影检测任务_神经网络_04

图 3: 模型结构

上图 3 展示了模型整体基于 CondInst [1] 的网络结构。对于输入图像,该研究利用卷积神经网络提取不同尺度的特征,并采用特征金字塔融合不同层级的特征(P3 到 P7)。每一层特征具有不同的 Head 来生成 Class tower 以及 Box tower,并预测以下内容:

  • Class vector(类向量),表示属于阴影、物体和背景类别的概率;
  • Offset vector(偏移向量),即从阴影实例中心到对应的物体实例中心的空间向量,或从物体实例中心到对应的阴影实例中心的空间向量;
  • Controller(控制器)与 Paired controller(配对控制器), 预测用于 Mask head 的一组参数(参考动态卷积),如果 Controller 预测的是用于阴影实例的卷积参数,则 Paired controller 预测用于物体实例的卷积参数,反之亦然;
  • Regression 与 Centerness,Regression 预测了每个阴影和物体实例的边界框,而 Centerness 通过减少远离实例中心的低质量边界框的数量来约束预测的阴影 / 物体实例。

接下来,该研究设计了一个掩模分支,它接受 P3 特征作为输入,并生成掩膜特征。对于每个预测的阴影 / 物体实例,它会有两个相对坐标图(rel. coord.):一个表示物体 / 阴影实例的中心,另一个表示对应的阴影 / 物体实例的中心(详见双向关系学习模型)。该方法通过复制掩膜特征并分别连接两个相对坐标图,再输入到 Mask Head/Associated Mask Head 来预测阴影 / 物体实例掩膜与其对应的物体 / 阴影实例掩膜。其中,Mask Head/Associated Mask Head 的卷积参数分别来自于上面提到的控制器和配对控制器。最后,该方法将预测的实例掩膜与掩膜特征连接起来,并设计了一个可变形的 MaskIoU Head 来减少低质量但置信度高的实例掩膜。

双向关系学习模型

TPAMI 2022 | 寻找属于你的影子,港中文等提出实例阴影检测任务_计算机视觉_05

图 4: 双向关系学习模型结构示意图

上图 4 展示了提出的双向关系学习模型的详细结构,图 4(a)展示了如何从物体实例学习相对应的阴影实例,图 4(b)展示了从阴影实例学习相对应的物体实例。如左上角所示,在获得第 m 个物体实例的位置之后,该方法将其位置与掩码特征拼接起来,利用第 m 个 Mask Head 来预测该实例的分割掩码。Mask Head 中的卷积参数是从 Controller 产生,每一个 Mask Head 都具有不同的卷积参数。之后,该方法利用学习到的偏移向量与类向量计算出相对应的阴影实例的中心位置。偏移向量乘上类向量 +1 为从阴影中心到物体中心的距离,乘上类向量 -1 表示从物体中心到阴影中心的距离。之后,该研究同样采用动态卷积来预测阴影实例的掩膜。图 4(b)也是利用类似的操作从阴影实例学习对应的物体实例。

其他技术细节

在之前的框架中,掩膜的置性度是来自于掩膜表示物体类别的置性度。然而这并不能直接反映掩膜的质量,容易出现置信度很高、掩膜质量却很低的现象,如下图 5 所示。为此,该研究设计了可变形的 MaskIoU Head 来减少低质量的掩膜预测。

TPAMI 2022 | 寻找属于你的影子,港中文等提出实例阴影检测任务_算法_06

图 5: 有无可变形 MaskIoU Head 的置性度 vs. MaskIoU

另外,为了增强网络的鲁棒性,特别是处理复杂场景(如物体与阴影实例之间存在遮挡),该研究提出了一种阴影感知的复制粘贴数据增强策略(如下图 6 所示),以扩充训练期间的输入样本。在实现的过程中,既考虑了物体的层级关系,又保留了阴影覆盖下的背景信息。此外,该研究设计了多种损失函数联合优化网络框架,详见论文原文。

TPAMI 2022 | 寻找属于你的影子,港中文等提出实例阴影检测任务_算法_07

图 6: 阴影感知的复制粘贴数据增强策略

实验结果

实例阴影检测结果如下图 7、表 1、表 2 所示,TPAMI(SSISv2)与 CVPR 2020(LISA)与 CVPR 2021(SSIS)等方法相比有了明显的提升。

TPAMI 2022 | 寻找属于你的影子,港中文等提出实例阴影检测任务_神经网络_08

图 7: 实例阴影检测结果

TPAMI 2022 | 寻找属于你的影子,港中文等提出实例阴影检测任务_python_09

表 1:在 SOBA-testing 上的检测结果

TPAMI 2022 | 寻找属于你的影子,港中文等提出实例阴影检测任务_大数据_10

表 2:在 SOBA-challenge 上的检测结果

应用

实例阴影检测的结果有助于光照方向估计与实现图像编辑任务。

TPAMI 2022 | 寻找属于你的影子,港中文等提出实例阴影检测任务_python_11

图 8: 光照方向估计

TPAMI 2022 | 寻找属于你的影子,港中文等提出实例阴影检测任务_计算机视觉_12

图 9: 同时移除物体与其投射的阴影

TPAMI 2022 | 寻找属于你的影子,港中文等提出实例阴影检测任务_python_13

图 10: 将物体和阴影从一张图片转移到另一张图片, 并且调整阴影的方向使其与新的图像匹配。

总结

该研究提出了实例阴影检测任务,用于获取阴影实例、物体实例及其对应关系。为了实现这个任务,首先准备了一个新的数据集和一个新的评价度量。该数据集包含 1100 张带有标记掩码的图像,共计 4,262 对阴影与物体实例,同时该研究设计的评估指标实现了实例阴影检测性能的定量评估。此外,该研究提出了一个全卷积神经网络,通过直接学习阴影与物体之间的关系来端到端的预测阴影与物体实例。该研究设计了双向关系学习模块,可变形的 MaskIoU head,以及阴影感知的复制粘贴数据增强策略,来提升实例阴影检测的性能。最后,该研究展示了所提方法在基准数据集上的优越性,并证明了该方法能够有效地估计光照方向以及实现各种图像编辑任务。未来,计划通过探索现有的知识来提升实例阴影检测的性能,同时利用现有的为其他相关的视觉任务(如阴影检测与实例分割)准备的数据、计算机图形技术合成数据、从互联网下载的未标记数据来训练深度模型。此外,该研究还计划基于实例阴影检测的结果探索更多应用场景。

Reference:

[1] Z. Tian, C. Shen, and H. Chen, “Conditional convolutions for instance segmentation,” in European Conference on Computer Vision, 2020, pp. 282–298.