【人脸识别】matlab基于CNN卷积神经网络人脸识别GUI界面【源码120期】

 一、简介

matlab基于CNN卷积神经网络人脸识别,人脸识别是计算机视觉领域中的一个重要应用,其目标是自动识别图像中的人脸图像。近年来,随着深度学习和图像处理技术的发展,人脸识别技术在农业、食品安全和自动化生产等领域得到了广泛应用。

二、部分源码

clear;clc;
%% 加载数据
allImages = imageDatastore('jaffe', ...
    'IncludeSubfolders' ,true, ...
    'LabelSource' , 'foldernames' );% 图像加载为图像数据存储
% imageDatastore函数会根据文件夹名称自动标记图像
% 划分训练集(80%)和测试集(20%)
[imgsTrain,imgsTest] = splitEachLabel(allImages,0.8,'randomized');% 显示训练集和测试集的数量
disp(['Number of training images: ',num2str(numel(imgsTrain.Files))]);
disp(['Number of validation images: ',num2str(numel(imgsTest.Files))]);% 构建CNN
layers = [ ...
    imageInputLayer([256 256 3]) % 图像输入层,输入维度为256*256*3
    maxPooling2dLayer([3 3],'Stride',2) % 池化核大小、步长
    convolution2dLayer([5 5],16)
    batchNormalizationLayer
    reluLayer
    maxPooling2dLayer([3 3],'Stride',2)
    convolution2dLayer([5 5],16)
    batchNormalizationLayer
    reluLayer
    maxPooling2dLayer([3 3],'Stride',2)
    convolution2dLayer([3 3],32)
    batchNormalizationLayer
    reluLayer
    softmaxLayer
    classificationLayer]; % 分类层

options = trainingOptions('sgdm', ...% 使用sgdm优化器
    'ExecutionEnvironment','auto', ...% 自动选择运行环境,无GPU自动选CPU,有GPU自动选GPU
    'MaxEpochs',25,...% 批量
    'MiniBatchSize',20, ... % 每批的数据量
    'GradientThreshold',1, ...% 梯度阈值

%% 开始训练
CNNnet = trainNetwork(imgsTrain,layers,options);
save CNNnet CNNnet; 
%% 测试集
y_pred = classify(CNNnet,imgsTest); % 使用训练好的网络测试

三、运行结果

四、matlab版本

MATLAB R2019a

五、学习与交流

文中不足之处请大家多多指教,学习与交流可以联系企鹅:3752243968
文中部分源码仅供参考,若需要全部代码可以私信

  • 17
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值