本發(fā)明涉及駕駛輔助控制領(lǐng)域,尤其是涉及一種基于卷積神經(jīng)網(wǎng)絡(luò)的車道邊緣檢測方法。
背景技術(shù):
車道邊緣檢測是車道偏離預(yù)警系統(tǒng)(ldw)以及車道保持輔助系統(tǒng)(lka)的核心算法,其準(zhǔn)確性直接影響相關(guān)adas(advanceddriverassistantsystems,高級駕駛輔助)系統(tǒng)的性能?,F(xiàn)有視覺算法大部分依據(jù)圖像紋理信息提取車道線相關(guān)特征,并按照特定車道線模型擬合相應(yīng)特征。此類算法過度依賴于特征提取的閾值以及車道線模型的設(shè)置,對光照變化、陰影以及道路積水等情況效果較差,并且此類功能在無車道線的公路無法正常使用。也有部分雙目視覺算法利用視差信息計算道路高度以獲取路肩、隔離帶等道路邊界信息,結(jié)合圖像紋理特征,可識別包括路肩、車道線在內(nèi)的大部分車道邊界,但此類算法運算量極大、實時性差,無法在現(xiàn)有嵌入式系統(tǒng)中實時實現(xiàn)。
技術(shù)實現(xiàn)要素:
本發(fā)明主要是解決現(xiàn)有技術(shù)所存在的對環(huán)境要求較高、適用面窄、運算量大等的技術(shù)問題,提供一種準(zhǔn)確率高且實時性好,自適應(yīng)性強,適用場景廣的基于卷積神經(jīng)網(wǎng)絡(luò)的車道邊緣檢測方法。
本發(fā)明針對上述技術(shù)問題主要是通過下述技術(shù)方案得以解決的:一種基于卷積神經(jīng)網(wǎng)絡(luò)的車道邊緣檢測方法,包括以下步驟:
s001、從視覺系統(tǒng)輸入原始圖片;
s002、對圖像進行預(yù)處理,預(yù)處理包括除畸變、平滑處理等操作;
s003、對預(yù)處理后的圖像劃定車道邊緣檢測區(qū)域,對車道邊緣檢測區(qū)域的圖像進行逆投影變換;車道邊緣檢測區(qū)域是指以車輛縱向中心線為邊界,向左右兩側(cè)各三米的地面范圍,由于視覺系統(tǒng)的盲區(qū)相機相對車身靜止,拍攝角度固定,因此可以在圖像上直接劃定車道邊緣檢測區(qū)域;逆投影變換為通過映射表將圖像坐標(biāo)系中的點(單位為像素)轉(zhuǎn)換為地面坐標(biāo)系的點(單位為米),映射表可以通過相機參數(shù)標(biāo)定獲得;
s004、將逆投影變換后的左右車道邊緣檢測區(qū)域范圍進行尺寸歸一化,并輸入到訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)中;
s005、輸出結(jié)果,即為對應(yīng)左右車道邊緣的位置信息。
如果相機安裝角度近似垂直于地面,可省略逆投影變換的步驟。
作為優(yōu)選,基于卷積神經(jīng)網(wǎng)絡(luò)的車道邊緣檢測方法還包括卷積神經(jīng)網(wǎng)絡(luò)建立訓(xùn)練過程,具體包括以下步驟:
s101、建立原始卷積神經(jīng)網(wǎng)絡(luò);
s102、建立車道邊緣數(shù)據(jù)庫;
s103、利用車道邊緣數(shù)據(jù)庫訓(xùn)練原始神經(jīng)網(wǎng)絡(luò)。
作為優(yōu)選,步驟s101中,原始卷積神經(jīng)網(wǎng)絡(luò)包括依次連接的輸入層、卷積層一、卷積層二、池化層一、卷積層三、卷積層四、池化層二、卷積層五、卷積層六、池化層三、全連接層一、全連接層二和全連接層三;
所述輸入層的輸入為rgb格式圖像,大小為64*64*3;前兩個64分別指輸入圖像的長度和寬度(單位均為像素),3指rgb三個顏色通道;
所述各個卷積層均采用3*3尺寸的卷積滑窗,以及“0”像素值邊緣填充,步長為1,卷積層一和卷積層二的深度為64,卷積層三和卷積層四的深度為128,卷積層五和卷積層六的深度為256;
所述各個池化層均采用2*2大小滑窗尺寸,取最大值滑窗內(nèi)4個數(shù)值的最大值,步長為2;
所述全連接層一和全連接層二為防止模型過擬合的dropout層,自動丟棄該全連接層內(nèi)一定比例的神經(jīng)元,參數(shù)為0.5;全連接層三為用于障礙物類別檢測的分類器,輸出為64維向量,即該區(qū)域?qū)儆趯?yīng)障礙物種類的概率。
作為優(yōu)選,每個卷積層后設(shè)有激活層,激活層所使用的激活方程為修正線性單元,表達(dá)式為:max(0,x),x為該神經(jīng)元的輸入。
作為優(yōu)選,步驟s102具體為:采集不同地點、天候、天氣的車道邊緣數(shù)據(jù)圖像,采集量不小于10萬張,對圖像的車道邊緣檢測區(qū)域進行逆投影變換,對逆投影變換后的圖像中的車道邊緣位置進行人工篩選并標(biāo)定數(shù)據(jù)樣本,訓(xùn)練樣本標(biāo)簽內(nèi)容為車道邊緣靠近車輛前端的起始位置。
作為優(yōu)選,所述步驟s103中,訓(xùn)練過程采用基于迷你批量方式的梯度下降方法,即每個循環(huán)內(nèi),基于反相遞推的方法對softmax損失求最優(yōu)解來優(yōu)化網(wǎng)絡(luò)權(quán)重參數(shù),直至設(shè)定的循環(huán)迭代次數(shù)完成,softmax損失計算公式為:
其中,zj為輸出向量的每個元素;用戶可設(shè)置參數(shù)為迷你批量樣本大小n、學(xué)習(xí)速率lr、權(quán)重衰退系數(shù)wd以及動量系數(shù)m。
作為優(yōu)選,在訓(xùn)練之前,對訓(xùn)練樣本進行鏡像、拉伸、旋轉(zhuǎn)、平移和/或縮放運算,這樣可以增大訓(xùn)練樣本數(shù)量。
作為優(yōu)選,步驟s004中,如需檢測曲線,則將左右車道邊緣檢測區(qū)域范圍沿車輛縱向運動方向劃分為若干區(qū)域并分別輸入至卷積神經(jīng)網(wǎng)絡(luò)中,通過多段線擬合獲得相應(yīng)曲線檢測結(jié)果。
作為優(yōu)選,步驟s005之后,根據(jù)adas系統(tǒng)需求,將輸出結(jié)果轉(zhuǎn)化為相應(yīng)的系統(tǒng)輸入,從而讓檢測結(jié)果直接為adas系統(tǒng)服務(wù)。
本發(fā)明帶來的實質(zhì)性效果是,無需要耗費大量時間進行車道邊緣特征算子設(shè)計即可適用于各種車道邊緣(包括:車道線(虛線、實線、雙黃線)以及隔離帶、護欄、路肩等)檢測;算法應(yīng)用靈活,適用的車道邊緣檢測類別可通過添加、刪減相應(yīng)類別的訓(xùn)練樣本來調(diào)節(jié),輔助以卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的微調(diào)以保證實時性;相比于已有算法此類方法準(zhǔn)確率高且實時性好,自適應(yīng)性強,適用場景廣,可應(yīng)用于前視、盲區(qū)以及后視系統(tǒng)中的車道邊緣檢測;檢測結(jié)果不僅可應(yīng)用于車道輔助、車道偏離預(yù)警,還可應(yīng)用于部分半自動駕駛系統(tǒng)中。
附圖說明
圖1是本發(fā)明的一種基于卷積神經(jīng)網(wǎng)絡(luò)的車道邊緣檢測方法流程圖;
圖2是本發(fā)明的一種卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)圖。
具體實施方式
下面通過實施例,并結(jié)合附圖,對本發(fā)明的技術(shù)方案作進一步具體的說明。
實施例:本實施例的一種基于卷積神經(jīng)網(wǎng)絡(luò)的車道邊緣檢測方法,如圖1所示,包括以下步驟:
s001、從視覺系統(tǒng)輸入原始圖片;
s002、對圖像進行預(yù)處理,預(yù)處理包括除畸變、平滑處理等操作;
s003、對預(yù)處理后的圖像劃定車道邊緣檢測區(qū)域,根據(jù)相機標(biāo)定的內(nèi)外參數(shù)對車道邊緣檢測區(qū)域的圖像進行逆投影變換;車道邊緣檢測區(qū)域是指以車輛縱向中心線為邊界,向左右兩側(cè)各三米的地面范圍,由于視覺系統(tǒng)的盲區(qū)相機相對車身靜止,拍攝角度固定,因此可以在圖像上直接劃定車道邊緣檢測區(qū)域;逆投影變換為通過映射表將圖像坐標(biāo)系中的點(單位為像素)轉(zhuǎn)換為地面坐標(biāo)系的點(單位為米),映射表可以通過相機參數(shù)標(biāo)定獲得;
s004、將逆投影變換后的左右車道邊緣檢測區(qū)域范圍進行尺寸歸一化,并輸入到訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)中;如需檢測曲線,則將左右車道邊緣檢測區(qū)域范圍沿車輛縱向運動方向劃分為若干區(qū)域并分別輸入至卷積神經(jīng)網(wǎng)絡(luò)中,通過多段線擬合獲得相應(yīng)曲線檢測結(jié)果;
s005、輸出結(jié)果,即為對應(yīng)左右車道邊緣的位置信息;之后可以用kalman濾波跟蹤檢測出的車道線位置;
s006、根據(jù)adas系統(tǒng)需求,將輸出結(jié)果轉(zhuǎn)化為相應(yīng)的系統(tǒng)輸入,從而讓檢測結(jié)果直接為adas系統(tǒng)服務(wù)。
如果相機安裝角度近似垂直于地面,可省略逆投影變換的步驟。
基于卷積神經(jīng)網(wǎng)絡(luò)的車道邊緣檢測方法還包括卷積神經(jīng)網(wǎng)絡(luò)建立訓(xùn)練過程,具體包括以下步驟:
s101、建立原始卷積神經(jīng)網(wǎng)絡(luò);
s102、建立車道邊緣數(shù)據(jù)庫;
s103、利用車道邊緣數(shù)據(jù)庫訓(xùn)練原始神經(jīng)網(wǎng)絡(luò)。
步驟s101中,原始卷積神經(jīng)網(wǎng)絡(luò)包括依次連接的輸入層、卷積層一、卷積層二、池化層一、卷積層三、卷積層四、池化層二、卷積層五、卷積層六、池化層三、全連接層一、全連接層二和全連接層三;
所述輸入層的輸入為rgb格式圖像,大小為64*64*3;前兩個64分別指輸入圖像的長度和寬度(單位均為像素),3指rgb三個顏色通道;
所述各個卷積層均采用3*3尺寸的卷積滑窗,以及“0”像素值邊緣填充,步長為1,卷積層一和卷積層二的深度為64,卷積層三和卷積層四的深度為128,卷積層五和卷積層六的深度為256;
所述各個池化層均采用2*2大小滑窗尺寸,取最大值滑窗內(nèi)4個數(shù)值的最大值,步長為2;
所述全連接層一和全連接層二為防止模型過擬合的dropout層,自動丟棄該全連接層內(nèi)一定比例的神經(jīng)元,參數(shù)為0.5;全連接層三為用于障礙物類別檢測的分類器,輸出為64維向量,即該區(qū)域?qū)儆趯?yīng)障礙物種類的概率。
每個卷積層后設(shè)有激活層,激活層所使用的激活方程為修正線性單元,表達(dá)式為:max(0,x),x為該神經(jīng)元的輸入。
步驟s102具體為:采集不同地點、天候、天氣的車道邊緣數(shù)據(jù)圖像,采集量不小于10萬張,對圖像的車道邊緣檢測區(qū)域進行逆投影變換,對逆投影變換后的圖像中的車道邊緣位置進行人工篩選并標(biāo)定數(shù)據(jù)樣本,訓(xùn)練樣本標(biāo)簽內(nèi)容為車道邊緣靠近車輛前端的起始位置。
所述步驟s103中,在訓(xùn)練之前,對訓(xùn)練樣本進行鏡像、拉伸、旋轉(zhuǎn)、平移和/或縮放運算,這樣可以增大訓(xùn)練樣本數(shù)量。訓(xùn)練過程采用基于迷你批量方式的梯度下降方法,即每個循環(huán)內(nèi),基于反相遞推的方法對softmax損失求最優(yōu)解來優(yōu)化網(wǎng)絡(luò)權(quán)重參數(shù),直至設(shè)定的循環(huán)迭代次數(shù)完成,softmax損失計算公式為:
其中,zj為輸出向量的每個元素;用戶可設(shè)置參數(shù)為迷你批量樣本大小n、學(xué)習(xí)速率lr、權(quán)重衰退系數(shù)wd以及動量系數(shù)m。
本方案能夠有效識別出的車道邊緣包括:車道線(虛線、實線、雙黃線)以及隔離帶、護欄、路肩等。此檢測方法準(zhǔn)確率高且實時性好,自適應(yīng)性強,適用場景廣,可應(yīng)用于前視、盲區(qū)以及后視系統(tǒng)中的車道邊緣檢測。檢測結(jié)果可應(yīng)用于車道輔助、車道偏離預(yù)警以及半自動駕駛系統(tǒng)中。
本文中所描述的具體實施例僅僅是對本發(fā)明精神作舉例說明。本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員可以對所描述的具體實施例做各種各樣的修改或補充或采用類似的方式替代,但并不會偏離本發(fā)明的精神或者超越所附權(quán)利要求書所定義的范圍。
盡管本文較多地使用了卷積神經(jīng)網(wǎng)絡(luò)、逆投影變換、車道邊緣等術(shù)語,但并不排除使用其它術(shù)語的可能性。使用這些術(shù)語僅僅是為了更方便地描述和解釋本發(fā)明的本質(zhì);把它們解釋成任何一種附加的限制都是與本發(fā)明精神相違背的。