曾令秋 馬濟(jì)森 韓慶文 葉蕾
摘? ?要:針對行人在交通場景對車輛駕駛造成的影響和輔助駕駛需要對行人進(jìn)行避險的問題,提出一種基于車載單目攝像機(jī)的行人危險度評估方法.基于中國城市的特色環(huán)境,將行車環(huán)境劃分為三類:普通道路、人行橫道和有輔警道路,對每類場景采用不同的評估方法.采用卷積神經(jīng)網(wǎng)絡(luò),檢測視頻中道路上的行人、輔警、信號燈和人行道等信息;檢測行人關(guān)鍵點(diǎn)并使用多目標(biāo)跟蹤方法,生成骨架姿態(tài)時間序列,通過LSTM(長短時記憶神經(jīng)網(wǎng)絡(luò))分析姿態(tài)序列獲得行人行為和趨勢;最后綜合視頻信息、行人信息和場景信息,構(gòu)建行人危險評估模型,實現(xiàn)行人危險度評估.實驗結(jié)果表明,提出的模型可以有效地評估行人危險度,輔助駕駛員安全行車,場景分類使危險模型評估結(jié)果更符合行人實際危險度.
關(guān)鍵詞:行人安全;行人行為分析;輔助駕駛;多場景分析
中圖分類號:TP399 ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)志碼:A? ??文章編號:1674—2974(2020)08—0042—07
Abstract:In view of the influence of pedestrians on vehicle driving in traffic scenes and the problem that the assisted driving needs to avoid the danger for pedestrians, a pedestrian hazard assessment method based on vehicle-mounted monocular cameras is proposed. Based on the characteristic environment of Chinese cities, this paper divided the driving environment into three scenarios: regular roads, crosswalks, auxiliary roads. Different risk assessment methods are used for each type of scenarios. A convolutional neural network is used to detect and identify pedestrians, auxiliary police, signal lights and sidewalks on the road in the video. Then, it detects the key points of the pedestrian and uses the multi-target tracking method to generate the time series of the pedestrian skeleton. Pedestrian behavior and trend are obtained through LSTM(Long-Short Term Memory Neural Network) analysis of posture sequences. Finally, a pedestrian hazard assessment model is? built to realize the pedestrian hazard assessment in multi road scene by synthesizing the video information, pedestrian information and scene information. The experimental results show that the scene classification makes the assessment results of the hazard model more consistent with the actual pedestrian hazard. The proposed model can effectively evaluate the pedestrian hazard and assist the drivers to drive safely.
Key words:pedestrian safety;pedestrian behavior analysis;assisted driving;multi scenario analysis
現(xiàn)代智能交通安全輔助駕駛系統(tǒng)(Safety Driving Assist System,SDAS)應(yīng)用通信與控制系統(tǒng)技術(shù)和計算機(jī)視覺原理,可以對感知范圍的行人進(jìn)行分析,輔助駕駛員發(fā)現(xiàn)危險情況,有效降低碰撞率,對于車載駕駛系統(tǒng)有著十分重要的作用.其中的關(guān)鍵環(huán)節(jié)包括分析感知范圍內(nèi)的環(huán)境信息、評估場景危險程度等.
駕駛員在駕駛過程中會對視野中的行人行為的危險程度進(jìn)行主觀判斷和分析,主觀判斷分析會存在一定錯誤,容易導(dǎo)致意外發(fā)生,這時需要輔助駕駛系統(tǒng)主動采取避讓措施.通過觀察行人姿勢的變化來判斷和預(yù)測行人可能的行為,評估汽車與行人之間的碰撞率,并做出相應(yīng)的反應(yīng). 研究發(fā)現(xiàn),對行人的多種屬性綜合考慮,可以提高行人意圖分析的準(zhǔn)確率.
基于計算機(jī)視覺算法對行人行為進(jìn)行分析處理并判斷行人意圖是當(dāng)前研究熱點(diǎn),學(xué)者們在行人意圖分析方面,開展了相關(guān)研究工作[1]. 目前關(guān)于行人意圖分析的研究大多側(cè)重于路徑預(yù)測和固定場景研究[2-3],對推廣到輔助駕駛系統(tǒng)有一定困難.部分學(xué)者傾向于通過分析行人運(yùn)動姿態(tài)的變化規(guī)律,判斷行人是否有通過馬路的意圖[4]. 文獻(xiàn) [5]同樣對行人姿態(tài)進(jìn)行分析,得到396維的姿態(tài)特征,預(yù)測單目圖像中行人過馬路的意圖. 文獻(xiàn) [6]基于詳細(xì)的三維姿態(tài)信息對行人姿態(tài)骨架特征進(jìn)行意圖識別. 文獻(xiàn) [7]利用行人頭肩骨骼關(guān)節(jié)的位移生成行人姿態(tài)序列來識別行人意圖,對多人場景適應(yīng)性較差. 文獻(xiàn) [8]基于身體重心和質(zhì)心分析行人姿態(tài)和方向,結(jié)合空間位置檢測行人穿越街道的意圖.這些對行人意圖的分析提供了許多不同的研究方向和思路.
由于目前關(guān)于行人意圖方面的研究未考慮行車場景的劃分,僅研究行人在一般道路上的過街意圖,未針對道路類別進(jìn)行區(qū)分,不適用于多場景下的行人行為對車輛駕駛影響的分析,如行人在人行橫道過馬路和一般道路上過馬路的風(fēng)險是不同的,并且行人、輔警和道路共同約束了人車交互的場景. 因此,本文重點(diǎn)研究不同道路場景中的行人行為危險評估,通過對行人危險評估模型的應(yīng)用場景進(jìn)行分類,包括普通道路、人行橫道和有輔警道路. 結(jié)合實際行車場景中的道路信息、駕駛信息和行人行為,綜合評估行人行為危險程度.
1? ?數(shù)據(jù)預(yù)處理
目前,輔助駕駛領(lǐng)域的公開數(shù)據(jù)集有很多,本文選取3種廣泛應(yīng)用于計算機(jī)視覺領(lǐng)域的數(shù)據(jù)集,用于目標(biāo)檢測和行人、道路信息提取,分別是目標(biāo)檢測領(lǐng)域的COCO2017[9]數(shù)據(jù)集、自動駕駛領(lǐng)域的BDD100K[10]數(shù)據(jù)集和JAAD[11]數(shù)據(jù)集. COCO2017數(shù)據(jù)集和BDD100K數(shù)據(jù)集包含的場景類別數(shù)量和數(shù)據(jù)規(guī)模如表1所示.
COCO2017數(shù)據(jù)集已對圖像中的目標(biāo)進(jìn)行分割和位置標(biāo)定,并對圖像中的人體關(guān)鍵點(diǎn)進(jìn)行標(biāo)注,包含17種用于表示人體姿態(tài)的關(guān)鍵點(diǎn)信息.
BDD100K數(shù)據(jù)集包含10萬張圖像,每張圖像來源于真實駕駛場景中的第10幀視頻圖像,并對道路目標(biāo)、可行駛區(qū)域等進(jìn)行了標(biāo)注.
JAAD數(shù)據(jù)集共有346段自然行駛狀態(tài)的視頻,視頻每秒30幀,分辨率為1 920 × 1 080. 該數(shù)據(jù)集考慮到行人行為和交通場景的復(fù)雜性,對多種因素進(jìn)行注釋,如不同的天氣條件、行人反應(yīng)、道路因素、交通場景和人口統(tǒng)計等等.
該數(shù)據(jù)集共標(biāo)注2 700人,并對其中686人的行為狀態(tài)、場景信息等細(xì)節(jié)進(jìn)行了詳細(xì)的標(biāo)注. 本文利用686人(其中211人處于路口)的標(biāo)注信息,進(jìn)行圖像篩選,得到132 700張僅包含行人的圖像(共686段序列),每張圖像記錄行人ID、視頻幀數(shù)、位置、遮擋、手勢、反應(yīng)、行動、過馬路狀態(tài)、過馬路位置等信息. 本文對視頻中的圖像序列進(jìn)行行人關(guān)鍵點(diǎn)的檢測,得到行人的關(guān)鍵點(diǎn)位置信息,同時結(jié)合反應(yīng)、手勢、行走標(biāo)注,生成行為的3類劃分,即站立、行走、跑步. 對生成的686個行人關(guān)鍵點(diǎn)序列,進(jìn)行篩選處理,刪除無效檢測數(shù)據(jù)并矯正較差數(shù)據(jù),最終獲取需要的行人行為的訓(xùn)練數(shù)據(jù)90 644張,作為行人行為模型訓(xùn)練和驗證數(shù)據(jù).
數(shù)據(jù)選擇流程如下:
1)根據(jù)數(shù)據(jù)集中的標(biāo)注信息對有詳細(xì)標(biāo)注的行人圖像進(jìn)行提取,并保留圖像序列和相應(yīng)標(biāo)注信息.
2)通過關(guān)鍵點(diǎn)檢測方法對無遮擋行人序列進(jìn)行處理,獲得每個序列行人的關(guān)鍵點(diǎn)信息.
3)對關(guān)鍵點(diǎn)信息進(jìn)行篩選.
(a)選取有效數(shù)據(jù),即頭、肩、手、腿等明顯關(guān)節(jié)處關(guān)鍵點(diǎn)信息無誤檢的數(shù)據(jù).
(b)填補(bǔ)數(shù)據(jù),根據(jù)前后準(zhǔn)確幀校準(zhǔn)數(shù)據(jù).
(c)提取序列大于8的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù).
(d)對關(guān)鍵點(diǎn)坐標(biāo)進(jìn)行歸一化處理.
4)對提取有效序列的行人標(biāo)注其行為,根據(jù)詳細(xì)標(biāo)注,得到90 644張圖,分為站立(15 261張)、行走(72 123張)、跑步(3 260張)3類.最終獲得長度9的標(biāo)注序列43 274條.
2? ?危險評估模型
本文提出的行人危險評估模型,總體框架如圖1所示.
首先對交通場景中的斑馬線、行車道、信號燈、輔警和行人等目標(biāo)信息進(jìn)行檢測;然后根據(jù)檢測出的道路信息對場景進(jìn)行分類,分為普通道路、人行橫道、有輔警道路3類;再使用deepsort[12]對行人進(jìn)行跟蹤,得到行人姿態(tài)的時間序列,通過LSTM(Long Short Term Memory)網(wǎng)絡(luò)得到行人行為的分類輸出,類別包括站立、行走、跑步;最后結(jié)合行人的行為、位置和道路信息,評估行人危險度.
2.1? ?目標(biāo)檢測
目標(biāo)檢測在智能駕駛研究中有著廣泛的應(yīng)用.目標(biāo)檢測的準(zhǔn)確率對后續(xù)的行人跟蹤和姿態(tài)評估有重要影響,最終影響行人危險度評估的準(zhǔn)確率. 目前,目標(biāo)檢測方法發(fā)展迅速,已經(jīng)從傳統(tǒng)的基于滑動窗口策略的檢測方法發(fā)展到當(dāng)前的基于深度學(xué)習(xí)的檢測方法. 由于Mask RCNN是一個實例分割架構(gòu),不僅可以檢測目標(biāo),還可用于姿態(tài)估計,因此本文綜合考慮實際場景,采用Mask RCNN[13]作為目標(biāo)檢測方法.
Mask RCNN是Faster RCNN的框架的拓展,通過在Faster RCNN網(wǎng)絡(luò)中增加全連接網(wǎng)絡(luò),提升算法靈活性. 如圖2所示,本文采用Resnet101網(wǎng)絡(luò)獲取主干網(wǎng)絡(luò)圖像特征,采用RPN生成建議框,采用ROI Align對建議框進(jìn)行處理,最終通過FCN得到目標(biāo)檢測結(jié)果.
如圖3所示,輸入主干網(wǎng)絡(luò)圖像后獲得多圖層級特征,如第一行特征圖像所示,特征圖像的尺寸依次減小,第二行圖像為通過上采樣和特征融合得到的多層特征融合圖像,每層特征含有不同層級的圖像信息和目標(biāo)檢測框,經(jīng)過極大值抑制選取高置信度的目標(biāo)檢測框,作為全連接網(wǎng)絡(luò)的輸入,得到最終目標(biāo)檢測結(jié)果.
在全連接網(wǎng)絡(luò)中,添加了一個人體關(guān)鍵點(diǎn)檢測分支任務(wù),損失計算加入檢測框損失、分類損失、實例損失,其中檢測框損失為:
式中:x為檢測框的真實值和預(yù)測值之間的差值. 分類損失和關(guān)鍵點(diǎn)損失為交叉熵?fù)p失H y′(y)的均值,表示如下:
式中:y′和y分別為真實標(biāo)簽和該標(biāo)簽輸出值.目標(biāo)檢測對4類進(jìn)行檢測,分別是道路場景的人行橫道、信號燈、輔警和行人. 本文對單目車載視頻,每幀應(yīng)用目標(biāo)檢測模型,得到圖像中目標(biāo)的位置信息,以及車道信息[14]中的行人關(guān)鍵點(diǎn)的信息. 道路場景的檢測是對場景分類的基礎(chǔ). 行人檢測在后續(xù)多目標(biāo)跟蹤、行人和道路位置分析、行人行為分析中有重要作用.
2.2? ?道路分類
在已有的行人分析方法中,主要研究行人意圖,未對道路場景進(jìn)行區(qū)分.本文針對不同道路場景對行人危險度的影響,以重慶為例對國內(nèi)的城市道路進(jìn)行分析,分別在雙休日和工作日的下午14:00-18:00,記錄沙坪壩區(qū)學(xué)校附近的3個路口(包含指揮情況)的過街行人數(shù)量;工作日非高峰期(下午14:00-16:00)的普通路段過街行人情況,后者由記錄儀在實際行車場景記錄,并紀(jì)錄了違規(guī)行人的數(shù)量,具體數(shù)量見表2.
結(jié)果表明,在有輔警道路場景,過街行人數(shù)量最多,同時違規(guī)人數(shù)比例較低;無輔警道路場景,人行橫道處存在較多行人過馬路不遵守紅綠燈,大幅超出斑馬線區(qū)域的情形,而在普通道路,則極少有行人橫穿馬路,故將交通場景分為3類:
1)普通道路.
2)人行橫道.人行橫道是人車交互頻繁的場景,所以本文將有人行橫道的場景與一般行車時場景區(qū)分開.
3)有輔警道路.有輔警指揮的地方,行人、車輛更為密集,但雙方也有更大的約束和注意力.
3種道路場景如圖4所示.
2.3? ?行人行為檢測
通過上文的行人識別,本文得到了行人檢測框,以及檢測框中的行人骨架節(jié)點(diǎn).檢測行人之后對行人進(jìn)行追蹤,使用獲得的2D姿態(tài)數(shù)據(jù),累積行人骨架隨時間變化的骨架特征.
本文使用一種多目標(biāo)跟蹤方法Deepsort[12],算法主要使用兩種關(guān)聯(lián)關(guān)系來衡量是否匹配.
1)運(yùn)動關(guān)聯(lián)d (1) :使用馬氏距離描述.
式中:dj表示第j個檢測框的位置;yi表示第i個跟蹤器對目標(biāo)的預(yù)測位置;Si表示檢測位置與平均跟蹤位置之間的協(xié)方差矩陣.
2)外觀關(guān)聯(lián)d(2) :使用余弦距離度量.
對每一個dj得到一個特征向量rj(128維,基于文獻(xiàn)[12]的方法),T為矩陣的轉(zhuǎn)置,對每一個跟蹤目標(biāo)構(gòu)建序列Ri,存儲每一個跟蹤目標(biāo)成功關(guān)聯(lián)的最近k幀的特征向量. 對兩種匹配加權(quán)融合,得到關(guān)聯(lián)結(jié)果Ci,j為:
由于車載視頻的運(yùn)行性,運(yùn)動關(guān)聯(lián)有較差效果,但運(yùn)動關(guān)聯(lián)的閾值依然有效,如果不滿足關(guān)聯(lián)閾值,就不能進(jìn)入綜合度量,這里λ = 0.1. 運(yùn)動關(guān)聯(lián)對短期預(yù)測特別有用;外觀關(guān)聯(lián)對長時間遮擋有效.
對于跟蹤匹配參數(shù),本文設(shè)置預(yù)匹配和匹配失敗的閾值,如果連續(xù)9幀(0.3 s)之內(nèi)沒有匹配,則跟蹤生成新的行人. 如果在30幀(1 s)內(nèi),行人沒有高匹配分?jǐn)?shù)和新的檢測結(jié)果則結(jié)束跟蹤.
將獲得的行人的骨架節(jié)點(diǎn)序列,經(jīng)過LSTM網(wǎng)絡(luò)學(xué)習(xí),獲得行人行為的分類輸出,包括站立、行走、跑步等. LSTM是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)能解決長依賴問題,適合于對序列信息進(jìn)行預(yù)測.所以本文選擇LSTM網(wǎng)絡(luò)來得到行人行為分類,LSTM模型的建立如表3所示.
表3中的輸入值有3維,第一維為批處理數(shù)量150,決定了每次更新網(wǎng)絡(luò)參數(shù)的參考數(shù)據(jù)量;第二維為行為姿態(tài)序列的時間步長9,這跟本文跟蹤方法中,出現(xiàn)新的行人確定幀數(shù)是相同的;第三維就是本文網(wǎng)絡(luò)使用的主要關(guān)鍵點(diǎn)特征數(shù).輸出層為全連接和softmax結(jié)合,得到3種行為的分類. LSTM網(wǎng)絡(luò)分兩層,每層64個神經(jīng)元.
2.4? ?行人危險評估
最后通過行人危險度評估模型得到行人危險值. 行人危險評估模型的分場景評估算法流程如圖5所示.
模型綜合了目標(biāo)檢測的結(jié)果,對行人信息、道路信息進(jìn)行結(jié)合.考慮城市道路環(huán)境特色和行人在多種道路場景的不同反映,得到的行人危險度函數(shù)為:
式中:A(p) 是不同場景下行人行為的危險度;B(p)是在不同場景下行人與道路相對位置的危險度;p代表場景分類. 危險度設(shè)計為[0,1]之間的值,危險函數(shù)的值越接近1,表示行人具有越高的危險度,各危險度情況如表4所示.
在表4中,a、b和c代表了道路的分類,在普通道路,行為和位置有相同的影響;在人行橫道,運(yùn)動行人有明顯的過馬路意圖,危險度更高;在有指揮的情況下,人車行為更規(guī)范,并且行人十分密集,檢測難度高,這時位置的影響更大. A(p)代表在場景p的情況下行人站立、行走、跑步3種行為的危險度. 通過數(shù)據(jù)分析,A(a) = (0,20%,40%)表示在一般道路交通場景下行人站立、行走、跑步3種行為對應(yīng)的危險度分別為0、20%、40%. B(p)為道路位置信息和行人檢測框位置的相對關(guān)系,公式如下:
式中:Bpmax和Bpmin為在p場景下行人的最大危險度和最小危險度. S為圖像寬度的一半;P為行人下邊框中心點(diǎn)距側(cè)邊框的距離;R為道路位置(單側(cè)),位置都是基于圖像尺寸而得,公式中3個參數(shù)區(qū)分在圖像的左右半?yún)^(qū). 綜合A(p)和B(p)得到行人在多種道路場景的危險度.
3? ?實驗結(jié)果與分析
3.1? ?數(shù)據(jù)集
為了測試驗證本文提出方法的有效性,采用在計算機(jī)視覺領(lǐng)域廣泛應(yīng)用的COCO2017數(shù)據(jù)集、BDD100K數(shù)據(jù)集和重慶市街景數(shù)據(jù)集,用于提取圖像特征、訓(xùn)練目標(biāo)檢測模型,以及測試目標(biāo)檢測模型和行為危險評估模型的性能.
本文選取500張圖像進(jìn)行標(biāo)注,標(biāo)注圖像中的行為、信號燈、人行橫道及其類別、輔警檢測框等,其中400張已標(biāo)注的圖像用于訓(xùn)練,剩余100張圖像用于測試驗證. 測試數(shù)據(jù)涉及80個普通道路場景,30個人行橫道場景以及10個有輔警場景.
3.2? ?超參數(shù)設(shè)置
超參數(shù)的設(shè)置會影響Mask RCNN的效果和性能,本文設(shè)置超參數(shù)的原則是保證準(zhǔn)確性的同時盡可能提升訓(xùn)練和檢測速度. 本文分別針對不同的數(shù)據(jù)集設(shè)置不同的超參數(shù),具體參數(shù)設(shè)置如表5所示.