孫運(yùn)達(dá),萬 雪*,李盛陽
(1.中國科學(xué)院大學(xué),北京 100049;2.中國科學(xué)院 空間應(yīng)用工程與技術(shù)中心,北京 100094;3.中國科學(xué)院 太空應(yīng)用重點(diǎn)實(shí)驗(yàn)室,北京 100094)
自1957 年第一顆人造衛(wèi)星升空以來,據(jù)不完全統(tǒng)計(jì),全世界共執(zhí)行4000 余次發(fā)射任務(wù)。各類航天器在科研、國防、商業(yè)等領(lǐng)域發(fā)揮著越來越重要的作用的同時(shí)也讓空間環(huán)境變得愈發(fā)復(fù)雜,復(fù)雜的空間環(huán)境增加了空間任務(wù)的危險(xiǎn)性。在航天器的在軌維修,交會(huì)對接等空間任務(wù)中,能否快速、準(zhǔn)確地感知和定位航天器直接決定任務(wù)的成?。欢鴮教炱鞯母兄罱K往往集中在其某個(gè)部件上,因此,持續(xù)跟蹤人造衛(wèi)星部件是保證空間任務(wù)順利完成的基礎(chǔ)[1]。
在圖像或視頻中持續(xù)準(zhǔn)確提取視覺目標(biāo)的主要手段之一是目標(biāo)跟蹤。目標(biāo)跟蹤,其任務(wù)是在給定某視頻序列中獲取特定運(yùn)動(dòng)目標(biāo)并連續(xù)獲取它隨時(shí)間形成的目標(biāo)軌跡[2-5]。
視覺目標(biāo)跟蹤(Visual Object Tracking),本文所指均為單目標(biāo)視覺跟蹤,其任務(wù)是在給定某視頻序列初始幀的目標(biāo)尺寸與位置的條件下,預(yù)測后續(xù)視頻幀中該目標(biāo)的尺寸與位置[2]。作為計(jì)算機(jī)視覺領(lǐng)域的基礎(chǔ)問題之一,視覺目標(biāo)追蹤在移動(dòng)機(jī)器人,自動(dòng)駕駛,人機(jī)交互,視頻監(jiān)控等領(lǐng)域具有非常廣闊的應(yīng)用前景[6-8]。傳統(tǒng)的目標(biāo)跟蹤算法分為兩大類:生成(generative)模型方法和判別(discriminative)模型方法[2]。受深度學(xué)習(xí)強(qiáng)大特征提取能力的驅(qū)動(dòng),在兩大追蹤框架下又派生出許多非常優(yōu)秀的方法。
生成模型方法專注對目標(biāo)本身的刻畫,通過構(gòu)建目標(biāo)模型以預(yù)測視頻序列中目標(biāo)的位置,比較突出的算法有對動(dòng)態(tài)系統(tǒng)的狀態(tài)序列進(jìn)行先行最小方差估計(jì)的卡爾曼濾波算法[9];利用梯度優(yōu)化方法實(shí)現(xiàn)快速目標(biāo)定位的mean-shift 算法[10]等等。判別類方法更關(guān)注于目標(biāo)和背景的區(qū)別,以此區(qū)分目標(biāo)和背景,以訓(xùn)練好的分類器尋找最優(yōu)目標(biāo)區(qū)域。判別類方法中比較典型的有Sam Hare 等人利用SVM 構(gòu)建目標(biāo)分類器以實(shí)現(xiàn)目標(biāo)跟蹤的Struck 算法[11];Kalal 等人提出的跟蹤-學(xué)習(xí)-檢測(Tracking-Learning-Detection)TLD 算法[12]。Bolme 等人在2010 年將相關(guān)濾波引入目標(biāo)跟蹤領(lǐng)域,提出MOSSE 方法[13]。在MOSSE 的基礎(chǔ)上,Henriques J.F 在相關(guān)濾波中加入嶺回歸和循環(huán)位移的密集采樣提出KCF 算法[14]。Martin Danelljan 通過忽略位移樣本的邊界部分提出SRDCF[15],緩解邊界效應(yīng)問題。此外,一些學(xué)者提出了基于深度特征或者深度學(xué)習(xí)的方法,SeungHoon Hong 等人結(jié)合卷積神經(jīng)網(wǎng)絡(luò)與支持向量機(jī)提出了CNN-SVM 算法[16]。Bertinetto 等人利用端到端的訓(xùn)練方式采用孿生網(wǎng)絡(luò)結(jié)構(gòu)提出了一種新穎的目標(biāo)跟蹤網(wǎng)絡(luò)SiamFC[17]。
目前,太空場景下針對人造衛(wèi)星部件目標(biāo)的追蹤算法尚不完善,主要原因有以下幾點(diǎn):從數(shù)據(jù)層面上看,在太空場景下,可獲取的樣本數(shù)量不足,無法滿足機(jī)器學(xué)習(xí)特別是深度學(xué)習(xí)對數(shù)據(jù)的大量需求;從場景本身看,太空場景中的航天器運(yùn)動(dòng)自由無序,存在大量旋轉(zhuǎn)、形變、尺度變化的情況,且航天器同類部件較為相似易混淆視覺感知,導(dǎo)致同一個(gè)目標(biāo)在不同光強(qiáng)下差異很大,不同目標(biāo)在同一場景下差異較小,以上存在種種問題都對目標(biāo)跟蹤算法提出相當(dāng)大的挑戰(zhàn)。
孿生網(wǎng)絡(luò)結(jié)構(gòu)(Siamese Network),如圖1 所示,具有相同權(quán)重的兩個(gè)神經(jīng)網(wǎng)絡(luò)可以將不同的輸入映射到相同的特征空間,在該特征空間中可以度量兩個(gè)輸入的相似程度。孿生網(wǎng)絡(luò)的兩個(gè)輸入x1、x2分別輸入兩個(gè)神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)將其映射到相同特征空間L中,得到輸出f1、f2。以特征編碼距離衡量其相似性,則x1,x2的距離d(x1,x2)定義如公式(1),d(x1,x2)越小則表示輸入越相似。
圖1 孿生網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Architecture of siamese network
孿生網(wǎng)絡(luò)結(jié)構(gòu)對網(wǎng)絡(luò)輸入相似性的度量是非語義的,這種相似度量的思想與模板匹配思想類似,因此使用當(dāng)前數(shù)量大,監(jiān)督信息豐富的大型數(shù)據(jù)集訓(xùn)練孿生網(wǎng)絡(luò)結(jié)構(gòu),提升網(wǎng)絡(luò)對目標(biāo)的表征能力,可以緩解空間目標(biāo)數(shù)據(jù)不足的問題。
如圖2,該網(wǎng)絡(luò)結(jié)構(gòu)的訓(xùn)練過程可以理解為學(xué)習(xí)一個(gè)網(wǎng)絡(luò)模型,該網(wǎng)絡(luò)模型使得真實(shí)正樣本的輸入到預(yù)測為正樣本的距離遠(yuǎn)遠(yuǎn)小于預(yù)測為負(fù)樣本的距離。
圖2 孿生網(wǎng)絡(luò)訓(xùn)練過程Fig.2 Training processing of siamese network
若圖1 中網(wǎng)絡(luò)輸入為圖像數(shù)據(jù),則可度量兩個(gè)輸入圖像的相似度,找出最相似位置,將航天器部件追蹤問題描述為一個(gè)基于孿生神經(jīng)網(wǎng)絡(luò)的相似性度量問題。即學(xué)習(xí)一個(gè)目標(biāo)函數(shù)f(z,x),找到當(dāng)前待搜索圖像x中與搜索目標(biāo)z最相似的位置,且該位置與目標(biāo)真值所在位置距離盡可能小。本文以卷積神經(jīng)網(wǎng)絡(luò)描述目標(biāo)函數(shù)f。Krizhevsky 等人設(shè)計(jì)的AlexNet[18]是一個(gè) 用作圖像分類的神經(jīng)網(wǎng)絡(luò),具有比較優(yōu)秀的特征提取能力,基于此本文提出了一個(gè)AlexNet 的改進(jìn)版本,使其適應(yīng)目標(biāo)追蹤任務(wù)。改進(jìn)的AlexNet相比原網(wǎng)絡(luò)具有以下區(qū)別,網(wǎng)絡(luò)結(jié)構(gòu)對比如表1所示。
表1 網(wǎng)絡(luò)結(jié)構(gòu)對比Tab.1 Comparison of network architecture
(1)AlexNet 為了實(shí)現(xiàn)圖像分類功能,在網(wǎng)絡(luò)最后使用兩個(gè)全連接層與一個(gè)分類層。改進(jìn)Alexnet 網(wǎng)絡(luò)去掉了這三層只保留其特征提取能力。
(2)為提升網(wǎng)絡(luò)的表征能力,緩解網(wǎng)絡(luò)訓(xùn)練中的過擬合現(xiàn)象,在前四層卷積操作之后激活函數(shù)之前對特征圖進(jìn)行批歸一化計(jì)算即BN(Batch Normalization),防止網(wǎng)絡(luò)對于明顯相應(yīng)不敏感。
(3)原始AlexNet 使用Padding 計(jì)算 以補(bǔ)全特征圖尺寸,但這一操作會(huì)使目標(biāo)區(qū)域趨向于集中在圖像中心造成誤差,所以在本網(wǎng)絡(luò)結(jié)構(gòu)中去掉Padding 計(jì)算。
(4)為令改進(jìn)AlexNet 可以度量網(wǎng)絡(luò)輸入的相關(guān)性,在完成網(wǎng)絡(luò)輸入的特征提取過程即前五層卷積層后,增加相關(guān)計(jì)算層,該層將經(jīng)特征提取后的搜索圖像特征圖與模板圖像特征圖進(jìn)行卷積,得到兩者相似性響應(yīng)。
(5)由于本文改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)為全卷積網(wǎng)絡(luò),因此對網(wǎng)絡(luò)輸入圖片的尺寸沒有要求,可以滿足目標(biāo)模板與待追蹤圖像尺寸不同的需求。
需要指出的是,在邏輯上孿生網(wǎng)絡(luò)結(jié)構(gòu)是兩個(gè)輸入并行的輸入對應(yīng)兩個(gè)相同的網(wǎng)絡(luò),在實(shí)際算法實(shí)現(xiàn)中是兩個(gè)輸入串行輸入到同一個(gè)網(wǎng)絡(luò)得到結(jié)果。
基于上述描述,本論文所提出算法主要包含算法的前向過程與網(wǎng)絡(luò)的訓(xùn)練過程,前向流程圖如圖3,z、x分別表示追蹤目標(biāo)與待搜索圖像,φ表示神經(jīng)網(wǎng)絡(luò)特征提取過程,由特征圖到追蹤結(jié)果的計(jì)算過程記為h,R表示目標(biāo)相對上一幀的位移。算法的前向過程可用公式(2)描述。算法的訓(xùn)練過程是指使用大型訓(xùn)練數(shù)據(jù)集進(jìn)行網(wǎng)絡(luò)訓(xùn)練,提升網(wǎng)絡(luò)特征表示能力的過程。
圖3 算法流程Fig.3 Pipeline of our proposed algorithm
計(jì)算過程h的描述如式(3)~式(7),本文所使用網(wǎng)絡(luò)φ為全卷積神經(jīng)網(wǎng)絡(luò),不需要目標(biāo)圖像尺寸與待搜索圖像具有同樣尺寸,使待搜索圖像具有更大的尺寸。令目標(biāo)圖像在待搜索圖像上進(jìn)行平移窗口的相似計(jì)算得到相似相應(yīng)圖s_map。此處的計(jì)算過程被描述為一個(gè)互相關(guān)運(yùn)算,計(jì)算過程如公式(3)和圖4。經(jīng)互相關(guān)計(jì)算后的特征圖尺寸為17×17,進(jìn)行16 倍上采樣得到272×272 尺寸的相似相應(yīng)圖,以保持尺寸與輸入圖像相近,利于后續(xù)目標(biāo)位置映射。
圖4 互相關(guān)運(yùn)算示意圖Fig.4 Schematic of cross-correlation operation
依據(jù)公式(3)中的相似相應(yīng)圖,獲取其響應(yīng)值最大位置的坐標(biāo)與上一時(shí)刻k 的目標(biāo)位置作差,得到目標(biāo)在相應(yīng)圖上相對上一幀的位移R'。
本論文中輸入待搜索圖像x尺寸為255×255,將R'k+1經(jīng)過網(wǎng)絡(luò)反向運(yùn)算可以得到目標(biāo)在待搜索圖像上相對上一幀的位移Rk+1,計(jì)算過程如公式(5)。其中strdide 表示在網(wǎng)絡(luò)前向特征提取過程中總步長,在本文為8,即表示在17*17 的相似相應(yīng)圖中相鄰1 個(gè)像素則在255×255 圖像中相鄰8 個(gè)像素。
其中,σ 表示時(shí)序信息。追蹤過程中,為提升算法速度,本文所提出方法結(jié)合追蹤的時(shí)序信息:在k+1時(shí)刻的待搜索圖像xk+1的圖像中心為以k時(shí)刻目標(biāo) 尺寸與位置Rk(ck,yk,wk,hk) 的中心(ck,yk),尺寸為C,并在輸入網(wǎng)絡(luò)前將xk+1尺寸調(diào)整為255×255。
尺寸C與上一幀目標(biāo)尺寸相關(guān),自適應(yīng)調(diào)整搜索區(qū)域?yàn)樯弦粠繕?biāo)尺寸的4 倍以上。公式(5)的提出,保證了追蹤過程的前后時(shí)序關(guān)聯(lián),從而避免了航天器同類部件對追蹤過程的干擾。定義目標(biāo)位置為pos,則最終預(yù)測的目標(biāo)位置為:
為了得到更加準(zhǔn)確的追蹤結(jié)果,待搜索圖像xk+1使用多個(gè)尺度下的相似計(jì)算結(jié)果,選取最高相應(yīng)作 為追蹤 結(jié)果,尺度因 子l為1.037 5[?2,?0.5,1]。
網(wǎng)絡(luò)訓(xùn)練目的是提高公式(3)中φ的特征提取與判別能力,以判別方法對正負(fù)樣本進(jìn)行網(wǎng)絡(luò)訓(xùn)練,定義正樣本的概率如公式(8):
負(fù)樣本的概率如公式(9):
為評估網(wǎng)絡(luò)訓(xùn)練過程中當(dāng)前網(wǎng)絡(luò)模型的性能,計(jì)算交叉熵,使用logistic loss 作為孿生網(wǎng)絡(luò)結(jié)構(gòu)的損失函數(shù),如公式(10),并使用誤差反向傳播的方式訓(xùn)練網(wǎng)絡(luò):
其中:v表示樣本-搜索圖像的實(shí)際值,y∈{+1,?1}表示該位置的標(biāo)注真值。訓(xùn)練過程中,利用全卷積網(wǎng)絡(luò)的性質(zhì):包含模板圖像和較大的搜索圖像。通過窗口滑動(dòng)方式,將產(chǎn)生許多有效的樣本,這些樣本構(gòu)成了一個(gè)以v值為基礎(chǔ)的圖D→R。定義圖D的損失為圖中點(diǎn)損失的平均值,即有:
對圖D中的每一點(diǎn)u都需要一個(gè)真值標(biāo)注y[u]∈{+1,?1},網(wǎng)絡(luò)φ中的卷積核參數(shù)θ在實(shí)驗(yàn)中以pytorch 框架通過隨機(jī)梯度下降法最小化公式(11)所描述問題得到(12):
訓(xùn)練過程中忽略所跟蹤目標(biāo)的具體類別,并在不破壞圖像長寬比的情況下對每幀圖像中跟蹤目標(biāo)的長寬比進(jìn)行歸一化。通過判斷得分圖中每一點(diǎn)距離目標(biāo)中心c 的距離與E(以中心c 為圓點(diǎn),與網(wǎng)絡(luò)步長k相關(guān))的大小關(guān)系,來決定該點(diǎn)為正樣本還是負(fù)樣本,劃分方式如(13)。
由于正負(fù)樣本分布的不平衡,對正負(fù)樣本的損失進(jìn)行加權(quán)融合,以提高網(wǎng)絡(luò)訓(xùn)練性能,防止不平衡的樣本主導(dǎo)整個(gè)訓(xùn)練過程。
訓(xùn)練數(shù)據(jù)采用中科院自動(dòng)化所開放的GOT-10k 數(shù)據(jù)集[19],該數(shù)據(jù)集是由中國科學(xué)院自動(dòng)化研究所發(fā)布的目標(biāo)跟蹤數(shù)據(jù)集,目標(biāo)均為在現(xiàn)實(shí)世界中移動(dòng)的物體,場景為通用場景。目標(biāo)跟蹤問題本質(zhì)上是對類別不敏感的圖像二分類問題。本論文使用無數(shù)據(jù)泄露的方式,從GOT-10k 訓(xùn)練集中隨機(jī)選取500 段視頻作為訓(xùn)練數(shù)據(jù),訓(xùn)練數(shù)據(jù)中不包含空間目標(biāo)數(shù)據(jù)。訓(xùn)練網(wǎng)絡(luò)的特征提取能力和判別目標(biāo)與背景的能力,成功解決了航天器數(shù)據(jù)不足的問題。
測試數(shù)據(jù)選用ESA 開放的人造衛(wèi)星仿真視頻。本論文所使用訓(xùn)練數(shù)據(jù)集不存在與測試數(shù)據(jù)集交叉的數(shù)據(jù),即不存在數(shù)據(jù)泄露現(xiàn)象。因此本實(shí)驗(yàn)可以驗(yàn)證本論文所提出的基于公開數(shù)據(jù)驅(qū)動(dòng)進(jìn)行航天器部件追蹤的思路。本文所跟蹤目標(biāo)衛(wèi)星太陽能帆板與衛(wèi)星主體。圖5 和圖6 所示分別為測試數(shù)據(jù)中所跟蹤的航天器主體及太陽能帆板示例圖。
圖5 航天器主體Fig.5 Cabin of spacecraft
圖6 航天器太陽能帆板Fig.6 Solar panel of spacecraft
圖7 是所選取測試視頻的部分?jǐn)?shù)據(jù),在這段視頻中,圖a 和d 存在衛(wèi)星整體的大幅度改變及目標(biāo)遮擋現(xiàn)象,圖a 和b 存在較大的光照條件變化,圖a 和c 存在較大幅度的目標(biāo)旋轉(zhuǎn)。本文所提出算法分別實(shí)現(xiàn)對衛(wèi)星太陽能帆板以及衛(wèi)星主體部分的跟蹤,對以上所提到的挑戰(zhàn)均具有較好的魯棒性。
圖7 部分測試視頻數(shù)據(jù)Fig.7 Parts of testing video data
為評估算法跟蹤的精度,以跟蹤結(jié)果與真實(shí)標(biāo)注結(jié)果的交并比作為評價(jià)指標(biāo)衡量算法的性能。將跟蹤結(jié)果與真實(shí)結(jié)果的交并比定義如公式(14):
公式(14)中,如跟蹤結(jié)果與真實(shí)標(biāo)注結(jié)果重合度越高,則IOU(Intersection Over Union)值越高,反之則越低。對視頻序列每幀圖片計(jì)算算法結(jié)果與人工標(biāo)注的交并比,如公式(14)取平均值,其中res 表示每幀圖像的算法結(jié)果與真值標(biāo)注的交并比,計(jì)算追蹤平均重合率,其定義如公式(15):
為實(shí)現(xiàn)本文所提出算法,本文搭建如表2 所示實(shí)驗(yàn)環(huán)境作為算法運(yùn)行與測試環(huán)境。
實(shí)驗(yàn)過程中,測試視頻數(shù)據(jù)僅給出第一幀圖像中目標(biāo)的位置,經(jīng)訓(xùn)練后的算法模型僅使用這一幀樣本實(shí)現(xiàn)對整個(gè)測試視頻中目標(biāo)的預(yù)測。計(jì)算預(yù)測結(jié)果與標(biāo)注真值的交并比,并以該交并比作為追蹤成功與否的閾值,可繪制追蹤成功率曲線。圖8 展示了對航天器太陽能帆板及主體的跟蹤結(jié)果圖。
如圖8 所示,本文所提出算法對航天器太陽能帆板的跟蹤結(jié)果較為穩(wěn)定,可以較為準(zhǔn)確的跟蹤航天器右側(cè)帆板,由于搜索策略側(cè)重于上一幀目標(biāo)所在位置,有效避免了算法將航天器左側(cè)太陽能帆板誤識(shí)別為跟蹤目標(biāo)。本文所提出算法對航天器主體跟蹤結(jié)果較為準(zhǔn)確,克服了航天器艙體旋轉(zhuǎn),光照變化,外觀變化的多種挑戰(zhàn),沒有出現(xiàn)目標(biāo)丟失的現(xiàn)象。
圖8 航天器主體與太陽能帆板追蹤結(jié)果Fig.8 Tracking results of spacecraft cabin and solar panel
使用基于交并比的追蹤成功率評價(jià)本方法,為得到更加客觀的評估效果,本實(shí)驗(yàn)與當(dāng)前應(yīng)用較為廣泛的KCF 與Staple 算法進(jìn)行分類別對比,分別對比其對航天器主體與太陽能帆板的追蹤精度得到追蹤成功率曲線,如圖9 和圖10,算法速度為38 FPS。圖中紅色表示本方法,綠色表示KCF 算法,藍(lán)色表示Staple 算法,由圖可知本文提出方法完全包裹了另外兩個(gè)對比算法。圖9 表示為艙體追蹤曲線,圖10 為太陽能帆板追蹤曲線。本文提出提出方法在艙體與太陽能帆板追蹤結(jié)果交并比達(dá)到57.2%與73.1%,遠(yuǎn)遠(yuǎn)優(yōu)于KCF 與Staple。
圖9 航天器主體追蹤成功率曲線Fig.9 Success plot of spacecraft cabin tracking
圖10 航天器太陽能帆板追蹤成功率曲線Fig.10 Success plot of spacecraft solar panel tracking
本文針對航天器部件追蹤問題提出基于孿生網(wǎng)絡(luò)的部件追蹤算法,設(shè)計(jì)基于改進(jìn)AlexNet的孿生網(wǎng)絡(luò)結(jié)構(gòu)將部件模板與待搜索圖片映射到相同的特征空間,映射結(jié)果相似度最高處為追蹤結(jié)果。在追蹤過程中采用以上一幀追蹤結(jié)果為中心進(jìn)行搜索的策略,在ESA 開源的公開視頻數(shù)據(jù)上驗(yàn)證,在艙體與太陽能帆板追蹤結(jié)果交并比達(dá)到57.2% 和73.1%,速度達(dá)到38 FPS,基本滿足空間任務(wù)所需。