論文閱讀筆記《Revisiting Local Descriptor based Image-to-Class Measure for Few-shot Learning》

核心思想

  本文采用基於度量學習的方式實現小樣本學習任務,但與其他基於度量學習的方式不同,本文通過比較圖像與類別之間的局部描述子(Local Descriptor),來尋找與輸入圖像最接近的類別。本文的靈感來自於樸素貝葉斯最近鄰算法(Naive-Bayes Nearest-Neighbor,NBNN),根據這一算法作者有兩點發現:一、如果將一幅圖像的特徵信息壓縮到一個緊湊的圖像級別的表徵(換言之就是用一個特徵向量或者特徵圖來表示一張圖片),這將會損失許多有區分度的信息,而且這種損失在訓練集較少的情況下是無法被恢復的。二、如果採用圖片與圖片之間的比較,直接使用局部特徵進行分類是不可能的,這是因爲即使是相同類別的兩幅圖片,他在局部區域上特徵也有很大的差別(比如都是狗,但是不同狗的尾巴區別也很大)。基於這兩點觀察,作者提出了本文的算法深度最近鄰神經網絡(Deep Nearest Neighbor Neural Network ,DN4),首先對於圖像特徵描述,作者並沒用採用圖像級的特徵向量,而是使用若干個局部描述子,每個局部描述子對應圖片中的一個局部區域;其次,在分類時,作者同樣採用了kNN算法,但是與比較兩幅圖之間的相似性的方法不同,作者比較輸入圖像與每個類別的局部描述子之間的相似程度,並藉此進行分類,這是因爲對於一個類別的物體,其公共的特徵還是比較接近的。具體的實現方式如下圖所示
在這裏插入圖片描述
  如圖所示,整個網絡分成兩大部分:嵌入特徵提取網絡ψ\psi與最近鄰分類器ϕ\phi。首先對於嵌入特徵提取網絡ψ\psi採用全卷積神經網絡,不帶有全連接層,因此輸出爲h×w×dh\times w\times d維的張量,如果將“每一條”長度爲dd的特徵向量看做一個局部描述子xix_i(因爲卷積神經網絡中的卷積和池化操作,會將圖像壓縮,因此輸出特徵圖中的一個像素,其實代表了原圖中的一個局部圖塊),則一共可以得到m=hwm=hw個長度爲dd的局部描述子:
在這裏插入圖片描述
  然後對於支持集中每個類別中的每幅圖像,都能夠得到一個由mm個局部描述子構成的描述向量。得到查詢圖像qq的描述向量[x1,...,xm][x_1,...,x_m],對於其中的每個局部描述子xix_i,在每一個類別cc中都尋找到與其距離最接近的kk個局部描述子x^ij,j=1,...,k\hat{x}^j_i, j=1,...,k,則查詢圖像qq與類別cc之間的相似性可以通過對局部描述子之間的餘弦相似性求和來得到
在這裏插入圖片描述
  最後選擇相似程度最高的那一類別作爲預測結果。

實現過程

網絡結構

  特徵提取網絡採用4層卷積神經網絡,最近鄰分類器使用KNN搜索。

損失函數

  與常規的基於度量學習的算法相同。

訓練策略

  與常規的基於度量學習的算法相同。

創新點

  • 將基於度量學習的小樣本學習算法中的圖像級別的特徵向量,改爲局部描述子
  • 將圖像與圖像之間的相似性度量,通過求和方式改爲圖像與類別之間的相似性度量

算法評價

  本文最重要的思想在於使用局部描述子取代簡單的圖像特徵向量,雖然結構上並沒有什麼變化,只不過取消了全連接層,但是在思想上是有很大區別的。之前的特徵向量是希望特徵提取網絡能夠將圖像特徵高度抽象化,將其轉化爲一個對位置不敏感的向量,在進行比較時也是直接度量兩個圖像對應的特徵向量之間的距離,這對於小樣本學習來講可能比較困難。而本文則這種特徵描述要求放寬到局部區域上了,我不要求兩張圖片每個位置都很相似,但要求你最相似的k個區域是非常接近的,這就消除了類內差異和背景混淆的問題。這一思想其實與之前解讀的一篇文章《Spot and Learn: A Maximum-Entropy Patch Sampler for Few-Shot Image Classification》非常接近,根據實驗結果來看相對於其他的基於度量學習的算法,如Matching Network和Prototypical Network,效果都有明顯的改善。

如果大家對於深度學習與計算機視覺領域感興趣,希望獲得更多的知識分享與最新的論文解讀,歡迎關注我的個人公衆號“深視”。在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章