简体   繁体   English

平滑后的GPS数据比较

[英]GPS data comparison after smoothing

I'm trying to compare multiple algorithms that are used to smooth GPS data. 我正在尝试比较用于平滑GPS数据的多种算法。 I'm wondering what should be the standard way to compare the results to see which one provides better smoothing. 我想知道比较结果以查看哪种方法可以提供更好的平滑处理的标准方法是什么。

I was thinking on a machine learning approach. 我在考虑一种机器学习方法。 To crate a car model based on a classifier and check on which tracks provides better behaviour. 根据分类器创建汽车模型,并检查哪些轨道可提供更好的性能。

For the guys who have more experience on this stuff, is this a good approach? 对于在这方面有更多经验的人来说,这是一个好方法吗? Are there other ways to do this? 还有其他方法吗?

I have no experience on this topic but I have few things in mind that may help you. 我在这个主题上没有经验,但是我想到的几件事可能会对您有所帮助。

You know it is a car. 你知道这是一辆车。 You know that the data is generated from a car so you can define a set of properties of a car. 您知道数据是从汽车生成的,因此您可以定义汽车的一组属性。 For example if a car is moving with speed above 50km than the angle of the corner should be at least 110 degrees. 例如,如果汽车以高于50公里的速度行驶,则拐角角度至少应为110度。 I am absolutely guessing with the values but if you do a little research i am sure you will be able to define such properties. 我绝对会猜测这些值,但是如果您进行一些研究,我相信您将能够定义这些属性。 Next thing you can do is to test how each approximation fits the car properties and choose the best one. 接下来,您需要测试每种近似值与汽车属性的拟合度,然后选择最佳近似值。

Raw data. 原始数据。 I assume you are testing all methods on a part of given road. 我假设您正在测试给定道路的一部分上的所有方法。 You can generate a "raw gps track" - a track that best fits the movement of a car. 您可以生成“原始GPS轨迹”-最适合汽车运动的轨迹。 Google maps may help you to generate such track os some gps devise with higher accuracy. Google地图可能会帮助您生成某些gps设计的更高精度的轨迹。 Than you measure the distance between each approximation and your generated track - the one with the min distance wins. 比您测量每个近似值与生成的轨迹之间的距离-距离最小的那个获胜。

Take a look at this paper that discusses comparing machine learning algorithms: 看一下这篇讨论比较机器学习算法的论文:

"Choosing between two learning algorithms based on calibrated tests" available at: http://www.cs.waikato.ac.nz/ml/publications/2003/bouckaert-calibrated-tests.pdf 可在以下网址找到 “基于校准测试的两种学习算法之间的选择”: http : //www.cs.waikato.ac.nz/ml/publications/2003/bouckaert-calibrated-tests.pdf

Also check out this paper: 另请参阅本文:

"Bayesian Comparison of Machine Learning Algorithms on Single and Multiple Datasets" available at: http://www.jmlr.org/proceedings/papers/v22/lacoste12/lacoste12.pdf “单个和多个数据集上的机器学习算法的贝叶斯比较”可从以下网站获得: http//www.jmlr.org/proceedings/papers/v22/lacoste12/lacoste12.pdf

Note: It is noted from the question that you are looking into the best way to compare the results for machine learning algorithms and are not looking for additional machine learning algorithms that may implement this feature. 注意:从问题中注意到,您正在寻找比较机器学习算法结果的最佳方法,而不是在寻找可能实现此功能的其他机器学习算法。

i think you easily match the coordinates after the address conversion. 我认为您可以在地址转换后轻松匹配坐标。 because address have street,area and city. 因为地址有街道,地区和城市。 so you can easily match the different radius. 因此您可以轻松匹配不同的半径。

let try this link 让我们试试这个链接

Generally, there is no universally valid way for comparing two datasets, since it completely depends on the applied/required quality criterion. 通常,没有通用的比较两个数据集的有效方法,因为它完全取决于所应用/所需的质量标准。

For your appoach 为了你的方法

I was thinking on a machine learning approach. 我在考虑一种机器学习方法。 To crate a car model based on a classifier and check on which tracks provides better behaviour. 根据分类器创建汽车模型,并检查哪些轨道可提供更好的性能。

this means that you will need to define your term "better behavior" mathematically. 这意味着您将需要在数学上定义术语“更好的行为”。

One possible quality criterion for your application is as follows (it consists of two parts that express opposing quality aspects): 适用于您的应用程序的一种可能的质量标准如下(它由两个部分组成,这些部分表示相反的质量方面):

First part (deviation from raw data): Compute the RMSE (root mean squared error) between the smoothed data and the raw data. 第一部分(与原始数据的偏差):计算平滑数据和原始数据之间的RMSE(均方根误差)。 This gives you a measure for the deviation of your smoothed track from the given raw coordinates. 这样可以衡量平滑轨道与给定原始坐标的偏差。 This means, that the error (RMSE) in creases, if you are smoothing more. 这意味着, 折痕误差(RMSE),如果你是平滑了。 And it de creases if you are smoothing less. 折痕如果你是平滑少。

Second part (track smoothness): Compute the mean absolute lateral acceleration that the car will experience along the track (second deviation). 第二部分(轨道平滑度):计算汽车沿轨道将经历的平均绝对横向加速度(第二偏差)。 This will de crease if you are smoothing more, and it will in crease if you are smoothing less. 这将取消折痕,如果你更平滑,并且它会折痕如果你是平滑少。 Ie, it behaves in contrary to the RMSE. 即,它的行为与RMSE相反。

Result evaluation: 结果评估:

(1) Find a sequence of your data where you know that the underlying GPS track is a straight line or where the tracked object is not moving. (1)在您知道基础GPS轨迹是直线或被跟踪对象没有移动的地方找到数据序列。 Note, that for those tracks, the (lateral) acceleration is zero by definition(!). 请注意,对于那些轨道,根据定义(!),(横向)加速度为零。 For these, compute RMSE and mean absolute lateral acceleration. 对于这些,计算RMSE和平均绝对横向加速度。 The RMSE of appoaches that have (almost) zero acceleration results from measurement inaccuracies! 测量误差导致(几乎)零加速度的方法的RMSE!

(2) Plot the results in a coordinate system with the RMSE on the x axis and the mean acceleration on the y axis. (2)将结果绘制在坐标系中,x轴为RMSE,y轴为平均加速度。

(3) Pick all approaches that have an RMSE similar to what you found in step (1). (3)选择具有与步骤(1)中相似的RMSE的所有方法。

(4) From those approaches, pick the one(s) with the smallest acceleration. (4)从这些方法中,选择加速度最小的方法。 Those give you the smoothest track with an error explained through measurement inaccuracies! 这些可以为您提供最平滑的轨迹,并通过测量误差来解释误差!

(5) You're done :) (5)完成:)

Machine Learning is not an well suited approach for that task, you would have to define what is good smoothing... 机器学习不是适合该任务的方法,您必须定义什么是良好的平滑处理...

Principially your task cannot be solved by an algorithm that gives an general answer because every smoothing destroy the original data by some amount and adds invented positions, and different systems/humans that use the smoothed data react differently on that changed data. 原则上,您的任务无法通过给出一般答案的算法来解决,因为每次平滑处理都会破坏原始数据一定数量并增加发明位置,并且使用平滑数据的不同系统/人员对更改后的数据会有不同的反应。

The question is: What do you want to achieve with smoothing? 问题是:要通过平滑实现什么? Why do you need smoothing? 为什么需要平滑? (have you forgotten to implement or enable a stand still filter that eliminates movement while the vehicle is standing still, which in GPS introduces jumping location during stand still?) (您是否忘记实现或启用了静态过滤器,该过滤器可消除车辆静止时的运动,而GPS在GPS中引入了静止时的跳跃位置?)

The GPS chip has already built in a (best possible?) real time smoothing using a Kalman filter, having on the one side more information than a post processed smotthing algo, on the other side it has less. GPS芯片已经使用卡尔曼滤波器建立了(最好的?)实时平滑功能,一方面具有比经过后期处理的算法更多的信息,另一方面具有更少的信息。 So next you have to ask yourself: do you compare post processing smooting algos or real time algos? 因此,接下来您必须问自己:您比较后期处理欺骗算法还是实时算法? (probably post processing) Comparing a real time smoothing algorithm with a post process smoothing algorithm is not fair. (可能是后处理)将实时平滑算法与后处理平滑算法进行比较是不公平的。

Again: What do you expect from smoothed data : That they look somewhat fine, but unrealistic like photoshopped models for tv-advertisments? 再说一遍: 您对平滑数据有什么期望 :它们看起来不错,但是不现实,就像电视广告中的photoshopped模型一样?

What is good smoothing? 什么是好的平滑? near to real vehicle postion which nobody ever knows, or a curve whith low acceleration? 接近没人知道的真实车辆位置,还是弯道加速度低?

I would prefer an smoothing algorithm that produces the curve most near to the real (usually unknown) vehicle trajectory. 我更喜欢一种平滑算法,该算法生成的曲线最接近真实(通常是未知的)车辆轨迹。

Or you might just think it should somehow look beautifull: In that case overlay the curves with different colors, display it on a satelitte image map, and let a team of humans (experts at least owning and driving an own car) decide what looks good and realistic. 或者,您可能只是觉得它应该看起来很漂亮:在这种情况下,用不同的颜色覆盖曲线,将其显示在卫星图像上,然后让一群人(至少拥有和驾驶自己的汽车的专家)来决定什么看起来不错和现实。 We humans have the best multi purpose pattern matching algorithm built in. 我们人类拥有内置的最佳多用途模式匹配算法。

Again why smooth? 再次为什么要顺利? : for display in a map to please humans that look at that map? :在地图上显示,以取悦那些看地图的人? or to use the smoothed tracks to feed other algorithms that have problems with the original data? 还是使用平滑的轨道来馈送其他原始数据有问题的算法?
To please humans I have given an answer above. 为了取悦人类,我在上面给出了答案。
To please other algorithms: 为了取悦其他算法:
What they need? 他们需要什么? nearer positions? 更近的位置? or better course value / direction between points. 或更好的航向值/点之间的方向。 What attributes do you want to smooth: only the latitude, longitude coordinates, or also the speed value, and course value? 您想平滑哪些属性:仅纬度,经度坐标,还是速度值和航向值?

I have much professional experience with GPS tracks, and recommend, to just remove every location under 7km/h and keep the rest as it is. 我在GPS跟踪方面有很多专业经验,因此建议仅删除7公里/小时以下的每个位置,并保持其余位置不变。 In most cases there is no need for further smoothing. 在大多数情况下,无需进一步平滑。

Otherwise it gets expensive: 否则会变得昂贵:
A possible solution: 可能的解决方案:
1) You arrange a 2000€ Reference GPS receiver delivered with a magnetic vehicle roof antenna (Eg Company hemisphere 2000 GPS receiver) and use that as reference 1)您安排了一个带有磁性车顶天线的2000欧元参考GPS接收器(例如,公司半球2000 GPS接收器),并将其用作参考
2) You use a comnsumer GPS usually used for your task (smartphone, etc.) 2)您使用通常用于您的任务的消费者GPS(智能手机等)

Both mounted inside the car: drive some test tracks, in good conditions (highways) but more tracks at very bad: strong curves combined with big houses left and right. 两者都安装在车内:在良好的条件下(高速公路)驾驶一些测试跑道,但在非常恶劣的情况下驾驶更多的跑道:强劲的弯道和左右两侧的大房子。 And through tunnel, a struight and a curved one, if you have one. 如果有的话,穿过隧道,是一条坚固而弯曲的隧道。

3) apply the smoothing algoritms to the consumer GPS tracks 3)将平滑算法应用于消费者GPS轨道
4) compare the smoothed to the reference track, by matching two positions and finally calulate the (RMSE Root mean squared error) 4)通过匹配两个位置将平滑后的轨迹与参考轨迹进行比较,最后计算出(RMSE均方根误差)

Difficulties matching two positions: Hopefully the time can be exactly matched which is usually not the case (0,5s offset possible). 难以匹配两个位置:希望时间可以精确匹配,通常情况并非如此(可能有0.5s的偏移)。 Think what do you do when having an GPS outage. 想想当GPS中断时您会怎么做。

Consider first to display a raw track and identify what kind of unsmoothed data is not suitable/ nice looking. 首先考虑显示一条原始轨迹,并确定哪种类型的不平滑数据不合适/外观不好。 (Probably later posting the pics here) (可能稍后在这里发布图片)

使用好的老式卡尔曼滤波器该怎么办!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM