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

简介: TPAMI 2022 | 寻找属于你的影子,港中文等提出实例阴影检测任务
来自香港中文大学与上海人工智能实验室的王天宇与胡枭玮等作者提出了一种实例阴影检测任务,旨在查找阴影与物体之间的关系。


阴影是由光线被物体遮挡而产生,阴影与物体密不可分。为了寻找阴影和产生阴影的物体,来自港中文大学与上海人工智能实验室的王天宇与胡枭玮等作者提出了一种实例阴影检测任务,旨在查找阴影与物体之间的关系,进而估计光照方向、实现各种图像编辑应用。
实例阴影检测不仅可以找到输入图像中的单个阴影实例,还可以得到投射每个阴影的物体。实例阴影检测任务有助于各种下游应用,例如删除、缩放或移动物体和其投射的阴影,估计光照的方向,帮助生成 AR 场景中虚拟物体的阴影,以及根据在卫星图像中检测到的阴影和物体实例推测物体的高度等。

图 1: 实例阴影检测任务

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



  • 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) 评价函数,综合评估阴影实例、物体实例与阴影 - 物体关联的检测结果。

图 2: SOBA 数据集

单阶段实例阴影检测框架

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

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


图 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 来减少低质量但置信度高的实例掩膜。

双向关系学习模型

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

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


其他技术细节

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

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

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

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

实验结果

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

图 7: 实例阴影检测结果

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

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

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

图 8: 光照方向估计

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

图 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.

相关文章
|
缓存 JavaScript 安全
MethodHandle方法句柄使用分享
JDK 1.7 引入了 `MethodHandle` 类,优化了之前的反射机制性能问题。`MethodHandle` 提供了一种更高效的方法调用机制,通过 `MethodType` 和 `Lookup` 对象实现。具体流程包括:创建 `MethodType` 获取方法签名,通过 `Lookup` 查找方法对应的 `MethodHandle`,最后调用方法。此外,通过 `ConstantCallSite` 进一步优化性能,利用其不变性特点减少运行时开销。实验结果显示,使用 `ConstantCallSite` 显著提升了方法调用速度。
261 3
MethodHandle方法句柄使用分享
|
机器学习/深度学习 人工智能 供应链
探索未来技术前沿:人工智能与区块链的融合创新
【10月更文挑战第14天】 探索未来技术前沿:人工智能与区块链的融合创新
|
IDE 算法 Java
通义灵码企业级能力全面升级
本指南介绍如何使用通义灵码企业版提升代码质量和效率。首先,需注册并登录通义灵码企业版及 IDE 插件,下载本地工程和知识库压缩包,创建企业知识库并上传文档和代码。随后,可通过开启检索增强功能体验基于企业规范的代码风格优化、前端组件代码补全及后端算法函数生成等功能,显著提高开发效率和代码质量。
475 2
|
9月前
|
算法 编译器 C++
C++20之2025年上桌我坐哪里?
C++20是C++语言的一次重大更新,引入了模块、协程、概念、范围等革命性特性。相比老版本,它显著提高了开发效率、增强了代码可读性和可维护性,并通过优化编译和运行性能提升了整体表现。这些改进推动了现代C++编程范式的发展,帮助开发者应对复杂软件工程挑战。文章回顾了C++发展历程,详细分析了C++20的新特性及其优势,展望了其未来潜力。
367 1
|
存储 监控 安全
阿里云数据库(ADB)的多租户秘籍:资源隔离的魔法如何施展?
【8月更文挑战第27天】多租户系统在云计算与大数据领域日益重要,它让不同用户或组织能在共享基础设施上独立运行应用和服务,同时确保资源隔离与安全。ADB(如阿里云数据库)通过资源组及标签实现高效多租户隔离。资源组作为一种软隔离策略,允许为不同租户分配独立的计算和存储资源,并设置资源上限;资源标签则支持更细粒度的硬隔离,可为每个数据库表或查询指定特定标签,确保资源有效分配。此外,ADB还提供了资源监控与告警功能,帮助管理员实时监控并调整资源分配,避免性能瓶颈。这种灵活且高效的资源隔离方案为多租户环境下的数据处理提供了强大支持。
652 0
|
算法 定位技术
m基于matlab的GPS卫星信号捕获和数据解析仿真
m基于matlab的GPS卫星信号捕获和数据解析仿真
486 0
m基于matlab的GPS卫星信号捕获和数据解析仿真
|
jenkins 测试技术 持续交付
自动化测试框架的构建与优化:提升软件交付效率的关键####
本文深入探讨了自动化测试框架的核心价值,通过对比传统手工测试方法的局限性,揭示了自动化测试在现代软件开发生命周期中的重要性。不同于常规摘要仅概述内容,本部分强调了自动化测试如何显著提高测试覆盖率、缩短测试周期、降低人力成本,并促进持续集成/持续部署(CI/CD)流程的实施,最终实现软件质量和开发效率的双重飞跃。通过具体案例分析,展示了从零开始构建自动化测试框架的策略与最佳实践,包括选择合适的工具、设计高效的测试用例结构、以及如何进行性能调优等关键步骤。此外,还讨论了在实施过程中可能遇到的挑战及应对策略,为读者提供了一套可操作的优化指南。 ####
|
机器学习/深度学习 PyTorch 算法框架/工具
深度学习参数初始化(二)Kaiming初始化 含代码
深度学习参数初始化(二)Kaiming初始化 含代码
842 2
|
监控 Serverless 云计算
探索Serverless架构:开发的未来趋势
【10月更文挑战第5天】Serverless架构,即无服务器架构,正逐渐成为云计算领域的热点。它允许开发者构建和运行应用程序而无需管理底层服务器。本文介绍了Serverless架构的基本概念、核心优势及挑战,并展示了其在事件驱动编程、微服务架构和数据流处理等场景中的应用。通过优化冷启动、使用外部存储等实战技巧,开发者可以更好地利用Serverless架构提升开发效率和应用性能。随着技术的成熟,Serverless将在未来软件开发中扮演重要角色。
|
安全 Linux 网络安全
docker常见问题
【10月更文挑战第2天】
397 3