耿韶光

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