VI ORB SLAM2 与 VINS 对比实验
一、实验说明
之前做了一些 VI ORB SLAM2 与 VINS Mono 性能的对比试验,由于 VI ORB SLAM2 并没有官方的版本,我们主要使用王京实现的一个版本(https://github.com/jingpang/LearnVIORB)来做测试(我们加入了双目 VIO 部分,但不论单目还是双目该版本实现与官方版本性能有较大差距)。VINS Mono (https://github.com/HKUST-Aerial-Robotics/VINS-Mono)是港科大开源的一个单目 VIO 算法,速度快而且性能不错,同样受到很大关注。本篇博客我们对二者进行了一些粗浅的实验对比。
说明如下:
1、实验主要指标为 RMSE:
其中:
代表真值, 代表估计值。
2、实验采用 EuRoC 测试集(https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets)。以下是一些初步的实验结果,做一记录。因为没有深入研究和调试,试验次数也比较有限,不一定具有代表性。如大家有任何改进建议或者疑问欢迎留言。
二、实验结果
1、ORB 与 VI...
Ubuntu 系统安装后的一些常用设置
每次重装 Ubuntu 系统后都有一些配置需要重新做,在这里简单记录下以备后续查阅。
1、开机自动挂载硬盘
一般对于双系统来说,Ubuntu 都是安装在一个独立的分区,然后数据仍然使用原来其他硬盘。设置开机自动挂载硬盘会比较省事。按照以下步骤操作即可:
1)查看 UUID:
运行命令:
Shell
sudo blkid
1
sudo blkid
结果如下:找到想要挂载的硬盘 PARTUUID 记录下。
2)编辑配置文件:
运行命令:
Shell
sudo gedit /etc/fstab
1
sudo gedit /etc/fstab
最下边加一行:
TeX
UUID=aeaadea6-033d-44c7-a6eb-5a5c275e5e5b /media/skylook/Windows ...
Tmux 虚拟终端使用
在我们进行深度学习训练时,经常需要好几天,这时肯定是不能随便关闭窗口就让会话挂了的。我们可以采用很多方法来让会话后台运行,同样 Tumx 也是一个很方便的会话后台运行工具,我们可以在 Tmux 中更好地实现类似的效果。1 什么是Tmux?
Tmux 是一个工具,用于在一个终端窗口中运行多个终端会话。不仅如此,你还可以通过 Tmux 使终端会话运行于后台或是按需接入、断开会话。
2 安装 Tmux
在 Ubuntu 上安装使用如下命令:
Shell
sudo apt-get install tmux
1
sudo apt-get install tmux在 CentOS 上安装使用如下命令:
Shell
sudo yum install tmux
1
sudo yum...
[ROS] 在 Ubuntu 16.04 系统上安装 ROS Kinetic
ROS 的发行版很多,之前的文章中我们介绍过在 Ubuntu 14.04 上安装 indigo。
时光荏苒,Ubuntu 和 ROS 的长期支持版本都已经更新了,对于最新的 Ubuntu 16.04 通常情况下我们更多地使用其稳定版本 Kinetic。这篇文章就讲下 Kinetic 版本在 Ubuntu 下的安装。
0、安装环境
Ubuntu 16.04 LTS
1、配置源
使用 ROS 官方源:
Shell
sudo sh -c 'echo "deb...
使用 evo 工具评测 VI ORB SLAM2 在 EuRoC 上的结果
最近把 ORB SLAM2 作者融合 IMU 版本的算法 《Visual-Inertial Monocular SLAM with Map Reuse》 论文读了一遍,作者没有开放源代码,所以我是使用王京实现的一版开源代码(https://github.com/jingpang/LearnVIORB)进行了一些实验。LearnVIORB 代码有一些崩溃的 bug,在 Mac 上面编译有问题,不过实现了作者文中的基本思想,是非常好的一份实现。
由于只有 EuRoC 测试集有 VIO 的数据,我使用了 EuRoC 测试集进行测试,不过在实际运行中遇到了几个问题。
0、系统环境
macOS Sierra v10.12.6
1、evo...
[Git] Git 使用技巧整理
1 批量删除指定文件名的所有文件
可以执行如下文件,其中 '*.c' 是要删除文件的通配符,请自行修改:
Shell
find . -name '*.c' > filesToRemove.txt
for i in `cat filesToRemove.txt`; do git rm $i; done
12
find . -name '*.c' > filesToRemove.txtfor i in...
[Git] Git 使用常见问题
1、错误:Write failed: Broken pipe
有时在执行 pull 或者 push 操作时,会出现如下错误:
packet_write_wait: Connection to 192.30.255.113 port 22: Broken pipe
如果出现这一问题,请编辑 /etc/ssh/ssh_config 文件:
Shell
sudo vim /etc/ssh/ssh_config
1
sudo vim /etc/ssh/ssh_config在文件中添加如下配置:
Shell
Host *
ServerAliveInterval 60
12
Host *ServerAliveInterval 60...
[Git] Git 仓库迁移
操作步骤
1) 从原地址克隆一份裸版本库,比如原本托管于 GitHub。
Shell
git clone --bare git://github.com/username/project.git
1
git clone --bare git://github.com/username/project.git
--bare 创建的克隆版本库都不包含工作区,直接就是版本库的内容,这样的版本库称为裸版本库。
2) 然后到新的 Git 服务器上创建一个新项目,比如 GitCafe。
3) 以镜像推送的方式上传代码到 GitCafe 服务器上。
Shell
cd project.git
git push --mirror git@gitcafe.com/username/newproject.git
12
cd project.gitgit push --mirror...
[Tensorflow] Mac OS 上 Tensorflow 1.0 安装(支持 CUDA)
Tensorflow 深度学习工具包已经出 1.0 正式版了,本文就是介绍如何在 Mac 上如何安装 GPU 版本。
0、运行环境:
软件环境:
Mac OSX 10.12
Xcode 8.1
Python 3.5
CUDA Toolkit 8.0
cuDNN 5.1
Homebrew
硬件环境:
CPU:3.5 GHz Intel Core i7
Memory:16 GB 1600 MHz DDR3
GPU:NVIDIA GeForce GTX...
[Git] 处理 github 不允许上传超过 100MB 文件的问题
最近在使用 Github 时候遇到一个问题,有一些过大的文件不允许上传,例如:
remote: error: File Examples/iOSDemo/Pods/dependency/libg2o.a is 440.12 MB; this exceeds GitHub's file size limit of 100.00 MB
但有的时候我们还是需要上传这些大文件,这时候怎样做呢?
1、移除错误缓存
首先应该移除所有错误的 cache,对于文件:
Shell
git rm --cached path_of_a_giant_file
1
git rm --cached path_of_a_giant_file对于文件夹:
Shell
git...