梁水波劉紫燕袁 浩孫昊堃梁 靜
(貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽(yáng)550025)
圖像特征的檢測(cè)及描述在計(jì)算機(jī)視覺(jué)任務(wù)中起著至關(guān)重要的作用,例如目標(biāo)檢測(cè)[1]、圖像檢索[2]、三維重建[3]、姿態(tài)估計(jì)[4]以及同時(shí)定位與建圖(Simultaneous Location and Mapping,SLAM)[5]等,其性能直接影響后續(xù)過(guò)程的效果,具有重要的理論價(jià)值和實(shí)踐意義。
一般來(lái)說(shuō),標(biāo)準(zhǔn)的局部圖像特征算法包含兩個(gè)模塊,即圖像特征點(diǎn)檢測(cè)和描述子。提取圖像中感興趣的點(diǎn),這些點(diǎn)被稱作特征點(diǎn)。對(duì)于每個(gè)特征點(diǎn),其內(nèi)部圖像位置通過(guò)檢測(cè)模塊確定,而其描述子則是通過(guò)描述模塊總結(jié)本地上下文信息來(lái)計(jì)算,并生成一個(gè)標(biāo)識(shí)性的向量來(lái)代表這個(gè)區(qū)域的特征。好的局部圖像特征應(yīng)具有特征檢測(cè)重復(fù)率高、速度快。特征描述對(duì)光照、旋轉(zhuǎn)、視點(diǎn)變化等圖像變換具有魯棒性強(qiáng)、特征描述符維度低、易于實(shí)現(xiàn)快速匹配等特點(diǎn)。設(shè)計(jì)一個(gè)對(duì)各種圖像變換具有高度鑒別性和魯棒性的優(yōu)秀圖像局部特征檢測(cè)算法并不是一件容易的工作。
早期局部特征的方法主要是手工制作,具有代表性的方法包括SIFT[6]、SURF[7]、ORB[8]、KAZE[9]、AKAZE[10]、BRISK[11]等。盡管手工制作的特征在各種計(jì)算機(jī)視覺(jué)任務(wù)中得到了廣泛的應(yīng)用,但是隨著模型表示能力的提高,由于其基于規(guī)則的算法設(shè)計(jì)性質(zhì)無(wú)法進(jìn)一步提高性能,且手工制作的方法在極端外觀環(huán)境下往往表現(xiàn)不佳,如白天與黑夜之間、季節(jié)和弱紋理等場(chǎng)景。
隨著硬件和深度學(xué)習(xí)技術(shù)的不斷發(fā)展,基于深度學(xué)習(xí)的特征提取和描述算法發(fā)展迅猛,效果與傳統(tǒng)手工設(shè)計(jì)的方法相比也能達(dá)到不錯(cuò)的效果。然而,當(dāng)前基于深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)方法的計(jì)算成本仍然很高,尤其是在大規(guī)模的數(shù)據(jù)集上。在如自動(dòng)駕駛汽車、機(jī)器人、智能攝像機(jī)等應(yīng)用場(chǎng)景,由于系統(tǒng)和應(yīng)用平臺(tái)的限制,標(biāo)準(zhǔn)的深度學(xué)習(xí)模型很難應(yīng)用起來(lái)。圖像局部特征檢測(cè)與描述任務(wù)作為基礎(chǔ)任務(wù),自然不能耗費(fèi)太多的軟硬件資源。
針對(duì)上述問(wèn)題,本文提出了一種結(jié)合注意力和多層特征融合的特征提取與描述算法。首先將RGB圖像序列輸入網(wǎng)絡(luò)中,通過(guò)多層卷積神經(jīng)網(wǎng)絡(luò)和注意力機(jī)制模塊后,將提取的特征分別操作進(jìn)行多任務(wù)學(xué)習(xí),最后,網(wǎng)絡(luò)的輸出分別為128維張量作為描述以及兩個(gè)衡量可靠性和重復(fù)性的置信度圖。本文提出的算法構(gòu)建的網(wǎng)絡(luò)可進(jìn)行端到端的訓(xùn)練,與當(dāng)前主流的深度學(xué)習(xí)方法相比,模型大小僅為1MB的情況下同時(shí)達(dá)到很好的效果。
本文的主要貢獻(xiàn)有以下幾點(diǎn):①提出了一種更加淺層但結(jié)果表現(xiàn)優(yōu)良的圖像局部特征檢測(cè)與描述框架,聯(lián)合估計(jì)圖像的特征點(diǎn)及其描述,且模型參數(shù)大小僅為1MB,遠(yuǎn)小于當(dāng)前流行的網(wǎng)絡(luò)。②在共享層中(Backbone)將殘差塊與膨脹卷積相結(jié)合,不對(duì)圖像進(jìn)行采樣和池化損失信息的條件下,在有限的層數(shù)以及不增加網(wǎng)絡(luò)參數(shù)的同時(shí)獲得更大的感受野和多尺度的特征。通過(guò)設(shè)計(jì)的跳躍連接,將低層信息與高層信息相融合。③將通道注意力運(yùn)用在此類任務(wù)中,基本不增加模型的復(fù)雜度的同時(shí)能提取更加優(yōu)良的特征。
在本節(jié)中,我們簡(jiǎn)要回顧眾所周知的局部特征檢測(cè)算法,這些特征可以分為四大類:手工制作的方法和三種基于DNN的方法。
SIFT是局部圖像描述領(lǐng)域的一項(xiàng)里程碑式的工作,已被廣泛應(yīng)用于許多視覺(jué)應(yīng)用中,并在很大程度上促進(jìn)后續(xù)在該領(lǐng)域提出的許多局部圖像描述符的發(fā)展,如廣泛應(yīng)用于行人檢測(cè)的顏色直方圖。SIFT的效果雖然很好,但其缺點(diǎn)是如果不借助硬件加速或?qū)iT的圖像處理器很難實(shí)現(xiàn)。SURF算子是針對(duì)SIFT的上述缺點(diǎn),通過(guò)使用積分圖像技術(shù)來(lái)逼近SIFT,以加快其計(jì)算速度。ORB特征描述算法的運(yùn)行時(shí)間遠(yuǎn)優(yōu)于SIFT與SURF,可用于實(shí)時(shí)性特征檢測(cè)。具有尺度與旋轉(zhuǎn)不變性,同時(shí)對(duì)噪聲及透視仿射也具有不變性。KAZE算法采取非線性擴(kuò)散濾波相比于SIFT與SURF算法提高了可重復(fù)性和獨(dú)特性。但是KAZE算法缺點(diǎn)在于計(jì)算密集,在移動(dòng)端實(shí)時(shí)性要求難以滿足,AKAZE是在KAZE基礎(chǔ)上進(jìn)行改進(jìn)的。BRISK算法中構(gòu)造了圖像金字塔進(jìn)行多尺度表達(dá),因此具有較好的旋轉(zhuǎn)不變性、尺度不變性,較好的魯棒性等。
通過(guò)使用順序連接的神經(jīng)網(wǎng)絡(luò),模仿手工制作的局部特征算法先檢測(cè)圖像中的關(guān)鍵點(diǎn),然后通過(guò)裁剪和匯總局部上下文信息來(lái)計(jì)算每個(gè)關(guān)鍵點(diǎn)周圍的描述符。Ono等人[12]利用warp的方式去構(gòu)建以雙圖像為輸入的自監(jiān)督網(wǎng)絡(luò),加入空間變換網(wǎng)絡(luò)(Spatial Transformer Networks,STN)結(jié)構(gòu)保證了一定的旋轉(zhuǎn)和尺度不變。每個(gè)網(wǎng)絡(luò)都包含其訓(xùn)練策略,分別針對(duì)檢測(cè)器或描述符進(jìn)行優(yōu)化。基于兩階段的方法的主要缺點(diǎn)是計(jì)算效率低下,因?yàn)轫樞蜻B接的網(wǎng)絡(luò)無(wú)法共享大量的計(jì)算和參數(shù),也無(wú)法完全實(shí)現(xiàn)并行計(jì)算。
通常將骨干網(wǎng)與兩個(gè)輕量級(jí)的頭分支連接起來(lái),由于骨干網(wǎng)絡(luò)在檢測(cè)器和描述符計(jì)算中共享大多數(shù)計(jì)算,因此這種算法可以大大減少運(yùn)行時(shí)間。DeTone等人[13]利用兩個(gè)獨(dú)立的解碼器對(duì)共享編碼器進(jìn)行檢測(cè)和描述,將隨機(jī)單應(yīng)性生成的合成形狀和圖像對(duì)被用來(lái)訓(xùn)練這兩個(gè)部分。Dusmanu等人[14]將深度特征圖的通道內(nèi)和通道間的局部最大值被定義為關(guān)鍵點(diǎn),相同的圖用于描述符。Noh等人[15]提出了DELF,這是一種針對(duì)圖像檢索的方法,通過(guò)使用大規(guī)模地標(biāo)圖像數(shù)據(jù)集訓(xùn)練的注意力機(jī)制,將局部特征作為分類損失的副產(chǎn)品進(jìn)行學(xué)習(xí)。Lin等人[16]對(duì)特征點(diǎn)檢測(cè)和描述的工作流程進(jìn)行了詳細(xì)論述,指明了潛在的發(fā)展趨勢(shì)。Revaud等人[17]的目標(biāo)是學(xué)習(xí)關(guān)鍵點(diǎn),這些關(guān)鍵點(diǎn)不僅可重復(fù)而且可靠,并且具有可靠的描述符,由于其聯(lián)合訓(xùn)練可靠性和重復(fù)性,網(wǎng)絡(luò)也取得了不錯(cuò)的效果。
還有許多方法僅專注于基于DNN的檢測(cè)器或描述符,如文獻(xiàn)[18-19]。由于檢測(cè)器或描述符都將影響彼此的性能,因此我們通常整體上采用一種局部特征算法。這些方法可以視為可插拔模塊,并且可以在兩階段算法中使用。本文主要側(cè)重于開(kāi)發(fā)基于DNN的一階段的模型。
本文所提出的網(wǎng)絡(luò)參照文獻(xiàn)[17]的中獲得可靠性和重復(fù)性的方式(下文稱為R2D2),其訓(xùn)練了一個(gè)全卷積神經(jīng)網(wǎng)絡(luò),輸入一張大小為N×H的圖片,網(wǎng)絡(luò)對(duì)其預(yù)測(cè)三個(gè)輸出。第一個(gè)是三維張量X∈?H×W×D,每個(gè)像素對(duì)應(yīng)一組密集的D維,作為描述符;第二個(gè)是可重復(fù)性置信度圖S∈[0,1]H×W,其目標(biāo)是提供稀疏與可重復(fù)的關(guān)鍵點(diǎn)位置;第三個(gè)輸出是關(guān)聯(lián)的可靠性置信度圖R∈[0,1]H×W,表示描述符Xij每個(gè)像素(i,j)的估計(jì)可靠性,即判別性,其中i=1..W和j=1..H。R2D2是對(duì)L2-Net[20]網(wǎng)絡(luò)進(jìn)行改進(jìn)的,與L2-Net相比,其將最后的8×8卷積層替換為3個(gè)2×2卷積層,從而將權(quán)重?cái)?shù)量減少了5倍,從而獲得了相似或稍高的精度。對(duì)于局部特征檢測(cè)這種低級(jí)任務(wù),作為多數(shù)任務(wù)的基礎(chǔ),該網(wǎng)絡(luò)模型在使用全尺寸的全卷積神經(jīng)網(wǎng)絡(luò)的條件下,層數(shù)太多導(dǎo)致提取的特征冗余性太大,占用了比較多的內(nèi)存,所耗費(fèi)的硬件資源也是巨大的。
我們的全卷積模型也是在全尺寸圖像上運(yùn)行,并在一次前向傳遞中共同計(jì)算興趣點(diǎn)的位置和相關(guān)描述符,通過(guò)訓(xùn)練得到的可靠性置信度圖和可重復(fù)性置信度圖,選取兩者乘積大于閾值的點(diǎn)進(jìn)行排序作為特征點(diǎn),描述則為對(duì)應(yīng)位置的128維向量。本文參照R2D2中獲取可靠性和重復(fù)性的損失函數(shù),與其不同的是本文的工作主要體現(xiàn)在基礎(chǔ)網(wǎng)絡(luò)特征提取部分,即如何在更少的卷積層數(shù)下獲得更好的特征。
本文的網(wǎng)絡(luò)由一個(gè)共享骨干Nb和兩個(gè)輕量級(jí)頭分支組成,即一個(gè)檢測(cè)分支Ndet和一個(gè)描述符分支Ndes。網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。骨干Nb由兩個(gè)卷積層和4個(gè)如圖2所示的基礎(chǔ)殘差模塊組成,殘差模塊由卷積層、激活函數(shù)以及批歸一化組成,其在提取特征的同時(shí)還能加快網(wǎng)絡(luò)的收斂。
圖1 本文的網(wǎng)絡(luò)結(jié)構(gòu)示意圖
圖2 基本殘差模塊
在骨干網(wǎng)絡(luò)中嵌入通道注意力模塊以及設(shè)計(jì)多重特征融合結(jié)構(gòu),從輸入圖像I∈RH×W中提取特征映射F∈?C×H×W。描述符分支Ndes與檢測(cè)器分支Ndet都以共享骨干Nb的128維張量作為輸入,對(duì)于描述符分支Ndes,輸入經(jīng)過(guò)?2范數(shù)后得到128維的特征圖作為描述符X。對(duì)于檢測(cè)器分支Ndet,輸入經(jīng)過(guò)逐像素平方x2、1×1卷積層和softmax運(yùn)算,得到每個(gè)描述符的可靠性置信度值R∈[0,1]H×W,同樣的運(yùn)算,將softmax替換成softplus,得到可重復(fù)性置信度值S∈[0,1]H×W。
對(duì)于僅有五層的骨干網(wǎng)絡(luò),在有限的層數(shù)下最大化提取感興趣特征,使網(wǎng)絡(luò)輕量的同時(shí)達(dá)到更好的效果,本文使用只含一層卷積層的基礎(chǔ)殘差塊來(lái)構(gòu)建骨干網(wǎng)絡(luò)。得益于這種聯(lián)合網(wǎng)絡(luò)結(jié)構(gòu),檢測(cè)器和描述符可以共享大多數(shù)參數(shù)和計(jì)算。
計(jì)算機(jī)視覺(jué)(Computer Vision)中的注意力機(jī)制(Attention Mechanism)的基本思想就是讓系統(tǒng)學(xué)會(huì)注意力,能夠忽略無(wú)關(guān)信息而關(guān)注重點(diǎn)信息。注意力模塊可嵌入到卷積神經(jīng)網(wǎng)絡(luò)中進(jìn)行一種簡(jiǎn)單而又有效的注意力機(jī)制部署。注意力模塊主要包含有通道注意力模塊、空間注意力模塊以及兩者的結(jié)合。最近,通道注意力機(jī)制被證明在改善深度卷積神經(jīng)網(wǎng)絡(luò)的性能方面具有巨大的潛力。本文受文獻(xiàn)[21]的啟發(fā),將通道注意力模塊集成到本文所提出的網(wǎng)絡(luò)架構(gòu)的特征提取中,以提升有效特征圖中的有效通道,抑制對(duì)當(dāng)前任務(wù)影響較小的特征通道,從圖像中提取更有效的特征,用于后續(xù)的特征點(diǎn)提取和描述。本文使用的通道注意力模塊結(jié)構(gòu)如圖3所示。
圖3 通道注意力模塊
給定輸入一張圖片,并假設(shè)這張圖片在神經(jīng)網(wǎng)絡(luò)內(nèi)部的某個(gè)特征圖X∈?H×W×C作為輸入,經(jīng)過(guò)不降低維數(shù)的通道全局平均池化(GAP),把一個(gè)特征圖x從大小為H×W×C變成1×1×C,通過(guò)執(zhí)行大小為K的快速一維卷積來(lái)生成通道的權(quán)值,其中K通過(guò)通道維度C的函數(shù)自適應(yīng)地確定。最后將所計(jì)算得到的通道的權(quán)值與特征圖逐元素相乘,得到經(jīng)過(guò)通道注意力的特征圖ˉx。
將通道注意力機(jī)制與所提出的網(wǎng)絡(luò)相結(jié)合,在卷積運(yùn)算的基礎(chǔ)上融合注意力機(jī)制,使得網(wǎng)絡(luò)能夠自主地更加關(guān)注更具有信息量的特征以及特征區(qū)域,并且可以學(xué)習(xí)到不同通道間相互關(guān)聯(lián)性,從而在不增加太多網(wǎng)絡(luò)復(fù)雜度的同時(shí)使得網(wǎng)絡(luò)提取到的特征更加優(yōu)良。
本文在不改變圖像輸出特征圖尺寸的前提下,網(wǎng)絡(luò)對(duì)圖像不進(jìn)行下采樣和池化操作,因此缺少多尺度信息。本文在骨干網(wǎng)絡(luò)部分依次使用膨脹率為1、2、4、8、16的膨脹卷積[22],圖4分別為膨脹率為1、2、4的卷積核示意圖。本文在骨干網(wǎng)絡(luò)前3層使用的卷積核大小為3×3,后兩層的卷積核則為2×2。膨脹卷積在不做池化操作損失信息的情況下,指數(shù)級(jí)增加感受野,讓每個(gè)卷積輸出都包含較大范圍的信息不需要增加模型參數(shù)(反而降低了模型參數(shù)),有效地增大了模型感受野的同時(shí)也獲得了多尺度的信息。
圖4 膨脹卷積核
本文使用不同的膨脹率的膨脹卷積來(lái)提取多個(gè)尺度下的特征,逐層傳遞多尺度信息,但隨著卷積層的層數(shù)增多,膨脹率的增大,特征逐漸抽象,會(huì)減弱部分細(xì)節(jié)信息。通過(guò)跳躍連接將低層的語(yǔ)義信息與高級(jí)的語(yǔ)義信息相融合,使網(wǎng)絡(luò)在層數(shù)很少的情況下提取到的特征更加優(yōu)良。其中骨干網(wǎng)絡(luò)的具體參數(shù)如表1所示。
表1 Backbone卷積參數(shù)
我們將可重復(fù)性視為一項(xiàng)自我監(jiān)督的任務(wù),并對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,使其可重復(fù)性置信度S中局部最大值位置是自然圖像變換的協(xié)變量,如視點(diǎn)或光照變化。設(shè)I和I′為同一場(chǎng)景的兩個(gè)圖像,并令U∈?H×W×2為它們之間的地面真實(shí)性對(duì)應(yīng),如果I和I′是自然圖像,則可以使用現(xiàn)有的光流或立體匹配算法來(lái)估計(jì)U,或者如果I是用已知的變換例如通過(guò)合成生成的,則可以精確地獲得U。令S和S′分別為圖像I和I′的重復(fù)性圖,S′U是根據(jù)U從圖像I′變形的熱圖。遵循S中的所有局部最大值都與S′U中的局部最大值相對(duì)應(yīng)。關(guān)鍵思想是最大化S和S′U之間的余弦相似度(以下稱為cosim)。當(dāng)cosim(S,S′U)最大化時(shí),它們的熱圖(heatmaps)是相同的,并且它們的最大值完全對(duì)應(yīng)。為了防止遮擋等問(wèn)題影響性能,本文將一幅圖像分為許多小補(bǔ)丁,在小補(bǔ)丁上計(jì)算平均余弦相似度。定義重疊的補(bǔ)丁為P={p},包含[1..W]×[1..H]中的所有N×N個(gè)補(bǔ)丁,并將損失定義為:
式中:S[p]∈?N2表示從S提取的矢量化(展平)的N×N補(bǔ)丁p,S′U[p]同理。通過(guò)使S與S′U保持恒定的值將會(huì)保持最小,為了避免這個(gè),我們采用了第二種損失函數(shù),如公式2所示,該函數(shù)試圖使可重復(fù)性圖的局部峰值最大化。
最后,所得的可重復(fù)性損失由兩個(gè)圖像的第一損失和第二損失的加權(quán)總和組成,如公式3所示。
為了增強(qiáng)可靠性,我們的網(wǎng)絡(luò)不僅會(huì)計(jì)算可重復(fù)性圖S,而且還會(huì)聯(lián)合提取密集的局部描述符X并針對(duì)每個(gè)描述符Xij∈?D預(yù)測(cè)置信度值Rij∈[0,1],估計(jì)其可靠性(即判別力)。目的是讓網(wǎng)絡(luò)學(xué)會(huì)在使描述符具有高置信度或低置信度的盡可能高的區(qū)分度之間進(jìn)行選擇,在這種情況下,丟失對(duì)描述符的影響將很小,例如對(duì)于不能被充分區(qū)分的區(qū)域。
描述符匹配問(wèn)題可以看作是排名優(yōu)化問(wèn)題,即給定兩個(gè)圖像I和I′,在I′中搜索來(lái)I的每個(gè)描述符作為查詢,并通過(guò)增加距離對(duì)I′中的所有描述符進(jìn)行排名。給定一批真實(shí)的圖像補(bǔ)丁,它們使用卷積神經(jīng)網(wǎng)絡(luò)來(lái)計(jì)算其描述符。然后,計(jì)算批次中所有補(bǔ)丁描述符之間歐幾里得的距離矩陣。矩陣中的每一行都可以解釋為第一個(gè)圖像的查詢補(bǔ)丁與第二個(gè)圖像的所有補(bǔ)丁之間的距離,充當(dāng)數(shù)據(jù)庫(kù)文檔。因此,訓(xùn)練包括最大化針對(duì)批次B中每個(gè)查詢q并在整個(gè)批次中計(jì)算平均的AP。本文訓(xùn)練可靠性的損失函數(shù)如式(4)、式(5)所示。
式中:AP是平均精度,κ∈[0,1]是一個(gè)超參數(shù),表示每個(gè)補(bǔ)丁的最小預(yù)期AP。
本文實(shí)驗(yàn)平臺(tái)如下:操作系統(tǒng)為Ubuntu16.04,深度學(xué)習(xí)框架為pytorch1.4,CPU為Intel i5-7500,內(nèi)存為16GB,GPU為NVIDIA GeForce 1070,顯存為8G。
本文的模型是在圖像來(lái)源于網(wǎng)絡(luò)的Oxford and Paris retrieval數(shù)據(jù)集和包含來(lái)自德國(guó)亞琛老城區(qū)圖像的Aachen Day-Night數(shù)據(jù)集上訓(xùn)練的。
在HPatches數(shù)據(jù)集上對(duì)我們的模型進(jìn)行驗(yàn)證,它是此任務(wù)中最受歡迎和最大的數(shù)據(jù)集。它包括116個(gè)圖像序列,其中每個(gè)序列由一個(gè)參考圖像和五個(gè)目標(biāo)圖像組成,參考圖像和目標(biāo)圖像之間的單應(yīng)性已經(jīng)過(guò)仔細(xì)校準(zhǔn)。該數(shù)據(jù)集還可以進(jìn)一步分為57個(gè)包含大光照變化的序列和59個(gè)大視角變化的序列。
采用Adam優(yōu)化器進(jìn)行優(yōu)化,其中數(shù)據(jù)批次大小(batch size)為4,學(xué)習(xí)率為0.001,權(quán)重衰減為0.0005,循環(huán)(epoch)為25。
對(duì)于特征點(diǎn)提取這種任務(wù),模型需要足夠小、足夠快、能耗足夠低。本文參照平均匹配精度(Mean Matching Accuracy,MMA)對(duì) 模 型 進(jìn) 行 比 較,在Hpatches數(shù)據(jù)集上,以MMA分?jǐn)?shù)作為評(píng)價(jià)指標(biāo),其中MMA分?jǐn)?shù)是考慮多個(gè)像素錯(cuò)誤閾值的圖像對(duì)中正確匹配的平均百分比。
從表2中可以看出基于DNN的方法的訓(xùn)練數(shù)據(jù)(約束越小越好),模型大小(越小越好)以及描述符的維度(越小越好)。
表2 基于DNN的訓(xùn)練數(shù)據(jù),模型大小和描述符的維數(shù)
本文的訓(xùn)練數(shù)據(jù)雖然由兩種類型的訓(xùn)練數(shù)據(jù)組成,但是在模型的大小和描述符的維度上取得了很大的優(yōu)勢(shì),模型的權(quán)重大小為比較數(shù)據(jù)中最小。模型的權(quán)重大小對(duì)于網(wǎng)絡(luò)的部署起著至關(guān)重要的作用,綜合下來(lái),我們的模型在其他基于DNN的方法中取得了很不錯(cuò)的效果。
為了驗(yàn)證本算法的性能,將本文的模型與現(xiàn)有技術(shù)進(jìn)行比較,選擇7種流行的基于深度學(xué)習(xí)方法,即LF-Net[12]、SuperPoint[13]、D2-Net[14]、DELF[15]、R2D2[17]、帶有HesAffNet[23]區(qū)域的HardNet++描述符(HAN+HN++)[24]、帶有RootSIFT描述符的手工制作的Hessian仿射檢測(cè)器[25]。圖5展示了所有圖像對(duì)中每個(gè)閾值的平均分?jǐn)?shù)。比較方法中不包括單個(gè)檢測(cè)器或描述符算法,因?yàn)樗鼈兊慕M合是多種多樣的,并且很難與上述方法進(jìn)行公平的比較。
圖5 對(duì)HPatches數(shù)據(jù)集圖像對(duì)的評(píng)估結(jié)果
圖5 對(duì)比了照明和視點(diǎn)變化的結(jié)果,以及在HPatches數(shù)據(jù)集上的整體性能??梢杂^察到,我們的方法在模型大小僅僅只有1 MB大小的情況下明顯優(yōu)于現(xiàn)有的技術(shù),在2~6閾值內(nèi)總體上的MMA值分別為0.57、0.71、0.78、0.81、0.83,與R2D2相比,分別提升了2.3%、2.4%、1.9%、1.4%、1.1%。但是DELF對(duì)于光照變化的表現(xiàn)最佳,可以解釋的是,其使用固定的關(guān)鍵點(diǎn)網(wǎng)格,且該圖像子集沒(méi)有空間變化。對(duì)于R2D2在視點(diǎn)變化的表現(xiàn),我們的網(wǎng)絡(luò)也僅此于它的效果。我們的方法明顯優(yōu)于聯(lián)合檢測(cè)器和描述符,例如D2-Net。綜合下來(lái),我們的方法在模型大小更低的條件下,取得了不錯(cuò)的表現(xiàn)。
本文的模型在NVIDIA GeForce 1070 GPU上訓(xùn)練一個(gè)epoch需要花費(fèi)約50 min,對(duì)比R2D2網(wǎng)絡(luò),同樣的硬件條件下,其訓(xùn)練一個(gè)epoch需要花費(fèi)約80 min,兩者對(duì)比更加證明了模型大小對(duì)于推理的時(shí)間的影響,綜合下來(lái),本文的模型具有較大優(yōu)勢(shì)。
在平均匹配精度的結(jié)果上,本文的方法在不考慮模型大小的條件下與R2D2的表現(xiàn)接近。隨機(jī)抽取了兩張圖片對(duì)這樣中算法的檢測(cè)結(jié)果進(jìn)行對(duì)比,結(jié)果如圖6~圖9所示。
圖6 R2D2的提取檢測(cè)結(jié)果及熱圖
圖9 本文網(wǎng)絡(luò)模型的提取檢測(cè)結(jié)果及熱圖
如圖6~圖9所示,展示了兩種方法提取的特征點(diǎn)的對(duì)比,圖6和圖8是R2D2提取得到的結(jié)果,圖7和圖9是本文網(wǎng)絡(luò)提取的結(jié)果。每幅圖的左邊為輸入的圖像以及檢測(cè)到的關(guān)鍵點(diǎn),圖中間為提取到的可重復(fù)性熱圖,圖的右邊為圖的可靠性熱圖,均為覆蓋在原始圖像上的樣式。其中圖中的交叉點(diǎn)就是特征點(diǎn),其可重復(fù)且可靠??梢钥闯觯琑2D2在圖6與圖8中,在水面和天空中提取了一些特征點(diǎn),這些特征點(diǎn)對(duì)于現(xiàn)實(shí)應(yīng)用是不能匹配的。而對(duì)比本文的網(wǎng)絡(luò),得益于網(wǎng)絡(luò)能提取更加優(yōu)良的特征,盡管很小,本網(wǎng)絡(luò)仍然能夠區(qū)分天空和水面區(qū)域是無(wú)法匹配的區(qū)域,大大減少在此類區(qū)域下的特征點(diǎn),且表現(xiàn)比R2D2算法更加優(yōu)良。
圖7 本文網(wǎng)絡(luò)模型的提取檢測(cè)結(jié)果及熱圖
圖8 R2D2的提取檢測(cè)結(jié)果及熱圖
為了減輕基于深度學(xué)習(xí)的圖像局部特征檢測(cè)與描述模型參數(shù)大和內(nèi)存資源消耗大的問(wèn)題,本文提出了一種更加輕量的局部特征檢測(cè)網(wǎng)絡(luò),通過(guò)注意力機(jī)制模塊以及多層特征融合使網(wǎng)絡(luò)在層數(shù)很少的情況下,最大限度的獲得優(yōu)良的特征。下一步計(jì)劃是將網(wǎng)絡(luò)應(yīng)用在視覺(jué)里程計(jì)領(lǐng)域,移植到移動(dòng)機(jī)器人上以構(gòu)建實(shí)時(shí)的視覺(jué)里程計(jì)和SLAM系統(tǒng)。