📝论文下载地址
🔨代码下载地址
👨🎓论文作者
📦模型讲解
[论文解读]
作者首先介绍基于梯度传递的融合公式,然后提供使用总变化最小化的优化方法。
[目标函数]
如果给定一组融合的可见光图像和红外图像,需要生成的图像要从两张图像获得辐射信息和细节信息。假设可见光和红外图像以及融合图像均为
m
×
n
m×n
m×n的灰度图像,表示为
v
、
u
、
x
v、u、x
v、u、x。
首先,红外图像的像素值是由热辐射决定,所以目标与背景的亮度差异巨大,更容易在红外图像中发现目标。这对这一特点,作者将融合图像的亮度更接近与红外图像的亮度,也就i是像素值的大小。例如,可以设定一些
L
p
\mathcal L^p
Lp范数来衡量两者的差异:
L
1
(
x
)
=
1
p
∣
∣
x
−
u
∣
∣
p
p
L_1(x)=\frac{1}{p}||x−u||^p_p
L1(x)=p1∣∣x−u∣∣pp
另外,为了获得更详细的外观信息,融合图像的像素值大小同样需要与可见光图像相似。但是,一些情况下可见光图像与红外图像的亮度会有很大的差异,同时优化以下公式往往生成的融合图像
x
x
x效果并不好。
L
1
(
x
)
=
1
p
∣
∣
x
−
u
∣
∣
p
p
L
2
(
x
)
=
1
q
∣
∣
x
−
v
∣
∣
q
q
L_1(x)=\frac{1}{p}||x−u||^p_p\\L_2(x)=\frac{1}{q}||x−v||^q_q
L1(x)=p1∣∣x−u∣∣ppL2(x)=q1∣∣x−v∣∣qq
图像的细节信息更多的体现在纹理上,也就是图像的梯度。可见光图像相对于红外图像有更丰富的纹理梯度信息,所以生成的融合图像的梯度可以继承于了见光图像的梯度:
L
2
(
x
)
=
1
q
∣
∣
∇
x
−
∇
v
∣
∣
q
q
L_2(x)=\frac{1}{q}||\nabla x−\nabla v||^q_q
L2(x)=q1∣∣∇x−∇v∣∣qq
其中
∇
\nabla
∇表示求梯度。在
q
=
0
q=0
q=0的情况下,就是求
∇
x
−
∇
v
\nabla x-\nabla v
∇x−∇v的非零项个数。
那么如果结合两部分公式,得到:
L
(
x
)
=
L
1
(
x
)
+
L
2
(
x
)
=
1
p
∣
∣
x
−
u
∣
∣
p
p
+
λ
1
q
∣
∣
∇
x
−
∇
v
∣
∣
q
q
L(x)=L_1(x)+L_2(x)\\=\frac{1}{p}||x-u||^p_p+\lambda\frac{1}{q}||\nabla x-\nabla v||_q^q
L(x)=L1(x)+L2(x)=p1∣∣x−u∣∣pp+λq1∣∣∇x−∇v∣∣qq
其中第一项是约束融合图像在亮度上接近于红外图像,第二项是约束融合图像在梯度上接近于可见光图像的梯度,
λ
\lambda
λ是平衡两项的参数。
[总变化最小进行优化]
接下来作者分析了
p
、
q
p、q
p、q的选择。
首先,对于
p
p
p。如果融合图像x和红外u之间的差异为高斯时
p
=
2
p=2
p=2,如果是拉普拉斯或者脉冲的情况下
p
=
1
p=1
p=1。期望融合图像最大程度继承红外图像,那么
L
1
L_1
L1就要尽可能为0,也就是融合图像的像素值与红外图像尽可能一样,而不同的像素值可能是可见光梯度,也就是第二项
L
2
L_2
L2造成的。因此,作者认为融合图像x和红外u之间的差异为拉普拉斯或者脉冲而不是高斯,所以
p
=
1
p=1
p=1。另外,对于
q
q
q。作者通过几篇相关文献确定
q
=
1
q=1
q=1。
L
(
x
)
=
L
1
(
x
)
+
L
2
(
x
)
=
∣
x
−
u
∣
+
λ
∣
∇
x
−
∇
v
∣
L(x)=L_1(x)+L_2(x)\\=|x-u|+\lambda|\nabla x-\nabla v|
L(x)=L1(x)+L2(x)=∣x−u∣+λ∣∇x−∇v∣
如果定义
y
=
x
−
v
y=x-v
y=x−v,那么目标函数可以写为:
y
∗
=
arg
min
y
{
∑
i
=
1
m
n
∣
y
i
−
(
u
i
−
v
i
)
+
λ
J
(
y
)
∣
}
J
(
y
)
=
∑
i
=
1
m
n
∣
∇
i
y
∣
=
∑
i
=
1
m
n
(
∇
i
h
y
)
2
+
(
∇
i
v
y
)
2
y*=\arg\min_y\{\sum_{i=1}^{mn}|y_i-(u_i-v_i)+\lambda J(y)|\}\\ J(y)=\sum_{i=1}^{mn}|\nabla_iy|=\sum_{i=1}^{mn}\sqrt{(\nabla_i^hy)^2+(\nabla_i^vy)^2}
y∗=argymin{i=1∑mn∣yi−(ui−vi)+λJ(y)∣}J(y)=i=1∑mn∣∇iy∣=i=1∑mn(∇ihy)2+(∇ivy)2
其中假如
x
=
(
x
1
,
x
2
)
∈
R
2
x=(x_1,x_2)\in \mathbb R^2
x=(x1,x2)∈R2,那么
∣
x
∣
=
x
1
2
+
x
2
2
|x|=\sqrt{x_1^2+x_2^2}
∣x∣=x12+x22,
∇
i
=
(
∇
i
h
,
∇
i
h
)
\nabla _i=(\nabla^h_i,\nabla_i^h)
∇i=(∇ih,∇ih),
∇
i
h
\nabla_i^h
∇ih,
∇
i
v
\nabla_i^v
∇iv表示纵向和横向的梯度,即:
∇
i
h
x
=
x
i
−
x
r
(
i
)
∇
i
v
x
=
x
i
−
x
b
(
i
)
\nabla_i^hx=x_i-x_{r(i)}\\\nabla_i^vx=x_i-x_{b(i)}
∇ihx=xi−xr(i)∇ivx=xi−xb(i)
其中
r
(
i
)
、
b
(
i
)
r(i)、b(i)
r(i)、b(i)表示
i
i
i的右边和下边相邻的像素。对于最后一行或者最后一列,
r
(
i
)
、
b
(
i
)
r(i)、b(i)
r(i)、b(i)都取
i
i
i。目标函数是凸优化问题,GTF算法简单有效。最后融合结果是
x
=
y
+
v
x=y+v
x=y+v。
[广义GTF算法]
作者使用
T
\mathcal T
T表示对可见光图像的空间变换,是可见光图像
v
(
T
)
v(\mathcal T)
v(T)与红外图像
u
u
u对齐。目标函数可以转换为:
L
(
x
,
T
)
=
∣
∣
x
−
u
∣
∣
1
+
λ
∣
∣
∇
x
−
∇
v
(
T
)
∣
∣
1
L(x,\mathcal T)=||x-u||_1+\lambda||\nabla x-\nabla v(\mathcal T)||_1
L(x,T)=∣∣x−u∣∣1+λ∣∣∇x−∇v(T)∣∣1
目标函数中有两个未知量,分别是融合图像
u
u
u与空间变换
T
\mathcal T
T。当解决一个变量时在另一个变量信息未知情况下是困难的。但是当确定了一个变量解决另一个会相对容易。可以通过固定一个变量收敛另一个来不断迭代来解决问题。例如,可以通过固定
T
\mathcal T
T来解决获得
x
x
x。让
y
=
x
−
v
(
T
)
y=x-v(\mathcal T)
y=x−v(T):
y
∗
=
arg
min
y
{
1
2
∣
∣
y
−
(
u
−
v
(
T
)
)
∣
∣
1
+
λ
J
(
y
)
}
y*=\arg\min_y\{\frac{1}{2}||y-(u-v(\mathcal T))||_1+\lambda J(y)\}
y∗=argymin{21∣∣y−(u−v(T))∣∣1+λJ(y)}
固定
x
x
x解决
T
\mathcal T
T:
L
(
T
)
=
∣
∣
∇
x
−
∇
v
(
T
)
∣
∣
1
=
∑
i
=
1
m
n
(
∇
i
h
x
−
∇
i
h
v
(
T
)
)
2
+
(
∇
i
v
x
−
∇
i
v
v
(
T
)
)
2
L(\mathcal T)=||\nabla x-\nabla v(\mathcal T)||_1\\=\sum_{i=1}^{mn}\sqrt{(\nabla_i^hx-\nabla_i^hv(\mathcal T))^2+(\nabla_i^vx-\nabla_i^vv(\mathcal T))^2}
L(T)=∣∣∇x−∇v(T)∣∣1=i=1∑mn(∇ihx−∇ihv(T))2+(∇ivx−∇ivv(T))2
计算目标函数及梯度时:
r
=
(
∇
h
x
−
∇
h
v
(
T
)
,
∇
v
x
−
∇
v
v
(
T
)
)
s
=
(
∇
h
v
(
T
)
,
∇
v
v
(
T
)
)
L
=
t
r
(
(
r
r
T
)
1
/
2
)
∇
L
=
−
1
2
(
r
r
T
)
−
1
/
2
r
∇
s
∂
T
∂
θ
r=(\nabla ^hx-\nabla^hv(\mathcal T),\nabla ^vx-\nabla^vv(\mathcal T))\\s=(\nabla^hv(\mathcal T),\nabla^vv(\mathcal T))\\L=tr((rr^T)^{1/2})\\\nabla L=-\frac{1}{2}(rr^T)^{-1/2}r\nabla s\frac{\partial\mathcal T}{\partial\theta}
r=(∇hx−∇hv(T),∇vx−∇vv(T))s=(∇hv(T),∇vv(T))L=tr((rrT)1/2)∇L=−21(rrT)−1/2r∇s∂θ∂T
其中
r
、
s
r、s
r、s是
m
n
×
2
mn×2
mn×2的矩阵,
t
r
(
.
)
tr(.)
tr(.)表示迹,
∇
s
\nabla s
∇s可以从水平梯度
∇
h
v
(
T
)
\nabla ^hv(\mathcal T)
∇hv(T)和垂直梯度
∇
v
v
(
T
)
\nabla ^vv(\mathcal T)
∇vv(T)得到,
θ
\theta
θ表示仿射变换的参数。
[伪代码]
算法 1:没有预对齐的GTF算法 |
---|
输入: 红外图像 u u u,可见光图像 v v v,参数 λ \lambda λ |
输出: 融合图像 u u u |
1 提取
u
、
v
u、v
u、v的Canny边缘图,并使用采样方法离散化。 |
2 使用仿射模型的CPD算法对齐两个点集并相应的初始化
T
\mathcal T
T |
3 重复 |
4 通过提出的算法优化目标函数(
T
\mathcal T
T固定优化
y
y
y的目标函数)计算
y
y
y |
5 设置融合图像
x
←
y
+
v
(
T
)
x←y+v(\mathcal T)
x←y+v(T) |
6 使用牛顿法优化慕白哦函数(
y
y
y固定优化
T
\mathcal T
T的目标函数)以及其梯度计算的公式计算
T
\mathcal T
T |
7 直至 停止准则 |
8 通过
x
=
y
+
v
(
T
)
x=y+v(\mathcal T)
x=y+v(T)计算融合图像
x
x
x |