项目介绍:breast_cancer_classifier
项目背景
breast_cancer_classifier 是一个用于乳腺癌分类的模型实现,最初在论文《Deep Neural Networks Improve Radiologists' Performance in Breast Cancer Screening》中详细描述。该项目主要通过深度神经网络的预训练模型来提高放射科医师在乳腺癌筛查中的表现。
模型概述
项目提供两种不同输入的模型:
- 图像输入模型: 仅接受乳腺X光片图像作为输入。
- 图像和热图输入模型: 同时接受乳腺X光片图像和对应的热图作为输入。
每次筛查需要输入四张标准视图的X光片(左侧-CC,右侧-CC,左侧-MLO,右侧-MLO),项目内提供了测试用的样本数据和简单运行实例。
输入与输出规范
- 输入图片: 包括二维视图(CC视图和MLO视图)的乳腺X光片,图像的尺寸分别为2677x1942和2974x1748,存储为16位png格式。
- 输入热图: 是基于图像的贴片分类器的输出,与图像尺寸相同。
- 输出结果: 每只乳房提供良性与恶性改变的概率预测,包括
left_benign
、right_benign
、left_malignant
、right_malignant
。
环境准备
运行项目需要的主要软件环境包括:
- Python (3.6)
- PyTorch (0.4.1)
- 以及其他如NumPy, SciPy等常见的Python库。
项目运行
首先,用户可以通过简单的命令运行示例数据,使用示例脚本bash run.sh
。建议使用GPU以加快计算速度,但也支持在CPU上运行,只需设置DEVICE_TYPE
为cpu
。
此外,还可以针对单张图片进行预测,通过运行bash run_single.sh
命令,进一步支持对单个视图的分析,便于进一步的传递学习。
数据处理与预测管线
整个管线包括以下步骤:
- 裁剪乳腺X光片,去除背景。
- 计算每张图像的最佳中心。
- 生成热图。
- 运行分类模型。
模型使用的输入需要经过特定流程的预处理,例如逐一标准化的16位png格式。此外,模型为每次筛查提供预处理后的元数据,帮助生成详细预测报告。
数据格式与示例
项目中包含的任务数据是匈牙利与美国放射学会分享的乳腺影像,实际使用建议通过DICOM格式转换为PNG格式进行处理,保存为16位以保持像素精度。
预测输出结果展示在默认生成的CSV文件中,分别展示仅图像模型和图像加热图模型的结果。
结语
该项目在提升放射科医师乳腺癌诊断能力方面展示了研究价值,为临床应用提供了参考。同时,通过开源的方式和技术实现,工程师可以在不同环境中根据需要对模型进行调整和使用。注意事项是项目尚未在临床应用中测试,建议与最新的技术结果结合使用。