黃 禹,戴國洪,戴 杰,錢 駿
(1.常州大學 機械與軌道交通學院,江蘇 常州 213164;2.常州星宇車燈有限公司,江蘇 常州 213002)
汽車已成為當今社會出行必備的交通工具,為人們生活提供了便利。但隨著汽車的普及,因汽車所引起的交通事故呈增長態勢[1-3],其中三分之一的交通事故,主要集中在夜間。夜間行車時,駕駛員因受行車外界環境的影響,不能及時調節自身燈光,導致行車視線迷糊,容易發生交通事故[4]。汽車大燈系統對保障駕駛員夜間行車安全至關重要。目前,ADB汽車大燈系統可滿足汽車夜間行駛的需求,該系統可按照外界環境(自車行駛情況、道路車輛情況、路況情況)自適應調節遠光光型,增大駕駛員視野照明[5],滿足駕駛員夜間行駛的照明需要,提高汽車行駛安全性。因此研究ADB汽車大燈的外界環境檢測方法,對汽車夜間安全行駛具有深遠的意義。但是以往ADB汽車大燈的外界環境檢測方法非常局限。
目前,國內外研究者就深度學習技術在多目標的檢測算法大致分為兩類:基于區域建議的檢測算法和基于邊框回歸的檢測算法。基于規定區域的目標檢測算法簡稱兩階段算法,主要是指通過篩選選框判斷候選框里的是否含有檢測目標(Region Proposal),用回歸的方式進行調節結合卷積神經網絡(R-CNN)系列算法;基于回歸的目標檢測算法亦稱為單階段算法,主要包含 YOLO(You Only Look Once)系列和單點多盒檢測 (SSD)和其他算法相比本文采用YOLO算法和其他算法相比提取候選框的速度要更快,精度更高。就目前現有的大量的外界環境檢測大都是在白天或是比較理想的條件下進行的,在夜間或是特殊環境下比如雨雪天氣,車內儀器或設備可能會發生失靈或傳感器靈敏度有所下降,進而導致發生事故以及帶來安全隱患較高,缺乏針對復雜環境下特征不明顯的低辨識目標檢測算法研究。采取多特征對目標進行檢測就較為復雜,故需要對圖像加以篩選和處理。鄒偉[6]等人研究多模態特征融合的檢測方法,就是基于區域建議的檢測算法,利用該方法提取多模態圖像特征并進行融合,完成ADB汽車大燈的外界環境檢測。由于該方法的特征提取過程過于復雜,導致ADB汽車大燈的外界環境檢測效率不高。王旭[7]等人研究改進視覺背景提取算法的檢測方法,該方法就是基于邊框回歸的檢測算法,依據采集的圖像信息,構建樣本集,提取特征信息后,對比圖像中像素點閾值,完成ADB汽車大燈的外界環境檢測。由于該方法在采集信息基礎階段容易受到噪聲干擾,導致采集信息會出現偏差,直接導致ADB汽車大燈的外界環境檢測結果不夠精準。
機器視覺技術是指利用機器代替人眼來實現目標檢測,該技術被廣泛應用在視覺檢測領域,能夠提高生產的靈活性和自動化程度,提高目標檢測精度和速度。深度學習是模擬人腦思維方式分析問題,分析能力比較強,已廣泛應用在圖像識別方面,并取得較好應用效果。鑒于機器視覺技術和深度學習的應用性,以及目前ADB汽車大燈的外界環境檢測方法存在局限性,研究基于機器視覺及深度學習的ADB汽車大燈的外界環境檢測,提高ADB汽車大燈的外界環境檢測能力,降低夜間駕駛危險。
ADB系統是一種能夠根據路況自適應變換遠光光型的智能遠光控制系統。該系統功能強大,可自由切換遠近光燈和光型。
分析圖1可知,ADB系統主要包括控制器、傳感器及驅動器等。其中,利用車載機器視覺的CCD相機采集ADB汽車大燈外界環境圖像數據,本文選取松下lx5 CCD相機鏡頭選取徠卡 DC VARIO-SUMMICRON,這種組合方式能夠提供很好的圖像質量,有效降低圖像噪聲的影響。同時在ADB控制器內利用數據篩選方法剔除采集到的圖像數據中干擾光源數據,針對ADB汽車大燈外界環境中路況特征差異,劃定ADB汽車大燈外界環境檢測目標區域。利用深度學習算法實現ADB汽車大燈外界環境目標車燈光源檢測,利用擴展卡爾曼對各目標車燈光源實施軌跡預測,當車輛前面有車燈經過時,下達控制指令至執行設備,系統會及時調整汽車遠光燈對應區域燈珠亮度,減少在高速行駛時因遠光燈交匯對汽車駕駛員的視覺影響,保障汽車安全行駛。

圖1 ADB系統結構
采用機器視覺的CCD相機采集ADB汽車大燈外界環境圖像數據,為ADB汽車大燈的外界環境檢測奠定基礎。在采集圖像數據之前,需要對機器視覺的CCD相機參數進行標定后[8-10],轉換相機坐標值,提高采集ADB汽車大燈外界環境圖像數據精準度。

(1)
其中:平移向量用ε描述,尺度因子用s描述,相機內參數矩陣和外部旋轉矩陣分別用D、O描述。
相機內參數矩陣表達式如下:
(2)
其中:橫向等效焦距用λ1描述,圖像坐標系偏斜度用γ描述,豎向等效焦距用λ2描述,相機標定的主點坐標用(u0,v0)描述。
通過計算出相機內參數矩陣后,實現CCD相機精準標定。
轉換相機坐標值過程如下:
在CCD相機精準標定后,需利用公式(3)將ADB汽車大燈外界環境中三維空間內的一點轉換成投影圖像平面內的一點,具體轉換公式為:
(3)
其中:相機外參數矩陣用D1描述,相機內部參數分別用dx、dy、u0、t描述。
在完成相機標定和坐標值轉換后,提高機器視覺的CCD相機采集ADB汽車大燈外界環境圖像數據準確性。
因夜間干擾光源因素的影響可能會對機器視覺的CCD相機采集ADB汽車大燈外界環境圖像數據產生干擾[11-13],利用數據篩選方法剔除ADB汽車大燈外界環境圖像數據中的干擾光源數據。
夜間道路正常行駛時,車燈軌跡與車輛一致均分布在行駛車道內,為此通過數據篩選方法中的牛頓-拉夫遜迭代法實現ADB汽車大燈外界環境中車道線的擬合,求出車道線在外界環境圖像中任意位置坐標。將采集圖像中任意1條車道分成n份,本道第i段車道區域左右兩側車道線像素集分別用φi(xi,yi)、φj(xj,yj)描述,兩個像素集待擬合直線方程組如下:
(4)
其中:內外車道擬合斜率分別用ki,g、ki,h描述,參數分別用h1、h2描述。

(5)
(6)
(7)
(8)
其中:元素數量為κ個。
按照各車道線擬合公式,可剔除目標車燈燈源不在同一車道的光源數據。
在剔除圖像干擾數據后,針對ADB汽車大燈外界環境中路況特征差異[14-15],劃定ADB汽車大燈外界環境檢測目標區域,以降低因車燈交匯粘連帶來檢測誤差。
車道彎曲度公式如下:
(9)

1.4.1 直道行駛路況
ADB汽車大燈外界環境檢測目標車燈區域的劃定。當前車道為直道時即-dsh<φ Δρ≈Δy (10) 依據內外車道擬合斜率ki,g、ki,h和y軸內移動位移Δy得出直道行駛路況ADB汽車大燈外界環境檢測目標區域的劃定公式: (11) 1.4.2 彎道行駛路況 ADB汽車大燈外界環境檢測目標車燈區域的劃定。 當φ>dsh或-dsh>φ時,說明此時行駛路況是彎道。因彎道擬合斜率高于直道彎道擬合斜率,因此需按照彎道的路況特征,將橫軸移動位移變化量作為彎道ADB汽車大燈外界環境檢測目標車燈區域劃定條件。目標車燈光源位置橫軸坐標,將落在相同時間里車道線擬合直線斜率大的一邊車道線橫軸移動位移變化量區間內[16-18]。彎道行駛路況ADB汽車大燈外界環境檢測目標車燈區域的劃定公式如下: (12) 其中:當前車道為彎道時,t-1時刻目標燈源的位置坐標用描述(xt -1,yt-1),t-1時刻y軸內移動位移用Δyt-1描述。 直道和彎道行駛路況ADB汽車大燈外界環境檢測目標區域的劃定范圍,可為下文目標車燈光源中心位置實施軌跡預測奠定基礎,排除其他光源的干擾[19],有效降低檢測誤差。 在得出不同路況下外界環境檢測目標車燈區域后,利用深度學習的多目標運動軌跡預測算法實現ADB汽車大燈外界環境目標車燈光源檢測。該算法分為兩部分,利用YOLOv5網絡對外界環境圖像目標車燈光源進行定位,得出檢測框坐標。通過損失函數中的置信度判斷外界環境檢測目標車燈光源是否存在于預測邊框內。將符合條件的外界環境檢測目標車燈光源歸入一個集合中,將集合中各目標車燈光源視為元素,利用擴展卡爾曼對各元素實施軌跡預測,提高檢測精度。 在目標車燈光源檢測階段,選取深度學習的YOLOv5網絡,YOLOv5是一種基于深度學習的目標檢測算法,其最大的特點就是快速而準確。與傳統的目標檢測算法相比,YOLOv5將整張圖像作為輸入,直接輸出所有目標的位置、類別以及置信度,從而大幅提高了檢測速度和準確度。YOLOv5網絡可以在幾乎不影響整個自動駕駛系統流程的情況下完成目標車燈光源的檢測。YOLOv5網絡還可以通過改變模型結構和參數來適應不同的環境和車輛,從而實現更加準確的檢測結果。 YOLOv5網絡模型包括特征融合層、骨干網絡、視野增強層。卷積核規模分別為1*1、3*3、7*7,每種規模卷積核提取特征均不相同[21]。YOLOv5算法是在YOLOv3算法的基礎上加以改進,YOLOv5的架構由4個部分組成,分別是Input輸入端、Backbone主干網絡、Neck頸部網絡和Head輸出端。 1)Input輸入端包含了對數據的預處理,其中包括 Mosaic數據增強可以對圖像進行隨機裁剪、拼接。降低計算量的同時豐富了數據集,提高了識別精度,而且YOLOv5在 Input的輸入端整合了自適應的錨框計算,使得當數據組被改變時,可以自動設置初始的錨框大小,實現在保證圖片掉幀時對圖片進行縮小,降低計算量。 2)Backbone主干網絡采用深度學習方法,采用“瓶頸跨越”局部結構 Bottleneck CSP與金字塔池化SPP相結合的方法,可以讓網絡輸入任意像素的圖片且不再需要對圖像進行預處理,以降低計算量,加快推理速度,而金字塔池化SPP能夠在相同的特征圖譜上,從多個尺度上同時抽取特征,提高識別準確率。 3)Neck頸部網絡包括了特征金字塔 FPN、路徑聚合結構 PAN,FPN在網絡中自頂向下傳遞了語義信息。同時,PAN將位置信息從底部傳輸到頂部,并將 Backbone中的各個層次的信息進行融合,從而提高了檢測精度。 4)Head輸出端是對不同的特征圖進行識別的最終階段,特征圖目標。 改進YOLOv5算法與YOLOv3算法的性能評價指標數據對比結果如表1所示。 表1 改進YOLOv5算法與YOLOv3算法的性能對比 根據表1可知,改進YOLOv5算法與YOLOv3算法相比,其性能有了較大的提升。 改進YOLOv5算法與YOLOv3算法的AP值效果對比如圖2所示。 圖2 AP值效果對比圖 通過損失函數可判斷實際值和檢測值的誤差。YOLOv5網絡的損失函數表達式如下: loss=β1loss中心坐標及寬高+β2loss置信度+β3loss分類 (13) 其中:邊界誤差用loss中心坐標及寬高描述,分類損失用loss分類描述,誤差損失因子分別用β1、β2、β3描述,總損失度用loss描述,置信度損失用loss置信度描述。 利用反向傳播可實現網絡權重參數更新,再利用損失函數迭代出最優網絡模型。神經元連接權重更新公式為: wi=wi-α(?χ/?wi) (14) 其中:學習率用α描述,第i層神經元權重用wi描述,代價函數用χ描述。 偏置更新公式為: bi=bi-β(?χ/?bi) (15) 其中:第i層神經元權重用bi描述。 將目標車燈區域劃分后ADB汽車大燈外界環境圖像輸入至YOLOv5網絡中,利用卷積層提取圖像特征,通過圖像檢測函數對該特征實施檢測后,將最大概率目標車燈光源作為檢測目標,同時對外界環境圖像目標車燈光源進行定位,得出檢測框坐標,選取置信度值最大的檢測框,并利用公式(16)計算出該檢測框和余下檢測框重疊比例值,若重疊比例值比閾值高,需要將該檢測框刪除。 (16) 擴展卡爾曼濾波算法作為一種常用的狀態估計方法,廣泛應用于目標車燈坐標預測問題。擴展卡爾曼濾波算法是一種基于線性高斯噪聲模型的濾波算法,其可以通過對非線性函數進行線性化來實現狀態估計。在目標車燈坐標預測問題中,需要通過對車輛周圍環境的觀測來推斷目標車輛燈光的位置坐標,這個過程需要使用到擴展卡爾曼濾波算法。與普通的卡爾曼濾波算法相比,擴展卡爾曼濾波算法可以更好地處理非線性變換,從而更準確地估計目標車燈的位置坐標。 擴展卡爾曼濾波算法預測目標車燈坐標的過程可以分為兩個階段:預測階段和更新階段。在預測階段,需要預測目標車燈的位置坐標,并根據當前的狀態量來計算預測誤差。在更新階段,利用觀測值來校正預測結果,從而更準確地預測目標車燈的位置坐標。車燈坐標預測的具體步驟如下: 在目標車燈光源軌跡預測階段,將經YOLOv5網絡檢測后ADB汽車大燈外界環境多運動目標車燈光源歸入一個集合中,將集合中各目標車燈光源視為元素,該集合中有各元素對應ID可讀取該目標車燈光源的速度和位置等相關數據,利用擴展卡爾曼對各元素實施軌跡預測,提高檢測精度,具體軌跡預測公式如下: Γυ=γυ-1*Ψυ-1+Ξυ-1*Γυ-1 (17) 其中:υ-1狀態下,系統輸入用Ψυ-1描述、線性化狀態轉移矩陣用Ξυ-1描述、輸入矩陣用γυ-1描述。 為計算出某時刻ADB汽車大燈外界環境運動目標移動光源坐標和速度,設置該運動目標移動光源狀態向量用Γυ=[x(υ),y(υ),?(υ),r(υ),vx(υ),vy(υ),v?(υ)]描述,其中目標移動光源在y軸在位置用y(υ)描述,檢測框面積用?(υ)描述,目標移動光源在x軸在位置用x(υ)描述,檢測框高度與寬度比用r(υ)描述,目標移動光源在y軸的速度用vy(υ)描述,目標移動光源在x軸的速度用vx(υ)描述,檢測速度用v?(υ)描述。表達式如下: vx(υ)=[x(υ)-x(υ-1)]/Δt (18) vy(υ)=[y(υ)-y(υ-1)]/Δt (19) v?(υ)=[?(υ)-?(υ-1)]/Δt (20) 先驗狀態向量的相關預測方差矩陣公式如下: (21) 其中:噪聲協方差矩陣用Y描述。 通過上述方法實現外界環境圖像目標車燈光源軌跡預測,利用觀測值來校正預測結果,輸出下一時刻外界環境圖像目標移動光源位置更新值,實現ADB汽車大燈外界環境檢測。 (22) 在實際應用中,擴展卡爾曼濾波算法還需要考慮一些實際因素,例如傳感器精度、環境噪聲等因素。針對這些問題,我們可以通過不斷優化算法來提高預測精度,同時也可以通過對傳感器和監測系統進行優化來減小誤差。 隨著自動駕駛技術的發展,對目標車燈光源的準確檢測成為自動駕駛安全性和可靠性的一個重要保證。本文提出基于機器視覺及深度學習的ADB汽車大燈的外界環境檢測方法,為了驗證本文方法的應用效果,選取某款汽車作為實驗對象。實驗對象配備ADB汽車大燈,ADB汽車大燈帶76顆LED光源,搭配利刃式LED日間行車燈的9顆LED光源,與晶鉆切割的3顆LED星鉆式爪鋒前霧燈,一起提升了車輛的檔次感。實驗參數如表2所示。 表2 實驗參數 設置YOLOv5網絡模型的超參數如下:總訓練輪次為200輪,初始學習率為0.01,學習率因子為0.2,動量為0.937。 選取采用本文方法采集的多組夜間直道和彎道移動光源數據集,從數據集中選出2張夜間行車圖像,將圖中標定的直道和彎道的目標車燈作為軌跡預測的實驗對象,標定結果如圖3所示。 在上述實驗參數設置的基礎上,設計ADB汽車大燈的外界環境檢測試驗方法,步驟如下: 1)數據采集與預處理:在實驗開始前,需要使用高精度的攝像頭和激光雷達等傳感器設備對汽車周圍的環境數據進行采集。采集到的數據需要通過預處理算法進行降噪處理、去畸變等操作,以保證數據的質量和準確性。 2)數據標注:在數據采集完成后,需要為圖像數據標注各種不同情況下的照明區域,以生成一個具有代表性的訓練數據集。 3)模型訓練與優化:在標注完數據并制定了檢測算法后,需要對模型進行訓練和優化,將訓練數據集輸入YOLOv5網絡模型中進行迭代訓練,以提高模型的準確性和魯棒性。 4)ADB汽車大燈的外界環境檢測:完成模型訓練和優化后,利用擴展卡爾曼濾波算法實現ADB汽車大燈的外界環境檢測。實驗在實際駕車場景下進行,通過觀察照明區域的變化來驗證模型對外界環境的檢測能力。 1)直道時干擾狀態下目標車燈光源檢測效果:在直道條件下,對比車燈干擾狀態及路燈干擾狀態下目標光源位置檢測結果與實際結果的誤差,驗證目標車燈光源位置的檢測準確性。 2)彎道時目標車燈光源軌跡預測結果:測試彎道行駛時,本文方法預測獲取的目標光源軌跡與實際值的誤差,驗證目標光源軌跡的預測精度 3)ADB汽車大燈的燈光調節:驗證所提方法能否判斷出不同路況,能夠對應調節汽車遠光燈對應區域燈珠亮度。 為驗證本文方法的外界環境檢測效果,統計該指定目標車燈光源,在直道行駛時處于車燈干擾以及路燈干擾條件下的目標車燈光源檢測結果,如圖4所示。 圖4 直道時干擾狀態下目標車燈光源檢測效果 分析圖4可知,直道行駛時,在存在車燈干擾條件下,本文方法目標光源位置檢測結果與實際結果誤差最大為2像素*8像素,在存在路燈干擾條件下,本文方法目標光源位置檢測結果與實際結果誤差最大為1像素*1像素。通過本文方法將誤差控制在10像素*10像素以內,達到實驗預期目的。上述實驗結果表明,本文方法在路燈干擾及車燈干擾下的目標光源軌跡預測精度均較高。本文方法可利用數據篩選方法剔除ADB汽車大燈外界環境圖像數據中的干擾光源數據,檢測目標車燈光源位置,因此目標光源位置檢測結果與實際結果相差很小。 將模型所需歷史數據時間序列數N定為30,預測時間步長為 30 fps/s,在此基礎上,統計該指定目標車燈光源,在彎道行駛時目標車燈光源軌跡預測結果,如圖5所示。 圖5 彎道時目標車燈光源軌跡預測結果 分析圖5可知,彎道行駛時,本文方法預測獲取的目標光源軌跡與真實值誤差最大為15像素*12像素,說明本文方法在彎道行駛時的目標光源軌跡預測精度較高。本文方法利用深度學習中的YOLOv5網絡模型檢測外界環境中的目標車燈光源,并結合擴展卡爾曼濾波對其軌跡進行預測。通過對目標車燈的位置坐標的預測及更新,校正了預測結果,從而獲取更準確的目標車燈光源軌跡預測結果。 可利用數據篩選方法剔除ADB汽車大燈外界環境圖像數據中的干擾光源數據,檢測目標車燈光源位置,因此目標光源位置檢測結果與實際結果相差很小。 按照上述結果,采用本文方法可有效預測目標光源軌跡,完成實驗對象ADB汽車大燈的外界環境檢測,依據檢測結果,在不同路況下,及時調節調整汽車遠光燈對應區域燈珠亮度,ADB汽車大燈的燈光調節效果如圖6所示。 圖6 ADB汽車大燈的燈光調節效果圖 分析圖6可知,采用本文方法可有效檢測ADB汽車大燈的外界環境的情況,針對不同路況,合理調整ADB汽車大燈的燈光光型,減少在高速行駛時因遠光燈交匯對汽車駕駛員的視覺影響,提高照明效果,保障汽車安全行駛。 為了提高駕駛員夜間行車視野范圍,研究基于機器視覺及深度學習的ADB汽車大燈的外界環境檢測方法,提高ADB汽車大燈的自動調光能力,提高駕駛員夜間行車照明效果。實驗結果表明,利用機器視覺及深度學習方法可有效檢測出ADB汽車大燈的外界環境,并及時調整ADB汽車大燈的亮度,保障夜間行車的安全。1.5 深度學習的大燈外界環境目標車燈光源軌跡預測


2 實驗分析
2.1 實驗參數及實驗步驟

2.2 實驗指標設置
2.3 實驗結果分析



3 結束語