一种检测多目标的方法、电子设备及存储介质与流程

文档序号:23055321发布日期:2020-11-25 17:33阅读:119来源:国知局
一种检测多目标的方法、电子设备及存储介质与流程

本发明实施例涉及目标检测技术领域,尤其涉及一种训练多目标检测模型的方法、电子设备及存储介质。



背景技术:

脸部皮肤检测技术越来地应用在多个领域中。例如,在化妆品研发领域中,需要针对脸部皮肤问题,例如皱纹、黑头或黑眼圈等,设计化妆产品或推荐用户相应的化妆品。又例如,在照片美化特效领域中,需要针对不同脸部皮肤情况进行不同程度的美化特效。

当前较为常见的脸部皮肤检测技术,主要利用训练好的目标检测模型对脸部皮肤进行检测,自动检测脸部某单一皮肤问题,例如,单独检测出皱纹、单独检测出黑头或单独检测出黑眼圈。另外,不能检测出各脸部皮肤问题的种类,即,没有对脸部皮肤问题进行精细化检测。



技术实现要素:

本发明实施例主要解决的技术问题是提供一种检测多目标的方法,能快速准确地直接对皱纹、黑头和黑眼圈进行分类及定位。

为解决上述技术问题,第一方面,本发明实施例中提供给了一种训练多目标检测模型的方法,包括:获取包括人脸的图像样本集,其中,所述图像样本集包括至少两个图像样本子集,一个所述图像样本子集对应一种人脸中可识别的目标,不同所述图像样本子集对应不同类型的目标,所述不同类型的目标分别反映不同的人脸皮肤评价维度,其中,目标图像样本子集中的图像标注有所述目标图像样本子集对应的类型的目标的真实标签,所述真实标签包括所述目标的细分类别和位置,所述目标样本图像子集为所述至少两个图像样本子集中的任一图像样本子集;

将所述图像样本集,输入预设卷积神经网络进行训练,分别获取所述图像样本集中的各图像对应的预测标签,所述预测标签包括至少两种类型的目标的细分类别和位置;

遍历所述图像样本集中的图像,根据目标图像的真实标签,确定所述目标图像对应的损失函数,所述目标图像为所述图像样本集中的任一图像;

根据所述损失函数计算所述目标图像的预测标签与真实标签之间的误差;

根据所述误差,调整所述预设卷积神经网络的模型参数,以获取用于检测至少两种类型的目标的多目标检测模型。

在一些实施例中,所述损失函数为多个子损失函数的加权和,一个子损失函数对应一种类型的目标;

所述遍历所述图像样本集中的图像,根据目标图像的真实标签,确定所述目标图像对应的损失函数,包括:

根据所述目标图像的真实标签,确定所述目标图像对应的第一类型;

将所述第一类型对应的子损失函数的权重设置为1,将除所述第一类型外的剩余类型的子损失函数的权重设置为0,以得到所述目标类型对应的损失函数。

在一些实施例中,所述目标的类型包括皱纹、黑头和黑眼圈;

所述将所述第一类型对应的子损失函数的权重设置为1,将除所述第一类型外的剩余类型的子损失函数的权重设置为0,包括:

当所述第一类型为皱纹时,将所述皱纹对应的子损失函数的权重设置为1,并将所述黑头对应的子损失函数的权重和所述黑眼圈对应的子损失函数的权重设置为0;

当所述第一类型为黑头时,将所述黑头对应的子损失函数的权重设置为1,并将所述皱纹对应的子损失函数的权重和所述黑眼圈对应的子损失函数的权重设置为0;

当所述第一类型为黑眼圈时,将所述黑眼圈对应的子损失函数的权重设置为1,并将所述皱纹对应的子损失函数的权重和所述黑头对应的子损失函数的权重设置为0。

在一些实施例中,所述将所述图像样本集,输入预设卷积神经网络进行训练,分别获取所述图像样本集中的各图像对应的预测标签,包括:

对所述图像样本集中的图像以所述预设卷积神经网络中的特征卷积层进行特征处理,以获取至少两种尺寸的训练特征图;

将所述至少两种尺寸的训练特征图输入所述预设卷积神经网络中的检测卷积层,以获取所述图像的预测标签。

在一些实施例中,在所述将所述图像样本集,输入预设卷积神经网络进行训练,分别获取所述图像样本集中的各图像对应的预测标签的步骤之前,所述方法还包括:

截取所述图像样本集中的图像的人脸区域,以去除所述图像的背景。

在一些实施例中,在所述将所述图像样本集,输入预设卷积神经网络进行训练,分别获取所述图像样本集中的各图像对应的预测标签的步骤之前,所述方法还包括:

对所述图像样本集中的图像进行图像增强处理,以均衡所述图像样本集。

为解决上述技术问题,第二方面,本发明实施例中提供给了一种检测多目标的方法,包括:

获取待测人脸图像;

利用如上第一方面所述的多目标检测模型检测所述待测人脸图像,以获取所述待测人脸图像中的至少两种类型的目标的细分类别和位置。

在一些实施例中,所述利用如上第一方面所述的多目标检测模型检测所述待测人脸图像,以获取所述待测人脸图像中的至少两种类型的目标的细分类别和位置,包括:

将所述待测人脸图像输入至所述多目标检测模型的特征卷积层进行特征处理,以获取至少两种尺寸的待测特征图;

将所述至少两种尺寸的待测特征图输入至所述多目标检测模型中的检测卷积层,以获取所述待测人脸图像中的至少两种类型的目标的细分类别和位置。

为解决上述技术问题,第三方面,本发明实施例中提供给了一种电子设备,包括:

至少一个处理器,以及

与所述至少一个处理器通信连接的存储器,其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上第一方面所述的方法以及如上第二方面所述的方法。

为解决上述技术问题,第四方面,本发明实施例中提供给了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使电子设备执行如上第一方面所述的方法以及如上第二方面所述的方法。

本发明实施例的有益效果:区别于现有技术的情况,本发明实施例提供的检测多目标的方法,根据各图像的真实标签,确定各图像对应的目标的类型,从而,确定各图像对应的损失函数,可以有效消除不同类型的目标之间的误差干扰,得到更加准确的多目标检测模型。此外,为了实现各不同类型的目标的细分类别定位检测,当面对各图样样本子集时,无需重新进行图像标注,即无需将各类别的目标的细分类别和位置标注在同一个图像上,从而,可以节约人工成本。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1为本发明实施例提供的一种训练多目标检测模型的方法的运行环境示意图;

图2为本发明其中一实施例提供的电子设备的结构示意图;

图3为本发明其中一实施例提供的一种训练多目标检测模型的方法的流程示意图;

图4为图3所示方法中截取人脸区域图像的示意图;

图5为图3所示方法中图样样本集中的图像的标注示意图;

图6为图3所示方法中步骤s23的一子流程示意图;

图7为图6所示方法中步骤s232的一子流程示意图;

图8为图3所示方法中步骤s22的一子流程示意图;

图9为图8所示方法中多尺寸的训练特征图;

图10为回归特征图的维度和分类特征图的维度的结构示意图;

图11为本发明其中一实施例提供的检测多目标的方法的流程示意图;

图12为图10所示方法中检测出的目标的细分类别和位置的示意图;

图13为图11所示方法中步骤s32的一子流程示意图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。

除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本说明书中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。

此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

图1是本发明实施例提供的训练多目标检测模型的方法的运行环境示意图。请参照图1,包括电子设备10和图像获取装置20,所述电子设备10和所述图像获取装置20通信连接。

所述通信连接可以是有线连接,例如:光纤电缆,也可以是无线通信连接,例如:wifi连接、蓝牙连接、4g无线通信连接,5g无线通信连接等等。

所述图像获取装置20用于获取包括人脸的图像样本集,也可用于获取待测人脸图像,所述图像获取装置20可为能够拍摄图像的终端,例如:具有拍摄功能的手机、平板电脑、录像机或摄像头等。

所述电子设备10是能够按照程序运行,自动、高速处理海量数据的设备,其通常是由硬件系统和软件系统所组成,例如:计算机、智能手机等等。所述电子设备10可以是本地设备,其直接与所述图像获取装置20连接;也可以是云设备,例如:云服务器、云主机、云服务平台、云计算平台等,云设备通过网络与所述图像获取装置20连接,并且两者通过预定的通信协议通信连接,在一些实施例,该通信协议可以是tcp/ip、netbeui和ipx/spx等协议。

可以理解的是:所述图像获取装置20和所述电子设备10也可以集成在一起,作为一体式的设备,例如,带有摄像头的计算机或智能手机等。

所述电子设备10接收所述图像获取装置20发送的包括人脸的图像样本集,并对所述图像样本集进行训练,得到多目标检测模型。其中,所述图像样本集包括至少两个图像样本子集,一个所述图像样本子集对应一种人脸中可识别的目标,不同所述图像样本子集对应不同类型的目标,所述不同类型的目标分别反映不同的人脸皮肤评价维度,其中,目标图像样本子集中的图像标注有所述目标图像样本子集对应的类型的目标的真实标签,所述真实标签包括所述目标的细分类别和位置,所述目标样本图像子集为所述至少两个图像样本子集中的任一图像样本子集。由此,所述多目标检测模型可检测至少两种类型的目标的多目标检测模型。

此外,所述电子设备10还能利用所述多目标检测模型检测所述图像获取装置20发送的待测人脸图像,输出所述待测人脸图像中的至少两种类型的目标的细分类别和位置。

可以理解的是,上述对所述多目标检测模型的训练和对所述待测人脸图像的检测也可以在不同的电子设备上执行。

在上述图1的基础上,本发明的其他实施例提供了一种电子设备10,请参阅图2,为本发明实施例提供的一种电子设备10的硬件结构图,具体的,如图2所示,所述电子设备10包括通信连接的至少一个处理器11和存储器12(图2中以总线连接、一个处理器为例)。

其中,所述处理器11用于提供计算和控制能力,以控制电子设备10执行相应任务,例如,控制所述电子设备10执行下述发明实施例提供的任意一种训练多目标检测模型的方法或下述发明实施例提供的任意一种检测多目标的方法。

可以理解的是,所述处理器11可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

所述存储器12作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本发明实施例中的训练多目标检测模型的方法对应的程序指令/模块,或本发明实施例中的检测多目标的方法对应的程序指令/模块。所述处理器11通过运行存储在存储器12中的非暂态软件程序、指令以及模块,可以实现下述任一方法实施例中的训练多目标检测模型的方法,以及可以实现下述任一方法实施例中的检测多目标的方法。具体地,所述存储器12可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器12还可以包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

以下,对本发明实施例提供的训练多目标检测模型的方法进行详细说明,请参阅图3,所述方法s20包括但不限制于以下步骤:

s21:获取包括人脸的图样样本集。

其中,所述图像样本集包括至少两个图像样本子集,一个所述图像样本子集对应一种人脸中可识别的目标,不同所述图像样本子集对应不同类型的目标,所述不同类型的目标分别反映不同的人脸皮肤评价维度,其中,目标图像样本子集中的图像标注有所述目标图像样本子集对应的类型的目标的真实标签,所述真实标签包括所述目标的细分类别和位置,所述目标样本图像子集为所述至少两个图像样本子集中的任一图像样本子集。

s22:将所述图像样本集,输入预设卷积神经网络进行训练,分别获取所述图像样本集中的各图像对应的预测标签,所述预测标签包括至少两种类型的目标的细分类别和位置。

s23:遍历所述图像样本集中的图像,根据目标图像的真实标签,确定所述目标图像对应的损失函数,所述目标图像为所述图像样本集中的任一图像。

s24:根据所述损失函数计算所述目标图像的预测标签与真实标签之间的误差。

s25:根据所述误差,调整所述预设卷积神经网络的模型参数,以获取用于检测至少两种类型的目标的多目标检测模型。

在s21中,所述图像样本集中的图像包括人脸,可由上述图像获取装置获取,例如,所述图像样本集可以为由所述图像获取装置采集到的证件照或自拍照等。可以理解的是,所述图像样本集也可以是现有的开源人脸库中的数据,其中,所述开源人脸库可以为feret人脸数据库、cmumulti-pie人脸数据库或yale人脸数据库等。在此,对所述图像样本的来源不做限制,只要包括人脸即可。

可以理解的是,所述图像样本集中的图像包括人脸和背景,其中,人脸是检测用于反映人脸皮肤评价维度的目标的区域。为了减小背景对目标检测的干扰,以及减小后续算法模型的训练时间,在一些实施例中,截取所述图像样本集中的图像的人脸区域,以去除所述图像的背景。如图4所示,可先通过现有的dlib工具包获取人脸框,再结合所述图像自身的宽高比例,将所述人脸框的宽高比例调整至所述图像自身的宽高比例,从而,可截取所述人脸区域。其中,所述dlib工具包是用于图像中的对象检测的工具,例如,将所述dlib工具包用于人脸检测。

其中,所述图像样本集包括至少两个图像样本子集,例如,图像样本集包括3个图像样本子集:图像样本子集a、图像样本子集b和图像样本子集c,所述图像样本子集a中包括若干个包括人脸的图像,所述图像样本子集b中包括若干个包括人脸的图像,所述图像样本子集c中包括若干个包括人脸的图像。

一所述图像样本子集对应一种人脸中可识别的目标,不同所述图像样本子集对应不同类型的目标,所述不同类型的目标分别反映不同的人脸皮肤评价维度。例如,所述图像样本子集a对应的目标的类型为皱纹,所述图像样本子集b对应的目标的类型为黑头,所述图像样本子集c对应的目标的类型为黑眼圈。

对于所述至少两个图像样本子集中的任一图像样本子集,即目标图像样本子集,所述目标图像样本子集中的图像标注有所述目标图像样本子集对应的类型的目标的真实标签,所述真实标签包括所述目标的细分类别和位置。例如,所述图像样本集a标注有皱纹类型的真实标签,所述图像样本集a标注的真实标签包括皱纹的细分类别和位置。其中,皱纹的细分类别包括皱纹种类和所述皱纹种类对应的严重程度,所述皱纹种类包括抬头纹、眉间纹、鱼尾纹或法令纹,所述严重程度包括无、轻度、中度或重度。每种皱纹种类对应无、轻度、中度或重度这4种严重程度。由此,将所述皱纹的细分类别分为了16类,能精细化反映面部衰老情况。如图5所示,对于所述图像样本集a中的任一图像ai,其标注的真实标签包括皱纹的细分类别和皱纹位置,其中,皱纹的细分类别由文字示出,所述皱纹位置由相应的标记框示出。在图像ai中,其标注的皱纹的细分类别包括:中度抬头纹、轻度眉间纹、轻度鱼尾纹和轻度法令纹。可以理解的是,所述皱纹的细分类别也可以由相应的代号示出。

例如,所述图像样本集b标注有黑头类型的真实标签,所述图像样本集b标注的真实标签包括黑头的细分类别和黑头位置。其中,黑头的细分类别包括无、轻度、中度或重度,能反映黑头的严重程度。如图5所示,对于所述图像样本集b中的任一图像bi,其标注的真实标签包括黑头的细分类别和黑头位置,其中,黑头的细分类别由文字示出,所述黑头位置由相应的标记框示出。在图像bi中,其标注的黑头的细分类别包括轻度黑头。可以理解的是,所述黑头的细分类别也可以由相应的代号示出。

再例如,所述图像样本集c标注有黑眼圈类型的真实标签,所述图像样本集c标注的真实标签包括黑眼圈的细分类别和黑眼圈位置。其中,黑眼圈的细分类别包括无、血管型或色素型,能反映黑眼圈的属性以及造成黑眼圈的因素。如图5所示,对于所述图像样本集c中的任一图像ci,其标注的真实标签包括黑眼圈的细分类别和黑眼圈的位置,其中,黑眼圈的细分类别由文字示出,所述黑眼圈位置由相应的标记框示出。在图像ci中,其标注的黑眼圈的细分类别为色素型黑眼圈。可以理解的是,所述黑眼圈的细分类别也可以由相应的代号示出。

在步骤s22中,将所述图像样本集,输入预设卷积神经网络进行训练,所述预设卷积神经网络中的卷积层会以一组初始的模型参数分别学习所述图像样本集中图像的图像特征,比如形状、边缘等特征。

所述预设卷积神经网络分别学习各图像样本子集,并会对各图像样本子集对应的目标的细分类别和位置进行预测,从而,分别获取各图像样本子集中的各图像对应的预测标签,即获取所述图像样本集中的各图像对应的预测标签。由于不同所述图像样本子集对应不同类型的目标,因此,所述预测标签包括至少两种类型的目标的细分类别和位置。其中,所述预设卷积神经网络是未经训练的目标检测卷积神经网络,例如ssd-mobilenetv2网络,yolo网络或resnet等。

例如,对于图像样本子集a[a1,a2......an],图像样本子集b[b1,b2......bn],图像样本子集c[c1,c2......cn],其中,图像样本子集a[a1,a2......an]标注的真实标签为[y1,y2......yn],图像样本子集b[b1,b2......bn]标注的真实标签为[s1,s2......sn],图像样本子集c[c1,c2......cn]标注的真实标签为[t1,t2......tn]。所述真实标签[y1,y2......yn]中任意一个均包括皱纹的细分类别和皱纹位置,所述真实标签[s1,s2......sn]中任意一个均包括黑头的细分类别和黑头位置,所述真实标签[t1,t2......tn]中任意一个均包括黑眼圈的细分类别和黑眼圈位置。

通过所述预设卷积神经网络学习标注有真实标签的图像样本子集a、b和c,所述预设卷积神经网络会生成用于检测和定位皱纹、黑头、黑眼圈的初始多目标检测模型。从而,根据所述初始多目标检测模型,预测所述图像样本子集a中的图像中的上述三个目标(皱纹、黑头和黑眼圈)的细分类别和位置,即预测标签[y1',y2'......yn'],预测所述图像样本子集b中的图像中的上述三个目标(皱纹、黑头和黑眼圈)的细分类别和位置,即预测标签[s1',s2'......sn'],预测所述图像样本子集c中的图像中的上述三个目标(皱纹、黑头和黑眼圈)的细分类别和位置,即预测标签[t1',t2'......tn']。

可知,所述预测标签是由所述初始多目标检测模型预测到的,因此,所述预测标签和真实标签之间的误差,能够反映所述初始多目标检测模型的精度。具体的,预测标签[y1',y2'......yn']与真实标签为[y1,y2......yn]之间的误差,预测标签[s1',s2'......sn']与真实标签[s1,s2......sn]之间的误差,预测标签[t1',t2'......tn']与真实标签[t1,t2......tn]之间的误差,共同反映所述初始多目标检测模型的精度。

由于所述图像样本集中各不同图像样本子集分别对应不同类型的目标,若采用同一损失函数计算误差,则各类型的目标之间存在相互干扰,即互为负样本。例如,在计算图像样本子集a中图像的真实标签与预测标签之间的误差时,图像样本子集a中图像的真实标签只包括皱纹的细分类别和皱纹位置,然而,其预测标签中还包括黑头和黑眼圈的类别和位置,从而,黑头和黑眼圈会干扰皱纹的误差,会使得图像样本子集a对应的皱纹的误差增大。因此,在本实施例中,根据目标图像对应的类型,来确定对应的损失函数,以消除上述不同类型的目标之间的干扰。

具体的,在步骤s23中,遍历所述图像样本集中的图像,根据目标图像的真实标签,确定所述目标图像对应的损失函数,所述目标图像为所述图像样本集中的任一图像。从所述目标图像的真实标签,可获取所述目标图像对应的目标的类型,例如,若所述目标图像对应的目标的类型为皱纹,则确定与之对应的损失函数为皱纹损失函数,所述皱纹损失函数仅用于评价皱纹的真实标签与皱纹的预测标签之间的误差,从而,可以减少其他类型的目标对皱纹的误差的干扰。例如,若所述目标图像对应的目标的类型为黑头,则确定与之对应的损失函数为黑头损失函数,所述黑头损失函数仅用于评价黑头的真实标签与黑头的预测标签之间的误差,从而,可以减少其他类型的目标对黑头的误差的干扰。

在步骤s24中,根据所述损失函数计算所述目标图像的预测标签与真实标签之间的误差;

在步骤s25中,根据所述误差,调整所述预设卷积神经网络的模型参数,以获取用于检测至少两种类型的目标的多目标检测模型。

根据不同类型的目标各自对应的损失函数可以分别计算出所述图像样本集中各图像的预测标签和真实标签之间的误差。从而,可以根据所述误差,调整所述预设卷积网络的模型参数,得到更为准确的图像特征,从而,能够提高所述初始多目标检测模型的精度。其中,所述模型参数为卷积核参数,即为卷积核的权重和偏差。

如此,通过多次训练,获取误差,调整模型参数,迭代生成新的初始多目标检测模型,直到所述误差收敛在一个范围内波动,停止训练,选取准确度最高的初始多目标检测模型对应的模型参数作为最终的所述多目标检测模型的模型参数,即可获取用于检测至少两种类型的目标的多目标检测模型。

在本实施例中,根据各图像的真实标签,确定各图像对应的目标的类型,从而,确定各图像对应的损失函数,可以有效消除不同类型的目标之间的误差干扰,得到更加准确的多目标检测模型。此外,为了实现各不同类型的目标的细分类别定位检测,当面对各图样样本子集时,无需重新进行图像标注,即无需将各类别的目标的细分类别和位置标注在同一个图像上,从而,可以节约人工成本。

在一些实施例中,所述损失函数为多个子损失函数的加权和,一个子损失函数对应一种类型的目标。请参阅图6,所述步骤s23具体包括:

s231:根据所述目标图像的真实标签,确定所述目标图像对应的第一类型。

s232:将所述第一类型对应的子损失函数的权重设置为1,将除所述第一类型外的剩余类型的子损失函数的权重设置为0,以得到所述目标类型对应的损失函数。

由于所述真实标签反映目标的细分类别和位置,从而,可以从所述目标图像的真实标签中可获取目标所属的类型,即确定所述图像对应的第一类型。

为了减少除所述第一类型外的其他类型对所述第一类型目标的误差干扰,将所述第一类型对应的子损失函数的权重设置为1,将除所述第一类型外的剩余类型的子损失函数的权重设置为0,以得到所述目标类型对应的损失函数。

在本实施例中,将不同类型的目标对应的子损失函数结合在一起,形成用于计算所述多目标检测模型损失的损失函数,然后,通过调整设置权重的方式,确定各目标类型对应的损失函数,一方面,简化了确定损失函数的流程,根据真实标签即可自动确定各目标类型对应的损失函数,另一方面,可以有效消除不同类型的目标之间的误差干扰,得到更加准确的多目标检测模型。

在一些实施例中,所述目标的类型包括皱纹、黑头和黑眼圈,请参阅图7,所述步骤s232具体包括:

s2321:当所述第一类型为皱纹时,将所述皱纹对应的子损失函数的权重设置为1,并将所述黑头对应的子损失函数的权重和所述黑眼圈对应的子损失函数的权重设置为0。

s2322:当所述第一类型为黑头时,将所述黑头对应的子损失函数的权重设置为1,并将所述皱纹对应的子损失函数的权重和所述黑眼圈对应的子损失函数的权重设置为0。

s2323:当所述第一类型为黑眼圈时,将所述黑眼圈对应的子损失函数的权重设置为1,并将所述皱纹对应的子损失函数的权重和所述黑头对应的子损失函数的权重设置为0。

对于上述图像样本集,包括图像样本子集a、b和c,其中,图像样本子集a对应的目标的类型为皱纹,图像样本子集b对应的目标的类型为黑头,图像样本子集c对应的目标的类型为黑眼圈。则,损失函数可用如下公式表示:

loss=α·wrinkle_loss+β·blackhead_loss+θ·darkcircle_loss;

其中,wrinkle_loss为对应皱纹的子损失函数,其权重为α;blackhead_loss为对应黑头的子损失函数,其权重为β;darkcircle_loss为对应黑眼圈的子损失函数,其权重为θ。

遍历所述图像样本集中的图像,获取目标图像,根据所述目标图像的真实标签,即可确定所述目标图像对应的第一类型。

当目标图像为上述图像ai时,其真实标签为“中度抬头纹、轻度眉间纹、轻度鱼尾纹和轻度法令纹”,从而,可确定所述目标图像ai对应的第一类型为皱纹。在计算所述图像ai的真实标签和预测标签之间的误差时,将所述第一类型(皱纹)对应的子损失函数(wrinkle_loss)的权重α设置为1,将除所述第一类型外的剩余类型的子损失函数的权重设置为0,即,将β和θ设置为0,从而,得到皱纹对应的损失函数loss=α·wrinkle_loss。

当目标图像为上述图像bi时,其真实标签为“轻度黑头”,从而可确定所述目标图像bi对应的第一类型为黑头。在计算所述目标图像bi的真实标签和预测标签之间的误差时,将所述第一类型(黑头)对应的子损失函数(blackhead_loss)的权重β设置为1,将α和θ设置为0,从而,得到黑头对应的损失函数loss=β·blackhead_loss。

当目标图像为上述图像ci时,其真实标签为“色素型黑眼圈”,从而可确定所述目标图像ci对应的第一类型为黑眼圈。在计算所述目标图像ci的真实标签和预测标签之间的误差时,将所述第一类型(黑眼圈)对应的子损失函数(darkcircle_loss)的权重θ设置为1,将α和β设置为0,从而,得到黑眼圈对应的损失函数loss=θ·darkcircle_loss。

在本实施例中,损失函数包括皱纹、黑头和黑眼圈对应的子损失函数,然后通过调整设置权重的方式,确定皱纹、黑头和黑眼圈对应的损失函数,即可得到用于检测皱纹、黑头和黑眼圈的多目标检测模型。此外,通过设置权重得到的损失函数,可以有效消除皱纹、黑头和黑眼圈之间的误差干扰,使得所述多目标检测模型更加准确。

在一些实施例中,请参阅图8,所述步骤s22具体包括:

s221:对所述图像样本集中的图像以所述预设卷积神经网络中的特征卷积层进行特征处理,以获取至少两种尺寸的特征图。

s222:将所述至少两种尺寸的特征图输入所述预设卷积神经网络中的检测卷积层,以获取所述图像的预测标签。

将所述图像样本集中的图像输入至所述预设卷积神经网络中的特征卷积层,所述特征卷积层会以一组初始的模型参数学习训练样本的图像特征,比如形状、边缘等特征。在学习所述图像样本集中图像的图像特征后,所述预设卷积神经网络中的检测卷积层会对所述图像样本集中图像的至少两种类型的目标的细分类别和位置进行预测,即可获取所述图像样本集中图像的预测标签。

在本实施例中,由于卷积特征处理降低了图像的空间维度和分辨率,单一尺寸的训练特征图不能满足多尺寸的目标的检测。为了兼顾大尺寸目标(例如皱纹)和小尺寸目标(例如黑头)的检测,在本实施例中,采用多尺度的训练特征图进行训练,即通过对所述训练样本以所述预设卷积神经网络中的特征卷积层进行卷积特征处理,每一卷积层对应一训练特征图。在多个训练特征图中选择至少两种尺寸的训练特征图,在所述至少两种尺寸的训练特征图上分别执行独立的目标检测(目标细分类别和目标位置)。

例如,如图9所示,针对所述图像样本集中的任何一张图像ai,经所述特征卷积层处理后,可以得到128*128、64*64、32*32、16*16和8*8等多个尺寸的训练特征图,选择其中16*16、8*8、4*4和2*2这四种尺寸的训练特征图分别通过所述检测卷积层实现独立的目标检测,得到检测出的目标细分类别和目标位置,即为所述图像d的预测标签。对所述图像样本集中的任何一张图像均经过上述特征处理和检测识别,即可获取所述训练样本的预测标签。

具体的,所述16*16、8*8、4*4和2*2这四种尺寸中的训练特征图分别对应的k值为[2,2,2,2],即所述四种尺寸的训练特征图中任一训练特征图的每个像素有2个检测框,从而,对于一张图像,其总共的检测框的数量为(2*16*16+2*8*8+2*4*4+2*2*2)=680个,即每张图像对应有680个检测框。所述检测框反映了训练特征图中一像素点在所述图像(原始训练图)上映射的区域中的目标情况,其中,目标情况包括目标位置、目标的细分类别以及细分类别对应的置信度,并且,细分类别对应的置信度用于反馈该检测框在所述图像中框住的像素区域为对应目标的细分类别的可能性。例如,若一训练特征图对应的目标的类别为皱纹,对于此训练特征图中的像素点a,其有2个检测框,每个检测框对应一个位置、一个细分类别、以及细分类别的置信度(即细分类别的概率),其中,像素点a的检测框1的位置为(x1,y1,w1,h1),皱纹的细分类别为中度抬头纹,皱纹的细分类别对应的置信度为90%,即所述像素点a在原图像上映射的区域中,被位置(x1,y1,w1,h1)所述框住的像素区域为中度抬头纹的概率为90%。

然后,将这四种尺寸的训练特征图分别通过检测卷积层,其中检测卷积层的卷积核大小为3*3,所述检测卷积层包括回归卷积层和分类卷积层,也即,上述四种尺寸的特征图分别进行回归卷积和分类卷积,每一特征图均得到回归特征图和分类特征图,所述回归特征图用于预测所述检测框的位置(中心坐标和长宽),所述分类特征图用于预测所述检测框的细分类别。

所述回归特征图和分类特征图均是三维的。如图10所示,对于16*16的训练特征图,其回归特征图的维度是2*4*16*16,其中,2为上述k值,4表示检测框的中心坐标(center-x,center-y)以及所述检测框的宽高(w,h),则一个像素点对应8个回归值,每个检测框对应4个回归参数(center-x,center-y,w,h)。其分类特征图的维度是2*num_class*16*16,其中,2为上述k值,num_class表示类别的个数,则一个像素点对应2*num_class个分类值。

同理,对于8*8的训练特征图,其回归特征图的维度是2*4*8*8,其中,2为上述k值,4表示检测框的中心坐标(center-x,center-y)以及所述检测框的宽高(w,h),则一个像素点对应2*4=8个回归值,每个检测框对应8个回归参数(center-x,center-y,w,h)。其分类特征图的维度是2*num_class*8*8,其中,2为上述k值,num_class表示类别的个数,则一个像素点对应2*num_class个分类值。

同理,对于4*4的训练特征图,其回归特征图的维度是2*4*4*4,其中,2为上述k值,第一个4表示检测框的中心坐标(center-x,center-y)以及所述检测框的宽高(w,h),则一个像素点对应2*4=8个回归值,每个检测框对应8个回归参数(center-x,center-y,w,h)。其分类特征图的维度是2*num_class*4*4,其中,2为上述k值,num_class表示类别的个数,则一个像素点对应2*num_class个分类值。

同理,对于2*2的训练特征图,其回归特征图的维度是2*4*2*2,其中,第一个2为上述k值,第一个4表示检测框的中心坐标(center-x,center-y)以及所述检测框的宽高(w,h),则一个像素点对应2*4=8个回归值,每个检测框对应8个回归参数(center-x,center-y,w,h)。其分类特征图的维度是2*num_class*2*2,其中,第一个2为上述k值,num_class表示类别的个数,则一个像素点对应2*num_class个分类值。

从而,当类别num_class=1时,回归参数的维度为680*4=2720,分类参数的维度为680,则在多类别的情况下,num_class=n,回归参数的维度为n*2720,分类参数的维度为n*680。即,所述预设卷积神经网络会输出n*2720个预测到的回归参数、n*680预测到的类别以及对应的类别置信度。

然后,根据上述预设卷积神经网络的输出结果,结合损失函数,计算输出结果与真实标签之间误差。可以理解的是,在上述计算输出结果与真实标签之间的误差时,可通过现有的并交比函数(iou函数)计算检测框与真实标签(真实框)的并交比,取并交比满足预设条件的检测框参与误差计算,例如,取并交比大于0.5的检测框参与误差计算。

最后,所述预设卷积神经网络根据所述误差即可反向调整模型参数,在确定新的模型参数后,即可得到所述多目标检测模型。

在本实施例中,利用多尺寸的训练特征图进行检测,可消除图像的空间维度和分辨率对检测结果的影响,能兼顾多种尺寸的目标,即,能满足大尺寸目标(例如皱纹)的检测和小尺寸目标(例如黑头)的检测,检测精度高。

可以理解的是,所述特征卷积层可以是所述预设卷积神经网络的基础卷积层框架,也可以是基于所述预设卷积神经网络的基础卷积层框架改进得到的。

为了避免样本不均衡对所述多目标检测模型的影响,在一些实施例中,在所述步骤s22之前,所述方法还包括:对所述图像样本集中的图像进行图像增强处理,以均衡所述图像样本集。其中,所述图像增强处理是通过一定手段对原图像附加一些信息或变换数据,有选择地突出图像中感兴趣的特征或抑制(模糊)图像中某些不需要的特征。在一些实施例中,通过滤波的方式对图像进行模糊处理,或,采用gamma变换的方法对图像进行处理,达到光照变化的效果。

例如,当所述图像样本集中中,图像样本子集a包括100张图像,图像样本子集b包括500张图像,图像样本子集c包括100张,可知,所述图像样本子集b中图像的数量偏多,则网络的输出则会倾向于数量多的图像样本子集b对应的目标,准确率低。为了均衡所述图像样本集,可对所述图像样本子集b中任一400张图像中进行模糊处理,以减小所述图样样本子集b对所述图像样本集的影响,使所述图像样本集中的有效数据为图像样本子集a中的100张图像,所述图像样本子集b中的100张以及所述图像样本子集c中的100张等。

再例如,所述图像样本集中的图像有可能会受到光照等因素的影响,从而,导致皱纹、黑头和黑眼圈等目标难以检测。因此,可通过gamma变换的方法,矫正光照,达到弱化光照影响的效果,提高图像的质量。此外,对于不平衡的图像样本集,还可以通过gamma变换,加强光照影响,从而使多余的图像失效,例如,对上述图像样本子集b中任一400张图像进行gamma变化,使光照影响增大,抹去所述400张图像的特征。

综上所述,本发明实施例提供训练多目标检测模型的方法,将不同类型的目标对应的子损失函数结合在一起,形成用于计算所述多目标检测模型损失的损失函数,然后,通过调整设置权重的方式,确定各目标类型对应的损失函数,一方面,简化了确定损失函数的流程,根据真实标签即可自动确定各目标类型对应的损失函数,另一方面,可以有效消除不同类型的目标之间的误差干扰,得到更加准确的多目标检测模型。

以下,对本发明实施例所提供的检测多目标的方法进行详细说明,请参阅图11,所述方法s30包括但不限制于以下步骤:

s31:获取待测人脸图像。

s32:利用上述任一项实施例中的多目标检测模型检测所述待测人脸图像,以获取所述待测人脸图像中的至少两种类型的目标的细分类别和位置。

所述待测人脸图像为人脸面部图像,可由上述图像获取装置20获取,例如,所述待测人脸图像可以为对所述图像获取装置20采集到的证件照或自拍照等(初始待测人脸图像)进行截取人脸区域后获取的人脸面部图像。在此,不对所述待测人脸图像的来源做任何限制,为人脸面部图像即可。

可以理解的是,当初始待测人脸图像还包括背景时,例如上述证件照或自拍照还包括背景,可先通过现有的dlib工具包获取人脸框,再结合所述初始待测人脸图像自身的宽高比例,将所述人脸框的宽高比例调整至所述初始待测人脸图像自身的宽高比例,从而,截取人脸面部图像,并作为最终的所述待测人脸图像。通过上述方式,截取人脸面部图像,去除所述待测人脸图像的背景,能够减小背景对皱纹检测的干扰,提高检测的准确率。

将所述待测人脸图像输入所述多目标检测模型,即可获取所述待测人脸图像中的不同目标的细分类别和位置,其中,不同类型的目标分别反映不同的人脸皮肤评价维度。例如,如图12所示,将待测人脸图像f输入所述预设多目标检测模型,经特征处理后,检测出所述待测人脸图像f中存在:轻度抬头纹、轻度鱼尾纹、中度眉间纹以及轻度法令纹,中度黑头,以及血管型黑眼圈,图12中的标记框为各皮肤问题对应的位置。

可以理解的是,所述多目标检测模型是通过上述实施例中训练多目标检测模型的方法训练得到的,与上述实施例中的多目标检测模型的结构和功能均相同,在此不再一一赘述。

在一些实施例中,请参阅图13,所述步骤s32具体包括:

s321:将所述待测人脸图像输入至所述多目标检测模型的特征卷积层进行特征处理,以获取至少两种尺寸的待测特征图。

s322:将所述至少两种尺寸的待测特征图输入至所述多目标检测模型中的检测卷积层,以获取所述待测人脸图像中的至少两种类型的目标的细分类别和位置。

所述多目标检测模型中的特征卷积层与上述实施例中多目标检测模型中的特征卷积层的结构相同,检测过程中的特征提取方式与训练过程中的特性提取方式也相同。因此,将所述待测人脸图像输入至所述多目标检测模型的特征卷积层进行特征处理,从而,可以获取至少两种尺寸的待测特征图。

将这至少两种尺寸的待测特征图分别输入至所述多目标检测模型的检测卷积层,所述检测卷积层包括回归卷积层和分类卷积层,也即,上述至少两种尺寸的待测特征图分别进行回归卷积和分类卷积,每一待测特征图均得到回归特征图和分类特征图,所述回归特征图用于预测所述待测特征图的检测框的位置(中心坐标和长宽),所述分类特征图用于预测所述待测特征图的检测框的类别。

例如,所述16*16、8*8、4*4和2*2这四种尺寸中的训练特征图分别对应的k值为[2,2,2,2],即所述四种尺寸的训练特征图中任一待测特征图的每个像素有2个检测框,从而,对于待测人脸图像,其总共的检测框的数量为(2*16*16+2*8*8+2*4*4+2*2*2)=680个,即待测人脸图像对应有680个检测框。所述检测框反映了待测特征图中一像素点在所述待测人脸图像上映射的区域中的目标情况,其中,目标情况包括目标位置、目标的细分类别以及细分类别对应的置信度,并且,细分类别对应的置信度用于反馈该检测框在所述图像中框住的像素区域为对应目标的细分类别的可能性。

最后,通过现有的非极大值抑制算法(nms),对每一像素点对应的检测框,按目标的细分类别置信度降序排列所述检测框,选取每一细分类别中置信度最高的检测框,作为该细分类别的位置,即确定了该细分类别的坐标,并输出检测结果(目标位置和目标的细分类别)。例如,在上述896个检测框中,若其中有200个检测框的细分类别为中度抬头纹,在这200个检测框中每一检测框均有各自的细分类别置信度(即表示检测框中是中度抬头纹的概率),通过非极大值抑制算法,对200个检测框按置信度排序,并从这200个检测框中选出细分类别置信度最大的检测框e作为最终的预测结果,即,将检测框e的位置(xe,ye,we,he)作为最终预测出的抬头纹的位置,检测框e对应的细分类别(中度抬头纹)作为最终预测出的细分类别。

在本实施例中,利用多尺寸的待测特征图进行检测,可消除图像的空间维度和分辨率对检测结果的影响,能兼顾多种尺寸的目标,即,能满足大尺寸目标(例如皱纹)的检测和小尺寸目标(例如黑头)的检测,检测精度高。

本发明其中一实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使电子设备执行,例如,执行以上描述的图3-图13中的方法。

本发明实施例提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的检测多目标的方法,例如,执行以上描述的图3-图13中方法步骤。

需要说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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