去网纹系统训练方法、去网纹方法、装置、设备及介质与流程

文档序号:15803897发布日期:2018-11-02 21:39阅读:215来源:国知局
去网纹系统训练方法、去网纹方法、装置、设备及介质与流程

本发明涉及图像处理领域,尤其涉及一种去网纹系统训练方法、去网纹方法、装置、设备及介质。

背景技术

目前的证件照很多是经过加网纹处理的,以提高证件照的安全性。但加了网纹的证件照,很难进行人脸特征点的检测,使得其无法直接进行人脸识别。因此,在进行人脸特征点的检测之前需要先去掉网纹,才能够进行人脸识别。目前业界的去网纹模型的去网纹效果比较差,容易使得去网纹后的证件照或者其他图片上的人脸出现变形的现象。



技术实现要素:

本发明实施例提供一种去网纹系统训练方法、装置、设备及介质,以解决当前去网纹模型的去网纹效果差的问题。

一种去网纹系统训练方法,包括:

提取待训练样本,所述待训练样本包括样本数量相等的带网纹训练样本和不带网纹训练样本;

将所述带网纹训练样本输入到网纹提取器中,提取网纹位置,基于所述网纹位置和预设的标签值获取第一误差函数,并根据所述第一误差函数更新网纹提取器的网络参数;

将所述网纹位置和所述带网纹训练样本输入到生成式对抗网络生成器中,生成仿真图片,并基于所述仿真图片和所述不带网纹训练样本获取第二误差函数;

将所述仿真图片和所述不带网纹训练样本输入到生成式对抗网络判别器中,获取判别结果,并根据所述判别结果获取第三误差函数和第四误差函数;

采用预先训练好的人脸识别模型提取所述仿真图片的特征a和所述不带网纹训练样本的特征b,根据所述特征a和所述特征b获取第五误差函数;

获取第六误差函数,根据所述第六误差函数更新生成式对抗网络生成器中的网络参数,其中,第六误差函数=第二误差函数+第三误差函数+第五误差函数;

获取第七误差函数,根据所述第七误差函数更新生成式对抗网络判别器中的网络参数,其中,第七误差函数=第四误差函数+第五误差函数。

一种去网纹系统训练装置,包括:

训练样本获取模块,用于提取待训练样本,所述待训练样本包括样本数量相等的带网纹训练样本和不带网纹训练样本;

第一误差函数获取模块,用于将所述带网纹训练样本输入到网纹提取器中,提取网纹位置,基于所述网纹位置和预设的标签值获取第一误差函数,并根据所述第一误差函数更新网纹提取器的网络参数;

第二误差函数获取模块,用于将所述网纹位置和所述带网纹训练样本输入到生成式对抗网络生成器中,生成仿真图片,并基于所述仿真图片和所述不带网纹训练样本获取第二误差函数;

判别结果获取模块,用于将所述仿真图片和所述不带网纹训练样本输入到生成式对抗网络判别器中,获取判别结果,并根据所述判别结果获取第三误差函数和第四误差函数;

第五误差函数获取模块,用于采用预先训练好的人脸识别模型提取所述仿真图片的特征a和所述不带网纹训练样本的特征b,根据所述特征a和所述特征b获取第五误差函数;

第六误差函数获取模块,用于获取第六误差函数,根据所述第六误差函数更新生成式对抗网络生成器中的网络参数,其中,第六误差函数=第二误差函数+第三误差函数+第五误差函数;

第七误差函数获取模块,用于获取第七误差函数,根据所述第七误差函数更新生成式对抗网络判别器中的网络参数,其中,第七误差函数=第四误差函数+第五误差函数。

本发明实施例还提供一种去网纹方法、装置、设备及介质,以解决当前去网纹效果差的问题。

一种去网纹方法,包括:

将待去网纹图片输入到网纹提取器中,提取所述待去网纹图片的网纹位置;所述网纹提取器是采用所述去网纹系统训练方法获取到的;

将所述待去网纹图片的网纹位置和所述待去网纹图片输入到生成式对抗网络生成器中,生成目标去网纹图片;所述生成式对抗网络生成器是采用所述去网纹系统训练方法获取到的。

一种去网纹装置,包括:

网纹位置提取模块,用于将待去网纹图片输入到网纹提取器中,提取所述待去网纹图片的网纹位置,所述网纹提取器是采用所述去网纹系统训练方法获取到的;

目标去网纹图片生成模块,用于将所述待去网纹图片的网纹位置和所述待去网纹图片输入到生成式对抗网络生成器中,生成目标去网纹图片,所述生成式对抗网络生成器是采用所述去网纹系统训练方法获取到的。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述去网纹系统训练方法的步骤。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述去网纹方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述去网纹系统训练方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述处理器执行所述计算机程序时实现所述去网纹方法的步骤。

本发明实施例所提供的去网纹系统训练方法、装置、设备及介质中,基于网纹位置和预设的标签值获取第一误差函数(e_loss),基于仿真图片和不带网纹训练样本获取第二误差函数(l_loss),根据判别结果获取第三误差函数(gan_g_loss)和第四误差函数(gan_d_loss),根据特征a和特征b获取第五误差函数(i_loss),并基于生成式对抗网络的特点(包括生成式对抗网络生成器和生成式对抗网络判别器)根据第二误差函数、第三误差函数、第四误差函数和第五误差函数获取生成式对抗网络生成器的误差函数第六误差函数(g_loss)和生成式对抗网络判别器的误差函数第七误差函数(d_loss),通过在训练去网纹系统中产生的误差构造相对应的误差函数,并根据误差函数反传更新去网络系统中各部分模型的网络参数,实现去网纹系统充分、有效的训练。该去网纹系统涵盖了去网纹系统训练过程中每一影响去网纹系统去网纹效果的因素,使得该去网纹系统对图片进行去网纹操作时的去网纹效果非常好。

本发明实施例所提供的去网纹方法、装置、设备及介质中,通过将待去网纹图片输入到网纹提取器中,提取待去网纹图片的网纹位置,并将待去网纹图片的网纹位置和待去网纹图片输入到生成式对抗网络生成器中,生成目标去网纹图片,采用该去网纹方法的去网纹效果非常好。

附图说明

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

图1是本发明一实施例中网纹系统训练方法的一应用环境图;

图2是本发明一实施例中网纹系统训练方法的一流程图;

图3是图2中步骤s20的一具体流程图;

图4是图2中步骤s50的一具体流程图;

图5是本发明一实施例中去网纹方法的一流程图;

图6是本发明一实施例中网纹系统训练装置的一示意图;

图7是本发明一实施例中去网纹装置的一示意图;

图8是本发明一实施例中计算机设备的一示意图。

具体实施方式

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

该去网纹系统训练方法中的去网纹系统包括网纹提取器、人脸识别模型、生成式对抗网络生成器和生成式对抗网络判别器,训练去网纹系统的过程即训练去网纹系统中各组成部分的网络参数。

图1示出本发明实施例提供的去网纹系统训练方法的应用环境。该去网纹系统训练方法的应用环境包括服务端和客户端,其中,服务端和客户端之间通过网络进行连接,客户端是可与用户进行人机交互的设备,包括但不限于电脑、智能手机和平板等设备,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。本发明实施例提供的去网纹系统训练方法应用于服务端。

如图2所示,图2示出本发明实施例中去网纹系统训练方法的一流程图,该语音区分方法包括如下步骤:

s10:提取待训练样本,待训练样本包括样本数量相等的带网纹训练样本和不带网纹训练样本。

其中,带网纹训练样本是指用于训练去网纹系统的带有网纹的图片,不带网纹训练样本是指用于训练去网纹系统的不带网纹的图片。待训练样本中的带网纹训练样本和不带网纹训练样本除了在网纹上,其他部分都是相同的。例如:取用户甲的带网纹证件照和用户甲的不带网纹证件照作为训练去网纹系统的一组带网纹训练样本和数量相等的不带网纹训练样本。数量相等的意思是即带网纹训练样本和不带网纹训练样本两者间的比例关系为1:1。

在一实施例中,提取待训练样本,待训练样本包括样本数量相等的带网纹训练样本和不带网纹训练样本,带网纹训练样本和数量相等的不带网纹训练样本具体可以是采用大量人的带网纹证件照和不带网纹证件照,两者之间的区别仅在于有无网纹。该带网纹训练样本和数量相等的不带网纹训练样本的样本容量应该足够大,样本容量过小将无法充分训练去网纹系统,导致训练获取的去网纹系统的去网纹效果较差。在一实施例中,样本容量具体可以是取40000组带网纹训练样本和不带网纹训练样本。可以理解地,该带网纹训练样本和不带网纹训练样本的区别之处仅在于有无带网纹,因此能够根据该区别进行充分训练,以提取出带网纹训练样本和数量相等的不带网纹训练样本之间的区别特征,为去网纹系统的有效训练奠定了基础。

s20:将带网纹训练样本输入到网纹提取器中,提取网纹位置,基于网纹位置和预设的标签值获取第一误差函数,并根据第一误差函数更新网纹提取器的网络参数。

其中,这里的网纹提取器是预先训练好的、能够提取图片网纹位置的网纹提取模型。网纹位置是指带网纹训练样本的网纹在带网纹训练样本(如带网纹的证件照)中相对的位置。标签值是指带网纹训练样本和相对应的不带网纹训练样本中网纹位置的实际情况(即标签值根据实际情况预先进行人工标注获取的)。该标签值用来计算网纹提取器提取的网纹位置和实际情况的网纹位置的误差,并构建相应的误差函数,根据误差函数更新网纹提取器中的网络参数(网纹提取器是由神经网络模型训练而来的,因此该网纹提取器包括神经网络中的网络参数)。第一误差函数(即e_loss)是指根据网纹提取器提取的网纹位置和预设的标签值之间的误差所构建的误差函数。

在一实施例中,将带网纹训练样本输入到网络提取器中,让网络提取器提取出带网纹训练样本的网纹位置,并将该提取出的网纹位置与预设的标签值作比较,构建合适的误差函数e_loss来衡量提取出的网纹位置和预设的标签值之间的误差。可以理解地,采用预先训练好的网纹提取器对带网纹训练样本提取出的网纹位置与实际情况(网纹位置的真实位置,即标签值)是存在误差的,由于该带网纹训练样本需要在去网纹系统的其他模型部分(如生成式对抗网络生成器和生成式对抗网络判别器)进行训练,因此在这里应采用该带网纹训练样本对网络提取器进行训练,以优化该网络提取器,使得该网络提取器在提取该带网纹训练样本的网纹位置时能够更加精确,提高后续去网纹系统训练的精确度。

在一具体实施方式中,如图3所示,步骤s20中,将带网纹训练样本输入到网纹提取器中,提取网纹位置,基于网纹位置和预设的标签值获取e_loss,并根据e_loss更新网纹提取器的网络参数,包括如下步骤:

s21:获取网纹位置的每一像素值,将每一像素值进行归一化处理,获取归一化像素值;其中,获取归一化像素值的公式为maxvalue表示网纹位置的所有像素值中的最大值,minvalue表示网纹位置的所有像素值中的最小值,x为每一像素值,y为归一化像素值。

在一实施例中,根据网纹提取器获取网纹位置的每一像素值,并将每一像素值归一化到[0,1]的区间中,获取归一化像素值(即进行归一化处理后的像素值)。一般来说,图像的像素值有28、212和216等像素值级别,一副图像中可以包含大量不同的像素值,使得计算不方便,因此采用将像素值归一化的方式把网纹位置上的各个像素值都压缩在同一个范围区间内,能够简化计算并且加快去网纹系统的训练过程。

s22:获取网纹位置的归一化像素值和对应的不带网纹训练样本的归一化像素值的像素差。

在一实施例中,先计算并获取不带网纹训练样本的归一化像素值(不带网纹训练样本的像素值也可以预先就归一化好,不必计算时才归一化),将步骤s21中获取的网纹位置的归一化像素值和对应的不带网纹训练样本的归一化作相减并取绝对值的运算(用公式可以表示为|xi-yi|,其中,xi表示网纹位置第i个像素值对应的归一化像素值,yi表示不带网纹训练样本的与xi相对应的第i个像素值对应的归一化像素值),获取网纹位置的归一化像素值和对应的不带网纹训练样本的归一化像素值的像素差。可以理解地,带网纹和不带网纹之间的像素差是非常明显的,因此采用像素差可以很好地表示网纹位置。

s23:若像素差大于预设分界值,则将网纹位置对应的归一化像素值取作1,若像素差不大于预设分界值,则将网纹位置对应的归一化像素值取作0,获取二值化网纹位置。

其中,预设分界值是指预先设置好的用于将像素差分为0和1两类值的参考值。二值化网纹位置是指将归一化像素值跟预设分界值作比较并更改网纹位置的归一化像素值后获取的网纹位置。

在一实施例中,预设分界值可以设置为0.3,此时,若像素差大于0.3,则把网纹位置对应的归一化像素值取作1;若像素值不大于0.3,则把网纹位置对应的归一化像素值取作0。通过该预设分界值获取的二值化网纹位置能够根据网纹在图片上的特点,用简洁的方式表示网纹位置,能够加快该去网纹系统的训练。

s24:根据二值化网纹位置的每一像素值和预设的标签值对应的每一像素值进行计算,获取第一误差函数,并根据第一误差函数更新网纹提取器的网络参数;其中,第一误差函数的计算公式为

其中,n为像素值个数,xi表示二值化网纹位置的第i个像素值,yi表示预设的标签值与xi相对应的第i个像素值。

其中,预设的标签值对应的每一像素值采用1,0两类值进行表示,网纹位置对应的像素值为1(即实际情况中的“真”),不是网纹位置的像素值为0(即实际情况中的“假”)。

在一实施例中,根据二值化网纹位置的每一像素值和预设的标签值对应的每一像素值进行计算,该计算过程即获取e_loss的过程。其中,e_loss的计算公式为其中,n为像素值个数,xi表示二值化网纹位置的第i个像素值,yi表示预设的标签值与xi相对应的第i个像素值。该e_loss是指根据网纹提取器提取的网纹位置和预设的标签值之间的误差所构建的误差函数,该误差函数能够有效反映网纹提取器提取出来的网纹位置和实际情况之间的误差,能够根据该误差构建的误差函数对网纹提取器中的网络参数进行误差反传,更新网纹提取器中的网络参数。由误差函数反传更新网络参数的方法采用的是梯度下降法,这里的梯度下降法不限于批量梯度下降法、小批量梯度下降法和随机梯度下降法。采用梯度下降法能够找到误差函数的最小值,得到最小化的误差函数,从而有效实现网纹提取器中网络参数的更新,使得更新网络参数后的网纹提取器提取网纹位置的效果更好。

需要说明的是,采用步骤s21-s24,根据该像素值提取网纹位置的方式更新网纹提取器是可以适用不同的网纹类型(网纹位置的类型)的,即在训练网纹提取器阶段可以将多种不同的网纹类型一同进行训练;并且在网纹提取阶段,可以通过网纹提取器直接提取任意类型的网纹位置,在提取网纹位置时不会有网纹类型的局限。

s30:将网纹位置和带网纹训练样本输入到生成式对抗网络生成器中,生成仿真图片,并基于仿真图片和不带网纹训练样本获取第二误差函数。

其中,生成式对抗网络(gan,generativeadversarialnetworks),是一种深度学习模型,是复杂分布上无监督学习的方法之一。该模型通过框架中(至少)两个模块:生成模型(generativemodel)和判别模型(discriminativemodel)的互相博弈,学习产生与人们期望相当接近的输出。可以理解地,生成式对抗网络实际上就是根据生成模型和判别模型之间的博弈而不断地更新优化自身的模型(包括生成模型和判别模型),生成模型负责产生与训练样本高度相似的输出,判别模型则负责判别由生成模型生成的与训练样本高度相似的输出的真伪性,随着训练次数的增多,生成模型的“仿真”能力将会越强,产生的输出也会越接近训练样本,而判别模型的判别能力也会更强,能够识别由生成模块生成的高度“仿真”的输出,当最后判别模型判别的概率大概在50%时,代表此时判别模型已经不能分辨真伪(约等于瞎猜),此时生成模块生成的仿真样本已经与真实的训练样本相差无几了。仿真图片即生成式对抗网络生成器生成的图片,由生成式对抗网络生成器的特点即可得知。在一实施例中,生成式对抗网络生成器是指生成式对抗网络的生成模型。

在一实施例中,将网纹提取器提取的网纹位置和带网纹训练样本输入到生成式对抗网络生成器(也是一个模型)中,生成式对抗网络生成器根据网纹位置和带网纹训练样本生成相对应的仿真图片。具体地,生成式对抗网络生成器通过生成器中的网络参数(权值和偏置)对输入的网纹位置和带网纹训练样本进行处理,计算得到仿真图片。由于仿真图片是生成的,故只是最大程度地去模拟、近似不带网纹训练样本的“模样”。获取仿真图片后,根据仿真图片与不带网纹训练样本(即实际情况,在这里起的是标签作用)获取第二误差函数(即l_loss)。l_loss是指根据生成式对抗网络生成器生成出来的仿真图片和实际情况(不带网纹训练样本)之间的误差所构建的误差函数。具体地,能够根据仿真图片和实际情况之间的误差构建的误差函数l_loss对生成式对抗网络生成器中的网络参数进行误差反传,更新生成式对抗网络生成器的网络参数。

在一具体实施方式中,步骤s30中,将网纹位置和带网纹训练样本输入到生成式对抗网络生成器中,生成仿真图片,并基于仿真图片和不带网纹训练样本获取l_loss,具体包括:l_loss的计算公式为其中,n为像素值个数,xi表示仿真图片的第i个像素值,yi表示不带网纹训练样本与xi相对应的第i个像素值。优选地,为了便于计算,这里的xi和yi各自代表的像素值都是经过归一化处理后才进行误差函数的运算,能够有效简化计算并且加快去网纹系统的训练过程。

s40:将仿真图片和不带网纹训练样本输入到生成式对抗网络判别器中,获取判别结果,并根据判别结果获取第三误差函数和第四误差函数。

在一实施例中,将仿真图片和不带网纹训练样本输入到生成式对抗网络判别器中,获取判别结果。其中,该生成式对抗网络判别器是与生成式对抗网络生成器相对应的一种网络模型,用于判别生成式对抗网络生成器的生成的仿真图片的真伪。即生成式对抗网络判别器是指生成式对抗网络的判别模型。根据生成式对抗网络判别器的判别结果获取第三误差函数(即gan_g_loss)和第四误差函数(即gan_d_loss),gan_g_loss是反映生成式对抗网络生成器生成仿真图片的误差函数,能够根据该误差函数对生成式对抗网络生成器中的网络参数进行误差反传,更新网络参数;gan_d_loss是反映生成式对抗网络判别器判别仿真图片的误差函数,能够根据该误差函数对生成式对抗网络判别器中的网络参数进行误差反传,更新生成式对抗网络判别器中的网络参数。

在一具体实施方式中,步骤s40中,将仿真图片和不带网纹训练样本输入到生成式对抗网络判别器中,获取判别结果,并根据判别结果获取gan_g_loss和gan_d_loss,具体包括:生成式对抗网络判别器输出的判别结果为d(g(x))和d(y),x表示生成式对抗网络生成器的输入,x由n个xi组成,xi表示生成式对抗网络生成器输入的第i个像素值,g(x)表示生成式对抗网络生成器的输出,d(g(x))表示生成式对抗网络生成器的输出(即仿真图片,作为生成式对抗网络判别器的输入)在生成式对抗网络判别器(进行判别后)的输出,y表示不带网纹训练样本在生成式对抗网络判别器的输入,y由n个yi组成,yi表示不带网纹训练样本输入到生成式对抗网络判别器的第i个像素值,d(y)表示不带网纹训练样本在生成式对抗网络判别器的输出。gan_g_loss的计算公式为其中,gan_g_loss是描述生成式对抗网络判别器在对生成式对抗网络生成器的输出判别时出现误差的误差函数。gan_d_loss的计算公式为其中,gan_d_loss是描述生成式对抗网络判别器在对不带网纹训练样本判别时出现误差的误差函数。优选地,步骤s40中的像素值都是经过归一化处理后才进行误差函数的运算,能够有效简化计算并且加快去网纹系统的训练过程。

s50:采用预先训练好的人脸识别模型提取仿真图片的特征a和不带网纹训练样本的特征b,根据特征a和特征b获取第五误差函数。

其中,人脸识别模型是预先训练好的,该人脸识别模型可以采用开源的人脸集进行训练获取。

在一实施例中,采用预先训练好的人脸识别模型提取仿真图片的特征a和不带网纹训练样本(实际情况)的特征b,并根据特征a和特征b获取相对应的第五误差函数(即i_loss)。可以理解地,通过人脸识别模型提取仿真图片的特征a和不带网纹训练样本的特征b,并根据特征a和特征b构建的误差函数i_loss能够反映仿真图片和不带网纹训练样本在细微特征上的相似程度,借助人脸识别模型提取的细微特征可反映出仿真图片和不带网纹训练样本之间的特征差异,根据该差异可以构建合适的误差函数i_loss,并根据i_loss更新生成式对抗网络生成器中的网络参数和生成式对抗网络判别器中的网络参数,使得生成式对抗网络生成器生成的仿真图片越“真”,生成式对抗网络判别器的判别能力越“强”(因为仿真图片在生成式对抗网络判别器中是作为输入,也产生了误差,因此i_loss也可以更新生成式对抗网络判别器中的网络参数)。

在一具体实施方式中,如图4所示,步骤s50中,采用预先训练好的人脸识别模型提取仿真图片的特征a和不带网纹训练样本的特征b,根据特征a和特征b获取i_loss,包括如下步骤:

s51:将仿真图片输入到预先训练好的人脸识别模型,提取特征a。

在一实施例中,人脸识别模型提取仿真图片的特征是通过将仿真图片输入到人脸识别模型,由该预先训练好的人脸识别模型提取仿真图片中拥有的特征,该特征取为特征a,该特征a具体可以是指由预先训练好的人脸识别模型提取仿真图片中的每一像素值。

s52:将不带网纹训练样本输入到预先训练好的人脸识别模型,提取特征b。

在一实施例中,人脸识别模型提取不带网纹训练样本的特征是通过将不带网纹训练样本输入到人脸识别模型,由该预先训练好的人脸识别模型提取不带网纹训练样本中拥有的特征,该特征取为特征b,该特征b具体可以是指由预先训练好的人脸识别模型提取仿真图片中的与特征a相对应的每一像素值。

s53:计算特征a和特征b的欧式距离,获取第五误差函数,第五误差函数的计算公式为其中,n为像素值个数,ai表示特征a中的第i个像素值,bi表示特征b中的第i个像素值。

在一实施例中,采用欧式距离作为特征a和特征b的误差函数,该误差函数能够很好地描述特征a和特征b的差异,根据该差异构建的误差函数i_loss能够反传更新生成式对抗网络生成器中的网络参数和生成式对抗网络判别器中的网络参数,使得生成的仿真图片达到与不带网纹训练样本几乎相同的效果。优选地,ai和bi各自代表的的像素值都是经过归一化处理后才进行误差函数的运算,能够有效简化计算并且加快去网纹系统的训练过程。

s60:获取第六误差函数,根据第六误差函数更新生成式对抗网络生成器中的网络参数,其中,第六误差函数=第二误差函数+第三误差函数+第五误差函数。

其中,第六误差函数(即g_loss)是更新生成式对抗网络生成器中的网络参数最终采用的误差函数。

在一实施例中,获取g_loss,g_loss=l_loss+gan_g_loss+i_loss。可以理解地,l_loss反映的是生成式对抗网络生成器生成出来的仿真图片和实际情况(不带网纹训练样本)之间的误差;gan_g_loss反映的是生成式对抗网络生成器生成仿真图片在生成式对抗网络判别器进行判别时的误差(该误差体现在仿真图片作为生成式网络判别器的输入,与l_loss是不同的误差);i_loss反映的是仿真图片和不带网纹训练样本之间的特征差异(即误差)。这3个不同维度意义上的误差函数都能够反映生成式对抗网络生成器生成出来的仿真图片的误差,因此,这3个误差函数都可以用于更新生成式对抗网络生成器中的网络参数。由于这3个误差函数代表的是不同维度意义上的误差函数,因此将l_loss、gan_g_loss和i_loss结合起来能够达到非常优异的训练效果,更新网络参数后的生成式对抗网络生成器生成的图片几乎与不带网纹训练样本相同,能够达到“以假乱真”的效果。需要说明的是,g_loss=l_loss+gan_g_loss+i_loss中的算术符号“+”是指算术相加。由误差函数反传更新网络参数的方法采用的是梯度下降法,这里的梯度下降法不限于批量梯度下降法、小批量梯度下降法和随机梯度下降法。

s70:获取第七误差函数,根据第七误差函数更新生成式对抗网络判别器中的网络参数,其中,第七误差函数=第四误差函数+第五误差函数。

其中,第七误差函数(即d_loss)是更新生成式对抗网络判别器中的网络参数最终采用的误差函数。在一实施例中,获取d_loss,d_loss=gan_d_loss+i_loss。可以理解地,gan_d_loss反映的是生成式对抗网络判别器在对不带网纹训练样本判别时出现的误差。i_loss反映的是仿真图片和不带网纹训练样本之间在人脸识别模型分别提取的特征所存在的误差,该误差可通过仿真图片和不带网纹训练样本作为生成式对抗网络判别器的输入时体现出来。这两个不同维度意义上的误差函数都能够反映生成式对抗网络判别器在判别时,得出判别结果的误差,因此,这两个误差函数都可以用于更新生成式对抗网络判别器中的网络参数。由于这两个误差函数倒闭的是不同维度意义上的误差函数,因此将gan_d_loss和i_loss结合起来能够达到非常优异的训练效果,使得更新后的生成式对抗网络判别器的判别能力更强,进一步地提高生成式对抗网络生成器生成仿真图片的能力,直至生成式对抗判别网络处于瞎猜阶段(判别概率为50%),使得生成式对抗网络生成器生成的仿真图片与不带网纹的训练样本达到难以区分的效果。需要说明的是,d_loss=gan_d_loss+i_loss中的算术符号“+”是指算术相加。由误差函数反传更新网络参数的方法采用的是梯度下降法,这里的梯度下降法不限于批量梯度下降法、小批量梯度下降法和随机梯度下降法。

本实施例所提供的去网纹系统训练方法中,基于网纹位置和预设的标签值获取e_loss,根据e_loss反向更新网纹提取器的网络参数,使得根据e_loss更新后的网纹提取器在提取带网纹训练样本和不带网纹训练样本数据的网纹位置更为精确,提高后续去网纹系统训练的精确度。基于仿真图片和不带网纹训练样本获取l_loss,根据判别结果获取gan_g_loss和gan_d_loss,根据特征a和特征b获取i_loss,并基于生成式对抗网络的特点(包括生成式对抗网络生成器和生成式对抗网络判别器)根据l_loss、gan_g_loss、gan_g_loss和i_loss获取生成式对抗网络生成器的误差函数g_loss和生成式对抗网络判别器的误差函数d_loss,通过在训练去网纹系统中各部分模型产生的误差,由多维度上的不同误差函数构造相对应的误差函数,并将多个维度上的误差函数相加后,根据生成式对抗网络生成器和生成式对抗网络判别器最终分别采用的误差函数,反传更新去网络系统中各部分模型的网络参数,实现去网纹系统的充分有效训练。该去网纹系统涵盖了去网纹系统训练过程中每一影响去网纹系统去网纹效果的因素,每一因素反映了各自维度上可能存在的误差,根据误差构建适宜的误差函数并反传更新网络参数,训练整个去网纹系统,使得该去网纹系统对图片进行去网纹操作时能够达到非常优异的效果。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

图5示出与实施例中去网纹系统训练方法一一对应的去网纹系统训练装置的原理框图。如图5所示,该去网纹系统训练装置包括训练样本获取模块10、第一误差函数获取模块20、第二误差函数获取模块30、判别结果获取模块40、第五误差函数获取模块50、第六误差函数获取模块60和第七误差函数获取模块70。其中,训练样本获取模块10、第一误差函数获取模块20、第二误差函数获取模块30、判别结果获取模块40、第五误差函数获取模块50、第六误差函数获取模块60和第七误差函数获取模块70的实现功能与实施例中去网纹系统训练方法对应的步骤一一对应,为避免赘述,本实施例不一一详述。

训练样本获取模块10,用于提取待训练样本,待训练样本包括样本数量相等的带网纹训练样本和不带网纹训练样本。

第一误差函数获取模块20,用于将带网纹训练样本输入到网纹提取器中,提取网纹位置,基于网纹位置和预设的标签值获取第一误差函数,并根据第一误差函数更新网纹提取器的网络参数。

第二误差函数获取模块30,用于将网纹位置和带网纹训练样本输入到生成式对抗网络生成器中,生成仿真图片,并基于仿真图片和不带网纹训练样本获取第二误差函数。

判别结果获取模块40,用于将仿真图片和不带网纹训练样本输入到生成式对抗网络判别器中,获取判别结果,并根据判别结果获取第三误差函数和第四误差函数。

第五误差函数获取模块50,用于采用预先训练好的人脸识别模型提取仿真图片的特征a和不带网纹训练样本的特征b,根据特征a和特征b获取第五误差函数。

第六误差函数获取模块60,用于获取第六误差函数,根据第六误差函数更新生成式对抗网络生成器中的网络参数,其中,第六误差函数=第二误差函数+第三误差函数+第五误差函数。

第七误差函数获取模块70,用于获取第七误差函数,根据第七误差函数更新生成式对抗网络判别器中的网络参数,其中,第七误差函数=第四误差函数+第五误差函数。

优选地,第一误差函数获取模块20包括归一化单元21、像素差获取单元22、网纹位置二值化单元23和第一误差函数获取单元24。

归一化单元21,用于获取网纹位置的每一像素值,将每一像素值进行归一化处理,获取归一化像素值;其中,获取归一化像素值的公式为maxvalue表示网纹位置的所有像素值中的最大值,minvalue表示网纹位置的所有像素值中的最小值,x为每一像素值,y为归一化像素值。

像素差获取单元22,用于获取网纹位置的归一化像素值和对应的不带网纹训练样本的归一化像素值的像素差。

网纹位置二值化单元23,用于若像素差大于预设分界值,则将网纹位置对应的归一化像素值取作1,若像素差不大于预设分界值,则将网纹位置对应的归一化像素值取作0,获取二值化网纹位置。

第一误差函数获取单元24,用于根据二值化网纹位置的每一像素值和预设的标签值对应的每一像素值进行计算,获取第一误差函数,并根据第一误差函数更新网纹提取器的网络参数;其中,第一误差函数的计算公式为其中,n为像素值个数,xi表示二值化网纹位置的第i个像素值,yi表示预设的标签值与xi相对应的第i个像素值。

优选地,第二误差函数的计算公式为其中,n为像素值个数,xi表示仿真图片的第i个像素值,yi表示不带网纹训练样本与xi相对应的第i个像素值。

优选地,判别结果为d(g(x))和d(y),x表示生成式对抗网络生成器的输入,x由n个xi组成,xi表示生成式对抗网络生成器输入的第i个像素值,g(x)表示生成式对抗网络生成器的输出,d(g(x))表示生成式对抗网络生成器的输出在生成式对抗网络判别器的输出,y表示不带网纹训练样本在生成式对抗网络判别器的输入,y由n个yi组成,yi表示不带网纹训练样本输入到生成式对抗网络判别器的第i个像素值,d(y)表示不带网纹训练样本在生成式对抗网络判别器的输出;

第三误差函数的计算公式为

第四误差函数的计算公式为

优选地,第五误差函数获取模块50包括特征a提取单元51、特征b提取单元52和第五误差函数获取单元53。

特征a提取单元51,用于将仿真图片输入到预先训练好的人脸识别模型,提取特征a;

特征b提取单元52,用于将不带网纹训练样本输入到预先训练好的人脸识别模型,提取特征b;

第五误差函数获取单元53,用于计算特征a和特征b的欧式距离,获取第五误差函数,第五误差函数的计算公式为其中,n为像素值个数,ai表示特征a中的第i个像素值,bi表示特征b中的第i个像素值。

图6示出在一实施例中去网纹方法的一流程图。该去网纹方法可应用在银行、证券、投资和保险等金融机构或者需进行图片去网纹的其他机构的计算机设备上,以便对带有网纹的图片进行去网纹处理,达到人工智能目的。其中,该计算机设备是可与用户进行人机交互的设备,包括但不限于电脑、智能手机和平板等设备。如图6所示,该去网纹方法包括如下步骤:

s80:将待去网纹图片输入到网纹提取器中,提取待去网纹图片的网纹位置,网纹提取器是采用实施例中去网纹系统训练方法获取的第一误差函数更新网纹提取器的网络参数后得到的。

其中,待去网纹图片是指待进行去网纹处理的目标图片。

在一实施例中,将待去网纹图片输入到网纹提取器中,并由网纹提取器提取待去网纹图片的网纹位置,为后续根据该网纹位置生成目标去网纹图片提供了技术前提。采用实施例中去网纹系统训练方法获取的第一误差函数更新网纹提取器的网络参数后形成的网纹提取器能够精确地提取待去网纹图片的网纹位置,有效提高网纹提取的精确性。

s90:将待去网纹图片的网纹位置和待去网纹图片输入到生成式对抗网络生成器中,生成目标去网纹图片,生成式对抗网络生成器是采用实施例中去网纹系统训练方法获取的第六误差函数更新生成式对抗网络生成器的网络参数后得到的。

其中,目标去网纹图片是指由待去网纹图片经去网纹处理后获取的目标图片。

在一实施例中,将由网纹提取器在待去网纹图片中提取的网纹位置和待去网纹图片一同输入到生成式对抗网络生成器中,由生成式对抗网络生成器根据网纹位置去掉待去网纹图片中的网纹,生成目标去网纹图片。采用实施例中去网纹系统训练方法获取的第六误差函数更新生成式对抗网络生成器的网络参数后形成的生成式对抗网络生成器精确去除了待去网纹图片中的网纹,能够有效提高去网纹效果。

本实施例所提供的去网纹方法中,先通过网纹提取器提取待去网纹图片的网纹位置,采用实施例中去网纹系统训练方法获取的第一误差函数更新网纹提取器的网络参数后形成的网纹提取器能够精确地提取待去网纹图片的网纹位置,有效提高网纹提取的精确性,再通过生成式对抗网络生成器根据网纹位置去掉待去网纹图片中的网纹,生成目标去网纹图片,采用实施例中去网纹系统训练方法获取的第六误差函数更新生成式对抗网络生成器的网络参数后形成的生成式对抗网络生成器精确去除了待去网纹图片中的网纹,能够有效提高去网纹效果,采用该去网纹方法生成的目标去网纹图片与没加网纹之前对应的图片几乎没有区别,能够实现非常好的去网纹效果。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

图7示出与实施例中去网纹方法一一对应的去网纹装置的原理框图。如图7所示,该去网纹装置包括网纹位置提取模块80和目标去网纹图片生成模块90。其中,网纹位置提取模块80和目标去网纹图片生成模块90的实现功能与实施例中去网纹方法对应的步骤一一对应,为避免赘述,本实施例不一一详述。

网纹位置提取模块80,用于将待去网纹图片输入到网纹提取器中,提取待去网纹图片的网纹位置,网纹提取器是采用实施例中去网纹系统训练方法获取的第一误差函数更新网纹提取器的网络参数后得到的。

目标去网纹图片生成模块90,用于将待去网纹图片的网纹位置和待去网纹图片输入到生成式对抗网络生成器中,生成目标去网纹图片,生成式对抗网络生成器是采用实施例中去网纹系统训练方法获取的第六误差函数更新生成式对抗网络生成器的网络参数后得到的。

本实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现实施例中去网纹系统训练方法,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现实施例中去网纹系统训练装置的各模块/单元的功能,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现实施例中去网纹方法中各步骤的功能,为避免重复,此处不一一赘述。或者,该计算机程序被处理器执行时实现实施例中去网纹装置中各模块/单元的功能,为避免重复,此处不一一赘述。

图8是本发明一实施例提供的计算机设备的示意图。如图8所示,该实施例的计算机设备100包括:处理器101、存储器102以及存储在存储器102中并可在处理器101上运行的计算机程序103,该计算机程序103被处理器101执行时实现实施例中的去网纹系统训练方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器101执行时实现实施例中去网纹系统训练装置中各模型/单元的功能,为避免重复,此处不一一赘述。或者,该计算机程序被处理器101执行时实现实施例中去网纹方法中各步骤的功能,为避免重复,此处不一一赘述。或者,该计算机程序被处理器101执行时实现实施例中去网纹装置中各模块/单元的功能。为避免重复,此处不一一赘述。

示例性的,计算机程序103可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器102中,并由处理器101执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序103在计算机设备100中的执行过程。例如,计算机程序103可被分割成实施例中的训练样本获取模块10、第一误差函数获取模块20、第二误差函数获取模块30、判别结果获取模块40、第五误差函数获取模块50、第六误差函数获取模块60和第七误差函数获取模块100,或者实施例中的网纹位置提取模块80和目标去网纹图片生成模块90,各模块的具体功能如实施例所示,为避免重复,此处不一一赘述。

计算机设备100可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可包括,但不仅限于,处理器101、存储器102。本领域技术人员可以理解,图8仅仅是计算机设备100的示例,并不构成对计算机设备100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器101可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器102可以是计算机设备100的内部存储单元,例如计算机设备100的硬盘或内存。存储器102也可以是计算机设备100的外部存储设备,例如计算机设备100上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器102还可以既包括计算机设备100的内部存储单元也包括外部存储设备。存储器102用于存储计算机程序以及计算机设备所需的其他程序和数据。存储器102还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

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

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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