- 博客(30)
- 资源 (6)
- 收藏
- 关注
原创 zed2i相机中imu内参的标定及外参标定
是要标定的时间长度(分钟),应当与录制的bag的时间长度一致,或者短一点,切不可比录制时间还长,不然标定会一直卡住。值得注意,imu内参的标定其实不是那么重要,大致上给一个值应该影响不大,比如下面是官方给的参数。,前者应该是在后者基础上做了一定的滤波处理,我后面采用了前者。值得注意的是,zed2i提供的imu话题有两个,一个是。找个地方放置相机,保持静止,录制2个多小时。将相机标定时录制的bag,相机标定得到的结果。需要等几分钟,然后就会得到标定结果。如果自行标定,可以采用。和imu标定得到的结果。
2023-05-10 10:39:55 1356
原创 标定lidar-imu外参
哈工大的只能标定旋转矩阵(可能比较适合平移向量几乎为0的情况),浙大的捣鼓起来似乎很麻烦,而且网上有人用这个标定结果不好,所以我就选择了ethz。不过作者认为该代码不适合lidar-imu的标定,因为imu会漂移,他认为最好是借助lidar-odom进行标定,比如另外加入视觉+imu算出位姿值。不过我调研发现,网上很多人采用了imu进行标定,并且运行结果也不错,因此采用了该方案。参考:为了能够直接读取imu数据,需要对其中的接口,即loader.cpp文件进行修改,已经有大佬修改完毕,可以直接用,。
2023-05-10 10:39:46 1027
原创 【机器人学中的状态估计】第三讲 非线性高斯系统的状态估计问题
不同的误差项涉及到的优化变量是不同的,因此为了统一描述,优化变量被统一写在一个变量当中,误差项求雅克比时也是对所有优化变量求导的。不同种类的误差项求出的雅克比形式是不同的,最后是把所有雅克比求和来近似海塞矩阵,而海塞矩阵本身是对线性系统中。上图把线性化后的误差显式地写出来了,其实反而费解,比较容易理解的形式可以参见我写的激光SLAM笔记的图优化部分。仅仅表示递推关系而不是整个误差项,这与《SLAM十四讲》中的表示容易混淆。下面采用的是高斯牛顿法,也就是对误差进行线性化,而不是误差的平方。
2023-03-17 15:49:29 203
原创 VDO-SLAM: 一个基于视觉的动态对象感知系统
这么强的假设限制了在大范围的重要真实场景应用中,自动驾驶机器人系统的部署,包括高度动态和无结构化的环境中。这篇文章提出了VDO-SLAM,一个鲁棒的感知物体的动态SLAM系统,其利用语义信息来估计场景中刚体的运动,不需要物体的的形状和运动模型的先验信息。现有的SLAM一般借助了低层次的信息,比如点、线、面,而深度学习提供了更加高层次的信息,比如检测和分割。分别就是上述的四种误差项,值得注意的是这里的相机位姿相对变换误差和物体位姿平滑误差都加上了log,这里应该是为了降低权重。优化过程中的雅克比怎么求的?
2023-03-17 15:48:20 803
原创 【论文阅读】用于自动泊车的,基于混合鸟瞰图边的语义视觉SLAM
同时IPM图片中存在非常多的炫光,因此没有提取road marking,而是选择提取edge,并对edge进行了复杂的筛选。由于获得edge并不稳定,容易混入错误的edge,也容易把正确的但是是辐射状的edge给剔除,因此这里不能采用keyframe来构建Local map,不然不稳定,因此采用普通frame来构建local map。在地下环境中,直接提取点线特征,然后进行匹配的方法很难奏效,因此选择利用语义分割获得语义特征,然后在IPM图片下,深度也都是已知的,再利用ICP进行匹配。
2023-03-17 15:48:06 458 1
原创 自动驾驶场景下的光流增强的语义分割网络
运动是自动驾驶系统的主要线索(dominant cue)。光流经常用于检测移动物体和用三角化估计深度。在本篇文章中,我们的动机是利用现有的稠密光流来提高语义分割的表现。为了提供系统性的研究,我们搭建了四种不同的架构,一种只用了RGB图,一种只用了flow,一种将RGBF拼接在一起,一种是以双流的方式利用RGB和flow。我们在两个自动驾驶数据集上(Virtual KITTI, Cityscapes)评估这些网络,其中用到了最前进的光流估计器FlowNet v2。
2023-03-17 15:47:45 453
原创 Flownet: 用深度网络学习光流
卷积神经网络(CNNS)在各种计算机视觉任务中非常成功,特别是那些与识别相关的任务。光流估计也是CNNs成功的领域之一。在本文中,我们以监督学习的方式构建了一个CNNs用来解决光流估计问题。我们提出并比较了两种架构:一种是通用的架构,另一种则包含了一层不同图像位置特征向量关联层。因为当前的GT数据集的规模不够用来训练一个CNN,我们构建了一个大规模的合成数据集Flying Chairs dataset。
2023-03-17 15:47:07 1930
原创 VICP:速度更新的迭代最近点算法
ICP算法在计算过程中会给定两次扫描的点云结果以及一个初始的位姿,如果这个初始位姿给的不够接近真实值,那么ICP的估计结果就会陷入局部最优,因此实际上我们会采用不断迭代的方法来避免这种情况。这里定义Xxi为一帧扫描的点云,Yyi为另一帧扫描的点云,xi和yi分别为其中的第i个点,这里我们希望求得从X点云到Y点云的旋转矩阵R和平移向量p,那么有:我们会重复上述过程,即求得变换Ti,然后将yi通过Ti。
2023-03-17 15:46:53 690
原创 FlowFusion: 基于光流法的动态稠密RGB-D SLAM
动态的环境对于视觉SLAM来说是很有挑战性的因为运动的物体会遮挡静态环境特征,并且导致错误的相机运动估计。在这篇文章中,我们提出了一个新的稠密的RGB-D SLAM方案,它可以同时完成动态/静态分割和相机自我运动估计,以及静态背景重建。我们的新颖之处在于用光流残差来突出(highlight)RGB-D点云中的动态语义,同时为相机追踪和背景重建提供更多精确和有效的动态/静态分割。
2023-03-17 15:45:56 1085
原创 U-Net: 用于生物医学图像分割的卷积网络
成功的深度网络训练要求有数千张标注(annotated)的训练样本。在这篇文章中,我们提出了一个网络和训练策略,该策略基于对数据增强的充分利用,从而使得可获得的标注样本的使用更加有效。网络架构包含constracting path来获取上下文(context)和一个对称的expanding path来实现精确的像素定位。我们展示的这个网络可以用非常少的图片端对端训练,并且在ISBI挑战中优于先前最好的方法(一种滑窗神经网络)。
2023-03-17 15:42:56 117
原创 【机器人学中的状态估计】第二讲 线性高斯系统的状态估计问题
离散时间的批量估计离散时间的递归平滑算法离散时间的滤波算法连续时间的批量估计<一> 离散时间的批量估计问题1. 线性高斯系统2. 批量问题的解法贝叶斯推断,用高斯分布去近似;最大后验估计,没有要求是高斯分布。两者在高斯分布的情况下是一样的,但在非高斯分布的情况下有所不同。vvv是输入,是个已知量,不是随机变量,因此它在推导中一直被放在随机变量后面。且vvv是通过作用于xxx在作用于yyy的,与yyy没有直接关系,所以在同时有xxx和vvv作为已知条件的情况下可以把.
2022-04-13 23:47:30 406
原创 SSD:Single Shot Detection
单发多框检测(SSD)BaseNet: 作为主干多个VGG块串联:用于feature map减半,生成多尺度的feature map,并扩大通道数BaseNet和VGG都会有三个输出:即类别预测层,bounding box(偏移)预测层和生成锚框(生成锚框其实并不网络输出,这是这样表示更容易看懂)假设每个VGG和BaseNet的输出feature map尺寸为(通道数,h,w),每个像素生成的锚框数目为a,类别数目为q,加上背景为(q+1)。如果采用全连接层做最后的输出,参数会非常多,并且输入的
2022-03-08 11:15:17 374
原创 【Linux操作】Python定制篇
Python定制篇1. Ubuntu系统安装2. Ubuntu支持中文3. Ubuntu的root用户CenOS刚安装,进去就是root用户Ubuntu刚安装,进去只是普通用户,可以用su切换root用户,但是会认证失败,因为没有设置root用户的密码。可以用sudo passwd来设置root用户密码,既可以用su来切换到root用户了。退出root用户则用exit指令。4. Ubuntu下开发PythonUbuntu默认安装了Python环境5. APT软件管理和远程登录APT包管理器
2022-02-05 15:48:17 1331
原创 【Linux操作】基础篇
参考视频:韩顺平参考书籍:课程目录:基础篇1. 应用领域个人桌面、服务器、嵌入式2. 概述Linux之父:Linus TOrvalds源码下载地址:https://www.kernel.org发行版本:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE3. Linux VS UnixUnix系统(只能运行在大型主机或服务器)GNU开源计划Unix/Linux系统 :Unix的衍生版本,可以运行在x86个人计算机上Unix -&g
2022-01-30 22:53:54 1537
原创 计算机网络和互联网
自学计算机网络应用层:http、ftp传输层:TCP、UDPTCP可靠性高但是实时性差UDP可靠性差但是实时性强(数字媒体)五层应用层:传输层:进程到进程网络层:主机到主机数据平面控制平面传统路由IPSDN数据平面(交换机)控制平面(网络操作系统)刘表链路层:点到点(网卡到网卡)物理层:物理信号-数字信号整个流程:服务器上的应用在应用层通过http或者ftp等应用
2022-01-29 15:46:31 2932
原创 ubuntu18.04微信安装
先安装一下winewget -O- https://deepin-wine.i-m.dev/setup.sh | sh若出现不能解析https的问题,则echo 'nameserver 8.8.8.8'>>/etc/resolv.conf 接着sudo apt-get install com.qq.weixin.deepin若出现下列软件包有未满足的依赖关系: com.qq.weixin.deepin:i386 : 依赖: deepin-wine6-stable:amd64 (
2022-01-09 16:02:22 1502 1
原创 LibTorch: 用C++运行深度神经网络
1.概述深度学习领域的盆友们想必对PyTorch不陌生,作为近些年来深度学习框架中的佼佼者,PyTorch在学术领域攻城略地。但该框架的实际名字应该是Torch,而PyTorch只是Torch的Python版本,相应地,也有一个C++版本,称为LibTorch。那LibTorch有什么用呢?别急,我们先讲讲TorchScript吧。在Torch中提供了TorchScript的方法,可以将nn.Module的子类转化为一种中间模型,也即ScriptModule,该模型存储在磁盘后,可以被PyTorc..
2021-07-27 00:38:28 1530 1
原创 ROS速览
1. 如何编译ROS 工作空间下的代码?# 建立ROS工作空间mkdir -p ~/catkin_ws/srccd catkin_ws/src# 克隆代码git clone url# 安装依赖包rosdep install --from-paths src --ignore-src --rosdistro=melodic -y# 编译cd ..catkin_make# 刷新该终端下的环境变量(可在该终端下直接召唤ros节点)source ~/catkin_ws/devel/se
2021-07-27 00:04:21 74
原创 常用但易忘的Linux操作
1. 如何更改系统上的Python版本?# 查看python版本python --version# 下载新版本的Python(以python-3.6.1为例)wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz# 放置的文件夹mkdir -p /usr/local/python3# 解压tar --zxvf Python-3.6.1.tgz# 安装cd Python-3.6.1./configure --p.
2021-06-06 22:27:58 143
原创 什么是状态空间法
1 状态空间法在经典控制理论中,在建立数学模型时是通过传递函数进行的,在这个过程中,只考虑输入和输出之间的关系,所以会将系统变成一个黑盒子,里面的内容被浓缩了。而在现代控制理论中,会首先从系统中抽取出一些状态变量来,通过表示这些状态变量之间的关系来描述这个系统,这个过程中会暴露系统的内容,所以不是一个黑盒子。在现代控制理论中,采用的是状态空间法进行描述。系统被看作一个状态空间,这个状态空间是有阶数的。阶数 = 状态变量数 = 储能元件数 = 状态变量图中的积分器的个数 = 传递函数特征方程的阶数.
2020-06-08 22:33:55 10509
原创 什么是面向对象
本系列前面的内容主要记录博主学习C++面向对象部分内容的个人思考,学习资料为浙江大学翁恺老师的课程,翁老师讲得通俗易懂,十分推荐。面向对象程序设计-C++1 第一个C++程序#include <iostream> //标准库中的头文件,后缀只是系统给文件的一个标识,与其实际内容无关using namespace std;int main() { int number; cout << "Enter a decimal number:"; // 箭头怼向cout
2020-05-21 18:29:48 161
原创 SLAM小白入门系列(2)ROS的安装
SLAM中,ROS是经常用到的框架,所以在这里学习一下如何安装ROS,顺便推荐一波学习资源:ROS入门教程。1 须知ROS的版本是与Ubuntu的版本唯一对应的,即便是高版本的Ubuntu也不能运行低版本的ROS,这就要求我们在安装Ubuntu系统时需要很谨慎。博主就踩坑了,先前安装了一个Ubuntu19.10,现在发现没有对应的ROS系统,只能重装一个Ubuntu18.04,说起来都是...
2020-05-03 11:33:44 534
原创 SLAM小白入门系列(1)Ubuntu双系统的安装与重装
本文主要是自己安装和重装Ubuntu系统的过程记录,机子为Acer(宏碁),UEFI引导。在Acer上的安装存在bios无法识别ubuntu系统的问题,故写此文章记之。本文仅供参考,不一定非常准确,有错误请轻喷。一 准备工作1 下载镜像文件首先你需要获得一个Ubuntu的镜像文件,Ubuntu是一个开源的系统,可以直接去官网下载,但是官网下载非常慢,所以这里可以选择国内镜像网站下载,我是...
2020-05-02 13:26:29 1333 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人