nnunet(十二)inference example Prostate

本文详细介绍了如何在Prostate数据集上利用预训练的nnU-Net模型进行医学图像分割,包括数据准备、模型下载、输入格式、预测流程以及不同U-Net配置的演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://github.com/MIC-DKFZ/nnUNet/blob/master/documentation/inference_example_Prostate.md

Example: inference with pretrained nnU-Net models

这是一个循序渐进的示例,说明如何使用预先训练好的nnU-Net模型在Medical segmentnation Decathlon的Prostate数据集上运行inference 。

  1. 参照此处安装nnunet,确保所有路径都是对的,这一步是nnunet需要知道 raw data, preprocessed data and trained models数据存放在哪。
  2. 下载 Prostate  dataset of the Medical Segmentation Decathlon数据集,并且解压缩到指定文件夹。
  3. 我们为这个例子选择了Prostate 数据集,因为我们有一个将测试数据转换为正确格式的实用程序脚本。Decathlon 数据采用4D niftis。这与nnU-Net不兼容,所以需要数据转换
    nnUNet_convert_decathlon_task -i /xxx/Task05_Prostate
    
    要注意Task05_Prostate文件夹中必须包含'imagesTr', 'labelsTr', 'imagesTs'三个子文件夹。 $nnUNet_raw_data_base/nnUNet_raw_data中存储转换后的数据, $nnUNet_raw_data_base是安装的时候指定的原始数据存放目录
  4. 使用以下命令下载预训练模型
    nnUNet_download_pretrained_model Task005_Prostate
    

     

  5. prostate 数据集需要两种图像形式作为输入。这很像liKE RGB图像有三个颜色通道。nnU-Net通过文件的结尾来识别形式:因此,prostate 数据集的单个测试数据由两个文件组成case_0000.nii.gz and case_0001.nii.gz,每个文件都是一个3D图像。以0000.nii.gz结尾的文件是T2 image和0001.nii.gz结尾的文件是 ADC image。当您使用预训练模型时,您可以使用:
    nnUNet_print_pretrained_model_info Task005_Prostate
    
    Prostate 的输出如下:
    Prostate Segmentation. 
     Segmentation targets are peripheral and central zone, 
     input modalities are 0: T2, 1: ADC. 
     Also see Medical Segmentation Decathlon, http://medicaldecathlon.com/
  6. 我们在3)中运行的脚本自动地为我们转换测试数据并将它们存储在$nnUNet_raw_data_base/nnUNet_raw_data/Task005_Prostate/imagesTs中,请注意,当使用非Medcial Segmentation Decathlon datasets时,需要自己进行这种转换。这样做很容易(如果只有一种模态,通常只需在文件名后面附加_0000即可),参照此处
  7. 您可以使用预训练模型预测Prostate 测试数据。我们在此处展示使用3D full resoltion U-Net的示例:
    nnUNet_predict -i $nnUNet_raw_data_base/nnUNet_raw_data/Task005_Prostate/imagesTs/ -o OUTPUT_DIRECTORY -t 5 -m 3d_fullres
    
    注意,-t 5指定id为5的任务(对应于Prostate 数据集)。您还可以给出完整的任务名称Task005_Prostate。OUTPUT_DIRECTORY是保存分割结果的地方。预测应该很快,几分钟就会预测完成。如果你想加速它(以稍低的分割质量为代价),你可以通过设置——disable_tta标志(8倍加速)禁用测试时间数据增强。如果这对您来说仍然太慢,您可以通过指定- f0来考虑只使用单个模型而不是集成。这将只使用交叉验证的fold 0训练过的模型来获得另一个5倍的加速。
  8. 如果你想使用不同U-Net配置的集合进行推断,你需要运行以下命令:

用3d full resolution U-Net进行预测(这个命令和上面的稍有不同)。

nnUNet_predict -i $nnUNet_raw_data_base/nnUNet_raw_data/Task005_Prostate/imagesTs/ -o OUTPUT_DIRECTORY_3D -t 5 --save_npz -m 3d_fullres

2D U-Net预测

nnUNet_predict -i $nnUNet_raw_data_base/nnUNet_raw_data/Task005_Prostate/imagesTs/ -o OUTPUT_DIRECTORY_2D -t 5 --save_npz -m 2d

--save_npz会告诉nnU-Net也存储用于合并的softmax概率。

然后你就可以把预测合并:

nnUNet_ensemble -f OUTPUT_DIRECTORY_3D OUTPUT_DIRECTORY_2D -o OUTPUT_FOLDER_ENSEMBLE -pp POSTPROCESSING_FILE

这将合并来自OUTPUT_DIRECTORY_2D和OUTPUT_DIRECTORY_3D的预测。-pp POSTPROCESSING_FILE(可选!)是一个提供nnU-Net关于如何后处理集成的信息的文件。这些文件也作为预训练模型权重的一部分下载,并位于RESULTS_FOLDER/nnUNet/ensembles/ Task005_Prostate/ensemble_2d__nnUNetTrainerV2__nnUNetPlansv2.1—3d_fullres__nnUNetTrainerV2__nnUNetPlansv2.1/ postprocess. json。作者将在未来的版本中(很快!)使后处理文件更容易访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值