Comments (6)
I have a similar question. Since you mentioned the following for Kitti-corrected dataset:
"The frames are motion-compensated (no relative-timestamps) and the Continuous-Time aspect of CT-ICP will not work on this dataset."
How to set the config file or modify the code to achieve the results you reported in your paper for Kitti-corrected dataset? I have a kitti-corrected dataset at hand. I tried to set the dataset_options.dataset to Kitti, the result is worse than the one reported in the paper. But when I set to Kitti-raw, the result is close to the one reported in the paper. That's quite confusing.
Another question, one of the dataset I downloaded from Kitti website the synced lidar data is stored in .bin format while the raw lidar data is stored in .txt format. How to transform the .txt format to .ply?
Thanks!
from ct_icp.
I have a similar question. Since you mentioned the following for Kitti-corrected dataset: "The frames are motion-compensated (no relative-timestamps) and the Continuous-Time aspect of CT-ICP will not work on this dataset." How to set the config file or modify the code to achieve the results you reported in your paper for Kitti-corrected dataset? I have a kitti-corrected dataset at hand. I tried to set the dataset_options.dataset to Kitti, the result is worse than the one reported in the paper. But when I set to Kitti-raw, the result is close to the one reported in the paper. That's quite confusing.
Another question, one of the dataset I downloaded from Kitti website the synced lidar data is stored in .bin format while the raw lidar data is stored in .txt format. How to transform the .txt format to .ply? Thanks!
Hi,
To run CT-ICP on the KITTI corrected dataset,
Which are motion corrected, you should specify the following options, in the YAML config file
odometry_options:
motion_compensation: NONE
This will result in using the standard point to plane error (which optimizes on one pose as parameter),
Instead of the two in our Continuous ICP.
I will check, but normally you should have the same / close results as in our paper.
For the PLY files you can directly download the KITTI ply files we propose in the download link.
from ct_icp.
hi,appreciate your great work, but when i use kitti data,which have no distortion in http://www.cvlibs.net/datasets/kitti/eval_odometry.php, that is mean there is no use to Update keypoints when run CT_ICP_GN() function, and i aslo think we do not need to use pose and velocity constraint in the paper, what should i do to modify the code?
thanks a lot
Please correct me if I'm wrong.
Update keypoints part in CT_ICP_GN() function is transforming the points to the map coordinate and is necessary for the next iteration.
I also doubt the improvement of adding pose and velocity constraint. I tried to comment Line 891 to Line 909 in ct_icp.cpp, the result doesn't make a big difference.
from ct_icp.
hi,appreciate your great work, but when i use kitti data,which have no distortion in http://www.cvlibs.net/datasets/kitti/eval_odometry.php, that is mean there is no use to Update keypoints when run CT_ICP_GN() function, and i aslo think we do not need to use pose and velocity constraint in the paper, what should i do to modify the code?
thanks a lotPlease correct me if I'm wrong. Update keypoints part in CT_ICP_GN() function is transforming the points to the map coordinate and is necessary for the next iteration. I also doubt the improvement of adding pose and velocity constraint. I tried to comment Line 891 to Line 909 in ct_icp.cpp, the result doesn't make a big difference.
Well, we found that most of the time, these constraints are not needed (when there is enough geometric constraints in the environment),
But sometimes, introducing two poses as parameters introduces too many degrees of freedom, which lead to failed / inconsistent poses.
Think of it as an elastic cord which you hold by the two ends. If your constraints are only at the center of the cord, then there is a lot of positions in which you can place your two hands. If however your constraints are well spread between the beginning, and (where your hands are) and the middle, then you have a much better defined objective.
In our case the constraints are defined by the geometric features of the environment, so when you are in the first case (geometric constraints in the temporal middle of the frame), then these constraints are helpful to prevent misalignments.
Hope this answer your question. If not, I will try to answer the best I can.
We are working hard to improve CT-ICP (notably introducing the ROS wrapping, which should be pushed in later this week)
So thanks for your comments, this will help us improve the interface further.
from ct_icp.
hi,appreciate your great work, but when i use kitti data,which have no distortion in http://www.cvlibs.net/datasets/kitti/eval_odometry.php, that is mean there is no use to Update keypoints when run CT_ICP_GN() function, and i aslo think we do not need to use pose and velocity constraint in the paper, what should i do to modify the code?
thanks a lotPlease correct me if I'm wrong. Update keypoints part in CT_ICP_GN() function is transforming the points to the map coordinate and is necessary for the next iteration. I also doubt the improvement of adding pose and velocity constraint. I tried to comment Line 891 to Line 909 in ct_icp.cpp, the result doesn't make a big difference.
Well, we found that most of the time, these constraints are not needed (when there is enough geometric constraints in the environment), But sometimes, introducing two poses as parameters introduces too many degrees of freedom, which lead to failed / inconsistent poses. Think of it as an elastic cord which you hold by the two ends. If your constraints are only at the center of the cord, then there is a lot of positions in which you can place your two hands. If however your constraints are well spread between the beginning, and (where your hands are) and the middle, then you have a much better defined objective.
In our case the constraints are defined by the geometric features of the environment, so when you are in the first case (geometric constraints in the temporal middle of the frame), then these constraints are helpful to prevent misalignments.
Hope this answer your question. If not, I will try to answer the best I can.
We are working hard to improve CT-ICP (notably introducing the ROS wrapping, which should be pushed in later this week) So thanks for your comments, this will help us improve the interface further.
thanks a lot,
can i understand that the elastic constraint is for more accurate lidar points distortion?
i think your great work can perform de-distortion when optimite pose,
after add the well de-distorted cloud to the map, it well perform good because you build more accurate point clound map.
from ct_icp.
hi,appreciate your great work, but when i use kitti data,which have no distortion in http://www.cvlibs.net/datasets/kitti/eval_odometry.php, that is mean there is no use to Update keypoints when run CT_ICP_GN() function, and i aslo think we do not need to use pose and velocity constraint in the paper, what should i do to modify the code?
thanks a lotPlease correct me if I'm wrong. Update keypoints part in CT_ICP_GN() function is transforming the points to the map coordinate and is necessary for the next iteration. I also doubt the improvement of adding pose and velocity constraint. I tried to comment Line 891 to Line 909 in ct_icp.cpp, the result doesn't make a big difference.
Well, we found that most of the time, these constraints are not needed (when there is enough geometric constraints in the environment), But sometimes, introducing two poses as parameters introduces too many degrees of freedom, which lead to failed / inconsistent poses. Think of it as an elastic cord which you hold by the two ends. If your constraints are only at the center of the cord, then there is a lot of positions in which you can place your two hands. If however your constraints are well spread between the beginning, and (where your hands are) and the middle, then you have a much better defined objective.
In our case the constraints are defined by the geometric features of the environment, so when you are in the first case (geometric constraints in the temporal middle of the frame), then these constraints are helpful to prevent misalignments.
Hope this answer your question. If not, I will try to answer the best I can.
We are working hard to improve CT-ICP (notably introducing the ROS wrapping, which should be pushed in later this week) So thanks for your comments, this will help us improve the interface further.
Thank you very much for your detailed explanation. Looking forward to the ROS wrapping.
from ct_icp.
Related Issues (20)
- Mismatching data field in code and config files
- Issues during catkin_make (Step 3) HOT 2
- An error occurred while compiling: /usr/bin/ld HOT 2
- Build fails on debian HOT 1
- Fail to copy libglog during superbuild HOT 4
- Superbuild fail HOT 5
- ct_icp no timestamps HOT 3
- Running CT-ICP with other Datasets on ROS HOT 2
- Trajectory Location and Replicating Kitti Raw Results HOT 2
- How to obtain the relative timestamps? HOT 4
- build fails
- error with catkin_make HOT 1
- Error during superbuild installation HOT 2
- INTERFACE_LIBRARY targets may only have whitelisted properties. The property "IMPORTED_RELEASE_LOCATION" is not allowed HOT 2
- a theoretical math questions
- how to run the ct-icp when you collecting data
- confused about translation state update in CT_ICP_GN
- glog test linkage error
- how to save the whole map
- I cannot run on my own dataset
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 ct_icp.