一.噪声去除
方法一 Radius Outlier Removal
① 对于每个点,划定一个领域半径R
② 数一数领域内少于规定的一个数值,就去掉
③大于就保留
方法二 Statistical Outlier Removal 是方法一的升级版不同点从第②开始不去傻傻数了
① 对于每个点,划定一个领域半径R
② 算每一个领域内的邻居离我自己有多远,记为Dij 【i是自己,j是邻居】
③ 算Dij的平均值和方差,对每个点都算了统计数值平均下来Dij应该是长什么样子
④ 再过一边所有点还是找半径为R的领域
⑤ 如果邻居的距离大于 就去掉,小于就留着
效果图 红的线就是原来的邻居的距离 绿的线就是滤波后的邻居的距离
二.降采样
不需要那么多就能够识别,能在保存这个对象特征的同时降低运算量。
方法一 Voxel Grid Downsampling(划分成一个一个均等的格子,在每个格子里面找一个代表)
①左边划分成一个格子,找一个黑的代表 ②划分成4个格子(更好的分辨率),每个格子取一个黑点有四个
问题?Ⅰ格子里面的点怎么去? Ⅱ怎么使降采样过程实现的时候变得更高效
解决ⅠCentroid 方框内的平均值(如果是人、汽车不能做平均值的 就做Voting),稍微慢点
ⅡRandom select 随意选择
方法二 Farthest Point Sampling(FPS)
①选定一个点 然后找离这个点越远越好
② 选一个 离两个都远
③选一个 离三个都远。。。
方法三 Normal Space Sampling(NSS)
①再不同的方向上建立容器
②把所有点扔进去
③每一个容器里面都挑取同等数量的点
所以保证了不管怎样的法向量,最终都会出现在我的降采样结果里面去,而不会出现这种凸起的地方都被漏掉的情况。
方法四 Learning to Sample
三、上采样(双边采样Bilateral Filter)
点不可能把每个点都填满,多传感器融合的时候希望图片上每一个像素都能带一个深度,这样图片的信息就很丰富,有深度又有纹理,激光雷达的数据怎么把他变得稠密呢
方法一Bilateral Filter
要做模糊,将一个高斯和运用到图片上
把这个rgb 替换成周围数据的加权平均。权重来自高斯和 。 一个点受他周围的点影响,越高就影响越多;如果曲线越来越肥的话,这个点受到影响的范围就越来越大,就被模糊掉了。
怎么像上图一样实现边缘的保护,把细节模糊把框架留住?
Bilateral Filter有两个高斯核
p的像素替换成q的加权平均,划线一项和原来那个一模一样,波浪线的是通过p和q的颜色像不像来的(像数值大),Wp是标准化的。这个效果在哪?
如果有一个像素q,离p很远,而且颜色也和p不像,所以两项相乘很小,对p影响小。
如果离p远,颜色像,一大一小,中间数值了
如果离p近,颜色像,就很大
右边的杆子,如果用高斯滤波就用很近的地方赋予到很远的地方
用双边滤波就可以加颜色信息 避免此类