SLAM目前在各领域都已经有很多的应用,但为什么大部分已经落地的都用的还是最传统的方法,比如目前最主流的ORB-SLAM,即使到ORB3也依旧用的是传统的FAST和BRIEF方法来检测和提取特征点,而不用CV领域里早已经普遍的神经网络如VGG等来提取特征点。当然最新的很多语义SLAM论文里都已经用到了如GCN等神经网络提取特征,但为什么目前落地和应用的大部分还用的是传统的方法?提取速度和所需算力应该不会有太大差异才是?*
作者:心态炸裂男孩
谈一下个人看法,可能不对。
首先slam是一个偏工程化的应用技术。因此算力成本是一个非常重要的因素。传统的特征提取速度快,算力成本低,可以在cpu运行。如果利用深度学习特征提取,算力包括gpu,深度学习特征带来的额外CPU和内存成本。问题是传统方法特征提取已经能满足大部分场景了。
深度学习提取的特征就一定好?显然不是的。因为数据集的原因,利用深度学习训练出的特征子适用性并不一定好。貌似网上有一篇论文,利用orbslam框架,对比了orb和superpoint的效果。发现有几组superpoint效果确实好,但是有几个序列视频利用superpoint的slam直接track lost.这就表现的不好了。
因此在大多数场景下,传统特征可以解决。利用深度学习特征就显得画蛇添足了,没有必要。当然在某些场景利用传统特征就不可行。如光照变化剧烈,相机运动剧烈等场景。在long term slam这个话题下,深度学习特征效果明显。
slam方法不仅仅是为了定位,个人觉得slam终极目的是复用地图。显然长时间定位这块大部分人的目光都是投入到深度学习特征上,去superpoints.r2d2特征。毕竟长时间定位会有时间,天气,光照,动态物体变化,传统方法根本就不能解决。而深度学习特征却可以保证长时间定位的准确度。
所以个人看法,虽然深度学习特征虽然用的不多。但未来基于深度学习特征slam会越来越多。
作者:余世杰
其他答主都说了好多了,算力问题以及提升率啥的。
我个人是觉得还有个原因是,特征匹配在视觉SLAM中的重要性没有到夸张的地步,在传统算法情况下,有一定的错误匹配也能得到较好的结果,前端重要的同时,后端更加重要。
那么多SLAM算法,前端都大同小异,而且帧之间的位姿变换好多都是先用匀速模型做初始值,去适配优化,实在不行再进行特征点的匹配求位姿。真正区别还是关键帧的处理,强调运动的整体性,而不是两张图之间单纯的匹配精度。
这是我个人的观点,有不对的还请大佬指正。
--以上来自2020年9月,回过头2023年5月自己使用测试过之后发现,目前的特征提取依赖性并不强,传统的也能做得比较好,反而神经网络的提取稳定性和重复性可能不够强。
但是对描述子的计算和匹配上,还是有一定参考性,更实用,感兴趣的朋友可以自己也测试看看
作者:刘国庆
谈谈我的看法吧,不一定正确,仅供参考:
1、算力和功耗问题,背后也是成本问题,也是最致命的问题。即使是TX2这类面向嵌入式的GPU,耗电和成本也非常可观……FPGA硬件实现网络,或者做订制ASIC可以同时解决算力和功耗问题,不过貌似学术界貌似认为这些不是它们应该解决的问题,而且结果复现严重依赖硬件,不太爽。算力相对受限这一点也是我个人做东西没有用基于学习的特征的原因。
另对于题主所言“提取速度和所需算力不会有太大差异”,请问是使用哪一种特征提取网络,又是和哪一种传统特征提取算法,在何种计算平台进行的对比测试所得到的结论呢?我没做过详细的耗时和算力需求对比,但是我还是对该结论有点怀疑。
2、够用就好,盲目追求高精度在落地应用方面是不可取的。好比Nvidia RTX 20系显卡,2080Ti价格比2080S提高了接近一倍,性能提升只有20%~30%,对于成本敏感的落地应用而言,你会做这个交易吗?何况2080s算力本身也不算差。
3、应该有正在推进中的落地应用,只是涉及到商业机密,你我不知道罢了。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !