APP下载

社区老年人空间行为轨迹异常分析方法

2021-04-29孟祥泽胡啸峰

科学技术与工程 2021年9期
关键词:轨迹聚类距离

孟祥泽, 胡啸峰*, 沈 兵

(1.中国人民公安大学信息网络安全学院, 北京 100038;2.中国人民公安大学公共安全行为科学实验室, 北京 100038)

老年人在社区室外行动中面临突发疾病(如心脏病)、走失(如阿尔兹海默症患者)等常见风险。调研发现,在大量老年人猝死事故案例中,如果在事故发生后的特定时间内能够快速发现并及时抢救,可以极大地降低死亡概率。当前,社区视频监控普遍存在死角,社区网格员及各类管理服务人员数量有限、工作繁重,难以全天候对社区老年人活动进行安全监控与服务,因此,基于定位装置与轨迹研判的监控方式逐渐受到重视。

目前,中外空间轨迹数据分析研究中,多采用聚类算法挖掘人员行为模式与轨迹序列特征。常用的轨迹聚类算法主要包括:①划分方法,如K均值聚类算法(K-means clustering algorithm,K-means)、最大期望算法(expectation-maximization,EM),该类算法处理大数据集效果较好,但无法识别球形轨迹,赵玉明等[1]将基于Kullback-Leibler散度(Kullback-Leibler divergence)的相似性尺度与聚类方法相结合以提高聚类准确度;②层次方法,如BIRCH(balanced iterative reducing and clustering using hierarchies)[2]、CURE(clustering using representative)[3]算法,优点在于能够适应任意形状的轨迹和不同属性的数据,但计算时间较长;③基于密度的方法,如DBSCAN(density-based spatial clustering of applications with noise)算法[4,5]、OPTICS(ordering point to identify the cluster structure)算法[6],CFSFDP(clustering by fast search and find of density peaks)算法[7-8],优点是能够形成任意形状的簇,但是需要自定义参数,且最佳参数设定需要多次尝试;④基于网格的方法[9],如STING(statistical information grid-based method)[10]、CLIQUE(clustering in QUEst)算法[11],优点是可以处理任意类型的数据,但聚类效果依赖划分的网格单元。由于基于密度的算法可以形成任意形状的簇,并且无需预定义簇的个数,因此在轨迹分析研究中使用的频率较高。

轨迹间的距离度量算法同样是轨迹数据分析中的关键技术,目前常用的轨迹间距离算法包括欧氏距离、豪斯多夫(Hausdorff)距离、最长公共子序列(longest-common-subsequence,LCSS)[12]、分段路径对应距离(symmetric segment path distance,SSPD)等算法。魏龙翔[13]提出了集合Hausdorff距离与LCSS距离的算法。动态时间规整算法(dynamic time warping,DTW)[14-15]适合利用不同采样率和规模的数据进行轨迹间距计算。

目前的异常轨迹检测算法普遍将聚类算法与距离度量算法结合运用,来检验离群轨迹。如异常轨迹检测算法(trajectory outlier detection,TAROD)[16-17]先将轨迹进行分段,然后综合利用基于距离和基于密度的聚类算法检测离群轨迹。基于时间的路网中热门路线的异常检测(time-dependent popular routes based trajectory outlier detection,TPRO)算法[18]提出了一种基于时间的距离度量,并同时考虑了时间和空间的异常。胡瑗等[19]对轨迹进行分段,然后使用主题模型线性判别分析(linear discriminant analysis,LDA)进行局部聚类,最后建立隐马尔可夫模型进行异常轨迹识别。何明等[20]结合DTW和Hausdorff距离两种度量算法,并定义了3种不同的异常模式对异常轨迹进行识别。逄焕利等[21]结合基于轨迹分离的异常轨迹算法(isolation-based anomalous trajectory,IBAT)和DTW算法检测异常轨迹。李旭东等[22]改进了SSPD方法并结合密度峰值聚类算法识别轨迹。胡园等[23]提出了一种基于密度的(radius density-based spatial clustering of applications with noise,RDBSCAN)聚类方法,并结合轨迹密度异常和长度异常识别异常轨迹。考虑到ST-DBSCAN算法[24]与DTW算法可同时兼顾空间与时间信息,使得模型能从时间与空间尺度上综合检测异常轨迹。王雷等[25]通过计算出租车的流量变化来识别交通的异常状况。现拟结合ST-DBSCAN聚类算法和DTW算法来识别异常轨迹。因为老年人行为轨迹存在一定的随机性,某些离群轨迹不一定等同于异常轨迹。而目前大部分异常轨迹识别研究中,大多将离群轨迹等同于异常轨迹。这与实际情况往往存在一定的差异。为描述行人的具体行为,需要从轨迹数据中提取出行为链,如崔洪军等[26]通过建立出行乘客的行为链来描述乘客行为,并使用马尔科夫链模型预测乘客行为。

针对上述问题,首先利用ST-DBSCAN算法和DTW算法分辨老年人的离群轨迹。其次,针对所定义的老年人在社区室外场景下的两种异常轨迹模式:出行轨迹偏离日常轨迹和出行时异常停止或速度异常,识别老年人异常轨迹。再次,结合老年人的背景信息、气象信息进行安全风险分析。最后,结合老年人出行轨迹异常模式、老年人背景信息、气象信息,建立社区老年人异常行为轨迹风险分析模型。

1 算法模型与方法

建立了社区老年人异常行为轨迹风险分析模型,如图1所示。该模型分为2部分:空间异常行为轨迹识别、空间异常行为轨迹风险分析。

图1 社区老年人异常行为轨迹风险分析模型Fig.1 Risk analysis model of elderly people’s spatial behavior trajectory

第一部分为空间异常行为轨迹识别。使用ST-DBSCAN轨迹聚类算法对老年人的空间行为轨迹进行聚类,识别出老年人动态行为链及行为轨迹规律。异常识别模块以两种常见的老年人异常轨迹模式识别为目标(出行轨迹偏离日常轨迹和停留时间过长),利用DTW算法对老年人的动态轨迹进行异常轨迹识别。第二部分为空间异常行为轨迹风险分析。模块综合考虑老年人的异常轨迹模式、老年人的身份属性信息和环境信息等特征,建立老年人的异常轨迹综合风险分析模型,定量化地分析老年人在室外场景下的异常轨迹风险,实现老年人异常轨迹预警。

1.1 空间异常行为轨迹识别

定义了两种老年人的出行异常,如图1中空间异常行为轨迹识别部分所示,模型的第一部分用于识别这两种异常。第一种异常为老年人的出行轨迹偏离日常轨迹,第二种异常为老年人出行时出现异常停止或出现速度异常的情况。

1.1.1 出行轨迹偏离日常轨迹

针对第一种异常情况,首先要确定老年人的日常轨迹,利用ST-DBSCAN聚类算法对老年人的轨迹数据进行聚类,得到老年人频繁访问的地点。连接这些访问热点,得到老年人的日常行为链,即为老年人的日常轨迹。下一步使用DTW动态时间规整算法计算老年人出行轨迹与老年人日常行为链之间的距离。计算每一条出行轨迹与行为链的距离,并求出平均值,将其作为判断出行轨迹是否异常的临界距离。如果某条实时出行轨迹与日常轨迹之间的距离大于平均值,则认为这条出行轨迹是异常的。

利用ST-DBSCAN聚类算法,设存在数据总量为N的轨迹点集{X1,X2, …,XN},预设空间邻域半径为SEPS,时间邻域半径为TEPS,每个聚类簇内最少包含点的个数为 MinPTS。随机选取一个中心点计算空间邻域和时间邻域内点的个数n,如n≥MinPTS则邻域内的点为一个簇,接下来重复此步来寻找同一个簇。DTW算法利用时间序列进行延伸和缩短,来计算两个时间序列之间的相似性。两个时间序列为X和Y,长度分别为|X|和|Y|。归整路径,其形式为W=w1,w2,…,wK,Max(|X|,|Y|)≤K≤|X|+|Y|。wK的形式为(i,j),其中i表示X中的i坐标,j表示Y中的j坐标。归整路径W必须从w1=(1,1)开始,到wK=(|X|,|Y|)结尾,以保证X和Y中的每个坐标都在W中出现。另外,W中w(i,j)的i和j必须是单调增加的。最后要得到的归整路径是距离最短的一个归整路径,即

D(i,j)=Dist(i,j)+min[D(i-1,j),D(i,j-1),D(i-1,j-1)]

(1)

式(1)中:D(i,j)为长度为i和j的两个时间序列之间的归整路径距离。最后求得的规整路径的距离为D(|X|,|Y|)。

1.1.2 出行时异常停止或速度异常

第二种异常情况是指在出行过程中老年人突发疾病倒地或老年人由于身体不适导致行动缓慢的情况。为检测老年人的异常停止,首先统计老年人在日常行动中出现停止移动的地点和停止的时间,将数据中最长的停止时间tmax作为临界条件。如果实时运动轨迹中出现了老年人在某处的停止时间大于tmax的情况,则认为老年人在此处可能遇到了意外摔倒或失去意识的情况,此时老年人存在猝死的风险。

为检测老年人的异常速度,使用式(2)~式(4)来计算老年人的移动速度。分析老年人的出行速度时,将日常出行中的最低速度作为判断老年人出行时速度是否异常的临界值。如果老年人实时出行时的移动速度小于临界值,则认为此时老年人可能遇到了异常情况。

c=sin(Lat1)sin(Lat2)cos(Lng1-Lng2)+cos(Lat1)cos(Lat2)

(2)

D=π/180Rarccos(c)

(3)

v=D/t

(4)

式中:Lat为纬度;Lng为经度;R为地球半径,m;D为两点之间的距离,m;v为两点之间的瞬时速度,m/s;t为两点的时间差,s;c为圆心角,rad。

1.2 空间异常行为轨迹风险分析

模型在1.1节“空间异常行为轨迹识别”中识别出了异常情况,为增加模型识别安全风险的准确性,结合异常轨迹模式、老年人身份属性信息、环境信息对出现的异常进行具体的风险分析。如表1所示,分为人员数据、出行数据、天气数据、异常4种属性,每个属性包含不同的情况,每一种情况分为不同风险等级,分别有0到3分的差别。其中各项数值是通过专家经验得到的权重值。针对老年人发生异常时的不同情况进行打分,最后得分除以表中最大分值21,此数值即为老年人行为轨迹出现异常时的安全风险。

表1 行为轨迹安全风险权重值Table 1 Behavior trajectory security risk weight value

2 实验结果及分析

为验证模型的有效性,使用微软开源的轨迹数据集GeoLife对模型进行验证。假设GeoLife数据集中编号102与97的人员为老年人。下一步对数据赋予假设的老年人背景信息和气象信息,将真实的轨迹数据与模拟的人员背景数据、气象数据相结合来验证模型。其中方法的实用性和有效性需要在之后实践中进一步验证[27]。

使用ST-DBSCAN算法提取两人的日常行为链如图2所示。选择两人4 d的出行路线来判断这4 d 的出行是否遇到了危险,每种颜色表示每一天的出行轨迹,如图3所示。使用DTW算法分别计算4条轨迹与日常行为链的距离,将其与边界距离相比。在102号的4条出行轨迹中,第一条与第四条轨迹的偏离值大于了边界值,所以将这两条轨迹认定为异常轨迹。97号的第三条轨迹的偏离值大于了边界值,所以这一条轨迹判断为异常轨迹。下一步判断两人的出行轨迹是否符合第二种异常模式,如图4所示分析两人的实时移动速度,结果表明102号被观测者偶尔使用交通工具出行,而97号则是经常步行出门。分析两人出行时在某处停止的时间,两人的最长停止时间分别为5 s和1 min 30 s,将其作为判断第二种异常情况的临界条件。从两人这4 d的出行轨迹来看,两人的出行轨迹出现了第一种异常情况,而没有出现第二种异常。

图2 使用ST-DBSCAN得到的轨迹行为链Fig.2 Trajectory behavior chain after clustering using ST-DBSCAN algorithm

图3 4 d的出行轨迹与日常轨迹比较Fig.3 Comparison of travel trajectory with daily trajectory of 4 days

图4 被观察者出行习惯分析Fig.4 Analysis of travel habits of the observed

对两人出现的异常进行风险分析,结果如表2所示,102号的第一条和第三条出行轨迹存在风险,其安全风险为33.3%和42.8%。97号的第三条轨迹存在风险,其安全风险为23.8%。

表2 模型结果风险值Table 2 Model risk value

3 结论

建立了一个老年人空间异常行为轨迹风险分析模型。使用模型对老年人的出行数据进行分析,并计算出老年人轨迹出现异常时的安全风险。整个模型由老年人空间异常行为轨迹识别、老年人空间异常行为轨迹风险分析这两部分组成。结合ST-DBSCAN算法和DTW算法建立异常轨迹检测模型来识别老年人异常轨迹,并建立了风险分析模型,该部分结合异常轨迹模式、老年人背景信息、气象信息,计算出老年人出行时的安全风险。从实验结果来看,研究成果可以为社区、居委会、养老机构提供老年人异常行为轨迹风险分析的技术支持,并能够为社区的安全管理提供服务。

猜你喜欢

轨迹聚类距离
解析几何中的轨迹方程的常用求法
轨迹
轨迹
算距离
面向WSN的聚类头选举与维护协议的研究综述
改进K均值聚类算法
基于在线轨迹迭代的自适应再入制导
基于Spark平台的K-means聚类算法改进及并行化实现
基于加权模糊聚类的不平衡数据分类方法
每次失败都会距离成功更近一步