Any packages for Point Cloud Registration

I’m currently looking for a library that can solve or assist solving the following problem.

I have a bunch of 3D point clouds from different angles and would like to combine them to have a single 3d point cloud. Seems like there were some packages like PCL.jl and https://github.com/FugroRoames/PointCloudMatching.jl which seem to be discontinued.

Is there any package that is related to that field that I can have a look at?
I use ImageProjectiveGeometry for a RANSAC implementation to align them in one dimension (detecting the ground and removing it) now I’m mostly interested in rotation on the z=0 plane as well as translation.

Additionally I’m interested in algorithms in general for that such like
Iterative closest point - Wikipedia.

to maybe be able to create my own package out of it if there doesn’t exist one yet.

Thanks in advance!

Hi @Wikunia , we also have an interest in the topics you mentioned over by Caesar.jl. I recently implemented the first step to easy Point Clouds in Julia, see here ROS → PCL → Caesar._PCL, and the tests I’ve built so far.

I’m sure some bugs will show up, but any community help to give snippets of test data or PRs would be welcome.

1 Like

This repo contains an example implementation of the iterative closest point (ICP) algorithm. It could / should be factored out into a proper repo and there is still some room for improvement (e.g. usage of StaticArrays).

Ah, thanks for pointing that out! I did some of the StaticArray upgrades by combining that with the known PCL types added to Caesar.jl. I expect to do a few more upgrades so that the transforms are well integrated existing transformation libraries. In the mean time, here is a packaged version of alignICP_Simple using Caesar._PCL types:
https://juliarobotics.org/Caesar.jl/latest/examples/using_pcl/#Caesar._PCL.alignICP_Simple