神经网络及关联图像的生成方法与流程

文档序号:16742366发布日期:2019-01-28 13:08阅读:226来源:国知局
神经网络及关联图像的生成方法与流程

本发明涉及计算机领域,特别涉及一种神经网络及关联图像的生成方法。



背景技术:

随着电子设备特别是智能手机的发展,涌现了越来越多对于图像生成的需求,例如,如何将有一张无表情的人脸照片,修改成一张微笑人脸照片。现有的图像生成,一般采用以下几种方式:

(1)在原始图片的基础上,通过人工干涉或者手工修改的方式生成新图片;

(2)通过两张图片局部替换的方式来生成新图片;

(3)通过对原图的某些像素修改的方式来生成新图片;

(4)通过深度学习的对抗网络生成新图片。

但上述的技术,存在以下问题:

(1)通过人工干涉/手工修改生成新图片的方式复杂耗时,并且需要一定的专业技巧,普通用户无法掌握,如通过photoshop来修改图片等。

(2)通过两张图片之间进行局部替换的方式来生成新图片,需要用户提供替代图,限制了使用的场景。

(3)通过对原图的某些像素修改的方式来生成新图片,生成的图片生硬不自然,与原图相比经常失真严重。

(4)通过对抗网络(gan)生成的图片具有随机性,不能指定明确的生成效果,无法满足用户的需求。

由此可见,现有技术均无法有效满足用户需求,急需开发一种修改效果生动自然的图像生成技术。



技术实现要素:

有鉴于此,本发明提供一种神经网络及关联图像的生成方法,以解决现有图像生成技术修改效果不佳的问题。

本发明提供一种神经网络,该神经网络用于生成原始图像的关联图像,至少包括:特征提取层、特征变幻层和图像生成层;

特征提取层通过卷积操作将原始图像转换为特征图;

特征变幻层用于将特征图中的a1特征转换为a2特征,其中a2特征是a1特征的关联特征;

图像生成层通过反卷积操作将包含a2特征的特征图转换为关联图像输出。

本发明还提供一种关联图像的生成方法,该方法包括:

将任一原始图像输入本发明上述的神经网络,该神经网络输出原始图像的关联图像。

本发明提供了一种神经网络,该神经网络可通过深度学习来找到关联物体的特征变幻关系,即特征a1与特征a2的转换关系,通过卷积—反卷积的过程来修改原图,将某个图片的局部特征a1转换为局部特征a2,并生成新图片。基于此,本发明的神经网络可以根据用户的需要,生成不同的图片,比如纠正照片中表情呆滞的人脸为微笑的人脸,或将闭眼照片纠正为睁眼照片等。

附图说明

图1为本发明神经网络的结构示意图;

图2为图1中特征提取层的一个实施例;

图3为图1中特征变幻层的一个实施例;

图4为图1中图像生成层的一个实施例;

图5为本发明神经网络的第1应用示意图;

图6为本发明神经网络的第2应用示意图;

图7为本发明神经网络的第3应用示意图;

图8为本发明神经网络的第4应用示意图;

图9为本发明神经网络的第5应用示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

本发明提供一种神经网络,该神经网络用于生成原始图像的关联图像,如图1所示该神经网络至少包括:特征提取层、特征变幻层和图像生成层;

图1中的特征提取层通过卷积操作将原始图像转换为特征图;该特征图包含a1特征,a1特征为用户期望被神经网络纠正或替换的特征。

图1中的特征变幻层用于将特征图中的a1特征转换为a2特征,其中a2特征是a1特征的关联特征;

图1中的图像生成层通过反卷积操作将包含a2特征的特征图转换为关联图像输出。

a1特征和a2特征是本发明的神经网络在训练时网络学习到的关联特征,使特征变幻层在检测到a1特征时,将a1特征自动替换为a2特征。

上述特征提取层负责从原始图像中抽取其最本质的图像特征,输入给下一层的特征变幻层进行操作,训练好的卷积参数记录了原始图像特征提取规律。

经过大量的试验测试,本发明选取空洞卷积作为特征提取层的卷积类型,相比其他卷积方式,有利于提高本发明神经网络输出的关联图像的准确率。

令原始图像输入特征提取层的输入数据格式为[1,3,512,512],其中1代表一张原始图像,3代表3个通道,第1个512是像素宽,第2个512是像素高。

特征提取层包含l个空洞卷积,l≥1。

进一步地,l=4,本发明优选特征提取层包含4个空洞卷积。

其中,空洞卷积的扩张区域d优选为2。

设空洞卷积的感受野为g,则有:

g(d)=[pow(2,(d/2)+2)-1]×[pow(2,(d/2)+2)-1]

则下一级blob的图像的像素宽高的计算公式:

l_next=(l-g(d))/stride+1

l为当前层的图像宽高,因此得出下一层的数据格式blobshapes为:[1,r,l_next,l_next]。

下面说明4个空洞卷积的工作流程:

原始图像的[1,3,512,512]输入第1空洞卷积,具体包括将原始图像数据转换为[1,3,512,512]格式再输入第1空洞卷积。

优先设置第1空洞卷积的卷积核尺寸k为3,步幅stride为1,r=32输出32个特征图。则,第1空洞卷积的输入为[1,3,512,512],输出为[1,32,506,506],其中32代表32个特征图,第1个506为输出特征图的像素宽,第2个506为输出特征图的像素高,其中506根据公式l_next=(l-g(d))/stride+1计算得到。

第1空洞卷积输出的32个特征图输入第2空洞卷积。

优先设置第2空洞卷积的卷积核尺寸k为3,步幅stride为1,r=16输出16个特征图。则,第2空洞卷积的输入为[1,32,506,506],输出为[1,16,500,500],其中500根据公式l_next=(l-g(d))/stride+1计算得到。

第2空洞卷积输出的16个特征图输入第3空洞卷积。

优先设置第3空洞卷积的卷积核尺寸k为3,步幅stride为2,r=8输出8个特征图。则,第3空洞卷积的输入为[1,16,500,500],输出为[1,8,248,248],其中248根据公式l_next=(l-g(d))/stride+1计算得到。

第3空洞卷积输出的8个特征图输入第4空洞卷积。

优先设置第4空洞卷积的卷积核尺寸k为3,步幅stride为2,r=4输出4个特征图。则,第4空洞卷积的输入为[1,8,248,248],输出为[1,4,122,122],其中122根据公式l_next=(l-g(d))/stride+1计算得到。

第4空洞卷积输出的4个特征图输入特征变幻层。

上述4个空洞卷积的参数设置,包括k、stride、r以及d,均是通过大量的试验得出的优选参数,有利于提高本发明神经网络输出的关联图像的准确率。

可选地,在每一个空洞卷积之后,可使用一个非线性层,如此可以在系统中引入非线性特征。例如,如图2所示,使用relu层,其具有比tanh和sigmoid函数更好的速度与效率,relu层主要是对于input的所有值应用函数f(x)=max(0,x),也就是说该层可以使所有的negativeactivations为0,大大地减少数据储存空间,加快神经网络的处理速度。

特征提取层的卷积数量为l(l≥1,根据本发明的训练数据,选取l=4得出最佳试验效果),每个特征提取层包含有卷积处理,激活处理等一系列的操作。经过l个特征提取层的卷积等操作后,分别提取出原始图像的包含a1特征的特征图列表。

图1中的特征变幻层负责从将输入原始图像的特征图经过变幻,转化成输出关联图像的特征图,训练好的卷积参数记录了a1特征与a2特征的转化规律。

经过大量的试验测试,本发明选取原始卷积作为特征变幻层的卷积类型,相比其他卷积方式,有利于提高本发明神经网络输出的关联图像的准确率。

特征变幻层包含m个原始卷积,m≥1。

进一步地,m=4,本发明优选特征变幻层包含4个原始卷积。

其中,原始卷积下一级blob的图像的像素宽高的计算公式:

l_next=(l-k)/stride+1

l为当前层的图像宽高,因此得出下一层的数据格式blobshapes为:[1,r,l_next,l_next]。

下面说明4个原始卷积的工作流程:

特征提取层输出[1,4,122,122]输入第1原始卷积。

优先设置第1原始卷积的卷积核尺寸k为6,步幅stride为1,r=32输出32个特征图。则,第1原始卷积的输入为[1,4,122,122],输出为[1,32,117,117],其中32代表32个特征图,第1个117为输出特征图的像素宽,第2个117为输出特征图的像素高,其中117根据公式l_next=(l-k)/stride+1计算得到。在卷积过程中进行特征转化。

第1原始卷积输出的32个特征图输入第2原始卷积。

优先设置第2原始卷积的卷积核尺寸k为5,步幅stride为1,r=16输出16个特征图。则,第2原始卷积的输入为[1,32,117,117],输出为[1,16,113,113],其中113根据公式l_next=(l-k)/stride+1计算得到。在卷积过程中进行特征转化。

第2原始卷积输出的16个特征图输入第3原始卷积。

优先设置第3原始卷积的卷积核尺寸k为4,步幅stride为2,r=8输出8个特征图。则,第3原始卷积的输入为[1,16,113,113],输出为[1,8,60,60],其中60根据公式l_next=(l-k)/stride+1计算得到。在卷积过程中进行特征转化。

第3原始卷积输出的8个特征图输入第4原始卷积。

优先设置第4原始卷积的卷积核尺寸k为3,步幅stride为2,r=4输出4个特征图。则,第4原始卷积的输入为[1,8,60,60],输出为[1,4,30,30],其中30根据公式l_next=(l-k)/stride+1计算得到。在卷积过程中进行特征转化。

第4原始卷积输出的4个特征图输入图像生成层。

上述4个原始卷积的参数设置,包括k、stride、r,均是通过大量的试验得出的优选参数,有利于提高本发明神经网络输出的关联图像的准确率。

可选地,在每一个原始卷积之后,可使用一个非线性层,如此可以在系统中引入非线性特征。例如,如图3所示,使用relu层,其具有比tanh和sigmoid函数更好的速度与效率,relu层主要是对于input的所有值应用函数f(x)=max(0,x),也就是说该层可以使所有的negativeactivations为0,大大地减少数据储存空间,加快神经网络的处理速度。

特征变幻层的卷积数量为m(m≥1),每个特征变幻层包含有卷积处理、激活处理等一系列的操作。经过m个特征变幻层的卷积操作后,a1的主特征图会转化为a2的主特征图,而副特征图不变。在这里需要说明的是,特征变幻的卷积会通过步长,pad等控制转化前后的特征图大小不变。

图1中的图像生成层负责将特征变幻层输出的特征图合成为关联图像的输出,训练好的卷积参数记录了特征图像的合成规律。

经过大量的试验测试,本发明选取转置卷积作为图像生成层的卷积类型,相比其他卷积方式,有利于提高本发明神经网络输出的关联图像的准确率。

图像生成层包含n个转置卷积,n≥1。

进一步地,n=5,本发明优选图像生成层包含5个转置卷积。

其中,转置卷积下一级blob的图像的像素宽高的计算公式:

l_next=(l+k)/stride+1

l为当前层的图像宽高,因此得出下一层的数据格式blobshapes为:[1,r,l_next,l_next]。

下面说明5个转置卷积的工作流程:

特征变幻层输出[1,4,30,30]输入第1转置卷积。

优先设置第1转置卷积的卷积核尺寸k为6,步幅stride为1,r=24输出24个特征图。则,第1转置卷积的输入为[1,4,30,30],输出为[1,24,35,35],其中24代表24个特征图,第1个35为输出特征图的像素宽,第2个35为输出特征图的像素高,其中35根据公式l_next=(l+k)/stride+1计算得到。

第1转置卷积输出的24个特征图输入第2转置卷积。

优先设置第2转置卷积的卷积核尺寸k为5,步幅stride为1,r=12输出12个特征图。则,第2转置卷积的输入为[1,24,35,35],输出为[1,12,39,39],其中39根据公式l_next=(l+k)/stride+1计算得到。

第2转置卷积输出的12个特征图输入第3转置卷积。

优先设置第3转置卷积的卷积核尺寸k为2,步幅stride为2,r=9输出9个特征图。则,第3转置卷积的输入为[1,12,39,39],输出为[1,9,81,81],其中81根据公式l_next=(l+k)/stride+1计算得到。

第3转置卷积输出的9个特征图输入第4转置卷积。

优先设置第4转置卷积的卷积核尺寸k为4,步幅stride为3,r=6输出6个特征图。则,第4转置卷积的输入为[1,9,81,81],输出为[1,6,254,254],其中254根据公式l_next=(l+k)/stride+1计算得到。

第4转置卷积输出的6个特征图输入第5转置卷积。

优先设置第5转置卷积的卷积核尺寸k为2,步幅stride为2,r=3输出3个特征图。则,第5转置卷积的输入为[1,6,254,254],输出为[1,3,512,512],其中512根据公式l_next=(l+k)/stride+1计算得到。

第5转置卷积输出的3个特征图为关联图像的3通道图,根据3通道图即可得到关联图像,且第5转置卷积输出的3个特征图的大小与输入第1空洞卷积的3个特征图的大小相同,确保关联图像与原始图像的大小相同。

可选地,将合成的关联图像显示给用户查看。

上述5个转置卷积的参数设置,包括k、stride、r,均是通过大量的试验得出的优选参数,有利于提高本发明神经网络输出的关联图像的准确率。

可选地,在每一个转置卷积之后,可使用一个非线性层,如此可以在系统中引入非线性特征。例如,如图4所示,使用relu层,其具有比tanh和sigmoid函数更好的速度与效率,relu层主要是对于input的所有值应用函数f(x)=max(0,x),也就是说该层可以使所有的negativeactivations为0,大大地减少数据储存空间,加快神经网络的处理速度。

以上是对本发明神经网络的说明。

本发明的神经网络通过卷积—反卷积的过程进行特征提取,图形变换,最终生成需要的图片。卷积操作在图像处理方面应用非常广泛,可以提取到图像最本质的特征,并且在图像变幻上取得很好的效果。而反卷积作为卷积的逆运算,在图形复原与图像生成上也有较好的表现。通过卷积提取特征—卷积特征变幻—反卷积图像生成的一系列操作,可以实现新图像的有目的生成。

基于本发明的神经网络,本发明还提出一种关联图像的生成方法,该方法包括:将任一原始图像输入本发明的神经网络,该神经网络输出该原始图像的关联图像。

下面说明本发明神经网络的训练方法。

样本数据:样本数据成对出现,每对分为两张,一张是原始图(包含a1特征),一张是目的图(包含a2特征)。以从无表情的人眼来生成微笑的人眼为例,原始图就是无表情人眼,目的图就是微笑的人眼,并且每对眼睛应该属于同一个人。

对于同一个人来说,基于自己个人眼睛特征基础之上,会有一个形状的变化,才能从无表情的人眼变为微笑的人眼,成对的照片可以帮助神经网络找到这个形状变化规律,从而实现关联图像的生成。

图片可以通过多种方法来采集,如人工采集/使用检测软件在视频中自动截取/网络下载等,在此不再赘述。

神经网络训练:读取样本数据至神经网络中,通过特征提取卷积层分离特征信息,抽取出其中的主特征信息。比如眼睛的形状就是主特征信息。随后由特征变幻卷积层将主特征信息变形,变形后与其他副特征信息进行累加。最后由图像生成反卷积层将特征信息恢复到原始图片大小,生成结果图(关联图像)。计算输出的结果图与目的图片之间的差值为loss值,判断loss值是否满足预设的阈值,如果满足则维持神经网络参数不变,否则,基于梯度下降原则,来调整神经网络参数并重新执行上述训练过程,直到loss值收敛,最后形成训练好的神经网络模型。

本发明的神经网络通过成对的海量训练数据,分别提取原始图像与目的图像的特征信息,可以找到不同表情之间的变幻规律,通过卷积操作来找到特征的变幻关系,从而生成的图像具有强烈的目的性,能够控制图像生成的方向,修改的效果并非是生硬的,而是能够抓住事物本质特征,将特征比如表情转化的更加生动自然,有效的解决了现有技术中存在的问题,满足用户的需求将某个图片转换为另外一个状态。比如纠正照片中表情呆滞的人脸为微笑的人脸,或纠正闭眼照片为睁眼照片等。

以下是本发明神经网络的应用说明。

应用一

用户出外旅行拍了大量照片,回到家中整理照片时,发现照片中的风景很美,但人物表情僵硬或不自然。将需要修改照片输入本发明训练好的神经网络中(图5左图),则该神经网络能自动修正人物表情,如图5右图所示,将局部表情修改为用户满意的表情,且修改后的图像整体生动自然。

应用二

聚会时进行多人合影留念,其中大部分人的表情都很好,但有几个个人闭眼。则将闭眼照片输入本发明训练好的神经网络中(图6上图),则该神经网络能自动修正人物眼睛状态,如图6下图所示,自动修正闭眼为睁眼,且修改后的图像整体生动自然。

应用三

找到一张自己喜欢的明星的照片,将这张明星的照片生成多个表情的照片来收藏,如图7所示。

应用四

新绘制的卡通人物,可以基于本发明训练好的神经网络中自动生成多个表情的图片,如图8所示,左图为原图,右图为本发明神经网络生成的关联图像,如此减少漫画家的绘制工作量。

应用五

将一个春天的风景图,生成夏/秋/冬等季节对应的风景图等,如图9所示。

以上所述仅为本发明的较佳实施例而已,并不用以限定本发明的包含范围,凡在本发明技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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