吕 旋,王 标,邹佳运,田洋川
(1.四川轻化工大学 自动化与信息工程学院,四川 宜宾 644000;2.成都视观天下科技有限公司,四川 成都 610095)
公安机关在破案过程中采集的车牌图像由于运动模糊、失焦模糊、光线变化等原因无法被准确地识别,从而严重影响案件的侦破进度,因此对图像进行清晰化处理具有重要的现实意义。
目前,超分辨算法主要分为3类:基于重建的算法、基于插值的算法和基于学习的算法[1]。在深度卷积神经网络出现后,神经网络开始大规模地被应用在图像的超分辨处理中。2014年Dong等人提出了SRCNN[2]网络,利用卷积神经网络(CNN)对图片进行超分辨处理,每个卷积核参数都是通过反向传播更新得到,而不是人为设定。同时,深度卷积网络会进行多层的卷积,保证了足够大的感受野。目前已经出现VDSR[3],EDSR[4],DRCN[5]等众多网络结构算法。针对车牌这一特定领域,利用超分辨网络来实现模糊车牌的清晰化。RCAN[6]网络第一次将注意力机制[7]引入超分辨率领域。文中基于RCAN改进网络,提出了基于残差网络的空间和通道双重注意力网络(RSCAN)。
文中主要创新点如下:提出了新的通道注意力机制和空间注意力机制组合的模块(SCM),在模型效率和计算效果上带来提升;同时基于CCPD[8]数据集,制作新的车牌数据集,在数据集上做消融实验,验证提出算法的有效性;使用残差块,构成全局特征融合,加强各层信息的传递,获得效果更好的图像;最后改进损失函数,更加适合车牌超分辨率这一特定领域。
超分辨率网络框架的训练主要由三部分构成,提升网络的效果,也主要从这三方面改进,如图1所示。
图1 网络框架主要构成Fig.1 The main components of network framework
文中在RCAN网络的基础上,提出RSCAN[9]。该网络由浅层特征提取模块、空间和通道注意力融合模块以及图像重建模块构成。用ILR表示输入的模糊车牌图片,ICI表示输出的清晰化图片,用一个卷积层提取输入图像ILR的浅层特征,如:
FSF=HSF(ILR),
(1)
式中,HSF(·)表示使用单层卷积实现浅层特征提取。再将浅层提取的特征作为基于空间和通道注意力机制模块的输入,通过基于空间和通道注意力机制模块得到映射后的高维特征,如:
FGF=HRSCAN(FSF),
(2)
式中,HRSCAF(·)表示基于空间和通道注意力机制的关于特征融合模块的映射关系。本文提出的空间和通道注意力机制的特征融合模块可以使网络更加有效地利用提取的有用特征,抑制无用特征,使网络在不增加计算的情况下有效加深网络,增大卷积核的感受野。注意力机制融合后的特征作为上采样的输入,经过亚像素层[10]进行上采样操作,得到放大的特征。如:
FUS=HUS(FGF),
(3)
式中,HUS(·)表示上采样操作。目前在超分辨率重建领域最常用的上采样方式有插值操作[11]、反卷积操作[12]和亚像素层操作。亚像素层是将多个特征图重新排列合成一张更大的图像,获得更大的感受野,从而使网络在重建后达到更好的效果。最后通过一个简单的卷积将输入的特征转化为对应的三通道输出图像,如下:
ICI=HCI(FUS)=HRSCAN(ILR),
(4)
式中,HCI(·)表示重建为彩色图片的映射函数;HRSCAN(·)表示ILR到ICI的射函数。
在本文的网络结构设计中,基于空间和通道的注意力机制特征融合模块是实现特征映射的主要结构。该模块包括A个空间和通道注意力组(Spatial and Channel Attention Groups,SCAG)和跳跃结构。
每个SCAG包含B个具有短跳跃连接的空间和通道注意力模块(SCAB),这样的结构能够使算法训练的更深,如图2所示。
图2 残差空间和通道注意力机制的网络结构Fig.2 Network structure diagram of residual space and channel attention mechanism
第A组中的SCAG表示为:
Fa=Ha(Fa-1)=Ha(Ha-1(…H1(F0)…)),
(5)
式中,Ha为第A个SCAG;Fa-1和Fa分别是第A个SCAG的输入和输出,简单地堆叠多个SCAG无法获得更好的性能。为了解决这一问题,引入了全局残差连接(LRC),来稳定更深的网络。全局残差连接表示为:
FGF=F0+WLRFA=F0+
WLRHa(Ha-1(…H1(F0)…))。
(6)
LR不仅可以简化SCAG之间的信息流,还可以在粗略的级别学习残差信息。在LR输入和特征包含着丰富的信息,网络的目标是恢复更多有用的信息。丰富的低频信息可以通过残差连接传输到后面。
此外,每个SCAG中堆叠B个SCAB,第a个SCAG中的第b个SCAB可以表示为:
(7)
式中,Fa,b-1和Fa,b为第a个SCAG中的第b个SCAB的输入和输出,与SCAG模块相似,这B个SCAB也具有局部残差连接(SRC),如:
Fa=Fa-1+Wa+Ha,B=Fa-1+
WaHa,B(Ha,B-1(…Ha,1(Fa-1)…)),
(8)
式中,Wa为第a个SCAB模块尾部的一个conv的权重。LRC和SRC的存在,使更丰富的低频信息在训练过程中传输到更深层。
注意力机制的提出,使得网络能够将更多的注意力放在有用的信息特征,对于无用的信息起到抑制作用,可以大大提高计算资源的利用率。在车牌数据集获得质量更好的图片。
1.3.1 空间注意力机制
空间注意力可以理解为让神经网络看哪里,通过注意力机制,将原始图片中的空间信息交换到另一个空间,同时保留关键的信息。
Spatial Transformer[13]就是注意力机制的实现,因为训练Spatial Transformer能够找出信息中被关注的区域,这样图片局部的重要信息能够被提取出来,如图3所示。
图3 空间注意力机制网络结构图Fig.3 Network structure diagram of spatial attention mechanism
使用一个二维卷积将通道数目压缩为1,为了保障空间信息的充分强化,同时保障空间的权重信息,本文通过卷积操作来实现。为了更充分地提取空间信息,通过多个卷积操作,每次卷积操作缩小4倍,即W/4×H/4×1,而不是直接一个卷积变为1×1×1。
1.3.2 通道注意力机制
初始图片经过不同的卷积核后,每一个通道都会生成新的信号,相当于每个信号都分解为核函数上的分量,给每个通道增加一个权重(权重表示该通道与关键信息的相关度),权重越大,表示越需要关注该通道的信息。原文使用的注意力机制SE-NET[10]可以学习每个卷积块的通道注意力,为各种深层CNN架构带来明显的性能提升,具体而言,给定输入特征,SE模块首先为每个通道独立采用全局平均池化,然后使用2个全连接(FC)层以及非线性Sigmoid函数来生成通道权重。其中存在着缺陷,2个FC层旨在捕获非线性跨通道交互,其中涉及降低维度以控制模型的复杂性,但是降维会给通道注意力预测带来副作用,并且捕获所有通道之间的依存关系效率不高且不必要。本文使用了一种用于深层CNN的有效通道注意(ECA-NET)[15]模块,该模块避免了维度缩减,并有效捕获了跨通道交互。在不降低维度的情况下进行逐通道全局平均池化,ECA-NET通过考虑每个通道及其k个近邻来捕获本地跨通道交互,如图4所示。
图4 通道注意力机制结构Fig.4 Structure diagram of channel attention mechanism
对于ECA模块,其中通道的权重,本模块只考虑y{i}和它的k个邻居之间的信息交互,计算公式为:
(9)
(10)
根据上面的分析,提出一种新的方法。该方法可以通过卷积核大小为K的一维卷积来实现通道之间的信息交互,如:
w=σ(C1D(y)),
(11)
式中,C1D代表一维卷积,它只涉及K个参数信息,因此,这种捕捉跨通道信息交互的方法保证了性能结果和模型效率。
由于ECA模块旨在适当捕获局部跨道信息交互,因此需要确定通道交互信息的大致范围(即1D卷积的卷积核大小k)。虽然可以针对各种CNN架构中具有不同通道数的卷积块进行手动优化设置信息交互的最佳范围,但是通过手动进行交叉验证调整将花费大量计算资源。而且分组卷积已成功地用于改善CNN架构,在固定group数量的情况下,高维(低维)通道与长距离(短距离)卷积成正比。同理,跨通道信息交互作用的覆盖范围(即一维卷积的内核大小k)与通道维数C也是成正比的。
该方法保证了模型效率和计算效果。给定通道维数C,k与c之间有一种映射关系,如:
C=φ(k)=2(r*k-b),
(12)
式中,2的次方是考虑通道数量的设计一般都是以2的次方,这样可以更方便地计算模块K,并且r和b分别取2和1。
那么自适应卷积核大小(k)便可根据下面公式计算得到,即:
(13)
最后将提出的空间和通道注意力结合在一起,通过组合构建了具有空间和通道注意力机制的网络结构,结构如图5所示。
图5 空间和通道注意力模块(SCAB)结构Fig.5 Structure diagram of space and channel attention module (SCAB)
损失函数:损失函数有L1、L2[16]、MSE[17]、GAN[18]的loss以及纹理结构perceptual loss[19],为了保障有效性,清晰化目的主要是恢复至肉眼可以识别,所以选择了L1 loss,即:
(14)
已经有人提出了梯度轮廓先验(GPP)算法[20],以在SISR任务中产生更尖锐的边缘。随后提出了梯度场的变换方法。该方法将梯度轮廓曲线按一定比例进行压缩,并将图像转换为更清晰的图像。这种方法是在深度学习时代之前提出的,因此它只会使梯度场的曲线更清晰,而不需要监督。
由于制作了成对的车牌超分辨率数据集,可以使用HR图像的梯度场作为Ground Truth。通常,车牌图像只包含2种颜色:字符和背景。这意味着文本图像中不存在复杂的纹理,只需要注意字符和背景之间的边界。因此,更好的图像质量意味着更清晰的边界,而不是平滑的字符。当背景不是纯色时,梯度场有时并不完全是背景和字符之间的边界。但大多数样例都能达到目的,对训练很有用。具有2个优点:① 梯度场生动地表现了文本和背景这2个文本图像的特征;② LR图像具有较宽的梯度场曲线,而HR图像则具有较窄的梯度场曲线。通过数学计算可以方便地生成梯度场曲线,这确保了一个保密的监督。损失函数为:
LGP=Ex‖IHR(x)-ISR(x)‖,
(15)
模型的损失函数由L1损失函数和梯度损失函数共同构成,即:
L=L(θ)+λLGP。
(16)
基于提出的RSCAN网络,进行模糊车牌清晰化处理实验。实验所采用的图片均裁剪自CCPD数据集,对于裁剪的车牌图像,进行了上下翻转作为高分辨率图像,相应的低分辨率图像制作,采用双三次下采样产生的低分辨率图片。
不能仅凭视觉效果进行模型评价,需要采用峰值信噪比(PSNR)和结构相似性(SSIM)[21]进行模型效果的评价,PSNR为:
(17)
式中,MAX为每个像素尽可能的最大像素值,为255;MSE为图像与图像之间的对应像素的均方误差。PSNR越大说明图片的生成效果越好。
结构相似性SSIM公式为:
(18)
式中,l(x,y)为高度比较;c(x,y)为对比度比较;s(x,y)为结构比较;μx和μy分别代表x和y的平均值;σx和σy分别代表x和y的标准差;σxy代表x和y的协方差;而c1,c2,c3都为常数,避免分母为0导致的系统错误。
为了避免网络在训练过程中出现欠拟合的情况,本文的数据集、训练集高低分辨率图像一共30 000张,测试集一共4 000张,设置Batch-size为16,即每次训练时抽取16张48 pixel×48 pixel的低分辨率图像集对应标签图像进行训练。模糊车牌清晰化只需要将模糊车牌恢复到肉眼可以识别,所以并不需要太深的神经网络。经过实验在网络结构中设置A=10,B=20网络,RSCAN包括10个SCAG模块,每个SCAG模块包含20个SCAB模块。除了在通道注意力机制内通道压缩和扩增及特征融合的瓶颈层采用的1×1卷积核,其余卷积核大小均为3×3,空间注意力机制采用的卷积和反卷积的卷积核大小也为3×3,其步长为3,epoch=300。在训练过程中,网络训练采用补0的策略来达到保持中间特征映射大小一致。对于通道注意力,其中卷积核大小k=3。
本文网络模型采用ADAM优化器,β1=0.9,β2=0.999,ε=10-8,初始学习率设置为10-4,每当2×105次迭代后网络学习率就下降为原来的一半,每1 000次迭代后在车牌数据集上做一次测试,方便查看网络的训练情况,从而可以根据训练情况调整网络超参数。最后为了验证网络的泛化能力以及车牌恢复效果,利用互联网上的真实模糊车牌图片来测试。硬件信息如表1所示。
表1 实验的软硬件平台Tab.1 Software and hardware platform of the experiment
为了更清晰地展示本文的创新措施是否有效提升图像恢复的质量,在4 000张车牌图片组成的测试集上,对提出的改进点进行消融实验对比。
2.4.1 SE-NET与ECA-NET的影响
首先为了验证改进的通道注意力机制的有效性本文在只使用通道注意力机制的情况下进行如下对比实验:一是网络仍使用SE-NET模块;一是网络使用ECA-NET,具体消融实验结果如表2所示。
表2 不同通道注意力在车牌数据集(×4)上的比较Tab.2 Comparison of the attention of different channels on the license plate data set (×4)
表2中,√表示网络使用该模块,×表示不选择该模块,实验对比使用不同模块的情况下,网络模型在模糊车牌清晰化中展现出的效果,以自制车牌数据集的评测指标作为对比,可以发现使用ECA-NET相较于SE-NET在PSNR上的指标提升了0.074 dB。说明本文使用的通道注意力机制具有更好的效果。
2.4.2 空间与通道注意力机制的影响
最后在车牌数据集,比较使用通道注意力机制和本文提出的空间和通道注意力机制,在模糊车牌恢复效果上的差别,具体实验结果如表3所示。
表3 空间与通道注意力在车牌数据集(×4)上的影响Tab.3 The influence of spatial and channel attention on the license plate data set (×4)
可以看到使用通道和空间注意力机制的算法有0.101 dB的提升,说明本文使用的空间和通道注意力机制对于模糊车牌图片的恢复有更好的效果。
2.4.3 损失函数的影响
在最终的RSCAN网络结构上,实验使用L1损失函数以及改进损失函数L在网络中的效果,结果如表4所示。
表4 不同损失函数的影响Tab.4 The influence of different loss functions
表4的结果显示,虽然使用改进的损失函数,PSNR值有所降低,但是超分辨重建的车牌图片在视觉上取得了更好的效果,具体结果如表5所示。
表5 不同损失函数的效果Tab.5 Effect diagrams of different loss functions
测试主要比较了RCAN模型和本文提出的RSCAN模型。首先肉眼就可以看出将神经网络应用于模糊车牌清晰化,取得了很好的效果,说明本文的思路是可行的。同时本文的RSCAN模型恢复的图片细节方面的效果更好,如表6所示。使用RSCAN与其他一部分经典的超分辨(×4)网络进行对比,检测RSCAN网络的优越性,如表7所示。
表6 RCAN与RSCAN测试结果比较Tab.6 Comparison of RCAN and RSCAN test results
表7 不同超分辨方法(×4)对比Tab.7 Comparison of different super-resolution methods (×4)
针对车牌识别遇到的一些模糊问题,根据现有的利用注意力机制的超分辨模型进行改进,提出使用ECA-NET结构,同时加入空间注意力机制。2种注意力机制的融合可以有效地获取不同特征的权重值,使得网络可以根据权重精准分配计算资源,在引入极少参数的同时有效地提高了超分辨率重建的质量。为了获得更好的车牌恢复结果,改进损失函数,使用自制的车牌数据集,针对车牌这一特定情况,可以产生更好的恢复效果。实验证明提出的车牌重建算法,在评价指标结果上有所提高,同时对一些真实图片的恢复处理也取得了不错的效果。