苗海委 周慧玲
(北京邮电大学自动化学院,北京 100089)
虫害是导致我国粮食产后储藏损失的重要因素之一,不仅造成经济损失,还容易导致食品安全问题。目前,采用不同形式捕获器获得粮仓内害虫图像信息的装置已经逐渐开始在仓库内应用,对储粮害虫图像进行准确的数量检测和正确的类别识别是做出正确保粮决策的重要依据。有研究表明,除少数害虫分布在粮堆深层外,大部分害虫最早是粮堆表层被发现的[1]。及早发现粮堆表层害虫,做到早预警早防治,对于保障储粮安全是十分必要的。
近年来数字成像技术的快速发展使得图像识别检测成为主要方法。关于储粮害虫图像检测方面,不少学者基于传统机器学习和深度学习两个方向做了很有意义的研究工作。传统机器学习方法主要是通过提取显式图像特征然后将特征送入机器学习分类器进行分类或检测。张洪涛等[2]和吴一全等[3]分别使用了面积、周长等形态特征和纹理特征送入支持向量机进行害虫分类。Lu等[4]使用隐马尔可夫模型在图像像素数据和纹理特征上建模对害虫图像分类,其通过实验验证了不同姿态的害虫图像识别效果。因为传统机器学习使用的特征大多是显式的特征,特征提取过程烦琐且表达图像特征准确性不高,受背景杂质和光照影响较大[5]。Hu等[6]为了提高提取特征的有效性,将蚁群算法应用到储粮害虫特征提取中,该算法从17种储粮害虫特征集中选取7种特征子空间,其实验证明了自动特征提取算法在储粮害虫特征提取任务上的有效性。近几年,基于深度学习方法的抽象特征自动提取成为储粮害虫图像识别特征提取的主流方法。程尚坤[7]和程曦等[8]分别基于深度学习技术进行了甲虫类害虫图像和7种高清害虫标本图像的粗分类。Shen等[9]基于深度学习目标检测框架Faster R-CNN对瓦楞纸板型诱捕器诱捕的害虫图像进行了种类识别,在实验室模拟粮仓环境下平均识别率达到88%。
本研究基于单发多盒目标检测器(Single Shot MultiBox Detector,SSD)[11],使用本实验室基于粘虫板诱捕器开发的储粮害虫在线图像采集设备(Online Insect Trapping Device,OITD)[10]进行图像采集,针对米象/玉米象、谷蠹、扁谷盗、锯谷盗、拟谷盗和烟草甲六类储粮害虫设计了一套检测算法。为了提高算法对粘虫板图像检测的效果,在分析害虫检测与通用目标检测异同点的基础上,结合储粮害虫目标类间相似度较高、边框比例与类别无关和图像尺度相对固定的特点,通过改进SSD的目标框回归策略、损失函数、特征提取网络结构,设计适用于储粮害虫图像定位和识别的算法,并对其有效性进行了评估测试。
OITD是本实验室开发的监控粮仓表面粘虫板上害虫的实时在线设备,可通过接入管理服务器实现粘虫板图像自动采集,其包括相机、支架和粘虫板三部分,如图1a所示。相机选用MindVsion-GE500C-T,具体参数如表1所示,可拍摄最大20cm×25cm的粘虫板,拍摄的图片如图1b所示。数据集害虫按六大种分类,粘虫板图像来源两部分:实验室拍摄的粘虫板图像和粮仓环境下拍摄的粘虫板图像。人工标记图像中的所有害虫目标边界框(以下简称目标框),如图1c所示。来自实验室的粘虫板害虫图像中的害虫由国家粮食和物资储备局科学研究院粮食储藏研究室养殖,对每头害虫的种类鉴定是明确的,因此标注信息中包含类别信息和目标框信息。为了保证模型在实际粮仓中的检测性能,本研究在训练数据集和测试数据集中分别加入了1030张和100张来自实际粮仓的图片,因为对这些图片中的单头害虫进行类别鉴定难度较大,因此本研究只标注目标框。
图1 OITD与拍摄图片示例图
表1 MindVsion-GE500C-T相机具体参数
OITD拍摄的图像分辨率是1944×2592像素,由于高分辨率的图像直接送入神经网络会占用较高内存,增大训练和推理所需的硬件配置要求。因此需要对大尺寸图像进行处理,以获小尺寸图像,送入神经网络。因为粘虫板图像中的单头害虫平均只有30×40像素,为保证单头害虫图像信息尽量少的丢失,采用了划窗采样方式,将整张大图划分成若干小图送入定位网络。表2是来自实验室的粘虫板数据集中训练集和测试集图片的数量以及害虫的头数。表3是整体粘虫板图像数据集的统计,其中包含来自实验室的粘虫板图像和来自实际粮仓粘虫板图像。
表2 来自实验室的粘虫板图像数据集数量统计
表3 粘虫板图像数据集数量统计
粘虫板图像相比于其他的诱捕器图像拍摄范围较大,且害虫较小,为了保留足够多的图像信息被送入神经网络,需要先经过划窗操作再送入网络进行检测,所以对检测速度有要求。由于相机高度固定目标尺度变化小,因此对多尺度检测需求较小,故本研究基于SSD进行算法改进。改进的SSD基本流程:1)通过划窗采样将分辨率为1944×2592像素的图像切割成24张分辨率为512×512像素的图像,采样前的图像如图2a所示,采样后单张图像如图2b所示;2)将切割后的图像送入卷积神经网络(Convolution Neural Network,CNN)进行特征提取,如图2c所示;3)使用默认框生成器生成不同长宽比和不同尺寸的默认框,如图2d所示;4)使用提取到的不同尺度的特征图进行目标框与默认框偏移量的回归和害虫分类;5)使用默认框坐标和预测得到的偏移量可得到目标框的预测坐标和类别的预测数据,如图2e所示;6)根据框的置信度和框的坐标应用非极大值抑制算法去除多余预测框得到最终框的坐标和类别如图2f所示。
图2 目标定位算法基本流程
为了提高对不同尺寸目标定位的效果,SSD 在不同尺度的特征图上生成不同密度的默认框。由于浅层特征和深层特征分别对小目标和大目标有较好的检测性能,所以在浅层特征进行回归过程中使用生成较小的默认框,在深层特征进行回归的过程中使用较大默认框,图3a分别展现了不同大小的默认框。为了覆盖所有不同长宽比的目标,同一层的特征图中包含不同长宽比的默认框,可分别使用不同大小的默认框。通过将默认框与目标框坐标真值做交并比(Intersection over Union, IoU)判定每个默认框是正样本还是负样本,对于正样本的默认框要标注其类别,对于负样本默认框要标注为背景,如图3b所示,有4组默认框与目标框匹配成为正样本,如实线的横框、正方形框、竖框代表不同的默认框,虚线框代表目标框。
图3 默认框生成示意图
本研究的特征提取网络基于VGG16进行优化,通用SSD算法分别使用第4组卷积(conv.4)和第7组到第12组卷积(conv.7~ conv.12)共7组卷积后的特征进行目标框坐标的回归和分类。特征的局部细节特征和全局语义特征对于定位任务来说同样重要,使用单层特征分别进行回归不能同时利用细节特征和全局语义特征,FPN[12]和FSSD[13]都是基于这个观点进行改进的。由于害虫目标较小,为了提高检测算法对小目标定位和分类效果,将后3组的特征合并后分别加入到conv.4、conv.7和conv.8的3组特征中。为了增大后3组特征图的分辨率以保证特征中含有足够多的信息,在通用SSD基础上,删除了conv.9、conv.10和conv.113组中的池化层,全部网络结构如图4所示。
通用SSD算法没有设置定位置信度,判别目标是否为害虫、非极大值抑制等操作主要依赖类别标签预测置信度,这是因为通用检测任务有2个特点[14]:1)类与类之间差异性较大,类别标签预测置信度与定位置信度有很大相关性;2)类别标签预测与目标框坐标的回归有一定相关性,如通用目标检测任务中狗和人的目标框具有相对稳定的长宽比例。
图4 改进的SSD网络结构
本研究的检测任务不具上述通用检测的2个特点,且类与类之间相似度较高,使用类别标签预测置信度作为定位置信度会产生漏检和误检。本研究做出改进:1)加入前景分类模块,负责定位置信度的预测,且与负责类别标签预测的类别分类模块独立;2)减小前景判别和坐标回归的耦合性,在类别分类卷积模块、坐标回归卷积模块和前景分类卷积模块中分别加了一层非线性卷积层,卷积策略如图5所示。
图5 目标框回归策略结构图
(1)
式中:x为标记当前位置默认框与目标框是否匹配的三维数据;xis_fore为前景指示数据;l为神经网络对每个默认框与匹配目标框的偏移量的预测值,分为cx、cy、cw、ch四组,分别代表x坐标方向上的偏移值、y坐标方向上的偏移值、框的宽度偏移值、框的高度偏移值;α为控制目标框坐标回归损失在总的损失函数中所占比重,设置为1;N为每个训练批次的大小,选N=4。
(2)
式中:Pos、Neg分别为正样本集合和负样本集合;类别编号包括0~K,选K=6,0代表背景。
(3)
(4)
(5)
(6)
使用训练数据集来训练神经网络,以4张图片为一批送入神经网络进行训练。采用Adam算法[15]进行更新网络权重,Adam优化算法结合了去除摆动方差和动量的思路,可以加快网络训练收敛,是目前最好的神经网络优化算法之一。使用conv.4、conv.7、conv.8的特征与conv.9、conv.10和conv.11合并的特征进行回归,3层特征的默认框大小分别设置为20、50、133,默认框长宽比使用3种比例:1∶2、1∶1和2∶1。训练时统计3个损失值,分别为前景分类器损失、类别分类损失和目标框坐标回归损失,3个损失值之和如图6所示。
图6 迭代70万次的损失函数下降曲线
测试时,将前景置信度阈值设置为0.7,非极大抑制阈值设置0.45,使用各类的平均正确率(average precision,AP)作为验证指标。平均精度(mAP)为各个类别的平均正确率的平均值,召回率(recall),准确率(precision)以及AP的计算公式为:
(7)
(8)
(9)
为了评估改进的SSD的方法对于储粮害虫的检测能力,训练通用SSD与本算法进行对比(见表4和表5)。图7展现的是改进的SSD与通用SSD对粘虫板图像害虫检测效果对比,其中每个预测的目标框上分别标注预测的类别编号、前景置信度和类别置信度,类别编号范围为1~6,分别代表玉米象、烟草甲、拟谷盗、谷蠹、锯谷盗、扁谷盗,改进的模型可以有效改善漏检和多检的情况。为了测试模型在实际粮仓内的表现情况,对一些粮仓的图片进行测试(见图8),可以看到本研究提出的模型要比通用SSD模型对复杂背景抗干扰性更强,如图8中第一列实际粮仓图片中包含较多书虱、第二列和第四列的麦粒阴影等背景、第三列第五列中的圆圈背景,改进的模型可以有效避免误检和漏检。相比瓦楞纸型诱捕器中害虫的识别算法[9],本数据集中包含实际粮仓的测试数据,在实际粮仓应用时泛化性能更强,在采用相同相机设备的情况下,识别的诱捕面积更大,算法识别难度更高。
表4 通用SSD与改进的SSD在实验室粘虫板图像测试集上的分类AP
图7 两种定位模型在粘虫板图像上的表现
图8 各定位模型在实际粮仓图像上的表现
表5 通用SSD与改进后SSD在全部测试集上的定位AP、运行时间和模型大小
本研究将SSD目标检测算法应用于储粮害虫检测领域,并且提出了改进的SSD模型,能够有效检测粮仓内放置的粘虫板上的害虫,并为小目标检测、类别间相似度较大的检测任务提供了思路。改进的SSD模型已应用在本实验室设计开发的储粮害虫检测系统中,该系统已成功部署在全国11个粮库内运行使用,目前共收集共19000张图片,其中包含9600张粘虫板图像,但系统对粘虫板的拍摄环境有一定要求,后续研究中将不断增加粮仓的典型负样本数据,以提高模型在实际粮仓粘虫板图像上的泛化能力。