CN116303479B - 一种用于轨迹数据的实时压缩方法 - Google Patents
一种用于轨迹数据的实时压缩方法 Download PDFInfo
- Publication number
- CN116303479B CN116303479B CN202310572745.4A CN202310572745A CN116303479B CN 116303479 B CN116303479 B CN 116303479B CN 202310572745 A CN202310572745 A CN 202310572745A CN 116303479 B CN116303479 B CN 116303479B
- Authority
- CN
- China
- Prior art keywords
- straight line
- time
- segmentation
- point
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000007906 compression Methods 0.000 title claims abstract description 38
- 230000006835 compression Effects 0.000 title claims abstract description 37
- 230000011218 segmentation Effects 0.000 claims abstract description 98
- 230000008569 process Effects 0.000 claims description 12
- 238000007689 inspection Methods 0.000 claims description 4
- 238000013144 data compression Methods 0.000 abstract description 4
- 238000003860 storage Methods 0.000 description 13
- 238000005192 partition Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000029305 taxis Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Remote Sensing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种用于轨迹数据的实时压缩方法,涉及轨迹数据压缩领域,其基于分割初始时刻与最大误差利用DConnPLA算法分割各维度数据序列,得到各维度数据序列对应的可行分割直线,实现了对可行直线空间的完全搜索,另外,通过获取各可行分割直线中最短可行分割直线对应的分割结束时刻,通过可行分割直线的表达式计算各维度数据序列在分割初始时刻对应的初始值和在分割结束时刻对应的结束值,通过各维度数据序列对应的初始值和结束值得到目标起点和目标终点,通过目标起点和目标终点分割当前的维实时轨迹数据,并以分割结束时刻加1作为下一段维实时轨迹数据的分割初始时刻,实现了三维及三维以上空间数据的最优分割。
Description
技术领域
本发明涉及轨迹数据压缩领域,尤其涉及一种用于轨迹数据的实时压缩方法。
背景技术
随着传感器和物联网技术的普及发展,在地理信息系统中,大量的轨迹数据被收集并用于特定的分析任务。近些年,轨迹数据呈现爆炸式的增长,这给其传输、存储和分析带来了前所未有的挑战。作为传统的数据存储解决方案,数据压缩技术是应对这些挑战的可行手段之一。目前,针对轨迹数据的有损压缩是主流,而无损压缩在压缩率以及压缩概要(即压缩后的数据)的可用性上存在一定的局限性。在众多有损压缩算法中,线性分段拟合(PLA)技术具有简单直观的特点,因此被广泛的研究和应用。
早期针对轨迹数据的PLA算法尽管可以获得最优化(即最小)的压缩规模,但时空复杂度较高,不适合应对流数据压缩的应用需求。而目前流行的三种次优化解决方案,即批处理算法、在线算法和实时算法,均采用在经纬度空间下定义的垂直误差或同步误差进行限定,不能在线性时间复杂度下搜索所有可行直线,所以很难获得最优化的结果。
针对轨迹数据的压缩,现有的PLA压缩技术也不能在线性时间复杂度获得最优化的压缩结果,即现有技术中是通过空间欧式距离(也称同步误差)进行的度量,只能在二维空间进行划分无法对三维及三维以上的空间完成算法处理,其原因在于,这些算法所采用的垂直误差或同步误差均不能完成对可行直线空间的完全搜索,因而无法获得最优化的分割结果,对此,本发明提出了一种用于轨迹数据的实时压缩方法。
发明内容
为了对三维及三维以上空间的数据实现最优分割,本发明提出了一种用于轨迹数据的实时压缩方法,包括步骤:
S1:获取m维实时轨迹数据P=(p1,p2,…,pn)并设定最大误差δ,其中,pi=(pi,1,pi,2,…,pi,m),i=1,2…n,i表示数据点p的时间戳索引,n为常数,pi表示在i时刻的m个轨迹观测值;获取m维实时轨迹数据对应的维度数据序列Pj=(p1j,p2j,…,pnj)(1≤j≤m),其中,Pj表示第j维的数据序列,pij为j维i时刻的轨迹观测值;
S2:初始化分割序号k与分割初始时刻si;
S3:基于分割初始时刻si与最大误差δ利用DConnPLA算法分别分割各维度数据序列,得到各维度数据序列对应的可行分割直线,所述可行分割直线的表达式为fj(t),其中t表示时刻;
S4:获取各可行分割直线fj(t)中最短可行分割直线对应的分割结束时刻ei,通过可行分割直线的表达式fj(t)计算各维度数据序列在分割初始时刻si对应的初始值fj(si)和在分割结束时刻ei对应的结束值fj(ei),通过各维度数据序列对应的初始值fj(si)和结束值fj(ei)得到目标起点p′ si=(si,f1(si),…,fm(si))和目标终点p′ ei=(si,f1(ei),…,fm(ei));
S5:通过目标起点p′ si和目标终点p′ ei分割当前的m维实时轨迹数据P,设定k=k+1、si=ei+1,并返回S3步骤继续下一段m维实时轨迹数据的分割。
进一步地,所述S2步骤中,分割序号k与分割初始时刻si的初始值均等于1;
所述S3步骤中,利用DConnPLA算法分割维度数据序列,具体包括:
S31:初始化时间序号s,初始化维度数据序列对应的上凸壳、下凸壳以及第一直线与第二直线的斜率:
所述时间序号s的初始化公式为:s=s′+3;
所述上凸壳的表达式为:
所述下凸壳的表达式为:cvx={pb ,pc };
所述第一直线的表达式为:
所述第二直线的表达式为:
所述第一直线对应斜率的获取公式为:
所述第二直线对应斜率的获取公式为:其中:
式中,表示分割初始时刻si对应的时间点,/>表示第j维数据序列中/>时间点对应的轨迹观测值,δ表示最大误差,/> pc 分别表示第一直线的上容忍点与下容忍点,/> pb 分别表示第二直线的上容忍点与下容忍点,ρ表示第一直线的斜率,/>表示第二直线的斜率,/>表示上凸壳,cvx表示下凸壳;s′表示上一段第j维数据序列分割时输出的时间序号s;
S32:通过维度数据序列中轨迹观测值psj对应的时间点tsj与第一直线获取第一数据值,通过轨迹观测值psj对应的时间点tsj与第二直线获取第二数据值;其中,tsj为第j维维度数据序列中时间序号s对应的时间点,psj为第j维维度数据序列中tsj时间点对应的轨迹观测值;
S33:判断轨迹观测值psj是否满足由第一数据值构建的第一预设条件,或满足由第二数据值构建的第二预设条件,若存在任意一个预设条件成立,则跳转至S36步骤,若否,则进入下一步骤;
S34:根据轨迹观测值psj相对第一直线与第二直线/>的位置更新第一直线与第二直线的上下容忍点、斜率以及上凸壳与下凸壳;
S35:更新时间序号:s=s+1,并返回S32步骤;
S36:输出时间序号s,通过更新后的第一直线与第二直线的交点与斜率生成第j维数据序列对应的可行分割直线。
进一步地,所述S32步骤中:
所述第一数据值的获取公式为:
所述第二数据值的获取公式为:
式中,ta表示第一直线上容忍点对应的时间点,tb表示第二直线下容忍点pb 对应的时间点,val1表示第一数据值,val2表示第二数据值。
进一步地,所述S33步骤中:
所述第一预设条件的表达式为:psj+δ<val1;
所述第二预设条件的表达式为:psj-δ>val2。
进一步地,所述S34步骤,具体包括:
判断是否位于第二直线/>的上方,若是,则从上凸壳/>中获取点q,使得/>最小,更新第二直线的下容忍点pb =q、第二直线的上容忍点并删除上凸壳/>中位于点q之前的点,更新/> 将/>加至下凸壳cvx的末端并采用三角检验法更新下凸壳cvx;其中,/>
进一步地,所述S34步骤,还包括:
判断psj 是否位于第一直线的下方,若是,则从下凸壳cvx中获取点q,使得slope(q,psj )最大,更新第一直线的上容忍点/>第一直线的下容忍点pc =psj,并删除下凸壳cvx中位于点q之前的点,更新/> 将psj 加至上凸壳/>的末端并采用三角检验法更新上凸壳/>其中,psj =psj-δ。
进一步地,所述S36步骤中,可行分割直线的生成具体包括:
获取更新后的第一直线与第二直线的交点;
通过更新后的与ρ获取目标斜率ρ;
通过目标斜率以及更新后第一直线与第二直线的交点生成可行分割直线fj(t);所述目标斜率的获取公式为:
与现有技术相比,本发明至少含有以下有益效果:
本发明基于分割初始时刻si与最大误差δ利用DConnPLA算法分别分割各维度数据序列,得到各维度数据序列对应的可行分割直线,实现了对可行直线空间的完全搜索,另外,本发明通过获取各可行分割直线fj(t)中最短可行分割直线对应的分割结束时刻ei,通过可行分割直线的表达式fj(t)计算各维度数据序列在分割初始时刻si对应的初始值fj(si)和在分割结束时刻ei对应的结束值fj(ei),通过各维度数据序列对应的初始值fj(si)和结束值fj(ei)得到目标起点和目标终点,通过目标起点和目标终点分割当前的m维实时轨迹数据P,并以分割结束时刻ei加1作为下一段m维实时轨迹数据的分割初始时刻,其实现了三维及三维以上空间数据的最优分割,同时实现了对轨迹数据的不间断压缩即在线压缩。
附图说明
图1为一种用于轨迹数据的实时压缩方法流程图;
图2为维度数据序列对应的直线与凸壳示意图;
图3为FSW算法极限线构造示意图;
图4为CISED算法圆锥构造示意图。
具体实施方式
以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
实施例一
为了实现对可行直线空间的完全搜索,以实现对三维及三维以上空间的最优分割,如图1所示,本发明提出了一种用于轨迹数据的实时压缩方法,包括步骤:
S1:获取m维实时轨迹数据P=(p1,p2,…,pn)并设定最大误差δ,其中,pi=(pi,1,pi,2,…,pi,m),i=1,2…n,i表示数据点p的时间戳索引,n为常数,pi表示在i时刻的m个轨迹观测值;获取m维实时轨迹数据对应的维度数据序列Pj=(p1j,p2j,…,pnj)(1≤j≤m),其中,Pj表示第j维的数据序列,pij为j维i时刻的轨迹观测值;
需要解释的是,在地理信息系统中,轨迹数据不仅包含经度和纬度信息,还额外记录了某些应用领域的关键数值指标,譬如速度、温度或湿度等等,从而轨迹数据中包括了多个维度的数据(即多维空间数据),而现有技术中,是通过空间欧式距离(也称同步误差)进行的度量,只能在二维空间进行划分无法对三维及三维以上的空间完成算法处理,因为这些算法所采用的垂直误差或同步误差均不能完成对可行直线空间的完全搜索,因而无法获得最优化的分割结果,对此,本发明为了实现三维及三维以上空间数据的最优分割,采用分治-融合的思想,对每一个维度的数据序列单独实施一维最优化L∞-PLA压缩算法即DConnPLA算法(分治),通过DConnPLA算法确保每个分割能拟合最多的数据点,然后通过各维度数据序列对应的可行分割直线获取目标起点与目标终点(融合),通过目标起点与目标终点完成分割,从而实现了对可行直线空间的完全搜索,完成了三维及三维以上空间数据的最优分割。
特别需要说明的是,DConnPLA算法在线性时间复杂度下可以在线地处理一维时序数据,并获得最少的不连续分割个数,为了最小化生成的分割数,DConnPLA算法确保每个分割能拟合最多的数据点。这是通过在添加新点的过程中,增量式地调整所有表示线(目标起点和目标终点形成的直线为分割维度数据序列的一个可行直线,简称表示线)的范围来完成的。当在最大误差范围内没有可行直线可以近似新的点时,构造过程停止,新的分割开始。在生成分割的过程中,随着新数据的引入,两条极值线(第一直线与第二直线)被迭代更新。为了有效地更新极值线,需要增量地保持两个凸壳结构,以避免大量的搜索代价。
S2:初始化分割序号k与分割初始时刻si;
所述S2步骤中,分割序号k与分割初始时刻si的初始值均等于1;
S3:基于分割初始时刻si与最大误差δ利用DConnPLA算法分别分割各维度数据序列,得到各维度数据序列对应的可行分割直线,所述可行分割直线的表达式为fj(t),其中t表示时刻;
需要说明的是,本实施例中可利用DConnPLA算法串行或并行分割各维度数据序列。本发明既保持了DConnPLA算法的线性时间复杂度和在线处理数据的能力,又实现了对可行直线空间的完全搜索。
所述S3步骤中,利用DConnPLA算法分割维度数据序列,具体包括:
S31:初始化时间序号s,初始化维度数据序列对应的上凸壳、下凸壳以及第一直线与第二直线的斜率:
所述时间序号s的初始化公式为:s=s′+3;
所述上凸壳的表达式为:
所述下凸壳的表达式为:cvx={pb ,pc };
所述第一直线的表达式为:
所述第二直线的表达式为:
所述第一直线对应斜率的获取公式为:
所述第二直线对应斜率的获取公式为:其中:
式中,表示分割初始时刻si对应的时间点,/>表示第j维数据序列中/>时间点对应的轨迹观测值,δ表示最大误差,/> pc 分别表示第一直线的上容忍点与下容忍点,/> pb 分别表示第二直线的上容忍点与下容忍点,ρ表示第一直线的斜率,/>表示第二直线的斜率,/>表示上凸壳,cvx表示下凸壳;s′表示上一段第j维数据序列分割时输出的时间序号s;
需要解释的是,第一次分割时,s′=0,s=0+3,加3的原因在于在每一次的分割过程中,会使用前两个时间点对应的轨迹观测值初始化上凸壳、下凸壳以及第一直线与第二直线,因此在S32步骤中是从第三个时间点对应的轨迹观测值开始处理。
S32:通过维度数据序列中轨迹观测值psj对应的时间点tsj与第一直线获取第一数据值,通过轨迹观测值psj对应的时间点tsj与第二直线获取第二数据值;其中,tsj为第j维维度数据序列中时间序号s对应的时间点,psj为第j维维度数据序列中tsj时间点对应的轨迹观测值;
所述S32步骤中:
所述第一数据值的获取公式为:
所述第二数据值的获取公式为:
式中,ta表示第一直线上容忍点对应的时间点,tb表示第二直线下容忍点pb 对应的时间点,val1表示第一数据值,val2表示第二数据值。
S33:判断轨迹观测值psj是否满足由第一数据值构建的第一预设条件,或满足由第二数据值构建的第二预设条件,若存在任意一个预设条件成立,则跳转至S36步骤,若否,则进入下一步骤;
所述S33步骤中:
所述第一预设条件的表达式为:psj+δ<val1;
所述第二预设条件的表达式为:psj-δ>val2。
需要说明的是,当轨迹观测值psj满足第一预设条件或满足第二预设条件时表明轨迹观测值psj对应的点在第一直线与第二直线的外侧也即处于最大误差范围以外,所述最大误差范围为:(val1-δ,val2+δ)。
S34:根据轨迹观测值psj相对第一直线与第二直线/>的位置更新第一直线与第二直线的上下容忍点、斜率以及上凸壳与下凸壳;
所述S34步骤,具体包括:
判断是否位于第二直线/>的上方,若是,则从上凸壳/>中获取点q,使得/>最小,更新第二直线的下容忍点pb =q、第二直线的上容忍点并删除上凸壳/>中位于点q之前的点,更新/> 将/>加至下凸壳cvx的末端并采用三角检验法更新下凸壳cvx;其中,/>
所述S34步骤,还包括:
判断psj 是否位于第一直线的下方,若是,则从下凸壳cvx中获取点q,使得slope(q,psj )最大,更新第一直线的上容忍点/>第一直线的下容忍点pc =psj ,并删除下凸壳cvx中位于点q之前的点,更新/> 将psj 加至上凸壳/>的末端并采用三角检验法更新上凸壳/>其中,psj =psj-δ。
直线与凸壳之间的位置关系可见图2所示。
需要解释的是,采用三角检验法更新下凸壳cvx,具体为通过迭代地检查最近连续的三个点来更新下凸壳cvx,其更新规则为:如果中间点在其他两点形成的线的下方或线上,则删除中间点,迭代这个过程,直到中间点不再被移除(中间点在线的上方则不再被移除)。
上凸壳的更新规则为:如果中间点在其他两点形成的线的上方或线上,则删除中间点,迭代这个过程,直到中间点不再被移除(中间点在线的下方则不再被移除)。
S35:更新时间序号:s=s+1,并返回S32步骤;
S36:输出时间序号s,通过更新后的第一直线与第二直线的交点与斜率生成第j维数据序列对应的可行分割直线。
所述S36步骤中,可行分割直线的生成具体包括:
获取更新后的第一直线与第二直线的交点;
通过更新后的与ρ获取目标斜率ρ;
通过目标斜率以及更新后第一直线与第二直线的交点生成可行分割直线fj(t);所述目标斜率的获取公式为:
S4:获取各可行分割直线fj(t)中最短可行分割直线对应的分割结束时刻ei,通过可行分割直线的表达式fj(t)计算各维度数据序列在分割初始时刻si对应的初始值fj(si)和在分割结束时刻ei对应的结束值fj(ei),通过各维度数据序列对应的初始值fj(si)和结束值fj(ei)得到目标起点p′si=(si,f1(si),…,fm(si))和目标终点p′ei=(si,f1(ei),…,fm(ei));所述目标起点与目标终点为在m+1维空间中的数据点;
S5:通过目标起点p′si和目标终点p′ei分割当前的m维实时轨迹数据P,设定k=k+1、si=ei+1,并返回S3步骤继续下一段m维实时轨迹数据的分割。
为了证明本发明提出的实时压缩方法可以得到最优的划分结果即本发明最终得到的K值为最优值,本实施例推理如下:
定理:对于多维实时轨迹数据P=(p1,p2,…,pn)和给定的最大误差δ,本发明提出的实时压缩方法可以获得最优的分割结果。
证明:在给定最大误差δ下,记本发明获取k个分割的时间索引集合为{s1,e1,s2,e2,…,sk,ek},显然,k=1时,该定理是成立的;
如果k>1,假设k不是最优的,那么存在k′(k′<k)个分割覆盖数据P。这意味着这k′个分割中存在某个分割(假设该分割为第α个)满足s′α≤sα<eα<e′α,其中,sα、eα分别表示k个分割中第α个分割对应的分割初始时刻与分割结束时刻,s′α、e′α分别表示k′个分割中第α个分割对应的分割初始时刻与分割结束时刻;故在各个维度数据序列上映射后得到的分割同样满足该特性。由于这些映射分割中,至少存在一个由DConnPLA算法生成的完整分割(各可行分割直线fj(t)中最短的可行分割直线表示为一次完整的分割),该分割被保证可以近似最多的数据点(即一维的DConnPLA算法能保证可以近似最多的数据点,使分割达到最长,分割初始时刻与分割结束时刻之间的时间差达到最大),故与s′ α≤sα<eα<e′ α矛盾,假设不成立,k是最优的。
因而本发明提出的实时压缩方法可以得到最优的划分结果,其最终得到的K值为最优值。
本发明基于分割初始时刻si与最大误差δ利用DConnPLA算法分别分割各维度数据序列,得到各维度数据序列对应的可行分割直线,实现了对可行直线空间的完全搜索,另外,本发明通过获取各可行分割直线fj(t)中最短可行分割直线对应的分割结束时刻ei,通过可行分割直线的表达式fj(t)计算各维度数据序列在分割初始时刻si对应的初始值fj(si)和在分割结束时刻ei对应的结束值fj(ei),通过各维度数据序列对应的初始值fj(si)和结束值fj(ei)得到目标起点和目标终点,通过目标起点和目标终点分割当前的m维实时轨迹数据P,并以分割结束时刻ei加1作为下一段m维实时轨迹数据的分割初始时刻,其实现了三维及三维以上空间数据的最优分割,同时实现了对轨迹数据的不间断压缩即在线压缩。
实施例二
为了说明本发明提出的实时压缩方法的技术优势,将其实例化即设定m=2,并与CISED算法在存储、时间消耗和内存占用方面进行类比。本实施例将本发明提出的实时压缩方法定义为MDisPLA算法,以便后续的描述。
需要说明的是,在现存算法中,CISED算法是用于轨迹压缩领域上非常优秀的算法之一,它能在线性时间复杂度内,以常数级的内存占用,生成连续直线表示的分割。CISED算法的思想源于FSW算法,它将FSW算法处理一维时序数据的能力推广至二维。FSW算法通过维护两条极限线来构造可行直线表示的区域,当该动态更新的区域为空时,一段分割产生并开始下一段分割。如图3所示,在最大误差δ限定下,FSW算法在t-y坐标系内通过固定的起始点ps以及给定数据点ps+i构造极限线us+i和ls+i,用于划定可同时近似ps和ps+i的可行直线表示区域;同样,在确定ps和ps+j的极限线us+j和ls+j后,划定可同时近似ps和ps+j的可行直线表示区域,通过判定两个区域存在公共区域us+j和ls+i可表明存在直线表示可在最大误差下近似ps、ps+i和ps+j三个数据点。而CISED算法将FSW算法进行推广,用于压缩二维轨迹数据,如图4所示,在CISED中,最大误差被推广为同步误差(三维空间y2-y1-t中,球体的半径),数据点ps和ps+i的可行直线表示区域推广为圆锥Cs+i,数据点ps和ps+j的可行直线表示区域推广为圆锥Cs+j;通过判断Cs+i和Cs+j有交集可表明数据点ps、ps+i和ps+j可在同步误差δ下用一条直线表示近似。其中,s表示时间序号,i、j为自然数,用于表示时间索引。
尽管MDisPLA算法和CISED算法都可以用于对轨迹数据的压缩,但是MDisPLA和CISED算法存在三点不同:
第一点:处理问题不同,MDisPLA算法是在限定各个维度数据序列最大误差的条件下,对多维数据进行压缩,最终生成不连续的直线表示;而CISED算法只针对二维数据,通过限定三维空间中数据的同步误差,用于生成连续的直线表示。CISED算法向多维数据压缩问题上的推广不能显然地得到;
第二点:压缩存储结果不同,MDisPLA算法可生成最小个数的不连续分割;而CISED并不是最优化的算法,不能生成最少的连续分割。一般来说,相同分割数的限定下,不连续表示要比连续表示的压缩存储大。但是,由于CISED算法进行了初始点的固定,以及同步误差的限定,因此MDisPLA算法比CISED算法生成的分割数要小的多;
第三点:时间和内存消耗不同,在时间消耗方面,尽管MDisPLA算法和CISED算法都具有线性时间复杂度,但是二者因为计算机制的不同,在时间消耗方面存在明显的差异性。MDisPLA算法的主要计算消耗在于对各个维度数据序列进行压缩过程中凸壳的更新;而CISED算法的主要计算消耗在对圆锥可行区域的交集判断以及更新方面。在内存消耗方面,MDisPLA算法在压缩过程中,仍然需要缓存当前分割的凸壳,因此和DConnPLA算法保持一致;而CISED算法的临时内存占用,依赖于在可行区域的交集确定过程中逼近圆的正多边形边的个数,它也是算法的输入参数之一。
本实施例挑选了两个具有代表性的GPS数据集—Roma数据集和Mopsi数据集来展现测试结果。Roma数据集记录了320辆出租车在罗马市区一个月的行驶数据,本实施例筛选出编号为146的出租车数据,记为Roma146;Mopsi数据集记录了51位参与者在芬兰约恩苏地区的活动轨迹数据,本实施例挑选了数据规模最大的7号子集作为测试对象之一,记为Mopsi7。测试平台为一台笔记本图形工作站,具有2.60GHz的CPU和40GB的内存。为了公平性,本实施例在Eclipse平台下采用Java语言对本发明提出的MDisPLA算法和CISED算法进行统一实现。
对于k个不连续分割的存储问题,本实施例采用如下存储策略:将整型或者浮点型数据看作一个存储单元,那么k个分割包含2·k个(m+1)维的数据点(一次分割保存一个目标起点和一个目标终点),需要2·k·(m+1)个存储单元。又由于当前分割的分割结束时刻ei和下一个分割的分割初始时刻si存在如下关系:
si(下一个分割的分割初始时刻)=ei(当前分割的分割结束时刻)+1;
因此,相邻两个不连续的分割中,前一个分割的分割结束时刻ei和后一个分割的分割初始时刻si可共用时间索引,每增加一个新的分割可减少1个存储单元。故本实施例中存储k个分割总共只需要2·k·(m+1)-(k-1)个存储单元。
在算法参数设置方面,CISED算法中同步误差的单位为米,而MDisPLA中最大误差的单位为度,所以依据1m≈0.00001141°进行近似转换;CISED中正多边形的边数设定为16。
本实施例以同步误差60米和最大误差0.0006846度下MDisPLA和CISED的输出结果为例进行说明,该结果表明在分割数、存储、时间和最大内存方面,MDisPLA都要优于CISED,输出结果见下表1所示:
通过表1中的实验数据得出:
分割数和存储方面:在Roma数据集和Mopsi数据集上,MDisPLA比CISED的分割数分别减少了约50%和42%,而在存储上分别减少了17%和4%左右。这些差异源于两个方面的原因:(1)CISED中同步误差的限定、固定初始点以及多边形的边数设定都会影响算法对可行直线表示的搜索能力,所以在同样分割数下,MDisPLA比CISED近似的点更多;(2)一般来说,相同分割数下,不连续直线表示的存储要比连续直线表示的存储多。上述事实以及MDisPLA的存储策略共同造成了两个算法从分割数差异到存储差异的变化。
时间消耗和最大内存方面:时间消耗上,MDisPLA比CISED在Roma146上快约8倍,而在Mopsi7上快20倍左右;在最大内存占用上,MDisPLA在两个数据集上分别为0.1403kb和0.2456kb,而CISED均为0.3125kb。上述实验结果的原因在于:(1)MDisPLA的主要计算在凸壳的更新,需要临时存储凸壳,由于轨迹数据中经纬度数据局部片段差异较小以及最大误差设定较小,造成临时存储凸壳的规模较小,故计算消耗和内存占用均偏低;(2)CISED中,需要在三维空间中判断圆锥是否存在公共区域,而在这过程中圆形采用正多边形逼近的策略,故计算消耗和内存占用依赖于正多边形边数,故计算消耗和内存占用相对MDisPLA要高。
本实施例通过与优秀的轨迹压缩算法CISED进行比较,验证了MDisPLA算法是稳健的,其整体性能要优于CISED算法。具体地,在两个数据集上,MDisPLA以更低的内存消耗降低了约46%的分割个数和10.5%的存储个数,并提高了14倍左右的处理速度。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中如涉及“第一”、“第二”、“一”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
Claims (7)
1.一种用于轨迹数据的实时压缩方法,其特征在于,包括步骤:
S1:获取m维实时轨迹数据P=(p1,p2,…,pn)并设定最大误差δ,其中,pi=(pi,1,pi,2,…,pi,m),i=1,2…n,i表示数据点p的时间戳索引,n为常数,pi表示在i时刻的m个轨迹观测值;获取m维实时轨迹数据对应的维度数据序列Pj=(p1j,p2j,…,pnj)(1≤j≤m),其中,Pj表示第j维的数据序列,pij为j维i时刻的轨迹观测值;
S2:初始化分割序号k与分割初始时刻si;
S3:基于分割初始时刻si与最大误差δ利用DConnPLA算法分别分割各维度数据序列,得到各维度数据序列对应的可行分割直线,所述可行分割直线的表达式为fj(t),其中t表示时刻;
S4:获取各可行分割直线fj(t)中最短可行分割直线对应的分割结束时刻ei,通过可行分割直线的表达式fj(t)计算各维度数据序列在分割初始时刻si对应的初始值fj(si)和在分割结束时刻ei对应的结束值fj(ei),通过各维度数据序列对应的初始值fj(si)和结束值fj(ei)得到目标起点p′si=(si,f1(si),…,fm(si))和目标终点p′ei=(si,f1(ei),…,fm(ei));
S5:通过目标起点p′si和目标终点p′ei分割当前的m维实时轨迹数据P,设定k=k+1、si=ei+1,并返回S3步骤继续下一段m维实时轨迹数据的分割。
2.根据权利要求1所述的一种用于轨迹数据的实时压缩方法,其特征在于,所述S2步骤中,分割序号k与分割初始时刻si的初始值均等于1;
所述S3步骤中,利用DConnPLA算法分割维度数据序列,具体包括:
S31:初始化时间序号s,初始化维度数据序列对应的上凸壳、下凸壳以及第一直线与第二直线的斜率:
所述时间序号s的初始化公式为:s=s′+3;
所述上凸壳的表达式为:
所述下凸壳的表达式为:cvx={pb ,pc };
所述第一直线的表达式为:
所述第二直线的表达式为:
所述第一直线对应斜率的获取公式为:
所述第二直线对应斜率的获取公式为:其中:
式中,表示分割初始时刻si对应的时间点,/>表示第j维数据序列中/>时间点对应的轨迹观测值,δ表示最大误差,/> pc 分别表示第一直线的上容忍点与下容忍点,/> pb 分别表示第二直线的上容忍点与下容忍点,ρ表示第一直线的斜率,/>表示第二直线的斜率,表示上凸壳,cvx表示下凸壳;s′表示上一段第j维数据序列分割时输出的时间序号s;
S32:通过维度数据序列中轨迹观测值psj对应的时间点tsj与第一直线获取第一数据值,通过轨迹观测值psj对应的时间点tsj与第二直线获取第二数据值;其中,tsj为第j维维度数据序列中时间序号s对应的时间点,psj为第j维维度数据序列中tsj时间点对应的轨迹观测值;
S33:判断轨迹观测值psj是否满足由第一数据值构建的第一预设条件,或满足由第二数据值构建的第二预设条件,若存在任意一个预设条件成立,则跳转至S36步骤,若否,则进入下一步骤;
S34:根据轨迹观测值psj相对第一直线与第二直线/>的位置更新第一直线与第二直线的上下容忍点、斜率以及上凸壳与下凸壳;
S35:更新时间序号:s=s+1,并返回S32步骤;
S36:输出时间序号s,通过更新后的第一直线与第二直线的交点与斜率生成第j维数据序列对应的可行分割直线。
3.根据权利要求2所述的一种用于轨迹数据的实时压缩方法,其特征在于,所述S32步骤中:
所述第一数据值的获取公式为:
所述第二数据值的获取公式为:
式中,ta表示第一直线上容忍点对应的时间点,tb表示第二直线下容忍点pb 对应的时间点,val1表示第一数据值,val2表示第二数据值。
4.根据权利要求3所述的一种用于轨迹数据的实时压缩方法,其特征在于,所述S33步骤中:
所述第一预设条件的表达式为:psj+δ<val1;
所述第二预设条件的表达式为:psj-δ>val2。
5.根据权利要求4所述的一种用于轨迹数据的实时压缩方法,其特征在于,所述S34步骤,具体包括:
判断是否位于第二直线/>的上方,若是,则从上凸壳/>中获取点q,使得/>最小,更新第二直线的下容忍点pb =q、第二直线的上容忍点/>并删除上凸壳/>中位于点q之前的点,更新/> 将/>加至下凸壳cvx的末端并采用三角检验法更新下凸壳cvx;其中,/>
6.根据权利要求5所述的一种用于轨迹数据的实时压缩方法,其特征在于,所述S34步骤,还包括:
判断psj 是否位于第一直线的下方,若是,则从下凸壳cvx中获取点q,使得slope(q,psj )最大,更新第一直线的上容忍点/>第一直线的下容忍点pc =psj ,并删除下凸壳cvx中位于点q之前的点,更新/> 将psj 加至上凸壳/>的末端并采用三角检验法更新上凸壳/>其中,psj =psj-δ。
7.根据权利要求6所述的一种用于轨迹数据的实时压缩方法,其特征在于,所述S36步骤中,可行分割直线的生成具体包括:
获取更新后的第一直线与第二直线的交点;
通过更新后的与ρ获取目标斜率ρ;
通过目标斜率以及更新后第一直线与第二直线的交点生成可行分割直线fj(t);所述目标斜率的获取公式为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310572745.4A CN116303479B (zh) | 2023-05-22 | 2023-05-22 | 一种用于轨迹数据的实时压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310572745.4A CN116303479B (zh) | 2023-05-22 | 2023-05-22 | 一种用于轨迹数据的实时压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116303479A CN116303479A (zh) | 2023-06-23 |
CN116303479B true CN116303479B (zh) | 2023-08-22 |
Family
ID=86789177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310572745.4A Active CN116303479B (zh) | 2023-05-22 | 2023-05-22 | 一种用于轨迹数据的实时压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116303479B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2410395A2 (en) * | 2010-07-21 | 2012-01-25 | Palo Alto Research Center Incorporated | System and method for real-time mapping of an indoor environment using mobile robots with limited sensing |
CN109443363A (zh) * | 2018-11-09 | 2019-03-08 | 厦门大学 | 分治确定性路径寻优算法 |
CN110570501A (zh) * | 2018-06-06 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 一种线条动画绘制方法及其设备、存储介质、电子设备 |
CN111299815A (zh) * | 2020-02-13 | 2020-06-19 | 西安交通大学 | 一种用于低灰度橡胶垫视觉检测与激光切割轨迹规划方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102021207528A1 (de) * | 2021-07-15 | 2023-01-19 | Robert Bosch Gesellschaft mit beschränkter Haftung | Erkennung von Verbindungsmustern anhand von Trajektoriendaten |
-
2023
- 2023-05-22 CN CN202310572745.4A patent/CN116303479B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2410395A2 (en) * | 2010-07-21 | 2012-01-25 | Palo Alto Research Center Incorporated | System and method for real-time mapping of an indoor environment using mobile robots with limited sensing |
CN110570501A (zh) * | 2018-06-06 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 一种线条动画绘制方法及其设备、存储介质、电子设备 |
CN109443363A (zh) * | 2018-11-09 | 2019-03-08 | 厦门大学 | 分治确定性路径寻优算法 |
CN111299815A (zh) * | 2020-02-13 | 2020-06-19 | 西安交通大学 | 一种用于低灰度橡胶垫视觉检测与激光切割轨迹规划方法 |
Non-Patent Citations (1)
Title |
---|
"移动对象子轨迹段分割与聚类算法";张延玲等;《计算机工程与应用》;第65-68页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116303479A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11188738B2 (en) | System and method associated with progressive spatial analysis of prodigious 3D data including complex structures | |
US9256693B2 (en) | Recommendation system with metric transformation | |
US9286312B2 (en) | Data coreset compression | |
KR100903961B1 (ko) | 시그니처 파일을 이용한 고차원 데이터 색인 및 검색방법과 그 시스템 | |
US10769140B2 (en) | Concept expansion using tables | |
KR20210152402A (ko) | 데이터 증강을 포함하는 머신런닝 시스템 및 머신런닝 방법 | |
US9558266B1 (en) | System and method for discovering groups whose members have a given attribute | |
EP3479214B1 (en) | Recovering free space in nonvolatile storage with a computer storage system supporting shared objects | |
JP2020027436A (ja) | 学習装置および学習方法 | |
CN115438804A (zh) | 预测模型训练方法、装置、设备以及图像预测方法 | |
CN116303479B (zh) | 一种用于轨迹数据的实时压缩方法 | |
CN112052865A (zh) | 用于生成神经网络模型的方法和装置 | |
CN110990502B (zh) | 一种电子海图位置点数据简化方法 | |
CN116704171A (zh) | 基于多尺度局部描述符聚合网络的跨视角跨模态地理定位方法 | |
CN113568987B (zh) | 知识图谱嵌入模型的训练方法、装置、计算机设备 | |
CN113139556B (zh) | 基于自适应构图的流形多视图图像聚类方法及系统 | |
CN112817545B (zh) | 在线即分析影像与格网立方体数据存储管理方法及系统 | |
US20210271976A1 (en) | Method, apparatus and device for updating convolutional neural network using gpu cluster | |
CN115019890A (zh) | 基于拓扑特性的稀有类型细胞检测方法、系统及设备 | |
Jeon et al. | USDN: A Unified Sample-Wise Dynamic Network With Mixed-Precision and Early-Exit | |
Cheng et al. | Stacked learning to search for scene labeling | |
CN110941730A (zh) | 基于人脸特征数据偏移的检索方法与装置 | |
Teng et al. | 3dpro: querying complex three-dimensional data with progressive compression and refinement | |
CN113341461B (zh) | 地震速度预测方法、装置及服务器 | |
US20240045592A1 (en) | Computational storage device, storage system including the same and operation method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |