基于人体运动学与聚类分析的公交客流量统计
2021-01-18向怀坤
向怀坤
(深圳职业技术学院,深圳 518055)
0 引言
随着“公交都市”建设的不断深入,城市公共交通的调度管理信息化水平被赋予了更高的要求,而公交客流的自动统计正是满足这一要求的重要技术举措。城市公交乘客人数统计成果不仅是衡量交通运输部门效率的一个关键标准,也是交通运输服务部门制定计划、安排行程和进行预测的重要依据[1-3]。公交客流计数方法由传统的人工计数发展到现在的自动计数,既降低了成本又提高了计数精度。调查表明,目前可用于公交客流自动计数的方法主要包括:图像处理技术、红外监测技术以及压敏踏板检测技术三种[4-10]。其中图像处理技术的精度受光照及运动物体的影响较大,红外监测技术很难分辨多人同时上下车的情况,压敏踏板检测技术无法同时检测多人上下车。这些技术由于均存在一定的局限性,因此在目前的公交客流信息管理中没有得到广泛应用。本文提出并实验研究了一种基于人体运动学原理及谱系聚类分析的接触式传感器阵列乘客计数方法,通过人体踩踏传感器时获取脚型信号,将信号传送到控制器进行处理。此种方法可以涵盖进出车门的多种行为模式,实现乘客人数及其走向的实时辨别,可以较好地适应我国城市公交客流统计的工作环境要求。
1 公交客流数据采集及预处理
1.1 数据采集系统
公交乘客脚型高灵敏度开关式栅格阵列传感器数据采集系统是笔者自主设计研发的一款接触式公交客流采集系统[4]。该系统由前端客流传感器单元、车载处理器单元和车载GPS/4G终端控制机三部分构成。其中,前端客流传感器单元即前、后门乘客上、下车传感器检测模块,主要包括敏感元件、高强度玻璃纤维、传感器阵列及相关辅件,核心任务是准确采集乘客上、下车行为数据,为了减轻后面的数据处理压力,该单元内嵌了基本的数据预处理模块。车载处理器单元即数据处理模块,由数据处理芯片及相关元器件组成,负责接收前端客流传感器单元的数据,并进行乘客上、下车行为的检测、分析、判别和客流量统计工作。车载GPS/4G终端控制机即数据通信及辅助数据处理模块,主要是实现车载端与城市公共交通的调度管理中心之间的数据通信,其中GPS用于车辆定位,辅助开展公交客流量分析。图1给出了该公交客流数据采集及预处理系统的基本结构。
图1 公交客流数据采集及预处理系统构成
在公交客流数据采集及预处理系统中,乘客上、下车的数据采集、数据处理方法是整个系统需要研究解决的关键技术问题。其中包括脚型数据采集、脚型数据修订、运动方向判别等数学模型与算法设计,总体而言这些工作属于计算机处理的内容,为了准确判别乘客上下车行为,本文提出根据人体运动学原理以及聚类分析方法,来分析判定上下公交车门的乘客数量及其运动方向,从而达到客流计数的目的。
1.2 数据预处理
1.2.1 数据采集模型
通过前端客流传感器单元[4],可以获得脚型数据为一网格点阵(如图2所示),脚型位置和大小取决于所占的网格坐标以及网格数。以两位数组G[line][col]表示每一个传感器的网格阵列,总的行数由line表示,总的列数由col表示,其中每一个感知点j<col)表示第i行第j列的传感器点,可以将其称为触点。如果某个触点被踩下,则其数值置为数字0,如果该触点未被踩下,其值置为数字1,对应于图2所示概念模型,即表示某触点是否属于所判断图像内的点。
1.2.2 脚型数据存储
当乘客上、下车经过客流传感器单元时,双脚触点会在传感器上形成一系列的时序感知数据。一方面,这些感知数据会随着接触的时间而变化,另一方面,因接触面的改变这些感知数据集的大小规模也会发生变化,整体上呈现出稀疏分布。本文在兼顾稀疏分布和时序分布两个特征的基础上,考虑到后期数据解译的便利性,通过参考脚型运动规律和图像栅格数据压缩模式,提出基于RLE(行程长度编码)的数据存储算法,具体实现是将脚型采样数据存于数组G中,如果其中某数据项d在输入流中连续出现n次,则以单个字符对nd替换n次出现者,这n个连续出现的数据项叫做游程 n,最后得到[1,n1,n0,n1…]系列数据,由此解决了客流传感器单元采集数据的存储问题。
图2 脚型数据采集模型
1.2.3 脚型数据修订
依次扫描方阵坐标系中的每一行及每一列,并对所采集到的脚型数据阵列进行行列数据修订。具体修订原则如下:
列扫描中,提取踩下点0开始的网格位置坐标(xi,yk)及 0结束的位置(xj,yk),存储在数组P={(xi,xj)} (0<i,j<line)中,数组P中的每一个元素对应一个连续0序列,并对相同列的连续0进行分析,整合原则是针对同一列,若是(xi-xj)≤6,则将这点(xi,yk)与点(xj,yk)之间的所有触点置零补齐。
同理,在行扫描中,提取踩下点0开始的位置(xk,yi)及 0结束的位置(xk,yj),存储在数组P={(yi,yj)} (0<i,j<col)中,数组P中的每一个元素对应一个连续0序列,并对相同列的连续0进行分析,整合原则是对同一列,若是(yi-yj)≤3,则将这点(xk,yi)与点(xk,yj)之间的所有触点置零补齐。
数据修订中所采用的6和3为经验数据,可根据不同的情况进行修改,修订前后的可视化对比结果如图3所示。
图3 脚型数据修订前后结果对比
2 基于人体运动学原理与谱系聚类分析的脚型及方向判别算法
2.1 基于人体运动学原理的运动特征分析
由人体运动学原理可知,对于正常人体的运动而言,其自身位置的移动主要依靠腿和脚的前后左右交替轮回运动,从而产生了人体位置的变化。在此过程中,身体的重心也在两腿之间不断转换,由此表明人体的运动实际上是接受重心和移出重心的过程。从腿的角度可分为动力腿和摆动腿,从脚的角度可分为重心脚和非重心脚。当身体前行时,重心由重心脚(支撑脚)转移到另一只脚(非承重脚),在此移出重心和接受重心的过程中,必定有一个很短暂的时间,让无重心的脚抬离地面未做任何重心转换[4-9]。
基于上述原理并经过大量实际数据分析,我们对公交车乘客的上下车行为规律进行了总结,得出如下三类基本的运动规律。
2.1.1 上下车人体的双脚距离特征
人体的双脚距离特征是指在人体静态或运动过程中,人体的空间占有率决定一个人的两脚之间必定拥有某一个空间距离,这是基于人体的基本构成决定的。基于该距离特征进行实测数据分析,可以较清晰准确地获取相应的客流参数。
2.1.2 上下车脚型分离的时序特征
绝大部分情况下,对于上车或下车而言,乘客都是采用脚掌前端最后离地的运动模式,这一点在台阶上表现得最为明显。由于上下车人体运动存在空间上的高度变化,与简单的平面位移具有较大的区别,这种运动特征可以有效地辅助对前后脚的运动时序进行分离。
2.1.3 前后门上下车通道的时空特征
根据实测数据分析可知,多人同时上下车时,需要综合分析前后门通道的空间特征。前门通道一般较窄小,故在指定时间内让乘客优先上车或下车;后门通道一般较宽敞,可同时允许乘客上下车。无论是上车还是下车,通道上的脚型方向及其时序都呈现出明显的频谱效应,这为多人同时上下车时的脚型判别提供了有效特征。
2.2 基于谱系聚类法的脚型分离
聚类分析是多元统计分析的一种,也是非监督模式识别的一个重要分支。它直接比较各事物之间的性质,将性质相近的归为一类,将性质差别较大的归入不同的类。从实现方法上分,聚类分析可大致分为四种类型:谱系聚类法、基于等价关系的聚类方法、图论聚类法和基于目标函数的聚类方法等[7-8]。
在此给出聚类分析的一般性原理。设X={x1,x2,…xn}是待聚类分析对象的全体(称为论域),X中的每个对象(称为样本)xk(k=1,2,…,n)常用有限个参数值来进行刻画,每个参数值刻画xk的某个特征。由此每个对象xk将伴随一个向量P(xk)=(xk1,xk2,…,xks),其中xkj(j=1,2,…,s)是xk在第j个特征上的赋值,P(xk)称为xk的特征向量或模式矢量。聚类分析就是分析论域X中的n个样本所对应的模式矢量间的相似性,按照各样本的亲疏关系把x1,x2,…,xn划分成多个不相交的子集x1,x2,…,xc,并要求满足下列条件:
样本xk(1≤k≤n)对子集(类)Xi(1≤i≤c)的隶属关系可用如下的隶属函数表示为:
上式中,隶属函数必须满足条件μik∈Eh。换言之,要求每一个样本能且只能隶属于某一类,同时要求每个子集(类)都是非空的,这样的聚类分析为硬划分。
在上述聚类分析原理基础上,本文采用聚类分析中的谱系聚类法进行脚型分离,其主要思路是在一般聚类分析流程基础上,将模式样本按距离准则逐步聚类,类别由少到多,直到满足合适的分类要求为止。
2.3 乘客脚型及上下车方向判定
图4是单脚踏过传感器时的脚型变化分布图像。图幅长23单位,宽30单位,选取所采集的3帧典型数据的图像,分别是图 4(a)、图 4(b)和图 4(c)。
图4 单脚踏过传感器时的脚型变化分布图
脚型判别算法中,为识别出乘客上下车方向,将采集到的每一帧数据用矩形包围起来,并确定矩形的绝对脚头方向,由此可通过最后一帧数据的矩形框离脚头方向的远近来判定乘客的上下车方向。通过上下车所采集到的脚型图像对比可知,若离脚头方向近则判定为上车,否则判定下车。
2.4 基于谱系聚类法的公交客流量统计
公交乘客在上下车时,由于前门窄小,在指定的时间内,优先下车,再上车,而后门相比之下较为宽敞,乘客一般可同时上下车,要准确判别出上下车的人数,必须进行多只脚的分离。根据人体双脚基本构成的分析可知人的双脚之间的距离取决于人体在空间的占有率。调查发现,约99%的乘客都符合这样的双脚距离原则。本文采用谱系聚类法对踏板上的多只脚印进行分类识别。具体识别算法如下[4]:
通过依次扫描如图2所示坐标系中的每一列被感知数据,找出列中连续的最左边与最右边,分别加以数据读取标记,再根据编辑确定脚印所在的列宽,将其记为一个脚印区域(夹在左右边界之间的部分),同时根据脚印区域的个数来确定脚型的个数,如图5所示。其中,列连续是指图形P的第j列与第j+1列都有点属于P,则称第j列与第j+1列为列连续。确定脚型的过程是确定脚印所占区域的左右边界的过程,该图形时间占据了网格中的哪些具体的点并不重要。因此,对同一列上的点按位相或运算,公式为,若 g值为真表示该列中有点属于图形区域P,为假则该列属于空白区域。通过接触数据集T(其值为0或1)与g的值,合并判断脚印的左右边界。当g=0时T由1变为0,当前列j为脚印P的左边界则P.left_edge=j;当g=1时T由0变为1,则前一列j-1为脚印P的右边界,即 P.right_edge=j-1。
当乘客脚型区域显现时,不同的脚之间会有一定的空白区域,据此可进行脚型分离识别和方向判定。对于乘客脚型及上下车方向判定,有惟下几种处理情况:
(1)单只脚印:根据脚印的方向性直接进行上下车人数累加。
(2)两只脚印:根据人体运动学原理以及同一个人的双脚距离原则,若是同一个人的两只脚,则两个脚印之间的空白区域长度Length<15,即将这两个脚印判定为一个人的上下车;若是两个脚印之间的空白区域长度Length>15,同方向脚印则累计2人次,若是异方向脚印则上下人次各累计1人;
(3)对于多于两个脚印的情况,将两脚之间的空白区域长度Length<10的两个脚印归为一类,其余的脚印则归为另一类,并根据方向判定方法进行上下人次累加,如图6所示。
图5 一只脚判别模型
图6 两只脚和三只脚判别模型
由聚类判定可知:图 6(a)为 1 人;图 6(b)为 2 人;再根据方向判定方法进行上下车人数累加。从而解决客流量统计问题。
3 实验测试及结果分析
为验证系统性能,选择了深圳市101路、226路和382路三条公交线路部分连续站点,进行早(7:30开始)、中(14:30开始)、晚(17:30开始)三个时段跟车对前、后门上、下车乘客数统计情况进行对比实验。每一台公交车5人参与实验,其中3人负责安装设备、看管电脑和现场维护,另外2人分别手持录像机记录前、后车门的上下乘客信息,连续跟车3天完成3条公交线路测试,单程最大样本数146人,全部测试样本数1829人。
表1、表2、表3分别显示了上述3条公交线路在早、中、晚三个时段的实验对比结果,每条线路又分为单向和双向两种情况进行准确率对比。准确率的计算公式为:λ=(1-|(pa-ps)|/ps)×100%,其中λ表示准确率(%),pa表示实验设备的统计值(人),ps表示人工统计的真实值(人)。由三张表可以看出,早上和晚上观测时段的客流量比中午大,表明早晚存在高峰客流量;早上客流统计准确率最低为90.19%,中午最低为91.75%,晚上最低为90.05%,准确率总体上不低于90%;相比之下中午的客流统计准确率整体最好,这表明早晚高峰期客流对统计精度有较大的影响;整体而言,单程的统计准确率低于双向统计准确率,这表明统计过程中的误差呈现出随机性分布,双向叠加导致准确率反而上升了,这需要在后期的研究中加以重视;另外,从实验结果还可以看出,该统计方法的准确率没有出现大的波动,在一定的时段内处于相对稳定的状态。
表1 早上(7:30开始)实验结果分析表
表2 中午(14:30开始)实验结果分析表
表3 晚上(17:30开始)实验结果分析表
4 结语
本文重点研究了基于脚型传感器系统在数据采集、存储,以及脚型识别和客流统计所涉及的一些关键算法问题,具有以下两方面的特点:①在采用行程长度编码压缩采样数据基础上,根据人体运动学原理对脚型数据阵列进行了行列数据修订,为后续的乘客是上车还是下车以及是几个上下车的判别奠定了基础;②在公交乘客上下车的三类人体运动学特征基础上设计了基于聚类分析法的客流量判别与统计算法,实现了对乘客上下车方向的智能化判定和客流量统计。对比分析表明,本文研究成果在公交客流统计的准确率和稳定性方面有较好的改进,具有一定的应用价值。