APP下载

基于改进Faster R-CNN 的农田残膜识别方法

2021-09-27张学军黄爽靳伟鄢金山史增录周鑫城张朝书

关键词:残膜特征提取阈值

张学军,黄爽,靳伟,2,鄢金山,2,史增录,2,周鑫城,张朝书

(1.新疆农业大学 机电工程学院,新疆 乌鲁木齐 830052;2.新疆农业工程装备创新设计实验室重点实验室,新疆乌鲁木齐 830052;3.阿拉尔市天典农机制造有限责任公司,新疆 阿拉尔 843300)

地膜覆盖技术自引入中国至今已有40 余年的历史[1],废弃在农田里的地膜长年积累,若没有及时回收则会造成种子腐烂、阻断营养运输,直接影响农作物产量.针对残膜回收问题,目前国内已研发设计出百余种不同工作形式的残膜回收机.其中部分残膜回收机械的回收率高达90%以上[2-8],但回收率似乎已经到达“瓶颈期”,很难有进一步突破.因此,通过图像识别的方法快速识别出农田里遗留的残膜,是研制人工智能残膜回收机,提高残膜回收率的关键.

近年来,图像识别技术已经广泛应用于农业领域,已有研究人员对地膜进行了识别.梁长江等[9]通过无人机采集农田地膜图像,利用几种传统的图像分割算法对地膜进行识别,结果表明迭代阈值分割算法对地膜的识别率最高.朱秀芳等[10]利用无人机获取影像并提取纹理信息,结合传统的分割方法得到了地膜分布面积.吴雪梅等[11]利用无人机采集烟地不同时期的残膜,提出了一种基于颜色特征的识别方法.江水泉等[12]利用直方图阈值分割方法确定阈值,联合边缘检测和区域填充,分离出了残膜图像.上述文献大多通过无人机航拍获取地膜信息,用于评估当地的环境污染程度,很难直接将识别方法应用于农田残膜的捡拾中.文献[12]虽然运用传统的图像识别方法识别出了残膜,但同时也丢失了部分残膜信息,增加了定位误差.传统的识别方法依赖于阈值的选择,适应性不强,鲁棒性较差,况且地膜与农田背景信息相近,边界区分不明显,无固定轮廓特征,加大了检测难度.卷积神经网络(Convolutional Neural Network,CNN)抗干扰能力强,能将目标从复杂背景中提取出来,依靠数据本身的特征属性进行自主学习,在区分相近目标方面具有显著效果.目前卷积神经网络已广泛应用于无人驾驶[13-14]、植株病虫害识别[15-16]、品种分类[17-18]、航空航天[19]、灾害预警[20]、垃圾分类[21]、行为监测[22-23]、医疗诊断[24-25]等方面.

针对地膜与背景干扰物相近,识别难度大等问题.引入卷积神经网络,选择目前检测精度最佳的Faster R-CNN 网络[26],通过增加322和642的锚点尺寸,提出了一种适用于农田残膜的检测方法,最终实现残膜的快速、自动识别.

1 数据采集与处理

1.1 数据采集

本文以新疆农业大学与新疆阿拉尔市天典农机制造有限公司联合研制的11MS-1850 型残膜回收机工作后遗留在农田表面的残膜为研究对象,于2019 年9 月至10 月,使用索尼WX500 采集残膜图像,分辨率为3 648 像素×2 736 像素,分别在晴天和阴天共采集1 648 幅残膜图像,为了确保残膜图像的多样性,样本中含有不同土壤湿度、不同光照强度下残余不等片数的残膜图像.采集时相机镜面与地面平行,距地面高度为80~110 cm.11MS-1850 型残膜回收机如图1 所示,部分残膜图像样本如图2 所示.

图1 11MS-1850 型残膜回收机Fig.1 11MS-1850 residual film recovery machine

图2 部分残膜图像样本Fig.2 Partial residual film image samples

1.2 数据集制作

2 试验条件与方法

2.1 软件与硬件

本文的试验条件为:Window10 操作系统,计算机配置为Intel(R)Core(TM)i7-10750H 处理器,显卡为GeForce GTX1650,8 G 内存,512 GB 固态硬盘.编程环境为python3.6.2,torch1.5.0、torchvision0.6.0、cuda10.0、cudnn7.4.1.5.标注工具为LabelImg.

2.2 试验方法

2.2.1 基于Faster R-CNN 的残膜检测框架

Faster R-CNN 网络模型是在Fast R-CNN 模型的基础上引入了RPN 区域建议网络(Region Proposal Networks),从而通过反向传播和随机梯度下降来实现端到端的训练.Faster R-CNN 残膜检测框架如图3 所示.

图3 基于Faster R-CNN 的残膜检测框架图Fig.3 Framework of remnant film inspection based on Faster R-CNN

在残膜检测过程中主要分为四部分,即残膜特征提取部分、候选区域建议网络(RPN)、ROI Pooling感兴趣区域池化部分、残膜与背景二分类回归部分.基于Faster R-CNN 的残膜检测环节如下:

1)由主干特征提取网络提取残膜特征,获得特征图用于RPN 和Fast R-CNN 共享.

2)RPN 网络利用3×3 的滑动窗口,遍历整个特征图,其中Softmax 分类器主要用于区分残膜和背景信息,边框回归主要用于调整建议框的4 个参数(即建议框的中心点x 轴和y 轴坐标及其宽和高),Proposals 对获得的建议框进行初步的筛选,最大程度上找到含有残膜的区域.

3)ROI Pooling 同时获得特征图及建议框,随后利用建议框在特征图上进行截取,为了将获取到大小不同的特征图调整至分类器所需的尺寸,对其进行归一化处理,获得固定大小.

第一,新型农村合作医疗明确政府筹资机制。传统的农村合作医疗在政府的筹资机制方面模糊不清,未明确政府的职责权限。新型农村合作医疗制度明确实行“农民个人缴费、集体扶持和政府资助相结合的筹资机制,各级政府要根据实际需要和财力状况安排资金,按实际参加合作医疗的人数补助定额给与资助”。新农合在政府职责方面的明确为新农合制度的实施提供了前提条件。

4)利用分类和回归网络判断截取到的特征图中是否包含残膜信息并对建议框进行调整,获得最终的检测框.

由于残膜无固定形状,因此在本文中认为残膜外接矩形的中心点坐标即近似为残膜的位置坐标,从而实现对残膜的检测和定位.

2.2.2 评价指标

本文旨在识别残膜回收机工作后遗留在田间的残膜并确定其位置信息.在执行机构捡拾过程中,允许残膜中心位置坐标存在较小误差.因此在本研究中认为只要检测框中含有残膜信息并且与其重叠区域大于75%,即视为有效检测.为了评估残膜识别检测网络的性能,选择准确率P(precision)、召回率R(recall)、总体精度F1作为评价指标,其公式为:

式中:R 为召回率;P 为准确率;F1为总体精度;TP为正确识别残膜的样本数量;FP为错误识别残膜的样本数量;FN为未检测出残膜的样本数量.

2.2.3 模型训练

采用近似联合训练方式进行训练,为了加速网络训练,将残膜图像统一至600 像素×600 像素,为了降低因数据样本不足对网络训练的影响,本文选取在ImageNet 数据集上训练好的权重进行迁移学习,利用残膜数据集对预训练好的网络进行微调,初始学习率lr=0.005,每隔5 步衰减一次学习率,设定衰减倍率因子ganma=0.1,动量momentum=0.9,weight_decay=0.000 5,训练批次epoch=2 000,每训练100 个epoch 保存一次训练权重,最后选择最优权重用于验证集进行验证,训练过程采用GPU 加速训练.

2.2.4 改进NMS 算法

非极大值抑制(Non-Maximum Suppression,NMS)可以根据分数矩阵和边界框的坐标信息,从中找到置信度较高的矩形框.但该方法过度依赖于阈值的选择,若阈值选择不当则会导致目标漏检或误检,对于检测目标出现重叠、遮挡的情况,该方法只保留得分最高的检测窗口也会导致目标漏检[27].双阈值算法可有效降低单阈值对算法整体性能的影响,其流程图如图4 所示.A={a1,a2,…,ac}为残膜候选框的集合,S={s1,s2,…,sc}为候选框对应的置信度得分集合,D 为最终候选框的集合,dc和dt为设定的双阈值,其阈值以测试集残膜图像为目标,将精确率作为评价指标,采用联合调参法确定,如表1 所示,当取dc=0.3,dt=0.9 时算法效果最佳.M 为得分最高的检测窗口.首先在集合A 中找出得分最高的检测窗口将其放入D 中并在A 中将其删除,随后比较对于任意的候选框及M 的交并比与阈值dc和dt的大小,若小于dc则保留当前候选框及对应得分;若大于dt则删除当前候选框及对应得分;若两者都不满足则对当前候选框得分分配相应的权重.重复执行以上操作,直至集合A 为空集,输出最终的候选框及其得分.

图4 双阈值算法流程图Fig.4 Flow chart of double threshold algorithm

表1 不同阈值组合精确率对比结果Tab.1 Comparison results of accuracy of different threshold combinations %

2.2.5 主干特征提取网络的选择

Faster R-CNN 网络在残膜特征检测过程中需要选用已经训练好的网络来增加网络的深度,提取更抽象的图像特征,以提高模型的检测能力获得理想的检测效果.但随着网络级数的增加,梯度消失和爆炸问题也随之产生.He 等[28]在保留网络深度的基础上提出了残差网络(Residual Network),使网络中的冗余层进行恒等映射,有效解决了因网络层数增多引发的梯度消失问题,残差网络结构单元如图5 所示.

图5 残差单元Fig.5 Residual unit

该残差单元可以表示为:

对任意深度的L 则有:

式(5)具有良好的反向传播特性,假定损失为ε,根据链式求导法则可以得到:

式中:F(Xi,Wi)即为残差,当F(Xi,Wi)为0 时即为恒等映射.其中在求导连加过程中不可能为负数,因此保证了该节点参数更新不会发生梯度消失或梯度爆炸现象.

特征提取网络的选择对模型的整体性能有着重要的影响.常见的特征提取网络有VGG16[29]、ResNet50[30]、ResNet101[31]等.为了选取适用于本研究的主干特征提取网络,保证其他参数不变,分别使用VGG16、VGG19、ResNet34、ResNet50、ResNet101、SqueezeNet、AlexNet 网络作为特征提取网络对测试集图像进行检测,结果见表2.

表2 特征提取网络对比试验结果Tab.2 Comparison test results of feature extraction network

由表2 可知,当AlexNet 和SqueezeNet 作为特征提取网络时,虽然检测速度很快但精度较低,这是由于网络结构比较简单,能够提取到的残膜特征有限.而使用VGG 和ResNet 系列作为特征提取网络总体精度均达到80%以上,其中ResNet101 总体精度最高,达到了89.02%,检测单幅运行时间为342.61 ms,相对于ResNet101,ResNet50 总体精度虽然下降了0.75%,单幅检测速度却缩短了85.73 ms.综合考虑并结合本研究试验条件及研究对象,最终选择ResNet50 作为主干特征提取网络.

2.2.6 更改锚点尺寸

残膜回收机工作后遗留在农田表面的残膜存在条状大膜和细小的残膜碎片,尺度变化较大.而Faster R-CNN 模型的原有锚点尺寸为{1282,2562,5122},对小目标检测不够灵敏,直接应用在残膜的识别中容易出现漏识别的情况.为了使Faster RCNN 检测模型更适用于残膜的检测,统计残膜数据集中的残膜像素面积,由图6 可以看出,残膜的像素面积主要集中在1002~3502之间,考虑到模型的综合检测能力,依然保留5122的尺寸,并在原有锚点尺寸的基础上增加322和642的尺度参数,使得每个锚点对应15 个候选窗口.

图6 残膜面积统计Fig.6 Statistics of residual film area

为了验证本文改进算法的有效性,将改进后的Faster R-CNN 模型与原模型(特征提取网络均为ResNet50)在测试集上对残膜进行检测,结果见表3.

表3 检测对比结果Tab.3 Detection and comparison results

3 结果分析

3.1 定量分析

由表3 可知,更改锚点尺寸后,改进Faster RCNN 模型在准确率、召回率、总体精度上分别增加1.29%、0.67%和0.97%,但在单幅检测时间上增加了27.25 ms,主要原因一是由于每个锚点对应的候选框数量增加,运算量也随之增大;二是双阈值算法比非极大值抑制算法更复杂,检测时间则消耗在多余候选框的筛除中.虽然检测时间有所增加,但是依然满足实时检测的要求.部分残膜检测结果如图7 所示.检测模型在自然条件下识别残膜的过程中取得了比较理想的检测结果,如图7(g)(h)所示,即使在细小的残膜碎片和残留棉花的干扰下,检测框也能够较准确的框选残膜信息.但在检测存在些许粘连的残膜时,出现了重复检测的情况,如图7(i)所示,这是由于在标注此类样本时,标注准则不一致导致的(即标注时有时认定为一整片残膜,有时认定为几片残膜),后期可增加此类样本数量并统一标注准则进行规避.

图7 残膜检测结果Fig.7 Residual film detection results

3.2 特征图分析

为了更直观地了解ResNet50 特征提取网络提取残膜特征的过程,对特征提取的部分中间过程进行可视化操作.只显示Conv1、Layer1 和Layer3 前36个通道的灰度图,为了便于观察将输出的特征图统一到相同大小,特征图可视化结果如图8 所示.残膜图像经过Conv1 卷积之后得到的特征图能够较好的展现原图的纹理和轮廓信息.随着网络深度的增加ResNet50 能够提取更抽象的残膜特征,经过多层网络的共同表达,残膜特征能够被完整的提取出来.

图8 特征图可视化结果Fig.8 Visualization results of feature map

4 结论

1)本文基于卷积神经网络Faster R-CNN 提出了一种农田残膜识别方法.为了选取特征提取网络,对VGG16、VGG19、ResNet34、ResNet50、ResNet101、SqueezeNet、AlexNet 进行对比试验.最终选取ResNet50 作为特征提取网络.

2)采用双阈值算法替代传统的NMS 算法,弱化了单阈值对算法的影响,降低了漏识别率.

3)为了提高检测模型对细小残膜碎片的灵敏度,增加了322和642的尺度参数,降低了漏识别率,从而提高了检测模型的召回率和总体精度.改进后的Faster R-CNN 准确率为90.13%、召回率为88.37%、总体精度为89.24%、单幅检测时间为284.13 ms,使得通过机器视觉方法捡拾残膜,提高残膜回收机的回收率成为可能.

4)虽然改进Faster R-CNN 模型在残膜的检测精度方面有所提升,但提升幅度不够显著,检测时间也有所增加.今后将在提高残膜检测精度的基础上,继续优化双阈值算法,提高模型的检测速度,同时进行嵌入式开发研究,以期早日将残膜识别技术投入生产.

将改进Faster R-CNN 运用到实际残膜的捡拾过程,包含残膜的检测、空间位置信息定位与捡拾部件拾取等部分.当检测出图像中的残膜信息后,将矩形框的中心点位置坐标换算成残膜的空间位置坐标,将坐标信息传送至执行机构(机械手或气吸装置)实现残膜的补收,增加残膜回收机的回收效率.可为残膜回收机加装补收装置提供理论基础,最终达到提高残膜回收机回收效率的目的.

猜你喜欢

残膜特征提取阈值
改进的软硬阈值法及其在地震数据降噪中的研究
土石坝坝体失稳破坏降水阈值的确定方法
如何提高残膜回收机械的拾净率
基于小波变换阈值去噪算法的改进
地表残膜回收机在西北成功应用
改进小波阈值对热泵电机振动信号的去噪研究
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究