趙栓峰 許倩 丁志兵 黃濤



摘? 要: 為了探測車輛間的相對距離,避免危險車輛由于駕駛不當所引發的交通問題,提出一種深度學習目標識別下的跟馳車輛相對距離測定方法,避免了雷達測距的短距離局限性以及車輛未知性的缺點。該方法采用車載單目攝像機對側后方車輛進行拍攝,實際物體和成像點之間的轉換通過三坐標轉換完成,利用深度網絡識別目標車輛,獲得目標車輛位置以及類別信息,并建立合適的測距模型,得到檢測車輛與攝像頭之間的相對距離,利用幀差法預測被檢測車輛的行駛速度。選擇河南省鶴壁市107,342國道進行試驗,該路段驗證了測距模型的有效性,靜態測距下75 m以內相對誤差控制在4%,速度誤差控制在5%,因此,在檢測到危險車輛的情況下,測距模型可以實現相對距離的實時準確性檢測。
關鍵詞: 車輛識別; 坐標轉換; 測距模型; 車輛位置信息; 相對距離探測; 車輛速度預測
中圖分類號: TN98?34? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼: A? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)19?0070?05
Abstract: In order to detect the relative distance between vehicles and avoid traffic accidents caused by dangerous vehicles due to improper driving, a following vehicle relative distance measuring method based on deep learning target recognition is proposed, which avoids the limitation of short distance radar ranging and the shortcoming that a vehicle cannot get the situation around. In the proposed method, the vehicle?mounted monocular camera is used to shoot the rear side vehicles, and the transformation between the actual object and the imaging point is achieved by the transformation of three coordinates. The deep network is used to identify the target vehicle, obtain the position and category information of the target vehicle, and establish a suitable ranging model to obtain the relative distance between the detected vehicle and the camera. The frame difference method is used to predict the driving speed of the detected vehicle. The national highway G107 and G342 within Hebi city in Henan province were selected for the test to verify the effectiveness of the ranging model. The relative error and the speed error of static ranging within 75 m are kept at 4% and 5%, respectively. Therefore, the ranging model can realize real?time accurate detection of relative distance.
Keywords: vehicle recognition; coordinate transformation; ranging model; vehicle position information; relative distance detection; vehicle velocity prediction
0? 引? 言
駕駛員在變道或超車等類似駕駛行為中經常會對駕駛可行性做出誤判,導致交通事故頻繁發生,僅2017年,由于駕駛員出現感知失誤引發交通事故203 049起,死亡人數63 772人,財產損失[1]高達121 211.3萬元。因此,越來越多的研究學者將研究重點集中在車輛安全駕駛輔助系統上[2],文獻[3]基于數據融合的思想,通過識別駕駛員人眼特征以及車道線等參數來實現駕駛員在危險狀態下的實時預警,文獻[4]建立了基于機器立體視覺的車距測量系統,實現了車輛間的距離檢測,但汽車識別誤差較大,距離誤差在50 m內高達4.5%。文獻[5]將機器視覺與車距測量相結合,根據小孔成像原理建立實際三維圖像空間與攝像機二維圖像的映射關系,計算出前方車輛的實際距離值,測量距離在70 m內時,誤差可達5%。文獻[6]為了降低汽車換道時碰撞事故發生的概率,提出一種基于OpenCV的AEB系統車輛檢測和預警研究,實現了單目視覺下的車輛識別。這些研究均為汽車安全駕駛性能的提高做出了突出貢獻,目前已有的HLCA系統[7]融合了雷達和CCD攝像機的信息,實現了40 m左右的中距測量。Mobile eye公司研發的BSD系統[8]利用單目攝像機及車道線識別系統進行盲區車輛的檢測,其探測距離可達50 m。由于多目標識別使系統識別速度降低,實時預警效果不佳,本文提出了一種基于深度學習網絡對危險車輛進行識別檢測的方法,實現單目標危險物識別,在識別危險車輛的基礎上,通過危險車輛的信息建立測距模型,同時實現了危險目標的識別以及距離測定,在75 m以內距離相對誤差可控制在4%內,為安全駕駛輔助系統提供了技術實現依據。
1? 危險車輛識別
車輛類別的識別可以實現危險駕駛的精準預警,本文采用車載攝像機對后方車輛進行實時拍攝,攝像機安裝在后視鏡下方一定高度處,對車輛的預測采用如圖1所示的深度學習網絡,此網絡是一個全卷積網絡,網絡中采用了53個卷積層,借鑒了殘差網絡(Residual Network)的做法,在一些層之間設置了快捷鏈路[9](Shortcut Connections),大量使用殘差的跳層連接,形成更深的網絡層次以及多尺度檢測。
網絡對輸入為416×416×3的圖像進行特征提取,得到[S×S]大小的特征圖,然后將輸入圖像分成[S×S]個網格單元,采樣使用步長為2的卷積來進行降采樣。每一個網絡結構進行3次目標檢測,在檢測中使用sigmoid 函數進行中心坐標預測,如果ground truth中某個檢測目標的中心坐標落在某個網格單元中[10],那么就由該網格單元預測該目標,再預測出[B]個檢測邊界框以及每個框的置信度。置信度表征了檢測邊界框對其檢測物體的置信度[11],公式如下:
式中:[C]為邊界框的置信度,由當前預測中邊界框含有目標的置信物體[Pt]與預測目標的準確性[Iou]所決定,目標檢測準確性的判別方法如式(2)所示,[Bgt]為訓練樣本自制標簽的標準框,[Bdt]為檢測到物體的回歸邊界框,因此,目標檢測的準確性取決于標準框與預測邊界框的重合度,即預測框中檢測物體的存在概率。檢測結果可以獲得檢測物體的類別、中心坐標值以及預測邊界框的坐標。在訓練過程中,采用二元交叉熵損失進行分類預測。
2? 三坐標轉換
為了完成車輛間實際距離的預測,需要完成攝像機坐標、平面坐標以及世界坐標之間的轉換[12],才能得到圖像中目標點的像素點距離。
1) 圖像坐標[(x,y)]轉換為像素坐標[(u,v)]
水平坐標軸[u]與垂直于[u]軸坐標軸的[v]軸相交于點[O0],共同構成了圖像坐標系,以左上角[O0]點作為原點,其度量單位為像素。在[(u,v)]圖像坐標系中通過建立坐標系[(x,y)]來解決像素不能用實際的物理單位表述的問題,[x,y]軸分別與[u,v]軸保持平行,因此,[xO1y]和[uO0v]坐標系中的參數點能夠相互表示,其坐標系如圖2所示。
假定[xO1y]坐標系中[x]軸方向上每個像素表示實際的物理尺寸為[dx],[y]軸方向上為[dy],則[xO1y]坐標系與[uO0v]坐標系的轉化關系如下:
將式(3)用矩陣表示并使用齊次坐標變換后可得:
2) 攝像機坐標[(Xc,Yc,Zc)]到平面坐標[(x,y)]的轉換
在理想狀態下,空間任意一點[P]可以采用小孔成像模型[13]來描述,即采用[OP]交于圖像平面的點[p]來代表[P]的投影,該關系采用比例等式來描述:
把坐標點進行齊次化,使用矩陣將式(5)表達出來為:
3) 世界坐標轉化為攝像機坐標
通過平移和旋轉世界坐標系能夠獲得攝像機坐標系[14],假設圖像平面中有一點[(Xc,Yc,Zc)]在實際空間中的坐標為[(XW,YW,ZW)T],經過齊次化后并實施轉換得到兩坐標系的轉換關系為:
式中:三階正交矩陣[R]為旋轉矩陣;三階矩陣[t]為平移矩陣;[OT]為三階零矩陣。
綜上所述,世界坐標轉換到像素坐標的關系為:
式中:[ax=fdx],[ay=fdy]分別表示兩坐標軸上的單位尺度參數;[M]是一個3×4的投影矩陣;[ax],[ay],[u0],[v0],[M1]由攝像機的內部參數決定;[M2]為攝像機的外部參數矩陣,由旋轉矩陣[11]和平移矩陣組成。
3? 相對位置測距模型
危險車輛間速度以及距離測定的基礎在于深度學習對于側后方駕駛車輛的準確預測以及回歸,只有在回歸出后方車輛的目標矩形,標注出矩形邊框中心點的基礎上,才能建立合適的測速測距模型,如圖3所示,[P1],[P2]點為回歸車輛所需要的中界點參數。
如圖4所示,相機光心為[O],相機安裝在距離地面高度為[h]的位置,其中[h]為90 cm,即光心距離地面的距離[OD]為90 cm。標注圖3中[P1],[P2]點的位置,即跟馳車輛的車身高度,利用[P′1],[P′2]表示[P1],[P2]點在攝像機成像平面上的成像點,光軸相交成像平面于點[P],相交于實體平面于點[P],則[OP]為相機焦距[Fy]。前導車與跟馳車輛相對距離表示為[d],以[O]為原點作直線垂直地面于點[D],以[P1]為原點,作直線垂直于以[O]為原點的[DP1]水平線于點[F];作平行于成像平面的直線相交于[OF]延長線于點[G],延長線段[OP2],[OP]交線段[P1G]于點[C],[B]。車載攝像機的安裝俯仰角度為[θ],其中[θ]為5°,光軸與水平面夾角為[β]。
由距離測量公式可知,只需得到目標車輛參數點的像素坐標,就可以得到行駛車輛間的相對距離。
4? 相對位置測速模型
測速是檢測運動目標在單位時間內的位移[14]。測速算法通過后視鏡下方安裝的攝像機以一定幀速采集側后方車輛視頻圖像,經過深度預警網絡預測輸出目標邊界框中心坐標[15],再利用坐標轉換方法將車輛在二維圖像中的像素坐標轉換到三維世界坐標系中,利用幀差法對圖像不同幀之間的距離作差,計算出[ΔS],進而求出[v1],[v2],取二者均值作為相對速度[RS]。測速算法流程如圖5所示。
具體的行車距離計算、時間間隔計算、側后方運動車速計算如下:
1) 行車距離計算
采集一段含有[N]幀圖像的本車側后方車輛運動視頻,假設行駛車輛在圖像坐標系中的位置為[(u1,v1)],[(u2,v2)],…,[(uN,vN)],映射到世界坐標中的位置為[(X1,Y1)],[(X2,Y2)],…,[(XN,YN)]。使用相鄰幀圖像求解車輛的相對運動距離如下:
式中[ΔS]為兩車的相對距離。
2) 時間間隔計算
攝像機采樣周期由硬件決定,在實際應用中可以通過視頻幀[16]計算時間。在測速過程中,假設攝像機采樣周期為[T],某一時刻的幀號為[N1],經過一段時間后幀號為[N2],兩個位置點相對應的行車時間為:
3) 側后方運動車輛相對速度計算
根據車輛的相對運動距離和車輛的相對運動時間可以計算出本車和側后車輛之間的相對運動速度RS:
5? 系統實驗結果及分析
以比亞迪某1.5 L排量的轎車為實驗車輛,將兩個CCD攝像機分別安裝于后視鏡底部高度為90 cm距離處,調整CCD攝像機的俯仰角,使攝像機能夠有效地監測到本車側后方的車輛信息以迎合駕駛員的駕駛習慣。姿態角度傳感器BWT901CL吸附于車頂的中心位置,用來采集本車加速度、角速度等數據。采用手機內置GPS模塊配合高德地圖導航記錄本車的行駛速度。計算機作為數據計算中心,在Windows 7系統下,通過Python程序調用Tkinter模塊設計了側后方車輛速度與距離檢測軟件系統,顯示界面如圖6所示,車輛檢測模塊主要依賴于Keras框架和OpenCV,相對距離估計算法和測速估計算法通過Python程序實現。
5.1? 測距實驗及結果分析
靜態測距時將測試車輛停靠在河南省鶴壁市342國道的淇河大橋上,測試車輛與行駛車輛方向保持一致,車身與車道分隔線保持平行,測試車輛在5 m,15 m,25 m,35 m,45 m,55 m,65 m,75 m處做標記,對每一個標記處分別采集10張圖片。靜態測距實驗結果見表1。
在5~75 m距離范圍內對測距算法的有效性和準確性進行驗證,縱向實際距離和測算距離相對誤差保持在4%范圍以內。
5.2? 測速實驗及結果分析
實驗車輛停靠在路邊,設置一輛在本車相鄰車道上的受測試車輛保持40 km/h的速度勻速接近本車,分別進行5組實驗,在不同的標記距離區間檢測受測試車輛的相對速度[RS]。在距離本車15 m范圍內,選取視頻中的208~216幀圖像,將第213幀圖像選為中間幀,從而得知[Δt1]=0.172 s,[Δt2]=0.103 s,分別測得相對位移[Δs1=]1.97 m,[Δs2=]1.20 m,進而求出[v1=]41.233 km/h,[v2=]41.942 km/h,將兩者的平均速度記為相對速度[RS=]41.587 km/h,相對誤差為4.068%,測速實驗結果見表2。
在15 m范圍內測算相對誤差為4.086%;在16~35 m范圍內測算相對誤差為0.435%;在36~55 m范圍內測算相對誤差為0.435%;在36~55 m范圍內測算相對誤差為2.970%;在56~75 m范圍內測算相對誤差為4.226%;檢測范圍大于75 m時,會因為距離越遠的像素點之間對應實際距離的差值增大,導致測算相對誤差增大到24.361%。
6? 結? 語
本文利用深度網絡實現了危險車輛的識別,在基于目標參數點的基礎上建立了測距模型,由實驗數據可得,建立的測距測速模型在一定距離內能夠符合實際距離測定的要求,模型在75 m內距離誤差可控制在4%以內,速度誤差控制在5%以內,超過此范圍,誤差將急劇增大。因此,后期研究中將會針對相對距離超過75 m的車輛設置合適的測距模型,來完成車輛在行駛過程的相對距離檢測,實現駕駛過程中危險車輛的識別以及實時預警。
參考文獻
[1] 邱建東,解小平,湯旻安,等.基于車流量的智能交通信號優化控制研究[J].計算機應用與軟件,2018,35(1):92?96.
[2] 徐洋.先進駕駛員輔助駕駛系統關鍵技術研究[D].重慶:重慶大學,2017.
[3] 李娟.基于數據融合的危險駕駛行為識別與車輛跟蹤算法研究[D].武漢:武漢工程大學,2017.
[4] 范賢達.復雜環境下運動車輛識別與測距方法研究[D].北京:北京交通大學,2017.
[5] 唐玲,陳明舉,楊平先.基于機器視覺的車輛距離測量系統設計[J].實驗室研究與探索,2016,35(3):56?59.
[6] 楊俊華.基于OpenCV的AEB系統車輛檢測和預警研究[J].北京汽車,2018(3):11?14.
[7] CHENG Fuchao, ZHANG Hong, FAN Wenjie, et al. Image recognition technology based on deep learning [J]. Wireless personal communications, 2018, 102(2): 1917?1933.
[8] ZOU Bowei, CUI Xiaochuan. Research on the measurement method of the detection range of vehicle reversing assisting system [C]// Proceedings of the 2015 International Conference on Information Technology and Intelligent Transportation Systems. Xian: Springer, 2015: 55?66.
[9] WANG Zhouxia, CHEN Tianshui, LI Guanbin, et al. Multi?label image recognition by recurrently discovering attentional regions [C]// 2017 IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 464?472.
[10] 楊青錦.OpenCV下按視頻幀率(FPS)播放視頻[J].中國科技信息,2012(21):75.
[11] MO Chunmei, LI Yinong, ZHENG Ling. Simulation and analysis on overtaking safety assistance system based on vehicle?to?vehicle communication [J]. Automotive innovation, 2018(2): 158?166.
[12] 王華瑩.基于機器視覺的車輛檢測和車距測量方法研究[D].大連:大連理工大學,2011.
[13] 陸德彪,郭子明,蔡伯根,等.基于深度數據的車輛目標檢測與跟蹤方法[J].交通運輸系統工程與信息,2018,18(3):55?62.
[14] 羅金玲.基于計算機視覺的前方車輛檢測與測距系統設計[J].電腦編程技巧與維護,2017(22):87?88.
[15] 曹,李進,張智欣.機器視覺輔助駕駛系統的車輛檢測和測距[J].電子技術與軟件工程,2018(17):238.
[16] 蔣玉亭,那田,汪世財.一種基于機器視覺的前方車輛距離檢測方法[J].合肥工業大學學報(自然科學版),2018,41(4):518?522.