我面临一个基于图像相似性进行聚类的问题,且事先不知道聚类的数量。我希望能实现类似于这个http://cs231n.github.io/assets/cnnvis/tsne.jpeg (http://cs231n.github.io/understanding-cnn/ 这张图片是卷积神经网络的结果,展示了它所学习的组别)的效果。
因为我对它们的分类不感兴趣(我不知道类别),我主要关注它们的“视觉”属性:颜色、形状、渐变等。我找到了许多文章,建议使用像DBSCAN、t-SNE甚至k-means这样的算法,但有没有更好的解决方案呢?也有人建议使用HOG变换,但说实话,我不知道如何将这些拼接在一起。
总的来说,如何根据图像的颜色和形状属性 将图像分组(在二维平面上,分成组、文件夹或其他形式)?
回答:
t-SNE实际上非常适合你想要做的事情。
t-分布随机邻域嵌入(t-SNE)是一种(获奖的)降维技术,特别适合于高维数据集的可视化。
你可以在这里了解更多。
如往常一样,sklearn有一个非常用户友好的TSNE对象,可以快速尝试一下。
希望这对你有帮助…