基于图像分割的人脸检测

时间:2022-10-01 04:45:14

基于图像分割的人脸检测

摘要:人脸检测作为人脸识别中的关键问题之一,近年来受到了越来越多的关注。通常采集到人脸信息非常丰富,无法直接判断脸部信息和背景信息。因此,需要一种有效的方法来解决图像的分类问题。数据挖掘中的聚类分析方法能对大量数据进行有效划分,为人脸检测中的图像分割提供了新的研究思路。

关键词:人脸识别;聚类;边缘检测

中图分类号:TP391.41 文献标识码:A 文章编号:1007-9599 (2011) 21-0000-01

Face Detection Based on Image Segmentation

Li Yan,Chen Hongjie

(Yantai Nanshan University,Yantai 265713,China)

Abstract:As one of the key points in face recognition,face detection has been paid more and more attention in recent years.However,we usually can not directly distinguish the face from the background of massive image information we collected.So,we need an effective method to solve image classification problems.Cluster analysis method in data mining can effectively divide large amounts of data,and provides a new research idea for image segmentation in human face detection.

Keywords:Face recognition;Clustering;Edge detection

一、引言

人脸检测技术起步于20世纪70年代[1,2],到目前为止已经有几十年的发展历史。随着人脸检测的深入研究以及计算机和图像采集等相关技术的发展,学者已将研究重点逐步转移到人脸检测的正确率上。直到90年代后期,研究者通过各种方法提高了人脸检测的正确率。人脸检测开始逐步被应用于商业领域中,并作为该领域的安全防范的重要手段。

本文采用了一种基于聚类的边缘检测方法,并应用于人脸检测。该算法性能较好且效率较高,且研究人员可以随时改变分组数目,时间复杂度较小。实验表明了k-means算法对彩色、灰白的图像都有很好的分割效果。

二、算法的实现过程

本算法的功能主要分为三个部分:第一,图像聚类,对图像用k-means算法进行聚类;第二,边界追踪,提取图像中子区域的边界;第三,人脸定位。

(一)用k-means算法进行图像聚类

算法实现的第二步就是将包含人脸的图像利用k-means算法进行分割。在k-means算法中,一般采用均方差作为目标测量函数,具体的定义如下:

公式1

本文采取聚3类的方法,即k值取为3。首先选取红、绿、蓝三色为起始点,逐一计算图像中的每个像素的颜色与起始点颜色的距离(RGB色彩空间两种颜色的距离计算采用三维坐标系中两点之间距离计算相同的方法),然后把所有像素点归类到距离最近的那个起始点颜色,这样图像中所有像素点就分为了三组,计算这三组像素颜色的平均值作为聚集的中心点,以得到的中心点颜色为新的起始点再次对图像所有像素归类,重复步骤直到新的中心点颜色和上一次的中心点颜色不再有变化为止,退出循环,最后用中心点颜色替换归于本组的像素点颜色。

(二)人脸图像边缘检测

k-means算法把彩色图像聚类为有限种颜色的图像,本文中把图像聚类为三种颜色,这样就使得边缘检测更易于实现。在通过聚类算法处理的结果图像基础上,本文采用边界跟踪算法用于提取图像边界。以图像中最接近黑色的颜色作为阈值对逐个像素跟踪,判断其是否是一个边界点。如果是边界点就以这个点作为一条曲线的起点,从这个点开始跟踪,找到与其相邻的下一个区域内点或者边界点,找出曲线的第二个点并从这个点出发寻找下一个点,依次循环下去。这样图像的特征信息就从图像的每一个像素中提取了出来,后续工作就是对这些边界曲线进行分析处理,判断其中是否含有人脸对象。

(三)人脸检测

边缘检测得到了图像特征的矢量化数据,即一组曲线的集合,每一曲线是图像中某一区域的边界曲线,从中提取出每一区域的范围数据用于人脸检测。首先我们将所有区域范围数据依纵向排序,然后根据人脸五官的左右对称关系和上下距离关系等规则依从上至下的顺序对所有区域逐一检测,判断是否存在对称的眉毛、眼睛、鼻孔以及满足距离关系的嘴巴。如果可以检测到一组区域满足所有检测规则,即可认定人脸的存在,最后将这一区域的坐标数据结合得到图像中人脸所在位置的坐标,即定位出人脸区域。

三、实验结果

本文采用的算法是使用eclipse-cpp-helios作为开发环境,采用C语言调用Windows系统API实现的,力求结构清晰突出算法实现,避免使用特定IDE引入的复杂性。

为了达到人脸检测的目的,采取了图像分割、边缘检测、基于知识的人脸检测的技术方案。在k-means算法处理结果的基础上应用边缘检测算法得到图像特征矢量数据,并根据基于知识的人脸检测规则对这些矢量数据进行逐一检测,最终得到人脸区域。本文在人脸检测规则的制定和实现这方面做出了一定的探索,从实验结果可以看出检测规则对图像存在选择性,因此算法还有较大的提升空间。

参考文献:

[1]Bledsoe WW.The model method in facial recognition[R].Panoramic Research Inc.,Technical Report PRI:15,PaloAim,CA,1964.

[2]Brunner IS,Tagimi R.The perception of people.In Handbook of Social Psycbology,voL2,Reading,MA:Addison-Wesley.1954,634-654.

[3]冯荣耀,上官廷华,柳宏川.一种基于均方差属性加权的k-means算法[J].2010,3:175-178

上一篇:分布式防火墙在校园网中的应用与研究 下一篇:莱钢热处理线物料运输路径寻优计算方法的研究...