基于改进CenterNet的玉米雄蕊无人机遥感图像识别
2021-10-13杨蜀秦刘江川徐可可宁纪锋张智韬
杨蜀秦 刘江川 徐可可 桑 雪 宁纪锋 张智韬
(1.西北农林科技大学机械与电子工程学院, 陕西杨凌 712100; 2.农业农村部农业物联网重点实验室, 陕西杨凌 712100;3.西北农林科技大学信息工程学院, 陕西杨凌 712100; 4.陕西省农业信息感知与智能服务重点实验室, 陕西杨凌 712100;5.西北农林科技大学水利与建筑工程学院, 陕西杨凌 712100)
0 引言
玉米属于雌雄同株的植物,雄蕊位于植株顶端,是判断玉米进入抽雄期的关键标志。准确识别抽雄期雄蕊的位置、数量、尺寸等特征可为去雄等田间作业管理提供有效信息,同时也可作为玉米良种培育的重要参考依据[1-3]。由于玉米植株密集且雄蕊位置较高,在识别大范围玉米种植区域雄蕊时,传统人工调查的方法存在主观性高和效率低等问题,影响统计结果的准确性。
无人机遥感因其具备机动性强和成像分辨率高等特点,为检测抽雄期玉米雄蕊提供了一种有效的途径。文献[4]通过修改Faster R-CNN[5]模型的锚框尺寸提高对无人机拍摄的玉米雄蕊图像的识别精度。文献[6]采用轻量级的SSD_mobilenet[7]模型对玉米雄蕊图像进行识别,为无人机机载系统部署雄蕊检测系统提供参考。以上研究均采用有锚框(Anchor-base)算法,其检测结果依赖锚框的尺寸和比例等参数的设置和调试[6-9]。在大田作物目标识别和计数方面,文献[10]采用传统的SVM学习算法对小麦骨架特征进行识别,进而实现小麦麦穗计数。文献[11]研究发现基于特征的稻穗检测方法对小尺寸稻穗目标有较大的提升效果。文献[12]对玉米无人机遥感影像进行作物和土壤分离后,利用骨架提取和毛刺处理等形态学方法提取玉米苗形态,采用Harris角点检测算法检测玉米苗期影像的株数信息。
对大田作物检测识别主要有基于传统的机器学习方法[13-14]和基于深度学习[15-17]的方法。基于深度学习的方法因为能够提取图像的高层语义特征和端到端的训练已成为主流方法。目前面向农作物检测计数的主要方法是基于锚框的Faster R-CNN和SSD 2种方法,虽然能够取得较高的识别精度,但仍依赖于复杂的锚框设计,网络结构复杂。另一方面,由于基于无锚框的CenterNet模型[18]在特征提取阶段将图像分辨率降为原来的1/4,仍能有效保持目标结构,因此,凭借其算法简洁和无非极大值抑制等操作,在目标检测应用领域[19-23]已显示出一定优势。
玉米抽雄期的雄蕊尺寸相对较小,直接使用CenterNet模型,其特征提取过程会对小目标玉米雄蕊压缩过度,同时影响雄蕊的检测速度。因此,为实现快速、准确地检测无人机遥感拍摄的农田玉米雄蕊,本文从简化CenterNet网络结构加速雄蕊检测和在特征提取网络中增加坐标信息增强雄蕊检测的准确性两方面进行改进,提高玉米抽雄期的雄蕊目标检测精度和速度,以期为玉米抽雄期的农情监测提供参考。
1 数据获取与处理
1.1 研究区域
试验地点位于陕西省关中平原中部的西北农林科技大学玉米试验田(108°4′19.53″E,34°17′34.24″N),如图1所示,属于温带半干旱或半湿润气候,年平均气温11~13℃,年降水量500~700 mm。试验区域面积约2 080 m2,种植的夏玉米为一年一熟制,于2020年6月中旬播种,并在10月上旬收获。
1.2 数据采集
采用大疆精灵4型多光谱版无人机(图2a)拍摄试验区域遥感影像。该无人机在自动飞行和手动操作下最大飞行速度分别为6 m/s和5 m/s,搭载的多光谱成像系统集成1个可见光传感器和5个用于多光谱成像的单色传感器(图2b)。由于可见光传感器具有更高的分辨率,因此本研究采用拍摄的可见光图像检测抽雄期玉米雄蕊。于2020年8月中旬拍摄抽雄期玉米农田,设置无人机飞行高度为10 m,地面采样距离(Ground sample distance, GSD)为0.53 cm/像素,云台拍摄角度为垂直地面,航向重叠率80%,旁向重叠率70%,共获得449幅1 600像素×1 300像素的可见光遥感图像。
1.3 数据集构建与分析
为防止样本数据过度重复,将拍摄获取的数据集每间隔2幅进行采样,并剔除样本中质量较差的图像,最后共获得140幅玉米雄蕊图像,按照9∶1比例划分126幅为训练集和14幅为测试集。每幅训练集图像随机裁剪出15个600像素×600像素区域,并采用高斯加噪、镜像变换、改变亮度、平移变换的方式将训练集扩充至9 450幅,如图3所示。
结合地面调查,采用LabelImg软件对雄蕊进行标注。从玉米抽雄期的雄蕊遥感影像可以看出,雄蕊图像尺寸较小。借鉴COCO数据标注规范[24],将尺寸小于等于32像素×32像素的目标认定为小目标,大于96像素×96像素的为大目标,其余的为中等目标。图4是对数据集中所有雄蕊的尺寸统计,可以看出小目标和中目标占比分别为22.77%和77.11%,大目标占比仅0.12%。在小目标中,绝大部分雄蕊尺寸均大于16像素×16像素,这将指导本文基于CenterNet修改雄蕊检测骨干特征提取网络。
2 研究方法
2.1 CenterNet网络
CenterNet是无锚框目标检测算法的典型代表,该算法在4倍下采样的高分辨率特征图中,预测目标的中心点、中心点偏置、预测框宽高,整体架构非常简单。CenterNet支持Hourglass[25]、DLA[26]、Resnet[27]作为骨干特征提取网络,由于Hourglass和DLA网络参数量较大,不便于实际应用,故采用Resnet50作为骨干特征提取网络。通过对骨干网络末端特征层进行反卷积,获取4倍下采样高分辨率特征图,进而回归图像热力特征图、目标中心点偏置、目标框尺寸信息获取预测结果。CenterNet相较于传统的候选框筛选方法,避免了非极大抑制操作,缩短了检测目标的时间,同时也克服了Faster R-CNN检测方法依赖于复杂的锚框设计,适用于田间的玉米雄蕊识别。
CenterNet对于输入的图像,通过高斯核函数将其映射为热力图进行训练,保留预测热力图3×3邻域的局部极大值,进而确定目标中心和类别。高斯核函数公式为
(1)
式中 (x,y)——图中每个点的坐标
(xgt,ygt)——雄蕊中心点坐标
σ——自适应标准差[28],取1/3
yxyc——归一化后的输出真值
由于训练的热力特征图分辨率为原图的1/4,因此存在中心点位置的偏差,在训练过程中需要同时对预测框的宽高和中心点偏置进行回归训练。因此,CenterNet模型预测包括热力图损失Lk、中心点偏置损失Loff和目标框宽高损失Lsize3个损失函数,分别定义为
(2)
(3)
(4)
式中N——雄蕊个数
P——真实中心点
R——下采样倍数,取4
α、β——损失中的超参数,分别取2和4
总损失Ldet为3种损失之和,定义为
Ldet=Lk+λsizeLsize+λoffLoff
(5)
式中λsize、λoff——比例因子,分别取0.1、1
2.2 改进的CenterNet模型
如前所述,在无人机遥感玉米抽雄期图像中,雄蕊主要体现为小目标(小于等于32像素×32像素)和中等目标(大于32像素×32像素且小于等于96像素×96像素)。针对玉米雄蕊中小目标的特点,本文通过简化特征提取骨干网络,加快检测速度,同时,在CenterNet的特征提取网络中增加坐标信息,以增强雄蕊检测的准确度。图5为改进的CenterNet玉米雄蕊检测网络结构图。图中w为特征尺寸长,H为特征尺寸宽。
2.2.1优化骨干网络
CenterNet特征提取骨干网络的最后一层将图像缩小为原图的1/32,这对于尺寸小于32像素×32像素的雄蕊小目标将造成其结构信息丢失,从而影响最终的检测结果。因此,本文将去掉骨干特征提取网络的最后一层,仅使图像缩至原图的1/16。如图5所示,在保留了雄蕊小目标结构信息的同时,减少骨干网络模型的参数,从而提升CenterNet的检测精度和速度。相应地,将反卷积模块第1层重新设置其卷积核尺寸、padding填充、卷积步长3个参数,实现尺寸不变的特征传递。
2.2.2添加坐标信息增强定位准确性
在Coordconv坐标卷积[29]模型中,将坐标信息作为特征层信息输入进行卷积,根据前层传入的特征层长宽建立2个和特征层尺寸相同的坐标信息层。第1层记录每层特征层横坐标信息,第2层记录每层特征层纵坐标信息。在卷积前通过对添加坐标信息后的特征层进行归一化处理,保留特征之间的相对位置,便于卷积访问特征坐标信息。通过在特征图中添加坐标位置信息,增强深度学习模型的位置敏感性,从而提升检测精度。
在本研究中,玉米雄蕊属于中小目标,对位置误差较为敏感。试验发现,在图像分辨率较高的最后一个反卷积层中添加坐标信息,能够增强特征的位置敏感性,从而改进玉米雄蕊检测的精度。因此,本文在反卷积层的最后一层添加横坐标层和纵坐标层信息(图5),然后进行特征融合和归一化处理,进一步提升模型精度[30]。
2.3 评价指标
采用准确率(P)、召回率(R)、平均精度(AP)、交并比(IoU)和平均帧率(FPS)来评估模型的性能。IoU用于测量真实框与检测框之间的重叠度,重叠度越高,相关度越高。本研究对玉米雄蕊目标进行检测识别,选择IoU大于30%作为判断雄蕊检测的阈值。在上述评价指标中,模型性能参数的重要性依次为平均精度、召回率、准确率。
3 结果与分析
3.1 模型训练
采用随机裁剪的600像素×600像素图像构建训练集,预测时对无人机拍摄的分辨率为1 300像素×1 600像素的图像进行检测和计数。显卡为NVIDIA Tesla P100,显存为16 GB,操作系统为 Ubuntu 16.04,深度学习框架为Pytorch 1.4。
模型训练将所有训练集按9∶1随机划分为训练集和验证集,以防止模型过拟合训练。模型训练100个周期,前50个周期冻结骨干网络参数,只训练模型分类器参数,初始学习率为1×10-3,批处理尺寸为8,权重衰减为5×10-4;后50个周期解冻骨干网络参数,初始学习率为1×10-4,批处理尺寸为4,权重衰减为5×10-4,共迭代850 500次。
3.2 不同目标检测模型的试验结果
用相同数据集分别在Faster R-CNN、YOLO v4网络上进行同批次的训练,与改进后的CenterNet模型进行对比,检测结果如表1所示。尽管YOLO v4的准确率最高,但召回率指标显示其漏检率仅高于Faster R-CNN,并且复杂锚框设计也影响了它的检测速度。而在综合指标AP方面,改进的CenterNet模型AP为92.40%,分别比Faster R-CNN、YOLO v4和原CenterNet高26.22、3.42、0.62个百分点。改进模型的参数量仅为45 MB,低于其余3个模型的参数量,对应其检测速度最快为36 f/s,分别比Faster R-CNN、YOLO v4以及原CenterNet高32、23、3 f/s。
表1 不同目标检测模型的玉米雄蕊检测试验结果Tab.1 Maize tassels test result of different object detection models
图6为部分检测结果及部分细节展示图,预测图中共包含64个玉米雄蕊,蓝色框、粉色框和红色框分别代表正确检测、漏检和误检。其中,Faster R-CNN检测结果最差,正确检测33个雄蕊目标,漏检31个,误检1个;YOLO v4正确检测53个雄蕊目标,漏检11个,CenterNet模型正确检测55个雄蕊目标,漏检9个,误检1个,改进后的模型正确检测59个雄蕊目标,漏检5个。
如图6a所示,Faster R-CNN在预测结果中漏检目标较多,并且存在非极大值抑制后保留识别框的问题,图6b和图6c是YOLO v4和CenterNet算法的检测效果,相对于Faster R-CNN,漏检明显减少,改进后的CenterNet算法检测精度进一步提升,在减少漏检的前提下提高了检测速度。
3.3 改进的CenterNet识别结果
表2列出了改进的CenterNet模型中各个部分的试验结果。CenterNet-Backbone为简化后的骨干网络模型,CenterNet-Coordconv为仅在CenterNet网络添加坐标信息的改进模型,改进的CenterNet为在优化骨干网络的基础上添加坐标信息。可以看出,原CenterNet模型参数量较大且检测精度和检测速度存在提升空间;去除CenterNet骨干网络的最后一层特征提取部分,整体AP值略低于原始网络,但因为参数量明显降低,识别速度因此提升了6 f/s;仅在网络中加入坐标信息的CenterNet-Coordconv相较于原CenterNet模型,AP提升了0.45个百分点,检测速度略降;而本文提出的改进CenterNet方法融合二者优点,相较于原始模型在平均精度和速度上分别提升了0.62个百分点和3 f/s,实现了对玉米雄蕊的高精度快速识别。
表2 改进的CenterNet算法玉米雄蕊识别试验分析Tab.2 Experimental analysis of maize tassels recognition based on improved CenterNet
3.4 讨论
(1)基于锚框与基于中心点算法的比较
玉米雄蕊主要呈现为中小目标,不同雄蕊存在明显的形态区别,基于锚框的Faster R-CNN、YOLO v4等算法对模型训练存在过拟合,这一点体现在图6a和图6b中的识别框过大和漏检数量较多。本研究采用无锚框的CenterNet算法,通过热力特征图来回归检测目标的中心点坐标,避免了传统方法中预设锚框带来的局限,从而有效降低玉米雄蕊漏检。在表1中,Faster R-CNN、YOLO v4的召回率分别为72.61%、89.22%,改进后的CenterNet召回率达到93.76%,显著减小了漏检率。基于中心点的检测算法对图像尺寸的依赖较小,通过学习不同形态和尺寸的玉米雄蕊中心点特征,能够准确识别农田环境下的雄蕊目标。
(2)CenterNet算法检测遮挡雄蕊存在的缺陷
观察图6d可以发现,漏检的玉米雄蕊多受到叶片或其他雄蕊遮挡,这种情况同样存在于原CenterNet模型的检测结果中(图6c)。分析其主要原因有:①影响模型准确提取雄蕊特征,导致其无法突出雄蕊的热力中心点。②算法在热力图预测目标中心点时,将图中每个像素点的峰值与8连通域内各个峰值进行筛选,保留峰值最高的点,而雄蕊的相互重叠,会误抑制被遮挡的雄蕊中心点峰值,从而导致模型对重叠雄蕊产生漏检。
4 结论
(1)针对无人机遥感拍摄的农田复杂背景下玉米雄蕊检测问题,提出了一种优化骨干网络和添加坐标位置信息的CenterNet检测模型。简化的骨干网络能够减少CenterNet模型参数,从而提高检测速度,同时几乎不影响CenterNet的检测精度。通过在特征中添加坐标位置信息,增强模型的位置敏感性,提高检测精度。最后,改进的CenterNet模型融合二者的优点,在提升检测精度的同时,保持了CenterNet的实时性。
(2)与有锚框的Faster R-CNN和YOLO v4相比,改进的CenterNet算法在相同的数据集条件下,AP分别高于Faster R-CNN、YOLO v4模型26.22、3.42个百分点,检测速度分别比Faster R-CNN、YOLO v4模型高32、23 f/s。AP值较CenterNet算法提升了0.62个百分点,检测速度提升了3 f/s。因此,提出的CenterNet玉米雄蕊识别模型为玉米抽雄期的农情监测提供了一种有效的方法支持。