matlab符号距离函数,一种用于水平集图像分割的快速符号距离函数计算方法

一种用于水平集图像分割的快速符号距离函数计算方法

【技术领域】

[0001] 本发明涉及一种用于水平集图像分割的快速符号距离函数计算方法。符号距离函 数计算是水平集图像分割技术中的关键步骤,常规计算方法非常耗时,影响图像分割效率。 本发明采用法线放射技术实现符号距离函数的快速计算,进而大大提高分割速度。

【背景技术】

[0002] 图像分割是图像处理中的一项关键技术,也是一经典难题,发展至今仍没有找到 一个通用的方法。常用的分割技术有基于阈值的分割方法、基于边界的分割方法、基于区域 的分割方法。基于水平集的分割方法是一种基于边界的分割方法,由于能够很好地处理拓 扑结构发生变化时产生的问题近年来成为图像分割中最大的研究热点。

[0003] 水平集图像分割方法是由Malladi等人阐述并发表。在水平集中,代表目标轮廓 的曲线由一个高维函数的零水平集表征,通过对高维函数的迭代运算渐进逼近目标轮廓。 这种算法避免了采用参数曲线去表征目标轮廓而且能够很好地处理拓扑结构发生变化时 产生的问题。水平集方法随后被广泛的研究,基于水平集的图像分割算法层出不穷。水平 集中最为常用的高维函数就是符号距离函数。符号距离函数如下定义:

其中表示点(x,y)与闭合曲线Ct间的距离。

[0004] 这一选择的优点是:由于距离函数具有如下基本性质:这意味着 &(h_v)的变化率处处都是均匀的,没有太多的坡地,也没有平原。这样将有利于数值计算 的稳定性。

[0005] 由于给定的曲线运动方程只是对于嵌入函数的零水平集成立,而不是对函数的所 有水平集成立,所以随着演化的的进行,u逐渐偏离了距离函数的性质远大于1的某 些局部就会出现尖峰或者深谷,_:||远小于1的局部就会出现平坦区。以致计算结果发生 误差,如果不加以纠正,这种误差就会逐渐增大,最终导致计算结果严重错误。为了让水平 集函数始终保持为符号距离函数,有必要在进行若干次蒙的更迭后,进行重新初始化。为此 符号距离函数在水平集初始化及演化过程中都需要计算。

[0006] 对于任意闭合曲线,直接计算符号距离函数的计算量较大。特别是对于大幅图像 来说,计算量更大。因此,如何快速准确地计算任意闭合曲线地符号距离函数,对于提高水 平集方法地效率和稳定性至关重要。

【发明内容】

[0007] 本发明的目的是提供一种用于水平集图像分割的快速符号距离函数计算方法,该 方法采用法线放射法快速生成距离值,该提取方法与传统提取方法相比,具有很高的实时 性。

[0008] 本发明的上述目的通过如下技术方案来实现的:一种用于水平集图像分割的快速 符号距离函数计算方法,它包括如下步骤: 1) 符号计算步骤,采用区域生长法确定区域内部和外部,从而得到距离符号值;内部 距离符号置负,外部距离符号置正; 2) 法线计算及射线延伸步骤,该步骤快速得到封闭曲线法线方向上的各点的距离值和 源点;计算封闭曲线上点S的法线方向,然后沿着点S的法线方向进行射线延伸,通过延伸 距离得到法线上所有点到S点的距离,同时将法线上所有点的源点设置为S点,我们将这种 计算距离的方法称为法线放射法,其流程图如图2所示;如果某个点是不同法线的交点,即 其存在多个源点,那么取离它距离最近的源点的距离,并保留该最近的源点;如图1所示中 的点P,图中有三条射线经过点P,分别对应三个源点Sl,S2和S3,显然P点离S1最近,故 将P点的源点设置为S1,距离为S1延伸到P点的距离; 3) 不在法线上的点的距离计算步骤,仅需遍历两次图像,可得到所有的点的距离值。经 过步骤2)后,图像中存在没有被放射线经过的点(这些点远离封闭曲线),自然这些点的距 离还没有得到。为得到这些点的距离,遍历整个图像,通过计算点与该点的四邻域点的源点 的距离值来得到这些点的距离值。如此遍历两次,可得到所有点的距离值。

[0009] 本发明所述先通过法线放射法快速得到图像中多数点的符号距离,再仅通过两次 遍历图像就能得到所有点的符号距离,大大降低处理时间,可以实现大尺寸图像实时处理 的要求。

[0010] 本发明所述法线计算及射线延伸步骤为将法线方向离散成8个方向,并根据不同 方向设置其射线延伸步长,根据延伸量来得到距离。

[0011] 与现有技术相比,具有以下有益效果: (1)本发明所涉及的法线放射法计算距离是通过法线延伸量来得到的距离,故计算时 只涉及到1次加法,相比采用欧式距离进行计算(涉及到两次减法,两次乘法,一次加法和 一次开方运算),速度要快很多。

[0012] (2)而本发明由于通过法线放射快速得到了图像中多数点的符号距离,故仅需两 次四邻域迭代计算就能得到所有点的符号距离,大大降低处理时间,可以实现大尺寸图像 实时处理的要求。本发明的完整距离计算的流程图如图3所示。相比而言常规的源点映 射扫描算法(其流程图如图4所示),是从封闭曲线逐层向外向内进行距离迭代计算,直到所 有点的距离计算完毕为止,由于其初始化时只得到了封闭曲线附近少数点的距离值,故没 有计算到的点数极多,因而迭代次数较多,耗时较长。以一个计算一个圆的符号距离函数为 例,假设图像大小为N*N,圆的半径为R,圆心和图像中心重合,常规源点映射扫描算法需要 采用N/2-R次遍历迭代才能计算完毕。

【附图说明】

[0013]图1为源点,法线放射示意图;带箭头的虚线为法线,封闭曲线上的实心点为源 点。

[0014] 正方形为图像边界,不同法线的交点表明,有些点存在多个源点。

[0015] 图2为法线放射法实现流程图。

[0016] 图3为本发明距离计算完整流程图。

[0017]图4为常规源点映射扫描方法距离计算完整流程图。

【具体实施方式】

[0018] -种快速符号距离函数计算方法,它包括如下步骤: 步骤1,从计算机硬盘中读入包含封闭曲线的图像,其中封闭曲线的点的像素值为1, 其他点的像素值为0。

[0019] 步骤2,采用区域生长法得到一个封闭曲线的内部和外部,内部距离符号置负,外 部距离符号置正。

[0020] 步骤3,计算封闭曲线的法线方向,并离散到0, 30,45,60,90,120,135,150度这 八个方向。

[0021] 步骤4,根据法线方向定义延伸步长,0,90度步长为:J|,45和135度步长为 ,30,60,120,150度步长为:_^,对于每个封闭曲线上的点(源点)以该步长分别进行 射线延伸到图像边界,通过计算步长来得到每条射线上的点到源点的距离,对于射线上的 每个点,记录其相应的源点;在进行射线延伸时,如果该射线经过的点已有源点存在,则其 存在多个源点,那么取离它距离最近的源点的距离,并保留该最近的源点。

[0022] 步骤5,计算没有延伸到的点的距离。首先将没有延伸到的点的距离值设为最大, 然后遍历整个图像,将某点P的距离值D1与周围四邻域的距离值的最小值Dm相比较,如果 Dm〈Dl,则采用欧式距离计算P点和Dm对应点的源点S之间的距离D2,如果D2〈D1,则P点 的距离值重新设为D2,源点设为S。如此遍历两次,可得到所有的点的距离值。

【主权项】

1. 一种用于水平集图像分割的快速符号距离函数计算方法,它包括如下步骤: 1) 符号计算步骤,采用区域生长法确定区域内部和外部,从而得到距离符号值; 2) 法线计算及射线延伸步骤,该步骤快速得到封闭曲线法线方向上的各点的距离值和 源点; 3) 不在法线上的点的距离计算步骤,仅需遍历两次图像,可得到所有的点的距离值。2. 根据权利要求1所述一种用于水平集图像分割的快速符号距离函数计算方法其特 征在于:先通过法线放射法快速得到图像中多数点的符号距离,再仅通过两次遍历图像就 能得到所有点的符号距离,大大降低处理时间,可以实现大尺寸图像实时处理的要求。3. 根据权利要求1所述一种用于水平集图像分割的快速符号距离函数计算方法,其特 征在于:法线计算及射线延伸步骤为将法线方向离散成8个方向,并根据不同方向设置其 射线延伸步长,根据延伸量来得到距离。

【专利摘要】本发明公开了一种用于水平集图像分割的快速符号距离函数计算方法,本方法主要先通过法线放射法快速得到图像中多数点的距离值,然后通过两次四邻域迭代比较计算得到法线未能放射到的点的距离。它包括1)计算符号值,采用区域生长法得到一个封闭曲线的内部和外部,内部距离符号置负,外部距离符号置正;2)计算封闭曲线上各点法线方向,根据不同方向设置延伸步长,以该步长沿着法线进行放射延伸快速得到图像中多数点的距离值;3)通过两次四邻域迭代比较计算得到法线未能放射到的点的距离。

【IPC分类】G06T7/00

【公开号】CN105427332

【申请号】CN201510972971

【发明人】江少锋, 艾信友, 陈震, 张聪炫

【申请人】南昌航空大学

【公开日】2016年3月23日

【申请日】2015年12月23日

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值