基于卷积神经网络的任意尺寸样本纹理合成方法转让专利

申请号 : CN201710781915.4

文献号 : CN107578455B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宋彬吴科永郭洁蔡秀霞秦浩

申请人 : 西安电子科技大学

摘要 :

本发明公开了一种基于卷积神经网络的任意尺寸样本纹理合成方法。其步骤为:(1)输入一幅512×512的待处理纹理图像;(2)构建并训练卷积神经网络;(3)划分待处理纹理图像;(4)生成待处理纹理图像的合成图像矩阵;(5)生成待处理纹理图像的合成图像。本发明将卷积神经网络引入到纹理图像合成领域来,克服了现有技术中采用最佳匹配易导致得到的结果是局部最优以及无法合成任意尺寸的纹理图像的不足,合成的纹理图像轮廓更加清晰,更加真实自然。

权利要求 :

1.一种基于卷积神经网络的任意尺寸样本纹理合成方法,其特征在于,包括以下步骤:(1)输入一幅512×512的待处理纹理图像;

(2)构建并训练卷积神经网络:

(2a)构建含有7层的卷积神经网络;

(2b)将纹理图片输入到卷积神经网络,训练卷积神经网络,直到其输出层的损失函数值小于等于0.0001,得到训练好的卷积神经网络;

(3)划分待处理纹理图像:

(3a)将待处理纹理图像输入到训练好的卷积神经网络的前5层,得到前5层的特征图;

(3b)卷积神经网络每一层中待处理纹理图像的特征图矩阵自相乘,组成格拉姆Gram矩阵;

(3c)按照下式,生成待处理纹理图像的子块矩阵:

其中, 表示对y的取值操作,y表示待处理纹理图像的子块矩阵,min表示最小值操作,s表示待处理纹理图像的子块权重系数,s∈{1000,2000},∈表示属于符号,∑表示求和操作,wr表示训练好的卷积神经网络第r层的权重值,Nr、Mr分别表示训练好的卷积神经网络第r层特征向量的行和列,Gr表示在训练好的卷积神经网络中第r层的格拉姆Gram矩阵;

(3d)s=1000时,生成待处理纹理图像的子块矩阵1,按照阵列式扫描方式,依次将待处理纹理图像的子块矩阵1放入各自对应的待处理纹理图像的合成图像位置中,得到待处理纹理图像的子块1;

(3e)s=2000时,生成待处理纹理图像的子块矩阵2,按照阵列式扫描方式,依次将待处理纹理图像的子块矩阵2放入各自对应的待处理纹理图像的合成图像位置中,得到待处理纹理图像的子块2;

(4)按照下式,生成待处理纹理图像的合成图像矩阵:

其中, 表示对T取值操作,T表示待处理纹理图像的合成图像矩阵,min表示最小值操作,λ表示模型参数,且λ∈[0,1],∑表示求和操作,wq表示训练好的卷积神经网络在第q层的权重值,Nq、Mq分别表示第q层特征向量的行和列,Gq表示在训练好的卷积神经网络中第q层待处理纹理图像的子块1的格拉姆Gram矩阵,Fq表示在训练好的卷积神经网络中第q层待处理纹理图像的子块2的特征图矩阵;

(5)生成待处理纹理图像的合成图像:

按照阵列式扫描方式,依次将待处理纹理图像的合成图像矩阵,放入各自对应的待处理纹理图像的合成图像位置中,得到待处理纹理图像的合成图像。

2.根据权利要求1所述的基于卷积神经网络的任意尺寸样本纹理合成方法,其特征在于:步骤(2a)中所述7层卷积神经网络的结构依次是,卷积层conv1_1,卷积层conv2_1,卷积层conv3_1,池化层pool4,卷积层conv5_1,全连接层fc6,分类层softmax7。

3.根据权利要求1所述的基于卷积神经网络的任意尺寸样本纹理合成方法,其特征在于:步骤(2a)中所述构建含有7层的卷积神经网络的步骤如下:第1步,将512×512像素大小的纹理图输入卷积层conv1_1,用64个卷积核,对其进行块大小为3×3像素和步长为1像素的卷积操作,得到64幅510×510像素大小的特征图;

第2步,将卷积层conv1_1输出的64幅特征图输入到卷积层conv2_1,用128个卷积核,对其进行块大小为3×3像素和步长为1像素的卷积操作,得到128幅508×508像素大小的特征图;

第3步,将卷积层conv2_1输出的128幅特征图输入卷积层conv3_1,用256个卷积核,对其进行块大小为3×3像素和步长为1像素的卷积操作,得到256幅分辨率为506×506像素的特征图;

第4步,将卷积层conv3_1输出的256幅特征图输入池化层pool4,对其进行最大池化操作,池化块的大小为2×2像素,步长为2像素,得到256幅分辨率为253×253像素的特征图;

第5步,将池化层pool4输出的256幅特征图输入卷积层conv5_1,用512个卷积核,对其进行块大小为3×3像素和步长为1像素的卷积操作,得到512幅分辨率为251×251像素的特征图;

第6步,将卷积层conv5_1输出的512幅特征图输入全连接层fc6,按照下式,对其中每一个像素点进行激活,得到激活后的特征图的像素点的值,将激活后的特征图以列的顺序排列成1维向量,得到1×3136维的特征图:其中,f(x)表示激活后的特征图的像素点的值,x表示激活前特征图的像素点的值,e表示一个自然常数;

第7步,将全连接层fc6输出的特征向量输入分类层softmax7,得到纹理图的分类标签;

第8步,按照下式,计算分类层softmax7输出的分类标签的概率,输出每个分类标签的概率:p(β=t|α;θ)=eθ

其中,p(·)表示分类层softmax7输出的分类标签的概率,β表示卷积神经网络中全连接层fc6输出的第α个特征图,t表示分类层softmax7输出的分类标签值,t∈1,2,...,20,|表示限制符号,e表示一个自然常数,θ表示模型参数;

第9步,按照下式,计算分类层softmax7的损失函数:

其中,J(θ)表示分类层softmax7的损失函数,m表示纹理样本的数量,e表示一个自然常数,θ表示模型参数。

4.根据权利要求1所述的基于卷积神经网络的任意尺寸样本纹理合成方法,其特征在于:步骤(2b)中所述训练卷积神经网络的步骤如下:第1步,向前传播阶段,将样本输入卷积神经网络计算相应的实际输出,在此阶段,信息从卷积神经网络输入层经过逐级变换,传送到卷积神经网络输出层;

第2步,向后传播阶段,计算卷积神经网络实际输出与样本标签对应的理想输出的差,按极小化误差的方法,反向传播调整卷积神经网络的权值;

第3步,重复第1步和第2步的操作,直到卷积神经网络分类层softmax7之后的输出的损失函数J(θ)≤0.0001为止。

5.根据权利要求1所述的基于卷积神经网络的任意尺寸样本纹理合成方法,其特征在于:步骤(3d)、步骤(3e)、步骤(5)中所述阵列式扫描方式是从左到右、从上到下依次读取矩阵中的每一个元素。

说明书 :

基于卷积神经网络的任意尺寸样本纹理合成方法

技术领域

[0001] 本发明属于图像处理技术领域,更进一步涉及自然图像处理技术领域中的一种基于卷积神经网络的任意尺寸样本纹理合成方法。本发明针对所有不规则自然纹理图像,采用卷积神经网络,可用于任意尺寸纹理图像的合成。

背景技术

[0002] 目前,纹理合成已经成为图像处理技术领域里的一个很重要的研究主题。根据样本纹理合成时选取的基本单元不同,MRF(Markov Random Field,马尔可夫随机场)模型下的纹理合成方法基本上可以分为两类:一是基于像素的纹理合成;二是基于块的纹理合成。两类方法各有所长,基于像素的方法善于捕捉纹理的局部细节,难于凸现和吻合全局特征;
相对而言,基于块的方法能够捕捉较大范围内的纹理特征,但却在边界处理方面较为逊色。
纹理合成方法的好坏主要依赖于给定纹理样本的类型(随机纹理、结构纹理、分离元素纹理等)和所采用的合成策略,因此研究纹理的特性及其分类对于研究纹理合成是十分必要的。
另外,纹理合成结果质量的好坏需要有衡量的尺度和标准。对于纹理类别的研究,研究者们曾进行过深入的研究,提出了诸如:静态纹理、全局变化纹理、动态纹理、分离元素纹理等多种类型。
[0003] 天津理工大学在其申请的专利文献“一种基于最佳匹配的图像纹理合成方法”(专利申请号201410112095.6,公开号CN103839271A)中公开了一种新的基于最佳匹配的图像纹理合成方法。该方法中不仅考虑了颜色的相似性,还加入了梯度结构信息,把纹理的颜色差异和梯度结构信息作为衡量两个匹配块间的相似性度量,并深入分析最佳匹配纹理块的大小对合成的影响,根据不同纹理自适应确定纹理块大小,以提高纹理合成的速率和质量。但是,该方法仍然存在的不足之处是,使用的最佳匹配易导致少量获取的特征较少,得到的结果是局部最优,同时像素点之间匹配易出现错误,使得合成的纹理图像易于模糊,且无法合成任意大小的纹理图像。
[0004] Alexandre Kaspar等人在其发表的论文“Self Tuning Texture Optimization”(Computer Graphics Forum,2015,34(2):349-359)中公开了一种基于不同块之间的欧氏距离的方法。该方法针对在现实世界中高分辨率纹理往往包含多个尺度的纹理细节,目前的方法难以合成相关的纹理。该方法首先对输入图像的各颜色通道求解欧氏距离,其次求解满足块与块之间的匹配。该方法的优势在于提出了一个通用的、全自动校正的非参数化的纹理合成方法,通过引入一些关键性的改进来合成纹理,展示了比较优越的纹理合成能力。但是,该方法仍然存在的不足之处是,使用像素域上的欧氏距离易导致合成的纹理包含了许多破碎的结构,对于低分辨率的输入图像,算法并不能完成纹理合成。

发明内容

[0005] 本发明的目的在于克服上述现有技术的缺陷,提出一种基于卷积神经网络的任意尺寸样本纹理合成方法。本发明在纹理合成过程中,提取纹理图像的全局特征,获取更多的纹理信息,最终合成的纹理图像更加真实自然,同时该发明能够合成任意尺寸的纹理图像。
[0006] 本发明的具体步骤如下:
[0007] (1)输入一幅512×512的待处理纹理图像;
[0008] (2)构建并训练卷积神经网络:
[0009] (2a)构建含有7层的卷积神经网络;
[0010] (2b)将纹理图片输入到卷积神经网络,训练卷积神经网络,直到其输出层的损失函数值小于等于0.0001,得到训练好的卷积神经网络;
[0011] (3)划分待处理纹理图像:
[0012] (3a)将待处理纹理图像输入到训练好的卷积神经网络的前5层,得到前5层的特征图;
[0013] (3b)卷积神经网络每一层中待处理纹理图像的特征图矩阵自相乘,组成格拉姆Gram矩阵;
[0014] (3c)按照下式,生成待处理纹理图像的子块矩阵:
[0015]
[0016] 其中, 表示对y的取值操作,y表示待处理纹理图像的子块矩阵,min表示最小值操作,s表示待处理纹理图像的子块权重系数,s∈{1000,2000},∈表示属于符号,∑表示求和操作,wr表示训练好的卷积神经网络第r层的权重值,Nr、Mr分别表示训练好的卷积神经网络第r层特征向量的行和列,Gr表示在训练好的卷积神经网络中第r层的格拉姆Gram矩阵;
[0017] (3d)s=1000时,生成待处理纹理图像的子块矩阵1,按照阵列式扫描方式,依次将待处理纹理图像的子块矩阵1放入各自对应的待处理纹理图像的合成图像位置中,得到待处理纹理图像的子块1;
[0018] (3e)s=2000时,生成待处理纹理图像的子块矩阵2,按照阵列式扫描方式,依次将待处理纹理图像的子块矩阵2放入各自对应的待处理纹理图像的合成图像位置中,得到待处理纹理图像的子块2;
[0019] (4)按照下式,生成待处理纹理图像的合成图像矩阵:
[0020]
[0021] 其中, 表示对T取值操作,T表示待处理纹理图像的合成图像矩阵,min表示最小值操作,λ表示模型参数,且λ∈[0,1],∑表示求和操作,wq表示训练好的卷积神经网络在第q层的权重值,Nq、Mq分别表示第q层特征向量的行和列,Gq表示在训练好的卷积神经网络中第q层待处理纹理图像的子块1的格拉姆Gram矩阵,Fq表示在训练好的卷积神经网络中第q层待处理纹理图像的子块2的特征图矩阵;
[0022] (5)生成待处理纹理图像的合成图像:
[0023] 按照阵列式扫描方式,依次将待处理纹理图像的合成图像矩阵,放入各自对应的待处理纹理图像的合成图像位置中,得到待处理纹理图像的合成图像。
[0024] 本发明与现有的技术相比具有以下优点:
[0025] 第一,由于本发明采用7层卷积神经网络,通过卷积神经网络中多层的网络自学习特征,学习到更多的纹理特征,克服了现有技术中采用最佳匹配易导致得到的结果是局部最优以及无法合成任意尺寸的纹理图像的不足,使得本发明能够得到全局最优解,能够合成任意尺寸纹理图像。
[0026] 第二,由于本发明采用生成待处理纹理图像的合成图像矩阵,通过计算卷积神经中各层特征向量的格拉姆Gram矩阵,获得纹理图像的全局统计特征,克服了现有技术中采用像素域上的欧氏距离易导致合成的纹理包含了许多破碎的结构以及对于低分辨率的输入纹理图像无法合成纹理图像的不足,使得本发明能够成功地抑制噪声,可以得到丰富的纹理图像细节信息,增强了纹理图像的清晰度。

附图说明

[0027] 图1是本发明的流程图;
[0028] 图2是本发明在仿真实验中使用的Stone纹理测试图像;
[0029] 图3是本发明在仿真实验中得到的200×200的Stone纹理合成图像;
[0030] 图4是本发明在仿真实验中得到的800×800的Stone纹理合成图像;
[0031] 图5是本发明在仿真实验中得到的1024×1024的Stone纹理合成图像。

具体实施方式

[0032] 下面结合附图对本发明做进一步的描述。
[0033] 参照附图1对本发明的步骤做进一步的描述。
[0034] 步骤1,输入一幅512×512的待处理纹理图像。
[0035] 步骤2,构建并训练卷积神经网络。
[0036] 构建含有7层的卷积神经网络,这7层的卷积神经网络的结构依次是卷积层conv1_1,卷积层conv2_1,卷积层conv3_1,池化层pool4,卷积层conv5_1,全连接层fc6,分类层softmax7。
[0037] 所述构建含有7层的卷积神经网络的步骤如下:
[0038] 第1步,将512×512像素大小的纹理图输入卷积层conv1_1,用64个卷积核,对其进行块大小为3×3像素和步长为1像素的卷积操作,得到64幅510×510像素大小的特征图。
[0039] 第2步,将卷积层conv1_1输出的64幅特征图输入到卷积层conv2_1,用128个卷积核,对其进行块大小为3×3像素和步长为1像素的卷积操作,得到128幅508×508像素大小的特征图。
[0040] 第3步,将卷积层conv2_1输出的128幅特征图输入卷积层conv3_1,用256个卷积核,对其进行块大小为3×3像素和步长为1像素的卷积操作,得到256幅分辨率为506×506像素的特征图。
[0041] 第4步,将卷积层conv3_1输出的256幅特征图输入池化层pool4,对其进行最大池化操作,池化块的大小为2×2像素,步长为2像素,得到256幅分辨率为253×253像素的特征图。
[0042] 第5步,将池化层pool4输出的256幅特征图输入卷积层conv5_1,用512个卷积核,对其进行块大小为3×3像素和步长为1像素的卷积操作,得到512幅分辨率为251×251像素的特征图。
[0043] 第6步,将卷积层conv5_1输出的512幅特征图输入全连接层fc6,按照下式,对其中每一个像素点进行激活,得到激活后的特征图的像素点的值,将激活后的特征图以列的顺序排列成1维向量,得到1×3136维的特征图:
[0044]
[0045] 其中,f(x)表示激活后的特征图的像素点的值,x表示激活前特征图的像素点的值,e表示一个自然常数。
[0046] 第7步,将全连接层fc6输出的特征向量输入分类层softmax7,得到纹理图的分类标签。
[0047] 第8步,按照下式,计算分类层softmax7输出的分类标签的概率,输出每个分类标签的概率:
[0048] p(β=t|α;θ)=eθ
[0049] 其中,p(·)表示分类层softmax7输出的分类标签的概率,β表示卷积神经网络中全连接层fc6输出的第α个特征图,t表示分类层softmax7输出的分类标签值,t∈1,2,...,20,|表示限制符号,e表示一个自然常数,θ表示模型参数。
[0050] 第9步,按照下式,计算分类层softmax7的损失函数:
[0051]
[0052] 其中,J(θ)表示损失函数,m表示纹理样本的数量,e表示一个自然常数,θ表示模型参数。
[0053] 所述训练卷积神经网络的步骤如下:
[0054] 第1步,向前传播阶段,将样本输入卷积神经网络计算相应的实际输出,在此阶段,信息从卷积神经网络输入层经过逐级变换,传送到卷积神经网络输出层。
[0055] 第2步,向后传播阶段,计算卷积神经网络实际输出与样本标签对应的理想输出的差,按极小化误差的方法,反向传播调整卷积神经网络的权值。
[0056] 第3步,重复第1步和第2步的操作,直到卷积神经网络分类层softmax7之后的输出的损失函数J(θ)≤0.0001为止,得到训练好的卷积神经网络。
[0057] 将纹理图片输入到卷积神经网络,训练卷积神经网络,直到其输出层的损失函数值小于等于0.0001,得到训练好的卷积神经网络。
[0058] 步骤3,划分待处理纹理图像。
[0059] 将待处理纹理图像输入到训练好的卷积神经网络的前5层,得到前5层的特征图。
[0060] 卷积神经网络每一层中待处理纹理图像的特征图矩阵自相乘,组成格拉姆Gram矩阵。
[0061] 按照下式,生成待处理纹理图像的子块矩阵:
[0062]
[0063] 其中, 表示对y的取值操作,y表示待处理纹理图像的子块矩阵,min表示最小值操作,s表示待处理纹理图像的子块权重系数,s∈{1000,2000},∈表示属于符号,∑表示求和操作,wr表示训练好的卷积神经网络第r层的权重值,Nr、Mr分别表示训练好的卷积神经网络第r层特征向量的行和列,Gr表示在训练好的卷积神经网络中第r层的格拉姆Gram矩阵。
[0064] s=1000时,生成待处理纹理图像的子块矩阵1,按照阵列式扫描方式,依次将待处理纹理图像的子块矩阵1放入各自对应的待处理纹理图像的合成图像位置中,得到待处理纹理图像的子块1。
[0065] 所述阵列式扫描方式的步骤如下:
[0066] 从左到右、从上到下依次读取矩阵中的每一个元素。
[0067] s=2000时,生成待处理纹理图像的子块矩阵2,按照阵列式扫描方式,依次将待处理纹理图像的子块矩阵2放入各自对应的待处理纹理图像的合成图像位置中,得到待处理纹理图像的子块2。
[0068] 步骤4,按照下式,生成待处理纹理图像的合成图像矩阵:
[0069]
[0070] 其中, 表示对T取值操作,T表示待处理纹理图像的合成图像矩阵,min表示最小值操作,λ表示模型参数,且λ∈[0,1],∑表示求和操作,wq表示训练好的卷积神经网络在第q层的权重值,Nq、Mq分别表示第q层特征向量的行和列,Gq表示在训练好的卷积神经网络中第q层待处理纹理图像的子块1的格拉姆Gram矩阵,Fq表示在训练好的卷积神经网络中第q层待处理纹理图像的子块2的特征图矩阵。
[0071] 步骤5,生成待处理纹理图像的合成图像。
[0072] 按照阵列式扫描方式,依次将待处理纹理图像的合成图像矩阵,放入各自对应的待处理纹理图像的合成图像位置中,得到待处理纹理图像的合成图像。
[0073] 本发明的效果可以通过以下仿真实验作进一步说明。
[0074] 1.仿真实验条件:
[0075] 本发明的实验仿真环境为:
[0076] 软件:ubuntu 14.04,Ipython2.7
[0077] 处理器:Intel Xeon(R)CPU E5-2609v2@2.5GHZ×8
[0078] 内存:125.9GB
[0079] 本发明的仿真实验所用到的图像如附图2所示。该图像来源于标准图像库。
[0080] 2.仿真实验内容:
[0081] 本发明的仿真实验具体分为三个仿真实验。
[0082] 仿真实验一:利用本发明对纹理图像为附图2作为输入,合成200×200的纹理图像,结果如附图3所示。
[0083] 仿真实验二:利用本发明对纹理图像为附图2作为输入,合成800×800的纹理图像,结果如附图4所示。
[0084] 仿真实验三:利用本发明对纹理图像为附图2作为输入,合成1024×1024的纹理图像,结果如附图5所示。
[0085] 3.仿真实验结果分析:
[0086] 从图3、图4、图5可以看出,本发明得到的合成纹理图像未出现模糊迹象,合成的三种尺寸纹理图像的纹理边缘清晰,说明本发明能成功抑制噪声,能大规模地合成任意大小的纹理图像,且合成的纹理性能很好。