用于提供与定向无关的脸部检测器的方法、装置和计算机程序产品的制作方法

文档序号:6596170阅读:102来源:国知局
专利名称:用于提供与定向无关的脸部检测器的方法、装置和计算机程序产品的制作方法
技术领域
本发明的实施例一般涉及图像处理技术并且具体涉及一种用于提供与定向无关的脸部检测的方法、装置和计算机程序产品。
背景技术
脸部检测和识别正在变成一种越来越重要的技术。就这一点而言,脸部检测例如可以使用于生物测定、用户接口和其他领域中(比如在移动领域中创建用于访问团体的上下文)。脸部检测也可以在涉及比如元数据标准化这样的革新时对发展举足轻重。虽然脸部检测技术继续改进,但是许多当前方法需要高计算能力(例如通过以跨越多比例的方式扫描图像来检测脸部的统计方法)或者受困于有限的脸部检测性能(例如脸部检测误报相对高的基于构造的方法)。另外,一些统计脸部检测机制在涉及正面脸部检测时多视图脸部检测性能下降。作为另一并发问题,在特定图像中遇到的脸部可能并非总是相对于相机定向于相同方向,这可能负面地影响脸部检测。例如,平面内旋转(例如沿着从脸部到观察者的轴进行旋转的脸部)可能在一些情况下使检测变复杂。因而,对在请求时相对快速地创建内容、存储内容和/或接收内容的能力继续增加的设备进行开发的趋势、朝着电子设备(例如移动电子设备、比如移动电话)在当今世界中变得越来越普遍的趋势、以及对继续改进接口和访问机制以开启此类设备的能力的驱策可能使得希望在脸部检测领域中提供进一步改进。

发明内容
因此提供一种用于实现与定向无关的脸部检测机制的方法、装置和计算机程序产品。例如,在一些示例实施例中,提供一种能够在可能的平面内旋转角的360度跨度上检测脸部的机制。另外,在一些情况下,示例实施例通过将基于结构的检测方案与使用统计方法的验证操作(例如基于Adaboost (自适应增强)的统计验证)一起用于减少误报发生率来提供一种相对快且稳健的多视图脸部检测机制。这样,一些实施例提供一种用于利用基于多比例和多级结构的检测方法来检测脸部候选、然后在将脸部候选旋转至竖直(涉及两个检测到的眼部的连线)之后将多个脸部检测器用于验证候选(例如使用Adaboost脸部检测器,这些检测器检测正面脸部和平面外旋转90度脸部的能力很强)的能力。在一个示例实施例中,提供一种提供与定向无关的脸部检测的方法。该方法可以包括根据输入图像来生成多个马赛克图像,其中多个马赛克图像中的各马赛克图像具有不同比例;使用多个不同定向的边缘检测器以对多个马赛克图像执行边缘检测,包括组合具有不同比例的多个马赛克图像的边缘;并且基于多个不同定向的边缘检测器产生的相应特征映射来在与多个不同定向的边缘检测器对应的区域中执行脸部检测。在另一示例实施例中,提供一种用于提供与定向无关的脸部检测的计算机程序产品。该计算机程序产品包括至少一个计算机可读存储介质,该至少一个计算机可读存储介
5质具有存储于其中的计算机可执行程序代码指令。这些计算机可执行程序代码指令可以包括用于进行以下操作的程序代码指令根据输入图像来生成多个马赛克图像,其中多个马赛克图像中的各马赛克图像具有不同比例;使用多个不同定向的边缘检测器以对多个马赛克图像执行边缘检测,包括组合具有不同比例的多个马赛克图像的边缘;并且基于多个不同定向的边缘检测器产生的相应特征映射来在与多个不同定向的边缘检测器对应的区域中执行脸部检测。在另一示例实施例中,提供一种用于提供与定向无关的脸部检测的装置。该装置可以包括处理器。该处理器可以被配置成根据输入图像来生成多个马赛克图像,其中多个马赛克图像中的各马赛克图像具有不同比例;使用多个不同定向的边缘检测器以对多个马赛克图像执行边缘检测,包括组合具有不同比例的多个马赛克图像的边缘;并且基于多个不同定向的边缘检测器产生的相应特征映射来在与多个不同定向的边缘检测器对应的区域中执行脸部检测。在又一示例实施例中,提供一种用于提供与定向无关的脸部检测的装置。该装置可以包括用于根据输入图像来生成多个马赛克图像的装置,其中多个马赛克图像中的各马赛克图像具有不同比例;用于使用多个不同定向的边缘检测器以对多个马赛克图像执行边缘检测,包括组合具有不同比例的多个马赛克图像的边缘的装置;以及用于基于多个不同定向的边缘检测器产生的相应特征映射来在与多个不同定向的边缘检测器对应的区域中执行脸部检测的装置。本发明的实施例可以提供一种用于例如在移动或者固定环境中使用的方法、装置和计算机程序产品。因而例如计算设备用户可以享用改进的脸部检测能力。


已经这样一般性地描述了本发明的一些实施例,现在将对未必按比例绘制的以下附图进行参照,并且附图中图1图示了根据本发明示例实施例的、用于实现与定向无关的脸部检测的装置的示意框图的一个示例;图2示出了根据本发明示例实施例的、对输入图像进行马赛克化的示例;图3示出了根据本发明示例实施例的、定向成针对平面内旋转提供全跨度覆盖的四个边缘检测器的扇区覆盖示例;图4示出了框图,该框示了本发明示例实施例的图像修改器和边缘检测器的组合操作;图5A示出了根据本发明示例实施例的、可以作为原图像向本发明的一个实施例中输入的图像的示例;图5B图示了根据本发明示例实施例的、原图像在灰度二值化级为60的0度有向边缘特征映射的示例;图5C示出了根据本发明示例实施例的脸部检测结果的示例;图6(包括图6A至图6B)图示了根据本发明示例实施例的弹性脸部模板的示例;图7示出了可以结合本发明示例实施例使用的七个不同haar-like特征的示例;图8图示了根据本发明示例实施例的、用于在引导中使用的惩罚方案;
图9示出了根据本发明一个示例实施例执行的操作的框图;图10图示了可以从本发明示例实施例中受益的移动终端的框图;以及图11是根据本发明示例实施例的、用于提供与定向无关的脸部检测的示例方法的流程图。
具体实施例方式现在下文将参照其中示出本发明的一些、但是并非所有实施例的附图更完全地描述本发明的一些实施例。实际上,本发明的各种实施例可以用多个不同形式来实施而不应理解为限于这里阐述的实施例;恰恰相反,提供这些实施例使得本公开内容将满足适用法律要求。类似标号通篇指代类似单元。如这里所用,术语“数据”、“内容”、“信息”和类似术语可以互换使用以指代能够根据本发明实施例发送、接收和/或存储的数据。另外如这里所用,提供术语“示例,,并非传达任何定性评估而代之以仅传达举例说明。此外,这里在相对意义上使用术语近和远以便指代物体参照彼此与某点更近和更远而并非另外代表任何特定或者可量化位置。因此,使用任何这样的术语不应理解为限制本发明实施例的精神实质和范围。本发明的一些实施例可以提供一种可以用来体验关于脸部检测的改进的机制。就这一点而言,例如一些实施例可以提供一种可以适合于元数据赋值、生物测定以及在手持或者其他计算设备上的诸多其他活动的实时或者近实时脸部检测方案。图1图示了根据本发明个示例实施例的、用于实现与定向无关的脸部检测的装置的示意框图的一个示例。现在将参照图1描述本发明的示例实施例,在该图中显示用于实现与定向无关的脸部检测的装置的某些单元。可以例如在移动终端(例如图11的移动终端10)或者多种其他移动和固定设备(例如网络设备、个人计算机、膝上型计算机等)上使用图1的装置。备选地,可以在设备的组合上使用实施例。因而,本发明的一些实施例可以完全实施于单个设备(例如移动终端10)或者由具有客户机/服务器关系的设备实施。另外应当注意,下述设备或者单元可以并非必需,因此可以在一些实施例中省略一些设备或者单元。现在参照图1,提供一种用于实现与定向无关的脸部检测的装置。该装置可以包括处理器70、用户接口 72、通信接口 74和存储器设备76或者以别的方式与它们通信。存储器设备76可以例如包括易失性和/或非易失性存储器。存储器设备76可以被配置成存储用于使装置能够根据本发明示例实施例实现各种功能的信息、数据、应用、指令等。例如,存储器设备76可以被配置成缓存用于由处理器70处理的输入数据。附加地或者备选地,存储器设备76可以被配置成存储用于由处理器70执行的指令。作为又一备选,存储器设备 76可以是存储信息和/或媒体内容的多个数据库之一。可以用多个不同方式实施处理器70。例如,处理器70可以实施为各种处理装置, 比如处理单元、协处理器、控制器或者各种其他处理设备(包括诸如ASIC(专用集成电路)、 FPGA (现场可编程门阵列)、硬件加速器等集成电路)。在一个示例实施例中,处理器70可以被配置成执行存储器设备76中存储的或者以别的方式可由处理器70访问的指令。这样,无论通过硬件或者软件方法还是通过其组合来配置,处理器70都可以代表能够在被相应地配置之时根据本发明实施例执行操作的实体。
同时,通信接口 74可以是被配置成从/向网络和/或与装置通信的任何其他设备或者模块接收和/或发送数据的的任何装置,比如用硬件、软件或者硬件与软件的组合实施的设备或者电路。就这一点而言,通信接口 74可以例如包括一个天线(或者多个天线) 以及用于实现与无线通信网络(例如网络78)的通信的支持硬件和/或软件。在固定环境中,通信接口 74可以备选地或者也支持有线通信。这样,通信接口 74可以包括通信调制解调器和/或用于支持经由线缆、数字用户线(DSL)、通用串行总线(USB)或者其他机制的通信的其他硬件/软件。用户接口 72可以与处理器70通信以接收在用户接口 72处的用户输入的指示和/ 或向用户提供可听、可视、机械或者其他的输出。这样,用户接口 72可以例如包括键盘、鼠标、操纵杆、显示器、触屏、麦克风、扬声器或者其他输入/输出机制。在其中装置实施为服务器或者一些其他网络设备的一个示例实施例中,可以限制或者消除用户接口 72。然而在其中装置实施为移动终端的一个实施例中,用户接口 72可以包括扬声器、麦克风、显示器和键盘等中的任何一个或者全部以及其他设备或者单元。在一个示例实施例中,处理器70可以实施为、包括或者以别的方式控制图像修改器80、边缘检测器82、脸部检测器84、候选旋转器86和验证器88。图像修改器80、边缘检测器82、脸部检测器84、候选旋转器86和验证器88可以各自是配置成分别执行图像修改器80、边缘检测器82、脸部检测器84、候选旋转器86和验证器88的如下文所述对应功能的任何装置,比如用硬件、软件或者硬件和软件的组合实施的设备或者电路(例如在软件控制之下操作的处理器70、实施为具体配置成进行这里所述操作的ASIC或者FPGA或者其组合的处理器70)。在一个示例实施例中,图像修改器80、边缘检测器82、脸部检测器84、候选旋转器 86和验证器88中的任一个或者全部可以包括用于提供脸部检测服务的相应部分的指令、 代码、模块、应用和/或电路。然而,应当注意,与图像修改器80、边缘检测器82、脸部检测器84、候选旋转器86和验证器88关联的代码、电路和/或指令无需必然为模块化。在一些实施例中,经由处理器70进行在图像修改器80、边缘检测器82、脸部检测器84、候选旋转器86和验证器88之间的通信。然而,在其他实施例中,图像修改器80、边缘检测器82、脸部检测器84、候选旋转器86和验证器88备选地彼此直接通信或者可以彼此无通信。在一个示例实施例中,图像修改器80将输入图像从像素级数据修改成特征级数据,因而边缘检测器82可以对特征级数据执行边缘检测。脸部检测器84然后使用如下文所述弹性脸部模板来检测脸部候选,该模板可以在360度平面内旋转跨度上检测脸部。在已经检测到候选脸部之后,候选旋转器86可以将检测到的候选旋转至竖直,此后验证器88 可以验证候选是否对应于脸部。在一个示例实施例中,图像修改器80可以与媒体捕获模块(例如图11的相机模块37)通信以接收用于在如下文所述的分析中使用的图像数据。然而,在备选实施例中,图像修改器80可以从存储位置(例如存储器设备76)或者另一设备接收图像。图像修改器 80可以被配置成对输入图像进行马赛克化。就这一点而言,一些实施例的图像修改器80被配置成将图像中的像素级数据转换成特征级数据。图2示出了根据示例实施例对输入图像进行马赛克化的示例。就这一点,作为示例,图像修改器80被配置成根据输入图像(例如原图像)构建多个比例的马赛克图像。在一些情况下,可以分别使用涉及2x2、4x4、6x6和8x8马赛克单元尺寸的四个比例。如图2 中所示,可以通过对输入图像在相应限定单元窗中的所有像素的值求平均来计算各马赛克单元的值。由于在任何两个邻近马赛克单元之间的强相关,可能希望在计算平均值时考虑在单元之间按照某一百分比的重叠。例如,图2中的各马赛克单元A、B、C和D可以具有与某些其他单元或多或少重叠的部分(例如单元A与单元B和C各重叠50 %、但是与单元D 重叠仅25% )。因此根据一个示例实施例,使用图像修改器80来对图像进行马赛克化高效地去除脸部细节纹理并且强调更大的脸部特征(例如眼部、嘴部和脸部边界),因为马赛克图像由马赛克单元而非像素组成。可以向边缘检测器82传送由图像修改器80产生的包括各种比例的马赛克化输入图像。在一些实施例中,边缘检测器82被配置成对不同马赛克比例的图像进行二值化,以便检测边缘特征。这样,在一个示例实施例中,边缘检测器82可以充当多比例和多级边缘特征检测器。就这一点而言,例如可以在一个实施例中使用四个边缘检测器,其中四个边缘检测器定向于0度、45度、90度和135度。让四个边缘检测器以这一方式来定向可以提供在宽定向跨度上(例如在360度上)的准确边缘检测。图3示出了如上文所述定向的四个边缘检测器可以如何针对平面内旋转提供全跨度覆盖的示例。如图3的示例中所示,0度定向的边缘检测器用来检测范围从约337. 5度至22. 5度和从约157. 5度至202. 5度的脸部。 45度定向的边缘检测器用来检测范围从约22. 5度至67. 5度和从约202. 5度至M7. 5度的脸部。90度定向的边缘检测器用来检测范围从约67. 5度至112. 5度和从约M7. 5度至 292. 5度的脸部。最后,135度定向的边缘检测器用来检测范围从约112. 5度至157. 5度和从约四2. 5度至337. 5度的脸部。然而,应当注意,图3的实施例仅是边缘检测器的可能定向的一个示例,并且可以备选地使用配置成覆盖360度跨度的其他定向。一般而言,以竖直人脸为例,脸部上的眼部和嘴部可以呈现为分辨率低的凹型水平特征。因而有可能通过检测特征并且尝试将它们分组在与脸部的眼部和嘴部的预计特征拟合的图案中来提取脸部。因此,如果存在于图像中的一些特征与具有预计图案的预定义脸部结构匹配则可以标识脸部区域。在实际情形中,脸部可以具有可以使上述过程变复杂的任何数目的不同平面内旋转。因而,如上文所述使用各种不同定向的边缘检测器可以提供所有可能平面内旋转角的覆盖。在上述示例中,各边缘检测器被配置成覆盖彼此相差180 度定向的两个45度条幅(swath)。因而,如果有ML个二值化级,则有可能创建4*ML个边缘特征映射。由于作为组合多个比例的边缘的结果,边缘特征被确定,所以各边缘特征可以大致反映正在分析的特征对象的方向和形状。图4示出了框图,该框示了一个示例实施例的图像修改器80和边缘检测器的组合操作。就这一点而言,输入图像100可以由图像修改器80马赛克化以产生各种不同马赛克化图像比例。例如,图像修改器80可以如在操作102处所示的按照比例1、如在操作 104处所示的按照比例2并且如操作106处所示的按照任何数目的附加比例下至比例η来对图像进行马赛克化。阈值TH然后可以在操作108处由边缘检测器82建立。在操作110 处,可以基于比较按照比例1的马赛克化图像与阈值TH来提取有向边缘。分别在操作112 和114处,可以针对每个相应比例(例如2和η)基于阈值TH来提取有向边缘。边缘检测器 82在一些情况下也分别对有向边缘运算符所滤波的所有马赛克图像(例如经由0-255灰度)进行二值化,以获得对应二值边缘映射(例如对应于0度、45度、90度和135度边缘检测器)。在一些实施例中,可以针对不同比例为不同级(例如等于20、40和60的灰度值) 设置二值化。然后可以用逻辑“或”运算116处理与各比例对应的输出以在操作118处提供在阈值TH级处的有向边缘特征映射。这样,例如可以通过组合不同比例在相同二值化级的所有对应边缘映射来创建边缘特征映射。有向边缘特征映射因此可以通过OR运算116 由在相同级的对应有向边缘图像来创建。图5A示出了可以作为原图像向本发明一个实施例中输入的图像的示例。图5B图示了原图像在灰度二值化级60处的0度有向边缘特征映射的示例。图5C示出了下文将更具体描述的(例如脸部检测器84的)脸部检测结果的示例。在一个示例实施例中,脸部检测器84被配置成使用基于模板的脸部识别机制。在一些示例中,可以考虑脸部检测器84应用弹性或者灵活脸部检测过程。就这一点而言,例如可以定义弹性脸部模板用于在由边缘检测器82提供的有向边缘特征映射上检测脸部候选。基于人脸的具体结构来定义弹性脸部模板。例如,人脸的眼部和嘴部(在双眼可见时) 如图5C中所示形成三角形。图6(包括图6A和图6B)示出了根据一个示例实施例的弹性脸部模板的示例。图6A示出了根据一个示例的形成弹性模板的五个部分或者块。五个块可以包括上额块(1)、鼻孔块O)、上唇块⑶以及左和右脸颊块(分别为⑷和(5))。因此, 弹性模板的块可以有助于基于双眼的初始检测而对脸部候选上的鼻部和嘴部进行定位。由于模板的宽度(W)和高度(H)不是固定的,因此弹性模板被认为是灵活的或者弹性的。取而代之,模板的宽度(W)可以取决于在检测到的双眼的眼部之间的距离。可以基于在嘴部 (或者可能的嘴部)与双眼连线之间的距离来确定高度(H)。图6B示出了应用于双眼和嘴部的弹性模板,其中双眼具有θ度平面内旋转。在一个示例实施例中,脸部检测器84被配置成首先寻找双眼。在对双眼进行定位之后,根据这一示例的脸部检测器84被配置成尝试通过将弹性模板应用于定位的双眼(或者潜在双眼)来确定脸部候选。就这一点而言,例如在对双眼进行定位之后,脸部检测器84 可以基于在眼部之间的距离来确定弹性脸部模板的宽度。眼部相对于彼此的定向表明平面内旋转角(例如图6Β中的Θ)并且也可以由脸部检测器84确定。就这一点而言,例如可以旋转弹性模板以保证弹性模板的顶边与在眼部之间的连线对准。此外,左眼的中心和右眼的中心可以各自分别定位至弹性模板的左上角和右上角(旋转的弹性模板的示例见图 6Β)。然而,在一些情况下,可以通过利用具有如下跨度的有向边缘特征映射来提高检测性能,该跨度包括已确定的双眼的斜角(Θ)。就这一点而言,例如1)在-22.5° < θ <22.5° (0° < θ < 22. 5° 或者 337. 5° < θ < 360° ) 或者157. 5° < θ < 202.5°之时,在0°有向边缘特征映射上迫近脸部检测;2)在 22. 5° < θ <67.5° 或者 202. 5° < θ < 247. 5° 之时,在 45° 有向边缘特征映射上迫近脸部检测;3)在 67. 5° < θ <112.5° 或者 247. 5° < θ < 292. 5° 之时,在 90° 有向边缘特征映射上迫近脸部检测;并且4)在 112. 5° < θ <157.5° 或者四2. 5° < θ < 337.5° 之时,在-45° 有向边缘特征映射上迫近脸部检测。脸部检测器84对从边缘检测器82提供的边缘特征映射中的各相应边缘特征映射的操作使脸部检测器84能够在可能平面内旋转角的整个360度跨度上检测所有脸部候选。
10另外,脸部检测器84对与覆盖双眼平面内旋转角的跨度对应的边缘特征映射上的操作在一些情况下提供提高的性能。脸部检测器84也可以被配置成在对脸部候选进行定位之时确定弹性模板的高度 (H)。就这一点而言,例如如果假设有分别在弹性模板的区域1、2、3、4和5中包括的m、N2、 N3、N4和N5个边缘特征,那么如果满足以下条件则可以确定脸部区域(1)蛋>0.6和蛋〉0.6,并且(2) Nl < 2 并且 N2 < 3 并且 N3 = N4 = N5 = 0。脸部检测器84可以呈现的优点在于脸部检测器84可以能够用弹性模板在有向边缘特征映射上在360°跨度上直接检测脸部。如上文所示,图5C示出了一个示例实施例利用脸部检测器84的脸部检测结果的示例。由于在来自边缘检测器82的有向边缘特征映射上处理脸部检测,并且涉及到的边缘特征数目相对有限,所以处理可以涉及到比原图像像素数目少得多的像素,因此可以提高检测速度。尽管有这一改进,但是由于边缘特征映射可能在一些情况下仅有图像结构信息而无原图像的纹理细节,所以有可能的是可能在一些实例中经历脸部误报。因而,验证器88可以用来筛选数据并且减少误检。验证器88可以被配置成执行验证操作以便验证可能的检测是否将视为实际上与脸部检测相关。在一个示例实施例中,验证器88可以将Adab00st(自适应增强)技术使用于验证目的。然而,Adaboost仅是验证器88的具体实施方式
的一个示例,并且可以备选地使用其他机制。Adaboost是可以与其他学习机制(例如由上述图像修改器80、边缘检测器 82和脸部检测器84执行的脸部检测机制)结合用来提高性能的机器学习算法。本发明的实施例可以在一些情况下修改验证器88以关于Adaboost提供针对特征空间的新定义。就这一点而言,例如Adaboost的实时计算可以来自简单特征结构和对积分图像的使用。Adaboost通常可以与四种已定义haar-like特征结合使用,这些特征的值可以使用积分图像来迅速计算。本发明的一些实施例可以将这扩展成定义七种特征(图7中举例示出)。这些扩展的特征可以实现提供用于对本征脸部特征进行编码的更多灵活选择, 从而针对预定义性能可以需要更少弱分类器。此外,也可以提供性能推广,因为呈现的特征也可以具有简单结构。本发明的实施例也可以在一些情况下在引导中引入惩罚方案。就这一点而言,例如Adaboost级联训练可以使用引导以收集用于下一级联的新的正样本和负样本。同时,本发明的一些实施例向引导中引入惩罚系数。就这一点而言,例如给定图像补片x(例如负样本,在它穿过先前级联和现有级联之后),该图像补片的输出分数可以是C(X)。如果分数大于给定阈值a(C(x) > a),则图像补片可以确定为新训练样本。然而如图8A中所示,如果一些正样本和负样本很接近级联边际150,则考虑图像噪声,分类可能是不可靠的。为了解决这一不可靠问题,可以放松边界(如图8B中的边界152所示)以便泄漏输出值大于 (a-aO)、但是少于a的更多样本,其中aO为正的常数、即惩罚系数。使用这一策略,可以针对下一级联重新训练置信度低的负样本以保证更可靠性能。在一个示例实施例中,aO可以设置成0. 001,而a由对应级联中的FAR(误接受率)和FRR(误拒绝率)来定义,其中FAR 或FRR的每个也可以设置成0. 001。在一个示例实施例中,验证器88可以包括候选旋转器86或者可以在候选旋转器86之后,该候选旋转器86可以被配置成基于平面内旋转角来竖直地旋转各候选。验证器 88 (例如如上文所述修改的Adaboost验证器)然后可以操作竖直旋转的候选以用于进一步验证。在一些实施例中,三个验证器可以用于分别验证-45度、O度、+45度平面外旋转角的情况。如果脸部候选可以通过验证器之一,则该候选脸部可以视为用于输出的实际脸部。 同时,也可以配准脸部的方向(例如平面内和平面外旋转角)。图9示出了根据本发明示例实施例执行的操作的框图。就这一点而言,例如在操作200处,图像修改器80可以按比例缩减并且对输入图像进行多比例马赛克化。边缘检测器82然后可以在操作202处执行有向边缘特征检测。在操作204处,脸部检测器84可以执行基于模板的360度跨度脸部检测。在操作206处,候选旋转器86可以竖直地旋转脸部候选。验证器88然后可以在操作208处例如利用改进的Adaboost以验证候选脸部以便产生脸部输出。因而,本发明的一些实施例提供特征级而非像素级的脸部检测。因而,可以提高检测速度。在一些情况下,无需提前设置脸部比例。取而代之,可以根据来自边缘特征映射的双眼和检测到的嘴部来自动地计算脸部比例。一旦检测到脸部,可以对脸部上的双眼准确定位。本发明的一些实施例也通过利用四组边缘特征映射(例如0、45、90和135度)来提供实现360度平面内脸部检测。另外,使用验证器88的一些实施例提供减少的误报。如上文所言,可以在移动或者固定设备上实现本发明的一些实施例。在图10中示出了可以在其上利用本发明实施例的移动设备的示例。就这一点而言,图10图示了可以从本发明示例实施例中受益的移动终端10的框图。然而,应当理解,如图所示和下文所述的移动终端仅举例说明可以从本发明的一些实施例中受益的一类终端,因此不应理解为限制本发明实施例的范围。若干类型的移动终端(比如便携数字助理(PDA)、寻呼机、移动电视、 游戏设备、所有类型的计算机(例如膝上型或者移动计算机)、相机、音频/视频播放器、无线电、全球定位系统(GPS)设备或者前述移动终端的任何组合以及其他类型的通信系统) 可以容易使用本发明的实施例。在一个示例实施例中,移动终端10包括与发送器14和接收器16可操作通信的一个天线12 (或者多个天线)。移动终端110还可以包括分别向发送器14提供信号而从接收器16接收信号的装置、比如控制器20 (例如处理器70)或者其他处理单元。信号在一些情况下包括根据适用蜂窝系统的空中接口标准的信令信息,和/或也可以包括与话音、接收的数据和/或用户生成/发送的数据对应的数据。就这一点而言,例如移动终端10可以能够根据一个或者多个空中接口标准、通信协议、调制类型和接入类型进行操作。举例而言, 移动终端10可以能够根据多个第一代、第二代、第三代和/或第四代通信协议等中的任何通信协议进行操作。例如,移动终端10可以能够根据第二代QG)无线通信协议IS-136(时分多址(TDMA))、GSM(全球移动通信系统)和IS-95(码分多址(CDMA))或者根据第三代 (3G)无线通信协议(比如通用移动电信系统(UMTS)、CDMA2000,宽带CDMA(WCDMA)和时分-同步CDMA (TD-SCDMA))、根据3. 9G无线通信协议(比如E-UTRAN(演进-通用地面无线电接入网络))、根据第四代GG)无线通信协议等进行操作。作为备选(或者附加地),移动终端10可以能够根据非蜂窝通信机制进行操作。例如,移动终端10可以能够在无线局域网(WLAN)或者其他通信网络中通信。在一个示例实施例中,控制器20包括用于实施移动终端10的音频/视频和逻辑功能以及其他功能的电路。例如,控制器20可以包括数字信号处理器设备、微处理器设备和各种模数转换器、数模转换器和/或其他支持电路。可以在这些设备之间根据它们的相应能力来分配移动终端10的控制和信号处理功能。控制器20因此也可以包括用于在调制和发送之前对消息和数据进行编码和交织的功能。控制器20还可以包括内部语音编码器并且可以包括内部数据调制解调器。在一些情况下,控制器20还包括用于操作可以存储于存储器中的一个或者多个软件程序的功能性。例如,控制器20可以能够操作连接程序、 比如常规web浏览器。连接程序然后可以允许移动终端10例如根据无线应用协议(WAP)、 超文本传送协议(HTTP)等来发送和接收web内容,比如基于位置的内容和/或其他网页内容。 移动终端10也可以包括可以可操作地耦合到控制器20的用户接口,该用户接口包括输出设备(比如耳机或者扬声器对、麦克风沈、显示器28)和用户输入接口。允许移动终端10接收数据的用户输入接口可以包括允许移动终端10接收数据的多个设备中的任何设备,比如小键盘30、触摸显示器(未示出)或者其他输入设备。在包括小键盘30的实施例中,小键盘30可以包括数字(0-9)和有关键(#、*)以及用于操作移动终端10的其他硬键和软键。备选地,在一些实施例中,小键盘30包括QWERTY小键盘布置。小键盘30也可以包括具有关联功能的各种软键。附加地或者备选地,移动终端10可以包括接口设备, 比如操纵杆或者其他用户输入接口。移动终端10还包括用于向用来操作移动终端10的各种电路供电以及可选地提供机械振动作为可检测输出的电池134,比如振动电池组。在一些实施例中,移动终端110还包括用户身份模块(UIM)38。UIM 38通常是具有内置处理器的存储器设备。UIM 38可以例如包括用户身份模块(SIM)、通用集成电路卡 (UICC)、通用用户身份模块(USIM)、可拆卸用户身份模块(R-UIM)等。在一些情况下,UIM 38存储与移动用户有关的信元。除了 UIM 38之外,移动终端10还可以配备有存储器。移动终端10可以包括易失性存储器40和/或非易失性存储器42。例如,易失性存储器40可以包括随机访问存储器(包括动态/或静态RAM)、片上或者片外高速缓存存储器等。可以嵌入和/或可拆卸的非易失性存储器142可以例如包括只读存储器、闪存、磁存储设备(例如硬盘、软盘驱动、磁带等)、光盘驱动和/或介质、非易失性随机访问存储器(NVRAM)等。 类似于易失性存储器40,非易失性存储器42可以包括用于临时存储数据的高速缓存区。存储器可以存储由移动终端10用来实施移动终端10的功能的多条信息和数据中的任何信息和数据。例如,存储器可以包括能够唯一标识移动终端10的标识符、比如国际移动设备标识(IMEI)代码。另外,储存器可以存储用于确定小区id信息的指令。具体而言,存储器可以存储用于由控制器20执行的应用程序,该应用程序确定移动终端10与之通信的当前小区的标识、即小区id标识或者小区id信息。在一个示例实施例中,移动终端10可以包括与控制器20通信的媒体捕获模块,比如相机、视频和/或音频模块。媒体捕获模块可以是用于捕获用于存储、显示或者发送的图像、视频和/或音频的任何装置。例如,在媒体捕获模块为相机模块37的一个示例实施例中,相机模块37可以包括能够根据捕获的图像来形成数字图像文件的数字相机。这样,相机模块37可以包括为了根据捕获的图像来创建数字图像文件而必需的所有硬件(比如透镜或者其他光学器件)和软件。图11是根据本发明一些示例实施例的系统、方法和程序产品的流程图。将理解可以通过各种手段(比如硬件、固件和/或包括一个或者多个计算机程序指令的软件)来实施流程图的各块或者步骤和在流程图中的块的组合。例如,可以通过计算机程序指令来实施一个或者多个上述过程。就这一点而言,实施上述过程的计算机程序指令可以由实施本发明实施例的移动终端或者其他装置的存储器设备存储并且由该移动终端或者其他装置中的处理器执行。如将理解的那样,任何这样的计算机程序指令可以加载到计算机或者其他可编程装置(即硬件)上以产生机器,使得在该计算机(例如经由处理器)或者其他可编程装置上执行的指令产生用于实施在流程图的块或者步骤中指定的功能。这些计算机程序指令也可以存储于计算机可读存储器中,该存储器可以指引计算机(例如处理器或者另一计算设备)或者其他可编程装置以特定方式工作,使得存储于计算机可读存储器中的指令产生实施包括如下指令装置的制品,该指令装置实施在流程图的块或者步骤中指定的功能。计算机程序指令也可以加载到计算机或者其他可编程装置上以使系列操作步骤在该计算机或者其他可编程装置上执行,以产生计算机实施的过程,使得在该计算机或者其他可编程装置上执行的指令提供用于实施在流程图的块或者步骤中指定的功能的步骤。因而,流程图的块或者步骤支持用于执行指定功能的装置的组合、用于执行指定功能的步骤的组合和用于执行指定功能的程序指令装置。也将理解,可以通过基于专用硬件的计算机系统(该计算机系统执行指定功能或者步骤)或者专用硬件与计算机指令的组合来实施流程图的一个或者多个块或者步骤和在流程图中的块或者步骤的组合。就这一点而言,如例如图11中所示用于提供与定向无关的脸部检测方法的一个实施例可以包括在操作300处根据输入图像来生成多个马赛克图像,其中多个马赛克图像中的各马赛克图像具有不同比例。该方法还可以包括在操作310处使用多个不同定向的边缘检测器以对多个马赛克图像执行边缘检测(包括组合具有不同比例的多个马赛克图像的边缘)并且在操作320处基于由不同定向的边缘检测器产生的相应特征映射在与不同定向的边缘检测器对应的区域中执行脸部检测。在一些实施例中,该方法还可以包括可选操作,在图11中用虚线示出了这些可选操作的一些示例。可以在各种备选实施例中按任何顺序和/或相互组合地执行可选操作。 这样,该方法还可以包括在操作340处将候选脸部旋转至竖直定向和/或在操作350处执行验证通过脸部检测来检测到的候选脸部的操作。在一些实施例中,可以如下文所述修改或者进一步扩充某些上述操作。应当理解, 可以仅用上述操作或者与在这里描述的特征之中的任何其他特征组合包括各下述修改或者扩充。就这一点而言,例如执行验证可以包括使用haar-like特征多于四种的Adaboost 验证和/或使用其中向与级联边际邻近的样本应用惩罚系数的引导。在一些情况下,使用多个不同定向的边缘检测器可以包括利用如下边缘检测器,这些边缘检测器被定向成在各边缘检测器与至少一个其他边缘检测器之间的角间隔数量相等并且定向成针对在尺寸相等的相应条幅中的候选脸部覆盖三百六十度的可能平面内旋转角。在一个示例实施例中, 执行脸部检测可以包括将弹性脸部模板使用于相应特征映射中的数据以基于与弹性脸部模板匹配的候选脸部的特征来检测候选脸部和/或使用宽度与在检测到的双眼的眼部之间的距离对应而高度与在检测到的双眼的连线与候选脸部的潜在嘴部之间的距离对应的弹性脸部模板。在一些情况下,生成多个马赛克图像可以包括对多个单元窗中的各单元中的像素值求平均以生成包括输入图像的多个单元窗的马赛克表示并且利用多级以对具有不同比例的马赛克图像进行二值化。在一个示例实施例中,用于执行上述图11的方法的装置可以包括配置成执行上述操作(300-340)的一些操作或每个操作的处理器(例如处理器70)。处理器可以例如被配置成通过执行硬件实施的逻辑功能、执行存储的指令或者执行用于执行各操作的算法来执行操作(300-340)。备选地,该装置可以包括用于执行各上述操作的装置。就这一点而言, 根据一个示例实施例,用于执行操作300-340的装置的示例可以例如包括如上文所述处理器70、图像修改器80、边缘检测器82、脸部检测器84、候选旋转器86、验证器88和/或用于处理信息的由处理器70执行的算法。从在前文描述和关联附图中呈现的教导中受益的本发明有关领域技术人员将想到这里阐述的本发明的许多修改和其他实施例。因此将理解,本发明并不限于公开的具体实施例,并且修改和其他实施例旨在于包含在所附权利要求书的范围内。另外,虽然前文描述和关联附图在单元和/或功能的某些示例组合中描述示例实施例,但是应当理解备选实施例可以提供单元和/或功能的不同组合而不脱离所附权利要求书的范围。就这一点而言,例如也设想如可以在一些所附权利要求中阐述的与上文明确描述的单元和/或功能组合不同的单元和/或功能组合。虽然这里使用具体术语,但是仅在一般和描述意义上而非出于限制的目的使用它们。
权利要求
1.一种方法,包括根据输入图像来生成多个马赛克图像,所述多个马赛克图像中的各个马赛克图像具有不同比例;使用多个不同定向的边缘检测器以对所述多个马赛克图像执行边缘检测,包括组合具有不同比例的所述多个马赛克图像的边缘;以及基于所述多个不同定向的边缘检测器产生的相应特征映射,在与所述多个不同定向的边缘检测器对应的区域中执行脸部检测。
2.根据权利要求1所述的方法,还包括执行对所述脸部检测所检测到的候选脸部的验证。
3.根据权利要求1-2中的任一权利要求所述的方法,其中使用所述多个不同定向的边缘检测器包括利用如下的边缘检测器,这些边缘检测器被定向成在各个边缘检测器与至少一个其他边缘检测器之间的角间隔数量相等,并且定向成针对在尺寸相等的相应条幅中的候选脸部覆盖三百六十度的可能平面内旋转角。
4.根据权利要求1-3中的任一权利要求所述的方法,其中执行脸部检测包括将弹性脸部模板用于所述相应特征映射中的数据,以基于与所述弹性脸部模板匹配的候选脸部的特征来检测所述候选脸部。
5.根据权利要求1-4中的任一权利要求所述的方法,其中执行脸部检测包括 使用宽度与在检测到的双眼的眼部之间的距离对应而高度与在所述检测到的双眼的连线与候选脸部的潜在嘴部之间的距离对应的弹性脸部模板。
6.一种装置,包括 至少一个处理器;以及至少一个存储器,包括计算机程序代码,所述至少一个存储器和所述计算机程序代码被配置成与所述至少一个处理器一起使所述装置至少执行以下操作根据输入图像来生成多个马赛克图像,所述多个马赛克图像中的各个马赛克图像具有不同比例;使用多个不同定向的边缘检测器以对所述多个马赛克图像执行边缘检测,包括组合具有不同比例的所述多个马赛克图像的边缘;以及基于所述多个不同定向的边缘检测器产生的相应特征映射,在与所述多个不同定向的边缘检测器对应的区域中执行脸部检测。
7.根据权利要求6所述的装置,其中所述处理器还被配置成执行对所述脸部检测所检测到的候选脸部的验证。
8.根据权利要求7所述的装置,其中所述处理器还被配置成在执行所述验证之前将所述候选脸部旋转至竖直定向。
9.根据权利要求7-8中的任一权利要求所述的装置,其中所述处理器被配置成通过使用haar-like特征多于四种的Adaboost验证来执行所述验证。
10.根据权利要求7-9中的任一权利要求所述的装置,其中所述处理器被配置成通过使用向与级联边际邻近的样本应用惩罚系数的引导来执行所述验证。
11.根据权利要求6-10中的任一权利要求所述的装置,其中所述处理器被配置成通过利用如下的边缘检测器来使用所述多个不同定向的边缘检测器,这些边缘检测器被定向成在各边缘检测器与至少一个其他边缘检测器之间的角间隔数量相等,并且定向成针对在尺寸相等的相应条幅中的候选脸部覆盖三百六十度的可能平面内旋转角。
12.根据权利要求6-11中的任一权利要求所述的装置,其中所述处理器被配置成通过将弹性脸部模板用于所述相应特征映射中的数据,以基于与所述弹性脸部模板匹配的候选脸部的特征检测所述候选脸部来执行脸部检测。
13.根据权利要求6-12中的任一权利要求所述的装置,其中所述处理器被配置成通过使用宽度与在检测到的双眼的眼部之间的距离对应而高度与在所述检测到的双眼的连线与候选脸部的潜在嘴部之间的距离对应的弹性脸部模板来执行脸部检测。
14.根据权利要求6-13中的任一权利要求所述的装置,其中所述处理器被配置成通过对多个单元窗中的各单元窗中的像素值求平均以生成所述输入图像的包括所述多个单元窗的马赛克表示并且利用多级对具有不同比例的马赛克图像进行二值化来生成多个马赛克图像。
15.根据权利要求6-14中的任一权利要求所述的装置,其中所述处理器被配置成通过对所述马赛克图像中的相应马赛克图像使用多个阈值,以生成用于脸部检测的对应不同特征映射来执行脸部检测。
16.一种包括至少一个计算机可读存储介质的计算机程序产品,所述至少一个计算机可读存储介质具有存储于其中的计算机可执行程序代码指令,所述计算机可执行程序代码指令包括用于根据输入图像来生成多个马赛克图像的程序代码指令,所述多个马赛克图像中的各个马赛克图像具有不同比例;用于使用多个不同定向的边缘检测器以对所述多个马赛克图像执行边缘检测,包括组合具有不同比例的所述多个马赛克图像的边缘的程序代码指令;以及用于基于所述多个不同定向的边缘检测器产生的相应特征映射来在与所述多个不同定向的边缘检测器对应的区域中执行脸部检测的程序代码指令。
17.根据权利要求16所述的计算机程序产品,还包括用于执行对所述脸部检测所检测到的候选脸部的验证的程序代码指令。
18.根据权利要求16-17中的任一权利要求所述的计算机程序产品,其中用于使用所述多个不同定向的边缘检测器的程序代码指令包括用于利用如下边缘检测器的指令,这些边缘检测器被定向成在各边缘检测器与至少一个其他边缘检测器之间的角间隔数量相等, 并且定向成针对在尺寸相等的相应条幅中的候选脸部覆盖三百六十度的可能平面内旋转角。
19.根据权利要求16-18中的任一权利要求所述的计算机程序产品,其中用于执行脸部检测的程序代码指令包括用于使用宽度与在检测到的双眼的眼部之间的距离对应而高度与在所述检测到的双眼的连线与候选脸部的潜在嘴部之间的距离对应的弹性脸部模板的指令。
20.一种装置,包括用于根据输入图像来生成多个马赛克图像的装置,所述多个马赛克图像中的各个马赛克图像具有不同比例;用于使用多个不同定向的边缘检测器以对所述多个马赛克图像进行边缘检测,包括组合具有不同比例的所述多个马赛克图像的边缘的装置;以及用于基于所述多个不同定向的边缘检测器产生的相应特征映射,在与所述多个不同定向的边缘检测器对应的区域中执行脸部检测的装置。
全文摘要
一种方法用于提供与定向无关的脸部检测的方法可以包括根据输入图像来生成多个马赛克图像,其中多个马赛克图像中的各马赛克图像具有不同比例;使用多个不同定向的边缘检测器以对多个马赛克图像执行边缘检测,包括组合具有不同比例的多个马赛克图像的边缘;并且基于多个不同定向的边缘检测器产生的相应特征映射来在与多个不同定向的边缘检测器对应的区域中执行脸部检测。也提供一种与该方法对应的装置和计算机程序产品。
文档编号G06K9/00GK102282571SQ200980154719
公开日2011年12月14日 申请日期2009年12月1日 优先权日2008年12月4日
发明者徐磊, 李江伟, 汪孔桥 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1