基于混合注意力模型的阴影检测方法

2021-07-30 10:33谭道强乔金霞
计算机应用 2021年7期
关键词:阴影注意力模块

谭道强,曾 诚,2,3*,乔金霞,张 俊

(1.湖北大学计算机与信息工程学院,武汉 430062;2.湖北省软件工程工程技术研究中心(湖北大学),武汉 430062;3.智慧政务与人工智能应用湖北省工程研究中心(湖北大学),武汉 430062)

0 引言

因光源遮挡,阴影广泛存在于日常生活中。一方面,阴影虽会导致图像内容不完整,从而降低目标识别、目标跟踪、视频监控、自动驾驶等任务的准确性,但其存在也能为光照光向预估、物体的几何形状预测等视觉研究提供相应的依据。所以研究阴影检测算法,并将其用作计算机视觉任务的预处理步骤,提前标注出阴影区域的位置,避免其与待处理目标的混淆,可提高计算机视觉算法的鲁棒性。

传统的阴影检测算法通过颜色空间或者光照不变性等物理模型,使用自定义特征,例如颜色、光照变化等来检测阴影,但无法适用于场景复杂的阴影[1]。近年来,深度学习算法迅速成为主流,文献[2-6]中提出了完整的本征图像理论,该理论建立在光照均匀假设的基础上,利用熵值最小化方法求取灰度不变图像,但因光照并不均匀,无法得到鲁棒的检测结果。文献[7]中提出基于支持向量机(Support Vector Machine,SVM)方法分别构建成对区域分类器,使用图割法算法实现最终预测,但仍然不具备较高的运算效率。随着卷积神经网络(Convolutional Neural Network,CNN)[8-9]的出现,陆续提出了一些基于CNN 的阴影检测算法。文献[10]中使用CNN 进行阴影检测,训练两个网络分别用于检测阴影区域和阴影边缘,将检测结果输入条件随机场(Conditional Random Field,CRF)得到分类结果,相比之前的算法效果有了明显的提升。

近年来,对抗学习机制[11-12]进一步提升了阴影检测的准确性。其中文献[13]中使用条件生成式对抗网络(Conditional Generative Adversarial Network,CGAN)实现阴影检测,提出了生成器和判别器的概念,两者通过相互对抗使得生成器具备检测图像阴影区域的能力,也能得到较为准确的阴影区域。后来,文献[14]中也借鉴了CGAN 的思想,训练两个CGAN 分别实现阴影检测和阴影去除,多任务互相制约实现阴影的检测。文献[15]中采用半监督对抗训练,不断优化生成器的阴影检测器和编码器实现阴影检测和去除。由于CGAN 的难以训练和不稳定性,文献[16]中依旧采用CNN 为基础[16-18],分析了阴影区域和非阴影区域之间的联系,采用四个方向上的空间上下文特征实现了阴影区域的检测,也取得了不错的检测结果。

现有的深度学习算法中,CNN 和GAN 大多数使用级联网络形式,增加了模型训练的难度,不能实现实时检测的效果,而且预测的效果并不是很好。少数方法用了单级网络和注意力机制,但是却忽略了特征通道之间的联系,导致预测结果并不准确。

为了降低模型训练难度和提高检测精度,本文提出一种新型的CNN 模型。以网络ResNext101[19]作为特征提取模块,采用双向特征金字塔网络[20]为构架,结合通道注意力[21]和空间注意力[22]做融合,同时设计全新的网络结构混合注意力模型,并将其用于特征金字塔网络的层与层之间的融合中,既能提高阴影区域的局部关注度,也能更好地结合不同通道之间的联系度。最后,融合特征金字塔两个方向的结果取得更加细化的特征,作为最终的阴影检测结果。

1 混合注意力模型的双向特征金字塔网络

本网络结构的整体流程如图1 所示,将带有阴影的图像裁剪为416×416大小,作为输入图像输入到神经网络。网络中使用ResNext101作为前端特征提取网络,将RestNext101的conv2、conv3、conv4、conv5 生成的特征图作为模型的基本特征,特征的大小分别为104×104、52×52、26×26、13× 13。卷积过程中随深度增加,特征图尺寸逐步减小,所包含的语义信息越多;越低层的卷积层所包含的位置信息越多。传统的特征金字塔网络往往是从深层特征向低层特征做融合,由于深层特征图通道数减小,会造成特征信息的丢失,导致最后的预测结果不够准确。

针对上述问题,本文提出两个方案来减少深层特征语义信息的丢失以及克服信息的单路流动的局限性。一是信息补偿机制,用来减少conv5 在向上层特征做融合时导致的语义信息丢失,将信息补偿后的特征图作为深层特征,再向顶层做融合;二是采用双向结构实现信息的双路流动性,在保持运行时间变化不大的同时,大幅提高阴影检测质量。

本文还提出了一个混合注意力模型,用来捕捉阴影区域和非阴影区域的特征差异。注意力机制[22-23]在图像处理上已得到广泛的使用,但传统的自注意力模型往往只关注空间上的特征权重分布,根据生成的Attention Map[22]来区分哪些属于重要信息,忽略了特征通道之间的联系。针对此问题,在特征之间融合之前,先分别经过通道注意力模块生成一组特征通道权重,来给不同的特征通道赋值,标明这些特征通道属于重要特征或次要特征,将赋值后的特征图融合后再通过空间注意力模块,得到两个相邻特征层融合后的特征。

混合注意力模型作为各个基本特征之间融合的桥梁,穿插在两个方向上的特征金字塔网络上。最后将由深到浅和由浅到深两个方向上生成的特征图做特征融合,获得更加细化的阴影检测结果,并以此作为最后的预测结果。

1.1 信息补偿机制

因为浅层特征图尺度大,包含的空间信息较多,而深层特征图尺度小,包含的语义信息丰富,因此传统的金字塔模型由深层特征图向浅层特征图做融合时,先将深层特征图降维,将深层特征图语义信息与浅层特征图空间信息进行融合,从而得到既有良好空间信息又有较强语义信息的特征图。但在降维过程中,深层特征图通道数会减小,导致语义信息损失严重,因此本文设计了一个信息补偿机制[24-25]来减少深层特征图由于通道数减小带来的语义信息损失。

如图2 所示,将深层特征图C4降采样成3 份。这里的降采样包括两部分:一个是将C4池化分别降采样成α×C4、β×C4、γ×C4的宽高的特征,实际使用中α、β、γ分别为0.1、0.2、0.3;另一个是将池化后的结果通过1×1 的卷积,将每份降采样的通道变成32,再将这三个不同尺度降采样的结果统一上采样到C4大小,并把这三者进行合并,通过1× 1、3× 3卷积层方式进行融合,最终得到三个空间补偿信息,将这三个空间补偿信息分别应用于三个上采样的特征图。将通过信息补偿的特征与C4做融合得到C5,用C5代替C4,以减少原本C4向上层做融合造成的信息损失。该过程可表示为:

图2 信息补偿结构Fig.2 Architecture of information compensation

其中:C4、C5表示卷积层特征;Conv 表示卷积操作;Cat代表特征拼接。

为了验证信息补偿机制的有效性,分别在网络中使用信息补偿机制和不使用信息补偿机制进行对比实验,实验预测结果如图3 所示。在图中可以看出带有信息补偿机制的网络在对于阴影区域的边缘细节预测上效果表现更好。

图3 信息补偿实验结果Fig.3 Experimental results of information compensation

1.2 混合注意力模块

注意力机制是一种资源分配机制,是对于原本平均分配的资源根据注意力对象的重要程度重新分配资源,重要的单位就多分一点,不重要或者不好的单位就少分一点,注意力机制分配的资源就是权重。但传统的注意力机制往往只关注单通道上的权重分布,也就是空间信息的分布,往往忽略了特征通道之间的关系,导致预测效果不佳。

为了加强特征通道之间的内在联系,提升预测精度,本文在做不同尺度的特征融合时引入混合注意力模块。如图4 所示:特征融合之前,先将相邻的两个特征图分别输入通道注意力模块,给不同尺度的特征分配通道权重,标记出各个特征通道之间的重要程度,再进行特征融合;将融合后的特征图输入空间注意力模块,得到对应的空间特征权重图,进行点乘操作,得到融合后的特征图。该过程可表示为:

图4 混合注意力模块结构Fig.4 Architecture of hybrid attention module

其中:Cn表示融合后特征;Ci表示卷积层特征;S()表示通道注意力融合,A()表示空间注意力融合;Cat、Conv 分别代表特征拼接和卷积操作。

对在网络分别使用混合注意力机制和不使用混合注意力机制进行对比实验,结果如图5 所示。可以看出,在网络中加入混合注意力模块能够更好地理解图像的全局上下文信息,区分阴影区域和非阴影区域差异。

图5 混合注意力模块实验结果Fig.5 Experimental results of hybrid attention module

1.2.1 通道注意力生成模块

通道注意力模块首先对卷积得到的特征图进行全局池化操作,再通过全连接得到通道间的全局特征,然后对全局特征进行激励操作,学习各个通道间的关系,也得到不同通道的权重,最后乘以原来的特征图得到最终特征。本质上,通道注意力模块是在通道维度上做注意力操作,这种注意力机制让模型可以更加关注信息量最大的通道特征,而抑制那些不重要的通道特征。图6是通道注意力模块的具体结构。

图6 通道注意力模块结构Fig.6 Architecture of channel attention module

1.2.2 空间注意力生成模块

空间注意力生成模型是将相邻两层特征图经过通道注意力生成模块后特征进行拼接,再进行空间注意力生成融合。该模块采用3 个残差块,每个残差块都使用1×1、3×3、1×1 卷积层组合的基本结构(残差块中前两个使用ReLU 激活函数,第三个为Sigmoid 激活函数)。输出得到的权重图,乘以原来的特征图得到混合注意力模型融合后的特征。图7 是空间注意力模块的具体结构。

图7 空间注意力模块结构Fig.7 Architecture of spatial attention module

1.3 损失函数

传统的分类问题常采用交叉熵作为损失函数,用来计算实际预测值与真实标签的接近程度,再通过反向传播更新权重。在本网络中采用双向金字塔结构,先将每一层的预测特征图放大至原阴影掩膜大小,然后对其施加监督信号,以促进有用信息向阴影区域的传播。每一层的损失可表示为:

其中:w为权重值;yi,j为真实阴影掩膜像素(i,j)的真实值,Ci,j为预测阴影像素(i,j)的预测值。

在训练过程中,二进制交叉熵损失函数用于监督网络的每个输出。在本网络中将所有的阴影预测图像损失之和作为总损失。总损失包括所有的7个融合特征(6个相邻特征图经过混合注意力模块的融合特征和最后作为预测的融合特征Mi)和C1、C5的损失值之和,所涉及的损失函数如式(4)所示:

2 实验结果与分析

2.1 实验环境与数据

本网络训练以Python3.6 和PyTorch1.0 来建立深度学习模型,使用NVIDIATeslaV100 32 GB 显卡进行模型训练。在网络训练中使用SBU[7]和UCF[10]阴影检测数据集作为训练数据集:SBU 数据集包含4 089 张训练图像和638 张测试图像,UCF 包含110 张训练图像和110 张测试图像。将原始图像缩放为416×416大小,并以0.5的概率对调整后的图像水平翻转做预处理。前端特征提取网络使用ResNext101,直接使用ImageNet 数据上训练得到的模型参数初始化前端特征提取模块。

2.2 实验参数设置

实验的一些其他超参数包括:学习率为0.005,衰减系数为0.9;动量为0.9;权重衰减系数0.000 5;批次大小8;训练迭代期6 000;优化器为随机梯度下降(Stochastic Gradient Descent,SGD);信息补偿机制超参α=0.1,β=0.2,γ=0.3。

2.3 实验结果

本文使用SBU 数据集的测试集及整个UCF 数据集做预测,并进行定性及定量评价。如图8 所示为本文方法、DA[26]、DSC[17]、A+DNET[16]、ST-CGAN[14]在SBU 数据集上的阴影检测结果。可以看出,对于容易引起混淆的困难阴影,DA、DSC、A+DNET、ST-CGAN 四种方法都出现了大面积的检测错误,而本文方法仍然能够作出较准确的判断。一些较为简单的场景下,如图8(a)的第1~3副图像,本文方法与对比方法的预测都比较准确,本文方法只表现出了较小的提升;但是在复杂场景下,如图8(a)的第4、5两幅图像,栏杆所在位置由于光照原因产生了较大的阴影,其他方法在预测时都漏检了很多阴影区域,而本文方法仍然能有效地检测到该区域阴影。相较于其他方法,本文方法对阴影的定位更加准确,同时能够分辨真实的阴影区域和外观类似阴影的非阴影区域,错误检测的像素数目更少。这也证实了混合注意力模型对阴影检测的正面作用。

图8 不同方法在SBU数据集上的阴影检测结果Fig.8 Shadow detection results of different methods on SBU dataset

如图9 所示为本文方法、DA、DSC、A+DNET、ST-CGAN 在UCF上进行跨数据集效果验证的结果。

图9 不同方法在UCF数据集上的阴影检测结果Fig.9 Shadow detection results of different methods on UCF dataset

2.4 评价指标

为了对实验结果进行客观评价,采用相同的评价指标[16-17]:阴影像素检测错误因子(Shadow Error Rate,SER)、非阴影像素检测错误因子(Non-shadow Error Rate,NER)、平衡误差率(Balance Error Rate,BER)和正确率(Accuracy),定义分别如下:

其中:TP、TN、Np、Nn分别为阴影像素正确检测数目、非阴影像素正确检测数目、阴影像素总和、非阴影像素总和。SER、NER、BER越小,说明阴影检测的正确率越高,分类效果越好;Accuracy 越高越好。本文将BER、Accuracy 作为最主要的指标。

表1 展示了各个方法在SBU、UCF 数据集的客观指标值。相较于DSC 算法,本文方法在SBU 数据集上的BER 降低了约30%,在跨域数据集UCF 上的BER 则降低了约11%。该实验结果也验证了本文方法的性能。

表1 各个方法实验结果比较Tab.1 Experimental results comparison of different methods

3 结语

本文针对阴影检测问题提出了新的检测模型,使用ResNext101 作为前端特征提取网络,并结合特征金字塔网络设计思想融合不同的特征层。考虑到深层特征图在融合上采样的过程中导致深层特征的语义丢失,提出了信息补偿机制,来弥补上采样过程中的信息丢失;还考虑到传统的注意力机制只注重空间上的特征分布,忽略了特征通道之间的联系,提出了混合注意力模型,以加强通道特征之间的联系。在SBU、UCF 数据集上进行的对比实验结果显示,本文方法优于对比算法。在未来的工作中,将进一步研究在某些光照条件较弱或复杂场景下,如何更高效率地结合图像中的语义信息和空间信息,将模型应用于阴影去除任务中。

猜你喜欢
阴影注意力模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
让注意力“飞”回来
你来了,草就没有了阴影
A Beautiful Way Of Looking At Things
阴影魔怪
必修模块相关知识过关训练
姚明受伤让08奥运蒙上阴影
阅读理解两则