精华内容
下载资源
问答
  • 图像分割图像处理中的重要工作,医学图像的多样性和复杂性使其在图像分割中具有较大的难度。阈值法由于高效、简单而成为图像分割的重要方法,但对于复杂的医学图像,其效果并不很理想。Powell法是最好的直接搜索法...
  • 基于Hough的图像分割在智能车图像处理中的应用
  • 图像分割技术医学图像处理中的应用研究图像分割技术医学图像处理中的应用研究图像分割技术医学图像处理中的应用研究
  • 结果 : 在图像像素不太大情况下 ,通过编程 ,实施图像分割和形态处理 ,可 以在维持原来图像基础上 ,使原图像轮廓明显清晰 。 结论 : 利用 Ma tl ab平台 ,通过对图像分割和形态学运算可以 使病灶部分变得更...
  • OpenCV—图像分割中的分水岭算法原理与应用

    万次阅读 多人点赞 2015-10-18 09:58:56
    图像分割是按照一定原则,将一幅图像分为若干个互不相交小局域过程,它是图像处理中最为基础研究领域之一。目前有很多图像分割方法,其中分水岭算法是一种基于区域的图像分割算法,分水岭算法因实现方便,...

     

    OpenCV—图像分割中的分水岭算法原理与应用

     

    图像分割是按照一定的原则,将一幅图像分为若干个互不相交的小局域的过程,它是图像处理中最为基础的研究领域之一。目前有很多图像分割方法,其中分水岭算法是一种基于区域的图像分割算法,分水岭算法因实现方便,已经在医疗图像,模式识别等领域得到了广泛的应用。

     

    1.传统分水岭算法基本原理

     

    分水岭比较经典的计算方法是L.Vincent于1991年在PAMI上提出的[1]。传统的分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆地,而集水盆地的边界则形成分水岭。分水岭的概念和形成可以通过模拟浸入过程来说明。在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸人水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝如下图所示,即形成分水岭。

    传统分水岭算法示意图

    然而基于梯度图像的直接分水岭算法容易导致图像的过分割,产生这一现象的原因主要是由于输入的图像存在过多的极小区域而产生许多小的集水盆地,从而导致分割后的图像不能将图像中有意义的区域表示出来。所以必须对分割结果的相似区域进行合并。

     

    [1]L.Vincent, P Soille. Watersheds in digital space: An efficientalgorithms based on immersion simulation[J]. IEEE Trans. on Pattern Analysisand Machine Intelligence, 1991, 13(6): 583-598.

     

    2.改进的分水岭算法基本原理

    因为传统分水岭算法存在过分割的不足,OpenCV提供了一种改进的分水岭算法,使用一系列预定义标记来引导图像分割的定义方式。使用OpenCV的分水岭算法cv::wathershed,需要输入一个标记图像,图像的像素值为32位有符号正数(CV_32S类型),每个非零像素代表一个标签。它的原理是对图像中部分像素做标记,表明它的所属区域是已知的。分水岭算法可以根据这个初始标签确定其他像素所属的区域。传统的基于梯度的分水岭算法和改进后基于标记的分水岭算法示意图如下图所示。

     

    传统基于梯度的分水岭算法和基于标记的分水岭算法原理图

    从上图可以看出,传统基于梯度的分水岭算法由于局部最小值过多造成分割后的分水岭较多。而基于标记的分水岭算法,水淹过程从预先定义好的标记图像(像素)开始,较好的克服了过度分割的不足。本质上讲,基于标记点的改进算法是利用先验知识来帮助分割的一种方法。因此,改进算法的关键在于如何获得准确的标记图像,即如何将前景物体与背景准确的标记出来。

     

    3.基于标记点的分水岭算法应用

     

    基于标记点的分水岭算法应用步骤

     

    ●  封装分水岭算法类

     

    ●  获取标记图像

     

                获取前景像素,并用255标记前景

     

                获取背景像素,并用128标记背景,未知像素,使用0标记

     

                合成标记图像

     

    ●  将原图和标记图像输入分水岭算法

     

    ●  显示结果

     

    (1)封装分水岭算法类

    将分水岭算法cv::watershed(image,markers)封装进类WatershedSegmenter,并保存为头文件以便于操作。(本段封装代码参考《OpenCV计算机视觉编程攻略(第二版)》)

     

    #if !defined WATERSHS
    #define WATERSHS
    
    #include <opencv2/core/core.hpp>
    #include <opencv2/imgproc/imgproc.hpp>
    
    class WatershedSegmenter {
    
      private:
    
    	  cv::Mat markers;
    
      public:
    
    	  void setMarkers(const cv::Mat& markerImage) {
    
    		// Convert to image of ints
    		markerImage.convertTo(markers,CV_32S);
    	  }
    
    	  cv::Mat process(const cv::Mat &image) {
    
    		// Apply watershed
    		cv::watershed(image,markers);
    
    		return markers;
    	  }
    
    	  // Return result in the form of an image
    	  cv::Mat getSegmentation() {
    		  
    		cv::Mat tmp;
    		// all segment with label higher than 255
    		// will be assigned value 255
    		markers.convertTo(tmp,CV_8U);
    
    		return tmp;
    	  }
    
    	  // Return watershed in the form of an image以图像的形式返回分水岭
    	  cv::Mat getWatersheds() {
    	
    		cv::Mat tmp;
    		//在变换前,把每个像素p转换为255p+255(在conertTo中实现)
    		markers.convertTo(tmp,CV_8U,255,255);
    
    		return tmp;
    	  }
    };
    #endif

     

    (2)获取标记图像

    标记前景

    读取原图

    // Read input image
    	cv::Mat image1= cv::imread("image.jpg");
    	if (!image1.data)
    		return 0; 
    // Display the color image
    	cv::resize(image1, image1, cv::Size(), 0.7, 0.7);
    	cv::namedWindow("Original Image1");
    	cv::imshow("Original Image1",image1);

    原图

    以下代码目的是获取前景物体的像素,并用255标记。这里使用阈值分割初步分割前景和背景,接着使用形态学闭运算连接二值图像中前景的各个部分,并平滑边缘。如何更好的获取前景像素,需要根据实际图像的情况灵活处理。

    // Identify image pixels with object
    	
    	Mat binary;
    	cv::cvtColor(image1,binary,COLOR_BGRA2GRAY);
    	cv::threshold(binary,binary,30,255,THRESH_BINARY_INV);//阈值分割原图的灰度图,获得二值图像
    	// Display the binary image
    	cv::namedWindow("binary Image1");
    	cv::imshow("binary Image1",binary);
    	waitKey();
    	
    	// CLOSE operation
    	cv::Mat element5(5,5,CV_8U,cv::Scalar(1));//5*5正方形,8位uchar型,全1结构元素
    	cv::Mat fg1;
    	cv::morphologyEx(binary, fg1,cv::MORPH_CLOSE,element5,Point(-1,-1),1);// 闭运算填充物体内细小空洞、连接邻近物体
    
    	// Display the foreground image
    	cv::namedWindow("Foreground Image");
    	cv::imshow("Foreground Image",fg1);
    	waitKey();

    阈值分割原图像的灰度图

    闭运算获取前景

    标记背景和未知区域

    在上面阈值分割得到的二值图像binary的基础上,通过对白色前景的深度膨胀运算获得一个超过前景实际大小的物体,紧接着用反向阈值将深度膨胀后的图像中的黑色部分转换成128,即完成了对背景像素的标记。实际上,在0~255范围内,任意不为0或255的值均可作为背景的标记。当然如果有其他类型的物体,可以使用另外一个数值作为其标记。也就是说,多个目标可以有多个标记来帮助分水岭算法正确分割图像。

    // Identify image pixels without objects
    	
    	cv::Mat bg1;
    	cv::dilate(binary,bg1,cv::Mat(),cv::Point(-1,-1),4);//膨胀4次,锚点为结构元素中心点
    	cv::threshold(bg1,bg1,1,128,cv::THRESH_BINARY_INV);//>=1的像素设置为128(即背景)
    	// Display the background image
    	cv::namedWindow("Background Image");
    	cv::imshow("Background Image",bg1);
    	waitKey();

    将背景设置为128,未知区域设置为0

    合成标记图像

    将前景、背景及未知区域合成为一个标记图像。则标记图像中通过255标记前景物体,通过128标记背景,通过0标记未知区域。

    //Get markers image
    
    	Mat markers1 = fg1 + bg1; //使用Mat类的重载运算符+来合并图像。
    	cv::namedWindow("markers Image");
    	cv::imshow("markers Image",markers1);
    	waitKey();

    标记图像

    (3)分水岭算法分割图像

    将标记图像和原图输入分水岭算法封装的类WatershedSegmenter,执行分水岭算法,并显示算法运行的结果。
    // Apply watershed segmentation
    
    	WatershedSegmenter segmenter1;  //实例化一个分水岭分割方法的对象
    	segmenter1.setMarkers(markers1);//设置算法的标记图像,使得水淹过程从这组预先定义好的标记像素开始
    	segmenter1.process(image1);     //传入待分割原图
    	 
    	// Display segmentation result
    	cv::namedWindow("Segmentation1");
    	cv::imshow("Segmentation1",segmenter1.getSegmentation());//将修改后的标记图markers转换为可显示的8位灰度图并返回分割结果(白色为前景,灰色为背景,0为边缘)
    	waitKey();
            // Display watersheds
    	cv::namedWindow("Watersheds1");
    	cv::imshow("Watersheds1",segmenter1.getWatersheds());//以图像的形式返回分水岭(分割线条)
    	waitKey();

    代码segmenter1.process(image)将修改标记图像markers,每个值为0的像素都会被赋予一个输入标签,而边缘处的像素赋值为-1,得到的标签图像如下图所示。

     

    显示分水岭分割图像

    分水岭分割线显示

     

    (4)显示结果图像

    本步骤的目的是将前景物体的分割结果在黑/白底色中显示出来。背景颜色由黑转白时使用了Mat矩阵扫描的.ptr方法与指针运算。

     

    // Get the masked image
    	Mat maskimage = segmenter1.getSegmentation();
    	cv::threshold(maskimage,maskimage,250,1,THRESH_BINARY);
    	cv::cvtColor(maskimage,maskimage,COLOR_GRAY2BGR);
    
    	maskimage = image1.mul(maskimage);
    	cv::namedWindow("maskimage");
    	cv::imshow("maskimage",maskimage);
    	waitKey();
    
    	// Turn background (0) to white (255)
    	int nl= maskimage.rows; // number of lines
        int nc= maskimage.cols * maskimage.channels(); // total number of elements per line
    
        for (int j=0; j<nl; j++) {
             uchar* data= maskimage.ptr<uchar>(j);
    		for (int i=0; i<nc; i++) 
    		{
                // process each pixel ---------------------
    			if (*data==0) //将背景由黑色改为白色显示
    				*data=255;
    			data++;//指针操作:如为uchar型指针则移动1个字节,即移动到下1列
            }
         }
    	cv::namedWindow("result");
    	cv::imshow("result",maskimage);
    	waitKey();

    原图的前景分割图(黑色背景)

    原图的前景分割图(白色背景)

    从上图的分割结果可以看出,基于标记图像的分水岭算法较好的实现了复杂背景下前景目标分割。算法应用的关键步骤为标记图像的获取,目前很多文献提出了各类获取标记图像的方法,如何使用还需要根据所处理的图像来量身确定。

    贴出实验原始图像:)

    转载请注明:iracer的CSDN博客 http://blog.csdn.net/iracer/article/details/49225823

     


    新书终于面市啦,《机器学习原理与编程实战》连接原理与实战:

    https://blog.csdn.net/iracer/article/details/116051674?spm=1001.2014.3001.5501

     

     

    展开全文
  • 在图像处理领域图像分割占有举足轻重地位。传统基于小波变换的图像分割算法,仅在规则域内能够有效地检测出图像边缘信息。为了在不规则域内能够有效地检测出图像边缘信息,提出一种基于图小波变换的图像...
  • 第8章 图像分割 图像分割Image segmentation是一种重要的图像技术有着广泛的应用比如在线产品检测文档图像处理遥感和生物医学图像分析等 对这些图像的研究和应用中人们往往对图像中的某些部分感兴趣这些区域被称为...
  • 阈值分割法dicom图像分割中的应用,论文中详细阐述了dicom格式的医学图像信息,如何对其进行医学图像分割处理。文中用到了迭代法求阈值,以及双峰法求阈值。
  • 小波变换在图像分割中的应用

    千次阅读 2020-12-13 20:32:46
    空域是指图像平面本身,空域图像分割就是直接对图像像素进行处理分割。研究者经过几十年研究与努力,研究出了很多种空域图像分割方法。归纳起来大致包括:串行边界分割技术、串行区域分割技术、并行边界分割技术...

    1.1  空域图像分割

    空域是指图像平面本身,空域图像分割就是直接对图像的像素进行处理分割。研究者经过几十年的研究与努力,研究出了很多种空域图像分割方法。归纳起来大致包括:串行边界分割技术、串行区域分割技术、并行边界分割技术、并行区域分割技术、结合特定理论工具的分割技术等[1]

    1.1.1  串行边界分割技术

    串行边界分割技术指通过顺序搜索边缘点,采用串行方式来对感兴趣目标的边界进行检测。主要有以下三个关键步骤:

    ①首先确定一个顺序搜索的起始边界点;

    ②然后在确定先前的搜索结果对下一边界点的检测和下一个结果的影响的前提之下,选择某种搜索策略,根据相应原则逐一检测新的边界点;

    ③最后选定搜索终止的条件,结束整个搜索过程。

    串行边界分割技术所采取的策略主要有以下两种:

    ①首先检测出边界点,然后再连接边界点;

    ②以交叉结合的方式来进行边界点的检查和连接。

    1.1.2  串行区域分割技术

    串行区域分割技术指通过对目标区域的直接检测,用串行方式来进行图像分割的技术。它的特点是将整个处理过程分解为的多个步骤依次进行,然后前续步骤的处理结果来决定对后续步骤的处理。结合了特定数学理论工具的一些图像分割方法也经常用串行区域分割的方式。

    串行区域分割技术有两种基本形式:

    ①从单个像素出发,逐渐合并成所需的分割区域;

    ②从全图出发,逐渐分裂成所要的分割区域。

    1.1.3  并行边界分割技术

    并行边界分割技术指通过对感兴趣区域的边界进行检测,用并行方式来对图像进行分割技术。其过程主要有以下两个步骤:

    ①检测感兴趣区域的边界点;

    ②形成感兴趣区域的边界。

    对于步骤①可以采用各种微分算子来直接检测,也可以利用拟合方法与边缘模型进行间接检测。对于步骤②由于其过程较复杂,因此单纯利用微分算子不能形成闭合边界,需要通过一定的准则和数学工具将感兴趣的区域分离出来。

    1.1.4  并行区域分割技术

    并行区域分割技术指通过对感兴趣区域的检测,用并行方式来进行图像分割的技术。在实际应用中,并行区域分割技术主要包括以下两大类:

    ①特征空间聚类方法;

    ②阈值化方法。

    1.1.5  结合特定理论工具的分割技术

    ①基于信息论的分割技术

    最近几年,出现了许多借助信息论中熵的概念的图像分割方法。这些方法利用信息论当中求熵的极值的方式来进行图像分割。例如:1D最大熵法、2D最大熵法、最大后验熵法、最小熵相关法、最大香农熵法、条件熵法等等。

    ②基于小波分析和小波变换的分割技术

    小波变换是空间(时间)和频率的局域变换,通过平移、伸缩等运算对函数和信号进行多尺度的细化分析,有效的从信号中提取信息,从而解决了傅立叶变换不能解决的许多问题。近年来,在低频和高频分析时,有“变焦”特性的小波变换在图像分割中得到广泛应用。

     

     

    1.2  频域图像分割

      频域图像分割法就是傅里叶变换的方法,也是一种最简单的图象分割的方法。

    傅里叶变换一直是信号处理领域中最完美、应用最广泛、效果最好的一种分析手段,只是傅里叶变换是一种单纯对频域的分析方法,它在频域的定位性上是最准确的(即频域分辨率是最高),而在时域没有任何分辨能力,也就是表示傅里叶变换所反映的是整个信号在所有时间下的整体频域的特征,无法提供任何一段局部时间段上的频率信息。在现实生活中,经常会出现一些非平稳信号,例如音乐和语音信号等,它们的频域特征都在随着时间的变化而变化,这些信号被称为时变信号。

    Gabor为了研究信号在局部时间范围内的频域特征,而提出了非常著名的Gabor变换,后来随着不断研究发展为短时傅里叶变换(又称加窗傅里叶变换,简称STFT)。如今短时傅里叶变换在许多领域已经得到了广泛的应用,但是它的定义决定了其窗函数的形状和大小都与频率和时间没有关系而保持固定不变,这样在分析时变信号时是不方便的[2]。高频信号持续时间一般都比较短,相反低频信号的持续时间则相对较长,所以我们希望在分析高频信号时能够用小时间窗,同时在分析低频信号时能够用大时间窗。从中我们会发现分析信号时,变时间窗的要求与短时傅里叶变换的固定时窗中窗不能随着频率变化而变化的特性相矛盾,因此这表明短时傅里叶变换无法处理这些问题;此外当人们在进行数值计算时,都希望能够将基函数离散化,从而节约存储量和计算时间,而Gabor变换则不能实现这种期望,原因是无论如何都无法构成一组正交基,所以在计算数值使很不方便,但是小波变换恰恰能实现[3]

    小波变换继承并且发展了短时傅里叶变换的局部思想的优点,同时还克服了其窗口大小不能随着频率变化而变化,且缺少离散正交基的缺点,是一种比较理想的用来处理信号的数学工具。因此目前小波变换在图象分割中获得了广泛的应用。

    1.3  小波域图像分割

    1.3.1  图像分割的描述

    图像分割(image segmentation)是一种非常重要的图像技术,它是图像分析与识别过程中的重要环节,其分割的结果直接关系到图像处理后期其他工作的质量,例如图像的测量、图像的识别等。一方面它是图像表达的基础,对于特征测量有着至关重要的作用;另一方面,由于图像分割及其基于分割的特征提取、目标表达和参数测量等将原始的图像形式转化为更加抽象紧凑的形式,从而使得更高层的图像分析和理解成为可能[4]。图像分割在不同的领域中都有重要的应用,所以有时会用不同的名称,比如目标识别(target identification)技术,阈值化(threshold)技术,目标检测(target detection)技术,目标轮廓(object delineate)技术,图像区分或求差(image discrimination)技术等,虽然这些名称看起来是不同的技术,但其实它们本身或核心都是图像分割技术,由此可以看出图像分割技术的重要性[5]

     

     

    对于图像分割的研究已经有几十年的历史,人们对此一直都高度重视。早在50年代中期即计算机视觉理论体系形成以前,人们就已经开始了对图像分割的研究。能够找到一种通用的、普适的图像分割方法是人们几十年来不断追求的梦想,人们为此付出了许多艰辛的努力,但也取得了不少研究成果,提出了很多图像分割算法。然而随着研究的不断深入,人们逐渐意识到,在将三维景物投影为二维图像的过程中,丢失了深度以及不可见部分的信息,不同的视角下的同一物体的图像会有很大的不同,还有会因为前后物体的遮挡而丢失信息等;另外,在场景中的很多比如物体表面几何、光源、物理特性以及成像设备与物体之间的空间特性等不同的因素,都被综合成为单一的图像中像元的灰度值;还有在成像过程中会或多或少地引入一些噪声和畸变。这些问题都直接或间接地导致了图像分割问题是一种信息不足的不确定性问题,所以不可能存在一种通用的对任何图像都适用的、统一的图像分割方法[7]

    在过去的四十多年里, 人们一直在高度重视图像分割的研究,至今为止,研究者提出了上千种不同类型的分割算法,如:小波分析法、水线法、匹配法、马尔可夫随机场模型法等,并且近年来每年都有上百篇相关研究成果的发表。但是,如今的方法大多是为了特定应用而设计的,具有很大的局限性和针对性,对图像分割的研究还是缺乏一个统一的理论体系。

    近年来,随着计算机技术的不断发展和成熟,现在的图像分割已经得到了广泛的应用,几乎出现在所有有关图像处理的领域,例如在文档处理,工业自动化,生产过程控制,在线产品检验,遥感和生物医学图像分析,保安监视,以及军事,农业工程,体育等诸多领域。然而在缺乏足够先验信息的前提下进行图像分割是一项很困难的任务,如医学上人脑组织的细微变化、监控系统的随机性等,人们为了克服这一困难,建立了大量的图像模型来完成分割的任务,如利用概率分布函数刻画图像的纹理特征而建立起来的统计图像模型等。相应地也研究出了各种分割算法,如基于区域的分割、合并分割算法等。基于图像模型的分割在易于实现的同时,准确的图像模型还可以提高分割的质量,因此对图像模型的研究,不仅是各种应用的需要,而且也是分割取得突破性进展的关键问题[8]。在国内,每年《计算机辅助设计与图形学学报》、《中国图像图形学报》等报刊都会刊登很多有关图像分割的研究成果。近几年,北京大学周蜀林主持的国家自然科学基金项目-图像分割的变分方法和应用,说明了国家对图像分割研究的重视。但目前国内外对图像分割结果的评价和准则系统的研究仍然很缺乏。

    1.3.3  基于小波变换的图像分割方法

    小波变换是一种近年来得到广泛应用的数学工具,是空间(时间)和频率的局域变换,因而能有效地从信号中提取信息。小波变换从图像分割的角度看,有以下几个优点[9]

    (1) 通过选取合适的滤波器,小波变换可以最大程度地减小或消除所提取信息的不同特征之间的相关性;

    (2)小波变换实现上有快速算法(即Mallat小波分解算法);

    (3)小波变换具有“变焦”特性,在高频段可以用低频率分辨率和高时间分辨率,在低频段可以用高频率分辨率和低时间分辨率;

    (4)小波分解可以覆盖整个频域,从而在数学上可以提供一个完备的描述。

    小波理论在图像处理方面的应用日益成熟,小波变换具有方向性、多分辨率特性、非冗余性、以及小波系数具有重拖尾和持续性的非高斯分布等特性,对于刻画图像的非平稳性,小波理论提供了有效的工具。通过利用小波变换的多分辨率特性,让特征场建立在一系列小波域上,使相应分辨率的标号场利用该尺度的特征场,这样有利于刻画图像的非平稳性,小波系数随着分辨率的不同而具有不同的特征向量,从而有利于反映特征场的本质特征。同时对每一小波系数引入有限的隐状态,来反映小波系数的非高斯分布的特性。描述小波系数的非高斯分布需要用两个状态的高斯混合分布,纹理的小波系数、边缘用较大状态的方差来表示,平滑区域的小波系数用较小状态的方差来表示。大多数真实图像都可以使用这种模型,但该模型不具有通用性,如背景为较平滑的区域,受光照影响的交通图像分割问题,物体有纹理则相应的小波系数较大,但阴影的小波系数介于背景与物体之间,所以很难用两个状态的小波系数来表示图像的特征[10]

    与小波系数服从非高斯分布与高斯分布相背离来比较,小波系数通过有限通用混合分布(FGM)来逼近小波系数的分布似乎更加合理。同时在标号场先验模型确定的基础上,HMT(即Hidden Markov Tree)模型没有具体表达式来给出标号场先验概率分布,认为父节点周围36个小波系数的标号与标号有关,这与小波系数的紧支撑性不同并且与小波系数的局部相关性也相互矛盾。另外,认为小波系数的标号是相互独立的的说法与尺度间小波系数的持续性、紧支撑性相背离,由于父节点与子节点一般都具有相同的标号,而且父节点周围的三个节点小波系数的标号与子节点的标号有关联。标号场体现的不是独立的作用关系而是小波系数标号的相互关系。

     

     

        实验采用MATLAB程序语言来进行编程仿真。实验仿真结果如下图,其中(a)为原始图像;(b)为该图像的灰度直方图 ,由直方图可看出 ,峰值较多 ,很难直接选取门限;(c)为阈值为90时用传统的阈值法进行分割后的图像;(d)为通过小波阈值门限分割后的图像 ,该阈值同为90。由传统的阈值分割法与小波阈值分割法在相同的阈值下分割的图像进行比较。其中小波阈值分割方法的程序见附录1。

         

    (a) 原始图像                          (b) 直方图

     

     

                                           

         

     

     

     

     

     

    (c)阈值为90时的传统阈值分割图像      (d) 阈值为90时的小波阈值分割图像

    图3-1  不同方法对图像进行分割

    从仿真结果可知,基于小波变换的阈值法图像分割技术能有效地弥补传统的图像阈值法分割技术的不足之处 ,有较强的抗噪声性能 ,同时在直方图为多峰值的情况 ,可利用小波的多分辨率分解 ,合理选择灰度阈值,实现对图像的分割处理。

    图像分割本质上是不适定的,如何引入先验信息是解决这一问题的重要工具。基于图像模型的分割易于实现,还可以提高分割的质量,因此对图像模型的研究既是各种应用的需要,又是图像分割能否取得突破性进展的重要问题。如今,引人注目的是利用统计图像模型,其中马尔可夫模型比较有影响力。对于图像灰度的变化率、纹理基元的排列、边缘几何的特征等信息,描述待分割图像的先验分部用马尔可夫模型很适合。马尔可夫随机场方法是建立在MRF模型和Bayes理论的基础上形成的,马尔可夫模型提供了不确定性描述与先验知识的联系,根据估计理论和统计决策中的最优准则利用观测图像来确定图像的目标函数,以此将分割图像转化为最优化问题。

    马尔可夫模型在分割图像中具有以下鲜明的特点:

    1MRF模型不仅可以反映图像的随机性,而且能反映图像的潜在结构,从而有效地描述图像的性质。

    2MRF模型的局部特征能采用大规模并行算法。

    3MRF模型可以把像素空间关系紧密结合,从而可以用低阶MRF描述像素间的作用关系。

    4MRF模型从物理模型出发,同时与图像数据(即特征与灰度值)有联系。

    5用MRF描述来求解具有不确定性,利用Bayes理论将图像的先验知识转变为先验分布模型,采用最大先验估计得到图像标号的分布,是很好的数学推导,得到的参数有明确的物理含义,但是线性模型、时间序列模型中的参数只被作为被拟合的参数,一般无真实含义。解是否正确可以通过Monte Carlo的方法生成随机数来进行相关验证。

    1. 小波阈值程序:

        x=imread(‘lena.jpg'); % 读取原图像

        figure(1);

    imshow(x);title(原始图像);% 显示原图像

        s=rgb2gray(x);

        imhist(s);title('直方图');

        [Row,COL]=size(x);

         T=90; % 设置阈值

          s=double(x);

          for i=1: Row

               for j=1: COL

                    if (x(i,j)>T)

                        x(i,j)=255;

                    else

                        x(i,j)=0;

                     end    end     end

           figure(2);imshow(x); % 显示经小波阈值分割的图像

           title('小波阈值分割图像');

     

    2. 本文方法分割程序:

    %这个是2D-DWT的函数,是haar小波

    %c是图像像素矩阵 steps是变换的阶数

    function  dwtc = dwt_haar(c, steps)

    % DWTC = CWT_HARR(C) - Discrete Wavelet Transform using Haar filter

    % M D Plumbley Nov 2003

    N = length(c)-1; % Max index for filter: N

    % If no steps to do, or the sequence is a single sample, the DW is itself

    if (0==N | steps == 0)

           dwtc = c;

            return

    end

     

    % Check that N+1 is divisible by 2

    if (mod(N+1,2)~=0)

           disp(['Not divisible 2: ' num2str(N+1)]);

           return

    end

     

    % Set the Haar analysis filter

    h0 = [1/2  1/2];  % Haar Low-pass filter

    h1 = [-1/2 1/2];  % Haar High-pass filter

     

    % Filter the signal

    lowpass_c = conv(h0, c);

    hipass_c  = conv(h1, c);

     

    % Subsample by factor of 2 and scale

    c1 = sqrt(2)*lowpass_c(2:2:end);

    d1 = sqrt(2)*hipass_c(2:2:end);

     

    % Recursively call dwt_haar on the low-pass part, with 1 fewer steps

    dwtc1 = dwt_haar(c1, steps-1);

     

    % Construct the DWT from c1 and d1

    dwtc = [dwtc1 d1];

    % Done

    return

    im = imreadreal('lena.bmp');    %read image data

    % Plot

     

    figure

    dwt2_step0=dwt2_haar(im, 0);    %2D DWT step=0

    imagesc(dwt2_step0);

    colormap gray;

    axis image;

    figure

    dwt2_step1=dwt2_haar(im, 1);    %2D DWT step=1

    imagesc(dwt2_step1);

    colormap gray;

    展开全文
  • 图像分割作为数字图像处理技术基础而重要的环节,有着广阔的应用和研究前景。从图像技术的角度来看,它处于图像处理和图像分析之间的层次,它不同于一般意义的图像处理过程(比如图像采集、图像变换、图像增强等),又作为...
  • 视频跟踪系统,图像分割是进行跟踪前期处理。只有视频序列图像有效分割出运动目 标,才能实现后续对目标准确跟踪。提出一种混合算法,将一种基于灰度直方图阈值化分割算法应用到了 HSI颜色空间上,利用 ...
  • 改进的分水岭分割算法遥感图像分割中的应用,顿德光,,为了解决分水岭算法造成的过度分割及二值化阈值选择问题,本文提出了一种新的算法。首先利用数学形态学算法对图像进行增强处理
  • Ekchom提出的PCNN模型脉冲耦合神经网络模型受到广泛关注并逐渐应用到医学图像的处理中 本研究就针对改进型PCNN模型医学图像分割处理中的应用进行阐述具体从改进型PCNN模型的特点优势改进型PCNN算法医学图像分割...
  • 智能车牌识别系统由图像获取、图像分割、数据库管理等几部分...过对人的视觉系统的分析,根据视觉特性对数字图像处理中的图像模型建立及图像分割技术进 行分析和讨论,并以智能车牌识别系统实例说明其实际中的应用
  • BP神经网络方法在图像分割中的应用,模式识别,图像处理的入门知识介绍,帮助对相关专业进行基础指导
  • 针对分水岭算法对噪声敏感和易于产生过分割问题,提出运用顶帽变换对图像进行Ostu局部阈值处理,改善光照不均和噪声对图像分割的影响;采用多尺度形态学梯度,解决结构元素形状和尺寸对梯度图像产生影响。实验...
  • 针对指纹图像特点,研究了传统指纹分割方法和形态学图像处理方法,将迭代自组织分析算法(ISODATA聚类)应用到指纹图像分割中。首先根据指纹图像块灰度均值、块标准偏差、块灰度对比度和块方向一致性,使用聚类方法划...
  • ITK(The Insight Toolkit)是一个开放的、面向对象的类库。它提供了强大的二维医学图像处理功能,主要用于医学...本文主要介绍图像分割的算法以及ITK在图像分割中的应用,并简要介绍一个基于ITK的医学图像 处理的实现。
  • 水平集方法的诞生有效解决了以前算法不能解决的曲线演化过程中的拓扑变化问题,其核心是利用水平集这一数学理论来对能量函数进行极小值求解的曲线演化过程,通过求解极小值最终获取目标轮廓从而达到图像分割的目的。...
  • 摘 要 医学图像存在病变区域和背景区域病变区域是分割的重点亦即感兴趣区域 针对传统的分水岭变换由于对噪声和 ...且医学图像中的病变区域被有效分割出来同时该方法还支持任意形状且与JPEG2000标准兼容分割效果很好
  • 本文基于图像处理以及模式识别技术,针对聚类方法应用于图像分割的特点,着重进行聚类算法以及图像分割方法的应用研究
  • (最开始接触医学图像分割时写综述,写比较幼稚,传上来时候格式可能有些乱。需要原文小伙伴可以加我qq...医学图像分割技术发展不仅影响到医学图像处理中其他相关技术发展,如可视化、三维重建等,而且...

    (最开始接触医学图像分割时写的综述,写的比较幼稚,传上来的时候格式可能有些乱。需要原文的小伙伴可以加我qq:604395564联系,也欢迎做医学图像处理的小伙伴一起交流学习。自己写的,欢迎转载,但请注明出处哦^_^)

     

     

    摘 要 医学图像分割是决定医学图像在临床诊疗中能否提供可靠依据的关键问题。医学图像分割技术的发展不仅影响到医学图像处理中其他相关技术的发展,如可视化、三维重建等,而且在生物医学图像的分析中也占有极其重要的地位。近年来,由于一些新兴学科在医学图像处理中的应用, 医学图像分割技术取得了显著的进展。本文从分割所应用的特定理论工具的角度, 对近年来医学图像分割的新方法或改进算法进行综述, 并简要讨论了每类分割方法的特点,并着重对卷积神经网络在医学图像分割上的应用进行研究, 综述了其发展历程和基本原理, 分析和比较了基于神经网络的图像分割的优缺点, 展望了该技术领域以后一段时间内的发展趋势。

     

    关键词:医学图像;图像分割;卷积神经网络

     

    1. 国内外常用的医学图像分割方法

    医学图像分割是医学图像处理与分析领域的复杂而关键的步骤,其目的是将医学图像中具有某些特殊含义的部分分割出来,并提取相关特征,为临床诊疗和病理学研究提供可靠的依据,辅助医生作出更为准确的诊断。由于医学图像自身的复杂性,在分割过程中需要解决不均匀及个体差异等一系列问题,所以一般的图像分割方法难以直接应用于医学图像分割。当前,医学图像分割仍在从手动分割或半自动分割向全自动分割发展。本文在对国内外医学图像分割技术文献研习的基础上,对几种常用的医学图像分割方法进行了深入的研究和比较,总结了各种方法的优缺点及其在国内外医学图像分割领域的应用。

     

    1.1 阈值法

    图像阈值分割是一种广泛应用的分割技术,利用图像中要提取的目标区域与其背景在灰度特性上的差异,把图像看作具有不同灰度级的两类区域(目标区域和背景区域)的组合,选取一个比较合理的阈值,以确定图像中每个像素点应该属于目标区域还是背景区域,从而产生相应的二值图像。阈值分割法的特点是:适用于目标与背景灰度有较强对比的情况,重要的是背景或物体的灰度比较单一,而且总可以得到封闭且连通区域的边界。图1中显示了图像灰度直方图中潜在的两个分界点,如图中虚线所示。如果需要在阈值法的过程中寻找不止一个的阈值来对图像的像素点进行分类,那么这种方法叫做多阈值法。

     

    图1  图像灰度上确定阈值示例

    阈值法在实际应用中主要存在两个问题:(1)该方法只考虑到图像中像素点本身的灰度值,没有考虑到图像中像素点的空间分布,容易对噪声敏感。(2)该方法对于背景与目标区域灰度差异较小的图像分割效果不好。医学图像因个体差异而复杂多样,如:不均匀的人体组织器官常导致图像灰度不均匀;人体组织的蠕动及成像设备的局限性常导致图像中存在伪影和噪声;局部体效应常导致组织边缘模糊;病变组织的病变边缘不明确等。阈值法在医学图像分割中具有一定的局限性。

    近几年,有许多阈值法的改进算法被提了出来,如Tang,Xu- Dong等人[1]提出了一种新的基于阈值的快速图像分割算法,在传统阈值方法的基础上通过简化隶属函数,同时结合一个新的递归策略,从而降低了计算的复杂性,加快了运算速度,较传统算法相比其具备较好的实时时序和噪声抑制性能。

    MR图像对比度往往较低,很难通过阈值法将目标区域从背景中精确地提取出来,所以阈值分割法在MR图像分割中的应用较少,但阈值分割法可以用在MR图像预处理过程中,并与其他图像分割算法相结合,如卷积神经网络算法,从而提高图像分割的准确率。

     

    1.2 区域生长法

    区域生长法是根据图像预先的先验知识和标准,利用初始点周围的生长提取出图像中的连接的区域。区域生长方法中通常利用图像的灰度信息,或者是根据图像的边界的信息得到其所需的标准。区域生长法中最简单的模型中,需要手动初始化,即选定一个点作为区域增长的起始点,然后基于一些预先定于的标准在初始点的邻域搜索,提取所有符合标准的像素区域。例如:一个常用的标准就是,提取初始点的邻域像素点直到遇到图像边界。如图1中所示,区域生长用于隔离图2中所示结构。

    图2  区域生长法选取初始点

    区域生长法对噪声敏感,如果种子像素点选取不当,分割结果就会出现错误,并且对于图像中灰度值相近但不相邻的多个区域不能一次全部分割出来。在医学图像分割中进行病灶分割时,如果种子点选取得当,这种方法可以自动找到病灶的边界,能为医生的诊断提供定量及定性的依据。在医学图像分割中,区域生长法与阈值法一样,一般不单独使用,多与其他分割方法相结合。如Jiang,Hui- Yan等人[2]将区域生长算法和OSTU算法相结合对30个边缘模糊的腹部MRI图像进行了有效分割;Wu,Hai- Shan和Gil,Joan等人[3]使用一个迭代的区域生长算法对卵巢细胞内染色质进行了有效分割;Angelina,S.等人[4]在2012年提出了一种新的区域生长及合并算法与遗传算法相结合的医学图像分割算法,用于对恶性黑色素瘤等皮肤癌进行早期诊断,和其他常规算法相比提高了分割效率,解决了利用非侵入性诊断工具皮肤镜对皮肤癌进行早期诊断耗时长等问题。

     

    1.3 边缘检测法

    边缘检测法主要基于图像灰度级的不连续性,它通过检测不同均匀区域之问的边界来实现对图像的分割,这与人的视觉过程有些相似。依据执行方式的不同,这类方法通常又分为串行边缘检测技术和并行边缘检测技术。在串行边缘检测技术中,当前像素是否属于待检测的边缘受到先前象素的检测结果的影响,使用该方法进行分割可得到连续的边缘,但分割结果比较依赖初始边缘点,不合适的初始边缘点可能导致错误的边缘。而在并行边缘检测技术中,一个象素与其相邻像素之间的关系决定了该像素是否属于检测的边缘,由于只与相邻像素有关,所以并行检测技术可以并行对图像中的所有象素进行检测。常用的并行方法有Canny算子、Sobel算子、Laplacian算子、Prewitt算子、LOG算子等。图3为分别用各类算子检测的细胞边缘。

    在实际应用中。由于并行方法比串行方法分割时间短,所以并行边缘检测法在医学图像分割中更为常用。如2012年Park,J.等人[5]使用并行边界与区域相结合的方法对不同医学图像进行分割,实验结果表明,该方法能可靠准确地分割低对比度的复杂医学图像。

                    

    (a)细胞原始图像        (b)Roberts算子检测的边缘    (c)Sobel算子检测的边缘

                   

    (d)Prewitt算子检测的边缘   (e)Canny算子检测的边缘     (f)LOG算子检测的边缘

    图3  各种边缘检测算子检测的细胞边缘

     

    1.4 基于形变模型的方法

    形变模型[6]起源于1987 年Kass 等提出Snake 模型,其数学基础是泛数最优逼近理论。Snakes 是一条由相应能量函数控制的可形变参数曲线,以能量函数最小化为目标,控制轮廓线变形使其具有最小能量就是目标轮廓。

    形变模型按其不同轮廓曲线的表达形式,可分为参数形变模型[6]和几何形变模型[7-8]两种。参数变形模型在变形过程中以显式参数的形式表达曲线或曲面,该表达形式允许与模型直接交互,利于模型快速实时地实现。然而,变形过程中发生拓扑结构变化时该方法难以处理。相反,几何形变线模型将活动曲线看成是两个区域的分界线,活动曲线的运动过程就是分界线的进化过程。这样,轮廓曲线运动过程就独立于轮廓曲线的参数,因此可以自动处理拓扑结构的变化。    图4(a)所示为一个心脏 MR 图像上应用形变模型(或者称为活动曲线)进行分割。图4(b)中,活动曲线在图片中初始化为一个圆,然后随后慢慢形变为左心室的边缘曲线。

               

    (a)心脏 MR 图像                           (b)左心室分割结果

    图4  使用形变模型提取左心室MR 图像的内壁

     

    1.5 模糊聚类法

    模糊技术是建立在模糊集合理论基础上的, 能很好地处理三维医学图像内在的模糊性, 而且对噪声不敏感。模糊分割技术主要有模糊阈值、模糊聚类、模糊边沿检测等。近年来模糊C -均值(FCM)聚类技术的应用最为广泛。FCM 用于图像分割是一种无监督(Unsupervised)模糊聚类后的标定过程, 易于应用,但其中各像素点的数据是相互独立的,没有利用图像的空间信息,所以可以将空间信息引入算法当中以提高分割算法的准确率,非常适合于医学图像中存在不确定性和模糊性的特点。

    图1为对一幅大脑医学图像应用模糊C-均值聚算法分割的结果,该方法中应用模糊C-均值聚类算法完成了对医学图像的分割,将其分为各具特性的4部分。图5(a)是一幅原始医学图像,图5(b)是分割的结果。

    图5  模糊C-均值聚类方法分割大脑医学图像

    从图5中可以看出对于图中面积比较大的部分取得了较好的分割结果,但是对于一些面积很小的部分结果不太好。还要进一步研究。

    近年来,基于模糊聚类的图像分割方法及其改进算法在医学领域得到了广泛应用,如Kaur,P.等人[9]在2012年提出了一种自动的直观模糊聚类方法,在模拟和真实的脑部MRI图像中进行实验,对比传统的模糊C- 均值、噪声聚类、核化模糊C- 均值等方法,实验结果显示Kaur,P.等人提出的方法更为可靠有效;Liu,Y.等人[10]提出一种带有双边滤波的模糊C- 均值(FCM) 聚类方法进行医学图像分割,通过实验结果和定量分析表明,与传统的FCM相比,该方法具备更高标准的抑制噪声能力和细节保护;Christ,M.C.J.等人[11]提出根据不同类型的模糊C-均值算法改进的医学图像分割技术,并将模糊C- 均值和其他聚类算法如KM、EM和KNN相比较,实验证明模糊C- 均值可提供更好的结果。

     

    1.6 基于遗传算法的方法

    遗传算法(Evolutionary Algo rithms)基本思想是建立在自然选择和群体遗传学机理基础上的随机、迭代、进化, 它采用非遍历寻优搜索策略, 是一种简单、适于并行处理、具有鲁棒性和广泛适用性的搜索方法。此算法的搜索过程不直接作用在变量上, 而是在参数集进行了编码的个体, 这使得遗传算法可直接对结构对象(图像)进行操作。整个搜索过程是从一组解迭代到另一组解, 采用同时处理群体中多个个体的方法, 降低了陷入局部最优解的可能性, 并易于并行化。搜索过程采用概率的变迁规则来指导搜索方向, 而不采用确定性搜索规则, 而且对搜索空间没有任何特殊要求(如连通性、凸性等), 只利用适应性信息, 不需要导数等其它辅助信息, 适应范围广。

    遗传算法擅长于全局搜索, 但局部搜索能力不足, 所以常把把遗传算法和其它算法结合起来应用。如Guan,X.-W.等人[12]在2011年提出一种遗传算法,用全局搜索能力和类间最大变化作为适应度函数,算法结合形态学理论提取图像边缘,实现分割,分割结果如图6所示。实验结果表明,这种遗传算法性能稳定,融合结果理想;Jaffar,M.A.等人[13]在2009年提出一种结合支持向量机的遗传算法,在肺部CT图像中对肺结节进行检测,分割效果理想;Liu,J.等人[14]提出了一种遗传神经网络算法来分割皮肤癌图像,执行基于遗传算法的神经网络的权重和阈值优化来改进BP神经网络的收敛速度,由该方法分割的皮肤癌图像可得到连续的边缘和清晰的轮廓,可以用于皮肤癌的定量分析和鉴定。

    图6  遗传算法分割医学图像。(a)原始图像(b)提取边缘的图像(c)边缘图像曲线拟合结果(d)分割后的图像

     

    1.7 基于小波变换的方法

    小波变换是对Fourier分析的继承与发展,利用小波变换进行医学图像分割的基本方法是通过小波变换将图像直方图分解成不同级别的系数,用尺度控制并依照小波系数和给定的分割准则来选择阈值。小波变换在较大尺度上由噪音引起的细小突变较少,容易描述医学图像信号的整体行为,可检测出医学图像灰度值变化较大的轮廓,因此可以通过在不同尺度下逐步确定阈值来处理医学图像。

    Bindu,Ch.Hima1等人[15]在2011年提出了一种基于小波变换的全自动医学图像分割方案。整个计划分为3个阶段。在第一阶段中,计算图像的小波变换,随后融合LH,HL和HH系数;在第二阶段中,通过计算全局阈值来确定初始点;在第三阶段中,从每个初始点开始进行搜索程序,得到闭环轮廓;Alzubi,S.等人[16]在2011年使用小波、脊波和曲波变换的多分辨率分析建立了一个医学图像分割系统。在不同的医学图像如PET,CT或MRI图像进行实验研究,对曲波变换的医疗数据集进行了测试,并与从其他变换所得到的结果进行了比较。试验表明,使用曲波扫描显著提高了异常组织分类,并减少了噪声。

    图7(a)是一幅原始肝脏CT图像,图7(b)是基于小波变换后的叠加了分割线的分割结果。从结果中可以看出,肝脏左叶也被成功地划进了肝脏的区域,该结果同样受到了“体效应”的影响,部分胃部的气泡也被划进了肝脏的区域,但所得结果还是可以接受的。

             

    (a)肝脏CT图像                          (b)分割结果

    图7  基于小波变换的图像分割

     

    1.8 基于神经网络的方法

    在八十年代后期,在图像处理、模式识别和计算机视觉的主流领域,受到人工智能发展的影响,出现了将更高层次的推理机制用于识别系统的做法。这种思路也开始影响图像分割方法,在解决具体的医学问题时,出现了基于神经网络模型(ANN)的方法。

    神经网络模拟生物特别是人类大脑的学习过程,它由大量并行的节点构成。每个节点都能执行一些基本的计算。学习过程通过调整节点间的连接关系以及连接的权值来实现。神经网络技术的产生背景也许是为了满足对噪声的鲁棒性以及实时输出要求的应用场合而提出的,一些研究人员也尝试了利用神经网络技术来解决图像分割问题。

    多数神经网络方法的出发点是将图像分割问题转化为诸如能量最小化、分类等问题,从而借助神经网络技术来解决问题,其基本思想是用训练样本集对 ANN 进行训练以确定节点间的连接和权值,在用训练好的 ANN 去分割新的图像数据。这种方法的一个问题是网络的构造问题。这些方法需要大量的训练样本集,然而收集这些样本在实际中是非常困难的。ANN 同样也能用于聚类或形变模型,这时 ANN 的学习过程是无监督的。

    卷积神经网络(CNN)作为神经网络的一种,在医学图像分割领域的应用尤为重要,其结构和应用将在文章第2部分具体介绍。

    以上介绍的各种图像分割算法,在不同应用领域表现不同。在医学图像分割领域,如今表现最好的便是卷积神经网络的方法。在2015年组织的糖尿病视网膜病变监测(Diabetic Retinopathy Detection)挑战赛中(https://www.kaggle.com/c/diabetic-retinopathy-detection),参赛者需要对彩色眼底图像进行病变识别监测,该比赛共有661支队伍参加,其中排名靠前的队伍使用的大多都是卷积神经网络的方法。无独有偶,在用MRI测量心脏体积和射血分数的医学图像处理竞赛中(https://www.kaggle.com/c/secon-dannual-data-science-bowl),取得领先的队伍使用的也是卷积神经网络的方法。文章接下来便会对卷积神经网络这一算法进行具体介绍。

     

    2.卷积神经网络

    2.1 卷积神经网络的发展历程

    卷积神经网络的发展历程大致可以分为三个阶段: 理论提出阶段、模型实现阶段以及广泛研究阶段。

    2.1.1 理论提出阶段

    20 世纪60 年代,Hubel 等[17]的生物学研究表明,视觉信息从视网膜传递到大脑中是通过多个层次的感受野(Receptive Field ) 激发完成的。1980 年,Fukushima 第一次提出了一个基于感受野的理论模型Neocognitron[18]。Neocognitron 是一个自组织的多层神经网络模型,每一层的响应都由上一层的局部感受野激发得到,对于模式的识别不受位置、较小形状变化以及尺度大小的影响。Neocognitron采用的无监督学习也是卷积神经网络早期研究中占据主导地位的学习方式。

    2.1.2 模型实现阶段

    1998 年,Lecun等[19]提出的LeNet-5采用了基于梯度的反向传播算法对网络进行有监督的训练。经过训练的网络通过交替连接的卷积层和下采样层将原始图像转换成一系列的特征图,最后,通过全连接的神经网络针对图像的特征表达进行分类。卷积层的卷积核完成了感受野的功能,可以将低层的局部区域信息通过卷积核激发到更高的层次。LeNet-5 在手写字符识别领域的成功应用引起了学术界对于卷积神经网络的关注。同一时期,卷积神经网络在语音识别[20]、物体检测[21]、人脸识别[22]等方面的研究也逐渐开展起来。

    2.1.3 广泛研究阶段

    2012 年,Krizhevsky等[23]提出的AlexNet在大型图像数据库ImageNet[24]的图像分类竞赛中以准确度超越第二名11%的巨大优势夺得了冠军,使得卷积神经网络成为了学术界的焦点。AlexNet之后,不断有新的卷积神经网络模型被提出,比如牛津大学的VGG(Visual GeometryGroup)[25]、Google的GoogLeNet[26]、微软的ResNet[27]等,这些网络刷新了AlexNet在ImageNet上创造的纪录。并且,卷积神经网络不断与一些传统算法相融合,加上迁移学习方法的引入,使得卷积神经网络的应用领域获得了快速的扩展。一些典型的应用包括:卷积神经网络与递归神经网络(Recurrent Neural Network,RNN) 结合用于图像的摘要生成[28-29]以及图像内容的问答[30-31];通过迁移学习的卷积神经网络在小样本图像识别数据库上取得了大幅度准确度提升[32];以及面向视频的行为识别模型———3D 卷积神经网络[33]等。

     

    2.2 感知器神经网络模型

    感知器(Perceptron)是神经网络中的一个概念。感知器模型是美国学者罗森勃拉(Rosenblatt)特为研究大脑的存储、学习和认知过程而提出的一类具有自学习能力的神经网络模型,它是第一个机器学习模型,它把对神经网络的研究从纯理论探讨引向了从工程上的实践。感知器是经典的线性分类模型,是神经网络和支持向量机的基础。

     

    2.2.1 单层感知器

    Rosenblatt提出的感知器模型是一个只有单层计算单元的前向神经网络,称为单层感知器,它是一种二元线性分类器。单层感知器是最简单的神经网络,它包含输入层和输出层,而输入层和输出层是直接相连的。单层感知器模型的结构如图7所示。

    图8  单层感知器模型

     

    图8显示,对于每一个输入值 X=(x1,x2,…,xd),通过一个权重向量W,进行加权求和,并作为阈值函数的输入,可以写成如下线性函数的形式:

           (1)

    式(1)中,xi是输入分量,wi是权值分量,w0是阈值,O是目标输出。作为分类器,可以用已知类别的模式向量或特征向量作为训练集。利用式(1),计算输入层中,每一个输入端和其上的权值相乘,然后将这些乘积相加得到乘积之和。如果乘积和大于临界值(一般是0),输出为1;如果小于临界值,输出为 0,从而将输入向量分成了两类,实现分类器的作用。

     

    2.2.2 多层感知器

    单层感知器的缺点是只能解决线性可分的分类模式问题。对于非线性问题,采用多层网络结构可以增加网络的分类能力,即在输入层与输出层之间增加一个隐含层,从而构成多层感知器。由输入层、隐含层(可以是一层或多层)和输出层构成的神经网络称为多层前馈神经网络。多层感知器的拓扑结构如图9所示。

     

    图9  多层感知器模型

     

     

    2.3 反向传播(Back Propagation,BP)算法

    反向传播算法也称为误差后向传播神经网络,它是一种用于前向多层神经网络的反向传播学习算法,也是神经网络模型中应用最广泛且最重要的一类学习算法。它具有理论依据坚实、推导过程严谨及通用性好的优点。

    算法的学习过程由信号的正向传播与误差的反向传播两个过程组成,即:①正向传播: 输入层接收外来的输入样本,各隐含层进行逐层处理后,输出层输出结果。将输出层的实际输出与期望输出进行比较,若两者不相吻合,则进入误差的反向传播阶段;②误差反向传播: 用输出后误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差,如此逐层反传下去,各层单元产生的误差信号,用来修正各单元误差(权值),以期误差最小。

    在BP模型的学习训练过程中,可利用一些方法如梯度下降法,使权值不断的朝着输出误差减少的方向调整,直到网络输出的误差减少到允许的程度,或者可以事先指定必要的学习次数,达到既定次数即可停止训练#由此可知,BP算法的信号正向传播与误差反向传播的各层权值的调整过程是交替的、多次反复的。

    BP算法的流程图如图10表示。

     

    图10  BP算法流程图

     

    2.4 卷积神经网络结构

    卷积网络是为识别二维形状而特殊设计的一个多层感知器,这种网络结构对平移、比例缩放、倾斜或者共他形式的变形具有高度不变性。 这些良好的性能是网络在有监督方式下学会的,网络的结构主要有稀疏连接和权值共享两个特点,包括如下形式的约束:

    (1)特征提取。每一个神经元从上一层的局部接受域得到突触输人,因而迫使它提取局部特征。一旦一个特征被提取出来, 只要它相对于其他特征的位置被近似地保留下来,它的精确位置就变得没有那么重要了。

    (2)特征映射。网络的每一个计算层都是由多个特征映射组成的,每个特征映射都是平面形式的。平面中单独的神经元在约束下共享 相同的突触权值集,这种结构形式具有如下的有益效果:a.平移不变性。b.自由参数数量的缩减(通过权值共享实现)。

    (3)子抽样。每个卷积层后面跟着一个实现局部平均和子抽样的计算层,由此特征映射的分辨率降低。这种操作具有使特征映射的输出对平移和其他 形式的变形的敏感度下降的作用。

    卷积神经网络是一个多层的神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成。 

    https://img-my.csdn.net/uploads/201304/10/1365562094_2229.jpg

    图11  卷积神经网络的概念示范图

    卷积神经网络的概念示范如图11所示。输入图像通过和三个可训练的滤波器和可加偏置进行卷积,卷积后在C1层产生三个特征映射图,然后特征映射图中每组的四个像素再进行求和,加权值,加偏置,通过一个Sigmoid函数得到三个S2层的特征映射图。这些映射图再进过滤波得到C3层。这个层级结构再和S2一样产生S4。最终,这些像素值被光栅化,并连接成一个向量输入到传统的神经网络,得到输出。

    一般地,C层为特征提取层,每个神经元的输入与前一层的局部感受野相连,并提取该局部的特征,一旦该局部特征被提取后,它与其他特征间的位置关系也随之确定下来;S层是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射为一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。

    此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数,降低了网络参数选择的复杂度。卷积神经网络中的每一个特征提取层(C-层)都紧跟着一个用来求局部平均与二次提取的计算层(S-层),这种特有的两次特征提取结构使网络在识别时对输入样本有较高的畸变容忍能力。

     

    2.5 卷积神经在医学图像分割上的应用

    深度卷积神经网络(CNN)因其具有优良的自主特征能力和良好的特征表达能力,在对医学影像(MRI、CT、X射线等)分割领域以及辅助诊断方面取得了巨大成功。

    文献[34]提出了一种使用卷积神经网络实现在X射线图像中骨骼结构分割的方法,文献采用四种卷积神经网络模型提取图像特征,四种不同配置如表1所示,并在最后一层用softmax分类器对像素进行二分类,将骨骼区域从周围组织中分割出来。由于X射线图像的分辨率很高,为了减少训练的时间,选取局部感兴趣的区域进行训练。在分割的过程中,再不需要人为干涉,避免了人为选取特征存在误操作的风险。骨骼分割结果如图12所示,实验结果表明,第四种神经网络模型在像素误差(Pixel error)、兰德误差(Rand error)和分裂合并翘曲误差(Warping error)三个指标上均取得了优良的性能,如表2所示。

     

    表1  四种卷积神经网络模型的配置

     

    图12  四种卷积神经网络模型下的骨骼轮廓提取结果。从左到右依次为:原图像,模型1,模型2,模型3,模型4

     

    表2  四种卷积神经网络模型的性能和训练时间

     

    文献[35]提出乳房X射线图像中肿瘤分割的框架,如图13所示。该框架结合了深度卷积网络具有优良特征表达能力的特性,将其整合到框架中作为势函数,用于基于像素点的和像素点之间边的势能转换。并且在该框架中跟其他的势函数作比较,比如高斯混合模型、形状先验模型。最后通过实验表明,深度学习模型作为结构化预测模型势函数的分割准确率相比于高斯混合模型、形状先验模型有大幅提升。

    图13   乳房X射线图像中肿瘤分割的CNN模型

     

    卷积神经网络在医学影像分割的准确率方面是毋庸置疑的,但扫描一张图像往往需要几分钟时间,对于分辨率高的图像需要的时间则更长。文献[36][37]分别指出在卷积和池化的过程中,在一个滑动窗口和它的后续窗口之间存在重复的卷积计算和最大池化操作,这是卷积神经网络计算时间代价大的一个重要原因。并且分别提出了减少神经网络中冗余计算的方法,用于实现医学图像的快速扫描。文献[37]提出了一种快速扫描卷积神经网络(FCNN)的方法,用于乳腺癌核磁共振图像诊断。在卷积层用卷积核去卷积整张图像或者上一层的特征图,以及在池化层将最大池化层重新排列的方法减少冗余计算,在不减少分割精度的条件下大幅提高了图像分割速度,满足了实时诊断的需求。

     

    图14  FCNN最大池化层结构图。(a)由前一个卷积层计算得到的12×12扩展特征图。注意,这个扩展的功能图包含整个输入映射的所有信息,而不仅仅是一个滑动窗口。不同颜色方块框对应4个不同的滑动窗口;(b)包含所有滑动窗口的信息。所有的位置都标为红色,(c)-(e)每个方格包含滑动窗口开始的所有位置的信息,分别标为绿色,蓝色,橙色。

     

    文献[38]提出了一种基于最大池化卷积神经网络快速扫描医学图像的方法,提出了扩充的特征图,即该图包含输入图像每个patch的特征,这样只用一次卷积操作就可以对获得全部的特征。同样,在最大池化层只需要一次池化操作即可。因此,基于最大池化卷积神经网络对扫描医学图像的速度有明显提高。

    卷积神经网络不仅在处理医学影像辅助患者进行疾病诊断方面取得了巨大成功,在电子显微成像中对细胞膜分割方面同样有着积极的意义。文献[39][40]提出了基于卷积神经网络实现电子显微图像细胞膜自动分割的方法,方法中用卷积神经网络的监督训练去恢复patches中移除的中心像素标签,能够自动改善用于执行电子显微图像自动分割的细胞膜检测概率图。其中,patches是从细胞膜检测概率图中采样得到的,细胞膜检测概率图是通过分类器算法判断是否图像中的一个像素对应在细胞膜上得到。最后实验表明,相比于传统的机器学习算法,文献[39]方法性能有显著的提高,其结构如图15所示。

     

    图15  深度神经网络监测细胞膜

     

    在文献[40]中又提出了基于迭代的卷积神经网络的细胞膜分割方法,通过在细胞膜检测概率图上迭代地使用卷积神经网络算法,细胞膜分割结果又有了一定的提升。文献[41][42]提出了用卷积神经网络和随机森林相结合的方法实现了对神经细胞图像的分割,这两种方法均获得了优良的分割性能,但他们的侧重点有些不同。文献[41]中对传统的卷积神经网络模型进行了改进,如图16所示,用随机森林分类器代替了传统的softmax分类器。在整个模型中,分别训练卷积神经网络特征提取模型和分类器模型。卷积神经网络模型训练好之后,用其学习到的特征训练随机森林分类器,最后完成电子显微图像的神经细胞膜的分割。通过实验表明,分割准确度明显高于传统的分割算法SVM,而且用随机森林做分类器比用传统的softmax做分类器效果也要好一些。

    图16  基于卷积神经网络和随机森林的细胞分割流程

     

    而文献[42]提出了级联的随机森林和卷积神经网络相结合的模型,在这个模型中结合了级联的随机森林执行速度快和卷积神经网络性能好的优势,并且有两种结合方式。一种方式利用随机森林容易训练的特点,训练好的随机森林模型作为卷积神经网络的初始化,这样会大幅较少卷积神经网络模型的训练时间。另一种方式将训练好的卷积神经网络模型映射到级联的随机森林模型,在保持级联的随机森林能有快速推理性能不变的情况下提高分割的准确率,该模型如图17所示。

     

            (a)          (b)          (c)             (d)

    图17  (a)级联RF训练预测密集的语义标签。(b)级联RF然后映射到一个卷积神经网络,并进一步训练,以提高性能。(c)最后,卷积神经网络被映射到一个级联RF更新参数,以改善在测试时的速度。(d)三个分类器在斑马鱼胚胎显微图像语义分割中的应用:输入滤波器组(d1)和相应的分割输出(d2-d4)。

     

    综上,大量的文献研究表明,卷积神经网络在医学图像分割领域取得了巨大成功,它不仅提供了一个统一的方法对所有图像进行特征提取,而且它大大提高了分割的准确率。

     

    3.结论

    卷积神经网络在医学图像分割上的研究时间不是很长,但近几年发展迅速。大量的科研工作者们投身深度学习领域,随着对卷积神经网络的进一步的研究,卷即神经网络在医学图像分割以及辅助疾病诊断方面有着更广阔的应用前景。

    深度学习目前仍有一些工作需要研究。首先就是训练的时间过长问题,由于深度学习模型有大量的隐层,从输入层将低级特征表示为高级特征需要大量的计算,而且在高层运用反向传播算法优化模型权重同样需要大量运算,需要很长的时间。因此有效的可并行训练框架是一个有前景研究的方向。

     

    [参考文献]

    [1] Tang, Xu Dong, et al. "Fast image segmentation method based on threshold." Control and Decision Conference, 2008. Ccdc IEEE, 2008:3281-3285.

    [2] Jiang, Hui Yan, S. I. Yue-Peng, and X. G. Luo. "Medical Image Segmentation Based on Improved Ostu Algorithm and Regional Growth Algorithm." Journal of Northeastern University 27.4(2006):398-401.

    [3] Wu, Hai Shan, J. Gil, and L. Deligdisch. "Region Growing Segmentation of Chromatin Clumps of Ovarian Cells Using Adaptive Gradients." Journal of Imaging Science & Technology 48.1(2004):22-27.

    [4] Angelina, S, L. P. Suresh, and S. H. K. Veni. "Image segmentation based on genetic algorithm for region growth and region merging." International Conference on Computing, Electronics and Electrical Technologies IEEE, 2012:970-974.

    [5] Park, Jonghyun, S. Park, and W. Cho. "Medical Image Segmentation Using Level Set Method with a New Hybrid Speed Function Based on Boundary and Region Segmentation." Ieice Transactions on Information & Systems E95.D.8(2012):2133-2141.

    [6] Kass, Michael, A. Witkin, and D. Terzopoulos. "Snakes: Active contour models." International Journal of Computer Vision 1.4(1988):321-331.

    [7] Caselles, Vicent, R. Kimmel, and G. Sapiro. "Geodesic active contours." International Journal of Computer Vision 22.1(1997):61-79.

    [8] Malladi, Ravikanth, J. A. Sethian, and B. C. Vemuri. "Shape Modeling with Front Propagation: A Level Set Approach." IEEE Transactions on Pattern Analysis & Machine Intelligence 17.2(1995):158-175.

    [9] Kaurabc, Prabhjot. "RETRACTED: A robust kernelized intuitionistic fuzzy c-means clustering algorithm in segmentation of noisy medical images." Pattern Recognition Letters 34.2(2013):163–175.

    [10] Liu, Yuchen, et al. Fuzzy C-means Clustering with Bilateral Filtering for Medical Image Segmentation. Hybrid Artificial Intelligent Systems. Springer Berlin Heidelberg, 2012.

    [11] Christ, M. C. Jobin, and R. M. S. Parvathi. "Fuzzy c-means algorithm for medical image segmentation." International Conference on Electronics Computer Technology IEEE, 2011:33-36.

    [12] Guan, Xiaowei, X. Zhu, and S. Gao. "Medical Image Segmentation Based on Genetic Algorithm." International Conference on Information Technology, Computer Engineering and Management Sciences IEEE, 2011:359-362.

    [13] Jaffar, M. Arfan, et al. GA-SVM Based Lungs Nodule Detection and Classification. Signal Processing, Image Processing and Pattern Recognition. Springer Berlin Heidelberg, 2009:133-140.

    [14] Jianli, L., and Z. Baoqi. "The Segmentation of Skin Cancer Image Based on Genetic Neural Network." CSIE 2009, 2009 WRI World Congress on Computer Science and Information Engineering, March 31 - April 2, 2009, Los Angeles, California, USA, 7 Volumes DBLP, 2009:594-599.

    [15] Bindu, Ch Hima, and P. K. Satya. "A Fully Automatic Scheme for Medical Image Segmentation with Wavelet Based Image Fusion." Ipcv 2011,2011(1):230- 235.

    [16] Alzubi, Shadi, N. Islam, and M. Abbod. "Multiresolution Analysis Using Wavelet, Ridgelet, and Curvelet Transforms for Medical Image Segmentation." International Journal of Biomedical Imaging 2011.4(2011):136034.

    [17] Hubel, D. H, and T. N. Wiesel. "Receptive fields, binocular interaction and functional architecture in the cat's visual cortex. " Journal of Physiology 160.1(1962):106.

    [18] Fukushima, Kunihiko. "Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position." Biological Cybernetics 36.4(1980):193-202.

    [19] Lecun, Y., et al. "Gradient-based learning applied to document recognition." Proceedings of the IEEE 86.11(1998):2278-2324.

    [20] Waibel, A., et al. "Phoneme recognition using time-delay neural networks." Readings in Speech Recognition 37.3(1990):393-404.

    [21] Vaillant, R, C. Monrocq, and Y. L. Cun. "An original approach for the localization of objects in images." International Conference on Artificial Neural Networks IET, 1993:26-30.

    [22] Lawrence, S, et al. "Face recognition: a convolutional neural-network approach. " IEEE Transactions on Neural Networks 8.1(1997):98.

    [23] Krizhevsky, Alex, I. Sutskever, and G. E. Hinton. "ImageNet classification with deep convolutional neural networks." International Conference on Neural Information Processing Systems Curran Associates Inc. 2012:1097-1105.

    [24] Deng, Jia, et al. "ImageNet: A large-scale hierarchical image database." Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on IEEE, 2009:248-255.

    [25] Simonyan, Karen, and A. Zisserman. "Very Deep Convolutional Networks for Large-Scale Image Recognition." Computer Science (2014).

    [26] Szegedy, Christian, et al. "Going deeper with convolutions." Computer Vision and Pattern Recognition IEEE, 2014:1-9.

    [27] He, Kaiming, et al. "Deep Residual Learning for Image Recognition." (2015):770-778.

    [28] Donahue, J, et al. "Long-term recurrent convolutional networks for visual recognition and description." IEEE Conference on Computer Vision and Pattern Recognition IEEE, 2015:2625-2634.

    [29] Vinyals, Oriol, et al. "Show and tell: A neural image caption generator." Computer Science (2015):3156-3164.

    [30] Malinowski, Mateusz, M. Rohrbach, and M. Fritz. "Ask Your Neurons: A Neural-Based Approach to Answering Questions about Images." (2015):1-9.

    [31] Agrawal, Aishwarya, et al. "VQA: Visual Question Answering." International Journal of Computer Vision (2015):1-28.

    [32] Zeiler, Matthew D., and R. Fergus. "Visualizing and Understanding Convolutional Networks." 8689(2013):818-833.

    [33] Ji, Shuiwang, et al. "3D Convolutional Neural Networks for Human Action Recognition." Pattern Analysis & Machine Intelligence IEEE Transactions on 35.1(2013):221-231.

    [34] CERNAZANUGLAVAN, and HOLBAN. "Segmentation of Bone Structure in X-ray Images using Convolutional Neural Network." Advances in Electrical & Computer Engineering 13.1(2013):87-94.

    [35] Dhungel, Neeraj, G. Carneiro, and A. P. Bradley. "Deep Learning and Structured Prediction for the Segmentation of Mass in Mammograms." International Conference on Medical Image Computing and Computer Assisted Intervention 2015:605-612.

    [36] Havaei, M, et al. "Brain tumor segmentation with Deep Neural Networks. " Medical Image Analysis 35(2016):18-31.

    [37] Su, Hai, et al. "Region segmentation in histopathological breast cancer images using deep convolutional neural network." IEEE International Symposium on Biomedical Imaging IEEE, 2015:55-58.

    [38] Giusti, A, et al. "Fast Image Scanning with Deep Max-Pooling Convolutional Neural Networks." Computer Sciences (2013):4034-4038.

    [39] Dan, C Cirean, et al. "Deep Neural Networks Segment Neuronal Membranes in Electron Microscopy Images." Advances in Neural Information Processing Systems 25(2012):2852--2860.

    [40] Wu, Xundong. "An Iterative Convolutional Neural Network Algorithm Improves Electron Microscopy Image Segmentation." Computer Science (2015).

    [41] 曹贵宝. 随机森林和卷积神经网络在神经细胞图像分割中的应用研究. Diss. 山东大学, 2014.

    [42] Richmond, David L., et al. "Relating Cascaded Random Forests to Deep Convolutional Neural Networks for Semantic Segmentation." Computer Science (2015).

     

     

     

    展开全文
  • 这是一篇博士论文,写的是关于水平集方法在图像分割中的应用,对于学图像处理的人来说还是不错的
  • 针对纤维增强复合材料微观结构图像的特点,提出了一种改进基于模糊思想阈值分割算法,该算法利用整体阈值、局部阈值和像点梯度信息之间关系,构造了一个双输入单输出模糊逻辑系统,合理计算出像点最佳分割...
  • 一种改进的分水岭算法在医学图像分割中的应用研究,贺振华,黄英,分水岭算法在图像处理领域得到了广泛的应用,但单独使用分水岭进行图像分割会产生过分割现象,难以得到令人满意的结果。针对分水
  • 多阈值图像分割问题仍然是图像压缩,目标识别和计算机视觉巨大挑战。...广泛实验表明,CHBMA可以提供更有效,更高效结果,可应用于复杂的图像处理,例如自动目标识别,以及最新基于人口阈值化方法。
  • 水平集方法的诞生有效解决了以前算法不能解决的曲线演化过程中的拓扑变化问题,其核心是利用水平集这一数学理论来对能量函数进行极小值求解的曲线演化过程,通过求解极小值最终获取目标轮廓从而达到图像分割的目的...
  • 形态学分水岭算法在图像分割中应用,房国志,徐建东,图像分割图像处理领域重要研究内容。本文将基于极小值技术形态学分水岭算法应用图像分割中,克服传统分水岭过分割问
  • 针对痕迹图像在比对与识别中的预处理要求,以图像像素灰度和邻域信息的二维矢量为聚类样本,以二维直方图确定阂值数,采用对样本进行加权的模糊。均值聚类算法对痕迹图像进行多阂值分割处理。实验结果表明,基于样本加权...

空空如也

空空如也

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

图像分割在图像处理中的应用