APP下载

采用空洞卷积的多尺度融合草图识别模型

2021-11-12杨云航闵连权

西安电子科技大学学报 2021年5期
关键词:池化草图空洞

杨云航,闵连权

(中国人民解放军战略支援部队信息工程大学 地理空间信息学院,河南 郑州 450001)

草图自古以来就是人与人沟通交流的重要手段。随着电子技术的发展以及智能化水平的提高,人们通过草图与电子设备进行交互的需求也越来越高,草图识别[1]逐渐成为计算机应用领域的研究热点。草图识别就是将手绘草图从笔触端到空间认知端的概念转换,即在特定的草图应用领域背景下,将草图图像的非结构化信息赋予具体的形状语义解析[2]。传统的草图识别依靠尺度不变特征变换算子(Scale-Invariant Feature Transform,SIFT)和方向梯度直方图(Histogram of Oriented Gradient,HOG)等手工特征提取器提取特征并进行标注分类,但手工提取特征方法需要对图像进行复杂的预处理,识别效果也一般。而深度学习在图像识别、目标检测[3]以及图像分割等领域展现出巨大的潜力。但手绘草图不同于一般的彩色图像,它具有高度的语义抽象性和结构多样性,以及特有的笔画稀疏性,且缺少纹理和亮度信息。目前用于图像识别的深度学习模型主要以卷积神经网络(Convolutional Neural Networks,CNN)为基础,但大多数CNN模型均是针对一般自然图像的特点而设计,并不完全适用于具有笔画稀疏性的手绘草图识别工作。

文献[4]提出了基于深度学习的草图识别网络Sketch-a-Net。在文献[4]的基础上,越来越多以深度学习方法为基础的草图识别模型不断涌现。例如文献[5]针对手绘草图的形状和结构特点,提出了以卷积神经网络为基础的草图识别深度网络模型;文献[6]又在卷积神经网络的基础上提出了基于特征融合草图识别方法;文献[7]借助基于BPSO的反向传播网络来对草图进行特征处理,进而实现草图识别;文献[8]将语义树与深度学习相融合以实现手绘草图的识别;也有借助于基循环神经网络(Recurrent Neural Network,RNN)[9-10]和递归神经网络[11]来进行草图特征的提取工作,除了考虑草图本身的结构特征,还利用草图笔画的时序信息对草图进行初步分类。

然而,大多数主流的基于深度学习的草图识别模型都是依靠传统的卷积方式来提取草图特征,而忽略了草图对象的笔画结构,将其直接当作自然图像来获取具有判别力的特征[8]。手绘草图在二维空间中主要以曲线形式进行信息传递[12],而图像的其他区域都是由空白信息组成,如果用较小尺寸的卷积核来对草图特征进行提取,势必导致曲线之间的空白区域的无效信息直接被提取,于是大多数基于深度学习的草图特征提取模型,都在首层卷积层中使用较大的卷积核,以保证卷积核的感受野足够大,进而能够提取到更多、更加完整的有效特征信息。

在普通的卷积操作过程中,卷积核都是由相邻的若干个权重不为0的卷积单位组成的,一方面,为了更好提取手绘草图的形状特征而增大卷积核大小的方式会造成计算量的增加;另一方面,大的卷积核也会提取到曲线包围范围内的空白无效特征,对于有效特征信息的提取和传递也会起到一定的干扰。考虑到这一情况,笔者将空洞卷积[13]引入到草图识别中,利用空洞卷积不增加卷积核有效单元数量而扩大感受野的特性,来实现对草图结构特征的提取,并将空洞卷积与普通卷积融合,以弥补空洞卷积提取特征过程中远距离卷积得到的信息相关性弱的问题,通过这种多尺度融合特征提取方式来获取更加完整的草图特征信息。在此基础上,笔者提出了基于空洞卷积的多尺度特征融合草图识别模型(Dilated Convolution Sketch Net,DCSNet)。

1 空洞卷积和普通卷积融合的草图识别模型

1.1 概念定义

在图像分割领域,通常使用卷积和池化操作来增加感受野,同时也缩小了特征图尺寸,然后再利用上采样还原特征图尺寸。特征图缩小再放大的过程造成了分辨率的损失,空洞卷积的特点就是可以在增加感受野的同时保持输出特征图的大小不变,从而代替下采样和上采样操作。空洞卷积与普通卷积的不同之处在于“扩张率(dilation rate)”的引入,该参数定义了卷积核处理数据时各值的间距,具体含义就是在卷积核中填充了(dilation rate-1)个权重为0的卷积单元。相比原来的普通卷积,空洞卷积多了一个超参数,即有效卷积单位的间隔数量,而普通卷积核的扩张率为1,无0填充。当使用多个拥有不同扩张率的卷积核进行组合的时候,相当于将拥有不同的感受野卷积核进行组合,即可获取多尺度上下文信息。

1.2 空洞卷积提取草图形状特征

空洞卷积的工作原理就是将卷积核的扩张率设置为非1正整数,即在标准的卷积核里间隔注入(dilation rate-1)个权重为0的空洞,以此来增加卷积操作的感受野。实际上,大多数手绘草图图像包含的实际有效信息十分有限,草图大多数区域都是由空白信息所填充,虽然大的首层卷积核能更好地提取草图的形状特征,但是相对于草图识别模型,过大的卷积核不仅会增加大量的计算量,也会影响整个网络模型的识别精度。故在文中提出的DCSNet模型中,考虑到实验中使用的手绘草图的实际尺寸,将基础卷积核大小为 5×5、扩张率为2的空洞卷积作为草图特征提取的首层卷积层中的部分卷积核。

因为输出特征的尺寸和空洞数无关,因此可以利用空洞卷积不增加有效卷积单元数量而增大感受野,且输出特征的尺寸保持不变的特性来进行特征提取。空洞卷积的卷积计算方式与普通卷积基本一致,对于输入草图数据F∈RH×W×m,生成的n个特征图的任意卷积层的表达式为

Y′=Y×f′+b,

(1)

其中,Y′∈RH×W×n;f′∈Rm×k×k×n×d;b为偏置参数;m为输入通道数,由于手绘草图是单通道图像,故m=1;n为输出通道数;d表示卷积核的扩张率;k×k表示基础卷积核的尺寸大小。例如,在文中构建的DCSNet模型的首层卷积层中,令k=5,d=2,其等效的普通卷积核大小为k1*k1,k1的计算公式可表示为

k1=k+(k-1)(d-1) 。

(2)

使用的卷积操作的具体运算过程为

(3)

空洞卷积提取草图特征的具体操作过程如图1所示。图中左上角部分对应的是空洞卷积与草图空白区域的卷积过程。与同等大小的普通卷积核相比,最终的结果都是提取到无效的特征信息,但是空洞卷积的计算量却大大降低了(与权重为0的卷积单元发生的卷积可视为无效)。左下角对应的是空洞卷积与草图中带有笔画信息的区域卷积的过程,因为草图的稀疏性特性,由笔画包围的大部分区域也是由空白信息填充的,空洞卷积不仅能有效的提取到笔画信息,也能将笔画包围的无效信息忽略,做到不遗漏特征信息的同时降低网络参数。

图1 空洞卷积提取草图特征详细过程

1.3 空洞卷积与普通卷积融合的多尺度采样

由空洞卷积操作得到的某一层的结果中,邻近的像素是从相互独立的子集中卷积得到的,相互之间缺少依赖,故会存在局部信息丢失等问题。而空洞卷积的稀疏采样方式,也使得远距离卷积得到的信息之间没有相关性,对分类结果也有一定影响。为了解决以上问题,在DCSNet模型的部分卷积采样层中,将空洞卷积和普通卷积组合进行使用,卷积层的输出特征由两部分组成。以首层卷积层输出特征为例,一部分由扩张率为2的5×5空洞卷积与输入草图卷积操作后的特征组成,另一部分则由普通9×9卷积核与输入草图卷积后特征组成,两部分特征在通道上进行拼接后,作为该层卷积层的输出特征。这样做的好处是:一方面解决了提取的特征信息相关性问题,同时也保留了对草图形状特征的稀疏采样操作;另一方面,使用不同扩张率的卷积核,意味着可以拥有不同尺寸的感受野,即获取了多尺度信息,充分利用了上下文多尺度信息在视觉任务中的优势,且这样的操作不会影响输出特征的尺寸。经过多尺度融合采样输出特征的计算过程为

YC=Y1⊕Y2,

(4)

Y1=max{Y*f1+b1,0} ,

(5)

Y2=max{Y*f2+b2,0} ,

(6)

其中,YC为该层卷积层的最终输出,YC∈RH×W×2n,Y是草图输入数据,Y1和Y2分别为空洞卷积和普通卷积操作的输出结果,Y1∈RH×W×n,Y2∈RH×W×n,f1∈Rm×k×k×n×d,f2∈Rm×k×k×n。

1.4 下采样层与输出层

为了对经过卷积处理的特征进行压缩,并去除冗余信息,需要对其进行池化降维处理,这是一种非线性降采样的信息传递方法。下采样层也称为池化层。池化层一般夹在连续的卷积层之间,用于压缩上一层特征图的参数量,过滤上层特征信息且保持输出特征近似平移不变。最大池化、平均池化和随机池化等都是常用的池化方法。在DCSNet模型中,选择将最大池化和平均池化交替使用,对经过卷积处理的特征进行降维处理。使用的最大池化和平均池化的计算过程如式(7)和式(8)所示:

Mc=max(Ic(i,j)),i∈(1,H),j∈(1,W) ,

(7)

(8)

其中c表示第c个特征图,Mc表示第c个特征图经过最大池化操作的输出;m表示第m个特征图,Am表示第m个特征图经过平均池化操作的输出。

模型的全连接层一共3层,除了最后一层以外,其他层后都紧接着Dropout层。Dropout率为0.5,即舍弃50%输出单元参数。然后通过Softmax函数得到输入草图样本所属种类的概率分布输出,设网络原始输出为yi(y1,y2,…,yn),经过Softmax回归函数处理之后的输出可表示为

(9)

其中,c是分类数量,yc*表示c的训练函数。Softmax对应的损失函数为

(10)

其中,yk的取值为0或者1,草图训练样本的输出为第i类,yi=1,其余的j≠i都有yj=0。

1.5 模型总体结构

DCSNet模型主要包括8层,输入数据由224×224像素大小的草图图像组成,其中采样层由5层卷积层和5层池化层组成,模型结构和模型参数如图2和表1所示。与主流的基于卷积神经网络的草图识别模型使用大尺度首层卷积核不同,在DCSNet模型的首层卷积层中,考虑到实际草图的尺寸大小,使用的是k=9、d=1和k=5、d=2两种卷积核,两种卷积核的尺寸都相对较小。模型第2层和第4层使用的都是k=5、d=1和k=3、d=2组合卷积核,第3层和第5层分别使用k=5、d=2和k=5、d=1的卷积核。模型中所有卷积操作的步长都为1,每次卷积操作后面接着使用ReLU激活函数进行去线性化处理,卷积层后交替使用步长为2的最大池化和平均池化对输出特征进行降维处理,缩小图像的尺寸,并在最后去掉了局部相应归一化(Local Response Normalization,LRN)操作。DCSNet模型各阶段的输入与输出数据参数如表1所示,其中Conv-DC表示空洞卷积,Conv-C表示普通卷积。

图2 DCSNet网络模型结构

表1 DCSNet模型部分参数

1.6 模型参数优化

实验中选择自适应学习率作为模型的优化算法。设全局学习率为λ,衰减速率为ρ,初始参数为θ,小常数δ=10-6,初始化累积变量r=0;从训练集中采集m个样本{x(1),…,x(m)}的小批量,x(i)对应y(i)。梯度、累计平方梯度、参数更新量的计算方法如下:

(11)

r←ρr+(1-ρ)g⊙g,

(12)

(13)

2 实验验证与结果分析

2.1 实验数据

文献[1]组织收集整理的手绘草图集TU-Berlin Sketch,是目前草图识别领域应用最广泛的数据集之一,故将其作为有效性验证的实验数据。数据集包含250类常见的手绘草图,每类草图包含80幅由不同人群手绘完成的草图,总计20 000幅。文中选择PNG图片格式的数据作为实验对象,草图的原始像素大小为1 111×1 111,数据集部分草图如图3所示。

图3 TU-Berlin SKetch草图样例

由于深度学习方法需要大量数据支撑,训练样本数量过少模型可能会出现过拟合的问题,故文中采用旋转、图像平移、加噪、镜像翻转、随机切割、尾部移除等数据增强方法对TU-Berlin SKetch数据集进行数据扩增。以上数据扩增策略让草图数据集的图像数量扩增为原来的6倍。数据扩增的方法不仅可以增加训练样本数量,同时可以在一定程度上缓解模型过拟合,提高模型的泛化能力,也提升了实验过程的稳定性以及实验结果的鲁棒性。例如,图像平移的方法可以使得网络学习到平移不变的特征;图像旋转的方法可以让网络学习旋转不变的特征,在实际应用中,草图可能有多种不同的姿态,旋转正好可以弥补样本中姿态较少的问题;而图像镜像和旋转的功能类似;加噪、随机切割、尾部移除都是草图应用领域的常用数据扩增策略。

2.2 实验参数设置

实验中使用的深度学习框架为谷歌推出的Tensorflow,算法采用python编程语言实现,开发平台为Pycharm。在CPU环境(Intel(R)Core(TM)i7-8750H CPU @2.20 GHZ CPU)和GPU环境(NVIDIA GeForce GTX 1660 Ti GPU)下进行训练。实验中使用的草图数据集一共有120 000张草图图像,并按照3∶1∶1的比例将其划分为训练集、测试集和验证集,三者的数量分别为72 000、24 000和24 000。为了减少实验运算量,将所有图像降维到224×224像素,训练结果采用验证集上的平均识别准确率作为评价指标。实验使用的度量标准为网络的验证集样本的识别准确率(Top1准确率)。准确率是指正确分类样本的图像数量在所有样本中的比例:racc=a/y,racc代表验证集中图像识别准确率,a表示验证集中识别结果正确的样本数量,y表示验证集总样本数量。

2.3 实验结果分析

实验中,将笔者提出的方法与传统手工特征提取再进行标注分类的草图识别方法以及基于深度学习的识别方法进行对比分析。对比方法包括HOG-SVM[1]、SIFT-Fisher Vector[14]、AlexNet[15]、Sketch-a-Net[4]、Sketch-Net[16]、deep-CRNN-sketch[11]和DCSN[5],不同方法在TU-Berlin SKetch数据集上的最终识别准确率结果如表2所示。

表2 不同方法对应草图识别准确率结果对比 %

与传统的非深度学习方法HOG-SVM、SIFT-Fisher Vector相比,文中方法在TU-Berlin SKetch数据集上的识别准确率分别提升了16.6%和11.1%;与经典的卷积神经网络模型AlexNet相比,文中方法的识别准确率提升了6.7%;与主流基于深度学习的草图识别模型Sketch-a-Net、Sketch-Net、DCSN、deep-CRNN-sketch相比,文中方法的识别准确率分别提升了3.0%、2.2%、2.1%和0.8%。实验结果表明:①基于深度学习的草图识别方法在TU-Berlin SKetch数据集上的识别效果整体上都优于传统的非深度学习方法;②针对草图识别而专门设计的神经网络模型的性能又优于针对自然图片识别任务的神经网络模型;③引入空洞卷积来进行草图的形状特征提取的方法是有效的,将空洞卷积和普通卷积组合的方式也能进一步提升模型在TU-Berlin SKetch数据集上的识别准确率。

为了探究空洞卷积对草图形状特征提取的有效性,将文中的模型的首层卷积核作为变量,做了以下3组对照实验。第1组对照实验是将首层卷积核尺寸设置为5×5,扩张率为1;第2组对照实验是将首层卷积核尺寸设置为9×9,扩张率为1;第3组对照实验是将首层卷积核尺寸设置为5×5,扩张率为2。3组对照实验除了首层卷积核参数与DCSNet模型不同以外,其余部分与DCSNet模型一致。第1组对照实验是为了验证大尺寸首层卷积核与小尺寸空洞卷积核的性能差异,第2组对照实验是为了验证感受野相同的普通卷积核与空洞卷积核的性能差异,第3组对照实验是为了验证只使用空洞卷积和将空洞卷积与普通卷积组合使用两种方式对草图特征提取的影响程度。对照实验是为了探究首层卷积核参数对模型的识别准确率的影响规律,不同首层卷积核参数对应的模型识别准确率随迭代次数变化趋势如图4所示。表3是不同首层卷积核参数对应的最终草图识别正确率对比,表中k表示卷积核实际有效尺寸,d表示扩张率大小。

表3 不同首层卷积核参数对应的草图识别正确率

图4 对照组实验对应模型识别准确率

实验结果表明,首层卷积核尺寸为5×5、扩张率为2的空洞卷积与卷积核尺寸为9×9、扩张率为1的普通卷积的组合方式,比首层卷积核大小为5×5、扩张率为1和卷积核大小为9×9、扩张率为1以及卷积核大小为5×5、扩张率为2的方式识别准确率分别提高了3.7%、2.3%和1.1%。可以得出:① 在首层卷积核中,使用空洞卷积和普通卷积融合的方式对草图特征的提取效果优于对照实验中的其它方式。② 对于拥有相同大小感受野的空洞卷积和普通卷积,空洞卷积能更好地提取草图形状特征。出现这种现象的原因有两点,一是将空洞卷积和普通卷积融合,意味着可以拥有不同尺寸的感受野,即获取了多尺度信息,提高了卷积核对草图特征的提取能力;二是空洞卷积对于草图的稀疏性特性拥有更好的适应能力,能更有效地提取到草图的形状特征。此外,空洞卷积的扩张率大小可能也会对草图特征的提取效率产生影响,这也是下一步将要深入研究的方向。

3 结束语

笔者将空洞卷积引入手绘草图的形状特征提取中,并以经典的卷积神经网络模型AlexNet为基础,构建了采用空洞卷积的多尺度融合草图识别模型。通过空洞卷积和普通卷积的组合,提高网络对草图形状结构特征的提取能力,进而提高模型的草图识别准确率。实验结果表明,笔者提出的DCSNet模型相较于文献中的草图识别方法和模型,在TU-Berlin SKetch数据集上拥有更高的识别准确率。

在未来的工作中,将进一步扩展空洞卷积对草图图像结构特征的处理机制,探讨卷积核尺寸以及扩张率大小对草图特征提取能力的影响程度。

猜你喜欢

池化草图空洞
基于高斯函数的池化算法
卷积神经网络中的自适应加权池化
番茄出现空洞果的原因及防治措施
基于小波矩的智能手绘草图识别系统设计
如何避免想象作文空洞无“精神”
不能承受的生命之轻
基于卷积神经网络和池化算法的表情识别研究
用于手写汉字识别的文本分割方法
空洞的眼神
画好草图,寻找球心