isl-org / isl-org/Open3D

How to use registration_ransac_based_on_correspondence: documentation unclear

Open
#5,426 1 comment 0 reactions 0 assignees View on GitHub
question
Dominant language
C++
Stars
14k
Forks
2.6k
Avg merge
5d 18h
Merged PRs (30d)
6

Description

### Checklist

- [X] I have searched for [similar issues](https://github.com/isl-org/Open3D/issues).
- [X] For Python issues, I have tested with the [latest development wheel](http://www.open3d.org/docs/latest/getting_started.html#development-version-pip).
- [X] I have checked the [release documentation](http://www.open3d.org/docs/release/) and the [latest documentation](http://www.open3d.org/docs/latest/) (for `master` branch).

### My Question

I want to register two point clouds A and B by taking user input of a few point correspondences between the two. For example, pt21 in cloud A corresponds to pt369 in B, pt29 in point cloud A corresponds to pt97 in point cloud B and so on. So that RANSAC can generate more accurate registration for a complex case. In the method:
`registration_ransac_based_on_correspondence()` I followed [this ](http://www.open3d.org/docs/latest/python_api/open3d.registration.registration_ransac_based_on_correspondence.html) documentation on open3d but many things are not clearly laid out in the documentation and there are no examples for this methods so I have following questions:

1. I want to know if I have a source and a target as point clouds, how do I provide correspondence information to this method? What's the syntax? Is it a n by 2 array specifying corresponding indices of source and target in the format below? (Assuming in the input to the method I am providing "source" point cloud first and "target" point cloud as second argument)

[
[ pt1 index of source, pt1index of target],
[pt2 index of source, pt2 index of target].
...]
I have tried this but it doesn't seem to work.

2. If I choose to provide _n_ correspondences in this array, then what value I should select for _ransac_n_ argument? If you could also provide some cues/links to understand the meaning of _ransac_n_ and how is it related to correspondences if at all, that will be great.
3. If you can share a working example with a set of parameters for this method that will be awesome! If you have links to any papers explaining this method in more detail, that will be super useful too!
Tagging folks I have seen commenting on a similar question sometime back:
@theNded @preethamam

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.