人脸识别系统-开放实验报告范文
- 格式:doc
- 大小:722.50 KB
- 文档页数:12
一、实习背景与目的随着科技的飞速发展,人工智能技术在各个领域得到了广泛应用。
人脸识别技术作为一种生物识别技术,以其高精度、非接触、便捷性等特点,在安防、金融、医疗、教育等多个领域展现出巨大的应用潜力。
为了深入了解人脸识别技术的原理、应用和发展趋势,我于近期在某科技公司进行了为期一个月的人脸识别技术实习。
本次实习的主要目的是:1. 学习人脸识别技术的基本原理和实现方法;2. 了解人脸识别技术的应用场景和发展趋势;3. 通过实际操作,提高自己的编程能力和问题解决能力;4. 为今后从事相关领域的研究和工作打下基础。
二、实习内容与过程1. 人脸识别技术理论学习在实习初期,我重点学习了人脸识别技术的基本原理和实现方法。
主要包括以下几个方面:(1)人脸检测:通过图像处理技术,从图像中检测出人脸区域。
(2)人脸特征提取:对人脸图像进行特征提取,包括人脸轮廓、纹理、颜色等。
(3)人脸比对:将待识别的人脸与数据库中的人脸进行比对,确定其身份。
(4)人脸跟踪:在视频中实时跟踪人脸,实现人脸的连续识别。
通过学习,我对人脸识别技术的原理和流程有了较为全面的认识。
2. 人脸识别系统开发实践在理论学习的基础上,我参与了公司人脸识别系统的开发实践。
主要工作如下:(1)系统需求分析:与客户沟通,了解其对人脸识别系统的具体需求,包括识别精度、识别速度、系统稳定性等。
(2)系统设计:根据需求分析,设计系统架构,包括前端界面、后端服务器、数据库等。
(3)代码编写:使用Python语言和OpenCV、Dlib等开源库,实现人脸检测、特征提取、比对等功能。
(4)系统测试:对系统进行功能测试、性能测试和稳定性测试,确保系统满足客户需求。
在开发过程中,我遇到了许多技术难题,如光照变化对识别精度的影响、人脸遮挡导致的识别失败等。
通过查阅资料、请教同事和不断尝试,我逐步解决了这些问题。
3. 项目总结与反思在实习过程中,我深刻体会到了以下几点:(1)人脸识别技术虽然发展迅速,但仍存在许多挑战,如光照、姿态、表情等因素对识别精度的影响。
人脸识别实习报告一、实习背景及目的随着科技的不断发展,人工智能技术逐渐应用于各个领域,其中人脸识别技术在安防、金融、交通等领域发挥着重要作用。
本次实习,我选择了人脸识别作为研究方向,旨在了解人脸识别技术的原理,掌握人脸识别系统的开发与运用,提高自己在人工智能领域的实践能力。
二、实习内容与过程1. 学习人脸识别技术原理在实习初期,我通过阅读相关文献和资料,对人脸识别技术有了基本的了解。
人脸识别技术主要包括人脸检测、特征提取和相似度匹配三个环节。
人脸检测是指从图像中定位出人脸区域,特征提取是从人脸图像中提取出具有区分度的特征向量,相似度匹配则是根据特征向量计算人脸之间的相似度,从而实现人脸识别。
2. 学习人脸识别算法在人脸识别技术中,算法是核心部分。
目前主流的人脸识别算法有深度学习算法和传统算法。
深度学习算法在人脸识别中取得了显著的成果,如卷积神经网络(CNN)等。
传统算法主要包括特征脸(Eigenface)和局部二值模式(LBP)等。
我通过对比分析,选择了基于深度学习的人脸识别算法进行实践。
3. 开发人脸识别系统为了更好地实践人脸识别技术,我利用开源框架搭建了一个人脸识别系统。
系统主要包括图像预处理、特征提取、相似度匹配和识别输出四个部分。
在图像预处理环节,我对输入的图像进行灰度化、归一化和去噪处理。
特征提取环节采用卷积神经网络模型提取人脸特征。
相似度匹配环节使用欧氏距离计算特征向量之间的相似度。
最后,根据相似度阈值判断是否为人脸识别成功。
4. 测试与优化人脸识别系统在系统开发完成后,我对人脸识别系统进行了测试。
测试数据包括正常光线条件下的人脸图像和不同光照、表情、姿态条件下的人脸图像。
通过测试,我发现系统在光线充足、人脸图像质量较高的情况下识别效果较好。
然而,在光照不足、人脸图像质量较低的情况下,识别效果仍有待提高。
针对这一问题,我对人脸识别系统进行了优化,包括调整相似度阈值、改进特征提取模型等。
人脸识别报告范文
一、实验的背景与目的
人脸识别是一种比较先进的生物识别技术,是利用计算机视觉和图像
处理技术来识别人的脸部特征,判断两张人脸是否为同一个人。
近年来,
人脸识别技术已经被应用于许多安全领域,如门禁系统、人员身份认证系统、消费系统等等,以确保人们的个人信息安全。
本实验的目的是研究和
比较不同类型的人脸识别算法,以达到准确识别人脸的效果。
二、实验方法与流程
本实验主要利用Python语言进行实现,主要流程如下:
1.数据准备:首先收集一定数量的人脸数据作为测试数据,将其存储
在电脑的硬盘中。
2.算法选择:选择不同类型的人脸识别算法,如PCA、LDA、SVM等等,来实现人脸识别的功能。
3.算法实现:将选定的算法应用到测试数据上,以获得准确的识别结果。
4.结果分析:对比不同类型的算法的准确率,以及分析准确率的影响
因素,以期获得更优良的人脸识别效果。
三、实验结果
1.算法的对比
本实验选择了PCA、LDA、SVM算法进行人脸识别实验,实验结果如下:
(1)PCA算法:PCA算法的准确率为97.7%,本实验中,PCA算法的识别精度较高,但识别速度较慢,耗时较多。
(2)LDA算法:LDA算法的准确率为93.2%。
人脸识别需求分析实验报告人脸识别需求分析实验报告引言人脸识别技术作为一种生物特征识别技术,具有广泛的应用前景。
本报告旨在对人脸识别技术进行需求分析,以期为人脸识别系统的开发和应用提供参考。
一、需求分析1.1用户需求用户需要一个准确和高效的人脸识别系统,能够满足以下需求:(1)快速的识别速度:用户需要在短时间内完成大量的人脸识别任务,因此识别速度是系统的重要指标。
(2)高准确率的人脸识别:用户对人脸识别的准确性有很高的要求,系统需要能够正确地识别出不同人脸的特征。
(3)灵活的应用场景:用户需要一个能够适应不同应用场景的人脸识别系统,如门禁系统、考勤系统等。
1.2系统需求系统需要满足以下需求:(1)准确率要求:系统需要能够在复杂的环境下准确地识别人脸信息,如光线变化、角度变化等。
(2)处理速度要求:系统需要能够在短时间内完成识别任务,以提高用户的使用体验。
(3)安全性要求:系统需要保证用户的个人信息安全,不被非法获取和使用。
(4)稳定性要求:系统需要具备较高的稳定性,能够在长时间运行过程中不出现崩溃和错误。
二、需求分析方法本次实验的需求分析方法为问卷调查和系统测试。
通过问卷调查,了解用户对人脸识别系统的需求和期望,并根据用户反馈进行分析。
通过系统测试,对现有的人脸识别算法进行性能测试,以确定系统是否满足用户需求。
三、需求分析结果根据问卷调查的结果和系统测试的数据分析结果,得出以下需求分析结果:3.1用户需求分析结果(1)用户对人脸识别系统的识别速度要求较高,希望系统能够在较短的时间内完成识别任务。
(2)用户对人脸识别系统的准确率要求较高,希望系统能够正确地识别出不同人脸的特征。
(3)用户需要一个灵活的人脸识别系统,能够适应不同的应用场景。
3.2系统需求分析结果(1)系统需要具备较高的准确率,能够在复杂的环境下正确地识别人脸信息。
(2)系统需要具备较高的识别速度,能够在短时间内完成识别任务。
(3)系统需要保证用户的个人信息安全。
实习报告:智能人脸识别考勤系统一、实习背景及目的随着科技的快速发展,人工智能技术逐渐渗透到各行各业,为人脸识别考勤系统带来了新的机遇。
本次实习,我有幸参与了一款智能人脸识别考勤系统的开发与测试工作,旨在了解人脸识别技术在实际应用中的优势和不足,提高自己的实践能力。
二、实习内容与过程1. 了解人脸识别考勤系统的原理和关键技术在实习初期,我通过查阅资料和请教同事,对人脸识别考勤系统的原理和关键技术有了初步了解。
人脸识别考勤系统主要利用计算机视觉和人脸识别技术,实现对员工上下班打卡的自动识别和记录。
其中,人脸识别技术包括人脸检测、特征提取、特征匹配等环节。
2. 参与系统开发与测试在掌握基本原理后,我参与了系统的开发与测试工作。
首先,我们使用开源人脸识别库进行人脸检测和特征提取,然后通过搭建的特征匹配模型实现人脸识别。
在测试过程中,我们针对不同场景、光线、角度等条件进行测试,以验证系统的稳定性和准确性。
3. 分析系统存在的问题并提出优化方案在实际应用中,我们发现系统存在以下问题:识别速度较慢、部分场景下识别准确率不高、易受光照和表情变化影响等。
为解决这些问题,我们提出了以下优化方案:(1)使用卷积神经网络(CNN)进行特征提取,提高识别速度和准确性;(2)对系统进行光照校正,降低光照对识别结果的影响;(3)引入表情识别技术,减少表情变化对识别结果的影响。
4. 撰写实习报告在实习结束后,我对本次实习的内容进行了总结,撰写了实习报告,并对未来人脸识别考勤系统的发展趋势进行了展望。
三、实习收获与反思通过本次实习,我深入了解了智能人脸识别考勤系统的原理和关键技术,提高了自己的实际操作能力。
同时,我也认识到人脸识别技术在实际应用中仍存在一定的局限性,需要不断优化和改进。
此外,我还意识到在团队合作中,沟通和协作能力的重要性。
总之,本次实习让我收获颇丰,我将以此为契机,继续深入学习人工智能相关知识,为未来的工作打下坚实基础。
人脸识别总结报告范文人脸识别技术是一种通过对人脸图像进行分析和比对,识别出人脸身份的技术。
近年来,随着计算机视觉和人工智能技术的快速发展,人脸识别技术在各个领域得到了广泛的应用。
本文将从技术原理、应用领域和发展趋势三个方面对人脸识别进行总结。
人脸识别技术的原理主要包括人脸检测、特征提取和比对识别三个步骤。
人脸检测是指在一张图像中找到人脸的位置和大小,常用的方法有基于特征的方法和基于统计的方法。
特征提取是将人脸图像转换为一组特征向量,常用的方法有主成分分析法和线性判别分析法。
比对识别是将提取到的特征向量与数据库中的样本进行比对,常用的方法有欧氏距离和支持向量机。
通过这些步骤,人脸识别系统能够准确识别出人脸的身份信息。
人脸识别技术在各个领域都有广泛的应用。
在安全领域,人脸识别技术可以用于门禁系统、监控系统等,大大提高了安全性和便利性。
在金融领域,人脸识别技术可以用于身份验证和支付验证,增强了交易的安全性。
在教育领域,人脸识别技术可以用于考勤系统和学生管理,提高了管理效率和准确性。
在医疗领域,人脸识别技术可以用于疾病诊断和个体化治疗,为医疗提供了更多可能性。
在智能家居领域,人脸识别技术可以用于智能门锁和智能家电控制,提升了家居的智能化程度。
人脸识别技术在未来的发展趋势中有着广阔的前景。
随着硬件设备的不断进步,人脸识别的速度和准确度将得到进一步提高。
同时,随着人工智能和深度学习技术的不断发展,人脸识别技术也将变得更加智能化和自动化。
未来人脸识别技术还有望与其他技术相结合,如声纹识别、虹膜识别等,形成更加全面的生物识别系统。
此外,人脸识别技术在隐私保护方面也面临挑战,需要加强对个人信息的保护和合规管理。
人脸识别技术在技术原理、应用领域和发展趋势上都取得了显著进展。
它在安全、金融、教育、医疗和智能家居等领域都有着广泛的应用。
未来,人脸识别技术还将继续发展,为社会带来更多的便利和安全。
然而,同时也需要注意隐私保护和合规管理的问题,确保人脸识别技术的良性发展。
一、实验背景随着科技的飞速发展,人工智能技术在各个领域得到了广泛应用。
人脸识别作为生物识别技术的重要组成部分,因其非接触性、便捷性、安全性高等特点,在安防、金融、医疗等多个领域具有广阔的应用前景。
为了深入了解人脸识别技术,本实验对多种人脸识别方法进行了探究和实验分析。
二、实验目的1. 了解人脸识别技术的基本原理和发展历程。
2. 掌握常见的人脸识别方法及其优缺点。
3. 通过实验验证不同人脸识别方法的识别效果。
4. 分析人脸识别技术所面临的挑战和未来发展趋势。
三、实验内容本实验主要探究以下几种人脸识别方法:1. 局部二值模式(LBP)2. 线性判别分析(LDA)3. 主成分分析(PCA)4. 支持向量机(SVM)四、实验方法1. 数据准备:收集一组人脸图像,包括正面、侧面、不同光照条件等,用于训练和测试。
2. 特征提取:采用LBP、LDA、PCA等方法对人脸图像进行特征提取。
3. 模型训练:使用SVM等分类算法对提取的特征进行训练,建立人脸识别模型。
4. 模型测试:将测试集图像输入训练好的模型,进行人脸识别,并计算识别准确率。
五、实验结果与分析1. LBP方法:LBP方法具有计算简单、特征提取速度快等优点,但识别准确率相对较低。
2. LDA方法:LDA方法能够有效降低特征维度,提高识别准确率,但计算复杂度较高。
3. PCA方法:PCA方法能够提取人脸图像的主要特征,提高识别准确率,但对光照变化敏感。
4. SVM方法:SVM方法在人脸识别领域具有较好的性能,但需要选择合适的核函数和参数。
六、实验结论1. LBP、LDA、PCA等方法在人脸识别领域具有一定的应用价值,但各有优缺点。
2. SVM方法在人脸识别领域具有较好的性能,但需要根据具体问题选择合适的核函数和参数。
3. 人脸识别技术仍面临诸多挑战,如光照变化、姿态变化、遮挡等问题。
七、实验展望1. 探索更高效、准确的人脸识别方法,如深度学习方法。
2. 研究人脸识别技术在更多领域的应用,如安防、金融、医疗等。
一、实习背景随着人工智能技术的飞速发展,人脸识别技术作为一种新兴的生物识别技术,在各个领域都得到了广泛的应用。
为了深入了解人脸识别技术的原理和应用,提高自己的实践能力,我在某科技公司进行了为期一个月的人脸识别系统实习。
二、实习目的1. 熟悉人脸识别技术的原理和流程。
2. 掌握人脸识别系统的开发过程,包括数据采集、预处理、特征提取、模型训练和识别等环节。
3. 提高自己的编程能力和团队协作能力。
三、实习内容1. 人脸识别技术原理实习期间,我首先学习了人脸识别技术的原理。
人脸识别技术主要包括以下几个步骤:(1)人脸检测:通过图像处理技术,从视频流或静态图像中检测出人脸的位置和大小。
(2)人脸预处理:对检测到的人脸进行预处理,包括灰度化、归一化、人脸对齐等。
(3)特征提取:提取人脸图像的特征,如人脸轮廓、纹理、关键点等。
(4)模型训练:利用已标注的人脸数据集,训练人脸识别模型。
(5)人脸识别:将待识别的人脸与训练好的模型进行比对,识别出对应的人脸。
2. 人脸识别系统开发在了解了人脸识别技术的原理后,我开始参与人脸识别系统的开发。
以下是开发过程中的一些关键步骤:(1)数据采集:收集大量的人脸数据,包括不同角度、光照条件、表情等。
(2)数据预处理:对采集到的人脸数据进行预处理,包括人脸检测、人脸对齐、人脸归一化等。
(3)特征提取:采用深度学习算法,如卷积神经网络(CNN),提取人脸图像的特征。
(4)模型训练:利用预处理后的数据,训练人脸识别模型。
(5)系统集成:将人脸识别模型集成到系统中,实现人脸识别功能。
3. 实习成果在实习期间,我参与了以下项目:(1)基于Android的人脸识别门禁系统(2)基于Web的人脸识别考勤系统(3)基于Python的人脸识别视频监控系统以上项目均成功实现了人脸识别功能,并具有一定的实用价值。
四、实习体会1. 理论与实践相结合:通过实习,我深刻体会到理论与实践相结合的重要性。
在理论学习的基础上,通过实际操作,我更好地理解了人脸识别技术的原理和应用。
人脸识别系统报告
一、引言
人脸识别技术是一种用于自动识别人脸相关信息的技术。
它可以通过
图像识别人脸的形状、特征和肤色来识别一个人。
它是一种新兴的生物认
证技术,具有快速、准确、可靠、高度安全的特点。
它在身份验证、访问
控制、智能安防、虚拟现实和机器学习等领域有着广泛的应用。
二、主体
人脸识别技术是一种非常有效的生物认证技术,它通过对拍摄到的人
脸图像进行分析,来识别受测者脸部特征。
它可以识别人脸的轮廓、肤色、特征,以及脸部表情。
该技术只需要一帧照片,就可以识别一个人,准确
度非常高,而且可以抵抗伪装。
人脸识别技术的应用领域很多。
比如,它可以用于身份验证、访问控制、智能安全系统和机器学习等,来帮助机构实施安全许可和实施保密要求。
此外,它还可以用于虚拟现实视频游戏,改善玩家的体验。
三、优势
人脸识别技术具有诸多优势,例如,它可以快速,准确,可靠地认证
受测者身份;它拥有高安全性,不容易被盗用;它可以防止被伪装;它可
以提高智能安全系统的可靠性;它可以改善玩家体验和加强安全防护等等。
四、结论
人脸识别技术是一种新兴的生物认证技术。
实习报告总结:人脸识别技术应用与实践首先,我要感谢学校和实习单位给我提供这次人脸识别实习的机会。
通过这次实习,我对人脸识别技术有了更深入的了解,同时也锻炼了自己的实际操作能力。
在这段实习期间,我收获颇丰,下面我将从实习内容、收获和反思三个方面对这次实习进行总结。
一、实习内容本次实习主要涉及人脸识别技术的应用,包括人脸检测、人脸识别、人脸跟踪等。
实习过程中,我参与了人脸识别系统的开发与测试,学习了OpenCV、Python等技术。
在实习导师的指导下,我完成了人脸检测算法的实现,并对人脸识别算法进行了优化。
此外,我还参与了人脸跟踪项目的开发,实现了在视频流中实时跟踪人脸目标。
二、实习收获1. 技术层面:通过实习,我掌握了人脸识别技术的基本原理,学会了使用OpenCV库进行人脸检测、识别和跟踪。
同时,我对Python编程语言有了更深入的了解,提高了自己的编程能力。
2. 实践能力:在实习过程中,我学会了如何将理论知识运用到实际项目中,提高了自己的动手能力和解决问题的能力。
3. 团队协作:在实习过程中,我与团队成员密切配合,共同完成项目任务。
我学会了如何与他人沟通、协作,提高了自己的团队协作能力。
4. 职业素养:实习过程中,我严格遵守实习单位的规章制度,按时完成工作任务,培养了良好的职业素养。
三、实习反思1. 技术掌握:虽然我在实习过程中学会了人脸识别技术的基本应用,但仍然存在很多不足,需要继续深入学习,提高自己的技术水平。
2. 理论知识:实习过程中,我发现自己在理论知识方面存在漏洞,需要加强学习,为将来的研究工作打下坚实基础。
3. 沟通协作:虽然我在实习过程中学会了与他人沟通协作,但仍有提升空间。
今后,我要更加注重团队协作,提高自己的沟通技巧。
4. 时间管理:实习期间,我有时因为时间管理不当,导致工作效率低下。
今后,我要合理安排时间,提高自己的工作效率。
总之,这次人脸识别实习让我收获颇丰,不仅提高了我的技术水平,还锻炼了我的实践能力。
开放性实验报告《人脸识别系统》小组成员:姓名李宏利学号 *********指导老师:*** 2011 年12 月【实验名称】人脸识别系统【实验目的】 1.对人脸识别系统的图像预处理有一定的掌握;2.对后续操作只简单了解;3.通过功能模块实现人脸识别系统。
【实验内容】 1.系统需求分析;2.系统设计;3.系统实现。
【实验步骤】一、系统需求分析1、目的与背景当前社会上频繁出现的入室偷盗、抢劫、伤人等案件的不断发生,鉴于此种原因,防盗门开始走进千家万户,给家庭带来安宁;然而,随着社会的发展,技术的进步,生活节奏的加速,消费水平的提高,人们对于家居的期望也越来越高,对便捷的要求也越来越迫切,基于传统的纯粹机械设计的防盗门,除了坚固耐用外,很难快速满足这些新兴的需求:便捷,开门记录等功能。
广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。
人脸识别生物特征识别技术所研究的生物特征包括脸、指纹、手掌纹、虹膜、视网膜、声音(语音)、体形、个人习惯(例如敲击键盘的力度和频率、签字)等,相应的识别技术就有人脸识别、指纹识别、掌纹识别、虹膜识别、视网膜识别、语音识别(用语音识别可以进行身份识别,也可以进行语音内容的识别,只有前者属于生物特征识别技术)、体形识别、键盘敲击识别、签字识别等。
人脸识别主要用于身份识别。
由于视频监控正在快速普及,众多的视频监控应用迫切需要一种远距离、用户非配合状态下的快速身份识别技术,以求远距离快速确认人员身份,实现智能预警。
人脸识别技术无疑是最佳的选择,采用快速人脸检测技术可以从监控视频图象中实时查找人脸,并与人脸数据库进行实时比对,从而实现快速身份识别二.系统设计1)理论知识fisher概念引出在应用统计方法解决模式识别问题时,为了解决“维数灾难”的问题,压缩特征空间的维数非常必要。
fisher方法实际上涉及到维数压缩的问题。
fisher分类器是一种几何分类器, 包括线性分类器和非线性分类器。
线性分类器有:感知器算法、增量校正算法、LMSE 分类算法、Fisher分类。
若把多维特征空间的点投影到一条直线上,就能把特征空间压缩成一维。
那么关键就是找到这条直线的方向,找得好,分得好,找不好,就混在一起。
因此fisher方法目标就是找到这个最好的直线方向以及如何实现向最好方向投影的变换。
这个投影变换恰是我们所寻求的解向量*W,这是fisher算法的基本问题。
样品训练集以及待测样品的特征数目为n。
为了找到最佳投影方向,需要计算出各类均值、样品类内离散度矩阵S和总类间离散度矩i阵S、样品类间离散度矩阵b S,根据Fisher准则,找到最佳投影准w则,将训练集内所有样品进行投影,投影到一维Y空间,由于Y空间是一维的,则需要求出Y空间的划分边界点,找到边界点后,就可以对待测样品进行进行一维Y空间的投影,判断它的投影点与分界点的关系,将其归类。
Fisher 法的核心为二字:投影。
1) 一维实现方法(1) 计算给类样品均值向量i m ,i m 是各个类的均值,i N 是i ω类的样品个数。
11,2,...,ii X im X i nN ω∈==∑(2) 计算样品类内离散度矩阵i S 和总类间离散度矩阵w S1()()1,2,...,iTi i i X w ii S X m X m i nS S ω∈==--==∑∑(3) 计算样品类间离散度矩阵b S1212()()Tb S m m m m =--(4) 求向量*W我们希望投影后,在一维Y 空间各类样品尽可能地分开,也就是说我们希望两类样品均值之差(12m m -)越大越好,同时希望各类样品内部尽量密集,即希望类内离散度越小越好,因此,我们可以定义Fisher 准则函数:()T b F Tw W S WJ W W S W =使得()F J W 取得最大值的*W 为*112()w W S m m -=-(5) 将训练集内所有样品进行投影*()T y W X =(6) 计算在投影空间上的分割阈值0y 在一维Y 空间,各类样品均值i m 为11,2,...,ii y im y i n N ω∈==∑样品类内离散度矩阵2i s 和总类间离散度矩阵w s22()ii i y s y m ω∈=-∑21w i i s s ==∑【注】【阈值0y 的选取可以由不同的方案: 较常见的一种是1122012N m N m y N N +=+另一种是121201ln(()/())22m m P P y N N ωω+=++-】(7) 对于给定的X ,计算出它在*W 上的投影y (8) 根据决策规则分类0102y y X y y X ωω>⇒∈⎧⎨<⇒∈⎩2) matlab 编程1、matlab程序分为三部分。
程序框图如下图所示。
三、 系统实现这个函数将所有训练样本的二维图像转换成一维列向量。
接着,它把这些一维列向量组合到一行里面构造出二维向量T ,即每个单元的信息量是一幅图片 PCA 提取特征值Fisher 分类器设计。
从fisher 线性空间中提取图像这个函数将源图像提取成特征脸,然后比较它们之间的欧几里得距离mainCreatDataBase FisherfaceCore Recognition打开程序进行人脸识别变化角度四、代码实现A.第一部分:CreatDatabase.mfunction T = CreatDatabase(TrainDatabasePath)TrainFiles = dir(TrainDatabasePath);Train_Number = 0;%%%%%%%%统计文件数%%%%%%%%%%%%%for i = 1:size(TrainFiles,1)ifnot(strcmp(TrainFiles(i).name,'.')|strcmp(TrainFiles(i).name,'..')|strcmp(Trai nFiles(i).name,'Thumbs.db'))Train_Number = Train_Number + 1;endend%%%%%%%%二维转一维%%%%%%%%%%%%T = [];for i = 1 : Train_Numberstr = int2str(i);%把文件索引转换为字符串格式str = strcat('\',str,'.pgm');str = strcat(TrainDatabasePath,str);img = imread(str);[irow icol] = size(img);temp = reshape(img',irow*icol,1);T = [T temp];endT = double(T);B.第二部分:FisherfaceCorefunction [m_database V_PCA V_Fisher ProjectedImages_Fisher Class_numberClass_population] = FisherfaceCore(T)%%%%%%%%返回值注释%%%%%%%%%%%%m_database --- (M*Nx1)维的训练样本均值%V_PCA --- (M*Nx(P-C)训练样本协方差的特征向量%V_Fisher --- ((P-C)x(C-1)) 最大的(C-1)维J = inv(Sw) * Sb的特征矩阵%ProjectedImages_Fisher --- ((C-1)xP)维训练样本,这些样本从fisher线性空间中提取%%%%%基本量赋值 %%%%%%%%%Class_number=(size(T,2))/9; 类的数目,除以8取决于样本中有多少类人Class_population = 9;%每一类的图像数目P = Class_population * Class_number; %总训练样本的数目%%%%%计算均值%%%%%m_database = mean(T,2);%°包含T每一行均值的列向量%%%%计算方差%%%%%A = T - repmat(m_database,1,P);%%%%%计算特征脸的算法%%%%%%L = A' * A;[V D] = eig(L);V = fliplr(V);%%%%筛选小的特征值%%%%%L_eig_vec = [];dig = fliplr(max(D));for i = 1 : Class_numberL_eig_vec = [L_eig_vec V(:,i)/sqrt(dig(i))];end%%%%计算特征矩阵的协方差矩阵C%%%%%V_PCA = A * L_eig_vec;%V_PCA就是降维后的协方差矩阵ProjectedImages_PCA = [];for i = 1 : Ptemp = V_PCA'*A(:,i);ProjectedImages_PCA = [ProjectedImages_PCA temp];end%%%%%fisher分类器的设计方法%%%%%%%%%计算在特征空间里面每一个类的均值%%%%%m_PCA = mean(ProjectedImages_PCA,2) %特征空间总的均值m = zeros( Class_number, Class_number );Sw = zeros( Class_number, Class_number);Sb = zeros( Class_number, Class_number);for i = 1 : Class_numberm(:,i) =mean( ( ProjectedImages_PCA(:,((i-1)*Class_population+1):i*Class_population) ),2 )'; %每一类的样本分别求均值S = zeros(Class_number, Class_number);for j = ((i-1) * Class_population + 1) : ( i*Class_population ) S = S + ( ProjectedImages_PCA(:,j) - m(:,i)) * (ProjectedImages_PCA(:,j) - m(:,i))';endSw = Sw + S;Sb = Sb + (m(:,i) - m_PCA) * (m(:,i) - m_PCA)'end%%%%%%¼计算fisher判别准则,目标是获取最大类间离散度和最小类内离散度%%%%%%%%%%%%ÎÒÃǵÄÄ¿±êÊÇ£º»ñÈ¡×î´óÀà¼äÀëÉ¢¶ÈºÍ×îСµÄÀàÄÚÀëÉ¢¶È¡£[J_eig_vec, J_eig_val] = eig(Sb,Sw);J_eig_val = max(J_eig_val);J_eig_vec = fliplr(J_eig_vec);%%%%%%去除0特征根和排序for i = 1 : Class_number - 1V_Fisher(:,i) = J_eig_vec(:,i);%fisher判别法将N维映射到C-1维end%%%%%从fisher线性空间中提取图像%Yi = V_Fisher' * V_PCA' * (Ti - m_database)for i = 1: Class_number * Class_populationProjectedImages_Fisher(:,i) = V_Fisher' * ProjectedImages_PCA(:,i); end%由PCA过渡到FLD%img_fisher = w_fisher' * pca_img;%ProjectedImages_Fisher = V_Fisher' * ProjectedImages_PCA;C.第三部分:Recognition.mfunction OutputName = Recognition(TestImage, m_database, V_PCA, V_Fisher,ProjectedImages_Fisher, Class_number, Class_population)%函数描述:这个函数将源图像提取成特征脸,然后比较它们之间的欧几里得距离%输入量: TestImage ---测试样本的路径%%V_PCA --- (M*Nx(P-C)训练样本协方差的特征向量%V_Fisher --- ((P-C)x(C-1)) 最大的(C-1)维J = inv(Sw) * Sb的特征矩阵%ProjectedImages_Fisher --- ((C-1)xP)维训练样本,这些样本从fisher线性空间中提取%Class_number---类的数目%Class_population---每一类图像的数目%返回值: OutputName ---在训练样本中的被识别的图像的名字Train_Number = size(ProjectedImages_Fisher,2); %%%%%%%%%%%%%%%%%%%%%%%%从测试样本中提取PCA特征%%%%%%%%%%%%%%%%%%% InputImage = imread(TestImage);temp = InputImage(:,:,1);[irow icol] = size(temp);InImage = reshape(temp',irow*icol,1);Difference = double(InImage)-m_database;ProjectedTestImage = V_Fisher' * V_PCA' * Difference; %%%%%%%%%%%%%%%%%%%%%%%%计算欧几里得几何距离%%%%%%%%%%%%%%%%Euc_dist = [];for i = 1 : Train_Numberq = ProjectedImages_Fisher(:,i);temp = ( norm( ProjectedTestImage - q ))^2 ;Euc_dist = [Euc_dist temp];endEuc_dist2 = [];for i=1 : Class_numberdist = mean(Euc_dist(((i-1)*Class_population+1):(i*Class_population))); Euc_dist2 = [Euc_dist2 dist];end[Euc_dist_min ,Recognized_index] = min(Euc_dist2);Recognized_index = (Recognized_index - 1) * Class_population + 1; OutputName = strcat(int2str(Recognized_index),'.pgm');。