APP下载

一种应用于云南省外侵物种识别的边缘计算模型

2023-11-07资彩飞杜铭铭孙仲享曹志勇

湖北农业科学 2023年10期
关键词:倍率云南省物种

罗 玲,宋 科,王 皓,资彩飞,奉 伟,杜铭铭,孙仲享,曹志勇

(1.云南农业大学,a.大数据学院;b.植物保护学院,昆明 650500;2.云南高创人才服务有限公司,昆明 650221)

外来入侵物种是指在中华人民共和国境内无天然分布,经自然或人为途径传入,并对生态系统、生境、物种带来威胁或者危害,影响中国生态环境,损害农林牧渔业可持续发展和生物多样性的外来物种。云南省是中国重要的生物多样性宝库和全球34 个物种最丰富的热点地区之一,同时也是中国西南生态安全屏障,是外来入侵物种侵入中国的南大门。近年来,云南省重大植物疫情呈严重态势,植物界“头号杀手”紫茎泽兰已遍布云南省80%的土地,并以每年10~30 km2北进,给中国的农业生产带来巨大损失,对生态安全造成严重威胁。入侵物种防治迫在眉睫,准确识别外来入侵物种至关重要,这对保障中国粮食安全、生物安全和生态安全有着重要意义,而农业技术与信息技术结合是未来中国农业的发展方向,二者融合也是中国农业生产智能化、现代化的关键[1]。2018 年乔曦等[2]采用卷积神经网络模型对野外薇甘菊图像进行识别,GoogLeNet、VGG-16 的准确率分别达95.5%、97.5%;2022 年闫瑞华[3]提出基于百度AI 开发平台图像识别接口服务的湿地外来入侵物种监测系统,可有效支持湿地外来入侵物种监测工作。上述研究均取得不错的效果,可见在过去的几年中,深度神经网络已经取得了显著的发展,但这些网络的计算复杂度和资源消耗也不断增加,要将其部署在实时应用程序或者资源受限的设备中,无疑是一个巨大的挑战[4],终端设备产生的数据需发送到服务器端,利用庞大的计算资源进行训练后返回结果,需保证高质量的网络信号。然而云南省地形特征以山地高原为主,地势起伏较大,通信网络覆盖率较低,若位于无网或者网络延时较长的地区,以上研究则无法满足实时性需求,不能很好地应用于实际。随着外侵物种数据越来越多地在介于终端和云端之间的网络边缘设备中产生,边缘端不仅在靠近数据源头的一侧汇集数据,而且通过计算机系统就近提供服务,所以在边缘端处理数据会更有效,而智能手机的普及度及图像处理能力和传输能力大幅提升,其轻巧便捷性和精确性更能满足采样的特殊要求[5],且为了向公众普及农业外来入侵物种知识,便于广泛开展宣传培训,提高广大人民群众对外来入侵物种的识别能力和防控意识,可以在物联网设备及其附近部署的网络节点上实现人工智能算法的能力,将数据的处理、分析和应用推到离用户更近的地方,更加快速、准确地响应用户需求的边缘智能无疑更加可行,所以外侵物种识别技术需要在边缘端发力,将传统数据中心的算力向边缘侧迁移。本研究使用MobileNet-v2 模型进行迁移学习,并对网络模型作出改进,旨在建立一种能够快速访问边缘设备生成的实时数据、响应实时识别事件的边缘计算模型,这将是云南省外侵物种防治新途径,是中国外来物种入侵精准防控、保障生物安全、生态安全和粮食安全的重要支撑。

1 材料与方法

1.1 数据采集

试验数据集主要来自云南农业大学外侵物种数据系统和云南省外侵物种监管部门无人机采集数据,试验共采集到5 000 余张图像,最终挑选出4 720个合格样本构成云南省主要外侵物种样本集,包含鬼针草、喀西茄、水花生和紫茎泽兰4 种云南省主要外侵物种。将样本集以8∶1∶1 的比例划分为训练集、验证集和测试集。在训练网络模型之前,将获取的原始图像裁剪成大小为224 px×224 px 的图像,外侵物种部分样本如图1 所示。

图1 外侵物种部分样本

1.2 方案设计

MobileNet 网络是针对于边缘端或嵌入式设备的轻量级卷积神经网络,与传统的神经网络相比,MobileNet 网络在准确率小幅降低的同时大大减少了模型的参数量和运算量,能够实现外侵物种图像的实时识别[6,7]。

在外侵物种识别领域,由于外侵物种的各个部位(花、果、叶)受季节影响,短期内无法获得每个部位大量的高质量训练数据用于模型的训练,而利用深度学习解决图像识别问题往往需要大量的训练样本,数据量过少时,模型结构层次一旦加深就容易出现过拟合的问题,导致训练得出的模型泛化能力不足。迁移学习是指通过从已经学习的相关任务中转移知识来改进在新任务中的学习,目前已成为机器学习的一个热门领域[8],基于迁移学习的方法能在一定程度上减缓过拟合问题[9]。

由于大部分数据集存在相关性,所以通过迁移学习可以将已经学习到的模型权重迁移到新模型中,从而加快新模型的训练效率。本研究的数据集为4 种植物图片,而ImageNet 数据集一直是评估图像分类算法性能的基准,涵盖了大部分生活中的图片类别,因此试验将已在ImageNet 数据集上预训练好的MobileNet 模型作为基础模型,用于解决云南省主要外侵物种识别问题,实现机器学习在相似领域的迁移。

轻量化模型设计的思想是在不损失网络准确度的前提下,降低网络的参数量,使模型更简单化。目前轻量化主要沿着2 个方向进行展开,一是将已经训练好的网络模型进行压缩等操作后得到轻量化模型,二是直接设计较小的卷积神经网络再进行训练,本研究采用后者。2017 年,Google 团队提出了MobileNet-v1 网络,它是一种专门针对移动端或者嵌入式设备的轻量级卷积神经网络[10];与传统的卷积神经网络相比,MobileNet-v1 网络在准确率上有小幅降低,但减少了模型的参数量和计算量。MobileNet-v1 模型由多个深度可分解卷积[11]构成。在每个卷积后进行批归一化[12](Batch normalization,BN)和ReLU 操作,在MobileNet-v1 模型中主要有2个值得注意的地方,一是引入深度可分解卷积,减少了模型参数量,二是增加了超参数α、β(α为宽度倍率,主要用来控制卷积过程中所采用卷积核的个数,当α取不同值时,其效果也不一致;β为输入图像分辨率,不同分辨率也会影响网络模型的准确度),本研究采用分辨率为224 px×224 px的图像作为研究对象。2018 年,Google 团队提出MobileNet-v2 模型,相比MobileNet-v1 模型其准确率更高,模型更小[13],与MobileNet-v1模型相比主要进行了以下方面的改进。

1)提出了倒残差(Inverted residual)结构[14]。首先采用1 ×1 的卷积核进行升维,然后采用3×3 的卷积核进行深度卷积操作,最后通过1×1 的卷积核进行降维,采用ReLU6 激活函数,其与ReLU 相比,具有更强的非线性特性,对于更复杂的数据分布和模型拟合能力有更好的表现。ReLU6 激活函数将最大输出设为6,更容易出现权重不更新的现象;使用ReLU6 激活函数可以防止数值爆炸;由于整数位最大为6,只占3 个bit ,其他bit 将全部用于表示小数位,可以增强浮点数的小数位表达能力。

2)使用了线性瓶颈(Linear bottlenecks)。在倒残差结构最后一个1×1 卷积层中使用了线性的激活函数。倒残差结构是一种两端细中间粗的结构,输出时是一个低维的特征向量,而ReLU6 激活函数对低维特征信息造成的损失较大,对高维特征信息造成的损失较小,因此需使用线性激活函数替代Re-LU6 激活函数来避免信息损失。

1.3 训练与结果

针对ImageNet 数据,集取MobileNet-v2 模型中不同宽度倍率α的识别结果[13]。由表1 可知,MobileNet-v2 模型中的宽度倍率越大其准确率越高,模型参数量越大[13]。

表1 不同宽度倍率α 在ImageNet上的试验结果

分别将α为1.0 和1.4 的MobileNet-v2 模型应用在本研究数据集上,结果如表2 所示。宽度倍率增大后的网络模型识别准确率反而更低。由此可见,网络模型越复杂,其识别效果并不一定越好;相同的超参数取值在不同的数据集上表现结果可能不一致。这可能是因为宽度倍率直接控制卷积过程中的卷积核个数,将宽度倍率由1.0 调整到1.4 意味着卷积过程中采用了更多的卷积核个数,使得模型更复杂、参数量更大,但本研究的数据集有限,不适合用过于复杂的网络模型。这也验证了模型越复杂,越需要大量的数据对其进行训练,以保证模型的收敛性和泛化性能[15]。

表2 不同宽度倍率α 在本研究数据集上的试验结果

试验将MobileNet-v2 模型中的超参数α赋值为1.0,对测试集中472 个样本进行识别测试,其中,有452 个样本被正确识别,20 个被错误识别。图2 为部分错误识别样本,每一个被错误识别的样本都可以清晰辨认,但MobileNet-v2 模型却不能正确识别。

图2 MobileNet-v2 模型部分错误识别样本

2 结果与分析

针对MobileNet-v2 模型识别不稳定的问题,分析其原因可能是MobileNet 的直筒结构使其缺乏网络层之间的交流,对不同的特征图都赋予相同的权重,不利于有效特征的学习。因此,基于以上问题提出3 点改进方法:①增加通道注意力机制模块;②更新激活函数;③压缩倒残差块数量。

2.1 嵌入SE 模块

在模型中加入通道注意力机制模块,提高网络模型对特征的获取能力。Tang 等[16]等在轻量型神经网络模型Shuffle Net-V1 和Shuffle Net-V2 中添加了注意力机制模块,经过改进后的2 种模型具有较高的实时性和识别性能。本研究通过嵌入通道注意力机制的代表网络压缩-激励网络[17](Squeezeand-Excitation network,SE 网络)来更新基础网络模型的倒残差结构,SE 网络会对特征图向量进行1 次平均池化和1 次全连接操作,假设输入特征图的通道数为2,先对每个通道上的特征图进行平均池化操作得到一个元素个数为2 的向量,然后依次通过2个全连接层,输出向量中的每个元素对应输入特征图中每个通道的权重,最终将得到的权重和输入特征图的对应通道数据相乘得到最终SE 模块的输出。

2.2 更新激活函数

MobileNet-v2 模型中使用ReLU6 激活函数,仅在ReLU 激活函数的基础上限制了最大输出,仍然存在当x=0 时不可微,不能保证模型在优化过程中梯度的可计算性,并且ReLU6激活函数在x≤0或x≥6时,函数的导数为0,在反向传递中,梯度完全为0,权重不再更新,从而网络不能学习到有效的特征。目前,Swish 激活函数已被证明比ReLU 激活函数具有更好地传播信息能力[18],Swish 激活函数的表达式如下:

式中,x代表输入的变量,可以是一个实数、向量或矩阵;σ(x)为Sigmoid 函数,Sigmoid 函数的曲线是平滑的,并且在所有点上都是可微的,从而保证了模型优化过程中梯度的可计算性,且在正半轴不存在导数为0 的区域,当输入值为0 时,Sigmoid 函数的导数达最大值,为0.25,而输入在任一方向上离0 点越远,导数越接近0。使用Swish 激活函数后确实能够提高网络模型的准确率,但是也存在一些问题,如计算、求导以及量化过程复杂,特别针对移动端的设备,为了加快速度通常采取量化操作。

因此,本研究提出了h-swish(hard-swish)激活函数[19],该激活函数可以提高模型的准确率,且不会增加计算的复杂度,更有利于将模型部署在边缘设备或者移动设备上。h-swish 激活函数的表达式如式(2)所示,函数曲线如图3 所示。

图3 Swish 激活函数、h-swish 激活函数曲线

式中,x为输入变量,可以是实数、向量或矩阵。

2.3 压缩网络层数

对于小数量的数据集,当网络模型过深时,不但模型的参数量较多,而且识别准确率可能降低。在MobileNet-v2 模型中,除卷积层和池化层外,用到17个倒残差结构,改进后将倒残差结构减少至12 个,减少了模型参数量。

2.4 改进后的试验结果

由表3 可知,改进后的MobileNet-v2 模型在测试集上的准确率为96.8%,参数量为1 535 093;上述被错误识别的样本采用改进后的MobileNet-v2 模型进行识别,结果如图4 所示,除D1 样本被错误识别为紫茎泽兰外,其余样本均被正确识别,其原因可能是该样本中的鬼针草和其他大多数鬼针草形状不相似,该类型鬼针草样本的试验数据集较少,因此导致其被错误识别。

表3 MobileNet-v2 模型改进前后的结果对比

图4 改进后的MobileNet-v2 模型部分样本识别结果

3 讨论

3.1 改进后的MobileNet-v2 模型优势

通过对现有模型分析发现,MobileNet-v2 模型无法完全解决外侵物种识别这一特定问题,仍存在潜在的改进空间,可以进一步优化模型的表现。在MobileNet-v2 模型的改进过程中,多个优点的叠加为其性能提供了强大的助力,从而使其在多个方面有突出的表现。改进后的MobileNet-v2 模型不仅在准确率上有所提升,还在模型轻量化、特征强化和移动端应用方面带来了多重优势。

1)改进后的MobileNet-v2 模型在测试集上的准确率提升了1 个百分点,但模型参数量仅为改进前的67.80%。改进后的模型不仅有了更高的识别准确率,而且参数量更少。

2)SE 模块建立了模型内部特征图中通道信息之间的关系,将全局平均池化后注入到模型的通道中,对特征图张量中各通道特征进行权重分配,强化拥有较多重要特征的通道对当前任务所起的作用,提高了卷积神经网络对不同通道特征的敏感性,对特征向量的每个通道分析出了一个权重关系,把认为比较重要的通道赋予更大的权重,从而提高模型的识别准确率[20]。

3)Swish 激活函数相对于ReLU 激活函数能实现更高的神经网络测试准确度[21],改进的h-swish 激活函数更利于在移动端部署与优化,同时也保持了与Swish 激活函数相当的精度[22]。

4)通过压缩网络层数可以减少网络的冗余参数,使模型参数量更少[23],更适合移动终端,通过将任务从资源受限的设备转移到功能强大的边缘设备上,可以减少系统整体延迟和能耗[24]。

3.2 模型优化限制与待改进方向

虽然试验方法得到了不错的准确率和模型参数量,但模型优化在实践中也受到资源、数据和场景的限制,同时有一些方向可以继续改进,使模型达到更好的性能和适应性。

1)由于时间限制,本研究仅对比了MobileNet-v2模型的2 个宽度倍率,可能无法充分利用宽度倍率的优势,如果时间更充足,可以调整宽度倍率的间隔,探究更佳的宽度倍率。

2)用于训练机器学习网络模型的数据不能完全代表鬼针草、喀西茄、水花生和紫茎泽兰的多样性,例如,鬼针草叶片、花和果实的形状、纹理和颜色不相同,而试验数据集中大部分样本为叶片,降低了模型的泛化能力。

3)由于时间有限,本研究的数据集中只包含4种云南省主要外侵物种图像,后续需要采集更多种类的外侵物种图像来丰富训练集,完善识别模型,进一步提高模型的识别准确率。

4)由于外侵物种野外环境复杂,干扰因素较多,存在目标物被遮挡的情况,之后可以在模型中嵌入算法将图像补全;此外,使用无人机采集图像时不能保证每一张图像的清晰度,可以引入相关算法对图像进行去模糊处理,从而提高模型的识别准确率。

5)将来通过无人机在野外采集和识别外侵物种时,记录其入侵地的经纬度、地形部位、发生面积等信息,当收集到大量数据后,根据外侵物种发生地的特征进行预测,提前采取有效措施防止外侵物种发生。

4 小结

云南省是中国外来物种入侵重灾区,现有外侵物种的识别工作需要工作人员到达外侵物种发生地进行识别,但云南省地处低纬度高原,地理位置特殊、地形地貌复杂,外侵物种识别的应用场景通常都是边缘端的设备。现有外侵物种识别模型复杂度较高,模型部署对硬件资源要求高,且模型的训练、保存需要很大的存储空间,增加了研究成本,很难投入实际应用。针对云南省主要外侵物种识别面临的挑战,本研究首先采用一种应用于云南省主要外侵物种识别的边缘计算模型,采用轻量级卷积神经网络MobileNet-v2 模型对云南省主要外侵物种进行识别,但经训练、验证和测试发现模型识别结果不稳定;针对MobileNet 直筒结构不利于有效特征学习的问题,对MobileNet-v2 网络结构进行嵌入SE 模块、更新激活函数和压缩网络层数3 方面的改进,最终识别准确率达96.8%,模型参数量仅为1 535 093,改进算法分类准确率高,网络参数量少,适合部署于边缘设备和移动端,能更好地应用于云南省防治外侵物种领域。边缘计算模型在云南省主要外侵物种识别中很有前途,显著降低了将数据发送到云进行处理的延迟和成本,可以推动深度学习在外侵物种防治领域的广泛应用,提高公众防范生物入侵的意识和对外侵物种相关法律法规、形态识别、防控技术等知识的普及。

猜你喜欢

倍率云南省物种
吃光入侵物种真的是解决之道吗?
多种额定起重量的双小车桥式起重机
云南省安宁市老年大学之歌
民国初期云南省议会述论
回首2018,这些新物种值得关注
FANUC0iD系统速度倍率PMC控制方法
电咖再造新物种
云南省瑞丽市老年大学之歌
一种智能加工系统中的机床倍率控制方法
近31年来云南省潜在蒸散量的时空演变