当前位置:首页 期刊杂志

基于深度学习的人流量监测系统研究

时间:2024-05-04

李傲,宗峰

(山东英才学院工学院,山东济南,250104)

0 引言

随着科技进步和社会发展,计算机视觉技术应运而生,通过计算机视觉技术对人流量大的区域所采集的信息进行相应的处理与分析,可以给管理者们提供有效的数据支撑,做出更为合理的决策方案。

本研究旨在一定的区域内可以根据视频来统计人流量的情况。在一些人流密集的场所,如:景区、车站、商场等,监测一定时间内的人流情况,目的是为了保障公共安全,同时也具有潜在的商业价值[1]。现如今公共场所都装有摄像头,易获取实时的视频情况,采用基于的视频的深度学习与目标跟踪、运动检测的算法[2],既能方便快速的获取数据,又能实时的准确获取相关的数据。系统整体结构如图1 所示。

图1 系统整体结构框图

1 使用Faster-RCNN 进行目标检测

R-CNN 可以说是最早利用深度学习进行目标检测的作品,传统的目标检测算法在目标检测算法的检测准确率一般在百分之30 左右,自从R-CNN 算法出现之后,目标检测的准确率被大幅提高到百分之五十以上。Faster-RCNN 则是在RCNN 的基础上进行改进,速度更快的目标检测算法。

Faster-RCNN 常常用来解决CV 领域里目标检测的相关问题。过去常常使用selective search 产生proposal,再使用SVM 之类的分类器进行分类,以此得到目标。这种方法的弊端就是耗时且效果不佳。而神经网络(NN)具有强大的特征提取的功能,可以用NN 来解决此类目标检测的问题,由此变诞生了Faster-RCNN。

Faster 可以通过神经网络来做region proposal,在fast-RCNN 的基础上使用共享卷积层的方式。卷积后的特征图也可以用来生成region proposals。通过增加两个卷积层来实现Region Proposals Networks,一个用来将每个特征图的位置编码成一个向量,另一个则是对每一个位置输出一个objectness score 和regressed bounds for k region proposals[3]。

■1.1 传统的 RCNN 算法流程

首先利用Selective Search 算法使用图像分割的手段得到一些原始区域,然后使用各种合并策略将这些区域合并,从而可以得到一个层次化的区域结构,我们所需要的物体可能就存在于则和谐结构中。其次,对于每个候选的区域,使用深度网络提取其特征将2000 候选区缩放到227×227pixel,然后将候选区输入实现训练好的AlexNet CNN 网络后去4096 维的特征得到2000×4096 维的矩阵。其次,将这些特征送入每一类的SVM 分类器当中,从而判定类别。将这2000×4096 维特征与SVM 分类器所形成的这20 个SVM 组成的权值矩阵4096×20 进行相乘,获得2000×20 维的平分矩阵。对上述2000×20 维度矩阵的每一列(即每个类别)执行非最大抑制,建议重复的建议框,并获得该列中得分最高的建议框。最后使用回归器精细的修正候选框的位置。对NMS 处理后剩余的建议框进一步筛选。接着分别用20 个回归器对上述20 个类别中剩余的建议框进行回归操作,最终得到每个类型的修正后的得分最高的bounding box。如图2 所示,黄色框口表示建议框Region Proposal,绿色窗口表示实际框Ground Truth,红色窗口表示Region Proposal 进行回归后的预测窗口,可以用最小二乘法解决的线性回归问题。

图2 传统RCNN 算法流程

■1.2 Faster-RCNN 算法流程

Faster-RCNN 在RCNN 的基础上获得了更大的性能上的优化。Faster-RCNN 算法的实现的基本流程是首先将获取到的图像输入到神经网络中从而得到相应的特征图,然后使用RPN 结构生成候选框,从而可以将RPN 生成的候选框投影到神经网络所得到的特性图上获得相应的特征矩阵。将得到的特征矩阵通过ROI pooling 层缩放到7×7 大小的特征图,接着将所得到的这些特性图展平通过一系列全连接层的得到预测的结果(RPN+Fast R-CNN)。Faster-RCNN与其前身Fast-RCNN 算法十分类似,最大的特点便是用Region Proposal Network 来替代SS 算法来实现。

2 使用Meanshift 跟踪器进行多目标跟踪

聚类算法是一种非监督学习算法。聚类是在没有给定分类的情况下,需要去挖掘数据的相似性从而对样本进行分组的一种方法。从理论上来说,相同的数据组中数据具有相同的属性或特征,不同的数据组中的数据则不然。聚类算法一般有五种分类:划分方法(KMeans),层次方法(SAHN),基于密度的方法(MeanShift),基于网格的方法(STING),基于模型的方法(GMM)。本文所使用的方法是基于密度的方法(MeanShift),它是基于密度的方法从密度的角度构造簇类。

MeanShift 算法是一种核密度估计法,它不需要任何先验知识,并且完全依赖于特征空间中采样点的密度函数值的计算。对于一组采样数据,直方图方法通常将数据的值范围划分为几个相等的间隔,并且根据间隔将数据划分为几组。每组中数据数量与总参数数量之比是每个单位的概率值;核密度估计方法的原理与直方图方法相似[4],但是使用了附加的核函数来平滑数据。使用核函数估计方法,在充分采样的条件下,可以逐渐收敛到任何密度函数,即可以估计服从任何分布的数据的密度[5]。

Meanshitf 向量基本形式定义如下:

由于均值漂移算法的快速收敛性,利用mean-shift 对已经标记的人进行目标跟踪,中间通过不断迭代更新行人目标位置并实时标记。

■2.1 Meanshift 算法实现流程

首先,从未标记的数据点中随机选择一个点作为起始中心点center,以找到以该中心点为半径的区域显示在该区域中的所有数据点。我们认为这些点属于同一群集C,并且也是该群集中记录的数据点的数量加1。以center 为中心,计算从center 到集合M 的每个元素的向量,并将这些向量相加以获得向量位移。center=center+shift,重复上述步骤,直到shift 迭代收敛并且迭代的所有点都归为C。当当前群集C 的中心与另一个现有群集C2 的中心之间的距离时,C2 和C 合并在收敛时设置阈值。否则,将C 用作新的群集类。重复直到所有点都标记为已访问。最后,将具有最高访问评分的类别用作当前积分集的类别。

■2.2 基于sklearn 算法库实现创建MeanShift 对象

■2.3 Mean Shift 算法优缺点

Meanshift 算法可以自动的决定类别的数目,不受离异值的影响,没有局部最小值。但是它在高维空间数据下表现不佳,无法指定聚类的数量。

3 实验结果与分析

通过样例视频人流量监测效果。首先,在道路上拍摄一段视频,然后运行程序进行分析,对于人体的正面,背面,侧面以及戴口罩的人体都能正确检测并对目标进行跟踪。对一小段视频进行分析以及目标跟踪,最终得出正确的结果,人流量监测如图3 所示。

图3 人流量监测

通过视频,我们可以根据对目标监测与跟踪预测,最终经过代码根据视频数据分析得出折线图和柱状图,从而直观的了解到此时的人流量情况。此系统可在如商场、景区等人流量较多的公共场所使用,以便于管理人员及时作出决策,防止意外事故的发生,人流量分析折线图如图4 所示。

图4 人流量分析折线图

4 结束语

本文针对人流量监测所用到的主要技术进行阐述,基于深度学习,通过Faster-RCNN 模型进行目标监测,用meanshift 算法对人进行标记,并用跟踪器对行人进行多目标跟踪,并使用CamShift 进行目标跟踪并利用卡尔曼滤波器进行预测,以达到对人流量实时监测的效果。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!