三维重建15:最近遇到的-标定-EKF-优化方法等
?????? 時間是最好的敵人,再辛苦的東西復盤的時候總是會艮住.....
0.??? ICP算法
?????? 參考:三維重建10-點云配準和點云匹配--https://blog.csdn.net/wishchin/article/details/74279021;
?????? ICP的論文綜述-PCL文檔:《A review of point cloud registration algorithms fro mobile robotics》,Iterative Closest Point。ICP算法是一些系列算法,在1987年提出最初的版本,后續研究進行了特定的優化。比如Point2Plane之類的改進。ICP算法的求解,最好有一個接近最優的初始解,比如先把重心對齊,先把大致的包圍盒BBX對齊,或者尋找主方向也可以。
?
1. ?? EKF方法系列:
?????? 使用卡爾曼濾波器用于追蹤:OpenCV的卡爾曼濾波代碼--https://blog.csdn.net/wishchin/article/details/9352471;
?????? 使用卡爾曼濾波時序分析:https://blog.csdn.net/wishchin/article/details/50378089;
?????? 使用EKF用于SLAM空間定位:SLAM-Inverse Depth Parametrization for Monocular SLAM-https://blog.csdn.net/wishchin/article/details/49423559;
?????? 使用標記點地圖構建SLAM的方法,有一種EKFmonocularSLAM的存在,可以不使用BA直接完成稀疏場景地圖重建,詳細方法和代碼見官網:http://www.openslam.org/,此代碼為Matlab版本,使用Eigen翻譯成C++版本。
?????? 換一個方法解決Eigen的協方差計算:https://blog.csdn.net/wishchin/article/details/49813911
//求矩陣的相關系數!一個原始公式的簡化算法/優化算法 //返回矩陣A的列向量的相關系數矩陣//對行向量求相關系數 , 與行數無關,返回 cols()*cols() 矩陣... Eigen::MatrixXf CIcSearchM::CorrcoefOpm(Eigen::MatrixXf &MI) {Eigen::MatrixXf M =MI;// C(i,j)/SQRT(C(i,i)*C(j,j)).//C is the covariation Matrix//公式://temp = mysample - repmat(mean(mysample), 10, 1);//result = temp' * temp ./ (size(mysample, 1) - 1)int Row= M.rows();int Col= M.cols();int Order= Col;//int Order= (std::max)(Row,Col);Eigen::MatrixXf CovM(Order,Order);//(1,Col);Eigen::MatrixXf E_M(1,Col);//減去每一個維度的均值;確定一列為一個維度。for (int i =0;i< Col;++i){//求均值E_M(i) =M.col(i).sum()/M.rows();M.col(i) = M.col(i)- E_M(i);}//std::cout<< "Mat E_M :"<<std::endl;m_Testor.print_EigenMat( M);CovM = M.transpose();CovM = CovM * M ;//實現 ./ 函數 數值計算沒有區別CovM = CovM /(Order-1)/(Order-1);//遍歷一次for (int i=0;i< Order;++i){for (int j=0;j<Order;++j){CovM(i,j) = sqrt(CovM(i,i)*CovM(j,j) );}}return CovM; }?
2. ?? 二次優化算法:
?????? 二次優化的教材是《最優化方法》,是自動化學院邀請數學系的老師教述的課程。
???? ? 參考:最優化方法-SGD+Adam+AMSGrad--https://blog.csdn.net/wishchin/article/details/80567558;
?????? 參考:ML中的最優化方法-單純形-SGD-GN-BFGS--https://blog.csdn.net/wishchin/article/details/50392669;
?????? 參考:SLAM-三維重建考題總結-https://blog.csdn.net/wishchin/article/details/51424253;
?
3.?? 二維碼標定方法
?????? 多Agent標定可以有很多方法,二維碼給出了一個標準信息范式,可以使用二維碼做不同層次的標定;
?????? 參考:RTabmap-同時運行多個shell文件--https://blog.csdn.net/wishchin/article/details/106072537,包含有使用二維碼進行坐標系標定的匹配方法,代碼暫時未上傳;
?????? 參考:張正友標定法--相機標定-PNP使用單應面解決相機標定問題-https://blog.csdn.net/wishchin/article/details/47397775,含部分源代碼。
總結
以上是生活随笔為你收集整理的三维重建15:最近遇到的-标定-EKF-优化方法等的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 绝地求生怎么找直升机
- 下一篇: 三维重建16:概率图模型 模板类编程