蔣 明,陳 雨,周青華,袁 媛,何世瓊
(1.四川大學 電子信息學院,成都 610065;2.四川大學 空天科學與工程學院,成都 610065)
隨著人類開發(fā)太空進程的加快,大量衛(wèi)星、火箭等航天器被發(fā)射到太空中執(zhí)行各項任務,但由于航天器可能會面臨意外故障、燃料耗盡等問題,導致這些航天器由合作目標轉化成非合作目標,威脅著太空安全。因此,回收這些非合作目標具有維護空間安全及節(jié)約資源的現(xiàn)實意義[1]。研究人員提出在軌服務技術[2],利用空間特種機器人來完成在軌維修、清理空間碎片等高危險性空間任務,其中,非合作目標捕獲是在軌服務技術的一項關鍵技術。在特種機器人對非合作目標實施在軌抓捕之前,需要對目標航天器進行識別與定位,為下一步捕獲任務做準備。但是在太空環(huán)境中,相機對太陽光照等外界信息非常不敏感,且機器人面臨的是未知的非結構化環(huán)境,傳統(tǒng)的目標檢測算法需要人為提取特征,泛化能力較差,在非合作目標檢測任務上表現(xiàn)不佳。
自2012 年卷積神經(jīng)網(wǎng)絡CNN 被應用于圖像處理領域并一舉奪得ImageNet 圖像識別比賽冠軍之后[3],基于CNN 的目標檢測算法進入了快速發(fā)展階段。由于其具有自動提取特征、泛化能力強、穩(wěn)定性好等優(yōu)點,因此在非結構化環(huán)境中表現(xiàn)了巨大的優(yōu)勢。基于CNN 的目標檢測算法大致可以分成2 大類型:第1 類是以區(qū)域推薦法獲取不同尺寸的二階段網(wǎng)絡,其精度較高,但由于需要產(chǎn)生大量候選框,所以速度慢,實時性較差,主要代表算法有R-CNN[4]、Fast-RCNN[5]、Mask-RCNN[6]等;第2 類是一階段網(wǎng)絡,直接端到端進行預測,不需要區(qū)域推薦,直接回歸產(chǎn)生物體的類別概率和位置信息,因此速度快,模型較小,但精度相對較低,代表性的算法有YOLO[7]、SSD[8]。
大部分空間非合作目標的運動規(guī)律是未知的,甚至很大可能是高速運動的,且均具有一定的非合作性。受機載處理器計算能力的限制,非合作目標的復雜識別算法無法在航天器上獨立完成[9],圖像處理算法的設計和實現(xiàn)面臨著準確性、及時性和小型化的矛盾,因此對空間機器人非合作目標抓捕任務的目標檢測算法準確性和實時性均提出了較高要求[10]。此外,傳統(tǒng)的2D 目標檢測只能得到空間位置,無法估計物體的姿態(tài),不太適用于機械臂捕獲操作。針對這些問題,YU 等[11]提出利用檢測目標矩形框長寬比進行抓取姿態(tài)的粗略估計,但沒有考慮目標物體位置對捕獲姿態(tài)的影響,且估算姿態(tài)太過簡單,很多估計情況不符合現(xiàn)實場景。
本文基于YOLO 設計一種YOLO-GhostECA 網(wǎng)絡,通過GhostBottleneck 網(wǎng)絡減少特征圖冗余,并利用高效通道注意力模塊ECA 提取核心特征圖,從而在保持檢測精度不下降的同時,提升檢測速度及降低模型大小。此外,提出一種定性估計非合作目標抓取姿態(tài)的方法,以彌補傳統(tǒng)2D 目標檢測算法無法估計抓取姿態(tài)的缺陷。
由于YOLO 網(wǎng)絡兼顧實時性和準確性,因此成為了工業(yè)界落地最好的目標檢測網(wǎng)絡之一,在這之后相繼提出了YOLOv2[12]、YOLOv3[13]、YOLOv4[14]以及各種YOLO 網(wǎng)絡的變種。GLENN 等[15]開發(fā)出的YOLOv5,成為YOLO 網(wǎng)絡實現(xiàn)版本中最優(yōu)秀的網(wǎng)絡之一。YOLOv5s 網(wǎng)絡由骨干網(wǎng)絡、瓶頸層、檢測層3 大模塊組成,如圖1 所示。

圖1 YOLOv5s 網(wǎng)絡模型結構Fig.1 Network model structure of YOLOv5s
骨干網(wǎng)絡的主要作用是提取特征,由Focus[16]、CSPDarknet53[14]、SPP[17]組成。其中Focus 為切片操作,能夠替換卷積操作,減少卷積所造成的特征信息損失。CSPDarknet53 主要進行網(wǎng)絡特征提取,該網(wǎng)絡由跨層局部連接CSP[18]構建而成,可以增加網(wǎng)絡提取特征的能力,降低計算瓶頸和內(nèi)存成本。SPP是空間特征金字塔池化結構,此結構能擴大感受野,實現(xiàn)局部和全局特征融合,豐富特征圖的信息。
瓶頸層用來融合不同尺寸特征圖及提取高層語義特征,由PANet網(wǎng)絡組成。PANet網(wǎng)絡可以將特征圖自上而下以及自下而上進行特征融合,以減少信息損失[19]。
檢測層將瓶頸層產(chǎn)生的高層語義特征用于分類和回歸出物體的類別和位置,由YOLOv3Head[13]組成。YOLOv3Head 有3 個檢測頭,分別可以檢測大、中、小物體,很好地克服了一階段檢測小物體精度低的缺點。
傳統(tǒng)的深度卷積網(wǎng)絡模型一般使用大量常規(guī)卷積對圖像進行特征提取,但這需要消耗大量的算力。2020 年1 月,華為諾亞方舟實驗室HAN 等[20]在觀測常規(guī)卷積中間特征圖時發(fā)現(xiàn)很多通道的特征圖十分相似,這說明利用常規(guī)卷積提取出來的特征圖在一定程度上是存在冗余的。他們猜想并不需要進行完整的卷積運算得到需要的特征圖,而只需要用常規(guī)卷積去獲取一部分特征圖即可,因此提出了GhostNet 網(wǎng)絡。該網(wǎng)絡可以用更少的參數(shù)來生成更多特征,能夠減少特征圖冗余,從而達到減少網(wǎng)絡模型大小和計算量的目的。GhostNet 網(wǎng)絡的相關結構原理如圖2 所示,其中,圖2(b)的GhostBottleneck 由圖2(a)的GhostModule 網(wǎng)絡構成,GhostNet 網(wǎng)絡由圖2(b)的GhostBottleneck 網(wǎng)絡構成。

圖2 GhostModule 網(wǎng)絡及GhostBottleneck 網(wǎng)絡的結構Fig.2 Network structure of GhostModule and GhostBottleneck
GhostModule 網(wǎng)絡的具體實現(xiàn)原理如圖2(a)所示,與常規(guī)卷積不同的是它只需要利用常規(guī)卷積運算得到半數(shù)通道的特征圖,使用一系列廉價的線性運算對這半數(shù)通道的特征圖進行處理,并生成幻影特征圖,最后將生成的幻影特征圖與原始卷積得到的半數(shù)通道特征圖合并,構成與常規(guī)卷積相同通道數(shù)的特征圖,此特征圖可以近似于原始的完整特征圖,但是計算量和參數(shù)量卻減少了很多。此外,HAN等利用GhostModule 網(wǎng)絡設計了圖2(b)中2 種GhostBottleneck 網(wǎng)絡結構,其中 stride=1 的GhostBottleneck 網(wǎng)絡與步長為1 的CSPConv 網(wǎng)絡效果相同,stride=2 的GhostBottleneck 與步長為2 的CSPConv 網(wǎng)絡效果相同,因此GhostBottle 網(wǎng)絡可以替換常規(guī)卷積在網(wǎng)絡模型中進行特征提取。本文利用GhostBottleneck 網(wǎng)絡替換CSPBottleneck 網(wǎng)絡,并重新構建出了GhostDarknet 網(wǎng)絡作為YOLO-Ghost的主干網(wǎng)絡。為進一步提升精度,本文引入了高效通道注意力(Efficent Channel Attention,ECA)[21]模塊,并將ECA 應用于PANet 網(wǎng)絡中,形成具有注意力機制的PANet 網(wǎng)絡,即ECA-PANet 結構。該結構能夠加強特征融合,在獲得更多想要的圖像特征的同時,忽略不需要的特征,與其他通道注意力模塊相比,ECA 模塊可以在不引入多余參數(shù)進行計算的情況下,提升模型的精度。
以YOLOv5s 網(wǎng)絡為基礎,結合上述提出的幾個新型模塊構建出了新型輕量級目標檢測網(wǎng)絡YOLO-GhostECA,該網(wǎng)絡可以利用少量的參數(shù)獲取更多需要的特征圖,其結構如圖3 所示。

圖3 YOLO-GhostECA 網(wǎng)絡結構Fig.3 Network structure of YOLO-GhostECA
原YOLOv5 中IoU 損失函數(shù)使用的是GIoUloss,但其只考慮到了重疊區(qū)域和非重疊區(qū)域,沒有考慮矩形框?qū)oU 的影響。因此YOLO-GhostECA使用Complete-IoU(CIoU)[22]損失函數(shù),該損失函數(shù)同時考慮到了矩形框的長寬比、目標與anchor 之間的距離、重疊率、尺度等因素,這可以進一步提高模型的性能,加快損失函數(shù)收斂。CIoU 損失函數(shù)如式(1)所示:

其中:α是權重函數(shù)。
計算方法如式(2)所示:

其中:υ是度量長寬比的相似性。
υ的計算公式如式(3)所示:

其中:ρ(b,bgt)代表計算預測框中心點b和真實框中心點bgt的歐氏距離;c表示能夠同時包含預測框和真實框的最小閉包區(qū)間的對角線距離。
上述目標檢測算法只能獲得非合作目標在圖像坐標系中的位置,但是機械臂抓取目標需要基于自身基座坐標系下的三維點信息。為完成抓取任務,還需建立相機成像模型,如圖4 所示,其中:OcXcYcZc是相機坐標系;OpXpYp是圖像坐標系;OwXwYwZw是世界坐標系;P(xw,yw,zw)是物體在世界坐標系下的坐標;P(u,v)是物體在像素坐標系下的坐標。

圖4 相機成像模型Fig.4 Camera imaging model
借助相機成像模型可建立目標檢測得到的二維圖像坐標和機械臂抓取的三維世界坐標之間的映射關系,如式(4)所示:

其中:M1是攝像機內(nèi)部參數(shù)矩陣,用來將像素坐標轉化到相機坐標系下,是一個由二維轉三維的過程,可由相機標定張正友棋盤格標定法[23]得到;M2是攝像機外部參數(shù)矩陣,能夠?qū)⑾鄼C坐標轉化到世界坐標系下(本文的世界坐標系定義在機械臂的基礎坐標系處),一般由手眼標定[24]得到;zc是深度值,由Intel Rense D435i 深度相機根據(jù)結構光與雙目立體視覺融合的混合測距技術實時計算得到。當知道以上相關參數(shù)和目標檢測得到的物體像素坐標后,即可使用式(4)完成對目標物體的空間定位。
空間定位可以得到目標物體的三維空間坐標,但為了合理引導機器人捕獲目標物體,姿態(tài)估計是一個重要的過程。事實上,目標檢測得到的結果數(shù)據(jù)中已經(jīng)包含了一些物體的姿態(tài)信息,例如當物體呈現(xiàn)不同姿態(tài)時,其檢測得到的矩形框尺寸比例將呈現(xiàn)不同的數(shù)值。為進一步利用目標檢測的結果,本文提出一種通過目標檢測得到的非合作目標信息(u,v,w,h,class)來粗略預估機械臂抓取姿態(tài)的新型方法。該方法將抓取姿態(tài)Φ大致分成了6 種,即中正抓姿態(tài)ΦA、中偏抓姿態(tài)ΦB、上抓姿態(tài)ΦC、下抓姿態(tài)ΦD、左抓姿態(tài)ΦE和右抓姿態(tài)ΦF。估算的6種抓取姿態(tài)的姿態(tài)參數(shù)如表1所示。

表1 6 種抓取姿態(tài)的相關參數(shù)(繞固定軸旋轉)Table 1 6 parameters related to grasping attitude(rotating around a fixed axis) (°)
目標物體的抓取姿態(tài)Φ可以由式(5)和式(6)估計確定:

式(5)是計算矩形寬高比例的公式,其中:Ow為矩形框的寬;Oh為矩形框的高。式(6)是計算目標物體抓取姿態(tài)的公式,其中:u、v為目標檢測得到的物體像素坐標;r1、r2為常數(shù),可以根據(jù)實際物體class 的長寬比例進行粗略計算,多個物體即有多個值;Vs用來確定抓取的上下姿態(tài);Us用來確定抓取的水平方向的姿態(tài),這2 個參數(shù)可以將笛卡爾空間劃分成4 個區(qū)域,根據(jù)目標檢測像素點的位置可判定物體處在4 個區(qū)域中的位置,Us、Vs的值取決于相機與機械臂末端初始位置的空間幾何關系,即機械臂在初始位置時在相機像素坐標系下的映射點坐標。
6 種抓取姿態(tài)的估計示意圖如圖5 所示。

圖5 6 種抓取姿態(tài)的估計示意圖Fig.5 Schematic diagram of estimation of six grasping postures
本文利用7 自由度機械臂等設備搭建了地面仿真實驗平臺。實驗中先將航天器模型用細繩系緊,懸掛于空中,并將實驗室的燈熄滅,只留1 個補光燈,給非合作目標補光,以此來模擬太空環(huán)境暗黑失重環(huán)境。實驗仿真流程如圖6 所示,先使用YOLOGhostECA 進行非合作目標識別,再根據(jù)目標檢測結果使用第2 節(jié)的方法估計物體的位姿,最后將估計的目標物體位姿信息(x,y,z,W,P,R)傳送給機械臂的控制器,機械臂控制器控制電機進行相應驅(qū)動,即可對目標物體進行捕獲操作。本文所有實驗均在表2 所示實驗條件下進行。

圖6 實驗仿真流程Fig.6 Procedure of experimental simulation

表2 實驗參數(shù)Table 2 Experimental parameters
非合作目標識別的具體步驟如下:
步驟1數(shù)據(jù)集的制作。由于目前沒有非合作目標航天器的公有數(shù)據(jù)集,因此在實際中對太空環(huán)境黑暗且失重環(huán)境進行現(xiàn)實模擬,采集拍攝387 張多姿態(tài)多場景的航天器模型圖片,并利用采集的圖像數(shù)據(jù)進行聯(lián)合訓練,部分數(shù)據(jù)集如圖7所示。

圖7 非合作目標數(shù)據(jù)集示例Fig.7 Examples of non-cooperative target dataset
步驟2訓練策略。實驗中使用了多種訓練策略來提升網(wǎng)絡的性能。
1)anchor 大小。利用K-mean 聚類算法找出數(shù)據(jù)集中較好的9 個anchor 尺寸,有助于提高平均精度均值(mean Average Precision,mAP)。
2)超參數(shù)演進。利用基因遺傳算法訓練200 代,找到較好的超參數(shù)后,利用超參數(shù)演進得來的超參數(shù)對網(wǎng)絡進行訓練,使網(wǎng)絡能夠迅速得到全局最優(yōu)解,讓模型達到較好的效果。
3)學習率lr。利用類余弦退火進行學習率學習,減少陷入局部最優(yōu)解的情況發(fā)生。
4)數(shù)據(jù)增強操作。在訓練過程中對數(shù)據(jù)進行隨機裁剪、放大等操作來增大數(shù)據(jù)集,使每一個epoch訓練的圖都不是同一張圖,在數(shù)據(jù)集有限的情況下有效提高模型的泛化能力。
步驟3性能測試。通過上面的策略進行模型訓練,完成后在模型大小、運行速度、模型參數(shù)量(即過程中梯度更新數(shù)量)、模型運算復雜度(即每秒浮點數(shù)運算次數(shù))等多方面對網(wǎng)絡模型性能進行分析評估,其結果如圖8 所示。由圖8(a)可知,YOLOv5-GhostECA 模型大小僅2.9 MB,相較于YOLOv5s 減少了80.4%。圖8(b)顯示YOLO-GhostECA 在GPU上運行時間僅2.7 ms,即幀率高達370 frame/s,GPU運行速度相對于YOLOv5s 提升了49.1%。圖8(c)顯示YOLOv5-GhostECA 模型在CPU 上的運行時間為320.6 ms,相對于YOLOv5s 的460 ms 來講,運行時間減少了30.3%。圖8(d)顯示YOLO-GhostECA 的mAP 為0.896,依然保持在較高值,相對于YOLOv5s的mAP 僅下降了0.2%。由圖8(e)可知YOLOv5s 的模型參數(shù)大小為7.468 MB,而YOLO-Ghost 和YO‐LO-GhostECA 均只有1.313 MB,新提出的YOLOGhost 相較于YOLOv5s 參數(shù)量減少了82.4%,而融合ECA 注意力機制的YOLO-GhostECA 參數(shù)量相比于YOLO-Ghost 保持不變。圖8(f)所示為模型的運算復雜度,YOLOv5s 為17.5 GFLOPs,YOLO-Ghost 和YOLO-GhostECA 均為3.7 GFLOPs,可以看出YO‐LO-Ghost 相比于YOLOv5s 運算復雜度降低了78.9%,且融合的ECA 模塊并沒有增加運算復雜度。綜上分析,本文提出的YOLO-GhostECA 模型在GhostDarknet 基礎上結合高效通道注意力模塊ECA的方法在保持精度的同時,使模型的參數(shù)量和運算復雜度均大幅降低,且減小了模型尺寸,提升了運行速度。

圖8 不同模型的性能參數(shù)對比Fig.8 Comparison of performance parameters of different models
步驟4模型效果測試。利用訓練好的YOLOGhostECA 進行非合作目標識別實驗,實驗結果如圖9 所示。可以看出,該模型能夠準確地識別和定位出非合作目標物體,且在多姿態(tài)多場景下,其預測準度分數(shù)均保持較高水平。

圖9 本文網(wǎng)絡模型測試結果Fig.9 Test results of network model in this paper
先采集-20 張以上不同姿態(tài)的棋盤格圖片,然后利用張正友棋盤格標定法[23]在Matlab 的cameracalib中進行標定得到相機內(nèi)參。相應地采集40 張以上的RGB 圖以及深度圖,利用Tsai 方法[24]進行手眼標定得到相機外參。
利用標定的結果和YOLO-GhostECA 檢測網(wǎng)絡,通過第2 節(jié)提出的位姿估計方法進行非合作目標位姿估計,其中姿態(tài)估計公式(6)中的r1、r2通過分析非合作目標數(shù)據(jù)集得到,分別為3.0 和1.0,Vs、Us根據(jù)相機空間幾何位置分別設定為320 和360。根據(jù)該位姿估計算法估計的位姿結果見表3。

表3 非合作目標位姿估計的結果Table 3 Results of pose estimation of non-cooperative targets
將上述得到的位姿估計結果通過EtherCAT 發(fā)送給織女機械臂控制器,控制機械臂進行非合作目標捕獲,捕獲實驗效果如圖10 所示。

圖10 非合作目標捕獲的實驗效果Fig.10 Experimental effect of capturing non-cooperative targets
由圖10 可知,本文提出的位姿估計算法可以對非合作目標進行準確的空間定位和粗略的姿態(tài)估計,其位姿估計結果可以合理地引導機械臂對非合作目標進行捕獲。
本文設計一種適用于非合作目標捕獲的輕量級位姿估計網(wǎng)絡,將深度學習YOLOv5 網(wǎng)絡應用于空間非合作目標智能識別與捕獲任務中,并基于GhostNet 網(wǎng)絡設計GhostDarknet 骨干網(wǎng)絡,減少冗余特征圖的提取,在基本保持精度不變的情況下,減少網(wǎng)絡模型大小,提高模型運算速度。此外,提出一種利用YOLO-GhostECA 檢測結果來估計物體抓取位姿的方法,并通過深度相機Intel RealSense D435i、非合作目標縮小模型和7 自由度冗余機械臂搭建地面仿真實驗平臺。實驗結果表明,該網(wǎng)絡在非結構化環(huán)境中能很好地完成非合作目標捕獲任務。下一步將通過擴充數(shù)據(jù)集提升網(wǎng)絡的精度,并將訓練好的網(wǎng)絡部署到嵌入式設備中,對實時性和準確度進行驗證。