首页> 中国专利> 基于自学习的行人检测方法

基于自学习的行人检测方法

摘要

本发明公开了一种基于自学习的行人检测方法,包括以下具体步骤:首先训练基于AdaBoost的级联分类器作为离线分类器,同时使用一组公开的行人照片训练高斯混合模型,特征编码采用HOG特征和位置信息,接着采用低阈值的离线分类器,对特定场景进行行人检测,并输出候选对象的置信分数,然后挑选高置信分数作为正样本,低置信分数作为负样本,并使用高斯混合模型重新表示候选检测对象,最后使用SVM分类器在线训练一个有判别力的行人分类器,对候选对象进行重新预测,输出概率估计。本发明解决了传统的行人检测方法无法自适应特定场景的问题,对特定场景下的行人检测技术具有一定的推动作用,本发明在识别率方面,比传统行人检测方法有显著提高。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-24

    授权

    授权

  • 2017-07-07

    实质审查的生效 IPC(主分类):G06K9/00 申请日:20170118

    实质审查的生效

  • 2017-06-13

    公开

    公开

说明书

技术领域

本发明涉及智能交通领域下的行人检测方法,尤其涉及的是一种基于特定场景的自学习的行人检测方法。

背景技术

道路交通安全问题已经严重影响经济发展和社会建设,减少道路交通事故的发生和人员伤亡是关系民生问题的重要大事。道路交通安全问题受到行人、车辆、道路等多个因素的影响,由于行人是道路交通的主要参与者和弱势者,因此确保行人安全成为道路安全问题的关键,也是智能交通系统领域的一项重要任务。

行人检测方法是智能交通系统的核心支撑技术,对保障行人安全,减少人们生命财产流失具有深远的影响。在实际应用中,车载行人检测系统要求能适应不同场景的行人检测。目前,国内外研究者、汽车制造商都已经意识到行人检测系统应用的重大经济价值和研究意义,并已提出了明确开始开展汽车自动驾驶研究及应用,但还存在技术缺陷和安全隐患。

行人检测方法主要包括图像处理和机器学习两大类。其中,机器学习中的分类方法是目前采用较多的一种行人检测技术。基于分类的行人检测系统的核心技术是特征提取和分类器设计,它的基本思想是利用大量训练数据训练一个完备的分类器,然后对测试数据进行行人检测。基于分类的行人检测方法在固定场景下取得了成功应用,这种方式属于离线训练方式。如果训练集和测试集来源不同的场景,由于行人特征和姿态变化较大,加上场景的视觉、光照、背景和分辨率等不匹配因素,离线训练的分类器在新场景下分类性能将大大降低。对现有十几个行人分类器的实验结果表明,在INRIA数据集上训练好的分类器,直接用于其他不同场景下的行人检测,漏检率将提高20%到50%。因此,难以训练一个通用检测器适用所有行人场景。

针对特定场景的行人检测,可以重新训练分类器,但是重新标准样本带来的复杂代价是难以承受的。分类器需要大量的训练样本和训练时间才能保证在检测阶段取得良好的检测性能。另外,训练好的分类器参数已经确定,很难适应新场景的环境。因此,设计自适应场景的行人检测分类方法具有一定的研究和应用价值。

发明内容

发明目的:为了克服现有技术中存在的无法自适应特定任务的不足,提供一种基于自学习的行人检测方法,可以任何离线训练的行人分类器适应特定场景,并取得较好的识别率。

技术方案:为实现上述目的,本发明提供一种基于自学习的行人检测方法,包括以下具体步骤:首先训练基于AdaBoost的级联分类器作为离线分类器,同时使用一组公开的行人照片训练高斯混合模型,特征编码采用HOG特征和位置信息,接着采用低阈值的离线分类器,对特定场景进行行人检测,并输出候选对象的置信分数,然后挑选高置信分数作为正样本,低置信分数作为负样本,并使用高斯混合模型重新表示候选检测对象,最后使用SVM分类器在线训练一个有判别力的行人分类器,对候选对象进行重新预测,输出概率估计。

上述步骤中所述离线分类器:训练数据来自任意行人数据集,特征提取采用LBP特征;

所述高斯混合模型:采用INRIA数据集离线训练高斯混合模型,高斯混合模型的参数采用EM算法学习,对每个行人样本,在多尺度图像上提取每个图像块的HOG特征及其位置信息,组成行人样本的一组特征向量;

所述候选对象筛选:设置离线分类器低阈值,利用离线分类器对特定场景进行行人检测,获取候选检测对象及其置信分数,设置两个阈值对所有候选对象进行筛选,获取正负样本集合;

所述在线分类器:对于每个行人样本,利用高斯混合模型重新生成新的特征表示,然后在线训练一个SVM分类器,最后利用SVM分类器对特定场景的候选对象进行重新检测,输出概率估计。

进一步地,所述离线分类器采用OpenCV中的级联分类器进行训练,包括数据集准备和运行训练程序两个部分,其中数据集准备为训练数据:利用opencv_createsamples创建正样本集合,手工准备大量负样本图片;运行训练程序为训练级联分类器:设置特征类型为LBP,采用opencv_traincascade训练级联分类器。

进一步地,所述高斯混合模型包括特征编码和GMM训练两个部分,具体为:

特征编码:针对INRIA数据集中的每个行人图片,首先构建三层高斯金字塔,然后从每层图像金字塔中提取重叠图像块。假定每个行人图片包括N个图像块提取每个图像块的HOG特征hogpi及其位置信息lpi=[xy]T,最终每个图像块的特征编码为fpi=[hogpiT,lpiT]T,所有图像块构成行人样本特征

GMM训练:一个离线训练的高斯混合模型可表示为

其中,K为高斯混合组成的数量,I是单位矩阵,是第k个高斯组成的混合权重,是一个高斯分布,其均值是μk和方差是f是特征编码部分中的行人样本特征;

给定INRIA数据集中的一组行人样本特征χ={f1,f2,...,fM},利用EM算法学习最大化训练集特征的似然函数来学习GMM的参数Θ,表示为

EM算法将求解使用两个步骤交替计算,第一步期望(E)步用来计算对数似然的期望值,第二部最大化(M)步更新参数寻找最大化似然期望的参数值,具体如下:

E步:

其中,是第k个高斯组成生成特征fi的后验概率;

M步:更新参数Θ

进一步地,所述候选对象筛选的具体方法为:利用离线训练的级联分类器对特定场景进行行人检测,为了获取更多的检测对象,设置一个低的检测门限,这也可以保证获取所有的行人图像,但存在大量误报,假设特定场景下所有候选对象为T={ti|i=1,...,M},每个候选对象输出对应的置信分数S={si|i=1,...,M},对置信分数按照降序排序,设置两个阈值λh和λl,分别表示置信分数高的正样本和置信分数低的负样本,定义H和N如下:

H={ti:si>λh,i=1,...,M}

N={ti:si<λl,i=1,...,M}

我们期望有一个平衡的数据集H和N,因此令C=min(|H|,|N|)则

H={t1,...,tC}

N={tM-C+1,...,tM}

C<M/2

进一步地,所述在线分类器的具体方法为:针对正负样本集合H和N,首先利用离线训练的高斯混合模型重新表示正负样本,然后利用LibSVM在线训练分类器,最终利用在线分类器对候选对象ti为正的概率估计。其具体的方法步骤为:

步骤1)特征表示:对于单个行人样本特征表示为利用混合高斯模型进行特征表示,每个高斯组成从特征向量中选择一个对应的特征

对于单个行人样本图片,K个高斯组成选择K个特征,则单个行人样本特征重新表示为[fg1,fg2,...,fgK],最终的行人样本特征只保留HOG特征,去除图像块的位置信息,表示为[hogg1,hogg2,...,hoggK];

步骤2)SVM分类器训练:SVM分类器表示为

其中核函数采用高斯RBF核,公式为

步骤3)SVM分类器预测:利用步骤2)中训练好的分类器对所有的候选对象T={ti|i=1,...,M}进行预测,输出结果为概率估计。

有益效果:本发明与现有技术相比,本发明提出基于自学习的行人检测方法,解决了传统的行人检测方法无法自适应特定场景的问题,本发明可以改变普通的行人分类器适应特定场景,通过离线训练的高斯混合模型重新表示特定场景的候选对象,对特定场景下的行人检测技术具有一定的推动作用,本发明在识别率方面,比传统行人检测方法有显著提高。

附图说明

图1为本发明的结构示意图;

图2为离线分类器训练的流程图;

图3为高斯混合模型训练的流程图;

图4为候选对象筛选的流程图;

图5为分类器训练的流程图。

具体实施方式

下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

实施例1:

如图1所示,本发明提供一种基于自学习的行人检测方法,包括以下具体步骤:首先训练基于AdaBoost的级联分类器作为离线分类器,同时使用一组公开的行人照片训练高斯混合模型,特征编码采用HOG特征和位置信息,接着采用低阈值的离线分类器,对特定场景进行行人检测,并输出候选对象的置信分数,然后挑选高置信分数作为正样本,低置信分数作为负样本,并使用高斯混合模型重新表示候选检测对象,最后使用SVM分类器在线训练一个有判别力的行人分类器,对候选对象进行重新预测,输出概率估计。

上述步骤中所述离线分类器:训练数据来自任意行人数据集,特征提取采用LBP特征;

所述高斯混合模型:采用INRIA数据集离线训练高斯混合模型,高斯混合模型的参数采用EM算法学习,对每个行人样本,在多尺度图像上提取每个图像块的HOG特征及其位置信息,组成行人样本的一组特征向量;

所述候选对象筛选:设置离线分类器低阈值,利用离线分类器对特定场景进行行人检测,获取候选检测对象及其置信分数,设置两个阈值对所有候选对象进行筛选,获取正负样本集合;

所述在线分类器:对于每个行人样本,利用高斯混合模型重新生成新的特征表示,然后在线训练一个SVM分类器,最后利用SVM分类器对特定场景的候选对象进行重新检测,输出概率估计。

实施例2:

如图2所示,所述离线分类器采用OpenCV中的级联分类器进行训练,包括数据集准备和运行训练程序两个部分,其中数据集准备为训练数据:利用opencv_createsamples创建正样本集合,手工准备大量负样本图片;运行训练程序为训练级联分类器:设置特征类型为LBP,考虑到LBP特征的训练和检测速度比Haar特征快几倍,故采用LBP特征,采用opencv_traincascade训练级联分类器。

实施例3:

如图3所示,所述高斯混合模型包括特征编码和GMM训练两个部分,具体为:

特征编码:针对INRIA数据集中的每个行人图片,首先构建三层高斯金字塔,然后从每层图像金字塔中提取重叠图像块。假定每个行人图片包括N个图像块提取每个图像块的HOG特征hogpi及其位置信息lpi=[xy]T,最终每个图像块的特征编码为fpi=[hogpiT,lpiT]T,所有图像块构成行人样本特征

GMM训练:一个离线训练的高斯混合模型可表示为

其中,K为高斯混合组成的数量,I是单位矩阵,是第k个高斯组成的混合权重,是一个高斯分布,其均值是μk和方差是f是特征编码部分中的行人样本特征;

给定INRIA数据集中的一组行人样本特征χ={f1,f2,...,fM},利用EM算法学习最大化训练集特征的似然函数来学习GMM的参数Θ,表示为

EM算法将求解使用两个步骤交替计算,第一步期望(E)步用来计算对数似然的期望值,第二部最大化(M)步更新参数寻找最大化似然期望的参数值,具体如下:

E步:

其中,是第k个高斯组成生成特征fi的后验概率;

M步:更新参数Θ

实施例4:

如图4所示,所述候选对象筛选的具体方法为:利用离线训练的级联分类器对特定场景进行行人检测,为了获取更多的检测对象,设置一个低的检测门限,这也可以保证获取所有的行人图像,但存在大量误报,假设特定场景下所有候选对象为T={ti|i=1,...,M},每个候选对象输出对应的置信分数S={si|i=1,...,M},对置信分数按照降序排序,设置两个阈值λh和λl,分别表示置信分数高的正样本和置信分数低的负样本,定义H和N如下:

H={ti:si>λh,i=1,...,M}

N={ti:si<λl,i=1,...,M}

我们期望有一个平衡的数据集H和N,因此令C=min(|H|,|N|)则

H={t1,...,tC}

N={tM-C+1,...,tM}

C<M/2

实施例5:

如图5所示,所述在线分类器的具体方法为:针对正负样本集合H和N,首先利用离线训练的高斯混合模型重新表示正负样本,然后利用LibSVM在线训练分类器,最终利用在线分类器对候选对象ti为正的概率估计。其具体的方法步骤为:

步骤1)特征表示:对于单个行人样本特征表示为利用混合高斯模型进行特征表示,每个高斯组成从特征向量中选择一个对应的特征

对于单个行人样本图片,K个高斯组成选择K个特征,则单个行人样本特征重新表示为[fg1,fg2,...,fgK],最终的行人样本特征只保留HOG特征,去除图像块的位置信息,表示为[hogg1,hogg2,...,hoggK];

步骤2)SVM分类器训练:SVM分类器表示为

其中核函数采用高斯RBF核,公式为

步骤3)SVM分类器预测:利用步骤2)中训练好的分类器对所有的候选对象T={ti|i=1,...,M}进行预测,输出结果为概率估计。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号