一种人脸检测方法及系统与流程

文档序号:12272248阅读:251来源:国知局
一种人脸检测方法及系统与流程

本发明涉及人脸检测技术领域,尤其涉及一种基于人脸对齐的人脸检测方法及系统。



背景技术:

在图片拍摄或视频拍摄中,由于需要对被摄客体进行识别、美化等等脸部处理,因此需要在图片或视频中对被摄客体的人脸位置进行定位,即人脸检测。

在实际环境中,被摄客体经常处于与他人合照的情况中,因此会出现被摄客体人脸较小、光照环境较弱、人脸角度较大、人脸表情夸张等等复杂问题,由于视频及图像在移动端应用时需要在有限计算资源下实时处理,因此容易导致人脸检测问题情况复杂、效果及时间难以平衡等等问题。

现有的传统人脸检测技术中,对于人脸检测的方法通常为:首先对输入图像提取HOG、颜色等特征后,在多尺度特征图上进行扫窗,并将扫描窗口输入Adaboost或SVM等分类器进行是人脸或不是人脸的区分。此人脸检测为了适应不同人脸角度,需要训练多个分类器,同时每个窗口都需要分别输入至多个分类器中进行分类,导致需要耗费大量的时间,速度较慢,很难在移动端实时处理。又由于在多尺度扫窗速度较慢,因此若使用多尺度扫窗方法获取窗口,当扫描速度快则效果不好,无法适用于多个分类器;当扫描效果好则速度较慢,很难在移动端实时处理。



技术实现要素:

本发明的一个目的是提供一种人脸检测方法及系统,对人脸图像进行预处理得到人脸热度图,然后通过人脸对齐模型对人脸热度图进行处理进行人脸识别,可以在资源有限的情况下,快速地对于人脸进行比较准确的识别。

为了实现上述目的,本发明采取了如下技术方案:

根据本发明的一个方面,提供了一种人脸检测方法,包括:利用人脸可能区域检测器获取待检测图像中的人脸可能区域;利用人脸对齐模型从人脸可能区域中识别出人脸区域。

根据本发明的一个方面,人脸检测方法还包括:在利用人脸对齐模型识别出人脸区域的同时,利用人脸对齐模型获取人脸区域中的人脸五官和外轮廓的位置信息。

根据本发明的一个方面,人脸检测方法还包括:利用人脸区域回归模型获取人脸区域的位置信息。

根据本发明的一个方面,人脸区域检测器是全卷积神经网络。

根据本发明的一个方面,利用全卷积神经网络获取人脸可能区域的热度图。

根据本发明的一个方面,全卷积神经网络包括多个处理组件组合以及设置在多个处理组件组合后端的两个卷积层,其中每个处理组件组合包括卷积层、激活层和池化层。

根据本发明的一个方面,人脸对齐模型是包括多个处理组件组合以及设置在多个处理组件组合后端的卷积层和全连接层的神经网络,其中每个处理组件组合包括卷积层、激活层和池化层。

根据本发明的一个方面,人脸区域回归模型是包括多个处理组件组合以及设置在多个处理组件组合后端的卷积层和全连接层的神经网络,其中每个处理组件组合包括卷积层、激活层和池化层。

根据本发明的一个方面,激活层的激活函数为ReLU函数,池化层的池化函数为Pooling函数。

根据本发明的另一个方面,提供了一种人脸检测系统,包括:对象拾取单元,用于利用人脸可能区域检测器获取待检测图像中的人脸可能区域;图像处理单元,用于利用人脸对齐模型从人脸可能区域中识别出人脸区域。

根据本发明的另一个方面,在利用人脸对齐模型识别出人脸区域的同时,图像处理单元还能够利用人脸对齐模型获取人脸区域中的人脸五官和外轮廓的位置信息。

根据本发明的另一个方面,人脸检测系统还包括回归模型单元,回归模型单元用于利用人脸区域回归模型获取人脸区域的位置信息。

根据本发明的另一个方面,人脸区域检测器是全卷积神经网络。

根据本发明的另一个方面,对象拾取单元能够利用全卷积神经网络获取人脸可能区域的热度图。

根据本发明的另一个方面,全卷积神经网络包括多个处理组件组合以及设置在多个处理组件组合后端的两个卷积层,其中每个处理组件组合包括卷积层、激活层和池化层。

根据本发明的另一个方面,人脸对齐模型是包括多个处理组件组合以及设置在多个处理组件组合后端的卷积层和全连接层的神经网络,其中每个处理组件组合包括卷积层、激活层和池化层。

根据本发明的另一个方面,人脸区域回归模型是包括多个处理组件组合以及设置在多个处理组件组合后端的卷积层和全连接层的神经网络,其中每个处理组件组合包括卷积层、激活层和池化层。

根据本发明的另一个方面,激活层的激活函数为ReLU函数,所述池化层的池化函数为Pooling函数。

采用根据本发明实施例的人脸检测方法及系统,直接省去了传统方法中扫窗和多尺度提取特征的步骤,而是利用人脸可能区域检测器通过一次检测直接获取待检测图像中的人脸可能区域,因此,可以快速地获得人脸可能区域,无需通过大量的扫描和计算,提高了图像处理的速度,保证了移动终端处理图片的实时性。另外,本发明实施例将各个人脸可能区域输入至人脸对齐模型进行分析,并且判断该人脸可能区域是否为人脸区域,同时输出人脸五官特征点位置,这样相当于两个模型做到一个里面才能说比传统的多个分类器更快,相比于现有技术中通过多个分类器进行区分的方法,具有速度更快、精度更高的优点。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本发明一实施例的人脸检测方法流程图;

图2示出了根据本发明一实施例的人脸检测系统的示意性框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面将详细描述本发明的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解。本发明决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明造成不必要的模糊。

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明更全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中,为了清晰,可能夸大了区域和层的厚度。在图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了根据本发明一实施例的人脸检测方法流程图。图1所示的人脸检测方法包括:

S1、利用人脸可能区域检测器获取待检测图像中的人脸可能区域;

S2、利用人脸对齐模型从人脸可能区域中识别出人脸区域。

根据本发明的实施例,步骤S1中所述的人脸可能区域检测器为全卷积神经网络。具体地步骤为:采用全卷积神经网络替换传统深度学习模型,对待检测图像进行处理,获得带有人脸可能区域的热度图。

根据本发明的实施例,步骤S1中,对待检测图像处理获得带有人脸可能区域的热度图的方法包括:将原始的未经过处理的彩色的待检测图像输入至训练好的全卷积神经网络中并且得到其对应的热度图。

其中,传统深度学习模型包括多个处理组件组合以及设置在多个处理组件组合后端的卷积层和全连接层,其中每个处理组件组合包括卷积层、激活层和池化层。而全卷积神经网络包括多个处理组件组合以及设置在多个处理组件组合后端的两个卷积层,其中每个处理组件组合包括卷积层、激活层和池化层,即全卷积神经网络是将传统深度学习模型的全连接层替换为了卷积层,从而可以卷积输出热度图。上述的激活层的激活函数为ReLU函数,池化层的池化函数为Pooling函数,即全卷积神经网络可以表示为:卷积->ReLU->Pooling->卷积->ReLU->Pooling->…->卷积->ReLU->卷积,另外,传统深度学习模型也可以相应地采用上述函数进行替换表示。

其中的人脸可能区域检测器还可以基于Adaboost学习算法、Boosting Tree学习算法、SVM等。这里的Adaboost学习算法,可以把一些比较弱的分类器在一起,组合出新的很强的分类器可以较准确的获得人脸可能区域的图像数据;Boosting Tree学习算法是一种改进型AdaBoost方法,在数据过滤、分类方面都有很好的性能;SVM(支持向量机学习算法,英文:support vector machine)同样可以对图像数据进行分类识别,识别出人脸可能的图像数据。

在一个示例中,通过全卷积神经网络输出的热度图中越红的区域代表越有可能是人脸。

根据本发明的实施例,当获得热度图后,可在热度上选择至少一块疑似区域,其具体方法为:将热度图中的每一个红色区域分别包围成一个正方形,该正方形即为疑似区域。例如,取热度图某一红色疑似区域的方法为:取这个红色区域的最上、最下、最左、最右四个坐标值;通过这四个坐标值计算出该红色区域的最长边,并且以该最长边作为可以包围该区域的正方形的边长;取最上和最下坐标的中点作为正方形中心点的Y坐标,取最左和最右坐标的中点作为正方形中心点的X坐标,可以获得该正方形的中心点;利用计算出的中心点坐标、正方形边长即可获得该正方形,即疑似区域的坐标值和边长等信息。

根据本发明的实施例,根据计算获得的疑似区域的坐标值、边长等信息带入到待检测图像中,可以拾取待检测图像中对应的人脸可能区域,拾取的方法为将待检测图像上的人脸可能区域内的全部像素点的值复制下来,并形成一张新的人脸可能区域图。

根据本发明的实施例,步骤S2中,通过人脸对齐模型判断人脸可能区域是否为人脸区域,具体的为,将该人脸可能区域图输入至基于传统深度学习模型的人脸对齐模型中,并且获得一个该人脸可能区域是否为人脸区域的输出,当确认该人脸可能区域为人脸区域时,保留该人脸可能区域并进行后续操作;当判断该人脸可能区域不是人脸区域时,则舍弃该人脸可能区域。其中,人脸对齐模型的输入为人脸可能区域图。例如,热度图中一个人脸可能区域对应的待检测图像中的区域为衣服,此时人脸对齐模型就会输出该人脸可能区域不是人脸区域的结果,那么,这个人脸可能区域就会被舍去,并且不再进行后续的操作。其中,该人脸对齐模型是包括多个处理组件组合以及设置在多个处理组件组合后端的卷积层和全连接层的神经网络,其中每个处理组件组合包括卷积层、激活层和池化层,并且可以表示为:卷积->ReLU->Pooling->卷积->ReLU->Pooling->…->卷积->全连接。

另外,在利用人脸对齐模型识别出人脸区域的同时,利用人脸对齐模型获取人脸区域中的人脸五官和外轮廓的位置信息。在一个实施例中,可以通过人脸对齐模型同时判断各个人脸可能区域是否为人脸区域并且计算出各个人脸可能区域对应的人脸五官和人脸外轮廓的具体坐标,此时,人脸对齐模型可以同时输出某一人脸可能区域是否为人脸区域以及其对应的人脸五官和人脸外轮廓的具体坐标,当该人脸可能区域被判断为人脸区域时,其对应的人脸五官和人脸外轮廓的具体坐标被保留,并可以进行后续的其他操作;当该人脸可能区域被判断为不是人脸区域时,其对应的人脸五官和人脸外轮廓的具体坐标被舍去。该具体坐标可以应用于后期的人脸美颜等功能。在另一个实施例中,还可以先通过人脸对齐模型同时判断各个人脸可能区域是否为人脸区域,然后针对各个人脸区域计算对应的人脸五官和人脸外轮廓的具体坐标。

由于通过五官和外轮廓定位出一个人脸区域时,外轮廓点不包括额头,因此,此时定位出的人脸区域不包含额头,致使人脸区域可能出现缺失。另外,如果人脸为侧脸、遮挡或者张大嘴夸张表情等的情况,通过外轮廓点或者五官点的定位会造成不够准的情况。为了得到更精确稳定的人脸位置,人脸检测方法还包括利用训练好的人脸区域回归模型获取人脸区域的位置信息,其主要目的是获得更为精准的人脸区域框的位置,防止出现人脸区域的缺失和定位的不准确的问题。具体地方法包括:将被确认为人脸区域的人脸可能区域图输入至人脸区域回归模型中,获得该人脸区域的具体定位。例如,具体定位包括但不限于该人脸区域的左上角、右下角的X坐标和Y坐标。其中,人脸区域回归模型是包括多个处理组件组合以及设置在多个处理组件组合后端的卷积层和全连接层的神经网络,其中每个处理组件组合包括卷积层、激活层和池化层,并且可以表示为:卷积->ReLU->Pooling->卷积->ReLU->Pooling->…->卷积->全连接。

图2示出了根据本发明一实施例的人脸检测系统100的示意性框图。根据图2所示实施例的人脸检测系统100,对象拾取单元110和图像处理单元120。其中,对象拾取单元110用于利用人脸可能区域检测器获取待检测图像中的人脸可能区域,图像处理单元120用于利用人脸对齐模型从人脸可能区域中识别出人脸区域。

具体地,对象拾取单元110包括:全卷积处理单元111、区域选择单元112和区域拾取单元113,其中,全卷积处理单元111用于将待检测图像对输入至全卷积神经网络中并处理得到热度图,区域选择单元112用于在通过全卷积处理单元111获得的热度图中选择至少一个疑似区域,区域拾取单元113用于在待检测图像上对应于疑似区域的位置拾取至少一个人脸可能区域。

根据本发明的实施例,经过训练后的全卷积神经网络存储于全卷积处理单元111中。其中,全卷积神经网络包括多个处理组件组合以及设置在多个处理组件组合后端的两个卷积层,其中每个处理组件组合包括卷积层、激活层和池化层。上述的激活层的激活函数为ReLU函数,池化层的池化函数为Pooling函数,即全卷积神经网络可以表示为:卷积->ReLU->Pooling->卷积->ReLU->Pooling->…->卷积->ReLU->卷积。

根据本发明的实施例,区域选择单元112用于在通过热度图中选择至少一个疑似人脸的疑似区域。在一个实施例中,具体的疑似区域的选择方法为:取任一个红色区域的最上、最下、最左、最右四个坐标值;通过这四个坐标值计算出该红色区域的最长边,并且以该最长边作为可以包围该区域的正方形的边长;取最上和最下坐标的中点作为正方形中心点的Y坐标,取最左和最右坐标的中点作为正方形中心点的X坐标,可以获得该正方形的中心点;利用计算出的中心点坐标、正方形边长即可获得该正方形,即疑似区域的坐标值和边长等信息。

根据本发明的实施例,区域拾取单元113拾取人脸可能区域的方法为将待检测图像上的与热度图的疑似区域对应的人脸可能区域内的全部像素点的值复制下来,并形成一张新的人脸可能区域图。

根据本发明的实施例,图像处理单元120内预先存储有人脸对齐模型,其中,该人脸对齐模型是包括多个处理组件组合以及设置在多个处理组件组合后端的卷积层和全连接层的神经网络,其中每个处理组件组合包括卷积层、激活层和池化层,并且可以表示为:卷积->ReLU->Pooling->卷积->ReLU->Pooling->…->卷积->全连接。将任一个人脸可能区域图输入至基于传统深度学习模型的人脸对齐模型中,并且获得一个该人脸可能区域是否为人脸区域的输出,当确认该人脸可能区域为人脸区域时,保留该人脸可能区域并进行后续操作;当判断该人脸可能区域不是人脸区域时,则舍弃该人脸可能区域。

根据本发明的实施例,在确认某一人脸可能区域为人脸区域时,图像处理单元120还能对该人脸可能区域进行计算,并且根据人脸对齐模型计算出被被判断为人脸区域的人脸五官和外轮廓的具体坐标,该具体坐标可以应用于后期的人脸美颜等功能。

根据本发明的实施例,人脸检测系统100还包括回归模型单元130,其中,回归模型单元130用于将被确认为人脸区域的人脸可能区域图输入至训练好的人脸区域回归模型中并获得该人脸可能区域的具体定位的回归模型处理单元。例如,具体定位包括但不限于该疑似人脸区域的左上角、右下角的X坐标和Y坐标。该人脸区域回归模型是包括多个处理组件组合以及设置在多个处理组件组合后端的卷积层和全连接层的神经网络,其中每个处理组件组合包括卷积层、激活层和池化层,并且可以表示为:卷积->ReLU->Pooling->卷积->ReLU->Pooling->…->卷积->全连接。

综上所述,根据本发明的实施例,通过采用基于全卷积神经网络的处理方法,从而将待检测图像转化为热度图,并根据热度图提取疑似区域,从而获得对应的待检测图像上的人脸可能区域,直接省去了传统方法中扫窗和多尺度提特征的步骤,其鲁棒性强,并且可以快速地获得人脸可能区域,无需通过大量的扫描和计算,提高了图像处理的速度,保证了移动终端处理图片的实时性。根据本发明的实施例,通过采用人脸对齐模型进行对人脸可能区域的判断替代传统的分类器,使复杂环境下的人脸不再需要通过多个分类器来区分,其速度更快精度更高,并且还可以同时得到人脸各器官及外轮廓的精确位置。根据本发明的实施例,通过人脸区域回归模型,可以得到精度更高的人脸区域位置。因此,根据本发明的实施例,具有精度高、速度快、鲁棒性强的特点,能够在移动端等计算资源有限的环境下得到很好表现。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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