冠脉光学相干断层成像(OCT)图像斑块区域分割是冠脉斑块识别的前提和基础,对后续斑块特征分析及易损斑块识别,进而实现冠脉疾病的辅助诊断分析具有十分重要的意义。本文提出了一种新的算法,使用K-means 算法与图割算法结合,实现了冠脉 OCT 图像斑块准确的多区域分割——纤维化斑块、钙化斑块和脂质池,并较好地保留了斑块的边界特征信息。本文实验中对 20 组具有典型斑块特征的冠脉 OCT 图像进行了分割,通过与医生手动分割结果比较,证明本文方法能准确地分割出斑块区域,且算法具有较好的稳定性。研究结果证明了本文工作能够极大减少医生分割斑块所消耗的时间,避免不同医生之间的主观差异性,或可辅助临床医生对冠心病的诊断与治疗。
引用本文: 张勃, 杨建利, 王光磊, 王洪瑞, 刘秀玲, 韩业晨. 基于核图割算法的冠脉光学相干断层图像斑块区域分割. 生物医学工程学杂志, 2017, 34(1): 15-20. doi: 10.7507/1001-5515.201606010 复制
引言
斑块和易损斑块识别对心血管相关疾病的诊断具有十分重要的意义[1-2],特别是随着冠状动脉光学相干断层成像(optical coherence tomography,OCT)技术的出现,使得直观观察斑块的形态成为可能,如图 1 所示。医生可以依据肉眼观察到的斑块形态变化及自己的临床经验进行诊断和治疗。然而,对 OCT 图像的准确解读需花费医生大量的时间,且不同的医生个体之间具有较强的主观性和个体差异性,为此计算机自动识别和辅助诊断成为精确诊断和治疗不可或缺的一部分。

斑块和易损斑块识别的前提是准确分割出斑块区域,进而根据斑块区域的灰度和纹理特征判断它的斑块类型。Athanasiou 等[3]提出了一种钙化斑块自动识别方法,他们首先提取血管内膜与冠脉 OCT 图像最大扫描深度之间的区域,采用 K-means 方法将该区域分成 3 个聚类,将两个聚类之间夹杂部分且和导管阴影区域具有相似灰度特性的区域认作钙化斑块。Wang 等[4]则根据钙化斑块区域内外高灰度差异特征,提出了一种结合边界检测和基于梯度水平集模型的半自动分割方法分割钙化斑块,并将其应用于血管内 OCT 系统。Prakash 等[5-6]提出了基于纹理特征的粥样动脉硬化斑块分割方法,通过提取纹理特征和 K-means 聚类方法将图像特征分为 3 类,并将该 3 类特征空间映射到原始冠脉 OCT 图像,进而得到斑块区域。
尽管在斑块分割方面已经出现了很多算法,并取得了不错的成果。但是大多数算法仅针对一种斑块进行分割,不能达到临床辅助诊断的目的。为此,本文提出了一种基于内核(kernel)图割模型的多斑块区域分割方法,实现了纤维化斑块、钙化斑块及脂质化斑块区域的准确分割。本文方法能够极大减少医生分割斑块所消耗的大量时间,还可避免不同医生之间的主观性和个体差异性,有效辅助临床医生对冠心病的诊断与治疗。
1 数据来源
本文所使用的冠脉 OCT 图像数据由北京协和医院提供,采用光学相干断层扫描仪(ST.JUDE MEDICAL C7)进行采集。从 9 名冠状动脉粥样硬化患者(患者为 8 男 1 女)中随机选择共 20 幅冠脉 OCT 图像,包含纤维化斑块、钙化斑块和脂质池。
本文实验采用 Windows 7 操作系统,以软件 Matlab 2014 工具实施操作。
2 斑块区域分割实现
本文算法实现框图如图 2 所示,首先对冠脉 OCT 图像进行预处理,去除图像干扰和不相关区域;然后基于 K-means 算法对图像进行聚类分析,得到聚类中心点,并通过 kernel 变换将冠脉 OCT 图像依据聚类中心变换到高维空间;最后,使用图割(Graph Cuts)图像分割方法进行分割,根据斑块区域的颜色特征将斑块准确分割出来。

使用 Graph Cuts 方法对图像进行分割是由于:① 图论是一门研究比较早而且已经发展成熟的学科,具有较好的数学基础。针对某个特定的问题,图论中有多个方法可以解决;② 图像和图之间非常相似。在图像映射为图之后,便可以利用图论中的各种理论和数学工具进行图像分割,能够较为有效地提供不同特质的斑块区域。
2.1 图像预处理
如图 3 所示,原始的冠脉 OCT 图像中,除了包含有冠脉血管的横截面图(左图上)和纵向视图(左图下)外,在横截面图中还包含一些干扰,如:外围的文字标注、中心斜线、导管圆环等。在斑块分割中主要考虑横截面图中大的圆形区域,因此其他干扰在预处理时去除。在冠脉 OCT 图像中,纵向视图和导管圆环的图像坐标是可知的,因此很容易根据坐标分布去除,中心斜线经过 Hough 变换去除,这样就得到了如图 3 所示的右侧图像。

2.2 K-means 聚类
K-means 是一种簇的聚类方法,它会根据事物的不同属性将事物分成不同的聚类,并给出每一个聚类的中心[7]。本文采用 K-means 聚类方法将预处理后的冠脉 OCT 图像依据颜色分布分成不同的聚类,并得到聚类中心 C。本文使用最小化函数
$ arg S\;{\rm {min}}\sum\limits_{l = 1}^K {\sum\limits_{{x_l} \in {S_i}} {{{\left\| {{x_l} - {\mu _i}} \right\|}^2}} } $ |
其中 μi 表示 Si 中的平均值,K 就是聚类时将医学图像分割出的区域数目。
2.3 kernel 变换
kernel Graph Cuts 算法是将图像映射成加权图,然后把图像像素看作图的顶点,邻接像素之间的关系看作图的边,邻接像素之间的相似性看作边的权值,根据边的权值设计能量函数,最后通过最小化能量函数完成对图的分割,从而实现图像分割。
经过 K-means 聚类确定图像聚类中心 C,再使用式(2)的径向基函数核变换,将图像 Im 变换到高维空间。
$ K(Im,C) = {\rm {exp}}( - \frac{{{{\left\| {{\mathop{Im}\nolimits} - C} \right\|}^2}}}{{{{{β}} ^2}}}) $ |
其中,β 为径向基函数的宽度参数,控制函数径向作用范围,取 β=0.5。
2.4 Graph Cuts 分割
Graph Cuts 是将图像的分割问题转化为图像中每一个像素点标签的放置问题[8]。
根据图像特征构建一个能量函数,通过最小化该能量函数达到标签的最优配置。本文中,Graph Cuts 能量函数由两部分组成,一是计算分割区域内颜色相似性的数据项 D(f),另一个是使边界平滑的正则项 R(f),其可表示为:
$ H(f) = D(f) + {{α}} R(f) $ |
其中,f 表示像素点到标签空间的映射, 为一正数,控制边界平滑程度。
本文采用 kernel 空间中的非欧氏距离作为数据项,则数据项 D(f)进一步演化为:
$ D(f) = \sum\limits_{l \in L} {\sum\limits_{x \in {S_l}} {{{(\varphi ({u_l}) - \varphi ({m_x}))}^2}} } $ |
其中,x 和 l 分别为像素点和对应的标签,Sl和 L 为区域集合和标签集合。φ(·)为 kernel 非线性映射,ul为分段常数模型的模型参数,mx为图像的颜色向量。
正则项 R(f)进一步演化为:
$ R(f) = \sum\limits_{\left\{ {x,y} \right\} \in N} {r(f(x),\;f(y))} $ |
其中,x,y 为临近点集 N 中的一对临近点,,A 为一固定常数。
3 实验结果与讨论
把经过预处理的图像采用 K-means 算法进行处理,分成 6 个区域(k=4,5,7,8 也进行实验),能够有效地分割出目标区域,不会产生较多小区域或缺失。
在 Graph Cuts 分割算法中,正则项 R(f)前的参数 α 控制斑块区域边界的光滑度。它即影响斑块区域的完整度,也影响斑块区域分割的准确性。如图 4 所示,给出了在不同 α 值下得到的斑块区域。从图中可以看出,随着 α 增大,得到的斑块边界变得光滑,但连续性也受到了影响。经过对所选图像进行反复实验验证,最终我们选择 α=0.6,此时得到的斑块区域最精确。

分别使用本文方法和 K-means 方法对 9 个患者的冠脉 OCT 图像进行程序分析,实验中给出了两个患者的分割结果,其斑块包括钙化斑块、纤维化斑块和脂质斑块,如图 5、图 6 所示。


如图 5、图 6 所示,本文算法明显优于 K-means 方法,特别是对于钙化斑块的分割。由于脂质斑块和钙化斑块对光的衰减系数较为相似[9],颜色较为接近,且分布位置相近,钙化斑块往往湮灭在脂质斑块当中,不易分割出来。本文算法对钙化斑块分割具有很好的效果。
为了更加准确地评估斑块区域分割的准确度,以医生手动分割的斑块区域作为“金标准”,使用 Jaccard 系数分别测量了手动分割的斑块区域和本文算法及 K-means 算法分割得到斑块区域的重合度,结果如表 1 所示。

如表 1 所示,纤维化斑块平均分割精度在 75%以上,是所有斑块类型中分割精度最高的,这主要是因为纤维化斑块为图像中最亮的区域,与其他类型斑块的颜色区分度较大,容易识别。而对于钙化斑块其在颜色上和脂质斑块类似,分割时很容易和脂质斑块混在一起,造成分割边界不清晰。相比于 K-means 分割方法,本文算法在区分钙化斑块和脂质斑块上,具有明显的优势。
为了进一步证明本文算法的有效性,又与 Athanasiou 等[10]算法在重合面积上进行了对比。重合面积的计算公式如下所示:
$ {\text{准确度}} = \frac{{A \cap B}}{B} \times 100\% $ |
其中,A 代表分割结果,B 代表医生手动分割(金标准)。
实验对比结果如 表 2 所示,从表中可以看出,本文算法在钙化斑块、脂质斑块分割上优于Athanasiou 等 [10] 的算法。但在纤维化斑块分割方面则略低于Athanasiou 等 [10] 的算法。原因是在分割脂质斑块与纤维化斑块时,两者结合部位较为模糊不清,本文方法在分割脂质斑块与纤维化斑块的边界时有部分差异。

本文方法可代替医生进行手动分割斑块,大大减少了医生处理冠脉 OCT 图像的时间,而且对不同医生间的分割结果有指导作用。
4 总结
本文提出了一种基于 kernel Graph Cuts 模型的冠脉 OCT 图像多斑块区域分割算法,较好地实现了纤维化斑块、钙化斑块和脂质化斑块的分割。并和前面研究使用的 K-means 方法的分割结果进行了对比分析,本文算法明显优于 K-means 方法,特别是在钙化斑块区域的分割上优势明显。又与Athanasiou 等 [10] 的算法对比,在钙化斑块和脂质化斑块分割上具有明显优势。本文提出的多斑块区域分割算法为医生提供了斑块区域特征信息,节约了医生诊断时间,同时也为医生分析斑块对患者的危险程度评估提供了辅助。由于斑块区域分布广泛,且缺乏连续性,致使医生很难准确标记所有斑块区域,这也是影响本文算法准确度评价的主要因素。未来我们将采用多组医生手动标记的斑块区域对算法进行评价分析。
引言
斑块和易损斑块识别对心血管相关疾病的诊断具有十分重要的意义[1-2],特别是随着冠状动脉光学相干断层成像(optical coherence tomography,OCT)技术的出现,使得直观观察斑块的形态成为可能,如图 1 所示。医生可以依据肉眼观察到的斑块形态变化及自己的临床经验进行诊断和治疗。然而,对 OCT 图像的准确解读需花费医生大量的时间,且不同的医生个体之间具有较强的主观性和个体差异性,为此计算机自动识别和辅助诊断成为精确诊断和治疗不可或缺的一部分。

斑块和易损斑块识别的前提是准确分割出斑块区域,进而根据斑块区域的灰度和纹理特征判断它的斑块类型。Athanasiou 等[3]提出了一种钙化斑块自动识别方法,他们首先提取血管内膜与冠脉 OCT 图像最大扫描深度之间的区域,采用 K-means 方法将该区域分成 3 个聚类,将两个聚类之间夹杂部分且和导管阴影区域具有相似灰度特性的区域认作钙化斑块。Wang 等[4]则根据钙化斑块区域内外高灰度差异特征,提出了一种结合边界检测和基于梯度水平集模型的半自动分割方法分割钙化斑块,并将其应用于血管内 OCT 系统。Prakash 等[5-6]提出了基于纹理特征的粥样动脉硬化斑块分割方法,通过提取纹理特征和 K-means 聚类方法将图像特征分为 3 类,并将该 3 类特征空间映射到原始冠脉 OCT 图像,进而得到斑块区域。
尽管在斑块分割方面已经出现了很多算法,并取得了不错的成果。但是大多数算法仅针对一种斑块进行分割,不能达到临床辅助诊断的目的。为此,本文提出了一种基于内核(kernel)图割模型的多斑块区域分割方法,实现了纤维化斑块、钙化斑块及脂质化斑块区域的准确分割。本文方法能够极大减少医生分割斑块所消耗的大量时间,还可避免不同医生之间的主观性和个体差异性,有效辅助临床医生对冠心病的诊断与治疗。
1 数据来源
本文所使用的冠脉 OCT 图像数据由北京协和医院提供,采用光学相干断层扫描仪(ST.JUDE MEDICAL C7)进行采集。从 9 名冠状动脉粥样硬化患者(患者为 8 男 1 女)中随机选择共 20 幅冠脉 OCT 图像,包含纤维化斑块、钙化斑块和脂质池。
本文实验采用 Windows 7 操作系统,以软件 Matlab 2014 工具实施操作。
2 斑块区域分割实现
本文算法实现框图如图 2 所示,首先对冠脉 OCT 图像进行预处理,去除图像干扰和不相关区域;然后基于 K-means 算法对图像进行聚类分析,得到聚类中心点,并通过 kernel 变换将冠脉 OCT 图像依据聚类中心变换到高维空间;最后,使用图割(Graph Cuts)图像分割方法进行分割,根据斑块区域的颜色特征将斑块准确分割出来。

使用 Graph Cuts 方法对图像进行分割是由于:① 图论是一门研究比较早而且已经发展成熟的学科,具有较好的数学基础。针对某个特定的问题,图论中有多个方法可以解决;② 图像和图之间非常相似。在图像映射为图之后,便可以利用图论中的各种理论和数学工具进行图像分割,能够较为有效地提供不同特质的斑块区域。
2.1 图像预处理
如图 3 所示,原始的冠脉 OCT 图像中,除了包含有冠脉血管的横截面图(左图上)和纵向视图(左图下)外,在横截面图中还包含一些干扰,如:外围的文字标注、中心斜线、导管圆环等。在斑块分割中主要考虑横截面图中大的圆形区域,因此其他干扰在预处理时去除。在冠脉 OCT 图像中,纵向视图和导管圆环的图像坐标是可知的,因此很容易根据坐标分布去除,中心斜线经过 Hough 变换去除,这样就得到了如图 3 所示的右侧图像。

2.2 K-means 聚类
K-means 是一种簇的聚类方法,它会根据事物的不同属性将事物分成不同的聚类,并给出每一个聚类的中心[7]。本文采用 K-means 聚类方法将预处理后的冠脉 OCT 图像依据颜色分布分成不同的聚类,并得到聚类中心 C。本文使用最小化函数
$ arg S\;{\rm {min}}\sum\limits_{l = 1}^K {\sum\limits_{{x_l} \in {S_i}} {{{\left\| {{x_l} - {\mu _i}} \right\|}^2}} } $ |
其中 μi 表示 Si 中的平均值,K 就是聚类时将医学图像分割出的区域数目。
2.3 kernel 变换
kernel Graph Cuts 算法是将图像映射成加权图,然后把图像像素看作图的顶点,邻接像素之间的关系看作图的边,邻接像素之间的相似性看作边的权值,根据边的权值设计能量函数,最后通过最小化能量函数完成对图的分割,从而实现图像分割。
经过 K-means 聚类确定图像聚类中心 C,再使用式(2)的径向基函数核变换,将图像 Im 变换到高维空间。
$ K(Im,C) = {\rm {exp}}( - \frac{{{{\left\| {{\mathop{Im}\nolimits} - C} \right\|}^2}}}{{{{{β}} ^2}}}) $ |
其中,β 为径向基函数的宽度参数,控制函数径向作用范围,取 β=0.5。
2.4 Graph Cuts 分割
Graph Cuts 是将图像的分割问题转化为图像中每一个像素点标签的放置问题[8]。
根据图像特征构建一个能量函数,通过最小化该能量函数达到标签的最优配置。本文中,Graph Cuts 能量函数由两部分组成,一是计算分割区域内颜色相似性的数据项 D(f),另一个是使边界平滑的正则项 R(f),其可表示为:
$ H(f) = D(f) + {{α}} R(f) $ |
其中,f 表示像素点到标签空间的映射, 为一正数,控制边界平滑程度。
本文采用 kernel 空间中的非欧氏距离作为数据项,则数据项 D(f)进一步演化为:
$ D(f) = \sum\limits_{l \in L} {\sum\limits_{x \in {S_l}} {{{(\varphi ({u_l}) - \varphi ({m_x}))}^2}} } $ |
其中,x 和 l 分别为像素点和对应的标签,Sl和 L 为区域集合和标签集合。φ(·)为 kernel 非线性映射,ul为分段常数模型的模型参数,mx为图像的颜色向量。
正则项 R(f)进一步演化为:
$ R(f) = \sum\limits_{\left\{ {x,y} \right\} \in N} {r(f(x),\;f(y))} $ |
其中,x,y 为临近点集 N 中的一对临近点,,A 为一固定常数。
3 实验结果与讨论
把经过预处理的图像采用 K-means 算法进行处理,分成 6 个区域(k=4,5,7,8 也进行实验),能够有效地分割出目标区域,不会产生较多小区域或缺失。
在 Graph Cuts 分割算法中,正则项 R(f)前的参数 α 控制斑块区域边界的光滑度。它即影响斑块区域的完整度,也影响斑块区域分割的准确性。如图 4 所示,给出了在不同 α 值下得到的斑块区域。从图中可以看出,随着 α 增大,得到的斑块边界变得光滑,但连续性也受到了影响。经过对所选图像进行反复实验验证,最终我们选择 α=0.6,此时得到的斑块区域最精确。

分别使用本文方法和 K-means 方法对 9 个患者的冠脉 OCT 图像进行程序分析,实验中给出了两个患者的分割结果,其斑块包括钙化斑块、纤维化斑块和脂质斑块,如图 5、图 6 所示。


如图 5、图 6 所示,本文算法明显优于 K-means 方法,特别是对于钙化斑块的分割。由于脂质斑块和钙化斑块对光的衰减系数较为相似[9],颜色较为接近,且分布位置相近,钙化斑块往往湮灭在脂质斑块当中,不易分割出来。本文算法对钙化斑块分割具有很好的效果。
为了更加准确地评估斑块区域分割的准确度,以医生手动分割的斑块区域作为“金标准”,使用 Jaccard 系数分别测量了手动分割的斑块区域和本文算法及 K-means 算法分割得到斑块区域的重合度,结果如表 1 所示。

如表 1 所示,纤维化斑块平均分割精度在 75%以上,是所有斑块类型中分割精度最高的,这主要是因为纤维化斑块为图像中最亮的区域,与其他类型斑块的颜色区分度较大,容易识别。而对于钙化斑块其在颜色上和脂质斑块类似,分割时很容易和脂质斑块混在一起,造成分割边界不清晰。相比于 K-means 分割方法,本文算法在区分钙化斑块和脂质斑块上,具有明显的优势。
为了进一步证明本文算法的有效性,又与 Athanasiou 等[10]算法在重合面积上进行了对比。重合面积的计算公式如下所示:
$ {\text{准确度}} = \frac{{A \cap B}}{B} \times 100\% $ |
其中,A 代表分割结果,B 代表医生手动分割(金标准)。
实验对比结果如 表 2 所示,从表中可以看出,本文算法在钙化斑块、脂质斑块分割上优于Athanasiou 等 [10] 的算法。但在纤维化斑块分割方面则略低于Athanasiou 等 [10] 的算法。原因是在分割脂质斑块与纤维化斑块时,两者结合部位较为模糊不清,本文方法在分割脂质斑块与纤维化斑块的边界时有部分差异。

本文方法可代替医生进行手动分割斑块,大大减少了医生处理冠脉 OCT 图像的时间,而且对不同医生间的分割结果有指导作用。
4 总结
本文提出了一种基于 kernel Graph Cuts 模型的冠脉 OCT 图像多斑块区域分割算法,较好地实现了纤维化斑块、钙化斑块和脂质化斑块的分割。并和前面研究使用的 K-means 方法的分割结果进行了对比分析,本文算法明显优于 K-means 方法,特别是在钙化斑块区域的分割上优势明显。又与Athanasiou 等 [10] 的算法对比,在钙化斑块和脂质化斑块分割上具有明显优势。本文提出的多斑块区域分割算法为医生提供了斑块区域特征信息,节约了医生诊断时间,同时也为医生分析斑块对患者的危险程度评估提供了辅助。由于斑块区域分布广泛,且缺乏连续性,致使医生很难准确标记所有斑块区域,这也是影响本文算法准确度评价的主要因素。未来我们将采用多组医生手动标记的斑块区域对算法进行评价分析。