曾令秋 馬濟森 韓慶文 葉蕾



摘? ?要:針對行人在交通場景對車輛駕駛造成的影響和輔助駕駛需要對行人進行避險的問題,提出一種基于車載單目攝像機的行人危險度評估方法.基于中國城市的特色環境,將行車環境劃分為三類:普通道路、人行橫道和有輔警道路,對每類場景采用不同的評估方法.采用卷積神經網絡,檢測視頻中道路上的行人、輔警、信號燈和人行道等信息;檢測行人關鍵點并使用多目標跟蹤方法,生成骨架姿態時間序列,通過LSTM(長短時記憶神經網絡)分析姿態序列獲得行人行為和趨勢;最后綜合視頻信息、行人信息和場景信息,構建行人危險評估模型,實現行人危險度評估.實驗結果表明,提出的模型可以有效地評估行人危險度,輔助駕駛員安全行車,場景分類使危險模型評估結果更符合行人實際危險度.
關鍵詞:行人安全;行人行為分析;輔助駕駛;多場景分析
中圖分類號:TP399 ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標志碼: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
現代智能交通安全輔助駕駛系統(Safety Driving Assist System,SDAS)應用通信與控制系統技術和計算機視覺原理,可以對感知范圍的行人進行分析,輔助駕駛員發現危險情況,有效降低碰撞率,對于車載駕駛系統有著十分重要的作用.其中的關鍵環節包括分析感知范圍內的環境信息、評估場景危險程度等.
駕駛員在駕駛過程中會對視野中的行人行為的危險程度進行主觀判斷和分析,主觀判斷分析會存在一定錯誤,容易導致意外發生,這時需要輔助駕駛系統主動采取避讓措施.通過觀察行人姿勢的變化來判斷和預測行人可能的行為,評估汽車與行人之間的碰撞率,并做出相應的反應. 研究發現,對行人的多種屬性綜合考慮,可以提高行人意圖分析的準確率.
基于計算機視覺算法對行人行為進行分析處理并判斷行人意圖是當前研究熱點,學者們在行人意圖分析方面,開展了相關研究工作[1]. 目前關于行人意圖分析的研究大多側重于路徑預測和固定場景研究[2-3],對推廣到輔助駕駛系統有一定困難.部分學者傾向于通過分析行人運動姿態的變化規律,判斷行人是否有通過馬路的意圖[4]. 文獻 [5]同樣對行人姿態進行分析,得到396維的姿態特征,預測單目圖像中行人過馬路的意圖. 文獻 [6]基于詳細的三維姿態信息對行人姿態骨架特征進行意圖識別. 文獻 [7]利用行人頭肩骨骼關節的位移生成行人姿態序列來識別行人意圖,對多人場景適應性較差. 文獻 [8]基于身體重心和質心分析行人姿態和方向,結合空間位置檢測行人穿越街道的意圖.這些對行人意圖的分析提供了許多不同的研究方向和思路.
由于目前關于行人意圖方面的研究未考慮行車場景的劃分,僅研究行人在一般道路上的過街意圖,未針對道路類別進行區分,不適用于多場景下的行人行為對車輛駕駛影響的分析,如行人在人行橫道過馬路和一般道路上過馬路的風險是不同的,并且行人、輔警和道路共同約束了人車交互的場景. 因此,本文重點研究不同道路場景中的行人行為危險評估,通過對行人危險評估模型的應用場景進行分類,包括普通道路、人行橫道和有輔警道路. 結合實際行車場景中的道路信息、駕駛信息和行人行為,綜合評估行人行為危險程度.
1? ?數據預處理
目前,輔助駕駛領域的公開數據集有很多,本文選取3種廣泛應用于計算機視覺領域的數據集,用于目標檢測和行人、道路信息提取,分別是目標檢測領域的COCO2017[9]數據集、自動駕駛領域的BDD100K[10]數據集和JAAD[11]數據集. COCO2017數據集和BDD100K數據集包含的場景類別數量和數據規模如表1所示.
COCO2017數據集已對圖像中的目標進行分割和位置標定,并對圖像中的人體關鍵點進行標注,包含17種用于表示人體姿態的關鍵點信息.
BDD100K數據集包含10萬張圖像,每張圖像來源于真實駕駛場景中的第10幀視頻圖像,并對道路目標、可行駛區域等進行了標注.
JAAD數據集共有346段自然行駛狀態的視頻,視頻每秒30幀,分辨率為1 920 × 1 080. 該數據集考慮到行人行為和交通場景的復雜性,對多種因素進行注釋,如不同的天氣條件、行人反應、道路因素、交通場景和人口統計等等.
該數據集共標注2 700人,并對其中686人的行為狀態、場景信息等細節進行了詳細的標注. 本文利用686人(其中211人處于路口)的標注信息,進行圖像篩選,得到132 700張僅包含行人的圖像(共686段序列),每張圖像記錄行人ID、視頻幀數、位置、遮擋、手勢、反應、行動、過馬路狀態、過馬路位置等信息. 本文對視頻中的圖像序列進行行人關鍵點的檢測,得到行人的關鍵點位置信息,同時結合反應、手勢、行走標注,生成行為的3類劃分,即站立、行走、跑步. 對生成的686個行人關鍵點序列,進行篩選處理,刪除無效檢測數據并矯正較差數據,最終獲取需要的行人行為的訓練數據90 644張,作為行人行為模型訓練和驗證數據.
數據選擇流程如下:
1)根據數據集中的標注信息對有詳細標注的行人圖像進行提取,并保留圖像序列和相應標注信息.
2)通過關鍵點檢測方法對無遮擋行人序列進行處理,獲得每個序列行人的關鍵點信息.
3)對關鍵點信息進行篩選.
(a)選取有效數據,即頭、肩、手、腿等明顯關節處關鍵點信息無誤檢的數據.
(b)填補數據,根據前后準確幀校準數據.
(c)提取序列大于8的數據作為訓練數據.
(d)對關鍵點坐標進行歸一化處理.
4)對提取有效序列的行人標注其行為,根據詳細標注,得到90 644張圖,分為站立(15 261張)、行走(72 123張)、跑步(3 260張)3類.最終獲得長度9的標注序列43 274條.
2? ?危險評估模型
本文提出的行人危險評估模型,總體框架如圖1所示.
首先對交通場景中的斑馬線、行車道、信號燈、輔警和行人等目標信息進行檢測;然后根據檢測出的道路信息對場景進行分類,分為普通道路、人行橫道、有輔警道路3類;再使用deepsort[12]對行人進行跟蹤,得到行人姿態的時間序列,通過LSTM(Long Short Term Memory)網絡得到行人行為的分類輸出,類別包括站立、行走、跑步;最后結合行人的行為、位置和道路信息,評估行人危險度.
2.1? ?目標檢測
目標檢測在智能駕駛研究中有著廣泛的應用.目標檢測的準確率對后續的行人跟蹤和姿態評估有重要影響,最終影響行人危險度評估的準確率. 目前,目標檢測方法發展迅速,已經從傳統的基于滑動窗口策略的檢測方法發展到當前的基于深度學習的檢測方法. 由于Mask RCNN是一個實例分割架構,不僅可以檢測目標,還可用于姿態估計,因此本文綜合考慮實際場景,采用Mask RCNN[13]作為目標檢測方法.
Mask RCNN是Faster RCNN的框架的拓展,通過在Faster RCNN網絡中增加全連接網絡,提升算法靈活性. 如圖2所示,本文采用Resnet101網絡獲取主干網絡圖像特征,采用RPN生成建議框,采用ROI Align對建議框進行處理,最終通過FCN得到目標檢測結果.
如圖3所示,輸入主干網絡圖像后獲得多圖層級特征,如第一行特征圖像所示,特征圖像的尺寸依次減小,第二行圖像為通過上采樣和特征融合得到的多層特征融合圖像,每層特征含有不同層級的圖像信息和目標檢測框,經過極大值抑制選取高置信度的目標檢測框,作為全連接網絡的輸入,得到最終目標檢測結果.
在全連接網絡中,添加了一個人體關鍵點檢測分支任務,損失計算加入檢測框損失、分類損失、實例損失,其中檢測框損失為:
式中:x為檢測框的真實值和預測值之間的差值. 分類損失和關鍵點損失為交叉熵損失H y′(y)的均值,表示如下:
式中:y′和y分別為真實標簽和該標簽輸出值.目標檢測對4類進行檢測,分別是道路場景的人行橫道、信號燈、輔警和行人. 本文對單目車載視頻,每幀應用目標檢測模型,得到圖像中目標的位置信息,以及車道信息[14]中的行人關鍵點的信息. 道路場景的檢測是對場景分類的基礎. 行人檢測在后續多目標跟蹤、行人和道路位置分析、行人行為分析中有重要作用.
2.2? ?道路分類
在已有的行人分析方法中,主要研究行人意圖,未對道路場景進行區分.本文針對不同道路場景對行人危險度的影響,以重慶為例對國內的城市道路進行分析,分別在雙休日和工作日的下午14:00-18:00,記錄沙坪壩區學校附近的3個路口(包含指揮情況)的過街行人數量;工作日非高峰期(下午14:00-16:00)的普通路段過街行人情況,后者由記錄儀在實際行車場景記錄,并紀錄了違規行人的數量,具體數量見表2.
結果表明,在有輔警道路場景,過街行人數量最多,同時違規人數比例較低;無輔警道路場景,人行橫道處存在較多行人過馬路不遵守紅綠燈,大幅超出斑馬線區域的情形,而在普通道路,則極少有行人橫穿馬路,故將交通場景分為3類:
1)普通道路.
2)人行橫道.人行橫道是人車交互頻繁的場景,所以本文將有人行橫道的場景與一般行車時場景區分開.
3)有輔警道路.有輔警指揮的地方,行人、車輛更為密集,但雙方也有更大的約束和注意力.
3種道路場景如圖4所示.
2.3? ?行人行為檢測
通過上文的行人識別,本文得到了行人檢測框,以及檢測框中的行人骨架節點.檢測行人之后對行人進行追蹤,使用獲得的2D姿態數據,累積行人骨架隨時間變化的骨架特征.
本文使用一種多目標跟蹤方法Deepsort[12],算法主要使用兩種關聯關系來衡量是否匹配.
1)運動關聯d (1) :使用馬氏距離描述.
式中:dj表示第j個檢測框的位置;yi表示第i個跟蹤器對目標的預測位置;Si表示檢測位置與平均跟蹤位置之間的協方差矩陣.
2)外觀關聯d(2) :使用余弦距離度量.
對每一個dj得到一個特征向量rj(128維,基于文獻[12]的方法),T為矩陣的轉置,對每一個跟蹤目標構建序列Ri,存儲每一個跟蹤目標成功關聯的最近k幀的特征向量. 對兩種匹配加權融合,得到關聯結果Ci,j為:
由于車載視頻的運行性,運動關聯有較差效果,但運動關聯的閾值依然有效,如果不滿足關聯閾值,就不能進入綜合度量,這里λ = 0.1. 運動關聯對短期預測特別有用;外觀關聯對長時間遮擋有效.
對于跟蹤匹配參數,本文設置預匹配和匹配失敗的閾值,如果連續9幀(0.3 s)之內沒有匹配,則跟蹤生成新的行人. 如果在30幀(1 s)內,行人沒有高匹配分數和新的檢測結果則結束跟蹤.
將獲得的行人的骨架節點序列,經過LSTM網絡學習,獲得行人行為的分類輸出,包括站立、行走、跑步等. LSTM是一種特殊的循環神經網絡,該網絡能解決長依賴問題,適合于對序列信息進行預測.所以本文選擇LSTM網絡來得到行人行為分類,LSTM模型的建立如表3所示.
表3中的輸入值有3維,第一維為批處理數量150,決定了每次更新網絡參數的參考數據量;第二維為行為姿態序列的時間步長9,這跟本文跟蹤方法中,出現新的行人確定幀數是相同的;第三維就是本文網絡使用的主要關鍵點特征數.輸出層為全連接和softmax結合,得到3種行為的分類. LSTM網絡分兩層,每層64個神經元.
2.4? ?行人危險評估
最后通過行人危險度評估模型得到行人危險值. 行人危險評估模型的分場景評估算法流程如圖5所示.
模型綜合了目標檢測的結果,對行人信息、道路信息進行結合.考慮城市道路環境特色和行人在多種道路場景的不同反映,得到的行人危險度函數為:
式中:A(p) 是不同場景下行人行為的危險度;B(p)是在不同場景下行人與道路相對位置的危險度;p代表場景分類. 危險度設計為[0,1]之間的值,危險函數的值越接近1,表示行人具有越高的危險度,各危險度情況如表4所示.
在表4中,a、b和c代表了道路的分類,在普通道路,行為和位置有相同的影響;在人行橫道,運動行人有明顯的過馬路意圖,危險度更高;在有指揮的情況下,人車行為更規范,并且行人十分密集,檢測難度高,這時位置的影響更大. A(p)代表在場景p的情況下行人站立、行走、跑步3種行為的危險度. 通過數據分析,A(a) = (0,20%,40%)表示在一般道路交通場景下行人站立、行走、跑步3種行為對應的危險度分別為0、20%、40%. B(p)為道路位置信息和行人檢測框位置的相對關系,公式如下:
式中:Bpmax和Bpmin為在p場景下行人的最大危險度和最小危險度. S為圖像寬度的一半;P為行人下邊框中心點距側邊框的距離;R為道路位置(單側),位置都是基于圖像尺寸而得,公式中3個參數區分在圖像的左右半區. 綜合A(p)和B(p)得到行人在多種道路場景的危險度.
3? ?實驗結果與分析
3.1? ?數據集
為了測試驗證本文提出方法的有效性,采用在計算機視覺領域廣泛應用的COCO2017數據集、BDD100K數據集和重慶市街景數據集,用于提取圖像特征、訓練目標檢測模型,以及測試目標檢測模型和行為危險評估模型的性能.
本文選取500張圖像進行標注,標注圖像中的行為、信號燈、人行橫道及其類別、輔警檢測框等,其中400張已標注的圖像用于訓練,剩余100張圖像用于測試驗證. 測試數據涉及80個普通道路場景,30個人行橫道場景以及10個有輔警場景.
3.2? ?超參數設置
超參數的設置會影響Mask RCNN的效果和性能,本文設置超參數的原則是保證準確性的同時盡可能提升訓練和檢測速度. 本文分別針對不同的數據集設置不同的超參數,具體參數設置如表5所示.