一种基于分布式大数据平台的行人检测方法技术

技术编号:15725115 阅读:183 留言:0更新日期:2017-06-29 12:36
本发明专利技术提出了一种基于分布式大数据平台的行人检测方法,该方法能够实时处理在线数据,同时还可以将海量行人检测处理结果保存到分布式存储系统HDFS。采用了SVM‑Adaboost的行人检测模型,能够保证检测精度,同时分布式的并行计算模型,大大提升了计算运行速度,解决训练分类器慢,存储硬件不足等问题,非常适用于当前庞大的社会公共场合监控,智能交通的视频实现处理。

【技术实现步骤摘要】
一种基于分布式大数据平台的行人检测方法
本专利技术涉及机器学习算法并行化领域,特别涉及一种基于spark分布式计算平台的行人检测方法。
技术介绍
传统的行人检测方法采用视频背景建模方法,运动帧差检测法,光流目标检测法,这些方法都是先提取出目标,然后通过分类的方法提取行人。这些方法适合于背景比较简单的场景,但是在背景比较复杂的情况下,提取的目标会出现粘连现象,在分类时将其误认为是其他目标,还有背景收到光照的影响,会将背景误检为目标。基于现有的模型,比如说:快速线性SVM模型,Adaboost检测hog特征模型,卷积神经网络,非线性SVM模型,DPM模型,深度神经网络模型都可以具有相当好的精度,但是问题就是计算速度比较慢,训练模型比较慢。AdaBoost是一种贪婪迭代算法,实现方式如下:首先,AdaBoost算法将训练集中的每一个样本集赋予一个相同的权重W。然后,该算法进行迭代运算。根据每次迭代运算中样本集的分类错误率εt,AdaBoost对训练集中的每一个样本集重新赋予一个新的权重值Wt。Wt是一个与εt相关的函数,即分类错误率εt小的样本集权重值Wt小,反之分类错误率εt大的样本集权重值Wt大。利用重新赋予权值的方法可以成功的使AdaBoost算法聚焦于分类错误率大的样本集,最终使样本集的分类错误率达到设定的合理值。AdaBoost算法针对同一的训练集训练出不同的分类器(即弱分类器),进而把这些弱分类器集合起来,构成一个更强大的分类器(即强分类器)。该算法仅仅要求弱分类器的错误率小于50%(略好于随机猜测),则通过迭代运算整体的分类错误率将以指数的方式降低到指定值。Spark是Apache推出的分布式实时计算框架,提供了并行编程模型,用户只需调用相关的API即可完成分布式处理程序,为大数据的处理提供了有利的条件,因此,基于分布式spark实时计算框架的行人检测,能够极大的提供训练速度,图像处理速度,大大改善因为硬件设备导致的精度,速度问题。SVM是一种基于统计学习理论的VC维理论和结构风险最小原理基础上的机器学习系统,主要用来处理二元样本的分类问题,根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折衷,以期获得最好的推广能力。算法采用核函数映射的方法,将原始空间的样本映射到高维特征空间,在高维特征空间内,寻找一个超平面,使此超平面正确分类样本,并且使正负样本之间的间隔最大。在行人检测的过程中,由于拥有的特征数多和训练样本不平衡等问题,使用单一弱分类器的AdaBoost算法容易引发训练时间过长和过拟合等问题。本文针对传统AdaBoost算法的不足,提出利用SVM代替单一弱分类器的AdaBoost算法(SVM-AdaBoost)增强分类器的分类能力。
技术实现思路
一种基于分布式大数据平台的行人检测方法,其特征在于,包括以下步骤:为了能更好的解决海量数据条件下的训练效率问题,本专利技术提出了一种基于分布式Spark实时计算框架,提高SVM-AdaBoost的行人检测并行化计算方法,采用新一代并行计算技术,在不影响训练精度的条件下,提高SVM的训练速度,提高训练效率,实现SVM-AdaBoost在多个节点上并行计算。通过消息采集机制Kafka接收来自行人检测的图像集,启动Spark集群,创建SparkContext。接着图像数据预处理,将正负样本集的图片训练切分成多个子集的和,将图片流生成多个弹性分布式数据集RDD,对每个RDD进行独立计算。hog特征提取首先将图像分为小的细胞单元,然后在每个细胞单元上计算梯度直方图,并使用一种逐块的模式来归一化计算的结果,最后对每一个细胞单元返回相应的特征描述子。本方法采用径向基函数作为SVM的核函数:方法的主要步骤为:步骤1:给定训练集样本S={(x1,y1),...,(xn,yn)},循环次数T,SVM核函数的参数σ={σ1,σ2,...},C={C1,C2,...}.步骤2:设定训练集样本权重:Wi1=1/N,i=1,....,N步骤3:训练一个基于径向基核函数的SVM(RBFSVM)弱分类器。步骤4:计算训练错误率ht:如果ξt大于50%,则返回步骤3,否则进行步骤5.步骤5:根据错误率重置RBFSVM弱分类器的权重ht:步骤6:重置训练样本集的权重i=1,K,N,Ct为归一化参数。步骤7:T次循环或达到指定精确度后,输出训练后的分类器将样本的初始化重用样本所在类的规模来标记,表示为wi=1/Cn,这样稀有类的样本具有较高的权值,在规则抽样中被选中的概率较大,在迭代过程中叫容易被抽到,避免了分类器忽略稀有类的现象。对多类SVM的1-r,轮换将其中的任意一类作为正类,其他作为负类,若有m个类,进行m次以下步骤:(1)w={w=1/Cn|j=1,2,...,n},{初始化N个样本的权值,Cn是样本所属类中样本的个数}(2)令k表示迭代的轮数(3)Fori=1tokdo(4)根据wi通过对D进行抽样(有放回)产生训练集Di(5)在Di上训练基分类器Ci(6)用Ci对原训练集D中的所有样本分类(7)根据计算加权误差(8)ifεi>0.5then(9)w={wj=1/Cn|j=1,2,...N}{重新设置N个样本的权值}(10)返回4(11)Endif(12)根据调整每个样本的权值(13)Endfor从直观上理解,首先,当错误率越大时,分类器的权重越小,这符合一般解释及分类器性能越高置信度也就越大,在最终的表决中所占比重也就越大。其次,在新样本分布的更新过程中,分类正确的样本在下次分类器学习中作用越小,而分错的样本在下次分类器学习中的作用越大,这样可以是新的分类器设计更集中在之前错分的样本分类上,使整体的分类性能提高。附图说明图1分布式行人检测视频检测流程图。具体实施方式为使本专利技术的目的,技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本专利技术进一步详细说明。搭建spark平台集群,使用一台服务器作为Master,4台服务器作为Slaver。其中Master主要记录了数据流之间的依赖关系并负责任务调度以及生成新的RDD,Slaver主要是实现算法的计算和数据的存储。Kafka来接收视频流,通过zookeeper来集群管理spark平台集群,可以达到稳定,提高容错性能。为验证算法的优越性,我们采用具有挑战性的MIT行人库和INRIA行人库两个库的样本,其中MIT行人库包含19240个行人正样本彩色图像,不含负样本,INRIA行人库包含一个训练库和一个测试库,其中训练库包含4416个正样本,测试库包含2126个正样本,本次试验选取其中部分样本作为训练及测试样本,测试样本用来评估训练样本的误检率和漏检率。行人视频流通过Kafka消息采集,接着初始化,启动SparkContext,SparkStreaming。将接受到的图片转换成sparkstreaming,然后按照行人检测框将图片流分成多个RDD来分片处理。RDD弹性数据集中对视频流进行hog特征提取,本专利技术中的样本集的图片64*128像素,hog特征提取后则为3781维描述子。具体特征提取如下:1)灰度化(将图像看做一个(x,y,z)(灰度)的三维图像);2)采用Gamma校正法对输入图像进行颜色空间的标准本文档来自技高网
...
一种基于分布式大数据平台的行人检测方法

【技术保护点】
一种基于分布式大数据平台的行人检测方法,其特征在于,包括以下步骤:S1:通过消息采集机制Kafka接收来自行人检测的图像集;S2:启动Spark集群,创建SparkContext;预处理图像集,然后得到正负样本的图片流,使用行人检测框将图片流生成多个弹性分布式数据集RDD,对每个RDD进行独立计算;S3:将RDD中的数据集通过线性SVM检测算法,来确定对应检测框是否为行人,如果是行人,将检测框的位置保存在新的RDD中;S4:AdaBoost算法迭代循环T个弱SVM分类器,将各个训练得到的弱SVM分类器合成强分类器;S5:所有检测为行人的RDD合并成一个新的RDD,将所有检测框中为同一个行人的检测框合并;S6:在图片上绘制合并后的检测框的位置,并保存至分布式文件存储系统HDFS。

【技术特征摘要】
1.一种基于分布式大数据平台的行人检测方法,其特征在于,包括以下步骤:S1:通过消息采集机制Kafka接收来自行人检测的图像集;S2:启动Spark集群,创建SparkContext;预处理图像集,然后得到正负样本的图片流,使用行人检测框将图片流生成多个弹性分布式数据集RDD,对每个RDD进行独立计算;S3:将RDD中的数据集通过线性SVM检测算法,来确定对应检测框是否为行人,如果是行人,将检测框的位置保存在新的RDD中;S4:AdaBoost算法迭代循环T个弱SVM分类器,将各个训练得到的弱SVM分类器合成强分类器;S5:所有检测为行人的RDD合并成一个新的RDD,将所有检测框中为同一个行人的检测框合并;S6:在图片上绘制合并后的检测框的位置,并保存至分布式文件存储系统HDFS。2.根据权利要求1所述的行人检测方法,其特征在于:采用Kafka消息收集机制,行人检测正负样本集由Kafka消息接受机制,然后由Sparkcontext的RDD接受处理。3.根据权利要求1所述的行人检测方法,其特征在于:所述的步骤S2具体为:(1):构建SparkApplication的运行环境,启动SparkContext;(2):SparkContext向资源管理器申请运行Executor资源,并启动StandaloneExecutorbackend,Executor向SparkContext申请Task;(3):SparkContext将应用程序分发给Executor;(4):SparkContext构建成DAG图,将DAG图分解成Stage、将Taskset发送给TaskScheduler,最后由TaskScheduler将Task发送给Executor运行;(5):Task在Executor上运行,运行完释放所有资源。4.根据权利要求1所述的行人检测方法,其特征在于:所述步骤S2还包括:HOG特征提取方法,具体为:1)灰度化,将图像看做一个(x,y,z)灰度的三维图像;2)采用Gamma校正法对输入图像进行...

【专利技术属性】
技术研发人员:王伟华何昭水谢胜利聂欢易双黄鸿胜周烨王沛涛
申请(专利权)人:广东工业大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1