基于无人机航拍与改进YOLOv3模型的云杉计数

2021-01-19 04:59陈锋军朱学岩周文静顾梦梦赵燕东
农业工程学报 2020年22期
关键词:云杉特征提取计数

陈锋军,朱学岩,周文静,顾梦梦,赵燕东

(1.北京林业大学工学院,北京 100083;2.城乡生态环境北京实验室,北京 100083;3.德州农工大学园艺系,大学城 77843;4.林业装备与自动化国家林业局重点实验室,北京 100083)

0 引 言

苗木库存是苗木相关企业优化管理、预测收益、防控病虫害和核算经营成本等方面的重要参考数据[1]。传统苗木库存统计的方法是由人工计数,劳动力成本高、重复性强、效率低并且不能保证结果的准确率。自动、快速并且准确的统计苗木库存数量已经成为迫切需要解决的问题,利用无人机航拍苗木图像准确计数是一种理想的解决方法。目前苗木数量统计的方法除了人工计数方法之外,还包括传统机器视觉方法以及深度学习相关的方法。

传统机器视觉方法一般是提取颜色[2-5]、形状[6-7]以及纹理[8-10]等浅层特征,通过阈值分割[11]、人工神经网络[12]和支持向量机[13]等方法识别目标后计数。目前,基于传统机器视觉的计数方法已被应用到小麦麦穗[14-15]、玉米[16]、柑橘树[17]、棉花行数[18]以及棕榈树[19]的计数中。She等[20]将无人机航拍多年生花生图像按 2G-R-B特征分割后通过计算花生冠层投影面积实现计数,精度为 95%。Dilel等[21]采用阈值分割、边缘检测和Hough圆检测的方法统计柑橘树数量,计数结果准确率 80%以上。传统机器视觉方法一般都利用无人机获取图像,但是苗木特征选择颜色、形状和纹理时易受光照条件变化影响苗木识别结果,阈值分割、人工神经网络和支持向量机等模式识别方法也没有很好的解决苗木阴影和粘连分割的干扰,无法胜任自然条件下推广应用的实际需求。

深度学习相关方法通过设计深层卷积神经网络自动提取图像的浅层和深层特征,克服了传统机器视觉方法表征能力不足的问题。目前深度学习的方法已被应用到小麦麦穗[22]、苹果[23]、受虫害的油松[24]等的计数中。Michael等[25]利用R-CNN模型实现阿尔伯塔北部森林针叶树幼苗的计数,准确率达到 81%;李越帅等[26]提出一种基于 U-Net模型的胡杨树冠计数方法,准确率达到94.1%;Li等[27]提出一种基于CNN的遥感图像棕榈树计数方法,准确率达到 96%。卷积神经网络在苗木识别和计数研究中优势显著,其中YOLOv3模型能对尺寸差异较大的目标快速准确识别和计数,被应用于苹果[28]、柑橘[29-30]、荔枝串[31]、草莓[32]、芒果[33]和番茄[34]等农林业作物的识别。孙壮壮等[35]采用YOLOv3模型实现了小麦、大麦、水稻以及玉米叶片不同大小气泡的快速识别和计数,准确率达到89%;熊俊涛等[36]提出Des-YOLOv3模型实现夜间复杂光照下的粘连成熟柑橘识别,准确率达到90.75%;Liu等[37]提出了YOLO-Tomato模型实现复杂环境下不同大小和不同粘连情况的番茄识别,准确率达到94.75%;赵德安等[38]使用YOLOv3模型检测图像中不同大小的苹果准确率高达97%。

快速准确检测尺寸差异大的云杉目标,YOLOv3模型优势非常显著,主要是因为利用了特征图像金字塔模块和多尺度预测模块。实际使用中发现YOLOv3模型存在无法避免的问题:1)小样本云杉数据在训练中容易产生过拟合;2)特征提取中降采样环节只能利用少量维度特征,导致云杉特征信息的丢失。如果直接使用YOLOv3模型计数无人机航拍图像中的云杉,容易出现过拟合和遗漏计数问题,导致计数结果与实际数量差距较大。为此,本文在YOLOv3模型的特征提取网络中添加密集连接模块和过渡模块形成Darknet-61-Dense特征提取网络,构建改进YOLOv3模型,以期为实现苗木数量统计解决关键算法问题。

1 材料与方法

1.1 图像获取和扩充

试验研究区域选取位于内蒙古和林格尔县蒙树苗木基地(111°49′47′E,40°31′47′N,海拔 1 134 m)。云杉人工种植区域面积大,主要依山地的地形和起伏种植,因为种植时间差异,不同地块云杉个体大小不一。本文试验选取种植地势相对平坦地块相对规整的区域进行拍摄,行间距为1.5 m,株距为1 m。2017年7月、2018年10月和2019年9月通过大疆精灵4无人机获取云杉图像。无人机相机镜头焦距20 mm,像元尺寸2.4um,有效像素 2 000万,设置相机分辨率 4 000×3 000(像素),选取成像角度-90°,相机镜头与地面平行;飞行高度在12~36 m之间,S型飞行路线定点悬停,飞行速度2 m/s,6块电池,每块电池最大飞行时间约为25 min。

3 a共采集3 147幅云杉图像,以24位真彩色JPEG格式存储。利用Pix4Dnaper软件对云杉图像进行拼接,通过裁剪消除图像边缘异常值,获得20幅完整地块云杉图像,其中拼接剪裁后完整地块云杉图像实际覆盖面积约为675 m2(45 m×15 m)。按照株龄、光照条件和飞行高度尽量多样的原则挑选558幅云杉图像,另外增加20幅拼接后完整地块云杉图像,共计578幅构成试验数据。采用旋转、变换图像大小和对比度的方法进一步扩充云杉图像数据,以期增强模型对云杉个体尺寸差异和光照变化的鲁棒性。旋转角度、缩放比例系数和对比度系数分别在(0°, 90°]、[0.5, 1.5]和[0.2, 1.8]区间随机生成,模拟云杉个体尺寸差异和不同光照条件下的成像。采用旋转、变换图像大小和对比度的方法扩充后,云杉图像增至2 312幅,其中2 232幅为无人机航拍图像,80幅为拼接剪裁后完整地块云杉图像。

1.2 数据集搭建

按照7∶3的比例将扩充后的云杉图像2 232幅划分为训练集和测试集1,将80幅拼接剪裁后完整地块的云杉图像仍然按照7∶3的比例划分为训练集和测试集2。即云杉训练集图像共 1 618幅,包含扩充后的云杉图像1 562幅加上拼接裁剪后完整地块的56幅;测试集1包含扩充后的云杉图像670幅;测试集2为拼接剪裁后完整地块的24幅云杉图像。

2 改进YOLOv3模型

2.1 改进YOLOv3模型建立

无人机获取的云杉图像为小样本数据,图像中云杉个体尺寸的差异很大,还有自然光照条件变化多样,地面杂草等背景复杂以及云杉之间粘连的问题,导致准确统计云杉数量非常困难。为了有效解决过拟合问题以及云杉特征信息丢失的问题,在原有YOLOv3模型[39]特征提取网络 Darknet-53中加入密集连接模块和过渡模块构成改进后的 Darknet-61-Dense特征提取网络,建立改进YOLOv3模型统计云杉数量。

2.1.1 密集连接模块

云杉训练集一共有 1 618幅图像,属于小样本训练集,直接训练YOLOv3模型容易出现过拟合问题。为解决该问题,参考 DenseNet网络[40],在特征提取网络Darknet-53中加入密集连接模块,强化云杉特征的传递以及特征的复用,抑制过拟合问题的产生。密集连接模块将云杉特征提取网络中所有层两两相连,保证网络每一层都包含前面所有层的云杉特征信息,具体如式(1)所示,网络第l层的输入是第1层到第(l-1)层所有特征图的拼接。

式中Hl代表卷积、批量归一化和Leaky-ReLU激活函数组成的复合函数,x1,x2,......,xl-1代表第1层到第l-1层的云杉特征图。密集连接模块的基本结构如图1所示。

图1 密集连接模块Fig.1 Dense connection module

在密集连接模块中,云杉特征的重复使用有效避免了特征提取模型对冗余云杉特征图的重新学习,提高正则化水平,有效抑制因云杉数据集较小导致的过拟合问题。

2.1.2 过渡模块

YOLOv3模型特征提取网络 Darknet-53降采样过程仅使用少量维度的信息,存在云杉特征信息丢失的问题,影响云杉检测和计数的精度。参考Inception网络[41],在云杉特征提取网络 Darknet-53中加入过渡模块。改进后的云杉特征提取网络采用不同大小的滤波器和池化操作提取和融合云杉特征信息,得到尺寸减半的云杉特征图,如图2中输入尺寸为104×104的云杉特征图,经过渡模块处理后尺寸减半为52×52。过渡模块主要包含1×1卷积核、3×3的卷积核和最大池化,3×3的卷积核和最大池化的作用是降低云杉特征图的维数,1×1的卷积核的作用是降低模型参数的复杂程度从而减少计算量。

图2 过渡模块Fig.2 Transition module

2.1.3 建立改进YOLOv3模型

在YOLOv3模型的特征提取网络Darknet-53中加入密集连接模块和过渡模块,构成改进后的 Darknet-61-Dense特征提取网络,有效抑制YOLOv3模型存在的过拟合和云杉特征信息丢失的问题,改进YOLOv3模型的结构如图3所示。

图3中FS表示特征拼接,功能块Fun由残差块改进而来,具体操作是将残差单元替换为密集连接单元并引入过渡模块,其结构如图4a。在功能块Fun中,密集连接单元数量用n表示。密集连接单元结构如图4b。

图3 改进YOLOv3模型Fig.3 Improved YOLOv3 model

图4 改进YOLOv3模型各功能模块Fig.4 Function block of improved YOLOv3 model

改进 YOLOv3模型中特征提取网络 Darknet-61-Dense的网络参数如表1所示。

2.2 训练改进YOLOv3模型

利用LabelImg软件人工标注云杉训练集图像,标注规则为:1)不标注图像边界不完整的云杉;2)分别标注相互粘连的云杉。对每一幅人工标注的云杉图像,LabelImg软件自动生成对应的xml文件,包含云杉标注矩形框的左上角坐标和右下角坐标,标注矩形框的长和宽以及标注的类别名称信息。为加快模型处理速度,提高对不同尺寸云杉的预测能力,归一化处理云杉标注矩形框,具体如式(2)所示。

表1 Darknet-61-Dense网络参数Table 1 Darknet-61-Dense network parameters

式中x、y、w和h分别为归一化后云杉标注矩形框中心点坐标以及归一化后云杉标注矩形框的宽度和高度。xmin、ymin、xmax和ymax分别为人工标注的云杉标注矩形框左上角和右下角的坐标。Rw和Rh分别为云杉图像的宽度和高度,pixel。

训练和测试的硬件平台配置为:Intel(R) Core i7-8700K CPU @ 3.70 GHz处理器,16 GB内存,11 GB GeForce GTX 1080 Ti显卡,500 G固态硬盘和 4TB机械硬盘。在Ubuntu16.04系统和Tensorflow框架下使用Python编程实现,程序运行中调用CUDA、Cudnn和OpenCV第三方库。根据经验设置训练权值衰减和初始学习率分别为0.000 5和0.001;为缩短模型训练时间,采用批处理量为64的批处理训练方式;权值更新过程,采用正则化处理并根据经验在每一层中加入丢弃比为0.5的丢弃层(Dropout),动量设置为0.9;绘制锚点框数量和平均交并比之间的关系曲线,根据试验测试结果选定锚点框数量为9,平均交并比为84.55%。

2.3 评价改进YOLOv3模型

本研究改进YOLOv3模型云杉计数过程需同时考虑检测精度、计数精度以及速度,故选用精确率P、召回率R、平均精度AP、平均计数准确率MCA和平均检测时间ADT作为评价指标[42-44]。计算公式为

式中TP表示模型预测为正样本且实际也是正样本的情况,FP表示模型预测为正样本但实际是负样本的情况,FN表示模型预测为负样本但实际为正样本的情况。N为云杉图像的数量,i表示第i幅云杉图像,Gi为第i幅图像中云杉的真实数量,由人工计数得到。Ei为改进YOLOv3模型对第i幅图像中云杉的计数结果,tN为改进YOLOv3模型检测N幅图像的总耗时,s。

3 结果与分析

3.1 试验结果

为验证改进YOLOv3模型的性能,首先对测试集1中的670幅云杉图像进行测试。改进YOLOv3模型利用最优云杉预测边界框标识检测到的云杉,统计最优云杉预测边界框的数量即为云杉计数结果。具体示例如图5所示。

图5 人工计数和改进YOLOv3模型计数结果Fig.5 Manual counting and improved YOLOv3 model counting results

接来下对测试集2中的 24幅拼接裁剪后完整地块的图像进行测试。直接将大小为5 000×1 000(像素)包含千余株云杉目标的图像压缩为 416×416(像素)的图像输入改进YOLOv3模型不能准确计数。对测试集2拼接剪裁后完整地块的 24幅云杉图像进行测试,首先将拼接裁剪后的云杉地块图像按照均等原则裁剪成为1 250×1 000(像素)的4幅子图像;然后将这4幅子图像分别输入改进YOLOv3模型进行计数;最后将4幅子图像计数结果求和即视为整个地块内云杉的数量,具体示例如图6所示。

图6 完整地块云杉图像计数Fig.6 Image count in complete plot spruce

3.2 对比分析

为进一步测试改进YOLOv3模型的性能,以精确率P、召回率R、平均精度AP、平均计数准确率MCA和平均检测时间ADT为评价指标,给定阈值为0.3,将改进YOLOv3模型与YOLOv3模型、SSD模型和Faster R-CNN模型在测试集1和测试集2上分别进行比较。测试集1的对比试验结果如表2所示。

表2 测试集1试验结果对比Table 2 Comparison for experimental results of test set 1

改进YOLOv3模型在测试集1中的精确率P、召回率R、平均精度 AP和平均计数准确率 MCA分别为96.81%、93.53%、94.26%和98.49%,远超YOLOv3模型、SSD模型和Faster R-CNN模型,平均检测时间ADT仅为0.351 s。相比原有YOLOv3模型,精确率P、召回率R、平均精度 AP和平均计数准确率 MCA分别提升 2.44、1.68、3.53和 8.25个百分点,平均检测时间 ADT增加0.043 s;相比SSD模型,精确率P、召回率R、平均精度AP和平均计数准确率MCA分别高出4.13、2.92、6.77和9.74个百分点,平均检测时间ADT低0.544 s;相比Faster R-CNN模型,精确率P、召回率R、平均精度AP和平均计数准确率MCA分别高出0.84、1.04、1.41和1.23个百分点,平均检测时间ADT低2.176 s。改进YOLOv3模型通过加入密集连接模块和过渡模块,有效解决了云杉特征提取时信息丢失问题和小样本训练导致过拟合的问题,准确统计云杉数量。

改进 YOLOv3模型与 YOLOv3模型、SSD模型和Faster R-CNN模型在测试集2的对比试验结果具体如表3所示。

表3 测试集2试验结果对比Table 3 Comparison for experimental results of test set 2

在测试集 2中,改进 YOLOv3模型对整个地块内云杉计数的精确率P、召回率R、平均精度AP和平均计数准确率 MCA分别为 91.48%、89.46%、89.27%和93.38%,平均检测时间 ADT为 1.847 s。相比原有YOLOv3模型,精确率P、召回率R、平均精度AP和平均计数准确率MCA分别提升2.54、2.07、2.98和5.95个百分点,平均检测时间ADT增加0.122 s;相比SSD模型,精确率P、召回率R、平均精度AP和平均计数准确率 MCA分别高出9.33、4.54、7.73和10.64个百分点,平均检测时间ADT低3.181 s;相比Faster R-CNN模型,精确率P、召回率R、平均精度AP和平均计数准确率MCA分别高出0.74、1.09、1.98和3.02个百分点,平均检测时间ADT低12.892 s。改进后的YOLOv3模型同样大幅度优化云杉计数结果,很大程度上解决云杉信息丢失和过拟合的问题。

同时不难发现改进YOLOv3模型在测试集1和测试集2上的计数结果差异较大。在精确率P、召回率R、平均精度AP和平均计数准确率MCA这4个评价指标上,在测试集2的表现分别比测试集1的表现降低5.33、4.07、4.99和5.11个百分点;在平均检测时间ADT这一指标上,测试集2比测试集1高1.496 s。原因主要是完整地块的云杉拼接图像尺寸大,云杉目标稠密,不能压缩后直接输入模型,采用裁剪成 4幅子图像分别输入模型计数,过程中 3条裁剪线必然会对部分云杉进行切割,根据文中标注的规则:图像边界不完整的云杉不标注,最终导致模型没有统计这部分被切割的云杉。解决包含稠密云杉目标的大尺寸图像计数是下一步工作需要进一步解决的问题。

经过对比发现改进YOLOv3模型通过加入密集连接模块和过渡模块,有效避免了冗余特征图重复学习导致的过拟合问题以及采样过程信息丢失问题,很好的解决了光照条件变化、云杉之间阴影遮挡、稠密云杉目标检测和云杉粘连分割的困难,快速准确的统计无人机拍摄图像中的云杉数量。对于拼接后完整地块云杉图像,由于尺寸较大,云杉目标稠密,对于这样的问题需要进一步深入的研究,寻找有效解决方案。

4 结 论

本文以无人机航拍的云杉图像为研究对象,针对YOLOv3模型存在的小样本数据集训练过拟合问题和特征提取网络降采样过程信息丢失问题,在特征提取网络 Darknet-53中加入密集连接模块和过渡模块设计新的特征提取网络 Darknet-61-Dense,提出一种改进YOLOv3模型的云杉计数方法。测试改进YOLOv3模型并且与原有 YOLOv3模型进行对比分析,得到以下主要结论:

1)改进YOLOv3模型能够对无人机航拍云杉图像进行快速准确的计数,有效解决原有YOLOv3模型的过拟合和云杉特征信息丢失的问题。改进YOLOv3模型精确率P、召回率R和平均精度AP和平均计数准确率MCA分别为96.81%、93.53%、94.26%和98.49%,平均检测时间ADT为0.351 s。在前4个指标上,相对原有YOLOv3模型性能提升2.44、1.68、3.53和8.25个百分点,平均检测时间ADT增加0.043 s。很好的解决了光照变化、云杉之间阴影遮挡、稠密云杉检测和云杉粘连的问题,准确快速的统计无人机航拍图像中的云杉数量。

2)改进YOLOv3模型相比原有YOLOv3模型大幅提升完整地块云杉图像的计数精度。在精确率P、召回率R、平均精度AP和平均计数准确率MCA这4个评价指标上,改进YOLOv3模型相比原有YOLOv3模型性能提升2.54、2.07、2.98和5.95个百分点,平均检测时间ADT增加0.122 s,为真正解决生产单位苗木数量统计的实际问题做出了有益的探索。

3)拼接剪裁后完整地块云杉图像计数方法的改进和完善是下一步工作的重点研究方向。由于拼接剪裁后完整地块图像尺寸大,云杉目标稠密,不能直接输入改进YOLOv3模型。采用裁剪成 4幅子图像分别统计云杉数量再汇总的方法,导致最后的计数结果因为没有统计剪切线被剪切的云杉而出现漏数问题,影响计数精度。后续研究中解决包含稠密云杉目标的大尺寸图像计数成为亟待解决的问题。

猜你喜欢
云杉特征提取计数
云杉大苗的起苗与包装
大兴安岭云杉的抚育方法
递归计数的六种方式
古代的计数方法
空间目标的ISAR成像及轮廓特征提取
古代的人们是如何计数的?
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
基于Daubechies(dbN)的飞行器音频特征提取
云 杉