Hierarchical-Localization
aquamam
Hierarchical-Localization | aquamam | |
---|---|---|
5 | 3 | |
2,854 | 1 | |
2.4% | - | |
6.7 | 3.6 | |
18 days ago | 7 months ago | |
Python | Python | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Hierarchical-Localization
-
What algorithms should I look at if I'm interested in SLAM-like navigation, but with 3-D map foreknowledge?
You can try hierarchical localization, it's pretty memory efficient since it only brings up relevant point clouds instead of the entire mapped pointed when you're computing poses.
-
6D object pose estimation by known 3d model
Sounds like this is a 3D to 2D correspondence estimation problem. So is it correct that you are trying find the pose of the object based on seen 2D images? First you need to define a canonical reference frame for the object. This object reference frame is essentially glued to the object and you want to estimate the object to camera frame transformation matrix which will give you the pose of the object relative to how you are viewing it from a given frame. To achieve this, most literature use some form of 3D to 2D feature correspondence search from which a transformation matrix is obtained using projective geometry. Features like SIFT features can be used to find correspondences between features seen in the 2D image and features in the 3D object. This is also an active area of research in computer vision and the state of the art uses learned deep features. You can check out https://github.com/cvg/Hierarchical-Localization which is the State-of-the-Art in camera 6DOF pose estimation from known 3D models of the world. For your scenario, you just need to define the object coordinate system and you can obtain the pose if you know the object to camera transformations. You should also first look into the classical approaches which use some variants of PNP + RANSAC algorithm to find 2D to 3D correspondences. Since you also know the relative poses of the cameras, you can also do refinement like bundle adjustment to better predict your 2D to 3D correspondences. Let me know if you find any good tutorials or resources online.
-
3D object recognition for AR in Unity
Different traditional methods can also be helped by specific ML tasks such as: (a) initial 2D bounding box detection to limit region of 3D pose estimation (b) edge detection (like HED: https://arxiv.org/abs/1504.06375) (c) training on a photogrametry model for more robust retrieval and matching in changing scale and light (like HLoC: https://github.com/cvg/Hierarchical-Localization)
-
Automatic Image Registration for big data
I have been very successful with these kind of image pairs using SuperPoint+SuperGlue. The authors‘ work is awesome and code is available here: hloc
-
Using Unified Camera Model parameters in COLMAP: Hierarchical Localization
I am looking for some advice on a problem I am running into using this localization algorithm.
aquamam
-
DeepVoxels: Learning Persistent 3D Feature Embeddings
This paper is near and dear to my heart because I saw the presentation at the first and only machine learning conference I've ever attended (thanks a lot, ICML, NeurIPS (x2), and ICLR!). It's a neural rendering approach that precedes NeRF, but you can see some similarities (even more so in the follow-up paper about "Scene Representation Networks"). Sitzmann and co-authors also published a paper about using sinusoidal activations in implicit representation models at NeurIPS 2020, the same conference where the "Fourier Features" paper (which has many of the same authors as the NeRF paper) was also presented. It's always interesting to me to see how ideas in science often pop-up at the same time from different researchers (e.g., attention).
- AQuaMaM: An Autoregressive, Quaternion Manifold Model for Rapidly Estimating Complex SO(3) Distributions
-
[R] AQuaMaM: An Autoregressive, Quaternion Manifold Model for Rapidly Estimating Complex SO(3) Distributions
Code for the paper can be found here.
What are some alternatives?
colmap - COLMAP - Structure-from-Motion and Multi-View Stereo
openpifpaf - Official implementation of "OpenPifPaf: Composite Fields for Semantic Keypoint Detection and Spatio-Temporal Association" in PyTorch.
LoFTR - Code for "LoFTR: Detector-Free Local Feature Matching with Transformers", CVPR 2021, T-PAMI 2022
baller2vec - A multi-entity Transformer for multi-agent spatiotemporal modeling.
nerfmm - (Arxiv 2021) NeRF--: Neural Radiance Fields Without Known Camera Parameters
ailia-models - The collection of pre-trained, state-of-the-art AI models for ailia SDK
hdl_localization - Real-time 3D localization using a (velodyne) 3D LIDAR
SuperGluePretrainedNetwork - SuperGlue: Learning Feature Matching with Graph Neural Networks (CVPR 2020, Oral)
mcl_3dl - A ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.
baller2vecplusplus - A look-ahead multi-entity Transformer for modeling coordinated agents.
Deep_Object_Pose - Deep Object Pose Estimation (DOPE) – ROS inference (CoRL 2018)
DeepLabCut - Official implementation of DeepLabCut: Markerless pose estimation of user-defined features with deep learning for all animals incl. humans