计算机视觉
文章平均质量分 65
Abner_Chen
这个作者很懒,什么都没留下…
展开
-
RANSAC、ICP、图优化g2o学习笔记
RANSAC随机抽样一致算法(RANdom SAmple Consensus,RANSAC) 参考自wiki: RANSAC WIKI 它采用迭代的方式从一组包含离群的被观测数据中估算出数学模型的参数。 RANSAC是一个非确定性算法,在某种意义上说,它会产生一个在一定概率下合理的结果,而更多次的迭代会使这一概率增加。NOTE : 分成离群(outliers)、内群(inliers) 和普通原创 2017-01-10 20:14:48 · 2831 阅读 · 0 评论 -
Linux/ubuntu下的生产力工具
如果想要快速地通过apt-get 安装程序,强烈建议先把源改成中国的,以前都用中科大的,但是最近感觉不太好,尤其对ROS的支持有点问题,推荐清华的源,修改方法参考:清华镜像站 1.terminator安装好之后,首先从最基础的终端开始改造。忍受了很久自带终端的愚蠢,每运行一个程序就要打开一个,很多时候都是一大排的终端,直到发现了神奇terminator,安装也很简单,只需要s...原创 2018-03-23 21:29:37 · 2013 阅读 · 0 评论 -
ORB_SLAM2 移植到 Windows
主要基于GitHub上的项目:ORBSLAM24WINDOWS,在Windows下编译的坑:1.用cmake编译的时候记得选择VS x64 2.编译pangolin的时候需要从GitHub上clone2个库,可能得翻墙,也可能连手机热点更好 3.VS编译的时候可能会显示x86和x64冲突: error LNK2001: unresolve external symbol_ …… ...原创 2018-09-03 15:13:36 · 1478 阅读 · 4 评论 -
SLAM或VO中两帧间恢复Rt的方法汇总
2D-2D:对极几何A.对极约束@输入:参考帧和当前帧的2D点坐标对(一般8对),内参@输出:运动恢复R t参考帧和当前帧的二维像素点通过特征点法拿到了匹配关系,那么从各自光心出发的两条射线交点即3D点,P和两个光心构成了极平面,e1e1e1 \ e2e2e2为极点,l1l1l1 \ l2l2l2是极线(Epipolar line)。对极几何必须要有正确的匹配关系,否则当前帧无法找到参...原创 2018-10-25 20:21:51 · 1883 阅读 · 0 评论 -
DSO代码笔记【待整理】
经过一系列准备工作后fullSystem->addActiveFrame(img,id);正式跑DSO。每个帧的数据存储于FrameHessian结构体中,FrameHessian即是一个带着状态变量与Hessian信息的帧。Jk = [JI*Jgeo,Jphoto],分别伟图像、几何、光照雅可比几何和光度的雅可比,相对自变量来说通常是光滑函数;而图像雅可比则依赖图像数据,不够...原创 2018-10-24 10:16:43 · 3804 阅读 · 6 评论 -
g2o EdgeSE3Expmap pose graph优化 代码分析和雅克比推导
主要代码:g2o/types/sba/types_six_dof_expmap.hg2o/types/sba/types_six_dof_expmap.cpp基本结构SE3Quat包括四元数和vector3相机位姿顶点VertexSE3Expmap::VertexSE3Expmap() : BaseVertex<6, SE3Quat>() {}路标3D点顶点Vert...原创 2018-10-30 21:31:36 · 2197 阅读 · 1 评论 -
ORB_SLAM中Optimizer的优化分析及g2o点和边在ORB中的应用
1.Optimizer::PoseOptimization EdgeSE3ProjectXYZOnlyPose2.Optimizer::BundleAdjustmentEdgeSE3ProjectXYZ3.Optimizer::LocalBundleAdjustment4.Optimizer::OptimizeEssentialGraphEdgeSim35.Opt...原创 2018-11-08 15:06:39 · 3141 阅读 · 1 评论 -
ubuntu下用visual studio code调试C++
尽管VS Code本质上是一个编辑器,但是对插件的友好支持使得它可以成为很好用的IDE(用完以后果断抛弃了CLion、QTcreator、Kdevelop等一系列IDE),从此只用一个VS CODE。用VS CODE可以很方便地对C++程序进行debug,以linux Ubuntu环境为例:Ctrl+Shift+D调出debug界面,然后点左上角的设置按钮,选择C/C++,出现launch.j...原创 2019-01-02 16:50:17 · 1281 阅读 · 0 评论 -
pytorch & tensorflow一些记录
Pytorch的DataParallel多GPU可以多卡并行训练,但是当输入size过大或者模型过大(一般是因为输入),即使是batch_size=1,显存也会炸。实际上DataParallel的机制可以理解为:一个batch的数据可以根据卡数分配到各个GPU上做前向和后向传播,举个例子,4卡训练的时候batch_size=4每张卡相当于读一个数据,batch=2的时候只会用上2张卡。所以即...原创 2019-06-20 16:55:03 · 854 阅读 · 0 评论 -
Ubuntu、ROS、LINUX下的一些记录
文章目录Markdown自动生成目录vscode多机同步Latex Ubuntuc++的路径joinbash和命令行处理文本和文件非常有用的工具cuda安装:ubuntu 下Python3的定位Windows下快速生成image.txt:optris_ROS_catkin_make失败ubuntu挂载window分区QTcreator+ROSrqt_graphubuntu启动脚本ubuntu录屏R...原创 2019-06-20 20:25:00 · 449 阅读 · 0 评论 -
velodyne-VLP16在win和ubuntu/ROS下的配置
其他配套配置:抓包pcap–用于将pcap的原始文件转化成ROS结构,要在velodyne驱动前安装。sudo apt-get install libpcap-devvelodyne驱动配置:Windows以太网IPv4属性 设置IP:192.168.1.77 子网掩码:255.255.255.0 默认网关:192.168.1.1然后浏览器登陆192.16原创 2018-01-08 16:06:47 · 8571 阅读 · 1 评论 -
《Cmake》笔记
CMakeLists.txt : PROJECT (HELLO) 指定项目名称SET(VAR [VALUE] [CACHE TYPE DOCSTRING [FORCE]]) 指定变量 SET(SRC_LIST main.c t1.c t2.c) 参数之间用分号或者空格分开,指令大小写无关(建议大写),参数有关MESSAGE([SEND_ERROR | STATUS | FATAL_ERROR原创 2017-03-29 12:35:28 · 284 阅读 · 0 评论 -
自己录制数据集_Tango
最近在用TUM提供的数据集跑完ORB_SLAM2后:TUM数据集 想跑一下自己录制的数据集,因为这个格式问题纠结了半天,现在总结以下过程和经验。 用Tango录制一段视频后,用MATLAB处理视频,将其变成图像。刚开始想的很简单,以前也处理过,用VideoReader,将其变成以数字增序1,2,……命名的图像集,但是发现这样没有考虑到时间戳(Timestamp),会影响到ORB_SLAM2的入口原创 2017-03-24 18:40:25 · 1693 阅读 · 0 评论 -
Tango获取内参
You can get the calibration.xml form tango/config/ or use API: https://developers.google.com/tango/overview/intrinsics-extrinsicsTangoService_getCameraIntrinsics(TangoCameraId camera_id, TangoCameraIn原创 2017-03-26 17:32:47 · 785 阅读 · 0 评论 -
CMakeLists.txt笔记 OpenCV2和3共存/gdb调试
OpenCV2和3共存:如果2默认编译安装了,那么2的库位置应该在/usr/local/lib ,再CMakeLists.txt中 find_package,系统默认会找/usr/local/share/OpenCVConfig.cmake 再下载3源码,解压后mkdir buildcd build 更改安装目录(先在/usr/local下新建文件夹opencv3)cmake -D CMAKE_原创 2017-06-21 11:18:18 · 2848 阅读 · 0 评论 -
Eigen——四元数笔记
1. Quaternion原创 2017-04-10 13:47:12 · 21013 阅读 · 1 评论 -
长度为n的整数数组循环左移右移m位
长度为n的整数数组循环左移m位 右移m相当于左移n-m// pat.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <iostream>void MoveLeft(int a[],int n,int m);int _tmain(int argc, _TCHAR* ar原创 2017-08-08 14:15:24 · 5773 阅读 · 0 评论 -
C++ 文件IO操作 读写
#include <iostream> #include <iomanip>#include <fstream> #include <stdlib.h>#include <vector>using namespace std; typedef struct ImageList{ double timeStamp; string imgName;}RGBList;i原创 2017-08-10 20:16:28 · 2268 阅读 · 0 评论 -
TUM的mono_dataset_code笔记及编译aruco
Code for Monocular Visual Odometry Dataset - https://vision.cs.tum.edu/data/datasets/mono-dataset前两步没问题 第三: 安装aruco ,作者提供的是1.4版本,不知为何我会编译错误,但是安装最新版2.0就可以 安装过程参考: 安装过程 值得注意的是: 这个页面有一点错误,$ sudo apt原创 2017-08-11 16:24:54 · 1135 阅读 · 0 评论 -
python笔记
文章目录命令行参数传递vscode配置anaconda:Python小记Python opencv键盘监听:Pandasskimage rescale、PIL和numpy关于图像pip记录:python 程序拷贝移动文件python 获得文件夹下全部文件名已经安装ros的环境下opencv-Python的坑:命令行参数传递argparse:vscode配置anaconda:environm...原创 2019-06-20 20:52:30 · 342 阅读 · 0 评论