当前位置:首页 期刊杂志

基于OpenCV的地铁车站行人监测技术研究

时间:2024-05-04

刘俊洁

摘   要:近年来,我国轨道交通行业发展迅速,轨道交通线网的规模在逐渐扩大。基于地铁车站服务设施相关规划设计的思想分析可知,车站的整体和各服务设施的设计与车站客流量的实际情况不符,所以行人相关特征数据的获取尤为重要,是科学的行人服务设施规划设计和优化配置的基础。文章采用基于SSD模型行人检测与现常用的基于HOG与SVM特征识别算法比较对行人检测,并利用Kalman滤波算法对行人跟踪,使用OpenCV3.4.7计算机视觉库和MFC对行人监测系统平台进行搭建。

关键词:轨道交通;行人监测;人脸识别;行人跟踪

1    行人检测技术

行人检测是实现行人跟踪以及行人特征数据提取的前提,行人检测效果的好坏会直接影响后续的操作效果。尽管现在有很多用于行人检测的方法,但目标算法仍然不完全成熟,无法应用于所有情况。自2005年起,基于统计学习的行人检测发展迅速,成为热点,郭明玮等[1]详细论述了支持向量机(Support Vector Machine,SVM)的原理、构建目标特征模型的方法以及SVM训练和学习的过程,总结了基于SVM的目标检测方法。如今广泛应用的行人检测框架是使用方向梯度直方图(Histogram of Oriented Gradient,HOG)算法进行特征提取,再训练SVM分类器,但在复杂环境中效果并不理想。自2012年以来,深度学习在图像分类处理中表现优异,现如今,基于深度学习的行人目标检测方法主要有RCNN,SSD和YOLO 3大种类。RCNN的效果最好,但速度慢,实际应用时,实时检测较难,效果较差;YOLO虽然速度很快,但是检测效果不稳定,当检测目标比较小或者目标非常密集时,效果并不理想;SSD既有较快的处理速度,又有比较高的准确性。因此,本文在SSD算法基础上,用地铁行人监控视频数据集训练了一个SSD行人检测模型,并与传统的基于HOG与SVM特征算法进行对比。若图像中出现行人目标,则需要准确标记行人目标并且标记其位置信息,而且需要用矩形边框标记检测到的行人目标,即实现行人目标和背景的分离[2]。

1.1  基于HOG與SVM特征算法实现行人检测

HOG特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述,通过计算和统计图像局部区域的梯度方向直方图来构成特征。

SVM是常见的一种判别方法,在机器学习领域,是一个有监督的学习模型,一般用来进行模式识别、分类以及回归分析,在行人检测中可以用作区分行人和非行人的分类器。在使用基于HOG与SVM特征算法进行行人检测时,采集HOG特征的主要思想是通过对一幅图像进行分析,其局部目标的表象和形状可以被剃度或者边缘密度方向分布的描述。笔者对图像的各个像素点采集梯度或者边缘的方向直方图,根据直方图的信息可以描述图片的特征。OpenCV中已经提供了计算HOG特征的方法,根据采集到的HOG特征向量,供SVM分类使用。SVM作为一个分类器,在行人检测中可以转化为行人与非行人的两类分类问题,在OpenCV中运用到的是基于网格法的SVM。使用采集到的正样本(行人)和负样本(非行人、汽车、树木、路灯等)的HOG特征,然后使用SVM分类器进行训练,得到行人检测模型,进行行人检测,其算法原理如图1所示。

1.2  OpenCV中的深度学习人脸分类器

深度神经网络(Deep Neural Networks,DNN)是深度学习的基础。OpenCV自3.1版本就加入了DNN模块,到3.3版本时,对DNN做了很大改进,将DNN模块由contrib提升到了正式代码块中。目前,该DNN模块支持加载训练好的模型,并执行向前传播过程(即预测)。

现在深度学习最常用的3大框架是Caffe,TensorFlow和Torch/PyTorch。在3大深度学习框架的基础上可以非常简单地实现很多功能,如图像分类、对象检测、图像分割、预测等。

OpenCV提供了两种不同的模型:一种是16位浮点数的caffe人脸模型(5.4 MB),另一种是8 bit量化后的TensorFlow人脸模型(2.7 MB)。量化是指通过牺牲精度来降低每一个权值所需要占用的空间。通常情况下,深度学习模型会有冗余计算量,冗余性决定了参数个数。因此,合理的量化网络也可在保证精度的情况下减小模型的存储体积,不会对网络的精度造成影响。

本文使用的SSD模型解决了YOLO的缺点,是一种单点探测器,用于多个类别,相较于以前的单点探测器,技术更快,而且更加精确。为了获得较高的检测精度,SSD模型从不同尺度特征图中对不同的数据进行预测,并按纵横比将预测明确分开。这些设计特点导致了简单的端到端训练和高精度,进一步提高了速度与精度的权衡。

1.3  两种算法实验结果对比

以某地铁站上行楼梯监控视频为例,如图2所示,该视频中行人流量较大,视频帧率为3帧/s,总帧数252帧,使用基于HOG与SVM特征算法的人脸检测方法和基于SSD模型行人检测两种方法,行人检测模型的性能评估环境采用Microsoft Visual Studio 2010软件,基于HOG与SVM特征算法检测得到的行人区域用红色矩形框标记如图3所示,基于SSD模型算法行人检测得到的行人区域用绿色矩形框标记其结果如图4所示。图5为样本所属类别的定义。同时利用检测率与误检率两个指标来作为评价指标,其计算公式可参考Liu等[3]的研究,如式(1—2):

基于HOG与SVM特征算法的优缺点都很明显。优点:HOG表示的是边缘(梯度)的结构特征,因此可以描述局部的形状信息。位置和方向空间的量化一定程度上可以抑制平移和旋转带来的影响。采取在局部区域归一化直方图,可以抵消部分光照变化带来的影响,一定程度上忽略了光照颜色对图像造成的影响,使得图像所需要的表征数据的维度降低了。分块分单元的处理方法,也使得图像局部像素点之间的关系可以很好地得到表征。缺点:描述子生成过程冗长,导致速度慢、实时性差,很难处理遮挡问题。相应地,运用到检测视频中。两种算法数据对比如表1所示。

2    行人目标跟踪

行人检测、行人跟踪和行人特征数据提取过程紧密相连,后者以前者为基础。因此,本文以行人检测为基础,进行行人目标跟踪,通过系统提取不同的地铁站行人特征数据[4]。

目标跟踪指的是在图像序列之间创建基于位置、速度等有关特征对应匹配的操作,通常利用目标的点、线或区域等特征在后续的图像序列中进行目标的匹配,是进一步获取目标信息(如人流量、行人速度等)的必要操作。行人的跟踪可以将整体或者部分用于描述行人从而进行跟踪,如跟踪行人的头部或者躯干,根据需求的不同,选择不同的跟踪对象以达到行人跟踪目的。本文的行人跟踪方法是在上文的基础上进行,采用人头部分的跟踪以达到行人的跟踪目的。地铁站作为一个人流量较为集中,行人之间遮挡严重的场所,要想得到不错的效果,需要能够应对遮挡情况的跟踪方法,因此,采用卡尔曼滤波器对行人进行目标跟踪。

卡尔曼滤波器是一个对动态系统状态序列进行线性最小误差估计的算法[5],基本思想是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加权后校正状态变量的估计值,使状态变量估计误差的均方差最小。卡尔曼滤波器包括两个主要过程:预估与校正,其原理如图6所示,数学模型模型如下。

式中,X(k)为状态向量,A(k+1,k)为状态转移矩陣,w(k)为系统噪声,Z(k)为观测向量,H(k)为观测矩阵,v(k)为互不相关的均值为零的高斯白噪声向量,其协方差矩阵:

利用卡尔曼滤波器的理论可得知预测方程以及更新方程,更新方程组为:

预测方程组为:

通过建立运动模型,定义状态方程和观测方程各个参数,就能利用卡尔曼滤波器实现行人运动目标的跟踪。为满足实际应用需要,其多行人目标跟踪流程应如图7所示,为了验证此方法,本文将介绍软件的实现以及系统搭建。

3    系统设计以及软件实现

本文研究主要以地铁站内的视频监测系统为载体,进行行人目标检测,从而获得所有与特定站内规划设施相关的行人特征数据(包括人流量、行人速度),本项目视频选用地铁站的监控视频,若要提取行人的物理速度,需要监控摄像头的安装角度,每个像素与实际长度的比例等,因此,将y方向行人移动的平均像素作为检测速度。该系统包括视频采集与存储、视频检测、结果存储3大功能模块,系统的总体架构如图8所示。

微软基础类库(Microsoft Foundation Classes,MFC)是微软公司提供的一个C++类库,是一种常用于系统界面实现的工具。本文利用此工具达到了监测系统的目的,检测系统的主要界面如图9所示。该系统的功能包括以下几方面:

(1)查看监控视频文件。点击右侧“选择视频”按钮,打开视频存储的本地文件夹,选中视频文件。

(2)对视频文件进行行人检测。选中视频文件后点击“开始处理”,在界面上的picture控件内对行人检测的结果以视频画面逐帧播放。

(3)查看行人特征数据。在视频监测时,系统界面右下角会有行人的特征数据实时显示。

4    结语

本文主要运用OpenCV计算机视觉库,设计了一个地铁站行人微观行为数据监测的软件系统,运用图像处理方法处理视频图像,在OpenCV的环境下,用C++语言实现。通过深度学习与传统行人目标检测方法对比,根据得到的数据对比讨论合适的图像处理的方法,并通过卡尔曼滤波器实现行人的跟踪,利用针对性的软件代码编写和检测系统交互界面的设计。最终实现的系统具有查看监控视频文件,对其进行行人数据检测、提取,并在交互界面上显示。运用自行采集的视频对系统进行实验,结果证明该系统能够实现预期功能。

[参考文献]

[1]郭明玮,赵宇宙,项俊平,等.基于支持向量机的目标检测算法综述[J].控制与决策,2014(2):193-200.

[2]石伟龙.基于视频的行人检测和跟踪[D].重庆:重庆邮电大学,2017.

[3]LIU W,ANGUELOV D,ERHAN D,et al.SSD:single shot multibox detector[C].Amsterdam:European Conference on Computer Vision,2016.

[4]田仙仙,鲍泓,徐成.一种改进HOG特征的行人检测算法[J].计算机科学,2014(9):320-324.

[5]REYNA R A,MICHEL C.Segmenting images with support vector machines[J].International Conference on Image Processing,2002(6):820-823.

Abstract:In recent years, Chinas rail transit industry has developed rapidly, the scale of rail transit network is gradually expanding. Based on the analysis of the relevant planning and design of subway station service facilities, the overall design of the station and the design of various service facilities are not consistent with the actual situation of station passenger flow, so the acquisition of pedestrian related characteristic data is particularly important, which is a scientific planning and design of pedestrian service facilities and is excellent, its the basic of configuration. In this paper, the depth learning face classifier based on OpenCV is compared with the commonly used feature recognition algorithm based on hog and SVM to detect pedestrians, and Kalman filtering algorithm is used to track pedestrians, and OpenCV3.4.7 computer vision library and MFC are used to build the system platform.

Key words:rail transit; pedestrian monitoring; face recognition; pedestrian tracking

免责声明

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