APP下载

基于视频分析的公交客流统计系统的研究

2018-07-13闫江南崔育帅

软件 2018年6期
关键词:站台客流公交

闫江南,杨 帅,崔育帅

(天津工业大学 计算机科学与软件学院,天津 300387)

0 引言

(1)研究背景及意义

日益突出的交通问题,使得我们越来越意识到优化调度的方法存在滞后的毛病,除却提高公交出行比例外,思考如何提高实时数据处理是极为重要的。因此一款智能交通系统的设计变得十分有意义,我们通过采集各个路段不同公交线路,车站站牌的人流量,加以不同时间段,季节分析,可以得到多维度的测量数据,利用系统去进行统计分析,从而对客流调度、乘客行为预测、商圈规划都迈出了战略性的一步。

通过建立正确的模型来分析客流特征,并用所嵌入的高清摄像头进行人群信息采集,实时地进行数据回传,利用改进的算法可以大幅提高人数统计的精确度,从而满足城市公交的智能化发展。

(2)国内外研究情况

1. 国内情况

国内的统计情况可能略显单薄:一是人工跟车法,二是驻点式目测客流调查法[1]。这两者无疑都消耗了巨大的人力、财力,而且还有可能造成统计上的不准确,数据上的偏差等等,具有强烈干扰性。

2. 国外情况

关于西方国家常用的测重技术、红外技术、图像技术,以下是一些阐述:

①车辆测重计数器:空气弹簧的气路上安装有压力传感器[2],通过检测气囊的压缩程度,对比支撑截面与温度补偿,倾斜补偿等等数据换算成重量,再进行计数。

②红外线客流计数器:利用红外光幕通过发射头向区域外发散定波波长的红外线,之后用传感器收集反射回来的光线,从而可以识别上下车的方向,达到统计人数目的。

③3D传感客流计数器:图像识别与前两种相比要显得较为高端一些,同样是通过传感器检测,不同的是扫描人体轮廓进而得出立体的人体数据,再参照立体反射面的驼峰形状,进而用单片机计算,从而判断出人数。

(3)总结比较

传统的采集方法及弊端:

调查周期,后期维护,实时程度这每一项都是人工调查的硬伤,如果再加上天气等不可控因素,就会导致调度人员无法做出准确的反馈。而对于压力侧重计数这种方式,有着不能判断上下车方向、多人情况偏差、可维护性差的缺陷。另外由于红外设备的造价高昂,并且军民一体可能引发技术敏感问题,所以导致其在具体应用上受到很大限制。

由此可知,传统的采集方法很可能无法满足当下的管理需求,如果使客流信息化,可统计性是亟待解决的问题。因而在本系统中运用了车载设备来解决这个难点。

本系统将通过在公交车前后门的上部嵌入摄像头,利用传感器检测从乘客身上反射回来的光线以及对乘客进行一系列操作,包括形体捕捉和特征提取[3],从而识别并统计乘客上下车方向及人数。这种方法可以有效地规避环境光线,温度等影响,对于识别多人,同反向,滞留等状态具有较强的干扰性与极高的识别度。

1 系统设计

1.1 系统概述

本系统的主要功能是基于移动端出行记录数据与摄像头定点数据的反馈采集,数据库的存储策略主要分两条信息网,一是以个人发散的轨迹网,二是以站台反馈的数据网,人群与站台属于交界点的两个直观审查元素,又相互耦合,所以选择一条出行记录作为记录分子:

图1 记录分子所记录的内容Fig.1 Recorded contents of molecule

1.2 系统功能

记录分子的数据来源于移动端出行的记录,系统通过对用户的上车点与下车点进行监控[4],每当用户发出一条导航信息或者查看到站信息的时候,会对当前用户基础信息、地理信息、站台及线路等字段进行时间戳标记,方便对区域断面数据做出整理统计。其主体功能由三部分组成:

(1)到站提醒

所谓移动导航,目前只有两种:GPS定位和基站定位[5]。GPS定位是通过 GPS卫星锁定手机的GPS芯片,这是最准确的定位方法,误差理论上可以达到一米的距离。同时基本上所有的软件都是可以用GPS导航的。而基站定位则是通过手机的移动数据获取周围的基站从而锁定乘客的位置。这个误差就很大,所以不能用这个导航。本系统中,把每一条公交线路抽象成一条线,线上的每个节点当作公交站台。当乘客所在位置快到公交站台的时候,当作一个阈值范围,并以手机广播(broadcast)的方式进行消息推送。

当本系统在开发需要和服务器交互的应用程序时,基本上都需要获取服务器端的数据,一般来说有两种方法:第一种是客户端使用 Pull(拉)的方式,也就是隔一段时间就去服务器上获取一下信息,看是否有更新的信息出现。第二种就是服务器使用Push(推送)的方式,如果服务器端收到新信息,则把最新的信息Push到客户端上。这样,客户端就能自动的接收到消息。

(2)地图导航与POI检索

对用户而言,POI的存在,能快速找到目的地从而便捷出行。实现区域检索大致分为以下几个步骤:

①根据点的坐标信息,分配到全国的区县行政区划中去;

②对于每个行政区划中的点数据,以行政区划多边形和点集为对象,建立Voronoi图;

③记录 Voronoi图面积最小对应的点,并认定其重要性最低;

④最后删除重要性最低的点,再次建立 Voronoi图[6]。

这样就可以理解为将所有的点要素数据做一个重要性框选与排序。与此相比,导航只需要获取到起点和终点的经纬度信息,然后分别把起点和终点当做这条导航路线的两个节点,并把这两个节点加入到一个节点集合中去,然后再把该集合传入到一个路线规划监听接口类中,该接口类会根据内部封装的路径算法,然后再把各个途径各个节点加入到该集合中。如是再三,就可以确定每一个点的重要性信息。其构造过程分为三个步骤:

①发起算路:算路设置起、终点,算路偏好,是否模拟导航等参数,然后在回调函数中设置跳转至诱导。

②开始导航:创建诱导View,并接收回调事件。在activity生命周期内调用诱导BNRouteGuiderManager对应的生命周期函数。核心代码为:

@Override

protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);createHandler();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {}

View view = BNRouteGuideManager.getInstance().onCreate(this, new OnNavigationListener() {

@Override

public void onNaviGuideEnd() {

finish();

}

@Override

public void notifyOtherAction(int action-

Type, int arg1, int arg2, Object obj) {

}

});

③直至最后设置播报模式即可成功规划线路。(3)拥挤度呈现

该功能基于乘客起始点的地理位置,对周围不同范围内的公交线路进行信息回传,随信号点位置大小排列,拥挤度利用传统的红绿黄三色对用户进行必要提示。

客流统计是系统实时采集数据的根本,其来源于车载摄像头的实时分析,通过计算每个站台视频画面中人数的流量从而对车上拥挤度进行准确判断。而精确度的关键在于摄像头所识别出的人数是否与实际匹配,其度量需要经过三个步骤:目标检测、目标跟踪、乘客行为分析。

目标检测是计算机视觉处理极其重要的一环,其焦点置于所选目标的位置及划定范围,其基本过程与模式识别极为相似,包括了图像数据、预处理、特征提取、分类器训练、目标检测五部分[7],其中的特征提取与分类器训练都是影响最后准确度的主要因素,因此如何让算法得到提升变得极为重要。

以公交车为例,在前后车门各安装一组摄像头,针对人体的头部和肩部进行特征提取,因为躯干部分往往容易在人流密集时期被遮挡,所以将乘客明显特征作为目标正样本,这样会降低肤色、光照、噪声以及阴影的影响。

为了获得真正意义上的边缘前景,增强其干扰性,对当前帧的边缘图像与背景的边缘图像进行了做差计算。之后利用圆检测进行轮廓识别,有效的进行了目标检测,相比其他方法更易于操作,识别率高,为客流统计系统提供了强有力的依据。

1.3 数据分析

一旦记录分子有了数据基础,我们就可以对结果进行统计分析。PC端的主体功能为:实现对用户数据、站台数据、迁徙路线的可视化分析,可以为决策者提供管理结局方案。

但是我们从什么角度进行数据分析呢?众所周知,公交客流受到诸多因素的影响,预测时段越短,客流特征变化的随机性和不可预测性就会越强[8],只有找出短时客流变化中最具相关的影响元素,才能去做行为预测。

为了对数据进行合理评估,本系统根据车载摄像头采集的客流数据,将上车人数记为点 E,将下车人数记为点 O,预计到站记为点 S,到站时间记为点 T,标记站台的断面客流量,分析周围商圈记录人群的趋向,从而利用车载摄像头采集的数据和GPS结合来对日时段、周时段、月时段的变化规律做出有效归纳,为公交调度提供良好的解决方案。

图2 记录客流数据的模拟图Fig.2 Simulation graph of recording passenger flow data

2 实验

(1)数据推送部分

系统中使用移动通讯的云巴服务进行开发。Android SDK会启动一个后台的Service,创建并保持到服务器的长连接,从而保证了消息推送的实时性。云巴采用MQTT协议,其特点有:二进制,非常精简,适合做大量节点弱网络差的场景,适用于现有移动互联网的基础设施;MQTT是天然的订阅发布系统,有权限的人都可以发消息;开源的协议和实现;扩展方便且轻量级。因为协议精简,相比XMPP本身标签和编解码不耗费流量,使用云巴做实时通讯在节省流量的同时也减少了耗电。

图3 数据推送流程图Fig.3 Data push flow chart

(2)线路规划部分

百度Andriod 导航SDK为Android移动端应用提供了一套简单易用的导航服务接口,本系统引入地图与POI功能对用户的使用习惯进行记录,用户可以将随行地点收藏至常用地,利用历史检索进行sug建议。针对个性化出行模式引入线路方案推荐,从而节省了用户的时间成本。

(3)实时公交部分

图4 线路规划部分成果图Fig.4 Partial results graph of line planning

本系统用到站距离与估测时间提示乘客合理安排自己的时间,以便能够及时乘坐相应的公车线路。对于拥挤程度本系统加入了信号灯标识车上的人数,用户可通过处于[红色,黄色,绿色]区间的颜色做出判断是否乘车,一方面便利了民众出行,另一方面有效地降低了交通拥堵发生的概率。期间设置了一个时间阈值,利用站台与站台所用时间做方差,限制请求频率,及时地为乘客推送更新的线路信息。

图5 实时公交部分成果图Fig.5 Partial results graph of real time bus

(4)数据分析部分

按理来说只有单调的数据是无法为公交调度呈现出直观参考的,为此本系统推行的方向是数据可视化,其主要旨在借助于图形化手段,清晰有效地传达与沟通信息。ECharts作为国内应用最广泛的前端可视化生成工具,提供了丰富的图表展现方式和便捷的图表操作。

本系统通过对时节分段、线路分流的统计方法对所手机的信息进行了图表处理,有针对性地选择合适的方案。公交客流的分布特性分析从时间分布特性,人群分布特性及影响因素[9]分析入手。由于线路类型、运营时间、站点数目等的不同,各条公交线路的客流分布必然存在差异,因此有必要根据线路号,对其各个时段的客流量进行进行统计分析,以观察各条线路客流的特征并做对比。

图6 某线路各个时段客流量数据分析样图Fig.6 Analysis sample graph of passenger flow data of each different time section of a line

由于人群早出与晚归流向基本处于相反的一致性,所以在工作日公交客流呈现比较明显的特征,具有时空周期的规律性,给分析带来了极大方便。考虑到用地环境这一因素,根据已有研究,乘客的下车概率会根据途经站点的数量服从泊松分布[10],如公式(1)所示:

其中等式左边的 i站点在上车 j站点下车的概率,λ表示出行途经站点数量,当i站点以后的数量小于平均站点数时,λ = m - i 。

(5)商圈规划

本系统在移动端出行中加入了常用地点及收藏等功能,不仅仅是便利用户体验,更重要的方面在于记录出行因子,用户收藏的常用地点标志着每日的出行轨迹,是用作考量公交调度的重要影响因素之一,由此建立起来的数据报表可以为商圈规划提供参考依据,用户建立的每一条地址条目会被用来做行为预测的自变量,为智慧出行做出隐形的贡献。

3 结论

本文利用了车载摄像头采集的人数流量与GPS数据,加以时间上的同步性,匹配站台、线路,对不同日时段、周时段、月时段进行客流分析,找出了其时空分布的不均衡特性和周期变化规律。在目标检测领域应用了改进的Hough圆变换检测[11]从而提升了算法精确度,利用收集的客流数据为系统的可视化统计提供了强力支持,为视频客流分析领域提供了结合互联网的新思路。

猜你喜欢

站台客流公交
客流增多
寻找93/4站台
一元公交开进太行深处
为黑恶势力站台撑腰的县委常委
人生的站台
等公交
八号站台的那只狗
基于自学习补偿的室内定位及在客流分析中的应用
人工免疫算法在电梯客流时段划分的应用
城市轨道交通运营客流数据分析缺陷及应对