Bag of Word
生活随笔
收集整理的這篇文章主要介紹了
Bag of Word
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Bag of Word, 顧名思義,即將某些Word打包,就像我們經常會把類似的物品裝到一個柜子,或者即使是隨意打包一些物品,也是為了我們能夠方便的攜帶,在對大數據作處理的時候,為了能夠方便的攜帶這些數據中的信息,與其一個一個的處理,還不如打包來的容易一點。
??????Bag of Word?因其理論簡單,易懂,在vision界也得到了廣泛的應用,有人將Bag of Word改成Bag of Visual Word來提出,充其量只是炒炒概念罷了,其基本的思想還是BOW(Bag of Word)。
??????Anyway, 簡單談一些關于Bag of Word的東西:
??????Bag of word實現步驟:
??????step 1:?大數據聚類,找到適當的聚類中心點----Vocabulary。
??????step 2:?訓練數據像聚類中心映射,得到每一個訓練數據在該聚類中心空間的一個低維表示。
??????step 3:?得到每一個訓練數據的低維表示后,選擇適當的分類器訓練。
??????step 4:?對新來的樣本先映射到聚類中心空間,然后利用得到的分類器進行預測。
?????在視覺領域,很希望能夠利用已知的目標或者圖像去得到相關的信息,這在機器人......等領域有著很廣泛的應用,所以利用視覺領域中圖像檢索這一塊解釋一些基本問題。 ????? ??????Vocabulary建立(數據聚類): ??????以SIFT 128維特征作為例子。例如現在有1000張訓練圖片,對每一張訓練圖片都提取SIFT的128維特征,那么最終可以得到 N(i) * 128的特征,N(i)代表第幾張圖特征點的個數,因為圖片并非完全相同,所以特征點的個數當然是不一樣的。接下來就是建立詞典的過程,利用現在常用的一些聚類算法,kmeans就OK,選擇聚類中心點的個數,1000個也好, 10000個也罷,聚類完成后,得到的就是一個1000(10000) * 128聚類中心點的空間,稱之為詞典。 ??????這個詞典就好比一個容器,通俗一點就是一個直方圖的基,利用這個基去統計這些訓練樣本的個信息。
??????訓練樣本的映射: ??????此時已經得到了一個直方圖的基,如下圖:
圖1: 圖中,n表示聚類中心點的個數,用BOW中的文字表示即使字典的個數。 ??????這些直方圖的基在像是在空間的一些三維空間的基向量i, j, k, 利用這些基向量去構造別的向量,只需要知道特定的系數就行。所以接下來的步驟就是將原始的圖像特征(SIFT 128維)向這些基向量作映射,得到相關的系數,如圖: 圖2:上圖中給出了兩個類別的直方圖 ??????通過相關的映射,得到不同類別的一個類別的直方圖的統計,這樣整個BOW特征提取過程就算是完全實現了。接下來如何進行匹配,就是選擇分類器的問題了。
??????分類器的選擇: ??????其實BOW之所以有bag的意思也是將相似的特征進行打包,得到統計的一個范圍,這個范圍就是直方圖的某一個bin。在進行圖像檢索的時候,接下來就是進行分類器的訓練與識別了,例如樸素貝葉斯分類器,支持向量機之類。一般利用BOW的時候,大多數人還是選擇支持向量機這玩意,有實驗證明BOW結合SVM效果要好于其他的分類器。不過,我沒做過對比實驗,這里也算提一下。
??????新來樣本的識別: ??????在訓練好分類器后,對于新來的樣本,同樣先提取SIFT特征,然后將SIFT特征映射到上面圖1中的詞典中去,然后得到的直方圖就可以通過分類器進行分類了。如: 圖3 新圖片的BOW直方圖特征
??????上圖是一張新圖映射到詞典時得到的直方圖,可以看出,這張圖片相對于圖2的情況而言,更接近類別1,所以通過分類器,理想的裝填應該是判斷為1。 但是我們都知道,理想狀態的出現可能性太小,所以BOW難免會有出錯的時候,通過閱讀幾篇論文,發現現在BOW的識別率大概在60%-80%之間,當然了一方面是數據量巨大的問題,另外一方面也是因為圖像之間的相似度高。所以整體來講,BOW的識別率還是再可以接受的范圍 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
?????在視覺領域,很希望能夠利用已知的目標或者圖像去得到相關的信息,這在機器人......等領域有著很廣泛的應用,所以利用視覺領域中圖像檢索這一塊解釋一些基本問題。 ????? ??????Vocabulary建立(數據聚類): ??????以SIFT 128維特征作為例子。例如現在有1000張訓練圖片,對每一張訓練圖片都提取SIFT的128維特征,那么最終可以得到 N(i) * 128的特征,N(i)代表第幾張圖特征點的個數,因為圖片并非完全相同,所以特征點的個數當然是不一樣的。接下來就是建立詞典的過程,利用現在常用的一些聚類算法,kmeans就OK,選擇聚類中心點的個數,1000個也好, 10000個也罷,聚類完成后,得到的就是一個1000(10000) * 128聚類中心點的空間,稱之為詞典。 ??????這個詞典就好比一個容器,通俗一點就是一個直方圖的基,利用這個基去統計這些訓練樣本的個信息。
??????訓練樣本的映射: ??????此時已經得到了一個直方圖的基,如下圖:
圖1: 圖中,n表示聚類中心點的個數,用BOW中的文字表示即使字典的個數。 ??????這些直方圖的基在像是在空間的一些三維空間的基向量i, j, k, 利用這些基向量去構造別的向量,只需要知道特定的系數就行。所以接下來的步驟就是將原始的圖像特征(SIFT 128維)向這些基向量作映射,得到相關的系數,如圖: 圖2:上圖中給出了兩個類別的直方圖 ??????通過相關的映射,得到不同類別的一個類別的直方圖的統計,這樣整個BOW特征提取過程就算是完全實現了。接下來如何進行匹配,就是選擇分類器的問題了。
??????分類器的選擇: ??????其實BOW之所以有bag的意思也是將相似的特征進行打包,得到統計的一個范圍,這個范圍就是直方圖的某一個bin。在進行圖像檢索的時候,接下來就是進行分類器的訓練與識別了,例如樸素貝葉斯分類器,支持向量機之類。一般利用BOW的時候,大多數人還是選擇支持向量機這玩意,有實驗證明BOW結合SVM效果要好于其他的分類器。不過,我沒做過對比實驗,這里也算提一下。
??????新來樣本的識別: ??????在訓練好分類器后,對于新來的樣本,同樣先提取SIFT特征,然后將SIFT特征映射到上面圖1中的詞典中去,然后得到的直方圖就可以通過分類器進行分類了。如: 圖3 新圖片的BOW直方圖特征
??????上圖是一張新圖映射到詞典時得到的直方圖,可以看出,這張圖片相對于圖2的情況而言,更接近類別1,所以通過分類器,理想的裝填應該是判斷為1。 但是我們都知道,理想狀態的出現可能性太小,所以BOW難免會有出錯的時候,通過閱讀幾篇論文,發現現在BOW的識別率大概在60%-80%之間,當然了一方面是數據量巨大的問題,另外一方面也是因為圖像之間的相似度高。所以整體來講,BOW的識別率還是再可以接受的范圍 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的Bag of Word的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三线性插值
- 下一篇: Bag-of-words model