宋 鑫,張 珣
(杭州電子科技大學(xué)電子信息學(xué)院,浙江杭州 310018)
在人工智能技術(shù)飛速發(fā)展的今天,智慧路燈(Intelligent Street Lamp)逐漸走進(jìn)了人們的生活。智慧路燈是在普通燈桿單一照明功能基礎(chǔ)上根據(jù)所需集成了其他功能的模塊化組合[1]。如今隨著車輛的不斷增加,每天幾乎每時(shí)每刻都在發(fā)生車禍。在人流較多的繁華路段發(fā)生車禍一般會(huì)獲得及時(shí)救助,但如果車禍發(fā)生在人流稀少的路段,人們往往無法得到及時(shí)、有效的救助而導(dǎo)致悲劇的發(fā)生。在車禍面前,時(shí)間就是生命。在人工智能技術(shù)背景下,使用機(jī)器替代人工完成該工作成為了可能。在交通事故檢測過程中,檢測算法是關(guān)鍵,目前關(guān)于檢測算法的研究,國內(nèi)外有許多可借鑒的成果。如徐謙[2]提出一種基于視頻的車輛碰撞檢測算法,使用背景差分法對(duì)車輛特征進(jìn)行提取,并結(jié)合車禍發(fā)生特點(diǎn)進(jìn)行判斷,但由于檢測環(huán)境復(fù)雜,檢測精度波動(dòng)很大;劉杰[3]提出一種基于RCNN 的翻車事故檢測算法,使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)翻車行為進(jìn)行檢測,但該算法只檢測翻車這一類交通事故,應(yīng)用范圍十分有限;鳳鵬飛等[4]提出一種基于音頻檢測的交通事故自動(dòng)報(bào)警系統(tǒng),利用發(fā)生車禍時(shí)的音頻信息判斷交通事故,為從另一角度進(jìn)行交通事故判斷提供了借鑒,但是不同車型或不同車速所造成車禍的音頻信息均有明顯不同,檢測精度較低;Fang 等[5]提出一種基于深度循環(huán)極限學(xué)習(xí)機(jī)的事件自動(dòng)檢測算法,該方法具有普適性,但針對(duì)復(fù)雜環(huán)境下的車禍檢測,檢測精度波動(dòng)極大。
根據(jù)以上情況,本文在道路隨處可見的路燈基礎(chǔ)上添加一些功能模塊作為載體,設(shè)計(jì)一個(gè)車禍預(yù)警系統(tǒng)。該系統(tǒng)能檢測到車禍發(fā)生時(shí)的情景,通過功能模塊獲取車禍相關(guān)信息并發(fā)送到云平臺(tái)進(jìn)行處理,克服了傳統(tǒng)算法在復(fù)雜環(huán)境下檢測精度不高的問題。
智慧路燈經(jīng)過快速發(fā)展,目前已逐漸進(jìn)入到應(yīng)用試驗(yàn)階段,使用者可根據(jù)不同需求將不同功能集成到桿體之上[6]。本文設(shè)計(jì)的智慧路燈系統(tǒng)主要分為服務(wù)與管理兩部分,系統(tǒng)結(jié)構(gòu)如圖1 所示。
Fig.1 Intelligent street lamp system structure圖1 智慧路燈系統(tǒng)結(jié)構(gòu)
服務(wù)部分主要由智慧路燈桿體、通信部分、基礎(chǔ)部分、供電部分、增值服務(wù)部分、傳感通信部分與定位部分組成。①智慧路燈桿體:主要起承載作用,將各功能模塊集成到桿體上,使其可更好地進(jìn)行協(xié)作;②通信部分:可集成5G 微型基站,實(shí)現(xiàn)網(wǎng)絡(luò)的大范圍覆蓋,同時(shí)集成通信模塊進(jìn)行信息交互傳輸;③基礎(chǔ)部分:主要包括照明與監(jiān)控功能,可根據(jù)環(huán)境自動(dòng)進(jìn)行燈的開關(guān)并調(diào)節(jié)亮度,通過在每個(gè)路燈安裝一個(gè)攝像頭并調(diào)節(jié)各攝像頭角度,從而在使用最少攝像頭的情況下,在最大范圍內(nèi)進(jìn)行監(jiān)控,以更好地滿足人們需求;④供電部分:采用太陽能供電模式,白天所儲(chǔ)備的電量足夠夜晚的消耗,以實(shí)現(xiàn)節(jié)能減排的目標(biāo);⑤增值服務(wù)部分:可集成有償?shù)墓蚕沓潆?、充氣服?wù),將剩余電量提供給道路上不具備充電條件的人們進(jìn)行充電,還可對(duì)車輛輪胎進(jìn)行充氣,極大地方便了人們出行;⑥傳感通信部分:主要包括監(jiān)控功能和環(huán)境監(jiān)測功能,并將收集到的信息實(shí)時(shí)傳送給管理云平臺(tái)。
管理部分的主體為智慧路燈管理云平臺(tái),在其中加入檢測算法作為智慧路燈的“大腦”,負(fù)責(zé)為服務(wù)部分提供相應(yīng)的管理服務(wù)。
為盡可能擴(kuò)大車禍預(yù)警范圍并節(jié)約成本,以遍布道路的智慧路燈為載體進(jìn)行車禍預(yù)警系統(tǒng)設(shè)計(jì)。車輛事故可分為車輛間事故、車輛單獨(dú)事故、車輛與固體物碰撞事故三大類[7]。
為減少數(shù)據(jù)處理量,以縮短識(shí)別時(shí)間、提高識(shí)別速度,采用YOLOV3 目標(biāo)檢測算法對(duì)收集到的圖像信息進(jìn)行識(shí)別與篩選,只選擇出具有車輛信息的視頻圖像信息。收集大量車禍信息后,提取出圖像的灰度閾值特征進(jìn)行訓(xùn)練,同時(shí)利用Kalman 濾波跟蹤算法獲取車輛的速度、加速度等特征信息[8]。以現(xiàn)有車禍現(xiàn)場圖像的灰度閾值作為輸入,對(duì)其進(jìn)行分割與邊緣刪除,獲取其中重要的信息定位圖像并進(jìn)行輸出。圖像識(shí)別工作以定位圖像作為輸入,采用模式匹配技術(shù)識(shí)別出其中的目標(biāo)車禍參數(shù)。發(fā)生車禍后由于司機(jī)下意識(shí)的反應(yīng),會(huì)猛打方向盤并踩剎車,從而導(dǎo)致車輛偏移角度、速度及加速度信息發(fā)生顯著變化。通過背景差分法和卡爾曼濾波法得到的車輛相關(guān)信息對(duì)車輛狀態(tài)進(jìn)行輔助判斷,若在模式匹配符合的基礎(chǔ)上,車輛的偏移角度、速度與加速度信息同時(shí)發(fā)生驟變,則進(jìn)行預(yù)警,智慧路燈將得到的位置信息傳送到云平臺(tái)。系統(tǒng)具體流程如圖2 所示。
Fig.2 System flow圖2 系統(tǒng)流程
隨著人工智能技術(shù)的發(fā)展,人們開始將人的視覺等各種感覺賦予機(jī)器,使其能代替人類進(jìn)行一些復(fù)雜工作。視覺是人最重要的感覺,人獲得的70%的信息來自于視覺,因此視覺作為主要的信息獲得渠道,也將成為機(jī)器獲取信息的基礎(chǔ)。所以怎樣讓機(jī)器人像人類一樣具有視覺并分辨出所看到的對(duì)象,成為科學(xué)家們研究的重點(diǎn)課題,深度學(xué)習(xí)技術(shù)是實(shí)現(xiàn)這一目標(biāo)的關(guān)鍵技術(shù)[9]。機(jī)器不像人一樣具有聰明的大腦,其只能通過對(duì)海量數(shù)據(jù)的計(jì)算提取特征來學(xué)習(xí)需要分辨的對(duì)象。令機(jī)器人具有分辨對(duì)象的能力具有重要的研究意義,其不僅能解放生產(chǎn)力,還能使機(jī)器在不適合人類活動(dòng)的場景下代替人類進(jìn)行工作。車禍可能發(fā)生在道路的任何一個(gè)路段,路燈作為道路上幾乎無處不在的一種基礎(chǔ)設(shè)施,為車禍預(yù)警提供了有利條件。面對(duì)道路上各種復(fù)雜的信息,對(duì)全部信息進(jìn)行檢測需要花費(fèi)大量時(shí)間,同時(shí)車禍分為多種不同情況,包括側(cè)翻、相撞、追尾等,需要多種算法分步協(xié)同對(duì)多種情況進(jìn)行檢測。因此,本文根據(jù)需求為道路隨處可見的路燈集成了許多實(shí)用功能。首先利用智慧路燈的監(jiān)控與通信功能,通過攝像頭收集到大量視頻圖像數(shù)據(jù),然后使用當(dāng)前比較流行的目標(biāo)檢測算法YOLOV3 對(duì)所有車輛行人信息進(jìn)行識(shí)別,篩除不相關(guān)的背景信息,從而大大減少了需要識(shí)別的信息量,大幅縮短了檢測所需時(shí)間,可為后續(xù)識(shí)別篩選出合適的樣本。
本文在背景差分法[10]基礎(chǔ)上結(jié)合卡爾曼濾波和模式匹配算法進(jìn)行車禍檢測,在經(jīng)過YOLOv3 進(jìn)行樣本篩選后,核心算法流程如圖3 所示。
Fig.3 Flow of core algorithm圖3 核心算法流程
利用背景差分法對(duì)經(jīng)過YOLOv3 算法篩選后的交通信息進(jìn)行預(yù)處理,首先對(duì)獲得的視頻圖像序列進(jìn)行處理,利用初始化過程對(duì)背景進(jìn)行數(shù)學(xué)建模,獲得理想的背景圖像,然后對(duì)視頻圖像序列的當(dāng)前幀圖像與背景圖像進(jìn)行差分運(yùn)算,獲得差分圖像。根據(jù)圖像處理的經(jīng)驗(yàn)設(shè)置合適的閾值T,對(duì)差分圖像每一個(gè)坐標(biāo)點(diǎn)的灰度值與預(yù)先設(shè)定的閾值T 進(jìn)行比較。如果像素值小于閾值T,則當(dāng)前幀的像素值與背景圖像像素值相近,為靜止圖像像素點(diǎn);如果像素值大于閾值T,則當(dāng)前幀像素值與背景圖像像素值差別較大,該坐標(biāo)點(diǎn)的差分灰度值可表示視頻場景中的運(yùn)動(dòng)物體狀態(tài)[11]。
對(duì)當(dāng)前幀圖像與所提取的背景圖像作差分運(yùn)算,如式(1)所示。
獲得差分圖像后,對(duì)其每一幀圖像都進(jìn)行二值化處理。如果差分圖像任意坐標(biāo)點(diǎn)的灰度值大于等于二值化閾值T,則該點(diǎn)為前景像素點(diǎn),用1 表示;如果差分圖像任意坐標(biāo)點(diǎn)的灰度值小于二值化閾值T,則該點(diǎn)為背景像素點(diǎn),用0 表示,具體如式(2)所示。
灰度值[9]是模式匹配技術(shù)中的一個(gè)重要參數(shù),其計(jì)算方式如下:
假設(shè)車禍現(xiàn)場圖像面積為S,車禍時(shí)間為t,車禍現(xiàn)場環(huán)境下的干擾因素有n 種,環(huán)境光強(qiáng)為θ,則車禍現(xiàn)場圖像的灰度集合A(i集合中共有m 個(gè)灰度值)與灰度閾值β 的關(guān)系為:
為保證基于視頻分析的車禍現(xiàn)場識(shí)別方法具有較高識(shí)別精度,需要對(duì)灰度閾值β 進(jìn)行限制,如式(4)所示。
式中,u 代表圖像失真率,A0是灰度集合Ai中的最小值。
利用背景差分法獲得目標(biāo)特征參數(shù)后,采用卡爾曼濾波跟蹤算法實(shí)現(xiàn)對(duì)目標(biāo)的有效跟蹤,以獲取運(yùn)動(dòng)目標(biāo)的運(yùn)動(dòng)狀態(tài),如軌跡、速度、加速度等??柭鼮V波算法具體過程如下:首先進(jìn)行背景初始化,背景初始化是運(yùn)動(dòng)目標(biāo)檢測的核心步驟之一,構(gòu)建理想的背景模型可以有效提高目標(biāo)提取精度與識(shí)別準(zhǔn)確率。本文采用均值背景建模方法提取背景圖像,從而提取到質(zhì)量較高的背景圖像,并且能在很大程度上提高算法運(yùn)算速度和提取精度。然后對(duì)處理過的視頻圖像進(jìn)行運(yùn)動(dòng)目標(biāo)檢測,運(yùn)動(dòng)目標(biāo)檢測是目標(biāo)跟蹤的基礎(chǔ)。獲得理想的背景模型后,采用背景差分法獲取運(yùn)動(dòng)目標(biāo),并使用運(yùn)動(dòng)目標(biāo)的最小外接矩形框近似描述運(yùn)動(dòng)目標(biāo)。之后進(jìn)行運(yùn)動(dòng)目標(biāo)特征提取,通過對(duì)運(yùn)動(dòng)目標(biāo)的檢測與跟蹤等一系列分析處理,可提取運(yùn)動(dòng)車輛的多個(gè)特征信息。根據(jù)運(yùn)動(dòng)目標(biāo)檢測模塊中運(yùn)動(dòng)車輛的最小外接跟蹤窗,獲得跟蹤窗中心坐標(biāo)以描述運(yùn)動(dòng)車輛的質(zhì)心坐標(biāo)點(diǎn)位置。當(dāng)視頻圖像序列任意連續(xù)兩幀中運(yùn)動(dòng)目標(biāo)的質(zhì)心位置發(fā)生移動(dòng)時(shí),通過質(zhì)心位移的大小可計(jì)算其速度,通過計(jì)算兩個(gè)相鄰時(shí)刻的速度可得到相應(yīng)加速度信息,通過位移方向獲得質(zhì)心運(yùn)動(dòng)方向,即可求得運(yùn)動(dòng)目標(biāo)的移動(dòng)速度、加速度及運(yùn)動(dòng)方向[12]。通過智慧路燈上集成的監(jiān)控功能拍攝單向行駛或多向行駛的車輛,監(jiān)控所拍攝的圖像可獲取豐富的車輛特征信息。車速檢測原理示意圖如圖4 所示。
Fig.4 Schematic diagram of speed detection principle圖4 車速檢測原理示意圖
利用視頻檢測車輛速度的核心思想可用經(jīng)典的速度—位移公式表示,將運(yùn)動(dòng)車輛位移除以運(yùn)動(dòng)車輛行駛所需時(shí)間得到車輛行駛速度,如式(5)所示。
通過上式可以看出,車輛行駛速度求解方法可大致分為兩類:①通過車輛行駛單位距離所需時(shí)間的長短進(jìn)行計(jì)算;②通過單位時(shí)間內(nèi)車輛行駛位移的大小進(jìn)行計(jì)算[13]?;谝曨l的車速檢測方法一般采用第二種方法計(jì)算車速,交通視頻每秒內(nèi)包含固定幀數(shù)的連續(xù)圖像,所以可直接計(jì)算得到相鄰圖像的時(shí)間差Δ T。對(duì)運(yùn)動(dòng)目標(biāo)的跟蹤匹配過程進(jìn)行研究,運(yùn)動(dòng)目標(biāo)的質(zhì)心坐標(biāo)點(diǎn)匹配成功后,記錄質(zhì)心坐標(biāo)點(diǎn)位置。因?yàn)橐曨l圖像連續(xù)兩幀之間的時(shí)間間隔很短,所以將視頻中運(yùn)動(dòng)目標(biāo)在連續(xù)兩幀圖像間的運(yùn)動(dòng)看作勻速直線運(yùn)動(dòng)[14]。提取同一前景運(yùn)動(dòng)目標(biāo)第K-1 幀與第K 幀的質(zhì)心點(diǎn)坐標(biāo)位置,根據(jù)其質(zhì)心坐標(biāo)值大小計(jì)算運(yùn)動(dòng)目標(biāo)行駛速度,如式(6)所示。
式中,VK為運(yùn)動(dòng)目標(biāo)在第k 幀時(shí)刻的行駛速度。根據(jù)以上計(jì)算得到運(yùn)動(dòng)目標(biāo)每幀速度,同一運(yùn)動(dòng)目標(biāo)的速度值為離散值[15]。為描述每幀圖像運(yùn)動(dòng)目標(biāo)的速度變化,可進(jìn)一步獲取運(yùn)動(dòng)目標(biāo)的加速度,計(jì)算公式如式(7)所示。
式中,ɑK為運(yùn)動(dòng)目標(biāo)在第K 幀時(shí)刻的加速度,vK+1、vK為運(yùn)動(dòng)目標(biāo)分別在第K 幀與第K-1 幀時(shí)刻的速度,Δt為連續(xù)兩幀圖像之間的時(shí)間差。
最后,進(jìn)行運(yùn)動(dòng)目標(biāo)匹配。根據(jù)卡爾曼濾波工作原理,將預(yù)測得到運(yùn)動(dòng)目標(biāo)的質(zhì)心距離、面積大小作為匹配參數(shù),與該運(yùn)動(dòng)目標(biāo)搜索區(qū)域下一幀圖像檢測到的質(zhì)心與面積進(jìn)行匹配[16]。如果匹配成功,選擇最佳匹配目標(biāo),同時(shí)更新該目標(biāo)模板,為下一幀作準(zhǔn)備;如果匹配失敗,說明當(dāng)前幀中可能出現(xiàn)了新目標(biāo),則建立新的目標(biāo)模板,也有可能出現(xiàn)目標(biāo)丟失的情況,則用預(yù)測值作為目標(biāo)特征信息[17]。對(duì)每一個(gè)目標(biāo)匹配完成后,再進(jìn)行下一幀的跟蹤匹配。持續(xù)進(jìn)行幀圖像的跟蹤匹配,直至視頻圖像序列結(jié)束。
獲得上述特征參數(shù)數(shù)據(jù)后,采用模式匹配技術(shù)訓(xùn)練大量車禍現(xiàn)場圖像,獲得灰度值等目標(biāo)參數(shù),將提取到的目標(biāo)車禍參數(shù)作為模板寫入提出的車禍預(yù)警方法中。在具體應(yīng)用過程中,利用模式匹配技術(shù)對(duì)智慧路燈采集到的有效圖像信息進(jìn)行處理,獲得目標(biāo)特征參數(shù),并與之前訓(xùn)練、存儲(chǔ)的模板信息進(jìn)行匹配。當(dāng)相似值達(dá)到一定范圍時(shí),再利用卡爾曼濾波跟蹤算法獲得的速度與加速度信息作進(jìn)一步判斷。根據(jù)車輛碰撞特點(diǎn),如其在符合匹配模型的前提下,速度和加速度出現(xiàn)了異于正常平穩(wěn)停車的變化趨勢,則可較準(zhǔn)確地說明發(fā)生了事故。
從UA-DETRAC 數(shù)據(jù)集中隨機(jī)選取1 000 張視頻片段,其中兩車相撞、車輛觸障(單車相撞)、翻車3 種情況的圖片各50 張,共150 張,在MATLAB 環(huán)境下采用文獻(xiàn)[18]方法、文獻(xiàn)[19]方法與本文方法進(jìn)行仿真試驗(yàn)。3 種方法識(shí)別精度如表1 所示。
Table 1 Identification accuracy of three methods表1 3 種方法識(shí)別精度
由表1 可知,本文方法針對(duì)車禍的多種不同場景均有較好的檢測效果,文獻(xiàn)[18]方法、文獻(xiàn)[19]方法的識(shí)別精度均不超過0.9,而本文方法的識(shí)別精度均在0.9 左右,通過添加輔助判斷方式使得檢測精度提升了約20%。兩車相撞相對(duì)于翻車與車輛觸障事故而言,受環(huán)境因素影響較大,所以識(shí)別精度有所降低,符合實(shí)驗(yàn)預(yù)期。通過上述結(jié)果可以驗(yàn)證,本文方法具有較高的識(shí)別精度。
在相同條件下對(duì)上述3 種方法的平均識(shí)別時(shí)間進(jìn)行統(tǒng)計(jì),如表2 所示。
Table 2 Average identification time of the three methods表2 3 種方法平均識(shí)別時(shí)間 單位:s
由表2 可知,識(shí)別時(shí)間隨著車禍類型復(fù)雜性的提升而增加,文獻(xiàn)[18]與文獻(xiàn)[19]的方法由于需要使用神經(jīng)網(wǎng)絡(luò)進(jìn)行復(fù)雜的迭代運(yùn)算,需要消耗大量計(jì)算時(shí)間。本文方法針對(duì)消耗時(shí)間的步驟進(jìn)行優(yōu)化,采用算法并行方式可在一定程度上節(jié)省識(shí)別時(shí)間。因此,本文方法相比其他兩種方法識(shí)別時(shí)間顯著縮短,性能有了極大改善。
本文利用道路旁隨處可見的路燈并結(jié)合人工智能技術(shù),設(shè)計(jì)一個(gè)智慧路燈場景下的車禍預(yù)警系統(tǒng)。首先使用YOLOv3 目標(biāo)檢測算法對(duì)智慧路燈獲得的大量視頻數(shù)據(jù)進(jìn)行篩選與處理,篩選出只包含車輛信息的視頻圖像,然后利用背景差分法與卡爾曼濾波跟蹤算法獲得車輛的灰度值和速度、加速度等車輛特征信息,之后根據(jù)已有的車禍特征信息建立識(shí)別模板,對(duì)獲得的車輛灰度值信息與模板在一定范圍內(nèi)進(jìn)行匹配,匹配成功后再結(jié)合獲得的車輛加速度與速度信息進(jìn)行輔助判斷。由于車輛事故發(fā)生的突然性,其車輛速度及加速度信息必然與平穩(wěn)停車有所差別,利用該特點(diǎn)可進(jìn)行事故的輔助判斷,從而提高檢測精度。但本文方法目前仍存在一定缺陷,如車禍現(xiàn)場的復(fù)雜程度往往對(duì)檢測精度有較大影響。隨著人工智能技術(shù)應(yīng)用于交通領(lǐng)域的相關(guān)研究越來越深入,相信未來會(huì)提出更加完善的識(shí)別算法。