尺度空间理论的基本思想是:在图像信息处理模型中引入一个被视为尺度的参数,通过连续变化尺度参数获得多尺度下的尺度空间表示序列,对这些序列进行尺度空间主轮廓的提取,并以该主轮廓作为一种特征向量,实现边缘、角点检测和不同分辨率上的特征提取等。
尺度空间理论的特点是:将传统的单尺度图像信息处理技术纳入尺度不断变化的动态分析框架中,更容易获取图像的本质特征。尺度空间中各尺度图像的模糊程度逐渐变大,能够模拟人在距离目标由近到远时目标在视网膜上的形成过程。
高斯卷积核是实现尺度变换的唯一线性核。一幅图像的尺度空间可以定义为:
L
(
x
,
y
,
σ
)
=
G
(
x
,
y
,
σ
)
∗
I
(
x
,
y
)
L(x,y,\sigma) = G(x,y,\sigma) * I(x,y)
L(x,y,σ)=G(x,y,σ)∗I(x,y)
G ( x , y , σ ) = 1 2 π σ 2 e − ( x 2 + y 2 ) 2 σ 2 G(x,y,\sigma) = \frac{1}{2\pi \sigma^2}e^{\frac{-(x^2+y^2)}{2\sigma^2}} G(x,y,σ)=2πσ21e2σ2−(x2+y2)
其中符号"*"表示卷积操作。
σ是尺度空间因子,值越小表示图像被平滑的越少,相应的尺度也就越小。大尺度对应于图像的概貌特征,小尺度对应于图像的细节特征。
关于更多的高斯核信息。【请点击】
对于二维图像
I
I
I 的Hessian矩阵描述每个像素在主方向上的二维导数为:
H
=
[
I
x
x
I
x
y
I
y
x
I
y
y
]
H = \begin{bmatrix} I_{xx} & I_{xy}\\ I_{yx} & I_{yy} \end{bmatrix}
H=[IxxIyxIxyIyy]
根据尺度空间理论,二阶导数可以通过图像与高斯函数的卷积获得,例如,在点
(
x
,
y
)
(x,y)
(x,y) 处有
I
x
x
(
x
,
y
;
σ
)
=
{
∂
2
∂
x
2
G
(
x
,
y
;
σ
)
}
∗
I
(
x
,
y
)
G
(
x
,
y
;
σ
)
=
1
2
π
σ
2
e
−
(
x
2
+
y
2
)
2
σ
2
\begin{aligned} I_{xx}(x,y;\sigma)&=\left \{ \frac{\partial^2}{\partial x^2} G(x,y;\sigma)\right \} *I(x,y)\\ G(x,y;\sigma)&=\frac{1}{2\pi \sigma^2}e^{\frac{-(x^2+y^2)}{2\sigma^2}} \end{aligned}
Ixx(x,y;σ)G(x,y;σ)={∂x2∂2G(x,y;σ)}∗I(x,y)=2πσ21e2σ2−(x2+y2)
其中
G
(
x
,
y
;
σ
)
G(x,y;\sigma)
G(x,y;σ),为尺度
σ
\sigma
σ为的高斯函数。
可知:对全图直接做偏导操作可转换为对原图以特定的高斯核做卷积,对于图的Hessian运算将极大地降低计算量,同时提高运算速度。关于高斯函数请点击
根据定义求二阶矩阵的特征值,Hessian矩阵特征值的解:
令:
∣
λ
E
−
H
∣
=
0
|\lambda E - H| = 0
∣λE−H∣=0
并且根据图像的特性,可以得到:
I
x
y
=
I
y
x
I_{xy}= I_{yx}
Ixy=Iyx
带入以上方程得到Hessian的特征值的解:
I
x
x
+
I
y
y
±
(
I
x
x
−
I
y
y
)
2
+
4
(
I
x
y
)
2
2
\frac{I_{xx}+ I_{yy} \pm \sqrt{(I_{xx} - I_{yy})^2 + 4(I_{xy})^2}}{2}
2Ixx+Iyy±(Ixx−Iyy)2+4(Ixy)2
Hessian矩阵可以分解为两个特征值以及定义的特征向量。和
其中最大的绝对特征值表示最大的局部灰度变化,其特征向量则代表它方向,可以认为是切线方向;而较小的那个代表垂直方向,也就是法线方向。
这张图可以很好地表明切线和法线的概念。
增强算法(Frangi算法)原理
Hessian矩阵及其特征值能够很好地描述常见的几何形状的信息,我们将利用它进行血管增强;Hessian矩阵的简化算法将为我们代码化提供可能方法。我们主要基于最著名的"Frangi滤波"论文。
Frangi A F, Niessen W J, Vincken K L, et al. 《Multiscale vessel enhancement filtering》[C]//International Conference on Medical Image Computing and Computer-Assisted Intervention. Springer Berlin Heidelberg, 1998: 130-137.
Frangi论文基本原理
基于前面我们说明的”加速算法“,首先将血管在多尺度下进行Gaussian滤波处理,然后计算每个像素点的二阶导数构造Hessian矩阵,并且计算出两个特征值(这个地方在代码实现的时候有技巧)。得到了Hessian矩阵及其特征值,将求得的特征值带入事先建立好的血管相似性函数中获取在不同尺度下的滤波响应。当尺度和局部结构匹配时计算得到最大滤波响应,从而判断当前像素点是否属于目标结构。
为了尽可能地得到增强的效果,在论文中采用的是“多尺度”叠加的方法,具体来说就是采用不同的卷积核同时进行处理,得到多张处理效果,而后对结果中“着色”效果比较好的部分进行叠加。
代码
待续
四、参考文献:
Hessian矩阵以及在图像中的应用 https://blog.csdn.net/lwzkiller/article/details/55050275
血管分割技术文献综述 https://blog.csdn.net/u013102349/article/details/53819314
《基于Hessian矩阵和熵的CT序列图像裂缝分割方法》
数字图像处理之尺度空间理论https://blog.csdn.net/TJC3014583925/article/details/88836485>