孔浩冉
(山東師范大學(xué)信息科學(xué)與工程學(xué)院,山東 濟(jì)南 250399)
隨著人們生活水平的提高以及城市機(jī)動化發(fā)展,以自行車為代表的非機(jī)動車數(shù)量急劇增加,各種停放問題也隨之而來。大學(xué)校園是特殊的公共場所,由于許多大學(xué)校園面積很大,功能區(qū)分散,校內(nèi)通勤不便[1],再加上非機(jī)動車具有方便、快捷等特點(diǎn),因此,許多學(xué)生選擇將非機(jī)動車作為代步工具,并且對于大部分學(xué)生而言,購買非機(jī)動車大都在經(jīng)濟(jì)上可以承受,受到周圍同學(xué)的影響以及自身的需求[2],大學(xué)校園內(nèi)非機(jī)動車的數(shù)量大幅增加。隨著校園非機(jī)動車數(shù)量的增加,非機(jī)動車亂停亂放的現(xiàn)象越來越明顯,這不僅影響了道路交通,還影響了校園美觀。宿舍和教學(xué)樓是高校學(xué)生的主要活動地,導(dǎo)致這些地方的非機(jī)動車停放尤為不規(guī)范,在占用道路的同時也給師生的生活帶來了不便,甚至同學(xué)之間因此發(fā)生過一些矛盾。由于非機(jī)動車亂停的范圍較大,時間較分散,并且數(shù)量極多,如果安排校園管理人員去規(guī)范每輛非機(jī)動車的停放,不僅需要大量的人力物力,而且取得的效果也不理想,甚至部分學(xué)校也沒有這方面的管理人員。
因此,為了更好地解決大學(xué)校園非機(jī)動車的亂停亂放問題,構(gòu)建美麗校園,改善非機(jī)動車亂泊給師生帶來的不便,本文提出了基于深度學(xué)習(xí)的大學(xué)校園非機(jī)動車亂泊監(jiān)測系統(tǒng),來幫助解決大學(xué)校園的非機(jī)動車亂泊問題。
本文針對校園非機(jī)動車停放的管理,提取出兩類用戶:非機(jī)動車駕駛員以及校園管理人員。由于存在著非機(jī)動車亂停的范圍較大,時間較分散,并且數(shù)量極多的問題,導(dǎo)致校園管理人員無法有效對非機(jī)動車亂泊進(jìn)行實(shí)時地管理與監(jiān)測;對于非機(jī)動車駕駛員來說,往往由于時間匆忙或者不清楚學(xué)校非機(jī)動車的停放管理制度,從而將非機(jī)動車亂停亂放,他們需要在違規(guī)停放非機(jī)動車時收到實(shí)時的提醒。
本系統(tǒng)結(jié)合YOLOv3算法的圖像識別技術(shù)以及性能強(qiáng)大的嵌入式設(shè)備NVIDIA Jetson TX2,對校園里停放的非機(jī)動車進(jìn)行實(shí)時地監(jiān)測,一旦發(fā)現(xiàn)非機(jī)動車停放在了違禁地段,便通過NVIDIA Jetson TX2上的蜂鳴器發(fā)出警報,從而提醒駕駛員將非機(jī)動車移走。
本系統(tǒng)的工作流程是:預(yù)先將道路口、宿舍樓門前等相關(guān)地段設(shè)為違禁停車區(qū)域,并在這些區(qū)域安裝高清攝像頭,利用攝像頭實(shí)時獲取非機(jī)動車的停放狀況,NVIDIA Jetson TX2通過USB口連接攝像機(jī),并基于YOLOv3算法對在違禁區(qū)域停放的非機(jī)動車進(jìn)行識別,當(dāng)監(jiān)測到有非機(jī)動車停放時,嵌入式設(shè)備上的蜂鳴器便會及時發(fā)出警報,提醒駕駛員將違規(guī)停放的非機(jī)動車移走,從而保證道路的暢通無阻。系統(tǒng)工作流程圖如圖1所示。
圖1 系統(tǒng)工作流程圖
本文將研究并實(shí)現(xiàn)深度學(xué)習(xí)的大學(xué)校園非機(jī)動車亂泊監(jiān)測系統(tǒng),算法上選擇的是卷積神經(jīng)網(wǎng)絡(luò)YOLOv3算法以及Darknet框架,硬件部分?jǐn)M采用嵌入式設(shè)備NVIDIA Jetson TX2,通過對數(shù)據(jù)集的訓(xùn)練與測試,實(shí)現(xiàn)對違禁停車區(qū)域非機(jī)動車的精準(zhǔn)識別以及對非機(jī)動車駕駛員的實(shí)時提醒。
早期的目標(biāo)識別一般利用人工設(shè)計(jì)的圖像特征進(jìn)行目標(biāo)的檢測以及識別,但當(dāng)產(chǎn)生遮擋或目標(biāo)體型較小時,傳統(tǒng)的目標(biāo)識別方法便很難提取特征,因此很難用于對校園非機(jī)動車的實(shí)時監(jiān)測。2015年,Redmon等人[3]提出YOLO系列算法,在很大程度上提高了算法的檢測速度[4]。Liu等人[5]提出的SSD(Single Shot MultiBox Detector)算法,通過多尺度方法進(jìn)一步提高了檢測的精確度。YOLOv3[6]算法屬于YOLO系列算法,并且相比于其他算法,YOLOv3算法具有速度快、精度高的特點(diǎn)。因此本系統(tǒng)使用YOLOv3算法實(shí)現(xiàn)對校園非機(jī)動車的實(shí)時監(jiān)測。
YOLOv3算法使用的網(wǎng)絡(luò)結(jié)構(gòu)是DarkNet-53,由卷積模塊和殘差模塊兩部分組成。DarkNet-53參考了ResNet的思想,將殘差模塊加入到了網(wǎng)絡(luò)結(jié)構(gòu)中,解決了深層網(wǎng)絡(luò)的梯度問題,方便構(gòu)建更深層次的網(wǎng)絡(luò)。DarkNet-53通過將卷積的Stride設(shè)為2來完成網(wǎng)絡(luò)的下采樣,而沒有池化層和全連接層。卷積層的實(shí)現(xiàn)需要Conv、BN以及Leaky_relu,殘差模塊之后還需要加上Zero Padding。YOLOv3算法還具有可以檢測更加細(xì)粒度特征的優(yōu)點(diǎn),這是因?yàn)樗褂?個不同尺度的特征圖去檢測目標(biāo),因此檢測精度較高。
YOLOv3算法通過K-means聚類為每種下采樣尺度設(shè)定了3種先驗(yàn)框,因此共聚類出來了9種尺寸的先驗(yàn)框[7]。YOLOv3算法通過Logistic Regression對Bounding Box進(jìn)行預(yù)測,Logistic Regression可以用于計(jì)算Anchor包圍的部分是目標(biāo)的可能性是多少。使用Logistic Regression從9個Anchor Priors中選出目標(biāo)存在可能性得分[7]最高的Anchor,然后YOLOv3算法只對得分最高的Anchor進(jìn)行操作。
通過對YOLOv3算法進(jìn)行目標(biāo)識別的原理進(jìn)行分析與理解可以發(fā)現(xiàn),YOLOv3算法可以很好地幫助系統(tǒng)進(jìn)行目標(biāo)區(qū)域內(nèi)非機(jī)動車的實(shí)時監(jiān)測。
因此,本系統(tǒng)通過使用YOLOv3算法并將其部署在硬件設(shè)備NVIDIA Jetson TX2上實(shí)現(xiàn)了對違禁停車區(qū)域中停放的非機(jī)動車的識別,由此可以實(shí)時地監(jiān)測是否有非機(jī)動車停放在違禁區(qū)域,以便及時發(fā)出警報提醒駕駛員規(guī)范停車行為。
由于嵌入式設(shè)備NVIDIA Jetson TX2具有豐富且強(qiáng)大的資源配置,具有極高的性能以及極低的功耗,并且占用空間極小方便在各種場合使用,因此擬采用NVIDIA Jetson TX2來為本系統(tǒng)提供硬件支持。
嵌入式設(shè)備NVIDIA Jetson TX2通過USB口與違禁停車區(qū)域的攝像頭相連接,并通過在NVIDIA Jetson TX2上部署YOLOv3算法實(shí)現(xiàn)對違禁停車區(qū)域非機(jī)動車的精準(zhǔn)識別。在對NVIDIA Jetson TX2部署YOLOv3算法時,首先從GitHub下載安裝并編譯DarkNet源代碼,然后下載預(yù)先訓(xùn)練的權(quán)重參數(shù)文件,下載完成后放在YOLOv3目錄下,然后通過運(yùn)行相關(guān)代碼調(diào)用NVIDIA Jetson TX2的外接攝像頭,實(shí)現(xiàn)對違禁停車區(qū)域非機(jī)動車的精準(zhǔn)識別以及實(shí)時監(jiān)測。當(dāng)系統(tǒng)檢測到在禁停區(qū)域有非機(jī)動車出現(xiàn)時,將產(chǎn)生一個非機(jī)動車檢測的輸出,此時連接在TX2上的蜂鳴器檢測到信號將發(fā)出聲音,完成對違規(guī)現(xiàn)象人員的提醒。
本系統(tǒng)針對非機(jī)動車亂停亂放現(xiàn)象進(jìn)行卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,前期我們針對COCO數(shù)據(jù)集中三類已知的數(shù)據(jù)集進(jìn)行提取,之后自己收集并制作了500張帶標(biāo)簽的圖片加入到數(shù)據(jù)集中,制作成一個新的數(shù)據(jù)集進(jìn)行訓(xùn)練。
在進(jìn)行模型訓(xùn)練時,首先配置了cfg文件,然后配置了obj.name文件以及obj.data文件并將其放在了相應(yīng)目錄下,預(yù)先準(zhǔn)備了數(shù)據(jù)集并對數(shù)據(jù)集圖片上的每個物體做了標(biāo)記,生成標(biāo)記文件并放于相應(yīng)目錄下,然后準(zhǔn)備了存儲圖片路徑的文件。下載DarkNet-53放至相應(yīng)目錄下,然后進(jìn)行模型的訓(xùn)練,每當(dāng)模型訓(xùn)練中斷后,在之前的基礎(chǔ)上繼續(xù)訓(xùn)練,通過輸出數(shù)據(jù)查看模型精確效果來決定是否終止訓(xùn)練。在制作的數(shù)據(jù)集中,我們使用80%的圖片作為訓(xùn)練集,剩余20%作為測試集進(jìn)行測試,識別效果良好。
對模型進(jìn)行多次訓(xùn)練后,通過輸出的數(shù)據(jù)可以看出模型已可以精確地識別停放在違禁停車區(qū)域的每一輛非機(jī)動車,并且用時極短,已達(dá)到預(yù)期目標(biāo),可以終止訓(xùn)練。
通過實(shí)地調(diào)查發(fā)現(xiàn),宿舍樓出口處經(jīng)常停放非機(jī)動車,嚴(yán)重影響了師生的日常生活,因此以出口處的非機(jī)動車識別為例來展示本系統(tǒng)的識別結(jié)果。通過對出口處的監(jiān)測,可以看出本系統(tǒng)可以在有非機(jī)動車停放時準(zhǔn)確地將其識別出,如圖2所示。
圖2 識別結(jié)果
通過多次試驗(yàn)可以看到,當(dāng)違禁停車區(qū)域有機(jī)動車停放時,系統(tǒng)可以在短時間內(nèi)識別出停放的非機(jī)動車,并且即使有遮擋也并沒有影響識別的準(zhǔn)確性,一旦識別出非機(jī)動車,嵌入式設(shè)備上面的蜂鳴器便會發(fā)出警報,由于系統(tǒng)的響應(yīng)時間極短,因此違規(guī)停車的駕駛員可以及時地得到提醒,從而將非機(jī)動車移出違禁停車區(qū)域,進(jìn)而提升其規(guī)范停車意識。
針對校園非機(jī)動車亂停亂放的現(xiàn)象以及校園管理人員無法對此進(jìn)行有效管理與監(jiān)測的問題,本文提出了一種基于深度學(xué)習(xí)的大學(xué)校園非機(jī)動車亂泊監(jiān)測系統(tǒng)。本系統(tǒng)通過將YOLOv3算法部署在嵌入式設(shè)備NVIDIA Jetson TX2上,并將NVIDIA Jetson TX2與監(jiān)控?cái)z像頭相連,實(shí)現(xiàn)了對非機(jī)動車亂泊的實(shí)時監(jiān)測。實(shí)驗(yàn)結(jié)果表明,本系統(tǒng)可以對在違禁停車區(qū)域停放的非機(jī)動車進(jìn)行很好的實(shí)時監(jiān)測以及管理,精度和效率都比較高,可以解決由于校園非機(jī)動車亂泊帶來的一系列道路擁堵等問題。