申雷霄,劉 軍
(徐州市公路管理處,江蘇 徐州 221000)
隨著物聯網、車聯網、傳感網等概念和技術的發展,交通智能化水平有了極大的提高,同時也對基礎設施智能化、信息化水平及人員的管理水平提出了更高的要求。在交通標志方面,現有導航設備可以提供部分限速、測速監控、指路標志等信息,但仍存在信息不全、更新滯后的問題。比如在交通標志的日常維護與管養工作中,會對道路交通標志做增減或其他調整,但未能在數據庫中體現,而這僅是交通標志智能化、信息化最基礎的內容之一。因此,通過對交通標志的巡檢,建立交通標志的全網數據庫,是實現交通標志信息化的基礎。
交通標志是動態變化的設施,對其巡檢及調整優化是道路日常運營管理的重要工作之一。目前,我國大部分城市對交通標志的巡檢分析主要采用人工手段[1,2]。這種方式不僅存在調查效率低、成本高、精度低、信息化程度較低、數據統計分析不方便、外業及內業任務繁重等弊端,更重要的是,所獲取的交通標志信息數據不便于存儲及開發利用。由于只有樁號信息,沒有其他可用于聯網的位置信息(如經緯度),難以加載于全線或全網,也不便與其他相同等級的道路進行橫向對比分析。
在交通標志的檢測與識別上,Kuo等[3]首先通過Hough變換和角點檢測來獲取交通標志的精確位置,然后利用卷積神經網絡和K-d樹來識別交通標志。Ciresan和Sermanet等[4-5]利用卷積神經網絡直接從輸入數據中學習出具有判別性的特征用于交通標志識別,并獲得了很好的識別性能。然而,這類方法在訓練以及分類上都涉及非常高的時間復雜度。Shopa等[6]結合特定的預處理與K近鄰分類算法對交通標志分類。劉成云等[7]通過改進的MBLBP特征設計級聯分類器實現了標志牌的檢測,但是所提取的特征缺乏對標志輪廓形狀信息的描述,并且特征提取耗時較長。除此以外,還有大量基于深度學習的交通標志識別算法研究[8-12]。以上算法普遍存在運算量較大、計算復雜、訓練和分類時間成本高等問題,不能充分地滿足智能交通系統的需求。
在移動檢測方面,國內某公司研發的imajing產品將移動制圖和地理信息系統技術與道路實景技術融合到一個獨特的工具鏈中,用來滿足基礎設施的維護、監控和管理需求。imajing的一款后處理軟件imajbox是一個一體化的、獨立的、拿來即用的移動測量系統,能對交通基礎設施進行快速的數據采集。
為了提高交通設施養護的規范化、標準化、信息化水平,掌握各地交通設施的總量及交通標志的使用壽命和維護管養情況,本文借鑒自然場景下的交通標志檢測與識別方法,提出了基于機器視覺的公路交通標志自動化巡檢系統。該系統利用YOLO(You Only Look Once)算法進行交通標志的檢測與追蹤,大大提高了檢測速度,滿足了移動式視頻檢測器的要求,極大地提高了交通標志的巡檢效率,并實現了交通標志的網絡化、信息化。
交通標志識別系統一般通過安裝在交通工具上的攝像頭獲取道路交通信息,并將其傳入計算機進行自動處理。室外環境復雜多變,交通標志的明亮程度、損壞形變、尺寸變化都對目標檢測系統提出了很高的要求。針對這些特點,本文提出一種基于YOLO算法的交通標志檢測方法。該方法檢測速度非常快,可以滿足移動式視頻檢測要求。
YOLO算法的全稱是You Only Look Once:Uni?fied,Real-Time Object Detection。其中,You Only Look Once指只需要進行一次卷積神經網絡(Con?volutional Neural Networks,CNN)運算;Unified指這是一個統一的框架,提供端到端的預測;Real-Time指YOLO算法實時性好、速度快。
整體來看,YOLO算法采用一個單獨的CNN模型實現端到端的目標檢測。整個系統的工作流程是:首先將輸入圖像劃分成448×448個網格,然后將圖像送入CNN網絡,最后根據CNN網絡的預測結果得到需要檢測的目標。
YOLO算法將目標檢測統一到一個神經網絡。網絡使用整個圖像中的特征來預測每個邊界框。它同時預測圖像所有類的所有邊界框。因此,該網絡可以學習到完整的圖像和圖中所有的對象。YOLO算法可實現端到端訓練并能夠實時地檢測目標,同時也保持著較高的平均精度。
首先將圖像劃分為S×S個網格[13-15]。如果某個目標的中心落入該網格中,則該網格就負責檢測該目標。每個網格預測存在某類物體的概率以及目標的B個包圍框。每個包圍框預測物體的位置坐標參數以及它是目標的置信度。置信度分值反映該模型對包圍框是否包含目標的信心及其預測的準確程度。定義置信值為其中Object表示目標;Pr(Object)表示這個包圍框含有目標的可能性大小,當該包圍框是背景(即不包含目標)時,Pr(Object)=0,而當該邊界框包含目標時,Pr(Object)=1。IOUtruthpred為預測框與實際框的交并比(Intersection Over Union,IOU),表示邊界框的準確度,其中truth表示預測框,pred表示實際框。因此,置信度表示的是兩個因子的乘積,也反映了預測框的準確度。
每一個包圍框包含5個值:x,y,w,h和c。其中:坐標(x,y)表示包圍框相對于網格單元邊界框的中心;寬度w和高度h是相對于整張圖像預測的;c表示預測的包圍框與實際包圍框的交并比。因此,每個包圍框的預測值實際上包含5個元素:(x,y,w,h,c)。其中,x,y,w,h表示包圍框的大小與位置,c是置信度。每個網格單元還預測各個條件類別的概率 Pr(Classi|Object),其中
Classi(i=1,2,…,C)表示各個類別;Object表示目標;該概率值其實是在各個包圍框置信度下的條件概率,以網格包含目標為條件,每個網格單元只預測一組類別概率,而不管包圍框數量B是多少。
在測試時,將條件類別概率和單個包圍框的置信度預測相乘,得到各個包圍框的類別置信度:

包圍框的類別置信度表示的是該包圍框中目標屬于各個類別的可能性大小和包圍框匹配目標的好壞,一般會根據類別置信度來過濾網絡的包圍框。
采用YOLO算法與級聯分類器相結合的方式進行目標檢測,檢測流程如圖1所示。

圖1 目標檢測方案流程圖
基于YOLO算法的目標檢測方法是將目標檢測任務看作目標區域預測和類別預測的回歸問題。該方法采用單個神經網絡直接預測目標邊界和類別概率,實現端到端的目標檢測。該方法檢測速度非常快,基礎版的實時檢測可以達到45幀/s;FastYO?LO版可以達到155幀/s。
利用Adaboost算法來訓練強分類器。Adaboost是一種迭代算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構成一個更強的最終分類器(強分類器)。通過分析圖像特征,采用不同特征完成分類器,可以得到二分類器,再將分類器級聯起來,形成級聯分類器,從而提高目標檢測的準確度,如圖2所示。

圖2 級聯分類器示意圖
目標檢測方案的具體實施步驟如下:
(1)制作voc格式的數據集
利用現有的含有交通標志的圖片數據庫制作voc格式的數據集,對圖片中的交通標志進行標注并生成相應的標注文件。在該數據集中標注的交通標志類別總共為五類:禁令標志、警告標志、指示標志、指路標志和輔助標志,如圖3所示。

圖3 各類別交通標志示例
(2)YOLO訓練數據集
采用YOLO算法對標定的數據集進行訓練,圖像視頻按幀輸入,經過Darknet-53網絡結構獲得特征圖譜。所用到特征圖譜大小分別為13×13、26×26和52×52網格。
(3)根據預先設置好的anchor boxes在特征圖譜上進行交通標志多尺度檢測。YOLO采用聚類方法K-means來選取anchor box。
(4)采用logistic分類器對交通標志進行級聯分類,確定其所屬類別。
(5)輸入下一幀轉到步驟(2),直到視頻幀停止。
基于機器視覺的公路交通標志自動化巡檢系統是一個物理分布、邏輯統一的信息化平臺。該平臺為用戶提供了一個公路標志牌巡查、報警以及信息管理的有效途徑,其基于機器視覺的自動化過程有效地提高了用戶的工作效率。
該系統可以分為檢測系統和數據管理系統兩個子系統,總體架構如圖4所示。上層為檢測系統,集成所有檢測模塊,包括交通標志檢測、道路標線檢測和路面坑塘檢測,這也是系統的三大核心功能。交通標志檢測主要是對道路上的交通標識進行檢測,檢測其類別是否正確、是否缺失并報警。道路標線檢測主要對道路沿線的道路標線進行檢測,檢測是否缺失并報警。路面坑塘檢測主要對道路路面進行檢測,檢測是否存在坑塘并報警。下層是數據管理模塊,主要是存儲并管理檢測系統所產生的所有數據,兩層之間互相聯動,共同支撐整個公路交通標志自動化巡檢系統的運行。

圖4 基于移動視頻的公路交通標志巡檢系統架構圖
系統結構如圖5所示,主要由GPS裝置、攝像頭、通信及數據解析模塊、攝像頭控制模塊、用戶界面、數據管理模塊及統計分析模塊構成。除GPS裝置、攝像頭之外的所有模塊均集成在一臺計算機中,計算機與GPS裝置通過路由器相連,與攝像頭通過USB接口相連。

圖5 基于移動視頻的公路交通標志巡檢系統結構圖
GPS裝置與通信及數據解析模塊連接。它通過向GPS衛星發出請求,得到設備當前的經緯度坐標位置,再將檢測到的坐標位置信息打包后發送給通信及數據解析模塊,最后由通信及數據解析模塊對它進行接收和處理。
攝像頭與攝像頭控制模塊連接。攝像頭控制模塊能實時地對焦距和曝光度等參數進行調節。攝像頭將采集的視頻傳送給攝像頭控制模塊,由控制模塊進行格式轉換和存儲等處理。同時攝像頭能夠通過控制模塊與用戶界面模塊建立連接,及時接收用戶發送來的指令,采集交通標志的圖像信息或者拍攝相應的行車視頻以供后續分析處理。
通信及數據解析模塊與用戶界面連接,將處理過的地理位置信息發送給用戶界面。攝像頭控制模塊也與用戶界面連接,負責將處理后的視頻數據發送給用戶界面。
除此之外,用戶界面能夠實時顯示電子地圖,并自動在電子地圖的相應位置對與之前采集到的交通標志信息進行標記。標記的信息還包括樁號信息。樁號信息的自動計算過程如下:以公路起點處的經緯度坐標和樁號作為參考,結合GPS裝置獲得的當前經緯度坐標位置和幾何知識,自動計算當前交通標志的樁號。另外,用戶還能手動將參考樁號輸入系統,系統根據參考樁號進行樁號核算,以減小誤差。計算公式如下:

式(2)~式(5)中:(longituder,latituder)為參考樁號的經緯度坐標;(longitudec,latitudec)為當前標志的經緯度坐標;Nr為參考點的樁號;Nc為當前點的樁號。
用戶界面還將接收地理位置信息和視頻數據,并將它們傳給數據管理模塊。數據管理模塊對接收的數據做存儲、檢索和刪除處理。同時,用戶界面能調用數據管理模塊的數據。
數據管理模塊與統計分析模塊連接。統計分析模塊對數據管理模塊中的數據做進一步的統計和分析,即通過分析交通標志的位置信息、標志類型、架設情況、版面形狀等信息得到交通標志的狀態評估結果,并給出相應的維護建議。
系統的數據組成主要包括下面七個部分:
(1)視頻數據,指由固定式攝像頭所拍攝的視頻,數據格式為.avi。
(2)圖片數據,指特定事件發生時所拍攝的事件圖片,數據格式為.jpg或.png。
(3)事件數據,指檢測獲得的事件所屬類別,數據格式為“交通標志”、“道路標線”、“路面坑塘”。
(4)狀態數據,指檢測事件的情況,數據格式為“正常”或“異?!?。
(5)坐標數據,指事件發生地的GPS坐標,數據格式為“(經度,緯度)”。
(6)數量數據,指檢測事件發生的數量,數據格式為整型。
(7)時間數據,指事件發生的時間,數據格式為“年-月-日-時-分-秒”。
在系統內,對數據進行統一信息管理,并按照數據事件進行分類存儲與管理。管理系統結構如圖6所示。

圖6 數據管理系統結構圖
數據管理的主要功能包括:(1)數據建庫,支持多種數據類型的數據建庫;(2)數據存儲,將已采集的數據裝載到數據庫進行管理;(3)數據目錄服務,即建立并維護符合巡查系統信息要求的目錄管理;(4)數據檢索,即按照指定檢索條件查找數據;(5)數據修改與刪除,即對指定數據進行修改或刪除操作。
通過檢測系統與數據管理系統兩個子系統間的互通互聯,建立交通標志的數據庫(融合了交通地理信息系統GIS-T、標志牌位置GPS信息以及傳輸通信4G的數據),實現對交通標志的巡檢、分析、評價、優化設置及政策輔助等功能。主要用于公路交通標志自動化巡檢分析以及輔助決策支持,實現了交通標志的自動化、智能化、網絡化普查與分析功能。
系統的測試結果如圖7所示。
從圖7可以看出,該系統能夠準確地對路邊不同種類、不同形狀的交通標志進行圖像捕捉、檢測與識別,快速而精準。對道路標線和路面坑塘,系統也能通過圖像處理實現精準檢測。實測結果顯示,該系統具有較高的測試精度,測試效果較好。

圖7 系統測試結果
本文提出的基于機器視覺的公路交通標志自動化巡檢系統,基于YOLO算法進行交通標志的檢測與追蹤,實現了對多個類別、多種形狀的交通標志的精準檢測,大大提高了目標檢測速度和巡檢效率,實現了交通標志檢測、道路標線檢測和路面坑塘檢測的網絡化、信息化。下一步的工作是擴展該系統的功能,實現對道路上違法拋撒物品和在道路兩側違法設立攤點等行為的監測。