自然环境下单木检测方法研究
——基于改进Faster-RCNN网络

2021-06-11 01:42张宇棠谢晓春
中国农学通报 2021年13期
关键词:脐橙卷积图像

张宇棠,谢晓春

(赣南师范大学物理与电子信息学院,江西赣州 341000)

0 引言

江西省赣南地区是全国最大的脐橙主产区,种植面积世界第一。在实际的果林监管规划工作中仍停留在传统的人工实地统计,其过程费时、耗力、周期长、成本高,果林智能产业化信息化建设明显滞后,严重阻滞了果林业的快速发展。遥感数据具有范围广、成本低、可满足实时监测果林分布等优点,对果林的单木检测能够高效统计种植面积,定位每一株单木在谷歌地图上的实际地理坐标,帮助政府及农场主更加精细化的管理果林种植,为管理者提供有效的决策依据。在果林目标检测过程中存在的难点主要包括目标之间的遮挡与覆盖问题,不同自然条件下的成像光谱问题等。

Shafri等[1]提出通过光谱分析、纹理分析、边缘增强、图像分割、形态分析等多个环节,对油棕榈树提取计数,这种模板匹配的方法不适用于果园树种中存在多个树冠重叠密集的情况。林怡等[2]通过对林场的LiDAR点云数据进行分析处理,结合K近邻算法、圆回归、聚类等进行单木提取。Puliti等[3]使用机器学习的方法搭载无人机直接检测树桩并通过图像分割检测出树桩是否腐烂;李东洋等[4]通过激光点云数据获取地面树木分布情况,结合形态学冠层控制的分水岭方法进行单木提取,最终结果一般。甄贞等[5]通过标记控制区域生长法对LiDAR数据进行单木树冠提取,LiDAR对树木的垂直结构有很强的获取能力,针对垂直高度差异大、树种间差异明显的森林树种有较好的检测效果,但不同果园的管理需求不同,对树木的裁剪情况不同,导致树高的不确定性,很难通过这种方法获得一个良好的检测效果。Li等[6]基于CNN的特征提取对近万张大样本遥感数据检测,能够获得一个较好的结果。张杰等[7]采用ENVI新发布的数据分析工具包Crop Science对卫星拍摄的林地高分影像进行单木提取;Zheng等[8]改进了Faster-RCNN网络中的RPN网络对油棕树进行了单木检测,F1平均数达到了94.99%;Dong等[9]提出了一种残留通道注意网络优化了对油棕数据的分割结果。上述研究的检测效果仍存在提升空间,对不同数据集的树冠高度、类间差异、疏密程度、覆盖遮挡等都存在一定的局限性,其中部分研究直接针对一片区域进行单木提取,无法区分果树与杂树,这对一些特殊需求的管理统计会造成很大的误差。

本研究以赣南地区信丰县脐橙园、赣县林地为研究区,以研究区内典型的脐橙树、松树为研究对象,首先对原始数据预处理得到瓦片正射影像,对获取到的遥感数据做DSM等影像预处理,通过K-means[10]算法对样本中待测目标聚类分析先验初始化anchor,保证网络能够获取到理想的感受野[11]。再提出一种改进的Faster-RCNN[12]网络结构提取目标特征、迭代训练数据并迁移学习[13]微调分类器,最终通过交叉验证以及实地检测验证模型精度给出目标检测结果图。

1 研究区概况与数据预处理

1.1 研究区概况

研究区位于赣州市南部信丰县(114°87’E,25°46’N),海拔变化范围0~100 m,属于亚热带季风性湿润气候,年均温度18.9℃,最高气温39℃,最低气温1℃,年均湿度80%,年均降水量1680.2 mm。赣南地区果园以脐橙种植最为出名,多为山地种植,特选此作为本次实验对象,以达到大范围监测统计、精准定位的目的。

1.2 数据来源及预处理

分别以2019年8月、2019年11月通过无人机飞马D200机载Sony ILCE6000镜头分别采集研究区域在不同高度、不同天气下的高分影像作为数据源,以此保证数据的广泛性,提升实验结果的泛化能力。实验数据采集设备如图1所示。在航拍脐橙果树前初始化无人机各级参数获取其重叠度,经Pix4Dmapper软件预设测区地理参考匹配值,经过加密点云LAS和三维网格纹理处理,对无人机的多组数据做空中三角测量计算(图2),对空中三角测量的计算结果做建模处理,获取到其清晰的三维模型(图3),继而可获取所需的栅格数字表面模型(DSM)以及正射影像图,并转换输出对应的谷歌地图瓦片作为实验数据。瓦片尺寸为2048像素×2048像素,共拍摄1000张图像,并选取具有训练价值、图像完整、清晰的单木遥感图800张,由于每张图像中的可检测的单木数量在10~200个不等,待训练样本充足。选取600张作为训练集,剩余200张为测试集。

图1 实验数据采集设备

图2 空中三角测量

图3 建模后的三维模型

现有的脐橙果林目标检测数据集并不常见,大多无法满足实际自然条件下的复杂背景以及人为导致的目标分布密度不同的识别要求。在开始实验之前需要对采集的图片进行目标位置标注。

由于数据集中每张图片内的目标数量过多,为减轻人工标记的工作量,通过模板匹配的方法来预标记待训练数据,即以模板图片作为搜索依据,在较大图像中进行滑动查找和位置搜索,将模板图像在待测图像上由左至右、由上至下的滑动检测,每次匹配的目标框大小恒等于模板图像的尺寸,进而进行像素比较运算,在像素比较运算过程中,采用标准(归一化)相关系数匹配方法,如式(1)~(3)。

式中,R(x,y)表示像素对比运算结果的储存矩阵,T(x’,y’)表示模板图像矩阵,I(x,y)表示待匹配的源图像矩阵,

标准相关系数匹配方法主要是将模板矩阵均值的相对值与待匹配源图像矩阵均值的相对值进行匹配,并测量其相关系数,匹配结果取值范围为[-1,1],1表示匹配度最高,0表示毫无相关性,-1表示最差匹配结果。

如图4所示,随机选取一颗树作为模板进行模板匹配计算,在匹配阈值为0.4的情况下经过NMS非极大值抑制算法得到的匹配目标框,经过人工筛选不符合期望的误识别,重新作为新的模板进行迭代匹配第2轮,模板匹配过程共耗时384.8 s,最终经过多轮迭代及人工少量筛选得到带有标签的训练样本数据。

图4 模板匹配标记数据过程图

2 研究方法

在深度学习目标检测领域中,Faster-RCNN在最初RCNN的基础上加入了一个新的网络——RPN,又在原有网络上增加了一个ROI池化层。整个网络模型主要基于卷积神经网络构建,Faster-RCNN通过卷积层得到特征图,滑动窗口对特征图上每一个位置根据不同的纵横比和尺寸映射回原图生成多个锚点(anchor),为降低后续计算量庞大的问题,由RPN网络对这些锚点进行预提取。ROI池化层可接收任意尺度的输入,并固定尺度输出与后续全连接层相连,最终送入分类器和边框回归层,即可得到最终的检测结果。

Faster RCNN中用于提取特征的基础网络是vgg16和ResNet101,这2种基础网络无论在VOC2007还是coco数据集上都取得了较高的检测精度和速度。但在小型密集的目标检测实验中发现,vgg16和ResNet101作为基础网络存在小目标大批量漏检与误检等缺点,考虑到是由于基础网络的特征提取利用相对不足,本研究借鉴了DeneseNet的密集连接思想,提出了Des Faster-RCNN网络结构,并结合K-means聚类分析先验数据分布,提高算法性能、减小运算成本。

2.1 输入数据尺度变换

由于计算设备存在显存上的限制,卷积神经网络的设计对图像的输入尺寸也存在一定要求,故需要对实验数据的瓦片进行尺度变换至适宜的尺寸。考虑到需要保有图像的纹理特征,采用双三次插值法[14]对图像进行尺度变换。Parker等[15]对比分析了几种经典的空间插值方法,对比结果证实该类方法能够有效保有像素间的特征信息,缩放处理速度较快。

双三次内插值法属于立方卷积插值,相较于双线性插值[16]不仅加权计算了直接相邻4个点的像素贡献,还加入了直接相邻点以外的像素值变化率的影响,更多地考虑了图像缩放中每一个像素点周围的特征信息,如图5所示,对需要进行缩放的每一个像素点所在的4×4的矩形网格内进行采样并加权平均,采用BiCublic插值函数计算这16个像素的贡献权重因子。

图5 双三次内插值法示意图

BiCubic插值基函数如图6所示,该函数连续。BiCubic基函数如式(4)。

图6 Bicublic函数在a的不同取值下的函数图像变化情况

式中,a常取-1~-0.5,由函数图像(图6)可知,a取值越小,计算后的图像内不同坐标位置下的贡献权重值的差距越明显,W(x)为贡献权重,根据不同位置求得的不同权重系数带入到双三次内插值的计算公式中[式(5)]。

式中,(xi,yj)为图5中相较于目标像素点P的坐标位置,i、j属于[-1,2]。在水平和竖直方向上进行多项式3次插值,完成图像的尺度变换缩放。

多种图像尺度变换的实验方法对比如图7所示。通过对比4种常见的图像尺度变换方法(双三次插值、最近邻插值、Pillow库中resize方法、双线性插值),将一幅512×512的图像缩放至256×256。从图像效果上看,双三次插值、最近邻插值[17]在细节保留上较为完整,PIL中resize方法和双线性插值对于细节较为模糊。表1为缩放后的文件大小。通过实验对比,最终选用双三次插值做为全局图像尺度缩放变换的唯一方法。

图7 图像在不同尺度变换方法下的效果细节图

表1 不同缩放方法下的图像文件大小

2.2 ResNet和DenseNet

在深度学习中,网络的深度决定了网络的性能。加深网络深度对图像的特征提取能力也会增加,但是也会面临梯度爆炸、网络退化等问题。为解决网络堆叠所带来的一系列问题,何凯明等[18]提出残差网络(ResNet)结构,该网络结构由多个残差单元组成,其中一个残差单元如图8所示,整个结构也称为“bottleneck design”,这种结构可以有效降低参数量,更容易实现梯度的反向传播,该残差单元的定义如式(6)。

图8 一个残差单元的基本模块

式中,xi为第i层的输出,xi+1为第i+1层的输出,ʃ表示对x的一系列组合操作,包括ReLu(Rectified linear unit,ReLu)激活函数,一般为修正线性单元、Pooling池化操作、多个Conv层卷积操作、Batch Normalization批量归一化操作。在训练过程中,网络只需学习输出xi+1与输入xi的差ʃ(xi)即残差即可。当网络学习达到最优状态,该结构会直接通过恒等映射向下方传递输入,即可保证网络始终处于最优状态,不会因为层数的加深导致网络的退化。

ResNet能够有效改善网络加深梯度导致的爆炸弥散等问题。为进一步降低网络训练参数、提高特征及原始样本的利用率,在实际检测任务中,遇到目标在整幅图像中占比较小时,由于多层卷积会导致目标信息丢失,通过密集连接网络(DenseNet)[19]的网络结构改善算法,通过多层特征融合复用的思想,尝试提高网络对于小型密集目标的学习能力。

如图9所示,DenseNet由多个密集连接块(DenseBlock)组成,每个DenseBlock内部包含多个层间变换,如式(7)。

图9 Densnet中一个模块的网络结构图

式中,x0为DenseBlock中的特征图输入,xi为经过层间变换后的第i层输出,Hi为非线性变换函数组(BN、ReLU、Conv(1,1)、BN、ReLU、Conv(3,3))。[x0,x1,x2,…,xi-1]表示依照图9中的方式连接,表示根据深度对特征图的通道(chanel)维度直接连接。

2个相邻的DenseBlock之间通过Transition相连,Transition层包括BN、ReLU、Conv(1,1)、AvgPooling(2,2),其主要目的是降低特征图的大小、压缩模型参数。

3 K-means

为获得符合目标树种z的长宽比形态学特征上的初始目标候选框,可通过机器学习中的聚类算法对样本目标的长宽值进行聚类分析统计,得出最优的目标候选框的长宽比。在机器学习算法中K-means聚类属于无监督算法,根据给定数据集间的特征关系,按照样本间的实际距离将其聚类为K个簇,保证簇内的距离最小、簇间距离最大。通过计算评价聚类结果中各簇内部的紧密程度与簇间的分离程度关系Mean IoU(Mean IoU表示所有簇下的anchor与目标边框的IoU均值)来确定最佳聚类中心个数K的取值。为保证送入后续网络中anchor值初始化的合理性,需对样本数据做标准化处理,将其目标边框作为聚类特征数据输入,目标边框尺寸的大致分布如图10所示,待测目标分布较为集中,但由于实际大小不一,存在尺度差异。经多次迭代计算,计算多组K值下的Mean IoU如表2所示。簇的数量Clusters与其目标边框的IoU结果呈正比。由表2绘制图11,Clusters的数量与Mean IoU的增幅呈反比并伴随着庞大的计算量,给后续网络计算增加负担。

表2 K-means中不同簇心取值下目标边框的IoU均值

图10 经过标准化处理后目标边框的尺寸分布

图11 Mean IOU随K值变化曲线

改进的Faster-RCNN算法结构如图12所示。在深度学习目标检测领域中,Faster-RCNN在最初RCNN的基础上加入了一个新的网络——RPN,又在原有网络上增加了一个ROI池化层。整个网络模型主要基于卷积神经网络构建,Faster-RCNN通过卷积层得到特征图,滑动窗口对特征图上每一个位置根据不同的纵横比和尺寸映射回原图生成多个锚点(anchor),为降低后续计算量庞大的问题,由RPN网络对这些锚点进行预提取。ROI池化层可接收任意尺度的输入,并固定尺度输出与后续全连接层相连。最终送入分类器和边框回归层,即可得到最终的检测结果。笔者提出一种基于K-means聚类分析的算法改进RPN网络中anchor的初始化机制,以及网络最后4层的权重结构来提升模型对自然环境下目标树种的检测能力并加快收敛。

图12 基于K-means聚类分析改进的Faster-RCNN算法结构图

在目标检测任务中主要通过平均精度mean Average Precision(mAP)来衡量一个检测结果的优劣。根据不同的类别绘制出对应每一类的recall和precision曲线,AP即单类别检测曲线下的面积,mAP为多类别AP和的平均值。recall代表召回率,即预测结果中预测为正的正样本数量Tp与原样本空间中所有正样本数量Tp+FN的比值,其表达式如式(8)。precision代表准确率,即预测结果中预测为正的正样本数量Tp与预测结果中预测为正的样本数量Tp+Fp的比值,其表达式如式(9)。在评估过程中,期望P和R的值均能更高,加入F1来综合两者的评估指标,其表达式如式(10)。检测过程中对于一个目标会生成多个预测框,提出IoU作为检测结果中目标框准确度的衡量标准。即预测框与目标标签框选区域的交并比的值称为IoU,通常IoU的值大于阈值被认为是一个正确的预测框,反之为一个错误的预测框。阈值可人为设定,IoU具体表达式如式(11)。

4 实验

4.1 实验环境

实验软件平台采用Linux Ubuntu 16.04 LTS系统、labelImage 1.8.3、OpenCV 4.1.2、tensorflow 1.14.0、CUDA 10.0.130,Cudnn 7.4.2计算机配备了32 GB内存,Intel(R)Xeon(R)CPU E5-2620 v4@2.10 GHz,4张GeForce RTX2080ti显卡。

初始学习率为0.0001,训练15000次后学习率降低为0.001;动量因子为0.9;迭代训练20000次;每批次处理的数据量为128;采用L1平滑损失函数[20]处理数据中的异常值,模型优化器为SGD[21];训练前,通过改变亮度、对比度、饱和度等增强训练样本,提升检测模型在面对不同环境下数据集的鲁棒性,最终通过迁移学习微调提升网络性能。

4.2 实验方法与结果

4.2.1 实验一 经过改进骨干网络后的Faster-RCNN模型与当下较为流行的其他3种模型做了检测性能对比(表3)。Des Faster-RCNN由于在特征图卷积过程中依然保留先前的特征进行学习,所以精度更高,网络模型体积相较于其他模型更小,检测速度相较于原本的Faster-RCNN更快。表明Des Faster-RCNN网络能够在压缩模型体积的基础上,进一步提升检测精度及速度。

表3 不同网络模型下对脐橙单木数据集的检测结果对比

4.2.2 实验二 表4为在Des Faster-RCNN的基础上,加入K-means聚类分析的改进实验,根据训练经验拟定生成的anchors数量为9设计实验,图13为Clusters数量为9时K-means聚类分析输出的样本分布图,height和width表示anchor相较于原图宽高缩放后的尺寸,N表示在不同尺寸anchor下待检测的目标数量。设定相同数量下不同尺寸的anchor,对比最终检测精度,其中(0.03,0.05,0.07)为加入K-means聚类输出的结果,其他anchor尺寸为人工预设的多组对照实验。结果表明,相较于人工预设的anchor值,加入K-means聚类分析后的anchor尺寸可提高Faster-RCNN的检测精度并加速网络收敛。

表4 相同数量不同尺寸的anchor对检测结果的影响

图13 K-means输出的样本分布图

4.2.3 实验三 基于实验二的结论设计实验三。anchor尺寸全部经过K-means聚类分析,即在不同Clusters数量下的聚类结果,取消人工预设anchor尺寸。表5结果表明,Clusters数量为9时,Des Faster-RCNN的检测结果精度最高,并验证了随着Clusters的增加,anchor数量冗余导致计算量倍增,不利于网络收敛,检测精度降低。

表5 anchor尺寸经过K-means聚类输出的结果值

4.3 迁移学习及网络微调

迁移学习即将其他领域中学习到的知识或模型应用到不同但相关的领域中。卷积神经网络中,随着模型的层数复杂度的增加,模型的学习能力会有所提高。表6为在对Des Faster-RCNN训练的过程中,冻结骨干网络的特征提取层,调节后续网络结构。设计实验对比浅调网络模型的最后2层(分类得分层、边框回归层)、深调网络模型的最后4层(分类得分层、边框回归层、全连接一层、全连接二层)。经过迁移学习深调后,网络能够更有效地利用特征信息,对分类器以及回归精度有4个百分点的提升,整个训练过程中的各项损失值也更加收敛。

表6 经过微调前后模型的各项评估值

4.4 测试地块结果图

经过K-means改进的Des Faster-RCNN网络在实地自然复杂环境下的脐橙果树检测效果如图14所示。

图14 Des Faster-RCNN网络检测细节图

选取赣南地区宁都县果园作为无人机航测地块进行实地检测,结果如图15所示。并将其上传至已经构建的江西脐橙产业大数据平台中。

图15 实地航拍原图及其检测结果

在实地检测任务中,由图14a~b可知,阴天和晴天即使对无人机拍摄的成像效果存在较大的明暗差别,但检测效果较为准确,由图14c可知,虽然脐橙在不同生长时期、不同树龄的果树大小不一,在无人机拍摄成像效果上的像素占比不同,但依然可通过本研究提出的改进方法达到较为准确的检测效果,由图

14d可知,脐橙果树大都较为粘连、密集,为遥感俯视图中的检测任务带来难题,本研究提出的网络改进方法可有效解决密集、粘连的脐橙果树检测计数问题。由图15可知,经过批量的瓦片识别后,根据瓦片的坐标信息转换成谷歌坐标格式,根据坐标信息上传拼接至谷歌底图,从而实现直观的审阅统计,将数据坐标信息储存到云数据库中,完成构建江西省脐橙产业大数据平台。

5 结语

针对脐橙果林统计在自然复杂环境下单木提取准确率较低的问题,提出了一种改进的多尺度卷积骨干网络Des-Faster-RCNN,并加入了K-means聚类分析改进网络参数设置,训练过程结合迁移学习的思想进行微调,实现对脐橙果树在不同自然环境、不同生长时期以及不同长势下的检测与检测,最终在测试集上的平均精度为97.6%,并与当下较为前沿的YOLOv3、Faster-RCNN、SSD检测模型相比,均有不同程度的提升。

为验证提出的改进算法的有效性及可行性,笔者设计了3组实验,对不同条件下的改进策略进行检测性能的对比。结果表明,改进的Des Faster-RCNN网络能够有效提高网络在卷积过程中对其特征的利用率,加强对密集粘连目标以及小目标的检测能力,通过缩减网络结构中卷积层的数量,充分压缩网络模型;加入K-means聚类分析改进网络预设参数,提高网络的收敛能力;在训练过程中结合迁移学习的思想,微调网络结构中的分类器以及全连接层;结合以上改进,最终提升模型的检测精度和速度。

将笔者提出的算法用于工业实地检测,并保存于构建的江西省脐橙产业大数据平台,为果林智能化管理提供必要帮助。未来将结合高光谱数据在果林病虫害检测方向上展开进一步研究。

猜你喜欢
脐橙卷积图像
改进的LapSRN遥感图像超分辨重建
脐橙连上物联网 扫码便知“前世今生”
基于3D-Winograd的快速卷积算法设计及FPGA实现
有趣的图像诗
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
赣南早脐橙在几种中间砧木上高接换种的表现
奉节脐橙
脐橙丰产栽培技术
一种基于卷积神经网络的性别识别方法