在机器视觉中,需要重点把握矩阵的两个功能,即基变换和线性映射。
(1)基变换就是从不同坐标系变换视角观测同一个固定目标,描述位姿;
(2)线性映射则指目标从一个位姿变换到另一个位姿,描述了运动。
矩阵可以实现基的变换。
给定线性空间 R n 和一个基 α 1 , α 2 ,…, α n ,任意一个抽象向量 r 可以表示成基{ α i }下的具体向量 x =( x 1 , x 2 ,…, x n ) T :
如果选定空间 R n 的另一个基 β 1 , β 2 ,…, β n ,同样地,该抽象向量 r 可以表示成基{ β i }下的具体向量 y =( y 1 , y 2 ,…, y n ) T :
两个基{ α i }和{ β i }可以表示为
其中,矩阵 C 称为 转移矩阵 。
转移矩阵 C 的第 j 列 c j =( c 1 j , c 2 j ,…, c nj ) T 是旧基{ α j }的第 j 个基向量 α j 在新基{ β i }下的坐标。
根据抽象向量的恒等性 r ≡ r ,有
根据{ β i }作为基的线性无关性,有
可见,通过 α = βC 将新基转移回旧基的转移矩阵 C ,以 y = Cx 的形式将旧坐标 x 变换为新坐标 y 。
两个基{ α i }和{ β i }还可以这样表示:
其中,矩阵 D 称为 过渡矩阵 。
同样,根据抽象向量的恒等性 r ≡ r ,有
根据{ α i }作为基的线性无关性,有
即
可见,通过 αD = β 将旧基过渡至新基的过渡矩阵 D ,以 x = Dy 的形式将新坐标 y 变换为旧坐标 x 。
在机器视觉中,多使用转移矩阵的形式。
矩阵的另一个作用是实现线性映射。
对于某个线性映射
:
给定输入空间的原像
u
∈
U
,可以得到输出空间的像
,该映射A:
R
n
→
R
m
同构于一个矩阵
A
∈
R
m
×
n
;矩阵
A
中的元素,取决于基的选择。
选定输入空间
U
的一个基
α
1
,
α
2
,…,
α
n
和输出空间
V
的一个基
β
1
,
β
2
,…,
β
m
,将映射
作用于输入基{
α
i
}的各个坐标轴,即可得到矩阵
A
:
矩阵
A
称为线性映射
在入口基{
α
i
}和出口基{
β
i
}下的
表示矩阵
。
表示矩阵
A
的第
j
列,是输入空间的坐标轴
α
j
经过线性映射
之后在输出空间的坐标系{
β
i
}下的坐标。
这样,抽象的映射
,经过选定基的坐标化,可以通过具体的矩阵
A
∈
R
m
×
n
描述。
将算子
从分块矩阵中提出,有
式中,左侧是抽象的线性映射
,右侧是具体的矩阵
A
。
设输入空间 U 中的原像 u 在入口基{ α i }下坐标化为具体向量 x =( x 1 , x 2 ,…, x n ) T :
输出空间 V 中的像 v 在出口基{ β i }下坐标化为具体向量 y =( y 1 , y 2 ,…, y m ) T :
则根据抽象映射
有
根据{ β i }作为基的线性无关性,有
可见,具体的矩阵
A
实现了抽象的映射
,将某个输入基{
α
i
}下的坐标
x
映射为输出基{
β
i
}下的坐标
y
。
观察前述线性映射矩阵表示
注意: 左侧是十分抽象的线性映射,而右侧则是十分具体的矩阵乘法。
如果输入基{ α i }和输出基{ β i }没有经过良好设计,则映射A对应的表示矩阵 A 可能并不友好。对友好矩阵的追求是线性代数、矩阵分析和高等代数的核心目标之一。
所谓好的矩阵,是指其含有尽量多的零,例如对角矩阵、上三角矩阵或者分块对角矩阵等。因此,可以通过合理设计新的输入基和输出基,使表示矩阵 A 的形式简单,例如成为单位阵或者对角矩阵。
为此,在输入空间,选择某个
过渡矩阵
P
,进行基变换,将旧的输入基{
α
i
}过渡为新的输入基
:
在输出空间,选择某个
过渡矩阵
Q
,进行基变换,将旧的输出基{
β
i
}过渡为新的输出基
:
为了获得新输入基和新输出基下的新表示矩阵,将映射
作用于新输入基
的各个坐标轴:
即
记新输入基
和新输出基
下的新表示矩阵为
B
,即
则有
结合输出基的基变换:
( β ' 1 , β ' 2 ,…, β ' m )=( β 1 , β 2 ,…, β m ) Q
则有
根据{ β i }作为基的线性无关性,有
从而得到比较好的新表示矩阵 B :
称矩阵 B 与矩阵 A 等价。
新输入基
下坐标
x
'经过映射A后,在新输出基
的坐标
y
'为
式 y '= Bx '= Q -1 APx '中三个矩阵: P 和 Q 矩阵的作用是完成坐标系的基变换,矩阵 A 完成线性映射。具体如下。
(1)过渡矩阵
P
是在输入空间进行基变换,将
下新坐标
x
'变回{
α
i
}下旧坐标
x
:
(2)表示矩阵
A
,将输入空间的旧输入基下的向量
x
执行线性映射
,得到输出空间的老输出基下的向量
y
:
(3)过渡矩阵
Q
-1
是在输出空间进行基变换,将{
β
i
}下旧坐标
y
变为
下新坐标
y
':
可见,矩阵等价中的三个矩阵即三次变换。
存在一种特殊的情况,当线性映射
退化为线性变换
:
R
n
⊃
W
→
W
⊂
R
n
时,等价关系
AP
=
QB
退化为
即
称矩阵 B 与矩阵 A 相似。
根据矩阵相似的式子
A
=
PBP
-1
,对于线性变换
,通过合理设计的基变换矩阵
P
,可以将表示矩阵
A
变为简单的矩阵
B
。
矩阵 B 的最简形式是对角阵,这可以通过特征值分解得到。
矩阵
A
与向量
v
相乘,就是对向量
v
进行线性变换(如旋转、伸缩、反射等),例如对称矩阵
的乘法
,就是对
x
轴和
y
轴进行(非均匀)伸缩。而非对称矩阵
的乘法
则既不是对
x
轴也不是对
y
轴进行伸缩,而是在特定方向上进行伸缩。具体是哪个方向,需要特征向量的概念。
对于方阵 A ∈ R n × n 和向量 v ∈ R n ,如果有 Av = λ v ,也就是矩阵对于向量只有伸缩作用,即span( v )构成一维不变子空间,则称 λ 为特征值, v 为对应特征值 λ 的特征向量。矩阵 A 与特征向量 v 相乘和数量 λ 与特征向量 v 相乘效果相同,说明特征向量 v 是一个主要伸缩方向。
记方阵 A 排序后的特征值为 λ 1 ≥ λ 2 ≥…≥ λ n ,对应特征向量为 w 1 , w 2 ,…, w n ,则 A 可以表示为
式(2-16)称为方阵 A 的特征值分解(Eigen Value Decomposition,EVD),其中 Λ =diag( λ 1 , λ 2 ,…, λ n )为特征值构成的对角阵, W =( w 1 , w 2 ,…, w n )为相应特征向量拼成的方阵。
进一步地,把向量组{
w
i
}正交化和单位化为
,从而
,则
构成标准正交基矩阵(酉矩阵),满足
即
,因此
不过,能够进行特征值分解的矩阵必须是方阵,大部分工程问题遇到的矩阵并非方阵。
此时根据矩阵等价式
A
=
QBP
-1
,对于线性映射
,通过合理设计输入基的过渡矩阵
V
和输出基的过渡矩阵
U
,表示矩阵
A
可以变为简单的
B
。矩阵
B
的最简单形式是分块对角阵,这可以通过奇异值分解(Singular Value Decomposition,SVD)得到
式(2-18)称为矩阵 A 的 奇异值分解 ,其中 A ∈ R m × n , r =rank A 为 A 的秩; V ∈ R n × n 和 U ∈ R m × m 为正交矩阵, Σ ∈ R m × n 矩阵形式如下:
Σ 中的 Λ =diag( σ 1 , σ 2 ,…, σ r )是由从大到小排列的 r 个非零奇异值构成的对角方阵;而 σ 1 ≥…≥ σ r ≥ σ r +1 ≥…≥ σ min( m , n ) ≥0称为矩阵 A 的奇异值,同时也是方阵 A T A 或 AA T 的特征值的 平方根 。
需要注意奇异值可以由矩阵 A 唯一确定,但是正交矩阵 V 、 U 却并不唯一。
观察矩阵 A 的奇异值分解:
即
其中:
(1) V ∈ R n × n 的列向量拼成了映射A输入空间的基变换矩阵, V 的 n 个列向量 v 1 , v 2 ,…, v n 称为 A 的右奇异向量,右奇异向量就是方阵 A T A ∈ R n × n 的特征向量;
(2) U ∈ R m × m 的列向量拼成了映射A输出空间的基变换矩阵, U 的 m 个列向量 u 1 , u 2 ,…, u m 称为 A 的左奇异向量,左奇异向量就是方阵 AA T ∈ R m × m 的特征向量;
(3)三角阵 Σ 中 Λ ∈ R r × r 对角线上的非零奇异值可以视作输入与输出之间的膨胀系数,每一个奇异值可以看作一个残差项,最后一个奇异值最小,其含义是最优残差。
特征值分解可以用于求解齐次方程 Ax = 0 。
给定线性齐次方程
Ax
=
0
,设
x
∗
为该超定方程的非零解,则缩放
ζ
倍的
ζ
x
∗
依然是解,因此可以通过建立范数约束
得到约束型最小二乘问题:
上述最小二乘问题通过拉格朗日乘子转换为无约束优化问题:
求解平稳点,有
可见 λ 和 x 分别是方阵 A T A 的特征值和特征向量,因此解 x ∗ 一定在 A T A 的特征向量中。
为了确定具体是哪一个特征向量,考查目标函数
的函数值:
可见
,要求
最小,即
λ
最小。
因此, Ax = 0 的解就是方阵 A T A 经过特征值分解后对应最小特征值 λ 的特征向量。
奇异值分解可以用于求解非齐次方程 Ax = b 。
给定非齐次线性方程 Ax = b ,其损失函数为
令损失函数的一阶导数为零,可以获得解析解:
但是解中含有( A T A )-1,需要求解逆矩阵。如果直接对方阵 A T A 求逆,计算比较复杂。不过可以通过奇异值分解实现,而且奇异值分解还有一个好处是适用于奇异的、退化的方阵 A T A ,而这种情况 A T A 根本无法求逆。
设矩阵
A
的奇异值分解为
A
=
UΣV
T
,其中
,对角阵
Λ
r
=diag(
σ
1
,
σ
2
,…,
σ
r
),对角线上
σ
1
≥…≥
σ
r
≥
σ
r
+1
≥…≥
σ
min(
m
,
n
)
≥0,则线性最小二乘求解
Ax
=
b
的极值问题为
根据 U 和 V 作为酉矩阵的保范性,有
因此
即
从而根据
,通过
,解得
此时的极值为
,即剩余残差之和。
当
r
=
n
时,具有唯一的最小二乘解;如果
r
<
n
,则
i
>
r
的
可以取任意值,因此存在无穷多的最小二乘解。此时,可以建立约束为最小范数解:
这样,通过奇异值分解的 U 和 V ,得到超定方程 Ax = b 解的表示。