首页> 中国专利> 图象处理方法和装置,图象处理系统以及存储介质

图象处理方法和装置,图象处理系统以及存储介质

摘要

在此公布了用于探测图象中的人脸的方法、设备和系统。该方法包括:对于所述图象中的象素的一个子集,从所述图象的所述灰度分布导出一个第一变量;对于所述象素子集,从一个预设的基准分布导出一个第二变量,所述基准分布表征了所述对象;评价所述第一变量与所述第二变量在所述象素子集上的对应性;根据该评价步骤的结果判定所述图象是否包含所述对象。

著录项

  • 公开/公告号CN1404312A

    专利类型发明专利

  • 公开/公告日2003-03-19

    原文格式PDF

  • 申请/专利权人 佳能株式会社;

    申请/专利号CN01132807.X

  • 发明设计人 陈新武;纪新;

    申请日2001-09-06

  • 分类号H04N7/18;H04N5/00;H04N5/76;H04N5/91;

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人李强

  • 地址 日本东京

  • 入库时间 2023-12-17 14:40:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-10-28

    未缴年费专利权终止 IPC(主分类):H04N7/18 授权公告日:20070103 终止日期:20140906 申请日:20010906

    专利权的终止

  • 2007-01-03

    授权

    授权

  • 2003-05-28

    实质审查的生效

    实质审查的生效

  • 2003-03-19

    公开

    公开

  • 2002-02-13

    实质审查的生效

    实质审查的生效

说明书

本发明的领域

本发明涉及一种图象处理方法和设备,以及图象处理系统,尤其涉及一种用于确定图象中人脸的人脸确定方法、设备和系统,以及一种存储介质。

本发明的背景

从各种背景图象中检测出或提取一个特征区域的图象处理方法是非常有用的。比如,它可以用于确定所给出的图象中的人脸。特别是从复杂的图象背景中检测出人脸是一项很有意义的工作。它可以用于很多领域,比如,远程电信会议,人机交互界面,安全鉴定,监视系统中的人脸追踪,图象压缩等。

对于人类来说,无论是成年人或婴儿,从复杂的背景图象中识别出人脸是非常容易的,但是,到目前为此,还没有一种高效的途径以自动、快速地检出人脸。

确定图象中的一块区域是否为人脸是检出人脸的重要步骤。目前有很多方法用于确定人脸。例如,可以利用人脸特有的特征(如两只眼睛,嘴,鼻子)及各显著特征间的内在的几何位置关系,利用人脸的对称特性,人脸的肤色特征,模板匹配方法和神经网络方法等。例如,在第5次IEEEInternational Workshop on Robot and Human Communication,1996.第341-346页Haiyuan Wu的文章“Face Detection and RotationsEstimation using Color Information.”一文中,给出了一种使用人脸特征(两只眼睛和嘴)和特征间的关系作为确认人脸的方法。在该方法中,首先考察待确定的图象区域,看是否能从其中提取出需要的人脸特征,如能提取,则进一步考察所提取出的脸部特征为一己有的人脸模型的匹配程度,其中该人脸模型描述了一般人脸特征间的几何关系。如匹配程度较高,则认为该图象区域是人脸,否则,则认为不是人脸。但此方法对待测图象质量依赖很大,受光照条件、图象背景的复杂程度、人的种族类别的影响较大,精度不高。特别是当图象质量较差时,很难准确地确定人脸。

还有许多其他的现有技术人脸检测方法,诸如:

1.JYH-YUAN DENG和PEIPEI LAI,″Region-Based TemplateDeformation And Masking For Eye-Feature Extraction And Description″,Patter Recognition,Vol.30,No.3,pp.403-419,1997;

2.″Generalized likelihood ratio-based face detection andextraction of mouth features″,C.Kervrann,F.Davoine,P.Perez,R.Forchheimer,C.Labit,Pattern Recognition Letters 18(1997)899-912;

3.″Face Detection From Color Images Using a Fuzzy PatternMatching Method″,Haiyuan Wu,Qian Chen,and Masahiko Yachida,IEEETransactions On Pattern Analysis And Machine Intelligence,Vol.21,No.6,June 1999;

4.″Human Face Detection In a Complex Background″,GuangzhengYang and Thomas S.Huang,Pattern Recognition,Vol.27,No.1,pp.53-63.1994;

5.”A Fast Approach for Detecting Human faces in a ComplexBackground”,Kin-Man Lam,Proceedings of the 1998 IEEEInternational Symposium on Circuits and System,1998,ISCAS’98 Vol.4,pp85-88.

本发明的概述

因此,本发明的目的在于提供一种改进的图象处理方法、设备和图象处理系统和存储介质,所述的图象处理方法、设备和图象处理系统可以很容易地进行图象处理,以快速、有效地检测或确定给定图象中的特定区域。

本发明提供了一种方法,用于探测具有灰度分布的一个图象中的一种对象,其特征在于该方法包括以下步骤:

对于所述图象中的象素的一个子集,从所述图象的所述灰度分布导出一个第一变量;

对于所述象素子集,从一个预设的基准分布导出一个第二变量,  所述基准分布表征了所述对象;

评价所述第一变量与所述第二变量在所述象素子集上的对应性;

根据该评价步骤的结果判定所述图象是否包含所述对象。

另外,本发明提供了一种方法,用于探测具有灰度分布的一个图象中的一种对象,其特征在于该方法包括以下步骤:

a)在所述图象中确定一个子图象;

b)根据所述子图象,选择所述图象中的象素的一个子集;

c)对于该子集,从所述图象的所述灰度分布导出一个第一变量;

d)对于所述象素子集,从一个预设的基准分布导出一个第二变量,所述基准分布表征了所述对象;

e)评价所述第一变量与所述第二变量在所述象素子集上的对应性;

f)根据该评价步骤的结果判定所述图象是否包含所述对象。

在本发明中,对象探测是通过对两个矢量场进行评价而进行,因而诸如光照不均匀的不利和不确定的影响可以得到消除,且本发明的方法对图象质量的要求可得到降低,同时本发明的方法所能够处理的图象的种类更多。另外,梯度计算比较简单,因而缩短了进行探测所需的时间。

作为本发明的一个具体实施例,通过探测图象中的一或多个表征特征(诸如一对暗区,它们被预期是一对人眼),而确定出将要在其中探测一种目标对象(诸如一个人脸)的一个子图象,从而提供了探测图象中的一个预定对象的一种有效的方式。

作为一个具体的实施例,本发明的方法把两个矢量场之间的对应程度的评价限于所要探测的图象中的一个区域,诸如用于人脸探测的一个环形区中,在该区域中两个矢量场之间的对应性更为显著,因而使得对这些对应性的评价变得更有效,同时缩短了探测所需的时间。

作为一个进一步的实施例,本发明的方法在评价中执行了一种加权统计处理,其中使得具有较大灰度梯度的幅度的象素具有较大的权重从而对评价的结果有较大的贡献,从而使得探测更为有效。

作为一个进一步的实施例,本发明的方法同时采用了加权统计处理和非加权统计处理,并根据这两种处理的结果来判定所要探测的图象中是否包含一个对象,从而提高了探测的准确性。

按照本发明,上述目的是通过提供一种图象处理方法实现的,所述方法包括:

在图象中设定一个待确定矩形区域;

设定包围该矩形区域的一个环形区域;

计算环形区域内的象素点的灰度的梯度;

为环形区域内的所述象素点一种基准梯度;以及

根据所述象素点的灰度梯度和基准梯度,判断所述待确定矩形区域所包含的特征部分。

按照本发明,上述目的是通过提供一种图象处理设备实现的,所述设备包括:

在图象中设定一个待确定矩形区域的装置;

设定包围该矩形区域的一个环形区域的装置;

计算环形区域内的象素点的灰度的梯度的装置; 

为环形区域内的所述象素点一种基准梯度的装置;以及

根据所述象素点的灰度梯度和基准梯度判断所述待确定矩形区域所包含的特征部分的装置。

另外,本发明提供了一种存储介质,其中具有用于在具有灰度分布的一个图象中进行对象探测的程序代码,其特征在于该程序代码包括:

用于在图象中确定一个子图象的代码;

用于根据所述子图象选定一个象素子集的代码;

用于对于所述图象中的象素的一个子集从所述图象的所述灰度分布导出一个第一变量的代码;

用于对于所述象素子集从一个预设的基准分布导出一个第二变量的代码,所述基准分布表征了所述对象;

用于评价所述第一变量与所述第二变量在所述象素子集上的对应性的代码;

用于根据该评价步骤的结果判定所述图象是否包含所述对象的代码。

本发明进一步的目的是提供一种具有新颖性的图象处理方法和设备,图象处理系统。通过下面的实施方式和附图的描述,本发明的其他目的和特征将变得更加清楚,附图中相同的标号表示相同的或类似的部件。

附图的简要描述

作为本发明的一部分的附图和本说明一起用于说明本发明的实施例,用于解释本发明的原理。

图1是一方框图,示出了可以应用根据本发明的图象处理设备的图象处理系统的的一个实施例的方框图。

图2为一结构框图,示出了按照本发明一个实施例的人脸确定装置的结构。

图3示意性地示出了要被检测的原始图象的一个例子。

图4为一流程图,示出了按照本发明一个实施例的人脸确定过程。

图5为一示意图,示出图3所示的原始图象中确定的一个待测子图象(矩形区域)以及围绕其的环形区域。

图6为一示意图,示出了一幅图象中的多个象素点。

图7是一示意图,用于说明环形区域内各象素点的基准梯度值。

图8A是示意图,示出了要被检测的原始图象的另一个例子

图8B是示意图,示出了图8A的所示的原始图象中的一个子图象(矩形区域)。

图8C是示意图,示出了为图8B所示的矩形区域所确定的环形区域。

图9为一流程图,示出了按照本发明另一实施例的人脸确定过程。

图10显示了用于探测图象中的人脸的一种基准分布;

图11用于显示从探测到的一对暗(眼睛)区生成用于人脸检测的子图象的一种方式,该对暗区被认为可能对应于人眼;

图12是按照本发明的实施例的人眼检测设备的结构方框图;

图13A是流程图,用于表示查找人眼区域的过程;

图13B是要被检测的原始图象的一个例子;

图14A是流程图,用于对图象中的每列进行分段;

图14B是一个例子,用于表示图象中的一列;

图14C是一个例子,用于表示一列的灰度分布;

图14D是示意图,用于表示一列被分成段的灰度分布;

图14E是一个例子,用于表示图象中一被分成段的列;

图14F是示意图,用于表示对一列分段点的确定;

图15A是流程图,用于合并列中的谷区;

图15B是示意图,用于表示图象中的列和每列的谷区和种子区;

图15C是用于表示被检测的眼睛备选区域的图象;

图16A是流程图,显示了根据本发明的眼睛区域判定处理;

图16B是示意图,用于表示眼睛备选区域和它的外接矩形;

图16C是用于表示被检测出的眼睛区域的图象;

图17A是流程图,用于调整分段边界;

图17B是示意图,用于表示将分段点合并到其相邻区域的过程;

图17C是示意图,用于表示将中继区合并到相邻谷区的过程;

图18A是流程图,用于判断一个谷区是否能被合并到一个种子区;

图18B是示意图,表示一个种子区的预测谷区;且

图18C是示意图,用于表示二个谷区之间的重叠。

优选实施例的描述

下面参照附图详细说明本发明的优选实施例。

图1表示根据本发明的第一实施例的图象处理设备的图象处理系统的方框图。在该系统中,打印机105,例如喷墨打印机或类似的打印机,以及监视器106和主计算机100相连。

主计算机100具有应用软件程序101,例如文字处理程序、放大程序、因特网浏览器以及类似的其他程序,OS(操作系统)102,打印机驱动程序103,用于处理指示输出图象的各种绘图指令(图象绘图指令、文本绘图指令、图表绘图指令),它们被应用软件程序101发送给OS102,并产生打印数据,以及监视器驱动程序104,用于处理由应用软件程序101发出的各种绘图指令,并在监视器106上显示数据。

标号112表示指令输入装置,标号113表示该装置的驱动程序。例如,连接有用于点击在监视器106上显示的各种信息从而向OS102发送各种指令的鼠标器。注意,其他的指向装置,例如轨迹球、笔、触摸屏及其他类似装置或键盘,可被用于代替鼠标。

主计算机100包括:作为可以运行这些软件程序的各种硬件的中央处理单元(CPU)108,硬盘(HD)107,随机存取存储器(RAM)109,只读存储器(ROM)110等。

作为图1所示的人脸确定系统的一个例子,可以在流行的IBM公司的PC-AT个人计算机上安装微软公司的Windows98作为操作系统,安装上所需的执行打印的应用程序,并使监视器和打印机和个人计算机相连。

在主计算机100中,每个应用软件程序101使用被归入文本(例如字符或其他类似物)的文本数据、被归入图表(例如插图或其类似物)的图表数据、被归入自然图象或其类似特的图象数据等产生输出图象数据。在打印输出图象数据时,应用软件程序101向OS102发出打印请求。此时,应用软件程序101向OS102发出绘图指令组,包括相应于图表数据的图表绘制指令,以及相应于图象数据的图象绘制指令。

OS102收到应用软件程序101的输出请求之后,向相应于一个输出打印机的打印驱动程序103发出绘图指令组。打印机驱动程序103处理从OS102输入的打印请求和绘图指令组,产生打印机105可以打印的打印数据,并把打印数据传递到打印机105。当打印机105是扫描打印机时,打印机驱动程序103按照来自OS102的绘图指令进行图象校正处理,然后按顺序扫描一个存储器(诸如RGB24位面存储器)上的指令。在完成所有绘图指令之后,打印机驱动程序103把RGB24位页存储器的内容转换成打印机105可以打印的数据格式,如CMYK数据,并把转换的数据传递给打印机105。

注意主计算机100可以连接数字摄像机111,其检测物体的图象并产生RGB图象数据,并可以把检测的图象数据装载并存储在HD107中。注意,由数字摄像机111检测的图象数据按照例如JPEG编码。检测的图象数据在被打印机驱动程序103译码之后可以作为图象数据传递给打印机105。

主计算机100还包括人脸探测装置114,用于确定所检测图象中是否包含人脸。存储在HD107或其他类似部分的图象数据被人脸确定装置114读取并被处理。首先,读取可能的人脸区域部分,并判断该区域是否为人脸。然后,在OS102的控制之下,向打印机105或监视器106输出图象中的被确定的人脸。人脸探测设备

图2为一结构框图,示出了按照本发明第一实施例的人脸探测设备的结构。

本实施例中,人脸探测设备114包括读取装置210、人眼检测设备218、子图象确定装置219、环形区域设定装置211、第一计算装置212、第二计算装置213和判定装置214。其中,在人脸探测设备114中,读取装置210用于执行图象的读取过程。读取装置210读取存储在诸如HB107或RAM109等中的图象的各象素的灰度值。

人脸探测过程

图3示意性地给出了要被检测的原始图象的一个例子,对该原始图象进行了实际的人脸检测。该图象中包括一幅具有人脸的图象。其中,该原始图象300可以通过诸如数码相机、扫描仪等一类的数字设备111等,输入到人脸探测系统,并存储在HD107或RAM109等诸如此类的存储装置中。

参见图3,可以看出,通常情况下,原始图象300中的人脸的边缘形状接近椭圆形,而与人类的种族、肤色、年龄、性别无关。沿人脸的边缘可以作出一外切矩形区域300A。

图4为一流程图,示出了按照本发明第一实施例的人脸探测过程。

下面将参照图4和图3,解释对原始图象中人脸的探测过程。读取原始图象及确定待探测的子图象(矩形区域)

参见图4,人脸探测过程开始于步骤S40。在步骤S41,读取装置210首先读取要被检测的原始图象300,并得到该原始图象300中各象素点的灰度值。如果原始图象300使用比如JPEG进行编码,那么,读取装置210在读取其图象数据之前首先对其进行解码。步骤S41中,读取装置210还读取在该原始图象300中一个待确定的矩形区域300A,并确定该矩形区域300A在该原始图象300中的位置。

以下描述根据本发明的一种用于确定所要探测的图象中的子图象300A的方法和设备。然而,应该理解的是,用于确定子图象的眼睛区探测方式不限于如下所述的本发明的方法。相反地,其他的方法和/或处理-诸如现有技术中已知的方法和/或处理-也可被用来确定该子图象。子图象300A的确定眼睛检测设备

图12为结构框图,示出了按照本发明实施例的及眼睛检测设备的结构。

本实施例中的眼睛检测设备218包括分段装置1201,合并装置1202和判断装置1203。参见图14D和14E,基于一个图象的一个列C41的各象素的灰度值,图象的列C41被分段装置1201分割成多个区间I1-1,I1-2,…I1-9和I1-10。根据它们的象素的平均灰度值,这些区间I1-1,I1-2,…,I1-9,I1-10被划分为3种类型:峰区、谷区和中继区。本文下面将详细定义术语“谷区、峰区和中继区”。然后,可以得到列C41的谷区。以同样方式,分段装置1201还将图象中的其他列也划分为3种类型并分别得到它们的谷区。在图象的所有列被划分为3种类型并得到他们的谷区之后,合并装置1202执行合并处理,并合并相邻列的谷区。被合并的谷区被设定为人眼备选区域。然后,通过判断装置1203可以确定人眼。检测眼睛区域

下面将参照图13A的流程图解释用于原始图象的人眼检测过程。图13B是要被检测的原始图象的一个例子。假设原始图象被存储在HB107,或RAM109等诸如此类的一个预定位置。

参见图13A,在步骤S132,原始图象的各列被分段装置分划分为多个区间。参照图14E,每个区间I1-1,I1-2,…,I1-9,I1-10的长度是可变的。比如,区间I-1的长度不等于区间I1-2的长度。根据其象素的平均灰度值,一些分段的区间被标记为谷区。在步骤S133,通过合并装置1202,相邻列的谷区被合并以生成眼睛备选区域。由于每列的谷区的长度不同,因此,眼睛备选区域的大小也彼此不同。在步骤S134,通过判断装置1203,确定眼睛备选区域的人眼区域。这样,就可以检测出图象中与人眼对应的区域。对图象中的各列进行分段

图14A是流程图,显示了用于在步骤S132中对图象的每列进行分段的处理。

术语“谷区、峰区和中继区”定义如下。

图14B是一个例子,用于表示图象中的一列。参见图14B,读取装置200读取原始图象的一列C41。图14C示出了列C41的灰度值分布图。图14D是被分割成段的列的灰度值分布图。在图14D中,标号I1-5,I1-6,I1-9分别表示被分割的区间,且各区间或段中的灰度值是图14C中对应的区间或段中的象素的平均值。

图14E是图14B图象的被分割的列。参见图14E,读取装置200读取图象中列C41的图象数据。对于图14B的图象,列C41被分割成区间I1-1,I1-2,…,I1-9,I1-10。区间的大小也就是该区间中象素的数量。比如,如果区间I1-2包括12个象素,那么区间I1-2的大小为12。区间的灰度值是该区间中象素的平均灰度值。

参见图14D和14E,如果一个区间的灰度值少小于其相邻区间的灰度值,那么该区间被称之为“谷区”。如果一个区间的灰度值大于其相邻区间的灰度值,那么该区间被称之为“峰区”。另一方面,如果一个区间的灰度值位于其相邻区间的灰度值之间,则这种区间被称之为“中继区”。对于本实施例中的列C41,区间I1-1,…,I1-10的灰度值分别为196、189、190、185、201、194、213、178、188和231。对于区间I1-6,其灰度值为194,而其相邻区间I1-5,I1-7的灰度值分别为201和213。由于区间I1-6的灰度值小于其相邻区间I1-5,I1-7,因此,区间I1-6被确定为谷区。以同样方式,区间I1-2,I1-4和I1-8分别被确定为谷区。对于区间I1-5,其灰度值为201,其相邻区间I1-4,I1-6的灰度值分别为185,194。由于区间I1-5的灰度值大于其相邻区间I1-4,I1-6,因此,区间I1-5被确定为峰区。以同样方式,区间I1-1,I1-3,I1-7和I1-10分别被确定为峰区。另外,对于区间I1-9,其灰度值为188,而其相邻区间I1-8,I1-10的灰度值分别为178和231。由于I1-9的灰度值界于其相邻区间I1-8,I1-10的灰度值之间,因此,区间I1-9被确定为中继区。

由于谷区也是一个区间,由此,计算谷区的灰度值及其大小的方法与计算区间的灰度值及大小的方法一样。这种方法也适用于计算峰区及中继区的灰度值和大小。

下面参照图14A,详细地描述步骤S132中对图象中的每列进行分段的过程。

参见图14A,在步骤S141,读取被检测图象左侧第1列中每个象素的灰度值。为了将该列分成三种类型的区间,即谷区、峰区和中继区,必须要确定分段点。

在步骤S142,按照象素处的灰度值的一阶导数值和二阶导数值可以确定该列中的一个象素点是否为分段点。图14F是一示意图,示出了判断一个象素是否为一列的分段点的过程。参见图14F,在一列中给出了二个相邻的象素Pi1,Pi2。

随后,利用任何的离散导数算子,计算出在这两个象素Pi1、Pi2处的一阶导数和二阶导数值。假定象素Pi1和Pi2处的一阶导数分别用D1f和D2f表示,象素Pi1和Pi2处的二阶导数值分别用D1s和D2s表示。如果以下的两个条件之一成立:

(D1s≥0)且(D2s<0);

(D1s<0)且(D2s≥0)

且D1f和D2f之一的绝对值大于一个预定值(该阈值可在6-15的范围内选取,优选值为8),则象素Pi1被判定为是一个分段点。否则象素Pi1被判定为不是分段点。

这样,在步骤S142中,可以得到多个分段点S11,S12,…,S19。

在列中确定分段点之后,在步骤S143,可以将该列分成多个区间。然后,在步骤S144,按照多个区间的灰度值,将它们分别划分为谷区、峰区或中继区。在步骤S145中,调整区间的边界。步骤S145的详细内容将参照附图进行描述。在步骤S146中,检查被检测图象的所有列是否都已被分段,如果被分段的列不是最后一列,则流程返回步骤S147。在步骤S147,读取下一列中每个象素的灰度值。然后,流程进到步骤S142并重复步骤S147及其后的步骤。然而,如果在步骤S146中要被分段的列是被检测图象的最后一列,即所有的列均已被分段,流程在步骤S148结束。

可选地,上述分段处理可以从被检测图象的其他的列(如最右边的第一列)开始进行。合并谷区以产生眼睛备选区域

图15A是流程图,用于显示合并图13A中在步骤S133合并每列的谷区的处理。图15B是示意图,用于表示图象中的列和每列中的谷区和种子区。在图15B中,图象被划分n个列Co11,Co12,…,Co1n。

参照图15A和15B,在步骤S151被检测图象的第一列Co11(最左边)中的所有谷区S1,S2,S3,S4被设为种子区。种子区是一个或多个谷区的集合,由于谷区的灰度值低于峰区或中继区的灰度,因此,种子区通常是一列中的暗区域。

在图15A的步骤S152,读出下一列Co12的第一谷区V2-1。然后,流程进入列步骤S153。在步骤S153,读出第一种子区S1。在步骤S154,根据谷区V2-1和种子区S2,检查列Co12的谷区V2-1是否可合并到种子区S1。如果列Co12的谷区V2-1可以合并到种子区S1,那么流程进入到步骤S156并将该谷区V2-1合并到种子区,然后,谷区变为种子区的一部分。然而,如果在步骤S154判断谷区V2-1不能合并到种子区S1,流程进入到步骤S155。在本实例中,列Co12的谷区V2-1不能合并到种子区S1。流程进入步骤S155。在步骤S155,判断种子区是否为最后的种子区。如果不是最后的种子区,那么在步骤S157读取下一种子区,流程返回步骤S154,以重复步骤S154和下面的步骤。在本实例中,种子区S1不是最后的种子区,那么所以在步骤S157读取下一种子区S2。并重复以上的步骤。如果在步骤S155判断该种子区是最后的种子区,(比如,如图15B所示的种子区S4),那么流程进入到步骤S158,并将不能合并到种子区的谷区设置为一个新的种子区。参见图15B,由于列Co12的谷区V2-1不能合并到种子区S1,S2,S3或S4,也就是谷区不能合并到一个已经存在的种子区中,那么,在步骤S158,列Co12的谷区被设置为一个新种子区。

在步骤S159,判断列Co12的所有谷区是否都已被处理。如果已处理完列Co12的所有谷区,那么流程进入步骤S1511。在步骤S1511,检测是否已处理完所有的列。如果该列不是被检测图象的最后一列,那么流程返回步骤S152,以重复步骤S154以及其后步骤的处理。由于列Co12不是被检测图象的最后一列,流程返回步骤S152。如果已处理完所有的列,比如,如果该列是最后一列Co1n、那么流程进入步骤S1520。在步骤S1520,所有的种子区被设定为眼睛备选区域。然后,流程在步骤S1521结束。图15C是一个例子,示出了在步骤S133在被检测的图象的列中合并谷区以产生眼睛备选区域的结果。判断眼睛区域

图16A为流程图,用于显示在步骤S134中判断眼睛区域的处理。

参见图16A,在步骤S161读取第一眼睛备选区域。然后,流程进入到步骤S162。在步骤S162,计算眼睛备选区域的灰度值。如上所述,眼睛备选区域包括一个或多个谷区。如果一个眼睛备选区域包括几个谷区,那谷区1,谷区2,…谷区n,那么,那么由下式得出眼睛备选区域的灰度值:

DarkGray1=(Valley1Gray1×Pixels1+Valley2Gray1×Pixels2+…

      +ValleynGray1×Pixelsn)/Tota1 Pixels    (1)

其中,DarkGary1是眼睛备选区域的灰度值;

      Valley1Gray1是谷区1的灰度值,Pixels1是谷区1中的象素数;

      Valley2Gray1是谷区2的灰度值,Pixels2是谷区2中的象素数;

      ValleynGray1是谷区n的灰度值;Pixelsn是谷区n中的象素数;

      Total Pixels是包含在眼睛备选区域中的象素的总数。

因此,如果眼睛备选区域包括灰度值分别为10,20,30的3个谷区,且每个谷区分别包含5、6、4个象素,那么,眼睛备选区域的灰度值将为(12×5+20×6+30×4)/15=20。

参见图16A的步骤S162,计算眼睛备选区域的灰度值。如果眼睛备选区域的值不小于第一阈值,比如,160,则流程进入步骤S1610。在本实施例中,第一阈值位于100至200之间。在步骤S1610,眼睛备选区域被确定为假眼睛区域并被拒绝。然后,流程进入步骤S168。在步骤S168,判断是否已处理了被检测图象的所有眼睛备选区域。如果不是最后的眼睛备选区域,则在步骤S169读取下一个眼睛备选区域,然后,流程进入步骤S162并重复下面的步骤。然而,如果在步骤S168判断到所检测的眼睛备选区域是最后的眼睛备选区域,那么,被检测图象的所有眼睛备选区域都被确定,流程在步骤S1611结束。

在步骤S162,如果眼睛备选区域的灰度值小于第一阈值,则流程进入步骤S163。

在步骤S163,计算眼睛备选区域的背景灰度值。包含在眼睛备选区域的谷区的背景灰度值确定眼睛备选区域的背景灰度值。谷区的背景灰度值是其相邻区间灰度值的平均值。下式给出了在步骤S163中计算的眼睛备选区域的背景灰度值。DarkBGray1=(Valley1BGray1+Valley2BGray1+…+ValleynBGrayl)/n  (2)

其中,DarkBGray1是眼睛备选区域的背景灰度值;

      Valley1BGray1是谷区1的背景灰度值;

      Valley2BGray1是谷区2的背景灰度值;

      ValleynBGray1是谷区n的背景灰度值;

      n是包含在眼睛备选区域中的谷区的数量。

在步骤S163,计算眼睛备选区域的背景灰度值。如果在步骤S163,眼睛备选区域的背景灰度值不大于第二阈值,(比如,30),那么流程进入步骤S1610。在实施例中,第二阈值位于20至80之间。在步骤S1610,判断眼睛备选区域为假眼睛区域,并拒绝之。然后,流程进入步骤S168。

在步骤S163,如果眼睛备选区域的背景灰度值大于第二阈值,那么程序进入步骤S164。

在步骤S164,计算眼睛备选区域的背景灰度值与其本身的灰度值之差。如果该差值不大于第三阈值(比如20),那么流程进入步骤S1610。在本实施例中,第三阈值介于5至120之间。在步骤S1610,眼睛备选区域被判断为假眼睛区域并被拒绝。然后,流程进入步骤S168。

在步骤S163,如果眼睛备选区域的背景灰度值和其本身的灰度值之差大于第三阈值,那么流程进入步骤S165。

在步骤S165,计算眼睛备选区域的宽度与高度之比。

关于眼睛备选区域的宽度、高度、我们进行下述定义。谷区的大小是该谷区内所包含的象素的数量。比如,如果谷区包括5个象素,那么谷区的大小等于5。眼睛备选区域的大小是包含在眼睛备选区域内谷区的大小之和。眼睛备选区域的宽度是包含在该眼睛备选区域内的谷区的数量,那么,眼睛备选区域的高度Hd由下式给出:

Hd=Sd/Wd                         (3)

其中,Hd是眼睛备选区域的高度,Sd是眼睛备选区域的大小,Wd是眼睛备选区域的宽度。

参见图16A的步骤S165,计算眼睛备选区域的宽度与高度之比。在步骤S165,如果眼睛备选区域的宽度与高度之比不大于第四阈值,(比如3.33),那么流程进入步骤S1610。在本实施例中,第四阈值介于1到5之间。在步骤S1610,眼睛备选区域被判断为假眼睛备选区域并被拒绝。那么随后,流程进入步骤S168。

在步骤S165,如果眼睛备选区域的宽度与高度之比大于第四阈值,那么流程进入步骤S166。

在步骤S166,计算眼睛备选区域的大小与其外接矩形大小的比值。图16B是一示意图,示出了眼睛备选区域和其外接矩形。参见图16B,其中给出了眼睛备选区域D1和其外接矩形DC1。从图16B可以看出,眼睛备选区域的外接矩形DC1是包围眼睛备选区域D1的最小矩形。眼睛备选区域外接矩形的大小是包含在该外接矩形内的象素的数量。眼睛备选区域的大小是眼睛备选区域内所包含的象素的数量。

在步骤S166,计算眼睛备选区域的大小与其外接矩形大小的比率。如果该比率不大于一个第五阈值,(比如0.4),那么流程进入步骤S1610。在本实施例中,第五阈值介于0.2至1之间。在步骤S1610,眼睛备选区域被确定为假眼睛区域并被拒绝。然后,流程进入步骤S168。

在步骤S166,如果眼睛备选区域的大小与其外接矩形的大小的比率大于第五阈值,流程进入步骤S167,那么。在步骤S167,该眼睛备选区域被确定为一个真实的眼睛区域。

步骤S167之后,流程进入步骤S168并判断该眼睛备选区域是否为最后的眼睛备选区域。如果不是最后的眼睛备选区域,那么在步骤S169读取下一眼睛备选区域并且流程返回步骤S162。如果在步骤S168判断是最后的眼睛备选区域,那么就确定了所有的眼睛区域。图16C是一个例子,示出了在步骤S133中所检测的图象的眼睛区域。调整分段边界

图17A是一流程图,用于在图14A的步骤S145调整分段边界。

参见图17A,比较分段点的灰度值与其二个相邻区间的灰度值,并且在步骤S171,把该分段点合并到灰度值与该点灰度值最接近的那一区间。比如,参见图17B,分段点S的灰度值为80,其二个相邻区间为区间In1和In2。区间In1和In2的灰度值分别为70和100。由于区间In1的灰度值更接近分段点S的灰度值,那么,分段点S合并到区间In1。

进一步,流程进入步骤S172。在步骤S172,读取第一中继区。然后,在步骤S173,计算中继区的灰度值与其相邻谷区和峰区的灰度值。计算它们的灰度值以后,流程进入步骤S174,在步骤S174,进行比较并判断下式是否成立:

GR<GP×Th6+Gv×(1-Th6)

其中,GR是中继区的灰度值,

      Gv是中继区相邻谷区的灰度值,

      GP是中继区相邻峰区的灰度值,

      Th6为第六阈值,比如为0.2。第六阈值介于0与0.5之间。

如果在步骤S174,判断结果为“否”,那么流程进入步骤S176。否则,如果在步骤S174判断结果为“是”,那么,在步骤S175,该中继区合并到谷区。

图17C是一示意图,示出了将中继区合并到其相邻谷区的一个例子。图17C中的X轴表示每列的位置,Y轴表示每个区的灰度值。

参见图17C,中继区Re1的灰度值为25,谷区Va1的灰度值为20,峰区Pe1的灰度值为70,第九阈值设定为0.2,那么

Gp×Th6+Gv×(1-Th6)

=70×0.2+20×0.8

=30>GR=25

因此,在步骤S174的判断结果为“是”,那么中继区Re1将合并到谷区Va1。进一步,中继区Re2的灰度值为40,峰区Pe2的灰度值为60,那么

Gp×Th6+Gv×(1-Th6)

=6×0.2+20×0.8 

=28>GR=40

因此,在步骤S174的判断结果是“否”,那么中继区Re2将不能合并到谷区Va1。

参见图17A的步骤S176,检查是否已处理完被检测图象的所有中继区。如果中继区不是最后的中继区,那么在步骤S177读取下一中继区,然后流程进入步骤S173并重复步骤S173及其后步骤的处理。然而,如果在步骤S176判断该中继区是最后的中继区,即已处理完所有的中继区,那么流程将在步骤S178结束。这样,就调整完了所检测图象的所有边界。

判断谷区是否能合并到种子区。

图18A是流程图,用于判断在图15A的步骤S154中,一个谷区是否能合并到一个种子区。

图18B为示意图,表示一个种子区的预测谷区。种子区的预测谷区并不是被检测图象任何列中的一个实际存在的谷区。种子区的预测谷区被认为是位于种子区右边最相邻列下一列的谷区,其位置与种子区的右边的最相邻列的位置一致。参见图18B,谷区Va3是种子区Se1的右边最相邻谷区,其位于列Col1,而列Col2是列Col1的下一列。那么,谷区Va1是种子区Se1的预测谷区。该预测谷区位于列Col2,其位置与谷区Va3的谷区一样,但位于不同的列。

图18C为一示意图,示出了二个谷区的重叠区。这二个谷区的重叠区是这样的一个区域,其中,该象素属于该二个谷区。

参见图18C,点B到点D的区间是谷区Va1,点A到点C的区间是谷区Va2,Va1是种子区Se1的预测谷区,谷区Va2是列Col2的一个真实谷区。那么,点B到点C的区间是谷区Va1和谷区Va2的重叠区。

判断一个谷区是否能合并到种子区的,过程将参照图18A进行描述。参见图18A,在步骤S181计算谷区与种子的预测谷区的重叠区。

计算完重叠区后,流程进入到步骤S182。在步骤S182,比较并判断下式是否成立:

Osize/Max(Vsize,SVsize)>Th7

其中Osize是谷区与种子区的预测谷区的重叠区的大小,

Max(Vsize,SVsize)是谷区和种子区预测谷区大小的最大值,

Th7是第七阈值,比如为0.37。第七阈值介于0.2到0.75之间。

如果在步骤S182判断结果为“否”,那么流程进入步骤S188。那么谷区不能合并到种子区,则流程在步骤S189结束。否则,如果在步骤S182判断结果为“是”,那么流程进入步骤S183。

在步骤S183,计算谷区和种子区的灰度值。然后,流程进入步骤S184。在步骤S184,比较并判断下式是否成立:

|GVallley-GSeed|<Th8

其中,GValley是谷区的灰度值,

      GSeed是种子区的灰度值,

Th8为第八阈值,比如为40。第八阈值介于0至60之间。

如果步骤S184的判断结果为“否”,那么流程进入步骤S188。那么,谷区不能被合并到种子区,流程在步骤S189结束。否则,如果在步骤S184的判断结果为“是”,那么流程进入步骤S185。

在步骤S185,分别计算谷区背景、种子区背景以及谷区和种子区的亮明度。

对于图象中一个象素的亮度,可以由下式进行计算:

G=1.2219×10-1L+9.063×10-4L2+3.6833526×10-5L3+1.267023×

    10-7L4+1.987583×10-10L5  (4)

公式(4)表示了孟寒尔表色系统中灰度值与亮度值之间的非线性关系,其中G是象素的灰度值,其介于0到255之间;L是象素的亮度值,其也介于0到255之间。

因此,可以通过图象的灰度值得到其亮度值,而从图象的亮度也可以得到图象的灰度。

对于本实例来说,图14F中的象素Pi1和Pi2的灰度值分别为50和150,通过公式(4),可以确定象素Pi1和Pi2的亮度值分别为128和206。

返回图18A,在步骤S185后,流程进入步骤S186。在步骤S186,比较并判断下式是否成立

Min((Lvb-Lv),(Lsb-Ls))/Max((Lvb-Lv),(Lsb-Ls))>Th9

其中Lv是谷区的亮度,Ls是种子区的亮度,

    LVb是谷区背景的亮度,Lb是种子区背景的亮度,

    Min((Lvb-Lv),(Lsb-Ls))是(Lvb-Lv)和(Lsb-Ls)的最小值,

    Max((LVb-Lv),((Lsb-Ls))是(Lvb-Lv)和(Lsb-Ls)的最大值。

    Th9为第九阈值,比如为0.58。第九阈值介于0.3至1之间。

如果在步骤S186的判断结果为“否”,那么流程进入步骤S188,则谷区不能合并到种子区,流程在步骤S189结束。否则,如果在步骤S186的判断结果为“是”,流程进入步骤S187。

在步骤S187,谷区被合并到种子区,流程在步骤S189结束。

从上述可以看出,本发明的方法提供了一种快速的方法,用于检测具有复杂背景的图象中的人眼,而不需要被检测图象具有非常高的质量。从而实质上地消除了人眼被忽略的可能。这种方法能精确地检测具有不同尺寸、方向和明亮度的人眼。因此,按照本发明的方法设备或系统,可以快速、有效地检测人眼。

上述实施例的方法用于检测人眼,然而,本发明并不仅限于检测人眼,它还可以适于其他的检测方法,比如,检测电路板的缺陷部分的方法。

另外,上述用于探测图象中与人眼对应的区域的方法和设备被用于探测包含在一个图象中的人脸,但本发明的探测图象中的人脸的方法和设备也可采用其他的方法和设备来探测所要探测的图象中的人眼。例如,可以把Kin-Man Lam在“A Fast Approach for Detecting Human Facesin aComplex Background”,Proceedings on the 1998IEEEInternational Symposium on Circuits and System,1998,ISCAS’98 Vol.4 pp85-88上公布的方法用于本发明的人脸探测方法和设备中进行人眼探测。

在探测到至少两个眼睛(或暗)区时,任意一对眼睛区被选作一对候选眼睛。对于每一对选出的眼睛区,确定出它们的中心之间的距离L。随后,以如图11所示的方式,确定一个矩形的子图象300A。对于人脸检测,除了如图11所示的矩形子图象之外,还确定了用于人脸探测的另一矩形子图象,该子图象与图11所示的矩形子图象相对于通过该对眼睛区的中心的直线相对称。

应该理解的是,图11所示的值/比值并不一定是严格的,相反地,与图11所示的值/比值相差在一定的范围(例如±20%)之内的值/比值,对于实施本发明的人脸探测方法来说,都是可接受的。

在探测到两个以上的眼睛区的情况下,每一可能的眼睛区对都得到选择以确定相应的子图象。且对于图象中的每一对眼睛区,都以上述方式产生出两个矩形子图象。

随后,对于如此确定的各个子图象,探测该子图象是否对应于一个人脸的图象,如以下所要描述的。

另外,所要探测的子图象300A的形状不限于矩形,相反地,它可以为任何适当的形状,诸如椭圆形等。

此外,人脸部分(子图象)的位置不仅可以通过探测图象中的眼睛区(暗区)来确定,也可以通过探测图象中的其他人脸特征-如嘴、鼻、眉等-而得到确定。通过在图象中探测眼、嘴、鼻、眉等人脸特征而确定人脸的位置的方法,除了在此公布的本发明的眼睛探测方法之外,还可以采用现有技术中的方法,如在本说明书的“本发明的背景”部分中列出的对比文件中所给出的脸部特征探测方法。环形区域的产生

然后,流程进入步骤S42。在步骤S42,通过环形区域确定装置211,确定围绕矩形区域300A的一环形区域300R。有关环形区域300R的产生将在下面结合图5给予详细的描述。

图5为一示意图,示出图3所示的矩形区域300A以及围绕其所确定环形区域300R。在图5所示的平面坐标系中,以原始图象300的左上角为坐标原点,X坐标、Y坐标分别表示每一象素点在水平方向和垂直方向相对于坐标原点的距离。

参照图5,首先,通过图2所示的读取装置210,从HD107或RAM109处读取预先存储的如图3所示意表示的的原始图象300,并得到矩形区域300A相对于原始图象300所处的位置。在本实例中,在所给出的X,Y坐标系中,矩形区域300A的四个角的坐标分别为(230,212)、(370,212)、(230,387)和(370,387)也即其宽度和高度分别为140和175。

对于矩形区域300A,将其宽度、高度分别放大、缩小为原来的9/7倍和5/7倍,得到两矩形区域300A1和300A2。其中第一矩形区域300A1的四个角的坐标在该X、Y坐标分别为(210,187)、(390,187)、(210,412)和(390,412);而第二矩形区域300A2的四个角的坐标在该X、Y坐标系分别为(250,237)、(350,237)、(250,362)和(370,362)。其中,第一、第二矩形区域300A1,300A2之间的区域就是为原矩形区域300A所确定的环形区域300R。

图5所示的环形区域300R是通过将矩形区域300A的宽度和高度分别放大、缩小原来的9/7倍和5/7得到的。但本发明并不限于此,可以对矩形区域300A的宽度和高度分别放大、缩小为原来的宽度和高度的n倍和m倍,以得到第一、第二矩形区域300A1和矩形区域300A2。其中,m的范围在0与1之间,n的范围在1与2间。计算环形区域中各象素处的灰度的梯度及其权重

返回图4,在步骤S42之后,流程进入步骤S43。在步骤S43,通过第一计算装置212,计算环形区域300R内各象素点的图象灰度值的梯度值,并确定环形区域300R内各象素点的图象灰度值的梯度值的权重。

下面参照图5和图6,说明根据本发明的人脸探测设备是如何确定环形区域300R内各象素点的图象灰度值的梯度值以及其相应的权重。

一般来说,一幅图象包括很多象素点,每一象素点周围有很多其他象素点。因此,可以根据某一象素点周围的k2个的象素点的灰度值,确定所述象素点的灰度值的梯度值,其中,k是整数,范围在2与15之间。在本实施例中,取k=3。在本实施例中,使用sobel算子,求原始图象中的环形区域300R内各象素点灰度值的梯度值。

下面参照图6,说明如何确定环形区域300R内各象素点的图象灰度值的梯度值。其中,象素点P在X、Y坐标系中的坐标为(380,250)。

参照图6,选择象素点P的相邻象素点P1、P2、P3、P4、P5、P6、P7和P8,也就是使用象素点P的周围象素点。在本实施例中,该图象中的所有象素点的灰度值位于0到255之间。其中,象素点P的灰度值是122,象素点P1、P2、P3、P4、P5、P6、P7和P8的灰度值分别是136、124、119、130、125、132、124和120。

根据sobel算子,在象素点P的各相邻的象素点P1,P2,…,P8的灰度值的基础上,根据下式可以得到象素点P的图象灰度值的梯度值:

DX1=(G3+2*G5+G8)-(G1+2*G4+G6);

DY1=(G6+2*G7+G8)-(G1+2*G2+G3)    (5)

其中,DX1是象素点P的图象灰度值的梯度值的第一分量,DY1是象素点P的图象灰度值的梯度值的第二分量;G1,G2…,G8分别代表象素点P1,P2,…,P8的灰度值。因此,根据公式(5),可以得到象素点P图象灰度值的梯度值为(-39,-3)。

类似地,可以求出环形区域300R内其他各象素点的图象灰度值的梯度值。在本实例中,象素点P1、P2、P3、P4、P5、P6、P7、P8等的图象灰度值的梯度值分别为(-30,-5),(-36,-4),(-32,-1),(-33,-6),(-30,-4),(-38,-8),(-33,-3),(-31,2)。这样,可以同样的方式,求出环形区域300R内所有象素点的灰度值的梯度值。

返回图4,在步骤S43,第一计算装置212还确定环形区域300R内各象素点的图象灰度值的权重,具体方法可以参见下面的公式:

W1=(|DX1|+|DY1|)/255;           (6)

其中,W1代表某一象素点灰度值的权重,DX1,DY1是该象素点的图象灰度值的梯度值。

比如,在本实施例中,参见图6,已知象素点P的图象灰度值的梯度值为(-39,-3),因此,象素点P的图象灰度值的梯度值的权重=(|-39|+|-3|)/255=0.165。

同样,以相同的方式,可以很容易地求出环形区域300R内其他各象素点P1、P2、P3、P4、P5、P6、P7、P8…等的图象灰度值的梯度值的权重分别为0.137,0.157,0.129,0.153,0.133,0.180,0.141,0.129…等。计算环形区中各象素处的基准梯度

参见图4,流程在步骤S43之后进行到步骤S44。在步骤S44,第二计算装置213计算上述环形区300R中的各象素处的一个基准分布的梯度。该基准分布代表了区300A中的人脸的一种理想模型。该基准分布的梯度将被判定装置214用于判定环形区300R中的图象部分接近一个人脸图象的程度。

在本发明的人脸探测方法和设备中,人脸探测,是通过评价所要处理的图象的一个相关部分(环形区300R)中各象素处的灰度分布的梯度的方向与从该基准分布导出的一个基准梯度的方向之间的方向差,而得到进行的。

具体地,对于所确定的各个子图象300A,确定出了一个人脸基准分布,该基准分布可被表示为: >>z>>(>x>,>y>)>>=>-> >>(>x>->>x>c>>)>>2> >a>2> >-> >>(>>>y>->y>>c>>)>>2> >b>2> >+>h> >是h是一个常数,a/b等于所述子图象的宽度与所述子图象的高度的比值,(xc,yc)是子图象的中心。图10显示了具有这样的基准分布的一个灰度图象,且图7显示了该基准分布的等高线(E11和E12)。

因而,该基准分布的梯度可被表示为:z=(z/x,z/y)=(-2(x-xC)/a2,-2(y-yC)/b2)    (7)

由于在此有意义的只有矢量(z/x,z/y)的方向,且在随后的处理步骤中相反的方向(-z/x,-z/y)将与相同的方向一样地得到处理,因而矢量z的x分量和y分量的等比例的改变将不会影响评价的结果。因而只有比值a/b是有意义的。比值a/b的一个通常的值是4/5。

所以,在步骤S44,利用公式(7)计算出梯度z,且该梯度被称为基准梯度。

在步骤S44之后,流程进行到步骤S45。在步骤S45,对于环形区300R中的每一个象素,计算出梯度g与z之间的夹角,其中g=(DX1,DY1)是灰度分布的梯度。当然,g不限于利用公式(5)所计算出的梯度,它可以是利用用于离散梯度计算的任何其他算子所计算出的梯度。

具体地,在点(x,y)处g与z之间的夹角θ可利用以下公式计算:

cosθ=z·g/(|g|·|z|)

θ=cos-1(|z·g|/(|g|·|z|))    (8)

其中z·g是矢量z与g的内积,且|g|与|z|分别表示了矢量g与z的幅度。注意θ在0≤θ≤π/2的范围内。

因此,在本实例中,象素点P的二种梯度的夹角可以确定为0.29。以同样的方式,可以得出其他象素点P1、P2、P3、P4、P5、P6、P7、P8等的二种梯度的夹角分别为0.19,0.26,0.33,0.18,0.23,0.50,0.27,0.42(弧度)。

然后,在步骤S45中,根据下式确定环形区域300R内所有各象素点的图象灰度值梯度值与相应的基准梯度的夹角的平均值:

A1=S1/C1                  (9)

其中,A1表示灰度梯度与其对应的基准梯度之间的夹角在环形区域内的所有象素上的平均值,S1表示环形区域内各象素点的梯度夹角的总和,C1表示该环形区域内象素点的总数。

对于本实例,该环形区域300R内各象素点的图象灰度梯度与相应的基准梯度的夹角的平均值为0.59。

返回图3的步骤S45,在得出上述的梯度的夹角的平均值后,在步骤S45还判断该平均值是否小于第11阈值,比如0.61。在本发明,第11阈值介于0.01至1.5之间。如果确定所得的平均值小于第11阈值,那么,流程进入步骤S46。如果确定所得的平均值不小于第11阈值,那么,流程进入步骤S48。在步骤S48,确定所给出的图象不是人脸,于是,流程在步骤S49结束。

在本实例,环形区域300R内所有各象素点的图象灰度梯度与相应的基准梯度的夹角的平均值为0.59,它小于第11阈值,因此,流程进入步骤S46。

在步骤S46,首先,确定环形区域300R内象素点的灰度梯度与基准梯度之间的夹角与图象灰度梯度的权重的加权平均值。根据下式确定环形区域300R内象素点的该加权平均值:

A2=S2/C2;                 (10)

其中,A2表示环形区域的象素点处的灰度梯度与基准梯度之间的夹角与图象灰度梯度的权重的加权平均值,C2表示这些象素点的灰度梯度的权重之和,S2表示这些象素点的梯度夹角与图象灰度梯度的权重之积的总和。

在本实例中,该环形区域内各象素点梯度夹角的加权平均值为0.66。

得出上述的梯度夹角的加权平均值后,在步骤S46还判断该平均值是否小于第12阈值,比如0.68。在本发明,第12阈值介于是0.01至1之间。如果确定所得的梯度夹角的加权平均值小于第12阈值,那么,流程进入步骤S47。确定待确定的矩形区域是人脸。然后,流程在步骤S49结束。如果确定所得的梯度夹角的加权平均值不小于第12阈值,那么,流程进入步骤S48。在步骤S48,确定所给出的图象不是人脸,于是,流程在步骤S49结束。

在本实例,由于环形区域300R内各象素点梯度夹角的加权平均值为0.66,它小于第12阈值,因此,流程进入步骤S47,确定待确定的矩形区域300A是人脸,然后,流程在步骤S49结束。第二实例

图8A是示意图,示出了要被检测的原始图象的一个例子。在图8A中,该原始图象800是通过数码相机拍摄的。当然,也可以通过诸如扫描仪等一类的数字设备111等,输入到人脸探测系统,并存储在HD107或RAM109等诸如此类的一个预定位置上。

图8B是示意图,示出了图8A的所示的原始图象800中的一矩形区域800B以及其在X、Y坐标系中的位置。其中,X轴、Y轴分别表示每一象素点在水平方向和垂直方向相对于坐标原点的距离。

对于图8B所示的矩形区域800B,仍采用图4所示的流程图,说明用于确定矩形区域800B是否为一人脸的过程。

参见图4,首先在步骤S41,读取装置210中读取原始图象图800各象素的灰度值250,251,251,251,250,249……,并且还读取矩形区域800相对于原始图象800中位置。如图8A所示,在X、Y坐标系中,以原始图象800的左上角为坐标原点。从而可以得到图8B中矩形区域800B在该X、Y坐标系中,其四个角的坐标分别为:(203,219)、(373,219)、(203,423)、(373,423)。因此,该矩形区域800B的宽度和高度分别为170和204。

然后,在步骤S42,通过环形区域确定装置211,确定图8B中矩形区域800B的环形区域800C。参见图8C,对于矩形区域800B,将其宽度、高度分别放大、缩小为原来的9/7倍和5/7倍,得到两矩形区域800C1和800C2。

图8C是示意图,示出了为矩形区域800B所确定的环形区域800C以及其在X、Y坐标系中的位置。其中,X轴、Y轴分别表示每一象素点在水平方向和垂直方向相对于坐标原点的距离。其中,环形区域800C由第一矩形区域800C1和第二矩形区域800C2构成。其中,第一矩形区域800C1的四个角的坐标分别为:(179,190)、(397,190)、(179,452)和(397,452)。而第二矩形区域800C2的四个角的坐标在该X、Y坐标系分别为(227,248)、(349,248)、(227,394)和(349,394)。

然后,在步骤S43,通过第一计算装置212,确定环形区域800C内各象素点的图象灰度值的梯度值分别为(188,6),(183,8),(186,10),(180,6),(180,6)……,并以上述相同的方式,确定环形区域800各象素点的图象灰度值的梯度值的权重,它们分别为0.76,0.75,0.77,0.77,0.73……。

然后,在步骤S44,第二计算装置213确定环形区域800C中各点的基准梯度值,分别为(-0.015,-0.012),(-0.015,-0.012),(-0.015,-0.012),(-0.015,-0.012),(-0.014,-0.012)……。之后,流程进入步骤S45。

在步骤S45,确定环形区域800C中各象素点的梯度夹角,分别得到0.64,0.63,0.62,0.64,0.64……;采用上述相同的方法,可以得到环形区域800C内各象素点的梯度夹角的平均值为0.56。在本实例中,该平均值为0.56,它小于第11阈值,因此,流程进入步骤S46。

在步骤S46,确定环形区域800内各象素点的梯度夹角的加权平均值为0.64。在本实例中,由于该平均值为0.64,小于第12阈值,因此,流程进入步骤S47,确定待确定的矩形区域800B是人脸,然后,流程在步骤S49结束。替换实施例

下面说明本发明的一个替换实施例。

图9为一流程图,示出了按照本发明的一个替换实施例的人脸探测过程。在图9中,和图4的实施例中相同的标号表示相同的处理。

仍然以图8A所示的原始图象800为例,说明判断原始图象800中的矩形区域800B是否为人脸。

首先,与图4一样,本流程开始于步骤S40。首先在步骤S41,读取装置210中读取原始图象图800各象素的灰度值250,251,251,251,250,249……;眼睛探测装置218探测图象中的眼睛区;且子图象确定装置219根据眼睛区探测的结果确定待探测的子图象,如矩形区800B。然后,流程进入步骤S42,在步骤S42,如图8C所示,为矩形区域800B确定环形区域800C。进一步,流程进入步骤S43,在步骤S43,确定环形区域800C内各象素点的图象灰度值的梯度值分别为(188,6),(183,8),(186,10),(180,6),(180,6)……;并以上述实施例相同的方式,确定环形区域800C内各象素点的图象灰度值的梯度值的权重,它们分别为0.76,0.75,0.77,0.77,0.73……。然后,流程进入步骤S44。在步骤S44,得到环形区域800C内各象素点的基准梯度值分别为(-0.015,-0.012),(-0.015,-0.012),(-0.015,-0.012),(-0.015,-0.012),(-0.014,-0.012)……。

然后,流程进入步骤S95。在步骤S95,确定环形区域800C各象素点的灰度梯度与其基准梯度的夹角,分别得到为0.64,0.63,0.62,0.64,0.64……,并确定环形区域800C各点梯度夹角与其相应权重的加权平均值。在步骤S95还判断该平均值是否小于第13阈值,比如0.68。在本发明,第13阈值介于0.01至1之间。如果确定所得的梯度夹角的加权平均值小于第13阈值,那么,流程进入步骤S96。在步骤S96,确这待确定的矩形区域是人脸。如果确定所得的梯度夹角的加权平均值不小于第13阈值,那么,流程进入步骤S97,确定所给出的图象不是人脸,于是,流程在步骤S98结束。

对于本实例,由于环形区域内各象素点梯度夹角的加权平均值为0.64,它小于第13阈值,因此,流程进入步骤S96,确定待确定的矩形区域800B是人脸,然后,流程在步骤S98结束。

如本领域中的技术人原所能够理解的,并不一定要计算和评价环形区中的每一个象素处的灰度分布梯度与基准分布梯度之间的夹角;相反地,在根据本发明的用于探测人脸(或所要探测的其他对象)的方法中,可以只计算和评价环形区中的某些象素处的该夹角,而实现本发明的目的和效果。

另外,虽然在上述描述中,描述了采用灰度分布梯度与基准分布梯度之间的夹角的平均值和该夹角的加权平均值进行评价的一个具体实施例以及只采用加权平均值进行评价的另一具体实施例,但其中只采用该夹角的平均值进行评价的实施例也能够实现本发明的目的且因而也是本发明的一个实施例。

注意,本发明可以应用于由多个装置(例如,主计算机、接口装置、读取器、打印机以及类似装置)构成的系统,或者由一个设备构成的装置(例如复印机、传真机或类似的设备)。

本发明的目的还以这样的方式实现:对所述的系统或装置提供用于记录可以实现上述实施例的功能的软件程序的程序代码的存储介质,并通过系统或装置的计算机(或CPU,或MPU)读取并执行存储在存储介质中的程序代码,在这种情况下,从存储介质读出的程序代码本身执行上述实施例的功能,而存储程序代码的存储介质构成本发明。

作为用于提供程序代码的存储介质,例如,软盘、硬盘、光盘、磁光盘、CD-ROM、CD-R、磁带、非易失存储卡、ROM以及类似物都可以使用。

上述实施例的功能不仅可以通过由计算机执行读出的程序代码来实现,而且也可以通过在计算机上运行的OS(操作系统)根据程序代码的指令执行的一些或全部的实际处理操作来实现。

从上述可以看出,本发明的方法提供了一种快速的方法,用于判断具有复杂背景的图象中的人脸,而不需要被检测的图象具有非常高的质量。从而实质上地消除了人脸被忽略的可能。这种方法能精确地判断待检测的图象是否包含人脸。因此,按照本发明的方法、设备或系统,可以快速、有效地判断人脸。

此外,本发明还包括这样一种情况,即在从存储介质读出的程序代码被写入已被插入计算机的功能扩展卡之后,或者被写入和计算机相连的功能扩展单元内提供的存储器之后,在功能扩展卡或功能扩展单元中包括的CPU或类似物按照程序代码的命令执行部分处理或全部处理,从而实现上述实施例的功能。

在本发明应用于上述存储介质的情况下,存储介质存储相应于实施例中所述的流程(图4、图9)的程序代码。

上述实施例的方法用于判断人脸,然而,本发明并不仅于判断人脸,它还可以适用于其他的判断方法,比如,检测电路板的缺陷部分的方法。

在不脱离本发明的范围和构思的前提下,可以作出许多其他的改变和改型。应当理解,本发明并不限于特定的实施例,本发明的范围由所附权利要求限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号