Print

发布时间: 2018-10-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.180036
2018 | Volume 23 | Number 10




    医学图像处理    




  <<上一篇 




  下一篇>> 





面向舌体分割的两阶段卷积神经网络设计
expand article info 王丽冉1, 汤一平1,2, 陈朋1, 何霞1, 袁公萍1
1. 浙江工业大学信息工程学院, 杭州 310023;
2. 浙江银江研究院有限公司, 杭州 310000

摘要

目的 由于舌体与周围组织颜色相似,轮廓模糊,传统的分割方法难以精准分割舌体,为此提出一种基于两阶段卷积神经网络的舌体分割方法。方法 首先,在粗分割阶段,将卷积层和全连接层相结合构建网络Rsnet,采用区域建议策略得到舌体候选框,从候选框中进一步确定舌体,从而实现对舌体的定位,去除大量的干扰信息;然后,在精分割阶段,将卷积层与反卷积层相结合构建网络Fsnet,对粗分割舌象中的每一个像素点进行分类进而实现精分割;最后,采用形态学相关算法对精分割后的舌体图像进行后续处理,进一步消除噪点和边缘粗糙点。结果 本文构建了包含2 764张舌象的数据集,在该数据集上进行五折交叉实验。实验结果表明,本文算法能够取得较为理想的分割结果且具有较快的处理速度。选取了精确度、召回率及F值作为评价标准,与3种常用的传统分割方法相比,在综合指标F值上分别提高了0.58、0.34、0.12,效率上至少提高6倍,与同样基于深度学习思想的MNC(multi-task network cascades)算法相比,在F值上提高0.17,效率上提高1.9倍。结论 将基于深度学习的方法应用到舌体分割中,有利于实现舌象的准确、鲁棒、快速分割。在分割之前,先对舌体进行定位,有助于进一步减少分割中的错分与漏分。实验结果表明,本文算法有效提升了舌体分割的准确性,能够为后续的舌象自动识别和分析奠定坚实的基础。

关键词

卷积神经网络; 深度学习; 舌体分割; 两阶段语义分割; 形态学

Two-phase convolutional neural network design for tongue segmentation
expand article info Wang Liran1, Tang Yiping1,2, Chen Peng1, He Xia1, Yuan Gongping1
1. School of Information Engineering Zhejiang University of Technology, Hangzhou 310023, China;
2. Zhejiang Enjoyor Research Institute Co., Ltd, Hangzhou 310000, China
Supported by: National Natural Science Foundation of China (61379078)

Abstract

Objective The tongue is difficult to segment accurately due to the blurred contours and the similar colors of the surrounding tissue.Current tongue segmentation methods, whether based on texture analysis, edge detection, or threshold segmentation, mostly extract the color features of the tongue image, i.e., they are pixel-based segmentation methods.Although color features are easy to extract, the position information of the target is difficult to express.The color between the tongue and the background is similar, and the color features of the tongue and the background may overlap.Therefore, tongue information is difficult to express by using the color features of the tongue image.The deep semantic information of the image should be extracted and more complete features must be obtained to achieve an accurate segmentation of the tongue body.A tongue segmentation method based on two-stage convolutional neural network is proposed in this paper.The cascade method is used to combine the networks, and the output of the previous stage is taken as the input of the next stage. Method First, in the rough segmentation stage, the rough segmentation network (Rsnet) consists of the convolutional and fully connected layers.The problem of excessive interference information in the original tongue image needs to be solved.Thus, the region suggestion strategy is adopted to obtain tongue candidate boxes, and the regions of interest are extracted from the similar background, i.e., the tongue is located and a large amount of interference information are removed.Therefore, the influence of the tissue around the tongue during the segmentation of the tongue is weakened.Second, in the fine segmentation phase, the fine segmentation network (Fsnet) consists of the convolutional and deconvolutional layers.The regions of interest obtained in the previous stage are taken as the input to the Fsnet.The Softmax classifier is automatically trained and learned without manual intervention.With the trained Softmax classifier, each pixel of the image is classified to achieve fine segmentation and obtain a more accurate tongue image.Finally, the designed algorithm performs post-processing on the finely divided tongue image.The morphology-related algorithm is used to deal with the fine-segmented tongue image, and can further eliminate noise and edge roughness.Therefore, the segmentation result is further optimized.In addition, the training of deep convolutional neural network depends on many samples.The collection and labeling of medical images are difficult.Consequently, large-scale tongue image datasets are difficult to obtain.When a small-scale dataset is used for direct training, the network is not easy to converge; moreover, overfitting can occur easily.The desired results are difficult to achieve.In the training process, three aspects are considered, namely, training strategy, network structure, and dataset, to avoid the overfitting of models. Result In this study, a database of 2 764 tongue images is constructed, and the five-cross experiment is performed on this database.Experimental results show that the proposed algorithm can achieve better segmentation results and faster processing.Accuracy, recall rate, and F-measure are selected as the evaluation criteria.As opposed to the three common traditional segmentation methods, the proposed method can increase the comprehensive F-measure by 0.58, 0.34, and 0.12 and the efficiency by at least 6 times.Moreover, as opposed to the MNC algorithm based on deep learning, the F-measure can be increased by 0.17 while efficiency can be increased by 1.9 times. Conclusion The method based on deep learning is applied to tongue segmentation to help realize accurate, robust, and rapid tongue segmentation.The tongue is positioned before segmentation, which helps reduce the division of the misclassification and leakage points further.The models are combined in a cascading manner, which is flexible and easily combines the model of the tongue positioning stage with other methods to assist in segmentation.Experimental results show that the accuracy of tongue segmentation is effectively improved, and a solid foundation is established for follow-up tongue automatic identification and analysis with the proposed algorithm.

Key words

convolutional neural network; deep learning; tongue segmentation; two-stage semantic segmentation; morphology

0 引言

舌诊是祖国医学望诊的重要组成部分,通过对患者舌面苔迹、舌质相关属性进行观察,从而判断疾病所在,进行辨证论治。如今,中医舌诊的标准化、客观化研究已经成为中医诊断学现代化的主要研究方向,对整个中医学的发展有着极其深远的意义[1]

从舌象中准确地分离出舌体是进行识别和诊断的前提。由于舌象包含的嘴唇、脸部、下巴等部位与舌体颜色相似,且每个人的舌体形状各有差异,因此,实现舌体的精准分割是一个难题。针对舌的特殊性,不少研究者提出多种舌体分割方案,大体上可以分为两类:一类主要是采用阈值分割算法[2]提取舌体,它的分割速度快,可自适应能力差,不能很好地将舌体分割出来;另一类是以主动轮廓模型[3]为核心确定舌体轮廓,但该算法过于依赖初始轮廓线,初始轮廓线与舌体边缘相差较大时,容易得到错误的分割结果。

针对上述问题,一些学者做了新的尝试和改进。文献[4]在利用Otsu算法对舌象进行分割之前,先对舌象的灰度图进行投影,以确定舌体区域,减少冗余信息的干扰,但当提取的舌体区域不准确时,反而会影响之后的分割;文献[5]采用多阈值Otsu算法对舌象进行分块,并对每个子块进行区域生长实现分割,但所用的区域生长算法计算复杂度高,难以实现分割的实时性;文献[6]提出通过HSV颜色空间的转换来确定初始轮廓线,并构建舌体修正模型对初始轮廓进行修正,最后利用改进的GAC算法提取舌体,该方法在一定程度上克服了初始轮廓与舌体边缘差别较大的难题,但同样存在算法处理速度慢的问题;文献[7]首先用四叉树分解对图像进行初分割,再利用GrabCut算法对舌象做进一步的分割,极大地提高了舌体分割速度,但在GrabCut算法中需要人为选定矩形框以分开前景及背景,降低了舌体分割的自动化程度。

综上所述,这些方法虽然在一定程度上改进了舌体分割结果,但仍存在着各自的问题,很难找到效果很好且普遍适用的分割方法。因此,实现舌体的精确、鲁棒分割仍然是舌诊中的一个难点。

目前的舌体分割方法,无论是基于纹理分析、边缘检测还是阈值法进行分割,大多都是通过提取舌象的颜色特征来实现的,即基于像素的分割。颜色特征的提取虽然容易实现,但很难表达目标的位置信息,且舌体与背景之间颜色相近、界限模糊,两者的颜色特征可能会有重合。所以,仅提取舌象的像素特征较难全面地表达舌体信息,需要进一步提取图像的深层语义信息,得到更完整的特征以实现舌体的精确分割。

深度学习在计算机视觉领域有着广泛应用,这得益于卷积神经网络的快速发展[8-11]。卷积神经网络通过模拟人脑的阶层式结构进行信息传递,实现了从像素级原始数据到抽象语义特征的转换。这些特征在大量的任务中也被证实比传统的手工提取特征具有更强的表征能力,能够更完整地描述图像的整体结构。卷积神经网络技术从区域网络R-CNN[8]发展到Faster R-CNN[10],从CNN发展到全卷积网络FCN[11],几乎涵盖了目标检测、分类、分割等计算机视觉的几大重要领域。如文献[12]将深度学习的思想引入图像检索领域,使得学习到的图像特征具有较好的判别能力,从而提高检索精度;文献[13-14]也表明了深度学习方法可以更准确地对高光谱或分辨率较低的特殊数据进行特征提取,从而有效提升识别精度。近年来,基于深度学习的方法在一些医学图像的处理中也得到了成功的应用[15-16]。但鲜有研究者将其应用到中医舌诊中,作为一种有效的特征提取算法,有必要探究其在舌图像处理上的可行性。

本文利用卷积神经网络实现舌体分割,提出一种基于两阶段深度卷积神经网络的舌体语义分割方法,并采用级联方式进行组合,即将上一阶段的输出作为下一阶段的输入。级联的组建方式使得网络的灵活性更强,且各个阶段网络单独进行训练,可减小网络的复杂程度,降低训练时对硬件配置的要求。

1 舌体语义分割方法及步骤

整体设计方案如图 1所示。在第1阶段(粗分割),针对原始舌象图中干扰信息较多的问题,将卷积层与全连接层相结合构建粗分割网络Rsnet,从相似的背景中提取出感兴趣区域,即对舌体进行定位,去除大量干扰信息,从而弱化舌体周边组织对舌体分割的影响。

图 1 舌体分割流程图
Fig. 1 Tongue segmentation process diagram

在第2阶段(精分割),利用卷积层与反卷积层构建精分割网络Fsnet,将前一阶段得到的感兴趣区域作为Fsnet的输入,在不需要人工干预的情况下,自动学习样本训练Softmax分类器,用训练好的Softmax分类器对图像的每一个像素进行分类进而实现精分割,得到较为准确的舌体图像。

最后设计算法对精分割后的舌象进行后续处理,使分割结果得到进一步优化。

1.1 粗分割

舌体分割本质上还是属于舌象图中像素点的分类问题,分类器的性能在很大程度上会受到背景区域提取到的无意义甚至是干扰信息的影响。因此,如何减小背景信息的影响,准确地提取出感兴趣区域即舌体所在区域,成为舌体分割的关键问题。

本文在第1阶段构建粗分割网络Rsnet对舌体对象进行位置检测,该网络框架如图 2所示。图 2中卷积层部分的网络采用ZFNet[8],网络先利用ZFNet中的卷积和池化两种操作进行特征提取,将原舌象从像素域转化到特征域;接着,采用区域建议策略[10],将特征图上的每个点映射回原图,以映射得到的点为中心点,生成不同尺度、不同长宽比的候选区域($\mathit{\boldsymbol{A}}$)。为提高网络效率,在训练过程中将这些候选区域进行正负样本的筛选。具体判断标准是:计算该候选区域与给定标签中舌体区域($\mathit{\boldsymbol{G}}$)的交并集之比为

图 2 Rsnet框架图
Fig. 2 Rsnet framework diagram

$ IoU = \frac{{\left| {\mathit{\boldsymbol{A}} \cap \mathit{\boldsymbol{G}}} \right|}}{{\left| {\mathit{\boldsymbol{A}} \cup \mathit{\boldsymbol{G}}} \right|}} $ (1)

通过对实验数据进行分析确定正负样本的阈值,若比值大于0.7,则认为是正样本;小于0.3,则认为是负样本。

将筛选后的正负样本同时作为后续网络(全连接层)的输入,以增强舌体与背景区域的区分度。全连接网络结构如图 3所示,前3个全连接层(阴影区域所示)输出向量为2 048维,可进一步提取舌体的深层特征;后两个全连接层输出神经元个数设为2和8,可对所属类别及位置信息进行预测。将预测信息与给定标注做对比,进行有监督学习,通过两个损失函数层分别计算预测值与给定真实值之间的误差。利用反向传播算法将类别损失及位置损失层层回传,利用随机梯度下降法对每层的权重参数进行调整和更新,使得网络的预测值更接近真实值,即可实现对舌体的正确定位。

图 3 全连接网络结构
Fig. 3 Fully connection network structure

在计算损失函数时,总的回归损失函数为

$ \begin{array}{*{20}{c}} {L\left( {\left\{ {{p_i}} \right\},\left\{ {{t_i}} \right\}} \right) = \frac{1}{{{N_{{\rm{cls}}}}}}\sum\limits_i {{L_{{\rm{cls}}}}\left( {{p_i},p_i^ * } \right)} + }\\ {\lambda \frac{1}{{{N_{{\rm{reg}}}}}}\sum\limits_i {p_i^ * {L_{{\rm{reg}}}}\left( {{t_i},t_i^ * } \right)} } \end{array} $ (2)

式中,类别损失函数定义为

$ \begin{array}{*{20}{c}} {{L_{{\rm{cls}}}}\left( {{p_i},p_i^ * } \right) = }\\ { - \lg \left[ {p_i^ * {p_i} + \left( {1 - p_i^ * } \right)\left( {1 - {p_i}} \right)} \right]} \end{array} $ (3)

位置回归损失函数由式(4)定义为

$ {L_{{\rm{reg}}}}\left( {{t_i},t_i^ * } \right) = R\left( {{t_i} - t_i^ * } \right) $ (4)

$R\left( x \right)$是鲁棒的损失函数${{\rm{s}}_{L1}}$,即

$ {s_{L1}}\left( x \right) = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 0.5{x^2}\\ \left| x \right| - 0.5 \end{array}&\begin{array}{l} \left| x \right| < 1\\ 其他 \end{array} \end{array}} \right. $ (5)

式中,${N_{{\rm{cls}}}}$${N_{{\rm{reg}}}}$是为避免过拟合的正则项,$\lambda $为权重系数,$i$是该候选区域的索引值,${t_i}$是原坐标框的位置参数,$t_i^*$是该候选区域的实际坐标,${p_i}$是预测候选区域属于舌体的概率,$p_i^*$表示其真实类别,$p_i^*$=0表示背景类,$p_i^*$=1表示舌体。

1.2 精分割

将CNN中的全连接层全部换成卷积层构建全卷积网络FCN[11],使得网络最后的输出由1维的特征向量变成2维的特征图,从而保留其位置信息,这是深度学习领域语义分割的经典思想。此后的一系列基于深度学习的分割算法大多也是在FCN的基础上进行改进的[17]

本文的精分割阶段网络Fsnet同样采用了全卷积网络的思想,基于深层网络VGGNet[18]的全卷积形式、结合反卷积技术实现舌象的精分割。该阶段算法分为从大到小(对输入的原始图像进行特征提取得到缩小的特征图),再从小到大(将缩小的特征图恢复到原始输入图像尺寸)两个过程。从大到小是由网络前端的卷积和池化操作所致,而从小到大需要由反卷积层进行上采样来实现。

为得到2维的特征图,去除了VGGNet中的全连接层,网络只保留了原始网络5组堆叠的卷积层和5个最大池化层,具体结构如图 4所示。

图 4 精分割阶段中的VGGNet结构
Fig. 4 VGGNet structure in the fine segmentation phase

特征图每经过一个池化层,尺寸缩小为上一层的1/2。但本文需要对原图的每个像素点进行预测,故在此利用反卷积层对特征图进行上采样,恢复到原图尺寸。低层特征图更侧重图像的细节纹理信息,而高层特征图包含更多人眼难以理解的抽象语义信息,将高层特征与低层特征结合起来,信息互补有利于构建更强大的表达能力。如图 5所示,图 5(b)的每一列分别为图 5(a)中的舌象在依次经过5层池化后,每层的前5张特征图可视化情况。

图 5 特征图可视化
((a) tongue image; (b) feature visualization)
Fig. 5 Feature visualization diagram

故为了使恢复的结果更精细,在这里采用了逐层放大的方法,在上采样的每个阶段,使用下采样对应层的特征进行辅助。即采用跳层的方法,在高层处减小上采样的步长,得到的粗层和低层得到的细层做融合,然后再依次进行上采样得到输出,即与原输入图像尺寸一致的特征图,从而实现对原图中每个像素点的分类。这种跳层融合的方法兼顾了局部和全局信息,有利于实现舌体的精准语义分割。具体示意图如图 6所示。

图 6 基于全卷积神经网络的上采样融合过程
Fig. 6 Up-sampling fusion based on fully convolutional neural network

将所有池化层特征图分别进行上采样并进行融合,这就要求在进行特征图的融合时两层特征图的大小相一致,故需根据低层特征图对高层上采样得到的特征图进行剪切,低层特征图的尺寸为

$ {w_2} = \left( {{w_1} + p \times 2 - k} \right)/t + 1 $ (6)

高层上采样的特征图尺寸为

$ {w_2} = \left( {{w_1} - 1} \right) \times t - p \times 2 + k $ (7)

进而可得到每层特征图的剪切参数分别为5、9、17、33、35。式(6) (7)中,${w_1}$${w_2}$分别为该层(卷积、池化层/反卷积层)输入、输出的尺寸,$k$为核大小,$p$为该层填充像素数目,$t$为采样步长。从式(6)(7)中也可直观地看出,Fsnet包含了两个相反的过程。

精分割阶段对像素点进行精确的舌体/非舌体分类,故该阶段的损失函数只包含分类损失,目标函数与式(3)一致。

经过以上两个阶段的级联处理,可以得到较好的分割结果,但仍可能有一些小的孔洞、边缘粗糙点及噪声点存在,针对以上问题,本文以形态学方法为基础设计算法对舌象图作进一步处理。

1.3 基于形态学的优化算法

形态学的基本思想是利用具有一定形态的结构元素去扫描和提取图像中的对应形状对图像进行指定操作,本文主要选取腐蚀和膨胀两种形态学运算。

算法处理过程如下:

1) 首先将精分割得到的图像做二值化处理,选择接近舌体形状的圆形结构元素对该二值图先多次腐蚀后以同样次数进行膨胀运算。通过这一步的操作可以平滑舌体边缘及断开舌体与背景的细小连接。

2) 将上一步得到的二值图转化为BOOL类型的数组,先以舌体为主要部分,去除小的连通区域即可去除被误分的背景噪点;再进行取反操作,以背景为主要部分,去除小的连通区域即可去除舌体内部的孔洞。通过这一步的操作即可得到完整分割结果对应的BOOL类型数组。

3) 将原图像与上一步得到的BOOL型数组进行相乘操作,即可得到最终分割的彩色舌象图。

1.4 训练细节

深度卷积神经网络的训练依赖大量的样本。与自然图像相比,医学图像的采集及标注都存在一定难度,因此难以得到大规模舌象数据集。利用小规模数据直接进行训练时,网络不易收敛,容易产生过拟合,难以达到预期效果。

为了解决以上问题,在训练过程中,从训练策略、网络结构、数据集3个方面进行考虑。

首先,采用迁移学习策略进行网络的训练。利用迁移学习策略进行网络参数初始化的可行性在于网络提取特征的层级特性,即浅层网络提取数据的低层特征,深层网络提取数据的高层语义信息。低层特征主要包含颜色、边缘等基本信息,这些信息一般具有共性,不同数据集得到的浅层特征相似度较大。因此,当数据集规模较小时,在预训练模型参数的基础上进行微调是可行的。

采用迁移学习策略的前提是预训练模型结构与现网络结构数目一致。在两阶段网络模型中,根据每个阶段任务的难度,如1.1节、1.2节所述,分别选择了较浅和较深的ZFNet和VGGNet作为基础网络。借助现有的成熟网络建立特征提取层,采用迁移学习策略[19]的方式进行训练,直接在ImageNet数据集[20]上预训练得到的模型参数上进行微调,能够提高网络的收敛速度,避免因训练数据量少而造成的过拟合,有不少研究也证明了该方法的有效性[21-23]

其次,网络中参数量过大容易导致过拟合,而网络中的大部分参数集中于全连接层。故:1)根据实验数据确定全连接层的结构,包括层个数和层输出向量维度,具体见2.4节;2)在每个全连接层后加上一个dropout层,在每次训练时随机丢弃一半的神经元,即使其设置为0。通过这种操作,使网络稀疏化,且训练时网络选择神经元的随机性也增强了模型的泛化能力。

最后,为避免实验数据单一,使得网络只能对某类舌象分割得好。实验特别使用多种方式进行数据集的构建,从而保证数据类型的多样性,具体见2.1节。

2 实验研究与分析

2.1 舌象数据集

为提升网络的泛化性能,本文中采用的舌象数据集中的图像主要来自以下3个方面:1)哈尔滨工业大学舌象数据集;2)舌象专用仪器对志愿者进行舌象采集;3)手机拍摄志愿者的舌体图像。通过筛选和整理,共选取了2 764幅舌体图像,且在这些数据中包含了不同年龄段、健康/患病、外观差异较大的舌象。考虑到数据有限的问题,将数据集随机分为5组,每次选择4组用于训练,剩余1组用作测试,进行五折交叉实验,以验证方法的可靠性。

2.2 实验环境

实验环境如表 1所示。

表 1 实验环境
Table 1 The experimental environment

下载CSV
硬件环境软件环境
CPU:Pentium(R)
    Dual-Core E5400
    2.7 GHz
操作系统:Linux 64
Ubuntu14.04
GPU:Quadro k2200框架:Caffe
RAM:8.00 GB语言:Python,C++

2.3 分割质量评估

医学图像的分割算法评价一般是将自动分割结果与实际分割结果作对比,分为主观评价和客观评价,主观评价简单直接但不确定性强,因评价人的不同而有所差异。因此,选取以下客观评价标准对舌象分割质量进行评估,评价的根本在于描述自动分割结果与实际分割结果之间的差别。

设自动分割结果与实际分割结果中舌体的重叠部分为$TP$,背景的重叠部分为$TN$,自动分割结果中不属于实际舌体的区域为$FP$,不属于实际背景的区域为$FN$。则精确度$P$、召回率$R$及F-measure($F$)为

$ P = \frac{{TP}}{{TP + FP}} $ (8)

$ R = \frac{{TP}}{{TP + FN}} $ (9)

$ F = \frac{{2 \times P \times R}}{{P + R}} $ (10)

精确度$P$表示正确预测为舌体像素点的比例,衡量的是分类器的查准率,与错分率相对;召回率$R$表示实际舌体像素点中被分类正确的比例,衡量的是分类器的查全率,与漏分率相对;$P$$R$一般相互影响,$F$则将$P$$R$结合起来综合考虑,是反映整体精度的评价指标。3个评价指标取值均在0~1之间,其值越大,说明分割的准确性越高。

2.4 Rsnet中全连接网络结构的比较

在本文提出的两阶段网络模型中,粗分割阶段对舌体进行正确的定位是算法成功的基础。故在此针对Rsnet网络结构进行了实验,随机选择一组实验数据,比较了不同全连接结构对舌体定位的结果。在进行评价时,若舌整体完全被定位出来,则视为定位正确;若部分舌体被去除,则视为定位失败。实验结果如表 2所示。

表 2 不同Rsnet网络结构对比
Table 2 The comparison of different Rsnet network structures

下载CSV
Fc1Fc2Fc3Acc
√/4 096××0.898 7
√/2 048××0.963 8
√/1 024××0.960 2
√/512××0.972 8
√/4 096√/4 096×0.896 9
√/2 048√/2 048×0.918 6
√/1 024√/1 024×0.956 6
√/512√/512×0.927 6
√/4 096√/4 096√/4 0960.929 5
√/2 048√/2 048√/2 0480.985 5
√/1 024√/1 024√/1 0240963 8
√/512√/512√/5120.969 2
注:网络结构中包含该层用“√”表示,其后的数值表示该层的输出个数,“×”表示网络中不包含该层。

网络的调参是一项复杂的工作,深度卷积神经网络是一个“黑箱模型”,使网络深度与网络参数尽可能达到平衡需要进行多次实验。这里对网络全连接层的个数及每层的输出向量维度对定位结果进行了不同的比较,根据实验结果,确定Rsnet包含3个全连接层用于深层特征提取,每层的输出向量为2 048维。

2.5 分割结果及分析

选取Otsu算法、Kmeans++算法、GrabCut算法3种传统方法以及同样基于深度学习思想的MNC算法[24]与本文算法做对比。图 7为5次实验中不同分割方法的各指标计算结果,表 3为5次实验评估结果的均值、标准差及平均执行时间。

图 7 五折交叉实验结果
Fig. 7 Five cross-over experiment results

表 3 不同分割算法的评估结果
Table 3 The evaluation results of different segmentation methods

下载CSV
分割算法$P$$R$F-measure最高F-measure平均执行时间/(s/张)
Otsu0.323 4±0.009 80.588 1±0.011 20.384 5±0.010 90.986 80.440 6
Kmeans++0.560 3±0.009 40.809 7±0.008 70.616 1±0.010 40.974 118.764 4
GrabCut0.841 2±0.006 30.855 8±0.007 30.835 4±0.005 90.996 00.479 1
MNC0.990 2±0.001 10.901 3±0.001 40.943 1±0.001 20.981 70.133 0
本文0.978 5±0.007 50.944 2±0.012 80.960 2±0.003 40.993 80.069 5

实验结果表明,虽然在单张舌象的F值计算上传统的分割算法可以达到较高的数值,但平均F值较低,说明它们对不同类型的舌象分割鲁棒性较差,只适用于某类舌象的分割;而本文方法与MNC两种算法的平均F值与取得的最高F值较为接近,且远高于传统分割方法,验证了将深度学习思想应用在舌体分割上的可行性,有利于实现舌体的准确、鲁棒分割。

表 3中的最后一列为各算法的执行时间,由于Kmeans++算法时间复杂度过高,在分割测试中将其测试图片尺寸按比例缩放为最长边100像素,其余算法中测试图片均缩放为最长边400像素。通过对分割时间进行统计,计算每张舌象的平均执行时间。基于深度学习的方法可以利用GPU进行加速计算,分割速度远远高于传统方法的分割速度,基本能够满足分割的实时性。

本文算法在保证分割精度的同时尽可能减少网络的参数量,从而更进一步地提高模型的处理速度,且在分割精度和速度上均优于MNC算法。

为了证明本文算法的普适性,选取不同类型(包括不同颜色、不同形状、苔多或苔少及舌体所占图像总面积比例不同)的舌象分别进行分割。手机拍摄图像受光照环境等可变因素的影响,分割难度较大,这里主要展示了这类图像的分割效果。图 8展示了部分对比结果,前5行舌象来自于手机拍摄,为了验证网络不受图像尺度和长宽比的影响,这里对部分测试图片进行人工裁剪再分割;第6行舌象来自专业仪器采集;第7行舌象来自哈尔滨工业大学舌象数据集。

图 8 不同算法舌象分割结果对比
Fig. 8 The results comparison of tongue segmentation of different algorithms
((a)tongue images; (b) GT; (c)Otsu; (d)Kmeans++; (e)Grabcut; (f)MNC; (g)ours)

图 8可以直观地看出,对于不同类型的舌象,本文算法在很大程度上避免了像素点的错分和漏分,且对大部分类型的舌象都能得到较为理想的分割结果,具有较高的鲁棒性和适用性,能够满足后续识别工作的要求。

本文算法是基于两阶段深度卷积神经网络实现的,并在后续加入了基于形态学的优化算法,为进一步分析,在此将本文算法进行拆分,分步实验结果如表 4所示。

表 4 不同算法的拆分结果
Table 4 The results of different methods′ resolution

下载CSV
分割算法$P$$R$F-measure
Fsnet0.970 00.933 70.949 9
Rsnet+Fsnet0.979 20.945 00.961 0
Fsnet+优化0.973 30.932 60.952 1
本文0.978 50.944 20.960 2

精确度越高表明错分率越低,召回率越高表明漏分率越低。从表 4可以直观地看出,全卷积网络结构的Fsnet可以取得较好的分割结果,再次验证了本文将深度学习方法应用至舌诊中的可行性;在分割之前预先经过Rsnet的处理,可以提高0.92%的精确度及1.13%的召回率,使整体评价指标F值有1.11%的提升;最后加入基于形态学的算法,由于其中使用了腐蚀和膨胀操作,使得舌体边缘部分略微有些变化,导致整体的分割精度稍有降低,但边缘的微小损失对之后的识别影响较小可以忽略不计。且在实际的分割中,不少分割图都会存在空洞或噪点,所以有必要加入算法对其进行处理。

本文提出的两阶段网络通过级联方式进行组合,可以很容易地将Rsnet应用在其他方法上辅助分割。为进一步验证Rsnet的灵活性与有效性,本文将其对舌体区域检测的结果应用于Otsu算法与Kmeans++算法上,即先将原始图像进行舌体区域提取再进行相应算法的分割,并与文献[4]的灰度投影法进行对比,结果如图 9所示。

图 9 Rsnet与文献[4]的辅助结果对比
Fig. 9 The comparison of Rsnet and the reference[4] auxiliary results
((a) the comparison of results applied to the Otsu algorithm; (b) the comparison of results applied to the Kmeans++ algorithm)

传统的灰度投影法只提取了舌象的灰度信息,对于背景较复杂的舌象,只设置单一的阈值进行舌象区域的选择并不能满足实际需求,容易得到错误的舌体区域,反而会使分割效果变差,所以其整体的精度提升并不明显。而基于卷积神经网络进行构建的Rsnet可以对舌体区域进行完整的特征提取,得到更为准确的区域信息,与未经过Rsnet的原始分割结果相比,总的评价指标F值均有明显提升。且本文对比实验中所用的GrabCut算法无需经过人工选定前景背景框,利用Rsnet自动得到所需框的坐标,直接用于区分前景背景,进而实现自动分割,提升了算法的自动化程度,并能取得较好的分割效果,说明可将本文的粗分割方法扩展至其他传统分割方法中作为辅助。

3 结论

本文的主要贡献是将卷积神经网络应用在舌体分割上,解决传统分割方法特征提取难度大及不完全的问题;提出一种两阶段深度卷积神经网络模型,在利用全卷积网络进行分割之前,先对舌体进行定位,去除大量的干扰信息,降低分割中的错分率与漏分率;设计一种基于形态学的优化算法,进一步去除舌象中的噪点和边缘粗糙点,从而实现舌象的准确分割,且具有较强的鲁棒性;模型采用级联方式组合,灵活性强,易于将舌体定位阶段的模型与其他方法相结合,辅助分割。

今后的工作是在舌体精准分割的基础上,聚焦多任务深度学习中的多标签研究,设计多标签识别网络对分割后的舌体图像进行识别,得到其舌象类型,然后模拟医生的发散思维,尽可能多地找出各种相关病位和病机,最后模拟医生诊断的思维收敛过程,引入竞争神经网络,用两个竞争网络的并行计算分别进行病位和病机的推理,得到辨“证”的结果,实现端对端的中医自动舌诊和智能推理诊断全过程。

参考文献

  • [1] Li D X, Guan J, Li F. Development of tongue instrument and progress of its application in traditional Chinese medicine tongue characterization research[J]. World Chinese Medicine, 2017, 12(2): 456–460. [李丹溪, 关静, 李峰. 舌诊仪的发展及其在舌诊客观化研究中的应用现状[J]. 世界中医药, 2017, 12(2): 456–460. ] [DOI:10.3969/j.issn.1673-7202.2017.02.054]
  • [2] Li W S, Zhou C L, Zhang Z F.The segmentation of the body of the tongue based on the improved snake algorithm in traditional Chinese medicine[C]//Proceedings of the 5th World Congress on Intelligent Control and Automation.Hangzhou: IEEE, 2004: 5502-5505.[DOI: 10.1109/WCICA.2004.1343785]
  • [3] Shen L S, Wang A M, Wei B G, et al. Image analysis for tongue characterization[J]. Acta Electronica Sinica, 2001, 29(12A): 1762–1765. [沈兰荪, 王爱民, 卫保国, 等. 图像分析技术在舌诊客观化中的应用[J]. 电子学报, 2001, 29(12A): 1762–1765. ] [DOI:10.3321/j.issn:0372-2112.2001.z1.009]
  • [4] Zhang L, Qin J. Tongue-image segmentation based on gray projection and threshold-adaptive method[J]. Journal of Clinical Rehabilitative Tissue Engineering Research, 2010, 14(9): 1638–1641. [张灵, 秦鉴. 基于灰度投影和阈值自动选取的舌像分割方法[J]. 中国组织工程研究与临床康复, 2010, 14(9): 1638–1641. ] [DOI:10.3969/j.issn.1673-8225.2010.09.027]
  • [5] Huang Z P, Huang Y S, Yi F L, et al. An automatic tongue segmentation algorithm based on OTSU and region growing[J]. Lishizhen Medicine and Materia Medica Research, 2017, 28(12): 3062–3064. [黄展鹏, 黄益栓, 易法令, 等. 基于最大类间方差法和区域生长的舌体自动分割[J]. 时珍国医国药, 2017, 28(12): 3062–3064. ]
  • [6] Zhang Z S, Xi J Q, Liu Y. Study of an effective tongue body extraction algorithm[J]. Microelectronics & Computer, 2015, 32(4): 116–119, 124. [张志顺, 奚建清, 刘勇. 一种有效的舌体提取算法研究[J]. 微电子学与计算机, 2015, 32(4): 116–119, 124. ] [DOI:10.19304/j.cnki.issn1000-7180.2015.04.026]
  • [7] Wei Y K, Fan P, Zeng G. Application of improved GrabCut method in tongue diagnosis system[J]. Transducer and Microsystem Technologies, 2014, 33(10): 157–160. [韦玉科, 范鹏, 曾贵. 改进的GrabCut方法在舌诊系统中的应用[J]. 传感器与微系统, 2014, 33(10): 157–160. ] [DOI:10.13873/J.1000-9787(2014)10-0157-04]
  • [8] Girshick R, Donahue J, Darrell T, et al.Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition.Columbus, OH, USA: IEEE, 2014: 580-587.[DOI: 10.1109/CVPR.2014.81]
  • [9] Girshick R.Fast R-CNN[C]//Proceedings of 2015 IEEE International Conference on Computer Vision.Santiago, Chile: IEEE, 2015: 1440-1448.[DOI: 10.1109/ICCV.2015.169]
  • [10] Ren S Q, He K M, Girshick R, et al.Faster R-CNN: towards real-time object detection with region proposal networks[C]//Proceedings of the 28th International Conference on Neural Information Processing Systems.Montreal, Canada: MIT Press, 2015: 91-99.
  • [11] Shelhamer E, Long J, Darrell T. Fully convolutional networks for semantic segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(4): 640–651. [DOI:10.1109/TPAMI.2016.2572683]
  • [12] Li Z C, Tang J H. Weakly supervised deep metric learning for community-contributed image retrieval[J]. IEEE Transactions on Multimedia, 2015, 17(11): 1989–1999. [DOI:10.1109/TMM.2015.2477035]
  • [13] Chen Y S, Jiang H L, Li C Y, et al. Deep feature extraction and classification of hyperspectral images based on convolutional neural networks[J]. IEEE Transactions on Geoscience and Remote Sensing, 2016, 54(10): 6232–6251. [DOI:10.1109/TGRS.2016.2584107]
  • [14] Nasrollahi K, Escalera S, Rasti P, et al.Deep learning based super-resolution for improved action recognition[C]//Proceedings of 2015 International Conference on Image Processing Theory, Tools and Applications.Orleans, France: IEEE, 2015: 67-72.[DOI: 10.1109/IPTA.2015.7367098]
  • [15] Esteva A, Kuprel B, Novoa R A, et al. Dermatologist-level classification of skin cancer with deep neural networks[J]. Nature, 2017, 542(7639): 115–118. [DOI:10.1038/nature21056]
  • [16] Liu F, Zhang J R, Yang H. Research progress of medical image recognition based on deep learning[J]. Chinese Journal of Biomedical Engineering, 2018, 37(1): 86–94. [刘飞, 张俊然, 杨豪. 基于深度学习的医学图像识别研究进展[J]. 中国生物医学工程学报, 2018, 37(1): 86–94. ] [DOI:10.3969/j.issn.0258-8021.2018.01.012]
  • [17] Noh H, Hong S, Han B.Learning Deconvolution network for semantic segmentation[C]//Proceedings of 2015 IEEE International Conference on Computer Vision.Santiago, Chile: IEEE, 2015: 1520-1528.[DOI: 10.1109/ICCV.2015.178]
  • [18] Simonyan K, Zisserman A.Very deep convolutional networks for large-scale image recognition[EB/OL].[2018-01-05] https: //arxiv.org/abs/1409.1556.
  • [19] Shin H C, Roth H R, Gao M C, et al. Deep convolutional neural networks for computer-aided detection:CNN architectures, dataset characteristics and transfer learning[J]. IEEE Transactions on Medical Imaging, 2016, 35(5): 1285–1298. [DOI:10.1109/TMI.2016.2528162]
  • [20] Deng J, Dong W, Socher R, et al.ImageNet: a large-scale hierarchical image database[C]//Proceedings of 2009 IEEE Conference on Computer Vision and Pattern Recognition.Miami, FL, USA: IEEE, 2009: 248-255.[DOI: 10.1109/CVPR.2009.5206848]
  • [21] Yosinski J, Clune J, Bengio Y, et al.How transferable are features in deep neural networks?[C]//Advances in Neural Information Processing Systems 27.Lake Tahoe, Nevada: Curran Associates, Inc., 2014: 3320-3328.
  • [22] Donahue J, Jia Y Q, Vinyals O, et al.DeCAF: a deep convolutional activation feature for generic visual recognition[C]//Proceedings of the 31st International Conference on International Conference on Machine Learning.Beijing, China: JMLR, 2014: I-647-I-655.
  • [23] Razavian A S, Azizpour H, Sullivan J, et al.CNN features off-the-shelf: an astounding baseline for recognition[C]//Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition.Colombia, OH, USA: IEEE, 2014: 512-519.[DOI: 10.1109/CVPRW.2014.131]
  • [24] Dai J F, He K M, Sun J.Instance-aware semantic segmentation via multi-task network cascades[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas, NV, USA: IEEE, 2016: 3150-3158.[DOI: 10.1109/CVPR.2016.343]