今天将分享肋骨骨折检测和分类完整实现版本,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。
一、RibFrac2020介绍
肋骨骨折的诊断是临床实践、法医学和多种业务场景(例如保险索赔)中的一项重要且常见的任务。然而,之前很少有研究调查自动机器学习技术在这项劳动密集型任务中的应用。该挑战建立了一个大规模基准数据集,可自动检测和分类来自 660 个计算机断层扫描 (CT) 的约 5,000 个肋骨骨折,其中包括 420 个训练 CT(全部有骨折)、80 个验证 CT(20 个无骨折)和160个评估CT。每个注释由肋骨骨折区域的像素级掩模(用于服务检测)以及4 类分类组成。
二、RibFrac2020任务
任务1:检测
在此任务中,通过CT扫描检测肋骨骨折。然而,由于目标的细长物体形状(肋骨骨折),检测任务需要以实例分割的方式实现。实例分割掩码是通过训练模型提供的。评估基于 FROC 分析进行检测。
训练和验证案例具有肋骨骨折的实例注释。每个肋骨骨折实例都有放射科医生提供的骨折区域体素级掩模,因此制定了实例分割问题。然而,由于断裂区域的模糊性,实例掩模往往有噪声。因此,分割预测仅用于计算检测度量的重叠。
检测性能的评估基于FROC分析,这是一种平衡灵敏度和误报的评估方法。FROC 分析的报告具有不同假阳性 (FP) 水平的灵敏度。使用FP= 0.5, 1 , 2, 4, 8 的平均值作为检测任务的总体挑战指标。
对于每个检测结果,当任何肋骨骨折注释之间重叠IoU > 0.2 时,将其视为命中。注意,对于细长形状的物体,IoU 往往会发生变化,这就是选择IoU > 0.2 作为检测命中标准的原因。
任务2:分类
在此任务中,需要将检测到的肋骨骨折分为4个临床类别(带扣、非移位、移位或节段性肋骨骨折)。
带扣肋骨骨折:虽然带扣骨折是儿科患者中各种骨骼的常见现象,但它不仅仅是儿科现象。由于其在法医学中的重要性,至少在两个病例系列中已在成年创伤患者中发现了带扣骨折,这些骨折在成像时通常会被遗漏。
非移位肋骨骨折:通过放射线检查很难发现非移位肋骨骨折,并且这些损伤只能在出现愈合迹象后在后续成像中通过放射线检查才能看到。由于没有发生皮质偏移,因此放射线检查时可能没有直接的非移位骨折迹象,放射科医生应寻找相关损伤。
移位的肋骨骨折:当皮质破坏和排列明显异常时,肋骨骨折被归类为移位。位移可能很小或很明显。可能会发生周围组织和结构的损伤,并且文献中已经记录了几种致命的并发症。
节段性肋骨骨折:节段性骨折是高度损伤,同一肋骨中至少有两处独立的完全骨折。节段性骨折可能保持解剖学对齐,但通常在一个或两个骨折部位部分或显着移位。影响三个或更多连续肋骨水平的节段性肋骨骨折与连枷胸的风险增加相关。这仍然是临床诊断。真正的连枷节段将揭示矛盾的呼吸运动,其中受影响的胸壁节段在吸气时向内收缩,而在呼气时向外膨胀。
分类的评估基于平均 F1和混淆矩阵。
三、RibFrac2020数据集
RibFrac挑战建立了一个大规模基准数据集,可自动检测和分类来自660个计算机断层扫描 (CT) 的约 5,000 个肋骨骨折,其中包括 420 个训练 CT(全部有骨折)、80 个验证 CT(20 个无骨折)和 160 个评估 CT。每个注释由肋骨骨折区域的像素级掩模(用于服务检测)以及 4 类分类组成。
信息文件的描述(ribfrac-train-info-1.csv、ribfrac-train-info-2.csv、ribfrac-val-info.csv)
public_id:匿名患者 ID,用于匹配图像和注释。
label_id:NII注释中的离散标签值。
标签代码:0、1、2、3、4、-1,0:是背景,1:是移位的肋骨骨折,2:是非移位肋骨骨折,3:是扣肋骨骨折,4:是节段性肋骨骨折,-1:是肋骨骨折,但由于模糊性、诊断困难等原因,无法定义其类型。在分类任务中忽略它。
数据下载:
https://ribfrac.grand-challenge.org/dataset/
四、技术路线
任务一、肋骨骨折分割检测
1、首先采用固定阈值和最大连通域法分割人体ROI,然后根据人体ROI从原始图像和mask提取ROI区域。
2、分析ROI图像,得到图像平均大小是512x348x357,因此将图像缩放到固定大小320x256x256。图像预处理,对步骤1的ROI图像进行(0,1000)窗宽窗位截断,然后采用均值为0,方差为1的方式进行归一化处理,再将数据分成训练集和验证集。
3、搭建VNet3d网络,使用AdamW优化器,学习率是0.001,batchsize是1,epoch是300,损失函数采用二值化的dice和交叉熵。
4、训练结果和验证结果
5、验证集分割结果
左图是金标准结果,右图是网络预测结果。
任务二、肋骨骨折类型分类
1、首先根据肋骨骨折分割Mask进行连通域分析,根据不同连通域目标提取对应的ROI图像。
2、分析ROI图像,得到图像平均大小是31x35x25,因此将图像缩放到固定大小64x64x64。图像预处理,对步骤1的ROI图像采用均值为0,方差为1的方式进行归一化处理,再将数据分成训练集和验证集,对训练集进行3倍数据增强。
3、搭建ResNet3d网络,使用AdamW优化器,学习率是0.001,batchsize是128,epoch是500,损失函数采用交叉熵。
4、训练结果和验证结果
5、验证集分类结果
分割检测与分类集成测试集推理结果
左图是肋骨骨折分割检测结果,右图是肋骨骨折分类结果。
点击阅读原文可以访问参考项目,如果大家觉得这个项目还不错,希望大家给个Star并Fork,可以让更多的人学习。如果有任何问题,随时给我留言我会及时回复的。