1. 程式人生 > >ECCV2018 | 細粒度分類:多注意力多類別約束

ECCV2018 | 細粒度分類:多注意力多類別約束

方法

本文提出方法可以高效精確地獲取判別區域儘管只是在影象級別的標籤上訓練。如下圖所示,本文方法框架有兩部分組成:1)壓縮-多擴充套件(OSME)模組,輕微增加計算量(也不算太輕),從多個注意力區域提取特徵。2)多注意力多類別約束(MAMC),加強注意力區域之間的聯絡。本文方法比其他方法具有端到端單階段的優勢。在這裡插入圖片描述

OSME

也是一種弱監督下的部件定位的注意力方法。先前工作總結:1)部件檢測。往往將部件檢測和特徵提取分開,計算開銷增大。2)軟注意力,來自響應視覺化。 如上圖,我們的框架以ResNet50作為baseline, SEnet通過壓縮-擴充套件操作對輸出特徵圖再校準。為了產生P個特定注意力的特徵圖,我們從SEnet延伸,把一次擴充套件操作換成多次擴充套件操作。 在壓縮操作中,我們聚合特徵圖空間產生通道級的描述子,和通道數一致。全域性平均池化是一種簡單高效的通道統計特徵描述方法。 在擴充套件操作中,對通道描述子施加多個獨立門機制,產生多個注意力圖。門機制中是FC+Relu+FC+Sigmoid,由於sigmoid特性,其輸出對通道間的非互斥關係進行了編碼。我們利用其輸出對起初Resnet50的輸出進行再次加權,得到特定注意力圖。 為了對每個特定注意力圖進行特徵提取,將這些特定注意力圖展平成向量之後輸入進FC層。簡單而言,本文通過對baseline輸出全劇平均池化之後進行多次門操作獲得P個特徵向量。並認為這些特徵向量是對不同非互斥部件/特徵的聚類(這裡還不能稱為判別性特徵)。

MAMC

下面解決的問題可以描述為,如何讓以上模組產生的注意力特徵指向類別,產生判別性注意力特徵。先前方法總結: 1)把以上注意力特徵合併進行softmax loss(指交叉熵損失函式),softmax loss不能掌握兩兩注意力特徵之間的關係,2)遞迴搜尋機制,會把初代誤差迭代方放大。還要使用強化學習以及一些複雜的初始化方法。我們的方法在訓練中增強兩兩部件之間的關係。這種方法就是多注意力多類別機制。 訓練集我們有影象-類別對,為了對圖內和類內注意力圖進行建模,我們重新組織輸入Batch。參考文章 Improved Deep Metric Learning with Multi-class N-pair Loss Objective中的N-pair取樣方法。具體而言就是,每個batch中有N對圖片,每對圖片來自同一個子類,一個成為anchor,另一個成為此anchor的正樣本,然後給出他們所屬類別。那麼經過OSME模組,一個同類對樣本就各自產生P個注意力特徵向量。在這裡插入圖片描述

那麼,每個batch就有2N個樣本, 經過OMSE產生2NP個特徵向量,我們相對這些向量進行聚類。舉例來說。我們選一個特徵向量,是第i類anchor的第p個特徵向量。我們可以把剩餘特徵向量分成4組: 同注意力門同類別:sasc,就是其正樣本同一個注意力門的特徵向量 同注意力門異類別;sadc 不同注意力門同類別;dasc 不同注意力門異類別;dadc 我們通過度量學習框架探尋4組間關係。

sasc:

這是選取的anchor最為相似的特徵向量,其負樣本就是sadc並dasc並dadc.

sadc:

取自與anchor同意注意力門的不同各類特徵,負樣本是dadc.

dasc:

取自anchor不同注意力門的同類,負樣本是dadc. 以下是度量學習損失函式,m是閾值。就anchor與正樣本的距離要比距負樣本距離小至少一個m.在這裡插入圖片描述

以上三個約束作用過程如下圖。在這裡插入圖片描述 本文方法結合近期度量學習成果,使用N-pair loss 做loss在這裡插入圖片描述

總之,總loss就是softmax loss 和n-pair loss:在這裡插入圖片描述 以下是本方法在細分類benchmark上跑分以及與其他方法對比:在這裡插入圖片描述

--------------------- 本文來自 HongYuSuiXinLang 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/HongYuSuiXinLang/article/details/82854254?utm_source=copy