GoodBaiBai88/M3D-Cap|医学图像分析数据集|多模态数据数据集
收藏数据集概述
数据集描述
M3D-Cap是一个大规模的3D医学多模态数据集,包含120K图像-文本对。该数据集从公开可访问的专业医疗网站Radiopaedia收集,每个病例包含多个3D图像和相应的报告,这些报告已经过专家审核。
数据集结构
数据集分为两个主要文件夹:ct_case
和ct_quizze
。每个文件夹包含图像和文本的子文件夹。图像文件夹包含3D图像的多个2D切片,文本文件提供与3D图像对应的英文报告描述,包括异常类型、病变位置等。
数据格式
plaintext M3D_Cap/ ct_case/ 000006/ Axial_non_contrast/ 0.jpeg 1.jpeg ...... text.txt ...... ct_quizze/ 000007/ Axial_non_contrast/ 0.png 1.png ...... text.txt ...... ......
数据文件
- M3D_Cap.json: 提供数据集分割信息。
- data_examples: 提供24组3D图像和文本数据的示例。
- M3D_Cap: 包含完整数据集。
- m3d_cap_data_prepare.py: 提供数据预处理代码,包括图像归一化、从2D切片堆叠3D图像、图像裁剪和有效文本提取。
支持的任务
M3D-Cap支持3D医学场景中的多模态任务,如图像-文本检索、报告生成和图像生成。
数据集下载
数据集总大小约为978G。完整数据集位于M3D_Cap文件夹中。
下载方法
-
HTTP克隆: bash git clone https://huggingface.co/datasets/GoodBaiBai88/M3D-Cap
-
SDK下载: python from datasets import load_dataset dataset = load_dataset("GoodBaiBai88/M3D-Cap")
-
手动下载: 建议使用批量下载工具手动下载所有文件。
数据集加载方法
预处理
根据m3d_cap_data_prepare.py
预处理数据集,包括:
- 从每个文件夹的2D切片堆叠3D图像,并按图像文件名命名(保留平面和相位信息),保存为
npy
文件。 - 图像归一化和裁剪。
- 从数据集中的文本报告中过滤和提取高质量描述。
构建数据集示例
python class CapDataset(Dataset): def init(self, args, tokenizer, mode="train"): # 初始化代码省略
def __len__(self):
return len(self.data_list)
def __getitem__(self, idx):
# 数据加载和处理代码省略
数据分割
整个数据集使用JSON文件进行分割,可以分为train, validation, test100, test500, test1k, test
,其中test子集包含2k样本。考虑到测试成本,我们提供了不同样本大小的测试集,包括100、500、1k和2k样本。
引用
如果使用此数据集,请引用以下作品: BibTeX @misc{bai2024m3d, title={M3D: Advancing 3D Medical Image Analysis with Multi-Modal Large Language Models}, author={Fan Bai and Yuxin Du and Tiejun Huang and Max Q. -H. Meng and Bo Zhao}, year={2024}, eprint={2404.00578}, archivePrefix={arXiv}, primaryClass={cs.CV} } @misc{du2024segvol, title={SegVol: Universal and Interactive Volumetric Medical Image Segmentation}, author={Yuxin Du and Fan Bai and Tiejun Huang and Bo Zhao}, year={2024}, eprint={2311.13385}, archivePrefix={arXiv}, primaryClass={cs.CV} }