您当前的位置:首页 > IT编程 > cnn卷积神经网络
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch |

自学教程:图像彩色化方法(深度学习)

51自学网 2020-05-10 10:51:05
  cnn卷积神经网络
这篇教程图像彩色化方法(深度学习)写得很实用,希望能帮到您。
图像彩色化方法(深度学习)


无论是基于局部颜色扩展的着色方法,还是基于颜色传递的着色方法,都是具有一定的局限性,而将深度学习的思想应用于图像着色中,可以对于传统着色方法的局限性有针对性的进行改进。利用深度神经网络和彩色图像数据集训练出模型,便可根据模型来着色其他黑白图像,无须人为因素或其他因素影响。

基于深度学习的图像着色方法大致为以下四个步骤:

制作数据集:大部分的深度学习算法都需要海量的数据集作为数据驱动,通过算法来学习海量数据中的特征,图像着色也不例外,需要大量的彩色图像作为方法的驱动力,并且数据集的质量会直接影响到最终得出的深度学习的模型的质量。因此制作数据集为流程的第一步,需要海量、颜色分明、高质量的彩色图像。

网络设计:随着深度学习技术的发展,神经网络的设计方法也越来越多。例如深度神经网络(Deep Neural Network, DNN)、卷积神经网络(Convolutional Neural Network, CNN)、残差神经网络(Residual Neural Network, resNet)、循环神经网络(Recurrent Neural Networks, RNN)、密集神经网络(Dense neural network,DNN)等其他神经网络,而基于卷积神经网络(CNN)又演变出的其他神经网络,例如残差神经网络(Residual Neural Network, ResNet)和深度卷积对抗生成网络(Deep Convolutional Generative Adversarial Networks)DCGANs。除了神经网络的设计方式之外,网络深度、卷积核大小、卷积步长、激活函数、残差块设计等都会给神经网络提取特征的能力造成不同的影响。

网络学习:数据集是网络的驱动力,网络是数据的载体,网络的目的就是为了学习出数据集中研发者想要的特征,有关图像的深度学习算法是对图像的大量矩阵运算,因此硬件设备也制约着网络学习的时间长短程度。

得出模型:根据事先预定的损失函数范围和训练的次数,在损失和训练次数都达到既定的范围之后,可以得到着色图像的深度学习模型,并且可以用此模型来为其他图像着色,图像的着色质量和模型的质量息息相关,因此排除了人为因素的影响。根据此模型,可以做成 web 接口供外部网络访问,也可以做成批量着色系统用于工业生产。如果对此模型不满意,还可以将次模型用于微调(Fine-Tuning)或者迁移学习(Transfer Learning)。

卷积神经网络:卷积神经网络是由人工神经网络演变而来,目前已经广泛的应用在图像识别、音频处理和自然语言处理等重要领域中。卷积神经网络中的权值是共享的,相比于多层感知器和深度信念网络来说,它的网络参数较少,降低了学习过程中的成本。卷积神经网络在处理图像时,具有平移不变性、倾斜不变性、缩放不变性及其他形式形变的不变性。卷积神经网络一般由数据输入层(Input layer)、卷积层(Convolution layer)、池化层(Pooling layer)、全连接层(Fully Connection layer)及输出层(Output layer)构成,这也决定了卷积神经网络良好的特性。开始训练时,网络从输入层输入二维图像,卷积层主要对图像进行卷积操作,提取图像的特征,为了减少参数和计算量,池化层会对提取的特征进行降维,全连接层在分类任务中起到“分类器”的作用,而输出层是由网络目的和结构所决定的。卷积神经网络的卷积层和池化层的操作一般是为了对图像的特征进行提取和映射,在进行特征提取时,卷积核会将上一层的特征图全部卷积一次,因此上一层的每个位置都是被同样的卷积核卷积过的,所以权重也是一样的,因此卷积神经网络中的卷积核不会与前一层的神经单元全部连接,参数也自然而然的大大减少。近年来,在 ILSVRC(ImageNet  Large  Scale  Visual  Recognition  Competition),ImageNet等大规模图像识别挑战赛上,出现了 AlexNet、VGG、GoogleNet、ResNet 等一大批基于卷积神经网络的优秀网络,并将 Top5 的错误率已经降到 5%以下,这足以说明卷积神经网络的有效性。

深度学习根据训练数据是否拥有标记信息,学习任务可大致划分为监督学习和无监督学习两类,分类和回归是前者的代表,而聚类则是后者的代表。基于深度学习的灰度图像着色算法属于有监督学习,利用现有的大量彩色图像作为参照进行训练,实现最终着色。基于密集神经网络的灰度图像着色算法研究,引入密集神经网络,利用其信息提取率和特征利用率高的特性,结合分类指导及损失优化,使输出彩色图像的细节特征更为丰富、轮廓更为清晰,进而达到更好的着色效果。

基于对抗生成网络:生成对抗结构网络由 Goodfellow等人提出,启发自博弈论中的二人零和博弈,网络的整个训练过程是处在对抗和博弈的交替中进行的。生成对抗网络(Generative Adversarial Networks,  GAN)属于无监督学习网络,由一个生成器和一个判别器组成,生成器的参数更新都由判别器指导。故其包含了两个部分,生成网络和判别网络。生成网络负责捕捉样本的数据分布,判别网络负责区别真实的样本数据和生成的样本数据。生成网络G 和判别网络D 实际上是在优化二元极小极大博弈(minimax two-player game)问题。

基于残差神经网络:深度卷积神经网络的提出引发了图像分类方法的一系列突破,网络的表达能力随网络深度的增加而增加。但是由于神经网络的反向传播需要各层之间的梯度信息,因此随着神经网络层数的加深,会逐渐出现梯度为零的情况,这从根本上妨碍了网络的收敛。虽然这些问题已有一定的解决方案,如规范初始化和引入中值规范化层或 BN 层,来解决多层网络梯度消失问题,但是另一个“退化”的问题也紧接着暴露出来。何凯明的实验证明,时间复杂度相同的网络结构,深度较深的网络性能会有相对的提升。但是,卷积神经网络也不是层数越多性能就越好,层数加深后,训练网络时计算能力会加大,训练成本相应提升。如图所示,随着网络层数的增加,其性能不但没有提升,反而出现了显著的退化。

残差神经网络(resnet)的出现很好的解决了以上问题,卷积神经网络学习的是无参考的函数,用少数的几个隐含层拟合出网络最终所期望的实际函数映射关系,而残差神经网学习的是其残差函数映射,这种方式显著地改进了卷积神经网络的网络结构,它可以将多层网络组合起来,拟合成一个残差函数。残差神经网络训练速度更快,训练成本更小,更重要的是,随着网络层数的加深,网络的性能会得到显著的提升。经实验证明,这样的残差结构在提取图像特征方面是有显著效果的,在 ILSVRC2015 大赛上,ResNet 成功的将 ImageNet 分类的 top-5 error 降到了 3.57%。

基于深度学习的图像着色算法研究与实现_成梓锐
 
GitHub上最热门的Python项目
走进AI时代的文档识别技术 之表格图像识别
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1