摘 要: 在储粮过程中,粮食害虫的监控至关重要。常见粮虫的检测方法主要有人工检测、声音检测、传统机器学习图像处理以及深度学习图像处理等。传统机器学习图像处理检测粮虫的步骤有图像预处理、特征提取及特征分类。深度学习技术包括图像分类和目标检测两大技术,详细介绍了粮虫检测应用的两阶段和单阶段的目标检测算法。研究了使用图像检测技术进行粮虫检测后估计储粮害虫种群密度的方法,包括使用视频监控、特殊分类器等手段来判断活虫、死虫,进一步判断粮虫的种群密度。对目前最新的研究方法进行了综述,并对图像处理技术在粮虫检测的未来发展做出了展望。
关键词: 粮虫检测; 图像处理; 机器学习; 深度学习;
Abstract: Grain storage security is an important part to ensure national food security. In the process of grain storage, the monitoring of grain pests is very important. Common methods for detecting grain pests mainly include manual detection, sound detection, traditional machine learning image processing and deep learning image processing. The traditional machine learning image processing includes image preprocessing, feature extraction and feature classification. Image preprocessing uses denoising, filtering and image compression technology to improve the image recognition and compress the image size. Feature extraction refers to the extraction of morphological features and color features of grain insects. In feature classification, various algorithms are used to optimize SVM classifier and other classifiers to complete the classification of grain pests. The deep learning technology includes image classification and object detection. The two-stages and one-stage object detection algorithms for grain pest detection applications are introduced in detail. The two-stages object detection is mainly improved based on Faster R-CNN and R-FCN algorithms, and the one-stage target detection uses SSD algorithm and other designed end-to-end algorithms. In order to improve the robustness of the algorithm, the generation countermeasure network is used to improve the classification effect. Then, the methods of estimating the population density of stored grain pests after using image detection technology are introduced, including using video surveillance, using special classifiers and other means to judge the live insects and dead insects, and further judging the population density of stored grain pests. In this paper, the state-of-the-art research methods of grain pest detection are reviewed, and the future development of image processing technology in grain pest detection is prospected.
Keyword: grain pest detection; image processing; machine learning; deep learning;
粮食,国之根基,粮食安全,国之重器,粮食作为国家重要的战略物资、生活资料之一,对国家安全、国家宏观调控具有重大现实意义[1,2]。粮食害虫对粮食能够造成不可挽救的损害,不仅影响粮食的品质,还会对国家的经济造成损失。高效、精准的检测粮仓害虫的种类和数量成为保障国家粮食安全的一项重要任务。目前国内外粮仓害虫检测的方法主要有人工法、诱捕法、生物检测、声检测、图像识别、近红外法、软X射线、生物光子等[3,4,5]。传统的人工法、诱捕法中,往往依靠管理人员的经验选择合适的位置进行诱捕和扦样,需要耗费大量的人力和物力。随着新技术的不断出现和发展,这些依靠人工的检测方法已经落后。声检测法主要是依靠声信号采集装置对粮虫的活动声音进行采集,对声信号的特征进行提取最终判断虫子的种类和数量,但是由于粮仓中背景嘈杂,检测的准确率有待提高[6,7]。近红外法基于近红外电磁波对样本的吸收或反射差异的原理,检测粮食是否受到害虫的侵蚀,根据特征曲线检测出的害虫种类,还可以根据特征波长来进一步判断害虫是死虫还是活虫[8,9,10]。软X射线法基于成像原理对粮食颗粒进行扫描成像,进而判读是否存在隐藏性害虫[11,12],该技术对粮食颗粒的水分含量比较敏感,且对成像设备的要求较高。生物光子检测法[13]利用生物的超微弱发光现象,可以检测谷物的霉变、虫害等情况,该技术应用范围广泛且前景较好,目前还处于实验阶段。
图像处理技术粮虫识别主要由两个部分组成,传统的机器学习技术和深度学习技术。其中传统的机器学习在粮虫的检测中分为图像预处理、特征提取以及识别分类3大步骤,深度学习技术则采用卷积神经网络自动提取特征并根据训练得到的分类器完成分类。传统的机器学习中预处理和特征提取部分主要使用图像处理技术,使用滤波、去噪以及图像增强技术对图像进行预处理,再提取粮虫的包括轮廓、纹理等特征[14,15]。提取的特征通过人工设计进行特征融合用来训练分类器,最终完成粮虫的分类任务。深度学习技术利用卷积层、激活层、归一化层和池化层不断地叠加,可以自动提取出粮虫的特征,最终使用全连接层进行分类[16,17]。随着图像处理技术的不断发展和在各行各业的不断应用,目前基于图像处理的粮食害虫的研究已经成为粮食行业的热点。
1、 传统机器学习在粮虫检测中的应用
粮虫检测的传统方式大多是采用半自动的检测方式[18,19,20],主要结合粮仓诱捕器、抽吸装置和计数装置,完成对粮虫个数和种类的检测。机器学习采用计算机视觉技术(图像采集设备+图像处理技术),由于其准确率和实时性的优点,已经逐渐代替了半自动的检测方式。采用计算机视觉技术方式主要包括图像采集、图像预处理、特征提取以及粮虫分类4个方面。其中图像采集方式主要采用线性CCD、高清摄像头等进行采集,这里不再进行详细说明。
1.1、 图像预处理
在实际应用中,图像的噪声和拍摄时的光照条件对图像的采集影响很大,对后续害虫的边缘检测及特征识别有很大的影响。图像的预处理采用去噪、滤波以及图像压缩等技术,提高图像的辨识度,压缩图像的大小,以满足在线监测系统实时性的要求,减小网络的传输压力。
方明[22]基于模糊C-均值聚类对图像中的粮虫进行图像分割,为粮虫特征提取奠定了良好的基础。害虫粘连现象在粮虫检测过程中会对特征提取和分类造成很大影响,陈树越等[23]改进了Harris算法和凹点检测算法,针对粮虫串连、并连和混连情况进行分割。廉飞宇等[24]提出了基于Daubechies小波压缩算法对原始图像进行三级小波分解,在能量集中度达到94%的情况下,丢失的信息量控制在10%以内,且图像重构之后进行边缘检测生成的轮廓清晰。Wang等[25]采用图像块处理、自适应初始聚类中心等策略,提高了图像分割方法的准确性和稳定性,可以实时的对图像进行分割,大大减少了传输图像的大小。颜永彪等[26]采用背景减法,将粮虫图片和背景图片对应的像素相减得到差值图,对图像进行阈值处理,提取出前景像素点即粮虫像素点之后再进行传播,大大压缩了图像的大小,减轻了网络传输压力。Qin等[27]提出了光谱残差边缘检测算法(spectral residual,SR),SR算法基于频域处理,可以抑制各种噪声,同时可以简化目标检测算法,提高边缘检测的有效性。
1.2、 特征提取
特征提取包括粮虫的形态特征和颜色特征提取,其中,颜色特征即粮虫本身的颜色,形态特征包括面积、凸面积、离心率、等效直径、长轴、短轴、周长、质心、密度和范围等特征。
吴一全等[28]基于扩展Shearlet变换对粮虫的纹理特征进行提取,基于Krawtchouk矩不变量对储粮害虫的形状特征进行提取,最终将提取的纹理特征和形状特征进行归一化之后组合成综合特征向量送入支持向量机(support vector machine,SVM)进行训练,完成粮虫的分类。Espinoza等[29]将图像处理和人工神经网络(artificial neural networks,ANN)相结合,首先对图像进行分割,根据二值化后的图像计算形态特征,然后对HSV图像进行颜色特征提取,最终将14个形态特征和颜色特征送入ANN完成分类。Rustia等[30]利用黏纸板进行害虫诱捕,对采集到的图像进行RGB-to-LUV颜色模型转换,提取V通道颜色分量。使用固定阈值将黏纸板的背景去除,然后进行斑点检测,将通过的斑点裁剪成128*128的RGB图像送入分类器完成粮虫检测。
1.3 、识别分类
传统的机器学习缺乏特征组合能力,需要对多种特征进行人工组合,然后将送入分类器如SVM进行分类[31],人工设计特征组合的目的是为了提升分类的准确率。识别分类是图像处理技术在粮虫识别中的重要环节,所以良好的分类器为识别的关键[32]。
罗慧等[33,34]利用提取的边缘特征、相对面积、离心率等8个特征设计分类器,实现对粮虫的识别。张红涛等[35]使用模拟退火算法对SVM进行参数优化,把粮虫识别的多分类问题简化为经典的二分类问题,根据交叉验证,训练的模型识别率高达93.067%。吴一全等[28]使用全局混沌蜂群优化SVM的核参数与惩罚因子并应用参数优化的SVM进行分类,该方法可以有效识别粮虫的种类。沈国峰等[36]使用BP神经网络进行粮虫的分类,在训练过程中采用贝叶斯正则化优化方法进行改进,提升了分类器的性能。Espinoza等[29]将提取的特征输入到前馈神经网络完成粮虫的分类,姜祖新等[37]采用AdaBoosting算法构建分类器,将多个弱分类器组成强分类器完成粮虫的分类。
2 、深度学习在粮虫检测中的应用
近几年,随着深度学习技术的不断发展,该技术也正逐渐应用到粮虫检测中。深度学习依托深度神经网络,模型自动提取粮虫的各种特征,利用特征自动训练分类器,最终完成粮虫的检测和分类任务[38,39]。对于粮虫的检测,主要有图像分类和目标检测两大方向。
图像分类使用卷积神经网络对图像的特征进行自动提取,训练过程中分类器根据损失不断优化参数及权重,直至训练任务完成。训练好的模型可以对输入的图片进行分类,给出图片中物体所属的种类以及概率。图像分类网络主要包含输入层、特征提取网络、softmax分类器以及输出层。训练好的模型可以在不同平台上进行移植,如Windows、安卓等。目标检测主要是需要对待检测的图片进行目标定位并对目标进行分类。常见的目标检测模型有Faster R-CNN、R-FCN、YOLO、SSD等[40,41,42]。
目标检测和图像分类的不同之处在于,图像分类仅仅可以对一张图片中含有一个目标的物体进行分类,而目标检测技术是基于目标几何和统计特征的图像分割,它将目标的分割和识别合二为一,其准确性和实时性非常好。对于实际应用中的粮虫检测来说,拍摄到的图片中不仅含有粮虫,还有粮食颗粒、杂质等,仅仅通过分类技术计算粮虫的个数是不可能的。目标检测中提取特征的经典网络有AlexNet、VGGNet、GoogleNet、ResNet以及MobileNet等。通过VGG16网络对卷积神经网络(Convolutional Neural Networks,CNN)的组成结构进行说明。由图1可知,CNN中主要包含卷积层(Convolution)、激活层(Activation)、池化层(Pooling)、全连接层(Fully Connect,FC)和softmax分类器。
图1 VGG16的网络结构
Fig.1 VGG16 network structure
目标检测算法分为两大方向:基于区域提名的两阶段的目标检测,以Faster R-CNN为成型代表,特点是精度高,运算速度慢,训练困难;单阶段的目标检测,以YOLO、SSD为代表,其特点是运算速度快,效率高,但精度较差。
沈驭风等[43,44]基于Faster R-CNN算法,设计了一种基于Inception结构的模型。与原Faster R-CNN算法相比,额外的增加了ROI Pooling,将建议区域的坐标分别映射到两种尺度的特征图上,一种特征图为第二个Inception结构后经反卷积得到的特征图,特征图的大小为原图的1/4;一种为第七个Inception结构后的特征图,特征图的大小为原图的1/16。再利用全连接层拼接为1024维的特征向量,使用Softmax和Smooth来分别回归出区域得分和区域坐标,改进之后的网络结构如图2所示。通过和Faster R-CNN+VGG16、Faster R-CNN+ Inception、R-FCN+ Resnetl0l进行对比,改进后结构的mAP最高。
图2 改进之后的特征提取网络结构
Fig.2 The improved feature extraction network structure
刘治财[45]使用Faster R-CNN+VGG16、Faster R-CNN+ResNet101、R-FCN+ResNet101以及YOLO算法进行试验,比较了不同算法的粮虫检测效果。试验发现两阶段的目标检测算法对粮虫的检测效果较好。在此基础上,对R-FCN算法进行改进,将基于的特征提取网络换成改进的DenseNet[46],并将算法中常用的NMS算成Soft-NMS[47],改进之后的网络结构如表1所示。为了进一步提升检测性能,在网络训练时使用多尺度训练技巧,设置了3种输入图片尺度,分别为800×640、1024×800、1280×1021,每迭代1000次,随机选择其中一种进行训练。最终试验证明,改进之后的R-FCN模型检测性能比上述的开源模型好。
表1 改进之后的DenseNet结构
邓壮来等[48]基于SSD模型对米象、锈赤扁谷盗、谷蠹、麦蛾、锯谷盗以及赤拟谷盗6种高爆发的害虫进行分类。由于害虫为小目标检测,将SSD模型的VGG16做了优化,将Conv1 Conv5的卷积宽度(卷积宽度即通道(channel)的数量)[49,50,51]减半,去除Conv3-2、Conv4-2、Conv5-2和FC,然后在Conv5-3之后,添加Conv6、Conv7、Conv8、Conv9接预测层,改进之后结构如图3所示。在损失函数部分添加了用于分类和回归任务的加权target[52],使模型训练可以更加专注分类难度高的样本。
假设有k个默认框,正样本数为n,负样本数为m ,则 k = n+ m,设定用于分类的标签Label。
图3 优化之后的SSD网络
Fig.3 The improved SSD structure
苗海委等[53]基于SSD对米象/玉米象、谷蠹、扁谷盗、锯谷盗、拟谷盗和烟草甲储粮害虫设计了一个检测模型。由于粮虫体积较小,在图片中粮虫占的面积也比较小,所以粮虫属于小目标检测。根据此特性在SSD特征提取网络上进行了优化。以VGG16为例,将Conv10、Conv11、Conv12提取的特征合并之后分别加入到Conv4、Conv7、Conv8提取的特征中,为了增大特征的分辨率将Conv9、Conv10及Conv11的池化层删除。优化之后的网络结构如图4所示。在损失函数上在SSD的基础上添加了前景分类卷积模块损失Lconf_fore(x,c?class)用于判断是前景还是背景。类别分类器是类别+1的分类器,其他损失和SSD一致。最终结果和通用SSD对比,检测性能得到了很大的提升。
图4 优化的VGG16的网络结构
Fig.4 The improved VGG16 network structure
由于拍摄的方式以及设备不同,拍摄得到的图片大小不同,粮食害虫在图片中所占的面积也不同。Li等[54]为了使模型能够适应多尺寸的粮虫大小,基于RetinaNet设计了一个特征金字塔网络(feature pyramid network,FPN)并优化了分类和回归boxes子网络。FPN网络结构如图5所示。优化之后的分类和回归子网络如图6所示。通过融合ResNet50中不同阶段的输出,构建了具有5个输出层的一个自顶向下通路的特征提取网络。每个输出关注一个特定大小范围的害虫,会产生和尺寸大小对应的anchors。将focal loss[55]和GHR(gradient harmonized regression) loss [56]组合的损失函数用于多尺度害虫检测器的训练。focal loss作为置信损失,GHR loss作为定位损失。通过对10种粮仓害虫进行检测,其mAP达到了94.77%。Liu Wang等[57]提出了PestNet,是一种多尺度多种类端到端基于深度学习的害虫分类模型。在特征提取中将通道空间注意机制(channel spatial attention ,CSA)融入到CNN网络中。特征提取之后使用PRN提供害虫位置的建议区域。RoI pooling中添加了上下文RoI(contextual RoI)以增加检测的准确性。在RoI Pooling之后添加位置敏感评分图(position-sensitive score map,PSSM),用来代替FC层进行分类和边界回归,PestNet网络结构如图7所示。
图5 FPN网络结构
Fig.5 The FPN network structure
图6 分类和回归子网络结构
Fig.6 Subnetwork structure of classification and regression
图7 PestNet网络结构
Fig.7 PestNet network structure
为了提高深度学习分类模型的鲁棒性,需要足够的图片样本来训练分类器和位置回归器。但是粮仓属于国家保密机构,粮虫图片的获取不太方便。传统的图像获取方法是在实验室搭建模拟粮仓并使用喂养的虫子进行拍摄,在制作数据集中拍摄并且标记的工作量巨大,耗时又耗力。Lu等[58]提出了基于生成对抗网络GAN(generative adversarial network)的图像增强方法,提高模型分类的效果。为了生成高质量的图像、增加训练数据集的大小,使用AC-GAN(conditional GAN with auxiliary classifiers)模型,使得在有限的图像数据下提高害虫分类器的性能,为粮虫检测数据集的准备提供了新思路。
深度学习中的图像分类和目标检测算法极大的提升了粮食害虫的检测效率和精度,由于数据集的限制、训练的难度、模型能够识别害虫的种类限制以及和硬件配合难度等问题,目前还只存在于实验室研究和开发的阶段。
3、 种群密度估计
储粮害虫的种群密度估计为粮虫检测的最终目的,种群密度估计意义重大,不仅可以显示粮虫的分布情况,数据的积累还可以指导粮食在仓储过程中杀虫工作,对改善粮食的仓储质量,保障粮食安全有着重要作用。
传统的粮虫种群密度估计采用扦样法和诱捕法,由于检测耗时耗力且粮虫 挑食 的原因,种群密度估计工作一直比较困难。随着技术的进步,逐渐出现声信号分析、近红外高光谱成像、信息素、电子鼻以及视频检测的方法来确定粮虫的死活和密度分布。周亦哲等[38]采用双流法视频检测来确定粮虫死活情况,根据活虫的数量来估计种群密度。张红涛等[35]使用SAA-SVM分类器训练模型判断粮虫是否为活虫,区分粮堆中的死虫来估计种群密度。罗强等[16]使用CNN网络进行学习和训练,并搭建了虫害实时监测系统,该系统用于统计粮仓中所有诱捕器中粮虫种类和数量,进一步来估计粮虫的种群密度。罗慧等[33]通过诱捕器+图像处理的方式来对粮虫进行分类和计数,并根据捕获害虫和实际害虫的公式来估计粮虫密度。
4 、结论与展望
随着信息技术的发展,粮虫的在线监测系统成为监管粮情变化的重要工具,在线监控系统的数据实时性和数据真实性是系统能够大范围投入使用的关键。文中对近年来图像处理技术在粮虫识别的应用做了研究,其中主要包括传统机器学习技术以及深度学习技术的应用。传统的机器学习,包含图像获取、预处理、特征提取以及识别分类等步骤。深度学习方式包含图像获取、预处理、模型设计、训练和分类步骤,图像获取和预处理步骤非常重要,应采取像素较高的设备进行拍摄。预处理步骤在保证提取粮虫特征的前提下,尽量的压缩图片大小,减轻网络传输的压力。粮虫的种类多种多样,但是由于其体型较小,特征相似(如谷盗类),很多研究中都将特征相似的粮虫归为一类进行识别,需提高对粮虫特征细节的提取,进一步提升分类效率。粮虫种群密度估计是粮虫识别的最终目的,在传统的机器学习和深度学习中的图像,由于是对图片或者视频进行处理,区分活虫和死虫的工作较难,可以采用食物诱捕和信息素分析等多种技术融合,最终使种群粮虫密度估计更加的准确,用于指导粮食的仓储工作。图像处理技术主要是对粮粒外部的害虫进行检测,对隐藏性害虫没有任何的办法,所以结合图像处理和软X射线等技术,分别负责粮粒外部可见的粮虫和在粮粒内部的隐藏害虫进行检测和分类。从内容上看,各项技术在粮虫识别的精度和速度上已经达到了可用的地步,但是对于粮虫识别的种类还有很大的限制,普适性不好。未来还需要各方面的共同努力,共同推进粮食害虫识别技术的发展,使图像处理技术早日应用在粮食行业中。
相关文章:
事业单位财务内控管理要点分析04-26
论影视化语言下真人秀节目的娱乐性与知识性04-26
体育教师职业倦怠的产生原因和应对策略04-26
基于网络经济时代下市场营销策略转变的探讨04-26
爱是教育路上的理解、支持与守护——浅谈陶行知思想之04-26
尼古丁加重慢性他克莫司肾毒性的机制04-26
大数据时代的知识产权呼吁刑事保护04-26
新医改背景下医院办公室管理创新对策分析04-26
生态恢复性司法的实践困境与路径完善04-26