基于嵌入边界约束因子的局部主动轮廓图像分割方法
技术领域
本发明属于图像处理技术领域,更进一步涉及图像分割技术领域中的一种基于嵌入边界约束因子的局部主动轮廓图像分割方法。本发明可用于对灰度不均匀图像进行分割,实现对图像特征目标的提取。
背景技术
近年来,主动轮廓模型(Active Contour Model,ACM)在计算机视觉领域变得相当流行,并且也已经被广泛的应用到图像分割上。图像分割的过程就是把每个像素作为一个数据点,分割的结果是为这些数据点赋予一个类标。具有同样类标的像素分成一类,从而实现对图像的分割。
传统的基于主动轮廓模型的图像分割方法,可分为基于边缘的主动轮廓模型的图像分割方法和基于区域的主动轮廓模型的图像分割方法。基于边缘的主动轮廓模型的图像分割方法由于利用图像的梯度信息作为能量函数收敛的条件,因此不适用于弱边缘图像;基于区域的主动轮廓模型的图像分割方法,虽然克服了基于边缘的主动轮廓模型的缺陷,但该方法将图像建模为一个分段常函数,因此不适合灰度不均匀图像的分割。
Q.Zheng,E.Q.Dong,and Z.L.Cao等人在其发表的论文“Graph cuts basedactive contour model with selective local or global segmentation”(ElectronicsLetters,2012,48(9):490-491)中提出了一种改进的局部主动轮廓的图像分割方法。该方法首先根据目标的轮廓初始化轮廓曲线,根据轮廓曲线内外的灰度差构建能量函数,将能量函数离散化后,引入图割(Graph cuts)方法优化能量函数,使得轮廓曲线演化到目标边界的时候,能量函数达到最小值,从而实现对目标物体的分割。该方法存在的不足之处是,只使用了图像的全局信息,因此对灰度不均匀及低对比度的图像分割效果不理想。
南京理工大学在其申请的专利文献“一种用主动轮廓进行红外图像分割的方法”(专利申请号201410243635.4,公开号CN104123719A)中公开了一种用主动轮廓进行图像分割的方法。该方法首先根据目标的轮廓初始化轮廓曲线,接着分别计算轮廓内部区域、外部区域及轮廓区域上各像素点的局部熵和局部标准差,构造各部分区域的特征向量,然后分别计算轮廓内部区域、外部区域的特征向量分别与轮廓区域特征向量的余弦相似性,根据计算的余弦相似性构造轮廓演化的能量函数,最后通过水平集演化实现对图像的分割。该方法存在的不足之处是,在构造局部区域的时候只根据轮廓曲线内外边界划分了局部区域,仍然不适用于灰度不均匀的图像,此外,当轮廓曲线演化到目标边界的时候,由于没有边界约束因子的约束作用,使能量函数不能最小化为0,导致轮廓曲线继续演化从而得到不准确的分割边界。
发明内容
本发明的目的在于克服上述已有技术的不足,提出了一种基于嵌入边界约束因子的局部主动轮廓图像分割方法。本发明首先初始化轮廓曲线,用基于嵌入边界约束因子的局部主动轮廓的图像分割方法,构建能量函数并优化能量函数,达到图像分割的目的。
实现本发明目的的基本思路是:首先,对待分割的图像初始化轮廓曲线;其次,在轮廓曲线周围构建局部区域;接着,在局部区域内构建边界约束因子;然后根据边界约束因子构建能量函数;最后,通过图割方法优化能量函数,实现对图像的分割。
为了实现上述目的,本发明的具体实现步骤如下:
(1)输入一幅大小为228×200像素的待分割图像;
(2)初始化轮廓曲线:
(2a)对待分割图像为紫外极光卵图像,采用基于随机霍夫变换的线性最小二乘方法进行初步分割,将初步分割结果的边界作为初始轮廓曲线;
(2b)对待分割图像为非紫外极光卵图像,用户根据待分割图像目标的边界画一条曲线作为初始轮廓曲线;
(3)构建局部区域:
在初始轮廓曲线上任意选择一个像素点,以所选像素点作为中心,以5个像素为边长组成一个正方形,将该正方形作为所选像素点的局部区域;
(4)计算局部区域中初始轮廓曲线内外像素点的灰度均值:
(4a)计算局部区域中初始轮廓曲线内像素点的灰度均值;
(4b)计算局部区域中初始轮廓曲线外像素点的灰度均值;
(5)按照下式,构建局部区域的边界因子;
K=∑max((K1+K2),0)
其中,K表示边界约束因子,max表示最大操作,K1表示局部区域中初始轮廓曲线内边界约束因子,K2表示局部区域中初始轮廓曲线外边界约束因子;
(6)根据边界因子,构建局部区域的能量函数;
(7)在局部区域内部构建几何图:
(7a)在局部区域内任意选择一个像素作为普通顶点;
(7b)将局部区域中标号为1的像素点作为第一终端顶点,将局部区域中标号为0的像素作为第二终端顶点;
(7c)将普通顶点与普通顶点的连线作为第一种边,将普通顶点分别与第一终端顶点、第二终端顶点的连线作为第二种边;
(7d)将第一种边的权值设置为局部区域的能量函数值;
(7e)判断第二种边是否满足权值条件,若是,将普通顶点与第一终端顶点连成的边的权值设置为9*109,否则,将普通顶点与第二终端顶点连成的边的权值设置为9*109;
(7f)判断是否选完局部区域中的所有像素,若是,则执行步骤(7g),否则,执行步骤(7a);
(7g)以普通顶点和终端顶点作为几何图的顶点,以第一种边和第二种边作为几何图的边,以第一种边的权值和第二种边的权值作为几何图边的权值,构建局部区域的几何图;
(8)优化局部区域的能量函数:
(8a)采用最大流-最小割方法,获得几何图中的最小割;
(8b)若第二种边在最小割中,则将第二种边中对应的普通顶点的标号更新为1,否则,更新为0;
(8c)根据普通顶点的标号,更新局部区域的能量函数,驱动局部区域内的轮廓曲线向待分割图像的边界演化;
(8d)判断当前的局部区域的能量函数是否达到最小值,若是,则分割完当前局部区域,执行步骤(9),否则,执行步骤(8a);
(9)判断是否分割完所有的局部区域,若是,则执行步骤(10),否则,执行步骤(3);
(10)输出分割图像。
本发明与现有技术相比具有以下优点:
第一,由于本发明在图像分割的过程中,构建了图像的局部区域,使用图像的局部信息对图像进行分割,克服了现有技术中使用图像的全局信息对灰度不均匀图像分割效果不理想的缺点,使得本发明的鲁棒性得到了提高。
第二,由于本发明在图像分割构建能量函数的过程中,采用了边界约束因子,克服了现有技术中当轮廓曲线演化到目标边界的时候,能量函数没有最小化为0,导致轮廓曲线继续演化的缺点,使得本发明的准确性得到了提高。
附图说明
图1为本发明的流程图;
图2为本发明对紫外极光卵图像分割的仿真图效果图;
图3为本发明对非紫外极光卵图像分割的仿真图效果图。
具体实施方式
参照附图1,对本发明的具体步骤做进一步的详细描述。
步骤1,输入一幅大小为228×200像素的待分割图像。
步骤2,初始化轮廓曲线。
对待分割图像为紫外极光卵图像,采用基于随机霍夫变换的线性最小二乘方法进行初步分割,将初步分割结果的边界作为初始轮廓曲线。
对待分割图像为非紫外极光卵图像,用户根据待分割图像目标的边界画一条曲线作为初始轮廓曲线。
步骤3,构建局部区域,使用图像的局部信息。
在初始轮廓曲线上任意选择一个像素点,以所选像素点作为中心,以5个像素为边长组成一个正方形,将该正方形作为所选像素点的局部区域。
步骤4,计算局部区域中初始轮廓曲线内外像素点的灰度均值。
第1步,按照下式,计算局部区域中初始轮廓曲线内像素点的灰度均值:
其中,
表示局部区域中初始轮廓曲线内像素点的灰度均值,∑表示求和操作,I(p)表示局部区域中初始轮廓曲线内所选的第p个像素的灰度值,l
p表示所选第p个像素取值为1或0的标号。
第2步,按照下式,计算局部区域中初始轮廓曲线外像素点的灰度均值:
其中,
表示局部区域中初始轮廓曲线外像素点的灰度均值。
步骤5,按照下式,构建边界约束因子,使轮廓曲线演化到目标边界的时候,能量函数最小化为0:
K=∑max((K1+K2),0);
其中,K表示边界约束因子,max表示最大操作,K1表示局部区域中初始轮廓曲线内边界约束因子,K2表示局部区域中初始轮廓曲线外边界约束因子。
步骤6,根据边界因子,按照下式,构建局部区域的能量函数:
其中,F表示局部区域的能量函数,p表示所选的局部区域中的第p个像素,t表示所选的局部区域中第p个像素的第t个相邻的像素,e表示所选的局部区域中第p个像素与其第t个相邻的像素所连成的边,w表示所选的局部区域中第p个像素与其第t个相邻的像素所连成的边的权重,lt表示所选的局部区域中第p个像素与其第t个相邻的像素取值为0或1的标号,当所选的第t个像素在轮廓曲线内时,lt取值为1,当所选的第t个像素在轮廓曲线外时,lt取值为0。
步骤7,在局部区域内构建几何图。
第一步,在局部区域内任意选择一个像素作为普通顶点。
第二步,将局部区域中标号为1的像素点作为第一终端顶点,将局部区域中标号为0的像素点作为第二终端顶点。
第三步,将普通顶点与普通顶点的连线作为第一种边,将普通顶点分别与第一终端顶点、第二终端顶点的连线作为第二种边。
第四步,将第一种边的权值设置为局部区域的能量函数值。
第五步,判断第二种边是否满足下述的权值条件:
若是,将普通顶点与第一终端顶点连成的边的权值设置为9×109,否则,将普通顶点与第二终端顶点连成的边的权值设置为9×109。
第六步,判断是否选完局部区域中的所有像素,若是,则执行第六步,否则,执行第一步。
第七步,以普通顶点和终端顶点作为几何图的顶点,以第一种边和第二种边作为几何图的边,以第一种边的权值和第二种边的权值作为几何图边的权值,构建局部区域的几何图。
步骤8,优化局部区域的能量函数。
第一步,将几何图作为一个从第一终端顶点经过一系列普通顶点到第二终端顶点的网络流,从网络流中任意选取一个可行流,沿着可行流的宽度遍历每一条边,找到一条第一终端顶点到第二终端顶点的增广路径。
第二步,按照下式,更新增广路径中每条边的权值:
w′i=wi-min(w1,w2,…,wn)
其中,w′i表示更新后增广路径中第i条边的权值,wi表示更新前增广路径中第i条边的权值,min表示最小操作,n表示增广路径中边的总数。
第三步,去掉更新后增广路径中权值为0的边,得到当前网络流。
第四步,判断是否找完几何图中所有的增广路径,若是,则执行第五步,否则,执行第一步。
第五步,将当前网络流作为最大流,将最大流中所有的边构成一个集合,得到几何图的最小割。
第六步,若第二种边在最小割中,则将第二种边中对应的普通顶点的标号更新为1,否则,更新为0。
第七步,根据普通顶点的标号,更新局部区域的能量函数,驱动局部区域内的轮廓曲线向待分割图像的边界演化。
第八步,判断当前的局部区域的能量函数是否达到最小值,若是,则分割完当前局部区域,执行步骤9,否则,执行步骤第一步。
步骤9,判断是否分割完所有的局部区域,若是,则执行步骤10,否则,执行步骤3。
步骤10,输出分割图像。
本发明的效果可通过以下仿真进一步说明:
1.仿真条件:
本发明的仿真是在计算机配置为core i3 2.93GHZ,内存3.45G,WINDOWS 7***和计算机软件配置为Matlab R2015b环境下进行的。
2.仿真内容:
仿真1,采用本发明对紫外极光卵图像进行分割。
图2为紫外极光卵图像分割的仿真结果图。其中,图2(a)为待分割的紫外极光卵图像,来自Polar卫星携带的紫外极光成像仪拍摄的紫外极光图像所构成的数据库。图2(b)为采用本发明的方法对紫外极光卵图像的分割结果图。图2(c)为采用现有技术的基于直方图的K-均值方法(HKM)对紫外极光卵图像的分割结果图。图2(d)为采用现有技术的自适应最小误差阈值方法(AMET)对紫外极光卵图像的分割结果图。
仿真2,采用本发明对非紫外极光卵图像进行分割。
图3为非紫外极光卵图像分割的仿真结果图。其中,图3(a)为待分割的非紫外极光卵图像,来自人造数据库。图3(b)为采用本发明的方法对非紫外极光卵图像的分割结果图。图3(c)为采用现有技术的基于区域的分段常数水平集方法(CV)对非紫外极光卵图像的分割结果图。图3(d)为采用现有技术的基于图割优化的主动轮廓方法(ACBGC)对非紫外极光卵图像的分割结果图。
3.仿真结果分析:
从图2的紫外极光卵图像分割结果图可以看出,本发明的方法基本可以分割出完整的极光卵,而现有技术的HKM方法、AMET方法均不能分割出完整的极光卵。为了更准确的评价本发明,分别用分割结果的查全率、查准率以及F score对本发明以及现有技术的分割结果做客观评价,如表1所示。
表1本发明与现有技术分割图像结果评价指标表
由表1可见,本发明方法对紫外极光卵图像的分割查全率、F score最高。总体来看,本发明对紫外极光卵图像的分割效果最好,提高了分割准确率。
从图3的非紫外极光卵图像分割结果图可以看出,本发明能完整的分割出目标的边界,而CV模型、ACBGC模型均不能完整的分割出目标的边界。