- #1
PabloBot
- 3
- 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.
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.