精华内容
下载资源
问答
  • 血管分割

    2019-12-27 22:15:21
  • 基于Hessian的冠状动脉血管造影分割方法
  • 分割眼球图片血管部分,与标定图对比,该算法实现率在75%-80%
  • 眼睛血管分割matlab版本

    千次阅读 热门讨论 2019-10-27 20:37:14
    matlab的代码仅供参考,实现过程基本按照python版本的眼睛血管分割来实现。其中,python版本眼睛血管分割详见:https://blog.csdn.net/qq_40511157/article/details/102770108 clc; clear all; close all; image=...

    matlab的代码仅供参考,实现过程基本按照python版本的眼睛血管分割来实现。其中,python版本眼睛血管分割详见:眼睛血管分割python版

    clc;
    clear all;
    close all;
    image=imread('D:\test_DRIVE\06_test.tif');    %导入图片
    %% 1.选取绿色通道
    imager = image(:,:,1);%红
    imageg = image(:,:,2);%绿
    imageb = image(:,:,3);%蓝
    
    figure;
    subplot(131);imshow(imager);title('红色通道');
    subplot(132);imshow(imageg);title('绿色通道');
    subplot(133);imshow(imageb);title('蓝色通道');
    
    %% 2.自适应直方图均衡
    figure;
    subplot(121);  
    H1=adapthisteq(imageg);  
    imshow(H1); title('adapthisteq均衡后图');  
    subplot(122);  
    imhist(H1);title('adapthisteq均衡后直方图');  
    
    %% 3.匹配滤波
    sigma=2;       %改变血管粗细。             ---->这是影响最终效果的第1个因素。
    yLength=14;      %L越大,平滑效果越明显    ---->这是影响最终效果的第2个因素。
    direction_number=21;
    MF = MatchFilter(H1, sigma, yLength,direction_number); %光均衡化的结果-->匹配滤波
    mask=[0 0 0 0 0;  
        0 1 1 1 0;
        0 1 1 1 0;
        0 1 1 1 0;
        0 0 0 0 0;];
    MF(mask==0) = 0;
    MF = normalize(double(MF));
    features = MF;      %匹配滤波的效果图
    figure;
    subplot(221);
    imshow(features*3);
    title('匹配滤波');
    
    % 通过函数imadjust()调整灰度图像灰度范围
    im_adjust=imadjust(features,[0.15 0.5],[0 1]);  %调整灰度范围---->这是影响最终效果的第3个因素。
    subplot(222);imshow((im_adjust));
    title('imadjust()调整灰度图像灰度');
    
    %二值化
    threshold2 = graythresh(im_adjust)
    binary_data1 = im2bw(im_adjust,threshold2);%对图像进行二值化
    subplot(223);
    imshow(binary_data1);
    title('二值图');
    
    %% 4.去轮廓操作:最好的操作匹配滤波后加上gabor滤波,那样才是最完美的,可惜实现不了。
    img = imread('C:\05_test.tif');
    img = rgb2gray(img);
    [m n] = size(img);
    img_hist = zeros(1,256);
    for i = 1:m
        for j = 1:n
            img_hist(img(i, j)+1) = img_hist(img(i, j)+1) + 1;
        end
    end
    img_hist_pro = img_hist/m/n;         %灰度级概率密度分布
    sigma2_max = 0;threshold = 0;
    for t = 0:255
        w0 = 0;w1 = 0; u0 = 0; u1 = 0; u = 0;
        for q = 0:255
            if q <= t
                w0 = w0 + img_hist_pro(q+1);
                u0 = u0 + (q)*img_hist_pro(q+1);
            else
                w1 = w1 + img_hist_pro(q+1);
                u1 = u1 + (q)*img_hist_pro(q+1);
            end
        end
        u = u0 + u1;
        u0 = u0 / (w0+eps);
        u1 = u1 / (w1+eps);
        sigma2 = w0 * (u0 - u)^2 + w1 * (u1 - u)^2;     %求取类间最小
        if (sigma2 > sigma2_max)
            sigma2_max = sigma2;
            threshold = t;
        end
    end
    img_out = img;
    for i = 1:m                                         %阈值化
        for j = 1:n
            if img(i, j) >= threshold;
                img_out(i, j) = 255;
            else 
                img_out(i, j) = 0;
            end
        end
    end
    
    figure;
    subplot(221);
    imshow(img_out);
    title('获得掩膜');
    
    new_img = imsubtract(features,double(img_out));
    subplot(222);
    imshow(new_img);
    title('轮廓灰度图');
    
    threshold = graythresh(new_img)
    SE=strel('disk',6);      %用于膨胀,这个不要随便改,因为要消除test图片的轮廓智能值么大了,否则消除不干净。
    new_img=imdilate(new_img,SE); %中值滤波之后,膨胀
    subplot(223);
    binary_data2 = im2bw(new_img,threshold);%对图像进行二值化,手动调参
    imshow(binary_data2);
    title('轮廓二值图');
    
    binary_data = binary_data1-binary_data2;%
    subplot(224);
    imshow(binary_data);
    title('最终的二值图');
    
    %% 5.图像处理:去噪声点;断点连续;腐蚀膨胀等
    result = medfilt2(binary_data,[2 2]);
    figure;
    subplot(121);
    imshow(result);
    title('中值滤波');
    
    % SE=strel('disk',1);      %用于膨胀
    % img_out=imdilate(result,SE); %中值滤波之后,膨胀
    % subplot(122);imshow(img_out);title('膨胀');
    

    matlab相关.m文件已经放到百度云盘:链接:https://pan.baidu.com/s/15GzobsF0uwBN-6ieILjWcQ
    提取码:prt5

    眼睛血管测试图片:
    链接:https://pan.baidu.com/s/1y02leAk8d87A7H7sDmHP2g
    提取码:b9hc

    展开全文
  • 眼底视网膜血管训练集,有手工分割和掩膜图像
  • 再将所得到的两个预测图进行融合,对融合后的图像去除伪影和噪声,得到最终的血管分割图。由于单独对细血管进行了分割,因此所提方法可以更有效地分割出一些难以识别的视网膜血管边缘和低对比度区域的细血管像素。实验...
  • 使用Morlet小波进行视网膜血管分割
  • 血管分割算法总结

    万次阅读 多人点赞 2018-03-03 16:43:29
    之前有5篇涉及眼底血管分割的博文,包括基于Hessian矩阵的Frangi算法,基于PCA的算法,匹配滤波算法,自适应对比度增强算法,当然还有其他的方法,目前来看,并没有一种完美的算法,即适应于所有不同成像方式,不同...

    之前有5篇涉及眼底血管分割的博文,包括基于Hessian矩阵的Frangi算法基于PCA的算法匹配滤波算法自适应对比度增强算法,当然还有其他的方法,目前来看,并没有一种完美的算法,即适应于所有不同成像方式,不同部位血管的分割方法,本篇结合一篇博士论文:<<冠状动脉造影图像的分割方法研究>>进行总结。

    血管分割技术分类 :



    阈值分割

    阈值分割是最常见的并行的直接检测区域的分割方法,同时也是最简单的分割方法。这种方法一般都对图像有一定的假设,假设图像的目标和背景占据不同的灰度级范围,在目标和背景内部的相邻像素间的灰度值差异较小,但在目标和背景交界处两边的像素在灰度值上有较大的差别。如果选取一个适当的灰度阈值T ,然后将图像中每个像素的灰度值与该阈值T 相比较,根据比较结果可以将像素分为两类:像素的灰度值大于阈值的为一类,它们被赋值 1;像素的灰度值小于阈值的为另一类,它们被赋值 0,这样就得到了一幅二值图像,并把目标从背景中提取出来.通常根据先验知识确定分割门限,也可以利用灰度直方图特征和统计判决方法确定。
    图像的灰度直方图会呈现双峰一谷状。两个峰值分别对应于目标的中心灰度和背景的中心灰度,边界点位于目标周围,其灰度介于目标灰度和背景灰度之间,因此边界的灰度对应着双峰之间的谷点。为了使像素错分的概率达到最小,将谷点的灰度作为分割门限。由于直方图的参差性,直方图的谷值很难确定,需要设计特定的方法进行搜索。目前,有很多的方法可以确定最优阈值(谷底),如求取高斯模型参数的方法、对直方图曲线拟合求极值的方法等。
    如果分割阈值仅依据像素的灰度级确定,则得到的阈值是基于点相关的;如果分割阈值是由每个像素的局部邻域特性所决定,则得到的门限是基于区域相关的。基于点相关的常用阈值分割方法有最大类间方差法、直方图凹形分析法、矩不变门限法及最大熵法等.基于区域相关的阈值分割方法有松弛法、基于二阶灰度统计的方法、直方图转换法及基于过渡区提取的方法等。
    基于阈值的分割方法具有计算简单、运算效率高的优点。但是这类方法没有考虑空间特性,对噪声和灰度多样性敏感,对目标和背景灰度差异不明显的图像很难得到准确的分割阈值。在实际应用中,通常与其他图像分割方法配合使用,才能取得满意的效果。文献[55]由时飞磁共振血管造影图像中提取血管时,提出一个基于血流物理模型的统计模型。为了提高血管的分割能力,将 PCA 的速度和相位信息进行融合,分别采用自适应局部阈值方法和单一全局阈值方法分割两种不同的统计模型,使其附近信号非常低的动脉瘤取得较好的分割效果。文献[56]将局部阈值和全局阈值结合起来,对脑血管图像进行三维重建,使用局部阈值可以增强小血管的对比度,使用全局阈值可以将目标血管从背景中提取出来。

    边缘检测

    边缘检测是一种基于灰度不连续性的并行边界分割技术,是所有基于边界分割方法的第一步。因为边缘是目标和背景的分界线,提取出边缘才能将目标和背景区分开来。边缘检测一般利用目标和背景在某种特性上存在差异来实现,如灰度、颜色、纹理等特征。检测边缘一般常用一阶或二阶导数来完成,但在实际的数字图像中求导是利用差分运算近似代替微分运算.图像中处于边缘两侧的点,其灰度值发生突变,所以这些点将具有较大的微分值,当微分的方向和边界垂直时,微分值最大。可见,微分是有方向性的运算,用于测量微分方向上灰度级的变化。

    梯度算子

    梯度对应一阶导数,在边缘灰度值过渡比较尖锐.且图像中噪声比较小时,梯度算子工作效果较好。公式中的偏导数需要对图像中每个像素位置计算,在实际应用中,常用小区域模板卷积来计算梯度。构成一个梯度算子需要两个模板。根据模板的大小以及系数值的不同,人们提出不同的算子.其中 Sobel 算子是先对灰度做加权平均然后再微分,所以它的效果最好。

    拉普拉斯算子

    拉普拉斯算子是一种二阶导数算子.它通过寻找图像灰度值的二阶微分中的过零点来检测边缘点。在数字图像中,计算函数的拉普拉斯值一般也是借助各种模板实现。对模板的基本要求是对应中心像素的系数是正的,而对应中心像素邻近像素的系数是负的,而且它们的和应该是零。拉普拉斯算子一般不以其原始形式用于边缘检测,主要是由于存在以下原因:作为一个二阶导数,拉普拉斯算子对噪声具有无法接受的敏感性;拉普拉斯算子的幅值产生双边缘,这是复杂的分割不希望有的结果;另外拉普拉斯算子不能检测边缘的方向。由于以上原因,拉普拉斯算子在分割中所起的作用包括两个:一是利用它零交叉的性质进行边缘定位;二是确定一个像素是在一条边缘暗的一边还是亮的一边。
    对第一类作用,拉普拉斯算子与平滑过程一起利用零交叉的性质确定边缘的位置。可以将图像与2-D 高斯函数的拉普拉斯相卷积.这个公式一般叫做高斯型的拉普拉斯算子(Laplacian of a Gaussian,LoG).高斯型的拉普拉斯算子常被称为墨西哥草帽。可以看出 LoG 函数是一个轴对称函数.可以证明这个算子的平均值为零,如果将它与图像卷积不会改变图像的整体动态范围。但它与图像卷积会模糊图像,并且其模糊程度是正比于σ 值的。

    图搜索

    基于边缘检测的方法得到的通常是一些不连续的点或线段,要想使这些点或线段有意义,必须采用其他方法将它们连接成连续的闭合的边界。通常可以采用霍夫变换、边界跟踪或图搜索等方法。边界跟踪的方法只利用图像的局部信息连接边界,所以受噪声的影响较大。霍夫变换虽然具有抗噪声的性能,但它只能于检测已知形状的目标,如直线或圆,对未知形状的目标无法检测。用图形方式表达边缘线段连接的方法,通常称为图搜索法.这种方法将边界点和边界段用图结构表示,通过在图中搜索对应最小代价的通道来找到闭合边界。图搜索法是一种全局的方法,它在图像受噪声影响较大时效果仍较好,其缺点是计算量较大。
    一般寻找最小代价通路问题就计算来看是很重要的。实际中常用的最短路径算法是 Dijkstra 搜索算法和动态规划算法,Dijkstra 算法的搜索速度比较慢,但是可以得到最优解;动态规划算法借助了一些启发式知识,虽然加快了搜索速度,但不能保证得到最优解。

    尺度空间分析

    尺度空间分析的理论思想是对原始图像进行多尺度变换,得到图像多尺度下尺度空间表示序列,从粗到细提取图像的轮廓。传统的尺度空间理论将 Gaussian 基函数看作是唯一的尺度空间基函数,要求尺度空间满足两个性质:一个是因果性;另一个是均匀性和对称性。尺度空间可以通过传导方程得到,通过将 Gaussian 基函数与原始图像卷积可以得到尺度图像。
    非线性尺度空间的提出使尺度空间理论得到进一步的发展,多尺度图像可以利用各向异性传导系数和传导方程来构造。利用一个局部区域内部的热传导系数和局部区域之间的热传导系数不同,就可以在保持区域边缘的同时,使局部区域的内部得到平滑.
    可利用多尺度理论进行图像增强。通过多尺度滤波,血管像素的灰度值将被提升,而背景像素的灰度值将被压制,从而使图像得到增强。在多尺度滤波中,每幅图像在不同的尺度下与一系列高斯滤波模板进行卷积,然后分析每个像素的 Hessian 矩阵特征值,以此判断该像素属于血管还是背景。增强的图像可以被直接显示出来,也可以采用图像分割方法进行分割。

    基于模型的方法

    在基于模型的方法中,对要分割的血管结构首先要给出明确的血管模型。常用的一种模型为活动轮廓模型,这种模型是定义在图像区域中的曲线或曲面,因为曲线的移动类似于蛇,因而又叫“蛇线”模型.该模型在内力和外力的共同作用下,不断发生变形,当模型在内力和外力的作用下达到平衡时,就得到了物体的边界。物体的边界也可以通过能量最小法来确定,这种模型的能量一般包括两种类型:一种为内部能量项,另一种为外力能量项。前者描述内在势力在形变过程中产生的影响,内在势力主要指形变曲线自身的几何性质等,可以用两种不同的几何特征来描述,即曲线的弧 长和曲线的曲率参数。内力使边界分段光滑,由像素与其周围点的关系决定。后者描述的是外在势力对曲线形变的影响,外在势力指与形变曲线本身几何性质无关的图像特征等,一般用与图像本身有关的信息进行描述,主要是基于灰度分布和基于梯度的变形模型。外力使得“蛇”接近实际的图像特征,如线或边缘。变形过程就是这两种力量的彼此消长的过程,最后达到平衡或者满足约束条件。
    根据给出模型方式的不同,可以分为参数变形模型和几何变形模型.在变形过程中,参数变形模型的曲线或曲面以显示参数的形式表达,这种表达方式表达紧凑,变形过程中可以与模型直接交互,利于实现模型的快速和实时。但是难于处理曲线的分裂或溶化等情况,而这些是在变形过程中常出现的拓扑结构变化。几何变形模型基于水平集和曲线演化理论,其对于拓扑结构的变化可以应对自如,利用高维标量函数的水平集以隐式方式表达曲线或曲面。两种模型的表达方式虽然不同,但所遵循的变形思想是相似的。
    近几年几何变形模型在水平集框架中得到广泛的应用,由于其处理拓扑结构变化的超强能力,使其在复杂血管的自动分割方面显示了无比的优势。文献[73]利用水平集方法实现曲线的演化,与传统形变模型不同的是,该方法提出的水平集描述依赖于时间的运动界面,灵活性较大,可以很容易的描述裂缝、空洞及重叠等复杂的表面模型。为了提供复杂的外型,这些模型可以合并许多的自由度。在水平集方法中,经过重大的变形后,模型不需要重新设置参数。文献[74]在分割冠脉 DSA 图像时应用水平集理论,取得较理想的分割结果。实验表明基于边界的方法准确率为 88.38%,基于区域的方法准确率达到 94.3%。 


    Dehmeshki J, Amin H, Valdivieso M, et al. Segmentation of pulmonary nodules in thoracic CT scans: a region growing approach [J]. IEEE Transactions on Medical
    Imaging, 2008, 27(4): 467-480.
    Brieva J, Gonzalez E, Gonzalez F, et al. A level set method for vessel segmentation incoronary angiography [C]. Conf Proc IEEE Eng Med Biol Soc, 2005, 6: 6348-6351.
    参数变形模型方法用参数表达待分割的血管模型,一般预先假定一个参数化的固定拓扑结构的表面。模型在一定的条件控制下变形,接近实际的血管结构。在血管分析中使用最多的是椭圆模型,将血管看作一系列相互重叠的椭圆曲线,通过对血管图像的估计确定血管模型的参数,血管中心线参数化的圆柱或者线形形状是经常被用到的。文献[78]在从血管造影图像中分割血管时采用改进的模拟退火算法,对图像中的正常血管和病变血管使用椭圆曲线进行模拟。实际的血管和分支利用初始血管的形变来逼近,整个血管的变形过程用改进的模拟退火算法来控制。该算法对正常血管和病变部位都取得较好的分割结果。

    结合特定理论和工具的分割算法

    常用的结合特定理论和工具的分割算法有:基于数学形态学、基于神经网络、基于小波理论等。

    基于数学形态学的方法

    基于数学形态学的分割方法,其基本原则是利用具有一定形态的结构元素对图像进行基本操作,以达到对图像分析和识别的目的。数学形态学的基本运算有膨胀(dilation)和腐蚀(erosion),以及它们组合形成的开运算(opening)和闭运算(closing).开运算是先腐蚀后膨胀,闭运算是先膨胀后腐蚀。各种运算对图像的处理都各具特点,膨胀使图像扩大而腐蚀使图像缩小。开运算和闭运算都能使图像的轮廓变得平滑,但两种运算的作用相反,开运算能断开狭窄的间断,消除细的突出物;闭运算能消除图像中小的孔洞,填补轮廓线中的断裂,并将狭窄的缺口和细长的鸿沟合并。结合图像的具体特征,可根据这些基本运算进行推导和组合不同的数学形态学算法,用于对图像形状和结构进行处理和分析,如边缘检测、图像滤波、特征提取、图像增强等。医学图像常用的处理算法有头帽变换(top-hat transformation)和分水岭变换(watershedtransformation)。

    基于神经网络的方法

    神经网络之所以能应用到图像分割中,是因为其具有两个优点:一是能够进行学习,二是在训练的过程中能够使用网络的非线性进行边界分割。其不足是每当有新的特征加入网络系统时,就需要重新进行学习和训练,而且其调试过程也很复杂。为了使网络系统利用其可学习性在特征中分类边界,应该尽可能多的选择物体的特征。学习过程中广泛应用的一种算法是后传播算法,由于训练数据集合决定学习,所以训练数据量的大小就决定了学习过程。

    现有方法存在的缺陷

    1. 有些针对某种特定成像模式提出的算法,不适用于其他成像模式。
    2. 血管横截面一般被假定为是圆形。对于正常的血管来说这种假设是正确的,但对于发生病变的血管部位该假设不成立。
    3. 血管的边界判断是依据像素的灰度梯度场来进行,但在血流速度低、血流复杂的区域,梯度值往往不够高。
    4. 实际应用中假设每个组织的灰度分布是高斯分布。实际的情况并非完全如此,导致提出的模型和临床数据之间存在偏差。
    5. 算法中涉及的参数许多都需要调整,而且参数的估计过程非常困难。
    6. 有些属于交互式的算法,需要人工选择血管内的种子点或者终止点。
    7. 分割方法的计算量大,计算代价昂贵。

    所以,在实际项目中,遇到血管分割这样的问题时,需要具体问题具体分析,可能需要结合多种方法进行分割提取,方能取得较好的效果。后面结合具体数据,再学习和总结一下其他几种方法。~~

    参考:

    http://www.xzbu.com/8/view-6644265.htm

    https://www.cnblogs.com/iamgoodman/archive/2013/04/23/3037483.html

    冠状动脉造影图像的分割方法研究


    展开全文
  • 为解决目前视网膜血管分割算法中存在的分割精度低(特别针对病变图像)等问题,提出基于先验知识随机游走模型的视网膜血管分割方法。在分析视网膜血管特征的基础上,构建归一化梯度向量散度场,针对高、低对比度血管采用...
  • 针对眼底视网膜血管细小、轮廓模糊导致血管分割精度低的问题,提出一种多尺度框架下采用小波变换融合血管轮廓特征和细节特征的视网膜血管分割方法。通过预处理增强血管与背景的对比度,在多尺度框架下提取血管轮廓特征...
  • 视网膜眼底血管分割的STARE数据集,可作为深度学习的训练集。
  • 它实现了一种用于眼底视网膜图像的血管分割算法。 该算法在以下论文中介绍: Heneghan, C.、Flynn, J.、O'Keefe, M. 和 Cahill, M. (2002)。使用图像分析表征早产儿视网膜病变中血管宽度和弯曲度的变化。 医学图像...
  • 基于超像素的视网膜血管分割线算子
  • 针对视网膜血管图像特征信息复杂程度高,现有算法存在微血管分割较低和病理信息误分割等问题,提出一种融合DenseNet和U-Net网络的血管分割模型。首先,通过限制对比度直方图均衡化和filter滤波对图像进行血管增强...
  • 学习视网膜图像中血管分割的全连接CRF
  • 视网膜血管分割的多尺度网络跟随网络模型
  • 为此,提出了一种基于Frangi滤波器和大津法(Otsu)的视网膜血管分割方法。基于Frangi滤波器视网膜血管分割方法先对视网膜血管进行预处理,再基于Frangi滤波器对其边缘进行检测,并根据形态学方法分割出视网膜血管。然后,...
  • 基于统计模型的并行马尔可夫脑血管分割算法
  • 基于概率混合模型的MRA数据血管分割方法
  • 基于眼底图像监督学习的整体视网膜血管分割
  • 血管分割技术文献综述

    千次阅读 2016-12-22 19:47:01
    血管分割是医疗诊断、手术辅助设计等方面的基础。在最近几年,很多用于血管自动分割的技术被被提出来,并且取得了很好的分割效果。 本文对血管分割技术进行了大致分类和整理,对每一种主流技术做了简单介绍,希望...

    血管分割技术文献综述

    本人从事血管分割研究领域,调研了该领域较好的血管分割方法,并简单做了一下汇总,如果问题,欢迎批评指正。
    血管分割是医疗诊断、手术辅助设计等方面的基础。在最近几年,很多用于血管自动分割的技术被被提出来,并且取得了很好的分割效果。
    血管影像呈现一种局部管状或线状结构,其主要特点是血管的宽度只在较小的范围内变动,血管壁的两条线是平行的,血管有方向。
    进行血管分割的主要难点有:
    - 小血管和低对比度血管分割效果差
    - 医学影像,经常会遇到影像灰度在各个区域里分布不均匀的情况,此时,目标或背景或者两者都不能用均值来表达区分
    - 病变区域分割出现问题
    血管分割工作可以大致粗略的分为三大类:
    - 基于特征进行提取
    - 利用最短路径技术提取血管
    - 利用血管模型进行血管分割


    基于特征的血管提取

    Hessian矩阵特征值能够很好地描述常见的几何形状的信息,不同几何形状特征值特征不同,很多文章利用基于Hessian矩阵的多尺度滤波方法对血管进行增强预处理。为了避免噪声的影响,首先将血管在多尺度下进行Gaussian滤波处理,然后计算每个像素点的二阶导数构造Hessian矩阵,将求得的特征值带入事先建立好的血管相似性函数中获取在不同尺度下的滤波响应,当尺度和局部结构匹配时计算得到最大滤波响应,从而判断当前像素点是否属于血管结构。该方法能够对血管起到增强的作用,但是不能够直接分割得到血管,因此该步骤往往用于血管分割的预处理阶段。
    基于骨架的方法利用管状形状先验来检测脊。这些方法对噪声不敏感,但是处理复杂的血管边界效果不是很理想。

    利用最短路径技术提取血管

    利用最短路径技术提取血管,需要人为的定义血管的起点和终点。当然,可以通过如设定阈值的方法定义终止标准的方法来自动的停止路径演化,而不需要人为定义终点。通过该方法可以获取空间血管轴线和对应的血管半径。

    利用血管模型进行血管分割

    基于模型的分割方法可以再次细分为:
    - 中轴线+横截面模型的方法(即管状模型)
    - 形变模型*
    第一种方法根据通用柱面法,相对于中心线曲线对血管表面进行建模。沿着血管中轴线构建2D的血管横截面轮廓形成血管壁。传统的横截面形状包括圆形、椭圆形、参数曲线等。
    对于形变模型,可以在不同力的作用下如内力和外力来使表面进行演化。比较有名的形变模型是snake模型,该方法被提出后,后续很多人研究形变模型并对其进行了改进,并且得到了很好的分割效果。形变模型的机理是以构成一定形状的一些控制点为模板(轮廓线),通过模板自身的弹性形变,与图像局部特征相匹配达到调和,即某种能量函数极小化,完成对图像的分割。SNAKE模型就是一条可变形的参数曲线及相应的能量函数,以最小化能量目标函数为目标,控制参数曲线变形,具有最小能量的闭合曲线就是目标轮廓。
    模型的形变受到同时作用在模型上的许多不同的力所控制,每一种力所产生一部分能量,这部分能量表示为活动轮廓模型的能量函数的一个独立的能量项。
    Snake模型首先需要在感兴趣区域的附近给出一条初始曲线,接下来最小化能量泛函,让曲线在图像中发生变形并不断逼近目标轮廓。按轮廓曲线表达形式不同, ACM 可分为参数活动轮廓模型 ( Parametric ACM, PACM ) 和 几 何 活 动 轮 廓 模 型 ( Geometric ACM, GACM)的图像分割方法;按照曲线演化方式不同,又可分为基于边界的活动轮廓模型 ( Edge Based ACM, EACM) 、基于区域的活动轮廓模型(Region Based ACM, RACM) 和混合活动轮廓模型(Mixed ACM, MACM) 的图像分割方法。
    曲线的能量函数可以表示为:

    其中,Eint 和 Eext 分别为内部约束力和外部约束力,前者保证曲线的收缩和弯曲性,后者吸引轮廓曲线收敛到图像的目标。其表达式为
    这里写图片描述
    几何活动轮廓模型又称为水平集(Level Set),其基本思想是通过一个高维函数曲面来表达低维的演化曲线或曲面,把N维的描述看成是N+1维的一个水平。


    参考文献

    [1]: Cheng Y, Hu X, Wang J, et al. Accurate vessel segmentation with constrained B-snake[J]. IEEE Transactions on Image Processing, 2015,24(8):2440-2455
    [2]: C. Kirbas and F. Quek, “A review of vessel extraction techniques and algorithms,” ACM Comput. Surv., vol. 36, no. 2, pp. 81–121, Jun. 2004.
    [3]: D. Lesage, E. D. Angelini, I. Bloch, and G. Funka-Lea, “A review of 3D vessel lumen segmentation techniques: Models, features and extraction schemes,” Med. Imag. Anal., vol. 13, no. 6, pp. 819–845, Dec. 2009.
    [4]: Y . Sato et al., “Three-dimensional multi-scale line filter for segmentation and visualization of curvilinear structures in medical images,” Med. Image Anal., vol. 2, no. 2, pp. 143–168, Dec. 1998.
    [5]: J. Chen and A. A. Amini, “Quantifying 3D vascular structures in MRA images using hybrid PDE and geometric deformable models,” IEEE Trans. Med. Imag., vol. 23, no. 10, pp. 1251–1262, Oct. 2004.
    [6]: Y. Fridman, S. M. Pizer, S. Aylward, and E. Bullitt, “Segmenting 3D branching tubular structures using cores,” in Proc. Med. Image Comput. Comput.-Assist. Intervent. (MICCAI), Montreal, QC, Canada, Nov. 2003,pp. 570–577.
    [7]: J. A. Tyrrell et al., “Robust 3D modeling of vasculature imagery using superellipsoids,” IEEE Trans. Med. Imag., vol. 26, no. 2, pp. 223–237,Feb. 2007.
    [8]: T. F. Cootes, C. J. Taylor, D. H. Cooper, and J. Graham, “Active shape models—Their training and application,” Comput. Vis. Image Understand., vol. 61, no. 1, pp. 38–59, Jan. 1995.
    [9]: R. Li and S. Ourselin, “Accurate curvilinear modeling for precise measurements of tubular structures,” in Proc. Int. Conf. Digit. Image Comput., Techn. Appl., 2003, pp. 243–252.
    [10]: Y. Sato, S. Yamamoto, and S. Tamura, “Accurate quantification of small-diameter tubular structures in isotropic CT volume data based on multiscale line filter responses,” in Proc. 7th Int. Conf. Med. Image Comput. Comput.-Assist. Intervent. (MICCAI), 2004, pp. 508–515.

    展开全文
  • OCT血管造影术:OCT血管造影术上的自我监督容积血管分割
  • 然而将此算法直接应用于肝脏血管分割时,由于其过高的计算成本以及需要手动选取阈值,分割效率并不是非常理想.为此,提出一种基于查找表计算模糊场景的方法,能够使模糊连接算法的运算速度提高1.5~2倍;同时提出一种类...
  • 训练卷积神经网络进行视网膜血管分割的数据集,DRIVE,训练集40张,RGB图像。分为原始图和专家手工分割的ground truth。
  • VesselSeg-Pytorch :基于pytorch的视网膜血管分割工具包 介绍 该项目是基于python和pytorch框架的视网膜血管分割代码,包括数据预处理,模型训练和测试,可视化等。该项目适合研究视网膜血管分割的研究人员。 要求 ...
  • 基于自适应聚类中心的脑血管分割方法.pdf
  • 针对DRIVE数据集进行血管分割的方法参考,使用了UNet,匹配滤波以及形态学三种方法。
  • 视网膜血管分割MATLAB

    2016-05-27 07:41:13
    求问,在REVIEW库和DRIVE 库进行视网膜图像血管分割算法测试的时候,如何计算算法的准确度、特异度和灵敏度?求源代码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,348
精华内容 939
关键字:

血管分割