马 伟 刘鸿利 孙明建 徐 军* 蒋燕妮*
1(南京信息工程大学 江苏省大数据分析技术重点实验室,南京 210044)2(南京医科大学第一附属医院放射科,南京 210029)
乳腺癌作为女性发病率最高的恶性肿瘤之一,具有高度的异质性,对人类的身心健康已经造成巨大威胁[1-2]。临床数据显示,早诊断、早治疗能有效地降低乳腺癌的死亡率。然而,多数患者是直到触及乳腺肿块才到医院就诊,只有少数患者是通过定期身体检查才发现乳腺肿物或可疑病变。乳癌磁共振增强影像表现中,其形态学上主要分为肿块型和非肿块型。在临床上,肿块型乳腺癌一般具有较为明显的形态特征,通常呈现为肿块和结节图像,诊断并不困难;非肿块乳腺癌由于没有明确的边界,形态学差异大,因而诊断较为困难。在乳腺癌的检测、诊断、治疗过程中,各种不同的图像模式都发挥着关键作用,CT图像由于放射剂量较大等原因一般用于特殊病例的辅助诊断或了解病变的侵犯程度,PET是一种能显示生物分子代谢活动的无创性影像技术,但无法精确定位,而磁共振成像(MRI)是一种从人体中利用磁共振现象获得电磁信号并重建人体信息的一种断层成像方式,由于其公认的高敏感性,对于乳腺癌的治疗有着更为明显的效果。
对于乳腺肿瘤分割这个问题,由于非肿块型乳腺癌形态学特征较为复杂,研究人员很少针对非肿块型乳腺癌进行相关研究,而针对肿块型乳腺癌分割主要分为两大类。一类是是采用传统方法,主要有聚类分割、边缘分割、形态学分割等[3-5]。形态学方法主要是依赖于阈值的选取,分割方式太单一;边缘分割方法虽然能尽可能地保留边缘信息,但受噪声影响较大;聚类分割速度虽然快但同样受噪声影响的限制。单一分割方法自身的局限性较大,传统方法中目前还比较流行采用多种算法相结合的分割方法,两者优势互补来达到更好的分割效果,例如基于C-V活动轮廓模型和马尔可夫随机场的方法[6]、基于小波变换和模糊C均值聚类的方法[7],这些传统方法一般都需要通过形态学运算如(腐蚀和膨胀等)后处理的方式来获得比较平滑的肿瘤边界。另一类方法是采用深度学习的方法,如基于多层神经网络和活动轮廓模型的检测方法[8]、基于深度神经网络和随机森林的分割方法[9]等。
深度检测网络一般应用的领域在自然图像如行人检测[10]等。何等[11]创造性地将检测任务和分割任务集合在单深度网络中,但这种方法需要大量有标记数据支撑。在医学图像领域,检测主要是运用在小目标检测上如肺结节检测[12]。深度模型的好坏和数据有很大的关系。由于乳腺癌肿瘤区域和背景之间差异性小、乳腺肿瘤区域相对较小,这些问题对于直接分割来说难度过大。
借鉴何的方法[25],本研究提出了一个新思路,由于乳腺肿瘤数据对于单检测任务来说复杂度不是很高,而YOLOv2以拟合性好以及速度著称,所以先使用YOLOv2进行粗检测。同时,由于乳腺数据集较少,完全根据检测框区域来进行精分割是不现实的,所以需根据检测框中心选择更大的感兴趣块送入SegNet模型来进行精细分割。检测和分割分离的方法不仅能在小数据集上使用,而且也为小目标难于精细分割的难题提供了一个解决思路。
1 YOLOv2+SegNet分割模型
乳腺肿瘤由于有肿块和非肿块之分,目标区域小等特殊性,如何有效地检测出乳腺病灶一直是检测领域的热点和难点。本研究提出了粗检测精分割(YOLOv2+SegNet)的方法来分割乳腺肿瘤,具体流程如图1所示。YOLOv2[13]作为目前最新的检测网络,本研究将其用于在MRI乳腺增强图像中进行检测病灶区域。
图1 基于YOLOv2+SegNet框架的粗检测和细分割流程Fig.1 Rough detection and fine segmentation flow chart based on YOLOv2+SegNet framework
1.1.1MRI数据检测预处理
本研究使用的数据是肿块型和非肿块型乳腺癌磁共振增强图像。预处理方法是通过归一化来达到统一数据的目的。
1.1.2MRI数据扩充
检测网络需要一定的数据量,所以进行了一定的数据扩充。主要使用了镜像、翻转、调整对比度、锐化等,把415张训练图片扩充到2 075张。
1.1.3YOLOv2粗检测模型
YOLOv2是YOLO[14]的改进版本,在保持原有速度优势的基础上,精度上得到大幅提升。YOLOv2算法首先引入了Batch Normalizatin层[15],简称BN层,舍弃了drop out层来保证数据的完整性,BN层的做法是在卷积池化后,激活函数之前,对数据进行规范化。
YOLO是通过全连接层来预测边框位置,这样会丢失图像位置信息,导致定位不精确,YOLOv2则借鉴了Faster-R-CNN的anchor思想[16]。anchor是RPN网络中一个关键步骤,是在卷积特征图上进行滑动操作,每个中心预测9种大小不同的候选框。具体操作是将全连接层和后面的池化层丢掉,将图像输入变成416×416,使后面产生的卷积特征图宽和高为奇数,就可以产生中心点进而来得到候选框。
在使用anchor的时候,首先需要处理的问题是如何选取候选框的宽高比。不同于以前的手动选取,这里使用的是改进的k-means算法[17],评判标准是IOU得分,采用的新的距离函数为
d(box,centroid)=1-IOU(box,centroid)
(1)
式中,centroid表示质心,box表示簇,IOU表示重叠面积。
采用这种聚类方法,选取了5个最具有代表性的宽高比来加速网络的收敛。同时,为了使得算法更有鲁棒性,算法使用了多尺度的思想,解决办法是每经过10次迭代,选取不同的图片尺寸,YOLOv2网络使用的下采样系数为32,那么就使用32的倍数 (320,352,…,608)来进行下采样,接着按照输入尺寸调整网络进行训练。
针对乳腺肿瘤分割这个特定问题,首先在开始训练前,先使用改进的k-means算法聚类统计出最具代表乳腺肿瘤的6个anchor的宽高比率,分别是1.28、1.49、2.73、3.15、4.42、5.61。训练时,由于数据集即使数据扩充完仍然较小,直接训练模型很容易过拟合,所以在VOC数据集上进行微调,即在VOC上使用YOLOv2先训练一个初始模型,然后再迁移到乳腺数据集上。训练过程中,初始学习率设置10-4,在迭代100 000和150 000次学习率每次衰减1/10,总迭代次数为200 000次。检测框和标记框的IOU阈值设置0.6,检测训练时大于这个阈值就保留,反之则舍弃。
1.2.1MRI数据分割处理
由于本研究采用的是粗检测精分割的思想,所以在构建分割训练数据集时需要特殊处理。本研究采用的是k-means算法,找到标记区域的中心点,在中心点基础上取出144像素×144像素大小的块,然后在原图对应位置上取出相同大小的块。
1.2.2传统C-V模型
C-V模型[18]是基于区域的水平集方法,使用闭合曲线划分感兴趣区域和非感兴趣区域,既而构建能量泛函,将曲线C用水平集函数φ代替,再通过求解能量泛函对应的Euler-Lagrange方程获得水平集的演化方程。
一般地,传统的C-V模型的能量公式为
(2)
式中:μ、λ1和λ2是取值为正的常数,一般令λ1=λ2=1;c1和c2分别是演化曲线C内部和外部的图像灰度均值。
1.2.3模糊C均值聚类(fuzzy C-means,FCM)
模糊C均值聚类是由Mouelhi等提出的基于对目标函数的优化基础上的一种数据聚类方法[7]。模糊均值聚类是乳腺自动分割领域非常流行的算法。同k-means类似,FCM算法的思想是使得同一簇的对象之间相似度最大,不同簇之间相似度最小。
FCM的目标函数和约束条件分别为
(3)
(4)
式中,uij表示样本j属于某一类i的隶属度,m是隶属度因子,‖xj-ci‖2表示样本点xj与聚类中心ci的距离范数。
1.2.4基于谱映射主动轮廓模型
SEAC基于谱映射主动轮廓模型是由徐军等提出的基于主动轮廓模型的改进版本,主要是利用空间梯度关系来处理MRI乳腺肿瘤分割问题[19]。该算法主要步骤如下:
1) 在乳腺MRI图像上运用光谱映射;
2) 基于1的张量梯度送入主动轮廓模型增强梯度关系;
3) 手动选取初始点,本文采用的是检测中心;
4) 迭代出最终结果。
1.2.5SegNet网络
SegNet[20]是逐像素分割的深度神经网络,网络结构包含非线性处理层(编码器),和与之对应的解码器,最后跟随一个像素级别的分类层,具体结构如图1所示。
通常,每个编码器由卷积层、批归一化层(batch normalization)、ReLU层[21]、最大池化层[22]组成。每个编码器具有对应的解码器层。解码器由反卷积层、批归一化层、ReLU层、上采样层组成,在解码完成后输入softmax分类器来得到最终的概率图。
卷积层是SegNet网络的核心。在编码阶段,卷积的作用是利用每个卷积核提取输入特征图所有位置的特征,从而实现同一输入特征图的权值共享。整个网络中卷积的方式是same卷积,即卷积后不改变特征图的大小。在解码阶段,SegNet的反卷积层原理和卷积是一样的,但反卷积的作用是为上采样提供变大的图像丰富信息,使得在池化层过程中丢失的信息能通过学习得到。SegNet的卷积和传统的CNN的卷积没有区别。
批归一化层主要作用是加快学习速率,在前向传播时,批归一化层对卷积后的权值进行标准化但输出不变,在后向传播时,根据批归一化层的均值和方差,结合每个卷积层和ReLU层进行链式求导,求出梯度进而计算当前的学习率。ReLU层又称为激活函数层,ReLU是传统激活函数sigmoid的改进,其公式为
f(x)=max(0,x)
(5)
池化层是一种非线性的下采样方式,主要有最大和平均池化两种方式。SegNet中的池化层较一般的池化层多了通过池化得到的权值在2×2的卷积核的相对位置。由于SegNet网络是对称的,编码阶段池化得到的相对位置输出给解码对应阶段来进行上采样。
本研究的数据是乳腺肿瘤,其目标区域本身较小。针对这个问题,在SegNet的基础上,对于网络进行了一定改动,编码阶段参数见表1。将原始网络中7×7的卷积核修改成3×3的卷积核来减少局部感受野,进而让网络能学习到更小范围的特征信息。同时为了输入和输出尺寸一致,pad由3修改成1。在SegNet训练时,同样因为乳腺数据集较小的原因,采用vgg-16模型为初始模型,初始学习率设置为0.001,总迭代次数80 000次,在30 000次时学习率衰减为初始值的1/10,momentum值设置为0.9。权重衰减系数设为0.005。
表1SegNet编码器网络结构和参数设置
Tab.1ThestructuredetailsandparametersofSegNet′sencoder
层数操作通道数尺寸步长边缘填充1输入3———2~3卷积643114池化642205~6卷积1283117池化1282208~10卷积25631111池化25622012~14卷积51231115池化51222016~18卷积51231119池化512220
1.3.1实验数据
本研究使用的数据由江苏省人民医院放射科提供,数据由两位具有多年影像学检查经验的医生标记而来。肿块和非肿块的分类标准也是两位医生根据多年临床经验分析而来。数据集共有575张乳腺MR图像,采集仪器是Siemens Trio Tim 3.0 T超导型磁共振扫描仪(MAGNETOM Trio, Siemens, Germany),图片分辨率为448像素×448像素,肿瘤区域大小均大于1 cm。数据格式为DICOM格式,从中选取了415张作为训练集,其中270例肿块型,145例非肿块型;145张作为测试集,其中100例肿块型,45例非肿块型。由于训练集数量相对较少,在检测部分使用了如翻转、镜像等方法来对数据进行扩充,最终将整个检测训练集扩充到2 075张。所有的实验为了真实性,数据都是随机选取,实验进行了多次随机分组实验,结果都是多次随机实验平均值。为了实验的统一性,所有的图像都经过了相应的预处理。
1.3.2实验环境
实验使用的硬件配置如下:处理器:Intel(R) Core(TM) i7-3770 CPU @ 4 GHz;内存(RAM):32.0 GB;独立显卡:GeForce GTX Titan X;系统类型:Ubuntu 14.04;开发工具:python,caffe框架;读图软件:Slicer3D[23]。
1.3.3实验设置
实验的主要步骤如图2所示。第1步,448×448大小的图片送入检测网络检测出粗略肿瘤区域;第2步,根据检测的区域中心点取出144×144的块,然后把144×144的块送入分割网络进行分割;最后将最终结果映射到检测位置。
本研究主要做了5组实验,第1组是基于检测结果的C-V模型方法,第2组是基于检测结果的FCM算法,第3组是基于检测结果的SEAC算法,第4组是使用全图分割的SegNet方法,第5组是YOLOv2+SegNet分割方法。
将本研究的方法运用到560张乳腺MR图像,以验证方法的优越性和有效性。为了说明本研究YOLOv2+SegNet方法的有效性,将本研究分割结果和C-V模型、FCM、SEAC以及直接分割的SegNet网络进行了比较。具体的实验分割结果如图2所示,比较发现,对于肿块型和非肿块型乳腺癌来说,传统C-V模型、FCM、SEAC和SegNet直接分割的多种方法的效果明显不如本研究方法。
将所提出方法在100张乳腺肿块测试集和45张乳腺非肿块测试集上分别进行了分割评估,评估指标采用Dice系数[24]、特异性[25]、灵敏性[26],具体的对比结果如表2所示。同样地,对所有测试数据进行对比,包括传统C-V模型、FCM算法、SEAC算法实验和SegNet直接分割、DeepLab直接分割、U-net直接分割以及本研究方法,结果如表3所示。
表2 3种数据方式对比结果Tab.2 Comparison results of three data methods
表3 在所有测试集上的比较结果Tab.3 Comparison results on the whole test set
本研究提出利用YOLOv2+SegNet模型来进行肿块型和非肿块型乳腺肿瘤的检测和分割。一般情况下,使用全图来进行自动分割,但针对乳腺肿瘤分割这个问题,由于目标区域较小,非肿块之间形态差异性大,全图直接分割很不好。本研究先采用YOLOv2检测网络检测出大致的肿瘤病灶,在所有测试集上,选取置信度最大框,由于本身乳腺肿瘤就较小以及后面分割模块依据中心点选取远大于肿瘤尺寸的144像素×144像素大小的块,所以判定置信度最大框中心点在标记肿瘤框内即为肿瘤检测正确,采用这种方法的单肿瘤检测准确率是98%。从表2看,本研究的方法不管针对肿块或者非肿块还是两者混合,其结果都是远优于SegNet直接分割,就Dice系数、特异性以及灵敏性来说,本研究方法与SegNet方法相比平均提升大约10%。从图2来看,传统C-V模型当目标区域较小以及和背景差异性小时分割效果很一般,而针对非肿块型C-V模型就表现得不错,但是由于C-V模型是需要手动选择初始点,人工参与过多会导致结果随机性过大;FCM算法是一种无监督的模糊聚类方法,当某样本在所有类中隶属度相对平均时效果就很差。同样地,当目标区域较小时结果会表现较差,从时间成本来看,实验中FCM处理一张图片耗时相当长;SEAC算法是基于主动轮廓模型的改进方法,极度依赖于初始点的选择,这里采用的是检测中心点,所以不同图片分割效果相差很大,由于SEAC算法本身的局限性,从结果来看,针对肿块型乳腺癌该方法分割得很好,而针对非肿块型乳腺癌来说,SEAC方法并不是很理想;SegNet直接分割方法能将大致区域分割出来,但是由于无用信息较多,边界分割并没有那么精确,尤其针对非肿块型乳腺癌这种边界较复杂的数据来说,分割相当不精确;本研究先采用检测方法粗检测出大致目标区域,由于最终分割区域已经尽可能小,不管是肿块型还是非肿块型,分割结果都比前面的要好,和医生的标记结果较为接近。从表3来看,和目前主流的深度模型U-net、DeepLab或者SegNet这些一步直接分割方法进行对比,本研究方法的Dice系数以及特异性都有着明显的提升,灵敏性在所有方法中不是最好的,但较其他深度模型来说是最好的。
乳腺癌是女性最常见的恶性肿瘤,近年来国内外的研究已经取得了长足的进展,使其早期的临床检出率和治愈率不断提高,但是乳腺癌仍存在大量的难题等待解决。大家知道,早期由于技术的限制,某些非肿块型乳腺癌病变并不能检测出来,而且非肿块型本身缺乏典型的肿块特征,常导致误检或者漏检。随着计算机辅助诊断的普及和乳腺动态增强磁共振成像的广泛应用,基于图像的鉴别诊断正日益成熟,很多非肿块型病变能够被检测出来,而准确地进行乳腺癌影像学诊断的关键一步则是乳腺肿瘤区域的精确分割。再从分子层面来说,根据基因图谱,乳腺癌主要分为4种不同分子亚型:Luminal A型、Luminal B型、HER-2型、三阴性型[21-22]。不同分子亚型乳腺癌具有特定的临床特征。所以如果能寻找到一种通用的精确分割方法无疑对于不同乳腺亚型的后续研究有着巨大帮助。
针对这些问题,本研究提出了一种先粗检测后精确分割(YOLOv2+SegNet)的方法。本方法的研究内容主要体现在两个方面:首先,使用深度检测网络(YOLOv2)来尽可能地准确定位肿瘤的大致位置;再者,在精确定位的基础上,搭建和完善深度分割网络(SegNet),运用深度卷积神经网络强大的特征学习能力,充分利用浅层特征和深层特征训练出完整的分割网络。一般来说,传统方法如C-V、FCM、C-V等方法需要人为不断地调整参数,主观经验有时会对结果产生影响。本研究基于深度卷积神经网络的自动学习方法,既能更加充分利用图像特征,又能减少主观因素对于实验结果的影响。从表2、3的对比结果分析来看,相比传统方法,本研究提出的基于深度卷积神经网络方法(YOLOv2+SegNet)各项评估指标有着近10%的提升。从硬件来说,深度学习方法能更加充分运用硬件设备(如GPU),分割一张图只需要不到1 s。由此,本研究提出的先检测后分割的方法为减少医生工作量以及辅助医生诊断提供了可能。
同时,在本研究提出的方法中还有许多提升的空间。在分割网络中,可以调整网络结构或者更换损失函数来进一步提升分割准确率。在数据集方面,可以使用更多的数据集来加强鲁棒性,使模型更加具有适用性。在数据方面,目前应用的是二维的乳腺数据,在以后的研究中,将采用同样的想法对于三维乳腺肿瘤进行分割。
针对肿块型和非肿块型乳腺癌难分割问题,本研究提出了一个粗检测精分割(YOLOv2+SegNet)的方法,首先是对图像进行预处理,再送入YOLOv2检测网络中检测出肿瘤区域,选取框的中心点的144×144像素大小的块来进行精细分割。实验表明,本研究方法能较好地分割出肿块型和非肿块型乳腺癌肿瘤区域,较传统C-V模型、FCM、SEAC以及深度模型的U-net、DeepLab或者SegNet直接分割的方法都有着很大的提升,这对于乳腺肿瘤的精确诊断提供了一定的参考。