劉建蓓,單東輝,郭忠印,駱中斌,張志偉
(1. 同濟大學 道路與交通工程教育部重點實驗室,上海 201804;2.中交第一公路勘察設計研究院有限公司,陜西 西安 710065;3. 交通安全應急保障技術交通運輸行業研發中心,陜西 西安 710065)
交通監測是交通運營管理的基礎,交通監測主要依賴于各類檢測設備,主要分類兩類:固定型交通檢測器(如微波、雷達等)和移動型交通檢測設備(GPS,浮動車等)。然而,固定型交通檢測器布設數量有限、且僅能獲取斷點數據,難以準確評估連續路段的交通狀態;移動型檢測設備受抽樣率的影響,在可靠性方面有一定局限性。因此,如何機動靈活、實時準確、高可靠性的獲取目標區域的交通參數,是智慧交通需要解決的關鍵性問題之一。
無人機通過搭載高清攝像機和通訊設備,可實現定點、巡航等機動、靈活的交通實時、連續監測。無人機視頻監測集成了固定型檢測器和移動型檢測器的特點,根據應用場景需求,可定點、可移動,且視頻信息量大、可溯源;無人機視頻結合計算機圖像處理技術,可大范圍獲取交通流量、車輛軌跡、速度等交通參數;在交通領域關注程度日益增加[1-2]。目前,無人機在交通領域的實踐與應用主要涉及交通執法和交通監測兩個方面[3-4],交通執法如在中國、美國、加拿大、俄羅斯等均有應用案例[5];交通監測主要利用無人機快捷、便利的特點,進行交通預警和決策研判,如交通事件管理、應急救援等[6-7];近期,有學者研究利用無人機群實時監測道路交通運行狀態,從而支撐交通流優化控制和擁堵方面的研究[4,8]。
無人機監測應用的關鍵在于視頻車輛檢測和跟蹤算法,通過不同時刻車輛位置信息提取其速度、軌跡等信息[9]。在車輛目標檢測方面,主要方法有光流法、背景差異法、梯度比較法及知識型檢測法等;近年來,深度學習技術的快速發展大大的推動了圖像目標檢測的效果,針對不同的檢測場景和任務,國內外研究人員提出了多種目標檢測的神經網絡,如Fast-RCNN、Faster-RCNN、YOLO等[10]。同時,發布了通用場景下的目標檢測公開數據集,用于深度學習模型的訓練,如ImageNet、COCO、Pascal VOC、KITTI Vision等。在目標跟蹤算法方面,主要分為單目標跟蹤與多目標跟蹤;單目標跟蹤是在視頻的第一幀標記目標的位置和大小,根據當幀目標的狀態,預測下幀目標的位置和大小;多目標跟蹤是每一幀有多個目標,需要在視頻中為不同的目標分配標簽,預測多個目標的位置與大小。Henriques等人提出了KCF算法[11],KCF算法在當前幀目標區域采樣,訓練出一個相關濾波器,然后在下一幀同一位置附近采樣,根據上一幀訓練出的相關濾波器,判斷采樣的響應程度,響應程度最大的區域則可預測為下一幀的目標所在位置。Bewley等人提出的Sort算法[12]和Deep-Sort算法[13]是非常強大的多目標跟蹤算法,Sort算法利用卡爾曼濾波器和匈牙利算法來跟蹤目標,而Deep-Sort算法則為其加入了目標特征信息來預測目標和關聯數據。中科院、牛津等在CVPR 2019提出SiamMask網絡[14],可同時預測目標的Mask和Bounding box,視頻跟蹤精度較優。
綜上所述,利用無人機視頻監測提取交通參數信息已經引起了國內外許多學者的注意,大多應用集中在交通流觀測、應急救援、執法等中宏觀層面,對于微觀車輛參數提取和驗證方面仍處于探索研究階段。基于圖像處理技術,將每幀的靜態信息檢測、跟蹤,轉變為實時動態的微觀交通參數,目前研究仍存在以下局限[15-17]:(1)無人機視頻車輛檢測和跟蹤的精度不足,通常小于90%[18-19];(2)由于交通場景復雜,無人機視頻交通參數提取精度缺乏有效的實地驗證。針對上述局限性,本研究提出一種無人機視頻交通參數提取方法,并通過現場試驗交叉驗證其可行性和可靠性。
如圖1所示,本研究提出的無人機交通參數提取方法包括外業和內業部分,外業主要采集道路特征點世界坐標和無人機視頻;內業部分主要包括世界坐標和圖像坐標轉換、車輛檢測和追蹤、車輛交通參數計算和提取。

圖1 無人機視頻交通參數提取方法及流程
交通參數的獲取需要將圖像信息轉化為真實的物理信息,即需要將圖像坐標轉化為真實坐標來計算交通參數,建立圖像坐標和世界坐標的轉換矩陣是交通參數提取的基礎。
具體方法為:從每個視頻中挑選一幀圖像作為該視頻的參考幀,記為N0;在參考幀上標記若干個標記點,并記錄其圖像坐標,同時獲取相同標記點的世界坐標,兩個坐標系下的相同的兩個序列具有對應關系,通過數學運算可計算出參考幀圖像坐標系和世界坐標系的透視投影矩陣T,從而利用透視投影矩陣T實現兩組坐標系之間的轉換,這個過程稱為單應性變換[20]。坐標關系如下表示:
(1)
式中,[uvp]為世界坐標,[x0y0z0]為參考幀N0的圖像坐標。由于圖像坐標為二維坐標,無人機飛行高度遠遠大于路面坡度差,此時坐標系轉化問題轉化為單平面轉換,故三維坐標中高程方向的參數可取1[14],可用式(2)表示:
(2)
將已知的世界坐標以及參考幀的圖像坐標代入上述公式中,即可求得透視投影矩陣T。
在假設攝像機完全固定的前提下,場景內所有相同位置的點在視頻圖像中每一幀的圖像坐標是不會變化的,因此,理想狀態下投影矩陣T適用于整個視頻。然而,在實際場景下,攝像機可能受到外界的干擾(如微風、抖動等)發生微小位移、俯仰角變化等。尤其是無人機,在采集數據的過程中不可能達到完全靜止,同一固定點不同幀的圖像坐標會發生變化。因此,在完成圖像坐標與世界坐標轉換之后,需要旋轉位移矩陣W標定第n幀與參考幀(N0)之間的對應關系,這就是圖像匹配過程[21]。如式(3)表示不同幀之間的圖像匹配過程:
(3)
式中,(xn,yn)為第n幀圖像坐標;(x0,y0)為參考幀N0圖像坐標,根據路面標記的特征點,可得到多個方程組,從而求得第n幀與參考幀之間的旋轉位移矩陣W。
車輛目標檢測是交通參數提取的前提,也是計算機視覺與圖像處理領域最受關注的任務之一。
本研究采用YOLO v3車輛檢測模型,YOLO v3的核心思想是將每一幀圖像作為網絡輸入,然后在輸出層直接回歸出目標框的位置和屬性類別,從而實現端對端的直接優化。具體過程為:將輸入圖像分為S×S個網格,當某個目標中心落在這個網格中,則該網格就負責預測該目標;然后,對每個網格預測B個邊框(Bounding Box),每一個box包含4個信息:中心點坐標(xc,yc)、高度(h)、寬度(w)及可信度(Confidence);同時,在每個網格中預測C個類別概率值;則得到S×S×B個目標預測窗口和S×S×B×(5+C)個預測參數,通過閾值篩選和非最大抑制(NMS)去除多余窗口;最終得到檢測目標節點集N={Ni,i=1,2,3,…,n}和軌跡集T={Tj,j=1,2,3,…,m}。
YOLO v3是目前精度較高、速度較快的檢測算法,在Pascal Titan X上檢測速度達到了30幀/s。在mAP相當的情況下,YOLO v3的速度為SSD的2.8倍,是RetinaNet的4倍,更是FPN FRCN的7.8倍,可見YOLO v3的處理速度優勢明顯[22]。
在目標檢測過程中,可以獲取車輛在視頻每一幀中的位置、大小等信息。為了將同一個車輛的信息在視頻所有幀統一起來,需要將在不同幀出現的同一車輛命名同一個ID,為解決此問題,多目標跟蹤算法被提出。本研究采用Deep-Sort多目標跟蹤算法。其基本思想是基于檢測的跟蹤方法(Tracking-by-detection)[23],其算法結構如圖2所示。

圖2 Deep-Sort算法結構
Deep-Sort多目標跟蹤算法是通過卡爾曼濾波在圖像空間跟蹤目標數據,以及對跟蹤和檢測結果進行重疊度評價而實現數據關聯,從而實現對目標跟蹤的算法。所花費的時間較短,精度較高的特點。實現步驟如下:
(1)將當前幀目標檢測節點集N={Ni,i=1,2,3,…,n}和軌跡集T={Tj,j=1,2,3,…,m}為數據輸入。


(4)通過匈牙利指派算法得到IOU最大的唯一匹配,進行數據關聯[24-25];采用級聯匹配的方式,使時間上臨近幾幀出現的目標具有較高的分配權重,同時對于每條軌跡存儲數值δ,記錄軌跡從上一次成功匹配到此時的時間。若δ大于某一個設定的閾值,則認為該條軌跡終止。
通過車輛目標檢測和跟蹤,能夠產生不同幀同一車輛的位置信息,通過單應性變換,計算車輛相鄰幀之間的真實移動距離,利用相鄰幀之間的時間差計算車輛的位移、瞬時車速及加速度。由于相鄰兩幀之間車輛的位置變化很小,無法準確判斷車輛的位移。本研究以5幀為間隔研究車輛的位置變化,利用相鄰幀間的時間及車輛的真實位移計算車輛在相應幀的車速、加速度車頭間距等車輛運行參數。
(1)速度
在圖像中選定檢測出車輛并對其進行跟蹤,計算圖像上車輛的速度,如式(3)所示:
(3)
式中,lpicture是車輛中心點i幀的圖像位移;Δt是相鄰兩幀的時間間隔。
通過標定車輛位置的變化可獲得車輛在圖像上的位移lpicture,根據坐標轉換關系即可計算出車輛的真實位移lture,則目標車輛的真實速度vture如式(4)所示:
(4)
(2)車道位置
除了人工標記點,道路表面的車道線是車輛參數提取的重要參考之一,通過計算車輛和車道線的位置關系,可以獲得車輛行駛的車道和軌跡信息,進而能夠分析車輛換道、超車等行為。
標定幀中每條車道線的擬合函數集F={fi(x)},其中,i為車道線的數量。將檢測框矯正后的中心點的橫坐標x′c代入F中,得到集合{ai}={fi(x′c)},通過比較y′c和ai,若:
①ai ②ai≥y′c,說明第i條車道線在該中心點的下方。 由此來判定,該中心點位于哪兩條車道線之間,從而判定該檢測框代表的車輛當前處于哪個車道。 試驗共分4個步驟:試驗路段選取、路面特征點測量、試驗車輛準備、無人機懸停拍攝。 選取西安繞城高速丈八立交出口硬鼻端至上游約1 km范圍為試驗路段(如圖3所示),選用大疆PHANTOM 4 PRO無人機進行空中俯拍,此無人機相機參數為:3 840×2 160 24/25/30p@100 Mbps,重量1.375 kg;選取路面標線和人工標記點為特征點,特征是圖像坐標和世界坐標轉換的紐帶,因此,試驗之前在試驗路段路面每間隔50 m粘貼方形標記塊(50 cm×50 cm),共增加40個人工標記點(如圖4所示),道路標線端頭作為道路自身標記點,共計386個道路特征點,并對特征點進行高精度測量,記錄其世界坐標下的經緯度坐標。 圖3 試驗路段及試驗車輛 圖4 路面標記點坐標測量 選用天寶Trimble SPS985 GNSS智能一體機RTK和車載OBD采集車輛實時運動參數。試驗車輛準備階段,用1 m×1 m方形標記塊標記兩輛試驗車輛;并在試驗車輛頂部標記中心處安裝高精度GNSS差分定位移動站,設定數據頻率為20 Hz;調試車載OBD通過藍牙與手機APP連接,實時記錄車輛總線數據。車載OBD實時輸出車輛速度、加速度、位置等信息;GNSS通過差分基站能夠將定位精度提高到厘米級,輸出車輛實時位置、速度等信息[26];結合兩種設備的輸出數據,組合驗證視頻識別算法的準確性和精度。驗證試驗過程如圖5所示。 圖5 試驗過程示意 驗證試驗過程在2019年4月23日,晴朗、無風天氣進行,試驗時間段為上午9:30~下午5:00,無人機操作員在進行每次飛行監測前監測控制面板和無人機終端通信連路、檢測電池容量;飛行高度共有150,200,210,250,350 m這5種,試驗路段試驗車輛行駛速度40~90 km/h之間;單次飛行試驗持續10 min,共進行7次不同高度、不同運行速度試驗設計,共拍攝70 min試驗路段監測視頻,其中試驗車輛出現時間共計210 s,產生5 400幀含試驗車輛的畫面,共計1 192個速度驗證信息,如圖6所示。驗證試驗設計如表1所示。 圖6 實時記錄的數據驗證 表1 驗證試驗信息 在上述試驗路段、試驗車輛視頻數據采集外業工作完成之后,內業數據處理主要集中在車輛視頻監測算法、跟蹤算法訓練和交通參數對比分析。 (1) 目標檢測精度 本研究利用YOLO v3神經網絡架構模型訓練試驗路段場景下的視頻數據,算法代碼用Python語言編寫。訓練模型時,需要對動量(momentum)、衰減(decay)和學習率的進行設定;本研究設定參數Momentum=0.93、decay=0.005;為了防止過高的學習率導致不穩定的梯度下降而使得檢測模型發散,學習率初始值設定為 0.000 1;當迭代達到45 000次時,損失曲線趨于平穩,但平均損失值還沒有下降到0.1以內,繼而設定在 45 000次時學習率為 0.000 01,繼續訓練;最終迭代至85 000次附近時趨于平穩,得到最后檢測模型。檢測結果如圖7所示,精度如表2所示。 表2 目標檢測結果 圖7 無人機視頻目標檢測 在對目標檢測模型進行訓練時,本研究主要利用兩個指標:精確率(Precision)和召回率(Recall)評估車輛檢測精度[27]。 Precision=TP/(TP+FP), (5) Recall=TP/(TP+FN), (6) 式中,TP(True Positives)為被正確檢測為運動車輛的像素數量;FP(False Positives)為被錯誤檢測為運動車輛的像素數量;FN(False Negatives)為被錯誤檢測為背景的像素數量。同時根據召回率與精度,可以計算AP(Average Precision),AP為在各個等差召回率下精度的平均值,由此可表征模型的精度。 結果表明:試驗路段試驗車輛目標檢測召回率與精度分別為98.9%,99.9%,平均精度為90.88%。 (2)目標追蹤精度 多目標跟蹤的精度主要由MOTA ( Multiple Object Tracking Accuracy)和MOTP (Multiple Object Tracking Precision)指標評價[28],這兩個指標均是將所有幀中的相關跟蹤指標進行加權計算后,再取平均值的結果。 (7) (8) 式中,FNt為當前幀中未被匹配到的目標數;FPt為跟蹤器預測額外的軌跡數;IDSW(ID Switch)為同一個目標,在跟蹤過程中,為其分配的ID變化的次數,其表征的是標簽信息發生的錯誤;IOU為預測框與對應的檢測框之間Bonding box的重合比率;Gt則是當前幀中目標匹配成功的數目。 MOTA主要衡量的是跟蹤過程中所有目標匹配成功的精度,直觀地顯示目標跟蹤器在保持目標軌跡的能力,與預測目標位置的精度無關;MOTA越大跟蹤精度越高。MOTP主要衡量的是目標檢測的精度,與位置信息相關,而與跟蹤匹配的精度無關;MOTP越大,預測框的位置更加精確。結果表明,多目標跟蹤的準確率達98.9%,如圖8和表3所示。 圖8 無人機視頻多目標跟蹤 表3 多目標跟蹤結果 (3)速度提取精度 車輛目標檢測和跟蹤能夠輸出車輛的時空信息,根據其坐標位置、時間數據,可以計算視頻算法下車輛速度、軌跡等信息,進而目標車輛的不良交通行為(如變道、超速、蛇形駕駛)可識別。但是,對于交通參數而言,最核心、最基本的參數是車輛速度、軌跡信息,其他參數基本可以通過速度、位置、時間數據變換而得到。因此,本研究聚焦無人機視頻車輛速度數據的提取驗證。 由于每兩幀的時間間隔過低,僅僅根據兩幀間的時間差來計算速度容易造成較大的誤差,故當前幀與第前5幀計算一次速度;由于高精度GNSS定位輸出數據設定為20 Hz、車載OBD輸出數據為5 Hz,為了對應OBD驗證數據,視頻識別算法輸出速度數據也設定為5 Hz、高精度GNSS定位輸出數據平均至最近的OBD時間點;如高精度定位GNSS在11:00:06,11:00:09 , 11:00:12 ,11:00:15 時間的的平均值對應車載OBD在11:00:12的速度數據。速度準確性用最大絕對誤差和平均相對誤差衡量,結果如下所示。 如圖9所示,高精度GNSS-RTK定位和車載OBD輸出數據基本重合,以GNSS-RTK和車載OBD輸出速度的平均值作為參考速度數據,衡量視頻識別算法提取速度數據的準確性。由圖中可看出,視頻算法提取的速度與驗證速度偏差最大位置集中在視頻的開始和結束幀段,這是由于在此幀段范圍內車身并未全部出現在圖像畫面中,造成檢測中心坐標的偏差,進而影響速度參數的誤差。 圖9 驗證試驗數據對比示例 由表4可以看出,在試驗路段進行不同飛行高度、不同行駛速度7次試驗后,試驗車A、試驗車B分別產生593,599個速度樣本數據,結果表明:試驗車A、試驗車B最大絕對誤差分別為2.72,2.99 km/h,相對誤差分別為0.85%,1.03%;這表明,視頻識別算法提取的車輛速度參數整體絕對誤差在±3 km/h以內、相對誤差在2%以內,整體準確率達98%。 表4 驗證試驗結果 無人機視頻監測不同于傳統固定型檢測器和移動型檢測器,根據應用場景需求,無人機可定點、可移動,且視頻信息量大、可溯源,在智能交通領域的應用有諸多探索。機動靈活、實時準確、高可靠性的獲取目標區域的微觀交通參數,是智慧交通需要解決的關鍵性問題之一。針對無人機視頻車輛參數提取問題,基于圖像視頻識別技術,本研究提出視頻車輛運動參數自動提取方法和流程,并采用高精度GNSS定位和車載OBD裝載試驗車輛,在西安繞城丈八出口實地組合驗證視頻識別算法準確性。通過以上研究和試驗得出以下結論: (1)本研究提出的基于YOLO v3和Deep-Sort無人機視頻交通參數提取方法,在試驗場景中檢測召回率和精度分別達98.9%,99.9%,平均精度為90.88%;多目標跟蹤的準確率達98.9%。 (2)利用高精度定位GNSS和車載OBD加裝的2輛試驗車,共產生5 400幀圖像數據、1 192個驗證速度點數據,速度參數對比結果表明:車輛速度參數整體絕對誤差在±3 km/h以內、相對誤差在2%以內,參數提取整體準確率達98%。 (3)7組不同飛行高度、不同運行速度提取的速度參數誤差變化不大,這表明本研究提出的無人機視頻交通參數提取方法魯棒性較高,這得益于試驗之前進行了大量的道路特征點采集,使得世界坐標和圖像坐標轉換過程中誤差較小。 無人機空中監測提取車輛微觀參數可為智慧交通管控、交通安全研究、交通數據采集等提供新的思路。但是,上述方法僅在高速公路出口上游路段場景試驗驗證,其方法的可交互性和可轉移性還有待其他場景試驗進一步驗證。本研究試驗過程無人機飛行高度在150~350 m,更高的飛行高度可能會造成參數提取誤差較大的結果。后續研究將集中在多場景方法驗證、不良駕駛行為參數分析、實時主動安全預警等方面。4 驗證試驗
4.1 試驗過程





4.2 數據分析






5 結論