VLAD原理簡介

2021-08-22 07:25:10 字數 649 閱讀 7192

vlad即vector of locally aggregated descriptors,是一種影象的特徵表示方法,被廣泛應用在了影象檢索和影象分類領域。關於vlad的實現原理,其實就是構造vlad向量。在構造vlad向量之前,首先需要利用sift提取影象的特徵點。假設提取到的sift描述子數目為n,用x來表示的話,x就是乙個n*128的矩陣。構造vlad向量的過程利用了k-means的聚類結果,該過程即求解v = (x-c)在nn(x)= c下各維度的累加和。其中x為sift描述子,c為這些描述子做kmeans得到的聚類中心,nn(x)就是該描述子離所有聚類中心中最近的那個。如果影象類別有k個,那麼c有k個,而vlad向量的維數是128k。值得注意的一點是,vlad向量統計的是這些sift特徵點與對應的最近聚類中心的累積殘差,而bof統計的是落入各個聚類中心的特徵點的數目。

再補充一點,這個演算法在實現時一般採用kdtree進行最鄰近查詢。可參考:

vlad的效果通常好於bof和fv的原因:

fv是利用gmm對資料進行聚類,這種利用所有聚類中心的線性組合近似表示特徵點的方式會存在較大的誤差。

bof是利用最近鄰的聚類中心表示這個特徵點,也存在較大的誤差。

vlad可以看作這兩者的乙個折中,由於是累積誤差所以不存在資訊的損失。

vlad的**在有較為簡潔的闡述。

來自

VLAD演算法簡介

1.1 vlad基礎概念 vlad是vector of locally aggregated descriptors的簡稱,是由jegou et al.在2010年提出,其核心思想是aggregated 積聚 主要應用於影象檢索領域 1.2 相關方法優缺點 在深度學習時代之前,影象檢索領域以及分類主...

VLAD教程和資料 All about VLAD

正如標題所示,這裡將記錄vlad的一切。vlad本小子雖然也讀過幾篇這方面的 不過讀的時候一直理解的很粗糙。所以想藉此機會開個帖子,一方面驅動自己去加深對它的理解,另一方面把這些自己對它的理解記錄下來,方便自己查閱。在進行理論分析之前,先來看看vlad長個什麼樣子,這裡本小子分步展開vlad是怎麼得...

Oracle BAM原理簡介

oracle bam全稱為oracle busines activity monitoring,中文叫oracle 業務活動監視 bam有兩種功能 1.建立實時report 2.建立基於一定規則的alert bam最大的特點就是,它的功能都是實時的,任意的資料變化,他都能實時的反應到正在顯示的rep...