APP下载

基于无人机多光谱影像的柑橘树冠分割方法研究

2021-10-20韩蕊慕涛阳赵伟李丹

林业工程学报 2021年5期
关键词:树冠波段梯度

韩蕊,慕涛阳,赵伟,李丹

(东北林业大学信息与计算机工程学院,哈尔滨 150040)

遥感技术于19世纪初期出现,揭开了当今遥感技术的序幕。经历了将近200年的蓬勃发展,遥感技术已经广泛应用于城市测绘、3D地图、病虫害识别、地质勘查、植被变化监测、水文等领域[1]。随着无人机(unmanned aerial vehicle,UAV)逐渐由军事专用转向民用商用,以及各种高精度、小体积、轻质量的传感器不断面世[2],越来越多的传感器被安装并应用于无人机遥感中。无人机在一定程度上克服了地面遥感和卫星遥感的不足,这使得无人机遥感迅速发展并应用于实践[3-5]。

利用无人机搭载多光谱传感器,在植被检测、土壤检测、地物识别与分类、病虫害检测、生物量预估、参数反演等方面已被广泛应用,基于UAV的农林业信息化已取得显著成果。孙钊等[6]基于面向对象的方法对高郁闭度杉木进行树冠参数提取,但该方法需要预先人工选取最优分割尺度,参数难以确定;杨全月等[7]结合传统二维图像处理和SFM三维建模,利用运动恢复结构(structure from motion,SFM)建立三维表面模型检测树木初始位置,再采用K最邻近(K-nearest neighbor,KNN)自适应分水岭分割提取精确树冠参数,然而SFM重建质量受到图片质量、图片重叠度和GPS精度的影响;赵勋等[8]利用DOM航空影像数据,在掩膜区域内进行多层次多尺度分割得到树冠信息种子对象,再以树冠信息种子对象为基础,使用区域增长法确定单木树冠范围,处于影像边缘的树木由于扫描角度过大会将树冠的侧面误提为树冠;Wu等[9]提出了一种基于Faster R-CNN和U-Net的模型,用于苹果树的检测、计数、分割和树木生长参数的提取,但是该模型适用的是冬天时枝丫裸露的苹果树;Ma等[10]提出了基于区域生长和形态分割的单树冠分割方法,该方法研究区域优势树种为针叶树种,冠幅形状呈圆锥状,且机载激光雷达造价昂贵。

树冠是长势监测、蓄积量估算、树种识别的重要指标之一,识别树冠一直都是农林业的重要任务。柑橘作为四川省农作物和经济作物的优势主导产业,提取柑橘树冠的范围及株数等信息对长江中上游柑橘带的管理和监测具有重要意义。综合已有研究发现,鲜有利用无人机多光谱航空影像对柑橘进行单木树冠信息提取的研究。笔者结合无人机遥感、多光谱数据和深度学习,以四川省成都市蒲江县为研究区,主要工作包括:通过VGG16深度学习模型对无人机多光谱影像进行分类,将影像分为柑橘地和非柑橘地,寻找分类准确度最高的波段,将该波段作为该地柑橘作物的最佳识别波段,选取该波段数据进行树冠分割;在分类的基础上,利用U-Net模型对类别为柑橘地的图片进行树冠分割与株树统计,并对比试验结果进行误差分析。

1 材料与方法

1.1 研究区概况及设备

研究区位于四川省成都市蒲江县,地处103°19′~103°41′E,30°5′~30°21′N,海拔约713 m,是长江中上游柑橘的重要产地之一,森林覆盖率达到50.8%。浦江县属典型的亚热带季风气候,一年四季气候温和,无霜期长,日均最高温度为22 ℃,日均最低温度为14 ℃,年均降水量为1 201.0 mm,适宜的温度、充沛的降雨、肥沃的土壤共同组成了柑橘生长的理想环境[11]。

航拍数据来自大疆精灵4多光谱版无人机(P4 multispectral,P4M)。P4M集成了1个可见光相机及5个多光谱相机(蓝光、绿光、红光、红边和近红外),相机焦距为5.74 mm,6个镜头均拥有200万像素,成像清晰稳定。具体参数见表1。

表1 无人机具体参数Table 1 Specific parameters of UAV

1.2 数据获取

本研究使用的影像拍摄于2019年9月4日,拍摄当天天气晴朗,无云雾遮挡,地面风速小于4级,满足拍摄要求。设计飞行高度为188 m,获取的无人机影像空间分辨率为0.1 m。航线共7条,飞行时航向重叠度80%,旁向重叠度70%,巡航速度10.4 m/s,设置完测区、飞行参数、航点等关键参数后即可自动采集数据。

P4M拍摄1次可同时获取6张照片,如图1所示,每张照片分别保存了不同波段的影像,包括1张RGB真彩色图片以及5张不同波段的灰度图片,5个波段分别是蓝色波段(blue),绿色波段(green),红色波段(red), 红边波段(red edge),近红外波段(near infrared)。最终获得1 596幅原始航拍影像,其中每个波段的影像各266幅。

注:a)为RGB彩色影像,b~f)为同一区域的多光谱影像。图1 P4M拍摄1次获取的6张照片Fig. 1 Six photos taken at one time by P4M

1.3 数据预处理

1.3.1 灰度化

无人机拍摄的原始数据以三通道格式存储,除了可见光相机存储格式为24位真彩色,其余多光谱相机成像均为灰度图像。为方便后续统一处理,需要对其进行灰度化转化为单通道影像[12]。

灰度化处理公式见式(1),其中:Gray(i,j)表示转换后灰度图像在(i,j)处的灰度值;R(i,j)、G(i,j)、B(i,j)分别表示原图像在(i,j)处的红、绿、蓝通道像素值。根据人眼对不同颜色的敏感度以及其他重要指标,对3个分量取不同的权重进行加权平均得到新的灰度值。

Gray(i,j)=0.299R(i,j)+0.578G(i,j)+

0.114B(i,j)

(1)

1.3.2 畸变差校正与正射影像生成

在成像过程中,由于大气折射、地球曲率、地形起伏和传感器自身原因等问题,会产生影像形变[13]。首先需要使用PixelGrid系统内的小像幅影像畸变差矫正模块进行畸变差校正;其次,使用与P4M同时发布的新版本大疆智图进行正射影像拼接,选择“重建类型:二维多光谱”,完成后得到6幅不同波段的正射影像,像元大小为8 363×10 294。

1.3.3 数据标注

对VGG16模型测试集中输出为柑橘地的图片,选取其中25张作为U-Net网络的训练集,10张作为测试集。使用Labelme软件目视解译勾画出每块样地内树冠的轮廓,生成json文件,再利用json文件生成二进制掩膜图片(mask)作为U-Net神经网络训练和验证的标签,也是之后精度评估的基础。

1.3.4 数据增强

对于训练样本不足的情况,数据增强是提高网络泛化能力的关键方法[14-15]。常用的数据增强方法包括平移和旋转不变性,以及对形变和灰度值变化的鲁棒性。柑橘地图片数据增强结果见图2。在VGG16网络中,将同一张图片缩放到不同的尺寸,再随机裁剪成224×224的图片,增加数据量进行训练。在U-Net网络中,使用3×3粗网格上的随机位移向量生成平滑变形,这些位移是从标准偏差为10像素的高斯分布中采样的;然后使用双三次插值计算每像素位移,收缩路径末端的退出层,执行进一步的隐式数据扩充。

图2 柑橘地图片数据增强结果Fig. 2 Data enhancement results of citrus images

1.4 研究方法

1.4.1 VGG16卷积神经网络模型

本研究采用VGG16卷积神经网络模型[16],采用多个3×3的小卷积核替代较大的卷积核,在保证具有相同感受野的条件下提升网络深度,既减少了网络训练过程的参数,也能够增强网络的拟合/学习能力。除池化层外由13个卷积层和3个全连接层组成,层与层之间使用最大化池分开,所有激活单元都选择ReLU函数,将最后一个全连接层替换成一个输出神经元个数等于数据集类别数的新全连接层。经由全连接层和输出层就可以对样本进行分类处理,通过softmax将全连接层输出的向量映射为K个实数,代表被分为每个类别的概率,选取概率最大值为预测结果。具体的训练过程如下:

1)基于迁移学习方法,使用Keras中预训练好的VGG16模型,保持权重不变,对于VGG16模型的第2个全连接层以前的所有层进行参数初始化,这样不需要从头对网络进行训练,可以加快网络的收敛速率,降低梯度消失的几率,并且节省大量时间。

2)将柑橘数据集输入到VGG16网络模型上进行训练,每类叶片数据的80%用来训练模型,剩余20%用来测试模型。网络在对图片预处理的过程中,会在训练样本的对应像素位置上减去像素的均值,将其大小调整为224×224×3,并通过不断卷积来提取局部特征。为保留边界信息,对图片外围采用padding=SAME填充。

3)参数设置。损失函数使用交叉熵损失函数,学习率设置为0.01,学习率衰减设置为1×10-6,动量参数momentum设置为0.9,batch_size=10,epochs=100。

1.4.2 U-Net卷积神经网络模型

U-Net网络[17]在小数据集图像分割领域表现优异,其网络左侧为不断卷积操作组成的收缩路径,右侧为不断上卷积操作组成的扩张路径,形状上接近字母“U”。在收缩路径中主要对输入影像进行卷积操作提取特征图,每经过1个池化层,图片尺度缩减一半,最后得到大小为32×32、维度为1 024 的高维特征图;扩张路径则主要是根据特征图判断每一个像素点所对应的种类,每次反卷积操作将特征图尺度扩大2倍,直到最后特征图大小与输入图像大小一致。同时,每一步反卷积操作时还会将特征图与收缩路径中对应的特征图融合,即扩张路径中的特征图来自同一个卷积块的输出(同尺度特征),也来自上一层收缩路径的输出(大尺度特征)。最后通过1个1×1的卷积层和sigmoid激活函数进行分类,将64维特征向量映射为输出影像中分类的数量,得到与输入影像空间分辨率一致的树冠分割结果。

1.4.3 模型优化算法

1)SGD优化器

优化器选择SGD(stochastic gradient descent,随机梯度下降算法),SGD对每个训练样本都进行参数更新,每次执行都进行一次更新,且执行速度更快。SGD对梯度的要求很低(计算梯度快),而对于引入噪声,只要噪声不是特别大,SGD都能很好地收敛。SGD一次只进行一次更新,没有冗余,而且比较快,并且可以新增样本。

假设模型参数为θ,损失函数为J(θ),在第i对样本(xi,yi)上损失函数关于参数的梯度为θJ[θ;x(i);y(i)],学习率为α,则使用单个样本来计算梯度:

θt+1=θt-α·θJ[θ;x(i);y(i)]

(2)

从一批训练样本n中随机选取一个样本is。模型参数为W,代价函数为J(W),学习率为ηt,参数W的梯度为gt,则使用SGD随机梯度下降法更新参数表达式为:

Wt+1=Wt-ηtgt

(3)

2)Adagrad优化器

自适应梯度算法(adaptive gradient algorithm,Adagrad)可以对低频的参数做较大更新,对高频的参数做较小的更新,从而减少学习率的手动调节,但随着分母中平方梯度的累积在训练中不断增加,会导致学习率不断收缩,最终变得无穷小,模型几乎无法再训练。

采用gt,i表示t时刻下参数θi的梯度:

gt,i=θJ(θt,i)

(4)

Adagrad根据参数的过去梯度,修改参数每个时刻t的学习率η,则梯度更新规则如下:

(5)

式中:Gt为一个对角矩阵;(i,i)元素是t时刻参数θi的梯度平方和;ε是一个避免被零除的平滑项。

3)RAdam优化器

RAdam(rectified adam)能根据方差分散度动态地打开或者关闭自适应学习率,既能保证收敛速度快,也不容易掉入局部最优解,而且收敛结果对学习率的初始值非常不敏感。但是在某些情况下,由于衰减率和基本方差的存在,RAdam可能会在动量等效的情况下退化为SGD。

1.5 评价指标

对于结果评价,可以从定性和定量2个角度分析。在定性分析方面,观测者根据目视解译从主观的角度判断分析结果的准确性;在定量分析方面,运用U-Net模型分割树冠,可能出现的5种情况如图3所示。对于每一个像素点都有可能被分为树冠或背景,因此结合实际情况定义总体精度(overall accuracy,OA,公式中记为OA)、错判误差(commission error,CE,公式中记为CE)、漏判误差(omissions error,OE,公式中记为OE)、准确率(accuracy rate,AR,公式中记为AR)和Kappa系数(公式中记为Kappa)5个指标,使用这5个参数可以较为全面地评价图片分类和分割结果的好坏。其计算公式分别如下:

图3 分割结果的5种情况Fig. 3 Five cases of segmentation results

(6)

(7)

(8)

AR=(1-CE)

(9)

(10)

式中:TN为预测出的树冠个数;TP为目视解译出的实际树冠个数;FP为错分的树冠个数;FN为漏判的树冠个数;N为混淆矩阵像元总数;xi+为混淆矩阵各行之和;x+i为混淆矩阵各列之和;xii为混淆矩阵主对角线上的元素。

2 结果与分析

本试验搭建在52cv云服务器平台(https:∥gpu.52cv.net/home)上,操作系统为Linux,系统版本为Ubuntu 16.04,CPU主频2.1 GHz,内存32 G,显卡为GeForceRTX2080,显存8 GB,基于Python语言使用Keras框架和Tensorflow框架完成本次试验。

2.1 VGG16模型的训练及分类结果

在VGG16网络模型的基础上,输入拼接校正后的无人机多光谱影像,对6个不同波段的图片设置相同的参数进行训练,设置初始学习率(learning rate)为0.01,权重衰减(weight decay)为0.000 001,迭代100次,通过随机参数初始化开始训练。

为测试各光谱模型精度,选取43张图片作为测试集,分类结果使用“准确率=预测正确图片数量/样本总数(即accuracy)”衡量,得到的准确率见图4。

图4 不同波段的准确率Fig. 4 The accuracies of different bands

测试结果证明,在无人机拍摄的多光谱柑橘数据集中,近红外波段在VGG16模型中的识别准确率更高,43张图片中有41张分类正确,精度达到了95.34%,具有更好的识别效果,且效果优于RGB彩色图片,可用近红外波段影像区分柑橘地和非柑橘地。

2.2 U-Net模型的训练及分割结果

从VGG16模型输出预测为柑橘地的图片(共35张)中,选择25张作为U-Net模型的训练集,10张作为U-Net模型输入的测试集。同时,将U-Net模型与传统图像处理的分水岭算法和K-Means聚类算法对比,使用3种方法对部分样地树冠分割的结果见图5,10块样地的全部结果如表2所示,并得到如表3所示的各方法评价指数。其中,U-Net模型的总体精度可以达到93.63%,平均错判误差为7.99%,平均漏判误差为4.52%,平均准确率为91.99%。

图5 不同方法下树冠分割结果比较Fig. 5 The comparison of canopy segmentation results with different methods

表2 不同方法分割结果Table 2 Segment results with different methods

表3 不同方法评价指数Table 3 Evaluation indexes with different methods

2.3 分割结果及误差分析

从定性角度分析,分水岭算法和K-Means聚类算法对树冠的过分割问题严重,虽然边缘检测效果较好,但是同时也会得到非柑橘树的树冠以及图片中其他物体的轮廓,且得到的树冠边缘不圆滑,为锯齿状。由于柑橘树的树冠差异性,可能存在多个冠层,分水岭算法和K-Means聚类算法得到的树冠均不完整,中心存在不同程度的空洞点,少数样地漏判问题严重,而U-Net模型明显优于其他2种方法。从定量角度分析,3种方法的Kappa系数相同,但U-Net的总体精度和平均准确率更高,错判误差更低,证明了U-Net模型在分割树冠方面的准确率优于传统图像处理方法,可以较为准确地提取柑橘树冠。

综上所述,U-Net模型不需要人工选取树冠中心点或种子点就可以在树冠分割结果上表现良好,对植被密集区域也有较好的适应性,可以用机器学习的方法替代人工目视解译结果,还可以进一步扩大柑橘样地训练样本,选取不同生长时期、不同密度的样本集可以提高分割精度。

表3中样地5的错判误差最大,高达19.04%,造成这一现象主要有2个原因:第一,观察样地可知该区域内柑橘树间隙较大,且枝叶茂密,可能存在多个冠层和多个树梢点,此时模型将属于同一棵树的树梢点划分为两棵树;第二,样地内存在其他低矮植被,与柑橘树树冠光谱差异较小,由于拍摄角度、太阳照射等原因,将其错分为柑橘树。此外,表3中样地4、样地5、样地7的总体精度低于90%的主要原因是虽然VGG16模型将其分类为柑橘地,但图片中依旧包含一些其他地物(如房屋、道路、湖泊等),此时U-Net模型的分割效果较差。

对比目视解译结果,可以看出U-Net模型还存在以下问题:对于树冠相互连接遮挡的区域,会将树冠范围小于一定阈值的归为一棵树,这时就会出现漏判的情况;研究区域内存在少量其他树种,其他树种和柑橘树的反射率非常接近,会将一部分其他树的树冠错误地提取出来;部分树冠轮廓模糊,造成这个问题的原因可能是在模型训练的过程中由于时间、内存空间、训练数据量、迭代次数等诸多限制因素,造成柑橘树的特征没有被充分提取。

3 结论与讨论

针对柑橘密集分布区域树冠分割的问题,利用无人机获取研究区的多光谱影像,尝试采用卷积神经网络将图片分为柑橘地和非柑橘地,再对柑橘地图片进一步实现树冠分割,并统计株数,有效地实现了柑橘地分类和柑橘树冠分割,并在分类和分割任务上分别取得了95.34%和91.99%的精度,整体满足林业工作获取数据的精度要求。

相比于传统的遥感图像处理方法和机器学习方法,本研究具有以下优点:选取少量具有代表性的区域进行目视解译标注,用小样本替代传统机器学习下的大样本,得到理想的分割结果;多光谱近红外波段的影像对树冠的分割结果优于可见光影像,可以更好地将树冠和背景区分开来;深度学习可以有效地抑制传统图像处理中的过分割现象。

同时,本研究仍存在以下不足:1)研究区所选取样地均郁闭度适中,但是对于高郁闭度区域树冠相连问题严重,算法精度将下降,所以如何将分割算法推广到高郁闭度区域应成为下一阶段的研究重点。2)由于不同季节植物生长状况、叶绿素含量等不同,会造成其对不同波长的光谱反射不同,还应对比不同月份、不同年份以及不同天气状况下的试验数据,扩大样本数据差异性,分析各种因素对试验结果的影响。3)本次研究数据中树种较为单一,除柑橘树外只包含少量道路旁绿化树,由于地理位置的差异分布,对于这部分干扰树种可以较好区分。下一步还应考虑如何对于一幅遥感影像中所包含的不同种果树树冠进行分割。

猜你喜欢

树冠波段梯度
磁共振梯度伪影及常见故障排除探讨
基于应变梯度的微尺度金属塑性行为研究
最佳波段组合的典型地物信息提取
新型X波段多功能EPR谱仪的设计与性能
最佳波段选择的迁西县土地利用信息提取研究
树冠羞避是什么原理?
榕树
一个具梯度项的p-Laplace 方程弱解的存在性
树冠
一个早晨