首页>论文>正文
日期
07/17
2018
咨询
  • QQ扫一扫

  • Vision小助手
    (CMVU)

基于区域生长和snake模型的舌像分割
收藏
2018-07-17 16:51:20来源: 中国视觉网

摘  要:舌诊在中医望诊中起着重要作用,为利用计算机自动客观地分析舌体的各项指标,必须先将舌体从拍摄到的彩色图像中分割出来。由于嘴唇和舌体部分的纹理和颜色比较接近,直接采用 Snakes方法提取舌体轮廓时,很难得到理想的轮廓。本文提出一种结合区域生长与Snakes模型的分割方法,并取得了较好的分割效果。
关键词:舌像分割,区域生长,snake模型

    1  引  言
    中医舌诊是中医四诊中望诊的重要内容也是中医临床辨症的主要内容之一,为历代医家所重视。它通过观察舌像的变化,了解人体生理功能和病理变化。但舌像诊断能力取决于舌像诊断人的经验和知识,同时外界环境的变化也会对诊断产生很大的影响,使得中医在现代化的道路上举步维艰。基于计算机技术、图像处理和医学图像分析的舌诊客观化研究为解决这个问题的提供了方向。
    为了实现舌诊客观化,近年来国内外的一些学者运用图像处理和模式识别的方法对舌像地纹理、色泽和形态进行了研究,并开发了舌诊客观化的平台和软件[1-3]。然而,对舌像的分割仍然没有取得满意的效果,这成了制约舌诊客观化系统走向实用的主要障碍。
    将舌体从拍摄到的图像中准确地分割出来是进一步对舌像进行自动化客观分析的前提[2]由于舌像比较复杂(包括嘴唇、脸、牙齿),传统的分割方法如区域生长、通用边缘检测算子(如Soble、Canny等)很难得到理想的效果。80年代中期,Kass等提出了可变模型[4](Active Contour Model)的概念,其二维可变模型又称作Snake或动态轮廓模型,是一种动态能量极小化曲线。它的最大特点是结合了图像的低层特征与高层知识,用于图像分割时,在鲁棒性、精确度、实用性等方面均优于传统方法。但snake算法对初始值要求较高,如果初始边界远离所求边界snakes算法常常无法收敛到图像真正的边界。针对上述问题,本文结合区域生长和snake模型给出了一种新的彩色舌像分割方法。
    2  基本原理
    2.1  Snake模型
     Snake 是一种边缘检测算子,自1987年Kass等提出后已得到了广泛的应用,并在随后出现了不少改进算法。其原始模型可表述如下:
    设v (s)= (x (s), y (s))为轮廓曲线,s 是弧长。定义以v (s)为变量的能量函数:
     (1)
   式中Eint ( v(s)) 称作内部能量,用来计算轮廓形状的所关注的一些特性:
            (2)
vs (s)、vss (s)分别为v (s)的一、二阶导数,第一项要求轮廓的长度尽可能短,第二项要求轮廓尽可能平滑,  分别为其权值;Eext为外部能量函数,是针对图像中感兴趣的特征定义的,不同的外部能量函数使轮廓收敛到图像不同的特征点。在边缘检测中可用图像梯度作为外部函数: 。在数字图像处理(离散形式)中,Eint近似为:

    而整个Snake 的能量可表示为:

    式中:V = (v0, v1, …, vn)为离散化的轮廓曲线;为能量函数的权值参数。
    2.2 Snake算法在舌像分割中的问题及其解决思路
    经过大量实验研究和分析,我们发现在舌像分割中影响Snake算法性能的主要有以下几个方面:
    (1)嘴唇部分与舌体无论在颜色、纹理都具有相似性较难直接有Snake区分。但由先验知识可知:虽然舌体的颜色与嘴唇的颜色差别较小,但是比嘴唇的颜色要丰富。我们采用色彩对消[5]同时消去嘴唇与舌体中的公共颜色,剩下的就是舌体所独有的颜色,并将这些舌体独有的颜色点在计算Snake外力时,将它们的权值设为最大。
    (2)脸部与嘴唇有大量颜色相近的区域,容易使Snake外力在此区域内很小,导致边界搜索失败。考虑在舌像基本没有凹性边界,在形变模型中又引入了另外一种外力——压力[6]压力可以扩张或者收缩初始活动轮廓,使得初始活动轮廓不必在初始化对象的边界附近。
    (3)Snake的初值对分割结果影响很大,如初值离舌体边界很远,Snake算法经过迭代后不能收敛到舌体边界。为此,我们直接在彩色图像上使用区域生长算法,将其结果作为Snake初始值(由于舌体颜色与脸部相差较大与嘴唇相差较小,初值通常包括舌头与嘴唇)。
    3  分割方法及其实现
    3.1  舌体分割主要步骤

                                    图1  舌体分割流程图


     3.2  色彩对消
    通常舌体的颜色与面部差异较大,与嘴唇的颜色差别较小,但是比嘴唇的颜色要丰富。基于这些特征我们可以先对舌像图片进行预处理,取出图片中无用信息与明显不是舌头区域的部分。获得的舌图像采用的是 RGB 色彩空间,为了便于分析,最好用一维的变量来表征彩色信息。在各种颜色模型中HSV模型与人眼观测方式较为相近。其中H通道表示色度、S表示饱和度、V表示亮度。H、S表征色彩信息。设X=H-180,Y=S*180这样色彩信息可由一个0-180角度值表示,如图所示。由于人脸和舌头的主要颜色是红色与黄色。经分析可知,人脸、舌体和嘴唇的颜色集中分布在 HS 矢量图(见图2)的第二象限对应的角度范围为[90,180],我们将[90,180]的范围量化为 N 等份,使每个角度对应1-N中的某个整数。


    设包含舌体的区域为B区,舌体上方包含部分嘴唇与脸部的区域为A区,如图3所示。建立标记数组Flag[N],逐点扫描A区的像素,求出每一像素点在HS矢量图中的角度值i,并使Flag[i] =1。然后再扫描B区的每点,求出对应的角度值j,若Flag[j] =1,则去除该点,否则保留。当扫描结束,B区中的与嘴唇和脸部颜色相同的像素就被消去了,剩下的就是包含舌体部分,如图4所示。
    色彩对消后面部有时也会有些点不能被对消掉,形成一些孤立的噪声点。为了填补舌体中各颗粒点之间的空隙,可先对结果按一定尺度进行形态滤波的膨胀运算,然后再进行腐蚀运算,这样可以消去颗粒噪声点并使舌体部分大量的孤立点连接成一片(如图5所示),得到较清晰的舌体轮廓。然后提取它的H通道(见图6)作为snake模型计算所需的灰度图像。

                         图3  舌图像区域划分  图4  色彩对消结果

    3.3  基于种子点队列的区域生长
    Snake的初始值对算法的最终效果影响很大,我们希望snake的初始值尽量接近舌体边界。人的舌头上颜色通常较为丰富(多样化),舌体可分为舌苔和舌质,舌苔和舌质之间颜色差异较大,因此

                             图5 形态滤波结果 图6 形态滤波结果的H通道

    利用单个种子点进行区域生长无法得到整个舌体的大概轮廓。为解决该问题,本文提出基于种子点队列的区域生长方案。考虑到色苔和色质的颜色特点,设函数f (x): 

    f(x)=1 就表示该点为舌头所独有(区别于嘴唇)的颜色,即该点周围的像素在色彩对消中被消除,也就是说该点的颜色为舌体说独有的颜色。遍历预处理后的图片我们将得到一个由种子点组成的队列。从队列中取一点在RGB三个通道上同时进行区域生长,我们分别对RGB三个通道设定阈值HR、HG、HB,若像素X周围的点Y同时满足|RX-RY|


                     图7 区域生长结果 图8 二值化的生长区域 图9 图8的形态滤波结果

    3.4  用snake提取舌体轮廓
    通过以上几步我们已经的到了舌体的初始轮廓,但这个轮廓与我们所需的舌体轮廓比起来可能缺少几块,也可能多了一些不需要的部分,并且这一轮廓的边界不够光滑。这些不准确的分割都可能影响到后继的分类识别工作的顺利进行。因此我们需要用snake模型来得到较准确的舌体轮廓。
       (3)
    公式(3)为snake模型加上压力Ebal后的离散表达式,其中,vi = ( xi ,yi), i =0, …, N – 1,是曲线上的控制点,N是控制点的个数。内部能量Eint在vi点周围j行k列可表示为: ,其中 为闭合曲线变化因子, 是规一化因子。压力Ebal可表示为: ,其中ni为vi点法线单位向量,它可由vi点的切向量ti旋转90度得到。
    外部能量选取也较简单,对位于图4中舌体区的对消剩余像素点进行较小程度的先膨胀后腐蚀运算。将运算后得到的非黑色区域能量设为 255,其他区域像素点的能量设为该点的梯度值 。为了使结果较精确,在计算中选取了较小的移动步长,并将最大移动次数设的较大,这样当 Esnake达到最小时,就可收敛到舌体的轮廓边缘。
    4  实验结果与结论
    我们使用VC6实现本文算法,选用上海中医药大学提供的300张舌像进行分割实验,每幅大小均为500万像素。实验结果表明,本文算法对其中276张舌像成功分割,成功率为92%。不同形状和大小的舌体图像的分割效果如图10所示。

图10  不同形状舌体图像的分割结果

    本文提出一种结合区域生长与snake模型的舌像分割方法。它使用色彩对消有效的解决了舌像分割中嘴唇等相似区域干扰较大的问题,用区域生长获取snake算法初始值,提高了snake方法在舌像分割中的精度和成功率。实验结果证明本文算法具有较好的适应性,能够有效的将舌体从脸部图像中分离出来。 

参 考 文 献
[1]余兴龙,谭耀麟,竺子民,中医舌诊自动识别方法的研究,中国生物医学工程学报,1994,13(4):336-344
[2]沈兰荪,卫保国等,图像分析技术在舌诊客观化中的应用,电子学报, 2001, 29(12):1762-1765.
[3]周昌乐,孙炀等,一种基于分裂-合并方法的中医舌像区域分割算法及其实现,中国图像图形学报,2003,8(12):1395-1399。
[4]M. Kass, A. Witkin, and D. Terzopoulos, “Snakes: Active contour models,” in Proc. Int. Conf. Computer Vision, 1987, pp. 259–269.
[5]王艳清,卫保国等,一种基于先验知识的自动舌体分割算法,电子学报,2004,32(3):489-491.
[6]L. D. Cohen, “On active contour models and balloons,” CVGIP: Image Understand., 1991, 53(2): 211–218.