本文主要是介绍superpoint在vlam应用的设计思路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- vslam是在跟踪一般跑20hz,只需要提点,不需要描述子。但是在后端回环时,一般跑5hz,这时候需要更多的点和描述子。而superpoint模型是一下子把特征点和描述子都提取出来的,为了节约资源,只让模型跑一次,进行如下设计。
由于提点的时候,我们已经知道这一帧是不是要发布给后端的,所以如果这帧是发布给后端的,就把superpoint提取的结果(score和des)和对应的时间戳保存到buff里面。在后端通过时间戳去取。由于首尾都需要插入,中间不做操作,故选用queque。
如何仿照光流跟踪,mask提点。
跟踪上的点会在图片画上mask,黑色0的地方不能在提取点,255白色地方提点。
superpoint输出一张W*H的分值表,根据阈值和mask我们把符合要求的点放入vector,根据其分值对其排序,然后从高分特征点算起,我们以最小距离把图片画成格子,找到该特征点所在的格子,去遍历它周边的一个格子,看里面是否有点和它距离小于30,如果没有则把该点设为特征点。
这篇关于superpoint在vlam应用的设计思路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!