計算機視覺-圖像檢索隨記

基於內容的圖像檢索

電商上的應用:找類似,找同款。

CBIR2個重點

CNPR,用卷積神經網絡學習出來一個分桶的編號。預先把圖像作一些分桶或者說把他先丟到空間不一樣的區域,而後檢索時只是找其中某個區域的圖片。

圖像特徵HOG

圖像特徵SIFT

圖像特徵GIST

找同款可使用這種,不須要使用複雜的神經網絡

最近領問題(NN)

K最近領算法(NN=>KNN)

以未知點爲圓心畫圓,他所屬的類別取決於圓內類別最多的點。你得先計算他們之間的相近度,每一個圖片抽取出來的feature和其餘圖片feature的相近度。

距離準則

假設Alexnet FC的結果是4096*1 double型向量,那麼那他去比對 計算量會很是大,因此會將它映射到一個的數例如:128/64bit維的10101數字串。

漢明距離算法

近似最近領

海量數據的狀況用KNN是不行的。如今項目上通常使用的是一整套的ANN

局部敏感度哈希表

LSH(Lshash庫)

直觀的理解就是用超平面對空間作一個劃分,畫完後落在同一區域的一些點 他們獲得的01串應該是同樣的,而臨近的點他們之間可能有一個維度的值不一樣。

超平面的優化方式這麼木有講!!超平面的劃分不必定合理,因此這個算法是犧牲一部分準確度來提升速度。網絡

怎麼樣去權衡準確度和速度?增長超平面能夠提升準確度,可是會形成在Nbit的範圍內落下來的點很是的少。另外一種方式是隨機的使用另一組超平面作劃分(不一樣的hash)。學習

N值是經過經驗和上下調整的方式獲得的。優化

使用3個哈希獲得各自類似的結果,將他們組合起來。具體和誰最類似,能夠採用其餘算法好比:距離算法求得。

聚類的方式分桶很慢!!3d

其他近似最近領算法

k-Means Tree:先聚類大範圍,在聚類小範圍。查找時也是先找落在那個大範圍內,再往細的找。

ANN庫

FLANN實際中使用效果會好。

如何讓CBIR系統更快?

讓神經網絡分桶,檢索的時候也是讓神經網絡計算圖片會落在那個桶裏,而後將該桶裏的圖片返回回來。 cdn

訓練的時候使用的Alexnet 全鏈接層是4096維
相關文章
相關標籤/搜索