Skip to content

Homography – Part I: second largest singular value=1

04/04/2011

The proof on Ma Yi’s book is not so clear. Here I want to give my proof.

Property: The homography matrix is H=R+\frac{1}{d}TN^T. Its singular values are \sigma_1\le \sigma_2 \le \sigma_3. Then \sigma_2=1.

Proof: For the sake of simplicity, just use H=R+TN^T. The original problem is equivalent to prove the second largest eigenvalue of H^TH is 1.

H^TH=(R+TN^T)^T(R+TN^T)=I+R^TTN^T+NT^TR+NT^TTN^T

Let A=R^TTN^T+NT^TR+NT^TTN^T. Then our goal becomes to prove the second largest eigenvalue of A is zero. Let u=R^TT, then

A=R^TTN^T+NT^TR+NT^TTN^T=uN^T+Nu^T+\|u\|^2NN^T

Let a=\frac{u}{\|u\|}, b=\|u\|N, then

A=ab^T+b^Ta+bb^T=(a+b)(a+b)^T-aa^T

Hence A is the difference of two positive semi-definite matrices.

step 1: prove A has a zero eigenvalue

Consider x=a\times (a+b)=a\times b, it is obvious Ax=0. So A has a zero eigenvalue and its associating eigenvector is  x=a\times b=(R^TT)\times N.

step 2: prove the zero eigenvalue is the second largest eigenvalue of A

Note A=(a+b)(a+b)^T-aa^T. There exists a vector x_1 which is orthogonal to a but not a+b, then x^TAx=x_1^T(a+b)(a+b)^Tx_1>0.  There exists a vector $x_2$ which is orthogonal to a+b but not a, then x_2^TAx_2=-x_2^Taa^Tx_2<0. Therefore, A has at least one positive eigenvalue and at least one negative eigenvalue. QED

Remark:

a) This is very important for the decomposition! The eigenvector associating zero eigenvalue of A is x=a\times b=(R^TT)\times N. Remember what -R^TT mean? If -R^T and N is collinear, then the eigenspace associating zero eigenvalue is a plane, which is the plane orthogonal to the vector N.

b) We can also use HH^T to prove. The result is the same.

Here is the brief proof. Note N^TN=1, so we have

HH^T=(R+TN^T)(R+TN^T)^T=I+TN^TR^T+RNT^T+TT^T

Hence

HH^T=I+(T+RN)(T+RN)^T-RNN^TR=I+(a+b)(a+b)^T-bb^T

Next it is easy to show HH^T has a eigenvalue=1 and it’s the second largest one.

Advertisements
One Comment leave one →
  1. 16/08/2013 1:03 am

    I think A should be: A = a b^T + b a^T + b b^T

    you wrote A = a b^T + b^T a + b b^T

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: