三维图像的海森矩阵

标签: 三维图像 海森矩阵 二阶偏导数 高斯函数


海森矩阵(Hessian matrix)


雅可比矩阵

在向量分析中,雅可比矩阵是一阶偏导数以一定方式排列成的矩阵, 其行列式称为雅可比行列式。

海森矩阵

数学中,海森矩阵(Hessian matrix)是一个自变量为向量的实值函数的二阶偏导数组成的方块矩阵(假设其二阶偏导都存在)。
H ( f ) = [ ∂ 2 f ∂ x 1 2 ∂ 2 f ∂ x 1 x 2 ⋯ ∂ 2 f ∂ x 1 x n ∂ 2 f ∂ x 2 x 1 ∂ 2 f ∂ x 2 2 ⋯ ∂ 2 f ∂ x 2 x n ⋮ ⋮ ⋱ ⋮ ∂ 2 f ∂ x n x 1 ∂ 2 f ∂ x n x 2 ⋯ ∂ 2 f ∂ x n 2 ] H(f)=\left[ \begin{matrix} \frac{\partial^2 f}{\partial x^2_1} & \frac{\partial^2 f}{\partial x_1x_2} & \cdots & \frac{\partial^2 f}{\partial x_1x_n} \\ \frac{\partial^2 f}{\partial x_2x_1} & \frac{\partial^2 f}{\partial x^2_2} & \cdots & \frac{\partial^2 f}{\partial x_2x_n} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial^2 f}{\partial x_nx_1} & \frac{\partial^2 f}{\partial x_n x_2} & \cdots & \frac{\partial^2 f}{\partial x^2_n} \\ \end{matrix} \right] H(f)=x122fx2x12fxnx12fx1x22fx222fxnx22fx1xn2fx2xn2fxn22f


高斯求导


前言

通过上述公式可知,求海森矩阵的过程实际上就是求二阶偏导的过程。卷积中有一个重要的性质:卷积的微分特性—两个函数相卷积后的导数等于其中一个函数的导数与另一个函数的卷积
d d t [ f 1 ( t ) ∗ f 2 ( t ) ] = d f 1 ( t ) d t ∗ f 2 ( t ) = f 1 ( t ) ∗ d f 2 ( t ) d t \frac{d}{dt}[f_1(t)* f_2(t)]=\frac{df_1(t)}{dt}* f_2(t)= f_1(t)*\frac{df_2(t)}{dt} dtd[f1(t)f2(t)]=dtdf1(t)f2(t)=f1(t)dtdf2(t)
证明如下:
d d t [ f 1 ( t ) ∗ f 2 ( t ) ] = d d t ∫ − ∞ ∞ f 1 ( τ ) ∗ f 2 ( t − τ ) d τ = ∫ − ∞ ∞ f 1 ( τ ) ∗ d d t f 2 ( t − τ ) d τ = f 1 ( t ) ∗ d f 2 ( t ) d t \frac{d}{dt}[f_1(t)* f_2(t)]=\frac{d}{dt}\int ^{\infty}_{-\infty} f_1(\tau)* f_2(t-\tau)d\tau = \int ^{\infty}_{-\infty} f_1(\tau)* \frac{d}{dt}f_2(t-\tau)d\tau =f_1(t)*\frac{df_2(t)}{dt} dtd[f1(t)f2(t)]=dtdf1(τ)f2(tτ)dτ=f1(τ)dtdf2(tτ)dτ=f1(t)dtdf2(t)
同理可证:
d d t [ f 1 ( t ) ∗ f 2 ( t ) ] = d d t ∫ − ∞ ∞ f 1 ( τ ) ∗ f 2 ( t − τ ) d τ = ∫ − ∞ ∞ d d t f 1 ( τ ) ∗ f 2 ( t − τ ) d τ = d f 1 ( t ) d t ∗ f 2 ( t ) \frac{d}{dt}[f_1(t)* f_2(t)]=\frac{d}{dt}\int ^{\infty}_{-\infty} f_1(\tau)* f_2(t-\tau)d\tau = \int ^{\infty}_{-\infty} \frac{d}{dt}f_1(\tau)* f_2(t-\tau)d\tau =\frac{df_1(t)}{dt}*f_2(t) dtd[f1(t)f2(t)]=dtdf1(τ)f2(tτ)dτ=dtdf1(τ)f2(tτ)dτ=dtdf1(t)f2(t)
故上述微分特性得证。
推广易得:
∂ 2 ∂ t 2 [ f 1 ( t ) ∗ f 2 ( t ) ] = ∂ 2 f 1 ( t ) ∂ t 2 ∗ f 2 ( t ) = f 1 ( t ) ∗ ∂ 2 f 2 ( t ) ∂ t 2 \frac{\partial^2}{\partial t^2}[f_1(t)* f_2(t)]=\frac{\partial^2f_1(t)}{\partial t^2}* f_2(t) = f_1(t)*\frac{\partial^2f_2(t)}{\partial t^2} t22[f1(t)f2(t)]=t22f1(t)f2(t)=f1(t)t22f2(t)

推导

根据上式,令 f 1 ( t ) f_1(t) f1(t)为高斯函数 G ( x , y , z ) = ( 1 2 π σ ) 3 e − x 2 + y 2 + z 2 2 σ 2 G(x,y,z)=(\frac{1}{\sqrt{2\pi}\sigma})^3e^{-\frac{x^2+y^2+z^2}{2\sigma^2}} G(x,y,z)=(2π σ1)3e2σ2x2+y2+z2 f 2 ( t ) f_2(t) f2(t)为三维图片 I ( x , y , z ) I(x,y,z) I(x,y,z),则有:
∂ 2 ∂ x 2 [ G ( x , y , z ) ∗ I ( x , y , z ) ] = ∂ 2 G ( x , y , z ) ∂ x 2 ∗ I ( x , y , z ) = G ( x , y , z ) ∗ ∂ 2 I ( x , y , z ) ∂ x 2 \frac{\partial^2}{\partial x^2}[G(x,y,z)* I(x,y,z)]=\frac{\partial^2G(x,y,z)}{\partial x^2}* I(x,y,z) = G(x,y,z)*\frac{\partial^2I(x,y,z)}{\partial x^2} x22[G(x,y,z)I(x,y,z)]=x22G(x,y,z)I(x,y,z)=G(x,y,z)x22I(x,y,z)
可知,只要求得了 ∂ 2 G ( x , y , z ) ∂ x 2 \frac{\partial^2G(x,y,z)}{\partial x^2} x22G(x,y,z),那么通过上式就可以得到 ∂ 2 I ( x , y , z ) ∂ x 2 \frac{\partial^2I(x,y,z)}{\partial x^2} x22I(x,y,z)为图像 I I I ( x , y , z ) (x,y,z) (x,y,z)点的对 x x x的二阶偏导。其他方向的二阶偏导同理可求。
到这里,求图像的二阶偏导转换成了求高斯函数的二阶偏导。


跳过。。跳过。。一系列的求导过程((٩(//̀Д/́/)۶))


得到以下高斯函数的二阶偏导:
∂ 2 G ( x , y , z ) ∂ x 2 = 1 ( 2 π σ ) 3 x 2 − σ 2 σ 4 e − x 2 + y 2 + z 2 2 σ 2 = x 2 − σ 2 ( 2 π ) 3 σ 7 e − x 2 + y 2 + z 2 2 σ 2 \frac{\partial^2G(x,y,z)}{\partial x^2}=\frac{1}{(\sqrt{2\pi}\sigma)^3}\frac{x^2-\sigma^2}{\sigma^4}e^{-\frac{x^2+y^2+z^2}{2\sigma^2}}=\frac{x^2-\sigma^2}{(\sqrt{2\pi})^3\sigma^7}e^{-\frac{x^2+y^2+z^2}{2\sigma^2}} x22G(x,y,z)=(2π σ)31σ4x2σ2e2σ2x2+y2+z2=(2π )3σ7x2σ2e2σ2x2+y2+z2
∂ 2 G ( x , y , z ) ∂ x ∂ y = 1 ( 2 π σ ) 3 x y σ 4 e − x 2 + y 2 + z 2 2 σ 2 = x y ( 2 π ) 3 σ 7 e − x 2 + y 2 + z 2 2 σ 2 \frac{\partial^2G(x,y,z)}{\partial x\partial y}=\frac{1}{(\sqrt{2\pi}\sigma)^3}\frac{xy}{\sigma^4}e^{-\frac{x^2+y^2+z^2}{2\sigma^2}}=\frac{xy}{(\sqrt{2\pi})^3\sigma^7}e^{-\frac{x^2+y^2+z^2}{2\sigma^2}} xy2G(x,y,z)=(2π σ)31σ4xye2σ2x2+y2+z2=(2π )3σ7xye2σ2x2+y2+z2
同理易得高斯函数 G ( x , y , z ) G(x,y,z) G(x,y,z) y 2 , z 2 , y x , x z , z x , y z , z y y^2,z^2,yx,xz,zx,yz,zy y2,z2,yx,xz,zx,yz,zy等方向的偏导。
可以发现:
∂ 2 G ( x , y , z ) ∂ x ∂ y = ∂ 2 G ( x , y , z ) ∂ y ∂ x \frac{\partial^2G(x,y,z)}{\partial x\partial y}=\frac{\partial^2G(x,y,z)}{\partial y\partial x} xy2G(x,y,z)=yx2G(x,y,z)
∂ 2 G ( x , y , z ) ∂ x ∂ z = ∂ 2 G ( x , y , z ) ∂ z ∂ x \frac{\partial^2G(x,y,z)}{\partial x\partial z}=\frac{\partial^2G(x,y,z)}{\partial z\partial x} xz2G(x,y,z)=zx2G(x,y,z)
∂ 2 G ( x , y , z ) ∂ y ∂ z = ∂ 2 G ( x , y , z ) ∂ z ∂ y \frac{\partial^2G(x,y,z)}{\partial y\partial z}=\frac{\partial^2G(x,y,z)}{\partial z\partial y} yz2G(x,y,z)=zy2G(x,y,z)
至此,高斯函数所有的二阶偏导已经求得,然后利用matlab中的convn函数进行三维空间内的卷积(参数选择same保证结果和图像一致),这也意味着黑森矩阵已经可以通过上述过程得到。

代码实现

%%  求高斯函数的二阶偏导数
%%  num为高斯核的大小
%%  sigma为高斯函数的方差
function [gau_xx,gau_yy,gau_zz,gau_xy,gau_xz,gau_yz]=gaus_creation_3D(num,sigma)

gau_xx=[];gau_yy=[];gau_zz=[];%初始化矩阵

gau_xy=[];gau_xz=[];gau_yz=[];%初始化矩阵

for i=1:1:2*num+1
    for j=1:1:2*num+1
        for k=1:1:2*num+1
            
            x=i-num-1;y=j-num-1;z=k-num-1;
            
            gau_xx(i,j,k)=1/power(sqrt(2*pi),3)*(-(sigma^2-x^2)/sigma^7)*exp(-(x^2+y^2+z^2)/2/sigma^2);
            gau_yy(i,j,k)=1/power(sqrt(2*pi),3)*(-(sigma^2-y^2)/sigma^7)*exp(-(x^2+y^2+z^2)/2/sigma^2);
            gau_zz(i,j,k)=1/power(sqrt(2*pi),3)*(-(sigma^2-z^2)/sigma^7)*exp(-(x^2+y^2+z^2)/2/sigma^2);
            
            gau_xy(i,j,k)=1/power(sqrt(2*pi),3)*(x*y/sigma^7)*exp(-(x^2+y^2+z^2)/2/sigma^2);
            gau_xz(i,j,k)=1/power(sqrt(2*pi),3)*(x*z/sigma^7)*exp(-(x^2+y^2+z^2)/2/sigma^2);
            gau_yz(i,j,k)=1/power(sqrt(2*pi),3)*(z*y/sigma^7)*exp(-(x^2+y^2+z^2)/2/sigma^2);
        end
    end
end
end

思考

关于最终的结果

∂ 2 ∂ x 2 [ G ( x , y , z ) ∗ I ( x , y , z ) ] = ∂ 2 G ( x , y , z ) ∂ x 2 ∗ I ( x , y , z ) = G ( x , y , z ) ∗ ∂ 2 I ( x , y , z ) ∂ x 2 \frac{\partial^2}{\partial x^2}[G(x,y,z)* I(x,y,z)]=\frac{\partial^2G(x,y,z)}{\partial x^2}* I(x,y,z) = G(x,y,z)*\frac{\partial^2I(x,y,z)}{\partial x^2} x22[G(x,y,z)I(x,y,z)]=x22G(x,y,z)I(x,y,z)=G(x,y,z)x22I(x,y,z)式中可知最后的结果其实是图像的二阶偏导和高斯函数的卷积,并不只是单纯的图像二阶偏导。高斯函数在图像处理中常用于去除高斯噪声,它具有良好的低通滤波效果,一般在检测边缘之前常用高斯卷积来移除图像一些细节以及噪声。所以事实上,这里的卷积不会影响图像整体的结构,而且一定程度上对图像进行了去噪使图像质量更好(当然不可否认的是损失了一些图像细节),如果是利用海森矩阵进行三维图像的线性结构或是面结构的检测,那么一定程度的去噪以及平滑处理将可能得到更好的结果。


以上。(づ●─●)づ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值