PCA(Principal Component Analysis), 也就是主成分分析, 是数据分析的常用方法, 其原理是: 反映对象特征的多个属性往往存在线形相关, 所以可以找到一个合理的方法, 对此多个属性变换为线性无关的另一组属性, 变换后的属性个数小于最初的属性的个数, 也就是起到了数据降维的作用, 这样可以减少数据分析的复杂度. 自然, PCA在机器学习,计算机视觉和图像处理上, 也有重要作用. 如本文末参考文献中使用PCA来估计图像局部方向.
设
f(x,y)
为一感兴趣图像区域, 则可求得其梯度
gi
为:
gi=∇f(x,y),i=1,2,...,n
若
a
为此区域方向, 则其必正交于图像梯度, 于是, 估计区域方向就可以用最小化下式来推算:
∑i=1n(aTgi)2=aT∑i=1n(gigTi)a=aTCa
其中,
C=⎡⎣⎢⎢⎢⎢⎢∑i=1ngxgx,∑i=1ngxgy∑i=1ngxgy,∑i=1ngygy⎤⎦⎥⎥⎥⎥⎥
可用Langrange Multiplier 来求解,
a
就是
C
的对应于最小特征值的特征向量.
此方法在RAISR中得到了应用. 下图就是RAISR跟双线形上采样的比较.
此程序刚完成, 未作仔细检验, 并没有自信其逻辑一定正确. 还有训练样本集是网上找的一个很小的图像数据库, 一共200张图片,所以次训练远远称不上充分。 所以理论上应该能取得更好的效果.
Reference
- Multiscale Principle Component Analysis for Image Local Orientation Estimation.