Logo

Kaggle PANDA前列腺癌分级评估竞赛冠军解决方案详解

Kaggle PANDA竞赛简介

PANDA(Prostate cANcer graDe Assessment)是Kaggle平台上的一项重要医学影像竞赛,旨在利用人工智能技术对前列腺癌组织病理切片进行自动分级。该竞赛吸引了来自全球的3,000多支队伍参与,对推动前列腺癌诊断技术的发展具有重要意义。

本文将详细介绍该竞赛的冠军解决方案,这一方案由Team PND的@yukkyo@kentaroy47共同开发。他们的模型和代码以CC-BY-NC 4.0许可开源,为整个医学AI社区提供了宝贵的参考。

环境配置

冠军团队提供了两种环境配置方式:

  1. 不使用Docker(未经测试):

    • Ubuntu 18.04
    • Python 3.7.2
    • CUDA 10.2
    • NVIDIA/apex == 1.0
  2. 使用Docker(推荐):

    # 构建
    $ sh docker/build.sh
    
    # 运行
    $ sh docker/run.sh
    
    # 执行
    $ sh docker/exec.sh
    

使用Docker可以确保环境的一致性,是复现结果的首选方式。

数据准备

数据准备是整个解决方案的基础,主要包括以下步骤:

  1. 获取数据:仅下载train_images和train_masks。

  2. 图像哈希分组:使用图像哈希技术检测重复图像并进行分组。输出文件为input/duplicate_imgids_imghash_thres_090.csv

  3. K折交叉验证划分:

    $ cd src
    $ python data_process/s00_make_k_fold.py
    

    输出文件为input/train-5kfold.csv

  4. 制作训练用的图像块:

    $ cd src
    $ python data_process/s07_simple_tile.py --mode 0
    $ python data_process/s07_simple_tile.py --mode 2
    $ python data_process/a00_save_tiles.py
    

这些步骤为后续的模型训练奠定了坚实的数据基础。

基础模型训练

基础模型的训练是为了去除数据中的噪声,这一步骤至关重要:

$ cd src
$ python train.py --config configs/final_1.yaml --kfold 1
$ python train.py --config configs/final_1.yaml --kfold 2
$ python train.py --config configs/final_1.yaml --kfold 3
$ python train.py --config configs/final_1.yaml --kfold 4
$ python train.py --config configs/final_1.yaml --kfold 5

每个fold大约需要18小时,输出将保存在output/model/final_1目录下。

模型训练流程

本地验证预测

训练完成后,需要对本地验证集进行预测,以便后续的去噪处理:

$ cd src
$ python kernel.py --kfold 1
$ python kernel.py --kfold 2
$ python kernel.py --kfold 3
$ python kernel.py --kfold 4
$ python kernel.py --kfold 5

每个fold大约需要1小时,预测结果将保存为output/model/final_1/local_preds~~~.csv

去除噪声

去噪是提高模型性能的关键步骤:

$ cd src
$ python data_process/s12_remove_noise_by_local_preds.py

这一步骤会生成多个重要的CSV文件:

  • local_preds_final_1_efficientnet-b1.csv: 用于清理标签的预测结果。
  • local_preds_final_1_efficientnet-b1_removed_noise_thresh_16.csv: 用于训练Model 1的基础标签清理结果。
  • local_preds_final_1_efficientnet-b1_removed_noise_thresh_rad_13_08_ka_15_10.csv: 用于训练Model 2的标签,移除了20%的Radboud标签。

重新训练去噪后的模型

在去除噪声后,需要重新训练模型以获得更好的性能:

  1. 训练Model 2(fam_taro模型):

    $ cd src
    $ python train.py --config configs/final_2.yaml --kfold 1
    $ python train.py --config configs/final_2.yaml --kfold 4
    $ python train.py --config configs/final_2.yaml --kfold 5
    
  2. 训练Model 1(arutema模型): 运行train_famdata-kfolds.ipynbtrain_famdata-kfolds.py

每个fold的训练时间约为4-15小时不等。最终的模型将保存在models目录中。

Kaggle提交

最后一步是在Kaggle Notebook上提交结果:

  1. 冠军方案最终提交:

    • 公共得分: 0.904
    • 私有得分: 0.940 (第1名)
    • 提交链接
  2. 可复现的结果(固定随机种子):

    • 公共得分: 0.894
    • 私有得分: 0.939 (第1名)
    • 提交链接
  3. 简单的5折模型(第3名):

总结与展望

Team PND的解决方案不仅在Kaggle竞赛中取得了优异成绩,还被多个知名学术期刊采用,包括:

这些成果充分证明了该解决方案在实际医学应用中的潜力。未来,我们可以期待这一技术在以下方面的进一步发展:

  1. 模型轻量化:优化模型结构,减少计算资源需求,使其更适合临床实时应用。

  2. 多模态融合:结合其他类型的医学影像数据(如MRI、CT等),提高诊断的准确性和全面性。

  3. 可解释性研究:深入探究模型的决策过程,提高医生对AI辅助诊断的信任度。

  4. 泛化能力提升:在更多样化的数据集上进行测试和优化,确保模型在不同医疗机构和人群中的适用性。

  5. 临床试验验证:与医疗机构合作,开展大规模临床试验,进一步验证模型在实际诊断中的效果。

总的来说,Kaggle PANDA竞赛的这个冠军解决方案不仅展示了AI在医学影像分析中的巨大潜力,也为未来的研究指明了方向。随着技术的不断进步和跨学科合作的深入,我们有理由相信,AI辅助诊断将在前列腺癌以及其他疾病的早期发现和精准治疗中发挥越来越重要的作用。

最新项目

Project Cover
豆包MarsCode
豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。
Project Cover
AI写歌
Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。
Project Cover
商汤小浣熊
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
Project Cover
有言AI
有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。
Project Cover
Kimi
Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。
Project Cover
吐司
探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。
Project Cover
SubCat字幕猫
SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。
Project Cover
AIWritePaper论文写作
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。
Project Cover
稿定AI
稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。
投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号