燕必希,王 智,費(fèi) 奇,王子潤,董明利
(北京信息科技大學(xué) 儀器科學(xué)與光電工程學(xué)院,北京 100192)
RoboCup足球機(jī)器人競賽是由RoboCup國際協(xié)會(huì)組織的高科技對抗活動(dòng),其愿景是在2050年,能夠和真人展開一場真正的足球比賽[1]。由于其具有的趣味性和高技術(shù)應(yīng)用特點(diǎn),在國際上得到廣泛開展。足球機(jī)器人融合了信息、機(jī)械、自動(dòng)化、計(jì)算機(jī)、傳感技術(shù)、人工智能和仿生學(xué)等多學(xué)科知識(shí)和研究成果,代表高技術(shù)發(fā)展的前沿,足球機(jī)器人成為當(dāng)今科學(xué)研究的熱點(diǎn)之一。
參加RoboCup競賽的足球機(jī)器人必須滿足RoboCup技術(shù)規(guī)范。對于小型類人足球機(jī)器人,最新技術(shù)規(guī)范版本是2018版,要求身高在40~90 cm之間,并滿足自然人的特征,如腳的外包絡(luò)矩形不能太大,長寬比例在一定范圍內(nèi),機(jī)器人軀干、四肢的比例和重心位置等均與自然人相近[2]。
在比賽過程中,足球機(jī)器人通過攝像機(jī)定位足球和球門,調(diào)整自身姿態(tài)和位置,對帶球或是射門進(jìn)行決策,并最終得分。在上述一系列技術(shù)環(huán)節(jié)中,快速找到足球和球門是機(jī)器人足球比賽中最為基礎(chǔ)和關(guān)鍵的環(huán)節(jié)。傳統(tǒng)的基于彩色圖像分割算法[3]是通過識(shí)別物體的顏色特征信息來識(shí)別物體,但由于最新的足球機(jī)器人比賽規(guī)則發(fā)生變化,邊界、門框顏色都為白色,足球也不同以往的彩色球,導(dǎo)致最終傳統(tǒng)算法失效。特征提取SIFT算法[4](scale-invariant feature transform)是通過識(shí)別物體的位置、尺度、方向信息來識(shí)別物體,但由于足球機(jī)器人比賽場景復(fù)雜,場地內(nèi)物體較多,導(dǎo)致識(shí)別效果較差。深度卷積神經(jīng)網(wǎng)絡(luò)算法RCNN[5](regions with convolutional neural network features)和Faster-RCNN[6](faster-regions with convolutional neural network features)將識(shí)別任務(wù)分為目標(biāo)區(qū)域預(yù)測和類別預(yù)測,導(dǎo)致最終識(shí)別速度過慢,不能很好地達(dá)到實(shí)時(shí)性,因此不能滿足足球機(jī)器人比賽的要求。
針對上述要求,本文設(shè)計(jì)了滿足RoboCup2018版技術(shù)規(guī)范要求的小型類人足球機(jī)器人,采用深度卷積神經(jīng)網(wǎng)絡(luò)YOLOv3(you only look once)[7]作為視覺識(shí)別算法,使用3000張機(jī)器人比賽的照片對YOLOv3模型進(jìn)行訓(xùn)練,訓(xùn)練后的模型對足球、門框、機(jī)器人具有良好的魯棒性和泛化能力。YOLOv3算法采用了端到端的識(shí)別原理,能夠快速識(shí)別圖像中的目標(biāo),從而達(dá)到實(shí)時(shí)性檢測。
RoboCup2018技術(shù)規(guī)范要求小型類人足球機(jī)器人滿足如下要求:
2)腳的包絡(luò)邊界為凸殼矩形,矩形的長邊與短邊之間的比例不得超過2.5。
3)機(jī)器人外包絡(luò)必須小于直徑為0.55×Htop的圓柱體,其中Htop為機(jī)器人直立姿態(tài)下的身高。
4)四肢延展后,范圍不得超過1.5×Htop。
5)腿長Hleg(包括腳)需滿足0.35×Htop≤Hleg≤0.7×Htop。
6)上述5)中腿長,指機(jī)器人處于直立狀態(tài)時(shí),腿部第一個(gè)關(guān)節(jié)到腳的末端之間距離(站立時(shí)要求關(guān)節(jié)軸線平行于站立地面)。
7)頭部高度Hhead(包括頸)需滿足0.05×Htop≤Hhead≤0.25×Htop。Hhead為從肩部第一關(guān)節(jié)的軸線到頭部頂部的垂直距離。
8)從手臂第一個(gè)關(guān)節(jié)開始算起,要求手臂長度大于等于Htop-Hleg-Hhead。
根據(jù)上述要求,制作機(jī)器人如圖1所示。
圖1 機(jī)器人設(shè)計(jì)圖
選用韓國Robotis公司Mx系列舵機(jī)做為關(guān)節(jié),共設(shè)計(jì)有20個(gè)自由度。機(jī)器人身高Htop=592 cm,重心位置在機(jī)器人直立時(shí)距離地面HCOM=331 cm,腳130×83 cm2,上肢284 cm,下肢305 cm,頭高95 cm,上述參數(shù)均滿足RoboCup2018技術(shù)規(guī)范。
YOLOv3算法使用了52層卷積神經(jīng)網(wǎng)絡(luò)和1個(gè)全連接層,使用了分類網(wǎng)絡(luò)基礎(chǔ)模型Darknet-53[8],訓(xùn)練時(shí)使用已給標(biāo)簽的圖像進(jìn)行模型訓(xùn)練,通過類別特征及位置信息確定卷積神經(jīng)網(wǎng)絡(luò)中卷積核的參數(shù)。測試時(shí)利用訓(xùn)練完成的卷積核對輸入圖像進(jìn)行目標(biāo)識(shí)別,實(shí)現(xiàn)了快速準(zhǔn)確識(shí)別。圖2是YOLOv3目標(biāo)檢測的系統(tǒng)流程。
圖2 YOLOv3目標(biāo)檢測的系統(tǒng)流程
如圖2所示,在輸入圖片resize(尺寸調(diào)整)中,將輸入圖像尺寸調(diào)整為416×416并網(wǎng)格化,提取含有目標(biāo)邊框的信息。
將大小為416×416帶有目標(biāo)的輸入圖像劃分為7×7的均勻網(wǎng)格,各網(wǎng)格檢測邊框時(shí)包含5個(gè)參數(shù)信息(x、y、ω、h、Cobj),分別表示帶有目標(biāo)預(yù)測邊框的中心橫坐標(biāo)、縱坐標(biāo)、寬度、高度、置信度評(píng)分[9]:
(1)
(2)
式中:Apred為檢測框面積;Atruth為真實(shí)框面積。
網(wǎng)格后的圖片進(jìn)行卷積神經(jīng)網(wǎng)絡(luò)CNN(convolutional neural networks)運(yùn)算,提取特征。利用52層卷積層提取圖像特征,最后一層全連接層進(jìn)行目標(biāo)預(yù)測。若當(dāng)前網(wǎng)格存在多個(gè)目標(biāo),則在該網(wǎng)格為每個(gè)目標(biāo)分別賦予分類條件概率P(class|obj),整幅圖片的7×7網(wǎng)格中目標(biāo) classi的置信度:
式中下標(biāo)i為第i個(gè)目標(biāo)。
卷積后的圖片通過非極大值抑制(non maximum suppression,NMS)設(shè)定閾值對預(yù)選框進(jìn)行篩選。設(shè)置檢測邊框置信度評(píng)分閾值,通過非極大值抑制過濾低于預(yù)設(shè)閾值的邊框,則最終保留下的邊框?yàn)檎_的邊框。
圖3為YOLOv3在實(shí)際圖像中對狗、車、自行車的識(shí)別過程。圖像經(jīng)過resize和卷積神經(jīng)網(wǎng)絡(luò)的處理,通過非極大值抑制對預(yù)選框進(jìn)行篩選,得出最終的類別框。
圖3 使用YOLOv3進(jìn)行目標(biāo)識(shí)別
根據(jù)制作圖紙進(jìn)行了機(jī)器人的加工和組裝,實(shí)物圖如下。
圖4 機(jī)器人實(shí)物圖
訓(xùn)練模型在PC端完成,配置為GPU(GTX-1080),需要配置CUDA9.0并行計(jì)算庫,cuDNN7.0并行加速庫,OpenCV3.2圖像處理庫;在ubuntu16.04系統(tǒng)下,搭建開源深度學(xué)習(xí)框架Darknet;拍攝3300張足球機(jī)器人比賽中含有目標(biāo)的圖片,其中3000張進(jìn)行網(wǎng)絡(luò)訓(xùn)練,300張進(jìn)行測試;對預(yù)訓(xùn)練模型darknet53.conv.74進(jìn)行50 200次迭代;評(píng)分閾值設(shè)為0.25。
訓(xùn)練時(shí)將目標(biāo)分為3類,對足球(soccer)、機(jī)器人(robot)、門框(goal)進(jìn)行訓(xùn)練。訓(xùn)練完成后,為了測試模型的準(zhǔn)確性,使用足球機(jī)器人攝像頭對現(xiàn)場拍攝,拍攝300張測試圖片對YOLOv3模型進(jìn)行測試。圖5為部分圖片檢測效果。
圖5 機(jī)器人比賽照片檢測效果
Mmap(均值平均精度)和Rrecall(召回率)[10]是衡量深度學(xué)習(xí)中對象檢測算法準(zhǔn)確率的重要指標(biāo)。Tp(Ture Position)是預(yù)測框與真實(shí)框保持一致的數(shù)目,F(xiàn)p(False Position)是表示預(yù)測框與真實(shí)框不符合的數(shù)目,F(xiàn)n(False Negatives)是表示真實(shí)框沒有被檢測到的數(shù)目。
通過分別使用特征提取SIFT算法、深度卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)識(shí)別算法RCNN、Faster-RCNN、YOLOv3對300張圖片進(jìn)行測試,結(jié)果如表1所示。
表1 測試集實(shí)驗(yàn)結(jié)果
從表1可看出,YOLOv3算法比SIFT和RCNN算法的準(zhǔn)確率、召回率、每秒識(shí)別幀數(shù)都要高,相較于深度學(xué)習(xí)算法Faster-RCNN雖然降低了準(zhǔn)確率和召回率,但仍然保持較高的準(zhǔn)確率和召回率,每秒識(shí)別幀數(shù)遠(yuǎn)大于Faster-RCNN,可以滿足實(shí)時(shí)性檢測。滿足足球機(jī)器人比賽中的準(zhǔn)確性和實(shí)時(shí)性要求。
設(shè)計(jì)了滿足RoboCup2018技術(shù)規(guī)范的足球機(jī)器人,并應(yīng)用YOLO3算法對比賽用球、門框、機(jī)器人進(jìn)行了特征識(shí)別。YOLOv3算法相較于傳統(tǒng)的基于彩色圖像分割算法、特征提取SIFT算法以及現(xiàn)有的RCNN、Faster- RCNN深度學(xué)習(xí)算法具有較高的準(zhǔn)確率和召回率,識(shí)別速度快,滿足實(shí)時(shí)性要求。通過實(shí)驗(yàn)證明了訓(xùn)練后的YOLOv3模型對識(shí)別的物體具有良好的魯棒性和泛化能力。設(shè)計(jì)的足球機(jī)器人參加了RoboCup2018中國賽和國際賽,取得了中國賽技術(shù)挑戰(zhàn)賽第三名和國際賽技術(shù)挑戰(zhàn)賽第四名的成績。