APP下载

基于单阶段神经网络的房屋屋顶检测方法

2021-10-20彭劲松

北京测绘 2021年8期
关键词:特征提取卷积神经网络

彭劲松

(湖南环境生物职业技术学院 园林学院, 湖南 衡阳 421005)

0 引言

无人机轻便灵活,操作简单,能够快速获取大范围内的高清影像,是当代测绘工作的主要数据生产工具之一[1- 2]。然而如何从海量的无人机影像数据中快速精准地提取出有效的建筑房屋信息,具有重要的科学研究的价值与意义。随着深度学习技术的兴起,由卷积神经网络所构建的目标检测网络在人脸识别、工业零件检测等多个物体检测领域取得了很好的应用。早在2017年,陈睿敏等[3]就提出了基于卷积神经网络红外遥感图像目标提取网络,该网络能够对红外遥感图像上的不同种类地物有较高的分类精度;2019年,周苏等[4]针对交通标志检测以小目标为主的特点提出了改进的PVANet (Performance vs Accuracy Network),并在TT100K(Tsinghua-Tencent 100K)数据集上取得了最高84.1%mAP的检测精度;同年,卢飞宇[5]提出了一种基于改进的多任务级联卷积神经网络的交通标志检测网络,在实际测试场景下能够对道路交通标志得到较高的检出率;同年,崔文靓等[6]提出了一种基于YOLOv3网络的改进模型,并将该网络应用于公路车道线检测任务上,取得了95%全类平均精度(mean Average Precision, mAP)均值的精度,相比原始网络在精度方面有了11%的提高;2020年,孔方方等[7]提出了基于YOLOv3的交通监控目标检测模型,在大型汽车、小型汽车、骑行摩托车、骑行自行车和行人等5类目标中可以取得84.49% mAP的精度以及98.18%的召回率。无人机影像中的房屋以中小型目标为主,且不同房屋间的形状差异较大,因此,有必要针对性地构建一款深度学习的模型来实现对无人机遥感影像中的房屋实施快速、精准检测。单阶段卷积神经网络兼具了检测精度与速度方面的优势[8-9],本文通过构建单阶段卷积神经网络来实现对无人机影像中的建筑进行快速精准检测,并对训练数据集进行了一系列增强处理,来提高训练后模型的泛化能力。

1 单阶段卷积神经网络房屋检测网络

1.1 TensorFlow框架

TensorFlow是谷歌公司于2015年9月开源的一款机器学习计算框架。TensorFlow框架使用数据流图(Graph)来表示完整的运算过程。流图中的张量(Tensor)表示参与运算的多维数组,节点(Node)表示图中具体使用的数学过程。由于具有出色的灵活性以及高度的可移植性,TensorFlow被很多科研机构和生产厂商使用来构建深度学习网络模型[10]。本文使用TensorFlow2.0版本的框架来搭建卷积神经网络模型。

1.2 网络构建

单阶段卷积神经网络由特征提取骨干、多尺度特征强化网络以及检测头三部分组成[11-12]。其中特征提取骨干使用不同层次和深度的卷积核,从原始图像中提取出内不同层次目标的特征纹理信息。特征强化网络是连接在特征提取骨干之后的结构,通过上采样以及特征图拼接等措施来增强图中的问题信息丰富程度,便于提高后续的检测精度。检测头是整个网络的末端结构,其输出结果即是图中目标的位置坐标以及类别信息。

本文使用3×3与1×1的小卷积核来构建特征提取骨干。特征提取骨干分为特征提取和尺寸下采样两部分,其中特征提取由3×3和1×1的卷积核组成,这两种不同卷积核在卷积过程中的操作步长均为1 px,3×3的卷积核负责对图像进行特征提取,而1×1的卷积核来实现对图像通道的扩张。网络采用了全卷积神经网络结构,下采样部分均由3×3的卷积核来组成,其操作步长为2 px。特征提取骨干采用随机纠正线性单元带泄露随机线性整流(Randomized Leaky ReLU,RReLU)作为激活函数来提高网络对于非线性特征的拟合能力,具体函数如式(1)所示。

(1)

式中,UR代表RReLU;i代表第i层特征提取层;ai是属于(0,1)范围内的随机值,在每次的训练过程中随机选取。特征强化网络的层数越深对最终的检测精度提高效果就越明显,然而过深的层数也会带来大量的参数与计算量,导致网络运行效率降低。综合考虑网络的计算量和复杂程度,选择在特征提取骨干后构建一个四层的特征强化网络来实现特征图的纹理信息强化。在其基础上,将骨干网络与特征强化网络中输出的相同尺寸的特征图采用padding=same的方式进行横向拼接,来获取纹理信息更为丰富的特征图用来实施最终的检测,并采用非极大值抑制(Non Maximum Suppression,NMS)来获取最优的检测结果。

1.3 锚点框生成

单阶段的目标检测网络使用一组基于训练数据得出的固定宽高的锚点框(Anchor box)对目标进行位置检测和分类。锚点框的获取主要依靠人工经验设计、聚类等几种方式。本文采用K-means++算法从训练集中聚类获得锚点框。K-means++聚类算法首先在所有数据点中选取一个聚类中心,然后根据剩余数据点到该中心的距离D(x)来计算出该样本被选作下个聚类中心的概率P,最后按照轮盘法,依次选出所有的聚类中心,并根据D(x)反复迭代计算每个聚类簇的中心,直到结果收敛,具体的公式如式(2)~(3)所示:

D(x)=1-UIO

(2)

(3)

式中,D(x)代表距离;UIO代表预测框与实际框之间的交并比。由于图像中的不同建筑尺度跨度较大,为了在保证检测效率的同时尽可能对不同尺度的目标实施检测,选择生成12个候选框来实施后续的网络训练和结果检测,最终得到的Anchor Box如下所示(26,27),(29,75),(38,40),(48,48),(54,143),(54,54),(59,62),(69,70),(78,80),(97,96),(112,114),(146,172)。将所有的Anchor Box按照尺寸大小分为四组并分配给四个不同层的预测框,以便对不同尺寸的目标进行检测输出。

2 实验与结果分析

2.1 数据预处理

本文基于德国开源数据集德国宇航中心(Deutsches Zentrum für Luft-und Raumfahrt, DLR) 3K Vehicle对网络模型进行训练和测试。为了提高训练后模型的泛化能力,对原始数据集进行一系列增强处理。原始数据集中的图像尺寸为5 166×3 744,为了便于网络训练,使用大小为608×608的网格对图像进行裁剪,并剔除所有裁剪后宽高不均匀以及不包含建筑目标的网格区域。对裁剪后的数据采用锐化、亮度变换、放射变换与透视变换等方式来处理,以获取不同场景及不同拍摄角度下的目标。经过处理后的图像总共400张,其中300张用来对网络进行训练,100张用来构建测试数据集。使用labelmg工具制作视觉对象类(Visual Object Classes,VOC)格式的训练数据标签,部分训练数据样本如图1所示。

图1 部分训练数据示意图

2.2 网络训练

本文的训练和测试基于配置为GPU NVIDA RTX 1080TI,内存16G,UBUNTU16.04,CUDA10.0的硬件平台上来完成。为了使模型在训练的过程中快速收敛,使用了动态学习率机制,在设置最大迭代次数的前提下,让模型的学习率随着模型的迭代次数的阶段性增加而逐步变化。在本次实验中,模型的总训练次数为30 000次,初始学习率设置为0.005,每当模型分别迭代到10 000次和20 000次时,使学习率衰减0.1倍,训练的batch设置为32,动量参数设置为0.8。损失函数由边界定位损失函数Smooth L1和多类别损失函数SoftMax组成,具体如公式(4)所示:

(4)

式中,N为Anchor Box的个数;∂为权重参数,一般设置为1;g代表实际边界框与结果的中心点坐标差;c为目标类别个数。

随着训练迭代次数的不断增加,模型的损失在不断地收敛,模型在训练过程中的损失收敛情况如图2所示。

图2 模型损失收敛情况图

由图2可以看出,网络在训练的前2 000次时存在较大的损失误差,但随着模型的训练迭代次数的不断增加,损失曲线逐步降低,最终达到稳定收敛。

2.3 网络测试与精度评价

使用测试数据集在同一硬件平台上对训练后的网络进行测试,部分结果如图3所示。为客观评估网络的性能,使用训练后的单激发多盒探测器(Single Shot Multi-Box Detector, SSD)和YOLOv3网络在统一数据集和硬件环境下进行测试,并采用精度均值(Average Precision, AP)和每秒传输帧数(Frames Per Second, FPS)对网络的检测精度和检测速度进行评价。

图3和表1分别为使用本文在测试数据中的检测结果以及不同网络之间的检测精度及速度对比。测试图像中存在着分布不均匀、形状不统一的房屋,而本文构建的目标检测网络对以上房屋均能够实现很好地检出。根据表1中的评价结果可以看出,本文所构建的网络在检测精度方面可以达到91.3%,相比SSD网络的79.8%和YOLOv3的83.0%都有了明显的提高。但是在检测速度方面,在测试硬件环境下本文所有构建的网络可以达到21FPS的检测速度,略低于SSD和YOLOv3的检测速度,但相比其余网络模型本文所构建的单阶段目标检测模型在精度、速度两方面的达到了较好的均衡。

图3 部分测试结果示意图

表1 检测精度与速度评价表

3 结束语

针对使用无人机影像实施房屋检测中存在的错检漏检率高的问题,构建了一个适用的单阶段卷积神经网络,使用K-means++算法对聚类分析训练数据得到合适的Anchor Box,并对训练图像数据进行增强处理。将本文构建网络与SSD及YOLOv3网络的检测结果对比,得出以下结论:

(1)本文构建的网络能够快速检测地面中不同大小的房屋目标,其检测精度也可以达到91.3%的水平,相比的SSD和YOLOv3在检测精度方面有了明显的提高。

(2)同时在测试硬件环境下网络的检测速度也可以达到每秒传输帧数21 m·s-1,实现了在一定硬件条件下的快速检测。

猜你喜欢

特征提取卷积神经网络
基于3D-Winograd的快速卷积算法设计及FPGA实现
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于Daubechies(dbN)的飞行器音频特征提取
基于傅里叶域卷积表示的目标跟踪算法
Bagging RCSP脑电特征提取算法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
基于MED和循环域解调的多故障特征提取