《Deep Image Blending》论文理解
论文:《Deep Image Blending》WACV 2020
链接:Deep Image Blending
本文目录
- 《Deep Image Blending》论文理解
- 论文创新点
- 具体实现思路
- 文中使用的基准方法
- 文章内容解析
- 使用模型整体架构
- 两阶段算法详情
- 第1阶段
- 第2阶段
- 损失函数的创新
- Poisson Gradient Loss
- Content Loss and Style Loss
- Regularization Loss
- 实验结果
- 参考文献
论文创新点
- 本文提出了一种泊松混合损失,其于泊松图像混合达到了相同的目的;
- 文中联合优化了提出的泊松混合损失以及从深度网络计算的样式和内容损失,并通过使用L-BFGS方法来迭代更新像素重建混合区域;
- 文中不仅平滑了混合边界的梯度域,而且在混合区域中添加了一致的纹理;
具体实现思路
首先,使用提出的泊松梯度损失、风格损失和内容损失来合成初步的混合图像;
然后,使用初步混合图像做进一步变换,使其具有和背景目标图像更相似的样式以更好地匹配目标图像;
文中使用的基准方法
用户研究的方法
文章内容解析
使用模型整体架构
第1阶段
- 首先,使用 I T I_T IT(背景/目标图像)和 I S I_S IS(内容/源图像)并使用掩码Mask来初始化一个重建图像 I Z I_Z IZ;
- 然后,使用 I S I_S IS结合Mask与 I Z I_Z IZ共同输入到VGG网络中,计算两者的内容损失函数;
- 使用 I T I_T IT与 I Z I_Z IZ共同输入到VGG网络中,计算两者的风格损失函数;
- 然后,将 I Z I_Z IZ与 I T I_T IT使用像素加的方式进行融合并得到的 I B I_B IB;
- 其次,分别对 I S I_S IS和 I T I_T IT使用拉普拉斯算子得到两张图象的散度,然后计算得到的两张GT散度与 I B I_B IB图像散度之间的散度loss(使用文中提出的泊松混合损失函数);
- 通过上述过程不断优化,来得到效果更好的 I B I_B IB,其将作为后续第二阶段的输入;
第2阶段
7. 首先,将来自第1阶段的
I
B
I_B
IB作为计算内容损失的一部分与
I
B
R
I_{BR}
IBR(最终重建图像,来自第1阶段中的
I
Z
I_Z
IZ)共同输入到VGG中,计算内容损失;
8. 然后,使用
I
T
I_T
IT与
I
B
R
I_{BR}
IBR一起计算风格损失;
9. 不断重复上述过程,直到得到的
I
B
R
I_{BR}
IBR图像达到足够优化的程度;
两阶段算法详情
第1阶段
第2阶段
损失函数的创新
Poisson Gradient Loss
文中作者为了使得泊松融合的原始方程和自己所使用的其他约束方程能够得到较好的融合,将初始的泊松约束方程,如下:
其中,
∇
=
[
∂
x
/
∂
y
]
\nabla=[\partial x/\partial y]
∇=[∂x/∂y]是梯度算子,
f
f
f是混合图像方程,
f
∗
f^*
f∗是目标图像方程,
v
v
v是矢量场,
Ω
\Omega
Ω是混合区域,
∂
Ω
\partial \Omega
∂Ω是混合图像的边界。这种情况下,矢量场
v
v
v是直接从源图像获取的梯度场。
使用每个color channel的边界条件独立地解决这个最小化问题,以获得RGB图像。
转换后的泊松约束方程如下:
上式中,
∇
\nabla
∇表示Laplace算子,
H
H
H和
W
W
W分别表示图像的高度和宽度,混合图像定义为:
I
B
=
I
Z
⨀
M
+
I
T
⨀
(
1
−
M
)
I_B=I_Z\bigodot M+I_T \bigodot (1-M)
IB=IZ⨀M+IT⨀(1−M)。
上述方程工作过程为:
->首先,将
I
Z
I_Z
IZ的重构像素与
I
T
I_T
IT直接组合以构建
I
B
I_B
IB,然后对整个
I
B
I_B
IB使用Laplace滤波器,该滤波器考虑了
I
T
I_T
IT的边界像素;
->然后,直接最小化
I
B
I_B
IB、
I
T
I_T
IT、
I
S
I_S
IS的梯度(注意:由于
I
T
I_T
IT的梯度与
I
B
I_B
IB中混合区域外的梯度完全相同,因此损失基本上是在混合区域内计算的);
Content Loss and Style Loss
其中,
⨀
\bigodot
⨀表示矩阵的逐元素乘积;
L
L
L表示卷积层的层数;
N
l
N_l
Nl是激活中的通道数;
M
l
M_l
Ml是每个通道中平坦激活值的数量;
F
l
[
⋅
]
∈
R
N
l
×
M
l
F_l[\cdot] \in R^{N_l \times M_l}
Fl[⋅]∈RNl×Ml表示从
l
t
h
l^{th}
lth层的深度网络
F
F
F计算的激活矩阵输出;
G
l
[
⋅
]
=
F
l
[
⋅
]
F
l
[
⋅
]
T
∈
R
N
l
×
M
l
G_l[\cdot]=F_l[\cdot]F_l[\cdot]^T \in R^{N_l \times M_l}
Gl[⋅]=Fl[⋅]Fl[⋅]T∈RNl×Ml表示第
l
t
h
l^{th}
lth层对应激活矩阵的Gram矩阵;Gram矩阵可以捕获所有channel的特征对之间的相似性关系,这编码了图像样式或纹理以及关于空间结构的零信息;
最后,
α
l
\alpha_l
αl和
β
l
\beta_l
βl是在计算内容损失和样式损失时控制每层影响的权重。
Regularization Loss
文中为了稳定混合区域的样式转换并鼓励空间平滑,进一步添加了直方图损失和总变化损失,以正则化生成的图像。
直方图损失函数的具体形式如下:
总变化损失函数的具体形式如下:
其中总变化损失用于去除不需要的细节,同时保留图像中的导入信息。
实验结果
其中,可以看到这篇文章中提出的方法可以实现最好的将前景图像和背景图像进行融合。
参考文献
- Lingzhi Zhang, Tarmily Wen, and Jianbo Shi. Deep image blending. In WACV, 2020.