单帧图像超分辨率与深度学习

单帧图像超分辨率技术涉及到增加小图像的大小,同时尽可能地防止其质量下降。这一技术有着广泛用途,包括卫星和航天图像分析、医疗图像处理、压缩图像/视频增强及其他应用。我们将在本文借助三个深度学习模型解决这个问题,并讨论其局限性和可能的发展方向。


1、单帧图像超分辨率问题概述

我们的目标是采用一个低分辨率图像,产生一个相应的高分辨率图像的评估。单帧图像超分辨率是一个逆问题:多个高分辨率图像可以从同一个低分辨率图像中生成。比如,假设我们有一个包含垂直或水平条的 2×2 像素子图像(图 1)。不管条的朝向是什么,这四个像素将对应于分辨率降低 4 倍的图像中的一个像素。通过现实中的真实图像,一个人需要解决大量相似问题,使得该任务难以解决。

25972single-image-super-resolution-problem-statement.png

从左到右依次是真值 HR 图像、相应的 LR 图像和一个训练用来最小化 MSE 损失的模型的预测。

首先,让我们先了解一个评估和对比模型的量化质量检测方法。对于每个已实现的模型,我们会计算一个通常用于测量有损压缩编解码器重建质量的指标,称之为峰值信噪比(PSNR/Peak Signal to Noise Ratio)。这一指标是超分辨率研究中使用的事实标准。它可以测量失真图像与原始高质量图像的偏离程度。在本文中,PSNR 是原始图像与其评估版本(噪声强度)之间图像(信号强度)可能的最大像素值与最大均方误差(MSE)的对数比率。

65012%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202017-11-06%20%E4%B8%8B%E5%8D%8812.08.43.png

PSNR 值越大,重建效果越好,因此 PSNR 的最大值化自然会最小化目标函数 MSE。实验中,训练模型把输入图像的分辨率提升四倍(就宽度和高度而言)。在这一因素之上,哪怕提升小图像的分辨率也变的很困难。比如,一张分辨率提升了八倍的图像,其像素数量扩大了 64 倍,因此需要另外的原始格式的 64 倍内存存储它,而这是在训练之中完成的。


2、为什么选择深度学习

提高图像分辨率的最常用技术之一是插值(interpolation)。尽管易于实现,这一方法在视觉质量方面依然有诸多不足,比如很多细节(比如尖锐的边缘)无法保留。

更复杂的方法则利用给定图像的内部相似性或者使用低分辨率图像数据集及其对应的高质量图像,有效地学习二者之间的映射。


在基于实例的 SR 算法中,稀疏编码方法是较为流行的方法之一。这一方法需要找到一个词典,把低分辨率图像映射到一个中间的稀疏表征。此外,HR 词典已被学习,允许我们存储一个高分辨率图像的评估。该流程通常涉及若干个步骤,且无法全部优化。理想情况下,把这些步骤合而为一,其中所有部分皆可优化。这种效果可以通过神经网络来达到,网络架构受到稀疏编码的启发。

猜你喜欢

转载自blog.csdn.net/prinstinadl/article/details/80834620