SVD and Data Compression

Singular Value Decomposition (SVD) can also be used in Data Compression. Consider the case when say, a satellite from outer space is trying to send some photographs that it took of a UFO near Uranus, to earth. To do that, the satellite would try to digitalize its image into small pixels. Each pixel is basically represented by a number which is the average intensity of light at that particular point. If each of the pictures is divided into 800 X 800 pixels, the satellite would have to send back 640000 numbers (or an 800D matrix) for each picture. That is a lot of data! Sometimes, we can approximate this matrix with a ‘simpler’ one which would also take up less storage space.

Consider a 16 D matrix which would contain the values of the grey scale (between 0.0 & 1.0) for each square represented in the image shown below. If we wanted the exact picture, we would need to send all the 256 numbers. But we can get an approximately get the same image using a lot less data. We just approximate all the small singular values to 0. Say, the singular values of the 16D matrix were
7.63116 3.64554 3.62529 0.089207
0.081537 0.0660488 0.0553387 0.0487359
0.0466094 0.0340483 0.0314476 0.0261613
0.0187258 0.0133512 0.00755902 0.00556133

Approximating all, except the first three singular values to zero, we get

And thus, we can get the compressed image which has been below, using only first 3 rows of U, first 3 rows of V and 3 singular values. Thus, in this case, the satellite would only have to send 3*16 + 3*16 + 3 = 99 numbers instead of the total 256 numbers.

Reference: http://inf-server.inf.uth.gr/~akritas/articles/svdPaperAlkisGenaCommented.pdf

Posted in Topics: Uncategorized

Jump down to leave a comment.

Leave a Comment

You must be logged in to post a comment.



* You can follow any responses to this entry through the RSS 2.0 feed.