赞
踩
这是 CVPR 2022 年的一篇文章,后来扩展成期刊,在 PAMI 上也发表了,其中的作者之一 Ming-Hsuan Yang 也是 CV 领域的一位大佬。这篇文章专门探讨了基于多帧图像的恢复与增强。
现在的很多手持设备都可以拍摄多帧图像,获取的多帧图像可能存在不同形式的质量退化以及不对齐的问题。多帧图像复原的目标就是有效地将多帧图像之间的信息进行组合以生成高质量的输出。文章作者设计了一种新的方法,该方法聚焦于对多帧图像之间的有效信息的交换。以最大程度的保留和增强场景的真实细节信息。
文章的核心思想是创建一组虚拟的多帧特征 pseudo-burst features,这组虚拟的多帧特征可以将输入的多帧图像之间的互补信息无缝交换。虚拟多帧特征创建的前提是多帧图像之间能够合理地对齐,消除帧与帧之间的运动偏移。
因此,文章方法首先从输入的多帧图像中提取预处理特征,然后利用一个 edge-boosting burst alignment 模型将这些特征对齐。接下来,利用多尺度的上下文信息创建虚拟的多帧特征。最后一步是自适应地从多帧虚拟特征中聚合信息,这个聚合过程需要分多个阶段,逐渐增大分辨率,这种多阶段的聚合方式比起之前单阶段来说,可以取得更好的输出效果,在多帧超分,暗光增强以及降噪任务上可以取得 SOTA 的表现。
文章作者将他们提出的方法称为 BIPNet,也就是 burst image processing Net 的意思,非常直白。对于多帧图像处理来说,主要包含两个关键步骤,一个是配准对齐,一个是融合。
文章整体的算法框架如图 1 所示,包含三个主要阶段。第一阶段,输入的多帧 RAW 图通过 edge boosting feature alignment module 进行特征提取,降噪,以及去除空间,颜色上的差异;第二阶段,创建一组虚拟的多帧特征,这组虚拟多帧特征中的每个 feature map 都包含了真实多帧特征中的互补信息;最后一步,将虚拟多帧特征进一步通过自适应地分组上采样模块逐步处理,得到最终的高质量图像。
多帧图像处理的一个大的挑战是如何从多张退化的图像中提取有效的特征,这些图像由于相机或者物体的运动以及光照环境的变化,可能包含噪声,未知的空间偏移以及色彩偏差。为了让这些图像帧对齐,文章作者提出了一种基于可形变卷积的对齐模块,文章作者指出当前的可形变卷积不能有效地处理带噪的 RAW 数据。因此,文章作者设计了一种特征处理模块进行降噪,这个模块称为 edge boosting feature alignment (EBFA) module,包括特征处理以及多帧特征对齐,具体的网络结构如图 2a 所示。
特征处理模块,FPM 具体结构如图 2b 所示,利用残差套残差的学习方式,让丰富的低频信息可以通过跳连进行传递。因为通过提取全局场景信息以捕获长序列的像素依赖性被证明在很多图像恢复任务中都能带来明显的收益,所以文章作者使用全局上下文注意力机制 GCA 去提炼残差模块生成的隐式表达。如图 2b 所示,假设 { x b } b ∈ 1 : B ∈ R b × f × H × W \{\mathbf{x}^{b} \}_{b \in 1:B} \in \mathbb{R}^{b \times f \times H \times W} {xb}b∈1:B∈Rb×f×H×W 表示初始的含有 B 张图像帧, f f f 个通道的隐式表达,文章设计的残差全局上下文注意力模块定义为:
y b = x b + W 1 ( α ( x ˉ b ) ) (1) \mathbf{y}^{b} = \mathbf{x}^{b} + W_1(\alpha (\bar{\mathbf{x}}^{b})) \tag{1} yb=xb+W1(α(xˉb))(1)
其中, x ˉ b = W 3 ( γ W 3 ( x b ) ) \bar{\mathbf{x}}^{b} = W_3(\gamma W_3(\mathbf{x}^{b})) xˉb=W3(γW3(xb)), α ( x ˉ b ) = x ˉ b + W 1 ( γ ( W 1 ( Ψ ( W 1 ( x ˉ b ) ) ⊗ x ˉ b ) ) ) \alpha (\bar{\mathbf{x}}^{b}) = \bar{\mathbf{x}}^{b} + W_1(\gamma (W_1 (\Psi(W_1(\bar{\mathbf{x}}^{b} )) \otimes \bar{\mathbf{x}}^{b} ))) α(xˉb)=xˉb+W1(γ(W1(Ψ(W1(xˉb))⊗xˉb))), W k W_k Wk 表示 k × k k \times k k×k 的卷积操作, γ \gamma γ 表示 leaky ReLU 激活函数, Ψ \Psi Ψ 表示 softmax 激活函数, ⊗ \otimes ⊗ 表示矩阵相乘, α ( ⋅ ) \alpha(\cdot) α(⋅) 表示全局上下文注意力机制。
为了有效的做多帧融合,需要先进行帧间对齐操作,文章中将其它帧 y b \mathbf{y}^{b} yb 向参考帧 y b r \mathbf{y}^{b_r} ybr 对齐,EBFA 模块通过一个偏移卷积层去预测其它帧与参考帧之间的偏移 Δ n \Delta n Δn 以及尺度信息 Δ m \Delta m Δm。对齐的特征 y ˉ b \bar{\mathbf{y}}^{b} yˉb可以表示为:
y ˉ b = W d ( y b , Δ n , Δ m ) , Δ m = W o ( y b , y b r ) (2) \bar{\mathbf{y}}^{b} = W^{d}(\mathbf{y}^{b}, \Delta n, \Delta m), \quad \Delta m = W^{o}(\mathbf{y}^{b}, \mathbf{y}^{b_r}) \tag{2} yˉb=Wd(yb,Δn,Δm),Δm=Wo(yb,ybr)(2)
其中, W d W_d Wd 表示 deformable 卷积, W o W^{o} Wo 表示 offset 卷积, y ˉ b \bar{\mathbf{y}}^{b} yˉb上面每个位置的值 y ˉ n b \bar{\mathbf{y}}_{n}^{b} yˉnb 可以通过如下的表达式求得:
y ˉ n b = ∑ i = 1 K W n i d y n + n i + Δ n i b ⋅ Δ m n i (3) \bar{\mathbf{y}}_{n}^{b} = \sum_{i=1}^{K} W_{n_i}^{d} \mathbf{y}_{n+n_i+\Delta n_i}^{b} \cdot \Delta m_{n_i} \tag{3} yˉnb=i=1∑KWnidyn+ni+Δnib⋅Δmni(3)
其中, K = 9 K=9 K=9, Δ m \Delta m Δm 取值为 0-1 之间的某个值, n i n_i ni 表示 3 × 3 3 \times 3 3×3 的某个邻域,整个的卷积操作不一定能在离散的整数位置上进行,可能存在一些分数位置,为了避免出现分数值,文章中采用了双线性插值进行计算。文章也提到,EFBA 相比之前的模型,存在一些差异,一个是没有用显示的监督信息去监督这个 EBFA 模块,也就是说这个对齐是没有 GT 的,而是采用了一种隐式的监督方式。而且,为了进一步增强特征的对齐效果,文章作者将得到的精细化的对齐特征 (RAF) 与参考帧的特征作差,计算高频信息,并且将这个残差加回 RAF 中,整个的过程可以表示为:
e b = y ˉ b + W 3 ( y ˉ b − y b r ) \mathbf{e}^{b} = \bar{\mathbf{y}}^{b} + W_3(\bar{\mathbf{y}}^{b} - \mathbf{y}^{b_r}) eb=yˉb+W3(yˉb−ybr)
其中, e b ∈ R b × f × H × W \mathbf{e}^{b} \in \mathbb{R}^{{b \times f \times H \times W}} eb∈Rb×f×H×W
一般的多帧图像处理技术,都是将图像特征提取,对齐之后,就进行融合。文章作者认为这样做,没有充分发挥多帧之间的信息交互的作用。所以,文章作者提出了一种 pseudo-burst feature fusion (PBFF) 也就是虚拟多帧特征融合机制,如图 3a 所示:
PBFF 模块从多帧特征组中,将每帧图像的特征按照对应通道进行联结,假设每帧图像产生了 64 个通道的特征图,那么把每帧图像的第一个通道特征图进行联结,相当于每帧图像都贡献了一定的特征图,给定一组特征图 e = { e c b } c ∈ [ 1 : f ] b ∈ [ 1 : B ] e =\{\mathbf{e}_{c}^{b} \}_{c \in [1:f]}^{b \in [1:B]} e={ecb}c∈[1:f]b∈[1:B] 包含 B 张图像,每张图像都有 f f f 个通道特征图,这个虚拟多帧可以定义成如下的形式:
S c = W ρ ( ⟨ e c 1 , e c 2 , . . . , e c B ⟩ ) , s . t . c ∈ [ 1 : f ] (4) \mathbf{S}^{c} = W^{\rho}(\left \langle \mathbf{e}_{c}^{1}, \mathbf{e}_{c}^{2}, ..., \mathbf{e}_{c}^{B} \right \rangle ), \quad s.t. \quad c \in [1:f] \tag{4} Sc=Wρ(⟨ec1,ec2,...,ecB⟩),s.t.c∈[1:f](4)
⟨ ⟩ \left \langle \right \rangle ⟨⟩ 表示 concatenate, e c 1 \mathbf{e}_{c}^{1} ec1 表示第一组对齐的特征集合 e 1 \mathbf{e}^{1} e1 中的第 c c c 个通道的特征图, W ρ W^{\rho} Wρ 表示一个卷积层,输出 f f f 个通道,最终的虚拟多帧集合表示为: S = { S c } c ∈ [ 1 : f ] \mathbf{S} = \{\mathbf{S}^{c} \}_{c \in [1:f]} S={Sc}c∈[1:f] 表示最终生成了一个 f × f × H × W f \times f \times H \times W f×f×H×W 的特征张量,文章中 f = 64 f=64 f=64,这个特征张量后面再经过一个轻量化的 UNet 网络做进一步的特征提取,这个 UNet 的权重是共享的。
特征融合之后,最后是上采样,将 LR 图像的特征通过上采样的方式得到高分辨率的图像。目前的多帧 SR 的方法一般会用 pixel-shuffle 实现。本文作者提出一种自适应并且分阶段渐进的方式来实现上采样,文章作者声称这种方式可以统一融合权重,同时有助于消除鬼影伪纹理之类的。
图 3b 展示了 adaptive group upsampling (AGU) 模块,输入的是前面融合得到的特征图 S = { S c } c ∈ [ 1 : f ] \mathbf{S} = \{ \mathbf{S}^{c} \}_{c \in [1:f]} S={Sc}c∈[1:f],然后 AGU 通过三个层次的上采样得到最终的高分辨率图像。从图 3b 上可以看出,AGU 将特征图每 4 张一组进行融合,融合的方式如图 3c 所示,首先将 4 张输入的 feature map 计算得到一个稠密的 attention map,对每个像素位置计算注意力权重,得到的 attention maps 会作用在多帧特征上,上采样的输出可以表示成:
S × 2 g = W T ( ⟨ S ^ g ⊙ a ^ g ⟩ ) a ^ g = ψ ( W 1 ( W 1 ( ∑ i = ( g − 1 ) ∗ 4 + 1 g ∗ 4 S i ) ) ) (5) \mathbf{S}_{\times 2}^{g} = W_{T} \left( \left \langle \hat{\mathbf{S}}^{g} \odot \hat{\mathbf{a}}^{g} \right \rangle \right) \\ \hat{\mathbf{a}}^{g} = \psi \left( W_1 \left(W_1 \left( \sum_{i=(g-1)*4 + 1}^{g*4} \mathbf{S}^{i} \right) \right) \right) \tag{5} S×2g=WT(⟨S^g⊙a^g⟩)a^g=ψ W1 W1 i=(g−1)∗4+1∑g∗4Si (5)
其中, ψ ( ⋅ ) \psi(\cdot) ψ(⋅) 表示 softmax 激活函数, W T W_{T} WT 表示转置卷积, a ^ g ∈ R 4 × f × H × W \hat{\mathbf{a}}^{g} \in \mathbb{R}^{4 \times f \times H \times W} a^g∈R4×f×H×W 表示稠密的 attention map, S ^ g = { S i : i ∈ [ ( g − 1 ) ∗ 4 + 1 : g ∗ 4 ] } g ∈ [ 1 : f / 4 ] \hat{\mathbf{S}}^{g} = \{\mathbf{S}^{i}: i \in [(g-1)*4+1:g*4] \}^{g \in[1:f/4]} S^g={Si:i∈[(g−1)∗4+1:g∗4]}g∈[1:f/4] 可以看到是对融合后的特征集合 S \mathbf{S} S 进行了分组,每 4 个 feature map 为一组,对于超分任务,考虑到 RAW 图是 Bayer 模式编码的,本身分辨率要缩小一倍,所以对于 x4 的超分,需要进行上采样 8 倍,文章中每个上采样是一个 x2 的上采样,需要进行 3 次这种上采样操作。每次上采样之后,feature map 数量都缩小 4 倍,所以正好是 16, 4, 1 最终输出一张图。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。