【问题标题】:How to approach variable image sizes for Image Classification?如何为图像分类处理可变图像大小?
【发布时间】:2019-06-20 14:54:03
【问题描述】:

我正在研究脑肿瘤的分类。该数据集由不同角度的脑图像组成,带有肿瘤位置的边界和掩码。我裁剪了包含肿瘤的矩形,因为图像的其他部分无关紧要,并且由于拍摄图像的角度不同而有所不同。现在我得到了一系列肿瘤图像,每一个都属于 3 个可能的肿瘤病例中的 1 个。但是为了训练这些数据进行分类,我需要让二维图像阵列具有统一的形状。

可能的方法:

1) 将每张图片裁剪为固定尺寸(例如 100x100)。但这会导致数据丢失,并且根据图像中肿瘤的位置,我可能会因为到达图像边缘而面临不均匀的作物。

2) 将图像填充为固定形状,大于最大的裁剪图像形状(例如 350x350)。但这又会在我想的数据中引入噪声,我不确定如何在矩形的所有 4 个边上均匀填充图像。

由于这些似乎不可行,我正在寻找其他解决方案来解决这个问题。

【问题讨论】:

  • 更大的分辨率会更好,但是你有多少张图片,裁剪前后的分辨率是多少?如果您有数千张图像,则较大的分辨率将需要大量 GPU 进行标准化,并且训练可能会很慢。
  • @Suleiman 我有 3064 张图片。裁剪后的肿瘤图像的形状从 (15, 15) 到 (350, 300) 不等
  • 15x15 的尺寸很小,无法提取有用的特征,您使用什么机器学习算法进行分类?
  • @Suleiman 很少有图像实际上会那么小。平均形状为 (75, 75)。我将尝试各种分类算法,并提出一项性能最佳的研究。所以我将从 SVM、决策树和 CNN 开始。
  • 好的,在这种情况下,我想 100x100 可能是一个不错的开始尺寸,然后如果可能的话,尝试使用更大和更小的尺寸,看看性能是否有所提高。

标签: python image-processing machine-learning classification multiclass-classification


【解决方案1】:

常用的方法是在每张图像上裁剪肿瘤。您将获得不同的肿瘤图像大小。然后将肿瘤图像重新缩放到最小的图像。根据您将用于分类的算法,明智地选择重新缩放的重采样技术。最快的是最近邻域重采样,更平滑的是线性插值,最终的可以是样条插值。

【讨论】:

  • 是的,这似乎是最好的方法,我可能会缩放到平均形状。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-30
  • 1970-01-01
  • 1970-01-01
  • 2013-01-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多