论文部分内容阅读
视觉SLAM已广泛应用在仓储物流、AR/VR、无人机、自动驾驶等领域,目前已有的视觉SLAM方法多是假设物体静止,或是将场景中的动态特征当作异常值剔除。本文针对实际环境中动态物体会引起SLAM算法位姿估计不准确、无法构建全局一致地图的问题,提出了融合Mask R-CNN的多视图几何动态目标检测算法,并在此基础上构建了新的鲁棒视觉SLAM系统结构;为了进一步提高系统实时性及减少动态目标的误检测,提出了动态概率融合的DPF-SLAM算法。具体研究内容如下:首先,针对动态目标检测存在的漏检问题,提出了融合Mask R-CNN的多视图几何动态目标检测算法。采用Mask R-CNN网络对输入图像进行语义分割,将分割结果中的潜在动态目标标记为动态目标。并利用动态点与静态点在相机投影中的差异,融合光度误差、深度误差和重投影误差三项误差值为每一个特征点分配动态权重值,以此权重值筛选场景中动态特征点。利用筛选出的动态特征点为种子点,采用区域生长算法分割完整目标,将分割结果与Mask R-CNN检测结果融合完成最终的动态目标分割。实验结果表明,所提算法在TUM数据集的场景中取得了较好的动态目标分割效果。其次,为了提高动态场景下位姿估计精度并构建全局一致地图,提出了鲁棒视觉SLAM算法。为获取较为准确的位姿初始估计,采用Mask R-CNN语义分割结果剔除潜在动态目标上的特征点,利用剩余特征点估计位姿初始值。为减少错误的特征匹配,利用金字塔LK光流法对参考帧中特征点进行追踪,并融合语义信息和极线约束剔除错误的特征匹配。然后采用融合Mask R-CNN的多视图几何动态目标检测算法检测场景中运动目标,并剔除运动物体上的特征点完成对位姿的重新估计。最后将估计位姿、语义信息、动态目标检测结果和原始RGB-D图像作为稠密重建线程输入,输出无动态目标的语义八叉树地图。实验结果表明,所构建的SLAM系统在动态场景中较开源的ORB-SLAM2和DynaSLAM可以实现更加精确的定位,并能构建全局一致的稠密语义地图。最后,针对系统实时性及同类动态目标误检测的问题,提出了动态概率融合的DPF-SLAM(Dynamic Probability Fusion SLAM)算法。DPF-SLAM在ORB-SLAM2框架基础上添加了Segnet语义分割线程和TSDF稠密重建线程。为提高语义分割速度,在语义分割线程中采用了Segnet网络实时分割图像,并为每一类目标分配动态先验概率。为解决动态目标检测时,将同类目标中处于静止状态的目标作为动态目标分割的问题,先在追踪线程中利用金字塔LK光流法和极线约束检测动态特征点,以此获得每一类目标新的动态概率;将新的动态概率与动态先验概率融合,并利用区域生长算法实现场景中运动目标检测。最后通过剔除位于动态目标中的特征点,利用剩余特征点完成位姿估计,进一步采用TSDF算法实现场景的稠密重建。实验结果表明,所提出的DPF-SLAM算法能够更快的检测运动目标,提高了动态目标检测的准确性。在动态环境下较开源的ORB-SLAM2和DS-SLAM具有更高的定位精度和更好的稠密重建效果。