轨迹系列——一种基于中值滤波的轨迹纠偏方法和几点思考

简介: 文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/1.背景在无路网的情况下,如何进行轨迹纠偏也是一个很多人在研究的内容,各种方案均有很多,有基于不同滤波算法的,也有基于机器学习的,等等。

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

1.背景

在无路网的情况下,如何进行轨迹纠偏也是一个很多人在研究的内容,各种方案均有很多,有基于不同滤波算法的,也有基于机器学习的,等等。这里,我探讨一种实现相对简单的基于中值滤波来进行轨迹纠偏的方法。

2.中值滤波简介

中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。

中值滤波法对消除椒盐噪声非常有效,在光学测量条纹图象的相位分析处理方法中有特殊作用,但在条纹中心分析方法中作用不大.中值滤波在图像处理中,常用于保护边缘信息,是经典的平滑噪声的方法。

 

基于中值滤波对去噪平滑有比较好的效果,这里尝试将中值滤波这种思路用在对轨迹点去噪平滑中。

3.算法设计

3.1初步算法设计

算法基于一定的历史轨迹点,初步设计为:

 

3.2算法优化

根据历史轨迹的数量,以及轨迹的特征,我们再进行如下的算法优化:

a.加上初始的滤波阈值minRange,最大滤波阈值maxRange,递增累加阈值rangeStep,中值样本数目meanNum,四个参数。这个四个参数的作用是首先根据minRange在历史轨迹中过滤出坐标(x,y)附近的轨迹点,判断轨迹点的数目是否大于meanNum,如果轨迹点的数目大于,则返回由所得轨迹平均出的中值,否则将Range加上rangeStep,再返回初始判断。其跳出条件是,当Range大于maxRange后,则将原点判断为奇点,进行返回。

 

b.由于中值滤波本身是要对范围点排序,再前后去相同数目后再进行平均,但是考虑到对轨迹点走位过滤再排序效率太低,这里直接将所有范围内点进行平均。

c.如果连续多个点均是奇点,将判断为一条新的路线而不舍弃,否则将奇点舍弃。即增加一个ourRangePointNum参数,多余这个参数的奇点均是正常点,否则舍弃。

3.3优化总结

算法优化的目的是:

a.尽量合理算出中值。

b.对无法取中值的奇点,要判断是正常点还是噪音点,尽量保证轨迹特征点。

c.优化算法效率。

4.算法实现

4.1均值算法

 

 

4.2入口调用

 

 

           

5.结果展示

 

 

6.几点思考

a.基于历史轨迹的查询通过X和Y来过滤效率偏低,可以通过geohash编码后再进行单个字段匹配会加速历史轨迹的查询。

b.中值滤波的效率、平滑等效果一般,并且过度依赖于历史轨迹数据样本。

c.中值滤波会出现将某些点纠偏过度。

 

 

 

 

 

 

                                                                             -----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                                 如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^

                                                                                                                     

 

目录
相关文章
|
6月前
|
存储 机器学习/深度学习 搜索推荐
探索医学影像:如何通过ROI灰度直方图和ROI区域方格图揭示隐秘细节?
探索医学影像:如何通过ROI灰度直方图和ROI区域方格图揭示隐秘细节?
245 1
|
机器学习/深度学习 传感器 算法
支持三维主应力空间中岩石破坏包络线的定量绘制和分析附matlab代码
支持三维主应力空间中岩石破坏包络线的定量绘制和分析附matlab代码
|
1月前
|
数据采集 数据挖掘 数据库
单细胞分析 | 使用 Monocle 3 进行发育轨迹分析
单细胞分析 | 使用 Monocle 3 进行发育轨迹分析
133 0
单细胞分析 | 使用 Monocle 3 进行发育轨迹分析
|
5月前
|
编解码 资源调度 算法
技术心得记录:小波变化与小波降噪
技术心得记录:小波变化与小波降噪
|
6月前
|
SQL 算法
LabVIEW开发机械手圆周插补轨迹控制
LabVIEW开发机械手圆周插补轨迹控制
41 0
|
6月前
|
数据可视化
R语言分段线性回归分析预测车辆的制动距离
R语言分段线性回归分析预测车辆的制动距离
|
机器学习/深度学习 传感器 算法
垂直腔表面发射激光器极化噪声的建模与分析论文复现
垂直腔表面发射激光器极化噪声的建模与分析论文复现
|
传感器 算法
【改进的多同步挤压变换】基于改进多同步挤压的高分辨率时频分析工具,用于分析非平稳信号(Matlab代码实现)
【改进的多同步挤压变换】基于改进多同步挤压的高分辨率时频分析工具,用于分析非平稳信号(Matlab代码实现)
155 0
|
JSON 算法 数据格式
【变化检测】多时相影像变化检测精度评价(附有完整代码)
【变化检测】多时相影像变化检测精度评价(附有完整代码)
|
智慧交通
智慧交通day03-车道线检测实现06:车道线定位及拟合+代码实现
我们根据前面检测出的车道线信息,利用直方图和滑动窗口的方法,精确定位车道线,并进行拟合。
255 0