【问题标题】:Image classification with extra 'dimension'具有额外“维度”的图像分类
【发布时间】:2020-09-13 02:29:14
【问题描述】:

我正在基于 TensorFlow 和 Keras 中的 CNN 进行图像分类。我正在对表达情感(快乐、悲伤等)的面孔图像进行分类。这实际上工作得很好,但有些东西我不太明白。

对于每张图片,我还有图片上人物的年龄。我想将此信息(年龄)添加到 CNN。 所以现在 CNN 仅使用图像的像素,但我想让 CNN 将年龄考虑在内。这可能吗/这是什么方法?

我的第一个想法是为图像添加一个额外的维度,随着年龄,但后来我有点卡住了......因为年龄只是一个数字,当然图像中的每一层都是宽 x 高.我可以只添加一个由整个矩阵组成的层,其中每个像素的值都是年龄吗? 有谁知道这种事情通常是怎么做的……?

提前致谢

【问题讨论】:

  • 一些想法:a) 为图像添加一个通道,该通道包含在一个矩阵中,其中所有值都设置为等于人的年龄。 255 可能代表您考虑的最大年龄,例如100岁。请记住操作归一化和标准化,就像您在正常图像上所做的那样。 b) 在网络末端的全连接层中,将年龄连接为一个额外的特征。记得规范化和标准化。如果您输入一个值,例如78 到这里,事情可能会变得一团糟。
  • CNN 用于特征提取。如果您确定 CNN 可以同时提取特征和年龄,您可以使用具有多个输入和输出的functional APIkeras.io/guides/functional_api
  • 感谢您的帮助,我一定会检查的!

标签: python image tensorflow classification conv-neural-network


【解决方案1】:

我会将它添加到 CNN 输出中,即密集层之前的最后一个张量。

在分类中,CNN 被用作特征提取器。目标是,给定一张图像,找到应该传递给密集层的最佳特征向量。所以每个元素都代表你的神经网络的一些东西,一个特征

如果您想添加任何其他功能,请将其放在那里,让密集层完成工作。

【讨论】:

  • 非常感谢您的帮助。我根据您的信息在 Google 上四处搜索,这对我有很大帮助
猜你喜欢
  • 2019-06-18
  • 2023-03-07
  • 2020-09-01
  • 2021-02-16
  • 2021-02-13
  • 2011-03-07
  • 2020-04-14
  • 2019-01-17
  • 2021-07-20
相关资源
最近更新 更多