【人脸识别】基于PCA结合SVM和adaboost实现人脸识别附GUI界面

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机 

⛄ 内容介绍

人脸识别技术是计算机视觉与模式识别领域非常活跃的研究课题,在身份验证、人机界面、可视通信、公安档案管理、基于内容的图像检索等很多方面都有着广泛的应用。然而,到目前为止,由于人脸识别问题自身的复杂性,使得虽然有众多科学研究人员潜心研究多年,也做出了许多的成果,但离彻底解决并达到实用,仍旧有很多关键性的问题需要解决。本文将人脸识别的经典算法PCA(PrinciPle ComPonent Analysis,主成分分析)与Adaboost算法相结合,改进了PCA人脸识别算法,识别率有明显提高。本文的主要工作包括: (1)详细介绍了PCA人脸识别的方法,对Adaboost算法做了理论分析,证明了将二者结合进行人脸识别的可行性; (2)在实现新方法的实验中发现,结合ORL人脸库,PCA+Adaboost方法的识别率明显高于PCA方法和Fisherface方法的识别率; (3)在实现新方法的实验中发现,结合ORL和Yaleb人脸库,PCA+Adaboost方法的识别率显著优于PCA方法的识别率。

⛄ 部分代码

function class = multiAdaboostClassify(TestFace, multiAdaboostStruct)% 采用1对1投票策略将 SVM 推广至多类问题的分类过程% 输入:--TestFace:测试样本集。m*n 的2维矩阵,每行一个测试样本%     --multiAdaboostStruct:多类Adaboost的训练结果,由函数 multiAdaboostTrain 返回,默认是从Mat/multiAdaboostTrain.mat文件中读取%% 输出:--class: m*1 列向量,对应 TestFace 的类标签% 读入训练结果if nargin < 2    t = dir('Mat/multiAdaboostTrain.mat');    if length(t) == 0        error('没有找到训练结果文件,请在分类以前首先进行训练!');    end    load('Mat/multiAdaboostTrain.mat');endnClass = multiAdaboostStruct.nClass; % 读入类别数AdaboostStruct = multiAdaboostStruct.AdaboostStruct; % 读入两两类之间的信息%%%%%%%%%%%%%%%%%%%%%%%% 投票策略解决多类问题 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%m = size(TestFace, 1);Voting = zeros(m, nClass); % m个测试样本,每个样本nPerson 个类别的投票箱for iIndex = 1:nClass-1    for jIndex = iIndex+1:nClass        classes=ADABOOST_te(AdaboostStruct{iIndex}{jIndex},@threshold_te,TestFace);        % 投票        Voting(:, iIndex) = Voting(:, iIndex) + (classes == 2);        Voting(:, jIndex) = Voting(:, jIndex) + (classes == 1);                    end % for jClassend % for iClass% final decision by voting result[vecMaxVal, class] = max( Voting, [], 2 );%display(sprintf('TestFace对应的类别是:%d',class));

⛄ 运行结果

⛄ 参考文献

[1] 李超, 刘铁根, 刘宏利,等. 融合SVM和AdaBoost的近红外人脸识别方法[J]. 激光与红外, 2012, 42(2):5.

[2] 张旭东, 徐和根. 基于PCA和AdaBoost的改进人脸识别算法研究[J]. 中国电子商情:通信市场, 2013(3):8.

[3] 王宇. 基于PCA+ADABOOST方法的人脸识别技术[D]. 中山大学.

[4] 王鸿雁, 孟祥印, 赵阳,等. 基于Adaboost和PCA的嵌入式人脸识别方法[J]. 传感器与微系统, 2017, 36(6):4.

[5] LI Sheng-wen. 基于PCA+AdaBoost算法的人脸识别技术[J]. 计算机工程与应用, 2010(004):046.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab科研辅导帮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值