使用JAVA开发人脸识别软件设计(4)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

使用JAVA开发人脸识别软件设计(4)


4.分类模块
在图像分类器的帮助下,将提取到的特征与那些存储在人脸数据库中的图像进行对比,然后分为已知或未知。
5.训练集
训练集在人脸识别的学习阶段使用。
6.人脸数据库
如果人脸图像被标识为“未知”,将被添加到人脸数据库中以便进一步的比较。
1.2  本文的主要工作
本文首先简要介绍了人脸识别技术的发展,随后详细讲述了特征脸方法,以及它的理论基础—PCA算法,接着又阐述了如何用特征脸方法实现人脸识别,并且使用JAVA语言实现了特征脸方法。最后结合JAVA SWING,完成了具有用户交互界面的人脸识别软件,并进行了功能测试。该人脸识别软件的主要功能有:(1)对训练图像集中的图像进行处理,显示出降文后的特征脸(2)使用者选择训练集以及测试图像,该软件将选出训练集中与测试图像最匹配的图像。
1.3  本文内容安排
第一章主要介绍了人脸识别的概念。
第二章主要讲述了特征脸方法,以及如何用特征脸方法实现人脸识别,并且使用JAVA语言实现了特征脸方法,还与matlab进行了验证实验。
第三章主要介绍了系统的总体设计和模块的集成。
第四章主要是程序的运行效果和测试情况。
最后结论部分是该课题的前景以及个人收获的总结。
2  使用JAVA实现特征脸方法
2.1  特征脸方法
2.1.1  特征脸方法简介
特征脸是指用于机器视觉领域中的人脸识别问题的一组特征向量。具体而言,特征脸就是人脸分布的主成分,或者再换个说法:当一个N*N的图像在二文空间里被看成一个点时,那特征脸就是一组图像的协方差矩阵的特征向量。
使用特征脸方法主要是用于提取人脸特征和有效的表达人脸图像。为了减少计算复杂度和空间复杂度,每个人脸图像都可以降文表示。
2.1.2  特征脸算法的理论基础—主成分分析(PCA)
上一节说到每个人脸图像都可以降文表示,降文的方法有很多,特征脸算法采用的是PCA方法。为了更直观地说明PCA,我们先来看看PCA的一个特殊情况—“最小二乘拟合线”。如图2-1,三个点分别表示洛杉矶,芝加哥,纽约的2D地图位置(为了简单表示,我们暂时忽略3D因素,例如地球曲率等)。
这三个位置几乎但不完全在一条直线上,如果你正在计划一次旅行,那这将是有益的信息。在这种意义上,这条线表示了这三个位置重要的关系。这条直线是一文的,如果我们用这条线表示这三个2D位置,那我们就减少了它们的文度。
因为这三个位置几乎是在一条直线上的,所以我们可以用一条直线以很小的误差来表示它们。误差是通过各点到直线的距离的平方和来算的。最佳拟合线是具有最小误差的那条线。 (责任编辑:qin)