掌桥专利:专业的专利平台
掌桥专利
首页

一种利用线标注的弱监督阴影检测方法

文献发布时间:2023-06-19 19:27:02


一种利用线标注的弱监督阴影检测方法

技术领域

本发明属于目标检测技术领域,具体涉及一种利用线标注的弱监督阴影检测方法。

背景技术

阴影常见于自然图像和视频中,它是由物体挡住光源形成的。准确定位阴影可以为感知光线方向、场景几何、摄像机位置和参数提供有价值的线索,从而有利于各种场景理解任务,如粗略几何估计、三维场景重建、目标检测和跟踪。因此,阴影检测在这些计算机视觉任务中是至关重要的。

早期的阴影检测方法主要利用手工设计的阴影特征构建物理模型或机器学习模型,常见的手工特征包括颜色、纹理、光照、形状和边缘等。然而,这些方法通常难以适应复杂的阴影场景,因为手工特征具有表示局限性,识别力不足。随着深度学习技术在各种视觉任务中得到广泛的研究,近年来阴影检测工作大多使用卷积神经网络(ConvolutionalNeural Network,CNN)构建数据驱动的深度学习模型。相比早期的传统方法,它们表现出优越的性能,成为当前阴影检测的主流方法。

存在的主流方法提升性能通常采用两种策略,即结合上下文信息或依赖像素级标注的大规模训练数据。现有大规模数据集主要有SBU、ISTD和CUHK-Shadow,SBU和ISTD是深度模型常用的训练数据集,其中ISTD仅有4种遮挡物,很多阴影共用一个背景,这些数据集都是通过像素级密集标注获得的。然而,像素级标注不仅成本高而且效率低,这限制了主流方法进一步扩大它们的训练数据,导致模型性能泛化能力弱。

发明内容

针对现有技术的不足,本发明提出了一种利用线标注的弱监督阴影检测方法,通过快速的线标注来显著提高数据注释效率,并设计一种有效的弱监督学习策略来保证阴影检测性能。

一种利用线标注的弱监督阴影检测方法,具体包括以下步骤:

步骤1、利用线重新标注常用的阴影数据集

为了提高阴影数据标注效率,本发明旨在寻求一种快速标注方法。弱监督学习中常用的快速标注方法有点标注、框标注、线标注等,它们也被称为弱标签。其中,边界框只适用于阴影分布相对集中的简单场景,点标注对于覆盖多个纹理的阴影区域存在局限性。与它们相比,线标注更灵活,可以适应各种复杂的阴影场景。

步骤1.1、制定标注规则

根据复杂场景下的阴影的特点制定线标注规则,包括通用规则和特定规则。

步骤1.2、重新标注阴影数据

对SBU和ISTD两个阴影检测数据集进行重新标注,命名为S-SBU和S-ISTD。

步骤2、设计基于Transformer的阴影检测网络

在CNN的局部处理原则下,基于CNN设计的阴影检测网络难以学习全局和长程语义信息交互,这不利于在稀疏的线监督下恢复不同的阴影区域。针对这个问题,基于最新的视觉Transformer架构设计一种精练的阴影检测网络,在训练中有效传播线标签信息到未标注区域。检测网络包括四个模块:网络主干、主要预测、中间预测和边缘检测。

步骤2.1、选择网络主干

CSWin Transformer通过一种十字形窗口自注意方案展示了其强大的全局信息交互和远程依赖建模能力。因此,选择使用CSWin Transformer作为阴影检测的网络主干。

步骤2.2、选择主要预测

为了充分利用全局表示,在主干网络的顶部使用金字塔池化模块提取全局上下文先验。首先从主干网中提取高级特征,然后将这些高级特征通过金字塔池化模块后得到细化的特征图,将其作为网络的主要预测。

步骤2.3、选择中间预测

在网络的不同阶段之间存在互补的阴影信息,低层特征包含大量阴影和非阴影细节,而高层特征忽略了大部分非阴影区域,但同时也遗漏了部分阴影区域。因此,将网络的中间三个阶段得到的特征图进行融合,然后将融合的特征图作为中间预测。

步骤2.4、确定边缘检测

由于利用线标注的弱监督学习的最大挑战是准确检测出阴影边界,因此,本发明采用边缘检测来显式辅助阴影结构感知。首先融合最低层特征和最高层特征来预测边缘图;然后将边缘图分别与中间预测图和主预测图进行连接生成结构丰富的阴影图;最后连接这两个预测图得到最终预测的阴影掩膜(即输出结果)。

步骤3、构建结构感知的弱监督学习

尽管所设计的检测网络可以鼓励标签信息传播到未标注的区域,但由于线标注非常稀疏,很难通过它推断阴影结构和细节。为了预测出高质量的阴影图,本发明提出了一种结构感知的弱监督学习策略,它使用多任务学习框架和语义感知损失来准确定位阴影区域。

步骤3.1、边缘导向的多任务学习

基于阴影检测网络构建一个边缘导向的多任务学习框架,它结合线监督和边缘检测来生成结构化的阴影预测图。

步骤3.1.1、线监督

在训练过程中,阴影检测网络的中间预测、主要预测和最终输出预测都由线标签监督。

步骤3.1.2、边缘检测

为了突出阴影结构,使用边缘检测显式地辅助结构感知。在具体执行中,将边缘检测任务与中间预测和主要预测结合构成多任务学习框架。

步骤3.2、特征导向的语义感知学习

虽然边缘检测鼓励网络生成结构丰富的阴影图,但对阴影区域的恢复范围没有足够的约束,特别是对于边界模糊的阴影。为此,提出一种特征导向的语义感知损失来准确地从复杂场景中感知阴影区域。语义感知损失是基于视觉特征设计的,它包括视觉相似损失和视觉差异损失;所述的视觉相似损失考虑了像素之间的颜色相关性、光照相关性和位置相关性;所述的差异损失具体为使用更高的语义信息(即像素之间的显著特征)来解决这个问题,它模拟了人类识别阴影的方式。

步骤4:结合语义感知损失在复杂环境中捕捉视觉相似的特征,并通过视觉差异准确定位阴影区域。

本发明具有以下有益效果:

1、首次提出一种利用线标注的弱监督阴影检测方法,并引入两个新数据集,即S-SBU和S-ISTD。广泛的实验表明,所提出方法仅利用约8%的标注像素能与最近的全监督方法性能相当。本发明标注每张阴影图像平均只用8秒,相比像素级标注降低了约12倍,显著提高了阴影数据的标注效率,并放宽了训练深度模型对数据标注的要求。

2、为了增强线监督,设计一个基于transformer的阴影检测网络来捕获显著的上下文信息交互,以更好的促进标签信息传播。然后在阴影检测网络上开发了一个边缘导向的多任务学习框架,鼓励网络产生具有丰富结构的中间和主要预测图。通过融合这两种互补的预测图,可以得到一个边缘保留的精细阴影图。

3、为了克服复杂场景的干扰,还提出一种基于特征导向的语义感知损失辅助多任务学习。语义感知损失包括视觉相似损失和视觉差异损失,前者通过像素特征的视觉亲和力来感知阴影和非阴影像素,后者通过更高级别的语义关系来指导阴影边界预测。

附图说明

图1为利用线标注的弱监督阴影检测方法总体流程图;

图2为实施例中利用线标注阴影图像的方法示意图;

图3为实施例中对线标注数据集的分析与统计结果,其中a、b是两个数据集的标注细节以及与存在的像素级标注的对比,c是对两个数据集中标注像素的统计;

图4为实施例中阴影检测网络结构示意图;

图5为实施例中结构感知的弱监督学习可视化结果对比;

图6为实施例中结合语义感知损失得到的可视化特征图;

图7为实施例中不同方法定性分析结果对比图;

图8为实施例损失函数消融分析结果对比图。

具体实施方式

以下结合附图对本发明作进一步的解释说明;

如图1所示,一种利用线标注的弱监督阴影检测方法,以阴影图像为输入,进行端到端的预测阴影检测结果(阴影掩膜)。该方法主要由三部分组成:线标注(步骤1)、检测网络(步骤2)和结构感知的弱监督学习(步骤3)。在结构感知的弱监督学习中,将边缘检测与线监督相结合,构建一个边缘导向的多任务学习框架(步骤3.1),并产生两个互补的阴影预测(即中间预测和主要预测)。此外,在这些预测中进一步结合了特征导向的语义感知损失(步骤3.2节),以获得高质量的阴影掩膜。具体包括以下步骤:

步骤1、利用线重新标注常用的阴影数据集

考虑到线标注的灵活性,使用它来提高阴影数据标注效率。

步骤1.1、制定标注规则

如图2所示,给出了利用线标注阴影图像的具体方法。针对阴影场景的复杂性,根据阴影的特点总结了几种线标注规则,包括:

(1)通用规则:

①对于一张阴影图像,使用至少两条线标注阴影和非阴影区域(图2a);

②复杂的场景可能包含更丰富的阴影信息,例如颜色、纹理和形状,线标注应该覆盖尽可能多的区域(图2b);

③异质背景容易给阴影检测带来干扰,因此,对于具有不同纹理的阴影区域(或非阴影区域),进行跨纹理标注(图2c);

(2)特定规则:

①类阴影的区域与阴影区域具有相似的颜色,经常被检测为阴影。为了缓解歧义,对于类阴影区域给予显式标注(图2d);

②对于软阴影,由于它们具有较宽的半影区域,现有的深度模型通常对这些区域不敏感,因此线标注从阴影区域扩展到半影区域(图2e);

③现有的阴影检测器通常会漏检(或误检)自阴影和小阴影区域,因为它们不够显著,所以给它们以显式的标注(图2f)。

步骤1.2、重新标注阴影数据

对常用的两个阴影检测数据集(即SBU和ISTD)进行重新标注,命名为S-SBU和S-ISTD,如图3所示,展示了两个数据集更多的标注细节。由于线标注非常稀疏,标注一个阴影图像平均只需要8秒。本发明还将线标注与原始像素级标注进行比较。可以观察出:(1)现有的阴影检测数据集具有很多噪声标签,像素级真值标签GT(Ground Truth,GT)缺失一些重要的阴影区域,如图3a,b中箭头所指出的区域。然而,这些噪声区域的纹理和光照(或颜色)与标注区域不同。本发明显式标注它们以增强模型训练。(2)在标注过程中,本发明还重点关注了自阴影、软阴影、小阴影和类阴影区域。然而,原始的像素级标注通常会忽略它们。

此外,如图3c所示,还进一步给出了两个线标注数据集的统计结果,它显示了标注像素在整个数据集中的占比,其中,横坐标表示标注像素的百分比(percentage oflabeled pixels),纵坐标表示图像数量(number of images)。可以观察出,在线标注中只有约10%(S-SBU)和6%(S-ISTD)的像素被标注为阴影或非阴影。S-SBU的标注像素明显多于S-ISTD,是因为S-SBU的阴影场景比S-ISTD更复杂,导致需要标注的区域更多。

步骤2、设计基于Transformer的阴影检测网络

如图4所示,检测网络主要包括四个模块:网络主干、主要预测、中间预测和边缘检测。

步骤2.1、网络主干

本发明使用十字形窗口Transformer块(CSWin Transformer Block,CSTB)(图4b)构建分层结构作为网络主干,如图4a所示。主干网络采用卷积层(3×3卷积,步长为2)进行下采样,并从低级到高级提取多尺度特征图,分别表示为F

步骤2.2、主要预测

首先从主干网中提取高级特征,然后将这些高级特征通过金字塔池化模块(Pyramid Pooling Module,PPM)得到精细化特征图,最后将其作为网络的主要预测。具体来说,PPM首先通过四个不同的池化层对高级特征图F

步骤2.3、中间预测

首先将网络中间三个阶段得到的特征图进行融合,然后将融合的特征图作为中间预测。具体来说,在最后三个阶段使用短连接(short connection)合并这些特征图(即F

步骤2.4、边缘检测

首先融合低级特征F

步骤3、构建结构感知的弱监督学习

为了从线标注数据集中学习阴影检测,本发明提出了一种结构感知的弱监督学习策略,使用多任务学习框架和语义感知损失来准确定位阴影区域。

步骤3.1、边缘导向的多任务学习

基于阴影检测网络构建一个边缘导向的多任务学习框架,结合线监督和边缘检测来生成结构化的阴影预测图。

步骤3.1.1、线监督

在训练过程中,阴影检测网络的中间预测、主要预测和最终输出预测都由线标签监督。值得注意的是,全监督阴影检测的像素级标签使用1表示阴影,0表示非阴影;在本发明的弱监督阴影检测中,线标签使用了三个监督信号:1作为阴影,2作为非阴影,0作为未标注的像素。由于线标注中大部分都是未标注的像素,这里采用部分交叉熵(Partial Cross-Entropy,PCE)损失来训练检测网络:

其中,Ω

其中,s

步骤3.1.2、边缘检测

为了突出阴影结构,本发明将边缘检测任务与中间预测和主要预测结合构成多任务学习框架。在训练中,使用交叉熵(Cross-Entropy,CE)损失进行边缘检测:

/>

其中,g为近期最先进的边缘检测器EDTER预先计算得到的边缘图,作为边缘检测GT,e是预测的边缘图,(r,c)表示像素的行坐标和列坐标。将边缘检测与线监督相结合,可以得到具有边缘保留的阴影图。

步骤3.2、特征导向的语义感知学习

多任务学习鼓励网络生成结构丰富的阴影图,但对阴影区域的恢复范围没有足够的约束,特别是对于边界模糊的阴影。如图5所示,第一行的阴影具有清晰的边界,仅使用多任务学习就能得到准确的阴影预测图;第二行的阴影边界模糊,还需要进一步感知阴影边界。为此,提出一种特征导向的语义感知损失来帮助多任务学习准确地从复杂场景中感知阴影边界。基于视觉特征设计的语义感知损失包括视觉相似损失和视觉差异损失。

步骤3.2.1、视觉相似损失

视觉相似损失考虑了像素之间的颜色相关性、光照相关性和位置相关性。

像素之间的颜色相关性定义为:

其中,C(i)是像素i处的颜色,C(j)是像素j处的颜色,σ

类似地,光照相关性R

其中,Di为以像素i为中心的相邻区域d×d,G(i,j)=1-p

步骤3.2.2、视觉差异损失

首先在主要预测P之前提取特征图

进一步可以得到视觉特征显著性:

其中,E

综上所述,最终的语义感知损失可以写成:

如图6所示,结合语义感知损失,可以在复杂环境中捕捉视觉相似的特征,并通过视觉差异(语义特征)准确定位阴影区域。

步骤3.3、目标函数

总体损失是由上述多任务学习和语义感知学习产生的。因此,最终的目标函数定义为:

其中,β

本发明在三个常用的阴影检测数据集(SBU、ISTD和UCF)上评估所提方法。(1)SBU数据集是最大的像素级标注数据集,包含4089张训练图像和638张测试图像。(2)ISTD数据集是为阴影检测和去除创建的,包含1330张训练图像和540张测试图像。(3)UCF的阴影图像与SBU相似,包含135幅训练图像和110幅测试图像。本发明首先在线标注数据集S-SBU和S-ISTD上训练模型,然后在SBU、ISTD和UCF测试集上进行测试。注意,这里在UCF上进行测试是为了验证模型的泛化能力。

遵循现有最先进(State-Of-The-Art,SOTA)的方法,本发明也采用广泛使用的平衡误差率(Balance Error Rate,BER)来评估所提方法:

其中,TP、TN、P、N分别表示正例分对、负例分对、阴影和非阴影的像素个数。在评估中,BER值越小代表模型性能越好。

本发明中提出的阴影检测模型是基于PyTorch 1.12.1和Python 3.6.12实现的,并在在具有24GB内存的单个NVIDIA RTX 3090GPU上训练检测网络。主干网络每一阶段的CSTB个数分别设置为1、2、21和1。采用全连接条件随机场(Conditional Random Field,CRF)来进一步细化的网络的预测结果。所有输入图像大小统一设置为416×416,patch大小设置为4×4。公式(9)中的超参数设为β

本发明将所提方法与9种SOTA方法进行比较,即ScGAN、DSC、A+D Net、DC-DSPF、BDRAR、DSDNet、MTMT-Net、FDRNe和SDCM。其中,MTMT-Net为半监督模型,使用了额外的未标注数据进行训练,其他方法都为全监督模型。

如表1所示,给出了所有方法在三个数据集上的定量比较结果,其中,“N”和“NS”分别表示阴影区域和非阴影区域的像素误差率。可以观察出,本方法基于CSWin Transformer设计的模型,其参数量少于大多数CNN模型。在性能方面,本方法能够获得与近期全监督(或半监督)方法相当的性能,主要归因于三个方面:(1)现有的像素级标注数据中存在许多噪声标签,导致具有高学习能力的模型过拟合标签噪声,限制了其性能。本方法使用线标注,专注于更多的阴影案例(例如,自阴影、软阴影和小阴影),而像素级标注通常会忽略它们。(2)与现有基于CNN的检测网络相比,本方法基于Transformer设计的网络能够更好地传播标签信息。(3)本方法采用了结构感知的弱监督学习策略,能够很好地推断线监督学习中的阴影结构和细节。此外,本方法在ISTD上取得了比SBU更好的评估结果,这是因为ISTD以硬阴影数据为主,其阴影结构和边界比SBU更清晰,这更有利于所提弱监督学习策略。因此,本方法在ISTD上取得了与最新方法(FDRNet和SDCM)相当的性能。

表1

如图7所示,本发明还进一步给出了一些定性比较结果,注意,在第1行和第7行中,GT是噪声标签。从实验结果可以看出,虽然本方法是弱监督模型,但其性能与最新的全监督(或半监督)SOTA方法相当,能够在不同场景下有效地检测出不同类型的阴影。例如,当图像中存在小阴影(第1行和第6行)、软阴影(第4行)和自阴影(第5行和第7行)时,本方法都可以有效地定位它们。对于歧义情况,即类阴影的非阴影区域(第2行)和非阴影模式的阴影区域(第3行),本方法仍然可以识别它们。此外,在某些情况下,本方法甚至比现有方法具有更好的性能,例如它可以准确检测出第3行的歧义阴影和第5行自阴影。本方法在各种场景下表现出的鲁棒性证明所提标注方法和弱监督学习策略对阴影检测是有效的。

为了验证所提出的网络设计和损失函数的有效性,分别对它们进行了消融研究。

(1)验证所提检测网络各组件的有效性

为验证网络各组件的有效性,将所提网络与其三个变体进行比较:

Basic:将中间预测(IP)模块和PPM模块删除得到“Basic”模型中;

Basic+PPM:将PPM模块添加到“Basic”中;

Basic+IP:在“Basic”中添加IP模块。

表2展示了消融研究结果,对其分析可以得出:(1)受益于Transformer最新结构,这四个模型都可以在两个基准数据集上取得出色的性能;(2)“Basic+PPM”比“Basic”的BER更低,说明从PPM模块中提取的全局上下文先验对阴影检测是有效的;(3)“basic+IP”预测结果优于“basic”预测结果,表明中间预测结果可以提供更多的阴影和非阴影细节,从而提高最终预测结果的质量。(4)本方法模型将IP和PPM相结合取得了最好的性能。

表2

(2)验证损失函数的有效性

在弱监督学习中,本方法的目标函数由三个损失函数组成,损失函数的详细消融研究如表3所示,注意,在消融研究中如果不使用边缘检测损失,将直接删除边缘检测模块。可以观察到,仅使用部分交叉熵损失

表3。

相关技术
  • 一种弱监督语义分割的自动图像标注方法
  • 一种通过双网络挖掘互补特征的弱监督阴影检测方法
  • 一种基于无监督或弱监督方式的图像分割数据标注方法及系统
技术分类

06120115918831