王帥 楊建璽
摘 要:針對(duì)泊車機(jī)器人和智能停車庫研究領(lǐng)域中對(duì)視覺系統(tǒng)的需求,設(shè)計(jì)了一種基于雙目視覺的泊車機(jī)器人障礙物檢測系統(tǒng)。 借鑒物理學(xué)中的控制變量法完成雙目相機(jī)標(biāo)定,采用Bouguet算法進(jìn)行立體校正,引入YOLO卷積神經(jīng)網(wǎng)絡(luò)對(duì)障礙物進(jìn)行快速檢測,利用改進(jìn)立體匹配算法完成對(duì)弱光照下光滑邊緣障礙物的檢測,搭建雙目視覺系統(tǒng)并進(jìn)行實(shí)驗(yàn)驗(yàn)證。 實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)檢測平均耗時(shí)為0.463 s,在1 400 mm至2 100 mm范圍內(nèi)檢測誤差在50 mm內(nèi),具有良好的實(shí)時(shí)性和較高精度,為經(jīng)濟(jì)型泊車機(jī)器人的研制奠定基礎(chǔ)。
關(guān)鍵詞:泊車機(jī)器人;機(jī)器視覺;相機(jī)標(biāo)定;立體匹配;YOLO卷積神經(jīng)網(wǎng)絡(luò)
文章編號(hào):2095-2163(2019)04-0079-04 中圖分類號(hào):TP317.4 文獻(xiàn)標(biāo)志碼:A
0 引 言
隨著人們生活質(zhì)量的日益提高和經(jīng)濟(jì)水平的不斷發(fā)展,汽車保有量呈現(xiàn)井噴式增長,停車成了日常出行的難題[1]。 因此,智能停車庫應(yīng)運(yùn)而生,作為其核心運(yùn)載工具的泊車機(jī)器人日趨受人們關(guān)注,成為移動(dòng)機(jī)器人領(lǐng)域的全新重點(diǎn)應(yīng)用。 文獻(xiàn)[2]中提到的泊車機(jī)器人采用激光導(dǎo)航方式,可完成較高精度的導(dǎo)航,但遇到障礙物就會(huì)自動(dòng)停止,需人工干預(yù),不能獲取障礙物三維信息而進(jìn)行自主避障。 文獻(xiàn)[3]中由德國Serva公司研制的新型泊車機(jī)器人Ray雖已應(yīng)用到德國杜塞爾機(jī)場,但由于其采用激光導(dǎo)航方式,運(yùn)行速度不高,技術(shù)難度大,很難得到推廣。 文獻(xiàn)[4]中的國產(chǎn)最新泊車機(jī)器人的導(dǎo)航方式為“激光導(dǎo)引+磁釘導(dǎo)航”,雖能完成泊車導(dǎo)航,但前期需對(duì)停車場進(jìn)行較大改造,鋪設(shè)磁釘,使得機(jī)器人運(yùn)行路徑固定,使用不方便,成本較大,不能實(shí)時(shí)檢測行進(jìn)路徑上可能出現(xiàn)的障礙物。
以上文獻(xiàn)中的泊車機(jī)器人雖能完成泊車導(dǎo)航功能,但均采用了成本較高的激光導(dǎo)航技術(shù),不利于推廣,且缺少對(duì)泊車路徑上出現(xiàn)的障礙物(人為誤進(jìn),車輛附屬物脫落等)進(jìn)行實(shí)時(shí)檢測的功能,易發(fā)生泊車事故[5]。 故本文采用雙目視覺技術(shù),設(shè)計(jì)一套泊車機(jī)器人障礙物視覺檢測系統(tǒng),完成對(duì)泊車路徑上障礙物的類別和距離檢測,彌補(bǔ)了國內(nèi)泊車機(jī)器人缺少障礙物視覺檢測功能的缺陷,為泊車機(jī)器人視覺避障奠定基礎(chǔ),且有助于經(jīng)濟(jì)型泊車機(jī)器人的研制與推廣。
1 系統(tǒng)設(shè)計(jì)
障礙物視覺檢測系統(tǒng)作為泊車機(jī)器人的“眼睛”,需對(duì)泊車路徑上的障礙物進(jìn)行種類和距離檢測。 搭建雙目視覺檢測系統(tǒng)以實(shí)時(shí)獲得豐富的環(huán)境信息。 系統(tǒng)由軟、硬件2部分組成。 其中,硬件系統(tǒng)包括2臺(tái)MV-E800M/C相機(jī)、LP-03微調(diào)長型云臺(tái)板、Inter i7、GTX980和8G內(nèi)存。軟件系統(tǒng)包括VS2015、Matlab2016a、OpenCV 3.3.0和Ubuntu16.04,將具有可移植性和擴(kuò)展性的Python語言作為編程語言。
系統(tǒng)的工作流程為:通過雙目相機(jī)捕捉前方障礙物的目標(biāo)圖像,采集的圖像經(jīng)過立體校正、YOLO障礙物類別檢測、立體匹配和深度計(jì)算,實(shí)現(xiàn)泊車機(jī)器人障礙物視覺檢測功能。 系統(tǒng)結(jié)構(gòu)流程如圖1所示。
2 基于控制變量法的雙目相機(jī)標(biāo)定
由于相機(jī)的焦距會(huì)對(duì)障礙物的深度、距離、精度產(chǎn)生影響,故引入物理學(xué)中的控制變量法設(shè)置2組實(shí)驗(yàn),研究棋盤格標(biāo)定板規(guī)格和標(biāo)定距離對(duì)標(biāo)定誤差的影響,以得到精度較高的焦距。
實(shí)驗(yàn)a:設(shè)標(biāo)定距離為1 600 mm,繪制規(guī)格分別為8 mm*8 mm、12 mm*12 mm、14 mm*14 mm、16 mm*16 mm、18 mm*18 mm、20 mm*20 mm、22 mm*22 mm、24 mm*24 mm、26 mm*26 mm、28 mm*28 mm、30 mm*30 mm、40 mm*40 mm的棋盤格標(biāo)定板。
實(shí)驗(yàn)b:設(shè)置棋盤格標(biāo)定板規(guī)格為26 mm*26 mm,設(shè)置12組不同的標(biāo)定距離,從800 mm至1 900 mm依次增加100 mm,其它條件與實(shí)驗(yàn)a保持一致。 實(shí)驗(yàn)結(jié)果表明在標(biāo)定板規(guī)格為26 mm*26 mm,標(biāo)定距離為1 300 mm時(shí),標(biāo)定誤差最小。 標(biāo)定流程如圖2所示。
3 基于OpenCV的Bouguet立體校正
通過雙目視差求解距離公式是在雙目視覺系統(tǒng)處于理想狀態(tài)下推導(dǎo)出來的[6],而在實(shí)際操作中,由于相機(jī)畸變、相機(jī)裝配等原因,使得完全共面行對(duì)準(zhǔn)的兩個(gè)相機(jī)成像平面是不存在的。 因此,必須對(duì)其進(jìn)行校正,以減少實(shí)際誤差。 校正步驟:
(1)共面:校正過程中2個(gè)圖像平面均按照相機(jī)旋轉(zhuǎn)矩陣R旋轉(zhuǎn)一半,使重投影畸變最小[7],此時(shí)2個(gè)相機(jī)圖像平面共面(畸變校正后光軸也平行),但是行不對(duì)準(zhǔn)。
(2)行對(duì)準(zhǔn):極點(diǎn)是2個(gè)相機(jī)坐標(biāo)系原點(diǎn)的連線和圖像平面的交點(diǎn),2個(gè)相機(jī)的圖像平面和2個(gè)相機(jī)坐標(biāo)系原點(diǎn)的連線平行,則極點(diǎn)處于無窮遠(yuǎn)處(即行對(duì)準(zhǔn))。
4 障礙物類別檢測與深度計(jì)算
4.1 基于YOLO卷積神經(jīng)網(wǎng)絡(luò)的障礙物快速檢測
YOLO(You Only Look Once[8])是一個(gè)十分容易構(gòu)造的目標(biāo)檢測算法。 其將目標(biāo)區(qū)域預(yù)測和目標(biāo)類別預(yù)測整合于單個(gè)神經(jīng)網(wǎng)絡(luò)模型中,可在準(zhǔn)確率較高的情況下實(shí)現(xiàn)快速目標(biāo)檢測[9],適合泊車機(jī)器人的應(yīng)用環(huán)境。 YOLO卷積網(wǎng)絡(luò)模型共有24個(gè)卷積層和2個(gè)全連接層。 其中,卷積層用來提取圖像特征,全連接層用來預(yù)測圖像位置和類別概率值。 YOLO卷積神經(jīng)網(wǎng)絡(luò)采用PASCAL VOC數(shù)據(jù)訓(xùn)練卷積層[10-11],然后利用卷積層和全連接構(gòu)成RPN(Region Proposal Network)實(shí)現(xiàn)目標(biāo)類別和物體位置預(yù)測[12]。
YOLO目標(biāo)檢測算法:首先把輸入圖像劃分成S×S的格子,然后對(duì)每個(gè)格子預(yù)測B個(gè)檢測框(bounding boxes),每個(gè)檢測框包含5個(gè)預(yù)測值:x,y,w,h和置信度(confidence)。 其中,x和y是檢測框的中心坐標(biāo);w和h是檢測框的寬與高,每個(gè)格子預(yù)測C個(gè)假定類別的概率,最后輸出特征圖,其大小為S×S×(B×5+C)。
4.2 立體匹配
由于泊車機(jī)器人在弱光照條件下工作,且需對(duì)誤進(jìn)的具有邊緣光滑的障礙物,如人、貓和狗等進(jìn)行檢測,故需要設(shè)計(jì)一種滿足泊車機(jī)器人要求的立體匹配算法。 在對(duì)比分析傳統(tǒng)的立體匹配算法與邊緣檢測算法的基礎(chǔ)上,選擇具有對(duì)噪聲不敏感,能夠完成對(duì)弱邊緣的檢測且精度較高的Canny算子,和簡化后的具有光照不變性的SURF算法相結(jié)合的方式,完成本文算法設(shè)計(jì)。 改進(jìn)的立體匹配算法流程如圖3所示。
4.3 深度計(jì)算
通過視差圖和標(biāo)定參數(shù),將左右成像平面上的成像點(diǎn)轉(zhuǎn)化到3D空間,可求得障礙物目標(biāo)點(diǎn)的真實(shí)距離。 重投影矩陣Q的表達(dá)式如下所示:
5 實(shí)驗(yàn)結(jié)果與分析
為了驗(yàn)證系統(tǒng)的實(shí)時(shí)性與準(zhǔn)確性,以目標(biāo)障礙物在同一車庫環(huán)境的不同距離情況下進(jìn)行檢測。 首先把左相機(jī)圖像輸入YOLO卷積神經(jīng)網(wǎng)絡(luò),確定立體匹配區(qū)域,然后采用本文立體匹配算法完成立體匹配(如圖4所示),計(jì)算最大視差,最后利用雙目相機(jī)標(biāo)定參數(shù)(見表1)和三角形相似原理,計(jì)算出目標(biāo)區(qū)域中最小的實(shí)際距離。 系統(tǒng)輸出的障礙物類別檢測及深度信息如圖5所示。
通過8組實(shí)驗(yàn)結(jié)果可知,該系統(tǒng)在1 400 mm~2 100 mm距離內(nèi)測距誤差在50 mm內(nèi),系統(tǒng)平均耗時(shí)0.463 s,可滿足泊車機(jī)器人對(duì)障礙物檢測的實(shí)時(shí)性與精度要求,系統(tǒng)性能分析見表2。
6 結(jié)束語
針對(duì)目前搭載激光傳感器的泊車機(jī)器人成本高、技術(shù)難度大,本文搭建了基于雙目視覺的泊車機(jī)器人障礙物檢測系統(tǒng),采用控制變量法完成雙目標(biāo)定以得到較高精度的焦距,利用改進(jìn)立體匹配算法完成立體匹配,引入YOLO卷積神經(jīng)網(wǎng)絡(luò)完成障礙物類別檢測,最終輸出障礙物的類別和距離。 由于國內(nèi)外相關(guān)研究較少,智能車庫環(huán)境下的檢測算法不成熟,硬件成本高,如何制造出低成本、高效率的經(jīng)濟(jì)型泊車機(jī)器人將是未來研究的重點(diǎn)和難點(diǎn)。
參考文獻(xiàn)
[1] 徐欣, 周香琴, 江先志,等. 基于物聯(lián)網(wǎng)技術(shù)的小區(qū)停車位共享平臺(tái)的設(shè)計(jì)與開發(fā)[J]. 工業(yè)控制計(jì)算機(jī), 2018, 31(1):139-141.
[2]申愛萍. 揭開"最牛泊車機(jī)器人"的神秘面紗[J]. 駕駛園, 2017 (9):42-43.
[3]劉爽. 基于二維碼識(shí)別的自動(dòng)泊車機(jī)器人定位導(dǎo)航技術(shù)研究[D]. 武漢:華中科技大學(xué), 2017.
[4]研華科技.怡豐機(jī)器人攜手研華:以技術(shù)力量, 擴(kuò)展AGV市場應(yīng)用[J]. 自動(dòng)化博覽, 2018, 35(8):76-77.
[5]魏言華. 基于視覺的車輛后方障礙物檢測算法研究與實(shí)現(xiàn)[D]. 沈陽:東北大學(xué), 2008.
[6]謝若冰. 雙目立體成像和顯示的FPGA視頻處理技術(shù)研究[D]. 北京:北京理工大學(xué), 2015.
[7]葉峰, 王敏, 陳劍東,等. 共面點(diǎn)的攝像機(jī)非線性畸變校正[J]. 光學(xué)精密工程, 2015, 23(10):2962-2970.
[8]Shubham Shinde, Ashwin Kothari, Vikram Gupta. YOLO based Human Action Recognition and Localization[J]. Procedia Computer Science, 2018, 20(3):133-134.
[9]王昊. 基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測與識(shí)別方法研究[D]. 南京:南京財(cái)經(jīng)大學(xué), 2016.
[10]施澤浩, 趙啟軍. 基于全卷積網(wǎng)絡(luò)的目標(biāo)檢測算法[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2018, 28(5):55-58.
[11]楊梓豪. 基于區(qū)域卷積神經(jīng)網(wǎng)絡(luò)的物體識(shí)別算法研究[D]. 北京:北京郵電大學(xué), 2017.
[12]李旭冬. 基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測若干問題研究[D]. 成都:電子科技大學(xué), 2017.