
slam
wx_polish
广东工业大学2020级研究生,目前研究方向为三维建图,立体视觉等。
展开
-
OpenMVS中PatchMatch算法中单应矩阵H的分析
论文:《Accurate Multiple View 3D Reconstruction Using Patch-Based Stereo for Large-Scale Scenes》该论文是OpenMVS中PatchMatch算法原理的出处,因此仔细阅读了一遍,在此记录一下遇到难点。这篇博客讲的主要是该论文中的单应矩阵。论文是怎么表述单应矩阵的?(参数比较多,具体的含义请到论文看哈)稍微解释一下参数:用Xi和ni描述一个平面:Xi是世界坐标系中的一个点。ni 是平面的法向量。Ri、原创 2021-06-23 10:37:17 · 741 阅读 · 2 评论 -
持续更新:OpenMVS中的各种问题:c++语法;代码对应的具体意义
前言:这个文档记录的内容是OpenMVS代码里面碰到的问题,大致可以分成两类:一类是变态的c++语法,另一类是OpenMVS里面一些代码对应的具体意义。文档将会以问答的形式进行记录。———————————————————————————————————————————————————————c++语法问题:1.“ASSERT(imagesMap[idx] != NO_ID)”似乎是一个判断语句,背后具体是怎么封装起来的?解:2.点进NO_ID的宏定义是“DECLARE_NO_INDEX(uint原创 2021-05-14 11:04:02 · 672 阅读 · 2 评论 -
#记录一下:看完能大概理解SIFT思路的博文
#记录一下,一篇比较通俗,看完能大概理解SIFT思路的博文https://blog.youkuaiyun.com/qq_39451645/article/details/112129039原创 2021-05-09 20:21:13 · 221 阅读 · 0 评论 -
#记录一下:关于卡尔曼滤波器的通俗解释
#记录一下卡尔曼滤波器的通俗解释:https://www.zhihu.com/question/22422121/answer/22877882原创 2020-10-22 17:15:53 · 142 阅读 · 0 评论 -
#记录一下:slam十四讲,图优化的解析
#记录一下:图优化的解析https://www.cnblogs.com/gaoxiang12/p/5244828.html原创 2020-10-21 20:56:27 · 315 阅读 · 0 评论 -
概率(probability)---似然(likelihood)的前世今生
概率–似然,这两个词在中文中貌似看不出啥关系。但是在英文里:probability和likelihood,在做阅读理解的时候,你可以认为他们是相同的单词,从而进行同义词替换。但在数学的世界里,以这两个词为核心诞生的两个概念:概率函数和似然函数,却有着天差地别。假如现在有个黑箱,里面放着白球和黑球,他们的比例是惟一的,但却只有上帝知道,但是上帝嘛肯定不告诉你。那么对我们人类来说,怎么才能知道黑箱里的黑白球比例呢?(或曰:每次从箱子里区一个球,是白球或者黑球的概率)不知道上帝想什么,去估计上帝想什么,这就原创 2020-10-19 21:05:20 · 2893 阅读 · 0 评论 -
slam十四讲中关于unordered_map的使用
#记录一下:unordered_map本质上是一个类似于vector的容器,但是不同在于他使用哈希算法来帮助储存检索容器中的数据,比普通的顺序排列读取效率更高。也因为使用了哈希算法,unordered_map比vector多了一个东东——<key, value>键值对。为什么要键值对呢?具体要看看哈希算法的原理。哈希算法可以看看这个,关于哈希算法的一系列解析文章:http://www.nowamagic.net/academy/detail/3008010(这个网站有不少有意思的文章)原创 2020-10-13 19:33:31 · 198 阅读 · 0 评论 -
#记录一下:slam十四讲g2o的高端分析
#记录一下计算机视觉life的文章,关于g2o的详细分析。参考博文:https://mp.weixin.qq.com/s/j9h9lT14jCu-VvEPHQhtBw原创 2020-09-24 11:04:33 · 164 阅读 · 0 评论 -
#记录一下:slam十四讲,第四章李群李代数的高端理解(非常通俗的解析)
#记录一下:一篇要吹爆的博文,李群李代数参考博文:https://blog.youkuaiyun.com/wb790238030/article/details/88219634原创 2020-09-22 22:05:03 · 294 阅读 · 0 评论 -
常见的二范数是什么意思?有什么用?
#记录一下:参考博文写的很清楚了:在优化一个变换矩阵T时,常常用到这样的公式:意思是:现在总共有N个三维点p和相机观测值z,那么我们的目标就是寻找一个最佳的位姿T,使得整体误差最小化。这时候我们的误差函数(等式右边)是一个矩阵呀,这怎么优化,起码也有一个目标值才能优化吧??这就是范数登场的时候了,他就是用来描述等式右边的“误差矩阵”,到底ok不ok。“误差矩阵”的二范数越小表示越逼近实际值。这就是二范数的作用。/分割线/参考博文很详细,方便起见,给点博文的一部分内容:这里的矩阵就是表征原创 2020-09-22 21:11:18 · 54241 阅读 · 0 评论 -
slam十四讲遇到的问题:模板与类/结构体的组合使用
#记录一下template <int _PoseDim, int _LandmarkDim> struct BlockSolverTraits { static const int PoseDim = _PoseDim; static const int LandmarkDim = _LandmarkDim; typedef Eigen::Matrix<double, PoseDim, PoseDim, Eigen::ColMajor> PoseMa原创 2020-09-19 15:56:59 · 269 阅读 · 0 评论 -
slam十四讲中遇到的c++问题:typedef typename Traits::PoseMatrixType PoseMatrixType;
问题:这是什么意思typedef typename Traits::PoseMatrixType PoseMatrixType;解释:使用typedef将旧类型Traits::PoseMatrixType简化定义为一个新的类型PoseMatrixType。typename的作用是告诉编译器 Traits::PoseMatrixType 是一个类型,不是一个变量或者函数。这是因为编译器在最开始并不能判断 Traits::PoseMatrixType 是 Traits 命名空间中的函数、变量还是类型,原创 2020-09-19 11:03:54 · 310 阅读 · 0 评论 -
slam十四讲中遇到的小问题,关于keypoints类和matches类:keypoints_1[m.queryIdx]
代码如下:vector<KeyPoint> keypoints_1, keypoints_2;vector<DMatch> matches;find_feature_matches ( img_1, img_2, keypoints_1, keypoints_2, matches );cout<<"一共找到了"<<matches.size() <<"组匹配点"<<endl;for ( DMatch m:matches ){原创 2020-09-17 20:57:10 · 1457 阅读 · 0 评论 -
slam十四讲ch7中,DMatch类中的queryIdx和trainIdx
由于是在ch7中的pose_estimation_3d2d遇到的问题,因此我直接在pose_estimation_3d2d文件中添加测试代码,测试代码可以放在最后应该也可以,就是图个方便… /*************test*************/ cout << "test_start:" << endl ; Mat my_img1=img_1.clone(); Mat my_img2=img_2.clone(); int img1_原创 2020-09-17 20:42:59 · 5526 阅读 · 1 评论 -
slam十四讲ch7中的pose_estimation_3d2d报错:error while loading shared libraries: libg2o_core.so: cannot open
pose_estimation_3d2d中显示错误的代码段为初始化g2o中的片段: // 初始化g2o typedef g2o::BlockSolver< g2o::BlockSolverTraits<6,3> > Block; // pose 维度为 6, landmark 维度为 3 Block::LinearSolverType* linearSolver = new g2o::LinearSolverCSparse<Block::PoseMat原创 2020-09-17 16:13:16 · 1029 阅读 · 1 评论 -
slam十四讲,第五讲中相机坐标系,像素平面坐标系,世界坐标系,归一化坐标系总结
#笔记,方便日后忘记回看,仅记录重点内容,具体推导回看十四讲先上图:如图,现实世界中有一个P点和一个相机(光心),描述这个P点的空间坐标首先得有一个坐标系,那么以光心为原点O建一个坐标系,叫相机坐标系。那么就可以在相机坐标系下,设P坐标(x,y,z)和P的投影点P’(x’,y’,z’)。值得一提的是,P’(x’,y’,z’)坐落在物理成像平面和像素平面。物理成像平面,像素平面是二维的,他们的坐标系并不一样:物理成像平面在o’x’y’平面上;像素平面的原点在那个黑灰色图的左上角(图片的左上角),原创 2020-09-01 11:47:36 · 8735 阅读 · 6 评论