一种基于图像分块的粮仓害虫检测方法与流程

文档序号:16037224发布日期:2018-11-24 10:10阅读:199来源:国知局

本发明属于粮仓害虫检测技术领域,具体涉及一种基于图像分块的粮仓害虫检测方法。

背景技术

粮仓内的害虫(即粮虫)是影响粮仓的重要因素。若能及时捕获粮仓内害虫的状况,对害虫进行及时处理,可以显著提高粮仓内粮食的安全。

传统的粮仓内害虫检测方法需要人工抽样,使用计算机视觉设备检测害虫,进而估计粮虫虫头密度。这种方法不仅需要人工干预,而且对计算机视觉设备的检测条件要求较高。

除上述方法外,还可通过检测害虫的声音信号来对粮仓内的害虫进行检测。但是,这种方法常常需要特殊的设备来获取声音信息。

近年来,随着粮食智能化建设,越来越多的粮仓通过设置高清摄像头来实时捕获粮仓内粮食的状态数据,对粮仓内粮食的状态图片进行处理与分析,以对粮仓内的害虫进行检测,保证粮仓内粮食的安全。

根据粮仓内粮食的状态图片对粮仓内的害虫状况进行分析时,需要使用计算机视觉领域中的对象检测技术。在对象检测方法中,通常采用有监督训练方法对每一类对象设计特定的分类器,并在检测过程中,评估大量检测边界框,从而定位到对象的位置和大小。

其中,比较经典的对象检测方法为hog(histogramoforientedgradient)特征和支持向量机(supporvectormachine,svm)分类器相结合的对象检测技术,在行人检测方面取得了较好的成绩。svm作为一种有监督的分类器,在检测对象时,事先提取训练集中图像的特征以训练svm,利用训练好的模型对测试图像采用窗口滑动搜索算法对其进行检测。

但是,在粮仓内直接对害虫进行检测存在一定的难度。其中最关键的问题在于相对于所拍摄的粮仓图像,害虫的面积较小,经常被当做噪声点,从而无法准确检测到害虫。



技术实现要素:

本发明的目的在于提供一种基于图像分块的粮仓害虫检测方法,用以解决由于害虫面积较小而容易被当做噪声处理的问题。

为解决上述技术问题,本发明的技术方案为:

本发明提供了一种基于图像分块的粮仓害虫检测方法,包括如下步骤:

对粮仓内图像集进行标注,划分成多个样本区域块,并调整至预设大小,提取调整后的每个样本区域块的特征,输入svm分类器进行训练,得到训练好的svm模型;

按照预设大小对待检测粮仓内图像进行首次分块处理,得到相应个数的区域块;按照预设大小对待检测粮仓内图像进行若干次偏移分块处理,使得首次分块处理得到的区域块中位于边界处的害虫必定落入至少一次偏移分块处理形成的区域块中;并记录每个区域块之间的空间关系;

提取每个区域块的特征,输入训练好的svm模型,得到每个区域块的检测结果;

根据每个区域块之间的空间关系,将每个区域块的检测结果进行整合,得到待检测粮仓内图像的害虫检测结果。

本发明的有益效果:

本发明的基于图像分块的粮仓害虫检测方法,首先对粮仓内图像集进行训练,得到训练好的svm模型,再将待检测粮仓内图像输入至训练好的svm模型中,便可得到待检测粮仓内图像所包含的害虫的检测结果。其中,为了避免害虫在图像中所占比例过小而将其当做图像噪声的情况出现,对待检测粮仓内图像进行了分块处理,每一个区域被视为一幅图像进行害虫检测;同时,为了解决因为分块害虫被分裂到多个区域块中造成无法准确确定待检测粮仓内图像中害虫头数的问题,对待检测粮仓内图像进行了多次分块处理,使得首次分块处理得到的区域块中位于边界处的害虫必定落入至少一次后续分块处理形成的区域块中,同样提高了检测结果的精度。

作为方法的进一步改进,为了使用较少次数的分块处理,预先设定区域块的大小为x×y,从待检测粮仓内图像的行和列的起始位置开始,对待检测粮仓内图像进行首次分块处理,得到相应个数的区域块;按照预设大小x×y,从待检测粮仓内图像的行的起始位置、列的偏移k2个像素位置开始,对待检测粮仓内图像进行分块处理,得到相应个数的区域块;按照预设大小x×y,从待检测粮仓内图像的列的起始位置、行的偏移k1个像素位置开始,将待检测粮仓内图像进行分块处理,得到相应个数的区域块;按照设定大小x×y,从待检测粮仓内图像的行的偏移k1个像素位置、列的偏移k2个像素位置开始,将待检测粮仓内图像进行分块处理,得到相应个数的区域块;其中,1<k1<x,1<k2<y。

作为方法的进一步改进,k1=x/2,k2=y/2。

作为方法的进一步改进,为了使样本集更加丰富,所述对粮仓内图像进行标注,划分成多个区域块,并调整至预设大小包括:

使用矩形框提取粮仓内图像集中的包含害虫的区域块,作为正样本,提取未包含害虫的区域块作为负样本,并将正样本和负样本调整至预设大小。

作为方法的进一步改进,还包括:将得到调整后的正样本和负样本进行反转、旋转、颜色变换,得到正样本区域块和负样本区域块。

作为方法的进一步改进,提取调整后的每个样本区域块和区域块的hog特征。

作为方法的进一步改进,提取正样本区域块的特征和负样本区域块的特征后,结合正样本和负样本的标记,形成样本特征矩阵,将样本特征矩阵输入svm分类器进行训练。

作为方法的进一步改进,为了准确获得害虫的头数,采用iou和非最大值抑制方法合并区域块,然后判断检测矩形框是否处于区域块的边界,若是则根据区域块之间的空间关系合并被分裂到不同区域块中的害虫,得到所述待检测粮仓内图像的害虫检测结果。

附图说明

图1是一种基于图像分块的粮仓害虫检测方法流程图;

图2-1是第一次分块处理得到的区域块示意图;

图2-2是第二次分块处理得到的区域块示意图;

图2-3是第三次分块处理得到的区域块示意图;

图2-4是第四次分块处理得到的区域块示意图;

图3-1是害虫处于上下相邻的区域块之间的边界的示意图;

图3-2是害虫处于左右相邻的区域块之间的边界的示意图;

图3-3是害虫处于上下左右四块相邻的图形块之间的边界的示意图;

图3-4是使用非最大值抑制和iou去除冗余检测框的示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚,下面结合附图及实施例,对本发明作进一步的详细说明。

为了实现对粮仓害虫的检测,本发明提供了一种基于图像分块的粮仓害虫检测方法。下面结合图1,对该方法做详细说明。

该方法包括两大过程:svm模型训练过程和svm对象检测过程。

svm模型训练过程,是对训练图像集进行处理,提取特征,并输入至线性svm训练器进行训练,得到训练好的svm训练器的过程。下面详细介绍该过程。

首先,获取粮仓内图像,将获取的粮仓内图像集,并提取所有图像集中的正样本和负样本。其中,使用标注工具对图像集中每幅图像进行标注,使用矩形框提取包含害虫的样本区域块和不包含害虫的样本区域块,包含害虫的边界框对应的样本区域块为正样本,不包含边界的区域框对应的样本区域块为负样本。

接着,在提取到正样本和负样本之后,对正、负样本进行旋转、反转、灰度值增减等操作,生成更多的大小为x×y的样本区域块,包括正样本区域块和负样本区域块。

然后,提取样本区域块的hog特征。在提取hog特征时,先将彩色图像转换为灰度图像,采用gamma校正法对图像归一化处理以调节图像对比对;计算每个区域块的梯度,捕获其轮廓信息;将图像划分成多个cell(每个cell为8×8像素块),每2×2个cell构成一个block(为16×16像素块),将每个cell中每个像素的梯度按照方向统计直方图,block内所有cell的特征串联起来得到该block的hog特征;对区域块内所有block的hog特征串联起来得到整个图像的hog特征。

其次,结合提取得到的所有样本区域块的方向梯度直方图特征(histogramofgradient,hog)和正负样本标记,组合成样本特征矩阵,即样本特征矩阵的每一行由样本区域块的特征加上正负样本的标记。其中,正样本标记为1,负样本标记为0。

最后,根据得到的样本特征矩阵,输入线性svm进行训练,当训练次数达到设定迭代次数或者训练误差小于设定阈值时,停止训练,得到训练好的svm模型参数,即得到训练好的svm模型。

在得到训练好的svm分类器后,便可进行第二个过程。

svm对象检测过程,是将待检测粮仓内图像进行处理,提取处理后的待检测粮仓内图像的特征,并将其输入至训练好的svm分类器,便可得到最终的检测结果。下面详细介绍该过程。

首先,将待检测粮仓内图像进行分块处理。在进行首次分块处理后,得到多个区域块,同时需要记录每个区域块之间的空间关系,便于进行后续处理。但是,若只进行一次分块处理,常常有害虫被分裂到两个区域块中的情况出现。例如,如图3-1所示,害虫被分裂到左右两个相邻区域块中。此时,若直接对每个区域块分别进行处理,那么这一条害虫很有可能被认为是两条,导致统计不准确。为了避免该情况发生,接着需要对待检测粮仓内图像再进行若干次偏移分块处理,其分块处理的主体思想是使得首次分块处理得到的区域块中的害虫必定落入至少一次偏移分块处理形成的区域块中,同时增大图像中害虫面积相对于背景粮食面积的比值,避免害虫被误作为噪声点。

为了实现上述介绍的主体思想,在这里,采用四次分块处理的方法,以避免首次分块时害虫被分裂到两个区域块而造成统计错误的问题出现。

其中,第一次分块处理从待检测粮仓内图像的行和列的起始位置开始,将待检测粮仓内图像按照x×y进行分块,得到多个区域块;第二次分块处理从待检测粮仓内图像的行的起始位置、列的偏移k2个像素位置开始,将待检测粮仓内图像进行分块,得到多个x×y区域块;第三次分块处理从待检测粮仓内图像的列的起始位置、行的偏移k1个像素位置开始,将待检测粮仓内图像进行分块,得到多个x×y区域块;第四次分块处理从待检测粮仓内图像的行的偏移k1个像素位置、列的偏移k2个像素位置开始,将待检测粮仓内图像进行分块,得到多个x×y区域块。从而保证若害虫被分裂到两个或者四个相邻区域块中时,总能找到一个能够完全覆盖害虫的区域。其中,1<k1<x,1<k2<y。

具体的,当k1=x/2,k2=y/2时,其分块处理结果可如图2-1、2-2、2-3和2-4所示,图2-2、图2-3和图2-4这三幅图中的斜杠阴影表示该待检测粮仓内图像未被分块处理部分。其中,图2-1为第一次分块处理结果,从待检测粮仓内图像的行和列的起始位置开始对其进行分块处理。图2-2为第二次分块处理结果,从检测粮仓内图像的行的起始位置、列的偏移y/2位置开始对其进行分块处理,从而避免了图3-1中害虫被分裂到上下两个相邻区域块时的情况出现。图2-3为第三次分块处理结果,从待检测粮仓内图像的行的偏移x/2位置、列的起始位置开始对其进行分块处理,从而避免了图3-2中害虫被分裂到了上下两个相邻区域块时的情况出现。图2-4为第四次分块处理结果,从待检测粮仓内图像的行的偏移x/2位置、列的偏移y/2位置开始对其进行分块处理,从而避免了图3-3中害虫被分裂到了上下四个相邻区域块时的情况出现。

接着,提取每个区域块的hog特征,并输入训练好的svm模型,进行多尺度hog对象检测。

在检测过程中,因为多尺度hog会根据block的大小和窗口滑动的步长,每个区域块会生成多个检测边界框,针对重叠且不在区域块边界区域的检测边界框,两两计算iou值,若该值大于指定的阈值,则合并两个边界框。

若检测边界框处于区域块的边界区域,首先在四次分块结果中取出与此相互重叠的区域块,根据检测边界框所处的位置信息,查询完全覆盖该部分的区域块的检测结果,若有对应的检测边界框,则认为害虫被分裂,取出其他与之相关的检测边界框。

将所有检测边界框映射到原始的待测粮仓内图像上,得到原始的待测粮仓内图像的检测边界框,再次两两计算重叠检测边界框的iou值,并根据结果进行合并,从而得到最终的结果。

为了验证本发明方法的可靠性,设计了一系列定量分析的实验,下面对该实验做详细的说明。

模拟粮仓内的粮面,在实验平台上铺上长款分别为60cm×60cm,高度为3cm的小麦,使用目前在粮库中使用的高清摄像机,距粮面高1米左右,从不同角度、距离进行连续拍照50次,然后在粮食中放入20头玉米象,让玉米象自由活动1分钟后,连续进行拍照20次,共100张图像,图像的分辨率为1080×1920。

编写matlab交互程序提取图像的正负样本集,对于负样本每次选择大小为64×64的负样本区域块,然后对图像进行旋转、反转、灰度值增减,共取负样本区域块4000个,正样本区域块1000个。

提取训练集中正负样本的hog特征,对于每一个特征向量,根据正负样本指定一个标签,正样本的特征向量对应1,负样本的特征向量对应0。将样本集的特征向量输入svm中进行训练,其参数选择为:svm类型选择c_svc,核函数为线性函数,最大迭代次数为1000,参数c设置为0.01。此外,可以借助于粒子群算法(pso)获取优化的svm参数,训练完成后,保存训练好模型参数。

利用训练好的分类器,对训练集中的负样本进行检测,找出是负样本却被检测为对象的样本,截取检测边界框,调整图像大小,加入到训练集,重新对svm进行训练,最终获取训练好的svm分类器。

在测试阶段,给定一幅测试图像,对图像进行四次分块处理,每块图像大小为64×64,记录所有区域块的左上角在原图像的坐标值,以便查找四次分块操作后区域块之间的位置关系。

提取测试区域块的hog特征,输入svm分类器进行训练,并采用步长为8的滑动窗口对区域块进行逐次检测。

获取所有区域块的检测结果,可采用如下两种方法合并所有的边界检测框,形成原图像的检测结果。第一种方法,先处理单个区域块,对于重叠的区域块两两计算其iou的值,利用非最大值抑制方法,消除重叠多余的检测结果,并判断检测结果中是否存在边界框在边界区域,调取与该区域块的有重叠的区域块的检测结果,根据图3所示的情况,判断是否存在害虫被分裂到多个区域,然后合并区域。第二种方法,直接合并所有区域块的检测边界框,生成原图像的检测结果,然后利用非最大值抑制方法,无需判断害虫是否被分裂到不同的区域。此处iou的阈值选择0.5,即两个检测边界框的iou大于0.5则可去掉检测结果概率较低的一个。如图3-4所示,假定有4个检测矩形框,根据svm检测概率排序,从小到大分别属于害虫的概率分别为a、b、c和d,使用非最大值抑制的步骤如下:

从概率最大矩形框d开始,分别判断a~c与d的重叠度iou是否大于设定额阈值;

假设b和d的重叠度超过阈值,去除b,保留检测矩形框d;

从剩下的矩形框a和c中,选择概率最大的c,判断a和c的重叠度,若重叠度大于阈值,则去除a,保留c;

重复上述操作,直到所有检测框均和其它检测框的iou值小于指定的阈值,从而获取最终的检测结果。

图3-4中,其余三个框和中心位置的框重合度均大于给定的阈值,因此只保留中心区域的矩形框。

为了简单起见,实验采用了第二种方法,对4幅待测试图像的检测结果如下表所示。

表1

从表1中可以看出,本发明的方法的平均正确率可达到0.84,可证明该方法的可行性和准确性。本发明还可通过选择不同的特征、进一步调整训练和测试过程中的参数来进一步提高检测精度。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1