⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prm.m

📁 这是用matlab编写人脸检测软件
💻 M
字号:
%**********************************************
%  prm algorithm
%  在此算法中,如果没有类k的训练样本,我们则假设类k的均值为0,协方差也为0
%***********************************************
function yClass = prm(Y,trainY,train_label,CLASSNUM)
%*****求其within-class covariance 矩阵*******
ALLNUM = size(trainY,2);
yMean = zeros(size(trainY,1),CLASSNUM); %均值
yClassCount = zeros(1,CLASSNUM);    %K类的个数
yCov = zeros(size(trainY,1),1);
yCovTotal = zeros(size(trainY,1),1);
for temp = 1:ALLNUM
   class_label = train_label(temp);
   yMean(:,class_label) = yMean(:,class_label) + trainY(:,temp);
   yClassCount(class_label) = yClassCount(class_label) + 1;
end
for temp =1:CLASSNUM
    if yClassCount(temp)> 0 
        yMean(:,temp) = yMean(:,temp)./yClassCount(temp);
    end
end
for temp =1:ALLNUM
    class_label = train_label(temp);
    if yClassCount(class_label) >=2 
        yCov = trainY(:,temp) - yMean(:,class_label);
        yCov = yCov .* yCov;
        yCov = yCov./(yClassCount(class_label) -1);
        yCovTotal = yCovTotal + yCov;
    end
end
yCovTotal = yCovTotal./CLASSNUM;
%*******分类器的实现**************
yTemp = Y * ones(1,CLASSNUM);
yCovTemp = yCovTotal * ones(1,CLASSNUM);
yTemp = yTemp - yMean;
yClassifier = sum( (yTemp.* yTemp)./yCovTemp, 1);
[yValue,yClass] = min(yClassifier);





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -