摘要:
合集:AI案例-CV-医疗
数据集:ACDC(Automated Cardiac Diagnosis Challenge)心脏数据集
数据集价值:ACDC (Automatic Cardiac Diagnosis Challenge) 是 MICCAI 2017 中的的挑战赛之一,旨在对心脏动态磁共振成像 (cine-MRI) 中的舒张期 (ED) 和收缩期 (ES) 帧进行左心室 (LV) 、右心室 (RV) 和心肌 (Myo) 分割。
一、问题描述
ACDC (Automatic Cardiac Diagnosis Challenge) 是 MICCAI 2017 中的的挑战赛之一,旨在对心脏动态磁共振成像 (cine-MRI) 中的舒张期 (ED) 和收缩期 (ES) 帧进行左心室 (LV) 、右心室 (RV) 和心肌 (Myo) 分割。精确分割心脏图像(语义分割)对于评估心脏功能,如射血分数(EF)、每次搏动的血量(SV)、左心室质量和心肌厚度,这些进而为诊断和治疗心脏疾病提供关键信息。
MICCAI 是 医学图像计算与计算机辅助干预国际会议 (International Conference on Medical Image Computing and Computer Assisted Intervention)的缩写。该会议自 1998 年开始,每年举办一次,是医学图像处理领域中最具有权威性和影响力的会议之一,被广泛认为是医学图像处理领域内的顶级会议之一。而 MICCAI CHALLENGES 是 MICCAI 的一个重要组成部分。它是一个国际性的竞赛平台,面向医学图像计算和计算机辅助干预领域的研究人员和开发者,旨在鼓励和推动该领域的技术发展和应用。
二、数据集内容
发布者
ACDC数据集由APOLLO(Automated Post-processing of Cardiac MRI via Online Learning)团队发布,团队成员来自多个机构,包括巴黎第六大学、法国INSERM等。ACDC心脏数据集首次发布于2017年,并在随后的心脏影像挑战中广泛应用,成为医学影像分析领域中一个重要的基准数据集。该数据集的发布促进了医学影像自动化分析技术的研究,并推动了与心脏疾病诊断相关的深度学习技术的发展。
内容
ACDC(Automated Cardiac Diagnosis Challenge)心脏数据集是一个用于心脏医学影像分析的挑战数据集,专注于心脏MRI图像的自动化诊断。该数据集被用于心脏影像的自动分割、分类及评估任务,主要用于推动心脏病的诊断研究,特别是在MRI图像分析领域。
ACDC数据集包含了多种类型的心脏影像,包括正常心脏、心力衰竭、肥厚型心肌病、扩张型心肌病等多种心脏疾病的患者数据。每个数据样本通常包含一个患者的心脏MRI扫描图像,并配有心脏的各个部分(如左心室、右心室、心肌等)的手动标注。数据集还包括基于不同模型的心脏结构分割标签,用于训练和评估自动分割算法。
该数据集涵盖 150 个病例,分为 5 个子类:NOR (正常)、MINF (心肌梗死伴随收缩性心力衰竭)、DCM (扩张型心肌病)、HCM (肥厚型心肌病) 和 ARV (右室异常),每类各 30 例。每一病例都包括一个心脏周期的 4D nifti格式图像,并且标注了舒张末期 (ED) 与收缩末期 (ES) 帧。官方将数据划分为 100 例的训练集和 50 例的测试集,每个子类在训练集中有 20 例,在测试集中有 10 例。所有 150 例数据和标注都已公开。
数据结构
dataset/
training/ -训练集
patient001/ -病例 001-100
Info.cfg -病例说明
patient001_4d.nil.gz -整体影像(4d),包含`NbFrame`帧
patient001_frame01.nii.gz -舒张末期单帧
patient001_frame01_gt.nii.gz -对应的label
patient001_frame12.nii.gz -收缩末期单帧
patient001_frame12_gt.nii.gz -对应的label
...
testing/ -测试集
...
NIFTI 格式说明
标准NIFTI图像(扩展名是.nii),是神经影像学中常用的数据格式,全称为 Neuroimaging Informatics Technology Initiative (NIfTI) 格式,用于存储三维(3D)或四维(4D)的医学影像数据(如MRI、fMRI、CT等)。NIFTI图像文件其中包含了头文件(hdr)及图像资料(img)。单独的.nii格式文件的优势就是可以用标准的压缩软件(如gzip),而且一些分析软件包可以直接读取和写入压缩的.nii文件(扩展名为.nii.gz)。可使用软件预览:itk-snap。
数据集版权许可协议
CC BY-NC-SA 4.0
三、诊断样例
数据预处理
只使用舒张末期和training部分进行训练。
切片
这里只考虑了ED时期的数据,将水平面的全层抽取。对于输出的图像大小不一致的问题,可能的策略包括:填充0值、切分patch、resize、裁剪…这里将图片填按中心进行裁剪到128 * 128。
数据增强
对图片进行水平翻转和垂直翻转。
上述代码见 data.py
。
建模
Model 1: FCN
FCN与经典的CNN在卷积层之后使用全连接层得到固定长度的特征向量进行分类(全联接层+softmax输出)不同,FCN可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷积层的feature map进行上采样, 使它恢复到输入图像相同的尺寸,从而在上采样的特征图上进行逐像素分类。
这里采用了FCN8s模型,在标准FCN模型32x的上采样还原的基础上,改进到8x还原,在一定程度上减轻了由于多次卷积之后图像分辨率降低细节丢失的问题。
Model 2: UNet
UNet是典型的Encoder-Decoder结构,在Encoder中先对图片进行卷积和池化,然后对特征图做上采样或者反卷积,同时对之前的特征图进行通道上的拼接concat。UNet网络层越深得到的特征图,有着更大的视野域,同时通过特征的拼接,来实现边缘特征的找回。
Model 3: UNet++
UNet++由不同深度的UNet组成,其重新设计了skip connection,使得解码器的子网络可以聚合不同尺度的特征,更加灵活。同时通过deep supervision也可以做剪枝。更多细节见参考[6]。
模型集见 models.py
。
训练
使用交叉熵误差损失函数,AdamW优化器。
训练以及测试流程见 run.py
。
使用以下命令开始多卡训练以及评估:
accelerate config
accelerate launch main.py --model unet --metric dice
使用帮助命令查看支持的模型以及评估指标:
python main.py -h
诊断评估
修改 main.py
的结果绘制部分将评估结果可视化输出。
源码开源协议
四、获取案例套装
文件包大小:3.0 GB
获取:医疗行业视觉案例套装