基于OpenCV机器视觉库的人脸图像预处理方法研究与实现
2012-07-13刘静
刘静
(渭南师范学院 统计科学与社会计算研究所,陕西 渭南 714000)
预处理是人脸图像识别过程的基础环节,预处理能够有效消除和降低人脸图像中因噪声、光照、背景等带来的不利于提高识别率的方面,而恢复、保留和增强有利于提高识别率的图像特征,并能有效降低图像维数,降低特征提取和识别的复杂度[1-2]。
文中的研究是在OpenCV体系结构的基础上进行的。OpenCV是Intel公司开发的图像处理和计算机视觉函数库,是一套由一些C函数和C++类所组成的库,基于Intel处理器指令集对代码进行了优化,对于开发实时应用程序具有很强的针对性。
1 图像增强
人脸图像中不可避免地存在噪声信息。为了提高人脸识别的效果,必须对人脸图像进行增强处理,以便消除图像中的噪声信息。图像增强可以使得原本不清晰的图像变得清晰,可以有选择地丰富信息量、强调图像中人们感兴趣的特征,弱化图像中不需要的特征[3-4]。
针对人脸图像的特点和效果,应选择不同的图像增强算法[5]。文中有针对性地采用了中值滤波和直方图均衡化等方法来增强人脸图像,消除图像噪声,提高图像质量,从而达到提高识别率和识别精度的目的[6-7]。
1.1 中值滤波
中值滤波算法常用于图像模式识别领域,该算法能有效去除图像噪音,尤其是对去除椒盐噪声更加有效,而且能较好地保留图像边缘的锐度和图像细节特征[8]。
算法1:中值滤波算法
1) 选取一个(2n+1)×(2n+1)的滑动窗口(一般为 3×3 或者 5×5)。
2)让其在图中沿着图像的行方向或列方向(一般从左至右、从上到下)逐个像素滑动,使得窗口中心与图中某个像素位置重合。
3)读取窗口中各对应像素的灰度值。
4)将这些像素按照灰度级做大小排序。
5)选择该组的中间值作为输出像素值。
6)用这个中间值代替窗口中心位置像素的灰度值。用数学公式表达为:
式中:g(x,y)为中值滤波处理后(x,y)处的像素灰度值;f(x,y)为中值滤波处理前(x,y)处的像素灰度值;S 表示模板窗口;i表示窗口水平尺寸;j表示窗口垂直尺寸。本文用中值滤波算法有效消除了人脸图像的大部分噪声,而且较好地保持了人脸图像的细节特征[9],中值滤波处理人脸图像的结果如图1所示。
图1 中值滤波Fig.1 Median filtering
1.2 直方图均衡化
算法2:直方图均衡化算法[10]
1)计算原图像的归一化灰度级别及其分布概率;
2)求变换函数的各灰度等级值sk;
3)将所得变换函数的各灰度等级值转化成标准的灰度级别值;
5) 用 sk代替(l=0,1,…,L-1),进而求新图像中各灰度级别的分布概率;
6)作出经均衡化后输出图像的直方图。
使用直方图均衡化[11]处理人脸图像的结果如图2所示。
2 实验结果分析
图2 直方图均衡化Fig.2 Histogram equalization
本实验基于VC++6.0和Matlab开发环境,并借助了OpenCV机器视觉库,实验图像库采用了ORL人脸库中的人脸图像。
人脸识别系统中能够增强图像、去除噪声的算法较多,各算法都有其适用范围和特点。在本文的实验中仅选择了本文所述的图像增强和去噪算法,并进行了实验和对比分析。
从图1可以看出,中值滤波算法能够有效处理图像噪声,相比较3种中值滤波方式,对于处理ORL库中的人脸图像,3×3中值滤波效果较好,处理后的图像能够较多地保留图像的细节特征,轮廓信息明显,对图像的轮廓信息和细节损失较小。因此,3×3中值滤波算法适宜于作为人脸识别过程中预处理阶段的图像增强算法。
从图2可以看出,直方图均衡化方法用来处理中值滤波后的图像具有优势。
3 结 论
不同环境下实验结果分析表明,在人脸识别系统的预处理阶段,应根据处理的图像对象的不同,有针对性的选择图像处理算法。在系统执行时间要求不高的情况下,可以综合多种算法的处理结果,以达到理想的效果。
从整体上看,在VC++开发环境下,基于OpenCV机器视觉库的预处理算法的执行速度要优于Matlab开发环境下的预处理算法的执行速度,这也充分体现OpenCV库函数的编码在基于Intel处理器指令集进行优化后的优势。因此,基于OpenCV机器视觉库可以作为开发人脸识别系统的开发工具。
[1]LI Gang,GAO Zheng.A survey of automatic human face recognition[J].Application Research of Computers,2003,8(4):4-9.
[2]Hong Z,YAN Yong,Lades M.Face recognition eigenface,elastic matching and neural nets[J].Proceedings of the IEEE,1997,85(9):312-325.
[3]Gonzalez R C.Digital Image Processing[M].Translated by Qiu-QI Ruan,Zhi-Yu Ruan.Beijing:Publishing House of Electronics Industry,2003.
[4]Yuan T,Tieniu T,Yunhong W.Do singular values contains adequate information for face recognition[J].Pattern Recognition, 2003,36(3):649-655.
[5]王志良,孟秀艳.人脸工程学[M].北京:机械工业出版社,2008.
[6]王志良,陈锋军,薛为民.人脸表情识别方法综述[J].计算机应用与软件,2003,20(12):63-66.
WANG Zhi-liang,CHEN Feng-jun,XUE Wei-min.A survey of facial expression recognition[J].Computer Applications and Software, 2003,20(12):63-66.
[7]魏冬冬.静态人脸识别技术探讨[J].现代计算机,2006,23(7):58-61.
WEI Dong-dong.The technology of static human face recognition[J].Modern Computer,2006,23(7):58-61.
[8]Gonazlez R C,Woods R E.Digital image processing[M].Second Edition,Beijing:Electronic Industry Press,2007.
[9]姚敏.数字图像处理[M].北京:机械工业出版社,2006.
[10]TIAN Hai-jun.Research and implementation offace recognition based on surport vector machine[D].Changsha:National University of Defense Technology,2009.
[11]WANG Zhi-yun,HUANG Meng-wei,HU Po,et al.Image enhancement based on histograms and its realization with MATLAB[J].Computer Engineering&Science,2006,28(2):54-56.