基于结构重参数化的复杂背景下天然草地植物图像轻量级分类识别方法*
2023-09-02王亚鹏曹姗姗李全胜孙伟
王亚鹏,曹姗姗,李全胜,孙伟
(1.新疆农业大学 计算机与信息工程学院,新疆 乌鲁木齐830052;2.中国农业科学院农业信息研究所,北京 100081;3.国家农业科学数据中心,北京 100081)
自20世纪80年代以来,我国草地生态系统因载畜量过高、过度开发和气候变化等因素,草地普遍发生了退化,退化率已超过90%[1-3]。草业资源调查是一项重大的基础性自然资源调查监测工作,为草原现状和变化情况、科学评价其质量和生态状况提供了数据支撑[4]。根据《中国草地资源》[5]草地分类系统,我国草地可分为20个草原类824个草原型,类型多样,植物种类丰富。草业资源调查等工作的重要环节之一是在野外环境下对天然草地植物种类进行准确快速的识别,目前多采用植物分类领域的专家现场判别的方式,识别准确率取决于专家经验和技术水平,识别效率受限于资源调查整体推进的速度,局限性较大且浪费人力物力,不利于野外开展资源调查、科学实验或教学科普等场景下的植物分类识别。
近年来,随着数码相机、摄像头、无人机、卫星遥感等多源数据获取手段的丰富,计算机硬件算力的提高以及图像自动分类识别精度的不断提升,以卷积神经网络[6-8](convolutional neural networks,CNN)为代表的深度学习算法在图像分类和表征识别方面的能力取得了突破性进展[9],并逐步应用到植物图像分类领域,并在训练数据充足时表现出良好的性能[10-11]。国内外学者在基于CNN的植物分类识别方面开展了大量研究,取得了众多进展[12-15]。以植物叶片图像为研究对象,开展基于机器视觉的叶片图像识别已成为主流方法[16-18]。该类方法早期多是以实验室环境下的叶片或植物局部特征为对象进行的图像分类识别[19-20],具有较高的精度和稳定性。但受限于实验室光源、图像背景等较为理想和单一的数据采集环境,基于实验室图像数据构建的模型难以直接拓展应用到野外复杂多变的自然条件和背景下的植物图像分类识别上,同时阴影、反光、土壤、砂砾等噪声也提升了图像识别难度[21],忽视了图像采集的复杂自然背景和植物的整体外观特征[22]。在植物特征提取的对象区域上,陈淑君等[23]提出了一种盆栽植物总体外部特征提取的图像识别方法,识别率可达90%;冯海林等[24]提出了一种基于树木整体图像和集成迁移学习的树种识别方法,对于树木整体图像识别具有较好的效果。在模型算法的算力要求上,随着DenseNet[25]等CNN网络的加深,虽可以提升网络性能,但模型参数量庞大且更加复杂,训练网络需要海量数据集[26-27],并不适用于植物的野外现场快速识别等应用场景,尤其是在无人机机载传感器或智能手持终端等边缘计算环境下,要在确保识别准确率的前提下,尽可能降低模型运行的时间复杂度和空间复杂度,提升模型的推理速度,因此,VGG[28]和ResNet[29]等经典原始网络仍然大量应用于工业界[30-31],但难以满足农业、林业、资源环境等领域的野外植物图像数据的直接快速识别需求。随着SqueezeNet[32]、MobileNet[33]、ShuffleNet[34]和EfficientNet[35]等轻量化网络的提出,使得网络携带参数量减少且FlOPs(浮点运算数)降低,旨在解决边缘计算下模型所需的算力问题。ACNet[36]通过非对称卷积,提升网络对图像旋转和翻转的鲁棒性,且对网络的预测速度没有影响,提供了一种网络性能提升但不增加内存的新思路。ResRep[37]提出的一种SGD更新规则,在少精度损失的情况下,具有更高的压缩率,达到压缩模型的目的。众多轻量化模型及方法的提出,使得植物图像的快速识别成为可能,也为天然草地植物的智能识别提供新的途径。
以新疆干旱区自然复杂背景下采集的整株天然草地植物图像为研究对象,基于现有高效网络RepVGG,引入非对称卷积进行优化,构建RepVGG_ACB模型,并结合结构重参数化方法解耦RepVGG_ACB模型的训练阶段和推理阶段,提出一种兼顾识别精度、并行度和效率的自然复杂背景下天然草地植物图像轻量级分类识别模型,可直接应用于无人机机载传感器网络或智能手持终端等野外植物图像快速分类识别应用场景,为边缘计算条件下的野外植物自动化高精度智能分类识别提供新方法。
1 材料与方法
1.1 数据采集
塔城地区位于新疆西北部、亚欧大陆腹地,属中温带干旱和半干旱气候,地处43°25′~47°15′N、82°16′~87°21′E之间。塔城地区植物资源丰富,有铃铛刺(Halimodendronhalodendron)、锦鸡儿(Caraganasinica)、红柳(Tamarixramosissima)、梭梭(Haloxylonammodendron)、琵琶柴(Reaumuriasongarica)等水土保持荒漠乔、灌木树种,亦有蒿类(Artemisiaspp.)、针茅(Stipacapillata)、麻黄(Ephedrasinica)、黄芪(Astragalusmembranaceusvar.mongholicus)等草本植物,共计1 000余种[38]。本研究的天然草地植物图像主要采集自塔城地区的2市4县(塔城市、沙湾市、裕民县、托里县、额敏县及和布克赛尔蒙古自治县),包含温性草原、低地草甸、山地草甸、温性荒漠及温性荒漠草原等草原类型。
于2022年7—8月采集天然草地植物图像。采用数码相机和智能手机拍摄调查样地中的整株植物照片,图像分辨率分别为3 968×2 232 px和4 800×3 200 px。在多种光照条件下从多种角度进行图像数据采集,目标植物占据整幅图像的中央主要位置,图像包含光照、阴影、土壤、沙砾、杂类草、其他草地植物和草地植物成群生长等自然复杂条件和背景因素。同时,记录每一张图像中的目标植物的专家鉴定结果。经过人工鉴定和手动筛选,构建自然复杂背景下天然草地植物图像数据集,共计18 583张图像,包含21科63属74种天然草地植物,每一种草地植物的图像数据量为183~392张。以骆驼刺(Alhagisparsifolia)和瓦松(Orostachysfimbriata)为例,同一植物种类在不同自然条件和背景下的数据集实例见图1。
图1 天然草地植物图像数据集实例
1.2 数据预处理
考虑到深度学习模型对数据集的要求,无规则打乱74种天然草地植物图像数据,采用6︰2︰2的比例将数据集划分为训练集(60%)、验证集(20%)和测试集(20%)。在训练前,需对训练集和验证集的数据进行标准化处理,先将短边缩放为256 px,长边按图像比例进行缩放,再进行中心剪裁,尺寸为224×224 px。而归一化操作是对形状为(高、宽、通道)的图像转化为(通道、高、宽)的张量,将其RGB值归一化到[0,1],进而将图像的RGB值进行标准化操作(均值变为0,标准差变为1),可加快模型的收敛。在训练前,对训练集使用平移、旋转以及翻转等数据增强操作。
1.3 RepVGG_ACB网络
1.3.1 基础网络模型RepVGG
本研究采用的基础网络模型RepVGG借鉴了VGG网络结构。VGG网络采用了单路架构,通过堆叠多个3×3的卷积来获取相同的感受野[39],现有的计算库(如Intel MKL、CuDNN)和硬件针对3×3卷积有深度的优化,使得VGG网络并行度高且推理速度更快。另外,如DenseNet等网络并行了多个分支,但对于内存消耗是不友好的,且多分支结构影响了网络的灵活度,不利于模型剪枝及优化,而单分支具有更加灵活的特点。
RepVGG网络在推理阶段没有任何分支结构,且仅使用大小为3×3的卷积以及ReLU激活函数。在训练阶段,RepVGG网络舍弃了VGG网络最后3个全连接层,以减少整体的参数量,达到模型剪枝的目的。为增加网络对于特征图的表征提取能力,如ResNet等网络一样,采取多分支结构提升网络性能。RepVGG网络借鉴ResNet网络的残差模块,为每个3×3卷积添加平行的恒等映射块和1×1卷积块,构成一个多分支结构(RepVGG Block,图2)。以RepVGG-A网络为例,堆积22层3×3卷积,分为5个阶段,每个阶段的第一层是步距为2的降采样,每个卷积层的激活函数均为ReLU,对应图2中左图a,其余为右图b。RepVGG-A的5个阶段分别有{1,2,4,14,1}层,RepVGG-B的5个阶段分别有{1,4,6,16,1}层,宽度则是{64,128,256,512}的若干倍。
1.3.2 非对称卷积
非对称卷积(Asymmetric Convolutions)通常用于逼近现有的方核卷积层,用于模型压缩和加速。前人的研究[33-34]表明,可以将标准的k×k卷积分解为k×1和1×k卷积,以减少参数和所需的计算量。非对称卷积作为卷积神经网络中标准卷积操作的变种,在水平和垂直方向上使用不同的卷积核尺寸进行卷积运算,能够提高模型对图像翻转的鲁棒性。但在现实情况下可能存在差异,在进行数据增强操作时,通常执行图像的左右翻转而非上下翻转,因此若将倒置的图像输入到模型中,标准的平方卷积可能会产生无意义的结果。水平卷积和标准卷积见图3。
由图3可知,水平卷积在图像上下翻转后,仍然能够提取正确的特征,而标准平方卷积提取的特征显然是不一样。因此,引入水平卷积(卷积核为1×k)操作可以提升模型对图像上下翻转的鲁棒性。同理,引入垂直卷积(卷积核为k×1)操作可以提升模型对图像左右翻转的鲁棒性。以获取更好的特征表达为切入点,在训练阶段引入非对称卷积块[36](Asymmetric Convolution Block,ACB),与其它方法的最大区别是没有引入额外的超参数,并且在推理阶段没有增加任何计算量。主流网络的核心组件是3×3卷积,在训练阶段,为3×3卷积增加一个1×3卷积和3×1卷积,最终将这3个卷积层的计算结果进行融合获得卷积层的输出,以获取更好的特征提取。在推理阶段,先对3个卷积核进行融合,而后用于计算,推理阶段和原始网络的结构完全相同。为3×3卷积添加ACB模块的训练及推理阶段见图4。
图4 ACB模块的训练及推理阶段
RepVGG网络的核心组件是堆叠多个3×3卷积,结合ACB为RepVGG网络的3×3卷积添加一个1×3卷积和一个3×1卷积,在训练阶段强化特征提取,提升模型性能,基于RepVGG_ACB网络架构见图5。
1.3.3 结构重参数化的RepVGG_ACB网络
基于RepVGG_ACB网络模型,通过结构重参数化[30,40]解耦训练时和推理时架构。该架构在模型训练时采用多分支结构,而后将多分支模型等量转化为单分支模型,最后部署单分支模型。其特点是可结合多分支模型在训练时性能高及单分支模型在推理时速度快的优势,具有较高的准确率和较快的识别速度。结构重参数化的RepVGG_ACB网络训练和推理阶段思路见图6。
1.4 模型评价指标
1.4.1 Top-1 Accuracy
图像识别问题使用测试集top(k)的准确率评价模型的好坏,其计算公式如下。
①
式中:k的取值为[1,n],a表示模型测试集图像的总数量,r表示模型预测的前k个结果中测试正确的图像数量。一般常用Top-1 Accuracy,是指排名第一的类别与实际结果相符的准确率。
1.4.2 混淆矩阵
混淆矩阵(Confusion Matrix)也称误差矩阵,是评判模型结果的一种指标,属于模型评估的一部分,常用于评判分类器模型的优劣。混淆矩阵见表1。
表1 混淆矩阵
预测性分类模型,期望越准确越理想。对应到混淆矩阵中,期望TP(true positive)与TN(true negative)的数量大、FP(false negative)与FN(false positive)的数量小。在得到模型的混淆矩阵后,在第二、四象限对应位置的观测值越多越好;反之,在第一、三象限对应位置出现的观测值越少越好。为验证RepVGG_ACB网络在结构重参数化前后是否影响模型识别准确率,对比转换前后模型的混淆矩阵,从而达到结构重参数化的有效验证。
1.4.3 模型推理速度
RepVGG_ACB网络使用结构重参数化优化了推理阶段的模型运行速率,以划分的测试集(20%)约为3 696张图像为实验数据,计算RepVGG_ACB与经典网络模型在单位时间内的推理速度,即每秒能够预测图像的数量,作为判断模型推理速度的指标。
2 结果与分析
2.1 结构重参数化的有效性验证
通过结构重参数化技术将RepVGG_ACB网络的训练阶段与推理阶段解耦,先训练多分支模型,而后等价转换为单路模型,最后部署模型。因此,在推理阶段使用的是已转换的模型,应考虑对比RepVGG_ACB网络在转换前后的准确率、浮点运算数(FLOPs)、推理速度、参数量及模型大小,对结构重参数化的有效性进行验证。模型训练中,每次训练所选取的样本数BatchSize设为32,迭代次数Epoch设为120,初始学习率设为0.000 1,随后使用自适应学习率,损失函数为交叉熵损失函数,结果见表2。
表2 结构重参数化的有效性验证
表2中,RepVGG_ACB网络在转换前后拥有相同的识别准确率,FLOPs、参数量以及模型体积降低约10%,而推理速度提升了约15%~30%,且随着模型深度和宽度的增加,模型的推理速度逐步增加,识别效率显著提高。
为进一步验证结构重参数化的有效性,绘制RepVGG_ACB网络在转换前和转换后的混淆矩阵,更加直观的验证其有效性。以RepVGG A0_ACB为例,挑选10种天然草地植物,训练50个Epoch,结构重参数化前后的混淆矩阵见图7。
图7 结构重参数化前后的混淆矩阵
由图7所示,结构重参数化前后的混淆矩阵完全相同,可得知A0_ACB转换前后的识别准确率也完全相同,且第二、四象限对应位置的观测值较多,第一、三象限对应位置出现的观测值较少,通过训练50个Epoch,A0_ACB网络能够达到较高的识别准确率。结果表明,RepVGG_ACB网络在结构重参数化前后,不会降低识别准确率,影响转换前模型的性能,且通过解耦训练和推理阶段,提高模型的推理速度,减少天然草地植物图像的识别时间。
2.2 RepVGG_ACB网络消融分析
为验证多分支结构以及引入非对称卷积对网络表征能力的增强效果,通过网络消融方法移除RepVGG_ACB若干个组件,分析组件对于整个网络的作用。将RepVGG_ACB的两个捷径分支和非对称卷积块为组件,分别测试与主分支结合后模型的识别准确率。以RepVGG A0_ACB为例,保证其他参数不变,消融分析实验结果见表3。
由表3可知,在不包含任一组件时,准确率相比A0_ACB下降了4.2%,但推理速度大幅提高。在仅使用一个组件时,准确率相比A0_ACB也都不同程度的下降,推理速度也相应提高,结果表明多分支结构能够增加网络的表征能力,提高模型的识别准确率。在引入ACB模块后,A0_ACB相比原始A0网络准确率提高了0.3%,且推理速度相同,表明引入非对称卷积对于推理阶段没有增加任何的计算资源。
2.3 多模型分类识别对比分析
本研究期望在保证较高识别准确率的前提下,尽可能提升模型的推理速度,减少图像的识别时间。基于74种天然草地植物图像数据,选用RepVGG_ACB系列、经典网络(VGG系列和ResNet系列)、轻量级网络(MobileNet V2和ShuffleNet V2)进行训练和测试,上述网络模型测试结果对比数据见表4。
表4 不同网络模型测试结果对比
由表4可知,RepVGG_ACB系列网络与VGG式网络相比,在准确率相当的情况下,拥有更少的FLOPs和更快的推理速度,且参数量、模型体积约为后者的5%。通过结构重参数化,RepVGG_ACB网络在推理阶段采取VGG式网络的单路模型架构,推理速度约为后者的3倍。RepVGG_ACB采取多分支结构作为主干网络,且舍弃VGG式网络的全连接层,FLOPs约为后者的7%,模型复杂度大幅降低。
与多分支结构ResNet系列网络相比,A1_ACB与ResNet 34网络准确率相当,但FLOPs仅为后者的65%,参数量和模型体积约为后者的50%,且推理速度约为后者1.3倍。B0_ACB与ResNet50网络相比,FLOPs、推理速度、参数量以及模型体积对比前组优势更加明显。RepVGG_ACB网络借鉴ResNet系列网络的残差模块,不仅使得网络可以训练的更深,在识别效果相近的情况下,参数量更低、推理速度更快,模型复杂度也随之降低。
MobileNet和ShuffleNet网络是专门为计算资源有限的设备设计的网络架构,在保留一定模型精度的同时极大减少了计算开销,推理速度大幅提升,且FlOPs、参数量和模型体积大幅减小。RepVGG_ACB网络是为专用硬件或GPU设计的高效模型,追求推理速度快、更加省内存,较少关注参数量和FLOPs。RepVGG B0_ACB与MobileNet V2、ShuffleNetV2相比,识别准确率提升了2%到3%,但推理速度不及二者,且参数量和FLOPs高于二者。但可以观察到,A1_ACB与MobileNet V2相比,FLOPs是后者的7.6倍,但推理速是后者85%,可见,FLOPs不能完全决定推理速度,表明RepVGG_ACB网络的计算密度更高。考虑到模型训练及推理所使用到的硬件设备,在算力较低的设备上,RepVGG_ACB网络可能不如MobileNet和ShuffleNet网络的适用能力。
2.4 不同科植物物种识别准确率
本研究构建的天然草地植物图像数据集共包含21科,以不同科为分类(数量小于2的则归为其它)的RepVGG B0_ACB识别准确率见表5。
表5 不同科植物物种识别准确率
可以看出,不同科植物物种的识别准确率差距较大(92.3%~97.8%),但准确率都高于了92%,识别效果较佳。识别准确率最高的是百合科,达到 97.8%,其次是其他科和柽柳科,识别准确率分别为 97.6% 和 97.5%,准确率最低的是藜科,为92.3%。可以看出,同一科内物种数等于2的准确率均达到了较高水平,但物种数较少,表明模型对于同一科内物种数较少情况下的识别能力突出。而在物种数较多的情况下,准确率开始下降,说明同一科下的植物相似度较高,识别难度增大。另外,74种植物中,识别准确率最高的物种有花花柴(Kareliniacaspia)(藜科,100%)和黄芪(豆科,100%),经分析,两个物种的外形特征差异较大,因此能获得高准确率。准确率最低的物种为疣苞滨藜(Atriplexverrucifera)(藜科,81.3%),数据集中物种数量最多的科为藜科,由于植物物种和科有唯一的所属关系,则单个物种的识别准确率将直接影响科的识别准确率。
3 讨论与结论
目前,国内草业资源调查中对于天然草地植物的分类识别,主要依靠专家经验,时间和人力成本较高。使用深度学习算法辅助传统人工识别天然草地植物,可以有效降低天然草地植物的识别难度,并为草业查人员提供技术支持和减少对专家鉴定的依赖,效率提高且成本降低。
本研究构建了新疆塔城地区74种天然草地植物图像数据集,共计18 583张图像,与文献[41]所使用的天然草地植物数据集相比,植物种类数量少于其所使用的293种,但本文所使用的植物图像全部来源于草地资源调查样地,并未融合其他数据集或网上爬取,真实地反映了一段时期内植物的天然形态特征,且每种植物图像的数量在183至299张之间,包含复杂背景等噪声,能够满足当前主流网络对于数据集的要求,可用于深度学习识别算法研究,并为草业资源调查和生态学研究领域的植物分类识别提供数据支持和借鉴。但本数据集具有一定的局限性,因数据来源于草业资源调查的部分样地,且数据范围局限于塔城地区,可能不适用于其它地区的天然草地植物识别。又因数据采集时间在夏季,而植物在不同的生长周期外观特征上具有很大的差异性,模型也仅对夏季的天然草地植物具有较高的识别精度,对于其他季节时期的识别效果可能不佳。
以74种天然草地植物为研究对象,本文提出了一种基于结构重参数化的RepVGG_ACB网络,能够兼顾识别精度、并行度和效率,可应用于野外植物图像的快速分类场景,解决了自然复杂背景下整株天然草地植物图像野外识别的精度和效率问题。基于结构重参数化的RepVGG_ACB网络,通过解耦训练和推理阶段,在训练阶段借鉴ResNet式网络的残差模块,并引入非对称卷积块,构建了多分支结构,增加了模型的表征提取能力,使得网络能够达到较高的识别准确率。RepVGG A0_ACB、A1_ACB和B0_ACB网络对天然草地植物的识别准确率分别为90.7%、92.4%和95.6%,识别准确率相比单分支结构提高了0.3%~4.2%,识别效果显著。在推理阶段继承了VGG式网络的优点,采取单路架构,与经典网络相比,在准确率相当的情况下,拥有更少的FLOPs,且参数量、模型体积约为后者的5%~50%,模型复杂度大幅降低,并行度高的同时推理速度提升了1.3~3倍。与轻量级模型相比,推理速度虽略不及但准确率提高了2.1%~3.2%,且RepVGG_ACB网络拥有更高的计算密度,更适用于专用硬件或针对3×3卷积进行优化和适配的边缘计算设备。因此,可将RepVGG_ACB模型应用于无人机机载传感器网络或智能手持终端等边缘计算环境,为野外植物自动化高精度智能分类识别提供新方法。
与国内外常见的植物识别系统微软识花、形色及花伴侣相比,本研究所使用的基于结构重参数化的RepVGG_ACB模型能够识别更多的天然草地植物类别,且识别准确率更高。文献[42]提出了一种轻量化网络结构,用于番茄叶面病害识别,通过结构重参数化技术使得测试数据的推理效率提高了6.94%,而本研究的模型推理速度提升了约15%~30%。