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

一种基于全卷积稠密网络的人像抠图方法

文献发布时间:2023-06-19 10:19:37


一种基于全卷积稠密网络的人像抠图方法

技术领域

本发明涉及信息技术领域,特别是涉及一种基于全卷积稠密网络的人像抠图方法。

背景技术

目前,人像抠图已经有着广泛的应用,例如海报制作,实时流媒体,电影制作等。通过人像抠图可以去除图像中的背景,提取出图像或视频帧中的人像,从而可以便于通过更换不同背景,将图像变换成不同风格。

然而,在使用图像语义分割来抠图时,一般的硬分割只是对像素点做出二分类,如果待处理图片中存在:蜘蛛网,头发,玻璃等前景,这些前景图像的颜色不只是由前景本身的颜色决定,还与背景的颜色融合有关,从而导致抠图的效果往往不佳。所以就需要软分割算法,即生成alpha蒙版来提取前景对象。

发明内容

本发明实施例的目的在于提供一种基于全卷积稠密网络的人像抠图方法,以实现提高人像抠图的效果。具体技术方案如下:

本发明实施的第一方面,提供了一种基于全卷积稠密网络的人像抠图方法,上述方法包括:

获取样本图像,其中,样本图像包括:RGBA人像图像、输入图像、trimap图,输入图为对应不同透明度的多张人像图像和背景图像合成的图像,trimap图是通过RGBA人像图像构造得到的图像;

将输入图和trimap图输入到待训练的GAN网络中的全卷积稠密网络中,得到全卷积稠密网络的第一输出结果,其中,待训练的GAN网络包括全卷积稠密网络和判别器;

以RGBA人像图像为标准,根据全卷积稠密网络的第一输出结果计算全卷积稠密网络的第一损失;

当全卷积稠密网络的第一损失大于第一预设阈值时,对全卷积稠密网络进行参数的修正,返回执行上述步骤:将输入图和trimap图输入到待训练的GAN网络中的全卷积稠密网络中,得到全卷积稠密网络的第一输出结果;

当全卷积稠密网络的第一损失小于第一预设阈值时,将全卷积稠密网络的第一输出结果输入到判别器中,得到判别器的第一输出结果;

以RGBA人像图像为标准,根据判别器的第一输出结果计算判别器的第一损失;

当判别器的第一损失大于第二预设阈值时,对判别器进行参数的修正,返回执行上述步骤:将全卷积稠密网络的第一输出结果输入到判别器中,得到判别器的第一输出结果;

当判别器的第一损失小于第二预设阈值时,得到训练好的GAN网络。

可选的,当判别器的第一损失小于第二预设阈值时,得到训练好的GAN网络,包括:

当判别器的第一损失小于第二预设阈值时,将输入图和trimap图输入到全卷积稠密网络中,得到全卷积稠密网络的第二输出结果;将全卷积稠密网络的输出结果输入到判别器中,得到判别器的第二输出结果;

以RGBA人像图像为标准,根据全卷积稠密网络的第二输出结果计算全卷积稠密网络的第二损失;以RGBA人像图像为标准,根据判别器的第二输出结果计算判别器的第二损失;

根据预设系数对全卷积稠密网络的第二损失和判别器的第二损失进行加权求和,得到GAN网络损失;

当GAN网络损失大于第三预设阈值,根据GAN网络损失对GAN网络进行特征参数的调整,返回执行上述步骤:将输入图和trimap图输入到全卷积稠密网络中,得到全卷积稠密网络的第二输出结果;

当GAN网络损失小于第三预设阈值,得到训练好的GAN网络。

可选的,以RGBA人像图像为标准,根据全卷积稠密网络的第一输出结果计算全卷积稠密网络的第一损失,包括:

以RGBA人像图像为标准,根据全卷积稠密网络的第一输出结果利用均方误差MSE损失函数计算全卷积稠密网络的第一损失。

可选的,以RGBA人像图像为标准,根据判别器的第一输出结果计算判别器的第一损失,包括:

以RGBA人像图像为标准,根据判别器的第一输出结果利用Wasserstein距离计算判别器的第一损失。

可选的,上述方法还包括:

将待处理的图像输入训练好的GAN网络中,得到待处理的图像对应的人像前景图。

本发明实施的第二方面,提供了一种基于全卷积稠密网络的人像抠图装置,上述装置包括:

样本获取模块,用于获取样本图像,其中,样本图像包括:RGBA人像图像、输入图像、trimap图,输入图为对应不同透明度的多张人像图像和背景图像合成的图像,trimap图是通过RGBA人像图像构造得到的图像;

模型结果输出模块,用于将输入图和trimap图输入到待训练的GAN网络中的全卷积稠密网络中,得到全卷积稠密网络的第一输出结果,其中,待训练的GAN网络包括全卷积稠密网络和判别器;

网络损失模块,用于以RGBA人像图像为标准,根据全卷积稠密网络的第一输出结果计算全卷积稠密网络的第一损失;

网络修正模块,用于当全卷积稠密网络的第一损失大于第一预设阈值时,对全卷积稠密网络进行参数的修正,返回执行上述步骤:将输入图和trimap图输入到待训练的GAN网络中的全卷积稠密网络中,得到全卷积稠密网络的第一输出结果;

结果输入模块,用于当全卷积稠密网络的第一损失小于第一预设阈值时,将全卷积稠密网络的第一输出结果输入到判别器中,得到判别器的第一输出结果;

判别器损失模块,用于以RGBA人像图像为标准,根据判别器的第一输出结果计算判别器的第一损失;

判别器修正模块,用于当判别器的第一损失大于第二预设阈值时,对判别器进行参数的修正,返回执行上述步骤:将全卷积稠密网络的第一输出结果输入到判别器中,得到判别器的第一输出结果;

网络输出模块,用于当判别器的第一损失小于第二预设阈值时,得到训练好的GAN网络。

可选的,网络输出模块,包括:

判别器输入子模块,用于当判别器的第一损失小于第二预设阈值时,将输入图和trimap图输入到全卷积稠密网络中,得到全卷积稠密网络的第二输出结果;将全卷积稠密网络的输出结果输入到判别器中,得到判别器的第二输出结果;

第二损失计算子模块,用于以RGBA人像图像为标准,根据全卷积稠密网络的第二输出结果计算全卷积稠密网络的第二损失;以RGBA人像图像为标准,根据判别器的第二输出结果计算判别器的第二损失;

网络损失计算子模块,用于根据预设系数对全卷积稠密网络的第二损失和判别器的第二损失进行加权求和,得到GAN网络损失;

网络参数调整子模块,用于当GAN网络损失大于第三预设阈值,根据GAN网络损失对GAN网络进行特征参数的调整,返回执行上述步骤:将输入图和trimap图输入到全卷积稠密网络中,得到全卷积稠密网络的第二输出结果;

网络输出子模块,用于当GAN网络损失小于第三预设阈值,得到训练好的GAN网络。

可选的,网络损失模块,包括:

均方误差计算子模块,用于以RGBA人像图像为标准,根据全卷积稠密网络的第一输出结果利用均方误差MSE损失函数计算全卷积稠密网络的第一损失。

可选的,判别器损失模块,包括:

第一损失计算子模块,用于以RGBA人像图像为标准,根据判别器的第一输出结果利用Wasserstein距离计算判别器的第一损失。

可选的,上述装置还包括:

前景图获取模块,用于将待处理的图像输入训练好的GAN网络中,得到待处理的图像对应的人像前景图。

本发明实施的另一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一基于全卷积稠密网络的人像抠图方法。

本发明实施的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一基于全卷积稠密网络的人像抠图方法。

本发明实施例有益效果:

本发明实施例提供的一种基于全卷积稠密网络的人像抠图方法,可以通过获取样本图像,其中,样本图像包括:RGBA人像图像、输入图像、trimap图,其中,输入图为对应不同透明度的多张人像图像和背景图像合成的图像,trimap图是通过RGBA人像图像构造得到的图像;将输入图和trimap图输入到待训练的GAN网络中的全卷积稠密网络中,得到全卷积稠密网络的第一输出结果,其中,待训练的GAN网络包括全卷积稠密网络和判别器;以RGBA人像图像为标准,根据全卷积稠密网络的第一输出结果计算全卷积稠密网络的第一损失;当全卷积稠密网络的第一损失大于第一预设阈值时,对全卷积稠密网络进行参数的修正,返回执行上述步骤:将输入图和trimap图输入到待训练的GAN网络中的全卷积稠密网络中,得到全卷积稠密网络的第一输出结果;当全卷积稠密网络的第一损失小于第一预设阈值时,将全卷积稠密网络的第一输出结果输入到判别器中,得到判别器的第一输出结果;以RGBA人像图像为标准,根据判别器的第一输出结果计算判别器的第一损失;当判别器的第一损失大于第二预设阈值时,对判别器进行参数的修正,返回执行上述步骤:将全卷积稠密网络的第一输出结果输入到判别器中,得到判别器的第一输出结果;当判别器的第一损失小于第二预设阈值时,得到训练好的GAN网络。利用包括对应不同透明度的多张人像图像和背景图像合成的输入图像作为样本图像,并通过样本图像对由全卷积稠密网络和判别器组成的GAN网络进行训练,可以使得得到的训练好的GAN网络在对进行抠图时,可以提高人像抠图的效果。

当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本申请实施例提供的全卷积稠密网络的人像抠图方法的流程示意图;

图2为本申请实施例提供的一种FC-DenseNet的网络结构示意图;

图3为本申请实施例提供的一种DenseBlock的网络结构示意图;

图4为本申请实施例提供的对GAN网络进行训练的流程示意图;

图5为本申请实施例提供的GAN网络训练流程的实例图;

图6为本申请实施例提供的GAN网络测试流程的实例图;

图7为本申请实施例提供的全卷积稠密网络的人像抠图装置的示意图;

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

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了提高人像抠图过程中的抠图的效果,本申请实施例提供了一种基于全卷积稠密网络的人像抠图方法,包括:

获取样本图像,其中,样本图像包括:RGBA人像图像、输入图像、trimap图(三分图),其中,输入图为对应不同透明度的多张人像图像和背景图像合成的图像,trimap图是通过RGBA人像图像构造得到的图像;

将输入图和trimap图输入到待训练的GAN网络中的全卷积稠密网络中,得到全卷积稠密网络的第一输出结果,其中,待训练的GAN网络包括全卷积稠密网络和判别器;

以RGBA人像图像为标准,根据全卷积稠密网络的第一输出结果计算全卷积稠密网络的第一损失;

当全卷积稠密网络的第一损失大于第一预设阈值时,对全卷积稠密网络进行参数的修正,返回执行上述步骤:将输入图和trimap图输入到待训练的GAN网络中的全卷积稠密网络中,得到全卷积稠密网络的第一输出结果;

当全卷积稠密网络的第一损失小于第一预设阈值时,将全卷积稠密网络的第一输出结果输入到判别器中,得到判别器的第一输出结果;

以RGBA人像图像为标准,根据判别器的第一输出结果计算判别器的第一损失;

当判别器的第一损失大于第二预设阈值时,对判别器进行参数的修正,返回执行上述步骤:将全卷积稠密网络的第一输出结果输入到判别器中,得到判别器的第一输出结果;

当判别器的第一损失小于第二预设阈值时,得到训练好的GAN网络。

通过本申请实施例的方法,可以利用包括对应不同透明度的多张人像图像和背景图像合成的输入图像作为样本图像,并通过样本图像对由全卷积稠密网络和判别器组成的GAN网络进行训练,可以使得得到的训练好的GAN网络在对进行抠图时,可以提高人像抠图的效果。

下面通过具体实施例对本申请实施例提供的基于全卷积稠密网络的人像抠图方法进行详细说明。

本申请实施例中,所谓的抠图是将人像图像中的人像区域从人像图像提取出来。例如,在人像图像中包括树木等背景时,只提取出人像图像中的人像区域,而不包括其中树木等背景。

参见图1,图1为本申请实施例提供的全卷积稠密网络的人像抠图方法的一种流程示意图,上述方法包括:

步骤S11,获取样本图像。

其中,样本图像包括:RGBA人像图像、输入图像、trimap图。输入图为对应不同透明度的多张人像图像和背景图像合成的图像,trimap图是通过RGBA人像图像构造得到的图像。

本申请实施例的全卷积稠密网络的人像抠图方法可以通过智能终端实施,具体的,该智能终端可以是电脑或服务器等。例如,在进行模型训练过程中,设定训练环境为Ubuntu 16,Tensorflow 14.0,Python 3.6,硬件设备为NVIDIA2080Ti。

其中,RGBA(RGBA color space)人像图像可以是取自公开人像数据集的图像,背景图可以是从互联网下载的图像,上述图像可以是多种格式的图像,例如可以是jpg格式的图像。输入图像,可以是预设函数:

I=αF+(1-α)Bα∈[0,1]

合成的图像,其中,I为合成的图像,F为人像图像和B为背景图像,α为透明度。通过对应不同透明度的多张人像图像和背景图像合成输入图,例如,每张前景图搭配20张背景,一共1000个人物,所以输入的数据集为20000张输入图。在实际使用过程中,可以通过每张前景图搭配20张背景其中85%用于训练,15%用于测试。

其中,trimap图可以是通过静态图像抠图算法得到的三分图,可以以白色标识确定的人像图像像素区域,以黑色标识确定的背景图像像素区域,而以灰色标识不确定的像素区域。例如,不确定的像素区域可能是前景部分透明的结果,或者是前景边界上前景和背景颜色的混合。在训练过程中,trimap图可以直接通过腐蚀膨胀算法由alpha通道生成,trimap图中只有三个值,0、255和128分别表示背景、前景和不确定区域。

步骤S12,将输入图和trimap图输入到待训练的GAN网络中的全卷积稠密网络中,得到全卷积稠密网络的第一输出结果。

其中,待训练的GAN网络(Generative Adversarial Networks,生成对抗网络)包括FC-DenseNet(Fully Convolutional Dense Network,全卷积稠密网络)和判别器。其中,FC-DenseNet的结构可以参见附图2,图2为本申请实施例提供的一种FC-DenseNet的网络结构示意图。其中,FC-DenseNet中DenseBlock(稠密块)的结构可以参见附图3,图3为本申请实施例提供的一种DenseBlock的网络结构示意图。在DenseBlock的结构中:第一层卷积输入有m个特征图,第一层输出有k个特征图,这k个特征图与m个特征图串联,作为第二层的输入,重复n个卷积层,最后将n个卷积层的特征图串联,一个Dense Block的输出是n×k个特征图。

在实际使用过程中,可以使用6个DenseBlock,每个Block里边的的卷积层层数可以分别为4,5,7,10,12,15,增长率都为4,输出特征的维数为4*4=16,4*5=20,4*7=28,4*10=40,4*12=48,4*15=60。网络的参数可以参见表1,表1为本申请实施例提供的一种DenseBlock的参数表,其中,池化层选择最大池化,激励函数选择ReLu。

表1

步骤S13,以RGBA人像图像为标准,根据全卷积稠密网络的第一输出结果计算全卷积稠密网络的第一损失。

可选的,以RGBA人像图像为标准,根据全卷积稠密网络的第一输出结果计算全卷积稠密网络的第一损失,包括:以RGBA人像图像为标准,根据全卷积稠密网络的第一输出结果利用均方误差MSE(Mean Square Error,均方误差)损失函数计算全卷积稠密网络的第一损失。

其中,计算全卷积稠密网络的第一损失可以通过如下公式计算:

其中,m、n、h分别为RGBA人像图像的长、宽、高,real表示RGBA人像图像,fake表示模型输出结果,fake_i,j,k表示模型输出结果的第i行第j列第k个通道的像素值,real_i,j,k表示RGBA人像图像的第i行第j列第k个通道的像素值。

步骤S14,当全卷积稠密网络的第一损失大于第一预设阈值时,对全卷积稠密网络进行参数的修正,返回执行上述步骤:将输入图和trimap图输入到待训练的GAN网络中的全卷积稠密网络中,得到全卷积稠密网络的第一输出结果。

其中,第一预设阈值可以是认为设定的经验值,也可以是根据当前要求设定的某一数值。对全卷积稠密网络进行参数的修正,可以是通过反向传播优化算法等算法对全卷积稠密网络进行参数的修正。

步骤S15,当全卷积稠密网络的第一损失小于第一预设阈值时,将全卷积稠密网络的第一输出结果输入到判别器中,得到判别器的第一输出结果。

其中,GAN网络中的判别器可以只包含3个全连接层,输出一个特征映射,特征映射中的每一个值都可以对应于输入图像中的一块,因此,比起整张图像,判别器更着重于局部的图像块,可以使得判别器去生成更清晰的局部边缘与结构,而且,浅层的鉴别器结构也能节约训练的时间。

步骤S16,以RGBA人像图像为标准,根据判别器的第一输出结果计算判别器的第一损失。

可选的,以RGBA人像图像为标准,根据判别器的第一输出结果计算判别器的第一损失,包括:以RGBA人像图像为标准,根据判别器的第一输出结果利用Wasserstein距离计算判别器的第一损失。

其中,通过Wasserstein距离计算判别器的第一损失,可以通过Wasserstein距离来优化GAN网络,能有效避免判别器梯度消失。

其中,利用Wasserstein距离计算判别器的第一损失,可以通过如下公式计算:

其中,x是RGBA人像图像,

步骤S17,当判别器的第一损失大于第二预设阈值时,对判别器进行参数的修正,返回执行上述步骤:将全卷积稠密网络的第一输出结果输入到判别器中,得到判别器的第一输出结果。

其中,第二预设阈值可以是认为设定的经验值,也可以是根据当前要求设定的某一数值。对判别器进行参数的修正,可以是通过反向传播优化算法等算法对判别器进行参数的修正。

步骤S18,当判别器的第一损失小于第二预设阈值时,得到训练好的GAN网络。

可选的,本申请实施例的方法还包括:将待处理的图像输入训练好的GAN网络中,得到待处理的图像对应的人像前景图。

通过本申请实施例的方法,可以利用包括对应不同透明度的多张人像图像和背景图像合成的输入图像作为样本图像,并通过样本图像对由全卷积稠密网络和判别器组成的GAN网络进行训练,可以使得得到的训练好的GAN网络在对进行抠图时,可以提高人像抠图的效果。

可选的,参见图4,当判别器的第一损失小于第二预设阈值时,得到训练好的GAN网络,包括:

步骤S181,当判别器的第一损失小于第二预设阈值时,将输入图和trimap图输入到全卷积稠密网络中,得到全卷积稠密网络的第二输出结果;将全卷积稠密网络的输出结果输入到判别器中,得到判别器的第二输出结果。

其中,当判别器的第一损失小于第二预设阈值时,将输入图和trimap图输入到全卷积稠密网络中,可以是当判别器的第一损失小于第二预设阈值,且全卷积稠密网络的第一损失大于第一预设阈值时,将输入图和trimap图输入到全卷积稠密网络中,得到全卷积稠密网络的第二输出结果,并将全卷积稠密网络的输出结果输入到判别器中,得到判别器的第二输出结果。

步骤S182,以RGBA人像图像为标准,根据全卷积稠密网络的第二输出结果计算全卷积稠密网络的第二损失;以RGBA人像图像为标准,根据判别器的第二输出结果计算判别器的第二损失。

其中,参见步骤S181可知,全卷积稠密网络的第二损失小于第一预设阈值,且判别器的第二损失小于第二预设阈值。计算全卷积稠密网络的第二损失和计算判别器的第二损失,可以通过与计算全卷积稠密网络的第一损失和计算判别器的第一损失相同的公式进行计算。

步骤S183,根据预设系数对全卷积稠密网络的第二损失和判别器的第二损失进行加权求和,得到GAN网络损失。

其中,根据预设系数对全卷积稠密网络的第二损失和判别器的第二损失进行加权求和,得到GAN网络损失,可以通过如下公式计算:

L=GL+βWDL

其中,β为超参数,WDL为判别器的第一损失,GL为全卷积稠密网络的第一损失。

步骤S184,当GAN网络损失大于第三预设阈值,根据GAN网络损失对GAN网络进行特征参数的调整,返回执行上述步骤:将输入图和trimap图输入到全卷积稠密网络中,得到全卷积稠密网络的第二输出结果。

其中,根据GAN网络损失对GAN网络进行特征参数的调整,可以通过反向传播优化算法进行GAN网络的特征参数的调整。

步骤S185,当GAN网络损失小于第三预设阈值,得到训练好的GAN网络。

通过本申请实施例的方法,可以根据GAN网络损失对GAN网络进行优化,可以使得得到的训练好的GAN网络在对进行抠图时,可以提高人像抠图的效果。

参见图5,图5为本申请实施例提供的GAN网络训练流程的实例图,包括:

构造数据集:训练数据集分成三部分,使用公开数据集中前景图和互联网上的背景图合成输入图片;使用前景图的alpha通道构造trimap图;前景图单独作为目标数据集。

网络训练:将三种数据输入到全卷积稠密网络中,输入图和trimap图合成为四通道RGBA图像作为网络的输入值,将网络的输出值与目标图像计算MSE误差。

结果优化:以全卷积稠密网络的输出和目标图像作为GAN网络判别器的输入,计算他们的Wasserstein距离作为损失函数,优化网络的输出结果。

模型保存:对两个网络的损失值加权求和,保存整体误差最小的模型作为应用的模型。

参见图6,图6为本申请实施例提供的GAN网络测试流程的实例图,包括:

运行人像抠图程序,加载训练好的最优模型。

输入待处理的图片,使用边界追踪发找到图片中的人物轮廓,对图像粗分割,生成人物部分的trimap图。

将待处理图像与trimap合成为四通道图像,输入到抠图网络中。

经过网络对trimap的调整,使之成为alpha通道覆盖到待处理图像上,得到人像前景图。

参见图7,图7为本申请实施例提供的全卷积稠密网络的人像抠图装置的示意图,上述装置包括:

样本获取模块701,用于获取样本图像,其中,样本图像包括:RGBA人像图像、输入图像、trimap图,其中,输入图为对应不同透明度的多张人像图像和背景图像合成的图像,trimap图是通过RGBA人像图像构造得到的图像;

模型结果输出模块702,用于将输入图和trimap图输入到待训练的GAN网络中的全卷积稠密网络中,得到全卷积稠密网络的第一输出结果,其中,待训练的GAN网络包括全卷积稠密网络和判别器;

网络损失模块703,用于以RGBA人像图像为标准,根据全卷积稠密网络的第一输出结果计算全卷积稠密网络的第一损失;

网络修正模块704,用于当全卷积稠密网络的第一损失大于第一预设阈值时,对全卷积稠密网络进行参数的修正,返回执行上述步骤:将输入图和trimap图输入到待训练的GAN网络中的全卷积稠密网络中,得到全卷积稠密网络的第一输出结果;

结果输入模块705,用于当全卷积稠密网络的第一损失小于第一预设阈值时,将全卷积稠密网络的第一输出结果输入到判别器中,得到判别器的第一输出结果;

判别器损失模块706,用于以RGBA人像图像为标准,根据判别器的第一输出结果计算判别器的第一损失;

判别器修正模块707,用于当判别器的第一损失大于第二预设阈值时,对判别器进行参数的修正,返回执行上述步骤:将全卷积稠密网络的第一输出结果输入到判别器中,得到判别器的第一输出结果;

网络输出模块708,用于当判别器的第一损失小于第二预设阈值时,得到训练好的GAN网络。

可选的,网络输出模块708,包括:

判别器输入子模块,用于当判别器的第一损失小于第二预设阈值时,将输入图和trimap图输入到全卷积稠密网络中,得到全卷积稠密网络的第二输出结果;将全卷积稠密网络的输出结果输入到判别器中,得到判别器的第二输出结果;

第二损失计算子模块,用于以RGBA人像图像为标准,根据全卷积稠密网络的第二输出结果计算全卷积稠密网络的第二损失;以RGBA人像图像为标准,根据判别器的第二输出结果计算判别器的第二损失;

网络损失计算子模块,用于根据预设系数对全卷积稠密网络的第二损失和判别器的第二损失进行加权求和,得到GAN网络损失;

网络参数调整子模块,用于当GAN网络损失大于第三预设阈值,根据GAN网络损失对GAN网络进行特征参数的调整,返回执行上述步骤:将输入图和trimap图输入到全卷积稠密网络中,得到全卷积稠密网络的第二输出结果;

网络输出子模块,用于当GAN网络损失小于第三预设阈值,得到训练好的GAN网络。

可选的,网络损失模块703,包括:

均方误差计算子模块,用于以RGBA人像图像为标准,根据全卷积稠密网络的第一输出结果利用均方误差MSE损失函数计算全卷积稠密网络的第一损失。

可选的,判别器损失模块706,包括:

第一损失计算子模块,用于以RGBA人像图像为标准,根据判别器的第一输出结果利用Wasserstein距离计算判别器的第一损失。

可选的,上述装置还包括:

前景图获取模块,用于将待处理的图像输入训练好的GAN网络中,得到待处理的图像对应的人像前景图。

通过本申请实施例的装置,可以利用包括对应不同透明度的多张人像图像和背景图像合成的输入图像作为样本图像,并通过样本图像对由全卷积稠密网络和判别器组成的GAN网络进行训练,可以使得得到的训练好的GAN网络在对进行抠图时,可以提高人像抠图的效果。

本发明实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,

存储器803,用于存放计算机程序;

处理器801,用于执行存储器803上所存放的程序时,实现如下步骤:

获取样本图像,其中,样本图像包括:RGBA人像图像、输入图像、trimap图,其中,输入图为对应不同透明度的多张人像图像和背景图像合成的图像,trimap图是通过RGBA人像图像构造得到的图像;

将输入图和trimap图输入到待训练的GAN网络中的全卷积稠密网络中,得到全卷积稠密网络的第一输出结果,其中,待训练的GAN网络包括全卷积稠密网络和判别器;

以RGBA人像图像为标准,根据全卷积稠密网络的第一输出结果计算全卷积稠密网络的第一损失;

当全卷积稠密网络的第一损失大于第一预设阈值时,对全卷积稠密网络进行参数的修正,返回执行上述步骤:将输入图和trimap图输入到待训练的GAN网络中的全卷积稠密网络中,得到全卷积稠密网络的第一输出结果;

当全卷积稠密网络的第一损失小于第一预设阈值时,将全卷积稠密网络的第一输出结果输入到判别器中,得到判别器的第一输出结果;

以RGBA人像图像为标准,根据判别器的第一输出结果计算判别器的第一损失;

当判别器的第一损失大于第二预设阈值时,对判别器进行参数的修正,返回执行上述步骤:将全卷积稠密网络的第一输出结果输入到判别器中,得到判别器的第一输出结果;

当判别器的第一损失小于第二预设阈值时,得到训练好的GAN网络。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一基于全卷积稠密网络的人像抠图方法的步骤。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一基于全卷积稠密网络的人像抠图方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

相关技术
  • 一种基于全卷积稠密网络的人像抠图方法
  • 一种基于生成对抗网络的像素级人像抠图方法
技术分类

06120112500403