Monday, February 24, 2014

Inverse of permutation matrices are nothing but their transposes.

Permutation matrices are matrices with only one element as 1 in each row/column and rest as zero. A matrix when multiplied with permutation (P) matrices results in row/column exchanges.

PA = A', A' is row-exchanged matrix
AP = A'', A'' is column-exchanged matrix

For example,

P = [ 0 0 1;
         1 0 0;
         0 1 0]

The inverse of P is same as is transpose.

A well-explained proof is given in the following discussion in stack exchange.

http://math.stackexchange.com/questions/98549/the-transpose-of-a-permutation-matrix-is-its-inverse

Quoting the same here:

(PPT)ij=k=1nPikPTkj=k=1nPikPjk
but Pik is usually 0, and so PikPjk is usually 0. The only time Pik is nonzero is when it is 1, but then there are no other ii such that Pik is nonzero (i is the only row with a 1 in column k). In other words,
k=1nPikPjk={10if i=jotherwise
and this is exactly the formula for the entries of the identity matrix, so
PPT=I

Saturday, January 25, 2014

Cholesky decomposition of positive definite matrices

 pascal(N) is the Pascal matrix of order N: a symmetric positive definite matrix with integer entries, made up from Pascal's triangle.  Its inverse has integer entries.

Generate a pascal matrix:

>> A = pascal(5)

A =

     1     1     1     1     1
     1     2     3     4     5
     1     3     6    10    15
     1     4    10    20    35
     1     5    15    35    70

(Ref: wikipedia)
In linear algebra, the Cholesky decomposition or Cholesky factorization is a decomposition of a Hermitian, positive-definite matrix into the product of a lower triangular matrix and its conjugate transpose, useful for efficient numerical solutions and Monte Carlo simulations. It was discovered by André-Louis Cholesky for real matrices. When it is applicable, the Cholesky decomposition is roughly twice as efficient as the LU decomposition for solving systems of linear equations.



>> R = chol(A)

R =

     1     1     1     1     1
     0     1     2     3     4
     0     0     1     3     6
     0     0     0     1     4
     0     0     0     0     1

Recover the matrix from its Cholesky decomposition and its transpose.

>> A1 = R' * R

A1 =

     1     1     1     1     1
     1     2     3     4     5
     1     3     6    10    15
     1     4    10    20    35
     1     5    15    35    70

Sunday, January 19, 2014

A = UL Linear Algebra and Its Applications, 4th Edition, Exercise.1.5.12

The question is :

Could A be factored into the product UL where U is upper triangular and L lower triangular, instead of the product LU? If so, how? Would U and L be the same in both cases?

Answer is Yes it can be. And it will be different from A = L'U'.

I found an extremely well-explained answer in the following blog and it was really helpful!

http://math.hecker.org/2011/01/13/linear-algebra-and-its-applications-exercise-1-5-12/#comment-884

Monday, January 13, 2014

List of journals in the field of robotics and vision


IEEE Transactions On Robotics(TRO)(2.536)
http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=8860

IEEE Robotics & Automation Magazine(RAM)(1.985)
http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=100

Image and Vision Computing(1.723)
http://www.journals.elsevier.com/image-and-vision-computing/

Autonomous Robots(1.5)
http://www.springer.com/engineering/robotics/journal/10514

Computer Vision and Image Understanding (1.340)
http://www.journals.elsevier.com/computer-vision-and-image-understanding/

Robotics and Autonomous Systems (1.056)
http://www.journals.elsevier.com/robotics-and-autonomous-systems/

Journal of Intelligent & Robotic Systems(0.829)
http://www.springer.com/engineering/robotics/journal/10846

International Journal of Control, Automation and Systems(IJCAS)(0.749)
http://www.springer.com/engineering/robotics/journal/12555 

International Journal of Advanced Robotic Systems(0.375)
http://www.intechopen.com/journals/international_journal_of_advanced_robotic_systems

International Journal of Robotics and Automation(0.206)
http://www.actapress.com/Content_of_Journal.aspx?journalid=147#pages

I found a helpful link of impact factor too:

http://www.hizook.com/blog/2011/11/02/impact-factors-robotics-journals

Another link for Computer Vision and Machine Learning Journals:
http://liris.cnrs.fr/christian.wolf/journalif.html
 

Saturday, January 4, 2014

combine multiple images or pdfs to generate one pdf file in Linux

Convert multiple images to pdf:

$convert -compress Zip img1.jpg img2.jpg final.pdf

Convert multiple pdfs to write as a pdf:

$gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=finished.pdf file1.pdf file2.pdf

Saturday, December 28, 2013

Solving a set of linear equations and finding the echelon form using MATLAB (LU or LR Factorization)

% factorization  of a set of n equations n unknowns...
% u + v + w = 6
% u + 2v + 2w = 11
% 2u + 3v - 4w = 3

A = [1 1 1 6; 1 2 2 11; 2 3 -4 3]
[L U] = lu(A);

% U contains the echelon form, or the upper triangular matrix.

U =

    2.0000    3.0000   -4.0000    3.0000
         0        0.5000    4.0000    9.5000
         0         0            7.0000   14.0000

Tuesday, June 25, 2013

VL_SLIC gives disjointed superpixels!!! Is it a bug?


I used vl_slic to oversegment the following image.
I tried both using the RGB image and LAB image for superpixel segmentation.
Strangely, I find some superpixels which are disconnected regions, instead of whole regions!! I do not know why, if it is a bug in my own way of giving inputs or it is an actual bug.

Here is my command for segmentation:

% Read the RGB image
fileName = [num2str(imgInd) '_rgb'];
load(sprintf(imgFile, imgInd),'imgRgb');
rgbImg = im2double(imgRgb);

% % For LAB colorspace
 regionSize  = 30; %25 ;
 regularizer = 30; %50;
 imglab =  vl_xyz2lab(vl_rgb2xyz(single(img))) ;
 structSuperpix(1).segments = vl_slic(single(imglab), regionSize, regularizer);

% For RGB colorspace
regionSize  = 25;%30;
regularizer = 0.008;%0.01;
structSuperpix(1).segments = vl_slic(single(img), regionSize, regularizer);

The input Image:

 

Broken superpixel  using LAB image:

















Broken superpixel  using RGB image:



Moreover, I need to provide different values of regularizer for equivalent shaped superpixels. Superpixels obtained with LAB colorspace appear more irregular than that using RGB colorspace.

What might be the reason?