基于人工智能的地形目标判读*

2020-12-23 01:23汪莉莉
舰船电子工程 2020年11期
关键词:损失深度分类

汪莉莉 吴 帅

(1.海军工程大学 武汉 430033)(2.96823部队 昆明 650219)

1 引言

近年来,随着大规模数据集和高性能计算硬件的发展,以深度学习为代表的人工智能在图像的检测[1~2]、分类[3~4]和分割[5]等领域取得了飞跃性的进步。但是从相关研究文献看,人工智能技术在医疗诊断、指纹识别、面部识别、交通气象以及卫星云图识别等方面[6~9]有着较好的应用,但在地形目标判读领域的研究和应用还不常见。在实际地形目标判读和分析中,定性描述多、定量描述少,分析不够快速、不够精确的现象还一定程度的存在。

针对以上问题,本文提出了一种基于Mask R-CNN模型[10]的地形目标判读方法,可以在复杂背景下有效检测与分割场坪、居民地、工厂、水源、交通设施等不同地形,便于给出定量分析结论,以辅助人员分析地形环境。

2 深度学习基本原理

深度学习的概念源于人工神经网络的研究,是指通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示的方法[11]。深度学习是当前人工智能技术中最具潜力的一种方法,是于2006年由加拿大高等研究院的Hinton教授等提出,在最近10多年得到了巨大发展,并使人工智能产生了革命性的突破。

深度人工神经网络是多层的人工神经网络,是当前基于深度学习方法的模型中最为典型的代表,模型和数据是影响人工神经网络特征表达的两个主要方面。传统的人工神经网络只包含2层或3层,而深度人工神经网络受到了生物神经系统的启发,可能有几百上千层或更多,它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。深度人工神经网络并行使用神经元模型操作,它由一个输入层、多个隐藏层和一个输出层组成,各层通过神经元相互连接,每个隐藏层使用前一层的输出作为其输入。该类型的模型直接从图像、文本或声音中学习并执行分类任务。基本结构如图1所示。

图1 深度人工神经网络模型示意图

基于深度学习的新一代人工智能的基本过程是用深度人工神经网络模拟人类大脑,从大量数据中学习技能,从而具备一定的人类技能,显现出类似人类智能的过程。深度人工神经网络的训练过程如图2所示。

图2 基于深度学习的人工智能训练过程

深度学习分为监督学习、非监督学习、半监督学习和增强学习等,不同的学习框架下建立的学习模型不同。例如,掩码区域卷积神经网络(Mask R-CNN)就是一种监督学习下的深度学习模型,而深度置信网(DBN)就是一种无监督学习下的深度学习模型。

3 模型与算法

Mask R-CNN模型包括分类、定位与分割3个网络。它将目标检测识别和实例分割功能融为一体,继承于Faster R-CNN[12],是在Faster R-CNN的基础上扩展了一个分割掩码网络,并且改良了感兴趣区域池化算法,提出了感兴趣区域排列算法。掩码网络是应用到每个感兴趣区域上的一个小的全卷积网络,以像素到像素的方式预测分割掩码,这个网络与分类和定位网络并行,性能上可以满足实时检测分割的要求。其结构如图3所示。

图3 Mask R-CNN结构框图

3.1 分类网络

分类网络是在ResNet101[13]经典模型的基础上进行的结构修改和参数调优,如图4所示。

图4 分类网络框图

分类网络的输入是分块好的遥感图像,经过特征金字塔网络的特征提取得到整个输入图像的特征向量,然后经过全连接网络得到分类值,输出是根据分类值得到地形目标的分类判读结果。此模型的强大之处在于它的多层结构能自动学习特征,并且可以学习到多个层次的特征,较浅的卷积层感知域较小,能够学习到局部区域的特征,较深的卷积层具有较大的感知域,能够学习到更加抽象的特征。这些抽象特征对物体的大小、位置和方向等敏感性更低,从而有助于判读性能的提高。

3.2 定位网络

定位网络结构是在分类网络的基础上增加区域建议网络(Region Proposal Network,RPN)结构而形成的,如图5所示。

图5 定位网络框图

输入的分块图像经过特征金字塔卷积网络后,提取出特征图,特征图数据经过RPN网络给出目标的边框,并进行第一次边框回归损失函数计算,目标推荐区域经过RoIAlign算法送入分类全连接网络(可根据地形目标种类调整分类数),并再次进行边框回归损失函数计算,框选出某种地形目标区域,分别确定地形目标的类别和在输入图像中的相对位置。

3.3 分割网络

分割网络是在定位网络的基础上,再增加一个全卷积掩码分割支路,可以对分类和定位后的地形目标进行像素级分割,如图6所示。

图6 分割网络框图

分割过程可以分解为两个阶段。第一阶段,对输入图像进行卷积和池化,得到具有类别信息的特征图,这一部分在分类和定位网络中已经完成,而且是共享一体的网络结构。第二阶段,利用具有语义信息的特征图,进行反卷积和上采样,得到分割的标签图,实现地形目标分割的目的。

3.4 模型训练算法

分割网络与分类、定位网络并行训练,网络参数同步调整,损失函数见式(1)。

总体损失函数可以分为区域推荐网络损失函数LRPN(p,t)和感兴趣区域网络损失函数LRoI(x,c,l,m,g)两部分。其中区域推荐网络损失函数包括RPN分类损失函数Lcls(pi,pa i)和RPN定位损失函数Lreg(ti,tia);感兴趣区域网络损失函数包括RoI分类损失函数Lcls(x,c)、RoI定位损失函数Lloc(x,l,g)和 RoI分割损失函数Lmask(x,m,g)三部分。分类损失函数采用Softmax函数,定位损失函数采用L1平滑损失函数,分割损失函数采用平均二元交叉熵损失函数。

4 实验分析

以地形目标判读中的场坪和居民地判读为例,开展智能判读实验,验证模型与算法的有效性。实验采用英特尔CPU、英伟达图形处理器、Ubuntu操作系统、Tensorflow计算环境和Python 3.6编程语言。

4.1 数据集准备

该算法在自制数据集上进行测试,数据集分为训练集、验证集和测试集。在民用遥感图像中收集1m分辨率的某大学场坪遥感图像,并收集0.5m分辨率的居民地遥感图像,采用数据扩增技术制作成300幅遥感图像数据集,从数据集中随机选取其中200幅图像为训练集,40幅图像为验证集,另外60幅图像作为测试集。并采用多边形标注方式对训练集和验证集图像进行标注。

4.2 模型训练

按照总体模型损失函数公式进行迭代训练,一次迭代处理一个图像,λ设置为10,Ncls设置为256,Nreg设置为2400。这样设置,RPN的两部分损失值能保持平衡。在图像中,选择匹配度大于0.7的先验框或匹配度最大的先验框与正确标注的边框作为正样本。负样本从匹配度低于0.3的样本中随机选择。采用随机梯度下降法对训练进行优化。初始学习率为0.001,迭代次数为30000次,训练结果如表1所示。

表1 损失函数训练结果

4.3 性能评价指标

使用平均精确率(AP)值来评估模型与算法的性能。AP是精确率-召回率曲线下的面积。精确率是正确检测与检测到的地形目标总数的比率。召回率是正确检测与正确标注地形目标总数的比率。当改变分数阈值,将得到不同的精确率和召回率。精确率-召回率曲线显示了召回率变化之后的精确率变化,从而可以反映算法的整体性能。

4.4 实验结果

为测试不同数量训练数据集对模型性能的影响。分别从200幅训练集中随机选出50、100两种数量的训练数据集进行再训练,对训练后的网络与原网络进行性能比较实验,分析其性能评价指标,结果如表2所示。

其中训练数据集数量为200的网络模型性能最佳,其判读结果如图7、8所示。

图7 某大学场坪智能判读结果

图8 某居民地智能判读结果

实验表明,当训练较少的数据时,模型性能不理想。训练样本越多,目标地形目标的尺寸越大,算法的鲁棒性越强,性能越好。

5 结语

本文提出了一种基于Mask R-CNN深度学习模型的地形目标智能判读方法,该方法采用迁移学习和多任务学习技术,分三路对遥感图像中的地形目标进行分类、定位和分割。在训练阶段,利用正确的标注框匹配最好的先验框,得到正样本信息,用于学习地形目标特征。在测试阶段,将测试图像输入网络,进行前向计算,得到目标地形的分类、定位和分割值。然后,根据设定的阈值,判断是否为目标地形,得到最终的分类、定位和分割结果。实验结果表明,该方法能较好地判读出目标地形,得到准确的地形目标位置,并根据分割结果计算该地形目标的量化指标。从原理上看,该方法不仅适用于公共场坪、居民地、工厂、水源、交通设施等多种地形目标,适用于可见光、红外、多光谱、激光雷达、SAR等多种图像,而且也适用于机场、港口、要塞等多种重要目标判读,对于减轻人员工作量,推动地形和重点目标判读的自动化、智能化发展具有重要意义。

猜你喜欢
损失深度分类
洪涝造成孟加拉损失25.4万吨大米
四增四减 深度推进
深度思考之不等式
两败俱伤
简约教学 深度学习
按需分类
教你一招:数的分类
说说分类那些事
给塑料分分类吧
损失