使用无监督机器学习聚类图像

sin*_*ium 6 python cluster-analysis computer-vision k-means unsupervised-learning

我有一个包含身份证、账单和护照的图像数据库。
我想将这些图像分为不同的组(即身份证、账单和护照)。
正如我所读到的那样,完成这项任务的方法之一是聚类(因为它将是无人监督的)。
我的想法是这样的:聚类将基于图像之间的相似性(即具有相似特征的图像将被分组在一起)。
我也知道这个过程可以通过使用 k-means 来完成。
所以我的问题是关于特征和使用 K-means 的图像。
如果有人以前做过这件事,或者对此有所了解,请您推荐一些链接以开始或建议任何有用的功能。

Dee*_*ini 6

获得良好结果的最简单方法是将问题分解为两部分:

  1. 从图像中获取特征:使用原始像素作为特征会给你带来很差的结果。通过预先训练的 CNN 传递图像(您可以在线获取其中几个)。然后使用最后一个 CNN 层(就在完全连接之前)作为图像特征。
  2. 特征聚类:获得每个图像的丰富特征后,您可以对这些特征进行聚类(如 K 均值)。

我建议分别在 Keras 和 Sklearn 中实现(使用已经实现的)1、2。


Ano*_*sse 4

标记一些示例并使用分类。

聚类很可能为您提供聚类“带有蓝色色调的图像”、“灰度扫描”和“暖色温”。这是对此类图像进行聚类的合理方法。

此外,k 均值对异常值非常敏感。你可能有一些在那里。

由于您希望您的集群对应于某些人类概念,因此您需要使用分类。