【PHP开源代码栏目提醒】:网学会员鉴于大家对PHP开源代码十分关注,论文会员在此为大家搜集整理了“基于OpenCV的人脸图像预处理技术研究 - 期刊论文”一文,供大家参考学习
2012 年 8 月 韶关学院学报 自然科学 Agu.2012第 33 卷 第8期 Journal of Shaoguan University Natural Science Vol.33 No.8 基于 OpenCV 的人脸图像预处理技术研究 梁永霖 (韶关学院 计算机科学学院, 广东 韶关 512005) 摘要 :对 采 集到 的 人 脸 图像 进 行 预处 理 和 训 练 ,以 改 善 图像 的 视 觉 效果 ,提 高 图像 的 清 晰 度,并 且 使 图 像 更 有 利 于 计算机处理,便于对图像进行分割和边缘检测,从而提高人脸图像人别的准确率,为人脸的提 取 特 征值 和 识 别 等操 作做好准备 . 利用 PCA 人脸识别方法,实现简单且识别准确率高,OpenCV 的特点是实现了图像处理和计 算 机 视觉 方面的很多通用算法,实验结果表明,通过预处理后的人脸图像识别效果更好,识别速度更快 . 关键词:人脸识别;PCA ;人脸图像预处理;OpenCV ;特征提取 中图分类号:TP391.41 文献标识码:A 文章编号:1007-5348 (2012 )08-0034-04 人脸是一个常见而复杂的视觉模式,人脸所反映的视觉信息在人与人的交流中有着重要的作用和意义,对人脸进行处理和分析在视频监控、出入口控制、视频会议以及人机交互等领域都有着广泛的应用前景. OpenCV 是 Intel 公司支持的开源计算机视觉库,它由一系列 C 函数和少量 C 类构成,实现了图像处理和计算机视觉方面的很多通用算法,可以运行在 Linux/Windows/Mac 等操作系统上,其目标是构建一个简单易用的计算机视觉框架,以帮助开发人员更便捷地设计复杂的计算机视觉相关应用程序 . 它包含的函数覆盖了计算机视觉的许多应用领域,如工厂产品检测、医学成像、摄像机标定、立体视觉和机器人等 〔1〕. 人脸识别的基本过程是:采集人脸图像、预处理图像、训练人脸图像、人脸检测与识别、输出结果 〔2〕. 其中对人脸图像的预处理和训练是关键步骤, 直接影响到检测速度和匹配准确率, 基于此, 本文旨在利用OpenCV 对人脸图像的预处理和训练,为提高人脸检测速度和识别的准确率提供充分的理论依据 .1 人脸识别 PCA 算法 PCA 方法,即特征脸法,是一种经典的人脸识别方法,使用该方法进行人脸识别的基本原理是:将图像向量经 K-L 变换后由高维向量转换为低维向量,并形成低维线性向量空间,即特征子空间,然后将人脸投影到这个低维空间,用所得到的投影系数作为识别的特征向量.识别人脸时,只需将待识别样本的投影系数与数据库中目标样本的投影系数进行对比,以确定与哪一类最接近〔3-4〕. 由于获得图像数据的随意性较大, 可以固定采集的图像在一个阈值来确定精度 .PCA 算法流程图如下: 在训练阶段,利用特征值计算估计出脸部位置坐标,然后将新读入的图像进行特征坐标的投影, 对图像进行训练并获得检测 和 识 别 的 准 确 率 . 若 直 接 用 OpenCV 自 带 分 类 器 haarcas-cade_frontalface_alt.xml 进行人脸检测,有时会出现识别准确率较低的情况.因此,在样本创建之后,要对分类器进行训练,从而形成 图1 PCA 算法过程收稿日期:2012-05-11作者简介:梁永霖(1981- ),男,广东韶关人,韶关学院计算机科学学院讲师,硕士,主要从事社会网络分析,数据库算法等方面的研究 . 第8期 梁永霖:基于 OpenCV 的人脸图像预处理技术研究 35人脸识别库,这个过程由 OpenCV 自带的 haartraining 程序实现,且可执行程序在 OpenCV 安装目录的 bin 目录下. 通过摄像头得到图像数据, 然后用 cvCreateImage ;cvCopy ;cvSaveImage 三个函数就可生成 IplImage 图像 . 在测试阶段, 利用OpenCV 自带的训练器,然后,考虑对训练分类器进行改进和对算法的优化 .2 人脸图像预处理方法 在图像的采集、传输和存储过程中,由于外界因素的影响,往往使图像与原物之间产生某些差异 . 人脸图像因拍摄时间或拍摄角度不同而引起亮度差异较大,采集仪器性能也是识别产生不同效果的因素 . 具体表现为,图像明暗程度不一致,存在不同程度的倾斜 . 人脸图像预处 图2 人脸训练过程理主要有以下目标:把图像变成更易于后续处理的形式;提高对比度,突出人脸特征;去除噪声和其他无用的信息 . 因此,为所采集的人脸图像进行预处理,将提高人脸图像识别和匹配准确率 . 计算机图像处理和计算机、多媒体、智能机器人、专家系统等技术的发展密切相关 . 近年来计算机识别、理解图像的技术发展很快,也就是图像处理的目的除了直接供人观看外,还进一步发展与计算机视觉有关的应用,如邮件自动分检、车辆自动驾驶等 .人脸图像预处理包括了平滑处理、灰度化、归一化直方图〔5〕、使用任意元素腐蚀图像、使用任意元素膨胀图像等 . OpenCV 图像预处理的主要函数: void GetBackImageIplImage src ,IplImage src_back cvCvtColorsrc ,src,CV_RGB2GRAY ;//灰度化 cvErodesrc ,tmp,element ,9;//使用任意结构元素腐蚀图像 cvDilatetmp ,src_back , element ,9;//使用任意结构元素膨胀图像 cvSmoothsrc ,src,CV_GAUSSIAN ,3,1,0;//平滑处理 cvHistogram hist0 ; //定义直方图 histcvCreateHist1 ,n,CV_HIST_ARRAY ,0,1; //创建直方图 cvCalcHistsrc ,hist,0,0; //计算直方图3 实验结果与分析 通过摄像头采集视频人脸图像数据,主要有单幅和多幅人脸、正面和非正面人脸等情况 . 人脸在图像平面内的变换以及光源位置和强度的变化会影响人脸识别的性能,采用几何规范化使人脸图像大小固定,进行直方图归一化,可以消除部分光照的影响,利用对称的从阴影恢复形状技术 〔6-7〕,可以得到一个与光源位置无关的图像 . 原始图像 灰度拉伸变化后的图像 图3 原始图像以及灰度拉伸变化后的图像 36 韶关学院学报 自然科学 2012 年 由图 3 可知,两幅图像处理前后的效果变化可以看出灰度拉伸后增强了图像的对比度,使得图像更加细腻、清晰 . 图4 原图像直方图以及均衡化后的直方图 由图 4 可知,进行了均衡化预处理的图片,直方图的灰度值在〔150250〕有明显拉伸 . 利用 Java 语言实现人脸图像的训练,其中 ExternMethods.photoTrain 为外部调用函数,主要代码如下:class TrainListener implements ActionListener Override Public void actionPerformedActionEvent e Int noExternMethods.photoTrainshowFileLocation.qetText ; System.out.printlnno ; Ifno-1no-2 Ifno-2 JoptionPane.showMessageDialognull ,”请确保图片大小为 92×112” ; Else JoptionPane.showMessageDialognull ,”找不到图片,请检查该路径是否正确及其路径格式” ; } Else JoptionPane.showMessageDialogframe ,”训练成功” ; Match.SetEnabledtrue ; . a 图片识别模式 b 摄像头识别模式 图5 人脸识别样例图 第8期 梁永霖:基于 OpenCV 的人脸图像预处理技术研究 37 人脸识别结果如图 5 所示,a 图为图片模式识别,b 图为摄像头模式识别,在光照条件较好,从正面进行人脸检测的情况下,识别准确率为 100,漏检率为 0.因此,人脸图像经预处理后的识别效果更好 .4 结语 OpenCV 给生物特征提供了一个很好的识别方法,特别是人脸识别,是一种比较前沿的技术,它为系统开发人员提供了一整套图像处理以及图模式分析的通用算法和函数 . 利用 OpenCV 中的函数可以迅速完成人脸图像的预处理和训练,为进一步的人脸检测和识别提供了理论依据 . 基于 OpenCV 人脸识别的方法简单、便捷、可移植性强,能够满足计算机视觉技术在众多环境中的应用,具有明显的优势,为开发视频应用程序、网络视频流处理技术或进行识别算法研究提供了便利 .参考文献:〔1 〕首页 .OpenCV 中文网站〔EB/OL 〕. 〔2012-03-12 〕.http://www.opencv.org.cn/index.php/E9A696E9A1B5.〔2 〕李武军,王崇骏,张炜,等 . 人脸识别研究综述〔J 〕. 模式识别与人工智能,2006 ,191 :58.〔3 〕邓楠 . 基于主成份分析的人脸识别研究〔D 〕. 西安:西北大学 .2006.〔4 〕闫荣华 . 基于统计的人脸识别技术研究〔D 〕. 西安:西北大学 .2006.〔5 〕王家文,李仰军 .MATLAB7.0 图形图像处理〔M 〕. 北京:国防工业出版社,2006.〔6 〕刘向 . 基于几何匹配和分合算法的生物特征识别技术在公安视频监控中人脸识别的应用研究〔D 〕. 长沙:中南大学,2010.〔7 〕李丽君,王志敬 . 一种由阴影恢复物体表面形状算法〔J 〕. 科学技术与工程,2011 , 11 (22 ):5443-5445. The study of the face images processing based on OpenCV LIANG Yong-lin (Institute of Computer Science Shaoguan University Shaoguan 512005 Guangdong China )Abstract :According to the collected face images conducting the processing and training. To improve the im-ages of the visual affection and the clarity of the images which enabled them more easily to computer process-ing facilitating images segmentation and edge detection such as improving the detection accuracy of the faceimages preparing for the face feature extraction values and identification operations. Using PCA face recognitionmethod for its simple and accurate identification rate the characteristics of OpenCV provide many common al-gorithms of image processing and computer vision. The experimental results show that after pretreatment of theimages it has a better face recognition affection and recognition speed.Key words :face recognition ;PCA ;the face images processing ;OpenCV;feature extraction (E D. : O , K )