APP下载

注意力与多尺度特征融合的水培芥蓝花蕾检测

2021-03-11夏红梅赵楷东江林桓刘园杰甄文斌

农业工程学报 2021年23期
关键词:成熟度花蕾特征提取

夏红梅,赵楷东,江林桓,刘园杰,甄文斌

(华南农业大学工程学院,广州 510642)

0 引 言

设施环境下培育的水培芥蓝无农药污染,生长周期短,可多茬口周年生产,经济效益高。水培芥蓝应在成熟期及时采收,未成熟的芥蓝尺寸和质量小,过成熟的芥蓝不耐储运,口感和品质差。准确判断水培芥蓝成熟程度,对实现适时采收、保障菜农收益具有重要意义。现有水培芥蓝成熟程度检测采用人工方式,缺乏客观、精准的自动检测方法。按等级规格行业标准[1-2],芥蓝花蕾的数量、大小和开放程度是评估其成熟度的关键。未成熟芥蓝花蕾数量较少、体积较小、呈闭合状态;成熟适于采收的芥蓝花蕾数量多、体积大、呈待开又未开状态;过成熟芥蓝的部分花蕾绽放开出白花。因此,提取辨识水培芥蓝花蕾生长特征是检测其成熟等级的有效途径。

近年来,国内外学者对自然生长环境下果蔬检测识别问题进行了广泛研究,主要采用了图像处理、机器学习和深度学习[3]方法。图像处理方法利用果蔬形状、颜色及纹理等特征差异进行检测识别。如周文静等[4]采用圆形Hough 变换识别葡萄果粒,依据葡萄果粒色调H 值将葡萄果穗分为4 个成熟度等级。Tan 等[5]结合L*a*b*颜色空间的a*和b*颜色分量与纹理特征识别了3 种不同成长阶段的蓝莓。图像处理方法易受光照条件、遮挡、背景干扰等影响,检测识别精度较低。

机器学习方法先由人工提取目标特征再利用分类器进行分类。常用特征提取算法有方向梯度直方图HOG(Histogram of Oriented Gradient)、尺度不变特征变换SIFT(Scale-Invariant Feature Transform)、局部二值模式LBP(Local Binary Patterns)等;常用分类器有K-均值聚类、贝叶斯分类器、K-最近邻聚类 KNN(K-Nears Neighbor)及支持向量机SVM(Support Vector Machine)等[6]。如张靖祺[7]利用K-均值聚类提取青熟、半熟和成熟番茄的颜色特征,输入SVM 进行训练,识别准确率超过92%。Behera 等[8]将LBP 特征、HOG 特征和灰度共生矩阵3 组特征与贝叶斯、KNN 和SVM 3 类分类器进行组合对比分析,发现具有HOG 特征的加权KNN 分类器对不同成熟度下木瓜的识别效果最优。机器学习方法受限于分类器的学习能力,通常应用于小规模数据集,对异类数据敏感,鲁棒性较差,对复杂目标检测精度和实时性较低。

基于深度学习的目标检测方法利用已有数据进行自主学习和分类,主要有单阶段和两阶段两种方法[9]。

YOLO(You Only Look Once)[10]、SSD(Single Shot MultiBox Detector)[11]等单阶段方法将目标检测视为回归问题,直接通过卷积神经网络CNN(Convolutional Neural Network)对目标类别和位置进行预测,检测速度较高,但会损失一定的检测精度。RefineNet[12]、Faster R-CNN[13]等两阶段算法基于区域生成思想,先生成目标建议框,再通过CNN 对建议框进行分类和位置回归,检测速度较低,但能获得更高的检测精度。如Tian 等[14]提出一种由DenseNet 方法处理的YOLOV3 网络用于检测3 个生长阶段的苹果,实现了特征重用并有效增强了特征传播,平均识别精度达81.7%。闫建伟等[15]采用基于VGG16 的Faster R-CNN 检测不同成熟度和不同遮挡程度的刺梨果实,对刺梨果实11 种形态的识别准确率最高为95.53%,最低为85.63%。

由于水培芥蓝成熟度判别对准确性要求较实时性更高,本研究采用深度学习方法,选取Faster R-CNN 作为水培芥蓝花蕾特征检测框架。不同品种、生长环境与成熟度的水培芥蓝花蕾在形态、尺度上存在较大差异,花蕾与叶片同为绿色,花蕾绽放的白花与栽培槽颜色相近,因此花蕾检测识别需要解决背景干扰和花蕾尺寸跨度大等问题。采用Faster R-CNN 的主干网络提取目标特征存在抗环境噪声干扰能力低,深度卷积操作易丢失空间细节信息,仅利用最后一层融合特征图进行预测易导致小尺度花蕾漏检率高等问题。为此,提出一种注意力与多尺度特征融合的Faster R-CNN 水培芥蓝花蕾检测模型,基于InceptionV3 设计多尺度花蕾特征提取主干网络,引入SENet 注意力集中机制[16]和FPN 特征金字塔网络[17]以提高模型的抗干扰能力及对小尺度花蕾的识别成功率,并通过试验对模型检测效果进行验证,以实现自然环境下水培芥蓝花蕾成熟度等级的高精度检测。

1 材料与方法

1.1 材料

试验选取绿宝芥蓝和香港白花芥蓝两个品种,图像于2020 年11 月至2021 年7 月在华南农业大学农事训练中心水培基地拍摄。摄像头选用尼康(Nikon)D90 单反相机,搭载CMOS 传感器及VR 2 代镜头,镜头焦距为18~55 mm,图像分辨率为4 000×3 000。基地大棚内栽培架距地面高度范围为600~900 mm,相邻管槽间距为25 mm,摄像头固定在升降范围为800~1 900 mm 和伸缩范围为230~350 mm 的支架上。由人工移动支架使拍摄区域覆盖大棚内各方位,在自然光条件下调整镜头距管道栽培架上部500~700 mm 处多角度俯拍。拍摄时间为芥蓝种苗移植到栽培管后35~45 d 期间,每天在9:00-11:30 和14:00-16:30 时间段分别采样一次。剔除模糊不清晰图像,保留绿宝芥蓝原始图像462 幅,香港白花芥蓝原始图像420 幅。

为提升模型的识别精度并避免过拟合,对原始图像进行随机水平镜像翻转、竖直镜像翻转、水平竖直翻转等几何变换,以增加不同方向芥蓝花蕾图像;对原始图像进行随机亮度调整等灰度变换,以增加不同光照条件下的芥蓝花蕾图像。经过数据增强,共获得绿宝芥蓝图像1 255 幅,香港白花芥蓝图像1 319 幅。将图像按品种划分为绿宝芥蓝数据集、香港白花芥蓝数据集及两个品种混合数据集。3 组数据集均按7∶2∶1 的比例分划分训练集、验证集和测试集。为缩短训练时间,将每张图像缩小为1 500×1 000(像素)。

依据芥蓝生长成熟分级标准,将芥蓝按薹茎主轴顶端花蕾生长特征不同分为未成熟、成熟和过成熟3 种成熟度等级,如图1 所示。采用labelImg 图像标注工具对芥蓝花蕾图像进行标记,并依照PASCALVOC 数据集格式进行位置和类别注释,绿宝芥蓝和香港白花芥蓝标注实例如图2 所示。

1.2 试验平台

试验选用Intel® Xeon CPU E5-2620 v3 处理器和GTX1080Ti 显卡,内存32G,硬盘200G。应用Windows 10 64 位专业版系统,选用 Python3.6 编写程序,Pytorch1.6.0 框架搭建网络模型。

1.3 方 法

1.3.1 基础特征提取网络

特征提取网络宽度和深度是影响目标检测效果的关键因素[18-19]。Inception 网络在工程图像分类中表现优异,各阶段模块由多个不同尺度的卷积模块构成,每一分支均优先使用一个1×1 的卷积进行降维,同时将大卷积拆解为多个小卷积,如用2 个3×3 卷积代替5×5 的卷积,用1×7 和7×1 的两个非对称卷积代替7×7 卷积,以减小计算负担并增加网络深度。通过若干组大小不同的卷积并行提取多个尺度特征,增加网络宽度来深入挖掘图像空间局部相关性,减少计算量,充分融合不同感受野下的多种局部特征,实现浅层网络丰富细节特征信息提取[20]。

不同成熟度水培芥蓝花蕾的特征区别主要体现在局部细节结构。经典InceptionV3 网络利用复杂网络结构来获取更多抽象语义特征,共有47 层,包含3 种Inception模块及下采样的ReductionA 和ReductionB,最后2 个Inception 模块为扩展滤波器组。由于需要检测分辨的花蕾类别只有3 种,过大的网络深度和宽度均易导致过拟合,因此去掉最后2 个扩展滤波器组模块和ReductionB,利用InceptionV3 前37 层网络,将输出特征由2048 维降至768 维,以增加网络泛化能力。

1.3.2 SENet 注意力机制

基础特征提取网络采用直接拼接的特征融合方式,各尺度特征权重相同,融合的特征信息中也包含了背景噪声等干扰,随着网络层数的增加会给模型带来负面影响,降低模型的检测精确度[21]。为此,引入通道注意力机制SENet(Squeeze and Excitation Networks)模块。SENet 模块并不改变输入特征图现有结构,只改变特征通道之间的权重差异,增大包含有效信息的通道权重,减小包含无效信息的通道权重。

SENet 模块的结构如图3 所示,将输入特征经全局平均池化(Global Average Pooling)压缩为一个c维向量,该向量得到每个通道所有元素的反馈。采用两层全连接层从向量中提取通道权重,第一层将维度降为原来的1/16,通过Relu 函数激活,第二层用于恢复原始维度,采用Sigmoid 函数得到c个通道权重。两层全连接层能增强非线性以更好拟合通道间的关系,同时也能减少计算量。最后将获得的权重与输入特征相乘,实现各通道关注度的调整。SENet 模块通过自主学习各特征通道的权重来调整各通道的重要程度,提高网络对重要特征的注意力,减少背景等无关特征对检测结果的影响。

1.3.3 特征金字塔网络

网络顶层特征在持续下采样过程中易丢失小目标的部分信息,若只用顶层特征图检测目标,易造成未成熟花蕾漏检。特征金字塔网络FPN(Feature Pyramid Network)可将任意大小的输入图像通过卷积的方式输出多个不同尺度的特征映射,并将这些不同大小、深度的特征进行融合,以增加特征图对浅层网络信息的表达。为提高模型对小目标花蕾的检测精度,采用FPN 融合不同阶段特征,其结构如图4 所示。将基础特征提取网络第2 组至第4 组卷积得到的特征图{C2,C3,C4}通过FPN 层分别进行叠加融合,得到多尺度的特征图金字塔结构{P2,P3,P4}。特征图C2、C3、C4大小分别为 371×246×192、185×122×288、92×60×768,高维特征图C4的感受野最大,包含图像的全局信息。各特征图在进行特征融合前均经1×1 的卷积降至192 维,高维特征通过上采样以保证融合的特征图在维度上的一致性,并通过逐元素相加引导特征自顶向下还原浅层细节信息。特征融合后,预测特征图的语义信息和位置信息都得到了增强。由于高维特征中仍包含低维特征信息,融合过程中将造成特征冗余,故在融合后通过3×3 的卷积消除混叠效应,具体计算方法如公式(1)~(3)所示。

1.3.4 RPN 锚点尺度设计

RPN 与主干网络共享图像的卷积特征,对锚点生成的候选区域进行前背景的判断及位置回归。Faster R-CNN采用{128×128,256×256,512×512}三种尺度以及{2∶1,1∶1,1∶2}三种长宽比的锚点进行候选区域提取。为明确锚点是否适应水培芥蓝花蕾检测,对混合数据集内的各花蕾目标框尺寸进行统计,结果如图5 所示。

图5 表明,水培芥蓝花蕾目标的尺度差异跨度较大,多数花蕾尺度集中在256×256(像素)以内,故将锚点尺度扩充至{16×16,32×32,64×64,128×128,256×256,512×512},长宽比保持不变,共生成18 种不同的锚点,以保证覆盖到不同尺寸的花蕾。

1.3.5 注意力与多尺度特征融合的检测模型

为减小深度学习过程中下采样对浅层网络重要特征的抑制作用,提高小尺度目标的检测精度,设计注意力与多尺度特征融合的Faster R-CNN 水培芥蓝花蕾检测模型如图6 所示。基于InceptionV3 设计基础特征提取网络并引入FPN 网络,融合网络中第2 组至第4 组卷积生成的3 个不同尺度的特征图,将高层特征与浅层特征拼接融合,以更好地保留小尺度目标的语义信息。在基础特征提取网络的InceptionA、ReductionA 和InceptionB 模块后分别嵌入SENet 模块,筛选各模块层对目标识别有利的特征通道,以减少背景噪声对不同尺度特征图的干扰,并减轻过拟合。FPN 网络生成的三个不同尺度的融合特征图P2、P3、P4被输出到RPN 网络和ROIHead 中分别进行预测。

RPN 网络依据数据集中花蕾目标的边框统计和特征图金字塔结构为每个特征图生成具有相应尺度和长宽比的锚框,被测花蕾可依据锚框的大小选取合适的特征图进行预测,使得网络对不同尺度的花蕾有更好的检测效果。使用分类网络对锚框进行前背景分类,并对前景锚框使用回归网络修正锚框位置,生成感兴趣区域ROI(Region of Interesting)。ROI 子网通过池化方法把不同尺度的ROI 固定为7×7 大小的特征;再将特征分别传入类别预测模块和边框回归模块,采用类别预测模块对目标进行分类预测并计算置信度,利用边框回归模块确定花蕾边框范围。

1.4 模型评价指标

为验证模型检测效果,采用准确率Pi(Precision rate)、召回率Ri(Recall rate)、平均准确率 AP(i)(Average Precision)和平均准确率均值 mAP(mean Average Precision)评价模型对不同成熟度水培芥蓝花蕾的检测性能,各指标计算如公式(4)~(7)所示。

2 结果与分析

2.1 模型训练结果

式中i代表不同成熟度级别;N为成熟度级别总数,本研究中N取值为3;TP(True Positives)表示模型正确识别某一成熟度级别目标的个数;FP(False Positives)表示将背景识别为某一成熟度级别目标而误识别的个数;FN(False Negatives)表示将某一成熟度级别目标识别为背景而漏识别的个数;AP(i)为某一成熟度级别P-R曲线的面积,反映了模型对某一成熟度级别目标的检测性能;mAP反映模型对不同成熟度级别目标的整体检测性能。

选择随机梯度下降法以近似联合训练方式对模型进行端到端训练,利用InceptionV3 网络在ImageNet 数据集上的预训练权重初始化改进主干网络,改进部分使用标准差为0.001 的高斯分布进行初始化,以提升模型的训练收敛速度[22-23]。综合考虑硬件设备性能和训练效果,批大小设置为8,动量和权重衰减系数分别为0.9 和0.000 5,学习率设为0.005,每迭代5 次衰减为原来的1/3,训练的总迭代数为50。

对3 种不同数据集进行模型的训练和验证,训练和验证的综合损失值和平均精度均值变化如图7 所示。3 种数据集在训练和验证迭代过程中的综合损失值整体呈下降趋势,均在迭代10 次后达到收敛;平均精度均值随着迭代次数的增加而逐步上升,在迭代10 次后达到峰值。损失和精度曲线表明本研究提出的模型具有较强的拟合和泛化能力。

3 种不同数据集的花蕾成熟等级检测结果如表1 所示。绿宝芥蓝数据集的平均精度均值mAP 为96.5%,香港白花芥蓝数据集的mAP 为95.9%,混合数据集的mAP为96.1%。3 种数据集的mAP 均超过95%,且最高与最低值间差异仅为0.6%。图8 为模型对绿宝芥蓝和香港白花芥蓝的检测效果实例,出现少量花蕾检测失败主要原因在于花蕾被叶片遮挡导致漏识别。表明模型对不同品种水培芥蓝花蕾具有较好的泛化能力,检测判别率均较高。

表1 不同品种数据集的识别结果Table 1 Influence of different dataset on detection results

2.2 消融试验

为明确水培芥蓝花蕾检测模型中各模块对特征提取网络性能影响,验证各模块结构的有效性,设计消融实验,采用混合数据集进行训练,测试结果如表2 所示。仅采用基础特征提取网络对未成熟花蕾检测的平均准确率最低为84.9%,对成熟和过成熟花蕾检测的平均准确率分别为93.5%和93.7%,表明基础特征提取网络对尺度较大的成熟和过成熟花蕾检测识别性能较好,但对尺度较小的未成熟花蕾检测性能较低。

表2 不同模块配置对检测结果的影响Table 2 Influence of different structure on detection results

采用基础特征提取网络+SENet 模型结构或基础特征提取网络+FPN 的模型结构对不同成熟度的花蕾检测效果均具有明显提升。未成熟花蕾上的花苞数量少,花蕾尺寸小,采用基础特征提取网络+SENet 模型检测的平均准确率为89.1%,基础特征提取网络+FPN 模型检测的平均准确率为90.8%。基础特征提取网络+SENet 模型对过成熟花蕾检测的平均准确率最高为97.8%,表明引入SENet 模块学习标定各特征通道的重要程度,对开出了白花、特征差异更明显的过成熟花蕾检测效果最好。基础特征提取网络+FPN 模型对成熟花蕾检测的平均准确率最高为97.3%,表明采用多层特征信息融合更利于完整提取尺度跨度大的花蕾特征信息。

基础特征提取网络+SENet+FPN 模型对不同成熟度花蕾检测的平均准确率均为最高,未成熟花蕾检测的平均准确率92.3%,成熟花蕾检测的平均准确率98.2%,过成熟花蕾检测的平均准确率97.9%,平均准确率均值最高为96.1%,表明模型设计具有合理性,能充分发挥各模块的优势,达到综合更好的检测效果。

2.3 不同主干网络对比分析

为验证不同主干网络对水培芥蓝花蕾的检测效果,对比VGG16、ResNet50、ResNet101、InceptionV3 及本文提出的主干网络,利用混合数据集进行训练,测试结果如表3 所示。VGG16、ResNet50 和ResNet101 网络的平均精度均值分别为85.3%、87.8%和89.2%,表明深层网络模型对花蕾检测效果优于浅层网络。但对于未成熟花蕾,ResNet101 网络的平均准确率最低为82.3%,低于VGG16 的平均准确率82.5%及ResNet50 的平均准确率85.8%,表明网络层数过大反而会降低小尺度未成熟花蕾检测的准确率。对比表2 中的基础特征提取网络和表3中的InceptionV3 检测结果,InceptionV3 网络对不同成熟度花蕾检测平均准确率均值最低为83.4%,基础特征提取网络去掉InceptionV3 的2 个扩展滤波器组和ReductionB模块后对不同成熟度花蕾检测的平均准确率均有明显提升,表明InceptionV3 网络结构相对复杂反而会降低其泛化能力。表2 中的基础特征提取网络相较表3 中的ResNet101 平均精度均值提升1.5 个百分点,但对于小尺度未成熟花蕾的检测(平均准确率为84.9%),低于ResNet50 网络的85.8%。本文提出的主干网络模型对不同成熟度花蕾检测的平均准确率相较 VGG16、ResNet50、ResNet10 和InceptionV3 网络均为最高,其平均准确率均值分别提高了10.8、8.3、6.9 和12.7 个百分点,表明引入注意力机制和特征金字塔模块对不同成熟度花蕾检测效果提升明显。

表3 不同特征提取网络的检测效果Table 3 Detection results of different feature extraction network

图9 为采用不同特征提取网络对花蕾检测的P-R(Precision-Recall)曲线。随着召回率的增加,各特征提取网络对不同成熟度花蕾检测的准确率呈下降趋势。对于检测未成熟的花蕾,当召回率为80%时,本文提出的检测模型的准确率保持在90%以上;对于检测成熟和过成熟花蕾,当召回率为90%时,本文提出的检测模型的准确率保持在90%以上。P-R 曲线表明本文提出的检测模型具有较强的鲁棒性,对于不同成熟度花蕾检测无需以较大的精度损失来提高召回率。

3 结 论

1)依据花蕾特征信息准确辨识其成熟度情况是保障水培芥蓝适时采收的关键基础。针对自然环境下水培芥蓝花蕾尺度特征跨度大,受背景信息干扰等问题,提出一种注意力与多尺度特征融合的Faster R-CNN 水培芥蓝花蕾检测模型。对绿宝芥蓝数据集、香港白花芥蓝数据集和两个品种的混合数据集测试结果表明,三种数据集的平均准确率均值(mAP)均超过95%,最高mAP 为96.5%,最低mAP 为95.9%,模型能实现不同品种水培芥蓝高准确率检测。

2)模型消融试验结果表明,基础特征提取网络增加SENet 模块或FPN 模块对检测未成熟花蕾的平均准确率提升分别为4.2%和5.9%。基础特征提取网络引入SENet模块对过成熟花蕾检测的平均准确率最高为97.8%,基础特征提取网络引入FPN 模块对成熟花蕾检测的平均准确率最高为97.3%。基础特征提取网络融合SENet 模块和FPN 模块对不同成熟度的花蕾检测的平均准确率均为最高,未成熟花蕾检测的平均准确率92.3%,成熟花蕾检测的平均准确率98.2%,过成熟花蕾检测的平均准确率97.9%,平均准确率均值为96.1%,表明本研究模型设计合理,能充分发挥各模块的优势。

3)相比VGG16、ResNet50、ResNet101 和InceptionV3网络,本研究模型对不同成熟度水培芥蓝花蕾检测的平均准确率均值分别提高了10.8、8.3、6.9 和12.7 个百分点,检测效果具有较大提升。在召回率为80%时,对不同成熟度水培芥蓝花蕾检测的准确率均能保持在90%以上,具有较高的鲁棒性。

针对影响识别准确率的叶片遮挡和背景干扰等问题,本研究模型仍有需要提升的空间。后续考虑应用图像预处理技术,进一步优化和改进模型结构,以准确获取花蕾生长状态数据,为水培芥蓝采收提供可靠依据。

猜你喜欢

成熟度花蕾特征提取
产品制造成熟度在型号批生产风险管理中的应用
整机产品成熟度模型研究与建立
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
微动目标雷达特征提取、成像与识别研究进展
给定置信水平下信息系统体系成熟度的灰色聚类方法
刚好够吃6天的香蕉
我来了
Paper blossoms