基于深度学习的小目标受灾树木检测方法*
2021-04-10刘文萍骆有庆宗世祥
周 焱 刘文萍 骆有庆 宗世祥
1. 北京林业大学信息学院 北京 100083; 2. 北京林业大学林学院 北京 100083)
森林作为陆地生态系统的主体,其覆盖面积、植被种类和数量以及健康程度的变化对环境和生态具有巨大影响。我国林业有害生物种类有8 000多种,经常造成危害的有200多种,林业有害生物不仅影响着森林的生态恢复和环境建设,还对森林的可持续性发展带来严重威胁,是危害森林健康的重要因素。实现对林业有害生物灾害区域的快速、准确检测及监测,在林业有害生物防治和灾害损失评估中具有重要意义。
无人机具有时效性强、机动性好、方便灵活、巡查范围广等优点,能快速获取小范围林区的高分辨率图像(Gambellaetal., 2016),将无人机应用于森林病虫害监测,是有效提高林业有害生物防治工作效率的途径之一。随着计算机技术不断发展,无人机森林图像结合图像分析、机器学习、模式识别等算法实现植被分类和树木检测,被广泛应用于森林防护、林业资产评估、精细分类树种识别等领域。但相比地面拍摄图像,无人机图像因受灾树木尺度小、树木分布密集而难以识别,且无人机图像一般分辨率较高,批处理需要大量时间。因此如何精确、快速地识别定位无人机图像中小目标受灾树木是亟待解决的问题。
目前,应用于无人机森林图像树木检测的计算机方法主要建立在图像分析算法及人工设计特征和分类器的基础上(Koc-Sanetal., 2018; Maleketal., 2014; Zhongetal., 2017; 费运巧等, 2017a; 林志玮等, 2018),现有计算机识别病虫害算法存在以下问题:1)无人机采集图像后,需在第二现场使用工作站进行算法设计和分析,导致监测流程和检测周期较长,无人机机组针对性较差,监测成本较高;2)已有识别算法大多采用CPU计算,运算能力较低,无法直接用于大量的完整无人机图像;3)图像分析算法通常对图像光影条件要求较高,识别精确度依赖图像预处理; 4)对于较高空无人机图像中分布密集、不规律的小目标树木,当多株受灾树木集聚时无法准确定位每株受灾树木;5)部分方法还需结合人眼观察和数据统计等后续工作,不能实现自动化检测。
近年来,随着深度学习的迅猛发展,基于深度学习的目标检测方法已成为计算机视觉领域的主流,该方法无需人工设计特征和分类器,可不依赖预处理,自动完成精确目标检测,其中,轻量级目标检测框架SSD(single shot multibox detector)因检测精确度高、速度快等优点得到广泛应用。SSD300使用NVIDIA TITAN X显卡,检测速度为59 fps(每秒传输帧数),远快于重量级目标检测框架Faster R-CNN(7 fps),且SSD300检测框架在PASCAL VOC2007数据集测试的平均准确度达74.3%,比Faster R-CNN高1.1%(Everinghametal., 2015)。然而,作为一种多尺度目标检测网络框架,SSD放弃了含有丰富位置信息的底层特征,对小目标的鲁棒性较低;且由于小目标所在区域较小,可提取的相关特征较少,不利于对小目标的检测。针对这一问题,Li等 (2017)、Liu等 (2018)采用ResNet101(Heetal., 2016)作为基础特征提取器,分别提出特征融合模块、RFB (receptive field block)结构方法,以增强网络对小目标的检测能力。尽管改变网络基础特征提取器可提升检测精度,但在一定程度上增加了模型参数量,降低了检测速度,且以上改进方法只针对PASCAL VOC和MSCOCO(Linetal., 2014)等通用数据集,偏向检测大中尺寸目标,无法准确检测无人机图像中的小目标树木。
基于深度学习的图像识别、目标检测等方法在遥感图像植被识别领域取得了一定进展:Li等(2016)设计了一种针对油棕(Elaeisguineensis)遥感图像的深度学习目标检测框架; Guirado等(2017)基于卷积神经网络识别Google Earth图像中植被覆盖区域; Baeta等(2017)采用多尺度特征卷积神经网络定位遥感图像中的咖啡(Coffeaarabica)作物。但是,上述方法主要针对高空遥感图像中大范围区域检测以及规则排列的农作物和人工林识别,且为提高检测精度,在训练模型前还采用多种方法对数据进行预处理,而这不足以支持彩色高分辨率无人机森林图像中分布不规律、生长密集的每株小目标受灾树木检测。鉴于此,本研究以受红脂大小蠹(Dendroctonusvalens)侵害的油松(Pinustabulaeformis)林为研究对象,利用无人机采集可见光图像,针对无人机森林图像中树木尺度小、生长密集以及分布不规律等问题,提出一种基于深度学习的小目标受灾树木检测方法(small infected trees detector,SITD),以准确识别和定位高分辨率无人机森林图像中的小尺度受灾树木。
1 试验数据
1.1 数据采集
以辽宁省凌源县受红脂大小蠹侵害的油松林无人机图像为数据源,采集时间为2017年8月。采用DJI Inspire2四旋翼航拍机(表1),搭载DJI X5S云台相机,航拍镜头为奥林巴斯50 mm F1.8定焦镜头。无人机飞行高度为180 ~240 m,扫描拍摄1—6号样地。
表1 DJI Inspire2无人机和 X5S云台相机主要参数
图1 数据集中图像及标注文件格式
1.2 无人机森林虫害数据集建立
无人机森林虫害数据集以3—6号样地无人机图像为训练集,1、2号样地无人机图像为测试集,图1a、b分别为1号样地185 m飞行高度和5号样地240 m飞行高度拍摄的无人机图像示例,待检测目标尺度较小。油松受灾后,老叶先失绿变黄,当年夏天呈红褐色,次年变暗,最后凋落(吴建功等, 2002)。针对受灾油松针叶变色特点,本研究以受灾变色油松为检测目标。为保证图像中各目标完整,利用LabelImg开源软件对无人机图像中受灾树木进行标注,标注内容为受灾树木矩形包围框坐标,存储为文本文件用于检测模型训练和测试,标注文件格式如图1c所示。由于本研究采集的原始图像分辨率为5 280×3 956像素,无法直接用于训练目标检测框架,为减小运算量、加快训练速度,在构建数据集阶段,将图像长、宽各缩小一半,并裁剪图像为1 024×1 024像素,裁剪步长为512像素。在裁剪过程中,如果待检测树木被裁为多个部分,则计算每部分与原始面积的比值:
(1)
式中,Ao为该树包围框的面积;ai为裁剪后各部分包围框的面积,i取值为 (1,2)。如果Ui<0.7,则该部分标记为困难样本。数据集中原始图像共95张,受灾树木总数11 678株,裁剪后图像共1 261张,其中训练集图像947张、验证集图像314张。
本研究采用待检测目标包围框的高度评估图像中目标大小(Yangetal., 2016),并将目标尺度划分为50像素以下、50~300像素和300像素以上3类,50像素以下为小目标。无人机森林图像数据集和常见通用数据集中目标大小占比如表2所示,无人机森林图像数据集的目标集中在0~50像素,相比通用数据集PASCAL VOC和MSCOCO其小目标更多,可见通用目标检测模型并不适用于本研究数据集中小尺度受灾树木检测。
表2 不同数据集中目标大小占比
图2 SITD模型训练过程及基于SITD的森林虫害监测流程
2 研究方法
针对无人机森林图像中树林尺度小、生长密集以及分布不规律等问题,本研究提出一种基于深度学习的小目标树木检测方法(SITD)。SITD主要针对180~240 m拍摄高度的无人机图像中尺度较小的受灾树木,框架设计基于SSD。为提升模型对小目标受灾树木的识别和定位能力,框架结合默认框优化、特征金字塔和空洞卷积网络等技术,训练过程采用双层损失函数以增强模型学习能力。检测模型训练和监测系统实现流程如图2所示,分为训练阶段和林区现场测试阶段。
在训练阶段,对训练图像中检测目标的分类和位置进行标注后,将图像和标注数据输入到SITD模型,通过网络正向传播,预测目标是否为受灾树木和该目标包围框坐标,再由损失函数计算人工标注与预测类别和定位之间的误差,通过网络反向传播进行参数更新,多次迭代该过程,直到损失函数值稳定,即完成受灾树木检测模型的训练。在测试集上进行测试,将选出的最优模型部署至移动图形工作站。
在林区现场测试阶段,现场系统包括无人机、连接安卓移动设备的无人机遥控器、部署检测模型的移动图形工作站和远端监测服务器。首先,无人机在180~240 m高度巡航拍摄图像,并通过局域网将图像传输至遥控器上的安卓移动设备; 然后,传输至本地移动图形工作站;调用工作站的受灾树木检测模型,检测图像中的小目标受灾树木,并统计受灾数量;最后将受灾数量、无人机拍摄GPS坐标和拍摄时间等信息上传至云服务器数据库,位于森防站和实验室的远端监测服务器可读取数据库信息,并在地图上可视化受灾区域,展示受灾信息,完成无人机森林虫害远程监测过程。该系统可提升外业机组针对性,紧密结合外业机组和森防站工作, 提高林业有害生物监测效率。
2.1 SITD框架结构
SSD300框架结构如图3a所示,输入图像分辨率为300×300像素,在基础特征提取器VGG16(Renetal., 2015)后添加分辨率更小、语义特征更强的卷积层conv6_2、conv7_2、conv8_2,conv9_2,与VGG16的高层特征图conv4_3、conv_fc7组成多尺度金字塔形预测模块b1—b6,并以特征图的每个单元为中心,生成不同尺寸默认框,用于检测不同大小的目标。
SITD基于SSD框架,结构如图3b所示。为提升框架对小尺度目标的检测能力,保留VGG16的conv1_1—conv5_3,将fc6和fc7层转化为卷积层,并将输入图像分辨率扩大至640×640像素。同时,为了尽可能利用网络空间信息,保证生成默认框覆盖更多的小目标树木,SITD从conv3_3开始构建预测模块。受拍摄高度、镜头焦距和树木冠幅约束,本研究数据集的树木目标尺寸范围相对固定。如图4a所示,特征图b5、bM6默认框尺寸远大于图3b和图4c中无人机图像的树木目标,因此SITD不再添加卷积层,选择b1—b4(conv3_3、conv4_3、conv5_3,conv_fc7)构建基础预测模块,对输入图像进行第一次基础预测,各层分辨率分别为160×160和80×80和40×40和20×20像素。
此外,本研究设计特征增强模块,强化网络对小目标树木的识别能力。将基础特征图b1—b4转化为增强特征图e1—e4,构建增强预测模块,进行第二次增强预测。增强特征图分辨率与对应基础特征图相同,但包含更丰富的语义信息。训练过程结合2次预测,每次预测生成1组默认框,测试过程只利用增强预测,以避免产生额外计算量。
图3 SSD300和SITD框架结构对比
默认框生成设置如表3所示,其中默认框生成步长决定相邻默认框在输入图像上的间隔。为保证网络对小尺寸树木的敏感性,根据相等比例间隔原则(Zhangetal., 2017),设置默认框像素大小为步长的4倍,以保证不同尺寸树木可匹配到的默认框数近似相等。如图4d所示,白色虚线框为人工标注框,黄色和蓝色实线框为2个不同分辨率特征图生成的默认框,分别与不同尺寸树木相匹配。当默认框为n×n像素时,步长为n/4; 当默认框为n/2×n/2时,步长为n/8,此时2株树木均匹配到3个默认框。增强特征图e1—e4默认框大小为16~128像素,相比同等级的增强特征图,基础特征图用于分类的语义信息较少,但含有更多的空间信息,对小目标位置更敏感,因此b1—b4默认框设为e1—e4的0.5倍,范围为8~64像素。由于无人机图像中树冠包围框的长宽比近似为1,故设置特征图每个单元格只对应1个正方形默认框,即长宽比为1。2组默认框总数为68 000个,可有效覆盖图中待检测小尺度目标。
图4 不同基础特征图生成默认框示意及默认框在输入图像中分布对比
表3 基础和增强预测模块特征图及默认框属性
2.2 特征增强模块
为丰富原始特征图的语义信息,保证网络对小目标树木精确定位的同时提高网络识别能力,本研究设计一种结合特征金字塔网络与空洞卷积的特征增强模块。
特征金字塔网络利用标准卷积和侧面连接组成自顶向下结构,通过融合低层特征和上采样后的高层特征,使低层特征含有语义更强的高级特征。顶层b4特征层中目标树木较小,作为特征金字塔会产生较多噪声,且模糊的小尺寸树木与清晰的大尺寸树木纹理特征差别较大,使用顶层特征增强小目标检测并不合理。因此,特征增强模块利用低层特征金字塔网络 (low-level feature pyramid network,LFPN)(Tangetal., 2018)结构方式,对特征图b1—b3构建特征金字塔。
相比普通卷积,空洞卷积(Chenetal., 2018)可在保证网络参数量相等的前提下得到分辨率更高、语义信息更丰富的特征图。故本研究在b1—b3特征金字塔网络后构建多分支空洞卷积网络,以增大网络宽度、提高检测准确度。
图5 特征增强模块结构
b1—b3的特征增强模块结构如图5所示。首先对基础特征图bi+1进行1×1卷积,输出通道数为Ci;然后对该特征图进行上采样,扩大分辨率至B×B,并与1×1卷积平滑后的bi逐像素点相加得到融合特征图;接着将融合特征图送入多分支空洞卷积网络,空洞卷积次数分别为0、1、2,卷积核k为3,步长s为1,膨胀系数d为2,输入通道数为Ci,输出分别为256、128、128; 最后拼接各分支输出,生成通道数为512的增强特征图ei。b4的特征增强模块只采用多分支空洞卷积网络。
2.3 双层损失函数
SITD模型训练采用双层损失函数(L),即基础预测损失函数 (Lb)与增强预测损失函数 (Le)的加和:
L=Lb+Le。
(2)
Lb和Le为基于默认框的多任务损失函数(Liuetal., 2016),由分类损失 (Lc)和位置损失 (Ll)组成:
(3)
(4)
Lloc为预测框与标注框之间的smoothL1损失(Ross, 2015),定义为:
(5)
式中:(x,y)、w和h分别为包围框的中心坐标、宽和高。
分类损失Lconf为背景与受灾树木间的softmax损失,定义为:
(6)
背景分类记为0,受灾树木分类记为1。
3 结果与分析
3.1 试验环境与评价指标
本研究训练模型的深度学习服务器安装Ubuntu 16.04 64位系统,使用PyTorch深度学习开源框架,服务器搭载Intel CPU (64 GB 内存)NVIDIA GTX 1080TI GPU (11GB 显存)。训练阶段设置初始学习率为0.001,批量大小为8,选择动量为0.9的随机梯度下降算法进行优化。模型共训练150轮,学习率在120轮下降为原来的0.1倍。数据扩充方法与SSD目标检测框架相同。
测试阶段采用PASCAL VOC标准的平均查准率 (average precision,AP)评价受灾树木检测精确度。AP是深度学习目标检测通用评价指标,可评价分类和定位准确率,分类即判断预测是否为受灾树木,定位即判断模型预测框与人工标注框之间的IoU是否符合要求。AP为召回率(Recall)和精确率 (Precision)曲线下的面积(Everinghametal., 2015),精确率和召回率定义为:
(7)
(8)
式中:Tp为检测结果中的真正类 (true positive)个数,即预测框与标注框类别相同且IoU > 0.5;Nd为非极大值抑制后检测框个数;Ng为标注框个数。
3.2 试验分析
不同检测模型在无人机森林图像数据集上的检测精确度如表4所示。模型0、1的预测模块均使用基础特征图,模型1只保留b1—b4,以减少运算量和参数量,测试AP为90.42%,相比模型0几乎没有降低。模型2加入特征增强模块,预测模块采用增强特征图e1—e4,比模型1测试AP提高0.5%。模型3采用双预测模块,AP提高至92.62%。模型4以ResNet101为基础特征提取器,相比模型3测试AP降低0.33%,原因可能如下: 1) ResNet101第一个卷积层下采样操作导致网络丢失部分空间信息,降低了网络对小目标的检测能力。2) ResNet101使用批归一化 (batch normalization,BN)(Ioffeetal., 2015),而BN的性能依赖于批量大小 (通常为32),批量减小将增大BN预测误差(Wuetal., 2018),ResNet101训练需大显存。本试验受服务器显存限制,在模型4训练过程中批量最大为4,从而导致测试AP较低。
表4 不同SITD检测模型的测试AP
SITD和已有目标检测框架在无人机森林图像数据集上的Precision-Recall曲线如图6所示。各检测框架基础特征提取器均为VGG16,训练批量为8,后缀300和512表示输入图像大小分别为300×300像素和512×512像素。在SSD300、SSD512、FSSD512和RFBNet512检测框架中,RFBNet512框架表现最好,在数据集上的测试AP为71.81%,SITD框架的测试AP比RFBNet提高21.51%,比SSD300提高69.71%。由此可见,相较于面向通用数据集的目标检测框架,更适用于无人机图像中的小目标树木检测。
3.3 检测结果与错误分析
完整无人机森林图像中树木密度较大,且生长在坡地的树木图像边缘存在畸变。图7a、b所示为受灾树木分布密集区域检测结果,SITD框架可准确识别和定位其中单株受灾树木。此外SITD框架对区域1中位于图像边缘的侧视受灾树木也有较高检测能力,可准确辨别较大树木的树枝和较小树木(图7c)。综上,SITD框架能够实现无人机森林图像中受灾树木的数量统计和定位。影响检测精度的主要原因如下: 1) 特殊姿态的树木由于训练样本较少,不易检测而导致漏检,如图7b所示,区域2中被漏检的左右2株分别为已落叶枯死木倒伏木;2) 位于图像边缘的不完整树木不易检测而导致漏检,如图7d所示。
4 讨论
针对现有无人机森林图像识别方法效率低、无法直接处理高分辨率图像以及难以检测生长密集、尺度较小的树木等问题,本研究提出一种基于深度学习的小目标受灾树木检测方法(SITD)。SITD框架在SSD目标检测框架基础上增大输入图像和分辨率,从conv3_3开始构建预测模块,精简基础特征图为b1—b4,并优化特征图的默认框生成方式; 此外,通过特征增强模块将基础特征图转化为增强特征图,在模型训练中结合基础特征图进行2次预测,生成2组默认框; 模型训练采用双层损失函数,以提升网络的特征学习能力。
相比已有利用图像颜色特征(吕晓君等, 2016)检测受灾树木的方法,SITD无需人工目视判断树木受灾情况,且可准确区分颜色相近的道路、裸地和屋顶等干扰因素。同时,利用图像分析技术(费运巧等, 2017b)进行受灾树木检测,需针对不同试验数据设计算法,耗时较久,且该技术对无人机图像中小尺度目标识别和定位效果较差,通常只能分割受灾区域,难以定位受灾单株。而SITD可面向不同数据,无需进行大量图像预处理,结合移动图形工作站可实现林区现场受灾树木实时检测,极大缩短了森林虫害监测流程;此外,与目前通用的深度学习目标检测框架相比,SITD检测准确度提升较大,可更为精确地识别和定位小尺度受灾单株。
SITD只能识别是否受灾,无法对受灾等级进行分类;且除虫害外,干旱、病害等其他因素也可造成松树颜色变化。因此,下一步究将围绕树木受灾阶段及不同灾害原因分类识别展开。
5 结论
本研究基于深度学习目标检测方法,提出一种面向高分辨率无人机森林图像的小目标受灾树木检测框架(SITD),该框架平均查准率达92.62%,相比原始SSD300框架提升69.71%,可快速、准确地对小目标受灾树木进行检测,与已有无人机森林图像检测方法相比具有明显优势,结合无人机机组林区现场巡航、云服务器数据库存储和地图可视化等技术,能够简化林业有害生物监测流程,提升对森林虫害的预警能力。