基于卷积神经网络的智能着色技术的研究

2021-10-28 12:32刘晓丽程晓荣
网络安全技术与应用 2021年9期
关键词:着色特征提取卷积

◆刘晓丽 程晓荣

基于卷积神经网络的智能着色技术的研究

◆刘晓丽 程晓荣

(华北电力大学(保定)控制与计算机工程学院 河北 071003)

通过深度卷积神经网络及语义分割任务的学习,研究了一种基于有监督学习的着色技术。在用户给定的图像中将其变成灰度图,然后通过卷积和GPU进行特征提取,并在特征空间上构建分类器,使用softmax对像素的颜色进行分类。实验结果表明,该着色可以达到以假乱真的视觉效果,对于黑白灰图像的着色具有相应的应用价值。

CNN;特征提取;智能着色;分类;卷积

有照片才有意义,照片给人一种时光倒流的回忆感,尤其是收藏的黑白老照片。而随着年龄渐长、时光飞逝,留在脑海里的当时的色彩颜色越发模糊。因此,急需一种方法恢复人们的内存记忆。人们曾用类似于小学生绘图的方式,即用户辅助的涂鸦着色。这种方式用户交互性很强,需要手动地指定特定的某一区域所需颜色,不适用复杂的图形处理。另有学者提出参考图例的色彩着色,时空中具有相似强度的相邻像素具有相似的颜色,但难点在于找到一张匹配的参考图[1]。而本文在使用CNN将输入图像转化为灰度图像基础之上使用模型训练形成着色,达到图像“幻觉化”的效果。

1 卷积神经网络

人类的大脑中拥有1000多亿个神经元,每个神经元都可能与多个方向互相连接着构成一个超级大型的网络,从而形成人脑意识。在1943年许多神经元模型和学习规则被研究学者所提出,继MP模型、BP算法、DNN算法之后,普遍由输入层、卷积运算、池化和若干全连接层组成的CNNs被提及[2]。但ConvNets绝大部分的计算量都集中在卷积层。

卷积操作可看做“滑动窗口法”,类似于计算机网络中的滑动窗口协议,在输入的矩阵与滤波器矩阵点乘后相加将结果传送给输出层,与局部连接本质上是一致的。

图1 卷积可视图

对图像和滤波器做内积的操作就是卷积操作,如图1所示,从左至右依次是输入层、滤波器层和输出层。该图片选用3*3的卷积核,卷积核内共有9个数值,所以图1右列中一共有9个数值。

在每个位置上计算出两个矩阵间(输入层矩阵和滤波器层矩阵)的相应元素乘积,并把点乘结果之和,存储在输出矩阵(3*3颜色矩阵所示)的每个单元格中。如图1,棕黄颜色圈出的矩阵对应元素与滤波器层的各个元素乘积之和得到的值,写入相应的棕黄色的位置。步长为1,滑动窗口按照先行后列的原则向后滑动1个窗口,依像素相乘再相加得到特征图谱矩阵。

2 图像处理相关颜色空间

2.1 色彩空间

颜色空间可以以两大类概括:一类是面向硬件的RGB、YCrCb、CMY;另一类是面向视觉感知的HSI、HSV、HSB、CIE Lab。

RGB最常见的用途是显示系统,直观且易理解,但由于它没有明确区分三个颜色分量,因此精确度不够。CIE Lab,是一种以数字化方式描述的更接近人眼观测的颜色空间,也是本项目使用的色彩模式,衡量颜色之间的差异性靠欧几里得距离;区间为绿-红色的a和蓝-黄色的b两个通道包含了所有色彩信息,而L仅对亮度和强度进行编码[3]。如表1所示。

表1 CIE Lab感知范围

2.2 RGB—CIE Lab

(1)RGB转XYZ

通过观察可以发现,各行系数之和非常接近于1,因此X、Y、Z的取值范围也必然与R、G、B类似。

(2)XYZ转LAB

3 智能上色实验

3.1 实验环境配置

本文运用的平台是Pycharm,特征提取使用到了Python和Opencv,且使用了很多第三方包,包括将目录下的文件进行读取操作的glob、代码进度可视化的tqdm、结果可视化的matplotlib、数据自动生成器的Keras、高维数组运算的Numpy及易在GPU上训练的Tensorflow。

3.2 K近邻算法

由于人们感知到的颜色与颜色的空间分布密切相关,提出根据图像集自动挑选适合当前可视化任务的参考图形以保证结果的多样性,使用图结构对不同类别之间的空间排列以及图像中的主要颜色分布进行建模,并通过图匹配算法来检索具有高度空间分布相似性的图像,利用的核心算法是K近邻算法;在scikit-learn 中,sklearn.neighbors涵盖了与近邻法相关的类库,此处K取到5[5]。

在训练集中每一个样本都有一个标签,即我们知道样本集中每一个数据所属于的分类。输入一个没有标签的新数据后,将新数据的每个特征和样本集中的数据的特征进行对比,然后算法提取出样本集中与输入数据特征相似的5个数据的分类标签,将所属最多的标签作为该样本的结果标签。

3.3 实验流程

给定一张图像,可以是彩色图像,也可以是灰色图像,先对其颜色采样,通过卷积神经网络学习图片特征并预测它的着色,重复模型训练,输出类别的分布概率利用到了softmax函数,并对每个像素点颜色进行分类并上色,最后加上亮度形成彩色图。

(1)特征提取模块

图2 VGG模型的建立

本项目的基础网络是基于VGG网络版本构建的,如图2所示,通过8个卷积块提取灰度图图片特征,在每一层的最后加上批量规范化(BN)层,进行归一化操作,这样增强类内紧致性,加速了学习收敛速度[5-6]。使用ReLu激活第二至第七层,为防止数据结构丢失使用空洞卷积获取更大感受野,特征提取完毕后使用 softmax 对像素点的颜色进行分类,按照颜色分类结果对图像像素上色[6]。

为保证规范化,将输入的图像尺寸重新定义成256*256大小,8层卷积之后的参数如表2所示。

表2 VGG特征提取输出结果

(2)训练模块

训练集是从ImageNet中抽取1000个类的130万张风景子集图像[7]。从训练结果中获得总共313个常用值对。这时,模型训练已从回归问题变为分类问题。模型训练的实质是对参数进行不断的调整,该算法使用随机梯度下降法更新权重,与原始图像比较以进行误差计算,重复训练过程以训练模型。为了防止过度拟合,此处的损失函数使用的是分类多项交叉熵损失[8-9]。

(3)测试及结果评价

将需要测试的彩色图或者灰度图统一转为灰度图像后上色,利用上述阐述的算法不断更新最符合该图像的色彩。本文选取校园及学校周边的手机素材作为风景类图像,选取网络照片为动物类图像,选取明星及周围师生为人物类图像,选取校园周围大型超市构图为复杂场景图像,其中前三类上色效果理想,而对于复杂场景的超市货物来说,上色效果不够,原因是分类精度不够高。如图4所示,从各个类别中随机选取了一张,从上至下依次为校园风景图、动物图、人物图和超市图。

图4 部分结果图

5 结束语

图像着色是像素预测难题的一个实例,在影集修复和医学应用中具有相当的价值空间。本项目应用深度CNN和精心抉择的目标函数使着色更接近于切实的彩色照片,并迸发与真实彩色照片难以区分的结果。对于训练结果,虽然本项目提高了着色的饱和度,对大部分场景都有较好的结果,但对人造场景(如超市复杂景观等)仍表现力不足。接下来可进一步去设计损失函数并提高分类精度,目的是使网络着色结果足以欺骗人们的“直觉”。

[1]张政,姚楠,方利.基于积神经网络的图像着色方法研究[J].电脑知识与技术,2019(15):204-206.

[2]姜新猛. 基于TensorFlow的卷积神经网络的应用研究[D].湖北省:华中师范大学,2017.

[3]郭晶晶,李庆武,程海粟,仇春春.基于Lab颜色距离和GMM的树木图像分割算法[J].信息技术,2016(02):1-4+9.

[4]吕维帅.基于深度神经网络的黑白图像着色算法研究[D].江西省:江西理工大学,2019.

[5]Zhang,R,Isola,P,Efros,AA:Colorful Image Colorization[C].14th European Conference on Computer Vision (ECCV). Amsterdam,NETHERLANDS,2016:649-666.

[6]Olga Russakovsky,Jia Deng,Hao Su,et al. ImageNet Large Scale Visual Recognition Challenge[J]. INTERNATIONAL JOURNAL OF COMPUTER VISION,2015,115(3):211-252.

[7]郭兰英,韩睿之,程鑫.基于可变形卷积神经网络的数字仪表识别方法[J].计算机科学,2020,47(10):195-201.

[8]刘桂玉,刘佩林,钱久超.基于3D骨架和RGB图片的时空动作识别[J].信息技术,2020,44(05):121-124+130.

[9]王功鹏,段萌,牛常勇.基于卷积神经网络的随机梯度下降算法[J].计算机工程与设计,2018,39(02):441-445+462.

猜你喜欢
着色特征提取卷积
蔬菜着色不良 这样预防最好
基于3D-Winograd的快速卷积算法设计及FPGA实现
苹果膨大着色期 管理细致别大意
卷积神经网络的分析与设计
基于Gazebo仿真环境的ORB特征提取与比对的研究
从滤波器理解卷积
最大度为6的图G的邻点可区别边色数的一个上界
基于Daubechies(dbN)的飞行器音频特征提取
10位画家为美术片着色
基于傅里叶域卷积表示的目标跟踪算法