朱雨萌,丁剛毅,關 正
(北京理工大學 計算機學院,北京 100081)
近年來,隨著航天技術不斷發展,大量航天器被發送至太空近地軌道。在完成任務后因失去與地面的聯系后損壞、相撞,從而逐漸積累成空間碎片等空間實體,既占用軌道資源,又對現役航天器構成威脅[1]。將計算機虛擬仿真技術用于空間仿真,對空間實體根據物理規律進行數據建模和計算,并建立仿真系統,提供一種大尺度、逼真度高的虛擬運動場景[2],可對其軌道進行仿真推演并直觀展示。為保證推演仿真數據的可靠性,需要將其和真實數據進行比較,采用主動航天器對空間實體實時拍攝成像視頻,運用視頻和圖像處理算法對運動場景視頻進行目標跟蹤獲取軌道數據。該方法基于計算機視覺,此外在現有的目標跟蹤技術中,還有基于外部設備定位[3-4]的方法。近年來深度學習方法發展迅猛,如R-CNN(regions with convolutional neural networks,基于候選區域的卷積神經網絡)系列等算法可完成圖像形狀、顏色精準分割及標注[5];YOLOv3(you only look once,基于回歸方法的端到端目標檢測)系列等算法可實時目標跟蹤,為監測視頻中空間實體軌道數據帶來了新思路[6]。
針對空間實體軌道運動的復雜性和仿真推演的準確性,首先建立仿真系統對空間實體軌道進行仿真推演。處理實時監測拍攝的視頻獲取空間實體軌道數據,與推演仿真數據比較并評估推演仿真數據的逼真度。
本文提出一種仿真數據和空間實體數據混合驅動的空間仿真工作流程,分為推演仿真階段和空間實體數據獲取階段,如圖1所示。

圖1 仿真數據和空間實體數據混合驅動的空間仿真Fig.1 Space simulation of hybrid driven simulation data and spatial entity data
在推演仿真階段,根據航天器軌道運動學等物理規律對空間實體軌道建立仿真系統,系統架構和數據建模種類如圖2所示。

圖2 仿真系統主要架構和數據建模類型Fig.2 Main architecture and data modeling types of simulation system
三維仿真引擎可渲染構建虛擬三維環境,可對空間環境中地球、太空、軌道平面、空間實體運行方向、軌道傾角、近地點等進行數據建模,通過時間系統控制仿真推演。
運用三維建模軟件建立空間實體三維模型,通過關鍵幀動畫模擬其沿軌道運行的運動軌跡。根據航天器軌道運動學定義仿真系統中單個空間實體i在時刻t在空間環境中的三維空間坐標和旋轉量數據表示為,其中i∈[1,n],t∈[t1,t m],得到軌道運行時間區間[t1,t m]內所有空間實體的運動軌跡仿真數據S。將三維模型和提取的數據S輸入到仿真系統,通過時空同步控制模塊和幀動畫進行軌道仿真推演。若在空間實體數據獲取階段與空間實體數據比較后不符合物理規律,則調整仿真數據。
在空間實體數據獲取階段,為判斷仿真推演的可靠性和逼真度,對應仿真數據進行成像視頻中真實空間實體軌道數據建模。
定義單個空間實體i在時刻t在成像視頻關鍵幀中的二維位置坐標數據為,其中i∈[1,n],t∈[t1,t m],得到軌道運行時間區間[t1,t m]內所有空間實體的真實運動軌跡數據R。主動航天器實時監測拍攝得到一個空間實體的多觀測視角成像視頻。對成像視頻進行鏡頭分割,獲取一段軌道運行視頻片段并逐幀提取得到關鍵幀序列,通過基于深度學習的目標檢測得到關鍵幀中空間實體二維位置坐標數據R。將空間環境中的靜態物體作為特征點,通過圖像角點提取和匹配獲取關鍵幀中共同的兩個靜態物體二維位置坐標并計算與空間實體之間的像素距離輔助定位空間實體。仿真系統中空間環境建模數據與真實空間環境數據一致,在仿真系統中獲取上述靜態物體及與視頻片段同步的軌道運行時間區間內空間實體三維空間坐標,并計算和靜態物體之間的空間距離。根據若空間實體運動軌跡無誤差距離之比成等比例的條件,比較每個關鍵幀中像素距離和仿真系統中空間距離的差別,完整流程如圖3所示。

圖3 空間實體運動軌跡數據與仿真數據的處理和比較流程Fig.3 Processing and comparison process of spatial entity motion trajectory data and simulation data
通過鏡頭分割截取成像視頻中一段軌道運行時間區間全景視頻片段。本文采用基于直方圖的方法,將成像視頻連續幀中像素的灰度值、顏色值分為N個等級,統計每個等級中的像素數形成直方圖比較幀間差值檢測鏡頭切換時鏡頭邊界。定義成像視頻幀序列中第i幀和第(i+j)幀之間直方圖幀間差值d(i,i+j)為

式中:N為灰度級數或顏色數;P為一幀的像素數;H i(k)為第i幀中在第k個等級中的像素數。
給定判斷閾值T,若d>T,則檢測到鏡頭邊界,得到鏡頭起始幀和結束幀。鏡頭切換的兩幀之間d>T,鏡頭內其他幀之間的d<T且相差不大。鏡頭分割過程如圖4所示。

圖4 鏡頭邊界檢測的鏡頭分割過程Fig.4 Shot segmentation process in shot boundary detection
定義V i為成像視頻鏡頭分割后得到的一段軌道運行時間區間內單鏡頭視角不變全景視頻片段。對V i進行逐幀提取得到V i的關鍵幀序列。
V i的關鍵幀序列中空間實體沿軌道運行過程時空連續,靜態物體在空間環境中保持不動,角點特征明顯。
本文基于Harris算子[7]對V i的每個關鍵幀圖像進行角點提取和匹配,獲得空間環境中共同的兩個靜態物體二維位置坐標。對于V i的一個關鍵幀f,以某像素點(x,y)為中心的小窗口在x,y方向上分別移動u,v,則圖像灰度變化值E(x,y)為

式中:e(x,y)為點(x,y)的灰度值;w(x,y)為以點(x,y)為中心的小窗口。
式(2)可轉化為二維矩陣M,即

式中:f x,f y分別為x和y方向上的梯度;?表示卷積。M的特征值λ1,λ2為x,y方向的表面曲率,若均較大,則點(x,y)為中心的小窗口沿任何方向移動會導致圖像灰度值劇烈變化,對應的響應函數為

式中:det(M)=λ1λ2;trace(M)=λ1+λ2;μ通常取0.04。
當點(x,y) 的CRF值大于給定閾值時為靜態物體角點,得到V i的關鍵幀圖像中所有靜態物體角點。從第一幀起,以幀中每個靜態物體角點為中心取周圍8個像素灰度值,依次與后一幀所有角點周圍8個像素對應相減,灰度差值平均值最小為匹配角點。依次去除匹配角點間灰度平均差值最大的,直到兩幀間只有2個匹配角點即為V i每個關鍵幀中共同的兩個靜態物體。
采用YOLOv3將V i的每個關鍵幀圖像縮放至416×416大小并劃分為S×S個大小相同的網格,輸入單個預訓練好的網絡模型進行目標檢測。空間實體有效可見時,將其視為非質點。每個網格預測中心位于該網格中的目標并預測3個邊界框,分別預測5個參數(t x,t y,tw,th,t o),t x和t y為預測目標中心相對于所在網格左上角坐標偏移量,tw和th為預測目標的寬和高。預測邊界框的大小由K-means聚類得到,寬度為pw,高度為ph。以輸入圖像左上角頂點為原點,預測目標中心所在的網格左上角坐標為(c x,c y),得到標記邊界框為

式中:(b x,b y)為標記邊界框中心坐標;bw,bh分別為標記邊界框寬和高;σ(t o)為標記邊界框置信度;當網格中無目標時,Pr(object)為0,否則為1,此時σ(t o)等于標記邊界框和目標真實邊界框的重疊度IoU,并將小于YOLOv3設定的閾值0.5的值歸零。預測邊界框、標記邊界框的關系如圖5所示。

圖5 YOLOv3預測邊界框和標記邊界框關系Fig.5 Relationships between bounding box and marking box in YOLOv3
σ(t o)與標記邊界框目標分類的條件概率相乘得到標記邊界框目標分類置信度。對于V i的每個關鍵幀圖像,空間實體置信度最高的目標分類為spacecraft。通過NMS非極大值抑制算法對每個標記邊界框按所有目標分類的不同置信度迭代遍歷,與當前標記邊界框Io U高于閾值的目標分類置信度歸0,輸出不為0的標記邊界框為空間實體標記邊界框。取標記邊界框中心(b x,b y)為空間實體二維位置坐標,形成V i關鍵幀序列的R。
仿真系統通過時空同步控制模塊控制幀動畫播放進行空間實體軌道仿真推演,確定仿真系統與V i同步的軌道運行時間區間t即確定V i的關鍵幀序列和仿真推演動畫幀序列中同一時刻的幀偏移量。已知V i的關鍵幀序列中軌道運行開始時刻為t1,V i幀率為fFPS;仿真推演動畫幀序列中軌道運行對應開始時刻為,仿真系統幀率通常和成像視頻一致設為fFPS,定義V i的一個關鍵幀f和動畫幀序列中對應幀f'的幀偏移量f o為

令空間實體形成同一段運動軌跡為事件E,為匹配2個幀序列事件E的開始幀和結束幀,定義V i的關鍵幀事件函數E(f)為

同理可得E(f'),滿足E(f)=1和E(f')=1的所有f和f'組成事件幀集合F和F'。F和F'的事件函數E(f)和E(f')完全相關,可求f o的匹配度O為

遍歷2個幀序列中包含事件E的幀分別加入F和F',使O最大的f o為最優解,即

通過f o對齊F和F'得到仿真系統中同步時間區間t。
獲取仿真系統中t時間區間內空間實體運動軌跡推演仿真數據S及對應V i每個關鍵幀中的兩個靜態物體三維空間坐標,計算空間實體和靜態物體在V i每個關鍵幀中的像素距離P1,P2和仿真系統中t時間區間內的空間距離D1,D2,根據驗證條件對應比較兩種距離評估推演仿真數據逼真度。
定義P1∶D1為a1,P2∶D2為a2,在軌道運行同步時間區間t∈[t1,t m]內有,分別為

若V i幀中R和仿真系統中S效果一致,則軌道運行時間區間t∈[t1,t m]內中各自的比值相等,如圖6所示。若成像視頻中空間實體沿軌道運行運動軌跡與仿真系統中完全一致,則

圖6 像素距離和空間距離之比驗證條件Fig.6 Verification conditions for the ratio of pixel distance to spatial distance
定義Q為仿真系統中同步時間區間t內某時刻空間實體運動軌跡仿真推演的逼真度。理想情況下若空間實體運動軌跡仿真推演沒有誤差,即R和S效果一致,各自的比值相等,將和}各自的比值之比r1和r2作為評估Q的參考值,此時r1=r2=1,Q=1。若某時刻的比值與其他時刻不等,定義中該時刻比值和其他時刻比值之比為之比r t為該時刻的Q。
為了驗證仿真環境中空間實體軌道運行效果和逼真度,利用超圖系統中間件構建了24個空間碎片實體的仿真環境和33個觀測窗口以獲得基于觀測窗口視角的視景數據,代替成像視頻。
其中,1個空間實體的多觀測視角如圖7所示。對成像信息和空間碎片運動軌跡推演仿真數據按前文工作流程進行數據處理、比較和仿真數據逼真度評估。
獲取多觀測窗口視景視頻,軌道運行時長為412 s,采集幀率為25 frame/s,共10 300幀,分辨率為1 280×720。
1)基于OpenCV 3.4.0運用直方圖方法完成視景視頻分割得到33 個觀測窗口視角,選擇其中170~204 s視角不變的全景視頻片段,逐幀提取得到關鍵幀序列,共850幀。
2)基于OpenCV 3.4.0,運用Harris角點檢測提取和匹配該關鍵幀序列中匹配共同的兩個標志物二維位置坐標,分別為(715,27)和(1 053,74)。
3)基于YOLOv3的目標檢測方法,對該段關鍵幀序列圖像中空間實體進行檢測,獲得每一幀中空間實體二維位置坐標并計算像素距離。
4)基于事件幀偏移量匹配該關鍵幀序列與仿真系統中幀動畫序列的最優幀偏移量得到對應同步幀動畫序列,為162~196 s,與關鍵幀序列時長一致。獲取該幀動畫序列每幀中空間實體和標志物的三維空間坐標并計算空間距離。2 個幀序列的第100,200,250,275 幀的3 個空間實體數據見表1~3。

表2 全景視頻片段空間實體和標志物像素距離Tab.2 Pixel distances between spatial entities and markers in the panoramic video clip

表3 仿真系統空間實體和標志物空間距離Tab.3 Spatial distances between spatial entities and markers in the simulation system
比較空間實體和標志物在關鍵幀序列中的像素距離和對應同步幀動畫序列中的空間距離之比。其中第100,200,250,275幀的距離之比見表4。

表4 空間實體和標志物像素空間距離之比Tab.4 Ratios of pixel distances to spatial distances between spatial entities and markers
由表4可知,在該段沿軌道運行的4,8,10,11 s時,2個比值都與其他時刻不等,則4個時刻空間實體仿真數據有一定誤差且有一定增大趨勢,但10 s和11 s差異不大。但每個時刻空間實體2個比值差異很小,整體軌道與仿真數據較為整齊。若符合物理規律,則誤差可忽略不計。由于4個時刻兩組比值互不相等,取每組后3個時刻與前一時刻的比值之比,再和另一組對應時刻的比值之比得到兩者比例為后3個時刻的Q值,見表5。由表5可知,推演仿真數據逼真度保持在0.98~1.00,總體誤差較小。

表5 空間實體軌道推演仿真數據逼真度QTab.5 Fidelity Q of deduction simulation data of spatial entity orbits
本文針對多空間實體軌道建模的復雜性和推演仿真的難度和高準確性,提出推演仿真數據和空間實體數據混合驅動的空間仿真,分析了成像視頻鏡頭分割和關鍵幀提取、角點提取與匹配、基于深度學習的目標檢測從成像視頻中獲取空間實體數據的過程,提出了推演仿真數據和空間實體軌道數據的比較方法和推演仿真數據逼真度評估方法,在空間仿真環境中進行了驗證,提升了基于成像信息的空間實體定位能力及仿真推演效果。