基于二值语义分割网络的遥感建筑物检测 下载: 988次
1 引言
随着遥感成像技术的快速发展,现在可以获得数量可观的高分辨率遥感图像,从而使人们能够更详细地研究地表目标[1]。如今,利用卫星遥感数据进行人工建筑物检测是最具挑战性的任务之一[2]。语义分割,旨在对提取出的图像子区域中的每一个像素点进行分类。遥感图像中的建筑物具有粒度细、分布散的特点,采用语义分割方法能获取更精细的结果。遥感建筑物检测具有许多非常实际的应用,如土地资源管理、城市规划[3]和计算机制图等[4]。
在遥感图像的检测和分类[5]任务中,构造包含每一类特点的特征向量是非常重要的。在传统的研究工作中,通常通过人工构造包含形态滤波器[6]、纹理[7]、点描述符[8]、梯度方向[9]等信息的特征向量。随着深度学习的发展[10],能够自动学习[11]并提取深层次[12]特征向量的卷积神经网络(CNN)开始被大规模应用于检测[13]任务。基于CNN的语义分割网络成为了研究热点,其中FCN (Fully Convolutional Networks)[14]是第一种采用全卷积网络的语义分割方法。后来,基于FCN的方法在图像语义分割方面取得了重要进展。
在图像深度学习领域,神经网络方法的研究工作主要集中在两方面。一方面是采用越来越复杂且强大的模型网络来改善检测识别的效果:1)在分割方法中使用更深的网络层[15]、更丰富的网络结构,如Deep Residual (深层残差网络)[16]结构、Inception (网中网)[17]结构,之后又涌现了一批代表性的新型网络,如U-Net(U shape Network)[18]和Deeplab (Deeper Network with Atrous Convolution)[19]等;2)将模拟人脑的注意力模型(self-attention机制)应用到语义分割中,扩大感受野,如DANet (Dual Attention Network for Scene Segmentation)[20]和CCNet (Criss-Cross Attention for Semantic Segmentation)[21]等。
另一方面是针对复杂模型带来的存储空间过大以及计算资源消耗大等问题进行模型压缩研究,以提升其硬件的实用性,集中在加速网络结构设计、模型裁剪、权值量化三个方向。使用分组卷积(ShuffleNet[22]、MobileNet[23])、分解卷积(ErfNet[24]、ENet[25])等巧妙的网络结构可以减少参数量,但实现起来较为复杂;模型裁剪需要确定剪枝率和剪枝阈值,重新定义储存编码的数据结构[26]。相比而言,二值化[27]无需更改网络构架和存储结构,更为简便快捷,并且压缩效果明显。
因此,为提高遥感图像建筑物检测任务中语义分割网络的硬件实用性(降低存储和功耗),本文提出一种混合类型权重的语义分割网络——MBU-Net。首先,将常用语义分割网络FU-Net(浮点型U形框架)与图像分类领域中网络压缩方法——二值化结合起来,提出GBU-Net(Global Binary U-shape Network);然后,针对GBU-Net带来的精度损失过多、训练较慢的问题,将网络输出层权重替换成浮点型,改进成混合二值网络,即MBU-Net;最后,在对快鸟(QuickBird)卫星获取的真实图片数据集进行三种网络对比实验的基础上,对结合性能较好的其他同类网络(Deeplab[19]、ENet[25])的分割结果进行分析。结果表明,本文方法可有效识别地上建筑物,且能保证检测精度,在低功耗硬件平台上具有一定的实际应用价值。
2 基本原理
2.1 二值神经网络系统抗过拟合性质分析
通常,神经网络可以模拟任何非线性函数,在训练数据不充分、不广泛、覆盖范围有限时,难免也会对噪声进行拟合,出现过拟合现象,导致训练出来的网络模型只在训练数据上表现良好,对训练集外的测试数据不起作用。为防止过拟合,提高网络的泛化能力,可在原始模型中引入额外信息,这种方法称为正则化方法。
常用的正则化方法有很多,如L1 regularization、L2 regularization、Dropout (随机丢弃神经元)[28]、DropConnect (随机取消连接) [29]、数据集扩增。此外,在计算参数梯度时,将噪声添加到权重和激活中的方法可以看作是一种正则化方式。例如,对权重参数w来说,二值化后的权重
式中:nw为二值化引入的权重噪声。权重的二值化带来的噪声比例γw(WBNR)为
式中:E(·)为能量。引入噪声后的激活
式中:a为神经元的激活值;na为激活的二值量化噪声。
在一个多层神经网络的前向传播中,l+1层的第i个激活值
式中:j为神经元序号;N为神经元个数;
式中:γa为单层激活的WBNR;γw·a为单层传播后的WBNR;
w·a的噪声比例γw·a满足(6)式,这是线性系统的特点。对二值化噪声单独引入权重和激活,等同于系统总噪声直接相加。因此在网络层的前向传播中,结合(4)式,可将
从(8)式中可见,网络层与层之间的噪声相互独立、互不影响,并且被叠加到整体噪声之中,共同作用于整个系统。本文提出的MBU-Net网络系统混用二值与浮点数权重,其最后一层输出层未经过二值化,仍保持高精度浮点型,因此最后一层的
2.2 二值化神经网络的训练步骤
网络模型的前向推理使用过程主要包括卷积和矩阵乘法操作,主要运算是乘法累加。当权重被约束为+1或-1时,很多乘法累加运算可由简单的加法(或减法)代替。这在硬件实现上有巨大的好处,因为定点加法器比乘法累加器的运算速度更快,所需资源更少[30]。
对传统的神经网络进行训练和参数更新一般分为三个步骤,如
二值化神经网络算法训练流程如
2.3 二值化方式
训练网络时,权重被约束为+1或-1,这两个值在硬件实现上非常有利。为了将实际变量转换为二值,需要使用二值化函数。常用的二值化方式包括确定式与随机式。确定式的二值化函数表达式为
式中:Sign(·)为符号函数; xB为二值化后的变量;x表示输入,范围为(-∞,+∞)。确定式二值化很容易直接实施,在实践中表现良好。还有一种更精细和更均衡的替代方案是随机二值化,表达式为
式中:clip(·)为截断函数;p表示概率。在区间[0,1]上,σ(x)是hard Sigmoid函数,呈分段线性,并且有对应的上下边界约束。与soft Sigmoid函数相比,hard Sigmoid的计算成本要低得多(在软件和专用硬件实现中),并且在实际应用中取得了良好的效果。随机二值化比确定式二值化更具吸引力,但实现起来较为复杂,需要硬件在量化时生成随机位,资源开销较大。因此,本文主要使用确定性二值化函数,即符号函数。
2.4 损失函数选择
在网络学习训练过程中,为了在给定数据上评估预测结果与真实结果的偏离程度,需要选择误差函数(通常称为损失函数)。该函数可用于估计模型的损失,以便更新模型权重,减少下一次评估的损失。
神经网络模型学习从输入到输出的映射,而且损失函数的选择必须与特定建模任务的框架相匹配。因此,损失函数可以大致分为两类:分类损失和回归损失。输出层的激活函数必须适合于所选择的损失函数。对于二分类和多分类任务来说,对应神经网络输出层的激活函数常选用Sigmoid和Softmax,匹配的损失函数是二元交叉熵(BCE)和多元交叉熵。
针对输入遥感卫星图片,本文需要输出像素级别的对应类别,这属于两类判别问题。因而本文的网络训练采用二元交叉熵作为损失函数,网络输出层采用Sigmoid激活函数。
式中:y表示分类目标值,在集合{0,1}中取值;p为网络输出的预测概率,其值在[0,1]区间;C为计算得到的二元交叉熵损失值,用以衡量真实和预测概率分布之间的平均差异程度,差异越大,则计算的交叉熵值越大。
f(x)为Sigmoid函数,可将输入映射到[0,1]区间。(12)式是常见的S型函数,具有非线性和导数计算简单等特点[31]。二元交叉熵是适用于二分类问题的默认损失函数,可以计算得到一个损失分数值,如(13)式所示。
3 网络结构
为对比二值化前后检测精度的变化,本文网络层采用相同的框架结构,而参数分别采用二值型、浮点型以及二值加浮点的混合型,搭建了三种不同网络。网络特征提取层包括上采样层和下采样层,均采用3×3卷积核,而输出层采用1×1卷积核。三种网络特征提取层和输出层权重参数类型(即是否二值)对比示意图如
第一个网络基于常用的语义分割网络结构U-Net,所有卷积层的权重均采用32位浮点数,称为FU-Net,如4(a)所示;第二个网络结构如
图 4. 三种网络结构和详细参数。(a) FU-Net;(b) GBU-Net;(c) MBU-Net
Fig. 4. Details and architectures of three networks. (a) FU-Net; (b) GBU-Net; (c) MBU-Net
三种网络的结构框架和每层卷积核数、大小设置均一致,因此三种网络的**数量相同。特征提取层的层数较多,且采用3×3大小的卷积核,根据深度计算每层的卷积参数,累加起来共25317760个参数,计算方式为3×3×(3×64+64×64+64×128+…+128×64+64×16)。输出层采用1×1大小的卷积核,单个卷积核的大小只有特征提取层的1/9,且只有一层,参数量为1×1×16×1=16。可以看出,输出层参数远远少于特征提取层,因此网络**数和所需存储空间主要由特征提取层决定。
4 实验过程及结果分析
4.1 数据集准备
数据集来自于QuickBird卫星从450 km处太空拍摄的地球表面卫星图片(覆盖广东省部分地区数百平方千米的土地)。QuickBird卫星是世界上第一颗提供亚米级分辨率影像的商业卫星,它可在全球范围内实现大面积覆盖,更新频率快,93 min即可环绕地球一周。
对获取的卫星图片进行手工标注,制作数据集。将图像像素级别的对应目标分为两类,一类是建筑物,一类是背景(非建筑物部分)。
图 5. 遥感图片上的建筑物及其对应标注。(a) 卫星遥感图片;(b) 标注图片
Fig. 5. Buildings in satellite remote sensing image and their corresponding labels. (a) Satellite remote sensing image; (b) labeled image
4.2 评价指标
选取常用的语义分割性能评估指标(像素准确率βPA、精确率P、召回率R、F1分数F1-score)进行评价,这些评估指标的计算公式分别为
式中:NTP为正确识别出的建筑物像素的个数;NTN为正确识别出的背景像素的个数;NFP为将背景误识别为建筑物像素的个数;NFN为将建筑物误识别成背景像素的个数。像素准确率βPA表示识别正确的像素(包括建筑物和背景)占所有像素的比例;精确率P表示所有被分类为建筑物像素中的真实建筑物像素所占的比例;召回率R表示在所有的真实建筑物像素中被正确分类的比例。通常希望同时获得较高的精确率和召回率,但这两者在某些情况下是互相矛盾的,因此需要综合考虑,常见的方法是取两者的调和平均数(称为F1分数),即F1-score。
4.3 中间结果的可视化
以MBU-Net为例,对网络权重和网络中间层激活的特征图进行可视化,展现不同卷积核的结果。MBU-Net网络层详细的输入输出参数如
表 1. MBU-Net网络层详细的输入输出参数表
Table 1. Input and output parameters of MBU-Net layer
|
以第三层卷积核组参数为例,维度为3×3×64×128,将卷积核组平铺变换成二维,得到的结果如
图 7. MBU-Net卷积核组参数可视化结果
Fig. 7. Visualization result of convolution kernel group parameters of MBU-Net
作为特征图可视化的输入如
4.4 结果分析
实验所采用深度学习框架为Keras,基于Tensorflow后端,系统为64位Ubuntu16.04 LTS。网络训练与测试硬件平台的GPU采用英伟达NVIDIA GeForce GTX 1080Ti,内存128G,图像读取保存及其他处理基于开源软件OpenCV4.1.0实现。除基于U-Net架构的三种网络(FU-Net、GBU-Net、MBU-Net)外,实验还在其他类别架构的网络上进行,如检测效果较好的Deeplab(基于空洞卷积和多分辨率结构)以及运行较快的ENet(基于分解卷积结构)。
训练的损失函数为二元交叉熵(BCE),训练过程中随着迭代次数增加,五种网络的训练损失、训练准确率变化曲线分别如
五种网络训练迭代完成后,最终的训练损失和像素准确率如
表 2. 五种网络的训练损失值和准确率
Table 2. Results of training loss and accuracy of five networks
|
加载训练好的五种网络,分别在测试集上对测试图片进行像素级别的预测和分类判别,最终获得的各项指标如
表 3. 五种网络在测试集上的各项测试指标
Table 3. Test indexes of five networks on test set
|
在测试集的遥感卫星图片上,对全局所有的卷积层权重都采取二值化的GBU-Net。相比浮点型的FU-Net,GBU-Net的像素准确率下降了7.14%,F1分数下降了5.19%,性能损失较多;而采用混合类型权重的MBU-Net,F1分数提高了1.93%,检测识别效果与Deeplab网络相当,存储空间是基于卷积分解结构的ENet的1/4,速度是ENet的2倍。
二值化将所有乘法操作转化成加法运算,对于普通的硬件平台来说,乘法远比加法操作费时,以Intel Pentium CPU为例,普通加法需要1个指令周期,而普通乘法则需要10或11个指令周期,乘法速度近乎是加减法的1/10。由
大部分硬件平台浮点数的实现遵循IEEE 754标准,即浮点数存储为32位(bit),相当于4字节(Byte, B),而二值化后的参数只需要存储为1位,相当于0.125字节。因此将二值化引入特征提取层便可有效压缩存储空间。以Xilinx Vertex-7 FPGA为例,其最大片上内存为8.5 MB且不提供片外内存,不适合用于FU-Net,但能够运行MBU-Net。结合
在过去的数十年中,能耗成为限制硬件性能的主要因素[32],因此研究人员投入大量精力研究如何减少神经网络的能量消耗。45 nm制造工艺技术在0.9 V工作电压下各项运算操作能量消耗如
使用MBU-Net网络对输入测试集的遥感卫星图片进行实验,获取的部分输出预测结果如
表 4. 不同类型参数加法和乘法运算操作的能耗对比[32]
Table 4. Comparison of energy consumption of addition and multiplication operations for different types of parameters[32]
|
图 12. 测试集中的部分输入图片及其对应的输出预测
Fig. 12. Partial input images and output prediction on test set
5 结论
为解决目前语义分割网络模型太过庞大而无法在存储、功耗有限的硬件平台上稳定高效运行的问题,本文提出了一种只将特征提取层二值化的神经网络模型MBU-Net。首先将图像分类领域中的模型压缩手段二值化引入到图像分割领域,结合语义分割网络FU-Net,提出了一种全局二值化的语义分割网络GBU-Net,采用该网络进行遥感图片建筑物检测实验。针对全局权重二值化带来性能损失过多(像素准确率下降7.14%,F1分数下降5.19%)、训练收敛较慢或者不收敛的问题,将GBU-Net改进成MBU-Net,该网络采用混用二值和浮点型权重方法,即只将特征提取层二值化,而保留占少量参数和存储的输出层权重为浮点型。实验结果表明,本文方法有效解决了网络训练收敛慢或不收敛的问题,并且性能相比FU-Net并未损失(像素准确率为82.33%,F1分数为73.15%),在效果甚至超过FU-Net的情况下(F1分数提高1.93%),存储空间减少了96.87%,速度提升6.29倍,功耗降为FU-Net的37.78%,且优于其他同类方法(Deeplab、ENet)。
本文提出了一种混合二值的语义分割网络MBU-Net,该网络能对输入图像实时输出每个像素的类别,并可依据目标所占像素的多少估算出目标的面积,同时可解决目标定位和目标尺寸获取的问题。该网络除了可用于国土资源监察(地上建筑物的建、拆、改、扩)等民生领域,还有望在**领域得到应用。
[2] VakalopoulouM, KarantzalosK, KomodakisN, et al. Building detection in very high resolution multispectral data with deep learning features[C]∥2015 IEEE International Geoscience and Remote Sensing Symposium (IGARSS), July 26-31, 2015, Milan, Italy. New York: IEEE, 2015: 1873- 1876.
[3] 张晓男, 钟兴, 朱瑞飞, 等. 基于集成卷积神经网络的遥感影像场景分类[J]. 光学学报, 2018, 38(11): 1128001.
[5] 刘芳, 路丽霞, 黄光伟, 等. 基于离散余弦变换和深度网络的地貌图像分类[J]. 光学学报, 2018, 38(6): 0620001.
[6] LefèvreS, WeberJ, SheerenD. Automatic building extraction in VHR images using advanced morphological operators[C]∥2007 Urban Remote Sensing Joint Event, April 11-13, 2007, Paris, France. New York: IEEE, 2007: 9702691.
[8] WangM, Yuan SG, PanJ. Building detection in high resolution satellite urban image using segmentation, corner detection combined with adaptive windowed Hough Transform[C]∥2013 IEEE International Geoscience and Remote Sensing Symposium-IGARSS, July 21-26, 2013, Melbourne, VIC, Australia. New York: IEEE, 2013: 508- 511.
[10] KrizhevskyA, SutskeverI, Hinton GE. ImageNet classification with deep convolutional neural networks[C]∥Advances in Neural Information Processing Systems, December 3-6, 2012, Lake Tahoe, Nevada, United States. USA: NIPS, 2012.
[11] 席志红, 侯彩燕, 袁昆鹏, 等. 基于深层残差网络的加速图像超分辨率重建[J]. 光学学报, 2019, 39(2): 0210003.
[12] 马红强, 马时平, 许悦雷, 等. 基于深度卷积神经网络的低照度图像增强[J]. 光学学报, 2019, 39(2): 0210004.
[13] LeCunY, Huang FJ, BottouL. Learning methods for generic object recognition with invariance to pose and lighting[C]∥Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2004. CVPR 2004., June 27-July 2, 2004. Washington, DC, USA. New York: IEEE, 2004: 8168961.
[14] LongJ, ShelhamerE, DarrellT. Fully convolutional networks for semantic segmentation[C]∥2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 3431- 3440.
[15] SzegedyC, LiuW, Jia YQ, et al. Going deeper with convolutions[C]∥2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 15523970.
[16] He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 770- 778.
[17] SzegedyC, VanhouckeV, IoffeS, et al. Rethinking the inception architecture for computer vision[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 2818- 2826.
[18] RonnebergerO, FischerP, BroxT. U-Net: convolutional networks for biomedical image segmentation[M] ∥Navab N, Hornegger J, Wells W, et al. Medical image computing and computer-assisted intervention-MICCAI 2015. Lecture notes in computer science. Cham: Springer, 2015, 9351: 234- 241.
[19] Chen LC, Zhu YK, PapandreouG, et al. Encoder-decoder with atrous separable convolution for semantic image segmentation[M] ∥Ferrari V, Hebert M, Sminchisescu C, et al. Computer vision-ECCV 2018. Lecture notes in computer science. Cham: Springer, 2018, 11211: 833- 851.
[20] FuJ, LiuJ, Tian HJ, et al. Dual attention network for scene segmentation[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, June 16-20, 2019, Long Beach, CA, USA. New York: IEEE, 2019: 3146- 3154.
[21] Huang ZL, Wang XG, Huang LC, et al. CCNet: criss-cross attention for semantic segmentation[J/OL]. ( 2018-11-28)[2019-05-26]. https:∥arxiv.org/abs/1811. 11721.
[22] Zhang XY, Zhou XY, Lin MX, et al. ShuffleNet: an extremely efficient convolutional neural network for mobile devices[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 6848- 6856.
[23] Howard AG, Zhu ML, ChenB, et al. MobileNets: efficient convolutional neural networks for mobile vision applications[J/OL]. ( 2017-04-17)[2019-05-26]. https:∥arxiv.org/abs/1704. 04861.
[25] PaszkeA, ChaurasiaA, KimS, et al. ENet: a deep neural network architecture for real-time semantic segmentation[J/OL]. ( 2016-06-07)[2019-05-26]. https:∥arxiv.org/abs/1606.02147arXiv.
[26] Ge SM, LuoZ, Zhao SW, et al. Compressing deep neural networks for efficient visual inference[C]∥2017 IEEE International Conference on Multimedia and Expo (ICME), July 10-14, 2017, Hong Kong, China. New York: IEEE, 2017: 667- 672.
[27] HubaraI, CourbariauxM, SoudryD, et al. Binarized neural networks[C]∥Advances in Neural Information Processing Systems, December 5-10, 2016, Barcelona, Spain. USA: NIPS, 2016.
[29] WanL, ZeilerM, Zhang SX, et al.Regularization of neural networks using DropConnect[C]∥International Conference on Machine Learning, June 16-21, 2013, Atlanta, GA, United States.USA: MIT Press, 2013, 28( 3): 1058- 1066.
[31] HanJ, MoragaC. The influence of the sigmoid function parameters on the speed of backpropagation learning[M] ∥Mira J, Sandoval F. From natural to artificial neural computation. IWANN 1995. Lecture notes in computer science. Berlin, Heidelberg: Springer, 1995, 930: 195- 201.
[32] HorowitzM. 1.1 computing's energy problem (and what we can do about it)[C]∥2014 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC), February 9-13, 2014, San Francisco, CA, USA. New York: IEEE, 2014: 10- 14.
Article Outline
朱天佑, 董峰, 龚惠兴. 基于二值语义分割网络的遥感建筑物检测[J]. 光学学报, 2019, 39(12): 1228002. Tianyou Zhu, Feng Dong, Huixing Gong. Remote Sensing Building Detection Based on Binarized Semantic Segmentation[J]. Acta Optica Sinica, 2019, 39(12): 1228002.