
SLAM
LittleEmperor
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Ubuntu16.04编译运行ORBSLAM3
0、下载代码与数据集代码:https://github.com/UZ-SLAMLab/ORB_SLAM3数据集:https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets注意:数据集下载ASL Dataset Format格式,每一行第二个link.1 、依赖安装1.1 opencvopencv需要3.0以上,本地安装3.4.1,下载地址:https://opencv.org/release原创 2020-09-12 02:23:24 · 1906 阅读 · 3 评论 -
ubuntu16.04+ORBSLAM3:/usr/local/lib/libopencv_imgcodecs.so.3.4.1:对‘TIFFReadDirectory@LIBTIFF_4.0’未定义
本地环境为anaconda2、ROS等,参考这篇博客编译ORBSLAM3,碰见该问题。解决方法:再ORBSLAM3目录下的CmakeList.txt中添加第二行:target_link_libraries(${PROJECT_NAME}/usr/lib/x86_64-linux-gnu/libtiff.so.5 ${OpenCV_LIBS}/usr/lib/x86_64-linux-gnu/libpng.so/usr/lib/x86_64-linux-gnu/libpng12.so.0$原创 2020-09-12 01:54:06 · 1323 阅读 · 0 评论 -
SLAM后端:位姿图优化(Pose Graph)
1原创 2020-04-02 23:03:13 · 4872 阅读 · 0 评论 -
SLAM后端:BA优化(Bundle Adjustment)
BA是一种优化方法,最小化重投影误差优化PnP得到的R、t应用场景:利用共视点的3D坐标与相机内参矩阵,根据PnP计算位姿R、t(有误差)。利用R、t及相机的投影模型可以计算出这些特征点在第二帧图像上的投影(有误差),本身这些点在第二帧图像上有真实投影,利用这两个投影构建函数进行优化可以优化位姿。1 BA解决的代价函数观测模型如下:(1)世界坐标系转相机坐标系设P点的世界坐标,...原创 2020-04-02 22:52:51 · 11891 阅读 · 2 评论 -
SLAM前端:ICP(Iterative Closest Point)
ICP算法是点云配准算法,给出两组点云,可以计算出两组点云的位姿关系R、t。问题数学表达为:已知两组点云: 求R、t使下式最小: ...原创 2020-04-02 01:34:13 · 1360 阅读 · 0 评论 -
SLAM前端(里程计一):ORB特征点提取
ORB特征 = Fast+描述子,Fast判断该点是不是特征点,描述子计算该特征点的方向信息。1 Fast角点(1)Fast规则如下图,遍历每个像素点,检测在像素点附近的圆形窗口上的16个像素的灰度,如果有n个连续点都比中心像素的灰度大或者小的话,这样的中心点就是FAST角点。n可以是12或者9。(2)非极大值已知剔除接近点算法很可能检测出的角点彼此相邻,所以提出了使用非极...原创 2020-04-01 22:49:38 · 965 阅读 · 0 评论 -
SLAM前端(里程计三):不同情况下的ORB特征点匹配
ORBSLAM中对于特征点的匹配在不同情况下有不同的匹配方式。分为以下几种:1.按照投影进行匹配2.按照bow向量节点进行匹配3.针对初始化地图点的匹配4.针对单目三角化的匹配5.基于相似矩阵的匹配6.通过匹配来提出冗余地图点一、首先看按照投影进行的匹配按照投影方式的不同将其分为上一帧投影到当前帧(tracking线程的按照运动模型进行位姿估计),关键帧...转载 2020-04-01 21:57:37 · 693 阅读 · 0 评论 -
SLAM前端(里程计二):ORB特征点匹配
(1)构建图像高斯金字塔将图像进行降采样8次,每次尺度缩小1/1.2,如下图所示:采用高斯金字塔的目的是解决特征点尺度不变性,并且可以提取更多的关键点。高斯金字塔每个尺度代表了不同的距离,即低分辨率的图像可以看做从远处拍摄图像的一部分,这样提取8个尺度的图片就可以保证特征点尺度不变性。想像一下,如果第二帧图像相对于第一帧图像走远了,那么根据Fast角点的定义,这两帧图像共有的图像中,很...原创 2020-04-01 21:55:06 · 1287 阅读 · 0 评论 -
SLAM前端:PnP(一)DLS、P3P
PnP是一类问题的统称,是指通过多对点的3D位置及2D投影坐标,来估计相机位姿R、t。场景一:视觉slam中在初始化后可以知道空间中一些点在世界坐标系下的坐标,在下一帧图像进行特征点匹配后,利用这些特征点的3D坐标及2D像素坐标,PnP可以计算出当前帧图像的R、t,即在世界坐标系下的R、t。场景二:输入匹配特征点在上一帧的2D像素坐标、在上一帧相机坐标系下的3D坐标、在当前帧的2D像素坐标...原创 2020-04-01 12:22:08 · 2372 阅读 · 0 评论 -
SLAM前端:PnP(二)EPnP
PnP是一类问题的统称,是指通过多对点的3D位置及2D投影坐标,来估计相机位姿R、t。场景一:视觉slam中在初始化后可以知道空间中一些点在世界坐标系下的坐标,在下一帧图像进行特征点匹配后,利用这些特征点的3D坐标及2D像素坐标,PnP可以计算出当前帧图像的R、t,即在世界坐标系下的R、t。场景二:输入匹配特征点在上一帧的2D像素坐标、在上一帧相机坐标系下的3D坐标、在当前帧的2D像素坐标...转载 2020-04-01 12:52:56 · 1322 阅读 · 1 评论 -
SLAM学习资料
1.PnP算法简介与代码解析(视频+PPT课件+代码解析)链接:https://pan.baidu.com/s/1d9e0FaIvK_s8m1pMJvNXtg 密码:hf222.LeastSquare_and_gps_fusion(视频+PDF)链接:https://pan.baidu.com/s/1hi-fvkGwNM40esUueIDQzQ 密码:upcc3.Scan Matc...转载 2020-03-31 00:11:44 · 718 阅读 · 0 评论 -
SLAM前端:本质矩阵、基础矩阵、单应矩阵
本质矩阵描述了相机内参已知的情况下同一个点不同视角下的关系,5自由度。即已知同一个点在两帧图像下的坐标,两个坐标、相机内参、本质矩阵满足对极约束条件(1-1)。基础矩阵描述了同一个点在不同视角下的关系,7自由度。单应矩阵描述了同一平面上的点在不同视角下的关系、即两个相机坐标系下的变换关系,9自由度。1 本质矩阵(Essential Matrix)本质矩阵由对极约束定义,对极约束的推...原创 2020-03-30 13:34:02 · 2106 阅读 · 0 评论 -
SLAM前端:对极几何、三角测量
1 对极几何对极几何在两帧的图像中,其中包含n个匹配的特征点,用于估计相机的位姿:旋转矩阵R与平移向量t。一般只在单目SLAM初始化过程中使用。情景如图,两幅图分别为相机在两位置的图像,共同观测到P点。可以理解为,相机从位置变换到位置,旋转平移矩阵分别为R、t。现在需要求解R、t。空间中的一对匹配点如图所示,左图投影点像素坐标,右图投影点。以左相机相机坐标系为参考坐标系有:...原创 2020-03-30 12:35:32 · 1412 阅读 · 0 评论 -
视觉SLAM:视觉SLAM中的李群与李代数、左乘扰动模型
SLAM中对矩阵求导数的应用场景?什么情况下用到李代数左乘扰动模型求导数?为什么不能用李群求导?李群与李代数的关系?李代数左乘扰动的理解?1 李群与李代数在SLAM中的用途视觉SLAM中用李群表示相机位姿T,用李代数求导数。对于同一个特征点,如果上一时刻得到该点相机坐标系下的三维坐标为P,当前时刻观测到相机坐标系下的坐标为Z,则两时刻相机位姿变化矩阵为T,有如下公式:...原创 2020-03-29 23:32:24 · 1805 阅读 · 1 评论