Advertisement

图像分割技术研究及仿真

阅读量:

一、课题背景

作为一项热门的技术学科,在当前信息技术领域中

本课题的主要研究方向是系统性分析图像分割技术中常用方法的优劣势对比,并采用其中某一类方法构建相应的仿真实验平台,并对其性能指标进行深入分析与对比评估。

二、图像分割技术算法综述

2.1 基于阈值的图像分割技术

所谓的Threshold分割技术就是在执行图像分割之前人为设定一个或多个Thresholds,在依据像素点灰度值大小将各像素归类到相应的Threshold范围内后完成图像分割这一过程。该方法通常可分为两大类:当所关注的对象为全部图像且仅采用一个Threshold时我们称之为全局Threshold分割;而若在不同区域采用不同Threshold并分别进行处理则被定义为局部Threshold分割。根据所采用的具体算法特点Threshold分割方法还可划分为最大类空间方差法基于直方图的变换方法以及基于过渡区的Threshold选取法等显然这些算法的关键在于确定最佳的截止点这可以通过人工设定适当的Thresholds当然这需要研究者具备丰富的研究经验;也可以借助系统自动计算最佳Thresholds位置。如果Threshold选择不当将会导致分割失败

阈值分割法是图像分割技术发展初期最早提出的一种基本方法。相较于其他复杂算法而言,其实施难度相对较低,特别在目标与背景图像灰度差异较大的情况下能够获得较好的分割效果。然而,人们通常会选择通过分析灰度分布中的谷部区域来确定合适的阈值,当无法达到特定标准时,分割效果往往达不到预期理想状态,这也正是它的主要缺点之一。然而由于其仅关注单一像素数值而不考虑空间信息的影响,在实际应用中往往难以应对复杂的噪声干扰

此图像采用阈值分割法生成,在实际应用中我们能够认识到:远处景物由于距离镜头较远通常无法获得充足的光线照射,则会在左侧图像中表现为亮度较低的部分;相反地,则位于镜头前后较近的目标物体则能够在图像中清晰呈现。因此,在仅使用黑白两种色调表示时:其灰度均低于设定阈值界限的表现将表现为左图所示的结果即为纯白色区域;而目标物体区域具有较高的平均亮度水平当其亮度超过该阈值得出时,则会在右侧图像中表现为纯黑色区域。由此可知原始图像的空间直方图呈现出连续而不中断的变化特征;经过上述Threshold分割处理后则会简化为仅有黑白色两个层次的空间分布模式这一特性即为我们所熟知的操作特点。

2.2边缘检测法

边缘检测法所提及的第二种分割算法在图像分析中具有重要意义。观察图像时人们往往通过识别边缘区域来确定物体的具体位置这是因为边缘区域能够给人带来强烈的视觉刺激当灰度值变化显著时我们能够大致判断两侧可能是不同的物体这在数学上表现为一阶导数出现极值点或二阶导数为零因此通过对这些边缘信息进行检测可以帮助实现图像分割。对于边缘检测方法其基本原理是图像中边缘区域的灰度值会发生突变这种突变可以通过检测灰度值函数的一阶导数来识别进而形成所谓的微分算子法常用的一阶微分算子包括Prewitt梯度算子Roberts梯度算子以及Sobel算子等而二阶微分算子则包括Laplacian 算子以及高斯拉普拉斯算子(LoG)。[[2]]然而需要注意的是图像中的噪声点同样会引发灰度值的变化从而干扰边缘检测效果因此在进行分割前必须对图像进行去噪处理例如采用高斯滤波器进行去噪处理此方法的优点在于能够实现精确且高效的边缘提取但当遇到边缘不明显的情况可能会导致提取出的边界不完整或者产生模糊边界无法保证边界的连续性和完整性

图2.2 Roberts算子边缘分割图像

图2.2 Sobel算子边缘分割图像

图2.3 Prewitt算子边缘分割图像[[3]]

这三个工具均为常用的一阶微分工具,在应用中均能生成结果图像具有相似特征。一个显著的特点是它们都能突出原始图像中的边界区域,在右图中这些边界部分表现为高灰度值的点群,在左图中则对应为明显的黑色区域群这是因为系统检测到这些区域灰度值变化显著因而将其识别为图像边界;而灰度值变化不大的区域则被识别为背景部分;然而在增强效果上存在明显差别其中Sobel的表现略胜于Prewitt而这两者又远超Robert的表现这三种方法同样揭示了边界分割技术的一些局限性其中有一个区域在边界清晰度方面存在不足即右图中女士帽檐左侧某一小块区域其与背景之间的灰度差异数值较小因此在处理后该区域并未被识别为边界从而出现了边缘缺失的情况

2.3 区域分割法

区域分割的核心在于将图像中具有相似属性的一系列像素点组合在一起形成特定区域,并实现这些区域之间的合理划分与标识。该方法弥补了基于阈值分割算法存在的不足,并能有效地解决分割过程中可能出现的不连续性问题。根据所采用的不同理论基础和划分标准, 区域分割方法主要可分为两类:一类是基于连通域的概念进行图像分解的操作,这类方法又被统称为分裂与合并相结合的方法;另一类则是以种子点为基础,通过逐步扩展的方式实现目标区域识别的操作,这种方法则被称为基于种子增长模型的图像处理技术。将这两种基本操作模式有机结合起来,就能构建出更为完善的图像处理体系,从而实现对目标图像信息的有效提取与分离过程。其中最关键的技术要点在于如何选择合理的判别标准来确保最终生成的目标区域具有良好的连通性和一致性特征。常用的判断准则主要包括以下几点:一是基于区域形状特征的标准;二是基于区域内灰度分布统计性质的标准;三是基于区域内灰度差值变化的标准等

该算法具有明显的优缺点,在实际应用中主要应用于处理小型图像。然而,在面对较大尺寸的图像时其计算速度会出现显著降低的情况 同时需要研究人员具备良好的处理经验 方便他们能够自行设定合适的初始参数值 以便更好地推动后续运算过程的发展

无论是区域生长法还是分裂合并法都是一个图像动态过程的表现形式,其演变规律难以仅凭一张图片概括,因此在此不做区域分割法的具体图解说明

2.4 基于水平集的分割方法

由Sethian与Osher于1988年共同提出的水平集方法是一种创新性的曲线演化处理手段。该方法的核心概念在于将动态变化的界面曲线方程转化为高一维空间中的零水平集函数来进行描述。通过这一间接的方式巧妙地将闭合曲线的表现形式转化为更高维度的空间模型,则使得我们能够将复杂曲线演化过程的跟踪问题转化为偏微分方程的数值求解问题。这样一来无论涉及曲线分裂还是合并等复杂情况都可以被准确地数学化表示出来。这种方法不仅大大简化了对复杂空间几何体形态演变的研究流程而且也为深入分析其拓扑结构提供了有力工具。自其提出以来在研究深度与广度上都取得了显著的进步且其应用领域也不断扩大覆盖从单纯的几何曲线追踪到如今广泛应用于图像处理等多个层面的问题均展现了该方法强大的技术魅力与实用价值在此本节仅对其基本框架进行概述而更为深入的技术原理及具体思路将在后续章节中详细阐述

水平集方法在医学与航空领域得到了广泛应用,并展现出良好的前景。其主要原因在于它在处理空间结构复杂图像方面具有显著的优势与独特的重要性,在未来几年内该方法将变得更加完善,并将得到更为广泛的运用

2.5 分割算法对比表格

在上一章中, 我们已经系统地介绍了四种当前非常流行的图像分割技术. 这些技术的核心实现原理各具特色. 比如, 阈值分割方法主要依据图像不同区域灰度值分布的特点来进行图像分离;而边缘检测则正是利用了边缘区域灰度值发生突变这一关键特性;区域分割则通过某种相似性指标将图像中的像素点划分为不同的类别;此外, 水平集方法作为一种创新性的算法也得到了广泛关注. 在本节中, 我们将通过对比表格的形式系统地探讨这些方法的优势与局限性及其适用范围.

表2.1 分割算法对比

阈值分割法 边缘检测法 区域分割法 水平集法
主要思路和原理 通过设定阈值来判定所有像元类别,即实现图像分割 利用图像中灰度值突变来确定分割边缘,边缘内为目标图像 把具有相似性质的像元点归为一类,然后进行像元合并或分割 用隐式方程表达闭合曲面,将曲线演化转化成求解偏微分方程
优点 简单有效,在区分不同类别的物体时效果明显 检测精度高,能快速确定分割图像边缘 区域生长法算法简单,适合分割小图像;分割合并法不需要预先定义种子点 算法准确,可以处理拓扑结构复杂,空间形状不单一的图像
缺点 要求图像的灰度直方图有明显的波峰或波谷,对噪声敏感 由于噪声也会使灰度值突变,所以对噪声非常敏感 区域生长法需要人工定义种子点,不能分割区域面积大的图像。分裂合并法可能会破坏分割图像边缘 算法应用泛函和偏微分方程的知识计算量大,对噪声比较敏感

通过对比分析以上图表可以看出我们可依据不同属性选择相应的图像分割方法:

当在一个图像中存在不同类别物体时,则可采用阈值分割法以识别出不同种类的物体;然而该方法要求图像灰度直方图呈现出明显的峰值和谷值特征,在这种情况下才能获得较为理想的分割效果。

当图像分割算法要求具备高精度和快速性时,在选择适合该类算法的图像分割方法时,在选择哪种边缘微分算子的问题上应当权衡利弊;例如CANNY微分算子能够有效地减少噪声干扰对图像分割效果的影响;对于大多数图像分割算法来说,在应用之前都需要进行去噪处理以提高准确性。

在目标图像较小时,使用区域生长法能够获得较好的效果;

当待分割图像拓扑结构变化,外形复杂时使用水平集算法分割较好。

这几项内容已较为清晰地阐述了各技术优缺点及其适用范围。据观察而言,在图像分割方面的应用范围确实较为广泛,并且在前景方面表现不错。同时该方法在处理高维空间分割方面具有显著优势——相较于其他技术而言无法与其相比。因此下一章我们将深入探讨这一具体的技术——水平集分割方法

三、基于水平集的图像分割

3.1 水平集方法简介

在一般情况下,在一般情况下

通过将动态变化的界面曲线方程嵌入到高一维度的空间中,并定义零水平集函数来描述这些变化

图3.1 零水平集及其演化

当人们掌握轮廓线的概念时,他们自然会认识到这样一个事实:任何复杂的物体都可以通过对其无数个零水平集进行分析来还原其物理形状和拓扑结构。因此这种方法的主要优势体现在它在分割复杂物体图像方面表现得优于其他传统方法。

3.2 核心代码参考

本文采用的算法模型属于一种几何活动轮廓模型,在研究过程中由李纯明提出该方法并对其实现进行了优化[[5]]。

以下为源代码:

clear all;

close all;

Img = imread('twocells.bmp'); % 读入一副图像

Img=double(Img(:,:,1));%转变图像格式

sigma=1.5; % 设置高斯滤波的参数

该代码段通过调用预定义的Matlab函数 fspecial 生成一个高斯滤波器,并在此处执行高斯平滑操作。其中第一个参数指定的是模板宽度(单位:像素),第二个参数指定的是标准差σ(单位:像素)。这有助于明确每个参数的作用。

Img_smooth=conv2(Img,G,'same'); % smooth image by Gaussiin convolution

以G为模板对IMG做卷积运算,可以得到光滑过的IMG图像

[Ix,Iy]=gradient(Img_smooth);%求光滑过后的图像的水平梯度和垂直梯度

f=Ix.2+Iy.2;

g=1./(1+f); % edge indicator function.设置边缘检测函数

epsilon=1.5; the papramater in the definition of smoothed Dirac function

timestep=5; % time step定义时间步长

mu=0.2/timestep; % coefficient of the internal (penalizing) energy term P(\phi)

% Note: the product timestep*mu must be less than 0.25 for stability!

% the boundary, and inside of a region R, respectively.

[nrow, ncol]=size(Img);

c0=4;

initialLSF=c0*ones(nrow,ncol);

w=8;

initialLSF(w+1:end-w, w+1:end-w)=0; % zero level set is on the boundary of R.

This serves as a reminder that comments are permissible for this purpose.
It is not mandatory for the initial LSF to incorporate a zero-level-set mechanism.

This serves as a reminder that comments are permissible for this purpose.
It is not mandatory for the initial LSF to incorporate a zero-level-set mechanism.

initialLSF(w+2:end-w-1, w+2: end-w-1) = -c0; % A negative scalar -c0 within the domain R, and a positive scalar c0 outside the domain R.

u=initialLSF;

figure;imagesc(Img);colormap(gray);hold on;

[c,h] = contour(u,[0 0],'r');

title('Initial contour');

% start level set evolution

for n=1:300

u=EVOLUTION(u, g ,lambda, mu, alf, epsilon, timestep, 1);

if mod(n,20)==0

pause(0.001);

imagesc(Img);colormap(gray);hold on;

[c,h] = contour(u,[0 0],'r');

iterNum=[num2str(n), ' iterations'];

title(iterNum);

hold off;

end

end

imagesc(Img);colormap(gray);hold on;

[c,h] = contour(u,[0 0],'r');

totalIterNum=[num2str(n), ' iterations'];

title(['Final contour, ', totalIterNum])[[6]];

3.3 实验仿真及其结果

(1)由系统给定初始化曲线

本实验基于MATLAB 2012a平台进行仿真实验。原图是一张像素为83×65的图片,并且系统能够自动绘制出初始轮廓曲线。

图3.2 原图像和初始轮廓线

此时我们采用迭代次数n=50,迭代时间为t=Δt即起始曲线进行54次更新,每次更新时间为Δt,随后观察其发展轨迹。

图3.3 分割过程图像

从图表中可以看出曲线正在朝着目标的两个细胞靠拢, 但此时的曲线还不够光滑. 由此可见,在这种情况下我们可以推断出: 曲线演化过程尚未完成.

当迭代了100次时:

图3.4 分割过程图像

曲线已经包拢了两个细胞,但还没有分割完全。

当迭代了200次时:

图3.5 分割完成图像

分割已告一段落,曲线较为平滑。值得观察的是迭代300次后的状态如何。

迭代300次:

图3.6 迭代300次分割图像

两条曲线几乎完全重合;这是因为,在该区域中被指引进化的函数已经识别出该位置处的泛函能量值达到最小值;进一步迭代只会轻微调整边界并使其更加圆滑;至此我们可以认为分割过程完成。

同样的情况下,在更换一幅图像时也可实现图像分割。原始像素为84x84,在系统中会自动绘制初始轮廓曲线

图3.7 分割初始图像

我们设置迭代次数n=250,每次迭代时间间隔t=0.001s;分割后的图像如下:

图3.8 分割完成图像

能够观察到初始轮廓线经历了演变过程后已环绕在物体周围,则此时图像已完成分割

(2)自定义初始化曲线

实验一:

图3.9 自定义初始轮廓线图像

系统将根据我们所绘制的初始轨迹来拟合出一条具有最高相似度的初始曲线,请参考下图

图3.10 系统自动分配初始轮廓线

同样我们还是和上一个实验取同样的参数,即迭代次数n=300,时间间隔t=0.001s

图3.11 分割完成图像

实验二:

图3.12 自定义初始轮廓线图像

保证与上一个实验具有同样的参数n=250,t=0.001s

图3.13 系统分配初始轮廓线图像

图3.14 分割完成图像

本研究通过一系列实验证明了:当实验参数选择合适时,在适当设置下(该算法能够实现精准且可靠的)完成图像分割;进一步验证了上述结论的有效性。这进一步证明了:其性能仅受图像固有特征的影响;因此,在实际应用中,默认情况下也可根据具体情况设定初始轮廓线。

结论

图像是数字处理技术体系中的一个核心领域,在这一领域内对图象进行简化处理能够有效提高研究者的认知效率。图象分割技术作为数字影像处理的重要课题之一,在近年来的发展中始终处于引人注目的位置。其标志性的转变过程标志着从基础层次向高级层次推进的关键性节点,在这一背景下该技术领域的快速发展不仅推动了数字影像技术和相关应用方法的进步和完善,在模式识别等新兴领域也占据了不可或缺的关键地位。

本文对现有图像分割技术进行了系统性归纳与阐述,并着重介绍了当前广泛使用的四种图像分割算法的基本原理。通过对这些算法进行了MATLAB仿真实验得出了各自的特点:基于边缘检测的方法具有较高的检测精度,在确定分割区域边界方面表现出良好的性能;然而,在实际应用中容易受到噪声干扰。区域生长算法多用于处理分割小型图像的问题;当处理较大图像时,该方法的时间效率会明显降低。此外还需要研究人员具备较丰富的经验才能有效应用这一方法。阈值分割法是一种简单而有效的全局分割方法,在区分不同类别物体时能够取得较好的效果。而水平集模型特别适用于处理具有复杂拓扑结构和平滑且不单一的目标形状的情况,并且在计算效率和准确性方面均优于其他几种方法。通过仿真实验我们发现适当增加迭代次数可以使曲线的演化更加充分;然而,在迭代次数超过一定数值后只会使得曲线变得更为光滑而不影响其基本形状。此外初始轮廓线的选择不影响曲线演化的基本规律;因此在实际应用中我们可以自由选择初始轮廓线的位置以简化程序流程

全部评论 (0)

还没有任何评论哟~