孔浩冉
(山東師范大學信息科學與工程學院,山東 濟南 250399)
隨著人們生活水平的提高以及城市機動化發展,以自行車為代表的非機動車數量急劇增加,各種停放問題也隨之而來。大學校園是特殊的公共場所,由于許多大學校園面積很大,功能區分散,校內通勤不便[1],再加上非機動車具有方便、快捷等特點,因此,許多學生選擇將非機動車作為代步工具,并且對于大部分學生而言,購買非機動車大都在經濟上可以承受,受到周圍同學的影響以及自身的需求[2],大學校園內非機動車的數量大幅增加。隨著校園非機動車數量的增加,非機動車亂停亂放的現象越來越明顯,這不僅影響了道路交通,還影響了校園美觀。宿舍和教學樓是高校學生的主要活動地,導致這些地方的非機動車停放尤為不規范,在占用道路的同時也給師生的生活帶來了不便,甚至同學之間因此發生過一些矛盾。由于非機動車亂停的范圍較大,時間較分散,并且數量極多,如果安排校園管理人員去規范每輛非機動車的停放,不僅需要大量的人力物力,而且取得的效果也不理想,甚至部分學校也沒有這方面的管理人員。
因此,為了更好地解決大學校園非機動車的亂停亂放問題,構建美麗校園,改善非機動車亂泊給師生帶來的不便,本文提出了基于深度學習的大學校園非機動車亂泊監測系統,來幫助解決大學校園的非機動車亂泊問題。
本文針對校園非機動車停放的管理,提取出兩類用戶:非機動車駕駛員以及校園管理人員。由于存在著非機動車亂停的范圍較大,時間較分散,并且數量極多的問題,導致校園管理人員無法有效對非機動車亂泊進行實時地管理與監測;對于非機動車駕駛員來說,往往由于時間匆忙或者不清楚學校非機動車的停放管理制度,從而將非機動車亂停亂放,他們需要在違規停放非機動車時收到實時的提醒。
本系統結合YOLOv3算法的圖像識別技術以及性能強大的嵌入式設備NVIDIA Jetson TX2,對校園里停放的非機動車進行實時地監測,一旦發現非機動車停放在了違禁地段,便通過NVIDIA Jetson TX2上的蜂鳴器發出警報,從而提醒駕駛員將非機動車移走。
本系統的工作流程是:預先將道路口、宿舍樓門前等相關地段設為違禁停車區域,并在這些區域安裝高清攝像頭,利用攝像頭實時獲取非機動車的停放狀況,NVIDIA Jetson TX2通過USB口連接攝像機,并基于YOLOv3算法對在違禁區域停放的非機動車進行識別,當監測到有非機動車停放時,嵌入式設備上的蜂鳴器便會及時發出警報,提醒駕駛員將違規停放的非機動車移走,從而保證道路的暢通無阻。系統工作流程圖如圖1所示。

圖1 系統工作流程圖
本文將研究并實現深度學習的大學校園非機動車亂泊監測系統,算法上選擇的是卷積神經網絡YOLOv3算法以及Darknet框架,硬件部分擬采用嵌入式設備NVIDIA Jetson TX2,通過對數據集的訓練與測試,實現對違禁停車區域非機動車的精準識別以及對非機動車駕駛員的實時提醒。
早期的目標識別一般利用人工設計的圖像特征進行目標的檢測以及識別,但當產生遮擋或目標體型較小時,傳統的目標識別方法便很難提取特征,因此很難用于對校園非機動車的實時監測。2015年,Redmon等人[3]提出YOLO系列算法,在很大程度上提高了算法的檢測速度[4]。Liu等人[5]提出的SSD(Single Shot MultiBox Detector)算法,通過多尺度方法進一步提高了檢測的精確度。YOLOv3[6]算法屬于YOLO系列算法,并且相比于其他算法,YOLOv3算法具有速度快、精度高的特點。因此本系統使用YOLOv3算法實現對校園非機動車的實時監測。
YOLOv3算法使用的網絡結構是DarkNet-53,由卷積模塊和殘差模塊兩部分組成。DarkNet-53參考了ResNet的思想,將殘差模塊加入到了網絡結構中,解決了深層網絡的梯度問題,方便構建更深層次的網絡。DarkNet-53通過將卷積的Stride設為2來完成網絡的下采樣,而沒有池化層和全連接層。卷積層的實現需要Conv、BN以及Leaky_relu,殘差模塊之后還需要加上Zero Padding。YOLOv3算法還具有可以檢測更加細粒度特征的優點,這是因為它使用3個不同尺度的特征圖去檢測目標,因此檢測精度較高。
YOLOv3算法通過K-means聚類為每種下采樣尺度設定了3種先驗框,因此共聚類出來了9種尺寸的先驗框[7]。YOLOv3算法通過Logistic Regression對Bounding Box進行預測,Logistic Regression可以用于計算Anchor包圍的部分是目標的可能性是多少。使用Logistic Regression從9個Anchor Priors中選出目標存在可能性得分[7]最高的Anchor,然后YOLOv3算法只對得分最高的Anchor進行操作。
通過對YOLOv3算法進行目標識別的原理進行分析與理解可以發現,YOLOv3算法可以很好地幫助系統進行目標區域內非機動車的實時監測。
因此,本系統通過使用YOLOv3算法并將其部署在硬件設備NVIDIA Jetson TX2上實現了對違禁停車區域中停放的非機動車的識別,由此可以實時地監測是否有非機動車停放在違禁區域,以便及時發出警報提醒駕駛員規范停車行為。
由于嵌入式設備NVIDIA Jetson TX2具有豐富且強大的資源配置,具有極高的性能以及極低的功耗,并且占用空間極小方便在各種場合使用,因此擬采用NVIDIA Jetson TX2來為本系統提供硬件支持。
嵌入式設備NVIDIA Jetson TX2通過USB口與違禁停車區域的攝像頭相連接,并通過在NVIDIA Jetson TX2上部署YOLOv3算法實現對違禁停車區域非機動車的精準識別。在對NVIDIA Jetson TX2部署YOLOv3算法時,首先從GitHub下載安裝并編譯DarkNet源代碼,然后下載預先訓練的權重參數文件,下載完成后放在YOLOv3目錄下,然后通過運行相關代碼調用NVIDIA Jetson TX2的外接攝像頭,實現對違禁停車區域非機動車的精準識別以及實時監測。當系統檢測到在禁停區域有非機動車出現時,將產生一個非機動車檢測的輸出,此時連接在TX2上的蜂鳴器檢測到信號將發出聲音,完成對違規現象人員的提醒。
本系統針對非機動車亂停亂放現象進行卷積神經網絡的訓練,前期我們針對COCO數據集中三類已知的數據集進行提取,之后自己收集并制作了500張帶標簽的圖片加入到數據集中,制作成一個新的數據集進行訓練。
在進行模型訓練時,首先配置了cfg文件,然后配置了obj.name文件以及obj.data文件并將其放在了相應目錄下,預先準備了數據集并對數據集圖片上的每個物體做了標記,生成標記文件并放于相應目錄下,然后準備了存儲圖片路徑的文件。下載DarkNet-53放至相應目錄下,然后進行模型的訓練,每當模型訓練中斷后,在之前的基礎上繼續訓練,通過輸出數據查看模型精確效果來決定是否終止訓練。在制作的數據集中,我們使用80%的圖片作為訓練集,剩余20%作為測試集進行測試,識別效果良好。
對模型進行多次訓練后,通過輸出的數據可以看出模型已可以精確地識別停放在違禁停車區域的每一輛非機動車,并且用時極短,已達到預期目標,可以終止訓練。
通過實地調查發現,宿舍樓出口處經常停放非機動車,嚴重影響了師生的日常生活,因此以出口處的非機動車識別為例來展示本系統的識別結果。通過對出口處的監測,可以看出本系統可以在有非機動車停放時準確地將其識別出,如圖2所示。

圖2 識別結果
通過多次試驗可以看到,當違禁停車區域有機動車停放時,系統可以在短時間內識別出停放的非機動車,并且即使有遮擋也并沒有影響識別的準確性,一旦識別出非機動車,嵌入式設備上面的蜂鳴器便會發出警報,由于系統的響應時間極短,因此違規停車的駕駛員可以及時地得到提醒,從而將非機動車移出違禁停車區域,進而提升其規范停車意識。
針對校園非機動車亂停亂放的現象以及校園管理人員無法對此進行有效管理與監測的問題,本文提出了一種基于深度學習的大學校園非機動車亂泊監測系統。本系統通過將YOLOv3算法部署在嵌入式設備NVIDIA Jetson TX2上,并將NVIDIA Jetson TX2與監控攝像頭相連,實現了對非機動車亂泊的實時監測。實驗結果表明,本系統可以對在違禁停車區域停放的非機動車進行很好的實時監測以及管理,精度和效率都比較高,可以解決由于校園非機動車亂泊帶來的一系列道路擁堵等問題。