基于HOG特征和线性SVM级联分类器的行人检测方法与流程

文档序号:17928381发布日期:2019-06-15 00:36阅读:226来源:国知局
基于HOG特征和线性SVM级联分类器的行人检测方法与流程

本发明涉及一种在智能驾驶环境下利用基于hog特征多分类器集成的级联分类器进行行人检测的方法,主要用于解决无人驾驶环境下道路行驶的安全问题,属于智能驾驶技术和计算机视觉技术。



背景技术:

近年来,虽然在行人检测方面不断涌现出大量的算法及改进技术,并在inria、caltech等公开数据集上进行测试,行人检测的检测精度逐步提高,但是由于行人检测本身存在的一些困难,例如行人的肢体动作变化和行人遮挡等复杂的情况对行人检测造成的影响,所以行人检测依然具有很大的挑战性,同时上述问题也亟待解决。目前在行人检测问题上的方法主要有两种:一是基于传统算法,需要手工设计特征,其设计过程比较复杂;二是基于深度学习算法,包含诸如网络优化、参数调整等一系列工作需要完善。



技术实现要素:

发明目的:为了克服现有技术中存在的不足,本发明提供一种智能驾驶环境下的基于hog特征和线性svm级联分类器的行人检测方法,用于安全、准确、高效的行人检测和行人标记。首先通过智能车身传感器收集行驶环境的行人数据,再根据基于hog和线性svm训练好的级联分类器进行数据的处理以检测出道路上的行人,并对车辆驾驶员提示或通过智能控制达到避开行人的目的。本方法根据行人站立、蹲下、弯腰三种肢体动作特征设计的三种分类器并予以集成,三种肢体动作特征分别作为正样本,在训练其中一种肢体动作特征作为的正样本数据集时,将另外两种正样本和背景图像作为负样本,这样可以得到三个分类器,最后将这三个分类器组合成一个级联结构的分类器,并写入到智能驾驶系统中。智能驾驶系统可以通过上述的级联分类器检测识别行人后再标记行人目标,保证了智能车在行驶过程中进行行人检测的准确性。

技术方案:为实现上述目的,本发明采用的技术方案为:

本发明旨在提高智能车在行驶过程中行人检测的准确性,其关键在于智能驾驶系统中行人检测算法的实时性、高效性、准确性。首先需要收集大量的行驶道路上行人的样本集,将样本集分为正样本集和负样本集。若正样本集为站立的行人,则蹲下的行人、弯腰的行人和背景为负样本集;若正样本集为蹲下的行人,则站立的行人、弯腰的行人和背景为负样本集;若正样本集为弯腰的行人,则蹲下的行人、站立的行人和背景为负样本集。分别计算正样本集和负样本集的hog特征,并分别运用线性svm进行训练,从而得到三个分类器,将这三个分类器组合成一个级联结构的分类器并运用adaboost算法设置权重再次训练。其中,会依据行人在行走过程中肢体动作出现的概率设置三个分类器的权重,行人的某种肢体动作出现的概率越大,权重设置越高。例如站立动作是行人在行走过程中正常的肢体动作,因此以站立的行人为正样本集的分类器设置的权重会较高。然后将训练完成的级联分类器写入到智能驾驶系统中,以智能车辆周围环境中的行人数据为输入,以智能车的智能提示或是智能控制为输出,从而达到避开行人的目的。通过层层检测识别行人后再标记行人目标的安全策略,能够大大降低行人检测的误检率,提高了智能车在行驶过程中的安全性。

一种基于hog特征和线性svm级联分类器的行人检测方法,包括如下步骤:

步骤一:采集站立、蹲下和弯腰三种肢体动作的行人图片形成样本集,将样本集分为三类:

样本数据集t1:将站立肢体动作的行人图片作为正样本,蹲下和弯腰肢体动作的行人图片作为负样本;

样本数据集t2:将蹲下肢体动作的行人图片作为正样本,站立和弯腰肢体动作的行人图片作为负样本;

样本数据集t3:将弯腰肢体动作的行人图片作为正样本,站立和蹲下肢体动作的行人图片作为负样本;

在样本数据集t1、t2、t3中,对每个正样本赋予标签α,对每个负样本赋予标签β;

步骤二:提取每个样本的hog特征;

步骤三:设定初始权重,将样本数据集t1、t2、t3中的正负样本用初始权重先训练出一个svm弱分类器s1;然后根据学习误差率更新权重,将样本数据集t1、t2、t3中的正负样本用更新权重重新训练出一个svm弱分类器s2;然后根据新的学习误差率更新权重,将样本数据集t1、t2、t3中的正负样本用更新权重重新训练出一个svm弱分类器s3;如此重复,直至svm弱分类器的数量达到指定数目;

步骤四:基于adaboost思想将指定数目的svm弱分类器进行权重训练,并集合成一个级联强分类器;

步骤五:使用级联强分类器仅对样本数据集t1、t2、t3中的负样本进行识别,将错误识别的图像加入到负样本难例集中;使用负样本难例集对级联强分类器进行优化训练。

具体的,所述步骤一中,除了采集行人图片外,同时采集背景图片,将背景图片作为样本数据集t1、t2、t3中负样本。

具体的,所述步骤二中,样本的hog特征提取方法为:首先对图片进行灰度处理;然后对灰度处理后的图片进行gamma校正;最后对gamma校正后的图片进行hog特征提取,先将图片分成若干细胞单元,再采集细胞单元中各像素点的梯度或边缘的方向直方图,再将方向直方图组合起来即形成样本的hog特征。

具体的,所述步骤三中,svm弱分类器的训练方法为:将样本数据集t1、t2、t3中的正负样本的hog特征和标签均输入到svm中进行训练,最终训练的结果将保存为xml文件,xml文件的内容包括两个数组和一个浮点数,两个数组分别记为supportvector和alpha,浮点数记为rho。

具体的,所述步骤四中,级联强分类器为:

其中:sk(x)为第k个svm弱分类器,αk为sk(x)的权重,k为svm弱分类器的总数,sign(·)为符号函数,x为数据集;ek为误差率。

采用本发明的智能汽车,在智能驾驶环境下的行人检测方法包括以下步骤:

(1)智能车在行驶过程中,通过摄像头、雷达或是多传感器融合技术感知周边环境,提供周边环境数据并写入到智能驾驶系统中;

(2)智能驾驶系统根据传感器导入的数据,利用上文所述的级联分类器检测识别行人后再标记行人目标,并以图形化的界面向驾驶员展示,或是直接通过智能驾驶系统向智能控制层传递操纵智能车的控制指令;

(3)最后智能车根据智能驾驶系统显示的行人具体位置,提供驾驶员必要的安全性提示,例如:鸣笛示意、发出警报等,或是加以智能控制来避开检测到的行人,例如:变道、加速减速等。

有益效果:本发明提供的基于hog特征和线性svm级联分类器的行人检测方法,相对于现有技术,具有如下优势:1、针对提取行人的hog特征时,行人必须大体上保持直立姿势的局限性,本发明将行人姿势分为站立、蹲下、弯腰三种肢体动作特征,并依此设计的线性svm级联分类器的方法可以显著减少行人检测的漏检率;2、行人的漏检是智能车在行驶过程中出现安全问题的重要隐患之一,通过改善智能驾驶系统中的行人检测算法,提高行人检测的准确率,能够提升智能车在行驶过程中的安全性;3、基于深度学习的行人检测算法虽然效率高,但是该算法对训练的数据量以及车载处理机性能要求都远高于传统算法,因此对传统算法的改进有益于节省智能车的制造成本。

附图说明

图1为hog特征提取算法的实现过程图;

图2为线性svm求解流程图;

图3为adaboost算法的基本思路流程图;

图4为智能驾驶中行人检测流程图。

具体实施方式

下面结合附图对本发明作更进一步的说明。

智能驾驶技术中的行人检测技术,是智能驾驶系统对于给定的图像和视频,判断出其中是否有行人,并且给出行人的具体位置的技术。其关键是行人检测算法,在本发明中,行人检测算法主要经过hog特征提取、svm训练、和级联分类器训练三步完成。相比基于深度学习的行人检测方法,本发明采用基于hog特征和线性svm级联分类器的行人检测方法,可以有效解决因行人肢体动作过大导致识别率降低的问题,其优势更是在于其模型简单,训练方便灵活。

其中方向梯度直方图(histogramoforientedgradient,简称hog)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述值,其本质即梯度的统计信息。其主要思想是在一副图像中,因为梯度主要存在于边缘的地方,所以局部目标的表象和形状能够被梯度很好地描述,因此我们可以通过计算和统计图像局部区域的梯度来构成目标的特征。与其他的特征描述方法相比,hog有本身的优势。例如,在大的空间领域上,我们很难保持图像的几何形变和光学形变的不变性,但hog是在图像的局部方格单元上操作的,所以它对图像几何的形变和光学的形变都能保持很好的不变性。但是hog特征的提取仅适用于粗略的空域抽样、精细的方向抽样以及较强的局部光学归一化等条件下,因此在用hog描述行人的特征时,行人必须大体上保持直立的姿势,若行人的肢体动作过大,例如蹲下、弯腰等,将严重影响特征描述的效果。

支持向量机(supportvectormachine,简称svm)是一个最优分类算法。所谓最优分类,就是要求分类线不但能够将两类无错误的分开,而且两类之间的分类间隔最大,推广到高维空间,最优分类线就成为了最优分类面。svm是利用分类间隔的思想进行训练的,它依赖于对数据的预处理,所以首先需要在更高维的空间表达原始模式,然后在这个高维空间中找到一个非线性映射,这样分别属于两类的原始数据就能够被一个超平面分隔。将数据从原始空间映射到高维空间的目的就是找到一个最优的分类面从而使得分类间隔最大。另外支持向量机算法可以采用不同的核函数,主要的核函数有线性核函数(linear)和高斯核函数(rbf),利用采用线性核函数的svm算法进行训练的分类器为线性分类器,利用采用高斯核函数的svm算法进行训练的分类器为非线性分类器。线性分类器的预测函数简单,分类速度快,而非线性分类器在高维空间时支持向量数会非常多,分类速度远低于线性分类器。因为hog提取的行人特征维数较高,所以选择线性分类器是一个较好的选择。

级联(cascade)结构的分类器是一种高效的分类器,是将若干个简单弱分类器按照一定的次序组合成一个层次型分类器,用以替代一个庞大复杂的整体型分类器。在级联分类器的结构上运用adaboost算法从庞大的特征集中选出一小部分关键特征,通过设置权重训练弱分类器,再根据弱分类器的权重组合成强分类器,最终达到提高检测率的分类效果。

基于hog特征和线性svm的级联分类器的训练,首先计算正负样本图像的hog描述值,组成一个特征向量矩阵,每个特征向量有一个类标向量,类标向量可以表明特征向量的类别;然后利用线性svm的方法进行训练;训练好的三个线性svm分类器保存为xml文件,并运用adaboost算法对三个分类器进行权重训练,形成层次分明的、可以用来进行行人检测的级联分类器。最后结合难例再次训练,所谓难例是指利用第一次训练的分类器在负样本原图上进行行人检测时所有检测到的矩形框,这些矩形框区域都是误报,将误报的矩形框保存为图片,加入到初始的负样本集合中,重新进行线性svm的训练,重新集成。

一、特征提取

样本数据集主要来源inria。获取正样本集,并提取正样本集中行人的hog特征描述值。正样本图像采用96*160像素的站立、蹲下或弯腰的行人图片。使用时,图片的上下左右都去掉16个像素,截取中间的64*128像素的人体图像部分。获取负样本集,并提取负样本集的hog特征描述值,负样本图像可用不含检测目标的图像随机剪裁得到,大小同样是64*128像素。通常负样本数量要远远大于正样本数目。正负样本集分为三类:

样本数据集t1:将站立肢体动作的行人图片作为正样本,蹲下和弯腰肢体动作的行人图片以及背景图片作为负样本;

样本数据集t2:将蹲下肢体动作的行人图片作为正样本,站立和弯腰肢体动作的行人图片以及背景图片作为负样本;

样本数据集t3:将弯腰肢体动作的行人图片作为正样本,站立和蹲下肢体动作的行人图片以及背景图片作为负样本;

在样本数据集t1、t2、t3中,对每个正样本赋予标签1,对每个负样本赋予标签0;

图像的hog特征提取分为两个步骤,如图1所示:

步骤一:图像预处理,是对收集到的图像做颜色空间归一化处理,达到降噪效果;包含两步:

(1)图像灰度化,即对于彩色图片,将rgb分量转化成灰度图像,使用的方法是加权平均值法。首先对图像的三个分量赋予不同的权值,然后进行加权平均,令该值为灰度值,表达式为:

f(i,j)=vr.r(i,j)+vg.g(i.j)+vb.b(i,j)

根据如下设置的权值可以得到最终的灰度化公式为:

gray=0.3×r+0.59×g+0.11×b

(2)gamma校正,在图像亮度不均匀情况下,通过gamma校正,可将整体亮度调高或者降低。gamma校正使用的方法为平方根法,平方根方法的公式为:

y(x,y)=i(x,y)γ

步骤二:hog特征提取

首先将图像分成小的连通区域,把它叫细胞单元。然后采集细胞单元中各像素点的梯度或边缘的方向直方图。最后把这些直方图组合起来就可以构成特征描述值。具体步骤如下:

(1)计算图像横坐标和纵坐标方向的梯度,并据此计算每个像素位置的梯度方向值,求导操作不仅能够捕获轮廓、人影和一些纹理信息,还能进一步弱化光照的影响。

(2)为局部图像区域提供一个编码方法,保持对图像中人体对象的姿势和外观的弱敏感性。

(3)由于局部光照的变化以及前景-背景对比度的变化,使得梯度强度的变化范围非常大,这就需要对梯度强度做归一化。归一化能够进一步地对光照、阴影和边缘进行压缩。

(4)最后一步就是将检测窗口中所有重叠的部分进行hog特征的收集,并将它们结合成最终的特征向量供训练分类器使用。

二、svm训练

将样本数据集t1、t2、t3中的正负样本用初始权重先训练出一个svm弱分类器s1。svm弱分类器的训练方法为:将样本数据集t1、t2、t3中的正负样本的hog特征和标签均输入到svm中进行训练,svm的原理流程图如图2所示;最终训练的结果将保存为xml文件,xml文件的内容包括两个数组和一个浮点数。

然后根据学习误差率更新权重,使得svm弱分类器s1的学习误差率高的训练样本权重变高,这样可以使得这些误差率高的样本在后面的弱分类器中得到更多的重视;将样本数据集t1、t2、t3中的正负样本用更新权重重新训练出一个svm弱分类器s2;然后根据新的学习误差率更新权重,将样本数据集t1、t2、t3中的正负样本用更新权重重新训练出一个svm弱分类器s3。

三、级联分类器训练

运用adaboost算法集成上述步骤产生的三个弱分类器,其基本思路流程图如图3所示。最终将这3个弱分类器通过集合策略进行整合,得到最终的强学习器。adaboost集合策略采用的是加权平均法,最终的强分类器为:

其中:sk(x)为第k个svm弱分类器,αk为sk(x)的权重,k为svm弱分类器的总数,sign(·)为符号函数,x为样本集;ek为误差率。

四、结合难例重新训练

运用自举算法优化上文所述的级联结构的分类器,自举法的基本思想是,首先使用初始负样本集来训练一个模型,然后收集被这个初始模型错误分类的负样本,形成一个负样本难例集,用此负样本难例集训练新的模型。

优化的级联分类器可应用于智能驾驶中的行人检测模块中,包含级联分类器的行人检测模块的工作流程如图4所示。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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