耿韶光
摘要:近年來(lái),深度學(xué)習(xí)憑借其在識(shí)別應(yīng)用中超高的預(yù)測(cè)準(zhǔn)確率,在圖像處理領(lǐng)域獲得了極大關(guān)注,這勢(shì)必提升現(xiàn)有圖像處理系統(tǒng)的性能并開(kāi)創(chuàng)新的應(yīng)用領(lǐng)域。本文在充分研究深度學(xué)習(xí)常用模型和技術(shù)框架等最新熱點(diǎn)前提下,基于樹(shù)莓派、Arduino這兩種嵌入式設(shè)備,設(shè)計(jì)了一款實(shí)現(xiàn)物體識(shí)別與追蹤的智能小車(chē)機(jī)器人。該智能小車(chē)通過(guò)搭載在智能小車(chē)上的攝像頭采集數(shù)據(jù),利用計(jì)算機(jī)視覺(jué)的目標(biāo)識(shí)別與追蹤模型計(jì)算出被跟蹤物體的位置信息,在目標(biāo)物體移動(dòng)的過(guò)程中,通過(guò)嵌入式設(shè)備分析位置數(shù)據(jù)計(jì)算出控制命令來(lái)操控智能小車(chē)實(shí)現(xiàn)目標(biāo)跟蹤。
關(guān)鍵詞:樹(shù)莓派;Arduino;深度學(xué)習(xí);目標(biāo)跟蹤
中圖分類(lèi)號(hào):TP23 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2020)05-0161-02
0引言
視頻目標(biāo)跟蹤是計(jì)算機(jī)視覺(jué)領(lǐng)域的重要研究方向之一,它在智能視頻監(jiān)控、人機(jī)交互等領(lǐng)域有廣泛應(yīng)用。隨著深度學(xué)習(xí)方法的發(fā)展,視頻目標(biāo)跟蹤變得越來(lái)越精準(zhǔn)。樹(shù)莓派是一款具備高級(jí)功能的嵌入式主板,Arduino是一款便捷的嵌入式開(kāi)發(fā)工具,可做實(shí)時(shí)信號(hào)采集和控制。然而樹(shù)莓派硬件擴(kuò)展能力差,Arduino沒(méi)有強(qiáng)大的處理能力。當(dāng)二者結(jié)合起來(lái)使用時(shí),各自的特性便具有互補(bǔ)性。本文中的智能小車(chē)?yán)蒙疃壬窠?jīng)網(wǎng)絡(luò)模型計(jì)算出被跟蹤物體的位置信息,用樹(shù)莓派與Arduino控制小車(chē)跟隨目標(biāo)物體的移動(dòng)而運(yùn)動(dòng)。
1智能小車(chē)總體架構(gòu)設(shè)計(jì)
具體來(lái)講系統(tǒng)分為移動(dòng)小車(chē)、圖像采集模塊,數(shù)據(jù)計(jì)算模塊、邏輯總控模塊、機(jī)械總控模塊這5個(gè)部分構(gòu)成。
移動(dòng)小車(chē)是智能小車(chē)中最為基礎(chǔ)的組成結(jié)構(gòu),它相當(dāng)于人的身體雙腳。圖像采集模塊相當(dāng)于人體的視覺(jué)系統(tǒng),利用小車(chē)上的攝像頭采負(fù)責(zé)集信息,這部分選用樹(shù)莓派廣角攝像頭。數(shù)據(jù)計(jì)算模塊相當(dāng)于輔助人腦決策的計(jì)算設(shè)備,負(fù)責(zé)深度模型訓(xùn)練與分析,該模塊選用高性能計(jì)算機(jī)。邏輯總控模塊相當(dāng)于人的大腦,將模型分析的結(jié)果轉(zhuǎn)化為控制信號(hào),該模塊選用樹(shù)莓派。機(jī)械總控模塊相當(dāng)于人的運(yùn)行神經(jīng),以驅(qū)動(dòng)小車(chē)的電機(jī)和舵機(jī)改變速度或轉(zhuǎn)向,最終實(shí)現(xiàn)對(duì)目標(biāo)的識(shí)別與跟蹤功能,該模塊選用Arduino。
2基于深度學(xué)習(xí)的視頻目標(biāo)識(shí)別與跟蹤
2.1目標(biāo)檢測(cè)
本系統(tǒng)主要研究的是單目標(biāo)檢測(cè),即只針對(duì)某一指定物體進(jìn)行檢測(cè)處理,本次實(shí)驗(yàn)將普通乒乓球作為目標(biāo)物。選取的深度算法為目前非常流行的目標(biāo)檢測(cè)算-Yolo。Yolo的輸入是包含目標(biāo)物體的圖片,輸出是目標(biāo)物及可信度得分。如圖1所示,Yolo采用卷積網(wǎng)絡(luò)來(lái)提取特征,然后使用全連接層來(lái)得到預(yù)測(cè)值。
在使用Yolo算法之前,首先需要獲得目標(biāo)物體的數(shù)據(jù)集。數(shù)據(jù)集既可以在已公開(kāi)數(shù)據(jù)集中尋找,也可以自行制作。自行制作的方法是通過(guò)opencvN用攝像頭拍攝目標(biāo)物。使用labelimg數(shù)據(jù)集標(biāo)注工具標(biāo)注目標(biāo)對(duì)象,再生成標(biāo)注信息文本文件。
2.2距離檢測(cè)
本系統(tǒng)不需要獲取車(chē)體與目標(biāo)物之間的精確距離,我們采用了估算方法。用矩形框?qū)⒆R(shí)別出視頻中的目標(biāo)物標(biāo)注出來(lái),當(dāng)攝像頭與目標(biāo)物距離發(fā)生變化時(shí)候,矩形框的大小也隨之發(fā)生變化。目標(biāo)物距離攝像頭越遠(yuǎn),矩形框面積變小,反之,矩形框面積變大。
2.3目標(biāo)跟蹤
目標(biāo)跟蹤是在分析目標(biāo)檢測(cè)結(jié)果之上,根據(jù)位置信息自動(dòng)控制調(diào)整智能小車(chē)的運(yùn)動(dòng),使其能跟蹤目。為持續(xù)穩(wěn)定的跟蹤目標(biāo),規(guī)定智能小車(chē)與目標(biāo)物體的距離為0.2米。其算法是:當(dāng)目標(biāo)在智能小車(chē)的前方約0.2m時(shí),使用樹(shù)莓派獲取目標(biāo)框面Nsl和位置(X,y),考慮到行進(jìn)過(guò)程中的多種干擾因素,當(dāng)目標(biāo)框面積在(s1+sO,s1-s0)的范圍內(nèi),位置在(x-X0,y-y0)與(X+XO,y+yO)的范圍內(nèi),認(rèn)為目標(biāo)沒(méi)有移動(dòng)。一旦超出這個(gè)范圍,樹(shù)莓派要根據(jù)目標(biāo)位置信息計(jì)算出小車(chē)的運(yùn)動(dòng)數(shù)據(jù),并向Arduino發(fā)送控制信號(hào),控制小車(chē)與目標(biāo)物終保持O.2米的距離。
3結(jié)語(yǔ)
本文在對(duì)基于深度學(xué)習(xí)的目標(biāo)識(shí)別與跟蹤的理論研究基礎(chǔ)上,設(shè)計(jì)了一個(gè)目標(biāo)追蹤智能小車(chē)系統(tǒng),可以實(shí)現(xiàn)針對(duì)單個(gè)特定目標(biāo)進(jìn)行智能跟蹤。在測(cè)試環(huán)境下該智能小車(chē)能很好地自動(dòng)跟蹤特定目標(biāo),達(dá)到了預(yù)期效果。但本文算法在光線(xiàn)不足和遮擋的問(wèn)題上表現(xiàn)效果一般,此外還需借助高性能計(jì)算機(jī)來(lái)計(jì)算目標(biāo)位置數(shù)據(jù),下一步的研究重點(diǎn)是簡(jiǎn)化智能小車(chē)結(jié)構(gòu),選取更加適應(yīng)視覺(jué)跟蹤任務(wù)的深度神經(jīng)網(wǎng)絡(luò)。