蔡默晗,劉晨煜,張辛沅
(北方工業大學信息學院,北京 100144)
隨著經濟增長,生活水平的提升,道路上車輛數目不斷增加,帶來了車輛事故的風險。對車道線和路標的識別可以保證駕駛員的安全,從而降低交通事故的風險?;谏窠浘W絡的的計算機視覺算法研究成為車輛輔助駕駛研究的熱點課題,也是智能運輸系統的重要部分?;贙eras 神經網絡模型實現對車道線的識別具有重要的現實意義。
車道線是限制車輛按照規定路線行駛的路面信號。準確檢測車道線并保持實時跟蹤是智能車實現無人駕駛、車道偏離檢測等的首要條件。然而在實際情況下,車道線被遮擋、光照環境的變化或其他不可抗因素都會干擾車道線檢測,使其結果精度下降。近年來為實現車道線檢測,國內外有諸多不同的解決方法。2019 年王其東等提出了一種運用投影統計與雙曲線擬合的車道線識別方法,利用近視野車道直線信息和雙曲線擬合,對存在彎曲車道的車道線進行車道線尋優。2020 年洪偉等基于DBSCAN 算法實現聚類簇劃分,利用基于拋物線模型的隨機采樣一致性擬合方法初步完成車道線提取,并針對不同的環境干擾,制定了相應的優化策略,實現了自車道線的魯棒檢測。2021 年李茂月等為消除噪聲干擾以及提高特征檢測效率,設計了一種自適應道路感興趣區域(ROI)計算方法,針對不同情況的車道可自適應地將車道區域與非車道區域分離,該算法可有效識別出各種道路工況下的車道線。
本文提出了一種Keras 神經網絡模型的車道線識別技術,實現在不同環境因素影響下對車道線的識別。
Keras 分為輸入層、卷積層、輸出層,輸入層的作用就是規定了模型輸入的shape;網絡層包括全連接層、卷積層、LSTM 層、自定義網絡層,是Keras 的主體部分;輸出層在Keras 中沒有像輸入層一樣專門的層定義,而是在模型的最后接入一個全連接層(dense)作為輸出層。
Keras 有兩種類型的模型,函數式模型(model)和序貫模型(sequential)。函數式模型通過多輸入多輸出,層與層之間任意連接,但這種模型編譯速度慢。序貫模型通過單輸入單輸出,一條路通到底,層與層之間只有相鄰關系,沒有跨層連接。這種模型編譯速度快,操作也比較簡單,因此本篇采用效率較高使用較為便捷的序貫模型。
圖像數據集一共有12764張照片,圖片來源于十字路口、維修路口和不同路線彎曲的路口,數據集中照片尺寸為(80,160,3),標簽文件大小為(80,160,1)。其中選擇劃分80%的比例作為訓練集,20%作為驗證集。
神經網絡搭建過程:輸入打包好的訓練圖片文件和相對應的標簽文件,神經網絡搭建過程如圖1所示,首先使用批歸一化層對輸入的訓練數據進行歸一化處理;每兩個卷積層(conv)后面加上一層池化層(max-pool)作為編碼器(encoder)部分;后面通過上采樣層和反卷積層,將其特征進一步還原,作為解碼器(decoder)。最后輸出結果,且其輸入網絡數據shape 與輸出shape保持一致。

圖1 神經網絡搭建過程
在車道線識別訓練好模型的基礎上,即可對視頻或圖像中的車道線進行檢測。先導入準備好的模型圖像,使用神經網絡對其進行預測,首先使用批歸一化層對輸入的車道線數據進行歸一化處理;之后通過多層迭代的卷積層逐步提取出車道線的特征,并適當使用池化層去除冗余信息,使識別更為精準。后面通過上采樣層和反卷積層,將車道線特征進一步還原。之后重新創建一個RGB 圖像的車道,與原有車道重疊,最后輸出檢測結果。

圖2 圖像識別過程
本文實驗的硬件環境為處理器1.1 GHz 四核Intel Core i5,GPU 為Intel Iris Plus Graphics,操作系統為macOS Monterey,深度學習框架為Keras,后端采用Tensorflow。實驗結果如圖3 所示,使用車道線的檢驗算法將圖片中的車道線部分提取出來,識別區域較為精準,可標記出當前行駛車道區域。

圖3 原始圖像與車道線識別
如圖4 所示,本實驗的平均準確度為96.02%,識別車道線準確度高。經過方法測試環節,機器視覺車道線檢測方法和卷積神經網絡車道線檢測方法所得結果都符合預期。

圖4 準確度曲線
本文基于Keras 深度學習模型實現了識別車道線技術,可以較為準確地識別目標物體。結果表明,在運算速度和精準度上對于交通檢測有一定幫助,該技術擁有較為廣闊的應用前景。由于現實問題的多元化以及技術上的缺陷,該系統仍存在場景識別不夠準確的問題,因此在未來需要進一步改進提升識別準確率,以應對實際交通路況中出現的特殊情況。