基于改进YOLO的玉米幼苗株数获取方法
2021-05-19张宏鸣付振宇韩文霆牛当当周新宇
张宏鸣 付振宇 韩文霆 阳 光 牛当当 周新宇
(1.西北农林科技大学信息工程学院, 陕西杨凌 712100; 2.西北农林科技大学机械与电子工程学院, 陕西杨凌 712100;3.赤峰市生态环境局克什克腾旗分局, 赤峰 025350)
0 引言
玉米是我国种植面积广、产量大的作物之一,为我国粮食安全提供了重要保障[1]。玉米产量在很大程度上与幼苗管理过程相关,幼苗株数信息是幼苗管理的重要指标,通过获取幼苗株数信息可确定不同品种玉米的出苗率、种植密度与行间距,为缺苗补种提供依据,进而可提高玉米产量[2-4]。
研究者针对植株数量的获取进行了诸多研究。一些研究通过定制设备放置于田间来获取数据[5-8],但不易满足设备的使用条件,或设备需与植物近距离接触,从而对植物造成损害。近年来,无人机在农业领域得到广泛应用,使数据获取变得方便快捷[9-10]。无人机可搭载不同类型的传感器,采集可见光、多光谱、高光谱和雷达点云等数据。可见光相机成本低、使用方便,是最广泛使用的影像采集设备。通过无人机搭载可见光相机来采集植物正射影像,可用于植物株数的获取。
在株数获取方法研究上,研究者利用图像分割和目标检测等方法对不同植物株数的获取进行了诸多尝试。图像分割法利用植物色彩信息[11-12]、植物表型[13-14]、植被指数[15-17]作为株数提取的主要特征。由于植物生长环境的复杂性,通常采集的数据易受到光照、拍摄角度和位置等因素影响[18],使植物色彩和形态特征容易受到干扰,进而影响特征匹配效果。利用多特征融合[19]或基于深度学习U-Net[20]等模型,虽然能够较好地避免环境噪声的影响、获取植物区域掩膜和边缘信息,但由于没有获取植物坐标,使进一步提取幼苗株数变得困难。目标检测方法可解决上述问题,常见的株数获取目标检测模型有RCNN[21-23]、SSD[24]等。农情监测的实时性和实用性需求的不断提高,使目前株数获取模型难以满足要求。MobileNet[25-26]是目前最成熟的轻量特征提取网络,其复杂度低、易于部署,适合作为幼苗株数提取的检测模型的特征提取器。此外,相较于RCNN和SSD模型,YOLO[27]拥有较好的全局感受野,利用网格划分、锚框匹配和多语义融合检测机制,能够有效改善检测过程感受野受限的问题,从而实现目标的快速检测。
基于此,本文提出一种基于特征增强机制的YOLO幼苗检测模型(FE-YOLO),针对幼苗这类小目标漏检率较高的问题,利用玉米幼苗的特点,使用多种特征增强机制对检测模型进行改进,以期能够快速准确提取幼苗株数信息,为玉米早期管理决策提供信息支持。
1 材料与方法
1.1 实验区概况
实验区位于内蒙古自治区鄂尔多斯市达拉特旗昭君镇(图1),中心地理坐标为(40°25′N,109°56′E)。种植作物为玉米,该地区干燥少雨,冬寒夏热,昼夜温差大,太阳能、风能资源充裕,适合作物种植与培育。
实验采集设备为大疆精灵4 Pro型无人机,拍摄数据为幼苗正射影像。为尽可能消除阴影的影响[28],选取数据拍摄时间为12:00—14:00,相机像素为2 000万,拍摄高度50 m,地面采样距离1.37像素/cm。
1.2 数据集构建与分析
1.2.1数据集构建
本次实验采集幼苗可见光正射影像共892幅,由于采集单幅影像尺寸较大,幼苗密集且占像素区域较小,无法对图像直接缩放后检测,需对采集图像进行切片以保证网络训练和检测速度。
根据实验采集幼苗数据,将幼苗类型划分为少叶型(3叶及以内)和多叶型(3叶以上),两种类型幼苗如图2所示。
对切片图像进行筛选,剔除模糊和畸变的图像,随机选取切片图像500幅作为数据集,将400幅作为训练集,100幅作为测试集。为学习更复杂幼苗特征,将训练集的少叶、多叶图像比例设为2∶3。使用LabelImg软件进行数据标注,按照VOC格式构建数据集。由于户外拍摄环境复杂,需要对数据进行增强处理[29]。
1.2.2数据集分析
根据数据标注情况,选取2 000株幼苗进行统计,得到幼苗边界框面积分布情况如图3所示。
从图3中可看出,幼苗边界框面积为150~900像素的苗数约占样本总数的95%,进一步计算可得出每株幼苗像素数平均约占单幅图像总像素数的0.33%,面积和边长分别为439.13像素和20.96像素,数据集大部分幼苗属于较难识别的小目标。
1.3 幼苗检测技术路线
本文旨在利用目标检测技术对幼苗进行检测,进而估算幼苗种植密度,幼苗检测技术路线见图4,主要研究内容如下:
(1)幼苗数据集构建与分析。通过无人机搭载可见光相机采集幼苗正射影像,对数据进行预处理,分析数据特点,构建用于实验训练的幼苗目标检测数据集。
(2)幼苗目标检测模型构建与优化。根据数据集特点,构建用于幼苗株数获取的目标检测网络模型,并从特征提取网络、特征增强和检测器等方面对模型整体进行改进,提高模型的检测精度。
(3)实验结果评估。将FE-YOLO模型与YOLO v3、MobileNet v2模型进行对比,比较不同模型精度和复杂度,评估不同方法的特点。
1.4 检测网络设计
1.4.1特征提取网络
MobileNet是目前较为成熟的轻量特征提取网络,该网络采用深度可分离卷积将常规卷积分为深度(DepthWise,DW)卷积和逐点(PointWise,PW)卷积,提升运算速度同时实现卷积参数大幅压缩,在降低模型复杂度的同时保证精度和提升网络的训练及推理速度。MobileNet v3在MobileNet v2网络瓶颈层增加了压缩激活模块,并利用网络结构搜索技术改进部分瓶颈层卷积核尺寸。
虽然MobileNet v3网络的瓶颈层能够利用压缩激活模块[30]实现通道注意力的特征增强,但由于该模块对特征改善细粒度不足,拥有较大运算量且特征改善效果有限,因此本实验将压缩激活模块去除,在瓶颈层卷积块使用激活函数。
θ(x)=fMHP(x)
(1)
(2)
式中xc——通道c对应特征图
K——超参数方程个数
C——卷积通道个数
k——超参数方程编号
c——卷积通道编号
由于通道和空间位置特征不同,经过适配器改变的动态激活函数能够实现不同通道和空间特征的增强处理,适配器结构如图5所示。
从图5可知,动态激活模块参数适配器分为2部分,分别为通道参数适配器和空间参数适配器。2种适配器根据作用方式可将动态激活函数分为3类:①通道和空间共享卷积的动态激活模块类型A。②空间共享,通道独立的动态激活模块类型B。③通道和空间独立的动态激活模块类型C。3类模块激活效果见图6。
动态激活函数类型A适用范围较为广泛,所有通道使用同一激活函数且最少额外参数,特征改善效果较为有限。类型B适用于特征提取网络,类型C适用于特征提取网络和检测器。
为充分压缩动态激活函数参数并保持足够特征改善粒度,根据文献[31]的实验结果,使用公式
(3)
由类型B的动态激活函数对瓶颈层进行改进。由于瓶颈层第2个PW卷积会对特征进行压缩,使用其非线性激活函数会使其压缩信息丢失,综合上述分析与实验对比,选择对扩张层中的PW层和DW层进行改进,改进后模块如图7所示。
1.4.2特征增强模块
语义增强模块是ThunderNet[32]中用于增强上下文语义特征的模块,其核心思想是将Stage 3卷积层输出信息向下卷积获取更加抽象信息,并将多个抽象特征调整大小之后融合从而实现语义增强。类似地,TridentNet[33]中将不同感受野进行并行处理后进行合并,能够实现多个感受野和不同语义的融合,提升网络检测效果。
在本实验场景中,玉米使用播种机进行播种,幼苗在拍摄正射影像的二维平面内具有良好位置特性,且幼苗平均面积和边长较小,在大部分特征提取网络下采样卷积过程会导致幼苗纹理和轮廓等信息丢失从而导致检测效果不佳,鉴于此,本文利用卷积神经网络不同分辨率特征图Ci,调整为相同分辨率后将深层抽象语义信息和浅层形态特征相互融合,之后利用空间注意力模块[34](Spatial attention module,SAM)增强空间位置特征,组成特征增强模块(Feature enhancement module,FEM)最终实现多特征增强。语义增强模块和空间注意力模块如图8、9所示。
1.4.3基于改进的YOLO目标检测网络
根据实验设计,选取YOLO检测器作为模型检测器,YOLO检测器利用网格单元检测目标,首先每个检测层将图像划分为M×M单元格,之后不同检测头使用预设锚框对每个单元格进行检测。对于每个单元格,设定单元格位置为(Cx,Cy),单元格内边界框的位置为(tx,ty,tw,th),其中(tx,ty)是该目标相对网格左上角的相对坐标,(tw,th)为边界框宽高对于锚框预定的宽高(Pw,Ph)的缩放因子,边界框坐标信息和宽、高计算式为
bx=σ(tx)+Cx
(4)
by=σ(ty)+Cy
(5)
bw=Pwetw
(6)
bh=Pheth
(7)
式中σ(·)——锚框映射边界框的坐标函数
bx、by——预测边界框坐标
bw、bh——预测边界框的宽、高
基于目标检测任务的特点,本次实验使用边界框、置信度与分类损失的和作为损失函数,损失函数L计算式为
(8)
式中N——检测边界框个数
i——网格编号
j——边界框编号
实验中发现,轻量特征提取网络对于幼苗边界框精准度较低,经过不同边界框损失函数实验测试[35-37],选取含有边界框近似度的损失函数LCIOU,定义为
LCIOU=1-RIOU+RCIOU
(9)
(10)
(11)
(12)
式中b——预测边界框bgt——真实边界框
l——b与bgt最小闭包对角线长度
α——权重系数v——长宽相似比
ρ2(b,bgt)——b与bgt的欧氏距离
RIOU——交并比
w、h——b的宽、高
wgt、hgt——bgt的宽、高
根据上述描述,使用基于改进的MobileNet网络作为特征提取网络,以YOLO作为检测器,融合了多特征增强机制的幼苗检测模型FE-YOLO(Feature enhancement YOLO)网络结构如图10所示。
1.4.4模型精度评价
模型精度评价分为指标对比和可视化对比2部分。首先对目标检测模型的指标进行比较,对比模型检测精度和复杂度。之后对检测效果进行可视化对比,对比幼苗漏检和错检情况,最后利用特征可视化技术对本文提出的特征改进效果进行验证。
目标检测模型评价指标为精确率P和召回率R,根据目标检测任务的特点,需要引入交并比(Intersection over union,IOU)以度量预测框与真实框相似程度。
为度量精确率和召回率实际检测中综合表现,使用平均检测精度(Mean average precision,mAP)作为模型效果的综合评估指标,mAP是指每个类别检测精度的平均值,由于本文是单类别目标检测,因此mAP为幼苗PR曲线的面积。同时为了度量精确率和召回率的平衡表现,引入F1指数进行度量。
为进一步细化分析,选取FE-YOLO和YOLO v3进行多方面对比,对比内容如下:
(1)幼苗检测效果对比。设定置信度阈值使网络输出高于置信度阈值的目标,统计漏检和错检测株数,对比幼苗目标检测效果。对多叶型和少叶型的幼苗检测召回率进行对比,评估模型对复杂幼苗特征的适应性。
(2)模型复杂度比较。对网络模型的参数量(Params)、每秒10亿次的浮点运算次数(Giga floating-point operations per second,GFLOPS)和每幅影像的平均推理时间(ms)作为模型复杂度评估参数,参数越少,模型所需计算资源越少,计算量和推理时间越低,说明模型的计算复杂度越小,更适用于边缘设备的部署。
(3)特征可视化对比。使用基于梯度的类激活热力图方法[38]获取网络输出特征的响应,通过对比幼苗和背景区域的特征,可直观了解不同模型关注特征的情况。
1.5 幼苗种植密度估算
种植密度是指单位面积种植的植物的株数,受人群计数方法的启发,可利用类似思路估算幼苗的种植密度。人群计数中的密度估计方法通常可分为检测法和回归法[39]。检测法通过辅助方法获取单位面积内目标数量从而估算密度,而回归法则是通过建立目标数量与密度的映射模型从而估算密度。前者适合遮挡少且面积易于获得的场景,后者适合对象密集的复杂场景。
由于本实验采集数据为幼苗正射影像,可近似认为从无遮挡的二维平面进行计数和密度估算,采用检测法估算幼苗的种植密度较为合适。该方法利用地面采样距离和选取像素区域首先计算出区域面积S,然后根据选区识别的幼苗株数Ne估算幼苗种植密度Re。
(13)
2 实验结果与分析
2.1 幼苗检测效果对比
2.1.1模型检测结果对比
对不同方法进行实验,得到不同模型检测的P、R、mAP、F1指数如表1所示。
表1 不同模型效果对比Tab.1 Result evaluation of different models %
由表1可知,FE-YOLO模型的召回率、mAP和F1指数最高,其中召回率比YOLO v3模型高3.05个百分点,达到了91.54%,且FE-YOLO模型的精确率和召回率相对于原网络MobileNet v2模型分别高3.88、3.73个百分比,FE-YOLO模型比YOLO v3模型的精确率低0.22个百分点,但考虑幼苗边界框准确率差异对幼苗株数获取影响较小,该部分差距可以忽略不计。
设定置信度阈值为0.3,使网络只检测高于置信度的幼苗目标,对比YOLO v3和FE-YOLO对幼苗识别效果(图11)。
从图11b、11d虚线围出区域对比可以看出,YOLO v3模型会对粘连和较小幼苗存在错误的识别,而FE-YOLO模型有更好的检测效果。但由于网络的特征容量有限,使得FE-YOLO模型在幼苗边界框的定位精确率这方面有待提高(图11a、11c中实线框部分)。
针对上述描述两种情况,对FE-YOLO模型和YOLO v3模型的漏检测和错误检测株数进行统计,得到结果如表2所示。
表2 不同模型错误检测株数Tab.2 Error detection by different models 株
从表2可以看出,FE-YOLO模型两种检测情况均优于YOLO v3模型,其中FE-YOLO模型的漏检株数仅为YOLO v3的65.31%,相对于YOLO v3模型误检率减少了25.53%。
对测试集中不同类型幼苗检测进行对比,对比少叶型和多叶型幼苗的召回率,以评估网络对复杂特征的适应性(表3)。
表3 不同类型幼苗召回率对比Tab.3 Recall rate of different types seedlings %
从表3可以看出,YOLO v3和FE-YOLO模型对于少叶型幼苗识别效果较好,由于多叶型幼苗叶片多且叶片面积较大,导致幼苗重叠,阴影干扰加剧,使得两个模型对多叶幼苗检测效果变差,但FE-YOLO模型对多叶幼苗识别的召回率比YOLO v3模型高2.89个百分点,说明FE-YOLO模型对复杂的多叶幼苗特征有较好的适应性。
2.1.2模型复杂度对比
对FE-YOLO和YOLO v3模型的参数、计算量和推理时间进行统计,结果如表4所示。
表4 不同模型复杂度对比Tab.4 Complexity evaluation of different models
FE-YOLO模型GFLOPS和推理时间分别为YOLO v3的7.91%和33.76%。说明本文改进网络不仅能够提升检测精度,还能保证网络的检测速度,在边缘设备的部署具有很高可行性。
2.1.3模型特征可视化对比
对YOLO v3和FE-YOLO模型的特征提取网络输出特征进行可视化,结果见图12。图中亮度较高部分表示网络越注意该区域特征,越暗则表示该网络对于该区域响应程度越低。
选取幼苗区域(实线框标出)进行对比(图12),可以看出FE-YOLO模型对于幼苗目标的响应区域相比YOLO v3模型更加集中,通过幼苗部分区域可加以区分。对比虚线框标出的背景区域,发现YOLO v3模型会对喷灌机轮印进行响应,此外FE-YOLO模型的背景区域较YOLO模型更深,可见FE-YOLO对背景区域给予更少的关注。
通过上述对比可知,FE-YOLO模型可显著地关注幼苗区域并能抑制背景区域,从而获得更高的幼苗检测召回率。
2.2 幼苗种植密度估算
按照幼苗种植密度估算公式,选择对应区域后对检测的幼苗完成选区的密度估算,结果如图13所示。从图13可以看出,该方法可以针对选区估算幼苗种植密度,给幼苗管理提供有效支持。
3 结论
(1)提出的基于多种特征增强改进的FE-YOLO模型比YOLO v3模型的召回率提升3.05个百分点,少叶型和多叶型幼苗召回率比YOLO v3分别提高1.03、2.89个百分点,说明FE-YOLO模型能够有效改善幼苗小目标召回率低的问题,实现玉米幼苗的准确检测。
(2)FE-YOLO模型具有较快的推理速度,参数量仅为YOLO v3模型的16.17%,比常规模型的计算需求和复杂度更低,适合在边缘设备部署,进而实现幼苗株数的实时监测与播种质量的快速评估,具有一定的应用价值。