卷积核

您所在的位置:网站首页 图像锐化卷积核 卷积核

卷积核

2023-10-02 07:06| 来源: 网络整理| 查看: 265

文章目录 一、算子推导过程1.1 梯度和Roberts算子:1.2 Prewitt:1.3 Sobel算子1.4 Lapacian算子: 二、图像特征复杂算子高斯拉普拉斯算子(LoG,LaplacianofGaussian)对于图像 I(x,y):高斯函数差分(DoG, Difference of Gaussian of Gaussian)

图像处理卷积核——算子

在对图像的操作,我们采用模板对原图像进行卷积运算,从而达到我们想要的效果。而获取一幅图像的梯度就转化为:模板(Roberts、Prewitt、Sobel、Lapacian算子)对原图像进行卷积。

一、算子推导过程

知识引入: 在一维连续数集上有函数f(x),我们可以通过求导获得该函数在任一点的斜率,根据导数的定义有: f ′ ( x ) = f ( x + Δ x ) − f ( x ) f'(x) = f(x+\Delta x) - f(x) f′(x)=f(x+Δx)−f(x) 在二维连续数集上有函数f(x,y),我们也可以通过求导获得该函数在x和y分量的偏导数,根据定义有: ∂ f ( x , y ) ∂ x f ( x + Δ x , y ) − f ( x , y ) \frac{\partial f(x,y)}{\partial x} f(x+\Delta x,y) - f(x,y) ∂x∂f(x,y)​f(x+Δx,y)−f(x,y)

∂ f ( x , y ) ∂ y f ( x , y + Δ y ) − f ( x , y ) \frac{\partial f(x,y)}{\partial y} f(x,y+\Delta y) - f(x,y) ∂y∂f(x,y)​f(x,y+Δy)−f(x,y)

1.1 梯度和Roberts算子:

对于图像来说,是一个二维的离散型数集,通过推广二维连续型求函数偏导的方法,来求得图像的偏导数,即在(x,y)处的最大变化率,也就是这里的梯度: g x = ∂ f ( x , y ) ∂ x f ( x + 1 , y ) − f ( x , y ) g_x = \frac{\partial f(x,y)}{\partial x} f(x+1,y) - f(x,y) gx​=∂x∂f(x,y)​f(x+1,y)−f(x,y)

g y = ∂ f ( x , y ) ∂ y f ( x , y + 1 ) − f ( x , y ) g_y = \frac{\partial f(x,y)}{\partial y} f(x,y+1) - f(x,y) gy​=∂y∂f(x,y)​f(x,y+1)−f(x,y) 梯度是一个矢量,则(x,y)处的梯度表示为: ∇ f ≡ g r a d ( f ) ≡ [ g x , g y ] T = [ ∂ f ∂ x , ∂ f ∂ y ] T ∇f \equiv grad(f) \equiv[g_x,g_y]^T = \begin{bmatrix} \frac{\partial f}{\partial x},\frac{\partial f}{\partial y} \end{bmatrix}^T ∇f≡grad(f)≡[gx​,gy​]T=[∂x∂f​,∂y∂f​​]T

其大小为: M ( x , y ) = m a g ( ∇ f ) = g x 2 + g y 2 M(x,y) = mag(∇f)=\sqrt{g_x^2+g_y^2} M(x,y)=mag(∇f)=gx2​+gy2​ ​ 这里写图片描述 22大小的模板在概念上很简单, 但是他们对于用关于中心点对称的模板来计算边缘方向不是很有用, 其最小模板大小为33。3*3模板考虑了中心点对段数据的性质,并携带有关于边缘方向的更多信息。

1.2 Prewitt:

这里写图片描述

1.3 Sobel算子

Sobel算子是在Prewitt算子的基础上改进的,在中心系数上使用一个权值2,相比较Prewitt算子,Sobel模板能够较好的抑制(平滑)噪声。 在这里插入图片描述 为了工程化,减少计算量使用近似值计算公式,即实际梯度计算公式: 在这里插入图片描述

上述所有算子都是通过求一阶导数来计算梯度的,用于线的检测,在图像处理中,通常用于边缘检测。在图像处理过程中,除了检测线,有时候也需要检测特殊点,这就需要用二阶导数进行检测。

1.4 Lapacian算子:

这里写图片描述

模板中心位置的数字是-8而不是-4,是因为要使这些系数之和为0,当遇到恒定湖对区域时,模板响应应将0。(如下图1) 用lapacian算子图像进行卷积运算时,当响应的绝对值超过指定阈值时,那么该点就是被检测出来的孤立点,具体输出如下: (如下图2) 这里写图片描述

二、图像特征复杂算子

DoG(Difference of Gaussian)算子和LoG(Laplacian of Gaussian)算子是常用的极值点检测(Blob Detection)两种方法,高斯卷积是为了进行尺度变换。

由于Laplace算子对噪声很敏感,所以一般利用高通滤波器进行平滑处理,所以引入了高斯拉普拉斯算子(LoG,Laplacian of Gaussian)

高斯拉普拉斯算子(LoG,LaplacianofGaussian)对于图像 I(x,y): 首先通过尺度为 σ \sigma σ 的高斯平滑 G σ ( x , y ) = 1 2 π σ 2 exp ⁡ ( − x 2 + y 2 2 σ 2 ) G_\sigma (x,y) = \frac{1}{\sqrt{2\pi \sigma^2 }}\exp\left ( -\frac{x^2+y^2}{2 \sigma^2} \right ) Gσ​(x,y)=2πσ2 ​1​exp(−2σ2x2+y2​)再使用Laplace算子检测边缘: Δ [ G σ ( x , y ) ∗ I ( x , y ) ] = [ Δ G σ ( x , y ) ] ∗ I ( x , y ) \Delta [G_\sigma (x,y)*I(x,y)] =[ \Delta G_\sigma (x,y)] * I(x,y) Δ[Gσ​(x,y)∗I(x,y)]=[ΔGσ​(x,y)]∗I(x,y) 证明如下: d d t 2 [ h ( t ) ∗ f ( t ) ] = d d t ∫ f ( τ ) h ( t − τ ) d τ = ∫ f ( τ ) d d t 2 h ( t − τ ) d τ = f ( t ) ∗ d d t 2 h ( t ) \begin{aligned} \frac{d}{dt^2}[h(t)*f(t)]&=\frac{d}{dt} \int f(\tau )h(t- \tau)d \tau \\ &=\int f(\tau )\frac{d}{dt^2}h(t- \tau)d \tau \\ &=f(t)*\frac{d}{dt^2}h(t) \end{aligned} dt2d​[h(t)∗f(t)]​=dtd​∫f(τ)h(t−τ)dτ=∫f(τ)dt2d​h(t−τ)dτ=f(t)∗dt2d​h(t)​总而言之:高斯拉普拉斯算子等价于先对高斯函数求二阶导,再与原图进行卷积。 将高斯拉普拉斯算子展开: L o G = Δ G σ ( x , y ) = ∂ 2 Δ G σ ( x , y ) ∂ x 2 + ∂ 2 Δ G σ ( x , y ) ∂ y 2 = x 2 + y 2 − 2 ∂ 2 σ 4 exp ⁡ ( − ( x 2 + y 2 ) 2 σ 2 2 ) \begin{aligned} LoG = \Delta G_\sigma (x,y) &=\frac{\partial^2 \Delta G_\sigma (x,y)}{\partial x^2}+\frac{\partial^2 \Delta G_\sigma (x,y)}{\partial y^2} \\ &=\frac{x^2+y^2-2\partial^2}{\sigma^4}\exp \left ( -\frac{(x^2+y^2)}{2\sigma_2^2} \right ) \end{aligned} LoG=ΔGσ​(x,y)​=∂x2∂2ΔGσ​(x,y)​+∂y2∂2ΔGσ​(x,y)​=σ4x2+y2−2∂2​exp(−2σ22​(x2+y2)​)​ 高斯函数差分(DoG, Difference of Gaussian of Gaussian)

DoG即对不同尺度下的高斯函数的差分,DoG算子表达如下: D o G = Δ G σ 1 − Δ G σ 2 = 1 2 π [ 1 σ 1 exp ⁡ ( − ( x 2 + y 2 ) 2 σ 1 2 ) − 1 σ 2 exp ⁡ ( − ( x 2 + y 2 ) 2 σ 2 2 ) ] DoG = \Delta G_{\sigma 1}- \Delta G_{\sigma 2} = \frac{1}{\sqrt{2\pi}} \left [ \frac{1}{\sigma_1} \exp \left ( -\frac{(x^2+y^2)}{2\sigma_1^2} \right) - \frac{1}{\sigma_2} \exp \left ( -\frac{(x^2+y^2)}{2\sigma_2^2} \right) \right ] DoG=ΔGσ1​−ΔGσ2​=2π ​1​[σ1​1​exp(−2σ12​(x2+y2)​)−σ2​1​exp(−2σ22​(x2+y2)​)]

由于归一化的LoG算子: L n o r m = σ 2 [ G x x ( x , y , σ ) + G y y ( x , y , σ ) ] = σ ∂ G ∂ σ L_{\rm norm} = \sigma^2 \left [ G_{xx}(x,y,\sigma ) + G_{yy}(x,y,\sigma ) \right ] = \sigma\frac{\partial G}{\partial \sigma } Lnorm​=σ2[Gxx​(x,y,σ)+Gyy​(x,y,σ)]=σ∂σ∂G​

而: ∂ G ∂ σ ≈ G ( x , y , k σ ) − G ( x , y , σ ) k σ − σ \frac{\partial G}{\partial \sigma } \approx \frac{G(x,y,k\sigma)-G(x,y,\sigma)}{k\sigma-\sigma} ∂σ∂G​≈kσ−σG(x,y,kσ)−G(x,y,σ)​

所以: G ( x , y , k σ ) − G ( x , y , σ ) ≈ ( k − 1 ) σ 2 ∇ 2 G \bm {G(x,y,k\sigma)-G(x,y,\sigma) \approx (k-1)\sigma^2 \nabla^2G} G(x,y,kσ)−G(x,y,σ)≈(k−1)σ2∇2G

即DoG算子和LoG算子具有类似的波形,仅仅是幅度不同,不影响极值点的检测,而DoG算子的计算复杂度显然低于LoG,因此一般使用DoG代替LoG算子。 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3