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.

相关文章
|
存储 Java 测试技术
JAVA-MAVEN初学者教程(配置、pom.xml、依赖管理等)
JAVA-MAVEN初学者教程(配置、pom.xml、依赖管理等)
3964 0
|
运维 资源调度 Kubernetes
阿里巴巴超大规模Kubernetes基础设施运维体系揭秘
在过去近三年时间,Kubernetes架构在阿里巴巴集团经历了飞速发展:既支持了集团统一调度超大规模场景,又支持了大批云上云产品用户,还在支持OXS区容器化。经过这些年的发展,我们也逐渐锤炼出了K8S Serverless全托管稳定性运维体系。这些运维和稳定性能力不是K8S原生就具备的,而是在大量实践和失败过程中的沉淀出来的系统稳定性加固能力。
阿里巴巴超大规模Kubernetes基础设施运维体系揭秘
|
运维 数据可视化 搜索推荐
研发部绩效考核怎么做?用这5步搭建体系,人事系统帮你落地
研发部门作为企业技术核心,其绩效考核面临创造性、协作性及高知群体特性带来的挑战。常规KPI难以量化创新价值、评估团队贡献或满足成长需求。科学的考核体系需从战略出发,结合可量化与定性指标,设定灵活周期,引入多源评价,并与激励机制联动。借助人事系统实现数据自动整合、流程在线化与结果可视化,提升考核效率与公平性。最终通过“体系+工具”结合,激发研发人员积极性,推动企业技术创新与战略落地。
|
搜索推荐 定位技术 API
校园导航系统解决方案:智慧校园精准指引,提升校园服务质量
本文面向学校、相关技术人员以及对校园导航系统感兴趣的读者,提供校园导航系统的核心技术与功能的解析,包括高精度定位、三维地图构建及 AR/VR 集成等,推动智慧校园建设。如需校园导航系统解决方案欢迎私信获取,如有项目合作及技术交流欢迎私信作者哦~
1005 2
校园导航系统解决方案:智慧校园精准指引,提升校园服务质量
|
人工智能 PyTorch API
Hunyuan3D 2.0:腾讯混元开源3D生成大模型!图生/文生秒建高精度模型,细节纹理自动合成
Hunyuan3D 2.0 是腾讯推出的大规模 3D 资产生成系统,专注于从文本和图像生成高分辨率的 3D 模型,支持几何生成和纹理合成。
2714 5
Hunyuan3D 2.0:腾讯混元开源3D生成大模型!图生/文生秒建高精度模型,细节纹理自动合成
|
机器学习/深度学习 并行计算 PyTorch
深度学习环境搭建笔记(一):detectron2安装过程
这篇博客文章详细介绍了在Windows环境下,使用CUDA 10.2配置深度学习环境,并安装detectron2库的步骤,包括安装Python、pycocotools、Torch和Torchvision、fvcore,以及对Detectron2和PyTorch代码的修改。
3535 1
深度学习环境搭建笔记(一):detectron2安装过程
|
索引 Python
%g是什么
`%g` 是 Python 字符串格式化中的一种格式说明符,用于表示浮点数或整数,能自动选择最合适的表示法。当数值为整数时,它显示整数;当数值较大或含小数时,它选择科学记数法或小数点记数法,并去掉无用的零。例如:
2640 1
|
Java Spring 容器
什么情况下会导致@Async异步方法会失效?
什么情况下会导致@Async异步方法会失效?
389 1
|
运维 Kubernetes jenkins
【云效最完整测评】从自建DevOps部署微服务再到云效
本人还是个在校生,不是什么业界大佬,每次社区出征文计划我都会珍惜测评的机会。因为本人专业学习的是网络方向,对开发其实还是有不少欠缺。在学习云计算时对devops进行了研究,包括容器云k8s的一些列运维搭建。很多概念上的东西要是理解错误,希望各位能够多多指教QAQ
23219 7
【云效最完整测评】从自建DevOps部署微服务再到云效
|
机器学习/深度学习 监控 算法
傻傻分不清目标检测、语义分割和实例分割,看这篇就够了
傻傻分不清目标检测、语义分割和实例分割,看这篇就够了
4813 0