一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于人工智能的图像上色方法、装置、电子设备与流程

2021-10-29 20:13:00 来源:中国专利 TAG:上色 人工智能 电子设备 图像处理 装置


1.本技术涉及图像处理技术,尤其涉及一种基于人工智能的图像上色方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.人工智能(ai,artificial intelligence)是计算机科学的一个综合技术,通过研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,例如自然语言处理技术以及机器学习/深度学习等几大方向,随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
3.图像处理是人工智能的重要应用,典型地,可以基于灰度图像生成对应的上色图像。然而,相关技术在生成上色图像的过程中,容易出现颜色渗色和颜色褪色等问题,极大地影响了生成的上色图像的质量。


技术实现要素:

4.本技术实施例提供一种基于人工智能的图像上色方法、装置、电子设备及计算机可读存储介质,能够精确地对待上色图像进行上色。
5.本技术实施例的技术方案是这样实现的:
6.本技术实施例提供一种基于人工智能的图像上色方法,包括:
7.获取待上色图像的第一色彩先验信息;
8.对所述第一色彩先验信息进行变换,以得到与所述待上色图像对齐的第二色彩先验信息;
9.对所述待上色图像进行下采样处理,得到第一图像特征;
10.基于所述第二色彩先验信息对所述第一图像特征进行调制上色处理,得到第二图像特征;
11.基于所述第二色彩先验信息对所述第二图像特征进行上采样处理,得到与所述待上色图像对齐的第一上色图像。
12.本技术实施例提供一种基于人工智能的图像上色装置,包括:
13.获取模块,用于获取待上色图像的第一色彩先验信息;
14.变换模块,用于对所述第一色彩先验信息进行变换,以得到与所述待上色图像对齐的第二色彩先验信息;
15.处理模块,用于对所述待上色图像进行下采样处理,得到第一图像特征;以及用于基于所述第二色彩先验信息对所述第一图像特征进行调制上色处理,得到第二图像特征;以及用于基于所述第二色彩先验信息对所述第二图像特征进行上采样处理,得到与所述待上色图像对齐的第一上色图像。
16.上述方案中,所述获取模块,还用于:
17.获取所述待上色图像的编码向量;
18.通过以下方式对所述待上色图像进行上色处理:对所述编码向量进行恒等映射,得到未与所述待上色图像对齐的第二上色图像;
19.将通过所述恒等映射得到第二上色图像的过程中得到的多尺度特征,作为所述第一色彩先验信息。
20.上述方案中,所述变换模块,还用于:
21.确定所述待上色图像与第二上色图像之间的相似度矩阵,所述第二上色图像是对所述待上色图像进行上色处理得到的,且未与所述待上色图像对齐;
22.基于所述相似度矩阵对所述第一色彩先验信息中的多尺度特征进行仿射变换,得到与所述待上色图像对齐的多尺度特征;
23.将与所述待上色图像对齐的多尺度特征作为所述第二色彩先验信息。
24.上述方案中,所述变换模块,还用于:
25.获取所述待上色图像的第一位置特征和所述第二上色图像的第二位置特征;
26.其中,所述第一位置特征包括所述待上色图像中每个像素点的位置特征,所述第二位置特征包括所述第二上色图像中每个像素点的位置特征;
27.基于所述第一位置特征和所述第二位置特征,确定所述待上色图像与所述第二上色图像之间的相似度矩阵;
28.其中,所述相似度矩阵包括所述待上色图像中每个像素点与所述第二上色图像中每个像素点之间的相似度。
29.上述方案中,所述变换模块,还用于:
30.对所述第一位置特征和所述第二位置特征进行非局部处理,得到相似度矩阵;
31.对所述相似度矩阵进行归一化处理,将得到的归一化后的相似度矩阵,作为所述待上色图像与所述第二上色图像之间的相似度矩阵。
32.上述方案中,所述处理模块,还用于:
33.基于所述第二色彩先验信息中与所述待上色图像对齐的多尺度特征,确定第一调制参数;
34.通过所述第一调制参数对所述第一图像特征进行调制上色处理,得到所述第二图像特征。
35.上述方案中,所述调制上色处理是通过上色网络实现的,所述上色网络包括残差模块;所述处理模块,还用于:
36.在与所述待上色图像对齐的多尺度特征中,确定与所述上色网络中的残差模块对应的第一尺度特征;
37.对所述第一尺度特征进行卷积处理,得到与所述残差模块对应的第一调制参数。
38.上述方案中,所述处理模块,还用于:
39.对所述第一图像特征进行卷积处理,通过所述第一调制参数对得到的卷积结果进行线性变换;
40.将线性变换的结果与所述第一图像特征进行加和处理,将得到的加和处理结果作为所述第二图像特征。
41.上述方案中,所述处理模块,还用于:
42.基于所述第二色彩先验信息中与所述待上色图像对齐的多尺度特征,确定第二调制参数;
43.对所述第二图像特征进行反卷积处理,并通过所述第二调制参数对反卷积处理结果进行线性变换,对线性变换结果进行激活处理,得到与所述待上色图像对齐的预测彩色图像;
44.对所述预测彩色图像进行色彩模式转换处理,得到第一上色图像。
45.上述方案中,所述调制上色处理是通过上色网络实现的,所述上色网络包括上采样模块;所述处理模块,还用于:
46.在与所述待上色图像对齐的多尺度特征中,确定与所述上色网络中的上采样模块对应的第二尺度特征;
47.对所述第二尺度特征进行卷积处理,得到与所述上采样模块对应的第二调制参数。
48.上述方案中,所述处理模块,还用于:
49.对所述编码向量进行转换处理,得到转换向量;
50.基于所述转换向量确定与所述待上色图像对齐的第三色彩先验信息;
51.基于所述第三色彩先验信息对所述待上色图像进行调制上色处理,得到与所述待上色图像对齐的第三上色图像;
52.其中,所述第三上色图像包括以下至少一种:对所述待上色图像中背景上色后的图像、对所述待上色图像中前景上色后的图像、对所述待上色图像的饱和度调整后的图像。
53.上述方案中,所述下采样处理、所述调制上色处理和所述上采样处理是通过上色网络实现的;所述基于人工智能的图像上色装置还包括训练模块,用于通过以下方式训练所述上色网络:
54.基于所述上色网络对应的对抗损失函数、感知损失函数、域对齐损失函数和上下文损失函数确定总损失函数;
55.调用所述上色网络对待上色图像样本进行上色处理,得到与所述待上色图像样本对齐的第一上色图像、未与所述待上色图像对齐的第二上色图像以及预测彩色图像;
56.其中,所述第一上色图像是对所述预测彩色图像进行转换得到;
57.基于所述预测彩色图像与对应的第一实际彩色图像之间的误差确定对抗损失值,基于所述第二上色图像与对应的第二实际彩色图像之间的误差确定感知损失值,基于所述待上色图像样本与所述第二上色图像之间的误差确定域对齐损失值,基于所述第一上色图像与所述第二上色图像之间的误差确定上下文损失值;
58.其中,所述第二实际彩色图像是对所述第一实际彩色图像进行转换得到;
59.对所述对抗损失值、所述感知损失值、所述域对齐损失值和所述上下文损失值进行加权求和,得到总损失值;
60.基于所述总损失函数在所述上色网络中反向传播所述总损失值,以更新所述上色网络的参数。
61.本技术实施例提供一种电子设备,包括:
62.存储器,用于存储可执行指令;
63.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的
基于人工智能的图像上色方法。
64.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的基于人工智能的图像上色方法。
65.本技术实施例具有以下有益效果:
66.确定与待上色图像对齐的第二色彩先验信息,并基于第二色彩先验信息对待上色图像对应的第一图像特征进行调制上色处理和上采样处理,从而得到第一上色图像。因为第二色彩先验信息是与待上色图像对齐的,所以,基于第二色彩先验信息生成的第一上色图像是与待上色图像对齐的,如此,实现了对待上色图像精确地上色。
附图说明
67.图1是本技术实施例提供的基于人工智能的上色系统10的架构示意图;
68.图2是本技术实施例提供的终端400的结构示意图;
69.图3是本技术实施例提供的上色系统10的组成结构示意图;
70.图4是本技术实施例提供的图像上色的示意图;
71.图5是本技术实施例提供的基于人工智能的图像上色方法的流程示意图;
72.图6是本技术实施例提供的基于人工智能的图像上色方法的流程示意图;
73.图7是本技术实施例提供的上色效果的示意图;
74.图8是本技术实施例提供的上色效果的示意图。
具体实施方式
75.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
76.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
77.在以下的描述中,所涉及的术语“第一/第二/第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一/第二/第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
78.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
79.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
80.1)色彩先验信息:在对图像进行处理之前,可以获知的颜色相关的经验和历史资料,例如可以采用特征图的形式表达。例如,当生成对抗网络能生成色彩丰富的图像时,认为该生成对抗网络中包含了足够多的色彩先验信息,色彩先验信息可以是包括生成对抗网络的中间层的特征的特征图。
81.2)仿射变换:是一种二维向量到二维向量之间的线性变换。仿射变换可以通过一系列的原子变换的复合来实现,原子变换如平移、缩放、翻转、旋转和剪切。
82.3)生成对抗网络(gan,generative adversarial networks):是一种深度学习模型,包括生成器和判别器。生成器和判别器互相博弈学习,从而产生相当好的输出。其中,判别器基于输入变量进行分类预测,生成器通过给定的某种隐含信息来随机产生观测数据。
83.4)前景:是镜头中位于主体前面或靠近前沿的人或物。
84.图像上色,即给灰度图像染上颜色。相关技术基于深度学习对图像上色,这种方法可以分为两种,一种是全自动上色,一种是根据参考图像来上色。全自动上色的优势在于简单方便,只需要设计好损失函数即可端到端的进行训练及测试,但是这种方法比较容易生成出有瑕疵的上色图像,例如颜色渗色和颜色褪色的上色图像。根据参考图像来上色这种方法首先需要提供一张和待上色图像有相似内容的彩色的参考图像,然后根据两张图像的匹配情况将参考图像的颜色转移到待上色图像上。这种方法的上色效果很大程度上取决于参考图像的质量,如果两张图像有着相似内容,该方法的上色效果会很好,但是如果两张图像不相似,上色效果就会不好。所以该方法需要耗费大量精力去挑选参考图像。并且两种方法都难以做到多样化上色。
85.对于以上技术问题,本技术实施例提供一种基于人工智能的图像上色方法,能对待上色图像精确地上色,并实现多样化上色。
86.下面说明本技术实施例提供的基于人工智能的图像上色方法的示例性应用,本技术实施例提供的基于人工智能的图像上色方法可以由各种电子设备实施,例如,可以由终端单独实施,也可以由服务器和终端协同实施。例如终端独自执行下文所述的基于人工智能的图像上色方法,或者,由终端和服务器执行下文所述的基于人工智能的图像上色方法,例如终端向服务器发送待上色图像,服务器根据接收的待上色图像执行基于人工智能的图像上色方法。
87.本技术实施例提供的用于图像上色的电子设备可以是各种类型的终端设备或服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器;终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术对此不做限制。
88.以服务器为例,例如可以是部署在云端的服务器集群,向用户开放人工智能云服务(ai as a service,aiaas),aiaas平台会把几类常见的ai服务进行拆分,并在云端提供独立或者打包的服务,这种服务模式类似于一个ai主题商城,所有的用户都可以通过应用程序编程接口的方式来接入使用aiaas平台提供的一种或者多种人工智能服务。
89.例如,其中的一种人工智能云服务可以为图像上色服务,即云端的服务器封装有本技术实施例提供的图像上色程序。终端响应于图像上色触发操作,向云端的服务器发送携带待上色图像的图像上色请求,云端的服务器调用封装的图像上色程序,基于待上色图像生成第一上色图像,并将第一上色图像返回给终端,以使终端显示第一上色图像。
90.在一些实施例中,以服务器和终端协同实施本技术实施例提供的基于人工智能的
图像上色方法为例进行说明一个示例性的上色系统。参见图1,图1是本技术实施例提供的基于人工智能的上色系统10的架构示意图。终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
91.服务器200接收来自终端400的图像上色请求,该图像上色请求中携带待上色图像。服务器200响应于图像上色请求,获取待上色图像的第一色彩先验信息,并对第一色彩先验信息进行变换,得到与待上色图像对齐的第二色彩先验信息,通过第二色彩先验信息对待上色图像上色,得到与待上色图像对齐的第一上色图像,将第一上色图像发送给终端400,以在终端400中显示第一上色图像。
92.在一些实施例中,以本技术实施例提供的电子设备为终端为例,终端通过运行计算机程序来实现本技术实施例提供的基于人工智能的图像上色方法,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(native)应用程序(app,application),即需要在操作系统中安装才能运行的基于人工智能的图像上色程序;也可以是小程序,即只需要下载到任意客户端的浏览器环境中就可以运行的基于人工智能的图像上色小程序。总而言之,上述计算机程序可以是任意可以是任意形式的应用程序、模块或插件。
93.下面以本技术实施例提供的电子设备为上文所述的终端400为例进行说明。参见图2,图2是本技术实施例提供的终端400的结构示意图,图2所示的终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3将各种总线都标为总线系统440。
94.处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
95.用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
96.存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
97.存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器450旨在包括任意适合类型的存储器。
98.在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
99.操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
100.网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;
101.呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
102.输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
103.在一些实施例中,本技术实施例提供的基于人工智能的图像上色装置可以采用软件方式实现,图2示出了存储在存储器450中的基于人工智能的图像上色装置455,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块4551、变换模块4552、处理模块4553和训练模块4554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
104.参见图3,图3是本技术实施例提供的上色系统10的组成结构示意图。上色系统10包括编码器、预训练gan、变换部分和上色网络。其中,编码器用于获取待上色图像的编码向量,编码器可以是生成对抗网络中的生成器,也可以是自动编码器中的编码器部分,还可以是卷积神经网络。预训练gan是训练好的gan,用于生成第二上色图像以及待上色图像的第一色彩先验信息。变换部分用于基于待上色图像和第二上色图像对第一色彩先验信息进行变换,得到第二色彩先验信息。上色网络用于基于待上色图像和第二色彩先验信息生成第一上色图像。
105.参见图4,图4是本技术实施例提供的图像上色的示意图。如图4所示,上色网络包括下采样模块、残差模块和上采样模块。下采样模块由多个下采样层构成,用于对待上色图像进行下采样处理,得到第一图像特征;残差模块由多个残差块构成,用于基于第二色彩先验信息对第一图像特征进行调制上色处理,得到第二图像特征;上采样模块由多个上采样层构成,用于基于第二色彩先验信息对第二图像特征进行上采样处理,得到与待上色图像对齐的第一上色图像。
106.下面结合上文所述的上色系统10中的各个组成部分,说明本技术实施例提供的基于人工智能的图像上色方法,下述方法的执行主体可以为终端,具体可以是终端通过运行上文的各种计算机程序来实现的;当然,根据对下文的理解,不难看出也可以由终端和服务器协同实施本技术实施例提供的基于人工智能的图像上色方法。
107.参见图5,图5是本技术实施例提供的基于人工智能的图像上色方法的流程示意图,将结合图5示出的步骤、图3示出的上色系统的各部分以及图4进行说明。
108.在步骤101中,获取待上色图像的第一色彩先验信息。
109.在一些实施例中,待上色图像是lab色彩模式的灰度图像,即该灰度图像只有亮度通道(l)而缺失了颜色通道(a和b)。若待上色图像为rgb色彩模式,则需要先将其转换为lab色彩模式。第一色彩先验信息是与待上色图像相关的色彩先验信息,例如,gan中与待上色图像相关的色彩先验信息,即gan的中间层特征。
110.在一些实施例中,如图4所示,可以先通过编码器获取待上色图像的编码向量。其中,编码器可以替换为其他卷积神经网络。然后,通过预训练gan对待上色图像进行上色处
理,得到第二上色图像。预训练gan可以是训练好的biggan,也可以是训练好的stylegan。以biggan为例说明,biggan的生成器中包括多个残差块,编码向量经过线性变换后送入第一个残差块中,每个残差块都包括批量归一化(bn,batch normalization)层、激活层和卷积层。每个残差块都通过1
×
1卷积进行跳跃连接,从而实现对编码向量的恒等映射。恒等映射可将前一层的输出(也是后一层的输入)直接传递到后一层的输出,使后一层的输出近似于其输入,以保持在后面的层次中不会造成精度下降。最终,biggan生成第二上色图像。其中,残差块也可都通过非1
×
1卷积进行跳跃连接。
111.在生成第二上色图像的过程中,每个残差块的输出特征所对应的特征图的大小不一样,即输出特征的尺度不一样。将不同残差块的输出特征(多尺度特征)合并,得到第一色彩先验信息。
112.在步骤102中,对第一色彩先验信息进行变换,以得到与待上色图像对齐的第二色彩先验信息。
113.在一些实施例中,对齐是指同一个部分(对应一个或多个像素)在不同图像中的位置是一致的。例如,构成鸡尾的多个像素在不同图像中位置一致。色彩先验信息与待上色图像对齐,其实质是同一对象在二者中的位置是一致的。由于色彩先验信息是采用特征图的形式表达,因此,色彩先验信息与待上色图像的对齐是指,同一对象在待上色图像、色彩先验信息中的位置是一致的。然而,第二上色图像与待上色图像的背景部分以及前景部分在图中的位置并不是一一对应的,即两个图像中对应的像素没有实现位置对齐。如图4中,第二上色图像中的鸡尾所在位置与待上色图像中鸡尾所在位置明显不一致。相应地,第一色彩先验信息中的多尺度特征与待上色图像对应的图像特征也不是一一对应的,存在偏差。因此,还需要对第一色彩先验信息进行变换,以得到与待上色图像对齐的第二色彩先验信息,即与待上色图像对应的图像特征对齐的色彩先验信息,此时,第二色彩先验信息所对应的上色图像与待上色图像是对齐的。
114.在一些实施例中,对第一色彩先验信息进行变换,以得到与待上色图像对齐的第二色彩先验信息是通过上色系统10中的变换部分实现的,其实现过程如图6的步骤1021至步骤1023所示。
115.在步骤1021中,确定待上色图像与第二上色图像之间的相似度矩阵,第二上色图像是对待上色图像进行上色处理得到的,且未与待上色图像对齐。
116.如图4所示,可通过特征提取器分别提取待上色图像的第一位置特征与第二上色图像的第二位置特征。其中,第一位置特征包括待上色图像中每个像素点的位置特征,第二位置特征包括第二上色图像中每个像素点的位置特征。然后,对第一位置特征和第二位置特征进行非局部(non

local)处理,得到待上色图像与第二上色图像之间的相似度矩阵。其中,相似度矩阵包括待上色图像中每个像素点与第二上色图像中每个像素点之间的相似度。非局部处理用于通过计算得到待上色图像中一个像素点与第二上色图像中任意一个像素点之间的相似度,计算方法包括点积、拼接和双线性相似度度量等。当用点积计算相似度时,通过计算待上色图像与第二上色图像对应位置的位置向量(位置特征)的点积,可得到两个位置的相似度。当通过拼接来计算相似度时,将两个图像中对应位置的位置向量拼接后送入感知器可预测得到二者的相似度。最后,可通过softmax函数对相似度矩阵进行归一化处理,使相似度矩阵中每一行的元素之和为1。将得到的归一化后的相似度矩阵,作为待
上色图像与第二上色图像之间的相似度矩阵。
117.在步骤1022中,基于相似度矩阵对第一色彩先验信息中的多尺度特征进行仿射变换,得到与待上色图像对齐的多尺度特征。
118.在一些实施例中,对第一色彩先验信息中的多尺度特征进行仿射变换,即将相似度矩阵与第一色彩先验信息中的多尺度特征通过矩阵乘,可得到与待上色图像对齐的多尺度特征。
119.在步骤1023中,将与待上色图像对齐的多尺度特征作为第二色彩先验信息。
120.可见,基于待上色图像与第二上色图像对应位置处的位置特征的相似度得到待上色图像与第二上色图像间的相似度矩阵,通过相似度矩阵对第一色彩先验信息进行仿射变换,可以得到与待上色图像对齐的第二色彩先验信息,为后续生成与待上色图像对齐的第一上色图像提供了保证。
121.在步骤103中,对待上色图像进行下采样处理,得到第一图像特征。
122.在一些实施例中,通过上色网络中的下采样模块对待上色图像进行下采样处理。下采样模块包括多个下采样层,在每个下采样层中对输入特征进行卷积处理,得到对应的图像特征,所得到的图像特征代表待上色图像的位置信息和语义信息等。对得到的图像特征进行池化处理,得到对应的池化结果,并将池化结果作为下一层的输入特征。将最后一个下采样层的输出作为第一图像特征。
123.在步骤104中,基于第二色彩先验信息对第一图像特征进行调制上色处理,得到第二图像特征。
124.在一些实施例中,为了实现多尺度的控制,通过与待上色图像对齐的多尺度特征分别控制上色网络的残差模块和上采样模块。与待上色图像对齐的多尺度特征中不同的尺度特征对应上色网络中不同的部分。例如,当上色网络的上采样模块包括两个上采样层时,与待上色图像对齐的多尺度特征中一共有3个尺度的特征,分别与残差模块、第一个上采样层、第二个上采样层对应。
125.在一些可能的示例中,首先,基于第二色彩先验信息中与待上色图像对齐的多尺度特征,确定第一调制参数。即在与待上色图像对齐的多尺度特征中,确定与上色网络中的残差模块对应的第一尺度特征,对第一尺度特征进行卷积处理,得到与残差模块对应的第一调制参数。因为一般残差模块由至少两个残差块构成,所以,对第一尺度特征并行进行多次不同的卷积处理,得到与每个残差块分别对应的第一调制参数(α和β,α代表权重,β代表偏差),每个第一调制参数的维度与对应的残差块中的待调制特征f的维度一致。每个残差块有多层,每层由卷积层、空间自适应归一化(spade,spatially

adaptive normalization)层和激活层构成。待调制特征f是每个残差块中的卷积层对其输入特征进行卷积处理后得到的特征。例如,当上色网络中有6个残差块时,通过不同的卷积神经网络对第一尺度特征并行进行6次不同的卷积处理,得到分别对应6个残差块的6个第一调制参数:(α1,β1)、(α2,β2)、(α3,β3)、(α4,β4)、(α5,β5)、(α6,β6)。
126.其中,spade层与bn层类型,也是用于正则化,并利用学到的调制参数进行调制。与bn层不同的是,spade层为条件正则层,即其调制参数依赖于外部得到;且spade层中的调制参数为张量,而不是bn层中的向量。相较于常见的正则层,spade层可以更好的保留语义信息,以使上色网络生成具有真实纹理的第一上色图像。
127.然后,通过第一调制参数对第一图像特征进行调制上色处理,得到第二图像特征。通过残差块中的卷积层对第一图像特征进行卷积处理,得到对应的卷积结果。在spade层中,通过第一调制参数对得到的卷积结果进行线性变换。线性变换的公式如公式(1)所示:
128.f

=f*α β
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
129.其中,f

是由第一调制参数对待调制特征调制得到的特征,也是线性变换的结果。
130.在激活层中,将线性变换的结果映射到高维的非线性区间,最后,将映射后的线性变换的结果与第一图像特征进行加和处理,将得到的加和处理结果作为第二图像特征。其中,当残差块为恒等映射时,直接对映射后的线性变换的结果与第一图像特征进行加和处理;当残差块为非恒等映射时,将第一图像特征放大/缩小后与映射后的线性变换的结果相加。当存在多个残差块时,前一个残差块的加和处理结果是后一个残差块的输入,取最后一个残差块的加和处理结果作为第二图像特征。
131.在步骤105中,基于第二色彩先验信息对第二图像特征进行上采样处理,得到与待上色图像对齐的第一上色图像。
132.在一些实施例中,首先,基于第二色彩先验信息中与待上色图像对齐的多尺度特征,确定第二调制参数。即在与待上色图像对齐的多尺度特征中,确定与上色网络中的上采样模块对应的第二尺度特征。例如,当上采样模块包括2个上采样层时,多尺度特征中存在与2个上采样层分别对应的第二尺度特征。通过卷积神经网络对第二尺度特征进行卷积处理,得到与上采样模块对应的第二调制参数。
133.然后,对第二图像特征进行反卷积处理(即上采样),将反卷积处理结果作为待调制特征与第二调制参数一并代入线性变换的公式(1)中进行线性变换,得到线性变换结果(即调制后的特征),对线性变换结果进行激活处理,得到待上色图像对应的lab色彩模式的预测彩色图像。预测彩色图像中不仅有待上色图像中的亮度通道,还有待上色图像丢失的两个颜色通道。对预测彩色图像进行色彩模式转换,可以得到对应的rgb色彩模式的图像,即第一上色图像。
134.当存在多个上采样层时,前一个上采样层对应的线性变换结果是后一个上采样层的输入,最后一个上采样层的线性变换结果即为预测彩色图像。
135.在一些实施例中,为了得到具有多样化上色效果的上色图像,可对编码向量进行转换处理,得到转换向量。例如,可以通过以下方式控制修改编码向量:在编码向量中加入噪音向量;或者在训练预训练gan时,改变其输入的类别;或者通过无监督学习找到和颜色变化相关的方向,然后沿着这些方向改变编码向量。然后,基于转换向量确定与待上色图像对齐的第三色彩先验信息。即以转换向量作为预训练gan的输入向量,获取预训练gan在生成对应的上色图像的过程中的第三色彩先验信息(即预训练gan的中间层特征)。最后,基于第三色彩先验信息对待上色图像进行调制上色处理,得到与待上色图像对齐的第三上色图像,调制上色处理的过程与前文类似,此处不再赘述。其中,第三上色图像包括以下至少一种:对待上色图像中背景上色后的图像、对待上色图像中前景上色后的图像、对待上色图像的饱和度调整后的图像。
136.可见,本技术实施例不仅可以自动生成颜色生动且与原图高度对齐的上色图像,还可以通过控制修改编码向量,生成具有不同上色效果的上色图像,实现多样化上色。
137.在一些实施例中,预训练gan是提前训练好的,其参数是固定的。在训练编码器的
过程中,确定预训练gan的生成器生成的上色图像的图像特征与待上色图像对应的实际彩色图像的图像特征之间的误差,在编码器中反向传播误差以更新编码器的参数。
138.在训练好编码器之后,对上色网络进行训练。首先,基于上色网络对应的对抗损失函数、感知损失函数、域对齐损失函数和上下文损失函数确定总损失函数。其中,对抗损失函数用于使上色网络生成的第一上色图像更加逼真,感知损失函数用于使上色网络生成的第一上色图像感觉上更真实合理,域对齐损失函数用于将待上色图像和第二上色图像映射到同一特征空间,上下文损失函数用于衡量两个未对齐图像(第一上色图像与第二上色图像)之间的相似度。
139.然后,通过上色系统10对待上色图像样本进行处理,得到与待上色图像样本对齐的第一上色图像、未与待上色图像对齐的第二上色图像以及预测彩色图像。在一些可能的示例中,第一上色图像和第二上色图像均为rgb色彩模式的图像,预测彩色图像是lab色彩模式的图像,对lab色彩模式的预测彩色图像进行转换,可以得到rgb色彩模式的图像。第一上色图像是对预测彩色图像进行色彩模式的转换得到的。
140.之后,基于预测彩色图像与对应的第一实际彩色图像之间的误差确定对抗损失值,基于第二上色图像与对应的第二实际彩色图像之间的误差确定感知损失值,基于待上色图像样本与第二上色图像之间的误差确定域对齐损失值,基于第一上色图像与第二上色图像之间的误差确定上下文损失值。
141.在一些可能的示例中,第一实际彩色图像是待上色图像对应的实际的lab色彩模式的彩色图像,预测彩色图像是对待上色图像预测其丢失的两个颜色通道所得到的lab色彩模式的彩色图像,第二上色图像是预测的rgb色彩模式的彩色图像,第二实际彩色图像是待上色图像对应的实际的rgb色彩模式的彩色图像,对第一实际彩色图像进行色彩模式的转换得到第二实际彩色图像。
142.在确定各损失值之后,对对抗损失值、感知损失值、域对齐损失值和上下文损失值进行加权求和,得到总损失值。最后,基于总损失函数在上色网络中反向传播总损失值,以更新上色网络的参数。
143.可以看出,本技术实施例通过确定与待上色图像对齐的第二色彩先验信息,并基于第二色彩先验信息对待上色图像对应的第一图像特征进行调制上色处理和上采样处理,从而得到第一上色图像。因为第二色彩先验信息是与待上色图像对齐的,所以,基于第二色彩先验信息生成的第一上色图像是与待上色图像对齐的,如此,实现了对待上色图像精确地上色。
144.下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
145.在视频应用中,终端响应于用户对灰度视频文件的上色操作,向云服务器发送携带灰度视频文件的上色请求。云服务器接收上色请求后,对灰度视频文件解码,得到多个视频帧,每个视频帧均为待上色图像。之后,对多个视频帧(待上色图像)上色,得到多个第一上色图像。对多个第一上色图像编码,得到彩色的新的视频文件,将新的视频文件发送给终端,以在终端中呈现新的视频。
146.下面对视频帧(待上色图像)上色的过程进行介绍。如图4所示,首先通过编码器(如gan编码器)对待上色图像x
l
(灰度图像)进行编码,得到编码向量z。然后通过预训练gan
接收z,生成第二上色图像以及和x
l
相关的第一色彩先验信息(即中间层特征f
prior
)。由于第一色彩先验信息与x
l
相关,而不是与x
l
完全对齐(如图4中中的鸡尾与x
l
中的鸡尾的位置并不一致),所以需要通过x
l
和确定两者的位置对应关系。确定x
l
和间的相似度矩阵m,m表示二者的像素点间的位置相似度,利用m使第一色彩先验信息与x
l
对齐。对齐之后,得到第二色彩先验信息,通过第二色彩先验信息控制上色网络中的部分参数,从而达到利用色彩先验信息来指导上色的目的。最终上色网络基于待上色图像输出第一上色图像
147.以下对上述上色过程进行具体的说明。
148.(a)、需要在预训练gan中找到与x
l
相关的色彩先验信息。然而,考虑到基于x
l
在预训练gan中“检索”相关的色彩先验信息这个问题没法定义及优化,所以引入一个接收x
l
并输出z的编码器,该编码器是一个神经网络。通过编码器确定x
l
对应的z后,预训练gan接收z并输出和x
l
有尽可能多相似内容的此时预训练gan的中间多个层的特征构成的多尺度特征f
prior
,就是和x
l
最相关的第一色彩先验信息。为了优化编码器,约束x
l
对应的实际彩色图像x
rgb
和两者在预训练gan的判别器里的特征尽可能相近。
149.(b)对第一色彩先验信息f
prior
进行变换,使之与x
l
对齐。由于f
prior
和x
l
通常在空间上并不是对齐的,所以首先需要将两者对齐才能更好的用f
prior
来指导上色。将x
l
和分别经过同一个特征提取器,得到二者在所有空间位置上的特征向量(位置特征)对应的位置特征,根据x
l
和对应的位置特征间的点积得到二者间的相似度矩阵m,m(u,v)表示x
l
的位置u和的位置v间的相似度(对应像素之间的相似度)。对m进行归一化处理,使得m满足∑
j
m(i,j)=1。接下来根据m对f
prior
进行仿射变换,得到与x
l
对齐的第二色彩先验信息。
150.(c)利用与x
l
对齐的第二色彩先验信息来指导上色。上色网络由两个下采样层、六个残差块以及两个上采样层顺序堆叠构成。对第二色彩先验信息进行卷积处理,得到与待调制特征f维度一样的参数α和β,通过参数α和β对待调制特征f进行调制,调制公式为:f

=f*α β。其中,待调制特征f代表上色网络的残差块中经过卷积处理得到的图像特征以及上采样层中经过卷积处理得到的图像特征,f

是调制后的特征。待调制特征f经过调制后进入下一层进行处理,最终,上色网络生成与待上色图像对齐的第一上色图像。
151.在一些实施例中,预训练gan可以是biggan(也可以是stylegan),它是在imagenet数据集上预先训练好的。整个训练分为两个阶段:第一个阶段训练编码器;第二个阶段训练整个模型(除了预训练gan以及编码器以外,因为在第二个阶段,二者都是训练好并且固定参数的),第二个阶段采用的损失函数包括对抗损失函数、感知损失函数、域对齐损失函数以及上下文损失函数。
152.在一些实施例中,为了进行多样化上色,可以用不同的色彩先验信息来指导上色。可以通过改变z来改变第一色彩先验信息,例如在编码向量中加入噪声向量,或者改变训练biggan(当预训练gan为biggan时)时的输入的类别,或者通过无监督学习找到和颜色变化
相关的方向,然后沿着这些方向改变z,就可以使最后的上色图像产生不同的上色效果。
153.如图7所示,图7是本技术实施例提供的上色效果的示意图,图7中第一行是输入的待上色图像,第二行是通过本技术实施例提出的基于人工智能的图像上色方法得到的上色图像(结果),第三行是通过改变鸟的类别实现输入一张包括鸟的灰度图像,用不同的色彩对该灰度图像进行上色,得到多样化结果。
154.如图8所示,图8是本技术实施例提供的上色效果的示意图,图8展示的是沿着一些方向改变z,生成多样化的上色效果的图像。图8中展示的这些方向有和背景颜色相关的、有和前景(如花瓶、卡车)颜色相关的、有和色彩饱和度先关的方向。图8中第一行(第一张为待上色图像)是对待上色图像中背景上色后得到的不同图像,第二行和第三行(第一张为待上色图像)是对待上色图像中前景上色后得到的不同图像,第四行至第六行(第一张为待上色图像)是对待上色图像的饱和度调整后得到的不同图像。
155.可以看出,本技术实施例通过色彩先验信息指导上色,可以自动便捷地生成高质量且有着生动颜色的上色图像,而且还可以通过控制修改色彩先验信息,得到不同的上色效果,实现多样化上色。
156.下面继续说明本技术实施例提供的基于人工智能的图像上色装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的基于人工智能的图像上色装置455中的软件模块可以包括:获取模块4551,用于获取待上色图像的第一色彩先验信息;变换模块4552,用于对第一色彩先验信息进行变换,以得到与待上色图像对齐的第二色彩先验信息;处理模块4553,用于对待上色图像进行下采样处理,得到第一图像特征;以及用于基于第二色彩先验信息对第一图像特征进行调制上色处理,得到第二图像特征;以及用于基于第二色彩先验信息对第二图像特征进行上采样处理,得到与待上色图像对齐的第一上色图像。
157.在一些实施例中,获取模块4551,还用于获取待上色图像的编码向量;通过以下方式对待上色图像进行上色处理对编码向量进行恒等映射,得到未与待上色图像对齐的第二上色图像;将通过恒等映射得到第二上色图像的过程中得到的多尺度特征,作为第一色彩先验信息。
158.在一些实施例中,变换模块4552,还用于确定待上色图像与第二上色图像之间的相似度矩阵,第二上色图像是对待上色图像进行上色处理得到的,且未与待上色图像对齐;基于相似度矩阵对第一色彩先验信息中的多尺度特征进行仿射变换,得到与待上色图像对齐的多尺度特征;将与待上色图像对齐的多尺度特征作为第二色彩先验信息。
159.在一些实施例中,变换模块4552,还用于获取待上色图像的第一位置特征和第二上色图像的第二位置特征;其中,第一位置特征包括待上色图像中每个像素点的位置特征,第二位置特征包括第二上色图像中每个像素点的位置特征;基于第一位置特征和第二位置特征,确定待上色图像与第二上色图像之间的相似度矩阵;其中,相似度矩阵包括待上色图像中每个像素点与第二上色图像中每个像素点之间的相似度。
160.在一些实施例中,变换模块4552,还用于对第一位置特征和第二位置特征进行非局部处理,得到相似度矩阵;对相似度矩阵进行归一化处理,将得到的归一化后的相似度矩阵,作为待上色图像与第二上色图像之间的相似度矩阵。
161.在一些实施例中,处理模块4553,还用于基于第二色彩先验信息中与待上色图像
对齐的多尺度特征,确定第一调制参数;通过第一调制参数对第一图像特征进行调制上色处理,得到第二图像特征。
162.在一些实施例中,调制上色处理是通过上色网络实现的,上色网络包括残差模块;处理模块4553,还用于在与待上色图像对齐的多尺度特征中,确定与上色网络中的残差模块对应的第一尺度特征;对第一尺度特征进行卷积处理,得到与残差模块对应的第一调制参数。
163.在一些实施例中,处理模块4553,还用于对第一图像特征进行卷积处理,通过第一调制参数对得到的卷积结果进行线性变换;将线性变换的结果与第一图像特征进行加和处理,将得到的加和处理结果作为第二图像特征。
164.在一些实施例中,处理模块4553,还用于基于第二色彩先验信息中与待上色图像对齐的多尺度特征,确定第二调制参数;对第二图像特征进行反卷积处理,并通过第二调制参数对反卷积处理结果进行线性变换,对线性变换结果进行激活处理,得到与待上色图像对齐的预测彩色图像;对预测彩色图像进行色彩模式转换处理,得到第一上色图像。
165.在一些实施例中,调制上色处理是通过上色网络实现的,上色网络包括上采样模块;处理模块4553,还用于在与待上色图像对齐的多尺度特征中,确定与上色网络中的上采样模块对应的第二尺度特征;对第二尺度特征进行卷积处理,得到与上采样模块对应的第二调制参数。
166.在一些实施例中,处理模块4553,还用于对编码向量进行转换处理,得到转换向量;基于转换向量确定与待上色图像对齐的第三色彩先验信息;基于第三色彩先验信息对待上色图像进行调制上色处理,得到与待上色图像对齐的第三上色图像;其中,第三上色图像包括以下至少一种对待上色图像中背景上色后的图像、对待上色图像中前景上色后的图像、对待上色图像的饱和度调整后的图像。
167.在一些实施例中,下采样处理、调制上色处理和上采样处理是通过上色网络实现的;基于人工智能的图像上色装置还包括训练模块4554,用于通过以下方式训练上色网络:基于上色网络对应的对抗损失函数、感知损失函数、域对齐损失函数和上下文损失函数确定总损失函数;调用上色网络对待上色图像样本进行上色处理,得到与待上色图像样本对齐的第一上色图像、未与待上色图像对齐的第二上色图像以及预测彩色图像;其中,第一上色图像是对预测彩色图像进行转换得到;基于预测彩色图像与对应的第一实际彩色图像之间的误差确定对抗损失值,基于第二上色图像与对应的第二实际彩色图像之间的误差确定感知损失值,基于待上色图像样本与第二上色图像之间的误差确定域对齐损失值,基于第一上色图像与第二上色图像之间的误差确定上下文损失值;其中,第二实际彩色图像是对第一实际彩色图像进行转换得到;对对抗损失值、感知损失值、域对齐损失值和上下文损失值进行加权求和,得到总损失值;基于总损失函数在上色网络中反向传播总损失值,以更新上色网络的参数。
168.本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的基于人工智能的图像上色方法,例如,如图5示出的基于人工智能的图像上色方法。
169.在一些实施例中,存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd

rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
170.在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
171.作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
172.作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
173.综上所述,本技术实施例通过确定与待上色图像对齐的第二色彩先验信息,并基于第二色彩先验信息对待上色图像对应的第一图像特征进行调制上色处理和上采样处理,从而得到第一上色图像。因为第二色彩先验信息是与待上色图像对齐的,所以,基于第二色彩先验信息生成的第一上色图像也是与待上色图像对齐的,如此,实现了对待上色图像自动精确地上色。此外,本技术实施例还可以通过控制修改色彩先验信息,生成具有不同上色效果的上色图像,实现多样化上色。
174.以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜