论文“Unveiling Deep Shadows: A Survey on Image and Video Shadow Detection, Removal, and Generation in the Era of Deep Learning”内容包含第1节简介、第2-5节分别对阴影检测、实例阴影检测、阴影去除和阴影生成进行了全面的综述。第6节深入讨论了阴影分析,并强调了该领域的开放问题和研究挑战。
目录
1 INTRODUCTION
2 SHADOW DETECTION
2.1 Deep Models for Image Shadow Detection
2.1.1 Component Learning
2.1.2 Single-Task Learning
2.1.3 Multi-Task Learning
2.1.4 Semi-Supervised Learning
2.1.5 Self-Supervised Learning
2.1.6 Large Vision Models
2.2 Deep Models for Video Shadow Detection
2.3 Shadow Detection Datasets
2.3.1 Image Datasets for Shadow Detection
2.3.2 Video Datasets for Shadow Detection
2.4 Evaluation Metrics
2.4.1 Evaluation Metrics for Image Shadow Detection
2.4.2 Evaluation Metrics for Video Shadow Detection
2.5 Experimental Results
2.5.1 Image Shadow Detection
2.5.2 Video Shadow Detection
3 INSTANCE SHADOW DETECTION
3.1 Deep Models for Image Instance Shadow Detection
3.2 Deep Models for Video Instance Shadow Detection
3.3 Instance Shadow Detection Datasets
3.4 Evaluation Metrics
3.5 Experimental Results
3.5.1 Evaluation of Image Instance Shadow Detection
3.5.2 Evaluation of Video Instance Shadow Detection
4 SHADOW REMOVAL
4.1 Deep Models for Image Shadow Removal
4.2 Deep Models for Video Shadow Removal
5 SHADOW GENERATION
6 CONCLUSION AND FUTURE DIRECTIONS
接下来,开始本文的内容。
论文题目:Unveiling Deep Shadows: A Survey on Image and Video Shadow Detection, Removal, and Generation in the Era of Deep Learning(揭示深层阴影:关于深度学习时代的图像和视频阴影检测、去除和生成的综述)
论文地址:https://arxiv.org/pdf/2409.02108
代码地址:https://github.com/xw-hu/Unveiling-Deep-Shadows
【摘要】当光线遇到障碍物时会形成阴影,导致光照减弱的区域。在计算机视觉中,阴影的检测、去除和生成对于增强场景理解、改善图像质量、保证视频编辑中的视觉一致性以及改善虚拟环境至关重要。本文对近十年来深度学习领域中图像和视频中的阴影检测、去除和生成进行了全面的综述,涵盖了任务、深度模型、数据集和评价指标。我们的主要贡献包括:对阴影分析的全面调查,实验比较的标准化,探索模型大小、速度和性能之间的关系,跨数据集的泛化研究,确定开放问题和未来方向,并提供公开可用的资源来支持进一步的研究。
索引术语 - 阴影检测、阴影去除、阴影生成、实例阴影检测和深度学习。
1 INTRODUCTION
本文的贡献总结如下:
深度学习时代的阴影分析研究综述。我们对影子分析进行了全面的综述,涵盖了任务、监督水平和学习范式等各个方面。我们的分类法旨在增强研究人员对阴影分析中关键特征的理解及其在深度学习领域的应用。
现有方法的公平比较。目前,现有方法之间的比较在输入大小、评价指标、不同数据集和实现平台等方面存在不一致性。本文规范了实验设置,通过多种方法在同一平台上进行实验,保证了比较的公平性。此外,实验将在新的精化数据集上进行,其中噪声标签或地面真实感图像已经被校正。
模型大小、速度和性能关系的探索。与以往的阴影分析研究只关注最终的绩效指标不同,我们还考察了模型大小和推断速度,突出了这些特征与绩效之间的复杂相互作用。
跨数据集泛化研究。认识到阴影数据集的固有偏差,我们在现有数据集上进行了跨数据集的泛化研究,以评估深度模型在不同数据集上的泛化能力,为这些模型的鲁棒性提供了有价值的见解。
利用Aigc和大型模型对开放问题和未来方向进行概述。我们探讨了阴影分析中的开放性问题,重点关注图像和视频的感知、编辑以及对AIGC和大视觉/语言模型的影响。我们的见解提出了未来的研究方向,为阴影分析及其应用的发展提供了路线图。
公开的结果、训练好的模型和评价指标。我们在https://github.com/xw-hu/Unveiling- Deep - Shadows提供了公平比较设置下的结果、训练的模型和评估指标,以及新的数据集,以方便未来的研究和推进该领域。
总而言之,这些贡献提供了一个全面的调查,将其与先前的综述论文区分开来。本文后续部分安排如下:第2-5节分别对阴影检测、实例阴影检测、阴影去除和阴影生成进行了全面的综述。每一部分都包含对深度模型、数据集、评价指标和实验结果的介绍。第6节深入讨论了阴影分析,并强调了该领域的开放问题和研究挑战。
2 SHADOW DETECTION
2.1 Deep Models for Image Shadow Detection
表1给出了不同方法的本质属性,为深入理解深度学习领域的图像阴影检测提供了便利的参考。
见表1:用于图像阴影检测的深度模型。*:实时检测器;#:来自他人的额外监督;$:额外的训练数据。
2.1.1 Component Learning
早期的方法主要采用卷积神经网络( CNN )来生成阴影特征,然后使用统计建模方法( (例如,条件随机场( CRF )) )来获得最终的阴影掩模。
CNN-CRF采用多个CNN在超像素级别和沿物体边界学习特征,然后使用CRF模型生成平滑的阴影轮廓。
SCNN-LinearOpt使用一个CNN来捕获阴影边缘的局部结构和相关特征,然后制定一个最小二乘优化来预测阴影掩模。
Stacked-CNN使用全卷积神经网络( FCN ) 输出图像级的阴影先验图,然后使用补丁卷积神经网络( Patch-CNN )生成局部阴影掩膜。然后,使用加权平均来融合多个预测。
Patched-CNN首先采用具有统计特征的支持向量机来获得阴影先验图,然后使用CNN来预测斑块的阴影概率图。
使用深度卷积神经网络学习阴影特征在早期的方法中仅被采用。下面类别中的深度模型都是端到端的训练。
2.1.2 Single-Task Learning
随着深度神经网络的发展,采用端到端的深度模型来进行阴影检测,通过直接从输入的阴影图像预测输出的阴影掩模。
scGAN是一个条件生成对抗网络,在损失中具有一个可调节的敏感性参数来调节预测阴影掩模中阴影像素的数量。
DSC制定了一个方向感知的空间上下文( DSC )模块,以方向感知的方式分析图像上下文。该模块用于CNN中生成多尺度阴影掩模,并将其合并为最终的阴影掩模。
DC-DSPF堆叠多个并行融合分支形成网络,以深度监督的方式进行训练,然后使用密集级联学习方案来循环优化预测。
CPNet将残差连接添加到U - Net 中,以识别阴影区域。
A + D Net使用衰减器( A-Net )生成具有衰减阴影的真实图像,作为额外的硬训练示例,并与原始训练数据一起训练检测器( D-Net )来预测阴影掩膜。值得注意的是,它是一种快速的阴影检测器,可以达到实时的性能。
BDRAR 引入了循环注意力残差模块来组合来自相邻CNN层的特征,并学习一个注意力图来循环地选择和细化残差上下文特征。此外,它还开发了一个双向特征金字塔网络来聚合不同CNN层的阴影特征。
DSDNet 设计了注意力感知阴影( Distraction-aware Shadow,DS )模块,通过显式地预测误报和漏报来学习注意力感知和判别性特征。注意到预测的假阳性和假阴性来自其基本模型和其他阴影检测器。
CPAdv-Net在UNet中的编码器层和解码器层之间的跳跃连接中设计了一种映射方案。此外,它还引入了两个对抗样本生成器来从原始图像中生成用于训练的数据。
DSSDNet采用编码器-解码器残差结构和深度监督渐进融合模块来预测航拍图像上的阴影掩膜。
FSDNet ,一个快速阴影检测网络,采用DSC模块来聚合全局特征,并制定了一个细节增强模块来收集底层特征图中的阴影细节。它使用MobileNet V2 作为主干网来实现实时性能。
ECA采用多个具有不同核的并行卷积,以在适当的尺度上增加有效的物体上下文。
RCMPNet提出了一种相对置信图回归方法,使用提出的预测网络来评估阴影检测方法的可靠性,并结合基于注意力的LSTM子模块来增强置信图的预测。
SDCM使用两个并行分支来同时生成阴影和非阴影掩膜,利用它们的互补性质。利用训练过程中的负激活、身份重构损失和判别损失,提高了阴影检测结果的准确性。
2.1.3 Multi-Task Learning
一些方法采用端到端的深度神经网络,不仅执行掩码预测任务,还执行其他任务,例如预测去阴影图像以去除阴影。这些多任务方法得益于对阴影图像的相互改进或更好的理解。
ST-CGAAN使用两个连续的条件生成对抗网络,其中第一个网络预测阴影掩膜,第二个网络以阴影图像和阴影掩膜作为输入预测去阴影图像。
ARGAN开发了注意力循环生成对抗网络用于阴影检测和去除。该生成器以由粗到精的方式通过多个渐进步骤产生阴影注意力图并恢复去阴影图像。此外,ARGAN可以使用未标记数据以半监督的方式进行训练,利用了GAN中的对抗损失。
R2D通过利用阴影去除过程中学习到的阴影特征来增强阴影检测性能。所提出的FCSD - Net架构集成到R2D框架中,通过专门设计的检测器模块来提取精细的上下文特征。它使用DSDNet中的假阳性和假阴性以及DS模块。
LRA & LDRA在堆栈范式中优化残差,以同时解决阴影检测和去除的挑战,指导优先进行阴影区域重建,并有助于最终的混合/颜色校正,同时减少开销,并在不同的骨干架构中提高准确性。生成包含阴影图像、去阴影图像和阴影掩模的成对数据集,用于预训练。
SDDNet引入了风格引导的双层解耦网络用于阴影检测,利用特征分离和重组模块通过差异化的监督来分离阴影和背景层。同时联合训练保证了分离的可靠性,阴影风格滤波模块引入了风格约束(以Gram矩阵为代表),增强了特征解缠质量。
Sun et al.提出了一种自适应光照映射( AIM )模块,将原始图像转换为不同强度的sRGB图像,并与利用多尺度对比度信息的阴影检测模块配对。反馈机制引导AIM以阴影感知的方式渲染不同光照的sRGB图像。
2.1.4 Semi-Supervised Learning
训练用于阴影检测的深度模型需要标注阴影掩码,因此有限的训练数据量影响了深度模型在复杂情况下的性能。因此,半监督阴影检测器被提出来在有标记和无标记的阴影图像上训练模型。
ARGAN + SS如Sec 2.1.3所述。
MTMT-Net 是一种成功的用于阴影检测的半监督方法,它基于师生(平均教师)架构构建了用于半监督学习的多任务均值教师网络。教师网络和学生网络都以多任务学习的方式检测阴影区域、阴影边缘和阴影计数。
SDTR和SDTR + 分别表示半监督和弱监督阴影检测器。新阴影图像的处理过程包括通过可靠的样本选择方案来识别不可靠的样本。随后,可以选择重新训练可靠的样本,重新推断不可靠的样本,以获得精确的伪掩码,或者使用灵活的注释(如盒子、点、涂鸦等)并获得见解,以提高深度模型的泛化能力。利用MiT - B2骨干网,SDTR和SDTR +都可以实时运行。
2.1.5 Self-Supervised Learning
自监督学习采用数据本身作为监督来学习深层特征。这种想法是在现有的训练数据集上或者使用额外的数据来实现的。
FDRNet设计了一种特征分解和重加权方案来减轻深度阴影检测器对强度线索的偏向。它首先采用两个自监督任务,以调整后的亮度图像作为监督来学习强度变化和强度不变的特征。然后,它使用累积学习对特征进行重新加权。
SILT提出了阴影感知的迭代标签调优( Shadow-aware Iterative Label Tuning )框架,通过阴影感知的数据增强、全局局部融合的掩码预测、阴影感知的滤波以及融合零标签的去阴影图像来提高非阴影区域的识别。它收集了一些互联网图像(暗物质&去阴影图像),以进一步帮助训练网络区分阴影和黑暗物体。各种基础网络被用作U - Net的骨干网络,如ResNeXt101 ,EfficientNet和PVT v2 。
2.1.6 Large Vision Models
现代大型视觉模型在一般视觉任务中表现出良好的性能。例如,' Segment anything '模型( SAM )在不同对象类别的图像分割中表现出令人印象深刻的零样本性能。尽管如此,处理复杂背景和复杂场景下的阴影仍然很困难。为了提高SAM的阴影检测性能,各种方法只对SAM上新增加的或部分结构进行微调。
SAM-Adapter使用SAM作为其骨干,通过结合定制信息来提高性能。这涉及到在SAM编码器的每一层中集成两个MLP作为适配器,同时微调适配器和SAM掩码解码器。
Shadow SAM 使用两个MLP和一个GELU激活函数作为提示器,集成到多层Sam Encoder中。它使用非深度学习方法生成伪掩码,并使用光照和纹理边缘引导更新策略对其进行改进。该方法包括一个用于增量课程学习的掩码多样性指数。Shadow SAM在无监督的(用伪掩模)和有监督的模式下都是可训练的。
AdapterShadow 将可训练的适配器插入SAM的冻结图像编码器中进行微调。同时,引入网格采样方法,从预测的粗略阴影掩模中自动生成稠密点提示。注意到SAM的骨干网络是ViT-H,辅助网络的骨干网络是EfficientNet-B1 。
2.2 Deep Models for Video Shadow Detection
视频阴影检测处理动态场景,在视频帧中生成一致的阴影掩膜。文献[ 87 ]制定了面向学习的视频阴影检测数据集和方法。表2概括了所调查论文的基本属性。
TVSD-Net是基于深度学习的视频阴影检测的先驱,它协同使用三重并行网络来获得视频内和视频间的区分性表示。该网络包括一个双门控协同注意力模块来约束同一视频中相邻帧的特征,以及一个辅助的相似性损失来捕获不同视频之间的语义信息。
Hu等[ 88 ]使用基于光流的扭曲模块来对齐和合并帧之间的特征,并将其应用于多个深度网络层来提取相邻帧的信息,同时包含了局部细节和高级语义信息。
STICT利用均值教师学习将有标签图像和无标签视频帧结合起来进行实时阴影检测。它引入了时空插值一致性训练,以获得更好的泛化性和时间一致性。
SC-Cor使用对应学习以像素到集合的方式来提高细粒度的像素相似性,在帧间的阴影区域内细化像素对齐。它增强了时间一致性,并在现有的阴影检测器中无缝地充当“即插即用”模块,而没有计算成本。
STF-Net使用Res2Net50 作为主干网,引入了一个简单但有效的时空融合模块来利用时间和空间信息,从而有效地实时检测视频中的阴影。
SCOTCH和SODA形成了一个视频阴影检测框架。SCOTCH使用有监督的对比损失来增强阴影特征的判别性,而SODA使用时空聚合机制来管理阴影形变。这种结合提高了特征学习和时空动态性。
ShadowSAM使用边界框作为提示,微调SAM来检测第一帧中的阴影,并使用以MobileNetV2为骨干的长短期网络来传播掩码,使用长短期注意力来增强性能。
RSM-Net引入了参考视频阴影检测任务,并提出了一种参考阴影-轨迹记忆网络,该网络利用双轨迹协同记忆和混合先验阴影注意力,基于描述性自然语言提示来分割视频中的特定阴影。
TBGDiff 是第一个通过提取时间引导和边界信息来进行视频阴影检测的扩散模型,使用双尺度聚合对时间信号和辅助头进行边界上下文提取,并通过时空编码嵌入进行时间轴时间引导。
Duan等人使用两阶段训练范式,首先使用预训练的图像域模型适应视频域,使用时间适应块用于时间一致性,并使用空间适应块整合高分辨率局部块和全局上下文特征。控制在这两个模块中使用了Net [ 101 ] - like结构。
2.3 Shadow Detection Datasets
接下来,专门讨论了用于模型训练和评估的广泛使用的数据集,省略了其他用于额外半/弱监督训练的数据。
2.3.1 Image Datasets for Shadow Detection
早期的数据集,如UCF [ 18 ]和UIUC [ 19 ],都是用手工设计的特征来训练传统的机器学习方法。UCF由245幅图像组成,其中117幅图像在不同的室外环境中拍摄,包括校园和市中心地区。其余图像来自现有的数据集。对于每幅图像,阴影在像素级别上都经过了细致的手工标记,并由两个人进行验证。UIUC拥有108张带有标记的阴影掩模和去阴影图像的阴影图像,首次在数十张图像上实现了阴影去除的定量评估。
之后,收集包含数千张阴影图像的数据集来训练深度学习模型。
SBU & SBU-Refine:SBU是一个大规模的阴影数据集,包含4087张训练图像和638张测试图像,使用懒惰的标记方法,用户最初粗略地标记阴影和非阴影区域。一个优化算法对这些标签进行优化。SBU - Refine对测试集进行人工重标记,并通过算法对训练集中的噪声标签进行细化。
ISTD是一个包含阴影图像、去阴影图像和阴影掩膜的数据集,用于阴影检测和去除。它包括1330张训练图像,540张测试图像和135个不同的背景场景。
CUHK-Shadow是一个包含10 500张阴影图像的大数据集,其中7 350张用于训练,1 050张用于验证,2 100张用于测试。它具有五个类别:( i ) ShadowADE:1132张ADE20K图像(建筑物阴影),( ii ) ShadowKITTI:2773张KITTI图像(车辆、树木、路边阴影),( iii ) Shadow-MAP:1595张谷歌地图照片,( iv ) ShadowUSR:2445张USR图像(人与物的阴影),( v ) Shadow-Web:2555张来自Flickr的互联网图像。
SynShadow是一个使用阴影光照模型和3D模型生成的10000个阴影/去阴影/ matte图像三元组的合成数据集。它假设摄像机视野之外的遮挡物和用于阴影投影的平坦表面,使用来自USR 的去阴影图像,支持预训练或零样本学习。
SARA包括7019张带有阴影掩模的原始图像,分为6143张用于训练,876张用于测试,特征来自11个背景的17类阴影。
2.3.2 Video Datasets for Shadow Detection
ViSha 使用二值掩码对120个不同的视频进行像素级阴影标注。它包含11685帧,时间跨度为390秒,标准化为30帧/秒,并分为5:7的训练-测试比例。
RVSD 从ViSha中选取86个视频,用单独的阴影实例和描述性自然语言提示重新注释它们,通过验证确保质量。
CVSD是复杂的视频阴影数据集,包含196个视频片段,跨越149个类别,具有多样化的阴影模式。其中包括278504个标注阴影区域和19757个复杂场景下带有阴影掩码的帧。
2.4 Evaluation Metrics
2.4.1 Evaluation Metrics for Image Shadow Detection
BER(平衡错误率)是评估阴影检测性能的常用指标。在这个评估中,阴影区域和非阴影区域的贡献是相等的,而不考虑它们的相对面积。利用该公式计算BER:
其中TP、TN、FP和FN分别表示真阳性、真阴性、假阳性和假阴性。为了计算这些值,首先将预测的阴影掩模量化为一个二值掩模。如果值超过0.5,像素被设置为1,否则为零。然后将该二值掩膜与真实掩膜进行比较。较低的BER值表明更有效的检测结果。偶尔,阴影区域和非阴影区域的BER值也会被提供。
被提出用于评估阴影掩模中的非二进制预测值。该度量以加权的方式计算精确率和召回率,具有较高的,表明结果较优。
2.4.2 Evaluation Metrics for Video Shadow Detection
时间稳定性( Temporal Stability,TS )计算相邻两帧的真实标签之间的光流,记为Yt和Yt + 1。而ARFlow 最初用于光流计算,本文采用RAFT。由于在RGB帧中难以捕获阴影的运动,因此采用这种方法。定义It →t + 1为Yt和Yt + 1之间的光流。然后,通过光流It→t + 1将Y ( t + 1 )扭曲的重构结果记为Yt。T为视频帧数。接下来,基于相邻帧之间的流弯曲交并比( Intersection over Union,IoU )来衡量视频阴影检测的时间稳定性:
2.5 Experimental Results
现有方法在其原始论文中报告的比较结果在输入大小、评估指标、数据集和实现平台方面存在不一致性。因此,我们规范了实验设置,并通过各种方法在同一平台上进行实验,以确保公平的比较。此外,我们进一步从模型大小和速度等方面对这些方法进行了比较,并进行了泛化能力的跨数据集评估。
2.5.1 Image Shadow Detection
整体性能基准结果。SBU-Refine和CUHK - Shadow被用来评估各种方法的性能。SBU - Refine通过纠正错误标记的掩码来提高评估精度,从而减少比较方法中的过拟合问题。CUHK - Shadow作为目前最大的真实数据集,提供了多种场景进行全面的测试。比较的方法列在表3中,我们排除了那些代码不可用的方法。我们使用原始源代码重新训练了这些方法,除了DSC,DSC是在PyTorch中用ResNeXt101实现的。所有比较的方法都省略了后处理,如CRF。以前的方法采用了不同的输入大小。在本文中,我们设置输入大小为256 × 256和512 × 512来呈现两种分辨率下的结果。我们将BER作为评估指标,使用Python代码进行计算。报告了阴影( BERS )和非阴影( BERNS )区域的BER。为了公平比较,结果被调整为评估中的基本真值分辨率。
表3和图1说明了每种方法的准确性、运行时间和参数。我们可以观察到:( i )一些相对较老的方法比最近的方法表现更好,这表明在原始的SBU数据集上存在过拟合问题;( ii ) FSDNet 是目前唯一开源的(训练和测试代码均可用)实时阴影检测器,参数少,推理速度快;( iii ) DSDNet在其训练过程中融合了DSC和BDRAR 的结果,并取得了与最近方法SDDNet 相当的性能;( 4 )较大的输入大小通常会带来性能增益,但同时也需要更多的时间;( v ) CUHK - Shadow比SBU - Refine更具有挑战性。FDRNet 在检测CUHK - Shadow中的阴影时对输入分辨率特别敏感,它包含复杂的阴影或更精细的细节,这得益于更高分辨率的输入( 512 × 512)。见补充材料中的视觉对比。
跨数据集泛化性评价。为了评估阴影检测方法的泛化能力,我们在SBURefine训练集上使用训练好的模型进行跨数据集评估,在SRD测试集上进行阴影检测;见Sec . 3 .由于SRD在背景特征上的复杂性与SBU相似,因此使用SRD。值得注意的是,这是第一次在大规模数据集上评估泛化能力。
表3中最右边的3列显示了结果,其中性能下降很多,特别是在阴影区域。这凸显了跨数据集评估对稳健阴影检测的重要性。阴影区域的性能下降表明这些方法难以适应SRD中存在的变化的光照条件和复杂的背景纹理。未来的工作应该致力于提高阴影检测模型的鲁棒性,以更好地在不同数据集上进行推广。
总结:实验结果表明,如何建立一个高效的、鲁棒的、具有较高检测精度的图像阴影检测模型,特别是在复杂场景下,仍然是一个具有挑战性的问题。
2.5.2 Video Shadow Detection
ViSha用于评估输入大小为512 × 512的视频阴影检测方法,其次是[ 88 ],[ 92 ]。由于SAM预训练模型的位置嵌入,Shadow SAM使用了1024 × 1024。SC- Cor [ 90 ]使用DSDNet [ 55 ]作为基础网络。STICT [ 89 ]使用额外的SBU数据集图像进行训练。除了用于图像级评估的常用指标BER和IoU外,我们还采用了时间稳定性( TS ),通常被比较的方法所忽略。对于TS中的光流,将结果调整为512 × 512,对于其他指标,将结果调整为地面真值分辨率。
表4展示了结果,显示了视频阴影检测方法之间的不同优势和权衡。SCOTCH和SODA表现出最好的综合性能,具有最低的BER和最高的AVG,而ShadowSAM实现了最高的IoU,但具有较大的模型尺寸。STICT以其最快的推理速度脱颖而出,使其非常适合实时应用,尽管IoU较低。SC - Cor和TVSD - Net表现均衡,BER、IoU和TS评分适中。
总结:实验结果表明,如何在视频阴影检测中实现帧级精度、时间稳定性、模型复杂度和推理速度之间的最佳平衡仍然是一个具有挑战性的问题。
3 INSTANCE SHADOW DETECTION
本部分介绍了另一个任务,实例阴影检测,其目的是发现阴影及其相关对象。了解物体与其阴影之间的关系有利于许多图像/视频编辑应用,因为它很容易同时操作物体及其相关的阴影。这个任务首先由[ 108 ]在图像级别上提出,然后由[ 111 ]扩展到视频。表5概括了所调查方法的基本属性。
3.1 Deep Models for Image Instance Shadow Detection
实例阴影检测旨在检测阴影实例和投射每个阴影的相关对象实例。
LISA 通过生成可能包含阴影/对象实例及其关联的区域建议来发起。对于每个建议,它预测单个阴影/物体实例的边界框和掩膜,为阴影物体关联(对)生成边界框,并估计每个阴影-物体关联的光照方向。该过程通过将阴影和对象实例与其对应的阴影-对象关联进行配对来完成。
SSIS引入了单阶段全卷积网络架构,并带有双向关系学习模块,用于直接端到端地学习阴影和对象实例之间的关系。该模块深入探究阴影-物体关联对,学习从每个阴影实例中心到其关联物体实例中心的偏移向量,以及其他方式。
SSISv2 使用新颖的技术扩展SSIS,包括可变形的MaskIoU头、阴影感知的复制-粘贴数据增强策略和边界损失,旨在增强阴影/物体实例和阴影物体关联的分割。
3.2 Deep Models for Video Instance Shadow Detection
视频实例阴影检测不仅需要识别视频帧中的阴影及其关联对象,还需要在整个视频序列中持续跟踪每个阴影、对象及其关联,容纳甚至暂时消失关联中的阴影或对象部分。
ViShadow 是一个基于有标签图像数据和无标签视频序列训练的半监督框架。初始训练是通过中心对比学习将不同图像中的阴影和物体进行配对。随后,利用具有相关循环一致性损失的未标记视频增强跟踪。此外,它还通过检索机制来解决对象或阴影实例暂时消失的挑战。
3.3 Instance Shadow Detection Datasets
SOBA 是第一个用于图像实例阴影检测的数据集,包含1100幅图像,4293个注释的阴影-物体关联。最初,文献[ 108 ]收集了1 000张图像,文献[ 110 ]又增加了100张具有挑战性的阴影-物体对的图像用于排他性测试。训练集包括840幅图像,共2999对。使用Affinity Photo App with Apple Pencil仔细标注了阴影实例、对象实例及其关联的标签。
SOBA-VID是一个专门用于视频实例阴影检测的数据集,包含292个视频,共计7045帧。该数据集分为232个视频( 5863帧)的训练集和60个视频( 1182帧)的测试集。值得注意的是,测试集为每个阴影和物体实例提供了详细的逐帧注释,而训练集则包含了每4帧中的一个注释。
3.4 Evaluation Metrics
SOAP (阴影-物体平均精度)通过计算交并比( IoU )的平均精度( AP )来评估图像实例阴影检测性能。它扩展了真正例的标准,要求预测和真实阴影实例、对象实例和阴影-对象关联的IoU阈值大于或等于τ。评估采用特定的τ值0.5 ( SOAP50 )或0.75 ( SOAP75 ),并在τ值从0.5到0.95的范围内以0.05 ( SOAP )的增量计算平均值。
SOAP-VID 通过将SOAP中的IoU替换为时空IoU来评估视频实例阴影检测。
3.5 Experimental Results
3.5.1 Evaluation of Image Instance Shadow Detection
整体性能基准结果。SOAP 被用作数据集,SOBA是评估指标。所比较的方法列于表6。我们使用它们的原始代码重新训练这些方法,将训练过程中输入图像的较短边大小调整为六种尺寸之一:640,672,704,736,768或800。在推断过程中,我们将较短的边缩小到800,确保较长的边不超过1333。
跨数据集泛化性评价。为了评估泛化能力,我们进行了跨数据集评估,通过应用在SOBA训练集上训练的模型来检测SOBA - VID测试集视频帧中的图像实例阴影/物体。值得注意的是没有进行时间一致性评价。
表7显示了结果,其中我们观察到( i )所比较的方法的趋势与在SOBA测试集上观察到的趋势一致,( ii )性能没有明显下降,证明了实例阴影检测方法的强大泛化能力。
总结:实验结果表明,如何开发一个有效的模型来准确地分割阴影和物体实例仍然是一个具有挑战性的问题。
3.5.2 Evaluation of Video Instance Shadow Detection
在这里,我们给出了ViShadow [ 111 ]在SOBA - VID测试集上的性能指标:SOAP - VID为39.6,Association AP为61.5,Instance AP为50.9。20帧的总推理时间为93.63秒,每秒处理约0.21帧,模型参数为66.26 M。
4 SHADOW REMOVAL
阴影去除旨在通过恢复阴影下的颜色来生成去阴影图像或视频帧。除一般场景外,文档和人脸阴影去除是重要的具体应用。本小节对阴影去除的深度模型进行了全面的概述,并总结了常用的数据集和评价阴影去除方法的指标。此外,为了评估各种方法的有效性,我们进行了实验并给出了比较结果。
4.1 Deep Models for Image Shadow Removal
表8汇总了所调研的图像阴影去除相关文献。我们按照监督等级对方法进行了分类。
表9:文档和面部阴影去除的深度模型。
4.2 Deep Models for Video Shadow Removal
PSTNet是一种视频阴影去除方法,结合物理、空间和时间特征,通过无阴影图像和掩膜进行监督。它使用物理分支用于自适应曝光和监督注意力,使用空间和时间分支用于分辨率和连贯性。特征融合模块细化输出,S2R策略将合成的模型自适应地用于真实世界而无需重新训练。
GS + C执行视频中的面部阴影去除。
实验结果:
表10:在精视RTX 4090 GPU上比较图像阴影去除方法。LPIPS使用VGG作为提取器。值得注意的是,对于最右列显示的结果,我们报告了跨数据集的泛化评估,其中模型在SRD上训练,在DESOBA上测试。注意到Mask - ShadowGAN和DC - ShadowNet是无监督方法,而G2RShadowNet是弱监督方法。
表11:在精视RTX 4090 GPU上比较文档阴影去除方法。VGG应用于LPIPS中。
5 SHADOW GENERATION
阴影生成服务于三个主要目的:
( i )图像合成,它涉及为照片中的物体生成投射阴影,以便可以插入或重新定位照片中的物体;
( ii )数据增强,其目的是在图像中创建投射阴影,以产生照片真实感的图像,以支持深度神经网络训练;
( iii )草图绘制,其重点是为手绘草图生成阴影,以加速绘制过程。
表12:图像阴影生成的深度模型。
不同的方法由于其独特的模型设计和应用,需要不同的具体训练数据。例如,SGRNet需要一个前景阴影掩膜和一个目标阴影图像进行图像合成。相比之下,Mask-ShadowGAN只需要未配对的阴影和去阴影图像进行阴影去除。ARShadowGAN使用真实阴影及其遮挡物的二值图进行训练,为增强现实中的虚拟物体生成阴影。智能影子利用艺术家提供的线条图和阴影对训练深度网络,生成线条图上的阴影。由于篇幅限制,我们建议读者对每个应用的结果进行探索,以了解方法的有效性和适用性。
然而,目前的阴影生成方法主要针对图像中的单个物体,如何为视频中的多个物体生成一致的阴影仍然是一个挑战。此外,除了为缺乏阴影的物体生成阴影外,如何通过调整光照方向来编辑各种物体的阴影提供了更多的实际应用。
6 CONCLUSION AND FUTURE DIRECTIONS
总之,本文通过对一百多种方法的调研和标准化实验设置,推进了深度学习时代阴影检测、去除和生成的研究。我们探索模型大小、速度和性能之间的关系,并通过跨数据集研究来评估鲁棒性。下面,我们进一步提出开放问题和未来的研究方向,强调AIGC和大型模型的影响,以促进该领域的学术研究和实际应用。
阴影和目标检测、去除和生成的一体化模型是一个很有前景的研究方向。大多数现有的方法只专注于一个特定的任务:检测、去除或生成阴影。然而,所有与阴影相关的任务都是内在相关的,并且理论上可以从共享的见解中受益,考虑物体与其阴影之间的几何关系。开发一个统一的模型可以揭示潜在的关系并最大限度地利用训练数据,从而增强模型的泛化能力。
在阴影分析中,物体的语义和几何结构仍然没有得到充分的研究。现代大型视觉和视觉语言模型配备了广泛的网络参数和大量的训练数据集,在分析图像和视频中的语义和几何信息方面表现出良好的性能和显著的零样本能力。例如,Segment Anything提供了像素级别的分割标签;Depth Anything 估计任意图像输入的深度;和ChatGPT-4o预测了图像和视频帧的叙事。利用这些语义和几何洞察力进行阴影感知,可以显著增强阴影分析和编辑,甚至有助于分离重叠的阴影。
影-物关系辅助完成各种图像和视频剪辑任务。实例阴影检测为对象和阴影实例生成掩码,便于编辑任务,如修复,实例克隆和阴影修改。例如,图像修复是通过实例阴影检测分析观测对象及其阴影,根据其投射阴影来估计未观测对象的布局。将这些应用整合到手机中进行照片和视频编辑,既简单又有好处。考虑到现代手机具有多摄像头和高动态范围的特点,探索如何利用这些摄像头进行增强的阴影对象编辑是一个新颖的研究方向。
阴影是区分人工智能生成的视觉内容与真实内容的有效手段。近年来,人工智能生成内容( AIGC )的发展使得各种图像和视频的生成成为可能。然而,这些AI生成的内容往往忽略了几何方面,导致阴影属性的差异,从而破坏了3D感知。实例阴影检测被用来分析物体阴影关系,揭示了当光源对齐和物体几何形状不一致时图像的合成性质。AI生成的视频也需要坚持3D几何关系。因此,探索未来的研究方向,重点关注AI生成内容中的阴影一致性,并评估或定位潜在的不一致性是非常重要和有趣的。此外,阴影是一种自然且隐蔽的对抗性攻击,可以破坏机器学习模型。
至此,本文的内容就结束啦。