Comments (5)
@simonlynen and @magehrig are the authors of that component and could answer this question.
from maplab.
I have not written that code (and there is no interface to use it atm) but I can give you a hint on what I would use. First, we distinguish between supervised and unsupervised dimensionality-reduction methods. Usually, getting labeled data (such as matching/non-matching in case of LRT) can be cumbersome. Hence, I suggest using unsupervised ML methods if performance is not paramount.
Supervised methods:
- LRT (to which you are referring)
- Neural Network based projection *
Unsupervised methods:
- PCA * **
- Kernel PCA *
- Loquercio et al.: Thorough analysis of different projection methods including Neural Network projection, PCA and KPCA. TLDR: KPCA slightly better performance than PCA. NN even better but supervised and harder to implement.
** Lynen et al.: Mentions that PCA performs comparably to LRT. So there is not really a reason for using LRT at all because PCA is much easier to use.
To summarize, I would just use PCA and forget LRT.
from maplab.
@schneith thank you very much
@magehrig thank you very much, I will implement the projection matrix according to your suggestions
from maplab.
Hi all.
I am surprised that someone has already posted this question. I am confused by the code in ComputeProjectionMatrix()
too. At first I assumed the code was implementing the equations in the paper "keypoint design and evaluation for place recognition in 2D lidar maps", but I failed to figure out the equivalence between the code and the equations.
After a basic skim in the first paper @magehrig mentioned (Loquercio et al.), I still can't see direct connections between the paper and the code. And it's a little overwhelming for me now to read all the citations and references in paper.
Currently I don't have access to the 2nd paper mentioned above.
I know it may not be necessary, but I am still wondering the math underlying the code. Does anyone has some direct materials about it? Great thanks.
from maplab.
@NewThinker-Jiwey This function is not used at the moment (dead code). The projection is currently done with projection matrices that are loaded from disk. I was merely referring to methods that could be used to train/learn a projection matrix that then could potentially replace the ones loaded from disk.
I do not have time at the moment to have a detailed look at that code myself. This code was most likely written by Simon Lynen a long time ago. If you really want to understand the code you might want to try contacting him by email (if you do, it would be helpful to post the answer here).
from maplab.
Related Issues (20)
- Stereo IMU camera, when mapping, map mappoint whether repreat
- Unable to export trajectory
- About the relevant code of the paper "Map Quality Evaluation for Visual Localization"? HOT 2
- rovioli node error HOT 1
- How to run multi-robot SLAM in maplab2.0? HOT 1
- README links are not working HOT 1
- Running maplab 2.0 on monocular video with no IMU HOT 4
- help me git clone this code thanks! HOT 9
- sensor_calibration_file fromat ? All wiki tutorial can't be used. HOT 2
- Building ROVIOLI-VIO with minimal set of dependencies HOT 1
- Example to use okvis and super point + brisk on maplab 2.0 HOT 10
- How to use rovio or other odometery with multi-camera on maplab 2.0 HOT 4
- "aslam/common/id.pb.h" not found HOT 3
- Compilation Error ROS Noetic, Ubunto 20.04 HOT 4
- Unable to open example VI map in maplab - missing vi_map/vi_map_metadata HOT 6
- How to add lidar resource with vio data to map in maplab2.0?
- Failed to save mesh to disk
- The generation process of the dense point cloud image is not displayed after executing sdr --flagfile=
- Could I get a demo for lidar date process in maplab2.0?Especially the lidar yaml and .sh file.
- plot_vi_states_of_mission not work
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from maplab.