【发布时间】:2020-09-13 02:29:14
【问题描述】:
我正在基于 TensorFlow 和 Keras 中的 CNN 进行图像分类。我正在对表达情感(快乐、悲伤等)的面孔图像进行分类。这实际上工作得很好,但有些东西我不太明白。
对于每张图片,我还有图片上人物的年龄。我想将此信息(年龄)添加到 CNN。 所以现在 CNN 仅使用图像的像素,但我想让 CNN 将年龄考虑在内。这可能吗/这是什么方法?
我的第一个想法是为图像添加一个额外的维度,随着年龄,但后来我有点卡住了......因为年龄只是一个数字,当然图像中的每一层都是宽 x 高.我可以只添加一个由整个矩阵组成的层,其中每个像素的值都是年龄吗? 有谁知道这种事情通常是怎么做的……?
提前致谢
【问题讨论】:
-
一些想法:a) 为图像添加一个通道,该通道包含在一个矩阵中,其中所有值都设置为等于人的年龄。 255 可能代表您考虑的最大年龄,例如100岁。请记住操作归一化和标准化,就像您在正常图像上所做的那样。 b) 在网络末端的全连接层中,将年龄连接为一个额外的特征。记得规范化和标准化。如果您输入一个值,例如78 到这里,事情可能会变得一团糟。
-
CNN 用于特征提取。如果您确定 CNN 可以同时提取特征和年龄,您可以使用具有多个输入和输出的
functional API。 keras.io/guides/functional_api -
感谢您的帮助,我一定会检查的!
标签: python image tensorflow classification conv-neural-network