这篇文章是在找学校的时候,无意中发现的九州大学的一个实验室发的物体级SLAM,而且发的还是IROS,所以顺便看了一下。文章的框架基于ORBSLAM3,主要是对前端的内容进行了修改,加入了物体信息。
一、深度学习模型的应用
这篇文章可以说是把深度学习模型用的十分明白,框架的输入是单目图像,但是经过了深度恢复模型、2d目标检测、3d目标检测以及语义分割等多个模型的处理,得到了大量的额外信息,根据实验部分的叙述,文章使用mask-rcnn进行2d目标检测和语义分割,并使用DD3D进行3d目标检测,产生的包围框被用在了跟踪部分。
二、基于MOT的局部地图跟踪
论文最大的创新点,在于物体信息的应用,不同于之前看过的物体级SLAM,MOTSLAM更像是利用物体信息,对点特征进行了不同性质的处理。首先物体的初始化是利用3d目标检测的包围框,3d的包围框会作为地图元素参与到跟踪过程,在物体跟踪时,利用2d目标检测的包围框与3d包围框的投影结果,计算交并比,以此进行帧之间的物体跟踪,当3d物体长时间无法被跟踪时,就认为该物体已经超过了物体的可视范围,此时就将物体剔除,不再对其进行参数的更新。物体建立后,特征点会根据2d包围框划分所属的物体,这样做一方面是增加了物体的信息,另一方面也将特征点拆分为了前景点和背景点。
三、地图点的划分
不同于之前的SLAM框架,MOTSLAM将地图点划分为前景点和背景点,其中前景点是落在物体上面的特征点,而背景点则属于环境,前景点由于在物体上,极大可能是动态的点,所以传统的三角化可能会受到影响,因此使用DNN重建的深度图进行深度恢复,而背景点由于是静态点,所以可以直接使用三角化恢复深度。
对特征点进行这种划分,同时用在了点跟踪和局部优化的部分。在跟踪的部分,由于前景点可能是动态点的问题,直接投影可能并不准确,所以作者利用物体自身相对稳定这一特点,将地图点转换到物体坐标系下,以物体为单位进行转换,最后再投影到新的一帧上,以此来进行跟踪。
而在局部优化的部分,前景点和背景点的用途也有不同,背景点还是按照之前标准的BA优化进行优化,而对于动态点,作者也是利用了物体信息,将其转换到物体内部再进行重投影,最后结合到一起进行优化,优化的内容包括物体位姿、相机位姿以及特征点的坐标。这样就可以同时兼顾动态物体和静态物体。
四、 总结
这篇文章对于物体的应用方式和之前的研究思路不太一样,之前的方法大多数是利用物体这一整体作为一种特征,参与到SLAM的框架中,而MOTSLAM更像是利用点与物体关联产生的一些性质,为点提供更多的约束信息,本质上是利用物体去辅助点,而物体并没有作为一类特征参与到框架中,正是这种思路,使得论文能够对SLAM的前端进行改进,同时还能在位姿估计方面有所提升。个人感觉文章最大的创新点,就是将前景点转换到物体内部这一思想,物体自身内部保持稳定,所以能够在帧之间以更加稳定的方式进行特征点的跟踪。