APP下载

基于生成对抗网络的灰度照片上色方法∗

2021-03-22吕李娜

计算机与数字工程 2021年2期
关键词:正则灰度自动

吕李娜 刘 镇 夏 炎

(江苏科技大学计算机学院 镇江 212003)

1 引言

近些年来,随着深度学习在图像识别和图像分类领域的成功,一股深度学习的热潮产生[1]。使用深度学习的方法将图像自动上色也成为研究方向之一[2]。传统的黑白图像自动上色方法有结合领域相关性的HIST 算法[3],金子塔算法[4]和基于隔行扫描的快速算法[5]。即将源彩色图像的色彩转移到目标黑白色图像中去,从而形成具有目标图像的外观,但是色彩感觉为原图像的输出图像。但是此类方法需要设计色彩特征提取工具,并且上色效果和速度也不是很好。一般把依赖于灰度区域的连续性来找到灰度相同的区域,用于辅助图像的分割,再进行彩色化称之为传统的自动上色技术[6~8]。利用卷积来提取图像特征已经成为图像任务领域比较成熟的技术。利用卷积神经网络分别提取图像的颜色和内容。将去除来的颜色特征和原图像结 合起来 形成一 种全新 的 图像[9~11]。在2014 年Goodfellow 等[12]开 创 性 的 使 用 生 成 对 抗 网 络(GAN)[13~15],该模型由生成器模型和判别其模型两个部分组成。其中生成器模型主要用于捕获图像的特征分布,从而生成图像。而判别器模型担任的是二分类器,用于判别生成器产生的是真或者假。模型优化的思路是来源于博弈论,生成器生成一张图片来欺骗判别器模型,判别器去判别这张图片的真假,如果成功判别出来为假,则生成器优化训练。直到判别器判别图片真假的概率为0.5 为止,此时判别器已经无法判别出生成器的图像是真是假。整个网络根据这个原则进行迭代优化,两个模型的能力越来越强最终达到稳态,借助机器自动学习优化调参,生成对抗网络能够生成高质量的图像。

本文根据生成对抗网络的特点重新设计网络结构,将彩色图片转换成灰度图片,然后和原来的图像一起生成灰度彩色图像数据对,进行模型的训练学习到颜色特征,将训练好的模型用于老旧的黑白照片进行上色。

2 生成对抗网络的图像上色

2.1 生成对抗网络的原理

生成对抗网络是由Ian Googfellow 于2013年提出,它是一种两个神经网络相互竞争的特殊对抗过程,网络结构原理如图1。生成网络用于生成数据,判别器网络[16~17]试图区分真是数据与一个网络创造出来的假数据。判别器网络会生成在[0,1]范围内的标量,输出代表数据是真实数据的概率。

图1 生成对抗网络原理图

式(1)是GAN 的优化函数,在一些情况下这两个网络可以达到平衡点,但是在另外一些情况下却不能。这是由于判别器网络一开始的时候过于强大,这样导致生成器无法学习到更多的图像特征。其中最常见的问题是模型坍塌,其中的基本原理是生成器可能会在某种情况下重复完成一致的图像,这其中的原因和博弈论中的启动相关。先从判别器的角度试图最大化,所有工作还可以正常运行。然而如果通过另一种方式首先尝试最小化生成器,接下来尝试最大化判别器,那么工作就无法正常运行。原因在于保持判别器不变,它会将空间中的某些点标记为最有可能是真的而不是假的,这样生成器就会选择将所有的噪声输入映射到那些最可能为真的点。

为了克服训练GAN 模型中不稳定的问题,需要对原生的网络进行训练条件的限制。对于图像的任务而言G 的输入和输出之间其实共享了很多信息,例如图像的边信息,因而为了保证输入图像和输出图像之间的相似度,加入了L1 正则Loss,设(x,y)是真实图像对,G 生成的图像是G(x),G(x)那么应该接近真实图像,如式(2):

式(3)是加入L1 正则项后的汇总损失函数,代表正则项的权重,调节可以影响模型的泛化能力。

2.2 生成器模型

本文使用一个编码-解码器来代替原始GAN网络中的生成器[18~19]。编码环节输入图像需要通过卷积操作缩减图像尺寸,然后通过批正则BATCH NORM 进行批量图片的处理,通过IN⁃STANCE NORM 操作,正则化单张图片,最后加入ReLU非线性激活层,由于ReLU函数在负半区的导数为0,所以一旦激活神经元进入负半区,那么梯度就会为0,也就是说这个神经元不会经历训练,即所谓的模型出现梯度稀疏。处理办法可以在负半区加上一个很小的斜率用来抑制这种情况的出现,解码过程和编码相反。最后一层需要用到反卷积上采样还原出图像原来的尺寸。如图2所示。

图2 编码模块

2.3 判别器模型

判别器网络[20]的任务就是判断输入图片和未知图片,然后对比判断给出结论,未知图片是不是由生成器生成的假图片。图3 中的判别器首先将两张图片在特征维度拼接,然后进入层层卷积。

网络中的最后一层没有使用原始GAN 的soft⁃max 函数直接判断真1 或者假0。而是生成30*30的尺寸的特征值。然后取网格输出的平均值作为判别标准。

图3 生成器网络结构

2.4 评估标准

使用峰值信噪比(PSNR)和结构相似度(SSIM)作为衡量图像上色的客观指标。原彩色图像Y 和重建的图像˜,PSNR和SSIM为

式(4)中M 和N 为图像的尺寸,式(5)中μY和δY分别为原始彩色图像的平均灰度值和方差,μY˜和δY˜分别为生成上色后的图像的灰度平均值和方差,为原始彩色图像和生成上色图像的协方差,C1、C2 为常数。

3 实验

3.1 实验平台与数据集

实验图片数据使用的是在互联网上获取9300张256*256像素的彩色照片部分图像如图4所示。

图4 部分彩色图像

使用OpenCV 的图像色彩转换工具箱,将彩色图转换成灰度图,然后和原来的图像形成数据对。其中7500张用于训练,1800张用于测试。

实验平台使用处理器是Intel(R)Core(TM)i7-4770 CPU @ 3.40GHz,内存容量16G,显卡为NVIDIA GeForce GTX 960,256G 的固态硬盘。编程语言为Python3.5,Tensorflow1.18-GPU 版本,Cu⁃da9.0,CUDNN7.1。操作系统选择的是Ubuntu16.04桌面版。

3.2 实验超参数选择

本实验中的学习率初始化设置为0.02,衰减权重系数为0.0001,更新权重为0.1,更新权重的衰减系统为0.0002,每次最大迭代次数是10000 次,ep⁃och 为600 次。选择的是随机梯度下降法。Batch批训练的选择为50。

3.3 模型训练效果

图5 为训练好以后的自动上色的效果图,右边为原来彩色的图片,左边为黑白色的图片。中间为本文的自动上色方法。图6 为训练模型的精度曲线。图7为训练模型的损失Loss曲线图。

图5 训练后生成图像数据

图6 训练的精度曲线

图7 训练的Loss曲线

由生成对抗网络训练的上色图像和原图像的峰值信噪比和结构相似度的值如表1 所示。和传统的方法相比,基于深度学习的方法有明显的优势。主要是在设计特征结构的时候由网络自动的提取,而且每张图片的自动上色速度在训练阶段为3.1s,在测试阶段为10ms。

表1 峰值信噪比(PSNR)和结构相似度(SSIM)

4 结语

本文提出了一种基于生成对抗网络的无监督机器学习的灰度图像自动上色方法。通过对目标函数添加L1 正则化约束条件提高图像上色的效果。在训练好的网络模型后,能够对黑白和灰度老旧照片自动上色。同时对比了四种传统的图像自动上色方法,在算法的负载度上,无需手工提取图像色彩特征的机器学习的方法有明显的优势,上色效果也明显优于传统的方式。峰值信噪比本文的方法比较好,但是在结构相似度,因为传统的方式是基于结构设计的,而生成对抗网络是重新生成的,所以稍微劣于传统方法。但是在人眼的主观感受上,本文的方法细节较好。

猜你喜欢

正则灰度自动
航空滤光片阵列多光谱图像条带灰度调整算法
天津港智慧工作平台灰度发布系统和流程设计
Arduino小车巡线程序的灰度阈值优化方案
任意半环上正则元的广义逆
sl(n+1)的次正则幂零表示的同态空间
绿色建筑结构设计指南
让小鸭子自动转身
自动摇摆的“跷跷板”
关于自动驾驶
傍晚,路灯为什么能自动亮起来?