一种基于卷积神经网络的灰阶图像着色方法及其装置与流程

文档序号:12612549阅读:439来源:国知局
一种基于卷积神经网络的灰阶图像着色方法及其装置与流程

本发明涉及图像处理技术领域,尤其涉及一种基于卷积神经网络的灰阶图像着色方法及其装置。



背景技术:

随着信息科学技术的进步,图形处理器(Graphics Processing Unit,GPU)技术的飞速发展大大提高了计算机的计算能力,同时也促进了图形与图像处理领域的飞速发展。由于以前的摄影技术的不足,只能拍摄黑白的照片,所以留下了很多珍贵的黑白照片,因为想要对这些黑白照片着色,所以有了对黑白照片着色的技术需求。

在ICCV发表的《Deep colorization》利用了全连接网络,以单个像素所提取的低、中、高水平特征对像素进行着色。具体的做法是训练一个全连接网络,网络的输入是单个像素的128维特征,输出是YUV颜色空间的U,V值。其中,低水平的特征为像素周围的7x7区域的灰度值,即49维;中等水平的特征为2010在IEEE transaction发表的《DAISY:An Efficient Dense Descriptor Applied to Wide-Baseline Stereo》文章中的DAISY特征,共32维;高水平特征是利用最新的语义特征提取算法,得到47维。即一个像素可以得到128维的特征描述,然后训练全连接网络,使这128维的特征回归到U,V值,即可以从灰度图得到各个像素的128维特征后,放入训练好的全连接网络后,即可得到U,V值。

另有现有技术,设计了一个用卷积神经网络进行着色的模型,在训练的时候是以一整张图片提取全集特征,然后提取中层特征,考虑了图片全局因素对于着色效果的影响,在网络的中间融合了中层特征和全局特征,利用这些特征来拟合映射。

现有的一些着色算法大致分为三类,一类是在着色前对灰度图进行一些初始的涂画,最后的结果按照初始的涂画进行着色,这种方法需要人为的进行着色,并不是一个比较好的方案;另一种方法是,在需要对灰度图进行着色前需要提供样例图片,提供的样例图片对着色效果有非常大的影响,所以要求样例图片比较接近需要着色的图片;还有一类是利用深度学习的方法,去拟合灰度图片到彩色图的映射。

在上述《Deep colorization》文章中,所用的方法是实验了从灰度图产生的各种特征,然后组合了三个特征来进行回归。首先,从一个灰度像素得到低,中,高水平共128维特征需要花费不少时间,网络是逐个像素的进行着色,一张图片着色需要花费不少时间。其次,这个方法是对现有的一些特征算法进行试验组合,由于现有的特征的局限性,使此方法在有些图像的着色效果并不好。在上文提到的《Let there be Color!:Joint End-to-end Learning of Global and Local Image Priorsfor Automatic Image Colorization with Simultaneous Classification》文章中,首先它模型的着色速度非常慢,因为它每个小块都要引入全局的特征;其次是它的模型的最终结果是经过几层上采样的结果得来的,经过上采样后会忽略掉一些颜色的细微差异,也容易造成最后结果的不稳定。

在现有的一些算法中,基于涂鸦的方法的缺点是:需要人工参与,耗费人力,速度慢,着色效果很多程度受到人为参与的涂鸦所产生的影响;基于样例的方法的缺点是:人工参与,耗费人力,速度相对比较慢,而效果也与人为参与所选择的样例图片有很大影响;基于深度学习的方法:网络模型过于复杂,速度相对慢,效率低,效果也不稳定。



技术实现要素:

本发明的目的在于克服现有技术的不足,本发明提供了一种基于卷积神经网络的灰阶图像着色方法及其装置,解决了需要人为提供涂鸦或样例图片的缺点,实现全自动的图片着色,并解决了着色速度慢、着色效果不稳定的缺点,使得着色效果较自然而且稳定。

为了解决上述问题,本发明提出了一种基于卷积神经网络的灰阶图像着色方法,所述方法包括:

收集图片集;

选择向量化的卷积神经网络模型VCNN,并构造相应的网络结构;

修改所述向量化的卷积神经网络模型VCNN;

对所述图片集中的图片进行转换,获得相应YUV颜色空间的图片,从中随机抽取64x64的Y值块,同时抽取相应位置的U值块和V值块;

训练网络,利用反向传播算法和随机梯度下降法更新网络参数;

得到经过训练的网络后,利用网络进行着色,输入灰度块,输出相应的U值和V值,获得彩色图片。

优选地,所述选择向量化的卷积神经网络模型VCNN,并构造相应的网络结构的步骤,包括:

选择向量化的卷积神经网络模型VCNN作为整个着色网络的基础网络模型;

根据所述向量化的卷积神经网络模型VCNN构造相应的网络结构。

优选地,所述对所述图片集中的图片进行转换,获得相应YUV颜色空间的图片,从中随机抽取64x64的Y值块,同时抽取相应位置的U值块和V值块的步骤,包括:

将下载的RGB颜色空间的图片转换为YUV颜色空间的图片;

随机抽取YUV颜色空间的图片,再随机抽取图片中的64x64的区域,抽取出64x64的Y值作为训练网络的输入,以及相同位置的U值和V值,作为与训练网络的输出作对比的真实U,V值。

优选地,所述将下载的RGB颜色空间的图片转化为YUV颜色空间的图片的步骤,包括:

根据下述公式将下载的RGB颜色空间的图片转化为YUV颜色空间的图片:

Y'=0.299*R'+0.587*G'+0.114*B';

U'=-0.147*R'-0.289*G'+0.436*B';

V'=0.615*R'-0.515*G'-0.100*B'。

优选地,在所述获得彩色图片的步骤之后,包括:

将得到的彩色图片经过引导滤波器处理,获得最终的彩色图。

相应地,本发明还提供一种基于卷积神经网络的灰阶图像着色装置,所述装置包括:

收集模块,用于收集图片集;

构造模块,用于选择向量化的卷积神经网络模型VCNN,并构造相应的网络结构;

修改模块,用于修改所述向量化的卷积神经网络模型VCNN;

转换模块,用于对所述图片集中的图片进行转换,获得相应YUV颜色空间的图片,从中随机抽取64x64的Y值块,同时抽取相应位置的U值块和V值块;

训练模块,用于训练网络,利用反向传播算法和随机梯度下降法更新网络参数;

输入模块,用于得到经过训练的网络后,利用网络进行着色,输入灰度块,输出相应的U值和V值,获得彩色图片。

优选地,所述构造模块包括:

选择单元,用于选择向量化的卷积神经网络模型VCNN作为整个着色网络的基础网络模型;

构造单元,用于根据所述向量化的卷积神经网络模型VCNN构造相应的网络结构。

优选地,所述转换模块包括:

转换单元,用于将下载的RGB颜色空间的图片转换为YUV颜色空间的图片;

抽取单元,用于随机抽取YUV颜色空间的图片,再随机抽取图片中的64x64的区域,抽取出64x64的Y值作为训练网络的输入,以及相同位置的U值和V值,作为与训练网络的输出作对比的真实U,V值。

优选地,所述转换单元还用于根据下述公式将下载的RGB颜色空间的图片转化为YUV颜色空间的图片:

Y'=0.299*R'+0.587*G'+0.114*B';

U'=-0.147*R'-0.289*G'+0.436*B';

V'=0.615*R'-0.515*G'-0.100*B'。

优选地,所述装置还包括:滤波器,用于把得到的彩色图片经过引导滤波器处理,获得最终的彩色图。

在本发明实施例中,利用比较简明的神经网络模型和引导滤波器的构建了一个模型,由于此模型除了提供需要着色的灰度图外,并不需要额外的输入,从而解决了需要人为提供涂鸦或样例图片的缺点,实现全自动的图片着色;此外,在YUV颜色空间分开两个网络分别求U,V的值,可以使网络的复杂度降低和提高结果的精确性,因为神经网络模型较简明,并且每次着色是以块区域为单位的,从而解决了上述技术着色速度慢的缺点;另外,恰当的网络层数和卷积核大小和巧妙的使用引导滤波,使得着色效果较自然而且稳定,解决了现有技术中着色效果不稳定的缺点,并达到了较好的时间性能。

附图说明

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

图1是本发明实施例的基于卷积神经网络的灰阶图像着色方法的流程示意图;

图2是本发明实施例中向量化的卷积神经网络模型的结构示意图;

图3是本发明实施例的基于卷积神经网络的灰阶图像着色装置的结构组成示意图。

具体实施方式

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

图1是本发明实施例的基于卷积神经网络的灰阶图像着色方法的流程示意图,如图1所示,该方法包括:

S1,收集图片集;为着色网络训练作准备;

S2,选择向量化的卷积神经网络模型VCNN,并构造相应的网络结构;

S3,修改向量化的卷积神经网络模型VCNN;使其可以处理二维的灰度图片;

S4,对图片集中的图片进行转换,获得相应YUV颜色空间的图片,从中随机抽取64x64的Y值块,同时抽取相应位置的U值块和V值块;

S5,训练网络,利用反向传播算法和随机梯度下降法更新网络参数;

S6,得到经过训练的网络后,利用网络进行着色,输入灰度块,输出相应的U值和V值,获得彩色图片。

其中,在S1中,下载关于各种场景的图片。在具体实施中,从图片库——Places database中选取10000张户外的图片,为网络训练做准备。

进一步地,S2包括:

选择向量化的卷积神经网络模型VCNN作为整个着色网络的基础网络模型;因为VCNN能够充分利用GPU,提高训练速度,其次是在VCNN的模型基础上可以充分自由设计所需要的网络;

根据向量化的卷积神经网络模型VCNN构造相应的网络结构。

如图2所示,网络一共有6层,依次包括:输入层、卷积层1、卷积层2、卷积层3、卷积层4、输出层。其中,输入层输入一个64x64大小的灰度图块,输出层输出56x56大小的YUV颜色空间中的U值(或V值,有两个相同的网络,根据不同的训练数据得到U或V值,在这里假设是产生U值的网络),这里设置输出的结果块为56x56小于输入的64x64的块,这样是为了在映射的过程中充分考虑周围像素对结果的影响。卷积层1有512个卷积核,卷积核的大小为14x14,卷积核每次移动一个像素,所以经过卷积层1后可以产生512个大小为51x51的特征图,卷积层1抽取的是灰度图的底层特征,包含了一些边缘和纹理的信息。卷积层2有512个卷积核,卷积核的大小为3x3,所以经过卷积层2后有512个大小为49x49的特征图,这些特征图包含了一些边缘,纹理和语义信息。卷积层3的卷积核大小为1x1(可以理解此层的作用为全连接层),共256个卷积核,卷积核每次移动一个像素,卷积得到256个49x49的特征图,此层的作用是作为一个从512个矩阵到256个矩阵的映射。其后是卷积层4,有64个大小为1x1的卷积核,卷积核每次移动一个像素,根据上一层产生的特征图,再次映射为64个49x49的特征图,此层的作用也是映射的作用,产生的特征图包含同时包含了一些底层和中层的图像特征。最后一层为输出层,根据上一层的64个49x49的特征图映射为一个56x56的最终结果(这个结果是相对于输入的64x64块的正中间的56x56的结果),能最终产生比较理想的结果是因为前面提取了灰度图像的中低层特征,从这些特征可以映射到相应的颜色。

具体地,S4进一步包括:

将下载的RGB颜色空间的图片转换为YUV颜色空间的图片;

随机抽取YUV颜色空间的图片,再随机抽取图片中的64x64的区域,抽取出64x64的Y值作为训练网络的输入,以及相同位置的U值和V值,作为与训练网络的输出作对比的真实U,V值。

根据下述公式将下载的RGB颜色空间的图片转化为YUV颜色空间的图片:

Y'=0.299*R'+0.587*G'+0.114*B';

U'=-0.147*R'-0.289*G'+0.436*B';

V'=0.615*R'-0.515*G'-0.100*B'。

在具体实施中,每个网络抽取了二十个数据文件(如训练U的网络),每个文件包含10000个64x64的矩阵对(64x64的Y值矩阵,64x64的U值矩阵),作为训练数据;测试数据为一个文件,包含10000个64x64的矩阵对。

在S5中,网络的损失函数如下:Loss=min{L2(Ugt)-L2(Net(Ygt))}

其中Ugt为真实的U值,Net(Ygt)为输入Y值经过网络后得到值,取L2范数计算损失函数,目标是使它们之间的差最小。本发明网络的初始参数是用高斯分布随机初始化的,由于本发明是端对端的网络,所以利用误差反向传播算法和随机梯度下降法来迭代更新网络参数。

在S6中,得到训练好的网络后(分别产生U,V值的两个网络),输入进去一个需要着色的灰度图,先把需要着色的灰度图按重叠8个像素的做法分为64x64的小块,然后再把这些分割好的64x64的小块分别输入进去两个网络,分别得出U,V值,然后在把各个小块的Y,U,V值合并成一个彩色图。

具体地,在S6之后还包括:

将得到的彩色图片经过引导滤波器处理,获得最终的彩色图。

使用引导滤波器可以更好地对彩色图进行修正,得到一个细节保留完整,效果稳定且自然的图片。引导滤波器需要两个输入,一个是从S6中产生的彩色图,作为需要被滤波的图片,一个是指导滤波的图片,选择用来产生彩色图的原始灰度图作为指导图片,将滤波半径设置为40,边缘保持强度设置为0.0001时可用得到去掉伪迹又保持细节得到效果更好的彩色图。

相应地,本发明实施例还提供一种基于卷积神经网络的灰阶图像着色装置,如图3所示,该装置包括:

收集模块1,用于收集图片集;

构造模块2,用于选择向量化的卷积神经网络模型VCNN,并构造相应的网络结构;

修改模块3,用于修改所述向量化的卷积神经网络模型VCNN;

转换模块4,用于对所述图片集中的图片进行转换,获得相应YUV颜色空间的图片,从中随机抽取64x64的Y值块,同时抽取相应位置的U值块和V值块;

训练模块5,用于训练网络,利用反向传播算法和随机梯度下降法更新网络参数;

输入模块6,用于得到经过训练的网络后,利用网络进行着色,输入灰度块,输出相应的U值和V值,获得彩色图片。

其中,构造模块2进一步包括:

选择单元,用于选择向量化的卷积神经网络模型VCNN作为整个着色网络的基础网络模型;

构造单元,用于根据所述向量化的卷积神经网络模型VCNN构造相应的网络结构。

转换模块4进一步包括:

转换单元,用于将下载的RGB颜色空间的图片转换为YUV颜色空间的图片;

抽取单元,用于随机抽取YUV颜色空间的图片,再随机抽取图片中的64x64的区域,抽取出64x64的Y值作为训练网络的输入,以及相同位置的U值和V值,作为与训练网络的输出作对比的真实U,V值。

具体地,转换单元还用于根据下述公式将下载的RGB颜色空间的图片转化为YUV颜色空间的图片:

Y'=0.299*R'+0.587*G'+0.114*B';

U'=-0.147*R'-0.289*G'+0.436*B';

V'=0.615*R'-0.515*G'-0.100*B'。

此外,具体实施中,使用引导滤波器可以更好地对彩色图进行修正,得到一个细节保留完整,效果稳定且自然的图片。该装置还包括:

滤波器,用于把得到的彩色图片经过引导滤波器处理,获得最终的彩色图。

引导滤波器需要两个输入,一个是从S6中产生的彩色图,作为需要被滤波的图片,一个是指导滤波的图片,选择用来产生彩色图的原始灰度图作为指导图片,将滤波半径设置为40,边缘保持强度设置为0.0001时可用得到去掉伪迹又保持细节得到效果更好的彩色图。

本发明的装置实施例中各功能模块的功能可参见本发明方法实施例中的流程处理,这里不再赘述。

在本发明实施例中,利用比较简明的神经网络模型和引导滤波器的构建了一个模型,由于此模型除了提供需要着色的灰度图外,并不需要额外的输入,从而解决了需要人为提供涂鸦或样例图片的缺点,实现全自动的图片着色;此外,在YUV颜色空间分开两个网络分别求U,V的值,可以使网络的复杂度降低和提高结果的精确性,因为神经网络模型较简明,并且每次着色是以块区域为单位的,从而解决了上述技术着色速度慢的缺点;另外,恰当的网络层数和卷积核大小和巧妙的使用引导滤波,使得着色效果较自然而且稳定,解决了现有技术中着色效果不稳定的缺点,并达到了较好的时间性能。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。

另外,以上对本发明实施例所提供的基于卷积神经网络的灰阶图像着色方法及其装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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