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 。
- 参照此处安装nnunet,确保所有路径都是对的,这一步是nnunet需要知道 raw data, preprocessed data and trained models数据存放在哪。
- 下载 Prostate dataset of the Medical Segmentation Decathlon数据集,并且解压缩到指定文件夹。
- 我们为这个例子选择了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是安装的时候指定的原始数据存放目录 - 使用以下命令下载预训练模型
nnUNet_download_pretrained_model Task005_Prostate
- prostate 数据集需要两种图像形式作为输入。这很像liKE RGB图像有三个颜色通道。nnU-Net通过文件的结尾来识别形式:因此,prostate 数据集的单个测试数据由两个文件组成
case_0000.nii.gz
andcase_0001.nii.gz,
每个文件都是一个3D图像。以0000.nii.gz结尾的文件是T2 image和0001.nii.gz结尾的文件是 ADC image。当您使用预训练模型时,您可以使用:
Prostate 的输出如下:nnUNet_print_pretrained_model_info Task005_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/
- 我们在3)中运行的脚本自动地为我们转换测试数据并将它们存储在$nnUNet_raw_data_base/nnUNet_raw_data/Task005_Prostate/imagesTs中,请注意,当使用非Medcial Segmentation Decathlon datasets时,需要自己进行这种转换。这样做很容易(如果只有一种模态,通常只需在文件名后面附加_0000即可),参照此处。
- 您可以使用预训练模型预测Prostate 测试数据。我们在此处展示使用3D full resoltion U-Net的示例:
注意,-t 5指定id为5的任务(对应于Prostate 数据集)。您还可以给出完整的任务名称Task005_Prostate。OUTPUT_DIRECTORY是保存分割结果的地方。预测应该很快,几分钟就会预测完成。如果你想加速它(以稍低的分割质量为代价),你可以通过设置——disable_tta标志(8倍加速)禁用测试时间数据增强。如果这对您来说仍然太慢,您可以通过指定- f0来考虑只使用单个模型而不是集成。这将只使用交叉验证的fold 0训练过的模型来获得另一个5倍的加速。nnUNet_predict -i $nnUNet_raw_data_base/nnUNet_raw_data/Task005_Prostate/imagesTs/ -o OUTPUT_DIRECTORY -t 5 -m 3d_fullres
-
如果你想使用不同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。作者将在未来的版本中(很快!)使后处理文件更容易访问