有没有人尝试过开发一个使用深度学习特征而不是经典AKAZE/ORB/SURF
特征的 SLAM 系统?
浏览最近的计算机视觉会议,似乎有不少关于成功使用神经网络来提取特征和描述符的报告,并且基准测试表明它们可能比经典的计算机视觉等效物更强大。我怀疑提取速度是个问题,但假设一个有不错的 GPU(例如 NVidia 1050),那么在具有深度学习特征的 640x480 灰度图像上构建一个以 30FPS 运行的实时 SLAM 系统是否可行?
有没有人尝试过开发一个使用深度学习特征而不是经典AKAZE/ORB/SURF
特征的 SLAM 系统?
浏览最近的计算机视觉会议,似乎有不少关于成功使用神经网络来提取特征和描述符的报告,并且基准测试表明它们可能比经典的计算机视觉等效物更强大。我怀疑提取速度是个问题,但假设一个有不错的 GPU(例如 NVidia 1050),那么在具有深度学习特征的 640x480 灰度图像上构建一个以 30FPS 运行的实时 SLAM 系统是否可行?
这对于评论来说有点太长了,所以这就是我将其发布为答案的原因。
我认为这是可行的,但我不明白这会有什么用。这是为什么(如果我错了,请纠正我):
在大多数 SLAM 管道中,精度比长期稳健性更重要。您显然需要精确的特征检测/匹配才能获得可靠的三角测量/捆绑(或您可能使用的任何等效方案)。然而,神经网络提供的高水平鲁棒性只需要在长时间间隔上进行重新定位/闭环的系统(例如,需要在不同季节进行重新定位等)。即使在这种情况下,由于您已经拥有 GPU,我认为最好使用场景的光度(甚至只是几何)模型进行定位。
对于神经网络检测到的特征,我们没有任何可靠的噪声模型。我知道有一些有趣的作品(Gal、Kendall 等)用于在深度网络中传播不确定性,但这些方法在 SLAM 系统中的部署似乎有点不成熟。
深度学习方法通常有利于初始化系统,它们提供的解决方案需要改进。 他们的结果过于依赖训练数据集,在实践中往往“碰巧”。所以我认为你可以相信他们得到一个初步的猜测,或者一些约束(例如在姿势估计的情况下:如果你有一个随时间漂移的几何算法,那么你可以使用神经网络的结果来约束但是我认为没有前面提到的噪声模型会使这里的融合有点困难......)。
所以,是的,我认为这是可行的,而且你可以通过仔细的工程和调整产生一些有趣的演示,但我不会相信它在现实生活中。