- 博客(18)
- 收藏
- 关注
原创 上位机界面进化史
大四上学期弄的第一个界面,非常的简陋啊,用的tkinter,主要功能就是读取传感的位姿数据,后台还有一些数据处理和存储的功能。 大四下学期弄的第二个界面,依然是python tkinter 功能复杂了一些,多了端口的选择和一些操作按键,看起来专业了一点。 研一上学期,弄的一个相对完整的上位机,基于pyqt框架,实现了一系列相对复杂的功能,其中使用pyvtk实现了可视化的3D模型,同步姿态角旋转(花了最长的时间,还是比较简陋),数据通信、参数调试...
2021-12-24 14:57:33 1948 2
原创 视觉SLAM十四讲学习笔记——第十二讲 建图
SLAM实际上是一种底层技术,往往用来给上层应用提供信息。在前文已实现的部分,我们最多得到的仅是一个稀疏的地图,在需要实现导航、避障、重建等应用时,稀疏地图很难提供足够的信息,需要考虑如何重建稠密地图,即建模所有看到过的部分。根据使用相机的不同可以分为:“单目稠密重建”和“RGB-D稠密建图”(双目应该和RGBD类似,都可以主动测得或计算出图像深度)。其中RGB-D相机的稠密重建较为简单,最直观、简单的方法就是将RGB-D数据转换为点云地图,再结合相机位姿进行拼接,并对点...
2021-11-27 18:58:19 4610 1
原创 视觉SLAM十四讲学习笔记——第十讲 后端优化(2)
上文提到考虑全局的后端优化计算量非常大,因此在计算增量方程时,借助H矩阵的稀疏性加速运算。但是随着时间的推移,累积的相机位姿和路标数量还是会导致计算量过大,以上一节的示例代码数据为例:16张图像,共提取到22106个特征点,这些特征点共出现了83718次。对于一个20Hz更新速度,上述的数据量甚至还不到1s的内容,因此在求解大规模定位建图问题时,一定要控制BA的规模。这里主要有两种解决思路:(1)滑动窗口法:固定优化N个关键帧,这N个关键帧同时观测到了M个路标点,因此可以建立一个规模适中...
2021-11-25 19:55:08 472
原创 视觉SLAM十四讲学习笔记——第九讲 后端优化(1)
经过前端(视觉里程计)估计得到的轨迹和地图由于存在累计误差,在长时间内是不准确的。因此希望构建一个针对全局的更大规模的优化问题,得到最优的轨迹和地图,这里主要有两种解决思路:(1)基于马尔可夫性假设的卡尔曼滤波器:马氏性假设可以简单地理解为“当前时刻状态只与上一时刻有关”。针对SLAM问题(非线性)的卡尔曼滤波器给出了单次线性近似下的最大后验估计,或者说是优化过程中一次迭代的结果。(2)非线性优化:非线性优化考虑了当前及之前所有时刻的状态,同时优化所有时刻的相机位姿以及各个特征点的空...
2021-11-25 17:07:13 2819
原创 视觉SLAM十四讲学习笔记——第八讲 视觉里程计(3)
前文提到的特征点法基本过程为:(1)提取关键点并计算描述子,得到特征点后进行两幅图像间的匹配。(2)构建最小二乘问题:最小化重投影误差(图像平面上或者世界坐标系下)。(3)迭代优化求出最优解,确定摄像机运动参数。 上述过程中,特征点的提取最为耗时,因为要遍历整场图像并计算描述子。因此这一章引出了光流法和直接法,二者都是基于“最小光度误差”进行求解,但解决问题的方法不同: 光流法:本质上是替代图像间特征点匹配的过程,使用“灰度不变”的假设确定关键...
2021-11-21 14:42:55 2833
原创 视觉SLAM十四讲学习笔记——第七讲 视觉里程计(2)
视觉SLAM的前端也就是视觉里程计实际上要解决的问题是根据匹配的特征点估计相机运动。根据不同的已知条件,选择不同的方法。1.针对单目相机2D-2D:对极几何 对于单目相机,前后两幅图像之间存在着对极几何约束,我们掌握的信息只有两幅图像中特征点的图像坐标,因此相机运动估计问题变为以下两步:(1)根据匹配点坐标估计本质矩阵E:因为本质矩阵E仅与旋转矩阵R和平移向量t有关,估计本质矩阵的方法包括传统的八点法和RANSAC(随机抽样一致性算法)及其改进算法MASC...
2021-11-20 16:17:23 2171
原创 视觉SALM十四讲学习笔记——第七讲 视觉里程计(1)
视觉里程计这一部分的第一个主要内容是ORB特征点的提取与匹配。这里主要关注两个内容:(1)特征点的匹配方法及代码实现(2)ORB特征点的BRIEF描述子如何实现旋转不变性及在示例代码中的体现1.ORB特征点匹配方法 高博在十四讲P158提到:特征匹配解决了SLAM中的数据关联问题,最简单的特征匹配方法就是暴力匹配(Brute Matcher),此外快速近似最近邻(FLANN)算法更加适合于匹配点数量极多的情况。然而在第七章的示例代...
2021-11-17 00:22:55 1883
原创 视觉SLAM十四讲学习笔记——第六讲 非线性优化(2)
这一节主要回顾一下Ceres、g20的使用。1.Ceres、G2o源码安装方法 高博士的书中都有各个库的安装方法,但由于版本变化,个别安装方法可能并不适用。这里简单整理一下两个库的源码安装方法,其他的库之后有时间统一整理一下。(1)Ceres安装下载源码,下载地址:https://github.com/ceres-solver/ceres-solver安装依赖项:sudo apt-get install liblapack-dev libsuitesp...
2021-10-25 23:12:58 698
原创 视觉SLAM十四讲学习笔记——第六讲 非线性优化(1)
非线性优化算法在SLAM中主要解决的问题:如何在有噪声的数据中进行准确的状态估计。1.最小二乘问题引出首先,将SLAM中的状态估计问题,从概率学的角度分析:已知输入数据u和观测数据z的条件下,求状态x,y的条件概率分布,由贝叶斯法则将条件概率分布表示为“后验概率=似然 * 先验概率”的形式: 此时状态最优估计问题转化为了一个该状态下后验概率最大化(最大后验分布)问题: 要最大化后验概率,也就是要最大化似然和先验概率的乘积,先验概率多数情况...
2021-10-22 22:06:49 1172 5
原创 视觉SLAM十四讲学习笔记——第三讲 三维空间刚体运动
1.旋转矩阵的正交性 P45下方注解第一条“旋转矩阵的正交性可直接由定义给出”,在查阅众多证明方法之后,我选择一种个人更容易理解的方法。 首先明确:正交矩阵即逆为自身转置的矩阵,即满足...
2021-10-18 23:25:01 369 1
原创 Ubuntu18.04源码安装Cmake
1.下载源码包 官网下载地址:https://cmake.org/download/ 选择最新版本的源码包:cmake-xxxxxx.tar.gz2.安装工具 需要安装gcc、g++、makesudo apt-get install gccsudo apt-get install g++sudo apt-get install make3.安装源码包 根据安装版本修改文件名,解压压缩包:tar -zxvf...
2021-10-18 16:41:53 394
原创 拯救者R7000ubuntu18.04解决分屏问题(NVIDIA显卡驱动安装)
使用中给笔记本外接显示器分屏非常方便,但是我在系统安装完成后发现ubuntu不能分屏,非常影响使用。查找了众多资料,最终认为是显卡驱动的原因。进入ubuntu系统,在设置中找到
2021-10-17 14:09:35 3933 7
原创 联想拯救者R7000在Ubuntu18.04系统下找不到WiFi适配器解决方法
书接上文,拯救者在安装完ubuntu系统后还可能存在一些列问题需要一一解决。 我在2021年七月底购买的拯救者R7000,安装后出现了无法连接WiFi的情况,在设置中查看WiFi显示为“未找到WiFi适配器”,大概是ubuntu没有安装无线网卡驱动,需要我们手动安装。1.BIOS设置进入BIOS界面,将Security Boot设置为Disabled,这一步在安装系统时应该已经完成了。2.查看无线网卡型号 Windows系统下进...
2021-10-16 15:28:35 6476 9
原创 联想拯救者R7000安装Ubuntu18.04
1.下载ubuntu镜像并制作U盘 由于本人白嫖的师兄的U盘,因此对这个过程不太了解,可参考:https://blog.csdn.net/baidu_36602427/article/details/86548203/2.2.
2021-10-16 00:33:00 3164 6
空空如也
yolov5在fusing layers停顿太久
2022-11-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人