諶鐘毓,韓 燮,謝劍斌,2,熊風(fēng)光,況立群
1.中北大學(xué) 大數(shù)據(jù)學(xué)院,太原 030051
2.國(guó)防科技大學(xué) 電子科學(xué)學(xué)院,長(zhǎng)沙 410073
如何對(duì)多幅圖像進(jìn)行精確匹配是計(jì)算機(jī)視覺中的一個(gè)重要問題,最近鄰匹配[1]是一種常見的匹配方法,并且產(chǎn)生了不少的改進(jìn)算法。然而,這類匹配方法通常需要檢索較多的鄰近點(diǎn)并從中求解出最優(yōu)的匹配塊,導(dǎo)致匹配量大,計(jì)算復(fù)雜度高。因此,以稀疏特征點(diǎn)來代替像素塊進(jìn)行圖像匹配成為提升計(jì)算效率的一個(gè)重要手段。特征檢測(cè)算法可以從二維圖像集中創(chuàng)建相似的匹配特征點(diǎn),然后通過更高層次的視覺管道,完成三維建模、目標(biāo)檢測(cè)及物體識(shí)別等任務(wù)。特征檢測(cè)算法在計(jì)算機(jī)視覺研究中受到了極大關(guān)注,涌現(xiàn)了諸多經(jīng)典算法,如SIFT[2]特征檢測(cè)器、Harris[3]角點(diǎn)檢測(cè)器、ORB[4]檢測(cè)器、SURF[5]特征點(diǎn)檢測(cè)器等。SIFT和SURF雖然檢測(cè)特征點(diǎn)的準(zhǔn)確度較高,但算法運(yùn)算量大,對(duì)邊緣光滑的目標(biāo)無法準(zhǔn)確提取特征,而Harris和ORB也有檢測(cè)精度不夠和不具有旋轉(zhuǎn)不變性等問題。近些年來,隨著深度學(xué)習(xí)的出現(xiàn),一些學(xué)者采用神經(jīng)網(wǎng)絡(luò)來替代傳統(tǒng)方法中自己制作檢測(cè)器的過程,以訓(xùn)練網(wǎng)絡(luò)的形式來逐步完成對(duì)特征點(diǎn)檢測(cè)的優(yōu)化[6]。其中,LIFT[7]檢測(cè)器按照SIFT的流程對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行了重構(gòu);SuperPoint[8]檢測(cè)器建立了自監(jiān)督學(xué)習(xí)框架,適用于大規(guī)模多視圖像的特征點(diǎn)檢測(cè)與描述;DELF[9]檢測(cè)器則用在圖像檢索的檢測(cè)和描述上。這些學(xué)習(xí)型方法通常是通過提升低層視覺的匹配準(zhǔn)確率來進(jìn)行啟發(fā)式學(xué)習(xí),從而訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)的各項(xiàng)參數(shù),性能上常常優(yōu)于傳統(tǒng)自制的檢測(cè)器。然而,在高級(jí)視覺任務(wù)中,低層圖像匹配準(zhǔn)確率的提升未必就能帶來更佳性能。例如,SuperPoint檢測(cè)器在估算圖像對(duì)的基礎(chǔ)矩陣時(shí)性能低于傳統(tǒng)的SIFT檢測(cè)器[10],同樣,LIFT檢測(cè)器在三維結(jié)構(gòu)重建方面亦不如SIFT[11]。
針對(duì)學(xué)習(xí)型檢測(cè)器在高級(jí)視覺任務(wù)中存在的檢測(cè)精度不高的問題,本文提出一種雙損失誤差策略下的強(qiáng)化學(xué)習(xí)方法,利用端到端的訓(xùn)練方式從兩方面聯(lián)合計(jì)算損失效果,從而優(yōu)化完整神經(jīng)網(wǎng)絡(luò)的可學(xué)習(xí)參數(shù),達(dá)到在低級(jí)和高級(jí)視覺任務(wù)中同時(shí)提升匹配性能的目標(biāo)。
本文提出了雙損失估計(jì)下強(qiáng)化學(xué)習(xí)型圖像匹配算法,該算法流程如圖1所示。首先,對(duì)于輸入的一對(duì)原始圖像,采用學(xué)習(xí)型特征檢測(cè)器LIFT獲得每幅圖像的特征點(diǎn)。其次,對(duì)特征檢測(cè)器網(wǎng)絡(luò)所輸出的特征點(diǎn)和描述符賦予其概率上的意義,建立概率上的特征匹配關(guān)系。然后,為了提升高級(jí)視覺任務(wù)的性能,從圖像姿態(tài)損失和關(guān)鍵點(diǎn)損失誤差兩個(gè)方面設(shè)計(jì)損失函數(shù),一方面是圖像間真實(shí)的相對(duì)位姿T*與通過管道之后計(jì)算所得的相對(duì)位姿T′之間的損失差值,另一方面是在圖像上利用幾何約束關(guān)系,計(jì)算要查詢的點(diǎn)和所預(yù)測(cè)匹配的關(guān)鍵點(diǎn)之間的損失誤差。最后,產(chǎn)生的聯(lián)合損失誤差用于強(qiáng)化學(xué)習(xí)關(guān)鍵點(diǎn)及其匹配概率,通過多輪強(qiáng)化學(xué)習(xí)迭代,優(yōu)化得到可學(xué)習(xí)網(wǎng)絡(luò)參數(shù)w,最終提高圖像間稀疏特征點(diǎn)的匹配精度。
圖1 算法流程Fig.1 Algorithm flow chart
本文算法的一個(gè)重點(diǎn)是從兩個(gè)方面來聯(lián)合設(shè)計(jì)損失函數(shù),以期在高級(jí)視覺任務(wù)中取得良好性能,下面分別闡述這兩個(gè)損失估計(jì)策略的技術(shù)路線。
首先,通過所在網(wǎng)絡(luò)中輸入的兩幅圖像I和I′,得到各自關(guān)鍵點(diǎn)的匹配和描述子。將它們放入魯棒估計(jì)器,如RANSAC[12]和五點(diǎn)求解器[13]等,以尋找一個(gè)合適的基礎(chǔ)矩陣,然后再分解基礎(chǔ)矩陣,從而得到一個(gè)相對(duì)變換的估計(jì)T′。本文將上述得到相對(duì)變換的估計(jì)T′過程理解為一個(gè)黑盒,不必關(guān)注具體實(shí)現(xiàn)細(xì)節(jié),以端到端的形式去實(shí)現(xiàn),通過比較真實(shí)值T*與估計(jì)值T′之間的損失來對(duì)網(wǎng)絡(luò)可學(xué)習(xí)參數(shù)w進(jìn)行優(yōu)化。因?yàn)樗玫降膿p失不能傳回特征檢測(cè)器用來優(yōu)化網(wǎng)絡(luò)參數(shù),所以通過強(qiáng)化學(xué)習(xí)的方式,即,選擇一個(gè)關(guān)鍵點(diǎn)或兩個(gè)關(guān)鍵點(diǎn)匹配為概率動(dòng)作,利用概率的形式優(yōu)化網(wǎng)絡(luò)參數(shù)w,并且以抽樣的方式采集部分匹配點(diǎn),以期剔除一些不可靠的關(guān)鍵點(diǎn),最后,將它們運(yùn)用在后面估算相對(duì)姿態(tài)T′的黑盒中。
其次,將圖像對(duì)間的相對(duì)位姿(I,I′,T*)轉(zhuǎn)換為圖像對(duì)間的極限約束。核心思想是利用相對(duì)位姿和相機(jī)的固有特性,引入極線損失Lp和返回?fù)p失Lr兩個(gè)概念,計(jì)算關(guān)鍵點(diǎn)與極線之間的誤差,從而起到優(yōu)化描述子的作用。
算法的另一個(gè)重點(diǎn)是如何概率化關(guān)鍵點(diǎn)和描述符,并通過二者優(yōu)化可學(xué)習(xí)網(wǎng)絡(luò)參數(shù)w,從而達(dá)到提高匹配精度的效果,該部分內(nèi)容將在下章詳細(xì)闡述。
許多研究通過最近鄰匹配[14]來建立關(guān)鍵點(diǎn)之間的對(duì)應(yīng)關(guān)系,然而這是一個(gè)不可微的操作,因此本文將關(guān)鍵點(diǎn)的匹配以概率的形式表現(xiàn),并以梯度下降的方式來優(yōu)化所設(shè)置的參數(shù)。
給定一個(gè)網(wǎng)絡(luò)所預(yù)測(cè)的描述符F(x;w),其中w表示與特征檢測(cè)和描述相關(guān)的可學(xué)習(xí)參數(shù)。設(shè)mij為圖像I上的一個(gè)關(guān)鍵點(diǎn)xi與另一幅圖像上的關(guān)鍵點(diǎn)x′j所對(duì)應(yīng)的匹配。X={xi}為一幅圖像的所有關(guān)鍵點(diǎn)的集合。通過描述符之間距離以概率的形式表現(xiàn),得到了一個(gè)圖像I中某一點(diǎn)xi與I′上的某一點(diǎn)x′j匹配的概率,這個(gè)概率可以表示為公式(1):
2.3.1 相對(duì)位姿損失估計(jì)
這部分算法主要計(jì)算出相對(duì)位姿真實(shí)值T*與通過黑盒管道計(jì)算所得值T′之間的誤差損失l(M),因此,只需要計(jì)算出損失值的本身而不是它的梯度。本文的訓(xùn)練目標(biāo)是減少采樣關(guān)鍵點(diǎn)時(shí)的預(yù)期任務(wù)損失,并根據(jù)可學(xué)習(xí)參數(shù)w參數(shù)化的概率分布進(jìn)行匹配,如公式(5):
由上述公式,梯度更新可學(xué)習(xí)參數(shù)w,遵循Williams[15]的經(jīng)典的強(qiáng)化學(xué)習(xí)算法如公式(6)所示:
在梯度計(jì)算中通過抽樣來近似期望,來分別計(jì)算關(guān)鍵點(diǎn)和匹配的期望。
2.3.2 幾何約束損失估計(jì)
幾何約束損失估計(jì)利用了匹配圖像上特征點(diǎn)的極線約束關(guān)系。極線約束可以表示為1=0,F(xiàn)x1可以表示為在I′中與x1對(duì)應(yīng)的極線。將x1作為確定點(diǎn),x2作為在另一幅圖像中與x1最匹配的預(yù)測(cè)點(diǎn)。此部分是使用概率的方式計(jì)算兩個(gè)損失:極線損失Lp和返回?fù)p失Lr,如圖2所示。
圖2 極線損失和返回?fù)p失Fig.2 Epipolar loss and return loss
至此,本文設(shè)計(jì)出了關(guān)鍵點(diǎn)損失函數(shù)。在真實(shí)的訓(xùn)練過程中,一個(gè)確定點(diǎn)在另一幅圖像中是否存在真的對(duì)應(yīng)點(diǎn)還未可知(可能由于遮擋或者裁剪而丟失),因此一味減少這些點(diǎn)的損失會(huì)導(dǎo)致錯(cuò)誤的訓(xùn)練結(jié)果。針對(duì)該問題,通過計(jì)算總方差重新加權(quán)每個(gè)點(diǎn)的損失,從而得到最終的加權(quán)損失函數(shù),見公式(9):
其中,n為兩幅圖像中匹配點(diǎn)的數(shù)目,α為返回?fù)p失函數(shù)在整個(gè)損失函數(shù)中所占的權(quán)重。為避免返回?fù)p失過大而降低了極線損失的影響,實(shí)驗(yàn)中α取值0.7。同時(shí),權(quán)值1/σ2(xi)被歸一化,使得和為1。這種加權(quán)策略削弱了不可匹配訓(xùn)練點(diǎn)的效果,對(duì)快速收斂至關(guān)重要。
2.3.3 累計(jì)損失
估計(jì)累積損失可以使用平均絕對(duì)誤差或者均方根誤差,進(jìn)行損失的累積計(jì)算。通過2.3.1小節(jié)和2.3.2小節(jié)計(jì)算出相對(duì)位姿和圖像幾何約束的損失,本文對(duì)其平均絕對(duì)誤差進(jìn)行相加,并引入幾何約束損失所對(duì)應(yīng)的權(quán)重δ,以擴(kuò)大或者縮小該部分對(duì)整體的影響,聯(lián)合損失誤差函數(shù)如公式(10)所示:
再按照2.3.1節(jié)所述的強(qiáng)化學(xué)習(xí)梯度更新算法,對(duì)w進(jìn)行優(yōu)化。
實(shí)驗(yàn)中使用H-Patches數(shù)據(jù)集作為驗(yàn)證與測(cè)試,部分圖像樣本如圖3中的第1行所示。該數(shù)據(jù)集包含116個(gè)不同場(chǎng)景下的圖像,其中57個(gè)場(chǎng)景進(jìn)行了光照變換,另外59個(gè)場(chǎng)景進(jìn)行了視角變換。此外,本文進(jìn)一步按照特定方法[16]制作了6個(gè)室外和3個(gè)室內(nèi)視頻數(shù)據(jù)集,作為訓(xùn)練集使用,部分樣本如圖3中的第2行所示。
圖3 數(shù)據(jù)集樣本圖Fig.3 Sample images of dataset
為了評(píng)估本文算法的有效性和可行性,本文與現(xiàn)有的一些主流描述符探測(cè)器進(jìn)行性能評(píng)估及對(duì)比分析。實(shí)驗(yàn)硬件環(huán)境為Intel?Core?i7-9700 CPU@3.00 GHz處理器、16 GB內(nèi)存和NIVIDIA GeForce RTX 2070 SUPER顯卡。實(shí)驗(yàn)軟件為:使用pytorch(版本2.7)對(duì)LIFT進(jìn)行訓(xùn)練,并利用openCV對(duì)相對(duì)姿態(tài)和匹配精度進(jìn)行估計(jì)。
實(shí)驗(yàn)中選取了當(dāng)前兩種主流的、準(zhǔn)確度較高的探測(cè)器,包括傳統(tǒng)RANSAC[12]估計(jì)器和基于深度學(xué)習(xí)的RANSAC(NG-RANSAC)[17]估計(jì)器,并對(duì)所得出相對(duì)姿態(tài)誤差的AUC指標(biāo)進(jìn)行比較。傳統(tǒng)RANSAC估計(jì)器的實(shí)驗(yàn)結(jié)果如圖4所示,可以看出本文算法的估計(jì)精度顯著高于傳統(tǒng)特征檢測(cè)器SIFT,以及學(xué)習(xí)型特征檢測(cè)器LIFT和SuperPoint。
圖4 基于RANSAC的相對(duì)姿態(tài)精度估計(jì)Fig.4 Relative pose accuracy estimation based on RANSAC
由于本文算法為學(xué)習(xí)型特征檢測(cè)器,為了充分發(fā)揮其自學(xué)習(xí)的優(yōu)勢(shì),進(jìn)一步采用學(xué)習(xí)型估計(jì)器NGRANSAC進(jìn)行相同實(shí)驗(yàn),并加入兩個(gè)基于CNN的圖像匹配方法[18-19]進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如圖5所示。實(shí)驗(yàn)結(jié)果顯示本文算法顯著提高了LIFT[7]的相對(duì)位姿估計(jì)精度,同時(shí)其估計(jì)精度也略高于SuperPoint[8]、CNN[18]和RCNN[19]。由于SIFT為傳統(tǒng)型特征檢測(cè)器,不支持神經(jīng)網(wǎng)絡(luò)引導(dǎo)的估計(jì)器NG-RANSAC,故圖5中無SIFT實(shí)驗(yàn)結(jié)果。
圖5 基于NG-RANSAC的相對(duì)姿態(tài)精度估計(jì)Fig.5 Relative pose accuracy estimation based on NG-RANSAC
與圖4相對(duì)比,圖5中本文算法精度有了顯著提升,為了驗(yàn)證是否是NG-RANSAC對(duì)本文的網(wǎng)絡(luò)改進(jìn)產(chǎn)生了影響,進(jìn)一步進(jìn)行了消融研究,結(jié)果如圖6所示。在端到端的訓(xùn)練中,要么只更新文中算法,要么只更新NG-RANSAC,要么兩者都更新,圖6中ours(init)和ours(e2e)分別表示本文算法原始參數(shù)值和端對(duì)端訓(xùn)練后參數(shù)值;而NR(init)和NR(e2e)則分別表示NG-RANSAC估計(jì)器的原始參數(shù)值和端對(duì)端訓(xùn)練后參數(shù)值。實(shí)驗(yàn)結(jié)果表明,在逐步更新探測(cè)器參數(shù)的同時(shí),AUC的精度也在逐漸提高,說明NG-RANSAC在整個(gè)訓(xùn)練過程中適應(yīng)本文網(wǎng)絡(luò)并影響著整個(gè)網(wǎng)絡(luò)。
圖6 消融實(shí)驗(yàn)Fig.6 Ablation study
在H-Patches數(shù)據(jù)集上對(duì)本文算法進(jìn)行了圖像匹配的測(cè)試,如表1所示。實(shí)驗(yàn)中選取了傳統(tǒng)方法和深度學(xué)習(xí)方法共七種特征檢測(cè)器,并比較它們?cè)谄ヅ湫阅苌系牟町悺?/p>
表1 圖像匹配性能比較Table 1 Image matching performance comparison
由表1可知,在傳統(tǒng)方法中,SIFT雖然檢測(cè)到的匹配點(diǎn)較多,但其匹配精度不高(只有80.5%)且匹配時(shí)間較長(zhǎng);而ORB檢測(cè)到的匹配點(diǎn)少,但運(yùn)行時(shí)間較短,適合使用在需要實(shí)時(shí)檢測(cè)的情況下。同時(shí),如表1所示,使用深度學(xué)習(xí)的特征檢測(cè)器無論是在匹配精度和運(yùn)算時(shí)間上的效果都比傳統(tǒng)方法性能上要優(yōu)良一些。此外,本文算法將LIFT匹配精度提高了約5個(gè)百分點(diǎn),為高級(jí)視覺任務(wù)提供了強(qiáng)有力的支撐。
隨后,進(jìn)一步使用LIFT所得的特征匹配點(diǎn)與本文改進(jìn)算法進(jìn)行分析比較,實(shí)驗(yàn)結(jié)果如圖7~9所示。在圖7中,左圖為L(zhǎng)IFT所檢測(cè)到的特征點(diǎn),右圖為本文算法所檢測(cè)到的特征點(diǎn)。文中的算法為了提高匹配的精度而剔除了一些不合適的關(guān)鍵點(diǎn),相應(yīng)地調(diào)整了部分剩下的關(guān)鍵點(diǎn)位置,可以達(dá)到提高低級(jí)視覺任務(wù)的準(zhǔn)確度從而達(dá)到改善更高水平視覺任務(wù)的效果。
圖7 特征點(diǎn)比較Fig.6 Feature point comparison
部分圖像(圖3中第2行第1幅圖以及第1行前3幅圖)的匹配效果對(duì)比如圖8和圖9所示。圖8為L(zhǎng)IFT算法匹配效果,圖9為本文算法匹配效果。從效果圖可知,圖8中LIFT算法還存在較多不正確的匹配點(diǎn),且檢測(cè)到的特征點(diǎn)也較多,加大了探測(cè)時(shí)間和服務(wù)器運(yùn)行壓力,不利于后續(xù)在其他視覺任務(wù)中的處理。圖9中本文算法剔除了一些不利于匹配的關(guān)鍵點(diǎn),不僅減少了關(guān)鍵點(diǎn)檢測(cè)時(shí)間,還必將改善后續(xù)的三維重建等高級(jí)視覺任務(wù)。
圖8 LIFT算法匹配效果Fig.8 Image matching effect of LIFT algorithm
圖9 本文算法匹配效果Fig.9 Matching effect of our algorithm
本文數(shù)據(jù)集中包含了不同光照條件下的圖像,整體匹配效果較好。對(duì)于低照度情況下的圖像匹配問題,有些文獻(xiàn)專門進(jìn)行了研究分析[20],因此,本文就此開展相關(guān)實(shí)驗(yàn)。一方面,在H-Patches中選取多張不同光暗條件下的同一幅圖像驗(yàn)證本文算法。另一方面,使用與表1所做實(shí)驗(yàn)相同的圖像集和探測(cè)器,僅將圖像修改為低照度情況,然后分析各探測(cè)器匹配性能,實(shí)驗(yàn)結(jié)果如表2所示。本文算法在不同低照度情況下匹配效果如圖10所示。
表2 低照度下匹配性能比較Table 2 Comparison of matching performance under low illumination
圖10 不同光照下的匹配效果Fig.10 Matching effect under different illumination
從表2和圖10中可以看出,由于描述子大多與像素值有關(guān),所以光線較暗情況下各算法的匹配性能都受到了一定程度的影響,但是在不同照度條件下圖像上所檢測(cè)到關(guān)鍵點(diǎn)的個(gè)數(shù)基本保持不變,匹配對(duì)個(gè)數(shù)隨照度的降低逐漸減少,匹配的準(zhǔn)確率都略微有所下降,總體上,本文算法在低照度情況下具有較強(qiáng)的魯棒性,匹配效果依然保持良好。
本文提出了一種基于雙損失估計(jì)策略的強(qiáng)化學(xué)習(xí)的方法,將特征點(diǎn)以概率方式進(jìn)行描述與配對(duì),并從相對(duì)位姿損失和幾何約束損失兩個(gè)方面來聯(lián)合訓(xùn)練特征檢測(cè)器內(nèi)的可學(xué)習(xí)參數(shù),增強(qiáng)了神經(jīng)網(wǎng)絡(luò)的魯棒性。同時(shí),訓(xùn)練中通過移除不可靠的關(guān)鍵點(diǎn)和細(xì)化關(guān)鍵點(diǎn)位置,提高了配對(duì)特征點(diǎn)的配準(zhǔn)精度。下一步,將進(jìn)一步擴(kuò)展本文工作,將配對(duì)關(guān)鍵點(diǎn)應(yīng)用于基于圖像集合的三維模型重建研究。