掌桥专利:专业的专利平台
掌桥专利
首页

头像抠图方法及电子设备

文献发布时间:2024-04-18 20:00:25


头像抠图方法及电子设备

技术领域

本申请属于计算机技术领域,涉及图像处理领域,尤其涉及一种头像抠图方法及电子设备。

背景技术

相关的人物头像抠图工具,通常需要由具有一定的抠图处理技术的专业人士进行操作,通常需要多次操作才能得到较为合适的抠图结果。而相关技术中使用的人物头像抠图模型,由于训练时需要使用大量的带有标签的图像数据,导致训练成本较高且模型的泛化能力不足。此外,相关技术中使用的人物头像抠图模型只能实现对人物头像的粗略硬分割,缺乏平滑的过渡效果,对于复杂结构的前景物体(例如人脸外轮廓)的分割的精准度较低。

发明内容

本申请实施例提供一种头像抠图方法及电子设备,能够解决现有的头像抠图时需要与用户交互、需要使用大量训练数据以及模型的泛化能力不足的问题,能够有效提升利用模型进行头像抠图的分割精准度。

本申请实施例第一方面提供一种头像抠图模型训练方法,包括:获取头像图像数据集,将所述头像图像数据集划分为训练集与测试集,所述头像图像数据集包括:原始图像中头像的第一抠图、所述原始图像中头像的第一关键点图像、所述原始图像与所述第一关键点图像的融合图像;基于所述训练集对预先构建的模型进行至少一次的迭代更新,直至得到满足预设要求的目标抠图模型,其中,所述至少一次迭代更新中的任一次更新包括:将所述训练集中的单张融合图像输入当前模型,所述当前模型表示上一次更新后得到的模型;利用所述当前模型获取所述单张融合图像中头像的第二抠图,以及所述单张融合图像中头像的第二关键点图像;利用第一损失函数计算所述单张融合图像对应的第一抠图与第二抠图之间的第一损失值,利用第二损失函数计算所述单张融合图像对应的第一关键点图像与第二关键点图像之间的第二损失值;当基于所述第一损失值与所述第二损失值确定所述当前模型不满足所述预设要求时,使用所述训练集中的下一张融合图像对所述当前模型进行下一次更新,直至得到满足所述预设要求的目标抠图模型。

根据本申请实施例,所述当前模型包括编码器、注意力机制、第一解码器以及第二解码器,利用所述当前模型获取所述第二抠图以及所述第二关键点图像包括:利用所述编码器提取所述融合图像的多尺度的图像特征;利用所述注意力机制对所述多尺度的图像特征进行融合,得到融合特征;利用所述第一解码器对所述融合特征进行解码,得到所述第二抠图;利用所述第二解码器对所述融合特征进行解码,得到所述第二关键点图像。

根据本申请实施例,所述编码器包括特征提取模块;所述特征提取模块的输入为三通道图像,所述特征提取模块的输出为单通道的关键点特征图像。

根据本申请实施例,所述第一关键点图像的获取方法包括:利用预设的关键点特征提取模型对所述原始图像中的头像进行关键点检测,获得头像的第一关键点;将根据头像的第一关键点生成的单通道图像作为所述第一关键点图像。

根据本申请实施例,所述第一关键点图像包括:脸部轮廓关键点所在的第一单通道图像,眉毛嘴巴与眼睛的关键点所在的第二单通道图像,鼻子关键点对应的第三单通道图像。

根据本申请实施例,所述头像图像数据集还包括所述原始图像,所述融合图像的获取方法包括:将所述第一关键点图像包括的第一单通道图像、第二单通道图像、第三单通道图像与所述原始图像进行通道融合,将通道融合得到的三通道图像作为所述融合图像。

根据本申请实施例,所述方法还包括:当所述第一损失值和所述第二损失值都小于或等于预设损失阈值时,使用所述测试集对当前模型进行模型验证得到模型验证结果;当所述模型验证结果指示所述当前模型不满足所述预设要求时,使用所述训练集中的下一张融合图像对所述当前模型进行下一次更新;或者,当所述模型验证结果指示所述当前模型满足所述预设要求时,停止更新,并将所述当前模型作为所述目标抠图模型。

根据本申请实施例,所述使用所述测试集对当前模型进行模型验证得到模型验证结果包括:将所述测试集中的任一融合图像输入所述当前模型;利用所述当前模型获取所述任一融合图像中头像的第三抠图以及所述任一融合图像中头像的第三关键点图像;利用所述第一损失函数计算所述任一融合图像对应的第一抠图与第三抠图之间的第三损失值,利用第二损失函数计算所述任一融合图像对应的第一关键点图像与第三关键点图像之间的第四损失值;当所述第三损失值或所述第四损失值大于所述损失阈值时,确定所述模型验证结果不满足所述预设要求;或者,当所述第三损失值和所述第四损失值都小于或等于所述损失阈值时,确定所述模型验证结果满足所述预设要求。

本申请实施例第二方面提供一种头像抠图模型的应用方法,所述方法包括:将待抠图图像输入目标抠图模型,使用所述目标抠图模型对所述待抠图图像进行特征提取,得到所述待抠图图像的关键点图像与初始抠图图像;其中,所述目标抠图模型为利用如所述头像抠图模型训练方法所获得;确定所述关键点图像中的关键点的外包围图形,以及所述待抠图图像中与所述外包围图形对应的区域图像;将所述区域图像与所述初始抠图图像进行图像合并,得到合并图像;确定所述合并图像中的闭合区间,并确定所述闭合区间的高度与宽度的比值,根据所述比值对所述闭合区间的边缘进行裁剪,得到目标抠图图像。

本申请实施例第三方面提供一种头像抠图模型训练装置,所述头像抠图模型训练装置包括:构建模块,用于获取头像图像数据集,将所述头像图像数据集划分为训练集与测试集;迭代更新模块,用于基于所述训练集对预先构建的模型进行至少一次的迭代更新,直至得到满足预设要求的目标抠图模型。

本申请实施例第四方面提供一种电子设备,包括:存储器,及处理器,所述处理器执行所述存储器中存储的计算机可读指令,实现所述的头像抠图模型训练方法或头像抠图模型的应用方法。

本申请实施例提供的头像抠图模型训练方法,可以将头像中的人脸关键点信息作为先验信息训练抠图模型,使得抠图模型能够学习根据关键点信息的位置确定人脸与头发的完整的外轮廓,从而提高模型的性能。此外,使用关键点信息作为先验信息训练模型,还可以降低训练模型时的训练成本,提高模型的训练效率。本申请实施例提供的头像抠图模型的应用方法,能够有效提升头像抠图的效果与精准度。

附图说明

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

图1为本申请实施例提供的一种头像抠图模型训练方法的应用环境示意图。

图2为本申请实施例提供的头像抠图模型训练方法的流程示意图。

图3为本申请实施例提供的头像抠图模型的结构示意图。

图4为本申请实施例提供的单通道图像的示例图。

图5为本申请实施例提供的对预先构建的模型进行的至少一次迭代更新中的任一次更新的方法的流程示意图。

图6为本申请实施例提供的获取第二抠图以及第二关键点图像的方法的流程示意图。

图7为本申请实施例提供的使用测试集对当前模型进行模型验证的方法的流程示意图。

图8为本申请实施例提供的获取模型验证结果的方法的流程示意图。

图9为本申请实施例提供的头像抠图模型的应用方法的流程示意图。

图10为本申请实施例提供的一种头像抠图模型训练装置的原理框图。

图11为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请进行详细描述。

需要说明的是,本申请中“至少一个”是指一个或者多个,“多个”是指两个或多于两个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。

在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参阅图1,为本申请一实施例提供的一种头像抠图模型训练方法的应用环境示意图。如图1所示,用户终端10与服务器20通过网络进行通信。所述网络可以是有线网络通信,也可以是无线网络通信。有线网络可以是局域网、城域网和广域网中的任意一种,无线保真(Wireless Fidelity,Wi-Fi)、自组网无线通信(ZigBee Wireless Networks,ZigBee)技术、超宽带(Ultra Wideband,UWB)技术、无线通用串行总线(Universal Serial Bus,USB)等任意一种网络。

用户终端10可以是手机、平板电脑、多媒体播放设备、个人计算机(PersonalComputer,PC)、可穿戴设备等电子设备。用户终端10可以是安装了各类应用程序的客户端,例如,教育类应用程序、咨询类应用程序、信息播报应用程序、直播类应用程序等、电商类应用程序等。

服务器20用于为用户终端10中的应用程序提供后台服务。例如,服务器20可以是上述电商类应用程序的后台服务器。服务器20可以是计算机设备,在本申请一实施例中,可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。

用户终端10与服务器20通过网络进行通信实现对头像抠图模型的训练。在本申请一实施例中,头像抠图模型的训练可以是在服务器20中进行。具体地,服务器20可以通过网络从用户终端10获取头像图像数据集或者使用本地存储的头像图像数据集。服务器20基于头像图像数据集对头像抠图模型进行训练;在训练得到头像抠图模型后,服务器20可以接收用户终端10发送的待抠图图像,使用头像抠图模型对待抠图图像进行抠图得到目标抠图图像;将目标抠图图像发送至用户终端10供用户查看或保存。

在本申请的又一实施例中,当服务器20训练得到头像抠图模型后,还可以将训练好的头像抠图模型通过网络发送给用户终端10进行本地存储,用户终端10接收用户输入或选择的待抠图图像,使用头像抠图模型对待抠图图像进行抠图得到目标抠图图像。

在本申请的另一实施例中,头像抠图模型的训练可以是在用户终端10中进行,具体地,用户终端10可以通过网络从服务器20获取头像图像数据集并进行对头像抠图模型的训练;在训练得到头像抠图模型后,用户终端10接收用户输入或选择的待抠图图像,使用头像抠图模型对待抠图图像进行抠图得到目标抠图图像。用户终端10还可以将训练好的头像抠图模型通过网络发送至服务器20进行备份。

下文将以实现本申请实施例的头像抠图模型训练方法的计算机程序产品运行于服务器(如图1所示的服务器20)为例进行说明。请参阅图2所示,为本申请实施例提供的头像抠图模型训练方法的流程示意图,在本申请一实施例中,包括如下步骤:

步骤S201,获取头像图像数据集,将所述头像图像数据集划分为训练集与测试集。

在本申请的一些实施例中,所述头像图像数据集包括:原始图像中头像的第一抠图、所述原始图像中头像的第一关键点图像、所述原始图像与所述第一关键点图像的融合图像。

在本申请的一些实施例中,可以从开源的数据库(例如COCO、PASCAL VOC等)中获取大量包含人物头像的原始图像以及每张原始图像对应的第一抠图;还可以在开源的数据库获得所述原始图像,将所述原始图像发送给专业的用户,接收用户使用图像编辑软件(例如Adobe Photoshop等)或标注工具(例如Labelbox、Supervisely等)获得的每张原始图像对应的第一抠图。原始图像中的头像可以是动物头像、人物头像等。

在本申请的一些实施例中,以原始图像中的头像是人物头像进行举例,相关技术中使用的抠图模型的网络结构一般包括一个编码器和一个解码器。其中,编码器用于对原始图像中的人物头像进行特征提取,解码器用于对编码器获得的人物头像特征进行解码并重建出对应的抠图图像。然而,这种方法往往需要大量的带有标签的图像数据,导致训练成本较高且模型的泛化能力不足,并且无法保证抠图图像中人物头像脸部的稳定外轮廓。

为了在抠图时抠出人物头像脸部的稳定外轮廓,本申请实施例提供的方法使用人物头像的关键点作为先验信息,在对抠图模型进行训练时使用人物头像的第一关键点图像(例如图3所示)作为训练数据,以使模型能够学习到头像中关键点的位置,基于关键点的位置实现对人物头像的精准抠图。

在本申请的一些实施例中,所述第一关键点图像的获取方法包括:利用预设的关键点特征提取模型对所述原始图像中的头像进行关键点检测,获得头像的第一关键点;将根据头像的第一关键点生成的单通道图像作为所述第一关键点图像。其中,所述预设的关键点特征提取模型可以是使用任一关键点检测算法构建的模型,所述关键点检测算法包括但不限于:尺度不变特征变换特征检测算法(Scale-Invariant Feature Transform,SIFT)、加速鲁棒特征检测算法(Speeded Up Robust Features,SURF)、二进制鲁棒独立特征检测算法(Binary Robust Independent Elementary Features,BRIEF)、快速鲁棒特征检测算法(Fast Robust Features,FREAK)、带有旋转不变性的特征描述符检测算法(Oriented FAST and Rotated BRIEF,ORB)、特征角点检测算法(Features fromAccelerated Segment Test,FAST)。

在本申请的一些实施例中,所述第一关键点包括多种类别的多个人脸关键点,例如脸部轮廓关键点(例如脸部下颌的关键点、头发与额头交界处的关键点、脸颊与耳朵或头发的交界处的关键点等)、眉毛的关键点、嘴巴的关键点、眼睛的关键点、鼻子关键点等。其中,对于确定脸部的外轮廓的位置而言最重要的关键点为位于脸部的边缘的脸部轮廓关键点,其次则是位于脸部中心位置的鼻子关键点,最后才是眉毛的关键点、嘴巴的关键点、眼睛的关键点。在其他实施例中,所述多个关键点还可以包括头发边缘的关键点。

因此,可以根据关键点的重要性的差异生成包含关键点的多张单通道图像,使得后续模型训练过程中编码器的卷积层的输入为包含关键点的单通道图像,能够在保留关键点信息的同时节约模型的算力,提高模型的训练效率以及训练好的模型的使用效率。

在本申请的一些实施例中,例如图4所示,根据头像的第一关键点生成的单通道图像包括:脸部轮廓关键点所在的第一单通道图像,眉毛嘴巴与眼睛的关键点所在的第二单通道图像,鼻子关键点对应的第三单通道图像。其中,所述眉毛嘴巴与眼睛的关键点包括眉毛的关键点、嘴巴的关键点、眼睛的关键点。在其他实施例中,第一单通道图像还可以包括头发边缘的关键点。

在本申请的一些实施例中,所述单通道图像为背景透明的单通道的灰度图像,每个单通道图像的尺寸与原始图像的尺寸一致。此外,为了使单通道图像中的关键点信息更为明显,每个单通道图像中每个关键点的半径大小为预设长度,所述预设长度为大于或等于一个像素点的长度,例如每个关键点的半径可以为一个像素点的长度。

在本申请的一些实施例中,所述头像图像数据集还包括所述原始图像。为了使训练集中的图像中包含原始图像与原始图像中头像的关键点信息,可以融合原始图像与第一关键点图像,得到原始图像与所述第一关键点图像的融合图像。具体的,所述融合图像的获取方法包括:将所述第一关键点图像包括的第一单通道图像、第二单通道图像、第三单通道图像与所述原始图像进行通道融合,将通道融合得到的多通道图像作为所述融合图像。其中,可以先将所述第一关键点图像包括的第一单通道图像、第二单通道图像、第三单通道图像进行通道融合,得到第一关键点图像对应的三通道图像。

通过通道融合后得到的融合图像中包含多个通道的信息,例如原始图像的信息与第一关键点图像的信息,从而能够在后续模型训练过程中使用融合图像作为训练数据,令模型能够学习到将关键点的位置作为先验信息,实现对人物头像的精准抠图。

在本申请的一些实施例中,可以将所述头像图像数据集按照预设的比例划分为训练集与测试集,例如,随机从所述头像图像数据集中选择十分之八的数据作为训练集,将所述头像图像数据集中剩余的十分之二的数据作为测试集。其中每个数据都包括原始图像对应的第一抠图、第一关键点图像以及所述融合图像。

步骤S202,基于所述训练集对预先构建的模型进行至少一次的迭代更新,直至得到满足预设要求的目标抠图模型。

在本申请的一些实施例中,例如图3所示,预先构建的模型包括编码器、注意力机制、第一解码器以及第二解码器,具体的,每种网络结构的用途可以参考后续步骤中当前模型的使用过程。

由于预先构建的模型的性能较低,可以基于所述训练集对模型进行至少一次迭代更新,通过迭代更新的过程对预先构建的模型进行优化更新,直至得到满足预设要求的目标抠图模型。其中,每次迭代更新时使用的当前模型可以是上一次更新后得到的模型,在第一次更新时,所述当前模型集所述预先构建的模型。

此外,还可以使用验证集在每次迭代更新时对当前模型进行模型验证得到模型验证结果,基于模型验证结果确定当前模型是否满足预设要求。

在本申请的一些实施例中,如图5所示,对预先构建的模型进行至少一次的迭代更新中的任一次更新,包括如下步骤:

步骤S301,将训练集中的单张融合图像输入当前模型。

在本申请的一些实施例中,融合图像中包含多个通道的信息,例如原始图像的信息与第一关键点图像的信息,使用融合图像作为训练数据,能够令模型能够学习到将关键点的位置作为先验信息,实现对人物头像的精准抠图。

在本申请的其他实施例中,还可以按照批次使用训练集中的融合图像训练当前模型,例如,可以将所述单张融合图像替换为当前批次的多张融合图像,在后续步骤中只需要对当前批次的多张融合图像中的每张融合图像,执行对单张融合图像进行的同样的操作,最后取平均值即可。

步骤S302,利用当前模型获取所述单张融合图像中头像的第二抠图,以及所述单张融合图像中头像的第二关键点图像。

在本申请的一些实施例中,由于融合图像中包含了原始图像与第一关键点图像中的关键点信息,因此可以利用当前模型的编码器对融合图像进行多尺度特征提取,得到融合图像中的多尺度的头像特征与关键点特征;其后将多尺度的头像特征与关键点特征进行多尺度特征融合,使用解码器对融合后的特征进行解码,得到单张融合图像中头像的第二抠图,以及所述单张融合图像中头像的第二关键点图像(例如图3所示)。具体的,利用当前模型获取所述第二抠图以及所述第二关键点图像可以参考图6所示的步骤。

步骤S303,利用第一损失函数计算所述单张融合图像对应的第一抠图与第二抠图之间的第一损失值,利用第二损失函数计算所述单张融合图像对应的第一关键点图像与第二关键点图像之间的第二损失值。

在本申请的一些实施例中,所述第一损失函数可以包括但不限于L1范数损失函数,所述第二损失函数可以包括但不限于交叉熵损失函数。所述第一损失值和/或所述第二损失值越大,表明所述当前模型的模型性能越低。

步骤S304,基于所述第一损失值与所述第二损失值确定所述当前模型是否满足所述预设要求,当基于所述第一损失值与所述第二损失值确定所述当前模型不满足所述预设要求时,执行步骤S305;当基于所述第一损失值与所述第二损失值确定所述当前模型满足所述预设要求时,执行步骤S306。

在本申请的一些实施例中,所述预设要求包括所述第一损失值与所述第二损失值都小于或等于预设的损失阈值(例如0.1)。

步骤S305,使用所述训练集中的下一张融合图像对所述当前模型进行下一次更新。

在本申请的一些实施例中,使用下一张融合图像执行步骤S301。其中,可以根据上一次更新后的模型的性能调整模型的参数,例如,模型中卷积层的数量、卷积核的尺寸、损失函数中的参数、激活函数等。

步骤S306,得到满足所述预设要求的目标抠图模型。

在本申请的一些实施例中,例如图6所示,利用所述当前模型获取所述第二抠图以及所述第二关键点图像,包括如下步骤:

步骤S401,利用编码器提取所述融合图像的多尺度的图像特征。

在本申请的一些实施例中,所述编码器包括特征提取模块,所述特征提取模块用于提取所述融合图像中的关键点信息,所述特征提取模块包括多个卷积层以及基于预设的激活函数(例如Relu函数)的激活层。所述特征提取模块的输入为三通道图像,例如,所述第一关键点图像中的三个单通道图像融合后得到的三通道图像,所述三通道图像中包含人物头像的脸部的所有关键点的信息(例如关键点的类别以及位置)。所述特征提取模块的输出为单通道的关键点特征图像,所述关键点特征图像中包含人物头像的脸部的所有关键点的信息,所述关键点特征图像属于所述图像特征。

在本申请的一些实施例中,所述编码器还包括:用于提取所述融合图像中的头像区域的多尺度的图像特征的多个尺度的卷积层,其中,所述图像特征可以包括但不限于所述头像区域的边缘特征、纹理特征、颜色特征等。

步骤S402,利用所述注意力机制对所述多尺度的图像特征进行融合,得到融合特征。

在本申请的一些实施例中,注意力机制可以通过动态调整不同图像特征的权重,使得模型能够更加关注对当前任务更重要或更相关的特征部分,例如头像脸部边缘轮廓特征等。具体的,注意力机制可以帮助模型选择性地聚焦于输入图像中的某些区域(例如头像脸部边缘轮廓)或特定的特征通道(例如关键点特征图像所在的单通道),并将其与其他特征进行多尺度特征融合(例如图3所示);注意力机制还可以对融合图像中不同位置的特征进行加权融合,从而捕捉到不同位置之间的空间关系,提供更丰富的上下文信息,提高模型的鲁棒性和泛化能力。

在本申请的一些实施例中,所述融合特征中包括所述融合图像中的头像特征以及人脸的关键点特征。

步骤S403,利用所述第一解码器对所述融合特征进行解码,得到所述第二抠图。

在本申请的一些实施例中,所述第一解码器用于对编码器获得融合特征进行解码,并重建出对应的抠图图像作为所述第二抠图(例如图3所示)。其中,由于融合特征中包括人脸的关键点信息,因此解码器在解码时也可以根据脸部轮廓关键点等关键点的位置,确定要重建出的抠图图像中人脸的外边缘轮廓。

步骤S404,利用所述第二解码器对所述融合特征进行解码,得到所述第二关键点图像。

在本申请的一些实施例中,所述第二解码器用于对编码器获得融合特征进行解码,并重建出对应的关键点图像作为所述第二关键点图像(例如图3所示)。其中,由于模型应用于头像抠图,在模型应用中可以不用获取头像的关键点图像,此处设立第二解码器可以用于在后续模型验证过程中验证模型的第一解码器在重建抠图是否使用了准确的关键点先验信息。因此,第二解码器的验证结果可以用于验证第一解码器的性能,从而可以提高整个抠图模型的抠图的精准度。

在本申请的一些实施例中,在使用训练集中的数据确定当前模型符合所述预设要求后,为了提高模型的泛化能力,还可以使用测试集对当前模型进行模型验证。具体的,例如图7所示,使用测试集对当前模型进行模型验证,包括如下步骤:

步骤S501,当所述第一损失值和所述第二损失值都小于或等于预设损失阈值时,使用所述测试集对当前模型进行模型验证得到模型验证结果。

步骤S502,根据所述模型验证结果确定所述当前模型是否满足所述预设要求,当所述模型验证结果指示所述当前模型不满足所述预设要求时,执行步骤S503;或者,当所述模型验证结果指示所述当前模型满足所述预设要求时,执行步骤S504。

步骤S503;使用所述训练集中的下一张融合图像对所述当前模型进行下一次更新。

步骤S504,停止更新,并将所述当前模型作为所述目标抠图模型。

在本申请的一些实施例中,使用所述测试集对当前模型进行模型验证得到模型验证结果时,与使用训练集对模型进行每次更新时的步骤一样,具体的,例如图8所示,使用所述测试集对当前模型进行模型验证,包括如下步骤:

步骤S601,将所述测试集中的任一融合图像输入所述当前模型。

步骤S602,利用所述当前模型获取所述任一融合图像中头像的第三抠图以及所述任一融合图像中头像的第三关键点图像。

步骤S603,利用所述第一损失函数计算所述任一融合图像对应的第一抠图与第三抠图之间的第三损失值,利用第二损失函数计算所述任一融合图像对应的第一关键点图像与第三关键点图像之间的第四损失值;

步骤S604,确定所述第三损失值或所述第四损失值是否大于所述损失阈值,当所述第三损失值或所述第四损失值大于所述损失阈值时,执行步骤S605;或者,当所述第三损失值和所述第四损失值都小于或等于所述损失阈值时,执行步骤S606。

步骤S605,确定所述模型验证结果不满足所述预设要求。

步骤S606,确定所述模型验证结果满足所述预设要求。

本申请实施例提供的商品类目模型训练方法,可以将头像中的人脸关键点信息作为先验信息训练抠图模型,使得抠图模型能够学习根据关键点信息的位置确定人脸与头发的完整的外轮廓,从而提高模型的性能。此外,使用关键点信息作为先验信息训练模型,还可以降低训练模型时的训练成本,提高模型的训练效率。

在本申请的一些实施例中,上述实施例详细介绍了头像抠图模型的训练过程,接下来对使用头像抠图模型进行头像抠图的应用方法进行介绍。例如图9所示,头像抠图模型的应用方法包括如下步骤:

步骤S701,将待抠图图像输入目标抠图模型,使用所述目标抠图模型对所述待抠图图像进行特征提取,得到所述待抠图图像的关键点图像与初始抠图图像。

在本申请的一些实施例中,参考模型的训练方法,目标抠图模型的编码器可以用于获取所述待抠图图像的多尺度的图像特征,其中包括关键点特征与头像特征;目标抠图模型的第一编码器可以基于关键点特征对头像特征进行解码与重建,获得待抠图图像的初始抠图图像;目标抠图模型的第二编码器可以对关键点特征进行解码获得待抠图图像的关键点图像。

步骤S702,确定所述关键点图像中的关键点的外包围图形,以及所述待抠图图像中与所述外包围图形对应的区域图像。

在本申请的一些实施例中,可以通过连接任一种类所包含的关键点,得到关键点之间的连线图形,根据该连线图形确定关键点的外包围图形,例如所述外包围图形可以是将所述连线图形向外等比例放大预设比例得到的不规则图形。所述外包围图形的形状可以与所述连线图形的形状一致,所述外包围图形能够将对应种类的关键点包含在内,并且不同的外包围图形之间不相交。例如,将眼睛关键点进行连接,得到眼睛形状的连线图形,将眼睛形状的连线图形等比例放大1.5倍得到眼睛形状的外包围图形,并且左眼对应的外包围图形与右眼对应的外包围图形之间不相交。

在本申请的一些实施例中,所述外包围图形对应的区域图像即所述外包围图形所包围在内的区域的图像,由于外包围图形能够将对应种类的关键点包含在内,因此外包围图形对应的区域图像能够将人脸的关键点对应的部位包含在内,例如鼻子关键点的外包围图形对应的区域图像包含人脸的鼻子。并且,不同区域图像之间不相交。

步骤S703,将所述区域图像与所述初始抠图图像进行图像合并,得到合并图像。

在本申请的一些实施例中,所述图像合并可以是覆盖更新,即使用所述区域图像内的像素点的像素值更新所述初始抠图图像中对应位置的像素点的像素值,使得所述合并图像中所述区域图像对应的位置内为所述区域图像。

步骤S704,确定所述合并图像中的闭合区间,并确定所述闭合区间的高度与宽度的比值,根据所述比值对所述闭合区间的边缘进行裁剪,得到目标抠图图像。

在本申请的一些实施例中,由于所述外包围图形可能设置的较大,外包围图形对应的区域图像与初始抠图图像进行合并后,合并图像中可能会包含除了头像区域之外的区域。例如头发边缘的关键点对应的区域图像可能会包含头发与肩膀的交界区域。

在本申请的一些实施例中,为了剔除合并图像中除了头像区域之外的区域,可以确定所述合并图像中的闭合区间,所述合并区间表示所述合并图像的最大的外轮廓内的区域。可以通过确定所述闭合区间的高度与宽度的比值,根据所述比值对所述闭合区间的边缘进行裁剪,将合并图像中除了头像区域之外的区域进行剔除,从而提高抠图图像的精准度。其中,可以根据实际需要,在获得闭合区间的高度与宽度的比值后进行适当的调整,从而在将合并图像中除了头像区域之外的区域进行剔除的同时,避免头像区域的图像被误裁剪。

本申请实施例提供的头像抠图方法,能够有效提升头像抠图的效果与精准度。

请参阅图10,为本申请实施例提供的一种头像抠图模型训练装置的原理框图,适应本申请的目的之一而提供一种头像抠图模型训练装置,是对本申请的头像抠图模型训练方法的功能化体现,该头像抠图模型训练装置包括:构建模块91,用于获取头像图像数据集,将所述头像图像数据集划分为训练集与测试集;迭代更新模块92,用于基于所述训练集对预先构建的模型进行至少一次的迭代更新,直至得到满足预设要求的目标抠图模型。

本申请的另一实施例还提供一种电子设备。图1的应用环境仅是给出了一种示例,在另外一些示例性的实施例中,实现本申请实施例的头像抠图模型训练或应用方法的计算机程序产品也可以运行于任意具备足够算力的电子设备(如图11所示的电子设备)中,执行所述头像抠图模型训练或应用方法的各个步骤,从而提供头像抠图模型训练或应用的功能。

请参阅图11,为本申请实施例提供的一种电子设备的结构示意图。如图11所示,在本申请的一个实施例中,电子设备800可以为手机、平板电脑、智能穿戴设备、增强现实(Augmented Reality,AR)/虚拟现实(Virtual Reality,VR)设备、笔记本电脑、上网本等设备上,本申请实施例对电子设备800的具体类型不作任何限制。

如图11所示,该电子设备800可以包括,但不限于,可以包括通信模块81、存储器82、处理器83、输入/输出(Input/Output,I/O)接口84及总线85。处理器83通过总线85分别耦合于通信模块81、存储器82、I/O接口84。

本领域技术人员可以理解,示意图仅仅是电子设备800的示例,并不构成对电子设备800的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备800还可以包括网络接入设备等。

通信模块81可以包括有线通信模块和/或无线通信模块。有线通信模块可以提供通用串行总线(Universal Serial Bus,USB)、控制器局域网总线(CAN,Controller AreaNetwork)等有线通信的解决方案中的一种或多种。无线通信模块可以提供无线保真(Wireless Fidelity,Wi-Fi)、蓝牙(Bluetooth,BT)、移动通信网络、调频(FrequencyModulation,FM)、近距离无线通信技术(near field communication,NFC)、红外技术(Infrared,IR)技术等无线通信的解决方案中的一种或多种。

存储器82可用于存储计算机可读指令和/或模块,处理器83通过运行或执行存储在存储器82内的计算机可读指令和/或模块,以及调用存储在存储器82内的数据,实现电子设备800的各种功能。存储器82可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备800的使用所创建的数据等。存储器82可以包括非易失性和易失性存储器,例如:硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他存储器件。

存储器82可以是电子设备800的外部存储器和/或内部存储器。进一步地,存储器82可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)等等。

处理器83可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器83是电子设备800的运算核心和控制中心,利用各种接口和线路连接整个电子设备800的各个部分,及执行电子设备800的操作系统以及安装的各类应用程序、程序代码等。

示例性的,计算机可读指令可以被分割成一个或多个模块/子模块/单元,一个或者多个模块/子模块/单元被存储在存储器82中,并由处理器83执行,以完成本申请。一个或多个模块/子模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该计算机可读指令段用于描述计算机可读指令在电子设备800中的执行过程。例如,计算机可读指令可以被分割为构建模块91、迭代更新模块92。

电子设备800集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。

其中,计算机可读指令包括计算机可读指令代码,计算机可读指令代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机可读指令代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)。

结合图2至图9,电子设备800中的存储器82存储计算机可读指令,处理器83可执行存储器82中存储的计算机可读指令从而实现如图2至图9所示的头像抠图模型训练或应用方法。

具体地,处理器83对上述计算机可读指令的具体实现方法可参考图2至图9对应实施例中相关步骤的描述,在此不赘述。

I/O接口84用于提供用户输入或输出的通道,例如I/O接口84可用于连接各种输入输出设备,例如,鼠标、键盘、触控装置、显示屏等,使得用户可以录入信息,或者使信息可视化。

总线85至少用于提供电子设备800中的通信模块81、存储器82、处理器83、I/O接口84之间相互通信的通道。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

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

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

因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。

此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。

技术分类

06120116526184