王梓,孫曉亮,*,李璋,程子龍,于起峰
1.國(guó)防科技大學(xué) 空天科學(xué)學(xué)院,長(zhǎng)沙 410073
2.中國(guó)航天員科研訓(xùn)練中心,北京 100094
非合作衛(wèi)星目標(biāo)位姿估計(jì)(三維旋轉(zhuǎn)+三維平移)是實(shí)現(xiàn)交會(huì)對(duì)接、編隊(duì)飛行、空間碎片清除等應(yīng)用的關(guān)鍵技術(shù)之一?;趩文恳曈X(jué)的非合作目標(biāo)位姿估計(jì)技術(shù)以其低功率、低質(zhì)量、小體積等優(yōu)勢(shì)受到了國(guó)內(nèi)外研究人員的廣泛關(guān)注,并得到了充分研究。相比雙目位姿估計(jì)方案,單目視覺(jué)具有視場(chǎng)大、可靠性高的優(yōu)勢(shì)。于2020年,歐航局高級(jí)概念小組與斯坦福大學(xué)交會(huì)對(duì)接實(shí)驗(yàn)室共同發(fā)起了KPEC (Kelvins Pose Estimation Challenge)比賽,并發(fā)布了航天器位姿估計(jì)數(shù)據(jù)集(Spacecraft PosE Estimation Dataset, SPEED),聚力推動(dòng)空間非合作衛(wèi)星目標(biāo)位姿估計(jì)技術(shù)相關(guān)研究。
針對(duì)非合作目標(biāo)單目位姿估計(jì),傳統(tǒng)方法依賴人工設(shè)計(jì)的特征,如SIFT (Scale Invariant Feature Transform)、SURF (Speeded Up Robust Features)等,依靠位姿先驗(yàn)通過(guò)特征點(diǎn)檢測(cè)與匹配建立二維-三維對(duì)應(yīng)關(guān)系,進(jìn)而通過(guò)求解n點(diǎn)透視(Perspective-n-Points, PnP)問(wèn)題得到相對(duì)位姿參數(shù)。然而,面對(duì)復(fù)雜光照環(huán)境、弱紋理或結(jié)構(gòu)復(fù)雜的剛體目標(biāo),人工設(shè)計(jì)的特征在穩(wěn)定性、魯棒性等方面顯出不足。此外,若不結(jié)合位姿先驗(yàn),傳統(tǒng)方法求解的可靠性較差。近年來(lái),卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)技術(shù)得到了快速發(fā)展,憑借其強(qiáng)大的特征提取與表達(dá)能力在計(jì)算機(jī)視覺(jué)、圖像處理等領(lǐng)域得到了廣泛應(yīng)用。已有基于CNN的目標(biāo)單目位姿估計(jì)方法,依據(jù)位姿參數(shù)估計(jì)的方式,可以分為直接法和間接法。
直接法無(wú)需顯式建立二維-三維對(duì)應(yīng)關(guān)系,采用回歸或分類的形式直接得到目標(biāo)位姿參數(shù)。由于旋轉(zhuǎn)和平移的物理量綱不同,通常采用分離的表示方法,即將物體的旋轉(zhuǎn)和平移分開(kāi)表示。在SPEED數(shù)據(jù)集上,Proen?a和Gao使用高斯混合模型與軟標(biāo)簽技術(shù)實(shí)現(xiàn)了旋轉(zhuǎn)量的預(yù)測(cè)。Sharma和D′amico提出了Spacecraft Pose Network (SPN),實(shí)現(xiàn)了2D目標(biāo)檢測(cè),使用2D檢測(cè)框內(nèi)的圖像估計(jì)相對(duì)姿態(tài),然后利用2D檢測(cè)框與相對(duì)姿態(tài)形成的約束條件,使用高斯牛頓方法求解平移量。
間接法使用點(diǎn)、線等特征表示剛體目標(biāo),該類方法首先預(yù)測(cè)二維到三維的對(duì)應(yīng)性,然后通過(guò)PnP方法求解目標(biāo)位姿參數(shù)。相關(guān)方法可進(jìn)一步分為基于密集坐標(biāo)表示和基于稀疏坐標(biāo)的表示方法,前者一般預(yù)測(cè)二維圖像上目標(biāo)掩膜區(qū)域所有像素到三維模型上的對(duì)應(yīng)關(guān)系,后者則首先定義一組稀疏的控制點(diǎn),例如三維模型包圍框角點(diǎn)、模型表面特征點(diǎn)等,進(jìn)而預(yù)測(cè)這些點(diǎn)在二維圖像上的坐標(biāo)。Chen等使用熱力圖表示方法回歸目標(biāo)稀疏關(guān)鍵點(diǎn),使用模擬退火算法篩選外點(diǎn),并設(shè)計(jì)非線性優(yōu)化方法求解PnP問(wèn)題;Park等使用向量表示目標(biāo)關(guān)鍵點(diǎn)序列,使用EPnP解算目標(biāo)位姿參數(shù);Huan等同樣使用向量表示關(guān)鍵點(diǎn),然后通過(guò)非線性優(yōu)化求解位姿;EPEL_cvlab將圖像均勻分割成若干網(wǎng)格,借助圖像分割的方式預(yù)測(cè)衛(wèi)星的8個(gè)三維包圍框角點(diǎn),使用EPnP求解位姿。
雖然基于CNN的方法在目標(biāo)單目位姿估計(jì)中取得了優(yōu)越的性能,但依然存在諸多不足。首先,CNN存在歸納偏置問(wèn)題,導(dǎo)致訓(xùn)練得到模型泛化能力不足;其次,CNN在訓(xùn)練過(guò)程中缺少絕對(duì)位置信息,對(duì)絕對(duì)位置的描述不夠直接;最后,CNN的長(zhǎng)距離建模能力不足,缺少對(duì)關(guān)鍵點(diǎn)間的上下文建模。上述問(wèn)題限制了已有相關(guān)方法的實(shí)際工程應(yīng)用,尤其是當(dāng)訓(xùn)練數(shù)據(jù)與測(cè)試數(shù)據(jù)有較大差異時(shí),模型性能表現(xiàn)較差。例如缺少獲得高質(zhì)量6D標(biāo)注的真實(shí)圖像、僅能使用仿真渲染圖像進(jìn)行訓(xùn)練的場(chǎng)景,對(duì)模型的泛化遷移能力提出了更高要求。因此,本文在已有工作的基礎(chǔ)上探索了新的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),即基于注意力機(jī)制的Transformer模型,在航天器等剛體目標(biāo)單目位姿估計(jì)中的應(yīng)用。
注意力機(jī)制是一種新型深度學(xué)習(xí)模型,用于對(duì)整個(gè)輸入序列的自身長(zhǎng)距離建模,比CNN具有更好的泛化能力,該模型在自然語(yǔ)言處理領(lǐng)域取得了巨大成功。Vaswani等在注意力的基礎(chǔ)上設(shè)計(jì)了一種用于機(jī)器翻譯的端到端模型Transformer,在多個(gè)語(yǔ)言任務(wù)上取得了最佳性能。將Transformer思想應(yīng)用于計(jì)算機(jī)視覺(jué)領(lǐng)域,設(shè)計(jì)面向不同視覺(jué)任務(wù)的端到端模型,近年來(lái)得到了研究人員的廣泛關(guān)注。Carion等首先使用Transformer模型實(shí)現(xiàn)了端到端的二維目標(biāo)檢測(cè)器(DEtection TRansformer, DETR),達(dá)到了與Faster RCNN相近的性能水平;He等將Transformer應(yīng)用在高光譜圖像分類上,在分類精度和計(jì)算時(shí)間上均優(yōu)于已有基于CNN的模型。Liu等針對(duì)車道線檢測(cè)任務(wù),重新參數(shù)化車道線的表示,借助Transformer模型實(shí)現(xiàn)了端到端的車道線參數(shù)回歸,在車道線檢測(cè)精度、計(jì)算耗時(shí)、遷移泛化等方面取了良好性能。
針對(duì)已有方法的模型泛化遷移能力不足、缺少上下文建模等問(wèn)題,本文探索了Transformer模型在單目剛體位姿估計(jì)中的應(yīng)用,創(chuàng)新地提出了一種基于端到端關(guān)鍵點(diǎn)回歸的衛(wèi)星單目位姿估計(jì)方法:首先設(shè)計(jì)一種基于關(guān)鍵點(diǎn)集合的剛體目標(biāo)表示方法,并構(gòu)建了相應(yīng)的損失函數(shù),其中每個(gè)關(guān)鍵點(diǎn)的表示由坐標(biāo)項(xiàng)和分類項(xiàng)組成,其中坐標(biāo)項(xiàng)描述了關(guān)鍵點(diǎn)的位置,分類項(xiàng)描述了關(guān)鍵點(diǎn)的序號(hào);進(jìn)一步,依據(jù)目標(biāo)表示形式本文設(shè)計(jì)了預(yù)測(cè)關(guān)鍵點(diǎn)集合的端到端回歸網(wǎng)絡(luò)模型,并根據(jù)任務(wù)特點(diǎn)改進(jìn)了用于特征提取的主干網(wǎng)絡(luò)結(jié)構(gòu)。不同于已有基于稀疏點(diǎn)集的目標(biāo)表示方法中關(guān)鍵點(diǎn)與預(yù)測(cè)點(diǎn)之間一一對(duì)應(yīng)的有序形式,本文方法輸出預(yù)測(cè)點(diǎn)是無(wú)序的,預(yù)測(cè)點(diǎn)與事先定義關(guān)鍵點(diǎn)間的對(duì)應(yīng)性由網(wǎng)絡(luò)預(yù)測(cè)并通過(guò)概率模型得到,坐標(biāo)預(yù)測(cè)頭和類別預(yù)測(cè)頭分別輸出一組坐標(biāo)項(xiàng)和分類項(xiàng),其逐項(xiàng)的組合構(gòu)成關(guān)鍵點(diǎn)集合的預(yù)測(cè)值,屬于端到端集合預(yù)測(cè),有利于關(guān)鍵點(diǎn)間的上下文建模,減少模型對(duì)數(shù)據(jù)的歸納偏置。最后,在公開(kāi)數(shù)據(jù)集上的實(shí)驗(yàn)測(cè)試結(jié)果表明,本文方法實(shí)現(xiàn)了可靠、高效的衛(wèi)星目標(biāo)單目位姿估計(jì),性能優(yōu)于已有同類方法。本文貢獻(xiàn)總結(jié)如下:
1) 探索了新的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在航天器位姿估計(jì)中的應(yīng)用,創(chuàng)新地將Transformer模型應(yīng)用到剛體目標(biāo)單目位姿估計(jì)中,獲得了更優(yōu)的遷移泛化能力。
2) 設(shè)計(jì)了一種基于關(guān)鍵點(diǎn)集合的剛體目標(biāo)表示方法,并構(gòu)建了相應(yīng)的損失函數(shù)和位姿求解方法,使用網(wǎng)絡(luò)預(yù)測(cè)建立輸出的語(yǔ)義關(guān)鍵點(diǎn)與事先定義的三維關(guān)鍵點(diǎn)間的對(duì)應(yīng)性,增強(qiáng)了模型對(duì)關(guān)鍵點(diǎn)間上下文建模的能力。
3) 設(shè)計(jì)了用于關(guān)鍵點(diǎn)回歸任務(wù)的網(wǎng)絡(luò)結(jié)構(gòu),針對(duì)關(guān)鍵點(diǎn)回歸任務(wù)改進(jìn)了用于特征提取主干網(wǎng)絡(luò)結(jié)構(gòu)。
本節(jié)首先對(duì)剛體目標(biāo)單目位姿估計(jì)問(wèn)題進(jìn)行簡(jiǎn)要描述,然后對(duì)本文提出基于關(guān)鍵點(diǎn)集合的剛體目標(biāo)表示方法及損失函數(shù)設(shè)計(jì)進(jìn)行詳細(xì)闡述。
剛體目標(biāo)單目位姿估計(jì)通過(guò)建立二維-三維對(duì)應(yīng)關(guān)系,求解目標(biāo)位姿參數(shù)。設(shè)剛體目標(biāo)在相機(jī)坐標(biāo)系下的位姿為∈,∈,第個(gè)關(guān)鍵點(diǎn)的三維坐標(biāo)為[,,],其像點(diǎn)坐標(biāo)的估計(jì)值[,]。由針孔成像模型可得約束
(1)
(2)
當(dāng)存在3組及以上關(guān)鍵點(diǎn)時(shí),式(2)可解,例如P3P、EPnP等求解方法。為提升算法對(duì)匹配外點(diǎn)的魯棒性,本文使用隨機(jī)采樣一致性 (RANdom SAmple Consensus, RANSAC)方法實(shí)現(xiàn)魯棒估計(jì)。
(3)
(4)
(5)
圖1給出了使用本文描述方法表示一個(gè)包含11個(gè)關(guān)鍵點(diǎn)的剛體目標(biāo)的具體形式,其中對(duì)于不屬于集合中的點(diǎn),其分類項(xiàng)的最后1項(xiàng)為1。由于本文描述方法具有無(wú)序性,圖中的下標(biāo)不能用于由元素到三維空間點(diǎn)的索引。
圖1 基于本文方法描述包含11個(gè)關(guān)鍵點(diǎn)的剛體示意圖Fig.1 Description of a rigid object with 11 key points using proposed representation method
本文采用關(guān)鍵點(diǎn)集合的形式表示剛體目標(biāo),決定了模型的預(yù)測(cè)輸出是元素?cái)?shù)量固定的集合,每個(gè)元素由坐標(biāo)值和類別預(yù)測(cè)概率組成
(6)
(7)
(8)
(9)
(10)
通過(guò)匈牙利算法求解式(7),得到點(diǎn)對(duì)應(yīng)集合。
在得到單射函數(shù)后,網(wǎng)絡(luò)的損失定義為
(11)
式中:坐標(biāo)項(xiàng)的損失采用了smooth損失,
(12)
(13)
基于關(guān)鍵點(diǎn)集合的衛(wèi)星目標(biāo)表示方法,本節(jié)提出端到端關(guān)鍵點(diǎn)回歸模型,設(shè)計(jì)一種適合關(guān)鍵點(diǎn)任務(wù)的主干網(wǎng)絡(luò),詳細(xì)描述了模型結(jié)構(gòu)。
如圖2所示,本文模型主要包含4個(gè)部分。第1個(gè)組件由在ImageNet上預(yù)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)和位置編碼模塊組成,分別用于提取特征和提供特征圖的位置編碼,稱為主干網(wǎng)絡(luò)。第2個(gè)組件是編碼器,該組件將主干網(wǎng)絡(luò)輸出的二維語(yǔ)義特征圖和位置編碼圖堆積并展平為一維,送入多層Transformer模型中,輸出編碼特征向量。第3個(gè)組件是解碼器,該組件輸入是查詢向量、特征向量和位置編碼向量,輸出是解碼特征向量。最后一個(gè)組件是前向傳遞網(wǎng)絡(luò),即線性層,由坐標(biāo)項(xiàng)預(yù)測(cè)頭和分類項(xiàng)預(yù)測(cè)頭組成,兩者分別從解碼特征向量中得到坐標(biāo)項(xiàng)和分類項(xiàng)的預(yù)測(cè)。
圖2 基于Transformer模型的端到端關(guān)鍵點(diǎn)回歸網(wǎng)絡(luò)模型總體結(jié)構(gòu)Fig.2 Overall architecture of transformer-based end-to-end key points regression network
本文結(jié)合Transformer模型特點(diǎn),以ResNet-50為基礎(chǔ),設(shè)計(jì)了一種適用于關(guān)鍵點(diǎn)回歸的主干網(wǎng)絡(luò)。一方面,特征圖的尺寸越接近輸出圖像尺寸,位置信息保留越充分;另一方面,訓(xùn)練Transformer模型所需要的顯存與特征圖像素個(gè)數(shù)的平方成正比,如輸入特征圖過(guò)大,模型幾乎是不可訓(xùn)練的。為平衡兩者的需求,本文擬將主干網(wǎng)絡(luò)輸出的特征圖尺寸降為輸入圖像的1/8。如圖3所示,在ResNet-50的基礎(chǔ)上,使用了Layer2和Layer3的輸出。Layer2和Layer3輸出的特征圖尺寸分別是原圖像的1/8和1/16。對(duì)于Layer2的輸出,使用1×1卷積調(diào)整通道數(shù)量;對(duì)于Layer3的輸出,依次經(jīng)過(guò)上采樣和3×3卷積得到1/8特征圖。最后將Layer2和Layer3的特征圖疊加,并通過(guò)1×1卷積調(diào)整通道數(shù)量輸出1/8特征圖。表1給出額外卷積層的通道數(shù)。
圖3 主干網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.3 Structure of backbone
表1 主干網(wǎng)絡(luò)中額外卷積層的通道數(shù)Table 1 Number of channels of additional convolution modules in backbone
編碼器與解碼器的結(jié)構(gòu)如圖4所示,主要結(jié)構(gòu)包括多頭注意力模塊、跳轉(zhuǎn)連接與正則化模塊和前向傳遞模塊。多頭注意力模塊(Multi-Head Attention, MHA)是編、解碼器的核心,其結(jié)構(gòu)如圖5所示。單頭注意力模塊即為縮放點(diǎn)積注意力,即
圖4 編碼器和解碼器模塊結(jié)構(gòu)示意圖Fig.4 Structure of encoder and decoder module
圖5 多頭注意力模塊結(jié)構(gòu)和縮放點(diǎn)積結(jié)構(gòu)Fig.5 Structure of multi-head attention module and scale dot-product
(14)
式中:、和分別表示查詢向量、鍵向量和值向量;為輸入數(shù)據(jù)的維度。多頭注意力機(jī)制表述為
MHA(,,)=Concat(,,…,)
(15)
(16)
相比于縮放點(diǎn)積注意力,多頭注意力機(jī)制將輸入線性映射到個(gè)不同空間里計(jì)算特征相關(guān)性,提高了特征的表達(dá)能力。正則化模塊(layer-Nnormalization, Norm)用于降低訓(xùn)練過(guò)程中的數(shù)據(jù)偏差,提高訓(xùn)練的穩(wěn)定性。前向傳遞模塊(Feed Forward Network, FFN)由2個(gè)線性變換單元和1個(gè)修正線性單元組成
FFN()=max(+,0)+
(17)
本節(jié)首先介紹用于分析的公開(kāi)數(shù)據(jù)集和評(píng)價(jià)指標(biāo),然后在實(shí)驗(yàn)細(xì)節(jié)方面,介紹整體實(shí)驗(yàn)的流程和神經(jīng)網(wǎng)絡(luò)的參數(shù)以及關(guān)鍵點(diǎn)、目標(biāo)檢測(cè)真值的獲取方法。最后的分析實(shí)驗(yàn)主要分為2部分,首先在訓(xùn)練數(shù)據(jù)集上分別完成組件分析實(shí)驗(yàn),以確定最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)、組件層數(shù)等超參數(shù);然后分別在訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集上完成了精度分析實(shí)驗(yàn),與當(dāng)前業(yè)界最優(yōu)算法比較,分析本文方法優(yōu)勢(shì)。
為驗(yàn)證本文方法性能,使用SPEED數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),該數(shù)據(jù)集提供了Tango衛(wèi)星圖像,像素尺寸為1 920×1 200,僅訓(xùn)練集提供衛(wèi)星的位姿真值。表2給出了訓(xùn)練集和測(cè)試集中真實(shí)與仿真圖像的數(shù)量,訓(xùn)練集僅有5張真實(shí)圖像。本文在訓(xùn)練集上完成組件分析實(shí)驗(yàn)和交叉驗(yàn)證實(shí)驗(yàn),完成參數(shù)調(diào)優(yōu)。通過(guò)將位姿估計(jì)結(jié)果上傳至KPEC平臺(tái),在線測(cè)評(píng)得到2種測(cè)試集的評(píng)分結(jié)果。
表2 SPEED數(shù)據(jù)集中訓(xùn)練集和測(cè)試集圖像數(shù)量Table 2 Number of images for training set and validation set in SPEED
SPEED數(shù)據(jù)集中的仿真圖像分有無(wú)地球背景2種,真實(shí)圖像均無(wú)背景。仿真圖像中衛(wèi)星目標(biāo)的距離跨度較大,從3~40.5 m,衛(wèi)星目標(biāo)在圖像中所占像素從1 k~500 k不等,為位姿估計(jì)帶來(lái)較大挑戰(zhàn)。真實(shí)圖像中目標(biāo)距離從2.8~4.7 m,真實(shí)圖像與仿真圖像有較大差異,如圖6所示。
圖6 SPEED訓(xùn)練集部分圖像示例Fig.6 Example images of SPEED train set
對(duì)于6D位姿估計(jì)結(jié)果,旋轉(zhuǎn)量的得分為旋轉(zhuǎn)向量的夾角
(18)
(19)
(20)
3.2.1 整體實(shí)驗(yàn)流程與參數(shù)設(shè)置
圖7展示了本文通過(guò)關(guān)鍵點(diǎn)回歸進(jìn)行剛體位姿估計(jì)的流程。首先,輸入圖像經(jīng)過(guò)目標(biāo)檢測(cè)器得到目標(biāo)的二維包圍框,然后對(duì)輸入圖像進(jìn)行裁減、縮放得到尺度相同的圖像作為關(guān)鍵點(diǎn)回歸網(wǎng)絡(luò)的輸入;經(jīng)過(guò)關(guān)鍵點(diǎn)回歸網(wǎng)絡(luò)輸出關(guān)鍵點(diǎn)的像素坐標(biāo),最后經(jīng)過(guò)RANSAC+PnP得到目標(biāo)的位姿。
圖7 基于關(guān)鍵點(diǎn)的剛體位姿估計(jì)流程圖Fig.7 Flow chart of keypoints-based pose estimation of rigid object
在2D目標(biāo)檢測(cè)中,本文使用了mmdetection中的Faster RCNN,訓(xùn)練數(shù)據(jù)為12 000張仿真訓(xùn)練圖像,圖像尺寸短邊為800,長(zhǎng)邊不超過(guò)1 333,批大小為6,epoch總數(shù)為3。使用隨機(jī)梯度下降法(Stochastic Gradient Descent, SGD)進(jìn)行優(yōu)化,初始學(xué)習(xí)率為0.01,第1個(gè)epoch之后降為0.001,動(dòng)量為0.9,權(quán)重衰減系數(shù)為0.000 5。數(shù)據(jù)增強(qiáng)包括隨機(jī)旋轉(zhuǎn)、隨機(jī)亮度和對(duì)比度調(diào)整、RGB值漂移、JPEG壓縮質(zhì)量、高斯噪聲、ISO噪聲、模糊等。
在關(guān)鍵點(diǎn)回歸實(shí)驗(yàn)中,本文將12 000張仿真訓(xùn)練數(shù)據(jù)集隨機(jī)分為6等分,進(jìn)行6-fold交叉驗(yàn)證,以更好地分析并選擇模型中的超參數(shù)。批大小為20,epoch總數(shù)為150。使用SGD進(jìn)行優(yōu)化,初始學(xué)習(xí)率為0.000 1,在第100個(gè)epoch之后降為0.000 01,動(dòng)量為0.9,權(quán)重衰減系數(shù)為0.000 5。數(shù)據(jù)增強(qiáng)方法與2D目標(biāo)檢測(cè)基本一致??紤]到Transformer模塊占用的顯存受輸入特征圖的尺寸影響較大,本文將裁減之后的圖像縮放為224×224。
在位姿求解的過(guò)程中,求解方法為EPnP,RANSAC算法中重投影誤差閾值為20個(gè)像素,最大迭代次數(shù)為20。
3.2.2 關(guān)鍵點(diǎn)與檢測(cè)框真值獲取
SPEED訓(xùn)練集僅標(biāo)注了目標(biāo)衛(wèi)星的位置和姿態(tài),沒(méi)有給出目標(biāo)衛(wèi)星的三維模型。如圖8所示,本文以文獻(xiàn)[23]的方法為基礎(chǔ),從訓(xùn)練集中選擇若干圖像,手工選擇11個(gè)關(guān)鍵點(diǎn),使用多視圖三角的方法求解關(guān)鍵點(diǎn)的三維坐標(biāo),以重投影誤差3為標(biāo)準(zhǔn)剔除粗大誤差。根據(jù)關(guān)鍵點(diǎn)三維坐標(biāo),重投影得到相對(duì)應(yīng)的像素坐標(biāo),作為關(guān)鍵點(diǎn)回歸的真值,以關(guān)鍵點(diǎn)包圍框作為2D目標(biāo)檢測(cè)的真值。
圖8 由位姿標(biāo)注得到關(guān)鍵點(diǎn)和2D目標(biāo)檢測(cè)標(biāo)注流程圖Fig.8 Flow chart of acquiring keypoints and 2D bounding boxes from pose annotations
(21)
得到,其中:(·)表示透視模型,即
([,,])=[,,1]
(22)
在得到關(guān)鍵點(diǎn)三維坐標(biāo)之后,由于訓(xùn)練集中每幅圖像位姿真值已知,可以通過(guò)針孔成像模型式(1)得到每個(gè)關(guān)鍵點(diǎn)在每幅圖像中的像素坐標(biāo),從而得到關(guān)鍵點(diǎn)真值。
本節(jié)將仿真訓(xùn)練數(shù)據(jù)集進(jìn)行6等分,以前5組作為訓(xùn)練集,最后1組作為測(cè)試集,分析主干網(wǎng)路結(jié)構(gòu)、編/解碼器層數(shù)、查詢向量個(gè)數(shù)、圖像縮放尺寸對(duì)位姿估計(jì)精度的影響。本節(jié)分析實(shí)驗(yàn)?zāi)J(rèn)參數(shù)為:批大小為15,查詢向量個(gè)數(shù)為40,圖像縮放尺寸為224,epoch總數(shù)為150。由于模型訓(xùn)練所占用的顯存受待考察超參數(shù)的影響,相應(yīng)的編、解碼器層數(shù)越少,查詢向量個(gè)數(shù)越少,圖像縮放尺寸越小,則占用顯存越少,可增加批大小以獲得更好性能,因此最佳性能需要在本節(jié)實(shí)驗(yàn)的基礎(chǔ)上調(diào)參獲得。
3.3.1 主干網(wǎng)絡(luò)
針對(duì)關(guān)鍵點(diǎn)回歸任務(wù)的特點(diǎn),2.2節(jié)中設(shè)計(jì)了特征圖分辨率為輸入圖像1/8的主干網(wǎng)絡(luò),本節(jié)將簡(jiǎn)要分析主干網(wǎng)絡(luò)的作用。為方便描述,將本文設(shè)計(jì)主干網(wǎng)絡(luò)稱為ResNet50s8,將原ResNet-50的第3個(gè)殘差模塊輸入的網(wǎng)絡(luò)稱為ResNet50s16,后者特征圖分辨率為輸入圖像為1/16。為公平比較,實(shí)驗(yàn)中將ResNet50s8和ResNet50s16的輸入尺寸分別設(shè)為224和448,使其特征圖分辨率相等。批大小設(shè)置為1,重復(fù)計(jì)算100次,統(tǒng)計(jì)主干網(wǎng)絡(luò)的平均計(jì)算耗時(shí)。兩者得分與計(jì)算耗時(shí)比較如表3所示??梢?jiàn),在特征圖分辨率相同的情況下,本文設(shè)計(jì)的ResNet50s8在得分上有明顯優(yōu)勢(shì)。在計(jì)算耗時(shí)上,本文在ResNet50s16的基礎(chǔ)上添加了上采樣層與2個(gè)卷積層,所增加的計(jì)算時(shí)間約為0.7 ms,幾乎可以忽略不計(jì)。
表3 2種主干網(wǎng)絡(luò)得分與耗時(shí)比較Table 3 Comparison of two backbones in terms of score and time-consumption
3.3.2 編、解碼器層數(shù)
為方便描述將編、解碼器層數(shù)為的模型稱為,圖9展示了不同模型得分隨訓(xùn)練進(jìn)行的變化。首先以最終得分來(lái)看,隨著編、解碼器層數(shù)的增加,模型得分先增加后減少。其次,隨著訓(xùn)練進(jìn)行,復(fù)雜度最高的和最低的的得分下降最慢,且收斂之后的最終得分也低于其他模型。其解釋為:一方面,編、解碼器層數(shù)過(guò)少,會(huì)導(dǎo)致對(duì)卷積網(wǎng)絡(luò)提取的特征解釋不足;另一方面,隨著編、解碼器層數(shù)的增加,不同特征之間相互包含程度越大,對(duì)關(guān)鍵點(diǎn)定位不利。在該試驗(yàn)的設(shè)置下,當(dāng)編、解碼器層數(shù)為5時(shí)達(dá)到最佳得分。當(dāng)減少層數(shù)時(shí),可以使用更大的批次進(jìn)行訓(xùn)練。因此,該超參數(shù)的最佳選擇范圍為3~5。
圖9 不同編、解碼器層數(shù)的模型在訓(xùn)練過(guò)程中的得分Fig.9 Scores of models with different encoder/decoder layers during training
3.3.3 圖像輸入尺寸
2.2節(jié)中提到,提高特征圖分辨率有利于關(guān)鍵點(diǎn)回歸任務(wù),因此,增加輸入圖像的尺寸應(yīng)該也可以提高位姿估計(jì)精度。如表4所示,隨著圖像輸入尺寸的體征,模型得分呈現(xiàn)明顯的減小的趨勢(shì),再次驗(yàn)證了本文觀點(diǎn)。當(dāng)輸入尺寸達(dá)到272時(shí),模型得分略微上升,其原因可能有2點(diǎn):① 實(shí)驗(yàn)中噪聲所致;② 輸入尺寸應(yīng)與RANSAC+PnP的參數(shù)相適配。但是輸入圖像越大,占用顯存急劇增加,對(duì)該值的選擇應(yīng)在224~256。
表4 不同圖像輸入尺寸的模型得分Table 4 Scores of models with different input sizes
3.3.4 查詢向量個(gè)數(shù)
不同查詢向量個(gè)數(shù)的模型得分如表5所示,可見(jiàn),隨著查詢向量數(shù)量的增加,位姿求解精度呈現(xiàn)微弱的提高趨勢(shì)。該現(xiàn)象可以解釋為模型的復(fù)雜性提高,增強(qiáng)了模型對(duì)數(shù)據(jù)的擬合。增加查詢向量個(gè)數(shù)會(huì)提高訓(xùn)練所需顯存,因此該值的選擇不應(yīng)超過(guò)40。
表5 不同查詢向量個(gè)數(shù)的模型得分Table 5 Scores of models with different query numbers
本節(jié)進(jìn)行實(shí)驗(yàn)分析位姿估計(jì)精度,并與業(yè)界最優(yōu)方法進(jìn)行比較。由于SPEED數(shù)據(jù)集沒(méi)有提供測(cè)試數(shù)據(jù)集的位姿真值,本節(jié)首先在訓(xùn)練數(shù)據(jù)集上完成交叉驗(yàn)證實(shí)驗(yàn),給出較為詳細(xì)的實(shí)驗(yàn)數(shù)據(jù)分析;然后將測(cè)試集位姿估計(jì)結(jié)果上傳至比賽平臺(tái)得到評(píng)分,通過(guò)與同類型方法比較分析本文方法的優(yōu)劣。
3.4.1 仿真訓(xùn)練數(shù)據(jù)集實(shí)驗(yàn)
將訓(xùn)練數(shù)據(jù)集6等分,選擇其中5組進(jìn)行訓(xùn)練,剩余1組進(jìn)行測(cè)試,6組實(shí)驗(yàn)的詳細(xì)結(jié)果如表6所示。選擇SPN和文獻(xiàn)[14]進(jìn)行對(duì)比,其中SPN將視角采樣離散化,將旋轉(zhuǎn)量預(yù)測(cè)描述為分類問(wèn)題和偏移量回歸問(wèn)題,并結(jié)合2D檢測(cè)結(jié)果求解平移量。文獻(xiàn)[14]采用的方法與本文方法類似,選擇11個(gè)關(guān)鍵點(diǎn),在目標(biāo)檢測(cè)部分使用更強(qiáng)的檢測(cè)器,在關(guān)鍵點(diǎn)回歸部分采用更復(fù)雜的主干網(wǎng)絡(luò),圖像輸入尺寸與本文相同,使用維度為1×1×22的向量表示所有關(guān)鍵點(diǎn)序列。表6說(shuō)明,相對(duì)于同類型基于關(guān)鍵點(diǎn)的方法,本文方法在旋轉(zhuǎn)量和平移量上有較高提升,驗(yàn)證了本文方法的優(yōu)勢(shì)。
表6 訓(xùn)練數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果Table 6 Experimental results on training dataset
圖10可視化了一組交叉實(shí)驗(yàn)訓(xùn)練過(guò)程中,模型在分割測(cè)試數(shù)據(jù)集上的歸一化重投影誤差為
(23)
圖10 一組交叉驗(yàn)證實(shí)驗(yàn)中不同迭代輪次的歸一化重投影誤差散點(diǎn)圖Fig.10 Scatter plots of normalized reprojection errors for different iteration epochs in a cross validation experiment
圖11 部分測(cè)試圖像上的預(yù)測(cè)結(jié)果Fig.11 Prediction results of some images from test set
3.4.2 測(cè)試數(shù)據(jù)集實(shí)驗(yàn)
在使用單個(gè)模型進(jìn)行預(yù)測(cè)的基礎(chǔ)上,本文將在仿真訓(xùn)練數(shù)據(jù)上分割的6個(gè)訓(xùn)練集上得到的模型進(jìn)行集成,以得到更優(yōu)效果。集成方法為將模型預(yù)測(cè)結(jié)果先以3為標(biāo)準(zhǔn)剔除,然后求平均。在部分真實(shí)、仿真測(cè)試圖像上的目標(biāo)檢測(cè)與關(guān)鍵點(diǎn)重投影結(jié)果如圖12和圖13所示。
圖12 在仿真測(cè)試數(shù)據(jù)集上的部分圖像二維目標(biāo)檢測(cè)與關(guān)鍵點(diǎn)重投影Fig.12 Results of 2D object detection and key points re-projection of part of synthetic test images
圖13 在真實(shí)測(cè)試數(shù)據(jù)集上的部分圖像二維目標(biāo)檢測(cè)與關(guān)鍵點(diǎn)重投影Fig.13 Results of 2D object detection and key points re-projection of part of real test images
KPEC比賽中有48支隊(duì)伍提交了有效結(jié)果,表7選擇前5名的模型及基準(zhǔn)模型與本文方法作比較,本文方法在仿真與真實(shí)測(cè)試集上均得到第3名的成績(jī)。除本文方法外,其他方法均使用訓(xùn)練集中的5張真實(shí)圖像參加訓(xùn)練,提高在真實(shí)測(cè)試集上的表現(xiàn)。結(jié)合表6中的實(shí)驗(yàn)結(jié)果分析,在仿真測(cè)試集上的單模型實(shí)驗(yàn)結(jié)果略高于表3中的6次實(shí)驗(yàn)均值,但仍然在3標(biāo)準(zhǔn)以內(nèi),說(shuō)明模型在仿真測(cè)試集上具有良好的泛化表現(xiàn);在真實(shí)測(cè)試集上的得分高于表6中6次實(shí)驗(yàn)的均值,其原因?yàn)榉抡媾c真實(shí)測(cè)試圖像在光照與信噪比等方面有較大差異,導(dǎo)致模型泛化較差。
表7 各種模型在測(cè)試數(shù)據(jù)集上的得分Table 7 Scores of various models on test data sets
重點(diǎn)分析與本文方法類似的UniAdelaide和SLAB Baseline,兩者均使用關(guān)鍵點(diǎn)表示剛體目標(biāo)。UniAdelaide使用11個(gè)關(guān)鍵點(diǎn)表示衛(wèi)星目標(biāo),用熱力圖表示關(guān)鍵點(diǎn)真值,使用了HRNet輸出了高分辨率熱力圖,其尺寸為768×768,使用非極大值抑制(Non-Maximum Suppression, NMS)從熱力圖中提取關(guān)鍵點(diǎn),并使用多個(gè)模型進(jìn)行集成取得更好效果;SLAB Baseline采用類似于UniAdelaide類似的方法,以1×1×22的向量表示11個(gè)關(guān)鍵點(diǎn)。本文方法在仿真與真實(shí)測(cè)試集上的得分均優(yōu)于SLAB Baseline,但在仿真測(cè)試集上低于UniAdelaide??赡茉蚴翘卣鲌D分辨率因素,UniAdelaide使用的特征圖為768×768,而本文方法使用的特征圖僅28×28,約為前者的1/27。使用分辨率較高的特征圖不僅會(huì)降低模型推理速度,也給后處理操作帶來(lái)較高計(jì)算量,嚴(yán)重影響模型實(shí)時(shí)性。此外,在真實(shí)測(cè)試數(shù)據(jù)集上,本文方法取得優(yōu)于UniAdelaide的表現(xiàn),說(shuō)明本文方法在不同數(shù)據(jù)域間具有更好的泛化優(yōu)勢(shì)。
本節(jié)針對(duì)算法實(shí)時(shí)性進(jìn)行考察。測(cè)試平臺(tái)硬件為:NVIDIA RTX2080Ti顯卡,Intel i7-7700k CPU和16 GB RAM,軟件平臺(tái)為Python、Pytorch。模型參數(shù)為:編、解碼器層數(shù)為3,查詢向量個(gè)數(shù)為30,圖像縮放尺寸為224,主干網(wǎng)絡(luò)為ResNet50s8,批大小為1。模型推理各個(gè)部分耗時(shí)如表8所示,可見(jiàn)本文方法基本達(dá)到5幀/s。本文算法在目標(biāo)檢測(cè)之后需要將原圖像進(jìn)行裁剪縮放,依次經(jīng)過(guò)圖像預(yù)處理和關(guān)鍵點(diǎn)回歸模型得到預(yù)測(cè)結(jié)果,其中,最為耗時(shí)的部分為關(guān)鍵點(diǎn)回歸部分。未來(lái)工作可以考慮優(yōu)化主干網(wǎng)絡(luò),減少編、解碼器中的計(jì)算量以提高模型實(shí)時(shí)性。
表8 模型推理過(guò)程中各部分耗時(shí)Table 8 Time consumption of every stage during model inference
如圖14所示,為更好地理解模型的工作原理,將最后一個(gè)解碼器中的交叉注意力權(quán)重,即查詢向量與來(lái)自編碼器的的相似性,進(jìn)行可視化。其中圖14(a)為模型的預(yù)測(cè)結(jié)果,模型正確地預(yù)測(cè)了11個(gè)關(guān)鍵點(diǎn)的位置;圖14(b)~圖14(l) 依次為第0~10個(gè)關(guān)鍵點(diǎn)對(duì)應(yīng)的查詢向量與可視化結(jié)果;圖14(m)為圖14(a)中顏色對(duì)應(yīng)的關(guān)鍵點(diǎn)標(biāo)簽序號(hào)??梢?jiàn),交叉注意力權(quán)重較大的地方,對(duì)應(yīng)著關(guān)鍵點(diǎn)在圖像中位置。交叉注意力權(quán)重更加類似于關(guān)鍵點(diǎn)熱力圖表示中的熱力圖,但構(gòu)建熱力圖真值需要額外超參數(shù),且從熱力圖中推理關(guān)鍵點(diǎn)位置需NMS或加權(quán)等操作。與之相比,本文的端到端關(guān)鍵點(diǎn)回歸模型無(wú)需額外參數(shù),模型更加簡(jiǎn)潔直接。
圖14 模型特征可視化Fig.14 Feature visualization
圍繞衛(wèi)星目標(biāo)單目位姿估計(jì)問(wèn)題,針對(duì)已有基于卷積神經(jīng)網(wǎng)絡(luò)方法存在歸納偏置、絕對(duì)距離描述不直接、長(zhǎng)距離建模能力不足等問(wèn)題,本文創(chuàng)新地將Transformer模型應(yīng)用到剛體目標(biāo)位姿估計(jì)任務(wù)中。首先,提出一種基于關(guān)鍵點(diǎn)集合的表示方法,集合中的每個(gè)元素由坐標(biāo)項(xiàng)與分類項(xiàng)組成;其次,構(gòu)建了基于該表示形式的損失函數(shù);借鑒自然語(yǔ)言處理中的Transformer模型,設(shè)計(jì)了一種端到端的關(guān)鍵點(diǎn)回歸網(wǎng)絡(luò)模型,增強(qiáng)關(guān)鍵點(diǎn)間的上下文建模。本文在公開(kāi)發(fā)布的SPEED數(shù)據(jù)集上對(duì)所提方法進(jìn)行測(cè)試,實(shí)驗(yàn)結(jié)果表明本文方法達(dá)到了與當(dāng)前最優(yōu)性能相當(dāng)?shù)男阅鼙憩F(xiàn),在遷移泛化性能方面優(yōu)于已有同類型方法。特征可視化實(shí)驗(yàn)表明解碼器的交叉注意力權(quán)重具有關(guān)鍵點(diǎn)熱力圖表示的特點(diǎn),說(shuō)明本文端到端關(guān)鍵點(diǎn)回歸模型具有隱式的熱力圖學(xué)習(xí)能力。
在進(jìn)一步的工作中,可以考察具有線性計(jì)算和空間復(fù)雜度的注意力機(jī)制模型,同時(shí)也可以將本文關(guān)于剛體目標(biāo)的表示形式擴(kuò)展到多個(gè)目標(biāo)和剛體目標(biāo)的六自由度位姿跟蹤。