Print

发布时间: 2019-01-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.180435
2019 | Volume 24 | Number 1




    图像分析和识别    




  <<上一篇 




  下一篇>> 





基于局部连接度和差异度算子的水平集纹理图像分割
expand article info 周力, 闵海
合肥工业大学宣城校区信息工程系, 宣城 242000

摘要

目的 复杂纹理的图像分割一直是图像分割的难题,现有的一些纹理图像分割方法主要通过提取图像确定方向的灰度变化特征或者提取图像的局部灰度相似性特征得到特征图像,从而进行纹理图像的分割,然而,自然纹理中普遍存在局部形态相似和方向不确定的现象,导致现有方法不能准确地分割纹理图像。方法 本文提出局部连接算子和局部差异算子来描述局部纹理的形态相似性和局部纹理的差异度。一方面,通过设定一定阈值,将局部区域的灰度差异分为两类,分析两类差异的分布特征,从而提取图像的形态特性及局部连接度算子;另一方面,设置一种无方向性的灰度差异分析算子,提取图像局部的灰度差异值从而得到局部差异度算子。两个算子结合以更好地提取纹理图像的局部特征,然后通过融合局部相似度特征、局部差异度特征和灰度信息,构造水平集能量泛函,进而通过最小化能量泛函实现纹理图像分割。结果 相比基于Gabor变换、结构张量、局部相似度因子的纹理分割方法,提出的局部算子能够更好地区分自然图像的不同纹理区域,且对实验图像的平均分割准确率高达97%,远高于其他方法。因此,提出的模型对于自然纹理图像具有更好的分割效果。结论 本文提出了两种新颖的纹理特征局部描述子:局部连接度算子和局部差异度算子,能够有效地提取纹理特征,且有一定的互补性。实验表明,提出的方法对于复杂自然纹理图像具有良好的分割效果。

关键词

图像分割; 水平集; 多特征; 局部连接度; 局部差异度

Level set method based on local connection operator and difference operator for segmenting texture images
expand article info Zhou Li, Min Hai
Department of Information Engineering, Hefei University of Technology, Xuancheng Campus, Xuancheng 242000, China
Supported by: National Natural Science Foundation of China (61702154)

Abstract

Objective Images with complex texture features are difficult to segment. Many methods, such as Gabor filter and structure tensor, have been proposed to segment texture images. However, these methods present a number of drawbacks. For example, methods based on Gabor filter must set multiple scales and directions, and the desirable scale and direction parameters are difficult to select. Methods based on structure tensor must set two fixed directions to analyze intensity variations. However, many texture images include irregular direction features. Moreover, utilizing only the intensity variation information is an inadequate strategy. Morphology similarity and direction uncertainty often exist in nature texture images. Existing methods cannot be utilized to accurately segment nature texture images. Method Considering the morphology similarity and direction uncertainty of local texture patterns, we proposed the local connection and difference operators to extract the texture features of images. On the one hand, by setting a threshold for each local region, the local connection operation can be used to analyze the intensity distribution and texture morphology features. On the other hand, by considering the intensity variation trait of texture images, the local difference operation can be utilized to extract the local intensity variation. The local connection operation and the local difference operation are complementary. Then, by combining the local similarity and local difference features with the intensity information, the level set energy function was constructed and further minimized to obtain the final segmentation results. The main advantages of the proposed method can be summarized as the following two points. First, the morphology feature was proposed to analyze the local intensity distribution feature of texture images. The intensity distributions of texture images are uncertain for each object region. Thus, extracting the morphology feature of a local region is of great significance. Second, the two proposed operators are complementary. Using only one feature to segment complex texture images is a challenging task. The morphology and intensity difference features can jointly segment images, suggesting that the proposed method can be robust for different texture images. Result We verified the effectiveness of the two operators by comparing it with other operators, such as Gabor, structure tensor, extended structure tensor, and local similarity factor. Specially, we first analyzed the extraction effects of the morphology feature by comparing the proposed local connection operator with methods based on Gabor filter, on structure tensor and extended structure tensor, local similarity factor. The extracted feature of the local connection operator can be used to efficiently discriminate the object and background regions. Then, the local difference operator was used to compare the proposed approach with traditional texture feature extraction methods. The local different operator can accurately extract the local intensity variation. In addition, we conducted three comparison experiments to confirm whether the proposed method can achieve a better segmentation effect than the methods based on Gabor, structure tensor, extended structure tensor, and local similarity factor. Finally, we tested the robustness of the proposed method for different initial contours and images. The segmentation accuracy of our proposed method exceeded 97%, which was considerably higher than that of other methods. That is, the proposed operator is more effective in discriminating the different texture patterns of images. Conclusion We proposed two complementary operators, namely, the local connection operator and the local difference operator, to effectively extract texture features. The two extracted features are complementary and can be jointly utilized to segment texture images. Finally, we validated that the proposed method can obtain better segmentation results for natural texture images.

Key words

image segmentation; level set; multiple features; local connectivity; local difference

0 引言

由于纹理类型庞杂、形态各异且结构繁复, 其已成为阻碍图像准确分割的一大障碍。而自然图像中的目标或背景经常呈现纹理特征,比如斑马、砖墙、草地等。因此,自动且无监督地分割纹理图像是一大研究热点。

现有较为常见的无监督纹理图像分割方法大致分为:基于滤波器的分割方法、基于聚类分析的方法以及基于能量泛函的水平集方法等。这些纹理图像分割方法主要提取图像的纹理特征, 而后对图像进行分割。具体地,基于滤波器的分割方法已经逐渐融合到各种能量泛函的方法中,包括Gabor滤波器[1]、小波滤波器[2]等;基于聚类的方法[3-5]主要是利用Gabor或者steer等滤波器提取图像的纹理特征,这时将纹理特征与彩色信息结合从而有效地分割一些复杂的自然图像;基于水平集的方法常用区域型模型(CV)[6]作为分割模型的架构,利用Gabor[1]、结构张量[7]、拓展结构张量[8]、多特征组成的张量结构[9]、局部相似度因子[10]提取纹理特征, 从而进行有效的图像分割。

综上所述,基于纹理特征提取的方法是分割纹理图像的最重要途径。事实上,现实世界中的纹理经常是高度复杂的、不规则的和随机的,现有纹理特征提取方法对于纹理图像的分割都有其局限性。例如,Gabor滤波器含有许多不同的尺度和方向组成的多通道滤波器组,所以怎样选择理想的滤波器组提取纹理特征是一个比较困难的问题;结构张量算子需要求解沿横向和纵向的偏微分,对于纹理图像而言,其纹理特征的方向不稳定性是结构张量的瓶颈;拓展结构张量仍然需要获得确定方向下的灰度变化信息,所以也不能有效地提取理想的纹理信息;局部相似度因子主要通过分析局部灰度的相似度大小关系,从而将图像灰度分为两类,仅仅考虑局部区域的灰度大小关系。

通过对大量纹理图像进行观察和分析,可以发现,相同纹理模式的局部区域之间存在着两个特性。具体表现在:1)相同纹理区域具有相似灰度且邻接的点数量存在相似性,如金钱豹的斑纹灰度相似且斑纹的像素点个数是相似的,如图 1所示;2)相同纹理模式的局部灰度差异是相似的,如老虎条纹的局部灰度差异,如图 2所示。

图 1 相似性示意图
Fig. 1 The diagram of image similarity
图 2 局部差异示意图
Fig. 2 The diagram of image difference

鉴于此,本文提出了连接度算子和差异度算子来描述这种特性。此外,由于水平集方法[11-13]具有分割边界较完整、曲线可以自由拓扑等优势,本文考虑结合水平集的方法进行纹理图像的分割。基于以上分析,提出了基于局部连接度和差异度算子的水平集方法进行纹理图像分割。本文方法的优势主要体现在:局部连接度和差异度分别反映了纹理形态和纹理灰度变化的特征,利用这两种算子提取纹理图像的相似形态特征和局部灰度变化特征,提取的特征不受方向等信息的影响,因而较为稳定;且局部连接度和差异度具有互补性,将连接度和差异度与灰度信息相结合,可以准确地分割复杂纹理图像。

1 方法

纹理特征用于描述图像中重复模式的视觉信息。提取准确的纹理特征是成功进行纹理图像分割的关键环节, 因为提取的纹理特征直接影响后续纹理图像分割的质量。然而,真实图像中的纹理特征经常呈现一些不稳定的特性,如:斑马的条纹方向、粗细的变化等,所以如何提取这些不稳定的纹理特征一直是一个研究难点。鉴于此,提出了两个新的纹理特征描述算子:局部连接度和差异度算子。此外,通过与其他纹理特征提取方法(Gabor、结构张量、拓展的结构张量、局部相似度因子)的对比,验证了局部连接度和差异度算子的有效性。

1.1 局部连接度算子

通过对纹理图像的观察和分析,可以发现对于同一个纹理目标,其局部纹理块之间存在着一定的形态相似性,本文提出局部连接度的概念以描述这种形态特征。

1.1.1 局部连接度的定义

局部连接度是指,在局部区域内将与中心点$I(x, y)$灰度相似的点作为一类,在该类点周围以8邻接的方式统计同类点的个数,最后局部区域中连接点的数目即为$I(x, y)$处的局部连接度。通过研究可以发现在相同的纹理模式中,存在相似的局部连接度。接下来通过示意图和公式来详细解释局部连接度的计算过程。

图 3说明了局部连接度的计算步骤:1)在每个像素点$I(x, y)$周围选取一个局部窗口${\mathit{\boldsymbol{I}}_{\rm{1}}}$;2)计算局部窗口${\mathit{\boldsymbol{I}}_{\rm{1}}}$中每一个点的灰度值与中心点$I(x, y)$的灰度差异,如果差异在阈值$R$内则该点的值置为1,否则为0,从而得到二值化的局部区域${\mathit{\boldsymbol{I}}_{\rm{2}}}$;3)在${\mathit{\boldsymbol{I}}_{\rm{2}}}$中,对于每一个值为1的点,统计该点8邻接的1的数量;4)当8邻接的1的数目少于4时,则该点的值置为0, 否则为1;5)统计矩阵${\mathit{\boldsymbol{I}}_{\rm{4}}}$中值为1的点的数目,即为局部连接度。

图 3 局部连接度计算过程示意图
Fig. 3 The diagram of computing process of local connection operator

${\mathit{\boldsymbol{I}}_{\rm{1}}}$表示位于$I(x, y)$周围的局部邻域, ${\mathit{{I}}_{\rm{1}}}(i, j)$表示局部邻域的某个点,$J$是判断某点与中心点灰度差值是否在阈值$R$内的函数,如果在$R$内则该点置为1, 否则为0,${\mathit{\boldsymbol{I}}_{\rm{2}}}$表示$J$处理后的矩阵, 即

$ \begin{array}{*{20}{c}} {{I_2}\left( {i,j} \right) = J\left( {{I_1}\left( {i,j} \right) = } \right.}\\ {\left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 1\\ 0 \end{array}&\begin{array}{l} {I_1}\left( {i,j} \right) - I\left( {x,y} \right) < R\\ 其他 \end{array} \end{array}} \right.} \end{array} $ (1)

式中,$\left({i, j} \right) \in {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_1}$, ${\mathit{\boldsymbol{I}}_{\rm{1}}}(i, j)$表示矩阵${\mathit{{I}}_{\rm{1}}}$中的某个点,${\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_1}$表示局部窗口中所有像素的位置坐标集合,用${\mathit{\boldsymbol{I}}_{\rm{3}}}$表示计算矩阵中每个点8邻接的1的数量,有

$ \begin{array}{*{20}{c}} {{I_3}\left( {i,j} \right) = {I_2}\left( {i - 1,j - 1} \right) + {I_2}\left( {i,j - 1} \right) + }\\ {{I_2}\left( {i + 1,j - 1} \right) + {I_2}\left( {i - 1,j} \right) + {I_2}\left( {i + 1,j} \right) + }\\ {{I_2}\left( {i - 1,j + 1} \right) + {I_2}\left( {i,j + 1} \right) + }\\ {{I_2}\left( {i + 1,j + 1} \right)} \end{array} $ (2)

将矩阵${\mathit{\boldsymbol{I}}_{\rm{3}}}$中每个小于4的点置为0,其他点置为1,得到新的矩阵${\mathit{\boldsymbol{I}}_{\rm{4}}}$,即

$ {I_4}\left( {i,j} \right) = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 1\\ 0 \end{array}&\begin{array}{l} {I_3}\left( {i,j} \right) \ge 4\\ 其他 \end{array} \end{array}} \right. $ (3)

通过$C_0$函数可以得到连接度${\mathit{\boldsymbol{I}}_{\rm{C}}}$

$ \begin{array}{*{20}{c}} {{I_{\rm{C}}}\left( {x,y} \right) = {C_0}\left( {i,j} \right) = {I_4}\left( {0,0} \right) + }\\ {{I_4}\left( {0,1} \right) + {I_4}\left( {0,2} \right) + \cdots + }\\ {{I_4}\left( {i,j} \right) + \cdots + {I_4}\left( {n,n} \right)} \end{array} $ (4)

通过图 4来说明局部连接度算子对于局部纹理模式的处理效果。使用线框框出图 4目标的3个局部区域(图 4 (d)),它们同属于相同的纹理区域。利用局部连接度算子计算出3个局部区域的局部连接度,如图 4 (e)所示,3个局部连接度的大小具有相似性。使用线框框出背景的两个局部区域(图 4(b)),利用局部连接度算子计算出两个局部区域的局部连接度(图 4 (a)),可以发现目标与背景的局部区域之间的局部连接度差异较大。

图 4 不同局部区域的局部连接度
Fig. 4 The local connections of different local regions((a)local connection operator feature images in different parts of background; (b) local original images in different parts of background; (c) original image; (d) local original images in different parts of target; (e)local connection operator feature images in different parts of target)

1.1.2 局部连接度算子的有效性

通过实验分析连接度算子的有效性和连接度算子相对传统算子的优势。众所周知,纹理模式具有高度复杂的特点,比如斑马、猎豹。并且存在着纹理模式的方向不确定、尺度不确定等问题。Gabor滤波器[1]、结构张量[7]、拓展结构张量[8]和局部相似度因子[10]是常用的纹理特征算子。但是,如在引言部分所述,这几个特征提取方法都有各自的缺点。而自然图像中,不同纹理的局部连接度往往具有差异,该算子对于纹理模式的复杂性具有良好的适应性。同时,对于纹理的方向不确定性等问题,局部连接度并不受方向的影响和限制。因此,局部连接度算子能够很好地描述许多图像的纹理特征。

下面通过实验来证实局部连接度算子相对其他纹理特征提取算子的优势。

图 5所示,典型的纹理特征提取算子与提出的局部连接度算子分别被用来提取两幅典型的纹理图像的纹理特征,通过图 5(b)-(f)可以发现,局部连接度算子所提取的目标和背景的特征(图 5(f))具有更明显的差异,对于不同方向的纹理具有较好的适应性。此外,在计算局部连接度算子的过程中,阈值$R$需要针对不同模式的纹理进行调节,经过实验发现局部的大小取10×10像素~20×20像素之间效果较好。具体地,太大尺度的局部区域容易产生虚假边缘;反之,则无法准确地确定局部相似点的数目。

图 5 不同算子的特征提取效果图
Fig. 5 The comparison of effect of feature extraction by different methods((a) original images; (b) Gabor; (c) structure tensor; (d) expanding structure tensor; (e) RLSF; (f) local connection operator)

1.2 局部差异度算子

尽管局部连接度算子能够用于区分许多不同的纹理模式,但是现实中的纹理多种多样,单独的一个特征不可能区分所有的纹理模式。因此,本文提出了与局部连接度互补的另一个特征算子——局部差异度算子。

1.2.1 局部差异度算子的定义

局部差异度的定义为:图像中局部区域相对中心的灰度变化程度。具体的计算过程如下:

1) 对于原始图像上的某个点$I(x, y)$,取其周围邻域作为局部${\mathit{\boldsymbol{I}}_{\rm{5}}}$; 2)对局部上的每一个点${I_5}(i, j)$取其3×3的邻域${\mathit{\boldsymbol{I}}_{\rm{6}}}$中最大值与最小值; 3)这时,计算均值滤波后的图像$\mathit{\boldsymbol{p}}$,取相同位置的值$p(i, j)$; 4)原始图像中局部区域的最大灰度值与最小灰度值之和减去滤波后图像局部区域中心点的灰度值的两倍,即为该点的差异度; 5)统计局部区域中所有点的差异度,取其中的最大值作为图像上某点的局部差异度。

图 6详细地描述了差异度的计算过程:首先,对于中心点为$I(x, y)$的局部区域中的某个点$I_5(i, j)$的3×3邻域${\mathit{\boldsymbol{I}}_{\rm{6}}}$,取该邻域的最大值max${I_6}(i, j)$,最小值min $I_6(i, j)$;对输入图像进行均值滤波,取对应位置的滤波后的值$p(i, j)$;接着,计算$\max {I_6}\left({i, j} \right) + {\rm{min}}{I_6}\left({i, j} \right)-2p\left({i, j} \right)$作为该点的差异度$D(i, j)$;最后取局部区域中差异度的最大值作为点$(x, y)$处的局部差异度${I_{\rm{D}}}\left({x, y} \right)$。局部差异度的计算公式为

$ {I_{\rm{D}}}\left( {x,y} \right) = \max D\left( {i,j} \right) $ (5)

$ \begin{array}{*{20}{c}} {D\left( {i,j} \right) = \max {I_6}\left( {i,j} \right) + }\\ {\min {I_6}\left( {i,j} \right) - 2 \times p\left( {i,j} \right)} \end{array} $ (6)

图 6 局部差异度计算过程示意图
Fig. 6 The diagram of computing process of local difference operator

式中,$\mathit{\boldsymbol{D}}$表示与${\mathit{\boldsymbol{I}}_5}$维数相同的矩阵,${\mathit{\boldsymbol{I}}_6}$表示以$I_5(i, j)$为中心的3×3的矩阵,$\left({i, j} \right) \in {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_2}$${\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_2}$表示局部窗口中所有像素的位置坐标集合,${\mathit{\boldsymbol{I}}_{\rm{D}}}$表示局部差异度特征。局部差异度算子是一种有效的特征提取算子。

1.2.2 局部差异度算子的有效性

通过实验对比局部差异度算子和其他方法所得到的特征图像,以此验证局部差异度算子的有效性。

图 7所示,几种纹理提取算子包括Gabor[1]、结构张量[7]、拓展的结构张量[8]、局部相似度因子[10]和提取的局部差异度算子分别被用来处理两幅不同的自然图像,从图 7(b)-(f)可以发现,通过局部差异度算子所得到的特征图像的目标和背景的差异更明显。

图 7 不同算子的特征提取效果图
Fig. 7 The comparison of effect of feature extraction by different methods((a) original images; (b) Gabor; (c) structure tensor; (d) expanding structure tensor; (e) RLSF; (f) local connection operator)

局部差异度算子的实验参数只有1个,那就是局部区域的大小,所以局部差异度算子对于纹理模式的方向和灰度变化都具有较强的适应性。并且通过实验发现,局部区域的大小取11×11像素时效果较好。因此,局部差异度算子是一个有效的局部特征提取算子。

1.3 局部连接度和差异度的互补性

多特征融合的方法是一种重要的纹理分割方式,例如,基于局部相似度因子的水平集模型[10]已经融合了灰度和纹理特征信息。尽管那些模型在一定程度上是有效的,然而它们经常无法准确分割自然纹理图像。主要有两方面的原因:1)目前的特征提取方法包括结构张量[7]、扩展结构张量[8]、Gabor[1]滤波器和局部相似度因子[10]有一些缺陷;2)多个特征并不能保证互补性。

由于提出的局部连接度算子表达了局部灰度相似的像素个数,即局部纹理模式的一种相似度度量;而局部差异度算子表达局部灰度的差异大小,即局部差异度度量,因此,两者分别提取了纹理模式的形态和灰度变化的度量,对于纹理模式具有互补的特性。本节通过图 8证实两个算子的互补性。如图 8所示,连接度提取了不同的区域内部的主要差异,差异度提取了区域边缘的差异,两者构建了理想的互补效果,可以利用这两个特征进行纹理分割。此外,考虑到图像灰度信息的重要性,以及水平集可以自由地进行拓扑变化等优势,将两种特征算子和灰度信息共同融合进水平集模型,构建最终的能量泛函分割复杂纹理图像。

图 8 互补性示意图
Fig. 8 The diagram of complementary advantage

1.4 水平集能量公式

本文方法的能量泛函包括两个部分:灰度项${E_{\rm{I}}}$和纹理项${E_{\rm{T}}}$,其中纹理项又包括局部连接度${E_{\rm{C}}}$和局部差异度${E_{\rm{D}}}$两个部分。根据Li等人[14]提出的规整项,本文的能量泛函为

$ E = {E_{\rm{I}}} + {E_{\rm{T}}} + {E_{\rm{R}}} $ (7)

${E_{\rm{T}}}$分为两个部分

$ {E_{\rm{T}}} = {E_{\rm{C}}} + {E_{\rm{D}}} $ (8)

具体地,${E_{\rm{I}}}$${E_{\rm{C}}}$${E_{\rm{D}}}$分别为

$ \begin{array}{*{20}{c}} {{E_{\rm{I}}} = {\lambda _1}\int_{in\left( c \right)} {{{\left( {{I_{\rm{I}}}\left( x \right) - {{c'}_{\rm{I}}}} \right)}^2}{\rm{d}}x} + }\\ {{\lambda _1}\int_{out\left( c \right)} {{{\left( {{I_{\rm{I}}}\left( x \right) - {{c''}_{\rm{I}}}} \right)}^2}{\rm{d}}x} } \end{array} $ (9)

$ \begin{array}{*{20}{c}} {{E_{\rm{C}}} = {\lambda _{\rm{2}}}\int_{in\left( c \right)} {{{\left( {{I_{\rm{C}}}\left( x \right) - {{c'}_{\rm{C}}}} \right)}^2}{\rm{d}}x} + }\\ {{\lambda _2}\int_{out\left( c \right)} {{{\left( {{I_{\rm{C}}}\left( x \right) - {{c''}_{\rm{C}}}} \right)}^2}{\rm{d}}x} } \end{array} $ (10)

$ \begin{array}{*{20}{c}} {{E_{\rm{D}}} = {\lambda _{\rm{3}}}\int_{in\left( c \right)} {{{\left( {{I_{\rm{D}}}\left( x \right) - {{c'}_{\rm{D}}}} \right)}^2}{\rm{d}}x} + }\\ {{\lambda _3}\int_{out\left( c \right)} {{{\left( {{I_{\rm{D}}}\left( x \right) - {{c''}_{\rm{D}}}} \right)}^2}{\rm{d}}x} } \end{array} $ (11)

式中,$in(c)$$out(c)$分别表示曲线$c$的内部和外部的像素点,${\mathit{\boldsymbol{I}}_{\rm{I}}}、{\mathit{\boldsymbol{I}}_{\rm{C}}}、{\mathit{\boldsymbol{I}}_{\rm{D}}}$分别表示灰度图像、局部连接度特征图像、局部差异度特征图像,$c{'_{\rm{I}}}、c{'_{\rm{C}}}、c{{\rm{'}}_{\rm{D}}}$分别表示闭合曲线$c{_{\rm{I}}}、c{_{\rm{C}}}、c{_{\rm{D}}}$内部的灰度均值,$c{"_{\rm{I}}}、c{"_{\rm{C}}}、c{{\rm{"}}_{\rm{D}}}$分别表示闭合曲线$c{_{\rm{I}}}、c{_{\rm{C}}}、c{_{\rm{D}}}$外部的灰度均值。

为了求得能量泛函$E$的最小值,使用水平集的思想,利用零水平集函数${\mathit{Φ}}(x)=0$取代演化曲线$c$${E_{\rm{R}}}$是用于平滑演化轮廓和避免重初始化的规整项

$ {E_{\rm{R}}} = L\left( c \right) + p\left( {\mathit{\Phi }\left( x \right)} \right) $ (12)

式中,$L(c)$表示演化轮廓的长度并用来平滑曲线,$p({\mathit{Φ}}(x))$是规整项

$ p\left( {\mathit{\Phi }\left( x \right)} \right) = \int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {{{\left( {\left| {\nabla \mathit{\Phi }\left( x \right)} \right| - 1} \right)}^2}{\rm{d}}x} $ (13)

$H({\mathit{Φ}})$$δ({\mathit{Φ}})$分别表示海氏函数和狄拉克函数

$ H\left( \mathit{\Phi } \right) = \frac{1}{2}\left[ {1 + \frac{2}{{\rm{ \mathsf{ π} }}}\arctan \left( {\frac{\mathit{\Phi }}{\varepsilon }} \right)} \right],\varepsilon \to 0 $ (14)

$ \delta \left( \mathit{\Phi } \right) = \frac{{\partial H\left( \mathit{\Phi } \right)}}{{\partial \left( \mathit{\Phi } \right)}} = \frac{\varepsilon }{{\left( {{\varepsilon ^2} + {\mathit{\Phi }^2}} \right){\rm{ \mathsf{ π} }}}} $ (15)

最终的水平集能量泛函表达式为

$ \begin{array}{*{20}{c}} {E = {\lambda _1}\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {{{\left( {{I_{\rm{I}}}\left( x \right) - {{c'}_{\rm{I}}}} \right)}^2}H\left( {\mathit{\Phi }\left( x \right)} \right){\rm{d}}x} + }\\ {{\lambda _1}\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {{{\left( {{I_{\rm{I}}}\left( x \right) - {{c''}_{\rm{I}}}} \right)}^2}\left( {1 - H\left( {\mathit{\Phi }\left( x \right)} \right)} \right){\rm{d}}x} + }\\ {{\lambda _2}\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {{{\left( {{I_{\rm{C}}}\left( x \right) - {{c'}_{\rm{C}}}} \right)}^2}H\left( {\mathit{\Phi }\left( x \right)} \right){\rm{d}}x} + }\\ {{\lambda _2}\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {{{\left( {{I_{\rm{C}}}\left( x \right) - {{c''}_{\rm{C}}}} \right)}^2}\left( {1 - H\left( {\mathit{\Phi }\left( x \right)} \right)} \right){\rm{d}}x} + }\\ {{\lambda _3}\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {{{\left( {{I_{\rm{D}}}\left( x \right) - {{c'}_{\rm{D}}}} \right)}^2}H\left( {\mathit{\Phi }\left( x \right)} \right){\rm{d}}x} + }\\ {{\lambda _3}\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {{{\left( {{I_{\rm{D}}}\left( x \right) - {{c''}_{\rm{D}}}} \right)}^2}\left( {1 - H\left( {\mathit{\Phi }\left( x \right)} \right)} \right){\rm{d}}x} + }\\ {\mu \int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {\nabla H\left( {\mathit{\Phi }\left( x \right)} \right){\rm{d}}x} + }\\ {\nu \int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {{{\left( {\nabla \mathit{\Phi }\left( x \right) - 1} \right)}^2}{\rm{d}}x} } \end{array} $ (16)

式中,${\lambda _1}、{\lambda _2}、{\lambda _3}、\mu、\nu $均为可调节参数。对式(16)对应的Euler-lagrange方程求解,可得如下演化方程

$ \begin{array}{*{20}{c}} {\frac{{\partial \mathit{\Phi }}}{{\partial t}} = \delta \left( \mathit{\Phi } \right)\left( { - {\lambda _1}{{\left( {{I_{\rm{I}}}\left( x \right) - {{c'}_{\rm{I}}}} \right)}^2} + } \right.}\\ {{\lambda _1}{{\left( {{I_{\rm{I}}}\left( x \right) - {{c''}_{\rm{I}}}} \right)}^2} - {\lambda _2}{{\left( {{I_{\rm{C}}}\left( x \right) - {{c'}_{\rm{C}}}} \right)}^2} + }\\ {{\lambda _2}{{\left( {{I_{\rm{C}}}\left( x \right) - {{c''}_{\rm{C}}}} \right)}^2} - {\lambda _3}{{\left( {{I_{\rm{D}}}\left( x \right) - {{c'}_{\rm{D}}}} \right)}^2} + }\\ {{\lambda _3}{{\left( {{I_{\rm{D}}}\left( x \right) - {{c''}_{\rm{D}}}} \right)}^2} + \mu \delta \left( \mathit{\Phi } \right){\rm{div}}\left( {\frac{{\nabla \mathit{\Phi }}}{{\left| {\nabla \mathit{\Phi }\left( x \right)} \right|}}} \right) + }\\ {\nu \left( {{\nabla ^2}\mathit{\Phi } - {\rm{div}}\left( {\frac{{\nabla \mathit{\Phi }}}{{\left| {\nabla \mathit{\Phi }\left( x \right)} \right|}}} \right)} \right)} \end{array} $ (17)

式中,$\nabla $表示梯度算法,div表示散度算子,$c{'_{\rm{I}}}, c{'_{\rm{C}}}, c{{\rm{'}}_{\rm{D}}}, c"{_{\rm{I}}}, c"{_{\rm{C}}}, c"{{\rm{}}_{\rm{D}}}$的表达式为

$ {{c'}_{\rm{I}}}\left( {\mathit{\Phi }\left( x \right)} \right) = \frac{{\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {{I_{\rm{I}}}\left( x \right)H\left( {\mathit{\Phi }\left( x \right)} \right){\rm{d}}x} }}{{\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {H\left( {\mathit{\Phi }\left( x \right)} \right){\rm{d}}x} }} $ (18)

$ {{c''}_{\rm{I}}}\left( {\mathit{\Phi }\left( x \right)} \right) = \frac{{\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {{I_{\rm{I}}}\left( x \right)\left( {1 - H\left( {\mathit{\Phi }\left( x \right)} \right)} \right){\rm{d}}x} }}{{\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {\left( {1 - H\left( {\mathit{\Phi }\left( x \right)} \right)} \right){\rm{d}}x} }} $ (19)

$ {{c'}_{\rm{C}}}\left( {\mathit{\Phi }\left( x \right)} \right) = \frac{{\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {{I_{\rm{C}}}\left( x \right)H\left( {\mathit{\Phi }\left( x \right)} \right){\rm{d}}x} }}{{\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {H\left( {\mathit{\Phi }\left( x \right)} \right){\rm{d}}x} }} $ (20)

$ {{c''}_{\rm{C}}}\left( {\mathit{\Phi }\left( x \right)} \right) = \frac{{\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {{I_{\rm{C}}}\left( x \right)\left( {1 - H\left( {\mathit{\Phi }\left( x \right)} \right)} \right){\rm{d}}x} }}{{\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {\left( {1 - H\left( {\mathit{\Phi }\left( x \right)} \right)} \right){\rm{d}}x} }} $ (21)

$ {{c'}_{\rm{D}}}\left( {\mathit{\Phi }\left( x \right)} \right) = \frac{{\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {{I_{\rm{D}}}\left( x \right)H\left( {\mathit{\Phi }\left( x \right)} \right){\rm{d}}x} }}{{\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {H\left( {\mathit{\Phi }\left( x \right)} \right){\rm{d}}x} }} $ (22)

$ {{c''}_{\rm{D}}}\left( {\mathit{\Phi }\left( x \right)} \right) = \frac{{\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {{I_{\rm{D}}}\left( x \right)\left( {1 - H\left( {\mathit{\Phi }\left( x \right)} \right)} \right){\rm{d}}x} }}{{\int_\mathit{\boldsymbol{ \boldsymbol{\varOmega} }} {\left( {1 - H\left( {\mathit{\Phi }\left( x \right)} \right)} \right){\rm{d}}x} }} $ (23)

2 实验

本节通过大量的实验验证提出的多特征模型的优势和有效性。具体地,该部分给出了基于Gabor滤波器[1]、基于结构张量[7]、基于拓展结构张量(LCV)[8]以及基于局部相似度因子(RLSF)[10]4种水平集方法的分割结果,并用这4种方法与提出的模型进行了对比。

下面通过分割3类纹理图像来验证提出方法的有效性。第1类,如图 9所示,纹理尺度和方向变化较大的图像。纹理模式的复杂性会导致难以提取纹理特征,从而使该类图像的分割结果不精确。第2类,如图 10所示,背景和目标的纹理模式较弱的图像。如何准确地分割目标中较为细小的部分是该类图像分割的难点。第3类,如图 11所示,目标和背景的纹理形态不同的图像。该类图像背景与目标常存在灰度差异度相似的部分,如何区分纹理的形态是准确分割该类图像的关键。

图 9 不同方法分割效果对比(第1类)
Fig. 9 The comparison of segmentation effects(the first group)((a) the original images; (b) Gabor; (c) structure tensor; (d) LCV; (e) RLSF; (f) ours)
图 10 不同方法分割效果对比(第2类)
Fig. 10 The comparison of segmentation effects(the second group)((a) the original images; (b) Gabor; (c) structure tensor; (d) LCV; (e) RLSF; (f) ours)
图 11 不同方法分割效果对比(第3类)
Fig. 11 The comparison of segmentation effects(the third goup) ((a) the original images; (b) Gabor; (c) structure tensor; (d) LCV; (e) RLSF; (f) ours)

图 9中基于Gabor滤波器的水平集方法[1]、基于结构张量的水平集方法[7]、LCV方法[8]、RLSF模型[10]和本文提出的多特征模型的分割结果用曲线表示。对于图 9所给出的图像,纹理的尺度和方向都具有较大的变化。基于Gabor滤波器的水平集方法,需要选定理想的方向和尺度的Gabor滤波器组以提取纹理特征,对于该类图像,纹理方向和尺度的多样性使Gabor滤波器难以选择理想的滤波器组,导致分割结果不理想;基于结构张量的水平集方法需要求解固定方向的偏微分,对于该类图像,利用结构张量提取的纹理特征不稳定,导致纹理分割效果不理想;LCV模型利用拓展结构张量获取特定方向的灰度变化信息,该类图像中,纹理的多样性对分割结果影响较大;RLSF模型利用局部相似性算子提取纹理特征,该算子仅仅计算局部的灰度差异特征,对复杂的纹理模式不能得到稳定的纹理特征,使分割效果不理想。在本文方法中,获取纹理特征的方式是利用局部的信息得到局部纹理之间的差异性和相似性特征,对于局部区域是否属于同一种纹理较为敏感,而对于纹理方向和尺度的变化不敏感,通过这种方式提取的特征较为稳定。

通过图 9可以发现,本文方法所得到的分割结果(图 9(f))明显优于图 9中其他方法的分割结果(图 9(b)-(e)),且对于纹理的方向和尺度变化具有良好的适应性。

图 10中基于Gabor滤波器的水平集方法[1]、基于结构张量的水平集方法[7]、LCV方法[8]RLSF模型[10]和本文提出的多特征模型的分割结果用曲线表示。图 10中的图像,其目标、背景的局部纹理模式差异都较小。通过对比,对于第1幅图像,基于Gabor滤波器和结构张量的方法所得的分割结果不够精细;LCV方法和RLSF模型的分割结果存在分割不足的问题;本文方法在正确分割的同时结果足够精细。对于第2幅图像,本文方法的分割结果比基于Gabor滤波器的方法和LCV方法分割结果更精细;基于结构张量的方法分割结果存在分割不足的问题;RLSF模型的分割结果与本文方法结果相似。对于第3幅图像,本文方法的分割结果要明显优于对比方法的分割结果。因此,本文方法对于该类图像具有较好的分割效果。

图 11中基于Gabor滤波器的水平集方法[1]、基于结构张量的水平集方法[7]、LCV方法[8]RLSF模型[10]和本文提出的多特征模型的分割结果用曲线表示。图 11中的图像,其背景对于目标的分割具有较大的影响。Gabor很难获得纹理在频率和方向上微小的变化信息, 应用于不同形态的纹理图像时处理效果不好;基于结构张量的水平集方法和基于拓展结构张量的LCV方法,主要提取方向变化信息,也无法准确获取图像中纹理的形态;基于RLSF模型的方法只分析了局部灰度差异特征,对于两幅图像都存在错误分割的区域。以上方法对图 11中图像的分割效果都不理想。本文方法在提取局部连接度特征时加入了阈值和相似度,能够提取纹理图像中的形态特征;对于其他实验中被错误分割的部分区域,局部相似性特征会与目标区域的局部相似性特征有较大差别。通过对比实验,可以发现使用本文方法分割该类图像也具有较好的效果。

通过以上3类实验,可以发现,基于多特征模型的水平集方法比现有的几种基于纹理特征提取的水平集方法更适合去分割各种纹理图像。

$I_7(i, j)$表示本文提出方法所得分割结果的二值化表示,$\left({i, j} \right) \in {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_3}$${\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_3}$表示整个图像中所有像素的位置坐标集合,$I_8(i, j)$表示通过手动分割结果的二值化表示,$I_9(i, j)$表示本文方法的分割结果和手动分割结果的差异,那么

$ {I_9}\left( {i,j} \right) = {I_7}\left( {i,j} \right) - {I_8}\left( {i,j} \right) $ (24)

$I_9(i, j)$中值为0的位置即为本文方法划分正确的像素点。将$I_9(i, j)$中值为0的部分置为1,其他的部分置为0,得到新的矩阵

$ {I_{10}}\left( {i,j} \right) = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 1\\ 0 \end{array}&\begin{array}{l} {I_9}\left( {i,j} \right) = 0\\ 其他 \end{array} \end{array}} \right. $ (25)

通过$C_1$函数统计${\mathit{\boldsymbol{I}}_{\rm{10}}}$中1的个数可以得到本文方法的分割结果中分割正确的像素点个数$a$

$ \begin{array}{*{20}{c}} {a = \left. {{C_1}\left( {{I_{10}}\left( {i,j} \right)} \right)} \right) = {I_{10}}\left( {0,0} \right) + {I_{10}}\left( {0,1} \right) + }\\ {{I_{10}}\left( {0,2} \right) + \cdots + {I_{10}}\left( {i,j} \right) + \cdots + {I_{10}}\left( {p,q} \right)} \end{array} $ (26)

将分割正确的像素点个数$a$除以图像像素点个数即可得到本文方法的分割准确率

$ r = \frac{a}{{p \times q}} $ (27)

式中,$p$$q$分别表示图像的高度和宽度。

同样的方法可以得到基于Gabor滤波器的水平集方法、基于结构张量的水平集方法、LCV方法和RLSF模型的分割准确率(如表 1所示)。对图 9图 11中的图像,分别统计4种方法的平均分割准确率,可以发现本文方法对于纹理图像具有较高的分割准确率。

表 1 分割准确率对比
Table 1 Comparison of segmentation accuracy

下载CSV
Gabor滤波器 结构张量 LCV RLSF模型 本文方法
准确率/% 90.27 92.77 88.75 90.59 97.20

为了进一步验证提出的模型对于复杂纹理图像的分割效果,图 12给出了另外3幅图像的分割结果。3幅图像分别代表:具有复杂背景干扰的纹理图像、背景与目标纹理模式不显著的图像、具有复杂不规则纹理的图像。图 12(a)是初始化图像,用圆表示初始化轮廓;图 12(b)表示最终曲线演化结果;图 12(c)是二值化的分割结果。通过观察3幅图像的分割效果,可以发现,虽然3幅图像分别具有不同特点,但本文模型都能够准确地分割这些图像。

图 12 3种图像的分割结果图
Fig. 12 Segmentation results of three kinds of images ((a) initial contours; (b) segmentation results; (c)binary results)

最后,为了验证提出的模型对于不同的初始化轮廓位置的鲁棒性,增加了如图 13所示的实验。具体地,图 13给出了两组图像的不同初始化位置及分割结果。其中,圆表示初始化轮廓,曲线表示分割结果。通过实验可以发现,对于同一幅图像,给出不同的初始化位置,最终得到的分割结果几乎完全一致,因此,提出的多特征模型对于不同的初始化位置具有鲁棒性。

图 13 本文方法在不同初始化条件下的分割结果
Fig. 13 The segmentation results of the proposed method with different initializations((a) zebra; (b) plane)

3 结论

通过融合多种纹理特征提出了基于局部连接度和差异度算子的模型,并结合灰度信息将其融入到水平集方法中,用于自然纹理图像的分割。首先,提出了局部连接度和局部差异度纹理特征算子,相比Gabor滤波器、结构张量、拓展结构张量和局部相似度因子,局部连接度算子和局部差异度算子能够更有效地提取纹理的形态和灰度变化特征。然后验证了局部连接度算子和局部差异度算子的互补性,结合灰度信息提出了最终的能量模型。最后,通过实验验证了提出的模型能够有效地分割纹理图像。未来,鉴于纹理模式的复杂性,将考虑分析图像的纹理结构,并定量地分析纹理结构之间的关系,从而进一步增强模型对于纹理图像分割的有效性。

参考文献

  • [1] Sandberg B, Chan T, Vese L. A level-set and Gabor-based active contour algorithm for segmenting textured images[R]. Los Angeles, USA: UCLA, 2002.
  • [2] Hou Y L, Yang G S. Unsupervised texture segmentation algorithm based on wavelet transform[J]. Computer Engineering and Applications, 2007, 43(34): 74–77. [侯艳丽, 杨国胜. 一种基于小波变换的无监督纹理分割算法[J]. 计算机工程与应用, 2007, 43(34): 74–77. ] [DOI:10.3321/j.issn:1002-8331.2007.34.024]
  • [3] Deng Y, Manjunath B S. Unsupervised segmentation of color-texture regions in images and video[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2001, 23(8): 800–810. [DOI:10.1109/34.946985]
  • [4] Chen J Q, Pappas T N, Mojsilović A, et al. Adaptive perceptual color-texture image segmentation[J]. IEEE Transactions on Image Processing, 2005, 14(10): 1524–1536. [DOI:10.1109/TIP.2005.852204]
  • [5] Ilea D E, Whelan P F. CTex-an adaptive unsupervised segmentation algorithm based on color-texture coherence[J]. IEEE Transactions on Image Processing, 2008, 17(10): 1926–1939. [DOI:10.1109/TIP.2008.2001047]
  • [6] Chan T F, Vese L A. Active contours without edges[J]. IEEE Transactions on Image Processing, 2001, 10(2): 266–277. [DOI:10.1109/83.902291]
  • [7] Houhou N, Thiran J P, Bresson X. Fast texture segmentation based on semi-local region descriptor and active contour[J]. Numerical Mathematics Theory Methods and Applications, 2009, 2(4): 445–468.
  • [8] Wang X F, Huang D S, Xu H. An efficient local Chan-Vese model for image segmentation[J]. Pattern Recognition, 2010, 43(3): 603–618. [DOI:10.1016/j.patcog.2009.08.002]
  • [9] Gao X B, Wang B, Tao D C, et al. A unified tensor level set method for image segmentation[M]//Lin W S, Tao D C, Kacprzyk J, et al. Multimedia Analysis, Processing and Communications. Berlin, Heidelberg: Springer, 2011: 217-238.[DOI: 10.1007/978-3-642-19551-8_7]
  • [10] Niu S J, Chen Q, De Sisternes L, et al. Robust noise region-based active contour model via local similarity factor for image segmentation[J]. Pattern Recognition, 2017, 61: 104–119. [DOI:10.1016/j.patcog.2016.07.022]
  • [11] Gao X B, Wang B, Tao D C, et al. A relay level set method for automatic image segmentation[J]. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 2011, 41(2): 518–525. [DOI:10.1109/TSMCB.2010.2065800]
  • [12] Wang X C, Shan J X, Niu Y M, et al. Enhanced distance regularization for re-initialization free level set evolution with application to image segmentation[J]. Neurocomputing, 2014, 141: 223–235. [DOI:10.1016/j.neucom.2014.03.011]
  • [13] Li C M, Xu C Y, Gui C F, et al. Level set evolution without re-initialization: a new variational formulation[C]//Proceedings of 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Diego, CA, USA: IEEE, 2005: 430-436.[DOI: 10.1109/CVPR.2005.213]
  • [14] Li C M, Kao C Y, Gore J C, et al. Minimization of region-scalable fitting energy for image segmentation[J]. IEEE Transactions on Image Processing, 2008, 17(10): 1940–1949. [DOI:10.1109/TIP.2008.2002304]