摘要
文中提出了一種新的FG-SBIR(Fine-Grained Sketch-Based Image Retrieval)模型,雖然其本質上是一個常用的多分枝深度結構,不過相比於其它模型,其有以下特點:
1)在每一個深度神經網絡上都添加了注意力模塊,因此使其對特徵的學習可以更多的關注到顯著性區域。
2)通過對一個特徵融合的方式將粗糙和細緻的語義信息進行了融合。
3)引入了一個基於高階可學習的能量損失(距離)函數,建立了兩個模態特徵之間的關聯關係,使其對不同模態未對齊的特徵具有更好的魯棒性。
關於attention
Sotf attention 因爲可微分、可參與端到端的訓練因此使用比較廣泛。而hard attention由於不可微分,因此常通過強化學習的方式進行學習。在本文中,採用了soft attention模型。當給一個從CNN任意一層計算得到的feature map, soft attention模型將會將該feature map作爲輸入並生成一個attention mask。之後,利用該mask對輸入的feature map進行權重計算從而生成一個attended feature map以傳入網絡的下一層。如下圖所示,文中的attention模塊加到了最後一層卷積層的後邊。
用 表示feature map f在空間(i,j)上的值,其相應的attention得分和最終的mask α可由以下兩個公式得到:
其中 是通過attention module學習得到的mapping function, 是attention module的權重。文中attention module包含兩個卷基層。
Attended feature map:
不過,由於特徵與圖像之間的空間不齊問題會導致上式得到的attended map一方面容易受到噪聲影響,另一方面也會丟失原始feature map上的一些重要信息,因此最終的attended feature map通過下式獲取:
Coarse-fine 特徵融合
儘管由attention module得到的attended feature對空間及細節比較敏感,但是在通過全連接層後很大程度上會丟失這些細節。爲了解決該細節丟失的問題,文中對attented feature map和全連接層輸出的特徵進行了融合。融合的方式爲簡單的拼接(concatenation operation),在拼接前對attended feature map利用全局average pooling進行了降維操作。
高階損失函數(HOLEF, higher-order learnable energy function)
一階損失函數的不足
常用的triplet loss形式如下所示:
當其中的距離函數D()是一階函數時,比如歐式距離,其關注點僅僅是兩個向量對應點之間的減法,而無法考慮非對應點之間的關係,因此無法體現cross-channel之間的關係。爲了克服一階距離的缺陷,文中藉助outer subtraction引入了二階距離函數。outer subtraction 的形式如下:
考慮到並不是所有outer subtraction得到的項都是有價值的,文中引入了權重因子,並最終得到了二階距離函數:
由此設計的triplet loss: