CFUN 项目使用教程
1. 项目介绍
CFUN 是一个结合了 Faster R-CNN 和 U-net 的医学图像分割项目,旨在高效地进行全心脏分割。该项目利用 Faster R-CNN 的精确定位能力和 U-net 的强大分割能力,设计了一个仅需一步检测和分割推理的管道,以实现速度和精度的卓越表现。此外,项目还采用了一种基于边缘信息的新损失函数 3D Edge_loss,以加速收敛并获得更好的分割结果。
2. 项目快速启动
环境准备
- Python 2.7+ 或 3.5+
- Pytorch 0.4.1
- numpy, skimage, scipy, imgaug
数据准备
项目主要基于 MM-WHS2017 Challenge 的数据集,但你也可以将其应用于自己的数据。如果你希望将方法应用于自己的数据集,请注意 CFUN 和 Mask-RCNN 之间的差异。在 CFUN 的管道中,地面真值边界框是整个心脏器官,而不是心脏的特定部分。
训练模型
首先,你需要准备一个包含所有训练和测试图像及其标签路径的 dataset.json 文件。然后,你可以使用以下命令开始训练模型:
$ python3 heart_main.py train --weights="none" --data="data_dir" --stage="beginning"
其中 data_dir 是你放置 dataset.json 文件的目录。
当第一阶段的训练损失趋于稳定后,你可以使用以下命令进行微调:
$ python3 heart_main.py train --weights="/logs/heart/weight_file" --data="data_dir" --stage="finetune"
测试模型
你可以通过以下命令测试模型的性能:
$ python3 heart_main.py test --weights="/logs/heart/weight_file" --data="data_dir" --stage="stage" --save=true --bbox=false --limit=20
其中 save=true 表示你希望将检测结果保存为 .nii.gz 格式,bbox=false 表示你不希望绘制预测的边界框。limit 参数表示你希望测试的图像数量。
3. 应用案例和最佳实践
应用案例
CFUN 项目在全心脏分割任务中表现出色,平均 Dice 分数达到 85.9%,并且生成一个分割结果仅需不到 15 秒。这使得它在医学图像分析领域具有广泛的应用前景,特别是在需要快速且准确分割心脏结构的场景中。
最佳实践
- 数据预处理:确保输入图像的质量和一致性,以提高模型的训练效果。
- 模型微调:根据具体任务的需求,对模型进行适当的微调,以获得最佳的分割结果。
- 结果评估:使用多种评估指标(如 Dice 分数、IoU 等)来全面评估模型的性能。
4. 典型生态项目
- MM-WHS2017 Challenge:该项目的数据集主要基于 MM-WHS2017 Challenge,这是一个专注于医学图像分割的国际竞赛。
- Pytorch-Mask-RCNN:CFUN 项目借鉴了 Pytorch-Mask-RCNN 的部分代码,这是一个基于 Pytorch 的 Mask R-CNN 实现。
- Pseudo-3D Residual Networks:该项目还参考了 Pseudo-3D Residual Networks 的设计思路,以提高模型的性能。
通过结合这些生态项目,CFUN 在医学图像分割领域取得了显著的成果,并为相关研究提供了有力的支持。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



