竇曉磊,陳 鳴,陳 兵,徐亞欣
(南京航空航天大學 計算機科學與技術學院,南京 211106)
E-mail:dxl_nuaa@nuaa.edu.cn
隨著無人機技術的成熟,各種在無人機上搭載相機系統的圖像應用也得到了很大的發展.由于無人機可以方便地飛行到目標上空的特定區域,使相機系統能夠從適合的視角獲得目標的圖像信息,這種應用有比從地面由人獲取圖像具有更好的靈活性、工作質量和經濟性.以往對于這類航空攝影攝像應用,人們要在無人機航攝航拍過程結束后,從機載相機系統上拷貝出影像文件,再進行后繼處理和利用,存在著實時性差的缺點.然而,在諸如交通事故處理、森林火災監測、搜索救援、邊境管理、石油管線巡查等場景下[1-4],實時處理圖像應用的技術和系統顯得極為重要.我們將這類基于無人機實時獲取影像信息并完成特定應用功能的應用稱為基于無人機的實時圖像應用(Realtime Image Applications based on Unmanned aerial vehicle,RIAU).
支持RIAU的系統通常包括攝像、計算、通信、控制、飛行器和地面站等功能單元.根據人類參與該應用的程度,本文將RIAU分為“人在環路中”和“人在環路上”兩種類型.對于“人在環路中”的系統,人是系統的關鍵要素,通常由人承擔了與圖像處理相關的工作,如判斷圖像中否包括了特定事件以及該事件的嚴重等級等.人的參與降低了系統的技術復雜性,但使系統具有如下缺點:反應速度緩慢、應用質量不一致和網絡通信帶寬要求高等.對于“人在環路上”的系統,人只負責管理系統和進行決策,不再參與執行具體的應用功能如圖像識別、不同功能協同等工作,從而能夠大大提高系統反應速度,保證應用質量的一致性,并能較低系統造價.顯然,由于“人在環路中”系統由人來承擔關鍵的圖像處理工作,人的負擔重且難以保證工作質量,故它是一種相對低效、反應慢的系統;而“人在環路上”系統由計算機處理圖像相關任務,故它是一種高效、反應快的系統,因此這種類型的RIAU系統具有更為廣闊的應用領域.但它對圖像處理能力也有了更高的要求.值得慶幸的是,由于基于人工智能(AI)的圖像處理技術的發展,許多基于神經網絡的圖像處理算法提供的許多功能已經達到了人類專家相似或更高的水平,從而為這種系統提供了廣闊的發展空間.本文下面討論在人在環路上RIAU系統的設計方法與相關技術.
引入基于AI圖像處理導致RIAU系統是計算密集型的,計算單元通常要采用計算能力強大的圖像服務器甚至服務器集群來支撐相關圖像處理算法.某些計算速度快、重量輕專用AI圖像處理芯片的問世,為發展RIAU系統提供強大支持,即使嵌入式系統也能驅動該芯片作為計算單元以提供所需的圖像處理服務.根據提供實時圖像處理的計算單元的位置,RIAU可以分為地面計算和機載計算兩種模式.所謂地面計算是指無人機將拍攝的圖像信息傳輸到位于地面的圖像服務器,待其處理后再將相關信息傳輸回無人機,以繼續應用的后繼任務.圖像服務器置于地面是因為無人機載重量受限,無法將服務器放置在無人機上的緣故.根據地面圖像服務器的具體位置,還可以進一步地將其分為云計算和邊緣計算兩種情況.前者是指服務器位于數據中心,后者是指服務器位于無人機的附近.所謂機載計算是指實時圖像處理的計算單元位于無人機上,這必然要求計算單元滿足計算能力強、重量輕和能耗低等要求,通常需要計算單元采用嵌入式系統加專用圖像處理芯片的技術.
本文研究主要包括:設計分析了人在系統上RIAU系統的工作流程,重點研究了地面計算模式和機載計算模式的性能特點;研究了基于機載計算模式的RIAU系統的實現技術,討論基于深度神經網絡的圖像目標檢測方法和實現技術;最后,對比分析了基于邊緣計算和機載計算兩種原型系統的關鍵性能參數.
本文其余部分的組織結構如下.第2節概述相關工作.第3節重點分析人在環路上的RIAU系統.第4節設計了邊緣計算和機載計算的RIAU系統.第5節討論了基于深度神經網絡的圖像目標檢測系統.第6節試驗了原型系統并分析了試驗數據.第7節總結了全文.
無人機圖像應用可以有非實時應用與實時應用之分.在無人機非實時應用中,無人機僅充當收集數據的角色,文獻[4]提出了一種改進型的Viola-Jones算法,將道路方向調整方法與原Viola-Jones算法相結合.配備攝像機的無人機先對一段公路錄像30分鐘,錄像結束后返回起始點,然后處理錄像以完成車輛檢測.為了滿足實時性要求,文獻[5]提出了一個局域多智能體系統,該系統利用昆蟲群體的熱技術,其中每架無人機都配備一個圖像傳感器,捕捉無人機飛行區域的快照.限于無人機計算能力,所配備的圖像處理軟件僅能以一定的置信度來確定目標;地面控制站接收到多無人機發送的信息,通過融合它們的圖像數據而對圖像進行智能分類.文獻[6]提出了一種利用機載平臺和微型計算機進行運動車輛檢測、跟蹤與定位的方法,無人機配備單目攝像機和低成本傳感器進行地理定位;配備的微型計算機Jetson TX1,運行YOLOv3目標識別算法來識別圖片中車輛.文獻[7]提出了一種完整的目標跟蹤系統控制策略,它將目標跟蹤問題分為3種模式:目標搜尋、目標跟蹤以及目標丟失.針對每種模式,設計了相應的控制策略,實現了不同模式之間的切換.無人機上的計算單元具有Intel NUC、 3.1 GHz酷睿i7處理器、16gb內存和256gb SSD,配備高幀率攝像機PS3-Eye進行實時視頻序列的捕獲,配備ROS工具為所有運行算法提供接口.
通過對上述相關工作的分析可知,文獻[5]中采用了機載計算模式以及邊緣計算模式相結合的計算模式,機載計算模式先初步識別出目標物體,通過Wi-Fi將圖片傳送至鄰近的地面控制站,再用邊緣計算模式進行精確識別.文獻[6]與文獻[7]都采用了機載計算模式以滿足實時應用需求,分別在無人機上部署了微型計算機Jetson TX1[6],或在無人機上部署了Intel NUC,3.1 GHz酷睿i7處理器[7].然而,當前無人機實時圖像應用的研究大都集中在具體應用的算法以及相應算法改進方面,而對無人機實時圖像應用的計算模式、這些模式的優缺點、適合場合和實現技術等研究不多.例如,文獻[8]討論了使用大疆科技公司的S1000以及基于XAIRCRAFT Technology Co.的四旋翼X650 pro試驗情況;文獻[9]使用輸入原始圖像數據進行了模擬實驗;文獻[6-9]的研究重點是一種具體無人機圖像應用,而不是無人機計算模式.根據實時圖像應用的工作環境,選擇合適的計算模式和關鍵技術,能夠提升應用的實時性,這是本文研究的意義所在.
文獻[10,11]介紹了無人機實時圖像應用系統實現,文獻[10]介紹了一種無人機巡邏系統,該系統由拼接模塊與檢測模塊組成,拼接模塊接受無人機捕獲的視頻作為輸入,選擇視頻中的合適幀拼接形成全景圖像,傳至檢測模塊,檢測模塊使用Faster-RCNN模型檢測對象,返回具有使用邊界框突出顯示的檢測對象的全景圖像.文獻[11]提出了一種基于無人機的多車輛檢測與跟蹤框架,該框架可以用于車輛計數,并且可以同時處理固定背景和移動背景.其中系統由檢測器、跟蹤器以及多對象管理模塊組成,檢測器分為靜態背景與動態背景兩部分,跟蹤器將跟蹤所有檢測到的車輛,多對象管理模塊能夠有效地管理跟蹤車輛并且避免跟蹤混亂.由文獻[6-11]可分析出圖像應用共同的功能為目標檢測以及目標識別.因此,無人機實時圖像應用系統都需要圖片檢測器與目標識別器;之后根據各應用的目標增加對應硬件,如文獻[7]設置監測模塊處理目標丟失情況,文獻[11]增加了跟蹤器完成目標跟蹤任務,增加多對象管理模塊,管理跟蹤車輛,防止跟蹤混亂.本文著重研究了無人機圖像應用的基本系統的設計與實現,介紹了各部件的組成及實現技術,為實現復雜無人機圖像應用系統提供了研究基礎,具有重要意義.
人在回路上的RIAU系統通常包括如下單元:嵌入式控制單元、拍攝圖像的相機單元、處理圖像的計算單元、傳輸控制信息或和圖像信息的通信單元、控制無人機的地面站和承載相關設備的無人機.這些單元的主要功能如下:
相機單元:是RIAU系統獲取圖像信號的設備,通過程序或指令控制云臺相機系統拍攝圖像圖片,并將它們存儲在存儲區或交付給通信單元.
計算單元:承擔RIAU系統的圖像處理任務,能夠利用相關圖像處理算法完成所拍攝圖像圖片的目標檢測、模式識別等任務,并將計算結果反饋控制單元或地面站.
通信單元:承擔RIAU系統控制指令、圖像信息等的傳輸任務.地面站通過通信單元可將系統操作控制指令傳輸給無人機,控制無人機飛行和RIAU操作任務,相機單元也可以通過通信單元將圖像圖片數據傳輸給計算單元
嵌入式控制單元:是無人機上控制RIAU系統功能的設備,它根據所執行的任務邏輯,驅動相機單元、通信單元和無人機工作,完成特定的實時圖像應用.
無人機:是承載RIAU系統部分單元并在任務區域飛行的設備.
地面站:是RIAU的控制中樞,它將人類的控制命令發送給無人機執行,并收集、存儲無人機獲取的信息.
以地面計算模式從無人機飛行區域實時檢測出目標的任務為例,人在環路上RIAU的大致工作流程如下:
地面站向無人機控制單元發出執行實時圖像應用的指令;
相機單元執行飛行現場實時拍攝任務;
無人機上的通信單元將圖像信息傳輸給地面計算單元;
計算單元從現場圖像中檢測目標;
地面通信單元將目標檢測結果傳輸給無人機,以控制無人機獲取相關圖像或繼續后繼拍攝;
地面站向無人機控制單元發出任務結束指令,無人機返航.

圖1 地面計算模式RIAU系統的工作時序圖Fig.1 Working sequence diagram of RIAU systems in ground computing mode
圖1給出了上述RIAU系統主要單元的工作時序圖,其中t1是地面站發送控制分組到無人機通信單元的時延,Δ1=t2-t1是相機單元工作時延,Δ2=t3-t2是無人機向計算單元傳輸圖像分組的時延,Δ3=t4-t3是計算單元處理時延,無人機需要等Δ4=t5-t4時延才能收到計算單元得到的目標檢測結果.可見,從相機單元獲取圖像到計算單元檢測到目標,再到控制無人機做后繼動作所需要的反應時間Δ約為:
Δ=Δ1+Δ2+Δ3+Δ4
(1)
由式(1)可見,為了增強RIAU系統的實時性,一是設法減小構成系統反應時延Δ的各個成分,二是根據每個階段通信單元傳輸的數據量,采用性價比合適的通信技術,如Wi-Fi、4G或5G技術.下面分別討論地面計算模式以及機載計算模式的相關技術.
為了支持RIAU系統對圖像的實時處理能力,計算單元必須要具備密集計算能力,為了快速、精確地檢測目標可采用如YOLOv3深度學習網絡,計算設備需要有強大的計算能力以減少Δ3.在地面計算模式中,通常由專用服務器作為計算單元,由此要為RIAU提供更寬的通信帶寬.圖2顯示了RIAU系統的組成情況,其中圖2(a)表示在云計算場景下的系統構成,圖2(b)表示在邊緣計算場景下的系統構成.

圖2 RIAU系統組成Fig.2 Composition of RIAU systems
在云計算場景下,RIAU系統使用數據中心中的服務器運行特定算法作為計算單元.無人機通過通信單元接收到地面站發送的任務指令后,控制單元控制相機單元拍攝圖像;然后將拍攝的圖像信息通過通信單元傳輸到數據中心中的服務器,服務器運行特定圖像處理算法得到結果;接下來將處理結果信息再傳輸給無人機控制單元進行后繼處理,例如調整相機單元參數或改變無人機航線等.
在邊緣計算場景下,RIAU系統則將計算單元部署在無人機附近的地面站或車輛中.此時工作流程與云計算場景下的不同之處在于,將相機單元拍攝的圖像信息通過通信單元傳輸到無人機系統附近的服務器進行處理,而不是傳輸到數據中心中.顯然,后者的下傳的圖像傳輸和上傳的處理結果的傳輸路徑更短,因此傳輸時延(Δ2+Δ4)將比前者更小,傳輸的代價也更小.
在地面計算模式中,通信通常可以采用Wi-Fi技術或4G技術.在當前無人機技術中,地面站與無人機之間通信常使用Wi-Fi技術.因此,Wi-Fi技術不僅能夠用于地面站控制無人機飛行,也能夠用于傳輸將相機單元拍攝的圖像或視頻傳輸給地面站.盡管Wi-Fi是通信帶寬寬、技術簡單和價格低廉的技術,但它存在干擾大的缺點,當距離稍大時通信就可能中斷.例如,某品牌無人機為使通信質量穩定、通信距離更遠,采用了大功率的Wi-Fi技術,但它不僅會對其他無線通信系統產生嚴重干擾,而且當同時使用同款多臺無人機時,這些通信系統將會互相干擾.
為了減小多無人機之間的通信干擾,同時滿足無人機長距離通信的需求,通信單元可以使用4G甚至5G通信技術.當通信單元之間使用4G/5G技術交換數據時,就是利用移動通信系統的基站來溝通RIAU系統的兩個或多個節點.由于4G網絡通信帶寬可達幾十Mbps,可以滿足大多數實時圖像應用的需求.然而,在RIAU系統中使用4G技術,需要解決內網穿越問題[12]技術問題.這是因為IPv4網絡地址缺乏,大多數互聯網用戶使用內部IP地址通過網絡地址轉換(Network Address Translation,NAT)技術上網.NAT技術僅允許內網用戶訪問因特網的公網IP地址,卻不支持公網IP地址訪問內網IP地址.如果RIAU系統采用4G技術通信的話,兩個節點間的通信需要從一個內網的IP地址進入公網的穿越服務器,再利用該服務器提供的穿越服務才能進入另一個內網.
機載計算模式與地面計算模式關鍵差異在于,前者將計算單元放置在無人機上而不再放置在地面.圖2(c)給出了基于機載計算模式的RIAU系統的組成,其中由于計算單元在無人機上,因而免除了大量圖像及其結果信息的長距離傳輸,因而也就完全消除了Δ2和Δ4.然而,這對無人機機載實時處理圖像的能力也提出了更高的要求.目前已經研發出一些高效低耗的支持特定圖像處理算法的專用商用芯片.借助于運行該芯片的計算單元,無人機就能夠以機載方式承載計算能力強(浮點計算可達100GFLOPs)、重量輕(<60克)、功耗低(<1.2W瓦)的計算棒,從而減少了時延Δ3.
在機載計算模式中,無人機通過通信單元接收到地面站的拍攝命令后,控制相機單元拍攝,將拍攝的圖像信息直接提交給機載的計算單元,計算單元處理圖像并返回處理結果,繼續后繼工作.此時,式(1)可以簡化為式(2):
Δ=Δ1+Δ3
(2)
綜上所述,表1中列出了幾種RIAU計算模式的特點.

表1 兩種RIAU計算模式的特點比較Table 1 Comparison of the characteristics of the two RIAU computing modes
可見,云計算模式由于計算資源充足非常適合計算復雜、各種不同算法的圖像處理,計算的復雜性越高,其計算優勢也就越大;但其數據傳輸的開銷隨著數據量的增加而增大,對帶寬的要求也越高,成本也就越大.機載計算模式需要得到支持特定算法的專用芯片的支持,因此它支持的應用受限.在有專用芯片支持的前提下,其優勢是有較低的系統時延和通信帶寬需求,部署成本較低.云計算模式與邊緣計算模式相比,后者的時延較低,而后者計算成本較高和通信成本較低.因此,需要根據實時圖像應用的具體要求來選擇適合的計算模式.
我們設計實現的一種RIAU系統的原型系統中無人機是一個基本設備,可以采用大疆公司DJ M100或基于開源飛控Pixhawk飛行平臺,利用平臺提供的SDK就能夠控制無人機根據RIAU需求按預定航線飛行.
嵌入式控制單元采用了樹莓派3B+.樹莓派3B+運行Linux系統,具備ARM v7 1.2 GHz處理器和1 GB RAM,雖計算能力有限,但其具有編程開發便利、接口齊全、小巧輕便、成本低等優點,適合機載使用.通過在樹莓派3B+編程,可將無人機、相機單元、通信單元和計算棒等綜合為一體.
相機單元采用了一款電子吊艙產品,包括了可編程控制的一體化云臺和相機.因此,當控制單元的程序控制無人機沿航線飛行時,RIAU程序控制相機在特定區域進行拍照,并將拍攝的圖像送到計算單元進行目標檢測,再根據檢測結果調整控制,以完成實時圖像應用.
通信單元是在基于高通QCA9563+QCA9880芯片的一款無線通信主板上編程實現的.該主板內置OpenWRT系統,集成了2.4/5GHz Wi-Fi和4G LTE網絡通信芯片,具有128MB的內存以及16MB的閃存,支持多模式無線通信.2.4G/5G Wi-Fi芯片及其天線能夠為無人機與地面站之間提供Wi-Fi通信,但通信距離僅限于約100m.4G LTE芯片及其天線能夠利用電信公司的移動通信設施進行距離不限的通信,通信帶寬可達幾十Mbps,可用于無人機與地面站或云計算中心之間的通信.配置通信單元使其支持4G通信的方法將在4.2節中簡要討論.
地面站可采用強化版的便攜式計算機,該機器上運行便于人機交互的可視化程序.為了支持邊緣計算模式,該機的CPU應當足夠強大,以能夠運行YOLOv3算法,并采用數據庫或地理信息系統來管理RIAU系統.
為使RIAU節點之間利用4G技術進行通信,通信單元配置LTE 4G模塊,在SIM卡槽中插入4G手機卡并設置4G聯網模式.此時,節點的內網IP地址要指向公共互聯網上某數據中心(如阿里云)運行的一個虛擬專用服務器(VPS),該服務器具有公共IP地址如IP1.借助于該服務器上運行的專用內網穿透軟件(如FRP),就能夠利用4G移動網絡實現RIAU節點之間的通信.圖3(a)給出了一個原型系統的配置示例.圖中為支持兩個專網中地面站與控制單元間的通信,地面站的IP地址為192.168.10.10,控制單元的IP地址為192.168.2.10,控制單元與地面站中需要分別運行FRP客戶機服務,它們借助于VPS服務器運行的FRP服務器服務實現穿越公網的通信.
為使FRP服務器程序工作,先要修改其配置文件,設置服務端IP地址和端口號、使用的協議等參數;其次要重啟服務器程序.為使客戶機程序工作,也要經過類似的初始化工作,修改其配置文件,設置本地IP地址、服務器IP地址和端口號、是否壓縮、是否加密等參數,重啟客戶機程序,從而完成部署.
機載計算模式系統在硬件配置方面與邊緣計算模式系統的大體一致,區別在于前者將計算單元放置在無人機上,而后者將計算單元放置在地面站中.為了實現在機上進行圖像應用計算,可以利用Movidius 神經計算棒(Neural Computing Stick,NCS)[13]輔助計算.NCS是Movidius推出的基于Myriad 2視覺處理單元(Visual Processing Unit,VPU)的神經計算棒,是一種基于USB模式的加速設備,官方提供的API同時支持C/C++、Python語言以及SDK,目前SDK中主要支持Caffe以及Tensorflow兩種深度學習框架.只需將NCS插入樹莓派USB接口上,并安裝Movidius NCS的USB驅動即可方便使用.使用NCS能夠為計算能力不足的樹莓派提供了深度學習加速功能,使樹莓派也具有直接運行實時深度學習檢測算法的能力,以滿足實時應用的需求,保證了機載計算模式的圖像處理的實時性.

圖3 通信方式Fig.3 Methods of communications
圖3(b)給出了機載系統的一種配置.在無人機上配備的基于樹莓派的控制單元中,運行著航線控制及其RIAU程序,它們基于 DJ SDK開發,調用無人機飛控功能,將起飛、前后左右飛行、降落等指令轉換成實際操作無人機的飛行動作.我們可以在控制單元中設置初始化檢查程序、起飛程序、航線控制程序、實時圖像應用程序以及返航與降落程序,整個RIAU過程無需人類干預.
作為RIAU的一部分,控制相機單元的云臺控制程序也部署在控制單元中.云臺控制程序需要根據具體RIAU而調試編寫,其中包括如何拍攝圖像、如何根據圖像處理信息來控制云臺三軸轉動、如何控制相機改變焦距等,對于圖像拍攝、處理方式的不同將使得RIAU豐富多彩,其應用領域十分廣泛.為了滿足RIAU實時性要求,本系統的計算單元主要有NCS充當,主要基于YOLOv3算法來提供目標識別功能(詳見第5節).
作為RIAU的一部分,控制相機單元的云臺控制程序也部署在控制單元中.云臺控制程序需要根據具體RIAU而調試編寫,其中包括如何拍攝圖像、如何根據圖像處理信息來控制云臺三軸轉動、如何控制相機改變焦距等,對于圖像拍攝、處理方式的不同將使得RIAU豐富多彩,其應用領域十分廣泛.為了滿足RIAU實時性要求,本系統的計算單元主要有NCS充當,主要基于YOLOv3算法來提供目標識別功能(詳見第5節).
如果有必要的話,圖3(b)中的地面站主要用于實時干預RIAU的運行.地面站中內置通信單元,可利用4G網絡與無人機上的設備進行通信,其IP地址設置為192.168.10.10.注意到圖像處理在機上完成,因此4G通道的通信量較小.機上的相機單元、控制單元和通信單元通過以太網連接,它們可配置在同一子網,通信單元、控制單元和相機單元的IP地址分別為192.168.2.1、192.168.2.10和192.168.2.100.根據4.2節,地面站與無人機間的通信需要借助于互聯網上的穿越機制.
對于人在環上的RIAU而言,計算單元能夠代替人進行復雜圖像處理功能是必須的.對于目前許多流行的基于無人機的實時圖像應用系統而言,計算單元從圖像中檢測出特定目標非常關鍵,而無論計算單元是位于無人機上、網絡邊緣或數據中心.下面將以圖像中檢測特定目標為例,討論了將YOLOv3(You Only Look Once)[14]算法用于RIAU應用的過程,YOLOv3是目前在準確率和速度方面都極為出色的一種算法.
為使YOLOv3高效運行,首先需要建立檢測目標的訓練數據集.為了盡可能精確地從圖像中識別目標,我們可以從不同角度拍攝2000張包括目標的圖片,并保存為.jpg格式的文件.其次,使用Labelme工具標注這2000張圖片,每張圖片對應生成一個xml文件.最后,將標注過的數據集按照6∶2∶2的比例劃分為訓練集、驗證集和測試集數據文件.
算法設置IsExist返回值,告知圖片P0中是否存在目標Ts,其判斷標準為:

(3)
如果識別過程中IsExis=false,表示P0中不存在Ts,無人機繼續飛行拍攝;如果IsExist=true,表示P0中存在Ts,識別程序處理得圖片如圖4所示,程序以圖片左下角為原點,下邊界為X軸,左邊界為Y軸建立直角坐標系,圖片范圍為(0,Ymax;0,0;Xmax,0;Xmax,Ymax).其中圓柱體假定為目標對象,中間框體即為目標識別的矩形邊框,矩形四角坐標為:(xlu,ylu,xld,yld,xru,yru,xrd,yrd).最后識別程序將圖片范圍、識別矩形四角坐標以及Ts置信度ε(Ts的可信程度)保存在文件中.計算程序調用文件通過識別結果對無人機后續行動,如將識別的目標圖像發送給地面站,或指示無人機對該識別的目標進行跟蹤等.

圖4 識別目標對象Fig.4 Identifing the target
為了驗證本文所提的RIAU設計方法,本節對基于邊緣計算模式的RIAU原型系統和機載計算模式RIAU原型系統進行了試驗,重點測試了在兩種模式下實時圖像應用對系統的性能要求.
試驗中,我們使用大疆M100無人機搭載了實現控制單元功能的樹莓派3B+、用于通信的網絡板以及云臺系統,Movidius 神經計算棒與樹莓派USB口相連.對于邊緣計算或云計算模式系統,地面站計算機運行YOLOv3算法來處理目標對象.
為了使試驗結果具有一般性,本試驗在分別機載計算模式和邊緣計算模式下,根據式(1)中的4個成分對RIAU原型系統進行實際測量,以期對每個關鍵時間有數量級概念.
相機單元工作時延Δ1是從控制單元向相機單元發送拍攝命令直至在控制單元內存得到圖片持續的時間.試驗用了測試10次的平均值作為測量結果,Δ1=0.055s.可見,相機單元工作有毫秒級時延.
根據圖片像素的不同,計算單元處理圖片的時延Δ3有所不同.本系統相機單元拍攝的圖片默認像素大小為4096×2160,考慮到各種不同實時應用的需求,本試驗系統處理5種不同像素,即像素分別為640×480,1600×1200,1280×960,2560×1920和4096×2160的圖片進行了測量.存儲上述像素的圖片所需要的內存分別為:60KB、200KB、300KB、500KB和1MB.
試驗中分別在兩種計算模式下測量識別圖片中對象所需要的時間,為此,需要在兩種模式下的程序中加入計時的功能.
圖5(a)是5種像素不同的圖片在兩種計算模式下的圖片處理時間.可見,圖片的像素對機載計算模式中圖片處理時間有較大影響,例如,在640×480像素下,處理時間約為0.044秒;而在4096×2160大小下,處理時間約為1秒,可能已經不適合某些要求較高的實時性應用了.在邊緣計算模式中,由于服務器處理圖片能力較強,圖片像素對處理時間的影響較小.可見,對于圖片處理要求一般的應用,可以采用機載計算模式的RIAU系統;而對于某些要求較高的應用,應當采用邊緣計算模式的RIAU系統.

圖5 試驗結果Fig.5 Experimental results
圖片傳輸時延Δ2顯然與圖片像素和網絡傳輸數列直接相關.試驗分別在4G和Wi-Fi兩種傳輸方式下對5種不同大小的圖片進行了傳輸時延測量.采用4G傳輸方式時,系統的不同通信單元處于4G基站范圍內,下載速度為2 MB/s~3MB/s.采用Wi-Fi傳輸方式時,系統的不同通信單元位于同一接入點范圍內,下載速度為2 MB/s ~3MB/s.通信程序基于Socket實現圖片的收發和計時.試驗中分別對每張圖片進行10次測試并取平均值作為結果.
圖5(b)給出了5種大小的圖片在兩種傳輸方式下的傳輸時延.可見,在4G傳輸方式中,圖片像素大于1280×960時,圖片傳輸時延大于1秒,在像素大于4096×2160時,圖片傳輸時延接近8秒.而在Wi-Fi傳輸方式中,各種圖片的傳輸時延都小于1秒.
但由于Wi-Fi通信覆蓋的區域較小,對于兩個通信單元相隔較遠時無法使用.為了測試Wi-Fi通信模式下,無人機的活動范圍,設置了普通Wi-Fi下,圖片傳輸范圍試驗.
試驗中,使用路由器開啟Wi-Fi,Wi-Fi下載速度為2MB/s~3MB/s,傳輸圖片分辨率為640×480的圖片,在此分辨率下,4G傳輸方式與Wi-Fi傳輸方式的傳輸時延相近,適合用作對比.
圖5(c)給出了與路由器分別相距2米、5米、10米、20米及30米時,兩種模式下傳輸分辨率為640×480的圖片的傳輸時延,由于測量范圍均在4G基站內,因此4G傳輸方式的傳輸時延是固定的;無人機與路由器相距20米內,Wi-Fi傳輸模式的傳輸時延比較穩定,相距20米-30米范圍內,傳輸時延大幅度增加,相距超過30米后,無人機與Wi-Fi連接開始不穩定,出現連接中斷現象.
結合測量結果可知,Wi-Fi傳輸模式的傳輸時延依賴開啟Wi-Fi的站點服務范圍,超過站點服務范圍會出現丟包或中斷現象,導致無人機丟失控制.而4G傳輸方式幾乎沒有距離限制,盡管它的傳輸時延較大.未來可以考慮使用5G技術,以降低圖片傳輸時延.試驗表明,命令傳輸時延Δ4的10次測試的平均值為0.015s.
我們根據式(1),分別對邊緣計算模式和機載計算模式的系統,測量了系統反應時間.
圖5(d)是測試機載計算模式系統和邊緣計算模式系統所得的總時延曲線.可見,使用Wi-Fi傳輸的邊緣計算模式以及機載計算模式的系統,其總時延隨圖片像素增加變化不大;而在邊緣計算模式下使用4G傳輸,由于網絡帶寬限制,總時延隨圖片像素增加而迅速增加.結合前面的測量結果可知,RIAU系統的總時延主要取決于計算單元處理時延和通信單元傳輸時延,對像素高的圖片其處理時延和傳輸時延尤為突出.
隨著基于無人機的實時圖像應用(RIAU)增加,設計實現RIAU系統面臨著許多技術挑戰.本文分析了人在環路上的RIAU系統的典型計算模式和應用的時延構成,分析了地面計算和機載計算兩種模式系統的特點;研究設計實現RIAU系統的關鍵技術和基于YOLOv3算法的圖像目標檢測方法,建立了RIAU原型系統.試驗結果表明,系統的總時延主要取決于計算單元處理時延和通信單元傳輸時延,對像素高的圖片其處理時延和傳輸時延尤為突出;對于圖片處理要求一般的應用,可以采用機載計算模式的RIAU系統;而對于某些要求較高的應用,應當采用邊緣計算模式的RIAU系統;4G傳輸方式對于通信節點的位置沒有限制,但對于像素較高的圖片傳輸時間較大.