在影像处理 及电脑视觉 领域中,非等向性扩散 (英语:Anistropic Diffusion )是一项用来减少影像杂讯但却不会影响到影像中较重要成分的技术,像是边界、线条或者影像中较明显的细节。一般影像扩散处理是将原始影像与二维高斯滤波器进行卷积 ,这种扩散处理是线性且具有空间不变性的转换。而非等向性扩散处理则是会根据影像产生区域性的滤波器,再将原始影像与产生的滤波器进行卷积,所以非等向性扩散是一种非线性且不具有空间不变性的转换。
Perona和Malik在1987年提出不具有空间不变性的滤波器 时,其原始的概念是等向性扩散但会根据影像内容产生不同的滤波器,这也使得在靠近边界的区域其产生的滤波器会很类似狄拉克δ函数 ,让边界及影像中较重要的结构能够在经过扩散处理后还能保留下来。而当初Perona和Malik称之为非等向性扩散,即使其产生的区域性滤波器是具有等向性的,而当时这种处理又被称为不均匀扩散、非线性扩散及Perona-Malik扩散。而实际上的非等向性扩散则是根据边界及结构的方向而产生非等向性的区域性滤波器,这种方法又被称为shape-adapted smoothing 或coherence enhancing diffusion 。其产生的影像可以同时进行平滑化并保留原本影像的结构,而这类方法所使用的扩散方程式通常是根据在原始影像中的位置及原始影像的像素值所产生。
虽然其结果是由原始影像及区域性滤波器卷积所产生,但实际应用上这样会需要大量的运算,所以通常会用近似法来进行加速,也就是说每一张新的影像是由上一张产生的影像套用非等向性扩散所产生。整体来说,非等向性扩散是一种叠代性的处理,其产生的结果会越来越平滑直到达到所需要的结果。
定义
Ω
⊂
R
2
{\displaystyle \Omega \subset \mathbb {R} ^{2}}
代表的是平面上的子集合,且
I
(
⋅
,
t
)
:
Ω
→
R
{\displaystyle I(\cdot ,t):\Omega \rightarrow \mathbb {R} }
是一组灰阶影像,则非等向性扩散可以定义为
∂
I
∂
t
=
d
i
v
(
c
(
x
,
y
,
t
)
∇
I
)
=
∇
c
⋅
∇
I
+
c
(
x
,
y
,
t
)
Δ
I
{\displaystyle {\frac {\partial I}{\partial t}}=\mathrm {div} \left(c(x,y,t)\nabla I\right)=\nabla c\cdot \nabla I+c(x,y,t)\Delta I}
Δ
{\displaystyle \Delta }
代表的是拉普拉斯运算子,
∇
{\displaystyle \nabla }
代表的是梯度运算子,
d
i
v
(
…
)
{\displaystyle \mathrm {div} (\dots )}
则是散度运算子,而
c
(
x
,
y
,
t
)
{\displaystyle c(x,y,t)}
代表的是扩散系数.
c
(
x
,
y
,
t
)
{\displaystyle c(x,y,t)}
控制扩散的程度,而且通常是根据影像梯度所产生的方程式,所以能够保存原本影像中的边界。 Pietro Perona 和 Jitendra Malik 在1990年最早提出非等向性扩散的概念,且提出了两种计算扩散系数的方程式:
c
(
‖
∇
I
‖
)
=
e
−
(
‖
∇
I
‖
/
K
)
2
{\displaystyle c\left(\|\nabla I\|\right)=e^{-\left(\|\nabla I\|/K\right)^{2}}}
和
c
(
‖
∇
I
‖
)
=
1
1
+
(
‖
∇
I
‖
K
)
2
{\displaystyle c\left(\|\nabla I\|\right)={\frac {1}{1+\left({\frac {\|\nabla I\|}{K}}\right)^{2}}}}
常数K控制方程式对于边界的敏感度,而其值通常是根据影像中的噪音所产生,或者根据实验所产生。
动机
若
M
{\displaystyle M}
代表的是平滑的影像,则上面的扩散方程式就可以被转换成用梯度下降法寻找方程式
E
:
M
→
R
{\displaystyle E:M\rightarrow \mathbb {R} }
的最小能量,而
E
:
M
→
R
{\displaystyle E:M\rightarrow \mathbb {R} }
则定义为
E
[
I
]
=
1
2
∫
Ω
g
(
‖
∇
I
(
x
)
‖
2
)
d
x
{\displaystyle E[I]={\frac {1}{2}}\int _{\Omega }g\left(\|\nabla I(x)\|^{2}\right)\,dx}
其中
g
:
R
→
R
{\displaystyle g:\mathbb {R} \rightarrow \mathbb {R} }
是一个实数函数,其代表的是扩散系数之间的关系。对于可微函数
h
{\displaystyle h}
d
d
t
|
t
=
0
E
[
I
+
t
h
]
=
d
d
t
|
t
=
0
1
2
∫
Ω
g
(
‖
∇
(
I
+
t
h
)
(
x
)
‖
2
)
d
x
=
∫
Ω
g
′
(
‖
∇
I
(
x
)
‖
2
)
∇
I
⋅
∇
h
d
x
=
−
∫
Ω
d
i
v
(
g
′
(
‖
∇
I
(
x
)
‖
2
)
∇
I
)
h
d
x
{\displaystyle {\begin{aligned}\left.{\frac {d}{dt}}\right|_{t=0}E[I+th]&={\frac {d}{dt}}{\big |}_{t=0}{\frac {1}{2}}\int _{\Omega }g\left(\|\nabla (I+th)(x)\|^{2}\right)\,dx\\&=\int _{\Omega }g'\left(\|\nabla I(x)\|^{2}\right)\nabla I\cdot \nabla h\,dx\\&=-\int _{\Omega }\mathrm {div} (g'\left(\|\nabla I(x)\|^{2}\right)\nabla I)h\,dx\end{aligned}}}
假设
∇
E
I
{\displaystyle \nabla E_{I}}
代表 E 对
L
2
(
Ω
,
R
)
{\displaystyle L^{2}(\Omega ,\mathbb {R} )}
内积的梯度,则
∇
E
I
=
−
d
i
v
(
g
′
(
‖
∇
I
(
x
)
‖
2
)
∇
I
)
{\displaystyle \nabla E_{I}=-\mathrm {div} (g'\left(\|\nabla I(x)\|^{2}\right)\nabla I)}
因此,其梯度下降法的方程式可以表示成
∂
I
∂
t
=
−
∇
E
I
=
d
i
v
(
g
′
(
‖
∇
I
(
x
)
‖
2
)
∇
I
)
{\displaystyle {\frac {\partial I}{\partial t}}=-\nabla E_{I}=\mathrm {div} (g'\left(\|\nabla I(x)\|^{2}\right)\nabla I)}
我们假设
c
=
g
′
{\displaystyle c=g'}
就可以得到非等向性方程式了。
正规化
修正后的Perona-Malik模型,又被成为正规化的P-M方程式,其未知部分在非线性部分与高斯函数进行卷积,得到
∂
I
∂
t
=
d
i
v
(
c
(
|
D
G
σ
∗
I
|
)
∇
I
)
{\displaystyle {\frac {\partial I}{\partial t}}=\mathrm {div} \left(c(|DG_{\sigma }*I|)\nabla I\right)}
其中
G
σ
=
C
σ
−
(
1
/
2
)
e
x
p
(
−
|
x
|
2
/
4
σ
)
{\displaystyle G_{\sigma }=C{\sigma }^{-\left(1/2\right)}exp\left(-|x|^{2}/4{\sigma }\right)}
.
正规化虽然可以增加其稳定性,但同时也会产生模糊效果,所以要在事前得知噪音的程度才能够决定正规化的所需要的常数。
应用
非等向性扩散可以用来减少数位影像的杂讯而不会模糊其边界。如果在固定的扩散系数下,非等向性扩散方程式所减少的heat equation与高斯模糊是相同的,但这样会在消除杂讯时同时模糊边界。如果扩散系数是根据边界侦测方程式来决定,像是Perona Malik 模型的话,其结果会在区域内进行扩散而且不会使其超过较强的边界,因此在移除杂讯后,影像中的边界及结构仍可以保留下来。
除了移除杂讯之外,非等向性扩散也可以用于边界侦测。只要根据边界侦测方程式来进行多次递回的非等向性扩散,其最终结果影像会趋向于剩下一个一个的色块,而相邻色块之间的区域则会被侦测为边界。
延伸阅读
参考资料
[ 1]
外部链接
^ wiki_en . [2017-07-07 ] . (原始内容 存档于2021-01-19).