E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Vins-mono
VINS-Mono
代码学习记录(八)--processImage( )续(包含初始化)
上一节其实已经学到了初始化的部分,就是求解相机和IMU的外参数:旋转。接下来继续吧…在processImage()中,涉及到初始化的代码为://[4]判断是初始化还是非线性优化if(solver_flag==INITIAL)//初始化{if(frame_count==WINDOW_SIZE)//如果帧数已经到达滑动窗口设定的帧数,就进行优化{boolresult=false;if(ESTIMATE
一直等待花开1
·
2020-07-15 06:15
VINS-Mono
代码学习记录(二)---feature_tracker
一、feature_tracker总体流程图解先给出一张feature_tracker的总体流程图,让自己有一个全局意识。这张图真好,感谢原作者。基本这就是feature_tracker这个node搞的事情啦!重点关注它,对!就是它!图片转自:https://blog.csdn.net/qq_41839222/article/details/85797156二、main()函数分析开始进入feat
一直等待花开1
·
2020-07-15 06:15
VINS-Mono
代码学习记录(九)--processImage()(滑窗优化边缘化部分)
上一节结束了初始化的内容,根据这张流程图:接下来继续学习其中的solveOdometry()函数,这一块就开始优化啦,
VINS-Mono
采用的是ceres来进行优化的。
一直等待花开1
·
2020-07-15 06:15
VINS-Mono
代码学习记录(四)---estimator_node
写在前面的话终于把feature_tracker这一个node给整理好了,那些都是之前就已经看过的内容,所以整理起来比较快,接下来就慢慢边学边整理吧,这次先来看estimator_node.cpp里main()的内容。补:在程序中会涉及到很多ROS里定义的数据类型和作者定义的复杂难理解的数据类型,比如sensor_msgs::ImageConstPtrsensor_msgs::PointCloud
一直等待花开1
·
2020-07-15 06:44
完美实现使用evo评估
VINS-Mono
过眼春光久已空,晒丝捣麦又匆匆。——(宋)陆游《夏日》EVO工具用于评估SLAM算法在现有数据集上的效果。源码在https://github.com/MichaelGrupp/evo。目前支持TUMKITTIEuroc等格式。evo工具提供了3种误差评估方式:evo_ape-absoulteposeerrorevo_rpe-relativeposeerrorevo_rpe-for-each-sub
猛龙过江ing
·
2020-07-15 06:54
VINS
自制简易C++日志库——优雅地调试
VINS-mono
——(宋)苏轼《策略》最近一直在研究
VINS-mono
,由于它是基于ROS(RobotOperatingSystem)开发的,运行的时候需要启动rviz和播放包文件,所以调试起来很不方便。
猛龙过江ing
·
2020-07-15 06:54
VINS
VINS-Mono
代码分析与总结(完整版)
VINS-Mono
代码分析总结参考文献1VINS-Mono:ARobustandVersatileMonocularVisual-InertialStateEstimator,TongQin,PeiliangLi
weixin_34235371
·
2020-07-15 05:13
香港科技大学的VINS_MONO初试
简介
VINS-Mono
是香港科技大学开源的一个VIO,我简单的测试了,发现效果不错。做个简单的笔记,详细的内容等我毕设搞完再弄。
weixin_30878501
·
2020-07-15 03:37
VINS-mono
详细解读
VINS-mono
详细解读极品巧克力前言
Vins-mono
是香港科技大学开源的一个VIO算法,https://github.com/HKUST-Aerial-Robotics/
VINS-Mono
,是用紧耦合方法实现的
weixin_30875157
·
2020-07-15 03:36
VINS-mono
学习之 三角化
参考:https://blog.csdn.net/u013517182/article/details/52151960https://blog.csdn.net/kokerf/article/details/72844455感谢前辈们的分享,对我理解VINS代码有很大的帮助。三角化(Triangulate)是计算机视觉中的重要的一部分,通过特征匹配的二维坐标点和图像的位姿(R,t)得到三维空间点
诺_不言
·
2020-07-15 01:13
VINS-mono
VINS在Android上的实现
VINS是香港科技大学沈劭劼团队开源的单目视觉惯导SLAM系统,其中开源了两个项目,
Vins-Mono
是基于ROS系统的,Vins-Mobile是基于苹果6S以上手机版本的。
wzj5530
·
2020-07-15 00:02
SLAM
Vins
Android
VINS-Mono
论文解读(IMU预积分残差+Marg边缘化)
目录VIO引出原因:融合方案:本文贡献:0、总体框架0.1数据预处理(IMU预积分见标题1)0.2初始化A.滑动窗口(SlidingWindow)纯视觉SfMB.视觉惯性校准(IMU预积分与视觉结构对齐)0.3紧耦合后端非线性优化(IMU约束+视觉约束+闭环约束)A公式BIMU残差C视觉残差D边缘化Marginalization(详见标题2)E相机速率下的状态估计--只有运动的VIO0.4重定位A
try_again_later
·
2020-07-14 23:18
视觉
激光SLAM
VINS-Mono
代码详细解读——IMU预积分的残差、Jacobian和协方差 processIMU()+intergrationBase类+imu_factor.h
前言:对第k帧和第k+1帧之间所有的IMU进行积分,可得到第K+1帧的PVQ(位置、速度、旋转),作为视觉估计的初始值。每次qwbt优化更新后,都要重新进行积分,运算量较大。将积分模型转为预积分模型:PVQ积分公式中的积分项变为相对于第i时刻的姿态,而不是相对于世界坐标系的姿态。目录一、IMU离散中值预积分理论基础1、没预积分:PVQ连续、离散积分1、IMU模型2、连续时间IMU运动模型,积分PV
try_again_later
·
2020-07-14 23:18
视觉
激光SLAM
VINS-Mono
代码详细解读——feature_manager.cpp
LZ发现estimator.cpp中关键函数为processImage(),里面包含了IMU预积分、图像处理特征点跟踪等一系列流程,上一节中对processIMU()以及预积分的integrationBase类进行解读,本节继续做基础储备,对与estimator.cpp中的feature_manager.cpp进行详细介绍,主要是对特征点管理。特征点管理器主要就是FeatureManager类目录
try_again_later
·
2020-07-14 23:46
视觉
激光SLAM
VINS-Mono
代码详细解读——Estimator_node.cpp
目录一、process()函数处理观测值线程1、先通过getMeasurements()函数获取imu和相机帧的信息。2.IMU预积分3.重定位setReloFrame()4.processImage()处理图像5、向RVIZ发布里程计信息、关键位姿、相机位姿、点云和TF关系6、更新IMU参数[P,Q,V,ba,bg,a,g]二、getMeasurements()函数1、图像注解2、代码三、3个回
try_again_later
·
2020-07-14 23:46
视觉
激光SLAM
VINS-Mono
代码详细解读——初始化2:视觉惯性松耦合初始化 visualIntialAlign()
visualIntialAlign()函数视觉惯性联合初始化这篇文章主要集中在讨论视觉部分和IMU部分之间的关联,如何对两部分进行对齐,使得系统完成初始化。目录visualIntialAlign()函数视觉惯性联合初始化理论:视觉IMU对齐流程代码流程VisualIMUAlignment()理论知识:视觉惯性校准(IMU预积分与视觉结构对齐)1、陀螺仪零偏bg标定2、速度v、重力g和尺度初始化s3
try_again_later
·
2020-07-14 23:46
视觉
激光SLAM
VINS-Mono
代码详细解读——初始化1:视觉SFM详解 processImage()+initialStructure()
Estimator类目录processImage()函数initialStructure()初始化函数SFM初始化relativePose()函数getCorresponding()函数返回两帧匹配特征点3D坐标solveRelativeRT()函数利用五点法求解相机初始位姿GlobalSFM::construct()最重要的函数!!!坚持就是胜利processImage()函数1.检查两帧的视差
try_again_later
·
2020-07-14 23:46
视觉
激光SLAM
VINS-MONO
配置时遇到的问题
VINS-MONO
配置时遇到的问题首先,先声明,博主到现在都没有配置好它,之所以写这篇博客是想记录一下自己吃了这么久的瘪,顺便提供一下给各位参考。
theworld666
·
2020-07-14 23:33
运行
VINS-Mono
遇到的问题
1.1UbuntuandROSUbuntu14.04ROSIndigo.[ROS安装](http://wiki.ros.org/indigo/Installation/Ubuntu)安装ROS包sudoapt-getinstallros-YOUR_DISTRO-cv-bridgeros-YOUR_DISTRO-tfros-YOUR_DISTRO-message-filtersros-YOUR_DI
snnily
·
2020-07-14 22:07
安装软件
笔记
VINS-mono
的编译与运行
简介:
VINS-mono
是香港科技大学一个计算机视觉实验室的科研结果,是要是基于单目视觉惯性里程计的一个slam系统,整个项目都是内嵌于ros。非常感谢这群勤劳刻苦创新的研究者开源了这个项目。
山鬼是男生
·
2020-07-14 22:49
视觉SLAM
后端优化 |
VINS-Mono
论文公式推导与代码解析分讲
为了限制优化变量的数目,
VINS-Mono
采用了滑动窗口的形式,滑动窗口中的全状态量:滑动窗口内n+1个所有相机的状态(包括位置、朝向、速度、加速度计bias和陀螺仪bias)Camera到IMU的外参
qq_43525734
·
2020-07-14 21:11
技术文章
初始化 |
VINS-Mono
论文公式推导与代码解析分讲
初始化(松耦合)在提取的图像的Features和做完IMU的预积分之后,进入了系统的初始化环节,主要的目的有以下两个:系统使用单目相机,如果没有一个良好的尺度估计,就无法对两个传感器做进一步的融合,这个时候需要恢复出尺度;要对IMU进行初始化,IMU会受到bias的影响,所以要得到IMU的bias。所以我们要从初始化中恢复出尺度、重力、速度以及IMU的bias,因为视觉(SFM)在初始化的过程中有
qq_43525734
·
2020-07-14 21:38
技术文章
Vins-mono
源码笔记 (2) estimator_node
estimator_node总结1、数据的处理1.1IMU数据的处理1.2图像特征的处理2、measurement_process2.1process()2.2getMeasurements()2.3IMU数据处理2.4图像特征的处理2.4.1、processImage()2.4.1.1.addFeatureCheckParallax2.4.2frame的定义总结该节点:1、接受并处理发送来的IM
SLAM不dunk
·
2020-07-14 20:14
vslam
VINS-Mono
代码解读——视觉惯性联合初始化 initialStructure sfm
前言本文主要介绍VINS状态估计器模块(estimator)中的初始化过程(initial),对应论文第五章(V.ESTIMATORINITIALIZATION),主要在代码中/vins_estimator节点的相关部分实现。由于单目紧耦合的VIO是一个高度非线性系统,单目视觉没有尺度信息,IMU的测量又存在偏置误差,如果没有良好的初始值很难将这两种测量结果有机融合,因而初始化是VIO最脆弱的步骤
Manii
·
2020-07-14 20:07
VINS
VINS论文学习与代码解读
VINS-Mono
理论学习——视觉惯性联合初始化与外参标定
前言本文主要介绍VINS状态估计器模块(estimator)初始化环节中视觉惯性对齐求解陀螺仪偏置、尺度、重力加速度、每帧速度以及相机到IMU的外参估计,其中前半部分对应论文第五章(V.ESTIMATORINITIALIZATIONB.Visual-InertialAlignment),后半部分参考了沈老师组的之前的论文。总的来说,视觉惯性对齐主要包括以下流程:1、若旋转外参数qbcq_{bc}q
Manii
·
2020-07-14 20:07
VINS
VINS论文学习与代码解读
VINS
初始化
VIO
标定
如何用Realsense D435i运行
VINS-Mono
等VIO算法 获取IMU同步数据
前言IntelRealsenseD435i在D435的基础上硬件融合了IMU,然而目前网上关于这款摄像头的资料非常少,本文主要介绍自己拿着d435i历经曲折最后成功运行
VINS-Mono
的过程。。。
Manii
·
2020-07-14 20:07
VINS-Mono
代码解读——状态估计器流程 estimator 写在初始化和非线性优化前
前言本文主要介绍VINS的状态估计器模块(estimator),主要在代码中/vins_estimator节点的相关部分实现。这个模块可以说是VINS的最核心模块,从论文的内容上来说,里面的内容包括了VINS的估计器初始化、基于滑动窗口的非线性优化实现紧耦合,即论文第五章(V.ESTIMATORINITIALIZATION)第六章(VI.TIGHTLY-COUPLEDMONOCULARVIO)。此
Manii
·
2020-07-14 20:07
VINS
VINS论文学习与代码解读
VINS-Mono
代码解读——启动文件launch与参数配置文件yaml介绍
前言一般我们通过以下命令运行
VINS-Mono
跑MH_01数据集。
Manii
·
2020-07-14 20:07
VINS
VINS论文学习与代码解读
VINS-Mono
代码解读——回环检测与重定位 pose graph loop closing
前言本文主要介绍VINS的重定位模块(relocalization),主要在代码中/pose_graph节点的相关部分实现。从论文的内容上来说,主要包括了VINS中的回环检测、特征匹配与检验、重定位等内容,即论文第七章(VII.RELOCALIZATION)。先简要介绍下论文中的内容:A.回环检测1、利用DBoW2进行回环检测。2、除了用于单目VIO的角点特征外,还添加了500个角点并使用BRIE
Manii
·
2020-07-14 20:07
VINS
VINS论文学习与代码解读
VINS
回环检测
重定位
VINS-Mono
理论学习——IMU预积分 Pre-integration (Jacobian 协方差)
引言VINS论文的IV-B.IMUPre-integration介绍了IMU预积分模型,Foster的两篇论文对IMU预积分理论进行详细分析。传统传统捷联惯性导航的递推算法,是在已知上一时刻的IMU状态量(姿态和速度、位移)情况下,利用IMU测量得到的线加速度和角速度,做积分运算得到当前时刻的状态量。然而在基于非线性优化的VIO中,各个节点的状态量都是估计值(此处还包括Ba和Bg)。当这些状态量在
Manii
·
2020-07-14 20:05
VINS
VINS论文学习与代码解读
小觅S系列相机运行
vins-mono
小觅S系列相机运行vins-mono1.SDK驱动2.获得相机标定数据3.下载MYNT-EYE-VINS-Sample4.运行前期准备:安装并成功运行
VINS-MONO
。
King Ray
·
2020-07-14 20:11
SLAM
VINS-Mono
源码解析(三)后端: IMU预积分
VINS-Mono
源码解析(三)后端:IMU预积分为什么要预积分?
不掉发码农
·
2020-07-14 16:34
VINS-Mono源码解析
VINS-Mono
源码解析(二)前端:特征跟踪
VINS-Mono
源码解析(二)前端:特征跟踪
VINS-Mono
中的前端处理在ROS节点feature_tracker_node中,具体实现是GoodFeatureToTrack+LK光流跟踪。
不掉发码农
·
2020-07-14 16:34
VINS-Mono源码解析
ROS Indigo上使用RealSense ZR300
ROSIndigo上使用RealSenseZR300在Ubuntu14.04上安装了realsensezr300的驱动librealsense以后,想要在ros上用zr300跑一跑
vins-mono
试试
岁月饶过谁
·
2020-07-14 16:27
VINS-MONO
运行
初次运行
VINS-MONO
,按照官网安装并配置:https://github.com/HKUST-Aerial-Robotics/
VINS-Mono
;遇到问题如下:roslaunchvins_estimatoreuroc.launchroslaunchvins_estimatorvins_rviz.launch
nifengzhiyix2
·
2020-07-14 15:37
SLAM
VINS-Mono
代码阅读笔记(十):vins_estimator中的非线性优化
本篇笔记紧接着
VINS-Mono
代码阅读笔记(九):vins_estimator中的相机-IMU对齐,初始化完成之后就获得了要优化的变量的初始值,后边就是做后端优化处理了。
文科升
·
2020-07-14 15:35
SLAM
使用小觅双目-惯性相机运行
VINS-Mono
步骤1.下载相机驱动MYNT-EYE-SDK-2,然后makeros(注意:前面的Ubuntu安装也要操作);2.安装
VINS-Mono
;3.在MYNT-EYE-VINS-Sample/config/mynteye
W_Tortoise
·
2020-07-14 13:20
SLAM
VINS-Mono
代码精简版代码详解-无ROS依赖(二)
视觉惯性联合初始化其对应的函数为visualInitialAlign()是在初始窗口中的图像帧完成SFM三维重建之后,即各图像帧在参考坐标系下的初始位姿都已经计算完成之后,执行的。该函数主要实现了陀螺仪的偏置校准(加速度偏置没有处理),计算速度V[0:n]、重力g、尺度s。同时更新了Bgs后,IMU测量量需要repropagate;得到尺度s和重力g的方向后,需更新所有图像帧在世界座标系下的Ps、
jiweinanyi
·
2020-07-14 12:41
VIO
VINS-Mono
代码总结-IMU预积分相关部分
VINS-Mono
代码总结-IMU预积分与残差计算关于
VINS-Mono
系统的理论推导和代码讲解,网上有很多优秀的博客,如
VINS-Mono
代码分析与总结(一)IMU预积分,
VINS-Mono
源码解析(
jiweinanyi
·
2020-07-14 12:40
VIO
VINS-Mono
代码-视觉特征部分-笔记
引言视觉特征从提取到构造视觉误差再到优化,是VINS中重要的一部分。所采用的特征法,光流跟踪,重投影误差,基于归一化平面的残差计算等等都值得具体的分析与思考。下面我们将从整个代码的主函数开始,沿着特征处理进行介绍。主函数整个系统的主函数在estimator_node.cpp中,进一步的IMU数据和视觉数据的处理是在process()函数中,数据的获取是在getMeasurements()函数中,传
jiweinanyi
·
2020-07-14 12:09
VIO
VINS-Mono
视觉初始化代码详解
下面,我们对
VINS-Mono
中的视觉初始化部分的代码进行介
jiweinanyi
·
2020-07-14 12:09
VIO
【SLAM】VINS-Fusion解析——流程
VINS-Fusion分析因为时间原因,没有像
vins-mono
看的和写的那么具体。有时间的话我会补充完整版。
iwander。
·
2020-07-14 12:17
机器视觉
【SLAM】
VINS-MONO
解析——sliding window
8.slidingwindow8.1理论基础实际上,这一部分跟后端非线性优化是一起进行的,这一部分对应的非线性优化的损失函数的先验部分。理论基础部分的代码基本在第7章部分。8.1.1上一次非线性优化结束,最后的H矩阵就是本轮非线性优化的先验矩阵的前身。8.1.2构造先验矩阵(1)移动需要marg掉的pose和路标点对应的,J矩阵的一些列需要删除掉;H矩阵的一些行需要删掉。在操作先验矩阵的时候,需要
iwander。
·
2020-07-14 12:17
机器视觉
【SLAM】
VINS-MONO
解析——基于
vins-mono
的双目slam系统开发
这个系统是基于香港科技大学飞行机器人组的开源框架
VINS-Mono
开发的,原开源框架是针对单目SLAM。本双目SLAM系统是在原单目开源框架基础上的二次深度开发,外部接口与原框架一致。
iwander。
·
2020-07-14 12:17
机器视觉
【SLAM】
VINS-MONO
解析——对
vins-mono
的提升建议
vins-mono
刷了三遍,手写vio刷了两遍,SLAM十四讲刷了两三遍,从一开始完全看不懂是啥,不知道什么是SLAM,什么是VIO,什么是VINS,什么是SO3/SE3,甚至不知道什么是IMU…再到自己写总结写攻略
iwander。
·
2020-07-14 12:17
机器视觉
【SLAM】
VINS-MONO
解析——初始化(理论部分)
6.初始化第一个问题,为什么要初始化?对于单目系统而言,(1)视觉系统只能获得二维信息,损失了一维信息(深度),所以需要动一下,也就是三角化才能重新获得损失的深度信息;(2)但是,这个三角化恢复的深度信息,是个“伪深度”,它的尺度是随机的,不是真实的,所以就需要IMU来标定这个尺度;(3)要想让IMU标定这个尺度,IMU也需要动一下,得到PVQ的P;(4)另外,IMU存在bias,视觉获得的旋转矩
iwander。
·
2020-07-14 12:16
机器视觉
【SLAM】
VINS-MONO
解析——IMU预积分
各个部分的讲解如下链接:【SLAM】
VINS-MONO
解析——综述【SLAM】
VINS-MONO
解析——feature_tracker【SLAM】
VINS-MONO
解析——IMU预积分【SLAM】
VINS-MONO
iwander。
·
2020-07-14 12:16
机器视觉
【SLAM】
VINS-MONO
解析——后端优化(理论部分)
7.后端非线性优化7.1理论基础7.1.1bayes模型,因子图和最小二乘这一部分主要是对董靖博士在公开课《因子图的理论基础》上的回忆和总结。(1)bayes模型假设有黄色是机器人在不同时刻的位姿,蓝色是机器人观测到的路标点,红色是机器人对路标点的观测,绿色是机器人对自身运动的观测。那么,这个过程可以用下面这个bayes-net来描述:那么,可以有这样的定义:黄色——机器人位姿——是状态量——X;
iwander。
·
2020-07-14 12:16
机器视觉
【SLAM】
VINS-MONO
解析——初始化(代码部分)
6.2代码解析这部分代码在estimator::processImage()最后面。初始化部分的代码虽然生命周期比较短,但是,代码量巨大!主要分成2部分,第一部分是纯视觉SfM优化滑窗内的位姿,然后在融合IMU信息,按照理论部分优化各个状态量。if(solver_flag==INITIAL)//进行初始化{if(frame_count==WINDOW_SIZE){boolresult=false;
iwander。
·
2020-07-14 12:45
机器视觉
【SLAM】
VINS-MONO
解析——后端优化(代码部分)
7.2代码在estimator.cpp的processImage()的最后,代码如下:else//solver_flag=NON_LINEAR,进行非线性优化{solveOdometry();//getParameterBlocks(std::unordered_map&addr_shift);std::vectorfactors;//所有观测项intm,n;//m为要边缘化的变量个数,n为要保留
iwander。
·
2020-07-14 12:45
机器视觉
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他