赵 芳,贺 怡
(新乡学院 计算机与信息工程学院,河南 新乡 453000)
河南作为我国农业大省,粮食总产量常年位居全国前列,对全国粮食增产的贡献率达30%以上,为我国的粮食安全重任作出了“河南贡献”[1]。近年,河南省向高效种养业全面转型升级,启动建设了多个省级现代农业产业园及农业生产基地。在大规模农业生产基地的建设过程中,对农作物产量进行实时测量是一项必备的能力。目前常用的自动产量测量技术是通过人工为每颗作物安装RFID标签或传感器,基于物联网技术采集每颗农作物的生长数据[2]。虽然物联网技术能够有效地监控农作物的生长情况,但也为大规模农业生产基地带来了庞大的人工负担与经济负担[3]。
随着民用无人机向低成本、易操控的方向发展,许多重要领域运用无人机来辅助解决工程测量任务[4-5],并取得了良好的效果。许多科技工作者也对无人机在现代种养业的应用进行了尝试,如利用无人机估算水肥一体化的玉米出苗率[6]、利用无人机影像诊断冬小麦的氮素营养[7]以及利用无人机航拍监测地膜农田的地理分布情况[8]等,这些方案以有限的经济成本实现了良好的应用效果。虽然无人机遥感影像技术具有机动性强、分辨率高及成本低的优点,但也存在目标检测难度大与检测精度不足的问题。
传统的目标检测方法大多以图像识别为基础,通过穷举法选出所有物体的边框,提取这些区域的特征再进行识别。随着深度学习技术的发展,CNN[9]、LSTM[10]与YOLO[11]等多种深度神经网络在目标检测问题上发挥了重要作用。R-CNN是第一个基于深度学习的目标检测框架,该框架采用提取框技术提取区域卷积神经网络特征,再通过图像分类与非极大值抑制2个步骤进行目标检测。R-CNN对于高分辨率图像大约需生成2 000个候选区域,然后每个候选区域被缩放成固定尺寸再送入CNN模型中,最后得到一个特征向量。经研究发现,R-CNN的候选区域质量有待加强,随后Faster R-CNN则对R-CNN网络进行改进,提高了候选区域的质量。随着Faster R-CNN在舰船检测[12]、多尺度坦克装甲车辆检测[13]以及道路检测[14]等问题上的成功应用,表明Faster R-CNN在目标检测领域具有良好的成效。Faster R-CNN在2个阶段之间共享卷积特征,该机制提高了目标准确率与处理速度,但由于卷积运算的特征图尺寸限制,Faster R-CNN的候选区域通常为300个。
由于现代农业的农作物种植密度较高,无人机遥感影像往往包含成百上千个目标农作物,因此Faster R-CNN固定的候选区域数量无法满足农作物目标检测的需求。为了利用Faster R-CNN框架在计算效率与检测性能上的优势,并解决其固定数量方形候选区域所导致的限制,本文提出了基于金字塔网络(Feature Pyramid Networks,FPN)的多尺度局部特征提取与聚合方法,利用该方法代替Faster R-CNN的区域候选网络(Region Proposal Network,RPN)模块。
本文提出的目标检测网络(FPN R-CNN)主要解决了Faster R-CNN的2个问题:① Faster R-CNN候选区域的数量限制。本文通过金字塔网络提取多尺度局部特征,自适应地检测所有目标,解决了Faster R-CNN候选区域的数量限制;② Faster R-CNN基于方形边框提取候选区域,难以处理农作物的遮挡、旋转与缩放等形变问题。本文未采用基于边框的区域选取机制,而是直接将多尺度局部特征进行聚合,基于高判别力的特征检测农作物。上述2个机制提高了高密度种植场景下的农作物检测性能。
Faster R-CNN目标检测框架主要包括候选区域提取与目标分类2个阶段:第一阶段采用RPN提取候选框,其本质是一种基于滑动窗口的无类别目标检测网络;第二阶段采用所提取候选区域的特征,训练相应的分类器以完成目标识别。
由于RPN大约提取300个候选区域,且固定的边框机制难以兼容尺寸差异大、外形变化大的目标,因此,本文设计了基于FPN[15]的多尺度局部特征提取与聚合方法,采用该方法替换Faster R-CNN框架的RPN模块,利用不同尺寸、不同纵横比的滑动窗口提取候选区域的局部特征,从而增强对目标的尺寸、遮挡及外形变化的鲁棒性。第二阶段,将聚合特征集送入后续网络对感兴趣区域进行定位与识别。FPN R-CNN总体框架如图1所示。
图1 FPN R-CNN目标检测的框架Fig.1 Target detection framework of FPN R-CNN
由于卷积神经网络ResNet-101[16]提取特征的速度与性能均较高,因此采用ResNet-101作为FPN R-CNN的骨干网络。第一阶段,将ResNet block 3提取的CNN送入FPN处理;第二阶段,将ResNet-101 block 3的特征送入ResNet-101 block 4进行下一层卷积运算,最终利用级联的特征集进行目标识别与定位。
本文对Faster R-CNN的RPN模块进行了修改,基于FPN设计了多尺度局部特征提取与聚合方案,从而解决RPN候选区域限制的问题。首先,将卷积激活图送入多尺度FPN处理,产生的多尺度特征图送入密集池化层,提取每个对象的局部特征。密集池化层将不同尺寸、纵横比的目标特征图映射到聚合的激活图中,该机制对目标的尺寸、遮挡与外形变化具有鲁棒性。
设计了基于FPN的多尺度局部特征提取与聚合模块,该模块替换Faster R-CNN框架的RPN模块,基于FPN的多尺度特征提取与聚合模块如图2所示。首先,FPN对输入卷积特征图进行多尺度学习,将每个尺度的特征图送入3个不同形状的窗口进行处理,提取不同形状的局部特征,最终将多尺度特征聚合成总特征集。
图2 基于FPN的多尺度特征提取与聚合模块Fig.2 Multi-scale extraction and aggregation module of based on FPN
多尺度局部特征提取与聚合过程主要分为以下3个步骤:
步骤1:基于FPN提取多尺度特征,产生多尺度特征图。将输入激活图记为ψ,平均池化窗口记为P={p1,p2,…,pn},那么输出的多尺度特征图F可表示为:
F=Pa(ψ;P),
(1)
式中,ψ∈Rw×h×c,其中w,h与c分别为特征图的宽度、高度与通道数。
步骤2:对F进行最大池化处理,获得局部特征图
φ=Pm(F;w′,h′),
(2)
式中,w′,h′分别为F的宽与高。通过步骤1与步骤2生成不同尺度的局部特征。
步骤3:通过平均池化对每个目标对象的局部特征进行聚合。由于该特征集集合了不同尺度的特征与不同形状滑动窗口的特征,因此该特征集对目标的外形变化具有鲁棒性。
因为农作物在尺寸、角度与外形上均可能存在差异,因此该模块使用不同尺寸与纵横比的滑动窗口可提高每个目标的特征判别力。
目标的空间位置是农作物检测任务的重要信息,因此对Faster R-CNN的第二阶段进行轻量化修改。图3描述了生成感兴趣区域(Region of Interest,ROI)空间特征的流程。ResNet-101 block 3的特征包含相关的空间信息,因此将block 3输出的卷积图与1.2节输出的卷积图结合成ROI特征集。假设共生成n个ROI特征集,将n个特征集送入ResNet-101 block 4进行卷积,在softmax层进行目标识别,在回归层进行目标中心定位。
图3 生成ROI空间特征的流程Fig.3 Process of ROI space feature generation
FPN R-CNN训练包含目标识别与目标定位2个任务,通过二元分类器解决目标识别问题,将图像分类成前景(农作物)与背景;通过回归方法解决目标定位问题,识别每个农作物的几何中心点。为神经网络的代价函数增加一个权重参数wi来权衡分类层与回归层。FPN R-CNN的代价函数可表示为:
L(pi,ti)=Lcls+Lreg=
(3)
式中,pi为候选区域i是目标的概率;p′i为标识变量,如果候选区域i是目标,那么p′i=1,否则p′i=0;ti为预测的目标中心坐标;t′i为正定的目标中心坐标;wi为分配的权重;Ncls与Nreg为mini-batch的尺寸,通常取值256;Lcls为二值交叉熵函数。Lcls的计算式可表示为:
Lcls(pi,p′i)=CE(pi,p′i)=
-p′ilbpi-(1-p′i)lb(1-pi)。
(4)
采用均方误差(Mean Squared Error,MSE)作为神经网络回归层的代价函数,MSE的计算公式如下:
(5)
式中,qi为第i个农作物的预测中心位置;q′i为第i个农作物的人工标注中心位置。
FPN采用8×8的特征图,池化窗口大小为4×4,2×2和1×1,采用3种纵横比的池化窗口,即1∶1,1∶2和2∶1,因此池化窗口的总数量为10=3×3+1。
FPN R-CNN第一阶段与第二阶段的代价函数相同,均为式(3)所得结果。采用随机梯度下降(Stochastic Gradient Descent,SGD)训练FPN R-CNN网络,SGD动量等于0.9,权重衰减等于5×10-4,patch大小等于16,超参数λ等于0.6。最大epoch数量设为100,初始学习率等于10-5,每隔5个epoch学习率衰减0.1。
采用大疆“Air 2S”型号的无人机采集玉米种植基地的遥感影像,该无人机装备了一英寸RGB光学CMOS相机。相机的最大视角为88°,最大分辨率为5 472 pixel×3 648 pixel。无人机在16 m高度以2 m/s的速度飞行,每幅图像覆盖的地面面积约为160 m2。
以新乡学院附近的玉米种植基地为实验地点,该基地的经纬度为(113°55′94″E,35°18′29″N),图4(a)所示是无人机在40 m高度拍摄的玉米种植基地全貌图,图4(b)是无人机在16 m高度拍摄的RGB图像。无人机在16 m高度以2幅/秒的速率共拍摄100张图像,所采集的100幅图像随机分成3个子集,70%的图像作为训练集,20%的图像作为验证集,10%的图像作为测试集。
(a) 玉米种植基地全貌图
(b) 无人机16 m高度航拍图图4 玉米生产基地航拍Fig.4 Aerial images of corn production base
通过人工统计玉米种植的相关数据作为实验的正定数据,通过与正定数据比较来分析本文智能化测量系统的性能。首先采用Matlab软件的“Image Segmenter”工具将图像分割,再采用该工具的“Draw ROIs”功能提取玉米株前景对象,然后人工标注100幅图像的所有玉米株目标。
采用精度、召回率与F-measure评价智能测量系统的性能。精度PR为:
(6)
式中,TP为智能测量系统检测的真正样本数量;FP为假正样本的数量。
召回率Recall为:
(7)
式中,FN为检测的假负样本数量。
F-measure的计算公式如下:
(8)
式中,PR为精度值;Recall为召回率值。
为了使Faster R-CNN支持足够的候选区域,在RPN模块使用Selective Search算法在图像中从上往下提取1 000个候选区域。Faster R-CNN[17]与FPN R-CNN两个网络模型在训练集上的一次收敛曲线如图5所示,Faster R-CNN的收敛速度较快,大约在40次epoch可达到收敛,对应的代价函数MSE值约为380。FPN R-CNN约在60次epoch达到收敛,对应的代价函数MSE值约为100。比较Faster R-CNN与FPN R-CNN二者的训练结果可知,Faster R-CNN的训练速度较快,而FPN R-CNN的检测精度较高。
图5 神经网络在训练集上的收敛曲线Fig.5 Convergence curve of neural network on training set
将训练的2个神经网络在测试集上进行实验,图6所示是一部分玉米株的检测结果实例。图6(a)中共有2个漏检样本与3个误检样本,图6(b)中共有2个漏检样本与1个误检样本。虽然Faster R-CNN 网络成功降低了区域生成步骤的计算成本,但仍需提取1 000个不同尺度的候选区域,这些候选区域对玉米株外形变化与遮挡的鲁棒性较差,将一些玉米叶片错误判断为玉米株。
(a) Faster R-CNN
(b) FPN R-CNN图6 玉米识别情况Fig.6 Corn recognition situation
图7统计了2个检测模型在测试集上各个性能评价标准的平均值及标准偏差。FPN R-CNN的检测精度高于Faster R-CNN,但召回率略低于Faster R-CNN。由于Faster R-CNN对前景对象的外形敏感,玉米株存在大量高度相似的叶片,导致Faster R-CNN极容易将相似的叶片识别为玉米株对象。虽然Faster R-CNN检测出较多的玉米株目标,实现了较高的召回率,但其中包含较多误检样本,导致其检测精度下降。本文FPN R-CNN通过不同尺度的池化窗口对激活图进行密集池化,基于所生成的局部特征识别前景目标,该模型对玉米株的外形具有鲁棒性,因此本文FPN R-CNN模型的误检率较低。由于上述原因,FPN R-CNN的F-measure指数优于Faster R-CNN。
图7 玉米产量测量的性能Fig.7 Performance of corn yield measurement
表1统计了Faster R-CNN与FPN R-CNN两个网络模型处理每幅测试图像所需CPU时间的平均值及标准偏差。Faster R-CNN网络使用selective search 算法在图像中从上往下提取1 000个候选区域,且在2个阶段共享卷积特征,大幅度地加快了R-CNN的处理效率。FPN R-CNN的多尺度卷积金字塔结构有效提高了Faster R-CNN的目标检测准确性,但也增加了网络的总时间成本。FPN R-CNN的平均CPU时间约为Faster R-CNN的2倍,但该时间成本也可满足农作物产量测量任务的时间要求。
表1 测试集每幅图像的平均处理时间Tab.1 Average computation time of all images in test set 单位:s
为了发展精细农业并降低农业种植的人工成本,利用无人机遥感影像实现了农作物产量的智能化测量。该系统利用低空无人机拍摄农作物的遥感影像,利用FPN R-CNN网络检测与定位农作物。实验结果表明,该测量系统能够准确地测量农作物的数量与位置,对农作物密集分布的情况也具有较好的测量准确性。FPN R-CNN的多尺度卷积金字塔结构有效地提高了Faster R-CNN目标检测的准确性,但也增加了网络的总时间成本,其时间成本可满足当前农作物产量测量的要求。