1. 程式人生 > 實用技巧 >影象檢索(image retrieval)- 10 - Fine-tuning CNN Image Retrieval with No Human Annotation - 1 - 論文學習

影象檢索(image retrieval)- 10 - Fine-tuning CNN Image Retrieval with No Human Annotation - 1 - 論文學習

Data, networks, and code:cmp.felk.cvut.cz/cnnimageretrieval

https://github.com/filipradenovic/cnnimageretrieval-pytorch

Fine-tuning CNN Image Retrieval with No Human Annotation

ABSTRACT

基於卷積神經網路啟用的影象描述符因其識別能力強、表徵緊湊和搜尋效率高而在影象檢索中佔據主導地位。訓練CNNs,無論是從零開始還是微調,都需要大量的註釋資料,而高質量的註釋往往是至關重要的。在這項工作中,我們提出對CNNs進行微調,以完全自動化的方式對大量無序影象進行檢索。使用最新檢索得到的重建三維模型和structure-from-motion方法指導訓練資料的選擇。我們展示了通過利用三維模型中的幾何圖形和攝像機位置來選擇的難正樣本和難負樣本,都提高了特殊物件檢索的效能。從相同的訓練資料中學習CNN描述符whitening的效果優於常用的PCA whitening。我們提出了一種新的可訓練的Generalized-Mean(GeM)池化層,它概括了最大池化和平均池化,並證明了它提高了檢索效能。將該方法應用於VGG網路,在標準基準資料上取得了最先進的效能,如:Oxford Buildings, Paris, and Holidays資料集。

1 INTRODUCTION

在例項影象檢索中,查詢中描述的特定物件的影象在一個大型的、無序的影象集合中搜索。卷積神經網路(CNNs)最近為這個問題提供了一個有吸引力的解決方案。除了留下較小的記憶體佔用,基於cnn的方法還可以獲得較高的準確性。在Krizhevsky等人[1]在影象分類任務中取得成功後,神經網路受到了廣泛的關注。他們的成功主要是由於使用了非常大的帶註釋的資料集,例如ImageNet[2]。訓練資料的獲取是一個代價高昂的人工標註過程,容易出現錯誤。經過影象分類訓練的網路具有較強的自適應能力。具體來說,利用為分類任務而訓練的CNNs的啟用,將其作為現成的影象描述符[4]、[5],並將其用於多個任務[6]、[7]、[8],效果良好。特別是對於影象檢索,許多方法直接使用網路啟用作為影象特徵,併成功地執行影象搜尋[8]、[9]、[10]、[11]、[12]。

對網路進行微調,即先用預先訓練好的分類網路進行初始化,然後再針對不同的任務進行訓練,這是直接應用預先訓練好的網路的另一種選擇。微調顯著提高了[13]、[14]的適應能力;但是,需要對訓練資料進行進一步的註釋。第一個用於影象檢索的微調方法是由Babenko等人[15]提出的,其中需要大量的手工工作來收集影象並將其標記為特定的構建類。它們提高了檢索的準確性;但是,它們的公式更接近於分類,而不是期望的例項檢索屬性。在另一種方法中,Arandjelovic等人[16]在geo-tagged的影象資料庫的指導下進行微調,與我們的工作類似,他們通過選擇匹配和非匹配對進行訓練,直接優化最終任務中使用的相似性度量。與之前用於影象搜尋的訓練資料採集方法不同,我們無需手動標註資料或對訓練資料集進行任何假設。我們利用structure-from-motion(SfM)管道自動重建三維模型的幾何圖形和攝像機位置來實現這一點。最先進的retrieval-sfm管道[17]以無序的影象集合作為輸入,並嘗試構建所有可能的3D模型。為了提高處理效率,採用了快速的影象聚類方法。引入了多種基於區域性特徵的影象聚類方法[18]、[19]、[20]。通過空間驗證,這些方法發現的聚類是可靠的。實際上,這些方法不僅提供了叢集,還提供了叢集影象上的匹配圖或子圖。SfM過濾掉幾乎所有不匹配的影象,併為叢集中所有匹配的影象提供影象到模型的匹配和相機位置。整個過程,從無序的影象收集到詳細的三維重建的過程是全自動的。最後,三維模型指導匹配和非匹配對的選擇。我們提出利用描述符後處理階段的訓練資料去學習一個識別whitening(sfm就是用來構建訓練資料的)。

這項工作的另一個貢獻是在卷積層之後引入了一個新的池化層。在此之前,使用了許多方法。這些範圍從全連線層[8]、[15]到不同的global-pooling層,如max pooling [9], average pooling [10], hybrid pooling [21], weighted average pooling [11], and regional pooling [12]。我們提出了一個基於generalized-mean的池化層,它具有可學習的引數,可以是一個全域性引數,也可以是每個輸出維度一個引數。最大池和平均池都是它的特殊情況。我們的實驗表明,與標準的不可訓練池層相比,它提供了一個顯著的效能提升。我們的體系結構如圖1所示。

綜上所述,我們討論了用於影象檢索的CNNs的無監督微調。特別是我們在以下方面做出了貢獻:(1)我們利用SfM資訊,在CNN訓練中不僅執行難非匹配(negative)例子,而且執行難匹配(positive)例子。這顯示了增強派生影象表徵。我們表明,與以前的監督方法相比,三維重建訓練資料的可變性在影象檢索任務中提供了優越的表現。(2)我們表明,傳統上在短表徵[22]上進行的whitening在某些情況下是不穩定的。我們建議通過相同的訓練資料來學習whitening。它的作用是對微調的補充,並進一步提高效能。另外,與從頭到尾學習whitening相比,作為後處理步驟進行whitening訓練效果更好,也更快。(3)我們提出了一個可訓練的池化層,該池化層是對現有流行的CNNs池化方案的總結。在保持描述符維數不變的情況下,顯著提高了檢索效能。(4)此外,我們提出了一種新的α-weighted的查詢擴充套件,與廣泛用於壓縮影象表徵的標準平均查詢擴充套件技術相比,該查詢擴充套件具有更強的魯棒性。(5)最後,通過對常用的CNN架構(如AlexNet [1], VGG [23], ResNet[24])的重新訓練,我們在Oxford Buildings, Paris,和Holidays資料集中得到了一個新的最先進的結果。

這份手稿是我們之前工作[25]的延伸。此外,我們還提出了一種新的池化層(3.2)、一種新的多尺度影象表示(5.2節)和一種新的查詢擴充套件方法(5.3節)。每一種新提出的方法都提高了影象檢索的效能,並伴隨著提供有用見解的實驗。此外,我們提供了一個擴充套件的相關工作討論,包括在以前的CNN研究中使用的不同pooling程式和描述符whitening中。最後,我們將我們的方法與Gordo等人[26]、[27]的並行相關工作進行比較。通過結合特定建築區域建議的端到端學習,顯著提高了檢索效能。與他們的工作相反,我們關注hard-trainning資料示例的重要性,並使用了一個簡單得多但同樣強大的池化層。

本文的其餘部分組織如下。第二節討論了相關工作,第三節介紹了我們的網路架構、學習過程和搜尋過程,第四節描述了我們提出的自動獲取訓練資料的方法。最後,在第5節中,我們對不同CNN架構下提出的所有新奇事物進行了廣泛的定量和定性評估,並將其與當前的技術狀態進行比較。

2 RELATED WORK

基於CNN的表徵對於影象檢索是一種很有吸引力的解決方案,特別是對於緊湊的影象表示。以前的緊湊描述符通常是由區域性特徵的集合構造的,其中代表是Fisher向量[28]、VLAD[29]和alternatives[30]、[31]、[32]。令人印象深刻的是,在這項工作中,我們發現CNNs在影象搜尋任務中佔據主導地位,通過合併大型可視碼本[33]、[34]、空間驗證[33]、[35]和查詢擴充套件[36]、[37]、[38],其效能超過了目前最先進的方法。

在本研究中,將例項檢索轉換為一個度量學習問題,即學習影象embedding,使歐氏距離能很好地捕捉相似度。典型的度量學習架構,如雙分支siamese[39]、[40]、[41]或triplet網路[42]、[43]、[44]採用匹配和非匹配對來執行訓練,更好地適應這項任務。在這裡,註釋的問題更加明顯,即,對於分類,只需要物件類別標籤,而對於特定物件,標籤必須是每個影象對。同一類物體的兩幅影象可能完全不同,例如建築物的不同視角或不同的建築物。我們從一個大型無序的影象集合開始,以完全自動化的方式解決這個問題,不需要任何人工干預。

在接下來的文字中,我們將討論我們的主要貢獻的相關工作,即訓練資料的收集,構建全域性影象描述子的pooling方法,和描述子whitening。

2.1 Training data

之前的各種方法將CNN啟用應用於影象檢索[8]、[9]、[10]、[11]、[12]、[45]任務。在檢索上取得的準確性是CNNs泛化特性的證據。利用ImageNet資料集[2]對所使用的網路進行分類訓練,使分類誤差最小化。Babenko等人更進一步,用更接近目標任務的資料集對這些網路進行重新訓練。它們使用對應於特定地標/建築物的物件類進行訓練。效能提高了標準檢索基準。儘管取得了成就,但最終的度量和被利用的層與在學習過程中實際優化的是不同的。

構建這樣的訓練資料集需要人的努力。在最近的工作中,帶有時間戳的地理標記資料集為triplet網路[16]的弱監管微調提供了基礎。兩幅距離較遠的影象很容易被認為是不匹配的,而匹配的例子選擇的是最相似的附近影象。在後一種情況下,相似性是由CNN的當前表徵來定義的。這是為影象檢索,特別是地理定位任務執行端到端微調的第一種方法。使用的訓練影象現在與最終任務更加相關。我們通過在無監督的方式發現匹配和非匹配的影象對來區分。此外,我們基於三維重建方法推出的匹配例子,這允許更難的例子。

雖然難負樣本挖掘是一個標準過程[6],[16],但難正樣本挖掘不是。在Simo-Serra等人的工作[46]中挖掘了難正樣本,其中patch-level的樣本是通過三維重建的指導提取的。必須仔細取樣難正樣本對。極端難正樣本(例如影象之間最小的重疊或極端的尺度變化)不允許泛化並導致過度擬合。

我們的一個並行工作也使用區域性特徵和幾何驗證來選擇正樣本[26]。與我們完全無監督的方法相反,它們從必須手動清理的地標資料集開始,使用資料集的地標標籤,而不是幾何圖形,以避免徹底評估。Noh等人[47]使用相同的訓練資料集去學習使用saliency mask的全域性影象描述符。然而,在測試期間,CNN啟用被視為區域性描述符,獨立地建立索引,並用於隨後的空間驗證階段。與全域性描述符相比,這種方法提高了準確性,但代價是更高的複雜性。

2.2 Pooling method

早期將CNNs應用於影象檢索的方法包括將全連線層啟用設定為全域性影象描述符[8]、[15]的方法。Razavian等人[9]的工作將重點轉移到後面跟著global-pooling操作的卷積層的啟用。用這種方法構造了一種緊湊的影象表示,其維數與對應卷積層的特徵圖個數相等。特別是,他們建議使用max pooling,這後來被近似為integral pooling[12]。

sum pooling最初是由Babenko和Lempitsky[10]提出的,它展示了良好效能,特別是由於隨後的描述符whitening操作。進一步發展的是Kalantidis等人[11]的weighted sum pooling,也可以看作是進行遷移學習的一種方式。在Mohedano等人[48]、Arandjelovic等人[16]、Ong等人[49]的工作中,我們在使用CNN啟用的情況下分別採用了常用的BoW、VLAD、Fisher vector等編碼方法。一旦預先執行了適當的embedding,就會使用sum pooling。

一種混合方案是R-MAC方法[12],它對區域執行max pooling,最後對區域描述符進行sum pooling。Mixed pooling全域性應用於檢索[21],採用標準local pooling進行物件識別[50]。它是max pooling和sum pooling的線性組合。Cohen等人在[51]的工作中提出了一個類似於我們的泛化方案,但在不同的背景下。它們將標準的local 馬戲pooling替換為通用的版本。最後,More're s等[52]使用generalized mean對多次變換下的相似度值進行聚類。

2.3 Descriptor whitening

自從Je ́gou and Chum [22]的研究後,發現對影象檢索的資料表徵進行whitening是非常必要的。他們的解釋在於其能夠降低共現的權重,從而處理over-counting的問題。在基於CNN的描述符[5],[10],[12]的情況下,whitening的好處被進一步強調。whitening通常是通過PCA在獨立資料集上以無監督的方式從生成模型中學習。

我們建議以一種可區分的方式學習whitening變換,使用相同的3D模型訓練資料的獲取過程。Mikolajczyk和Matas[53]使用了類似的方法來whitening區域性特徵描述符。

而Gordo等[26]則在CNN中以端到端的方式學習whitening。在我們的實驗中,我們發現這種選擇最多和描述符後處理的方法一樣好,而且由於學習收斂速度較慢,效率較低。(所以還是用後處理的方法)

3 ARCHITECTURE,LEARNING,SEARCH

在本節中,我們將描述網路架構,並介紹所提議的generalized-pooling層。然後,我們解釋了利用contrastive loss和雙分支網路進行微調的過程。我們描述了在經過微調之後,我們如何使用相同的訓練資料來學習似乎是一個有效的後處理步驟的投影。最後,我們描述了影象的表徵、搜尋過程和一種新的查詢擴充套件方案。我們建議的體系結構如圖1所示。

3.1 Fully convolutional network

我們的方法適用於任何全卷積的CNN[54]。在實際應用中,我們採用了常用的用於通用物件識別的CNNs,如AlexNet[1]、VGG[23]、ResNet[24]等,捨棄了它們的全連線層。這為執行微調提供了良好的初始化。

現在,給定一個輸入影象,輸出是一個維度為WxHxK的3維tensor,其中K是最後一層的特徵對映數量。為特徵對映的WxH啟用集合,。網路輸出包含了K個這樣的啟用集合或2維特徵對映。我們額外假設最後一層為Rectified Linear Unit (ReLU),這樣的值就是非負的。

3.2 Generalized-mean pooling and image descriptor

我們現在新增一個以作為輸入的pooling層,然後生成一個向量f作為pooling過程的輸出。這個向量在往常的global max pooling(MAC vector [9], [12]) 情況下為:

相反,我們利用generalized mean[55]和使用generalized-mean(GeM) pooling,其結果如下給出:

pooling方法(1)和(2)是(3)中給定的GeM pooling的特殊情況,即當時等價於max pooling,pk=1時等價於average pooling。最終特徵對映由每個特徵圖的一個單一的值組成,即generalized-mean啟用,其維數等於k。對於許多流行的網路來說,這等於256、512或2048,使其成為一種緊湊的影象表徵。

pooling引數pk可以手動設定或學習,因為這個操作是可微的,並且可以作為反向傳播的一部分。對應的導數(為了簡潔跳過上標(g))如下給出:

在(3)中,每個特徵對映都有一個不同的pooling引數pk,但是也可以使用一個共享的pooling引數。在這種情況下,我們將pk其簡化表示為p。我們在實驗部分檢查了這些選項,並與手動調優和固定引數值進行了比較。

Max pooling,在MAC的情況下,每個2維特徵對映保留一個啟用。這樣,每個描述符分量對應於一個等於接受域的影象patch(即選中的那個最大值啟用對應的patch)。然後,通過描述子內積對影象相似度進行評估。因此,MAC相似度隱式地形成了patch correspondences。每個correspondence的強度由相關描述符分量的乘積給出。在圖2中,我們展示了對相似度貢獻最大的對應影象patch。通過微調,隱式對應得到了改善。此外,CNN較少在ImageNet類上fires,例如汽車和自行車。

在圖4中,我們顯示了啟用的空間分佈如何受到generalized mean的影響。p值越大,特徵圖響應的區域性化程度越高。(因為p越大,generalized mean約類似max-pooling,那麼得到的特徵的一個分量就越類似於整個特徵圖中的最大啟用值,一個值對應的接受域當然更小,所以更集中)

最後,在圖3中,我們展示了一個查詢示例和一個數據庫影象,使用帶有GeM池化層(簡稱GeM層)的微調VGG進行匹配。我們展示了在將資料庫影象與具有很大相似性的非匹配影象區分開來方面貢獻最大的特徵對映。

最後的網路層包括l2歸一化層。對向量f進行l2歸一化,最終用內積計算兩幅影象之間的相似性。在本文的其餘部分,GeM向量對應l2-normalized向量̄f 且構成了影象描述符。

3.3 Siamese learning and loss function

我們採用siamese結構並訓練一個雙分支網路。每個分支都是另一個分支的克隆,這意味著它們共享相同的引數。訓練輸入由影象對(i,j)和標籤Y(i,j)∈{0,1},宣告對是不匹配的(label 0)還是匹配的(label 1),我們使用作用於匹配和不匹配對的contrastive 損失[39],定義為:

其中是影象i的L2歸一化後的GeM向量,是一個邊際引數,即表示不匹配的對有足夠大的距離可以被損失忽略(即如果不匹配對的距離差大於,那就說明他們的區別很大,對訓練模型沒有什麼幫助)。我們使用自動建立的大量訓練對 對網路進行訓練(見第4節)。與其他方法[16]、[42]、[43]、[44]相比,我們發現contrastive損失比triplet損失具有更好的泛化性和更高的收斂效能。

3.4 Whitening and dimensionality reduction

白化Whitening類似於PCA主成份分析,目的是降低資料的冗餘性同時降維

在本節中,我們將考慮對經過微調的GeM向量進行後處理。以往的方法[10]、[12]採用獨立集的主成分分析法(PCA)進行白化(whitening)和降維,即分析所有描述符的協方差矩陣。我們建議利用由3D模型提供的標記資料,並使用最初由Mikolajczyk和Matas[53]提出的線性判別投影。投影分解為兩部分:白化和旋轉。白化部分是類內(匹配對)協方差矩陣的平方根的逆-,即:

旋轉部分是在白化空間,類間(不匹配對)協方差矩陣的PCA,即:

然後投射被應用成,其中μ是實現中心化的mean GeM向量。為了將描述符維數降至D維,只使用與D個最大特徵值對應的特徵向量。投影向量隨後被l2歸一化。

我們的方法利用所有可用的訓練對有效地優化白化。它不是以端到端的方式進行優化的,並且在執行時沒有使用成批的訓練資料。我們首先優化GeM描述符,然後優化白化。

一旦CNN的微調完成,所描述的方法作為一個後處理步驟。此外,我們還與端到端的白化學習方法進行了比較。白化由向量移動和投影組成,通過一個全連線層以一種直接的方式建模。結果支援我們的方法,並在實驗部分進行了討論。

3.5 Image representation and search

訓練完成後,將影象輸入到如圖1所示的網路中。提取的GeM描述符被白化並重新規範化。這構成了影象在單一尺度上的全域性描述符。通過訓練樣本在一定程度上學習了尺度不變性;在測試過程中,通過多尺度處理增加了額外的不變性,而不需要額外的學習。我們採用標準的[27]方法,以多種尺度將影象輸入網路。最終將生成的描述符彙集並重新規範化。這個向量構成了一個多尺度的全域性影象表徵。我們對這種狀態也採用了GeM pooling,在我們的實驗中顯示,它始終優於標準平均池化。

影象檢索僅通過對資料庫描述符w.r.t.查詢描述符的窮舉歐幾里得搜尋來實現。這等價於l2標準化向量(即vector-to-matrix的乘法和排序)的內積求值。基於CNN的描述符與近似近鄰搜尋方法高度相容,事實上,它們是高度可壓縮的[27]。為了直接評估學習的表示的有效性,我們在本研究中不考慮這種替代方法。實際上,每個描述符每個維度需要4個位元組儲存。

最近,將CNN全域性影象描述符與簡單平均查詢擴充套件(AQE)[10],[11],[12],[27]相結合已經成為一種標準策略。(query expansion(QE)也是目前影象檢索的常用手段,最基本的方法是average query expansion(AQE),即搜尋圖片後得到前n個最近似的圖片,取它們和待檢索圖片的均值,再進行二次搜尋,這樣用近似影象填補了待檢索影象的某些特徵。)初始查詢由歐幾里得搜尋發出,AQE通過對nQE影象的描述符進行平均池化對其進行處理。在這裡,我們認為調優nQE以跨不同資料集工作並不容易。AQE對應一個加權平均,其中nQE描述符有著單位權重,剩下的即為零。我們推廣了該方案,並提出了加權平均,其中排第i位的影象的權值為。每個檢索影象的相似性很重要。我們的實驗表明,AQE很難調優不同的統計資料集,但是我們提出的方法可以。我們將這種方法稱為α-weighted的查詢擴充套件(αQE)。對於α= 0,所提出的αQE方法將變為AQE方法。

4 TRAINING DATASET

在本節中,我們簡要總結了緊密耦合的Bag-of-Words (BoW)影象檢索和Structure-from-Motion (SfM)重建系統[17]、[56],該系統用於自動選擇我們的訓練資料。然後,我們描述瞭如何利用三維資訊來選擇差異性較大的難匹配配對和難非匹配配對。

4.1 BoW and 3D reconstruction

Schonberger et al.[17]工作中使用的檢索引擎建立在具有快速空間驗證[33]的BoW上。它使用Hessian仿射區域性特徵[57],RootSIFT描述符[58],以及帶有16M大小的visual words[59]的精細詞彙表。然後,通過如[18]中的min-hash和空間驗證選擇查詢影象。採用基於BoW的影象檢索方法對目標/地標進行影象採集。這些影象作為後續SfM重建的初始匹配圖,該重建使用最先進的SfM管道[60],[61],[62]。不同的挖掘技術,如zoom in, zoom out[63],[64],sideways crawl[17],有助於構建更大更完整的模型。

在這項工作中,我們利用了這樣一個系統的成果。對於一個大型的未註釋影象集合,對影象進行聚類,每個聚類構建一個三維模型。我們可以互換使用術語3D模型、模型和聚類。對於每一幅影象,估計的相機位置以及註冊在3D模型上的區域性特徵都是已知的。我們刪除了冗餘的(重疊的)3D模型,這些模型可能是由不同的種子構建的。從不同的、不相交的視點重建同一landmarks的模型被認為是不重疊的。

4.2 Selection of training image pairs

三維模型被描述為bipartite visibility graphG = (I∪P,E)[65],其中影象I和點P是圖的頂點。這個圖的邊是由攝像機與點的可見性關係定義的,即,如果一個點p∈P在一個影象i∈I 中是可見的,那麼存在一條邊(i, p)∈ε。從影象i觀察得到的點的集合為:

我們建立一個元組資料集(q, m(q),N(q)),其中q表示查詢影象,m(q)是一張與查詢匹配的正影象,N(q)是一組與查詢不匹配的負影象。這些元組用來形成訓練影象對,每個元組對應|N(q)| + 1對(即負樣本集和查詢影象是|N(q)|對,正樣本和查詢影象是1對)。對於查詢影象q,根據q的聚類中攝像機的位置構造一個候選正影象池M(q),其由k幅相機中心最接近查詢影象的影象組成。由於相機的方向範圍很廣,這些不一定描繪同一物件。因此,我們比較了三種不同的方法來選擇正影象。三種策略的正樣本在整個訓練過程中都是固定的。

Positive images: CNN descriptor distance.正式來說,將與查詢影象有著最小的描述符距離的影象被選擇為正樣本:

這種策略類似於Arandjelovic et al .[16]中的策略。他們採用這種選擇,因為只有GPS座標是可用的,而沒有相機的方向。因此,所選擇的匹配影象已經具有較小的描述符距離,因此損失也較小。這樣,網路就不能通過匹配的例子來進行強的改變/學習(即不利於高效調參),這是這種方法的缺點。

Positive images: maximum inliers.在這種方法中,利用三維資訊來選擇正影象,而不依賴於CNN描述符。特別是,選擇與查詢影象有著最多co-observed 3D點的影象(即3D點交集最多的圖)。也就是說,

該度量對應於兩幅影象之間空間驗證的特徵的數量,這是基於BOW的檢索中常用的排序度量。由於這種選擇獨立於CNN的表示,它提供了更具挑戰性的正樣本。

Positive images: relaxed inliers.儘管前面的兩種方法都選擇與查詢影象描述相同物件的影象作為正影象,但是這些影象的視點的變化是有限的。與使用具有相似相機位置的一組影象不同,這裡的正樣本是從一組影象中隨機選擇的,這些影象與查詢影象有著多的co-observed點,但不會顯示太極端的比例變化。這個方法的正樣本是(即隨機選擇觀察點在一定範圍之內的,且比例變化不大的圖作為正例):

其中,scale(i,q)為兩幅影象之間的尺度變化。這種方法的結果是選擇了harder匹配的例子,但仍然保證描述相同的物件。方法m3在86.5%的查詢中選擇了與m1不同的影象。在圖6中,我們展示了使用三種不同方法選擇的查詢影象和相應的正樣本。該relaxed方法增加了視點的可變性。

Negative images.負樣本從與查詢影象的叢集不同的叢集中選擇,因為這些叢集沒有重疊。我們選擇難負樣本[6]、[46],即描述符最相似的非匹配影象。提出了兩種不同的策略:第一種,從所有非匹配影象中選擇N1(q), 即k個最近鄰。在第二組中,N2(q)使用了同樣的準則,但每個叢集最多允許一幅影象。N1(q)常常導致同一物件的多個非常相似的例項,而N2(q)則提供了更多的負樣本,如圖5所示。正的例子在整個訓練過程中都是固定的,而難負樣本則依賴於當前的CNN引數,並且在每個epoch中被重複挖掘多次。

5 EXPERIMENTS

在本節中,我們將討論訓練的實現細節,評估方法的不同元件,並與最新的技術進行比較。

5.1 Training setup and implementation details

Structure-from-Motion (SfM)。我們的訓練樣本來自Schonberger et al.[17]研究中使用的資料集,該資料集由740萬張從Flickr下載的圖片組成,使用的關鍵詞是世界各地的流行地標、城市和國家。[18]聚類過程提供了大約20k幅影象作為查詢種子。整個資料集的extensive retrieval-SfM reconstruction [56]得到1474個重建的三維模型。去除重疊的模型留給我們的是713個3D模型,其中包含了超過163k個來自原始資料集的unique影象。初始資料集包含Oxford5k和Paris6k資料集的所有影象。通過這種方式,我們能夠從這些測試資料集中排除98個包含任何影象(或它們近似重複的影象)的叢集。

Training pairs.3D模型的大小從25到11k影象不等。我們隨機選擇551個模型(約133k張影象)進行訓練,162個模型(約30k張影象)進行驗證。每個3D模型的訓練查詢次數為其大小的10%,限制為小於或等於30。每個epoch分別選擇大約6000和1700幅影象進行訓練和驗證查詢。

每個訓練和驗證元組包含1個查詢、1個正影象和5個負影象。候選正樣本的集合由k = 100幅影象組成,這些影象的中心距離查詢最近。特別地,對於m3方法,inlier-overlap閾值為ti = 0.2, scale-change閾值為ts = 1.5。難負樣本在每個epoch中被重新挖掘3次,即大約每2000(=6000*3)個訓練查詢一次。給定所選擇的查詢和所選擇的正樣本,我們在每個模型中進一步新增20張影象,作為重新挖掘的候選負樣本。當使用所有的3D訓練模型時,這構成了一個大約每epoch有22k張影象的訓練集。query-tuple的選擇過程在每個epoch中重複。這略微改善了結果。

Learning configuration.我們使用MatConvNet[66]對網路進行微調。為了執行第3節中描述的微調,我們通過AlexNet[1]、VGG16[23]或ResNet101[24]的卷積層進行初始化。AlexNet使用隨機梯度下降(SGD)訓練,而使用Adam訓練VGG和ResNet更穩定[67]。我們對SGD使用初始學習速率等於l0 = 10−3,為Adam使用初始stepsize等於l0 = 10−6,在epoch i中一個指數衰減為l0*exp(−0.1i),momentum為0.9,權重衰減為5×10−4,對於AlexNet的contrastive loss設定margin τ=0.7, VGG設定τ=0.75,和ResNet為τ=0.85,由embedding維數的增加證明該設定的合理性,同時batch size設定為5。所有訓練影象的最大大小為362×362,同時保持原始長寬比。訓練最多進行30個epoch,並根據效能選擇最佳網路,效能通過對驗證元組測量mean Average Precision (mAP) [33]來得到。在一個12gb記憶體的TITAN X (Maxwell) GPU上,VGG的一次epoch微調大約需要2個小時。

我們通過將每個查詢關聯到一個元組來克服GPU記憶體限制,即,查詢加6個影象(5個正的和1個負的)。而且,整個元組在同一批中處理。因此,我們將7幅影象輸入網路,即6對影象。在一種簡單的方法中,當每對查詢影象不同時,6對需要12個影象(所以當這裡6對只需要用7張圖,就能夠解決GPU記憶體限制問題)。

5.2 Test datasets and evaluation protocol

Test datasets.我們對Oxford buildings [33], Paris [68] and Holidays2 [69]資料集進行了評估。前兩個更接近我們的訓練資料,而最後一個是區分包含相似的場景,而不僅僅是人造物體或建築物。這些還與來自Oxford100k資料集的干擾物相結合,以允許在更大的規模上進行評價。效能是通過mAP來衡量的。我們遵循Oxford和Paris的標準評估協議,並使用提供的邊框來裁剪查詢影象。裁剪後的影象作為輸入輸入給CNN。

Single-scale evaluation. 輸入CNN的影象維數限制為1024×1024畫素。在我們的實驗中,如果沒有其他說明,不應用vector post-processing。

Multi-scale evaluation.多尺度表徵只在測試時使用。我們將輸入影象的大小調整為不同的大小,然後將多個輸入影象輸入到網路中,最後將多個尺度的全域性描述符組合成一個描述符。我們將基線平均池化[27]與我們的generalized mean相比較,我們方法的池化引數等於在網路全域性池化層中學習到的值。在這種情況下,whitening是在最終的多尺度影象描述符中學習。在我們的實驗中,如果沒有其他說明,則使用單尺度評價。

5.3 Results on image retrieval

Learning.我們在不同的訓練epochs訓練後,評估現成的CNN和我們的微調模型。不同的正和負樣本選擇的方法被獨立地評估,以分離各自的好處。最後,我們還與triplet loss[16]進行了比較,其是在與contrastive loss相同的訓練資料上訓練的。注意,一個triplet構成兩對資料。結果如圖7所示。結果表明,具有較大視點可變性的正樣本和具有較大內容可變性的負樣本在效能上有一致的提高。在我們的環境中,triplet loss似乎效果不太好;我們觀察到驗證集早期誤差的振盪,這意味著過擬合。在本文的其餘部分,我們採用了m3,N2的方法。

Dataset variability.我們通過使用可用的3D模型的一個子集來進行微調。圖8顯示了10、100和551(都是可用的)叢集的結果,同時保持訓練資料的數量,即訓練查詢的數量不變。在10個和100個models的情況下,我們使用最大的model。最好使用所有的3D模型進行訓練,這樣訓練集的可變性會更高。值得注意的是,即使使用10個或100個模型,效能也會有顯著提高。然而,在叢集數量較少的情況下,網路會出現過度擬合。在接下來的實驗中,我們使用551個3D模型進行訓練。

Pooling methods.我們在CNN微調過程中評估不同池化層的效果。我們將結果顯示在表1中。GeM層始終優於傳統的最大和平均池化。這對以下情況都適用:(i)使用引數為p的單一共享池, (ii)每個特徵對映有不同的pk, (iii)池引數(s)是固定的或可學習的。學習一個共享引數比學習多個引數更好,因為後者使代價函式更加複雜。此外,初始值似乎在某種程度上也很重要,並且偏好中間值。最後,共享的固定引數和共享的學習引數的效能類似,後者稍微好一些。這就是我們在剩下的實驗中採用的情況,即一個被學習的共享引數p。

Learned projections.研究表明,在某些基於CNN的描述符[10]、[12]、[15]中,PCA-whitening [22] (PCAw)是必不可少的。另一方面,在一些資料集上,PCAw之後的效能與原始描述符(Oxford5k[10]上的最大池化)相比大幅下降。我們將傳統的whitening方法與3.4節所述的可學習的鑑別whitening(Lw)方法進行比較。表2顯示了未進行後處理(post-processing)、使用PCAw和使用Lw的結果。

我們的實驗證明,PCAw經常會降低效能。與之形成對比的是,所提出的Lw在大多數情況下都是最佳的,而不是最差的。與沒有後處理的基線相比,Lw使AlexNet的效能降低了兩倍,但是與PCAw相比,下降可以忽略不計。對於VGG,提出的Lw始終優於無後處理的基線。

我們進行了一個額外的實驗,在微調過程中在網路末端添加了一個whitening層。通過這種方式,whitening以端到端的方式學習,同時使用卷積濾波器和以批處理模式學習相同的訓練資料。Dropout[70]被另外用於這一層,我們發現這是必不可少的。我們觀察到,在這種情況下,網路的收斂速度要慢得多,即需要60個epoch。而且,最終實現的效能並不高於我們的Lw。特別是,在AlexNet MAC上的端到端whitening在Oxford105k和Paris106k上結果分別為49.6 mAP和52.1 mAP,而我們在同一網路上的Lw在Oxford105k和Paris106k上結果分別為52.8和54.7 mAP。因此,我們採用Lw,因為它更快,更有效。

Dimensionality reduction.我們比較了使用PCAw[22]和我們的Lw進行的降維。變化描述符維數的效能如圖9所示。從圖中可以看出,Lw在大多數維度上都更有效。

Multi-scale representation.我們評估在測試時構造的多尺度表示法,而不需要任何額外的學習。我們在相同描述符傷比較了之前在多個影象尺度[27]上使用的描述符平均值和我們的generalized-mean。結果如表3所示,

其中使用多尺度GeM有顯著的好處。與平均池化相比,它還提供了一些改進。在我們的其他實驗中,我們採用了多尺度表示,通過generalized mean池化,尺度為1,1/√2,和1/2。在多尺度GeM表示中使用Lw監督降維的結果如表4所示。

Query expansion.我們評估了所提議的αQE,當α=0時其簡化為AQE,並將結果顯示在圖10中。請注意,在每次查詢的相關影象的數量方面,Oxford和Paris有不同的統計資料。在Oxford上,每次查詢的正影象的平均、最小和最大數量分別為52、6和221。在Paris,同樣的測量值是163、51和289。因此,AQE在這些資料集中以非常不同的方式執行,而我們的αQE是一個更穩定的選擇。我們最終設定了α = 3,nQE = 50。

Over-fitting and generalization.在所有的實驗中,包含任何來自Oxford5k或Paris6k資料集中的影象(不僅僅是查詢地標)的聚類將被去除。我們現在使用所有的3D模型重複訓練,包括那些Oxford和Paris地標。通過這種方式,我們評估網路是否傾向於過度擬合訓練資料或泛化。為了進行公平的比較,使用了相同數量的訓練查詢。我們觀察到網路在Oxford和Paris評估結果上的效能差異可以忽略不計,即mAP在所有測試資料集上的平均差異為+0.3。結果表明,該網路具有較好的泛化能力,對過擬合相對不敏感。

Comparison with the state of the art.我們將我們的結果與壓縮影象表示和查詢擴充套件方法的最新效能進行了廣泛的比較。表5將基於GeM的微調網路的結果與之前釋出的結果彙總在一起。當使用VGG網路架構和初始化時,所提出的方法在所有資料集上的表現都超過了目前的水平。我們的方法被Gordo等人在Paris資料集上的ResNet架構的研究超越,而我們在Oxford的得分是最先進的。在Holidays資料集中,我們與最先進的水平相當。但是請注意,我們沒有對我們的訓練資料進行任何人工標記或清理,而在他們的工作中使用了landmarks標記。我們還將GeM與查詢擴充套件(query expansion)相結合,進一步提高了效能。

6 CONCLUSIONS

我們討論了用於影象檢索的CNN的微調。訓練資料是從一個應用在一個大的無序的照片收集上的自動三維重建系統中選擇的。重建包括建築物和流行地標;但是,相同的過程是適用於任何嚴格的3D物件的。該方法不需要任何手動註釋,但在標準基準測試中獲得了最佳效能。所獲得的結果達到了基於區域性特徵的、具有空間匹配和查詢擴充套件的最佳系統的水平,並且速度更快,所需記憶體更少。研究表明,所提出的池化層擴充套件了以往的檢索機制,在提高檢索精度的同時,也能有效地構造聯合多尺度表示。訓練資料、訓練過的模型和程式碼都是公開可用的。