论文部分内容阅读
随着信息时代的发展,当代社会对身份验证的安全性要求越来越高,加快了基于生物特征的身份识别方法发展。其中,人脸识别方法由于凭借其独特的方便性和用户友好性受到重视,成为相关研究领域的热点课题。早期的人脸识别研究主要是基于具有较强约束条件的人脸图象,比如无背景的图象,人脸的远近大小一致,无倾斜与扭转。然而,实际监控环境往往很复杂,背景杂乱变换、人脸大小远近不一、人脸有旋转或仰俯等。本文做的主要工作有:(1)研究了人脸检测的常用方法,包括基于肤色模型的人脸检测、基于Adaboost的人脸检测、基于Faster R-CNN的人脸检测。并通过实验测试发现,基于Faster R-CNN的人脸检测在本系统的实际使用环境下有较高的识别率。(2)摄像头传入的原始图像往往受拍摄条件影响,图像质量不高,所以需要对原始图像进行预处理,包括图像灰度化、图像增强、图像归一化。(3)深入研究了人脸识别的经典算法之一:SRC(Sparse Representation based Classifier)算法。SRC的主要思想是构造一组超完备的字典,观测原始图像在该字典下的映射,再比较重构图像与原始图像的残差,以最小残差准则判别原始图像的类别。实验表明SRC算法对光照和部分遮挡的情况具有较强的鲁棒性。同时,在AR人脸数据库下对比SRC算法在不同的字典构造下的算法识别率,包括下采样、PCA(Principal Component Analysis)、LBP(Local Binary Pattern)、LDA(Linear Discriminant Analysis),并结合系统功能与性能要求,最终选择了SRC+LBP作为本系统的人脸识别算法。(4)通过重写摄像头的SDK(Software Development Kit)部分函数和改写视频流格式,完成了摄像头与计算机端的通信。运用OpenCV和C++开发实现了一个完整的实时人脸识别系统。首先用基于Faster R-CNN的人脸检测方法对传入的视频帧进行人脸检测与定位,再将定位的人脸经过图像预处理,提取其LBP特征,用SRC算法判定人脸类别。该系统能够满足功能和性能需求,具有较强的鲁棒性。