动态障碍物检测和去除
研究背景:研究全局地图中的3D动态障碍物刷新…话说正常一点的不是局部动态刷新,以及做导航规划时的二维障碍物刷新?,现在要做3D障碍物(基于视觉)的一个实时刷新,也就是需要对全局地图进行更新或者只对当前一定范围内的地图进行刷新,保证其余地区的地图不变(这两种方式比较倾向于第二种),这样去处理不是进一步加大了内存使用的负担吗……,如何能保证降低或者不增加太多内存和CPU的使用率情况下完成上述功能?
算法详细步骤如下
1. 获取当前时刻t的关键帧F(t), 并已知过去时刻的地图M(t-1);
2. 利用视角椎的方法计算当前关键帧F(t)与M(t-1)的重叠区域,并假定与M(t-1)的重叠区域为M_over, 与当前帧的重叠区域为F_over,因此可以根据3D点云点属于不同的重叠区域可以得到不同的障碍物区分:
属于F_over 且 属于M_over "静态障碍,背景点"
属于F_over 但 不属于M_over "动态障碍物"
不属于F_over 但 属于M_over "动态物的轨迹虚影"
3. 利用视角椎计算重叠区域时,计算t时刻相机位姿下M(t-1)的内点即为M_over; 计算t时刻相机位姿下的M(t)=F(t-1)T即为F_over.
4. 去除步骤ii中的第3)种可能,再将剩下地图与当前帧进行融合,得到新的地图。