肾小管末端磷酸钙沉积栓的自动检测。
Healthc Technol Lett. 2019 Dec; 6(6): 271–274.
Published online 2019 Dec 6. doi: 10.1049/htl.2019.0086
PMCID: PMC6952263
PMID: 32038870
Automatic detection of calcium phosphate deposit plugs at the terminal ends of kidney tubules
Katrina Fernandez,1,2 Mark Korinek,1 Jon Camp,1 John Lieske,3 and David Holmes1
Author information Article notes Copyright and License information Disclaimer
This article has been cited by other articles in PMC.
Go to:
Abstract
肾结石是一种常见的泌尿系统疾病,复发率很高。复发取决于多种因素,结石前体观察的一种方法是内窥镜评估。深度学习已成为一种流行的语义技术,因为它已被证明具有很高的准确性。本信件研究了深度学习肾乳头、斑块和栓塞方面的功效。测试了带有 ResNet-34 编码器的 U-Net 模型;检查了 dropout(以避免过度训练)和两种不同的损失函数(以解决类别不平衡问题。然后在 1666 张图像中训练模型并在 185 张图像上进行测试。Jaccard-cross-entropy 损失函数比焦点损失函数更有效)损失函数. 发现 dropout 率为 0.4 的模型由于其普遍性而更有效. 该模型在描绘乳头方面取得了很大的成功. 该模型能够正确检测斑块和栓塞; 然而, 小斑块具有挑战性.发现深度学习适用于对乳头、斑块和栓塞的内窥镜图像进行分割,但仍有改进的余地。关键词:学习(人工智能),医学图像处理,熵,内窥镜,图像分割,肾脏,图像编码,卷积神经网络,钙化合物 关键词:自动检测、磷酸钙沉积栓、肾小管、肾结石、斑块、结石前体、内窥镜评估、深度学习、语义分割、肾乳头、U-Net模型、ResNet-34编码器、类别不平衡问题、Jaccard-cross -熵损失函数、焦点损失函数、辍学率、内窥镜图像、泌尿系统状况
1. Introduction
血液过滤、维持体内平衡和合成激素需要适当的肾功能。不幸的是,肾脏可能会受到改变其功能能力的疾病的折磨。其中一种病痛是肾结石病,其中由矿物质和盐类(通常是草酸钙或磷酸钙)形成的坚硬沉积物凝聚成颗粒。肾结石疾病与终末期肾功能衰竭、肾细胞癌 和其他危及生命的疾病的风险增加有关。在世界范围内,患有这种疾病的人数有所增加。此外,一旦个体首次出现肾结石,再次出现肾结石的可能性就会增加。由于这些现象,个人必须意识到他们有改变生活方式的风险,例如增加液体摄入量和减少盐摄入量。除了改变生活方式外,还开发并批准了几种不同的治疗策略,以减少未来结石形成的可能性。鉴于这些治疗会影响不同的生物学途径 ,肾脏病学研究界一直在寻找可以为治疗提供信息的生物标志物。识别肾结石复发风险的一种方法是评估其肾结石前体的发生率。 钙基肾结石的形成有两种前体或途径。一种前体是栓塞,这是晶体形成和保留在集合管内的结果。另一种途径是斑块,它由在乳头表面发现的上皮下磷灰石晶体组成 。识别这些前体可以在结石形成之前去除,并识别有复发性肾结石发作或相关疾病风险的个体。 从历史上看,结石前体的主要特征是化学分析和组织学分析。然而,在开发用于前体表征的完整成像方面取得了进展。显微计算机断层扫描 (CT) 是一种有效的工具;然而,它需要拔出栓塞和斑块。它不能在体内使用。临床 CT 无法提供识别栓塞和斑块所需的分辨率。此外,如 [16, 17] 所示,临床 CT 发现与前体负荷无关。检测和表征结石前体的一种方法是视频内窥镜检查 。在这个过程中,医生使用内窥镜摄像头来检查肾脏的每个极。图像以数字方式记录并离线分析。用于视频表征的数据收集通常发生在移除现有结石的过程中(有关微创移除结石的指导,请参见 [9])。 目前,有两种方法来评估结石前体。第一种方法是主观的,需要外科医生查看图像并根据外科医生的观察对每个点进行评分。第二种方法是定量表征。这种方法经过化学和组织学分析的验证。不幸的是,通过手动分割从视频图像中识别结石前体是一个乏味的过程。训练有素的分析师必须将视频序列扫描到与各个极点相对应的视频片段。一旦确定,分析师就会识别出包含乳头和任何前体沉积物的代表性图像。分析时间因患者而异,但案例通常需要 60 分钟的分析时间来表征单个对象。由于所需的努力和专业知识,谨慎地确定可以自动化的替代分割方法,以减少创建相关数据的时间并减少人类可变性(图 1)。
Fig. 1
代表性内窥镜成像和相应的对象图,a, c 来自内窥镜视频的帧 b, d 对应的标记图像勾勒出乳头、红色、斑块、绿色和蓝色栓塞 机器学习是一种自动化视频分析过程的方法。它通常用于自动化并减少分割和分类等任务所需的时间。具体来说,在医学领域,它已被用于语义分割任务,例如勾勒细胞核 、分类、分割脑肿瘤等。深度学习是机器学习的一个子集,它在减少特征工程的情况下表现出卓越的性能;因此,它不需要大量的数据预处理和特征提取。相反,架构从数据中学习特征。有各种深度学习架构。一种常用的架构是 U-Net,一种卷积神经网络。U-Net 的流行是由于它的编码和解码能力。此功能允许它通过池化层、编码架构稳步降低空间维度,然后恢复空间维度以及对象细节、解码架构 。ResNet 编码器是一种使用跳过连接来避免深度学习网络中层数增加时出现的梯度消失/爆炸问题的网络。此连接在几个权重层之后向其输出添加一个输入 [24]。编码器在参数和隐藏层的数量上有所不同。它们的内存大小也各不相同,以适应各种计算限制。深度学习不仅常见于细胞生物学、神经学等领域;它也被用于肾脏病学。过去的研究已将深度学习应用于结石检测、肾细胞癌等。然而,迄今为止的出版物并未描述使用深度学习算法进行肾栓塞和斑块检测。鉴于对结石前体的肾脏映射的临床需求,需要减少分割时间并减少分析管道中的人类变异性。目标是使用先前开发的深度学习架构来改进塞子和斑块表征的处理流程。尽管存在用于视频数据语义分割的经过验证的架构,但尚未在该领域中使用。在这封信中,探讨了使用深度学习模型来识别肾结石和肾乳头的前兆。
2. Method
患者在接受肾结石切除手术后记录了 200 多个内窥镜视频。根据机构审查委员会 (IRB) 协议,临床信息被排除在图像分析之外,以避免在处理过程中出现任何偏差。由于重点放在塞子和斑块上,分析中不包括石头的视频图像。然后使用 Mayo Clinic N(生物医学影像资源,罗切斯特,明尼苏达州),一种用于医学成像的可视化和分析软件,针对乳头、斑块和栓塞手动分割这些视频。一名训练有素的技术人员在获得董事会认证的泌尿外科外科医生的直接监督下处理了所有视频。对于每次分析,技术人员为每个杆选择代表性图像。图像被加载到 ANALYZE 中,并手工追踪乳头、斑块和栓塞。标记的图像被存储为对象图和用于分段和标记数据的 ANALYZE 文件格式。手动分析在中有详细描述。在数据准备阶段,从视频序列中提取手动分割以及相应的标记图像。Python 3.7.3(Anaconda, Inc., Austin, TX)用于所有预处理。每个红色、绿色和蓝色图像被填充和/或调整为 480×1024 px2 并保存到 hdf5 文件中(以方便在训练期间读取批量图像)。标记的图像包含四种不同的对象——背景、乳头、斑块和塞子。每个对象都被分配了一个数值并调整为 480×1024 px2 以保持与图像数据的对应关系。深度学习模型是使用分割模型库创建的,这是一个基于 Keras/TF 库构建的用于图像分割的 Python 库。(https://github.com/qubvel/segmentation_models)。探索了几种不同的深度学习架构。最终选择的模型是 U-Net。U-Net 模型是使用 ResNet-34 编码器实现的。预先训练的 ResNet-34 编码器之前已经在 ImageNet 上训练过,非常适合视频/摄影图像分析。深度学习算法在 1666 张归一化图像上进行训练,并在 185 张归一化图像上进行测试,批次大小为 7,共 500 个 epoch。使用了 softmax 激活层、上采样解码器架构以及卷积层和激活层之间的批量归一化。对于解码器块,使用的卷积层滤波器为 256、128、64、32 和 16。一种算法的丢失率为 0,另一种算法的丢失率为 0.4。这些模型是用 ADAM 优化器编译的。用于这些模型的指标是联合交集 (IOU) 分数或 Jaccard 指数,其中 A 和 B 是样本集 (1)。Jaccard 指数是比较样本集之间的相似性和方差的度量
IOU=J(A,B)=|A∩B||A∪B|
(1)
测试了两个损失函数,主要是为了解决正常组织、乳头、斑块和栓塞之间的类大小不平衡。使用的第一个损失函数是 Jaccard 损失和分类交叉熵方程的总和,其中 N 是训练示例的数量,y^j 是输出,y 是真实输出,J 是输出节点的数量 如下面的等式所示:
JCE=(1−J(A,B))+−1N∑i=0N∑j=0Jyj∗log(1−y^j)+(1−yj)∗log(1−y^j)
(2)
使用的第二个损失函数是焦点损失 (3)。焦点损失试图考虑在训练期间观察给定类的概率。在这个模型中,m 是类的数量,c 是类,o 是观察
focalloss=∑c=1m−α∗(1−po,c)γ∗yo,c∗log(po,c)
(3)
训练后,深度学习算法在训练和测试数据集上进行评估,以获得它们的整体损失和 IOU 分数。
3. Results
表 1 报告了具有 Jaccard-cross-entropy (JCE) 和焦点损失的模型的性能。JCE 损失模型能够在训练数据集上实现出色的性能,但在测试数据集上的性能适中。测试损失值突出显示了这一点,该值比训练损失值大十倍,并且在测试数据集上的 IOU 分数低 22%。这是一个过拟合模型的典型例子,代表了低通用性。焦点损失模型还表现出过拟合和低泛化性,因为测试损失值比训练损失值大 100 倍,并且在测试数据集上的 IOU 分数低 24% 以上。表格1深度学习算法在训练和测试数据集上的指标和损失分数
Type of loss |
Dataset |
Loss |
IOU score |
---|---|---|---|
JCE |
train |
0.174 |
0.900 |
f |
train |
0.0679 |
0.709 |
JCE |
test |
1.11 |
0.679 |
f |
test |
15.5 |
0.469 |
JCE = sum of Jaccard loss and categorical cross-entropy.
F = focal loss.
在考虑 dropout 时,模型在数据集的损失值和 Jaccard 指数方面有所不同,如在训练数据集上评估时所见,非 dropout 模型具有较低的 JCE 损失分数(0.0575)和较高的 IOU 分数(0.958)比辍学率为 0.4(分别为 0.174 和 0.900)的模型。然而,对于测试数据集,具有 0.4 辍学率的深度学习算法优于常规模态。。图 2 和 3 分别提供了成功和不成功分割的代表性示例。在图 2 中,使用 dropout 模型从周围组织中勾勒出乳头(红色)。在非辍学模型中,乳头分割超出了乳头的边界。在这两种情况下,都确定了两个斑块。在图 3 中,无论是 non-dropout 还是 dropout 模型都不能清楚地描绘出乳头;然而,这两个模型似乎都在接近正确的分割。dropout 模型能够识别出两个斑块,但错过了其他几个斑块。两种模型都无法识别最大的斑块。
Fig. 2
成功的细分训练后提供给深度学习算法的输入以比较性能b 图 2a 的真实情况c 基于图 2a 的深度学习算法在 dropout 率为 0 的情况下做出的预测d 基于图 2a 的深度学习算法的预测,dropout 率为 0.4
Fig. 3
分割失败训练后提供给深度学习算法的输入以比较性能b 图 3a 的真实情况c 深度学习算法基于图 3a 的 dropout 率为 0 的预测d 基于图 3a 的深度学习算法的预测,dropout 率为 0.4
4. Conclusion
dropout率为0.4的深度学习算法比没有dropout的深度学习算法表现更好。最初的非 dropout 模型能够在训练数据集上取得出色的性能,但在测试数据集上的性能却很差。这种类型的训练响应是过拟合模型的典型例子。dropout为0.4的深度学习算法表现出更好的泛化性。通过随机丢弃神经网络中的神经元,具有辍学率可以减少过度拟合。具有较高辍学率的模型的通用性更好,因为它从训练数据集中学习了乳头、栓塞和斑块的定义特征,而不仅仅是“记忆”单个图像和前体形成的实例。类不平衡问题在这些数据中也很重要。Focal loss 专门设计用于通过尝试解释看到类的可能性来解决类不平衡问题;但是,这种方法的性能不如 JCE。JCE 在社区中被广泛使用。对深度学习架构的早期评估对于模型的最终成功至关重要。有许多既定的方法。对于这项工作,研究了几种不同的架构。几乎,除了 U-Net 架构之外,所有这些架构在这项任务中都表现不佳。这加强了对用于语义分割的 U-Net 模型的普遍接受。尽管确定一个特定的实现比其他实现更好(即具有 dropout 和 JCE 损失函数的 U-Net/ResNet32),但仍有大量机会改进模型。一种这样的方法是通过数据增强。我们的200+例数据集是最大的肾脏分割视频内窥镜数据集;然而,乳头的图像和表现存在很大差异。数据增强涉及各种技术,例如翻转、平移或旋转,以改变当前数据以人为地增加可用数据的数量。Gamma 校正或颜色校正也可以用作数据增强的一种形式,以标准化数据集内的光照变化 [28]。Gamma 校正对于数据收集条件并不总是一致的数据集非常有用,例如是否使用了各种相机、获得的对象的不同视角以及图像捕获的光量或亮度的变化。数据增强可以提高准确性,因为深度学习算法可以通过允许模型更多地了解定义乳头、斑块和栓塞的特征,而不是仅仅过度拟合训练数据集,从而随着数据暴露的增加而学习更多[ 29]。然而,重要的是要谨慎行事,因为增强的数据可能会导致过度拟合或可能导致对不重要特征的训练。这是选择预训练编码器的原因之一;通过使用预先训练的模型,模型中已经考虑了一些通用特征。 另一种方法是减少不相关数据的数量。用于训练深度学习算法的原始分割数据创建时间超过 9 年,分割之间存在多个月的间隔。由于数据创建的性质,分割数据中可能引入了人类可变性。此外,手动分割的乳头、斑块和栓塞对象图的准确性逐年提高。这可能意味着如果重复重新评估或手动分割,一些较旧的数据可能无法代表可接受的分割。这些情况可能会降低对象图的准确性,并可能对深度学习算法的性能产生负面影响。深度学习算法也可以通过详尽的超参数调整来改进。Hyperopt (https://github.com/hyperopt/hyperopt) 就是这样一种用于超参数优化的包。尽管在这封信中研究了辍学率,但可以将辍学率增加到更高的比率以进一步解决过度拟合并提高普遍性。该算法也可以通过使用不同的编码器来改进。与优化模型开发的其他方法一样,超参数优化也应谨慎处理,因为它也会导致偏差和过度拟合 [30]。深度学习是实现自动图像分割的强大技术。肾脏的视频内窥镜是一种应用,它应该非常适合深度学习,因为一些深度学习架构最初是基于彩色相机图像设计和验证的。不幸的是,深度学习需要大量不同但具有代表性的数据来充分训练模型。如果可用数据不足,则模型表现不佳和/或过度训练。此外,未来的研究将侧重于数据增强,以开发足够的图像数据库进行训练。