Convolutional Sparse Coding for Cmage Super-resolution

Convolutional Sparse Coding for Cmage Super-resolution

Abstract

        大多数基于稀疏编码的超分辨率方法首先将图片划分为具有重叠的小块,然后在得到的每个小块上单独处理,最后得到超分辨率图片。以上方法存在的问题就是各个 p a t c h patch 之间忽略了像素的一致性问题,最后在一定程度上限制了得到的超分辨率图片的质量。针对以上问题本文提出了一种基于卷积稀疏编码的图片超分辨率 ( C S C S R ) (CSC-SR) 方法,该方法主要学习以下三组参数:

  • a   s e t   o f   f i l t e r s   t o   d e c o m p o s e   t h e   l o w   r e s o l u t i o n ( L R )   i m a g e   i n t o   L R   s p a r s e   f e a t u r e   m a p s a \ set \ of \ filters \ to \ decompose \ the \ low \ resolution (LR) \ image \ into \ LR \ sparse \ feature \ maps

  • a   m a p p i n g   f u n c t i o n   t o   p r e d i c t   t h e   h i g h   r e s o l u t i o n ( H R )   f e a t u r e   m a p s   f r o m   t h e   L R   o n e s a \ mapping \ function \ to \ predict \ the \ high \ resolution (HR) \ feature \ maps \ from \ the \ LR \ ones

  • a   s e t   o f   f i l t e r s   t o   r e c o n s t r u c t   t h e   H R   i m a g e s   f r o m   t h e   p r e d i c t e d   H R   f e a t u r e   m a p s   v i a a \ set \ of \ filters \ to \ reconstruct \ the \ HR \ images \ from \ the \ predicted \ HR \ feature \ maps \ via

        s i m p l e   c o n v o l u t i o n   o p e r a t i o n s simple \ convolution \ operations

由于本篇论文提出的方法是直接在整张图片上进行,不会对图片进行分块操作,所以最后得到的超分辨率图片质量更好。(利用整张图片的全局一致性重构得到局部特征更加鲁棒的超分辨率图片)

Introduction

        考虑到自然图像的复杂性和局部结构,目前大多数 S I S R SISR 方法利用图像patch上的先验信息,而不是直接利用整张图片的先验信息建模,可以分为以下三个方向:

  • e x a m p l e b a s e d example-based
  • m a p p i n g b a s e d mapping-based
  • s p a r s e c o d i n g b a s e d sparse coding-based

        不同于以往的方法,本文提出的CSC方法首先利用N个滤波器将输入的图片分解为N个稀疏特征图。跟传统的基于patch的稀疏编码方法相比,还没有相对应的工作证明基于CSC的方法要优于传统的基于 p a t c h patch 的。

        由于先前方法中低分辨率字典和高分辨率字典的大小是一样的,因为高分辨率图片更加复杂,这样的话一定程度上会限制高分辨率字典的表示能力。为了解决这个问题,本篇论文中提出了一种低分辨率特征到高分辨率特征的映射函数,这样我们就可以实现低分辨率字典和高分辨率字典的大小不一致。一方面减少了计算代价,另一方面也可以增强高分辨率字典的表示能力。

        本篇论文的贡献主要包括三个方面:第一,跟传统的单独处理 o v e r l a p p e d p a t c h overlapped -patch 的稀疏编码方法相比,我们的方法更加适合最后图片的重构;第二,为了充分利用由卷积编码生成的特征的优势,我们利用特征空间信息训练稀疏映射函数;第三,我们的实验结果跟其他方法相比不仅具有更高的PSNR,而且也具有较高的图片质量。

Convolutional Sparse Coding

Sparse Coding for SR

对于给定的向量 x x ,利用学习到的字典 D D x x 表示为一系列基的线性组合,如下公式所示:

x D α x \approx D\alpha

其中 α \alpha 是稀疏系数。

【思路】:对于给定的 L R LR H R HR 图像 p a t c h patch p a i r s pairs ,在训练阶段我们联合学习对应的低分辨率字典 D l D^l 和高分辨率字典 D h D^h ,最后基于得到的字典重构低分辨率和高分辨率图像 p a t c h patch

Convolutional Sparse Coding

尽管稀疏编码有着非常广泛的应用,但是在处理图像 p a t c h patch 时仍有一些缺点:

  • 由于 l 0 l_0 范数和 l 1 l_1 范数优化比较困难,在一定程度上限制了稀疏编码的应用范围

  • 图像 p a t c h patch 之间的 c o n s i s t e n c y consistency 被忽略

为了解决以上问题,研究人员又提出了一个基于 C o n v o l u t i o n a l S p a r s e C o d i n g ( C S C ) Convolutional Sparse Coding(CSC) 方法的图像超分辨率方法,该方法直接对输入的整张图片进行稀疏编码。模型定义如下:

m i n Z X i = 1 n f i Z i F 2 + λ i = 1 N Z i 1 min_Z||X-\sum_{i=1}^nf_i\bigotimes{Z_i}||^2_F+{\lambda\sum_{i=1}^N||Z_i||_1}

其中, X X 是一个 m × n m\times n 的图片, { f i } i = 1 , 2 , . . . , N \{f_i\}_{i=1,2,...,N} 是一组滤波器, Z i Z_i 是大小为 ( m + s 1 ) × ( n + s 1 ) (m+s-1) \times (n+s-1) f e a t u r e feature m a p map 。基于以上模型我们就可以很好的避免之前提及的 i n c o n s i s t e n c y inconsistency 问题。

同时卷积分解机制也使得模型优化很难,为了解决这个问题文献 [ 31 ] [31] 提出了对原始的约束条件进行放松,利用共轭梯度下降算法来解决卷积最小二乘问题。

Convolutional Sparse Coding for Super resolution

本文提出的模型如下图所示:

在这里插入图片描述

LR filter learning for CSC decomposition

对于给定的一组高分辨率图片 { x 1 , x k , . . . , x K } \{x_1,x_k,...,x_K\} 和对应的低分辨率图片 { y 1 , y k , . . . , y K } \{y_1,y_k,...,y_K\} 用来训练我们的模型,由于索引 k k 不影响我们理解模型本身,所以在后面我们简单省略 k k

为了得到更加稀疏的 f e a t u r e   m a p feature\ map ,在超分辨率之前我们把 L R LR 图片分解为平滑成分和残差成分。对于平滑部分进行双线性插值进行放大,我们提出的模型 C S C S R CSC-SR 在残差部分进行操作。

对于 L R LR 图片 y y ,为了得到一个较好的平滑成分,首先要解决下面的优化问题:

m i n Z y f s Z y s F 2 + γ f d h Z y s F 2 + γ f d v Z y s F 2 ,   ( 1 ) min_Z||y-f^s\bigotimes Z^s_y||^2_F+\gamma||f^{dh} \bigotimes Z^s_y||^2_F + \gamma||f^{dv} \bigotimes Z^s_y||^2_F, \ (1)

其中, Z y s Z^s_y L R LR 图片 y y 的低频特征图, f s f^s 是一个大小为 3 × 3 3 \times 3 、系数为 1 / 9 1/9 的低通滤波器。 f d h   f d v f^{dh} \ f^{dv} 是水平和垂直梯度方向的操作运算子, [ 1 , 1 ] [1,-1] [ 1 ; 1 ] [1;-1] 。公式 ( 1 ) (1) 在傅里叶频域闭式解为:

Z y s = F 1 ( F ^ s F ( y ) F ^ s F s + γ F ^ d h F d h + γ F ^ d v F d v ) Z^s_y=\mathbb{F}^{-1}(\frac{\mathcal{\widehat{F}^s} \circ \mathbb{F(y)}} {\mathcal{\widehat{F}^{s}} \circ \mathcal{F^{s}} + \gamma\mathcal{\widehat{F}^{dh}} \circ \mathcal{F^{dh}} + \gamma\mathcal{\widehat{F}^{dv}} \circ \mathcal{F^{dv}}})

其中, F \mathbb{F} F 1 \mathbb{F^{-1}} 分别是 F F T FFT I F F T IFFT 变换, F s \mathcal{F^{s}} F d h \mathcal{F^{dh}} F d v \mathcal{F^{dv}} 分别是 f s f^s f d h f^{dh} f d v f^{dv} F F T FFT 变换,符号’^'表示复共轭, \circ 表示对应元素相乘。 得到 Z y s Z^s_y 后,我们就可以分解对应的 L R LR 图片:

y = f s Z y s + Y y=f^s \bigotimes Z^s_y + Y

其中, f s Z y s f^s \bigotimes Z^s_y 表示 L R LR 中平滑的部分, Y Y 表示在 L R LR 图片中对应的高频边缘信息和纹理结构信息(也就是之前说的残差部分)。

接下来继续学习一组 L R LR 滤波器分解残差部分 Y Y N N f e a t u r e   m a p feature \ map

m i n Z , f Y i = 1 N f i l Z i l F 2 + λ i = 1 N Z i l 1 , min_{Z,f} ||Y-\sum_{i=1}^N {f^l_i} \bigotimes {Z^l_i}||^2_F + \lambda {\sum_{i=1}^N ||Z^l_i||_1},

s . t . f i l F 2 1 s.t. ||f^l_i||^2_F \leqslant 1

其中, { f i l } i = 1 N \{f^l_i \}_{i=1\sim N} N N L R LR 滤波器, Z i l Z^l_i 是第 i i 个滤波器的稀疏特征图。

对于 Z Z f f 的更新是交替进行的,而且并不是直接更新 Z Z f f ,而是更新它们的子问题。其中 Z Z 的优化是标准的 C S C CSC 问题,可以利用文献 [ 23 ] [23] 的方法求解,对于 f f 我们可以利用 A D M M ADMM 算法在傅里叶频域进行求解。 f f 的子问题如下:

f l = a r g   m i n f Y i = 1 N f i l Z i l F 2 ,   s . t . f i l F 2 1. f^l = arg \ min_f || Y-\sum_{i=1}^N {f^l_i \bigotimes Z^l_i} ||^2_F, \ s.t. \left \| f^l_i \right \|^2_F \leqslant1.

Joint HR filter and mapping function learning

L R LR 滤波器的学习一样,首先对 H R HR 图片分解得到平滑成分和残差成分,然后学习映射函数和 H R HR 滤波器。(基于 L R LR f e a t u r e   m a p s feature \ maps )具体分解过程如下:
x = f s Z x s + X x=f^s \bigotimes Z^s_x + X

在之前的工作中, L R LR H R HR 的字典大小是一样的。而在本篇工作中, L R LR 的字典要比 H R HR 的小这样做的目的是减少计算代价,而对于 H R HR 图片由于包含的细节信息更多,所以利用更多的滤波器来提取特征。

现在的挑战就是我们训练的映射函数具有尺度缩放功能,因为低分辨率的特征和高分辨率的特征数量是不一样的,所以映射函数的功能不仅要实现低分辨率到高分辨率的映射,还要实现尺度上的映射,具体的映射函数如下:

Z j h ( k x , k y ) = g ( Z 1 l ( x , y ) , Z 2 l ( x , y ) ,   , Z N l ( x , y ) ; W ) Z^h_j(kx,ky) = g(Z^l_1(x,y),Z^l_2(x,y),\cdots,Z^l_N(x,y);W )

k k 是缩放因子, Z j h ( k x , k y ) Z^h_j(kx,ky) 是位置 ( k x , k y ) (kx,ky) 的系数, Z i l ( x , y ) Z^l_i(x,y) 是在特征图 Z i l Z^l_i 中对应点 ( x , y ) (x,y) 的系数, W W 是映射函数的参数。

映射函数 g g 最后输出的应该是系数编码,然后在利用一系列的线性转换矩阵计算 H R HR 的系数:

Z j h ( k x , k y ) = g ( Z : l ( x , y ) ; w j ) = w j T z : l ( x , y ) , Z^h_j(kx,ky) = g(Z^l_:(x,y); w_j) = w^T_jz^l_:(x,y),

s . t .   w j 0 ,   w j 1 = 1 s.t. \ w_j \succeq 0,\ |w_j|_1 = 1

其中, z : l ( x , y ) z^l_:(x,y) N N L R LR f e a t u r e   m a p s feature \ maps 在点 ( x , y ) (x,y) 的系数向量, w j T w^T_j H R HR f e a t u r e   m a p   Z j h feature \ map \ Z^h_j 的转换向量。这里我们约束 w j 1 w_j \succeq 1 w j 1 = 1 | w_j| _1=1 保证 W W 的稀疏性。

在这里插入图片描述

确定映射函数 g g 之后,就可以利用 H R HR f i l t e r filter g g 确定我们的模型了:

{ f h , W } = m i n f , W X j = 1 M f j h g ( Z : l ; w j ) F 2 , \{f^h,W\} = min_{f,W} || X-\sum_{j=1}^M {f^h_j \bigotimes g(Z^l_:;w_j)} ||^2_F,

s . t .   f j h F 2 e ;    w j 0 ,   w j 1 = 1 s.t. \ ||f^h_j||^2_F \leq e; \ \ w_j \succeq 0, \ |w_j|_1={1}

其中, e e H R HR 滤波器的能量约束。对于以上目标函数我们交替更新 f h f^h W W

在这里插入图片描述

我们的 C S C S R CSC-SR 方法的算法流程如下图所示:

在这里插入图片描述

Test Phase

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zzq060143/article/details/88746394