论文部分内容阅读
随着移动互联网与人工智能技术的发展,基于个人特征的生物识别技术代替传统的身份验证方式已经是大势所趋。而人脸识别是生物识别技术的一个重要组成部分,拥有其他生物识别技术没有的独特优势。本文主要针对Android平台上基于人脸识别的身份认证系统进行了设计和实现。本文的主要工作概括如下:1.对原始图像预处理算法进行了介绍和研究,首先,对采集的图像进行灰度归一化的操作,增强图像对比度,让不同成像条件下拍摄的同一个人的图像保持一致。然后,对于灰度后的图像进行了直方图均衡化的操作,其作用对图像进行非线性拉伸,重新分配图像灰度值,扩展像素个数多的灰度级,压缩像素个数少的灰度级,提高了对比度和灰度色调的变化。最后一步预处理工作是对图像进行滤波操作,消除噪点。2.对Adaboost人脸检测算法的概念进行了介绍,对特征提取算法进行了介绍,对人脸区域进行特征提取,可以有效的降低人脸图像的维数,提高下一步分类器分类识别的效率和准确率。这里重点介绍了基于PCA的特征提取算法,并详细描述了 PCA特征提取的几个过程。3.对人脸识别的概念和分类算法进行了介绍,重点介绍了常见的几种机器学习分类器算法的概念和原理。重点研究了最近邻分类器算法和支持向量机分类器算法。通过分析人脸身份认证系统的使用场景和尽可能提高人脸识别准确率,提出了基于最近邻算法(KNN)和支持向量机算法(SVM)相结合的分类器算法。经过在一些公共数据集上的测试,这种相结合分类器算法比单独使用最近邻算法或支持向量机算法在人脸识别上具有更高的准确率和性能优势。4.整个身份认证系统在Android平台上的实现。在进行系统需求分析后,根据Android系统的特点进行了系统框架的搭建。主要应用了 Android SDK实现界面和摄像头采集图片的工作,用C++语言和OpenCV库实现了图像处理的算法,并用JNI和Android NDK将两者结合起来,构成一个完成的系统。