开源软件名称(OpenSource Name):cuijiaxun/FaceRecognitionByMatlab开源软件地址(OpenSource Url):https://github.com/cuijiaxun/FaceRecognitionByMatlab开源编程语言(OpenSource Language):MATLAB 100.0%开源软件介绍(OpenSource Introduction):FaceRecognitionByMatlabThis 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 级联检测 就写了一下,还没有整合进程序 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论