图像拼接方向:《Unsupervised Deep Image Stitching: Reconstructing Stitched Features to Images》论文理解
论文:《Unsupervised Deep Image Stitching: Reconstructing Stitched Features to Images》TIP 2021
链接:Unsupervised Deep Image Stitching: Reconstructing Stitched Features to Images
本文目录
1 论文创新点
- 文章提出了一种无监督的深度图像拼接框架,该框架由无监督粗图像对齐阶段和无监督图像重建阶段组成;
- 文章提出了第一个用于无监督深度图像拼接的大型真实场景数据集(UDIS-D);
2 文章内容解析
2.1 文中模型整体架构
整体概述
主要分为两个阶段:
-
第1阶段为无监督的图像对齐阶段,该阶段主要是通过将图像输入到一个大baseline的单应性网络中,得到两个图像(源图像和目标图像)的最小拼接域;
-
第2阶段又分为两个小阶段(低分辨率图像重建/高分辨率图像重建):
1)首先是将第1阶段的输出作为低分辨率图像重建阶段的输入,该过程很简单,主要是通过将第1阶段的输出经过下采样到 256 × 256 256\times256 256×256大小,然后通过encoder-decoder架构得到相同大小的图像,之后将得到的图像一方面和缝隙Mask+内容Mask进行像素加,然后将得到的结果与原始的低分辨率网络的输入来计算重建阶段的低分辨率损失;
2)同时,将低分辨率重建阶段的输出经过上采样之后和第1阶段的输出进行通道维度的叠合来共同作为第2阶段中高分辨率重建阶段的输入,然后将叠合后的特征map通过一个残差网络,并得到输出,之后采用与低分辨率重建阶段相同的方法,将该输出结合缝隙Mask+内容Mask,之后与高分辨率重建网络的输入共同来计算高分辨率变形分支的loss损失。
2.2 无监督图像粗对齐阶段
2.2.1 现有求取单应性估计方法存在的问题
文中首先指出了传统的无监督深度单应性方法存在的问题,即为了使扭曲图像(源图像)patch接近参考图像(目标图像)patch,利用目标图像patch周围的额外内容来填充源图像patch周围的无效像素,这种策略被称为基于填充的约束策略。该策略在小baseline中或中等baseline任务中的单应性估计中表现很好,但是在大baseline情况下失败。
如下图所示,输入的图像patch之间可能没有重叠,这种情况下,从这些patch中估计单应性矩阵是没有意义的。
2.2.2 无监督单应性求取方法的提出
为了解决上述传统求取单应性估计的问题,文中提出了一种基于无监督单应性求取方法:
首先,将完整图像作为输入,确保所有重叠区域都包含在输入中。当使得源图像强制靠近目标图像时,该方法不再使用填充源图像中的无效像素方法,而是通过消融源图像中无效像素所对应的目标图像中的内容,如下图所示。文中提出的无监督单应性目标函数公式可以用式(2)表示:
L
P
W
′
=
∣
∣
H
(
E
)
⨀
I
A
−
H
(
I
B
)
∣
∣
1
(
2
)
L'_{PW}=||H(E) \bigodot I^A-H(I^B) ||_1 (2)
LPW′=∣∣H(E)⨀IA−H(IB)∣∣1(2)
其中,
⨀
\bigodot
⨀是逐像素相乘,
E
E
E是一个和参考图像
I
A
I^A
IA大小相同的矩阵。
文中使用的无监督单应性网络的架构为[1]中提出的多尺度深度模型,该模型在统一的框架中连接了特征金字塔和特征相关性,以便它可以从粗到细预测单应性矩阵,并处理相对较大baseline场景。
2.2.3 拼接域变换层
传统的拼接方案定义了拼接图像的最大分辨率,以便所有输入内容都可以包含在输出中。但是,由图4(a)可以看到,图中白框外的黑色像素占据的大部分空间被浪费了。
文中提出了一种拼接域变换器层:将拼接域定义为拼接图像的最小边界矩形,这在确保图像内容完整性的同时节省了最大的空间。使用这种方法得到的扭曲结果如图4(b)所示。
上述过程详细描述:
首先,使用公式(3)计算变形的目标图像中四个顶点的坐标,其中
(
x
k
w
,
y
k
w
)
(x^w_k,y^w_k)
(xkw,ykw)是变换后目标图像的顶点坐标,
(
x
k
B
,
y
k
B
)
(x_k^B,y_k^B)
(xkB,ykB)是原始目标图像的顶点坐标,
(
△
x
k
,
△
y
k
)
(\triangle x_k,\triangle y_k)
(△xk,△yk)是从上述提出的无监督网络中估计出的第k个顶点的偏移量。
那么,经扭曲之后的目标图像
(
H
∗
×
W
∗
)
(H^*\times W^*)
(H∗×W∗)可由式(4)得到:
其中,
(
x
k
A
,
y
k
A
)
(x_k^A,y_k^A)
(xkA,ykA)表示参考图像的原始坐标;最后,使用两个输入的目标图像像素对变换后的目标图像
(
I
A
W
,
I
B
W
)
(I^{AW},I^{BW})
(IAW,IBW)的像素进行赋值,表示为下式(5)。其中
I
I
I和
H
H
H分别是单位矩阵和估计得到的单应矩阵,
W
(
⋅
)
W(\cdot)
W(⋅)表示将缝合域设为
H
∗
×
W
∗
H^*\times W^*
H∗×W∗时,利用
3
×
3
3\times 3
3×3变换矩阵对图像进行wrap的操作算子。
2.3 无监督图像重建阶段
2.3.1 低分辨率变形分支
模型的感受野会随着图像分辨率的增加而减少,为了解决这个问题,文中使用下采样的方法将源图像向下采样到低分辨率
(
256
×
256
)
(256\times 256)
(256×256)。然后,使用由3个池化层和3个反卷积层组成的编码器网络重建拼接图像。
网络中的卷积层的滤波器数量分别设置为64、64、128、128、256、256、512、512、256、256、128、128、64、64、3。同时,采用跳跃式连接的方式将具有相同分辨率的低级特征和高级特征连接起来。
该过程中使用内容Mask+缝隙Mask实现对网络中Deformation Loss的约束。其中,
M
A
C
M^{AC}
MAC和
M
B
C
M^{BC}
MBC通过将式(5)中的
I
A
I^A
IA,
I
B
I^B
IB替换为全1得到。式(5)如下:
缝隙Mask通过式(6)、式(7)得到。
其中,
(
i
,
j
)
(i,j)
(i,j)表示内容Mask中的坐标位置,
∗
*
∗表示卷积运算,
C
C
C表示将矩阵中的所有元素都归一化到0-1之间。
文中定义的内容Loss和缝隙Loss如下,其中,
S
L
R
S_{LR}
SLR为低分辨率的拼接图像,
L
1
L_1
L1表示
L
1
L_1
L1类型损失,
L
P
L_P
LP表示感知损失[2]。
文中提到,为了增加重构图像的真实性(相比于原始的变换目标图像),使用了VGG19的“conv5_3”层的卷积输出作为依据来根据[2]计算感知损失。最后综合(8)、(9)式得到的最终的损失函数如下,其中的
λ
c
\lambda_c
λc和
λ
s
\lambda_s
λs 分别表示内容损失和缝隙损失在总体Loss函数中占的权重多少。
2.3.2 高分辨率细化分支
第二部分的高分辨率细化分支的输入图像是第一部分低分辨率变形分支的输出拼接图像KaTeX parse error: Expected '}', got 'EOF' at end of input: S_{经过上采样到原始输入尺寸之后形成的并和原始输入尺寸连接之后的图像。输出为𝑆_𝐻𝑅 高分辨率图像。
右图显示了低分辨率分支和高分辨率输出图像的清晰程度对比,可以看到在使用了高分辨率细化分支对低分辨率分支得到的图像处理之后,图像中的一些细节部位显示的更加清晰完整可见。
具体来说,它由3个独立的卷积层和8个resblocks组成,其中每一层的过滤器数都设置为64,只有最后一层的过滤器数设置为3。为了防止随着卷积层的加深底层信息逐渐消失,这里将第一层的输出特征和倒数第二层的输出特征进行结合。
使用和低分辨率变形分支相似的总的损失函数,得到高分辨率细化分支的Loss函数如下:
其中,
L
c
o
n
t
e
n
t
h
L_{content}^h
Lcontenth和
L
S
e
a
m
h
L_{Seam}^h
LSeamh表示对应的内容Loss和缝隙Loss。使用
S
H
R
S_{HR}
SHR取代
S
L
R
S_{LR}
SLR,使用高分辨率的Mask取代对应的低分辨率Mask即可。需要注意的是:在计算此时的
L
P
L_P
LP时,由于需要更加清晰的分辨率,因此使用VGG-19中conv3_3的输出进行计算。
为了处理使用高分辨率分支得到的图像因为分辨率的增加而网络的感受野减少带来的拼接缝处伪影,文中还设置了目标函数使网络能够同时提高分辨率和消除视差伪影,内容一致性损失函数如式(12)所示,其中 S H R 256 × 256 S_{HR}^{256\times 256} SHR256×256是通过将 S H R S_{HR} SHR大小调整为256×256获得的,256×256是低分辨率分支输出的分辨率。
考虑到上述所有的约束条件,最终得到的图像重建阶段的目标函数如式(13)所示。
其中,
ω
L
R
,
ω
H
R
,
ω
C
S
\omega_{LR},\omega_{HR},\omega_{CS}
ωLR,ωHR,ωCS表示三个部分所占的权重大小。
下图,可视化了低分辨率变形分支的特征图以展示从特征到像素的学习过程。在编码器阶段的最开始,网络只关注重叠区域,非重叠区域的特征全部被抑制。接下来,随着分辨率的降低,提取和重建更深层次的语义特征。在解码器阶段,网络开始关注重叠区域之外的非重叠区域。随着分辨率的恢复,可以重建更清晰的特征图。最后,对拼接后的图像进行像素级重构。
参考文献
[1] L. Nie, C. Lin, K. Liao, and Y . Zhao, “Learning edge-preserved image stitching from large-baseline deep homography,” arXiv preprint arXiv:2012.06194, 2020.
[2] J. Johnson, A. Alahi, and L. Fei-Fei, “Perceptual losses for real-time style transfer and super-resolution,” in European conference on computer vision, pp. 694–711, Springer, 2016.