【问题标题】:Understanding input shape (spatial_window_size) for Niftynet了解 Niftynet 的输入形状 (spatial_window_size)
【发布时间】:2018-08-29 09:28:02
【问题描述】:

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

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

【问题讨论】:

    标签: image-segmentation medical niftynet


    【解决方案1】:

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

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

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

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

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-01-12
      • 2020-08-21
      • 2020-10-03
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多