基于人工智能技术的竹类主要害虫识别系统在森防场景中的应用
2022-11-01李非非张笑谦汪海霞陈其兵
李非非 张笑谦 徐 杰 赵 波 汪海霞 陈其兵
(1 成都星亿年智慧科技有限公司 成都 610095;2 电子科技大学 成都 611731;3 邛崃市规划和自然资源局 成都 611500;4 成都市动物园/成都市野生动物研究所 成都 610081;5 四川农业大学 成都 611130)
当前,四川省正加快实现由竹资源大省向竹经济强省跨越,竹产业已成为全省推进绿色发展、助力脱贫攻坚、促进乡村振兴中具有带动性、标志性的重要产业。邛崃市作为全省规划的“三大竹产业带” 之一的龙门山竹产业带的核心区域,其竹林面积达3.2 万hm2,占成都市竹林总面积的43%,已建成火井镇、平乐镇、临济镇3 个省级现代竹产业基地,在笋用、材用、文旅等方面已逐步形成了规模化和品牌化,现代竹产业整体发展前景广阔。
在竹产业大发展的背景下,为进一步助推竹产业高质量发展、精细化管理,自2020 年起,邛崃市引入了以人工智能等新兴技术为代表的新一代信息技术及其应用作为竹产业发展的重要支撑和业务创新增长点,开发了基于人工智能技术的竹类主要害虫识别系统(以下简称“系统”) 服务于竹产业基地,助力探索实现竹产业现代化的新途径,有力支撑了竹产业建设迈向智慧化目标。
1 系统整体情况
1.1 系统研发背景
病虫害是除外部极端气候和人为影响外,对林业生产效益影响最大的干扰因素。根据成都市已完成的全国第3 次林业有害生物普查工作显示,全市共发现林业有害生物1 162 种,其中虫害519种,种类及数量均相当庞大。李见辉等[1]对成都平原西缘笋用竹虫害调查显示,虫害涉及6 目27科38 种害虫。当前竹产业作为一项重要产业,为提升生产效益,传统的生产经营方式和技术手段发生了极大改变,使竹林原有生态体系也随之改变,一些常见虫害转变为重要虫害、次要虫害上升为主要虫害。生产实践证明竹子虫害近年来日渐突出,已成为竹产业发展的重要限制性因子[2]。
在目前我国森防和森林管护体系下,对竹类以及林业害虫种类的判断基本依赖于人工,但生产一线具备相关专业知识的人员稀缺,无法实现准确判断害虫种类并及时采取有效防治措施,导致贻误最佳防治时机,难以满足现代化林业高质量发展的需求。
1.2 系统采用的人工智能模型
在经过2 年多的研发和测试后,系统选择基于卷积神经网络(CNN)的API-Net(Attentive Pairwise Interaction-net)[3]结构(图1)搭建害虫智能识别模型,在害虫识别方面取得了较为明显的效果。
图1 API-Net 网络结构示意图Fig.1 API-Net structure
受人类经常比较一对图像以区分相似物体之间的细微差异的启发[4],API-Net 模型搭建了注意力成对交互网络,可以从一对细粒度图像中自适应地发现对比线索,并通过成对交互进行区分,达到很好的细粒度图像识别效果,进而提升害虫智能识别模型的性能。API-Net 的核心思想主要有5 点。
1) 互向量学习。一对输入图片,通过CNN特征提取器(Resnet101[5]) 获取2 个特征向量x1,x2(特征图经过全局平均池化得到的特征向量)。将x1,x2拼接,再经过MLP (多层神经网络) 得到互向量xm:
其中,fm为MLP 结构(即多层神经网络构成的多层感知机),经过如此处理,得到的xm就结合了x1,x2的特征,完成互向量学习。
2) 门向量生成。在学习到互向量xm后,将xm和x1,x2进行比较,进而学习2 张图片目标特征上的区别,具体实现方法为: 分别将xm和x1,x2相乘,然后经过sigmoid激活得到门向量gi。计算公式如下:
门向量gi可以作为一种注意力向量,用来找到2 张图片中不同特征。
3) 成对交互[6]。将2 个特征向量x1,x2与2个门向量g1,g2两两进行组合运算,得到4 个向量:
强化了属于自身的特定特征区域,则强化了属于另一个类别的特征区域,示意图如图2。
图2 成对交互示意图Fig.2 Pairwise interaction
4) 分数排序正则化。将经过softmax 运算得到判别概率
使用CEloss (Cross Entropy Loss) 作为损失函数,另定义一个分数排序正则化参数Lrk,最终的损失函数为:
∈为惩罚项,设为0.05,Lrk的作用是让的优先级更低,从而更多的加强自身特征。
5) 图像对的构建。一是在所有昆虫类别中随机选择Ncl个类别;二是在所选择的Ncl个类别中,随机选择Nim个训练图片。将Ncl*Nim张图片送入特征提取网络提取其特征,计算欧式距离,以此来衡量不同图像之间的特征距离,针对每一张图片,选择同一类别中特征距离最小的图片和不同类别中特征距离最小的图片,得到2 个图像对。
为配合搭建人工智能识别模型,研发人员构建了一个包含竹类害虫在内的共计334 种虫类、数量超过11 000 张的基础图片细粒度数据集,通过翻转、旋转、随机裁剪、调节亮度、对比度、饱和度等方法来实现数据增强,并导入人工智能模型开展训练。本系统采用的人工智能模型主要由卷积层、池化层、全连接层以及最后的输出层构成,通过卷积和池化等操作,提取图像特征用于识别,最后输出识别结果,有关模型的研究成果在早前发表的相关文章中[7-8]已有详细描述。
在对模型进行多轮训练并优化后,在当前数据集条件下得到的最优模型识别准确率为90.18%,与之前已发表文章中所披露的准确率为98.9%[7]相比有较大降低。其原因是在数据集大量扩充后,相关干扰因素亦随之增多,导致准确率有所下降。实验中部分种类害虫识别准确度见表1。
表1 实验中部分害虫的识别准确率Tab.1 The recognition accuracy of some pests species in the experiment
人工智能模型训练过程中准确率的变化曲线如图3 所示。模型共进行200 轮次训练,在50 轮次左右逐渐达到最佳训练准确率,说明模型的学习能力较强,对训练数据有优秀的记忆能力。随着训练轮次的增加,训练准确率变化曲线没有发生明显震荡,说明Batchsize 选取合适,模型训练效果稳定。
图3 训练过程中准确率变化曲线Fig.3 Changecurve of accuracy (training process)
人工智能模型训练过程中学习率的变化曲线如图4 所示。在实验中训练集采用SGD 优化器,基本学习率参数设置为0.003,采用以8 张图片为一组的小批量训练,共进行200 轮训练,参数学习率训练至第30 轮下降为0.001 2,训练至第50轮下降为0.000 48,训练至第70 轮下降为0.000 192,训练至第85 轮下降为0.000 076 8,之后不再作调整。学习率调整的思路为: 先使用较大的学习率得到局部最优值,再使用小的学习率帮助模型收敛,有助于模型细化。
图4 学习率变化曲线Fig.4 Change curve of learning rate
人工智能模型验证过程中准确率的变化曲线如图5 所示。在本实验中,验证过程在第182 轮时得到最优模型,识别准确率达到90.18%,说明经大量训练集数据训练后得到的模型对新数据有较强的泛化能力,保证了模型在实际应用时的稳定性。
图5 验证过程中准确率变化曲线Fig.5 Change curve of accuracy (validation process)
1.3 系统整体构架及运行方式
系统核心部分为包含数据集和相关系统信息的数据库和服务器,外延部分为供用户使用的电脑端和移动端软件。
系统运行方式主要是森林管护人员通过移动端软件现场拍摄并上传目标害虫图片,服务器在收到移动端上传数据后即通过内嵌的人工智能算法进行识别,并反馈识别结果至移动端软件,即完成一次识别流程。在上传目标害虫图片的同时,移动端记录的巡护轨迹、害虫发现点位的坐标、天气等基础信息均伴随上传,经服务器处理后存储于数据库,并可同时反馈至移动端和电脑端软件。管理人员使用电脑端软件可查阅所有注册用户的上报识别、巡护轨迹等信息,软件可对有效上报信息进行综合统计、分析,按用户需求下载或导出相关数据,并利用数据可视化手段将核心信息通过大屏进行展示(图6)。
图6 系统构架及运行示意图Fig.6 The system structure and operation diagram
2 系统主要功能的应用
自2020 年起系统在邛崃市的部分竹产业基地进行了小规模测试,并根据反馈意见进行了升级完善,于2021 年开始扩大范围,在邛崃市涉及竹产业的11 个街道(镇、乡) 及国有林场进行了推广应用,迄今累计共有100 余名森林管护人员及林业主管部门管理人员参与使用本系统(图7)。
图7 数据可视化Fig.7 The data visualization
系统的推广应用不影响邛崃市林业主管部门的森林管护正常工作安排,管护员在责任区内按照既定路线及随机路线对包含竹产业基地在内的管护区域进行日常巡护时,鼓励其尽可能利用本系统相关功能作为森林管护的科技支撑手段。
2.1 识别功能
害虫智能识别功能为系统的核心功能,在实际应用中,管护员在手机、平板电脑等可联网设备中操作软件即可实现害虫的上报与识别(图8)。由于系统采用了细粒度数据集和基于APINet 搭建的害虫智能识别模型,可在生态背景下实现对害虫的快速准确识别,因此利用软件对害虫进行拍照操作时对害虫的背景、角度、光线等要求宽容度较高,管护员经简单培训后即可快速掌握操作技能。
图8 APP 害虫识别界面Fig.8 The pest identification interface of APP
按照四川盆地气候特点,竹类害虫的虫情基本发生在春、夏、秋3 季,系统收集统计的管护员上报害虫信息也基本与该时间段吻合,即4 月份左右系统开始陆续收到管护员上报的竹类害虫信息,至10 月中旬上报信息逐渐减少。系统应用2 年多以来,经管护员上报系统并识别的有效害虫信息共计0.5 万余条,森林害虫200 余种,经筛选涉及对竹类可造成危害的害虫累计约为38 种(表2)。
表2 系统收集的部分竹类害虫Tab.2 Some bamboo pests collected by the system
2.2 统计分析功能
统计分析功能作为智能识别功能的延伸,其目的是为林业主管部门相对全面、及时了解本区域竹类害虫发生情况提供参考依据。在该功能中,根据管护员上报并识别的竹类害虫信息,系统会将识别准确率高于80%的害虫信息作为有效数据纳入统计分析,管理人员可通过系统的统计分析结论掌握相关竹类害虫发生的时间、种类、数量、占比以及害虫发生与外部环境的关联性等数据。
系统可自动筛选在设定时间段内发生最多的前10 种害虫并生成相关图表,同时提供全部数据的下载。图9 为截取的2022 年4—7 月期间管护员上报并识别的竹类害虫统计数据图,图上显示了该时间段内上报次数最多的几种竹类害虫种类及其每日上报数量。经成都市和邛崃市森防专家对数据进行查阅后认为,该数据基本反映了邛崃市竹类害虫发生的真实情况,该数据虽不能全面统计邛崃市竹产业基地害虫发生情况,但在一定程度上实现了对相关竹类害虫发生数量及频度的定量分析,为在竹产业基地日常管理中制定有针对性的森林管护及森防措施提供了参考。
图9 系统生成的选定时间段内竹类害虫统计数据Fig.9 Statistical data of bamboo pests generated by the system in the selected period
由于森林害虫绝大部分为昆虫,昆虫作为变温动物,其新陈代谢及行为在很大程度上与外界的气候变化有关,尤其是耐热范围较窄的昆虫对温度变化尤为敏感。研究结果表明[9],气候变化可以在越冬存活率、化性(世代数)、扩散迁移、发生分布、物候变化等方面对昆虫产生巨大影响。为研究和预测气候变化对昆虫的影响,国内外研究人员采用了生态风险评估、生物化石比较、人工气候模拟、检测标记基因频率变化等方法[10],但这些方法均需较高的科研水平及专业人员在小范围内予以实现,在日常森防工作中不具备实用性。
为探索一种可以应用于实际森防场景的较为简便的害虫发生情况统计及预测方式,本系统通过收集虫情发生情况、经纬度、温湿度、时间等数据,研发了害虫发生情况与气候的关联性统计及分析的功能,为建立害虫发生期或种群密度等与同期气候数据、地理位置之间的关联关系奠定基础。期望通过利用在长期、大量的使用过程中收集的数据,构建基于虫情和气候、地理位置等历史数据的害虫发生期、发生量与气候的关联模型。
在系统目前的实际应用中,已实现了在上报竹类害虫信息时对相关气候、经纬度、时间等信息的同步收集,同时单独收集指定区域的早、中、晚的气候信息。经过数月的应用,在当前已收集到的有限的信息基础上,系统已可初步勾画出在邛崃市竹产业基地中目标害虫种类、数量与温度、湿度之间的关联(图10),但要实现基于大数据驱动的较为精准的利用气候、地理位置的变化预测害虫发生情况,其核心还在于持续、稳定、大量的使用和数据收集。
图10 系统显示的虫情和气候的关联性Fig.10 Correlation map between pests and climate displayed by the system
2.3 巡护功能
邛崃市除国有林场外,街道(镇、乡) 负责竹产业基地管护的工作人员均为兼职。长期以来,林业主管部门对兼职管护员的管理存在较大的难度,既无法及时根据竹产业基地森防实际情况向管护员指派任务,也无法对管护员实际管护成效进行考核。鉴于此,系统除可以在后台编辑任务清单下发至管护员所使用的移动设备上外,还开发了巡护功能,使管护员在目标区域开展巡护工作时,其巡护轨迹、里程、速度、耗时等信息均可被记录并上报(图11),林业主管部门通过系统对所有注册管护员的巡护记录进行查看并统计,实现了对管护员的精细化管理及考核。
图11 系统显示的管护员巡护记录Fig.11 Patrol records of forest rangers displayed by the system
3 展望
2019 年国家林业和草原局发布的《关于促进林业和草原人工智能发展的指导意见》 指出,要建设生态灾害防治人工智能应用体系,在林业有害生物防治中应用视频监控、物联网监测等技术,通过林草有害生物智能图片识别,结合地面巡查数据,加强数据挖掘分析,提高林草有害生物预警预报与综合防控能力。
下一步,将通过构建更加精细的基础图片细粒度数据集进一步优化完善算法,有针对性地搭建面向各类林草业应用场景的人工智能模型,实现识别种类和识别准确率、技术与应用场景的平衡。另外,通过后期持续的、规范化的数据采集,不断提高数据质量,在海量数据基础上通过数据分析和数据挖掘技术发现数据间隐藏的相关性,进而实现快捷、符合实际的对目标害虫发生情况的预测。