圖像匹配還用SIFT?來(lái)看看 CVPR 2021 比賽中的冠軍方案

極市導(dǎo)讀
在 CVPR 2021 Image Matching 比賽中,曠視研究院 3D 組取得了兩冠一亞的成績(jī),本文將詳細(xì)介紹曠視的比賽方案、實(shí)驗(yàn)和一些思考。 >>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺(jué)的最前沿
在 CVPR 2021 Image Matching 比賽中,曠視研究院 3D 組取得了兩冠一亞的成績(jī)。Image Matching (圖像匹配)是計(jì)算機(jī)視覺(jué)領(lǐng)域最基礎(chǔ)的技術(shù)之一,它是指通過(guò)稀疏或者稠密特征匹配的方式,將兩幅圖像相同位置的局部信息進(jìn)行關(guān)聯(lián)。Image Matching 在很多領(lǐng)域均有廣泛應(yīng)用,如機(jī)器人、無(wú)人車(chē)、AR/VR、圖像/商品檢索、指紋識(shí)別等。
本文將詳細(xì)介紹曠視的比賽方案、實(shí)驗(yàn)和一些思考。



一、比賽介紹
圖像匹配是指將兩幅圖像具有相同或者相似屬性的內(nèi)容或結(jié)構(gòu)進(jìn)行像素上的識(shí)別與對(duì)齊。一般而言,待匹配的圖像通常取自相同或相似的場(chǎng)景或目標(biāo),或者具有相同形狀或語(yǔ)義信息的其他類(lèi)型的圖像對(duì),從而具有一定的可匹配性。
Image Matching Challenge

本次 Image Matching Challenge(IMC) 比賽分為兩個(gè)賽道——unlimited keypoints 和 restricted keypoints,即每張圖片可提取特征點(diǎn)數(shù)量分別小于 8k 和 2k。
比賽分為三個(gè)數(shù)據(jù)集—— Phototourism、PragueParks 和 GoogleUrban 。這三個(gè)數(shù)據(jù)集差異化較大,對(duì)算法的泛化能力要求較高。如何找到一種可以在三個(gè)數(shù)據(jù)集上面都表現(xiàn)較好的方法,成為了最終評(píng)選的標(biāo)準(zhǔn)。
針對(duì)每個(gè)數(shù)據(jù)集,評(píng)委采用了兩種方法進(jìn)行評(píng)估:分別是 Stereo 和 Multiview,最后分別求出這兩個(gè)任務(wù) rank。
Stereo:通過(guò)兩張圖片進(jìn)行匹配,然后解算F矩陣,求解實(shí)際的位姿誤差。
Multiview:選取少部分圖片組成一個(gè)bags,通過(guò)bags進(jìn)行建圖,通過(guò)3d模型求解不同圖片之間的位姿誤差。
比賽流程圖:

SimLoc Match

SimLoc 也是包含不同場(chǎng)景的數(shù)據(jù)集,與 IMC 數(shù)據(jù)集的不同之處——它是一個(gè)合成數(shù)據(jù)集,可以獲得完全準(zhǔn)確的ground truth。
最終的排名評(píng)測(cè)由匹配成功率決定,分為了三個(gè)指標(biāo):
內(nèi)點(diǎn)數(shù)量(越高越好)
匹配成功率,即匹配內(nèi)點(diǎn)數(shù)量/所有提供的匹配對(duì)(越高越好)
負(fù)匹配對(duì)數(shù)量,當(dāng)兩張圖片沒(méi)有共視區(qū)域時(shí),匹配對(duì)應(yīng)該越少越好
二、比賽方案
數(shù)據(jù)分析




首先對(duì)比賽的三個(gè)數(shù)據(jù)集進(jìn)行分析
觀察驗(yàn)證集和測(cè)試集之間是否存在gap
通過(guò)統(tǒng)計(jì)各個(gè)數(shù)據(jù)集之間的長(zhǎng)寬,來(lái)確定resize的大小
Pipeline


這是曠視提交的pipeline,包含六個(gè)部分:預(yù)處理,特征點(diǎn)檢測(cè),refine特征點(diǎn)位置,多尺度或者多角度提取描述子,Guided 匹配和基于自適應(yīng)FH的RANSAC。
預(yù)處理


由于 IMC 賽道對(duì)特征點(diǎn)數(shù)量的限制,所以特征點(diǎn)的位置選擇就變得比較重要。但是一些動(dòng)態(tài)的物體比如車(chē)輛,天空等,對(duì)匹配求解位姿沒(méi)有作用,或者有負(fù)面作用,都會(huì)干擾判斷。所以我們采用了分割網(wǎng)絡(luò)將這些物體先 mask,當(dāng)提取特征點(diǎn)的時(shí)候,就會(huì)略過(guò) mask 區(qū)域。
使用分割網(wǎng)絡(luò)進(jìn)行預(yù)處理之后,我們發(fā)現(xiàn)了兩個(gè)問(wèn)題:
一個(gè)是由于分割網(wǎng)絡(luò)的精確度不高,并不能很好的區(qū)分建筑物和天空連接區(qū)域,就會(huì)存在把建筑物邊緣輕微破壞的情況,這樣不利于匹配。所以我們 mask 動(dòng)態(tài)物體之后,對(duì) mask 區(qū)域做了腐蝕處理,這樣可以把建筑物的邊緣細(xì)節(jié)保留下來(lái)。
另外一個(gè)問(wèn)題則是分割網(wǎng)絡(luò)算法針對(duì)真人和雕塑的泛化能力不是很好,當(dāng) mask 行人的時(shí)候,雕塑也會(huì)被 mask。而部分場(chǎng)景例如林肯數(shù)據(jù)集,雕塑上面的特征點(diǎn)對(duì)匹配結(jié)果比較重要。針對(duì)這個(gè)情況,我們訓(xùn)練了一個(gè)分類(lèi)網(wǎng)絡(luò)用來(lái)區(qū)分雕塑和行人,這樣既可以去掉行人又可以保留雕塑。
通過(guò)預(yù)處理操作,在 Phototourism 驗(yàn)證集 Stereo 和 Multiview 任務(wù)分別提升1.1%和0.3%。
特征點(diǎn)提取
Adapt Homographic


采用100次單應(yīng)矩陣變換,得到100張變換后的圖像,在這些圖像上利用 SuperPoint 模型分別提取特征點(diǎn),可以得到n個(gè)特征點(diǎn)的 heatmap,把這n個(gè) heatmap 疊加到一些,得到最后的heatmap,然后再根據(jù)需要選擇特征點(diǎn)。這樣做的好處除了可以提取更多的特征點(diǎn),也能讓特征點(diǎn)的位置更加合理。
由此,通過(guò)使用 Adapt Homographic,在 Phototourism 驗(yàn)證集 Stereo 和 Multiview 任務(wù)分別提升1.7%和1.3%。
Refinement
SuperPoint 提取出來(lái)的特征點(diǎn)是整數(shù),我們采用 soft argmax refinement 并且使用半徑為2的參數(shù),進(jìn)行亞像素化,使得特征點(diǎn)位置更加準(zhǔn)確。采用 refinement 方法,在 Phototourism 驗(yàn)證集 Stereo 和 Multiview 任務(wù)分別提升0.8%和0.35%。
NMS

通過(guò)觀察 DISK 特征方法提取出來(lái)的特征點(diǎn),會(huì)存在特征點(diǎn)密集扎堆的情況,這樣會(huì)導(dǎo)致部分區(qū)域沒(méi)有特征點(diǎn)。
為了緩解這類(lèi)情況,我們采用比較大半徑的 NMS,利用 NMS 半徑從3擴(kuò)展到10,從圖上可以反映出來(lái),特征點(diǎn)扎堆情況得到改善。在 PragueParks 驗(yàn)證集 Stereo 任務(wù)上,也得到0.57%的提升。
Pyramid Descriptor & Guided Pyramid Matching
分析 Corner Cases


在搭建完 baseline 之后,我們?cè)跍y(cè)試集里面隨機(jī)抽樣,選出部分圖片分析 corner cases。通過(guò)觀察,匹配效果并不好,主要是因?yàn)閮煞N情況,或者同時(shí)包含上述兩種情況:
尺度差距比較大
大角度旋轉(zhuǎn)
針對(duì)上述 corener cases,我們采取了金字塔描述子提取和引導(dǎo)匹配策略。

提取不同尺度和不同角度上面基于同一組特征點(diǎn)提取描述子,也就是在一副圖上提取特征點(diǎn),根據(jù)特征點(diǎn)的映射到不同圖片上提取描述子。
匹配時(shí)先設(shè)置一個(gè)閾值t,如果匹配數(shù)量大于閾值t就使用原尺度或者原角度匹配,當(dāng)小于閾值t時(shí),則采用多尺度匹配或者多角度匹配的疊加。
經(jīng)過(guò)修正,上述 corner cases 匹配效果得到了一定改善。


經(jīng)過(guò)上述策略在三個(gè)數(shù)據(jù)集驗(yàn)證集 Stereo 和 Multiview 任務(wù)平均提升0.4%。
Retrain SuperGlue
另外我們還重新訓(xùn)練了SuperGlue,這里體現(xiàn)在兩個(gè)方面。一個(gè)是將復(fù)現(xiàn)官方的 SuperPoint+SuperGlue 方法。第二個(gè)是使用效果更好的特征提取方法 DISK,訓(xùn)練 DISK+SuperGlue。其中DISK+SuperGlue 在 YFCC 驗(yàn)證集上面比 SuperPoint+SuperGlue 高4%左右。
針對(duì)比賽數(shù)據(jù)集,DISK+SuperGlue 在 Phototourism 上表現(xiàn)較好,但在其他另外兩個(gè)數(shù)據(jù)集效果較差,可能是因?yàn)?DISK在 Megadepth 上面訓(xùn)練,在建筑物數(shù)據(jù)集上面過(guò)擬合。而 SuperPoint 是在 COCO 上面訓(xùn)練的,COCO包含的場(chǎng)景更加豐富,所以泛化能力更強(qiáng)。
最后在 8k 賽道(unlimited keypoints),我們對(duì) SuperPoint+SuperGlue ,DISK+SuperGlue 進(jìn)行 ensemble,效果比二者單獨(dú)使用要更好。

RANSAC & Adapt FH
首先我們嘗試了多種 RANSAC 方法,例如 OpenCV 自帶的 RANSAC 方法,DEGENSAC 方法以及 MAGSAC++方法,通過(guò)實(shí)驗(yàn)發(fā)現(xiàn) DEGENSAC 效果最好。
另外 DEGENSAC 使用F矩陣進(jìn)行求解時(shí),會(huì)出現(xiàn)平面退化問(wèn)題,類(lèi)似下圖。

針對(duì)平面退化問(wèn)題,受到 ORB-SLAM 的啟發(fā),我們?cè)O(shè)計(jì)了一個(gè)自適應(yīng) FH 策略,具體算法為:

三、方案應(yīng)用:AR 導(dǎo)航
曠視一直重視將前沿算法與實(shí)際業(yè)務(wù)相結(jié)合,本文介紹的 Image Matching 技術(shù)已經(jīng)運(yùn)用在 S800V SLAM 機(jī)器人、AR導(dǎo)航等多個(gè)項(xiàng)目之中。
以“室內(nèi)視覺(jué)定位導(dǎo)航”為例,依賴(lài)大場(chǎng)景 SfM 稀疏點(diǎn)云重建技術(shù)和 Image Matching 等技術(shù),曠視實(shí)現(xiàn)了僅使用手機(jī)攝像頭,就能在復(fù)雜室內(nèi)場(chǎng)景進(jìn)行準(zhǔn)確定位和 AR 導(dǎo)航的功能。相比于傳統(tǒng)的 GPS、藍(lán)牙等室內(nèi)定位方案,“室內(nèi)視覺(jué)定位導(dǎo)航”具有厘米級(jí)建圖精度、亞米級(jí)定位精度且無(wú)需對(duì)室內(nèi)場(chǎng)景進(jìn)行額外布點(diǎn),滿(mǎn)足了客戶(hù)對(duì)室內(nèi)定位“高精度、易部署維護(hù)”的要求。
四、未來(lái)展望
在訓(xùn)練的時(shí)候可以加上強(qiáng)化學(xué)習(xí),重新訓(xùn)練整個(gè) pipeline。
增強(qiáng) DISK 的泛化能力,使用更多的數(shù)據(jù)集進(jìn)行訓(xùn)練。
使用 Refinements 網(wǎng)絡(luò),進(jìn)行對(duì)特征點(diǎn)的位置 refine。
參考文獻(xiàn)
如果覺(jué)得有用,就請(qǐng)分享到朋友圈吧!
公眾號(hào)后臺(tái)回復(fù)“CVPR21檢測(cè)”獲取CVPR2021目標(biāo)檢測(cè)論文下載~

# CV技術(shù)社群邀請(qǐng)函 #

備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測(cè)-深圳)
即可申請(qǐng)加入極市目標(biāo)檢測(cè)/圖像分割/工業(yè)檢測(cè)/人臉/醫(yī)學(xué)影像/3D/SLAM/自動(dòng)駕駛/超分辨率/姿態(tài)估計(jì)/ReID/GAN/圖像增強(qiáng)/OCR/視頻理解等技術(shù)交流群
每月大咖直播分享、真實(shí)項(xiàng)目需求對(duì)接、求職內(nèi)推、算法競(jìng)賽、干貨資訊匯總、與 10000+來(lái)自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺(jué)開(kāi)發(fā)者互動(dòng)交流~

