自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

开源节流

欢迎交流评论留言,有不到之处请指教。

  • 博客(336)
  • 收藏
  • 关注

原创 [学习SLAM]online_photometric_calibration-master DSO应用问题梳理

online_photometric_calibration-master 问题梳理1 DSO在线标定没有输出txt问题,主要是有图像窗口的形式展示,不是直观理解上txt内容,:Scale up inverse response from range [0,1] to range [0,255]确实有*255操作.2 DSO在线标定渐晕也不是图像输出,貌似是几个系数,目前这点还不确定.初步认...

2020-12-09 17:49:52 640

原创 [学习点云]ROS中解析bag包中的点云文件到pcd格式

在ROS中使用bag包来记录运行过程中各个topic中的message,对于这些message,我们可以使用rosbag play *.bag 的方式进行播放,但如果要截取bag包中的某一些数据,并逐一对其进行处理,那么我们就需要的bag进行解析。 ros中的点云文件为PointCloud2,我们将一个用velodyne64线雷达采集的bag包中的点云文件转换为我...

2020-12-09 17:48:21 17691 9

原创 [学习SLAM]loam_velodyne保存并查看三维点云地图 2

loam_velodyne的安装与使用1可以参考 https://blog.csdn.net/KYJL888/article/details/96491725网上提供ROS wiki http://wiki.ros.org/loam_velodyne上无imu信息的bag百度云链接链接: https://pan.baidu.com/s/18ISyr4ky2MfTl7TXJD2W-A 提取...

2020-12-09 17:47:24 2049 5

原创 [深度学习]CenterNet/CenterTrack学习笔记

HRNet / HigherHRNet-Human-Pose-Estimation https://github.com/HRNet/HigherHRNet-Human-Pose-Estimation 三项任务[应用] Main resultsObject Detection on COCO validationBackbone AP / FPS Flip AP / FPS Multi-scale AP / FPS Hourglass-104...

2020-12-09 17:45:54 2426

翻译 [深度学习]单目视频中运动3D目标检测_单目深度估计(5)

基于视频(不使用激光雷达)的3D目标检测,利用视频中目标的运动信息,性能达到SOTA。Kinematic3DObject Detection in Monocular Video作者 |Garrick Brazil, Gerard Pons-Moll, Xiaoming Liu, Bernt Schiele单位 |密歇根州立大学;萨尔大学论文 |https://arxiv.org/abs/2007.09548​代码 |https://github.com/garrickbrazil/...

2020-12-09 17:44:08 982

转载 [学习SLAM]精简版无ROS依赖的Vins-Mono代码(深蓝学院VIO 笔记)

代码框架 主函数 数据发布函数 后端优化函数 代码框架所详解的代码是深蓝学院课程提供的VIO代码,是港科大VINS-Mono代码的精简版本,保留了主要的初始化/前端/后端优化模块,整个代码不依赖于ROS系统,对于进一步深入学习VINS系统具有极大的帮助。下面将对代码的主要部分进行讲解,有理解错误的地方请多指正。首先给出整个系统流程图。主函数针对EuRoC数据集的测试主函数为run_euroc.cpp,首先创建后端线程:// An highlighted blockstd

2020-12-09 17:27:11 2299 1

原创 [学习SLAM]vins-mono中的特征点管理/三维稀释点的重建

主要涉及到以下三个类:feature_manager.h中的FeaturePerFrame、FeaturePerId、FeatureManager假设存在两个路标点P1和P2,分别被相机帧1-2,2-4观测到。(1)FeaturePerID类​ 类的定义如下:class FeaturePerId{ public: const int feature_id; int start_frame; vector<FeaturePerFrame> f

2020-12-09 17:24:32 2103 1

原创 [学习SLAM] 3D可视化 只viz模块和pangolin

viz模块主要用于3D可视化显示。首先看个简单示例程序,创建一个窗口并显示坐标系: //创建可视化窗口 viz::Viz3d window1("window1"); //构造一个坐标系,并显示到窗口中 window1.showWidget("Coordinate", viz::WCoordinateSystem()); //开启永久循环暂留 window1.spin();第一句,创建窗口。很简单,类型为Viz3d类型,参数为窗口名称。第二句,在窗

2020-12-04 16:43:45 2824 1

原创 [学习SLAM]协方差矩阵与雅克比矩阵-(相关性/变换基)||(微分倒数J/H)

协方差矩阵/协方差矩阵的意义基本的统计学概念,即均值、标准差、方差和协方差协方差的定义对于一般的分布,直接代入E(X)之类的就可以计算出来了,但真给你一个具体数值的分布,要计算协方差矩阵,根据这个公式来计算,还真不容易反应过来。网上值得参考的资料也不多,这里用一个例子说明协方差矩阵是怎么计算出来的吧。记住,X、Y是一个列向量,它表示了每种情况下每个样本可能出现的数。比如给定则X表示x轴可能出现的数,Y表示y轴可能出现的。用中文来描述,就是:协方差(i,j)=(第i列的所有元素-第i.

2020-11-12 18:10:58 4843 2

转载 [学习VScode]vscode + cmake 的C++项目/CMakeTools开发调试 C++ 程序(Linux环境)

软件实现跨平台,必须保证其能够在不同平台下编译。CMake允许开发者编译一种平台无关的CMakeLists.txt文件来制定整个编译流程,然后再根据目标用户的平台进一步生成所需的本地化的Makefile和工程文件,从而做到 Write once, run everywhere。Linux 平台(Linux Mint 19)# 安装必须的包$ sudo apt-get install build-essential$ sudo apt-get install cmake git gcc g+.

2020-11-09 11:43:03 2566

原创 [摄像机]Linux系统配置Basler相机驱动(软件触发和硬件触发)OpenCV格式转换/配置文件解析及加载代码

由于学校实验室需要用到Basler相机,然而网上Basler相机的说明文档是全英文的,对新手不太友好,而且国内关于Basler的硬件触发代码没有。在研究了Basler相机的SDK之后总结出了触发的驱动,还有照片与OpenCV格式转换的代码,希望可以对你们有帮助。https://www.jianshu.com/p/cee63023b8c7测试环境Ubuntu14.04 Pylon5.0.5 OpenCV3.4.14 相机型号acA1600-60gm/acA2500-14gm使用步骤下载Ba

2020-08-22 10:08:46 3775

原创 [学习SLAM]欧拉角,旋转矩阵,旋转向量和四元数[opencv(C++,python),matlab,eigen]转换

[学习opencv]基于OpenCV的四元数、旋转矩阵和欧拉角互相转换【学习SLAM】’Matlab ——旋转矩阵,旋转向量,四元数,欧拉角之间的转换[学习SLAM]Eigen库使用教程之旋转矩阵,旋转向量和四元数的初始化和相互转换的实现 (ch3)...

2020-08-17 15:26:10 1080

转载 [学习SLAM]Eigen库使用教程之旋转矩阵,旋转向量和四元数的初始化和相互转换的实现 (ch3)

Eigen: C++开源矩阵计算工具——Eigen的简单用法 Eigen库是一个开源的C++线性代数库,它提供了快速的有关矩阵的线性代数运算,还包括解方程等功能。Eigen是一个用纯头文件搭建起来的库,这意味这你只要能找到它的头文件,就能使用它。Eigen头文件的默认位置是“/usr/include/eigen3”. 由于Eigen库相较于OpenCV中的Mat等库而言更加高效...

2020-08-17 15:19:14 1827

原创 【学习SLAM】Matlab ——旋转矩阵,旋转向量,四元数,欧拉角之间的转换

基于Matlab现有函数下的内容Matlab ——旋转矩阵,旋转向量,四元数,欧拉角之间的转换旋转矩阵 dcm R四元数 quat q = [q0 q1 q2 q3]欧拉角 angle [row,pitch,yaw]/[r1,r2,r3]注:以上表格是为了帮助理解的表示roll(横滚) --X pitch(俯仰)--Y ...

2020-08-17 15:18:23 5266

原创 [学习opencv]linux与ROS下的opencv与python的互坑过程

error while loading shared libraries: libopencv_core3.so.3.3: cannot open shared object file: No such file or directory解决:使用命令locate libopencv_core3.so.3.3查找文件位于位于:/opt/ros/kinetic/lib/x86_64-linux-gnu/libopencv_core3.so.3.3把/x86_64-linux-gnu/下...

2020-08-17 15:17:08 644

原创 [深度学习]MonoDepth2实践笔记_单目深度估计(3)

预测testdepth --> encode,decode # PREDICTION input_image = input_image.to(device) features = encoder(input_image) outputs = depth_decoder(features) disp = outputs[("disp", 0)] dis

2020-08-17 15:16:23 1725

翻译 [深度学习]CNN-DSO实践笔记_单目深度估计(4)

CNN-DSO: 直接稀疏测距和CNN深度预测的组合[ DSO and Monodepth.]1. OverviewThis code provides a combination of DSO and Monodepth. For every keyframe, depth values are initialized with the prediction from Monodepth.Absolute keyframe trajectory RMSE (in meter) on KIT

2020-08-13 16:36:01 1099

原创 [深度学习]MonoDepth2实践笔记_单目深度估计(2)

monodepth2模型的测试系列双目/单目+雷达==训练https://me.csdn.net/ltshan139https://blog.csdn.net/avideointerfaces/article/details/105647031 基于无监督和自监督的深度学习算法模型有好几种,未来也会越来越多。我们这里主要介绍monodepth2。它是自监督;而它的前身monodepth是无监督。个人觉得自监督和无监督本质差...

2020-08-06 14:26:21 6524 9

原创 [学习SLAM]ORB-SLAM3

原论文:ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAMCarlos Campos, Richard Elvira, Juan J. Gómez Rodríguez, José M. M. Montiel, Juan D. TardósarXiv:2007.11898代码开源地址:https://github.com/UZ-SLAMLab/ORB_SLAM3YouTube

2020-07-30 18:22:51 2289

转载 [深度学习]MonoDepth2论文阅读_单目深度估计(1)

文章标题:Digging Into Self-Supervised Monocular Depth Estimation 摘要: 逐像素的真实尺度深度数据的大量获取,是具有挑战性的任务。为了克服这个限制,自监督学习已经成为一个有希望的替代训练模型,用来执行单目深度估计。本文中,我们提出了一系列的改进手段,用来提升自监督深度学习深度估计方法的精度。 自监督单目模型训练的研究,通常是探究越来越复杂的结构、损失函数和图像形成模型,而所有这些都有助于缩小与全监督方法的差距。我们...

2020-07-30 14:42:46 14640 5

转载 [学习SLAM ]单目vo中的深度确定方法--三角测量

三角测量的目的是用来确定图片中某一个点的深度。为什么会有这样的需求呢?我们在前面的博客中提到了对极几何与单应变换。在前面其实已经提到过了,在单目VO中,虽然我们可以通过本质矩阵与单应矩阵恢复出相机变换的位姿,但是这两种方法确定的位姿变换是具有尺度不确定性的。在双目vo中,我们会首先使用三角测量恢复出深度信息,再进行位姿估计。因为基础矩阵与单应矩阵本身描述的是从一个2d平面到另一个2d平面的变换,无需3d深度信息,这两种变换都是正常进行的,因此自然就具有尺度不确定性。更加具体的讲,将基础矩阵与单应矩阵作

2020-07-09 11:03:53 5614 5

转载 VINS简介与代码结构

VINS-Mono和VINS-Mobile是香港科技大学沈劭劼团队开源的单目视觉惯导SLAM方案。是基于优化和滑动窗口的VIO,使用IMU预积分构建紧耦合框架。并且具备自动初始化,在线外参标定,重定位,闭环检测,以及全局位姿图优化功能。方案最大的贡献是构建了效果很好的融合算法,视觉闭环等模块倒是使用了较为常见的算法。系列博客将结合课题组发表的paper,从代码层面,逐步剖析系统的各个模块,...

2020-06-03 13:27:30 4827

转载 高精度地图与数据采集生产及产品实例

高精度地图、定位、感知、预测、规划、控制高精地图主要包括:道路定义    (地图道路) 交叉路口    (记住交叉路口的地物信息等) 交通信号    (记住交通灯的位置,计算高度等) 车道规则    (记住当前路段的车道规则)处理高精地图外还有俯视图、相对定位图、三维点云地图来作为辅助没有高精度地图 L3 L4 是无法落地的普通的导航电子地图是面向驾驶员使用(有向图结构),而高精度地图是自动驾驶汽车使用(还包

2020-05-18 18:28:19 8190

转载 定位中传感器与坐标系

<li>感知:What we see</li><li>决策:How the environment will change</li><li>规划:How we move</li><li>控制:How to control the car</li>目录1. 技术入门GPS定位点云匹配定位视觉定位惯性导航推算轨迹多传感器融合定位 2.基础知识——主要讲述各种坐标系三维坐标系的几何变

2020-05-18 17:45:31 1816

翻译 C++中反正切atan2(y,x)与atan(x)与旋转(旋转向量)

1、atan(x)表示求的是x的反正切,其返回值为[-pi/2,+pi/2]之间的一个数。2、atan2(y,x)求的是y/x的反正切,其返回值为[-pi,+pi]之间的一个数。atan2返回值解释:在三角函数中,两个参数的函数atan2是正切函数的一个变种。对于任意不同时等于0的实参数x和y,atan2(y,x)所表达的意思是坐标原点为起点,指向(y,x)的射线在坐标平面上与x轴正方向之间的角的角度度。当y>0时,射线与x轴正方向的所得的角的角度指的是x轴正方向绕逆时针方向到达射线旋

2020-05-14 16:30:34 2600

原创 【算法应用】匈牙利算法c++代码(最优匹配)

直接上代码广度搜索(DFS)特点:优点,实现简洁,理解容易。适用:稠密图,由于边多,DFS找增广路很快。复杂度O(n3)程序运行结果: #include <iostream> #include <string.h> using namespace std; #define MAXN 10 //MAXN表示X集合和Y集合顶点个数的最大值 int nx,ny; ...

2020-05-12 13:40:19 2526

原创 二分图的最大匹配、完美匹配和匈牙利算法

这篇文章讲无权二分图(unweighted bipartite graph)的最大匹配(maximum matching)和完美匹配(perfect matching),以及用于求解匹配的匈牙利算法(Hungarian Algorithm);不讲带权二分图的最佳匹配。1. 二分图的基本知识点二分图:简单来说,如果图中点可以被分为两组,并且使得所有边都跨越组的边界,则这就是一个二分图。准确地说:把一个图的顶点划分为两个不相交集 $U$ 和$V$ ,使得每一条边都分别连接$U$、$V$中的顶点。如果存在

2020-05-11 17:26:17 20181 3

转载 理解粒子滤波(particle filter)

理解粒子滤波(particle filter)1)初始化阶段-提取跟踪目标特征该阶段要人工指定跟踪目标,程序计算跟踪目标的特征,比如可以采用目标的颜色特征。具体到Rob Hess的代码,开始时需要人工用鼠标拖动出一个跟踪区域,然后程序自动计算该区域色调(Hue)空间的直方图,即为目标的特征。直方图可以用一个向量来表示,所以目标特征就是一个N*1的向量V。2)搜索阶段-放狗好,我们已...

2020-04-07 11:21:14 5554 1

转载 [学习SLAM]在ceres中实现PnP优化(仅优化位姿) SLAM十四讲第七章课后题10

一.仅优化位姿 构造类和代价函数: // 代价函数的计算模型 struct PnPCeres { PnPCeres ( Point2f uv,Point3f xyz ) : _uv(uv),_xyz(xyz) {} // 残差的计算 template <typename T> bool ...

2020-03-17 16:50:09 758

原创 【学习SLAM】SLAM14讲学习笔记(十三)ch10 后端1(代码详述)

这章的代码纯粹靠自己学习,对于初学者来说是很难的。我个人有些感觉:之前的练习,都是一些小demo,相当于实验内容。而这章,给读者展现了一些工程上的东西。类似于第9讲的设计前端,这章已经算一个小型的slam后端系统了。对于普通学生来说,C++的那一套东西,只是懂得理论,主要平时做实验,写代码还是属于面向过程的。从这节的代码中,我们可以充分的学习和体会到面向对象的优势与精髓,了解到工程上的一些设计...

2020-03-17 10:30:12 598

转载 [学习SLAM]DSO论文(深入剖析DSO的数学原理及实现)

DSO(Direct Sparse Odometry),是慕尼黑工业大学(Technical University of Munich, TUM)计算机视觉实验室的雅各布.恩格尔(Jakob Engel)博士,于2016年发布的一个视觉里程计方法(期刊论文见[1],实验室主页见[2])。在SLAM领域,DSO属于稀疏直接法,据论文称能达到传统特征点法的五倍速度(需要降低图像分辨率...

2020-03-11 17:56:18 6744

原创 【计算机视觉】稀疏光流跟踪(KLT)

稀疏光流跟踪(KLT)稀疏光流跟踪(KLT)详解在视频移动对象跟踪中,稀疏光流跟踪是一种经典的对象跟踪算法,可以绘制运动对象的跟踪轨迹与运行方向,是一种简单、实时高效的跟踪算法,这个算法最早是有Bruce D. Lucas and Takeo Kanade两位作者提出来的,所以又被称为KLT。KLT算法工作有三个假设前提条件:亮度恒定 短距离移动 空间一致性亮度恒定对象中...

2020-03-06 10:02:22 1754

转载 视觉slam g2o 编译出现 Cmake Error:By not providing “FindG2O.cmake” in CMAKE_MODULE_PATH错误

在学习slam十四讲的时候,成功安装编译了g2o,但是在运行g2o_curve_fitting代码时出现错误,提示如下:在这里插入图片描述方法一:这时需要在cmakelist文件中添加几行代码,添加代码如下: list(APPEND CMAKE_MODULE_PATH /XXX/g2o/cmake_modules) set(G2O_ROOT /XXX/g2o) find_...

2020-02-26 11:50:42 1961

原创 【计算机视觉】SURF SIFT ORB三种特征检测算法比较

我们知道,双目立体测距的基础是利用视差求距离,而视差就是计算左右图像中对应点的像素坐标之差,这个左右图中的对应点是由通过立体匹配得来。立体匹配从大的方面说分为两种,全局匹配和局部匹配,全局匹配精度高,但是计算速度慢,不能满足实时的要求,局部匹配速度快,可以满足实时的要求,但是精度不如前者,考虑到项目实际,需要实时的判断机器人与环境的关系,就重点研究局部匹配。局部匹配又分为基于区域的匹...

2020-02-24 10:40:28 1089

原创 学习SLAM《视觉SLAM十四讲(高翔著)》 第10讲笔记(BA优化)

代码实践文章目录 10.3实践:g2o 10.4实践:Ceres 程序的详细注释可关注robinhjwy和zkk9527的CSDN博客。10.3实践:g2o用g2o求解BA问题。程序的编译运行方法:mkdir buildcd buildcmake ..make./g2o_customBundle -input ../data/problem-16...

2020-02-17 23:15:21 598 1

原创 Ubuntu开机自启动的两种方法总结

第一种方法1,新建个脚本文件new_service.sh#!/bin/bash# command content exit 02,设置权限sudo chmod 755 new_service.sh3,把脚本放置到启动目录下sudo mv new_service.sh /etc/init.d/4,将脚本添加到启动脚本执行如下指令,在这里90表明一个优先级,越高...

2020-02-11 10:41:06 46040

转载 [学习PCL]统计滤波(离群点剔除)

1.原理介绍StatisticalOutlierRemoval滤波器主要可以用来剔除离群点,或者测量误差导致的粗差点。滤波思想为:对每一个点的邻域进行一个统计分析,计算它到所有临近点的平均距离。假设得到的结果是一个高斯分布,其形状是由均值和标准差决定,那么平均距离在标准范围(由全局距离平均值和方差定义)之外的点,可以被定义为离群点并从数据中去除。2.源码剖析// The array...

2020-01-20 13:36:41 11477 1

转载 【学习SLAM】掌握g2o边的代码套路--从零开始

  小白:师兄,g2o框架《从零开始一起学习SLAM | 理解图优化,一步步带你看懂g2o代码》,以及顶点《从零开始一起学习SLAM | 掌握g2o顶点编程套路》我都学完啦,今天给我讲讲g2o中的边吧!是不是也有什么套路?  师兄:嗯,g2o的边比顶点稍微复杂一些,不过前面你也了解了许多g2o的东西,有没有发现g2o的编程基本都是固定的格式(套路)呢?  小白:是的,我现在按照师兄说的g2...

2020-01-06 11:28:01 384

转载 [学习SLAM]Quaternion 插值/ 用四元数插值来对齐IMU和图像帧

小白:师兄,好久没见到你了啊,我最近在看IMU(Inertial Measurement Unit,惯性导航单元)相关的东西,正好有问题求助啊师兄:又遇到啥问题啦?小白:是这样的,现在VIO(Visual-Inertial Odometry,视觉惯性里程计)很火,我就想试试把IMU测量的信息和图像进行简单的融合,这样利用IMU测量的先验信息,可以给图像一个比较好的初值。。。师兄:嗯嗯,...

2020-01-06 10:46:14 1171

转载 [学习opencv]基于OpenCV的四元数、旋转矩阵和欧拉角互相转换

这部分代码我摘自于goog...

2020-01-06 10:25:25 4869

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除