基于Alexnet深度学习神经网络的人脸识别算法matlab仿真

1.算法理论概述

       人脸识别是计算机视觉领域中一个重要的研究方向,其目的是识别不同人的面部特征以实现自动身份识别。随着深度学习神经网络的发展,基于深度学习神经网络的人脸识别算法已经成为了当前最先进的人脸识别技术之一。本文将详细介绍基于AlexNet深度学习神经网络的人脸识别算法的实现步骤和数学公式。


1.1数据预处理


      在进行人脸识别之前,需要进行数据预处理,将原始的人脸图像转换为可以被深度学习神经网络处理的格式。数据预处理的步骤包括图像裁剪、大小归一化、灰度化和像素值标准化等。其中,图像裁剪是指将原始图像中的人脸部分裁剪出来,大小归一化是指将裁剪后的人脸图像大小调整为固定大小,灰度化是指将彩色图像转换为灰度图像,像素值标准化是指将灰度图像的像素值进行归一化处理,以便于神经网络学习。


1.2神经网络架构


        采用AlexNet深度学习神经网络进行人脸识别。AlexNet是一个经典的卷积神经网络,由Alex Krizhevsky、Ilya Sutskever和Geoffrey Hinton在2012年提出。其由5个卷积层、3个全连接层和最终的分类器层组成。AlexNet的架构如下所示:


        其中,输入层接收大小为227×227×3的人脸图像,第一个卷积层提取96个特征图,每个特征图大小为55×55,步长为4,对应的卷积核大小为11×11×3。第二个卷积层提取256个特征图,每个特征图大小为27×27,步长为1,对应的卷积核大小为5×5×48。第三个、第四个和第五个卷积层分别提取384个、384个和256个特征图,每层特征图大小和步长与第二个卷积层相同。最后,全连接层和分类器层对提取的特征进行分类。


1.3损失函数

      本文采用softmax交叉熵损失函数进行训练。softmax交叉熵损失函数的数学公式如下所示:



      其中,$N$表示样本数量,$M$表示类别数量,$y_{ij}$表示第$i$个样本的真实标签,$\hat{y}_{ij}$表示第$i$个样本在第$j$个类别上的预测概率。


1.4训练过程


      采用随机梯度下降法进行训练。具体来说,每次从训练集中随机选择一个batch的样本,将其输入神经网络中进行前向传播,得到每个类别的预测概率。然后,根据预测结果和真实标签计算损失函数,并利用反向传播算法计算每个参数的梯度。最后,根据梯度更新参数,并重复以上步骤直到达到指定的训练轮数或者达到收敛条件。


1.5测试过程

      在测试过程中,将测试集中的每个样本输入训练好的神经网络中,得到每个类别的预测概率。然后,根据预测概率选择概率最大的类别作为该样本的预测标签。最后,将预测标签和真实标签进行比对,计算准确率、召回率、F1值等评价指标。




2.算法运行软件版本

MATLAB2021a


[if !supportLists]3.     [endif]算法运行效果图预览


4.部分核心程序

trainingOptions("rmsprop","InitialLearnRate",learning_rate,'MaxEpochs',100,'MiniBatchSize',16,'Plots','training-progress');

 %使用 Train 训练网络,得到新的网络模型 newnet 和训练信息info

 [newnet,info]    = trainNetwork(Train, ly, opts);%对测试集的图像进行分类,得到分类结果 predict 和分类概率scores

 [predict,scores] = classify(newnet,Test);%对测试集的图像进行分类,得到分类结果 predict 和分类概率scores

 names  =Test.Labels; %获取测试集中的标签

 pred   =(predict==names);%判断分类结果是否正确,得到一个逻辑数组pred

 s      =size(pred);%获取 pred 的大小

 acc    =sum(pred)/s(1); %计算分类准确率acc

 fprintf('The accuracy of the test set is %f %%\NUM',acc*100);%打印测试集的分类准确率





nameofs01 = '1';

nameofs02 = '2';



% 加载待分类的图像,并进行分类

img11    = imread('11.jpg');

img11    = imresize(img11,[227 227]);

predict11 = classify(newnet,img11);

img12    = imread('12.jpg');

img12    = imresize(img12,[227 227]);

predict12 = classify(newnet,img12);

img13    = imread('13.jpg');

img13    = imresize(img13,[227 227]);

predict13 = classify(newnet,img13);



img21    = imread('21.jpg');

img21    = imresize(img21,[227 227]);

predict21 = classify(newnet,img21);

img22    = imread('22.jpg');

img22    = imresize(img22,[227 227]);

predict22 = classify(newnet,img22);

img23    = imread('23.jpg');

img23    = imresize(img23,[227 227]);

predict23 = classify(newnet,img23);






figure;

subplot(231);

imshow(img11);

if predict11=='s01'

 title(['人脸检测结果:',nameofs01]);

elseif predict11=='s02'

 title(['人脸检测结果:',nameofs02]);

elseif predict11=='s03'

 title(['人脸检测结果:',nameofs03]);

end 


subplot(232);

imshow(img12);

if predict12=='s01'

 title(['人脸检测结果:',nameofs01]);

elseif predict12=='s02'

 title(['人脸检测结果:',nameofs02]);

elseif predict12=='s03'

 title(['人脸检测结果:',nameofs03]);

end 



subplot(233);

imshow(img13);

if predict13=='s01'

 title(['人脸检测结果:',nameofs01]);

elseif predict13=='s02'

 title(['人脸检测结果:',nameofs02]);

elseif predict13=='s03'

 title(['人脸检测结果:',nameofs03]);

end 





subplot(234);

imshow(img21);

if predict21=='s01'

 title(['人脸检测结果:',nameofs01]);

elseif predict21=='s02'

 title(['人脸检测结果:',nameofs02]);

elseif predict21=='s03'

 title(['人脸检测结果:',nameofs03]);

end 


subplot(235);

imshow(img22);

if predict22=='s01'

 title(['人脸检测结果:',nameofs01]);

elseif predict22=='s02'

 title(['人脸检测结果:',nameofs02]);

elseif predict22=='s03'

 title(['人脸检测结果:',nameofs03]);

end 



subplot(236);

imshow(img23);

if predict23=='s01'

 title(['人脸检测结果:',nameofs01]);

elseif predict23=='s02'

 title(['人脸检测结果:',nameofs02]);

elseif predict23=='s03'

 title(['人脸检测结果:',nameofs03]);

end 

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容