杨练,贾强,杨朝辉,孙立风,纪英财,侯岩松
1.天津医科大学总医院 a.设备科;b.核医学科,天津 300052;2.北京永新医疗设备有限公司,北京 102206;3.中核高能(天津)装备有限公司,天津 300300;4.苏州永新智造医疗科技有限公司,江苏 苏州 215000
图像处理和模式识别技术在医学影像处理方面应用广泛[1-4],近年来,深度学习技术也开始应用于CT、MR和超声等模态图像[5-7],但在核医学影像模态中深度学习技术应用仍较少[8]。单光子发射计算机断层成像 仪(Single-Photon Emission Computed Tomography,SPECT)心肌灌注成像是一种重要的冠心病诊断方法,但直接重建的SPECT三维图像无法用于临床实践,需要根据左心室长轴进行重新分割得到垂直于左心室长轴的图像。定位和识别左心室长轴前,需要首先进行SPECT图像左心室心肌感兴趣区(Region of Interest,ROI)的识别,即提取包含左心室的长方体,该长方体包含尽可能多的左心室内容,以及尽可能少的非左心室内容[9-12]。
目前,计算SPECT左心室信息的ROI的算法仍主要为传统技术,如连续区块法、基于几何形状特征的数学拟合方法等[9-12]。这些技术存在耗时、可复现性差、精度无法满足临床需求等问题。目前,国内鲜见关于基于深度学习技术对心肌ROI自动识别技术的研究,因此探讨深度学习在以上领域的研究具有重要意义。
本文提出一种新的左心室ROI自动定位算法,该算法引进图像增强技术,使用基于神经网络的深度学习技术、传统分割技术以及先验知识进行心肌三维ROI定位识别研究,旨在加大深度学习技术在核医学领域的研究力度,提高心肌SPECT的左心室三维ROI的计算精度。
本文采用回顾性研究方法,随机选取天津医科大学总医院核医学科2016年3月至2021年7月行心肌显像灌注患者30例,其中男17例、女13例,年龄40~65岁。纳入标准:临床核医学影像诊断为未见明显心肌缺血或轻微缺血的样本。排除标准:严重心肌缺血的样本。
1.2.1 左心室ROI自动检测算法流程
左心室ROI自动检测算法流程如图1所示,在对三维核医学心肌图像进行增强处理的基础上,应用深度学习方法进行自动心肌图像检测,并利用相关方法对检测结果进行自动甄别,得到心肌图像检测结果。
图1 心肌图像自动检测算法流程
1.2.2 图像增强
图像的灰度直方图是反映一幅图像中各灰度级像素出现频率的图形,已有的根据直方图进行图像增强的方法较多,如直方图均衡化[13]。但该方法在增强心肌的同时,周围的组织和噪声也随之增强。基于此,本文设计二维直方图增强算法在增强心肌影像的同时,抑制本底和周围的组织以及噪声。由于心肌灌注SPECT重建图像是三维数据,故可以逐层对横断面应用该二维直方图增强算法。二维直方图增强算法描述如下。
(1)输入:二维灰度原始图像,直方图的灰度级数。
(2)输出:二维灰度增强图像。
(3)步骤:① 计算直方图;② 剪切直方图中的异常值:灰度级的像素数大于图像的总像素数的10%时,灰度级的像素数重置为0;③ 计算直方图的阈值:图像的总像素数除以5000;④ 更替最小值和最大值:计算直方图上灰度级像素数大于阈值的第1个灰度级刻度和最后1个灰度级刻度,计算二维灰度原始图像的最小和最大灰度值,每个灰度级刻度代表的灰度值=(最大灰度值-最小灰度值)/直方图的灰度级数,每个灰度级刻度代表的灰度值分别乘以大于阈值的第1个灰度级刻度和最后1个灰度级刻度,得到新的最小值和最大值;⑤ 计算窗宽和窗位:窗宽=新的最大值-新的最小值,窗位=(新的最大值+新的最小值)/2;⑥ 调节图像对比度:根据窗宽和窗位增强图像对比度得到。
1.2.3 深度学习自动识别心肌二维ROI
针对二维横断面的切片图像,提供2种训练方法用于神经网络的深度学习:1种是具有先验知识的心肌分类器,另1种是使用更快速的基于区域的卷积神经网络(Faster Region Convolutional Neural Network,Faster RCNN)的ROI侦测器,训练方法如下。
(1)心肌分类器:将所有心肌体数据的横断面二维图像分为2类,有典型心肌特征(具有先验知识,即横断面上表现出左心室斜马蹄形影像)和无典型心肌特征。将分类好的所有心肌横断面二维图像随机生成训练数据和测试数据(随机挑选80%作为训练集用于训练模型,剩余20%作为测试集用来评估模型性能),提取训练数据的深度学习卷积特征,并训练支持向量机分类器生成心肌分类器。提取深度学习卷积特征的预训练网络是resnet18,特征提取层是pool5层[14]。
(2)ROI侦测器:对心肌体数据进行三维长方体ROI勾画,在横断面视角上每层横断面图像的二维矩形ROI均完全一样。将标注好的所有样本的横断面二维图像混在一起,随机生成训练数据和测试数据(随机挑选80%作为训练集用于训练模型,剩余20%作为测试集用以评估模型性能)。使用训练数据训练Faster RCNN[15]获得心肌横断面的ROI侦测器。
使用心肌分类器对心肌体数据的横断面二维图像进行分类识别,获得连续心肌图像数最大的体块,本文称为心肌中间体块。再使用ROI侦测器对心肌中间体块内所有心肌横断面进行二维ROI侦测,获得体块内所有心肌横断面的ROI分数。如ROI分数不大于预设的阈值,那么ROI分数为0,且对应的ROI矩形框为空。最后,选取满足条件的ROI分数对应的非空ROI矩形框作为整个心肌体数据横断面二维ROI。
1.2.4 Z轴连通限制处理
深度学习方法自动检测的图像结果需要后续进行处理,方可得到正确的检测结果。处理步骤如下。
(1)对心肌体数据进行二值化处理。
(2)分别将1.2.3中识别出的心肌中间体块的起始层和结束层向两侧扩展。如果相邻两层的二值区域连通,且扩展层使用ROI侦测器可以检测出心肌横断面的二维ROI,则认为扩展层属于心肌的一部分。
1.2.5 深度学习网络的评价指标
评价深度学习网络的分类精度需要使用一些评价指标,在定义这些评价指标前,首先定义混淆矩阵。混淆矩阵定义为:,其中,a11是真正(True Positive,TP),表示将正例预测为正例的数值;a12是真负(True Negative,TN),表示将负例预测为负例的数值;a21是假正(False Positive,FP),表示将负例预测为正例的数值;a22是假负(False Negative,FN)表示将正例预测为负例的数值。根据混淆矩阵定义如下评价指标,准确率、错误率、灵敏度、特异性、精确率、召回率计算方式如公式(1)~(6)所示,其中灵敏度表示的是所有正例中被分对的比例,衡量了分类器对正例的识别能力;特异性表示的是所有负例中被分对的比例,衡量了分类器对负例的识别能力;精确率表示被预测为正例且确实为正例的部分占所有预测为正例的比例;召回率度量的是被预测为正例且确实为正例的部分占所有确实是正例的比例,与灵敏度一致。
1.2.6 人工对比检测
由2位具有10年以上工作经验的核医学医师或技师进行人工检测和共同评判,并与本文深度学习自动算法得到的结果进行线性回归对比。
本文使用30幅真实临床数据验证算法的准确性和可靠性。
2.1.1 直方图增强效果
横断面切片对比度增强前后的效果如图2所示,通过直方图增强方法心肌灌注SPECT重建图像的横断面切片心肌组织和周围的本底的对比度增强,肉眼可辨识出左心室斜的马蹄形影像。
图2 横断面切片对比度增强前(a)和对比度增强后(b)的图像
2.1.2 深度学习自动检测心肌图像效果
应用心肌分类器识别的心肌图像如图3所示,带有阴影的图像部分为识别结果。心肌分类器识别出的心肌体块为第4~11层,但是存在漏报,即第3层、第12~15层也存在心肌图像,但心肌分类器未识别出阳性结果。Faster RCNN自动检测心肌图像的结果如图4所示,心肌在Z轴方向起始于第3层,终止于第15层,但Faster RCNN存在误报,即第1层也被错误的识别成心肌图像。应用增强效果后二值化方法,进行Z轴连通判断,得到本文算法最终的识别结果如图5所示,由图5可知,图3的漏报情况和图4的误报情况均明显改善,即能够正确识别三维ROI结果。
图3 心肌分类器识别结果示例
图4 Faster RCNN对心肌Z轴方向起始层和终止层的计算
图5 本文的算法最终的识别结果示例
心肌横断面分类器、心肌横断面二维ROI侦测器和本文算法的评价指标(准确率、错误率、灵敏度、特异性、精确率、召回率)如表1所示。由表1可知,本文算法准确率明显高于心肌横断面分类器和心肌横断面二维ROI侦测器,错误率明显低于心肌横断面分类器和肌横断面二维ROI侦测器。同时基于Faster RCNN的心肌横断面二维ROI侦测器漏报少但误报较多(灵敏度为99.75%,准确率为70.67%),而心肌分类器误报少但漏报较多(准确率为94.41%,灵敏度为77.86%),使用本文算法对二者进行有效结合提升了心肌二维目标检测的准确率,达到97.78%,且灵敏度仍保持较高水平(94.40%)。
表1 深度学习评价指标比较(%)
30幅心肌体数据横断面计算出的二维ROI矩形框左上角坐标和人工判断结果的ROI矩形框左上角坐标比较情况如图6所示,本文算法计算出的横断面左心室二维ROI的左上角坐标与人工判断结果的左心室横断面二维ROI对应的左上角坐标拟合的回归直线斜率趋近于1。30幅心肌体数据横断面计算出的二维ROI矩形框宽和高与人工判断结果的ROI矩形框宽和高比较情况如图7所示,本文算法计算出的横断面左心室二维ROI的宽和高与人工判断结果的左心室横断面二维ROI的宽和高拟合的回归直线斜率趋近于1。本文算法计算30幅心肌体数据Z轴方向的起止层序号与人工判断结果比较情况如图8所示,本文算法计算出的Z轴限制与人工判断结果的对应Z轴限制的回归直线斜率趋近于1,说明二者Z轴限制接近,即与人工判断结果相符,进而说明本文算法对Z轴限制的计算结果满意。
图6 本文算法与人工判断结果ROI左上角横坐标(a)和纵坐标(b)比较
图7 本文算法与人工判断结果ROI矩形框宽(a)和高(b)比较
图8 本文算法与人工判断结果Z轴起始层(a)和Z轴终止层(b)比较
Faster RCNN是检测二维ROI比较典型的深度学习方法[15],但本文的心肌横断面二维ROI侦测器调用Faster RCNN后,ROI检测效果并不理想,准确率仅70.67%,这是由于Faster RCNN误报过多导致的。
为减少心肌横断面二维ROI侦测器的误报过多的情况,本文通过心肌横断面分类器保证Faster RCNN的输入图像尽可能是含有心肌的二维横断面图像。当进入心肌横断面二维ROI侦测器阶段时,由于Faster RCNN的高灵敏度(99.75%),提升了检测二维心肌横断面ROI的精确度,且进行了Z轴向的切片扩展操作处理,进一步提高了计算二维心肌横断面ROI的准确率(97.78%)。当处理体数据时,由于进入心肌分类器深度网络的输入数据不是1幅二维图像,而是多幅二维图像,增加了检测出阳性样本的概率,使得进入Faster RCNN中的含有心肌的二维横断面图像的概率也明显增加,即在检测二维心肌目标上,本文的心肌横断面分类器+Faster RCNN优于Faster RCNN,这也是本文的创新点之一:解决了仅使用Faster RCNN检测二维心肌ROI误报多、精确度低的问题。此外,本文算法计算出的横断面左心室二维ROI与人工判断结果的左心室横断面二维ROI的矩形框坐标位置接近,进而说明本文算法对二维横断面ROI的计算结果令人满意。
本文的另一个创新点:避免了连续区块算法直接阈值分割造成计算ROI精度不够的问题。连续区块算法没有使用图像增强处理步骤,二值化效果往往不佳[9]。而本文算法使用了图像增强算法增强了图像的对比度,二值化效果更好。如果连续区块法在心肌二维横断面上二值化效果不佳,有可能造成Z轴方向相邻心肌的离断,从而导致计算Z轴限制的失败,即计算心肌三维ROI的Z轴范围错误。而本文的算法使用较高准确率的心肌分类器(准确率为94.41%)计算连续的相邻心肌横断面的体块,识别效果较好;虽然对于心肌中间体块的扩展本文也使用了二值化处理,但因是基于增强后的图像处理,Z轴方向相邻心肌二值影像连续性较好,便于心肌中间体块向起始层和结束层的两侧进行扩展操作,又由于使用Faster RCNN在Z轴方向进行限制,使得计算出的Z轴范围相对正确。
本文提出的算法和传统的连续区块方法相比[9-12],无需人工提取图像特征,未完全依赖二值化的阈值结果,自学习和自适应能力更强。但本文算法也存在一定的局限性:使用的深度学习技术只能处理二维图像;分割技术使用的仍是传统技术;样本数量虽然满足医学统计学小样本数量的基本要求,但是偏少。在未来的工作中,还需考虑设计三维图像的深度学习图像分类和目标检测方法,以及使用深度学习分割技术,在增加样本的前提下,验证和提高算法在大数据条件下的准确度和临床实用性,为后续核医学SPECT心肌定量分析研究奠定坚实基础。此外,本文算法中使用的图像增强等技术对其他医学图像处理问题有一定的参考价值。
本文针对SPECT图像左心室心肌图像,首先进行图像增强,然后使用深度学习技术结合先验知识可自动获得左心室心肌三维感兴趣区。使用真实临床数据,自动识别结果与人工判断结果基本一致,充分验证了本文算法的有效性和正确性,正确识别率接近100%。