首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

老旧照片修复,让模糊的照片变清晰,AI算法帮你实现

这样的照片不知道有多少人家里存放着,有清楚的,有模糊的。这是一个时代的记忆,不过随着时间的推移,尽管再小心翼翼,照片也会渐渐老旧,直到完全认不出来。

在图像处理领域中,低分辨率图像能提供给学者以及应用人员的信息是非常局限的,人们都期望获得高分辨率图像,高分辨率图像由于其提供细节多、纹理丰富、图像清晰,我们能从其中捕获大量的有用信息。目前超分辨率的学习方法有两个主流方向,一是基于重建算法,二是基于学习的方法,基于学习的方法由于其方法具有良好的学习性,受到了更多学者的欢迎。 本文主要讲通过AI算法实现图像超分辨率重建。

老旧照片

图像超分辨率重建

单帧图像超分辨率(SingleImageSuper-Resolution,SISR)作为基本计算机视觉的基本问题,近年来逐渐被大家所关注,也取得了一定的成果。

针对于图像超分辨率问题,现在已经有许多成熟的方案可以选用。目前超分辨率技术主要有以下两大类:其一为基于重建的超分辨率技术,基于重建的超分辨率方法的基础是均衡及非均衡采样定理。它假设低分辨率的输入采样信号图像能很好地预估出原始的高分辨率信号图像。绝大多数超分辨率算法都属于这一类,其中主要包括频域法和空域法。其二为基于学习的超分辨率技术,基于学习的方法是近年来超分辨率算法研究中的热点,它采用大量的高分辨率图像构造学习库产生学习模型,在对低分辨率图像进行恢复的过程中引入由学习模型获得的先验知识,以得到图像的高频细节,获得较好的图像恢复效果。

模糊图片

具体步骤为:

(1)将高分辨率图像按照降质模型进行降质,产生训练集。

(2)根据高分辨率图像的低频部分和高频部分对应关系对图像分块,通过一定算法进行学习,获得先验知识,建立学习模型。

(3)以输入的低分辨率块为依据,在建立好的训练集中搜索最匹配的高频块。基于学习的超分辨率方法中关键是建立学习模型,获得先验知识。

处理前影像 处理后影像

常用的学习模型有马尔科夫随机场模型、图像金字塔模型、神经网络模型、主成分分析模型等。基于学习的方法充分利用了图像本身的先验知识,在不增加输入图像样本数量的情况下仍能产生高频细节,获得比基于重建方法更好的复原结果,并能较好的应用于人脸和文字等图像的复原。

处理前影像

处理后影像

在神经网络模型领域中,为了重建高分辨率图像真实的纹理细节,同时避免超分辨率图像产生不应该存在的边缘伪影或噪声,有学者结合先前基于梯度曲线的边缘定向SR算法,它可以快速且准确的对高频率细节纹理进行学习,在从不同大小的图片中找到相似的地物部分,减少不必要的计算量,从而增强视觉细节。通过在低维流形中找到低分辨率的小图像补丁,并且将高分辨率的图像进行组合,对给定的低分辨率图像补片超分辨率重建。作者强调了邻域方法过度拟合的趋势,并使用核岭回归来学习从低分辨率图像到高分辨率图像的更一般的图像。回归问题也可以直接用随机森林来解决,因此避免了稀疏字典的显式训练,作者在训练期间学习了大量特定于补丁的回归量,并在使用KNN进行测试时为给定的低分辨率补丁选择了最合适的回归量。

虽然这些过滤方法如线性,双三次或Lanczos过滤,可以非常快,但是它们过分简化了SISR问题并且通常会产生过于平滑的解决方案,无法恢复高频图像信息。此外有研究者提出了一种插值方法,旨在建立低分辨率和高分辨率图像信息之间的复杂映射,但其通常依赖于训练数据。

SR问题的相关方法起源于压缩感知,并且旨在估计关于过度完整字典的稀疏补丁表示,通过进一步允许小的变换和形状变化来扩展不充分描述的自我词典。通过使用卷积神经网络的超分辨率重建算法也可以拥有一个很好的性能。基于学习的迭代收缩和阈值算法,在其前馈网络架构中编码稀疏表示,使用双三次插值来放大输入图像并训练相同维度下模型的质量,以实现视觉效果良好的SR性能。随后,显示启用网络直接学习升频滤波器可以进一步提高精度和速度方面的性能。在网络的最后一层中执行放大,避免在SR图像的高分辨率空间中进行复杂的计算。凭借其深度递归卷积网络(DRCN),允许长距离像素依赖,同时保持较小的模型参数数量。SRGAN算法定义了新的感知损失函数,通过不断对感知函数进行计算,并实时调整网络权重,来恢复视觉上更能给人更好感受的图像。

训练集图像

在不同的训练集图像之间,其真实的概率分布函数必然不尽相同,如下图:

不同训练集样本概率分布图

其中左图为模拟普通高纹理图像的概率分布图像,右图为模拟遥感影像的概率分布图像,在学习的过程中,生成网络会模拟出如上图的概率分布函数,通过相对论GAN的判定是否生成图像与原图像相似。在传统图像与遥感图像之间有明显的不相似部分,无论是纹理出现的的位置还是边缘处的信号强度都不一致,所以这在实验中也体现在了使用遥感影像训练的模型来测试SET5数据的结果中,其效果甚至可能还不如处理之前的图像。这也从侧面验证了模型的专一性。

恢复高分辨率(HR)图像时的一个主要困难是对于生成的高分辨率图像细节模糊性。超分辨率(SR)问题的不适定性质对于高下采样因子尤其明显,对于高下采样因子,通常会破坏连续的纹理细节,所以,想要得到效果质量较高的高分辨率图像,必须预先对低分辨率图像做出提前估计量,比如通过使用图像冗余方法或采用经过专门训练的特征模型。

基于样本的方法非常成功地检测并利用了训练数据库中的补丁对应关系或计算出的优化字典,从而允许高细节数据表示。虽然具有良好的准确性,但所涉及的优化程序补丁检测和稀疏编码都是计算密集型的。更高级的方法将基于图像的SR视为回归问题在世界范围内,很多学者已经提出了几种感知驱动方法来改善SR结果的视觉质量。

例如,通过使用感知损失来优化特征空间中的超分辨率模型而不是传统方式中的像素空间中的模型。以及生成的对抗性网络被引入SR,以鼓励网络支持看起来更像自然图像的解决方案,进一步整合语义图像先验以改善恢复的纹理细节。

SRGAN(SuperResolutionGenerateAdvancedNetwork)算法是在2016年比赛中提出的新算法。它的任务是通过学习低分辨率图像并输出其高分辨率图像,并且尽量增加信号与噪声的比值。它通过计算像元均方误差的衍生物峰值信噪比,来将生成的高分辨率图像与低分辨率图像进行评价。然而,SRGAN算法生成的高分辨率图像太过于平滑,其中的边缘细节会被当做噪声从而被网络忽略掉。而算法的最终的目标是追求网络学会在这两个相互矛盾的目标之间找到一个平衡位置,通过强制GAN跟踪目标,网络产生LR输入的高质量HR表示。

ESRGAN是一项完善性的工作,它在SRGAN的基础上,首先通过使用剩余残余密集模块来代替剩余模块,使其拥有更高的容量,并且加快了训练的速度,其次,作者还引入了相对论平均对抗网络,来判断生成的概率分布函数是否更加真实,而非是否为真,最后,作者还改进了VGG网络使用的位置,放置在RELU函数激活之前,而非激活之后再使用VGG功能。

本文介绍了图像超分辨率重建,关于基于学习的高分辨率重建的具体算法和算法实现,也已经有成熟的算法,有兴趣的朋友可以关注下。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190905A05JLX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券