在计算机视觉领域,特征提取是一种常见的技术,用于从图像或视频中提取出有用的信息。以下全文通过介绍特征提取常用的算法进行介绍:
特征提取是指从原始数据中提取出有用的特征,以便于进行后续的处理和分析,特征提取一般包含特征点检测和描述子计算两个过程。
特征点检测
是计算机视觉中的一个重要步骤,它是指在图像中检测出具有显著变化的位置,如角点、边缘等,这些位置被称为特征点。特征点检测广泛应用到目标匹配、目标跟踪、三维重建等应用中,在进行目标建模时会对图像进行目标特征的提取,常用的有颜色、角点、特征点、轮廓、纹理等特征。
描述子
是计算机视觉中的一种特征提取方法,用于描述图像中的特征点。描述子是一种向量,可以用来表示图像中的一个局部区域,通常用于目标检测、图像匹配等任务。描述子可以分为浮点型和二进制型两类,前者的优点是更精确,后者的优点是速度更快。
常见的特征提取算法- 主成分分析(PCA)
- 线性判别分析(LDA)
- 尺度不变特征变换(SIFT)
- 加速稳健特征(SURF)
- 方向梯度直方图(HOG)
- 局部二值模式(LBP)
- 高斯混合模型(GMM)
- 小波变换(Wavelet Transform)
- BRIEF描述子
主成分分析(PCA)
是一种降维的统计方法,它借助于一个正交变换,将其分量相关的原随机向量转化成其分量不相关的新随机向量,这在代数上表现为将原随机向量的协方差阵变换成对角形阵,在几何上表现为将原坐标系变换成新的正交坐标系,使之指向样本点散布最开的p个正交方向,然后对多维变量系统进行降维处理,使之能以一个较高的精度转换成低维变量系统,再通过构造适当的价值函数,进一步把低维系统转化成一维系统。
应用场景
主成分分析(PCA)有很多应用场景,例如:
- 加速机器学习算法
- 对数据进行预处理
- 用于分类问题和回归问题
- 根据方差自主控制特征数量
优缺点
主成分分析(PCA)是一种常用的数据降维方法,它可以将高维数据转换为低维数据,同时保留原始数据的大部分信息。
主成分分析的优点包括:
①可以减少数据的冗余性,提高数据的处理效率;
②可以消除不同变量之间的相关性,避免多重共线性问题;
③可以发现数据中的主要特征,便于后续的建模和分析;
④可以降低噪声对数据分析的影响。
主成分分析的缺点包括:
①主成分的解释其含义往往具有一定的模糊性,不如原始变量的含义那么清楚、确切;
②贡献率小的主成分往往可能含有对样本差异的重要信息,也就是可能对于区分样本的类别(标签)更有用;
③特征值矩阵的正交向量空间是否唯一有待讨论;
④无监督学习。
如何实现
基于特征值分解协方差矩阵实现PCA算法和基于SVD分解协方差矩阵实现PCA算法。其中,基于特征值分解协方差矩阵实现PCA算法的步骤如下:
- 去平均值(即去中心化),即每一位特征减去各自的平均值。
- 计算协方差矩阵。
- 求出协方差矩阵的特征值及对应的特征向量。
- 将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P。
- Y=PX即为降维到k维后的数据。