rotations estimation

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

rotations estimation

antoine
hello everyody,

Let say I have two similars point clouds. The first one is a kinect point cloud and the second one is a computed primitive shape. I want to place the shape at a given position and find the rotation matrix to apply to it in order to get the best matching registration. I looked over the mailing list archive, pcl issues, google,... and I am not able to find the way to do that  ! So maybe someone can give me a hint or a solution ?

Thanks,
Antoine
Reply | Threaded
Open this post in threaded view
|

Re: rotations estimation

Sneaky Polar Bear
...dozen ways to skin that cat, if I had to guess, that is what 50% of us are doing with pcl (object recognition and tracking).  That being said, this forum is littered with questions and answers related to all forms of registration.  Please try to be more specific in your questions as it makes them easier to answer.

With a primitive... I would have to imagine almost every one of the registration tutorials will work.  Mind you that you will have to do all the steps of processing and filtration prior to the actual search step when you are dealing with irl data.
http://pointclouds.org/documentation/tutorials/#registration-tutorial
Reply | Threaded
Open this post in threaded view
|

Re: rotations estimation

antoine
Thank you for taking time to answer this incomplete question....
So yes I know pcl is mostly used that way. What I'm not able to do is
more precisely ICP with only rotations (3d). Lets say I know my
primitive shape is at a good (or good enough) position and I only want
to find the orientation. I'm not looking for the perfect registering but
rather the better I can achieve without changing the position. Moreover,
I tried modifying warp function or transformation estimator but ICP uses
centroid as position and I want my shape origin in an other place.

If there is still not enough informations please let me know.
Antoine


Le 24/08/2017 à 16:52, Sneaky Polar Bear a écrit :

> ...dozen ways to skin that cat, if I had to guess, that is what 50% of us are
> doing with pcl (object recognition and tracking).  That being said, this
> forum is littered with questions and answers related to all forms of
> registration.  Please try to be more specific in your questions as it makes
> them easier to answer.
>
> With a primitive... I would have to imagine almost every one of the
> registration tutorials will work.  Mind you that you will have to do all the
> steps of processing and filtration prior to the actual search step when you
> are dealing with irl data.
> http://pointclouds.org/documentation/tutorials/#registration-tutorial
>
>
>
> --
> View this message in context: http://www.pcl-users.org/rotations-estimation-tp4044950p4044965.html
> Sent from the Point Cloud Library (PCL) Users mailing list mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users


---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com

_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: rotations estimation

Chris Flesher
Just transform your point cloud to the origin, register using ICP, and transform back.

On Fri, Aug 25, 2017 at 10:00 AM, Antoine Marin <[hidden email]> wrote:
Thank you for taking time to answer this incomplete question....
So yes I know pcl is mostly used that way. What I'm not able to do is more precisely ICP with only rotations (3d). Lets say I know my primitive shape is at a good (or good enough) position and I only want to find the orientation. I'm not looking for the perfect registering but rather the better I can achieve without changing the position. Moreover, I tried modifying warp function or transformation estimator but ICP uses centroid as position and I want my shape origin in an other place.

If there is still not enough informations please let me know.
Antoine



Le 24/08/2017 à 16:52, Sneaky Polar Bear a écrit :
...dozen ways to skin that cat, if I had to guess, that is what 50% of us are
doing with pcl (object recognition and tracking).  That being said, this
forum is littered with questions and answers related to all forms of
registration.  Please try to be more specific in your questions as it makes
them easier to answer.

With a primitive... I would have to imagine almost every one of the
registration tutorials will work.  Mind you that you will have to do all the
steps of processing and filtration prior to the actual search step when you
are dealing with irl data.
http://pointclouds.org/documentation/tutorials/#registration-tutorial



--
View this message in context: http://www.pcl-users.org/rotations-estimation-tp4044950p4044965.html
Sent from the Point Cloud Library (PCL) Users mailing list mailing list archive at Nabble.com.
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users


---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com


_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: rotations estimation

Chris Flesher
You might try using TransformationEstimationSVD to get an initial estimate, not sure how this works exactly but SVD seems like it might help get an initial rotation.

On Fri, Aug 25, 2017 at 10:26 AM, Christopher Flesher <[hidden email]> wrote:
Just transform your point cloud to the origin, register using ICP, and transform back.

On Fri, Aug 25, 2017 at 10:00 AM, Antoine Marin <[hidden email]> wrote:
Thank you for taking time to answer this incomplete question....
So yes I know pcl is mostly used that way. What I'm not able to do is more precisely ICP with only rotations (3d). Lets say I know my primitive shape is at a good (or good enough) position and I only want to find the orientation. I'm not looking for the perfect registering but rather the better I can achieve without changing the position. Moreover, I tried modifying warp function or transformation estimator but ICP uses centroid as position and I want my shape origin in an other place.

If there is still not enough informations please let me know.
Antoine



Le 24/08/2017 à 16:52, Sneaky Polar Bear a écrit :
...dozen ways to skin that cat, if I had to guess, that is what 50% of us are
doing with pcl (object recognition and tracking).  That being said, this
forum is littered with questions and answers related to all forms of
registration.  Please try to be more specific in your questions as it makes
them easier to answer.

With a primitive... I would have to imagine almost every one of the
registration tutorials will work.  Mind you that you will have to do all the
steps of processing and filtration prior to the actual search step when you
are dealing with irl data.
http://pointclouds.org/documentation/tutorials/#registration-tutorial



--
View this message in context: http://www.pcl-users.org/rotations-estimation-tp4044950p4044965.html
Sent from the Point Cloud Library (PCL) Users mailing list mailing list archive at Nabble.com.
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users


---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com



_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: rotations estimation

antoine
In reply to this post by Chris Flesher

Hi,

I already try that, but since icp uses translations the resulting transformation is also containing little translations. All I need is a registration method that only uses rotations. Nobody knows a method that works this way ?

Antoine


Le 25/08/2017 à 17:26, Christopher Flesher a écrit :
Just transform your point cloud to the origin, register using ICP, and transform back.

On Fri, Aug 25, 2017 at 10:00 AM, Antoine Marin <[hidden email]> wrote:
Thank you for taking time to answer this incomplete question....
So yes I know pcl is mostly used that way. What I'm not able to do is more precisely ICP with only rotations (3d). Lets say I know my primitive shape is at a good (or good enough) position and I only want to find the orientation. I'm not looking for the perfect registering but rather the better I can achieve without changing the position. Moreover, I tried modifying warp function or transformation estimator but ICP uses centroid as position and I want my shape origin in an other place.

If there is still not enough informations please let me know.
Antoine



Le 24/08/2017 à 16:52, Sneaky Polar Bear a écrit :
...dozen ways to skin that cat, if I had to guess, that is what 50% of us are
doing with pcl (object recognition and tracking).  That being said, this
forum is littered with questions and answers related to all forms of
registration.  Please try to be more specific in your questions as it makes
them easier to answer.

With a primitive... I would have to imagine almost every one of the
registration tutorials will work.  Mind you that you will have to do all the
steps of processing and filtration prior to the actual search step when you
are dealing with irl data.
http://pointclouds.org/documentation/tutorials/#registration-tutorial



--
View this message in context: http://www.pcl-users.org/rotations-estimation-tp4044950p4044965.html
Sent from the Point Cloud Library (PCL) Users mailing list mailing list archive at Nabble.com.
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users


---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com



_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users


Garanti sans virus. www.avg.com

_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: rotations estimation

Chris Flesher
You have to write your own warp function, take a look at warp 3d and modify it to just do rotations. Here is an old post that might help:

http://www.pcl-users.org/Restricting-Transform-Dimensions-in-Cloud-Registration-ICP-td4020375.html

On Mon, Aug 28, 2017 at 4:00 AM, Antoine Marin <[hidden email]> wrote:

Hi,

I already try that, but since icp uses translations the resulting transformation is also containing little translations. All I need is a registration method that only uses rotations. Nobody knows a method that works this way ?

Antoine


Le 25/08/2017 à 17:26, Christopher Flesher a écrit :
Just transform your point cloud to the origin, register using ICP, and transform back.

On Fri, Aug 25, 2017 at 10:00 AM, Antoine Marin <[hidden email]> wrote:
Thank you for taking time to answer this incomplete question....
So yes I know pcl is mostly used that way. What I'm not able to do is more precisely ICP with only rotations (3d). Lets say I know my primitive shape is at a good (or good enough) position and I only want to find the orientation. I'm not looking for the perfect registering but rather the better I can achieve without changing the position. Moreover, I tried modifying warp function or transformation estimator but ICP uses centroid as position and I want my shape origin in an other place.

If there is still not enough informations please let me know.
Antoine



Le 24/08/2017 à 16:52, Sneaky Polar Bear a écrit :
...dozen ways to skin that cat, if I had to guess, that is what 50% of us are
doing with pcl (object recognition and tracking).  That being said, this
forum is littered with questions and answers related to all forms of
registration.  Please try to be more specific in your questions as it makes
them easier to answer.

With a primitive... I would have to imagine almost every one of the
registration tutorials will work.  Mind you that you will have to do all the
steps of processing and filtration prior to the actual search step when you
are dealing with irl data.
http://pointclouds.org/documentation/tutorials/#registration-tutorial



--
View this message in context: http://www.pcl-users.org/rotations-estimation-tp4044950p4044965.html
Sent from the Point Cloud Library (PCL) Users mailing list mailing list archive at Nabble.com.
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users


---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com



_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users


Garanti sans virus. www.avg.com

_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users



_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: rotations estimation

antoine

Thank you, I've already try something based on this post but perhaps I made mistakes somewhere. I will try again...


Le 28/08/2017 à 15:16, Christopher Flesher a écrit :
You have to write your own warp function, take a look at warp 3d and modify it to just do rotations. Here is an old post that might help:

http://www.pcl-users.org/Restricting-Transform-Dimensions-in-Cloud-Registration-ICP-td4020375.html

On Mon, Aug 28, 2017 at 4:00 AM, Antoine Marin <[hidden email]> wrote:

Hi,

I already try that, but since icp uses translations the resulting transformation is also containing little translations. All I need is a registration method that only uses rotations. Nobody knows a method that works this way ?

Antoine


Le 25/08/2017 à 17:26, Christopher Flesher a écrit :
Just transform your point cloud to the origin, register using ICP, and transform back.

On Fri, Aug 25, 2017 at 10:00 AM, Antoine Marin <[hidden email]> wrote:
Thank you for taking time to answer this incomplete question....
So yes I know pcl is mostly used that way. What I'm not able to do is more precisely ICP with only rotations (3d). Lets say I know my primitive shape is at a good (or good enough) position and I only want to find the orientation. I'm not looking for the perfect registering but rather the better I can achieve without changing the position. Moreover, I tried modifying warp function or transformation estimator but ICP uses centroid as position and I want my shape origin in an other place.

If there is still not enough informations please let me know.
Antoine



Le 24/08/2017 à 16:52, Sneaky Polar Bear a écrit :
...dozen ways to skin that cat, if I had to guess, that is what 50% of us are
doing with pcl (object recognition and tracking).  That being said, this
forum is littered with questions and answers related to all forms of
registration.  Please try to be more specific in your questions as it makes
them easier to answer.

With a primitive... I would have to imagine almost every one of the
registration tutorials will work.  Mind you that you will have to do all the
steps of processing and filtration prior to the actual search step when you
are dealing with irl data.
http://pointclouds.org/documentation/tutorials/#registration-tutorial



--
View this message in context: http://www.pcl-users.org/rotations-estimation-tp4044950p4044965.html
Sent from the Point Cloud Library (PCL) Users mailing list mailing list archive at Nabble.com.
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users


---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com



_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users


Garanti sans virus. www.avg.com

_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users




_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users


_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users