薛遠奎 寇世豪 詹福宇
(中電科特種飛機系統工程有限公司 成都 611731)
小型無人機具有成本低、部署靈活、攜帶方便、隱蔽性好等特點,在目標偵察與打擊作戰任務中能夠起到重要作用,但當前小型無人機智能化水平還較低,根據無人機自主能力等級(Autonomous Capability Level,ACL)劃分,目前大都處于1~2 級ACL水平,嚴重依賴人工實時操控,不僅需要投入大量成本和時間進行人員飛行操控培訓,且作戰時容易因頻譜干擾、遮擋等問題導致圖像斷開和無人機控制丟失。如果無人機具備目標自動發現和自主攻擊能力,將大大減少對操控人員的依賴,提升復雜環境下作戰效率和打擊成功率。
近年來,隨著人工智能技術的不斷發展,使無人機自主攻擊成為可能,特別在目標檢測、目標跟蹤兩個關鍵技術上,基于深度學習技術搭建的網絡模型已經能夠達到人類水平。當前國內對小型自主攻擊無人機也已經展開很多研究,在文獻[1]中研究了攻擊無人機體系結構和未來無人機發展趨勢,在文獻[2~3]中主要研究了無人機自主智能化系統以及引導攻擊技術,在文獻[5]中主要基于灰色關聯和改進Hopfield 神經網絡等方法研究了對地攻擊無人機能力評價,但這些文章大都是無人機自主攻擊理論相關的研究,或只進行了理論仿真[5~6],并沒有搭建無人機飛行平臺進行實際飛行測試,缺少架構與系統性描述。
本文以瑞芯微SoC AI芯片為核心,設計并開發了AI處理板卡,其具備成本低、體積小、功耗低、重量輕的特點,作為機載圖像和任務邏輯處理單元,解決了小型無人機負載能力有限但對高性能計算的需求問題。在模型選擇和部署方面,充分調研了當前主流的模型,并結合機載應用需求,選擇了YOLO-X作為目標檢測模型,STARK作為目標跟蹤模型,并經過模型優化和移植,最終部署在AI 板卡上。最后設計了自主攻擊控制流程和算法,搭建了一套小型四旋翼無人機飛行平臺并進行了實際飛行驗證。
小型自主攻擊無人機具有自殺式、不可回收的特點,與大型復雜的無人機裝備不同,自殺式無人機沒有維護、保養需求,對系統可靠性要求也較低,但對成本非常敏感。隨著智能手機、智能監控攝像頭等終端產品的廣泛應用,在民用領域涌現了大量基于SoC 技術的AI 計算芯片,例如海思麒麟系列,瑞芯微rk 和rv 系列,寒武紀Cambricon 等,這些芯片不僅集成了CPU、GPU,而且集成了NPU 計算單元,可實現對神經網絡模型的加速處理,并且具備豐富的外設接口能夠方便與吊艙、飛控等無人機機載設備進行連接。
本文選擇了瑞芯微RV1126芯片作為計算處理核心,其具備2.0Tops算力,支持INT8和INT16算子運算,添加了2G 片上Flash 作為內存,同時設計了對外接口包括有:1 個網口、2 個串口,最終設計的AI板卡如圖1所示。
圖1 AI板卡硬件實物
發現并識別目標是無人機實現自主攻擊的先決條件,在無人機啟動自主攻擊前,由于無人機在空中,其視野內的目標一般因為距離較遠而所占像素尺寸較小,因此需要高精度小目標的檢測技術。目前基于深度學習的目標檢測算法,主要分為兩類:一類是以YOLO 系列[7],SSD[8]系列為代表的一階段(one-stage)算法,一類是以RCNN[9]以及Fast-RCNN[10]為代表的二階段(two-stage)算法。就二階段方法來說,檢測過程分為目標候選區域生成和分類兩個階段,這類方法具備較高的檢測精度,但犧牲了檢測效率,且這類模型較為“笨重”,無法在小尺寸的AI 板卡上部署,故本文采用一階段YOLO 模型,可實現端到端的檢測,即輸入圖像后可以直接輸出目標位置和類別置信度,能夠在檢測精度和處理速度上實現良好的平衡,特別在對小目標檢測方面有很大的優勢。當前YOLO 模型家族已經發展的非常龐大,包括了YOLO、YOLOv2、YOLOv3、YOLOv4、YOLOv5 等,國內也基于YOLO 發展出了PPYOLO 和YOLOX,綜合考慮檢測速度、精度以及模型部署方便性,選擇了YOLO-X作為檢測模型,并采用了模型剪枝和數據量化技術對模型進行了優化,進一步提升了模型性能。
對YOLO-X 模型剪枝處理是基于權重和神經元的重要性評估,本文采用L1、L2范數來評估權重的重要性,對權重或者神經元的重要性進行排序后移除不重要的權重或神經元;并使用移除前模型訓練數據更新并得到新的模型參數;為了使處理不對模型性能造成過大損傷,每次剪枝的權重或神經元數量不宜過多,因此這個過程需要迭代,直到獲得滿意模型為止。
由于RV1126 芯片對應的推理框架只能處理int8 類型數據,因此采用int8 量化技術將模型推理的數據類型從float32 映射為int8,這樣推理過程中的計算量就變成了之前的1/4。
識別目標并選定攻擊目標后,為了確保攻擊連續性,需要對目標進行穩定跟蹤,以避免同類目標的干擾。對比當前各類目標跟蹤算法,本文選擇了基于Transformer 架構的STARK[11]模型,其可以同時捕捉視頻中的時域信息和空間域信息并作為Transformer 編碼器輸入,具有很高的魯棒性,另外其具備端到端的處理能力,將目標跟蹤建模成一個直接的邊界框預測問題,避免了復雜且對超參敏感的后處理。
原始的STARK 模型在RV1126 芯片部署后只有10 幀左右的運行幀率,并不滿足目標攻擊中對實時性的需求,需要對模型進行輕量化處理。首先將訓練好的模型權重導出為onnx 格式文件,onnx定義了可擴展的計算圖模型,它使用graph 的序列化格式,不僅僅存儲了神經網絡模型的權重,同時也存儲了模型的結構信息以及網絡中每一層的輸入輸出和一些其它的輔助信息。然后通過腳本將onnx文件轉換為rknn格式的模型,最后使用RKNN推理引擎編寫數據預處理、模型推理和數據后處理部分的代碼實現模型的推理工作。將模型部署到AI 計算板卡后,經過實際測試,模型的推理速度能夠穩定在25fps~30fps。
本文根據需求搭建了四旋翼無人機飛行平臺,其設計起飛重量為4kg,負載為600g,軸距550mm,使用TMotor 4006 動力電機和15 寸碳纖槳,實際續航時間為26min。無人機平臺如圖2所示。
圖2 無人機飛行平臺
為了獲取外界圖像,本文選擇了一款微型三軸吊艙,如圖3所示,其包括一個可見光相機,焦距為2.8mm,可以獲取720p@30fps 的視頻圖像,并且提供一個網口,用于輸出rtsp視頻流,格式為H.264編碼。
圖3 光電吊艙
為了建立機載端和地面端的通信連接,獲取無人機視頻圖像和飛行數據,實現對無人機的遠程操控,本文選用了一款可以支持TCP/IP 三層通信協議的圖數一體數據鏈,如圖4所示,其提供一個網口用于機載和地面網絡設備的接入,工作時,機載端數據鏈和地面端數據鏈自動建立連接并組建局域網。
圖4 數據鏈
無人機硬件組成如表1所示。
表1 無人機硬件組成
整套無人機系統的硬件連接如圖5所示。
圖5 硬件連接框圖
無人機軟件系統框圖如圖6所示,分為機載端和地面端兩個部分。機載端包括4 個功能模塊:數據信息獲取模塊、控制模塊、目標檢測模塊和目標跟蹤模塊。數據信息獲取模塊作為整個系統數據交互的中心,主要用于采集傳感器和載荷數據如GPS位置、姿態角、吊艙圖像等,通過消息發布的方式傳遞給其余模塊;目標檢測模塊主要運行目標檢測算法,處理吊艙圖像并發布檢測結果,目標跟蹤模塊主要運行目標跟蹤算法,以目標檢測結果為初始條件,持續跟蹤目標;控制模塊實現了整個自主攻擊任務流程和基于跟蹤結果的飛行控制。
圖6 軟件系統框圖
在充分考慮了戰場環境下裝備的便攜性、可操作性基礎上,本文基于手持終端(Android 設備)設計了地面控制站(Ground Control Station,GCS),如圖7所示。GCS 能夠獲取并實時顯示無人機飛行信息如飛行速度、高度、航向、飛行距離等,能夠顯示吊艙圖像和俯仰角、方位角等狀態信息。為了實現對無人機的操控,我們添加了飛行控制功能如起飛、降落、選擇攻擊目標、設置攻擊目標優先級、控制無人機飛行、控制吊艙角度等。
圖7 地面站軟件界面
為了進行目標打擊,我們需要首先保證吊艙能夠實時鎖定目標,即需要實時通過控制吊艙角度使目標始終處于圖像中心[12]。由目標檢測算法與目標跟蹤算法可以得到目標框中心點所在的圖像坐標(u,v),圖像像素大小為(H,W),吊艙相機橫向視場角和縱向視場角分別為fov?和fovv,那么可以得到吊艙期望的俯仰角偏轉角度為
吊艙期望的方位角偏轉角度為
則對吊艙進行角度控制時只需令俯仰角和方位角分別為
首先遵循右手法則定義無人機坐標系{XB,YB,ZB},其中其X 軸方向沿著機頭朝向,Y 軸方向沿著機身右側朝向,相機坐標系{XC,YC,ZC},其中X 軸方向沿著相機鏡頭朝向,Y 軸方向沿著相機右側朝向,目標坐標系{XT,YT,ZT},其中X 軸方向沿著無人機與目標連線方向,Y 軸方向處于水平面并于X軸垂直[13]。
則機體坐標系下無人機的攻擊速度為
得到機體坐標系下的期望攻擊速度后,即可生成速度控制指令消息并發送至飛控,由飛控自動進行飛行控制。
由于軍事目標數據集涉及軍事機密,沒有開源項目,本文根據自主攻擊應用場景中無人機的運動變化和視角切換,基于UAV123、visdrone[15]開源數據集進行數據抽取,選擇相似度接近的圖片、視頻進行模型訓練。
共抽取了2500 張圖片用于目標檢測數據集制作,包括人、車輛兩個類別,其中訓練集包含2000張圖片,驗證集包含500 張圖片。經量化處理后的模型檢測精度mAP=26.4%,AP50=50.1%,APSmall=14.6%,APLarge=66.9%。
將模型部署到AI 板卡上并在真實環境下測試,模型的推理性能夠達25fps左右。
在外場實際測試效果如圖8所示。
圖8 目標識別測試效果
本文選取了單目標跟蹤視頻,并進行了訓練,實際測試后,EAO=0.48,處理速度可達28fps。
本文在自貢鳳鳴機場電科特飛生產園區進行了飛行驗證,驗證場地內道路正中央放置了軍事假人,兩側有車輛,無人機起飛后可自動識別目標,可以根據預先設定的模式自動選擇優先級最高的目標進行自主攻擊,同樣可以通過手動選擇目標進行自主攻擊。
當目標選定后,無人機發動直線攻擊,第一視角顯示的攻擊過程如圖9所示。
圖9 目標跟蹤效果
在本文中,我們詳細給出了自主攻擊無人機系統的設計方案,搭建了飛行平臺并且進行了實際飛行測試。我們雖然采用了大量深度學習技術例如目標識別與跟蹤,但距離全自主智能無人機這一目標還非常遠,這是因為目前的深度學習技術在自主決策上還遠遠無法與人類相媲美,只能在特定功能上替代人類。這也是我們下一步的努力方向,將更多自主決策的功能交給計算機來實現,從而實現真正智能作戰無人機。