【问题标题】:Create clusters on images using KMeans clustering使用 KMeans 聚类在图像上创建聚类
【发布时间】:2018-08-13 09:22:33
【问题描述】:

我有大约 50000 张图像,属于 9 个不同的类别。 (衬衫、T 恤、裤子等)

我正在创建一个程序,它将新图像准确地分类到其中一个类中。虽然这是一个标准的分类问题,但准确度并​​不好,因为有些类别差别不大。例如,一条牛仔裤看起来与正装裤很相似,除了颜色和质地可能不同。

我希望我可以使用无监督学习来解决这个问题。 但是我在将图像传递给 K 均值方法时收到此错误消息

ValueError: setting an array element with a sequence.

这是我的整体代码

data_path = '../DATASET/category/train/'
ls = []
dic = {}

for classes in sorted(os.listdir(data_path)):
    if classes.startswith('.'): continue
    for image in sorted(os.listdir(os.path.join(data_path,classes))):
        if image.startswith('.'): continue
        img = np.array(plt.imread(os.path.join(data_path,classes,image)))
        ls.append((classes, img))

cls = [i[0] for i in ls]
img = [i[1] for i in ls]

df = pd.DataFrame()

df['img'] = img
df['label'] = cls

X = np.array(df.drop(['label'], 1))

kmeans = KMeans(n_clusters=9) 
kmeans.fit(X)

我做错了什么。

提前致谢

【问题讨论】:

    标签: python unsupervised-learning


    【解决方案1】:

    我认为您必须从每个图像中提取特征,然后将其插入 KMeans。请在此处查看示例:https://www.kaggle.com/shinto/k-means-clustering

    【讨论】:

      猜你喜欢
      • 2013-03-24
      • 2011-10-24
      • 1970-01-01
      • 1970-01-01
      • 2019-03-31
      • 2013-11-18
      • 1970-01-01
      • 2016-05-11
      • 2019-11-20
      相关资源
      最近更新 更多