楊 靜,郎璐紅,馬書香,徐 慧
(蕪湖職業(yè)技術(shù)學(xué)院 信息與人工智能學(xué)院,安徽 蕪湖 241006)
車道線檢測是自動駕駛技術(shù)中非常重要的一環(huán),它可以幫助車輛在行駛過程中避免發(fā)生與道路邊緣發(fā)生碰撞的現(xiàn)象,因此車道線檢測的準(zhǔn)確性對于車輛行駛安全具有非常重要的作用[1-2]。目前,主流的車道線檢測算法主要有基于邊緣檢測和基于區(qū)域生長的算法兩大類。高揚(yáng)等人[3]主要基于邊緣檢測的算法通過對道路圖像進(jìn)行邊緣提取和濾波,然后將得到的邊緣圖像輸入到下一個網(wǎng)絡(luò)進(jìn)行車道線檢測,可以得到較為準(zhǔn)確的車道線位置;陳建等人[4]主要基于區(qū)域生長算法則是先將道路圖像劃分成若干個區(qū)域,然后通過區(qū)域生長對各個區(qū)域進(jìn)行提取和融合得到最終的車道線檢測結(jié)果。其中,基于區(qū)域生長算法由于其具有較強(qiáng)的魯棒性和適應(yīng)性而被廣泛應(yīng)用于道路車道線檢測中。以上的檢測算法中,傳統(tǒng)區(qū)域生長算法對道路圖像要求較高,僅適用于交通較為簡單、圖像較小或單一類型車輛行駛情況下的道路圖像處理。然而,在實際應(yīng)用中,由于車道線位置易受道路環(huán)境影響,傳統(tǒng)的車道線檢測算法結(jié)構(gòu)簡單,往往難以對復(fù)雜場景中出現(xiàn)的車道線進(jìn)行準(zhǔn)確檢測。因此,如何在保證車道線檢測準(zhǔn)確性的同時提升車道線檢測算法對復(fù)雜場景下復(fù)雜道路圖像處理能力已成為當(dāng)前研究人員所面臨的一個重要問題。本文針對現(xiàn)有方法中存在的不足之處提出了一種基于優(yōu)化后有效殘差分解網(wǎng)絡(luò)(ERFNet網(wǎng)絡(luò))車道線檢測算法,并對其進(jìn)行了實驗驗證。
本節(jié)介紹了使用改進(jìn)后的ERFNet來進(jìn)行車道線圖像語義分割的基本流程。首先,用ResNet-50網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并將其輸出結(jié)果作為輸入,然后通過優(yōu)化后的ERFNet網(wǎng)絡(luò)得到最終結(jié)果[5]。在車道線語義分割的過程中,圖像特征提取是一項重要的環(huán)節(jié)。該網(wǎng)絡(luò)可以有效地提取出圖像中的有效特征,但網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,需要大量計算資源[6]。為了進(jìn)一步提高模型的性能和計算效率,本文提出了一種優(yōu)化后的ERFNet網(wǎng)絡(luò)。該網(wǎng)絡(luò)主要由一個多尺度殘差模塊、兩個空洞卷積模塊和兩個殘差模塊組成。本文所建立的優(yōu)化ERFNet模型如圖1所示。
圖1 優(yōu)化ERFNet模型
在以上的模型中,主要由非常多的功能模塊組成。相關(guān)的模型參數(shù)如表1所示。
表1 優(yōu)化ERFNet模型結(jié)構(gòu)參數(shù)
在該網(wǎng)絡(luò)中,首先增加了一個空洞卷積模塊,這可以增加圖像中特征信息的提取深度[7];其次是將多尺度殘差模塊與空洞卷積相結(jié)合,提高了圖像中特征信息的提取精度;最后是通過殘差模塊和空洞卷積將多尺度信息融合起來,實現(xiàn)車道線圖像在檢測前的情景語義分割。
在完成圖像的語義分割后,提取圖像中的車道線信息。經(jīng)過語義分割之后的車道線圖像數(shù)據(jù)集中包含了24種不同類型的車道線,包括了傾斜、平直、彎曲和交叉車道線等多種情況,通過對MNIST數(shù)據(jù)集進(jìn)行預(yù)處理,提取出的數(shù)據(jù)集包含了較多的車道線信息,對于提高模型的泛化能力具有重要作用。在預(yù)處理時,本文使用了一種簡單有效的方法——圖像切片和小線段提取[8-9]。具體步驟為:首先將原始圖像進(jìn)行二值化處理,然后將其轉(zhuǎn)化為灰度圖;其次以圖像的上邊界作為起點進(jìn)行邊緣檢測,截取像素高度為h的圖像作為第一個水平切片圖像。按照上述步驟,直至完成原始圖像所有信息的截取[10-12]。最后根據(jù)邊緣的分布情況確定圖像中車道線的位置。得到的圖像切片結(jié)果示意圖如圖2所示。
圖2 圖像切片示意圖
在圖像切片完成后,將MNIST數(shù)據(jù)集劃分為訓(xùn)練集和測試集兩個部分。其中訓(xùn)練集包含了圖像中所有車道線信息,用于提高模型的泛化能力;測試集則包含了在MNIST數(shù)據(jù)集中已經(jīng)檢測出的所有車道線信息[13-15]。為了統(tǒng)一計算方式,將切片圖像的像素坐標(biāo)進(jìn)行轉(zhuǎn)換。具體計算如式(1)所示。
(1)
式(1)中,(x′,y′)表示水平切片圖像中的像素點坐標(biāo),(x,y)表示原始圖像中的像素點坐標(biāo),W表示原始圖像的寬,H表示原始圖像的長,Δh表示每次切割向下移動的像素高度,i表示圖像切片的序號。經(jīng)過轉(zhuǎn)換之后,將得到的切片圖像進(jìn)行Hough變換[16-17],以提取出小線段。變換過程如式(2)所示。
ρ=xcosθ+ysinθ
(2)
式(2)中,(ρ,θ)為參數(shù)的空間坐標(biāo),將檢測到的小線段根據(jù)θ的大小進(jìn)行劃分,得到兩個集合表示為Sl和Sr,即車道線的左右兩側(cè)的集合,那么滿足如(3)式所示。
(3)
根據(jù)式(3),對圖像中的小線段進(jìn)行集合聚類,實現(xiàn)車道線信息的提取。
由于車道線檢測的前提是車道線的精確檢測,因此,本文將對車道線進(jìn)行擬合檢測。首先,根據(jù)車道線的顏色、寬度和形狀,提取出道路圖像中的感興趣區(qū)域,并對其進(jìn)行標(biāo)注;其次,對ROI中的車道線進(jìn)行擬合[18],可以得到擬合后的車道線圖像;最后,根據(jù)擬合后的車道線圖像與周圍環(huán)境中的車道線進(jìn)行比較,實現(xiàn)車道線的精確檢測。本文算法將輸入圖像的像素作為輸出圖像的重要依據(jù),這樣能夠?qū)?fù)雜多變的道路特征進(jìn)行提取。對于實際道路上采集到的圖像來說,其像素值可以反映真實情況。因此,本文利用這些像素值對圖像進(jìn)行處理來解決這些問題。在提取到上述的車道線信息之后,需要對車道線進(jìn)行擬合。需要對得到的車道線信息圖像進(jìn)行統(tǒng)計直方圖操作,利用滑動窗口進(jìn)行擬合檢測[19-20]。根據(jù)道路的實際情況,設(shè)置窗口的數(shù)量,并確定窗口尺寸。在擬合過程中,本文所選擇的曲線擬合函數(shù)不需要全部數(shù)據(jù)點的殘差[21]均為0,即矛盾方程組如式(4)所示。
εi=φ(xi)-f(xi)
(4)
式(4)中,φ(xi)為擬合函數(shù),f(xi)為殘差函數(shù)。在擬合過程中,將道路圖像分成兩部分:一部分是原始圖像(即沒有經(jīng)過處理和分割的圖像);另一部分是經(jīng)過處理和分割后的圖像(即經(jīng)過預(yù)處理和分割后的圖像)。將原始圖像作為輸出圖像后,本文可以將其像素值代入下式中進(jìn)行計算如式(5)所示。
y=ax2+bx+c
(5)
從而得到擬合后的曲線[22]均方誤差如式(6)所示。
(6)
將式(6)的多元函數(shù)進(jìn)行求導(dǎo),得到極值,能夠解出二次曲線的各個系數(shù),得到擬合后車道線圖形曲線。至此完成基于優(yōu)化ERFNet的智能車輛車道線精確檢測算法的設(shè)計。
為了驗證本文所設(shè)計基于優(yōu)化ERFNet的智能車輛車道線精確檢測算法在實際應(yīng)用過程中的有效性,實驗設(shè)備選擇RTX 3060 12GX顯卡,EPYC嵌入式9004系列處理器,內(nèi)存256G;Ubuntu20.04 LTS操作系統(tǒng),配合CUDA、Matlab R2021b、ERFNet車道線檢測等其他編程軟件。
為了檢驗本文設(shè)計檢測方法能夠準(zhǔn)確評估行駛中路況,通過數(shù)據(jù)集搜集了不同城市、不同天氣、不同時間,道路場景下車輛車道線情況作為測試數(shù)據(jù)樣本。部分樣本如圖3所示。
圖3 不同場景車道線示例
以上的車道線樣本圖中,相關(guān)的測試樣本分類以及描述如表2所示。
表2 不同道路場景車道線測試樣本
在以上數(shù)據(jù)集下,分別使用本文設(shè)計的基于優(yōu)化ERFNet的智能車輛車道線精確檢測算法、基于Canny算子的檢測方法共同進(jìn)行測試,并將測試結(jié)果進(jìn)行對比與分析。
為了驗證本文檢測方法的可行性,將所提算法與傳統(tǒng)基于Canny算子的檢測方法的性能進(jìn)行對比。通過精準(zhǔn)率與準(zhǔn)確率兩個指標(biāo)進(jìn)行判定,具體數(shù)據(jù)如表3所示。
表3 ERFNet和本文檢測性能對比
由表3可知在不同路面情況下兩種檢測性能呈現(xiàn)出不同的精準(zhǔn)率與準(zhǔn)確率,具有較大差異。
(1)理想狀態(tài):兩種方法均可以對路面車道線情況進(jìn)行準(zhǔn)確分析判斷,但是后者精準(zhǔn)率和準(zhǔn)確率更高分別維持在99.42%和98.37%。
(2)非常規(guī)路面:當(dāng)路面車道線出現(xiàn)新舊線交替、磨損嚴(yán)重、積雨積雪、夜晚路面反光等復(fù)雜情況,ERFNet檢測方法無法對路況進(jìn)行準(zhǔn)確的判斷,因此給出的輔助引導(dǎo)也不再具有參考性。相比之下所提算法的輸出指標(biāo)也有所下降,但是仍然保持著86.71%的精準(zhǔn)率和85.37%的準(zhǔn)確率,具有較強(qiáng)的指導(dǎo)意義。
實驗過程中,本文對不同檢測方法在不同道路場景下的檢測速度進(jìn)行采集分析,所得數(shù)據(jù)如表4所示。
表4 不同檢測方法檢測速度
由表4可知的數(shù)據(jù)可以看出,本文方法在理想狀態(tài)下完成整個檢測時間僅為60ms,即使在路況惡劣情況下也不高于140ms,綜合判定本文設(shè)計的智能檢測系統(tǒng)無論在輸出精準(zhǔn)率、準(zhǔn)確率和檢測時間方面,性能更高,具有更高的參考性。
綜上所述,傳統(tǒng)檢測方法由于功能單一,結(jié)構(gòu)簡單,具有較快的數(shù)據(jù)采集和后處理速度,但是精準(zhǔn)率及準(zhǔn)確率較低,不具有參考性;在數(shù)據(jù)采集部分耗費較長時間,是由于在非理想狀態(tài)下,如夜間或積雪情況路面被遮擋的原因。所提算法后處理部分花費時間較長的原因是,在檢測前對采集數(shù)據(jù)進(jìn)行分析和預(yù)判,提前做好準(zhǔn)備工作。雖然總體檢測速度較傳統(tǒng)檢測方法不占優(yōu)勢,但是具有高精準(zhǔn)率和高準(zhǔn)確率,在實際應(yīng)用中具有一定的實用意義和價值。
車道線檢測是智能車輛駕駛中的一個重要任務(wù),是確保車輛行駛安全的前提條件,其檢測精度直接影響到駕駛安全。然而,當(dāng)前車道線檢測算法中仍然存在許多問題,如特征提取網(wǎng)絡(luò)不夠完善、網(wǎng)絡(luò)訓(xùn)練樣本不足、網(wǎng)絡(luò)深度不夠等。由于本文所用數(shù)據(jù)集的特殊性,在使用之前需要對數(shù)據(jù)進(jìn)行預(yù)處理,然后再將其轉(zhuǎn)化為RGB格式。此外,由于道路場景中存在光線、陰影、反光等因素,因此本文在使用預(yù)處理后的數(shù)據(jù)集時并沒有對原始圖像進(jìn)行處理。為了進(jìn)一步提高車道線檢測精度,后續(xù)將考慮對預(yù)處理后的數(shù)據(jù)進(jìn)行處理,以便提高車道線檢測精度。由于車道線檢測屬于高精度要求的任務(wù),后續(xù)也將考慮采用其他更高精度的方法來檢測車道線。