一种基于分合算法的人脸识别方法

文档序号:6373665阅读:183来源:国知局
专利名称:一种基于分合算法的人脸识别方法
技术领域
本发明涉及人脸识别的领域,尤其是一种基于分合算法的人脸识别方法。
背景技术
在日常生活中,我们主要根据脸来识别一个人。交谈中,我们往往看着对方的脸,尤其是眼睛。脸上的表情也是进行交谈的一个重要部分。所以,人脸在人与人的交流过程中起着极其重要的作用。这就决定了在现代社会中,使用计算机自动进行人脸的定位和识别工作有着重要的意义。其应用领域包括很多方面,比如身份鉴别,保安系统,人机交互界面等等。

人脸识别系统虽然有诱人的应用前景,但是在现实中却还没有开始大规模的使用。其主要原因之一就是用计算机自动进行人脸的定位和识别十分困难,目前的识别效果(正确率,速度)不如其他的生物识别技术,如指纹识别,视网膜识别等等。人们在日常生活中就进行了大量的人脸定位和识别工作,当然全部是由人的视觉系统和大脑“自动”进行的。目前还不清楚人的视觉系统和大脑的工作原理,因此这项人可以轻而易举完成的任务,对于目前还只会死板地执行程序指令的计算机来说却是极端困难。困难主要存在于两个方面人脸的图像数据具有高度的随机性。光照条件,脸的偏向,表情,发型,胡子,化妆,衣饰(眼镜,帽子)等等略有变化,就可以给识别系统带来巨大的困难。

发明内容
本发明要解决的技术问题是为了克服上述中存在的问题,提供一种基于的分合算法的人脸识别方法。本发明解决其技术问题所采用的技术方案是一种基于的分合算法的人脸识别方法,具体步骤如下a.分割算法(1)把金字塔数据结构中起始某个中间层的数据块编码全部压入工作堆栈RgStack ; (2)从RgStack弹出一个数据块编码Code ; (3)反复执行2,直至堆栈RgStack空;b.合并算法(1)把中间层里所有均匀的数据块的编码存入工作队列RgA ;(2)从RgA出队一个编码Code ;(3)反复执行2,直至队RgA空;c.相邻归并算法(I)从RgCode中弹出一个编码,压入工作堆栈RgStack ; (2)从RgStack中弹出一个编码Code,将它入队到RgA ;(3)反复执行2,直至栈RgStack空;(4)反复执行1-2-3,直至栈RgCode空本发明的有益效果是,本发明的一种基于的分合算法的人脸识别方法,采用此种识别方法,能够有效地提高了执行效率,达到快速识别的目的。


下面结合附图和实施例对本发明进一步说明。
图I是本发明的金字塔数据结构示意图;图2是本发明的数据块编码规则的示意图;图3是本发明的2:2对角和2:2同侧分布的示意图。
具体实施例方式现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。一种基于的分合算法的人脸识别方法,分合算法采用金字塔数据结构。首先讨论以像素计的边长是2的整数次幂的正方形图像。塔的底层(第O层)是原始图像(在我的应用中是已经过二值化的图像)。用相邻排作正方形的四个像素作为子结点,计算上一层相应像素的取值。这样每上溯一层(层编号加1),像素数目成为原来的1/4。当整幅图只剩下一个像素时,金字塔构造完毕(见图I)。数据结构某一层中的一个像素事实上代表了第O层中 2」个像素组成的一个数据方块(j是该层编号),为了表示和计算方便起见,用编码来代表这样的一个数据块。设数据结构中最高一层的编号为n,则这个编码共有η位。把一个方块内的四个子方块按照图2顺时针标记为1,2,3,4。为了表示一个数据块,我们首先把原始图像划分成四个正方形,第一位编码就描述该数据块落在了 1,2,3,4中哪个正方形里,然后对包含该数据块的正方形再划分为四个小正方形,第二位编码就描述该数据块落在了哪个小正方形里。如此反复,直到某个小正方形恰好是该数据块,此后的编码就全部取0,表示不必再细分。例如图2所示的3层金字塔结构;对于一幅普通的图像,一般都不会恰好是正方形,边长也不会恰好是2的整数次幂。我便以128X128的方块作为基本单位,用mXn个这样的方块对图像做覆盖。遇到图像中某个部分填不满一个方块的情形,就补上白色(白色不作为特征,看成空白)。每个方块都产生自己的一个7层金字塔数据结构,相互独立地运行分裂算法和合并算法。在相邻归并算法中,不处于同一个128X128划分块但是相邻的数据块应该被归入同一个特征块,所以数据块编码需要在全图像内唯一。我使用的数据块编码是在每个金字塔7位编码的基础上再加两位,分别表示在mXn个128X 128划分块中该数据块所处的划分块的X和I位置。因此完整的编码是9位。根据子结点像素计算父结点像素时常用的是灰度平均法,如图3所示,我的应用中有所不同如果四个像素中白色占了 3块以上则父结点像素赋值为白色;如果黑白2 :2对角分布也赋值为白色;如果黑色占了三块以上则赋值为黑色;如果黑白2 :2各占据一侧则赋值为黑色。这样的好处是可以消除一部分不紧密的连接(2 :2对角分布),而保留所有可能的紧密的连接(2 2同侧分布),具体步骤如下a.分割算法(1)把金字塔数据结构中起始某个中间层的数据块编码全部压入工作堆栈RgStack ; (2)从RgStack弹出一个数据块编码Code ; (3)反复执行2,直至堆栈RgStack空;b.合并算法(1)把中间层里所有均匀的数据块的编码存入工作队列RgA ;(2)从RgA出队一个编码Code ;(3)反复执行2,直至队RgA空;c.相邻归并算法(I)从RgCode中弹出一个编码,压入工作堆栈RgStack; (2)从RgStack中弹出一个编码Code,将它入队到RgA ;(3)反复执行2,直至栈RgStack空;(4)反复执行1-2-3,直至栈RgCode空。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范 围。
权利要求
1.一种基于的分合算法的人脸识别方法,其特征是具体步骤如下a.分割算法(1)把金字塔数据结构中起始某个中间层的数据块编码全部压入工作堆栈RgStack ; (2)从RgStack弹出一个数据块编码Code ; (3)反复执行2,直至堆栈RgStack空; b.合并算法(I)把中间层里所有均匀的数据块的编码存入工作队列RgA; (2)从RgA出队一个编码Code ;(3)反复执行2,直至队RgA空; c.相邻归并算法(I)从RgCode中弹出一个编码,压入工作堆栈RgStack;(2)从RgStack中弹出一个编码Code,将它入队到RgA ;(3)反复执行2,直至栈RgStack空;(4)反复执行1-2-3,直至栈RgCode空。
全文摘要
本发明涉及一种基于分合算法的人脸识别方法,具体步骤如下a.分割算法;b.合并算法;c.相邻归并算法。本发明的一种基于的分合算法的人脸识别方法,采用此种识别方法,能够有效地提高了执行效率,达到快速识别的目的。
文档编号G06K9/00GK102831394SQ201210254940
公开日2012年12月19日 申请日期2012年7月23日 优先权日2012年7月23日
发明者吴军 申请人:常州蓝城信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1