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

RANSAC exits early when no checker is passed #6709

Closed
3 tasks done
x1y9 opened this issue Mar 20, 2024 · 0 comments · Fixed by #6789
Closed
3 tasks done

RANSAC exits early when no checker is passed #6709

x1y9 opened this issue Mar 20, 2024 · 0 comments · Fixed by #6789
Labels
bug Not a build issue, this is likely a bug.

Comments

@x1y9
Copy link

x1y9 commented Mar 20, 2024

Checklist

Describe the issue

I use registration_ransac_based_on_feature_matching to do a RANSAC registration, withou the checkers parameter, the validation times is not correct.

Steps to reproduce the bug

o3d.pipelines.registration.registration_ransac_based_on_feature_matching(
    o3dsp,o3dtp,o3dsp_fpfh,o3dtp_fpfh,
    mutual_filter=False, max_correspondence_distance=3 * 1.5, 
    estimation_method=o3d.pipelines.registration.TransformationEstimationPointToPoint(False),
    ransac_n=3,
    checkers=[],
    criteria=o3d.pipelines.registration.RANSACConvergenceCriteria(1000000, 1))

Error message

[Open3D DEBUG] Thread 000000: registration fitness=0.292, corres inlier ratio=0.013, Est. max k = inf
[Open3D DEBUG] Thread 187500: registration fitness=0.375, corres inlier ratio=0.001, Est. max k = inf
[Open3D DEBUG] Thread 750000: registration fitness=0.393, corres inlier ratio=0.003, Est. max k = inf
[Open3D DEBUG] Thread 375000: registration fitness=0.318, corres inlier ratio=0.000, Est. max k = -inf
[Open3D DEBUG] Thread 562500: registration fitness=0.176, corres inlier ratio=0.002, Est. max k = inf
[Open3D DEBUG] Thread 937500: registration fitness=0.332, corres inlier ratio=0.002, Est. max k = inf
[Open3D DEBUG] Thread 1125000: registration fitness=0.372, corres inlier ratio=0.001, Est. max k = inf
[Open3D DEBUG] Thread 1500000: registration fitness=0.270, corres inlier ratio=0.012, Est. max k = inf
[Open3D DEBUG] Thread 1312500: registration fitness=0.222, corres inlier ratio=0.005, Est. max k = inf
[Open3D DEBUG] Thread 1687500: registration fitness=0.339, corres inlier ratio=0.002, Est. max k = inf
[Open3D DEBUG] Thread 2062500: registration fitness=0.150, corres inlier ratio=0.003, Est. max k = inf
[Open3D DEBUG] Thread 1875000: registration fitness=0.274, corres inlier ratio=0.006, Est. max k = inf
[Open3D DEBUG] Thread 2437500: registration fitness=0.240, corres inlier ratio=0.002, Est. max k = inf
[Open3D DEBUG] Thread 2250000: registration fitness=0.248, corres inlier ratio=0.009, Est. max k = inf
[Open3D DEBUG] Thread 000001: registration fitness=0.315, corres inlier ratio=0.000, Est. max k = -inf
[Open3D DEBUG] Thread 2625000: registration fitness=0.383, corres inlier ratio=0.004, Est. max k = inf
[Open3D DEBUG] Thread 2812500: registration fitness=0.168, corres inlier ratio=0.002, Est. max k = inf
[Open3D DEBUG] RANSAC exits after 19 validations. Best inlier ratio 3.931624e-01, RMSE 4.147273e+00

Expected behavior

RANSAC only excute 19 validations, It should be 1000000 times. I think it's caused by the '-inf' of k.

Open3D, Python and System information

- Operating system: Windows 11 64-bit
- Python version: Python 3.8
- Open3D version: 0.17
- System architecture: x86 
- Is this a remote workstation?: no
- How did you install Open3D?: pip

Additional information

No response

@x1y9 x1y9 added the bug Not a build issue, this is likely a bug. label Mar 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Not a build issue, this is likely a bug.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant