图像处理之灰度模糊图像与彩色清晰图像的变换

  针对模糊图像的处理,个人觉得主要分两条路,一种是自我激发型,另外一种属于外部学习型。接下来我们一起学习这两条路的具体方式。

第一种 自我激发型

  基于图像处理的方法,如图像增强和图像复原,以及曾经很火的超分辨率算法。都是在不增加额外信息的前提下的实现方式。 1. 图像增强

  图像增强是图像预处理中非常重要且常用的一种方法,图像增强不考虑图像质量下降的原因,只是选择地突出图像中感兴趣的特征,抑制其它不需要的特征,主要目的就是提高图像的视觉效果。先上一张示例图:

  图像增强中常见的几种具体处理方法为:

  1. 直方图均衡   在图像处理中,图像直方图表示了图像中像素灰度值的分布情况。为使图像变得清晰,增大反差,凸显图像细节,通常希望图像灰度的分布从暗到亮大致均匀。直方图均衡就是把那些直方图分布不均匀的图像(如大部分像素灰度集中分布在某一段)经过一种函数变换,使之成一幅具有均匀灰度分布的新图像,其灰度直方图的动态范围扩大。用于直方均衡化的变换函数不是统一的,它是输入图像直方图的积分,即累积分布函数。
  2. 灰度变换   灰度变换可使图像动态范围增大,对比度得到扩展,使图像清晰、特征明显,是图像增强的重要手段之一。它主要利用图像的点运算来修正像素灰度,由输入像素点的灰度值确定相应输出像素点的灰度值,可以看作是“从像素到像素”的变换操作,不改变图像内的空间关系。像素灰度级的改变是根据输入图像f(x,y)灰度值和输出图像g(x,y)灰度值之间的转换函数g(x,y)=T[f(x,y)]进行的。   灰度变换包含的方法很多,如逆反处理、阈值变换、灰度拉伸、灰度切分、灰度级修正、动态范围调整等。
  3. 图像平滑   在空间域中进行平滑滤波技术主要用于消除图像中的噪声,主要有邻域平均法、中值滤波法等等。这种局部平均的方法在削弱噪声的同时,常常会带来图像细节信息的损失。   邻域平均,也称均值滤波,对于给定的图像f(x,y)中的每个像素点(x,y),它所在邻域S中所有M个像素灰度值平均值为其滤波输出,即用一像素邻域内所有像素的灰度平均值来代替该像素原来的灰度。   中值滤波,对于给定像素点(x,y)所在领域S中的n个像素值数值{f1,f2,…,fn},将它们按大小进行有序排列,位于中间位置的那个像素数值称为这n个数值的中值。某像素点中值滤波后的输出等于该像素点邻域中所有像素灰度的中值。中值滤波是一种非线性滤波,运算简单,实现方便,而且能较好的保护边界。
  4. 图像锐化   采集图像变得模糊的原因往往是图像受到了平均或者积分运算,因此,如果对其进行微分运算,就可以使边缘等细节信息变得清晰。这就是在空间域中的图像锐化处理,其的基本方法是对图像进行微分处理,并且将运算结果与原图像叠加。从频域中来看,锐化或微分运算意味着对高频分量的提升。常见的连续变量的微分运算有一阶的梯度运算、二阶的拉普拉斯算子运算,它们分别对应离散变量的一阶差分和二阶差分运算。

2. 图像复原

  其目标是对退化(传播过程中的噪声啊,大气扰动啊好多原因)的图像进行处理,尽可能获得未退化的原始图像。如果把退化过程当一个黑匣子(系统H),图片经过这个系统变成了一个较烂的图。这类原因可能是光学系统的像差或离焦、摄像系统与被摄物之间的相对运动、电子或光学系统的噪声和介于摄像系统与被摄像物间的大气湍流等。图像复原常用二种方法。当不知道图像本身的性质时,可以建立退化源的数学模型,然后施行复原算法除去或减少退化源的影响。当有了关于图像本身的先验知识时,可以建立原始图像的模型,然后在观测到的退化图像中通过检测原始图像而复原图像。 3. 图像超分辨率   一张图我们想脑补细节信息好难,但是相似的多幅图我们就能互相脑洞了。所以,我们可以通过一系列相似的低分辨图来共同脑补出一张高清晰图啊,有了这一张犯罪人的脸,我就可以画通缉令了啊。。。   超分辨率复原技术的目的就是要在提高图像质量的同时恢复成像系统截止频率之外的信息,重建高于系统分辨率的图像。继续说超分辨,它其实就是根据多幅低质量的图片间的关系以及一些先验知识来重构一个高分辨的图片。示例图如下:

第二种 外部学习型

  外部学习型,就如同照葫芦画瓢一样的道理。其算法主要是深度学习中的卷积神经网络,我们在待处理信息量不可扩充的前提下(即模糊的图像本身就未包含场景中的细节信息),可以借助海量的同类数据或相似数据训练一个神经网络,然后让神经网络获得对图像内容进行理解、判断和预测的功能,这时候,再把待处理的模糊图像输入,神经网络就会自动为其添加细节,尽管这种添加仅仅是一种概率层面的预测,并非一定准确。

  本文介绍一种在灰度图像复原成彩色RGB图像方面的代表性工作:《全局和局部图像的联合端到端学习图像自动着色并且同时进行分类》。利用神经网络给黑白图像上色,使其变为彩色图像。稍作解释,黑白图像,实际上只有一个通道的信息,即灰度信息。彩色图像,则为RGB图像(其他颜色空间不一一列举,仅以RGB为例讲解),有三个通道的信息。彩色图像转换为黑白图像极其简单,属于有损压缩数据;反之则很难,因为数据不会凭空增多。

  搭建一个神经网络,给一张黑白图像,然后提供大量与其相同年代的彩色图像作为训练数据(色调比较接近),然后输入黑白图像,人工智能按照之前的训练结果为其上色,输出彩色图像,先来看一张效果图:

  1. 本文工作 •  用户无干预的灰度图像着色方法。 •  一个新颖的端到端网络,联合学习图像的全局和局部特征。 •  一种利用分类标签提高性能的学习方法。 •  基于利用全局特征的风格转换技术。 •  通过用户研究和许多不同的例子深入评估模型,包括百年的黑白照片。
  2. 着色框架   模型框架包括四个主要组件:低级特征提取网络,中级特征提取网络,全局特征提取网络和着色网络。 这些部件都以端对端的方式紧密耦合和训练。 模型的输出是图像的色度,其与亮度融合以形成输出图像。
  1. 与另外两个工作对比 • Gustav Larsson, Michael Maire, and Gregory Shakhnarovich. Learning Representations for Automatic Colorization. In ECCV 2016. •Richard Zhang, Phillip Isola, and Alexei A. Efros. Colorful Image Colorization. In ECCV 2016.

参考文献:

网页: http://hi.cs.waseda.ac.jp/~iizuka/projects/colorization/extra.html

代码: https://github.com/satoshiiizuka/siggraph2016_colorization

论文2: http://richzhang.github.io/colorization/

在线demo: http://demos.algorithmia.com/colorize-photos/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

学界 | 深度学习算法全景图:从理论证明其正确性

选自arXiv 机器之心编译 参与:蒋思源、黄小天 ? 论文地址:https://arxiv.org/abs/1705.07038 本论文通过理论分析深度神经...

2895
来自专栏企鹅号快讯

2018 AI 研究趋势

概要:2017 年是机器学习领域最有成效、最具创意的一年。现在已经有很多博文以及官方报道总结了学界和业界的重大突破。 2017 年是机器学习领域最有成效、最具创...

20210
来自专栏机器学习、深度学习

人群密度估计--Learning to Count with CNN Boosting

Learning to Count with CNN Boosting ECCV2016 本文使用CNN来进行人群密度估计,主要有两个改进地方:layere...

2725
来自专栏AI研习社

分享总结 | 叶志豪:介绍强化学习及其在 NLP 上的应用

雷锋网 AI 研习社按:当 AlphaGO 横扫之后,越来越多的学者意识到强化学习在人工智能领域所扮演的重要角色。同时随着深度学习的发展,应用深度学习,很多自然...

1663
来自专栏专知

机器学习模型的“可解释性”到底有多重要?

【导读】我们知道,近年来机器学习,特别是深度学习在各个领域取得了骄人的成绩,其受追捧的程度可谓是舍我其谁,但是有很多机器学习模型(深度学习首当其冲)的可解释性不...

2.3K4
来自专栏窦凯丽的专栏

【 SPA大赛 】关于数据挖掘的理论与实践

这是我第一次参加数据挖掘类的比赛,幸运的是在比赛中认识了两个小伙伴,能够一起讨论,分享,得出成果,对我来说,受益良多。下面按照数据挖掘过程:数据预处理、特征工程...

3710
来自专栏量化投资与机器学习

以色列神秘AI研究力量:深度学习的四大失败(视频+论文+ppt下载)

编译 / 刘小芹 弗格森 转自 / 新智元(微信号:AI_era) 原文网址 / simons.berkeley.edu 近年来,深度学习已经成为了大量应用转...

2219
来自专栏机器之心

深度 | 致研究者:2018 AI研究趋势

35615
来自专栏人工智能头条

由一只猫看深度学习面临哪些挑战?

我们要面对的可不仅仅是这样一只蹲在我们面前可爱的小猫,在实际中有着很多的可能性,比如光照强度,遮蔽程度,角度等等,这些就成为了我们深度学习任务的一个极大的挑战。

652
来自专栏Python疯子

简单明了的分类算法:OneR

分类算法的目的就是根据训练集的特征将新的数据进行预测,当然能够找到特征之间的联系越多那么最后的分类结果也就应该越准确。但是有没有一个比较简单的算法,能够使用极少...

1034

扫码关注云+社区