高速移动网络在偏远大田环境的覆盖率极低,因此目前稻瘟病的检测方法仍以实验室显微镜观察法为主,从样本采集到结果分析均需要专业人员操作且效率较低[1],严重制约农田数据的实时采集和云端分析。遥感技术虽然提高了稻瘟病检测精准度和自动化程度,但受制于搭载设备的算力资源与当地网络状况,稻瘟病检出过程效率较低且检测结果存在严重时延,无法兼备远程监控和实时检测的功能。
相较于使用显微镜人工观察病菌孢子,齐龙等[2]提出一种基于显微图像处理技术的稻瘟病菌孢子自动检测和计数方法,准确率达98.5%,提升了实验室中稻瘟病检测效率。YANG等[3]通过采集稻瘟病孢子,提取孢子衍射图像特征进行病害识别,该方法将衍射光学原理与图像处理结合,创新实验室内检测方法。刘潭等[4]提出了使用LMPSO-SVM算法对稻瘟病高光谱图像进行病害分级检测。以上方法都在一定程度上提高了人工检测的效率,但受制于大田环境,无法满足现代农业水稻大田种植场景下现场快检。
在边缘计算现场检测技术应用上, ZHAO等[5]基于英伟达Jetson边缘计算平台,为不同尺度椭球缺陷种子的全表面检测提供了一种方法。刘佳辉等[6]利用国产微控制芯片K210配合国产实时操作系统搭建了农业病虫害检测系统。然而,现场可编程门阵列(Field programmable gate array, FPGA)相较于GPU或者RISC-V架构的芯片,在功耗、处理能力与灵活性上更具优势。这些优势使其成为一种更好的神经网络模型加速器[7]。其独立专用的IP核可以对矩阵运算、卷积计算、非线性激活等神经网络计算操作进行硬件加速[8]。LUO等[9]提出利用FPGA加速的LiteCNN模型对植物病害进行实时识别,证明了深度学习结合FPGA应用于稻瘟病现场快速检测的可行性。
在深度学习算法上,资彩飞等[10]使用TensorFlow-Keras框架对健康水稻与稻瘟病图像集建立神经网络模型,稻瘟病识别率达78%。路阳等[11]研究水稻叶部病害图像,先使用主成分分析法降维,再基于Caffe深度学习框架训练病害图像数据,对北方寒地水稻稻瘟病平均识别率达96.9%。朱红春等[12]应用一种区域卷积神经网络(Region-convolutional neural network, R-CNN)算法,将病斑图像位置预测与病害分类相结合,在检测病害时进一步定位稻瘟病病斑位置。刘莫尘等[13]使用了一种MSRCR-YOLOv4-tiny的目标检测模型检测识别玉米的田间杂草。从模型轻量化角度出发,李书琴等[14]提出了一种轻量级残差网络来识别植物病害,王泽钧等[15]使用注意力机制和多尺度轻量型网络用于农作物病害检测,对检测模型的结构向移动应用适用性作出较大优化。
但以上算法模型与研究也存在不足:常规模型需要使用较大算力的GPU服务器来进行推理,不稳定的网络开销使其不适用于现场大面积检测场景;GPU或RISC-V方案在加速能力与开发灵活性上达不到同级别成本的FPGA的性能;通用轻量级农作物病害类的模型结构研究对象是基于叶片病斑形态相差较小的作物,直接套用与病斑尺度相差较大的稻瘟病病斑检测时,不能很好地提取并融合稻瘟病特征,导致精确度不高。
因此,本文提出一种基于针对稻瘟病病害特点优化的Mask R-CNN方法[16],经过FPGA平台的模型量化与加速卷积计算,对水稻叶片稻瘟病病斑进行快速检测和实例分割,以满足水稻大田场景下专用边缘终端或无人机进行稻瘟病快速识别需求。
稻瘟病主要的叶瘟症状图像数据集dataset3采用感光芯片为OV2710、焦距为2.7 mm的免驱USB摄像头实地拍摄。dataset1与dataset2为收集自网络的数据集。预训练权重来自MS COCO[17]数据集,使用标记工具Labelme[18]标记病害区域,共标记区域8 590处。图1为3个数据集中的图像样例以及现场拍摄用摄像头,表1为全部数据集标记信息。图2为以现场拍摄数据为例的处理过程。
表1 稻瘟病叶片图像数据集
Tab.1 Leaf image datasets of rice blast
数据集来源样本总数标记区域dataset1Kaggle水稻病害叶片数据集3501563dataset2Kaggle孟加拉国作物病害数据集9772138dataset3现场所拍摄水稻病害叶片数据集4004889
图1 样例图像与拍摄设备
Fig.1 Sample images and capture device
图2 图像处理过程
Fig.2 Image processing process
模型的训练服务器搭载2块Nvidia Tesla T4 16GB显存的显卡,训练时采用多GPU并行的任务分配策略。FPGA加速平台选用Xilinx公司的KV260 SOM开发板。服务器与FPGA板载操作系统版本均为Ubuntu 20.04,实验程序主要在赛灵思Vitis软件平台上使用Python与C++语言编写。FPGA的核心器件为赛灵思Zynq MPSoC,包含 256 KB 系统逻辑单元以及1.2 KB的DSP片。
基准Mask R-CNN的主干网络部分使用的是ResNet[19]网络,本文将ResNet替换为MobileNetV2[20],由深度可分离卷积、线性瓶颈(bottleneck)与倒置残差模块[21]组成,深度可分离卷积计算成本C计算公式为
C=hiwidi(k2+di)
(1)
式中,hi、wi、di为输入图像高、宽、通道数,k为卷积核大小。将其作为输入张量,使用卷积核Rk2+didj来产生输出张量,其中dj为输出通道数,表2为其网络结构[20]。
表2 MobileNetV2网络结构
Tab.2 MobileNetV2 network structure
输入 网络层扩展因子输出通道重复次数步长224×224×3conv2d3212112×112×32bottleneck11611112×112×16bottleneck6242256×56×24bottleneck6323228×28×32bottleneck6644214×14×64bottleneck6963114×14×96bottleneck6160327×7×160bottleneck6320117×7×320conv2d 1×1128011
倒置残差模块加深了网络层数,能够在保持较高准确度的同时,大幅减小模型参数量和计算量,非常适合包括FPGA在内的嵌入式设备等资源受限的移动应用场景使用。
特征金字塔网络(Feature pyramid network, FPN)[22]的作用是使低级特征在跨层上采样过程中被映射传播到更高层级的特征图中。但不同尺度的特征包含着不同抽象层次的信息,它们之间存在着较大的语义差距。因此需要将语义信息较强的低分辨率特征与空间信息更多的高分辨率特征图进行融合[23]。
FPN特征融合模块{C2, C3, C4, C5}为多尺度采样输入,将最高层M5特征图采用自顶向下的方式传播,并与低层特征图{M4,M3,M2}逐步融合。然后在C5层使用比例不变自适应池化操作(Adaptive pooling, AP)[24]处理多个尺度的特征图。最后使用自适应空间融合模块(Automatic spacial fusion, ASF)组合这些上下文特征。ASF流程细节如图3所示,将上采样的特征作为输入,并为每个特征生成一个空间权重图,利用权值将上下文特征聚合输出M6层,赋予其多尺度的上下文信息。将ASF生成的M6与M5求和,之后{M2~M6}输入RPN网络,同时{M2~M5}作为感兴趣区域对齐操作的输入。
图3 ASF流程细节
Fig.3 ASF process details
改进后整体网络结构如图4所示。特征融合模块采取了自适应池化与空间融合,减少了最高层金字塔中对于小目标稻瘟病病斑特征图的信息损失,最终损失函数L计算公式为
(2)
图4 改进后Mask R-CNN整体网络结构
Fig.4 Overall network structure of Mask R-CNN after improvement
式中 roi(i)——第i个感兴趣区域(Region of interest, ROI)
yi——第i个ROI的真实类别
第i个ROI的水平和垂直位置的真实偏移量
第i个ROI的宽度和高度真实偏移量
pi——第i个ROI的分类概率
mi——第i个ROI中的目标像素和背景像素之间的差异
Lcls——交叉熵损失函数
LsmoothL1——Smooth L1损失函数[25]
Lmask——二分类交叉熵损失函数,用于衡量像素掩码预测与真实掩码之间的差异
λ1、λ2——平衡项,用于平衡不同部分损失对总损失的贡献
Ncls、Nreg、Nmask——各自ROI区域的数量,用于对损失进行归一化
因为FPGA片上储存容量有限,当前病害图像检测模型又需要兼顾分割、检测与分类的性能,就需要将模型进一步后端压缩。采用参数量化方法将32位长浮点数据类型替换为8位短定点数据类型。数据转换公式为
(3)
式中 fl——量化精度小数位长度
bw——定点数位宽
bi——量化数据位
主干网络倒残差线性瓶颈模块内部层之间使用式(3)中的静态fl值,进一步使用动态精度量化卷积层与全连接层权重,动态fl值计算公式为
(4)
式中 Wf——浮点权重
W(bw,fl)——量化后权重
因此在同一连接层内量化误差之和的最小值即为邻域内最优解。
现有FPGA平台多采用多处理器架构,即处理系统(Processing system, PS)由ARM负责,位于可编程逻辑(Programmable logic, PL)的深度学习处理单元(Deep-learning processing unit, DPU)是用于卷积神经网络运算的专用处理器知识产权核,用于在处理引擎(Processing engine, PE)单元加速完成卷积计算、加法树、非线性模块、 池化模块、 偏置变换运算[26],其中卷积计算占整个模型加速计算的大部分。参数量化后,每个PE单元中的卷积运算单元通过单个16位乘法器实现2个8位乘法后输入加法树。PL中布置多个PE单元并行计算,从而实现推理加速。模型推理时的卷积运算单元如图5所示。
图5 卷积运算单元
Fig.5 Convolution operation unit
将稻瘟病图像数据集按比例6∶3∶1划分为训练集、验证集、测试集,在服务器上使用原网络结构与改进后的网络结构分别进行50个周期的训练,模型训练参数如表3所示。改进前后的模型训练总体损失对比如图6所示,可以看出由于改进的模型网络参数大幅度减少,相对于原模型,在接近30个周期的训练步骤后,提前达到收敛。验证了改进后模型在保证全局损失稳定收敛的前提下,权重参数的减少可减小计算量。
表3 模型训练基本参数设置
Tab.3 Model training parameter settings
参数数值/模块主干网络MobileNetV2+FPN类别数(含背景)2ROI推荐最小置信度0.75区域生成网络锚点尺寸8×6,16×6,32×6,64×6,128×6每幅图像建议ROI数量16每个训练周期的数据量50验证步长2图像最大尺寸/(像素×像素)1024×1024图像最小尺寸/(像素×像素)224×224动量0.92学习率0.0001掩膜池化尺寸14
图6 模型改进前后验证损失跟随训练轮次对比曲线
Fig.6 Comparison curves of validation losses followed by training rounds before and after model improvement
使用交并比(Intersection over union, IoU)与平均精确率(Average precision,AP)对比改进前后模型分割性能。AP即查准率-查全率(Precision recall,PR)曲线围绕坐标轴面积,面积越大,AP越大。图7为不同IoU下,测试数据在模型改进前后的PR曲线。表4为交并比在0.75与0.60时,对应的模型改进前后平均精确率。在同样交并比下,改进后模型均有提高。
表4 不同交并比下模型改进前后平均精确率
Tab.4 AP before and after model improvement under different IoUs
模型交并比平均精确率/%ResNet50+FPN0.7588.9MobileNetV2+FPN0.7591.3ResNet50+FPN0.6095.3MobileNetV2+FPN0.6098.0
图7 模型改进前后在不同交并比下PR曲线对比
Fig.7 Comparison of PR curves under different IoUs before and after model improvement
进一步分析MobileNetV2中倒置残差网络模块中的拓展因子对IoU的影响。如图8所示,当扩展因子为6时,模型在不同尺度数据集下的IoU最高,且相差较小,平均精确率达98.0%,提升2.7个百分点。
图8 不同倒置残差网络扩展因子时各数据集中的交并比
Fig.8 Expansion factor value of inverse residual network versus IoU performance of model in each data set
将编译好的.so加速库文件与应用程序放在FPGA开发板中同一目录下,使用 DNNDK API 对库文件进行解析,让 DPU 参照库文件按照预定的方式运行,最后使用 API从 DPU 划分的内存中取出数据并显示。并分别在英伟达Xavier NX边缘计算终端以及Tesla GPU服务器推理系统中使用TensorRT[27]进行模型推理,使用测试集中2幅全高清图像在开发板的评估效果如图9所示,不同平台的推理总耗时对比如表5所示。可以直观看出,FPGA加速后,内存占用量更小,与Xavier NX相比,速度提升63%,与通过4G连接网络服务器计算用时需要额外600 ms相比,提升86.2%,具有更大优势。改进后的Mask R-CNN模型在IoU设置为0.5的模型推理模式下,对病斑较多、较大图像的掩膜区域捕获像素量可增加10.4%,病斑较小时捕获像素量可增加32.0%,平均捕获像素量增加21.2%。
表5 模型改进前后分别在FPGA与GPU平台的推理性能
Tab.5 Inference performance on FPGA and GPU platforms before and after model improvement
模型模型内存占用量/MB总耗时/ms图1掩膜区域面积/像素图2掩膜区域面积/像素FPGA(MobileNetV2+FPN)Xavier NX(MobileNetV2+FPN)Tesla T4 (MobileNetV2+FPN)6.5262685230(63.0%↓)600+16(86.2%↓)24585(10.4%↑)672(32.0%↑)FPGA(ResNet50+FPN)Xavier NX(ResNet50+FPN)Tesla T4(ResNet50+FPN)32.5130130160395600+4522269509
图9 2幅图像在不同平台的推理结果
Fig.9 Inference results of two images on different platforms
(1)将Mask R-CNN的骨干网络由ResNet50替换为MobileNetV2这类轻量级网络,并利用FPGA的模型量化器进一步压缩,模型的超参数与内存占用量可压缩至6.5 MB,为原有模型的1/20。
(2)Mask R-CNN中的FPN网络经过自定义添加的特征层,可以优化叶片在不同尺度下病斑特征捕获的分割准确度,在交并比为0.6时的平均精确率达98.0%,比原模型高2.7个百分点。在IoU设置为0.5的模型推理模式下,粗粒度病斑捕获像素量增加10.4%,细粒度病斑捕获像素量增加32.0%,平均增加21.2%。
(3)利用FPGA中PL部分专门处理神经网络计算的知识产权核可以大幅度加快模型推理速度,单次推理时间为85 ms,即处理能力达到12 f/s,比使用连接网络的GPU服务器提升86.2%,较成本相当的GPU边缘计算终端提升63.0%,本文提出的识别算法可进一步满足视频流实时推理检测的要求。
[1] 李琼,孔宝华,范静华,等.应用TaqMan探针实时荧光定量PCR技术早期检测稻瘟病[J].植物病理学报, 2011, 41(2): 118-123.LI Qiong,KONG Baohua,FAN Jinghua,et al. Application of TaqMan probe real-time fluorescence quantitative PCR for early detection of rice blast disease[J]. Acta Phytopathologica Sinica, 2011, 41(2): 118-123. (in Chinese)
[2] 齐龙,蒋郁,李泽华,等.基于显微图像处理的稻瘟病菌孢子自动检测与计数方法[J].农业工程学报, 2015, 31(12): 186-193QI Long, JIANG Yu, LI Zehua, et al. Automatic detection and counting method of rice blast fungus spores based on microscopic image processing[J]. Transactions of the CSAE, 2015, 31(12): 186-193. (in Chinese)
[3] YANG N, YU J, WANG A,et al. A rapid rice blast detection and identification method based on crop disease spores’ diffraction fingerprint texture[J].Journal of the Science of Food and Agriculture,2020, 100(9): 3608-3621.
[4] 刘潭,李子默,冯帅,等.基于LMPSO-SVM的高光谱水稻稻瘟病害分级检测[J].农业机械学报,2023,54(11):208-216.LIU Tan, LI Zimo, FENG Shuai, et al. Classification detection of hyperspectral rice blast disease based on LMPSO-SVM[J].Transactions of the Chinese Society for Agricultural Machinery,2023,54(11):208-216.(in Chinese)
[5] ZHAO G, QUAN L, LI H,et al.Real-time recognition system of soybean seed full-surface defects based on deep learning[J].Computers and Electronics in Agriculture, 2021, 187:106230.
[6] 刘佳辉,刘强,李彤召. 基于国产芯片和 RTOS 的农业病虫害检测系统[J].物联网技术, 2023(2):33-34,39. LIU Jiahui, LIU Qiang, LI Tongzhao. Agricultural pest and disease detection system based on domestic chip and RTOS[J]. Internet of Things Technologies, 2023(2):33-34,39. (in Chinese)
[7] QIU J, SONG S, WANG Y,et al.Going deeper with embedded FPGA platform for convolutional neural network[C]∥The 2016 ACM/SIGDA International Symposium.ACM, 2016.
[8] AMD Inc. DPUCZDX8G for Zynq UltraScale+ MPSoCs product guide (PG338).AMD 自适应计算文档门户[EB/OL].https:∥docs.xilinx.com/r/en-US/pg338-dpu/Introduction?tocId=3xsG16y_QFTWvAJKHbisEw.
[9] LUO Y, CAI X, QI J, et al. FPGA-accelerated CNN for real-time plant disease identification[J]. Computers and Electronics in Agriculture, 2023, 207: 107715.
[10] 资彩飞,曹志勇,许佳俊,等.基于深度学习的水稻稻瘟病识别研究[J].现代农业科技,2022(1):111-113,118.ZI Caifei, CAO Zhiyong, XU Jiajun,et al. A study on rice blast disease recognition in rice based on deep learning[J]. Modern Agricultural Science and Technology, 2022(1): 111-113,118. (in Chinese)
[11] 路阳,郭丹,沈贺,等.基于深度学习的水稻叶部病害识别方法研究[J].信息记录材料, 2018, 19(12):177-179.LU Yang, GUO Dan, SHEN He, et al. Research on a deep learning-based method for recognizing leaf diseases in rice[J]. Journal of Information Recording Materials, 2018, 19(12):177-179. (in Chinese)
[12] 朱红春,李旭,孟炀,等.基于Faster R-CNN网络的茶叶嫩芽检测[J].农业机械学报,2022,53(5):217-224. ZHU Hongchun, LI Xu, MENG Yang, et al. Tea shoot detection based on Faster R-CNN network[J]. Transactions of the Chinese Society for Agricultural Machinery, 2022,53(5):217-224. (in Chinese)
[13] 刘莫尘,高甜甜,马宗旭,等.基于MSRCR-YOLOv4-tiny的田间玉米杂草检测模型[J].农业机械学报,2022,53(2):246-255,335. LIU Mochen, GAO Tiantian, MA Zongxu, et al. Target detection model of corn weeds in field environment based on MSRCR algorithm and YOLO v4-tiny[J]. Transactions of the Chinese Society for Agricultural Machinery, 2022,53(2):246-255,335. (in Chinese)
[14] 李书琴,陈聪,朱彤,等.基于轻量级残差网络的植物叶片病害识别[J].农业机械学报,2022,53(3):243-250.LI Shuqin, CHEN Cong, ZHU Tong, et al. Plant leaf disease recognition based on lightweight residual networks[J]. Transactions of the Chinese Society for Agricultural Machinery, 2022,53(3):243-250. (in Chinese)
[15] 王泽钧,马凤英,张瑜,等. 基于注意力机制和多尺度轻量型网络的农作物病害识别[J]. 农业工程学报,2022,38(增刊1):176-183.WANG Zejun, MA Fengying, ZHANG Yu, et al. Crop disease recognition based on attention mechanism and multiscale lightweight networks[J]. Transactions of the CSAE, 2022, 38(Supp.1):176-183. (in Chinese)
[16] HE K, GKIOXARI G,PIOTR D,et al.Mask R-CNN[J].IEEE Transactions on Pattern Analysis &Machine Intelligence, 2020,42(2):386-397.
[17] LIN T Y, MAIRE M, BELONGIE S, et al. Microsoft COCO: common objects in context[C]∥Computer Vision-ECCV 2014: 13th European Conference, Proceedings, Part V 13. Springer International Publishing, 2014: 740-755.
[18] RUSSELL C B, TORRALBA A, MURPHY P K, et al.LabelMe: a database and web-based tool for image annotation[J].International Journal of Computer Vision,2008,77(1-3):157-173.
[19] SHAFIQ M, GU Z. Deep residual learning for image recognition: a survey[J]. Applied Sciences, 2022, 12(18): 8972.
[20] SANDLER M, HOWARD A, ZHU M,et al.MobileNetV2: inverted residuals and linear bottlenecks[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).IEEE, 2018.
[21] 何东宇,朱荣光,范彬彬,等.倒置残差网络结合注意力机制的掺假羊肉分类检测系统构建[J].农业工程学报,2022,38(20):266-275. HE Dongyu, ZHU Rongguang, FAN Binbin, et al. Construction of a classification detection system for adulterated mutton by inverted residual network combined with attention mechanism[J]. Transactions of the CSAE,2022,38(20):266-275. (in Chinese)
[22] LIN T Y, DOLLAR P, GIRSHICK R,et al.Feature pyramid networks for object detection[J].IEEE Computer Society, 2017,106(1): 936-944.
[23] 马钦,万传峰,卫建,等.基于U-Net和特征金字塔网络的秸秆覆盖率计算方法[J].农业机械学报,2023,54(1):224-234.MA Qin, WAN Chuanfeng, WEI Jian, et al.Calculation method of straw coverage based on U-Net network and feature pyramid network[J].Transactions of the Chinese Society for Agricultural Machinery,2023,54(1):224-234.(in Chinese)
[24] GUO C, FAN B, ZHANG Q,et al.AugFPN: improving multi-scale feature learning for object detection[C]∥2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).IEEE, 2020.
[25] KEMAL O, BARIS C, EMRE A, et al. Rank &sort loss for object detection and instance segmentation[C]∥ICCV 2021 Oral,2021.
[26] 孟浩,刘强.基于FPGA的卷积神经网络训练加速器设计[J].南京大学学报(自然科学版), 2021, 57(6):1075-1082. MENG Hao, LIU Qiang. Design of FPGA-based training gas pedal for convolutional neural networks[J]. Journal of Nanjing University (Natural Science), 2021, 57(6):1075-1082. (in Chinese)
[27] XU Z H, LI J X, DENG S Y, et al. Optimization of real-time detection and classification model for plant leaf diseases based on TensorRT[J]. Computer Systems and Applications, 2023, 32(2): 94-101.