石國(guó)強(qiáng),趙 霞,陳星洲,陳雨佳,陳 萌,郭 松,陳 鳳
(1.同濟(jì)大學(xué) 電子與信息工程學(xué)院,上海 201804;2.上海宇航系統(tǒng)工程研究所,上海 201109)
近年來(lái),各國(guó)研發(fā)了大量滿足不同需求的航天器。由于太空環(huán)境惡劣以及設(shè)計(jì)、制造等因素,航天器在運(yùn)行過(guò)程中會(huì)發(fā)生一些不可避免的故障,航天器維修、生命延長(zhǎng)等在軌服務(wù)技術(shù)在空間競(jìng)爭(zhēng)中非常重要。對(duì)空間目標(biāo)進(jìn)行精確三維重建是實(shí)現(xiàn)上述在軌服務(wù)的基礎(chǔ),其中局部圖像匹配是基于序列圖像三維重建的重要步驟之一。除此之外,局部圖像匹配還廣泛應(yīng)用于計(jì)算機(jī)視覺的其他領(lǐng)域,如目標(biāo)識(shí)別、圖像拼接、運(yùn)動(dòng)結(jié)構(gòu)。局部圖像匹配由特征描述和特征匹配兩部分組成,特征匹配主要采用歐式距離計(jì)算方法。傳統(tǒng)的局部特征描述符提取是基于圖像處理技術(shù),如幾何特征提取、灰度比較等,在此基礎(chǔ)上生成64 維、128 維甚至更高維數(shù)用于描述該特征點(diǎn)的向量。該方法需要設(shè)計(jì)者具有豐富的設(shè)計(jì)經(jīng)驗(yàn)以及大量的調(diào)試工作,同時(shí)難以滿足實(shí)際應(yīng)用中對(duì)復(fù)雜環(huán)境下特征點(diǎn)描述的要求。
近些年,深度卷積神經(jīng)網(wǎng)絡(luò)在眾多計(jì)算機(jī)視覺領(lǐng)域取得巨大成功[1-4],如圖像分類、目標(biāo)定位、目標(biāo)跟蹤等,實(shí)驗(yàn)結(jié)果表明:神經(jīng)網(wǎng)絡(luò)可以從大量帶有標(biāo)注信息的圖像中,有效地學(xué)習(xí)到不同圖像深層特征。圖像內(nèi)各種幾何紋理特征被網(wǎng)絡(luò)反復(fù)進(jìn)行學(xué)習(xí)和優(yōu)化,最終得到用于描述圖像的高度深層特征,這些特征能夠準(zhǔn)確地描述圖像內(nèi)各個(gè)目標(biāo)。針對(duì)深度卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)秀特征提取能力,本文設(shè)計(jì)了一種基于卷積神經(jīng)網(wǎng)絡(luò)的局部圖像特征描述方法,為局部圖像的特征描述提供了一種魯棒性更強(qiáng)、速度更快的算法。相比于傳統(tǒng)特征描述符算法,本文方法將特征提取時(shí)間縮短了50%,特征匹配時(shí)間縮短了60%。
目前圖像匹配算法主要分為兩類——基于圖像特征工程和基于學(xué)習(xí)策略。基于特征工程的算法主要包括SIFT[5]、SURF[6]、BRIEF[7]等。SIFT 算法由Lowe[5]于1999 提出,該算法具有光照不變性、尺度不變性、局部仿射不變性和局部抗遮擋的能力,但其計(jì)算極其復(fù)雜,且特征描述符的輸出維數(shù)為128 維,因此,該算法的時(shí)間和空間復(fù)雜度較高。SURF 算法由Herbet等[6]于2006年針對(duì)SIFT 算法提出的改進(jìn)版,該算法在保持性能的同時(shí),大幅提高計(jì)算效率,但特征描述符需要的計(jì)算資源較多。BRIEF 算法由Calonde等[7]于2010年提出,該算法輸出二值特征描述符,在描述符的建立和匹配上速度更快,但其魯棒性較差,不具有旋轉(zhuǎn)和尺度不變性。
隨著標(biāo)記樣本的增多以及計(jì)算機(jī)性能的提升,出現(xiàn)了一些基于數(shù)據(jù)學(xué)習(xí)的特征描述符設(shè)計(jì)方法?;趯W(xué)習(xí)策略的算法將非線性引入到特征描述符映射這一過(guò)程中,從而增加描述符的分辨力,如文獻(xiàn)[8-9]。Trzcinski等[8]用boosting 方法聯(lián)合多個(gè)基于梯度的弱學(xué)習(xí)器,得到了類似于SIFT 的特征描述符,但描述符維數(shù)相比于SIFT 減少了一半;Si?monyan等[9]將描述符的池化區(qū)域和描述符維數(shù)都轉(zhuǎn)換成凸優(yōu)化問(wèn)題進(jìn)行學(xué)習(xí),在提高匹配準(zhǔn)確率的同時(shí)降低了描述符維數(shù)。
近幾年,基于數(shù)據(jù)驅(qū)動(dòng)的卷積神經(jīng)網(wǎng)絡(luò)在多個(gè)計(jì)算機(jī)視覺領(lǐng)域都取得了不錯(cuò)的進(jìn)展,部分學(xué)者嘗試將卷積神經(jīng)網(wǎng)絡(luò)用于提取特征描述符[10-12]。Han等[10]提出一種采用端對(duì)端聯(lián)合訓(xùn)練特征描述網(wǎng)絡(luò)和特征匹配網(wǎng)絡(luò)的MatchNet,其中卷積池化層用于提取特征描述符,全連接層用于相似性比較并輸出圖像匹配概率。文獻(xiàn)[11-12]將描述和匹配過(guò)程分開,用卷積神經(jīng)網(wǎng)絡(luò)提取特征描述符,并用歐式距離作為匹配準(zhǔn)則。在UBC 基準(zhǔn)測(cè)試上,以上基于卷積神經(jīng)網(wǎng)絡(luò)的特征描述符相比于人工設(shè)計(jì)或基于數(shù)據(jù)的描述符具有更好的性能。但也存在不足,文獻(xiàn)[10]難以實(shí)現(xiàn)精準(zhǔn)匹配,無(wú)法應(yīng)用于對(duì)匹配精度要求高的任務(wù)(如序列圖像三維重建);文獻(xiàn)[11-12]的淺層網(wǎng)絡(luò)對(duì)形變等情況的魯棒性較差,無(wú)法勝任復(fù)雜環(huán)境下局部特征描述符的提?。淮送?,以上方法都存在描述符維度過(guò)高問(wèn)題,導(dǎo)致特征匹配過(guò)程較為耗時(shí)。針對(duì)以上問(wèn)題,本文提出使用全局平均池化來(lái)解決泛化問(wèn)題,增強(qiáng)復(fù)雜環(huán)境下的特征提取能力;采用難樣本挖掘方法訓(xùn)練網(wǎng)絡(luò),提升特征描述符的匹配精度;同時(shí),采用線性組合優(yōu)化特征描述符維數(shù),提升特征匹配速度。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是深度學(xué)習(xí)方法應(yīng)用到特征描述領(lǐng)域的理論與技術(shù)基礎(chǔ),其作用是進(jìn)行圖像特征提取與訓(xùn)練。圖1 是經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)LeNet 的結(jié)構(gòu)示意圖[13],主要由卷積層(Convolutional Layer,圖1中的C1、C3 層)、池化層(Pooling Layer,圖1中的S2、S4 層)、全連接層(Fully Connected Layer,圖1中的C5、F6層)以及激活函數(shù)(Activation Function)等組成。
圖1 卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)Fig.1 Basic structure of the CNN
本文提出的特征描述網(wǎng)絡(luò)結(jié)構(gòu)主要受VGG[14]啟發(fā),設(shè)計(jì)時(shí)遵循以下原則:1)采用多個(gè)連續(xù)的3×3 的卷積核代替一個(gè)大的卷積核,在增大網(wǎng)絡(luò)非線性的同時(shí)減少了網(wǎng)絡(luò)系數(shù);2)在特征映射大小相同的各層,特征映射通道數(shù)相等。
針對(duì)已有方法以及圖像特征描述符提取的特殊性,本文做出以下改進(jìn)工作:
1)網(wǎng)絡(luò)深度。文獻(xiàn)[14]表明卷積神經(jīng)網(wǎng)絡(luò)越深,提取的語(yǔ)義信息越抽象,算法的魯棒性越強(qiáng)。但特征描述符網(wǎng)絡(luò)輸入圖像尺寸較小,以及需要保證對(duì)圖像表面紋理的分辨能力,因此,本文更傾向于使用淺層的卷積網(wǎng)絡(luò)用于特征描述符的提取。
2)全連接和全局平均池化(GAP)。大多數(shù)卷積神經(jīng)網(wǎng)絡(luò)采用連續(xù)幾層全連接層來(lái)輸出最終的特征符維數(shù),該操作不僅會(huì)引入大量系數(shù)(一般的卷積神經(jīng)網(wǎng)絡(luò)中,全連接層系數(shù)個(gè)數(shù)占整個(gè)網(wǎng)絡(luò)的50%以上),同時(shí)由于訓(xùn)練樣本的單一化也會(huì)使描述符網(wǎng)絡(luò)容易陷入過(guò)擬合,導(dǎo)致實(shí)際匹配效果較差。
3)相似性度量。相似性度量標(biāo)準(zhǔn)用于比較兩個(gè)局部圖像特征描述符的近似程度,進(jìn)而決定圖像的匹配性。常用的相似性度量標(biāo)準(zhǔn)主要有采用距離和概率兩種指標(biāo),兩個(gè)描述符越相似,則它們之間的距離越小或者概率越趨近于1。在實(shí)際圖像匹配中,與某一點(diǎn)相似的點(diǎn)很多,故本文采用距離指標(biāo)——?dú)W式距離,作為本文的相似性度量標(biāo)準(zhǔn)。
本文提出使用GAP 層來(lái)代替全連接層,對(duì)任意大小的末層特征映射都采用全局平均值池化,每一個(gè)特征映射通道對(duì)應(yīng)1 位特征描述符。GAP 層直接對(duì)特征映射提取的空間特征信息總結(jié),得到的特征描述符應(yīng)該更加魯棒。由于GAP 層沒有需要訓(xùn)練的參數(shù),因此,該網(wǎng)絡(luò)的系數(shù)大大減少,魯棒性更強(qiáng)。根據(jù)以上兩點(diǎn)改進(jìn),本文設(shè)計(jì)的4 種網(wǎng)絡(luò)結(jié)構(gòu)(A、B、C、D)見表1。
由于采用了GAP 結(jié)構(gòu),網(wǎng)絡(luò)輸出的描述符維數(shù)等于最后一層特征映射的通道數(shù),表1中A~D 最終分別會(huì)產(chǎn)生128、256、512、512 維的描述符。當(dāng)需要改變描述符維數(shù)時(shí),采用改變特征映射通道數(shù)的方式會(huì)使需要微調(diào)的系數(shù)變得很多。因此,為了優(yōu)化特征描述符維度,本文在最后一層特征映射層增加一層單獨(dú)的全連接層作為線性組合。采用GAP 結(jié)合單層全連接層的方式,引入?yún)?shù)少且不影響卷積層的特征提取過(guò)程,只對(duì)生成的特征進(jìn)行加權(quán),分辨力越強(qiáng)的特征加權(quán)越大。當(dāng)改變網(wǎng)絡(luò)輸出維數(shù)時(shí),只需要在原網(wǎng)絡(luò)上進(jìn)行微調(diào),重訓(xùn)練時(shí)間短。實(shí)驗(yàn)結(jié)果顯示:這種結(jié)構(gòu)能夠保留大量圖像特征信息,使生成的描述符具有很好的表達(dá)能力。
實(shí)驗(yàn)數(shù)據(jù)選自MVS 數(shù)據(jù)集,MVS 數(shù)據(jù)集包含約150 萬(wàn)張物體局部圖像,每張圖像尺寸大小為64×64,隨機(jī)組合的正負(fù)樣本會(huì)包含大量易區(qū)分的樣本,采用該種樣本訓(xùn)練后網(wǎng)絡(luò)的泛化性較差。因此,本文在挑選正負(fù)樣本時(shí),只選擇圖像相似程度高的樣本進(jìn)行訓(xùn)練,部分負(fù)樣本組如圖2 所示。為了提升描述符網(wǎng)絡(luò)的分辨能力,在利用前述樣本訓(xùn)練收斂后采用了難樣本挖掘的訓(xùn)練方法繼續(xù)訓(xùn)練。
在訓(xùn)練過(guò)程中,用VGG 在ImageNet 訓(xùn)練得到的參數(shù)初始化C、D 網(wǎng)絡(luò)參數(shù),A、B 網(wǎng)絡(luò)參數(shù)隨機(jī)初始化。所有網(wǎng)絡(luò)batch size為128,weight decay為0.005,激活函數(shù)都采用Relu。初始學(xué)習(xí)率為0.001,當(dāng)訓(xùn)練損失函數(shù)穩(wěn)定后,學(xué)習(xí)率縮小到10%再進(jìn)行訓(xùn)練。所有卷積神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)都基于Caffe,網(wǎng)絡(luò)模型訓(xùn)練使用NVIDA GEFORCE GTX 1080 顯卡,需在Windows 10上搭建cuda8.0+cudnn6 的GPU 運(yùn)行環(huán)境。
表1 網(wǎng)絡(luò)結(jié)構(gòu)Tab.1 Network structure
圖2 訓(xùn)練所用負(fù)樣本示例Fig.2 Negative samples for training
3.2.1 測(cè)試集FPR95 比較
本文采用FPR95 作為4 種不同網(wǎng)絡(luò)結(jié)構(gòu)性能評(píng)估指標(biāo)。該指標(biāo)表示測(cè)試模型在正樣本召回率達(dá)到95%時(shí),召回樣本中的錯(cuò)誤率,其值越低表明模型的分辨能力越強(qiáng)。測(cè)試數(shù)據(jù)選取自由女神像(Lib)、巴黎圣母院(Ntr)和約塞米蒂國(guó)家公園(Yos)作為測(cè)試集,每組測(cè)試集包含50 萬(wàn)組圖像。本文提出的各個(gè)網(wǎng)絡(luò)模型以及傳統(tǒng)的SIFT 和Dai?sy 模型描述符在測(cè)試集上的FPR95 見表2。
表2 描述符模型比較Tab.2 Comparisons of different description models
由表2 可知:傳統(tǒng)算法FPR95 性能指標(biāo)最低為18.17%,而本文提出的網(wǎng)絡(luò)在測(cè)試集上的性能指標(biāo)均明顯優(yōu)于傳統(tǒng)算法SIFT 和Daisy,最佳性能僅為1.0%。其中,網(wǎng)絡(luò)C 的性能最佳,表明描述符網(wǎng)絡(luò)的深度不易設(shè)計(jì)得過(guò)深。對(duì)比網(wǎng)絡(luò)C 不同描述符輸出維度的性能,發(fā)現(xiàn)16 維描述符網(wǎng)絡(luò)的性能跟128維的相當(dāng),表明卷積神經(jīng)網(wǎng)絡(luò)強(qiáng)大的學(xué)習(xí)能力。
3.2.2 圖像匹配性能比較
圖像匹配是對(duì)不同成像條件下獲取的兩幅或多幅圖像的相同點(diǎn)進(jìn)行匹配,而局部特征描述符常用于圖像匹配。本節(jié)實(shí)驗(yàn)選取了4 組圖像集,其中,前3 組來(lái)自MVE(Multi-View Environment)數(shù)據(jù)集[15],第4 組為我們實(shí)際拍攝。圖3 展示了部分圖像集。實(shí)驗(yàn)中,采用DoG(Difference of Gau-ss)算法對(duì)每張圖像提取特征點(diǎn),然后用各網(wǎng)絡(luò)對(duì)每組序列圖像進(jìn)行特征匹配,并進(jìn)行三維重建。以各個(gè)網(wǎng)絡(luò)的得到的三維空間點(diǎn)數(shù)量比較各個(gè)網(wǎng)絡(luò)的性能,點(diǎn)數(shù)越多,說(shuō)明描述符越準(zhǔn)確,性能越好,同時(shí)也列出各個(gè)網(wǎng)絡(luò)計(jì)算1 000 個(gè)特征點(diǎn)的描述符以及匹配所花費(fèi)的時(shí)間。各描述符重建結(jié)果見表3,三維重建主要參考Multi-View Environment[15]的方法。
圖3 部分序列圖像Fig.3 Partial sequence images
由表3 可知:在MVS 測(cè)試集上,本文提出的網(wǎng)絡(luò)在特征點(diǎn)匹配數(shù)量上與傳統(tǒng)方法性能相當(dāng)?shù)耐瑫r(shí)提升了匹配速度,其中網(wǎng)絡(luò)A 和B 的速度是傳統(tǒng)速度的2 倍。由于訓(xùn)練數(shù)據(jù)的單一性,導(dǎo)致C、D 網(wǎng)絡(luò)在實(shí)際場(chǎng)景測(cè)試上效果較差,但結(jié)構(gòu)簡(jiǎn)單的A 網(wǎng)絡(luò)在測(cè)試集stone_carving 上性能與傳統(tǒng)方法較為接近,表明簡(jiǎn)單網(wǎng)絡(luò)的泛化能力強(qiáng)。
3.2.3 討論
本節(jié)實(shí)驗(yàn)對(duì)比了不同描述符網(wǎng)絡(luò)及傳統(tǒng)描述符在MVS 數(shù)據(jù)集的性能、圖像匹配性能。實(shí)驗(yàn)證明:基于CNN 的特征描述網(wǎng)絡(luò)能夠有效地提高算法的分辨力。在圖像匹配中,Daisy 表現(xiàn)出了最好的性能,而A16、A128 以及C128 分別達(dá)到了Daisy模型的性能85.7%、92.5%和95.6%,具有不錯(cuò)的匹配準(zhǔn)確率。由于GPU 的充分利用,描述符網(wǎng)絡(luò)的計(jì)算時(shí)間快,且16 維描述符匹配時(shí)間遠(yuǎn)遠(yuǎn)低于其他描述符,在描述符匹配時(shí)間要求嚴(yán)格的場(chǎng)合可以考慮使用網(wǎng)絡(luò)A16。
本節(jié)實(shí)驗(yàn)結(jié)果顯示了卷積神經(jīng)網(wǎng)絡(luò)強(qiáng)大的學(xué)習(xí)能力,在后續(xù)研究中可以擴(kuò)大數(shù)據(jù)集規(guī)模,選用更多場(chǎng)景下的局部圖像數(shù)據(jù)集,并改進(jìn)網(wǎng)絡(luò)模型結(jié)構(gòu),從而有望進(jìn)一步提高描述符的分辨能力。
本文采用卷積神經(jīng)網(wǎng)絡(luò)模型提取局部圖像特征,生成特征描述符。采用Siamese 結(jié)構(gòu)和對(duì)比損失函數(shù)訓(xùn)練描述符網(wǎng)絡(luò)參數(shù)。利用GAP 和線性連接,降低了網(wǎng)絡(luò)過(guò)擬合的風(fēng)險(xiǎn),同時(shí)還降低了描述符維數(shù),使得匹配效率得到提高。本文對(duì)不同結(jié)構(gòu)的描述符網(wǎng)絡(luò)進(jìn)行了大量實(shí)驗(yàn),總結(jié)了不同網(wǎng)絡(luò)的結(jié)構(gòu)特點(diǎn),提供了網(wǎng)絡(luò)的設(shè)計(jì)經(jīng)驗(yàn)。其中,網(wǎng)絡(luò)A-16 在保證較高匹配準(zhǔn)確率的同時(shí)明顯降低了匹配需要的時(shí)間。在實(shí)際圖像匹配中,可以根據(jù)不同的應(yīng)用需求,用不同的描述符網(wǎng)絡(luò)代替?zhèn)鹘y(tǒng)描述符。