值得注意的是,ORBSLAM2中每个模块中都采用ORB描述子,而不像之前的其他系统那样跟踪和回环检测使用不同的特征点,这种做法一方面是节省提取时间,另一方面可以使得整个系统更加简洁。 在跟踪阶段,ORBSLAM2对输入图像提取ORB描述子,与参考帧图像的ORB描述子进行特征匹配,具体的特征匹配方法下一讲中我们再详细讨论。如图1蓝...
通过三角函数计算可以得到旋转后新的像素点的坐标为: ORB-SLAM2里采用了一种固定的选点模板,一共选了256对点。这个模板保证了描述子具有较高的辨识度。在每个关键点都用这个模板确定每一维描述子。 代码实现时的加速方法 在ORB-SLAM2代码实现中,使用了技巧加速主方向的计算: 参考:VSLAM系列原创01讲 | 深入理解OR...
int v, v0, vmax = cvFloor(HALF_PATCH_SIZE * sqrt(2.f) / 2 + 1); int vmin = cvCeil(HALF_PATCH_SIZE * sqrt(2.f) / 2); const double hp2 = HALF_PATCH_SIZE * HALF_PATCH_SIZE; for (v = 0; v <= vmax; ++v) umax[v] = cvRound(sqrt(hp2 - v * v)); for (v = HA...
ORBSLAM2-中与特征提取及描述子计算相关的几个坐标系 下面涉及到的坐标系都是按照 像素平面坐标系的形式 设置的 特征点方向计算坐标系 预定义的描述子采样点 的坐标系 用于描述子计算的坐标系 在看ORBSLAM2的特征点和描述子计算时,对代码中有一部分计算涉及到的坐标究竟代表什么含义不是很清楚,后来弄明白了就在...
根据上面的类比,还有我那抽象派的苹果,应该可以对ORBSLAM2中的ORB特征提取做的事情有个大概的了解。 这里需要提一下的是原生态的ORB特征提取的方法,他主要是通过阈值条件选出所有满足条件的ORB描述子,然后计算所有描述子的响应强度并排序M,根据输入要求的特征点数量N,取M中前N个描述子,即响应值最大的前N个描述...