一种判定人脸点可见性的方法及计算设备与流程

文档序号:16470328发布日期:2019-01-02 23:02阅读:174来源:国知局
一种判定人脸点可见性的方法及计算设备与流程

本发明涉及图像处理技术领域,尤其涉及一种判定人脸点可见性的方法及计算设备。



背景技术:

人脸特征点检测是在人脸检测的基础上进行的,对人脸上的特征点(例如嘴角、眼角)等进行定位的方案。人脸特征点检测在工程上有很多应用,例如:(1)改善人脸识别,通过人脸特征点检测将人脸对齐到平均脸,对齐后的人脸图像可以提高人脸识别算法的效果;(2)人脸融合,利用人脸特征点检测的结果,对两张不同的人脸图像进行融合,以达到类似“换脸”的效果;(3)人脸美妆,例如在人脸特征点检测的基础上实现添加腮红、眼影眼线、美瞳、戴眼镜等特效。由此可见,人脸特征点检测能够极大地满足不同用户的个性化需求,并且,只有在特征点检测地足够准确且速度很快的基础上,接下来的应用功能才能达到符合用户期望的效果。

深度神经网络在现如今的人脸特征点检测算法中应用广泛并且取得了很好的效果,但是当五官或者轮廓被遮挡住后,后续的应用就会出现误差。以人脸美妆为例,当五官被遮挡物部分遮挡时,继续基于人脸特征点做特效会导致妆容或者特效加在遮挡物上的问题。

因此,需要一种在人脸特征点检测及应用中,能够有效判定人脸点可见性的方案。



技术实现要素:

为此,本发明提供了一种判定人脸点可见性的方法及计算设备,以力图解决或至少缓解上面存在的至少一个问题。

根据本发明的一个方面,提供了一种生成人脸点可见性判定模型的方法,适于在计算设备中执行,包括步骤:获取经过标注的人脸图像作为训练图像,训练图像具有相应的标注数据,标注数据包含所述训练图像中每个人脸点的位置及各人脸点的可见性值;构建第一处理模块、第二处理模块和第三处理模块;将训练图像输入所构建的第一处理模块进行处理,以输出训练图像中每个人脸点的预测位置,并根据标注数据对所构建的第一处理模块进行训练,以得到训练后的第一处理模块;利用第二处理模块根据各人脸点的位置生成各人脸点的特征图;将各人脸点的特征图输入所构建的第三处理模块进行处理,以输出表征各人脸点可见性的置信度,并根据标注数据对所构建的第三处理模块进行训练,以得到训练后的第三处理模块;以及根据所述训练后的第一处理模块、第二处理模块和训练后的第三处理模块生成人脸点可见性判定模型。

可选地,在根据本发明的方法中,根据标注数据对所构建的第一处理模块进行训练,以得到训练后的第一处理模块的步骤包括:按照第一损失函数计算每个人脸点的预测位置相对于标注数据中每个人脸点的位置的第一损失值,直到第一损失值满足预定条件时,得到训练后的第一处理模块。

可选地,在根据本发明的方法中,利用第二处理模块根据各人脸点的位置生成各人脸点的特征图的步骤包括:将训练图像输入训练后的第一处理模块中,得到各人脸点的预测位置和至少一个第一特征图;以及利用第二处理模块根据各人脸点的预测位置从至少一个第一特征图中裁剪出各人脸点的特征图。

可选地,在根据本发明的方法中,根据标注数据对所构建的第三处理模块进行训练,以得到训练后的第三处理模块的步骤包括:按照第二损失函数计算每个人脸点可见性的置信度相对于标注数据中每个人脸点的可见性值的第二损失值,直到第二损失值满足预定条件时,得到训练后的第三处理模块。

可选地,在根据本发明的方法中,第一处理模块包括依次相连的第一数目个卷积处理层和第二数目个全连接处理层;以及第三处理模块包括一个卷积处理层和一个全连接处理层。

根据本发明的另一个方面,提供了一种判定人脸点可见性的方法,适于在计算设备中执行,包括步骤:将待处理的人脸图像输入预设的人脸点可见性判定模型进行处理,以得到各人脸点的置信度;以及根据每个人脸点的置信度来判断该人脸点是否可见,若人脸点的置信度大于第一阈值,则确认该人脸点可见,若人脸点的置信度不大于第一阈值,则确认该人脸点不可见;其中,预设的人脸点可见性判定模型通过执行如上所述的方法来生成。

可选地,在根据本发明的方法中,预设的人脸点可见性判定模型包括第一处理模块、第二处理模块和第三处理模块;以及将待处理的人脸图像输入预设的人脸点可见性判定模型进行处理的步骤包括:通过第一处理模块对待处理的人脸图像进行人脸点检测处理,以得到至少一个第一特征图和所述待处理的人脸图像中各人脸点的位置,通过第二处理模块根据各人脸点的位置分别从至少一个第一特征图中生成各人脸点的特征图,通过第三处理模块对所述各人脸点的特征图进行卷积处理,以计算出表征各人脸点可见性的置信度。

可选地,在根据本发明的方法中,第一处理模块包括依次相连的第一数目个卷积处理层和第二数目个全连接处理层;以及第三处理模块包括一个卷积处理层和一个全连接处理层。

可选地,在根据本发明的方法中,通过第一处理模块对待处理的人脸图像进行人脸点检测处理、以得到预定数目个特征图和待处理的人脸图像中各人脸点的位置的步骤包括:通过第一处理模块对待处理的人脸图像进行人脸点检测处理,以输出待处理的人脸图像中各人脸点的位置;以及获取经第二个卷积处理层处理后输出的至少一个特征图,作为所述第一特征图。

可选地,在根据本发明的方法中,第一阈值为0.5,第一数目为9,第二数目为2。

根据本发明的再一个方面,提供了一种计算设备,包括:至少一个处理器;和存储器;一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由处理器执行,一个或多个程序包括用于执行如上所述方法的指令。

根据本发明的再一个方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当计算设备执行时,使得计算设备执行如上所述方法中的任一方法。

根据本发明的判定人脸点可见性的方案,先通过训练生成一个人脸点可见性判定模型,该判定模型主要包括用来预测人脸点位置的第一处理模块和用来判定人脸点可见性的第三处理模块,通过第二处理模块将第一处理模块和第三处理模块连接起来。并且,先训练好第一处理模块后再训练第三处理模块。这样,通过直接复用第一处理模块的输出结果的方式,不仅有效地降低了判定模型的大小与前向时间,还在不影响人脸点位置预测结果的情况下能够给出比较准确的可见性的预测。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。

图1示出了根据本发明一个实施例的计算设备100的示意图;

图2示出了根据本发明一个实施例的生成人脸点可见性判定模型的方法200的流程图;

图3示出了根据本发明一个实施例的第一处理模块300的结构示意图;

图4示出了根据本发明一个实施例的第三处理模块400的结构示意图;

图5示出了根据本发明一个实施例的人脸点可见性判定模型500的结构示意图;以及

图6示出了根据本发明一个实施例的判定人脸点可见性的方法600的流程示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的计算设备100的示意图。

如图1所示,在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。

取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μp)、微控制器(μc)、数字信息处理器(dsp)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。

取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序124。在一些实施方式中,应用122可以布置为在操作系统上由一个或多个处理器104利用程序124执行指令。

计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个a/v端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个i/o端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。

网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(ir)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。

在根据本发明的计算设备100中,应用122包括生成人脸点可见性判定模型的方法200和判定人脸点可见性的方法600的多条程序指令,程序124还可以包括训练图像、标注数据、以及人脸点可见性判定模型的参数等数据。

根据本发明的实施例,计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、数码照相机、个人数字助理(pda)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。当然,计算设备100也可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。

图2示出了根据本发明一个实施例的生成人脸点可见性判定模型的方法200的流程图,方法200适于在计算设备(例如前述计算设备100)中执行。如图2所示,方法200始于步骤s210。

在步骤s210中,获取人脸图像并对这些人脸图像进行标注,以作为训练图像。

根据本发明的一个实施例,获取的用来标注的人脸图像基本上是一些人脸点被遮挡得很少或者完全没有被遮挡的人脸图像。根据一种实施方式,人脸点一般指表征人脸轮廓或人脸五官(如眼、口、鼻)等的关键特征点,在根据本发明的一个实施例中,人脸点包括表征外轮廓和五官的共118个特征点,其中,表征外轮廓的特征点有33个,表征五官的特征点有85个。应当指出,遮挡很少的情况通常是指自然场景中的遮挡,如头发遮挡了眉毛、手遮挡了下巴等,一般地,在118个特征点中有低于10个特征点被遮挡时,认为就是遮挡很少。

需要说明的是,为了训练效果更加理想,一般获取的人脸图像需要尽可能多地包含各种场景和情况。除了自然拍摄的图像外,还可以通过人为在人脸图像的人脸点上添加遮挡物来“伪造”人脸点被遮挡得很少的情况,以模拟出各种自然场景中可能存在的场景。本发明的实施例对此不做过多限制。另外,本发明的实施例对训练图像的数目不做限制。

选好用来标注的人脸图像后,先通过人脸检测算法计算出人脸图像中所有人脸点的坐标位置(本发明的实施例对采用何种检测算法不做限制),同时,通过专业人士标注出检测到的每个人脸点是否可见的可见性值,根据一种实施例,当某个人脸点没有被遮挡时,其对应的可见性值为1,当某个人脸点被遮挡时,其对应的可见性值为0。这样,每个训练图像都具有相应的标注数据,标注数据包含了该训练图像中各人脸点的位置及各人脸点的可见性值。

随后在步骤s220中,构建第一处理模块、第二处理模块和第三处理模块。

根据一种实施例,第一处理模块是一个卷积神经网络,用来对输入的人脸图像进行人脸点检测处理,以预测出人脸图像中每个人脸点的位置。第一处理模块的结构包括依次相连的第一数目个卷积处理层和第二数目个全连接处理层,当然,网络结构可以由本领域技术人员根据实际需要自行设置,本发明对此不做限制。

如图3示出了根据本发明一个实施例的第一处理模块300的结构示意图。需要说明的是,本发明的实施例对第一处理模块300中所包括的卷积处理层310和全连接处理层320的数目不做限制。在一个实施例中,第一数目取9,第二数目取2,即分别记作:卷积处理层311、卷积处理层312、卷积处理层313、卷积处理层314、…、卷积处理层319,以及全连接处理层321、全连接处理层322。其中,每个卷积处理层又包括卷积层(conv)和激活层(acti),激活层的激活函数可以由本领域技术人员自行设置,本发明对此不做限制,例如,可以将激活函数设置为relu函数、tanh函数、sigmoid函数等。全连接处理层中除了全连接层(fc)外,也包含激活层(acti),同样地,本发明的实施例对激活层的激活函数不做限制。此外,在每个卷积层中,除了卷积处理外,还可能包含池化处理,例如最大值池化、均值池化等,对于本领域技术人员来说,卷积网络中所包含的卷积、池化、激活等处理均属于已知内容,此处不再一一赘述。需要说明的是,对图像的激活处理可以通过设置单独的激活层实现(如上文所述),也可以在构造层对象时通过传递activation参数实现,本发明的实施例对激活函数的实现方式并不做限制。

根据一种实施例,第二处理模块用于实现基本的图像处理算法,如对图像进行分块、裁剪、尺度变换等。

根据一种实施例,第三处理模块也是一个卷积神经网络,用来计算输入图像中每个人脸点是否可见的置信度。第三处理模块的结构包括一个卷积处理层和一个全连接处理层。

如图4示出了根据本发明一个实施例的第三处理模块400的结构示意图。需要说明的是,本发明的实施例对第三处理模块400中所包括的卷积处理层410和全连接处理层420的数目并不做限制,本领域技术人员可根据实际需要来设置卷积处理层和全连接处理层的数目。其中,每个卷积处理层又包括卷积层(conv)和激活层(acti),激活层的激活函数可以由本领域技术人员自行设置,本发明对此不做限制,例如,可以将激活函数设置为relu函数、tanh函数、sigmoid函数等。全连接处理层中除了全连接层(fc)外,也包含激活层(acti),同样地,本发明的实施例对激活层的激活函数不做限制。此外,在每个卷积层中,除了卷积处理外,还可能包含池化处理,例如最大值池化、均值池化等,对于本领域技术人员来说,卷积网络中所包含的卷积、池化、激活等处理均属于已知内容,此处不再一一赘述。需要说明的是,对图像的激活处理可以通过设置单独的激活层实现(如上文所述),也可以在构造层对象时通过传递activation参数实现,本发明的实施例对激活函数的实现方式并不做限制。

随后在步骤s230中,将训练图像输入所构建的第一处理模块进行处理,以输出训练图像中每个人脸点的预测位置,并根据标注数据对所构建的第一处理模块进行训练,以得到训练后的第一处理模块。

根据一种实施例,首先将经步骤s210生成的训练图像输入经步骤s220构建的第一处理模块300中,经卷积网络卷积处理后,输出训练图像中每个人脸点的预测位置。如前文所述,标注的人脸点包括118个特征点,故,第一处理模块300输出的是一个236维的向量,包括118个特征点的x坐标值和y坐标值。

接着,根据标注数据对所构建的第一处理模块进行训练。具体地,按照第一损失函数计算每个人脸点的预测位置相对于标注数据中每个人脸点的位置的第一损失值。第一损失函数的设置会影响第一处理模块300的训练效果。根据本发明的实现方式,第一损失函数可以用公式(1)表示:

式(1)中,loss1表示第一损失值,ai表示第i个人脸点的预测位置,bi表示标注数据中第i个人脸点的位置,m表示输入第一处理模块300的人脸点的数目。

也就是说,对于每个训练图像,计算其中每个人脸点的预测位置与标注数据中的位置的距离值,然后再将所有的训练图像上所有人脸点的距离值求和,作为第一损失值。以输入i个训练图像到第一处理模块300中为例,每个训练图像中有118个人脸点,那么总共要计算i*118个人脸点的距离值。本发明的实施例对计算距离值的方法不做过多限制,例如,求取第i个人脸点的预测位置ai与标注数据中的位置bi的欧氏距离值,作为|ai-bi|。

根据一种实施方式,在每次计算出第一损失值后,根据第一损失值来更新第一处理模块300的网络参数,得到新的第一处理模块300,而后,利用新的第一处理模块300对上述训练图像再进行训练来生成新的第一损失值,再更新网络参数,…,重复迭代多次“计算第一损失值→更新网络参数”的步骤,直到计算出的第一损失值满足预定条件(在模型的训练过程中,随着训练次数的增加,通常损失值会越来越小,预定条件可以设为相邻两次训练的第一损失值的差值小于预定阈值或相邻的几个第一损失值基本保持不变,此时说明损失趋于稳定),训练结束。此时对应的第一处理模块300就是训练后的第一处理模块300。

应当指出,在步骤s220中构建了第一处理模块300的结构后,还有一些参数需要预先设置,例如,每一个卷积层(conv)所采用的卷积核(kernel)的数量和尺寸、卷积核的移动步长、四周填充边的数量、每个激活层(acti)所采用的激活函数、等等。表1示出了图3所示的第一处理模块300的部分参数示例(应当指出,在每一个激活层中,仅需确定选用哪种激活函数,故在每个激活层中仅标注出了所采用的激活函数)。

表1第一处理模块中卷积处理层的部分参数示例

另外,在本发明的实施例中,输入第一处理模块300的训练图像的尺寸为120*120,经卷积处理层319处理后,输出128个3*3的特征图,将其输入到全连接处理层进行处理,经全连接处理层321处理输出一个256维的向量,再经全连接处理层322处理输出一个236维的向量。在根据本发明的一个实施例中,全连接处理层中均采用relu激活函数进行激活处理。

上述第一处理模块300的结构及各卷积处理层的基本参数均由本领域技术人员预先设置,作为预训练的第一处理模块300,利用第一损失函数训练第一处理模块300的过程,就是确定第一处理模块300中的各网络参数的过程,其中,网络参数包括每一个卷积核的各个位置处的权重,以及偏置参数等。

随后在步骤s240中,利用第二处理模块根据各人脸点的位置生成各人脸点的特征图。

第一处理模块300中的各卷积处理层可以输出不同尺寸大小的特征图(featuremap),根据一种实施例,将训练图像输入到训练后的第一处理模块300中,在输出各人脸点的预测位置的同时,输出第一处理模块300中的浅层特征图。根据一种实施方式,浅层特征图是指经靠近输入的卷积处理层处理后所输出的特征图。在根据本发明的实施例中,输出经第二个卷积处理层输出的至少一个特征图,作为第一特征图(在一个实施例中,第一特征图的数目为16)。应当指出,本发明的实施例对第一特征图不做过多限制,也可以将经第三个卷积处理层输出的特征图作为第一特征图,对于第一特征图的设置,亦取决于第一处理模块中卷积处理层的数目,在实际操作中本领域技术人员可据实际情况选取第一特征图。

在得到各人脸点的预测位置和至少一个第一特征图后,第二处理模块根据各人脸点的预测位置从各第一特征图中裁剪出各人脸点的特征图。在根据本发明的一个实施例中,以各人脸点的预测位置为中心点,从第一特征图中裁剪出预定大小的特征块作为各人脸点的特征图,预定大小一般为3*3。

随后在步骤s250中,将各人脸点的特征图输入所构建的第三处理模块进行处理,以输出表征各人脸点可见性的置信度,并根据标注数据对所构建的第三处理模块进行训练,以得到训练后的第三处理模块。

根据一种实施例,对于每个输入第一处理模块300的训练图像,可以得到c个第一特征图,对于每个第一特征图,又可以得到118个特征块作为各人脸点的特征图。故,对于输入第一处理模块300的每个训练图像,都可以有118*c个特征图对应输入第三处理模块400。将每个训练图像对应的118*c个特征图前后拼接并输入到第三处理模块400中,经卷积和全连接处理后,输出一个118维的向量,向量中的各元素就代表各人脸点可见性的置信度。当然,也可以输出一个2*118维的向量(或一个2*118的二维数组),由于一个人脸点需要用对应的x坐标和y坐标来表示,此时,用两个元素来表示一个人脸点坐标处对应的置信度,能够更准确地描述人脸点被遮挡的位置。本发明的实施例对此不做过多限制。

接着,根据标注数据对所构建的第三处理模块进行训练。具体地,按照第二损失函数计算每个人脸点可见性的置信度相对于标注数据中每个人脸点的可见性值的第二损失值。第二损失函数的设置会影响第三处理模块400的训练效果。根据本发明的实现方式,第二损失函数可以用公式(2)表示:

式(2)中,loss2表示第二损失值,pi表示第i个人脸点可见性的置信度,ti表示标注数据中第i个人脸点的可见性值,n表示输入第三处理模块400的人脸点的特征图的数目。根据本发明的实施例,可见性值为0或1,置信度值的取值范围为[0,1]。

根据一种实施方式,在每次计算出第二损失值后,根据第二损失值来更新第三处理模块400的网络参数,得到新的第三处理模块400,而后,利用新的第三处理模块400对上述特征图再进行训练来生成新的第二损失值,再更新网络参数,…,重复迭代多次“计算第二损失值→更新网络参数”的步骤,直到计算出的第二损失值满足预定条件(在模型的训练过程中,随着训练次数的增加,通常损失值会越来越小,预定条件可以设为相邻两次训练的第二损失值的差值小于预定阈值或相邻的几个第二损失值基本保持不变,此时说明损失趋于稳定),训练结束。此时对应的第三处理模块400就是训练后的第三处理模块400。

应当指出,在步骤s220中构建了第三处理模块400的结构后,还有一些参数需要预先设置,例如,卷积层(conv)所采用的卷积核(kernel)的数量和尺寸、卷积核的移动步长、四周填充边的数量、激活层(acti)所采用的激活函数、等等。根据本发明的一个实施例,第三处理模块400中的卷积处理层410采用2个3*3的卷积核对输入图像进行卷积处理,且卷积步长(stride)设为1,在卷积处理后通过relu激活函数进行激活处理,而后输入全连接处理层420,最终输出包含各人脸点置信度值的向量。

上述第三处理模块400的结构及各卷积处理层的基本参数均由本领域技术人员预先设置,作为预训练的第三处理模块400,利用第二损失函数训练第三处理模块400的过程,就是确定第三处理模块400中的各网络参数的过程,其中,网络参数包括每一个卷积核的各个位置处的权重,以及偏置参数等。

随后在步骤s260中,根据训练后的第一处理模块、第二处理模块和训练后的第三处理模块生成人脸点可见性判定模型。

图5示出了根据本发明一个实施例的人脸点可见性判定模型500的结构示意图,人脸点可见性判定模型500包括经步骤s230训练后的第一处理模块(记作第一处理模块510)、第二处理模块520和经步骤s250训练后的第三处理模块(记作第一处理模块530)。根据本发明的实施例,第一处理模块510用来对输入的人脸图像进行多层卷积处理,输出人脸图像中各人脸点的位置;同时,输出代表浅层特征的至少一个第一特征图。将第一处理模块510的所有输出都输入到与之耦接的第二处理模块520。第二处理模块520是一个基本的图像处理模块,以各人脸点的位置为中心点,从各第一特征图中裁剪出预定大小的特征块作为各人脸点的特征图,并输入到与之耦接的第三处理模块530。第三处理模块530用来对各人脸点的特征图进行卷积处理,最终输出各人脸点可见的置信度。

以上示出了根据本发明一些实施例的人脸点可见性判定模型500的网络结构、以及生成模型500时所采用的训练方法200。本领域技术人员应当了解,在执行完方法200后,即生成了训练好的人脸点可见性判定模型500,此时,训练好的人脸点可见性判定模型就是预设的人脸点可见性判定模型。

图6示出了根据本发明一个实施例的判定人脸点可见性的方法600的流程示意图。方法600在计算设备100中执行,通过预设的人脸点可见性判定模型500来对待处理的人脸图像进行处理。

方法600始于步骤s610,将待处理的人脸图像输入预设的人脸点可见性判定模型进行处理,以得到各人脸点的置信度。

根据本发明的实施方式,待处理图像可以是通过计算设备100实时拍摄所得的图像,也可以是通过网络下载的图像。本发明的实施例对此不做限制。

如前文所述,预设的人脸点可见性判定模型500包括第一处理模块510、第二处理模块520和第三处理模块530。其中,第一处理模块510包括依次相连的第一数目个卷积处理层和第二数目个全连接处理层(在一个实施例中,第一数目取9,第二数目取2)。第二处理模块520是一般的图像处理模块。第三处理模块530包括一个卷积处理层和一个全连接处理层。关于预设的人脸点可见性判定模型500的进一步描述可参见前文描述,此处不再赘述。

根据一种实施方式,将待处理的人脸图像输入预设的人脸点可见性判定模型500,通过第一处理模块510对待处理的人脸图像进行人脸点检测处理,以得到至少一个第一特征图和待处理的人脸图像中各人脸点的位置。根据本发明的一个实施例,通过第一处理模块510对待处理的人脸图像进行人脸点检测处理,以输出待处理的人脸图像中各人脸点的位置,同时,获取经第二个卷积处理层处理后输出的至少一个特征图,作为第一特征图。而后,通过第二处理模块520根据各人脸点的位置分别从至少一个第一特征图中生成各人脸点的特征图;最后,通过第三处理模块530对各人脸点的特征图进行卷积处理,以计算出表征各人脸点可见性的置信度。

随后在步骤s620中,根据每个人脸点的置信度来判断该人脸点是否可见。根据一种实施方式,若人脸点的置信度大于第一阈值,则确认该人脸点可见;若人脸点的置信度不大于第一阈值,则确认该人脸点不可见(即被遮挡)。在根据本发明的一个实施例中,第一阈值取0.5。

根据本发明的判定人脸点可见性的方案,先通过训练生成一个人脸点可见性判定模型,该判定模型主要包括用来预测人脸点位置的第一处理模块和用来判定人脸点可见性的第三处理模块,通过第二处理模块将第一处理模块和第三处理模块连接起来。根据一种实施方式,第二处理模块将第一处理模块的输出结果进行处理,以输入到第三处理模块中。并且,先训练好第一处理模块后再训练第三处理模块。这样,通过直接复用人脸点位置的浅层特征(即,第一处理模块的输出)的方式,不仅有效地降低了判定模型的大小与前向时间,还在不影响人脸点位置预测结果的情况下能够给出比较准确的可见性的预测。在测试阶段,只要将待处理的人脸图像输入该判定模型,不仅可以预测出各人脸点的位置,还可以对各人脸点的可见性进行判定,输出表征每个人脸点可见性的置信度。

根据本发明的方案可以很好地应用在人脸美妆等场景中,当判定某个人脸点不可见(即,被遮挡)时,就不在该人脸点上添加妆容或特效,以避免出现将妆容或特效添加在遮挡物之上的问题。

这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、u盘、软盘、cd-rom或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。

在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的方法。

以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。

在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

本发明一并公开了:

a9、如a8所述的方法,其中,预设的人脸点可见性判定模型包括第一处理模块、第二处理模块和第三处理模块;以及将待处理的人脸图像输入预设的人脸点可见性判定模型进行处理的步骤包括:通过第一处理模块对待处理的人脸图像进行人脸点检测处理,以得到至少一个第一特征图和待处理的人脸图像中各人脸点的位置,通过第二处理模块根据各人脸点的位置分别从至少一个第一特征图中生成各人脸点的特征图,通过第三处理模块对各人脸点的特征图进行卷积处理,以计算出表征各人脸点可见性的置信度。

a10、如a9所述的方法,其中,第一处理模块包括依次相连的第一数目个卷积处理层和第二数目个全连接处理层;以及第三处理模块包括一个卷积处理层和一个全连接处理层。

a11、如a10所述的方法,其中,通过第一处理模块对待处理的人脸图像进行人脸点检测处理、以得到预定数目个特征图和待处理的人脸图像中各人脸点的位置的步骤包括:通过第一处理模块对待处理的人脸图像进行人脸点检测处理,以输出待处理的人脸图像中各人脸点的位置;以及获取经第二个卷积处理层处理后输出的至少一个特征图,作为所述第一特征图。

a12、如a8-11中任一项所述的方法,其中第一阈值为0.5。

a13、如a10所述的方法,其中第一数目为9,第二数目为2。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。

如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。

尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。

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