VI ORB SLAM2 与 VINS 对比实验

一、实验说明 之前做了一些 VI ORB SLAM2 与 VINS Mono 性能的对比试验,由于 VI ORB SLAM2 并没有官方的版本,我们主要使用王京实现的一个版本(https://github.com/jingpang/LearnVIORB)来做测试(我们加入了双目 VIO 部分,但不论单目还是双目该版本实现与官方版本性能有较大差距)。VINS Mono (https://gith …...

Tmux 虚拟终端使用

在我们进行深度学习训练时,经常需要好几天,这时肯定是不能随便关闭窗口就让会话挂了的。我们可以采用很多方法来让会话后台运行,同样 Tumx 也是一个很方便的会话后台运行工具,我们可以在 Tmux 中更好地实现类似的效果。 1 什么是Tmux? Tmux 是一个工具,用于在一个终端窗口中运行多个终端会话。不仅如此,你还 …...

[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...

使用 evo 工具评测 VI ORB SLAM2 在 EuRoC 上的结果

最近把 ORB SLAM2 作者融合 IMU 版本的算法 《Visual-Inertial Monocular SLAM with Map Reuse》 论文读了一遍,作者没有开放源代码,所以我是使用王京实现的一版开源代码(https://github.com/jingpang/LearnVIORB)进行了一些实验。LearnVIORB 代码有一些崩溃的 bug,在 Mac 上面编译有问题,不过实现了作者文中 …...

[Git] Git 使用技巧整理

1、批量删除指定文件名的所有文件 可以执行如下文件,其中 '*.c' 是要删除文件的通配符,请自行修改: Shell find . -name '*.c' > filesToRemove.txt for i in `cat filesToRemove.txt`; do git rm $i; done 12 find . -name...

[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...

[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 服务 …...

[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...

[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、移除错误缓存 首先应该移除所有错误的 …...

[Android] Activity 和 SurfaceView 的生命周期

1、程序打开 Activity 调用顺序:onCreate()->onStart()->onResume() SurfaceView 调用顺序: surfaceCreated()->surfaceChanged() 2、程序关闭(按 BACK 键) Activity 调用顺序:onPause()->onStop()->onDestory() SurfaceView 调用顺序: surfaceDestroyed() 3、程序切到后台(按 HOME 键) Activity 调用顺序:onPa …...