一、介紹
Bag-of-words model (BoW model) 最早出現在神經語言程序學(NLP)和信息檢索(IR)領域. 該模型忽略掉文本的語法和語序, 用一組無序的單詞(words)來表達一段文字或一個文檔. 近年來, BoW模型被廣泛應用於計算機視覺中. 與應用於文本的BoW類比, 圖像的特征(feature)被當作單詞(Word),把圖像“文字化”之后,有助於大規模的圖像檢索.也有人把簡寫為Bag-of-Feature model(BOF model)或Bag-of-Visual-Word(BOVW model).
二、基本思想
1、提取特征:根據數據集選取特征,然后進行描述,形成特征數據,如檢測圖像中的sift keypoints,然后計算keypoints descriptors,生成128-D的特征向量;
2、學習詞袋:利用處理好的特征數據全部合並,再用聚類的方法把特征詞分為若干類,此若干類的數目由自己設定,每一個類相當於一個視覺詞;
3、利用視覺詞袋量化圖像特征:每一張圖像由很多視覺詞匯組成,我們利用統計的詞頻直方圖,可以表示圖像屬於哪一類。
三、關鍵步驟
1、特征描述(關鍵點提取)
在提取特征的時候,根據數據集選擇特征,一般最流行的特征是sift、surf特征
- SIFT特征
將一幅圖像映射為一個局部特征向量集;特征向量具有平移、縮放、旋轉不變性,同時對光照變化、仿射能讓投影變換也有一定的不變性。
sift算法的特點:
1) SIFT特征是圖像的局部特征,其對旋轉、尺度縮放、亮度變化保持不變性,對視角變化、仿射變換、噪聲也保持一定程度的穩定性;
2) 獨特性(Distinctiveness)好,信息量豐富,適用於在海量特征數據庫中進行快速、准確的匹配;
3) 多量性,即使少數的幾個物體也可以產生大量的SIFT特征向量;
4) 高速性,經優化的SIFT匹配算法甚至可以達到實時的要求;
5) 可擴展性,可以很方便的與其他形式的特征向量進行聯合。
Lowe關於sift的經典論文:http://www.cs.ubc.ca/~lowe/papers/iccv99.pdf
代碼展示:
- HOG特征
2、聚類算法
- K-means
1)計算每個聚類確定一個初始聚類中心,這樣就可以有k個初始聚類中心
2)將樣本集中的樣本按照最小距離原則分配到最近鄰聚類
3)使用每個聚類中的樣本均值做為新的聚類中心直到聚類中心不再變化
四、
經典論文:Object retrieval with large vocabularies and fast spatial matching