




摘? 要:視覺圖像信號包含了真實世界的豐富的顏色、紋理、形狀等信息,是包括人類在內的許多動物感知世界的主要方式。近年來,圖像傳感器與圖像處理算法越來越成熟,在目標檢測、目標識別、物體追蹤等方面的應用展現出高性能、高精度、低成本等優勢。本文實現了一套基于嵌入式平臺和SSD算法的室內物體檢測、識別、追蹤算法,并且將這一系列算法應用于室內機器人足球賽,搭建了完整的室內機器人對抗系統。本文中提出的基于SSD算法的室內機器人足球比賽系統在目標檢測準確率和效率方面都優于傳統計算機視覺算法。
關鍵詞:卷積神經網絡;SSD目標檢測算法;智能機器人;嵌入式
中圖分類號:TP242? ? ? 文獻標識碼:A 文章編號:2096-4706(2019)23-0012-03
Indoor Robot Football Match System Based on Embedded
Platform and Target Detection Algorithm
LIU Chunlong
(Zhuhai Vocational School of Polytechnic,Zhuhai? 519070,China)
Abstract:Visual image signals contain rich colors,textures,shapes,and other information in the real world. They are the main way that many animals,including humans,perceive the world. In recent years,image sensors and image processing algorithms have become more and more mature,showing advantages such as high performance,high precision,and low cost in target detection,target recognition,and object tracking applications. This article implements a set of indoor object detection,recognition,and tracking algorithms based on the embedded platform and SSD algorithm,and applies this series of algorithms to indoor robot football matches to build a complete indoor robot confrontation system. The indoor robot soccer game system based on SSD algorithm proposed in this paper is superior to traditional computer vision algorithms in terms of target detection accuracy and efficiency.
Keywords:convolutional neural network;SSD target detection algorithm;intelligent robot;embedded
1? 研究背景
機器人的定位與追蹤是機器人系統的關鍵問題,是許多機器人應用的基礎。室內定位系統分為無線和視覺兩大類。無線定位的方案主要基于Wi-Fi、GSM、藍牙等無線信號,通過終端定位設備與搭建在室內的基站進行通信。這類基于無線通信的室內定位方法不僅僅需要建立基站,各個待定位物體還需要通過安裝專用的無線收發模塊與基站通信來完成室內定位。并且由于室內環境復雜,無線電信號多徑效應明顯,導致基于無線的室內定位技術精度低、穩定性不足,當前主流的基于無線信號的定位技術的定位精度一般在0.5m左右。
某些特定任務采用基于視覺的方法對物體進行定位。在機器人足球對抗賽中,由于機器人在地面上移動,只需在地面二維平面上進行定位,機器人運動邊界固定,活動規律明確,采用基于視覺的物體定位方法更加簡單,只需開發定位系統,在終端上無須安裝任何電路設備。相比于基于無線的定位系統,基于視覺的定位系統往往具備更高的物體定位精度,不僅應用在對機器人的定位中,機器人自身同樣需要對周圍關鍵目標進行定位[1]。國際上最有影響力的室內足球機器人比賽RoboCup已舉辦20余年,安裝在場地上的攝像頭可以對機器人進行定位,而安裝在機器人身上的攝像頭可以對足球、球門、其他機器人進行定位和追蹤。
基于圖像的定位檢測技術過程包括檢測輸入圖像中的目標,確定圖像中目標的語義類型,確定目標在圖像中的具體區域,根據圖像傳感器的位置信息確定目標在現實世界中的位置。室內環境中的基于圖像的定位檢測技術具有如下挑戰:首先,同類目標的顏色、形狀、紋理等方面可能存在巨大差異,不同類物體也有可能形態相近,類內相似度低和類間相似度高對物體檢測的準確性提出挑戰;其次,室內光照環境變化較大,極端情況下需要在復雜燈光效果下完成物體檢測與定位,待檢測區域中也會存在移動障礙物干擾,光照變換和環境干擾對物體檢測的魯棒性提出挑戰;最后,由于室內物體運動軌跡相比室外更加精細,物體間距更小,物體定位邊界不緊致會導致相鄰物體檢測位置重合,因此要求物體定位邊界更加緊致。
為了解決上述問題,已經提出許多目標檢測定位算法[2]。近年來,隨著深度學習技術的不斷發展,許多基于深度學習的目標檢測算法在準確性上優于傳統方法。本文將深度學習目標檢測算法應用在室內機器人足球比賽系統中,搭建了完整的基于嵌入式平臺的室內機器人對抗系統,內容安排如下:第2節介紹室內機器人足球比賽規則及系統架構;第3節介紹系統計算模塊;第4節介紹系統控制模塊;第5節介紹實驗結果及分析;第6節介紹本文總結與展望。
2? 室內機器人足球比賽規則及系統架構
我們設計了一個室內機器人比賽場景,將基于CNN的目標檢測系統完整部署到嵌入式系統中。參賽雙方各派出一輛小車,以將球踢進對方球門底線為目標,比賽結束時進球多者獲勝。雙方輪流擔任射門方和防守方,射門方僅可在距離對方底線70cm外放置球和移動,防守方可在距離己方底線40cm范圍內移動,超過該40cm范圍將被強制停止。比賽在尺寸為210cm×297cm的模擬足球場上進行。需要開發的系統包括感知、計算、決策、控制單元,如圖1所示。系統采用Xilinx Zynq7020 SoC平臺,Zynq系列芯片包含一個基于雙核ARM Cortex-A9的處理子系統(Processing System,PS)和Xilinx 28nm可編程邏輯(Programmable Logic,PL)。PS除核心外還包括片上存儲器、外部存儲器接口及大量外設連接接口。PS和PL之間通過可配置的AXI總線進行數據和指令交互。
基于嵌入式平臺的室內機器人足球比賽系統結構如圖2所示。
在該系統中,由于計算部分的目標檢測模塊計算量需求最大,我們使用PL對目標檢測算法進行加速,其余的傳感、決策和控制單元被部署在PS上。其中簡單的控制通過PS和PL之間的AXI總線來傳輸少量控制信號,大量的數據通過PS和PL共享的內存DDR進行交互。感知系統主要為攝像頭傳感器,控制單元為電機驅動模塊,二者均有成熟的解決方案和通用協議,并且為PS封裝了相應的軟件驅動,因此文中不再贅述。本文將主要介紹該系統的計算模塊和決策模塊。
3? 計算模塊
計算模塊的主要功能是基于輸入圖像確定物體的位置,確定物體位置的核心算法為物體檢測算法。我們分析了各種基于CNN的物體檢測算法,確定使用SSD作為該系統的目標檢測算法[3]。相比于YOLO算法,SSD候選框更加豐富,尺度種類也更加多樣,并且大大減少了網絡參數。相比于Faster-RCNN等兩階段算法,SSD和YOLO這類單階段算法在速度上有大幅提升,適合應用到嵌入式設備中。
在FPGA上設計CNN加速器是近年來的一個熱門研究方向。國內有很多企業已經開發了基于FPGA的CNN系統,說明基于FPGA的神經網絡加速器已經進入工業應用階段。在本研究中,我們采用開源的神經網絡加速器DNNWeaver。DNNWeaver是一款基于FPGAs的深度神經網絡加速器開源框架,程序員只需使用一種流行的深度學習框架caffe的代碼格式,描述指定的深度神經網絡,該框架便可以自主生成專用于指定深度神經網絡的加速器。
我們首先利用caffe框架完成針對背景、足球、機器人三分類場景的SSD網絡訓練,之后利用DNNWeaver框架將神經網絡映射到Zynq7020 FPGA上,對應一張輸入圖片,輸出足球和對方小車在圖像中的坐標。接下來,我們根據足球和對方小車在圖像中的坐標,估計出足球和對方小車在真實世界中相對于平臺小車的位置。最后,我們將足球和對方小車的真實位置發送給決策模塊,由決策模塊負責計算平臺小車移動位置。
4? 決策模塊
首先根據計算模塊傳來的足球和對方小車的位置,計算足球相對于己方小車的方向和距離。我們用變量ball_distance表示足球相對于己方小車的距離,用變量fc表示足球相對于己方小車的方向。當足球在小車的正前方時,我們令fc=0;當球在小車的正右方時,令fc=90;當球在小車的正后方時,令fc=180;當足球在小車的正左方時,令fc=270。依此類推,如圖3所示。fc的取值范圍為0~359,分別對應了足球相對于小車的360種不同方向。我們利用三角函數atan將足球和己方小車的位置信息(兩者的X軸和Y軸的坐標值)換算成相應的fc值。
接下來分析如何讓小車做出把球推進對方球門的動作。當球非常靠近小車時(ball_distance≈20),如果球就在小車正右邊,即fc=90,只要令小車運動方向path=fc+90,小車就會馬上向正后方移動,則下一時刻足球將位于小車的右方偏前一點,fc減小(例如fc=70)。若繼續執行path=fc+90,則小車向右后方移動,到下一時刻fc又減小(例如fc=50)。仍然執行path=fc+90將使得fc繼續減小。當fc≈30時,足球已經差不多在小車的前方了,這時小車已經走出了一條曲線,并且成功繞到了足球的后面。當fc≤30時,由于此時球距離小車很近,只要令path=0,小車向前運動,足球就自然進入小車的控球位里,小車就能夠將足球向前推進。
最后分析如何在帶球過程中躲避對方小車。我們可以將對方小車看成一個障礙物,當障礙物離平臺小車較遠時,決策模塊會讓平臺小車直接向球門運動;當障礙物離平臺小車較近時,決策模塊會讓平臺小車向障礙物靠近球門的方向轉向。作為防守方時,平臺小車將采用“盯人防守”策略,總是向對方小車控球處移動。有了傳感、計算、決策、控制模塊,我們便實現了一個完整的機器人場地足球比賽系統。
5? 實驗結果及分析
為了驗證我們算法的有效性,我們實現了小車的平臺。整體小車平臺由三部分組成:機械平臺、攝像頭、控制板,如圖4所示。機械平臺負責控制邏輯構成,由穩壓模塊、電機驅動、三輪平臺組成。攝像頭負責采集環境信息,采用USB攝像頭模組,通過USB接口與控制板進行連接。控制板負責處理環境信息,采用Xilinx Zynq 7020 SoC。由于主控板SoC具備ARM處理器,我們在主控板上部署了嵌入式操作系統,利用操作系統的驅動程序和OpenCV開源圖像處理庫對攝像頭圖像進行讀取,攝像頭最高幀率為50fps。
我們以場地頂端的攝像頭采集的圖片作為真值,在小車上部署攝像頭采集傳感器數據,建立室內機器人場景數據集。小車和頂端攝像頭會接收到相同的同步信號,保證小車和頂端攝像頭具備相同的時間基準。小車和攝像頭采集到的圖片及其對應的時間戳會分別存儲在SD卡中。完成數據采集后,分別在小車視角和攝像頭視角同一時刻采集的圖片中手工標定出門球車的位置,小車與攝像頭采集時間戳小于6ms的圖片認為是同一時刻采集。在實驗過程中,將攝像頭采集的圖像中標定的小車、足球、球門、另一輛小車的位置作為真值。攝像頭采集的數據分為訓練集和測試集,其中訓練集900張圖片,測試集237張圖片。
我們使用均衡平均精度(mean Average Precision,mAP)作為衡量物體檢測性能的指標。某一類別的平均精度(AveragePrecision,AP)為不同召回率測試點精度之和除以召回率測試點的數目。對于整個數據集,mAP為所有類別的AP之和除以類別數目。在實驗中,可通過小車識別到物體的相對位置和大小計算出物體的實際位置,如果實際位置和真值的距離誤差在30cm以內則認為識別正確。在AP計算過程中,我們分別采用執行度最高的1/2/4/8/16個框候選物體作為五個測試點,計算召回率和精度,進一步計算平均精度mAP。
在本實驗中,我們分別實現了基于神經網絡模型SSD的物體檢測算法和傳統基于Haar特征級聯濾波的物體檢測算法來對門球車(球門、足球、機器車)進行檢測和定位,并進行對比。圖像讀取、Haar級聯濾波識別門球車、決策控制等功能在SoC的ARM處理器完成,基于神經網絡模型SSD識別門球車在SoC的FPGA平臺上完成。SSD目標檢測算法和傳統Haar級聯濾波算法的mAP與計算速度如表1所示。可以看出,基于SSD的物體檢測方法不論是在算法精度還是在計算速度方面都好于傳統的Haar級聯濾波器算法。
6? 結? 論
本文設計并實現了一種基于嵌入式平臺和SSD深度神經網絡模型的室內物體檢測、識別、追蹤算法,搭建了完整的室內機器人足球比賽系統。實驗結果表明本文提出的足球比賽系統在目標檢測準確率和計算速度方面均優于傳統方法。在未來的研究工作中,我們將對該系統的準確率和計算性能做進一步優化,并將其應用于其他實際應用場景中。
參考文獻:
[1] 王語琪,鞏應奎.一種基于視覺信息的可見光通信室內定位方法 [J].計算機技術與發展,2016,26(1):200-204.
[2] 徐劍,丁曉青,王生進,等.多視角多行人目標檢測、定位與對應算法 [J].清華大學學報(自然科學版),2009,49(8):1139-1143.
[3] 吳帥,徐勇,趙東寧.基于深度卷積網絡的目標檢測綜述 [J].模式識別與人工智能,2018,31(4):335-346.
作者簡介:劉春龍(1970.01-),男,漢族,廣東梅州人,教師,本科,研究方向:電氣、自動控制。