![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SLAM
yanqs_whu
武汉电力职业技术学院
展开
-
SLAM学习:DSO学习资料推荐
资料最近学习DSO,发现小C酱油兵写的非常不错,留一下记录。期待博主的进一步更新!DSO全家桶(一)——DSO流程概述DSO全家桶(二)——DSO前端:提取梯度点DSO全家桶(三)——DSO前端:初始化DSO全家桶(四)——DSO前端:前端跟踪...转载 2020-12-29 15:11:23 · 223 阅读 · 0 评论 -
SLAM从入门到放弃:SLAM十四讲第十三章习题(2-3)
以下均为简单笔记,如有错误,请多多指教。把本讲的稠密深度估计改成半稠密,你可以先把梯度明显的地方筛选出来。把本讲演示的单目稠密重建代码从正深度改成逆深度,并添加仿射变换。你的实验效果是否有改进?解:此处把两个题目的解放在一起,以下就是所有的代码,将分别注释相关的代码。在这里插入代码片...原创 2018-11-27 17:01:38 · 2198 阅读 · 11 评论 -
SLAM从入门到放弃:SLAM十四讲第十三章习题(1)
以下均为简单笔记,如有错误,请多多指教。推导证明两个高斯分布的乘积依旧为高斯分布。答:本证明有许多方法,可以参考直观理解高斯函数相乘。但是这种方法过于直观化~,实在是不适合我这种愚钝之人,所以参考了另外一种完全进行公式推导的方法Products and Convolutions of Gaussian Probability Density Functions。本文以下的推导证明大都来自...原创 2018-11-27 16:51:12 · 767 阅读 · 1 评论 -
SLAM从入门到放弃:SLAM十四讲第十一章习题(1-2)
以下均为简单笔记,如有错误,请多多指教。如果将位姿图中的误差定义为Δξij=ξi∘ξj−1\Delta \xi_{ij}=\xi_i\circ\xi_j^{-1}Δξij=ξi∘ξj−1,推导按照此定义的左乘扰动雅克比矩阵。答:在进行证明之前,不妨先把Δξij=ξi−1∘ξj\Delta \xi_{ij}=\xi_i^{-1}\circ\xi_jΔξij=ξi−1∘ξj推导一次...原创 2018-11-16 18:35:02 · 1683 阅读 · 6 评论 -
SLAM从入门到放弃:SLAM十四讲第十章习题(1-4)
以下均为简单笔记,如有错误,请多多指教。证明式K=P‾kCkT(CkP‾kCkT+Qk)−1K=\overline{P}_kC_k^T(C_k\overline{P}_kC_k^T+Q_k)^{-1}K=PkCkT(CkPkCkT+Qk)−1。答:由于课本上已经推导了大部分的公式,则已知P^k=(1−KCk)P‾k\widehat{P}_k=(1-KC_k)\overline...原创 2018-11-14 14:09:42 · 1149 阅读 · 3 评论 -
SLAM从入门到放弃:SLAM十四讲第七章习题(10)
以下均为简单笔记,如有错误,请多多指教。在Ceres中实现PnP和ICP的优化。答:代码如下,其结果与g2o差异不大。不过感觉代码看起来更加简洁,个人比较喜欢ceres。PnPICP...原创 2018-11-08 21:10:06 · 642 阅读 · 0 评论 -
SLAM从入门到放弃:SLAM十四讲第七章习题(9)
以下均为简单笔记,如有错误,请多多指教。使用Sophus的SE3类,自己设计g2o的节点与边,实现PnP和ICP的优化。答:对于PnP问题,需要重新设计的节点包括相机节点、Landmark节点和一个相机-Landmark边;而对于ICP问题,由于边已经实现了,所以只需要实现节点即可。PnP问题#include "sophus/se3.h"// 相机顶点class CameraV...原创 2018-11-08 11:45:27 · 820 阅读 · 0 评论 -
SLAM从入门到放弃:SLAM十四讲第六章习题
以下均为简单笔记,如有错误,请多多指教。证明线性方程Ax=bAx=bAx=b当系数矩阵AAA超定时,最小二乘解为x=(ATA)−1ATbx=(A^TA)^{-1}A^Tbx=(ATA)−1ATb。解:首先声明是最小二乘解是使得∣∣Ax−b∣∣2||Ax-b||^2∣∣Ax−b∣∣2得到最小值的解,假设记xa=x+x△x_a=x+x_{\triangle}xa=x+x△是Ax=bAx=b...原创 2018-11-05 21:49:53 · 1080 阅读 · 1 评论 -
SLAM从入门到放弃:SLAM十四讲第五章习题(1-2)
以下均为简单笔记,如有错误,请多多指教。寻找一部相机标定它的内参。你可能会用到标定板,或者自己打印一张标定用的棋盘格。解: 本次试验标定对象是iPhone 6 前置摄像头(可能并不会特别准),标定板使用了棋盘格,标定程序使用的是opencv自带的工具camera_calibration。提前说明一下,一下操作仅仅是示意,其结果不一定准确。步骤一:生成棋盘格,考虑到打印棋盘格较为复杂,本文选...原创 2018-11-05 11:55:58 · 1137 阅读 · 0 评论 -
SLAM从入门到放弃:SLAM十四讲第七章习题(6-8)
以下均为简单笔记,如有错误,请多多指教。在PnP优化中,将第一个相机的观测也考虑进来,程序应该如何书写?最后结果会有何变化?答:修改的代码如下,大致就是再添加一个VertexSE3Expmap节点,然后后续再把EdgeProjectXYZ2UV边给补上就可以了。最后的运行结果是,当加入第一个相机后,整个优化方程的边增多了一倍,然后整体结果也发生了一定程度变化,但是我也不知道是好还是坏~,希望...原创 2018-11-07 20:17:53 · 775 阅读 · 0 评论 -
SLAM从入门到放弃:SLAM十四讲第八章习题(4)
以下均为简单笔记,如有错误,请多多指教。使用Ceres实现RGB-D上稀疏直接法和半稠密直接法。答:由于稀疏直接法和半稠密直接法并没有本质区别,所以此处只提供了稀疏直接法的计算结果。我的实验结果发现,在同样的数据集上g2o和Ceres的结果似乎不太一样,目前还不太清楚为啥,也许代码写错了~~。不过我分别尝试了在SE3和旋转向量上分别进行了计算。...原创 2018-11-10 16:17:49 · 1239 阅读 · 10 评论 -
SLAM从入门到放弃:SLAM十四讲第四章习题(5-8)
以下均为简单笔记,如有错误,请多多指教。证明Rp∧RT=(Rp)∧Rp^{\land}R^T=(Rp)^{\land}Rp∧RT=(Rp)∧证:记R=[r1,r2,r3]R=[r_1,r_2,r_3]R=[r1,r2,r3],x=(x,y,z)Tx=(x,y,z)^Tx=(x,y,z)T,则(Rp)∧=(r1x+r2y+r3z)∧=xr1∧+yr2∧+zr3∧(Rp)^{\land...原创 2018-11-02 11:02:41 · 1900 阅读 · 11 评论 -
SLAM从入门到放弃:SLAM十四讲第八章习题(1-3)
以下均为简单笔记,如有错误,请多多指教。除了LK光流之外,还有哪些光流方法?它们各有什么特点?答:此答案转载于:https://blog.csdn.net/iloveayu/article/details/76728412。Barron等人对多种光流计算技术进行了总结,按照理论基础与数学方法的区别把它们分成四种:基于梯度的方法、基于匹配的方法、基于能量的方法、基于相位的方法。当然除了这些方...原创 2018-11-09 16:45:46 · 760 阅读 · 0 评论 -
SLAM从入门到放弃:SLAM十四讲第七章习题(1-5)
以下均为简单笔记,如有错误,请多多指教。除了本身介绍的ORB特征点外,你还能找到哪些特征点?请说说SIFT或SURF的原理,并对比它们与ORB之间的优劣。解:除了ORB之外,我了解或用过的还有SIFT、SURF、AKAZE等,其实感觉在分类时按照特征点检测器和特征点描述器两个角度来描述,因为存在很多组合方法。例如ORB其实就是FAST+BRIEF。SIFT的检测器大致原理是首先在检测器阶...原创 2018-11-06 18:04:18 · 1016 阅读 · 0 评论 -
SLAM从入门到放弃:SLAM十四讲第四章习题(1-4)
以下均为简单笔记,如有错误,请多多指教。验证SO(3)SO(3)SO(3)、SE(3)SE(3)SE(3)和Sim(3)Sim(3)Sim(3)关于乘法成群。证:已知SO(3)={R∈R3×3∣RRT=I,det(R)=1}SO(3)=\lbrace{R\isin\R^{3\times3}| RR^T=I,det(R)=1}\rbraceSO(3)={R∈R3×3∣RRT=I,det(R...原创 2018-11-01 18:04:23 · 1627 阅读 · 2 评论 -
SLAM从入门到放弃:SLAM十四讲第三章习题
以下均为简单笔记,如有错误,请多多指教。验证旋转矩阵是正交矩阵。证:如公式(3.5)所示R=[e1Te2Te3T][e1′e2′e3′]R=\begin{bmatrix}e_1^T \\e_2^T \\e_3^T\end{bmatrix}\begin{bmatrix}e_1^{'} e_2^{'}e_3^{'}...原创 2018-10-31 19:03:41 · 1925 阅读 · 0 评论 -
SLAM从入门到放弃:SLAM十四讲第一章习题
以下均为简单笔记,如有错误,请多多指教。有线性方程Ax=bAx=bAx=b,若已知A,bA,bA,b,需要求解xxx,该如何分解》这对AAA和bbb有哪些要求?答:不妨记AAA的维度为m×nm×nm×n,同时记AAA的秩为rrr。若b≠0b≠0b̸=0,则当r=m=nr=m=nr=m=n时,整个方程存在唯一解;当r=n&lt;mr=n&lt;mr=n<m,即AA...原创 2018-10-31 10:15:36 · 971 阅读 · 0 评论 -
ORB-SLAM2:QObject::~QObject: Timers cannot be stopped from another thread
在安装好ORB-SLAM2后,运行了其中的一个Demo,但是却遇到了下边的一个问题:QObject::~QObject: Timers cannot be stopped from another threadSegmentation fault (core dumped)解决方法经过检查发现,在编译opencv时,时将WITH_QT设置为true;原因是默认使用了系统中的Q...原创 2017-10-19 14:27:19 · 7331 阅读 · 9 评论