具有额外“维度”的图像分类
Posted
技术标签:
【中文标题】具有额外“维度”的图像分类【英文标题】: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 API
。 keras.io/guides/functional_api
感谢您的帮助,我一定会检查的!
【参考方案1】:
我会将它添加到 CNN 输出中,即密集层之前的最后一个张量。
在分类中,CNN 被用作特征提取器。目标是,给定一张图像,找到应该传递给密集层的最佳特征向量。所以每个元素都代表你的神经网络的一些东西,一个特征。
如果您想添加任何其他功能,请将其放在那里,让密集层完成工作。
【讨论】:
非常感谢您的帮助。我根据您的信息在 Google 上四处搜索,这对我有很大帮助以上是关于具有额外“维度”的图像分类的主要内容,如果未能解决你的问题,请参考以下文章