程 坤,张 斌,郭 新
(1.中国地质大学(武汉)地理与信息工程学院,湖北 武汉 430074;2.武汉工程大学 计算机科学与工程学院,湖北 武汉 430205)
在农业领域,地下水丰富或地表水稀缺地区的农田可以尝试轴心灌溉方式,其主要工作原理为:抽取地下水并围绕轴心旋转浇灌植被。轴心灌溉方式能较大程度地节约灌溉用水和劳动力成本,目前在许多国家和地区如沙特阿拉伯、美国和中国的内蒙古黑龙江等地区得到广泛应用。这种轴心灌溉农田在遥感影像上呈现为规则的圆形形状,利用深度学习的目标检测算法对其进行识别提取,可以为产量预测、资源分配、经济规划、支持推广等提供重要数据服务,具有极大的可行性和实用价值。
针对检测网络对于多尺度目标检测能力较弱的问题,为了更充分地利用骨干网提取出的特征信息,特征金字塔(Feature Pyramid Network,FPN)将两个相邻特征图进行组合连接来构建特征金字塔,生成的融合多尺度特征可以提升网络对于小目标的检测能力。在FPN 单向的自深到浅融合的基础上,EfficientDet 正式构建了双向特征金字塔BiFPN,双向特征融合可有效提升小目标的检测精度。
遥感影像上的目标大小极具变化性,为提高检测模型对于多尺寸目标的检测能力,首先使用特征提取能力更强的Resnet 作为改进的YOLOv3 的骨干网络;其次构建双向特征金字塔模块,实现从深到浅和从浅到深的双向融合,提升浅层预测分支的目标分类能力和深层预测分支的目标定位能力。同时,使用Dropblock 区域正则进行特征取舍,使网络学习到更全面的目标特征,提高网络模型的泛化能力。通过在公开遥感数据集HRRSD上的结果表明,改进后的模型在检测精度上较原网络获得了较大提升,精度相对于原版YOLOv3 提高1.99%。在制作的西北地区圆形灌溉农田数据集RF上,可达94.84%的精度和42.2 f/s 的速度。
YOLO 系列是深度学习目标检测中单阶段模型的经典代表,凭借着极快的检测速度和不断提高的检测精度,得到了广泛的研究和应用,最新发表的YOLOv4 也是在此基础上添加或修改而底层逻辑不变,本研究综合考虑模型的检测速度和精度以及实验的技术和条件,以YOLOv3为研究对象进行遥感影像的目标检测。YOLOv3采用主流的设计模式,即由骨干网和检测头构建模型主体。骨干网是计算机视觉四大任务的基础,一般是从图像分类模型中迁移出来并经过适当修改后在检测任务中用作图像特征提取器;检测头接收经骨干网卷积产生的特征图,经过再提取和组合进行目标的定位与分类。
YOLOv3 网络结构主要由骨干网、特征金字塔和检测头组成,如图1 所示。原版YOLOv3 的骨干网是Darknet53,由五个卷积层组成,每次卷积后都会产生一个尺寸为原来1 2 的特征图。后三个较深的特征图将输入给特征金字塔模块进行上采样、降维、连接等操作,生成包含多尺度特征信息的融合特征图P1、P2、P3。最后三个尺度的融合特征图输入给检测头进行最后的大、中、小目标检测。
图1 YOLOv3 结构简图
本文将从骨干网和FPN 模块进行改进,具体为用Resnet50 替换Darknet53;将原单向FPN 改进为双向FPN;在FPN 模块中应用Dropblock 区域正则。
Resnet 最大的贡献是在网络中加入残差单元,使得有效训练超深神经网络成为现实,特征提取能力大大增强,极大提升了模型性能。在Resnet 众多变体中,Resnet-C 与Resnet-D 分别通过改进卷积核大小和改进残差结构,有效地减小了计算量和避免了信息的大量流失,同时参数量和计算量与Resnet 几乎一致。
为了提高对复杂遥感影像目标特征的提取能力,使用Resnet 替代Darknet53 作为骨干网络。同时,为了平衡检测精度与速度优势,结合C、D 两种改进得到的Resnet50_N 作为骨干网。
YOLOv3 吸收了特征金字塔网络FPN 的思想,在三个尺度预测分支上进行了特征融合以提高小目标检测能力,但其仅包含单向的从深层到浅层的特征融合过程,仅为浅层特征提供了语义增强,而忽略了深层特征对于上下文信息的缺失。深层特征由于经过很深的卷积操作,如32 倍下采样必将导致特征图中丢失大量的细节信息,难以满足精确目标定位任务的需求。本文通过改进原有FPN 结构,构建双向特征金字塔结构如图2 所示,实现浅、深层特征的双向融合,提升网络目标检测的能力。
图2 双向特征金字塔
如图2 所示,concat 是将两个特征张量拼接在一起的一种算法,在这里即是将两个特征图拼接得到双向融合特征。DBL 表示将特征图流经卷积层D、批归一化层B 和激活层L 循环处理,该结构可以充分增加网络对于非线性特征的表达能力。上采样层保持不变,具体做法是先将特征维度降到原来的1 2,同时对变换后的特征进行上采样,即将特征图谱的尺寸放大一倍。图2 粗线表示新增的下采样操作,保持输入特征图维度不变,将尺寸下采样为原尺寸的1 2,进而与原特征图Feature map1、Feature map2、Feature map3 和上采样特征图进行concat 连接产生融合特征图P1、P2、P3。
改进的双向特征金字塔形成了从深到浅和从浅到深的双向特征融合,既可以将深层特征中强语义信息融入到浅层特征中,提升网络对浅层较小目标的分类能力;又可以将浅层特征中丰富的上下文细节信息融入到深层特征中,提升网络对深层较大目标的定位能力。
为了缓解模型的过拟合问题,提出Dropout 算法,在每一次迭代训练过程中随机将神经元变量置为空,原理类似于正则化,可以比较有效地缓解过拟合现象。但在实际应用中它在卷积层使用时效果非常有限。这是因为卷积层产生的特征图的相邻神经单元是对上一层同一局部信息的抽象,具有十分相近的语义信息,这样即使Dropout 掉某些单元,但其相邻单元拥有同样语义信息,网络仍然会学习到同样的特征,即没有起到正则化作用。因此针对卷积层的正则化,Ghiasi 在2018 年提出了Dropblock,将特征图上相邻的整片区域单元放在一起随机丢弃,例如随机删除了目标头部的区域特征,网络就会注重学习目标其他部位的特征,使检测模型学习到更全面的目标特征,对检测效果的提升非常明显。
在改进时根据YOLOv4 等应用Dropblock 的经验,阈值概率随着训练进行从1 线性降低到0.9,丢弃的区域大小设置为3,为避免增大计算负担,添加的位置只是在特征金字塔每个分支的第一层卷积。
实验数据使用两套数据集:
其一是中国科学院公开的高分辨率遥感检测数据集HRRSD,类别数为13,图像总数为21 761,共计4 万个目标对象,各类样本平衡,属于较大数据集。实验中随机分成训练验证集14 362 张和测试集7 399 张。
另一套数据集是利用内蒙古地区遥感图像制作的VOC 格式的圆形农田(Round Farm,RF)数据集,该数据集取材于LocalSpaceViewer,选取339 张不同天气情况、不同地区的圆形喷灌农田遥感影像,分辨率均为1 100×892。以遥感影像中的圆形农田为目标,使用LableImg工具进行标注。划分训练验证集223张,测试集116张。
超参数与冻结微调:在模型训练的前1 000 次迭代采用学习率预热方式,从0 增大到0.001。预训练权重使用在ImageNet 上训练好的相应骨干网的参数为模型特征提取网络的初始化参数。对于较大规模的HRRSD数据集,训练39 轮,batchsize 设为8,因数据集本身较大、类别丰富且目标均衡,故无需数据增强,也无需冻结预训练权重,初始化参数全部参与迭代更新。对于小规模的RF 数据集,训练251 轮,batchsize 设为8,同样采用学习率预热方式从0 增大到0.000 25。因RF 数据集本身较小且类别单一,所以需要进行数据增强以及冻结预训练权重。
精度评价指标:实验主要采用平均精度(Average Precision,AP)和总体平均精度(Mean Average Precision,mAP)作为实验结果评价标准。其中AP 值由精确率和召回率组成的平滑曲线与坐标轴所围成面积计算得到,mAP 即数据集中各个类别的AP 加和后除以类别数。
实验分别使用公开的大型遥感数据集HRRSD 和制作的圆形农田数据集RF 训练和测试模型,首先基于原版YOLOv3(Darknet53)得到基线mAP,然后改进骨干网为Resnet50,同时基于两种骨干网各自分别测试双向特征金字塔和Dropblock 的改进效果,最后得到最优模型。
首先替换YOLO 模型的骨干网,即用HRRSD 和RF数据集分别进行原版YOLOv3(Darknet53)、YOLOv3(Resnet50_N)的对比实验。实验结果如表1 所示,替换性能更强的骨干网后,两套数据集的总体平均精度mAP分别提高0.33%和3.33%。这是因为Darknet53 的29 个3×3 卷积远多于Resnet50 的20 个,其神经元参数量相对非常多,这对于复杂特征的多目标检测是有益的,而对本文圆形农田目标检测而言其参数冗余,易产生过拟合现象,降低精度和训练速度,所以出现在大型数据集上的精度方面二者差异不大,在小型数据集上明显提高精度的结果。
其次进行双向特征金字塔实验,如表1 所示,对于不同骨干网,使用双向特征融合后较原模型检测精度,HRRSD 分别提升0.45%和0.33%,RF 分别提升2.75%和2.03%。表明双向特征金字塔有助于特征信息的充分利用,并稳健地提升目标检测精度,作为数据驱动的深度学习任务,改进模型对于大型数据集精度的提升通常是较为有限的,对于小型数据集如本文的RF 圆形农田数据集,精度提升比较明显。
第三添加Dropblock 正则化,实验结果如表1 所示,对于两种不同骨干网添加Dropblock 后,较原模型检测精度,HRRSD 分别提升0.46%和0.94%,RF 分别提升2.46%和4.18%。结果表明,无论是复杂特征还是单一特征的大型或小型数据集,通过应用Dropblock 使检测模型学习到更鲁棒、更全面的目标特征,对模型检测性能的提升非常明显且稳定。
最后进行融合实验,即以Resnet50_N 为骨干网,改用双向特征金字塔同时添加Dropblock。实验结果如表1 所示,HRRSD 的检测精度达到86.17%,RF的检测精度达到94.70%。可以看出,相对于YOLOv3(Resnet50_N+Dropblock)的精度反而降低了0.55%和0.14%。这是因为双向特征融合过程本质是信息的相互补充,必然导致一定的特征冗余,这样即使某些区域被随机失活,也仍有类似补充信息因冗余而保留,限制了Dropblock 发挥应有的作用。因此双向特征金字塔和卷积层的Dropblock 不应简单叠加使用,需要更合理调整各自的应用位置。
表1 实验结果
综合考虑实验方案的模型效果选定Resnet50_N+Dropblock 为最终改进方案,称为RD_YOLOv3,在HRRSD 的测试集测得mAP 为86.72%,比原版YOLOv3提高1.27%,实际检测效果如图3 所示。
图3 改进前后HRRSD 检测结果
在RF的测试集测得mAP为94.84%,比原版YOLOv3提高7.51%,检测速度方面可达到23 f/s,实际检测效果如图4 所示。
图4 改进前后RF 检测结果
本文基于YOLOv3,改进针对骨干网、特征金字塔和正则化方式,提出一种遥感影像目标的实时检测算法RD_YOLOv3,同时制作遥感影像圆形农田目标的训练与测试集。分析实验结果,RD_YOLOv3 网络对大型遥感影像数据集中复杂目标的检测精度有明显提升,证明了改进模型实现了检测能力的提升。同时该模型对遥感影像中的圆形农田目标的识别精度可达94.84%,速度为42.2 f/s,验证了YOLOv3 用于遥感影像中圆形农田目标检测的可行性和高效性,为快速、高效、准确定位检测和提取圆形农田完成第一步工作,继而为相关地区的农业产量预测、资源分配、圆形轴心灌溉农业的支持推广等提供重要数据服务。
最后,对于目前存在的数据集太小、小尺寸目标较少和模型改进不到位等问题,将会做如下工作:扩展数据集规模,丰富目标种类,平衡大、中、小目标数量;优化网络模型如改进损失函数、添加优化策略等;在检测的基础上进行信息提取制图,为进一步的农业实际应用提供参考。