簡體   English   中英

OpenCV單詞K均值聚類袋

[英]OpenCV Clustering Bag Of Words K-Means

SIFT DetectorExtractorFlannBased Matcher ,並為BOWKMeansTrainer設置Dictionary ,如下所示:

TermCriteria termCrit(CV_TERMCRIT_ITER, 100, 0.001);
int dictionarySize = 15; // -- Same as number of images given in
int retries = 1;
int flags = KMEANS_PP_CENTERS;

BOWKMeansTrainer trainBowTrainer(dictionarySize, termCrit, retries, flags);

群集提取的關鍵點的數組大小將為[128 x 15]

然后使用時BOWImgDescriptorExtractor作為Extractor上不同的一組15幅圖像,與先前提取的數組作為它的Vocabulary ,陣列出來的[15 x 15]

為什么?

關於這一切的實際運作方式,我找不到太多的地方,而只能放在哪里以及提供什么價值。

如果您有n張圖像且k=15 ,則結果應始終為[nx 15]

但是在第一輪中,您查看的是vocabular ,而不是第一張圖像的特征表示。 您看到的128是SIFT維度; 這是15個“典型” SIFT向量; 它們不是您圖像的描述。

需要閱讀BoW模型,以及為什么輸出結果應該是每個圖像的長度為k (可能稀疏,即具有許多0)的向量。 我給您的印象是您期望這種方法為每個圖像生成一個128維特征向量。 另外,k = 15可能太小; 並且訓練數據集也太小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM