四個月前,谷歌在Kaggle發(fā)布了一項地標檢索挑戰(zhàn)賽,在這場比賽中,參賽者會得到一些圖像,他們需要在所有圖像數(shù)據(jù)集中找到含有給定圖像中地標的圖片。
圖像檢索是計算機視覺領(lǐng)域的基礎(chǔ)問題,對于包含地標的圖像更是非常重要,因為這是用戶拍攝的熱門對象。本次挑戰(zhàn)賽的數(shù)據(jù)集是世界最大的圖像檢索數(shù)據(jù)集,其中有超過一百萬張圖像,覆蓋了全球1.5萬個不同景點。
同時,這項挑戰(zhàn)賽也是CVPR 2018的地標辨認研討會的一部分。下面就是本次競賽排名第一的解決方案,參賽隊伍是由anokas帶領(lǐng)的團隊,論智對其進行了編譯。
解決方案包括兩個主要元素:
首先,創(chuàng)建一個高性能的全局描述符(global descriptor),它可以將數(shù)據(jù)庫中的圖像用奇異向量表示;
然后,創(chuàng)建一個高效的框架,能將這些向量和最可能的圖片聯(lián)系起來,最后提交到積分榜上。
下面是總體框架的流程圖,其中每一步應用后都有對應的LB分數(shù)。

注:下文中所有分數(shù)都以百分數(shù)表示,即62.5%=0.625
方案詳細講解
全局描述符(Global Descriptors)
我們的方案中最主要的部分就是幾個全局描述符,這些向量描述了圖片的全部內(nèi)容。我們從兩個預訓練的CNN模型開始(ResNet和ResNeXt),并用四種目前最先進的集結(jié)方法(aggregation methods)生成全局描述符。下面是四種集結(jié)方法各自的細節(jié)以及它們“原始”的表現(xiàn)性能(也就是沒有進行檢索詞擴展和數(shù)據(jù)庫擴展):
基于區(qū)域熵的多層抽象池化(REMAP)[42.8% mAP]:我們之前設(shè)計的一個全局描述符聚合了不同CNN層的深度特征,之后經(jīng)過訓練可以表示多個水平的可視化抽象對象。我們將在之后的CVPR研討會上進一步展示REMAP的細節(jié)架構(gòu)。
最大卷積激活值(MAC)[32.9% mAP]:MAC描述符將每個CNN的最后一層卷積過濾的最大局部回應進行編碼。在它的架構(gòu)中,ResNeXt的最后一個卷積層后面有一個最大池化層、L2-正則化層和PCA+白化層。
卷積的池化和(SPoC)[31.7% mAP]:在SPoC這一過程中,ResNeXt的最后一個卷積層后接池化和層、L2-正則化層和PCA+白化層。
卷積的區(qū)域最大激活值(RMAC)[34.7% mAP]:在RMAC中,ResNeXt最后的卷積特征是在多個規(guī)模重疊區(qū)域中進行的最大池化。這些區(qū)域同樣是基于有L2-正則化層和PCA+白化層的描述符。最后把所有描述符匯總到一個單一的描述符中。
基礎(chǔ)的CNN網(wǎng)絡(luò)(ResNet和ResNeXt)是在ImageNet上進行的訓練,之后再一個地標數(shù)據(jù)集的子集中進行調(diào)整。該子集來自Babenko等人的研究成果,其中包括大約12萬張圖片和650個著名景點。
這一數(shù)據(jù)集中的圖像最初是在圖片搜索引擎中用文字搜到的,沒有經(jīng)過檢驗,所以其中可能含有很多不相關(guān)的圖片,這需要我們過濾掉。刪除圖片的過程是半自動的,利用帶有密集SIFT特征的Hessian-affine檢測器以及RVD-W描述符進行聚合。處理完圖像后,還剩下25000張左右的圖片,都屬于一種地標,我們想用它對模型進行調(diào)整。
我們沒有用其他類似競賽中的數(shù)據(jù)集作為訓練數(shù)據(jù),因為我們想看看在新的數(shù)據(jù)集下,我們的方案生成的效果如何。
合并描述符
通過用上述方法訓練的六個全局描述符合并,就得到了最終的全局描述符(括號中的是LB分數(shù)):
ResNeXt+REMAP(42.8%)
ResNeXt+RMAC(34.7%)
ResNeXt+MAC(32.9%)
ResNeXt+SPoC(31.7%)
ResNet+REMAP(35.8%)
ResNet+MAC(30.4%)
接著我們將每個描述符縮放到固定的L2 norm上,為每個描述符分配權(quán)重,按以下方式連接描述符:
XG = [2× ResNeXt+REMAP; 1.5× ResNeXt+RMAC; 1.5× ResNeXt+MAC; 1.5× ResNeXt+SPoC; ResNet+MAC; ResNet+REMAP]
權(quán)重的選擇是點對點的,以反映每種方法相應的性能。之后,我們用PCA將描述符的維度降到4K,同時應用白化,讓所有維度的方差相同。雖然PCA和白化只能改善一小部分,但是它將查詢擴展的結(jié)果提升了幾個百分點。
最近鄰搜索
創(chuàng)建好描述符后,每張圖片都由一個4096維的描述符表示。接下來,我們用復雜的k-最近鄰搜索找到每張圖前2500個近鄰和L2距離。這一階段提交每張圖片的前100個最近鄰得到了47.2%的分數(shù)。
這一步驟使用優(yōu)化過的NumPy代碼實現(xiàn),用了2小時對每個1.2M的圖片找出了前2500個最近鄰。
數(shù)據(jù)庫增強
接下來要做的是數(shù)據(jù)庫增強(DBA),即把數(shù)據(jù)庫中每張圖片的描述符換成它本身和前10個最近鄰的加權(quán)結(jié)合。目的就是利用它們近鄰的特征提高圖像表示的質(zhì)量。更準確的是,我們進行描述符的加權(quán)求和,其中權(quán)重按以下代碼計算:
weights = logspace(0, -1.5, 10)
有趣的是,在其他數(shù)據(jù)集上我們發(fā)現(xiàn)只要用大于兩個近鄰進行增強就會讓分數(shù)下降,但10個近鄰對數(shù)據(jù)集增強和圖片是最好的。
需要注意的是,DBA是整個過程中添加的最后一步,雖然它能讓分數(shù)得到大幅提升,但是將它和查詢擴展結(jié)合起來時,提升只有1%—2%。我們認為這是由于數(shù)據(jù)庫擴展與查詢擴展方法的第一步很相似。
查詢擴展
查詢擴展是圖像檢索問題中的基礎(chǔ)技術(shù),通常對模型的性能有很大提升。它工作的原理是:如果A與B匹配,B與C匹配,那么A與C匹配。我們可以在下面的實例中看到這種原理的優(yōu)勢,圖中三個區(qū)域相互重疊:
在這一案例中,查詢擴張系統(tǒng)可以將A和C聯(lián)系起來,判斷它們屬于同一場景,即使它們?nèi)置枋龇赡懿幌喾?。這在一些光線不同或視角不同的圖像中也很有用。
在這次比賽中,我們設(shè)計了一種新的、快速的技術(shù)用于查詢擴展,它可以通過遞歸運行捕捉圖像之間的長距離連接。這種特點非常適合這一問題,因為含有某個地標的圖像有很多,只有一張圖像才能成為查詢結(jié)果,其他的只能歸為top 100的結(jié)果中。
第一次迭代后,查詢擴展提升了約11%,進行了30分鐘的遞歸運行后,提升了14%,加入數(shù)據(jù)增強后這一結(jié)果有所下降。
簡化模型
在產(chǎn)品級機器學習環(huán)境中,由于收益遞減原則,幾乎不會使用大規(guī)模的多模型集成。通常使用較小的子集就能達到理想性能。我們想得到原來方案的簡化版本,只需要不到12個小時,僅僅用ResNeXt-REMAP和查詢擴展就能得到56%—57%的分數(shù)。

不足之處
局部描述符:這可能是我們在比賽中最意想不到的事。我們試了好幾種基于多種局部描述符的方法,包括使用和不使用幾何驗證的方法,例如用它對我們的結(jié)果重新排名,或者用它從上到下瀏覽幾千個全局近鄰,找找有沒有遺漏掉的局部匹配。不知道其他隊伍使用局部描述符的情況如何,也許是基于CNN的全局描述符太好用了以至于局部的時代終結(jié)了?
處理旋轉(zhuǎn)圖像:在數(shù)據(jù)集中我們發(fā)現(xiàn)很多圖片都是旋轉(zhuǎn)的。我們用好幾種方法處理這個問題,例如在k-最近鄰方法中比較旋轉(zhuǎn)和不旋轉(zhuǎn)的描述符,并為每組圖像進行最近匹配。但是分數(shù)依然沒有變化。有可能是因為這個數(shù)據(jù)集有太多干擾項了,誤報率太高,即使真正匹配對整體分數(shù)的影響也不大。
集成:我們試了好幾種方法將不同模型和方法的結(jié)果結(jié)合起來,例如排序平均和交錯預測等,然而成效不大。似乎早期將模型結(jié)合比結(jié)束時結(jié)合要好一些。
-
圖像檢索
+關(guān)注
關(guān)注
0文章
28瀏覽量
8206 -
計算機視覺
+關(guān)注
關(guān)注
9文章
1715瀏覽量
47666 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1238瀏覽量
26226
原文標題:Kaggle地標圖片檢索挑戰(zhàn)賽冠軍方案講解
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
思必馳斬獲Interspeech 2026音頻推理挑戰(zhàn)賽智能體賽道亞軍
AICAS 2026 Grand Challenge全球挑戰(zhàn)賽啟動
第三屆開放原子大賽OpenTenBase兩大賽項圓滿落幕
摩爾線程在SIGGRAPH Asia 2025斬獲3DGS重建挑戰(zhàn)賽銀獎
2025 全國人工智能應用場景創(chuàng)新挑戰(zhàn)賽AI Agent全球?qū)m?b class='flag-5'>賽線下半決賽新聞發(fā)布會在深圳召開
openDACS 2025 開源EDA與芯片賽項 賽題七:基于大模型的生成式原理圖設(shè)計
東風睿立達斬獲NEVC 2025中國新能源商用車挑戰(zhàn)賽六項大獎
2025 EDA精英挑戰(zhàn)賽華大九天賽題發(fā)布
2025 EDA精英挑戰(zhàn)賽紫光同創(chuàng)賽題發(fā)布
2025 EDA精英挑戰(zhàn)賽概倫電子賽題發(fā)布
e絡(luò)盟社區(qū)攜手 Würth Elektronik 發(fā)起全球 LED 設(shè)計挑戰(zhàn)賽
傳音多媒體團隊攬獲CVPR NTIRE 2025兩項挑戰(zhàn)賽冠亞軍,推動視頻畫質(zhì)升級
傳音多媒體團隊攬獲CVPR NTIRE 2025兩項挑戰(zhàn)賽冠亞軍
ASML杯光刻「芯 」勢力知識挑戰(zhàn)賽正式啟動
谷歌在Kaggle發(fā)布了一項地標檢索挑戰(zhàn)賽
評論