人脸定位方法、人脸模型训练与检测方法及装置与流程

文档序号:24485591发布日期:2021-03-30 21:09阅读:81来源:国知局
人脸定位方法、人脸模型训练与检测方法及装置与流程

本发明涉及图像处理技术领域,特别是一种人脸定位方法、人脸模型训练与检测方法及装置。



背景技术:

人脸检测是人脸相关算法,例如人脸对齐、人脸识别、人脸验证、年龄识别等等的基础和前置模块。

传统的人脸检测算法,主要采用构造人工特征诸如haar算法、hog算法等,然后构造判别器,通过扫窗的方式进行人脸检测。这当中最具代表性的当属violajones算法。violajones检测算法第一次实现了检测的实时性,算法采用积分图的方式计算haar特征,极大地提升了速度,同时采用adaboost算法方法筛选特征,并且通过级联的方式过滤掉大部分背景框,大大减小了计算量。

随着深度学习的兴起,深度卷积神经网络逐步被用于检测领域。最具代表性的尝试工作当属rcnn三部曲,其包括分阶段检测方法和单阶段检测方法:

分阶段检测方法:fasterr-cnn至今仍然是代表性的二阶段检测的基准方法。该方法分为两个阶段:第一阶段利用全卷积网络预测候选框位置,第二阶段则根据候选框位置利用roi-pooling或者roi-align方法从网络特征图中获取对应区域的特征,然后用这个特征进行更精细的分类和位置回归。分阶段检测虽然精度较高,但是整个系统较为复杂,性能受限。因此,单阶段的检测方法随后被提出。

单阶段检测方法:ssd方法是单阶段检测的开山之作。该方法利用全卷积网络多尺度的特性,在不同的尺度层安插检测头部,同时进行前景背景的判定和候选框位置的回归。ssd之后涌现出了许多单阶段的检测方法,它们分别从不同的角度改进了检测算法的表现。其中,目前较为流行的人脸检测算法主要还是基于anchor(锚点)的方法,匹配的策略采用类似于ssd的方式,通过iou阈值进行筛选。

但是,anchor检测方法仍然存在以下问题:

(1)人脸旋转问题:anchor方法虽然在widerface评测集上表现相当出色,但是widerface评测集的人脸朝向相对单一,明显不符合实际场景人脸可能在各个角度上旋转这一事实分布。

(2)anchor匹配问题:anchor匹配的策略过于简单,直接给anchor打上正负标签,匹配程度的anchor拥有相同的标签不仅在训练上目标不明确,而且在后处理nms中,对于候选框得分所附加的语义不同。虽然已经有类似的工作开始增加iou得分的预测分支,或者引入中心得分(centerness)来缓解这个问题。但无论是iou得分还是centerness都未能解决得分偏低的问题。

(3)尺度采样问题:当前人脸检测主流的训练采用方法都会根据anchor的尺度进行采样,目标是提高anchor的匹配概率,方法是认为将人脸的大小缩放到anchor的尺寸。这种方法对于特定的评测集有一定的作用,在一定程度上缓解了人脸尺度上的“不平衡”和anchor分布在尺度上的不平衡。在个策略也是采用固定阈值的匹配策略下的折衷之举。



技术实现要素:

本发明的主要目的在于提供了一种人脸定位方法、人脸模型训练与检测方法及装置,旨在对现有的人脸旋转问题、anchor匹配问题、尺度采样问题中的一个以上问题进行一一解决。

为实现上述目的,本发明提供了一种人脸定位方法,其包括以下步骤:

对图像或视频进行人脸检测,得到人脸区域;

对所述人脸区域添加人脸框,且所述人脸框带有旋转信息;

根据所述旋转信息进行人脸定位。

优选的,所述旋转信息的编码方式为[cx,cy,w,h,θ]五元素的向量;其中,cx、cy表示框的中心点,w、h表示框的宽和高,θ表示框的角度。

优选的,根据所述旋转信息进行人脸定位,是通过对所述人脸区域标注锚点框,计算所述人脸框与所述锚点框之间的重叠率,并根据所述所述重叠率计算所述锚点框的置信度。

进一步的,所述锚点框的标注,是通过卷积神经网络模型对人脸图像进行训练和预测得到的;并根据预测结果和所述置信度,得到最终人脸定位结果。

进一步的,所述重叠率的计算包括以下步骤:

将所述人脸框和所述锚点框表示为四个角点的坐标;

初始化点集pset;

将所述人脸框和所述锚点框相交的点加入到所述点集pset;

将所述人脸框中位于所述锚点框内部的角点加入到所述点集pset;

将所述锚点框中位于所述人脸框内部的角点加入到所述点集pset;

对所述点集pset进行排序,使点集pset按照逆时针排序;

通过三角形法计算重叠面积area(i);

计算重叠率:其中,area(r1)是指所述人脸框的面积,area(r2)是指所述锚点框的面积。

进一步的,根据所述重叠率计算所述锚点框的置信度,进一步包括以下步骤:

计算人脸框列表rg与锚点框列表ra两两之间的重叠度矩阵iou[i,j],其中,iou[i,j]为第i个人脸框与第j个锚点框之间的重叠度;

对所述重叠度矩阵iou[i,j]中的每个列取重叠度的最大值ioubest-gt和人脸框的最大值indexbest-gt对应序号,即,ioubest-gt,indexbest-gt=iou.max(dim=1);

对所述重叠度矩阵iou[i,j]中的每行取锚点框的最大值ioubest-anchor对应序号,得每个人脸的最大的重叠度ioubest-anchor=iou.max(dim=0);

通过花式索引获得每个锚点框列表ra匹配的人脸的最大重叠度ioumax=iou_(best-anchor)[indexbest-gt];

对所述重叠度进行阈值处理:

重叠度ioubest-gt小于阈值t的置零,即:ioubest-gt[ioubest-gt<t]=0;

最大重叠度ioumax小于阈值tmax的置1,即:ioumax[ioumax<tmax]=1;

根据阈值处理结果计算每个锚点框列表ra的置信度scorera,其中,

优选的,进一步根据变换后的置信度scorera筛选回归样本,将置信度scorera大于阈值treg的锚点框进行回归目标框,得到最终人脸定位结果。

本发明的目的之二,在于提供一种人脸模型训练方法,其包括以下步骤:

通过主干网络对训练集的人脸图像提取图片特征;并对所述人脸图像添加人脸框,且所述人脸框带有旋转信息;

通过深度分离卷积进行下采样;其中,所述下采样是利用逆变换采样原理,对平均分布进行扩展得到目标分布,并将所述人脸图像采样到所述目标分布上;所述深度分离卷积包括第一深度分离卷积、第二深度分离卷积、第三深度分离卷积;所述第一深度分离卷积用于预测每个人脸框包含人脸的置信度;所述第二深度分离卷积用于预测锚点框;所述第三深度分离卷积用于预测人脸关键点;

利用主干网络和下采样所得特征图构建特征金字塔结构;

在特征金字塔结构中的特征图和下采样所得的尺度不同的特征图上生成对应的锚点框;

根据锚点框与所述人脸框的重叠度是否超过预设阈值确定正负样本,对锚点框、人脸关键点进行回归训练,得到模型预测的目标框;并根据正样本锚点框与所述人脸框的重叠度进行人脸置信度的回归训练。

本发明的目的之二,在于提供一种人脸检测方法,其包括以下步骤:

通过主干网络对待检测图像提取图片特征;

通过深度分离卷积进行下采样;其中,所述下采样是利用逆变换采样原理,对平均分布进行扩展得到目标分布,并将所述人脸图像采样到所述目标分布上;所述深度分离卷积包括第一深度分离卷积、第二深度分离卷积、第三深度分离卷积;所述第一深度分离卷积用于预测每个人脸框包含人脸的置信度;所述第二深度分离卷积用于预测锚点框;所述第三深度分离卷积用于预测人脸关键点;

利用主干网络和下采样所得特征图构建特征金字塔结构;

在特征金字塔结构中的特征图和下采样所得的尺度不同的特征图上生成对应的锚点框;

对于预测的锚点框对应的置信度,选取大于指定阈值的锚点框作为预测候选框;根据所述预测候选框的重叠度,执行非极大值抑制算法,过滤重叠的候选框,得到模型最终的预测框。

此外,为实现上述目的,本发明还提供一种人脸检测装置,所述人脸检测装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的人脸检测程序,所述人脸检测程序被所述处理器执行时实现如上任一项所述的人脸检测方法的步骤。

本发明的有益效果是:

(1)本发明采用具备旋转信息的人脸标注方案,不仅在训练匹配时提升了匹配的精度和训练效率,同时大大提升了现实场景中人脸多角度拍摄的性能;

(2)本发明通过有偏的人脸尺度采样方案,使得训练过程中人脸的尺度和锚点的密度相匹配,能够有效提升人脸检测装置的性能特别是对小人脸的性能;

(3)本发明的卷积神经网络模型采用深度分离卷积,大大降低计算量和内存占用,在保证检测性能的情况下提升检测速度。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为现有技术的人脸框标注方法示意图(不带角度);

图2为本发明的人脸框标注方法示意图(带角度);

图3为本发明的人脸框的编码方式示意图;

图4为本发明的人脸框与锚点框三种重叠情形;

图5为本发明的人脸尺度的概率密度函数的分布曲线图;

图6为本发明的深度分离卷积结构示意图。

具体实施方式

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

实施例一(人脸定位方法):

目前主流的人脸检测算法均不考虑人脸的角度旋转,即人脸边框收拾水平和竖直(如图1所示);本发明的一种人脸定位方法,其包括以下步骤:

a).对图像或视频进行人脸检测,得到人脸区域;

b).对所述人脸区域添加人脸框,且所述人脸框带有旋转信息;

c).根据所述旋转信息进行人脸定位。

本发明采用带角度的人脸定位方法(如图2所示)。带旋转角度的标注方案更加契合人脸的朝向,避免引入过多无关的背景像素。

本发明的人脸框带有旋转信息,其编码方式为[cx,cy,w,h,θ]五元素的向量,称之为rbox。其中cx、cy表示框的中心点,w、h表示框的宽高,θ表示框的角度,如图3所示。

所述的步骤c)中,根据所述旋转信息进行人脸定位,是通过对所述人脸区域标注锚点框,计算所述人脸框与所述锚点框之间的重叠率,并根据所述所述重叠率计算所述锚点框的置信度。其中,所述锚点框的标注,是通过卷积神经网络模型对人脸图像进行训练和预测得到的;并根据预测结果和所述置信度,得到最终人脸定位结果。

如图4所示,所述重叠率的计算包括以下步骤:

将所述人脸框和所述锚点框表示为四个角点的坐标;

初始化点集pset;

将所述人脸框和所述锚点框相交的点加入到所述点集pset;

将所述人脸框中位于所述锚点框内部的角点加入到所述点集pset;

将所述锚点框中位于所述人脸框内部的角点加入到所述点集pset;

对所述点集pset进行排序,使点集pset按照逆时针排序;

通过三角形法计算重叠面积area(i);

计算重叠率:其中,area(r1)是指所述人脸框的面积,area(r2)是指所述锚点框的面积。

其中,重叠情形主要包括以下三种:如图4-(a),包括两个交叉点,重叠面积有两个三角形;如图4-(b),包括四个交叉点,四个三角形;如图4-(c),包括八个交叉点,六个三角形。

本实施例中,根据所述重叠率计算所述锚点框的置信度,是将所述锚点框的重叠度变换为最大值为1的置信度,具体包括以下步骤:

计算人脸框列表rg与锚点框列表ra两两之间的重叠度矩阵iou[i,j],其中,iou[i,j]为第i个人脸框与第j个锚点框之间的重叠度;

对所述重叠度矩阵iou[i,j]中的每个列取重叠度的最大值ioubest-gt和人脸框的最大值indexbest-gt对应序号,即,ioubest-gt,indexbest-gt=iou.max(dim=1);

对所述重叠度矩阵iou[i,j]中的每行取锚点框的最大值ioubest-anchor对应序号,得每个人脸的最大的重叠度ioubest-anchor=iou.max(dim=0);

通过花式索引获得每个锚点框列表ra匹配的人脸的最大重叠度ioumax=iou-(best-anchor)[indexbest-gt];

对所述重叠度进行阈值处理:

重叠度ioubest-gt小于阈值t的置零,即:ioubest-gt[ioubest-gt<t]=0;

最大重叠度ioumax小于阈值tmax的置1,即:ioumax[ioumax<tmax]=1;

根据阈值处理结果计算每个锚点框列表ra的置信度scorera,其中,

本实施例中采用的配置为:t=0.1,tmax=0.3。

本实施例还进一步根据变换后的置信度scorera筛选回归样本,将置信度scorera大于阈值treg的锚点框进行回归目标框,得到最终人脸定位结果。本实施例中treg=0.55。

实施例二(人脸模型训练方法):

本实施例提供一种人脸模型训练方法,其包括以下步骤:

通过主干网络对训练集的人脸图像提取图片特征;并对所述人脸图像添加人脸框,且所述人脸框带有旋转信息;

通过深度分离卷积进行下采样;其中,所述下采样是利用逆变换采样原理,对平均分布进行扩展得到目标分布,并将所述人脸图像采样到所述目标分布上;所述深度分离卷积包括第一深度分离卷积、第二深度分离卷积、第三深度分离卷积;所述第一深度分离卷积用于预测每个人脸框包含人脸的置信度;所述第二深度分离卷积用于预测锚点框;所述第三深度分离卷积用于预测人脸关键点;

利用主干网络和下采样所得特征图构建特征金字塔结构;

在特征金字塔结构中的特征图和下采样所得的尺度不同的特征图上生成对应的锚点框;

根据锚点框与所述人脸框的重叠度是否超过预设阈值确定正负样本,对锚点框、人脸关键点进行回归训练,得到模型预测的目标框;并根据正样本锚点框与所述人脸框的重叠度进行人脸置信度的回归训练。

本实施例的整个网络总共分为四个部分:

a)网络backbone,总共下采样64倍,其中下采样8、16、32、64倍处的特征将作为fpn的基础特征,它们的特征channel数分别为64、128、128、256;

b)第二部分为特征金字塔;

c)为特征过渡,最终会将特征金字塔特征channel数调整;

d)为预测头部。

其中,主干网络backbone采用深度分离卷积(separableconvolution)结构,其结构细节如表1:

表1-主干网络的实现细节

表中,conv表示常规的卷积,s1/s2表示stride,sconv表示深度分离卷积(其结构如图6所示)。

构建特征金字塔:

首先主干网络每个stage的特征先通过1x1卷积将通道数统一变换到64.然后将上方特征进行上采样,最后将二者的特征进行叠加;

特征过渡:特征金字塔所输出的特征通道均为64,本实施例通过一个1x1卷积将通道调整为检测头部需要的通道数;

检测头部(head):检测头部通过三个深度分离卷积分别预测人脸框的置信度、锚点框和人脸点。其中人脸框的置信度、锚点框和人脸关键点的维度分别为:[m×n×k]、[m×n×(4k)]、[m×n×(10k)]其中m×n为特征图的尺寸,k表示每个特征图的锚点框个数。

本实施例的主干网络backbone大量采用深度分离卷积,能够大大降低计算量和内存占用,在保证检测性能的情况下提升检测速度。

在实践当中,由于1)不同尺度的难易程度不同;2)方法和anchor配置导致小尺度稀疏或者其它问题,使得在实践中不能简单地对尺度进行平均采样。但是现有技术的方法没有统一的目标分布采样公式。

本实施例中,利用逆变换采样原理,对平均分布进行简单扩展,提出一种有偏的尺度采样方法。使得尺度越小,出现的概率越大。优选的,最小尺度出现的概率是最大尺度的a倍,即,概率密度函数的分布曲线类似如如图所示。

概率密度函数曲线的数学公式如下:

f(x)=λa-x,其中x∈[0,1];

其概率累计函数在0和1处分别取0和1,于是有:

f(x)的函数为:

采用逆变换采样原理即可将人脸的尺度采样到目标分布上。本实施例中中取a=4,脸的目标尺寸范围为(10,256),因此本实施例的尺度采样公式为:

y=(256-10)f-1(r)+10;其中r为[0,1]之间的均匀分布。

本实施例的高效的基础网络架构具有速度快,内存占用小同时性能优越的优势。实验表明,使用本发明的技术可以在中低端手机实现实时性的效果。通过本实施例的有偏的人脸尺度采样方案,使得训练过程中人脸的尺度和锚点的密度相匹配,能够有效提升人脸检测装置的性能,特别是对小人脸的性能。

本实施例的人脸模型训练方法的其余过程

实施例三(人脸检测方法):

本实施例还提供一种人脸检测方法,其包括以下步骤:

通过主干网络对待检测图像提取图片特征;

通过深度分离卷积进行下采样;其中,所述下采样是利用逆变换采样原理,对平均分布进行扩展得到目标分布,并将所述人脸图像采样到所述目标分布上;所述深度分离卷积包括第一深度分离卷积、第二深度分离卷积、第三深度分离卷积;所述第一深度分离卷积用于预测每个人脸框包含人脸的置信度;所述第二深度分离卷积用于预测锚点框;所述第三深度分离卷积用于预测人脸关键点;

利用主干网络和下采样所得特征图构建特征金字塔结构;

在特征金字塔结构中的特征图和下采样所得的尺度不同的特征图上生成对应的锚点框;

对于预测的锚点框对应的置信度,选取大于指定阈值的锚点框作为预测候选框;根据所述预测候选框的重叠度,执行非极大值抑制(nms)算法,过滤重叠的候选框,得到模型最终的预测框。

本实施例的其余模型结构和算法与第一实施例和第二实施例基本相似,在此不进行赘述。

实施例四(人脸检测装置):

另外,本发明还提供一种人脸检测装置,所述人脸检测装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的人脸检测程序,所述人脸检测程序被所述处理器执行时实现如上任一项所述的人脸检测方法的步骤,其实现原理和技术效果类似,详细可以参见上述人脸定位方法、人脸模型训练方法、人脸检测方法等实施例中的相关记载,此处不再赘述。

所述人脸检测装置包括:手机、数码相机或平板电脑等具有拍照功能的人脸检测装置,或者具有图像处理功能的人脸检测装置,或者具有图像显示功能的人脸检测装置。所述人脸检测装置可包括存储器、处理器、输入单元、显示单元、电源等部件。

其中,存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(例如图像播放功能等)等;存储数据区可存储根据人脸检测装置的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器和输入单元对存储器的访问。

本实施例的输入单元除了包括摄像头,还可包括可用于接收输入的数字或字符或图像信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入等其他输入设备。

显示单元可用于显示由用户输入的信息或提供给用户的信息以及人脸检测装置的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元可包括显示面板,可选的,可以采用lcd(liquidcrystaldisplay,液晶显示器)、oled(organiclight-emittingdiode,有机发光二极管)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器以确定触摸事件的类型,随后处理器根据触摸事件的类型在显示面板上提供相应的视觉输出。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

并且,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

上述说明示出并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

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