All Projects → iago-suarez → efficient-descriptors

iago-suarez / efficient-descriptors

Licence: other
🚀🚀 Revisiting Binary Local Image Description for Resource Limited Devices

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to efficient-descriptors

Kimera Vio
Visual Inertial Odometry with SLAM capabilities and 3D Mesh generation.
Stars: ✭ 741 (+875%)
Mutual labels:  real-time, slam
Ov2slam
OV²SLAM is a Fully Online and Versatile Visual SLAM for Real-Time Applications
Stars: ✭ 119 (+56.58%)
Mutual labels:  real-time, slam
Kimera Vio Ros
ROS wrapper for Kimera-VIO
Stars: ✭ 182 (+139.47%)
Mutual labels:  real-time, slam
nebula
A distributed block-based data storage and compute engine
Stars: ✭ 127 (+67.11%)
Mutual labels:  real-time
MoPlugs
MotionBuilder Extensions Pack
Stars: ✭ 27 (-64.47%)
Mutual labels:  real-time
jeelizGlanceTracker
JavaScript/WebGL lib: detect if the user is looking at the screen or not from the webcam video feed. Lightweight and robust to all lighting conditions. Great for play/pause videos if the user is looking or not, or for person detection. Link to live demo.
Stars: ✭ 68 (-10.53%)
Mutual labels:  real-time
roskinectic src
This ROS kinectic workspace src folder, which was created on Ubuntu 16.04. Here I worked on ROS1 projects like 2d & 3D SLAM, Motion Planning, SWARM of drone, RL based drone, Surveilling Robot etc.
Stars: ✭ 44 (-42.11%)
Mutual labels:  slam
ipfs-chat
Real-time P2P messenger using go-ipfs pubsub. TUI. End-to-end encrypted texting & file-sharing. NAT traversal.
Stars: ✭ 84 (+10.53%)
Mutual labels:  real-time
FPGA RealTime and Static Sobel Edge Detection
Pipelined implementation of Sobel Edge Detection on OV7670 camera and on still images
Stars: ✭ 14 (-81.58%)
Mutual labels:  real-time
codac
Codac is a library for constraint programming over reals, trajectories and sets.
Stars: ✭ 31 (-59.21%)
Mutual labels:  slam
Real-time-Image-Smoothing-via-Iterative-Least-Squares
This is the released code for the paper Real-time Image Smoothing via Iterative Least Squares accepted to ACM Transactions on Graphics
Stars: ✭ 60 (-21.05%)
Mutual labels:  real-time
LVIO-SAM
A Multi-sensor Fusion Odometry via Smoothing and Mapping.
Stars: ✭ 143 (+88.16%)
Mutual labels:  slam
ECBSR
Edge-oriented Convolution Block for Real-time Super Resolution on Mobile Devices, ACM Multimedia 2021
Stars: ✭ 216 (+184.21%)
Mutual labels:  real-time
fos
Interesting project,the Fast Real Time Operating Systems( FOS-RTOS)
Stars: ✭ 22 (-71.05%)
Mutual labels:  real-time
Embedded UKF Library
A compact Unscented Kalman Filter (UKF) library for Teensy4/Arduino system (or any real time embedded system in general)
Stars: ✭ 31 (-59.21%)
Mutual labels:  real-time
nvidia-jetson-rt
Real-Time Scheduling with NVIDIA Jetson TX2
Stars: ✭ 38 (-50%)
Mutual labels:  real-time
GeobitNonrigidDescriptor ICCV 2019
C++ implementation of the nonrigid descriptor Geobit presented at ICCV 2019 "GEOBIT: A Geodesic-Based Binary Descriptor Invariant to Non-Rigid Deformations for RGB-D Images"
Stars: ✭ 11 (-85.53%)
Mutual labels:  descriptors
gdax-orderbook-hpp
An in-memory copy of the order book on the GDAX cryptocurrency exchange, updated in real time via WebSocket feed, exposed in a thread-safe and lock-free data structure.
Stars: ✭ 38 (-50%)
Mutual labels:  real-time
mongodb-backup-manager
🌿 A Full-stack MongoDB Backup System.
Stars: ✭ 42 (-44.74%)
Mutual labels:  real-time
slamkit
SLAM Kit
Stars: ✭ 28 (-63.16%)
Mutual labels:  slam

Graffter Banner

Revisiting Binary Local Image Description for Resource Limited Devices

This repository contains the source code of BAD (renamed as TEBLID after its inclusion in OpenCV contrib) and HashSIFT descriptors presented in "Revisiting Binary Local Image Description for Resource Limited Devices". When accuracy and efficiency are both important, the descriptors in this repository offer the perfect trade-off for real-time applications and resource limited devices like smartphones, robots or drones.

Graffter header image

Dependencies

The code depends on OpenCV 4.

To install OpenCV ... In Ubuntu 18.04 compile it from sources with the following instructions:
# Install dependencies (Ubuntu 18.04)
sudo apt-get install -y build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
# Download source code
git clone https://github.com/opencv/opencv.git --branch 4.5.2 --depth 1
# Create build directory
cd opencv && mkdir build && cd build
# Generate makefiles, compile and install
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j
sudo make install
  • NOTE: The code also compile with OpenCV 3, but without parallel for's. Thus, the description will be slower.

Compile and Run

We provide the pre-trained execution code of BAD and HashSIFT descriptors. The code contains two demos. The first one estimates the fundamental matrix between two images of the Machine Hall 05 from EuRoC MAV Dataset. The demo detects feature points using ORB detector (FAST + Harris score) and describes using BAD. We draw the RANSAC inliers with less than 3px of epipolar error. The code can be compiled with Cmake:

mkdir build && cd build
cmake .. && make
./stereo_demo [hashsift]

We also show a second demo that registers a pair of planar images.

./homography_demo [hashsift]

The result for the provided images should be several imshows and something like this in the standard output:

*************** Homography estimation demo ***************
Detected features: 1000
Matched features:   64
Inliers percentage:  6.4%

If ORB descriptor is used instead of BAD, only 2.4% of inliers are obtained.

References

If you use this code, you must cite our Robotics and Automation Letters paper:

@ARTICLE{9521740,
  author={Su\'arez, Iago and Buenaposada, Jos\'e M. and Baumela, Luis},
  journal={IEEE Robotics and Automation Letters}, 
  title={Revisiting Binary Local Image Description for Resource Limited Devices}, 
  year={2021},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/LRA.2021.3107024}}

Contact and Licence

We provide a free pre-trained version of the execution code. Full execution and training code can be obtained under license, if you are interested please contact us:

This software was developed by The Graffter S.L. in collaboration with the PCR lab of the Universidad Politécnica de Madrid.

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