orbslam 地图点观测距离范围 mfMinDistance,mfMaxDistance 的理解

目的是在不同帧不同距离的范围内观测到同一个地图点

直观理解,由于相机成像小孔成像近大远小

相机在距离特征点i 1米时图像金字塔第0层的 31x31图像区域, 类似于相机在距离 特征点i 最远约1*1.2^{-7}米时的图像金字塔第7层的31x31图像区域。

相机在距离特征点i 1米时图像金字塔第7层的31x31图像区域, 类似于相机在距离 特征点i 最远约1*1.2^{7}米时的图像金字塔第0层的31x31图像区域。

具体解释如下:

不同帧观测到同一fast角点是怎么实现呢? 匹配不同帧对应的描述子,特征点描述子之间距离较小就认为是观测到了同一个点。

描述子是由 特征点为中心的31x31像素的图像 计算得到。

如果两帧相机与角点的物理距离一致,那么提取同样的31x31像素范围图像拍摄的物理信息基本一致,得到的描述子距离很近,可以完成匹配;如果两帧相机与角点的物理距离相差较远,由于小孔成像近大远小,同样的31x31图像范围涵盖的物理信息就大不相同,计算的描述子距离相差很远,完不成匹配。引入图像金字塔(图像缩放)可以解决这个问题。

假设:

第1帧特征点i 与相机的距离是1m,第0层金字塔 31x31图像范围涵盖的物理范围是area1_0, 

第2帧相机靠近该特征点,与相机距离是0.279m,第0层金字塔31x31图像范围涵盖的物理范围是area2_0,第7层金字塔31x31图像范围涵盖的物理范围是area2_7

由近大远小,area1_0要比area2_0大很多,area1_0对应第2帧第0层金字塔中比31x31更大的图像区域(可能是100x100...),而如果对图像进行了缩放,area1_0对应第2帧第7层金字塔同样31x31的图像区域,那么提取的特征点就可以完成匹配。

以上也就有了第1帧第0层中距离1m的特征点对应的最近距离mfMinDistance = 1*1.2^{-7}


 

你可能感兴趣的:(orbslam,slam,orb)