Skip to content

Latest commit

 

History

History
73 lines (58 loc) · 1.77 KB

README.md

File metadata and controls

73 lines (58 loc) · 1.77 KB

FaceRecognitionByMatlab

This program is based on the Adaboost Algorithm and Haar Feature 背景阐述 开发一个纯Matlab下的人脸识别系统其实非常有益,因为Matlab具有极强的图像处理功能。然而目前互联网上大多采用OpenCV+C++编译Matlab API的方法进行Matlab人脸识别,我觉得这是完全没有意义的。因此,我选择理解Viola-Jones提出的人脸识别算法,并仅用Matlab进行编程。

1.1主要文件及作用

测试训练及提取特征:运行ExtractAndTrain.m(不建议低gpu配置运行) 测试检测性能:运行testMWSegment.m

数据库 faces文件夹 4422张人脸 正样本 nonfaces文件夹 4381张非人脸 负样本 主程序1 (特征提取及训练) ExtractAndTrain.m 提取和训练的主程序 (建议不要跑,训练要7小时左右) 定义了Haar特征,提取特征,训练,错误率计算 特征提取函数 integralImage.m 求积分图像

extHarrLikeFeature.m 提取Harr-like特征

训练所需要的函数 trainAdaBoostLearner.m 训练100个强分类器,找到区别人脸的阈值

searchBestWeakLearner.m 根据错误率找到最好的weak learner

AdaBoostClassfy.m 强学习分类

calPredictErrorRate.m 计算错误概率

testAdaBoostLearner.m 自我循环样本,测试误判

数据库 HarrLikeFeatures-2.mat 保存提取的特征及训练数据 可以直接使用作为数据库

主函数2 图像检测 testMWSegment.m 窗口检测程序 指定判断算法、窗口数据、划定网格 判断函数 MoveWindowing.m 移动窗口、放缩

ImageBlockRecogByAdaBoost.m 对当前窗口进行识别

ThreshSegement.m 阈值分割

LabelDetectWindow.m 给找到的图像进行加框

级联检测 ImageBlockRecogByCascadeAdaBoost.m 级联检测 就写了一下,还没有整合进程序