如何使用深度学习算法对未标记数据集中的图像*样式*进行聚类?

数据挖掘 深度学习 美国有线电视新闻网 图像分类 无监督学习
2022-02-23 09:36:27

我有一个难题,我很想听听人们的想法。我有一组图像,描绘了各种各样的现象,但只有几种风格这些图像已经按现象标记,但没有按风格标记。图像样式之间的区别主要基于用于生成图像的技术。我们想使用聚类算法来分离不同的风格。

对于一个类似的问题,假设您有一个非常大的绘画数据集,但有多种不同的主题和几种风格。进一步想象,您不关心绘画的主题是什么,只关心它的风格特征(例如水彩VS油画VS丙烯酸,写实VS写实VS印象派VS表现主义)。在不使用任何标签的情况下,您如何尝试“告诉”深度学习算法以强调这些风格特征而不是绘画的主题

2个回答

您可以使用预训练模型,提取特征,并尝试根据这些特征对图像进行聚类。成功将取决于您想要区分的“风格”(以及派生特征是否代表不同的风格)。我有一个类似的问题,并使用KeransVGG16特性来使用KNN. 在Github上找到我的 Python 代码

如果您使用预训练模型,它通常会针对对象检测/分类进行训练,因此它提取的特征经过精确优化以独立于样式。它应该检测水彩和油漆中的汽车。所以我认为这不太可能奏效。

您需要一个模型,将您的图像转换为具有相同风格的非常不同的图像靠近在一起的表示。然后你可以运行像 K-means 这样的聚类算法来找到质心,这是你的风格刻板印象。

要获得该模型,如果没有某种监督(手动标记),我看不出你怎么做。因此,您可以标记尽可能多的图像,并将其视为多类分类问题,使用部分生成表示的网络(使用卷积层)和一些用于分类的全连接层。然后删除分类层,并在表示上运行 k-means。