基于生成对抗网络的去除手势图像背景的方法与流程

文档序号:23619027发布日期:2021-01-12 10:29阅读:226来源:国知局
基于生成对抗网络的去除手势图像背景的方法与流程

本发明涉及图像处理技术领域,特别涉及基于生成对抗网络的去除手势图像背景的方法。



背景技术:

对含有手势的图像进行背景移除任务时,当前主流方法是图像语义分割。然而目前该方法存在的一个问题是效率低,难以处理精细化的图像背景移除任务。

2014年fcn(fullyconvolutionalnetworksforsemanticsegmentation)开启了图像分割的新篇章,在原来简单的vgg,alexnet神经网络方法上采用了上采样,采用跳跃连接,可以实现对图像语义的分割。后续研究者主要的工作是对网络的更改,对一些特定任务引入注意力机制。但是这些工作也存在一些问题:例如,丢失边缘信息、粒度不够精细等,如图1所示。为实现更为精细化的抠图任务,同时不丢失重要的边缘信息,则需要依赖更为复杂的卷积神经网络和更大的训练开销。



技术实现要素:

为了克服上述现有方法的不足,本发明的目的在于提供基于生成对抗网络的去除手势图像背景的方法,具有高效、准确、快速、易部署等特点。为实现上述目的,本发明采取以下技术方案:基于生成对抗网络的去除手势图像背景的方法,其主要包括如下几个步骤:

步骤一:模型建立

步骤1.1建立生成对抗网络模型,条件gan网络包括两个模块,分别为生成器g和判别器d,其中生成器g训练的目标是让生成图像以假乱真,判别器d训练目标是检测生成器g生成的假图像;

步骤1.2定义关于模型目标函数,损失函数是决定模型训练优化的目标的数学方法,在生成对抗网络中,随机噪声向量z到输出图片y的映射关系,即g:z→y,条件生成对抗网络将输入图像x和随机噪声向量z到输出图像y的映射关系,即cg:(x,z)→y;

生成对抗网络的目标函数如式:

该式中,x是带背景图片,y是生成器g生成的图片,z是引入的随机噪声图片向量;

需要通过训练,让生成器g使得这个目标函数尽可能小,而判别器d想尽可能使得这个目标函数大,即训练优化的方式为式:

其中,lcgan(g,d)是生成对抗网络的目标函数,上述已经说明,其中是对判别器做最大值优化,是对生成器做最小值优化,当取到最小值时取得模型的参数;

然而生成器g的任务不仅是欺骗鉴别器,而且还要使它接近真正意义上的无背景真实输出,所以修正后的目标函数为式

其中lz1(g)=ex,y,z[||y-g(x,z)||1],目标是为了让生成器的输出接近真正意义上的无背景的真实输出,而λ是一介于0-1之间的系数,用于平衡图像的质量;

步骤1.3引入批量归一化层:

模型中需要使用到批量归一化(batchnormalization,bn)层,其中,bn层的操作主要是对卷积层的输出进行标准化,计算形式如式(5)所示:

其中μb处理如式(6)所示,σb的计算处理如式(7)所示,是为了防止分母为0而引入的无穷小值,xi是当前层的输入。

关于公式的定义:μb是当前卷积核上平均值,σb是当前卷积核内所有像素值的方差xi是当前的像素矩阵的值,是归一化的输出值,m是卷积核的大小,i是从1遍历到m的数值,∑是求和符号,←是把当前元素进行赋值;xi是批量归一化层的输入。

公式5中的μb,σb是由公式67决定,xi是当前层的输入,也是上一层的输出。

步骤1.4引入线性整流函数激活函数

模型中需要使用的神经网络需要激活函数,其中采用leaky线性整流函数(leakyrectifiedlinearunit,leakyrelu)激活函数,主要来解决传统relu激活函数的梯度消失的问题,其计算方式如式

y=max(0,x)+leaky*min(0,x)(9)

其中max是一个求最大值的函数,x是dropout层的输出,也是激活函数的输入,y是经激活函数处理的输出,不是带g所生成的背景图片,leaky是一个0-1的系数,min是求最小值的函数。

步骤1.5引入dropout层

dropout层输入的像素值进行随机丢弃部分像素值,然后输入到下一层,dropout层参数设置为0.2,即随机丢弃20%的像素点;

步骤一中各个步骤关系:步骤1.1定义了模型结构,步骤1.2给出模型训练的目标函数,步骤1.3,1.4,1.5分别给出引入的几个特殊的层的数据计算方法。

步骤二:模型训练

在步骤一中完成了模型建立,给出了模型训练用到的目标函数用于训练出最优的模型,其中目标函数中为x是带背景图片,y是生成器g生成的图片,z是引入的随机噪声图片向量,利用上述给出的目标函数进行训练,其中主要的过程如下所示:

2.1用到的训练参数

batchsize:每一次训练用多少张图片;设置为1-10(为了节省计算资源),可以根据计算机显存进行调整;

学习率:模型训练时参数更新的速率;设置为0.001;

迭代次数:对所有数据迭代多少次;设置为大于100000

优化器方法:如何对训练过程进行优化;选择(动量)优化器,参数设置为0.8;

训练完可以得到生成器g和判别器d,将生成器保存为模型文件,下一步执行去除图片背景需要用到这个文件;

步骤一为步骤二提供模型训练的基础,模型一中建立了生成器和判别器的具体模型,训练的具体方法:对于输入的带背景图片,g对其加入噪声,然后得到g输出的图片y,把g输出的图片,和输入的图片x给d来判别,并告诉d是否y中含有背景。其中是对判别器做最大值优化,即要让d的判别能力最大,能够准确判别y是否带背景,是对生成器做最小值优化,即让判别器输出的图片和真实的不带背景的图片之间的差异尽可能地小。

步骤三:模型使用(去除手势背景)

3.1.1预处理:改变图像大小:对于获取带背景的图片,将其利用开源计算机视觉库(opensourcecomputervisionlibrary,opencv),改变图片大小,让其与步骤1.1中所建立模型大小一致(备注:输入大小可以根据场景自行定义);

3.1.2归一化:由于模型只能对归一化后的像素值进行处理,所以这里需要把整型的像素值变成0-1之间的浮点型值,具体做法是用当前的像素值(0-255之间的值)除以255;

3.2调用模型:读入步骤二训练好之后保存的模型,然后将上述预处理好的图像作为模型的输入,得到的输出即为不带背景的手势图像。

本发明的有益效果:

1、提出了高效的去除手势背景方法,可以用于和手势图像处理的相关工作,例如基于手势的人机交互,手势识别,手势认证等等场景。

2、为图像去背景(抠图)提供方法上的指导,而不再是图像语义分割。

3、本方法是对gan的进一步扩展应用,相比于传统的图像背景去除方法,本发明具有准确,可靠且稳定的效果。

附图说明

图1不同文献中的抠图任务对比。

图2模型总体结构示意图。

图3判别器网络结构示意图。

图4生成器网络结构示意图。

图5迭代训练100次结果示意图。

图6迭代训练800000次结果示意图。

图7不同训练次数下,网络的训练损失变化示意图。

具体实施方式

下面结合附图对本发明作进一步详细说明。

包括先建立一个基于生成对抗网络(generativeadversarynetwork,gan)去除手势背景的模型,然后利用收集到的数据来训练模型,然后使用训练好的模型来执行手势背景去除任务。

生成对抗网络(generativeadversarialnetwork,gan)是一种深度学习模型,它可以学到从随机噪声向量z到输出图片y的映射关系,即g:z→y。条件生成对抗网络(cgan)是对原始gan的一个扩展,它可以学习从输入图像x和随机噪声向量z到输出图像y的映射关系,即cg:(x,z)→y。

和gan一样,条件gan网络也有两个模块,一个是生成器g,另一个是判别器d。g训练的目标是让生成图像以假乱真,d的训练目标是检测g生成的假图像,具体的训练过程如图2。

本文中判别器网络如图3所示,该网络的核心是两个卷积块,这两个卷积块的结构是卷积->池化->bn->dropout->leakyrelu形式。同时该网络没有用softmax作为网络的最后一层来识别图片是否带背景,而是使用卷积,其核心思想在于:对输出的每一个小卷积块进行加权,也即利用卷积核对每个卷积块的规模加上惩罚。然后这个判别器对一个图像中的每个n*n个小卷积块是真是假进行分类。该模型将卷积输出的平均值来提供最终的判别器输出。判别器的输入由两个图像,分别是需要移除背景的输入图片,和生成器生成的目标图片,这两张图片进行拼接后输入到模型中。

在gan中,典型的生成器有两种网络结构,分别是编码-解码网络和‘u-net’。‘u-net’引入了跳跃连接,在不同层之间传递大量的低级别信息(例如图片边缘等等),本文采用的生成器网络结构是基于‘u-net’的形式,网络结构具体如图4所示。其中卷积块5、6、7、8都是反卷积形式,其结构和卷积块4、3、2、1呈现对称形式,同时还引入跳跃连接方式,这样可以让训练时更新的网络参数更加均匀,而不再是集中某些参数,注意这里不能使用dropout层,主要是因为该层的引入无法对丢失的神经元进行恢复,会导致输出图像和输入图像的分辨率不一致,而且生成器的图像生成稳定性也会严重降低。

首先本文给出了不同迭代训练次数的针对手势图片移除背景的效果。图5是迭代100次的训练效果,图6是迭代800000次的训练效果,可以发现,生成器在不断训练下,图片背景移除效果有明显提升。当训练100次时,可以发现生成器网络对边缘能有很好的拟合能力,但是在细粒度上,却表现出很差,这主要可能是在训练次数比较少的情况下,生成器网络的神经元优先获取了如何识别边缘信息,图像的细粒度信息的处理还依赖于更多次的训练。

本文同时给出了在不同训练次数下的损失变化情况,如图7所示。其中判别器的损失越来越小,尤其是在第800-900次训练下损失下降明显,说明判别器在识别带背景图片与不带背景图片的能力在此得到强大提升。同样地,生成器的损失不断提升,这说明在不断地迭代下,输入带背景图片与输出带背景图片差异越来越大,说明背景被移除得越来越多所导致两张输入与输出的差异越来越大。l1损失比较的是生成器输出的图片与手动处理的真实不带背景图片的差异,可以发现,刚开始时由于生成器效果比较差,导致其输出的图片与真实不带背景图相差甚远,所以刚开始时损失比较大,但是在不断训练下,损失不断收敛,效果也就不断提升。

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