掌桥专利:专业的专利平台
掌桥专利
首页

图像上色方法、电子设备、存储介质及计算机程序产品

文献发布时间:2023-06-19 16:04:54



技术领域

本申请涉及机器视觉技术领域,特别涉及一种图像上色方法、电子设备、存储介质及计算机程序产品。

背景技术

图像上色技术,是一种从灰度图像中恢复出彩色图像的技术,例如在只有Y通道值的情况下,预测出R通道值、G通道值和B通道值。现有技术,主要以深度学习为主,例如使用实例分割配合卷积神经网络来生成图像的颜色,或者使用生成对抗神经网络来生成图像的颜色。然而,由于现有技术往往过于追求效果,因此需要使用大量GPU才能实现,导致图像上色技术无法落地到低功耗设备上。

发明内容

本申请实施例提供一种图像上色方法、电子设备、存储介质及计算机程序产品,以解决现有技术中存在的图像上色技术无法落地到低功耗设备的技术问题。

根据本申请的第一方面,公开了一种图像上色方法,所述方法包括:

接收待上色图像;

对所述待上色图像进行不同尺度的表达,得到与至少两个Lut分别对应的不同尺度的待上色图像,其中,每个Lut中记录有多个遍历图像块与单个像素点的各通道对应的数值之间的映射关系,每个Lut中的遍历图像块的尺寸相同;

根据所述不同尺度的待上色图像和所述至少两个Lut,获得至少两个不同尺度的彩色图像;

对所述至少两个不同尺度的彩色图像进行融合,得到上色后的目标图像。

根据本申请的第二方面,公开了一种图像上色装置,所述装置包括:

接收模块,用于接收待上色图像;

变换模块,用于对所述待上色图像进行不同尺度的表达,得到与至少两个Lut分别对应的不同尺度的待上色图像,其中,每个Lut中记录有多个遍历图像块与单个像素点的各通道对应的数值之间的映射关系,每个Lut中的遍历图像块的尺寸相同;

查表模块,用于根据所述不同尺度的待上色图像和所述至少两个Lut,获得至少两个不同尺度的彩色图像;

融合模块,用于对所述至少两个不同尺度的彩色图像进行融合,得到上色后的目标图像。

根据本申请的第三方面,公开了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现如第一方面中的图像上色方法。

根据本申请的第四方面,公开了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现如第一方面中的图像上色方法。

根据本申请的第五方面,公开了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如第一方面中的图像上色方法。

本申请实施例中,在接收到待上色图像之后,可以对待上色图像进行不同尺度的表达,得到与至少两个Lut分别对应的不同尺度的待上色图像,其中,每个Lut中记录有多个遍历图像块与单个像素点的各通道对应的数值之间的映射关系,每个Lut中的遍历图像块的尺寸相同;根据不同尺度的待上色图像和至少两个Lut,获得至少两个不同尺度的彩色图像;对至少两个不同尺度的彩色图像进行融合,得到上色后的目标图像。与现有技术相比,本申请实施例中,由于在对图像上色时所使用的至少两个Lut所占用的存储空间有限、查表过程对GPU的占用也有限、并且至少两个Lut中记录的信息可以准确、全面地表征图像的局部块之间的多种颜色,因此在确保图像上色结果的正确性的同时,实现了图像上色技术在低功耗设备上的落地。

附图说明

图1是本申请的一个实施例的小感受野网络训练过程的流程图;

图2是本申请的一个实施例的同一感受野在不同尺度的图像上表达的示例图;

图3是本申请的一个实施例的小感受野网络的网络结构的示例图;

图4是本申请的一个实施例的小感受野网络训练过程的示例图;

图5是本申请的一个实施例的Lut的生成过程的流程图;

图6是本申请的一个实施例的Lut的生成过程的示例图;

图7是本申请的一个实施例的图像上色方法的流程图;

图8是本申请的一个实施例的查表过程的示例图;

图9是本申请的一个实施例的图像上色方法的示例图;

图10是本申请的一个实施例的图像上色装置的结构示意图;

图11是本申请的一个实施例的一种电子设备的结构框图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。

近年来,基于人工智能的计算机视觉、深度学习、机器学习、图像处理、图像识别等技术研究取得了重要进展。人工智能(Artificial Intelligence,AI)是研究、开发用于模拟、延伸人的智能的理论、方法、技术及应用系统的新兴科学技术。人工智能学科是一门综合性学科,涉及芯片、大数据、云计算、物联网、分布式存储、深度学习、机器学习、神经网络等诸多技术种类。计算机视觉作为人工智能的一个重要分支,具体是让机器识别世界,计算机视觉技术通常包括人脸识别、活体检测、指纹识别与防伪验证、生物特征识别、人脸检测、行人检测、目标检测、行人识别、图像处理、图像识别、图像语义理解、图像检索、文字识别、视频处理、视频内容识别、行为识别、三维重建、虚拟现实、增强现实、同步定位与地图构建(SLAM)、计算摄影、机器人导航与定位等技术。随着人工智能技术的研究和进步,该项技术在众多领域展开了应用,例如安防、城市管理、交通管理、楼宇管理、园区管理、人脸通行、人脸考勤、物流管理、仓储管理、机器人、智能营销、计算摄影、手机影像、云服务、智能家居、穿戴设备、无人驾驶、自动驾驶、智能医疗、人脸支付、人脸解锁、指纹解锁、人证核验、智慧屏、智能电视、摄像机、移动互联网、网络直播、美颜、美妆、医疗美容、智能测温等领域。

以图像处理领域为例,目前,图像上色技术是图像处理领域中一种常见的技术,是一种从灰度图像中恢复出彩色图像的技术,例如在只有Y通道值的情况下,预测出R通道值、G通道值和B通道值。

现有技术,主要以深度学习为主,例如使用实例分割配合卷积神经网络来生成图像的颜色,或者使用生成对抗神经网络来生成图像的颜色。然而,由于现有技术往往过于追求效果,因此需要使用大量GPU才能实现,导致图像上色技术无法落地到低功耗设备上。

为了解决上述技术问题,本申请实施例提供了一种图像上色方法、电子设备、存储介质及计算机程序产品。

为了便于理解,首先对本申请实施例所提供的技术方案的整体处理流程进行介绍。

为解决图像上色技术无法落地到低功耗设备上的问题,本申请实施例所提供的技术方案,主要采用以下技术手段:

1.预先训练至少两个小感受野网络;

2.基于训练得到的至少两个小感受野网络,生成至少两个Lut(Look up table,查找表),其中,每个Lut中记录有多个遍历图像块与单个像素点的各通道对应的数值之间的映射关系,每个Lut中的遍历图像块的尺寸相同;

3.将至少两个Lut存储在低功耗设备上,在需要上色时,对于每个Lut,遍历待上色图像中的各图像块,查找Lut中与各图像块对应的单个像素点的各通道对应的数值,得到每个Lut的查表结果,将多个查表结果进行融合,得到最终的上色图像。

本申请实施例中,遍历图像块为灰度图像块,也就是,遍历图像块中的像素点仅对应一个通道,通道的数值为灰度值。为便于描述,后续可以用“图像块”代替“遍历图像块”进行描述。

本申请实施例中,相较于灰度图像中一个像素点对应一个通道,彩色图像中一个像素点对应多个通道,每个通道有一个具体的数值,也就是,各通道对应的数值。

例如,对于RGB格式的图像,像素点的各通道对应的数值指的是:像素点的R通道的数值、G通道的数值和B通道的数值。

例如,对于YUV格式的图像,像素点的各通道对应的数值指的是:像素点的Y通道的数值、U通道的数值和V通道的数值。

以上模型训练过程和生成Lut的过程可以在计算能力较强的设备上执行,生成的至少两个Lut存储于低功耗设备上。由于模型训练过程和生成Lut的过程可以不需要在低功耗设备上执行,并且Lut占用的存储空间有限,查表过程占用的GPU也有限,因此图像上色技术可以在低功耗设备上落地。

本申请实施例中,采用小感受野网络的原因,在于:这直接关系到最终生成的Lut的大小,如果Lut很大,那么其占据设备的存储空间也就很大,查表过程占用的GPU也会很大,很难落地在低功耗设备上。基于小感受野网络所生成的Lut比较小,其占据设备的存储空间也较小,能够落地在低功耗设备上。

本申请实施例中,采用至少两个小感受野网络的原因,在于:只采用一个小感受野网络是不可以的,因为感受野小,网络得到的特征图的一个点对应原来图像的区域比较小,导致不同灰度块的图像对网络来说没有任何区别,学不到多种颜色。为了克服这个缺陷,需要至少训练两个小感受野网络,至于训练几个,可以参考低功耗电子设备的存储和计算能力,如果能力比较强,能存储多个Lut,则可以多训练几个小感受野网络;或者,如果训练数据中样本图像的尺寸比较小,多次下采样后图像的分辨率比较低,看不清楚图像的细节,无法提取到准确的特征,训练很多个网络就变得没有意义,此时可以少训练几个小感受野网络。

本申请实施例中,遍历图像块的尺寸和形状,需要与小感受野网络的感受野的尺寸和形状相同。

本申请实施例中,一个查表结果对应一个经过上色的彩色图像,将至少两个已上色的彩色图像进行融合,得到最终的上色图像。

接下来,依次对以上提及的小感受野网络的训练过程、基于小感受野网络生成Lut的过程,以及基于Lut进行图像上色的过程进行介绍。

图1是本申请的一个实施例的小感受野网络训练过程的流程图,如图1所示,可以包括以下步骤:步骤101、步骤102、步骤103和步骤104,其中,

在步骤101中,获取训练集,对训练集中的样本图像均进行不同尺度的表达,得到至少两个尺度的样本图像,其中,样本图像包括灰度样本图像和对应的彩色样本图像。

本申请实施例中,训练集中包括多个样本图像,每个样本图像中包括一个灰度样本图像和对应的彩色样本图像。在实际应用中,为确保训练结果的准确性,训练集中可以包括海量的样本图像;为确保后续图像上色效果的准确性,样本图像可以为高分辨率图像,例如4K图像;或者,为降低训练成本,也可以采用低分辨率图像,本申请实施例对此不作限定。

本申请实施例中提及的“多尺度”指的是:原始尺度和比原始尺度小的尺度。

考虑到小感受野网络的缺点是由于感受野太小,不同灰度块的图像对网络来说没有任何区别,所以学不到多种颜色。一个常见的例子是茄子的“把”是绿色的,但是对网络来说茄子的紫色部分和绿色部分并没有任何区别,这造成最终茄子“把”的颜色也会被上成紫色。又考虑到缩小图像的尺度,相当于增大感受野,更有利于学习到正确的颜色,如图2所示。

有鉴于此,本申请实施例中,为学习到图像中正确的颜色,可以从训练数据的角度,增大“感受野”,具体地,可以对同一训练集中的样本图像进行不同尺度的表达,得到至少两个尺度的样本图像,基于至少两个尺度的样本图像训练至少两个小感受野网络,从而确保网络能够正确地学习到样本图像中的所有颜色。

本申请实施例中,可以对训练集中的样本图像进行不同倍数的下采样,得到样本图像在不同尺度下的表达。

例如,以训练集中的一个样本图像Y_0为例,对Y_0进行4倍下采样得到Y_1,对Y_0进行16倍下采样得到Y_2,此时可以得到Y_0在三个尺度的表达:原始尺度的Y_0、1/4尺度的Y_0(即Y_1)和1/16尺度的Y_0(即Y_2)。对于训练集中剩余的其他样本图像均进行上述同样的处理,得到训练集中各样本图像在不同尺度的表达。

在步骤102中,构建每个尺度的样本图像对应初始网络和初始损失函数,其中,不同的初始网络的感受野相同且感受野的值小于预设数值。

本申请实施例中,针对不同尺度的样本图像,构建不同的初始网络,以训练不同的小感受野网络。

本申请实施例中,不同初始网络之间的关系,可以概括为以下几点:

1.不同的初始网络的网络结构大体相同,具体来说,各初始网络的感受野的尺寸、形状均相同,且感受野的值小于预设数值,以确保训练得到的各小感受野网络的感受野的尺寸、形状均相同,使得基于各小感受野网络生成的各Lut表的格式相同,便于后续查表进行图像上色。在实际应用中,预设数值的取值可以为4或5。由于样本图像的尺度不同,因此不同的初始网络的网络结构在细节上存又在一些差异,例如,随着样本图像的尺度在降低,所构建的初始网络的深度逐渐变浅。

在一些实施例中,初始网络的大体网络结构可以为图3所示的网络结构,该网络结构的感受野的值为4,该网络结构中包括:多个卷积层,其中,第一个卷积层的卷积核的结构尺寸(Kernel Size)为2×2,步长(Stride)为1,填充(Padding)为0。之后剩余卷积层的卷积核的结构尺寸为1,步长为1,填充为0。

在将尺寸为(H,W,1)的灰度图像,输入至该网络结构的网络之前,需要在图像的上边缘和左边缘填充一圈0,使得输入图像的尺寸变为(H+1,W+1,1)。(H+1,W+1,1)经过第一个卷积层处理,得到尺寸为(H,W,16)的图像,尺寸为(H,W,16)的图像经过第二个卷积层处理,得到尺寸为(H,W,32)的图像,依次类推,最后网络输出的尺寸为(H,W,3)的结果图像,即彩色图像。其中,(H,W,N)中的H代表图像的高度,W代表图像的宽度,N代表通道数。

可以理解的是,由于图3所示网络结构中,第一个卷积层卷积核的尺寸是2×2,其余卷积层卷积核的尺寸都是1,因此该网络结构的感受野是4。如果想构造感受野为5的网络,则可以将网络结构中第一个卷积层卷积核的尺寸修改为1×5或者5×1,其余卷积层卷积核的尺寸不作修改,仍为1。

2.不同的初始网络的初始权重系数:训练之前,需要权重系数初始化,初始化的策略是相同的,因此初始权重系数可以是一致的。

3.在构建不同的初始网络时,会构建各自对应的损失函数,但在训练时,需要将构建的所有损失函数进行加权运算,作为实际训练过程中使用的损失函数。原因是:如果将各初始网络分开训练,各初始网络使用各自对应的损失函数进行训练,也就是,各自训练各自的网络,只能保证各自训练得到的小感受野网络是最好状态,不能保证所有网络同时达到最好状态。因此需要将所有的初始网络放在一起训练,以保证所有网络同时使用时是最好状态,也就是,整体效果最好。放在一起训练所采用的手段是:将各初始网络的初始损失函数融合为一个新的损失函数,所有的初始网络均使用新的损失函数进行训练。

在步骤103中,基于构建的初始损失函数,生成目标损失函数。

本申请实施例中,考虑到对于网络来说,小尺度的样本图像的实际感受野会更大一些,学习到图像中区域会更广,范围更大,因此在生成目标损失函数时,可以将小尺度的样本图像所对应的初始损失函数的权重设置的比较大一些,将大尺度的样本图像所对应的初始损失函数的权重设置的比较小一些,在这种情况下,上述步骤103具体可以包括以下步骤:

对构建的所有初始损失函数进行加权求和运算,得到目标损失函数,其中,样本图像的尺度越小,对应的初始损失函数的权重值越大。

在步骤104中,将每个尺度的样本图像中的灰度样本图像输入至对应的初始网络进行处理,输出对应的预测彩色图像,基于预测彩色图像、灰度样本图像对应的彩色样本图像和目标损失函数,对初始网络进行训练,直至模型收敛,得到每个尺度的样本图像对应的小感受野网络。

本申请实施例中,在实际进行模型训练时,所有初始网络所使用的损失函数均为目标损失函数,而不是各自的初始损失函数。

在一些实施例中,当初始网络的网络结构为图3所示网络结构时,网络的训练过程可以如下:

1.输入尺寸为(H+1,W+1,1)的灰度图,经过16个尺寸为(2,2,1)的卷积核,以1为步长做卷积得到尺寸为(H,W,16)的特征图,特征图过relu激活函数,再经过BN层,得到尺寸为(H,W,16)的特征图;

2.上一步尺寸为(H,W,16)的特征图,经过32个尺寸为(1,1,16)的卷积核,以1为步长做卷积得到尺寸为(H,W,32)的特征图,特征图过relu激活函数,再经过BN层,得到尺寸为(H,W,32)的特征图;

3.上一步尺寸为(H,W,32)的特征图,经过64个尺寸为(1,1,32)的卷积核,以1为步长做卷积得到尺寸为(H,W,64)的特征图,特征图过relu激活函数,再经过BN层,得到尺寸为(H,W,64)的特征图;

4.上一步尺寸为(H,W,64)的特征图,经过128个尺寸为(1,1,64)的卷积核,以1为步长做卷积得到尺寸为(H,W,128)的特征图,特征图过relu激活函数,再经过BN层,得到尺寸为(H,W,128)的特征图;

5.上一步尺寸为(H,W,128)的特征图,经过64个尺寸为(1,1,128)的卷积核,以1为步长做卷积得到尺寸为(H,W,64)的特征图,特征图过relu激活函数,再经过BN层,得到尺寸为(H,W,64)的特征图;

6.上一步尺寸为(H,W,64)的特征图,经过32个尺寸为(1,1,64)的卷积核,以1为步长做卷积得到尺寸为(H,W,32)的特征图,特征图过relu激活函数,再经过BN层,得到尺寸为(H,W,32)的特征图;

7.上一步尺寸为(H,W,32)的特征图,经过16个尺寸为(1,1,32)的卷积核,以1为步长做卷积得到尺寸为(H,W,16)的特征图,特征图过relu激活函数,再经过BN层,得到尺寸为(H,W,16)的特征图;

8.上一步尺寸为(H,W,16)的特征图,经过3个尺寸为(1,1,16)的卷积核,以1为步长做卷积得到尺寸为(H,W,3)的结果图。

在一个例子中,以彩色样本图像为RGB格式的图像为例,如图4所示,可以训练3个小感受野网络,对于原始尺度的样本灰度图像Y_0,可以对其分别进行4倍下采样得到Y_1,进行16倍下采样得到Y_2,其中,Y_0、Y_1和Y_2为Y_0在三个尺度上的表达。

之后,构建Y_0对应的小感受野网络Net_0,Y_1对应的小感受野网络Net_1,和Y_2对应的小感受野网络Net_2,其中,Net_0、Net_1和Net_2的网络结构大体一致,初始权重系数的取值大体一致。

最后,同时训练Net_0、Net_1和Net_2:将Y_0输入至Net_0中进行处理,输出预测的彩色图像RGB_0,根据目标损失函数,对RGB_0与Y_0对应的彩色样本图像计算损失,更新Net_0中的权重系数,再重复上述过程,直至模型收敛,得到训练好的小感受野网络。

将Y_1输入至Net_1中进行处理,输出预测的彩色图像RGB_1,根据目标损失函数,对RGB_1与Y_1对应的彩色样本图像(即Y_0对应的彩色样本图像的4倍下采样)计算损失,更新Net_1中的权重系数,再重复上述过程,直至模型收敛,得到训练好的小感受野网络。

将Y_2输入至Net_2中进行处理,输出预测的彩色图像RGB_2,根据目标损失函数,对RGB_2与Y_2对应的彩色样本图像(即Y_0对应的彩色样本图像的16倍下采样)计算损失,更新Net_2中的权重系数,再重复上述过程,直至模型收敛,得到训练好的小感受野网络。至此得到训练好的3个小感受野网络。

由上述实施例可见,该实施例中,基于同一训练集的样本图像在不同尺度下的表达训练得到至少两个小感受野网络,可以克服单个小感受野网络无法分清楚图像的局部块之间差异的问题,可以学习到图像的局部块之间的多种颜色,因此能够确保后续在使用基于该至少两个小感受野网络生成的至少两个Lut,进行图像上色时,图像上色结果的正确性。

图5是本申请的一个实施例的Lut的生成过程的流程图,如图5所示,可以包括以下步骤:步骤501、步骤502和步骤503,其中,

在步骤501中,构建与小感受野网络的感受野尺寸和形状相同的遍历图像块。

本申请实施例中,每个遍历图像块中包含一个或多个像素点。

本申请实施例中,遍历图像块的尺寸、形状与小感受野网络的感受野尺寸和形状相同。例如,当感受野为2×2时,图像块的排布方式也为2×2。

在步骤502中,对遍历图像块中各像素点的灰度值均进行0~255的赋值,将赋值后的遍历图像块均输入至训练得到的各小感受野网络中进行处理,输出单个像素点的各通道对应的数值。

本申请实施例中,在对遍历图像块进行灰度值的赋值时,应该确保遍历图像块中各像素点的灰度值覆盖到所有情况。

例如,当图像块的排布方式为2×2时,图像块中各像素点的灰度值应该覆盖4

本申请实施例中,输入是灰度图像块,输出是单个像素点的各通道对应的数值,原因是:以2×2感受野的网络为例,对应于网络学习的过程,网络是通过2×2的感受野进行学习的,当把网络转成表时,转换过程要跟网络保持一致,将原图作为输入,将特征图作为一个输出,输出一个像素点,对应于原图中的2×2个像素点。

在步骤503中,对于训练得到的每个小感受野网络,建立赋值后的各遍历图像块与小感受野网络输出的单个像素点的各通道对应的数值之间的映射关系,将映射关系记录到Lut,得到每个小感受野网络对应的Lut。

在一个例子中,小感受野网络的个数为3个,分别为Net_0、Net_1和Net_2,感受野均为2×2,相应的,图像块的排布方式也为2×2,图像块中各像素点的灰度值应该覆盖4

如图6所示,将以上4

以感受野为2×2的小感受野网络为例,每个小感受野网络生成的Lut的大小为(256,256,256,256,3),其中,前四项代表图像块的灰度值,最后一项表示对应的单个像素点的三个通道的数值。

按照图6所示的示例图可以得到三个表Lut_0、Lut_1和Lut_2。考虑到若使用原表,尺寸可能太大,占用的存储空间太多,因此在实际存储至低功耗电子设备上时,可以对每个小感受野网络对应的Lut进行缩减,得到对应的缩减后的Lut。例如,每间隔16存一次值,使得表的尺寸缩减为(17,17,17,17,3)。当需要查表上色时,可以对缩减的表进行插值,基于插值得到的表进行查表。

可以理解的是,感受野越大,所生成的查找表Lut的维度越高。例如,感受野是2×2时,表的大小为(256,256,256,256,3);感受野为5时,表的大小为(256,256,256,256,256,3),表的大小成几何倍数增加。也进一步说明,需要使用小感受野网络生成Lut。

由上述实施例可见,该实施例中,可以基于至少两个尺度的样本图像预先训练至少两个小感受野网络,通过训练得到的至少两个小感受野网络遍历指定灰度值的图像块,生成至少两个Lut,每个Lut中记录有多个遍历图像块与单个像素点的各通道对应的数值之间的映射关系,之后将生成的至少两个Lut存储于低功耗设备中。在需要上色时,对于每个Lut,遍历待上色图像中的各图像块,查找Lut表中与各图像块对应的各通道对应的数值,得到每个Lut表的查表结果,将多个查表结果进行融合,得到最终的上色图像。

与现有技术相比,本申请实施例中,由于在对图像上色时所使用的至少两个Lut是基于至少两个小感受野网络生成的,而至少两个小感受野网络是基于同一训练集的样本图像在不同尺度下的表达训练得到的,可以克服单个小感受野网络无法分清楚同为灰度图像的局部块之间差异的问题,也就是,可以学习到灰度图像的局部块之间的多种颜色,因此能够确保图像上色结果的正确性。此外,可以将模型训练过程和生成Lut的过程在计算能力较强的设备上执行,将所生成的Lut存储于低功耗设备上。由于模型训练过程和生成表的过程不需要在低功耗设备上执行,并且所生成的Lut占用的存储空间有限,以及查表过程对GPU的占用也有限,因此在确保图像上色结果的正确性的同时,实现了图像上色技术在低功耗设备上的落地。

图7是本申请的一个实施例的图像上色方法的流程图,如图7所示,该方法可以包括以下步骤:步骤701、步骤702和步骤703,其中,

在步骤701中,接收待上色图像。

在步骤702中,对待上色图像进行不同尺寸的表达,得到与至少两个Lut分别对应的不同尺度的待上色图像。

本申请实施例中,每个Lut中记录有多个遍历图像块与单个像素点的各通道对应的数值之间的映射关系,每个Lut中的遍历图像块的尺寸相同。

本申请实施例中,Lut可以为图5所示实施例方法中生成的查找表,具体地,不同的Lut是通过不同的小感受野网络遍历指定灰度值的图像块转化得到的,其中,不同的小感受野网络的感受野相同且感受野的值小于预设数值,不同的小感受野网络是基于同一训练集中样本图像在不同尺度下的表达训练得到的,每个遍历图像块的尺寸、形状与小感受野网络的感受野的尺寸、形状相同。

本申请实施例中,由于至少两个Lut是基于不同的小感受野网络生成的,不同的小感受野网络又是基于不同尺度的样本图像训练得到的,因此在进行查表时,首先需要将待上色图像的尺度调整至各Lut对应的样本图像的尺度,之后再进行查表。

本申请实施例中,可以采用下采样的方式,对待上色图像进行不同尺寸的表达。

在步骤703中,根据不同尺度的待上色图像和至少两个Lut,获得至少两个不同尺度的彩色图像。

本申请实施例中,对于每个尺度的待上色图像,可以根据每个尺度的待上色图像中各像素点对应的图像块,从对应的Lut查找与各像素点对应的各通道对应的数值,根据查找到的各像素点对应的各通道对应的数值,得到至少两个不同尺度的彩色图像。

本申请实施例中,当本地存储的至少两个Lut为缩减后的Lut时,可以对缩减后的Lut均进行插值运算,得到对应的插值后的Lut;根据不同尺度的待上色图像和插值后的Lut,获得至少两个不同尺度的彩色图像。

在一个例子中,如图9所示,待上色图像为P

为便于理解,以上色后的图像为RGB格式图像为例,结合图8所示的灰度图像,对基于图像块进行查表的过程进行描述。

如图8所示,灰度图像的尺度为5×5(为便于描述以5×5为例,实际应用中图像尺寸远远大于5×5),对于图像中(0,0)位置像素点的RGB值,通过图像中位置为(0,0)、(0,1)、(1,0)和(1,1)的4个像素点构成的图像块和Lut得到;图像中(0,1)位置像素点的RGB值,通过位置为(0,1)、(0,2)、(1,1)和(0,2)的4个像素点构成的图像块和Lut得到;同理,可以得到图像中(0,2)和(0,3)位置像素点的RGB值;图像中(0,4)位置像素点的RGB值,可以先在右侧补一列0,再通过查表得到;或者也可以把(0,4)这一列裁掉。

在步骤704中,对至少两个不同尺度的彩色图像进行融合,得到上色后的目标图像。

本申请实施例中,考虑到图像中的连通区域通常为一个较大的区域,一个完整的区域,例如图像中的茄子,茄子所在的区域为一个连通区域,因此为了提高上色效果的准确性,可以获取不同尺度的待上色图像的连通区域信息,根据连通区域信息,对至少两个不同尺度的彩色图像进行融合,得到上色后的目标图像。

在一些实施例中,当根据待上色图像的连通区域信息,对不同尺度的彩色图像进行融合时,考虑到相较于大尺度的图像,在小尺度的图像上学习得到的结果更为准确,因此在进行图像融合时,对于连通区域,优先使用小尺度的彩色图像进行填充,相应的,上述步骤703,具体可以包括以下步骤(图中未示出):将次小尺度的待上色图像连通区域内像素点的各通道对应的数值替换为最小尺度的彩色图像的对应位置像素点的各通道对应的数值,将次小尺度的待上色图像连通区域之外像素点的各通道对应的数值替换为次小尺度的彩色图像的对应位置像素点的各通道对应的数值,得到第一融合图像;

将次小尺度的上一尺度待上色图像连通区域内像素点的各通道对应的数值替换为第一融合图像的对应位置像素点的各通道对应的数值,将次小尺度的上一尺度待上色图像连通区域之外像素点的各通道对应的数值替换为次小尺度的上一尺度彩色图像的对应位置像素点的各通道对应的数值,得到第二融合图像;

将相同的融合过程,依次应用于其他大尺度的彩色图像,直至在最大尺度的彩色图像上完成图像融合,得到上色后的目标图像。

更为具体地,可以采用分割掩模实现融合,此时,上述步骤703,可以包括以下步骤(图中未示出):步骤7031、步骤7032、步骤7033、步骤7034和步骤7035,其中,

在步骤7031中,对至少两个不同尺度的待上色图像P

本申请实施例中,Mask

在步骤7032中,对Mask

在步骤7033中,对至少两个不同尺度的彩色图像中P

在步骤7034中,对第一融合图像进行上采样,得到彩色图像Q

在步骤7035中,将相同的融合过程,依次应用于至少两个不同尺度的彩色图像中P

在一个例子中,仍以图9为例,如图9所示,至少两个尺度的待上色图像为P

在进行融合时,首先对P

之后,将Mask

再之后,对彩色图像RES_2上采样4倍后和RES_1融合,融合权重图为Mask

最后,RES_12上采样4倍后和RES_0融合,融合权重图为Mask

本申请实施例中,为了提高融合速度,可以对至少两个不同尺度的彩色图像进行逐像素的像素值加权求和运算,得到上色后的目标图像。

在一个例子中,仍以图9为例,可以在对RES_2上采样4倍后和RES_1进行融合时,给RES_2一个4倍权重,给RES_1一个1倍权重,进行逐像素加权求和运算,得到RES_12;之后在对RES_12上采样4倍后和RES_0进行融合时,给RES_12一个4倍权重,给RES_0一个1倍权重,进行逐像素加权求和运算,得到最终的上色结果RES。

由上述实施例可见,该实施例中,由于在对图像上色时所使用的至少两个Lut所占用的存储空间有限、查表过程对GPU的占用也有限、并且至少两个Lut中记录的信息可以准确、全面地表征图像的局部块之间的多种颜色,因此在确保图像上色结果的正确性的同时,实现了图像上色技术在低功耗设备上的落地。

综上所述,本申请实施例中,由于在对图像上色时所使用的至少两个Lut是基于至少两个小感受野网络生成的,而至少两个小感受野网络是基于同一训练集的样本图像在不同尺度下的表达训练得到的,可以克服单个小感受野网络无法分清楚同为灰度图像的局部块之间差异的问题,也就是,可以学习到灰度图像的局部块之间的多种颜色,因此能够确保图像上色结果的正确性。此外,可以将模型训练过程和生成Lut的过程在计算能力较强的设备上执行,将所生成的Lut存储于低功耗设备上。由于模型训练过程和生成表的过程不需要在低功耗设备上执行,并且所生成的Lut占用的存储空间有限,以及查表过程对GPU的占用也有限,因此在确保图像上色结果的正确性的同时,实现了图像上色技术在低功耗设备上的落地。

图10是本申请的一个实施例的图像上色装置的结构示意图,如图10所示,图像上色装置1000,可以包括:接收模块1001、变换模块1002、查表模块1003和融合模块1004,其中,

接收模块1001,用于接收待上色图像;

变换模块1002,用于对所述待上色图像进行不同尺度的表达,得到与至少两个Lut分别对应的不同尺度的待上色图像,其中,每个Lut中记录有多个遍历图像块与单个像素点的各通道对应的数值之间的映射关系,每个Lut中的遍历图像块的尺寸相同;

查表模块1003,用于根据所述不同尺度的待上色图像和所述至少两个Lut,获得至少两个不同尺度的彩色图像;

融合模块1004,用于对所述至少两个不同尺度的彩色图像进行融合,得到上色后的目标图像。

由上述实施例可见,该实施例中,由于在对图像上色时所使用的至少两个Lut所占用的存储空间有限、查表过程对GPU的占用也有限、并且至少两个Lut中记录的信息可以准确、全面地表征图像的局部块之间的多种颜色,因此在确保图像上色结果的正确性的同时,实现了图像上色技术在低功耗设备上的落地。

可选地,作为一个实施例,所述融合模块1004,可以包括:

融合子模块,用于获取不同尺度的待上色图像的连通区域信息,根据所述连通区域信息,对所述至少两个不同尺度的彩色图像进行融合,得到上色后的目标图像。

可选地,作为一个实施例,所述融合子模块,具体用于:

将次小尺度的待上色图像连通区域内像素点的各通道对应的数值替换为最小尺度的彩色图像的对应位置像素点的各通道对应的数值,将次小尺度的待上色图像连通区域之外像素点的各通道对应的数值替换为次小尺度的彩色图像的对应位置像素点的各通道对应的数值,得到第一融合图像;

将次小尺度的上一尺度待上色图像连通区域内像素点的各通道对应的数值替换为第一融合图像的对应位置像素点的各通道对应的数值,将次小尺度的上一尺度待上色图像连通区域之外像素点的各通道对应的数值替换为次小尺度的上一尺度彩色图像的对应位置像素点的各通道对应的数值,得到第二融合图像;

将相同的融合过程,依次应用于其他大尺度的彩色图像,直至在最大尺度的彩色图像上完成图像融合,得到上色后的目标图像。

可选地,作为一个实施例,不同的Lut是通过不同的小感受野网络遍历指定灰度值的图像块转化得到的;其中,不同的小感受野网络的感受野相同且感受野的值小于预设数值,不同的小感受野网络是基于同一训练集中样本图像在不同尺度下的表达训练得到的,每个遍历图像块的尺寸、形状与所述小感受野网络的感受野的尺寸、形状相同。

可选地,作为一个实施例,所述图像上色装置1000,还可以包括:

训练模块,用于:获取训练集,对所述训练集中的样本图像均进行不同尺度的表达,得到至少两个尺度的样本图像,其中,所述样本图像包括灰度样本图像和对应的彩色样本图像;

构建每个尺度的样本图像对应初始网络和初始损失函数,其中,不同的初始网络的感受野相同且感受野的值小于预设数值;

基于构建的初始损失函数,生成目标损失函数;

将每个尺度的样本图像中的灰度样本图像输入至对应的初始网络进行处理,输出对应的预测彩色图像,基于所述预测彩色图像、所述灰度样本图像对应的彩色样本图像和所述目标损失函数,对初始网络进行训练,直至模型收敛,得到每个尺度的样本图像对应的小感受野网络。

可选地,作为一个实施例,所述训练模块,具体用于:

对构建的所有初始损失函数进行加权求和运算,得到目标损失函数,其中,样本图像的尺度越小,对应的初始损失函数的权重值越大。

可选地,作为一个实施例,所述图像上色装置1000,还可以包括:

查找表生成模块,用于:构建与所述小感受野网络的感受野尺寸和形状相同的遍历图像块;

对所述遍历图像块中各像素点的灰度值均进行0~255的赋值,将赋值后的所述遍历图像块均输入至训练得到的各小感受野网络中进行处理,输出单个像素点的各通道对应的数值;

对于训练得到的每个小感受野网络,建立赋值后的各遍历图像块与所述小感受野网络输出的单个像素点的各通道对应的数值之间的映射关系,将所述映射关系记录到Lut,得到每个小感受野网络对应的Lut。

可选地,作为一个实施例,所述图像上色装置1000,还可以包括:

缩减模块,用于对每个小感受野网络对应的Lut进行缩减,得到缩减后的Lut;

所述查表模块1003,可以包括:

插值子模块,用于对所述缩减后的Lut均进行插值运算,得到对应的插值后的Lut;

查表子模块,用于根据所述不同尺度的待上色图像和所述插值后的Lut,获得至少两个不同尺度的彩色图像。

本申请提供的图像上色方法的实施例中的任意一个步骤和任意一个步骤中的具体操作均可以由图像上色装置中的相应的模块完成。图像上色装置中的各个模块完成的相应的操作的过程参考在图像上色方法的实施例中描述的相应的操作的过程。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

图11是本申请的一个实施例的一种电子设备的结构框图。电子设备包括处理组件1122,其进一步包括一个或多个处理器,以及由存储器1132所代表的存储器资源,用于存储可由处理组件1122执行的指令,例如应用程序。存储器1132中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1122被配置为执行指令,以执行上述方法。

电子设备还可以包括一个电源组件1126被配置为执行电子设备的电源管理,一个有线或无线网络接口1150被配置为将电子设备连接到网络,和一个输入输出(I/O)接口1158。电子设备可以操作基于存储在存储器1132的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。

根据本申请的再一个实施例,本申请还提供了计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任意一个实施例所述的图像上色方法中的步骤。

根据本申请的再一个实施例,本申请还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任意一个实施例所述的图像上色方法中的步骤。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种图像上色方法、电子设备、存储介质及计算机程序产品,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

技术分类

06120114693437