徐鵬飛,周燕云,刁鵬程,夏樂天
基于交通標識識別的自動巡線小車設(shè)計與實現(xiàn)
徐鵬飛,周燕云,刁鵬程,夏樂天
(新疆大學 信息科學與工程學院,新疆 烏魯木齊 830046)
設(shè)計并實現(xiàn)了一種基于交通標識識別的自動巡線智能車,通過搭建神經(jīng)網(wǎng)絡的圖像處理模型和車載圖像處理技術(shù)來識別路徑上的交通標識和路徑信息,得出識別的結(jié)果并做出相應控制。詳細介紹了智能車的系統(tǒng)硬件組成、深度學習模型的建立、所需數(shù)據(jù)的采集方法以及模型訓練的方法、實驗結(jié)果與分析。結(jié)果表明,設(shè)計能夠滿足小車自動巡線過程中的交通標識識別,并滿足了便攜性、準確性、快速性等要求。
深度學習;交通標識識別;樹莓派;自動巡線
無人駕駛是當今全球汽車與交通出行領(lǐng)域智能化和物聯(lián)網(wǎng)技術(shù)發(fā)展的主要方向,是與人工智能、物聯(lián)網(wǎng)等新一代信息技術(shù)深度融合的產(chǎn)物。近年來,隨著深度學習漸漸成為人工智能最熱門的領(lǐng)域之一,越來越多的人嘗試將深度學習加入到車輛控制算法里。當前主流自動駕駛公司都采用了機器學習與人工智能算法來實現(xiàn),利用傳感器、V2X設(shè)施、高精度地圖信息獲取數(shù)據(jù),收集駕駛者的駕駛行為、駕駛經(jīng)驗等信息,并根據(jù)周邊的環(huán)境數(shù)據(jù)信息不斷優(yōu)化算法,最終設(shè)定和規(guī)劃路線,操作汽車實現(xiàn)無人駕駛[1-5]。
目前針對特定路徑的巡線小車技術(shù)已經(jīng)趨于完善,大部分的自動巡線小車都會使用攝像頭、電磁等傳感器來直接獲取路徑信息,從而實現(xiàn)巡線的功能[6-8]。但僅僅依靠傳感器的話,有很大的局限性,環(huán)境改變之后很難繼續(xù)做出正確的判斷。另一方面,交通標識識別系統(tǒng)普遍是搭載在電腦上直接識別照片來實現(xiàn)的,缺乏便攜性,無法做到在移動的過程中識別[9-10]。本系統(tǒng)主要基于深度學習模型,通過遷移訓練來訓練環(huán)境識別模型,以此來識別道路環(huán)境,并實現(xiàn)小車的自動巡線功能。本系統(tǒng)實現(xiàn)了一個小型的人工智能系統(tǒng),識別功能的實現(xiàn)得益于目前熱門的人工智能技術(shù),具有良好的拓展性和可實現(xiàn)性。
本系統(tǒng)通過對小車模型的搭建和調(diào)試,控制小車采集大量圖像數(shù)據(jù),采用神經(jīng)網(wǎng)絡軟件庫tensorflow對大量有標簽的樣本圖像進行訓練,獲得訓練好的模型。樹莓派通過GPIO口輸出高低電平信號給電機驅(qū)動板,從而控制電機工作。小車的控制信號是由picamera相機采集的實時圖像感知當前道路、車輛位置、交通燈和交通標識等信息,經(jīng)神經(jīng)網(wǎng)絡模型分析所得出的最大可能控制信息,實現(xiàn)被控制小車的行進、轉(zhuǎn)向、減速和停車,從而模擬無人駕駛車輛能夠安全、可靠的在道路行駛。本系統(tǒng)的工作流程如圖1所示。
圖1 本系統(tǒng)工作流程
本系統(tǒng)采用樹莓派4代B型。樹莓派4B的內(nèi)核基于ARM7架構(gòu)設(shè)計,擁有40個GPIO口、4個USB2.0接口、HDMI高清視頻輸出口以及1個千兆以太網(wǎng)接口,可以連接鼠標、鍵盤、顯示器和網(wǎng)線,并擁有15針頭MIPI相機(CSI)界面。使用MicroSD作為存儲硬盤搭載1.5 GHz 4核64位ARM Cortex-A72 CPU,支持Linux操作系統(tǒng)。該型微型電腦主板可滿足本系統(tǒng)設(shè)計所需硬件和軟件的要求,4核處理器滿足了模型車控制和樹莓派相機視頻流圖像采集同步進行的多線程處理任務。
本系統(tǒng)相機選用樹莓派官方攝像頭picamera,感光芯片為OV5647,擁有可以捕捉3 280×2 464像素靜態(tài)圖片和30FPS 1080P視頻的定焦鏡頭,也擁有強大的高清攝像功能,可提供本系統(tǒng)所需的高幀率和高分辨率。樹莓派攝像頭使用專門設(shè)計的CSI接口與樹莓派相連接。通過將樹莓派安裝在小車上來連接攝像頭。
為了使得相機工作時能夠采集到大部分路面的圖像。本系統(tǒng)選用的模型車的安裝角度與地面呈60°,高度為19 cm,在圖像采集過程中能夠保證采集到的數(shù)據(jù)為有效數(shù)據(jù),以便為之后的神經(jīng)網(wǎng)絡模型訓練提供更優(yōu)的數(shù)據(jù)集。
樹莓派沒有硬件PWM輸出,只能使用GPIO來模擬PWM輸出,所以輸出的PWM十分不穩(wěn)定,常會出現(xiàn)抖動的情況。所以本系統(tǒng)使用16路舵機驅(qū)動模塊PCA9685,此舵機驅(qū)動板使用PCA9685芯片,PCA9685是NXP推出的一款16通道12精度PWM輸出的芯片,用2個引腳通過I2C就可以驅(qū)動16個舵機,且輸出信號十分穩(wěn)定,滿足小車運行過程中對于穩(wěn)定PWM輸出的需求。PCA9685模塊電路圖如圖2。
圖2 PCA9685模塊電路原理圖
樹莓派每個引腳的最大輸出電流為16 mA,且同一時刻所有引腳的總輸出電流不超過51 mA,僅靠樹莓派的GPIO是不能驅(qū)動雙電機運行的,所以本系統(tǒng)使用L298N電機驅(qū)動板。L298N可驅(qū)動直流電機和步進電機,具有過熱自斷和反饋檢測功能。驅(qū)動板可通過主控芯片的I/O輸入對其控制電平進行設(shè)定,以此直接控制電機進行正轉(zhuǎn)反轉(zhuǎn)驅(qū)動,具有良好的可操作性和穩(wěn)定性,并且滿足直流電機的大電流驅(qū)動條件,圖3為L298N電機驅(qū)動板電路原理圖。
圖3 L298N電機驅(qū)動板電路原理圖
本系統(tǒng)需要2個電源分別給樹莓派和電機驅(qū)動板供電。為節(jié)約成本,為樹莓派供電的電源為20 000 mAh的充電寶,該充電寶通過樹莓派的Type-C接口連接,可以穩(wěn)定提供5 V/2.4 A的直流電,滿足樹莓派的供電要求。本系統(tǒng)驅(qū)動電機的電源為7.4 V,2 000 mAh的鋰電池,該鋰電池與電機驅(qū)動板L298N連接,通過L298N輸出穩(wěn)定的電流驅(qū)動電機轉(zhuǎn)動。
在已調(diào)試好的小車模型上,裝載各個硬件功能模塊。將樹莓派用銅柱固定在小車中部靠后的位置,樹莓派電源置于下方。將L298N通過熱熔膠固定在電機的上方,鋰電池用扎帶固定在后輪后上方,PAC9685放在攝像頭固定桿下方,模塊的引腳與樹莓派之間使用杜邦線連接。平臺如圖4所示。
圖4 小車平臺搭建完成圖
本系統(tǒng)的模型訓練需要大量的圖像數(shù)據(jù),網(wǎng)上的數(shù)據(jù)集與小車實際運行的環(huán)境不同,所以需要小車在實際運行的跑道上采集大量的圖像。PC端通過VNC與樹莓派連接,將樹莓派的相機端口設(shè)定為Enable狀態(tài),此時要注意插入攝像頭時要關(guān)閉樹莓派電源,否則熱插情況下會導致攝像頭模塊燒壞。要采集大量的路徑圖像數(shù)據(jù),有很多種方法,可以直接拍攝大量的照片,或者提前錄好視頻,然后后期在電腦上隔幀處理并添加標簽等,但這些方案都很繁瑣,需要耗費大量的時間與精力。采集圖像也可以使用pygame庫,pygame可以獲取鍵盤的值,這樣就可以通過電腦鍵盤控制小車的移動,并使用多線程采集圖像,在控制小車行進的過程中采集圖像并添加標簽。本系統(tǒng)攝像頭采集圖像流程如圖5所示。
圖5 圖像采集流程
本系統(tǒng)采用直接拍攝視頻流的方法,由于樹莓派的性能有限,將圖像的分辨率設(shè)置為160×120,視頻流設(shè)置為15幀/s,依次輸出每一幀圖片并保存到樹莓派上。本系統(tǒng)圖像分類共有62種交通標識,每種都有不同數(shù)量的訓練照片,訓練的圖片和送入網(wǎng)絡中的圖片有所不同,需要經(jīng)過灰度和歸一化處理送入神經(jīng)網(wǎng)絡。通過控制小車在實驗室的賽道上采集得到數(shù)據(jù)集,經(jīng)過多輪采集,共采集了約50 000張圖片,不同道路場景下部分數(shù)據(jù)集樣本如圖6所示。
圖6 不同道路場景下部分數(shù)據(jù)集樣本
經(jīng)過訓練,小車可識別一些基本的交通標志,如直行、左轉(zhuǎn)、右轉(zhuǎn)等,如圖7所示。
圖7 基本交通標志
采集圖像時燈光照射的不同也會造成采集圖像質(zhì)量的差異,在采集時要讓小車速度盡量低,否則會造成采集到的圖像模糊。圖像采集過后,需要使用軟件WinScp將樹莓派和電腦連接起來,將樹莓派采集的圖片批量傳輸?shù)诫娔X上,進行手動篩選,將一些標簽界限模糊的圖片刪去,以免造成樹莓派識別的誤判。
本系統(tǒng)使用神經(jīng)網(wǎng)絡。Lenet-5總共有7層。分別是2個卷積層、2個池化層、3個全連接層,最后1個全連接層為輸出層。首先,輸入是1幅32×32的圖像,用6個5×5×1的卷積核進行卷積,生成6個28×28的卷積特征圖;然后,這6個特征圖通過2×2合并被提取,成為14×14的6個特征圖,從而完成第一次卷積合并操作;下一步,將6個14×14的特征圖與16個5×5×6的卷積核進行卷積,生成16個10×10的卷積特征圖;接著將匯集的16張5×5特征圖進行一次卷積,把120張5×5特征圖與120張5×5特征圖進行卷積,得到120張1×1特征圖。最后就是1個120輸入84輸出的全連接層和1個84輸入62輸出的輸出層,總參數(shù)大約為6萬個,網(wǎng)絡結(jié)構(gòu)如圖8所示。
圖8 網(wǎng)絡結(jié)構(gòu)圖
裝載在小車平臺上的樹莓派通過GPIO口輸出高低電平信號給電機驅(qū)動板和舵機驅(qū)動板,驅(qū)動板接收控制信號從而使得輸出端口控制雙電機和舵機工作。樹莓派給出的控制信號包括前進、左轉(zhuǎn)、右轉(zhuǎn)、減速、停車,控制信號是由picamera相機采集的實時圖像經(jīng)神經(jīng)網(wǎng)絡模型分析所得出最大可能的控制信息,從而實現(xiàn)控制小車自動巡線[12-14]。
電機驅(qū)動控制設(shè)計中,系統(tǒng)以設(shè)置GPIO引腳編號的模式為BOARD編碼方式,使用樹莓派的29、31、33、35端口提供給電機高低電平信號。
舵機驅(qū)動控制直接使用PAC9685舵機控制板輸出PWM信號,提供給舵機控制小車左右轉(zhuǎn)及回正。
利用樹莓派攝像頭采集數(shù)據(jù)集的研究,通過對攝像頭的使用、多線程圖像處理任務、圖像采集過程以及樣本分析的敘述,詳細地了解小車平臺上采集數(shù)據(jù)集的流程,并為數(shù)據(jù)集采集出現(xiàn)的光線、環(huán)境、技巧等方面提供實踐經(jīng)驗。使用picamera,在python環(huán)境里調(diào)用opencv庫,在循環(huán)里進行圖像采集,在進行壓縮處理時,將壓縮后的圖像轉(zhuǎn)換為字節(jié)型的數(shù)據(jù)以便神經(jīng)網(wǎng)絡模型的下一步處理。
對神經(jīng)網(wǎng)絡的研究與搭建,本系統(tǒng)利用Tensorflow庫Inception-V3作為已經(jīng)訓練好的模型,通過遷移學習實現(xiàn)了神經(jīng)網(wǎng)絡模型的搭建及訓練,詳細分析了神經(jīng)網(wǎng)絡節(jié)點、節(jié)點計算、樣本導入、網(wǎng)絡搭建流程、卷積過程、訓練過程等具體實現(xiàn)過程[15-16]。圖像處理需要先加載訓練好的深度學習模型,圖像識別函數(shù)可獲取圖像的字節(jié)型數(shù)據(jù),經(jīng)處理得出最大概率的識別結(jié)果并返回。
經(jīng)過多次采集圖像以及訓練模型,小車基于訓練好的模型,通過獲取實時圖像可以得到當前環(huán)境最大可能預測值。在賽道上可以實現(xiàn)基本的識別直行、左轉(zhuǎn)、右轉(zhuǎn)以及紅燈停車。
小車運行過程中輸出的識別結(jié)果如圖9所示,小車在直道上識別到直行標志并前進如圖10所示,小車識別到右轉(zhuǎn)且正確做出判斷如圖11所示。實驗結(jié)果顯示,小車可實現(xiàn)基礎(chǔ)行駛功能,具有一定的實用性。
圖9 小車運行中輸出識別結(jié)果
圖10 小車在直道上行駛
圖11 小車正確做出右轉(zhuǎn)判斷
本系統(tǒng)利用LeNet-5訓練模型,通過遷移訓練,訓練出適應自己識別環(huán)境的神經(jīng)網(wǎng)絡pb模型,訓練的準確率很高,準確率基本都達到95%以上,如圖12所示。
圖12 訓練模型的準確率
從目前的實驗效果來看,本文設(shè)計實現(xiàn)的小車系統(tǒng)能較好地完成交通標識識別和自主巡線功能,該系統(tǒng)平臺具有一定的實用性、可移植性和可擴展性,為今后的研究提供了良好的建議。
[1] 劉回春. 自動駕駛智能網(wǎng)聯(lián)汽車頻頻亮相[J]. 中國質(zhì)量萬里行, 2019(10): 94-95.
[2] 孫志軍, 薛磊, 許陽明, 等. 深度學習研究綜述[J]. 計算機應用研究, 2012, 29(8): 2806-2810.
[3] 尹寶才, 王文通, 王立春. 深度學習研究綜述[J]. 北京工業(yè)大學學報, 2015, 41(1): 48-59.
[4] 葉綠, 朱家懿, 段婷. 基于深度學習的行駛視覺圖像分割模型設(shè)計[J]. 實驗室研究與探索, 2020, 39(10): 88-92.
[5] 倪志平, 覃溪. 基于駕駛行為識別的車載交通信息數(shù)據(jù)實時發(fā)布系統(tǒng)[J]. 科學技術(shù)與工程, 2018, 18(8): 255-259.
[6] 李樹德, 黃頌, 劉彩霞, 等. 基于TC264單片機的智能無人小車設(shè)計[J]. 桂林航天工業(yè)學院學報, 2021, 26(4): 435-440.
[7] 韓團軍. 基于STM32RCT6的無線地面智能排障小車的設(shè)計[J]. 實驗技術(shù)與管理, 2018, 35(6): 151-155.
[8] 孫藝銘, 林雨, 范佩升, 等. 基于BP神經(jīng)網(wǎng)絡的智能車電磁導航控制算法[J]. 科學技術(shù)創(chuàng)新, 2020(25): 103-105.
[9] 張夏宜, 劉富強, 李志鵬. 車載視覺導航系統(tǒng)中的交通標志識別技術(shù)[J]. 上海汽車, 2009(1): 33-36.
[10] 羅鈞, 李志學, 龔燕峰. 基于AM5749的交通標志智能識別系統(tǒng)實驗設(shè)計[J].實驗技術(shù)與管理, 2021, 38(8): 65-70.
[11] 周飛燕, 金林鵬, 董軍. 卷積神經(jīng)網(wǎng)絡研究綜述[J]. 計算機學報, 2017, 40(6): 1229-1251.
[12] 張錚, 范若怡, 宮若寧, 等. 基于圖像處理的智能小車無線遠程滅火[J]. 實驗室研究與探索, 2018, 37(1): 33-37.
[13] 王加安, 戴鵬, 蔣波文. 基于TC264的智能小車控制系統(tǒng)[J]. 電子制作, 2021(18): 7-9.
[14] 曹建平, 丁坦, 楊輝. 基于STM32的WIFI控制金屬探測小車系統(tǒng)設(shè)計[J]. 實驗室研究與探索, 2020, 39(9): 79-83.
[15] 劉培軍, 馬明棟, 王得玉. 基于OpencV圖像處理系統(tǒng)的開發(fā)與實現(xiàn)[J]. 計算機技術(shù)與發(fā)展, 2019, 29(3):127-131.
[16] 單慧琳, 洪智毅, 張銀勝, 等. 基于深度學習的景點圖像識別[J]. 實驗室研究與探索, 2022, 41(5): 12-17.
Design and Implementation of Automatic Line Patrol Trolley Based on Traffic Sign Recognition
XU Peng-fei, ZHOU Yan-yun, DIAO Peng-cheng, XIA Le-tian
( School of Information Science and Engineering, Xinjiang University, Xinjiang Urumqi, 830046, China)
This paper designs and implements an automatic patrol intelligent vehicle based on traffic sign recognition, which identifies traffic signs and path information by building an image processing model of neural network and on-board image processing technology, derives the recognition results and makes corresponding control. The system hardware composition of the intelligent vehicle, the establishment of the deep learning model, the method of collecting the required data and the method of model training, the experimental results and analysis are described in detail. The results show that the design can meet the traffic sign recognition in the automatic cart patrol process and satisfy the requirements of portability, accuracy and speed.
deep learning; traffic sign recognition; raspberry Pi; automatic patrol intelligent vehicle
10.15916/j.issn1674-3261.2023.02.007
G642.0;TN710
A
1674-3261(2023)02-0108-05
2022-10-03
新疆大學實驗室管理與實踐研究項目(2023年)
徐鵬飛(2000-),男,河南商丘人,本科生。
周燕云(1986-),女,新疆烏魯木齊人,實驗師,碩士。
責任編輯:孫 林