使用彩色和灰度图像的训练数据集

4

我正在尝试训练一个用于人脸性别和年龄检测的卷积神经网络模型。我的训练集包含彩色和灰度面部图像。我该如何对这个数据集进行标准化处理?或者说,我该如何处理一个包含彩色和灰度图像混合的数据集呢?


请提供额外的细节。图像有多大?有多少个训练样本?可以使用预训练的网络吗? - 00__00__00
2个回答

6
请记住,网络只会尝试学习标签(性别/年龄)与训练数据之间的关系,以它们呈现给网络的方式为准。
最优选择取决于您是否希望模型在未来处理灰度或彩色图像。
如果只想预测灰度图像
您应该仅对灰度图像进行训练!您可以使用许多方法将彩色图像转换为黑白图像:
- 三个RGB通道的简单平均值 - 使用圆柱形颜色空间(如HSV、HSL)的更复杂变换。在那里,您可以将其中一个通道用作灰度。通常,V通道比RGB的平均值更符合人类感知https://en.wikipedia.org/wiki/HSL_and_HSV 如果需要预测彩色图像
显然,从灰度图像中重构颜色没有简单的方法。因此,在训练期间必须同时使用彩色图像。
如果您的模型接受输入为MxNx3图像,则它也将接受灰度图像,只要您在三个RGB通道上复制信息即可。
你应该仔细评估你拥有的样例数量,并将其与所需训练集大小进行比较,以使用你想要的模型。 如果你有足够的彩色图像,则完全不使用灰度情况。 如果你没有足够的样例,请确保你对灰度/彩色情况进行了平衡的训练和测试集,否则你的网络将学习分别分类灰度与彩色。
或者,你可以考虑使用掩膜,并用掩膜值替换缺失的颜色通道。
进一步的替代方案你可以考虑: - 使用预先训练的CNN进行特征提取,例如VGGs在网上广泛可用,然后微调最后几层
对我来说,年龄和性别估计不会受到颜色存在/不存在的影响,降低问题到仅灰度图像可能会帮助你收敛,因为参数要少得多。 你应该考虑在姿态、方向等方面规范化你的图像。

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接