图像处理方法、装置、电子设备及存储介质与流程

文档序号:23807853发布日期:2021-02-03 12:07阅读:43来源:国知局
图像处理方法、装置、电子设备及存储介质与流程

[0001]
本申请涉及图像处理技术领域,更具体地,涉及一种图像处理方法、装置、电子设备及存储介质。


背景技术:

[0002]
人像分割是一种将图像中的人像从背景中分离出来的技术,在电子设备的人像背景虚化、人像留色以及背景替换等诸多领域都有着广泛的应用。然而,电子设备在进行人像分割时,人像分割结果的准确性和精细化程度影响着用户的体验。


技术实现要素:

[0003]
鉴于上述问题,本申请提出了一种图像处理方法、装置、电子设备及存储介质。
[0004]
第一方面,本申请实施例提供了一种图像处理方法,所述方法包括:获取待处理的人像图像,其中,所述人像图像中的人像区域包括身体区域以及头发区域;将所述人像图像输入至预先训练的人像分割模型,获得所述人像分割模型输出的透明度通道分割图像以及二值掩模图像,其中,所述透明度通道分割图像中头发区域的透明度值与除所述头发区域以外的其他区域的透明度值不同,所述二值掩模图像中身体区域的像素值与除所述身体区域以外的其他区域的像素值不同;将所述透明度通道分割图像与所述二值掩模图像进行合成,获得所述人像图像的人像分割图像。
[0005]
第二方面,本申请实施例提供了一种图像处理装置,所述装置包括:图像获取模块、图像输入模块以及图像合成模块,其中,所述图像获取模块用于获取待处理的人像图像,其中,所述人像图像中的人像区域包括身体区域以及头发区域;所述图像输入模块用于将所述人像图像输入至预先训练的人像分割模型,获得所述人像分割模型输出的透明度通道分割图像以及二值掩模图像,其中,所述透明度通道分割图像中头发区域的透明度值与除所述头发区域以外的其他区域的透明度值不同,所述二值掩模图像中身体区域的像素值与除所述身体区域以外的其他区域的像素值不同;所述图像合成模块用于将所述透明度通道分割图像与所述二值掩模图像进行合成,获得所述人像图像的人像分割图像。
[0006]
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面提供的图像处理方法。
[0007]
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的图像处理方法。
[0008]
本申请提供的方案,通过获取待处理的人像图像,人像图像中的人像区域包括身体区域以及头发区域,将待处理的人像图像输入至预先训练的人像分割模型,获得人像分割模型输出的透明度通道分割图像以及二值掩膜图像,该透明度通道分割图像中的头发区
域的透明度值与除头发区域以外的其他区域的透明度值不同,该二值掩膜图像中身体区域的像素值与除身体区域以外的其他区域的像素值不同,然后将透明度通道图像与二值掩膜图像进行合成,获得人像图像的人像分割图像。实现在对人像图像进行人像分割时,对头发区域进行分割获得透明度通道分割图像,而身体区域采用二值分割获得二值掩膜图像,再合成获得人像分割图像,从而提升人像分割图像中头发区域的准确性,进而提升人像分割结果的准确性。
附图说明
[0009]
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0010]
图1示出了根据本申请一个实施例的图像处理方法流程图。
[0011]
图2示出了根据本申请另一个实施例的图像处理方法流程图。
[0012]
图3示出了本申请实施例提供的人像分割模型的原理示意图。
[0013]
图4示出了本申请实施例提供的人像分割模型中第一编码器的结构示意图。
[0014]
图5示出了根据本申请又一个实施例的图像处理方法流程图。
[0015]
图6示出了本申请实施例提供的人像分割模型的训练过程的示意图。
[0016]
图7示出了根据本申请一个实施例的图像处理装置的一种框图。
[0017]
图8是本申请实施例的用于执行根据本申请实施例的图像处理方法的电子设备的框图。
[0018]
图9是本申请实施例的用于保存或者携带实现根据本申请实施例的图像处理方法的程序代码的存储单元。
具体实施方式
[0019]
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0020]
抠图是计算视觉领域一个基础的课题,而人像抠图是其中一个相当重要的应用。在当下各种电子设备中,都需要高精度的人像抠图技术,在人像虚化、背景替换等方面有着广泛的应用。随着深度学习的发展,目前通常使用卷积神经网络来处理人像抠图任务。在人像抠图任务中,主要是将人像作为前景,对图片中前景后景进行分割,计算得到透明度通道图即阿尔法(alpha)通道图,也就是对人像图像进行分割后,获得三分图。因此其依赖于提供的对人像进行分割后的三分图或者依赖于分割模型产生的三分图,三分图中主要是将前景、背景和不确定区域分别设置的不同的透明度,例如,前景的透明度设置为1,背景区域的透明度设置为0,不确定区域的透明度设置为0-1之间的透明度值,从而使得人像图像被划分为三个区域。
[0021]
发明人经过长时间的研究发现,在传统的人像分割技术中,通常是根据像素值对人像区域进行分割,但是头发区域的发丝较为精细,因此利用像素值进行分割,会影响准确性。虽然有根据透明度进行人像分割的技术,但是其是对整个人体区域按照透明度进行分
割,这就需要在训练模型时,对整个人像区域标注透明度信息,以便训练出可用直接输出透明度通道图像的模型,但是由于需要对整个人像区域标注透明度信息,这也带来了巨大的工作量。
[0022]
针对上述问题,发明人提出了本申请实施例提供的图像处理方法、装置、电子设备以及存储介质,可以实现在对人像图像进行人像分割时,根据透明度通道对头发区域进行分割,而身体区域采用像素值进行二值分割,提升人像分割图像中头发区域的准确性,进而提升人像分割结果的准确性,并且采用的人像分割模型无需使用对整个人像区域进行透明度信息的标注,减少了工作量。其中,具体的图像处理方法在后续的实施例中进行详细的说明。
[0023]
请参阅图1,图1示出了本申请一个实施例提供的图像处理方法的流程示意图。在具体的实施例中,所述图像处理方法应用于如图7所示的图像处理装置400以及配置有所述图像处理装置400的电子设备100(图8)。下面将以电子设备为例,说明本实施例的具体流程,当然,可以理解的,本实施例所应用的电子设备可以为智能手机、平板电脑、智能手表、笔记本电脑等,在此不做限定。下面将针对图1所示的流程进行详细的阐述,所述图像处理方法具体可以包括以下步骤:
[0024]
步骤s110:获取待处理的人像图像,其中,所述人像图像中的人像区域包括身体区域以及头发区域。
[0025]
在本申请实施例中,电子设备可以获取待进行人像分割的人像图像。其中,人像图像为包含有人像区域的图像,人像区域可以由身体区域以及头发区域构成等,在此不做限定。
[0026]
作为一种实施方式,电子设备为智能手机、平板电脑、智能手表等设置有摄像头的移动终端时,可以通过前置摄像头或者后置摄像头对人物进行图像采集,从而获得人像图像,例如,电子设备可以通过后置摄像头采集人物图像,并将获得的图像作为待处理的人像图像。
[0027]
作为又一种实施方式,电子设备可以从本地获取待处理的人像图像,也就是说,电子设备可以从本地存储的文件中获取待处理的人像图像,例如,电子设备为移动终端时,可以从相册获取待处理的人像图像,即电子设备预先通过摄像头采集人像图像后存储在本地相册,或者预先从网络下载人像图像后存储在本地相册等,然后在需要对人像图像进行人像分割时,从相册中读取待处理的人像图像。
[0028]
作为再一种方式,电子设备为移动终端或者电脑时,也可以从网络下载待处理的人像图像,例如,电子设备可以通过无线网络、数据网络等从相应的服务器下载需求的人像图像。
[0029]
作为还一种实施方式,电子设备也可以通过用户在其他设备的输入操作,对输入的待处理的人像图像进行接收,从而获得待处理的人像图像。当然,电子设备具体获取待处理的人像图像的方式可以不作为限定。
[0030]
步骤s120:将所述人像图像输入至预先训练的人像分割模型,获得所述人像分割模型输出的透明度通道分割图像以及二值掩模图像。
[0031]
在本申请实施例中,电子设备在获取到待处理的人像图像之后,可以将人像图像输入至预先训练的人像分割模型中,以得到人像分割模型输出的透明度通道分割图像以及
二值掩膜图像。其中,透明度通道分割图像是根据图像的透明度通道信息,对头发区域进行分割后获得的透明度通道图像,在透明度通道分割图像中,分割出的头发区域的透明度值与图像中其他区域的透明度值不同,从而可以从透明度通道分割图像中区分出头发区域,例如,头发区域的透明度值可以为1,而其他区域的透明度值可以为0,又例如,头发区域的透明度值可以为0,而其他区域的透明度值可以为1;二值掩膜图像是指根据图像的像素值,对身体区域进行分割后获得的二值图像,二值掩膜图像中,身体区域的像素值与其他区域的像素值不同,从而可以区分出二值掩膜图像中的身体区域,例如,身体区域的像素值可以为255,而其他区域的像素值可以为0,又例如,身体区域的像素值可以为0,而其他区域的像素值可以为255,在此不做限定。以上身体区域可以理解为人像区域中除了头发以外的区域,可以由人脸区域和躯干区域(例如脖子、手臂、胸膛等)构成。
[0032]
在一些实施方式中,电子设备可以在检测到对人像图像的处理指令时,将人像图像输入至预先训练的人像分割模型。示例性的,电子设备可以展示用于进行图像处理的界面,在检测到进行背景替换的操作时,由于背景替换需要分割出人像图像,因此可以将待处理的人像图像输入到预先训练的人像分割模型,以对人像进行分割。当然,以上应用场景仅为举例,并不代表对本申请实施例提供的图像处理方法实际的应用场景的限定。
[0033]
步骤s130:将所述透明度通道分割图像与所述二值掩模图像进行合成,获得所述人像图像的人像分割图像。
[0034]
在本申请实施例中,电子设备在获取到人像分割模型输出的透明度通道分割图像以及二值掩膜图像之后,由于透明度通道分割图像中包含分割出的头发区域,而二值掩膜图像中包含分割出的身体区域,因此可以将透明度通道分割图像与二值掩膜图像进行合成,从而获得分割出整个人像区域的人像分割图像。
[0035]
在一些实施方式中,电子设备将所述透明度通道分割图像与所述二值掩模图像进行合成,获得所述人像图像的人像分割图像,可以包括:
[0036]
根据所述透明度通道分割图像获取头发区域的区域图像;将所述区域图像合成于所述二值掩膜图像的对应区域。
[0037]
在该实施方式中,电子设备可以根据透明度通道分割图像中头发区域与其他区域的透明度值的不同,从透明度通道分割图像中分离出头发区域的区域图像。由于二值掩膜图像中未分割出头发区域,因此可以根据头发区域在透明度通道分割图像中的像素坐标,将二值掩膜图像中相应像素坐标处的像素点进行替换,完成将头发区域与二值掩膜图像中分割出的身体区域的合成。在完成合成之后,还可以对整个图像添加透明度通道,并将身体区域的透明度值设置为与头发区域的透明度值相同,而其他区域可以设置为与身体区域和头发区域不同的透明度值,例如,头发区域以及身体区域的透明度值可以为1,其他区域的透明度值可以为0。
[0038]
在一些方式中,电子设备还可以根据获得的人像分割图像,对人像分割图像中以上分割出的身体区域和头发区域进行像素值设定,当透明度通道分割图像中头发区域的像素值与身体区域的像素值不同时,可以将人像分割图像中头发区域的像素值设置为与身体区域相同,并且由于原本的二值掩膜图像中,身体区域与其他区域的像素值不同,因此处理后的人像分割图像中,整个人像区域的像素值相同,并且可以与其他区域区分。电子设备可以将处理后的人像分割图像进行显示,以便用户可以观察人像分割图像的分割效果。
[0039]
本申请实施例提供的图像处理方法,实现在对人像图像进行人像分割时,利用人像分割模型对头发区域进行分割获得透明度通道分割图像,而身体区域采用二值分割获得二值掩膜图像,再合成获得人像分割图像,由于人像区域的头发区域利用透明度信息进行分割,从而提升人像分割图像中头发区域的准确性,进而提升人像分割结果的准确性。另外,人像分割模型不是将整个人像区域以透明度信息进行分割,从而无需在训练人像冯模型时,对训练样本图像的整个人像区域以透明度信息进行标注,减少了用户的工作量。
[0040]
请参阅图2,图2示出了本申请另一个实施例提供的图像处理方法的流程示意图。该图像处理方法应用于上述电子设备,下面将针对图2所示的流程进行详细的阐述,所述图像处理方法具体可以包括以下步骤:
[0041]
步骤s210:获取待处理的人像图像,其中,所述人像图像中的人像区域包括身体区域以及头发区域。
[0042]
步骤s220:对所述人像图像进行预处理。
[0043]
在一些实施方式中,电子设备在将待处理的人像图像输入至预先训练的人像分割模型之前,还可以对人像图像进行预处理,以满足人像分割模型度输入图像的要求。可以理解的,该人像分割模型对于输入的图像的属性可能会有一些要求,输入的图像应当符合这些要求,人像分割模型才能够正确处理。然而,有时直接获得的人像图像并不能满足这些要求,因此需要对获得的人像图像进行预处理。
[0044]
在一种情况下,电子设备对人像图像进行预处理,可以包括:
[0045]
将所述人像图像的尺寸调整为预设尺寸,其中,所述预设尺寸为所述人像分割模型所需的输入图像的尺寸。
[0046]
可以理解地,人像分割模型要求输入图像的尺寸为预设尺寸,例如128x128,如果原始图像不是预设尺寸,应当将其调整为预设尺寸,以便人像分割模型能够正确处理。
[0047]
在一种情况下,人像分割模型要求输入图像的像素值应当归一化,例如,像素值应当为[0,1]之间的实数,如果尺寸调整后的图像的像素值未归一化,应当将其归一化,例如,尺寸调整后的图像的像素值表示为[0,255]之间的整数,可以通过除以255的方式进行归一化,以便人像分割模型能够正确处理。可以理解的,归一化可以有不同的定义,例如在另一种归一化的定义中,像素值应当为[-1,1]之间的实数,针对不同的归一化定义,归一化的方式应当相应地调整。
[0048]
在一种情况下,电子设备对所述人像图像进行预处理,可以包括:将所述人像图像的像素值减去平均像素值,以及除以像素值方差。可以理解地,为对人像图像进行标准化,可以对人像图像的各个像素点的像素值减去该人像图像的像素点的平均像素值。另外,还可以计算像素点的像素值的方差,得到像素值方差,将各个像素点的像素值减去该人像图像的像素点的平均像素值之后,还可以将各个像素点的像素值除以该像素值方差。
[0049]
步骤s230:将所述人像图像输入至预先训练的人像分割模型,获得所述人像分割模型输出的透明度通道分割图像以及二值掩模图像。
[0050]
在本申请实施例中,请参阅图3,人像分割模型10可以包括:第一编码器11、第二编码器12、特征融合模块13、第一解码器14以及第二解码器15。第一编码器11以及第二编码器12的输入端用于输入图像,第一编码器11以及第二编码器12的输出端与特征融合模块13的输入端连接,特征融合模块13与第一解码器14以及第二解码器15的输入端连接。其中,所述
第一编码器11用于提取所述人像图像的头部特征图;所述第二编码器12用于提取所述人像图像的原图特征图;所述特征融合模块13用于将所述头部特征图与所述原图特征图进行特征融合,获得融合特征图作为所述人像图像的特征图;所述第一解码器14用于根据所述人像图像的特征图,生成透明度通道分割图像,并输出透明度通道分割图像;所述第二解码器15用于根据所述人像图像的特征图,生成所述二值掩模图像,并输出二值掩模图像。其中,头部特征图为提取的人像图像的头部区域的图像特征;原图特征为对整个人像图像提取的图像特征。
[0051]
在一些实施方式中,请参阅图3,电子设备在将人像图像输入至人像分割模型时,可以利用预先训练的头部检测模型,获取人像图像中的头部区域,头部区域由头发区域以及人脸区域构成;然后,将头部区域输入至人像分割模型中的第一编码器,将人像图像输入至第二编码器。
[0052]
在一些实施方式中,请参阅图4,第一编码器11可以包括:第一卷积模块111、第二卷积模块112、第三卷积模块113、第四卷积模块114以及第五卷积模块115。其中,第一卷积模块111包括依次连接的一个第一卷积层和一个第二卷积层;第二卷积模块112包括依次连接的一个第一卷积层和两个第二卷积层;第三卷积模块113包括依次连接的一个第一卷积层和三个第二卷积层;第四卷积模块114包括依次连接的一个第一卷积层和三个第二卷积层;第五卷积模块115包括依次连接的一个第一卷积层和四个第二卷积层。第一卷积层由步长为2的卷积层、正则化层和relu激活函数层构成,第二卷积层由步长为1的卷积层、正则化层和relu激活函数层构成。
[0053]
在第一卷积模块111、第二卷积模块112、第三卷积模块113以及第四卷积模块114中,其第一卷积层用于进行升维,即提升输入的特征图的通道数量。例如,在第一卷积模块111中,经过其第一卷积层后,特征图的通道数由3变为64,在第二卷积模块112中,经过其第一卷积层后,特征图的通道数由64变为128,在第三卷积模块113中,经过其第一卷积层后,特征图的通道数由128变为256,在第四卷积模块114中,经过其第一卷积层后,特征图的通道数由256变为512。第五卷积模块115的第一卷积层可以是针对每个通道独立地进行卷积运算,其针对输入的特征图的通道数不发生改变。
[0054]
以上每个卷积模块的第二卷积层针对每个通道独立地进行卷积运算,其针对输入的特征图的通道数不发生改变。为提高运算速度,在一些实现方式中,第二卷积层的卷积步进可以设置为大于1的整数,在另一些实现方式中,为获得较大的感受野,第二卷积层可以采用带洞卷积,其扩张率为大于1的整数(扩张率为1可以认为就是普通卷积)。
[0055]
在一些实施方式中,第二编码器12可以包括:第六卷积模块以及第七卷积模块。其中,第六卷积模块可以包括1个上述的第一卷积层以及与第一卷积层连接的2个上述的第二卷积层;第七卷积模块可以包括1个上述的第一卷积层以及与第一卷积层连接的3个上述的第二卷积层。其中,在第六卷积模块以及第七卷积模块中,第一卷积层同样用于进行升维,即提升输入的特征图的通道数量;第二卷积层针对每个通道独立地进行卷积运算,其针对输入的特征图的通道数不发生改变。
[0056]
在一些实施方式中,特征融合模块13可以包括:双线性插值上采样层以及多个卷积层。其中,双线性插值上采样层用于将头部特征图的尺寸调整至原图特征图的尺寸;多个卷积层用于将经过调整尺寸后的头部特征图与原图特征图根据通道维度进行拼接,获得拼
接后的特征图,以及降低所述拼接后的特征图的通道数,获得融合特征图。
[0057]
在一些实施方式中,第一解码器14包括依次连接的第一双线性插值上采样层、第三卷积层、第二双线性插值上采样层、第四卷积层、第三双线性插值上采样层、第五卷积层以及第一分类层。其中,第一双线性插值上采样层以及第二双线性插值上采样层为2倍上采样层,第三卷积层、第四卷积层以及第五卷积层由步长为1的卷积层、正则化层以及relu激活函数构成。第一双线性插值上采样层、第二双线性插值上采样层以及第三双线性插值上采样层用于对编码器输出的特征图进行放大,例如放大为和待处理图像相同的尺寸,以便生成尺寸合适的分割图像。第一分类层用于根据特征图中各个像素点的透明度值,对各个像素进行二分类,第一分类层可以通过sigmoid激活函数实现。在该方式中,特征图经过第一解码器14的各层后,通道数减少,并最终输出单通道的透明度通道分割图像(即灰度图像)。透明度通道分割图像中,头发区域的灰度值与其他区域的灰度值不同。
[0058]
在一些实施方式中,第二解码器15包括依次连接的第四双线性插值上采样层、第六卷积层、第七卷积层、第五双线性插值上采样层、第八卷积层、第六双线性插值上采样层、第九卷积层、第十卷积层、第七双线性插值上采样层以及第二分类层。其中,第四双线性插值上采样层、第五双线性插值上采样层以及第六双线性插值上采样层为2倍上采样层,第六卷积层、第七卷积层、第八卷积层、第九卷积层以及第十卷积层由步长为1的卷积层、正则化层以及relu激活函数构成。第四双线性插值上采样层、第五双线性插值上采样层、第六双线性插值上采样层以及第七双线性插值上采样层用于对编码器输出的特征图进行放大,例如放大为和待处理图像相同的尺寸,以便生成尺寸合适的分割图像。第二分类层用于根据特征图的各个像素点的像素值,对各个像素点进行二分类,第二分类层可以通过softmax激活函数实现。在该方式中,特征图经过第二解码器15的各层后,通道数减少,并最终输出双通道的透明度通道分割图像。
[0059]
在以上方式中,第一编码器11可以输出128通道数的头部特征图,第二编码器12可以输出512通道数的原图特征图。特征融合模块13将头部特征图先通过双线性插值缩放到和原图特征图一样的尺寸,然后再与原图特征图在通道维度上进行拼接,变成一个通道数为640的特征图,特征融合模块13末尾输出一个256通道数的融合特征图。第一解码器14中的末尾采用双线性插值上采样,将特征图尺寸缩放到和头部区域(即头部区域的原图)同样的尺寸,最后输出时,将头部特征图经过sigmoid激活函数处理得到透明度通道分割图。第二解码器15的末尾双线性插值将特征图尺寸缩放到原图大小,然后进行softmax激活函数处理,最后输出二值掩膜图像。
[0060]
步骤s240:将所述透明度通道分割图像与所述二值掩模图像进行合成,获得所述人像图像的人像分割图像。
[0061]
在本申请实施例中,由于是将提取的头部区域以及人像图像输入至人像分割模型,且人像分割模型的第二解码器输出的二值掩膜图像为双通道的图像,因此可以将二值掩膜图像变为单通道的图像(即灰度图像),然后根据头部区域在人像图像中的像素坐标,确定头部区域对应的透明度通道分割图像中分割出的头发区域在人像图像中的像素坐标,再将分割出的头发区域对二值掩膜图像中的相应像素坐标的像素进行替换,从而得到合成后的图像,即将分割出头发区域与分割出的身体区域进行合成的图像,获得人像图像的人像分割图像。
[0062]
在一些实施方式中,电子设备在获得人像图像的人像分割图像之后,还可以根据人像分割图像,将人像图像的背景替换成指定背景。其中,电子设备可以获取指定背景的背景图像,根据人像分割图像从人像图像中取出人像区域,再根据人像区域在人像图像中的像素坐标,将背景图像中的相应像素坐标的像素进行替换,获得背景替换后的图像。当然,电子设备根据人像分割图像对人像图像的背景进行替换的方式并不局限于此。电子设备也可以根据人像分割图像对人像图像进行其他的处理,例如,美颜处理、人像虚化等。
[0063]
本申请实施例提供的图像处理方法,提供了人像分割模型,人像分割模型可以输出分割出头发区域的透明度通道图像,以及分割出身体区域的二值掩膜图像,通过将分割出的头发区域合成于二值掩膜图像,即可获得人像分割图像,无需三分图的输入,避免了三分图的不准确性带来的误差。并且,采用了第一编码器提取头部特征,可以强化头发区域的提取精确度,进一步提升人像分割的准确性。
[0064]
请参阅图5,图5示出了本申请又一个实施例提供的图像处理方法的流程示意图。该图像处理方法应用于上述电子设备,下面将针对图5所示的流程进行详细的阐述,所述图像处理方法具体可以包括以下步骤:
[0065]
步骤s310:获取样本图像集,所述样本图像集中包括多张人像样本图像,每张人像样本图像中包括以透明度通道值标注的头发区域,以及以像素值标注的身体区域。
[0066]
在本申请实施例中,电子设备可以获取多张人像样本图像,以用于人像分割模型的训练。其中,人像样本图像可以来源于包含大量图像的训练集,例如coco dataest数据集,imageclef数据集等,在此不做限定。另外,可以获取对人像样本图像进行标注,每张人像样本图像中包括以透明度通道值标注的头发区域,以及以像素值标注的身体区域。
[0067]
在一些实施方式中,可以将头发区域透明度设置第一透明度,将其他区域的透明度设置为第二透明度;并且将身体区域的像素值、头发区域以及其他区域的像素值设置为不同的像素值,使三个区域可以根据像素值区分,从而根据透明度值的不同可以确定出标注的人像区域,根据像素值的不同可以确定出标注的身体区域以及标注的头发区域。
[0068]
步骤s320:将所述人像样本图像输入至初始模型,获得所述初始模型输出的透明度通道分割图像以及二值掩模图像。
[0069]
步骤s330:根据所述初始模型输出的透明度通道分割图像、二值掩模图像、所述人像样本图像中以透明度通道值标注的头发区域以及以像素值标注的身体区域,计算总损失函数的值。
[0070]
在一些实施方式中,电子设备计算总损失函数的值,可以包括:
[0071]
根据所述初始模型输出的透明度通道分割图像以及所述人像样本图像中以透明度通道值标注的头发区域,计算头发区域的分割损失值作为第一损失函数的值;根据所述初始模型输出的二值掩模图像,以及所述人像样本图像中以像素值标注的身体区域,计算身体区域的分割损失值作为第二损失函数的值;根据将所述初始模型输出的透明度通道分割图像以及二值掩模图像进行合成后获得的人像分割图像,与所述人像样本图像,计算人像分割的分割损失值作为第三损失函数的值;根据所述第一损失函数的值、第二损失函数的值以及第三损失函数的值,确定总损失函数的值。
[0072]
在该实施方式中,电子设备在获取到标注后的人脸样本图像之后,可以根据标注的区域,自动将人像图像中的身体区域设置为与头发区域相同的透明度,从而避免了进行
手动标注身体区域的透明度,在训练模型时,可以获取到头发区域的透明度值,身体区域的像素值以及整个人像区域的透明度值,以计算损失函数的值。请参阅图6,电子设备根据人像样本图像中的标注,可以确定出人像样本图像中以透明度通道值标注的头发区域,根据分割出的头发区域与标注的头部区域之间的差异,即可计算出第一损失函数的值。同理,根据分割出的身体区域与标注的身体区域之间的差异,即可计算出第二损失函数的值;根据合成后的整个人像区域与标注的人像区域,即可计算出第三损失函数的值。
[0073]
在一些方式中,由于标注的人像图像中头发区域以及整个人像区域均以透明度值进行区分,因此第一损失函数的值以及第三损失函数的值可以l2距离的形式计算,具体公式为:
[0074][0075]
其中,表示分割图像(透明度通道分割图像或人像分割图像)中像素点i的透明度值,表示人像样本图像中像素点i的透明度值。
[0076]
电子设备可以使用交叉熵损失计算第二损失函数的值,具体公式为:
[0077][0078]
其中,y
i
表示为二值掩膜图像的像素点x
i
的真实类别标签(0表示背景或者1表示人像),真实类别标签可以根据人像样本图像中标注的身体区域的像素值确定,p
i
表示为二值掩膜图像的像素点x
i
属于类别1的概率。对所有样本的对数损失表示对每个样本的对数损失的平均值。例如,可以根据以下公式计算总损失函数的值:
[0079][0080]
其中,表示总损失函数,表示第一损失函数,表示第二损失函数,表示第三损失函数。
[0081]
在计算总损失函数值时,电子设备可以将第一损失函数的值、第二损失函数的值以及第三损失函数的值进行求和或者按照预设权重进行加权求和,从而得到总损失函数的值。
[0082]
在一些实施方式中,也可以仅计算第一损失函数的值以及第二损失函数的值计算总损失函数的值,从而无需电子设备再对身体区域标注透明度信息。
[0083]
步骤s340:基于所述总损失函数的值对所述初始模型进行迭代更新,获得所述人像分割模型。
[0084]
在本申请实施例中,在获得总损失函数的值之后,则可以根据总损失函数的值对初始模型进行迭代训练,得到最终的人像分割模型。其中,初始模型可以采用前一个实施例中提到的模型结构。
[0085]
在一些实施方式中,可以根据总损失函数,使用adam优化器对初始模型进行迭代训练,直至初始模型的输出结果的损失值收敛,并将此时的模型进行保存,得到训练后的人像分割模型。其中,adam优化器,结合了adagra(adaptive gradient,自适应梯度)和rmsprop两种优化算法的优点,对梯度的一阶矩估计(first moment estimation,即梯度的均值)和二阶矩估计(second moment estimation,即梯度的未中心化的方差)进行综合考虑,计算出更新步长。
[0086]
在一些实施方式中,迭代训练的终止条件可以包括:迭代训练的次数达到目标次数;或者初始模型的输出结果的总损失值满足设定条件。
[0087]
在一种具体实施方式中,收敛条件是让总损失值尽可能小,使用初始学习率1e-3,学习率随步数余弦衰减,batch_size=8,训练16个epoch后,即可认为收敛完成。其中,batch_size可以理解为批处理参数,它的极限值为训练集样本总数,epoch指使用训练集中的全部样本训练的次数,通俗的讲epoch的值就是整个数据集被轮几次,1个epoch等于使用训练集中的全部样本训练1次。
[0088]
在另一种具体实施方式中,总损失值满足设定条件可以包括:总损失值小于设定阈值。当然,具体设定条件可以不作为限定。
[0089]
在一些实施方式中,训练得到的人像分割模型可以存储于电子设备本地,该训练得到的人像分割模型也可以在与电子设备通信连接的服务器,将图像识别模型存储在服务器的方式,可以减少占用电子设备的存储空间,提升电子设备运行效率。
[0090]
在一些实施方式中,人像分割模型还可以周期性的或者不定期的获取新的训练数据,对该人像分割模型进行训练和更新。例如,在存在人像图像被误分割时,则可以将该人像图像作为样本图像,对样本图像进行标注后,通过以上训练方式,再进行训练,从而可以提升人像分割模型的准确性。
[0091]
步骤s350:获取待处理的人像图像,其中,所述人像图像中的人像区域包括身体区域以及头发区域。
[0092]
步骤s360:将所述人像图像输入至预先训练的人像分割模型,获得所述人像分割模型输出的透明度通道分割图像以及二值掩模图像。
[0093]
其中,所述透明度通道分割图像中头发区域的透明度值与除所述头发区域以外的其他区域的透明度值不同,所述二值掩模图像中身体区域的像素值与除所述身体区域以外的其他区域的像素值不同。
[0094]
步骤s370:将所述透明度通道分割图像与所述二值掩模图像进行合成,获得所述人像图像的人像分割图像。
[0095]
本申请实施例提供的图像处理方法,提供了人像分割模型的训练方法,仅需要对头发区域标注透明度通道,而身体区域可以采用二值分割方式的标注信息进行标注,极大的减少了训练模型时的工作量。
[0096]
请参阅图7,其示出了本申请实施例提供的一种图像处理装置400的结构框图。该图像处理装置400应用上述的电子设备,该图像处理装置400包括:图像获取模块410、图像输入模块420以及图像合成模块430。其中,所述图像获取模块410用于获取待处理的人像图像,其中,所述人像图像中的人像区域包括身体区域以及头发区域;所述图像输入模块420用于将所述人像图像输入至预先训练的人像分割模型,获得所述人像分割模型输出的透明
度通道分割图像以及二值掩模图像,其中,所述透明度通道分割图像中头发区域的透明度值与除所述头发区域以外的其他区域的透明度值不同,所述二值掩模图像中身体区域的像素值与除所述身体区域以外的其他区域的像素值不同;所述图像合成模块430用于将所述透明度通道分割图像与所述二值掩模图像进行合成,获得所述人像图像的人像分割图像。
[0097]
在一些实施方式中,所述人像分割模型包括第一编码器、第二编码器、特征融合模块、第一解码器以及第二解码器。其中,所述第一编码器用于提取所述人像图像中头部区域的头部特征图,所述头部区域由头发区域以及人脸区域构成;所述第二编码器用于提取所述人像图像的原图特征图;所述特征融合模块用于将所述头部特征图与所述原图特征图进行特征融合,获得融合特征图作为所述人像图像的特征图;所述第一解码器用于根据所述人像图像的特征图,生成所述透明度通道分割图像;所述第二解码器用于根据所述人像图像的特征图,生成所述二值掩模图像。
[0098]
在该实施方式中,该图像处理装置400还可以包括:头部检测模块。所述头部检测模块用于在所述将所述人像图像输入至预先训练的人像分割模型之前,利用预先训练的头部检测模型,获取所述人像图像中的头部区域。图像输入模块410可以具体用于:将所述头部区域输入至所述第一编码器,以及将所述人像图像输入至所述第二编码器。
[0099]
在该实施方式中,所述特征融合模块将所述头部特征图与所述原图特征图进行特征融合,获得融合特征图,包括:所述特征融合模块将所述头部特征图的尺寸调整至所述原图特征图的尺寸;所述特征融合模块将调整尺寸后的所述头部特征图与所述原图特征图根据通道维度进行拼接,获得拼接后的特征图;所述特征融合模块降低所述拼接后的特征图的通道数,获得融合特征图。
[0100]
在一些实施方式中,该图像处理装置400还可以包括:样本获取模块、样本输入模块、损失获取模块以及迭代更新模块。样本获取模块用于在所述将所述人像图像输入至预先训练的人像分割模型之前,获取样本图像集,所述样本图像集中包括多张人像样本图像,每张人像样本图像中包括以透明度通道值标注的头发区域,以及以像素值标注的身体区域;样本输入模块用于将所述人像样本图像输入至初始模型,获得所述初始模型输出的透明度通道分割图像以及二值掩模图像;损失获取模块用于根据所述初始模型输出的透明度通道分割图像、二值掩模图像、所述人像样本图像中以透明度通道值标注的头发区域以及以像素值标注的身体区域,计算总损失函数的值;迭代更新模块用于基于所述总损失函数的值对所述初始模型进行迭代更新,获得所述人像分割模型。
[0101]
在该实施方式中,损失获取模块可以具体用于:根据所述初始模型输出的透明度通道分割图像以及所述人像样本图像中以透明度通道值标注的头发区域,计算头发区域的分割损失值作为第一损失函数的值;根据所述初始模型输出的二值掩模图像,以及所述人像样本图像中以像素值标注的身体区域,计算身体区域的分割损失值作为第二损失函数的值;根据将所述初始模型输出的透明度通道分割图像以及二值掩模图像进行合成后获得的人像分割图像,与所述人像样本图像,计算人像分割的分割损失值作为第三损失函数的值;根据所述第一损失函数的值、第二损失函数的值以及第三损失函数的值,确定总损失函数的值。
[0102]
在一些实施方式中,该图像处理装置400还可以包括:预处理模块。预处理模块用于在所述将所述人像图像输入至预先训练的人像分割模型之前,对所述人像图像进行预处
理。
[0103]
在一些实施方式中,图像合成模块430可以具体用于:根据所述透明度通道分割图像获取头发区域的区域图像;将所述区域图像合成于所述二值掩膜图像的对应区域。
[0104]
在一些实施方式中,该图像处理装置400还可以包括:背景替换模块。背景替换模块用于在所述将所述透明度通道分割图像与所述二值掩模图像进行合成,获得所述人像图像的人像分割图像之后,根据所述人像分割图像,将所述人像图像的背景替换成指定背景。
[0105]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0106]
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
[0107]
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0108]
综上所述,本申请提供的方案,通过获取待处理的人像图像,人像图像中的人像区域包括身体区域以及头发区域,将待处理的人像图像输入至预先训练的人像分割模型,获得人像分割模型输出的透明度通道分割图像以及二值掩膜图像,该透明度通道分割图像中的头发区域的透明度值与除头发区域以外的其他区域的透明度值不同,该二值掩膜图像中身体区域的像素值与除身体区域以外的其他区域的像素值不同,然后将透明度通道图像与二值掩膜图像进行合成,获得人像图像的人像分割图像,从而实现在对人像图像进行人像分割时,根据透明度通道对头发区域进行分割,而身体区域采用像素值进行分割,提升人像分割图像中头发区域的准确性,进而提升人像分割结果的准确性。
[0109]
请参考图8,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备100可以是智能手机、平板电脑、智能手表、笔记本电脑等能够运行应用程序的电子设备。本申请中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
[0110]
处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器110可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
[0111]
存储器120可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指
令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
[0112]
请参考图9,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
[0113]
计算机可读存储介质800可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
[0114]
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1