Can Least Squares Solve for Rigid Transform?

  • Context: Undergrad 
  • Thread starter Thread starter PabloBot
  • Start date Start date
  • Tags Tags
    Transform
Click For Summary

Discussion Overview

The discussion revolves around the problem of estimating a rigid transform (rotation and translation) for a set of 3D feature points using least squares methods in the context of computer vision. Participants explore various approaches to solving the problem, including the use of homogeneous coordinates and the implications of measurement errors on the solution.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • Some participants propose using homogeneous coordinates to solve for the rigid transform, questioning whether the resulting matrix will only contain rotation and translation.
  • Others argue that due to measurement errors, a direct solution may not yield a valid rigid transformation, suggesting that least squares is necessary to find the closest approximation.
  • A participant mentions the possibility of separating translation and rotation by solving nonlinear equations based on preserved distances, but questions the validity of this approach in the presence of measurement errors.
  • There is discussion about using augmented coordinates to represent transformations in a single matrix, with a focus on restricting the solution to rotation and translation.
  • Concerns are raised about the potential introduction of scaling or shear when using least squares with erroneous data points, leading to questions about how to enforce the rigid transformation constraints in the solution.

Areas of Agreement / Disagreement

Participants generally agree on the need for least squares to address measurement errors, but there is no consensus on the best approach to ensure the solution remains a valid rigid transformation. Multiple competing views on how to handle the problem remain unresolved.

Contextual Notes

Limitations include the dependence on the assumption that points are not collinear and the unresolved nature of how to restrict the least squares solution to only rotation and translation.

PabloBot
Messages
3
Reaction score
1
Background: I have a set of known 3D feature points {x_i} on the surface of an object in some reference position/orientation at time t = 0. At t > 0 the object will have moved by a rigid transform. I am using computer vision to estimate the position of the 3D feature points {y_i}. I want to solve for the rigid transform (rotation and translation).

The obvious solution is if I have 4 points, I can use homogeneous coordinates and just solve Y = AX for A, where Y has columns y_i and X has columns x_i.

Am I guaranteed that A will only contain rotation and translation?

Also, I read online that for this system:
"Since there are errors but the problem is linear, the best approach to solve this is through least squares"

Why is this so? As long as the points aren't collinear won't X be invertible to satisfy the equation?

Another approach I was thinking was to use that distance are preserved and solve for the translation separately. Suppose Q is the pivot point in the reference position. After translation Q' = Q + t.
I know distances are preserved so:

|P'_0 - Q'| = c1
|P'_1 - Q'| = c2
|P'_2 - Q'| = c3

Can I use some numerical method to solve this system of nonlinear equations? I think there will be two solutions in 3D space, but I could use constraint that the overall rotation angle will be < 90 degrees to pick the right one.
 
Physics news on Phys.org
PabloBot said:
Background: I have a set of known 3D feature points {x_i} on the surface of an object in some reference position/orientation at time t = 0. At t > 0 the object will have moved by a rigid transform. I am using computer vision to estimate the position of the 3D feature points {y_i}. I want to solve for the rigid transform (rotation and translation).

The obvious solution is if I have 4 points, I can use homogeneous coordinates and just solve Y = AX for A, where Y has columns y_i and X has columns x_i.

Am I guaranteed that A will only contain rotation and translation?
It is guaranteed that a rigid transformation is a combination of translation and rotation. It seems like that would be Y = AX + B.
Also, I read online that for this system:
"Since there are errors but the problem is linear, the best approach to solve this is through least squares"

Why is this so? As long as the points aren't collinear won't X be invertible to satisfy the equation?
You don't just want any solution. You want one that is a combination of translation and rotation. If there are errors in the position measurements, a solution of the linear equations will probably not be a combination of translation and rotation. You can use lease squares to find the closest approximation that is.
Another approach I was thinking was to use that distance are preserved and solve for the translation separately. Suppose Q is the pivot point in the reference position. After translation Q' = Q + t.
It's not clear to me that you should separate the problem that way when there are position measurement errors. It will give you a solution, but to get the best lease squared solution It may have to be solved as one least squares problem.
 
Last edited:
that would be Y = AX + B.

Yes, but there is a trick using augmented/homogeneous coordinates where if you write points (x, y, z, 1) and use 4x4 matrix, you can represent the translation and linear transformation (I want to restrict to rotation, however), as a single matrix. See "Augmented Matrix" from https://en.wikipedia.org/wiki/Affine_transformation.

You don't just want any solution. You want one that is a combination of translation and rotation. If there are errors in the position measurements, a solution of the linear equations will probably not be a combination of translation and rotation. You can use lease squares to find the closest approximation that is.

I think I see what you are saying. If I just use 4 data points with errors, I'll probably get some scaling/shear in there. Even with least squares how do I restrict it to rotation and translation only?
 
  • Like
Likes   Reactions: FactChecker
PabloBot said:
Yes, but there is a trick using augmented/homogeneous coordinates where if you write points (x, y, z, 1) and use 4x4 matrix, you can represent the translation and linear transformation (I want to restrict to rotation, however), as a single matrix. See "Augmented Matrix" from https://en.wikipedia.org/wiki/Affine_transformation.
Good point.
I think I see what you are saying. If I just use 4 data points with errors, I'll probably get some scaling/shear in there. Even with least squares how do I restrict it to rotation and translation only?
Put the matrices in the general form of a rotation and a translation with parameters. Then use least squares minimization to determine the best parameter values.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 40 ·
2
Replies
40
Views
4K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 20 ·
Replies
20
Views
4K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 3 ·
Replies
3
Views
1K