APP下载

基于子像素全卷积的自编码网络结构优化

2018-08-02杨火祥柳伟孟凡阳梁永生

深圳信息职业技术学院学报 2018年2期
关键词:网络结构解码复杂度

杨火祥,柳伟,孟凡阳,梁永生

(1. 深圳信息职业技术学院信息技术研究所,广东 深圳 518172;2. 深圳大学信息工程学院,广东 深圳 518060)

网络结构对自编码网络[1]的性能和效率具有决定性的影响,如何设计一个有效的自编码网络结构,使其既能够有效提取自编码网络的特征,又能提升图像重构[2]性能和自编码网络的编解码效率,成为了自编码网络结构设计中的核心问题[3]。

经典的自编码网络用于图像处理[4]时,一般包含卷积层、全连接层和反卷积层等三种不同的网络结构,如图1所示。卷积层主要用在编码端,通过卷积和池化操作降低特征图的空间分辨率;全连接层[5]用在编码的终端和解码的前端,用以提取图片的不变特征,反卷积层则主要用于解码层,通过反卷积操作逐层提升特征图的空间分辨率,进而重构出原始图片。

图1 经典自编码网络结构图Fig.1 Classical autoencoder network structure

经典的自编码网络结构包含三个问题,首先,利用全连接层提取特征,不仅增加了计算复杂度,而且在全连接层进行特征提取,导致特征图的位置信息的丢失,进而增加了重构的复杂度;其次,利用反卷积层进行解码时,特征图的空间分辨率是逐层递增的,这不仅增加了计算量,而且重构误差会随着网络逐层累积;最后,利用顺序结构构建自编码网络时,随着网络深度的增加,会出现梯度弥散或梯度爆炸[6]等问题,导致网络无法收敛。

文献[7]提出了全卷积网络运用在图像分割,利用卷积层代替全连接层,在分割效果和运算时间上都大大提升。

文献[8]提出了子像素网络(ESPCN)超分辨重构模型,直接将低分辨率的图片输入到模型进行处理,大大降低了计算复杂度,将ESPCN网络优化解码层能够降低自编码网络计算复杂度,但是仍没有解决自编码网络特征图位置丢失、重构复杂度大等问题。

针对以上问题,本文提出了一种基于子像素全卷积的自编码网络结构,使其在提升自编码网络编解码效率的同时,提高自编码网络特征提取和图像重构的性能。利用子像素网络提升解码层的重构性能和效率,利用全卷积网络提升自编码网络提取特征的有效性以及重构的准确性,利用稠密连接网络解决自编码网络的收敛性问题。

1 子像素网络

在自编码网络中,解码层实质上可以看作是一个提升空间分辨率的过程,而这与超分辨任务是一致的,这意味着我们可以将超分辨领域的网络结构优化算法应用在自编码网络结构优化中。在超分辨任务中,ESPCN是一种新的空间分辨率提升网络,其结构如图2所示。

图2 子像素网络结构图Fig.2 Sub-pixel autoencoder network structure

假定对于一个C×n×n大小的输入特征图,其中C为输入特征图的通道数,如果想要将其空间分辨率增大r倍,对于反卷积网络来说,不仅需要设计多层反卷积网络,并通过逐层增加空间分辨率来实现,而且还需要精心设计每层增加的分辨率的大小,以保证最后得到的空间分辨率是rn×rn。而与反卷积网络的实现方式不同,在子像素网络中,所有隐藏层对应特征图的空间分辨率是不变的,即都是n×n,而只需保证隐藏层的最后一层的通道数为M×r×r(M为最终输出特征图的通道数,对于彩色图像为3),然后,利用子像素卷积网络将M×r×r个通道通过子像素差值得到最终M×rn×rn的特征图。

由于子像素网络只在最后一层提升空间分辨率,不仅大大降低计算量,而且因为没有空间分辨率逐层递增所带来的累积误差,使得最终的重构图像在质量上也具有较大的提升。基于以上分析,本文将子像素网络的思想应用到自编码网络结构优化中,使得在降低自编码网络计算复杂度的同时,提升重构图像的质量。

2 全卷积网络

在经典的自编码网络中,在编码端卷积网络之后和解码段反卷积网络之前,借鉴图像分类网络,通常会利用全连接网络将特征图映射为固定长度的特征向量。尽管这种方式在图像分类任务中取得了非常好的效果,能够有效提取图像的不变特征。但是,一方面,全连接层的计算量远大于卷积层,使得自编码网络的大部分计算量都集中在全连接层;另一方面,利用全连接层将特征图映射到向量,会丢失图片内容的位置信息,尽管能够更好的提取图像的不变特征,但却大大增加了重构的复杂度,影响了自编码网络重构图片的质量,进而也会导致提取的特征并不能很好地表征图片。

在图像分割中,利用卷积网络替换全连接层,不仅能够有效地降低计算复杂度,而且能够很好地保存图片中的空间位置信息,进而有效地实现图像分割任务。基于这一研究,本文将全卷积网络结构的这一思想应用在自编码网络结构优化中,使得自编码网络不仅能够有效地提取图片的特征,而且能够保留图像中的空间位置信息,进而提高图片重构质量。

3 基于子像素全卷积的自编码网络结构优化

本文将从解码层网络结构、特征提取网络结构等方面对自编码的网络结构进行优化。下面将对网络的具体优化进行详细论述。

首先,将自编码网络解码层的反卷积层换成卷积层(后面称其为子像素自编码网络结构),然后将最后一层换为子像素卷积层。为了论述简单,不失一般性,假定自编码网络的输入大小为3×n×n,经过编码层和全连接层后,得到的大小为C×m×m,那么,在基于子像素卷积的解码层中,其对应的隐藏层中的空间分辨率都为m×m,且隐藏层最后一层的通道数为 3×n2/m2,最后利用子像素网络得到最终大小为3×n×n的输出。值得注意的是,当n/m并不是整数时,可以在子像素卷积层之后加入一层卷积网络进行补全。

其次,将自编码网络结构中全连接层换成卷积层(后面称其为全卷积自编码网络结构),进而实现全卷积自编码网络。值得注意的是,由于卷积核感受野受到卷积层数和卷积核大小的影响,会使得编码层最后一层卷积核的感受野并不能包含整个图片,而这将影响最终提取特征的全局性。因此,需要保证编码网络最后一层的卷积核的感受野大于一定的范围,即:

其中,S为编码网络的卷积层数,rS为第S层的感受野,step和CS分别为第S的卷积步长和卷积核大小。最终的基于子像素全卷积的自编码网络结构如图3所示。

图3 基于全卷积子像素网络的自编码网络结构图Fig.3 Network structure based on sub-pixel fully convolutional network

最后,根据前面的分析,将编码网络和解码网络结构修改为稠密连接网络,用以进一步提升自编码网络的收敛性。

4 实验结果与分析

为了验证本文提出的基于子像素全卷积的自编码网络结构优化算法的性能,本文将在两个测试数据集上进行实验分析,并与经典自编码网络结构、全卷积自编码网络结构和子像素自编码网络结构进行对比。

为了实验结果的公平性,所有算法将在相同或者相似的条件下进行。实验环境为Linux系统,深度学习框架为Pytorch,利用 K80 GPU进行加速。本文所选用的训练数据集为Coil-20[9]图像数据集和OBJ101数据集。Coil-20包含20类图像以及对应标签,每张图片的大小为128x128,共1440张图片;OBJ101包含101类,8677张图像,图片大小不固定。图4和图5给出了数据库中的部分图片。

图4 Coil-20数据集部分图片Fig.4 A part of Coil-20 dataset

图5 OBJ101数据集部分图片Fig.5 A part of OBJ101 dataset

为了有效分析不同网络结构的有效性,本文将从三个方面对自编码网络性能进行度量:图像重构质量、计算复杂度和聚类性能[10]。图像重构质量主要利用峰值信噪比(Peak Signal to Noise Ratio,PSNR)和结构相似性(Structural Similarity,SSIM)两个度量指标进行度量,PSNR是一种基于像素误差的客观评价标准,衡量不同图像像素之间的差异大小,SSIM是一种基于结构差异的评价指标。由于计算复杂度与网络结构的实现方式以及实验环境密切相关,为了分析的公平性,本文在实现网络结构时,将不同网络层的通道数都设置为相同,并以自编码网络训练100轮的总时间作为计算复杂度的评价指标。由于无监督聚类并不能单纯的从某个指标看出聚类结果的好坏,因此本文对聚类性能的分析首先利用Kmeans方法进行无监督聚类,然后对聚类结果利用homo、compl、ARI和AMI等四个聚类指标进行综合评估。其中,homo(homogeneity score)表示同类样本被归类到同一类的概率,compl(completeness score)表示无监督聚类后每类只包含一类样本的概率,ARI(Adjusted Rand Index)表示与真实类别的相似度,AMI(Adjusted Mutual Information)类似于ARI,从信息熵的角度度量相似度。

为了简化相应对比实验,本文主要以monarch图片为参考对象,对不同自编码网络的性能进行可视化分析。如图6为monarch原图以及细节图,由图可以看出,monarch图片中包含了清晰的细节信息,因此能够很好地对图片重构的结果进行有效地可视化。

图6 monarch原图及其细节图Fig.6 Original and drawing of partial enlargement of monarch

4.1 网络结构对自编码性能的影响分析

为了验证不同网络结构对自编码性能的影响,本节对不同的编码网络结构和解码网络结构进行分析。该部分的实验在Coil-20数据集完成,输入图片大小3×128×128,编码层输出特征3×32×32,自编码网络对应的压缩比为16:1。表1给出了不同的自编码网络结构对应的图片重构质量度量和计算复杂度分析。在这里,编码网络和解码网络对应的卷积层均为3层。图7则是不同自编码网络结构所得到的monarch的重构结果。

表1 几种网络结构优化的自编码网络性能Tab.1 Performance on different autoencoder optimization method

图7 与表1对应解码图及其细节图Fig.7 Decoding picture and drawing of partial enlargement of monarch corresponding to table 1

从表1可以看出:自编码网络优化能够有效提升自编码网络的重构性能,并降低相应的计算复杂度。例如,与经典的自编码网络相比,在子像素自编码网络的自编码网络结构在图像重构质量具有一定提升的基础上(PSNR提升了0.39,SSIM提升0.34),其运行时间却大大缩短到原来的56%。这进一步说明子像素网络能够有效降低计算量,并能够解决由于逐层增加分辨率所导致的误差累积问题。由于经典自编码网络结构中的全连接层所占比重并不大,因此,全卷积网络对自编码网络性能的提升有限。尽管如此,全卷积网络在图片重构质量和计算复杂度上仍然优于经典自编码网络结果。基于子像素全卷积的自编码网络的性能明显优于其它网络结构,这说明子像素网络结构优化和全卷积网络优化能够有效地结合。

由图7可以看出,经典自编码网络结构重构的图像相对模糊,丢失了一些细节信息,例如蝴蝶翅膀的边缘以及翅膀上的黑白斑块,而本文提出的基于子像素全卷积网络的自编码网络结构重构的结果能够很好地保留细节信息。

为了进一步分析自编码网络结构对性能的影响,在基于子像素全卷积优化网络结构的基础上,分析不同的卷积层深度对自编码网络性能的影响。实验结果如表2所示。

表2 不同卷积层网络深度的自编码网络性能Tab.2 Performance on different deep autoencoder

图8 与表2对应解码图及其细节图Fig.8 Decoding picture and drawing of partial enlargement of monarch corresponding to table 2

由表2可以看出,随着网络深度的增加,基于子像素全卷积的自编码网络结果的性能也越好,但是对应的计算复杂度随之增加。因此,在实际的应用中,需要根据实际的应用需求对网络深度和性能进行折中。

4.2 不同网络结构在不同数据库上的性能比较

为了进一步分析算法在不同数据上的性能,我们将不同的自编码网络结构优化算法应用在Coil-20数据集和OBJ101数据集上,这里,卷积层深度均为4层。相应的实验结果如表3和表4所示。

表3 在Coil-20数据集上不同网络网络结构对自编码网络性能的影响Tab.3 Performance on different Structure autoencoder on Coil-20 dataset

经典自编 子像素网 全卷积网 子像素全码网络 络优化 络优化 卷积网络优化时间(s) 1757 956 1621 804 homo 0.702 0.738 0.711 0.752 compl 0.734 0.765 0.743 0.772 ARI 0.394 0.408 0.397 0.412 AMI 0.428 0.475 0.434 0.478

表4 在OBJ101数据集上不同网络网络结构对自编码网络性能的影响Tab. 4 Performance on different Structure autoencoder on OBJ101 dataset

图9 与表3对应解码图及其细节图Fig.9 Decoding picture and drawing of partial enlargement of monarch corresponding to table 3

图10 与表4对应解码图及其细节图Fig.10 Decoding picture and drawing of partial enlargement of monarch corresponding to table 4

由表3-4和图9-10可以看出,基于子像素全卷积网络的自编码网络结构在不同数据集上的性能仍然优于其它网络结构,进一步证明了本文提出的自编码网络结构优化方法的有效性。值得注意的是,在不同的数据集上,自编码网络对应的性能具有较大的差异,例如,在表3-4中可以看出,Coil-20数据集的结果明显优于OBJ101数据集的结果,主要原因是两个数据集的数据数量和丰富程度不同,Coil-20数据集总共训练了1440张图片,而OBJ101数据集不仅图片较多,而且图片的类别也比较多,这使得利用自编码进行无监督学习提取到的特征并不能有效地表征图片的相关信息。

4.3 网络结构性能分析

为了进一步分析不同CNN网络结构优化对基于子像素全卷积的自编码网络性能的影响,本文分析了经典CNN网络结构、 ResNet[11]和DenseNet[12]等三种不同的CNN网络结果对自编码网络性能的影响。在该实验中,实验结果基于4层的卷积层深度,数据集为Coil-20。表5和图11分别给出了对应的性能分析结果和对应的自编码重构结果。

表5 不同网络结构对自编码网络性能的影响Tab.5 performance on different Structure

图11 与表5对应解码图及其细节图Fig.11 Decoding picture and drawing of partial enlargement of monarch corresponding to table 5

由表5可以看出,DenseNet的图片重构结果和聚类性能明显优于其他CNN网络结构,而对应的计算复杂度随之增加,这主要是DenseNet的高层网络需要将前面层的所有输入都进行加权,因此增加了相应的计算复杂度。图11的实验结果再次表明更好的CNN网络结构能够有效提升自编码网络对图像细节信息的保留。

5 结束语

针对经典自编码网络结构计算复杂度相对较高且性能较低的问题,本文提出了一种基于子像素全卷积的自编码网络结构优化方法。首先,利用子像素网络替换经典自编码网络的解码层,用以解决反卷积层在逐层提升空间分辨时所存在的误差累积和计算复杂度高的问题;其次,利用全卷积网络替换经典自编码网络的全连接层,用以解决全连接层在提取特征时所存在的丢失空间信息和计算复杂度较高的问题;最后,利用DenseNet替换经典的CNN网络结构,用以提升自编码网络的收敛性。实验结果表明,与经典的自编码网络结构相比,本文提出的自编码网络优化算法在不同的测试数据集上都具有很好的性能,而且无论是图像重构还是特征提取,都明显优于经典的自编码网络结构。

猜你喜欢

网络结构解码复杂度
《解码万吨站》
解码eUCP2.0
一种低复杂度的惯性/GNSS矢量深组合方法
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
求图上广探树的时间复杂度
基于互信息的贝叶斯网络结构学习
某雷达导51 头中心控制软件圈复杂度分析与改进
知识网络结构维对于创新绩效的作用机制——远程创新搜寻的中介作用
沪港通下A+ H股票网络结构演化的实证分析