我正在尝试使用普通贝叶斯分类器使用 sift 进行对象分类。当我为每个可变大小的图像计算描述符时,我得到不同大小的特征向量。例如:
Feature Size: [128 x 39]
Feature Size: [128 x 54]
Feature Size: [128 x 69]
Feature Size: [128 x 64]
Feature Size: [128 x 14]
至于开发,我使用了 20 个训练图像,因此我有 20 个标签。我的分类只有 3 个类别,包括车、书和球。所以我的标签向量大小是 [1 x 20]
据我了解,要执行机器学习,特征向量大小和标签向量大小应该相同,因此我应该将训练数据的向量大小设为 [__ x 20],标签为 [1 x 20]。
但我的问题是 sift 有 128 维的特征空间,因此每个图像都有不同的特征大小,如上图所示。如何在不丢失功能的情况下将所有内容转换为相同大小?或者也许我做错了,所以请帮我解决这个问题?
PS:实际上我已经使用 BOW 模型完成了它并且它有效但只是为了我的学习目的我试图在这件事上这样做只是为了学习出于兴趣所以欢迎任何提示和建议。谢谢