LoG :Laplacian of Gaussian
简要描述
拉普拉斯算子是2D图像的二阶空间导数, 且各向同性。图像的拉普拉斯算子突出显示像素值强度快速变化的区域,因此通常用于边缘检测。拉普拉斯算子通常先对图像应用近似高斯平滑滤波器进行平滑处理,以降低其对噪声的敏感度,因此LoG操作通常是包括了高斯平滑操作的。LoG通常将单个灰度图像作为输入,并生成另一个灰度图像作为输出。
具体操作
拉普拉斯算子
L
(
x
,
y
)
L(x, y)
L(x,y)表示如下,令
I
(
x
,
y
)
I(x, y)
I(x,y)表示图像在坐标
(
x
,
y
)
(x,y)
(x,y)上的像素值:
L
(
x
,
y
)
=
∂
2
I
∂
x
2
+
∂
2
I
∂
y
2
L(x, y) = \frac{\partial^2 I}{\partial x^2}+\frac{\partial^2 I}{\partial y^2}
L(x,y)=∂x2∂2I+∂y2∂2I
这可以使用卷积滤波器近似计算。
由于输入图像表示为一组离散像素,因此我们可以找到一个离散卷积核,可以近似拉普拉斯算子的定义中的二阶导数。图1显示了两个常用的小内核。
因为这些核近似于图像上的二阶导数,所以它们对噪声非常敏感。为了解决这个问题,通常在应用拉普拉斯滤波器之前对图像进行高斯平滑处理。该预处理在求导步骤之前减少了高频噪声分量。
由于卷积运算满足结合律,因此我们可以首先对高斯平滑滤波器与拉普拉斯滤波器进行卷积,然后由混合滤波器与图像进行卷积以获得最终结果。
用这种方式有两个优点:
由于高斯和拉普拉斯核尺寸通常都比待处理图像小得多,因此该方法通常花费更少的算术运算。
可以预先计算LoG(“Laplacian of Gaussian”)卷积核,因此在运行时只需要对图像执行一次卷积即可。
以零为中心且具有高斯标准偏差的2-D LoG函数具有以下形式:
L
o
G
(
x
,
y
)
=
−
1
π
σ
4
[
1
−
x
2
+
y
2
2
σ
2
]
e
−
x
2
+
y
2
2
σ
2
LoG(x, y)=-\frac{1}{\pi \sigma^4}[1-\frac{x^2+y^2}{2\sigma^2}]e^{-\frac{x^2+y^2}{2\sigma^2}}
LoG(x,y)=−πσ41[1−2σ2x2+y2]e−2σ2x2+y2
简要推导如下:
我们知道2D上各向同性高斯分布公式如下:
G
(
x
,
y
)
=
1
2
π
σ
2
e
−
x
2
+
y
2
2
σ
2
G(x,y)=\frac{1}{2\pi \sigma^2}e^{-\frac{x^2+y^2}{2\sigma^2}}
G(x,y)=2πσ21e−2σ2x2+y2
令
∗
*
∗表示卷积运算,有微分定理:
D
(
f
∗
g
)
=
D
f
∗
g
=
f
∗
D
g
D(f*g)=Df*g=f*Dg
D(f∗g)=Df∗g=f∗Dg
所以,
L
o
G
(
x
,
y
)
=
G
(
x
,
y
)
∗
L
(
x
,
y
)
=
∂
2
G
(
x
,
y
)
∂
x
2
+
∂
2
G
(
x
,
y
)
∂
y
2
=
−
1
π
σ
4
[
1
−
x
2
+
y
2
2
σ
2
]
e
−
x
2
+
y
2
2
σ
2
LoG(x,y)=G(x,y)*L(x,y)= \frac{\partial^2 G(x,y)}{\partial x^2} + \frac{\partial^2 G(x,y)}{\partial y^2} = -\frac{1}{\pi \sigma^4}[1-\frac{x^2+y^2}{2\sigma^2}]e^{-\frac{x^2+y^2}{2\sigma^2}}
LoG(x,y)=G(x,y)∗L(x,y)=∂x2∂2G(x,y)+∂y2∂2G(x,y)=−πσ41[1−2σ2x2+y2]e−2σ2x2+y2
注意,随着高斯变得越来越窄,LoG卷积核变得与图1中所示的简单拉普拉斯卷积核相同。这是因为在离散矩阵上使用非常窄的高斯(<0.5像素)进行平滑处理无效。因此,在离散矩阵上,拉普拉斯算子可以看作是窄高斯的LoG的极限情况。
未完待续。。。
inference
- https://homepages.inf.ed.ac.uk/rbf/HIPR2/log.htm