具有额外“维度”的图像分类

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 上四处搜索,这对我有很大帮助

以上是关于具有额外“维度”的图像分类的主要内容,如果未能解决你的问题,请参考以下文章

TensorFlow中具有稀疏标签的多标签图像分类?

使用不同尺寸但相同数量的 HoG 特征的图像训练分类器

对图像进行主成分分析(PCV.tools.pca.pca)

为文本分类添加额外维度

对属于不同类别的具有非常相似特征的图像进行分类

机器学习——分类学习