Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GMM based rigid registration on keypoints #1

Open
saimanoj18 opened this issue Aug 14, 2014 · 0 comments
Open

GMM based rigid registration on keypoints #1

saimanoj18 opened this issue Aug 14, 2014 · 0 comments

Comments

@saimanoj18
Copy link

Hi Bing Jian,

I am a Sai Manoj, a graduate student from Singapore. I am working on a project and found that your work on Robust Point Set Registration using GMM fits my need. Sorry for posting it here even after emailing you.

Firstly, thank you so much for providing the source code.

I need some help from you as I am not able to get good registration results.

Goal:
I am trying to register keypoints extracted on two point clouds from Kinect. The detected keypoint positions are a bit noisy as the Kinect point cloud is not accurate. Just a rough estimate, the keypoint position vary around 0.03 meter in each of x,y,z dimensions. As the keypoint positions are noisy, it seems good to use your GMM based framework than ICP.

What I have tried:
I have gone through your paper and source code and understood at an abstract level that GMM constructed from scene and model are registered by reducing the L2 distance metric between them.

I extracted keypoints on a point cloud, then moved the Kinect for various distances along "one axis" alone and captured the keypoints from the next position. I have provided them as input with the config_example.ini file and tried to perform RIGID registration. But I was not able to get good results.

The keypoints files which I tried to use can be downloaded from
https://dl.dropboxusercontent.com/u/95042389/keypoints.tar.bz2

The keypoints files are named as 'pos0.txt', 'pos10.txt', 'pos15.txt' etc. The difference in their numerical values gives the translation between them. All the files are acquired while the Kinect is moved in the same direction. The keypoints in the file are in the units of meters.

Now, Could you please clarify some doubts.

  1. What do these parameters represent 'level', 'sigma' and 'max_function_evals' ?
  2. How can I find the "good" values for these parameters ? Does "sigma" represent the standard deviation of the each model in GMM ?
  3. Could you please try with the files provided and see if they are working for you ?
  4. I have read in the paper that all the gaussian components are initiated with same variance ? Can we give a different variance for each gaussian component in constructed GMM ? If yes, where can we do that in the code ?
  5. In your paper, you have mentioned that this density based methods in general do not work well with the point sets with different sampling densities ? Can this be a reason for GMM method to not work for my points sets?
  6. Finally, can the GMM based approach provide better results than ICP ?

Thank you so much for your time and effort.
Have a good day!

With all Good wishes,
Sai Manoj Prakhya

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant