I am reading up on homographies and i have seen some places that it says that the homography is defined "up to a scale factor" what does this mean? Is there an upper limit for scaling the homography or what does it mean, and why?
General Meaning
- A is unique up to Variation
- A is the same as B up to Variation
- A is equal to B up to Variation
- Statement up to Variation
Phrases of the forms above typically mean that the Statement - the part before "up to" - is true excepting some kind of Variation. It can be thought of as meaning "...up to...but no further."
Example
Two points in the plane determine a line.
One point in the plane determines a line up to rotation about the point.
Meaning with respect to Homographies
Taken from the first section of this document:
1. From 3D to 2D Coordinates
Under homography, we can write the transformation of points in 3D from camera 1 to camera 2 as:
X2 = H*X1, X1,X2 in R^3
In the image planes, using homogeneous coordinates, we have
a*x1 = X1, b*x2 = X2, therefore b*x2 = H*a*x1
This means that
x2
is equal toH*x1
up to a scale (due to universal scale ambiguity).
In the next section of the same document, Homography Estimation is described, wherein the z1
variable being solved for is "without loss of generality" set to 1
. There is a whole set of solution homographies (with variation across scale), so a convention is made in this case to always choose the homograph that has universal scale z1
set to 1
.
x2
is equal to H*x1
up to a scale" means that the scale is still a free variable. -- In the example I gave, "One point in the plane determines a line up to rotation about the point," the meaning is that one point actually doesn't by itself determine a line - it just determines a line up to rotation (where the rotation is still a free variable). –
Numerator Consider this Homography matrix, H.
[ h11 h12 h13 ]
[ h21 h22 h23 ]
[ h31 h32 h33 ]
It has 9 elements and say, I have a scale factor s, which is a scalar. Now if I were to multiply the s with H, it would still be the same planar transformation.
[ s*h11 s*h12 s*h13 ]
[ s*h21 s*h22 s*h23 ]
[ s*h31 s*h32 s*h33 ]
But, say, I have to do the same transformation in reverse, I would need to know just one of these new elements(e.g.: we set h33 = 1), and now the others can adjust in value to reach the same transformation.
© 2022 - 2025 — McMap. All rights reserved.