算法问题,就是从描述来看,是个复合问题,机器人由硬件和软件构建的,不一定全
硬件也要看。通常在不知道事情全貌的情况下,只能给点新思路进行拓展。
视觉 SLAM 失效的原因
在人来人往、光亮差异大、反光大的环境里,通常有4个原因:
第一种常见问题,动态特征干扰,把活物识别成静物,导致错误和轨迹偏移;
第二种即特征质量下降,光照差异过大时,特征提取不稳定,匹配可靠性下降;
第三种,关联失效,反光导致数据关联错误,过于模糊让特征识别跟踪不了。
要是不属于以上三种,就是第四种,含大头虾问题和未解之谜(硬件成本或算法思路。
著名的大头虾问题。就是曾经有次学习的时候,老师说发现intern把参数写错了,但机器也能跑,就是质量不高,后面有人工检查才发现,留下的小伙伴苦透苦透。这就
对策1,动态物体检测与过滤
排除动态干扰,通过实时语义分割网络识别动态物体(如行人),结合光流法检测特征点运动一致性,过滤掉动态区域的特征点。
参考DS-SLAM,将语义分割网络与运动一致性检查方法相结合,以减少动态物体的影响,从而在动态环境中显著提高了定位精度。
DS-SLAM: A Semantic Visual SLAM towards Dynamic Environments

arxiv.org/pdf/1809.08379
还有种针对动态短暂静止场景。
右属于随机就是对动态物体进行运动建模,通过多假设约束分组(Multi-hypothesis Clustering)处理临时静态物体(比如站着边玩手机边东张西望的行人,下一步左还
参考DynaVINS,思路是首先提出了一种鲁棒的集束调整技巧,通过利用IMU预积分估计的姿态先验来剔除来自动态物体的特征点。然后,提出了一种关键帧分组方法和一种基于多假设的约束分组方法,以减少回环闭合中暂时静态物体带来的影响。
DynaVINS: A Visual-Inertial SLAM for Dynamic Environments

DOI: 10.1109/LRA.2022.3203231
对策2,多模态数据融合
深度信息,视觉+激光雷达/深度相机,
利用RGB-D相机或激光雷达的深度信息辅助语义分割,构建稠密静态地图。利用点云聚类与语义分割融合,补偿视觉遮挡和光照变化的影响。
参考StaticFusion,思路是同时估计相机运动以及当前RGB-D图像对的概率性静态/动态分割。随后,该分割被用于加权的稠密RGB-D融合,以仅估计环境静态部分的3D模型。通过利用3D模型进行帧到模型的配准,并结合静态/动态分割,相机运动估计减少了整体漂移,并且对场景中动态物体的存在具有更强的鲁棒性。
StaticFusion: Background Reconstruction for Dense RGB-D SLAM in Dynamic Environments

DOI: 10.1109/ICRA.2018.8460681
借助IMU提供高频运动先验,约束视觉特征匹配,还是DynaVINS,记得先看论文再复现。

github.com/url-kaist/dynaVINS
对策3,鲁棒特征优化与后端处理
根据语义分割结果动态调整特征点权重,避免动态特征污染优化过程。
参考VDO-SLAM,利用语义信息,能够在无需任何关于物体形状或几何模型先验知识的情况下,实现对场景中动态刚性物体的精确运动估计与跟踪。
VDO-SLAM: A Visual Dynamic Object-aware SLAM System

doi.org/10.48550/arXiv.2005.11052
鲁棒Bundle Adjustment,参考DS-SLAM实现动态环境下的高精度建图。就是还有种
最终,看看思路迭代~
面对SLAM最害怕的动,以前容易没招,现在思路是给系统装上记忆脑子,用AI识别出行人等动态物体,继而要么直接忽略它们,要么连它们的运动也一起算出来。
ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial, and Multi-Map SLAM

doi.org/10.48550/arXiv.2007.11898
浙公网安备 33010602011771号