来源: 计算机视觉life
GitHub链接:GitHub - electech6/ORB_SLAM3_detailed_comments: Detailed comments for ORB-SLAM3
整体思路:目的:两帧图像稀疏立体匹配(即:ORB特征点匹配,非逐像素的密集匹配,但依然满足行对齐) 输入:两帧立体矫正后的图像img_left 和 img_right 对应的orb特征点集
输出:稀疏特征点视差图/深度图(亚像素精度)mvDepth 匹配结果 mvuRight
过程:
- 1. 行特征点统计. 统计img_right每一行上的ORB特征点集,便于使用立体匹配思路(行搜索/极线搜索)进行同名点搜索, 避免逐像素的判断.
- 2. 粗匹配. 根据步骤1的结果,对img_left第i行的orb特征点pi,在img_right的第i行上的orb特征点集中搜索相似orb特征点, 得到qi
- 3. 精确匹配. 以点qi为中心,半径为r的范围内,进行块匹配(归一化SAD),进一步优化匹配结果
- 4. 亚像素精度优化. 步骤3得到的视差为uchar/int类型精度,并不一定是真实视差,通过亚像素差值(抛物线插值)获取float精度的真实视差
- 5. 最优视差值/深度选择. 通过胜者为王算法(WTA)获取最