richardos / icp Goto Github PK
View Code? Open in Web Editor NEWA Python implementation of the Iterative Closest Point algorithm
License: MIT License
A Python implementation of the Iterative Closest Point algorithm
License: MIT License
I have two arrays of different sizes .Array A (N2) and Array B(N2) . i am giving the points in these two arrays to your icp where i know that these points are corresponding to each other and the algorithm is aligning them correctly as well. i then get a transformation history of (N23) and i convert it to one (2*3) array by multiplying all of them together but when i apply this transformation matrix to the points i want to be aligned (array b). the mapping isnt taking place . thankyou
Somehow the algorithm thinks it has aligned the two scans, but when I plot them they are far from aligned, I wonder if there is a way to input an initial transformation that the algorithm could work from. The function arguments do not seem to have such an argument.
From how much I understand ICP (which is very little), it still needs an initial estimate. But your algorithm does not seem to need that. Though I did not peek inside the hood too much, so i am not sure if this was a trivial thing on my side.
Replace the transformation_history
return value of the icp()
-function with transformation
.
While the list of transformations might be interesting to investigate the convergence, the total transformation would be a more interesting return value for most applications.
For instance, it can be helpful when the point cloud has been created by processing a 2D image, which also might be transformed.
Hi Richard,
After running your code, why do i not see any aligned point in the plot?
Hi, i hope you can help me understand this better.
How do you determine the how much values the distance threshold and point pairs should be?
I had tried running it with 2 different distance threshold, 20 and 40. For 2 point clouds that only differs in rotation and translation, i am able to get a acceptable convergence (see below).
However, when i were to use point clouds that has a different size, rotation and translation the ICP convergence is unacceptable for a distance threshold of 40 compared to distance threshold of 20.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.