特征点检测方法及装置、图像处理系统和监视系统与流程

文档序号:11251315阅读:266来源:国知局
特征点检测方法及装置、图像处理系统和监视系统与流程

本发明涉及图像处理,更具体地,涉及例如特征点检测方法和装置。



背景技术:

在诸如脸部识别、表情分析、3d脸部建模等的计算机可视技术领域中,自动且精确地检测由一组特征点描述的脸部形状是关键任务。近年来,基于回归的特征点检测方法已经取得了很大的进步,例如在facealignmentbyexplicitshaperegression(xudongcao,yichenwei,fangwen,jiansun.cvpr,2012)中公开的方法以及在superviseddescentmethodanditsapplicationstofacealignment(x.xiongandf.delatorre.cvpr,2013)中公开的方法。

这些基于回归的方法主要包括:通过使用预生成的脸部形状模型来获取输入的脸部图像中的脸部平均形状,其中,该平均形状由脸部的对应组件中的多个特征点描述;然后,使用预生成的级联回归模型来逐渐更新脸部的平均形状,使得最终检测到的脸部形状能够接近实际的脸部形状;其中,针对一个回归模型,操作包括计算针对所有特征点的位置增量并且基于对应的位置增量更新所有特征点的位置。

然而,上述基于回归的方法在使用各个回归模型时同时更新所有特征点的位置,并且通过使用多个样本图像中的所有特征点的平均位置偏差来生成在上述基于回归的方法中使用的回归模型。因此,针对在不同情形下拍摄的脸部图像(例如具有光照变化的脸部图像(如图1a所示)、或者脸部具有戏剧化的表情(如图1b所示)、姿势变化(如图1c所示)或者有遮挡(如图1d所示)的脸部图像),通过使用上述基于回归的方法可能无法找到某些特征点的最精确的位置。也就是说,最终检测到的脸部形状可能不接近于实际的脸部形状。



技术实现要素:

因此,鉴于现有知识的文字描述中的上述叙述,本公开意在解决上述问题。

根据本发明的一个方面,提供了一种特征点检测方法,所述特征点检测方法包括:获取步骤,获取输入图像中的脸部区域;特征点获取步骤,根据预生成的第一模型获取脸部的对应组件中的第一特征点的第一位置和第二特征点的第一位置,其中,所述至少一个组件包括所述第一特征点,所述第一特征点是所述对应组件中的特征变化的平均偏差小于第一阈值的特征点;第一估计步骤,根据所述第一特征点的第一位置和至少一个预生成的第二模型,来估计所述对应组件中的所述第一特征点的第二位置;以及特征点检测步骤,根据所述第一特征点的第二位置、所述第二特征点的第一位置以及至少一个预生成的第三模型,来检测所述对应组件中的所述第一特征点和所述第二特征点的第三位置。

利用本发明,最终检测到的脸部形状可以更接近实际的脸部形状。

通过以下参照附图的描述,本发明的其他特征及优点将变得清楚。

附图说明

包含在说明书中并构成说明书的一部分的附图,例示了本发明的实施例,并且与文字描述一起用于说明本发明的原理。

图1a到图1d示意性地示出了不同情形下拍摄的脸部图像。

图2a和图2b示意性地示出了脸部轮廓组件的形状曲线以及两个眼睛组件和鼻子组件间的位置关系。

图3示意性地示出了对应组件的特征变化的平均偏差小于预定义阈值的示例性特征点。

图4是示意性地示出能够实现根据本发明实施例的技术的硬件结构的框图。

图5示意性地示出了根据本发明第一实施例的特征点检测处理的流程图。

图6是示意性地示出图5中所示的步骤s530的处理的详细过程的流程图。

图7是示意性地示出图5中所示的步骤s540的处理的详细过程的流程图。

图8示意性地示出了根据本发明的第二实施例的特征点检测处理的另一流程图。

图9是示意性地示出图8中所示的步骤s810的处理的详细过程的流程图。

图10是示意性地示出图8中所示的步骤s810的处理的另一详细过程的流程图。

图11a到图11e示意性地示出了用于通过图9中所示的步骤s812来估计眼睛组件中的第二特征点的第二位置的示例。

图12a到图12e示意性地示出了用于通过图10中所示的步骤s814来估计鼻子组件中的第二特征点的第二位置的示例。

图13是示意性地示出用于生成在图5中所示的步骤s530中使用的第二模型以及在步骤s540中使用的第三模型的生成方法的流程图。

图14是示意性地示出用于生成在图5中所示的步骤s530中使用的第二模型以及在步骤s540中使用的第三模型的另一生成方法的流程图。

图15是例示根据本发明实施例的特征点检测装置1500的结构的框图。

图16例示了根据本发明的示例性图像处理系统的配置。

图17例示了根据本发明的示例性监视系统的配置。

具体实施方式

下面,将参照附图来详细描述本发明的示例性实施例。应当指出,以下的描述实质上仅是说明性和示例性的,并且决不旨在限制本发明及其应用或用途。在实施例中陈述的构成组件及步骤的相对布置、数值表达式以及数值并不限制本发明的范围,除非另外特别指明。此外,本领 域的技术人员公知的技术、方法及设备可能不被详细讨论,但在适当的情况下旨在作为本说明书的一部分。

注意,类似的附图标记和字母在整个附图中是指类似项目,由此一旦在一个图中定义了项目,则在后面的图中不需要讨论该项目。

针对于大部分回归处理,输入特征/值的精确性将直接影响由回归处理输出的结果的精确性。以特征点检测为例,在输入到回归模型中的脸部形状更接近实际的脸部形状的情况下,可以通过回归模型来获得更精确的脸部形状。也就是说,在输入到回归模型中的特征点的位置更接近脸部的实际位置的情况下,可以通过回归模型获得更精确的特征点的位置。因此,为了在特征点检测期间获得特征点的更精确的位置,必须提高输入到回归模型中的特征点的位置的精确性。

通常,脸部包括七个组件,即,脸部轮廓组件、两个眉毛组件、两个眼睛组件、鼻子组件以及嘴组件。并且用于描述脸部形状的特征点之间存在特定的关系。

一方面,在各组件中,用于描述该组件的形状的特征点可以通过现有的曲线拟合算法而拟合成形状曲线,通常,不管在何种情形下拍摄脸部图像,形状曲线是不变的。以图2a所示的脸部轮廓组件为例,用于描述脸部轮廓的特征点可以通过使用二次函数来拟合,例如f(x)=ax2+bx+c。因此,针对于一个组件(例如脸部轮廓组件),在可以在该组件中估计具有更精确位置的若干特征点(例如至少两个特征点)的情况下,可以根据不变的形状曲线来估计用于描述该组件的形状的其他特征点的更精确的位置。

另一方面,组件间存在特定的位置关系,通常,不管在何种情形下拍摄脸部图像,这些位置关系都是不变的。以如图2b所示的两个眼睛组件和鼻子组件为例,两个眼睛组件与鼻子组件之间的位置关系在于,鼻子组件始终位于两个眼睛组件的正下方,并且由于脸部的对称性,两个眼睛组件的中心位置和鼻子组件的中心位置可以构成等腰三角形。因此,在可以在至少一个组件(例如两个眼睛组件)中估计具有更精确位置的 若干特征点(例如至少两个特征点)的情况下,可以根据组件间不变的位置关系来估计其他组件(例如鼻子组件)中的特征点的更精确的位置。

此外,不管在何种情形下拍摄脸部图像,在各组件中存在更鲁棒和更稳定并且更容易被估计更精确的位置的特征点。通常,这些特征点是对应组件中的特征变化(例如纹理特征的改变、颜色特征的改变等)的平均偏差小于预定义的阈值(即,下文中将描述的第一阈值)的特征点,而这些特征点中的大部分位于对应组件的拐角点。其中,例如,平均偏差被测量作为标准偏差。以一个眼睛组件为例,眼角的两个特征点比眼睛的其他特征点更鲁棒并且更稳定。也就是说,位于眼角的两个特征点是眼睛组件中的特征变化的平均偏差小于预定义阈值的特征点。图3示出了对应组件中的特征变化的平均偏差小于预定义阈值的示例性特征点,例如具有三角形形状的特征点。另外,不可避免地,在拍摄脸部图像的某些情形下,并不是所有组件都存在对应组件中的特征变化的平均偏差小于预定义阈值的特征点。例如,在脸部具有遮挡的情况下(如图1d所示),两个眼睛组件并不包括特征变化的平均偏差小于预定义阈值的特征点。

因此,在特征点检测期间,本发明使用至少一个组件中的特征变化的平均偏差小于预定义阈值的特征点(下文中被称为第一特征点)的精确位置,来提高特征点的位置的精确性。此外,为了在特征点检测期间进一步提高特征点的位置的精确性,本发明还使用第一特征点的精确位置来提高其它特征点(在下文中称为第二特征点)的位置的精确性,其中,第二特征点是除了第一特征点之外的、用于描述脸部形状的特征点。

(硬件结构)

首先将参照图4来描述能够实现下文中描述的技术的硬件结构。图4是示意性地示出能够实现根据本发明实施例的技术的硬件结构400的框图。

硬件结构400包括例如中央处理单元(cpu)410、随机存取存储器 (ram)420、只读存储器(rom)430、硬盘440、输入设备450、输出设备460、网络接口470和系统总线480。此外,硬件结构400可以通过例如个人数据助理(pda)、移动电话、数字照相机、摄像机、笔记本电脑、台式电脑或者其他合适的电子设备等来实现。

cpu410可以是任何合适的可编程控制设备(例如处理器等)并且可以通过执行在rom430或硬盘440(例如存储器)中存储的各种应用程序,来执行要在下文中描述的各种功能。ram420用于暂时存储从rom430或硬盘440加载的程序或数据,并且也用作cpu410执行各种程序(例如实现将在下文中通过参照图5-图17而详细描述的技术等)以及其他可用功能的空间。硬盘440可以存储多种信息,例如操作系统(os)、各种应用、控制程序以及由制造商预存储或预生成的模型和数据,其中,例如,模型可以是在下文中将描述的第一模型、第二模型和第三模型,数据可以是在下文中将描述的阈值(th)。

在一个实施方式中,输入设备450可以使得用户能够与硬件结构400交互,例如用户可以通过输入设备450输入脸部图像。输入设备450可以采用各种形式,例如按钮、键盘或触摸屏等。输出设备460可以向用户显示处理结果(例如特征点检测结果)。输出设备460可以采用各种形式,例如阴极射线管(crt)或液晶显示器。另外,在硬件结构400是诸如智能移动电话、pda、数字照相机、平板电脑或其他合适的电子设备等的所谓的设备的情况下,输入设备450和输出设备460可以一体化地合并。此外,在硬件结构400是诸如传统的移动电话、笔记本电脑、台式电脑或其他合适的电子设备的所谓的设备的情况下,输入设备450和输出设备460可以分离地合并。

在另一实施方式中,输入设备450可以是输入接口,例如可以接收从特定的电子设备(例如数字照相机)输出的脸部图像。输出设备460可以是输出接口,并且可以将处理结果输出到后续操作(例如,将在下文中描述的脸部识别操作)。

网络接口470提供用于将硬件结构400连接到网络(未示出)的接 口。例如,硬件结构400可以经由网络接口470,进行与经由网络连接的其他电子设备的数据通信。可选择地,为了进行无线通信,可以针对硬件结构400配设无线接口。系统总线480可以提供用于在cpu410、ram420、rom430、硬盘440、输入设备450、输出设备460和网络接口470等之间相互传送数据的数据传送路径。虽然被称为总线,但系统总线480不限于任何特定的数据传送技术。

上述硬件结构400是仅是示意性的,并且决并不旨在限制本发明、其应用或用途。为了简便起见,图4仅示出了一个硬件结构。然而,根据需要也可以使用多个硬件结构。

(特征点检测处理)

将参照图5来描述由图4中所示的硬件结构400执行的特征点检测处理。图5示意性地示出了根据本发明的第一实施例的特征点检测处理的流程图500。

图5的流程图中所例示的特征点检测所需的程序与其他程序(例如将在下文中详细描述的图8的流程图中所例示的特征点检测所需的程序)一起被存储在硬盘440中。在cpu410需要执行图5的流程图的情况下,硬盘440中存储的程序将被加载到ram420中。稍后将描述的流程图的处理也以相同的方式被加载到ram420并由cpu410执行。

如上所述,首先,图4中所示的输入设备450将获取由特定的电子设备(例如数字照相机等)输出的或者由用户输入的一个图像。其中,在该实施例中,所获取的图像是具有脸部区域的脸部图像,并且所获取的图像是通过现有归一化方法(例如仿生变换算法)归一化的归一化脸部图像。其次,输入设备450经由系统总线480将所获取的图像传送到cpu410。

然后,如图5所示,在获取步骤s510中,cpu410将通过系统总线480从输入设备450获取所获取的图像,并且在所获取的图像中获取脸部区域。

在特征点获取步骤s520中,cpu410将根据预生成的第一模型来获取脸部的对应组件中的第一特征点和第二特征点的第一位置。其中,至少一种组件包括第一特征点,第一特征点是对应组件中的特征变化的平均偏差小于第一阈值(th1)的特征点。其中,由制造商根据经验或现有知识来预定义th1。另外,本发明中,第一特征点可以被视为稳定的特征点,第二特征点可以被视为不稳定的特征点。

制造商根据多个样本图像预先生成预生成的第一模型,然后预生成的第一模型被存储在图4中所示的rom430或者硬盘440中和/或存储在经由网络(未示出)与硬件结构400连接的服务器中。预生成的第一模型包括对应组件中的第一特征点和第二特征点间的形状曲线、组件间的位置关系以及在对应组件中标出第一特征点和第二特征点的脸部的平均形状。因此,在特征点获取步骤s520中获取的第一特征点和第二特征点的第一位置实际上是预生成的第一模型中的脸部的平均形状中的第一特征点和第二特征点的对应位置。

在一个实施方式中,可以通过例如使用现有的基于回归的算法(例如显式形状回归(esr)算法或监督下降模型(sdm)算法等)或者现有的基于形状的算法(诸如主动形状模型(asm)算法等)由多个样本图像生成预生成的第一模型。在生成第一模型之前,制造商可以根据经验或现有知识在各个样本图像中的对应组件中手动地标出第一特征点和第二特征点,使得被生成为描述脸部的平均形状的特征点将被标出作为对应组件中的第一特征点和第二特征点。此外,在生成第一模型期间,可以基于现有的曲线拟合算法(例如最小二乘法等)来计算脸部的对应组件中的第一特征点和第二特征点间的形状曲线,使得将在下文中描述的后续操作可以使用计算出的形状曲线。

如上所述,在某些情形下,不是所有的脸部组件都存在第一特征点,但是制造商预先确定哪些组件中的特征点以及哪些特征点被标记为第一特征点,因此,脸部组件中的至少一者包括第一特征点。

如图5所示,在cpu410获取脸部的对应组件中的第一特征点和第 二特征点的第一位置之后,在第一估计步骤s530中,cpu410将根据第一特征点的第一位置和至少一个预生成的第二模型来估计对应组件中的第一特征点的第二位置。制造商根据多个样本图像预先生成预生成的第二模型,然后预生成的第二模型被存储在图4中所示的rom430或者硬盘440中和/或存储在经由网络(未示出)与硬件结构400连接的服务器中。在一个实施方式中,预生成的第二模型是回归模型,并且通过使用将参照图13和图14在下文中详细描述的生成方法,由多个样本图像生成预生成的第二模型。

在一个实施方式中,在第一估计步骤s530中使用superviseddescentmethodanditsapplicationstofacealignment(x.xiongandf.delatorre.cvpr,2013)中公开的方法,以估计对应组件中的第一特征点的第二位置。在另一实施方式中,第一估计步骤s530的详细过程将参照图6。图6是示意性地示出图5中所示的步骤s530的处理的详细过程的流程图。

如图6所示,首先,在步骤s531中,例如,cpu410将从硬盘440获取第t个预生成的第二模型(例如第1个预生成的第二模型)。

其次,在步骤s532中,cpu410将从包含具有第一位置(例如脸部的平均形状中的第一特征点的对应位置)的第一特征点的对应区域提取特征,其中,例如,针对各个第一特征点的第一位置将被表示为pt。提取的特征可以是例如尺度不变特征变换(sift)特征、加速鲁棒特征(surf特征)或方向梯度直方图(hog)特征。例如,包含具有第一位置的第一特征点的区域是如下区域:各区域以具有对应的第一位置的一个第一特征点为中心,并且各区域的大小是32×32像素。然而,很容易看出,其并不必限于此。

在步骤s533中,cpu410将根据第t个预生成的第二模型和提取的特征来计算针对第一特征点的第一位置的对应的位置增量,其中,例如,针对各个第一特征点的第一位置的对应的位置增量可以由△p表示。如上所述,在一个实施方式中,预生成的第二模型可以是回归模型。因此,通过将提取的特征(例如特征矢量)投影到第t个预生成的第二模型来计 算针对第一特征点的第一位置的对应的位置增量。

在步骤s534中,cpu410通过将对应的位置增量与对应的第一特征点的第一位置相加来更新第一特征点的第一位置,其中,针对一个第一特征点的更新的第一位置可以被表示为例如pt=pt+△p。

然后,在步骤s535中,cpu410将判断t是否大于t。其中,t表示预生成的第二模型的总级数,t表示在第一估计步骤s530的过程期间已经使用的预生成的第二模型的当前数量。

在cpu410判断t大于t的情况下,cpu410将第一特征点的最终更新的第一位置确定为第一特征点的第二位置。否则cpu410将设置t=t+1,并且将重复执行s531到s535中的对应操作。

现在返回至图5,在cpu410估计对应组件中的第一特征点的第二位置之后,在特征点检测步骤s540中,cpu410将根据第一特征点的第二位置、第二特征点的第一位置和至少一个预生成的第三模型,检测对应组件中的第一特征点和第二特征点的第三位置。也就是说,在特征点检测步骤s540之后,cpu410将检测所获取的图像中的由具有第三位置的第一特征点和第二特征点描述的脸部的最终脸部形状。

制造商可以由多个样本图像预先生成预生成的第三模型,然后预生成的第三模型可以存储在图4中所示的rom430或者硬盘440中和/或可以存储在经由网络(未示出)与硬件结构400连接的服务器中。在一个实施方式中,预生成的第三模型是回归模型,并且通过使用将参照图13和图14在下文中详细描述的生成方法,由多个样本图像而生成预生成的第三模型。

在一个实施方式中,也可以在特征点检测步骤s540中使用superviseddescentmethodanditsapplicationstofacealignment(x.xiongandf.delatorre.cvpr,2013)中公开的方法,以估计对应组件中的第一特征点和第二特征点的第三位置。在另一实施方式中,特征点检测步骤s540的详细过程将参照图7。图7是示意性地示出图5中所示的步骤s540的处理的详细过程的流程图。

如图7所示,首先,在步骤s541中,例如,cpu410将从硬盘440获取第n个预生成的第三模型(例如第1个预生成的第三模型)

其次,在步骤s542中,cpu410将从包含具有第二位置的第一特征点的对应区域以及包含具有第一位置(例如脸部的平均形状中的第二特征点的对应位置)的第二特征点的对应区域提取特征,其中,例如,针对各个第一特征点的第二位置和针对各个第二特征点的第一位置将被表示为pt。例如,提取的特征也可以是sift特征、surf特征或hog特征。例如,包含具有第二位置的第一特征点的区域是如下区域:各区域以具有对应的第二位置的一个第一特征点为中心,并且各区域的大小是32×32像素。例如,包含具有第一位置的第二特征点的区域是如下区域:各区域以具有对应的第一位置的一个第二特征点为中心,并且各个区域的大小是32×32像素。然而,容易看出,其并不必限于此。

在步骤s543中,cpu410将根据第n个预生成的第三模型和提取的特征来计算针对第一特征点的第二位置以及第二特征点的第一位置的对应的位置增量,其中,例如,针对各个第一特征点的第二位置以及各个第二特征点的第一位置的对应的位置增量可以由△p表示。如上所述,在一个实施方式中,预生成的第三模型可以是回归模型。因此,通过将提取的特征(例如特征矢量)投影到第n个预生成的第三模型来计算针对第一特征点的第二位置的对应的位置增量及针对第二特征点的第一位置的对应的位置增量。

在步骤s544中,cpu410通过将对应的位置增量与对应的第一特征点的第二位置以及对应的第二特征点的第一位置相加,来更新第一特征点的第二位置以及第二特征点的第一位置,其中,例如,针对一个第一特征点的更新的第二位置以及针对一个第二特征点的更新的第一位置可以被表示为pt=pt+△p。

然后,在步骤s545中,cpu410将判断n是否大于n。其中,n表示预生成的第三模型的总级数,n表示在特征点检测步骤s540的过程期间已经使用的预生成的第三模型的当前数量。

在cpu410判断n大于n的情况下,cpu410将第一特征点的最终更新的第二位置以及第二特征点的最终更新的第一位置确定为第一特征点和第二特征点的第三位置。否则,cpu410设置n=n+1,并且重复执行s541到s545中的对应操作。

最后,在cpu410在所获取的图像中检测到由具有第三位置的第一特征点和第二特征点描述的脸部的最终脸部形状之后,cpu410将检测到的脸部的最终脸部形状经由系统总线480传送到图4中所示的输出设备460,以向用户显示处理结果或进行在下文中将描述的后续操作(例如脸部识别操作)。

如上所述,为了在特征点检测期间获得特征点的更精确的位置,必须提高输入到特征点检测处理中的特征点的位置的精确性。在该第一实施例,本发明首先获取对应组件中的特征变化的平均偏差小于th1的第一特征点的原始位置(即,第一位置),并且估计针对第一特征点的更精确的位置(即,第二位置)。然后,本发明通过使用针对第一特征点的估计的更精确的位置,来检测脸部的最终脸部形状。由于用于检测脸部的最终脸部形状的部分特征点的位置是精确,因此最终检测到的脸部形状可以更精确。也就是说,最终检测到的脸部形状可以更加接近实际的脸部形状。

如图5所示第一实施例中所描述的,本发明仅估计针对第一特征点的更精确的位置,以检测脸部的最终脸部形状。然而,如上所述,用于描述脸部形状的特征点间存在特定的位置关系。例如,用于描述一个组件的形状的特征点可以拟合到形状曲线,并且在组件之间存在特定的位置关系。因此,也可以通过使用第一特征点和第二特征点之间的上述位置关系,基于第一特征点的更精确的位置,来提高第二特征点的原始位置(即,第一位置)的精确性。

因此,将参照图8来描述本发明的另一实施例。图8示意性地示出了根据本发明第二实施例的特征点检测处理的另一流程图800。该第二实施例的特征点检测处理也可以通过图4中所示的硬件结构400执行。

将图8与图5进行对比,在图8中所示的流程图800中存在两个主要的差异:

首先,特征点检测处理还包括第二估计步骤s810。在第二估计步骤s810中,cpu410根据第二特征点的第一位置、第一特征点的第一位置以及第一特征点的第二位置,来估计对应组件中的第二特征点的第二位置。将参照图9到图12在下文中描述第二估计步骤s810的详细过程。

其次,在特征点检测步骤s820中,cpu410根据第一特征点和第二特征点的第二位置以及至少一个预生成的第三模型,来检测对应组件中的第一特征点和第二特征点的第三位置。特征点检测步骤s820与特征点检测步骤s540之间的主要差异仅在于,在步骤s820中,cpu410使用在第二估计步骤s810中估计的第二特征点的第二位置,代替在步骤s540中使用的第二特征点的第一位置,因此特征点检测步骤s820的详细过程与上述特征点检测步骤s540的详细过程相同,在这里将不重复对应的描述。

另外,由于图8中所示的获取步骤s510、特征点获取步骤s520和第一估计步骤s530与图5中所示的对应步骤s510到s530相同,因此在这里将不重复详细的描述。

接下来,将在下面描述第二估计步骤s810的详细过程。为了获得第二特征点的更精确的第二位置,在一个实施方式中,第二估计步骤s810包括在下文中详细描述的第三估计步骤s812和第四估计步骤s813/s814。在一个例子中,为了降低计算复杂性,可以以并行的方式操作第三估计步骤s812和第四估计步骤s813,如图9中所示。在另一个例子中,为了估计不包括第一特征点的组件中的第二特征点的更精确的第二位置,可以首先操作第三估计步骤s812,然后可以通过使用第三估计步骤s812的输出来操作第四估计步骤s814,如图10所示。

图9是示意性地示出了图8中所示的步骤s810的处理的详细过程的流程图。

如图9所示,首先在步骤s811中,针对一个组件,cpu410判断该 组件是否包括第一特征点。在该组件包括第一特征点的情况下,过程将进行到第三估计步骤s812;否则,过程将进行到第四估计步骤s813。

在第三估计步骤s812中,针对包括第一特征点的该组件中的第二特征点,cpu410基于在该组件中的第一特征点和第二特征点之间的形状曲线,来估计这些第二特征点的第二位置。

在一个实施方式中,为了降低计算复杂性,第三估计步骤s812包括以下步骤:

根据该组件中的第一特征点的第一位置来计算第一特征点的第一中心位置;

根据该组件中的第一特征点的第二位置来计算第一特征点的第二中心位置;

计算第一中心位置与第二中心位置之间的第一坐标差(例如△x1和△y1);以及

根据第一坐标差,移动第二特征点的第一位置。

以图11a到图11e中所示的、包括两个第一特征点的眼睛组件为例,例如,图11a中所示的特征点是具有从预生成的第一模型中的脸部的平均形状获取的第一位置的特征点。其中,特征点1101和1102是眼睛组件中的第一特征点,点1103是具有该眼睛组件中的特征点1101与1102的第一中心位置的点,图11a中所示的其他特征点是第二特征点。如图11b所示,特征点1104和1105是眼睛组件中的具有第二位置的第一特征点,点1106是具有该眼睛组件中的特征点1104与1105的第二中心位置的点。图11c示意性地示出了点1103和1106之间的计算的第一坐标差△x1和△y1。图11d示意性地示出了用于根据计算出的第一坐标差△x1和△y1来移动第二特征点1107的第一位置的操作。图11e示出了具有估计的第二位置的特征点。

在另一实施方式中,为了估计该组件中的第二特征点的更精确的第二位置,第三估计步骤s812包括以下步骤:

从预生成的第一模型中获取该组件中的第一特征点与第二特征点之 间的形状曲线;

根据在该组件中的第一特征点的第二位置,调节形状曲线;以及

通过以等长度的方式对调节的形状曲线进行划分,来确定第二特征点的第二位置。

现在返回到图9,在第四估计步骤s813中,针对不包括第一特征点的该组件中的第二特征点,cpu410基于该组件与包括第一特征点的对应组件之间的位置关系,来估计这些第二特征点的第二位置。

在一种实施方式中,在存在两个对称的组件的情况下,其中这两个对称的组件包括第一特征点并且对应于不包括第一特征点的该组件,第四估计步骤s813包括以下步骤:

根据这两个对称组件中的一个组件中的第一特征点的第一位置来计算该组件的第三中心位置,根据该组件中的第一特征点的第二位置来计算该组件的第四中心位置;

根据这两个对称组件中的另一组件中的第一特征点的第一位置来计算该另一组件的第五中心位置,根据该另一组件中的第一特征点的第二位置来计算该另一组件的第六中心位置;

计算第三中心位置与第五中心位置之间的第七中心位置,计算第四中心位置与第六中心位置之间的第八中心位置;

计算第七中心位置与第八中心位置之间的第二坐标差(例如△x2和△y2);以及

根据第二坐标差,移动不包括第一特征点的该组件中的第二特征点的第一位置。

在另一他实施方式中,在存在一个组件的情况下,其中这个组件包括第一特征点并且对应于不包括第一特征点的该组件,第四估计步骤s813包括以下步骤:

根据包括第一特征点的该组件中的第一特征点的第一位置来计算该组件的第九中心位置,根据该组件中的第一特征点的第二位置计算该组件的第十中心位置;

计算第九中心位置与第十中心位置之间的第三坐标差(例如△x3和△y3);以及

根据第三坐标差,移动不包括第一特征点的该组件中的第二特征点的第一位置。

如上所述,图10中示出了图8所示的步骤s810的处理的另一详细过程。将图10与图9进行比较,主要差异在于第四估计步骤s813和s814的操作。在图9所示的第四估计步骤s813中,cpu410仅使用包括第一特征点的组件中的第一特征点的第一位置和第二位置,来计算中心位置。然而,如上所述,为了估计不包括第一特征点的组件中的第二特征点的更精确的第二位置,cpu410还可以使用包括第一特征点的组件中的第二特征点的第一位置和第二位置来计算中心位置,其中,通过图10中所示的第三估计步骤s812来首先估计包括第一特征点的组件中的第二特征点的第二位置。另外,由于图10所示的步骤s811和第三估计步骤s812与图9所述的对应的步骤s811到s812相同,因此在这里不重复详细描述。

针对图10所示的第四估计步骤s814,在一种实施方式中,在存在两个对称组件的情况下,其中这两个对称组件包括第一特征点并且对应于不包括第一特征点的该组件的,第四估计步骤s814包括以下步骤:

根据这两个对称组件中的一个组件中的第一特征点和第二特征点的第一位置来计算该组件的第十一中心位置,根据该组件中的第一特征点和第二特征点的第二位置来计算该组件的第十二中心位置;

根据这两个对称组件中的另一组件中的第一特征点和第二特征点的第一位置来计算该另一组件的第十三中心位置,根据该另一组件中的第一特征点和第二特征点的第二位置来计算该另一组件的第十四中心位置;

计算第十一中心位置与第十三中心位置之间的第十五中心位置,并且计算第十二中心位置与第十四中心位置之间的第十六中心位置;

计算第十五中心位置与第十六中心位置之间的第四坐标差(例如 △x4和△y4);以及

根据第四坐标差,移动不包括第一特征点的该组件中的第二特征点的第一位置。

以图12a到图12e中所示的、包括两个第一特征点的两个对称眼睛组件以及不包括第一特征点的鼻子组件为示例。例如,图12a所示的特征点是具有从预生成的第一模型中的脸部的平均形状中获取的第一位置的特征点。其中,具有三角形形状的特征点是眼睛组件的第一特征点,点1201是具有根据左眼睛组件的中心位置(例如第十一中心位置)与右眼睛组件的中心位置(例如第十三中心位置)而计算出的第十五中心位置的点。例如,图12b所示的特征点是具有通过图10所示的第三估计步骤s812而估计的第二位置的特征点。其中,具有三角形形状的特征点是眼睛组件的第一特征点,点1202是具有根据左眼睛组件的中心位置(例如第十二中心位置)与右眼睛组件的中心位置(例如第十四中心位置)而计算出的第十六中心位置的点。图12c示意性地示出了计算出的点1201和1202之间的第四坐标差△x4和△y4。图12d示意性地示出了用于根据计算出的第四坐标差△x4和△y4来移动第二特征点1203的第一位置的操作。图12e示出了鼻子组件中的具有估计的第二位置的特征点。

针对图10所示的第四估计步骤s814,在另一实施方式中,在存在一个组件的情况下,其中这个组件包括第一特征点并且对应于不包括第一特征点的该组件,第四估计步骤s814包括以下步骤:

根据包括第一特征点的该组件中的第一特征点和第二特征点的第一位置来计算该组件的第十七中心位置,根据该组件中的第一特征点和第二特征点的第二位置来计算该组件的第十八中心位置;

计算第十七中心位置与第十八中心位置之间的第五坐标差(例如△x5和△y5);以及

根据第五坐标差,移动不包括第一特征点的该组件中的第二特征点的第一位置。

在第二实施例中,本发明不仅估计针对第一特征点的更精确的位置 (即,第一位置),还通过使用第一特征点的更精确的位置、用于描述脸部形状的特征点间的位置关系(例如一个组件中的特征点间的形状曲线关系以及组件间的位置关系),来估计各个组件中的针对第二特征点的更精确的位置(即,第二位置)。然后本发明通过使用第一特征点和第二特征点的估计的更精确的位置来检测脸部的最终脸部形状。由于本发明首先估计针对第一特征点的第二位置,然后分别估计各个组件中的第二特征点的第二位置,因此可以降低本发明的计算复杂性。此外,由于无论在哪种情形下拍摄脸部图像,用于估计第二特征点的第二位置的位置关系都不变,因此第二特征点的估计的第二位置可以更接近脸部的实际位置。因此,最终检测到的脸部形状可以更精确。也就是说,最终检测到的脸部形状可以更接近实际的脸部形状。

(第二模型和第三模型生成)

如上所述,在图5所示的第一估计步骤s530中使用的第二模型以及在特征点检测步骤s540中使用的第三模型可以是回归模型。为了生成可以在本发明中使用的对应的模型,制造商可以通过使用参照图13或图14的生成方法,由多个样本图像预先生成第二模型和第三模型。参照图13和图14的生成方法也可以由图4所示的硬件结构400执行。

图13是示意性地示出用于生成在图5所示的步骤s530中使用的第二模型以及在步骤s540中使用的第三模型的生成方法的流程图1300。

如图13所示,首先,如图4中所示的cpu410获取制造商通过输入设备450输入的多个样本图像,其中,在各个样本图像中,制造商根据经验和现有知识,在对应组件中手动地标出第一特征点和第二特征点。然后,在步骤s1310中,cpu410由多个样本图像,生成脸部的平均形状、对应组件中的第一特征点和第二特征点之间的形状曲线以及组件之间的位置关系。其中,步骤s1310的详细操作与用于生成预生成的第一模型的上述操作类似,由此不在这里重复详细描述。

在步骤s1320中,cpu410通过使用现有的回归方法(例如l1-范数正则化线性回归方法、esr算法或sdm算法等),基于对应组件中的第 一特征点的当前位置,由多个样本图像生成第t个第二模型。其中,基于脸部的平均形状的对应组件中的第一特征点的位置,来生成第1个第二模型。在该步骤中,仅通过使用第一特征点周围的特征来生成第二模型,因此将减小通过使用本发明生成的第二模型的模型尺寸。其中,使用的特征可以是例如上述的sift特征、surf特征或hog特征。

在步骤s1330中,cpu410计算对应组件中的第一特征点的当前位置与实际位置之间的平均偏差。在步骤s1340中,cpu410判断所有对应组件中的计算出的平均偏差是否都小于上述的第一阈值(th1)。在cpu410判断所有对应组件中的计算出的平均偏差都小于th1的情况下,处理进行到步骤s1350。否则,处理将返回到步骤s1320,以继续生成后续的第二模型。其中,仅基于第一特征点的当前位置与实际位置之间的平均偏差大于等于th1的组件中的第一特征点,生成后续的第二模型。也就是说,不使用第一特征点的当前位置与实际位置之间的平均偏差小于th1的组件中的第一特征点来生成后续的第二模型。因此,可以进一步减小通过使用本发明而生成的第二模型的模型尺寸。

在步骤s1350中,在所有对应组件中的计算出的平均偏差都小于th1之后,cpu410基于第一特征点的当前位置、对应组件中的第一特征点和第二特征点之间的形状曲线以及组件间的位置关系,来调节脸部的平均形状的对应组件中的第二特征点的位置。其中,步骤s1350的详细操作与图8中所示的第二估计步骤s810的上述操作相似,因此在这里将不重复该详细描述。

然后,在步骤s1360中,cpu410通过使用上述回归方法(例如l1-范数正则化线性回归方法、esr算法或sdm算法),基于对应组件中的第一特征点的当前位置和第二特征点的调节位置,由多个样本图像生成第三模型。在该步骤中,通过使用具有更精确的位置的第一特征点和第二特征点周围的特征来生成第三模型,因此将增加通过使用本发明而生成的第三模型的精确性。其中,使用的特征可以是例如上述的sift特征、surf特征或hog特征。

在步骤s1370中,cpu410计算对应组件中的第一特征点的当前位置与实际位置之间的平均偏差,以及对应组件中的第二特征点的当前位置与实际位置之间的平均偏差。在步骤s1380中,cpu410判断所有对应组件中的计算出的平均偏差是否都小于第三阈值(th3),其中,制造商可以根据经验或现有知识来预定义th3。在cpu410判断出所有对应组件中的计算出的平均偏差都小于th3的情况下,处理完成并输出第二模型和第三模型。否则,处理返回到步骤s1360,以继续生成后续的第三模型。其中,仅基于第一特征点的当前位置与实际位置之间的平均偏差或者第二特征点的当前位置与实际位置之间的平均偏差大于等于th3的组件中的第一特征点和第二特征点,来生成后续的第三模型。也就是说,不使用第一特征点的当前位置与实际位置之间的平均偏差以及第二特征点的当前位置与实际位置之间的平均偏差都小于th3的组件中的第一特征点和第二特征点,来生成后续的第三模型。因此,可以进一步减小通过使用本发明而生成的第三模型的模型尺寸。

如上所述,在cpu410在步骤s1340中判断出所有对应组件中的计算出的平均偏差都小于th1之后,开始操作步骤s1350到步骤s1380。也就是说,在这种情形下,针对整个脸部生成了第二模型和第三模型。然而,作为可选方案,只要cpu410在步骤s1340中判断出一个组件中的平均偏差小于th1,就可以开始操作步骤s1350到步骤s1380。因此,在这种情形下,分别针对每个组件生成第二模型和第三模型。

图14是示意性地示出用于生成图5中所示的步骤s530中使用的第二模型以及步骤s540中使用的第三模型的另一生成方法的流程图1400。

将图14与图13进行比较,在图14中所示的流程图1400中存在两个主要的差异:

首先,在cpu410在步骤s1320中生成第t个第二模型之后,代替计算平均偏差,cpu410在步骤s1410中判断t是否大于第二阈值(th2)。其中,t表示在步骤s1320中已经生成的第二模型的当前级数。制造商可以根据经验或现有知识来预定义th2,例如,th2是在图6所示的步骤 s535中描述的并且表示第二模型的总级数的上述t。在t小于等于th2的情况下,cpu410在步骤s1420中设置t=t+1,并且在步骤s1320中继续生成后续的第二模型。在t大于th2的情况下,cpu410在步骤s1350中执行对应的操作。

其次,在cpu410在步骤s1360中生成第n个第三模型之后,代替计算平均偏差,cpu410在步骤s1430中判断n是否大于第四阈值(th4)。其中,n表示在步骤s1360中已经生成的第三模型的当前级数。制造商可以根据经验或现有知识来预定义th4,例如,th4是在图7所示的步骤s545中描述的并且表示第三模型的总级数的上述n。在n小于等于th4的情况下,cpu410在步骤s1440中设置n=n+1,并且在步骤s1360中继续生成后续的第三模型。在n大于th4的情况下,处理完成并且输出第二模型和第三模型。

另外,由于图14所示的步骤s1310、s1320、s1350和s1360与图13所示的步骤s1310、s1320、s1350和s1360相同,因此在这里不重复详细描述。

(特征点检测装置的结构)

接下来,将参照图15描述特征点检测的结构。图15是例示根据本发明实施例的特征点检测装置1500的结构的框图。

图15所示的模块被实现为上面参照图4描述的并且用于执行加载到ram420的程序且用于与图4所示的各硬件相协作的cpu410。一些或所有模块可以通过专用硬件来实现。

如图15所示,针对参照图5描述的本发明的第一实施例,特征点检测装置1500至少包括:获取单元1510、特征点获取单元1520、第一估计单元1530和特征点检测单元1550。另外,针对参照图8描述的本发明的第二实施例,特征点检测装置1500还包括第二估计单元1540。其中,图15中所示的存储设备1560可以是图4中所示的rom430或硬盘rom440,并且可以存储上述第一模型、第二模型和第三模型。可选择地,存储设备1560还可以是经由网络(未示出)与特征点检测装置1500连接 的服务器或外部存储设备。

首先,如上所述,图4所示的输入设备450获取从特定的电子设备(例如数字照相机等)输出的或者由用户输入的一个图像。其中,所获取的图像是具有脸部区域的脸部图像,并且所获取的图像是通过现有的归一化方法而被归一化的归一化脸部图像。其次,输入设备450经由系统总线480将所获取的图像传送到获取单元1510。

然后,如图15所示,获取单元1510通过系统总线480从输入设备450获取所获取的图像,并且在所获取的图像中获取脸部区域(对应于图5或图8所示的步骤s510)。

特征点获取单元1520根据存储设备1560中存储的预生成的第一模型,来获取脸部的对应组件中的第一特征点和第二特征点的第一位置,其中,至少一个组件包括第一特征点,第一特征点是对应组件中的特征变化的平均偏差小于第一阈值(th1)的特征点(对应于图5或图8所示的步骤s520)。

第一估计单元1530根据第一特征点的第一位置和存储在存储设备1560中的至少一个预生成的第二模型,来估计对应组件中的第一特征点的第二位置(对应于图5或图8所示的步骤s530)。

然后,针对于上述第一实施例,特征点检测单元1550根据第一特征点的第二位置、第二特征点的第一位置和存储在存储设备1560中的至少一个预生成的第三模型,来检测对应组件中的第一特征点和第二特征点的第三位置(对应于图5中所示的步骤s540)。

此外,对于上述第二实施例,在第一估计单元1530估计对应组件中的第一特征点的第二位置之后,第二估计单元1540根据第二特征点的第一位置、第一特征点的第一位置以及第一特征点的第二位置,来估计对应组件中的第二特征点的第二位置(对应于图8所示的步骤s810)。然后,特征点检测单元1550根据第一特征点和第二特征点的第二位置以及存储在存储设备1560中的至少一个预生成的第三模型,来检测对应组件中的第一特征点和第二特征点的第三位置(对应于图8所示的步骤s820)。

在一个实施方式中,第二估计单元1540包括第三估计单元1541和第四估计单元1542。其中,第三估计单元1541被构造为,针对包括第一特征点的一个组件中的第二特征点,基于在该组件中的第一特征点和第二特征点之间的形状曲线来估计这些第二特征点的第二位置(对应于图9或图10中所示的步骤s812)。第四估计单元1542被构造为,针对不包括第一特征点的一个组件中的第二特征点,基于该组件与包括第一特征点的对应组件之间的位置关系来估计这些第二特征点的第二位置(对应于图9所示的步骤s813或图10所示的步骤s814)。

特征点检测装置1500的各个单元可以被构造为进行图5到图12中的流程图中所示的各个步骤。

(图像处理系统)

在上述实施例中,通过图5或图8所示的获取步骤s510获取的图像或者由图15中所示的获取单元1510获取的图像是具有脸部区域的脸部图像并且所获取的图像是归一化脸部图像。也就是说,在上述实施例中,假设已经从脸部图像检测到脸部区域,并且对应的脸部图像已经被归一化。然而,通常,从特定的电子设备(例如数字照相机等)输出的或者由用户输入的脸部图像是尚未检测到脸部区域的脸部图像,并且是尚未被归一化的图像。因此,作为上述特征点检测的示例性应用,接下来,将参照图16描述示例性的图像处理系统。图16例示了根据本发明的示例性图像处理系统1600的布置。

如图16所示,根据本发明的图像处理系统1600包括检测装置1610、归一化装置1620、上述特征点检测装置1500和服务器1630。其中,检测装置1610、归一化装置1620、特征点检测装置1500和服务器1630经由网络1640相互连接。网络1640可以提供用于在检测装置1610、归一化装置1620、特征点检测装置1500、服务器1630等之间相互传送数据的数据传送路径。另外,可以使用系统总线(未示出)来代替网络1640。此外,服务器1630可以用作图15中所示的上述存储设备1560。

首先,检测装置1610接收从特定的电子设备(例如数字照相机等) 输出的或者由用户输入的图像。然后,检测装置1610例如通过使用预生成的脸部检测器,来从接收到的图像中检测脸部区域。其中,预生成的脸部检测器还可以被存储在服务器1630中。检测到的脸部区域例如包括可以表示接收到的图像上的脸部位置的四个点(即,左上点、左下点、右上点和右下点)。

其次,归一化装置1620通过使用现有的归一化方法(例如仿生变换方法),使对应于检测到的脸部区域的图像归一化。通过归一化操作,可以消除接收到的图像上的脸部的旋转角度,并且归一化的脸部区域中的脸部的尺寸与预生成的第一模型中的脸部的尺寸相同。

最后,特征点检测装置1500根据参照图5到图12的上述描述,从归一化的脸部区域中检测对应组件中的特征点。

(监视系统)

如上所述,从图15中所示的特征点检测装置1500输出的特征点检测结果(即,检测到的特征点)可以用于脸部识别。因此,作为上述特征点检测的示例性应用,接下来参照图17来描述示例性的监视系统。图17例示了根据本发明的示例性监视系统的布置。

如图17中所示,根据本发明的监视系统1700包括至少一个图像获取装置1710(例如数字照相机)、检测装置1720、归一化装置1730、上述特征点检测装置1500、识别装置1740和服务器1750。其中,图像获取装置1710、检测装置1720、归一化装置1730、特征点检测装置1500、识别装置1740和服务器1750经由网络1760相互连接。网络1760可以提供用于在图像获取装置1710、检测装置1720、归一化装置1730、特征点检测装置1500、识别装置1740和服务器1750等之间相互传送数据的数据传送路径。另外,可以使用系统总线(未示出)来代替网络1760。此外,服务器1760可以用作图15所示的上述存储设备1560。

针对特定的监视区域,首先,图像获取装置1710及时地拍摄/获取图像。

然后,与图16所示的检测装置1610类似,针对一个获取的图像, 检测装置1720例如通过使用预生成的脸部检测器从获取的图像中检测脸部区域。其中,预生成的脸部检测器还可以被存储在服务器1750中。

与归一化装置1620类似,归一化装置1730通过使用现有的归一化方法(例如仿生变换方法),来使对应于检测到的脸部区域的图像归一化。

然后,特征点检测装置1500根据参照图5到图12的上述描述,从归一化的脸部区域中检测脸部的对应组件中的特征点。

最后,例如,识别装置1740通过使用预生成的脸部模型,根据所检测到的特征点来识别脸部。其中,预生成的脸部模型也可以被存储在服务器1750中。

如上所述,通过使用本发明,最终检测到的脸部形状将更接近实际的脸部形状。也就是说,最终检测到的特征点的位置可以更加接近脸部的实际位置。因此,可以通过使用特征点的更加精确的位置,来提高上述监视系统中的脸部识别的精确性。

上述所有单元均是用于实现本公开中描述的处理的示例性的和/或优选的模块。这些单元可以是硬件单元(例如现场可编程门阵列(fpga)、数字信号处理器、专用集成电路等)和/或软件模块(例如计算机可读程序)。上面未穷尽地描述用于实现各种步骤的单元。然而,在存在进行某个处理的步骤的情况下,可以存在用于实现同一处理的相应功能模块或单元(由硬件和/或软件实现)。在本申请的公开中,包括基于描述的步骤以及与这些步骤相对应的单元的所有组合的技术方案,只要构成的技术方案是完整的且适用的即可。

此外,在由各单元构成的、图15所示的特征点检测装置1500部分地或全部地由软件构成的情况下,其可以被存储在图4中所示的硬盘440中。在另一方面,在图15所示的特征点检测装置1500部分地或全部地由硬件或固件构成的情况下,只要在电子设备中存在特征点检测处理的需要,它就可以作为功能模块被包并入电子设备中。

能够以多种方式执行本发明的方法和装置。例如,能够通过软件、硬件、固件或其任意组合来执行本发明的方法和装置。上述方法的步骤 的顺序仅旨在举例说明,除非另外特别声明,否则本发明的方法的步骤并不限于以上具体描述的顺序。此外,在一些实施例中,本发明还可以被实现为记录介质中记录的程序,包括用于实现根据本发明的方法的计算机可读指令。因此,本发明还涵盖了存储用于实现根据本发明的方法的程序的记录介质。

虽然已利用示例详细说明了本发明的一些具体实施例,但是本领域技术人员应当理解,以上示例仅旨在举例说明,并非限制本发明的范围。本领域技术人员应当理解,在不背离本发明的范围和精神的情况下,可以对以上实施例进行修改。本发明的范围由所附权利要求限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1