gpt4 book ai didi

image-processing - 大规模图像分类器

转载 作者:行者123 更新时间:2023-11-30 08:23:54 25 4
gpt4 key购买 nike

我有一大组标有植物名称的植物图像。为了对未标记的照片进行分类,用于训练该数据集的最佳算法是什么?对照片进行处理,使 100% 的像素包含植物(例如叶子或树皮的特写),因此算法不需要过滤掉其他对象/空白空间/背景。

我已经尝试生成 SIFT所有照片的特征并将这些(特征,标签)对提供给 LibLinear SVM,但准确率只有可怜的 6%。

我还尝试将相同的数据提供给一些 Weka分类器。准确性稍好一些(Logistic 为 25%,IBk 为 18%),但 Weka 的设计并不是为了可扩展性(它将所有内容加载到内存中)。由于 SIFT 特征数据集有几百万行,我只能用随机的 3% 切片来测试 Weka,所以它可能不具有代表性。

编辑:一些示例图像:

Pachira aquatica Fagus grandifolia

最佳答案

通常,您不会直接训练 SIFT 特征。对它们进行聚类(使用 k 均值),然后训练聚类成员标识符的直方图(即 k 维向量,在位置 i 处计算分配给 i 的特征数量>第 i 个簇)。

通过这种方式,您可以获得每个图像的单个输出(以及单个 k 维特征向量)。

这是准代码(在 Pythonn 中使用 mahotasmilk):

from mahotas.surf import surf
from milk.unsupervised.kmeans import kmeans,assign_centroids
import milk

# First load your data:
images = ...
labels = ...

local_features = [surfs(im, 6, 4, 2) for im in imgs]
allfeatures = np.concatenate(local_features)
_, centroids = kmeans(allfeatures, k=100)
histograms = []
for ls in local_features:
hist = assign_centroids(ls, centroids, histogram=True)
histograms.append(hist)

cmatrix, _ = milk.nfoldcrossvalidation(histograms, labels)
print "Accuracy:", (100*cmatrix.trace())/cmatrix.sum()

关于image-processing - 大规模图像分类器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5703013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com