Simon Shi的小站

人工智能,机器学习 学习记录


  • Home

  • About

  • Tags

  • Categories

  • Archives

Plan 2023

Posted on 2022-12-23
寄语 少刷视频,多读书 读书,多思考 提升英语水平,多邻国/雅思/托福 多读英文原著 深入的学习一门技术 unix网络编程c++等 ML 《机器学习》 《统计学习方法》 《图解机器学习-日》 《模式识别与机器学习》 RL 《Reinforcement Learning: An Introduction》【PDF】 《多视图几何–机械工业》【实体书】 SLAM: 《视觉SLAM十四讲》【实体书/PDF】 基础知识 Pnp求解 EKF ROS 源码阅读ORB_SLAM2 硬件搭建 《宾夕法尼亚大学-SLAM》 算法研究 图论算法(最短路径) 动态规划 最优化理论:退火算法 -Soft Power 英语 阅读 单词 口语 Etc Academic Education/Examination 同等学力申硕 Course MEM二战? 软考-高级–信息系统项目管理师 23年(3.20号报名,5月27考试) Annual PlanQ ...
Read more »

C ++ IO File

Posted on 2022-12-20 | In dev , c++
Outline:Base ifstream {Read}12345678string readFile(string file){ ifstream tmp(file.c_str()); string fileContents((istreambuf_iterator<char>(tmp)), istreambuf_iterator<char>()); tmp.close(); return fileContents;} ofstream {Write}123456void writeFile(string bodyStr){ ofstream os("dst.csv", ostream::app); os << bodyStr; os.close();} STL–ostream_iterator:ostream_iterator属于I/O流STL适配器,用于获取一个元素,同时保存在缓冲器中,可以供Cout输出。如果把cout看做成一个对 象,那么在Cout对象当中 ...
Read more »

ORB_SLAM2开源代码

Posted on 2022-12-02 | In SLAM , ORB_SLAM2
一、ORB_SLAM2的特点 1、ORB_SLAM2是首个支持单目、双目和RGB-D相机的完整开源SLAM方案,能够实现地图重用,回环检测和重新定位的功能。 2、能够在GPU上进行实时工作,比如手机、无人机、汽车。 3、特征点法的巅峰之作,定位精度非常高。 4、能够实时计算处相机的位姿,并生成场景的稀疏三维重建地图。 二、算法流程框架ORB-SLAM整体流程如下图所示 它主要有三个线程组成:跟踪、Local Mapping(又称小图)、Loop Closing(又称大图) a、跟踪(Tracking)这一部分主要工作是从图像中提取ORB特征,根据上一帧进行姿态估计,或者进行通过全局重定位初始化位姿,然后跟踪已经重建的局部地图,优化位姿,再根据一些规则确定新的关键帧。跟踪线程相当于一个视觉里程计,流程如下: 首先,对原始图像提取ORB特征并计算描述子。 根据特征描述,在图像间进行特征匹配。 根据匹配特征点估计相机运动。 根据关键帧判别准则,判断当前帧是否为关键帧。 b、建图(LocalMapping)这一部分主要完成局部地图构建。包括对关键帧的插入,验证最近生成 ...
Read more »

直接法视觉里程计(LK,DM,)

Posted on 2022-09-15 | In SLAM
目标: 理解光流法跟踪特征点的原理 理解直接法是如何估计相机位姿的 使用g2o进行直接法的计算。 1、直接法引出特征点法的缺点: 缺点 解决思路 关键点的提取与描述子的计算非常耗时。 1、保留特征点,只计算关键点,不计算描述子,使用光流跟踪特征点运动(仍使用特征点,匹配描述子换成光流跟踪,估计相机运动仍使用对极几何,Pnp或ICP算法) 关注与特征点,忽略了特征点之外的所有信息。 法2、只计算关键点,不计算描述子,使用直接法,计算特征点在下一时刻图像的位置。 特征缺失(白墙,空荡荡的走廊) 法3、既不计算关键点,也不计算描述子,根据像素灰度差异,直接计算相机运动。 法1还是特征点法;法2,法3,则是直接法; 特征点法 直接法 优化相机运动 特征点在相机中的投影,最小化投影误差 在直接法中,我们并不需要知道点与点之间之间的对应关系,而是 通过最小化光度误差(Photometric error)来求得它们最小化光度误差 SVO,LSD_SLAM 重构稀疏特征点(稀疏地图) 直接法分为稀疏、稠密和 半稠密三种 ...
Read more »

C++ 编译报错解决集锦

Posted on 2022-08-09 | In dev , c++
1、使用ceres编译报错 error: ‘integer_sequence’ is not a member of ‘std‘修改cmake 将设置c++标准的 1set(CMAKE_CXX_FLAGS "-std=c++11") 替换为 1set(CMAKE_CXX_STANDARD 11) 可以解决
Read more »

日常使用的快捷键

Posted on 2022-07-28 | In Tools , shortcut-key
Win窗口快捷键Win + ←:最大化窗口到左侧的屏幕上(与开始屏幕应用无关)Win + →:最大化窗口到右侧的屏幕上(与开始屏幕应用无关) Win+ ↑:最大化窗口(与开始屏幕应用无关)Win+ ↓:最小化窗口(与开始屏幕应用无关) Win+ SHIFT +↑:垂直拉伸窗口,宽度不变(与开始屏幕应用无关)Win+ SHIFT +↓:垂直缩小窗口,宽度不变(与开始屏幕应用无关) Win+SHIFT+←:将活动窗口移至左侧显示器 (与开始屏幕应用无关)Win+SHIFT+→:将活动窗口移至右侧显示器(与开始屏幕应用无关) WIN桌面快捷键Ctrl + Win + ← 切换到上一个桌面 Ctrl + Win + → 切换到下一个桌面 WPS 编辑 复制格式 Ctrl+Shift+C 粘贴格式 Ctrl+Shift+V 撤销 Ctrl+Z 恢复 Ctrl+Y 插入分页符 Ctrl+Enter 插入换行符 Shift+Enter 插入空域 Ctrl+F9 插入超链接 Ctrl+K 删除行 Ctrl+”-“ 格式 ...
Read more »

SMPL 第七讲 视觉里程计 ICP和实践

Posted on 2022-07-27 | In SLAM , VO , ICP
目标: 理解图像特征点的意义,掌握在单张图像中提取出特征点,掌握多副图像匹配特征点的方法 理解对极几何的原理,利用对极几何的约束,恢复图像之间摄像机的三维运动 理解PNP(3D-2D)问题,利用已知三维结构与图像对应关系,求解摄像机的三维运动 理解ICP问题(3D-3D),利用点云匹配关系,求解摄像机的三维运动 理解如何通过三角化,获得二维图像上对应点的三维结构。 视觉里程计(VO)算法 现状 特征点法 目前的主流算法 直接法 追赶者的角色 特征点提取算法 方法 角点 Harris 角点、FAST 角点 、GFTT 角点 局部图像特征 SIFT 、SURF 、ORB 速度: ORB < SIFI 关键点 描述子 ORB特征 Oriented FAST and Rotated BRIEF BRIEF 匹配算法 - 暴力匹配 - 汉明距离 - 快速近似最近邻1234567st=>start: Starte=>end: Endop1=>operation: 特征 ...
Read more »

SLAM 第六讲 非线性优化

Posted on 2022-07-20 | In SLAM
1、状态估计问题1.1 批量状态估计与最大后验估计经典 SLAM 模型由一个运动方程和一个观测方程构成: $$x_k = f (x_{k-1}, u_k) + w_k \z_{k,j} = h(y_i, x_k) + v_{k,j}$$ xk是相机的位姿变量,可以由Tk∈SE(3)表达。运动方程与输入的具体形式有关,在视觉SLAM中没有特殊性(和普通的机器人、车辆的情况一样)。观测方程则由针孔模型给定。假设在xk处对路标yj进行了一次观测,对应到图像上的像素位置zk,j,那么,观测方程可以表示成 $$sz_{k,j} = K(R_ky_j + t_k)$$ 其中K为相机内参,s为像素点的距离,也是(Rkyj +tk)的第三个分量。如果使用变换矩阵Tk描述位姿,那么路标点yj必须以齐次坐标来描述,计算完成后要转换为非齐次坐标。 在运动和观测方程中,通常假设两个噪声项wk,vk,j满足零均值的高斯分布: $$w_k \sim N(0, R_k), v_k \sim N(0, Q_{k,j})$$ 其中N表示高斯分布,0表示零均值,Rk,Qk,j为协方差矩阵。在这些噪声的影响下,希望通过带 ...
Read more »

C++ 网络编程

Posted on 2022-07-12 | In dev , c++
outlook: [TOC] 数据转换C++: byte和int的相互转化_PuttyTree的博客-CSDN博客_c++ byte转int C++ socktrecv123const int bufLen = 256;char buffer[bufLen];int resultLen = recv(sclient, buffer, bufLen, 0); FIX-01 “undefined reference to __imp_WSAStartup’”1234<!--# VS task.xml配置修改:--> "args": [ "C:/Program Files (x86)/Windows Kits/10/Lib/10.0.19041.0/um/x64/WS2_32.Lib", ] Windows 网络编程阻塞模式开发(执行I/O操作时,线程被阻塞调用) 非阻塞模式开发(执行I/O操作时,立即返回,但是要处理返回错误的问题) 套接字Select模型(常见的I/O模型) UDP (Send/Recv Text)Sever1234567891011121314 ...
Read more »

C++ JSON

Posted on 2022-07-11 | In dev , c++
目录 [TOC] 安装(Windows)1、下载 : https://codeload.github.com/open-source-parsers/jsoncpp/zip/refs/tags/1.9.3 2、VSCode 打开项目,直接Cmake编译项目 3、得到libjsoncpp.a文件 4、新建项目就可以使用json了 项目配置VS 项目配置g++123456789101112131415161718192021{ "label": "build demo_json", "type": "shell", "command": "g++", "args": [ "-g", "${workspaceFolder}/demo_json.cpp", // "-I", "D:/Tools/cplus_relate/eigen-3.4.0/Eigen/", "-I", "${workspaceFolder}/include/", "-L", "$ ...
Read more »
1…91011…29

Simon Shi

286 posts
132 categories
243 tags
RSS
© 2024 Simon Shi
Powered by Hexo
|
Theme — NexT.Muse v5.1.4