摘? 要:視覺圖像信號(hào)包含了真實(shí)世界的豐富的顏色、紋理、形狀等信息,是包括人類在內(nèi)的許多動(dòng)物感知世界的主要方式。近年來,圖像傳感器與圖像處理算法越來越成熟,在目標(biāo)檢測(cè)、目標(biāo)識(shí)別、物體追蹤等方面的應(yīng)用展現(xiàn)出高性能、高精度、低成本等優(yōu)勢(shì)。本文實(shí)現(xiàn)了一套基于嵌入式平臺(tái)和SSD算法的室內(nèi)物體檢測(cè)、識(shí)別、追蹤算法,并且將這一系列算法應(yīng)用于室內(nèi)機(jī)器人足球賽,搭建了完整的室內(nèi)機(jī)器人對(duì)抗系統(tǒng)。本文中提出的基于SSD算法的室內(nèi)機(jī)器人足球比賽系統(tǒng)在目標(biāo)檢測(cè)準(zhǔn)確率和效率方面都優(yōu)于傳統(tǒng)計(jì)算機(jī)視覺算法。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);SSD目標(biāo)檢測(cè)算法;智能機(jī)器人;嵌入式
中圖分類號(hào):TP242? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):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? 研究背景
機(jī)器人的定位與追蹤是機(jī)器人系統(tǒng)的關(guān)鍵問題,是許多機(jī)器人應(yīng)用的基礎(chǔ)。室內(nèi)定位系統(tǒng)分為無線和視覺兩大類。無線定位的方案主要基于Wi-Fi、GSM、藍(lán)牙等無線信號(hào),通過終端定位設(shè)備與搭建在室內(nèi)的基站進(jìn)行通信。這類基于無線通信的室內(nèi)定位方法不僅僅需要建立基站,各個(gè)待定位物體還需要通過安裝專用的無線收發(fā)模塊與基站通信來完成室內(nèi)定位。并且由于室內(nèi)環(huán)境復(fù)雜,無線電信號(hào)多徑效應(yīng)明顯,導(dǎo)致基于無線的室內(nèi)定位技術(shù)精度低、穩(wěn)定性不足,當(dāng)前主流的基于無線信號(hào)的定位技術(shù)的定位精度一般在0.5m左右。
某些特定任務(wù)采用基于視覺的方法對(duì)物體進(jìn)行定位。在機(jī)器人足球?qū)官愔校捎跈C(jī)器人在地面上移動(dòng),只需在地面二維平面上進(jìn)行定位,機(jī)器人運(yùn)動(dòng)邊界固定,活動(dòng)規(guī)律明確,采用基于視覺的物體定位方法更加簡(jiǎn)單,只需開發(fā)定位系統(tǒng),在終端上無須安裝任何電路設(shè)備。相比于基于無線的定位系統(tǒng),基于視覺的定位系統(tǒng)往往具備更高的物體定位精度,不僅應(yīng)用在對(duì)機(jī)器人的定位中,機(jī)器人自身同樣需要對(duì)周圍關(guān)鍵目標(biāo)進(jìn)行定位[1]。國際上最有影響力的室內(nèi)足球機(jī)器人比賽RoboCup已舉辦20余年,安裝在場(chǎng)地上的攝像頭可以對(duì)機(jī)器人進(jìn)行定位,而安裝在機(jī)器人身上的攝像頭可以對(duì)足球、球門、其他機(jī)器人進(jìn)行定位和追蹤。
基于圖像的定位檢測(cè)技術(shù)過程包括檢測(cè)輸入圖像中的目標(biāo),確定圖像中目標(biāo)的語義類型,確定目標(biāo)在圖像中的具體區(qū)域,根據(jù)圖像傳感器的位置信息確定目標(biāo)在現(xiàn)實(shí)世界中的位置。室內(nèi)環(huán)境中的基于圖像的定位檢測(cè)技術(shù)具有如下挑戰(zhàn):首先,同類目標(biāo)的顏色、形狀、紋理等方面可能存在巨大差異,不同類物體也有可能形態(tài)相近,類內(nèi)相似度低和類間相似度高對(duì)物體檢測(cè)的準(zhǔn)確性提出挑戰(zhàn);其次,室內(nèi)光照環(huán)境變化較大,極端情況下需要在復(fù)雜燈光效果下完成物體檢測(cè)與定位,待檢測(cè)區(qū)域中也會(huì)存在移動(dòng)障礙物干擾,光照變換和環(huán)境干擾對(duì)物體檢測(cè)的魯棒性提出挑戰(zhàn);最后,由于室內(nèi)物體運(yùn)動(dòng)軌跡相比室外更加精細(xì),物體間距更小,物體定位邊界不緊致會(huì)導(dǎo)致相鄰物體檢測(cè)位置重合,因此要求物體定位邊界更加緊致。
為了解決上述問題,已經(jīng)提出許多目標(biāo)檢測(cè)定位算法[2]。近年來,隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,許多基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法在準(zhǔn)確性上優(yōu)于傳統(tǒng)方法。本文將深度學(xué)習(xí)目標(biāo)檢測(cè)算法應(yīng)用在室內(nèi)機(jī)器人足球比賽系統(tǒng)中,搭建了完整的基于嵌入式平臺(tái)的室內(nèi)機(jī)器人對(duì)抗系統(tǒng),內(nèi)容安排如下:第2節(jié)介紹室內(nèi)機(jī)器人足球比賽規(guī)則及系統(tǒng)架構(gòu);第3節(jié)介紹系統(tǒng)計(jì)算模塊;第4節(jié)介紹系統(tǒng)控制模塊;第5節(jié)介紹實(shí)驗(yàn)結(jié)果及分析;第6節(jié)介紹本文總結(jié)與展望。
2? 室內(nèi)機(jī)器人足球比賽規(guī)則及系統(tǒng)架構(gòu)
我們?cè)O(shè)計(jì)了一個(gè)室內(nèi)機(jī)器人比賽場(chǎng)景,將基于CNN的目標(biāo)檢測(cè)系統(tǒng)完整部署到嵌入式系統(tǒng)中。參賽雙方各派出一輛小車,以將球踢進(jìn)對(duì)方球門底線為目標(biāo),比賽結(jié)束時(shí)進(jìn)球多者獲勝。雙方輪流擔(dān)任射門方和防守方,射門方僅可在距離對(duì)方底線70cm外放置球和移動(dòng),防守方可在距離己方底線40cm范圍內(nèi)移動(dòng),超過該40cm范圍將被強(qiáng)制停止。比賽在尺寸為210cm×297cm的模擬足球場(chǎng)上進(jìn)行。需要開發(fā)的系統(tǒng)包括感知、計(jì)算、決策、控制單元,如圖1所示。系統(tǒng)采用Xilinx Zynq7020 SoC平臺(tái),Zynq系列芯片包含一個(gè)基于雙核ARM Cortex-A9的處理子系統(tǒng)(Processing System,PS)和Xilinx 28nm可編程邏輯(Programmable Logic,PL)。PS除核心外還包括片上存儲(chǔ)器、外部存儲(chǔ)器接口及大量外設(shè)連接接口。PS和PL之間通過可配置的AXI總線進(jìn)行數(shù)據(jù)和指令交互。
基于嵌入式平臺(tái)的室內(nèi)機(jī)器人足球比賽系統(tǒng)結(jié)構(gòu)如圖2所示。
在該系統(tǒng)中,由于計(jì)算部分的目標(biāo)檢測(cè)模塊計(jì)算量需求最大,我們使用PL對(duì)目標(biāo)檢測(cè)算法進(jìn)行加速,其余的傳感、決策和控制單元被部署在PS上。其中簡(jiǎn)單的控制通過PS和PL之間的AXI總線來傳輸少量控制信號(hào),大量的數(shù)據(jù)通過PS和PL共享的內(nèi)存DDR進(jìn)行交互。感知系統(tǒng)主要為攝像頭傳感器,控制單元為電機(jī)驅(qū)動(dòng)模塊,二者均有成熟的解決方案和通用協(xié)議,并且為PS封裝了相應(yīng)的軟件驅(qū)動(dòng),因此文中不再贅述。本文將主要介紹該系統(tǒng)的計(jì)算模塊和決策模塊。
3? 計(jì)算模塊
計(jì)算模塊的主要功能是基于輸入圖像確定物體的位置,確定物體位置的核心算法為物體檢測(cè)算法。我們分析了各種基于CNN的物體檢測(cè)算法,確定使用SSD作為該系統(tǒng)的目標(biāo)檢測(cè)算法[3]。相比于YOLO算法,SSD候選框更加豐富,尺度種類也更加多樣,并且大大減少了網(wǎng)絡(luò)參數(shù)。相比于Faster-RCNN等兩階段算法,SSD和YOLO這類單階段算法在速度上有大幅提升,適合應(yīng)用到嵌入式設(shè)備中。
在FPGA上設(shè)計(jì)CNN加速器是近年來的一個(gè)熱門研究方向。國內(nèi)有很多企業(yè)已經(jīng)開發(fā)了基于FPGA的CNN系統(tǒng),說明基于FPGA的神經(jīng)網(wǎng)絡(luò)加速器已經(jīng)進(jìn)入工業(yè)應(yīng)用階段。在本研究中,我們采用開源的神經(jīng)網(wǎng)絡(luò)加速器DNNWeaver。DNNWeaver是一款基于FPGAs的深度神經(jīng)網(wǎng)絡(luò)加速器開源框架,程序員只需使用一種流行的深度學(xué)習(xí)框架caffe的代碼格式,描述指定的深度神經(jīng)網(wǎng)絡(luò),該框架便可以自主生成專用于指定深度神經(jīng)網(wǎng)絡(luò)的加速器。
我們首先利用caffe框架完成針對(duì)背景、足球、機(jī)器人三分類場(chǎng)景的SSD網(wǎng)絡(luò)訓(xùn)練,之后利用DNNWeaver框架將神經(jīng)網(wǎng)絡(luò)映射到Zynq7020 FPGA上,對(duì)應(yīng)一張輸入圖片,輸出足球和對(duì)方小車在圖像中的坐標(biāo)。接下來,我們根據(jù)足球和對(duì)方小車在圖像中的坐標(biāo),估計(jì)出足球和對(duì)方小車在真實(shí)世界中相對(duì)于平臺(tái)小車的位置。最后,我們將足球和對(duì)方小車的真實(shí)位置發(fā)送給決策模塊,由決策模塊負(fù)責(zé)計(jì)算平臺(tái)小車移動(dòng)位置。
4? 決策模塊
首先根據(jù)計(jì)算模塊傳來的足球和對(duì)方小車的位置,計(jì)算足球相對(duì)于己方小車的方向和距離。我們用變量ball_distance表示足球相對(duì)于己方小車的距離,用變量fc表示足球相對(duì)于己方小車的方向。當(dāng)足球在小車的正前方時(shí),我們令fc=0;當(dāng)球在小車的正右方時(shí),令fc=90;當(dāng)球在小車的正后方時(shí),令fc=180;當(dāng)足球在小車的正左方時(shí),令fc=270。依此類推,如圖3所示。fc的取值范圍為0~359,分別對(duì)應(yīng)了足球相對(duì)于小車的360種不同方向。我們利用三角函數(shù)atan將足球和己方小車的位置信息(兩者的X軸和Y軸的坐標(biāo)值)換算成相應(yīng)的fc值。
接下來分析如何讓小車做出把球推進(jìn)對(duì)方球門的動(dòng)作。當(dāng)球非??拷≤嚂r(shí)(ball_distance≈20),如果球就在小車正右邊,即fc=90,只要令小車運(yùn)動(dòng)方向path=fc+90,小車就會(huì)馬上向正后方移動(dòng),則下一時(shí)刻足球?qū)⑽挥谛≤嚨挠曳狡耙稽c(diǎn),fc減?。ɡ鏵c=70)。若繼續(xù)執(zhí)行path=fc+90,則小車向右后方移動(dòng),到下一時(shí)刻fc又減?。ɡ鏵c=50)。仍然執(zhí)行path=fc+90將使得fc繼續(xù)減小。當(dāng)fc≈30時(shí),足球已經(jīng)差不多在小車的前方了,這時(shí)小車已經(jīng)走出了一條曲線,并且成功繞到了足球的后面。當(dāng)fc≤30時(shí),由于此時(shí)球距離小車很近,只要令path=0,小車向前運(yùn)動(dòng),足球就自然進(jìn)入小車的控球位里,小車就能夠?qū)⒆闱蛳蚯巴七M(jìn)。
最后分析如何在帶球過程中躲避對(duì)方小車。我們可以將對(duì)方小車看成一個(gè)障礙物,當(dāng)障礙物離平臺(tái)小車較遠(yuǎn)時(shí),決策模塊會(huì)讓平臺(tái)小車直接向球門運(yùn)動(dòng);當(dāng)障礙物離平臺(tái)小車較近時(shí),決策模塊會(huì)讓平臺(tái)小車向障礙物靠近球門的方向轉(zhuǎn)向。作為防守方時(shí),平臺(tái)小車將采用“盯人防守”策略,總是向?qū)Ψ叫≤嚳厍蛱幰苿?dòng)。有了傳感、計(jì)算、決策、控制模塊,我們便實(shí)現(xiàn)了一個(gè)完整的機(jī)器人場(chǎng)地足球比賽系統(tǒng)。
5? 實(shí)驗(yàn)結(jié)果及分析
為了驗(yàn)證我們算法的有效性,我們實(shí)現(xiàn)了小車的平臺(tái)。整體小車平臺(tái)由三部分組成:機(jī)械平臺(tái)、攝像頭、控制板,如圖4所示。機(jī)械平臺(tái)負(fù)責(zé)控制邏輯構(gòu)成,由穩(wěn)壓模塊、電機(jī)驅(qū)動(dòng)、三輪平臺(tái)組成。攝像頭負(fù)責(zé)采集環(huán)境信息,采用USB攝像頭模組,通過USB接口與控制板進(jìn)行連接??刂瓢遑?fù)責(zé)處理環(huán)境信息,采用Xilinx Zynq 7020 SoC。由于主控板SoC具備ARM處理器,我們?cè)谥骺匕迳喜渴鹆饲度胧讲僮飨到y(tǒng),利用操作系統(tǒng)的驅(qū)動(dòng)程序和OpenCV開源圖像處理庫對(duì)攝像頭圖像進(jìn)行讀取,攝像頭最高幀率為50fps。
我們以場(chǎng)地頂端的攝像頭采集的圖片作為真值,在小車上部署攝像頭采集傳感器數(shù)據(jù),建立室內(nèi)機(jī)器人場(chǎng)景數(shù)據(jù)集。小車和頂端攝像頭會(huì)接收到相同的同步信號(hào),保證小車和頂端攝像頭具備相同的時(shí)間基準(zhǔn)。小車和攝像頭采集到的圖片及其對(duì)應(yīng)的時(shí)間戳?xí)謩e存儲(chǔ)在SD卡中。完成數(shù)據(jù)采集后,分別在小車視角和攝像頭視角同一時(shí)刻采集的圖片中手工標(biāo)定出門球車的位置,小車與攝像頭采集時(shí)間戳小于6ms的圖片認(rèn)為是同一時(shí)刻采集。在實(shí)驗(yàn)過程中,將攝像頭采集的圖像中標(biāo)定的小車、足球、球門、另一輛小車的位置作為真值。攝像頭采集的數(shù)據(jù)分為訓(xùn)練集和測(cè)試集,其中訓(xùn)練集900張圖片,測(cè)試集237張圖片。
我們使用均衡平均精度(mean Average Precision,mAP)作為衡量物體檢測(cè)性能的指標(biāo)。某一類別的平均精度(AveragePrecision,AP)為不同召回率測(cè)試點(diǎn)精度之和除以召回率測(cè)試點(diǎn)的數(shù)目。對(duì)于整個(gè)數(shù)據(jù)集,mAP為所有類別的AP之和除以類別數(shù)目。在實(shí)驗(yàn)中,可通過小車識(shí)別到物體的相對(duì)位置和大小計(jì)算出物體的實(shí)際位置,如果實(shí)際位置和真值的距離誤差在30cm以內(nèi)則認(rèn)為識(shí)別正確。在AP計(jì)算過程中,我們分別采用執(zhí)行度最高的1/2/4/8/16個(gè)框候選物體作為五個(gè)測(cè)試點(diǎn),計(jì)算召回率和精度,進(jìn)一步計(jì)算平均精度mAP。
在本實(shí)驗(yàn)中,我們分別實(shí)現(xiàn)了基于神經(jīng)網(wǎng)絡(luò)模型SSD的物體檢測(cè)算法和傳統(tǒng)基于Haar特征級(jí)聯(lián)濾波的物體檢測(cè)算法來對(duì)門球車(球門、足球、機(jī)器車)進(jìn)行檢測(cè)和定位,并進(jìn)行對(duì)比。圖像讀取、Haar級(jí)聯(lián)濾波識(shí)別門球車、決策控制等功能在SoC的ARM處理器完成,基于神經(jīng)網(wǎng)絡(luò)模型SSD識(shí)別門球車在SoC的FPGA平臺(tái)上完成。SSD目標(biāo)檢測(cè)算法和傳統(tǒng)Haar級(jí)聯(lián)濾波算法的mAP與計(jì)算速度如表1所示。可以看出,基于SSD的物體檢測(cè)方法不論是在算法精度還是在計(jì)算速度方面都好于傳統(tǒng)的Haar級(jí)聯(lián)濾波器算法。
6? 結(jié)? 論
本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于嵌入式平臺(tái)和SSD深度神經(jīng)網(wǎng)絡(luò)模型的室內(nèi)物體檢測(cè)、識(shí)別、追蹤算法,搭建了完整的室內(nèi)機(jī)器人足球比賽系統(tǒng)。實(shí)驗(yàn)結(jié)果表明本文提出的足球比賽系統(tǒng)在目標(biāo)檢測(cè)準(zhǔn)確率和計(jì)算速度方面均優(yōu)于傳統(tǒng)方法。在未來的研究工作中,我們將對(duì)該系統(tǒng)的準(zhǔn)確率和計(jì)算性能做進(jìn)一步優(yōu)化,并將其應(yīng)用于其他實(shí)際應(yīng)用場(chǎng)景中。
參考文獻(xiàn):
[1] 王語琪,鞏應(yīng)奎.一種基于視覺信息的可見光通信室內(nèi)定位方法 [J].計(jì)算機(jī)技術(shù)與發(fā)展,2016,26(1):200-204.
[2] 徐劍,丁曉青,王生進(jìn),等.多視角多行人目標(biāo)檢測(cè)、定位與對(duì)應(yīng)算法 [J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,49(8):1139-1143.
[3] 吳帥,徐勇,趙東寧.基于深度卷積網(wǎng)絡(luò)的目標(biāo)檢測(cè)綜述 [J].模式識(shí)別與人工智能,2018,31(4):335-346.
作者簡(jiǎn)介:劉春龍(1970.01-),男,漢族,廣東梅州人,教師,本科,研究方向:電氣、自動(dòng)控制。