ORL3 icon indicating copy to clipboard operation
ORL3 copied to clipboard

Face recognition implement based on LDA, PCA and SVM.

@vision 3 @author:马旭 @tel:13952522076 @email:[email protected]

预处理数据preprocess: 这个过程是首先将样本通过PCA降维提取信息,然后将降维后的样本通过LDA降维,分类为15类,所以降维后维数不能高于(15-1)类。这里降维到13维。

训练多分类multi: 这里使用的是Maltas自带的svm。我们做的是one-vs-rest。将样本类别拆为第一类和其他类,第二类和其他类。。。 假若有n类样本,那么分类器既有n-1个。将分类器放入数组中,循环判别。

测试predict: 我这里在one-vs-rest时,将1作为某一类,-1作为其他类,然后分类。这样每一个分类器分类对样本训练就会得到一个矩阵(大小应该为 样本个数X分类器个数),最后一列添加1向量。判断第几个出现1就是第几类。 这样做的目的是为了减少每个判断时候的for循环,防止嵌套for循环,提高运行速度。