楊鵬強 張艷偉▲ 胡釗政
(1.武漢理工大學交通與物流工程學院 武漢 430063;2.武漢理工大學智能交通系統(tǒng)研究中心 武漢 430063)
近年來,隨著人工智能技術(shù)的發(fā)展,自動駕駛也處于高速發(fā)展階段[1]。自動駕駛在干線物流、港區(qū)礦區(qū)、無人配送等任務明確的專業(yè)場景,已經(jīng)逐步實現(xiàn)落地應用。環(huán)境感知作為自動駕駛的1個重要任務已成為研究熱點。車道線檢測是車輛穩(wěn)定跟隨車道的關(guān)鍵技術(shù),是環(huán)境感知的重要組成部分[2]。目前,車道線檢測算法存在檢測速度較慢、檢測精度偏低、檢測過程易受環(huán)境影響等問題。
國內(nèi)外研究可以分為基于傳統(tǒng)方法的車道線檢測和基于深度學習方法的車道線檢測。傳統(tǒng)方法的車道線檢測主要是利用車道線特征信息如車道線的顏色、邊緣、寬度、消隱點等,通過聚類的方式提取車道線[3],或是根據(jù)道路中的車道線特征求解所構(gòu)造模型參數(shù)[4]。傳統(tǒng)方法在特定情況下具有較好的識別效果,其性能在復雜環(huán)境下往往不滿足使用要求。基于深度學習的車道線檢測方法分為圖像分割、圖像分類等2種,在復雜場景中表現(xiàn)較為出色。
基于圖像分割的方法是對圖中的每個像素進行分類,以端到端的方式判斷圖像中各像素是否屬于車道線或背景。Pan等[5]提出SCNN,把車道線檢測視為語義分割問題,以像素級目標來訓練網(wǎng)絡(luò),將傳統(tǒng)的深度逐層卷積歸納為特征圖中的逐片卷積,實現(xiàn)跨層行和列的像素之間的消息傳遞。文獻[6-7]將車道線檢測問題轉(zhuǎn)換為實例分割問題,使得每條車道線都形成自己的實例,提高車道線特征信息檢測能力,實現(xiàn)對各種復雜實際條件下車道線信息的魯棒提取。
將車道線檢測視為1種基于深度學習的圖像分類問題可以很大程度上提高檢測速度。Li等[8]通過直接學習全局和完整特征表示來定位車道線,捕捉高層次的語義信息,在車道線嚴重遮擋或其他意外干擾下也能實現(xiàn)準確的檢測。田晟等[9]把每條車道線簡化為1個點集,將輸出劃分為1組柵格,對每個柵格進行分類和回歸分析。Qin等[10]將圖像劃分為一定大小的網(wǎng)格,通過逐行分類確定車道線的位置,車道線檢測速度快。Yoo等[11]將車道線識別問題看作每種車道線類型的多行分類任務,對每個車道線標記進行分類并以端到端的方式獲得其關(guān)鍵點。
基于深度學習的車道線檢測方式在準確度方面有著優(yōu)異的效果,模型中特征提取主干網(wǎng)絡(luò)的結(jié)構(gòu)改進可以提高檢測速度。鄧天民等[12]將分割網(wǎng)絡(luò)(segmentation network,SegNet)算法的卷積層與BN層融合,減少算法運行時間,將SegNet中對稱的網(wǎng)絡(luò)結(jié)構(gòu)改為非對稱的“多編碼-少解碼”架構(gòu),同時加入1×1的卷積核實現(xiàn)圖像通道數(shù)的降維,提高網(wǎng)絡(luò)的實時性。Romera等[13]提出了1種能夠?qū)崟r運行的深層架構(gòu),核心是使用殘差連接和分解卷積等方式來實現(xiàn)效率和準確性之間的平衡,滿足模型在實際車輛中的應用需求。
綜上,傳統(tǒng)檢測方法對路況等環(huán)境要求高,無法滿足復雜多變路況車道線檢測實際需求;基于圖像分割的深度學習車道線檢測方法計算量大,部署時算力要求較高;基于圖像分類的深度學習車道線檢測方法檢測速度快,模型中特征提取主干網(wǎng)絡(luò)結(jié)構(gòu)的改進能夠更進一步提升檢測速度。本文將車道線檢測視為行方向位置分類問題,基于行方向均勻柵格的車道線位置分類方式,能夠完成在多種場景下的檢測任務,也降低了算力需求。同時提出了引入注意力機制的結(jié)構(gòu)重參數(shù)化VGG(structural re-parameterization VGG,RepVGG)主干網(wǎng)絡(luò)[14],代替車道線檢測網(wǎng)絡(luò)中常用的殘差網(wǎng)絡(luò)(residual network,ResNet)主干網(wǎng)絡(luò)[15],將多分支訓練狀態(tài)模型轉(zhuǎn)換為單路推理狀態(tài)模型,設(shè)計輔助分割分支幫助模型的訓練,設(shè)計偏移補償分支提升局部特征并恢復車道細節(jié),提高了檢測速度和檢測指標,減小了模型大小。
RepVGG網(wǎng)絡(luò)推理速度快,適合于車道線實時檢測場景。筆者對RepVGG網(wǎng)絡(luò)進行輕量化結(jié)構(gòu)配置后,在RepVGG主干結(jié)構(gòu)前后引入注意力機制,同步添加可分離的輔助分割模塊,提高網(wǎng)絡(luò)性能。將車道線檢測視為行方向位置分類模型,逐行檢測方式減少檢測計算量,進一步提高車道線檢測速度。通過添加偏移補償分支,提高了局部信息處理能力,提升了檢測準確度。
改進RepVGG模型的車道線檢測網(wǎng)絡(luò)結(jié)構(gòu)見圖1,主要由特征提取網(wǎng)絡(luò)結(jié)構(gòu)、逐行分類分支、偏移補償分支和輔助分割分支結(jié)構(gòu)4部分組成。其中,輔助分割網(wǎng)絡(luò)只在模型訓練時起作用,用來調(diào)整網(wǎng)絡(luò)參數(shù),優(yōu)化網(wǎng)絡(luò)模型,預測推理時會被去除。
圖1 車道線檢測網(wǎng)絡(luò)總結(jié)構(gòu)Fig.1 Overall architecture of lane detection network
RepVGG是1種在VGG[16]網(wǎng)絡(luò)基礎(chǔ)上進行改進的主干網(wǎng)絡(luò),主體由3×3卷積和ReLU(rectified linear unit)堆疊組成,訓練時為多分支模型結(jié)構(gòu),推理時為單路模型結(jié)構(gòu),訓練模型和推理模型之間通過結(jié)構(gòu)重參數(shù)化(structural re-parameterization)方式進行轉(zhuǎn)換。
RepVGG采用VGG簡潔結(jié)構(gòu)主體,同時在網(wǎng)絡(luò)中引入ResNet中的殘差網(wǎng)絡(luò)。RepVGG中有2種殘差結(jié)構(gòu),分別是包含1×1卷積殘差分支的殘差結(jié)構(gòu),定義為殘差結(jié)構(gòu)R1,見圖2(a)。以及包含1×1卷積殘差分支和identity殘差分支的殘差結(jié)構(gòu),定義為殘差結(jié)構(gòu)R2,見圖2(b)。
圖2 殘差結(jié)構(gòu)Fig.2 Residual
以殘差結(jié)構(gòu)R1和R2為基礎(chǔ),構(gòu)建RepVGG網(wǎng)絡(luò)主干。RepVGG網(wǎng)絡(luò)訓練狀態(tài)模型由5個階段組成,每個階段均以殘差結(jié)構(gòu)R1為第1層,剩余層由殘差結(jié)構(gòu)R2組成,RepVGG網(wǎng)絡(luò)訓練狀態(tài)模型的部分表達見圖3(a)。
RepVGG網(wǎng)絡(luò)推理狀態(tài)模型由訓練狀態(tài)模型解耦得到,整個模型結(jié)構(gòu)簡單,均由3×3卷積以及Re-LU堆疊而成。對訓練狀態(tài)模型和推理狀態(tài)模型分開設(shè)計,易于推理狀態(tài)模型的推理和加速。RepVGG網(wǎng)絡(luò)推理狀態(tài)模型的部分表達見圖3(b)。
圖3 RepVGG狀態(tài)模型Fig.3 RepVGGstate model
與常見的模型訓練后便部署的形式不同,RepVGG網(wǎng)絡(luò)采用訓練多分支模型→轉(zhuǎn)換為單路模型→部署單路模型的方式。即:訓練時使用圖3(a)的訓練狀態(tài)模型,部署時使用圖3(b)的推理狀態(tài)模型。2種模型的轉(zhuǎn)換是1種結(jié)構(gòu)重參數(shù)化解耦過程,主要是把訓練狀態(tài)結(jié)構(gòu)對應的1組參數(shù)等價轉(zhuǎn)換為推理狀態(tài)結(jié)構(gòu)所需的另1組參數(shù)。訓練狀態(tài)模型通過解耦得到推理狀態(tài)模型,具有多分支模型訓練時性能高,單路模型推理時速度快等優(yōu)勢。
RepVGG網(wǎng)絡(luò)結(jié)合了VGG網(wǎng)絡(luò)和ResNet網(wǎng)絡(luò)二者的優(yōu)勢,主體僅有3×3卷積和ReLU這1種類型,同時采用結(jié)構(gòu)重參數(shù)化方式,能極大發(fā)揮多分支模型與單路模型優(yōu)點。
利用RepVGG進行車道線檢測,在訓練集上訓練時使用較為復雜的訓練狀態(tài)模型,盡可能地提升車道線檢測模型的準確度;在測試集上測試或?qū)嶋H部署時,使用解耦后簡潔的推理狀態(tài)模型,以提升車道線檢測的推理速度,滿足測試部署實時響應使用要求。
為了提高車道線檢測模型的特征提取能力,本文在RepVGG主干網(wǎng)絡(luò)的基礎(chǔ)上引入注意力機制。
本文選用RepVGG系列中的RepVGG-A0輕量網(wǎng)絡(luò)。模型網(wǎng)絡(luò)結(jié)構(gòu)配置見表1。表1中a×(ω-b)表示該階段通道數(shù)(channels)為b的ω殘差結(jié)構(gòu)共a個(ω=殘差結(jié)構(gòu)R1或ω=殘差結(jié)構(gòu)R2),如階段1的首層為:通道數(shù)為48的殘差結(jié)構(gòu)R1共有1個?;诟倪MRepVGG-A0的特征提取網(wǎng)絡(luò)結(jié)構(gòu)共5個階段22層網(wǎng)絡(luò)。
表1 RepVGG特征提取網(wǎng)絡(luò)結(jié)構(gòu)配置Tab.1 Structure configuration of feature extraction network of RepVGG
同時,在RepVGG特征提取網(wǎng)絡(luò)中,引入注意力機制SENet[17],在階段1和階段5添加SE模塊,使得每輪訓練都能獲得圖像更多的細節(jié)信息,提高模型檢測精度,改進RepVGG特征提取網(wǎng)絡(luò)結(jié)構(gòu)配置見表2。SENet主要的貢獻為壓縮-激勵(squeeze-and-excitation,SE)模塊,該模塊能讓模型關(guān)注通道與通道之間的關(guān)系,自動學習到不同通道特征的重要程度。整體結(jié)構(gòu)見圖4。
表2 改進RepVGG特征提取網(wǎng)絡(luò)結(jié)構(gòu)配置Tab.2 Structure configuration of feature extraction network of improved RepVGG
如式(1)所示,X→U的轉(zhuǎn)換操作由Ftr來實現(xiàn),表現(xiàn)在圖4中Ftr處,F(xiàn)tr的具體計算見式(2)。
圖4 SE模塊結(jié)構(gòu)Fig.4 Structure of SE module
式中:X為對應層輸入特征矩陣;U為該層最終的輸出矩陣;H',W',C',H,W和C分別為X和U的高度、寬度和通道數(shù);為1個卷積核;xs為第s個輸入。
得到輸出特征映射U后,接著是壓縮(squeeze)操作,表現(xiàn)在圖4中Fsq(?)處,采用全局平均池化(global average pooling,GAP)來實現(xiàn),計算公式為
式中:Z為壓縮操作得到的結(jié)果;uc(g,h)為輸入特征第c個通道中第g行、第h列的值。
壓縮操作得到全局特征,接著是激勵(excitation)操作,表現(xiàn)在圖4中S=Fex(?,W)處,采用2個全連接層,第1個是降維的作用,第2個是恢復到原本的維度。計算公式為
式中:S為激勵操作得到的結(jié)果;δ和σ分別為激活函數(shù)ReLU和sigmoid;W1和W2分別為2個全連接層的權(quán)值矩陣。
最后將激勵操作得到的權(quán)重系數(shù)與原始特征U相乘,表現(xiàn)在圖4中Fscale(?,?)處,完成加權(quán)操作,計算公式為
式中:?為SE整個模塊的輸出矩陣。
注意力機制SENet的嵌入使得模型更加關(guān)注信息量大的通道特征,并抑制不重要的通道特征。同時為了可以使用遷移學習權(quán)重,在不改變特征提取網(wǎng)絡(luò)RepVGG結(jié)構(gòu)的前提下,在網(wǎng)絡(luò)的最后階段直接嵌入注意力機制,使得特征提取網(wǎng)絡(luò)可以在ImageNet[18]預訓練的模型參數(shù)基礎(chǔ)上進行初始化參數(shù),加快訓練速度。
計算能力和主干網(wǎng)絡(luò)相同的情況下,車道線檢測速度快慢取決于問題模型的復雜程度。本文將車道線檢測定義為行方向位置分類模型,轉(zhuǎn)變以往圖像分割逐像素分析的思路,減少模型的計算量,提高車道線檢測速度。
道路上的車道線只占整個路面的一部分,車道圖片中車道線所占據(jù)像素量遠小于整張圖片的像素量。見圖5,3條車道線的面積不足整個圖片面積的5%,采用圖像分割的方式,需要對圖中的每個像素進行分類,判斷每個像素屬于車道線或背景。這種對圖像進行逐像素處理的方式,計算量大,推理速度慢。
本文將車道線檢測視為計算量較小的基于深度學習的圖像分類問題[10]。見圖5,行方向上分類是1種基于輸入圖像網(wǎng)格劃分的車道線檢測方法。將車道線圖片進行格柵劃分,每次對1行網(wǎng)格進行選擇,由網(wǎng)絡(luò)模型預測最可能包含部分車道標記的單元。
圖5 行方向位置分類Fig.5 Row direction position classification
圖5中,“A”處橫向箭頭所指方向為行錨方向,劃分為m行;每行劃分成n列,加上箭頭“C”所指額外列,每行總計有l(wèi)個單元格。
行方向位置分類在每1行l(wèi)個單元格中選擇含有車道線元素的單元。圖5中箭頭“B”所指的2個單元,分別為對應行的左車道線選定單元和右車道線選定單元。如果道路上沒有車道線,在箭頭“C”所指列選定對應行的單元。若車道線的總數(shù)是l條,每1行要進行l(wèi)次Q1=m×(n+1)×l維分類。即:行方向位置分類方式處理1張圖像的計算量為Q1=m×(n+1)×l,分割方式的計算量則為Q2=Hpic×Wpic×(l+1),其中Hpic為圖像的高;Wpic為圖像的寬。m和n對應圖像車道線部分的行列劃分,Q1遠小于Q2,行方向位置分類方式計算量小,利于提升推理速度。
分類網(wǎng)絡(luò)結(jié)構(gòu)先將該環(huán)節(jié)之前得到的輸出進行池化和2層全連接處理,然后以行方向位置分類車道線檢測方式進行逐行分類,最終得到車道線預測圖片。相對于圖像分割式車道線檢測結(jié)構(gòu),本文采用的方式計算量更小,速度快,易于進一步的模型部署。
對于車道線的預測,根據(jù)上述,假設(shè)車道線的最大數(shù)量為l,橫向的行錨數(shù)量為m,每個行方向劃分的網(wǎng)格數(shù)為n。假定X是1個全局特征圖,fij是為了選擇出在第i條車道線,第j個行錨的車道線位置的分類器。車道線的預測可以被表示為
式中:Pi,j,:為1個(ω+1)維的向量,表示針對第i條車道線,第j個行錨,選擇(ω+1)個網(wǎng)格單元的概率。假設(shè)Ti,j,:是正確位置的獨熱編碼標簽,可以得到分類損失函數(shù)為
式中:LCE為交叉熵損失函數(shù)。
對于車道線像素點橫跨多個網(wǎng)格的情況,使用橫坐標的期望值來表示車道線像素點的近似位置,這種方法無法精準匹配到位置坐標。為了進一步提高車道線位置的預測精度,本文提出了水平方向上的偏移補償方法。在模型網(wǎng)絡(luò)結(jié)構(gòu)上增加偏移補償分支來預測每行在水平方向靠近行位置的偏移量。通過添加橫向位移約束的局部優(yōu)化方式,提升局部特征并恢復車道細節(jié),細化局部范圍內(nèi)預測的位置坐標,提高預測準確度。見圖6,其中的深色方格表示預測被選中的柵格。從圖6可見:期望值預測車道線元素位置只是近似位置,預測車道線元素所在的位置和實際車道線元素所在位置之間存在一定的偏差量Δx,使用L1損失函數(shù)作為偏移量的損失函數(shù),計算目標變量和預測變量之間絕對差值之和。
圖6 偏移補償Fig.6 Offset compensation
式中:LΔx為偏移損失;A為固定寬度的車道線附近的區(qū)域;NA為以A為單位內(nèi)的像素數(shù);為模型網(wǎng)絡(luò)輸出的預測橫坐標;xk為實際標注的真實橫坐標。
以改進RepVGG網(wǎng)絡(luò)為主干網(wǎng)絡(luò),將車道線檢測視為行方向位置分類問題,構(gòu)成網(wǎng)絡(luò)結(jié)構(gòu)總框架,訓練過程引入輔助分割模塊,提高模型訓練質(zhì)量。
在特征提取網(wǎng)絡(luò)的傳播過程中,引入了輔助分割網(wǎng)絡(luò),該結(jié)構(gòu)是網(wǎng)絡(luò)訓練階段的分支。如圖1所示,在特征提取第3階段的4層網(wǎng)絡(luò)后,將其輸出引至Seg_1層;在特征提取第4階段的14層網(wǎng)絡(luò)后,把輸出引至Seg_2層;在特征提取第5階段的1層網(wǎng)絡(luò)后,將其輸出引至Seg_3層;最后經(jīng)Seg_total層,實現(xiàn)輔助分割。該結(jié)構(gòu)只作用于訓練階段,在推理階段將被移除,這種利用多尺度特征的輔助分割任務來對局部特征進行建模的方式,有利于更好地訓練,同時在推理階段還可以將輔助分割網(wǎng)絡(luò)結(jié)構(gòu)除去進而起到加速的作用。
對于訓練中的輔助分割分支,采用1種基于全局上下文和局部特征的輔助特征聚合方法,提出1種利用多尺度特征進行局部特征建模的輔助分割任務。使用交叉熵作為輔助分割損失,可得總體損失函數(shù),見式(9)。
式中:Lseg為輔助分割損失;α和β為損失系數(shù)。
在CULane數(shù)據(jù)集[5]上進行實驗。CULane數(shù)據(jù)集由安裝在不同駕駛員駕駛的6輛不同車輛上的攝像機收集。收集了超過55 h的視頻,并提取了133 235張圖片,其中88 880張圖片作為訓練集,9 675張圖片作為驗證集,34 680張圖片作為測試集。測試集分為9個類別,分別為:正常、擁擠、夜晚、無車道線、陰影、箭頭、炫光、彎道和交叉路口,9種場景及其所占比例見圖7。
圖7 場景及占比Fig.7 Scene and proportion
CULane數(shù)據(jù)集測試評估用F1-measure度量,將CULane數(shù)據(jù)集中每條車道線均視為1條寬度30像素的線,計算地面真實情況和預測之間的交會比(Intersection over Union,IoU),TP(true positive)代表IoU>0.5的預測,F(xiàn)P(false positive)代表IoU<0.5的預測,TN(true negative)代表沒有這條車道線且預測沒有這條車道線,F(xiàn)N(false negative)代表有這條車道線但是被預測為沒有這條車道線。最終得到的計算公式見式(10)。
實 驗 軟 件 配 置 為:Python 3.7,CUDA 10.1,cudNN 7,Pytorch 1.4.0。模型訓練在PC機上進行,配置為:Windows10;顯卡:NVIDIA GeForce GTX 1660 SUPER;顯卡內(nèi)存:6 GB;CPU:AMD Ryzen 5 3600 6-Core Processor;內(nèi)存:16 GB。
實驗中根據(jù)設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu),使用遷移學習方法,將RepVGG在ImageNet上預訓練模型的權(quán)重作為初始化權(quán)重。epoch設(shè)置為100,batch_size設(shè)置為16,學習率設(shè)置為0.1,優(yōu)化器選用SGD。
使用tensorboard記錄損失函數(shù)的變化情況。見圖8,分類損失函數(shù)的值最終穩(wěn)定在0.2~0.3之間,偏移損失函數(shù)的值最終穩(wěn)定在0.04~0.05,輔助分割損失函數(shù)的值最終穩(wěn)定在0.01~0.02之間。
圖8 模型分支損失曲線Fig.8 Curves of model branches loss
深度學習模型參數(shù)量大小直接影響模型部署。參數(shù)量越小,模型所需的算力越小,越有利于車道線檢測模型在實際中的部署與應用。訓練過程得到訓練狀態(tài)模型,模型大小為180 MB;運行由參數(shù)數(shù)學轉(zhuǎn)換關(guān)系編寫的轉(zhuǎn)換程序,得到推理狀態(tài)模型大小為160 MB,相比于基于ResNet18的UFAST網(wǎng)絡(luò)[10],本文模型大小降低了12%,具體見表3。
表3 推理模型大小對比Tab.3 Comparison of inference model size
對基于解耦前RepVGG、基于解耦后RepVGG的網(wǎng)絡(luò)模型進行車道線檢測測試,模型解耦前后推理速度對比情況見表4。由表4可見:相比于以解耦前RepVGG為主干的推理模型,以解耦后的改進RepVGG為主干的推理模型的平均推理速度由167 fps升到302 fps,提高了81%。這表明特征提取網(wǎng)絡(luò)的解耦可以幫助模型自身提高檢測速度。
在相同軟硬件環(huán)境下對基于ResNet18的UFAST網(wǎng)絡(luò)進行車道線檢測測試,速度對比見表4。由表4可見:基于改進RepVGG主干網(wǎng)絡(luò)的推理模型的平均推理速度比UFAST網(wǎng)絡(luò)提高了19%。
表4 推理速度對比Tab.4 Comparison of inference speed單位:fps
自動駕駛車輛在實際行駛中首先需要的是感知,快速車道線檢測能夠幫助感知環(huán)節(jié)做到實時高效,為規(guī)劃、控制等環(huán)節(jié)做好準備。本文算法通過采用改進RepVGG為主干網(wǎng)絡(luò),并將車道線檢測視為行方向位置分類問題,實驗表明在檢測速度上得到了極大的提升。與國內(nèi)外研究中其他車道線檢測算法的檢測速度對比見表5,本文車道線檢測算法速度遠高于其他研究的車道線檢測算法速度,是SCNN算法的40倍,是SAD算法的4倍。
表5 車道線檢測算法檢測速度對比Tab.5 Comparison of detection speed of lane detection algorithm單位:fps
本文算法在特征提取網(wǎng)絡(luò)部分引入了注意力機制SENet,提升有用的特征并抑制對當前任務用處不大的特征;添加了偏移補償分支,細化局部范圍內(nèi)預測的位置坐標,保證車道線的檢測效果。對基于改進RepVGG模型、SAD[20]模型和基于ResNet18、ResNet34的UFAST網(wǎng)絡(luò)模型進行車道線檢測測試,F(xiàn)1-measure對比情況見表6,由于本文所提出的網(wǎng)絡(luò)層數(shù)較淺,更加注重檢測速度,相比于其他車道線檢測網(wǎng)絡(luò),在F1-measure上表現(xiàn)不夠突出。與同級別復雜度基于ResNet18的UFAST網(wǎng)絡(luò)相比,本文所提出網(wǎng)絡(luò)的F1-measure由68.4增長到70.2,提高了2.6%。
表6 F1-measure對比Tab.6 Comparison of F1-measure
本文算法是基于全連接層的分類形式,其所使用的特征是全局特征,將所有特征進行聚合處理得到結(jié)果,在檢測某一行的車道線位置時,感受野是整張圖片大小,可以解決擁堵、陰影等復雜場景下的車道線檢測問題。使用改進RepVGG模型的車道線檢測算法對武漢市二環(huán)內(nèi)實際城市道路進行車道線檢測測試,見圖9為測試中所遇到的9種場景下車道線檢測前后對比圖像,每組中上面的圖像是真實車道線,下面的圖像是檢測車道線,檢測出的車道線以連續(xù)的實心圓點標記。
圖9 車道線檢測效果Fig.9 Lane detection effect
從實車實驗中隨機取10段路程進行漏檢率測試,共抽取3 600幀進行檢驗,漏檢率等于需要被檢測出車道線數(shù)與實際檢測正確車道線數(shù)的差除以需要被檢測出車道線數(shù),漏檢率數(shù)值越小,說明檢測效果越好。統(tǒng)計結(jié)果顯示隧道場景漏檢率在0~10%之間,正常、擁擠、箭頭場景漏檢率在10%~20%之間,陰影、炫光、彎道場景漏檢率在20%~30%之間,無車道線和交叉路口場景漏檢率在50%~60%之間。在正常、擁擠、隧道等大多數(shù)情況下車道線檢測效果良好,車道線數(shù)量和形狀與實際情況相符,說明模型的泛化能力強;在交叉路口情況下效果差,預測的車道線缺失、漏檢,原因在于該數(shù)據(jù)集里交叉路口場景無車道線標簽,訓練過程中無法對這個場景進行有效的特征提取與訓練。
車道線檢測是自動駕駛系統(tǒng)中感知方面的重要環(huán)節(jié),傳統(tǒng)檢測方法在復雜環(huán)境下的實際效果往往達不到使用要求,基于深度學習的圖像分割方法很難檢測出被遮擋的車道線區(qū)域且檢測時計算量大。針對這些問題,采用基于行方向位置分類的車道線檢測方式,設(shè)計了偏移補償分支和輔助分割分支,在主干網(wǎng)絡(luò)RepVGG中引入注意力機制,提出了改進RepVGG網(wǎng)絡(luò)的車道線檢測算法,最后通過GPU平臺進行實驗,結(jié)果表明,算法改進后平均推理速度提高19%,模型大小降低12%,評價指標F1-measure由68.4增長到70.2。在之后的研究工作中,本研究將進一步降低車道線的漏檢率,同時注重對交叉路口、無車道線等場景車道線檢測的研究,以提高車道線檢測的通用性。