基于无人机可见光图像的云杉计数方法

2021-07-27 09:59朱学岩张新伟顾梦梦赵燕东陈锋军
林业工程学报 2021年4期
关键词:云杉计数准确率

朱学岩,张新伟,顾梦梦,赵燕东,陈锋军*

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

苗木库存是相关企业运营和管理的一个关键参数。目前苗木数量主要依靠传统的人工计数完成,工作重复枯燥,主观性强,劳动效率低,人工成本高并且无法保证计数准确率[1-2]。在苗木行业飞速发展和人工成本逐年提高的背景下,亟须自动、高效、准确并且成本低的苗木计数解决方案。利用无人机航拍苗木图像加上机器视觉的技术,快速准确地计数苗木是一种理想的解决方法。

国内外学者对于苗木计数的问题进行了各种探索。Haakess[3]使用条形码和RFID电子标签进行苗木库存盘点,但该方法与人工计数相比成本没有明显下降,难以推广应用。一些学者尝试利用计算机图像处理和机器视觉的方法统计麦穗数量[4]、玉米株数[5]、柑橘树数量[6]、苗圃盆栽和地栽植株数量[7],以及棕榈树的数量[8],虽然做了各种各样的尝试,但是离实际应用还有一定的差距。随着深度学习被证明为一种有效的工具,越来越多的研究者开始相关应用的研究,取得了各种各样的研究进展。Fromm等[9]证明使用卷积神经网络可以检测加拿大阿尔伯塔北部森林树木的数量;Morales等[10]提出基于Deeplabv3+网络的棕榈树分割模型分割单独的棕榈树和被遮挡的棕榈树;Onishi等[11]利用eCognition Developer软件和GoogLeNet模型分割桃树树冠统计桃树数量;Csillik等[12]利用卷积神经网络检测柑橘树并统计数量,但是无法准确统计尺寸大小不一的柑橘树的数量;2016年,Redmon等[13]提出单阶段目标检测模型YOLO,随之优化版本YOLO9000[14]和YOLOv3[15],YOLOv3模型以检测快速准确的优点被迅速关注;陈宏彩等[16]利用YOLOv3模型检测车辆速度很快,处理高清图像平均耗时0.05 s/幅;丁明宇等[17]利用YOLOv3模型识别商品的参数准确率很高,表格参数检测准确率达到90.42%,文字块参数检测准确率达到85.22%;赵德安等[18]利用YOLOv3模型识别不同生长阶段和不同光照条件下的苹果,准确率达97%。总之深度学习中的YOLOv3模型目标检测泛化性能好,在算法准确率和检测速度方面表现突出。

本研究以无人机采集的云杉可见光图像为研究对象,提出一种应用YOLOv3的云杉计数方法,有效解决稠密、粘连和云杉个体尺寸大小不均的问题,快速检测云杉并准确统计数量。主要工作包括采集、标注和扩充云杉图像以及构建、训练和测试YOLOv3模型。

1 数据准备

2017年7月、2018年10月和2019年8月在内蒙古云杉苗圃基地(111°49′47″E,40°31′47″N,海拔1 134 m)选用大疆精灵4无人机采集4 000×3 000 像素的云杉可见光图像,保存为JPG格式。无人机相机镜头焦距为20 mm,像元尺寸为2.4 μm,选取成像角度为-90°,相机镜头与地面平行,飞行高度12~36 m,S形飞行路线定点悬停的方式。采集时间选择05:30—07:30、09:00—10:00和17:00—18:00。云杉种植区域行间距1.5 m左右,冠幅尺寸差异较大。

按照多样性原则选取无人机拍摄的云杉图像558幅,为了保证充分训练YOLOv3模型,进一步扩充云杉图像数据集[19]。变换云杉图像的对比度,模拟不同光照条件下云杉的成像效果;缩放云杉图像的大小,模拟无人机飞行高度变化条件下云杉成像在尺寸上的变化。对比度和缩放比例系数分别在[0.2, 1.8]和[0.5, 1.5]闭区间中随机生成。由此云杉图像数据集增加到原来的3倍共1 674 幅。按照7∶3的比例确定训练集和测试集,其中训练集包含图像1 169幅,测试集包含图像505幅,具体示例如图1所示。

图1 云杉图像数据集

2 云杉计数模型设计

自然光照条件下使用无人机获取的云杉图像,云杉稠密、粘连并且个体间尺寸差异很大,导致快速准确地统计云杉数量非常困难。基于深度学习的目标检测算法YOLOv3在设计中引入特征图像金字塔原理,能够对图像中尺寸大小差异很大的目标同时进行准确检测,基于YOLOv3的这个特点选取其作为云杉计数的模型。

2.1 YOLOv3模型构建

YOLOv3云杉计数模型包含特征提取和多尺度预测2个模块。参考文献[16],将云杉原始图像缩放为416×416像素,输入特征提取模块,包含53个1×1和3×3的卷积,称为Darknet-53特征提取模块。多尺度预测模块从13×13、26×26和52×52这3个尺度对云杉进行预测。YOLOv3模型具体结构如图2所示。

图2 YOLOv3模型结构

Darknet-53特征提取模块的网络结构和参数设置皆为缺省值[15]。53个卷积层中卷积2、卷积5、卷积10、卷积27和卷积44的作用是下采样,每次采样步长为2;全连接层的作用是实现云杉检测;残差层的作用是避免出现梯度消失或者梯度爆炸的情况。

2.2 云杉计数评价指标

为了评价YOLOv3模型云杉计数的结果,选用数量统计评价标准[20]中的平均计数准确率(mean counting accuracy,AMC)、均方根误差(root mean squared error,ERMS)、欠估计(underestimate percent,Up)、过估计(overestimate percent,Op)和总误差(difference percent,Dp)5个评价指标,具体如下所示。

1)平均计数准确率AMC:YOLOv3模型云杉计数的准确率,是最主要的评价指标。

(1)

2)均方根误差ERMS:YOLOv3模型云杉计数结果与人工计数结果的标准偏差。

(2)

3)欠估计Up:YOLOv3模型遗漏计数的云杉数量占云杉总数的比率,假设人工计数的结果为云杉总数的绝对真值。

(3)

4)过估计Op:YOLOv3模型重复计数的云杉数量占云杉总数的比率。

(4)

5)总误差Dp:过估计和欠估计引起的云杉数量统计总误差。

Dp=Up+Op

(5)

式中:N为测试云杉图像的数量;t为云杉图像的标号,表示第t幅云杉图像;Gt为第t幅图像内实际的云杉数量,由人工手动统计得到;Et为YOLOv3模型统计的第t幅图像中云杉的数量。

2.3 云杉图像标注

云杉图像标注遵循如下规则:1)图像边界上不完整的云杉不进行标注;2)相互粘连的云杉独立标注但标注区域可以重叠。云杉标注框选择为矩形,标注类别为Spruce,训练集1 169幅图像平均每幅标注184株云杉。利用LabelImg软件人工标注的云杉训练集图像示例如图3所示。

云杉训练集图像标注信息以PASCAL VOC格式保存,标注后生成对应的xml文件,包含图像存储位置、图像名称、标注矩形框的左上角坐标和右下角坐标、标注矩形框的长度和宽度以及标注名称信息。为了加快YOLOv3模型处理速度并提高对不同尺寸大小云杉的预测能力,归一化处理训练集图像的云杉标注矩形框。假设归一化后云杉标注矩形框中心点坐标记为(x,y),归一化后云杉标注矩形框的宽度和高度分别记为w和h,具体归一化处理如式(6)所示。

(6)

式中:xmax、ymax、xmin和ymin分别为原始图像中人工标注矩形框右下角的x和y坐标、左上角的x和y坐标;w0和h0分别为原始图像的宽度和高度。

2.4 YOLOv3模型训练

实验硬件平台配置为:Intel(R) Core i7-8700K CPU @ 3.70 GHz处理器,16 GB内存,11 GB GeForce GTX 1080 Ti显卡,500 G固态硬盘和4 TB机械硬盘,Ubuntu16.04系统。在Darknet框架[21]下C++编程实现YOLOv3云杉计数模型,程序运行调用CUDA、Cudnn和OpenCV等第三方库,其中OpenCV主要用来读取输入的云杉图像数据和保存测试图像的检测结果。

根据经验设置训练权值衰减和初始学习率分别为0.000 5和0.001;采用批处理量为64的批处理训练方式缩短模型训练时间;权值更新过程采用BN正则化处理,并根据经验在每一层中加入丢弃比为0.5的丢弃层,动量设置为0.9。

其中多尺度预测模块的锚点框数量通过实验确定,绘制锚点框数量与平均交并比之间的关系曲线如图4所示,根据实验测试结果选定锚点框数量为9,平均交并比为84.55%。

图4 锚点框数量与平均交并比关系

3 结果与分析

3.1 实验结果

以测试集505幅图像检验YOLOv3模型性能。每一幅图像中利用最优云杉预测边界框标识检测到的云杉植株,最优云杉预测边界框的数量即为云杉植株数量,结果显示在图像的左上角;人工数量统计的结果设为真值,显示在测试集原图的左上角,具体示例如图5所示。

由图5a、b可知,对于无人机航拍的正常光照下的云杉图像,YOLOv3模型可以准确识别云杉并计数。由图5c可知,对于由光照强度导致的过度曝光和曝光不足的云杉图像,YOLOv3模型也可以很好地完成识别和计数。同时由示例3不难发现,对于过度曝光图像中显示白色的区域,除了有极少数受影响较大的云杉未被识别,大多数云杉均被准确识别;对于曝光不足的图像,YOLOv3模型虽能识别大多数云杉,但由于曝光不足增加了粘连云杉的识别难度,导致识别的准确率略有降低。

图5 人工计数真值和YOLOv3模型计数结果

本文以平均计数准确率、均方根误差、欠估计、过估计和总误差作为评价指标。其中,平均计数准确率是衡量YOLOv3模型性能的主要因素,欠估计和过估计2个指标分别对应漏数和重复计数问题,也是主要的评价指标。漏数是指云杉植株未被检测或者一个预测边界框包含多株云杉;重复计数是指背景等物体被误检为云杉或者多个预测边界框只包含一株云杉。YOLOv3模型对测试集505幅图像计数的平均计数准确率达到90.24%,均方根误差为45.82,欠估计、过估计和总误差分别为15.47%,19.25%和34.72%,基本没有重复计数的情况发生。对于测试集图像中云杉数量较少,排列较稀疏的情况,YOLOv3模型计数结果准确;对于云杉数量较多、云杉较小并且存在一定程度粘连的情况,YOLOv3模型也能准确计数;对于云杉粘连严重的情况,YOLOv3模型能够分割粘连云杉并准确统计数量;对云杉大小不均的情况,YOLOv3模型也能准确统计数量。总之,YOLOv3模型可有效解决单幅图像中云杉粘连和尺寸大小差异性大的问题,准确统计云杉数量。

YOLOv3模型对图像的处理速度与图像中云杉的数量基本成正比关系,具体如图6所示。最少包含76株云杉图像,YOLOv3模型计数用时0.274 s;最多包含381株云杉图像,YOLOv3模型计数用时0.461 s;在测试集中YOLOv3模型统计云杉数量的速度平均为0.415 s/幅,有效地解决了云杉稠密的问题,计数速度完全满足实时性要求。

图6 YOLOv3模型计数时间

3.2 方法对比分析

为进一步验证YOLOv3模型的性能,选取FCN分割[22]加Hough圆检测的方法进行比较,具体比较示例如图7所示。

图7 云杉数量统计方法比较

由图7两种方法的计数结果可知,FCN分割加Hough圆检测结合的计数方法未能很好地处理粘连问题,导致计数过程容易出现重复计数的情况。YOLOv3模型虽能较好地实现图像中稠密云杉的计数,但仍存在对部分稠密云杉检测不佳的情况,如图7中图像2。通过咨询专家和分析可知,导致YOLOv3模型对部分稠密云杉检测不佳的原因是云杉的个体差异,即存在部分非典型云杉。如图7中未被检测的云杉在颜色特征上明显区别于大多数云杉,并且这些非典型云杉的数量较少。从模型训练的角度分析,由于这些非典型云杉的数量相对较少,在训练时也没有足够的非典型云杉数据训练YOLOv3模型,导致YOLOv3模型未能有效检测图像中的非典型云杉。

YOLOv3模型和FCN分割加Hough圆检测2种云杉计数方法在测试集中进行比较,以平均计数准确率、均方根误差、欠估计、过估计和总误差作为评价指标定量对比2种方法,结果如表1所示。

表1 云杉计数方法性能对比

测试结果表明,YOLOv3模型的平均计数准确率达到90.24%,均方根误差、欠估计、过估计和总误差4项评价指标均表现优异,能够有效解决单幅图像中云杉稠密、粘连和尺寸大小差异大的难题,准确统计云杉数量;FCN分割加Hough圆检测方法平均计数准确率为87.75%,比YOLOv3模型低2.49%;均方根误差、欠估计、过估计和总误差比YOLOv3模型分别落后29.32,6.7%,5.7%和12.4%,对于单幅图像中云杉稠密和粘连的现象会出现较为严重的漏数和重复计数的问题。

进一步比较2种云杉计数方法和人工计数的真值,测试集中随机选取32幅图像,按照图像中云杉目标真值升序的方式排列,对比人工计数真值、FCN分割加Hough圆检测方法和YOLOv3模型方法的计数结果,具体如图8所示。

由图8中2种方法计数结果和人工计数真值的对比发现,当图像中云杉数量少于130株时,2种方法和人工计数结果相近,2种方法的准确率都比较高;当单幅图像中云杉数量增多,云杉目标变得越来越稠密时,FCN分割加Hough圆检测方法误差开始增大,将背景识别为云杉的重复计数问题越来越严重,计数准确率下降;YOLOv3模型对于云杉大小差异较大并且稠密的目标检测和计数结果良好,计数准确率基本不变,始终能够较为准确地统计云杉数量。

图8 2种方法计数结果和真值的比较

4 结 论

为实现快速准确统计苗木库存的应用目的,以无人机拍摄的云杉单幅可见光图像为研究对象,提出一种应用YOLOv3模型的云杉检测和数量统计方法。首先利用无人机采集、标注并扩充图像,制作训练集和测试集;使用C++编程利用缺省的Darknet-53框架搭建并训练YOLOv3模型;根据经验设置训练权值衰减、初始学习率、批处理量、丢弃比和动量大小等参数。测试YOLOv3模型,平均计数准确率达到90.24%,均方根误差仅为45.82,欠估计、过估计和总误差分别为15.47%,19.25%和34.72%,有效解决单幅图像中云杉粘连、成像受光照条件变化影响较大的问题,快速准确地统计云杉数量。

进一步验证YOLOv3模型的效果,与FCN分割加Hough圆检测方法以及人工计数真值进行比较。FCN分割加Hough圆检测方法对于云杉数量稠密的图像出现较为严重的重复计数问题,平均准确率比YOLOv3模型低2.49%,均方根误差、欠估计、过估计和总误差分别比YOLOv3模型高29.32,6.7%,5.7%和12.4%。对比结果表明YOLOv3模型对光照具有鲁棒性,能够有效分割粘连云杉,能够较好解决云杉稠密和尺寸大小差异性大的问题,快速准确地统计云杉数量,为实现云杉库存统计迈出了关键性的一步。下一步工作需要研究适用于拼接图像后的云杉计数方法或者采用视频的方式动态统计完整地块种植的云杉数量。

猜你喜欢
云杉计数准确率
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
云杉大苗的起苗与包装
大兴安岭云杉的抚育方法
递归计数的六种方式
古代的计数方法
古代的人们是如何计数的?
云 杉