简述

在计算H 或者 F矩阵的时候需要对特征点进行坐标变换,称之为归一化。


原因

前辈发现计算单应矩阵时变换特征点的坐标会得到更好的效果,包括坐标的平移和尺度缩放,并且这一步骤必须放在DLT之前。DLT之后再还原到原坐标系。

书本指出归一化与条件数确切的说是DTL矩阵A的第一个和倒数第二个奇异值的比例有关。有充分证据表明在精确数据和无限精度的算术运算条件下,归一化并不起作用,但是有噪声存在时解将偏离其正确结果。

个人推测:类似于机器学习中需要对数据进行归一化,减少数据因为尺度变化过大异常值等的原因影响结果。


步骤

1.将点进行平移使其形心(x,y的均值)位于原点。

2.对点进行缩放使特征点到原点的距离为根号2,即所有点“平均”位于(1,1,1)

3.对两幅图进行独立的上述变换

参考自《计算机视觉中的多视图几何》  3.4.4


代码实现 from ORBslam2

/*** @brief 归一化特征点到同一尺度(作为normalize DLT的输入)** [x' y' 1]' = T * [x y 1]' \n* 归一化后x', y'的均值为0,sum(abs(x_i'-0))=1,sum(abs((y_i'-0))=1** @param vKeys             特征点在图像上的坐标* @param vNormalizedPoints 特征点归一化后的坐标* @param T                 将特征点归一化的矩阵 左乘*/
void Initializer::Normalize(const vector<cv::KeyPoint> &vKeys, vector<cv::Point2f> &vNormalizedPoints, cv::Mat &T) {//第一步得到所有特征点的均值,并将所有点的均值为0float meanX = 0;float meanY = 0;for (int i = 0; i < vKeys.size(); i++) {meanX += vKeys[i].pt.x;meanY += vKeys[i].pt.y;}meanX /= vKeys.size();meanY /= vKeys.size();//第二步将所有点到原点的距离为根号2float meanDevX = 0;float meanDevY = 0;for (int i = 0; i < vKeys.size(); i++) {vNormalizedPoints[i].x = vKeys[i].pt.x - meanX;vNormalizedPoints[i].y = vKeys[i].pt.y - meanY;meanDevX += fabs(vNormalizedPoints[i].x); //fabs是求一个实数的绝对值  点到原点距离的累加meanDevY += fabs(vNormalizedPoints[i].y);}meanDevX /= vKeys.size(); //点到原点距离的平均值meanDevY /= vKeys.size();for (int i = 0; i < vKeys.size(); i++) {vNormalizedPoints[i].x /= meanDevX;vNormalizedPoints[i].y /= meanDevY;}//用于还原特征点到原始的坐标系,获得矩阵   |sX  0  -meanx*sX|  用于取逆     x    快速还原//                                  |0   sY -meany*sY|          *   y//                                  |0   0      1    |              1float sX = 1.0 / meanDevX;float sY = 1.0 / meanDevY;T = Mat::eye(3, 3, CV_32F);T.at<float>(0, 0) = sX;T.at<float>(0, 2) = -meanX * sX;T.at<float>(1, 1) = sY;T.at<float>(1, 2) = -meanY * sY;T.at<float>(2, 2) = 1;
}

转载于:https://www.cnblogs.com/FangLai-you/p/11192268.html

slam中特征点归一化原因以及方法相关推荐

  1. 作为SLAM中最常用的闭环检测方法,视觉词袋模型技术详解来了

    摘自:https://mp.weixin.qq.com/s/OZnnuA31tEaVt0vnDOy5hQ 作为SLAM中最常用的闭环检测方法,视觉词袋模型技术详解来了 原创 小翼 飞思实验室 今天 基 ...

  2. SVO: 视觉SLAM中特征点法与直接法结合

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 前面的话 VSLAM 是利用多视图几何理论,根据相机拍摄的图像信息 ...

  3. SLAM | 视觉SLAM中特征点法与直接法结合:SVO

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 前面的话 VSLAM 是利用多视图几何理论,根据相机拍摄的图像信息对相机进行定位并同时构建周围环境地图 ...

  4. 论文精读 | slam中姿态估计的图优化方法比较

    一. 摘要 对于位置环境中的自主导航问题,同步定位与建图(Simultaneous localization and mapping, SLAM)是一个非常重要的工具框架.根据SLAM字面含义可以得知 ...

  5. SLAM中姿态估计的图优化方法比较(g2o/Ceres/GTSAM/SE-Sync)

    编辑 | 深蓝AI 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 后台回复[SLAM综述]获取视觉SLAM.激光SLAM.RGBD-SLAM等多篇综述! 本 ...

  6. Matlab中特征降维主成分分析(PCA)使用方法(整套流程)

    1. PCA简介: PCA(Principal Component Analysis)主成分分析方法是一种常见的数据降维方法.数据维度过高可能会使得模型效果不佳.PCA主要原理是将高维原数据通过一个转 ...

  7. SLAM | 激光SLAM中开源算法对比

    点击上方"AI算法修炼营",选择加星标或"置顶" 标题以下,全是干货 前面的话 好久没有更新SLAM系列的文章了,前面我们讲到了激光SLAM技术.基于激光雷达的 ...

  8. 二十五.SLAM中Mapping和Localization区别和思考

    专栏系列文章如下: 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN ...

  9. 最全综述 | SLAM中回环检测方法 收藏

    在视觉SLAM问题中,位姿的估计往往是一个递推的过程,即由上一帧位姿解算当前帧位姿,因此其中的误差便这样一帧一帧的传递下去,也就是我们所说的累积误差.一个消除误差有效的办法是进行回环检测.回环检测判断 ...

最新文章

  1. C++中的vector的用法
  2. python利用自动识别写模块_Python 利用pytesser模块识别图像文字
  3. 2019年上半年收集到的人工智能图神经网络干货文章
  4. OpenCV离散傅立叶变换
  5. URG与PSH的联系和区别
  6. HTML5 Audio(音频)
  7. ImportError: libSM.so.6: cannot open shared object file: No such file or dir
  8. 语言专项精讲课程 赵海英_最全汇总:沪江日语课程体系指南
  9. 【算法学习】线性时间排序-计数排序、基数排序和桶排序详解与编程实现
  10. 通过 Python_Faker 生成测试数据
  11. 抓包测试步骤XMind
  12. JQuery_九大选择器
  13. STM32 + RT Thread OS 学习笔记[四]
  14. Android Proximity Sensor近距离传感器P-Sensor
  15. 无人机光电系统图像处理模块AVT22
  16. 聚合图床_sojson_v6
  17. 用MATLAB求解数据拟合问题
  18. eclipse 快捷调整字体_eclipse设置字体、字符编码、快捷键
  19. 在phpstudy的环境下,如何配置php虚拟主机。
  20. 安利一个非常好用的 echarts geojson 生成器

热门文章

  1. Xstream解析报文
  2. matlab将二值图像与原图重叠_[转载]图像处理matlab及图像融合图像镶嵌图像拼接...
  3. JCheckBox 默认选择_[注册表] 将Windows 10默认应用程序设置页面添加到桌面右键菜单中...
  4. oracle改用户名名字,Oracle中如何更改用户名
  5. 新网 云服务器,新网云服务器的优势包括什么?
  6. php动态验证码脚本,这个PHP脚本有什么问题吗? (验证码)
  7. vb mysql 查询_vb中用sql语句查询数据库
  8. 9.如何使用QT绘制导航箭头的图标
  9. 配置网口相机(大恒水星相机)
  10. 王者服务器维护什么时间结束s22,王者荣耀s22赛季结束时间 s22赛季什么时候结束?[多图]...