3D NDT [20151126]
来源:互联网 发布:手机淘宝分享在哪 编辑:程序博客网 时间:2024/06/04 18:33
[Magnusson 2009]
NDT的核心即,栅格内正态分布拟合来表征数据点的分布。
优化用Newton-Raphson算法,因其source point set与target point set之间没有对应关系,目标函数为指数函数和形式,无法转化为最小二乘估计问题来求解。
NDT方法的关键应为line 3~6。
而对于其程序实现,本质上也是基于邻近搜索的方法。
// Update gradient and hessian for each point, line 17 in Algorithm 2 [Magnusson 2009] for (size_t idx = 0; idx < input_->points.size (); idx++) { x_trans_pt = trans_cloud.points[idx]; // Find nieghbors (Radius search has been experimentally faster than direct neighbor checking. std::vector<TargetGridLeafConstPtr> neighborhood; std::vector<float> distances; target_cells_.radiusSearch (x_trans_pt, resolution_, neighborhood, distances); for (typename std::vector<TargetGridLeafConstPtr>::iterator neighborhood_it = neighborhood.begin (); neighborhood_it != neighborhood.end (); neighborhood_it++) { cell = *neighborhood_it; x_pt = input_->points[idx]; x = Eigen::Vector3d (x_pt.x, x_pt.y, x_pt.z); x_trans = Eigen::Vector3d (x_trans_pt.x, x_trans_pt.y, x_trans_pt.z); // Denorm point, x_k' in Equations 6.12 and 6.13 [Magnusson 2009] x_trans -= cell->getMean (); // Uses precomputed covariance for speed. c_inv = cell->getInverseCov (); // Compute derivative of transform function w.r.t. transform vector, J_E and H_E in Equations 6.18 and 6.20 [Magnusson 2009] computePointDerivatives (x); // Update score, gradient and hessian, lines 19-21 in Algorithm 2, according to Equations 6.10, 6.12 and 6.13, respectively [Magnusson 2009] score += updateDerivatives (score_gradient, hessian, x_trans, c_inv, compute_hessian); } }
0 0
- 3D NDT [20151126]
- PCL 3D-NDT算法点云配准
- NDT .so
- NDT资料网站,很赞
- SAC-IA粗配准+NDT精配准
- 常见配准算法NDT和ICP
- NDT方法在SLAM中的应用
- Android - 缺少NDT选项和C/C++ Build选项 问题
- 关于Newton-Raphson Algorithm及其NDT实现[20151124]
- %03d、%3d、%-3d规则
- 3D、4D、5D区别?
- 3D
- 3d
- 3d
- 3D
- 3D
- 3d
- 3d
- iPhone的UITextField-更改占位符文本颜色
- javaweb页面跳转的方法
- Java基础——Java笔记——正则表达式笔记
- GCC知识整理
- 二维子数组之和的最大值
- 3D NDT [20151126]
- 数据插入 效率比较 mysql
- DatagramSocket数据包/UDP
- opencv 学习记录
- linux注意事项
- Java Thread Programming -- 目录
- androidStudio 自定义快捷代码的快捷方式
- Exception处理详解[转]
- 结构体定义 typedef struct 用法详解和用法小结 http://blog.sina.com.cn/s/blog_4fdabc820100fsxu.html