特殊图像的色彩特征工程:非自然图像的颜色编码
并非所有彩色的图像都应该是彩色的,或者换句话说并非所有使用 RGB(红、绿、蓝)编码的图像都应该使用这些颜色! 在本文中,我们将探讨特征工程的不同方式(将原始颜色值进行展开)如何有助于提高卷积神经网络的分类性能。
有多种方法可以更改和调整 RGB 图像的颜色编码(例如,将 RGB 转换为 HSV、LAB 或 XYZ 值;scikit-image 提供了许多很棒的例程来执行此操作) - 但是本文不是关于此的,而更多的是思考数据试图捕获什么以及如何利用它。
数据集
为了更好地突出本文的目的,让我们看一下以下三个数据集(每张图像显示该数据集中的 100 张单独图像):
这三个数据集是 MedMNIST 数据集的一部分——图像取自相应的论文。
这些数据集的共同点是,来自给定数据集的单个图像都有其特定的颜色范围。 虽然粉红色或红色色调存在波动,但对于这些图像中的大多数,图像之间的对比度差异比实际 RGB 颜色值所代表的差异更为重要。
这为我们提供了一个独特的特征工程机会。 我们可以不使用原始的RGB颜色值,而是研究数据集对特定颜色空间的适应度是否有助于并改进我们最终结果指标。
为了研究这个主题,我们使用MedMNIST的增强血细胞数据集(见原论文)。这个数据集包含了大约17000张来自10种不同血细胞类型的图像。让我们来看看这个数据集中的一些图片!
图像取自原始论文,并描述符合数据集的十种血细胞类型。
我们可以看到以下内容: 背景颜色以及主要目标对象颜色在大多数情况下是相同的(但并非总是如此)! 为了更好地理解为什么这能够为我们提供了颜色值特征工程的机会,让我们先看看这些图像占据的 RGB 颜色空间。
这是原始数据集相同 RGB 颜色空间上的三个不同视图。 这个数据集只覆盖了整个立方体的一小部分,即所有 16'777'216 个可能的颜色值。 这为我们现在提供了三个独特的机会:
- 我们可以通过将 RGB 颜色转换为灰度图像来降低图像复杂性。
- 我们可以重新对齐和拉伸颜色值,以便 RGB 值更好地填充 RGB 颜色空间。
- 我们可以重新调整颜色值的方向,使三个立方体轴延伸到最大方差的方向。 这最好通过 PCA 方法完成。
其实还有多种其他方式来操作颜色值,但对于本文我们将使用上面提到的三种方式。
完整文章