深度学习的舌体分割研究综述
2021-12-13刘慧琳罗坚义
刘慧琳,冯 跃+,徐 红,2,罗坚义
1.五邑大学 智能制造学部,广东 江门 529020
2.维多利亚大学,澳大利亚 墨尔本 8001
3.五邑大学 应用物理与材料科学学院 柔性传感材料与器件研究开发中心,广东 江门 529020
4.广东天物新材料科技有限公司五邑大学柔性传感技术联合实验室,广州 511483
随着人工智能技术的不断发展,研究人员越来越多地利用深度学习网络来设计医疗诊断的辅助系统[1]。在中医诊断中,舌诊是一种重要的方法,其涉及到对舌体的颜色、形体、舌苔等舌象特征的观察。例如,HIV 感染者的舌体可能会出现肿胀和齿痕[2]。但是在研究实现智能医学诊断的客观定量化过程中,采集到的图像往往是含有舌体区域的人脸图像。因此需要对其进行预处理,去除背景区域(如人脸、嘴唇和牙齿等),进而获得舌体区域。舌体图像分割是舌体诊断对象化的基础,其准确性会直接影响智能舌诊系统的分析结果[3]。
研究人员提出了许多方法来实现准确的舌头分割,包括基于边缘信息的分割[4]、基于阈值的分割[5]、区域生长[6]、基于主动轮廓的分割[7-8]以及基于聚类的分割[9]。然而,大部分传统分割方法依赖手工,耗时耗力,易受主观影响,分割效率是有限的[10]。此外,由于患者的舌头特征复杂,形状多变,而与其他区域的嘴唇又很相似,要达到目标的分割精度是很困难的。
如今,深度学习的发展尤为先进,在医学图像信息提取和病理图像分割检测领域中发挥着日益重要的作用[11-12]。深度学习网络已产生了新一代性能卓越的图像分割模型,从而使该领域发生了范式转变[13]。基于深度学习的图像分割方法可以通过模拟人脑的层次结构传递信息[14],实现了从像素级数据到抽象语义特征的转换。随着计算机辅助诊断在临床诊断领域的应用,国内外不少学者开展其相关研究以及舌诊客观定量化的探索。
深度学习在提取图像特征方面取得较好的成果,因此一些基于深度学习的方法被应用于舌诊客观化研究。如图1 所示,分析统计目前已有的舌诊研究文献发现,每年发表的文章数量都在增加,但增加速度缓慢[15-16]。近年来,随着深度学习的快速发展,基于传统方法进行舌体分割的文章较少,但基于深度学习的舌体分割论文数量却在增加[17],见图2。与传统方法相比,深度学习具有以下三个优点:(1)在计算机视觉中识别率可以达到最高;(2)可以充分利用大型数据集进行自动特征学习;(3)可以最大限度地实现特征表示和分类器性能的联合优化。
Fig.1 Growth of objective study on tongue diagnosis图1 舌诊客观化文章数量的变化趋势
Fig.2 Trend of professional attention on tongue segmentation图2 舌体分割的研究趋势
1 基于深度学习的舌体分割方法
1.1 卷积神经网络
卷积神经网络(convolutional neural network,CNN)是深度学习中应用最广泛的架构之一,特别是在计算机视觉任务中。CNN 可以通过卷积和池化操作,自动学习图像各层次的特征。其主要优势是所有的感受野都有相应的权重。因此,与全连接神经网络相比,CNN 需要的参数较少。由于卷积神经网络最早被用于手写数字识别[18]和图像分类[19],在计算机视觉领域中得到了广泛的应用。
CNN 主要由三类层组成:(1)卷积层。应用于降维和特征提取。卷积运算含有激活函数(如sigmoid、tanh 和ReLU)用于数据拟合。(2)池化层。一般指均值或最大池化操作,用统计信息代替特征值,降低空间分辨率。(3)全连接层。在CNN 中作为分类器使用,其通过权重矩阵组将所有的局部特征组合成一个完整的结果图。如图3 所示。在网络的前半部分,卷积层的感受野较小,用于捕捉图像的局部细节。随着感受野数量的增加,图像信息变得更加复杂和抽象。通过多层卷积运算,得到不同尺度的抽象表示。一些最著名的CNN 架构包括:AlexNet[19]、VGGNet[20]、ResNet[21]和DenseNet[22]。Lin 等人[23]设计了一个结合Res-50 和DeepMask[24]的舌体分割网络。以50 层的ResNet 为骨干网络,可以获得更高的分类精度和更低的训练误差。Li 等人[25]设计了一个增强的HSV 卷积神经网络预测舌体轮廓。然而,该网络需要一些额外的预处理,如亮度识别和图像增强,这使得整个分割过程变得复杂。Cai等人[26]提出了一种新型的辅助损失函数,该函数与CNN 相结合,利用大量数据学习来建立端到端的分割模型。
然而CNN 有如下一些明显的缺点。在训练过程中,每个像素需要遍历提取补丁,因此其速度太慢,而且很难决定通道大小。如果太小会缺乏上下文信息,反之如果太大会导致大量的冗余计算。因此,一些研究者对其进行了改进,充分利用空间信息,如空间包含关系等,可作为图像分割的先验辅助知识加以应用[27]。
级联结构可以在处理阶段划分子区域,也可以在细化阶段剔除假阳性结果。阳性像素样本(舌体)和阴性像素样本(背景区域)之间的不平衡可能导致训练模型产生预测偏差。利用子区域层次结构保持高召回率,级联结构可过滤筛选大量的背景区域。Yuan 等人[28]设计了三个级联CNN 用于舌体检测分割,每个阶段都有不同的任务。第一阶段是获取候选的舌体区域。下一阶段是选择最终的候选者,用边界回归进行校准,并预测34 个坐标。最后一个阶段是对这些坐标进行细化,得到分割后的结果。
级联结构大大降低了标签的工作量,并为训练过程提供了足够的监督能力。虽然训练多个子网络比训练单一的端到端网络更困难,计算量较大,时间消耗大,但级联网络考虑到了子区域的空间关系。该结构不仅大大提高了效率,而且提高了准确性。
1.2 全卷积网络
Fig.3 Architecture of convolutional neural network图3 卷积神经网络结构
Fig.4 Network structure of FCN-8S图4 FCN-8S 网络结构
端到端和像素到像素的卷积神经网络被证明优于当时最先进的语义分割方法。全卷积网络(fully convolutional network,FCN)[29]用卷积操作代替了传统的全连接操作,其架构交替使用多层普通卷积和池化操作。最后实现了两种转换:分类网络向分割网络的转换和图像级分类向像素级分类的转换。FCN 可以解决全连接层中输入图像的大小必须固定的问题(即可以处理任何大小的输入图像)。反卷积层有利于完善输出结果。跳跃连接与不同深度层的结果相结合,可以达到更好的鲁棒性和准确性。Li等人[30]提出了基于FCN 的分割模型,结合深层语义信息和浅层外观信息进行舌体区域的语义分割。Wang 等人[31]采用了FCN 来处理舌部轮廓模糊和周围组织颜色相近的问题,从而为后续的舌部分析和辩证诊断获得更好的分割结果。Xue 等人[32]将FCN-8S应用于舌体图像分割,其网络结构如图4 所示。由于一系列卷积和池化操作,图像越小,分辨率越低。为了在像素级对图像进行分类,FCN 对第五卷积层的输出进行32×上采样,以恢复掩膜的大小。但由于损失了一些细节,原始结果不够准确。因此,第四层和第五层的输出采用了2 倍和4 倍两种尺度的上采样操作,将其融合在第三层的特征图。最后,上采样操作产生的特征图与输入图像的大小相同。
这项工作被认为是图像分割的一个里程碑,表明可以进行端到端图像语义分割的深度学习网络。然而FCN 也有一些局限性。上采样操作的结果是模糊的,对图像中的小细节不敏感,这限制了该模型在医学图像分析中的性能。由于速度较慢,不能实时分割对象。此外FCN 也不能有效利用全局上下文信息,不易转换为三维模型。
1.3 卷积模型与图形模型
FCN 忽略了潜在有用的上下文语义信息。为了获得融合更多的上下文信息,一些概率图模型如条件随机场(conditional random field,CRF)和马尔科夫随机场(Markov random field,MRF)被利用到深度学习架构中。
传统的CRF 通常用于平滑噪声,通过连接相邻节点、空间上相邻的像素获得相同的标签[33]。深度卷积神经网络(deep convolutional neural network,DCNN)获得的边缘是平滑的,因此传统的CRF 在这种情况下不适用[34]。而且DCNN 最后一层的响应不足以进行精确的物体分割。为了得到物体清晰精确的边缘,而不是进一步平滑边缘,Chen 等人[35]提出了一种基于CNN 和全连接CRF组合的语义分割算法,如图5所示。其证明了与之前的其他方法相比,该模型结构能够以更高的精度定位边界。在研究舌体分割的领域,张新峰等人[36]采用了DCNN 和全连接CRF 以完善分割的舌体边缘精度。卷积神经网络和概率图形模型的互相结合能够细化分割结果,但单一的卷积神经网络会有高级特征的平移不变性,即重复的池化和下采样操作会丢失关键位置信息,因此后来的研究人员改进卷积神经网络的池化操作,以获取更多的上下文信息。
Fig.5 DCNN+CRF model图5 DCNN+CRF 模型
1.4 基于编解码器的模型
1.4.1 SegNet
Badrinarayanan 等人[37]提出了一种用于图像分割的深度卷积编解码器架构,名为SegNet。SegNet 是一个对称网络,包括一个编码器网络和一个解码器网络,如图6所示。编码器网络包括前13层VGG16[20]并不包括全连接层。因此,它可以保留高分辨率的特征图,减少编码器网络的参数。此外,归一化层、激活层和池化层依次连接到每个卷积层。每个编码器块由两个连续的3×3 卷积层和一个最大池化层组成。每一个卷积层之后都有一个批量归一化层和一个ReLU 层。解码器网络由上采样层和卷积层组成,其中上采样层和池化层相互对应。得到每个像素的分类概率,实现语义分割。SegNet的新颖之处在于解码网络应用上采样层来恢复低分辨率的输入特征图。
Fig.6 Architecture of SegNet图6 SegNet网络结构
Qu 等人[38]将亮度统计与SegNet结合起来进行舌体图像分割。亮度统计作为预处理来判断输入图像是否要分割。训练图像的像素分为两类:舌体区域和背景。采用编码器网络提取特征,再利用解码器网络对上采样层的图像信息进行丰富,从而获得池化过程中丢失的信息。
SegNet 不需要保留编码器网络的特征图,以节省内存空间。解码器网络采用上采样层,而不是解卷积层,实现非线性上采样。此外,SegNet 只有较少的可训练参数,速度较快。SegNet 虽然在精确度上没有明显的提升,但注重于节省内存空间,为了后续设计效率更高的实时分割网络提供了思路基础。
1.4.2 U-Net
一些模型最初是为生物医学图像分割而设计的,它们的灵感来自于FCN 和编解码器模型。Ronneberger等人[39]提出了一种用于生物显微镜图像分割的U-Net,如图7 所示。U-Net 有效提高了上下文信息的利用率。同时,它只需要少量的样本,在医学图像领域得到了广泛的应用。其训练策略依赖于数据增强,可以更有效地从现有的注释图像中学习。它的整体结构也由两部分组成:用于捕捉上下文信息的收缩路径(编码网络)和用于精确定位的扩展路径(解码网络)。编码网络应用卷积和最大池化来实现特征提取。下采样部分采用类似FCN 的结构,逐渐增加特征通道。解码网络与编码器网络相同,只是使用了转置卷积层而不是池化层。特征图从下采样部分复制拼接到上采样部分,以防止丢失模式信息。此外,网络通过解卷积获得了丰富的细节信息。在增加特征图大小的同时,减少了特征图的数量。这种结构有利于在上采样过程中向高分辨率层发送信息。1×1 卷积层对特征图进行处理,得到预测图像。
Fig.7 Architecture of U-Net图7 U-Net网络结构
相较于SegNet,U-Net 需要更多的内存,单一的卷积核尺寸局限了分割目标的精确度。Xu 等人[40]利用U-Net 获取舌体图像特征,从而为后续舌象分类提供准确的分割结果。Trajanovski 等人[41]结合颜色空间与U-Net 对舌体病症进行语义分割。Li 等人[42]结合U-Net 和转移学习(在1.7 节中详细描述),设计了一个名为迭代跨域舌体分割的框架。U-Net 用于获取不同数据集的原始掩码和共享权重,以便将共享权重传输到下一阶段。由于经典的U-Net 会产生一个带有噪声的粗糙预测结果,Zhou 等人[43]设计了一个形态层来完善预测结果,证明了所提出的网络不仅可以得到更快、更准确的结果,而且可以应对舌体的特征不同的挑战。
1.4.3 高分辨率模型
语义分割方法中,对输入的原始图像进行了大小调整,影响了对象边缘的精度。为了解决这个问题,Yuan 等人[44]提出了高分辨率网络(high resolution network,HRNet),如图8 所示,它不仅有SegNet 和UNet 相似的架构,而且还保持了高分辨率的输入处理。HRNet 在编码过程中通过将高低分辨率卷积流并行连接,并在不同分辨率之间反复交换信息,从而拥有了表征[44]。
Fig.8 Architecture of high-resolution network图8 高分辨率网络结构
为了解决舌体边缘的信息丢失问题,马龙祥等人[45]采用了HRNet 来实现准确的舌体图像分割。多尺度融合用于不同分辨率的特征图,以增强高分辨率的表现力[46]。它可以避免特征信息因上采样和下采样层而丢失。该网络有四个不同的通道,其输出的特征图可以保持原始图像的大小。同时,该网络在三个低分辨率通道上应用双线性插值(上采样方法之一)。最后,将不同通道生成的特征图进行叠加,得到高分辨率特征图。HRNet 是并行连接,不同分辨率的特征图有不同的语义分割影响效果。该网络采用高分辨率图像作为输入,弥补一系列的卷积池化操作后的信息丢失,因此过低的分辨率会影响关键点的预测质量。
1.5 基于区域卷积网络的模型
实例分割在图像处理领域也得到了广泛的应用,它同时执行对象检测和语义分割。区域卷积网络(regional convolutional network,R-CNN)[47]及其延伸部分(Fast R-CNN[48]、Faster R-CNN[49]和Mask RCNN[50])在物体检测应用中已被证明是成功的。Mask R-CNN 采用FCN 作为分割分支,实现物体检测、物体分类与识别、像素级物体分割,其结构如图9所示。Mask R-CNN 本质上是Faster R-CNN,有三个输出分支:第一个预测边界框坐标;第二个计算相关的类;第三个获取二进制掩码来分割对象。在架构中,Mask R-CNN 使用RoIAlign 层代替Faster R-CNN中原有的RoIPool层是一个亮点。RoIAlign 是一个无量化的层,它可以忠实地保存精确的空间位置,相对提高掩膜精度10 个百分点~50 个百分点[50]。
对于每一个感兴趣区域来说,只是针对一个类别一个物体。FCN 要考虑多个类别之间的竞争,而Mask R-CNN 里的二进制掩膜仅仅关注分割一个类别的物体。将预测区域进行对象分类和边界框回归从而使分割模型达到了最高的准确率,但因实例分割同时执行对象检测和语义分割,所以运行速度通常比较慢,会使语义分割过程更加复杂。
Fig.9 Architecture of Mask R-CNN图9 Mask R-CNN 网络结构
Gholami 等人[51]利用R-CNN 将舌体区域从面部图像中分离出来,进而为后续的舌象分类提供图像。Zhou 等人[52]在预测阶段采用RoIAlign 修正错误的舌体区域。在找到舌体区域后,分别采用定位分支和掩膜分支进行舌体定位和舌模分割。颜建军等人[53]应用Mask R-CNN 进行舌体分割,并评估网络的效果。
1.6 扩张卷积模型和DeepLab 系列
1.6.1 空洞空间卷积池化金字塔
在语义分割和对象检测中,深度卷积层在提取图像特征表示方面是有效的。但是,经过反复卷积和池化后,网络的特征图会逐渐缩小,丢失更多的边界信息,不利于获得更平滑的舌边。为了克服这一局限性,采用不规则卷积进行密集分割[35]。在卷积和池化操作中要避免将特征图缩小得过小,尽可能保留更多的舌体边界和语义信息。
DCNN 中通常采用固定大小的卷积核,如3×3 或5×5。网络可以通过连续的卷积操作来提取深层特征,但固定大小的卷积操作只能提取单一大小的特征,因此不能提取多尺度的特征。
在数学定义上,二维信号中的空洞卷积计算如下:
其中,输入的特征图x和滤波器w的卷积产生输出y,r是空洞率,用于定义内核w的权值的间距。
如图10 所示,一个3×3 的卷积,其空洞率为2,拥有与5×5 卷积相同大小的感受野。同时,其参数量仅有9 个。
Fig.10 3×3 convolution operation with three different atrous rates图10 三个不同空洞率的3×3 卷积操作过程
一个空洞卷积可以通过设置不同的空洞率来改变感受野的大小。串行结构的空洞空间卷积池化金字塔(atrous spatial pyramid pooling,ASPP)增强了网络在多尺度下多类别分割时的鲁棒性,使用不同的采样比例与感受野提取输入特征,能在多个尺度上捕获目标与上下文信息,虽然大大扩展了卷积核的感受野,但随着感受野越来越接近图像大小,会退化为1×1 卷积。因此一般采用并行结构的ASPP,通过不同采样率的空洞卷积并行采样,捕捉图像不同尺度的上下文信息。
Zhou 等人[52]改进了ASPP,然后从舌体图像中获得多尺度特征。并行ASPP 将四个不同的卷积层平行排列,从多个感受野中提取多尺度特征。张新峰等人[36]利用其优势进行多尺度特征提取。对处理舌体样本缺乏的问题很有用。
1.6.2 DeepLab 家族
Chen 等人设计了DeepLabv1[54]和DeepLabv2[35]用于图像分割,其后者有三个关键特征:(1)使用空洞卷积解决网络中的分辨率下降(由最大池化操作和步长引起);(2)ASPP,它可以获得图像上下文信息并分割对象;(3)通过结合深度CNN 和概率图模型,提高物体边界的定位能力。同年,Chen 等人[55]设计了DeepLabv3+结合级联和并行模块的卷积,在ASPP 中应用了1×1 卷积和批量归一化。此外,所有的输出都通过一个1×1 卷积得到最终的输出。Xue 等人[32]在舌体数据集上测试了DeepLabv3,其结构如图11 所示,并希望将信息损失降到最低,因此将DeepLabv3 和learning based matting[56]结合起来以优化结果。
1.7 迁移学习
深度学习需要大量的数据,这样可以利用数据增强来改善这一问题。为了进一步提高网络的准确性,可以将转移学习应用于舌体图像分割,从预先训练的模型中提取网络权重的主要特征。另外,转移学习可以避免网络过拟合,加快训练速度。转移学习有两种策略:第一种是微调,第二种是冻结与训练。微调使用原有数据集的预训练模型,并训练目标数据集的所有层,它适用于训练一个较大的数据集。冻结与训练是冻结除用于分类的全连接层以外的所有层(它们的权重不更新),然后训练最后一层。此外,它还可以冻结前几层,然后对其余层进行微调。它适用于少数数据集。迁移学习一般适用于两个数据分布较为相似的数据集训练。
卢运西等人[57]利用ImageNet 数据集的预训练模型来初始化网络的权重。该方法训练了舌体数据集中的所有层,使各个网络更好地应用于舌体图像分割。当损失曲线和分割精度曲线变得稳定时,网络停止训练。
Li 等人[42]根据目标数据集的U-Net 预测掩码选择满意的样本,如图12 所示。对所选样本进行分割模型的微调,在过滤和微调步骤之间进行迭代,直到模型收敛。
Fig.11 DeepLabv3 for tongue segmentation图11 DeepLabv3 用于舌头分割
Fig.12 Combination of U-Net and transfer learning for segmentation图12 U-Net与迁移学习的分割模型
1.8 其他方法
除了上述方法外,还有其他几种流行的深度学习架构用于舌体分割,如人脸解析等[58-61]。该网络对人脸图像中的每个像素分配一个语义标签,由于其巨大的应用潜力,近来引起了越来越多的关注[62]。然而,面部解析通常用于对头发、面部、眼睛、眉毛、鼻子和嘴进行分割。它并未包括舌体分割。TCMINet[63]是一个具有上下文聚合功能的端到端混合网络,可同时对中医分析的面部器官进行分割。它可以对舌、眼、耳和唇部等面部器官进行检测和分割。此外,一些研究者不再基于经典的编解码器结构(如UNet)设计其分割网络。
邵尤伟[64]设计出一个包含编码和解码两个部分的语义分割网络,融合低层和高层特征,其网络参数相对于普通的卷积网络所需更少。Zeng 等人[65]提出了一种新型的端到端边界引导分层网络,并提出了一种新的混合损失函数。在编码网络中,建立了上下文特征编码器模块,以应对感受野的收缩缺点。解码网络应用了一种新型的分层递归特征融合模块。在此基础上,通过整合局部上下文信息,逐步分层细化对象图,恢复图像细节。此外,混合损失函数采用像素、补丁、地图和边界四级层次结构设计。它可以引导网络有效分割舌体区域,准确细化舌体边界。李渊彤等人[66]也设计了一种基于区域像素相关性的单像素损失函数,并将其应用于深度语义分割模型,从而有效利用像素标签语义的监督信息,更好地指导模型进行训练学习。
除此之外,Yang 等人[67]提出了一种端到端的无监督的舌体分割方法,使用基于对抗性的参考标签。再利用输入对象掩码和噪声,使用生成网络来重绘分割区域。最后,分割网络和生成网络由一个判别器和参考标签控制,以完善具有最佳性能的分割网络。Zhou 等人[68]提出了一个重建增强型概率模型,用于半监督下的舌头分割,其中图像重建约束与对抗性学习相结合,用于提高舌头分割的准确性。
综上所述,基于卷积神经网络的模型最近已经成为图像处理中的一种流行方法。卷积操作可以有效提取低维或高维的特征,不同的网络有各自的优势和弱点。表1总结了基于深度学习的舌体分割方法。
Table 1 Comparison of deep learning-based methods for tongue segmentation表1 基于深度学习的舌体分割方法比较
2 常用数据集和评价指标
介绍基于深度学习的舌体分割方法常用的数据集以及评价指标。
2.1 常用数据集
对于医学舌体分割来说,由于各种原因如标记成本和患者隐私,现有的公共数据集很少。这些数据集的舌体图像一般是在封闭环境下采集的。公开BioHit 数据集[69]是一个包含300 张图片的舌体数据集,尺寸大小为768×576 像素,如图13 所示。大多数研究者使用的是自建数据库,其数据库从各医院和互联网上收集并经由专业人员注释,如图14 所示。在训练深度学习模型的过程中,训练样本的数量对分割模型的性能有直接影响。如果样本数量较少,会导致模型过拟合,因此使用数据增强可减少出现这种情况。数据增强是一种数据扩充的方法,通过对原始数据集进行不同的改变,包括旋转、翻转、裁剪和镜像,从而增加数据样本的数量。数据增强后的舌体图像及其标签作为输入图像输入深度学习网络。
Fig.13 Some samples from BioHit tongue dataset图13 BioHit数据集中的部分舌体图像
Fig.14 Some samples from self-built tongue dataset图14 自建数据集中的部分舌体图像
2.2 常用评价指标
评估舌体图像分割模型的性能主要有六个不同的评价指标,通过计算出的真阳性(true positives,TP)、假阳性(false positives,FP)、假阴性(false negatives,FN)和真阴性(true negatives,TN)来表示。TP表示被正确标记为阳性的像素的集合,FP表示被错误标记为阳性的像素的集合,FN表示被错误标注为阴性的像素的集合,TN表示正确标注为负值的像素集合。
准确度(Accuracy)是指所有正向像素在所有像素中的比例,可以衡量分割法对正向像素的识别能力,其由式(2)进行计算:
敏感度(Sensitivity)表示TP和FN中TP的比例,可以衡量分割法对正向像素的识别能力。灵敏度由式(3)进行计算:
特异性(Specificity)是指在所有负值像素中正确标注的像素所占的比例,能够衡量分割方法对负像素的识别能力。具体计算方法如式(4):
精确度(Precision)是图像分割精确性的度量参数,用于判断模型对正像素的预测能力,精度值由式(5)进行计算:
Jaccard 相似系数(Jaccard)是集合A和集合B之间的交点和它们之间的结合的比值,其中A表示一个正像素,B表示一个负像素。该系数可由式(6)进行计算:
骰子系数(Dice)表示图像中两个目标形状之间的交集面积与总面积的比值,该系数在[0,1]范围内取实值,1 表示完美分割,0 表示不存在重叠。Dice 系数的计算公式为:
3 基于深度学习的舌体分割方法性能比较
本文主要对比经典网络与其变形结构网络方法,其实验数据集的选取由于舌体图像的颜色呈现与采集环境光线有较大的关系,中医舌诊图像客观上基本是在封闭环境下进行采集的舌体数据集。为了测试各种网络的实际应用效果,选取了封闭环境下采集的公开舌体数据集[69]进行测试。本文主要对比各种经典分割网络:FCN-8S、FCN-16S、SegNet、UNet、HRNet、DeepLabv3+和Mask R-CNN。
3.1 视觉比较
本文采用原图与预测掩膜图相互重叠的方法对分割效果进行可视化,结果如图15 所示。唇齿与舌根部分是最难区分的,因数据集是在封闭环境下采集的,所以数据分布较为相似,便于识别分割。
FCN-8S 和FCN-16S 的分割预测图都存在较大的偏差,一些舌根区域并未被预测为舌体。随着跳层连接增加,分割预测图并无过多的变化。在舌体图像的语义分割任务中,并未明显地提升舌体分割的精度。
SegNet 网络与FCN 网络相比,能够更好地找到舌体区域的边缘,但是舌根区域仍存在无法识别的部分,同时出现粗糙的边缘分割,这将影响舌体分割的结果,因为舌尖的边缘部分会出现舌体边缘齿痕的假象,对后续的舌体客观化诊断造成较大的负面影响。
U-Net 使用了一系列的3×3 卷积和池化操作,以及跳层连接,它相较于前者所提出的分割网络,有了明显的分割边缘。因舌体数据集有别于其他的语义分割数据集,舌体图像的语义分割只有两类,即背景与舌体区域,且舌体区域占整张图像较大比重,因此单一的卷积核尺寸不利于体积较大的分割目标。
HRNet的分割效果不佳,因其数据集的图像分辨率低,高分辨率网络所需的输入应是高分辨图像,在连续的卷积操作过程中,专注于提取高层特征包含的语义信息,会导致丢失边缘细节信息。太多的高层语义信息造成低层细节边缘信息的丢失。
Mask R-CNN 的分割结果没有明显的粗糙分割边缘。仔细观察,会发现在舌尖与舌根部分存在欠分割效果,该方法丢失了舌体的边缘信息,与实际的舌体分割区域存在一定的偏差。
从图15 可看出,DeepLabv3+的分割结果图有明显的提升。其采用空洞卷积和空间金字塔网络,同时也引入了编解码网络结构。因此能够捕获丰富的上下文信息和清晰的分割目标边界,使其结果优于其他的分割网络。
3.2 定量比较
为了客观定量比较分析,本文对各个方法的分割评价指标进行测量,同时对各个分割模型的测试时间进行统计。表2 列出了各种分割评价指标。在舌体分割图像的评价指标中,舌体图像只包含嘴部区域和部分面部区域。
Fig.15 Visual comparison of different methods图15 不同方法的视觉比较
从表2 可看出,在FCN 系列的分割网络中,增加了跳层连接后,分割精度与Dice 值有所提高。基于编解码分割网络与FCN 系列结构不同,各个模型性能由高到低依次为U-Net、SegNet和HRNet,其中U-Net和SegNet 的精确度都高于0.99,其Dice 值也高于0.98。U-Net带有跳跃连接的编解码结构能够融合不同层级的特征,使得性能优于SegNet。但因HRNet缺乏高分辨率的图像作为输入,其分割性能未能达到0.99,而同样采用FCN 结构的Mask R-CNN 分割精度相对FCN 系列有所提高。DeepLabv3+取得较高分割性能主要得益于其在空间金字塔池化模块和编解码网络方面做出的改进,其编解码结构上的编码器能够提取丰富的语义信息,而解码器有利于恢复精细的物体边缘。
Table 2 Evaluation metrics for different tongue segmentation methods表2 不同舌体分割方法的评价指标
4 存在的问题和发展趋势
虽然基于深度学习的方法在舌体分割方面取得了显著的性能,但该领域仍然存在一些挑战和局限性,例如缺乏高质量的注释样本和深度学习模型的可解释性。简要讨论存在的问题和未来的方向。
(1)数据集:数据集对精确的舌片分割会产生各种影响。足够大的数据集,专业准确的标注可以达到强大的系统性能。与其他医学图像分割数据集(如医学影像)相比,舌体分割数据集相对较小且独特。并且由于患者的面部隐私,研究人员必须自建非公开数据集,使得分割模型无法在相同的数据集进行比较。密集的像素级标注需要专业医生不懈的努力,这是非常耗时的。近来,研究者将舌色值用于多元化的舌色中[70],这将有利于设计出一个半自动或全自动的交互式标注框架,用于舌诊图像的标注。而且具有挑战性的是原始图像是从不同环境下的不同设备收集的,这可能会增加标注任务的难度。
(2)准确分割:舌体分割作为中医舌诊的重要步骤,在学术研究和医学诊断中都具有潜在的价值。同时,准确的分割方法可为后续的舌象分类提供高质量的图像。此外,很多算法采用了强大的GPU 进行训练,医学图像的可视化无法在普通家用计算机上实现。随着深度学习、计算能力的不断提高,以及舌体数据集规模逐渐庞大,深度学习在舌诊图像处理领域的应用可以更加广泛。
(3)动态分割:人工智能中医舌诊对动态特征的获取和分析研究很少。通过视频处理技术帮助处理连贯舌体图像和捕获舌体动态特征。例如,患者出现舌体异常颤抖。此外,患者无法将舌头完整伸展。这些特征也为舌诊提供了重要信息。动态特征获取的难点是目前客观舌诊无法达到连贯性与实时性,以及动态目标检测分割精度不够高,特别是复杂开放环境下的目标错检漏检问题。基于深度学习的静态舌体分割方法为动态视频分割提供了基础,其中一个关键问题是如何实时准确地捕捉动态信息。动态目标分割技术还需要运动目标检测。通常舌体的颤动都是细微的难以用肉眼察觉的,需要采用运动目标跟踪。在连续的图像帧中,创建基于位置、速度、形状、纹理、色彩等相关特征的对应问题[71]。可以采用视频形式保存图像信息,当舌诊诊断的时候,可以获取具有连贯性的舌象特征信息。后续动态分割研究,可采用基于视频的动态特征及边缘信息融合的舌体目标检测分割方法。
(4)开放环境:在开放环境下分析舌体图像也是一种趋势。基于深度学习的方法在封闭环境下取得了较好的鲁棒性。这为开放环境下舌体图像分析的进一步研究奠定了基础。因此,未来开放环境下的舌体分割算法应该是精确、实时和高效的。
5 结束语
将各种深度学习网络应用于舌体分割是一项有价值且具有挑战性的任务。深度学习技术具有强大的特征学习能力。它被广泛应用于图像处理、语音识别和自然语言处理中。本文综述研究了基于深度学习的舌体分割的相关方法,对其进行了结构上的分类和总结,为相关研究人员提供参考。研究和讨论了未来面临的挑战与发展趋势。随着深度学习算法和计算能力的不断提高,深度学习在舌体图像处理领域的应用有待进一步发展。