張 銳,王兆魁
(1.國防科技大學 空天科學學院,湖南 長沙 410073; 2.清華大學 航天航空學院,北京 100084)
空間站長期在軌維護和復雜科學研究的實施主要依賴航天員來完成。航天員在軌可用的工作時間通常非常有限。為了輔助航天員,提升其工作效率,國際上提出了多個艙內(nèi)輔助機器人項目,如PSA[1]、Astrobee[2]、Smart Spheres[3]、Int-Ball等。這些機器人多采用遙控方式運行,其自主運行及人機智能交互能力存在一定局限性,需要航天員在軌照料。為發(fā)展更自主的艙內(nèi)跟隨服務機器人,提升機器人的任務輔助能力,需要解決機器人對航天員的視覺跟蹤問題。
指定服務航天員的穩(wěn)定、準確跟蹤需要獲得良好的航天員檢測結果。人體檢測[4]方法通常用Haar[5]、Sift[6]、Hog[7]特征及這些特征的組合進行顯著特征提取,再用支持向量機(SVM)[7]、競爭分類器(boosted classifiers)[8]或隨機森林(random forests)[9]等分類器實現(xiàn)分類。用這些方法檢測站立或行走的人能得到較好的效果,但對于姿態(tài)多樣人體的檢測效果一般。近年來,深度學習特別是深度卷積神經(jīng)網(wǎng)絡成為解決圖像問題的主要方法。目標檢測研究領域中,F(xiàn)aster R-CNN[10]、R-FCN[11]及基于回歸方法的YOLO[12]和SSD[13]模型取得了很好的效果??柭鼮V波器(Kalman filter)[14]、粒子濾波器(particle filter)[15]及概率模型(probabilistic model)[16]通常被用來完成準確、連續(xù)的人體跟蹤任務。實現(xiàn)穿著多樣、姿態(tài)任意人體的穩(wěn)定跟蹤,是空間站艙內(nèi)輔助機器人實現(xiàn)對航天員跟隨飛行并提供即時任務輔助的重要前提。本文基于融合的彩色-深度(RGB-D)圖像,提出一種基于深度學習和概率模型的航天員跟蹤算法,有效避免了由于穿著相似、遮擋等可能造成的誤跟蹤問題。
圖1 航天員視覺跟蹤算法框架Fig.1 Architecture of astronaut visual tracking algorithm
借鑒文獻[13]中SSD目標檢測方法,設計了一種端到端的航天員檢測深度卷積神經(jīng)網(wǎng)絡,該網(wǎng)絡包含圖像輸入層、特征提取層、多尺度預測層和非極大抑制輸出層,如圖2所示。
輸入的待檢測圖像尺寸均調(diào)整為300×300像素,并采用VGG-16網(wǎng)絡作為特征提取層進行人體特征提取。在特征提取層上,設計了多尺度網(wǎng)絡層進行多尺度檢測。用Conv4_2、Conv5_2、Conv6_2、Conv7_2、Conv8_2、Conv9_2進行最終的多尺度檢測。
圖2 航天員檢測深度卷積神經(jīng)網(wǎng)絡Fig.2 Deep convolutional neural network for astronaut detection
對于分辨率300×300的輸入圖像,表1給出了各層中默認邊界框的詳細設計參數(shù)。在6個多尺度層的每個單元上,預測相對于默認邊界框形狀的偏差及這些默認邊界框中是航天員的概率,共產(chǎn)生8 732個檢測結果。最終的檢測結果將通過非極大抑制算法從8 732個候選結果中求得,輸出所檢測到的位置及分類結果為航天員的概率。
為與未來在軌應用情況盡可能保持一致,網(wǎng)絡訓練的數(shù)據(jù)集圖像來源于在地面實驗空間站模擬艙中通過手持相機錄制或艙內(nèi)監(jiān)控攝像頭錄制的視頻。受試者在地面實驗模擬艙中模擬航天員操作或行走,其衣色可為淺藍、靛藍、墨綠。從記錄的視頻中挑選出3 250幅圖像,標注真實邊界框和分類標簽,完成訓練數(shù)據(jù)集的制作。網(wǎng)絡訓練目標損失函數(shù)定義為定位損失和置信度損失的加權和,有
表1各層默認邊界框設計參數(shù)
Tab.1 Design of default bounding boxes in each layer
(1)
訓練時,首先采用VGG-16訓練好的模型參數(shù)初始化網(wǎng)絡特征層的參數(shù),并用零均值高斯分布初始化多尺度預測層參數(shù)。采用隨機梯度下降法進行迭代計算,該算法的初始學習速率為0.001,權重為0.9,正則項為0.000 5。學習速率分別在20 000,40 000和60 000次迭代時依次減小10倍。網(wǎng)絡訓練過程共包含80 000次迭代,網(wǎng)絡采用Caffe深度學習框架實現(xiàn),并基于圖像處理單元實現(xiàn)并行加速計算。
航天員跟蹤模塊流程如圖3所示。航天員跟蹤問題主要為最大化后驗概率問題,即最大化概率,此概率可通過多種因素估計。本文目標是通過RGB-D圖像數(shù)據(jù)實現(xiàn)跟蹤,獲得RGB-D圖像數(shù)據(jù),后驗概率可描述為
(2)
argmaxPk(p|Li)Pk(p|Ii)
(3)
如果跟蹤模塊連續(xù)30次以上未得到滿足要求的檢測或跟蹤匹配結果,跟蹤過程將停止并退出。機器人將主動報警以提示失去對服務航天員的連續(xù)跟蹤,并請求重新確認跟蹤目標。
圖3 航天員跟蹤模塊流程圖Fig.3 Flowchart of astronaut tracking module
為進行服務航天員的位置預測,需要獲取其相對于機器人的空間位置。選取檢測結果邊界框中心點(uman,vman)作為航天員在彩色圖像中的二維位置,如圖 4(a)所示。通過校準彩色和深度相機間的視角差異,獲得融合的RGB-D圖像。用彩色和深度相機在多個視角場景下的棋盤拍攝圖像,并用GML Calibration Toolbox相機標定軟件分別獲得彩色相機的內(nèi)參矩陣HRGB、外參矩陣RRGB和TRGB,以及深度相機的內(nèi)參矩陣HIR、外參矩陣RIR和TIR。隨后,將深度圖像中各像素點pIR與彩色圖像中各像素點pRGB進行匹配,有
(4)
圖像融合只針對深度與彩色圖像的視角重疊部分。完成融合后,可得彩色圖像中各像素點對應的深度值。航天員位置深度值Zman為檢測結果框內(nèi)距離最近6個稀疏采樣點的平均深度值,如圖 4(b)所示。航天員在彩色相機中的空間位置(XRGB,YRGB,ZRGB)為
(5)
此處,彩色相機的內(nèi)參數(shù)矩陣HRGB通過標定為
(6)
通過簡單的坐標系旋轉和平移變換即可實現(xiàn)彩色相機坐標系到Kinect相機體坐標系間的轉換,如圖 4(c)所示。進而求得航天員在Kinect相機體坐標系下的三維位置(X,Y,Z)為
(7)
式中:d為彩色相機中心與Kinect相機體坐標原點間的距離,d=13 mm。獲得人體相對于相機的空間三維位置坐標后,設計改進的卡爾曼濾波器來預測航天員在機器人體坐標系中的空間位置。
連續(xù)幀之間的航天員運動可視為勻速運動,因此卡爾曼濾波器采用勻速運動模型,狀態(tài)方程不包含加速度項。航天員運動可用下述測量模型進行描述:
xk=Axk-1+wk
(8)
zk=Hxk+vk
(9)
運動模型中的狀態(tài)向量可表示為
xk=[SkVk]T
(10)
式中:Sk、Vk分別為航天員在機器人體坐標系中的位置和速度矢量,Sk=[XkYkZk],Vk=[VXkVYkVZk]。由于連續(xù)幀之間可視作勻速運動,因此可通過運動學方程獲得狀態(tài)轉移矩陣
Sk=Sk-1+Vk×Δt
(11)
Vk=Vk-1
(12)
圖4 RGB-D圖像及相關坐標系定義Fig.4 Images of RGB-D camera and coordinate system definition
b1(Sk-Sk-1)
(13)
改進的卡爾曼濾波器包含預測和校正2個階段。預測階段表示為
(14)
(15)
(16)
(17)
(18)
(19)
式中:Sk為服務航天員的測量位置值;Rthre為閾值,Rthre=30 cm。
空間位置預測將航天員視為質點模型,考慮到空間站艙內(nèi)空間有限,航天員身體尺寸不可被忽略。運動中航天員身體尺寸范圍是彩色圖像中檢測到的邊界框,如圖5所示。因此,用當前檢測結果邊界框與跟蹤結果邊界框的幾何相似性來描述概率Pk(p|Ii)。圖5中,實線矩形框表示第k-1幀中跟蹤到的航天員邊界框,虛線矩形框表示第k幀中檢測結果的邊界框。由于連續(xù)圖像幀間航天員的姿態(tài)、空間位置變化很小,故與之前跟蹤結果邊界框距離越近、形狀越相似的檢測結果更可能是所需要跟蹤的航天員。
圖5 彩色圖像中的檢測結果邊界框幾何相似匹配Fig.5 Geometric similarity matching of bounding box in color image
概率Pk(p|Ii)可描述為
(20)
(21)
(22)
(23)
為驗證本文所提出的航天員跟蹤算法,在空間站模擬艙環(huán)境中,開展了人體跟蹤實驗,并分析其結果。提出的算法基于C++語言,在Ubuntu16.04環(huán)境下實現(xiàn),通過 NVIDIA TITAN X加速計算得到63幀/s的計算速度,可支持30幀/s實驗視頻數(shù)據(jù)的實時處理。實驗視頻數(shù)據(jù)采用Kinect相機錄制,分辨率為640×480。通過2組實驗進行驗證,用墨綠色包絡框繪制出每幀圖像中跟蹤算法給出的跟蹤目標判斷結果,驗證跟蹤算法對指定目標準確、穩(wěn)定跟蹤的能力。
實驗一,受試者將以多種失重姿態(tài)沿1.4 m×2.0 m的方形參考路徑運動。期間,受試者將以不同的姿態(tài)和相對位置呈現(xiàn)在相機視野中,通過是否能得到連續(xù)、準確的跟蹤結果來評價跟蹤算法的性能。受試者衣色可為訓練時的3種,本實驗以最常見的淺藍色進行討論。若判斷為跟蹤目標,則對應航天員的檢測結果包絡框將變?yōu)槟G色。5種姿態(tài)下的參考路徑跟蹤實驗如圖6所示。對于指定的跟蹤目標,提出的跟蹤算法始終能保持準確的檢測和穩(wěn)定持續(xù)的跟蹤。
實驗二,測試更常見的應用情形,即機器人與所服務的航天員保持懸停或跟隨飛行并提供任務輔助??紤]一種常見情況,艙內(nèi)有2位航天員,均穿淺藍色的艙內(nèi)工作服。首先將與相機保持一定距離的受試者作為跟蹤目標,即圖7和圖8中左側的受試者。該受試者模仿在軌航天員工作和行走的多種肢體動作。與此同時,另一位受試者進入或退出相機視野。2位受試者運動相距很近,跟蹤目標圖像可能會被受試者部分或完全遮擋。圖 7中實驗結果表明:存在相似目標干擾情況下,跟蹤算法能對指定的左側受試者進行穩(wěn)定的跟蹤。圖8中實驗結果表明:跟蹤算法能較好地檢測相似目標的遮擋,在指定的跟蹤受試者被其他穿著相似的受試者遮擋時,能準確檢測出跟蹤目標被遮擋,有效避免了誤跟蹤。
圖6 不同姿態(tài)下的參考路徑跟蹤實驗Fig.6 Reference path tracking test with five different postures
圖7 存在相似目標干擾情況下的穩(wěn)定跟蹤實驗Fig.7 Tracking with other subject entering and moving very close to target subject
圖8 遮擋檢測及誤跟蹤避免實驗Fig.8 Occlusion detection for avoiding mistaken tracking
航天員視覺跟蹤是空間站艙內(nèi)跟隨服務機器人實現(xiàn)航天員跟隨飛行并提供任務輔助的重要前提。本文設計了深度卷積神經(jīng)網(wǎng)絡,并對穿著、姿態(tài)和手勢多樣的人體進行了檢測,結合運動信息構建了運動預測概率模型,完成了指定人體的穩(wěn)定、持續(xù)視覺跟蹤。采用包含大多數(shù)航天員活動的視頻數(shù)據(jù)進行了算法驗證,實驗結果表明:該算法可實現(xiàn)對穿著多樣、姿態(tài)任意的人體的穩(wěn)定跟蹤,并有效避免了由于穿著類似、圖像遮擋可能造成的誤跟隨問題。本文提出的航天員跟蹤算法為空間站艙內(nèi)服務機器人實現(xiàn)對航天員的視覺跟蹤提供了較好的解決方案。該算法僅基于融合的RGB-D圖像,工程應用時易于構建和實現(xiàn),且算法包含的檢測和跟蹤模塊均具有很好的普適性,易于拓展到其他應用場景,應用到各類跟隨服務機器人中。