基于生成对抗网络的兵马俑色彩复原方法

    专利查询2022-07-07  131



    1.本发明属于计算机视觉相关技术领域,涉及使用深度学习的方法完成图像的色彩复原,具体涉及一种基于生成对抗网络的兵马俑色彩复原方法。


    背景技术:

    2.被誉为世界八大奇迹之一的秦始皇兵马俑是我国古代人民智慧的结晶,具有极高的艺术价值。但是如今我们所见到的兵马俑都呈陶灰色,事实上,刚刚出土的兵马俑都是彩色的,出土时彩色大部分已经脱落。经有关专家分析论证可以得出:兵马俑上衣的颜色有粉绿、朱红、枣红等,裤子的颜色一般有粉绿、朱红、粉紫等。时隔两千多年,这些兵马俑历经磨难,遭受自然侵蚀和人为破坏后,早已失去了其原本的面貌,同时在兵马俑破土而出时,由于其结构的特殊性,并且它的留存环境发生了改变,受到了光照,氧化和湿度等多方面的影响,使得原本绚丽多彩的兵马俑骤然变得黯然失色。因此兵马俑表面的色彩复原具有重要的研究意义和价值。
    3.随着计算技术的不断发展,利用计算机技术辅助修复文物成为了现如今的研究热点。近几年来,随着图像处理技术和深度学习的不断发展,使得基于数字图像处理及深度学习的灰度图像彩色化技术成为可能。灰度图像彩色化是目前计算机视觉的研究热点,利用无监督的多样化着色来完成兵马俑上色处理,来虚拟展示兵马俑的颜色具有重要的现实意义和理论价值。
    4.近年来,国内外在深度学习方面对灰度图像上色也颇有研究,其研究的内容大致包括两类,一种就是将单一的灰度图像直接放入到神经网络中进行颜色通道预测;另外一种就是不仅包含有目标图像,同时还对应有源图像,通过对源图像的颜色分布进行统计,再对目标图像进行上色处理。2020年,王婷婷等人提出基于超像素的图像着色变异模型,其方法就是以一个单一的源图像作为输入,首先,将源图像和目标图像分割成超像素,并从亮度通道中的每个超像素中提取多个特征。然后利用自顶向下的特征匹配方案,在源图像中为每个目标超像素找到一组相似的超像素。这些相似的超像素的颜色形成相应的目标超像素的颜色候选集。最后将颜色选择建模为一个变分框架,并同时强制加权非局部自相似性和局部一致性,通过简单的处理后,最终得到目标图像的上色结果。2016年,richard等人将rgb图像转换为lab图像进行颜色通道预测,通过将灰度图上色作为分类任务并在训练时使用类重新平衡来增加结果中颜色的多样性来接受问题的潜在不确定性,其算法在测试时被实现为cnn中的前馈传递,并且使用“着色图灵测试”来评估其的算法。2012年,何永强等人提出基于融合和色彩传递的灰度图像彩色化技术,该技术是利用图像融合算法对微光图像和红外图像进行融合,然后利用改进的welsh算法对融合图像进行严格的色彩传递,保证色彩传递的正确性,最后利用最优化算法对未进行色彩传递的区域进行色彩扩展。2020年,蒋文杰等人利用深度学习的卷积神经网络提出了一种基于改进生成对抗网络的上色算法,采用了原模型pix2pix的u型结构的生成器并在其中引入了自注意力机制,以提高输出图像的色彩多样性。
    5.还有利用k均值聚类对图像进行分析,并提出最近区域匹配算法,该算法可以避免多个区域匹配到同一个区域的问题,从而更好的实现两幅图像的颜色迁移,但对于色调单一的图像效果不明显,而且上色单一。


    技术实现要素:

    6.针对现有技术对灰白图像着色单一的技术问题,本发明的目的在于,提供一种基于生成对抗网络的兵马俑色彩复原方法。
    7.为了实现上述任务,本发明采取如下的技术解决方案:
    8.一种基于生成对抗网络的兵马俑色彩复原方法,其特征在于,该方法以gan网络为基础构建兵马俑色彩复原网络模型,并对该兵马俑色彩复原网络模型进行训练,进而将相应的兵马俑图像进行色彩复原,具体按以下步骤进行:
    9.步骤1,收集兵马俑图像并扩充数据集;
    10.步骤2,对gan网络的生成器采用连续相同的卷积块,对gan网络的判别器结构不做改变;
    11.步骤3,为了提高着色的多样性,将gan网络的生成器噪声通道连接到gan网络的生成器的前半部分;
    12.步骤4,设计对yuv与rgb图像训练时的损失函数
    13.对于由yuv表示的图像,需要考虑的损失只有u和v通道的损失,y通道只用来表示亮度信息,因此,对于cgan来说是一个由灰度图像y和噪声向量z输出到彩色图像的过程,其损失函数如下式:
    [0014][0015]
    对于由rgb表示的图像,不仅需要考虑rgb三通道的损失,还需要考虑图像亮度损失,因此需要加入l1损失,表示如下:
    [0016][0017]
    损失函数如下式所示:
    [0018][0019]
    步骤5,对构建的兵马俑色彩复原网络模型设计训练算法并进行训练;
    [0020]
    步骤6,对兵马俑色彩复原网络模型进行测试,完成兵马俑色彩复原。
    [0021]
    步骤5中,所述训练首先确定兵马俑图像参数值:kg=1,kd=1,m=64,sz=100,s=64;训练过程步骤包括:
    [0022]
    步骤5.1:随机生成m组噪声,每组噪声大小为sz,表示为{z
    (1)
    ,z
    (2)
    ,z
    (3)


    ,z
    (m)
    };
    [0023]
    步骤5.2:随机选取m张灰度图,大小为64x64x1,表示为{y
    (1)
    ,y
    (2)
    ,y
    (3)


    ,y
    (m)
    };
    [0024]
    步骤5.3:将上述组合输入到兵马俑色彩复原网络模型中,由生成器生成m张彩色图像,表示为{x
    (1)
    ,x
    (2)
    ,x
    (3)


    ,x
    (m)
    };
    [0025]
    步骤5.4:由损失函数计算损失并且更新判别器参数:
    [0026]
    [0027]
    步骤5.5,随机生成m组噪声,每组噪声大小为sz,表示为{z
    (1)
    ,z
    (2)
    ,z
    (3)


    ,z
    (m)
    };
    [0028]
    步骤5.6,随机选取m张灰度图,大小为64x64x1,表示为{y
    (1)
    ,y
    (2)
    ,y
    (3)


    ,y
    (m)
    };
    [0029]
    步骤5.7,通过损失函数计算损失值并更新生成器参数:
    [0030][0031]
    步骤5.8,重复上述过程。
    [0032]
    步骤6中,所述对兵马俑色彩复原网络模型进行测试的过程如下:
    [0033]
    首先设置兵马俑图像默认参数,m=64,sz=100;
    [0034]
    步骤6.1,随机选取m张灰度图;
    [0035]
    步骤6.2,随机生成m组噪声,每组噪声大小为(m,sz);
    [0036]
    步骤6.3,使用训练好的兵马俑色彩复原网络模型完成色彩复原。
    [0037]
    本发明的基于生成对抗网络的兵马俑色彩复原方法,主要利用生成对抗网络完成兵马俑图像的色彩复原,通过利用gan网络生成器特性,采用连续的卷积块设计网络,通过对大量兵马俑图像数据进行训练,训练完成后,将噪声数据与需要复原的兵马俑图像输入到生成器中,生成颜色通道的值,完成兵马俑的色彩复原,加快了对兵马俑图像处理的速度,可以批量处理。带来的技术创新在于:
    [0038]
    (1)首次使用深度学习的方法对兵马俑完成色彩复原;
    [0039]
    (1)所采用的深度学习方法,克服了现有技术中对色调不明显的图像着色单一的缺点,有效的提高了着色的多样性,并取得了良好的效果;
    [0040]
    (2)在生成器中加入多层噪声和条件信息,来生成多样的彩色化图像,同时较大程度的避免着色的不确定性。
    附图说明
    [0041]
    图1是本发明的基于生成对抗网络的兵马俑色彩复原方法构建的兵马俑色彩复原网络模型框架图;
    [0042]
    图2是生成器采用的卷积块结构示意图;
    [0043]
    图3为详细的兵马俑色彩复原网络模型图,其中,(a)图为生成器g模型图,(b)图为判别器d模型图;
    [0044]
    图4为训练流程图;
    [0045]
    图5为实验结果整体图;
    [0046]
    下面通过附图和实施例对本发明作进一步详细说明。
    具体实施方式
    [0047]
    本实施例给出一种基于生成对抗网络的兵马俑色彩复原方法,设计思路是,基于生成对抗网络进行相关的图像着色操作,通过对兵马俑数据集进行训练,进而将相应的兵马俑图像进行色彩复原的方法,有效的完成了通过深度学习的方式对兵马俑图像进行色彩复原,为进一步使用深度学习的方式处理兵马俑图像建立了基础。
    [0048]
    对于兵马俑色彩复原网络模型设计框架如图1所示,模型图如图3所示,其中,(a)图为生成器g模型图,(b)图为判别器d模型图;主要设计思路如下:
    [0049]
    gan网络模型是用来生成图片的,与本技术要完成的目标类似,因此采用gan网络为基础来构建兵马俑色彩复原的网络模型,并对该兵马俑色彩复原网络模型进行训练,进而将相应的兵马俑图像进行色彩复原,具体按以下步骤进行:
    [0050]
    步骤1,收集兵马俑图像并扩充数据集;
    [0051]
    步骤2,对生成器的设计采用连续相同的卷积块,其结构示意图如图2所示;
    [0052]
    步骤3,为了提高着色的多样性,将生成器的噪声通道连接到生成器的前半部分;
    [0053]
    步骤4,设计对yuv与rgb图像训练时的损失函数;
    [0054]
    对于由yuv表示的图像,需要考虑的损失只有u和v通道的损失,y通道只用来表示亮度信息,因此,对于cgan来说是一个由灰度图像y和噪声向量z输出到彩色图像的过程,其损失函数如下式:
    [0055][0056]
    对于由rgb表示的图像,不仅需要考虑rgb三通道的损失,还需要考虑图像亮度损失,因此需要加入l1损失,表示如下:
    [0057][0058]
    损失函数如下式所示:
    [0059][0060]
    步骤5、对兵马俑色彩复原网络模型进行训练,训练过程包括以下步骤:
    [0061]
    首先确定兵马俑图像一些参数值大小,kg=1,kd=1,m=64,sz=100,s=64。
    [0062]
    步骤5.1,随机生成m组噪声,每组噪声大小为sz,表示为{z
    (1)
    ,z
    (2)
    ,z
    (3)
    ...z
    (m)
    };
    [0063]
    步骤5.2,随机选取m张灰度图,大小为64x64x1,表示为{y
    (1)
    ,y
    (2)
    ,y
    (3)
    ...y
    (m)
    };
    [0064]
    步骤5.3,将上述组合输入到网络中,可由生成器生成m张彩色图像,表示为{x
    (1)
    ,x
    (2)
    ,x
    (3)
    ...x
    (m)
    };
    [0065]
    步骤5.4,由损失函数计算损失并且更新判别器参数;
    [0066]
    步骤5.5,随机生成m组噪声,每组噪声大小为sz,表示为{z
    (1)
    ,z
    (2)
    ,z
    (3)
    ...z
    (m)
    };
    [0067]
    步骤5.6,随机选取m张灰度图,大小为64x64x1,表示为{y
    (1)
    ,y
    (2)
    ,y
    (3)
    ...y
    (m)
    };
    [0068]
    步骤5.7,通过损失函数计算损失值并更新生成器参数;
    [0069]
    步骤5.8,重复上述过程。
    [0070]
    步骤6,对兵马俑色彩复原网络模型进行测试,完成兵马俑色彩复原。
    [0071]
    对兵马俑色彩复原网络模型进行测试过程如下:
    [0072]
    首先设置兵马俑图像默认参数,m=64,sz=100;
    [0073]
    步骤6.1,随机选取m张灰度图;
    [0074]
    步骤6.2,随机生成m组噪声,每组噪声大小为(m,sz);
    [0075]
    步骤6.3,使用训练好的兵马俑色彩复原网络模型完成色彩复原。
    [0076]
    以下是发明人给出的具体实施例。
    [0077]
    实施例1:
    [0078]
    使用上述基于生成对抗网络的兵马俑色彩复原方法,对兵马俑图像进行训练和测试的过程如下:
    [0079]
    步骤1,首先收集兵马俑图像的彩色照片,并通过python脚本对其进行数据扩充,扩充方式包括对图形进行旋转、裁剪、调节亮度和对比度等,得到扩充后的数据集;
    [0080]
    步骤2,将图像裁剪为64x64大小,并使用python脚本将图像名字提取到记事本中(后续代码通过记事本中的图像名来读取图像);
    [0081]
    步骤3,batchsize设置为64,一次处理的图像数量为64张;
    [0082]
    步骤4,选择图像训练模型(yuv或者rgb);
    [0083]
    yuv表示的图像,损失函数如下式所示:
    [0084][0085]
    rgb表示的图像,损失函数如下式所示:
    [0086][0087]
    步骤5,对兵马俑色彩复原网络模型开始训练,训练流程图如图4所示,训练步骤包括:
    [0088]
    步骤5.1,随机生成m组噪声,每组噪声大小为sz,表示为{z
    (1)
    ,z
    (2)
    ,z
    (3)


    ,z
    (m)
    };
    [0089]
    步骤5.2,随机选取m张灰度图,大小为64x64x1,表示为{y
    (1)
    ,y
    (2)
    ,y
    (3)


    ,y
    (m)
    };
    [0090]
    步骤5.3,将上述组合输入到网络中,可由生成器生成m张彩色图像,表示为{x
    (1)
    ,x
    (2)
    ,x
    (3)


    ,x
    (m)
    };
    [0091]
    步骤5.4,由损失函数计算损失并且更新判别器参数;
    [0092]
    步骤5.5,随机生成m组噪声,每组噪声大小为sz,表示为{z
    (1)
    ,z
    (2)
    ,z
    (3)


    ,z
    (m)
    };
    [0093]
    步骤5.6,随机选取m张灰度图,大小为64x64x1,表示为{y
    (1)
    ,y
    (2)
    ,y
    (3)


    ,y
    (m)
    };
    [0094]
    步骤5.7,通过设置兵马俑图像默认参数(真数据),计算损失值并更新生成器参数(权重),经判别器d和生成器g生成假数据,然后再计算损失,更新生成器参数(权重),如果迭代结束,程序结束;
    [0095]
    步骤5.8,如果迭代没有结束,则重复上述过程。
    [0096]
    步骤6,对兵马俑色彩复原网络模型进行测试过程如下:
    [0097]
    首先设置默认参数m=64,sz=100;
    [0098]
    步骤6.1,随机选取m张灰度图;
    [0099]
    步骤6.2,随机生成m组噪声,每组噪声大小为(m,sz);
    [0100]
    步骤6.3,使用训练好的兵马俑色彩复原网络模型完成色彩复原。
    [0101]
    本实施例对兵马俑色彩复原网络模型的训练和测试过程在windows系统上进行,采用gpu完成训练和测试过程,使用的框架为tensorflow2.0,训练过程中将会不定时(可在代码中进行设置)的保存训练时的结果和损失值。其中,训练轮数也可以自行设置,但输入图像必须为64x64大小,训练完成后将会保存训练后的网络权重。测试时,将会读取这些网络参数,仍然读取64张图像进行测试,测试轮数为64轮,即一张图像可被着色64次,输出图像为64张64x64大小的组合图像,图5为实验结果图。
    转载请注明原文地址:https://tc.8miu.com/read-611.html

    最新回复(0)