语义分割中的数据集拆分

Posted

技术标签:

【中文标题】语义分割中的数据集拆分【英文标题】:Dataset spliting in semantic segmentation 【发布时间】:2020-08-19 02:38:57 【问题描述】:

我正在从事生物医学图像分割任务。我从医院得到的数据被分成了训练集、验证集、测试集。但我对分裂感到困惑。

数据由来自不同患者的图像组成,每个患者从 3D 图像中获取 2~3 个 2D 切片。对于一位患者,他或她的 2 ~ 3 个切片彼此相邻或接近,这意味着 这些切片只有非常小的差异,裸眼几乎看不到眼睛。这 2~3 个切片分为训练集、测试集和验证集。所以训练集、测试集和验证集的比例接近1:1:1。

但是,我发现医学图像数据集的拆分主要基于患者。三组是不同患者的切片,而不是像医院的方式那样将同一患者的切片分成三组。我举个例子吧。

示例

令 i_j 为第 i 个患者的第 j 个切片,i_j & i_j+1 为相邻切片。所有切片编号如下:

1_1 1_2 1_3 / 2_1 2_2 2_3 / 3_1 3_2 3_3 / 4_1 4_2 / 5_1 5_2

医院的方式可能发生分裂

训练: 1_1 2_1 3_1 4_1 5_1 Val: 1_2 2_2 3_2 4_2 测试: 1_3 2_3 3_3 5_2

可能以我的方式分裂

训练: 1_1 1_2 1_3 2_1 2_2 2_3 4_1 4_2 Val: 3_1 3_2 3_3 测试: 5_1 5_2

我认为第一种方式,训练集、验证集和测试集其实太相似了。这会使验证集和训练集的准确率更高,但模型的泛化能力会更差。 那么哪种拆分方法是正确的呢?还是两者都可以?

【问题讨论】:

【参考方案1】:

您的方式绝对是正确的方式。由于您指定的原因,医院的方法将导致大量过度拟合。

【讨论】:

以上是关于语义分割中的数据集拆分的主要内容,如果未能解决你的问题,请参考以下文章

DeepLabv3+图像语义分割实战:训练自己的数据集

图像语义分割 公开数据集 智能驾驶方向

图像语义分割 公开数据集 智能驾驶方向

Cityscapes数据集(智能驾驶场景的语义分割)

Cityscapes数据集(智能驾驶场景的语义分割)

语义分割semantic segmentation和数据集 动手学深度学习v2