Java PCA人脸识别及其实现技术

Java PCA人脸识别及其实现技术,java,face-recognition,pca,Java,Face Recognition,Pca,我正在做一个使用PCA算法的faiale识别项目。我必须用JAVA开发这个项目,我对这个算法的实现有一些问题: 第一:在计算平均面(meanface)时,我是否应该考虑到我正在处理图像,这意味着所有图像向量的平均值不能用代数中相同的方法计算,但我们应该对每个像素的相同分量进行求和(例如:红与红、绿与绿等),然后将结果除以图像向量的数量。这对不对 如果前面的方法是正确的,那么向量的乘法呢?当我处理图像向量时,应该如何计算它 第二:假设前面的主题不正确,当我计算图像的特征向量时(使用算法中解释的代数

我正在做一个使用PCA算法的faiale识别项目。我必须用JAVA开发这个项目,我对这个算法的实现有一些问题:

第一:在计算平均面(meanface)时,我是否应该考虑到我正在处理图像,这意味着所有图像向量的平均值不能用代数中相同的方法计算,但我们应该对每个像素的相同分量进行求和(例如:红与红、绿与绿等),然后将结果除以图像向量的数量。这对不对

如果前面的方法是正确的,那么向量的乘法呢?当我处理图像向量时,应该如何计算它


第二:假设前面的主题不正确,当我计算图像的特征向量时(使用算法中解释的代数方法)当试图使用特征向量和变换矩阵检索源图像时,结果向量包含的像素数量非常庞大,无法表示任何图像,那么我的问题是什么呢

所有图像应首先转换为灰度。然后,以与所有图像中每个像素的代数平均值相同的方式计算平均面,因此所有图像中所有像素(0,0)的平均值就是平均面的像素(0,0),依此类推

所有其他计算均按像素进行


如果没有,则要将rgb转换为灰度,请使用p=0.587*红色+0.299*绿色+0.114*蓝色

首先将所有图像转换为灰度。然后,以与所有图像中每个像素的代数平均值相同的方式计算平均面,因此所有图像中所有像素(0,0)的平均值就是平均面的像素(0,0),依此类推

所有其他计算均按像素进行


如果您没有这个功能,请使用p=0.587*红色+0.299*绿色+0.114*蓝色将rgb转换为灰度。您能准确地解释一下从何处获得的巨大数字吗?然后我可以帮助您了解发生了什么。在PCA识别过程中,我遇到的最大数字是数千,尽管许多特征脸包含的数字小于0。为了进一步解释,我添加了前面的步骤,我想知道是否有一个先决条件,我应该使用这种算法的图像类型,例如,pixelsIve中不包含alpha参数的图像从未使用过jama库,因此在实现该库时帮不了你太多。特征值在哪里?我假设它们可以从E中返回,或者E中的向量已经排序了吗?你能确切地解释一下从哪里得到这些巨大的数字吗?然后我可以帮助你理解发生了什么。在PCA识别过程中,我遇到的最大数字是数千,尽管许多特征脸包含的数字小于0。为了进一步解释,我添加了前面的步骤,我想知道是否有一个先决条件,我应该使用这种算法的图像类型,例如,pixelsIve中不包含alpha参数的图像从未使用过jama库,因此在实现该库时帮不了你太多。特征值在哪里?我假设它们可以从E返回,或者E中的向量已经排序了吗?