Skip to content
Efficient monocular visual odometry for ground vehicles on ARM processors
C++ CMake
Branch: master
Clone or download
Latest commit 2ce8278 Sep 17, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
include Some utilities May 28, 2019
params Update Seq04-10.yaml Jun 6, 2019
src Update pose.cpp Jun 21, 2019
CMakeLists.txt CMakeList May 28, 2019
README.md Update README.md Sep 17, 2019

README.md

ARM-VO

Authors: Zana Zakaryaie Nejad and Ali Hosseininaveh

ARM-VO is an efficient monocular visual odometry algorithm designed for ARM processors. It uses NEON C intrinsics and multi-threading to accelerate keypoint detection and tracking. Check this video to see the performance on Raspberry Pi 3 and Odroid XU4.

Dependencies

How to build?

git clone https://github.com/zanazakaryaie/ARM-VO.git
cd ARM-VO
cmake .
make

Test on KITTI dataset

Download the odometry dataset from here. Open a terminal and type:

./ARM_VO pathToData paramsFileName

Limitations

  • ARM-VO recovers the scale if the camera height and pitch angle are provided. Thus, it is not applicable for drones or hand-held cameras.

  • The algorithm detects small-inter frame translations and pure rotations using GRIC but it doesn't decompose the estimated homography matrix. Track is lost if the camera rotates too much without translation.

Notes

  • If you get low FPS, check your power adapter. Raspberry Pi 3 runs ARM-VO at 8 frames per second (averagelly) if powered up with a 5V-2A adapter.

  • If you use ARM-VO in an academic work, please cite:
    Zakaryaie Nejad, Z. & Hosseininaveh Ahmadabadian, A. Machine Vision and Applications (2019). https://doi.org/10.1007/s00138-019-01037-5

  • ARM-VO is a part of six-wheel surveying robot project named MOOR.

You can’t perform that action at this time.