1.基于生成对抗网络的去除手势图像背景的方法,其特征在于,包括如下几个步骤:步骤一:模型建立:
步骤1.1 建立生成对抗网络模型;
步骤1.2 定义关于模型目标函数;
步骤1.3 引入批量归一化层;
步骤1.4 引入线性整流函数激活函数和步骤1.5引入Dropout层;
步骤二:模型训练
步骤三.模型使用
3.1.1预处理;
3.1.2 归一化;
3.2 调用模型,最终得到的输出即为不带背景的手势图像;
所述的步骤一包括:
步骤1.1 建立生成对抗网络模型,条件GAN网络包括两个模块,分别为生成器G和判别器D,其中生成器G训练的目标是让生成图像以假乱真,判别器D训练目标是检测生成器G生成的假图像;
步骤1.2 定义关于模型目标函数,损失函数是决定模型训练优化的目标的数学方法,在生成对抗网络中,随机噪声向量z到输出图片y的映射关系,即,条件生成对抗网络将输入图像x和随机噪声向量z到输出图像y的映射关系,即 ;生成对抗网络的目标函数如式:(1)
该式中,x是带背景图片,y是生成器G生成的图片,z是引入的随机噪声图片向量;
需要通过训练,让生成器G使得这个目标函数尽可能小,而判别器D想尽可能使得这个目标函数大,即训练优化的方式为式: (2);
其中,LcGAN(G,D)是生成对抗网络的目标函数,其中 是对判别器做最大值优化,是对生成器做最小值优化,当取到最小值时取得模型的参数;
然而生成器G的任务不仅是欺骗鉴别器,而且还要使它接近真正意义上的无背景真实输出, 所以修正后的目标函数为式(3)其中 ,目标是为了让生成器的输出接近真正意义上的无背景的真实输出,而 是一介于0‑1之间的系数,用于平衡图像的质量;
步骤1.3 引入批量归一化层:
模型中需要使用到批量归一化层,其中,BN层的操作主要是对卷积层的输出进行标准化,计算形式如式(5)所示: (5)其中 处理如式(6)所示, 的计算处理如式(7)所示,是为了防止分母为0而引入的无穷小值,xi是当前层的输入;
(6) (7);关于公式的定义: 是当前卷积核上平均值, 是当前卷积核内所有像素值的方差,xi是当前的像素矩阵的值,是归一化的输出值,M是卷积核的大小,i是从1遍历到M的数值, 是求和符号, 是把当前元素进行赋值;xi是批量归一化层的输入;
公式5中的 , 是由公式6、7决定,xi是当前层的输入,也是上一层的输出;
步骤1.4 引入线性整流函数激活函数:
模型中需要使用的神经网络需要激活函数,其中采用leaky线性整流函数激活函数,主要来解决传统Relu激活函数的梯度消失的问题,其计算方式如式(9)
其中max是一个求最大值的函数,x是Dropout层的输出,也是激活函数的输入,y是经激活函数处理的输出,不是带G所生成的背景图片,leaky是一个0‑1的系数,min是求最小值的函数;
步骤1.5引入Dropout层
Dropout层输入的像素值进行随机丢弃部分像素值,然后输入到下一层,Dropout层参数设置为0.2,即随机丢弃20%的像素点;
所述的步骤二包括:
在步骤一中完成了模型建立,给出了模型训练用到的目标函数用于训练出最优的模型,其中目标函数中为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预处理:改变图像大小:对于获取带背景的图片,将其利用开源计算机视觉库,改变图片大小,让其与步骤1.1中所建立模型大小一致;
3.1.2 归一化:由于模型只能对归一化后的像素值进行处理,所以这里需要把整型的像素值变成0‑1之间的浮点型值,具体做法是用当前的像素值除以255,当前的像素值为0‑
255之间的值;
3.2 调用模型:读入步骤二训练好之后保存的模型,然后将上述预处理好的图像作为模型的输入,得到的输出即为不带背景的手势图像。