【技术实现步骤摘要】
一种基于分布式大数据平台的行人检测方法
本专利技术涉及机器学习算法并行化领域,特别涉及一种基于spark分布式计算平台的行人检测方法。
技术介绍
传统的行人检测方法采用视频背景建模方法,运动帧差检测法,光流目标检测法,这些方法都是先提取出目标,然后通过分类的方法提取行人。这些方法适合于背景比较简单的场景,但是在背景比较复杂的情况下,提取的目标会出现粘连现象,在分类时将其误认为是其他目标,还有背景收到光照的影响,会将背景误检为目标。基于现有的模型,比如说:快速线性SVM模型,Adaboost检测hog特征模型,卷积神经网络,非线性SVM模型,DPM模型,深度神经网络模型都可以具有相当好的精度,但是问题就是计算速度比较慢,训练模型比较慢。AdaBoost是一种贪婪迭代算法,实现方式如下:首先,AdaBoost算法将训练集中的每一个样本集赋予一个相同的权重W。然后,该算法进行迭代运算。根据每次迭代运算中样本集的分类错误率εt,AdaBoost对训练集中的每一个样本集重新赋予一个新的权重值Wt。Wt是一个与εt相关的函数,即分类错误率εt小的样本集权重值Wt小,反之分类错误率εt大的样本集权重值Wt大。利用重新赋予权值的方法可以成功的使AdaBoost算法聚焦于分类错误率大的样本集,最终使样本集的分类错误率达到设定的合理值。AdaBoost算法针对同一的训练集训练出不同的分类器(即弱分类器),进而把这些弱分类器集合起来,构成一个更强大的分类器(即强分类器)。该算法仅仅要求弱分类器的错误率小于50%(略好于随机猜测),则通过迭代运算整体的分类错误率将以指数的方式降低 ...
【技术保护点】
一种基于分布式大数据平台的行人检测方法,其特征在于,包括以下步骤: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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。