马宏兴 董凯兵 王英菲 魏淑花 黄文广 苟建平
(1.北方民族大学电气信息工程学院, 银川 750021; 2.宁夏农林科学院植物保护研究所, 银川 750002;3.宁夏回族自治区草原工作站, 银川 750002; 4.西南大学计算机与信息科学学院, 重庆 400715)
宁夏地处我国西北农牧交错带,在农牧业发展中占据重要的地位。宁夏荒漠草原是全区分布面积最大的天然草原,约占草地总面积的一半以上。近年来,在各种自然因素及人类行为干扰下,荒漠草原出现诸如土壤沙化、草地生态系统的生产力下降、土壤肥力流失等一系列生态问题[1-2]。面对这些问题,快速有效识别荒漠草原植物群落主要物种,是调查草地群落结构变化、划分草地类型、明确草地退化和修复现状,以及保护草地植物多样性的基础[3-4]。
在实际调查中,植物物种的识别主要按照传统方法进行,既耗时又复杂。随着计算机视觉技术的进步,在植物识别领域已有大量基于机器学习的植物识别方法,能够快速有效识别植物种类。目前对植物识别的研究中,有支持向量机[5]、K最近邻[6]、深度学习和胶囊网络等[7]。在深度学习领域中,孙俊等[8]针对CNN训练收敛时间长、模型参数庞大的问题,对网络模型进行改进,提出一种批归一化与全局池化相结合的卷积神经网络识别模型,对14种不同植物共26类病害的平均测试识别准确率达到99.56%,参数内存占用量为2.6 MB,推理时间为20.79 ms。GUANG等[9]提出了一种基于高效通道注意力(ECAENet)的轻量级植物物种识别算法,使用神经架构搜索来获得基线网络,复合系数统一缩放深度、宽度和分辨率的所有维度,在Swedish Leaf、Flavia Leaf数据集的准确率分别达到99.56%和99.75%。BARRADAS等[10]基于EfficientNet模型的自然环境中药用植物物种的实时自动识别系统,识别精度可达到78.5%。CHEN等[11]基于改进YOLO v5对橡树病害进行识别,从橡胶树病害数据库中随机抽取样本图像形成训练集和测试集,改进网络平均精度达到70%,相比原模型提高5.4%。项和雨等[12]通过改进的深度卷积神经网络RAN-11,以残差注意力Attention-56模块和Attention-92为基础,将底层与顶层的通道特征融合,调整注意力模块和残差块个数压缩模型,对浮游植物识别准确率可达到95.67%。在胶囊网络识别中,温长吉等[13]提出一种改进稠密胶囊网络模型,对32像素×32像素的植物图像,平均识别准确率达到77.2%,参数量仅为1.8×106。
上述算法中,支持向量机针对高维度数据计算复杂;K近邻需要大量数据集支撑训练,而且占用内存大; EfficientNet模型体积较大,推理速度慢; YOLO v5对于复杂植物图像识别精度较低;胶囊网络适合低分辨率图像,对分辨率较高图像不友好。
本文基于YOLO v5s网络,以宁夏荒漠草原植物为研究对象,拟对复杂背景下轻量级植物目标识别模型进行研究。在模型中拟引入BoTNet[14]和坐标注意力机制CA[15]来有效提升对植物特征的提取能力;引入深度可分离卷积DSC来减小模型体积[16],加快模型推理速度,实现模型的轻量化;引入回归损失函数SIoU来加快数据拟合[17];同时,对改进后的轻量化识别模型应用进行研究,以期应用于宁夏荒漠草原植物移动端识别和定点观测。
采集宁夏荒漠草原17类常见植物,对植物数据集进行清洗和增强处理,如图1所示。
图1 植物部分图像数据Fig.1 Images of plants
主要采集宁夏盐池县麻黄山、大水坑,同心县罗山等地区17类常见植物,分别为青海苜蓿(Medicagoarchiducis-nicolaii)、长芒草(Stipabungeana)、甘草(Glycyrrhizauralensis)、猪毛菜(Salsolacollina)、兴安胡枝子(Lespedezadavurica)、二色补血草(Limoniumbicolor)、蒲公英(Taraxacummongolicum)、草木犀状黄芪(Astragalusmelilotoides)、平车前(Plantagodepressa)、小车前(Plantagominuta)、反枝苋(Amaranthusblitum)、乳苣(Lactucatatarica)、刺齿枝子花(Dracocephalumperegrinum)、披针叶黄华(Thermopsislanceolata)、地梢瓜(Cynanchumthesioides)、二裂委陵菜(Potentillabifurca)、圆叶锦葵(Malvapusilla)。
由于宁夏属温带大陆性干旱、半干旱气候,降水偏少且相对集中,光能丰富,蒸发强烈,植被覆盖以沙生植物为主,大部分植物叶片窄小。当对叶片进行采集时,难以获取有效信息,因此,植物数据集采用整株植物。由于荒漠草原植物在自然环境中与背景相似、特征不明显,不利于识别与分析,为丰富植物数据多样性,提高识别模型泛化能力,数据采集时选取不同角度、不同光照环境下的自然图像数据,分辨率为3 000像素×4 000像素。
采集得到宁夏荒漠草原常见植物图像数据共17类,1 953幅,7.2 GB。对部分拍摄模糊、枝叶遮挡等特征不明显的植物图像进行数据清洗后,得到植物图像数据共17类,1 892幅,其中青海苜蓿94幅、长芒草101幅、甘草66幅、猪毛菜103幅、兴安胡枝子88幅、二色补血草120幅、蒲公英156幅、草木犀状黄芪142幅、平车前136幅、小车前107幅、反枝苋101幅、乳苣132幅、刺齿枝子花132幅、披针叶黄华117幅、地梢瓜108幅、二裂委陵菜92幅、圆叶锦葵97幅,7.0 GB。
采用马赛克数据增强和传统图像增强相结合的方法,扩展宁夏荒漠草原植物图像样本的丰富度,提高模型的泛化能力和鲁棒性。在此选择4幅图像进行马赛克增强,马赛克增强实验结果如图2所示。
图2 数据增强Fig.2 Data augmentation
为了提高目标检测模型输出的准确性,使得网络模型能够学习到植物的特征与位置信息,需要对图像中的植物进行标注。标注时使用LabelImg工具制作VOC格式数据集,文件中包含植物名称和位置信息。图像和标注文件均用于模型训练和验证。
由于YOLO v5s对复杂目标识别精度低,参数量较大,所以在实际应用中需要对网络模型进行改进,提升识别精度的同时,降低模型的参数量,加快模型推理速度。
改进的网络模型命名为YOLO v5s-CBD,模型结构如图3所示。
图3 YOLO v5s-CBD结构Fig.3 YOLO v5s-CBD structure
图3中,YOLO v5s-CBD分为3部分,其中Backbone对输入植物图像进行特征提取,Neck对获取的特征图进行特征融合,Head 进行回归预测。
YOLO v5s-CBD首先在特征提取网络Backbone中引入带有Transformer[18]模块的轻量级主干网络BoTNet,扩大模型的全局感受野;同时融入轻量级坐标注意力机制CA来有效捕获位置和通道的关系,提高模型对关键信息的特征提取能力;其次在输出端Head引入SIoU函数计算回归损失,提升模型的收敛能力;最后使用深度可分离卷积DSC减小模型的体积,实现改进模型的轻量化,提升模型识别速度。
由于高分辨率植物图像中部分图像背景复杂,特征不明显,而YOLO v5s主干特征提取网络为C3网络,只具有平移不变性和局部性,不具有全局建模和长距离建模能力,为了提高模型的特征提取能力,在此引入BoTNet。
BoTNet是一种结合CNN和Transformer的骨干网络,同时使用了卷积和自注意力机制,其模型结构是在ResNet[19]的最后3个bottleneck blocks中使用全局多头自注意力(Multi-head self-attention, MHSA)替换3×3空间卷积。全局多头自注意力是Transformer的核心结构,可以汇总和处理特征图中包含的目标信息,提高目标的识别能力。全局多头自注意力的结构如图4所示。
图4 MHSA的结构图Fig.4 Structural diagrams of MHSA
图4a为单头自注意力机制(Self-attention),计算公式为
(1)
式中V、K、Q——由输入矩阵通过线性变换得到的矩阵,维度与输入矩阵相同
QKT——经过矩阵乘法所得的矩阵,计算Q和K的相似度
Softmax——归一化函数,与V进行映射,获得通道的相关性
图4b为全局多头自注意力,首先将数据输入4个Self-attention,得到4个加权后的特征矩阵,然后将4个特征矩阵按列拼接成大矩阵,经过一层全连接得到最终的输出。
在YOLO v5s中引入BoTNet,可以将卷积和自注意力机制相结合,弥补卷积信息丢失问题。BoTNet可以利用卷积有效地从高分辨率图像中学习抽象的低分辨率特征图,同时也使用自注意力机制来处理和聚合卷积捕获的特征图中包含的信息,扩展了模型专注于不同位置的能力,而且相比3×3的矩阵,BoTNet使用1×1的矩阵减小了模型参数量,有效提升目标识别性能的同时,兼顾模型的轻量化。
注意力机制作为提高神经网络特征提取能力的一种有效方法,在自然语言处理、统计学习、语音和计算机视觉等领域有大量的应用[20]。
常见的注意力机制是通过加深网络的深度来提高模型的性能,但单纯加深网络深度会增加模型的计算量,一般轻量级网络所能承受的计算量有限,故常规的注意力机制在植物识别的轻量级网络中应用会受到影响。
由于采集的植物图像分辨率为3 000像素×4 000像素,背景信息占比较高,在深度卷积神经网络中,背景信息卷积迭代会积累大量冗余的无效信息,导致目标信息淹没,识别的准确率降低。为提高改进模型YOLO v5s-CBD对荒漠草原植物关键信息的特征提取能力,解决无效冗余信息会降低植物识别准确率问题,在此采用轻量级坐标注意力机制(Coordinate attention,CA)。
CA能充分利用通道注意力信息和空间注意力信息,有效提升网络模型的识别性能,结构如图5所示,其中C表示通道数,W表示宽度,H表示高度,r表示维度[21]。
图5 坐标注意力Fig.5 Coordinate attention
图5中,CA首先利用2个一维全局池化操作分别将水平方向和垂直方向的输入特征聚合为2个不相关的方向感知特征图;接着2个嵌入垂直和水平方向信息的感知特征图分别被编码为2个注意力图,每个注意力图都捕获了输入特征图沿着一个空间方向的长程依赖,意味着位置信息被保存在生成的注意力图中;最后2个注意力图被乘到输入特征图上来增强特征图的表示能力。
在改进模型YOLO v5s-CBD中,CA可以融入到主干网络C3模块之后或者颈部融合网络C3模块之后。但在实际实验中,融入到主干网络C3模块之后性能更好,在提升识别精度的同时,每秒浮点运算次数(FLOPS)仅仅增加1×108,几乎可以忽略不计。
YOLO v5s采用CIoU损失函数[22],这种传统的目标检测损失函数依赖于边界框回归指标的聚合,没有考虑到所需真实框与预测框之间方向不匹配,导致收敛速度较慢,效率较低。为解决这一问题,改进模型中引入损失函数SIoU,不仅考虑重叠区域、距离和长宽,还考虑预测框和真实框之间的角度问题。
总损失函数为
L=WboxLbox+WcksLcls
(2)
(3)
式中IoU——传统回归损失
Δ——距离损失
Ω——形状损失
Wbox——框损失模型体积
Lbox——回归损失
Wcks——分类损失模型体积
Lcls——焦点损失
在改进模型引入了真实框与预测框之间的角度计算,可加速网络的收敛。
模型压缩和加速不仅仅可以提升移动端模型性能,在服务端也可以加快推理响应速度,并减少服务器资源消耗,降低成本。
因此,为了进一步压缩网络参数,降低模型参数量,提升模型推理速度,减小资源的消耗。在改进模型YOLO v5s-CBD中引入轻量级卷积块深度可分离卷积来减小模型的参数量,在改进模型中原始卷积全部改进为深度可分离卷积。深度可分离卷积实现过程如图6所示。
图6 深度可分离卷积Fig.6 Depthwise separable convolution
由图6可知,深度可分离卷积分为逐通道卷积和逐点卷积2个过程,逐通道卷积是对输入的每个通道分别进行卷积运算,可在减少参数量的同时,保证模型的特征提取能力不变。但是这种卷积缺乏通道间的信息交流,而逐点卷积能够学习不同通道间在相同空间位置上的特征信息,重新组合生成新的特征图,从而增加了特征的学习利用率。
若常规卷积和深度可分离卷积输入相同,在得到4张Feature map的情况下,深度可分离卷积的参数个数是常规卷积的约1/3。因此,选择深度可分离卷积可以有效降低模型体积,提升模型推理速度。
所有模型在服务器上完成训练,服务器配置为CPU:Intel(R) Xeon(R) Gold 6330,GPU:RTXA5000。模型训练环境为PyTorch 1.11.0,Python 3.8(Ubuntu 20.04),Cuda 11.3。训练参数为200轮次,Batch-size(批处理)为16,图像输入分辨率为640像素×640像素,其他使用原始默认参数。总植物数据图像1 892幅,按7∶2∶1比例随机划分数据集,其中训练集1 322幅,验证集380幅,测试集190幅。
采用改进模型YOLO v5s-CBD对测试集的190幅宁夏荒漠草原植物图像,共17类植物进行识别,部分植物识别结果如图7所示。
图7 草原植物图像识别结果Fig.7 Image recognition results of grassland plant
由图7可以看出,对多目标的植物图像、局部遮挡植物图像和光线变化的植物图像进行测试时,改进模型YOLO v5s-CBD可以准确予以识别。
为深入测试改进模型YOLO v5s-CBD的性能,选取精确率P(Precision)、召回率R(Recall)、平均精度均值(Mean average precision,mAP)和综合评价指标F1值作为模型的识别精度评价指标,选取模型体积和检测时间作为模型性能的评价指标[23-24]。同时考虑实际部署原因,分别使用Nvidia GTX A5000 GPU检测时间T1和Xeon(R)E-2136 CPU检测时间T2进行比较。
为有效评估改进模型YOLO v5s-CBD的性能,选取目标检测模型YOLO v3-tiny[25]、YOLO v4-tiny[26]、YOLO v5s、YOLO v7-tiny[27]、YOLO v8n与YOLO v5s-CBD进行比较,其中改进模型与其它模型mAP训练曲线变化如图8所示。
图8 不同模型mAP变化曲线Fig.8 The mAP change curves of different models
在图8中,改进模型相比YOLO v3-tiny、YOLO v4-tiny、YOLO v5s、YOLO v7-tiny,明显看出改进模型YOLO v5s-CBD平均精度均值最优,尽管相比于YOLO v8n模型,改进模型YOLO v5s-CBD收敛速度略差,但经过300轮次的充分训练之后,改进模型的收敛效果更好,且平均精度均值更优。
改进模型YOLO v5s-CBD与其它模型识别精度和性能实验结果如表1所示。
表1 网络模型识别精度和性能比较Tab.1 Network model identification accuracy and performance comparison
由表1可见,对植物识别时,YOLO v5s-CBD相比YOLO v5s,精确率提高1.1个百分点,召回率提高1.3个百分点,平均精度均值提高0.6个百分点,综合评价指标提升,模型内存占用量下降38%,推理速度在GPU端提升2 ms。在模型内存占用量下降的情况下,YOLO v5s-CBD精度和性能仍然优于YOLO v5s;与YOLO v3-tiny相比,YOLO v5s-CBD精确率提高10.3个百分点,召回率提高12.4个百分点,平均精度均值提高9.1个百分点,综合评价指标提升,模型内存占用量下降75%,推理速度在GPU端提升7 ms;相比于YOLO v4-tiny,YOLO v5s-CBD精确率提高5.9个百分点,召回率提高6.7个百分点,平均精度均值提高5.6个百分点,综合评价指标提升,模型内存占用量下降61%,推理速度在GPU端提升5 ms;相比于YOLO v7-tiny,YOLO v5s-CBD精确率提高4.9个百分点,召回率提高7.1个百分点,平均精度均值提高4.9个百分点,综合评价指标提升,模型内存占用量下降26%,推理速度提升;而相比于YOLO v8n,尽管YOLO v5s-CBD召回率下降0.3个百分点,模型内存占用量增加,但是改进模型在精确率、平均精度均值、综合评价指标和推理时间更优。综合来看,改进的模型YOLO v5s-CBD的性能均优于YOLO v3-tiny、YOLO v4-tiny、YOLO v5s、YOLO v7-tiny、YOLO v8n。
为验证模型改进的有效性,选择测试集中两幅背景复杂的多目标图像,使用YOLO v5s-CBD与以上网络进行测试,测试结果如图9所示。
图9 不同模型识别对比Fig.9 Identification and comparison between different models
由图9可知,对于背景复杂的植物图像,YOLO v3-tiny、YOLO v4-tiny、YOLO v5s和YOLO v7-tiny均存在漏检现象,YOLO v8n虽能识别图像中的植物类别,但定位不准确。而改进模型YOLO v5s-CBD可以有效识别植物种类和定位目标。
为进一步验证改进模型YOLO v5s-CBD的性能,选择精确率、平均精度均值、推理时间、模型内存占用量,比较YOLO v7和改进模型,结果如表2所示。
表2 网络模型性能Tab.2 Network model performance
由表2可知,与YOLO v7相比,YOLO v5s-CBD精确率提高2.1个百分点,mAP提高1.3个百分点,模型内存占用量更小,由于YOLO v7设计高效聚合网络和引入RepVGG结构,所以速度更快,但是YOLO v5s-CBD推理时间仅仅比YOLO v7慢1 ms, 产生的影响可以忽略不计,因此,相比于YOLO v7,改进模型YOLO v5s-CBD拥有更好的检测性能。
为进一步客观评估本文所提模型的性能,选取公共数据集PASCAL VOC07+12(共包含20个目标)对YOLO v5s-CBD进行测试,并与Faster R-CNN、SDD(Mobilenet)[28]、YOLO v3-tiny、YOLO v4-tiny[29]和YOLO v7-tiny进行比较,比较结果见表3。
表3 网络模型VOC数据集测试性能Tab.3 Network model VOC dataset performance
由表3可知,相比于双阶段目标检测模型Faster R-CNN,YOLO v5s-CBD模型平均精度均值
提升7.7个百分点,推理速度提升明显。相比于SSD模型,YOLO v5s-CBD模型mAP提升5.6个百分点,模型内存占用量降低91%,推理速度提升212.5%;相比于YOLO v3-tiny,YOLO v5s-CBD模型mAP提升6.6个百分点,尽管浮点运算次数增加,但是模型内存占用量降低71%,推理速度提升87.5%;相比于YOLO v4-tiny,YOLO v5s-CBD模型mAP提升3.3个百分点,模型内存占用量降低62%,推理速度提升62.5%;相比于YOLO v7-tiny,YOLO v5s-CBD模型mAP提升2.5个百分点,模型内存占用量降低26%,推理速度提升50%。这说明本文改进模型YOLO v5s-CBD在公共数据集PASCAL VOC07+12上相比其他一些轻量级网络,有着更好的检测性能。
为验证改进模型YOLO v5s-CBD的有效性,需要通过消融实验对模型进行对比分析,在此使用精确率、召回率、综合评价指标和平均精度均值验证。
消融实验验证结果如表4所示。由表4可知,①相比YOLO v5s,模型2的精确率提高0.9个百分点,召回率提高0.5个百分点,F1值提高0.5个百分点,平均精度均值提高0.4个百分点,说明采用BoTNet网络,能够较好地提取目标特征,有效提高网络对植物的检测性能,降低模型参数量。②相比YOLO v5s,模型3的精确率提高0.2个百分点,召回率提高1.9个百分点,F1值提高1.1个百分点,mAP提高0.2个百分点,说明使用SIoU,可以提高模型的拟合,提高模型识别精度。③相比YOLO v5s,模型4的精确率提高1个百分点,召回率提高1.9个百分点,F1值提高1.5个百分点,mAP提高0.6个百分点,说明BoTNet和SIoU有效提升网络模型性能。④与模型YOLO v5s相比,模型5各方面均有提升,性能达到最优,说明改进模型的有效性。⑤模型6经过模型压缩之后,与模型5相比,精确率下降1.3个百分点,召回率提高2.4个百分点,F1值提高0.7个百分点,而mAP仅下降0.2个百分点,因此,模型压缩检测精度基本没有变化,而与YOLO v5s模型相比,模型精确率、召回率、F1值和mAP均有提升,说明本文改进YOLO v5s-CBD在压缩模型之后,尽管模型参数量下降,但检测性能仍然优于原始模型。
表4 网络模型消融实验Tab.4 Network model ablation experiment
为进一步分析改进前后模型的性能,训练200个迭代周期后,得到YOLO v5s-CBD和YOLO v5s的位置损失值如图10所示。
图10 位置损失值曲线Fig.10 Curves of location loss
由图10可知,由于改进模型YOLO v5s-CBD 引入了 BoTNet和CA注意力机制结构,收敛更快且收敛性能优于YOLO v5s。
为方便调查宁夏全区荒漠草原植物种类及其分布,跟踪植物生长形态,基于改进模型YOLO v5s-CBD,设计并开发了移动端植物图像识别APP,同时将植物识别模型与定点生态信息观测平台结合[30-32],实现远程跟踪。
植物图像识别APP基于uni-app框架开发,使用Android Studio工具打包部署,为方便后期模型的升级,在此使用Flask前端框架将植物识别模型部署到阿里云服务器。
植物图像识别APP识别流程如图11所示。
图11 植物图像识别实现流程图Fig.11 Plant image recognition implementation flowchart
APP主要实现功能为:①用户可通过APP拍照或者图库选取植物图像,上传至云服务器,云服务器调用YOLO v5s-CBD对图像进行自动识别后将结果反馈给客户端,实测在正常4G网络中只需1 s便可返回识别结果。返回结果之后,可以查询植物的详细信息,包括植物的草原类型、密度、氮磷钾、植物的干湿重、分布的经纬度等。②用户可以通过APP上传图像到数据库,扩充原始植物数据集,增加模型识别种类,方便科研工作者使用。
植物图像识别APP各模块的UI页面如图12所示。
图12 植物图像识别APP界面Fig.12 Plant image recognition APP interface
定点生态信息观测平台以树莓派作为控制核心,可完成光照强度、降雨量、空气温湿度、土壤氮磷钾主要元素等10余类生态环境数据的实时监测和跟踪,同时可对观测点植物图像数据进行实时采集和跟踪。定点生态信息观测平台实物如图13所示。
图13 定点生态信息观测平台实物Fig.13 Fixed-point plant ecological information observation platform
为了对观测点的图像进行实时采集并查看,使用UIkit轻量级框架构建web 界面,通过定点生态信息观测平台数据采集模块的高清图像采集设备,使用 RTMP 推流的方式,与萤石云开放平台结合,实时获取宁夏草原地区植物图像,同时利用部署在阿里云服务器的 YOLO v5-CBD 模型,使用图像采集设备的RSTP地址,可完成观测点植物图像的跟踪,图像跟踪界面如图14所示。在图14中,利用YOLO v5-CBD 模型,实现了长芒草植物图像的远程实时跟踪识别。
图14 图像跟踪界面Fig.14 Image tracking interface
(1)针对宁夏荒漠草原植物样本不一,背景复杂,采用YOLO系列检测算法参数量较大、识别精度不高等问题,提出了一种复杂背景下轻量化目标检测识别模型YOLO v5s-CBD,该模型使用BoTNet和CA改进特征提取网络,引入SIoU提高模型收敛能力,使用深度可分离卷积压缩模型来进行轻量化。
(2)在对宁夏草原植物检测识别时,改进模型YOLO v5s-CBD识别精确率P为95.1%,召回率R为92.9%,F1值为94.0%,平均精度均值(mAP)为95.7%,模型内存占用量为8.9 MB。与YOLO v3-tiny、YOLO v4-tiny、YOLO v5s模型相比,改进模型YOLO v5s-CBD对宁夏荒漠草原常见植物具有更好的检测性能。
(3)结合实际应用,设计并开发了移动端植物识别APP和定点植物生态信息观测平台,可完成宁夏荒漠草原植物图像的移动识别和观测点的生态信息实时检测和长期跟踪。