无处不在的拉普拉斯——边缘,斑点,金字塔

作为拿破仑的老师和“法国牛顿”,拉普拉斯在数学和天体力学中贡献颇多,但其实在图像处理中也会发现拉普拉斯的身影:它又可以用来检测斑点,又可以检测边缘,又可以金字塔重建,还可以平滑,还可以增强细节...

其实很多拉普拉斯出现的地方都归结于拉普拉斯算子。有些用途感觉八竿子打不着,甚至作用完全相反,为什么都是拉普拉斯算子带来的呢?

如果没有深刻地理解拉普拉斯算子,就容易一头雾水,所谓“着相”,现在我们就尝试将它打回原形,看看拉普拉斯算子的真面目。

1. 拉普拉斯算子Laplace operator

看着很简单,就是三维函数在各个方向的二阶导数之和。但其为什么百度百科解释说它是梯度的散度?当它等于0时意味着什么? 

1.1 梯度

首先要清楚什么是梯度Gradient。梯度是函数“最陡”,变化最快的方向(所以有梯度下降法)。有大小有方向,这表明它其实是一个vector operator。对平面二维图像,每个像素位置都可以求x,y方向的梯度,最终就可以得到一个梯度场。

梯度场由几个基张成,表达式是这样的:

1.2 散度

散度Divergence 是形容向量场的。既然是向量场,那么就有疏有密,有流入有流出。散度就可以理解为面积取极小时的“通量”。

通量的计算是通过内积实现的。因为通量只考虑向量与表面积垂直的分量,所以先将向量函数与单位向量做内积,把向量分解到正交方向,然后分解后的分量相加就得到该处通量的大小。

内积表示投影,也可以表示相似度。所以散度也可以理解为以单位正交向量为标准,对向量场中的每个向量与单位正交向量求相似度。

 不管是通量还是相似度,都是标量,所以散度将一个向量场转换为标量场。

很显然,相同方向,模大小不同的向量对应的散度是不一样大小的;模大小相同,方向不同的向量,对应的散度也是不一样的。沿着x方向施加\sqrt 2的力,和沿着y=x方向施加相同大小的力,后者的散度更大。可见用力更分散到正交方向,散度更高,这可能也是叫散度的原因。

1.3 梯度的散度

特别地,求梯度和散度时使用相同的基向量,就可以把两步合二为一,这就是拉普拉斯算子:

现在再回过头来看拉普拉斯算子,表面上它是各个方向上二阶导之后求和,但实际却经历了梯度场的计算和散度的计算。

2. 拉普拉斯取0——边缘检测

下面是一个渐变的边缘检测示意图,分别可以用一阶和二阶算子计算边缘。

一阶的话,可以使用梯度的极值表示边缘;一阶导数通常会产生较宽的边缘。

二阶的话,可以使用拉普拉斯响应的过零点表示边缘

 现在尝试从散度的角度理解。梯度场方向都是向右,但是强度先是渐强,然后减弱。而对梯度场求散度后是先正后负:渐强的过程中二阶导数为正,减弱的过程正好相反。

散度是正的时,表示流出大于流入;散度是负的时,表示流入大于流出;散度是0时,表示“收支平衡”。平衡就意味着稳定,所以对图像求拉普拉斯算子,使它等于0的位置是“稳定点”,说明当前梯度的变化率为0,也就是二阶导为0。

在一阶微分里,我们是用|dx|+|dy|来近似一个点的梯度的,当图像旋转一个角度时,这个值就变化了,但对于Laplace算子来说不管图像怎么旋转,得到的响应是一样的。

2. 拉普拉斯取极值——斑点检测

斑点和边缘一样,也有从暗到亮或者从亮到暗的过渡。不同的边缘只在一个特定方向上有过渡,是斑点在各个径向上都有相同的变化,并且在同一个方向上斑点会经历两次方向相反的明暗变化:

斑点的这种性质使得斑点的拉普拉斯响应是两个对称的边缘响应构成的,如上图所示。而拉普拉斯响应的极大/极小值就对应了斑点的中心,所以拉普拉斯算子可以用于斑点检测。

[Athos' CV] Chapter3.局部特征-2: 尺度协变策略(SIFT前置Strategy)+斑点检测(Blob检测) - 知乎

3. 拉普拉斯滤波器

在图像处理领域,经常把函数加窗,离散化,得到滤波器模板,便于计算。

有限差分算子,可以由二阶导定义或者泰勒展开推导出。

需要说明的是,拉普拉斯滤波器模板与图像的卷积是拉普拉斯响应,结果有正负之分,为了显示还需要归一化到0~255。但归一化之后反而不太好找过零点了。

拉普拉斯滤波器本质是一个带通滤波器,因为平坦处响应为0,高频处响应也为0(过零点)。

4. 高斯拉普拉斯LoG

因为二阶导对噪声敏感,所以一般会先使用高斯模糊,然后再在平滑后的结果上使用拉普拉斯算子。高斯和拉普拉斯都是算子,根据卷积的结合律,可以提前计算高斯滤波的拉普拉斯响应,这样节约了计算量。

画出图像是墨西哥草帽:

墨西哥草帽和图像做相关就可以实现斑点检测(结合极大值的寻找),这就是SIFT检测的基本原理。结合离散拉普拉斯滤波算子可以看出,极大值处对应高亮背景中的黑点,极小值对应暗黑背景中的高亮点。LoG中的sigma则表示了斑点中的scale。

5. 差分高斯金字塔DoG

LoG可以使用DoG近似。DoG是不同的尺度因子,所以两个高斯滤波核中心会错位,二者做差就类似拉普拉斯中的左右或者上下做差。因为高斯滤波是低通,两个低通做差来近似拉普拉斯滤波器,也解释了拉普拉斯滤波器带通的性质。

6. 拉普拉斯金字塔

拉普拉斯金字塔是基于高斯金字塔得到的,拉普拉斯金字塔中每层是高斯金字塔图像做差得到的结果,而高斯做差就是前面提到的DoG。

拉普拉斯金字塔可以用于图像重建。重建的意义是恢复到原始状态,而一旦有了下采样再上采样就会有信息丢失,所以拉普拉斯其实提前记录了这一损失,这样就可以放心去下采样了。

除了重建,拉普拉斯金字塔还可以用在图像融合。其实就是在重建的过程中同时使用两个图像的拉普拉斯金字塔,因为在多尺度上进行,所以一般可以得到较好的融合效果。

融合多通道图时不能分通道融合,因为不同通道的频率信息不完全一致,融合结果会破坏颜色比例,导致最终的结果出现色差。同时在融合的过程中,差分图像的精度可能损失,在底图融合时mask精度不够会在融合极大值极小值的工程中插值出预期之外的值,在之后的融合过程中继续放大误差。

7. 拉普拉斯分布

拉普拉斯分布终于和拉普拉斯算子没什么关系了。看概率密度表达式,和高斯分布形式类似,都是e指数,不过指数部分从L2变成了L1.

事实上,L1,L2正则就是分别使用了拉普拉斯分布做先验和使用高斯分布做先验。

8. hessian矩阵

黑塞矩阵是二阶偏导组成的矩阵:

可以看到,拉普拉斯算子其实是黑塞矩阵的迹。迹是黑塞矩阵的一种属性,行列式也是一种属性。SURF算法就计算了黑塞矩阵的行列式来进行斑点检测。

reference:

https://www.plymouth.ac.uk/uploads/production/document/path/3/3744/PlymouthUniversity_MathsandStats_the_Laplacian.pdf

三大偏微分方程之首:拉普拉斯方程(1) - 知乎

基础篇2: 梯度、散度与旋度 - 知乎

高斯拉普拉斯算子(Laplacian of Gaussian, LoG) - 知乎

DoG和LoG算子 - 知乎

https://www.cse.psu.edu/~rtc12/CSE486/lecture11.pdf

Spatial Filters - Laplacian/Laplacian of Gaussian

https://www.cnblogs.com/imageshop/p/10620935.html

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值