【问题标题】:Training dataset with coloured and grayscale images带有彩色和灰度图像的训练数据集
【发布时间】:2018-01-22 20:35:03
【问题描述】:

我正在尝试训练一个用于面部性别和年龄检测的 cnn 模型。我的训练集包含彩色和灰度的面部图像。如何规范化这个数据集?或者如何处理混合了灰度和彩色图像的数据集?

【问题讨论】:

  • 请提供更多详细信息。图片有多大?多少个训练样例?你能使用预训练的网络吗

标签: normalization conv-neural-network


【解决方案1】:

请记住,网络只会尝试了解您的标签(性别/年龄)与您的训练数据之间的关系,以它们呈现给网络的方式。

最佳选择取决于您希望模型在未来适用于灰度图像还是彩色图像。

如果只想在灰度图像上进行预测

你应该只训练灰度图像! 您可以使用多种方法将彩色图像转换为黑白:

  • 3 个 RGB 通道的简单平均值

  • 使用圆柱颜色空间作为 HSV、HSL 的更复杂的变换。在那里,您可以在灰色时使用其中一个频道。通常情况下,V 通道比 RGB 的平均值更符合人类感知 https://en.wikipedia.org/wiki/HSL_and_HSV

如果需要预测彩色图像

显然,从灰度图像中重建颜色并不容易。那么你在训练期间也必须使用彩色图像。

如果您的模型在输入中接受 MxNx3 图像,那么它也将接受灰度图像,因为您复制了 3 个 RGB 通道上的信息。

您应该仔细评估您拥有的示例数量,并将其与您要使用的模型所需的通常训练集大小进行比较。 如果您有足够的彩色图像,则根本不要使用灰度案例。 如果您没有足够的示例,请确保您有平衡的灰色/彩色案例的训练和测试集,否则您的网络将学会分别对灰度和彩色进行分类。

或者,您可以考虑使用遮罩,并用遮罩值替换缺失的颜色通道。

您可以考虑的其他选择: - 使用预训练的 CNN 进行特征提取,例如VGG 大部分可在线获得,然后微调最后一层

在我看来,年龄和性别估计不会受到颜色存在/不存在的很大影响,并且可能将问题减少到灰度图像只会帮助您收敛,因为参数会更少来估计。 您可能应该考虑在姿势、方向等方面对图像进行归一化......

【讨论】:

    【解决方案2】:

    要训练网络,您必须确保所有训练图像的大小相同,因此将所有图像转换为灰度。要标准化,您可以从每个图像中减去训练集的平均值。对验证和测试图像执行相同的操作。 有关详细过程,请参阅以下文章: https://becominghuman.ai/image-data-pre-processing-for-neural-networks-498289068258

    【讨论】:

      猜你喜欢
      • 2021-10-06
      • 2020-03-21
      • 2021-07-08
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 2011-12-28
      相关资源
      最近更新 更多