kcc*_*c__ 3 opencv feature-extraction computer-vision surf k-means
我在opencv中使用BOW来聚类可变大小的功能.但是有一件事从opencv的文档中不清楚,我也无法找到这个问题的原因:
假设:字典大小= 100.
我使用surf来计算特征,每个图像都有可变大小的描述符,例如:128 x 34,128 x 63等.现在在BOW中,每个都是聚类的,我得到一个固定的描述符大小为128 x 100的图像.我知道100是使用kmeans聚类创建的集群中心.
但我感到困惑的是,如果图像有128 x 63个描述符,那么它将如何聚类成100个聚类,这是不可能使用kmeans,除非我将描述符矩阵转换为1D.转换为1D会丢失单个关键点的有效128维信息吗?
我需要知道如何操纵描述符矩阵以从仅63个特征中获得100个cluter中心.
gun*_*yim 10
这样想吧.
总共有10个集群平均值,当前图像有6个特征.这些特征中的前3个最接近第5个平均值,其余3个最接近第7个,第8个和第9个平均值.那么你的功能就像[0, 0, 0, 0, 3, 0, 1, 1, 1, 0]是这个或它的标准化版本.这是10维,并且等于聚类均值的数量.因此,如果需要,您可以从63个特征创建100000维向量.
但我仍然觉得有问题,因为在你应用BOW之后,你的功能应该是1x100而不是128x100.您的群集意味着128x1,您将分配128x1大小的功能(第一个图像具有34 128x1功能,第二个图像具有63 128x1功能等).因此,基本上你将34或63个特征分配给100个均值,你的结果应该是1x100.
| 归档时间: |
|
| 查看次数: |
2017 次 |
| 最近记录: |