CN108427941A - 用于生成人脸检测模型的方法、人脸检测方法和装置 - Google Patents
用于生成人脸检测模型的方法、人脸检测方法和装置 Download PDFInfo
- Publication number
- CN108427941A CN108427941A CN201810307489.5A CN201810307489A CN108427941A CN 108427941 A CN108427941 A CN 108427941A CN 201810307489 A CN201810307489 A CN 201810307489A CN 108427941 A CN108427941 A CN 108427941A
- Authority
- CN
- China
- Prior art keywords
- face
- model
- penalty values
- facial image
- sample
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了用于生成人脸检测模型的方法、人脸检测方法和装置。该方法的一具体实施方式包括:获取初始人脸检测模型,将所获取的初始人脸检测模型作为当前人脸检测模型;获取样本集,从该样本集中选取样本;执行如下的训练步骤:将样本集输入具有多个卷积层的当前人脸检测模型,选取多个目标特征图;确定目标特征图中的脸部区域损失值;基于该脸部区域损失值,确定目标损失值;确定总损失值;将该总损失值在该当前人脸检测模型中反向传播,以得到更新后的人脸检测模型。本申请实施例对当前人脸检测模型进行反向传播,提高了所生成的人脸检测模型的准确性和召回率。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及用于生成人脸检测模型的方法、人脸检测方法和装置。
背景技术
人脸检测是自动识别系统中的一个重要环节,该技术已经被越来越广泛的应用。其通常是指对于任意一幅给定的图像,采用一定的策略对其进行搜索以确定其中是否含有人脸。如果含有人脸,则可以返回人脸的位置、大小和姿态等。
现有的人脸检测需要通过训练好的神经网络进行。具体地,人脸检测是将图像输入神经网络中,从而得到图像的人脸检测结果。
发明内容
本申请实施例提出了用于生成人脸检测模型的方法、人脸检测方法和装置。
第一方面,本申请实施例提供了一种用于生成人脸检测模型的方法,包括:获取初始人脸检测模型,将所获取的初始人脸检测模型作为当前人脸检测模型;获取样本集,其中,样本集中的样本包括样本人脸图像以及标注信息,标注信息用于标注样本人脸图像所包含的脸部;采用样本集,对当前人脸检测模型执行如下的训练步骤:将样本集输入具有多个卷积层的当前人脸检测模型,选取由不同卷积层确定的多个特征图作为多个目标特征图;对于多个目标特征图中的每个目标特征图,确定该目标特征图中,脸部区域与标注信息中的脸部标注之间的脸部区域损失值;基于脸部区域损失值,确定目标损失值;将多个目标特征图所对应的多个目标损失值的加权和确定为总损失值;将总损失值在当前人脸检测模型中反向传播,以更新当前人脸检测模型的参数,得到更新后的人脸检测模型;响应于更新后的人脸检测模型所对应的总损失值小于预设的损失值阈值,将更新后的人脸检测模型确定为所生成的人脸检测模型。
在一些实施例中,对于多个目标特征图中的每个目标特征图,确定该目标特征图中,脸部区域与标注信息中的脸部标注之间的脸部区域损失值,包括:确定特征图中的脸部区域在样本人脸图像中所对应的脸部位置包含脸部的概率;确定脸部位置与样本人脸图像的标注信息所标注的脸部的偏差;基于所确定的概率和偏差,确定脸部区域与标注信息中的脸部标注之间的脸部区域损失值。
在一些实施例中,基于脸部区域损失值,确定目标损失值,包括:基于脸部区域损失值和以下至少一项的加权和,确定目标损失值:头部区域损失值和躯干区域损失值。
在一些实施例中,标注信息还用于标注样本人脸图像所包含的头部;头部区域损失值通过以下步骤确定得到:确定特征图中,头部区域在样本人脸图像中所对应的头部位置包含头部的概率;确定头部位置与样本人脸图像的标注信息所标注的头部的偏差;基于所确定的头部位置所对应的概率和偏差,确定头部区域与标注信息中的头部标注之间的头部区域损失值。
在一些实施例中,标注信息还用于标注样本人脸图像所包含的躯干;躯干区域损失值通过以下步骤确定得到:确定特征图中,躯干区域在样本人脸图像中所对应的躯干位置包含躯干的概率;确定躯干位置与样本人脸图像的标注信息所标注的躯干的偏差;基于所确定的躯干位置所对应的概率和偏差,确定躯干区域与标注信息中的躯干标注之间的躯干区域损失值。
在一些实施例中,训练步骤还包括:响应于更新后的人脸检测模型所对应的总损失值不小于预设的损失值阈值,将更新后的人脸检测模型作为当前人脸检测模型,并继续执行训练步骤。
第二方面,本申请实施例提供了一种人脸检测方法,包括:获取目标人脸图像;将目标人脸图像输入预先训练的人脸检测模型中,得到脸部区域;其中,预先训练的人脸检测模型为第一方面的任意一项的方法生成的当前人脸检测模型。
第三方面,本申请实施例提供了一种用于生成人脸检测模型的装置,包括:获取单元,配置用于获取初始人脸检测模型,将所获取的初始人脸检测模型作为当前人脸检测模型;样本获取单元,配置用于获取样本集,其中,样本集中的样本包括样本人脸图像以及标注信息,标注信息用于标注样本人脸图像所包含的脸部;训练单元,训练单元包括:选取子单元,配置用于将样本集输入具有多个卷积层的当前人脸检测模型,选取由不同卷积层确定的多个特征图作为多个目标特征图;损失值确定子单元,配置用于对于多个目标特征图中的每个目标特征图,确定该目标特征图中,脸部区域与标注信息中的脸部标注之间的脸部区域损失值;基于脸部区域损失值,确定目标损失值;总损失确定子单元,配置用于将多个目标特征图所对应的多个目标损失值的加权和确定为总损失值;更新子单元,配置用于将总损失值在当前人脸检测模型中反向传播,以更新当前人脸检测模型的参数,得到更新后的人脸检测模型;生成子单元,配置用于响应于更新后的人脸检测模型所对应的总损失值小于预设的损失值阈值,将更新后的人脸检测模型确定为所生成的人脸检测模型。
在一些实施例中,损失值确定子单元进一步配置用于:确定特征图中的脸部区域在样本人脸图像中所对应的脸部位置包含脸部的概率;确定特征图中,脸部位置与样本人脸图像的标注信息所标注的脸部的偏差;基于所确定的概率和偏差,确定脸部区域与标注信息中的脸部标注之间的脸部区域损失值。
在一些实施例中,损失值确定子单元进一步配置用于:基于脸部区域损失值和以下至少一项的加权和,确定目标损失值:头部区域损失值和躯干区域损失值。
在一些实施例中,标注信息还用于标注样本人脸图像所包含的头部;头部区域损失值通过以下步骤确定得到:确定特征图中,头部区域在样本人脸图像中所对应的头部位置包含头部的概率;确定头部位置与样本人脸图像的标注信息所标注的头部的偏差;基于所确定的头部位置所对应的概率和偏差,确定头部区域与标注信息中的头部标注之间的头部区域损失值。
在一些实施例中,标注信息还用于标注样本人脸图像所包含的躯干;躯干区域损失值通过以下步骤确定得到:确定特征图中,躯干区域在样本人脸图像中所对应的躯干位置包含躯干的概率;确定躯干位置与样本人脸图像的标注信息所标注的躯干的偏差;基于所确定的躯干位置所对应的概率和偏差,确定躯干区域与标注信息中的躯干标注之间的躯干区域损失值。
在一些实施例中,训练单元还包括:模型更新子单元,配置用于响应于更新后的人脸检测模型所对应的总损失值不小于预设的损失值阈值,将更新后的人脸检测模型作为当前人脸检测模型,并将当前人脸检测模型输入训练单元。
第四方面,本申请实施例提供了一种人脸检测装置,包括:图像获取单元,配置用于获取目标人脸图像;区域确定单元,配置用于将目标人脸图像输入预先训练的人脸检测模型中,得到脸部区域;其中,预先训练的人脸检测模型为第三方面中任意一项的用于生成人脸检测模型的装置生成的当前人脸检测模型。
第五方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如用于生成人脸检测模型的方法中任一实施例的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如用于生成人脸检测模型的方法中任一实施例的方法。
第七方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如人脸检测方法中任一实施例的方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如人脸检测方法中任一实施例的方法。
本申请实施例提供的用于生成人脸检测模型的方法和装置,首先,获取初始人脸检测模型,将所获取的初始人脸检测模型作为当前人脸检测模型。获取样本集,其中,样本集中的样本包括样本人脸图像以及标注信息,标注信息用于标注样本人脸图像所包含的脸部。执行如下的训练步骤:步骤1,将样本集输入具有多个卷积层的当前人脸检测模型,选取由不同卷积层确定的多个特征图作为多个目标特征图;步骤2,对于多个目标特征图中的每个目标特征图,确定该目标特征图中,脸部区域与标注信息中的脸部标注之间的脸部区域损失值;步骤3:基于脸部区域损失值,确定目标损失值;步骤4,将多个目标特征图所对应的多个目标损失值的加权和确定为总损失值;将总损失值在当前人脸检测模型中反向传播,以更新当前人脸检测模型的参数,得到更新后的人脸检测模型;步骤5,响应于更新后的人脸检测模型所对应的总损失值小于预设的损失值阈值,将更新后的人脸检测模型确定为所生成的人脸检测模型。本申请实施例利用多个目标特征图所对应的多个目标损失值的加权和,对当前人脸检测模型进行反向传播,提高了所生成的人脸检测模型的准确性和召回率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的用于生成人脸检测模型的方法的一个实施例的流程图;
图3是根据本申请的用于生成人脸检测模型的方法的一个应用场景的示意图;
图4是根据本申请的用于生成人脸检测模型的方法的又一个实施例的流程图;
图5是根据本申请的人脸检测方法的一个实施例的流程图;
图6是根据本申请的用于生成人脸检测模型的装置的一个实施例的结构示意图;
图7是根据本申请的人脸检测装置的一个实施例的结构示意图;
图8是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于生成人脸检测模型的方法或用于生成人脸检测模型的装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端101、102、103,网络104和服务器105。网络104用以在终端101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端101、102、103上可以安装有各种通讯客户端应用,例如图片处理应用、人脸识别类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
这里的终端101、102、103可以是硬件,也可以是软件。当终端101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
当终端101、102、103为硬件时,其上还可以安装有图像采集设备。图像采集设备可以是各种能实现采集图像功能的设备,如摄像头、传感器等等。用户可以利用终端101、102、103上的图像采集设备,来采集自身或他人的人脸图像。
服务器105可以是提供各种服务的服务器,例如对终端101、102、103上显示的图片提供支持的后台服务器。后台服务器可以对接收到的样本集等数据进行分析等处理,并将处理结果(例如生成的人脸检测模型)反馈给终端设备。
需要说明的是,本申请实施例所提供的用于生成人脸检测模型的方法可以由服务器105或终端101、102、103执行,相应地,用于生成人脸检测模型的装置一般设置于服务器105或终端101、102、103中。
应该理解,图1中的终端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络和服务器。
继续参考图2,示出了根据本申请的用于生成人脸检测模型的方法的一个实施例的流程200。该用于生成人脸检测模型的方法,包括以下步骤:
步骤201,获取初始人脸检测模型,将所获取的初始人脸检测模型作为当前人脸检测模型。
在本实施例中,用于生成人脸检测模型的方法的执行主体(例如图1所示的服务器)可以获取初始人脸检测模型。并且,将所获取的初始人脸检测模型作为当前人脸检测模型。人脸检测模型用于检测图像中的人脸。
在实践中,初始人脸检测模型可以是基于机器学习技术而创建的现有的各种卷积神经网络模型。该卷积神经网络模型可以具有现有的各种卷积神经网络结构(例如DenseBox、VGGNet、ResNet、SegNet等)。当前人脸检测模型的存储位置在本申请中不作限制。
步骤202,获取样本集,其中,样本集中的样本包括样本人脸图像以及标注信息,标注信息用于标注样本人脸图像所包含的脸部。
在本实施例中,上述执行主体可以获取样本集,并从中选取样本。标注信息为对样本人脸图像中所包含的准确的脸部位置所标注的信息。上述执行主体对脸部进行标注。举例来说,上述执行主体可以采用矩形框划定脸部所在的位置。具体地,可以采用所划定位置的至少一组对角的坐标中的两个横坐标值和两个纵坐标值来表示所划定的位置,比如,对脸部所标注的信息可以表示为(x1,y1,x2,y2)。
执行如下的训练步骤203:
在本实施例中,将步骤203分解成如下的6个子步骤,即子步骤子2031、子步骤2032、子步骤2033、子步骤2034、子步骤2035和子步骤2036。
子步骤2031,将样本集输入具有多个卷积层的当前人脸检测模型,选取由不同卷积层确定的多个特征图作为多个目标特征图。
在该子步骤中,上述执行主体将样本集输入具有多个卷积层的当前人脸检测模型,并可以通过当前人脸检测模型得到一些由不同卷积层确定的特征图。之后,上述执行主体可以从这些特征图中,选取多个特征图作为多个目标特征图。
特征图为表征人脸图像中的特征的图像。例如特征图可以包括脸部在图像中的位置信息等,如脸部区域(x1,y1,x2,y2)。在当前人脸检测模型中的不同卷积层按序排列,前一个卷积层得到的特征图可以作为后一个卷积层的输入,而后一个卷积层可以对所输入的特征图进行进一步处理以得到新的特征图。这些经过多个卷积层处理得到的多个特征图的尺寸是越来越小的。不同的特征图是由不同的卷积层确定的。由于各卷积层得到的特征图中,各像素点的像素值是对输入该卷积层的图像进行卷积操作后生成的,特征图中每个像素点均可以体现输入人脸检测模型的图像的某一位置的特征。
子步骤2032,对于多个目标特征图中的每个目标特征图,确定该目标特征图中,脸部区域与标注信息中的脸部标注之间的脸部区域损失值。
在该子步骤中,对于多个目标特征图中的每个目标特征图,上述执行主体确定该目标特征图中,脸部区域与上述标注信息中的脸部标注之间的脸部区域损失值。例如可以将脸部区域和脸部标注作为参数,输入指定的损失函数(loss function)中,从而可以计算得到两者之间的损失值。
在实践中,损失函数通常是用来估量模型的预测值(如脸部区域)与真实值(如脸部标注)的不同程度。一般而言,损失函数为一个非负实值函数。损失函数可以根据实际需求来设置。
在本实施例的一些可选的实现方式中,子步骤2032可以包括以下步骤:
确定特征图中的脸部区域在样本人脸图像中所对应的脸部位置包含脸部的概率;
确定脸部位置与样本人脸图像的标注信息所标注的脸部的偏差;
基于所确定的概率和偏差,确定脸部区域与标注信息中的脸部标注之间的脸部区域损失值。
在本实施例中,可以由当前人脸检测模型得到并输出上述概率。这里的标注信息为上述样本人脸图像的标注信息。
具体地,可以将标注的脸部视为真值。人脸检测模型所划定的脸部位置与真值之间很难达到完全一致。所以通常情况下,脸部区域在样本人脸图像中所对应的脸部位置与真值之间都存在偏差。
具体地,上述执行主体可以采用上述步骤中的损失函数确定上述的各个损失值。具体地,可以利用上述概率确定置信度损失(confidence loss),并利用上述偏差确定定位损失(localization loss)。之后确定置信度损失与定位损失的加权和为某部位的特征损失值。例如,上述执行主体可以利用脸部区域在样本人脸图像中所对应的脸部位置包含脸部的概率,确定置信度损失,并利用上述脸部位置与所标注的脸部之间的偏差确定定位损失。之后上述执行主体根据预先设置的置信度损失的权重和定位损失的权重,确定脸部区域的置信度损失和定位损失的加权和,并将该加权和作为脸部特征损失值。
子步骤2033,对于多个目标特征图中的每个目标特征图,基于脸部区域损失值,确定目标损失值。
在该子步骤中,上述执行主体基于该目标特征图的脸部区域损失值,确定目标损失值。具体地,上述执行主体可以将脸部区域损失值直接确定为目标损失值。或者,也可以将脸部区域损失值输入预设的公式、模型,或者与预设系数相乘,从而计算得到目标损失值。
子步骤2034,将多个目标特征图所对应的多个目标损失值的加权和确定为总损失值。
在该子步骤中,上述执行主体对上述多个目标特征图所对应的多个目标损失值进行加权,得到加权和,并将该加权和确定为总损失值。目标特征图所对应的目标损失值为基于目标特征图中的脸部区域所确定的目标损失值。
具体地,可以根据实际情况,预先对各个目标损失值设定不同的权重。
在本实施例的一些可选的实现方式中,尺寸越大的目标特征图的权重越大。
在本实施例中,尺寸较大的特征图包含了较为丰富的特征信息,而尺寸较小的特征图中的特征信息则会因为经过多次处理而包含的信息量较小。通过对尺寸较大的目标特征图赋予较大的权重,可以利用较为丰富的信息提高人脸检测模型的准确性和召回率。
子步骤2035,将总损失值在当前人脸检测模型中反向传播,以更新当前人脸检测模型的参数,得到更新后的人脸检测模型。
在该子步骤中,上述执行主体可以将总损失值在当前人脸检测模型中反向传播(back propagation),对人脸检测模型中的参数进行更新,得到更新后的人脸检测模型。这里的参数可以是当前人脸检测模型中的各种参数,例如当前人脸检测模型中的卷积核各分量的数值。上述执行主体在训练当前人脸检测模型时,并不仅仅考虑到单一特征图,而是将多个特征图作为当前人脸检测模型的影响因素。上述执行主体利用反向传播,可以对当前人脸检测模型进行训练,以使训练得到的人脸检测模型所对应的损失值达到最小,从而使得到的人脸检测模型所划定的脸部位置与真值之间的偏差达到最小,进而实现更加精确地检测人脸。
子步骤2036,响应于更新后的人脸检测模型所对应的总损失值小于预设的损失值阈值,将更新后的人脸检测模型确定为所生成的人脸检测模型。
在该子步骤中,上述执行主体响应于更新后的人脸检测模型所对应的总损失值小于预设的损失值阈值,可以确定当前人脸检测模型已训练完成,并将更新后的人脸检测模型确定为所生成的人脸检测模型。这里的更新后的人脸检测模型所对应的总损失值为更新后的人脸检测模型所得到的多个目标特征图所对应的多个目标损失值的总损失值。
具体地,通过比较总损失值和预设损失值阈值,在多种情况下可以确定人脸检测模型训练完成。作为示例,如果步骤202中选取有多个样本,那么在每个样本的总损失值均小于损失值阈值的情况下,执行主体可以确定人脸检测模型训练完成。再例如,上述执行主体可以统计总损失值小于损失值阈值的样本占样本集的比例。且在该比例达到预设样本比例(如95%),可以确定人脸检测模型训练完成。
预设的损失值阈值一般可以用于表示预测值(即脸部区域)与真值(脸部标注)之间的不一致程度的理想情况。也就是说,当总损失值不超过预设的损失值阈值时,可以认为预测值接近或近似真值。预设的损失值阈值可以根据实际需求来设置。
继续参见图3,图3是根据本实施例的用于生成人脸检测模型的方法的应用场景的一个示意图。在图3的应用场景中,电子设备301从本地或者其他电子设备获取初始人脸检测模型302,将所获取的初始人脸检测模型作为当前人脸检测模型303;获取样本集304,其中,样本集中的样本包括样本人脸图像以及标注信息,标注信息用于标注样本人脸图像所包含的脸部;执行如下的训练步骤:将样本集输入具有多个卷积层的当前人脸检测模型303,选取由不同卷积层确定的多个特征图作为多个目标特征图305;对于多个目标特征图中的每个目标特征图,确定该目标特征图中,脸部区域与标注信息中的脸部标注之间的脸部区域损失值306;基于脸部区域损失值,确定目标损失值307;将多个目标特征图所对应的多个目标损失值的加权和确定为总损失值308,将总损失值在当前人脸检测模型中反向传播,以更新当前人脸检测模型的参数得到更新后的人脸检测模型309;响应于更新后的人脸检测模型所对应的总损失值小于预设的损失值阈值,将更新后的人脸检测模型确定为所生成的人脸检测模型310。
本申请的上述实施例所采用的多个目标特征图包含丰富的信息,因而利用多个目标特征图所对应的多个目标损失值的加权和,对当前人脸检测模型进行反向传播,提高了所生成的人脸检测模型的准确性和召回率。在实践中,当人脸位置占据样本人脸图像的比例较大时,尺寸较小的特征图所包含的信息较少,但其中的人脸区域则更加具有代表性,有利于训练人脸检测模型。
进一步参考图4,其示出了用于生成人脸检测模型的方法的又一个实施例的流程400。该用于生成人脸检测模型的方法的流程400,包括以下步骤:
步骤401,获取初始人脸检测模型,将所获取的初始人脸检测模型作为当前人脸检测模型。
在本实施例中,用于生成人脸检测模型的方法运行于其上的电子设备(例如图1所示的服务器)可以获取初始人脸检测模型。并且,将所获取的初始人脸检测模型作为当前人脸检测模型。人脸检测模型用于检测图像中的人脸。
在实践中,初始人脸检测模型可以是基于机器学习技术而创建的现有的各种卷积神经网络模型。该卷积神经网络模型可以具有现有的各种卷积神经网络结构(例如DenseBox、VGGNet、ResNet、SegNet等)。当前人脸检测模型的存储位置在本申请中不作限制。
步骤402,获取样本集,其中,样本集中的样本包括样本人脸图像以及标注信息,标注信息用于标注样本人脸图像所包含的脸部、头部和躯干。
在本实施例中,上述执行主体可以获取样本集,并从中选取样本。标注信息为对样本人脸图像中所包含的准确的脸部位置所标注的信息。上述执行主体对脸部进行标注。举例来说,上述执行主体可以采用矩形框划定脸部所在的位置。具体地,可以采用所划定位置的至少一组对角的坐标来表示所划定的位置。
在实践中,可以采用多种方式获取指定的样本集。举例来说,随机选取或者按照预设顺序选取。这里的按照预设顺序选取可以是按照样本的编号选取等等。
执行如下的训练步骤403:
在本实施例中,将步骤403分解成如下的7个子步骤,即子步骤4031、子步骤4032、子步骤4033、子步骤4034、子步骤4035、子步骤4036和子步骤4037。
子步骤4031,将样本集输入具有多个卷积层的当前人脸检测模型,选取由不同卷积层确定的多个特征图作为多个目标特征图。
在该子步骤中,上述执行主体样本人脸图像输入具有多个卷积层的当前人脸检测模型,并可以通过当前人脸检测模型得到一些由不同卷积层确定的特征图。之后,上述执行主体可以从这些特征图中,选取多个特征图作为多个目标特征图。
在当前人脸检测模型中的不同卷积层按序排列,前一个卷积层得到的特征图可以作为后一个卷积层的输入,而后一个卷积层可以对所输入的特征图进行处理以得到新的特征图。经过多个卷积层处理得到的多个特征图的尺寸是越来越小的。特征图为表征人脸图像中的特征的图像。例如特征图可以包括脸部在图像中的位置信息等,如脸部区域(x1,y1,x2,y2)。本实施例中的人脸检测模型为卷积神经网络。不同的特征图是由不同的卷积层确定的。特征图的不同区域可以包含样本人脸图像的不同位置的特征。
子步骤4032,对于多个目标特征图中的每个目标特征图,确定该目标特征图中,脸部区域与标注信息中的脸部标注之间的脸部区域损失值。
在该子步骤中,对于多个目标特征图中的每个目标特征图,上述执行主体确定该目标特征图中,脸部区域与上述标注信息中的脸部标注之间的脸部区域损失值。例如可以将脸部区域和脸部标注作为参数,输入指定的损失函数中,从而可以计算得到两者之间的损失值。
子步骤4033,基于脸部区域损失值、头部区域损失值和躯干区域损失值的加权和,确定目标损失值。
在该子步骤中,上述执行主体基于上述子步骤4032中确定的脸部区域损失值、预先确定的头部区域损失值和预先确定的躯干区域损失值,以及预先对脸部区域损失值、头部区域损失值和躯干区域损失值分别设定的权重,可以计算三者的加权和,并基于该加权和确定目标损失值。
在这里,预先确定的头部区域损失值,可以采用多种方式确定。例如,头部区域损失值可以采用损失函数计算得到。
在一个具体的示例中,头部区域损失值通过以下步骤确定得到:确定特征图中,头部区域在样本人脸图像中所对应的头部位置包含头部的概率;确定头部位置与样本人脸图像的标注信息所标注的头部的偏差;基于所确定的头部位置所对应的概率和偏差,确定头部区域与标注信息中的头部标注之间的头部区域损失值。
在该示例中,上述头部区域和躯干区域在样本人脸图像中分别有对应的头部位置和躯干位置。上述执行主体可以确定上述头部位置包含头部的概率。在实践中,上述概率可以由当前人脸检测模型得到并输出。此外,也可以对样本人脸图像进行人体检测,进而得到上述概率。
具体地,可以将标注的头部视为真值。人脸检测模型所划定的头部位置与真值之间很难达到完全一致。所以通常情况下,头部区域在样本人脸图像中所对应的头部位置与真值之间都存在偏差。
此外,上述执行主体还可以利用上述概率确定置信度损失(confidence loss),并利用上述偏差确定定位损失(localization loss)。之后确定置信度损失与定位损失的加权和为头部的特征损失值。
预先确定的躯干区域损失值,也可以采用多种方式确定。例如,躯干区域损失值可以采用损失函数计算得到。
在一个具体的示例中,躯干区域损失值通过以下步骤确定得到:确定特征图中,躯干区域在样本人脸图像中所对应的躯干位置包含躯干的概率;确定躯干位置与样本人脸图像的标注信息所标注的躯干的偏差;基于所确定的躯干位置所对应的概率和偏差,确定躯干区域与标注信息中的躯干标注之间的躯干区域损失值。
在这里,预先对脸部区域损失值、头部区域损失值和躯干区域损失值分别设定的权重,可以基于历史数据分析得到,也可以基于技术人员的经验设定。例如,可以将脸部特征损失值的权重、头部特征损失值的权重和躯干特征损失值的权重设置为相等。又例如,上述脸部区域损失值的权重可以大于头部区域损失值的权重,上述头部区域损失值的权重可以大于躯干区域损失值的权重。在这里,通过对脸部特征损失值设置较大的权重,能够在全面地考虑到样本人脸图像中的脸部、头部和躯干的情况下,增大脸部的影响,以增强当前人脸检测模型检测人脸的灵敏度。
在基于该加权和确定目标损失值时,上述执行主体可以将该加权和确定为目标损失值,也可以将该加权和输入预设的公式、模型或者与预设系数相乘,以得到目标损失值。
子步骤4034,将多个目标特征图所对应的多个目标损失值的加权和确定为总损失值。
在该子步骤中,上述执行主体对上述多个目标特征图所对应的多个目标损失值进行加权,得到加权和。并将该加权和确定为总损失值。
具体地,可以根据实际情况,预先对各个目标损失值设定不同的权重。
子步骤4035,将总损失值在当前人脸检测模型中反向传播,以更新当前人脸检测模型的参数,得到更新后的人脸检测模型。
在该子步骤中,上述执行主体可以将总损失值在当前人脸检测模型中反向传播,对人脸检测模型中的参数进行更新,得到更新后的人脸检测模型。这里的参数可以是当前人脸检测模型中的各种参数,例如当前人脸检测模型中的卷积核各分量的数值。通过确定各个目标损失值之间的加权和,上述执行主体在训练当前人脸检测模型时,并不仅仅考虑到单一特征图,而是将多个特征图作为当前人脸检测模型的影响因素。上述执行主体利用反向传播,可以对当前人脸检测模型进行训练,以使该模型能够更精确地检测人脸。
步骤4036,响应于更新后的人脸检测模型所对应的总损失值小于预设的损失值阈值,将更新后的人脸检测模型确定为所生成的人脸检测模型。
在该子步骤中,上述执行主体响应于更新后的人脸检测模型的区域与标注信息的总损失值小于预设的损失值阈值,可以确定当前人脸检测模型已训练完成,并将更新后的人脸检测模型确定为所生成的人脸检测模型。作为示例,如果步骤202中选取有多个样本,那么在每个样本的总损失值均小于预设的损失值阈值的情况下,执行主体可以确定人脸检测模型训练完成。再例如,上述执行主体可以统计总损失值小于预设的损失值阈值的样本占样本集的比例。且在该比例达到预设样本比例(如95%),可以确定人脸检测模型训练完成。
预设的损失值阈值一般可以用于表示预测值(即脸部区域)与真值(脸部标注)之间的不一致程度的理想情况。也就是说,当总损失值小于预设的损失值阈值时,可以认为预测值接近或近似真值。预设的损失值阈值可以根据实际需求来设置。
步骤4037,响应于更新后的人脸检测模型所对应的总损失值不小于预设的损失值阈值,将更新后的人脸检测模型作为当前人脸检测模型,并继续执行训练步骤。
在该子步骤中,上述执行主体响应于更新后的人脸检测模型的区域与标注信息的总损失值不小于预设的损失值阈值,则可以确定当前人脸检测模型未训练完成,将更新后的人脸检测模型作为当前人脸检测模型。之后,上述执行主体可以继续执行训练步骤。作为示例,如果步骤402中选取有多个样本,那么在每个样本的总损失值均未小于预设的损失值阈值的情况下,执行主体可以确定当前人脸检测模型未训练完成。再例如,执行主体可以统计总损失值小于预设的损失值阈值的样本占样本集的比例。且如果该比例未达到预设样本比例(如95%),可以确定当前人脸检测模型未训练完成。
本实施例可以采用样本中有关人脸的信息,还可以采用人脸以外的头部的信息和躯干的信息生成人脸检测模型,能够提高人脸检测模型的准确性和召回率。并且,本实施例利用涉及脸部区域损失值、头部区域损失值和躯干区域损失值的总损失值对当前人脸检测模型进行反向传播,调整该模型的参数,以进一步提高人脸检测模型的准确性。
进一步参考图5,其示出了人脸检测的方法的一个实施例的流程500。该人脸检测的方法的流程500,包括以下步骤:
步骤501,获取目标人脸图像。
在本实施例中,人脸检测的方法的执行主体(例如图1所示的服务器)可以从本地或者其他电子设备获取目标人脸图像。这里的人脸图像为呈现有人脸的图像。
步骤502,将目标人脸图像输入预先训练的人脸检测模型中,得到脸部区域;其中,预先训练的人脸检测模型为图2所示的实施例或图4所示的实施例中任意一项的方法生成的当前人脸检测模型。
在本实施例中,上述执行主体将目标人脸图像输入预先训练的人脸检测模型中,得到检测结果。检测结果为脸部区域。其中,预先训练的人脸检测模型为图2所示的实施例或图4所示的实施例中任意一项的方法生成的当前人脸检测模型。
本实施例使用通过反向传播调整过参数的人脸检测模型进行人脸检测,能够提到检测结果的准确度和召回率。
进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种用于生成人脸检测模型的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例的用于生成人脸检测模型的装置,包括:获取单元601、样本获取单元602和训练单元603。其中,获取单元601,配置用于获取初始人脸检测模型,将所获取的初始人脸检测模型作为当前人脸检测模型;样本获取单元602,配置用于获取样本集,其中,样本集中的样本包括样本人脸图像以及标注信息,标注信息用于标注样本人脸图像所包含的脸部;训练单元,该训练单元包括:选取子单元6031,配置用于将样本集输入具有多个卷积层的当前人脸检测模型,选取由不同卷积层确定的多个特征图作为多个目标特征图;损失值确定子单元6032,配置用于对于多个目标特征图中的每个目标特征图,确定该目标特征图中,脸部区域与标注信息中的脸部标注之间的脸部区域损失值;基于脸部区域损失值,确定目标损失值;总损失确定子单元6033,配置用于将多个目标特征图所对应的多个目标损失值的加权和确定为总损失值;更新子单元6034,配置用于将总损失值在当前人脸检测模型中反向传播,以更新当前人脸检测模型的参数得到更新后的人脸检测模型;训练单元还包括:生成子单元6035,配置用于响应于更新后的人脸检测模型所对应的总损失值小于预设的损失值阈值,将更新后的人脸检测模型确定为所生成的人脸检测模型。
在本实施例中,获取单元601可以获取初始人脸检测模型。并且,将所获取的初始人脸检测模型作为当前人脸检测模型。人脸检测模型用于检测图像中的人脸。
在本实施例中,样本获取单元602可以获取样本集,并从中选取样本。标注信息为对样本人脸图像中所包含的准确的脸部位置所标注的信息。上述执行主体对脸部进行标注。举例来说,上述执行主体可以采用矩形框划定脸部所在的位置。具体地,可以采用所划定位置的至少一组对角的坐标来表示所划定的位置。
在本实施例中,选取单元6031将样本集输入具有多个卷积层的当前人脸检测模型,并可以通过当前人脸检测模型得到一些由不同卷积层确定的特征图。之后,上述执行主体可以从这些特征图中,选取多个特征图作为多个目标特征图。
在本实施例中,损失值确定子单元6032确定该目标特征图中,脸部区域与上述标注信息中的脸部标注之间的脸部区域损失值。例如可以将脸部区域和脸部标注作为参数,输入指定的损失函数中,从而可以计算得到两者之间的损失值。
在本实施例中,总损失确定子单元6033对上述多个目标特征图所对应的多个目标损失值进行加权,得到加权和。并将该加权和确定为总损失值。
在本实施例中,更新子单元6034可以将总损失值在当前人脸检测模型中反向传播,对人脸检测模型中的参数进行更新,得到更新后的人脸检测模型。这里的参数可以是当前人脸检测模型中的各种参数,例如当前人脸检测模型中的卷积核各分量的数值。通过确定各个目标损失值之间的加权和,上述执行主体在训练当前人脸检测模型时,并不仅仅考虑到单一特征图,而是将多个特征图作为当前人脸检测模型的影响因素。上述执行主体利用反向传播,可以对当前人脸检测模型进行训练,以使该模型能够更精确地检测人脸。
在本实施例中,生成子单元6035响应于更新后的人脸检测模型所对应的总损失值小于预设的损失值阈值,可以确定当前人脸检测模型已训练完成,并将更新后的人脸检测模型确定为所生成的人脸检测模型。
在本实施例的一些可选的实现方式中,损失值确定子单元进一步配置用于:确定特征图中的脸部区域在样本人脸图像中所对应的脸部位置包含脸部的概率;确定特征图中,脸部位置与样本人脸图像的标注信息所标注的脸部的偏差;基于所确定的概率和偏差,确定脸部区域与标注信息中的脸部标注之间的脸部区域损失值。
在本实施例的一些可选的实现方式中,损失值确定子单元进一步配置用于:基于脸部区域损失值和以下至少一项的加权和,确定目标损失值:头部区域损失值和躯干区域损失值。
在本实施例的一些可选的实现方式中,标注信息还用于标注样本人脸图像所包含的头部;头部区域损失值通过以下步骤确定得到:确定特征图中,头部区域在样本人脸图像中所对应的头部位置包含头部的概率;确定头部位置与样本人脸图像的标注信息所标注的头部的偏差;基于所确定的头部位置所对应的概率和偏差,确定头部区域与标注信息中的头部标注之间的头部区域损失值。
在本实施例的一些可选的实现方式中,标注信息还用于标注样本人脸图像所包含的躯干;躯干区域损失值通过以下步骤确定得到:确定特征图中,躯干区域在样本人脸图像中所对应的躯干位置包含躯干的概率;确定躯干位置与样本人脸图像的标注信息所标注的躯干的偏差;基于所确定的躯干位置所对应的概率和偏差,确定躯干区域与标注信息中的躯干标注之间的躯干区域损失值。
在本实施例的一些可选的实现方式中,训练单元还包括:模型更新子单元,配置用于响应于更新后的人脸检测模型所对应的总损失值不小于预设的损失值阈值,将更新后的人脸检测模型作为当前人脸检测模型,并将当前人脸检测模型输入训练单元。
进一步参考图7,本申请提供了一种人脸检测的装置的一个实施例,该装置实施例与图5所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图7所示,本实施例的人脸检测的装置700包括:图像获取单元701和区域确定单元702。其中,图像获取单元701,配置用于获取目标人脸图像;区域确定单元702,配置用于将目标人脸图像输入预先训练的人脸检测模型中,得到脸部区域;其中,预先训练的人脸检测模型为图5所对应的实施例中任意一项的方法生成的当前人脸检测模型。
在本实施例中,图像获取单元701可以从本地或者其他电子设备获取目标人脸图像。这里的人脸图像为呈现有人脸的图像。
在本实施例中,区域确定单元702将目标人脸图像输入预先训练的人脸检测模型中,得到检测结果。检测结果为脸部区域,比如脸部边框(x1,y1,x2,y2)。其中,预先训练的人脸检测模型为图2所示的实施例或图4所示的实施例中任意一项的方法生成的当前人脸检测模型。
下面参考图8,其示出了适于用来实现本申请实施例的电子设备的计算机系统800的结构示意图。图8示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、样本获取单元、训练单元和生成子单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取初始人脸检测模型的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:获取初始人脸检测模型,将所获取的初始人脸检测模型作为当前人脸检测模型;获取样本集,其中,样本集中的样本包括样本人脸图像以及标注信息,标注信息用于标注样本人脸图像所包含的脸部;执行如下的训练步骤:将样本集输入具有多个卷积层的当前人脸检测模型,选取由不同卷积层确定的多个特征图作为多个目标特征图;对于多个目标特征图中的每个目标特征图,确定该目标特征图中,脸部区域与标注信息中的脸部标注之间的脸部区域损失值;基于脸部区域损失值,确定目标损失值;将多个目标特征图所对应的多个目标损失值的加权和确定为总损失值;将总损失值在当前人脸检测模型中反向传播,以更新当前人脸检测模型的参数,得到更新后的人脸检测模型;响应于更新后的人脸检测模型所对应的总损失值小于预设的损失值阈值,将更新后的人脸检测模型确定为所生成的人脸检测模型。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (18)
1.一种用于生成人脸检测模型的方法,包括:
获取初始人脸检测模型,将所获取的初始人脸检测模型作为当前人脸检测模型;
获取样本集,其中,所述样本集中的样本包括样本人脸图像以及标注信息,所述标注信息用于标注所述样本人脸图像所包含的脸部;
采用所述样本集,对所述当前人脸检测模型执行如下的训练步骤:
将所述样本集输入所述具有多个卷积层的当前人脸检测模型,选取由不同卷积层确定的多个特征图作为多个目标特征图;
对于所述多个目标特征图中的每个目标特征图,确定该目标特征图中,脸部区域与所述标注信息中的脸部标注之间的脸部区域损失值;
基于所述脸部区域损失值,确定目标损失值;
将所述多个目标特征图所对应的多个目标损失值的加权和确定为总损失值;
将所述总损失值在所述当前人脸检测模型中反向传播,以更新所述当前人脸检测模型的参数,得到更新后的人脸检测模型;
响应于所述更新后的人脸检测模型所对应的所述总损失值小于预设的损失值阈值,将所述更新后的人脸检测模型确定为所生成的人脸检测模型。
2.根据权利要求1所述的方法,其中,所述对于所述多个目标特征图中的每个目标特征图,确定该目标特征图中,脸部区域与所述标注信息中的脸部标注之间的脸部区域损失值,包括:
确定所述特征图中的脸部区域在样本人脸图像中所对应的脸部位置包含脸部的概率;
确定所述脸部位置与所述样本人脸图像的标注信息所标注的脸部的偏差;
基于所确定的概率和偏差,确定所述脸部区域与所述标注信息中的脸部标注之间的脸部区域损失值。
3.根据权利要求1所述的方法,其中,所述基于所述脸部区域损失值,确定目标损失值,包括:
基于所述脸部区域损失值和以下至少一项的加权和,确定目标损失值:头部区域损失值和躯干区域损失值。
4.根据权利要求3所述的方法,其中,所述标注信息还用于标注所述样本人脸图像所包含的头部;
所述头部区域损失值通过以下步骤确定得到:
确定所述特征图中,头部区域在样本人脸图像中所对应的头部位置包含头部的概率;
确定所述头部位置与所述样本人脸图像的标注信息所标注的头部的偏差;
基于所确定的头部位置所对应的概率和偏差,确定所述头部区域与所述标注信息中的头部标注之间的头部区域损失值。
5.根据权利要求3所述的方法,其中,所述标注信息还用于标注所述样本人脸图像所包含的躯干;
所述躯干区域损失值通过以下步骤确定得到:
确定所述特征图中,躯干区域在样本人脸图像中所对应的躯干位置包含躯干的概率;
确定所述躯干位置与所述样本人脸图像的标注信息所标注的躯干的偏差;
基于所确定的躯干位置所对应的概率和偏差,确定所述躯干区域与所述标注信息中的躯干标注之间的躯干区域损失值。
6.根据权利要求1所述的方法,其中,所述训练步骤还包括:
响应于所述更新后的人脸检测模型所对应的所述总损失值不小于预设的损失值阈值,将所述更新后的人脸检测模型作为当前人脸检测模型,并继续执行所述训练步骤。
7.一种人脸检测方法,包括:
获取目标人脸图像;
将所述目标人脸图像输入预先训练的人脸检测模型中,得到脸部区域;其中,预先训练的人脸检测模型为权利要求1-4中任意一项的方法生成的当前人脸检测模型。
8.一种用于生成人脸检测模型的装置,包括:
获取单元,配置用于获取初始人脸检测模型,将所获取的初始人脸检测模型作为当前人脸检测模型;
样本获取单元,配置用于获取样本集,其中,所述样本集中的样本包括样本人脸图像以及标注信息,所述标注信息用于标注所述样本人脸图像所包含的脸部;
训练单元,所述训练单元包括:
选取子单元,配置用于将样本集输入具有多个卷积层的当前人脸检测模型,选取由不同卷积层确定的多个特征图作为多个目标特征图;
损失值确定子单元,配置用于对于所述多个目标特征图中的每个目标特征图,确定该目标特征图中,脸部区域与所述标注信息中的脸部标注之间的脸部区域损失值;基于所述脸部区域损失值,确定目标损失值;
总损失确定子单元,配置用于将所述多个目标特征图所对应的多个目标损失值的加权和确定为总损失值;
更新子单元,配置用于将所述总损失值在所述当前人脸检测模型中反向传播,以更新所述当前人脸检测模型的参数,得到更新后的人脸检测模型;
生成子单元,配置用于响应于所述更新后的人脸检测模型所对应的所述总损失值小于预设的损失值阈值,将所述更新后的人脸检测模型确定为所生成的人脸检测模型。
9.根据权利要求8所述的装置,其中,所述损失值确定子单元进一步配置用于:
确定所述特征图中的脸部区域在样本人脸图像中所对应的脸部位置包含脸部的概率;
确定所述特征图中,所述脸部位置与所述样本人脸图像的标注信息所标注的脸部的偏差;
基于所确定的概率和偏差,确定所述脸部区域与所述标注信息中的脸部标注之间的脸部区域损失值。
10.根据权利要求8所述的装置,其中,所述损失值确定子单元进一步配置用于:
基于所述脸部区域损失值和以下至少一项的加权和,确定目标损失值:头部区域损失值和躯干区域损失值。
11.根据权利要求10所述的装置,其中,所述标注信息还用于标注所述样本人脸图像所包含的头部;
所述头部区域损失值通过以下步骤确定得到:
确定所述特征图中,头部区域在样本人脸图像中所对应的头部位置包含头部的概率;
确定所述头部位置与所述样本人脸图像的标注信息所标注的头部的偏差;
基于所确定的头部位置所对应的概率和偏差,确定所述头部区域与所述标注信息中的头部标注之间的头部区域损失值。
12.根据权利要求10所述的装置,其中,所述标注信息还用于标注所述样本人脸图像所包含的躯干;
所述躯干区域损失值通过以下步骤确定得到:
确定所述特征图中,躯干区域在样本人脸图像中所对应的躯干位置包含躯干的概率;
确定所述躯干位置与所述样本人脸图像的标注信息所标注的躯干的偏差;
基于所确定的躯干位置所对应的概率和偏差,确定所述躯干区域与所述标注信息中的躯干标注之间的躯干区域损失值。
13.根据权利要求8所述的装置,其中,所述训练单元还包括:
模型更新子单元,配置用于响应于所述更新后的人脸检测模型所对应的所述总损失值不小于预设的损失值阈值,将所述更新后的人脸检测模型作为当前人脸检测模型,并将当前人脸检测模型输入所述训练单元。
14.一种人脸检测装置,包括:
图像获取单元,配置用于获取目标人脸图像;
区域确定单元,配置用于将所述目标人脸图像输入预先训练的人脸检测模型中,得到脸部区域;其中,预先训练的人脸检测模型为权利要求8-13中任意一项的用于生成人脸检测模型的装置生成的当前人脸检测模型。
15.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如权利要求1-6中任一的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1-6中任一的方法。
17.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如权利要求7的方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求7的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810307489.5A CN108427941B (zh) | 2018-04-08 | 2018-04-08 | 用于生成人脸检测模型的方法、人脸检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810307489.5A CN108427941B (zh) | 2018-04-08 | 2018-04-08 | 用于生成人脸检测模型的方法、人脸检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108427941A true CN108427941A (zh) | 2018-08-21 |
CN108427941B CN108427941B (zh) | 2020-06-02 |
Family
ID=63160534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810307489.5A Active CN108427941B (zh) | 2018-04-08 | 2018-04-08 | 用于生成人脸检测模型的方法、人脸检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108427941B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111563541A (zh) * | 2020-04-21 | 2020-08-21 | 北京百度网讯科技有限公司 | 图像检测模型的训练方法和装置 |
CN111723926A (zh) * | 2019-03-22 | 2020-09-29 | 北京地平线机器人技术研发有限公司 | 用于确定图像视差的神经网络模型的训练方法和训练装置 |
CN112241718A (zh) * | 2020-10-23 | 2021-01-19 | 北京百度网讯科技有限公司 | 车辆信息的检测方法、检测模型的训练方法和装置 |
WO2021057186A1 (zh) * | 2019-09-24 | 2021-04-01 | 华为技术有限公司 | 训练神经网络的方法、数据处理方法和相关装置 |
CN113313022A (zh) * | 2021-05-27 | 2021-08-27 | 北京百度网讯科技有限公司 | 文字识别模型的训练方法和识别图像中文字的方法 |
US20210295015A1 (en) * | 2020-03-23 | 2021-09-23 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for processing information, device, and medium |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9373057B1 (en) * | 2013-11-01 | 2016-06-21 | Google Inc. | Training a neural network to detect objects in images |
CN107220618A (zh) * | 2017-05-25 | 2017-09-29 | 中国科学院自动化研究所 | 人脸检测方法及装置、计算机可读存储介质、设备 |
CN107644208A (zh) * | 2017-09-21 | 2018-01-30 | 百度在线网络技术(北京)有限公司 | 人脸检测方法和装置 |
CN107729848A (zh) * | 2017-10-20 | 2018-02-23 | 北京大学 | 对象检测方法及装置 |
CN107808111A (zh) * | 2016-09-08 | 2018-03-16 | 北京旷视科技有限公司 | 用于行人检测和姿态估计的方法和装置 |
CN107833209A (zh) * | 2017-10-27 | 2018-03-23 | 浙江大华技术股份有限公司 | 一种x光图像检测方法、装置、电子设备及存储介质 |
-
2018
- 2018-04-08 CN CN201810307489.5A patent/CN108427941B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9373057B1 (en) * | 2013-11-01 | 2016-06-21 | Google Inc. | Training a neural network to detect objects in images |
CN107808111A (zh) * | 2016-09-08 | 2018-03-16 | 北京旷视科技有限公司 | 用于行人检测和姿态估计的方法和装置 |
CN107220618A (zh) * | 2017-05-25 | 2017-09-29 | 中国科学院自动化研究所 | 人脸检测方法及装置、计算机可读存储介质、设备 |
CN107644208A (zh) * | 2017-09-21 | 2018-01-30 | 百度在线网络技术(北京)有限公司 | 人脸检测方法和装置 |
CN107729848A (zh) * | 2017-10-20 | 2018-02-23 | 北京大学 | 对象检测方法及装置 |
CN107833209A (zh) * | 2017-10-27 | 2018-03-23 | 浙江大华技术股份有限公司 | 一种x光图像检测方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
WEI LIU等: "SSD: Single Shot MultiBox Detector", 《ECCV 2016:COMPUTER VISION-ECCV 2016》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111723926A (zh) * | 2019-03-22 | 2020-09-29 | 北京地平线机器人技术研发有限公司 | 用于确定图像视差的神经网络模型的训练方法和训练装置 |
CN111723926B (zh) * | 2019-03-22 | 2023-09-12 | 北京地平线机器人技术研发有限公司 | 用于确定图像视差的神经网络模型的训练方法和训练装置 |
WO2021057186A1 (zh) * | 2019-09-24 | 2021-04-01 | 华为技术有限公司 | 训练神经网络的方法、数据处理方法和相关装置 |
US20210295015A1 (en) * | 2020-03-23 | 2021-09-23 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for processing information, device, and medium |
CN111563541A (zh) * | 2020-04-21 | 2020-08-21 | 北京百度网讯科技有限公司 | 图像检测模型的训练方法和装置 |
CN111563541B (zh) * | 2020-04-21 | 2023-04-18 | 北京百度网讯科技有限公司 | 图像检测模型的训练方法和装置 |
CN112241718A (zh) * | 2020-10-23 | 2021-01-19 | 北京百度网讯科技有限公司 | 车辆信息的检测方法、检测模型的训练方法和装置 |
CN112241718B (zh) * | 2020-10-23 | 2024-05-24 | 北京百度网讯科技有限公司 | 车辆信息的检测方法、检测模型的训练方法和装置 |
CN113313022A (zh) * | 2021-05-27 | 2021-08-27 | 北京百度网讯科技有限公司 | 文字识别模型的训练方法和识别图像中文字的方法 |
CN113313022B (zh) * | 2021-05-27 | 2023-11-10 | 北京百度网讯科技有限公司 | 文字识别模型的训练方法和识别图像中文字的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108427941B (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108427941A (zh) | 用于生成人脸检测模型的方法、人脸检测方法和装置 | |
CN107679490B (zh) | 用于检测图像质量的方法和装置 | |
CN108898185A (zh) | 用于生成图像识别模型的方法和装置 | |
CN108898186A (zh) | 用于提取图像的方法和装置 | |
CN108038880A (zh) | 用于处理图像的方法和装置 | |
CN107590482A (zh) | 信息生成方法和装置 | |
CN108038469A (zh) | 用于检测人体的方法和装置 | |
CN108446651A (zh) | 人脸识别方法和装置 | |
CN109389640A (zh) | 图像处理方法和装置 | |
CN108171203A (zh) | 用于识别车辆的方法和装置 | |
CN109389072A (zh) | 数据处理方法和装置 | |
CN108197618A (zh) | 用于生成人脸检测模型的方法和装置 | |
CN108229485A (zh) | 用于测试用户界面的方法和装置 | |
CN110443222A (zh) | 用于训练脸部关键点检测模型的方法和装置 | |
CN109447156A (zh) | 用于生成模型的方法和装置 | |
CN108509916A (zh) | 用于生成图像的方法和装置 | |
CN109242801A (zh) | 图像处理方法和装置 | |
CN109472264A (zh) | 用于生成物体检测模型的方法和装置 | |
CN109086780A (zh) | 用于检测电极片毛刺的方法和装置 | |
CN110070076A (zh) | 用于选取训练用样本的方法和装置 | |
CN108121961A (zh) | 巡检行为识别方法、装置、计算机设备和存储介质 | |
CN108229418A (zh) | 人体关键点检测方法和装置、电子设备、存储介质和程序 | |
CN107958247A (zh) | 用于人脸图像识别的方法和装置 | |
CN109711508A (zh) | 图像处理方法和装置 | |
CN108960110A (zh) | 用于生成信息的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |