一种基于级联分类器的害虫识别方法与流程

文档序号:12864194阅读:280来源:国知局
一种基于级联分类器的害虫识别方法与流程

本发明涉及视频数据分析领域,涉及用于视频数据分析的基于opencv的目标识别算法,具体涉及一种基于级联分类器的害虫识别方法。



背景技术:

近年来,目标识别技术已经受到越来越多人的重视,目前常用于进行目标识别的算法有以下几种:

(1)霍夫森林算法:该算法与传统的目标检测器不同,它的训练样本是p={i,c,d},i是输入图像的一个局部图像块,c是它的类标签,d是它到目标中心的偏移矢量;随机树生长的目的是使节点样本的类别和矢量偏移量的不纯度最小化,分别对应决策节点与回归节点。节点的分裂准则采用了像素值比较的方法,最后叶子节点记录统计量:cl表示正样本的比例,dl表示样本偏移的集合。在检测阶段,首先从图像上提取局部图像块,然后对矢量上位置为x的点投票,对图像进行密集采样,最后输出霍夫图像。该算法在检测阶段需要进行大量运算,时间耗费大。

(2)rcnn算法:rncc算法是利用深度学习进行目标检测的。使用一种分割手段,将图像分割成许多小区域,查看现有小区域,合并可能性最高的两个区域。重复该过程直到整张图像合并成一个区域位置,并输出所有的候选区域。将候选区域归一化成同一尺寸,输入一张图片,选择一个候选框和当前图像上所有标定框重叠面积最大的一个。如果重叠比例大于0.5,则认为该候选框为此标定的类别;否则认为该候选框为背景。最后使用线性svm二类分类器进行判别。在本算法预处理中,需要将所有的候选区域归一化成同一尺寸,容易导致形变,影响识别效果。

(3)基于adaboost分类器的目标识别:adaboost是一种组合分类器,也就是把多个弱分类器结合起来形成一个强分类器。每个弱分类器的准确率并不高,但最后形成的强分类器的准确率可以达到较为满意的效果。对每个特征做一个弱分类器。用一个固定大小和位置的矩形特征,在所有正负样本上训练,找到一个阈值让它的分类错误率最低。基于adaboost分类器的目标识别需要对每个特征做一个分类器,计算量大,效率不高。

综上所述,现有技术存在对于复杂物体的识别计算量大、耗时长、效率不高等问题。



技术实现要素:

本发明的目的是针对上述现有技术的不足,将目标识别算法应用于害虫识别领域,提供了一种基于级联分类器的害虫识别方法,利用经过处理的厨房常见害虫图片进行正负样本的级联分类器训练,通过大量数据建立数学模型,从视频流中获取实时图像,使用帧差法对图像进行初次过滤定位,框定感兴趣区域后利用正负样本训练级联分类器对目标进行识别。所述方法提高了对移动目标的识别率,并大大提高了运算效率。

本发明的目的可以通过如下技术方案实现:

一种基于级联分类器的害虫识别方法,所述方法包括以下步骤:

(1)获取训练样本:将常见害虫图像作为目标样本训练得到预检测器,利用预检测器先对目标样本进行预检测得到基本特征值,按基本特征值将图像分为正样本与负样本;

(2)从训练样本中分别提取正负样本的haar-like特征进行训练:本步骤中的haar-like特征包括边缘特征、线特征、中心环绕特征和对角线特征,对于正样本,分别利用白色区域的像素和减去黑色区域的像素和,得到害虫的各个特征值;对于负样本,分别利用白色区域的像素和减去黑色区域的像素和,得到非害虫的各个特征值;利用haar-like特征将害虫特征量化,以区分害虫和非害虫;

(3)利用adaboost算法训练强分类器和弱分类器;

(4)基于决策数建立haar检测体系:以一张图片作为输入,对图片进行多区域、多尺度的检测,将图片划分多块,对每块进行检测,不断初始化搜索窗口的大小为训练时的图片大小,再扩大搜索窗口,进行搜索,计算每个子窗口的区域特征值,对子窗口图像由筛选式级联分类器进行过滤,将若干个强分类器由简单到复杂排列,通过训练使每个强分类器提高检测率,降低误识率;

(5)利用帧差法对害虫进行定位:首先将相邻帧图像对应像素值相减得到差分图像,然后对差分图像二值化,在环境亮度变化不大的情况下,如果对应像素值变化小于设定的阈值时,认为此处为背景像素,如果图像区域的像素值变化大于设定的阈值时,认为这是由于图像中目标物体引起的,将这些区域标记为前景像素,利用标记的像素区域确定目标在图像中的位置;

(6)使用训练好的级联分类器对害虫进行识别:首先加载级联分类器文件,对由上一步框定的感兴趣区域使用级联分类器进行检测。

进一步地,所述步骤(3)的具体过程为:

3.1创建弱分类器,弱分类器的结构如下面公式所示:

其中,x表示子窗口图像,f表示特征,p指示不等号,θ表示设定的阈值,比较输入图片的各个特征值和弱分类器中的对应特征值,当输入图片的特征值大于设定的阈值时,判定其为害虫,训练弱分类器的过程就是寻找最合适的阈值,使该分类器对所有样本的误判率最低,具体过程如下:

3.1.1、对于每个特征f,训练所有样本的特征值,并按特征值升序排序,扫描一遍排好序的特征值,对排好序的表中的每个元素,计算四个值:全部正样本的权重和t1、全部负样本的权重和t0、在此元素之前的正样本的权重和s1、在此元素之前的负样本的权重和s0;

3.1.2、求得每个元素的分类误差r=min((s1+(t0-s0)),(s0+(t1-s1))),在排好序的表中寻找r值最小的元素,将该元素作为最优阈值,利用该阈值创建最优弱分类器;

3.2创建强分类器,强分类器的创建要经过t轮的迭代,具体过程如下:

3.2.1、给定训练样本集s,共n个样本,其中x和y分别对应于正样本和负样本;t为训练的最大循环次数;

3.2.2、初始化样本权重为1/n,即训练样本的初始概率分布;

3.2.3、第一次迭代训练n个样本,得到第一个最优弱分类器,其中最优弱分类器的训练按照步骤3.1进行;

3.2.4、提高上一轮中被误判的样本权重;

3.2.5、将新的样本和上次错误的样本放在一起进行新一轮训练;

3.2.6、循环执行3.2.4-3.2.5的步骤,t轮后得到t个最优弱分类器;

3.2.7、组合t个最优弱分类器得到强分类器,组合方式如下面公式所示:

其中,x表示子窗口图像,c(x)表示t轮迭代后的最优弱分类器,αt表示第t轮的弱分类器,ht(x)表示表示子窗口图像的haar-like特征值。

进一步地,所述步骤(4)的具体过程如下:

4.1、设定预期达到的检测率、最大误识率和强分类器的误识率;

4.2、利用adaboost算法遍历正样本与负样本来训练具有多个弱分类器的强分类器;

4.3、衡量当前的分类器的检测率与误识率是否达到预期值,降低未达到预期值的层分类器的阈值;

4.4、利用当前的级联分类器检测非害虫图像,将误识的图像放入负样本。

进一步地,步骤(1)至步骤(4)中,在对图片样本或子窗口图像计算特征值时,采用基于积分图的加速算法,只遍历一次图像就能够求出所有区域的像素和。

本发明与现有技术相比,具有如下优点和有益效果:

1、本发明通过级联分类器对训练样本进行迭代训练,获取一个最优分类器,提高了检测精度。

2、本发明采用帧差算法对感兴趣区域进行框定,缩小了识别区域,提高了算法的效率。

3、本发明采用了haar检测体系对分类器进行了过滤,降低了误识率。

附图说明

图1为本发明实施例一种基于级联分类器的害虫识别方法的整体流程图。

图2为本发明实施例haar-like特征的矩形图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例:

本实施例提供了一种基于级联分类器的害虫识别方法,所述方法的流程图如图1所示,包括以下步骤:

(1)获取训练样本:将常见害虫图像作为目标样本训练得到预检测器,利用预检测器先对目标样本进行预检测得到基本特征值,按基本特征值将图像分为正样本与负样本;

(2)从训练样本中分别提取正负样本的haar-like特征进行训练:本步骤中haar-like特征的矩形图如图2所示,包括边缘特征、线特征、中心环绕特征和对角线特征,对于正样本,分别利用白色区域的像素和减去黑色区域的像素和,得到害虫的各个特征值;对于负样本,分别利用白色区域的像素和减去黑色区域的像素和,得到非害虫的各个特征值;利用haar-like特征将害虫特征量化,以区分害虫和非害虫;

(3)利用adaboost算法训练强分类器和弱分类器;

本步骤的具体过程为:

3.1创建弱分类器,弱分类器的结构如下面公式所示:

其中,x表示子窗口图像,f表示特征,p指示不等号,θ表示设定的阈值,比较输入图片的各个特征值和弱分类器中的对应特征值,当输入图片的特征值大于设定的阈值时,判定其为害虫,训练弱分类器的过程就是寻找最合适的阈值,使该分类器对所有样本的误判率最低,具体过程如下:

3.1.1、对于每个特征f,训练所有样本的特征值,并按特征值升序排序,扫描一遍排好序的特征值,对排好序的表中的每个元素,计算四个值:全部正样本的权重和t1、全部负样本的权重和t0、在此元素之前的正样本的权重和s1、在此元素之前的负样本的权重和s0;

3.1.2、求得每个元素的分类误差r=min((s1+(t0-s0)),(s0+(t1-s1))),在排好序的表中寻找r值最小的元素,将该元素作为最优阈值,利用该阈值创建最优弱分类器;

3.2创建强分类器,强分类器的创建要经过t轮的迭代,具体过程如下:

3.2.1、给定训练样本集s,共n个样本,其中x和y分别对应于正样本和负样本;t为训练的最大循环次数;

3.2.2、初始化样本权重为1/n,即训练样本的初始概率分布;

3.2.3、第一次迭代训练n个样本,得到第一个最优弱分类器,其中最优弱分类器的训练按照步骤3.1进行;

3.2.4、提高上一轮中被误判的样本权重;

3.2.5、将新的样本和上次错误的样本放在一起进行新一轮训练;

3.2.6、循环执行3.2.4-3.2.5的步骤,t轮后得到t个最优弱分类器;

3.2.7、组合t个最优弱分类器得到强分类器,组合方式如下面公式所示:

其中,x表示子窗口图像,c(x)表示t轮迭代后的最优弱分类器,αt表示第t轮的弱分类器,ht(x)表示表示子窗口图像的haar-like特征值。

(4)基于决策数建立haar检测体系:以一张图片作为输入,对图片进行多区域、多尺度的检测,将图片划分多块,对每块进行检测,不断初始化搜索窗口的大小为训练时的图片大小,再扩大搜索窗口,进行搜索,计算每个子窗口的区域特征值,对子窗口图像由筛选式级联分类器进行过滤,将若干个强分类器由简单到复杂排列,通过训练使每个强分类器提高检测率,降低误识率;

本步骤的具体过程如下:

4.1、设定预期达到的检测率、最大误识率和强分类器的误识率;

4.2、利用adaboost算法遍历正样本与负样本来训练具有多个弱分类器的强分类器;

4.3、衡量当前的分类器的检测率与误识率是否达到预期值,降低未达到预期值的层分类器的阈值;

4.4、利用当前的级联分类器检测非害虫图像,将误识的图像放入负样本。

在步骤(1)至步骤(4)中,在对图片样本或子窗口图像计算特征值时,采用基于积分图的加速算法,只遍历一次图像就能够求出所有区域的像素和。

(5)利用帧差法对害虫进行定位:首先将相邻帧图像对应像素值相减得到差分图像,然后对差分图像二值化,在环境亮度变化不大的情况下,如果对应像素值变化小于设定的阈值时,认为此处为背景像素,如果图像区域的像素值变化大于设定的阈值时,认为这是由于图像中目标物体引起的,将这些区域标记为前景像素,利用标记的像素区域确定目标在图像中的位置;

(6)使用训练好的级联分类器对害虫进行识别:首先加载级联分类器文件,对由上一步框定的感兴趣区域使用级联分类器进行检测。

以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。

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