3

我正在使用 Niftynet 进行医学图像分割。我在这里https://nbviewer.jupyter.org/gist/fepegar/1fb865494cb44ac043c3189ec415d411看到了关于 spatial_window_shape 参数约束的精彩教程。

但我想知道如何在可能的形状之间进行选择?它们背后的逻辑是什么?何时选择更大或更小的 spatial_window_shape 尺寸?为图像、标签和推理设置此参数有什么重要意义?为什么标签和图像的尺寸不同?我也对边框参数如何影响这个选择感兴趣。

4

1 回答 1

2

spatial window_size参数定义了在数据增强期间您希望从输入图像中获得的裁剪大小。

为图像、标签和推理设置此参数有什么重要意义?

[TRAINING]这个参数在, 和部分应该是相同的,[INFERENCE]因为管道使用 将spatial_window_size补丁聚合成原始分辨率。选择初始窗口大小取决于 CNN 架构的兼容形状、输入形状的维度(2D 切片与体素)以及内存限制(太大且可能不适合您的 GPU 内存)。

何时选择更大或更小的 spatial_window_size 形状?

一般来说,更大的补丁大小是可取的(据观察它们会产生更好的性能),我建议你参考这个答案来了解基本原理。但是,这取决于您的特定数据集,因此我建议您尝试不同的补丁大小。

但是,您也可以使用一种称为Building Up Sizes的技术(请参阅技巧 #9),您可以使用较小的 开始训练spatial_window_size,然后增加大小,并再次训练相同的模型以减少过度拟合并提高整体性能。请注意,这仅在您使用完全卷积 CNN 或具有某种形式的空间金字塔池化的 CNN 时才有效(其中输入图像大小无关紧要)。

为什么标签和图像的尺寸不同?

这个问题需要进一步澄清(即配置,原始图像分辨率),但不幸的是,我没有足够的声誉来发表评论。

节中的border参数从节中的参数中[INFERENCE]删除填充。根据配置文档,边界应至少为,其中表示原始体素/切片大小的元素之一,并表示输出的网络体素/切片大小()的元素之一。对于 2D 窗口大小(即 96 X 96 X 1),可以是 (96,96,0),其中最后一个元素必须为 0。因此,边框参数依赖于窗口大小,不会影响我们如何选择它。相反,我们根据我们希望网络关注外部像素而不是中心像素的程度来选择边界参数。volume_padding_size[TRAINING]floor(N-D)/2NDspatial_window_sizeborder

于 2018-09-01T04:19:51.083 回答