带有彩色和灰度图像的训练数据集

AKS*_*HAN 4 normalization conv-neural-network

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

00_*_*_00 6

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

最佳选择取决于您是否希望模型在未来处理灰度或彩色图像。

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

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

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

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

如果您需要预测彩色图像

显然,从灰度图像重建颜色并不容易。然后,您还必须在训练期间使用彩色图像。

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

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

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

您可以考虑的进一步替代方案: - 使用预训练的 CNN 进行特征提取,例如在线大量可用的 VGG,然后微调最后一层

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