- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
边缘检测算法在医学超声液性病变 像中的应用
医学超声液性病变图像多见数个无回声区,呈"蜂窝状",边界不清晰,为了清晰地提取医学超声液性病变图像的边缘,进一步为临床诊断提供可靠依据,在此将几种不同的边缘检测算法应用于医学超声液态病变图像中,经实验结果得出,经典的边缘检测算法不能很好地提取图像的边缘,而基于Snake模型的边缘检测算法,人为设定边缘控制点,智能动态调整曲线,获得了很好的边缘提取效果,具有很高的临床应用价值。
0 引言
鉴于医学图像可以看到人体组织的局部器官病变,所以医学成像成为疾病检查的重要手段,但由于设备、技术等原因,得到的医学图片边缘往往模糊不清,因此医学图像边缘检测是医学图像处理和分析的一个非常重要的分支。目前医学成像方法主要有:X光成像、核磁共振成像、超声成像以及正电子发射断层成像,其中,超声成像从成像成本、成像时间以及对病人的伤害等方面都显示出了它的优势,本文就以医学超声图像为例,对超声诊断中常见的液性病变图像进行边缘提取算法分析。
经典的边缘检测算子利用边缘处一阶或二阶导数来检测梯度变化情况,基本的微分检测算子有Roberts算子、Sobel算子、拉普拉斯算子和Canny算子等。近年来,随着数学理论和人工智能的发展,又出现了许多新的边缘检测方法,比如基于分数阶微分法、小波变换法、Snake模型法、模糊检测法、数学形态学法、神经网络法等。这些边缘检测方法最终目的都是检测出图像的边缘信息,但在解决特定特征图像时也显现出各自的优势和不足之处。所以,如何采用合适的技术对医学图像进行边缘提取,为临床医生提供更准确的病人数据是目前研究的一个热点。
本文首先对几种边缘检测方法进行分析,然后将其应用于超声液性病变图像的边缘提取中,得出不同的提取效果,与采用改进的Snake模型边缘提取算法进行比较,实验表明,基于Snake模型的边缘提取算法边缘提取效果较好。
1 边缘检测算法
边缘检测目的是要检测出图像中灰度变化的不连续区域,确定它们在图像中的精确位置,为后期的图像分析和处理提供信息,图像的边缘包含了物体形状的重要信息,主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础。图像边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。
1.1 基于一阶微分的边缘检测算法
图像中的边缘通常与图像强度或图像强度的一阶导数的不连续性有关。图像强度的不连续可分为:
(1)阶跃不连续,即图像强度在不连续处的两边的像素灰度值有着显著的差异;
(2)线条不连续,即图像强度突然从一个值变化到另一个值,保持一个较小的行程后又返回到原来的值。
在一维情况下,阶跃边缘同图像的一阶导数局部峰值有关。梯度是函数变化的一种度量,而一幅图像可以看作是图像强度连续函数的取样点阵列。因此,图像灰度值的显著变化可用梯度的离散逼近函数来检测。
梯度是一阶导数的二维等效式,定义为向量:
有2个重要的性质与梯度有关:
(1)向量G(x,y)的方向就是函数f(x,y)增大时的最大变化率方向;
(2)梯度的幅值由下式给出:
数字图像中,求导数是利用差分近似微分来完成的。根据模板的大小以及权值的不同,人们提出了很多梯度算子,比如Roberts算子、Sobel算子、Prewitt算子都是基于一阶微分的梯度经典算子。
1.1.1 Roberts算子
根据计算梯度原理,采用对角线方向相邻2像素之差得到的就是Reberts算子。Roberts算子是22模板的一阶微分算子,是一种斜向偏差分的梯度计算方法,梯度的大小代表边缘的强度,梯度的方向与边缘走向垂直,因此,Roberts梯度算子检测水平和垂直边缘的效果好,定位精度高,但容易丢失部分边缘。因为Roberts没进行平滑处理,对噪声较敏感,经常会出现孤立点。用该算子处理边缘陡峭度高且噪声小的图像效果较佳。
1.1.2 Sobel算子
Sobel算子是使用3 x 3模板的一阶微分算子,采用带权值的方法计算差分,是在Roberts算子的基础上将方向差分运算与局部平均结合起来的一种方法。Sobel算子以f(x,y)为中心的33的邻域上计算x和y方向上的偏导数Gx,Gy。利用像素上、下、左、右相邻点的灰度加权算法,根据在边缘点处达到极值进行边缘检测。Sobel算子很容易在空间上实现,对噪声具有较好的平滑作用,能提供比较准确的边缘方向信息,但定位精度不高,容易产生伪边缘,其测得边缘宽度一般至少为2个像素。但由于实际中很多情形下对定位精度的要求都不是很高,因此它是一种较为常用的边缘检测算子。
1.1.3 Prewitt算子
Prewitt和Sobel算子都是使用3×3模板的一阶微分算子,它们是在研究曲面拟合的基础上提出的。拟合是指已知某连续函数的一系列离散函数值,通过最小二乘法等准则来确定该函数中的待定系数。Prewitt和Sobel算子的2个差分模板的系数之间的区别仅在于求平均的方法不同。随后出现的Kirseh算子用不等权的8个3×3循环平均梯度算子分别与图像进行卷积,取其中的最大值输出,它可以检测各个方向上的边缘,减少了由于平均而造成的细节丢失,但同时增加了计算量。
1.2 基于二阶微分的边缘检测算法
前面讨论了基于一阶微分的边缘检测,如果所求的一阶微分高于某一阈值,则确定该点为边缘点。一阶微分组成的梯度是一种矢量,不但有大小还有方向,和标量比较,数据存储量比较大。一种更好的方法就是求梯度局部最大值对应的点,并认定它们是边缘点,通过去除一阶微分中的非局部最大值,可以检测出更精确的边缘。一阶微分的局部最大值对应着二阶微分的零交叉点,这意味着在边缘点处有一阶微分的峰值,同样地,有二阶微分的零交叉点。这样,通过找图像强度的二阶微分的零交叉点就能找到边缘点。
在二维空间,对应二阶微分有两种算子:Laplace算子和Marr算子。Laplace算子也称拉氏算子,它的特点是具有旋转对称性而不具备方向性,只需要一个3×3模板。Laplaee算子是对二维函数进行运算的二阶导数算子,与方向无关,对取向不敏感,因而计算量要小。根据边缘的特性,Laplace算子可以作为边缘提取算子,计算数字图像的Laplaee值可以借助模板实现,但是它对噪声相当敏感,它相当于高通滤波,常会出现一些虚假边缘。由于Laplace算子存在着诸多缺陷,它一般并不直接应用于边缘检测,而是结合其它方法以提高边缘的定位精度。而Marr算子就是在Laplace算子基础上改进,由于它使用的是高斯型的Laplace模板,因此又被称作LOG算子,先对图像用Gauss函数进行平滑,然后利用Laplace算子对平滑的图像求二阶导数后得到的零交叉点作为待选边缘。LOG算子就是对图像进行滤波和微分的过程,是利用旋转对称的LOG模板与图像做卷积,确定滤波器输出的零交叉位置。
1.3 Canny算子
Canny算子是最常用的边缘检测方法之一,是一个具有滤波、增强和检测的多阶段的优化算子。
该算法的基本过程如图1所示。