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

📄 renlianchaoshang.txt

📁 重要的人脸朝上代码!需要的可以自己下!需要的加我2531459
💻 TXT
字号:
% 前向BP神经网络人脸朝向识别
%    zgzhang
%   2007-5-31

clc;
clear all;
for i = 0:271
    imgname = strcat(int2str(i),'.pgm');
    A = imread(imgname,'pgm');
    B = double(A)./255;
    for j = 0:31
        p(j*30+1:(j+1)*30,i+1) = B(1:30,j+1); 
    end
    n = rem(i,4);
    switch n
        case 0
            t(:,i+1) = [0.9 0.1 0.1 0.1];
            %朝左
        case 1
            t(:,i+1) = [0.1 0.9 0.1 0.1];
            %向右
        case 2
            t(:,i+1) = [0.1 0.1 0.9 0.1];
            %正面
        case 3
            t(:,i+1) = [0.1 0.1 0.1 0.9];
            %向上
    end
end
save value p t;

clear all;
load value p t;
PR(1:960,1) = 0;
PR(1:960,2) = 1;
net = newff(PR,[3 4],{'logsig' 'logsig'},'traingdx','learngdm');
net.trainParam.epochs = 10000;
net.trainParam.goal = 0.001;
net.trainParam.show = 100;
net.trainParam.lr = 0.05;
net =train(net,p,t);
save NET1 net;

clear all;
load NET1 net;
while 1
    testname = input('please input a test image:','s');
    A = imread(testname,'pgm');
    B = double(A)./255;
    for j = 0:31
        p(j*30+1:(j+1)*30,1) = B(1:30,j+1); 
    end
    [Y,Pf,Af] = sim(net,p);
    %imshow(A);
    %imshow(B);
    if Y(1) >= 0.8
        disp('The man face to left');
    end
    if Y(2) >= 0.8
        disp('The man face to right');
    end
    if Y(3) >= 0.8
        disp('The man face to straight');
    end
    if Y(4) >= 0.8
        disp('The man face to up');
    end
end

⌨️ 快捷键说明

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