Question 1: Compute Normals of a Sphere
Assume that there exists a chrome sphere with radius and the center of the sphere is . In this situation, represent normal direction of the highlight position on the chrome sphere by using , , , , . And justify your answer.
In general, the normal direction vector at a particular point on the surface of a sphere is the same as the vector from the center of the sphere to the particular point. To normalize the direction vector, we can divide it with the sphere radius , which is the distance of the vector.
Since the center of the sphere is and the highlight position is , we can easily say and component of the direction vector is and . These components can be normalized to and each. Thus we can say and .
We can find the remaining by finding the value which satisfies . Thus, (We can consider , the case of considering front point of sphere). To wrap up, we can represent normal direction of the highlight position as below.
Question 2 : Computing Scene Normals
Assume that there exists images of a Lambertian object taken using different light sources with same intensity. Each direction of light source are notated as , , …, , and the intensities of a image pixel are notated as , , …, . Describe the method to compute the normal direction and the (unnormalized) albedo of the pixel.
In case of dealing with lambertian object, we can generally say the image intensity as below. In below equation is surface albedo, is normal direction vector and is source direction vector.
We can apply above equation on all images and light source direction, constructing matrix form equation as below.
Let’s substitude , , . Then we can focus on solving the least squares problem of minimizing . By applying the common solution of least square problem, we can obtain . Finally, we can compute the normal directon and albedo since is normal vector with .
Question 3 : Homography
Consider two points and on planes and . Let us assume that the homography that maps point to is given by .
Answer the following questions regarding :
What is the size rows × columns of the matrix ? (Remember to use homogeneous coordinates.)
Since and are the points on image plane, which is 2-dimension in euclidean coordinate, we can say both of them are 3-dimension in homogeneous coordinate. The homography which maps to should be matrix to perform the transformation from 3-dimension vector to another 3-dimension vector.
What is the rank of the matrix ? Explain.
Let’s assume there exists nonzero vector such that .
Consider the intersection of the and plane as . Then, we can easily say is a vector that is the scalar multiple of which makes . Then , the corresponding (transformed) point of on must be also which makes contradiction that is both camera center and on image plane .
Then, we can think of the case that and doesn’t have any intersection.
Consider the straight line that the vector represents. Then for all points in the line , we can make projection to the image plane to make projected line . Since the points on line can be expressed as the scalar multiplication of and the projection can be expressed as adding same size () of image plane normal vectors on each points, we can express the point of using two scalar , as below.
For , the specific points in (which is on plane ), we can apply transformation using homography.
By above equation, we can know that for all points in , the corresponding points in are same. This contradicts with collinearity of homography (line must be correspond to line, one-to-one mapping).
To wrap up, by assuming the existance of nonzero vector such that makes contradiction in all possible cases and we can say the assumption is wrong. Thus, there isn’t any nonzero vector such that and this means has nullity of 0, and has full rank of 3.
What is the minimum number of point correspondences required to estimate ? Why?
Consider one correspondences and is given. Then, we can think of the given homography satisfies an equation below.
Then, we can simply figure out the above equation (written in homogenous coordinate) can be changed to two equations below.
We can write these two equation again as matrix form.
We can find out one correspondences give two rows of first matrix. There are 9 unknowns in above equation (), but matrix is up-to-scale, so the final degree of the freedom is 8. It can be seen that a total of 4 correspondences are required to cover 8 degrees of the freedom by 2.
We can use homographies to create a panoramic image from multiple views of the same scene. This is possible when there is no camera translation between the views (e.g. only rotation about the camera center). In this case, corresponding points from two views of the same scene can be related by a homography:
where and denote the homogeneous coordinates (e.g., ) of the 2D projection of the -th point in images 1 and 2 respectively, and is a matrix representing the homography.
Given N point correspondences and using , derive a set of 2N independent linear equations in the form where is a vector containing the unknown entries of . What are the expressions for and ? How many correspondences will be needed to solve for ?
Let’s assume for , and .
Then, we can write down matrix equation for one correspondence point as below.
As same as previous question , we can simply figure out the above equation (written in homogenous coordinate) can be changed to two equations below.
We can write these two equation again as matrix form.
By changing total correspondences to above matrix equation form, we can get the final matrix equation form as below.
The above equation is the form of where
and .
is matrix and, is zero vector.
has 9 unknowns, but it is up-to-scale, so the final degree of the freedom is 8. It can be seen that a total of 4 correspondences are required to cover 8 degrees of the freedom by 2.