伪逆矩阵(pseudo-inverse)

伪逆矩阵是逆矩阵的广义形式。由于奇异矩阵或非方阵的矩阵不存在逆矩阵,但在matlab里可以用函数pinv(A)求其伪逆矩阵。基本语法为X=pinv(A),X=pinv(A,tol),其中tol为误差,pinv为pseudo-inverse的缩写:max(size(A))*norm(A)*eps。函数返回一个与A的转置矩阵A' 同型的矩阵X,并且满足:AXA=A,XAX=X.此时,称矩阵X为矩阵A的伪逆,也称为广义逆矩阵。pinv(A)具有inv(A)的部分特性,但不与inv(A)完全等同。  如果A为非奇异方阵,pinv(A)=inv(A),但却会耗费大量的计算时间,相比较而言,inv(A)花费更少的时间。

机器视觉中,finite camera的投影矩阵P为一个3*4,秩为3 的矩阵,矩阵P的伪逆如下:

矩阵P的伪逆为:

如果A列满秩,那么pinv(A)=(A'*A)^{-1}*A'。

如果A行满秩,那么pinv(A)=pinv(A')'。
如果秩亏损,那么只好先做奇异值分解A=UDV',U,V是正交阵,D是对角阵。
然后取对角阵S,如果D(i,i)=0,那么S(i,i)=0,如果D(i,i)<>0,那么S(i,i)=1/D(i,i)。于是pinv(A)=VSU'。

你可能感兴趣的:(机器视觉,计算机视觉,参数矩阵)