All Projects → zanazakaryaie → Arm Vo

zanazakaryaie / Arm Vo

Efficient monocular visual odometry for ground vehicles on ARM processors

Projects that are alternatives of or similar to Arm Vo

Ev3dev Lang Java
A project to learn Java and create software for Mindstorms Robots using hardware supported by EV3Dev & the LeJOS way.
Stars: ✭ 79 (-31.3%)
Mutual labels:  ros, raspberry-pi, opencv
Openframeworks
openFrameworks is a community-developed cross platform toolkit for creative coding in C++.
Stars: ✭ 8,652 (+7423.48%)
Mutual labels:  raspberry-pi, opencv
Nailgun
Nailgun attack on ARM devices.
Stars: ✭ 114 (-0.87%)
Mutual labels:  raspberry-pi, arm
Docker Jdownloader
JDownloader 2 Docker Image (Multiarch) - Passed 40M Downloads
Stars: ✭ 85 (-26.09%)
Mutual labels:  raspberry-pi, arm
Rpindvi
Raspberry PI NDVI Code
Stars: ✭ 57 (-50.43%)
Mutual labels:  raspberry-pi, opencv
Opencv 3.2.0 Compiling On Raspberry Pi
Download, Compile, Build, and Install OpenCV 3.2.0 with Extra Modules on RPI running Jessie
Stars: ✭ 65 (-43.48%)
Mutual labels:  raspberry-pi, opencv
Simd
C++ image processing and machine learning library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM.
Stars: ✭ 1,263 (+998.26%)
Mutual labels:  arm, neon
Smart Surveillance System Using Raspberry Pi
This is my Third Year Project for face recognition using OpenCV
Stars: ✭ 41 (-64.35%)
Mutual labels:  raspberry-pi, opencv
Nextcloudpi
📦 Build code for NextcloudPi: Raspberry Pi, Odroid, Rock64, Docker, curl installer...
Stars: ✭ 1,340 (+1065.22%)
Mutual labels:  raspberry-pi, arm
Picamnn
Survelliance system with deep learning based people detection (YOLO)
Stars: ✭ 97 (-15.65%)
Mutual labels:  raspberry-pi, opencv
Turtlebot3 simulations
Simulations for TurtleBot3
Stars: ✭ 104 (-9.57%)
Mutual labels:  ros, opencv
Dockerpi
A Virtualised Raspberry Pi inside a Docker image
Stars: ✭ 1,064 (+825.22%)
Mutual labels:  raspberry-pi, arm
Raspberrypi tempmon
Raspberry pi CPU temperature monitor with many functions such as logging, GPIO output, graphing, email, alarm, notifications and stress testing. Python 3.
Stars: ✭ 52 (-54.78%)
Mutual labels:  raspberry-pi, arm
Grid map
Universal grid map library for mobile robotic mapping
Stars: ✭ 1,135 (+886.96%)
Mutual labels:  ros, opencv
Simde
Implementations of SIMD instruction sets for systems which don't natively support them.
Stars: ✭ 1,012 (+780%)
Mutual labels:  arm, neon
Jingos
JingOS - The World’s First Linux-based OS design for Tablets
Stars: ✭ 101 (-12.17%)
Mutual labels:  raspberry-pi, arm
Pendulum
ROS, ROS2, real-time, control, pendulum
Stars: ✭ 37 (-67.83%)
Mutual labels:  ros, raspberry-pi
True artificial intelligence
真AI人工智能
Stars: ✭ 38 (-66.96%)
Mutual labels:  ros, raspberry-pi
Nwjs rpi
[NW.js port for Raspberry Pi] binary compiled for the ARMv6 used in Raspberry Pi (compatible with RPi 2 and RPi 3)
Stars: ✭ 91 (-20.87%)
Mutual labels:  raspberry-pi, arm
Hiitpi
A workout trainer Dash/Flask app that helps track your HIIT workouts by analyzing real-time video streaming from your sweet Pi using machine learning and Edge TPU..
Stars: ✭ 106 (-7.83%)
Mutual labels:  raspberry-pi, opencv

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.

Demo ARM-VO alpha

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

ROS (Optional)

The ros node subscribes to "kitti/image" topic and publishes "arm_vo/pose" which is of type geometry_msg::Pose. To use the ROS node: Open a terminal and type:

cd ROS
catkin_make
source devel/setup.bash
rosrun ARM_VO ARM_VO paramsFileName

Now, open another terminal and type:

cd ROS
source devel/setup.bash
rosrun ARM_VO ImagePublisher pathToData

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:

@article{nejad2019arm,
  title={ARM-VO: an efficient monocular visual odometry for ground vehicles on ARM CPUs},
  author={Nejad, Zana Zakaryaie and Ahmadabadian, Ali Hosseininaveh},
  journal={Machine Vision and Applications},
  volume={30},
  number={6},
  pages={1061--1070},
  year={2019},
  publisher={Springer}
}
  • ARM-VO is a part of six-wheel surveying robot project named MOOR.

  • Here is a Python wrapper for ARM-VO.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].